@economic/taco 1.38.1 → 1.39.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/Provider/Localization.d.ts +9 -1
- package/dist/components/Table2/Table2.d.ts +10 -1
- package/dist/components/Table2/components/filters/components/ColumnFilter.d.ts +1 -0
- package/dist/components/Table2/components/filters/components/EmptyFilter.d.ts +13 -0
- package/dist/components/Table2/hooks/useTableShortcuts.d.ts +2 -0
- package/dist/components/Table2/types.d.ts +8 -0
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js +3 -3
- package/dist/esm/packages/taco/src/components/Drawer/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +9 -1
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js +1 -1
- package/dist/esm/packages/taco/src/components/Shortcut/Shortcut.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/Table2.js +2 -1
- package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +79 -24
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js +14 -6
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js +63 -0
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/EmptyFilter.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +2 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js +4 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js +46 -0
- package/dist/esm/packages/taco/src/components/Table2/hooks/useTableShortcuts.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/keyboard.js +1 -1
- package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
- package/dist/taco.cjs.development.js +208 -39
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/package.json +2 -3
- package/types.json +131 -3
@@ -3684,7 +3684,7 @@ function createShortcutKeyDownHandler(key, handler) {
|
|
3684
3684
|
if (typeof key === 'string') {
|
3685
3685
|
condition = event.key.toLowerCase() === key.toLowerCase();
|
3686
3686
|
} else {
|
3687
|
-
if (key.meta && (isMacOs() ? !event.metaKey : !event.ctrlKey) || key.meta
|
3687
|
+
if (key.meta && (isMacOs() ? !event.metaKey : !event.ctrlKey) || !key.meta && (isMacOs() ? event.metaKey : event.ctrlKey)) {
|
3688
3688
|
return;
|
3689
3689
|
}
|
3690
3690
|
if (key.shift && !event.shiftKey || key.shift === false && event.shiftKey) {
|
@@ -4016,7 +4016,7 @@ const defaultLocalisationTexts = {
|
|
4016
4016
|
filters: {
|
4017
4017
|
button: 'Filters',
|
4018
4018
|
buttons: {
|
4019
|
-
|
4019
|
+
addNewFilter: 'Add new filter',
|
4020
4020
|
clearFilters: 'Clear all filters'
|
4021
4021
|
},
|
4022
4022
|
comparators: {
|
@@ -4033,6 +4033,14 @@ const defaultLocalisationTexts = {
|
|
4033
4033
|
isEmpty: 'Is empty',
|
4034
4034
|
isNotEmpty: 'Is not empty'
|
4035
4035
|
},
|
4036
|
+
conditions: {
|
4037
|
+
and: 'And',
|
4038
|
+
where: 'Where'
|
4039
|
+
},
|
4040
|
+
emptyFilter: {
|
4041
|
+
condition: 'Condition',
|
4042
|
+
value: 'Value'
|
4043
|
+
},
|
4036
4044
|
tooltip: 'Apply filters',
|
4037
4045
|
total: 'Viewing [CURRENT] of [TOTAL]'
|
4038
4046
|
},
|
@@ -6285,15 +6293,15 @@ const DrawerContent = /*#__PURE__*/React__default.forwardRef(function Content(pr
|
|
6285
6293
|
ref: contentRef,
|
6286
6294
|
"data-taco": "drawer",
|
6287
6295
|
className: containerClassName
|
6288
|
-
}, /*#__PURE__*/React__default.createElement("div", Object.assign({
|
6296
|
+
}, output, /*#__PURE__*/React__default.createElement("div", Object.assign({
|
6289
6297
|
className: dragHandlerClassName
|
6290
6298
|
}, dragHandleProps, {
|
6291
6299
|
"data-testid": "resize-handler",
|
6292
6300
|
ref: dragHandlerRef
|
6293
|
-
})),
|
6301
|
+
})), showCloseButton ? /*#__PURE__*/React__default.createElement(Close$3, null, /*#__PURE__*/React__default.createElement(IconButton, {
|
6294
6302
|
appearance: "discrete",
|
6295
6303
|
"aria-label": texts.drawer.close,
|
6296
|
-
className: "absolute
|
6304
|
+
className: "absolute right-0 top-0 mr-2 mt-4",
|
6297
6305
|
icon: "close"
|
6298
6306
|
})) : null);
|
6299
6307
|
const styleProp = {
|
@@ -7042,7 +7050,7 @@ const replaceWithShortform = key => {
|
|
7042
7050
|
case ' ':
|
7043
7051
|
return '␣';
|
7044
7052
|
default:
|
7045
|
-
return key;
|
7053
|
+
return String(key).toLocaleUpperCase();
|
7046
7054
|
}
|
7047
7055
|
};
|
7048
7056
|
const getShortcutText = key => {
|
@@ -12842,7 +12850,7 @@ const EditingCell = /*#__PURE__*/React__default.memo( /*#__PURE__*/React__defaul
|
|
12842
12850
|
const indicatorMountNode = (_cellRef$current2 = cellRef.current) === null || _cellRef$current2 === void 0 ? void 0 : (_cellRef$current2$par = _cellRef$current2.parentElement) === null || _cellRef$current2$par === void 0 ? void 0 : _cellRef$current2$par.querySelector(':first-child');
|
12843
12851
|
let controlComponent;
|
12844
12852
|
const detailModeClassName = cn({
|
12845
|
-
'!
|
12853
|
+
'!yt-focus-dark': detailModeEditing
|
12846
12854
|
});
|
12847
12855
|
if (cellControl) {
|
12848
12856
|
if (typeof cellControl === 'function') {
|
@@ -13231,7 +13239,8 @@ function useColumnDefinitions(children, options, tableRef) {
|
|
13231
13239
|
size: child.props.defaultWidth,
|
13232
13240
|
// sorting
|
13233
13241
|
enableSorting: !child.props.disableSorting,
|
13234
|
-
sortingFn: getSortingFn(child.props.dataType, child.props.sortFn)
|
13242
|
+
sortingFn: getSortingFn(child.props.dataType, child.props.sortFn),
|
13243
|
+
sortDescFirst: false
|
13235
13244
|
});
|
13236
13245
|
}
|
13237
13246
|
});
|
@@ -13380,9 +13389,50 @@ const useFilterStateListener = (table, onRowSelect) => {
|
|
13380
13389
|
}, [table.getState().columnFilters, table.getState().globalFilter]);
|
13381
13390
|
};
|
13382
13391
|
|
13392
|
+
function useTableShortcuts(shortcuts, activeRow) {
|
13393
|
+
React__default.useEffect(() => {
|
13394
|
+
const shortcutKeys = Object.keys(shortcuts !== null && shortcuts !== void 0 ? shortcuts : {});
|
13395
|
+
const globalHandlers = [];
|
13396
|
+
// convert the shortcut into the correct format to register it
|
13397
|
+
if (shortcuts && shortcutKeys.length) {
|
13398
|
+
shortcutKeys.forEach(key => {
|
13399
|
+
const handler = shortcuts[key];
|
13400
|
+
let keyDownHandler;
|
13401
|
+
let keyDownHandlerOptions;
|
13402
|
+
if (typeof handler === 'function') {
|
13403
|
+
keyDownHandler = handler;
|
13404
|
+
keyDownHandlerOptions = {
|
13405
|
+
key
|
13406
|
+
};
|
13407
|
+
} else {
|
13408
|
+
const handlerObject = handler;
|
13409
|
+
keyDownHandler = handlerObject.handler;
|
13410
|
+
keyDownHandlerOptions = {
|
13411
|
+
key,
|
13412
|
+
meta: handlerObject.meta,
|
13413
|
+
shift: handlerObject.shift
|
13414
|
+
};
|
13415
|
+
}
|
13416
|
+
globalHandlers.push(createShortcutKeyDownHandler(keyDownHandlerOptions, event => {
|
13417
|
+
event.preventDefault();
|
13418
|
+
keyDownHandler(activeRow);
|
13419
|
+
}));
|
13420
|
+
});
|
13421
|
+
}
|
13422
|
+
globalHandlers.forEach(handler => {
|
13423
|
+
document.addEventListener('keydown', handler);
|
13424
|
+
});
|
13425
|
+
return () => {
|
13426
|
+
globalHandlers.forEach(handler => {
|
13427
|
+
document.removeEventListener('keydown', handler);
|
13428
|
+
});
|
13429
|
+
};
|
13430
|
+
}, [shortcuts, activeRow]);
|
13431
|
+
}
|
13432
|
+
|
13383
13433
|
const ACTIONS_ON_ROW_LENGTH = 4;
|
13384
13434
|
function useTable$1(children, props, ref) {
|
13385
|
-
var _settings$frozenColum, _settings$columnSizin, _settings$columnVisib, _settings$rowDensity
|
13435
|
+
var _settings$frozenColum, _settings$columnSizin, _settings$columnVisib, _settings$rowDensity, _tableRows$activeRow$;
|
13386
13436
|
const {
|
13387
13437
|
actionsForRow = [],
|
13388
13438
|
actionsForRowLength = ACTIONS_ON_ROW_LENGTH,
|
@@ -13409,6 +13459,7 @@ function useTable$1(children, props, ref) {
|
|
13409
13459
|
onRowSelect,
|
13410
13460
|
onSave,
|
13411
13461
|
settings = {},
|
13462
|
+
shortcuts,
|
13412
13463
|
// experimental
|
13413
13464
|
_experimentalActionsForTable
|
13414
13465
|
} = props;
|
@@ -13576,6 +13627,7 @@ function useTable$1(children, props, ref) {
|
|
13576
13627
|
useFilterStateListener(table, onRowSelect);
|
13577
13628
|
useRowSelectionListener(table, onRowSelect);
|
13578
13629
|
useSettingsStateListener(table, onChangeSettings);
|
13630
|
+
useTableShortcuts(shortcuts, (_tableRows$activeRow$ = tableRows[activeRow.activeRowIndex]) === null || _tableRows$activeRow$ === void 0 ? void 0 : _tableRows$activeRow$.original);
|
13579
13631
|
return {
|
13580
13632
|
rows,
|
13581
13633
|
table,
|
@@ -14262,18 +14314,22 @@ const InferredControl = ({
|
|
14262
14314
|
};
|
14263
14315
|
|
14264
14316
|
const ColumnFilter = props => {
|
14265
|
-
var _column$columnDef$hea, _column$columnDef$met
|
14317
|
+
var _column$columnDef$hea, _column$columnDef$met;
|
14266
14318
|
const {
|
14267
14319
|
allColumns,
|
14268
14320
|
column,
|
14269
14321
|
index,
|
14270
|
-
table
|
14322
|
+
table,
|
14323
|
+
onRemove
|
14271
14324
|
} = props;
|
14272
14325
|
const {
|
14273
14326
|
comparator,
|
14274
14327
|
value
|
14275
14328
|
} = column.getFilterValue();
|
14276
14329
|
const ariaLabel = String((_column$columnDef$hea = column.columnDef.header) !== null && _column$columnDef$hea !== void 0 ? _column$columnDef$hea : '');
|
14330
|
+
const {
|
14331
|
+
texts
|
14332
|
+
} = useLocalization();
|
14277
14333
|
const ref = React__default.useRef(null);
|
14278
14334
|
let control;
|
14279
14335
|
const controlType = (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.control;
|
@@ -14318,13 +14374,16 @@ const ColumnFilter = props => {
|
|
14318
14374
|
}))
|
14319
14375
|
});
|
14320
14376
|
}
|
14321
|
-
const handleRemove = () =>
|
14377
|
+
const handleRemove = () => {
|
14378
|
+
column.setFilterValue(undefined);
|
14379
|
+
onRemove === null || onRemove === void 0 ? void 0 : onRemove();
|
14380
|
+
};
|
14322
14381
|
const comparators = guessComparatorsBasedOnControl(control, controlType);
|
14323
14382
|
return /*#__PURE__*/React__default.createElement("div", {
|
14324
|
-
className: "
|
14383
|
+
className: "flex gap-2"
|
14325
14384
|
}, /*#__PURE__*/React__default.createElement("div", {
|
14326
14385
|
className: "flex w-14 flex-shrink-0 items-center justify-end pr-2 text-right"
|
14327
|
-
}, index === 0 ?
|
14386
|
+
}, index === 0 ? texts.table2.filters.conditions.where : texts.table2.filters.conditions.and), /*#__PURE__*/React__default.createElement(Column$2, {
|
14328
14387
|
className: "!w-32 flex-shrink-0",
|
14329
14388
|
allColumns: allColumns,
|
14330
14389
|
column: column,
|
@@ -14337,7 +14396,7 @@ const ColumnFilter = props => {
|
|
14337
14396
|
validComparators: comparators
|
14338
14397
|
}), comparator !== undefined ? /*#__PURE__*/React__default.createElement("div", {
|
14339
14398
|
className: "flex flex-grow items-center"
|
14340
|
-
},
|
14399
|
+
}, /*#__PURE__*/React__default.createElement(InferredControl, {
|
14341
14400
|
column: column,
|
14342
14401
|
comparator: comparator,
|
14343
14402
|
value: value
|
@@ -14370,6 +14429,61 @@ const guessComparatorsBasedOnControl = (instance, control) => {
|
|
14370
14429
|
}
|
14371
14430
|
};
|
14372
14431
|
|
14432
|
+
const EmptyFilter = props => {
|
14433
|
+
const {
|
14434
|
+
texts
|
14435
|
+
} = useLocalization();
|
14436
|
+
const {
|
14437
|
+
onChange,
|
14438
|
+
onRemove,
|
14439
|
+
allColumns,
|
14440
|
+
table,
|
14441
|
+
index,
|
14442
|
+
filteredColumns,
|
14443
|
+
emptyFilterCount
|
14444
|
+
} = props;
|
14445
|
+
const handleChange = value => {
|
14446
|
+
if (value) {
|
14447
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(value);
|
14448
|
+
}
|
14449
|
+
};
|
14450
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
14451
|
+
className: "flex gap-2"
|
14452
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
14453
|
+
className: "flex w-14 flex-shrink-0 items-center justify-end pr-2 text-right"
|
14454
|
+
}, filteredColumns.length > 0 || filteredColumns.length === 0 && index > 0 ? texts.table2.filters.conditions.and : texts.table2.filters.conditions.where), /*#__PURE__*/React__default.createElement(Select2, {
|
14455
|
+
className: "!w-32 flex-shrink-0",
|
14456
|
+
emptyValue: null,
|
14457
|
+
autoFocus: true,
|
14458
|
+
onChange: handleChange,
|
14459
|
+
value: null
|
14460
|
+
}, allColumns.map(c => /*#__PURE__*/React__default.createElement(Select2.Option, {
|
14461
|
+
key: c.id,
|
14462
|
+
value: c.id,
|
14463
|
+
disabled: !c.getCanFilter() || !!table.getState().columnFilters.find(f => f.id === c.id)
|
14464
|
+
}, String(c.columnDef.header)))), /*#__PURE__*/React__default.createElement(Select2, {
|
14465
|
+
className: "!w-32 flex-shrink-0",
|
14466
|
+
value: 1,
|
14467
|
+
autoFocus: true,
|
14468
|
+
disabled: true
|
14469
|
+
}, /*#__PURE__*/React__default.createElement(Select2.Option, {
|
14470
|
+
key: 'condition1',
|
14471
|
+
value: 1
|
14472
|
+
}, texts.table2.filters.emptyFilter.condition), /*#__PURE__*/React__default.createElement(Select2.Option, {
|
14473
|
+
key: 'condition2',
|
14474
|
+
value: 2
|
14475
|
+
}, "Condition2")), /*#__PURE__*/React__default.createElement(Input, {
|
14476
|
+
"aria-label": 'Value',
|
14477
|
+
className: "flex-grow items-center",
|
14478
|
+
disabled: true,
|
14479
|
+
value: texts.table2.filters.emptyFilter.value
|
14480
|
+
}), (emptyFilterCount > 1 || filteredColumns.length > 0) && /*#__PURE__*/React__default.createElement(IconButton, {
|
14481
|
+
appearance: "discrete",
|
14482
|
+
icon: "close",
|
14483
|
+
onClick: onRemove
|
14484
|
+
}));
|
14485
|
+
};
|
14486
|
+
|
14373
14487
|
const FiltersButton = ({
|
14374
14488
|
length,
|
14375
14489
|
table
|
@@ -14378,7 +14492,10 @@ const FiltersButton = ({
|
|
14378
14492
|
texts
|
14379
14493
|
} = useLocalization();
|
14380
14494
|
const ref = React__default.useRef(null);
|
14381
|
-
const allColumns = table.getAllLeafColumns().filter(column => !isInternalColumn(column.id))
|
14495
|
+
const allColumns = table.getAllLeafColumns().filter(column => !isInternalColumn(column.id)).sort((a, b) => {
|
14496
|
+
var _a$columnDef, _b$columnDef;
|
14497
|
+
return (_a$columnDef = a.columnDef) === null || _a$columnDef === void 0 ? void 0 : _a$columnDef.header.localeCompare((_b$columnDef = b.columnDef) === null || _b$columnDef === void 0 ? void 0 : _b$columnDef.header);
|
14498
|
+
});
|
14382
14499
|
const {
|
14383
14500
|
shouldDisableTableActions
|
14384
14501
|
} = table.options.meta;
|
@@ -14390,17 +14507,11 @@ const FiltersButton = ({
|
|
14390
14507
|
}
|
14391
14508
|
return columns;
|
14392
14509
|
}, []);
|
14393
|
-
const
|
14394
|
-
|
14395
|
-
if (firstFilterableColumn) {
|
14396
|
-
firstFilterableColumn.setFilterValue({
|
14397
|
-
comparator: undefined,
|
14398
|
-
value: undefined
|
14399
|
-
});
|
14400
|
-
}
|
14401
|
-
};
|
14510
|
+
const [emptyFilterCount, setEmptyFilterCount] = React__default.useState(1);
|
14511
|
+
const handleAdd = () => setEmptyFilterCount(emptyFilterCount + 1);
|
14402
14512
|
const handleReset = () => {
|
14403
14513
|
table.resetColumnFilters();
|
14514
|
+
setEmptyFilterCount(1);
|
14404
14515
|
};
|
14405
14516
|
useGlobalKeyDown({
|
14406
14517
|
key: 'f',
|
@@ -14411,37 +14522,94 @@ const FiltersButton = ({
|
|
14411
14522
|
event.preventDefault();
|
14412
14523
|
(_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.click();
|
14413
14524
|
});
|
14525
|
+
const handleEmptyFilterChange = columnId => {
|
14526
|
+
// create an actual filter on that column that the user selected
|
14527
|
+
const column = allColumns.find(c => c.getCanFilter() && c.id === columnId);
|
14528
|
+
if (column) {
|
14529
|
+
column.setFilterValue({
|
14530
|
+
comparator: undefined,
|
14531
|
+
value: undefined
|
14532
|
+
});
|
14533
|
+
}
|
14534
|
+
// hide the empty filter row because we now have a real filter
|
14535
|
+
setEmptyFilterCount(emptyFilterCount - 1);
|
14536
|
+
};
|
14537
|
+
const handleRemove = () => {
|
14538
|
+
if (filteredColumns.length === 1 && emptyFilterCount === 0) {
|
14539
|
+
setEmptyFilterCount(1);
|
14540
|
+
}
|
14541
|
+
};
|
14542
|
+
const handleRemoveEmptyFilter = () => {
|
14543
|
+
setEmptyFilterCount(emptyFilterCount - 1);
|
14544
|
+
};
|
14545
|
+
const handleOpenChange = () => {
|
14546
|
+
const emptyFilterCount = filteredColumns.length === 0 ? 1 : 0;
|
14547
|
+
setEmptyFilterCount(emptyFilterCount);
|
14548
|
+
};
|
14549
|
+
const filters = filteredColumns.length > 0 && filteredColumns.filter(column => {
|
14550
|
+
var _column$columnDef$met;
|
14551
|
+
const controlType = (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.control;
|
14552
|
+
const value = column.getFilterValue().value;
|
14553
|
+
const comparator = column.getFilterValue().comparator;
|
14554
|
+
if (Array.isArray(value)) {
|
14555
|
+
if (value.length > 0 && value.find(item => item !== undefined)) {
|
14556
|
+
return true;
|
14557
|
+
}
|
14558
|
+
} else if (value) {
|
14559
|
+
return true;
|
14560
|
+
} else if ([Table2FilterComparator.IsEmpty, Table2FilterComparator.IsNotEmpty].includes(comparator)) {
|
14561
|
+
if (!controlType) {
|
14562
|
+
return true;
|
14563
|
+
}
|
14564
|
+
}
|
14565
|
+
return false;
|
14566
|
+
});
|
14567
|
+
const filtersApplied = filters && filters.length;
|
14414
14568
|
return /*#__PURE__*/React__default.createElement(Button$1, {
|
14415
14569
|
"aria-label": texts.table2.filters.tooltip,
|
14416
|
-
appearance:
|
14570
|
+
appearance: filtersApplied ? 'primary' : 'default',
|
14417
14571
|
className: cn({
|
14418
|
-
'!wcag-blue-100':
|
14572
|
+
'!wcag-blue-100': filtersApplied
|
14419
14573
|
}),
|
14420
14574
|
disabled: shouldDisableTableActions,
|
14421
|
-
popover: popoverProps => /*#__PURE__*/React__default.createElement(Popover, Object.assign({}, popoverProps
|
14575
|
+
popover: popoverProps => /*#__PURE__*/React__default.createElement(Popover, Object.assign({}, popoverProps, {
|
14576
|
+
onChange: handleOpenChange
|
14577
|
+
}), /*#__PURE__*/React__default.createElement(Popover.Content, null, /*#__PURE__*/React__default.createElement("div", {
|
14422
14578
|
className: "flex w-[40rem] flex-col gap-4"
|
14579
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
14580
|
+
className: "flex h-8"
|
14423
14581
|
}, /*#__PURE__*/React__default.createElement("div", {
|
14424
14582
|
className: "flex w-full items-center gap-2"
|
14425
14583
|
}, /*#__PURE__*/React__default.createElement("h4", {
|
14426
14584
|
className: "mb-0 inline-flex"
|
14427
|
-
},
|
14585
|
+
}, texts.table2.filters.button), /*#__PURE__*/React__default.createElement("p", {
|
14428
14586
|
className: "text-grey-700 mb-0 mr-auto mt-px inline-flex"
|
14429
|
-
}, texts.table2.filters.total.replace('[CURRENT]', String(table.getFilteredRowModel().rows.length)).replace('[TOTAL]', String(length)))), /*#__PURE__*/React__default.createElement(
|
14587
|
+
}, texts.table2.filters.total.replace('[CURRENT]', String(table.getFilteredRowModel().rows.length)).replace('[TOTAL]', String(length)))), columnFilters.length || emptyFilterCount > 1 ? /*#__PURE__*/React__default.createElement(Button$1, {
|
14588
|
+
onClick: handleReset
|
14589
|
+
}, texts.table2.filters.buttons.clearFilters) : null), /*#__PURE__*/React__default.createElement("div", {
|
14430
14590
|
className: "flex flex-col gap-2"
|
14431
14591
|
}, filteredColumns.map((column, index) => /*#__PURE__*/React__default.createElement(ColumnFilter, {
|
14432
14592
|
key: `${column.id}_${index}`,
|
14433
14593
|
allColumns: allColumns,
|
14434
14594
|
index: index,
|
14435
14595
|
column: column,
|
14436
|
-
table: table
|
14437
|
-
|
14438
|
-
|
14596
|
+
table: table,
|
14597
|
+
onRemove: handleRemove
|
14598
|
+
})), [...Array(emptyFilterCount)].map((_, index) => /*#__PURE__*/React__default.createElement(EmptyFilter, {
|
14599
|
+
key: `emptyFilter_${index}`,
|
14600
|
+
index: index,
|
14601
|
+
allColumns: allColumns,
|
14602
|
+
table: table,
|
14603
|
+
onChange: value => handleEmptyFilterChange(value),
|
14604
|
+
emptyFilterCount: emptyFilterCount,
|
14605
|
+
filteredColumns: filteredColumns,
|
14606
|
+
onRemove: handleRemoveEmptyFilter
|
14607
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
14608
|
+
className: "justify-start"
|
14439
14609
|
}, /*#__PURE__*/React__default.createElement(Button$1, {
|
14440
14610
|
appearance: "discrete",
|
14441
14611
|
onClick: handleAdd
|
14442
|
-
}, "+ ", texts.table2.filters.buttons.
|
14443
|
-
onClick: handleReset
|
14444
|
-
}, texts.table2.filters.buttons.clearFilters) : null)))),
|
14612
|
+
}, "+ ", texts.table2.filters.buttons.addNewFilter)))))),
|
14445
14613
|
ref: ref,
|
14446
14614
|
tooltip: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, texts.table2.filters.tooltip, /*#__PURE__*/React__default.createElement(Shortcut, {
|
14447
14615
|
className: "ml-2",
|
@@ -14452,8 +14620,8 @@ const FiltersButton = ({
|
|
14452
14620
|
}
|
14453
14621
|
}))
|
14454
14622
|
}, /*#__PURE__*/React__default.createElement(Icon, {
|
14455
|
-
name:
|
14456
|
-
}), texts.table2.filters.button, " ",
|
14623
|
+
name: filtersApplied ? 'filter-solid' : 'filter'
|
14624
|
+
}), texts.table2.filters.button, " ", filtersApplied ? `(${filtersApplied})` : '');
|
14457
14625
|
};
|
14458
14626
|
|
14459
14627
|
const Search$2 = props => {
|
@@ -14619,7 +14787,8 @@ const BaseTable2 = /*#__PURE__*/React__default.forwardRef(function BaseTable2(pr
|
|
14619
14787
|
resetFiltering: () => table.resetColumnFilters(),
|
14620
14788
|
resetRowExpansion: () => table.resetExpanded(),
|
14621
14789
|
resetRowSelection: () => table.resetRowSelection(),
|
14622
|
-
resetSorting: () => table.resetSorting()
|
14790
|
+
resetSorting: () => table.resetSorting(),
|
14791
|
+
toggleEditing: () => meta.editMode.toggleEditing()
|
14623
14792
|
};
|
14624
14793
|
}
|
14625
14794
|
}, [table, tableRef.current]);
|