@dartech/arsenal-ui 1.4.8 → 1.4.9

Sign up to get free protection for your applications and to get access to all the features.
package/index.js CHANGED
@@ -2699,28 +2699,31 @@ const useTableQuerySorting = () => {
2699
2699
  const [queryParams, setQueryParams] = useSearchParams();
2700
2700
  const sortParams = queryParams.getAll('sort').map(param => param.split(','));
2701
2701
  const onColumnHeaderClick = ({
2702
- field
2702
+ field,
2703
+ colDef
2703
2704
  }) => {
2704
- let keyFound = false;
2705
- const sortValues = queryParams.getAll('sort');
2706
- queryParams.delete('sort');
2707
- sortValues.forEach(sortValue => {
2708
- const [key, sort] = sortValue.split(',');
2709
- if (key === field) {
2710
- keyFound = true;
2711
- if (sort === 'asc') {
2712
- queryParams.append('sort', `${key},desc`);
2705
+ if (colDef.sortable) {
2706
+ let keyFound = false;
2707
+ const sortValues = queryParams.getAll('sort');
2708
+ queryParams.delete('sort');
2709
+ sortValues.forEach(sortValue => {
2710
+ const [key, sort] = sortValue.split(',');
2711
+ if (key === field) {
2712
+ keyFound = true;
2713
+ if (sort === 'asc') {
2714
+ queryParams.append('sort', `${key},desc`);
2715
+ }
2716
+ } else {
2717
+ queryParams.append('sort', `${key},${sort}`);
2713
2718
  }
2714
- } else {
2715
- queryParams.append('sort', `${key},${sort}`);
2719
+ });
2720
+ if (!keyFound) {
2721
+ queryParams.append('sort', `${field},asc`);
2716
2722
  }
2717
- });
2718
- if (!keyFound) {
2719
- queryParams.append('sort', `${field},asc`);
2723
+ setQueryParams(queryParams, {
2724
+ replace: true
2725
+ });
2720
2726
  }
2721
- setQueryParams(queryParams, {
2722
- replace: true
2723
- });
2724
2727
  };
2725
2728
  const getSortedColumns = columns => {
2726
2729
  return columns.map(column => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dartech/arsenal-ui",
3
- "version": "1.4.8",
3
+ "version": "1.4.9",
4
4
  "author": "DAR",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -1,6 +1,6 @@
1
1
  import { GridColumnHeaderParams, GridColumns } from '@mui/x-data-grid';
2
2
  export declare const useTableQuerySorting: () => {
3
- onColumnHeaderClick: ({ field }: GridColumnHeaderParams) => void;
3
+ onColumnHeaderClick: ({ field, colDef }: GridColumnHeaderParams) => void;
4
4
  getSortedColumns: (columns: GridColumns<any>) => GridColumns<any>;
5
5
  };
6
6
  export default useTableQuerySorting;