@redsift/table 11.2.1 → 11.2.2-alpha.1
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 +37 -64
- 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
|
@@ -18140,7 +18140,7 @@ const getFilterModelFromString = (searchString, columns) => {
|
|
|
18140
18140
|
searchParams.set(key, value);
|
|
18141
18141
|
}
|
|
18142
18142
|
if (key === '_logicOperator') {
|
|
18143
|
-
logicOperator = value;
|
|
18143
|
+
logicOperator = value === GridLogicOperator.And || value === GridLogicOperator.Or ? value : GridLogicOperator.And;
|
|
18144
18144
|
}
|
|
18145
18145
|
}
|
|
18146
18146
|
let id = 5000;
|
|
@@ -18327,6 +18327,7 @@ const getSearchParamsFromPagination = pagination => {
|
|
|
18327
18327
|
// - if we don't have that, use the localStorage and update the URL
|
|
18328
18328
|
// - if we don't have that, return an empty PaginationModel
|
|
18329
18329
|
const getPaginationModel = (search, localStoragePagination, setLocalStoragePagination, initialState) => {
|
|
18330
|
+
var _initialState$paginat;
|
|
18330
18331
|
const pagination = getPaginationFromString(search);
|
|
18331
18332
|
if (pagination !== 'invalid') {
|
|
18332
18333
|
const searchFromPaginationModel = getSearchParamsFromPagination(pagination);
|
|
@@ -18340,11 +18341,11 @@ const getPaginationModel = (search, localStoragePagination, setLocalStoragePagin
|
|
|
18340
18341
|
if (paginationModelFromLocalStorage !== 'invalid') {
|
|
18341
18342
|
return paginationModelFromLocalStorage;
|
|
18342
18343
|
}
|
|
18343
|
-
return initialState !== null && initialState !== void 0 && initialState.pagination ? _objectSpread2({
|
|
18344
|
+
return initialState !== null && initialState !== void 0 && (_initialState$paginat = initialState.pagination) !== null && _initialState$paginat !== void 0 && _initialState$paginat.paginationModel ? _objectSpread2({
|
|
18344
18345
|
page: 0,
|
|
18345
18346
|
pageSize: 25,
|
|
18346
18347
|
direction: 'next'
|
|
18347
|
-
}, initialState.pagination) : {
|
|
18348
|
+
}, initialState.pagination.paginationModel) : {
|
|
18348
18349
|
page: 0,
|
|
18349
18350
|
pageSize: 25,
|
|
18350
18351
|
direction: 'next'
|
|
@@ -18353,6 +18354,31 @@ const getPaginationModel = (search, localStoragePagination, setLocalStoragePagin
|
|
|
18353
18354
|
|
|
18354
18355
|
/** COLUMN VISIBILITY */
|
|
18355
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
|
+
};
|
|
18356
18382
|
const getSearchParamsFromColumnVisibility = (columnVisibility, columns) => {
|
|
18357
18383
|
const searchParams = new URLSearchParams();
|
|
18358
18384
|
const fields = columns.map(column => column.field);
|
|
@@ -18370,63 +18396,10 @@ const getSearchParamsFromColumnVisibility = (columnVisibility, columns) => {
|
|
|
18370
18396
|
[colName]: true
|
|
18371
18397
|
});
|
|
18372
18398
|
}, columnVisibility);
|
|
18373
|
-
const visibleColumns =
|
|
18374
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18375
|
-
.filter(_ref => {
|
|
18376
|
-
let [_, visible] = _ref;
|
|
18377
|
-
return visible;
|
|
18378
|
-
})
|
|
18379
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
18380
|
-
.map(_ref2 => {
|
|
18381
|
-
let [column, _] = _ref2;
|
|
18382
|
-
return encodeValue(column);
|
|
18383
|
-
});
|
|
18399
|
+
const visibleColumns = fields.filter(column => finalColumnVisibility[column] !== false);
|
|
18384
18400
|
searchParams.set('_columnVisibility', `[${visibleColumns.join(',')}]`);
|
|
18385
18401
|
return searchParams;
|
|
18386
18402
|
};
|
|
18387
|
-
const getColumnVisibilityFromString = (notParsed, tableColumns) => {
|
|
18388
|
-
if (!notParsed || notParsed.length === 1 && notParsed[0] === '?') {
|
|
18389
|
-
return 'invalid';
|
|
18390
|
-
}
|
|
18391
|
-
// remove the initial ? if present
|
|
18392
|
-
const parsed = notParsed[0] === '?' ? notParsed.slice(1) : notParsed;
|
|
18393
|
-
const visibility = {};
|
|
18394
|
-
let exist = false;
|
|
18395
|
-
let visibleColumnsCount = 0;
|
|
18396
|
-
for (const item of parsed.split('&')) {
|
|
18397
|
-
// if it's not column visibility field, skip
|
|
18398
|
-
const fieldURL = item.split('=')[0];
|
|
18399
|
-
if (fieldURL !== '_columnVisibility') {
|
|
18400
|
-
continue;
|
|
18401
|
-
}
|
|
18402
|
-
// e.g. item = _columnVisibility[abc,def]
|
|
18403
|
-
const left = item.split(']')[0];
|
|
18404
|
-
if (left.split('[').length < 2) {
|
|
18405
|
-
continue;
|
|
18406
|
-
}
|
|
18407
|
-
const encodedValues = item.split('[')[1].split(']')[0];
|
|
18408
|
-
if (typeof encodedValues !== 'string') {
|
|
18409
|
-
continue;
|
|
18410
|
-
}
|
|
18411
|
-
exist = true;
|
|
18412
|
-
const fields = tableColumns.map(column => column.field);
|
|
18413
|
-
// TODO: Add validation that , is present
|
|
18414
|
-
const columns = encodedValues.split(',').map(value => decodeValue(value));
|
|
18415
|
-
|
|
18416
|
-
// for each column, check if it's visible and add it to visibility model
|
|
18417
|
-
for (const column of fields) {
|
|
18418
|
-
const isColumnVisible = columns.includes(column);
|
|
18419
|
-
visibility[column] = isColumnVisible;
|
|
18420
|
-
if (isColumnVisible) {
|
|
18421
|
-
visibleColumnsCount += 1;
|
|
18422
|
-
}
|
|
18423
|
-
}
|
|
18424
|
-
}
|
|
18425
|
-
if (visibleColumnsCount === 0 && !exist) {
|
|
18426
|
-
return 'invalid';
|
|
18427
|
-
}
|
|
18428
|
-
return visibility;
|
|
18429
|
-
};
|
|
18430
18403
|
|
|
18431
18404
|
// Rules:
|
|
18432
18405
|
// - if we have something in the URL, use that info
|
|
@@ -18490,9 +18463,9 @@ const getPinnedColumnsFromString = (notParsed, tableColumns) => {
|
|
|
18490
18463
|
pinnedColumns['right'] = columns;
|
|
18491
18464
|
}
|
|
18492
18465
|
}
|
|
18493
|
-
return pinnedColumns
|
|
18494
|
-
left: pinnedColumns
|
|
18495
|
-
right: pinnedColumns
|
|
18466
|
+
return pinnedColumns.left && pinnedColumns.left.length > 0 || pinnedColumns.right && pinnedColumns.right.length > 0 ? {
|
|
18467
|
+
left: pinnedColumns.left || [],
|
|
18468
|
+
right: pinnedColumns.right || []
|
|
18496
18469
|
} : 'invalid';
|
|
18497
18470
|
};
|
|
18498
18471
|
const getSearchParamsFromPinnedColumns = pinnedColumns => {
|
|
@@ -18544,7 +18517,7 @@ const getSearchParamsFromTab = search => {
|
|
|
18544
18517
|
}
|
|
18545
18518
|
return searchParams;
|
|
18546
18519
|
};
|
|
18547
|
-
const getFinalSearch =
|
|
18520
|
+
const getFinalSearch = _ref => {
|
|
18548
18521
|
let {
|
|
18549
18522
|
search,
|
|
18550
18523
|
filterModel,
|
|
@@ -18553,7 +18526,7 @@ const getFinalSearch = _ref3 => {
|
|
|
18553
18526
|
columnsVisibilityModel,
|
|
18554
18527
|
pinnedColumnsModel,
|
|
18555
18528
|
columns
|
|
18556
|
-
} =
|
|
18529
|
+
} = _ref;
|
|
18557
18530
|
const filterModelSearch = getSearchParamsFromFilterModel(filterModel);
|
|
18558
18531
|
const sortModelSearch = getSearchParamsFromSorting(sortModel);
|
|
18559
18532
|
const paginationModelSearch = getSearchParamsFromPagination(paginationModel);
|
|
@@ -18608,14 +18581,14 @@ const getModelsParsedOrUpdateLocalStorage = (search, columns, historyReplace, in
|
|
|
18608
18581
|
pinnedColumnsModel
|
|
18609
18582
|
};
|
|
18610
18583
|
};
|
|
18611
|
-
const updateUrl = (
|
|
18584
|
+
const updateUrl = (_ref2, search, historyReplace, columns) => {
|
|
18612
18585
|
let {
|
|
18613
18586
|
filterModel,
|
|
18614
18587
|
sortModel,
|
|
18615
18588
|
paginationModel,
|
|
18616
18589
|
columnsModel: columnsVisibilityModel,
|
|
18617
18590
|
pinnedColumnsModel
|
|
18618
|
-
} =
|
|
18591
|
+
} = _ref2;
|
|
18619
18592
|
const newSearch = getFinalSearch({
|
|
18620
18593
|
search,
|
|
18621
18594
|
filterModel,
|