|
|
@@ -17,16 +17,18 @@ function createFilterStoreWithInitialData(initialFilter) {
|
|
|
currSortFlip: false
|
|
|
}
|
|
|
Object.keys(initialFilter).forEach(function (key) {
|
|
|
- if ('currSortCol' === key) {
|
|
|
- initialState.currSortCol = initialFilter[key]
|
|
|
- } else if ('currSortFlip' === key) {
|
|
|
- if ('desc' === initialFilter[key]) initialState.currSortFlip = true;
|
|
|
- else if ('asc' === initialFilter[key]) initialState.currSortFlip = false;
|
|
|
- else initialState.currSortFlip = Boolean(initialFilter[key]);
|
|
|
- } else if ('f_' === key.substr(0, 2)) {
|
|
|
- initialState.filter.set(key.substr(2), initialFilter[key])
|
|
|
- } else if ('sf_' === key.substr(0, 3)) {
|
|
|
- initialState.specialFilter.set(key.substr(3), initialFilter[key])
|
|
|
+ switch (key) {
|
|
|
+ case 'currSortCol': initialState.currSortCol = initialFilter['currSortCol']; break;
|
|
|
+ case 'currSortFlip': initialState.currSortFlip = _convertCurrSortFilp(initialFilter['currSortFlip']); break;
|
|
|
+ default: {
|
|
|
+ if ('f_' === key.substr(0, 2)) {
|
|
|
+ initialState.filter.set(key.substr(2), initialFilter[key])
|
|
|
+ } else if ('sf_' === key.substr(0, 3)) {
|
|
|
+ initialState.specialFilter.set(key.substr(3), initialFilter[key])
|
|
|
+ } else {
|
|
|
+ DBG && console.log('TODO: unsupported filter "' + key + '"')
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
})
|
|
|
|
|
|
@@ -69,7 +71,9 @@ function createFilterStoreWithInitialData(initialFilter) {
|
|
|
prevState.filter.clear();
|
|
|
prevState.specialFilter.clear();
|
|
|
return Object.assign(prevState, {
|
|
|
- isLoading: false, isEmpty: true
|
|
|
+ isLoading: false, isEmpty: true,
|
|
|
+ currSortCol: initialFilter.currSortCol ? initialFilter.currSortCol : '',
|
|
|
+ currSortFlip: initialFilter.currSortFlip ? _convertCurrSortFilp(initialFilter.currSortFlip) : true,
|
|
|
});
|
|
|
}
|
|
|
case 'SET_LOADING': return Object.assign(prevState, { // TODO: is loading for filter store or another store for rows?
|
|
|
@@ -82,6 +86,13 @@ function createFilterStoreWithInitialData(initialFilter) {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+function _convertCurrSortFilp(flip) {
|
|
|
+ switch (flip) {
|
|
|
+ case 'desc': return true;
|
|
|
+ case 'asc': return false;
|
|
|
+ default: return Boolean(flip)
|
|
|
+ }
|
|
|
+}
|
|
|
function filterActions() {
|
|
|
var delay = 450;
|
|
|
var _filterTimeout = {};
|