@redsift/table 11.2.2-muiv5-patch.0 → 11.2.2-muiv5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +1 -1
- package/index.js +31 -59
- package/index.js.map +1 -1
- package/package.json +4 -4
package/index.d.ts
CHANGED
|
@@ -183,8 +183,8 @@ declare const getSearchParamsFromSorting: (sorting: GridSortItem[]) => URLSearch
|
|
|
183
183
|
declare const getPaginationFromString: (searchString: string) => ExtendedGridPaginationModel | 'invalid';
|
|
184
184
|
declare const getSearchParamsFromPagination: (pagination: ExtendedGridPaginationModel) => URLSearchParams;
|
|
185
185
|
/** COLUMN VISIBILITY */
|
|
186
|
+
declare const getColumnVisibilityFromString: (searchString: string, columns: DataGridProps['columns']) => GridColumnVisibilityModel | 'invalid';
|
|
186
187
|
declare const getSearchParamsFromColumnVisibility: (columnVisibility: GridColumnVisibilityModel, columns: DataGridProps['columns']) => URLSearchParams;
|
|
187
|
-
declare const getColumnVisibilityFromString: (notParsed: string, tableColumns: DataGridProps['columns']) => GridColumnVisibilityModel | 'invalid';
|
|
188
188
|
declare const getPinnedColumnsFromString: (notParsed: string, tableColumns: DataGridProps['columns']) => PinnedColumns | 'invalid';
|
|
189
189
|
declare const getSearchParamsFromPinnedColumns: (pinnedColumns: GridPinnedColumns) => URLSearchParams;
|
|
190
190
|
declare const getSearchParamsFromTab: (search: string) => URLSearchParams;
|
package/index.js
CHANGED
|
@@ -18255,7 +18255,7 @@ const getSortingFromString = (searchString, columns) => {
|
|
|
18255
18255
|
const searchParams = new URLSearchParams(searchString);
|
|
18256
18256
|
const value = searchParams.get('_sortColumn');
|
|
18257
18257
|
if (value === '' || value === null || value === '[]') {
|
|
18258
|
-
return
|
|
18258
|
+
return 'invalid';
|
|
18259
18259
|
}
|
|
18260
18260
|
const fields = columns.map(column => column.field);
|
|
18261
18261
|
const [column, order] = value.slice(1, value.length - 1).split(',');
|
|
@@ -18356,6 +18356,31 @@ const getPaginationModel = (search, localStoragePagination, setLocalStoragePagin
|
|
|
18356
18356
|
|
|
18357
18357
|
/** COLUMN VISIBILITY */
|
|
18358
18358
|
|
|
18359
|
+
const getColumnVisibilityFromString = (searchString, columns) => {
|
|
18360
|
+
if (!searchString) {
|
|
18361
|
+
return 'invalid';
|
|
18362
|
+
}
|
|
18363
|
+
const searchParams = new URLSearchParams(searchString);
|
|
18364
|
+
const value = searchParams.get('_columnVisibility');
|
|
18365
|
+
if (value === '' || value === null || value === '[]') {
|
|
18366
|
+
return 'invalid';
|
|
18367
|
+
}
|
|
18368
|
+
const parsedFields = value.slice(1, value.length - 1).split(',');
|
|
18369
|
+
const fields = columns.map(column => column.field);
|
|
18370
|
+
const visibility = {};
|
|
18371
|
+
for (const field of fields) {
|
|
18372
|
+
visibility[field] = false;
|
|
18373
|
+
}
|
|
18374
|
+
for (const parsedField of parsedFields) {
|
|
18375
|
+
if (fields.includes(parsedField)) {
|
|
18376
|
+
visibility[parsedField] = true;
|
|
18377
|
+
}
|
|
18378
|
+
}
|
|
18379
|
+
if (Object.values(visibility).filter(v => v === true).length === 0) {
|
|
18380
|
+
return 'invalid';
|
|
18381
|
+
}
|
|
18382
|
+
return visibility;
|
|
18383
|
+
};
|
|
18359
18384
|
const getSearchParamsFromColumnVisibility = (columnVisibility, columns) => {
|
|
18360
18385
|
const searchParams = new URLSearchParams();
|
|
18361
18386
|
const columnFields = columns.map(column => column.field);
|
|
@@ -18373,63 +18398,10 @@ const getSearchParamsFromColumnVisibility = (columnVisibility, columns) => {
|
|
|
18373
18398
|
[colName]: true
|
|
18374
18399
|
});
|
|
18375
18400
|
}, columnVisibility);
|
|
18376
|
-
const visibleColumns =
|
|
18377
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18378
|
-
.filter(_ref => {
|
|
18379
|
-
let [_, visible] = _ref;
|
|
18380
|
-
return visible;
|
|
18381
|
-
})
|
|
18382
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18383
|
-
.map(_ref2 => {
|
|
18384
|
-
let [column, _] = _ref2;
|
|
18385
|
-
return encodeValue(column);
|
|
18386
|
-
});
|
|
18401
|
+
const visibleColumns = columnFields.filter(column => finalColumnVisibility[column] !== false);
|
|
18387
18402
|
searchParams.set('_columnVisibility', `[${visibleColumns.join(',')}]`);
|
|
18388
18403
|
return searchParams;
|
|
18389
18404
|
};
|
|
18390
|
-
const getColumnVisibilityFromString = (notParsed, tableColumns) => {
|
|
18391
|
-
if (!notParsed || notParsed.length === 1 && notParsed[0] === '?') {
|
|
18392
|
-
return 'invalid';
|
|
18393
|
-
}
|
|
18394
|
-
// remove the initial ? if present
|
|
18395
|
-
const parsed = notParsed[0] === '?' ? notParsed.slice(1) : notParsed;
|
|
18396
|
-
const visibility = {};
|
|
18397
|
-
let exist = false;
|
|
18398
|
-
let visibleColumnsCount = 0;
|
|
18399
|
-
for (const item of parsed.split('&')) {
|
|
18400
|
-
// if it's not column visibility field, skip
|
|
18401
|
-
const fieldURL = item.split('=')[0];
|
|
18402
|
-
if (fieldURL !== '_columnVisibility') {
|
|
18403
|
-
continue;
|
|
18404
|
-
}
|
|
18405
|
-
// e.g. item = _columnVisibility[abc,def]
|
|
18406
|
-
const left = item.split(']')[0];
|
|
18407
|
-
if (left.split('[').length < 2) {
|
|
18408
|
-
continue;
|
|
18409
|
-
}
|
|
18410
|
-
const encodedValues = item.split('[')[1].split(']')[0];
|
|
18411
|
-
if (typeof encodedValues !== 'string') {
|
|
18412
|
-
continue;
|
|
18413
|
-
}
|
|
18414
|
-
exist = true;
|
|
18415
|
-
const columnFields = tableColumns.map(column => column.field);
|
|
18416
|
-
// TODO: Add validation that , is present
|
|
18417
|
-
const columns = encodedValues.split(',').map(value => decodeValue(value));
|
|
18418
|
-
|
|
18419
|
-
// for each column, check if it's visible and add it to visibility model
|
|
18420
|
-
for (const column of columnFields) {
|
|
18421
|
-
const isColumnVisible = columns.includes(column);
|
|
18422
|
-
visibility[column] = isColumnVisible;
|
|
18423
|
-
if (isColumnVisible) {
|
|
18424
|
-
visibleColumnsCount += 1;
|
|
18425
|
-
}
|
|
18426
|
-
}
|
|
18427
|
-
}
|
|
18428
|
-
if (visibleColumnsCount === 0 && !exist) {
|
|
18429
|
-
return 'invalid';
|
|
18430
|
-
}
|
|
18431
|
-
return visibility;
|
|
18432
|
-
};
|
|
18433
18405
|
|
|
18434
18406
|
// Rules:
|
|
18435
18407
|
// - if we have something in the URL, use that info
|
|
@@ -18547,7 +18519,7 @@ const getSearchParamsFromTab = search => {
|
|
|
18547
18519
|
}
|
|
18548
18520
|
return searchParams;
|
|
18549
18521
|
};
|
|
18550
|
-
const getFinalSearch =
|
|
18522
|
+
const getFinalSearch = _ref => {
|
|
18551
18523
|
let {
|
|
18552
18524
|
search,
|
|
18553
18525
|
filterModel,
|
|
@@ -18556,7 +18528,7 @@ const getFinalSearch = _ref3 => {
|
|
|
18556
18528
|
columnsVisibilityModel,
|
|
18557
18529
|
pinnedColumnsModel,
|
|
18558
18530
|
columns
|
|
18559
|
-
} =
|
|
18531
|
+
} = _ref;
|
|
18560
18532
|
const filterModelSearch = getSearchParamsFromFilterModel(filterModel);
|
|
18561
18533
|
const sortModelSearch = getSearchParamsFromSorting(sortModel);
|
|
18562
18534
|
const paginationModelSearch = getSearchParamsFromPagination(paginationModel);
|
|
@@ -18611,14 +18583,14 @@ const getModelsParsedOrUpdateLocalStorage = (search, columns, historyReplace, in
|
|
|
18611
18583
|
pinnedColumnsModel
|
|
18612
18584
|
};
|
|
18613
18585
|
};
|
|
18614
|
-
const updateUrl = (
|
|
18586
|
+
const updateUrl = (_ref2, search, historyReplace, columns) => {
|
|
18615
18587
|
let {
|
|
18616
18588
|
filterModel,
|
|
18617
18589
|
sortModel,
|
|
18618
18590
|
paginationModel,
|
|
18619
18591
|
columnsModel: columnsVisibilityModel,
|
|
18620
18592
|
pinnedColumnsModel
|
|
18621
|
-
} =
|
|
18593
|
+
} = _ref2;
|
|
18622
18594
|
const newSearch = getFinalSearch({
|
|
18623
18595
|
search,
|
|
18624
18596
|
filterModel,
|