@economic/taco 14.1.1 → 14.2.0-tanstack-virtual-update.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/charts/components/Area/AreaChart.cjs +2 -2
- package/dist/charts/components/Area/AreaChart.cjs.map +1 -1
- package/dist/charts/components/Area/AreaChart.js +2 -2
- package/dist/charts/components/Area/AreaChart.js.map +1 -1
- package/dist/charts/components/Bar/BarChart.cjs +1 -1
- package/dist/charts/components/Bar/BarChart.cjs.map +1 -1
- package/dist/charts/components/Bar/BarChart.js +1 -1
- package/dist/charts/components/Bar/BarChart.js.map +1 -1
- package/dist/charts/components/Line/LineChart.cjs +1 -1
- package/dist/charts/components/Line/LineChart.cjs.map +1 -1
- package/dist/charts/components/Line/LineChart.js +1 -1
- package/dist/charts/components/Line/LineChart.js.map +1 -1
- package/dist/components/Datepicker/Datepicker.cjs +4 -14
- package/dist/components/Datepicker/Datepicker.cjs.map +1 -1
- package/dist/components/Datepicker/Datepicker.js +4 -14
- package/dist/components/Datepicker/Datepicker.js.map +1 -1
- package/dist/components/HoverCard/HoverCard.cjs +4 -20
- package/dist/components/HoverCard/HoverCard.cjs.map +1 -1
- package/dist/components/HoverCard/HoverCard.js +5 -21
- package/dist/components/HoverCard/HoverCard.js.map +1 -1
- package/dist/components/Popover/Popover.cjs +12 -3
- package/dist/components/Popover/Popover.cjs.map +1 -1
- package/dist/components/Popover/Popover.d.ts +1 -0
- package/dist/components/Popover/Popover.js +14 -5
- package/dist/components/Popover/Popover.js.map +1 -1
- package/dist/components/Popover/util.cjs +2 -2
- package/dist/components/Popover/util.cjs.map +1 -1
- package/dist/components/Popover/util.d.ts +1 -1
- package/dist/components/Popover/util.js +2 -2
- package/dist/components/Popover/util.js.map +1 -1
- package/dist/components/Provider/Localization.cjs +3 -0
- package/dist/components/Provider/Localization.cjs.map +1 -1
- package/dist/components/Provider/Localization.d.ts +6 -0
- package/dist/components/Provider/Localization.js +3 -0
- package/dist/components/Provider/Localization.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Cell.cjs +3 -2
- package/dist/components/Table3/components/Columns/Cell/Cell.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Cell.js +3 -2
- package/dist/components/Table3/components/Columns/Cell/Cell.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs +6 -5
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js +6 -5
- package/dist/components/Table3/components/Columns/Cell/Editing/RowMoveIndicator.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs +9 -8
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js +9 -8
- package/dist/components/Table3/components/Columns/Cell/EditingControlCell.js.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/util.cjs +2 -1
- package/dist/components/Table3/components/Columns/Cell/util.cjs.map +1 -1
- package/dist/components/Table3/components/Columns/Cell/util.js +2 -1
- package/dist/components/Table3/components/Columns/Cell/util.js.map +1 -1
- package/dist/components/Table3/components/Editing/Alert.cjs +2 -1
- package/dist/components/Table3/components/Editing/Alert.cjs.map +1 -1
- package/dist/components/Table3/components/Editing/Alert.js +2 -1
- package/dist/components/Table3/components/Editing/Alert.js.map +1 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.cjs +2 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.cjs.map +1 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.js +2 -1
- package/dist/components/Table3/components/Row/Editing/SaveStatus.js.map +1 -1
- package/dist/components/Table3/components/Row/Row.cjs +2 -1
- package/dist/components/Table3/components/Row/Row.cjs.map +1 -1
- package/dist/components/Table3/components/Row/Row.js +2 -1
- package/dist/components/Table3/components/Row/Row.js.map +1 -1
- package/dist/components/Table3/components/Toolbar/Editing/Editing.cjs +2 -1
- package/dist/components/Table3/components/Toolbar/Editing/Editing.cjs.map +1 -1
- package/dist/components/Table3/components/Toolbar/Editing/Editing.js +2 -1
- package/dist/components/Table3/components/Toolbar/Editing/Editing.js.map +1 -1
- package/dist/components/Table3/features/useEditingState.cjs +3 -2
- package/dist/components/Table3/features/useEditingState.cjs.map +1 -1
- package/dist/components/Table3/features/useEditingState.js +3 -2
- package/dist/components/Table3/features/useEditingState.js.map +1 -1
- package/dist/components/Table3/features/useTableEditing.cjs +4 -3
- package/dist/components/Table3/features/useTableEditing.cjs.map +1 -1
- package/dist/components/Table3/features/useTableEditing.js +4 -3
- package/dist/components/Table3/features/useTableEditing.js.map +1 -1
- package/dist/components/Table3/listeners/useTableEditingListener.cjs +2 -1
- package/dist/components/Table3/listeners/useTableEditingListener.cjs.map +1 -1
- package/dist/components/Table3/listeners/useTableEditingListener.js +2 -1
- package/dist/components/Table3/listeners/useTableEditingListener.js.map +1 -1
- package/dist/components/Toggletip/Toggletip.cjs +85 -0
- package/dist/components/Toggletip/Toggletip.cjs.map +1 -0
- package/dist/components/Toggletip/Toggletip.d.ts +13 -0
- package/dist/components/Toggletip/Toggletip.js +68 -0
- package/dist/components/Toggletip/Toggletip.js.map +1 -0
- package/dist/components/Tooltip/Tooltip.cjs +3 -19
- package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
- package/dist/components/Tooltip/Tooltip.js +3 -19
- package/dist/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/primitives/ArrowTip/ArrowTip.cjs +43 -0
- package/dist/primitives/ArrowTip/ArrowTip.cjs.map +1 -0
- package/dist/primitives/ArrowTip/ArrowTip.d.ts +10 -0
- package/dist/primitives/ArrowTip/ArrowTip.js +26 -0
- package/dist/primitives/ArrowTip/ArrowTip.js.map +1 -0
- package/dist/primitives/BareButton/BareButton.cjs +28 -0
- package/dist/primitives/BareButton/BareButton.cjs.map +1 -0
- package/dist/primitives/BareButton/BareButton.d.ts +7 -0
- package/dist/primitives/BareButton/BareButton.js +11 -0
- package/dist/primitives/BareButton/BareButton.js.map +1 -0
- package/dist/primitives/Table/Core/components/Body/Body.cjs +5 -5
- package/dist/primitives/Table/Core/components/Body/Body.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Body/Body.js +6 -6
- package/dist/primitives/Table/Core/components/Body/Body.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.cjs +2 -2
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js +2 -2
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/DisplayCell.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.cjs +2 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js +2 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/BuiltIns/GroupedCell.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs +6 -5
- package/dist/primitives/Table/Core/components/Columns/Cell/util.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Cell/util.js +6 -5
- package/dist/primitives/Table/Core/components/Columns/Cell/util.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Actions.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Expansion.js.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.cjs +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.js +3 -2
- package/dist/primitives/Table/Core/components/Columns/Internal/Selection.js.map +1 -1
- package/dist/primitives/Table/Core/components/Footer/Footer.cjs +3 -2
- package/dist/primitives/Table/Core/components/Footer/Footer.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Footer/Footer.js +3 -2
- package/dist/primitives/Table/Core/components/Footer/Footer.js.map +1 -1
- package/dist/primitives/Table/Core/components/Footer/Summary.cjs +2 -1
- package/dist/primitives/Table/Core/components/Footer/Summary.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Footer/Summary.js +2 -1
- package/dist/primitives/Table/Core/components/Footer/Summary.js.map +1 -1
- package/dist/primitives/Table/Core/components/Header/Header.cjs +9 -8
- package/dist/primitives/Table/Core/components/Header/Header.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Header/Header.js +9 -8
- package/dist/primitives/Table/Core/components/Header/Header.js.map +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs +6 -5
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js +2 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/DisplayRow.js.map +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.cjs +3 -2
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js +3 -2
- package/dist/primitives/Table/Core/components/Row/BuiltIns/SkeletonRow.js.map +1 -1
- package/dist/primitives/Table/Core/components/Row/Row.cjs +2 -2
- package/dist/primitives/Table/Core/components/Row/Row.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Row/Row.js +2 -2
- package/dist/primitives/Table/Core/components/Row/Row.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/Toolbar.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/Toolbar.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/Toolbar.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/Toolbar.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/ManageFiltersPopover.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.cjs +6 -6
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.js +6 -6
- package/dist/primitives/Table/Core/components/Toolbar/components/Filters/util.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Print/Print.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Search/Search.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.cjs.map +1 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js +2 -1
- package/dist/primitives/Table/Core/components/Toolbar/components/Settings/Settings.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.cjs +1 -1
- package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.js +2 -2
- package/dist/primitives/Table/Core/features/useTableGlobalShortcuts.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableRef.cjs +3 -2
- package/dist/primitives/Table/Core/features/useTableRef.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableRef.js +3 -2
- package/dist/primitives/Table/Core/features/useTableRef.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableRenderer.cjs +13 -12
- package/dist/primitives/Table/Core/features/useTableRenderer.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableRenderer.js +3 -2
- package/dist/primitives/Table/Core/features/useTableRenderer.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableStyle.cjs +2 -1
- package/dist/primitives/Table/Core/features/useTableStyle.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableStyle.d.ts +857 -857
- package/dist/primitives/Table/Core/features/useTableStyle.js +2 -1
- package/dist/primitives/Table/Core/features/useTableStyle.js.map +1 -1
- package/dist/primitives/Table/Core/features/useTableStyleGrid.cjs +2 -1
- package/dist/primitives/Table/Core/features/useTableStyleGrid.cjs.map +1 -1
- package/dist/primitives/Table/Core/features/useTableStyleGrid.js +2 -1
- package/dist/primitives/Table/Core/features/useTableStyleGrid.js.map +1 -1
- package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.cjs +2 -1
- package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.cjs.map +1 -1
- package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.js +2 -1
- package/dist/primitives/Table/Core/listeners/useTableRowActiveListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableRowSelection.cjs +5 -5
- package/dist/primitives/Table/useTableManager/features/useTableRowSelection.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/features/useTableRowSelection.js +2 -2
- package/dist/primitives/Table/useTableManager/features/useTableRowSelection.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableDataListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.cjs +4 -3
- package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowActiveListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowHeightListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.cjs +4 -4
- package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js +2 -2
- package/dist/primitives/Table/useTableManager/listeners/useTableRowSelectionListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSearchListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableServerLoadingListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.cjs +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableSettingsListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.cjs +5 -4
- package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js +2 -1
- package/dist/primitives/Table/useTableManager/listeners/useTableShortcutsListener.js.map +1 -1
- package/dist/primitives/Table/useTableManager/useTableManager.cjs +3 -1
- package/dist/primitives/Table/useTableManager/useTableManager.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/useTableManager.js +3 -1
- package/dist/primitives/Table/useTableManager/useTableManager.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/rows.cjs +8 -1
- package/dist/primitives/Table/useTableManager/util/rows.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/rows.d.ts +2 -1
- package/dist/primitives/Table/useTableManager/util/rows.js +9 -2
- package/dist/primitives/Table/useTableManager/util/rows.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/search.cjs +2 -1
- package/dist/primitives/Table/useTableManager/util/search.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/search.js +2 -1
- package/dist/primitives/Table/useTableManager/util/search.js.map +1 -1
- package/dist/primitives/Table/useTableManager/util/settings.cjs +2 -1
- package/dist/primitives/Table/useTableManager/util/settings.cjs.map +1 -1
- package/dist/primitives/Table/useTableManager/util/settings.js +2 -1
- package/dist/primitives/Table/useTableManager/util/settings.js.map +1 -1
- package/dist/utils/tailwind.cjs +4 -0
- package/dist/utils/tailwind.cjs.map +1 -1
- package/dist/utils/tailwind.d.ts +4 -0
- package/dist/utils/tailwind.js +4 -0
- package/dist/utils/tailwind.js.map +1 -1
- package/package.json +6 -6
- package/dist/components/Popover/Primitives.cjs +0 -44
- package/dist/components/Popover/Primitives.cjs.map +0 -1
- package/dist/components/Popover/Primitives.d.ts +0 -2
- package/dist/components/Popover/Primitives.js +0 -27
- package/dist/components/Popover/Primitives.js.map +0 -1
- /package/dist/components/Icon/config/{index-template.d.cts → index-template.d.ts} +0 -0
- /package/dist/components/Icon/config/{svgr.config.d.cts → svgr.config.d.ts} +0 -0
- /package/dist/components/Icon/config/{template.d.cts → template.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Search/Search.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization, Switch, SearchInput2 } from '@/components';\n\nimport type { 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 lastResultQuery = React.useRef(undefined);\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.server._experimentalDataLoader2 && tableMeta.search.highlightedColumnIndexes.length) {\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length]);\n\n React.useEffect(() => {\n // if the query hasn't changed, but number of results changed, it indicates a page containing one ore more results was loaded or unloaded due to scrolling.\n if (\n tableMeta.server._experimentalDataLoader2 &&\n tableMeta.search.highlightedColumnIndexes.length &&\n query !== lastResultQuery.current\n ) {\n lastResultQuery.current = query;\n\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length, query]);\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>(undefined);\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 }, 350);\n }\n };\n\n const handleToggleExcludeUnmatchedResults = async (enabled: boolean) => {\n tableMeta.search.setEnableGlobalFilter(enabled, table);\n requestAnimationFrame(() => ref.current?.focus());\n\n if (tableMeta.search.handleSearch) {\n setLoading(true);\n await tableMeta.search.handleSearch(enabled ? query : undefined, hiddenColumns);\n setLoading(false);\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 const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\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 const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const settings = tableMeta.server._experimentalDataLoader2 ? undefined : (\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] =\n 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 ? null\n : tableMeta.search.currentHighlightColumnIndex + 1\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":["useLocalization","getHiddenColumns","query","Switch","SearchInput2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Search.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Search/Search.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization, Switch, SearchInput2 } from '@/components';\n\nimport type { TableRef } from '../../../../../types';\nimport { getHiddenColumns } from '../../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\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 lastResultQuery = React.useRef(undefined);\n const tableMeta = getTableMeta(table);\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.server._experimentalDataLoader2 && tableMeta.search.highlightedColumnIndexes.length) {\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length]);\n\n React.useEffect(() => {\n // if the query hasn't changed, but number of results changed, it indicates a page containing one ore more results was loaded or unloaded due to scrolling.\n if (\n tableMeta.server._experimentalDataLoader2 &&\n tableMeta.search.highlightedColumnIndexes.length &&\n query !== lastResultQuery.current\n ) {\n lastResultQuery.current = query;\n\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length, query]);\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>(undefined);\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 }, 350);\n }\n };\n\n const handleToggleExcludeUnmatchedResults = async (enabled: boolean) => {\n tableMeta.search.setEnableGlobalFilter(enabled, table);\n requestAnimationFrame(() => ref.current?.focus());\n\n if (tableMeta.search.handleSearch) {\n setLoading(true);\n await tableMeta.search.handleSearch(enabled ? query : undefined, hiddenColumns);\n setLoading(false);\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 const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\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 const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const settings = tableMeta.server._experimentalDataLoader2 ? undefined : (\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] =\n 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 ? null\n : tableMeta.search.currentHighlightColumnIndex + 1\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":["useLocalization","getTableMeta","getHiddenColumns","query","Switch","SearchInput2"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
2
|
import { getHiddenColumns } from "../../../../../useTableManager/util/columns.js";
|
|
3
|
+
import { getTableMeta } from "../../../../../useTableManager/util/rows.js";
|
|
3
4
|
import { useLocalization } from "../../../../../../../components/Provider/Localization.js";
|
|
4
5
|
import { Switch } from "../../../../../../../components/Switch/Switch.js";
|
|
5
6
|
import { SearchInput2 } from "../../../../../../../components/SearchInput2/SearchInput2.js";
|
|
@@ -8,7 +9,7 @@ function Search(props) {
|
|
|
8
9
|
const { texts } = useLocalization();
|
|
9
10
|
const ref = React__default.useRef(null);
|
|
10
11
|
const lastResultQuery = React__default.useRef(void 0);
|
|
11
|
-
const tableMeta = table
|
|
12
|
+
const tableMeta = getTableMeta(table);
|
|
12
13
|
const query = table.getState().globalFilter;
|
|
13
14
|
const scrollTo = (rowIndex) => scrollToIndex(rowIndex, { align: "center" });
|
|
14
15
|
const hiddenColumns = getHiddenColumns(table.getState().columnVisibility);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Search/Search.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization, Switch, SearchInput2 } from '@/components';\n\nimport type { 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 lastResultQuery = React.useRef(undefined);\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.server._experimentalDataLoader2 && tableMeta.search.highlightedColumnIndexes.length) {\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length]);\n\n React.useEffect(() => {\n // if the query hasn't changed, but number of results changed, it indicates a page containing one ore more results was loaded or unloaded due to scrolling.\n if (\n tableMeta.server._experimentalDataLoader2 &&\n tableMeta.search.highlightedColumnIndexes.length &&\n query !== lastResultQuery.current\n ) {\n lastResultQuery.current = query;\n\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length, query]);\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>(undefined);\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 }, 350);\n }\n };\n\n const handleToggleExcludeUnmatchedResults = async (enabled: boolean) => {\n tableMeta.search.setEnableGlobalFilter(enabled, table);\n requestAnimationFrame(() => ref.current?.focus());\n\n if (tableMeta.search.handleSearch) {\n setLoading(true);\n await tableMeta.search.handleSearch(enabled ? query : undefined, hiddenColumns);\n setLoading(false);\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 const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\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 const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const settings = tableMeta.server._experimentalDataLoader2 ? undefined : (\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] =\n 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 ? null\n : tableMeta.search.currentHighlightColumnIndex + 1\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":["React","query"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Search.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Search/Search.tsx"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { useLocalization, Switch, SearchInput2 } from '@/components';\n\nimport type { TableRef } from '../../../../../types';\nimport { getHiddenColumns } from '../../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\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 lastResultQuery = React.useRef(undefined);\n const tableMeta = getTableMeta(table);\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.server._experimentalDataLoader2 && tableMeta.search.highlightedColumnIndexes.length) {\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length]);\n\n React.useEffect(() => {\n // if the query hasn't changed, but number of results changed, it indicates a page containing one ore more results was loaded or unloaded due to scrolling.\n if (\n tableMeta.server._experimentalDataLoader2 &&\n tableMeta.search.highlightedColumnIndexes.length &&\n query !== lastResultQuery.current\n ) {\n lastResultQuery.current = query;\n\n const rowIndex = tableMeta.search.highlightedColumnIndexes[0]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n }\n }, [tableMeta.search.highlightedColumnIndexes.length, query]);\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>(undefined);\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 }, 350);\n }\n };\n\n const handleToggleExcludeUnmatchedResults = async (enabled: boolean) => {\n tableMeta.search.setEnableGlobalFilter(enabled, table);\n requestAnimationFrame(() => ref.current?.focus());\n\n if (tableMeta.search.handleSearch) {\n setLoading(true);\n await tableMeta.search.handleSearch(enabled ? query : undefined, hiddenColumns);\n setLoading(false);\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 const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\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 const rowIndex = tableMeta.search.highlightedColumnIndexes[nextIndex]?.[0];\n\n if (rowIndex !== undefined) {\n scrollTo(rowIndex);\n }\n };\n\n const settings = tableMeta.server._experimentalDataLoader2 ? undefined : (\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] =\n 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 ? null\n : tableMeta.search.currentHighlightColumnIndex + 1\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":["React","query"],"mappings":"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"}
|
package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs
CHANGED
|
@@ -7,6 +7,7 @@ const Item = require("../../../../../../Sortable/components/Item.cjs");
|
|
|
7
7
|
const List = require("../../../../../../Sortable/components/List.cjs");
|
|
8
8
|
const sortable = require("@dnd-kit/sortable");
|
|
9
9
|
const columns = require("../../../../../useTableManager/util/columns.cjs");
|
|
10
|
+
const rows = require("../../../../../useTableManager/util/rows.cjs");
|
|
10
11
|
const Localization = require("../../../../../../../components/Provider/Localization.cjs");
|
|
11
12
|
const Popover = require("../../../../../../../components/Popover/Popover.cjs");
|
|
12
13
|
const Input = require("../../../../../../../components/Input/Input.cjs");
|
|
@@ -31,7 +32,7 @@ function HideOrOrderPopover(props) {
|
|
|
31
32
|
const { texts } = Localization.useLocalization();
|
|
32
33
|
const [query, setQuery] = React.useState("");
|
|
33
34
|
const allColumns = table.getAllLeafColumns();
|
|
34
|
-
const tableMeta = table
|
|
35
|
+
const tableMeta = rows.getTableMeta(table);
|
|
35
36
|
const columns$1 = React.useMemo(
|
|
36
37
|
() => allColumns.filter((column) => !columns.isInternalColumn(column.id)).filter(
|
|
37
38
|
(column) => query?.length ? column.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) || column.parent?.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) : true
|
package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HideOrOrderPopover.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, Column as ReactTableColumn
|
|
1
|
+
{"version":3,"file":"HideOrOrderPopover.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, Column as ReactTableColumn } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport type { PopoverProps } from '@/components';\nimport { Checkbox, Input, Icon, Popover, useLocalization } from '@/components';\nimport * as SortablePrimitive from '@/primitives/Sortable/Sortable';\nimport type { SortableItemId } from '@/primitives/Sortable/Sortable';\n\nimport { ensureOrdering, isInternalColumn } from '../../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\n\ntype ColumnProps<TType = unknown> = React.HTMLAttributes<HTMLDivElement> & {\n column: ReactTableColumn<TType, unknown>;\n draggable?: boolean;\n};\n\nconst Column = React.forwardRef(function Column<TType = unknown>(props: ColumnProps<TType>, ref: React.Ref<HTMLDivElement>) {\n const { column, draggable = false, ...dragAttributes } = props;\n const canHide = column.getCanHide();\n\n const className = cn('group/column flex items-center gap-x-2 rounded px-2 py-1', {\n 'hover:bg-gray-200': canHide || draggable,\n 'hover:cursor-pointer': canHide,\n 'active:cursor-move active:bg-gray-300': draggable,\n });\n\n const attributes = draggable ? dragAttributes : undefined;\n const isVisible = column.getIsVisible();\n const parentHeader = column.parent?.columnDef?.header;\n\n const Tag = canHide ? 'label' : 'span';\n\n return (\n <div {...attributes} className={className} ref={ref}>\n {draggable ? <Icon name=\"drag\" className=\"-mx-2 !h-5 text-gray-500 group-hover/column:text-gray-700\" /> : null}\n <Tag className=\"flex-grow truncate\" htmlFor={canHide ? column.id : undefined}>\n {column.columnDef.meta?.header}\n {parentHeader ? <span className=\"italic\">({parentHeader as React.ReactNode})</span> : null}\n </Tag>\n {canHide ? (\n <Checkbox checked={isVisible} id={column.id} onChange={() => column.toggleVisibility(!isVisible)} />\n ) : null}\n </div>\n );\n});\n\nexport type HideOrOrderPopoverProps<TType = unknown> = PopoverProps & {\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function HideOrOrderPopover<TType = unknown>(props: HideOrOrderPopoverProps<TType>) {\n const { id, table, trigger, ...popoverProps } = props;\n const { texts } = useLocalization();\n const [query, setQuery] = React.useState('');\n const allColumns = table.getAllLeafColumns();\n const tableMeta = getTableMeta(table);\n const columns = React.useMemo(\n () =>\n allColumns\n .filter(column => !isInternalColumn(column.id))\n .filter(column =>\n query?.length\n ? column.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) ||\n column.parent?.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase())\n : true\n ),\n [allColumns, query]\n );\n\n const listClassName = 'flex max-h-64 flex-col gap-y-px overflow-auto';\n\n const handleReorder = (activeId: SortableItemId, overId: SortableItemId) => {\n if (columns.some(column => column.id === overId && column.columnDef.meta?.enableOrdering === false)) {\n return;\n }\n\n const currentOrder = table.getState().columnOrder;\n const nextOrder = ensureOrdering(\n allColumns,\n SortablePrimitive.arrayMove(\n currentOrder,\n currentOrder.findIndex(c => c === activeId),\n currentOrder.findIndex(c => c === overId)\n )\n );\n\n // update column order\n table.setColumnOrder(nextOrder);\n\n // update pinned columns - because we do index based \"freezing\" instead of just pinning, pinned state needs updating to align with ordering\n if (table.getIsSomeColumnsPinned()) {\n const currentFrozenIndex = table.getState().columnPinning.left?.length ?? -1;\n\n if (currentFrozenIndex > -1) {\n table.setColumnPinning(currentPinning => ({\n ...currentPinning,\n left: nextOrder.slice(0, currentFrozenIndex),\n }));\n }\n }\n };\n\n return (\n <Popover {...popoverProps} anchor={trigger}>\n <Popover.Content id={id}>\n <div className=\"flex min-w-[100px] max-w-sm flex-col gap-2\">\n {table.options.enableHiding ? (\n <Input\n onChange={event => setQuery(event.target.value)}\n placeholder={texts.table.columnSettings.search}\n value={query}\n />\n ) : null}\n {tableMeta.columnOrdering.isEnabled && columns.length && !query?.length ? (\n <SortablePrimitive.Container reorder={handleReorder}>\n <SortablePrimitive.List id=\"columns\" className={listClassName}>\n {columns\n .filter(column => !column.getIsGrouped())\n .map(column => (\n <SortablePrimitive.Item\n key={column.id}\n id={column.id}\n disabled={!column.columnDef.meta?.enableOrdering}\n asChild>\n <Column column={column as any} draggable={column.columnDef.meta?.enableOrdering} />\n </SortablePrimitive.Item>\n ))}\n </SortablePrimitive.List>\n </SortablePrimitive.Container>\n ) : (\n <div className={listClassName}>\n {columns.length\n ? columns.map(column => <Column column={column as any} key={column.id} />)\n : texts.table.columnSettings.noResults}\n </div>\n )}\n </div>\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["Column","Icon","Checkbox","useLocalization","getTableMeta","columns","isInternalColumn","ensureOrdering","SortablePrimitive.arrayMove","Popover","Input","SortablePrimitive.Container","SortablePrimitive.List","SortablePrimitive.Item"],"mappings":"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"}
|
package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js
CHANGED
|
@@ -5,6 +5,7 @@ import { Item } from "../../../../../../Sortable/components/Item.js";
|
|
|
5
5
|
import { List } from "../../../../../../Sortable/components/List.js";
|
|
6
6
|
import { arrayMove } from "@dnd-kit/sortable";
|
|
7
7
|
import { isInternalColumn, ensureOrdering } from "../../../../../useTableManager/util/columns.js";
|
|
8
|
+
import { getTableMeta } from "../../../../../useTableManager/util/rows.js";
|
|
8
9
|
import { useLocalization } from "../../../../../../../components/Provider/Localization.js";
|
|
9
10
|
import { Popover } from "../../../../../../../components/Popover/Popover.js";
|
|
10
11
|
import { Input } from "../../../../../../../components/Input/Input.js";
|
|
@@ -29,7 +30,7 @@ function HideOrOrderPopover(props) {
|
|
|
29
30
|
const { texts } = useLocalization();
|
|
30
31
|
const [query, setQuery] = React__default.useState("");
|
|
31
32
|
const allColumns = table.getAllLeafColumns();
|
|
32
|
-
const tableMeta = table
|
|
33
|
+
const tableMeta = getTableMeta(table);
|
|
33
34
|
const columns = React__default.useMemo(
|
|
34
35
|
() => allColumns.filter((column) => !isInternalColumn(column.id)).filter(
|
|
35
36
|
(column) => query?.length ? column.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) || column.parent?.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) : true
|
package/dist/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HideOrOrderPopover.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, Column as ReactTableColumn
|
|
1
|
+
{"version":3,"file":"HideOrOrderPopover.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/HideOrOrderPopover.tsx"],"sourcesContent":["import type { Table as ReactTable, Column as ReactTableColumn } from '@tanstack/react-table';\nimport cn from 'clsx';\nimport React from 'react';\n\nimport type { PopoverProps } from '@/components';\nimport { Checkbox, Input, Icon, Popover, useLocalization } from '@/components';\nimport * as SortablePrimitive from '@/primitives/Sortable/Sortable';\nimport type { SortableItemId } from '@/primitives/Sortable/Sortable';\n\nimport { ensureOrdering, isInternalColumn } from '../../../../../useTableManager/util/columns';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\n\ntype ColumnProps<TType = unknown> = React.HTMLAttributes<HTMLDivElement> & {\n column: ReactTableColumn<TType, unknown>;\n draggable?: boolean;\n};\n\nconst Column = React.forwardRef(function Column<TType = unknown>(props: ColumnProps<TType>, ref: React.Ref<HTMLDivElement>) {\n const { column, draggable = false, ...dragAttributes } = props;\n const canHide = column.getCanHide();\n\n const className = cn('group/column flex items-center gap-x-2 rounded px-2 py-1', {\n 'hover:bg-gray-200': canHide || draggable,\n 'hover:cursor-pointer': canHide,\n 'active:cursor-move active:bg-gray-300': draggable,\n });\n\n const attributes = draggable ? dragAttributes : undefined;\n const isVisible = column.getIsVisible();\n const parentHeader = column.parent?.columnDef?.header;\n\n const Tag = canHide ? 'label' : 'span';\n\n return (\n <div {...attributes} className={className} ref={ref}>\n {draggable ? <Icon name=\"drag\" className=\"-mx-2 !h-5 text-gray-500 group-hover/column:text-gray-700\" /> : null}\n <Tag className=\"flex-grow truncate\" htmlFor={canHide ? column.id : undefined}>\n {column.columnDef.meta?.header}\n {parentHeader ? <span className=\"italic\">({parentHeader as React.ReactNode})</span> : null}\n </Tag>\n {canHide ? (\n <Checkbox checked={isVisible} id={column.id} onChange={() => column.toggleVisibility(!isVisible)} />\n ) : null}\n </div>\n );\n});\n\nexport type HideOrOrderPopoverProps<TType = unknown> = PopoverProps & {\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function HideOrOrderPopover<TType = unknown>(props: HideOrOrderPopoverProps<TType>) {\n const { id, table, trigger, ...popoverProps } = props;\n const { texts } = useLocalization();\n const [query, setQuery] = React.useState('');\n const allColumns = table.getAllLeafColumns();\n const tableMeta = getTableMeta(table);\n const columns = React.useMemo(\n () =>\n allColumns\n .filter(column => !isInternalColumn(column.id))\n .filter(column =>\n query?.length\n ? column.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase()) ||\n column.parent?.columnDef.meta?.header.toLowerCase().includes(query.toLowerCase())\n : true\n ),\n [allColumns, query]\n );\n\n const listClassName = 'flex max-h-64 flex-col gap-y-px overflow-auto';\n\n const handleReorder = (activeId: SortableItemId, overId: SortableItemId) => {\n if (columns.some(column => column.id === overId && column.columnDef.meta?.enableOrdering === false)) {\n return;\n }\n\n const currentOrder = table.getState().columnOrder;\n const nextOrder = ensureOrdering(\n allColumns,\n SortablePrimitive.arrayMove(\n currentOrder,\n currentOrder.findIndex(c => c === activeId),\n currentOrder.findIndex(c => c === overId)\n )\n );\n\n // update column order\n table.setColumnOrder(nextOrder);\n\n // update pinned columns - because we do index based \"freezing\" instead of just pinning, pinned state needs updating to align with ordering\n if (table.getIsSomeColumnsPinned()) {\n const currentFrozenIndex = table.getState().columnPinning.left?.length ?? -1;\n\n if (currentFrozenIndex > -1) {\n table.setColumnPinning(currentPinning => ({\n ...currentPinning,\n left: nextOrder.slice(0, currentFrozenIndex),\n }));\n }\n }\n };\n\n return (\n <Popover {...popoverProps} anchor={trigger}>\n <Popover.Content id={id}>\n <div className=\"flex min-w-[100px] max-w-sm flex-col gap-2\">\n {table.options.enableHiding ? (\n <Input\n onChange={event => setQuery(event.target.value)}\n placeholder={texts.table.columnSettings.search}\n value={query}\n />\n ) : null}\n {tableMeta.columnOrdering.isEnabled && columns.length && !query?.length ? (\n <SortablePrimitive.Container reorder={handleReorder}>\n <SortablePrimitive.List id=\"columns\" className={listClassName}>\n {columns\n .filter(column => !column.getIsGrouped())\n .map(column => (\n <SortablePrimitive.Item\n key={column.id}\n id={column.id}\n disabled={!column.columnDef.meta?.enableOrdering}\n asChild>\n <Column column={column as any} draggable={column.columnDef.meta?.enableOrdering} />\n </SortablePrimitive.Item>\n ))}\n </SortablePrimitive.List>\n </SortablePrimitive.Container>\n ) : (\n <div className={listClassName}>\n {columns.length\n ? columns.map(column => <Column column={column as any} key={column.id} />)\n : texts.table.columnSettings.noResults}\n </div>\n )}\n </div>\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["React","Column","SortablePrimitive.arrayMove","SortablePrimitive.Container","SortablePrimitive.List","SortablePrimitive.Item"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const types = require("../../../../../../../types.cjs");
|
|
5
|
+
const rows = require("../../../../../useTableManager/util/rows.cjs");
|
|
5
6
|
const settings = require("../../../../../useTableManager/util/settings.cjs");
|
|
6
7
|
const HideOrOrderPopover = require("./HideOrOrderPopover.cjs");
|
|
7
8
|
const Localization = require("../../../../../../../components/Provider/Localization.cjs");
|
|
@@ -10,7 +11,7 @@ const Menu = require("../../../../../../../components/Menu/Menu.cjs");
|
|
|
10
11
|
function Settings(props) {
|
|
11
12
|
const { customSettings, id, table } = props;
|
|
12
13
|
const { texts } = Localization.useLocalization();
|
|
13
|
-
const tableMeta = table
|
|
14
|
+
const tableMeta = rows.getTableMeta(table);
|
|
14
15
|
const canHideOrOrder = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;
|
|
15
16
|
const canChangeFontSize = tableMeta.fontSize.isEnabled;
|
|
16
17
|
const canChangeRowHeight = tableMeta.rowHeight.isEnabled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { IconName, PopoverProps } from '@/components';\nimport { LegacyIconButton, Menu, useLocalization } from '@/components';\nimport { FontSizes } from '@/types';\n\nimport type { TableCustomSettingsRenderer } from '../../../../../types';\nimport { getSettings } from '../../../../../useTableManager/util/settings';\n\nimport { HideOrOrderPopover } from './HideOrOrderPopover';\n\nexport type SettingsProps<TType = unknown> = {\n customSettings?: TableCustomSettingsRenderer;\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function Settings<TType = unknown>(props: SettingsProps<TType>) {\n const { customSettings, id, table } = props;\n const { texts } = useLocalization();\n const tableMeta = table
|
|
1
|
+
{"version":3,"file":"Settings.cjs","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { IconName, PopoverProps } from '@/components';\nimport { LegacyIconButton, Menu, useLocalization } from '@/components';\nimport { FontSizes } from '@/types';\n\nimport type { TableCustomSettingsRenderer } from '../../../../../types';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\nimport { getSettings } from '../../../../../useTableManager/util/settings';\n\nimport { HideOrOrderPopover } from './HideOrOrderPopover';\n\nexport type SettingsProps<TType = unknown> = {\n customSettings?: TableCustomSettingsRenderer;\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function Settings<TType = unknown>(props: SettingsProps<TType>) {\n const { customSettings, id, table } = props;\n const { texts } = useLocalization();\n const tableMeta = getTableMeta(table);\n\n const canHideOrOrder = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n const canChangeFontSize = tableMeta.fontSize.isEnabled;\n const canChangeRowHeight = tableMeta.rowHeight.isEnabled;\n\n const [popover, setPopover] = React.useState<string | undefined>(undefined);\n\n let popoverElement;\n\n if (popover === 'columnSettings') {\n const handleClosePopover = () => setPopover(undefined);\n if (canHideOrOrder) {\n popoverElement = (popoverProps: PopoverProps) => (\n <HideOrOrderPopover\n {...popoverProps}\n id={`${id}-columnSettings`}\n open\n onChange={handleClosePopover}\n table={table}\n />\n );\n }\n }\n\n const handleOpenColumnSettings = React.useCallback(() => {\n // Wait until the menu click lifecycle finishes, otherwise the popover can instantly close\n // because the originating click is treated as an outside interaction.\n setTimeout(() => setPopover('columnSettings'));\n }, []);\n\n return (\n <>\n {popoverElement ? (\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n id={id}\n icon=\"sliders\"\n popover={popoverElement}\n tooltip={texts.table.otherOptions.tooltip}\n />\n ) : (\n // With using of id/triggerId we can maintain the previous id contract (with \"...-toolbar-settings\" postfix), and avoid BaseUI to set random id for the trigger button.\n <Menu triggerId={id}>\n <Menu.Trigger id={id}>\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n tooltip={texts.table.otherOptions.tooltip}\n icon=\"sliders\"\n />\n </Menu.Trigger>\n <Menu.Content align=\"end\">\n {canHideOrOrder ? (\n <Menu.Item aria-controls={`${id}-columnSettings`} icon=\"columns\" onClick={handleOpenColumnSettings}>\n {texts.table.columnSettings.button}\n </Menu.Item>\n ) : null}\n {canHideOrOrder && (canChangeRowHeight || canChangeFontSize || customSettings) ? (\n <Menu.Separator />\n ) : null}\n {canChangeRowHeight ? (\n <Menu.Item\n icon={`height-${tableMeta.rowHeight.height}` as IconName}\n subMenu={() => <RowHeightMenuItem tableMeta={tableMeta} />}>\n {texts.table.rowHeight.tooltip}\n </Menu.Item>\n ) : null}\n {canChangeFontSize ? (\n <Menu.Item icon=\"font-size\" subMenu={() => <FontSizeMenuItem tableMeta={tableMeta} />}>\n {texts.table.fontSize.tooltip}\n </Menu.Item>\n ) : null}\n\n {customSettings ? (\n <>\n {canChangeRowHeight || canChangeFontSize ? <Menu.Separator /> : null}\n {customSettings(getSettings(table)).map((item, index) => (\n <React.Fragment key={index}>{item}</React.Fragment>\n ))}\n </>\n ) : null}\n </Menu.Content>\n </Menu>\n )}\n </>\n );\n}\n\nfunction FontSizeMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.fontSize.setSize as any} value={tableMeta.fontSize.size}>\n <Menu.RadioGroup.Item value={FontSizes.small}>{texts.table.fontSize.sizes.small}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value={FontSizes.medium}>{texts.table.fontSize.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item disabled={tableMeta.rowHeight.height === 'short'} value={FontSizes.large}>\n {texts.table.fontSize.sizes.large}\n </Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n\nfunction RowHeightMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.rowHeight.setHeight as any} value={tableMeta.rowHeight.height}>\n <Menu.RadioGroup.Item value=\"short\">{texts.table.rowHeight.sizes.short}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"medium\">{texts.table.rowHeight.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"tall\">{texts.table.rowHeight.sizes.tall}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"extra-tall\">{texts.table.rowHeight.sizes.extraTall}</Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n"],"names":["useLocalization","getTableMeta","HideOrOrderPopover","LegacyIconButton","Menu","getSettings","FontSizes"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
2
|
import { FontSizes } from "../../../../../../../types.js";
|
|
3
|
+
import { getTableMeta } from "../../../../../useTableManager/util/rows.js";
|
|
3
4
|
import { getSettings } from "../../../../../useTableManager/util/settings.js";
|
|
4
5
|
import { HideOrOrderPopover } from "./HideOrOrderPopover.js";
|
|
5
6
|
import { useLocalization } from "../../../../../../../components/Provider/Localization.js";
|
|
@@ -8,7 +9,7 @@ import { Menu } from "../../../../../../../components/Menu/Menu.js";
|
|
|
8
9
|
function Settings(props) {
|
|
9
10
|
const { customSettings, id, table } = props;
|
|
10
11
|
const { texts } = useLocalization();
|
|
11
|
-
const tableMeta = table
|
|
12
|
+
const tableMeta = getTableMeta(table);
|
|
12
13
|
const canHideOrOrder = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;
|
|
13
14
|
const canChangeFontSize = tableMeta.fontSize.isEnabled;
|
|
14
15
|
const canChangeRowHeight = tableMeta.rowHeight.isEnabled;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { IconName, PopoverProps } from '@/components';\nimport { LegacyIconButton, Menu, useLocalization } from '@/components';\nimport { FontSizes } from '@/types';\n\nimport type { TableCustomSettingsRenderer } from '../../../../../types';\nimport { getSettings } from '../../../../../useTableManager/util/settings';\n\nimport { HideOrOrderPopover } from './HideOrOrderPopover';\n\nexport type SettingsProps<TType = unknown> = {\n customSettings?: TableCustomSettingsRenderer;\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function Settings<TType = unknown>(props: SettingsProps<TType>) {\n const { customSettings, id, table } = props;\n const { texts } = useLocalization();\n const tableMeta = table
|
|
1
|
+
{"version":3,"file":"Settings.js","sources":["../../../../../../../../src/primitives/Table/Core/components/Toolbar/components/Settings/Settings.tsx"],"sourcesContent":["import type { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { IconName, PopoverProps } from '@/components';\nimport { LegacyIconButton, Menu, useLocalization } from '@/components';\nimport { FontSizes } from '@/types';\n\nimport type { TableCustomSettingsRenderer } from '../../../../../types';\nimport { getTableMeta } from '../../../../../useTableManager/util/rows';\nimport { getSettings } from '../../../../../useTableManager/util/settings';\n\nimport { HideOrOrderPopover } from './HideOrOrderPopover';\n\nexport type SettingsProps<TType = unknown> = {\n customSettings?: TableCustomSettingsRenderer;\n id: string;\n table: ReactTable<TType>;\n};\n\nexport function Settings<TType = unknown>(props: SettingsProps<TType>) {\n const { customSettings, id, table } = props;\n const { texts } = useLocalization();\n const tableMeta = getTableMeta(table);\n\n const canHideOrOrder = table.options.enableHiding || tableMeta.columnOrdering.isEnabled;\n const canChangeFontSize = tableMeta.fontSize.isEnabled;\n const canChangeRowHeight = tableMeta.rowHeight.isEnabled;\n\n const [popover, setPopover] = React.useState<string | undefined>(undefined);\n\n let popoverElement;\n\n if (popover === 'columnSettings') {\n const handleClosePopover = () => setPopover(undefined);\n if (canHideOrOrder) {\n popoverElement = (popoverProps: PopoverProps) => (\n <HideOrOrderPopover\n {...popoverProps}\n id={`${id}-columnSettings`}\n open\n onChange={handleClosePopover}\n table={table}\n />\n );\n }\n }\n\n const handleOpenColumnSettings = React.useCallback(() => {\n // Wait until the menu click lifecycle finishes, otherwise the popover can instantly close\n // because the originating click is treated as an outside interaction.\n setTimeout(() => setPopover('columnSettings'));\n }, []);\n\n return (\n <>\n {popoverElement ? (\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n id={id}\n icon=\"sliders\"\n popover={popoverElement}\n tooltip={texts.table.otherOptions.tooltip}\n />\n ) : (\n // With using of id/triggerId we can maintain the previous id contract (with \"...-toolbar-settings\" postfix), and avoid BaseUI to set random id for the trigger button.\n <Menu triggerId={id}>\n <Menu.Trigger id={id}>\n <LegacyIconButton\n aria-label={texts.table.otherOptions.tooltip}\n tooltip={texts.table.otherOptions.tooltip}\n icon=\"sliders\"\n />\n </Menu.Trigger>\n <Menu.Content align=\"end\">\n {canHideOrOrder ? (\n <Menu.Item aria-controls={`${id}-columnSettings`} icon=\"columns\" onClick={handleOpenColumnSettings}>\n {texts.table.columnSettings.button}\n </Menu.Item>\n ) : null}\n {canHideOrOrder && (canChangeRowHeight || canChangeFontSize || customSettings) ? (\n <Menu.Separator />\n ) : null}\n {canChangeRowHeight ? (\n <Menu.Item\n icon={`height-${tableMeta.rowHeight.height}` as IconName}\n subMenu={() => <RowHeightMenuItem tableMeta={tableMeta} />}>\n {texts.table.rowHeight.tooltip}\n </Menu.Item>\n ) : null}\n {canChangeFontSize ? (\n <Menu.Item icon=\"font-size\" subMenu={() => <FontSizeMenuItem tableMeta={tableMeta} />}>\n {texts.table.fontSize.tooltip}\n </Menu.Item>\n ) : null}\n\n {customSettings ? (\n <>\n {canChangeRowHeight || canChangeFontSize ? <Menu.Separator /> : null}\n {customSettings(getSettings(table)).map((item, index) => (\n <React.Fragment key={index}>{item}</React.Fragment>\n ))}\n </>\n ) : null}\n </Menu.Content>\n </Menu>\n )}\n </>\n );\n}\n\nfunction FontSizeMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.fontSize.setSize as any} value={tableMeta.fontSize.size}>\n <Menu.RadioGroup.Item value={FontSizes.small}>{texts.table.fontSize.sizes.small}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value={FontSizes.medium}>{texts.table.fontSize.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item disabled={tableMeta.rowHeight.height === 'short'} value={FontSizes.large}>\n {texts.table.fontSize.sizes.large}\n </Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n\nfunction RowHeightMenuItem<TType = unknown>({ tableMeta }: { tableMeta: ReactTableMeta<TType> }) {\n const { texts } = useLocalization();\n\n return (\n <Menu.SubMenu>\n <Menu.RadioGroup onChange={tableMeta.rowHeight.setHeight as any} value={tableMeta.rowHeight.height}>\n <Menu.RadioGroup.Item value=\"short\">{texts.table.rowHeight.sizes.short}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"medium\">{texts.table.rowHeight.sizes.medium}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"tall\">{texts.table.rowHeight.sizes.tall}</Menu.RadioGroup.Item>\n <Menu.RadioGroup.Item value=\"extra-tall\">{texts.table.rowHeight.sizes.extraTall}</Menu.RadioGroup.Item>\n </Menu.RadioGroup>\n </Menu.SubMenu>\n );\n}\n"],"names":["React"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ const React = require("react");
|
|
|
4
4
|
const dom = require("../../../../utils/dom.cjs");
|
|
5
5
|
const rows = require("../../useTableManager/util/rows.cjs");
|
|
6
6
|
function useTableGlobalShortcuts(table, tableRef, scrollToIndex, localShortcuts = false) {
|
|
7
|
-
const tableMeta = table
|
|
7
|
+
const tableMeta = rows.getTableMeta(table);
|
|
8
8
|
const rows$1 = table.getRowModel().rows;
|
|
9
9
|
const dialogContainer = tableRef.current?.closest('[data-taco="dialog"]');
|
|
10
10
|
const listenerTarget = localShortcuts ? tableRef.current : dialogContainer ?? document;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableGlobalShortcuts.cjs","sources":["../../../../../src/primitives/Table/Core/features/useTableGlobalShortcuts.ts"],"sourcesContent":["import type { Table as ReactTable
|
|
1
|
+
{"version":3,"file":"useTableGlobalShortcuts.cjs","sources":["../../../../../src/primitives/Table/Core/features/useTableGlobalShortcuts.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { isElementInsideExternalRelatedOverlay } from '@/utils/dom';\n\nimport type { TableRef } from '../../types';\nimport { getReachableRowCount, getTableMeta } from '../../useTableManager/util/rows';\n\nexport function useTableGlobalShortcuts<TType = unknown>(\n table: ReactTable<TType>,\n tableRef: React.RefObject<TableRef>,\n scrollToIndex: (index: number) => void,\n localShortcuts = false\n) {\n const tableMeta = getTableMeta(table);\n const rows = table.getRowModel().rows;\n const dialogContainer = tableRef.current?.closest('[data-taco=\"dialog\"]');\n const listenerTarget = localShortcuts ? tableRef.current : (dialogContainer ?? document);\n\n React.useEffect(\n () => {\n const handleKeyDown = (event: Event) => {\n const trigger = event.target as HTMLElement;\n\n if (isElementInsideExternalRelatedOverlay(trigger, tableRef)) {\n return;\n }\n\n const reachableRows = getReachableRowCount(table);\n tableMeta.rowActive.handleKeyDown(event as KeyboardEvent, reachableRows, scrollToIndex);\n tableMeta.rowSelection.handleKeyDown(event as KeyboardEvent, table);\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n tableMeta.rowClick.handleKeyDown(event as KeyboardEvent, rows[tableMeta.rowActive.rowActiveIndex]?.original);\n }\n };\n\n listenerTarget?.addEventListener('keydown', handleKeyDown);\n\n return () => {\n listenerTarget?.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":["getTableMeta","rows","isElementInsideExternalRelatedOverlay","getReachableRowCount"],"mappings":";;;;;AAQO,SAAS,wBACZ,OACA,UACA,eACA,iBAAiB,OACnB;AACE,QAAM,YAAYA,KAAAA,aAAa,KAAK;AACpC,QAAMC,SAAO,MAAM,YAAA,EAAc;AACjC,QAAM,kBAAkB,SAAS,SAAS,QAAQ,sBAAsB;AACxE,QAAM,iBAAiB,iBAAiB,SAAS,UAAW,mBAAmB;AAE/E,QAAM;AAAA,IACF,MAAM;AACF,YAAM,gBAAgB,CAAC,UAAiB;AACpC,cAAM,UAAU,MAAM;AAEtB,YAAIC,IAAAA,sCAAsC,SAAS,QAAQ,GAAG;AAC1D;AAAA,QACJ;AAEA,cAAM,gBAAgBC,KAAAA,qBAAqB,KAAK;AAChD,kBAAU,UAAU,cAAc,OAAwB,eAAe,aAAa;AACtF,kBAAU,aAAa,cAAc,OAAwB,KAAK;AAElE,YAAI,UAAU,UAAU,mBAAmB,QAAW;AAClD,oBAAU,SAAS,cAAc,OAAwBF,OAAK,UAAU,UAAU,cAAc,GAAG,QAAQ;AAAA,QAC/G;AAAA,MACJ;AAEA,sBAAgB,iBAAiB,WAAW,aAAa;AAEzD,aAAO,MAAM;AACT,wBAAgB,oBAAoB,WAAW,aAAa;AAAA,MAChE;AAAA,IACJ;AAAA;AAAA,IAGA,CAAC,SAAS,SAAS,UAAU,QAAQ,UAAU,UAAU,gBAAgB,aAAa;AAAA,EAAA;AAE9F;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
2
|
import { isElementInsideExternalRelatedOverlay } from "../../../../utils/dom.js";
|
|
3
|
-
import { getReachableRowCount } from "../../useTableManager/util/rows.js";
|
|
3
|
+
import { getTableMeta, getReachableRowCount } from "../../useTableManager/util/rows.js";
|
|
4
4
|
function useTableGlobalShortcuts(table, tableRef, scrollToIndex, localShortcuts = false) {
|
|
5
|
-
const tableMeta = table
|
|
5
|
+
const tableMeta = getTableMeta(table);
|
|
6
6
|
const rows = table.getRowModel().rows;
|
|
7
7
|
const dialogContainer = tableRef.current?.closest('[data-taco="dialog"]');
|
|
8
8
|
const listenerTarget = localShortcuts ? tableRef.current : dialogContainer ?? document;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableGlobalShortcuts.js","sources":["../../../../../src/primitives/Table/Core/features/useTableGlobalShortcuts.ts"],"sourcesContent":["import type { Table as ReactTable
|
|
1
|
+
{"version":3,"file":"useTableGlobalShortcuts.js","sources":["../../../../../src/primitives/Table/Core/features/useTableGlobalShortcuts.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport { isElementInsideExternalRelatedOverlay } from '@/utils/dom';\n\nimport type { TableRef } from '../../types';\nimport { getReachableRowCount, getTableMeta } from '../../useTableManager/util/rows';\n\nexport function useTableGlobalShortcuts<TType = unknown>(\n table: ReactTable<TType>,\n tableRef: React.RefObject<TableRef>,\n scrollToIndex: (index: number) => void,\n localShortcuts = false\n) {\n const tableMeta = getTableMeta(table);\n const rows = table.getRowModel().rows;\n const dialogContainer = tableRef.current?.closest('[data-taco=\"dialog\"]');\n const listenerTarget = localShortcuts ? tableRef.current : (dialogContainer ?? document);\n\n React.useEffect(\n () => {\n const handleKeyDown = (event: Event) => {\n const trigger = event.target as HTMLElement;\n\n if (isElementInsideExternalRelatedOverlay(trigger, tableRef)) {\n return;\n }\n\n const reachableRows = getReachableRowCount(table);\n tableMeta.rowActive.handleKeyDown(event as KeyboardEvent, reachableRows, scrollToIndex);\n tableMeta.rowSelection.handleKeyDown(event as KeyboardEvent, table);\n\n if (tableMeta.rowActive.rowActiveIndex !== undefined) {\n tableMeta.rowClick.handleKeyDown(event as KeyboardEvent, rows[tableMeta.rowActive.rowActiveIndex]?.original);\n }\n };\n\n listenerTarget?.addEventListener('keydown', handleKeyDown);\n\n return () => {\n listenerTarget?.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":["React"],"mappings":";;;AAQO,SAAS,wBACZ,OACA,UACA,eACA,iBAAiB,OACnB;AACE,QAAM,YAAY,aAAa,KAAK;AACpC,QAAM,OAAO,MAAM,YAAA,EAAc;AACjC,QAAM,kBAAkB,SAAS,SAAS,QAAQ,sBAAsB;AACxE,QAAM,iBAAiB,iBAAiB,SAAS,UAAW,mBAAmB;AAE/EA,iBAAM;AAAA,IACF,MAAM;AACF,YAAM,gBAAgB,CAAC,UAAiB;AACpC,cAAM,UAAU,MAAM;AAEtB,YAAI,sCAAsC,SAAS,QAAQ,GAAG;AAC1D;AAAA,QACJ;AAEA,cAAM,gBAAgB,qBAAqB,KAAK;AAChD,kBAAU,UAAU,cAAc,OAAwB,eAAe,aAAa;AACtF,kBAAU,aAAa,cAAc,OAAwB,KAAK;AAElE,YAAI,UAAU,UAAU,mBAAmB,QAAW;AAClD,oBAAU,SAAS,cAAc,OAAwB,KAAK,UAAU,UAAU,cAAc,GAAG,QAAQ;AAAA,QAC/G;AAAA,MACJ;AAEA,sBAAgB,iBAAiB,WAAW,aAAa;AAEzD,aAAO,MAAM;AACT,wBAAgB,oBAAoB,WAAW,aAAa;AAAA,MAChE;AAAA,IACJ;AAAA;AAAA,IAGA,CAAC,SAAS,SAAS,UAAU,QAAQ,UAAU,UAAU,gBAAgB,aAAa;AAAA,EAAA;AAE9F;"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const React = require("react");
|
|
4
|
+
const rows = require("../../useTableManager/util/rows.cjs");
|
|
4
5
|
function useTableRef(table, ref) {
|
|
5
6
|
React.useEffect(() => {
|
|
6
7
|
if (ref.current) {
|
|
7
|
-
const tableMeta = table
|
|
8
|
+
const tableMeta = rows.getTableMeta(table);
|
|
8
9
|
ref.current.instance = {
|
|
9
10
|
resetFiltering: () => table.resetColumnFilters(),
|
|
10
11
|
resetPagination: async () => {
|
|
11
|
-
if (tableMeta
|
|
12
|
+
if (tableMeta.server.resetPagination) {
|
|
12
13
|
await tableMeta.server.resetPagination();
|
|
13
14
|
ref.current?.scrollTo({ top: 0 });
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableRef.cjs","sources":["../../../../../src/primitives/Table/Core/features/useTableRef.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { TableRef } from '../../types';\n\nexport function useTableRef<TType = unknown>(table: ReactTable<TType>, ref: React.RefObject<TableRef>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = table
|
|
1
|
+
{"version":3,"file":"useTableRef.cjs","sources":["../../../../../src/primitives/Table/Core/features/useTableRef.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { TableRef } from '../../types';\nimport { getTableMeta } from '../../useTableManager/util/rows';\n\nexport function useTableRef<TType = unknown>(table: ReactTable<TType>, ref: React.RefObject<TableRef>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = getTableMeta(table);\n\n ref.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetPagination: async () => {\n if (tableMeta.server.resetPagination) {\n await tableMeta.server.resetPagination();\n // the loaded pages are gone, so the viewport must return to the first page\n ref.current?.scrollTo({ top: 0 });\n }\n },\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n };\n }\n }, [table, ref.current]);\n}\n"],"names":["getTableMeta"],"mappings":";;;;AAMO,SAAS,YAA6B,OAA0B,KAAgC;AACnG,QAAM,UAAU,MAAM;AAClB,QAAI,IAAI,SAAS;AACb,YAAM,YAAYA,KAAAA,aAAa,KAAK;AAEpC,UAAI,QAAQ,WAAW;AAAA,QACnB,gBAAgB,MAAM,MAAM,mBAAA;AAAA,QAC5B,iBAAiB,YAAY;AACzB,cAAI,UAAU,OAAO,iBAAiB;AAClC,kBAAM,UAAU,OAAO,gBAAA;AAEvB,gBAAI,SAAS,SAAS,EAAE,KAAK,GAAG;AAAA,UACpC;AAAA,QACJ;AAAA,QACA,mBAAmB,MAAM,MAAM,cAAA;AAAA,QAC/B,mBAAmB,MAAM,MAAM,kBAAA;AAAA,QAC/B,cAAc,MAAM,MAAM,aAAA;AAAA,MAAa;AAAA,IAE/C;AAAA,EACJ,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;AAC3B;;"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import React__default from "react";
|
|
2
|
+
import { getTableMeta } from "../../useTableManager/util/rows.js";
|
|
2
3
|
function useTableRef(table, ref) {
|
|
3
4
|
React__default.useEffect(() => {
|
|
4
5
|
if (ref.current) {
|
|
5
|
-
const tableMeta = table
|
|
6
|
+
const tableMeta = getTableMeta(table);
|
|
6
7
|
ref.current.instance = {
|
|
7
8
|
resetFiltering: () => table.resetColumnFilters(),
|
|
8
9
|
resetPagination: async () => {
|
|
9
|
-
if (tableMeta
|
|
10
|
+
if (tableMeta.server.resetPagination) {
|
|
10
11
|
await tableMeta.server.resetPagination();
|
|
11
12
|
ref.current?.scrollTo({ top: 0 });
|
|
12
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableRef.js","sources":["../../../../../src/primitives/Table/Core/features/useTableRef.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { TableRef } from '../../types';\n\nexport function useTableRef<TType = unknown>(table: ReactTable<TType>, ref: React.RefObject<TableRef>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = table
|
|
1
|
+
{"version":3,"file":"useTableRef.js","sources":["../../../../../src/primitives/Table/Core/features/useTableRef.ts"],"sourcesContent":["import type { Table as ReactTable } from '@tanstack/react-table';\nimport React from 'react';\n\nimport type { TableRef } from '../../types';\nimport { getTableMeta } from '../../useTableManager/util/rows';\n\nexport function useTableRef<TType = unknown>(table: ReactTable<TType>, ref: React.RefObject<TableRef>) {\n React.useEffect(() => {\n if (ref.current) {\n const tableMeta = getTableMeta(table);\n\n ref.current.instance = {\n resetFiltering: () => table.resetColumnFilters(),\n resetPagination: async () => {\n if (tableMeta.server.resetPagination) {\n await tableMeta.server.resetPagination();\n // the loaded pages are gone, so the viewport must return to the first page\n ref.current?.scrollTo({ top: 0 });\n }\n },\n resetRowExpansion: () => table.resetExpanded(),\n resetRowSelection: () => table.resetRowSelection(),\n resetSorting: () => table.resetSorting(),\n };\n }\n }, [table, ref.current]);\n}\n"],"names":["React"],"mappings":";;AAMO,SAAS,YAA6B,OAA0B,KAAgC;AACnGA,iBAAM,UAAU,MAAM;AAClB,QAAI,IAAI,SAAS;AACb,YAAM,YAAY,aAAa,KAAK;AAEpC,UAAI,QAAQ,WAAW;AAAA,QACnB,gBAAgB,MAAM,MAAM,mBAAA;AAAA,QAC5B,iBAAiB,YAAY;AACzB,cAAI,UAAU,OAAO,iBAAiB;AAClC,kBAAM,UAAU,OAAO,gBAAA;AAEvB,gBAAI,SAAS,SAAS,EAAE,KAAK,GAAG;AAAA,UACpC;AAAA,QACJ;AAAA,QACA,mBAAmB,MAAM,MAAM,cAAA;AAAA,QAC/B,mBAAmB,MAAM,MAAM,kBAAA;AAAA,QAC/B,cAAc,MAAM,MAAM,aAAA;AAAA,MAAa;AAAA,IAE/C;AAAA,EACJ,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;AAC3B;"}
|