impact-ui 3.7.32-alpha.1 → 3.7.32-alpha.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/package.json
CHANGED
|
@@ -92,6 +92,14 @@ export const OldTable = forwardRef(
|
|
|
92
92
|
closeTableSettingOnOutsideClick = false,
|
|
93
93
|
onTableSettingClick = () => {},
|
|
94
94
|
deleteViewPromptText,
|
|
95
|
+
saveViewCustomFilter = {
|
|
96
|
+
options: [
|
|
97
|
+
{ label: "Global", value: "global" },
|
|
98
|
+
{ label: "Personal", value: "personal" },
|
|
99
|
+
],
|
|
100
|
+
selectedOption: "global",
|
|
101
|
+
},
|
|
102
|
+
customRenderSaveViewContent = null,
|
|
95
103
|
enableHeaderTextWrap = true,
|
|
96
104
|
numericFormatDefault = "full_no",
|
|
97
105
|
defaultFontSize = "medium",
|
|
@@ -526,6 +534,8 @@ export const OldTable = forwardRef(
|
|
|
526
534
|
closeTableSettingOnOutsideClick={closeTableSettingOnOutsideClick}
|
|
527
535
|
onTableSettingClick={onTableSettingClick}
|
|
528
536
|
deleteViewPromptText={deleteViewPromptText}
|
|
537
|
+
saveViewCustomFilter={saveViewCustomFilter}
|
|
538
|
+
customRenderSaveViewContent={customRenderSaveViewContent}
|
|
529
539
|
numericFormatDefault={numericFormatDefault}
|
|
530
540
|
/>
|
|
531
541
|
<BulkActionBar
|
|
@@ -256,7 +256,9 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
256
256
|
const [collapsedFrozenColumns, setCollapsedFrozenColumns] = useState({});
|
|
257
257
|
const [openSaveViewModal, setOpenSaveViewModal] = useState(false);
|
|
258
258
|
const [isDefaultView, setIsDefaultView] = useState(false);
|
|
259
|
-
const [selectedViewType, setSelectedViewType] = useState(
|
|
259
|
+
const [selectedViewType, setSelectedViewType] = useState(
|
|
260
|
+
props?.saveViewCustomFilter?.selectedOption
|
|
261
|
+
);
|
|
260
262
|
const [savedViewsOptions, setSavedViewsOptions] = useState(
|
|
261
263
|
props?.savedViewsOptions || []
|
|
262
264
|
);
|
|
@@ -282,12 +284,13 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
282
284
|
const options = views.map((view) => ({
|
|
283
285
|
label: view.viewName,
|
|
284
286
|
value: view.viewName,
|
|
285
|
-
|
|
287
|
+
disabled: view?.isDisabled,
|
|
286
288
|
}));
|
|
287
289
|
|
|
288
290
|
setCurrentSaveViewOptions(options);
|
|
289
291
|
setSavedViewsOptions(views);
|
|
290
292
|
setFilteredSavedViewsOptions(views);
|
|
293
|
+
setSelectedView(views.filter((view) => view.isActive));
|
|
291
294
|
|
|
292
295
|
if (views.length === 0) {
|
|
293
296
|
setOpenSaveViewMenu(false);
|
|
@@ -1190,7 +1193,7 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1190
1193
|
setEditedView(null);
|
|
1191
1194
|
setOpenSaveViewModal(false);
|
|
1192
1195
|
setInputValue("");
|
|
1193
|
-
setSelectedViewType(
|
|
1196
|
+
setSelectedViewType(props?.saveViewCustomFilter?.selectedOption);
|
|
1194
1197
|
setIsDefaultView(false);
|
|
1195
1198
|
}
|
|
1196
1199
|
return;
|
|
@@ -1217,7 +1220,7 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1217
1220
|
setOpenSaveViewModal(false);
|
|
1218
1221
|
setSelectedSavedView(null);
|
|
1219
1222
|
setInputValue("");
|
|
1220
|
-
setSelectedViewType(
|
|
1223
|
+
setSelectedViewType(props?.saveViewCustomFilter?.selectedOption);
|
|
1221
1224
|
setIsDefaultView(false);
|
|
1222
1225
|
setOpenDeletePrompt(false);
|
|
1223
1226
|
setDeleteView(null);
|
|
@@ -1240,8 +1243,9 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1240
1243
|
setOpenSaveViewModal(false);
|
|
1241
1244
|
setSelectedSavedView(null);
|
|
1242
1245
|
setInputValue("");
|
|
1243
|
-
setSelectedViewType(
|
|
1246
|
+
setSelectedViewType(props?.saveViewCustomFilter?.selectedOption);
|
|
1244
1247
|
setIsDefaultView(false);
|
|
1248
|
+
setIsEditView(false);
|
|
1245
1249
|
};
|
|
1246
1250
|
|
|
1247
1251
|
const handleSaveViewSearchChange = (e) => {
|
|
@@ -1265,6 +1269,16 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1265
1269
|
}
|
|
1266
1270
|
}, [props?.isDeleteViewLoading]);
|
|
1267
1271
|
|
|
1272
|
+
useEffect(() => {
|
|
1273
|
+
if (selectedBadge === "All") {
|
|
1274
|
+
setFilteredSavedViewsOptions([...savedViewsOptions]);
|
|
1275
|
+
} else {
|
|
1276
|
+
setFilteredSavedViewsOptions(
|
|
1277
|
+
savedViewsOptions.filter((view) => view.viewType === selectedBadge)
|
|
1278
|
+
);
|
|
1279
|
+
}
|
|
1280
|
+
}, [selectedBadge, savedViewsOptions]);
|
|
1281
|
+
|
|
1268
1282
|
const handleSaveViewClick = (view) => {
|
|
1269
1283
|
setFilteredSavedViewsOptions((prev) =>
|
|
1270
1284
|
prev.map((item) => {
|
|
@@ -1312,7 +1326,10 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1312
1326
|
}
|
|
1313
1327
|
variant="tertiary"
|
|
1314
1328
|
size="small"
|
|
1315
|
-
onClick={() =>
|
|
1329
|
+
onClick={() => {
|
|
1330
|
+
setOpenSaveViewMenu(!openSaveViewMenu);
|
|
1331
|
+
setFilteredSavedViewsOptions([...savedViewsOptions]);
|
|
1332
|
+
}}
|
|
1316
1333
|
/>
|
|
1317
1334
|
</div>
|
|
1318
1335
|
)}
|
|
@@ -1345,32 +1362,23 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1345
1362
|
}}
|
|
1346
1363
|
size="small"
|
|
1347
1364
|
/>
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
setSelectedBadge("Personal");
|
|
1366
|
-
setFilteredSavedViewsOptions(
|
|
1367
|
-
savedViewsOptions.filter(
|
|
1368
|
-
(view) => view.viewType === "personal"
|
|
1369
|
-
)
|
|
1370
|
-
);
|
|
1371
|
-
}}
|
|
1372
|
-
size="small"
|
|
1373
|
-
/>
|
|
1365
|
+
{props?.saveViewCustomFilter?.options?.map((option) => (
|
|
1366
|
+
<Badge
|
|
1367
|
+
key={option.value}
|
|
1368
|
+
label={option.label}
|
|
1369
|
+
variant="stroke"
|
|
1370
|
+
color={selectedBadge === option.value ? "info" : "default"}
|
|
1371
|
+
onClick={() => {
|
|
1372
|
+
setSelectedBadge(option.value);
|
|
1373
|
+
setFilteredSavedViewsOptions(
|
|
1374
|
+
savedViewsOptions.filter(
|
|
1375
|
+
(view) => view.viewType === option.value
|
|
1376
|
+
)
|
|
1377
|
+
);
|
|
1378
|
+
}}
|
|
1379
|
+
size="small"
|
|
1380
|
+
/>
|
|
1381
|
+
))}
|
|
1374
1382
|
</div>
|
|
1375
1383
|
<div className="save-view-menu-search-container">
|
|
1376
1384
|
<Input
|
|
@@ -1381,88 +1389,96 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1381
1389
|
/>
|
|
1382
1390
|
</div>
|
|
1383
1391
|
<div className="save-view-menu-view-list-container">
|
|
1384
|
-
{
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
view.
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1392
|
+
{props?.customRenderSaveViewContent
|
|
1393
|
+
? props?.customRenderSaveViewContent
|
|
1394
|
+
: filteredSavedViewsOptions.length > 0 &&
|
|
1395
|
+
filteredSavedViewsOptions.map((view, idx) => (
|
|
1396
|
+
<div
|
|
1397
|
+
key={view.viewName + idx}
|
|
1398
|
+
className={`save-view-menu-view-list-item ${
|
|
1399
|
+
view.isActive ? "active" : ""
|
|
1400
|
+
}`}
|
|
1401
|
+
onClick={() => handleSaveViewClick(view)}
|
|
1402
|
+
tabIndex={idx === 0 ? 0 : -1}
|
|
1403
|
+
role="button"
|
|
1404
|
+
aria-label={`Saved view ${view.viewName}`}
|
|
1405
|
+
onKeyDown={(e) => {
|
|
1406
|
+
const current = e.currentTarget;
|
|
1407
|
+
|
|
1408
|
+
switch (e.key) {
|
|
1409
|
+
case "Enter":
|
|
1410
|
+
case " ":
|
|
1411
|
+
e.preventDefault();
|
|
1412
|
+
handleSaveViewClick(view);
|
|
1413
|
+
break;
|
|
1414
|
+
|
|
1415
|
+
case "ArrowDown": {
|
|
1416
|
+
e.preventDefault();
|
|
1417
|
+
const next = current.nextElementSibling;
|
|
1418
|
+
if (next) {
|
|
1419
|
+
next.focus();
|
|
1420
|
+
}
|
|
1421
|
+
break;
|
|
1407
1422
|
}
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1423
|
+
|
|
1424
|
+
case "ArrowUp": {
|
|
1425
|
+
e.preventDefault();
|
|
1426
|
+
const prev = current.previousElementSibling;
|
|
1427
|
+
if (prev) {
|
|
1428
|
+
prev.focus();
|
|
1429
|
+
}
|
|
1430
|
+
break;
|
|
1415
1431
|
}
|
|
1416
|
-
|
|
1432
|
+
|
|
1433
|
+
default:
|
|
1434
|
+
break;
|
|
1417
1435
|
}
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
}
|
|
1461
|
-
|
|
1462
|
-
)}
|
|
1436
|
+
}}
|
|
1437
|
+
>
|
|
1438
|
+
<span className="save-view-menu-view-list-item-name">
|
|
1439
|
+
{view.viewName}
|
|
1440
|
+
</span>
|
|
1441
|
+
<div className="save-view-menu-view-list-item-actions">
|
|
1442
|
+
{view?.isEditable && (
|
|
1443
|
+
<img
|
|
1444
|
+
src={saveViewEditIcon}
|
|
1445
|
+
alt="save-view-edit-icon"
|
|
1446
|
+
onClick={(e) => handleEditView(view, e)}
|
|
1447
|
+
/>
|
|
1448
|
+
)}
|
|
1449
|
+
{view?.isDeletable && (
|
|
1450
|
+
<img
|
|
1451
|
+
src={saveViewDeleteIcon}
|
|
1452
|
+
alt="save-view-delete-icon"
|
|
1453
|
+
onClick={(e) => handleDeleteView(view, e)}
|
|
1454
|
+
/>
|
|
1455
|
+
)}
|
|
1456
|
+
{!view?.notReqDefaultView &&
|
|
1457
|
+
(view?.isDefaultView ? (
|
|
1458
|
+
<img
|
|
1459
|
+
src={defaultViewActiveIcon}
|
|
1460
|
+
alt="default-view-icon"
|
|
1461
|
+
onClick={(e) => {
|
|
1462
|
+
e.stopPropagation();
|
|
1463
|
+
e.preventDefault();
|
|
1464
|
+
props?.handleSetDefaultView(view);
|
|
1465
|
+
}}
|
|
1466
|
+
className="default-view-active-icon"
|
|
1467
|
+
/>
|
|
1468
|
+
) : (
|
|
1469
|
+
<img
|
|
1470
|
+
src={defaultViewIcon}
|
|
1471
|
+
alt="default-view-icon"
|
|
1472
|
+
onClick={(e) => {
|
|
1473
|
+
e.stopPropagation();
|
|
1474
|
+
e.preventDefault();
|
|
1475
|
+
props?.handleSetDefaultView(view);
|
|
1476
|
+
}}
|
|
1477
|
+
/>
|
|
1478
|
+
))}
|
|
1479
|
+
</div>
|
|
1463
1480
|
</div>
|
|
1464
|
-
|
|
1465
|
-
))}
|
|
1481
|
+
))}
|
|
1466
1482
|
</div>
|
|
1467
1483
|
<hr className="save-view-menu-view-list-item-divider" />
|
|
1468
1484
|
<div className="save-view-menu-footer">
|
|
@@ -1484,12 +1500,14 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1484
1500
|
updateColumnState();
|
|
1485
1501
|
setOpenSaveViewMenu(false);
|
|
1486
1502
|
}}
|
|
1503
|
+
disabled={props?.customRenderSaveViewContent}
|
|
1487
1504
|
>
|
|
1488
1505
|
Apply
|
|
1489
1506
|
</Button>
|
|
1490
1507
|
</div>
|
|
1491
1508
|
</div>
|
|
1492
1509
|
)}
|
|
1510
|
+
{console.log("isSavingViewLoading", props?.isSavingViewLoading)}
|
|
1493
1511
|
<Modal
|
|
1494
1512
|
open={openSaveViewModal}
|
|
1495
1513
|
title={isEditView ? "Edit view" : "Save view"}
|
|
@@ -1550,11 +1568,10 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1550
1568
|
View type
|
|
1551
1569
|
</span>
|
|
1552
1570
|
<RadioButtonGroup
|
|
1553
|
-
options={
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
onChange={(event) => setSelectedViewType(event.target.value)}
|
|
1571
|
+
options={props?.saveViewCustomFilter?.options?.filter(
|
|
1572
|
+
(option) => !option?.notReqInSaveView
|
|
1573
|
+
)}
|
|
1574
|
+
onChange={(event) => setSelectedViewType(event?.target?.value)}
|
|
1558
1575
|
orientation={"row"}
|
|
1559
1576
|
selectedOption={selectedViewType}
|
|
1560
1577
|
/>
|
|
@@ -1579,7 +1596,11 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1579
1596
|
selectedOptions={selectedSavedView}
|
|
1580
1597
|
setSelectedOptions={setSelectedSavedView}
|
|
1581
1598
|
withPortal
|
|
1582
|
-
isDisabled={
|
|
1599
|
+
isDisabled={
|
|
1600
|
+
savedViewsOptions.length === 0 ||
|
|
1601
|
+
inputValue !== "" ||
|
|
1602
|
+
isEditView
|
|
1603
|
+
}
|
|
1583
1604
|
isOpen={isOpen}
|
|
1584
1605
|
setIsOpen={setIsOpen}
|
|
1585
1606
|
initialOptions={currentSaveViewOptions}
|
|
@@ -1589,9 +1610,18 @@ export const Columns = forwardRef((props, ref) => {
|
|
|
1589
1610
|
</div>
|
|
1590
1611
|
</Modal>
|
|
1591
1612
|
<Prompt
|
|
1592
|
-
handleClose={() =>
|
|
1593
|
-
|
|
1594
|
-
|
|
1613
|
+
handleClose={(e) => {
|
|
1614
|
+
e.stopPropagation();
|
|
1615
|
+
setOpenDeletePrompt(false);
|
|
1616
|
+
}}
|
|
1617
|
+
onPrimaryButtonClick={(e) => {
|
|
1618
|
+
e.stopPropagation();
|
|
1619
|
+
props?.handleDeleteViewClick?.(deleteView);
|
|
1620
|
+
}}
|
|
1621
|
+
onSecondaryButtonClick={(e) => {
|
|
1622
|
+
e.stopPropagation();
|
|
1623
|
+
setOpenDeletePrompt(false);
|
|
1624
|
+
}}
|
|
1595
1625
|
primaryButtonLabel="Yes,Delete"
|
|
1596
1626
|
secondaryButtonLabel="Cancel"
|
|
1597
1627
|
title="Delete, Are you sure?"
|
|
@@ -41,13 +41,15 @@ export default function TableHeader({
|
|
|
41
41
|
handleSavedViewClick,
|
|
42
42
|
handleEditSaveView,
|
|
43
43
|
isSaveViewEnabled,
|
|
44
|
-
|
|
44
|
+
isSavingViewLoading,
|
|
45
45
|
handleDeleteViewClick,
|
|
46
46
|
isDeleteViewLoading,
|
|
47
47
|
handleSetDefaultView,
|
|
48
48
|
closeTableSettingOnOutsideClick,
|
|
49
49
|
onTableSettingClick,
|
|
50
50
|
deleteViewPromptText,
|
|
51
|
+
saveViewCustomFilter,
|
|
52
|
+
customRenderSaveViewContent,
|
|
51
53
|
numericFormatDefault,
|
|
52
54
|
}) {
|
|
53
55
|
// manages displaying table setting
|
|
@@ -238,12 +240,14 @@ export default function TableHeader({
|
|
|
238
240
|
handleSavedViewClick={handleSavedViewClick}
|
|
239
241
|
handleEditSaveView={handleEditSaveView}
|
|
240
242
|
isSaveViewEnabled={isSaveViewEnabled}
|
|
241
|
-
|
|
243
|
+
isSavingViewLoading={isSavingViewLoading}
|
|
242
244
|
handleDeleteViewClick={handleDeleteViewClick}
|
|
243
245
|
isDeleteViewLoading={isDeleteViewLoading}
|
|
244
246
|
handleSetDefaultView={handleSetDefaultView}
|
|
245
247
|
onTableSettingClick={onTableSettingClick}
|
|
246
248
|
deleteViewPromptText={deleteViewPromptText}
|
|
249
|
+
saveViewCustomFilter={saveViewCustomFilter}
|
|
250
|
+
customRenderSaveViewContent={customRenderSaveViewContent}
|
|
247
251
|
numericFormatDefault={numericFormatDefault}
|
|
248
252
|
/>
|
|
249
253
|
</div>
|