@economic/taco 2.27.1 → 2.27.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/esm/index.css +9 -3
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +3 -3
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.js +1 -0
- package/dist/esm/packages/taco/src/components/Table3/components/Columns/Cell/Editing/TextareaWithAutosizing.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js +7 -2
- package/dist/esm/packages/taco/src/components/Table3/components/Editing/Alert.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/util.js +3 -7
- package/dist/esm/packages/taco/src/primitives/Table/Core/components/Columns/Cell/util.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleColumnFreezing.js +19 -6
- package/dist/esm/packages/taco/src/primitives/Table/Core/features/useTableStyleColumnFreezing.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js +9 -2
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/listeners/useTableFontSizeListener.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js +15 -2
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/settings.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js +6 -2
- package/dist/esm/packages/taco/src/primitives/Table/useTableManager/util/setup.js.map +1 -1
- package/dist/index.css +9 -3
- package/dist/primitives/Table/Core/components/Columns/Cell/util.d.ts +0 -1
- package/dist/primitives/Table/useTableManager/util/settings.d.ts +2 -1
- package/dist/taco.cjs.development.js +76 -40
- 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/package.json +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"settings.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/settings.ts"],"sourcesContent":["import { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\n\nexport function getSettings<TType = unknown>(table: ReactTable<TType>) {\n const meta = table.options.meta as ReactTableMeta<TType>;\n const state = table.getState();\n\n return {\n // commented out properties are here to highlight things we explicitly don't want them saved\n //columnFilters: table.options.enableColumnFilters ? state.columnFilters : undefined,\n columnOrder: meta.columnOrdering.isEnabled ? state.columnOrder : undefined,\n columnPinning: state.columnPinning,\n columnSizing: state.columnSizing,\n columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,\n excludeUnmatchedRecordsInSearch: table.options.enableGlobalFilter,\n fontSize: meta.fontSize.isEnabled ? meta.fontSize.size : undefined,\n //grouping: table.options.enableGrouping ? state.grouping : undefined,\n rowHeight: meta.rowHeight.isEnabled ? meta.rowHeight.height : undefined,\n //searchQuery: table.options.enableGlobalFilter ? state.globalFilter : undefined,\n sorting: state.sorting,\n };\n}\n"],"names":["getSettings","table","meta","options","state","getState","columnOrder","columnOrdering","isEnabled","undefined","columnPinning","columnSizing","columnVisibility","enableHiding","excludeUnmatchedRecordsInSearch","enableGlobalFilter","fontSize","size","rowHeight","height","sorting"],"mappings":"
|
1
|
+
{"version":3,"file":"settings.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/settings.ts"],"sourcesContent":["import { Table as ReactTable, TableMeta as ReactTableMeta } from '@tanstack/react-table';\nimport { isInternalColumn } from './columns';\n\nexport function getSettings<TType = unknown>(table: ReactTable<TType>) {\n const meta = table.options.meta as ReactTableMeta<TType>;\n const state = table.getState();\n\n return {\n // commented out properties are here to highlight things we explicitly don't want them saved\n //columnFilters: table.options.enableColumnFilters ? state.columnFilters : undefined,\n columnOrder: meta.columnOrdering.isEnabled ? state.columnOrder : undefined,\n columnPinning: state.columnPinning,\n columnSizing: ignoreInternalColumns(state.columnSizing),\n columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,\n excludeUnmatchedRecordsInSearch: table.options.enableGlobalFilter,\n fontSize: meta.fontSize.isEnabled ? meta.fontSize.size : undefined,\n //grouping: table.options.enableGrouping ? state.grouping : undefined,\n rowHeight: meta.rowHeight.isEnabled ? meta.rowHeight.height : undefined,\n //searchQuery: table.options.enableGlobalFilter ? state.globalFilter : undefined,\n sorting: state.sorting,\n };\n}\n\nexport function ignoreInternalColumns(data: object) {\n return Object.keys(data).reduce((accum, key) => {\n if (isInternalColumn(key)) {\n return accum;\n }\n\n return {\n ...accum,\n [key]: data[key],\n };\n }, {});\n}\n"],"names":["getSettings","table","meta","options","state","getState","columnOrder","columnOrdering","isEnabled","undefined","columnPinning","columnSizing","ignoreInternalColumns","columnVisibility","enableHiding","excludeUnmatchedRecordsInSearch","enableGlobalFilter","fontSize","size","rowHeight","height","sorting","data","Object","keys","reduce","accum","key","isInternalColumn"],"mappings":";;SAGgBA,WAAWA,CAAkBC,KAAwB;EACjE,MAAMC,IAAI,GAAGD,KAAK,CAACE,OAAO,CAACD,IAA6B;EACxD,MAAME,KAAK,GAAGH,KAAK,CAACI,QAAQ,EAAE;EAE9B,OAAO;;;IAGHC,WAAW,EAAEJ,IAAI,CAACK,cAAc,CAACC,SAAS,GAAGJ,KAAK,CAACE,WAAW,GAAGG,SAAS;IAC1EC,aAAa,EAAEN,KAAK,CAACM,aAAa;IAClCC,YAAY,EAAEC,qBAAqB,CAACR,KAAK,CAACO,YAAY,CAAC;IACvDE,gBAAgB,EAAEZ,KAAK,CAACE,OAAO,CAACW,YAAY,GAAGV,KAAK,CAACS,gBAAgB,GAAGJ,SAAS;IACjFM,+BAA+B,EAAEd,KAAK,CAACE,OAAO,CAACa,kBAAkB;IACjEC,QAAQ,EAAEf,IAAI,CAACe,QAAQ,CAACT,SAAS,GAAGN,IAAI,CAACe,QAAQ,CAACC,IAAI,GAAGT,SAAS;;IAElEU,SAAS,EAAEjB,IAAI,CAACiB,SAAS,CAACX,SAAS,GAAGN,IAAI,CAACiB,SAAS,CAACC,MAAM,GAAGX,SAAS;;IAEvEY,OAAO,EAAEjB,KAAK,CAACiB;GAClB;AACL;SAEgBT,qBAAqBA,CAACU,IAAY;EAC9C,OAAOC,MAAM,CAACC,IAAI,CAACF,IAAI,CAAC,CAACG,MAAM,CAAC,CAACC,KAAK,EAAEC,GAAG;IACvC,IAAIC,gBAAgB,CAACD,GAAG,CAAC,EAAE;MACvB,OAAOD,KAAK;;IAGhB,OAAO;MACH,GAAGA,KAAK;MACR,CAACC,GAAG,GAAGL,IAAI,CAACK,GAAG;KAClB;GACJ,EAAE,EAAE,CAAC;AACV;;;;"}
|
@@ -3,6 +3,7 @@ import { getExpandedRowModel, getGroupedRowModel, getFilteredRowModel, getSorted
|
|
3
3
|
import { getSortingFn } from './sorting.js';
|
4
4
|
import { ensureOrdering, freezeUptoExternalColumn, unfreezeAllExternalColumns, getCellMinWidth } from './columns.js';
|
5
5
|
import { columnFilterFn, globalFilterFn } from './filtering.js';
|
6
|
+
import { ignoreInternalColumns } from './settings.js';
|
6
7
|
|
7
8
|
// mapping children to react-table columns
|
8
9
|
function processChildren(child, columns, defaultSizing, defaultSorting, defaultVisibility, settings, defaultRowGroupColumnId) {
|
@@ -89,7 +90,10 @@ function processChildren(child, columns, defaultSizing, defaultSorting, defaultV
|
|
89
90
|
column.cell = info => renderer(info.getValue(), info.row.original);
|
90
91
|
}
|
91
92
|
if (typeof footer === 'function') {
|
92
|
-
column.footer = info => footer(info.table.getRowModel().rows.
|
93
|
+
column.footer = info => footer(info.table.getRowModel().rows.flatMap(row => {
|
94
|
+
var _row$original;
|
95
|
+
return ((_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original[id]) !== undefined ? [row.original[id]] : [];
|
96
|
+
}));
|
93
97
|
}
|
94
98
|
// config - filtering
|
95
99
|
if (enableColumnFilter) {
|
@@ -256,7 +260,7 @@ function useReactTableInitialState(props, columns, persistedSettings, defaults)
|
|
256
260
|
columnFilters: (_ref2 = (_persistedSettings$co3 = persistedSettings.columnFilters) !== null && _persistedSettings$co3 !== void 0 ? _persistedSettings$co3 : (_props$defaultSetting3 = props.defaultSettings) === null || _props$defaultSetting3 === void 0 ? void 0 : _props$defaultSetting3.columnFilters) !== null && _ref2 !== void 0 ? _ref2 : [],
|
257
261
|
columnOrder,
|
258
262
|
columnPinning,
|
259
|
-
columnSizing: (_ref3 = (_ref4 = (_persistedSettings$co4 = persistedSettings.columnSizing) !== null && _persistedSettings$co4 !== void 0 ? _persistedSettings$co4 : (_props$defaultSetting4 = props.defaultSettings) === null || _props$defaultSetting4 === void 0 ? void 0 : _props$defaultSetting4.columnSizing) !== null && _ref4 !== void 0 ? _ref4 : defaults.defaultSizing) !== null && _ref3 !== void 0 ? _ref3 : {},
|
263
|
+
columnSizing: ignoreInternalColumns((_ref3 = (_ref4 = (_persistedSettings$co4 = persistedSettings.columnSizing) !== null && _persistedSettings$co4 !== void 0 ? _persistedSettings$co4 : (_props$defaultSetting4 = props.defaultSettings) === null || _props$defaultSetting4 === void 0 ? void 0 : _props$defaultSetting4.columnSizing) !== null && _ref4 !== void 0 ? _ref4 : defaults.defaultSizing) !== null && _ref3 !== void 0 ? _ref3 : {}),
|
260
264
|
columnVisibility: (_ref5 = (_ref6 = (_persistedSettings$co5 = persistedSettings.columnVisibility) !== null && _persistedSettings$co5 !== void 0 ? _persistedSettings$co5 : (_props$defaultSetting5 = props.defaultSettings) === null || _props$defaultSetting5 === void 0 ? void 0 : _props$defaultSetting5.columnVisibility) !== null && _ref6 !== void 0 ? _ref6 : defaults.defaultVisibility) !== null && _ref5 !== void 0 ? _ref5 : {},
|
261
265
|
globalFilter: (_persistedSettings$se = persistedSettings.searchQuery) !== null && _persistedSettings$se !== void 0 ? _persistedSettings$se : (_props$defaultSetting6 = props.defaultSettings) === null || _props$defaultSetting6 === void 0 ? void 0 : _props$defaultSetting6.searchQuery,
|
262
266
|
sorting: persistedSettings.sorting ? persistedSettings.sorting.filter(ignoreNotDefinedColumns) : (_props$defaultSetting7 = (_props$defaultSetting8 = props.defaultSettings) === null || _props$defaultSetting8 === void 0 ? void 0 : _props$defaultSetting8.sorting) !== null && _props$defaultSetting7 !== void 0 ? _props$defaultSetting7 : defaults.defaultSorting
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"setup.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/setup.ts"],"sourcesContent":["import React from 'react';\nimport {\n createColumnHelper,\n getExpandedRowModel,\n getFilteredRowModel,\n getGroupedRowModel,\n getSortedRowModel,\n TableOptions as ReactTableOptions,\n Row as ReactTableRow,\n Column as ReactTableColumn,\n ColumnDef as ReactTableColumnDef,\n ColumnPinningState as ReactTableColumnPinningState,\n ColumnSizingState as ReactTableColumnSizingState,\n ColumnSort as ReactTableColumnSort,\n TableState as ReactTableState,\n VisibilityState as ReactTableVisibilityState,\n} from '@tanstack/react-table';\nimport { useTableManagerInternalColumns, useTableManagerInternalColumn } from '../types';\nimport { TableColumnProps, TableFeatureProps, TableGroupProps, TableProps, TableSettings } from '../../types';\nimport { getSortingFn } from './sorting';\nimport { ensureOrdering, freezeUptoExternalColumn, getCellMinWidth, unfreezeAllExternalColumns } from './columns';\nimport { columnFilterFn, globalFilterFn } from './filtering';\n\n// mapping children to react-table columns\nfunction processChildren<TType>(\n child: React.ReactChild | React.ReactFragment | React.ReactPortal,\n columns: ReactTableColumnDef<TType>[],\n defaultSizing: ReactTableColumnSizingState,\n defaultSorting: ReactTableColumnSort[],\n defaultVisibility: ReactTableVisibilityState,\n settings: TableSettings,\n defaultRowGroupColumnId?: keyof TType\n): ReactTableColumnDef<TType>[] {\n const columnHelper = createColumnHelper<TType>();\n\n if (React.isValidElement<TableGroupProps>(child) && child.props.children) {\n const { children, id, header } = child.props;\n\n columns.push(\n columnHelper.group({\n id,\n header,\n columns: React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId\n ),\n []\n ),\n // we don't want to let column groups be grouped/aggregrated\n enableGrouping: false,\n })\n );\n } else if (React.isValidElement<TableColumnProps<TType>>(child) && (child.props.accessor || child.props.id)) {\n const {\n id,\n accessor: accessorKey = id,\n // renderers\n renderer,\n aggregate,\n footer,\n header,\n // options\n aggregationFn,\n defaultHidden,\n defaultWidth,\n enableFiltering: enableColumnFilter = true,\n enableGrouping = false,\n enableHiding = true,\n enableOrdering = true,\n enablePrinting = true,\n enableResizing = true,\n enableSearch: enableGlobalFilter = true,\n enableSorting = true,\n enableTruncate = false,\n minWidth: minSize = getCellMinWidth(settings.fontSize),\n sort,\n sortFn,\n ...meta\n } = child.props;\n\n if (defaultHidden && enableHiding) {\n defaultVisibility[id] = false;\n }\n\n if (defaultWidth) {\n defaultSizing[id] = defaultWidth as any;\n }\n\n if (child.props.sort !== undefined) {\n defaultSorting.push({\n id,\n desc: sort === 'desc',\n });\n }\n\n const isGrouped = defaultRowGroupColumnId === id;\n\n const column: ReactTableColumnDef<TType, any> = {\n id,\n accessorKey,\n header: header,\n // features\n enableColumnFilter,\n enableGlobalFilter,\n enableGrouping,\n enableHiding: isGrouped ? false : enableHiding,\n enableResizing,\n enableSorting,\n // config - sizing\n minSize,\n // meta\n meta: {\n ...(meta as any),\n defaultWidth,\n enableOrdering: isGrouped ? false : enableOrdering,\n enablePrinting,\n enableTruncate,\n header,\n renderer,\n },\n };\n\n // renderers\n if (typeof renderer === 'function') {\n column.cell = info => renderer(info.getValue(), info.row.original);\n }\n\n if (typeof footer === 'function') {\n column.footer = info => footer(info.table.getRowModel().rows.map(row => row.original[id]));\n }\n\n // config - filtering\n if (enableColumnFilter) {\n column.filterFn = 'tacoFilter' as any;\n }\n\n // config - grouping/aggregation\n if (enableGrouping) {\n column.aggregationFn = aggregationFn;\n\n if (typeof aggregate === 'function') {\n column.aggregatedCell = info => aggregate(info.getValue(), info.row.original);\n }\n }\n\n // config - sorting\n if (enableSorting) {\n column.sortingFn = getSortingFn<TType>(child.props.dataType, sortFn);\n column.sortDescFirst = false;\n column.sortUndefined = 1;\n }\n\n columns.push(column);\n }\n\n return columns;\n}\n\nfunction createInternalColumn<TType = unknown>(\n id: string,\n column: useTableManagerInternalColumn<TType>,\n defaultSizing: ReactTableColumnSizingState\n) {\n if (column.size) {\n defaultSizing[id] = column.size;\n }\n\n return {\n id,\n accessorKey: id,\n header: column.header,\n cell: column.renderer,\n // features\n enableColumnFilter: false,\n enableGlobalFilter: false,\n enableGrouping: false,\n enableHiding: false,\n enableResizing: false,\n enableSorting: false,\n // config - sizing\n size: column.size,\n minSize: column.size,\n // meta\n meta: {\n ...(column.meta as any),\n enableOrdering: false,\n enablePrinting: false,\n enableTruncate: false,\n },\n } as ReactTableColumnDef<TType, any>;\n}\n\nexport function mapTableChildrenToColumns<TType = unknown>(\n props: TableProps<TType>,\n settings: TableSettings,\n options: TableFeatureProps,\n internalColumns?: useTableManagerInternalColumns<TType>\n) {\n const { children, defaultRowGroupColumnId } = props;\n const defaultSizing: ReactTableColumnSizingState = {};\n const defaultSorting: ReactTableColumnSort[] = [];\n const defaultVisibility: ReactTableVisibilityState = {};\n\n const columns = React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId\n ),\n\n []\n );\n\n if (internalColumns) {\n if (options.enableRowExpansion && props.rowExpansionRenderer && internalColumns.rowExpansion) {\n const column = createInternalColumn<TType>('__expansion', internalColumns.rowExpansion, defaultSizing);\n columns.unshift(column);\n }\n\n if ((options.enableRowSelection || options.enableRowSelectionSingle) && internalColumns.rowSelection) {\n const column = createInternalColumn<TType>('__select', internalColumns.rowSelection, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowActions && props.rowActions?.length && internalColumns.rowActions) {\n const column = createInternalColumn<TType>('__actions', internalColumns.rowActions, defaultSizing);\n columns.push(column);\n }\n\n if (options.enableRowDrag && props.onRowDrag && internalColumns.rowDrag) {\n const column = createInternalColumn<TType>('__drag', internalColumns.rowDrag, defaultSizing);\n columns.unshift(column);\n }\n }\n\n return { columns, defaultSizing, defaultSorting, defaultVisibility };\n}\n\nexport function configureReactTableOptions<TType = unknown>(options: TableFeatureProps, props: TableProps<TType>) {\n const enableRowSelection = options.enableRowSelection || options.enableRowSelectionSingle;\n const tableOptions: Partial<ReactTableOptions<TType>> = {\n defaultColumn: {\n enableColumnFilter: options.enableFiltering || true,\n enableGrouping: false,\n enableHiding: options.enableColumnHiding || true,\n enableResizing: options.enableColumnResizing || true,\n enableGlobalFilter: options.enableSearch || true,\n enableSorting: options.enableSorting || true,\n minSize: 1,\n // the default is 150, which is a bit random\n size: 1,\n },\n enableColumnFilters: options.enableFiltering ?? false,\n enableColumnResizing: options.enableColumnResizing ?? false,\n enableExpanding: options.enableRowExpansion ?? false,\n enableGrouping: true, // users can't customise row grouping, so it can just be always enabled and left to the defaultRowGroupColumnId prop\n enableHiding: options.enableColumnHiding ?? false,\n enablePinning: options.enableColumnFreezing ?? false,\n enableRowSelection: enableRowSelection ?? false,\n enableMultiRowSelection: options.enableRowSelectionSingle === true ? false : enableRowSelection,\n enableSorting: options.enableSorting ?? false,\n // models for default features\n getExpandedRowModel: getExpandedRowModel<TType>(),\n getGroupedRowModel: getGroupedRowModel<TType>(),\n groupedColumnMode: false,\n };\n\n if (tableOptions.enableColumnResizing) {\n tableOptions.columnResizeMode = 'onChange';\n }\n\n if (tableOptions.enableColumnFilters) {\n // enter controlled filter mode (controlled could be local state, but usually the server)\n if (props.onChangeFilter) {\n // tableOptions.manualFiltering = true;\n // we don't set it because it breaks global filtering (used for search, which is fully client side)\n //\n // tableOptions.onColumnFiltersChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onFilter\n } else {\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.filterFns = {\n tacoFilter: (row: ReactTableRow<TType>, columnId: string, filter: any) =>\n columnFilterFn(row.getValue(columnId), filter),\n };\n }\n }\n\n if (options.enableSearch) {\n // always set these because enableGlobalFilter can be toggled on and off by the user\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.globalFilterFn = globalFilterFn;\n tableOptions.getColumnCanGlobalFilter = (column: ReactTableColumn<TType>) => column.columnDef.meta?.enableSearch ?? true;\n\n // enter controlled search mode (controlled could be local state, but usually the server)\n if (props.onChangeSearch) {\n // tableOptions.manualFiltering = true;\n // we don't set this because controlled search is not currently supported, search is always client side\n //\n // tableOptions.onGlobalFilterChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSearch.\n //\n // we also don't always filter when searching, we have the highlight functionality as the default\n // and filtering can be toggled by the user\n }\n }\n\n if (tableOptions.enableSorting) {\n // enter controlled sort mode (controlled could be local state, but usually the server)\n if (props.onChangeSort) {\n tableOptions.manualSorting = true;\n\n // tableOptions.onSortingChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSort\n } else {\n tableOptions.getSortedRowModel = getSortedRowModel();\n }\n }\n\n return tableOptions;\n}\n\nexport function useReactTableInitialState<TType = unknown>(\n props: TableProps<TType>,\n columns: ReactTableColumnDef<TType>[],\n persistedSettings: TableSettings,\n defaults: {\n defaultSizing: ReactTableColumnSizingState;\n defaultSorting: ReactTableColumnSort[];\n defaultVisibility: ReactTableVisibilityState;\n }\n): Partial<ReactTableState> {\n return React.useMemo(() => {\n const ignoreNotDefinedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n const columnOrder = ensureOrdering<TType>(columns, persistedSettings.columnOrder ?? props.defaultSettings?.columnOrder);\n\n const columnPinning: ReactTableColumnPinningState =\n persistedSettings.columnPinning ?? props.defaultSettings?.columnPinning ?? {};\n\n // ensure internal columns are pinned\n if (!columnPinning?.left?.length) {\n if (props.defaultColumnFreezingIndex) {\n columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);\n } else {\n columnPinning.left = unfreezeAllExternalColumns(columnOrder);\n }\n }\n\n const state: Partial<ReactTableState> = {\n columnFilters: persistedSettings.columnFilters ?? props.defaultSettings?.columnFilters ?? [],\n columnOrder,\n columnPinning,\n columnSizing: persistedSettings.columnSizing ?? props.defaultSettings?.columnSizing ?? defaults.defaultSizing ?? {},\n columnVisibility:\n persistedSettings.columnVisibility ?? props.defaultSettings?.columnVisibility ?? defaults.defaultVisibility ?? {},\n globalFilter: persistedSettings.searchQuery ?? props.defaultSettings?.searchQuery,\n sorting: persistedSettings.sorting\n ? persistedSettings.sorting.filter(ignoreNotDefinedColumns)\n : props.defaultSettings?.sorting ?? defaults.defaultSorting,\n };\n\n if (props.defaultRowGroupColumnId) {\n state.grouping = [props.defaultRowGroupColumnId as string];\n // row groups should (all) always be expanded by default\n state.expanded = true;\n }\n\n return state;\n }, []);\n}\n"],"names":["processChildren","child","columns","defaultSizing","defaultSorting","defaultVisibility","settings","defaultRowGroupColumnId","columnHelper","createColumnHelper","React","isValidElement","props","children","id","header","push","group","Children","toArray","reduce","enableGrouping","accessor","accessorKey","renderer","aggregate","footer","aggregationFn","defaultHidden","defaultWidth","enableFiltering","enableColumnFilter","enableHiding","enableOrdering","enablePrinting","enableResizing","enableSearch","enableGlobalFilter","enableSorting","enableTruncate","minWidth","minSize","getCellMinWidth","fontSize","sort","sortFn","meta","undefined","desc","isGrouped","column","cell","info","getValue","row","original","table","getRowModel","rows","map","filterFn","aggregatedCell","sortingFn","getSortingFn","dataType","sortDescFirst","sortUndefined","createInternalColumn","size","mapTableChildrenToColumns","options","internalColumns","_props$rowActions","enableRowExpansion","rowExpansionRenderer","rowExpansion","unshift","enableRowSelection","enableRowSelectionSingle","rowSelection","enableRowActions","rowActions","length","enableRowDrag","onRowDrag","rowDrag","configureReactTableOptions","tableOptions","defaultColumn","enableColumnHiding","enableColumnResizing","enableColumnFilters","_options$enableFilter","_options$enableColumn","enableExpanding","_options$enableRowExp","_options$enableColumn2","enablePinning","_options$enableColumn3","enableColumnFreezing","enableMultiRowSelection","_options$enableSortin","getExpandedRowModel","getGroupedRowModel","groupedColumnMode","columnResizeMode","onChangeFilter","getFilteredRowModel","filterFns","tacoFilter","columnId","filter","columnFilterFn","globalFilterFn","getColumnCanGlobalFilter","_column$columnDef$met","_column$columnDef$met2","columnDef","onChangeSort","manualSorting","getSortedRowModel","useReactTableInitialState","persistedSettings","defaults","useMemo","ignoreNotDefinedColumns","find","definedColumn","columnOrder","ensureOrdering","_persistedSettings$co","_props$defaultSetting","defaultSettings","columnPinning","_ref","_persistedSettings$co2","_props$defaultSetting2","_columnPinning$left","left","defaultColumnFreezingIndex","freezeUptoExternalColumn","unfreezeAllExternalColumns","state","columnFilters","_ref2","_persistedSettings$co3","_props$defaultSetting3","columnSizing","_ref3","_ref4","_persistedSettings$co4","_props$defaultSetting4","columnVisibility","_ref5","_ref6","_persistedSettings$co5","_props$defaultSetting5","globalFilter","_persistedSettings$se","searchQuery","_props$defaultSetting6","sorting","_props$defaultSetting7","_props$defaultSetting8","grouping","expanded"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"setup.js","sources":["../../../../../../../../../src/primitives/Table/useTableManager/util/setup.ts"],"sourcesContent":["import React from 'react';\nimport {\n createColumnHelper,\n getExpandedRowModel,\n getFilteredRowModel,\n getGroupedRowModel,\n getSortedRowModel,\n TableOptions as ReactTableOptions,\n Row as ReactTableRow,\n Column as ReactTableColumn,\n ColumnDef as ReactTableColumnDef,\n ColumnPinningState as ReactTableColumnPinningState,\n ColumnSizingState as ReactTableColumnSizingState,\n ColumnSort as ReactTableColumnSort,\n TableState as ReactTableState,\n VisibilityState as ReactTableVisibilityState,\n} from '@tanstack/react-table';\nimport { useTableManagerInternalColumns, useTableManagerInternalColumn } from '../types';\nimport { TableColumnProps, TableFeatureProps, TableGroupProps, TableProps, TableSettings } from '../../types';\nimport { getSortingFn } from './sorting';\nimport { ensureOrdering, freezeUptoExternalColumn, getCellMinWidth, unfreezeAllExternalColumns } from './columns';\nimport { columnFilterFn, globalFilterFn } from './filtering';\nimport { ignoreInternalColumns } from './settings';\n\n// mapping children to react-table columns\nfunction processChildren<TType>(\n child: React.ReactChild | React.ReactFragment | React.ReactPortal,\n columns: ReactTableColumnDef<TType>[],\n defaultSizing: ReactTableColumnSizingState,\n defaultSorting: ReactTableColumnSort[],\n defaultVisibility: ReactTableVisibilityState,\n settings: TableSettings,\n defaultRowGroupColumnId?: keyof TType\n): ReactTableColumnDef<TType>[] {\n const columnHelper = createColumnHelper<TType>();\n\n if (React.isValidElement<TableGroupProps>(child) && child.props.children) {\n const { children, id, header } = child.props;\n\n columns.push(\n columnHelper.group({\n id,\n header,\n columns: React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId\n ),\n []\n ),\n // we don't want to let column groups be grouped/aggregrated\n enableGrouping: false,\n })\n );\n } else if (React.isValidElement<TableColumnProps<TType>>(child) && (child.props.accessor || child.props.id)) {\n const {\n id,\n accessor: accessorKey = id,\n // renderers\n renderer,\n aggregate,\n footer,\n header,\n // options\n aggregationFn,\n defaultHidden,\n defaultWidth,\n enableFiltering: enableColumnFilter = true,\n enableGrouping = false,\n enableHiding = true,\n enableOrdering = true,\n enablePrinting = true,\n enableResizing = true,\n enableSearch: enableGlobalFilter = true,\n enableSorting = true,\n enableTruncate = false,\n minWidth: minSize = getCellMinWidth(settings.fontSize),\n sort,\n sortFn,\n ...meta\n } = child.props;\n\n if (defaultHidden && enableHiding) {\n defaultVisibility[id] = false;\n }\n\n if (defaultWidth) {\n defaultSizing[id] = defaultWidth as any;\n }\n\n if (child.props.sort !== undefined) {\n defaultSorting.push({\n id,\n desc: sort === 'desc',\n });\n }\n\n const isGrouped = defaultRowGroupColumnId === id;\n\n const column: ReactTableColumnDef<TType, any> = {\n id,\n accessorKey,\n header: header,\n // features\n enableColumnFilter,\n enableGlobalFilter,\n enableGrouping,\n enableHiding: isGrouped ? false : enableHiding,\n enableResizing,\n enableSorting,\n // config - sizing\n minSize,\n // meta\n meta: {\n ...(meta as any),\n defaultWidth,\n enableOrdering: isGrouped ? false : enableOrdering,\n enablePrinting,\n enableTruncate,\n header,\n renderer,\n },\n };\n\n // renderers\n if (typeof renderer === 'function') {\n column.cell = info => renderer(info.getValue(), info.row.original);\n }\n\n if (typeof footer === 'function') {\n column.footer = info =>\n footer(\n info.table.getRowModel().rows.flatMap(row => (row.original?.[id] !== undefined ? [row.original[id]] : []))\n );\n }\n\n // config - filtering\n if (enableColumnFilter) {\n column.filterFn = 'tacoFilter' as any;\n }\n\n // config - grouping/aggregation\n if (enableGrouping) {\n column.aggregationFn = aggregationFn;\n\n if (typeof aggregate === 'function') {\n column.aggregatedCell = info => aggregate(info.getValue(), info.row.original);\n }\n }\n\n // config - sorting\n if (enableSorting) {\n column.sortingFn = getSortingFn<TType>(child.props.dataType, sortFn);\n column.sortDescFirst = false;\n column.sortUndefined = 1;\n }\n\n columns.push(column);\n }\n\n return columns;\n}\n\nfunction createInternalColumn<TType = unknown>(\n id: string,\n column: useTableManagerInternalColumn<TType>,\n defaultSizing: ReactTableColumnSizingState\n) {\n if (column.size) {\n defaultSizing[id] = column.size;\n }\n\n return {\n id,\n accessorKey: id,\n header: column.header,\n cell: column.renderer,\n // features\n enableColumnFilter: false,\n enableGlobalFilter: false,\n enableGrouping: false,\n enableHiding: false,\n enableResizing: false,\n enableSorting: false,\n // config - sizing\n size: column.size,\n minSize: column.size,\n // meta\n meta: {\n ...(column.meta as any),\n enableOrdering: false,\n enablePrinting: false,\n enableTruncate: false,\n },\n } as ReactTableColumnDef<TType, any>;\n}\n\nexport function mapTableChildrenToColumns<TType = unknown>(\n props: TableProps<TType>,\n settings: TableSettings,\n options: TableFeatureProps,\n internalColumns?: useTableManagerInternalColumns<TType>\n) {\n const { children, defaultRowGroupColumnId } = props;\n const defaultSizing: ReactTableColumnSizingState = {};\n const defaultSorting: ReactTableColumnSort[] = [];\n const defaultVisibility: ReactTableVisibilityState = {};\n\n const columns = React.Children.toArray(children).reduce(\n (columns: ReactTableColumnDef<TType>[], child) =>\n processChildren<TType>(\n child,\n columns,\n defaultSizing,\n defaultSorting,\n defaultVisibility,\n settings,\n defaultRowGroupColumnId\n ),\n\n []\n );\n\n if (internalColumns) {\n if (options.enableRowExpansion && props.rowExpansionRenderer && internalColumns.rowExpansion) {\n const column = createInternalColumn<TType>('__expansion', internalColumns.rowExpansion, defaultSizing);\n columns.unshift(column);\n }\n\n if ((options.enableRowSelection || options.enableRowSelectionSingle) && internalColumns.rowSelection) {\n const column = createInternalColumn<TType>('__select', internalColumns.rowSelection, defaultSizing);\n columns.unshift(column);\n }\n\n if (options.enableRowActions && props.rowActions?.length && internalColumns.rowActions) {\n const column = createInternalColumn<TType>('__actions', internalColumns.rowActions, defaultSizing);\n columns.push(column);\n }\n\n if (options.enableRowDrag && props.onRowDrag && internalColumns.rowDrag) {\n const column = createInternalColumn<TType>('__drag', internalColumns.rowDrag, defaultSizing);\n columns.unshift(column);\n }\n }\n\n return { columns, defaultSizing, defaultSorting, defaultVisibility };\n}\n\nexport function configureReactTableOptions<TType = unknown>(options: TableFeatureProps, props: TableProps<TType>) {\n const enableRowSelection = options.enableRowSelection || options.enableRowSelectionSingle;\n const tableOptions: Partial<ReactTableOptions<TType>> = {\n defaultColumn: {\n enableColumnFilter: options.enableFiltering || true,\n enableGrouping: false,\n enableHiding: options.enableColumnHiding || true,\n enableResizing: options.enableColumnResizing || true,\n enableGlobalFilter: options.enableSearch || true,\n enableSorting: options.enableSorting || true,\n minSize: 1,\n // the default is 150, which is a bit random\n size: 1,\n },\n enableColumnFilters: options.enableFiltering ?? false,\n enableColumnResizing: options.enableColumnResizing ?? false,\n enableExpanding: options.enableRowExpansion ?? false,\n enableGrouping: true, // users can't customise row grouping, so it can just be always enabled and left to the defaultRowGroupColumnId prop\n enableHiding: options.enableColumnHiding ?? false,\n enablePinning: options.enableColumnFreezing ?? false,\n enableRowSelection: enableRowSelection ?? false,\n enableMultiRowSelection: options.enableRowSelectionSingle === true ? false : enableRowSelection,\n enableSorting: options.enableSorting ?? false,\n // models for default features\n getExpandedRowModel: getExpandedRowModel<TType>(),\n getGroupedRowModel: getGroupedRowModel<TType>(),\n groupedColumnMode: false,\n };\n\n if (tableOptions.enableColumnResizing) {\n tableOptions.columnResizeMode = 'onChange';\n }\n\n if (tableOptions.enableColumnFilters) {\n // enter controlled filter mode (controlled could be local state, but usually the server)\n if (props.onChangeFilter) {\n // tableOptions.manualFiltering = true;\n // we don't set it because it breaks global filtering (used for search, which is fully client side)\n //\n // tableOptions.onColumnFiltersChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onFilter\n } else {\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.filterFns = {\n tacoFilter: (row: ReactTableRow<TType>, columnId: string, filter: any) =>\n columnFilterFn(row.getValue(columnId), filter),\n };\n }\n }\n\n if (options.enableSearch) {\n // always set these because enableGlobalFilter can be toggled on and off by the user\n tableOptions.getFilteredRowModel = getFilteredRowModel<TType>();\n tableOptions.globalFilterFn = globalFilterFn;\n tableOptions.getColumnCanGlobalFilter = (column: ReactTableColumn<TType>) => column.columnDef.meta?.enableSearch ?? true;\n\n // enter controlled search mode (controlled could be local state, but usually the server)\n if (props.onChangeSearch) {\n // tableOptions.manualFiltering = true;\n // we don't set this because controlled search is not currently supported, search is always client side\n //\n // tableOptions.onGlobalFilterChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSearch.\n //\n // we also don't always filter when searching, we have the highlight functionality as the default\n // and filtering can be toggled by the user\n }\n }\n\n if (tableOptions.enableSorting) {\n // enter controlled sort mode (controlled could be local state, but usually the server)\n if (props.onChangeSort) {\n tableOptions.manualSorting = true;\n\n // tableOptions.onSortingChange = ...\n // we don't set this because it expects state to be maintained externally, and we don't want\n // consumers to control state outside the table. instead we have a listener that calls onSort\n } else {\n tableOptions.getSortedRowModel = getSortedRowModel();\n }\n }\n\n return tableOptions;\n}\n\nexport function useReactTableInitialState<TType = unknown>(\n props: TableProps<TType>,\n columns: ReactTableColumnDef<TType>[],\n persistedSettings: TableSettings,\n defaults: {\n defaultSizing: ReactTableColumnSizingState;\n defaultSorting: ReactTableColumnSort[];\n defaultVisibility: ReactTableVisibilityState;\n }\n): Partial<ReactTableState> {\n return React.useMemo(() => {\n const ignoreNotDefinedColumns = column => columns.find(definedColumn => definedColumn.id === column.id);\n\n const columnOrder = ensureOrdering<TType>(columns, persistedSettings.columnOrder ?? props.defaultSettings?.columnOrder);\n\n const columnPinning: ReactTableColumnPinningState =\n persistedSettings.columnPinning ?? props.defaultSettings?.columnPinning ?? {};\n\n // ensure internal columns are pinned\n if (!columnPinning?.left?.length) {\n if (props.defaultColumnFreezingIndex) {\n columnPinning.left = freezeUptoExternalColumn(props.defaultColumnFreezingIndex, columnOrder);\n } else {\n columnPinning.left = unfreezeAllExternalColumns(columnOrder);\n }\n }\n\n const state: Partial<ReactTableState> = {\n columnFilters: persistedSettings.columnFilters ?? props.defaultSettings?.columnFilters ?? [],\n columnOrder,\n columnPinning,\n columnSizing: ignoreInternalColumns(\n persistedSettings.columnSizing ?? props.defaultSettings?.columnSizing ?? defaults.defaultSizing ?? {}\n ),\n columnVisibility:\n persistedSettings.columnVisibility ?? props.defaultSettings?.columnVisibility ?? defaults.defaultVisibility ?? {},\n globalFilter: persistedSettings.searchQuery ?? props.defaultSettings?.searchQuery,\n sorting: persistedSettings.sorting\n ? persistedSettings.sorting.filter(ignoreNotDefinedColumns)\n : props.defaultSettings?.sorting ?? defaults.defaultSorting,\n };\n\n if (props.defaultRowGroupColumnId) {\n state.grouping = [props.defaultRowGroupColumnId as string];\n // row groups should (all) always be expanded by default\n state.expanded = true;\n }\n\n return state;\n }, []);\n}\n"],"names":["processChildren","child","columns","defaultSizing","defaultSorting","defaultVisibility","settings","defaultRowGroupColumnId","columnHelper","createColumnHelper","React","isValidElement","props","children","id","header","push","group","Children","toArray","reduce","enableGrouping","accessor","accessorKey","renderer","aggregate","footer","aggregationFn","defaultHidden","defaultWidth","enableFiltering","enableColumnFilter","enableHiding","enableOrdering","enablePrinting","enableResizing","enableSearch","enableGlobalFilter","enableSorting","enableTruncate","minWidth","minSize","getCellMinWidth","fontSize","sort","sortFn","meta","undefined","desc","isGrouped","column","cell","info","getValue","row","original","table","getRowModel","rows","flatMap","_row$original","filterFn","aggregatedCell","sortingFn","getSortingFn","dataType","sortDescFirst","sortUndefined","createInternalColumn","size","mapTableChildrenToColumns","options","internalColumns","_props$rowActions","enableRowExpansion","rowExpansionRenderer","rowExpansion","unshift","enableRowSelection","enableRowSelectionSingle","rowSelection","enableRowActions","rowActions","length","enableRowDrag","onRowDrag","rowDrag","configureReactTableOptions","tableOptions","defaultColumn","enableColumnHiding","enableColumnResizing","enableColumnFilters","_options$enableFilter","_options$enableColumn","enableExpanding","_options$enableRowExp","_options$enableColumn2","enablePinning","_options$enableColumn3","enableColumnFreezing","enableMultiRowSelection","_options$enableSortin","getExpandedRowModel","getGroupedRowModel","groupedColumnMode","columnResizeMode","onChangeFilter","getFilteredRowModel","filterFns","tacoFilter","columnId","filter","columnFilterFn","globalFilterFn","getColumnCanGlobalFilter","_column$columnDef$met","_column$columnDef$met2","columnDef","onChangeSort","manualSorting","getSortedRowModel","useReactTableInitialState","persistedSettings","defaults","useMemo","ignoreNotDefinedColumns","find","definedColumn","columnOrder","ensureOrdering","_persistedSettings$co","_props$defaultSetting","defaultSettings","columnPinning","_ref","_persistedSettings$co2","_props$defaultSetting2","_columnPinning$left","left","defaultColumnFreezingIndex","freezeUptoExternalColumn","unfreezeAllExternalColumns","state","columnFilters","_ref2","_persistedSettings$co3","_props$defaultSetting3","columnSizing","ignoreInternalColumns","_ref3","_ref4","_persistedSettings$co4","_props$defaultSetting4","columnVisibility","_ref5","_ref6","_persistedSettings$co5","_props$defaultSetting5","globalFilter","_persistedSettings$se","searchQuery","_props$defaultSetting6","sorting","_props$defaultSetting7","_props$defaultSetting8","grouping","expanded"],"mappings":"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"}
|
package/dist/index.css
CHANGED
@@ -667,7 +667,9 @@ table[data-taco^='table'][data-table-row-height='short'] td {
|
|
667
667
|
@apply min-h-[33px];
|
668
668
|
}
|
669
669
|
|
670
|
-
table[data-taco^='table'][data-table-row-height='medium'] td
|
670
|
+
table[data-taco^='table'][data-table-row-height='medium'] td,
|
671
|
+
/* Footer should always have medium row height */
|
672
|
+
table[data-taco^='table'][data-table-row-height] tfoot td {
|
671
673
|
@apply min-h-[41px];
|
672
674
|
}
|
673
675
|
|
@@ -701,7 +703,11 @@ table[data-taco^='table'] td:not([data-cell-truncate='true']) {
|
|
701
703
|
|
702
704
|
/* FOOTER */
|
703
705
|
table[data-taco^='table'] tfoot td {
|
704
|
-
|
706
|
+
/*
|
707
|
+
* Since footer has sticky position, the top and bottom padding ensures that the inner content doesn't come over
|
708
|
+
* the border of the footer row.
|
709
|
+
*/
|
710
|
+
@apply border-b-0 !py-1 font-bold;
|
705
711
|
}
|
706
712
|
|
707
713
|
table[data-taco^='table'] tfoot td:before {
|
@@ -894,7 +900,7 @@ table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='Select2'
|
|
894
900
|
}
|
895
901
|
|
896
902
|
table[data-taco^='table'][data-table-font-size='medium'] td [data-taco='textarea'] {
|
897
|
-
@apply !pr-[5px];
|
903
|
+
@apply !-mb-[8px] !pr-[5px];
|
898
904
|
}
|
899
905
|
|
900
906
|
table[data-taco^='table'][data-table-font-size='medium'] td[data-cell-truncate='true'] [data-taco='textarea'] {
|
@@ -12,7 +12,6 @@ export declare function getCellAttributes<TType = unknown>(cell: ReactTableCell<
|
|
12
12
|
'data-cell-pinned': boolean | undefined;
|
13
13
|
'data-cell-truncate': boolean | undefined;
|
14
14
|
className: string | undefined;
|
15
|
-
style: {};
|
16
15
|
};
|
17
16
|
export declare function useSearchHighlighting<TType = unknown>(cell: ReactTableCell<TType, unknown>, cellIndex: number, ref: React.RefObject<HTMLTableCellElement>): true | "current" | undefined;
|
18
17
|
export declare function getCurrentRowCellElement(index: number, tableEl: HTMLElement): Element | null;
|
@@ -2,10 +2,11 @@ import { Table as ReactTable } from '@tanstack/react-table';
|
|
2
2
|
export declare function getSettings<TType = unknown>(table: ReactTable<TType>): {
|
3
3
|
columnOrder: import("@tanstack/react-table").ColumnOrderState | undefined;
|
4
4
|
columnPinning: import("@tanstack/react-table").ColumnPinningState;
|
5
|
-
columnSizing:
|
5
|
+
columnSizing: {};
|
6
6
|
columnVisibility: Record<string, boolean> | undefined;
|
7
7
|
excludeUnmatchedRecordsInSearch: boolean | undefined;
|
8
8
|
fontSize: "small" | "medium" | "large" | undefined;
|
9
9
|
rowHeight: "medium" | "short" | "tall" | "extra-tall" | undefined;
|
10
10
|
sorting: import("@tanstack/react-table").SortingState;
|
11
11
|
};
|
12
|
+
export declare function ignoreInternalColumns(data: object): {};
|
@@ -4572,12 +4572,12 @@ const defaultLocalisationTexts = {
|
|
4572
4572
|
},
|
4573
4573
|
validation: {
|
4574
4574
|
alert: {
|
4575
|
-
titleOne: '[COUNT] unsaved entry:
|
4576
|
-
titlePlural: '[COUNT] unsaved entries:
|
4575
|
+
titleOne: '[COUNT] unsaved entry:',
|
4576
|
+
titlePlural: '[COUNT] unsaved entries:',
|
4577
4577
|
messageOne: "[COLUMN] [ROW] is incomplete and hasn't been saved.",
|
4578
4578
|
messagePlural: "[COLUMN] [ROW] are incomplete and haven't been saved.",
|
4579
4579
|
messageRow: 'Row',
|
4580
|
-
messageAnd: '
|
4580
|
+
messageAnd: 'and'
|
4581
4581
|
},
|
4582
4582
|
resetFiltersDialog: {
|
4583
4583
|
title: 'Row is hidden',
|
@@ -9523,6 +9523,36 @@ function globalFilterFn(row, columnId, searchQuery) {
|
|
9523
9523
|
return false;
|
9524
9524
|
}
|
9525
9525
|
|
9526
|
+
function getSettings(table) {
|
9527
|
+
const meta = table.options.meta;
|
9528
|
+
const state = table.getState();
|
9529
|
+
return {
|
9530
|
+
// commented out properties are here to highlight things we explicitly don't want them saved
|
9531
|
+
//columnFilters: table.options.enableColumnFilters ? state.columnFilters : undefined,
|
9532
|
+
columnOrder: meta.columnOrdering.isEnabled ? state.columnOrder : undefined,
|
9533
|
+
columnPinning: state.columnPinning,
|
9534
|
+
columnSizing: ignoreInternalColumns(state.columnSizing),
|
9535
|
+
columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,
|
9536
|
+
excludeUnmatchedRecordsInSearch: table.options.enableGlobalFilter,
|
9537
|
+
fontSize: meta.fontSize.isEnabled ? meta.fontSize.size : undefined,
|
9538
|
+
//grouping: table.options.enableGrouping ? state.grouping : undefined,
|
9539
|
+
rowHeight: meta.rowHeight.isEnabled ? meta.rowHeight.height : undefined,
|
9540
|
+
//searchQuery: table.options.enableGlobalFilter ? state.globalFilter : undefined,
|
9541
|
+
sorting: state.sorting
|
9542
|
+
};
|
9543
|
+
}
|
9544
|
+
function ignoreInternalColumns(data) {
|
9545
|
+
return Object.keys(data).reduce((accum, key) => {
|
9546
|
+
if (isInternalColumn(key)) {
|
9547
|
+
return accum;
|
9548
|
+
}
|
9549
|
+
return {
|
9550
|
+
...accum,
|
9551
|
+
[key]: data[key]
|
9552
|
+
};
|
9553
|
+
}, {});
|
9554
|
+
}
|
9555
|
+
|
9526
9556
|
// mapping children to react-table columns
|
9527
9557
|
function processChildren(child, columns, defaultSizing, defaultSorting, defaultVisibility, settings, defaultRowGroupColumnId) {
|
9528
9558
|
const columnHelper = reactTable.createColumnHelper();
|
@@ -9608,7 +9638,10 @@ function processChildren(child, columns, defaultSizing, defaultSorting, defaultV
|
|
9608
9638
|
column.cell = info => renderer(info.getValue(), info.row.original);
|
9609
9639
|
}
|
9610
9640
|
if (typeof footer === 'function') {
|
9611
|
-
column.footer = info => footer(info.table.getRowModel().rows.
|
9641
|
+
column.footer = info => footer(info.table.getRowModel().rows.flatMap(row => {
|
9642
|
+
var _row$original;
|
9643
|
+
return ((_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original[id]) !== undefined ? [row.original[id]] : [];
|
9644
|
+
}));
|
9612
9645
|
}
|
9613
9646
|
// config - filtering
|
9614
9647
|
if (enableColumnFilter) {
|
@@ -9775,7 +9808,7 @@ function useReactTableInitialState(props, columns, persistedSettings, defaults)
|
|
9775
9808
|
columnFilters: (_ref2 = (_persistedSettings$co3 = persistedSettings.columnFilters) !== null && _persistedSettings$co3 !== void 0 ? _persistedSettings$co3 : (_props$defaultSetting3 = props.defaultSettings) === null || _props$defaultSetting3 === void 0 ? void 0 : _props$defaultSetting3.columnFilters) !== null && _ref2 !== void 0 ? _ref2 : [],
|
9776
9809
|
columnOrder,
|
9777
9810
|
columnPinning,
|
9778
|
-
columnSizing: (_ref3 = (_ref4 = (_persistedSettings$co4 = persistedSettings.columnSizing) !== null && _persistedSettings$co4 !== void 0 ? _persistedSettings$co4 : (_props$defaultSetting4 = props.defaultSettings) === null || _props$defaultSetting4 === void 0 ? void 0 : _props$defaultSetting4.columnSizing) !== null && _ref4 !== void 0 ? _ref4 : defaults.defaultSizing) !== null && _ref3 !== void 0 ? _ref3 : {},
|
9811
|
+
columnSizing: ignoreInternalColumns((_ref3 = (_ref4 = (_persistedSettings$co4 = persistedSettings.columnSizing) !== null && _persistedSettings$co4 !== void 0 ? _persistedSettings$co4 : (_props$defaultSetting4 = props.defaultSettings) === null || _props$defaultSetting4 === void 0 ? void 0 : _props$defaultSetting4.columnSizing) !== null && _ref4 !== void 0 ? _ref4 : defaults.defaultSizing) !== null && _ref3 !== void 0 ? _ref3 : {}),
|
9779
9812
|
columnVisibility: (_ref5 = (_ref6 = (_persistedSettings$co5 = persistedSettings.columnVisibility) !== null && _persistedSettings$co5 !== void 0 ? _persistedSettings$co5 : (_props$defaultSetting5 = props.defaultSettings) === null || _props$defaultSetting5 === void 0 ? void 0 : _props$defaultSetting5.columnVisibility) !== null && _ref6 !== void 0 ? _ref6 : defaults.defaultVisibility) !== null && _ref5 !== void 0 ? _ref5 : {},
|
9780
9813
|
globalFilter: (_persistedSettings$se = persistedSettings.searchQuery) !== null && _persistedSettings$se !== void 0 ? _persistedSettings$se : (_props$defaultSetting6 = props.defaultSettings) === null || _props$defaultSetting6 === void 0 ? void 0 : _props$defaultSetting6.searchQuery,
|
9781
9814
|
sorting: persistedSettings.sorting ? persistedSettings.sorting.filter(ignoreNotDefinedColumns) : (_props$defaultSetting7 = (_props$defaultSetting8 = props.defaultSettings) === null || _props$defaultSetting8 === void 0 ? void 0 : _props$defaultSetting8.sorting) !== null && _props$defaultSetting7 !== void 0 ? _props$defaultSetting7 : defaults.defaultSorting
|
@@ -10588,10 +10621,17 @@ function useTableFontSizeListener(table) {
|
|
10588
10621
|
const previousFontSizeRef = React__default.useRef(meta.fontSize.size);
|
10589
10622
|
useLazyEffect(() => {
|
10590
10623
|
const cellWidthDifference = getCellWidthDifference(`${previousFontSizeRef.current}-${meta.fontSize.size}`);
|
10624
|
+
const globalMinSize = getCellMinWidth(meta.fontSize.size);
|
10591
10625
|
table.setColumnSizing(sizes => {
|
10592
|
-
const minColumnSize = getCellMinWidth(meta.fontSize.size);
|
10593
10626
|
return Object.fromEntries(Object.entries(sizes).map(([columnName, prevColumnSize]) => {
|
10627
|
+
var _column$columnDef$min;
|
10628
|
+
const column = table.getColumn(columnName);
|
10629
|
+
if (isInternalColumn(columnName)) {
|
10630
|
+
var _column$getSize;
|
10631
|
+
return [columnName, (_column$getSize = column === null || column === void 0 ? void 0 : column.getSize()) !== null && _column$getSize !== void 0 ? _column$getSize : prevColumnSize];
|
10632
|
+
}
|
10594
10633
|
// Prevents width value in the setting to go below the minColumnSize
|
10634
|
+
const minColumnSize = (_column$columnDef$min = column === null || column === void 0 ? void 0 : column.columnDef.minSize) !== null && _column$columnDef$min !== void 0 ? _column$columnDef$min : globalMinSize;
|
10595
10635
|
const newSize = Math.max(minColumnSize, prevColumnSize + cellWidthDifference);
|
10596
10636
|
return [columnName, newSize];
|
10597
10637
|
}));
|
@@ -10705,25 +10745,6 @@ function useTableSearchListener(table) {
|
|
10705
10745
|
}, [meta.server.loadAllStatus, meta.search.isEnabled, meta.search.enableGlobalFilter, table.getRowModel().rows.length, table.getState().globalFilter, JSON.stringify(table.getState().sorting), JSON.stringify(table.getState().columnVisibility)]);
|
10706
10746
|
}
|
10707
10747
|
|
10708
|
-
function getSettings(table) {
|
10709
|
-
const meta = table.options.meta;
|
10710
|
-
const state = table.getState();
|
10711
|
-
return {
|
10712
|
-
// commented out properties are here to highlight things we explicitly don't want them saved
|
10713
|
-
//columnFilters: table.options.enableColumnFilters ? state.columnFilters : undefined,
|
10714
|
-
columnOrder: meta.columnOrdering.isEnabled ? state.columnOrder : undefined,
|
10715
|
-
columnPinning: state.columnPinning,
|
10716
|
-
columnSizing: state.columnSizing,
|
10717
|
-
columnVisibility: table.options.enableHiding ? state.columnVisibility : undefined,
|
10718
|
-
excludeUnmatchedRecordsInSearch: table.options.enableGlobalFilter,
|
10719
|
-
fontSize: meta.fontSize.isEnabled ? meta.fontSize.size : undefined,
|
10720
|
-
//grouping: table.options.enableGrouping ? state.grouping : undefined,
|
10721
|
-
rowHeight: meta.rowHeight.isEnabled ? meta.rowHeight.height : undefined,
|
10722
|
-
//searchQuery: table.options.enableGlobalFilter ? state.globalFilter : undefined,
|
10723
|
-
sorting: state.sorting
|
10724
|
-
};
|
10725
|
-
}
|
10726
|
-
|
10727
10748
|
function useTableSettingsListener(table, onChangeSettings) {
|
10728
10749
|
const meta = table.options.meta;
|
10729
10750
|
const state = table.getState();
|
@@ -10992,16 +11013,23 @@ function useTableStyleGrid(tableId, table, fontSize) {
|
|
10992
11013
|
|
10993
11014
|
function useTableStyleColumnFreezing(tableId, table) {
|
10994
11015
|
const {
|
10995
|
-
columnPinning
|
11016
|
+
columnPinning,
|
11017
|
+
columnSizing
|
10996
11018
|
} = table.getState();
|
10997
11019
|
const stylesheet = React__default.useMemo(() => {
|
10998
11020
|
const styles = [];
|
10999
11021
|
// might be a better way to get this information, but it wasn't obvious
|
11000
11022
|
const all = table.getFlatHeaders().filter(column => !column.subHeaders.length).map(x => x.id);
|
11001
|
-
const left = table.getLeftFlatHeaders().filter(column => !column.subHeaders.length)
|
11002
|
-
const right = table.getRightFlatHeaders().filter(column => !column.subHeaders.length)
|
11023
|
+
const left = table.getLeftFlatHeaders().filter(column => !column.subHeaders.length);
|
11024
|
+
const right = table.getRightFlatHeaders().filter(column => !column.subHeaders.length);
|
11003
11025
|
if (left.length) {
|
11004
|
-
|
11026
|
+
left.forEach(cell => {
|
11027
|
+
styles.push(`table[data-taco^='table']#${tableId} [data-cell-id="${cell.column.id}"] {
|
11028
|
+
left: ${cell.column.getStart(cell.column.getIsPinned())}px;
|
11029
|
+
}`);
|
11030
|
+
});
|
11031
|
+
const leftIds = left.map(x => x.id);
|
11032
|
+
const index = all.indexOf(leftIds[leftIds.length - 1]);
|
11005
11033
|
// add right border, hide the header seperator and add shadow when scrolled
|
11006
11034
|
// we have to be specific so that nested tables don't inherit the same css
|
11007
11035
|
styles.push(`table[data-taco^='table']#${tableId} > thead > tr > th:nth-child(${index + 1}),
|
@@ -11019,14 +11047,20 @@ function useTableStyleColumnFreezing(tableId, table) {
|
|
11019
11047
|
}`);
|
11020
11048
|
}
|
11021
11049
|
if (right.length) {
|
11022
|
-
|
11050
|
+
right.forEach(cell => {
|
11051
|
+
styles.push(`table[data-taco^='table']#${tableId} [data-cell-id="${cell.column.id}"] {
|
11052
|
+
right: ${cell.column.getStart(cell.column.getIsPinned())}px;
|
11053
|
+
}`);
|
11054
|
+
});
|
11055
|
+
const rightIds = right.map(x => x.id);
|
11056
|
+
const index = all.indexOf(rightIds[rightIds.length - 1]);
|
11023
11057
|
styles.push(`table[data-taco^='table']#${tableId} > thead > tr > th:nth-child(${index + 1}):not([data-cell-id^="__"]),
|
11024
11058
|
table[data-taco^='table']#${tableId} > tbody > tr > td:nth-child(${index + 1}):not([data-cell-id^="__"]) {
|
11025
11059
|
border-left-width: 1px;
|
11026
11060
|
}`);
|
11027
11061
|
}
|
11028
11062
|
return styles.join('\n');
|
11029
|
-
}, [columnPinning]);
|
11063
|
+
}, [columnPinning, columnSizing]);
|
11030
11064
|
return {
|
11031
11065
|
stylesheet
|
11032
11066
|
};
|
@@ -11847,20 +11881,16 @@ function useTable(props, externalRef, renderers, meta) {
|
|
11847
11881
|
function getCellAttributes(cell, index, isHighlighted) {
|
11848
11882
|
const columnMeta = cell.column.columnDef.meta;
|
11849
11883
|
const isPinned = cell.column.getIsPinned();
|
11850
|
-
|
11884
|
+
// be careful adding new properties here, any objects will break cell memoisation (e.g. the style attribute)
|
11885
|
+
return {
|
11851
11886
|
'data-cell-align': columnMeta === null || columnMeta === void 0 ? void 0 : columnMeta.align,
|
11852
11887
|
'data-cell-highlighted': isHighlighted,
|
11853
11888
|
'data-cell-id': cell.column.id,
|
11854
11889
|
'data-cell-index': index,
|
11855
11890
|
'data-cell-pinned': isPinned ? true : undefined,
|
11856
11891
|
'data-cell-truncate': columnMeta.enableTruncate ? true : undefined,
|
11857
|
-
className: typeof columnMeta.className === 'function' ? columnMeta.className(cell.row.original) : columnMeta.className
|
11858
|
-
style: {}
|
11892
|
+
className: typeof columnMeta.className === 'function' ? columnMeta.className(cell.row.original) : columnMeta.className
|
11859
11893
|
};
|
11860
|
-
if (isPinned) {
|
11861
|
-
attributes.style[isPinned] = `${cell.column.getStart(isPinned)}px`;
|
11862
|
-
}
|
11863
|
-
return attributes;
|
11864
11894
|
}
|
11865
11895
|
function useSearchHighlighting(cell, cellIndex, ref) {
|
11866
11896
|
const {
|
@@ -17968,6 +17998,7 @@ const TextareaWithAutosizing = /*#__PURE__*/React__default.forwardRef(function T
|
|
17968
17998
|
};
|
17969
17999
|
const handleFocus = event => {
|
17970
18000
|
var _props$onFocus;
|
18001
|
+
toggleHeight();
|
17971
18002
|
(_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, event);
|
17972
18003
|
};
|
17973
18004
|
const handleBlur = event => {
|
@@ -18453,9 +18484,13 @@ function Alert$1(props) {
|
|
18453
18484
|
const tableMeta = table.options.meta;
|
18454
18485
|
const [showFilterResetDialog, setShowFilterResetDialog] = React__default.useState(false);
|
18455
18486
|
const pendingChangesWithErrors = tableMeta.editing.getErrors();
|
18487
|
+
const activeRow = React__default.useMemo(() => tableMeta.rowActive.rowActiveIndex ? table.getRowModel().rows[tableMeta.rowActive.rowActiveIndex] : undefined, [tableMeta.rowActive.rowActiveIndex]);
|
18456
18488
|
// mark errors being rendered as seen
|
18457
18489
|
React__default.useEffect(() => {
|
18458
18490
|
pendingChangesWithErrors.forEach(error => {
|
18491
|
+
if (activeRow && error.rowId === activeRow.id) {
|
18492
|
+
return;
|
18493
|
+
}
|
18459
18494
|
tableMeta.editing.setRowErrorsSeen(error.rowId);
|
18460
18495
|
});
|
18461
18496
|
}, [pendingChangesWithErrors]);
|
@@ -18481,7 +18516,8 @@ function Alert$1(props) {
|
|
18481
18516
|
pendingChangesWithErrors.forEach((error, index) => {
|
18482
18517
|
// if appropriate, concatenate the item with the text "and"
|
18483
18518
|
if (pendingChangesWithErrors.length > 1 && index === pendingChangesWithErrors.length - 1) {
|
18484
|
-
|
18519
|
+
// Add space before and after `messageAnd` text
|
18520
|
+
links.push(` ${validationTexts.alert.messageAnd} `);
|
18485
18521
|
}
|
18486
18522
|
const rowIndex = table.getRowModel().rows.findIndex(row => row.id === error.rowId);
|
18487
18523
|
const handleClick = () => {
|
@@ -18539,7 +18575,7 @@ function Alert$1(props) {
|
|
18539
18575
|
state: "error"
|
18540
18576
|
}), /*#__PURE__*/React__default.createElement("span", {
|
18541
18577
|
className: "font-bold"
|
18542
|
-
}, title), message), /*#__PURE__*/React__default.createElement(FilterResetDialog, {
|
18578
|
+
}, title), "\u00A0", message), /*#__PURE__*/React__default.createElement(FilterResetDialog, {
|
18543
18579
|
open: showFilterResetDialog !== false,
|
18544
18580
|
onChange: () => setShowFilterResetDialog(false),
|
18545
18581
|
onSubmit: handleResetFilters
|