mirror of
https://github.com/Kingsrook/qqq-frontend-material-dashboard.git
synced 2025-07-18 13:20:43 +00:00
Fix how filter models get set when a saved filter is loaded
This commit is contained in:
@ -929,12 +929,21 @@ function RecordQuery({table, launchProcess}: Props): JSX.Element
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleSortChange = (gridSort: GridSortModel) =>
|
const handleSortChangeForDataGrid = (gridSort: GridSortModel) =>
|
||||||
|
{
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// this method just wraps handleSortChange, but w/o the optional 2nd param, so we can use it in data grid //
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
handleSortChange(gridSort);
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleSortChange = (gridSort: GridSortModel, overrideFilterModel?: GridFilterModel) =>
|
||||||
{
|
{
|
||||||
if (gridSort && gridSort.length > 0)
|
if (gridSort && gridSort.length > 0)
|
||||||
{
|
{
|
||||||
setColumnSortModel(gridSort);
|
setColumnSortModel(gridSort);
|
||||||
setQueryFilter(FilterUtils.buildQFilterFromGridFilter(tableMetaData, filterModel, gridSort, rowsPerPage));
|
const gridFilterModelToUse = overrideFilterModel ?? filterModel;
|
||||||
|
setQueryFilter(FilterUtils.buildQFilterFromGridFilter(tableMetaData, gridFilterModelToUse, gridSort, rowsPerPage));
|
||||||
localStorage.setItem(sortLocalStorageKey, JSON.stringify(gridSort));
|
localStorage.setItem(sortLocalStorageKey, JSON.stringify(gridSort));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -1286,7 +1295,7 @@ function RecordQuery({table, launchProcess}: Props): JSX.Element
|
|||||||
|
|
||||||
const models = await FilterUtils.determineFilterAndSortModels(qController, tableMetaData, qRecord.values.get("filterJson"), null, null, null);
|
const models = await FilterUtils.determineFilterAndSortModels(qController, tableMetaData, qRecord.values.get("filterJson"), null, null, null);
|
||||||
handleFilterChange(models.filter);
|
handleFilterChange(models.filter);
|
||||||
handleSortChange(models.sort);
|
handleSortChange(models.sort, models.filter);
|
||||||
localStorage.setItem(currentSavedFilterLocalStorageKey, selectedSavedFilterId.toString());
|
localStorage.setItem(currentSavedFilterLocalStorageKey, selectedSavedFilterId.toString());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1919,7 +1928,7 @@ function RecordQuery({table, launchProcess}: Props): JSX.Element
|
|||||||
onColumnVisibilityModelChange={handleColumnVisibilityChange}
|
onColumnVisibilityModelChange={handleColumnVisibilityChange}
|
||||||
onColumnOrderChange={handleColumnOrderChange}
|
onColumnOrderChange={handleColumnOrderChange}
|
||||||
onSelectionModelChange={selectionChanged}
|
onSelectionModelChange={selectionChanged}
|
||||||
onSortModelChange={handleSortChange}
|
onSortModelChange={handleSortChangeForDataGrid}
|
||||||
sortingOrder={["asc", "desc"]}
|
sortingOrder={["asc", "desc"]}
|
||||||
sortModel={columnSortModel}
|
sortModel={columnSortModel}
|
||||||
getRowClassName={(params) => (params.indexRelativeToCurrentPage % 2 === 0 ? "even" : "odd")}
|
getRowClassName={(params) => (params.indexRelativeToCurrentPage % 2 === 0 ? "even" : "odd")}
|
||||||
|
Reference in New Issue
Block a user