@powerhousedao/document-engineering 1.10.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/scalars/components/fragments/id-autocomplete/use-id-autocomplete.js +1 -1
- package/dist/src/scalars/components/fragments/id-autocomplete/use-id-autocomplete.js.map +1 -1
- package/dist/src/scalars/components/fragments/radio-group-field/radio-group-field.d.ts +1 -0
- package/dist/src/scalars/components/fragments/radio-group-field/radio-group-field.d.ts.map +1 -1
- package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.js +2 -2
- package/dist/src/scalars/components/fragments/with-field-validation/with-field-validation.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/radio-group/radio-group.d.ts +2 -1
- package/dist/src/ui/components/data-entry/radio-group/radio-group.d.ts.map +1 -1
- package/dist/src/ui/components/data-entry/radio-group/radio-group.js +2 -2
- package/dist/src/ui/components/data-entry/radio-group/radio-group.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 +491 -35
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-manager.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/selection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAE5E,cAAM,gBAAgB,CAAC,KAAK,CAAE,YAAW,qBAAqB;IAChD,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC;IAEnD;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,cAAc;IAId;;OAEG;IACH,iBAAiB;IAIjB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM;IAS1B;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM;IAS1B;;;;OAIG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IAkBxC;;OAEG;IACH,aAAa;
|
|
1
|
+
{"version":3,"file":"selection-manager.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/selection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAE5E,cAAM,gBAAgB,CAAC,KAAK,CAAE,YAAW,qBAAqB;IAChD,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC;IAEnD;;OAEG;IACH,aAAa;IAIb;;OAEG;IACH,cAAc;IAId;;OAEG;IACH,iBAAiB;IAIjB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM;IAS1B;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM;IAS1B;;;;OAIG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IAkBxC;;OAEG;IACH,aAAa;IASb;;OAEG;IACH,eAAe;IASf;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IASpC;;;;;OAKG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAShD;;OAEG;IACH,kBAAkB;IAIlB;;OAEG;IACH,KAAK;CAGN;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -75,6 +75,7 @@ class SelectionManager {
|
|
|
75
75
|
return;
|
|
76
76
|
this.api._getState().dispatch?.({
|
|
77
77
|
type: 'SELECT_ALL_ROWS',
|
|
78
|
+
payload: { totalRows: this.api.getTotalRowsCount() },
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
81
|
/**
|
|
@@ -85,6 +86,7 @@ class SelectionManager {
|
|
|
85
86
|
return;
|
|
86
87
|
this.api._getState().dispatch?.({
|
|
87
88
|
type: 'TOGGLE_SELECT_ALL_ROWS',
|
|
89
|
+
payload: { totalRows: this.api.getTotalRowsCount() },
|
|
88
90
|
});
|
|
89
91
|
}
|
|
90
92
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-manager.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/selection-manager.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB;IACA;IAApB,YAAoB,GAA+B;QAA/B,QAAG,GAAH,GAAG,CAA4B;IAAG,CAAC;IAEvD;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,iBAAiB,IAAI,IAAI,CAAA;IACxD,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,iBAAiB,IAAI,IAAI,CAAA;IACxD,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,iBAAiB,KAAK,IAAI,CAAA;IACxD,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,QAAgB;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAM;QAEjC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;SACzD,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,QAAgB;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAM;QAEjC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAC7B,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,QAAgB;QACtC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAM;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAA;QAClC,MAAM,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,CAAA;QAEpD,+DAA+D;QAC/D,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YACxB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE;SACnD,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE,OAAM;QAEjC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"selection-manager.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/selection-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { RefObject } from 'react';
|
|
2
2
|
import type { TableState } from '../subcomponents/table-provider/table-reducer.js';
|
|
3
|
-
import type { CellContext, ObjectSetTableConfig } from '../types.js';
|
|
3
|
+
import type { CellContext, ObjectSetTableConfig, SortDirection } from '../types.js';
|
|
4
4
|
import { SelectionManager } from './selection-manager.js';
|
|
5
|
-
import type { PrivateTableApiBase } from './types.js';
|
|
5
|
+
import type { PrivateTableApiBase, SortingInfo } from './types.js';
|
|
6
6
|
declare class TableApi<TData> implements PrivateTableApiBase<TData> {
|
|
7
7
|
private readonly tableRef;
|
|
8
8
|
private readonly configRef;
|
|
@@ -18,6 +18,12 @@ declare class TableApi<TData> implements PrivateTableApiBase<TData> {
|
|
|
18
18
|
* @returns The HTML table element
|
|
19
19
|
*/
|
|
20
20
|
getHTMLTable(): HTMLTableElement | null;
|
|
21
|
+
/**
|
|
22
|
+
* Returns the total number of rows in the table, including the empty rows
|
|
23
|
+
*
|
|
24
|
+
* @returns The total number of rows in the table
|
|
25
|
+
*/
|
|
26
|
+
getTotalRowsCount(): number;
|
|
21
27
|
/**
|
|
22
28
|
* Checks if the cell at the given row and column can be edited
|
|
23
29
|
*
|
|
@@ -32,6 +38,12 @@ declare class TableApi<TData> implements PrivateTableApiBase<TData> {
|
|
|
32
38
|
* @returns `true` if the table is in cell edit mode, `false` otherwise
|
|
33
39
|
*/
|
|
34
40
|
isEditing(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Checks if at least one column is editable
|
|
43
|
+
*
|
|
44
|
+
* @returns `true` if the table is editable, `false` otherwise
|
|
45
|
+
*/
|
|
46
|
+
isEditable(): boolean;
|
|
35
47
|
/**
|
|
36
48
|
* Checks if the table is currently in cell edit mode for the given cell
|
|
37
49
|
*
|
|
@@ -53,6 +65,25 @@ declare class TableApi<TData> implements PrivateTableApiBase<TData> {
|
|
|
53
65
|
* @param save - Whether to save the changes made in the cell
|
|
54
66
|
*/
|
|
55
67
|
exitCellEditMode(save?: boolean): void;
|
|
68
|
+
/**
|
|
69
|
+
* Sorts the rows by the given column index and direction
|
|
70
|
+
*
|
|
71
|
+
* @param columnIndex - The index of the column to sort
|
|
72
|
+
* @param direction - The direction to sort the rows. Null if the sorting should be removed
|
|
73
|
+
*/
|
|
74
|
+
sortRows(columnIndex: number, direction: SortDirection | null): void;
|
|
75
|
+
/**
|
|
76
|
+
* Returns the sorting information.
|
|
77
|
+
*
|
|
78
|
+
* @returns The sorting information. `null` if no sorting is applied.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```tsx
|
|
82
|
+
* const sortingInfo = apiRef.current?.getCurrentSortInfo()
|
|
83
|
+
* console.log(sortingInfo) // { columnIndex: 0, direction: 'asc' }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
getCurrentSortInfo(): SortingInfo | null;
|
|
56
87
|
}
|
|
57
88
|
export { TableApi };
|
|
58
89
|
//# sourceMappingURL=table-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-api.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/table-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"table-api.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/table-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAElE,cAAM,QAAQ,CAAC,KAAK,CAAE,YAAW,mBAAmB,CAAC,KAAK,CAAC;IAIvD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,SAAgB,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBAG/B,QAAQ,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACrC,SAAS,EAAE,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,EACjD,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAKzD,UAAU,IAAI,oBAAoB,CAAC,KAAK,CAAC;IAIzC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC;IAI9B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;IAUnE;;;;OAIG;IACH,YAAY,IAAI,gBAAgB,GAAG,IAAI;IAIvC;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;IAY3B;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIjD;;;;OAIG;IACH,SAAS;IAIT;;;;OAIG;IACH,UAAU;IAIV;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQzC;;;;;OAKG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAS7C;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,UAAO;IA+B5B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAa7D;;;;;;;;;;OAUG;IACH,kBAAkB,IAAI,WAAW,GAAG,IAAI;CAGzC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -34,6 +34,19 @@ class TableApi {
|
|
|
34
34
|
getHTMLTable() {
|
|
35
35
|
return this.tableRef.current;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Returns the total number of rows in the table, including the empty rows
|
|
39
|
+
*
|
|
40
|
+
* @returns The total number of rows in the table
|
|
41
|
+
*/
|
|
42
|
+
getTotalRowsCount() {
|
|
43
|
+
const state = this._getState();
|
|
44
|
+
const minRowCount = this._getConfig().minRowCount ?? 0;
|
|
45
|
+
if (state.data.length >= minRowCount) {
|
|
46
|
+
return state.data.length;
|
|
47
|
+
}
|
|
48
|
+
return this._getState().data.length + ((this._getConfig().minRowCount ?? 0) - this._getState().data.length);
|
|
49
|
+
}
|
|
37
50
|
// cell editing
|
|
38
51
|
/**
|
|
39
52
|
* Checks if the cell at the given row and column can be edited
|
|
@@ -53,6 +66,14 @@ class TableApi {
|
|
|
53
66
|
isEditing() {
|
|
54
67
|
return this._getState().isCellEditMode;
|
|
55
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Checks if at least one column is editable
|
|
71
|
+
*
|
|
72
|
+
* @returns `true` if the table is editable, `false` otherwise
|
|
73
|
+
*/
|
|
74
|
+
isEditable() {
|
|
75
|
+
return this._getConfig().columns.some((column) => column.editable);
|
|
76
|
+
}
|
|
56
77
|
/**
|
|
57
78
|
* Checks if the table is currently in cell edit mode for the given cell
|
|
58
79
|
*
|
|
@@ -105,6 +126,38 @@ class TableApi {
|
|
|
105
126
|
this.selection.selectCell(nextCell.row, nextCell.column);
|
|
106
127
|
}
|
|
107
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Sorts the rows by the given column index and direction
|
|
131
|
+
*
|
|
132
|
+
* @param columnIndex - The index of the column to sort
|
|
133
|
+
* @param direction - The direction to sort the rows. Null if the sorting should be removed
|
|
134
|
+
*/
|
|
135
|
+
sortRows(columnIndex, direction) {
|
|
136
|
+
if (direction === null) {
|
|
137
|
+
this._getState().dispatch?.({
|
|
138
|
+
type: 'SORT_COLUMN',
|
|
139
|
+
payload: { columnIndex, direction: 'asc', tableConfig: this._getConfig() },
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
this._getState().dispatch?.({
|
|
143
|
+
type: 'SORT_COLUMN',
|
|
144
|
+
payload: { columnIndex, direction, tableConfig: this._getConfig() },
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Returns the sorting information.
|
|
149
|
+
*
|
|
150
|
+
* @returns The sorting information. `null` if no sorting is applied.
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```tsx
|
|
154
|
+
* const sortingInfo = apiRef.current?.getCurrentSortInfo()
|
|
155
|
+
* console.log(sortingInfo) // { columnIndex: 0, direction: 'asc' }
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
getCurrentSortInfo() {
|
|
159
|
+
return this._getState().sortState;
|
|
160
|
+
}
|
|
108
161
|
}
|
|
109
162
|
export { TableApi };
|
|
110
163
|
//# sourceMappingURL=table-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-api.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/table-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-api.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/table-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import type { CellContext, ObjectSetTableConfig } from '../types.js';
|
|
1
|
+
import type { CellContext, ObjectSetTableConfig, SortDirection } from '../types.js';
|
|
2
2
|
import type { TableState } from '../subcomponents/table-provider/table-reducer.js';
|
|
3
|
+
export interface SortingInfo {
|
|
4
|
+
columnIndex: number;
|
|
5
|
+
direction: SortDirection;
|
|
6
|
+
}
|
|
3
7
|
export interface TableSelectionManager {
|
|
4
8
|
canSelectRows(): boolean;
|
|
5
9
|
canSelectCells(): boolean;
|
|
@@ -17,11 +21,15 @@ export interface TableSelectionManager {
|
|
|
17
21
|
export interface TableApiBase {
|
|
18
22
|
selection: TableSelectionManager;
|
|
19
23
|
getHTMLTable(): HTMLTableElement | null;
|
|
24
|
+
getTotalRowsCount(): number;
|
|
25
|
+
isEditable(): boolean;
|
|
20
26
|
canEditCell(row: number, column: number): boolean;
|
|
21
27
|
isEditing(): boolean;
|
|
22
28
|
isEditingCell(row: number, column: number): boolean;
|
|
23
29
|
enterCellEditMode(row: number, column: number): void;
|
|
24
30
|
exitCellEditMode(save?: boolean): void;
|
|
31
|
+
sortRows(columnIndex: number, direction: SortDirection | null): void;
|
|
32
|
+
getCurrentSortInfo(): SortingInfo | null;
|
|
25
33
|
}
|
|
26
34
|
export interface PrivateTableApiBase<TData> extends TableApiBase {
|
|
27
35
|
_getConfig(): ObjectSetTableConfig<TData>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/logic/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kDAAkD,CAAA;AAElF,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,aAAa,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,IAAI,OAAO,CAAA;IACxB,cAAc,IAAI,OAAO,CAAA;IACzB,iBAAiB,IAAI,OAAO,CAAA;IAE5B,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/C,aAAa,IAAI,IAAI,CAAA;IACrB,eAAe,IAAI,IAAI,CAAA;IACvB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAE3C,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvD,kBAAkB,IAAI,IAAI,CAAA;IAC1B,KAAK,IAAI,IAAI,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAE3B,SAAS,EAAE,qBAAqB,CAAA;IAGhC,YAAY,IAAI,gBAAgB,GAAG,IAAI,CAAA;IACvC,iBAAiB,IAAI,MAAM,CAAA;IAG3B,UAAU,IAAI,OAAO,CAAA;IACrB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IACjD,SAAS,IAAI,OAAO,CAAA;IACpB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;IACnD,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACpD,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAGtC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAAA;IACpE,kBAAkB,IAAI,WAAW,GAAG,IAAI,CAAA;CACzC;AAED,MAAM,WAAW,mBAAmB,CAAC,KAAK,CAAE,SAAQ,YAAY;IAC9D,UAAU,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAA;IACzC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IAC9B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;CACpE"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export const mockData = [
|
|
2
2
|
{
|
|
3
|
-
firstName: '
|
|
3
|
+
firstName: 'Alice',
|
|
4
4
|
walletAddress: '0x1234567890abcdef',
|
|
5
5
|
isActive: true,
|
|
6
6
|
payment: 100,
|
|
7
|
-
email: '
|
|
7
|
+
email: 'alice@example.com',
|
|
8
8
|
status: 'active',
|
|
9
9
|
address: {
|
|
10
10
|
addressLine1: '123 Main St',
|
|
@@ -15,11 +15,11 @@ export const mockData = [
|
|
|
15
15
|
},
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
firstName: '
|
|
18
|
+
firstName: 'Bob',
|
|
19
19
|
walletAddress: '0x1234567890abcdef',
|
|
20
20
|
isActive: false,
|
|
21
21
|
payment: 1065460,
|
|
22
|
-
email: '
|
|
22
|
+
email: 'bob@example.com',
|
|
23
23
|
status: 'inactive',
|
|
24
24
|
address: {
|
|
25
25
|
addressLine1: '123 Main St',
|
|
@@ -30,11 +30,11 @@ export const mockData = [
|
|
|
30
30
|
},
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
|
-
firstName: '
|
|
33
|
+
firstName: 'Charlie',
|
|
34
34
|
walletAddress: '0x1234567890abcdef',
|
|
35
35
|
isActive: true,
|
|
36
36
|
payment: 14522,
|
|
37
|
-
email: '
|
|
37
|
+
email: 'charlie@example.com',
|
|
38
38
|
status: 'active',
|
|
39
39
|
address: {
|
|
40
40
|
addressLine1: '123 Main St',
|
|
@@ -45,11 +45,11 @@ export const mockData = [
|
|
|
45
45
|
},
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
|
-
firstName: '
|
|
48
|
+
firstName: 'Diana',
|
|
49
49
|
walletAddress: '0x1234567890abcdef',
|
|
50
50
|
isActive: false,
|
|
51
51
|
payment: 11231200,
|
|
52
|
-
email: '
|
|
52
|
+
email: 'diana@example.com',
|
|
53
53
|
status: 'inactive',
|
|
54
54
|
address: {
|
|
55
55
|
addressLine1: '123 Main St',
|
|
@@ -60,11 +60,11 @@ export const mockData = [
|
|
|
60
60
|
},
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
|
-
firstName: '
|
|
63
|
+
firstName: 'Edward',
|
|
64
64
|
walletAddress: '0x1234567890abcdef',
|
|
65
65
|
isActive: true,
|
|
66
66
|
payment: 10234234230,
|
|
67
|
-
email: '
|
|
67
|
+
email: 'edward@example.com',
|
|
68
68
|
status: 'active',
|
|
69
69
|
address: {
|
|
70
70
|
addressLine1: '123 Main St',
|
|
@@ -75,11 +75,11 @@ export const mockData = [
|
|
|
75
75
|
},
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
|
-
firstName: '
|
|
78
|
+
firstName: 'Fiona',
|
|
79
79
|
walletAddress: '0x1234567890abcdef',
|
|
80
80
|
isActive: true,
|
|
81
81
|
payment: 0,
|
|
82
|
-
email: '
|
|
82
|
+
email: 'fiona@example.com',
|
|
83
83
|
status: 'inactive',
|
|
84
84
|
address: {
|
|
85
85
|
addressLine1: '123 Main St',
|
|
@@ -90,11 +90,11 @@ export const mockData = [
|
|
|
90
90
|
},
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
|
-
firstName: '
|
|
93
|
+
firstName: 'Alex',
|
|
94
94
|
walletAddress: '0x1234567890abcdef',
|
|
95
95
|
isActive: true,
|
|
96
96
|
payment: 15,
|
|
97
|
-
email: '
|
|
97
|
+
email: 'alex@example.com',
|
|
98
98
|
status: 'inactive',
|
|
99
99
|
address: {
|
|
100
100
|
addressLine1: '123 Main St',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-data.js","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/mock-data.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC;QACE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"mock-data.js","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/mock-data.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC;QACE,SAAS,EAAE,OAAO;QAClB,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,GAAG;QACZ,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,YAAY,EAAE,aAAa;YAC3B,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,OAAO;SACb;KACF;IACD;QACE,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE;YACP,YAAY,EAAE,aAAa;YAC3B,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,OAAO;SACb;KACF;IACD;QACE,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,qBAAqB;QAC5B,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,YAAY,EAAE,aAAa;YAC3B,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,OAAO;SACb;KACF;IACD;QACE,SAAS,EAAE,OAAO;QAClB,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE;YACP,YAAY,EAAE,aAAa;YAC3B,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,OAAO;SACb;KACF;IACD;QACE,SAAS,EAAE,QAAQ;QACnB,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,YAAY,EAAE,aAAa;YAC3B,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,OAAO;SACb;KACF;IACD;QACE,SAAS,EAAE,OAAO;QAClB,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE;YACP,YAAY,EAAE,aAAa;YAC3B,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,OAAO;SACb;KACF;IACD;QACE,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE;YACP,YAAY,EAAE,aAAa;YAC3B,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,OAAO;SACb;KACF;CACF,CAAA"}
|
|
@@ -7,6 +7,6 @@ import type { DataType, ObjectSetTableConfig } from './types.js';
|
|
|
7
7
|
* @param allowRowSelection Whether to allow row selection.
|
|
8
8
|
* @param showRowNumbers Whether to show row numbers.
|
|
9
9
|
*/
|
|
10
|
-
declare const ObjectSetTable: <T extends DataType = DataType>(
|
|
10
|
+
declare const ObjectSetTable: <T extends DataType = DataType>(config: ObjectSetTableConfig<T>) => import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export { ObjectSetTable };
|
|
12
12
|
//# sourceMappingURL=object-set-table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-set-table.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/object-set-table.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"object-set-table.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/object-set-table.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAc,QAAQ,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAK5E;;;;;;;GAOG;AACH,QAAA,MAAM,cAAc,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,oBAAoB,CAAC,CAAC,CAAC,4CAqDrF,CAAA;AAED,OAAO,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -8,7 +8,8 @@ import { TableHeader } from './subcomponents/header.js';
|
|
|
8
8
|
import { TableFocusTrap } from './subcomponents/table-focus-trap.js';
|
|
9
9
|
import { TableProvider } from './subcomponents/table-provider/table-provider.js';
|
|
10
10
|
import { defaultColumnAlignment } from './subcomponents/default-fns/default-column-config.js';
|
|
11
|
-
import { defaultHeaderRenderer } from './subcomponents/default-header-renderers/default-header
|
|
11
|
+
import { defaultHeaderRenderer } from './subcomponents/default-header-renderers/default-header-renderer.js';
|
|
12
|
+
import { defaultSortFns } from './subcomponents/default-sort-columns/default-sort-fns.js';
|
|
12
13
|
/**
|
|
13
14
|
* The ObjectSetTable component is a table component that displays a list of objects.
|
|
14
15
|
*
|
|
@@ -17,17 +18,18 @@ import { defaultHeaderRenderer } from './subcomponents/default-header-renderers/
|
|
|
17
18
|
* @param allowRowSelection Whether to allow row selection.
|
|
18
19
|
* @param showRowNumbers Whether to show row numbers.
|
|
19
20
|
*/
|
|
20
|
-
const ObjectSetTable = (
|
|
21
|
+
const ObjectSetTable = (config) => {
|
|
21
22
|
/**
|
|
22
23
|
* Extend the config with default values in case they are not provided
|
|
23
24
|
*/
|
|
24
25
|
const extendedConfig = useMemo(() => {
|
|
26
|
+
const defaultColumnType = 'text';
|
|
25
27
|
const _config = {
|
|
26
28
|
...config,
|
|
27
29
|
columns: config.columns.map((column) => ({
|
|
28
30
|
...column,
|
|
29
|
-
align: column.align ?? defaultColumnAlignment(column.type ??
|
|
30
|
-
type: column.type ??
|
|
31
|
+
align: column.align ?? defaultColumnAlignment(column.type ?? defaultColumnType),
|
|
32
|
+
type: column.type ?? defaultColumnType,
|
|
31
33
|
valueGetter: column.valueGetter ?? defaultValueGetter,
|
|
32
34
|
valueFormatter: column.valueFormatter ?? defaultValueFormatter,
|
|
33
35
|
renderHeader: column.renderHeader ?? defaultHeaderRenderer,
|
|
@@ -39,8 +41,13 @@ const ObjectSetTable = ({ ...config }) => {
|
|
|
39
41
|
config.data[context.rowIndex][context.column.field] = value;
|
|
40
42
|
return true;
|
|
41
43
|
}),
|
|
44
|
+
// sorting
|
|
45
|
+
sortable: column.sortable ?? false,
|
|
46
|
+
defaultSortDirection: column.defaultSortDirection ?? 'asc',
|
|
47
|
+
rowComparator: column.rowComparator ?? defaultSortFns(column.type ?? defaultColumnType),
|
|
42
48
|
})),
|
|
43
49
|
width: config.width ?? 'auto',
|
|
50
|
+
minRowCount: config.minRowCount ?? 0,
|
|
44
51
|
allowRowSelection: config.allowRowSelection ?? true,
|
|
45
52
|
showRowNumbers: config.showRowNumbers ?? true,
|
|
46
53
|
apiRef: config.apiRef,
|
|
@@ -48,7 +55,7 @@ const ObjectSetTable = ({ ...config }) => {
|
|
|
48
55
|
return _config;
|
|
49
56
|
}, [config]);
|
|
50
57
|
const tableRef = useRef(null);
|
|
51
|
-
return (_jsx(TableProvider, { config: extendedConfig, tableRef: tableRef, children: _jsx(TableFocusTrap, { children: _jsx("div", { className: "grid grid-cols-1 overflow-x-auto rounded-md border border-gray-300", children: _jsxs("table", { className: "object-set-table", ref: tableRef, style: { minWidth: config.width }, children: [_jsx(TableHeader, { columns: extendedConfig.columns }), _jsx(TableBody, {
|
|
58
|
+
return (_jsx(TableProvider, { config: extendedConfig, tableRef: tableRef, children: _jsx(TableFocusTrap, { children: _jsx("div", { className: "grid grid-cols-1 overflow-x-auto rounded-md border border-gray-300", children: _jsxs("table", { className: "object-set-table", ref: tableRef, style: { minWidth: config.width }, children: [_jsx(TableHeader, { columns: extendedConfig.columns }), _jsx(TableBody, {})] }) }) }) }));
|
|
52
59
|
};
|
|
53
60
|
export { ObjectSetTable };
|
|
54
61
|
//# sourceMappingURL=object-set-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-set-table.js","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/object-set-table.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAA;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAA;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAA;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAA;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qEAAqE,CAAA;
|
|
1
|
+
{"version":3,"file":"object-set-table.js","sourceRoot":"","sources":["../../../../../src/ui/components/object-set-table/object-set-table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
data: T[];
|
|
4
|
-
columns: Array<ColumnDef<T>>;
|
|
5
|
-
}
|
|
6
|
-
declare const TableBody: <T extends DataType>({ data, columns }: TableBodyProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import type { DataType } from '../types.js';
|
|
2
|
+
declare const TableBody: <T extends DataType>() => import("react/jsx-runtime").JSX.Element;
|
|
7
3
|
export { TableBody };
|
|
8
4
|
//# sourceMappingURL=body.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/body.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/body.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C,QAAA,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,8CAsBpC,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -1,114 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback } from 'react';
|
|
3
|
-
import { Input } from '../../data-entry/input/index.js';
|
|
4
2
|
import { useGlobalTableKeyEvents } from '../hooks/useGlobalTableKeyEvents.js';
|
|
5
|
-
import { isCellEqual } from '../utils.js';
|
|
6
|
-
import { DefaultTableCell } from './cells/default-cell.js';
|
|
7
|
-
import { InformationCell } from './cells/information-cell.js';
|
|
8
|
-
import { RowNumberCell } from './cells/row-number-cell.js';
|
|
9
|
-
import { TableRow } from './rows/table-row.js';
|
|
10
3
|
import { useInternalTableState } from './table-provider/table-provider.js';
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
import { RenderRow } from './rows/render-row.js';
|
|
5
|
+
const TableBody = () => {
|
|
6
|
+
const { config, state: { data }, } = useInternalTableState();
|
|
13
7
|
// add global key events to the table
|
|
14
8
|
useGlobalTableKeyEvents();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* or select single rows when the index is clicked
|
|
20
|
-
*/
|
|
21
|
-
const createSelectRowOnClickHandler = useCallback((index) => (e) => {
|
|
22
|
-
if (!allowRowSelection)
|
|
23
|
-
return;
|
|
24
|
-
if (e.ctrlKey || e.metaKey) {
|
|
25
|
-
e.stopPropagation();
|
|
26
|
-
api.selection.toggleRow(index);
|
|
27
|
-
}
|
|
28
|
-
else if (e.shiftKey) {
|
|
29
|
-
return; // just let the row handle it
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
api.selection.selectRow(index);
|
|
33
|
-
}
|
|
34
|
-
}, [allowRowSelection, api.selection]);
|
|
35
|
-
/**
|
|
36
|
-
* Create a handler for the click event on the table row
|
|
37
|
-
* This handler is used to select a row when the ctrl key is pressed
|
|
38
|
-
* in any other place other than the index cell or select a range of rows
|
|
39
|
-
* when the shift key is pressed
|
|
40
|
-
*/
|
|
41
|
-
const createAddSelectedRowHandler = useCallback((index) => (e) => {
|
|
42
|
-
if (!allowRowSelection)
|
|
43
|
-
return;
|
|
44
|
-
if (e.ctrlKey || e.metaKey) {
|
|
45
|
-
api.selection.toggleRow(index);
|
|
46
|
-
}
|
|
47
|
-
else if (e.shiftKey) {
|
|
48
|
-
// Prevent text selection when shift key is pressed
|
|
49
|
-
document.getSelection()?.removeAllRanges();
|
|
50
|
-
api.selection.selectFromLastActiveRow(index);
|
|
51
|
-
}
|
|
52
|
-
}, [allowRowSelection]);
|
|
53
|
-
/**
|
|
54
|
-
* Prevent text selection when shift key is pressed so that we
|
|
55
|
-
* can select a range of rows while keeping a good user experience
|
|
56
|
-
*/
|
|
57
|
-
const handleMouseDown = useCallback((event) => {
|
|
58
|
-
if (event.shiftKey) {
|
|
59
|
-
document.getSelection()?.removeAllRanges();
|
|
60
|
-
}
|
|
61
|
-
}, []);
|
|
62
|
-
const createCellClickHandler = useCallback((index, column, columnDef) => (e) => {
|
|
63
|
-
// if the cell is being edited, ignore clicking on it
|
|
64
|
-
if (isCellEditMode && selectedCellIndex?.row === index && selectedCellIndex.column === column) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
// if shift or ctrl is pressed, the user is probably trying to select rows
|
|
68
|
-
if (!e.ctrlKey && !e.metaKey && !e.shiftKey) {
|
|
69
|
-
if (e.detail === 2 && columnDef.editable) {
|
|
70
|
-
dispatch?.({
|
|
71
|
-
type: 'ENTER_CELL_EDIT_MODE',
|
|
72
|
-
payload: { row: index, column },
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
api.selection.selectCell(index, column);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}, [dispatch, isCellEditMode]);
|
|
80
|
-
return (_jsx("tbody", { className: "text-sm leading-5 text-gray-900", children: data.map((rowItem, index) => (_jsxs(TableRow
|
|
81
|
-
// TODO: replace key with unique key (maybe generated with object-hash package)
|
|
82
|
-
, { index: index, onClick: createAddSelectedRowHandler(index), onMouseDown: handleMouseDown, children: [_jsx(RowNumberCell, { index: index + 1, handleSelectRowOnClick: createSelectRowOnClickHandler(index), selected: selectedRowIndexes.includes(index) || selectedCellIndex?.row === index }), columns.map((column, columnIndex) => {
|
|
83
|
-
const cellContext = {
|
|
84
|
-
row: rowItem,
|
|
85
|
-
column,
|
|
86
|
-
rowIndex: index,
|
|
87
|
-
columnIndex,
|
|
88
|
-
tableConfig: config,
|
|
89
|
-
};
|
|
90
|
-
// get and format the cell value
|
|
91
|
-
const cellValue = column.valueFormatter?.(column.valueGetter?.(rowItem, cellContext), cellContext);
|
|
92
|
-
// render the cell
|
|
93
|
-
const cell = column.renderCell?.(cellValue, cellContext);
|
|
94
|
-
const currentCellIndex = {
|
|
95
|
-
row: index,
|
|
96
|
-
column: columnIndex,
|
|
97
|
-
};
|
|
98
|
-
const isCellSelected = isCellEqual(selectedCellIndex, currentCellIndex);
|
|
99
|
-
const isThisCellEditMode = isCellEditMode && isCellSelected;
|
|
100
|
-
const style = {
|
|
101
|
-
width: column.width ?? 'auto',
|
|
102
|
-
minWidth: column.minWidth ?? 'auto',
|
|
103
|
-
maxWidth: column.maxWidth ?? column.width ?? 'auto',
|
|
104
|
-
};
|
|
105
|
-
return (_jsx(DefaultTableCell, { onClick: createCellClickHandler(index, columnIndex, column), isSelected: isCellSelected, isEditable: column.editable ?? false, style: style, children: isThisCellEditMode ? (_jsx(Input, { className: "max-w-full", autoFocus: true, defaultValue: column.valueGetter?.(rowItem, cellContext), onKeyDown: (e) => {
|
|
106
|
-
if (e.key === 'Enter') {
|
|
107
|
-
const newValue = e.target.value;
|
|
108
|
-
column.onSave?.(newValue, cellContext);
|
|
109
|
-
}
|
|
110
|
-
} })) : (cell) }, column.field));
|
|
111
|
-
}), _jsx(InformationCell, {})] }, index))) }));
|
|
9
|
+
return (_jsxs("tbody", { className: "text-sm leading-5 text-gray-900", children: [data.map((data, index) => (
|
|
10
|
+
// TODO: replace key with unique key (maybe generated with object-hash package)
|
|
11
|
+
_jsx(RenderRow, { item: data, rowIndex: index }, index))), data.length < (config.minRowCount ?? 0) &&
|
|
12
|
+
Array.from({ length: (config.minRowCount ?? 0) - data.length }).map((_, index) => (_jsx(RenderRow, { item: {}, rowIndex: index + data.length, emptyRow: true }, index)))] }));
|
|
112
13
|
};
|
|
113
14
|
export { TableBody };
|
|
114
15
|
//# sourceMappingURL=body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/body.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../../../../../src/ui/components/object-set-table/subcomponents/body.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,MAAM,SAAS,GAAG,GAAuB,EAAE;IACzC,MAAM,EACJ,MAAM,EACN,KAAK,EAAE,EAAE,IAAI,EAAE,GAChB,GAAG,qBAAqB,EAAK,CAAA;IAE9B,qCAAqC;IACrC,uBAAuB,EAAE,CAAA;IAEzB,OAAO,CACL,iBAAO,SAAS,EAAC,iCAAiC,aAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACzB,+EAA+E;YAC/E,KAAC,SAAS,IAAa,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,IAAlC,KAAK,CAAiC,CACvD,CAAC,EAED,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAChF,KAAC,SAAS,IAAa,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,UAAxD,KAAK,CAAsD,CAC5E,CAAC,IACE,CACT,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ColumnDef, DataType } from '../../types.js';
|
|
2
|
+
interface RenderCellProps<T extends DataType> {
|
|
3
|
+
rowItem: T;
|
|
4
|
+
column: ColumnDef<T>;
|
|
5
|
+
rowIndex: number;
|
|
6
|
+
columnIndex: number;
|
|
7
|
+
renderEmptyCell?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const RenderCell: <T extends DataType>({ rowItem, column, rowIndex, columnIndex, renderEmptyCell, }: RenderCellProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export { RenderCell };
|
|
11
|
+
//# sourceMappingURL=render-cell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-cell.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/components/object-set-table/subcomponents/cells/render-cell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAe,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAKtE,UAAU,eAAe,CAAC,CAAC,SAAS,QAAQ;IAC1C,OAAO,EAAE,CAAC,CAAA;IACV,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,QAAA,MAAM,UAAU,GAAI,CAAC,SAAS,QAAQ,EAAE,8DAMrC,eAAe,CAAC,CAAC,CAAC,4CA4FpB,CAAA;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
|