@dxos/react-ui-table 0.7.5-labs.e27f9b9 → 0.7.5-labs.f400bbc
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/index.mjs +24 -1
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +24 -1
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +24 -1
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/_deprecated/components/Cell/Cell.d.ts +2 -2
- package/dist/types/src/_deprecated/components/Cell/Cell.d.ts.map +1 -1
- package/dist/types/src/_deprecated/components/Cell/CellCombobox.d.ts +1 -2
- package/dist/types/src/_deprecated/components/Cell/CellCombobox.d.ts.map +1 -1
- package/dist/types/src/_deprecated/components/ColumnMenu/ColumnMenu.d.ts +2 -3
- package/dist/types/src/_deprecated/components/ColumnMenu/ColumnMenu.d.ts.map +1 -1
- package/dist/types/src/_deprecated/components/ColumnMenu/ColumnMenu.stories.d.ts +6 -7
- package/dist/types/src/_deprecated/components/ColumnMenu/ColumnMenu.stories.d.ts.map +1 -1
- package/dist/types/src/_deprecated/components/ColumnMenu/ColumnSettings.d.ts +1 -2
- package/dist/types/src/_deprecated/components/ColumnMenu/ColumnSettings.d.ts.map +1 -1
- package/dist/types/src/_deprecated/components/ColumnMenu/ColumnSettings.stories.d.ts +6 -7
- package/dist/types/src/_deprecated/components/ColumnMenu/ColumnSettings.stories.d.ts.map +1 -1
- package/dist/types/src/_deprecated/components/Table/Table.d.ts +5 -5
- package/dist/types/src/_deprecated/components/Table/Table.d.ts.map +1 -1
- package/dist/types/src/_deprecated/components/Table/Table.stories.d.ts +8 -9
- package/dist/types/src/_deprecated/components/Table/Table.stories.d.ts.map +1 -1
- package/dist/types/src/_deprecated/components/Table/TableBody.d.ts +1 -2
- package/dist/types/src/_deprecated/components/Table/TableBody.d.ts.map +1 -1
- package/dist/types/src/_deprecated/components/Table/TableContext.d.ts +1 -1
- package/dist/types/src/_deprecated/components/Table/TableContext.d.ts.map +1 -1
- package/dist/types/src/_deprecated/components/Table/TableHead.d.ts +1 -2
- package/dist/types/src/_deprecated/components/Table/TableHead.d.ts.map +1 -1
- package/dist/types/src/_deprecated/schema/Schema.stories.d.ts +2 -3
- package/dist/types/src/_deprecated/schema/Schema.stories.d.ts.map +1 -1
- package/dist/types/src/components/Table/ColumnActionsMenu.d.ts +1 -2
- package/dist/types/src/components/Table/ColumnActionsMenu.d.ts.map +1 -1
- package/dist/types/src/components/Table/ColumnSettings.d.ts +1 -2
- package/dist/types/src/components/Table/ColumnSettings.d.ts.map +1 -1
- package/dist/types/src/components/Table/CreateRefPanel.d.ts +1 -2
- package/dist/types/src/components/Table/CreateRefPanel.d.ts.map +1 -1
- package/dist/types/src/components/Table/RefPanel.d.ts +1 -2
- package/dist/types/src/components/Table/RefPanel.d.ts.map +1 -1
- package/dist/types/src/components/Table/RowActionsMenu.d.ts +1 -2
- package/dist/types/src/components/Table/RowActionsMenu.d.ts.map +1 -1
- package/dist/types/src/components/Table/Table.d.ts +1 -1
- package/dist/types/src/components/Table/Table.stories.d.ts +1 -4
- package/dist/types/src/components/Table/Table.stories.d.ts.map +1 -1
- package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts +1 -2
- package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts.map +1 -1
- package/dist/types/src/components/TableToolbar/TableToolbar.d.ts +1 -2
- package/dist/types/src/components/TableToolbar/TableToolbar.d.ts.map +1 -1
- package/dist/types/src/components/testing.d.ts +11 -10
- 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/types/table.d.ts +17 -14
- package/dist/types/src/types/table.d.ts.map +1 -1
- package/package.json +31 -30
- package/src/_deprecated/schema/Schema.stories.tsx +1 -1
- package/src/components/Table/Table.stories.tsx +22 -23
- package/src/components/TableCellEditor/TableCellEditor.stories.tsx +1 -1
- package/src/hooks/useTableModel.ts +21 -0
- package/src/model/table-model.ts +1 -1
- package/src/playwright/smoke.spec.ts +3 -3
- package/src/util/table.ts +1 -1
- package/dist/types/src/playwright/playwright.config.d.ts +0 -3
- package/dist/types/src/playwright/playwright.config.d.ts.map +0 -1
- /package/src/playwright/{playwright.config.ts → playwright.config.cts} +0 -0
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { effect } from '@preact/signals-core';
|
|
5
6
|
import { useEffect, useState } from 'react';
|
|
6
7
|
|
|
7
8
|
import { type ReactiveObject } from '@dxos/react-client/echo';
|
|
9
|
+
import { useSelectionActions } from '@dxos/react-ui-attention';
|
|
8
10
|
import { type ViewProjection } from '@dxos/schema';
|
|
11
|
+
import { isNonNullable } from '@dxos/util';
|
|
9
12
|
|
|
10
13
|
import { type BaseTableRow, TableModel, type TableModelProps } from '../model';
|
|
11
14
|
import { type TableType } from '../types';
|
|
@@ -48,5 +51,23 @@ export const useTableModel = <T extends BaseTableRow = { id: string }>({
|
|
|
48
51
|
}
|
|
49
52
|
}, [model, objects]);
|
|
50
53
|
|
|
54
|
+
const { select, clear } = useSelectionActions([table?.id, table?.view?.target?.query.type].filter(isNonNullable));
|
|
55
|
+
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
if (!model) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const unsubscribe = effect(() => {
|
|
62
|
+
select([...model.selection.selection.value]);
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// Maybe clear the selection here?
|
|
66
|
+
return () => {
|
|
67
|
+
clear();
|
|
68
|
+
unsubscribe();
|
|
69
|
+
};
|
|
70
|
+
}, [model]);
|
|
71
|
+
|
|
51
72
|
return model;
|
|
52
73
|
};
|
package/src/model/table-model.ts
CHANGED
|
@@ -145,7 +145,7 @@ test.describe('Table', () => {
|
|
|
145
145
|
await page.getByRole('option', { name: 'Anita Mayer' }).click();
|
|
146
146
|
|
|
147
147
|
// Assert that the value is shown in the cell.
|
|
148
|
-
await expect(page.getByRole('gridcell', { name: 'Anita Mayer' })).toBeVisible();
|
|
148
|
+
await expect(page.getByRole('gridcell', { name: 'Anita Mayer' }).first()).toBeVisible();
|
|
149
149
|
|
|
150
150
|
// Create new object.
|
|
151
151
|
await table.grid.cell(4, 1, 'grid').click();
|
|
@@ -157,7 +157,7 @@ test.describe('Table', () => {
|
|
|
157
157
|
await page.getByTestId('save-button').click();
|
|
158
158
|
|
|
159
159
|
// Scroll to the left.
|
|
160
|
-
await page.getByRole('gridcell', { name: 'test' }).click();
|
|
160
|
+
await page.getByRole('gridcell', { name: 'test' }).first().click();
|
|
161
161
|
|
|
162
162
|
await page.close();
|
|
163
163
|
});
|
|
@@ -173,7 +173,7 @@ test.describe('Table', () => {
|
|
|
173
173
|
await page.getByTestId('table-switch').nth(7).click();
|
|
174
174
|
|
|
175
175
|
// Test that checks are durable in the data model by sorting.
|
|
176
|
-
await table.sortColumn(
|
|
176
|
+
await table.sortColumn(3, 'descending');
|
|
177
177
|
|
|
178
178
|
// Assert the first two switch checkboxes are checked.
|
|
179
179
|
await expect(page.getByTestId('table-switch').first()).toBeChecked();
|
package/src/util/table.ts
CHANGED
|
@@ -46,7 +46,7 @@ export const initializeTable = async ({
|
|
|
46
46
|
// We need to get the schema properties here. For now, only simple types and refs, not compound types
|
|
47
47
|
// are going to be supported.
|
|
48
48
|
const fields = getSchemaProperties(schema.ast)
|
|
49
|
-
.filter((prop) => prop.
|
|
49
|
+
.filter((prop) => prop.format !== FormatEnum.Ref)
|
|
50
50
|
.map((prop) => prop.name);
|
|
51
51
|
|
|
52
52
|
table.view = makeRef(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"playwright.config.d.ts","sourceRoot":"","sources":["../../../../src/playwright/playwright.config.ts"],"names":[],"mappings":";AASA,wBAQG"}
|
|
File without changes
|