@dxos/plugin-debug 0.7.3-main.2dd075e → 0.7.3-staging.0905f03
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/{SpaceGenerator-P7ZPQ4N7.mjs → SpaceGenerator-BQ3645OS.mjs} +21 -177
- package/dist/lib/browser/SpaceGenerator-BQ3645OS.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +9 -1
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/DebugPlugin.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
- package/dist/types/src/components/SpaceGenerator/draw-util.d.ts.map +1 -1
- package/package.json +41 -41
- package/src/DebugPlugin.tsx +16 -0
- package/src/components/SpaceGenerator/ObjectGenerator.tsx +22 -59
- package/src/components/SpaceGenerator/draw-util.ts +85 -19
- package/dist/lib/browser/SpaceGenerator-P7ZPQ4N7.mjs.map +0 -7
|
@@ -11,161 +11,27 @@ import { Testing } from "@dxos/schema/testing";
|
|
|
11
11
|
import { jsonKeyReplacer, sortKeys } from "@dxos/util";
|
|
12
12
|
|
|
13
13
|
// packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx
|
|
14
|
-
import { createTLStore, defaultBindingUtils, defaultShapeUtils, defaultShapeTools, defaultTools, Editor } from "@tldraw/tldraw";
|
|
15
14
|
import { create } from "@dxos/live-object";
|
|
16
15
|
import { DocumentType, TextType } from "@dxos/plugin-markdown/types";
|
|
17
16
|
import { addressToA1Notation, createSheet } from "@dxos/plugin-sheet";
|
|
18
17
|
import { SheetType } from "@dxos/plugin-sheet/types";
|
|
19
|
-
import {
|
|
20
|
-
import { faker
|
|
18
|
+
import { CanvasType, DiagramType } from "@dxos/plugin-sketch/types";
|
|
19
|
+
import { faker } from "@dxos/random";
|
|
21
20
|
import { Filter } from "@dxos/react-client/echo";
|
|
22
21
|
import { TableType } from "@dxos/react-ui-table";
|
|
23
22
|
import { createView } from "@dxos/schema";
|
|
24
23
|
import { createAsyncGenerator } from "@dxos/schema/testing";
|
|
25
|
-
import { range as range2 } from "@dxos/util";
|
|
26
|
-
|
|
27
|
-
// packages/plugins/plugin-debug/src/components/SpaceGenerator/draw-util.ts
|
|
28
|
-
import { Graph } from "@antv/graphlib";
|
|
29
|
-
import { D3ForceLayout } from "@antv/layout";
|
|
30
|
-
import { createBindingId, createShapeId } from "@tldraw/tldraw";
|
|
31
|
-
import { invariant } from "@dxos/invariant";
|
|
32
|
-
import { faker } from "@dxos/random";
|
|
33
24
|
import { range } from "@dxos/util";
|
|
34
|
-
var
|
|
35
|
-
var generateGraph = () => {
|
|
36
|
-
const nodes = range(faker.number.int({
|
|
37
|
-
min: 8,
|
|
38
|
-
max: 32
|
|
39
|
-
})).map(() => ({
|
|
40
|
-
id: faker.string.uuid(),
|
|
41
|
-
data: {
|
|
42
|
-
label: faker.lorem.words(2).split(" ").map((word) => word.charAt(0).toUpperCase()).join("-")
|
|
43
|
-
}
|
|
44
|
-
}));
|
|
45
|
-
const edges = range(faker.number.int({
|
|
46
|
-
min: nodes.length,
|
|
47
|
-
max: nodes.length * 2
|
|
48
|
-
})).map(() => {
|
|
49
|
-
invariant(nodes.length >= 2, void 0, {
|
|
50
|
-
F: __dxlog_file,
|
|
51
|
-
L: 40,
|
|
52
|
-
S: void 0,
|
|
53
|
-
A: [
|
|
54
|
-
"nodes.length >= 2",
|
|
55
|
-
""
|
|
56
|
-
]
|
|
57
|
-
});
|
|
58
|
-
let source;
|
|
59
|
-
let target;
|
|
60
|
-
do {
|
|
61
|
-
source = faker.helpers.arrayElement(nodes);
|
|
62
|
-
target = faker.helpers.arrayElement(nodes);
|
|
63
|
-
} while (source.id === target.id);
|
|
64
|
-
return {
|
|
65
|
-
id: faker.string.uuid(),
|
|
66
|
-
source: source.id,
|
|
67
|
-
target: target.id,
|
|
68
|
-
data: {}
|
|
69
|
-
};
|
|
70
|
-
});
|
|
71
|
-
return new Graph({
|
|
72
|
-
nodes,
|
|
73
|
-
edges
|
|
74
|
-
});
|
|
75
|
-
};
|
|
76
|
-
var drawGraph = async (editor, graph) => {
|
|
77
|
-
const grid = 40;
|
|
78
|
-
const nodeSize = 80;
|
|
79
|
-
const snap = (n) => Math.round(n / grid) * grid;
|
|
80
|
-
const layout = new D3ForceLayout({
|
|
81
|
-
center: [
|
|
82
|
-
0,
|
|
83
|
-
0
|
|
84
|
-
],
|
|
85
|
-
preventOverlap: true,
|
|
86
|
-
collideStrength: 0.5,
|
|
87
|
-
linkDistance: grid * 2,
|
|
88
|
-
nodeSize,
|
|
89
|
-
nodeSpacing: nodeSize
|
|
90
|
-
});
|
|
91
|
-
const { nodes, edges } = await layout.execute(graph);
|
|
92
|
-
for (const node of nodes) {
|
|
93
|
-
const id = createShapeId(node.id);
|
|
94
|
-
editor.createShape({
|
|
95
|
-
id,
|
|
96
|
-
type: "geo",
|
|
97
|
-
x: snap(node.data.x),
|
|
98
|
-
y: snap(node.data.y),
|
|
99
|
-
props: {
|
|
100
|
-
w: nodeSize,
|
|
101
|
-
h: nodeSize,
|
|
102
|
-
text: node.data.label
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
for (const edge of edges) {
|
|
107
|
-
const arrowId = createShapeId(edge.id);
|
|
108
|
-
editor.createShape({
|
|
109
|
-
id: arrowId,
|
|
110
|
-
type: "arrow"
|
|
111
|
-
});
|
|
112
|
-
editor.createBinding({
|
|
113
|
-
id: createBindingId(),
|
|
114
|
-
type: "arrow",
|
|
115
|
-
fromId: arrowId,
|
|
116
|
-
toId: createShapeId(edge.source),
|
|
117
|
-
props: {
|
|
118
|
-
terminal: "start",
|
|
119
|
-
isExact: false,
|
|
120
|
-
isPrecise: false,
|
|
121
|
-
normalizedAnchor: {
|
|
122
|
-
x: 0.5,
|
|
123
|
-
y: 0.5
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
editor.createBinding({
|
|
128
|
-
id: createBindingId(),
|
|
129
|
-
type: "arrow",
|
|
130
|
-
fromId: arrowId,
|
|
131
|
-
toId: createShapeId(edge.target),
|
|
132
|
-
props: {
|
|
133
|
-
terminal: "end",
|
|
134
|
-
isExact: false,
|
|
135
|
-
isPrecise: false,
|
|
136
|
-
normalizedAnchor: {
|
|
137
|
-
x: 0.5,
|
|
138
|
-
y: 0.5
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
const data = editor.store.getStoreSnapshot();
|
|
144
|
-
const content = JSON.parse(JSON.stringify(data.store));
|
|
145
|
-
return content;
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
// packages/plugins/plugin-debug/src/components/SpaceGenerator/ObjectGenerator.tsx
|
|
149
|
-
var generator = faker2;
|
|
25
|
+
var generator = faker;
|
|
150
26
|
var staticGenerators = /* @__PURE__ */ new Map([
|
|
151
|
-
//
|
|
152
|
-
// DocumentType
|
|
153
|
-
//
|
|
154
27
|
[
|
|
155
28
|
DocumentType.typename,
|
|
156
29
|
async (space, n, cb) => {
|
|
157
|
-
const objects =
|
|
158
|
-
const content = range2(faker2.number.int({
|
|
159
|
-
min: 3,
|
|
160
|
-
max: 8
|
|
161
|
-
})).map(() => faker2.lorem.sentences(faker2.number.int({
|
|
162
|
-
min: 3,
|
|
163
|
-
max: 16
|
|
164
|
-
}))).join("\n\n");
|
|
30
|
+
const objects = range(n).map(() => {
|
|
165
31
|
const obj = space.db.add(create(DocumentType, {
|
|
166
|
-
name:
|
|
32
|
+
name: faker.commerce.productName(),
|
|
167
33
|
content: create(TextType, {
|
|
168
|
-
content
|
|
34
|
+
content: faker.lorem.sentences(5)
|
|
169
35
|
}),
|
|
170
36
|
threads: []
|
|
171
37
|
}));
|
|
@@ -175,57 +41,33 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
175
41
|
return objects;
|
|
176
42
|
}
|
|
177
43
|
],
|
|
178
|
-
//
|
|
179
|
-
// DiagramType
|
|
180
|
-
//
|
|
181
44
|
[
|
|
182
45
|
DiagramType.typename,
|
|
183
46
|
async (space, n, cb) => {
|
|
184
|
-
const
|
|
185
|
-
bindingUtils: defaultBindingUtils,
|
|
186
|
-
shapeUtils: defaultShapeUtils,
|
|
187
|
-
tools: [
|
|
188
|
-
...defaultTools,
|
|
189
|
-
...defaultShapeTools
|
|
190
|
-
],
|
|
191
|
-
getContainer: () => document.body
|
|
192
|
-
};
|
|
193
|
-
const objects = await Promise.all(range2(n).map(async () => {
|
|
194
|
-
const store = createTLStore();
|
|
195
|
-
const editor = new Editor({
|
|
196
|
-
...options,
|
|
197
|
-
store
|
|
198
|
-
});
|
|
199
|
-
const graph = generateGraph();
|
|
200
|
-
const content = await drawGraph(editor, graph);
|
|
201
|
-
editor.dispose();
|
|
202
|
-
store.dispose();
|
|
47
|
+
const objects = range(n).map(() => {
|
|
203
48
|
const obj = space.db.add(create(DiagramType, {
|
|
204
|
-
name:
|
|
49
|
+
name: faker.commerce.productName(),
|
|
205
50
|
canvas: create(CanvasType, {
|
|
206
|
-
|
|
207
|
-
content
|
|
51
|
+
content: {}
|
|
208
52
|
})
|
|
209
53
|
}));
|
|
210
54
|
return obj;
|
|
211
|
-
})
|
|
55
|
+
});
|
|
212
56
|
cb?.(objects);
|
|
213
57
|
return objects;
|
|
214
58
|
}
|
|
215
59
|
],
|
|
216
|
-
//
|
|
217
|
-
// SheetType
|
|
218
|
-
//
|
|
60
|
+
// TODO(burdon): Create unit tests.
|
|
219
61
|
[
|
|
220
62
|
SheetType.typename,
|
|
221
63
|
async (space, n, cb) => {
|
|
222
|
-
const objects =
|
|
64
|
+
const objects = range(n).map(() => {
|
|
65
|
+
const cells = {};
|
|
223
66
|
const year = (/* @__PURE__ */ new Date()).getFullYear();
|
|
224
67
|
const cols = 4;
|
|
225
|
-
const rows =
|
|
226
|
-
const cells = {};
|
|
68
|
+
const rows = 16;
|
|
227
69
|
for (let col = 1; col <= cols; col++) {
|
|
228
|
-
for (let row = 1; row <=
|
|
70
|
+
for (let row = 1; row <= rows; row++) {
|
|
229
71
|
const cell = addressToA1Notation({
|
|
230
72
|
col,
|
|
231
73
|
row
|
|
@@ -254,7 +96,7 @@ var staticGenerators = /* @__PURE__ */ new Map([
|
|
|
254
96
|
}
|
|
255
97
|
}
|
|
256
98
|
return space.db.add(createSheet({
|
|
257
|
-
name:
|
|
99
|
+
name: faker.commerce.productName(),
|
|
258
100
|
cells
|
|
259
101
|
}));
|
|
260
102
|
});
|
|
@@ -267,10 +109,12 @@ var createGenerator = (type) => {
|
|
|
267
109
|
return async (space, n, cb) => {
|
|
268
110
|
const mutableSchema = await space.db.schemaRegistry.query();
|
|
269
111
|
const schema = mutableSchema.find((schema2) => schema2.typename === type.typename) ?? space.db.schemaRegistry.addSchema(type);
|
|
270
|
-
const generate = createAsyncGenerator(generator, schema.schema,
|
|
112
|
+
const generate = createAsyncGenerator(generator, schema.schema, {
|
|
113
|
+
db: space.db
|
|
114
|
+
});
|
|
271
115
|
const objects = await generate.createObjects(n);
|
|
272
116
|
const { objects: tables } = await space.db.query(Filter.schema(TableType)).run();
|
|
273
|
-
const table = tables.find((table2) => table2.view?.query?.
|
|
117
|
+
const table = tables.find((table2) => table2.view?.query?.type === type.typename);
|
|
274
118
|
if (!table) {
|
|
275
119
|
const name = type.typename.split("/").pop() ?? type.typename;
|
|
276
120
|
const view = createView({
|
|
@@ -426,4 +270,4 @@ var SpaceGenerator_default = SpaceGenerator;
|
|
|
426
270
|
export {
|
|
427
271
|
SpaceGenerator_default as default
|
|
428
272
|
};
|
|
429
|
-
//# sourceMappingURL=SpaceGenerator-
|
|
273
|
+
//# sourceMappingURL=SpaceGenerator-BQ3645OS.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/SpaceGenerator/SpaceGenerator.tsx", "../../../src/components/SpaceGenerator/ObjectGenerator.tsx", "../../../src/components/SpaceGenerator/SchemaTable.tsx", "../../../src/components/SpaceGenerator/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType } from '@dxos/plugin-markdown/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { DiagramType } from '@dxos/plugin-sketch/types';\nimport { useClient } from '@dxos/react-client';\nimport { getTypename, type Space } from '@dxos/react-client/echo';\nimport { IconButton, Input, Toolbar, useAsyncEffect } from '@dxos/react-ui';\nimport { SyntaxHighlighter } from '@dxos/react-ui-syntax-highlighter';\nimport { Testing } from '@dxos/schema/testing';\nimport { jsonKeyReplacer, sortKeys } from '@dxos/util';\n\nimport { type ObjectGenerator, createGenerator, staticGenerators } from './ObjectGenerator';\nimport { SchemaTable } from './SchemaTable';\n\nexport type SpaceGeneratorProps = {\n space: Space;\n onCreateObjects?: (objects: ReactiveObject<any>[]) => void;\n};\n\nexport const SpaceGenerator = ({ space, onCreateObjects }: SpaceGeneratorProps) => {\n const client = useClient();\n const staticTypes = [DocumentType, DiagramType, SheetType]; // TODO(burdon): Make extensible.\n const mutableTypes = [Testing.OrgType, Testing.ProjectType, Testing.ContactType];\n const [count, setCount] = useState(1);\n const [info, setInfo] = useState<any>({});\n\n // Create type generators.\n const typeMap = useMemo(() => {\n client.addTypes(staticTypes);\n const mutableGenerators = new Map<string, ObjectGenerator<any>>(\n mutableTypes.map((type) => [type.typename, createGenerator(type)]),\n );\n\n return new Map([...staticGenerators, ...mutableGenerators]);\n }, [client, mutableTypes]);\n\n // Query space to get info.\n const updateInfo = async () => {\n // Create schema map.\n const mutableSchema = await space.db.schemaRegistry.query();\n const staticSchema = space.db.graph.schemaRegistry.schemas;\n\n // Create object map.\n const { objects } = await space.db.query().run();\n const objectMap = sortKeys(\n objects.reduce<Record<string, number>>((map, obj) => {\n const type = getTypename(obj);\n if (type) {\n const count = map[type] ?? 0;\n map[type] = count + 1;\n }\n return map;\n }, {}),\n );\n\n setInfo({\n schema: {\n static: staticSchema.length,\n mutable: mutableSchema.length,\n },\n objects: objectMap,\n });\n };\n\n useAsyncEffect(updateInfo, [space]);\n\n const handleCreateData = useCallback(\n async (typename: string) => {\n const constructor = typeMap.get(typename);\n if (constructor) {\n // TODO(burdon): Input to specify number of objects.\n await constructor(space, count, onCreateObjects);\n await updateInfo();\n }\n },\n [typeMap, count],\n );\n\n return (\n <div role='none' className='flex flex-col divide-y divide-separator'>\n <Toolbar.Root classNames='p-1'>\n <IconButton icon='ph--arrow-clockwise--regular' iconOnly label='Refresh' onClick={updateInfo} />\n <Toolbar.Expander />\n <div className='flex'>\n <Input.Root>\n <Input.TextInput\n type='number'\n min={1}\n max={100}\n placeholder={'Count'}\n classNames='w-[80px]'\n value={count}\n onChange={(ev) => setCount(parseInt(ev.target.value))}\n />\n </Input.Root>\n </div>\n </Toolbar.Root>\n\n <SchemaTable types={staticTypes} objects={info.objects} label='Static Types' onClick={handleCreateData} />\n <SchemaTable types={mutableTypes} objects={info.objects} label='Mutable Types' onClick={handleCreateData} />\n\n <SyntaxHighlighter classNames='flex text-xs' language='json'>\n {JSON.stringify({ space, ...info }, jsonKeyReplacer({ truncate: true }), 2)}\n </SyntaxHighlighter>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type AbstractSchema, type BaseObject } from '@dxos/echo-schema';\nimport { create, type ReactiveObject } from '@dxos/live-object';\nimport { DocumentType, TextType } from '@dxos/plugin-markdown/types';\nimport { addressToA1Notation, createSheet } from '@dxos/plugin-sheet';\nimport { type CellValue } from '@dxos/plugin-sheet/types';\nimport { SheetType } from '@dxos/plugin-sheet/types';\nimport { CanvasType, DiagramType } from '@dxos/plugin-sketch/types';\nimport { faker } from '@dxos/random';\nimport { Filter, type Space } from '@dxos/react-client/echo';\nimport { TableType } from '@dxos/react-ui-table';\nimport { createView } from '@dxos/schema';\nimport { createAsyncGenerator, type ValueGenerator } from '@dxos/schema/testing';\nimport { range } from '@dxos/util';\n\nconst generator: ValueGenerator = faker as any;\n\n// TODO(burdon): Add objects to collections.\n// TODO(burdon): Create docs.\n// TODO(burdon): Create sketches.\n// TODO(burdon): Create sheets.\n// TODO(burdon): Create comments.\n// TODO(burdon): Reuse in testbench-app.\n// TODO(burdon): Mutator running in background (factor out): from echo-generator.\n\nexport type ObjectGenerator<T extends BaseObject> = (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n) => Promise<ReactiveObject<T>[]>;\n\nexport const staticGenerators = new Map<string, ObjectGenerator<any>>([\n [\n DocumentType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n const obj = space.db.add(\n create(DocumentType, {\n name: faker.commerce.productName(),\n content: create(TextType, { content: faker.lorem.sentences(5) }),\n threads: [],\n }),\n );\n\n return obj;\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n [\n DiagramType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n // TODO(burdon): Generate diagram.\n const obj = space.db.add(\n create(DiagramType, {\n name: faker.commerce.productName(),\n canvas: create(CanvasType, { content: {} }),\n }),\n );\n\n return obj;\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n // TODO(burdon): Create unit tests.\n [\n SheetType.typename,\n async (space, n, cb) => {\n const objects = range(n).map(() => {\n const cells: Record<string, CellValue> = {};\n const year = new Date().getFullYear();\n const cols = 4;\n const rows = 16;\n for (let col = 1; col <= cols; col++) {\n for (let row = 1; row <= rows; row++) {\n const cell = addressToA1Notation({ col, row });\n if (row === 1) {\n cells[cell] = { value: `${year} Q${col}` };\n } else if (row === rows) {\n const from = addressToA1Notation({ col, row: 2 });\n const to = addressToA1Notation({ col, row: rows - 1 });\n cells[cell] = { value: `=SUM(${from}:${to})` };\n } else if (row > 2 && row < rows - 1) {\n cells[cell] = { value: Math.floor(Math.random() * 10_000) };\n }\n }\n }\n\n // TODO(burdon): Set width.\n // TODO(burdon): Set formatting for columns.\n return space.db.add(\n createSheet({\n name: faker.commerce.productName(),\n cells,\n }),\n );\n });\n\n cb?.(objects);\n return objects;\n },\n ],\n]);\n\nexport const createGenerator = <T extends BaseObject>(type: AbstractSchema<T>): ObjectGenerator<T> => {\n return async (\n space: Space,\n n: number,\n cb?: (objects: ReactiveObject<any>[]) => void,\n ): Promise<ReactiveObject<T>[]> => {\n // Find or create mutable schema.\n const mutableSchema = await space.db.schemaRegistry.query();\n const schema =\n mutableSchema.find((schema) => schema.typename === type.typename) ?? space.db.schemaRegistry.addSchema(type);\n\n // Create objects.\n const generate = createAsyncGenerator(generator, schema.schema, { db: space.db });\n const objects = await generate.createObjects(n);\n\n // Find or create table and view.\n const { objects: tables } = await space.db.query(Filter.schema(TableType)).run();\n const table = tables.find((table) => table.view?.query?.type === type.typename);\n if (!table) {\n const name = type.typename.split('/').pop() ?? type.typename;\n const view = createView({ name, typename: type.typename, jsonSchema: schema.jsonSchema });\n const table = space.db.add(create(TableType, { name, view }));\n cb?.([table]);\n }\n\n return objects;\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { IconButton } from '@dxos/react-ui';\n\nexport type SchemaTableProps = {\n types: any[];\n objects?: Record<string, number | undefined>;\n label: string;\n onClick: (typename: string) => void;\n};\n\nexport const SchemaTable = ({ types, objects = {}, label, onClick }: SchemaTableProps) => {\n return (\n <div className='grid grid-cols-[1fr_80px_40px] gap-1 overflow-hidden'>\n <div className='grid grid-cols-subgrid col-span-3'>\n <div className='px-2 text-sm text-primary-500'>{label}</div>\n <div className='px-2 text-xs text-subdued text-right'>count</div>\n </div>\n {types.map((type) => (\n <div key={type.typename} className='grid grid-cols-subgrid col-span-3 items-center'>\n <div className='px-2 text-sm font-mono text-green-500'>{type.typename}</div>\n <div className='px-2 text-right font-mono'>{objects[type.typename] ?? 0}</div>\n <IconButton\n variant='ghost'\n icon='ph--plus--regular'\n iconOnly\n label='Create data'\n onClick={() => onClick(type.typename)}\n />\n </div>\n ))}\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { SpaceGenerator } from './SpaceGenerator';\n\nexport default SpaceGenerator;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useCallback", "useMemo", "useState", "DocumentType", "SheetType", "DiagramType", "useClient", "getTypename", "IconButton", "Input", "Toolbar", "useAsyncEffect", "SyntaxHighlighter", "Testing", "jsonKeyReplacer", "sortKeys", "create", "DocumentType", "TextType", "addressToA1Notation", "createSheet", "SheetType", "CanvasType", "DiagramType", "faker", "Filter", "TableType", "createView", "createAsyncGenerator", "range", "generator", "faker", "staticGenerators", "Map", "DocumentType", "typename", "space", "n", "cb", "objects", "range", "map", "obj", "db", "add", "create", "name", "commerce", "productName", "content", "TextType", "lorem", "sentences", "threads", "DiagramType", "canvas", "CanvasType", "SheetType", "cells", "year", "Date", "getFullYear", "cols", "rows", "col", "row", "cell", "addressToA1Notation", "value", "from", "to", "Math", "floor", "random", "createSheet", "createGenerator", "type", "mutableSchema", "schemaRegistry", "query", "schema", "find", "addSchema", "generate", "createAsyncGenerator", "createObjects", "tables", "Filter", "TableType", "run", "table", "view", "split", "pop", "createView", "jsonSchema", "React", "IconButton", "SchemaTable", "types", "objects", "label", "onClick", "div", "className", "map", "type", "key", "typename", "IconButton", "variant", "icon", "iconOnly", "SpaceGenerator", "space", "onCreateObjects", "client", "useClient", "staticTypes", "DocumentType", "DiagramType", "SheetType", "mutableTypes", "Testing", "OrgType", "ProjectType", "ContactType", "count", "setCount", "useState", "info", "setInfo", "typeMap", "useMemo", "addTypes", "mutableGenerators", "Map", "map", "type", "typename", "createGenerator", "staticGenerators", "updateInfo", "mutableSchema", "db", "schemaRegistry", "query", "staticSchema", "graph", "schemas", "objects", "run", "objectMap", "sortKeys", "reduce", "obj", "getTypename", "schema", "static", "length", "mutable", "useAsyncEffect", "handleCreateData", "useCallback", "constructor", "get", "React", "div", "role", "className", "Toolbar", "Root", "classNames", "IconButton", "icon", "iconOnly", "label", "onClick", "Expander", "Input", "TextInput", "min", "max", "placeholder", "value", "onChange", "ev", "parseInt", "target", "SchemaTable", "types", "SyntaxHighlighter", "language", "JSON", "stringify", "jsonKeyReplacer", "truncate", "SpaceGenerator"]
|
|
7
|
+
}
|
|
@@ -388,7 +388,7 @@ var Wireframe = ({ classNames, label, object }) => {
|
|
|
388
388
|
// packages/plugins/plugin-debug/src/components/index.ts
|
|
389
389
|
var DebugApp = lazy(() => import("./DebugApp-HCHR6GKO.mjs"));
|
|
390
390
|
var DebugSpace = lazy(() => import("./DebugSpace-DHKEAMIC.mjs"));
|
|
391
|
-
var SpaceGenerator = lazy(() => import("./SpaceGenerator-
|
|
391
|
+
var SpaceGenerator = lazy(() => import("./SpaceGenerator-BQ3645OS.mjs"));
|
|
392
392
|
|
|
393
393
|
// packages/plugins/plugin-debug/src/translations.ts
|
|
394
394
|
var translations_default = [
|
|
@@ -566,6 +566,14 @@ var DebugPlugin = definePlugin((context) => {
|
|
|
566
566
|
filter: (node) => !!settings.debug && isSpace(node.data),
|
|
567
567
|
connector: ({ node }) => {
|
|
568
568
|
const space = node.data;
|
|
569
|
+
const state = toSignal((onChange) => space.state.subscribe(() => onChange()).unsubscribe, () => space.state.get());
|
|
570
|
+
if (state !== SpaceState.SPACE_READY) {
|
|
571
|
+
return;
|
|
572
|
+
}
|
|
573
|
+
const collection = space.properties[CollectionType.typename];
|
|
574
|
+
if (!collection) {
|
|
575
|
+
return;
|
|
576
|
+
}
|
|
569
577
|
return [
|
|
570
578
|
{
|
|
571
579
|
id: `${space.id}-debug`,
|