@dxos/react-ui-table 0.9.0 → 0.9.1-staging.ee54ba693a
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/lib/browser/{chunk-4KOQTPFC.mjs → chunk-K4J2CKTZ.mjs} +73 -24
- package/dist/lib/browser/chunk-K4J2CKTZ.mjs.map +7 -0
- package/dist/lib/browser/{chunk-62PYOJPY.mjs → chunk-VV3P3ADH.mjs} +5 -5
- package/dist/lib/browser/chunk-VV3P3ADH.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +76 -10
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +2 -2
- package/dist/lib/browser/translations.mjs +5 -2
- package/dist/lib/browser/translations.mjs.map +2 -2
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node-esm/{chunk-KOSV2J5N.mjs → chunk-E6V274ZW.mjs} +73 -24
- package/dist/lib/node-esm/chunk-E6V274ZW.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-7LMOZUTS.mjs → chunk-RPEWNOZZ.mjs} +5 -5
- package/dist/lib/node-esm/chunk-RPEWNOZZ.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +76 -10
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +2 -2
- package/dist/lib/node-esm/translations.mjs +5 -2
- package/dist/lib/node-esm/translations.mjs.map +2 -2
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/components/Table/DynamicTable.stories.d.ts +4 -1
- package/dist/types/src/components/Table/DynamicTable.stories.d.ts.map +1 -1
- package/dist/types/src/components/Table/Relations.stories.d.ts +4 -1
- package/dist/types/src/components/Table/Relations.stories.d.ts.map +1 -1
- package/dist/types/src/components/Table/Table.d.ts +1 -0
- package/dist/types/src/components/Table/Table.d.ts.map +1 -1
- package/dist/types/src/components/Table/Table.stories.d.ts +6 -3
- package/dist/types/src/components/Table/Table.stories.d.ts.map +1 -1
- package/dist/types/src/components/Table/TableToolbar.d.ts +3 -1
- package/dist/types/src/components/Table/TableToolbar.d.ts.map +1 -1
- package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts +7 -4
- package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +2 -3
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/hooks/useTableModel.d.ts.map +1 -1
- package/dist/types/src/model/index.d.ts +1 -0
- package/dist/types/src/model/index.d.ts.map +1 -1
- package/dist/types/src/model/table-model.d.ts +15 -8
- package/dist/types/src/model/table-model.d.ts.map +1 -1
- package/dist/types/src/model/table-presentation.d.ts.map +1 -1
- package/dist/types/src/model/table-view-state.d.ts +19 -0
- package/dist/types/src/model/table-view-state.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +4 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Table.d.ts +3 -11
- package/dist/types/src/types/Table.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +43 -44
- package/src/components/Table/Table.stories.tsx +3 -3
- package/src/components/Table/Table.tsx +1 -0
- package/src/components/Table/TableToolbar.tsx +38 -5
- package/src/components/TableCellEditor/TableCellEditor.stories.tsx +2 -2
- package/src/components/testing.ts +8 -6
- package/src/hooks/useTableModel.ts +7 -6
- package/src/model/index.ts +1 -0
- package/src/model/table-model.test.ts +93 -5
- package/src/model/table-model.ts +36 -20
- package/src/model/table-presentation.test.ts +6 -4
- package/src/model/table-presentation.ts +34 -4
- package/src/model/table-view-state.ts +30 -0
- package/src/translations.ts +4 -1
- package/src/types/Table.ts +17 -19
- package/dist/lib/browser/chunk-4KOQTPFC.mjs.map +0 -7
- package/dist/lib/browser/chunk-62PYOJPY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7LMOZUTS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KOSV2J5N.mjs.map +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/types/Table.ts":{"bytes":8806,"imports":[{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/Annotation","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":422,"imports":[{"path":"src/types/Table.ts","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/util/dynamic-table.ts":{"bytes":11737,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/util/query-ast.ts":{"bytes":1827,"imports":[],"format":"esm"},"src/util/signals.ts":{"bytes":782,"imports":[],"format":"esm"},"src/util/sort.ts":{"bytes":8681,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"src/util/table-buttons.ts":{"bytes":14443,"imports":[],"format":"esm"},"src/util/table-controls.ts":{"bytes":9056,"imports":[{"path":"@dxos/lit-grid","kind":"import-statement","external":true}],"format":"esm"},"src/util/schema.ts":{"bytes":3972,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true}],"format":"esm"},"src/util/index.ts":{"bytes":934,"imports":[{"path":"src/util/dynamic-table.ts","kind":"import-statement","original":"./dynamic-table"},{"path":"src/util/query-ast.ts","kind":"import-statement","original":"./query-ast"},{"path":"src/util/signals.ts","kind":"import-statement","original":"./signals"},{"path":"src/util/sort.ts","kind":"import-statement","original":"./sort"},{"path":"src/util/table-buttons.ts","kind":"import-statement","original":"./table-buttons"},{"path":"src/util/table-controls.ts","kind":"import-statement","original":"./table-controls"},{"path":"src/util/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/util/tag.ts":{"bytes":2762,"imports":[],"format":"esm"},"src/model/selection-model.ts":{"bytes":15505,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-model.ts":{"bytes":102702,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/JsonSchema","kind":"import-statement","external":true},{"path":"@dxos/echo/Obj","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"},{"path":"src/util/sort.ts","kind":"import-statement","original":"../util/sort"},{"path":"src/util/tag.ts","kind":"import-statement","original":"../util/tag"},{"path":"src/model/selection-model.ts","kind":"import-statement","original":"./selection-model"}],"format":"esm"},"src/model/modal-controller.ts":{"bytes":7634,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-presentation.ts":{"bytes":57233,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Predicate","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/Format","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"src/model/index.ts":{"bytes":685,"imports":[{"path":"src/model/table-model.ts","kind":"import-statement","original":"./table-model"},{"path":"src/model/modal-controller.ts","kind":"import-statement","original":"./modal-controller"},{"path":"src/model/table-presentation.ts","kind":"import-statement","original":"./table-presentation"}],"format":"esm"},"src/components/TableCellEditor/CellValidationMessage.tsx":{"bytes":3908,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true}],"format":"esm"},"src/components/TableCellEditor/FormCellEditor.tsx":{"bytes":22626,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/TableCellEditor/TableCellEditor.tsx":{"bytes":27211,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo/Format","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"src/components/TableCellEditor/CellValidationMessage.tsx","kind":"import-statement","original":"./CellValidationMessage"},{"path":"src/components/TableCellEditor/FormCellEditor.tsx","kind":"import-statement","original":"./FormCellEditor"}],"format":"esm"},"src/components/TableCellEditor/index.ts":{"bytes":471,"imports":[{"path":"src/components/TableCellEditor/TableCellEditor.tsx","kind":"import-statement","original":"./TableCellEditor"}],"format":"esm"},"src/components/Table/ColumnActionsMenu.tsx":{"bytes":8451,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/ColumnSettings.tsx":{"bytes":8496,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/RowActionsMenu.tsx":{"bytes":6866,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/TableContent.tsx":{"bytes":49687,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/String","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/TableCellEditor/index.ts","kind":"import-statement","original":"../TableCellEditor"},{"path":"src/components/Table/ColumnActionsMenu.tsx","kind":"import-statement","original":"./ColumnActionsMenu"},{"path":"src/components/Table/ColumnSettings.tsx","kind":"import-statement","original":"./ColumnSettings"},{"path":"src/components/Table/RowActionsMenu.tsx","kind":"import-statement","original":"./RowActionsMenu"},{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/components/Table/TableToolbar.tsx":{"bytes":10827,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/Table.tsx":{"bytes":5977,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/components/Table/TableContent.tsx","kind":"import-statement","original":"./TableContent"},{"path":"src/components/Table/TableToolbar.tsx","kind":"import-statement","original":"./TableToolbar"}],"format":"esm"},"src/hooks/useAddRow.ts":{"bytes":2809,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useProjectionModel.ts":{"bytes":4251,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useTableModel.ts":{"bytes":9125,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"src/hooks/index.ts":{"bytes":596,"imports":[{"path":"src/hooks/useAddRow.ts","kind":"import-statement","original":"./useAddRow"},{"path":"src/hooks/useProjectionModel.ts","kind":"import-statement","original":"./useProjectionModel"},{"path":"src/hooks/useTableModel.ts","kind":"import-statement","original":"./useTableModel"}],"format":"esm"},"src/components/Table/DynamicTable.tsx":{"bytes":11080,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/components/Table/index.ts":{"bytes":469,"imports":[{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"},{"path":"src/components/Table/DynamicTable.tsx","kind":"import-statement","original":"./DynamicTable"}],"format":"esm"},"src/components/index.ts":{"bytes":369,"imports":[{"path":"src/components/Table/index.ts","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/index.ts":{"bytes":620,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"./model"},{"path":"src/util/index.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/testing/useTestTableModel.ts":{"bytes":13059,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/testing","kind":"import-statement","external":true},{"path":"@dxos/react-ui-search","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"../model"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/testing/index.ts":{"bytes":401,"imports":[{"path":"src/testing/useTestTableModel.ts","kind":"import-statement","original":"./useTestTableModel"}],"format":"esm"},"src/translations.ts":{"bytes":3793,"imports":[],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":89592},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-4KOQTPFC.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-62PYOJPY.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/String","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo/Format","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"exports":["BUTTON_IDENTIFIERS","CONTROL_IDENTIFIERS","CheckboxStory","DynamicTable","ModalController","SwitchStory","Table","TableModel","TablePresentation","cellClassesForRowSelection","compareValues","createDirectChangeCallback","createEchoChangeCallback","extractOrder","getBaseSchema","getSortValue","makeDynamicTable","narrowSchema","tableButtons","tableControls","touch","useAddRow","useProjectionModel","useTableContext","useTableModel"],"entryPoint":"src/index.ts","inputs":{"src/components/Table/Table.tsx":{"bytesInOutput":914},"src/components/Table/TableContent.tsx":{"bytesInOutput":11391},"src/util/dynamic-table.ts":{"bytesInOutput":2332},"src/util/signals.ts":{"bytesInOutput":30},"src/util/schema.ts":{"bytesInOutput":498},"src/model/modal-controller.ts":{"bytesInOutput":1549},"src/components/TableCellEditor/TableCellEditor.tsx":{"bytesInOutput":6729},"src/components/TableCellEditor/CellValidationMessage.tsx":{"bytesInOutput":893},"src/components/TableCellEditor/FormCellEditor.tsx":{"bytesInOutput":5539},"src/components/Table/ColumnActionsMenu.tsx":{"bytesInOutput":2240},"src/components/Table/ColumnSettings.tsx":{"bytesInOutput":2240},"src/components/Table/RowActionsMenu.tsx":{"bytesInOutput":1773},"src/components/Table/TableToolbar.tsx":{"bytesInOutput":2511},"src/components/Table/DynamicTable.tsx":{"bytesInOutput":2208},"src/index.ts":{"bytesInOutput":0}},"bytes":42521},"dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7258},"dist/lib/browser/testing/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-4KOQTPFC.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-62PYOJPY.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/testing","kind":"import-statement","external":true},{"path":"@dxos/react-ui-search","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["useTestTableModel"],"entryPoint":"src/testing/index.ts","inputs":{"src/testing/useTestTableModel.ts":{"bytesInOutput":2786},"src/testing/index.ts":{"bytesInOutput":0}},"bytes":3092},"dist/lib/browser/chunk-4KOQTPFC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":110501},"dist/lib/browser/chunk-4KOQTPFC.mjs":{"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/lit-grid","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/JsonSchema","kind":"import-statement","external":true},{"path":"@dxos/echo/Obj","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Predicate","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/Format","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["BUTTON_IDENTIFIERS","CONTROL_IDENTIFIERS","CheckboxStory","SwitchStory","TableModel","TablePresentation","cellClassesForRowSelection","compareValues","createDirectChangeCallback","createEchoChangeCallback","extractOrder","getSortValue","tableButtons","tableControls","useAddRow","useProjectionModel","useTableModel"],"inputs":{"src/util/query-ast.ts":{"bytesInOutput":282},"src/util/sort.ts":{"bytesInOutput":1644},"src/util/table-buttons.ts":{"bytesInOutput":3497},"src/util/table-controls.ts":{"bytesInOutput":2023},"src/model/table-model.ts":{"bytesInOutput":23758},"src/util/tag.ts":{"bytesInOutput":334},"src/model/selection-model.ts":{"bytesInOutput":3552},"src/model/table-presentation.ts":{"bytesInOutput":14020},"src/hooks/useAddRow.ts":{"bytesInOutput":374},"src/hooks/useProjectionModel.ts":{"bytesInOutput":874},"src/hooks/useTableModel.ts":{"bytesInOutput":1939}},"bytes":53035},"dist/lib/browser/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1772},"dist/lib/browser/translations.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["translationKey","translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":1109}},"bytes":1251},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-62PYOJPY.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["Table"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":161},"dist/lib/browser/chunk-62PYOJPY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4579},"dist/lib/browser/chunk-62PYOJPY.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/Annotation","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["Table_exports"],"inputs":{"src/types/Table.ts":{"bytesInOutput":1773},"src/types/index.ts":{"bytesInOutput":0}},"bytes":1920},"dist/lib/browser/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
|
|
1
|
+
{"inputs":{"src/types/Table.ts":{"bytes":8724,"imports":[{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/Annotation","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":422,"imports":[{"path":"src/types/Table.ts","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/util/dynamic-table.ts":{"bytes":11737,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/util/query-ast.ts":{"bytes":1827,"imports":[],"format":"esm"},"src/util/signals.ts":{"bytes":782,"imports":[],"format":"esm"},"src/util/sort.ts":{"bytes":8681,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"src/util/table-buttons.ts":{"bytes":14443,"imports":[],"format":"esm"},"src/util/table-controls.ts":{"bytes":9056,"imports":[{"path":"@dxos/lit-grid","kind":"import-statement","external":true}],"format":"esm"},"src/util/schema.ts":{"bytes":3972,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true}],"format":"esm"},"src/util/index.ts":{"bytes":934,"imports":[{"path":"src/util/dynamic-table.ts","kind":"import-statement","original":"./dynamic-table"},{"path":"src/util/query-ast.ts","kind":"import-statement","original":"./query-ast"},{"path":"src/util/signals.ts","kind":"import-statement","original":"./signals"},{"path":"src/util/sort.ts","kind":"import-statement","original":"./sort"},{"path":"src/util/table-buttons.ts","kind":"import-statement","original":"./table-buttons"},{"path":"src/util/table-controls.ts","kind":"import-statement","original":"./table-controls"},{"path":"src/util/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/util/tag.ts":{"bytes":2762,"imports":[],"format":"esm"},"src/model/selection-model.ts":{"bytes":15505,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-view-state.ts":{"bytes":2836,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-model.ts":{"bytes":105810,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/JsonSchema","kind":"import-statement","external":true},{"path":"@dxos/echo/Obj","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"},{"path":"src/util/sort.ts","kind":"import-statement","original":"../util/sort"},{"path":"src/util/tag.ts","kind":"import-statement","original":"../util/tag"},{"path":"src/model/selection-model.ts","kind":"import-statement","original":"./selection-model"},{"path":"src/model/table-view-state.ts","kind":"import-statement","original":"./table-view-state"}],"format":"esm"},"src/model/modal-controller.ts":{"bytes":7634,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-presentation.ts":{"bytes":61529,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Predicate","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/Format","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"src/model/index.ts":{"bytes":793,"imports":[{"path":"src/model/table-model.ts","kind":"import-statement","original":"./table-model"},{"path":"src/model/table-view-state.ts","kind":"import-statement","original":"./table-view-state"},{"path":"src/model/modal-controller.ts","kind":"import-statement","original":"./modal-controller"},{"path":"src/model/table-presentation.ts","kind":"import-statement","original":"./table-presentation"}],"format":"esm"},"src/components/TableCellEditor/CellValidationMessage.tsx":{"bytes":3908,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true}],"format":"esm"},"src/components/TableCellEditor/FormCellEditor.tsx":{"bytes":22626,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/TableCellEditor/TableCellEditor.tsx":{"bytes":27211,"imports":[{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo/Format","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"src/components/TableCellEditor/CellValidationMessage.tsx","kind":"import-statement","original":"./CellValidationMessage"},{"path":"src/components/TableCellEditor/FormCellEditor.tsx","kind":"import-statement","original":"./FormCellEditor"}],"format":"esm"},"src/components/TableCellEditor/index.ts":{"bytes":471,"imports":[{"path":"src/components/TableCellEditor/TableCellEditor.tsx","kind":"import-statement","original":"./TableCellEditor"}],"format":"esm"},"src/components/Table/ColumnActionsMenu.tsx":{"bytes":8451,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/ColumnSettings.tsx":{"bytes":8496,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/RowActionsMenu.tsx":{"bytes":6866,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/TableContent.tsx":{"bytes":49687,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/String","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/TableCellEditor/index.ts","kind":"import-statement","original":"../TableCellEditor"},{"path":"src/components/Table/ColumnActionsMenu.tsx","kind":"import-statement","original":"./ColumnActionsMenu"},{"path":"src/components/Table/ColumnSettings.tsx","kind":"import-statement","original":"./ColumnSettings"},{"path":"src/components/Table/RowActionsMenu.tsx","kind":"import-statement","original":"./RowActionsMenu"},{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/components/Table/TableToolbar.tsx":{"bytes":16056,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/Table.tsx":{"bytes":6053,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/components/Table/TableContent.tsx","kind":"import-statement","original":"./TableContent"},{"path":"src/components/Table/TableToolbar.tsx","kind":"import-statement","original":"./TableToolbar"}],"format":"esm"},"src/hooks/useAddRow.ts":{"bytes":2809,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useProjectionModel.ts":{"bytes":4251,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useTableModel.ts":{"bytes":9209,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"src/hooks/index.ts":{"bytes":596,"imports":[{"path":"src/hooks/useAddRow.ts","kind":"import-statement","original":"./useAddRow"},{"path":"src/hooks/useProjectionModel.ts","kind":"import-statement","original":"./useProjectionModel"},{"path":"src/hooks/useTableModel.ts","kind":"import-statement","original":"./useTableModel"}],"format":"esm"},"src/components/Table/DynamicTable.tsx":{"bytes":11080,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/components/Table/index.ts":{"bytes":469,"imports":[{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"},{"path":"src/components/Table/DynamicTable.tsx","kind":"import-statement","original":"./DynamicTable"}],"format":"esm"},"src/components/index.ts":{"bytes":369,"imports":[{"path":"src/components/Table/index.ts","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/index.ts":{"bytes":620,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"./model"},{"path":"src/util/index.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/testing/useTestTableModel.ts":{"bytes":13059,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/testing","kind":"import-statement","external":true},{"path":"@dxos/react-ui-search","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"../model"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/testing/index.ts":{"bytes":401,"imports":[{"path":"src/testing/useTestTableModel.ts","kind":"import-statement","original":"./useTestTableModel"}],"format":"esm"},"src/translations.ts":{"bytes":4169,"imports":[],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":92018},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-K4J2CKTZ.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VV3P3ADH.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/String","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo/Format","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"exports":["BUTTON_IDENTIFIERS","CONTROL_IDENTIFIERS","CheckboxStory","DynamicTable","FieldSortSchema","ModalController","SwitchStory","Table","TableModel","TablePresentation","cellClassesForRowSelection","compareValues","createDirectChangeCallback","createEchoChangeCallback","extractOrder","getBaseSchema","getSortValue","makeDynamicTable","narrowSchema","tableButtons","tableControls","tableSortAspect","touch","useAddRow","useProjectionModel","useTableContext","useTableModel"],"entryPoint":"src/index.ts","inputs":{"src/components/Table/Table.tsx":{"bytesInOutput":914},"src/components/Table/TableContent.tsx":{"bytesInOutput":11391},"src/util/dynamic-table.ts":{"bytesInOutput":2332},"src/util/signals.ts":{"bytesInOutput":30},"src/util/schema.ts":{"bytesInOutput":498},"src/model/modal-controller.ts":{"bytesInOutput":1549},"src/components/TableCellEditor/TableCellEditor.tsx":{"bytesInOutput":6729},"src/components/TableCellEditor/CellValidationMessage.tsx":{"bytesInOutput":893},"src/components/TableCellEditor/FormCellEditor.tsx":{"bytesInOutput":5539},"src/components/Table/ColumnActionsMenu.tsx":{"bytesInOutput":2240},"src/components/Table/ColumnSettings.tsx":{"bytesInOutput":2240},"src/components/Table/RowActionsMenu.tsx":{"bytesInOutput":1773},"src/components/Table/TableToolbar.tsx":{"bytesInOutput":3857},"src/components/Table/DynamicTable.tsx":{"bytesInOutput":2208},"src/index.ts":{"bytesInOutput":0}},"bytes":43943},"dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7258},"dist/lib/browser/testing/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-K4J2CKTZ.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VV3P3ADH.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/testing","kind":"import-statement","external":true},{"path":"@dxos/react-ui-search","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["useTestTableModel"],"entryPoint":"src/testing/index.ts","inputs":{"src/testing/useTestTableModel.ts":{"bytesInOutput":2786},"src/testing/index.ts":{"bytesInOutput":0}},"bytes":3092},"dist/lib/browser/chunk-K4J2CKTZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":115477},"dist/lib/browser/chunk-K4J2CKTZ.mjs":{"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/lit-grid","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/JsonSchema","kind":"import-statement","external":true},{"path":"@dxos/echo/Obj","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Predicate","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/Format","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true}],"exports":["BUTTON_IDENTIFIERS","CONTROL_IDENTIFIERS","CheckboxStory","FieldSortSchema","SwitchStory","TableModel","TablePresentation","cellClassesForRowSelection","compareValues","createDirectChangeCallback","createEchoChangeCallback","extractOrder","getSortValue","tableButtons","tableControls","tableSortAspect","useAddRow","useProjectionModel","useTableModel"],"inputs":{"src/util/query-ast.ts":{"bytesInOutput":282},"src/util/sort.ts":{"bytesInOutput":1644},"src/util/table-buttons.ts":{"bytesInOutput":3497},"src/util/table-controls.ts":{"bytesInOutput":2023},"src/model/table-view-state.ts":{"bytesInOutput":406},"src/model/table-model.ts":{"bytesInOutput":24423},"src/util/tag.ts":{"bytesInOutput":334},"src/model/selection-model.ts":{"bytesInOutput":3552},"src/model/table-presentation.ts":{"bytesInOutput":14976},"src/hooks/useAddRow.ts":{"bytesInOutput":374},"src/hooks/useProjectionModel.ts":{"bytesInOutput":874},"src/hooks/useTableModel.ts":{"bytesInOutput":1967}},"bytes":55162},"dist/lib/browser/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1938},"dist/lib/browser/translations.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["translationKey","translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":1233}},"bytes":1375},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-VV3P3ADH.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["Table"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":161},"dist/lib/browser/chunk-VV3P3ADH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4493},"dist/lib/browser/chunk-VV3P3ADH.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/Annotation","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["Table_exports"],"inputs":{"src/types/Table.ts":{"bytesInOutput":1760},"src/types/index.ts":{"bytesInOutput":0}},"bytes":1907},"dist/lib/browser/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
useAddRow,
|
|
4
4
|
useProjectionModel,
|
|
5
5
|
useTableModel
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-K4J2CKTZ.mjs";
|
|
7
7
|
import {
|
|
8
8
|
Table_exports
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-VV3P3ADH.mjs";
|
|
10
10
|
import "../chunk-J5LGTIGS.mjs";
|
|
11
11
|
|
|
12
12
|
// src/testing/useTestTableModel.ts
|
|
@@ -9,7 +9,6 @@ var translations = [
|
|
|
9
9
|
"object.placeholder": "New table",
|
|
10
10
|
"create-object.label": "Create table",
|
|
11
11
|
"table-name.placeholder": "Table name",
|
|
12
|
-
"settings.title": "Table settings",
|
|
13
12
|
"table-schema.label": "Type",
|
|
14
13
|
"continue.label": "Continue",
|
|
15
14
|
"create-stack-section.label": "Create table",
|
|
@@ -24,7 +23,11 @@ var translations = [
|
|
|
24
23
|
"column-deleted.label": "Column deleted",
|
|
25
24
|
"new-column-button.label": "Create column",
|
|
26
25
|
"create-new-object.label": "Create new object \u201C{{text}}\u201D",
|
|
27
|
-
"save-view.label": "Save changes to view"
|
|
26
|
+
"save-view.label": "Save changes to view",
|
|
27
|
+
"export-rows.menu": "Export",
|
|
28
|
+
"export-rows-csv.menu": "CSV",
|
|
29
|
+
"export-rows-json.menu": "JSON (.dx.json)",
|
|
30
|
+
"export-rows-xml.menu": "XML"
|
|
28
31
|
}
|
|
29
32
|
}
|
|
30
33
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nexport const translationKey = '@dxos/react-ui-table';\n\nexport const translations = [\n {\n 'en-US': {\n [translationKey]: {\n 'object.placeholder': 'New table',\n 'create-object.label': 'Create table',\n 'table-name.placeholder': 'Table name',\n '
|
|
5
|
-
"mappings": ";;;AAMO,IAAMA,iBAAiB;AAEvB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,cAAAA,GAAiB;QAChB,sBAAsB;QACtB,uBAAuB;QACvB,0BAA0B;QAC1B,
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nexport const translationKey = '@dxos/react-ui-table';\n\nexport const translations = [\n {\n 'en-US': {\n [translationKey]: {\n 'object.placeholder': 'New table',\n 'create-object.label': 'Create table',\n 'table-name.placeholder': 'Table name',\n 'table-schema.label': 'Type',\n 'continue.label': 'Continue',\n 'create-stack-section.label': 'Create table',\n 'add-row.label': 'Add row',\n 'column-action-sort-descending.menu': 'Sort Descending',\n 'column-action-sort-ascending.menu': 'Sort Ascending',\n 'column-action-clear-sorting.menu': 'Clear Sorting',\n 'column-action-settings.menu': 'Column Settings',\n 'column-action-delete.menu': 'Delete Column',\n 'delete-row.label': 'Delete row',\n 'bulk-delete-row.label': 'Delete selected rows',\n 'column-deleted.label': 'Column deleted',\n 'new-column-button.label': 'Create column',\n 'create-new-object.label': 'Create new object “{{text}}”',\n 'save-view.label': 'Save changes to view',\n 'export-rows.menu': 'Export',\n 'export-rows-csv.menu': 'CSV',\n 'export-rows-json.menu': 'JSON (.dx.json)',\n 'export-rows-xml.menu': 'XML',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": ";;;AAMO,IAAMA,iBAAiB;AAEvB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,cAAAA,GAAiB;QAChB,sBAAsB;QACtB,uBAAuB;QACvB,0BAA0B;QAC1B,sBAAsB;QACtB,kBAAkB;QAClB,8BAA8B;QAC9B,iBAAiB;QACjB,sCAAsC;QACtC,qCAAqC;QACrC,oCAAoC;QACpC,+BAA+B;QAC/B,6BAA6B;QAC7B,oBAAoB;QACpB,yBAAyB;QACzB,wBAAwB;QACxB,2BAA2B;QAC3B,2BAA2B;QAC3B,mBAAmB;QACnB,oBAAoB;QACpB,wBAAwB;QACxB,yBAAyB;QACzB,wBAAwB;MAC1B;IACF;EACF;;",
|
|
6
6
|
"names": ["translationKey", "translations"]
|
|
7
7
|
}
|
|
@@ -236,6 +236,21 @@ var tableControls = {
|
|
|
236
236
|
}
|
|
237
237
|
};
|
|
238
238
|
|
|
239
|
+
// src/model/table-view-state.ts
|
|
240
|
+
import * as Schema from "effect/Schema";
|
|
241
|
+
import { QueryAST } from "@dxos/echo";
|
|
242
|
+
import { defineViewState } from "@dxos/react-ui-attention";
|
|
243
|
+
var FieldSortSchema = Schema.Struct({
|
|
244
|
+
fieldId: Schema.String,
|
|
245
|
+
direction: QueryAST.OrderDirection
|
|
246
|
+
});
|
|
247
|
+
var tableSortAspect = defineViewState({
|
|
248
|
+
key: "table-sort",
|
|
249
|
+
backend: "local",
|
|
250
|
+
schema: Schema.UndefinedOr(FieldSortSchema),
|
|
251
|
+
defaultValue: () => void 0
|
|
252
|
+
});
|
|
253
|
+
|
|
239
254
|
// src/model/table-model.ts
|
|
240
255
|
import { Atom as Atom2 } from "@effect-atom/atom-react";
|
|
241
256
|
import { Resource as Resource2 } from "@dxos/context";
|
|
@@ -423,7 +438,10 @@ var TableModel = class extends Resource2 {
|
|
|
423
438
|
_features;
|
|
424
439
|
_rows;
|
|
425
440
|
_draftRows;
|
|
426
|
-
//
|
|
441
|
+
// Optional per-context UI state manager; when present the column sort is view-state-backed.
|
|
442
|
+
_viewState;
|
|
443
|
+
// Per-user sort state - backed by the `tableSortAspect` view state (keyed by table URI) when a
|
|
444
|
+
// ViewStateManager is provided, else an ephemeral atom. Changes are local until saved to the view.
|
|
427
445
|
_inMemorySort;
|
|
428
446
|
// Derived atom for persisted sort from view.query.ast.
|
|
429
447
|
_persistedSort;
|
|
@@ -438,13 +456,14 @@ var TableModel = class extends Resource2 {
|
|
|
438
456
|
_columnMeta;
|
|
439
457
|
// Counter atom that increments when cells are updated - allows UI to react to cell changes.
|
|
440
458
|
_cellUpdateCounter;
|
|
441
|
-
constructor({ registry, object, projection, db, change, features = {}, initialSelection = [], pinnedRows = {
|
|
459
|
+
constructor({ registry, object, projection, db, viewState, change, features = {}, initialSelection = [], pinnedRows = {
|
|
442
460
|
top: [],
|
|
443
461
|
bottom: []
|
|
444
462
|
}, rowActions = [], onCellUpdate, onColumnDelete, onDeleteRows, onInsertRow, onRowOrderChange, onRowAction }) {
|
|
445
463
|
super();
|
|
446
464
|
this._registry = registry;
|
|
447
465
|
this._object = object;
|
|
466
|
+
this._viewState = viewState;
|
|
448
467
|
this._projection = projection;
|
|
449
468
|
this._projection.normalizeView();
|
|
450
469
|
this._db = db;
|
|
@@ -453,7 +472,7 @@ var TableModel = class extends Resource2 {
|
|
|
453
472
|
...defaultFeatures,
|
|
454
473
|
...features
|
|
455
474
|
};
|
|
456
|
-
invariant(!(this._features.dataEditable && this._features.selection.enabled && this._features.selection.mode === "single"), "Single selection is not compatible with editable tables.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L:
|
|
475
|
+
invariant(!(this._features.dataEditable && this._features.selection.enabled && this._features.selection.mode === "single"), "Single selection is not compatible with editable tables.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 99, S: this, A: ["!(this._features.dataEditable && this._features.selection.enabled && this._features.selection.mode === 'single')", "'Single selection is not compatible with editable tables.'"] });
|
|
457
476
|
this._visibleRange = Atom2.make({
|
|
458
477
|
start: {
|
|
459
478
|
row: 0,
|
|
@@ -466,7 +485,7 @@ var TableModel = class extends Resource2 {
|
|
|
466
485
|
});
|
|
467
486
|
this._rows = Atom2.make([]);
|
|
468
487
|
this._draftRows = Atom2.make([]);
|
|
469
|
-
this._inMemorySort = Atom2.make(void 0);
|
|
488
|
+
this._inMemorySort = this._viewState ? this._viewState.atom(tableSortAspect, this.id) : Atom2.make(void 0);
|
|
470
489
|
this._cellUpdateCounter = Atom2.make(0);
|
|
471
490
|
this._persistedSort = Atom2.make((get) => {
|
|
472
491
|
const view = get(this._object.view.atom);
|
|
@@ -540,7 +559,7 @@ var TableModel = class extends Resource2 {
|
|
|
540
559
|
}
|
|
541
560
|
get view() {
|
|
542
561
|
const view = this._object.view.target;
|
|
543
|
-
invariant(view, "Table model not initialized", { "~LogMeta": "~LogMeta", F: __dxlog_file, L:
|
|
562
|
+
invariant(view, "Table model not initialized", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 197, S: this, A: ["view", "'Table model not initialized'"] });
|
|
544
563
|
return view;
|
|
545
564
|
}
|
|
546
565
|
get table() {
|
|
@@ -600,7 +619,7 @@ var TableModel = class extends Resource2 {
|
|
|
600
619
|
return this._pinnedRows;
|
|
601
620
|
}
|
|
602
621
|
get columnMeta() {
|
|
603
|
-
invariant(this._columnMeta, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L:
|
|
622
|
+
invariant(this._columnMeta, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 251, S: this, A: ["this._columnMeta", ""] });
|
|
604
623
|
return this._columnMeta;
|
|
605
624
|
}
|
|
606
625
|
get selection() {
|
|
@@ -619,7 +638,7 @@ var TableModel = class extends Resource2 {
|
|
|
619
638
|
await this._selection.open(this._ctx);
|
|
620
639
|
}
|
|
621
640
|
initializeColumnMeta() {
|
|
622
|
-
invariant(this._object.view.target, "View must be loaded before initializing column meta", { "~LogMeta": "~LogMeta", F: __dxlog_file, L:
|
|
641
|
+
invariant(this._object.view.target, "View must be loaded before initializing column meta", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 270, S: this, A: ["this._object.view.target", "'View must be loaded before initializing column meta'"] });
|
|
623
642
|
this._columnMeta = Atom2.make((get) => {
|
|
624
643
|
const fields = get(this._projection.fields);
|
|
625
644
|
const meta = Object.fromEntries(fields.map((field, index) => [
|
|
@@ -881,13 +900,13 @@ var TableModel = class extends Resource2 {
|
|
|
881
900
|
};
|
|
882
901
|
} else {
|
|
883
902
|
const currentRow = this._registry.get(this._rows)[row];
|
|
884
|
-
invariant(currentRow, "Invalid row index", { "~LogMeta": "~LogMeta", F: __dxlog_file, L:
|
|
903
|
+
invariant(currentRow, "Invalid row index", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 544, S: this, A: ["currentRow", "'Invalid row index'"] });
|
|
885
904
|
const snapshot = {
|
|
886
905
|
...getSnapshot(currentRow)
|
|
887
906
|
};
|
|
888
907
|
SchemaEx.setValue(snapshot, field.path, transformedValue);
|
|
889
908
|
const type = Obj.getType(currentRow);
|
|
890
|
-
invariant(type, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L:
|
|
909
|
+
invariant(type, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 551, S: this, A: ["type", ""] });
|
|
891
910
|
const schema = Type.getSchema(type);
|
|
892
911
|
const validationResult = validateSchema(schema, snapshot);
|
|
893
912
|
if (validationResult && validationResult.length > 0) {
|
|
@@ -1020,12 +1039,23 @@ var TableModel = class extends Resource2 {
|
|
|
1020
1039
|
if (!field) {
|
|
1021
1040
|
return;
|
|
1022
1041
|
}
|
|
1023
|
-
this.
|
|
1042
|
+
this._writeSort({
|
|
1024
1043
|
fieldId,
|
|
1025
1044
|
direction
|
|
1026
1045
|
});
|
|
1027
1046
|
}
|
|
1028
1047
|
/**
|
|
1048
|
+
* Writes the per-user sort, routing through the ViewStateManager (so the `local` backend persists)
|
|
1049
|
+
* when one is configured, otherwise updating the ephemeral atom directly.
|
|
1050
|
+
*/
|
|
1051
|
+
_writeSort(value) {
|
|
1052
|
+
if (this._viewState) {
|
|
1053
|
+
this._viewState.set(tableSortAspect, this.id, value);
|
|
1054
|
+
} else {
|
|
1055
|
+
this._registry.set(this._inMemorySort, value);
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
/**
|
|
1029
1059
|
* Toggles the sort direction for a field in-memory.
|
|
1030
1060
|
*/
|
|
1031
1061
|
toggleSort(fieldId) {
|
|
@@ -1041,7 +1071,7 @@ var TableModel = class extends Resource2 {
|
|
|
1041
1071
|
* Clears the in-memory sort order.
|
|
1042
1072
|
*/
|
|
1043
1073
|
clearSort() {
|
|
1044
|
-
this.
|
|
1074
|
+
this._writeSort(void 0);
|
|
1045
1075
|
}
|
|
1046
1076
|
/**
|
|
1047
1077
|
* Saves the current in-memory sort to the view query AST.
|
|
@@ -1066,7 +1096,7 @@ var TableModel = class extends Resource2 {
|
|
|
1066
1096
|
view2.query.ast = baseQuery.ast;
|
|
1067
1097
|
});
|
|
1068
1098
|
}
|
|
1069
|
-
this.
|
|
1099
|
+
this._writeSort(void 0);
|
|
1070
1100
|
}
|
|
1071
1101
|
/**
|
|
1072
1102
|
* Extracts the base query without order clauses.
|
|
@@ -1275,6 +1305,13 @@ var TablePresentation = class {
|
|
|
1275
1305
|
cell.accessoryHtml = `<div role="none" class="absolute end-0 inset-y-0 p-(--dx-grid-cell-content-padding-block)"><dx-anchor uri=${uri} class="dx-button w-6 aspect-square min-h-0" data-dx-grid-action="accessory"><dx-icon icon="ph--link-simple--regular"/></dx-anchor></div>`;
|
|
1276
1306
|
}
|
|
1277
1307
|
}
|
|
1308
|
+
if (props.format === Format3.TypeFormat.URL) {
|
|
1309
|
+
const value = SchemaEx2.getValue(obj, field.path);
|
|
1310
|
+
const href = typeof value === "string" ? safeHttpUrl(value) : void 0;
|
|
1311
|
+
if (href) {
|
|
1312
|
+
cell.accessoryHtml = `<div role="none" class="absolute end-0 inset-y-0 p-(--dx-grid-cell-content-padding-block)"><a href="${escapeHtmlAttribute(href)}" target="_blank" rel="noopener noreferrer" class="dx-button w-6 aspect-square min-h-0" data-dx-grid-action="accessory"><dx-icon icon="ph--arrow-square-out--regular"/></a></div>`;
|
|
1313
|
+
}
|
|
1314
|
+
}
|
|
1278
1315
|
if (props.format === Format3.TypeFormat.Boolean) {
|
|
1279
1316
|
const value = SchemaEx2.getValue(obj, field.path);
|
|
1280
1317
|
cell.accessoryHtml = tableControls.switch.render({
|
|
@@ -1395,7 +1432,7 @@ var TablePresentation = class {
|
|
|
1395
1432
|
fieldId: field.id
|
|
1396
1433
|
})}
|
|
1397
1434
|
`,
|
|
1398
|
-
className: "
|
|
1435
|
+
className: "bg-axis-surface! text-axis-text! [&>div]:flex [&>div]:items-stretch"
|
|
1399
1436
|
};
|
|
1400
1437
|
}
|
|
1401
1438
|
return cells;
|
|
@@ -1446,7 +1483,7 @@ var TablePresentation = class {
|
|
|
1446
1483
|
col: 0,
|
|
1447
1484
|
row: 0
|
|
1448
1485
|
})]: {
|
|
1449
|
-
className: "
|
|
1486
|
+
className: "bg-axis-surface!",
|
|
1450
1487
|
readonly: true,
|
|
1451
1488
|
value: ""
|
|
1452
1489
|
}
|
|
@@ -1462,7 +1499,7 @@ var TablePresentation = class {
|
|
|
1462
1499
|
header: true,
|
|
1463
1500
|
checked: this.model.selection.allRowsSelected
|
|
1464
1501
|
}),
|
|
1465
|
-
className: "
|
|
1502
|
+
className: "bg-axis-surface!",
|
|
1466
1503
|
readonly: true,
|
|
1467
1504
|
value: ""
|
|
1468
1505
|
}
|
|
@@ -1477,7 +1514,7 @@ var TablePresentation = class {
|
|
|
1477
1514
|
accessoryHtml: this.model.features.schemaEditable ? tableButtons.addColumn.render({
|
|
1478
1515
|
disabled: (this.model.projection?.getFields()?.length ?? 0) >= VIEW_FIELD_LIMIT
|
|
1479
1516
|
}) : void 0,
|
|
1480
|
-
className: "
|
|
1517
|
+
className: "bg-axis-surface!",
|
|
1481
1518
|
readonly: true,
|
|
1482
1519
|
value: ""
|
|
1483
1520
|
}
|
|
@@ -1531,6 +1568,16 @@ var TablePresentation = class {
|
|
|
1531
1568
|
return cells;
|
|
1532
1569
|
}
|
|
1533
1570
|
};
|
|
1571
|
+
var safeHttpUrl = (value) => {
|
|
1572
|
+
try {
|
|
1573
|
+
const normalized = /^https?:\/\//i.test(value) ? value : `https://${value}`;
|
|
1574
|
+
const url = new URL(normalized);
|
|
1575
|
+
return url.protocol === "http:" || url.protocol === "https:" ? url.href : void 0;
|
|
1576
|
+
} catch {
|
|
1577
|
+
return void 0;
|
|
1578
|
+
}
|
|
1579
|
+
};
|
|
1580
|
+
var escapeHtmlAttribute = (value) => value.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<").replace(/>/g, ">");
|
|
1534
1581
|
var cellClassesForRowSelection = (selected, selectionMode) => {
|
|
1535
1582
|
if (!selected) {
|
|
1536
1583
|
if (selectionMode === "single") {
|
|
@@ -1606,11 +1653,11 @@ var useProjectionModel = (schema, table, registry) => {
|
|
|
1606
1653
|
import { RegistryContext } from "@effect-atom/atom-react";
|
|
1607
1654
|
import { useContext, useEffect, useMemo, useState as useState2 } from "react";
|
|
1608
1655
|
import { Obj as Obj4 } from "@dxos/echo";
|
|
1609
|
-
import {
|
|
1610
|
-
import { isNonNullable } from "@dxos/util";
|
|
1656
|
+
import { useSelection, useSelectionActions, useViewStateManagerOptional } from "@dxos/react-ui-attention";
|
|
1611
1657
|
var useTableModel = ({ object, projection, db, rows, rowActions, features, onSelectionChanged, onRowAction, ...props }) => {
|
|
1612
1658
|
const registry = useContext(RegistryContext);
|
|
1613
|
-
const
|
|
1659
|
+
const viewState = useViewStateManagerOptional();
|
|
1660
|
+
const selected = useSelection(object && Obj4.getURI(object), "multi");
|
|
1614
1661
|
const initialSelection = useMemo(() => selected, [
|
|
1615
1662
|
object
|
|
1616
1663
|
]);
|
|
@@ -1626,6 +1673,7 @@ var useTableModel = ({ object, projection, db, rows, rowActions, features, onSel
|
|
|
1626
1673
|
object,
|
|
1627
1674
|
projection,
|
|
1628
1675
|
db,
|
|
1676
|
+
viewState,
|
|
1629
1677
|
change: createEchoChangeCallback(object),
|
|
1630
1678
|
features,
|
|
1631
1679
|
rowActions,
|
|
@@ -1642,6 +1690,7 @@ var useTableModel = ({ object, projection, db, rows, rowActions, features, onSel
|
|
|
1642
1690
|
};
|
|
1643
1691
|
}, [
|
|
1644
1692
|
registry,
|
|
1693
|
+
viewState,
|
|
1645
1694
|
object,
|
|
1646
1695
|
projection,
|
|
1647
1696
|
features,
|
|
@@ -1656,9 +1705,7 @@ var useTableModel = ({ object, projection, db, rows, rowActions, features, onSel
|
|
|
1656
1705
|
model,
|
|
1657
1706
|
rows
|
|
1658
1707
|
]);
|
|
1659
|
-
const {
|
|
1660
|
-
model?.id
|
|
1661
|
-
].filter(isNonNullable));
|
|
1708
|
+
const { multi, clear } = useSelectionActions(model?.id);
|
|
1662
1709
|
useEffect(() => {
|
|
1663
1710
|
if (!model) {
|
|
1664
1711
|
return;
|
|
@@ -1667,7 +1714,7 @@ var useTableModel = ({ object, projection, db, rows, rowActions, features, onSel
|
|
|
1667
1714
|
const selectedItems = [
|
|
1668
1715
|
...model.selection.selection
|
|
1669
1716
|
];
|
|
1670
|
-
|
|
1717
|
+
multi(selectedItems);
|
|
1671
1718
|
onSelectionChanged?.(selectedItems);
|
|
1672
1719
|
});
|
|
1673
1720
|
return () => {
|
|
@@ -1692,6 +1739,8 @@ export {
|
|
|
1692
1739
|
CheckboxStory,
|
|
1693
1740
|
SwitchStory,
|
|
1694
1741
|
tableControls,
|
|
1742
|
+
FieldSortSchema,
|
|
1743
|
+
tableSortAspect,
|
|
1695
1744
|
createEchoChangeCallback,
|
|
1696
1745
|
createDirectChangeCallback,
|
|
1697
1746
|
TableModel,
|
|
@@ -1701,4 +1750,4 @@ export {
|
|
|
1701
1750
|
useProjectionModel,
|
|
1702
1751
|
useTableModel
|
|
1703
1752
|
};
|
|
1704
|
-
//# sourceMappingURL=chunk-
|
|
1753
|
+
//# sourceMappingURL=chunk-E6V274ZW.mjs.map
|