@dxos/react-ui-table 0.8.4-main.f9ba587 → 0.8.4-main.fcfe5033a5
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-BF54SSNL.mjs +70 -0
- package/dist/lib/browser/chunk-BF54SSNL.mjs.map +7 -0
- package/dist/lib/browser/chunk-F7Y374KL.mjs +1751 -0
- package/dist/lib/browser/chunk-F7Y374KL.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1195 -2846
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +114 -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-CCJ4LOVM.mjs +1753 -0
- package/dist/lib/node-esm/chunk-CCJ4LOVM.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-SIRDIPHZ.mjs +71 -0
- package/dist/lib/node-esm/chunk-SIRDIPHZ.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +1195 -2846
- 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 +115 -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 +2 -3
- 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/DynamicTable.d.ts +7 -7
- package/dist/types/src/components/Table/DynamicTable.d.ts.map +1 -1
- package/dist/types/src/components/Table/DynamicTable.stories.d.ts +35 -3
- package/dist/types/src/components/Table/DynamicTable.stories.d.ts.map +1 -1
- package/dist/types/src/components/Table/Relations.stories.d.ts +110 -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 +21 -18
- package/dist/types/src/components/Table/Table.d.ts.map +1 -1
- package/dist/types/src/components/Table/Table.stories.d.ts +109 -6
- package/dist/types/src/components/Table/Table.stories.d.ts.map +1 -1
- package/dist/types/src/components/Table/TableContent.d.ts +17 -0
- package/dist/types/src/components/Table/TableContent.d.ts.map +1 -0
- package/dist/types/src/components/Table/TableToolbar.d.ts +21 -0
- package/dist/types/src/components/Table/TableToolbar.d.ts.map +1 -0
- package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts +1 -1
- package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts.map +1 -1
- package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts +14 -9
- package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts.map +1 -1
- package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts +12 -18
- package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts.map +1 -1
- package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts +38 -5
- package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/TableCellEditor/index.d.ts +1 -0
- package/dist/types/src/components/TableCellEditor/index.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +0 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +26 -56
- package/dist/types/src/components/testing.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +2 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useAddRow.d.ts +6 -6
- package/dist/types/src/hooks/useAddRow.d.ts.map +1 -1
- package/dist/types/src/hooks/useProjectionModel.d.ts +6 -0
- package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
- package/dist/types/src/hooks/useTableModel.d.ts +11 -10
- package/dist/types/src/hooks/useTableModel.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/model/modal-controller.d.ts +5 -8
- package/dist/types/src/model/modal-controller.d.ts.map +1 -1
- package/dist/types/src/model/selection-model.d.ts +17 -7
- package/dist/types/src/model/selection-model.d.ts.map +1 -1
- package/dist/types/src/model/table-model.d.ts +116 -34
- package/dist/types/src/model/table-model.d.ts.map +1 -1
- package/dist/types/src/model/table-presentation.d.ts +5 -2
- package/dist/types/src/model/table-presentation.d.ts.map +1 -1
- package/dist/types/src/playwright/TableManager.d.ts +2 -1
- package/dist/types/src/playwright/TableManager.d.ts.map +1 -1
- 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 +25 -0
- package/dist/types/src/testing/useTestTableModel.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +21 -23
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Table.d.ts +26 -0
- package/dist/types/src/types/Table.d.ts.map +1 -0
- 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/util/dynamic-table.d.ts +15 -14
- package/dist/types/src/util/dynamic-table.d.ts.map +1 -1
- package/dist/types/src/util/dynamic-table.test.d.ts +2 -0
- package/dist/types/src/util/dynamic-table.test.d.ts.map +1 -0
- package/dist/types/src/util/index.d.ts +2 -1
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/query-ast.d.ts +7 -0
- package/dist/types/src/util/query-ast.d.ts.map +1 -0
- package/dist/types/src/util/schema.d.ts +1 -1
- package/dist/types/src/util/schema.d.ts.map +1 -1
- package/dist/types/src/util/sort.d.ts +12 -0
- package/dist/types/src/util/sort.d.ts.map +1 -0
- 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 +70 -55
- package/src/components/Table/ColumnActionsMenu.tsx +16 -12
- package/src/components/Table/ColumnSettings.tsx +18 -15
- package/src/components/Table/DynamicTable.stories.tsx +38 -35
- package/src/components/Table/DynamicTable.tsx +38 -34
- package/src/components/Table/Relations.stories.tsx +245 -0
- package/src/components/Table/RowActionsMenu.tsx +26 -17
- package/src/components/Table/Table.stories.tsx +196 -218
- package/src/components/Table/Table.tsx +47 -376
- package/src/components/Table/TableContent.tsx +421 -0
- package/src/components/Table/TableToolbar.tsx +111 -0
- package/src/components/TableCellEditor/CellValidationMessage.tsx +6 -6
- package/src/components/TableCellEditor/FormCellEditor.tsx +152 -49
- package/src/components/TableCellEditor/TableCellEditor.stories.tsx +37 -77
- package/src/components/TableCellEditor/TableCellEditor.tsx +104 -233
- package/src/components/TableCellEditor/index.ts +1 -0
- package/src/components/index.ts +0 -1
- package/src/components/testing.ts +46 -37
- package/src/hooks/index.ts +2 -1
- package/src/hooks/useAddRow.ts +14 -14
- package/src/hooks/useProjectionModel.ts +39 -0
- package/src/hooks/useTableModel.ts +41 -35
- package/src/index.ts +0 -1
- package/src/model/modal-controller.ts +24 -41
- package/src/model/selection-model.ts +75 -41
- package/src/model/table-model.test.ts +91 -56
- package/src/model/table-model.ts +468 -187
- package/src/model/table-presentation.test.ts +69 -59
- package/src/model/table-presentation.ts +112 -66
- package/src/playwright/TableManager.ts +13 -6
- package/src/playwright/playwright.config.ts +1 -1
- package/src/playwright/smoke.spec.ts +180 -43
- package/src/testing/index.ts +5 -0
- package/src/testing/useTestTableModel.ts +133 -0
- package/src/translations.ts +20 -22
- package/src/types/Table.ts +79 -0
- package/src/types/index.ts +2 -2
- package/src/util/dynamic-table.test.ts +70 -0
- package/src/util/dynamic-table.ts +51 -36
- package/src/util/index.ts +2 -1
- package/src/util/query-ast.ts +22 -0
- package/src/util/schema.ts +4 -4
- package/src/util/sort.ts +90 -0
- package/src/util/table-buttons.ts +4 -3
- package/src/util/table-controls.ts +6 -3
- package/dist/lib/browser/chunk-Q5QQXJUO.mjs +0 -27
- package/dist/lib/browser/chunk-Q5QQXJUO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZNOU6LHG.mjs +0 -29
- package/dist/lib/node-esm/chunk-ZNOU6LHG.mjs.map +0 -7
- package/dist/types/src/components/Table/CreateRefPanel.d.ts +0 -9
- package/dist/types/src/components/Table/CreateRefPanel.d.ts.map +0 -1
- 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/components/TableToolbar/TableToolbar.d.ts +0 -21
- package/dist/types/src/components/TableToolbar/TableToolbar.d.ts.map +0 -1
- package/dist/types/src/components/TableToolbar/index.d.ts +0 -2
- package/dist/types/src/components/TableToolbar/index.d.ts.map +0 -1
- package/dist/types/src/model/table-sorting.d.ts +0 -53
- package/dist/types/src/model/table-sorting.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/Table/CreateRefPanel.tsx +0 -84
- package/src/components/Table/relations.stories.tsx +0 -123
- package/src/components/TableCellEditor/extension.ts +0 -61
- package/src/components/TableToolbar/TableToolbar.tsx +0 -102
- package/src/components/TableToolbar/index.ts +0 -5
- package/src/model/table-sorting.ts +0 -216
- package/src/types/table.ts +0 -27
- package/src/util/table.ts +0 -127
package/src/types/table.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { Schema } from 'effect';
|
|
6
|
-
|
|
7
|
-
// import { ThreadType } from '@dxos/plugin-space/types';
|
|
8
|
-
import { Type } from '@dxos/echo';
|
|
9
|
-
import { ObjectId, Ref, Expando, LabelAnnotation } from '@dxos/echo-schema';
|
|
10
|
-
import { ViewType } from '@dxos/schema';
|
|
11
|
-
|
|
12
|
-
export const TableSchema = Schema.Struct({
|
|
13
|
-
id: ObjectId,
|
|
14
|
-
name: Schema.optional(Schema.String),
|
|
15
|
-
view: Schema.optional(Ref(ViewType)),
|
|
16
|
-
// TODO(burdon): Document why threads is included here?
|
|
17
|
-
threads: Schema.optional(Schema.Array(Ref(Expando /* ThreadType */))),
|
|
18
|
-
}).pipe(LabelAnnotation.set(['name']));
|
|
19
|
-
|
|
20
|
-
// TODO(burdon): Move out of react-ui-xxx.
|
|
21
|
-
export const TableType = TableSchema.pipe(
|
|
22
|
-
Type.Obj({
|
|
23
|
-
typename: 'dxos.org/type/Table',
|
|
24
|
-
version: '0.1.0',
|
|
25
|
-
}),
|
|
26
|
-
);
|
|
27
|
-
export interface TableType extends Schema.Schema.Type<typeof TableType> {}
|
package/src/util/table.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2024 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import { Schema } from 'effect';
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
type EchoSchema,
|
|
9
|
-
Format,
|
|
10
|
-
FormatEnum,
|
|
11
|
-
type JsonPath,
|
|
12
|
-
type JsonProp,
|
|
13
|
-
Ref,
|
|
14
|
-
TypedObject,
|
|
15
|
-
TypeEnum,
|
|
16
|
-
} from '@dxos/echo-schema';
|
|
17
|
-
import { type Client, PublicKey } from '@dxos/react-client';
|
|
18
|
-
import { live, type Space } from '@dxos/react-client/echo';
|
|
19
|
-
import { createFieldId, createView, getSchemaProperties, ViewProjection, type ViewType } from '@dxos/schema';
|
|
20
|
-
|
|
21
|
-
import { type TableType } from '../types';
|
|
22
|
-
|
|
23
|
-
// TODO(ZaymonFC): We don't need the client anymore.
|
|
24
|
-
type InitialiseTableProps = {
|
|
25
|
-
client: Client;
|
|
26
|
-
space: Space;
|
|
27
|
-
table: TableType;
|
|
28
|
-
typename?: string;
|
|
29
|
-
initialRow?: boolean;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export const initializeTable = async ({
|
|
33
|
-
client,
|
|
34
|
-
space,
|
|
35
|
-
table,
|
|
36
|
-
typename,
|
|
37
|
-
initialRow = true,
|
|
38
|
-
}: InitialiseTableProps): Promise<Schema.Schema.AnyNoContext> => {
|
|
39
|
-
if (typename) {
|
|
40
|
-
const schema = await space.db.graph.getSchemaByTypename(typename, space.db);
|
|
41
|
-
if (!schema) {
|
|
42
|
-
throw new Error(`Schema not found: ${typename}`);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const fields = getSchemaProperties(schema.ast).map((prop) => prop.name);
|
|
46
|
-
|
|
47
|
-
table.view = Ref.make(
|
|
48
|
-
createView({
|
|
49
|
-
// TODO(ZaymonFC): Don't hardcode name?
|
|
50
|
-
name: 'View',
|
|
51
|
-
typename: schema.typename,
|
|
52
|
-
jsonSchema: schema.jsonSchema,
|
|
53
|
-
fields,
|
|
54
|
-
}),
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
return schema;
|
|
58
|
-
} else {
|
|
59
|
-
const [schema] = await space.db.schemaRegistry.register([createContactSchema()]);
|
|
60
|
-
const fields = ContactFields;
|
|
61
|
-
|
|
62
|
-
table.view = Ref.make(
|
|
63
|
-
createView({
|
|
64
|
-
name: 'View',
|
|
65
|
-
typename: schema.typename,
|
|
66
|
-
jsonSchema: schema.jsonSchema,
|
|
67
|
-
fields,
|
|
68
|
-
}),
|
|
69
|
-
);
|
|
70
|
-
|
|
71
|
-
createProjection(schema, table.view.target!);
|
|
72
|
-
|
|
73
|
-
if (initialRow) {
|
|
74
|
-
// TODO(burdon): Last (first) row should not be in db and should be managed by the model.
|
|
75
|
-
space.db.add(live(schema, {}));
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return schema;
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
const createContactSchema = () =>
|
|
83
|
-
TypedObject({
|
|
84
|
-
typename: `example.com/type/${PublicKey.random().truncate()}`,
|
|
85
|
-
version: '0.1.0',
|
|
86
|
-
})({
|
|
87
|
-
name: Schema.optional(Schema.String).annotations({ title: 'Name' }),
|
|
88
|
-
active: Schema.optional(Schema.Boolean).annotations({ title: 'Active' }),
|
|
89
|
-
email: Schema.optional(Format.Email),
|
|
90
|
-
salary: Schema.optional(Format.Currency()).annotations({ title: 'Salary' }),
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
const ContactFields = ['name', 'email', 'salary', 'active'];
|
|
94
|
-
|
|
95
|
-
const createProjection = (schema: EchoSchema, view: ViewType): ViewProjection => {
|
|
96
|
-
const projection = new ViewProjection(schema.jsonSchema, view);
|
|
97
|
-
projection.setFieldProjection({
|
|
98
|
-
field: {
|
|
99
|
-
id: view.fields.find((f) => f.path === 'salary')!.id,
|
|
100
|
-
path: 'salary' as JsonPath,
|
|
101
|
-
size: 150,
|
|
102
|
-
},
|
|
103
|
-
});
|
|
104
|
-
projection.setFieldProjection({
|
|
105
|
-
field: {
|
|
106
|
-
id: view.fields.find((f) => f.path === 'active')!.id,
|
|
107
|
-
path: 'active' as JsonPath,
|
|
108
|
-
size: 100,
|
|
109
|
-
},
|
|
110
|
-
});
|
|
111
|
-
projection.setFieldProjection({
|
|
112
|
-
field: {
|
|
113
|
-
id: createFieldId(),
|
|
114
|
-
path: 'manager' as JsonPath,
|
|
115
|
-
referencePath: 'name' as JsonPath,
|
|
116
|
-
},
|
|
117
|
-
props: {
|
|
118
|
-
property: 'manager' as JsonProp,
|
|
119
|
-
type: TypeEnum.Ref,
|
|
120
|
-
format: FormatEnum.Ref,
|
|
121
|
-
referenceSchema: schema.typename,
|
|
122
|
-
title: 'Manager',
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
return projection;
|
|
127
|
-
};
|