@economic/taco 2.66.1-test.0 → 2.67.1-alpha.0
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/dist/taco.cjs +94 -35
- package/dist/taco.cjs.map +1 -1
- package/dist/taco.d.ts +4 -3
- package/dist/taco.js +94 -35
- package/dist/taco.js.map +1 -1
- package/package.json +2 -2
package/dist/taco.d.ts
CHANGED
@@ -3066,6 +3066,7 @@ export declare type Table3Ref = TableRef & {
|
|
3066
3066
|
createRow?: (row: unknown) => Promise<void>;
|
3067
3067
|
save: (rowId?: string) => Promise<boolean>;
|
3068
3068
|
removeRowChanges: (rowId: string) => Promise<void>;
|
3069
|
+
forceValidate: () => Promise<string[]>;
|
3069
3070
|
};
|
3070
3071
|
};
|
3071
3072
|
};
|
@@ -3382,7 +3383,7 @@ export declare enum TableFilterComparator {
|
|
3382
3383
|
IsNoneOf = 15
|
3383
3384
|
}
|
3384
3385
|
|
3385
|
-
export declare type TableFilterHandler = (filters: TableColumnFilter[], hiddenColumns: string[]) => Promise<void
|
3386
|
+
export declare type TableFilterHandler = (filters: TableColumnFilter[], hiddenColumns: string[]) => Promise<void> | void;
|
3386
3387
|
|
3387
3388
|
export declare type TableFilterValue = {
|
3388
3389
|
comparator: TableFilterComparator;
|
@@ -3455,7 +3456,7 @@ export declare type TableScrollToIndexHandler = (index: number, options?: {
|
|
3455
3456
|
align: 'start' | 'center' | 'end' | 'auto';
|
3456
3457
|
}) => void;
|
3457
3458
|
|
3458
|
-
export declare type TableSearchHandler = (search: string | undefined, hiddenColumns: string[]) => Promise<void
|
3459
|
+
export declare type TableSearchHandler = (search: string | undefined, hiddenColumns: string[]) => Promise<void> | void;
|
3459
3460
|
|
3460
3461
|
export declare type TableServerLoadAllHandler = (sorting: TableColumnSort[], filters: TableColumnFilter[], hiddenColumns: string[], search: string | undefined) => Promise<void>;
|
3461
3462
|
|
@@ -3495,7 +3496,7 @@ export declare type TableShortcutHandlerObject<TType = unknown> = {
|
|
3495
3496
|
|
3496
3497
|
export declare type TableShortcuts<TType = unknown> = Record<string, TableShortcutHandlerFn<TType> | TableShortcutHandlerObject<TType>>;
|
3497
3498
|
|
3498
|
-
export declare type TableSortHandler = (sorting: TableColumnSort[]) => Promise<void
|
3499
|
+
export declare type TableSortHandler = (sorting: TableColumnSort[]) => Promise<void> | void;
|
3499
3500
|
|
3500
3501
|
export declare type TableTexts = {
|
3501
3502
|
columns: {
|
package/dist/taco.js
CHANGED
@@ -26960,7 +26960,7 @@ const Content$4 = React.forwardRef(function HangerContent(props, ref) {
|
|
26960
26960
|
const context = React.useContext(HangerContext);
|
26961
26961
|
const { texts } = useLocalization();
|
26962
26962
|
const className = clsx(
|
26963
|
-
"wcag-blue-500 border border-transparent rounded p-3 pr-12 yt-shadow focus:border-transparent max-w-sm",
|
26963
|
+
"wcag-blue-500 border border-transparent rounded p-3 pr-12 yt-shadow focus:border-transparent max-w-sm print:hidden",
|
26964
26964
|
props.className
|
26965
26965
|
);
|
26966
26966
|
const handleInteractOutside = (event) => {
|
@@ -35633,7 +35633,7 @@ function useReactTableInitialState(props, columns, persistedSettings, defaults2)
|
|
35633
35633
|
columnOrder
|
35634
35634
|
);
|
35635
35635
|
} else {
|
35636
|
-
if (props.defaultColumnFreezingIndex) {
|
35636
|
+
if (props.defaultColumnFreezingIndex !== void 0) {
|
35637
35637
|
columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);
|
35638
35638
|
} else {
|
35639
35639
|
columnPinning.left = unfreezeAllExternalColumns(columnOrder);
|
@@ -37834,12 +37834,12 @@ function getScrollPaddingEndOffset(table) {
|
|
37834
37834
|
}
|
37835
37835
|
return height;
|
37836
37836
|
}
|
37837
|
-
function getPaddingEndOffset(table
|
37837
|
+
function getPaddingEndOffset(table) {
|
37838
37838
|
const bottomRows = table.getBottomRows() ?? [];
|
37839
|
-
return ROW_HEIGHT_ESTIMATES.medium * 1 * bottomRows.length
|
37839
|
+
return ROW_HEIGHT_ESTIMATES.medium * 1 * bottomRows.length;
|
37840
37840
|
}
|
37841
37841
|
const OVERSCAN_ROW_COUNT = 8;
|
37842
|
-
function useTableRenderer(renderers, table, tableRef, length, defaultRowActiveIndex
|
37842
|
+
function useTableRenderer(renderers, table, tableRef, length, defaultRowActiveIndex) {
|
37843
37843
|
var _a, _b, _c, _d, _e;
|
37844
37844
|
const tableMeta = table.options.meta;
|
37845
37845
|
const isTableRowGrouped = !!((_a = table.getState().grouping) == null ? void 0 : _a.length);
|
@@ -37858,10 +37858,12 @@ function useTableRenderer(renderers, table, tableRef, length, defaultRowActiveIn
|
|
37858
37858
|
// correctly sets the scroll padding offset, e.g. when keyboard navigating rows in the list
|
37859
37859
|
scrollPaddingStart,
|
37860
37860
|
scrollPaddingEnd: getScrollPaddingEndOffset(table),
|
37861
|
-
paddingEnd: getPaddingEndOffset(table
|
37861
|
+
paddingEnd: getPaddingEndOffset(table)
|
37862
37862
|
});
|
37863
37863
|
const expandedState = table.getState().expanded;
|
37864
37864
|
const previousExpandedStateRef = React__default.useRef(false);
|
37865
|
+
const sortingState = table.getState().sorting;
|
37866
|
+
const previousSortingStateRef = React__default.useRef(JSON.stringify(sortingState));
|
37865
37867
|
React__default.useEffect(() => {
|
37866
37868
|
const isEmpty = JSON.stringify(expandedState) === "{}";
|
37867
37869
|
if (expandedState === true || isEmpty && previousExpandedStateRef.current === true) {
|
@@ -37869,18 +37871,25 @@ function useTableRenderer(renderers, table, tableRef, length, defaultRowActiveIn
|
|
37869
37871
|
virtualiser.measure();
|
37870
37872
|
}
|
37871
37873
|
}, [expandedState]);
|
37874
|
+
React__default.useEffect(() => {
|
37875
|
+
const currentSortingString = JSON.stringify(sortingState);
|
37876
|
+
if (currentSortingString !== previousSortingStateRef.current) {
|
37877
|
+
previousSortingStateRef.current = currentSortingString;
|
37878
|
+
virtualiser.measure();
|
37879
|
+
}
|
37880
|
+
}, [sortingState]);
|
37872
37881
|
const totalSize = virtualiser.getTotalSize();
|
37873
37882
|
const virtualItems = virtualiser.getVirtualItems();
|
37874
37883
|
const scrollToIndex = React__default.useCallback(
|
37875
|
-
(index2,
|
37876
|
-
const notSmooth = { ...
|
37884
|
+
(index2, options = { align: "auto", behavior: "smooth" }) => {
|
37885
|
+
const notSmooth = { ...options, behavior: "auto" };
|
37877
37886
|
if (tableRef.current) {
|
37878
37887
|
if (index2 === 0) {
|
37879
37888
|
virtualiser.scrollToOffset(0, notSmooth);
|
37880
37889
|
} else if (index2 === count2 - 1) {
|
37881
37890
|
tableRef.current.scrollTop = tableRef.current.scrollHeight;
|
37882
37891
|
} else {
|
37883
|
-
virtualiser.scrollToIndex(index2,
|
37892
|
+
virtualiser.scrollToIndex(index2, options);
|
37884
37893
|
}
|
37885
37894
|
}
|
37886
37895
|
},
|
@@ -37921,10 +37930,11 @@ function useTableRenderer(renderers, table, tableRef, length, defaultRowActiveIn
|
|
37921
37930
|
row = rows[virtualRow.index];
|
37922
37931
|
}
|
37923
37932
|
if (!(row == null ? void 0 : row.original)) {
|
37933
|
+
const skeletonKey = `skeleton-${virtualRow.index}-${JSON.stringify(table.getState().sorting).slice(0, 8)}`;
|
37924
37934
|
return /* @__PURE__ */ React__default.createElement(
|
37925
37935
|
SkeletonRow,
|
37926
37936
|
{
|
37927
|
-
key:
|
37937
|
+
key: skeletonKey,
|
37928
37938
|
index: virtualRow.index,
|
37929
37939
|
scrollDirection: virtualiser.scrollDirection ?? void 0,
|
37930
37940
|
table
|
@@ -38318,17 +38328,10 @@ const INTERNAL_RENDERERS = {
|
|
38318
38328
|
rowExpansion: renderer$1,
|
38319
38329
|
rowSelection: renderer
|
38320
38330
|
};
|
38321
|
-
function useTable$1(props, externalRef, renderers, meta
|
38331
|
+
function useTable$1(props, externalRef, renderers, meta) {
|
38322
38332
|
const ref = useMergedRef(externalRef);
|
38323
38333
|
const manager = useTableManager(props, ref, meta, INTERNAL_RENDERERS);
|
38324
|
-
const renderer2 = useTableRenderer(
|
38325
|
-
renderers,
|
38326
|
-
manager.instance,
|
38327
|
-
ref,
|
38328
|
-
manager.meta.length,
|
38329
|
-
props.defaultRowActiveIndex,
|
38330
|
-
options
|
38331
|
-
);
|
38334
|
+
const renderer2 = useTableRenderer(renderers, manager.instance, ref, manager.meta.length, props.defaultRowActiveIndex);
|
38332
38335
|
const { style, stylesheet } = useTableStyle(manager.id, manager.instance);
|
38333
38336
|
useTableGlobalShortcuts(manager.instance, ref, renderer2.scrollToIndex, props.enableLocalKeyboardShortcuts);
|
38334
38337
|
useTableRef(manager.instance, ref);
|
@@ -39019,6 +39022,9 @@ function Header$1(props) {
|
|
39019
39022
|
if (canHide) {
|
39020
39023
|
memoedProps.onHide = header.column.getToggleVisibilityHandler();
|
39021
39024
|
}
|
39025
|
+
if (header.id === "__expansion") {
|
39026
|
+
memoedProps.isExpanded = table.getIsSomeRowsExpanded();
|
39027
|
+
}
|
39022
39028
|
if (canPin) {
|
39023
39029
|
memoedProps.onPin = (index2) => {
|
39024
39030
|
table.setColumnPinning((pinningState) => {
|
@@ -39069,6 +39075,7 @@ const MemoedHeader = React__default.memo(function MemoedHeader2(props) {
|
|
39069
39075
|
hasMenu,
|
39070
39076
|
id: id2,
|
39071
39077
|
index: index2,
|
39078
|
+
isExpanded,
|
39072
39079
|
isFiltered,
|
39073
39080
|
isGroup: isGroup2,
|
39074
39081
|
isPinned,
|
@@ -39108,6 +39115,7 @@ const MemoedHeader = React__default.memo(function MemoedHeader2(props) {
|
|
39108
39115
|
"data-cell-id": id2,
|
39109
39116
|
"data-cell-pinned": isPinned ? isPinned : void 0,
|
39110
39117
|
"data-taco": isGroup2 ? "grouped-column-header" : "column-header",
|
39118
|
+
"data-rows-expanded": isExpanded ? isExpanded : void 0,
|
39111
39119
|
style,
|
39112
39120
|
ref: setRef
|
39113
39121
|
},
|
@@ -39302,10 +39310,10 @@ function Summary(props) {
|
|
39302
39310
|
} else if (!tableMeta.server.isEnabled && (((_a = table.getState().columnFilters) == null ? void 0 : _a.length) || // filtered data
|
39303
39311
|
!!table.getState().globalFilter && table.options.enableGlobalFilter)) {
|
39304
39312
|
label = texts.table.footer.summary.records;
|
39305
|
-
count2 = /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("strong",
|
39313
|
+
count2 = /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("strong", { "data-taco": "table-footer-current-count" }, new Intl.NumberFormat(locale2).format(currentLength)), " ", texts.table.footer.summary.count, " ", /* @__PURE__ */ React__default.createElement("strong", { "data-taco": "table-footer-total-count" }, new Intl.NumberFormat(locale2).format(length)));
|
39306
39314
|
} else {
|
39307
39315
|
label = texts.table.footer.summary.records;
|
39308
|
-
count2 = /* @__PURE__ */ React__default.createElement("strong",
|
39316
|
+
count2 = /* @__PURE__ */ React__default.createElement("strong", { "data-taco": "table-footer-total-count" }, new Intl.NumberFormat(locale2).format(length));
|
39309
39317
|
}
|
39310
39318
|
return /* @__PURE__ */ React__default.createElement(
|
39311
39319
|
"div",
|
@@ -39464,7 +39472,7 @@ const SearchInput22 = React__default.forwardRef(function SearchInput222(props, r
|
|
39464
39472
|
);
|
39465
39473
|
}
|
39466
39474
|
if (hasFind && isActive) {
|
39467
|
-
postfix = /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("span", { className: "text-grey-700 flex h-4 items-center" }, loading ? /* @__PURE__ */ React__default.createElement(Spinner, { className: "h-4 w-4" }) : showTotal ? /* @__PURE__ */ React__default.createElement("span", { className: "border-r border-black/[0.25] pr-2" }, `${findCurrent ?? 0}/${findTotal ?? 0}`) : null), findCurrent ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(
|
39475
|
+
postfix = /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("span", { className: "text-grey-700 flex h-4 items-center" }, loading ? /* @__PURE__ */ React__default.createElement(Spinner, { className: "h-4 w-4" }) : showTotal ? /* @__PURE__ */ React__default.createElement("span", { className: "border-r border-black/[0.25] pr-2", "data-taco": "search-matches-counter" }, `${findCurrent ?? 0}/${findTotal ?? 0}`) : null), findCurrent ? /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(
|
39468
39476
|
IconButton,
|
39469
39477
|
{
|
39470
39478
|
"aria-label": texts.searchInput.findPrevious,
|
@@ -45156,6 +45164,7 @@ function Print(props) {
|
|
45156
45164
|
{
|
45157
45165
|
icon: "print",
|
45158
45166
|
"aria-label": texts.table.print.tooltip,
|
45167
|
+
id: `${tableId}-toolbar-print`,
|
45159
45168
|
dialog: (dialogProps) => /* @__PURE__ */ React__default.createElement(
|
45160
45169
|
PrintDialog,
|
45161
45170
|
{
|
@@ -45492,7 +45501,7 @@ function Filter(props) {
|
|
45492
45501
|
ref.current.focus();
|
45493
45502
|
}
|
45494
45503
|
}, [id2]);
|
45495
|
-
return /* @__PURE__ */ React__default.createElement("div", { className: "flex items-start gap-2" }, /* @__PURE__ */ React__default.createElement("div", { className: "flex min-h-[theme(spacing.8)] w-14 flex-shrink-0 items-center justify-end pr-2 text-right" }, position > 0 ? texts.table.filters.conditions.and : texts.table.filters.conditions.where), /* @__PURE__ */ React__default.createElement(FilterColumn, { allHeaders, onChange: handleChangeColumn, value: id2, ref }), /* @__PURE__ */ React__default.createElement(FilterComparator, { column: column == null ? void 0 : column.column, onChange: handleChangeComparator, value: comparator }), /* @__PURE__ */ React__default.createElement(FilterValue, { column: column == null ? void 0 : column.column, comparator, onChange: handleChangeValue, value }), onRemove ? /* @__PURE__ */ React__default.createElement(IconButton, { appearance: "discrete", className: "ml-auto", icon: "close", onClick: handleRemove }) : null);
|
45504
|
+
return /* @__PURE__ */ React__default.createElement("div", { className: "flex items-start gap-2", "data-taco": "filter-row" }, /* @__PURE__ */ React__default.createElement("div", { className: "flex min-h-[theme(spacing.8)] w-14 flex-shrink-0 items-center justify-end pr-2 text-right" }, position > 0 ? texts.table.filters.conditions.and : texts.table.filters.conditions.where), /* @__PURE__ */ React__default.createElement(FilterColumn, { allHeaders, onChange: handleChangeColumn, value: id2, ref }), /* @__PURE__ */ React__default.createElement(FilterComparator, { column: column == null ? void 0 : column.column, onChange: handleChangeComparator, value: comparator }), /* @__PURE__ */ React__default.createElement(FilterValue, { column: column == null ? void 0 : column.column, comparator, onChange: handleChangeValue, value }), onRemove ? /* @__PURE__ */ React__default.createElement(IconButton, { appearance: "discrete", className: "ml-auto", icon: "close", onClick: handleRemove }) : null);
|
45496
45505
|
}
|
45497
45506
|
const placeholderFilter = { id: "", value: { comparator: TableFilterComparator.Contains, value: void 0 } };
|
45498
45507
|
function ManageFiltersPopover(props) {
|
@@ -45573,10 +45582,10 @@ function ManageFiltersPopover(props) {
|
|
45573
45582
|
onChange: handleChangeFilter,
|
45574
45583
|
onRemove: filters.length > 0 && filters.some((f2) => f2.id) || filters.length > 1 ? handleRemoveFilter : void 0
|
45575
45584
|
}
|
45576
|
-
)), /* @__PURE__ */ React__default.createElement("div", { className: "justify-start" }, /* @__PURE__ */ React__default.createElement(Button$4, { appearance: "discrete", onClick: handleCreate }, "+ ", texts.table.filters.buttons.addFilter))), /* @__PURE__ */ React__default.createElement(Group$6, { className: "ml-auto" }, /* @__PURE__ */ React__default.createElement(Popover.Close, null, /* @__PURE__ */ React__default.createElement(Button$4,
|
45585
|
+
)), /* @__PURE__ */ React__default.createElement("div", { className: "justify-start" }, /* @__PURE__ */ React__default.createElement(Button$4, { appearance: "discrete", onClick: handleCreate, name: "add-filter" }, "+ ", texts.table.filters.buttons.addFilter))), /* @__PURE__ */ React__default.createElement(Group$6, { className: "ml-auto" }, /* @__PURE__ */ React__default.createElement(Popover.Close, null, /* @__PURE__ */ React__default.createElement(Button$4, { name: "close-filters" }, texts.table.filters.buttons.cancel)), /* @__PURE__ */ React__default.createElement(Button$4, { name: "clear-filters", onClick: handleClear }, texts.table.filters.buttons.clear), /* @__PURE__ */ React__default.createElement(Button$4, { appearance: "primary", name: "apply-filters", onClick: handleApply }, texts.table.filters.buttons.apply))))));
|
45577
45586
|
}
|
45578
45587
|
function Filters(props) {
|
45579
|
-
const { length, table } = props;
|
45588
|
+
const { length, tableId, table } = props;
|
45580
45589
|
const { texts } = useLocalization();
|
45581
45590
|
const isLargeScreen = useIsLargeScreen();
|
45582
45591
|
const columnFilters = table.getState().columnFilters;
|
@@ -45589,7 +45598,8 @@ function Filters(props) {
|
|
45589
45598
|
popover: (popoverProps) => /* @__PURE__ */ React__default.createElement(ManageFiltersPopover, { ...popoverProps, length, table }),
|
45590
45599
|
shortcut: shortcut2,
|
45591
45600
|
ref,
|
45592
|
-
tooltip: /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, texts.table.filters.tooltip, /* @__PURE__ */ React__default.createElement(Shortcut, { className: "ml-2", keys: shortcut2 }))
|
45601
|
+
tooltip: /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, texts.table.filters.tooltip, /* @__PURE__ */ React__default.createElement(Shortcut, { className: "ml-2", keys: shortcut2 })),
|
45602
|
+
id: `${tableId}-toolbar-filters`
|
45593
45603
|
};
|
45594
45604
|
React__default.useEffect(() => {
|
45595
45605
|
var _a;
|
@@ -45622,7 +45632,7 @@ function TableToolbar(props) {
|
|
45622
45632
|
"data-taco": "table-toolbar"
|
45623
45633
|
},
|
45624
45634
|
table.props.toolbarLeft,
|
45625
|
-
/* @__PURE__ */ React__default.createElement(Group$6, { className: "ml-auto flex-shrink-0 items-center print:hidden" }, customTools, canFilter ? /* @__PURE__ */ React__default.createElement(Filters, { length: table.meta.length, table: table.instance }) : null, table.props.toolbarRight, canPrint ? /* @__PURE__ */ React__default.createElement(Print, { table: table.instance, tableId: table.id, tableRef: table.ref }) : null, canSettings ? /* @__PURE__ */ React__default.createElement(Settings, { customSettings: table.props.customSettings, id: `${id2}-settings`, table: table.instance }) : null, canSearch ? /* @__PURE__ */ React__default.createElement(Search$1, { scrollToIndex: table.renderer.scrollToIndex, table: table.instance, tableRef: table.ref }) : null)
|
45635
|
+
/* @__PURE__ */ React__default.createElement(Group$6, { className: "ml-auto flex-shrink-0 items-center print:hidden" }, customTools, canFilter ? /* @__PURE__ */ React__default.createElement(Filters, { length: table.meta.length, tableId: table.id, table: table.instance }) : null, table.props.toolbarRight, canPrint ? /* @__PURE__ */ React__default.createElement(Print, { table: table.instance, tableId: table.id, tableRef: table.ref }) : null, canSettings ? /* @__PURE__ */ React__default.createElement(Settings, { customSettings: table.props.customSettings, id: `${id2}-settings`, table: table.instance }) : null, canSearch ? /* @__PURE__ */ React__default.createElement(Search$1, { scrollToIndex: table.renderer.scrollToIndex, table: table.instance, tableRef: table.ref }) : null)
|
45626
45636
|
), table.props.toolbarPanel ? /* @__PURE__ */ React__default.createElement("div", { className: "mb-4" }, table.props.toolbarPanel) : void 0);
|
45627
45637
|
}
|
45628
45638
|
function canChangeSettings(table, customSettings) {
|
@@ -55267,6 +55277,13 @@ function reducer(state, action) {
|
|
55267
55277
|
indexes: setWith(state.indexes, rowId, index2, Object)
|
55268
55278
|
};
|
55269
55279
|
}
|
55280
|
+
case "forceValidate": {
|
55281
|
+
const { newState } = payload;
|
55282
|
+
return {
|
55283
|
+
...state,
|
55284
|
+
...newState
|
55285
|
+
};
|
55286
|
+
}
|
55270
55287
|
default:
|
55271
55288
|
return state;
|
55272
55289
|
}
|
@@ -55426,6 +55443,46 @@ function usePendingChangesState(handleSave, handleChange, handleDiscard, rowIden
|
|
55426
55443
|
}
|
55427
55444
|
});
|
55428
55445
|
}
|
55446
|
+
async function forceValidate(table) {
|
55447
|
+
if (validator && table.getRowModel().rows.length) {
|
55448
|
+
const newState = { ...state };
|
55449
|
+
const returnIds = [];
|
55450
|
+
await Promise.all(
|
55451
|
+
table.getRowModel().rows.map(async (row, index2) => {
|
55452
|
+
var _a, _b;
|
55453
|
+
const rowWithChanges = { ...row.original, ...state.changes.rows[row.id] };
|
55454
|
+
if (rowWithChanges) {
|
55455
|
+
const cellErrors = await validator(rowWithChanges);
|
55456
|
+
if (cellErrors) {
|
55457
|
+
newState.changes.dirty[row.id] = true;
|
55458
|
+
newState.changes.originals[row.id] = row.original;
|
55459
|
+
newState.changes.moveReasons[row.id] = { ...newState.changes.moveReasons[row.id] };
|
55460
|
+
newState.changes.rows[row.id] = { ...newState.changes.rows[row.id] };
|
55461
|
+
newState.changes.status[row.id] = "errored";
|
55462
|
+
newState.indexes[row.id] = index2;
|
55463
|
+
newState.changes.errors[row.id] = {
|
55464
|
+
cells: cellErrors,
|
55465
|
+
row: ((_a = newState.changes.errors[row.id]) == null ? void 0 : _a.row) ?? void 0,
|
55466
|
+
shouldShowErrorAlert: ((_b = newState.changes.errors[row.id]) == null ? void 0 : _b.shouldShowErrorAlert) ?? false
|
55467
|
+
};
|
55468
|
+
Object.keys(cellErrors).forEach((columnId) => {
|
55469
|
+
newState.changes.rows[row.id][columnId] = rowWithChanges[columnId];
|
55470
|
+
});
|
55471
|
+
returnIds.push(row.id);
|
55472
|
+
}
|
55473
|
+
}
|
55474
|
+
})
|
55475
|
+
);
|
55476
|
+
dispatch({
|
55477
|
+
type: "forceValidate",
|
55478
|
+
payload: {
|
55479
|
+
newState
|
55480
|
+
}
|
55481
|
+
});
|
55482
|
+
return returnIds;
|
55483
|
+
}
|
55484
|
+
return [];
|
55485
|
+
}
|
55429
55486
|
function getErrors() {
|
55430
55487
|
return Object.keys(state.changes.errors);
|
55431
55488
|
}
|
@@ -55554,6 +55611,7 @@ function usePendingChangesState(handleSave, handleChange, handleDiscard, rowIden
|
|
55554
55611
|
hasTemporaryRowErrors,
|
55555
55612
|
getRowStatus,
|
55556
55613
|
setRowStatus,
|
55614
|
+
forceValidate,
|
55557
55615
|
// cells
|
55558
55616
|
setCellValue,
|
55559
55617
|
getCellValue,
|
@@ -56307,14 +56365,7 @@ function useTable3(props, ref) {
|
|
56307
56365
|
]) : props.rowActions
|
56308
56366
|
};
|
56309
56367
|
const meta = { editing };
|
56310
|
-
const
|
56311
|
-
virtualiserPaddingEndOffset: 0
|
56312
|
-
};
|
56313
|
-
if (props.enableEditing) {
|
56314
|
-
const validationErrorLabelHeight = 17;
|
56315
|
-
options.virtualiserPaddingEndOffset = editing.getErrors().length * validationErrorLabelHeight;
|
56316
|
-
}
|
56317
|
-
const table = useTable$1(extendedProps, ref, RENDERERS, meta, options);
|
56368
|
+
const table = useTable$1(extendedProps, ref, RENDERERS, meta);
|
56318
56369
|
const toggleEditing = (enabled) => table.meta.editing.toggleEditing(enabled ?? ((editing2) => !editing2), table.instance, table.renderer.scrollToIndex);
|
56319
56370
|
React__default.useEffect(() => {
|
56320
56371
|
if (props.defaultToggleEditing) {
|
@@ -56337,6 +56388,14 @@ function useTable3(props, ref) {
|
|
56337
56388
|
}
|
56338
56389
|
}
|
56339
56390
|
}, [table.ref.current, table.meta.editing.isEnabled]);
|
56391
|
+
React__default.useEffect(() => {
|
56392
|
+
if (table.ref.current) {
|
56393
|
+
const instance = table.ref.current.instance;
|
56394
|
+
if (table.meta.editing.isEnabled) {
|
56395
|
+
instance.editing.forceValidate = async () => table.meta.editing.forceValidate(table.instance);
|
56396
|
+
}
|
56397
|
+
}
|
56398
|
+
}, [table.meta.editing.forceValidate]);
|
56340
56399
|
return table;
|
56341
56400
|
}
|
56342
56401
|
function Alert(props) {
|