@economic/taco 2.22.1 → 2.23.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/OverflowGroup/OverflowGroup.d.ts +1 -1
- package/dist/components/Report/Report.d.ts +2 -0
- package/dist/components/Report/components/Body/EmptyStateBody.d.ts +7 -0
- package/dist/components/Report/components/Cell/util.d.ts +1 -1
- package/dist/components/Report/types.d.ts +2 -0
- package/dist/components/Report/useReport.d.ts +1 -0
- package/dist/components/Select2/components/Trigger.d.ts +1 -0
- package/dist/components/Truncate/Truncate.d.ts +2 -2
- package/dist/esm/index.css +73 -75
- package/dist/esm/packages/taco/src/components/Card/Card.js +6 -3
- package/dist/esm/packages/taco/src/components/Card/Card.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Field/Field.js +4 -15
- package/dist/esm/packages/taco/src/components/Field/Field.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js +2 -2
- package/dist/esm/packages/taco/src/components/Header/components/PrimaryNavigation.js.map +1 -1
- package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js +13 -6
- package/dist/esm/packages/taco/src/components/OverflowGroup/OverflowGroup.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Report/Report.js +9 -6
- package/dist/esm/packages/taco/src/components/Report/Report.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Report/components/Body/EmptyStateBody.js +18 -0
- package/dist/esm/packages/taco/src/components/Report/components/Body/EmptyStateBody.js.map +1 -0
- package/dist/esm/packages/taco/src/components/Report/components/Cell/util.js +6 -2
- package/dist/esm/packages/taco/src/components/Report/components/Cell/util.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Report/styles/useCssGridStylesheet.js +3 -2
- package/dist/esm/packages/taco/src/components/Report/styles/useCssGridStylesheet.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js +1 -0
- package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js +9 -4
- package/dist/esm/packages/taco/src/components/Select2/components/Trigger.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js +2 -2
- package/dist/esm/packages/taco/src/components/Table3/components/columns/cell/EditingCell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/toolbar/PrintButton/PrintIFrame.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Toast/Toaster.js +4 -3
- package/dist/esm/packages/taco/src/components/Toast/Toaster.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Truncate/Truncate.js +34 -0
- package/dist/esm/packages/taco/src/components/Truncate/Truncate.js.map +1 -0
- package/dist/esm/packages/taco/src/index.js +1 -0
- package/dist/esm/packages/taco/src/index.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/types.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableSettings.js +48 -6
- package/dist/esm/packages/taco/src/primitives/Table/useTable/features/useTableSettings.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTable/useTable.js +4 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTable/useTable.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTable/util/presets.js +5 -5
- package/dist/esm/packages/taco/src/primitives/Table/useTable/util/presets.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTable/util/search.js +14 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTable/util/search.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader.js +127 -3
- package/dist/esm/packages/taco/src/primitives/Table/useTableDataLoader.js.map +1 -1
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js +4 -4
- package/dist/esm/packages/taco/src/utils/hooks/useTruncated.js.map +1 -1
- package/dist/index.css +73 -75
- package/dist/index.d.ts +1 -0
- package/dist/primitives/Table/types.d.ts +13 -1
- package/dist/primitives/Table/useTable/features/useTableSettings.d.ts +2 -2
- package/dist/primitives/Table/useTable/useTable.d.ts +1 -0
- package/dist/taco.cjs.development.js +306 -71
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/dist/utils/hooks/useTruncated.d.ts +1 -1
- package/package.json +2 -2
- package/types.json +8672 -8382
@@ -21,7 +21,7 @@ const DEFAULT_PRESET = {
|
|
21
21
|
enableRowClick: false,
|
22
22
|
enableRowGoto: false,
|
23
23
|
enableRowHeight: false,
|
24
|
-
|
24
|
+
enableSaveSettings: false
|
25
25
|
};
|
26
26
|
const presets = {
|
27
27
|
lite: {
|
@@ -45,7 +45,7 @@ const presets = {
|
|
45
45
|
enableRowClick: true,
|
46
46
|
enableRowGoto: true,
|
47
47
|
enableRowHeight: false,
|
48
|
-
|
48
|
+
enableSaveSettings: true
|
49
49
|
},
|
50
50
|
complex: {
|
51
51
|
// react-table built-in
|
@@ -68,11 +68,11 @@ const presets = {
|
|
68
68
|
enableRowClick: true,
|
69
69
|
enableRowGoto: true,
|
70
70
|
enableRowHeight: true,
|
71
|
-
|
71
|
+
enableSaveSettings: true
|
72
72
|
}
|
73
73
|
};
|
74
74
|
function useTableFeaturePreset(props) {
|
75
|
-
var _props$enableRowActio, _props$enableRowClick, _props$enableRowGoto, _props$enableRowExpan, _props$enableRowSelec, _props$enableRowSelec2, _props$enableFilterin, _props$enableSearch, _props$enableSorting, _props$enableColumnFr, _props$enableColumnHi, _props$enableColumnRe, _props$enableColumnOr, _props$enableFontSize, _props$enableFooter, _props$enablePrinting, _props$enableRowActiv, _props$rowActions2, _props$enableRowHeigh, _props$
|
75
|
+
var _props$enableRowActio, _props$enableRowClick, _props$enableRowGoto, _props$enableRowExpan, _props$enableRowSelec, _props$enableRowSelec2, _props$enableFilterin, _props$enableSearch, _props$enableSorting, _props$enableColumnFr, _props$enableColumnHi, _props$enableColumnRe, _props$enableColumnOr, _props$enableFontSize, _props$enableFooter, _props$enablePrinting, _props$enableRowActiv, _props$rowActions2, _props$enableRowHeigh, _props$enableSaveSett;
|
76
76
|
const presetOptions = props.preset ? presets[props.preset] : DEFAULT_PRESET;
|
77
77
|
const enableRowActions = (_props$enableRowActio = props.enableRowActions) !== null && _props$enableRowActio !== void 0 ? _props$enableRowActio : presetOptions.enableRowActions;
|
78
78
|
const enableRowClick = (_props$enableRowClick = props.enableRowClick) !== null && _props$enableRowClick !== void 0 ? _props$enableRowClick : presetOptions.enableRowClick;
|
@@ -123,7 +123,7 @@ function useTableFeaturePreset(props) {
|
|
123
123
|
enableRowClick: enableRowClick && !!props.onRowClick,
|
124
124
|
enableRowGoto: enableRowGoto && !!props.onRowGoto,
|
125
125
|
enableRowHeight: (_props$enableRowHeigh = props.enableRowHeight) !== null && _props$enableRowHeigh !== void 0 ? _props$enableRowHeigh : presetOptions.enableRowHeight,
|
126
|
-
|
126
|
+
enableSaveSettings: (_props$enableSaveSett = props.enableSaveSettings) !== null && _props$enableSaveSett !== void 0 ? _props$enableSaveSett : presetOptions.enableSaveSettings
|
127
127
|
};
|
128
128
|
}
|
129
129
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"presets.js","sources":["../../../../../../../../../src/primitives/Table/useTable/util/presets.ts"],"sourcesContent":["import React from 'react';\nimport { TableFeatureProps, TablePreset, useTableProps } from '../../types';\n\nconst DEFAULT_PRESET: TableFeatureProps = {\n // react-table built-in\n enableFiltering: false,\n enableSearch: false,\n enableSorting: false,\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnResizing: false,\n enableRowExpansion: false,\n enableRowSelection: false,\n enableRowSelectionSingle: false,\n\n // custom -- common between all table types\n enableColumnOrdering: false,\n enableFontSize: false,\n enableFooter: false,\n enablePrinting: false,\n enableRowActive: true,\n enableRowActions: false,\n enableRowClick: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableSettings: false,\n};\n\nconst presets: Record<TablePreset, TableFeatureProps> = {\n lite: {\n // react-table built-in\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n enableColumnFreezing: true,\n enableColumnHiding: false,\n enableColumnResizing: true,\n enableRowExpansion: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n\n // custom -- common between all table types\n enableColumnOrdering: false,\n enableFontSize: false,\n enableFooter: true,\n enablePrinting: false,\n enableRowActive: true,\n enableRowActions: true,\n enableRowClick: true,\n enableRowGoto: true,\n enableRowHeight: false,\n enableSettings: true,\n },\n complex: {\n // react-table built-in\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n enableColumnFreezing: true,\n enableColumnHiding: true,\n enableColumnResizing: true,\n enableRowExpansion: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n\n // custom -- common between all table types\n enableColumnOrdering: true,\n enableFontSize: true,\n enableFooter: true,\n enablePrinting: true,\n enableRowActive: true,\n enableRowActions: true,\n enableRowClick: true,\n enableRowGoto: true,\n enableRowHeight: true,\n enableSettings: true,\n },\n};\n\nexport function useTableFeaturePreset<TType = unknown>(props: useTableProps<TType>): TableFeatureProps {\n const presetOptions = props.preset ? presets[props.preset] : DEFAULT_PRESET;\n\n const enableRowActions = props.enableRowActions ?? presetOptions.enableRowActions;\n const enableRowClick = props.enableRowClick ?? presetOptions.enableRowClick;\n const enableRowGoto = props.enableRowGoto ?? presetOptions.enableRowGoto;\n const enableRowExpansion = props.enableRowExpansion ?? presetOptions.enableRowExpansion;\n const enableRowSelection = props.enableRowSelection ?? presetOptions.enableRowSelection;\n const enableRowSelectionSingle = props.enableRowSelectionSingle ?? presetOptions.enableRowSelectionSingle;\n\n // guard options that might be unintentionally broken\n React.useEffect(() => {\n if (enableRowActions && !props.rowActions?.length) {\n console.warn(\n `Table (id: ${props.id}) - Row actions is enabled but no \\`rowActions\\` has been provided. Provide one to enable row actions or set \\`enableRowActions\\` to \\`false\\`.`\n );\n }\n\n if (enableRowClick && !props.onRowClick) {\n console.warn(\n `Table (id: ${props.id}) - Row click is enabled but no \\`onRowClick\\` handler has been provided. Provide one to enable row click or set \\`enableRowClick\\` to \\`false\\`.`\n );\n }\n\n if (enableRowGoto && !props.onRowGoto) {\n console.warn(\n `Table (id: ${props.id}) - Row click is enabled but no \\`onRowGoto\\` handler has been provided. Provide one to enable row goto or set \\`enableRowGoto\\` to \\`false\\`.`\n );\n }\n\n if (enableRowExpansion && !props.rowExpansionRenderer) {\n console.warn(\n `Table (id: ${props.id}) - Row expansion is enabled but no \\`rowExpansionRenderer\\` has been provided. Provide one to enable row expansion or set \\`enableRowExpansion\\` to \\`false\\`.`\n );\n }\n\n if (enableRowSelection && !props.onRowSelect) {\n console.warn(\n `Table (id: ${props.id}) - Row selection is enabled but no \\`onRowSelect\\` handler has been provided. Provide one to enable row selection or set \\`enableRowSelection\\` to \\`false\\`.`\n );\n }\n\n if (enableRowSelectionSingle && !props.onRowSelect) {\n console.warn(\n `Table (id: ${props.id}) - Row selection (single) is enabled but no \\`onRowSelect\\` handler has been provided. Provide one to enable row selection or set \\`enableRowSelectionSingle\\` to \\`false\\`.`\n );\n }\n }, []);\n\n return {\n // react-table built-in\n enableFiltering: props.enableFiltering ?? presetOptions.enableFiltering,\n enableSearch: props.enableSearch ?? presetOptions.enableSearch,\n enableSorting: props.enableSorting ?? presetOptions.enableSorting,\n enableColumnFreezing: props.enableColumnFreezing ?? presetOptions.enableColumnFreezing,\n enableColumnHiding: props.enableColumnHiding ?? presetOptions.enableColumnHiding,\n enableColumnResizing: props.enableColumnResizing ?? presetOptions.enableColumnResizing,\n enableRowExpansion: enableRowExpansion && !!props.rowExpansionRenderer,\n enableRowSelection: enableRowSelection && !!props.onRowSelect,\n enableRowSelectionSingle: enableRowSelectionSingle && !!props.onRowSelect,\n\n // custom -- common between all table types\n enableColumnOrdering: props.enableColumnOrdering ?? presetOptions.enableColumnOrdering,\n enableFontSize: props.enableFontSize ?? presetOptions.enableFontSize,\n enableFooter: props.enableFooter ?? presetOptions.enableFooter,\n enablePrinting: props.enablePrinting ?? presetOptions.enablePrinting,\n enableRowActive: props.enableRowActive ?? presetOptions.enableRowActive,\n enableRowActions: enableRowActions && !!props.rowActions?.length,\n enableRowClick: enableRowClick && !!props.onRowClick,\n enableRowGoto: enableRowGoto && !!props.onRowGoto,\n enableRowHeight: props.enableRowHeight ?? presetOptions.enableRowHeight,\n enableSettings: props.enableSettings ?? presetOptions.enableSettings,\n };\n}\n"],"names":["DEFAULT_PRESET","enableFiltering","enableSearch","enableSorting","enableColumnFreezing","enableColumnHiding","enableColumnResizing","enableRowExpansion","enableRowSelection","enableRowSelectionSingle","enableColumnOrdering","enableFontSize","enableFooter","enablePrinting","enableRowActive","enableRowActions","enableRowClick","enableRowGoto","enableRowHeight","enableSettings","presets","lite","complex","useTableFeaturePreset","props","presetOptions","preset","_props$enableRowActio","_props$enableRowClick","_props$enableRowGoto","_props$enableRowExpan","_props$enableRowSelec","_props$enableRowSelec2","React","useEffect","_props$rowActions","rowActions","length","console","warn","id","onRowClick","onRowGoto","rowExpansionRenderer","onRowSelect","_props$enableFilterin","_props$enableSearch","_props$enableSorting","_props$enableColumnFr","_props$enableColumnHi","_props$enableColumnRe","_props$enableColumnOr","_props$enableFontSize","_props$enableFooter","_props$enablePrinting","_props$enableRowActiv","_props$rowActions2","_props$enableRowHeigh","_props$enableSettings"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"presets.js","sources":["../../../../../../../../../src/primitives/Table/useTable/util/presets.ts"],"sourcesContent":["import React from 'react';\nimport { TableFeatureProps, TablePreset, useTableProps } from '../../types';\n\nconst DEFAULT_PRESET: TableFeatureProps = {\n // react-table built-in\n enableFiltering: false,\n enableSearch: false,\n enableSorting: false,\n enableColumnFreezing: false,\n enableColumnHiding: false,\n enableColumnResizing: false,\n enableRowExpansion: false,\n enableRowSelection: false,\n enableRowSelectionSingle: false,\n\n // custom -- common between all table types\n enableColumnOrdering: false,\n enableFontSize: false,\n enableFooter: false,\n enablePrinting: false,\n enableRowActive: true,\n enableRowActions: false,\n enableRowClick: false,\n enableRowGoto: false,\n enableRowHeight: false,\n enableSaveSettings: false,\n};\n\nconst presets: Record<TablePreset, TableFeatureProps> = {\n lite: {\n // react-table built-in\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n enableColumnFreezing: true,\n enableColumnHiding: false,\n enableColumnResizing: true,\n enableRowExpansion: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n\n // custom -- common between all table types\n enableColumnOrdering: false,\n enableFontSize: false,\n enableFooter: true,\n enablePrinting: false,\n enableRowActive: true,\n enableRowActions: true,\n enableRowClick: true,\n enableRowGoto: true,\n enableRowHeight: false,\n enableSaveSettings: true,\n },\n complex: {\n // react-table built-in\n enableFiltering: true,\n enableSearch: true,\n enableSorting: true,\n enableColumnFreezing: true,\n enableColumnHiding: true,\n enableColumnResizing: true,\n enableRowExpansion: true,\n enableRowSelection: true,\n enableRowSelectionSingle: false,\n\n // custom -- common between all table types\n enableColumnOrdering: true,\n enableFontSize: true,\n enableFooter: true,\n enablePrinting: true,\n enableRowActive: true,\n enableRowActions: true,\n enableRowClick: true,\n enableRowGoto: true,\n enableRowHeight: true,\n enableSaveSettings: true,\n },\n};\n\nexport function useTableFeaturePreset<TType = unknown>(props: useTableProps<TType>): TableFeatureProps {\n const presetOptions = props.preset ? presets[props.preset] : DEFAULT_PRESET;\n\n const enableRowActions = props.enableRowActions ?? presetOptions.enableRowActions;\n const enableRowClick = props.enableRowClick ?? presetOptions.enableRowClick;\n const enableRowGoto = props.enableRowGoto ?? presetOptions.enableRowGoto;\n const enableRowExpansion = props.enableRowExpansion ?? presetOptions.enableRowExpansion;\n const enableRowSelection = props.enableRowSelection ?? presetOptions.enableRowSelection;\n const enableRowSelectionSingle = props.enableRowSelectionSingle ?? presetOptions.enableRowSelectionSingle;\n\n // guard options that might be unintentionally broken\n React.useEffect(() => {\n if (enableRowActions && !props.rowActions?.length) {\n console.warn(\n `Table (id: ${props.id}) - Row actions is enabled but no \\`rowActions\\` has been provided. Provide one to enable row actions or set \\`enableRowActions\\` to \\`false\\`.`\n );\n }\n\n if (enableRowClick && !props.onRowClick) {\n console.warn(\n `Table (id: ${props.id}) - Row click is enabled but no \\`onRowClick\\` handler has been provided. Provide one to enable row click or set \\`enableRowClick\\` to \\`false\\`.`\n );\n }\n\n if (enableRowGoto && !props.onRowGoto) {\n console.warn(\n `Table (id: ${props.id}) - Row click is enabled but no \\`onRowGoto\\` handler has been provided. Provide one to enable row goto or set \\`enableRowGoto\\` to \\`false\\`.`\n );\n }\n\n if (enableRowExpansion && !props.rowExpansionRenderer) {\n console.warn(\n `Table (id: ${props.id}) - Row expansion is enabled but no \\`rowExpansionRenderer\\` has been provided. Provide one to enable row expansion or set \\`enableRowExpansion\\` to \\`false\\`.`\n );\n }\n\n if (enableRowSelection && !props.onRowSelect) {\n console.warn(\n `Table (id: ${props.id}) - Row selection is enabled but no \\`onRowSelect\\` handler has been provided. Provide one to enable row selection or set \\`enableRowSelection\\` to \\`false\\`.`\n );\n }\n\n if (enableRowSelectionSingle && !props.onRowSelect) {\n console.warn(\n `Table (id: ${props.id}) - Row selection (single) is enabled but no \\`onRowSelect\\` handler has been provided. Provide one to enable row selection or set \\`enableRowSelectionSingle\\` to \\`false\\`.`\n );\n }\n }, []);\n\n return {\n // react-table built-in\n enableFiltering: props.enableFiltering ?? presetOptions.enableFiltering,\n enableSearch: props.enableSearch ?? presetOptions.enableSearch,\n enableSorting: props.enableSorting ?? presetOptions.enableSorting,\n enableColumnFreezing: props.enableColumnFreezing ?? presetOptions.enableColumnFreezing,\n enableColumnHiding: props.enableColumnHiding ?? presetOptions.enableColumnHiding,\n enableColumnResizing: props.enableColumnResizing ?? presetOptions.enableColumnResizing,\n enableRowExpansion: enableRowExpansion && !!props.rowExpansionRenderer,\n enableRowSelection: enableRowSelection && !!props.onRowSelect,\n enableRowSelectionSingle: enableRowSelectionSingle && !!props.onRowSelect,\n\n // custom -- common between all table types\n enableColumnOrdering: props.enableColumnOrdering ?? presetOptions.enableColumnOrdering,\n enableFontSize: props.enableFontSize ?? presetOptions.enableFontSize,\n enableFooter: props.enableFooter ?? presetOptions.enableFooter,\n enablePrinting: props.enablePrinting ?? presetOptions.enablePrinting,\n enableRowActive: props.enableRowActive ?? presetOptions.enableRowActive,\n enableRowActions: enableRowActions && !!props.rowActions?.length,\n enableRowClick: enableRowClick && !!props.onRowClick,\n enableRowGoto: enableRowGoto && !!props.onRowGoto,\n enableRowHeight: props.enableRowHeight ?? presetOptions.enableRowHeight,\n enableSaveSettings: props.enableSaveSettings ?? presetOptions.enableSaveSettings,\n };\n}\n"],"names":["DEFAULT_PRESET","enableFiltering","enableSearch","enableSorting","enableColumnFreezing","enableColumnHiding","enableColumnResizing","enableRowExpansion","enableRowSelection","enableRowSelectionSingle","enableColumnOrdering","enableFontSize","enableFooter","enablePrinting","enableRowActive","enableRowActions","enableRowClick","enableRowGoto","enableRowHeight","enableSaveSettings","presets","lite","complex","useTableFeaturePreset","props","presetOptions","preset","_props$enableRowActio","_props$enableRowClick","_props$enableRowGoto","_props$enableRowExpan","_props$enableRowSelec","_props$enableRowSelec2","React","useEffect","_props$rowActions","rowActions","length","console","warn","id","onRowClick","onRowGoto","rowExpansionRenderer","onRowSelect","_props$enableFilterin","_props$enableSearch","_props$enableSorting","_props$enableColumnFr","_props$enableColumnHi","_props$enableColumnRe","_props$enableColumnOr","_props$enableFontSize","_props$enableFooter","_props$enablePrinting","_props$enableRowActiv","_props$rowActions2","_props$enableRowHeigh","_props$enableSaveSett"],"mappings":"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"}
|
@@ -7,12 +7,25 @@ function resetHighlightedColumnIndexes(value, table) {
|
|
7
7
|
if (value) {
|
8
8
|
const indexes = [];
|
9
9
|
const columns = table.getVisibleLeafColumns();
|
10
|
+
const rowGrouping = table.getState().grouping;
|
10
11
|
table.getRowModel().rows.forEach((row, rowIndex) => {
|
11
12
|
columns.forEach((column, columnIndex) => {
|
12
13
|
try {
|
13
|
-
|
14
|
+
let allowSearch = true;
|
15
|
+
if (rowGrouping !== null && rowGrouping !== void 0 && rowGrouping.length) {
|
16
|
+
// if it's the grouped row, only allow search of the grouped column - because that's all that's visible
|
17
|
+
if (row.getIsGrouped()) {
|
18
|
+
allowSearch = column.getIsGrouped();
|
19
|
+
}
|
20
|
+
// otherwise for other rows, don't search the grouped column - because it isn't visible
|
21
|
+
else if (rowGrouping.includes(column.id)) {
|
22
|
+
allowSearch = false;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
if (column.getIsVisible() && column.columnDef.enableGlobalFilter && allowSearch) {
|
14
26
|
var _row$original, _column$columnDef$met;
|
15
27
|
const cellValue = getCellValueAsString((_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original[column.id], (_column$columnDef$met = column.columnDef.meta) === null || _column$columnDef$met === void 0 ? void 0 : _column$columnDef$met.dataType);
|
28
|
+
// indexes don't map to sorted data
|
16
29
|
if (cellValue !== undefined && isWeakContains(cellValue, value)) {
|
17
30
|
indexes.push([rowIndex, columnIndex]);
|
18
31
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"search.js","sources":["../../../../../../../../../src/primitives/Table/useTable/util/search.ts"],"sourcesContent":["import { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { getCellValueAsString } from './columns';\nimport { isWeakContains } from './filtering';\n\nexport function resetHighlightedColumnIndexes<TType = unknown>(value: string | undefined, table: ReactTable<TType>) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n let firstRowIndex: undefined | number;\n\n if (value) {\n const
|
1
|
+
{"version":3,"file":"search.js","sources":["../../../../../../../../../src/primitives/Table/useTable/util/search.ts"],"sourcesContent":["import { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { getCellValueAsString } from './columns';\nimport { isWeakContains } from './filtering';\n\nexport function resetHighlightedColumnIndexes<TType = unknown>(value: string | undefined, table: ReactTable<TType>) {\n const tableMeta = table.options.meta as ReactTableMeta<TType>;\n let firstRowIndex: undefined | number;\n\n if (value) {\n const indexes: number[][] = [];\n const columns = table.getVisibleLeafColumns();\n const rowGrouping = table.getState().grouping;\n\n table.getRowModel().rows.forEach((row, rowIndex) => {\n columns.forEach((column, columnIndex) => {\n try {\n let allowSearch = true;\n\n if (rowGrouping?.length) {\n // if it's the grouped row, only allow search of the grouped column - because that's all that's visible\n if (row.getIsGrouped()) {\n allowSearch = column.getIsGrouped();\n }\n // otherwise for other rows, don't search the grouped column - because it isn't visible\n else if (rowGrouping.includes(column.id)) {\n allowSearch = false;\n }\n }\n\n if (column.getIsVisible() && column.columnDef.enableGlobalFilter && allowSearch) {\n const cellValue = getCellValueAsString(row.original?.[column.id], column.columnDef.meta?.dataType);\n\n // indexes don't map to sorted data\n if (cellValue !== undefined && isWeakContains(cellValue, value)) {\n indexes.push([rowIndex, columnIndex]);\n }\n }\n } catch (e) {\n //\n }\n });\n });\n\n tableMeta.search.setHighlightedColumnIndexes(indexes);\n\n if (indexes.length) {\n firstRowIndex = indexes[0][0];\n tableMeta.search.setCurrentHighlightColumnIndex(0);\n } else {\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n } else {\n tableMeta.search.setHighlightedColumnIndexes([]);\n tableMeta.search.setCurrentHighlightColumnIndex(undefined);\n }\n\n if (firstRowIndex !== undefined) {\n tableMeta.rowActive.setRowActiveIndex(firstRowIndex);\n }\n\n return firstRowIndex;\n}\n"],"names":["resetHighlightedColumnIndexes","value","table","tableMeta","options","meta","firstRowIndex","indexes","columns","getVisibleLeafColumns","rowGrouping","getState","grouping","getRowModel","rows","forEach","row","rowIndex","column","columnIndex","allowSearch","length","getIsGrouped","includes","id","getIsVisible","columnDef","enableGlobalFilter","_row$original","_column$columnDef$met","cellValue","getCellValueAsString","original","dataType","undefined","isWeakContains","push","e","search","setHighlightedColumnIndexes","setCurrentHighlightColumnIndex","rowActive","setRowActiveIndex"],"mappings":";;;SAIgBA,6BAA6BA,CAAkBC,KAAyB,EAAEC,KAAwB;EAC9G,MAAMC,SAAS,GAAGD,KAAK,CAACE,OAAO,CAACC,IAA6B;EAC7D,IAAIC,aAAiC;EAErC,IAAIL,KAAK,EAAE;IACP,MAAMM,OAAO,GAAe,EAAE;IAC9B,MAAMC,OAAO,GAAGN,KAAK,CAACO,qBAAqB,EAAE;IAC7C,MAAMC,WAAW,GAAGR,KAAK,CAACS,QAAQ,EAAE,CAACC,QAAQ;IAE7CV,KAAK,CAACW,WAAW,EAAE,CAACC,IAAI,CAACC,OAAO,CAAC,CAACC,GAAG,EAAEC,QAAQ;MAC3CT,OAAO,CAACO,OAAO,CAAC,CAACG,MAAM,EAAEC,WAAW;QAChC,IAAI;UACA,IAAIC,WAAW,GAAG,IAAI;UAEtB,IAAIV,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEW,MAAM,EAAE;;YAErB,IAAIL,GAAG,CAACM,YAAY,EAAE,EAAE;cACpBF,WAAW,GAAGF,MAAM,CAACI,YAAY,EAAE;;;iBAGlC,IAAIZ,WAAW,CAACa,QAAQ,CAACL,MAAM,CAACM,EAAE,CAAC,EAAE;cACtCJ,WAAW,GAAG,KAAK;;;UAI3B,IAAIF,MAAM,CAACO,YAAY,EAAE,IAAIP,MAAM,CAACQ,SAAS,CAACC,kBAAkB,IAAIP,WAAW,EAAE;YAAA,IAAAQ,aAAA,EAAAC,qBAAA;YAC7E,MAAMC,SAAS,GAAGC,oBAAoB,EAAAH,aAAA,GAACZ,GAAG,CAACgB,QAAQ,cAAAJ,aAAA,uBAAZA,aAAA,CAAeV,MAAM,CAACM,EAAE,CAAC,GAAAK,qBAAA,GAAEX,MAAM,CAACQ,SAAS,CAACrB,IAAI,cAAAwB,qBAAA,uBAArBA,qBAAA,CAAuBI,QAAQ,CAAC;;YAGlG,IAAIH,SAAS,KAAKI,SAAS,IAAIC,cAAc,CAACL,SAAS,EAAE7B,KAAK,CAAC,EAAE;cAC7DM,OAAO,CAAC6B,IAAI,CAAC,CAACnB,QAAQ,EAAEE,WAAW,CAAC,CAAC;;;SAGhD,CAAC,OAAOkB,CAAC,EAAE;;;OAGf,CAAC;KACL,CAAC;IAEFlC,SAAS,CAACmC,MAAM,CAACC,2BAA2B,CAAChC,OAAO,CAAC;IAErD,IAAIA,OAAO,CAACc,MAAM,EAAE;MAChBf,aAAa,GAAGC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7BJ,SAAS,CAACmC,MAAM,CAACE,8BAA8B,CAAC,CAAC,CAAC;KACrD,MAAM;MACHrC,SAAS,CAACmC,MAAM,CAACE,8BAA8B,CAACN,SAAS,CAAC;;GAEjE,MAAM;IACH/B,SAAS,CAACmC,MAAM,CAACC,2BAA2B,CAAC,EAAE,CAAC;IAChDpC,SAAS,CAACmC,MAAM,CAACE,8BAA8B,CAACN,SAAS,CAAC;;EAG9D,IAAI5B,aAAa,KAAK4B,SAAS,EAAE;IAC7B/B,SAAS,CAACsC,SAAS,CAACC,iBAAiB,CAACpC,aAAa,CAAC;;EAGxD,OAAOA,aAAa;AACxB;;;;"}
|
@@ -1,7 +1,131 @@
|
|
1
|
-
import 'react';
|
2
|
-
import '../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
|
1
|
+
import React__default from 'react';
|
2
|
+
import { _finallyRethrows, _catch } from '../../../../../node_modules/babel-plugin-transform-async-to-promises/helpers.mjs.js';
|
3
3
|
|
4
4
|
const DEFAULT_PAGE_SIZE = 100;
|
5
|
+
function useTableDataLoader(fetch, fetchAll, options = {
|
6
|
+
pageSize: DEFAULT_PAGE_SIZE
|
7
|
+
}) {
|
8
|
+
const {
|
9
|
+
pageSize
|
10
|
+
} = options;
|
11
|
+
// track the data length, we don't know it until the first request
|
12
|
+
const length = React__default.useRef(undefined);
|
13
|
+
// data will be filled after the first request, then we'll update values in place
|
14
|
+
const [data, setData] = React__default.useState([]);
|
15
|
+
// track which pages have been loaded to dedupe requests
|
16
|
+
const _pendingPageRequests = React__default.useRef({});
|
17
|
+
const _lastUsedSorting = React__default.useRef([]);
|
18
|
+
const _lastUsedFilters = React__default.useRef([]);
|
19
|
+
const _lastUsedSearch = React__default.useRef();
|
20
|
+
const _forceReset = React__default.useRef(false);
|
21
|
+
const loadPage = function (pageIndex, sorting, filters, search) {
|
22
|
+
try {
|
23
|
+
let reset = false;
|
24
|
+
// sorting or filters changed, reset everything
|
25
|
+
if (_forceReset.current || search !== _lastUsedSearch.current || JSON.stringify(sorting) !== JSON.stringify(_lastUsedSorting.current) || JSON.stringify(filters) !== JSON.stringify(_lastUsedFilters.current)) {
|
26
|
+
_pendingPageRequests.current = {};
|
27
|
+
// nuke the dataset so that we "start again" after sorting
|
28
|
+
reset = true;
|
29
|
+
}
|
30
|
+
if (_pendingPageRequests.current[pageIndex]) {
|
31
|
+
// if page is already loaded/loading, abort, otherwise mark it as loading
|
32
|
+
return Promise.resolve();
|
33
|
+
} else {
|
34
|
+
_pendingPageRequests.current[pageIndex] = true;
|
35
|
+
}
|
36
|
+
_forceReset.current = false;
|
37
|
+
// set the sorting so we can track if it changed between loads
|
38
|
+
_lastUsedSorting.current = sorting;
|
39
|
+
// set the filters so we can track if it changed between loads
|
40
|
+
_lastUsedFilters.current = filters;
|
41
|
+
// set the search so we can track if it changed between loads
|
42
|
+
_lastUsedSearch.current = search;
|
43
|
+
const _temp = _finallyRethrows(function () {
|
44
|
+
return _catch(function () {
|
45
|
+
return Promise.resolve(fetch(pageIndex, pageSize, sorting, filters, search)).then(function (response) {
|
46
|
+
// update state, here we do some "magic" to support "load in place"
|
47
|
+
setData(currentData => {
|
48
|
+
let nextData;
|
49
|
+
// reset table state if:
|
50
|
+
// - the length isn't set at all (first load)
|
51
|
+
// - the client length and server length are different (the data changed)
|
52
|
+
if (reset || length.current !== response.length) {
|
53
|
+
length.current = response.length;
|
54
|
+
nextData = Array(length.current).fill(undefined);
|
55
|
+
} else {
|
56
|
+
nextData = [...currentData];
|
57
|
+
}
|
58
|
+
const startIndex = pageIndex * pageSize;
|
59
|
+
nextData.splice(startIndex, pageSize, ...response.data);
|
60
|
+
return nextData;
|
61
|
+
});
|
62
|
+
});
|
63
|
+
}, function () {});
|
64
|
+
}, function (_wasThrown, _result) {
|
65
|
+
_pendingPageRequests.current[pageIndex] = false;
|
66
|
+
if (_wasThrown) throw _result;
|
67
|
+
return _result;
|
68
|
+
});
|
69
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
|
70
|
+
} catch (e) {
|
71
|
+
return Promise.reject(e);
|
72
|
+
}
|
73
|
+
};
|
74
|
+
const loadAll = function (sorting, filters, search) {
|
75
|
+
try {
|
76
|
+
const _temp2 = _catch(function () {
|
77
|
+
return Promise.resolve(fetchAll(sorting, filters, search)).then(function (response) {
|
78
|
+
length.current = response.length;
|
79
|
+
setData(() => {
|
80
|
+
let nextData;
|
81
|
+
if (response.data.length !== response.length) {
|
82
|
+
nextData = Array(response.length).fill(undefined);
|
83
|
+
nextData.splice(0, response.data.length, ...response.data);
|
84
|
+
} else {
|
85
|
+
nextData = [...response.data];
|
86
|
+
}
|
87
|
+
return nextData;
|
88
|
+
});
|
89
|
+
});
|
90
|
+
}, function () {});
|
91
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
92
|
+
} catch (e) {
|
93
|
+
return Promise.reject(e);
|
94
|
+
}
|
95
|
+
};
|
96
|
+
const invalidate = function () {
|
97
|
+
try {
|
98
|
+
_forceReset.current = true;
|
99
|
+
return loadPage(0, _lastUsedSorting.current, _lastUsedFilters.current, _lastUsedSearch.current);
|
100
|
+
} catch (e) {
|
101
|
+
return Promise.reject(e);
|
102
|
+
}
|
103
|
+
};
|
104
|
+
// we reset the page to 0 whenever sorting, filtering or search changes
|
105
|
+
const handleSort = function (sorting) {
|
106
|
+
try {
|
107
|
+
return loadPage(0, sorting, _lastUsedFilters.current, _lastUsedSearch.current);
|
108
|
+
} catch (e) {
|
109
|
+
return Promise.reject(e);
|
110
|
+
}
|
111
|
+
};
|
112
|
+
const handleFilter = function (filters) {
|
113
|
+
try {
|
114
|
+
return loadPage(0, _lastUsedSorting.current, filters, _lastUsedSearch.current);
|
115
|
+
} catch (e) {
|
116
|
+
return Promise.reject(e);
|
117
|
+
}
|
118
|
+
};
|
119
|
+
return [{
|
120
|
+
data,
|
121
|
+
length: length.current,
|
122
|
+
loadAll,
|
123
|
+
loadPage,
|
124
|
+
onChangeFilter: handleFilter,
|
125
|
+
onChangeSort: handleSort,
|
126
|
+
pageSize
|
127
|
+
}, invalidate];
|
128
|
+
}
|
5
129
|
|
6
|
-
export { DEFAULT_PAGE_SIZE };
|
130
|
+
export { DEFAULT_PAGE_SIZE, useTableDataLoader };
|
7
131
|
//# sourceMappingURL=useTableDataLoader.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useTableDataLoader.js","sources":["../../../../../../../src/primitives/Table/useTableDataLoader.ts"],"sourcesContent":["import React from 'react';\nimport {\n TableColumnFilter,\n TableColumnSort,\n TableFilterHandler,\n TableServerLoadPageHandler,\n TableServerLoadAllHandler,\n TableSortHandler,\n} from './types';\n\nexport const DEFAULT_PAGE_SIZE = 100;\n\nexport type useTableDataPageFetcher<TType = unknown> = (\n pageIndex: number,\n pageSize: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n) => Promise<{ data: TType[]; length: number }>;\n\nexport type useTableDataAllFetcher<TType = unknown> = (\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n) => Promise<{ data: TType[]; length: number }>;\n\nexport type useTableDataLoaderOptions = { pageSize: number };\n\nexport type useTableDataLoaderValues<TType = unknown> = {\n data: TType[];\n length: number | undefined;\n loadAll: TableServerLoadAllHandler;\n loadPage: TableServerLoadPageHandler;\n onChangeFilter: TableFilterHandler;\n onChangeSort: TableSortHandler;\n pageSize: number;\n};\n\nexport function useTableDataLoader<TType = unknown>(\n fetch: useTableDataPageFetcher<TType>,\n fetchAll: useTableDataAllFetcher<TType>,\n options: useTableDataLoaderOptions = { pageSize: DEFAULT_PAGE_SIZE }\n): [useTableDataLoaderValues<TType>, () => void] {\n const { pageSize } = options;\n\n // track the data length, we don't know it until the first request\n const length = React.useRef<number | undefined>(undefined);\n // data will be filled after the first request, then we'll update values in place\n const [data, setData] = React.useState<any[]>([]);\n // track which pages have been loaded to dedupe requests\n const _pendingPageRequests = React.useRef({});\n const _lastUsedSorting = React.useRef<TableColumnSort[]>([]);\n const _lastUsedFilters = React.useRef<TableColumnFilter[]>([]);\n const _lastUsedSearch = React.useRef<string>();\n const _forceReset = React.useRef(false);\n\n const loadPage = async (\n pageIndex: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n ) => {\n let reset = false;\n\n // sorting or filters changed, reset everything\n if (\n _forceReset.current ||\n search !== _lastUsedSearch.current ||\n JSON.stringify(sorting) !== JSON.stringify(_lastUsedSorting.current) ||\n JSON.stringify(filters) !== JSON.stringify(_lastUsedFilters.current)\n ) {\n _pendingPageRequests.current = {};\n // nuke the dataset so that we \"start again\" after sorting\n reset = true;\n }\n\n if (_pendingPageRequests.current[pageIndex]) {\n // if page is already loaded/loading, abort, otherwise mark it as loading\n return;\n } else {\n _pendingPageRequests.current[pageIndex] = true;\n }\n\n _forceReset.current = false;\n // set the sorting so we can track if it changed between loads\n _lastUsedSorting.current = sorting;\n // set the filters so we can track if it changed between loads\n _lastUsedFilters.current = filters;\n // set the search so we can track if it changed between loads\n _lastUsedSearch.current = search;\n\n try {\n const response = await fetch(pageIndex, pageSize, sorting, filters, search);\n\n // update state, here we do some \"magic\" to support \"load in place\"\n setData(currentData => {\n let nextData;\n\n // reset table state if:\n // - the length isn't set at all (first load)\n // - the client length and server length are different (the data changed)\n if (reset || length.current !== response.length) {\n length.current = response.length;\n nextData = Array(length.current).fill(undefined);\n } else {\n nextData = [...currentData];\n }\n\n const startIndex = pageIndex * pageSize;\n nextData.splice(startIndex, pageSize, ...response.data);\n return nextData;\n });\n } catch {\n //\n } finally {\n _pendingPageRequests.current[pageIndex] = false;\n }\n };\n\n const loadAll = async (sorting: TableColumnSort[], filters: TableColumnFilter[], search: string | undefined) => {\n try {\n const response = await fetchAll(sorting, filters, search);\n length.current = response.length;\n\n setData(() => {\n let nextData;\n\n if (response.data.length !== response.length) {\n nextData = Array(response.length).fill(undefined);\n nextData.splice(0, response.data.length, ...response.data);\n } else {\n nextData = [...response.data];\n }\n\n return nextData;\n });\n } catch {\n //\n }\n };\n\n const invalidate = async () => {\n _forceReset.current = true;\n return loadPage(0, _lastUsedSorting.current, _lastUsedFilters.current, _lastUsedSearch.current);\n };\n\n // we reset the page to 0 whenever sorting, filtering or search changes\n const handleSort = async (sorting: TableColumnSort[]) =>\n loadPage(0, sorting, _lastUsedFilters.current, _lastUsedSearch.current);\n const handleFilter = async (filters: TableColumnFilter[]) =>\n loadPage(0, _lastUsedSorting.current, filters, _lastUsedSearch.current);\n\n return [\n {\n data,\n length: length.current,\n loadAll,\n loadPage,\n onChangeFilter: handleFilter,\n onChangeSort: handleSort,\n pageSize,\n },\n invalidate,\n ];\n}\n"],"names":["DEFAULT_PAGE_SIZE"],"mappings":";;;MAUaA,iBAAiB,GAAG;;;;"}
|
1
|
+
{"version":3,"file":"useTableDataLoader.js","sources":["../../../../../../../src/primitives/Table/useTableDataLoader.ts"],"sourcesContent":["import React from 'react';\nimport {\n TableColumnFilter,\n TableColumnSort,\n TableFilterHandler,\n TableServerLoadPageHandler,\n TableServerLoadAllHandler,\n TableSortHandler,\n} from './types';\n\nexport const DEFAULT_PAGE_SIZE = 100;\n\nexport type useTableDataPageFetcher<TType = unknown> = (\n pageIndex: number,\n pageSize: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n) => Promise<{ data: TType[]; length: number }>;\n\nexport type useTableDataAllFetcher<TType = unknown> = (\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n) => Promise<{ data: TType[]; length: number }>;\n\nexport type useTableDataLoaderOptions = { pageSize: number };\n\nexport type useTableDataLoaderValues<TType = unknown> = {\n data: TType[];\n length: number | undefined;\n loadAll: TableServerLoadAllHandler;\n loadPage: TableServerLoadPageHandler;\n onChangeFilter: TableFilterHandler;\n onChangeSort: TableSortHandler;\n pageSize: number;\n};\n\nexport function useTableDataLoader<TType = unknown>(\n fetch: useTableDataPageFetcher<TType>,\n fetchAll: useTableDataAllFetcher<TType>,\n options: useTableDataLoaderOptions = { pageSize: DEFAULT_PAGE_SIZE }\n): [useTableDataLoaderValues<TType>, () => void] {\n const { pageSize } = options;\n\n // track the data length, we don't know it until the first request\n const length = React.useRef<number | undefined>(undefined);\n // data will be filled after the first request, then we'll update values in place\n const [data, setData] = React.useState<any[]>([]);\n // track which pages have been loaded to dedupe requests\n const _pendingPageRequests = React.useRef({});\n const _lastUsedSorting = React.useRef<TableColumnSort[]>([]);\n const _lastUsedFilters = React.useRef<TableColumnFilter[]>([]);\n const _lastUsedSearch = React.useRef<string>();\n const _forceReset = React.useRef(false);\n\n const loadPage = async (\n pageIndex: number,\n sorting: TableColumnSort[],\n filters: TableColumnFilter[],\n search: string | undefined\n ) => {\n let reset = false;\n\n // sorting or filters changed, reset everything\n if (\n _forceReset.current ||\n search !== _lastUsedSearch.current ||\n JSON.stringify(sorting) !== JSON.stringify(_lastUsedSorting.current) ||\n JSON.stringify(filters) !== JSON.stringify(_lastUsedFilters.current)\n ) {\n _pendingPageRequests.current = {};\n // nuke the dataset so that we \"start again\" after sorting\n reset = true;\n }\n\n if (_pendingPageRequests.current[pageIndex]) {\n // if page is already loaded/loading, abort, otherwise mark it as loading\n return;\n } else {\n _pendingPageRequests.current[pageIndex] = true;\n }\n\n _forceReset.current = false;\n // set the sorting so we can track if it changed between loads\n _lastUsedSorting.current = sorting;\n // set the filters so we can track if it changed between loads\n _lastUsedFilters.current = filters;\n // set the search so we can track if it changed between loads\n _lastUsedSearch.current = search;\n\n try {\n const response = await fetch(pageIndex, pageSize, sorting, filters, search);\n\n // update state, here we do some \"magic\" to support \"load in place\"\n setData(currentData => {\n let nextData;\n\n // reset table state if:\n // - the length isn't set at all (first load)\n // - the client length and server length are different (the data changed)\n if (reset || length.current !== response.length) {\n length.current = response.length;\n nextData = Array(length.current).fill(undefined);\n } else {\n nextData = [...currentData];\n }\n\n const startIndex = pageIndex * pageSize;\n nextData.splice(startIndex, pageSize, ...response.data);\n return nextData;\n });\n } catch {\n //\n } finally {\n _pendingPageRequests.current[pageIndex] = false;\n }\n };\n\n const loadAll = async (sorting: TableColumnSort[], filters: TableColumnFilter[], search: string | undefined) => {\n try {\n const response = await fetchAll(sorting, filters, search);\n length.current = response.length;\n\n setData(() => {\n let nextData;\n\n if (response.data.length !== response.length) {\n nextData = Array(response.length).fill(undefined);\n nextData.splice(0, response.data.length, ...response.data);\n } else {\n nextData = [...response.data];\n }\n\n return nextData;\n });\n } catch {\n //\n }\n };\n\n const invalidate = async () => {\n _forceReset.current = true;\n return loadPage(0, _lastUsedSorting.current, _lastUsedFilters.current, _lastUsedSearch.current);\n };\n\n // we reset the page to 0 whenever sorting, filtering or search changes\n const handleSort = async (sorting: TableColumnSort[]) =>\n loadPage(0, sorting, _lastUsedFilters.current, _lastUsedSearch.current);\n const handleFilter = async (filters: TableColumnFilter[]) =>\n loadPage(0, _lastUsedSorting.current, filters, _lastUsedSearch.current);\n\n return [\n {\n data,\n length: length.current,\n loadAll,\n loadPage,\n onChangeFilter: handleFilter,\n onChangeSort: handleSort,\n pageSize,\n },\n invalidate,\n ];\n}\n"],"names":["DEFAULT_PAGE_SIZE","useTableDataLoader","fetch","fetchAll","options","pageSize","length","React","useRef","undefined","data","setData","useState","_pendingPageRequests","_lastUsedSorting","_lastUsedFilters","_lastUsedSearch","_forceReset","loadPage","pageIndex","sorting","filters","search","reset","current","JSON","stringify","Promise","resolve","_temp","_finallyRethrows","_catch","then","response","currentData","nextData","Array","fill","startIndex","splice","_wasThrown","_result","e","reject","loadAll","_temp2","invalidate","handleSort","handleFilter","onChangeFilter","onChangeSort"],"mappings":";;;MAUaA,iBAAiB,GAAG;SA4BjBC,kBAAkBA,CAC9BC,KAAqC,EACrCC,QAAuC,EACvCC,UAAqC;EAAEC,QAAQ,EAAEL;CAAmB;EAEpE,MAAM;IAAEK;GAAU,GAAGD,OAAO;;EAG5B,MAAME,MAAM,GAAGC,cAAK,CAACC,MAAM,CAAqBC,SAAS,CAAC;;EAE1D,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGJ,cAAK,CAACK,QAAQ,CAAQ,EAAE,CAAC;;EAEjD,MAAMC,oBAAoB,GAAGN,cAAK,CAACC,MAAM,CAAC,EAAE,CAAC;EAC7C,MAAMM,gBAAgB,GAAGP,cAAK,CAACC,MAAM,CAAoB,EAAE,CAAC;EAC5D,MAAMO,gBAAgB,GAAGR,cAAK,CAACC,MAAM,CAAsB,EAAE,CAAC;EAC9D,MAAMQ,eAAe,GAAGT,cAAK,CAACC,MAAM,EAAU;EAC9C,MAAMS,WAAW,GAAGV,cAAK,CAACC,MAAM,CAAC,KAAK,CAAC;EAEvC,MAAMU,QAAQ,aACVC,SAAiB,EACjBC,OAA0B,EAC1BC,OAA4B,EAC5BC,MAA0B;IAAA;MAE1B,IAAIC,KAAK,GAAG,KAAK;;MAGjB,IACIN,WAAW,CAACO,OAAO,IACnBF,MAAM,KAAKN,eAAe,CAACQ,OAAO,IAClCC,IAAI,CAACC,SAAS,CAACN,OAAO,CAAC,KAAKK,IAAI,CAACC,SAAS,CAACZ,gBAAgB,CAACU,OAAO,CAAC,IACpEC,IAAI,CAACC,SAAS,CAACL,OAAO,CAAC,KAAKI,IAAI,CAACC,SAAS,CAACX,gBAAgB,CAACS,OAAO,CAAC,EACtE;QACEX,oBAAoB,CAACW,OAAO,GAAG,EAAE;;QAEjCD,KAAK,GAAG,IAAI;;MAGhB,IAAIV,oBAAoB,CAACW,OAAO,CAACL,SAAS,CAAC,EAAE;;QAEzC,OAAAQ,OAAA,CAAAC,OAAA;OACH,MAAM;QACHf,oBAAoB,CAACW,OAAO,CAACL,SAAS,CAAC,GAAG,IAAI;;MAGlDF,WAAW,CAACO,OAAO,GAAG,KAAK;;MAE3BV,gBAAgB,CAACU,OAAO,GAAGJ,OAAO;;MAElCL,gBAAgB,CAACS,OAAO,GAAGH,OAAO;;MAElCL,eAAe,CAACQ,OAAO,GAAGF,MAAM;MAAC,MAAAO,KAAA,GAAAC,gBAAA;QAAA,OAAAC,MAAA,aAE7B;UAAA,OAAAJ,OAAA,CAAAC,OAAA,CACuB1B,KAAK,CAACiB,SAAS,EAAEd,QAAQ,EAAEe,OAAO,EAAEC,OAAO,EAAEC,MAAM,CAAC,EAAAU,IAAA,WAArEC,QAAQ;;YAGdtB,OAAO,CAACuB,WAAW;cACf,IAAIC,QAAQ;;;;cAKZ,IAAIZ,KAAK,IAAIjB,MAAM,CAACkB,OAAO,KAAKS,QAAQ,CAAC3B,MAAM,EAAE;gBAC7CA,MAAM,CAACkB,OAAO,GAAGS,QAAQ,CAAC3B,MAAM;gBAChC6B,QAAQ,GAAGC,KAAK,CAAC9B,MAAM,CAACkB,OAAO,CAAC,CAACa,IAAI,CAAC5B,SAAS,CAAC;eACnD,MAAM;gBACH0B,QAAQ,GAAG,CAAC,GAAGD,WAAW,CAAC;;cAG/B,MAAMI,UAAU,GAAGnB,SAAS,GAAGd,QAAQ;cACvC8B,QAAQ,CAACI,MAAM,CAACD,UAAU,EAAEjC,QAAQ,EAAE,GAAG4B,QAAQ,CAACvB,IAAI,CAAC;cACvD,OAAOyB,QAAQ;aAClB,CAAC;;SACL;mBAAAK,UAAA,EAAAC,OAAA;QAGG5B,oBAAoB,CAACW,OAAO,CAACL,SAAS,CAAC,GAAG,KAAK;QAAC,IAAAqB,UAAA,QAAAC,OAAA;QAAA,OAAAA,OAAA;;MAAA,OAAAd,OAAA,CAAAC,OAAA,CAAAC,KAAA,IAAAA,KAAA,CAAAG,IAAA,GAAAH,KAAA,CAAAG,IAAA;KAEvD,QAAAU,CAAA;MAAA,OAAAf,OAAA,CAAAgB,MAAA,CAAAD,CAAA;;;EAED,MAAME,OAAO,aAAUxB,OAA0B,EAAEC,OAA4B,EAAEC,MAA0B;IAAA;wCACnG;QAAA,OAAAK,OAAA,CAAAC,OAAA,CACuBzB,QAAQ,CAACiB,OAAO,EAAEC,OAAO,EAAEC,MAAM,CAAC,EAAAU,IAAA,WAAnDC,QAAQ;UACd3B,MAAM,CAACkB,OAAO,GAAGS,QAAQ,CAAC3B,MAAM;UAEhCK,OAAO,CAAC;YACJ,IAAIwB,QAAQ;YAEZ,IAAIF,QAAQ,CAACvB,IAAI,CAACJ,MAAM,KAAK2B,QAAQ,CAAC3B,MAAM,EAAE;cAC1C6B,QAAQ,GAAGC,KAAK,CAACH,QAAQ,CAAC3B,MAAM,CAAC,CAAC+B,IAAI,CAAC5B,SAAS,CAAC;cACjD0B,QAAQ,CAACI,MAAM,CAAC,CAAC,EAAEN,QAAQ,CAACvB,IAAI,CAACJ,MAAM,EAAE,GAAG2B,QAAQ,CAACvB,IAAI,CAAC;aAC7D,MAAM;cACHyB,QAAQ,GAAG,CAAC,GAAGF,QAAQ,CAACvB,IAAI,CAAC;;YAGjC,OAAOyB,QAAQ;WAClB,CAAC;;OACL;MAAA,OAAAR,OAAA,CAAAC,OAAA,CAAAiB,MAAA,IAAAA,MAAA,CAAAb,IAAA,GAAAa,MAAA,CAAAb,IAAA;KAGJ,QAAAU,CAAA;MAAA,OAAAf,OAAA,CAAAgB,MAAA,CAAAD,CAAA;;;EAED,MAAMI,UAAU;IAAA;MACZ7B,WAAW,CAACO,OAAO,GAAG,IAAI;MAC1B,OAAON,QAAQ,CAAC,CAAC,EAAEJ,gBAAgB,CAACU,OAAO,EAAET,gBAAgB,CAACS,OAAO,EAAER,eAAe,CAACQ,OAAO,CAAC;KAClG,QAAAkB,CAAA;MAAA,OAAAf,OAAA,CAAAgB,MAAA,CAAAD,CAAA;;;;EAGD,MAAMK,UAAU,aAAU3B,OAA0B;IAAA;MAAA,OAChDF,QAAQ,CAAC,CAAC,EAAEE,OAAO,EAAEL,gBAAgB,CAACS,OAAO,EAAER,eAAe,CAACQ,OAAO,CAAC;aAAAkB,CAAA;MAAA,OAAAf,OAAA,CAAAgB,MAAA,CAAAD,CAAA;;;EAC3E,MAAMM,YAAY,aAAU3B,OAA4B;IAAA;MAAA,OACpDH,QAAQ,CAAC,CAAC,EAAEJ,gBAAgB,CAACU,OAAO,EAAEH,OAAO,EAAEL,eAAe,CAACQ,OAAO,CAAC;aAAAkB,CAAA;MAAA,OAAAf,OAAA,CAAAgB,MAAA,CAAAD,CAAA;;;EAE3E,OAAO,CACH;IACIhC,IAAI;IACJJ,MAAM,EAAEA,MAAM,CAACkB,OAAO;IACtBoB,OAAO;IACP1B,QAAQ;IACR+B,cAAc,EAAED,YAAY;IAC5BE,YAAY,EAAEH,UAAU;IACxB1C;GACH,EACDyC,UAAU,CACb;AACL;;;;"}
|
@@ -1,18 +1,18 @@
|
|
1
1
|
import React__default from 'react';
|
2
2
|
|
3
|
-
const
|
3
|
+
const isElementTruncated = targetElement => {
|
4
4
|
if (targetElement !== null) {
|
5
5
|
return targetElement.offsetWidth < targetElement.scrollWidth;
|
6
6
|
}
|
7
7
|
return false;
|
8
8
|
};
|
9
9
|
const useTruncated = (element, deps = []) => {
|
10
|
-
const [
|
10
|
+
const [isTruncated, setIsTruncated] = React__default.useState(isElementTruncated(element));
|
11
11
|
React__default.useEffect(() => {
|
12
|
-
|
12
|
+
setIsTruncated(isElementTruncated(element));
|
13
13
|
}, [element, ...deps]);
|
14
14
|
return {
|
15
|
-
|
15
|
+
isTruncated
|
16
16
|
};
|
17
17
|
};
|
18
18
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useTruncated.js","sources":["../../../../../../../src/utils/hooks/useTruncated.tsx"],"sourcesContent":["import React from 'react';\n\nconst
|
1
|
+
{"version":3,"file":"useTruncated.js","sources":["../../../../../../../src/utils/hooks/useTruncated.tsx"],"sourcesContent":["import React from 'react';\n\nconst isElementTruncated = (targetElement: HTMLElement | null) => {\n if (targetElement !== null) {\n return targetElement.offsetWidth < targetElement.scrollWidth;\n }\n\n return false;\n};\n\nexport const useTruncated = (element: HTMLElement | null, deps: any[] = []) => {\n const [isTruncated, setIsTruncated] = React.useState<boolean>(isElementTruncated(element));\n\n React.useEffect(() => {\n setIsTruncated(isElementTruncated(element));\n }, [element, ...deps]);\n\n return { isTruncated };\n};\n"],"names":["isElementTruncated","targetElement","offsetWidth","scrollWidth","useTruncated","element","deps","isTruncated","setIsTruncated","React","useState","useEffect"],"mappings":";;AAEA,MAAMA,kBAAkB,GAAIC,aAAiC;EACzD,IAAIA,aAAa,KAAK,IAAI,EAAE;IACxB,OAAOA,aAAa,CAACC,WAAW,GAAGD,aAAa,CAACE,WAAW;;EAGhE,OAAO,KAAK;AAChB,CAAC;MAEYC,YAAY,GAAGA,CAACC,OAA2B,EAAEC,OAAc,EAAE;EACtE,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAUV,kBAAkB,CAACK,OAAO,CAAC,CAAC;EAE1FI,cAAK,CAACE,SAAS,CAAC;IACZH,cAAc,CAACR,kBAAkB,CAACK,OAAO,CAAC,CAAC;GAC9C,EAAE,CAACA,OAAO,EAAE,GAAGC,IAAI,CAAC,CAAC;EAEtB,OAAO;IAAEC;GAAa;AAC1B;;;;"}
|
package/dist/index.css
CHANGED
@@ -903,88 +903,80 @@ table[data-taco='report'][data-table-font-size='large']
|
|
903
903
|
}
|
904
904
|
|
905
905
|
/* row/cell backgrounds -- we have to be specific so that nested tables don't inherit */
|
906
|
-
|
907
906
|
/* normal rows */
|
908
|
-
table[data-taco='report'] > tbody > tr:not([data-row-selected
|
909
|
-
|
910
|
-
|
907
|
+
table[data-taco='report'] > tbody > tr:not([data-row-selected]) > td {
|
908
|
+
@apply bg-white;
|
909
|
+
}
|
910
|
+
table[data-taco='report'] > tbody > tr:not([data-row-selected]):hover > td,
|
911
|
+
table[data-taco='report'] > tbody > tr:not([data-row-selected])[data-row-active] > td,
|
912
|
+
table[data-taco='report'] > tbody > tr:not([data-row-selected])[data-row-group] > td {
|
913
|
+
--table-row-actions-shadow: theme(colors.grey.100);
|
914
|
+
@apply bg-grey-100;
|
915
|
+
}
|
911
916
|
/* search highlighting */
|
912
|
-
table[data-taco='report'] > tbody > tr:not([data-row-selected
|
913
|
-
|
917
|
+
table[data-taco='report'] > tbody > tr:not([data-row-selected]) > td[data-cell-highlighted='true'] {
|
918
|
+
--table-row-actions-shadow: #e9f2ff;
|
919
|
+
@apply !bg-[#e9f2ff];
|
914
920
|
}
|
915
|
-
table[data-taco='report'] > tbody > tr:not([data-row-selected
|
916
|
-
|
921
|
+
table[data-taco='report'] > tbody > tr:not([data-row-selected]) > td[data-cell-highlighted='current'] {
|
922
|
+
--table-row-actions-shadow: #bdd7fc;
|
923
|
+
@apply !bg-[#bdd7fc];
|
924
|
+
}
|
925
|
+
/* selected rows */
|
926
|
+
table[data-taco='report'] > tbody > tr[data-row-selected] > td {
|
927
|
+
@apply bg-blue-100;
|
928
|
+
}
|
929
|
+
table[data-taco='report'] > tbody > tr[data-row-selected]:hover > td,
|
930
|
+
table[data-taco='report'] > tbody > tr[data-row-selected][data-row-active] > td,
|
931
|
+
table[data-taco='report'] > tbody > tr[data-row-selected][data-row-group] > td {
|
932
|
+
--table-row-actions-shadow: #d6e3f6;
|
933
|
+
@apply bg-[#d6e3f6];
|
917
934
|
}
|
918
|
-
table[data-taco='report'] > tbody > tr:not([data-row-selected='true'])[data-row-group] > td {
|
919
|
-
@apply bg-grey-100;
|
920
|
-
}
|
921
|
-
table[data-taco='report'] > tbody > tr:not([data-row-selected='true']):hover > td,
|
922
|
-
table[data-taco='report'] > tbody > tr:not([data-row-selected='true'])[data-row-active='true'] > td,
|
923
|
-
table[data-taco='report'] > tbody > tr:not([data-row-selected='true'])[data-row-active='true']:hover > td {
|
924
|
-
--table-row-actions-shadow: theme(colors.grey.100);
|
925
|
-
@apply bg-grey-100;
|
926
|
-
}
|
927
935
|
/* search highlighting */
|
928
|
-
table[data-taco='report'] > tbody > tr
|
929
|
-
|
936
|
+
table[data-taco='report'] > tbody > tr[data-row-selected] > td[data-cell-highlighted] {
|
937
|
+
--table-row-actions-shadow: #b4d2fd;
|
938
|
+
@apply !bg-[#b4d2fd];
|
930
939
|
}
|
931
|
-
/* normal rows when focus is inside the table */
|
932
|
-
table[data-taco='report']:focus-within > tbody > tr[data-row-active='true']:not([data-row-selected='true']) > td {
|
933
|
-
--table-row-actions-shadow: theme(colors.grey.200);
|
934
|
-
@apply !bg-grey-200;
|
935
|
-
}
|
936
940
|
|
937
|
-
/* normal rows
|
938
|
-
|
939
|
-
|
940
|
-
|
941
|
-
|
942
|
-
|
943
|
-
--table-row-actions-shadow: theme(colors.grey.200);
|
944
|
-
@apply !bg-grey-200;
|
945
|
-
}
|
941
|
+
/* normal rows */
|
942
|
+
|
943
|
+
table[data-taco='report']:focus-within > tbody > tr:not([data-row-selected])[data-row-active] > td {
|
944
|
+
--table-row-actions-shadow: theme(colors.grey.200);
|
945
|
+
@apply bg-grey-200;
|
946
|
+
}
|
946
947
|
|
947
948
|
/* selected rows */
|
948
|
-
|
949
|
-
|
950
|
-
|
951
|
-
|
952
|
-
|
953
|
-
|
949
|
+
|
950
|
+
table[data-taco='report']:focus-within > tbody > tr[data-row-selected][data-row-active] > td {
|
951
|
+
--table-row-actions-shadow: #ccd8eb;
|
952
|
+
@apply bg-[#ccd8eb];
|
953
|
+
}
|
954
|
+
|
955
|
+
/* normal rows */
|
956
|
+
|
957
|
+
table[data-taco='report'][data-table-pause-hover='true'] > tbody > tr:hover:not([data-row-selected]):not([data-row-active]) > td {
|
958
|
+
--table-row-actions-shadow: theme(colors.white);
|
959
|
+
@apply bg-white;
|
954
960
|
}
|
955
|
-
|
956
|
-
|
961
|
+
|
962
|
+
table[data-taco='report'][data-table-pause-hover='true'] > tbody > tr:hover:not([data-row-selected])[data-row-active] > td {
|
963
|
+
--table-row-actions-shadow: theme(colors.grey.200);
|
964
|
+
@apply bg-grey-200;
|
957
965
|
}
|
958
|
-
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
/* search highlighting */
|
965
|
-
table[data-taco='report'] > tbody > tr[data-row-selected='true']:hover > td[data-cell-highlighted='true'], table[data-taco='report'] > tbody > tr[data-row-selected='true'][data-row-active='true'] > td[data-cell-highlighted='true'], table[data-taco='report'] > tbody > tr[data-row-selected='true'][data-row-active='true']:hover > td[data-cell-highlighted='true'] {
|
966
|
-
@apply bg-[#cadef9];
|
966
|
+
|
967
|
+
/* selected rows */
|
968
|
+
|
969
|
+
table[data-taco='report'][data-table-pause-hover='true'] > tbody > tr:hover[data-row-selected]:not([data-row-active]) > td {
|
970
|
+
--table-row-actions-shadow: theme(colors.blue.100);
|
971
|
+
@apply bg-blue-100;
|
967
972
|
}
|
968
|
-
|
969
|
-
|
973
|
+
|
974
|
+
table[data-taco='report'][data-table-pause-hover='true'] > tbody > tr:hover[data-row-selected][data-row-active] > td {
|
975
|
+
--table-row-actions-shadow: #ccd8eb;
|
976
|
+
@apply bg-[#CCD8EB];
|
970
977
|
}
|
971
|
-
/* selected rows when focus is inside the table */
|
972
|
-
table[data-taco='report']:focus-within > tbody > tr[data-row-active='true'][data-row-selected='true'] > td {
|
973
|
-
--table-row-actions-shadow: #ccd8eb;
|
974
|
-
@apply bg-[#CCD8EB];
|
975
|
-
}
|
976
|
-
/* selected rows when hover is paused */
|
977
|
-
table[data-taco='report'][data-table-pause-hover='true'] > tbody > tr[data-row-selected='true']:hover:not([data-row-active='true']) > td {
|
978
|
-
--table-row-actions-shadow: theme(colors.blue.100);
|
979
|
-
@apply !bg-blue-100;
|
980
|
-
}
|
981
|
-
table[data-taco='report'][data-table-pause-hover='true'] > tbody > tr[data-row-selected='true']:hover[data-row-active='true'] > td {
|
982
|
-
--table-row-actions-shadow: #ccd8eb;
|
983
|
-
@apply !bg-[#CCD8EB];
|
984
|
-
}
|
985
978
|
|
986
979
|
/* row metadata */
|
987
|
-
|
988
980
|
table[data-taco='report'] tbody tr[data-row-meta-layout='heading']:not([data-row-group='true']) td {
|
989
981
|
@apply !border-b-0 border-t font-bold;
|
990
982
|
}
|
@@ -1335,7 +1327,7 @@ table[data-taco='report'] [data-cell-id^='__'] {
|
|
1335
1327
|
}
|
1336
1328
|
|
1337
1329
|
[data-font-size='small'] [role='cell'] [data-taco='tag'] {
|
1338
|
-
@apply
|
1330
|
+
@apply h-4 min-h-[theme(spacing.4)];
|
1339
1331
|
}
|
1340
1332
|
|
1341
1333
|
[data-font-size='small'] [role='cell'] [data-taco='Select2'],
|
@@ -1391,7 +1383,7 @@ table[data-taco='report'] [data-cell-id^='__'] {
|
|
1391
1383
|
}
|
1392
1384
|
|
1393
1385
|
/* When cell is editable and highlighted, the padding should apply to highlight wrapper and remove 1px border-width,
|
1394
|
-
|
1386
|
+
because it should take all the available space in the cell */
|
1395
1387
|
|
1396
1388
|
[data-font-size='small'] [role='cell'][data-editable][data-highlighted='true'] [data-taco='highlight'] {
|
1397
1389
|
@apply px-[calc(var(--table3-cell-padding-x)_-_6px_-_1px)];
|
@@ -1414,8 +1406,8 @@ table[data-taco='report'] [data-cell-id^='__'] {
|
|
1414
1406
|
@apply !-my-0.5;
|
1415
1407
|
}
|
1416
1408
|
|
1417
|
-
[data-font-size='medium'] [role='cell'] [data-taco='
|
1418
|
-
@apply
|
1409
|
+
[data-font-size='medium'] [role='cell'] [data-taco='Select2'] {
|
1410
|
+
@apply !px-2;
|
1419
1411
|
}
|
1420
1412
|
|
1421
1413
|
[data-font-size='medium'] [role='cell'] [data-taco='Select2'],
|
@@ -1430,7 +1422,7 @@ table[data-taco='report'] [data-cell-id^='__'] {
|
|
1430
1422
|
}
|
1431
1423
|
|
1432
1424
|
/* When cell is editable and highlighted, the padding should apply to highlight wrapper and remove 1px border-width,
|
1433
|
-
|
1425
|
+
because it should take all the available space in the cell */
|
1434
1426
|
|
1435
1427
|
[data-font-size='medium'] [role='cell'][data-editable][data-highlighted='true'] [data-taco='highlight'] {
|
1436
1428
|
@apply px-[calc(var(--table3-cell-padding-x)_-_8px_-_1px)];
|
@@ -1460,8 +1452,8 @@ table[data-taco='report'] [data-cell-id^='__'] {
|
|
1460
1452
|
@apply !-my-0.5;
|
1461
1453
|
}
|
1462
1454
|
|
1463
|
-
[data-font-size='large'] [role='cell'] [data-taco='
|
1464
|
-
@apply
|
1455
|
+
[data-font-size='large'] [role='cell'] [data-taco='Select2'] {
|
1456
|
+
@apply !px-2.5;
|
1465
1457
|
}
|
1466
1458
|
|
1467
1459
|
[data-font-size='large'] [role='cell'] [data-taco='Select2'],
|
@@ -1502,7 +1494,7 @@ table[data-taco='report'] [data-cell-id^='__'] {
|
|
1502
1494
|
}
|
1503
1495
|
|
1504
1496
|
/* When cell is editable and highlighted, the padding should apply to highlight wrapper and remove 1px border-width,
|
1505
|
-
|
1497
|
+
because it should take all the available space in the cell */
|
1506
1498
|
|
1507
1499
|
[data-font-size='large'] [role='cell'][data-editable][data-highlighted='true'] [data-taco='highlight'] {
|
1508
1500
|
@apply px-[calc(var(--table3-cell-padding-x)_-_10px_-_1px)];
|
@@ -1520,3 +1512,9 @@ table[data-taco='report'] [data-cell-id^='__'] {
|
|
1520
1512
|
[data-font-size='large'] [role='columnheader'] button {
|
1521
1513
|
@apply !text-sm;
|
1522
1514
|
}
|
1515
|
+
|
1516
|
+
/* When spinner is rendered in the last cell of the table, it slightly pushes the edge of the table(while rotating),
|
1517
|
+
and making horisontal scroll bar jump */
|
1518
|
+
[data-editing='true'] [role='cell']:last-child [data-taco='spinner'] {
|
1519
|
+
overflow: hidden;
|
1520
|
+
}
|
package/dist/index.d.ts
CHANGED
@@ -55,6 +55,7 @@ export * from './components/Header/Header';
|
|
55
55
|
export * from './components/Layout/Layout';
|
56
56
|
export * from './components/Navigation2/Navigation2';
|
57
57
|
export * as CollectionPrimitive from './primitives/Collection/Collection';
|
58
|
+
export * from './primitives/Table/useTableDataLoader';
|
58
59
|
export * from './utils/date';
|
59
60
|
export * from './utils/keyboard';
|
60
61
|
export * from './utils/mergeRefs';
|
@@ -104,6 +104,18 @@ export declare type TableSettings = {
|
|
104
104
|
searchQuery?: string;
|
105
105
|
sorting?: ReactTableSortingState;
|
106
106
|
};
|
107
|
+
export declare type EnableSettingsOptions = {
|
108
|
+
columnOrder: boolean;
|
109
|
+
columnPinning: boolean;
|
110
|
+
columnSizing: boolean;
|
111
|
+
columnVisibility: boolean;
|
112
|
+
excludeUnmatchedRecordsInSearch: boolean;
|
113
|
+
fontSize: boolean;
|
114
|
+
grouping: boolean;
|
115
|
+
rowHeight: boolean;
|
116
|
+
showWarningWhenPrintingLargeDataset: boolean;
|
117
|
+
sorting: boolean;
|
118
|
+
};
|
107
119
|
export declare type TableFeatureProps = {
|
108
120
|
enableFiltering?: boolean;
|
109
121
|
enableSearch?: boolean;
|
@@ -123,7 +135,7 @@ export declare type TableFeatureProps = {
|
|
123
135
|
enableRowClick?: boolean;
|
124
136
|
enableRowGoto?: boolean;
|
125
137
|
enableRowHeight?: boolean;
|
126
|
-
|
138
|
+
enableSaveSettings?: boolean | Partial<EnableSettingsOptions>;
|
127
139
|
};
|
128
140
|
export declare type useTableInternalColumn<TType = unknown> = {
|
129
141
|
header?: (info: ReactTableHeaderContext<TType, unknown>) => JSX.Element | string | null;
|