@dxos/react-ui-table 0.8.3 → 0.8.4-main.1f223c7
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-63UUF4IG.mjs +66 -0
- package/dist/lib/browser/chunk-63UUF4IG.mjs.map +7 -0
- package/dist/lib/browser/chunk-BBXDTWCX.mjs +1822 -0
- package/dist/lib/browser/chunk-BBXDTWCX.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +814 -2152
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +124 -0
- package/dist/lib/browser/testing/index.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +3 -5
- package/dist/lib/node-esm/chunk-K734DJB7.mjs +67 -0
- package/dist/lib/node-esm/chunk-K734DJB7.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-RNQDU7IQ.mjs +1823 -0
- package/dist/lib/node-esm/chunk-RNQDU7IQ.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +814 -2152
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +125 -0
- package/dist/lib/node-esm/testing/index.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +3 -5
- package/dist/types/src/components/Table/ColumnActionsMenu.d.ts +1 -1
- package/dist/types/src/components/Table/ColumnActionsMenu.d.ts.map +1 -1
- package/dist/types/src/components/Table/ColumnSettings.d.ts +4 -2
- package/dist/types/src/components/Table/ColumnSettings.d.ts.map +1 -1
- package/dist/types/src/components/Table/CreateRefPanel.d.ts +1 -1
- package/dist/types/src/components/Table/CreateRefPanel.d.ts.map +1 -1
- package/dist/types/src/components/Table/DynamicTable.d.ts +1 -1
- package/dist/types/src/components/Table/DynamicTable.d.ts.map +1 -1
- package/dist/types/src/components/Table/DynamicTable.stories.d.ts +50 -2
- package/dist/types/src/components/Table/DynamicTable.stories.d.ts.map +1 -1
- package/dist/types/src/components/Table/Relations.stories.d.ts +44 -0
- package/dist/types/src/components/Table/Relations.stories.d.ts.map +1 -0
- package/dist/types/src/components/Table/RowActionsMenu.d.ts +1 -1
- package/dist/types/src/components/Table/RowActionsMenu.d.ts.map +1 -1
- package/dist/types/src/components/Table/Table.d.ts +3 -2
- package/dist/types/src/components/Table/Table.d.ts.map +1 -1
- package/dist/types/src/components/Table/Table.stories.d.ts +42 -3
- package/dist/types/src/components/Table/Table.stories.d.ts.map +1 -1
- package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts +2 -1
- package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts.map +1 -1
- package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts +8 -3
- package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts.map +1 -1
- package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts +9 -15
- package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts.map +1 -1
- package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts +39 -3
- package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TableToolbar/TableToolbar.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +3 -40
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useAddRow.d.ts +14 -0
- package/dist/types/src/hooks/useAddRow.d.ts.map +1 -0
- package/dist/types/src/hooks/useTableModel.d.ts +8 -7
- package/dist/types/src/hooks/useTableModel.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/model/modal-controller.d.ts.map +1 -1
- package/dist/types/src/model/selection-model.d.ts +2 -1
- package/dist/types/src/model/selection-model.d.ts.map +1 -1
- package/dist/types/src/model/table-model.d.ts +59 -21
- package/dist/types/src/model/table-model.d.ts.map +1 -1
- package/dist/types/src/model/table-presentation.d.ts +10 -1
- package/dist/types/src/model/table-presentation.d.ts.map +1 -1
- package/dist/types/src/model/table-sorting.d.ts +3 -4
- package/dist/types/src/model/table-sorting.d.ts.map +1 -1
- package/dist/types/src/playwright/playwright.config.d.ts +3 -0
- package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +2 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/useTestTableModel.d.ts +22 -0
- package/dist/types/src/testing/useTestTableModel.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +5 -6
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +1 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +28 -0
- package/dist/types/src/types/schema.d.ts.map +1 -0
- package/dist/types/src/util/dynamic-table.d.ts +4 -5
- package/dist/types/src/util/dynamic-table.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +0 -1
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/table-buttons.d.ts +15 -1
- package/dist/types/src/util/table-buttons.d.ts.map +1 -1
- package/dist/types/src/util/table-controls.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +57 -44
- package/src/components/Table/ColumnActionsMenu.tsx +1 -1
- package/src/components/Table/ColumnSettings.tsx +15 -11
- package/src/components/Table/CreateRefPanel.tsx +30 -11
- package/src/components/Table/DynamicTable.stories.tsx +8 -5
- package/src/components/Table/DynamicTable.tsx +17 -10
- package/src/components/Table/{relations.stories.tsx → Relations.stories.tsx} +56 -47
- package/src/components/Table/RowActionsMenu.tsx +3 -3
- package/src/components/Table/Table.stories.tsx +126 -159
- package/src/components/Table/Table.tsx +167 -123
- package/src/components/TableCellEditor/CellValidationMessage.tsx +7 -2
- package/src/components/TableCellEditor/FormCellEditor.tsx +158 -48
- package/src/components/TableCellEditor/TableCellEditor.stories.tsx +31 -47
- package/src/components/TableCellEditor/TableCellEditor.tsx +106 -111
- package/src/components/TableToolbar/TableToolbar.tsx +2 -2
- package/src/components/testing.ts +7 -24
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useAddRow.ts +38 -0
- package/src/hooks/useTableModel.ts +21 -17
- package/src/index.ts +1 -2
- package/src/model/modal-controller.ts +1 -1
- package/src/model/selection-model.ts +6 -3
- package/src/model/table-model.test.ts +12 -9
- package/src/model/table-model.ts +288 -88
- package/src/model/table-presentation.test.ts +12 -8
- package/src/model/table-presentation.ts +263 -138
- package/src/model/table-sorting.ts +22 -13
- package/src/playwright/playwright.config.ts +17 -0
- package/src/playwright/smoke.spec.ts +137 -44
- package/src/testing/index.ts +5 -0
- package/src/testing/useTestTableModel.ts +124 -0
- package/src/translations.ts +7 -5
- package/src/types/index.ts +2 -2
- package/src/types/schema.ts +73 -0
- package/src/util/dynamic-table.ts +24 -21
- package/src/util/index.ts +0 -1
- package/src/util/schema.ts +1 -1
- package/src/util/table-buttons.ts +28 -4
- package/src/util/table-controls.ts +4 -1
- package/dist/lib/browser/chunk-TL7CKQQV.mjs +0 -27
- package/dist/lib/browser/chunk-TL7CKQQV.mjs.map +0 -7
- package/dist/lib/node/chunk-O2VPBNS5.cjs +0 -50
- package/dist/lib/node/chunk-O2VPBNS5.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -2739
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/types/index.cjs +0 -31
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-GBT6GD4G.mjs +0 -29
- package/dist/lib/node-esm/chunk-GBT6GD4G.mjs.map +0 -7
- package/dist/types/src/components/Table/relations.stories.d.ts +0 -9
- package/dist/types/src/components/Table/relations.stories.d.ts.map +0 -1
- package/dist/types/src/components/TableCellEditor/extension.d.ts +0 -13
- package/dist/types/src/components/TableCellEditor/extension.d.ts.map +0 -1
- package/dist/types/src/types/table.d.ts +0 -56
- package/dist/types/src/types/table.d.ts.map +0 -1
- package/dist/types/src/util/table.d.ts +0 -14
- package/dist/types/src/util/table.d.ts.map +0 -1
- package/src/components/TableCellEditor/extension.ts +0 -61
- package/src/playwright/playwright.config.cts +0 -18
- package/src/types/table.ts +0 -27
- package/src/util/table.ts +0 -127
|
@@ -1,11 +1,50 @@
|
|
|
1
1
|
import '@dxos-theme';
|
|
2
|
-
import { type
|
|
2
|
+
import { type Meta, type StoryObj } from '@storybook/react-vite';
|
|
3
|
+
import React from 'react';
|
|
3
4
|
type StoryProps = {
|
|
4
5
|
rows?: number;
|
|
5
6
|
};
|
|
6
|
-
declare const meta:
|
|
7
|
+
declare const meta: {
|
|
8
|
+
title: string;
|
|
9
|
+
render: () => React.JSX.Element;
|
|
10
|
+
parameters: {
|
|
11
|
+
translations: [{
|
|
12
|
+
readonly 'en-US': {
|
|
13
|
+
readonly "react-ui-table": {
|
|
14
|
+
readonly 'object placeholder': "New table";
|
|
15
|
+
readonly 'create object label': "Create table";
|
|
16
|
+
readonly 'table name placeholder': "Table name";
|
|
17
|
+
readonly 'settings title': "Table settings";
|
|
18
|
+
readonly 'table schema label': "Record type";
|
|
19
|
+
readonly 'new schema': "New record type";
|
|
20
|
+
readonly 'continue label': "Continue";
|
|
21
|
+
readonly 'create stack section label': "Create table";
|
|
22
|
+
readonly 'add row label': "Add row";
|
|
23
|
+
readonly 'create comment': "Create thread";
|
|
24
|
+
readonly 'column action sort descending': "Sort Descending";
|
|
25
|
+
readonly 'column action sort ascending': "Sort Ascending";
|
|
26
|
+
readonly 'column action clear sorting': "Clear Sorting";
|
|
27
|
+
readonly 'column action settings': "Column Settings";
|
|
28
|
+
readonly 'column action delete': "Delete Column";
|
|
29
|
+
readonly 'delete row label': "Delete row";
|
|
30
|
+
readonly 'bulk delete row label': "Delete selected rows";
|
|
31
|
+
readonly 'column deleted label': "Column deleted";
|
|
32
|
+
readonly 'new column button label': "Create column";
|
|
33
|
+
readonly 'create new object label': "Create new object “{{text}}”";
|
|
34
|
+
readonly 'save view label': "Save changes to view";
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
}];
|
|
38
|
+
layout: string;
|
|
39
|
+
controls: {
|
|
40
|
+
disable: boolean;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
decorators: import("@storybook/react").Decorator[];
|
|
44
|
+
};
|
|
7
45
|
export default meta;
|
|
8
|
-
|
|
46
|
+
type Story = StoryObj<typeof meta>;
|
|
47
|
+
export declare const Default: Story;
|
|
9
48
|
export declare const StaticSchema: StoryObj;
|
|
10
49
|
export declare const ArrayOfObjects: StoryObj;
|
|
11
50
|
export declare const Tags: Meta<StoryProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"Table.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAsB,MAAM,OAAO,CAAC;AA+I3C,KAAK,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAQpC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC6B,CAAC;AAExC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,YAAY,EAAE,QAsB1B,CAAC;AAmBF,eAAO,MAAM,cAAc,EAAE,QAuB5B,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,CAsDjC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { type GridScopedProps } from '@dxos/react-ui-grid';
|
|
3
3
|
export type CellValidationMessageProps = {
|
|
4
4
|
validationError: string | null;
|
|
5
|
+
variant?: 'error' | 'warning';
|
|
5
6
|
};
|
|
6
|
-
export declare const CellValidationMessage: ({ validationError, __gridScope, }: GridScopedProps<CellValidationMessageProps>) => React.JSX.Element | null;
|
|
7
|
+
export declare const CellValidationMessage: ({ validationError, variant, __gridScope, }: GridScopedProps<CellValidationMessageProps>) => React.JSX.Element | null;
|
|
7
8
|
//# sourceMappingURL=CellValidationMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellValidationMessage.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/CellValidationMessage.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,
|
|
1
|
+
{"version":3,"file":"CellValidationMessage.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/CellValidationMessage.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,qBAAqB,CAAC;AAE3E,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,4CAInC,eAAe,CAAC,0BAA0B,CAAC,6BAyB7C,CAAC"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { type Schema } from 'effect';
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { type Client } from '@dxos/react-client';
|
|
4
|
+
import { type FormProps } from '@dxos/react-ui-form';
|
|
3
5
|
import { type FieldProjection } from '@dxos/schema';
|
|
4
|
-
import { type TableModel } from '../../model';
|
|
6
|
+
import { type ModalController, type TableModel } from '../../model';
|
|
5
7
|
type FormCellEditorProps = {
|
|
6
8
|
fieldProjection: FieldProjection;
|
|
7
9
|
model?: TableModel;
|
|
8
10
|
schema?: Schema.Schema.AnyNoContext;
|
|
11
|
+
onSave?: () => void;
|
|
12
|
+
client?: Client;
|
|
13
|
+
modals?: ModalController;
|
|
9
14
|
__gridScope: any;
|
|
10
|
-
}
|
|
11
|
-
export declare const FormCellEditor: ({ fieldProjection, model, schema, __gridScope }: FormCellEditorProps) => React.JSX.Element | null;
|
|
15
|
+
} & Omit<FormProps<any>, 'values' | 'schema'>;
|
|
16
|
+
export declare const FormCellEditor: ({ fieldProjection, model, schema, onSave, client, modals, __gridScope, ...formProps }: FormCellEditorProps) => React.JSX.Element | null;
|
|
12
17
|
export {};
|
|
13
18
|
//# sourceMappingURL=FormCellEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormCellEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/FormCellEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"FormCellEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/FormCellEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAA4D,MAAM,OAAO,CAAC;AAMjF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAIpE,KAAK,mBAAmB,GAAG;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,GAAG,CAAC;CAClB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAI9C,eAAO,MAAM,cAAc,GAAI,uFAS5B,mBAAmB,6BAiKrB,CAAC"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
import { type Completion } from '@codemirror/autocomplete';
|
|
2
2
|
import { type Schema } from 'effect/Schema';
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import {
|
|
5
|
-
import { type
|
|
6
|
-
import { type
|
|
7
|
-
import { type
|
|
8
|
-
declare const newValue: unique symbol;
|
|
4
|
+
import type { Client } from '@dxos/client';
|
|
5
|
+
import { type DxGridAxis, type DxGridPosition } from '@dxos/lit-grid';
|
|
6
|
+
import { type GridScopedProps } from '@dxos/react-ui-grid';
|
|
7
|
+
import { type ModalController, type TableModel } from '../../model';
|
|
9
8
|
/**
|
|
10
9
|
* Option to create new object/value.
|
|
11
10
|
*/
|
|
12
|
-
export declare const createOption: (text: string) => {
|
|
13
|
-
[newValue]: boolean;
|
|
14
|
-
text: string;
|
|
15
|
-
};
|
|
16
11
|
export type QueryResult = Pick<Completion, 'label'> & {
|
|
17
12
|
data: any;
|
|
18
13
|
};
|
|
@@ -20,11 +15,10 @@ export type TableCellEditorProps = {
|
|
|
20
15
|
model?: TableModel;
|
|
21
16
|
modals?: ModalController;
|
|
22
17
|
schema?: Schema.AnyNoContext;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
onFocus?: (axis?: DxGridAxis, delta?: -1 | 0 | 1, cell?: DxGridPosition) => void;
|
|
19
|
+
onSave?: () => void;
|
|
20
|
+
client?: Client;
|
|
26
21
|
};
|
|
27
|
-
export declare const TableValueEditor: ({ model, modals, schema,
|
|
28
|
-
export declare const TableCellEditor: ({ model, modals,
|
|
29
|
-
export {};
|
|
22
|
+
export declare const TableValueEditor: ({ model, modals, schema, onFocus, onSave, client, __gridScope, }: GridScopedProps<TableCellEditorProps>) => React.JSX.Element;
|
|
23
|
+
export declare const TableCellEditor: ({ model, modals, onFocus, onSave, __gridScope, }: GridScopedProps<TableCellEditorProps>) => React.JSX.Element;
|
|
30
24
|
//# sourceMappingURL=TableCellEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCellEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/TableCellEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"TableCellEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/TableCellEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAiD,MAAM,OAAO,CAAC;AAGtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAML,KAAK,eAAe,EAIrB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAKpE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACjF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAKF,eAAO,MAAM,gBAAgB,GAAI,kEAQ9B,eAAe,CAAC,oBAAoB,CAAC,sBAoCvC,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,kDAM7B,eAAe,CAAC,oBAAoB,CAAC,sBA6OvC,CAAC"}
|
|
@@ -1,11 +1,47 @@
|
|
|
1
1
|
import '@dxos-theme';
|
|
2
|
-
import { type
|
|
2
|
+
import { type StoryObj } from '@storybook/react-vite';
|
|
3
|
+
import React from 'react';
|
|
3
4
|
import { type GridEditing } from '@dxos/react-ui-grid';
|
|
4
5
|
type StoryProps = {
|
|
5
6
|
editing: GridEditing;
|
|
6
7
|
};
|
|
7
|
-
declare const meta:
|
|
8
|
+
declare const meta: {
|
|
9
|
+
title: string;
|
|
10
|
+
component: ({ editing }: StoryProps) => React.JSX.Element;
|
|
11
|
+
render: ({ editing }: StoryProps) => React.JSX.Element;
|
|
12
|
+
parameters: {
|
|
13
|
+
translations: [{
|
|
14
|
+
readonly 'en-US': {
|
|
15
|
+
readonly "react-ui-table": {
|
|
16
|
+
readonly 'object placeholder': "New table";
|
|
17
|
+
readonly 'create object label': "Create table";
|
|
18
|
+
readonly 'table name placeholder': "Table name";
|
|
19
|
+
readonly 'settings title': "Table settings";
|
|
20
|
+
readonly 'table schema label': "Record type";
|
|
21
|
+
readonly 'new schema': "New record type";
|
|
22
|
+
readonly 'continue label': "Continue";
|
|
23
|
+
readonly 'create stack section label': "Create table";
|
|
24
|
+
readonly 'add row label': "Add row";
|
|
25
|
+
readonly 'create comment': "Create thread";
|
|
26
|
+
readonly 'column action sort descending': "Sort Descending";
|
|
27
|
+
readonly 'column action sort ascending': "Sort Ascending";
|
|
28
|
+
readonly 'column action clear sorting': "Clear Sorting";
|
|
29
|
+
readonly 'column action settings': "Column Settings";
|
|
30
|
+
readonly 'column action delete': "Delete Column";
|
|
31
|
+
readonly 'delete row label': "Delete row";
|
|
32
|
+
readonly 'bulk delete row label': "Delete selected rows";
|
|
33
|
+
readonly 'column deleted label': "Column deleted";
|
|
34
|
+
readonly 'new column button label': "Create column";
|
|
35
|
+
readonly 'create new object label': "Create new object “{{text}}”";
|
|
36
|
+
readonly 'save view label': "Save changes to view";
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
}];
|
|
40
|
+
layout: string;
|
|
41
|
+
};
|
|
42
|
+
decorators: import("@storybook/react").Decorator[];
|
|
43
|
+
};
|
|
8
44
|
export default meta;
|
|
9
|
-
type Story = StoryObj<
|
|
45
|
+
type Story = StoryObj<typeof meta>;
|
|
10
46
|
export declare const Default: Story;
|
|
11
47
|
//# sourceMappingURL=TableCellEditor.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCellEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/TableCellEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,
|
|
1
|
+
{"version":3,"file":"TableCellEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/TableCellEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAuC,MAAM,OAAO,CAAC;AAQ5D,OAAO,EAAQ,KAAK,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAW7E,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAyCF,QAAA,MAAM,IAAI;;6BAvCyB,UAAU;0BAAV,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmER,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableToolbar/TableToolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAGL,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"TableToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableToolbar/TableToolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAMhB,MAAM,qBAAqB,CAAC;AAK7B,MAAM,MAAM,4BAA4B,GAAG;IAAE,IAAI,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEzE,KAAK,iBAAiB,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAC7C,iBAAiB,GAAG;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;CACzC,CACF,CAAC;AA0CF,eAAO,MAAM,YAAY,GAAI,wEAO1B,iBAAiB,sBAanB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema } from 'effect';
|
|
2
|
-
import {
|
|
2
|
+
import { type ProjectionModel } from '@dxos/schema';
|
|
3
3
|
export declare const TestSchema: import("@dxos/echo-schema").TypedObjectPrototype<import("@dxos/echo-schema").TypedObjectFields<{
|
|
4
4
|
id: import("@dxos/keys").ObjectIdClass;
|
|
5
5
|
name: Schema.optional<typeof Schema.String>;
|
|
@@ -13,43 +13,6 @@ export declare const TestSchema: import("@dxos/echo-schema").TypedObjectPrototyp
|
|
|
13
13
|
active: Schema.optional<typeof Schema.Boolean>;
|
|
14
14
|
netWorth: Schema.optional<typeof Schema.Number>;
|
|
15
15
|
}>>;
|
|
16
|
-
export declare const createTable: (schema?: import("@dxos/echo-schema").TypedObjectPrototype<import("@dxos/echo-schema").TypedObjectFields<{
|
|
17
|
-
id: import("@dxos/keys").ObjectIdClass;
|
|
18
|
-
name: Schema.optional<typeof Schema.String>;
|
|
19
|
-
age: Schema.optional<typeof Schema.Number>;
|
|
20
|
-
active: Schema.optional<typeof Schema.Boolean>;
|
|
21
|
-
netWorth: Schema.optional<typeof Schema.Number>;
|
|
22
|
-
}, import("@dxos/echo-schema").TypedObjectOptions>, Schema.Struct.Encoded<{
|
|
23
|
-
id: import("@dxos/keys").ObjectIdClass;
|
|
24
|
-
name: Schema.optional<typeof Schema.String>;
|
|
25
|
-
age: Schema.optional<typeof Schema.Number>;
|
|
26
|
-
active: Schema.optional<typeof Schema.Boolean>;
|
|
27
|
-
netWorth: Schema.optional<typeof Schema.Number>;
|
|
28
|
-
}>>) => import("@dxos/live-object").Live<import("@dxos/echo/Type").OfKind<import("@dxos/echo-schema").EntityKind.Object> & {
|
|
29
|
-
id: string;
|
|
30
|
-
name?: string | undefined;
|
|
31
|
-
view?: import("@dxos/echo-schema").Ref<import("@dxos/echo-schema").TypedObjectFields<{
|
|
32
|
-
name: Schema.SchemaClass<string, string, never>;
|
|
33
|
-
query: Schema.Schema<import("@dxos/echo-schema").QueryType, import("@dxos/echo-schema").QueryType, never>;
|
|
34
|
-
schema: Schema.optional<Schema.Schema<import("@dxos/echo-schema").JsonSchemaType, import("@dxos/echo-schema").JsonSchemaType, never>>;
|
|
35
|
-
fields: Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
|
|
36
|
-
id: typeof Schema.String;
|
|
37
|
-
path: Schema.Schema<import("@dxos/effect").JsonPath, import("@dxos/effect").JsonPath, never>;
|
|
38
|
-
visible: Schema.optional<typeof Schema.Boolean>;
|
|
39
|
-
size: Schema.optional<typeof Schema.Number>;
|
|
40
|
-
referencePath: Schema.optional<Schema.Schema<import("@dxos/effect").JsonPath, import("@dxos/effect").JsonPath, never>>;
|
|
41
|
-
}>>>>;
|
|
42
|
-
hiddenFields: Schema.optional<Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
|
|
43
|
-
id: typeof Schema.String;
|
|
44
|
-
path: Schema.Schema<import("@dxos/effect").JsonPath, import("@dxos/effect").JsonPath, never>;
|
|
45
|
-
visible: Schema.optional<typeof Schema.Boolean>;
|
|
46
|
-
size: Schema.optional<typeof Schema.Number>;
|
|
47
|
-
referencePath: Schema.optional<Schema.Schema<import("@dxos/effect").JsonPath, import("@dxos/effect").JsonPath, never>>;
|
|
48
|
-
}>>>>>;
|
|
49
|
-
metadata: Schema.optional<Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Any>>>;
|
|
50
|
-
}, import("@dxos/echo-schema").TypedObjectOptions>> | undefined;
|
|
51
|
-
threads?: readonly import("@dxos/echo-schema").Ref<import("@dxos/echo-schema").Expando>[] | undefined;
|
|
52
|
-
}>;
|
|
53
16
|
export declare const createItems: (n: number) => {
|
|
54
17
|
name: string;
|
|
55
18
|
age: number;
|
|
@@ -57,10 +20,10 @@ export declare const createItems: (n: number) => {
|
|
|
57
20
|
netWorth: number;
|
|
58
21
|
}[];
|
|
59
22
|
export type SimulatorProps = {
|
|
60
|
-
|
|
23
|
+
projection: ProjectionModel;
|
|
61
24
|
items: any[];
|
|
62
25
|
insertInterval?: number;
|
|
63
26
|
updateInterval?: number;
|
|
64
27
|
};
|
|
65
|
-
export declare const useSimulator: ({ items,
|
|
28
|
+
export declare const useSimulator: ({ items, projection, insertInterval, updateInterval }: SimulatorProps) => void;
|
|
66
29
|
//# sourceMappingURL=testing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../src/components/testing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../src/components/testing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMhC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,UAAU;;;;;;;;;;;;GAMrB,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM;;;;;GAWpC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,uDAAuD,cAAc,SA6DjG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Schema } from 'effect';
|
|
2
|
+
import { type Space } from '@dxos/client/echo';
|
|
3
|
+
import { type InsertRowResult } from '../model';
|
|
4
|
+
export type UseAddRowParams = {
|
|
5
|
+
space?: Space;
|
|
6
|
+
schema?: Schema.Schema.AnyNoContext;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Hook that provides a safe row creation function that handles schema validation failures.
|
|
10
|
+
* Returns a callback that attempts to create an object and returns boolean success/failure.
|
|
11
|
+
* Can accept optional data to create objects with specific content (used for committing draft rows).
|
|
12
|
+
*/
|
|
13
|
+
export declare const useAddRow: ({ space, schema }: UseAddRowParams) => (data?: any) => InsertRowResult;
|
|
14
|
+
//# sourceMappingURL=useAddRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAddRow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAddRow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,mBAAmB,eAAe,aAEhD,GAAG,KAAG,eAajB,CAAC"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type
|
|
3
|
-
import { type
|
|
4
|
-
import { type
|
|
1
|
+
import { type JsonSchemaType } from '@dxos/echo-schema';
|
|
2
|
+
import { type Live } from '@dxos/live-object';
|
|
3
|
+
import { type DataType, type ProjectionModel } from '@dxos/schema';
|
|
4
|
+
import { TableModel, type TableModelProps, type TableRow, type TableRowAction } from '../model';
|
|
5
5
|
export type UseTableModelParams<T extends TableRow = TableRow> = {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
view?: DataType.View;
|
|
7
|
+
schema?: JsonSchemaType;
|
|
8
|
+
projection?: ProjectionModel;
|
|
8
9
|
rows?: Live<T>[];
|
|
9
10
|
rowActions?: TableRowAction[];
|
|
10
11
|
onSelectionChanged?: (selection: string[]) => void;
|
|
11
12
|
onRowAction?: (actionId: string, data: T) => void;
|
|
12
13
|
} & Pick<TableModelProps<T>, 'features' | 'onInsertRow' | 'onDeleteRows' | 'onDeleteColumn' | 'onCellUpdate' | 'onRowOrderChange'>;
|
|
13
|
-
export declare const useTableModel: <T extends TableRow = TableRow>({
|
|
14
|
+
export declare const useTableModel: <T extends TableRow = TableRow>({ view, schema, projection, rows, rowActions, features, onSelectionChanged, onRowAction, ...props }: UseTableModelParams<T>) => TableModel<T> | undefined;
|
|
14
15
|
//# sourceMappingURL=useTableModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTableModel.ts"],"names":[],"mappings":"AAQA,OAAO,
|
|
1
|
+
{"version":3,"file":"useTableModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTableModel.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAEhG,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI;IAC/D,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACnD,GAAG,IAAI,CACN,eAAe,CAAC,CAAC,CAAC,EAClB,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,gBAAgB,GAAG,cAAc,GAAG,kBAAkB,CACrG,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,qGAU1D,mBAAmB,CAAC,CAAC,CAAC,KAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAkE3C,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import translations from './translations';
|
|
1
|
+
import { translations } from './translations';
|
|
2
2
|
export * from './components';
|
|
3
3
|
export * from './hooks';
|
|
4
4
|
export * from './model';
|
|
5
|
-
export * from './types';
|
|
6
5
|
export * from './util';
|
|
7
6
|
export { translations };
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,YAAY,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal-controller.d.ts","sourceRoot":"","sources":["../../../../src/model/modal-controller.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"modal-controller.d.ts","sourceRoot":"","sources":["../../../../src/model/modal-controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CACrC,GACD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8E;IAE1G,IAAW,KAAK,sDAEf;IAED,IAAW,OAAO,IACW,SAAS,CAAC,iBAAiB,CAAC,CACxD;IAEM,UAAU,GAAI,SAAS,WAAW,UAEvC;IAEK,WAAW,GAAI,UAAU,MAAM,UAEpC;IAEK,cAAc,GAAI,SAAS,MAAM,UAEtC;IAEK,iBAAiB,aAEtB;IAEK,kBAAkB,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,UAE7D;IAEK,kBAAkB,aAWvB;IAEK,aAAa,GAClB,UAAU,MAAM,EAChB,YAAY,OAAO,GAAG,IAAI,EAC1B,gBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,UAanC;IAEK,KAAK,aAEV;CACH"}
|
|
@@ -5,12 +5,13 @@ export type SelectionMode = 'single' | 'multiple';
|
|
|
5
5
|
export declare class SelectionModel<T extends TableRow> extends Resource {
|
|
6
6
|
private readonly _rows;
|
|
7
7
|
private readonly _selectionMode;
|
|
8
|
+
private readonly _initialSelection;
|
|
8
9
|
private readonly _onSelectionChanged?;
|
|
9
10
|
private readonly _selection;
|
|
10
11
|
private readonly _validSelectedIds;
|
|
11
12
|
private readonly _hasSelection;
|
|
12
13
|
private readonly _allSelected;
|
|
13
|
-
constructor(_rows: ReadonlySignal<T[]>, _selectionMode: SelectionMode, _onSelectionChanged?: (() => void) | undefined);
|
|
14
|
+
constructor(_rows: ReadonlySignal<T[]>, _selectionMode: SelectionMode, _initialSelection: string[], _onSelectionChanged?: (() => void) | undefined);
|
|
14
15
|
protected _open(): Promise<void>;
|
|
15
16
|
get selection(): ReadonlySignal<Set<string>>;
|
|
16
17
|
get hasSelection(): ReadonlySignal<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection-model.d.ts","sourceRoot":"","sources":["../../../../src/model/selection-model.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"selection-model.d.ts","sourceRoot":"","sources":["../../../../src/model/selection-model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAyC,MAAM,sBAAsB,CAAC;AAElG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElD,qBAAa,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,QAAQ;IAyB5D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IA3BvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAQ/B;IAEH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkE;IAEhG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAO1B;gBAGgB,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAC1B,cAAc,EAAE,aAAa,EAC7B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,mBAAmB,CAAC,GAAE,MAAM,IAAI,aAAA;cAM1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY/C,IAAW,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAElD;IAED,IAAW,YAAY,IAAI,cAAc,CAAC,OAAO,CAAC,CAEjD;IAED,IAAW,cAAc,IAAI,cAAc,CAAC,OAAO,CAAC,CAEnD;IAED,IAAW,aAAa,IAAI,aAAa,CAExC;IAEM,eAAe,QAAO,CAAC,EAAE,CAG9B;IAEK,kBAAkB,GAAI,UAAU,MAAM,KAAG,OAAO,CAGrD;IAEK,gBAAgB,GAAI,QAAQ,CAAC,KAAG,OAAO,CAE5C;IAMK,0BAA0B,GAAI,UAAU,MAAM,KAAG,IAAI,CAc1D;IAEK,YAAY,GAAI,MAAM,KAAK,GAAG,MAAM,KAAG,IAAI,CAWhD;CACH"}
|
|
@@ -1,23 +1,30 @@
|
|
|
1
1
|
import { type ReadonlySignal } from '@preact/signals-core';
|
|
2
|
-
import { type Space } from '@dxos/client/echo';
|
|
3
2
|
import { Resource } from '@dxos/context';
|
|
4
|
-
import { type
|
|
3
|
+
import { type JsonProp, type JsonSchemaType } from '@dxos/echo-schema';
|
|
4
|
+
import { type Label } from '@dxos/react-ui';
|
|
5
5
|
import { type DxGridAxisMeta, type DxGridPlanePosition, type DxGridPosition } from '@dxos/react-ui-grid';
|
|
6
|
-
import { type
|
|
6
|
+
import { type DataType, type FieldSortType, ProjectionModel, type ValidationError } from '@dxos/schema';
|
|
7
|
+
import { Table } from '../types';
|
|
7
8
|
import { type SelectionMode, SelectionModel } from './selection-model';
|
|
8
9
|
import { TableSorting } from './table-sorting';
|
|
10
|
+
export type TableCellType = 'standard' | 'draft' | 'header';
|
|
9
11
|
export type ValidationResult = {
|
|
10
12
|
valid: true;
|
|
11
13
|
} | {
|
|
12
14
|
valid: false;
|
|
13
15
|
error: string;
|
|
14
16
|
};
|
|
17
|
+
export type DraftRow<T extends TableRow = TableRow> = {
|
|
18
|
+
data: T;
|
|
19
|
+
valid: boolean;
|
|
20
|
+
validationErrors: ValidationError[];
|
|
21
|
+
};
|
|
15
22
|
export type TableRow = Record<JsonProp, any> & {
|
|
16
23
|
id: string;
|
|
17
24
|
};
|
|
18
25
|
export type TableRowAction = {
|
|
19
26
|
id: string;
|
|
20
|
-
|
|
27
|
+
label: Label;
|
|
21
28
|
};
|
|
22
29
|
export type TableFeatures = {
|
|
23
30
|
selection: {
|
|
@@ -27,19 +34,21 @@ export type TableFeatures = {
|
|
|
27
34
|
dataEditable: boolean;
|
|
28
35
|
schemaEditable: boolean;
|
|
29
36
|
};
|
|
37
|
+
export type InsertRowResult = 'draft' | 'final';
|
|
30
38
|
export type TableModelProps<T extends TableRow = TableRow> = {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
projection: ViewProjection;
|
|
39
|
+
view: DataType.View;
|
|
40
|
+
schema: JsonSchemaType;
|
|
41
|
+
projection?: ProjectionModel;
|
|
35
42
|
features?: Partial<TableFeatures>;
|
|
36
43
|
sorting?: FieldSortType[];
|
|
44
|
+
initialSelection?: string[];
|
|
37
45
|
pinnedRows?: {
|
|
38
46
|
top: number[];
|
|
39
47
|
bottom: number[];
|
|
40
48
|
};
|
|
41
49
|
rowActions?: TableRowAction[];
|
|
42
|
-
|
|
50
|
+
onResolveSchema?: (typename: string) => Promise<JsonSchemaType>;
|
|
51
|
+
onInsertRow?: (data?: any) => InsertRowResult;
|
|
43
52
|
onDeleteRows?: (index: number, obj: T[]) => void;
|
|
44
53
|
onDeleteColumn?: (fieldId: string) => void;
|
|
45
54
|
onCellUpdate?: (cell: DxGridPosition) => void;
|
|
@@ -47,10 +56,9 @@ export type TableModelProps<T extends TableRow = TableRow> = {
|
|
|
47
56
|
onRowAction?: (actionId: string, data: T) => void;
|
|
48
57
|
};
|
|
49
58
|
export declare class TableModel<T extends TableRow = TableRow> extends Resource {
|
|
50
|
-
private readonly _id;
|
|
51
|
-
private readonly _space;
|
|
52
59
|
private readonly _view;
|
|
53
60
|
private readonly _projection;
|
|
61
|
+
private _table?;
|
|
54
62
|
private readonly _visibleRange;
|
|
55
63
|
private readonly _onInsertRow?;
|
|
56
64
|
private readonly _onDeleteRows?;
|
|
@@ -61,21 +69,22 @@ export declare class TableModel<T extends TableRow = TableRow> extends Resource
|
|
|
61
69
|
private readonly _rowActions;
|
|
62
70
|
private readonly _features;
|
|
63
71
|
private readonly _rows;
|
|
72
|
+
private readonly _draftRows;
|
|
64
73
|
private readonly _sorting;
|
|
65
74
|
private _pinnedRows;
|
|
66
75
|
private _selection;
|
|
67
76
|
private _columnMeta?;
|
|
68
|
-
constructor({
|
|
69
|
-
get id(): string
|
|
70
|
-
get
|
|
71
|
-
get
|
|
72
|
-
get projection():
|
|
77
|
+
constructor({ view, schema, projection, features, sorting, initialSelection, pinnedRows, rowActions, onCellUpdate, onDeleteColumn, onDeleteRows, onInsertRow, onRowOrderChange, onRowAction, }: TableModelProps<T>);
|
|
78
|
+
get id(): string;
|
|
79
|
+
get view(): DataType.View;
|
|
80
|
+
get table(): Table.Table;
|
|
81
|
+
get projection(): ProjectionModel;
|
|
73
82
|
get rows(): ReadonlySignal<T[]>;
|
|
74
83
|
get features(): TableFeatures;
|
|
75
84
|
/**
|
|
76
85
|
* @reactive
|
|
77
86
|
*/
|
|
78
|
-
get sorting(): TableSorting<T
|
|
87
|
+
get sorting(): TableSorting<T>;
|
|
79
88
|
/**
|
|
80
89
|
* Gets the row data at the specified display index.
|
|
81
90
|
*/
|
|
@@ -91,19 +100,48 @@ export declare class TableModel<T extends TableRow = TableRow> extends Resource
|
|
|
91
100
|
private initializeEffects;
|
|
92
101
|
setRows: (obj: T[]) => void;
|
|
93
102
|
getRowCount: () => number;
|
|
103
|
+
/**
|
|
104
|
+
* @reactive
|
|
105
|
+
*/
|
|
106
|
+
getDraftRowCount: () => number;
|
|
107
|
+
get draftRows(): ReadonlySignal<DraftRow<T>[]>;
|
|
108
|
+
/**
|
|
109
|
+
* Checks if a specific field path has validation errors for a given draft row.
|
|
110
|
+
* @param draftRowIndex - The index of the draft row to check
|
|
111
|
+
* @param fieldPath - The path of the field to check for validation errors
|
|
112
|
+
* @returns true if the field has validation errors, false otherwise
|
|
113
|
+
*/
|
|
114
|
+
hasDraftRowValidationError(draftRowIndex: number, fieldPath: string): boolean;
|
|
94
115
|
getColumnCount: () => number;
|
|
95
|
-
insertRow: (
|
|
116
|
+
insertRow: () => InsertRowResult;
|
|
117
|
+
private createDraftRow;
|
|
118
|
+
private validateDraftRow;
|
|
119
|
+
private validateDraftRowData;
|
|
120
|
+
commitDraftRow: (draftRowIndex: number) => boolean;
|
|
96
121
|
deleteRow: (rowIndex: number) => void;
|
|
97
122
|
handleRowAction: (actionId: string, rowIndex: number) => void;
|
|
98
|
-
getCellData: (
|
|
99
|
-
validateCellData: ({ col, row }:
|
|
100
|
-
setCellData: (
|
|
123
|
+
getCellData: (cell: DxGridPosition) => any;
|
|
124
|
+
validateCellData: ({ col, row, plane }: DxGridPosition, value: any) => Promise<ValidationResult>;
|
|
125
|
+
setCellData: (cell: DxGridPosition, value: any) => void;
|
|
101
126
|
/**
|
|
102
127
|
* Updates a cell's value using a transform function.
|
|
103
128
|
* @param {DxGridPlanePosition} position - The position of the cell to update.
|
|
104
129
|
* @param {(value: any) => any} update - A function that takes the current value and returns the updated value.
|
|
105
130
|
*/
|
|
106
131
|
updateCellData({ col, row }: DxGridPlanePosition, update: (value: any) => any): void;
|
|
132
|
+
/**
|
|
133
|
+
* Gets the domain-appropriate cell type for a given cell position.
|
|
134
|
+
* This abstracts away the low-level grid plane concepts and provides domain-specific types.
|
|
135
|
+
* @param cell - The cell position to classify
|
|
136
|
+
* @returns The domain-appropriate cell type
|
|
137
|
+
*/
|
|
138
|
+
getCellType(cell: DxGridPosition): TableCellType;
|
|
139
|
+
/**
|
|
140
|
+
* Convenience method to check if a cell is a draft cell.
|
|
141
|
+
* @param cell - The cell position to check
|
|
142
|
+
* @returns true if the cell is a draft cell, false otherwise
|
|
143
|
+
*/
|
|
144
|
+
isDraftCell(cell: DxGridPosition): boolean;
|
|
107
145
|
deleteColumn(fieldId: string): void;
|
|
108
146
|
setColumnWidth(columnIndex: number, width: number): void;
|
|
109
147
|
pinRow(rowIndex: number, side: 'top' | 'bottom'): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-model.d.ts","sourceRoot":"","sources":["../../../../src/model/table-model.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"table-model.d.ts","sourceRoot":"","sources":["../../../../src/model/table-model.ts"],"names":[],"mappings":"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"}
|