@powerhousedao/document-engineering 1.11.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/scalars/components/amount-field/amount-field-validations.d.ts +1 -1
- package/dist/src/scalars/components/amount-field/amount-field-validations.d.ts.map +1 -1
- package/dist/src/scalars/components/amount-field/amount-field-validations.js +1 -12
- package/dist/src/scalars/components/amount-field/amount-field-validations.js.map +1 -1
- package/dist/src/ui/components/data-entry/amount-input/amount-input.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/amount-input/amount-input.js +3 -5
- package/dist/src/ui/components/data-entry/amount-input/amount-input.js.map +1 -1
- package/dist/src/ui/components/data-entry/amount-input/utils.js +1 -1
- package/dist/src/ui/components/data-entry/amount-input/utils.js.map +1 -1
- package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.js +2 -2
- package/dist/src/ui/components/data-entry/currency-code-picker/currency-code-picker.js.map +1 -1
- package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.js +56 -21
- package/dist/src/ui/components/data-entry/input/subcomponent/text-diff.js.map +1 -1
- package/dist/src/ui/components/data-entry/number-input/use-number-input.js +2 -1
- package/dist/src/ui/components/data-entry/number-input/use-number-input.js.map +1 -1
- package/dist/src/ui/components/data-entry/select/command-list-item.d.ts +1 -1
- package/dist/src/ui/components/data-entry/select/command-list-item.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/select/command-list-item.js +2 -2
- package/dist/src/ui/components/data-entry/select/command-list-item.js.map +1 -1
- package/dist/src/ui/components/data-entry/select/content.d.ts +0 -1
- package/dist/src/ui/components/data-entry/select/content.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/select/content.js +5 -5
- package/dist/src/ui/components/data-entry/select/content.js.map +1 -1
- package/dist/src/ui/components/data-entry/select/select.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/select/select.js +3 -3
- package/dist/src/ui/components/data-entry/select/select.js.map +1 -1
- package/dist/src/ui/components/data-entry/select/selected-content.d.ts +0 -1
- package/dist/src/ui/components/data-entry/select/selected-content.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/select/selected-content.js +3 -3
- package/dist/src/ui/components/data-entry/select/selected-content.js.map +1 -1
- package/dist/src/ui/components/data-entry/select/types.d.ts +4 -4
- package/dist/src/ui/components/data-entry/select/types.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/url-input/types.d.ts +2 -4
- package/dist/src/ui/components/data-entry/url-input/types.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/url-input/url-input-diff.d.ts +1 -1
- package/dist/src/ui/components/data-entry/url-input/url-input-diff.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/url-input/url-input-diff.js +2 -2
- package/dist/src/ui/components/data-entry/url-input/url-input-diff.js.map +1 -1
- package/dist/src/ui/components/data-entry/url-input/url-input.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/url-input/url-input.js +2 -2
- package/dist/src/ui/components/data-entry/url-input/url-input.js.map +1 -1
- package/dist/src/ui/components/icon-components/ArrowDownUp.d.ts +7 -0
- package/dist/src/ui/components/icon-components/ArrowDownUp.d.ts.map +1 -0
- package/dist/src/ui/components/icon-components/ArrowDownUp.js +7 -0
- package/dist/src/ui/components/icon-components/ArrowDownUp.js.map +1 -0
- package/dist/src/ui/components/icon-components/index.d.ts +1 -1
- package/dist/src/ui/components/icon-components/index.d.ts.map +1 -1
- package/dist/src/ui/components/icon-components/index.js +3 -0
- package/dist/src/ui/components/icon-components/index.js.map +1 -1
- package/dist/src/ui/components/object-set-table/examples/api-usage/api-usage.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/examples/api-usage/api-usage.js +5 -2
- package/dist/src/ui/components/object-set-table/examples/api-usage/api-usage.js.map +1 -1
- package/dist/src/ui/components/object-set-table/examples/computed-columns/computed-columns.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/examples/computed-columns/computed-columns.js +1 -0
- package/dist/src/ui/components/object-set-table/examples/computed-columns/computed-columns.js.map +1 -1
- package/dist/src/ui/components/object-set-table/examples/custom-rendering/custom-rendering.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/examples/custom-rendering/custom-rendering.js +4 -1
- package/dist/src/ui/components/object-set-table/examples/custom-rendering/custom-rendering.js.map +1 -1
- package/dist/src/ui/components/object-set-table/index.d.ts +2 -0
- package/dist/src/ui/components/object-set-table/index.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/index.js +2 -0
- package/dist/src/ui/components/object-set-table/index.js.map +1 -1
- package/dist/src/ui/components/object-set-table/logic/selection-manager.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/logic/selection-manager.js +2 -0
- package/dist/src/ui/components/object-set-table/logic/selection-manager.js.map +1 -1
- package/dist/src/ui/components/object-set-table/logic/table-api.d.ts +33 -2
- package/dist/src/ui/components/object-set-table/logic/table-api.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/logic/table-api.js +53 -0
- package/dist/src/ui/components/object-set-table/logic/table-api.js.map +1 -1
- package/dist/src/ui/components/object-set-table/logic/types.d.ts +9 -1
- package/dist/src/ui/components/object-set-table/logic/types.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/mock-data.js +14 -14
- package/dist/src/ui/components/object-set-table/mock-data.js.map +1 -1
- package/dist/src/ui/components/object-set-table/object-set-table.d.ts +1 -1
- package/dist/src/ui/components/object-set-table/object-set-table.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/object-set-table.js +12 -5
- package/dist/src/ui/components/object-set-table/object-set-table.js.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/body.d.ts +2 -6
- package/dist/src/ui/components/object-set-table/subcomponents/body.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/body.js +7 -106
- package/dist/src/ui/components/object-set-table/subcomponents/body.js.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell.d.ts +11 -0
- package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell.d.ts.map +1 -0
- package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell.js +62 -0
- package/dist/src/ui/components/object-set-table/subcomponents/cells/render-cell.js.map +1 -0
- package/dist/src/ui/components/object-set-table/subcomponents/default-cell-renderers/get-render-fn.d.ts +2 -2
- package/dist/src/ui/components/object-set-table/subcomponents/default-cell-renderers/get-render-fn.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/default-cell-renderers/get-render-fn.js.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/default-fns/default-column-config.d.ts +2 -2
- package/dist/src/ui/components/object-set-table/subcomponents/default-fns/default-column-config.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/default-fns/default-column-config.js +2 -2
- package/dist/src/ui/components/object-set-table/subcomponents/default-fns/default-column-config.js.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/default-header-renderers/{default-header.renderer.d.ts → default-header-renderer.d.ts} +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/default-header-renderers/default-header-renderer.d.ts.map +1 -0
- package/dist/src/ui/components/object-set-table/subcomponents/default-header-renderers/default-header-renderer.js +36 -0
- package/dist/src/ui/components/object-set-table/subcomponents/default-header-renderers/default-header-renderer.js.map +1 -0
- package/dist/src/ui/components/object-set-table/subcomponents/default-sort-columns/default-sort-fns.d.ts +3 -0
- package/dist/src/ui/components/object-set-table/subcomponents/default-sort-columns/default-sort-fns.d.ts.map +1 -0
- package/dist/src/ui/components/object-set-table/subcomponents/default-sort-columns/default-sort-fns.js +17 -0
- package/dist/src/ui/components/object-set-table/subcomponents/default-sort-columns/default-sort-fns.js.map +1 -0
- package/dist/src/ui/components/object-set-table/subcomponents/header.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/header.js +32 -17
- package/dist/src/ui/components/object-set-table/subcomponents/header.js.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/rows/render-row.d.ts +9 -0
- package/dist/src/ui/components/object-set-table/subcomponents/rows/render-row.d.ts.map +1 -0
- package/dist/src/ui/components/object-set-table/subcomponents/rows/render-row.js +62 -0
- package/dist/src/ui/components/object-set-table/subcomponents/rows/render-row.js.map +1 -0
- package/dist/src/ui/components/object-set-table/subcomponents/sort-indicator.d.ts +7 -0
- package/dist/src/ui/components/object-set-table/subcomponents/sort-indicator.d.ts.map +1 -0
- package/dist/src/ui/components/object-set-table/subcomponents/sort-indicator.js +7 -0
- package/dist/src/ui/components/object-set-table/subcomponents/sort-indicator.js.map +1 -0
- package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.d.ts +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.js +2 -0
- package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.js.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.d.ts +19 -1
- package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.d.ts.map +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.js +49 -6
- package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.js.map +1 -1
- package/dist/src/ui/components/object-set-table/types.d.ts +64 -3
- package/dist/src/ui/components/object-set-table/types.d.ts.map +1 -1
- package/dist/style.css +252 -25
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/ui/components/object-set-table/subcomponents/default-header-renderers/default-header.renderer.d.ts.map +0 -1
- package/dist/src/ui/components/object-set-table/subcomponents/default-header-renderers/default-header.renderer.js +0 -16
- package/dist/src/ui/components/object-set-table/subcomponents/default-header-renderers/default-header.renderer.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { CellContext } from '../../types.js';
|
|
2
2
|
declare const defaultHeaderRenderer: <T, V = string>(value: V, context: CellContext<T>) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export { defaultHeaderRenderer };
|
|
4
|
-
//# sourceMappingURL=default-header
|
|
4
|
+
//# sourceMappingURL=default-header-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-header-renderer.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-header-renderers/default-header-renderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AA2CjD,QAAA,MAAM,qBAAqB,GAAI,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,4CAE9E,CAAA;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../../../scalars/lib/utils.js';
|
|
3
|
+
import { SortIndicator } from '../sort-indicator.js';
|
|
4
|
+
import { useInternalTableState } from '../table-provider/table-provider.js';
|
|
5
|
+
const DefaultHeaderContent = ({ value, context }) => {
|
|
6
|
+
const { state } = useInternalTableState();
|
|
7
|
+
let classes = '';
|
|
8
|
+
if (context.column.width)
|
|
9
|
+
classes += ` w-[${context.column.width}]`;
|
|
10
|
+
if (context.column.minWidth)
|
|
11
|
+
classes += ` min-w-[${context.column.minWidth}]`;
|
|
12
|
+
if (context.column.maxWidth)
|
|
13
|
+
classes += ` max-w-[${context.column.maxWidth}]`;
|
|
14
|
+
if (context.column.align) {
|
|
15
|
+
const align = context.column.align;
|
|
16
|
+
switch (align) {
|
|
17
|
+
case 'left':
|
|
18
|
+
classes += ' justify-start';
|
|
19
|
+
break;
|
|
20
|
+
case 'center':
|
|
21
|
+
classes += ' justify-center';
|
|
22
|
+
break;
|
|
23
|
+
case 'right':
|
|
24
|
+
classes += ' justify-end';
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const isSorted = context.columnIndex === state.sortState?.columnIndex;
|
|
29
|
+
const sortingDirection = state.sortState?.direction ?? null;
|
|
30
|
+
return (_jsxs("div", { className: cn('flex items-center gap-2', 'px-[12px] py-[15px] text-left text-[14px] font-medium leading-[14px] text-gray-500', classes), children: [_jsx("span", { children: value }), context.column.sortable && _jsx(SortIndicator, { direction: isSorted ? sortingDirection : null })] }));
|
|
31
|
+
};
|
|
32
|
+
const defaultHeaderRenderer = (value, context) => {
|
|
33
|
+
return _jsx(DefaultHeaderContent, { value: value, context: context });
|
|
34
|
+
};
|
|
35
|
+
export { defaultHeaderRenderer };
|
|
36
|
+
//# sourceMappingURL=default-header-renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-header-renderer.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-header-renderers/default-header-renderer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAA;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAE3E,MAAM,oBAAoB,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAA2C,EAAE,EAAE;IAC3F,MAAM,EAAE,KAAK,EAAE,GAAG,qBAAqB,EAAE,CAAA;IAEzC,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,CAAA;IACnE,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,IAAI,WAAW,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAA;IAC7E,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO,IAAI,WAAW,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAA;IAC7E,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;QAClC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,MAAM;gBACT,OAAO,IAAI,gBAAgB,CAAA;gBAC3B,MAAK;YACP,KAAK,QAAQ;gBACX,OAAO,IAAI,iBAAiB,CAAA;gBAC5B,MAAK;YACP,KAAK,OAAO;gBACV,OAAO,IAAI,cAAc,CAAA;gBACzB,MAAK;QACT,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,SAAS,EAAE,WAAW,CAAA;IACrE,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,EAAE,SAAS,IAAI,IAAI,CAAA;IAE3D,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,oFAAoF,EACpF,OAAO,CACR,aAED,yBAAO,KAAK,GAAQ,EACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAC,aAAa,IAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,GAAI,IACxF,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAgB,KAAQ,EAAE,OAAuB,EAAE,EAAE;IACjF,OAAO,KAAC,oBAAoB,IAAC,KAAK,EAAE,KAAe,EAAE,OAAO,EAAE,OAAO,GAAI,CAAA;AAC3E,CAAC,CAAA;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-sort-fns.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-sort-columns/default-sort-fns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAUxD,eAAO,MAAM,cAAc,GAAI,CAAC,GAAG,OAAO,EAAE,YAAY,UAAU,KAAG,MAAM,CAAC,CAAC,CAU5E,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const defaultSortNumberFn = (a, b) => {
|
|
2
|
+
return Number(a) - Number(b);
|
|
3
|
+
};
|
|
4
|
+
const defaultSortTextFn = (a, b) => {
|
|
5
|
+
return a.localeCompare(b);
|
|
6
|
+
};
|
|
7
|
+
export const defaultSortFns = (columnType) => {
|
|
8
|
+
switch (columnType) {
|
|
9
|
+
case 'number':
|
|
10
|
+
return defaultSortNumberFn;
|
|
11
|
+
case 'boolean':
|
|
12
|
+
case 'text':
|
|
13
|
+
default:
|
|
14
|
+
return defaultSortTextFn;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=default-sort-fns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-sort-fns.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/default-sort-columns/default-sort-fns.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;IACrD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAC9B,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE;IACnD,OAAQ,CAAY,CAAC,aAAa,CAAC,CAAW,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAc,UAAsB,EAAa,EAAE;IAC/E,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAA;QAE5B,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,iBAAiB,CAAA;IAC5B,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAwB,MAAM,OAAO,CAAA;AAErD,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,aAAa,CAAA;AAKzD,UAAU,gBAAgB;IACxB,OAAO,EAAE,SAAS,EAAE,CAAA;CACrB;AAED,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAiErC,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback } from 'react';
|
|
2
|
+
import { useCallback, useMemo } from 'react';
|
|
3
3
|
import { cn } from '../../../../scalars/lib/utils.js';
|
|
4
4
|
import { getColumnTitle } from '../utils.js';
|
|
5
5
|
import { HeaderNumberTd } from './header/header-number-td.js';
|
|
@@ -11,22 +11,37 @@ const TableHeader = ({ columns }) => {
|
|
|
11
11
|
return;
|
|
12
12
|
api.selection.toggleSelectAll();
|
|
13
13
|
}, [config.allowRowSelection, api.selection]);
|
|
14
|
-
const isAllRowsSelected = selectedRowIndexes.length ===
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
14
|
+
const isAllRowsSelected = selectedRowIndexes.length === api.getTotalRowsCount();
|
|
15
|
+
const columnHeaders = useMemo(() => {
|
|
16
|
+
return columns.map((column, columnIndex) => {
|
|
17
|
+
const cellContext = {
|
|
18
|
+
rowIndex: -1, // the header row has no row
|
|
19
|
+
row: undefined,
|
|
20
|
+
column,
|
|
21
|
+
columnIndex,
|
|
22
|
+
tableConfig: config,
|
|
23
|
+
};
|
|
24
|
+
const style = {
|
|
25
|
+
width: column.width ?? 'auto',
|
|
26
|
+
minWidth: column.minWidth ?? 'auto',
|
|
27
|
+
maxWidth: column.maxWidth ?? column.width ?? 'auto',
|
|
28
|
+
};
|
|
29
|
+
const onSort = () => {
|
|
30
|
+
if (!column.sortable)
|
|
31
|
+
return;
|
|
32
|
+
const tableState = api._getState();
|
|
33
|
+
if (tableState.sortState?.columnIndex === columnIndex) {
|
|
34
|
+
const nextDirection = tableState.sortState.direction === 'asc' ? 'desc' : null;
|
|
35
|
+
api.sortRows(columnIndex, nextDirection);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
api.sortRows(columnIndex, 'asc');
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
return (_jsx("th", { className: cn('group/header-cell', column.sortable ? 'cursor-pointer' : ''), style: style, onClick: onSort, children: column.renderHeader(getColumnTitle(column), cellContext) }, column.field));
|
|
42
|
+
});
|
|
43
|
+
}, [api, columns, config]);
|
|
44
|
+
return (_jsx("thead", { children: _jsxs("tr", { className: cn('border-gray-300', !selectedRowIndexes.includes(0) && 'border-b'), children: [_jsx(HeaderNumberTd, { isAllRowsSelected: isAllRowsSelected, handleSelectAllRows: handleSelectAllRows }), columnHeaders] }) }));
|
|
30
45
|
};
|
|
31
46
|
export { TableHeader };
|
|
32
47
|
//# sourceMappingURL=header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,WAAW,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DataType } from '../../types.js';
|
|
2
|
+
interface RenderRowProps<T extends DataType> {
|
|
3
|
+
item: T;
|
|
4
|
+
rowIndex: number;
|
|
5
|
+
emptyRow?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const RenderRow: <T extends DataType>({ item, rowIndex, emptyRow }: RenderRowProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export { RenderRow };
|
|
9
|
+
//# sourceMappingURL=render-row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-row.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/rows/render-row.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAO9C,UAAU,cAAc,CAAC,CAAC,SAAS,QAAQ;IACzC,IAAI,EAAE,CAAC,CAAA;IACP,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,QAAA,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,EAAE,8BAAsC,cAAc,CAAC,CAAC,CAAC,4CAsF7F,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
import { RowNumberCell } from '../cells/row-number-cell.js';
|
|
4
|
+
import { useInternalTableState } from '../table-provider/table-provider.js';
|
|
5
|
+
import { TableRow } from './table-row.js';
|
|
6
|
+
import { RenderCell } from '../cells/render-cell.js';
|
|
7
|
+
import { InformationCell } from '../cells/information-cell.js';
|
|
8
|
+
const RenderRow = ({ item, rowIndex, emptyRow = false }) => {
|
|
9
|
+
const { config, state: { selectedRowIndexes, selectedCellIndex }, api, } = useInternalTableState();
|
|
10
|
+
const { allowRowSelection } = config;
|
|
11
|
+
/**
|
|
12
|
+
* Create a handler for the click event on the table numbering cell
|
|
13
|
+
* This handler is used to select a row when the ctrl key is pressed
|
|
14
|
+
* or select single rows when the index is clicked
|
|
15
|
+
*/
|
|
16
|
+
const createSelectRowOnClickHandler = useCallback((index) => (e) => {
|
|
17
|
+
if (!allowRowSelection)
|
|
18
|
+
return;
|
|
19
|
+
if (e.ctrlKey || e.metaKey) {
|
|
20
|
+
e.stopPropagation();
|
|
21
|
+
api.selection.toggleRow(index);
|
|
22
|
+
}
|
|
23
|
+
else if (e.shiftKey) {
|
|
24
|
+
return; // just let the row handle it
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
api.selection.selectRow(index);
|
|
28
|
+
}
|
|
29
|
+
}, [allowRowSelection, api.selection]);
|
|
30
|
+
/**
|
|
31
|
+
* Create a handler for the click event on the table row
|
|
32
|
+
* This handler is used to select a row when the ctrl key is pressed
|
|
33
|
+
* in any other place other than the index cell or select a range of rows
|
|
34
|
+
* when the shift key is pressed
|
|
35
|
+
*/
|
|
36
|
+
const createAddSelectedRowHandler = useCallback((index) => (e) => {
|
|
37
|
+
if (!allowRowSelection)
|
|
38
|
+
return;
|
|
39
|
+
if (e.ctrlKey || e.metaKey) {
|
|
40
|
+
api.selection.toggleRow(index);
|
|
41
|
+
}
|
|
42
|
+
else if (e.shiftKey) {
|
|
43
|
+
// Prevent text selection when shift key is pressed
|
|
44
|
+
document.getSelection()?.removeAllRanges();
|
|
45
|
+
api.selection.selectFromLastActiveRow(index);
|
|
46
|
+
}
|
|
47
|
+
}, [allowRowSelection, api.selection]);
|
|
48
|
+
/**
|
|
49
|
+
* Prevent text selection when shift key is pressed so that we
|
|
50
|
+
* can select a range of rows while keeping a good user experience
|
|
51
|
+
*/
|
|
52
|
+
const handleMouseDown = useCallback((event) => {
|
|
53
|
+
if (event.shiftKey) {
|
|
54
|
+
document.getSelection()?.removeAllRanges();
|
|
55
|
+
}
|
|
56
|
+
}, []);
|
|
57
|
+
return (_jsxs(TableRow, { index: rowIndex, onClick: createAddSelectedRowHandler(rowIndex), onMouseDown: handleMouseDown, children: [_jsx(RowNumberCell, { index: rowIndex + 1, handleSelectRowOnClick: createSelectRowOnClickHandler(rowIndex), selected: selectedRowIndexes.includes(rowIndex) || selectedCellIndex?.row === rowIndex }), config.columns.map((column, columnIndex) => {
|
|
58
|
+
return (_jsx(RenderCell, { rowItem: item, column: column, rowIndex: rowIndex, columnIndex: columnIndex, renderEmptyCell: emptyRow }, column.field));
|
|
59
|
+
}), api.isEditable() && _jsx(InformationCell, {})] }));
|
|
60
|
+
};
|
|
61
|
+
export { RenderRow };
|
|
62
|
+
//# sourceMappingURL=render-row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-row.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/rows/render-row.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SortDirection } from '../types.js';
|
|
2
|
+
interface SortIndicatorProps {
|
|
3
|
+
direction: SortDirection | null;
|
|
4
|
+
}
|
|
5
|
+
declare const SortIndicator: ({ direction }: SortIndicatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export { SortIndicator };
|
|
7
|
+
//# sourceMappingURL=sort-indicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-indicator.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/sort-indicator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,UAAU,kBAAkB;IAC1B,SAAS,EAAE,aAAa,GAAG,IAAI,CAAA;CAChC;AAED,QAAA,MAAM,aAAa,GAAI,eAAe,kBAAkB,4CA8BvD,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../../scalars/lib/utils.js';
|
|
3
|
+
const SortIndicator = ({ direction }) => {
|
|
4
|
+
return (_jsxs("svg", { className: cn('text-gray-500 group-hover/header-cell:text-gray-600', direction === 'desc' && '[&_path:first-child]:stroke-gray-900', direction === 'asc' && '[&_path:last-child]:stroke-gray-900'), width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M14 10.6667L11.3333 13.3334M11.3333 13.3334L8.66666 10.6667M11.3333 13.3334V2.66675", stroke: "currentcolor", strokeWidth: "1.33", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M2 5.33341L4.66667 2.66675M4.66667 2.66675L7.33333 5.33341M4.66667 2.66675V13.3334", stroke: "currentcolor", strokeWidth: "1.33", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
5
|
+
};
|
|
6
|
+
export { SortIndicator };
|
|
7
|
+
//# sourceMappingURL=sort-indicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-indicator.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/sort-indicator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kCAAkC,CAAA;AAOrD,MAAM,aAAa,GAAG,CAAC,EAAE,SAAS,EAAsB,EAAE,EAAE;IAC1D,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,qDAAqD,EACrD,SAAS,KAAK,MAAM,IAAI,sCAAsC,EAC9D,SAAS,KAAK,KAAK,IAAI,qCAAqC,CAC7D,EACD,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,aAElC,eACE,CAAC,EAAC,qFAAqF,EACvF,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,MAAM,EAClB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,EACF,eACE,CAAC,EAAC,oFAAoF,EACtF,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,MAAM,EAClB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,IACE,CACP,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.d.ts
CHANGED
|
@@ -20,6 +20,6 @@ interface TableProviderProps<T extends DataType = DataType> {
|
|
|
20
20
|
tableRef: React.RefObject<HTMLTableElement>;
|
|
21
21
|
}
|
|
22
22
|
declare const TableProvider: <T extends DataType>({ children, config, tableRef }: TableProviderProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
-
declare const useInternalTableState: <T extends DataType =
|
|
23
|
+
declare const useInternalTableState: <T extends DataType = unknown>() => TableContextValue<T>;
|
|
24
24
|
export { TableProvider, useInternalTableState };
|
|
25
25
|
//# sourceMappingURL=table-provider.d.ts.map
|
package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-provider.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAsD,MAAM,OAAO,CAAA;AACzG,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAG7E,UAAU,iBAAiB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACvD,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAC/B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACpB,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAC3B,SAAS,EAAE,YAAY,CAAA;CACxB;AAID,UAAU,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACxD,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;CAC5C;AAED,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,EAAE,gCAAgC,kBAAkB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"table-provider.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAsD,MAAM,OAAO,CAAA;AACzG,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAG7E,UAAU,iBAAiB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACvD,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAC/B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACpB,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAA;IAC3B,SAAS,EAAE,YAAY,CAAA;CACxB;AAID,UAAU,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACxD,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAA;CAC5C;AAED,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,EAAE,gCAAgC,kBAAkB,CAAC,CAAC,CAAC,4CAgD/F,CAAA;AAED,QAAA,MAAM,qBAAqB,GAAI,CAAC,SAAS,QAAQ,GAAG,OAAO,2BAM1D,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAA"}
|
package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.js
CHANGED
|
@@ -7,6 +7,7 @@ const TableContext = createContext(null);
|
|
|
7
7
|
const TableProvider = ({ children, config, tableRef }) => {
|
|
8
8
|
const [state, dispatch] = useReducer((tableReducer), {
|
|
9
9
|
columns: config.columns,
|
|
10
|
+
defaultData: [...config.data],
|
|
10
11
|
data: config.data,
|
|
11
12
|
allowRowSelection: config.allowRowSelection ?? true,
|
|
12
13
|
showRowNumbers: config.showRowNumbers ?? true,
|
|
@@ -14,6 +15,7 @@ const TableProvider = ({ children, config, tableRef }) => {
|
|
|
14
15
|
lastSelectedRowIndex: null,
|
|
15
16
|
selectedCellIndex: null,
|
|
16
17
|
isCellEditMode: false,
|
|
18
|
+
sortState: null,
|
|
17
19
|
});
|
|
18
20
|
useEffect(() => {
|
|
19
21
|
dispatch({ type: 'SET_DISPATCH', payload: dispatch });
|
package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-provider.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEzG,OAAO,EAAE,YAAY,EAAmB,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AASnD,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAA;AAclE,MAAM,aAAa,GAAG,CAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAyB,EAAE,EAAE;IAClG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAA,YAAe,CAAA,EAAE;QACpD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;QACnD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,kBAAkB,EAAE,EAAE;QACtB,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"table-provider.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEzG,OAAO,EAAE,YAAY,EAAmB,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AASnD,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAA;AAclE,MAAM,aAAa,GAAG,CAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAyB,EAAE,EAAE;IAClG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAA,YAAe,CAAA,EAAE;QACpD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;QACnD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,kBAAkB,EAAE,EAAE;QACtB,oBAAoB,EAAE,IAAI;QAC1B,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,KAAK;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;IACvD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAA;QACxB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAA;IAC5B,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IAEnB,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAI,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;QAClE,MAAM,SAAS,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;QAEnD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAA;QACnC,CAAC;QAED,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IACjC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE7B,OAAO,CACL,KAAC,YAAY,CAAC,QAAQ,IACpB,KAAK,EAAE;YACL,MAAM;YACN,KAAK;YACL,GAAG;YACH,SAAS;SACV,YAEA,QAAQ,GACa,CACzB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,GAAiC,EAAE;IAC/D,MAAM,OAAO,GAAG,UAAU,CAA8B,YAAY,CAAC,CAAA;IACrE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAA"}
|
package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { ColumnDef, DataType, TableCellIndex } from '../../types.js';
|
|
1
|
+
import type { ColumnDef, DataType, ObjectSetTableConfig, SortDirection, TableCellIndex } from '../../types.js';
|
|
2
2
|
interface TableState<T extends DataType = DataType> {
|
|
3
3
|
dispatch?: React.Dispatch<TableAction<T>>;
|
|
4
|
+
defaultData: T[];
|
|
4
5
|
columns: ColumnDef[];
|
|
5
6
|
data: T[];
|
|
6
7
|
allowRowSelection: boolean;
|
|
@@ -9,6 +10,10 @@ interface TableState<T extends DataType = DataType> {
|
|
|
9
10
|
lastSelectedRowIndex: number | null;
|
|
10
11
|
selectedCellIndex: TableCellIndex | null;
|
|
11
12
|
isCellEditMode: boolean;
|
|
13
|
+
sortState: {
|
|
14
|
+
columnIndex: number;
|
|
15
|
+
direction: SortDirection;
|
|
16
|
+
} | null;
|
|
12
17
|
}
|
|
13
18
|
type TableAction<T extends DataType = DataType> = {
|
|
14
19
|
type: 'SET_DISPATCH';
|
|
@@ -33,8 +38,14 @@ type TableAction<T extends DataType = DataType> = {
|
|
|
33
38
|
};
|
|
34
39
|
} | {
|
|
35
40
|
type: 'TOGGLE_SELECT_ALL_ROWS';
|
|
41
|
+
payload: {
|
|
42
|
+
totalRows?: number;
|
|
43
|
+
};
|
|
36
44
|
} | {
|
|
37
45
|
type: 'SELECT_ALL_ROWS';
|
|
46
|
+
payload: {
|
|
47
|
+
totalRows?: number;
|
|
48
|
+
};
|
|
38
49
|
} | {
|
|
39
50
|
type: 'SELECT_ROW_RANGE';
|
|
40
51
|
payload: {
|
|
@@ -47,6 +58,13 @@ type TableAction<T extends DataType = DataType> = {
|
|
|
47
58
|
} | {
|
|
48
59
|
type: 'ENTER_CELL_EDIT_MODE';
|
|
49
60
|
payload: TableCellIndex;
|
|
61
|
+
} | {
|
|
62
|
+
type: 'SORT_COLUMN';
|
|
63
|
+
payload: {
|
|
64
|
+
columnIndex: number;
|
|
65
|
+
direction: SortDirection | null;
|
|
66
|
+
tableConfig: ObjectSetTableConfig<T>;
|
|
67
|
+
};
|
|
50
68
|
};
|
|
51
69
|
declare const tableReducer: <T extends DataType>(state: TableState<T>, action: TableAction<T>) => TableState<T>;
|
|
52
70
|
export { tableReducer };
|
package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-reducer.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"table-reducer.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE9G,UAAU,UAAU,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAChD,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzC,WAAW,EAAE,CAAC,EAAE,CAAA;IAEhB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,iBAAiB,EAAE,OAAO,CAAA;IAC1B,cAAc,EAAE,OAAO,CAAA;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IAEnC,iBAAiB,EAAE,cAAc,GAAG,IAAI,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IAEvB,SAAS,EAAE;QACT,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,aAAa,CAAA;KACzB,GAAG,IAAI,CAAA;CACT;AAED,KAAK,WAAW,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAC1C;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;CACxC,GACD;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,SAAS,EAAE,CAAA;CACrB,GACD;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,CAAC,EAAE,CAAA;CACb,GACD;IACE,IAAI,EAAE,eAAe,CAAA;IACrB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;KAC3B,CAAA;CACF,GAED;IACE,IAAI,EAAE,qBAAqB,CAAA;IAC3B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAC3D,GACD;IACE,IAAI,EAAE,wBAAwB,CAAA;IAC9B,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,GACD;IACE,IAAI,EAAE,iBAAiB,CAAA;IACvB,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,GACD;IACE,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;KACX,CAAA;CACF,GAED;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;CAC/B,GACD;IACE,IAAI,EAAE,sBAAsB,CAAA;IAC5B,OAAO,EAAE,cAAc,CAAA;CACxB,GAED;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE;QACP,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,aAAa,GAAG,IAAI,CAAA;QAC/B,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;KACrC,CAAA;CACF,CAAA;AAEL,QAAA,MAAM,YAAY,GAAI,CAAC,SAAS,QAAQ,EAAE,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,WAAW,CAAC,CAAC,CAAC,KAAG,UAAU,CAAC,CAAC,CA4JpG,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA"}
|
package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.js
CHANGED
|
@@ -41,25 +41,26 @@ const tableReducer = (state, action) => {
|
|
|
41
41
|
: [...state.selectedRowIndexes, action.payload.index],
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
|
-
case 'TOGGLE_SELECT_ALL_ROWS':
|
|
44
|
+
case 'TOGGLE_SELECT_ALL_ROWS': {
|
|
45
|
+
const totalRows = action.payload.totalRows ?? state.data.length;
|
|
45
46
|
return {
|
|
46
47
|
...state,
|
|
47
48
|
selectedCellIndex: null,
|
|
48
49
|
lastSelectedRowIndex: null,
|
|
49
|
-
selectedRowIndexes: state.selectedRowIndexes.length ===
|
|
50
|
-
? []
|
|
51
|
-
: Array.from({ length: state.data.length }, (_, index) => index),
|
|
50
|
+
selectedRowIndexes: state.selectedRowIndexes.length === totalRows ? [] : Array.from({ length: totalRows }, (_, index) => index),
|
|
52
51
|
};
|
|
52
|
+
}
|
|
53
53
|
case 'SELECT_ALL_ROWS': {
|
|
54
|
+
const totalRows = action.payload.totalRows ?? state.data.length;
|
|
54
55
|
// if all the rows are already selected, do nothing
|
|
55
|
-
if (state.selectedRowIndexes.length ===
|
|
56
|
+
if (state.selectedRowIndexes.length === totalRows) {
|
|
56
57
|
return { ...state };
|
|
57
58
|
}
|
|
58
59
|
return {
|
|
59
60
|
...state,
|
|
60
61
|
selectedCellIndex: null,
|
|
61
62
|
lastSelectedRowIndex: null,
|
|
62
|
-
selectedRowIndexes: Array.from({ length:
|
|
63
|
+
selectedRowIndexes: Array.from({ length: totalRows }, (_, index) => index),
|
|
63
64
|
};
|
|
64
65
|
}
|
|
65
66
|
case 'SELECT_ROW_RANGE': {
|
|
@@ -96,6 +97,48 @@ const tableReducer = (state, action) => {
|
|
|
96
97
|
isCellEditMode: true,
|
|
97
98
|
};
|
|
98
99
|
}
|
|
100
|
+
case 'SORT_COLUMN': {
|
|
101
|
+
const column = state.columns[action.payload.columnIndex];
|
|
102
|
+
const sortDirection = action.payload.direction;
|
|
103
|
+
const sortFn = column.rowComparator;
|
|
104
|
+
if (sortDirection === null) {
|
|
105
|
+
// do not sort the data, just use the default unsorted data
|
|
106
|
+
return {
|
|
107
|
+
...state,
|
|
108
|
+
data: [...state.defaultData],
|
|
109
|
+
sortState: null,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
const data = [...state.defaultData].sort((rowA, rowB) => {
|
|
113
|
+
const columnValueA = column.valueGetter(rowA, {
|
|
114
|
+
row: rowA,
|
|
115
|
+
rowIndex: -1,
|
|
116
|
+
column,
|
|
117
|
+
columnIndex: action.payload.columnIndex,
|
|
118
|
+
tableConfig: action.payload.tableConfig,
|
|
119
|
+
});
|
|
120
|
+
const columnValueB = column.valueGetter(rowB, {
|
|
121
|
+
row: rowB,
|
|
122
|
+
rowIndex: -1,
|
|
123
|
+
column,
|
|
124
|
+
columnIndex: action.payload.columnIndex,
|
|
125
|
+
tableConfig: action.payload.tableConfig,
|
|
126
|
+
});
|
|
127
|
+
return sortFn(columnValueA, columnValueB, {
|
|
128
|
+
tableConfig: action.payload.tableConfig,
|
|
129
|
+
columnDef: column,
|
|
130
|
+
data: state.data,
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
return {
|
|
134
|
+
...state,
|
|
135
|
+
data: sortDirection === 'asc' ? data : data.reverse(),
|
|
136
|
+
sortState: {
|
|
137
|
+
columnIndex: action.payload.columnIndex,
|
|
138
|
+
direction: sortDirection,
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
99
142
|
default:
|
|
100
143
|
return state;
|
|
101
144
|
}
|
package/dist/src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-reducer.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table-reducer.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/table-provider/table-reducer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -27,8 +27,15 @@ export interface ObjectSetTableConfig<T> {
|
|
|
27
27
|
* @default "auto"
|
|
28
28
|
*/
|
|
29
29
|
width?: React.CSSProperties['width'];
|
|
30
|
+
/**
|
|
31
|
+
* The minimum number of rows to display in the table. If the data is less than this number,
|
|
32
|
+
* the table will add empty rows to reach the minimum.
|
|
33
|
+
*
|
|
34
|
+
* @default 0
|
|
35
|
+
*/
|
|
36
|
+
minRowCount?: number;
|
|
30
37
|
}
|
|
31
|
-
export type
|
|
38
|
+
export type ColumnType = 'text' | 'number' | 'boolean';
|
|
32
39
|
export interface CellContext<T = any> {
|
|
33
40
|
/**
|
|
34
41
|
* The row object.
|
|
@@ -51,6 +58,35 @@ export interface CellContext<T = any> {
|
|
|
51
58
|
*/
|
|
52
59
|
tableConfig: ObjectSetTableConfig<T>;
|
|
53
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* A function that compares two values.
|
|
63
|
+
*
|
|
64
|
+
* @param a The first value.
|
|
65
|
+
* @param b The second value.
|
|
66
|
+
* @param context The sort context.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
*/
|
|
70
|
+
export type SortFn<T = unknown> = (a: unknown, b: unknown, context: SortableColumnContext<T>) => number;
|
|
71
|
+
/**
|
|
72
|
+
* The context for a sortable column.
|
|
73
|
+
*
|
|
74
|
+
* @param T The type of the row object.
|
|
75
|
+
*/
|
|
76
|
+
export interface SortableColumnContext<T = unknown> {
|
|
77
|
+
/**
|
|
78
|
+
* The table configuration.
|
|
79
|
+
*/
|
|
80
|
+
tableConfig: ObjectSetTableConfig<T>;
|
|
81
|
+
/**
|
|
82
|
+
* The column definition.
|
|
83
|
+
*/
|
|
84
|
+
columnDef: ColumnDef<T>;
|
|
85
|
+
/**
|
|
86
|
+
* The data.
|
|
87
|
+
*/
|
|
88
|
+
data: T[];
|
|
89
|
+
}
|
|
54
90
|
/**
|
|
55
91
|
* A function that returns a value from a row object.
|
|
56
92
|
*
|
|
@@ -117,7 +153,32 @@ export type RenderHeaderFn<T, V = string> = (value: V, context: CellContext<T>)
|
|
|
117
153
|
* @returns Whether the value was saved.
|
|
118
154
|
*/
|
|
119
155
|
export type OnCellSaveFn<TData, TCellValue> = (newValue: TCellValue, context: CellContext<TData>) => boolean;
|
|
120
|
-
export
|
|
156
|
+
export type SortDirection = 'asc' | 'desc';
|
|
157
|
+
export interface SortableColumnDef<T = unknown> {
|
|
158
|
+
/**
|
|
159
|
+
* Whether the column is sortable.
|
|
160
|
+
*
|
|
161
|
+
* @default false
|
|
162
|
+
*/
|
|
163
|
+
sortable?: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* The default sort direction, only one column can be sorted at a time.
|
|
166
|
+
*/
|
|
167
|
+
defaultSortDirection?: SortDirection;
|
|
168
|
+
/**
|
|
169
|
+
* A function that compares two rows.
|
|
170
|
+
*
|
|
171
|
+
* @default The value is compared using the `rowComparator` function.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```ts
|
|
175
|
+
* const rowComparator = (a: unknown, b: unknown, context: SortableColumnContext<T>) => {
|
|
176
|
+
* return (a as number) - (b as number)
|
|
177
|
+
* }
|
|
178
|
+
*/
|
|
179
|
+
rowComparator?: SortFn<T>;
|
|
180
|
+
}
|
|
181
|
+
export interface ColumnDef<T = any> extends SortableColumnDef<T> {
|
|
121
182
|
/**
|
|
122
183
|
* The field from the row object to display in the column.
|
|
123
184
|
* You can use dot notation to access nested fields.
|
|
@@ -182,7 +243,7 @@ export interface ColumnDef<T = any> {
|
|
|
182
243
|
*
|
|
183
244
|
* @default "text"
|
|
184
245
|
*/
|
|
185
|
-
type?:
|
|
246
|
+
type?: ColumnType;
|
|
186
247
|
/**
|
|
187
248
|
* A function that returns the value to display in the column.
|
|
188
249
|
* If this is provided, the `field` property is ignored.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IAEpD;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5B;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,CAAA;IAET;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/types.ts"],"names":[],"mappings":"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"}
|