@@ -68,29 +68,34 @@ class FilterGroup extends Component {
6868 return visible ? "visible" : "" ;
6969 }
7070
71- getSortedValues ( values ) {
72- return Object . entries ( values ) . sort ( ( a , b ) => a [ 0 ] . localeCompare ( b [ 0 ] ) ) ;
71+ getSortedValues ( filterKey , values ) {
72+ const defaultFilterKey = `${ filterKey . charAt ( 1 ) . toLowerCase ( ) } ${ filterKey . slice ( 2 ) } `
73+ const defaultGroupFilter = Filter . defaultFilters [ defaultFilterKey ]
74+
75+ return Object . entries ( values ) . sort ( ( [ a ] , [ b ] ) =>
76+ a === defaultGroupFilter || b === defaultGroupFilter ? 1 : a . localeCompare ( b )
77+ )
7378 }
7479
75- getFilterGroup ( title , values ) {
80+ getFilterGroup ( filterKey , values ) {
7681 return `
7782 <div class="filterGroup">
7883 <div class="groupTitle">
79- <span>${ title . substring ( 1 ) } </span>
84+ <span>${ filterKey . substring ( 1 ) } </span>
8085 <div class="groupButtonsContainer">
81- <button class="selectAll" data-key="${ title } ">Select All</button>
82- <button class="deselectAll" data-key="${ title } ">Deselect All</button>
86+ <button class="selectAll" data-key="${ filterKey } ">Select All</button>
87+ <button class="deselectAll" data-key="${ filterKey } ">Deselect All</button>
8388 </div>
8489 </div>
8590 <div class="filterList">
86- ${ this . getSortedValues ( values )
91+ ${ this . getSortedValues ( filterKey , values )
8792 . map (
8893 ( [ key , data ] ) =>
8994 `<button class="filterButtonItem ${ this . isActive (
9095 data . selected
9196 ) } ${ this . isVisible (
9297 data . visible
93- ) } " data-key="${ title } " data-value="${ key } ">${ key } </button>`
98+ ) } " data-key="${ filterKey } " data-value="${ key } ">${ key } </button>`
9499 )
95100 . join ( " " ) }
96101 </div>
@@ -102,7 +107,7 @@ class FilterGroup extends Component {
102107 attachDOM (
103108 this . filterLowerContainerRef ,
104109 Object . entries ( filter . filters )
105- . filter ( ( [ key , values ] ) => Object . values ( values ) . some ( ( v ) => v . visible ) )
110+ . filter ( ( [ _key , values ] ) => Object . values ( values ) . some ( ( v ) => v . visible ) )
106111 . map ( ( [ key , values ] ) => this . getFilterGroup ( key , values ) )
107112 ) ;
108113
0 commit comments