@economic/taco 2.49.0-server.1 → 2.49.0-server.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/dist/components/Table3/features/useEditingState.d.ts +3 -3
- package/dist/components/Table3/features/useTableEditing.d.ts +3 -3
- package/dist/components/Table3/types.d.ts +2 -0
- package/dist/esm/packages/taco/src/components/Menu/components/Content.js +6 -1
- package/dist/esm/packages/taco/src/components/Menu/components/Content.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js +6 -6
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js +29 -18
- package/dist/esm/packages/taco/src/components/Table3/features/useEditingState.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +6 -7
- package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/useTable3.js +1 -1
- package/dist/esm/packages/taco/src/components/Table3/useTable3.js.map +1 -1
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js +2 -2
- package/dist/esm/packages/taco/src/hooks/useGlobalKeyDown.js.map +1 -1
- package/dist/esm/packages/taco/src/index.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Button.js +6 -1
- package/dist/esm/packages/taco/src/primitives/Button.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js +1 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js +1 -2
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/types.js +1 -7
- package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js +17 -10
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/features/useTableServerLoading.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/useTableManager.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/keyboard.js +2 -5
- package/dist/esm/packages/taco/src/utils/keyboard.js.map +1 -1
- package/dist/hooks/useGlobalKeyDown.d.ts +1 -1
- package/dist/primitives/Table/types.d.ts +0 -5
- package/dist/primitives/Table/useTableManager/features/useTableServerLoading.d.ts +3 -3
- package/dist/taco.cjs.development.js +80 -59
- 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/dist/utils/keyboard.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableServerLoading.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableServerLoading.ts"],"sourcesContent":["import React from 'react';\nimport { TableServerLoadAllHandler,
|
|
1
|
+
{"version":3,"file":"useTableServerLoading.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/features/useTableServerLoading.ts"],"sourcesContent":["import React from 'react';\nimport { TableServerLoadAllHandler, TableServerLoadPageHandler } from '../../types';\nimport { DEFAULT_PAGE_SIZE } from '../../useTableDataLoader';\n\nexport function useTableServerLoading<TType = unknown>(\n length: number,\n data: TType[],\n loadPage?: TableServerLoadPageHandler,\n loadAll?: TableServerLoadAllHandler,\n pages?: number[],\n pageSize = DEFAULT_PAGE_SIZE,\n _experimentalDataLoader2 = false\n) {\n const isEnabled = !!loadPage && !!loadAll;\n const [isReady, setReady] = React.useState(false);\n const [loading, setLoading] = React.useState<boolean>(false);\n\n const hasLoadedAll = React.useMemo(() => {\n if (data.length !== length || !!data.some?.(x => x === undefined)) {\n return false;\n }\n\n return true;\n }, [data, length]);\n\n let _loadPage: TableServerLoadPageHandler | undefined;\n let _loadAll: TableServerLoadAllHandler | undefined;\n let _loadAllIfNeeded: TableServerLoadAllHandler | undefined;\n\n if (typeof loadPage === 'function') {\n _loadPage = async (...args) => {\n if (typeof loadPage === 'function') {\n await loadPage(...args);\n setReady(true);\n }\n };\n }\n\n if (typeof loadAll === 'function') {\n _loadAll = async (...args) => {\n if (typeof loadAll === 'function') {\n setLoading(true);\n await loadAll(...args);\n setLoading(false);\n setReady(true);\n }\n };\n\n _loadAllIfNeeded = async (...args) => {\n if (!hasLoadedAll) {\n await _loadAll?.(...args);\n }\n };\n }\n\n const pageCount = Math.ceil(length / pageSize);\n\n return {\n pages,\n isEnabled,\n isReady,\n loadPage: _loadPage,\n loadAll: _loadAll,\n loadAllIfNeeded: _loadAllIfNeeded,\n loading,\n pageSize,\n pageCount,\n _experimentalDataLoader2,\n };\n}\n"],"names":["useTableServerLoading","length","data","loadPage","loadAll","pages","pageSize","_experimentalDataLoader2","DEFAULT_PAGE_SIZE","isEnabled","_React$useState","React","useState","isReady","setReady","_React$useState2","loading","setLoading","hasLoadedAll","useMemo","_data$some","some","call","x","undefined","_loadPage","_loadAll","_loadAllIfNeeded","_len","arguments","args","Array","_key","Promise","resolve","apply","then","_temp","e","reject","_len2","_key2","_temp2","_len3","_key3","_loadAll2","_temp3","pageCount","Math","ceil","loadAllIfNeeded"],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ function useTableSearchListener(table) {
|
|
|
26
26
|
if (meta.search.isEnabled) {
|
|
27
27
|
resetHighlightedColumnIndexes(query, table, localization);
|
|
28
28
|
}
|
|
29
|
-
}, [meta.server.
|
|
29
|
+
}, [meta.server.loading, meta.search.isEnabled, meta.search.enableGlobalFilter, table.getRowModel().rows.length, query, JSON.stringify(table.getState().sorting)]);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
export { useTableSearchListener };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableSearchListener.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/listeners/useTableSearchListener.ts"],"sourcesContent":["import { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { resetHighlightedColumnIndexes } from '../util/search';\nimport { useLocalization } from '../../../../components/Provider/Localization';\nimport { useLazyEffect } from '../../../../hooks/useLazyEffect';\nimport { getHiddenColumns } from '../util/columns';\n\nexport function useTableSearchListener<TType = unknown>(table: ReactTable<TType>) {\n const meta = table.options.meta as ReactTableMeta<TType>;\n const localization = useLocalization();\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n const query = table.getState().globalFilter;\n\n // Need to re-run search when columns are getting shown/hidden.\n useLazyEffect(() => {\n if (meta.search.isEnabled) {\n const currentFilter = query;\n requestAnimationFrame(() => {\n table.resetGlobalFilter();\n table.setGlobalFilter(currentFilter);\n });\n\n if (meta.search.handleSearch && meta.search.enableGlobalFilter && query) {\n meta.search.handleSearch(query, hiddenColumns);\n }\n }\n }, [hiddenColumns.length]);\n\n // recalculates highlighted indexes whenever something important changes\n useLazyEffect(() => {\n if (meta.search.isEnabled) {\n resetHighlightedColumnIndexes(query, table, localization);\n }\n }, [\n meta.server.
|
|
1
|
+
{"version":3,"file":"useTableSearchListener.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/listeners/useTableSearchListener.ts"],"sourcesContent":["import { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { resetHighlightedColumnIndexes } from '../util/search';\nimport { useLocalization } from '../../../../components/Provider/Localization';\nimport { useLazyEffect } from '../../../../hooks/useLazyEffect';\nimport { getHiddenColumns } from '../util/columns';\n\nexport function useTableSearchListener<TType = unknown>(table: ReactTable<TType>) {\n const meta = table.options.meta as ReactTableMeta<TType>;\n const localization = useLocalization();\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n const query = table.getState().globalFilter;\n\n // Need to re-run search when columns are getting shown/hidden.\n useLazyEffect(() => {\n if (meta.search.isEnabled) {\n const currentFilter = query;\n requestAnimationFrame(() => {\n table.resetGlobalFilter();\n table.setGlobalFilter(currentFilter);\n });\n\n if (meta.search.handleSearch && meta.search.enableGlobalFilter && query) {\n meta.search.handleSearch(query, hiddenColumns);\n }\n }\n }, [hiddenColumns.length]);\n\n // recalculates highlighted indexes whenever something important changes\n useLazyEffect(() => {\n if (meta.search.isEnabled) {\n resetHighlightedColumnIndexes(query, table, localization);\n }\n }, [\n meta.server.loading,\n meta.search.isEnabled,\n meta.search.enableGlobalFilter,\n table.getRowModel().rows.length,\n query,\n JSON.stringify(table.getState().sorting),\n ]);\n}\n"],"names":["useTableSearchListener","table","meta","options","localization","useLocalization","hiddenColumns","getHiddenColumns","getState","columnVisibility","query","globalFilter","useLazyEffect","search","isEnabled","currentFilter","requestAnimationFrame","resetGlobalFilter","setGlobalFilter","handleSearch","enableGlobalFilter","length","resetHighlightedColumnIndexes","server","loading","getRowModel","rows","JSON","stringify","sorting"],"mappings":";;;;;SAMgBA,sBAAsBA,CAAkBC,KAAwB;EAC5E,IAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAA6B;EACxD,IAAME,YAAY,GAAGC,eAAe,EAAE;EACtC,IAAMC,aAAa,GAAGC,gBAAgB,CAACN,KAAK,CAACO,QAAQ,EAAE,CAACC,gBAAgB,CAAC;EACzE,IAAMC,KAAK,GAAGT,KAAK,CAACO,QAAQ,EAAE,CAACG,YAAY;;EAG3CC,aAAa,CAAC;IACV,IAAIV,IAAI,CAACW,MAAM,CAACC,SAAS,EAAE;MACvB,IAAMC,aAAa,GAAGL,KAAK;MAC3BM,qBAAqB,CAAC;QAClBf,KAAK,CAACgB,iBAAiB,EAAE;QACzBhB,KAAK,CAACiB,eAAe,CAACH,aAAa,CAAC;OACvC,CAAC;MAEF,IAAIb,IAAI,CAACW,MAAM,CAACM,YAAY,IAAIjB,IAAI,CAACW,MAAM,CAACO,kBAAkB,IAAIV,KAAK,EAAE;QACrER,IAAI,CAACW,MAAM,CAACM,YAAY,CAACT,KAAK,EAAEJ,aAAa,CAAC;;;GAGzD,EAAE,CAACA,aAAa,CAACe,MAAM,CAAC,CAAC;;EAG1BT,aAAa,CAAC;IACV,IAAIV,IAAI,CAACW,MAAM,CAACC,SAAS,EAAE;MACvBQ,6BAA6B,CAACZ,KAAK,EAAET,KAAK,EAAEG,YAAY,CAAC;;GAEhE,EAAE,CACCF,IAAI,CAACqB,MAAM,CAACC,OAAO,EACnBtB,IAAI,CAACW,MAAM,CAACC,SAAS,EACrBZ,IAAI,CAACW,MAAM,CAACO,kBAAkB,EAC9BnB,KAAK,CAACwB,WAAW,EAAE,CAACC,IAAI,CAACL,MAAM,EAC/BX,KAAK,EACLiB,IAAI,CAACC,SAAS,CAAC3B,KAAK,CAACO,QAAQ,EAAE,CAACqB,OAAO,CAAC,CAC3C,CAAC;AACN;;;;"}
|
|
@@ -66,7 +66,7 @@ function useTableManager(props, meta, internalColumns) {
|
|
|
66
66
|
var rowHeight = useTableRowHeight(options.enableRowHeight, settings.rowHeight);
|
|
67
67
|
var rowSelection = useTableRowSelection(!!options.enableRowSelection);
|
|
68
68
|
var search = useTableSearch(options.enableSearch, props.onChangeSearch, settings.excludeUnmatchedRecordsInSearch);
|
|
69
|
-
var server = useTableServerLoading(length, props.loadPage, props.loadAll, props.pages, props.pageSize, props._experimentalDataLoader2);
|
|
69
|
+
var server = useTableServerLoading(length, data, props.loadPage, props.loadAll, props.pages, props.pageSize, props._experimentalDataLoader2);
|
|
70
70
|
// TODO: memoise
|
|
71
71
|
// convert jsx column components into valid table columns
|
|
72
72
|
var _mapTableChildrenToCo = mapTableChildrenToColumns(props, settings, options, internalColumns, localization),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableManager.js","sources":["../../../../../../../../src/primitives/Table/useTableManager/useTableManager.ts"],"sourcesContent":["import { useReactTable, TableMeta as ReactTableMeta, RowData, getCoreRowModel } from '@tanstack/react-table';\nimport {\n TableColumnAlignment,\n TableColumnClassNameHandler,\n TableColumnDataType,\n TableColumnMenu,\n TableColumnRenderer,\n TableColumnRendererControl,\n TableFilterComparator,\n TableProps,\n} from '../types';\nimport { useReactTableInitialState, configureReactTableOptions, mapTableChildrenToColumns } from './util/setup';\nimport { getTableFeaturePreset } from './util/presets';\nimport { useTableColumnFreezing } from './features/useTableColumnFreezing';\nimport { useTableColumnOrdering } from './features/useTableColumnOrdering';\nimport { useTableFooter } from './features/useTableFooter';\nimport { useTableFontSize } from './features/useTableFontSize';\nimport { useTablePrinting } from './features/useTablePrinting';\nimport { useTableRowActions } from './features/useTableRowActions';\nimport { useTableRowActive } from './features/useTableRowActive';\nimport { useTableRowClick } from './features/useTableRowClick';\nimport { useTableRowExpansion } from './features/useTableRowExpansion';\nimport { useTableRowGoto } from './features/useTableRowGoto';\nimport { useTableRowGroups } from './features/useTableRowGroups';\nimport { useTableRowHeight } from './features/useTableRowHeight';\nimport { useTableRowSelection } from './features/useTableRowSelection';\nimport { useTableSearch } from './features/useTableSearch';\nimport { useTableServerLoading } from './features/useTableServerLoading';\nimport { useTableSettings } from './features/useTableSettings';\nimport { useTableDataListener } from './listeners/useTableDataListener';\nimport { useTableFilterListener } from './listeners/useTableFilterListener';\nimport { useTableFontSizeListener } from './listeners/useTableFontSizeListener';\nimport { useTableRowHeightListener } from './listeners/useTableRowHeightListener';\nimport { useTableRowSelectionListener } from './listeners/useTableRowSelectionListener';\nimport { useTableSearchListener } from './listeners/useTableSearchListener';\nimport { useTableSettingsListener } from './listeners/useTableSettingsListener';\nimport { useTableShortcutsListener } from './listeners/useTableShortcutsListener';\nimport { useTableSortingListener } from './listeners/useTableSortingListener';\nimport { useTableServerLoadingListener } from './listeners/useTableServerLoadingListener';\nimport { useTableManagerInternalColumns } from './types';\nimport { useTableRowDrag } from './features/useTableRowDrag';\nimport { useTableRowDrop } from './features/useTableRowDrop';\nimport { useLocalization } from '../../../components/Provider/Localization';\n\n/*\n EDITING THIS FILE? READ ME FIRST!\n\n This is a shared, common hook for multiple tables. It's feature set is specifically chosen to support features\n common across those tables. If you are adding a new feature or changing an existing one, before writing any code\n in this file ask yourself the question - is this specific to a given table, or is it common to all of them.\n If you are unsure, ask your team first.\n*/\n\ndeclare module '@tanstack/table-core' {\n interface TableMeta<TData extends RowData> {\n columnFreezing: ReturnType<typeof useTableColumnFreezing>;\n columnOrdering: ReturnType<typeof useTableColumnOrdering>;\n fontSize: ReturnType<typeof useTableFontSize>;\n footer: ReturnType<typeof useTableFooter>;\n length: number;\n printing: ReturnType<typeof useTablePrinting>;\n rowActions: ReturnType<typeof useTableRowActions>;\n rowActive: ReturnType<typeof useTableRowActive>;\n rowClick: ReturnType<typeof useTableRowClick>;\n rowDrag: ReturnType<typeof useTableRowDrag>;\n rowDrop: ReturnType<typeof useTableRowDrop>;\n rowExpansion: ReturnType<typeof useTableRowExpansion>;\n rowGoto: ReturnType<typeof useTableRowGoto>;\n rowGroups: ReturnType<typeof useTableRowGroups>;\n rowHeight: ReturnType<typeof useTableRowHeight>;\n rowIdentityAccessor: keyof TData;\n rowSelection: ReturnType<typeof useTableRowSelection>;\n search: ReturnType<typeof useTableSearch>;\n server: ReturnType<typeof useTableServerLoading>;\n }\n\n interface ColumnMeta<TData extends RowData, TValue> {\n align?: TableColumnAlignment;\n className?: TableColumnClassNameHandler<TData>;\n control?: TableColumnRendererControl<TData>;\n dataType?: TableColumnDataType;\n defaultWidth?: number;\n enableEditing?: boolean;\n enableOrdering?: boolean;\n enablePrinting?: boolean;\n enableSearch?: boolean;\n enableTruncate?: boolean;\n filters?: TableFilterComparator[];\n header: string;\n headerClassName?: string;\n menu?: TableColumnMenu;\n renderer?: TableColumnRenderer<TValue, TData>;\n tooltip?: string;\n }\n}\n\n// Placed this array outside the hook to avoid creating a new array reference on each hook re-render\nconst DEFAULT_EMPTY_ARRAY = [];\n\nexport function useTableManager<TType = unknown, TMeta = {}>(\n props: TableProps<TType>,\n meta?: Partial<ReactTableMeta<TType>> & TMeta,\n internalColumns?: useTableManagerInternalColumns<TType>\n) {\n const localization = useLocalization();\n // CSS.escape would be best here, but it doesn't seem to work very well\n const safeId = props.id.replace('.', '_');\n // configure table options, merging props with presets\n const options = getTableFeaturePreset(props);\n\n // load any persisted table settings and merge them with any defaults\n const [settings, setSettings] = useTableSettings(\n options.enableSaveSettings,\n safeId,\n props.defaultSettings,\n props.onChangeSettings\n );\n\n // ensure data is always valid\n const data = props.data ?? DEFAULT_EMPTY_ARRAY;\n const length = props.length ?? data.length;\n\n // configure common custom features\n const columnFreezing = useTableColumnFreezing(options.enableColumnFreezing);\n const columnOrdering = useTableColumnOrdering(options.enableColumnOrdering);\n const fontSize = useTableFontSize(options.enableFontSize, settings.fontSize);\n const footer = useTableFooter(options.enableFooter);\n const printing = useTablePrinting(options.enablePrinting, safeId);\n const rowActive = useTableRowActive(options.enableRowActive, props.defaultRowActiveIndex);\n const rowActions = useTableRowActions<TType>(options.enableRowActions, props.rowActions, props.rowActionsLength);\n const rowClick = useTableRowClick<TType>(options.enableRowClick, props.onRowClick);\n const rowDrag = useTableRowDrag<TType>(options.enableRowDrag && !meta?.editing?.isEditing, props.onRowDrag);\n const rowDrop = useTableRowDrop<TType>(options.enableRowDrop, props.onRowDrop);\n const rowExpansion = useTableRowExpansion<TType>(\n options.enableRowExpansion,\n options.enableRowExpansionAll,\n props.rowExpansionRenderer\n );\n const rowGoto = useTableRowGoto(options.enableRowGoto, props.onRowGoto);\n const rowGroups = useTableRowGroups(props.rowActionsForGroup);\n const rowHeight = useTableRowHeight(options.enableRowHeight, settings.rowHeight);\n const rowSelection = useTableRowSelection(!!options.enableRowSelection);\n const search = useTableSearch(options.enableSearch, props.onChangeSearch, settings.excludeUnmatchedRecordsInSearch);\n const server = useTableServerLoading(\n length,\n props.loadPage,\n props.loadAll,\n props.pages,\n props.pageSize,\n props._experimentalDataLoader2\n );\n\n // TODO: memoise\n // convert jsx column components into valid table columns\n const { columns, ...defaultState } = mapTableChildrenToColumns<TType>(\n props,\n settings,\n options,\n internalColumns,\n localization\n );\n\n // configure initial table state\n const initialState = useReactTableInitialState<TType>(props, columns, settings, defaultState);\n\n // create a react-table instance\n const instance = useReactTable<TType>({\n data,\n columns,\n // configure initial table state\n initialState,\n getCoreRowModel: getCoreRowModel<TType>(),\n // configure react-table built-in features\n ...configureReactTableOptions<TType>(options, props, localization),\n // settings that can be toggled by the user, and therefore require our own state\n enableGlobalFilter: search.enableGlobalFilter,\n // custom context\n meta: {\n // spread features from specific implementations\n ...meta,\n columnFreezing,\n columnOrdering,\n fontSize,\n footer,\n length,\n printing,\n rowActions: rowActions as any, // no other way around ReturnType<typeof X> not supporting generics\n rowActive,\n rowClick: rowClick as any, // no other way around ReturnType<typeof X> not supporting generics\n rowDrag,\n rowDrop: rowDrop as any, // no other way around ReturnType<typeof X> not supporting generics\n rowExpansion: rowExpansion as any, // no other way around ReturnType<typeof X> not supporting generics\n rowIdentityAccessor: props.rowIdentityAccessor,\n rowGoto,\n rowGroups: rowGroups as any, // no other way around ReturnType<typeof X> not supporting generics\n rowHeight,\n rowSelection,\n search,\n server,\n } as ReactTableMeta<TType> & TMeta,\n });\n\n // state listeners - we have these so that we don't have to control state outside the table\n useTableDataListener(instance);\n useTableFilterListener(instance, props.onChangeFilter);\n useTableFontSizeListener(instance);\n useTableRowHeightListener(instance);\n useTableRowSelectionListener(instance, props.onRowSelect);\n useTableSearchListener(instance);\n useTableServerLoadingListener(instance, server.loadPage);\n useTableSettingsListener(instance, setSettings);\n useTableShortcutsListener(instance, props.shortcuts);\n useTableSortingListener(instance, props.onChangeSort);\n\n return {\n id: safeId,\n instance,\n meta: (instance.options.meta ?? {}) as ReactTableMeta<TType> & TMeta,\n state: instance.getState(),\n };\n}\n"],"names":["DEFAULT_EMPTY_ARRAY","useTableManager","props","meta","internalColumns","localization","useLocalization","safeId","id","replace","options","getTableFeaturePreset","_useTableSettings","useTableSettings","enableSaveSettings","defaultSettings","onChangeSettings","settings","setSettings","data","_props$data","length","_props$length","columnFreezing","useTableColumnFreezing","enableColumnFreezing","columnOrdering","useTableColumnOrdering","enableColumnOrdering","fontSize","useTableFontSize","enableFontSize","footer","useTableFooter","enableFooter","printing","useTablePrinting","enablePrinting","rowActive","useTableRowActive","enableRowActive","defaultRowActiveIndex","rowActions","useTableRowActions","enableRowActions","rowActionsLength","rowClick","useTableRowClick","enableRowClick","onRowClick","rowDrag","useTableRowDrag","enableRowDrag","_meta$editing","editing","isEditing","onRowDrag","rowDrop","useTableRowDrop","enableRowDrop","onRowDrop","rowExpansion","useTableRowExpansion","enableRowExpansion","enableRowExpansionAll","rowExpansionRenderer","rowGoto","useTableRowGoto","enableRowGoto","onRowGoto","rowGroups","useTableRowGroups","rowActionsForGroup","rowHeight","useTableRowHeight","enableRowHeight","rowSelection","useTableRowSelection","enableRowSelection","search","useTableSearch","enableSearch","onChangeSearch","excludeUnmatchedRecordsInSearch","server","useTableServerLoading","loadPage","loadAll","pages","pageSize","_experimentalDataLoader2","_mapTableChildrenToCo","mapTableChildrenToColumns","columns","defaultState","_objectWithoutPropertiesLoose","_excluded","initialState","useReactTableInitialState","instance","useReactTable","_extends","getCoreRowModel","configureReactTableOptions","enableGlobalFilter","rowIdentityAccessor","useTableDataListener","useTableFilterListener","onChangeFilter","useTableFontSizeListener","useTableRowHeightListener","useTableRowSelectionListener","onRowSelect","useTableSearchListener","useTableServerLoadingListener","useTableSettingsListener","useTableShortcutsListener","shortcuts","useTableSortingListener","onChangeSort","_instance$options$met","state","getState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTableManager.js","sources":["../../../../../../../../src/primitives/Table/useTableManager/useTableManager.ts"],"sourcesContent":["import { useReactTable, TableMeta as ReactTableMeta, RowData, getCoreRowModel } from '@tanstack/react-table';\nimport {\n TableColumnAlignment,\n TableColumnClassNameHandler,\n TableColumnDataType,\n TableColumnMenu,\n TableColumnRenderer,\n TableColumnRendererControl,\n TableFilterComparator,\n TableProps,\n} from '../types';\nimport { useReactTableInitialState, configureReactTableOptions, mapTableChildrenToColumns } from './util/setup';\nimport { getTableFeaturePreset } from './util/presets';\nimport { useTableColumnFreezing } from './features/useTableColumnFreezing';\nimport { useTableColumnOrdering } from './features/useTableColumnOrdering';\nimport { useTableFooter } from './features/useTableFooter';\nimport { useTableFontSize } from './features/useTableFontSize';\nimport { useTablePrinting } from './features/useTablePrinting';\nimport { useTableRowActions } from './features/useTableRowActions';\nimport { useTableRowActive } from './features/useTableRowActive';\nimport { useTableRowClick } from './features/useTableRowClick';\nimport { useTableRowExpansion } from './features/useTableRowExpansion';\nimport { useTableRowGoto } from './features/useTableRowGoto';\nimport { useTableRowGroups } from './features/useTableRowGroups';\nimport { useTableRowHeight } from './features/useTableRowHeight';\nimport { useTableRowSelection } from './features/useTableRowSelection';\nimport { useTableSearch } from './features/useTableSearch';\nimport { useTableServerLoading } from './features/useTableServerLoading';\nimport { useTableSettings } from './features/useTableSettings';\nimport { useTableDataListener } from './listeners/useTableDataListener';\nimport { useTableFilterListener } from './listeners/useTableFilterListener';\nimport { useTableFontSizeListener } from './listeners/useTableFontSizeListener';\nimport { useTableRowHeightListener } from './listeners/useTableRowHeightListener';\nimport { useTableRowSelectionListener } from './listeners/useTableRowSelectionListener';\nimport { useTableSearchListener } from './listeners/useTableSearchListener';\nimport { useTableSettingsListener } from './listeners/useTableSettingsListener';\nimport { useTableShortcutsListener } from './listeners/useTableShortcutsListener';\nimport { useTableSortingListener } from './listeners/useTableSortingListener';\nimport { useTableServerLoadingListener } from './listeners/useTableServerLoadingListener';\nimport { useTableManagerInternalColumns } from './types';\nimport { useTableRowDrag } from './features/useTableRowDrag';\nimport { useTableRowDrop } from './features/useTableRowDrop';\nimport { useLocalization } from '../../../components/Provider/Localization';\n\n/*\n EDITING THIS FILE? READ ME FIRST!\n\n This is a shared, common hook for multiple tables. It's feature set is specifically chosen to support features\n common across those tables. If you are adding a new feature or changing an existing one, before writing any code\n in this file ask yourself the question - is this specific to a given table, or is it common to all of them.\n If you are unsure, ask your team first.\n*/\n\ndeclare module '@tanstack/table-core' {\n interface TableMeta<TData extends RowData> {\n columnFreezing: ReturnType<typeof useTableColumnFreezing>;\n columnOrdering: ReturnType<typeof useTableColumnOrdering>;\n fontSize: ReturnType<typeof useTableFontSize>;\n footer: ReturnType<typeof useTableFooter>;\n length: number;\n printing: ReturnType<typeof useTablePrinting>;\n rowActions: ReturnType<typeof useTableRowActions>;\n rowActive: ReturnType<typeof useTableRowActive>;\n rowClick: ReturnType<typeof useTableRowClick>;\n rowDrag: ReturnType<typeof useTableRowDrag>;\n rowDrop: ReturnType<typeof useTableRowDrop>;\n rowExpansion: ReturnType<typeof useTableRowExpansion>;\n rowGoto: ReturnType<typeof useTableRowGoto>;\n rowGroups: ReturnType<typeof useTableRowGroups>;\n rowHeight: ReturnType<typeof useTableRowHeight>;\n rowIdentityAccessor: keyof TData;\n rowSelection: ReturnType<typeof useTableRowSelection>;\n search: ReturnType<typeof useTableSearch>;\n server: ReturnType<typeof useTableServerLoading>;\n }\n\n interface ColumnMeta<TData extends RowData, TValue> {\n align?: TableColumnAlignment;\n className?: TableColumnClassNameHandler<TData>;\n control?: TableColumnRendererControl<TData>;\n dataType?: TableColumnDataType;\n defaultWidth?: number;\n enableEditing?: boolean;\n enableOrdering?: boolean;\n enablePrinting?: boolean;\n enableSearch?: boolean;\n enableTruncate?: boolean;\n filters?: TableFilterComparator[];\n header: string;\n headerClassName?: string;\n menu?: TableColumnMenu;\n renderer?: TableColumnRenderer<TValue, TData>;\n tooltip?: string;\n }\n}\n\n// Placed this array outside the hook to avoid creating a new array reference on each hook re-render\nconst DEFAULT_EMPTY_ARRAY = [];\n\nexport function useTableManager<TType = unknown, TMeta = {}>(\n props: TableProps<TType>,\n meta?: Partial<ReactTableMeta<TType>> & TMeta,\n internalColumns?: useTableManagerInternalColumns<TType>\n) {\n const localization = useLocalization();\n // CSS.escape would be best here, but it doesn't seem to work very well\n const safeId = props.id.replace('.', '_');\n // configure table options, merging props with presets\n const options = getTableFeaturePreset(props);\n\n // load any persisted table settings and merge them with any defaults\n const [settings, setSettings] = useTableSettings(\n options.enableSaveSettings,\n safeId,\n props.defaultSettings,\n props.onChangeSettings\n );\n\n // ensure data is always valid\n const data = props.data ?? DEFAULT_EMPTY_ARRAY;\n const length = props.length ?? data.length;\n\n // configure common custom features\n const columnFreezing = useTableColumnFreezing(options.enableColumnFreezing);\n const columnOrdering = useTableColumnOrdering(options.enableColumnOrdering);\n const fontSize = useTableFontSize(options.enableFontSize, settings.fontSize);\n const footer = useTableFooter(options.enableFooter);\n const printing = useTablePrinting(options.enablePrinting, safeId);\n const rowActive = useTableRowActive(options.enableRowActive, props.defaultRowActiveIndex);\n const rowActions = useTableRowActions<TType>(options.enableRowActions, props.rowActions, props.rowActionsLength);\n const rowClick = useTableRowClick<TType>(options.enableRowClick, props.onRowClick);\n const rowDrag = useTableRowDrag<TType>(options.enableRowDrag && !meta?.editing?.isEditing, props.onRowDrag);\n const rowDrop = useTableRowDrop<TType>(options.enableRowDrop, props.onRowDrop);\n const rowExpansion = useTableRowExpansion<TType>(\n options.enableRowExpansion,\n options.enableRowExpansionAll,\n props.rowExpansionRenderer\n );\n const rowGoto = useTableRowGoto(options.enableRowGoto, props.onRowGoto);\n const rowGroups = useTableRowGroups(props.rowActionsForGroup);\n const rowHeight = useTableRowHeight(options.enableRowHeight, settings.rowHeight);\n const rowSelection = useTableRowSelection(!!options.enableRowSelection);\n const search = useTableSearch(options.enableSearch, props.onChangeSearch, settings.excludeUnmatchedRecordsInSearch);\n const server = useTableServerLoading(\n length,\n data,\n props.loadPage,\n props.loadAll,\n props.pages,\n props.pageSize,\n props._experimentalDataLoader2\n );\n\n // TODO: memoise\n // convert jsx column components into valid table columns\n const { columns, ...defaultState } = mapTableChildrenToColumns<TType>(\n props,\n settings,\n options,\n internalColumns,\n localization\n );\n\n // configure initial table state\n const initialState = useReactTableInitialState<TType>(props, columns, settings, defaultState);\n\n // create a react-table instance\n const instance = useReactTable<TType>({\n data,\n columns,\n // configure initial table state\n initialState,\n getCoreRowModel: getCoreRowModel<TType>(),\n // configure react-table built-in features\n ...configureReactTableOptions<TType>(options, props, localization),\n // settings that can be toggled by the user, and therefore require our own state\n enableGlobalFilter: search.enableGlobalFilter,\n // custom context\n meta: {\n // spread features from specific implementations\n ...meta,\n columnFreezing,\n columnOrdering,\n fontSize,\n footer,\n length,\n printing,\n rowActions: rowActions as any, // no other way around ReturnType<typeof X> not supporting generics\n rowActive,\n rowClick: rowClick as any, // no other way around ReturnType<typeof X> not supporting generics\n rowDrag,\n rowDrop: rowDrop as any, // no other way around ReturnType<typeof X> not supporting generics\n rowExpansion: rowExpansion as any, // no other way around ReturnType<typeof X> not supporting generics\n rowIdentityAccessor: props.rowIdentityAccessor,\n rowGoto,\n rowGroups: rowGroups as any, // no other way around ReturnType<typeof X> not supporting generics\n rowHeight,\n rowSelection,\n search,\n server,\n } as ReactTableMeta<TType> & TMeta,\n });\n\n // state listeners - we have these so that we don't have to control state outside the table\n useTableDataListener(instance);\n useTableFilterListener(instance, props.onChangeFilter);\n useTableFontSizeListener(instance);\n useTableRowHeightListener(instance);\n useTableRowSelectionListener(instance, props.onRowSelect);\n useTableSearchListener(instance);\n useTableServerLoadingListener(instance, server.loadPage);\n useTableSettingsListener(instance, setSettings);\n useTableShortcutsListener(instance, props.shortcuts);\n useTableSortingListener(instance, props.onChangeSort);\n\n return {\n id: safeId,\n instance,\n meta: (instance.options.meta ?? {}) as ReactTableMeta<TType> & TMeta,\n state: instance.getState(),\n };\n}\n"],"names":["DEFAULT_EMPTY_ARRAY","useTableManager","props","meta","internalColumns","localization","useLocalization","safeId","id","replace","options","getTableFeaturePreset","_useTableSettings","useTableSettings","enableSaveSettings","defaultSettings","onChangeSettings","settings","setSettings","data","_props$data","length","_props$length","columnFreezing","useTableColumnFreezing","enableColumnFreezing","columnOrdering","useTableColumnOrdering","enableColumnOrdering","fontSize","useTableFontSize","enableFontSize","footer","useTableFooter","enableFooter","printing","useTablePrinting","enablePrinting","rowActive","useTableRowActive","enableRowActive","defaultRowActiveIndex","rowActions","useTableRowActions","enableRowActions","rowActionsLength","rowClick","useTableRowClick","enableRowClick","onRowClick","rowDrag","useTableRowDrag","enableRowDrag","_meta$editing","editing","isEditing","onRowDrag","rowDrop","useTableRowDrop","enableRowDrop","onRowDrop","rowExpansion","useTableRowExpansion","enableRowExpansion","enableRowExpansionAll","rowExpansionRenderer","rowGoto","useTableRowGoto","enableRowGoto","onRowGoto","rowGroups","useTableRowGroups","rowActionsForGroup","rowHeight","useTableRowHeight","enableRowHeight","rowSelection","useTableRowSelection","enableRowSelection","search","useTableSearch","enableSearch","onChangeSearch","excludeUnmatchedRecordsInSearch","server","useTableServerLoading","loadPage","loadAll","pages","pageSize","_experimentalDataLoader2","_mapTableChildrenToCo","mapTableChildrenToColumns","columns","defaultState","_objectWithoutPropertiesLoose","_excluded","initialState","useReactTableInitialState","instance","useReactTable","_extends","getCoreRowModel","configureReactTableOptions","enableGlobalFilter","rowIdentityAccessor","useTableDataListener","useTableFilterListener","onChangeFilter","useTableFontSizeListener","useTableRowHeightListener","useTableRowSelectionListener","onRowSelect","useTableSearchListener","useTableServerLoadingListener","useTableSettingsListener","useTableShortcutsListener","shortcuts","useTableSortingListener","onChangeSort","_instance$options$met","state","getState"],"mappings":"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"}
|
|
@@ -17,15 +17,12 @@ function shouldTriggerShortcut(event, key) {
|
|
|
17
17
|
}
|
|
18
18
|
return event.key.toLowerCase() === keyOptions.key.toLowerCase();
|
|
19
19
|
}
|
|
20
|
-
function createShortcutKeyDownHandler(key, handler, stopPropagation
|
|
20
|
+
function createShortcutKeyDownHandler(key, handler, stopPropagation) {
|
|
21
21
|
if (stopPropagation === void 0) {
|
|
22
22
|
stopPropagation = true;
|
|
23
23
|
}
|
|
24
24
|
return function (event) {
|
|
25
|
-
|
|
26
|
-
var isOutsideDialog = element && dialog && !dialog.contains(element);
|
|
27
|
-
if (event.target !== event.currentTarget && isElementInteractive(event.target) && !isPressingMetaKey(event) || isOutsideDialog // Avoid triggering shortcut if dialog is open and element is outside the dialog
|
|
28
|
-
) {
|
|
25
|
+
if (event.target !== event.currentTarget && isElementInteractive(event.target) && !isPressingMetaKey(event)) {
|
|
29
26
|
return;
|
|
30
27
|
}
|
|
31
28
|
var condition = shouldTriggerShortcut(event, key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard.js","sources":["../../../../../../src/utils/keyboard.ts"],"sourcesContent":["import React from 'react';\nimport { isElementInteractive } from './dom';\n\nexport type KeyDownHandlerOptions = { key: string; meta?: boolean; shift?: boolean };\n\nexport function isPressingMetaKey<T = Element>(event: KeyboardEvent | React.KeyboardEvent<T>) {\n return isMacOs() ? event.metaKey : event.ctrlKey;\n}\n\nexport function shouldTriggerShortcut<T = Element>(\n event: KeyboardEvent | React.KeyboardEvent<T>,\n key: string | KeyDownHandlerOptions\n) {\n const keyOptions: KeyDownHandlerOptions = typeof key === 'string' ? { key, meta: false, shift: false } : key;\n\n if (\n (keyOptions.meta && (isMacOs() ? !event.metaKey : !event.ctrlKey)) ||\n (!keyOptions.meta && (isMacOs() ? event.metaKey : event.ctrlKey))\n ) {\n return false;\n }\n\n if ((keyOptions.shift && !event.shiftKey) || (keyOptions.shift === false && event.shiftKey)) {\n return false;\n }\n\n return event.key.toLowerCase() === keyOptions.key.toLowerCase();\n}\n\nexport function createShortcutKeyDownHandler<T = Element>(\n key: string | KeyDownHandlerOptions,\n handler: (event: KeyboardEvent | React.KeyboardEvent<T>) => void,\n stopPropagation = true
|
|
1
|
+
{"version":3,"file":"keyboard.js","sources":["../../../../../../src/utils/keyboard.ts"],"sourcesContent":["import React from 'react';\nimport { isElementInteractive } from './dom';\n\nexport type KeyDownHandlerOptions = { key: string; meta?: boolean; shift?: boolean };\n\nexport function isPressingMetaKey<T = Element>(event: KeyboardEvent | React.KeyboardEvent<T>) {\n return isMacOs() ? event.metaKey : event.ctrlKey;\n}\n\nexport function shouldTriggerShortcut<T = Element>(\n event: KeyboardEvent | React.KeyboardEvent<T>,\n key: string | KeyDownHandlerOptions\n) {\n const keyOptions: KeyDownHandlerOptions = typeof key === 'string' ? { key, meta: false, shift: false } : key;\n\n if (\n (keyOptions.meta && (isMacOs() ? !event.metaKey : !event.ctrlKey)) ||\n (!keyOptions.meta && (isMacOs() ? event.metaKey : event.ctrlKey))\n ) {\n return false;\n }\n\n if ((keyOptions.shift && !event.shiftKey) || (keyOptions.shift === false && event.shiftKey)) {\n return false;\n }\n\n return event.key.toLowerCase() === keyOptions.key.toLowerCase();\n}\n\nexport function createShortcutKeyDownHandler<T = Element>(\n key: string | KeyDownHandlerOptions,\n handler: (event: KeyboardEvent | React.KeyboardEvent<T>) => void,\n stopPropagation = true\n) {\n return function (event: KeyboardEvent | React.KeyboardEvent<T>) {\n if (\n event.target !== event.currentTarget &&\n isElementInteractive(event.target as HTMLElement) &&\n !isPressingMetaKey(event)\n ) {\n return;\n }\n\n const condition = shouldTriggerShortcut(event, key);\n\n if (condition) {\n if (stopPropagation) {\n // stops react handlers bubbling up to global\n event.stopPropagation();\n // stops global handlers bubbling up to other global\n (event as KeyboardEvent).stopImmediatePropagation?.();\n }\n\n handler(event);\n }\n };\n}\n\nexport const isMacOs = () => window?.navigator.userAgent.includes('Mac');\n"],"names":["isPressingMetaKey","event","isMacOs","metaKey","ctrlKey","shouldTriggerShortcut","key","keyOptions","meta","shift","shiftKey","toLowerCase","createShortcutKeyDownHandler","handler","stopPropagation","target","currentTarget","isElementInteractive","condition","_event$stopImmediateP","stopImmediatePropagation","call","_window","window","navigator","userAgent","includes"],"mappings":";;SAKgBA,iBAAiBA,CAAcC,KAA6C;EACxF,OAAOC,OAAO,EAAE,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK,CAACG,OAAO;AACpD;SAEgBC,qBAAqBA,CACjCJ,KAA6C,EAC7CK,GAAmC;EAEnC,IAAMC,UAAU,GAA0B,OAAOD,GAAG,KAAK,QAAQ,GAAG;IAAEA,GAAG,EAAHA,GAAG;IAAEE,IAAI,EAAE,KAAK;IAAEC,KAAK,EAAE;GAAO,GAAGH,GAAG;EAE5G,IACKC,UAAU,CAACC,IAAI,KAAKN,OAAO,EAAE,GAAG,CAACD,KAAK,CAACE,OAAO,GAAG,CAACF,KAAK,CAACG,OAAO,CAAC,IAChE,CAACG,UAAU,CAACC,IAAI,KAAKN,OAAO,EAAE,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK,CAACG,OAAO,CAAE,EACnE;IACE,OAAO,KAAK;;EAGhB,IAAKG,UAAU,CAACE,KAAK,IAAI,CAACR,KAAK,CAACS,QAAQ,IAAMH,UAAU,CAACE,KAAK,KAAK,KAAK,IAAIR,KAAK,CAACS,QAAS,EAAE;IACzF,OAAO,KAAK;;EAGhB,OAAOT,KAAK,CAACK,GAAG,CAACK,WAAW,EAAE,KAAKJ,UAAU,CAACD,GAAG,CAACK,WAAW,EAAE;AACnE;SAEgBC,4BAA4BA,CACxCN,GAAmC,EACnCO,OAAgE,EAChEC,eAAe;MAAfA,eAAe;IAAfA,eAAe,GAAG,IAAI;;EAEtB,OAAO,UAAUb,KAA6C;IAC1D,IACIA,KAAK,CAACc,MAAM,KAAKd,KAAK,CAACe,aAAa,IACpCC,oBAAoB,CAAChB,KAAK,CAACc,MAAqB,CAAC,IACjD,CAACf,iBAAiB,CAACC,KAAK,CAAC,EAC3B;MACE;;IAGJ,IAAMiB,SAAS,GAAGb,qBAAqB,CAACJ,KAAK,EAAEK,GAAG,CAAC;IAEnD,IAAIY,SAAS,EAAE;MACX,IAAIJ,eAAe,EAAE;QAAA,IAAAK,qBAAA;;QAEjBlB,KAAK,CAACa,eAAe,EAAE;;QAEtB,CAAAK,qBAAA,GAAAlB,KAAuB,CAACmB,wBAAwB,cAAAD,qBAAA,uBAAhDA,qBAAA,CAAAE,IAAA,CAAApB,MAAoD;;MAGzDY,OAAO,CAACZ,KAAK,CAAC;;GAErB;AACL;IAEaC,OAAO,GAAG,SAAVA,OAAOA;EAAA,IAAAoB,OAAA;EAAA,QAAAA,OAAA,GAASC,MAAM,cAAAD,OAAA,uBAANA,OAAA,CAAQE,SAAS,CAACC,SAAS,CAACC,QAAQ,CAAC,KAAK,CAAC;AAAA;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { KeyDownHandlerOptions } from '../utils/keyboard';
|
|
2
|
-
export declare const useGlobalKeyDown: (shortcut: string | KeyDownHandlerOptions | undefined, handler: (event: KeyboardEvent) => void
|
|
2
|
+
export declare const useGlobalKeyDown: (shortcut: string | KeyDownHandlerOptions | undefined, handler: (event: KeyboardEvent) => void) => void;
|
|
@@ -90,11 +90,6 @@ export declare type TableScrollToIndexHandler = (index: number, options?: {
|
|
|
90
90
|
}) => void;
|
|
91
91
|
export declare type TableServerLoadPageHandler = (pageIndex: number, sorting: TableColumnSort[], filters: TableColumnFilter[], search: string | undefined, hiddenColumns: string[]) => Promise<void>;
|
|
92
92
|
export declare type TableServerLoadAllHandler = (sorting: TableColumnSort[], filters: TableColumnFilter[], search: string | undefined, hiddenColumns: string[]) => Promise<void>;
|
|
93
|
-
export declare enum TableServerLoadAllState {
|
|
94
|
-
Incomplete = 0,
|
|
95
|
-
Loading = 1,
|
|
96
|
-
Completed = 2
|
|
97
|
-
}
|
|
98
93
|
export declare type TableSettingsHandler = (settings: TableSettings) => void | Promise<void>;
|
|
99
94
|
export declare type TableShortcuts<TType = unknown> = Record<string, TableShortcutHandlerFn<TType> | TableShortcutHandlerObject<TType>>;
|
|
100
95
|
export declare type TableCustomSettingsRenderer = (props: TableSettings) => React.ReactElement<MenuItemProps>[];
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { TableServerLoadAllHandler,
|
|
2
|
-
export declare function useTableServerLoading(length: number, loadPage?: TableServerLoadPageHandler, loadAll?: TableServerLoadAllHandler, pages?: number[], pageSize?: number, _experimentalDataLoader2?: boolean): {
|
|
1
|
+
import { TableServerLoadAllHandler, TableServerLoadPageHandler } from '../../types';
|
|
2
|
+
export declare function useTableServerLoading<TType = unknown>(length: number, data: TType[], loadPage?: TableServerLoadPageHandler, loadAll?: TableServerLoadAllHandler, pages?: number[], pageSize?: number, _experimentalDataLoader2?: boolean): {
|
|
3
3
|
pages: number[] | undefined;
|
|
4
4
|
isEnabled: boolean;
|
|
5
5
|
isReady: boolean;
|
|
6
6
|
loadPage: TableServerLoadPageHandler | undefined;
|
|
7
7
|
loadAll: TableServerLoadAllHandler | undefined;
|
|
8
8
|
loadAllIfNeeded: TableServerLoadAllHandler | undefined;
|
|
9
|
-
|
|
9
|
+
loading: boolean;
|
|
10
10
|
pageSize: number;
|
|
11
11
|
pageCount: number;
|
|
12
12
|
_experimentalDataLoader2: boolean;
|
|
@@ -4453,15 +4453,12 @@ function shouldTriggerShortcut(event, key) {
|
|
|
4453
4453
|
}
|
|
4454
4454
|
return event.key.toLowerCase() === keyOptions.key.toLowerCase();
|
|
4455
4455
|
}
|
|
4456
|
-
function createShortcutKeyDownHandler(key, handler, stopPropagation
|
|
4456
|
+
function createShortcutKeyDownHandler(key, handler, stopPropagation) {
|
|
4457
4457
|
if (stopPropagation === void 0) {
|
|
4458
4458
|
stopPropagation = true;
|
|
4459
4459
|
}
|
|
4460
4460
|
return function (event) {
|
|
4461
|
-
|
|
4462
|
-
var isOutsideDialog = element && dialog && !dialog.contains(element);
|
|
4463
|
-
if (event.target !== event.currentTarget && isElementInteractive(event.target) && !isPressingMetaKey(event) || isOutsideDialog // Avoid triggering shortcut if dialog is open and element is outside the dialog
|
|
4464
|
-
) {
|
|
4461
|
+
if (event.target !== event.currentTarget && isElementInteractive(event.target) && !isPressingMetaKey(event)) {
|
|
4465
4462
|
return;
|
|
4466
4463
|
}
|
|
4467
4464
|
var condition = shouldTriggerShortcut(event, key);
|
|
@@ -4482,11 +4479,11 @@ var isMacOs = function isMacOs() {
|
|
|
4482
4479
|
return (_window = window) === null || _window === void 0 ? void 0 : _window.navigator.userAgent.includes('Mac');
|
|
4483
4480
|
};
|
|
4484
4481
|
|
|
4485
|
-
var useGlobalKeyDown = function useGlobalKeyDown(shortcut, handler
|
|
4482
|
+
var useGlobalKeyDown = function useGlobalKeyDown(shortcut, handler) {
|
|
4486
4483
|
React__default.useEffect(function () {
|
|
4487
4484
|
var handleKeyDown;
|
|
4488
4485
|
if (shortcut) {
|
|
4489
|
-
handleKeyDown = createShortcutKeyDownHandler(shortcut, handler, false
|
|
4486
|
+
handleKeyDown = createShortcutKeyDownHandler(shortcut, handler, false);
|
|
4490
4487
|
document.addEventListener('keydown', handleKeyDown);
|
|
4491
4488
|
}
|
|
4492
4489
|
return function () {
|
|
@@ -4509,8 +4506,13 @@ var Button = /*#__PURE__*/React.forwardRef(function Button(props, ref) {
|
|
|
4509
4506
|
useGlobalKeyDown(shortcut, function (event) {
|
|
4510
4507
|
var _internalRef$current;
|
|
4511
4508
|
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
4509
|
+
var dialog = document.querySelector('[role="dialog"]');
|
|
4510
|
+
// Don't trigger the click on the button if it is outside of the dialog
|
|
4511
|
+
if (dialog && !(dialog !== null && dialog !== void 0 && dialog.contains(internalRef.current))) {
|
|
4512
|
+
return;
|
|
4513
|
+
}
|
|
4512
4514
|
(_internalRef$current = internalRef.current) === null || _internalRef$current === void 0 ? void 0 : _internalRef$current.click();
|
|
4513
|
-
}
|
|
4515
|
+
});
|
|
4514
4516
|
var Tag = props.href ? 'a' : 'button';
|
|
4515
4517
|
return /*#__PURE__*/React.createElement(Tag, Object.assign({}, otherProps, {
|
|
4516
4518
|
href: disabled ? undefined : props.href,
|
|
@@ -8537,12 +8539,17 @@ var Content$8 = /*#__PURE__*/React.forwardRef(function MenuContent(props, ref) {
|
|
|
8537
8539
|
if (child.props.shortcut) {
|
|
8538
8540
|
shortcuts.push(createShortcutKeyDownHandler(child.props.shortcut, function (event) {
|
|
8539
8541
|
event.preventDefault();
|
|
8542
|
+
var dialog = document.querySelector('[role="dialog"]');
|
|
8543
|
+
// Don't trigger the shortcut if it is outside of the dialog
|
|
8544
|
+
if (dialog && !(dialog !== null && dialog !== void 0 && dialog.contains(internalRef.current))) {
|
|
8545
|
+
return;
|
|
8546
|
+
}
|
|
8540
8547
|
menu === null || menu === void 0 ? void 0 : menu.open();
|
|
8541
8548
|
setTimeout(function () {
|
|
8542
8549
|
var _childrenRefs$current, _childrenRefs$current2;
|
|
8543
8550
|
return (_childrenRefs$current = childrenRefs.current[index]) === null || _childrenRefs$current === void 0 ? void 0 : (_childrenRefs$current2 = _childrenRefs$current.current) === null || _childrenRefs$current2 === void 0 ? void 0 : _childrenRefs$current2.click();
|
|
8544
8551
|
}, 1);
|
|
8545
|
-
}
|
|
8552
|
+
}));
|
|
8546
8553
|
}
|
|
8547
8554
|
});
|
|
8548
8555
|
shortcuts.forEach(function (handler) {
|
|
@@ -10235,11 +10242,6 @@ var fixedForwardRef = React__default.forwardRef;
|
|
|
10235
10242
|
TableFilterComparator[TableFilterComparator["HasAllOf"] = 12] = "HasAllOf";
|
|
10236
10243
|
TableFilterComparator[TableFilterComparator["HasNoneOf"] = 13] = "HasNoneOf";
|
|
10237
10244
|
})(exports.TableFilterComparator || (exports.TableFilterComparator = {}));
|
|
10238
|
-
(function (TableServerLoadAllState) {
|
|
10239
|
-
TableServerLoadAllState[TableServerLoadAllState["Incomplete"] = 0] = "Incomplete";
|
|
10240
|
-
TableServerLoadAllState[TableServerLoadAllState["Loading"] = 1] = "Loading";
|
|
10241
|
-
TableServerLoadAllState[TableServerLoadAllState["Completed"] = 2] = "Completed";
|
|
10242
|
-
})(exports.TableServerLoadAllState || (exports.TableServerLoadAllState = {}));
|
|
10243
10245
|
|
|
10244
10246
|
var dataTypes = {
|
|
10245
10247
|
auto: {
|
|
@@ -11973,7 +11975,7 @@ function useTableDataLoader(fetchPage, fetchAll, options) {
|
|
|
11973
11975
|
}, invalidate];
|
|
11974
11976
|
}
|
|
11975
11977
|
|
|
11976
|
-
function useTableServerLoading(length, loadPage, loadAll, pages, pageSize, _experimentalDataLoader2) {
|
|
11978
|
+
function useTableServerLoading(length, data, loadPage, loadAll, pages, pageSize, _experimentalDataLoader2) {
|
|
11977
11979
|
if (pageSize === void 0) {
|
|
11978
11980
|
pageSize = DEFAULT_PAGE_SIZE;
|
|
11979
11981
|
}
|
|
@@ -11984,9 +11986,18 @@ function useTableServerLoading(length, loadPage, loadAll, pages, pageSize, _expe
|
|
|
11984
11986
|
var _React$useState = React__default.useState(false),
|
|
11985
11987
|
isReady = _React$useState[0],
|
|
11986
11988
|
setReady = _React$useState[1];
|
|
11987
|
-
var _React$useState2 = React__default.useState(
|
|
11988
|
-
|
|
11989
|
-
|
|
11989
|
+
var _React$useState2 = React__default.useState(false),
|
|
11990
|
+
loading = _React$useState2[0],
|
|
11991
|
+
setLoading = _React$useState2[1];
|
|
11992
|
+
var hasLoadedAll = React__default.useMemo(function () {
|
|
11993
|
+
var _data$some;
|
|
11994
|
+
if (data.length !== length || !!((_data$some = data.some) !== null && _data$some !== void 0 && _data$some.call(data, function (x) {
|
|
11995
|
+
return x === undefined;
|
|
11996
|
+
}))) {
|
|
11997
|
+
return false;
|
|
11998
|
+
}
|
|
11999
|
+
return true;
|
|
12000
|
+
}, [data, length]);
|
|
11990
12001
|
var _loadPage;
|
|
11991
12002
|
var _loadAll;
|
|
11992
12003
|
var _loadAllIfNeeded;
|
|
@@ -11999,7 +12010,6 @@ function useTableServerLoading(length, loadPage, loadAll, pages, pageSize, _expe
|
|
|
11999
12010
|
var _temp = function () {
|
|
12000
12011
|
if (typeof loadPage === 'function') {
|
|
12001
12012
|
return Promise.resolve(loadPage.apply(void 0, args)).then(function () {
|
|
12002
|
-
setLoadedStatus(exports.TableServerLoadAllState.Incomplete);
|
|
12003
12013
|
setReady(true);
|
|
12004
12014
|
});
|
|
12005
12015
|
}
|
|
@@ -12018,9 +12028,9 @@ function useTableServerLoading(length, loadPage, loadAll, pages, pageSize, _expe
|
|
|
12018
12028
|
try {
|
|
12019
12029
|
var _temp2 = function () {
|
|
12020
12030
|
if (typeof loadAll === 'function') {
|
|
12021
|
-
|
|
12031
|
+
setLoading(true);
|
|
12022
12032
|
return Promise.resolve(loadAll.apply(void 0, args)).then(function () {
|
|
12023
|
-
|
|
12033
|
+
setLoading(false);
|
|
12024
12034
|
setReady(true);
|
|
12025
12035
|
});
|
|
12026
12036
|
}
|
|
@@ -12036,7 +12046,7 @@ function useTableServerLoading(length, loadPage, loadAll, pages, pageSize, _expe
|
|
|
12036
12046
|
}
|
|
12037
12047
|
try {
|
|
12038
12048
|
var _temp3 = function () {
|
|
12039
|
-
if (
|
|
12049
|
+
if (!hasLoadedAll) {
|
|
12040
12050
|
var _loadAll2;
|
|
12041
12051
|
return Promise.resolve((_loadAll2 = _loadAll) === null || _loadAll2 === void 0 ? void 0 : _loadAll2.apply(void 0, args)).then(function () {});
|
|
12042
12052
|
}
|
|
@@ -12055,7 +12065,7 @@ function useTableServerLoading(length, loadPage, loadAll, pages, pageSize, _expe
|
|
|
12055
12065
|
loadPage: _loadPage,
|
|
12056
12066
|
loadAll: _loadAll,
|
|
12057
12067
|
loadAllIfNeeded: _loadAllIfNeeded,
|
|
12058
|
-
|
|
12068
|
+
loading: loading,
|
|
12059
12069
|
pageSize: pageSize,
|
|
12060
12070
|
pageCount: pageCount,
|
|
12061
12071
|
_experimentalDataLoader2: _experimentalDataLoader2
|
|
@@ -12269,7 +12279,7 @@ function useTableSearchListener(table) {
|
|
|
12269
12279
|
if (meta.search.isEnabled) {
|
|
12270
12280
|
resetHighlightedColumnIndexes(query, table, localization);
|
|
12271
12281
|
}
|
|
12272
|
-
}, [meta.server.
|
|
12282
|
+
}, [meta.server.loading, meta.search.isEnabled, meta.search.enableGlobalFilter, table.getRowModel().rows.length, query, JSON.stringify(table.getState().sorting)]);
|
|
12273
12283
|
}
|
|
12274
12284
|
|
|
12275
12285
|
function useTableSettingsListener(table, onChangeSettings) {
|
|
@@ -12427,7 +12437,7 @@ function useTableManager(props, meta, internalColumns) {
|
|
|
12427
12437
|
var rowHeight = useTableRowHeight(options.enableRowHeight, settings.rowHeight);
|
|
12428
12438
|
var rowSelection = useTableRowSelection(!!options.enableRowSelection);
|
|
12429
12439
|
var search = useTableSearch(options.enableSearch, props.onChangeSearch, settings.excludeUnmatchedRecordsInSearch);
|
|
12430
|
-
var server = useTableServerLoading(length, props.loadPage, props.loadAll, props.pages, props.pageSize, props._experimentalDataLoader2);
|
|
12440
|
+
var server = useTableServerLoading(length, data, props.loadPage, props.loadAll, props.pages, props.pageSize, props._experimentalDataLoader2);
|
|
12431
12441
|
// TODO: memoise
|
|
12432
12442
|
// convert jsx column components into valid table columns
|
|
12433
12443
|
var _mapTableChildrenToCo = mapTableChildrenToColumns(props, settings, options, internalColumns, localization),
|
|
@@ -13332,7 +13342,7 @@ function Header$4(context) {
|
|
|
13332
13342
|
className: "hover:border-blue !-mt-px",
|
|
13333
13343
|
checked: isAllRowsSelected,
|
|
13334
13344
|
indeterminate: isSomeRowsSelected && !isAllRowsSelected,
|
|
13335
|
-
loading: tableMeta.server.
|
|
13345
|
+
loading: tableMeta.server.loading,
|
|
13336
13346
|
onChange: handleChange
|
|
13337
13347
|
}));
|
|
13338
13348
|
}
|
|
@@ -14974,7 +14984,7 @@ function Search$1(props) {
|
|
|
14974
14984
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(SearchInput2, {
|
|
14975
14985
|
findCurrent: tableMeta.search.currentHighlightColumnIndex !== undefined ? tableMeta.search.currentHighlightColumnIndex + 1 : null,
|
|
14976
14986
|
findTotal: (_tableMeta$search$hig2 = (_tableMeta$search$hig3 = tableMeta.search.highlightedColumnIndexes) === null || _tableMeta$search$hig3 === void 0 ? void 0 : _tableMeta$search$hig3.length) !== null && _tableMeta$search$hig2 !== void 0 ? _tableMeta$search$hig2 : null,
|
|
14977
|
-
loading: tableMeta.server._experimentalDataLoader2 ? loading : tableMeta.server.
|
|
14987
|
+
loading: tableMeta.server._experimentalDataLoader2 ? loading : tableMeta.server.loading,
|
|
14978
14988
|
name: "table-search",
|
|
14979
14989
|
onClickFindPrevious: handlePreviousResult,
|
|
14980
14990
|
onClickFindNext: handleNextResult,
|
|
@@ -19823,7 +19833,28 @@ function reducer$2(state, action) {
|
|
|
19823
19833
|
return state;
|
|
19824
19834
|
}
|
|
19825
19835
|
}
|
|
19826
|
-
function usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, validator) {
|
|
19836
|
+
function usePendingChangesState(handleSave, handleChange, handleDiscard, rowIdentityAccessor, validator) {
|
|
19837
|
+
var discardChanges = function discardChanges(rowId, table) {
|
|
19838
|
+
try {
|
|
19839
|
+
// remove any new rows from pinned state before discarding them
|
|
19840
|
+
table.resetRowPinning(true);
|
|
19841
|
+
dispatch({
|
|
19842
|
+
type: 'removeRow',
|
|
19843
|
+
rowId: rowId,
|
|
19844
|
+
payload: {
|
|
19845
|
+
rowIdentityAccessor: rowIdentityAccessor
|
|
19846
|
+
}
|
|
19847
|
+
});
|
|
19848
|
+
var _temp8 = function () {
|
|
19849
|
+
if (typeof handleDiscard === 'function') {
|
|
19850
|
+
return Promise.resolve(handleDiscard()).then(function () {});
|
|
19851
|
+
}
|
|
19852
|
+
}();
|
|
19853
|
+
return Promise.resolve(_temp8 && _temp8.then ? _temp8.then(function () {}) : void 0);
|
|
19854
|
+
} catch (e) {
|
|
19855
|
+
return Promise.reject(e);
|
|
19856
|
+
}
|
|
19857
|
+
};
|
|
19827
19858
|
var saveChanges = function saveChanges(table, rowId) {
|
|
19828
19859
|
if (rowId === void 0) {
|
|
19829
19860
|
rowId = undefined;
|
|
@@ -19845,12 +19876,13 @@ function usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, v
|
|
|
19845
19876
|
function _temp6(_result) {
|
|
19846
19877
|
return _exit ? _result : Promise.resolve(handleSave(changeSet)).then(function () {
|
|
19847
19878
|
// cleanup changes, we don't need them after saving
|
|
19848
|
-
discardChanges(rowId, table)
|
|
19849
|
-
|
|
19850
|
-
|
|
19851
|
-
|
|
19852
|
-
|
|
19853
|
-
|
|
19879
|
+
return Promise.resolve(discardChanges(rowId, table)).then(function () {
|
|
19880
|
+
// show the saved status, then remove it after a delay
|
|
19881
|
+
setRowStatus(rowId, 'saved');
|
|
19882
|
+
setTimeout(function () {
|
|
19883
|
+
setRowStatus(rowId, undefined);
|
|
19884
|
+
}, DELAY_BEFORE_REMOVING_SAVE_STATUS);
|
|
19885
|
+
});
|
|
19854
19886
|
});
|
|
19855
19887
|
}
|
|
19856
19888
|
var rowChanges = (_changes$rowId = changes[rowId]) !== null && _changes$rowId !== void 0 ? _changes$rowId : {};
|
|
@@ -20128,17 +20160,6 @@ function usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, v
|
|
|
20128
20160
|
function hasChanges(rowId) {
|
|
20129
20161
|
return rowId ? !!state.changes.rows[rowId] : !!Object.keys(state.changes.rows).length;
|
|
20130
20162
|
}
|
|
20131
|
-
function discardChanges(rowId, table) {
|
|
20132
|
-
// remove any new rows from pinned state before discarding them
|
|
20133
|
-
table.resetRowPinning(true);
|
|
20134
|
-
dispatch({
|
|
20135
|
-
type: 'removeRow',
|
|
20136
|
-
rowId: rowId,
|
|
20137
|
-
payload: {
|
|
20138
|
-
rowIdentityAccessor: rowIdentityAccessor
|
|
20139
|
-
}
|
|
20140
|
-
});
|
|
20141
|
-
}
|
|
20142
20163
|
return {
|
|
20143
20164
|
// row
|
|
20144
20165
|
getRowValue: getRowValue,
|
|
@@ -20165,7 +20186,7 @@ function usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, v
|
|
|
20165
20186
|
};
|
|
20166
20187
|
}
|
|
20167
20188
|
|
|
20168
|
-
function useTableEditing(isEnabled, handleSave, handleChange, handleCreate, rowIdentityAccessor, validator) {
|
|
20189
|
+
function useTableEditing(isEnabled, handleSave, handleChange, handleCreate, handleDiscard, rowIdentityAccessor, validator) {
|
|
20169
20190
|
var createRow = function createRow(table, scrollToIndex, row) {
|
|
20170
20191
|
try {
|
|
20171
20192
|
var _temp2 = function _temp2(_result) {
|
|
@@ -20184,12 +20205,11 @@ function useTableEditing(isEnabled, handleSave, handleChange, handleCreate, rowI
|
|
|
20184
20205
|
// wait until set states have run
|
|
20185
20206
|
requestAnimationFrame(function () {
|
|
20186
20207
|
toggleEditing(true, table, scrollToIndex, false);
|
|
20187
|
-
|
|
20188
|
-
|
|
20189
|
-
|
|
20190
|
-
bottom: (_ref = (_currentState$bottom = currentState.bottom) !== null && _currentState$bottom !== void 0 ? _currentState$bottom : []) === null || _ref === void 0 ? void 0 : _ref.concat(newRowId)
|
|
20208
|
+
setTimeout(function () {
|
|
20209
|
+
requestAnimationFrame(function () {
|
|
20210
|
+
return table.getRow(newRowId).pin('bottom');
|
|
20191
20211
|
});
|
|
20192
|
-
});
|
|
20212
|
+
}, 150);
|
|
20193
20213
|
});
|
|
20194
20214
|
}
|
|
20195
20215
|
} catch (error) {
|
|
@@ -20233,7 +20253,7 @@ function useTableEditing(isEnabled, handleSave, handleChange, handleCreate, rowI
|
|
|
20233
20253
|
var _React$useState3 = React__default.useState(undefined),
|
|
20234
20254
|
lastFocusedCellIndex = _React$useState3[0],
|
|
20235
20255
|
setLastFocusedCellIndex = _React$useState3[1];
|
|
20236
|
-
var pendingChangesFns = usePendingChangesState(handleSave, handleChange, rowIdentityAccessor, validator);
|
|
20256
|
+
var pendingChangesFns = usePendingChangesState(handleSave, handleChange, handleDiscard, rowIdentityAccessor, validator);
|
|
20237
20257
|
function toggleEditing(enabled, table, scrollToIndex, doSave) {
|
|
20238
20258
|
if (doSave === void 0) {
|
|
20239
20259
|
doSave = true;
|
|
@@ -20518,7 +20538,7 @@ function EditingControlCell(props) {
|
|
|
20518
20538
|
var _cellRef$current;
|
|
20519
20539
|
return typeof type === 'function' && !!((_cellRef$current = cellRef.current) !== null && _cellRef$current !== void 0 && _cellRef$current.querySelector('[data-taco="Select2"],[data-taco="switch"],[data-taco="checkbox"]'));
|
|
20520
20540
|
}, [cellRef.current]);
|
|
20521
|
-
var handleChange = function
|
|
20541
|
+
var handleChange = React__default.useCallback(function (nextValue) {
|
|
20522
20542
|
if (nextValue !== value) {
|
|
20523
20543
|
tableMeta.editing.setCellValue(cell, rowIndex, nextValue);
|
|
20524
20544
|
if (hasNonTextControl) {
|
|
@@ -20527,17 +20547,17 @@ function EditingControlCell(props) {
|
|
|
20527
20547
|
});
|
|
20528
20548
|
}
|
|
20529
20549
|
}
|
|
20530
|
-
};
|
|
20531
|
-
function blur() {
|
|
20550
|
+
}, [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex, value]);
|
|
20551
|
+
var blur = React__default.useCallback(function blur() {
|
|
20532
20552
|
tableMeta.editing.toggleDetailedMode(false);
|
|
20533
20553
|
tableMeta.editing.onCellChanged(cell, rowIndex, undefined, !hasNonTextControl);
|
|
20534
|
-
}
|
|
20535
|
-
var handleBlur = function
|
|
20554
|
+
}, [hasNonTextControl, cell.row.id, cell.column.id, cell.row.original, rowIndex]);
|
|
20555
|
+
var handleBlur = React__default.useCallback(function (event) {
|
|
20536
20556
|
if (isElementInsideOrTriggeredFromContainer(event.relatedTarget, event.currentTarget)) {
|
|
20537
20557
|
return;
|
|
20538
20558
|
}
|
|
20539
20559
|
blur();
|
|
20540
|
-
};
|
|
20560
|
+
}, [blur]);
|
|
20541
20561
|
// ensure that blur runs when the cell gets unmounted (when vertically arrow key navigating)
|
|
20542
20562
|
React__default.useEffect(function () {
|
|
20543
20563
|
var ref = cellRef.current;
|
|
@@ -20935,7 +20955,7 @@ var RENDERERS$1 = {
|
|
|
20935
20955
|
cell: Cell$5
|
|
20936
20956
|
};
|
|
20937
20957
|
function useTable3(props, ref) {
|
|
20938
|
-
var editing = useTableEditing(props.enableEditing, props.onEditingSave, props.onEditingChange, props.onEditingCreate, props.rowIdentityAccessor, props.validator);
|
|
20958
|
+
var editing = useTableEditing(props.enableEditing, props.onEditingSave, props.onEditingChange, props.onEditingCreate, props.onEditingDiscard, props.rowIdentityAccessor, props.validator);
|
|
20939
20959
|
var creationEnabled = editing.isEnabled && !!props.onEditingCreate;
|
|
20940
20960
|
// this gives me the performance heeby jeebies, but can't think of a better way to internalise the state
|
|
20941
20961
|
var data = React__default.useMemo(function () {
|
|
@@ -21048,6 +21068,7 @@ function Alert$1(props) {
|
|
|
21048
21068
|
// Add space before and after `messageAnd` text
|
|
21049
21069
|
links.push(" " + validationTexts.alert.messageAnd + " ");
|
|
21050
21070
|
}
|
|
21071
|
+
// note: if this row click functionality is removed, indexes can be removed from useEditingState
|
|
21051
21072
|
var handleClick = function handleClick() {
|
|
21052
21073
|
// if row is visible
|
|
21053
21074
|
if (pendingChangeWithError.index > -1) {
|