Sort lexically + active filter first
This commit is contained in:
parent
c7640de07e
commit
744d7368d4
|
@ -27,6 +27,7 @@ const MciViewIds = {
|
||||||
filterName : 6,
|
filterName : 6,
|
||||||
navMenu : 7,
|
navMenu : 7,
|
||||||
|
|
||||||
|
// :TODO: use the customs new standard thing - filter obj can have active/selected, etc.
|
||||||
selectedFilterInfo : 10, // { ...filter object ... }
|
selectedFilterInfo : 10, // { ...filter object ... }
|
||||||
activeFilterInfo : 11, // { ...filter object ... }
|
activeFilterInfo : 11, // { ...filter object ... }
|
||||||
error : 12, // validation errors
|
error : 12, // validation errors
|
||||||
|
@ -40,6 +41,23 @@ exports.getModule = class FileAreaFilterEdit extends MenuModule {
|
||||||
this.filtersArray = new FileBaseFilters(this.client).toArray(); // ordered, such that we can index into them
|
this.filtersArray = new FileBaseFilters(this.client).toArray(); // ordered, such that we can index into them
|
||||||
this.currentFilterIndex = 0; // into |filtersArray|
|
this.currentFilterIndex = 0; // into |filtersArray|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Lexical sort + keep currently active filter (if any) as the first item in |filtersArray|
|
||||||
|
//
|
||||||
|
const activeFilter = FileBaseFilters.getActiveFilter(this.client);
|
||||||
|
this.filtersArray.sort( (filterA, filterB) => {
|
||||||
|
if(activeFilter) {
|
||||||
|
if(filterA.uuid === activeFilter.uuid) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if(filterB.uuid === activeFilter.uuid) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return filterA.name.localeCompare(filterB.name);
|
||||||
|
});
|
||||||
|
|
||||||
this.menuMethods = {
|
this.menuMethods = {
|
||||||
saveFilter : (formData, extraArgs, cb) => {
|
saveFilter : (formData, extraArgs, cb) => {
|
||||||
return this.saveCurrentFilter(formData, cb);
|
return this.saveCurrentFilter(formData, cb);
|
||||||
|
|
Loading…
Reference in New Issue