@economic/taco 2.49.0-server.2 → 2.49.0-server.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -1
  2. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js +5 -4
  3. package/dist/esm/packages/taco/src/components/Table3/features/useTableEditing.js.map +1 -1
  4. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js +2 -2
  5. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
  6. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Summary.js +1 -2
  7. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Footer/Summary.js.map +1 -1
  8. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js +1 -1
  9. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js.map +1 -1
  10. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/Print.js +1 -1
  11. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -1
  12. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js +2 -2
  13. package/dist/esm/packages/taco/src/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
  14. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableGlobalShortcuts.js +1 -1
  15. package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableGlobalShortcuts.js.map +1 -1
  16. package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
  17. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader.js +13 -10
  18. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader.js.map +1 -1
  19. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader2.js +8 -8
  20. package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader2.js.map +1 -1
  21. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js +1 -1
  22. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js.map +1 -1
  23. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
  24. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js +2 -2
  25. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js.map +1 -1
  26. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +2 -1
  27. package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
  28. package/dist/primitives/Table/types.d.ts +2 -2
  29. package/dist/primitives/Table/useTableDataLoader.d.ts +2 -2
  30. package/dist/primitives/Table/useTableDataLoader2.d.ts +2 -2
  31. package/dist/taco.cjs.development.js +39 -35
  32. package/dist/taco.cjs.development.js.map +1 -1
  33. package/dist/taco.cjs.production.min.js +1 -1
  34. package/dist/taco.cjs.production.min.js.map +1 -1
  35. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sources":["../../../../../../../../../src/components/Table3/components/Editing/Alert.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { ScrollToOptions as ReactVirtualScrollToOptions } from '@tanstack/react-virtual';\nimport { Alert as BaseAlert, AlertProps as BaseAlertProps } from '../../../Alert/Alert';\nimport { TableRef } from '../../../../primitives/Table/types';\nimport { Tooltip } from '../../../Tooltip/Tooltip';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Dialog, DialogProps } from '../../../Dialog/Dialog';\nimport { Group } from '../../../Group/Group';\nimport { Button } from '../../../Button/Button';\n\ntype AlertProps<TType = unknown> = Omit<BaseAlertProps, 'children'> & {\n scrollToIndex: (index: number, options: ReactVirtualScrollToOptions) => void;\n table: ReactTable<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Alert<TType = unknown>(props: AlertProps<TType>) {\n const { scrollToIndex, table, tableRef, ...attributes } = props;\n const { texts } = useLocalization();\n const validationTexts = texts.table3.editing.validation;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const [showFilterResetDialog, setShowFilterResetDialog] = React.useState<number | false>(false);\n const pendingChangesWithErrors = tableMeta.editing.getErrorsShownInAlert<TType>();\n\n function scrollToRow(rowIndex: number) {\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n scrollToIndex(rowIndex, { align: 'center' });\n\n requestAnimationFrame(() => {\n const cell = tableRef.current?.querySelector(\n 'tbody > tr[data-row-active=\"true\"] > td[data-cell-editing-invalid=\"true\"]'\n );\n\n if (cell) {\n (cell as HTMLElement).focus?.();\n }\n });\n }\n\n // generate the \"N unsaved entries\" title\n const title = (\n pendingChangesWithErrors.length === 1 ? validationTexts.alert.titleOne : validationTexts.alert.titlePlural\n ).replace('[COUNT]', String(pendingChangesWithErrors.length));\n\n // generate links to each invalid row, to go into the error message\n const links: React.ReactNode[] = [];\n const visibleColumns = table.getVisibleFlatColumns().map(c => c.id);\n const rowIdentityColumn =\n tableMeta.rowIdentityAccessor && visibleColumns.includes(String(tableMeta.rowIdentityAccessor))\n ? // table.getColumn(columName) throw error in strict dev mode. Related thread: https://github.com/TanStack/table/discussions/5505\n table.getAllColumns().find(x => x.id === String(tableMeta.rowIdentityAccessor))\n : undefined;\n\n pendingChangesWithErrors.forEach((pendingChangeWithError, index) => {\n // if appropriate, concatenate the item with the text \"and\"\n if (pendingChangesWithErrors.length > 1 && index === pendingChangesWithErrors.length - 1) {\n // Add space before and after `messageAnd` text\n links.push(` ${validationTexts.alert.messageAnd} `);\n }\n pendingChangeWithError;\n\n // note: if this row click functionality is removed, indexes can be removed from useEditingState\n const handleClick = () => {\n // if row is visible\n if (pendingChangeWithError.index > -1) {\n scrollToRow(pendingChangeWithError.index);\n tableMeta.rowActive.setRowActiveIndex(pendingChangeWithError.index);\n }\n // if row is filtered out\n else {\n setShowFilterResetDialog(pendingChangeWithError.index);\n }\n };\n\n let tooltip;\n\n if (pendingChangeWithError.errors.row) {\n tooltip = pendingChangeWithError.errors.row;\n } else {\n const firstCellErrorColumnId = Object.keys(pendingChangeWithError.errors.cells)[0];\n const columnName = table.getAllColumns().find(column => column.id === firstCellErrorColumnId)?.columnDef.meta?.header;\n tooltip = `${columnName}: ${pendingChangeWithError.errors.cells[firstCellErrorColumnId]}`;\n }\n\n let row;\n try {\n row = table.getRow(pendingChangeWithError.rowId).original;\n } catch {\n // because of server loading, some rows may not be accessible\n }\n\n links.push(\n <Tooltip key={pendingChangeWithError.rowId} title={tooltip}>\n <span className=\"text-blue\" onClick={handleClick} role=\"button\">\n {rowIdentityColumn ? row?.[rowIdentityColumn.id] : pendingChangeWithError.index + 1}\n </span>\n </Tooltip>\n );\n\n // if appropriate, concatenate the item with the text \",\"\n if (pendingChangesWithErrors.length > 2 && index < pendingChangesWithErrors.length - 2) {\n links.push(', ');\n }\n });\n\n // generate the \"Row N is incomplete and hasn't been saved\" error message\n const message = (links.length === 1 ? validationTexts.alert.messageOne : validationTexts.alert.messagePlural)\n .split(/(\\[\\w+\\])/)\n .map(part => {\n if (part === '[COLUMN]') {\n return rowIdentityColumn?.columnDef.meta?.header ?? validationTexts.alert.messageRow;\n }\n\n if (part === '[ROW]') {\n return links;\n }\n\n return part;\n });\n\n const handleResetFilters = () => {\n table.resetGlobalFilter();\n table.resetColumnFilters();\n\n requestAnimationFrame(() => {\n if (showFilterResetDialog && showFilterResetDialog > -1) {\n scrollToRow(showFilterResetDialog);\n }\n\n setShowFilterResetDialog(false);\n });\n };\n\n return (\n <>\n <BaseAlert {...attributes} state=\"error\">\n <span className=\"font-bold\">{title}</span>&nbsp;{message}\n </BaseAlert>\n <FilterResetDialog\n open={showFilterResetDialog !== false}\n onChange={() => setShowFilterResetDialog(false)}\n onSubmit={handleResetFilters}\n />\n </>\n );\n}\n\ntype FilterResetDialogProps = Omit<DialogProps, 'children'> & {\n onSubmit: () => void;\n};\n\nfunction FilterResetDialog(props: FilterResetDialogProps) {\n const { onSubmit: handleSubmit, ...dialogProps } = props;\n const { texts } = useLocalization();\n\n return (\n <Dialog {...dialogProps} size=\"xs\">\n <Dialog.Content aria-label=\"Create a new account\">\n <Dialog.Title>{texts.table3.editing.validation.resetFiltersDialog.title}</Dialog.Title>\n\n <p>{texts.table3.editing.validation.resetFiltersDialog.description}</p>\n\n <Dialog.Footer>\n <Group>\n <Dialog.Close>\n <Button>{texts.table3.editing.validation.resetFiltersDialog.cancel}</Button>\n </Dialog.Close>\n <Button appearance=\"primary\" onClick={handleSubmit}>\n {texts.table3.editing.validation.resetFiltersDialog.confirm}\n </Button>\n </Group>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog>\n );\n}\n"],"names":["Alert","props","scrollToIndex","table","tableRef","attributes","_objectWithoutPropertiesLoose","_excluded","_useLocalization","useLocalization","texts","validationTexts","table3","editing","validation","tableMeta","options","meta","_React$useState","React","useState","showFilterResetDialog","setShowFilterResetDialog","pendingChangesWithErrors","getErrorsShownInAlert","scrollToRow","rowIndex","rowActive","setRowActiveIndex","align","requestAnimationFrame","cell","_tableRef$current","current","querySelector","_cell$focus","focus","call","title","length","alert","titleOne","titlePlural","replace","String","links","visibleColumns","getVisibleFlatColumns","map","c","id","rowIdentityColumn","rowIdentityAccessor","includes","getAllColumns","find","x","undefined","forEach","pendingChangeWithError","index","push","messageAnd","handleClick","tooltip","errors","row","_table$getAllColumns$","_table$getAllColumns$2","firstCellErrorColumnId","Object","keys","cells","columnName","column","columnDef","header","getRow","rowId","original","_unused","Tooltip","key","className","onClick","role","_row","message","messageOne","messagePlural","split","part","_rowIdentityColumn$co","_rowIdentityColumn$co2","messageRow","handleResetFilters","resetGlobalFilter","resetColumnFilters","BaseAlert","state","FilterResetDialog","open","onChange","onSubmit","handleSubmit","dialogProps","_excluded2","_useLocalization2","Dialog","size","Content","Title","resetFiltersDialog","description","Footer","Group","Close","Button","cancel","appearance","confirm"],"mappings":"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"}
1
+ {"version":3,"file":"Alert.js","sources":["../../../../../../../../../src/components/Table3/components/Editing/Alert.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { ScrollToOptions as ReactVirtualScrollToOptions } from '@tanstack/react-virtual';\nimport { Alert as BaseAlert, AlertProps as BaseAlertProps } from '../../../Alert/Alert';\nimport { TableRef } from '../../../../primitives/Table/types';\nimport { Tooltip } from '../../../Tooltip/Tooltip';\nimport { useLocalization } from '../../../Provider/Localization';\nimport { Dialog, DialogProps } from '../../../Dialog/Dialog';\nimport { Group } from '../../../Group/Group';\nimport { Button } from '../../../Button/Button';\n\ntype AlertProps<TType = unknown> = Omit<BaseAlertProps, 'children'> & {\n scrollToIndex: (index: number, options: ReactVirtualScrollToOptions) => void;\n table: ReactTable<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Alert<TType = unknown>(props: AlertProps<TType>) {\n const { scrollToIndex, table, tableRef, ...attributes } = props;\n const { texts } = useLocalization();\n const validationTexts = texts.table3.editing.validation;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const [showFilterResetDialog, setShowFilterResetDialog] = React.useState<number | false>(false);\n const pendingChangesWithErrors = tableMeta.editing.getErrorsShownInAlert<TType>();\n\n function scrollToRow(rowIndex: number) {\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n scrollToIndex(rowIndex, { align: 'center' });\n\n requestAnimationFrame(() => {\n const cell = tableRef.current?.querySelector(\n 'tbody > tr[data-row-active=\"true\"] > td[data-cell-editing-invalid=\"true\"]'\n );\n\n if (cell) {\n (cell as HTMLElement).focus?.();\n }\n });\n }\n\n // generate the \"N unsaved entries\" title\n const title = (\n pendingChangesWithErrors.length === 1 ? validationTexts.alert.titleOne : validationTexts.alert.titlePlural\n ).replace('[COUNT]', String(pendingChangesWithErrors.length));\n\n // generate links to each invalid row, to go into the error message\n const links: React.ReactNode[] = [];\n const visibleColumns = table.getVisibleFlatColumns().map(c => c.id);\n const rowIdentityColumn =\n tableMeta.rowIdentityAccessor && visibleColumns.includes(String(tableMeta.rowIdentityAccessor))\n ? // table.getColumn(columName) throw error in strict dev mode. Related thread: https://github.com/TanStack/table/discussions/5505\n table.getAllColumns().find(x => x.id === String(tableMeta.rowIdentityAccessor))\n : undefined;\n\n pendingChangesWithErrors.forEach((pendingChangeWithError, index) => {\n // if appropriate, concatenate the item with the text \"and\"\n if (pendingChangesWithErrors.length > 1 && index === pendingChangesWithErrors.length - 1) {\n // Add space before and after `messageAnd` text\n links.push(` ${validationTexts.alert.messageAnd} `);\n }\n\n // note: if this row click functionality is removed, indexes can be removed from useEditingState\n const handleClick = () => {\n // if row is visible\n if (pendingChangeWithError.index > -1) {\n scrollToRow(pendingChangeWithError.index);\n tableMeta.rowActive.setRowActiveIndex(pendingChangeWithError.index);\n }\n // if row is filtered out\n else {\n setShowFilterResetDialog(pendingChangeWithError.index);\n }\n };\n\n let tooltip;\n\n if (pendingChangeWithError.errors.row) {\n tooltip = pendingChangeWithError.errors.row;\n } else {\n const firstCellErrorColumnId = Object.keys(pendingChangeWithError.errors.cells)[0];\n const columnName = table.getAllColumns().find(column => column.id === firstCellErrorColumnId)?.columnDef.meta?.header;\n tooltip = `${columnName}: ${pendingChangeWithError.errors.cells[firstCellErrorColumnId]}`;\n }\n\n let row;\n try {\n row = table.getRow(pendingChangeWithError.rowId).original;\n } catch {\n // because of server loading, some rows may not be accessible\n }\n\n links.push(\n <Tooltip key={pendingChangeWithError.rowId} title={tooltip}>\n <span className=\"text-blue\" onClick={handleClick} role=\"button\">\n {rowIdentityColumn ? row?.[rowIdentityColumn.id] : pendingChangeWithError.index + 1}\n </span>\n </Tooltip>\n );\n\n // if appropriate, concatenate the item with the text \",\"\n if (pendingChangesWithErrors.length > 2 && index < pendingChangesWithErrors.length - 2) {\n links.push(', ');\n }\n });\n\n // generate the \"Row N is incomplete and hasn't been saved\" error message\n const message = (links.length === 1 ? validationTexts.alert.messageOne : validationTexts.alert.messagePlural)\n .split(/(\\[\\w+\\])/)\n .map(part => {\n if (part === '[COLUMN]') {\n return rowIdentityColumn?.columnDef.meta?.header ?? validationTexts.alert.messageRow;\n }\n\n if (part === '[ROW]') {\n return links;\n }\n\n return part;\n });\n\n const handleResetFilters = () => {\n table.resetGlobalFilter();\n table.resetColumnFilters();\n\n requestAnimationFrame(() => {\n if (showFilterResetDialog && showFilterResetDialog > -1) {\n scrollToRow(showFilterResetDialog);\n }\n\n setShowFilterResetDialog(false);\n });\n };\n\n return (\n <>\n <BaseAlert {...attributes} state=\"error\">\n <span className=\"font-bold\">{title}</span>&nbsp;{message}\n </BaseAlert>\n <FilterResetDialog\n open={showFilterResetDialog !== false}\n onChange={() => setShowFilterResetDialog(false)}\n onSubmit={handleResetFilters}\n />\n </>\n );\n}\n\ntype FilterResetDialogProps = Omit<DialogProps, 'children'> & {\n onSubmit: () => void;\n};\n\nfunction FilterResetDialog(props: FilterResetDialogProps) {\n const { onSubmit: handleSubmit, ...dialogProps } = props;\n const { texts } = useLocalization();\n\n return (\n <Dialog {...dialogProps} size=\"xs\">\n <Dialog.Content aria-label=\"Create a new account\">\n <Dialog.Title>{texts.table3.editing.validation.resetFiltersDialog.title}</Dialog.Title>\n\n <p>{texts.table3.editing.validation.resetFiltersDialog.description}</p>\n\n <Dialog.Footer>\n <Group>\n <Dialog.Close>\n <Button>{texts.table3.editing.validation.resetFiltersDialog.cancel}</Button>\n </Dialog.Close>\n <Button appearance=\"primary\" onClick={handleSubmit}>\n {texts.table3.editing.validation.resetFiltersDialog.confirm}\n </Button>\n </Group>\n </Dialog.Footer>\n </Dialog.Content>\n </Dialog>\n );\n}\n"],"names":["Alert","props","scrollToIndex","table","tableRef","attributes","_objectWithoutPropertiesLoose","_excluded","_useLocalization","useLocalization","texts","validationTexts","table3","editing","validation","tableMeta","options","meta","_React$useState","React","useState","showFilterResetDialog","setShowFilterResetDialog","pendingChangesWithErrors","getErrorsShownInAlert","scrollToRow","rowIndex","rowActive","setRowActiveIndex","align","requestAnimationFrame","cell","_tableRef$current","current","querySelector","_cell$focus","focus","call","title","length","alert","titleOne","titlePlural","replace","String","links","visibleColumns","getVisibleFlatColumns","map","c","id","rowIdentityColumn","rowIdentityAccessor","includes","getAllColumns","find","x","undefined","forEach","pendingChangeWithError","index","push","messageAnd","handleClick","tooltip","errors","row","_table$getAllColumns$","_table$getAllColumns$2","firstCellErrorColumnId","Object","keys","cells","columnName","column","columnDef","header","getRow","rowId","original","_unused","Tooltip","key","className","onClick","role","_row","message","messageOne","messagePlural","split","part","_rowIdentityColumn$co","_rowIdentityColumn$co2","messageRow","handleResetFilters","resetGlobalFilter","resetColumnFilters","BaseAlert","state","FilterResetDialog","open","onChange","onSubmit","handleSubmit","dialogProps","_excluded2","_useLocalization2","Dialog","size","Content","Title","resetFiltersDialog","description","Footer","Group","Close","Button","cancel","appearance","confirm"],"mappings":"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"}
@@ -22,11 +22,12 @@ function useTableEditing(isEnabled, handleSave, handleChange, handleCreate, hand
22
22
  // wait until set states have run
23
23
  requestAnimationFrame(function () {
24
24
  toggleEditing(true, table, scrollToIndex, false);
25
- setTimeout(function () {
26
- requestAnimationFrame(function () {
27
- return table.getRow(newRowId).pin('bottom');
25
+ table.setRowPinning(function (currentState) {
26
+ var _ref, _currentState$bottom;
27
+ return _extends({}, currentState, {
28
+ bottom: (_ref = (_currentState$bottom = currentState.bottom) !== null && _currentState$bottom !== void 0 ? _currentState$bottom : []) === null || _ref === void 0 ? void 0 : _ref.concat(newRowId)
28
29
  });
29
- }, 150);
30
+ });
30
31
  });
31
32
  }
32
33
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"useTableEditing.js","sources":["../../../../../../../../src/components/Table3/features/useTableEditing.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport {\n Table3EditingChangeHandler,\n Table3EditingCreateHandler,\n Table3EditingDiscardHandler,\n Table3EditingSaveHandler,\n Table3EditingValidatorFn,\n} from '../types';\nimport { usePendingChangesState } from './useEditingState';\nimport { isTemporaryRow } from '../util/editing';\n\nexport function useTableEditing<TType = unknown>(\n isEnabled = false,\n handleSave: Table3EditingSaveHandler<TType> | undefined,\n handleChange: Table3EditingChangeHandler<TType> | undefined,\n handleCreate: Table3EditingCreateHandler<TType> | undefined,\n handleDiscard: Table3EditingDiscardHandler | undefined,\n rowIdentityAccessor: keyof TType | undefined,\n validator: Table3EditingValidatorFn<TType> | undefined\n) {\n // used to switch the table into editing mode\n const [isEditing, setEditing] = React.useState(false);\n\n // used to switch the editing between \"detailed\" mode\n const [isDetailedMode, toggleDetailedMode] = React.useState(false);\n\n // used to contain ref to the create button\n const createRowButtonRef = React.useRef<HTMLButtonElement>(null);\n\n // store the last focused cell, so that up/down arrow key navigation remains in the same column\n const [lastFocusedCellIndex, setLastFocusedCellIndex] = React.useState<number | undefined>(undefined);\n\n const pendingChangesFns = usePendingChangesState<TType>(\n handleSave,\n handleChange,\n handleDiscard,\n rowIdentityAccessor as keyof TType,\n validator\n );\n\n function toggleEditing<T extends TType>(\n enabled: React.SetStateAction<boolean>,\n table: ReactTable<T>,\n scrollToIndex: (index: number) => void,\n doSave = true\n ) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (enabled) {\n const index = tableMeta.rowActive.rowActiveIndex ?? 0;\n\n if (tableMeta.rowActive.rowActiveIndex === undefined) {\n tableMeta.rowActive.setRowActiveIndex(index);\n }\n\n if (!isTemporaryRow(table.getRowModel().rows[index]?.id)) {\n scrollToIndex(index);\n }\n } else if (!enabled) {\n // reset detailed mode\n toggleDetailedMode(false);\n // reset the last index back to the first focusable element, when editing gets turned off\n setLastFocusedCellIndex(undefined);\n }\n\n setEditing(enabled);\n\n if (doSave) {\n pendingChangesFns.saveChanges(table);\n }\n }\n\n async function createRow<T extends TType>(table: ReactTable<T>, scrollToIndex: (index: number) => void, row?: Partial<T>) {\n if (!handleCreate) {\n return;\n }\n\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n const saved = await tableMeta.editing.saveChanges(\n table,\n table.getRowModel().rows[tableMeta.rowActive.rowActiveIndex]?.id\n );\n\n if (!saved) {\n return;\n }\n }\n\n const changeset = row ?? handleCreate();\n\n try {\n if (changeset) {\n // set the active row to the new row before toggling editing on\n const temporaryRows = tableMeta.editing.temporaryRows as TType[];\n const nextRowIndex = temporaryRows.length ? tableMeta.length + 1 : tableMeta.length;\n\n const newRowId = pendingChangesFns.insertTemporaryRow(changeset, nextRowIndex);\n\n // reset before changing row otherwise the cell changes and validation might run\n setLastFocusedCellIndex(undefined);\n // set the active row to the new row before toggling editing on\n tableMeta.rowActive.setRowActiveIndex(nextRowIndex);\n\n // wait until set states have run\n requestAnimationFrame(() => {\n toggleEditing(true, table, scrollToIndex, false);\n setTimeout(() => {\n requestAnimationFrame(() => table.getRow(newRowId).pin('bottom'));\n }, 150);\n });\n }\n } catch (error) {\n console.error(error);\n }\n }\n\n return {\n isEnabled,\n isEditing,\n isDetailedMode,\n toggleDetailedMode: isEnabled ? toggleDetailedMode : () => undefined,\n toggleEditing: isEnabled ? toggleEditing : () => undefined,\n lastFocusedCellIndex,\n setLastFocusedCellIndex,\n createRow,\n createRowButtonRef,\n ...pendingChangesFns,\n };\n}\n"],"names":["useTableEditing","isEnabled","handleSave","handleChange","handleCreate","handleDiscard","rowIdentityAccessor","validator","createRow","table","scrollToIndex","row","changeset","temporaryRows","tableMeta","editing","nextRowIndex","length","newRowId","pendingChangesFns","insertTemporaryRow","setLastFocusedCellIndex","undefined","rowActive","setRowActiveIndex","requestAnimationFrame","toggleEditing","setTimeout","getRow","pin","error","console","_exit","Promise","resolve","options","meta","_temp","rowActiveIndex","_table$getRowModel$ro2","saveChanges","getRowModel","rows","id","then","saved","_temp2","e","reject","_React$useState","React","useState","isEditing","setEditing","_React$useState2","isDetailedMode","toggleDetailedMode","createRowButtonRef","useRef","_React$useState3","lastFocusedCellIndex","usePendingChangesState","enabled","doSave","_tableMeta$rowActive$","_table$getRowModel$ro","index","isTemporaryRow","_extends"],"mappings":"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"}
1
+ {"version":3,"file":"useTableEditing.js","sources":["../../../../../../../../src/components/Table3/features/useTableEditing.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport {\n Table3EditingChangeHandler,\n Table3EditingCreateHandler,\n Table3EditingDiscardHandler,\n Table3EditingSaveHandler,\n Table3EditingValidatorFn,\n} from '../types';\nimport { usePendingChangesState } from './useEditingState';\nimport { isTemporaryRow } from '../util/editing';\n\nexport function useTableEditing<TType = unknown>(\n isEnabled = false,\n handleSave: Table3EditingSaveHandler<TType> | undefined,\n handleChange: Table3EditingChangeHandler<TType> | undefined,\n handleCreate: Table3EditingCreateHandler<TType> | undefined,\n handleDiscard: Table3EditingDiscardHandler | undefined,\n rowIdentityAccessor: keyof TType | undefined,\n validator: Table3EditingValidatorFn<TType> | undefined\n) {\n // used to switch the table into editing mode\n const [isEditing, setEditing] = React.useState(false);\n\n // used to switch the editing between \"detailed\" mode\n const [isDetailedMode, toggleDetailedMode] = React.useState(false);\n\n // used to contain ref to the create button\n const createRowButtonRef = React.useRef<HTMLButtonElement>(null);\n\n // store the last focused cell, so that up/down arrow key navigation remains in the same column\n const [lastFocusedCellIndex, setLastFocusedCellIndex] = React.useState<number | undefined>(undefined);\n\n const pendingChangesFns = usePendingChangesState<TType>(\n handleSave,\n handleChange,\n handleDiscard,\n rowIdentityAccessor as keyof TType,\n validator\n );\n\n function toggleEditing<T extends TType>(\n enabled: React.SetStateAction<boolean>,\n table: ReactTable<T>,\n scrollToIndex: (index: number) => void,\n doSave = true\n ) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (enabled) {\n const index = tableMeta.rowActive.rowActiveIndex ?? 0;\n\n if (tableMeta.rowActive.rowActiveIndex === undefined) {\n tableMeta.rowActive.setRowActiveIndex(index);\n }\n\n if (!isTemporaryRow(table.getRowModel().rows[index]?.id)) {\n scrollToIndex(index);\n }\n } else if (!enabled) {\n // reset detailed mode\n toggleDetailedMode(false);\n // reset the last index back to the first focusable element, when editing gets turned off\n setLastFocusedCellIndex(undefined);\n }\n\n setEditing(enabled);\n\n if (doSave) {\n pendingChangesFns.saveChanges(table);\n }\n }\n\n async function createRow<T extends TType>(table: ReactTable<T>, scrollToIndex: (index: number) => void, row?: Partial<T>) {\n if (!handleCreate) {\n return;\n }\n\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n const saved = await tableMeta.editing.saveChanges(\n table,\n table.getRowModel().rows[tableMeta.rowActive.rowActiveIndex]?.id\n );\n\n if (!saved) {\n return;\n }\n }\n\n const changeset = row ?? handleCreate();\n\n try {\n if (changeset) {\n // set the active row to the new row before toggling editing on\n const temporaryRows = tableMeta.editing.temporaryRows as TType[];\n const nextRowIndex = temporaryRows.length ? tableMeta.length + 1 : tableMeta.length;\n\n const newRowId = pendingChangesFns.insertTemporaryRow(changeset, nextRowIndex);\n\n // reset before changing row otherwise the cell changes and validation might run\n setLastFocusedCellIndex(undefined);\n // set the active row to the new row before toggling editing on\n tableMeta.rowActive.setRowActiveIndex(nextRowIndex);\n\n // wait until set states have run\n requestAnimationFrame(() => {\n toggleEditing(true, table, scrollToIndex, false);\n table.setRowPinning(currentState => ({\n ...currentState,\n bottom: (currentState.bottom ?? [])?.concat(newRowId),\n }));\n });\n }\n } catch (error) {\n console.error(error);\n }\n }\n\n return {\n isEnabled,\n isEditing,\n isDetailedMode,\n toggleDetailedMode: isEnabled ? toggleDetailedMode : () => undefined,\n toggleEditing: isEnabled ? toggleEditing : () => undefined,\n lastFocusedCellIndex,\n setLastFocusedCellIndex,\n createRow,\n createRowButtonRef,\n ...pendingChangesFns,\n };\n}\n"],"names":["useTableEditing","isEnabled","handleSave","handleChange","handleCreate","handleDiscard","rowIdentityAccessor","validator","createRow","table","scrollToIndex","row","changeset","temporaryRows","tableMeta","editing","nextRowIndex","length","newRowId","pendingChangesFns","insertTemporaryRow","setLastFocusedCellIndex","undefined","rowActive","setRowActiveIndex","requestAnimationFrame","toggleEditing","setRowPinning","currentState","_ref","_currentState$bottom","_extends","bottom","concat","error","console","_exit","Promise","resolve","options","meta","_temp","rowActiveIndex","_table$getRowModel$ro2","saveChanges","getRowModel","rows","id","then","saved","_temp2","e","reject","_React$useState","React","useState","isEditing","setEditing","_React$useState2","isDetailedMode","toggleDetailedMode","createRowButtonRef","useRef","_React$useState3","lastFocusedCellIndex","usePendingChangesState","enabled","doSave","_tableMeta$rowActive$","_table$getRowModel$ro","index","isTemporaryRow"],"mappings":"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"}
@@ -24,7 +24,7 @@ function Header(context) {
24
24
  if (tableMeta.server.loadAllIfNeeded) {
25
25
  var hiddenColumns = getHiddenColumns(table.getState().columnVisibility);
26
26
  // don't pass the search query because we need all data - not filtered data
27
- return Promise.resolve(tableMeta.server.loadAllIfNeeded(table.getState().sorting, table.getState().columnFilters, tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined, hiddenColumns)).then(function () {});
27
+ return Promise.resolve(tableMeta.server.loadAllIfNeeded(table.getState().sorting, table.getState().columnFilters, hiddenColumns, tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined)).then(function () {});
28
28
  }
29
29
  }();
30
30
  // load all data if that is possible
@@ -98,7 +98,7 @@ function Cell(context) {
98
98
  if (tableMeta.server.loadAllIfNeeded) {
99
99
  var hiddenColumns = getHiddenColumns(table.getState().columnVisibility);
100
100
  // don't pass the search query because we need all data - not filtered data
101
- return Promise.resolve(tableMeta.server.loadAllIfNeeded(table.getState().sorting, table.getState().columnFilters, tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined, hiddenColumns)).then(function () {});
101
+ return Promise.resolve(tableMeta.server.loadAllIfNeeded(table.getState().sorting, table.getState().columnFilters, hiddenColumns, tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined)).then(function () {});
102
102
  }
103
103
  }();
104
104
  return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
@@ -1 +1 @@
1
- {"version":3,"file":"Selection.js","sources":["../../../../../../../../../../../src/primitives/Table/Core/components/Columns/Internal/Selection.tsx"],"sourcesContent":["import React from 'react';\nimport {\n HeaderContext as ReactTableHeaderContext,\n CellContext as ReactTableCellContext,\n TableMeta as ReactTableMeta,\n RowSelectionState,\n} from '@tanstack/react-table';\nimport { useLocalization } from '../../../../../../components/Provider/Localization';\nimport { Tooltip } from '../../../../../../components/Tooltip/Tooltip';\nimport { Checkbox } from '../../../../../../components/Checkbox/Checkbox';\nimport { Shortcut } from '../../../../../../components/Shortcut/Shortcut';\nimport { RowContext } from '../../Row/RowContext';\nimport { useTableManagerInternalColumn } from '../../../../useTableManager/types';\nimport { getHiddenColumns } from '../../../../useTableManager/util/columns';\n\nfunction Header<TType = unknown>(context: ReactTableHeaderContext<TType, unknown>) {\n const { texts } = useLocalization();\n const { table } = context;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const isAllRowsSelected = table.getIsAllRowsSelected();\n const isSomeRowsSelected = table.getIsSomeRowsSelected();\n const title = isAllRowsSelected ? texts.table.columns.select.deselectAll : texts.table.columns.select.selectAll;\n\n const handleChange = async (checked: boolean) => {\n // load all data if that is possible\n if (tableMeta.server.loadAllIfNeeded) {\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined,\n hiddenColumns\n );\n }\n\n table.toggleAllRowsSelected(checked);\n };\n\n return (\n <Tooltip title={title}>\n <Checkbox\n aria-label={title}\n className=\"hover:border-blue !-mt-px\"\n checked={isAllRowsSelected}\n indeterminate={isSomeRowsSelected && !isAllRowsSelected}\n loading={tableMeta.server.loading}\n onChange={handleChange}\n />\n </Tooltip>\n );\n}\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nfunction Cell<TType = unknown>(context: ReactTableCellContext<TType, unknown>) {\n const { texts } = useLocalization();\n const { row, table } = context;\n const { hideInternalColumns, rowIndex } = React.useContext(RowContext);\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (hideInternalColumns || (table.options.enableGrouping && table.getState().grouping?.length && !row.getIsGrouped())) {\n return null;\n }\n\n const isSelected = row.getIsGrouped() ? row.getIsAllSubRowsSelected() : row.getIsSelected();\n const canSelect = row.getCanSelect();\n const title = isSelected ? texts.table.columns.select.deselect : texts.table.columns.select.select;\n\n const handleClick = async (event: React.MouseEvent) => {\n event.stopPropagation();\n\n if (row.getIsGrouped()) {\n row.subRows.forEach(row => row.toggleSelected());\n } else if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(tableMeta.rowSelection.lastSelectedRowIndex.current ?? 0, rowIndex);\n\n if (tableMeta.server.loadAllIfNeeded) {\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined,\n hiddenColumns\n );\n }\n\n const selectedRows = table.getRowModel().rows.slice(fromIndex, toIndex + 1);\n table.setRowSelection((currentRowSelection: RowSelectionState) => ({\n ...currentRowSelection,\n ...selectedRows.filter(row => row.getCanSelect()).reduce((state, row) => ({ ...state, [row.id]: true }), {}),\n }));\n } else {\n row.toggleSelected();\n }\n\n tableMeta.rowSelection.lastSelectedRowIndex.current = row.index;\n };\n\n return (\n <Tooltip\n hidden={!canSelect}\n title={\n <>\n {title}\n <Shortcut className=\"ml-2\" keys=\"Space\" />\n </>\n }>\n <Checkbox\n aria-label={title}\n className=\"!mt-0\"\n checked={isSelected}\n onClick={handleClick}\n disabled={!canSelect}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n />\n </Tooltip>\n );\n}\n\nexport const renderer: useTableManagerInternalColumn = {\n header: Header,\n renderer: Cell,\n size: 40,\n meta: {\n align: 'center',\n className: '!px-1',\n // TODO: remove when table3 is migrated, this satisfies the legacy table3 type\n enableSearch: false,\n header: '',\n headerClassName: '!px-1',\n },\n};\n"],"names":["Header","context","_useLocalization","useLocalization","texts","table","tableMeta","options","meta","isAllRowsSelected","getIsAllRowsSelected","isSomeRowsSelected","getIsSomeRowsSelected","title","columns","select","deselectAll","selectAll","handleChange","checked","toggleAllRowsSelected","_temp","server","loadAllIfNeeded","hiddenColumns","getHiddenColumns","getState","columnVisibility","Promise","resolve","sorting","columnFilters","search","enableGlobalFilter","globalFilter","undefined","then","_temp2","e","reject","React","Tooltip","Checkbox","className","indeterminate","loading","onChange","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","Cell","_useLocalization2","row","_React$useContext","useContext","RowContext","hideInternalColumns","rowIndex","enableGrouping","_table$getState$group","grouping","length","getIsGrouped","isSelected","getIsAllSubRowsSelected","getIsSelected","canSelect","getCanSelect","deselect","handleClick","event","rowSelection","lastSelectedRowIndex","current","index","stopPropagation","_temp6","subRows","forEach","toggleSelected","_temp8","shiftKey","_tableMeta$rowSelecti","_temp4","selectedRows","getRowModel","rows","slice","setRowSelection","currentRowSelection","_extends","filter","reduce","state","_extends2","id","_toggleBetween","_temp3","_temp7","hidden","Shortcut","keys","onClick","disabled","renderer","header","size","align","enableSearch","headerClassName"],"mappings":"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"}
1
+ {"version":3,"file":"Selection.js","sources":["../../../../../../../../../../../src/primitives/Table/Core/components/Columns/Internal/Selection.tsx"],"sourcesContent":["import React from 'react';\nimport {\n HeaderContext as ReactTableHeaderContext,\n CellContext as ReactTableCellContext,\n TableMeta as ReactTableMeta,\n RowSelectionState,\n} from '@tanstack/react-table';\nimport { useLocalization } from '../../../../../../components/Provider/Localization';\nimport { Tooltip } from '../../../../../../components/Tooltip/Tooltip';\nimport { Checkbox } from '../../../../../../components/Checkbox/Checkbox';\nimport { Shortcut } from '../../../../../../components/Shortcut/Shortcut';\nimport { RowContext } from '../../Row/RowContext';\nimport { useTableManagerInternalColumn } from '../../../../useTableManager/types';\nimport { getHiddenColumns } from '../../../../useTableManager/util/columns';\n\nfunction Header<TType = unknown>(context: ReactTableHeaderContext<TType, unknown>) {\n const { texts } = useLocalization();\n const { table } = context;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n const isAllRowsSelected = table.getIsAllRowsSelected();\n const isSomeRowsSelected = table.getIsSomeRowsSelected();\n const title = isAllRowsSelected ? texts.table.columns.select.deselectAll : texts.table.columns.select.selectAll;\n\n const handleChange = async (checked: boolean) => {\n // load all data if that is possible\n if (tableMeta.server.loadAllIfNeeded) {\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n hiddenColumns,\n tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined\n );\n }\n\n table.toggleAllRowsSelected(checked);\n };\n\n return (\n <Tooltip title={title}>\n <Checkbox\n aria-label={title}\n className=\"hover:border-blue !-mt-px\"\n checked={isAllRowsSelected}\n indeterminate={isSomeRowsSelected && !isAllRowsSelected}\n loading={tableMeta.server.loading}\n onChange={handleChange}\n />\n </Tooltip>\n );\n}\n\nconst toggleBetween = (fromRowIndex: number, toRowIndex: number): [number, number] => {\n const fromIndex = toRowIndex < fromRowIndex ? toRowIndex : fromRowIndex;\n const toIndex = toRowIndex > fromRowIndex ? toRowIndex : fromRowIndex;\n\n return [fromIndex, toIndex];\n};\n\nfunction Cell<TType = unknown>(context: ReactTableCellContext<TType, unknown>) {\n const { texts } = useLocalization();\n const { row, table } = context;\n const { hideInternalColumns, rowIndex } = React.useContext(RowContext);\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (hideInternalColumns || (table.options.enableGrouping && table.getState().grouping?.length && !row.getIsGrouped())) {\n return null;\n }\n\n const isSelected = row.getIsGrouped() ? row.getIsAllSubRowsSelected() : row.getIsSelected();\n const canSelect = row.getCanSelect();\n const title = isSelected ? texts.table.columns.select.deselect : texts.table.columns.select.select;\n\n const handleClick = async (event: React.MouseEvent) => {\n event.stopPropagation();\n\n if (row.getIsGrouped()) {\n row.subRows.forEach(row => row.toggleSelected());\n } else if (event.shiftKey) {\n const [fromIndex, toIndex] = toggleBetween(tableMeta.rowSelection.lastSelectedRowIndex.current ?? 0, rowIndex);\n\n if (tableMeta.server.loadAllIfNeeded) {\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n hiddenColumns,\n tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined\n );\n }\n\n const selectedRows = table.getRowModel().rows.slice(fromIndex, toIndex + 1);\n table.setRowSelection((currentRowSelection: RowSelectionState) => ({\n ...currentRowSelection,\n ...selectedRows.filter(row => row.getCanSelect()).reduce((state, row) => ({ ...state, [row.id]: true }), {}),\n }));\n } else {\n row.toggleSelected();\n }\n\n tableMeta.rowSelection.lastSelectedRowIndex.current = row.index;\n };\n\n return (\n <Tooltip\n hidden={!canSelect}\n title={\n <>\n {title}\n <Shortcut className=\"ml-2\" keys=\"Space\" />\n </>\n }>\n <Checkbox\n aria-label={title}\n className=\"!mt-0\"\n checked={isSelected}\n onClick={handleClick}\n disabled={!canSelect}\n // this is necessary to remove console spam from eslint\n onChange={() => false}\n />\n </Tooltip>\n );\n}\n\nexport const renderer: useTableManagerInternalColumn = {\n header: Header,\n renderer: Cell,\n size: 40,\n meta: {\n align: 'center',\n className: '!px-1',\n // TODO: remove when table3 is migrated, this satisfies the legacy table3 type\n enableSearch: false,\n header: '',\n headerClassName: '!px-1',\n },\n};\n"],"names":["Header","context","_useLocalization","useLocalization","texts","table","tableMeta","options","meta","isAllRowsSelected","getIsAllRowsSelected","isSomeRowsSelected","getIsSomeRowsSelected","title","columns","select","deselectAll","selectAll","handleChange","checked","toggleAllRowsSelected","_temp","server","loadAllIfNeeded","hiddenColumns","getHiddenColumns","getState","columnVisibility","Promise","resolve","sorting","columnFilters","search","enableGlobalFilter","globalFilter","undefined","then","_temp2","e","reject","React","Tooltip","Checkbox","className","indeterminate","loading","onChange","toggleBetween","fromRowIndex","toRowIndex","fromIndex","toIndex","Cell","_useLocalization2","row","_React$useContext","useContext","RowContext","hideInternalColumns","rowIndex","enableGrouping","_table$getState$group","grouping","length","getIsGrouped","isSelected","getIsAllSubRowsSelected","getIsSelected","canSelect","getCanSelect","deselect","handleClick","event","rowSelection","lastSelectedRowIndex","current","index","stopPropagation","_temp6","subRows","forEach","toggleSelected","_temp8","shiftKey","_tableMeta$rowSelecti","_temp4","selectedRows","getRowModel","rows","slice","setRowSelection","currentRowSelection","_extends","filter","reduce","state","_extends2","id","_toggleBetween","_temp3","_temp7","hidden","Shortcut","keys","onClick","disabled","renderer","header","size","align","enableSearch","headerClassName"],"mappings":"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"}
@@ -20,8 +20,7 @@ function Summary(props) {
20
20
  count = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(rowsSelectedLength)), "\xA0", texts.table.footer.summary.count, "\xA0", /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(length)));
21
21
  } else if (!tableMeta.server.isEnabled && ((_table$getState$colum = table.getState().columnFilters) !== null && _table$getState$colum !== void 0 && _table$getState$colum.length ||
22
22
  // filtered data
23
- !!table.getState().globalFilter && table.options.enableGlobalFilter) // search with hide enabled
24
- ) {
23
+ !!table.getState().globalFilter && table.options.enableGlobalFilter)) {
25
24
  label = texts.table.footer.summary.records;
26
25
  count = /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(currentLength)), "\xA0", texts.table.footer.summary.count, "\xA0", /*#__PURE__*/React__default.createElement("strong", null, new Intl.NumberFormat(locale).format(length)));
27
26
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"Summary.js","sources":["../../../../../../../../../../src/primitives/Table/Core/components/Footer/Summary.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../../../components/Provider/Localization';\n\nexport type FooterSummaryProps<TType = unknown> = {\n table: ReactTable<TType>;\n};\n\nexport function Summary<TType = unknown>(props: FooterSummaryProps<TType>) {\n const { table } = props;\n const { locale, texts } = useLocalization();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const length = tableMeta.length;\n const currentLength = table.getRowModel().rows.length;\n\n let label;\n let count;\n\n // row selection\n // use table state and not the selected row model because of the way server loading works\n const rowsSelectedLength = Object.keys(table.getState().rowSelection).length;\n\n if (rowsSelectedLength > 0) {\n label = texts.table.footer.summary.selected;\n count = (\n <>\n <strong>{new Intl.NumberFormat(locale).format(rowsSelectedLength)}</strong>&nbsp;\n {texts.table.footer.summary.count}&nbsp;\n <strong>{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else if (\n !tableMeta.server.isEnabled &&\n (table.getState().columnFilters?.length || // filtered data\n (!!table.getState().globalFilter && table.options.enableGlobalFilter)) // search with hide enabled\n ) {\n label = texts.table.footer.summary.records;\n count = (\n <>\n <strong>{new Intl.NumberFormat(locale).format(currentLength)}</strong>&nbsp;\n {texts.table.footer.summary.count}&nbsp;\n <strong>{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else {\n label = texts.table.footer.summary.records;\n count = <strong>{new Intl.NumberFormat(locale).format(length)}</strong>;\n }\n\n return (\n <div\n className=\"sticky left-0 z-20 flex h-full w-fit items-center whitespace-nowrap bg-white pr-1 shadow-[12px_0px_6px_white]\"\n data-taco=\"table-footer-summary\">\n {label}&nbsp;{count}\n </div>\n );\n}\n"],"names":["Summary","props","table","_useLocalization","useLocalization","locale","texts","tableMeta","options","meta","length","currentLength","getRowModel","rows","label","count","rowsSelectedLength","Object","keys","getState","rowSelection","footer","summary","selected","React","Intl","NumberFormat","format","server","isEnabled","_table$getState$colum","columnFilters","globalFilter","enableGlobalFilter","records","className"],"mappings":";;;SAQgBA,OAAOA,CAAkBC,KAAgC;;EACrE,IAAQC,KAAK,GAAKD,KAAK,CAAfC,KAAK;EACb,IAAAC,gBAAA,GAA0BC,eAAe,EAAE;IAAnCC,MAAM,GAAAF,gBAAA,CAANE,MAAM;IAAEC,KAAK,GAAAH,gBAAA,CAALG,KAAK;EACrB,IAAMC,SAAS,GAAGL,KAAK,CAACM,OAAO,CAACC,IAA6B;EAC7D,IAAMC,MAAM,GAAGH,SAAS,CAACG,MAAM;EAC/B,IAAMC,aAAa,GAAGT,KAAK,CAACU,WAAW,EAAE,CAACC,IAAI,CAACH,MAAM;EAErD,IAAII,KAAK;EACT,IAAIC,KAAK;;;EAIT,IAAMC,kBAAkB,GAAGC,MAAM,CAACC,IAAI,CAAChB,KAAK,CAACiB,QAAQ,EAAE,CAACC,YAAY,CAAC,CAACV,MAAM;EAE5E,IAAIM,kBAAkB,GAAG,CAAC,EAAE;IACxBF,KAAK,GAAGR,KAAK,CAACJ,KAAK,CAACmB,MAAM,CAACC,OAAO,CAACC,QAAQ;IAC3CR,KAAK,gBACDS,yEACIA,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACrB,MAAM,CAAC,CAACsB,MAAM,CAACX,kBAAkB,CAAC,CAAU,UAC1EV,KAAK,CAACJ,KAAK,CAACmB,MAAM,CAACC,OAAO,CAACP,KAAK,uBACjCS,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACrB,MAAM,CAAC,CAACsB,MAAM,CAACjB,MAAM,CAAC,CAAU,CAEtE;GACJ,MAAM,IACH,CAACH,SAAS,CAACqB,MAAM,CAACC,SAAS,KAC1B,CAAAC,qBAAA,GAAA5B,KAAK,CAACiB,QAAQ,EAAE,CAACY,aAAa,cAAAD,qBAAA,eAA9BA,qBAAA,CAAgCpB,MAAM;;EAClC,CAAC,CAACR,KAAK,CAACiB,QAAQ,EAAE,CAACa,YAAY,IAAI9B,KAAK,CAACM,OAAO,CAACyB,kBAAmB,CAAC;IAC5E;IACEnB,KAAK,GAAGR,KAAK,CAACJ,KAAK,CAACmB,MAAM,CAACC,OAAO,CAACY,OAAO;IAC1CnB,KAAK,gBACDS,yEACIA,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACrB,MAAM,CAAC,CAACsB,MAAM,CAAChB,aAAa,CAAC,CAAU,UACrEL,KAAK,CAACJ,KAAK,CAACmB,MAAM,CAACC,OAAO,CAACP,KAAK,uBACjCS,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACrB,MAAM,CAAC,CAACsB,MAAM,CAACjB,MAAM,CAAC,CAAU,CAEtE;GACJ,MAAM;IACHI,KAAK,GAAGR,KAAK,CAACJ,KAAK,CAACmB,MAAM,CAACC,OAAO,CAACY,OAAO;IAC1CnB,KAAK,gBAAGS,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACrB,MAAM,CAAC,CAACsB,MAAM,CAACjB,MAAM,CAAC,CAAU;;EAG3E,oBACIc;IACIW,SAAS,EAAC,+GAA+G;iBAC/G;KACTrB,KAAK,UAAQC,KAAK,CACjB;AAEd;;;;"}
1
+ {"version":3,"file":"Summary.js","sources":["../../../../../../../../../../src/primitives/Table/Core/components/Footer/Summary.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../../../components/Provider/Localization';\n\nexport type FooterSummaryProps<TType = unknown> = {\n table: ReactTable<TType>;\n};\n\nexport function Summary<TType = unknown>(props: FooterSummaryProps<TType>) {\n const { table } = props;\n const { locale, texts } = useLocalization();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const length = tableMeta.length;\n const currentLength = table.getRowModel().rows.length;\n\n let label;\n let count;\n\n // row selection\n // use table state and not the selected row model because of the way server loading works\n const rowsSelectedLength = Object.keys(table.getState().rowSelection).length;\n\n if (rowsSelectedLength > 0) {\n label = texts.table.footer.summary.selected;\n count = (\n <>\n <strong>{new Intl.NumberFormat(locale).format(rowsSelectedLength)}</strong>&nbsp;\n {texts.table.footer.summary.count}&nbsp;\n <strong>{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else if (\n !tableMeta.server.isEnabled &&\n (table.getState().columnFilters?.length || // filtered data\n (!!table.getState().globalFilter && table.options.enableGlobalFilter))\n ) {\n label = texts.table.footer.summary.records;\n count = (\n <>\n <strong>{new Intl.NumberFormat(locale).format(currentLength)}</strong>&nbsp;\n {texts.table.footer.summary.count}&nbsp;\n <strong>{new Intl.NumberFormat(locale).format(length)}</strong>\n </>\n );\n } else {\n label = texts.table.footer.summary.records;\n count = <strong>{new Intl.NumberFormat(locale).format(length)}</strong>;\n }\n\n return (\n <div\n className=\"sticky left-0 z-20 flex h-full w-fit items-center whitespace-nowrap bg-white pr-1 shadow-[12px_0px_6px_white]\"\n data-taco=\"table-footer-summary\">\n {label}&nbsp;{count}\n </div>\n );\n}\n"],"names":["Summary","props","table","_useLocalization","useLocalization","locale","texts","tableMeta","options","meta","length","currentLength","getRowModel","rows","label","count","rowsSelectedLength","Object","keys","getState","rowSelection","footer","summary","selected","React","Intl","NumberFormat","format","server","isEnabled","_table$getState$colum","columnFilters","globalFilter","enableGlobalFilter","records","className"],"mappings":";;;SAQgBA,OAAOA,CAAkBC,KAAgC;;EACrE,IAAQC,KAAK,GAAKD,KAAK,CAAfC,KAAK;EACb,IAAAC,gBAAA,GAA0BC,eAAe,EAAE;IAAnCC,MAAM,GAAAF,gBAAA,CAANE,MAAM;IAAEC,KAAK,GAAAH,gBAAA,CAALG,KAAK;EACrB,IAAMC,SAAS,GAAGL,KAAK,CAACM,OAAO,CAACC,IAA6B;EAC7D,IAAMC,MAAM,GAAGH,SAAS,CAACG,MAAM;EAC/B,IAAMC,aAAa,GAAGT,KAAK,CAACU,WAAW,EAAE,CAACC,IAAI,CAACH,MAAM;EAErD,IAAII,KAAK;EACT,IAAIC,KAAK;;;EAIT,IAAMC,kBAAkB,GAAGC,MAAM,CAACC,IAAI,CAAChB,KAAK,CAACiB,QAAQ,EAAE,CAACC,YAAY,CAAC,CAACV,MAAM;EAE5E,IAAIM,kBAAkB,GAAG,CAAC,EAAE;IACxBF,KAAK,GAAGR,KAAK,CAACJ,KAAK,CAACmB,MAAM,CAACC,OAAO,CAACC,QAAQ;IAC3CR,KAAK,gBACDS,yEACIA,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACrB,MAAM,CAAC,CAACsB,MAAM,CAACX,kBAAkB,CAAC,CAAU,UAC1EV,KAAK,CAACJ,KAAK,CAACmB,MAAM,CAACC,OAAO,CAACP,KAAK,uBACjCS,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACrB,MAAM,CAAC,CAACsB,MAAM,CAACjB,MAAM,CAAC,CAAU,CAEtE;GACJ,MAAM,IACH,CAACH,SAAS,CAACqB,MAAM,CAACC,SAAS,KAC1B,CAAAC,qBAAA,GAAA5B,KAAK,CAACiB,QAAQ,EAAE,CAACY,aAAa,cAAAD,qBAAA,eAA9BA,qBAAA,CAAgCpB,MAAM;;EAClC,CAAC,CAACR,KAAK,CAACiB,QAAQ,EAAE,CAACa,YAAY,IAAI9B,KAAK,CAACM,OAAO,CAACyB,kBAAmB,CAAC,EAC5E;IACEnB,KAAK,GAAGR,KAAK,CAACJ,KAAK,CAACmB,MAAM,CAACC,OAAO,CAACY,OAAO;IAC1CnB,KAAK,gBACDS,yEACIA,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACrB,MAAM,CAAC,CAACsB,MAAM,CAAChB,aAAa,CAAC,CAAU,UACrEL,KAAK,CAACJ,KAAK,CAACmB,MAAM,CAACC,OAAO,CAACP,KAAK,uBACjCS,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACrB,MAAM,CAAC,CAACsB,MAAM,CAACjB,MAAM,CAAC,CAAU,CAEtE;GACJ,MAAM;IACHI,KAAK,GAAGR,KAAK,CAACJ,KAAK,CAACmB,MAAM,CAACC,OAAO,CAACY,OAAO;IAC1CnB,KAAK,gBAAGS,6CAAS,IAAIC,IAAI,CAACC,YAAY,CAACrB,MAAM,CAAC,CAACsB,MAAM,CAACjB,MAAM,CAAC,CAAU;;EAG3E,oBACIc;IACIW,SAAS,EAAC,+GAA+G;iBAC/G;KACTrB,KAAK,UAAQC,KAAK,CACjB;AAEd;;;;"}
@@ -29,7 +29,7 @@ function RowWithServerLoading(props) {
29
29
  var hiddenColumns = getHiddenColumns(props.table.getState().columnVisibility);
30
30
  timeout = setTimeout(function () {
31
31
  var _tableMeta$server$loa, _tableMeta$server;
32
- (_tableMeta$server$loa = (_tableMeta$server = tableMeta.server).loadPage) === null || _tableMeta$server$loa === void 0 ? void 0 : _tableMeta$server$loa.call(_tableMeta$server, pageIndex, sorting, filters, tableMeta.search.enableGlobalFilter ? search : undefined, hiddenColumns);
32
+ (_tableMeta$server$loa = (_tableMeta$server = tableMeta.server).loadPage) === null || _tableMeta$server$loa === void 0 ? void 0 : _tableMeta$server$loa.call(_tableMeta$server, pageIndex, sorting, filters, hiddenColumns, tableMeta.search.enableGlobalFilter ? search : undefined);
33
33
  }, DELAY_BEFORE_LOAD_MS);
34
34
  }
35
35
  return function () {
@@ -1 +1 @@
1
- {"version":3,"file":"SkeletonRow.js","sources":["../../../../../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { getHiddenColumns } from '../../../../useTableManager/util/columns';\n\nconst DELAY_BEFORE_LOAD_MS = 150;\n\nexport type RowProps<TType = unknown> = {\n index: number;\n scrollDirection: 'forward' | 'backward' | undefined;\n table: ReactTable<TType>;\n};\n\nexport function SkeletonRow<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (tableMeta.server.isEnabled) {\n return <RowWithServerLoading {...props} />;\n }\n\n return <Skeleton cellsCount={table.getVisibleFlatColumns().length} index={index} />;\n}\n\nfunction RowWithServerLoading<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const pageIndex = (Math.floor(index / tableMeta.server.pageSize) * tableMeta.server.pageSize) / tableMeta.server.pageSize;\n\n React.useEffect(() => {\n let timeout;\n\n if (tableMeta.server.isEnabled) {\n const sorting = props.table.getState().sorting;\n const filters = props.table.getState().columnFilters;\n const search = props.table.getState().globalFilter;\n const hiddenColumns = getHiddenColumns(props.table.getState().columnVisibility);\n\n timeout = setTimeout(() => {\n tableMeta.server.loadPage?.(\n pageIndex,\n sorting,\n filters,\n tableMeta.search.enableGlobalFilter ? search : undefined,\n hiddenColumns\n );\n }, DELAY_BEFORE_LOAD_MS);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n\n const groupedCellCount = table.getState()?.grouping.length ?? 0;\n const ungroupedCellCount = table.getVisibleFlatColumns().length - groupedCellCount;\n\n return <Skeleton cellsCount={ungroupedCellCount} index={index} />;\n}\n\nconst Skeleton = React.forwardRef(function Skeleton(\n props: { cellsCount: number; index: number },\n ref: React.Ref<HTMLTableRowElement>\n) {\n const { cellsCount, index } = props;\n\n return (\n <tr data-row-index={index} ref={ref}>\n {Array(cellsCount)\n .fill(null)\n .map((_, index) => (\n <td key={index}>\n <span className=\"bg-grey-100 text-grey-700 h-4 w-full text-center text-xs\" />\n </td>\n ))}\n </tr>\n );\n});\n"],"names":["DELAY_BEFORE_LOAD_MS","SkeletonRow","props","index","table","tableMeta","options","meta","server","isEnabled","React","RowWithServerLoading","Skeleton","cellsCount","getVisibleFlatColumns","length","pageIndex","Math","floor","pageSize","useEffect","timeout","sorting","getState","filters","columnFilters","search","globalFilter","hiddenColumns","getHiddenColumns","columnVisibility","setTimeout","_tableMeta$server$loa","_tableMeta$server","loadPage","call","enableGlobalFilter","undefined","clearTimeout","groupedCellCount","_table$getState$group","_table$getState","grouping","ungroupedCellCount","forwardRef","ref","Array","fill","map","_","key","className"],"mappings":"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"}
1
+ {"version":3,"file":"SkeletonRow.js","sources":["../../../../../../../../../../../src/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { getHiddenColumns } from '../../../../useTableManager/util/columns';\n\nconst DELAY_BEFORE_LOAD_MS = 150;\n\nexport type RowProps<TType = unknown> = {\n index: number;\n scrollDirection: 'forward' | 'backward' | undefined;\n table: ReactTable<TType>;\n};\n\nexport function SkeletonRow<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n\n if (tableMeta.server.isEnabled) {\n return <RowWithServerLoading {...props} />;\n }\n\n return <Skeleton cellsCount={table.getVisibleFlatColumns().length} index={index} />;\n}\n\nfunction RowWithServerLoading<TType = unknown>(props: RowProps<TType>) {\n const { index, table } = props;\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const pageIndex = (Math.floor(index / tableMeta.server.pageSize) * tableMeta.server.pageSize) / tableMeta.server.pageSize;\n\n React.useEffect(() => {\n let timeout;\n\n if (tableMeta.server.isEnabled) {\n const sorting = props.table.getState().sorting;\n const filters = props.table.getState().columnFilters;\n const search = props.table.getState().globalFilter;\n const hiddenColumns = getHiddenColumns(props.table.getState().columnVisibility);\n\n timeout = setTimeout(() => {\n tableMeta.server.loadPage?.(\n pageIndex,\n sorting,\n filters,\n hiddenColumns,\n tableMeta.search.enableGlobalFilter ? search : undefined\n );\n }, DELAY_BEFORE_LOAD_MS);\n }\n\n return () => {\n clearTimeout(timeout);\n };\n }, []);\n\n const groupedCellCount = table.getState()?.grouping.length ?? 0;\n const ungroupedCellCount = table.getVisibleFlatColumns().length - groupedCellCount;\n\n return <Skeleton cellsCount={ungroupedCellCount} index={index} />;\n}\n\nconst Skeleton = React.forwardRef(function Skeleton(\n props: { cellsCount: number; index: number },\n ref: React.Ref<HTMLTableRowElement>\n) {\n const { cellsCount, index } = props;\n\n return (\n <tr data-row-index={index} ref={ref}>\n {Array(cellsCount)\n .fill(null)\n .map((_, index) => (\n <td key={index}>\n <span className=\"bg-grey-100 text-grey-700 h-4 w-full text-center text-xs\" />\n </td>\n ))}\n </tr>\n );\n});\n"],"names":["DELAY_BEFORE_LOAD_MS","SkeletonRow","props","index","table","tableMeta","options","meta","server","isEnabled","React","RowWithServerLoading","Skeleton","cellsCount","getVisibleFlatColumns","length","pageIndex","Math","floor","pageSize","useEffect","timeout","sorting","getState","filters","columnFilters","search","globalFilter","hiddenColumns","getHiddenColumns","columnVisibility","setTimeout","_tableMeta$server$loa","_tableMeta$server","loadPage","call","enableGlobalFilter","undefined","clearTimeout","groupedCellCount","_table$getState$group","_table$getState","grouping","ungroupedCellCount","forwardRef","ref","Array","fill","map","_","key","className"],"mappings":"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"}
@@ -75,7 +75,7 @@ function Print(props) {
75
75
  if (tableMeta.server.isEnabled && tableMeta.server.loadAllIfNeeded) {
76
76
  var hiddenColumns = getHiddenColumns(table.getState().columnVisibility);
77
77
  var _temp = _catch(function () {
78
- return Promise.resolve(tableMeta.server.loadAllIfNeeded(table.getState().sorting, table.getState().columnFilters, tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined, hiddenColumns)).then(function () {});
78
+ return Promise.resolve(tableMeta.server.loadAllIfNeeded(table.getState().sorting, table.getState().columnFilters, hiddenColumns, tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined)).then(function () {});
79
79
  }, function (error) {
80
80
  var errorMessage = texts.table.print.error + ": " + error;
81
81
  console.error(errorMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"Print.js","sources":["../../../../../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Print/Print.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { IconButton } from '../../../../../../../components/IconButton/IconButton';\nimport { useLocalization } from '../../../../../../../components/Provider/Localization';\nimport { useToast } from '../../../../../../../components/Toast/Toaster';\nimport { TableRef } from '../../../../../types';\nimport { PrintDialog } from './PrintDialog';\nimport { Shortcut } from '../../../../../../../components/Shortcut/Shortcut';\nimport { getHiddenColumns } from '../../../../../useTableManager/util/columns';\n\nexport type PrintProps<TType = unknown> = {\n table: ReactTable<TType>;\n tableId: string;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Print<TType = unknown>(props: PrintProps<TType>) {\n const { table, tableId, tableRef } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLButtonElement>(null);\n const lastScrollTopRef = React.useRef<number>();\n const toast = useToast();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const { allRows, orientation, size, splitGroups } = tableMeta.printing.settings;\n\n const togglePrinting = React.useCallback(\n enabled => {\n tableMeta.printing.setIsPrinting(enabled);\n\n if (tableRef.current) {\n if (enabled) {\n lastScrollTopRef.current = tableRef.current.scrollTop;\n } else if (lastScrollTopRef.current !== undefined) {\n tableRef.current.scrollTop = lastScrollTopRef.current;\n lastScrollTopRef.current = undefined;\n }\n }\n },\n [tableRef.current]\n );\n\n React.useEffect(() => {\n const afterPrint = () => {\n togglePrinting(false);\n };\n\n window.addEventListener('afterprint', afterPrint);\n\n return () => {\n window.removeEventListener('afterprint', afterPrint);\n };\n }, []);\n\n const print = async () => {\n const toastRef = toast.loading(texts.table.print.loading);\n\n if (tableMeta.server.isEnabled && tableMeta.server.loadAllIfNeeded) {\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n try {\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined,\n hiddenColumns\n );\n } catch (error) {\n const errorMessage = `${texts.table.print.error}: ${error}`;\n console.error(errorMessage);\n toastRef.error(errorMessage);\n }\n }\n\n // this might close immediately if the dataset is small - this is okay\n toastRef.close();\n\n // use a timeout to let the toast close, otherwise it freezes mid animation when the print dialog opens\n setTimeout(() => {\n // do this here because Safari doesn't support the beforeprint event\n togglePrinting(true);\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n if (isSafari) {\n try {\n // Try using document.execCommand for printing in Safari\n document.execCommand('print', false, undefined);\n } catch (error) {\n // If document.execCommand fails or throws an error, fallback to window.print()\n window.print();\n }\n } else {\n // Execute window.print() for all other browsers\n window.print();\n }\n });\n });\n }, 150);\n };\n\n const printStyle = [`@page { size: ${size} ${orientation}; }`];\n\n if (!allRows) {\n printStyle.push(`table[data-taco^='table']#${tableId} tr:not([data-row-selected=\"true\"]) { display: none; }`);\n }\n\n if (splitGroups) {\n printStyle.push(`table[data-taco^='table']#${tableId} tr[data-row-group]:not(:first-child) { break-before: page; }`);\n }\n\n const shortcut = { key: 'p', meta: true, shift: false };\n const tooltip = (\n <>\n {texts.table.print.tooltip}\n <Shortcut className=\"ml-2\" keys={shortcut} />\n </>\n );\n\n return (\n <>\n <style media=\"print\">{printStyle.join('\\n')}</style>\n <IconButton\n icon=\"print\"\n aria-label={texts.table.print.tooltip}\n dialog={dialogProps => (\n <PrintDialog\n {...dialogProps}\n table={table}\n onAccept={print}\n orientation={orientation}\n setOrientation={value => tableMeta.printing.setSetting('orientation', value)}\n size={size}\n setSize={value => tableMeta.printing.setSetting('size', value)}\n allRows={allRows}\n setAllRows={value => tableMeta.printing.setSetting('allRows', value)}\n splitGroups={splitGroups}\n setSplitGroups={value => tableMeta.printing.setSetting('splitGroups', value)}\n />\n )}\n ref={ref}\n shortcut={shortcut}\n tooltip={tooltip}\n />\n </>\n );\n}\n"],"names":["Print","props","table","tableId","tableRef","_useLocalization","useLocalization","texts","ref","React","useRef","lastScrollTopRef","toast","useToast","tableMeta","options","meta","_tableMeta$printing$s","printing","settings","allRows","orientation","size","splitGroups","togglePrinting","useCallback","enabled","setIsPrinting","current","scrollTop","undefined","useEffect","afterPrint","window","addEventListener","removeEventListener","print","toastRef","close","setTimeout","requestAnimationFrame","isSafari","test","navigator","userAgent","document","execCommand","error","loading","_temp2","server","isEnabled","loadAllIfNeeded","hiddenColumns","getHiddenColumns","getState","columnVisibility","_temp","_catch","Promise","resolve","sorting","columnFilters","search","enableGlobalFilter","globalFilter","then","errorMessage","console","_temp3","e","reject","printStyle","push","shortcut","key","shift","tooltip","Shortcut","className","keys","media","join","IconButton","icon","dialog","dialogProps","PrintDialog","onAccept","setOrientation","value","setSetting","setSize","setAllRows","setSplitGroups"],"mappings":"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"}
1
+ {"version":3,"file":"Print.js","sources":["../../../../../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Print/Print.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { IconButton } from '../../../../../../../components/IconButton/IconButton';\nimport { useLocalization } from '../../../../../../../components/Provider/Localization';\nimport { useToast } from '../../../../../../../components/Toast/Toaster';\nimport { TableRef } from '../../../../../types';\nimport { PrintDialog } from './PrintDialog';\nimport { Shortcut } from '../../../../../../../components/Shortcut/Shortcut';\nimport { getHiddenColumns } from '../../../../../useTableManager/util/columns';\n\nexport type PrintProps<TType = unknown> = {\n table: ReactTable<TType>;\n tableId: string;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Print<TType = unknown>(props: PrintProps<TType>) {\n const { table, tableId, tableRef } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLButtonElement>(null);\n const lastScrollTopRef = React.useRef<number>();\n const toast = useToast();\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const { allRows, orientation, size, splitGroups } = tableMeta.printing.settings;\n\n const togglePrinting = React.useCallback(\n enabled => {\n tableMeta.printing.setIsPrinting(enabled);\n\n if (tableRef.current) {\n if (enabled) {\n lastScrollTopRef.current = tableRef.current.scrollTop;\n } else if (lastScrollTopRef.current !== undefined) {\n tableRef.current.scrollTop = lastScrollTopRef.current;\n lastScrollTopRef.current = undefined;\n }\n }\n },\n [tableRef.current]\n );\n\n React.useEffect(() => {\n const afterPrint = () => {\n togglePrinting(false);\n };\n\n window.addEventListener('afterprint', afterPrint);\n\n return () => {\n window.removeEventListener('afterprint', afterPrint);\n };\n }, []);\n\n const print = async () => {\n const toastRef = toast.loading(texts.table.print.loading);\n\n if (tableMeta.server.isEnabled && tableMeta.server.loadAllIfNeeded) {\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n try {\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n hiddenColumns,\n tableMeta.search.enableGlobalFilter ? table.getState().globalFilter : undefined\n );\n } catch (error) {\n const errorMessage = `${texts.table.print.error}: ${error}`;\n console.error(errorMessage);\n toastRef.error(errorMessage);\n }\n }\n\n // this might close immediately if the dataset is small - this is okay\n toastRef.close();\n\n // use a timeout to let the toast close, otherwise it freezes mid animation when the print dialog opens\n setTimeout(() => {\n // do this here because Safari doesn't support the beforeprint event\n togglePrinting(true);\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\n if (isSafari) {\n try {\n // Try using document.execCommand for printing in Safari\n document.execCommand('print', false, undefined);\n } catch (error) {\n // If document.execCommand fails or throws an error, fallback to window.print()\n window.print();\n }\n } else {\n // Execute window.print() for all other browsers\n window.print();\n }\n });\n });\n }, 150);\n };\n\n const printStyle = [`@page { size: ${size} ${orientation}; }`];\n\n if (!allRows) {\n printStyle.push(`table[data-taco^='table']#${tableId} tr:not([data-row-selected=\"true\"]) { display: none; }`);\n }\n\n if (splitGroups) {\n printStyle.push(`table[data-taco^='table']#${tableId} tr[data-row-group]:not(:first-child) { break-before: page; }`);\n }\n\n const shortcut = { key: 'p', meta: true, shift: false };\n const tooltip = (\n <>\n {texts.table.print.tooltip}\n <Shortcut className=\"ml-2\" keys={shortcut} />\n </>\n );\n\n return (\n <>\n <style media=\"print\">{printStyle.join('\\n')}</style>\n <IconButton\n icon=\"print\"\n aria-label={texts.table.print.tooltip}\n dialog={dialogProps => (\n <PrintDialog\n {...dialogProps}\n table={table}\n onAccept={print}\n orientation={orientation}\n setOrientation={value => tableMeta.printing.setSetting('orientation', value)}\n size={size}\n setSize={value => tableMeta.printing.setSetting('size', value)}\n allRows={allRows}\n setAllRows={value => tableMeta.printing.setSetting('allRows', value)}\n splitGroups={splitGroups}\n setSplitGroups={value => tableMeta.printing.setSetting('splitGroups', value)}\n />\n )}\n ref={ref}\n shortcut={shortcut}\n tooltip={tooltip}\n />\n </>\n );\n}\n"],"names":["Print","props","table","tableId","tableRef","_useLocalization","useLocalization","texts","ref","React","useRef","lastScrollTopRef","toast","useToast","tableMeta","options","meta","_tableMeta$printing$s","printing","settings","allRows","orientation","size","splitGroups","togglePrinting","useCallback","enabled","setIsPrinting","current","scrollTop","undefined","useEffect","afterPrint","window","addEventListener","removeEventListener","print","toastRef","close","setTimeout","requestAnimationFrame","isSafari","test","navigator","userAgent","document","execCommand","error","loading","_temp2","server","isEnabled","loadAllIfNeeded","hiddenColumns","getHiddenColumns","getState","columnVisibility","_temp","_catch","Promise","resolve","sorting","columnFilters","search","enableGlobalFilter","globalFilter","then","errorMessage","console","_temp3","e","reject","printStyle","push","shortcut","key","shift","tooltip","Shortcut","className","keys","media","join","IconButton","icon","dialog","dialogProps","PrintDialog","onAccept","setOrientation","value","setSetting","setSize","setAllRows","setSplitGroups"],"mappings":"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"}
@@ -30,9 +30,9 @@ function Search(props) {
30
30
  var _temp = function () {
31
31
  if (tableMeta.server.loadAllIfNeeded && !tableMeta.server._experimentalDataLoader2) {
32
32
  // don't pass the search query because we need all data - not filtered data
33
- return Promise.resolve(tableMeta.server.loadAllIfNeeded(table.getState().sorting, table.getState().columnFilters,
33
+ return Promise.resolve(tableMeta.server.loadAllIfNeeded(table.getState().sorting, table.getState().columnFilters, hiddenColumns,
34
34
  // the old data loader doesn't have server side search
35
- undefined, hiddenColumns)).then(function () {});
35
+ undefined)).then(function () {});
36
36
  }
37
37
  }();
38
38
  // load all data if that is possible
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sources":["../../../../../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Search/Search.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../../../../../components/Provider/Localization';\nimport { SearchInput2 } from '../../../../../../../components/SearchInput2/SearchInput2';\nimport { Switch } from '../../../../../../../components/Switch/Switch';\nimport { TableRef } from '../../../../../types';\nimport { getHiddenColumns } from '../../../../../useTableManager/util/columns';\n\ntype SearchProps<TType = unknown> = {\n scrollToIndex: any;\n table: ReactTable<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Search<TType = unknown>(props: SearchProps<TType>) {\n const { scrollToIndex, table, tableRef } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const query = table.getState().globalFilter;\n const scrollTo = (rowIndex: number) => scrollToIndex(rowIndex, { align: 'center' });\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n React.useEffect(() => {\n if (tableMeta.search.highlightedColumnIndexes.length) {\n scrollTo(tableMeta.search.highlightedColumnIndexes[0][0]);\n }\n }, [tableMeta.search.highlightedColumnIndexes.length]);\n\n const handleFocus = async () => {\n // load all data if that is possible\n if (tableMeta.server.loadAllIfNeeded && !tableMeta.server._experimentalDataLoader2) {\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n // the old data loader doesn't have server side search\n undefined,\n hiddenColumns\n );\n }\n };\n\n const [loading, setLoading] = React.useState(false);\n\n const searchTimeoutRef = React.useRef<NodeJS.Timeout>();\n\n const handleChange = (query: any) => {\n table.setGlobalFilter(String(query ?? ''));\n\n if (tableMeta.search.enableGlobalFilter && tableMeta.search.handleSearch) {\n clearTimeout(searchTimeoutRef.current);\n searchTimeoutRef.current = setTimeout(() => {\n setLoading(true);\n tableMeta.search.handleSearch?.(query, hiddenColumns).then(() => {\n setLoading(false);\n });\n }, 150);\n }\n };\n\n const handleToggleExcludeUnmatchedResults = (enabled: boolean) => {\n tableMeta.search.setEnableGlobalFilter(enabled, table);\n requestAnimationFrame(() => ref.current?.focus());\n\n if (tableMeta.search.handleSearch) {\n setLoading(true);\n tableMeta.search.handleSearch(enabled ? query : undefined, hiddenColumns).then(() => {\n setLoading(false);\n });\n }\n };\n\n const handleNextResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined ||\n tableMeta.search.currentHighlightColumnIndex === tableMeta.search.highlightedColumnIndexes.length - 1\n ? 0\n : tableMeta.search.currentHighlightColumnIndex + 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const handlePreviousResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? 0\n : tableMeta.search.currentHighlightColumnIndex === 0\n ? tableMeta.search.highlightedColumnIndexes.length - 1\n : tableMeta.search.currentHighlightColumnIndex - 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const settings = (\n <Switch\n label={texts.table.search.excludeUnmatchedResults}\n checked={!!table.options.enableGlobalFilter}\n onChange={handleToggleExcludeUnmatchedResults}\n />\n );\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Escape' && tableMeta.search.currentHighlightColumnIndex !== undefined) {\n const [rowIndex, cellIndex] = tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex];\n\n if (rowIndex !== undefined && cellIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n\n requestAnimationFrame(() => {\n const cell = tableRef.current?.querySelector(\n `tbody > tr[data-row-index=\"${rowIndex}\"] > td[data-cell-index=\"${cellIndex}\"]`\n );\n\n if (cell) {\n (cell as HTMLElement).focus?.();\n }\n });\n }\n }\n };\n\n return (\n <>\n <SearchInput2\n findCurrent={\n tableMeta.search.currentHighlightColumnIndex !== undefined\n ? tableMeta.search.currentHighlightColumnIndex + 1\n : null\n }\n findTotal={tableMeta.search.highlightedColumnIndexes?.length ?? null}\n loading={tableMeta.server._experimentalDataLoader2 ? loading : tableMeta.server.loading}\n name=\"table-search\"\n onClickFindPrevious={handlePreviousResult}\n onClickFindNext={handleNextResult}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={texts.table.search.placeholder}\n settingsContent={settings}\n ref={ref}\n shortcut={{ key: 'f', meta: true, shift: false }}\n showTotal={!tableMeta.server._experimentalDataLoader2}\n value={query}\n />\n </>\n );\n}\n"],"names":["Search","props","scrollToIndex","table","tableRef","_useLocalization","useLocalization","texts","ref","React","useRef","tableMeta","options","meta","query","getState","globalFilter","scrollTo","rowIndex","align","hiddenColumns","getHiddenColumns","columnVisibility","useEffect","search","highlightedColumnIndexes","length","handleFocus","server","loadAllIfNeeded","_experimentalDataLoader2","Promise","resolve","sorting","columnFilters","undefined","then","_temp","e","reject","_React$useState","useState","loading","setLoading","searchTimeoutRef","handleChange","setGlobalFilter","String","enableGlobalFilter","handleSearch","clearTimeout","current","setTimeout","_tableMeta$search$han","_tableMeta$search","call","handleToggleExcludeUnmatchedResults","enabled","setEnableGlobalFilter","requestAnimationFrame","_ref$current","focus","handleNextResult","nextIndex","currentHighlightColumnIndex","setCurrentHighlightColumnIndex","handlePreviousResult","settings","Switch","label","excludeUnmatchedResults","checked","onChange","handleKeyDown","event","key","_tableMeta$search$hig","cellIndex","rowActive","setRowActiveIndex","cell","_tableRef$current","querySelector","_cell$focus","SearchInput2","findCurrent","findTotal","_tableMeta$search$hig2","_tableMeta$search$hig3","name","onClickFindPrevious","onClickFindNext","onFocus","onKeyDown","placeholder","settingsContent","shortcut","shift","showTotal","value"],"mappings":";;;;;;SAcgBA,MAAMA,CAAkBC,KAAyB;;EAC7D,IAAQC,aAAa,GAAsBD,KAAK,CAAxCC,aAAa;IAAEC,KAAK,GAAeF,KAAK,CAAzBE,KAAK;IAAEC,QAAQ,GAAKH,KAAK,CAAlBG,QAAQ;EACtC,IAAAC,gBAAA,GAAkBC,eAAe,EAAE;IAA3BC,KAAK,GAAAF,gBAAA,CAALE,KAAK;EACb,IAAMC,GAAG,GAAGC,cAAK,CAACC,MAAM,CAAmB,IAAI,CAAC;EAChD,IAAMC,SAAS,GAAGR,KAAK,CAACS,OAAO,CAACC,IAA6B;EAC7D,IAAMC,KAAK,GAAGX,KAAK,CAACY,QAAQ,EAAE,CAACC,YAAY;EAC3C,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,QAAgB;IAAA,OAAKhB,aAAa,CAACgB,QAAQ,EAAE;MAAEC,KAAK,EAAE;KAAU,CAAC;;EACnF,IAAMC,aAAa,GAAGC,gBAAgB,CAAClB,KAAK,CAACY,QAAQ,EAAE,CAACO,gBAAgB,CAAC;EAEzEb,cAAK,CAACc,SAAS,CAAC;IACZ,IAAIZ,SAAS,CAACa,MAAM,CAACC,wBAAwB,CAACC,MAAM,EAAE;MAClDT,QAAQ,CAACN,SAAS,CAACa,MAAM,CAACC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;GAEhE,EAAE,CAACd,SAAS,CAACa,MAAM,CAACC,wBAAwB,CAACC,MAAM,CAAC,CAAC;EAEtD,IAAMC,WAAW,YAAXA,WAAWA;IAAA;;YAEThB,SAAS,CAACiB,MAAM,CAACC,eAAe,IAAI,CAAClB,SAAS,CAACiB,MAAM,CAACE,wBAAwB;;UAC9E,OAAAC,OAAA,CAAAC,OAAA,CACMrB,SAAS,CAACiB,MAAM,CAACC,eAAe,CAClC1B,KAAK,CAACY,QAAQ,EAAE,CAACkB,OAAO,EACxB9B,KAAK,CAACY,QAAQ,EAAE,CAACmB,aAAa;;UAE9BC,SAAS,EACTf,aAAa,CAChB,EAAAgB,IAAA;;;;MATL,OAAAL,OAAA,CAAAC,OAAA,CAAAK,KAAA,IAAAA,KAAA,CAAAD,IAAA,GAAAC,KAAA,CAAAD,IAAA;KAWH,QAAAE,CAAA;MAAA,OAAAP,OAAA,CAAAQ,MAAA,CAAAD,CAAA;;;EAED,IAAAE,eAAA,GAA8B/B,cAAK,CAACgC,QAAQ,CAAC,KAAK,CAAC;IAA5CC,OAAO,GAAAF,eAAA;IAAEG,UAAU,GAAAH,eAAA;EAE1B,IAAMI,gBAAgB,GAAGnC,cAAK,CAACC,MAAM,EAAkB;EAEvD,IAAMmC,YAAY,GAAG,SAAfA,YAAYA,CAAI/B,KAAU;IAC5BX,KAAK,CAAC2C,eAAe,CAACC,MAAM,CAACjC,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,CAAC,CAAC;IAE1C,IAAIH,SAAS,CAACa,MAAM,CAACwB,kBAAkB,IAAIrC,SAAS,CAACa,MAAM,CAACyB,YAAY,EAAE;MACtEC,YAAY,CAACN,gBAAgB,CAACO,OAAO,CAAC;MACtCP,gBAAgB,CAACO,OAAO,GAAGC,UAAU,CAAC;;QAClCT,UAAU,CAAC,IAAI,CAAC;QAChB,CAAAU,qBAAA,IAAAC,iBAAA,GAAA3C,SAAS,CAACa,MAAM,EAACyB,YAAY,cAAAI,qBAAA,uBAA7BA,qBAAA,CAAAE,IAAA,CAAAD,iBAAA,EAAgCxC,KAAK,EAAEM,aAAa,CAAC,CAACgB,IAAI,CAAC;UACvDO,UAAU,CAAC,KAAK,CAAC;SACpB,CAAC;OACL,EAAE,GAAG,CAAC;;GAEd;EAED,IAAMa,mCAAmC,GAAG,SAAtCA,mCAAmCA,CAAIC,OAAgB;IACzD9C,SAAS,CAACa,MAAM,CAACkC,qBAAqB,CAACD,OAAO,EAAEtD,KAAK,CAAC;IACtDwD,qBAAqB,CAAC;MAAA,IAAAC,YAAA;MAAA,QAAAA,YAAA,GAAMpD,GAAG,CAAC2C,OAAO,cAAAS,YAAA,uBAAXA,YAAA,CAAaC,KAAK,EAAE;MAAC;IAEjD,IAAIlD,SAAS,CAACa,MAAM,CAACyB,YAAY,EAAE;MAC/BN,UAAU,CAAC,IAAI,CAAC;MAChBhC,SAAS,CAACa,MAAM,CAACyB,YAAY,CAACQ,OAAO,GAAG3C,KAAK,GAAGqB,SAAS,EAAEf,aAAa,CAAC,CAACgB,IAAI,CAAC;QAC3EO,UAAU,CAAC,KAAK,CAAC;OACpB,CAAC;;GAET;EAED,IAAMmB,gBAAgB,GAAG,SAAnBA,gBAAgBA;IAClB,IAAI,CAACnD,SAAS,CAACa,MAAM,CAACC,wBAAwB,CAACC,MAAM,EAAE;MACnD;;IAGJ,IAAMqC,SAAS,GACXpD,SAAS,CAACa,MAAM,CAACwC,2BAA2B,KAAK7B,SAAS,IAC1DxB,SAAS,CAACa,MAAM,CAACwC,2BAA2B,KAAKrD,SAAS,CAACa,MAAM,CAACC,wBAAwB,CAACC,MAAM,GAAG,CAAC,GAC/F,CAAC,GACDf,SAAS,CAACa,MAAM,CAACwC,2BAA2B,GAAG,CAAC;IAE1DrD,SAAS,CAACa,MAAM,CAACyC,8BAA8B,CAACF,SAAS,CAAC;;IAE1D9C,QAAQ,CAACN,SAAS,CAACa,MAAM,CAACC,wBAAwB,CAACsC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;GACpE;EAED,IAAMG,oBAAoB,GAAG,SAAvBA,oBAAoBA;IACtB,IAAI,CAACvD,SAAS,CAACa,MAAM,CAACC,wBAAwB,CAACC,MAAM,EAAE;MACnD;;IAGJ,IAAMqC,SAAS,GACXpD,SAAS,CAACa,MAAM,CAACwC,2BAA2B,KAAK7B,SAAS,GACpD,CAAC,GACDxB,SAAS,CAACa,MAAM,CAACwC,2BAA2B,KAAK,CAAC,GAClDrD,SAAS,CAACa,MAAM,CAACC,wBAAwB,CAACC,MAAM,GAAG,CAAC,GACpDf,SAAS,CAACa,MAAM,CAACwC,2BAA2B,GAAG,CAAC;IAE1DrD,SAAS,CAACa,MAAM,CAACyC,8BAA8B,CAACF,SAAS,CAAC;;IAE1D9C,QAAQ,CAACN,SAAS,CAACa,MAAM,CAACC,wBAAwB,CAACsC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;GACpE;EAED,IAAMI,QAAQ,gBACV1D,6BAAC2D,MAAM;IACHC,KAAK,EAAE9D,KAAK,CAACJ,KAAK,CAACqB,MAAM,CAAC8C,uBAAuB;IACjDC,OAAO,EAAE,CAAC,CAACpE,KAAK,CAACS,OAAO,CAACoC,kBAAkB;IAC3CwB,QAAQ,EAAEhB;IAEjB;EAED,IAAMiB,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAA4C;IAC/D,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,IAAIhE,SAAS,CAACa,MAAM,CAACwC,2BAA2B,KAAK7B,SAAS,EAAE;MACtF,IAAAyC,qBAAA,GAA8BjE,SAAS,CAACa,MAAM,CAACC,wBAAwB,CAACd,SAAS,CAACa,MAAM,CAACwC,2BAA2B,CAAC;QAA9G9C,QAAQ,GAAA0D,qBAAA;QAAEC,SAAS,GAAAD,qBAAA;MAE1B,IAAI1D,QAAQ,KAAKiB,SAAS,IAAI0C,SAAS,KAAK1C,SAAS,EAAE;QACnDxB,SAAS,CAACmE,SAAS,CAACC,iBAAiB,CAAC7D,QAAQ,CAAC;QAE/CyC,qBAAqB,CAAC;;UAClB,IAAMqB,IAAI,IAAAC,iBAAA,GAAG7E,QAAQ,CAAC+C,OAAO,cAAA8B,iBAAA,uBAAhBA,iBAAA,CAAkBC,aAAa,kCACVhE,QAAQ,mCAA4B2D,SAAS,QAAI,CAClF;UAED,IAAIG,IAAI,EAAE;YAAA,IAAAG,WAAA;YACL,CAAAA,WAAA,GAAAH,IAAoB,CAACnB,KAAK,cAAAsB,WAAA,uBAA1BA,WAAA,CAAA5B,IAAA,CAAAyB,KAA8B;;SAEtC,CAAC;;;GAGb;EAED,oBACIvE,yEACIA,6BAAC2E,YAAY;IACTC,WAAW,EACP1E,SAAS,CAACa,MAAM,CAACwC,2BAA2B,KAAK7B,SAAS,GACpDxB,SAAS,CAACa,MAAM,CAACwC,2BAA2B,GAAG,CAAC,GAChD,IAAI;IAEdsB,SAAS,GAAAC,sBAAA,IAAAC,sBAAA,GAAE7E,SAAS,CAACa,MAAM,CAACC,wBAAwB,cAAA+D,sBAAA,uBAAzCA,sBAAA,CAA2C9D,MAAM,cAAA6D,sBAAA,cAAAA,sBAAA,GAAI,IAAI;IACpE7C,OAAO,EAAE/B,SAAS,CAACiB,MAAM,CAACE,wBAAwB,GAAGY,OAAO,GAAG/B,SAAS,CAACiB,MAAM,CAACc,OAAO;IACvF+C,IAAI,EAAC,cAAc;IACnBC,mBAAmB,EAAExB,oBAAoB;IACzCyB,eAAe,EAAE7B,gBAAgB;IACjCU,QAAQ,EAAE3B,YAAY;IACtB+C,OAAO,EAAEjE,WAAW;IACpBkE,SAAS,EAAEpB,aAAa;IACxBqB,WAAW,EAAEvF,KAAK,CAACJ,KAAK,CAACqB,MAAM,CAACsE,WAAW;IAC3CC,eAAe,EAAE5B,QAAQ;IACzB3D,GAAG,EAAEA,GAAG;IACRwF,QAAQ,EAAE;MAAErB,GAAG,EAAE,GAAG;MAAE9D,IAAI,EAAE,IAAI;MAAEoF,KAAK,EAAE;KAAO;IAChDC,SAAS,EAAE,CAACvF,SAAS,CAACiB,MAAM,CAACE,wBAAwB;IACrDqE,KAAK,EAAErF;IACT,CACH;AAEX;;;;"}
1
+ {"version":3,"file":"Search.js","sources":["../../../../../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Search/Search.tsx"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { useLocalization } from '../../../../../../../components/Provider/Localization';\nimport { SearchInput2 } from '../../../../../../../components/SearchInput2/SearchInput2';\nimport { Switch } from '../../../../../../../components/Switch/Switch';\nimport { TableRef } from '../../../../../types';\nimport { getHiddenColumns } from '../../../../../useTableManager/util/columns';\n\ntype SearchProps<TType = unknown> = {\n scrollToIndex: any;\n table: ReactTable<TType>;\n tableRef: React.RefObject<TableRef>;\n};\n\nexport function Search<TType = unknown>(props: SearchProps<TType>) {\n const { scrollToIndex, table, tableRef } = props;\n const { texts } = useLocalization();\n const ref = React.useRef<HTMLInputElement>(null);\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const query = table.getState().globalFilter;\n const scrollTo = (rowIndex: number) => scrollToIndex(rowIndex, { align: 'center' });\n const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);\n\n React.useEffect(() => {\n if (tableMeta.search.highlightedColumnIndexes.length) {\n scrollTo(tableMeta.search.highlightedColumnIndexes[0][0]);\n }\n }, [tableMeta.search.highlightedColumnIndexes.length]);\n\n const handleFocus = async () => {\n // load all data if that is possible\n if (tableMeta.server.loadAllIfNeeded && !tableMeta.server._experimentalDataLoader2) {\n // don't pass the search query because we need all data - not filtered data\n await tableMeta.server.loadAllIfNeeded(\n table.getState().sorting,\n table.getState().columnFilters,\n hiddenColumns,\n // the old data loader doesn't have server side search\n undefined\n );\n }\n };\n\n const [loading, setLoading] = React.useState(false);\n\n const searchTimeoutRef = React.useRef<NodeJS.Timeout>();\n\n const handleChange = (query: any) => {\n table.setGlobalFilter(String(query ?? ''));\n\n if (tableMeta.search.enableGlobalFilter && tableMeta.search.handleSearch) {\n clearTimeout(searchTimeoutRef.current);\n searchTimeoutRef.current = setTimeout(() => {\n setLoading(true);\n tableMeta.search.handleSearch?.(query, hiddenColumns).then(() => {\n setLoading(false);\n });\n }, 150);\n }\n };\n\n const handleToggleExcludeUnmatchedResults = (enabled: boolean) => {\n tableMeta.search.setEnableGlobalFilter(enabled, table);\n requestAnimationFrame(() => ref.current?.focus());\n\n if (tableMeta.search.handleSearch) {\n setLoading(true);\n tableMeta.search.handleSearch(enabled ? query : undefined, hiddenColumns).then(() => {\n setLoading(false);\n });\n }\n };\n\n const handleNextResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined ||\n tableMeta.search.currentHighlightColumnIndex === tableMeta.search.highlightedColumnIndexes.length - 1\n ? 0\n : tableMeta.search.currentHighlightColumnIndex + 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const handlePreviousResult = () => {\n if (!tableMeta.search.highlightedColumnIndexes.length) {\n return;\n }\n\n const nextIndex =\n tableMeta.search.currentHighlightColumnIndex === undefined\n ? 0\n : tableMeta.search.currentHighlightColumnIndex === 0\n ? tableMeta.search.highlightedColumnIndexes.length - 1\n : tableMeta.search.currentHighlightColumnIndex - 1;\n\n tableMeta.search.setCurrentHighlightColumnIndex(nextIndex);\n // we scroll to the row here, the cell scrolls itself into view\n scrollTo(tableMeta.search.highlightedColumnIndexes[nextIndex][0]);\n };\n\n const settings = (\n <Switch\n label={texts.table.search.excludeUnmatchedResults}\n checked={!!table.options.enableGlobalFilter}\n onChange={handleToggleExcludeUnmatchedResults}\n />\n );\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Escape' && tableMeta.search.currentHighlightColumnIndex !== undefined) {\n const [rowIndex, cellIndex] = tableMeta.search.highlightedColumnIndexes[tableMeta.search.currentHighlightColumnIndex];\n\n if (rowIndex !== undefined && cellIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(rowIndex);\n\n requestAnimationFrame(() => {\n const cell = tableRef.current?.querySelector(\n `tbody > tr[data-row-index=\"${rowIndex}\"] > td[data-cell-index=\"${cellIndex}\"]`\n );\n\n if (cell) {\n (cell as HTMLElement).focus?.();\n }\n });\n }\n }\n };\n\n return (\n <>\n <SearchInput2\n findCurrent={\n tableMeta.search.currentHighlightColumnIndex !== undefined\n ? tableMeta.search.currentHighlightColumnIndex + 1\n : null\n }\n findTotal={tableMeta.search.highlightedColumnIndexes?.length ?? null}\n loading={tableMeta.server._experimentalDataLoader2 ? loading : tableMeta.server.loading}\n name=\"table-search\"\n onClickFindPrevious={handlePreviousResult}\n onClickFindNext={handleNextResult}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={texts.table.search.placeholder}\n settingsContent={settings}\n ref={ref}\n shortcut={{ key: 'f', meta: true, shift: false }}\n showTotal={!tableMeta.server._experimentalDataLoader2}\n value={query}\n />\n </>\n );\n}\n"],"names":["Search","props","scrollToIndex","table","tableRef","_useLocalization","useLocalization","texts","ref","React","useRef","tableMeta","options","meta","query","getState","globalFilter","scrollTo","rowIndex","align","hiddenColumns","getHiddenColumns","columnVisibility","useEffect","search","highlightedColumnIndexes","length","handleFocus","server","loadAllIfNeeded","_experimentalDataLoader2","Promise","resolve","sorting","columnFilters","undefined","then","_temp","e","reject","_React$useState","useState","loading","setLoading","searchTimeoutRef","handleChange","setGlobalFilter","String","enableGlobalFilter","handleSearch","clearTimeout","current","setTimeout","_tableMeta$search$han","_tableMeta$search","call","handleToggleExcludeUnmatchedResults","enabled","setEnableGlobalFilter","requestAnimationFrame","_ref$current","focus","handleNextResult","nextIndex","currentHighlightColumnIndex","setCurrentHighlightColumnIndex","handlePreviousResult","settings","Switch","label","excludeUnmatchedResults","checked","onChange","handleKeyDown","event","key","_tableMeta$search$hig","cellIndex","rowActive","setRowActiveIndex","cell","_tableRef$current","querySelector","_cell$focus","SearchInput2","findCurrent","findTotal","_tableMeta$search$hig2","_tableMeta$search$hig3","name","onClickFindPrevious","onClickFindNext","onFocus","onKeyDown","placeholder","settingsContent","shortcut","shift","showTotal","value"],"mappings":"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"}
@@ -23,7 +23,7 @@ function useTableGlobalShortcuts(table, tableRef, scrollToIndex) {
23
23
  };
24
24
  },
25
25
  // scrollToIndex function changes when row count changes, so it is important to update handlers
26
- [tableRef.current, tableMeta.rowActive.rowActiveIndex, scrollToIndex]);
26
+ [tableRef.current, tableMeta.length, tableMeta.rowActive.rowActiveIndex, scrollToIndex]);
27
27
  }
28
28
 
29
29
  export { useTableGlobalShortcuts };
@@ -1 +1 @@
1
- {"version":3,"file":"useTableGlobalShortcuts.js","sources":["../../../../../../../../../src/primitives/Table/Core/features/useTableGlobalShortcuts.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { TableRef } from '../../types';\nimport {\n isElementInsideOrTriggeredFromContainer,\n isElementInsideOverlay,\n isElementInteractive,\n isSiblingElementInsideSameParentOverlay,\n} from '../../../../utils/dom';\n\nexport function useTableGlobalShortcuts<TType = unknown>(\n table: ReactTable<TType>,\n tableRef: React.RefObject<TableRef>,\n scrollToIndex: (index: number) => void\n) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const rows = table.getRowModel().rows;\n\n React.useEffect(\n () => {\n const handleKeyDown = (event: KeyboardEvent) => {\n const trigger = event.target as HTMLElement;\n\n if (\n (isElementInsideOverlay(trigger) && !isSiblingElementInsideSameParentOverlay(trigger, tableRef.current)) ||\n (isElementInteractive(trigger) && !isElementInsideOrTriggeredFromContainer(trigger, tableRef.current))\n ) {\n return;\n }\n\n tableMeta.rowActive.handleKeyDown(event, tableMeta.length, scrollToIndex);\n tableMeta.rowSelection.handleKeyDown(event, table);\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n tableMeta.rowClick.handleKeyDown(event, rows[tableMeta.rowActive.rowActiveIndex]?.original);\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n },\n\n // scrollToIndex function changes when row count changes, so it is important to update handlers\n [tableRef.current, tableMeta.rowActive.rowActiveIndex, scrollToIndex]\n );\n}\n"],"names":["useTableGlobalShortcuts","table","tableRef","scrollToIndex","tableMeta","options","meta","rows","getRowModel","React","useEffect","handleKeyDown","event","trigger","target","isElementInsideOverlay","isSiblingElementInsideSameParentOverlay","current","isElementInteractive","isElementInsideOrTriggeredFromContainer","rowActive","length","rowSelection","rowActiveIndex","undefined","_rows$tableMeta$rowAc","rowClick","original","document","addEventListener","removeEventListener"],"mappings":";;;SAUgBA,uBAAuBA,CACnCC,KAAwB,EACxBC,QAAmC,EACnCC,aAAsC;EAEtC,IAAMC,SAAS,GAAGH,KAAK,CAACI,OAAO,CAACC,IAA6B;EAC7D,IAAMC,IAAI,GAAGN,KAAK,CAACO,WAAW,EAAE,CAACD,IAAI;EAErCE,cAAK,CAACC,SAAS,CACX;IACI,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAoB;MACvC,IAAMC,OAAO,GAAGD,KAAK,CAACE,MAAqB;MAE3C,IACKC,sBAAsB,CAACF,OAAO,CAAC,IAAI,CAACG,uCAAuC,CAACH,OAAO,EAAEX,QAAQ,CAACe,OAAO,CAAC,IACtGC,oBAAoB,CAACL,OAAO,CAAC,IAAI,CAACM,uCAAuC,CAACN,OAAO,EAAEX,QAAQ,CAACe,OAAO,CAAE,EACxG;QACE;;MAGJb,SAAS,CAACgB,SAAS,CAACT,aAAa,CAACC,KAAK,EAAER,SAAS,CAACiB,MAAM,EAAElB,aAAa,CAAC;MACzEC,SAAS,CAACkB,YAAY,CAACX,aAAa,CAACC,KAAK,EAAEX,KAAK,CAAC;MAElD,IAAIG,SAAS,CAACgB,SAAS,CAACG,cAAc,KAAKC,SAAS,EAAE;QAAA,IAAAC,qBAAA;QAClDrB,SAAS,CAACsB,QAAQ,CAACf,aAAa,CAACC,KAAK,GAAAa,qBAAA,GAAElB,IAAI,CAACH,SAAS,CAACgB,SAAS,CAACG,cAAc,CAAC,cAAAE,qBAAA,uBAAxCA,qBAAA,CAA0CE,QAAQ,CAAC;;KAElG;IAEDC,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAElB,aAAa,CAAC;IAEnD,OAAO;MACHiB,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEnB,aAAa,CAAC;KACzD;GACJ;;EAGD,CAACT,QAAQ,CAACe,OAAO,EAAEb,SAAS,CAACgB,SAAS,CAACG,cAAc,EAAEpB,aAAa,CAAC,CACxE;AACL;;;;"}
1
+ {"version":3,"file":"useTableGlobalShortcuts.js","sources":["../../../../../../../../../src/primitives/Table/Core/features/useTableGlobalShortcuts.ts"],"sourcesContent":["import React from 'react';\nimport { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { TableRef } from '../../types';\nimport {\n isElementInsideOrTriggeredFromContainer,\n isElementInsideOverlay,\n isElementInteractive,\n isSiblingElementInsideSameParentOverlay,\n} from '../../../../utils/dom';\n\nexport function useTableGlobalShortcuts<TType = unknown>(\n table: ReactTable<TType>,\n tableRef: React.RefObject<TableRef>,\n scrollToIndex: (index: number) => void\n) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n const rows = table.getRowModel().rows;\n\n React.useEffect(\n () => {\n const handleKeyDown = (event: KeyboardEvent) => {\n const trigger = event.target as HTMLElement;\n\n if (\n (isElementInsideOverlay(trigger) && !isSiblingElementInsideSameParentOverlay(trigger, tableRef.current)) ||\n (isElementInteractive(trigger) && !isElementInsideOrTriggeredFromContainer(trigger, tableRef.current))\n ) {\n return;\n }\n\n tableMeta.rowActive.handleKeyDown(event, tableMeta.length, scrollToIndex);\n tableMeta.rowSelection.handleKeyDown(event, table);\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n tableMeta.rowClick.handleKeyDown(event, rows[tableMeta.rowActive.rowActiveIndex]?.original);\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n },\n\n // scrollToIndex function changes when row count changes, so it is important to update handlers\n [tableRef.current, tableMeta.length, tableMeta.rowActive.rowActiveIndex, scrollToIndex]\n );\n}\n"],"names":["useTableGlobalShortcuts","table","tableRef","scrollToIndex","tableMeta","options","meta","rows","getRowModel","React","useEffect","handleKeyDown","event","trigger","target","isElementInsideOverlay","isSiblingElementInsideSameParentOverlay","current","isElementInteractive","isElementInsideOrTriggeredFromContainer","rowActive","length","rowSelection","rowActiveIndex","undefined","_rows$tableMeta$rowAc","rowClick","original","document","addEventListener","removeEventListener"],"mappings":";;;SAUgBA,uBAAuBA,CACnCC,KAAwB,EACxBC,QAAmC,EACnCC,aAAsC;EAEtC,IAAMC,SAAS,GAAGH,KAAK,CAACI,OAAO,CAACC,IAA6B;EAC7D,IAAMC,IAAI,GAAGN,KAAK,CAACO,WAAW,EAAE,CAACD,IAAI;EAErCE,cAAK,CAACC,SAAS,CACX;IACI,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,KAAoB;MACvC,IAAMC,OAAO,GAAGD,KAAK,CAACE,MAAqB;MAE3C,IACKC,sBAAsB,CAACF,OAAO,CAAC,IAAI,CAACG,uCAAuC,CAACH,OAAO,EAAEX,QAAQ,CAACe,OAAO,CAAC,IACtGC,oBAAoB,CAACL,OAAO,CAAC,IAAI,CAACM,uCAAuC,CAACN,OAAO,EAAEX,QAAQ,CAACe,OAAO,CAAE,EACxG;QACE;;MAGJb,SAAS,CAACgB,SAAS,CAACT,aAAa,CAACC,KAAK,EAAER,SAAS,CAACiB,MAAM,EAAElB,aAAa,CAAC;MACzEC,SAAS,CAACkB,YAAY,CAACX,aAAa,CAACC,KAAK,EAAEX,KAAK,CAAC;MAElD,IAAIG,SAAS,CAACgB,SAAS,CAACG,cAAc,KAAKC,SAAS,EAAE;QAAA,IAAAC,qBAAA;QAClDrB,SAAS,CAACsB,QAAQ,CAACf,aAAa,CAACC,KAAK,GAAAa,qBAAA,GAAElB,IAAI,CAACH,SAAS,CAACgB,SAAS,CAACG,cAAc,CAAC,cAAAE,qBAAA,uBAAxCA,qBAAA,CAA0CE,QAAQ,CAAC;;KAElG;IAEDC,QAAQ,CAACC,gBAAgB,CAAC,SAAS,EAAElB,aAAa,CAAC;IAEnD,OAAO;MACHiB,QAAQ,CAACE,mBAAmB,CAAC,SAAS,EAAEnB,aAAa,CAAC;KACzD;GACJ;;EAGD,CAACT,QAAQ,CAACe,OAAO,EAAEb,SAAS,CAACiB,MAAM,EAAEjB,SAAS,CAACgB,SAAS,CAACG,cAAc,EAAEpB,aAAa,CAAC,CAC1F;AACL;;;;"}