@redsift/table 11.2.2-patch.0 → 11.2.2
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 +30 -58
- 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
|
@@ -18354,6 +18354,31 @@ const getPaginationModel = (search, localStoragePagination, setLocalStoragePagin
|
|
|
18354
18354
|
|
|
18355
18355
|
/** COLUMN VISIBILITY */
|
|
18356
18356
|
|
|
18357
|
+
const getColumnVisibilityFromString = (searchString, columns) => {
|
|
18358
|
+
if (!searchString) {
|
|
18359
|
+
return 'invalid';
|
|
18360
|
+
}
|
|
18361
|
+
const searchParams = new URLSearchParams(searchString);
|
|
18362
|
+
const value = searchParams.get('_columnVisibility');
|
|
18363
|
+
if (value === '' || value === null || value === '[]') {
|
|
18364
|
+
return 'invalid';
|
|
18365
|
+
}
|
|
18366
|
+
const parsedFields = value.slice(1, value.length - 1).split(',');
|
|
18367
|
+
const fields = columns.map(column => column.field);
|
|
18368
|
+
const visibility = {};
|
|
18369
|
+
for (const field of fields) {
|
|
18370
|
+
visibility[field] = false;
|
|
18371
|
+
}
|
|
18372
|
+
for (const parsedField of parsedFields) {
|
|
18373
|
+
if (fields.includes(parsedField)) {
|
|
18374
|
+
visibility[parsedField] = true;
|
|
18375
|
+
}
|
|
18376
|
+
}
|
|
18377
|
+
if (Object.values(visibility).filter(v => v === true).length === 0) {
|
|
18378
|
+
return 'invalid';
|
|
18379
|
+
}
|
|
18380
|
+
return visibility;
|
|
18381
|
+
};
|
|
18357
18382
|
const getSearchParamsFromColumnVisibility = (columnVisibility, columns) => {
|
|
18358
18383
|
const searchParams = new URLSearchParams();
|
|
18359
18384
|
const fields = columns.map(column => column.field);
|
|
@@ -18371,63 +18396,10 @@ const getSearchParamsFromColumnVisibility = (columnVisibility, columns) => {
|
|
|
18371
18396
|
[colName]: true
|
|
18372
18397
|
});
|
|
18373
18398
|
}, columnVisibility);
|
|
18374
|
-
const visibleColumns =
|
|
18375
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18376
|
-
.filter(_ref => {
|
|
18377
|
-
let [_, visible] = _ref;
|
|
18378
|
-
return visible;
|
|
18379
|
-
})
|
|
18380
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18381
|
-
.map(_ref2 => {
|
|
18382
|
-
let [column, _] = _ref2;
|
|
18383
|
-
return encodeValue(column);
|
|
18384
|
-
});
|
|
18399
|
+
const visibleColumns = fields.filter(column => finalColumnVisibility[column] !== false);
|
|
18385
18400
|
searchParams.set('_columnVisibility', `[${visibleColumns.join(',')}]`);
|
|
18386
18401
|
return searchParams;
|
|
18387
18402
|
};
|
|
18388
|
-
const getColumnVisibilityFromString = (notParsed, tableColumns) => {
|
|
18389
|
-
if (!notParsed || notParsed.length === 1 && notParsed[0] === '?') {
|
|
18390
|
-
return 'invalid';
|
|
18391
|
-
}
|
|
18392
|
-
// remove the initial ? if present
|
|
18393
|
-
const parsed = notParsed[0] === '?' ? notParsed.slice(1) : notParsed;
|
|
18394
|
-
const visibility = {};
|
|
18395
|
-
let exist = false;
|
|
18396
|
-
let visibleColumnsCount = 0;
|
|
18397
|
-
for (const item of parsed.split('&')) {
|
|
18398
|
-
// if it's not column visibility field, skip
|
|
18399
|
-
const fieldURL = item.split('=')[0];
|
|
18400
|
-
if (fieldURL !== '_columnVisibility') {
|
|
18401
|
-
continue;
|
|
18402
|
-
}
|
|
18403
|
-
// e.g. item = _columnVisibility[abc,def]
|
|
18404
|
-
const left = item.split(']')[0];
|
|
18405
|
-
if (left.split('[').length < 2) {
|
|
18406
|
-
continue;
|
|
18407
|
-
}
|
|
18408
|
-
const encodedValues = item.split('[')[1].split(']')[0];
|
|
18409
|
-
if (typeof encodedValues !== 'string') {
|
|
18410
|
-
continue;
|
|
18411
|
-
}
|
|
18412
|
-
exist = true;
|
|
18413
|
-
const fields = tableColumns.map(column => column.field);
|
|
18414
|
-
// TODO: Add validation that , is present
|
|
18415
|
-
const columns = encodedValues.split(',').map(value => decodeValue(value));
|
|
18416
|
-
|
|
18417
|
-
// for each column, check if it's visible and add it to visibility model
|
|
18418
|
-
for (const column of fields) {
|
|
18419
|
-
const isColumnVisible = columns.includes(column);
|
|
18420
|
-
visibility[column] = isColumnVisible;
|
|
18421
|
-
if (isColumnVisible) {
|
|
18422
|
-
visibleColumnsCount += 1;
|
|
18423
|
-
}
|
|
18424
|
-
}
|
|
18425
|
-
}
|
|
18426
|
-
if (visibleColumnsCount === 0 && !exist) {
|
|
18427
|
-
return 'invalid';
|
|
18428
|
-
}
|
|
18429
|
-
return visibility;
|
|
18430
|
-
};
|
|
18431
18403
|
|
|
18432
18404
|
// Rules:
|
|
18433
18405
|
// - if we have something in the URL, use that info
|
|
@@ -18545,7 +18517,7 @@ const getSearchParamsFromTab = search => {
|
|
|
18545
18517
|
}
|
|
18546
18518
|
return searchParams;
|
|
18547
18519
|
};
|
|
18548
|
-
const getFinalSearch =
|
|
18520
|
+
const getFinalSearch = _ref => {
|
|
18549
18521
|
let {
|
|
18550
18522
|
search,
|
|
18551
18523
|
filterModel,
|
|
@@ -18554,7 +18526,7 @@ const getFinalSearch = _ref3 => {
|
|
|
18554
18526
|
columnsVisibilityModel,
|
|
18555
18527
|
pinnedColumnsModel,
|
|
18556
18528
|
columns
|
|
18557
|
-
} =
|
|
18529
|
+
} = _ref;
|
|
18558
18530
|
const filterModelSearch = getSearchParamsFromFilterModel(filterModel);
|
|
18559
18531
|
const sortModelSearch = getSearchParamsFromSorting(sortModel);
|
|
18560
18532
|
const paginationModelSearch = getSearchParamsFromPagination(paginationModel);
|
|
@@ -18609,14 +18581,14 @@ const getModelsParsedOrUpdateLocalStorage = (search, columns, historyReplace, in
|
|
|
18609
18581
|
pinnedColumnsModel
|
|
18610
18582
|
};
|
|
18611
18583
|
};
|
|
18612
|
-
const updateUrl = (
|
|
18584
|
+
const updateUrl = (_ref2, search, historyReplace, columns) => {
|
|
18613
18585
|
let {
|
|
18614
18586
|
filterModel,
|
|
18615
18587
|
sortModel,
|
|
18616
18588
|
paginationModel,
|
|
18617
18589
|
columnsModel: columnsVisibilityModel,
|
|
18618
18590
|
pinnedColumnsModel
|
|
18619
|
-
} =
|
|
18591
|
+
} = _ref2;
|
|
18620
18592
|
const newSearch = getFinalSearch({
|
|
18621
18593
|
search,
|
|
18622
18594
|
filterModel,
|