@dxos/plugin-space 0.8.4-main.72ec0f3 → 0.8.4-main.7ace549
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/{ObjectDetailsPanel-2BRUBHP6.mjs → ObjectDetailsPanel-ACGHWPDX.mjs} +2 -2
- package/dist/lib/browser/{ObjectDetailsPanel-2BRUBHP6.mjs.map → ObjectDetailsPanel-ACGHWPDX.mjs.map} +3 -3
- package/dist/lib/browser/{ObjectSettings-5LLWCVEK.mjs → ObjectSettings-U3IH7BMV.mjs} +2 -2
- package/dist/lib/browser/{ObjectSettings-5LLWCVEK.mjs.map → ObjectSettings-U3IH7BMV.mjs.map} +3 -3
- package/dist/lib/browser/{RecordArticle-SXDRWTTU.mjs → RecordArticle-2PFEBPXY.mjs} +1 -1
- package/dist/lib/browser/RecordArticle-2PFEBPXY.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-VQAB3GCQ.mjs → app-graph-builder-HABMCWAI.mjs} +140 -151
- package/dist/lib/browser/app-graph-builder-HABMCWAI.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-KSLKMEPP.mjs → app-graph-serializer-G3VFEGTN.mjs} +4 -4
- package/dist/lib/browser/chunk-6A3NWBB6.mjs +392 -0
- package/dist/lib/browser/chunk-6A3NWBB6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-K5J7ZB5P.mjs → chunk-C6DAPIFF.mjs} +3 -3
- package/dist/lib/browser/chunk-C6DAPIFF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ERQMHU7L.mjs → chunk-GJOZILGC.mjs} +163 -105
- package/dist/lib/browser/chunk-GJOZILGC.mjs.map +7 -0
- package/dist/lib/browser/{chunk-J2BUK5E6.mjs → chunk-KCZ527AM.mjs} +169 -101
- package/dist/lib/browser/chunk-KCZ527AM.mjs.map +7 -0
- package/dist/lib/browser/{chunk-PU5IOFMG.mjs → chunk-P25R3AOK.mjs} +4 -47
- package/dist/lib/browser/{chunk-PU5IOFMG.mjs.map → chunk-P25R3AOK.mjs.map} +4 -4
- package/dist/lib/browser/{chunk-OLBBSOVI.mjs → chunk-POFUXISV.mjs} +53 -59
- package/dist/lib/browser/chunk-POFUXISV.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +47 -94
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-Q2XWHAVA.mjs → intent-resolver-RZEWNJ2K.mjs} +51 -40
- package/dist/lib/browser/intent-resolver-RZEWNJ2K.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-MM4HADPE.mjs → react-root-JCRD74GI.mjs} +6 -6
- package/dist/lib/browser/{react-surface-SGZC3Y4U.mjs → react-surface-VOETEAG3.mjs} +28 -14
- package/dist/lib/browser/react-surface-VOETEAG3.mjs.map +7 -0
- package/dist/lib/browser/repair-CNLE35NF.mjs +44 -0
- package/dist/lib/browser/repair-CNLE35NF.mjs.map +7 -0
- package/dist/lib/browser/{settings-WKLGKUHQ.mjs → settings-TRLI52I5.mjs} +2 -2
- package/dist/lib/browser/{spaces-ready-C5QC2UFL.mjs → spaces-ready-OHGCWZHQ.mjs} +13 -7
- package/dist/lib/browser/{spaces-ready-C5QC2UFL.mjs.map → spaces-ready-OHGCWZHQ.mjs.map} +2 -2
- package/dist/lib/browser/{state-Q7YRE5KG.mjs → state-C7N6EDDZ.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +9 -3
- package/dist/lib/node-esm/{ObjectDetailsPanel-6PZQIQG3.mjs → ObjectDetailsPanel-6OFTT3GG.mjs} +2 -2
- package/dist/lib/node-esm/{ObjectDetailsPanel-6PZQIQG3.mjs.map → ObjectDetailsPanel-6OFTT3GG.mjs.map} +3 -3
- package/dist/lib/node-esm/{ObjectSettings-OQSBOH7K.mjs → ObjectSettings-YXPJQMJ5.mjs} +2 -2
- package/dist/lib/node-esm/{ObjectSettings-OQSBOH7K.mjs.map → ObjectSettings-YXPJQMJ5.mjs.map} +3 -3
- package/dist/lib/node-esm/{RecordArticle-NACBH42P.mjs → RecordArticle-SSJ7PULS.mjs} +1 -1
- package/dist/lib/node-esm/RecordArticle-SSJ7PULS.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-24JCLJPX.mjs → app-graph-builder-T6VJKIOA.mjs} +140 -151
- package/dist/lib/node-esm/app-graph-builder-T6VJKIOA.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-R723K764.mjs → app-graph-serializer-2NLWWFUB.mjs} +4 -4
- package/dist/lib/node-esm/{chunk-TJPQDQNI.mjs → chunk-7EV4SN47.mjs} +4 -47
- package/dist/lib/node-esm/{chunk-TJPQDQNI.mjs.map → chunk-7EV4SN47.mjs.map} +4 -4
- package/dist/lib/node-esm/{chunk-WC4VBFMA.mjs → chunk-AX3UGL5D.mjs} +53 -59
- package/dist/lib/node-esm/chunk-AX3UGL5D.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-VH2EBZEV.mjs → chunk-I6FZP42D.mjs} +163 -105
- package/dist/lib/node-esm/chunk-I6FZP42D.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ITQFSFQ3.mjs → chunk-JAMGJUFU.mjs} +169 -101
- package/dist/lib/node-esm/chunk-JAMGJUFU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-Z7BB6HC2.mjs → chunk-WWGV5FJM.mjs} +3 -3
- package/dist/lib/node-esm/chunk-WWGV5FJM.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-X34VDVMY.mjs +393 -0
- package/dist/lib/node-esm/chunk-X34VDVMY.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +47 -94
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-YK4ESSET.mjs → intent-resolver-4PHJWDXW.mjs} +51 -40
- package/dist/lib/node-esm/intent-resolver-4PHJWDXW.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-5ANDLQMX.mjs → react-root-O5I5CDJ7.mjs} +6 -6
- package/dist/lib/node-esm/{react-surface-V7J2QB44.mjs → react-surface-J3XDMU2D.mjs} +28 -14
- package/dist/lib/node-esm/react-surface-J3XDMU2D.mjs.map +7 -0
- package/dist/lib/node-esm/repair-EHZS6MFY.mjs +45 -0
- package/dist/lib/node-esm/repair-EHZS6MFY.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-RBB5633M.mjs → settings-MNQTKHL7.mjs} +2 -2
- package/dist/lib/node-esm/{spaces-ready-SJCXV6YH.mjs → spaces-ready-ZPU24DA2.mjs} +13 -7
- package/dist/lib/node-esm/{spaces-ready-SJCXV6YH.mjs.map → spaces-ready-ZPU24DA2.mjs.map} +2 -2
- package/dist/lib/node-esm/{state-362I5BMK.mjs → state-45TXZQJ6.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +9 -3
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +9 -4
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/repair.d.ts +4 -0
- package/dist/types/src/capabilities/repair.d.ts.map +1 -0
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +147 -253
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +14 -7
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +147 -253
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +147 -253
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +3 -3
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
- package/dist/types/src/components/RecordArticle.stories.d.ts +147 -253
- package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -1
- package/dist/types/src/components/SchemaContainer.d.ts +1 -1
- package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence/SpacePresence.d.ts +2 -2
- package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +147 -253
- package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +147 -253
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +147 -253
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -2
- package/dist/types/src/helpers/query.d.ts +1 -1
- package/dist/types/src/helpers/query.d.ts.map +1 -1
- package/dist/types/src/hooks/useTypeOptions.d.ts +2 -2
- package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +147 -253
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/form.d.ts +24 -0
- package/dist/types/src/types/form.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +1 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +29 -72
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +16 -32
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +54 -50
- package/src/SpacePlugin.ts +34 -84
- package/src/capabilities/app-graph-builder.ts +130 -227
- package/src/capabilities/capabilities.ts +10 -5
- package/src/capabilities/index.ts +1 -1
- package/src/capabilities/intent-resolver.ts +31 -35
- package/src/capabilities/react-surface.tsx +34 -8
- package/src/capabilities/repair.ts +57 -0
- package/src/capabilities/spaces-ready.ts +7 -1
- package/src/components/CreateDialog/CreateObjectDialog.tsx +33 -23
- package/src/components/CreateDialog/CreateObjectPanel.tsx +32 -25
- package/src/components/ObjectDetailsPanel/ObjectForm.tsx +1 -1
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -5
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +1 -1
- package/src/components/ObjectSettings/ForeignKeys.tsx +5 -5
- package/src/components/RecordArticle.tsx +6 -6
- package/src/components/SchemaContainer.tsx +2 -2
- package/src/components/SpacePresence/SpacePresence.tsx +2 -2
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +25 -6
- package/src/components/ViewEditor.tsx +9 -3
- package/src/helpers/query.ts +1 -1
- package/src/hooks/useTypeOptions.ts +3 -35
- package/src/translations.ts +52 -57
- package/src/types/form.ts +75 -0
- package/src/types/index.ts +1 -0
- package/src/types/types.ts +26 -36
- package/src/util.tsx +165 -107
- package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-VQAB3GCQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-ERQMHU7L.mjs.map +0 -7
- package/dist/lib/browser/chunk-J2BUK5E6.mjs.map +0 -7
- package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +0 -7
- package/dist/lib/browser/chunk-M2Z6D4ZI.mjs +0 -349
- package/dist/lib/browser/chunk-M2Z6D4ZI.mjs.map +0 -7
- package/dist/lib/browser/chunk-OLBBSOVI.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-Q2XWHAVA.mjs.map +0 -7
- package/dist/lib/browser/react-surface-SGZC3Y4U.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-QPI2JU3X.mjs +0 -26
- package/dist/lib/browser/schema-defs-QPI2JU3X.mjs.map +0 -7
- package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-24JCLJPX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2PN7QNGV.mjs +0 -350
- package/dist/lib/node-esm/chunk-2PN7QNGV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ITQFSFQ3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VH2EBZEV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-WC4VBFMA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-YK4ESSET.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-V7J2QB44.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs +0 -27
- package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs.map +0 -7
- package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
- package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
- package/src/capabilities/schema-defs.ts +0 -31
- /package/dist/lib/browser/{app-graph-serializer-KSLKMEPP.mjs.map → app-graph-serializer-G3VFEGTN.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-MM4HADPE.mjs.map → react-root-JCRD74GI.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-WKLGKUHQ.mjs.map → settings-TRLI52I5.mjs.map} +0 -0
- /package/dist/lib/browser/{state-Q7YRE5KG.mjs.map → state-C7N6EDDZ.mjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-R723K764.mjs.map → app-graph-serializer-2NLWWFUB.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-5ANDLQMX.mjs.map → react-root-O5I5CDJ7.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-RBB5633M.mjs.map → settings-MNQTKHL7.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-362I5BMK.mjs.map → state-45TXZQJ6.mjs.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SPACE_TYPE,
|
|
3
3
|
SpaceAction
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6A3NWBB6.mjs";
|
|
5
5
|
import {
|
|
6
6
|
meta
|
|
7
7
|
} from "./chunk-VZBIIYFM.mjs";
|
|
@@ -10,14 +10,14 @@ import {
|
|
|
10
10
|
import { Atom } from "@effect-atom/atom-react";
|
|
11
11
|
import * as Function from "effect/Function";
|
|
12
12
|
import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
|
|
13
|
-
import { Obj, Ref, Type } from "@dxos/echo";
|
|
13
|
+
import { Filter, Obj, Query, Ref, Type } from "@dxos/echo";
|
|
14
14
|
import { EXPANDO_TYPENAME } from "@dxos/echo/internal";
|
|
15
15
|
import { invariant } from "@dxos/invariant";
|
|
16
16
|
import { Migrations } from "@dxos/migrations";
|
|
17
17
|
import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
|
|
18
18
|
import { SpaceState, getSpace, isSpace } from "@dxos/react-client/echo";
|
|
19
19
|
import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
|
|
20
|
-
import { Collection
|
|
20
|
+
import { Collection } from "@dxos/schema";
|
|
21
21
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
|
|
22
22
|
var SPACES = `${meta.id}-spaces`;
|
|
23
23
|
var COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
|
|
@@ -82,10 +82,16 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
|
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
84
|
};
|
|
85
|
-
var
|
|
86
|
-
const
|
|
87
|
-
const metadata = typename ? resolve(typename) : {};
|
|
85
|
+
var getSystemCollectionNodePartials = ({ collection, space, resolve }) => {
|
|
86
|
+
const metadata = resolve(collection.key);
|
|
88
87
|
return {
|
|
88
|
+
label: [
|
|
89
|
+
"typename label",
|
|
90
|
+
{
|
|
91
|
+
ns: collection.key,
|
|
92
|
+
count: 2
|
|
93
|
+
}
|
|
94
|
+
],
|
|
89
95
|
icon: metadata.icon,
|
|
90
96
|
iconHue: metadata.iconHue,
|
|
91
97
|
acceptPersistenceClass: /* @__PURE__ */ new Set([
|
|
@@ -94,14 +100,7 @@ var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
|
|
|
94
100
|
acceptPersistenceKey: /* @__PURE__ */ new Set([
|
|
95
101
|
space.id
|
|
96
102
|
]),
|
|
97
|
-
role: "branch"
|
|
98
|
-
canDrop: (source) => {
|
|
99
|
-
return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename;
|
|
100
|
-
},
|
|
101
|
-
onTransferStart: (child, index) => {
|
|
102
|
-
},
|
|
103
|
-
onTransferEnd: (child, destination) => {
|
|
104
|
-
}
|
|
103
|
+
role: "branch"
|
|
105
104
|
};
|
|
106
105
|
};
|
|
107
106
|
var getSchemaGraphNodePartials = () => {
|
|
@@ -110,23 +109,6 @@ var getSchemaGraphNodePartials = () => {
|
|
|
110
109
|
canDrop: () => false
|
|
111
110
|
};
|
|
112
111
|
};
|
|
113
|
-
var getViewGraphNodePartials = ({ view, resolve }) => {
|
|
114
|
-
const presentation = view.presentation.target;
|
|
115
|
-
const typename = presentation ? Obj.getTypename(presentation) : void 0;
|
|
116
|
-
const metadata = typename ? resolve(typename) : {};
|
|
117
|
-
return {
|
|
118
|
-
label: view.name || [
|
|
119
|
-
"object name placeholder",
|
|
120
|
-
{
|
|
121
|
-
ns: typename,
|
|
122
|
-
default: "New view"
|
|
123
|
-
}
|
|
124
|
-
],
|
|
125
|
-
icon: metadata.icon,
|
|
126
|
-
iconHue: metadata.iconHue,
|
|
127
|
-
canDrop: () => false
|
|
128
|
-
};
|
|
129
|
-
};
|
|
130
112
|
var checkPendingMigration = (space) => {
|
|
131
113
|
return space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === SpaceState.SPACE_READY && !!Migrations.versionProperty && space.properties[Migrations.versionProperty] !== Migrations.targetVersion;
|
|
132
114
|
};
|
|
@@ -311,6 +293,7 @@ var createStaticSchemaNode = ({ schema, space }) => {
|
|
|
311
293
|
"typename label",
|
|
312
294
|
{
|
|
313
295
|
ns: Type.getTypename(schema),
|
|
296
|
+
count: 2,
|
|
314
297
|
default: Type.getTypename(schema)
|
|
315
298
|
}
|
|
316
299
|
],
|
|
@@ -342,7 +325,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
342
325
|
label: [
|
|
343
326
|
"add view to schema label",
|
|
344
327
|
{
|
|
345
|
-
ns:
|
|
328
|
+
ns: meta.id
|
|
346
329
|
}
|
|
347
330
|
],
|
|
348
331
|
icon: "ph--plus--regular",
|
|
@@ -360,7 +343,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
360
343
|
label: [
|
|
361
344
|
"rename object label",
|
|
362
345
|
{
|
|
363
|
-
ns: Type.getTypename(
|
|
346
|
+
ns: Type.getTypename(Type.PersistentType)
|
|
364
347
|
}
|
|
365
348
|
],
|
|
366
349
|
icon: "ph--pencil-simple-line--regular",
|
|
@@ -382,7 +365,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
382
365
|
label: [
|
|
383
366
|
"delete object label",
|
|
384
367
|
{
|
|
385
|
-
ns: Type.getTypename(
|
|
368
|
+
ns: Type.getTypename(Type.PersistentType)
|
|
386
369
|
}
|
|
387
370
|
],
|
|
388
371
|
icon: "ph--trash--regular",
|
|
@@ -390,11 +373,38 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
390
373
|
disabled: !deletable,
|
|
391
374
|
testId: "spacePlugin.deleteObject"
|
|
392
375
|
}
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
id: getId(SpaceAction.Snapshot._tag),
|
|
379
|
+
type: ACTION_TYPE,
|
|
380
|
+
data: async () => {
|
|
381
|
+
const result = await dispatch(createIntent(SpaceAction.Snapshot, {
|
|
382
|
+
space,
|
|
383
|
+
query: Query.select(Filter.type(schema)).ast
|
|
384
|
+
}));
|
|
385
|
+
if (result.data?.snapshot) {
|
|
386
|
+
await downloadBlob(
|
|
387
|
+
result.data.snapshot,
|
|
388
|
+
// TODO(wittjosiah): Factor out file name construction.
|
|
389
|
+
`${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${Type.getTypename(schema)}.json`
|
|
390
|
+
);
|
|
391
|
+
}
|
|
392
|
+
},
|
|
393
|
+
properties: {
|
|
394
|
+
label: [
|
|
395
|
+
"snapshot by schema label",
|
|
396
|
+
{
|
|
397
|
+
ns: meta.id
|
|
398
|
+
}
|
|
399
|
+
],
|
|
400
|
+
icon: "ph--camera--regular",
|
|
401
|
+
disposition: "list-item"
|
|
402
|
+
}
|
|
393
403
|
}
|
|
394
404
|
];
|
|
395
405
|
return actions;
|
|
396
406
|
};
|
|
397
|
-
var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, resolve }) => {
|
|
407
|
+
var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, managedCollectionChild = false, resolve }) => {
|
|
398
408
|
const type = Obj.getTypename(object);
|
|
399
409
|
if (!type) {
|
|
400
410
|
return null;
|
|
@@ -404,14 +414,11 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
404
414
|
collection: object,
|
|
405
415
|
space,
|
|
406
416
|
resolve
|
|
407
|
-
}) : Obj.instanceOf(Collection.
|
|
417
|
+
}) : Obj.instanceOf(Collection.Managed, object) ? getSystemCollectionNodePartials({
|
|
408
418
|
collection: object,
|
|
409
419
|
space,
|
|
410
420
|
resolve
|
|
411
|
-
}) : Obj.instanceOf(
|
|
412
|
-
view: object,
|
|
413
|
-
resolve
|
|
414
|
-
}) : metadata.graphProps;
|
|
421
|
+
}) : Obj.instanceOf(Type.PersistentType, object) ? getSchemaGraphNodePartials() : metadata.graphProps;
|
|
415
422
|
const label = object.name || Obj.getLabel(object) || // TODO(wittjosiah): Remove metadata labels.
|
|
416
423
|
metadata.label?.(object) || [
|
|
417
424
|
"object name placeholder",
|
|
@@ -420,7 +427,7 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
420
427
|
default: "New item"
|
|
421
428
|
}
|
|
422
429
|
];
|
|
423
|
-
const selectable = !Obj.instanceOf(
|
|
430
|
+
const selectable = !Obj.instanceOf(Type.PersistentType, object) && !Obj.instanceOf(Collection.Managed, object) && !Obj.instanceOf(Collection.Collection, object) || navigable && Obj.instanceOf(Collection.Collection, object);
|
|
424
431
|
return {
|
|
425
432
|
id: Obj.getDXN(object).toString(),
|
|
426
433
|
type,
|
|
@@ -439,6 +446,16 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
439
446
|
persistenceClass: "echo",
|
|
440
447
|
persistenceKey: space?.id,
|
|
441
448
|
selectable,
|
|
449
|
+
managedCollectionChild,
|
|
450
|
+
blockInstruction: (source, instruction) => {
|
|
451
|
+
if (source.item.properties.managedCollectionChild) {
|
|
452
|
+
return true;
|
|
453
|
+
}
|
|
454
|
+
if (Obj.instanceOf(Collection.Managed, object)) {
|
|
455
|
+
return !instruction.type.startsWith("reorder");
|
|
456
|
+
}
|
|
457
|
+
return managedCollectionChild;
|
|
458
|
+
},
|
|
442
459
|
canDrop: (source) => {
|
|
443
460
|
return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
|
|
444
461
|
},
|
|
@@ -446,11 +463,11 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
446
463
|
}
|
|
447
464
|
};
|
|
448
465
|
};
|
|
449
|
-
var constructObjectActions = ({ object, graph, dispatch,
|
|
466
|
+
var constructObjectActions = ({ object, graph, dispatch, resolve, deletable = true, navigable = false }) => {
|
|
450
467
|
const space = getSpace(object);
|
|
451
468
|
invariant(space, "Space not found", {
|
|
452
469
|
F: __dxlog_file,
|
|
453
|
-
L:
|
|
470
|
+
L: 548,
|
|
454
471
|
S: void 0,
|
|
455
472
|
A: [
|
|
456
473
|
"space",
|
|
@@ -460,7 +477,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
460
477
|
const typename = Obj.getTypename(object);
|
|
461
478
|
invariant(typename, "Object has no typename", {
|
|
462
479
|
F: __dxlog_file,
|
|
463
|
-
L:
|
|
480
|
+
L: 550,
|
|
464
481
|
S: void 0,
|
|
465
482
|
A: [
|
|
466
483
|
"typename",
|
|
@@ -468,8 +485,10 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
468
485
|
]
|
|
469
486
|
});
|
|
470
487
|
const getId = (id) => `${id}/${Obj.getDXN(object).toString()}`;
|
|
471
|
-
const
|
|
472
|
-
const
|
|
488
|
+
const managedCollection = Obj.instanceOf(Collection.Managed, object) ? object : void 0;
|
|
489
|
+
const metadata = managedCollection ? resolve(managedCollection.key) : {};
|
|
490
|
+
const createObjectIntent = metadata.createObjectIntent;
|
|
491
|
+
const inputSchema = metadata.inputSchema;
|
|
473
492
|
const actions = [
|
|
474
493
|
...Obj.instanceOf(Collection.Collection, object) ? [
|
|
475
494
|
{
|
|
@@ -493,7 +512,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
493
512
|
}
|
|
494
513
|
}
|
|
495
514
|
] : [],
|
|
496
|
-
...Obj.instanceOf(
|
|
515
|
+
...Obj.instanceOf(Type.PersistentType, object) ? [
|
|
497
516
|
{
|
|
498
517
|
id: getId(SpaceAction.AddObject._tag),
|
|
499
518
|
type: ACTION_TYPE,
|
|
@@ -510,27 +529,54 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
510
529
|
label: [
|
|
511
530
|
"add view to schema label",
|
|
512
531
|
{
|
|
513
|
-
ns:
|
|
532
|
+
ns: meta.id
|
|
514
533
|
}
|
|
515
534
|
],
|
|
516
535
|
icon: "ph--plus--regular",
|
|
517
536
|
disposition: "list-item-primary",
|
|
518
537
|
testId: "spacePlugin.addViewToSchema"
|
|
519
538
|
}
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
id: getId(SpaceAction.Snapshot._tag),
|
|
542
|
+
type: ACTION_TYPE,
|
|
543
|
+
data: async () => {
|
|
544
|
+
const result = await dispatch(createIntent(SpaceAction.Snapshot, {
|
|
545
|
+
space,
|
|
546
|
+
query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast
|
|
547
|
+
}));
|
|
548
|
+
if (result.data?.snapshot) {
|
|
549
|
+
await downloadBlob(
|
|
550
|
+
result.data.snapshot,
|
|
551
|
+
// TODO(wittjosiah): Factor out file name construction.
|
|
552
|
+
`${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${object.typename}.json`
|
|
553
|
+
);
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
properties: {
|
|
557
|
+
label: [
|
|
558
|
+
"snapshot by schema label",
|
|
559
|
+
{
|
|
560
|
+
ns: meta.id
|
|
561
|
+
}
|
|
562
|
+
],
|
|
563
|
+
icon: "ph--camera--regular",
|
|
564
|
+
disposition: "list-item"
|
|
565
|
+
}
|
|
520
566
|
}
|
|
521
567
|
] : [],
|
|
522
|
-
...
|
|
568
|
+
...createObjectIntent ? [
|
|
523
569
|
{
|
|
524
570
|
id: getId(SpaceAction.OpenCreateObject._tag),
|
|
525
571
|
type: ACTION_TYPE,
|
|
526
572
|
data: async () => {
|
|
527
|
-
if (
|
|
573
|
+
if (inputSchema) {
|
|
528
574
|
await dispatch(createIntent(SpaceAction.OpenCreateObject, {
|
|
529
575
|
target: space,
|
|
530
|
-
typename:
|
|
576
|
+
typename: managedCollection ? managedCollection.key : void 0
|
|
531
577
|
}));
|
|
532
578
|
} else {
|
|
533
|
-
await dispatch(Function.pipe(
|
|
579
|
+
await dispatch(Function.pipe(createObjectIntent({}, {
|
|
534
580
|
space
|
|
535
581
|
}), chain(SpaceAction.AddObject, {
|
|
536
582
|
target: space,
|
|
@@ -542,7 +588,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
542
588
|
},
|
|
543
589
|
properties: {
|
|
544
590
|
label: [
|
|
545
|
-
"create object in
|
|
591
|
+
"create object in system collection label",
|
|
546
592
|
{
|
|
547
593
|
ns: meta.id
|
|
548
594
|
}
|
|
@@ -553,59 +599,61 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
553
599
|
}
|
|
554
600
|
}
|
|
555
601
|
] : [],
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
icon: "ph--pencil-simple-line--regular",
|
|
573
|
-
disposition: "list-item",
|
|
574
|
-
// TODO(wittjosiah): Not working.
|
|
575
|
-
// keyBinding: {
|
|
576
|
-
// macos: 'shift+F6',
|
|
577
|
-
// },
|
|
578
|
-
testId: "spacePlugin.renameObject"
|
|
579
|
-
}
|
|
580
|
-
},
|
|
581
|
-
{
|
|
582
|
-
id: getId(SpaceAction.RemoveObjects._tag),
|
|
583
|
-
type: ACTION_TYPE,
|
|
584
|
-
data: async () => {
|
|
585
|
-
const collection = graph.getConnections(Obj.getDXN(object).toString(), "inbound").find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
|
|
586
|
-
await dispatch(createIntent(SpaceAction.RemoveObjects, {
|
|
587
|
-
objects: [
|
|
588
|
-
object
|
|
602
|
+
...managedCollection ? [] : [
|
|
603
|
+
{
|
|
604
|
+
id: getId(SpaceAction.RenameObject._tag),
|
|
605
|
+
type: ACTION_TYPE,
|
|
606
|
+
data: async (params) => {
|
|
607
|
+
await dispatch(createIntent(SpaceAction.RenameObject, {
|
|
608
|
+
object,
|
|
609
|
+
caller: params?.caller
|
|
610
|
+
}));
|
|
611
|
+
},
|
|
612
|
+
properties: {
|
|
613
|
+
label: [
|
|
614
|
+
"rename object label",
|
|
615
|
+
{
|
|
616
|
+
ns: typename
|
|
617
|
+
}
|
|
589
618
|
],
|
|
590
|
-
|
|
591
|
-
|
|
619
|
+
icon: "ph--pencil-simple-line--regular",
|
|
620
|
+
disposition: "list-item",
|
|
621
|
+
// TODO(wittjosiah): Not working.
|
|
622
|
+
// keyBinding: {
|
|
623
|
+
// macos: 'shift+F6',
|
|
624
|
+
// },
|
|
625
|
+
testId: "spacePlugin.renameObject"
|
|
626
|
+
}
|
|
592
627
|
},
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
628
|
+
{
|
|
629
|
+
id: getId(SpaceAction.RemoveObjects._tag),
|
|
630
|
+
type: ACTION_TYPE,
|
|
631
|
+
data: async () => {
|
|
632
|
+
const collection = graph.getConnections(Obj.getDXN(object).toString(), "inbound").find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
|
|
633
|
+
await dispatch(createIntent(SpaceAction.RemoveObjects, {
|
|
634
|
+
objects: [
|
|
635
|
+
object
|
|
636
|
+
],
|
|
637
|
+
target: collection
|
|
638
|
+
}));
|
|
639
|
+
},
|
|
640
|
+
properties: {
|
|
641
|
+
label: [
|
|
642
|
+
"delete object label",
|
|
643
|
+
{
|
|
644
|
+
ns: typename
|
|
645
|
+
}
|
|
646
|
+
],
|
|
647
|
+
icon: "ph--trash--regular",
|
|
648
|
+
disposition: "list-item",
|
|
649
|
+
disabled: !deletable,
|
|
650
|
+
// TODO(wittjosiah): This is a browser shortcut.
|
|
651
|
+
// keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
|
|
652
|
+
testId: "spacePlugin.deleteObject"
|
|
653
|
+
}
|
|
606
654
|
}
|
|
607
|
-
|
|
608
|
-
...navigable || !Obj.instanceOf(Collection.Collection, object) && !Obj.instanceOf(Collection.
|
|
655
|
+
],
|
|
656
|
+
...navigable || !Obj.instanceOf(Collection.Collection, object) && !Obj.instanceOf(Collection.Managed, object) && !Obj.instanceOf(Type.PersistentType, object) ? [
|
|
609
657
|
{
|
|
610
658
|
id: getId("copy-link"),
|
|
611
659
|
type: ACTION_TYPE,
|
|
@@ -651,6 +699,16 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
651
699
|
];
|
|
652
700
|
return actions;
|
|
653
701
|
};
|
|
702
|
+
var downloadBlob = async (blob, filename) => {
|
|
703
|
+
const url = URL.createObjectURL(blob);
|
|
704
|
+
const a = document.createElement("a");
|
|
705
|
+
a.href = url;
|
|
706
|
+
a.download = filename;
|
|
707
|
+
document.body.appendChild(a);
|
|
708
|
+
a.click();
|
|
709
|
+
document.body.removeChild(a);
|
|
710
|
+
URL.revokeObjectURL(url);
|
|
711
|
+
};
|
|
654
712
|
var getNestedObjects = async (object, resolve) => {
|
|
655
713
|
const type = Obj.getTypename(object);
|
|
656
714
|
if (!type) {
|
|
@@ -675,7 +733,7 @@ var cloneObject = async (object, resolve, newSpace) => {
|
|
|
675
733
|
const serializer = metadata.serializer;
|
|
676
734
|
invariant(serializer, `No serializer for type: ${typename}`, {
|
|
677
735
|
F: __dxlog_file,
|
|
678
|
-
L:
|
|
736
|
+
L: 788,
|
|
679
737
|
S: void 0,
|
|
680
738
|
A: [
|
|
681
739
|
"serializer",
|
|
@@ -707,4 +765,4 @@ export {
|
|
|
707
765
|
getNestedObjects,
|
|
708
766
|
cloneObject
|
|
709
767
|
};
|
|
710
|
-
//# sourceMappingURL=chunk-
|
|
768
|
+
//# sourceMappingURL=chunk-GJOZILGC.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Instruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item';\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Function from 'effect/Function';\nimport type * as Schema from 'effect/Schema';\n\nimport { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';\nimport { type Database, type Entity, Filter, Obj, Query, Ref, Type } from '@dxos/echo';\nimport { EXPANDO_TYPENAME } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n type ActionData,\n type InvokeParams,\n type Node,\n type NodeArg,\n type ReadableGraph,\n isGraphNode,\n} from '@dxos/plugin-graph';\nimport { type Space, SpaceState, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from './meta';\nimport { SPACE_TYPE, SpaceAction } from './types';\n\nexport const SPACES = `${meta.id}-spaces`;\nexport const COMPOSER_SPACE_LOCK = `${meta.id}/lock`;\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n/**\n * Convert a query result to an Atom value of the objects.\n */\nexport const atomFromQuery = <T extends Entity.Unknown>(query: Database.QueryResult<T>): Atom.Atom<T[]> => {\n return Atom.make((get) => {\n const unsubscribe = query.subscribe((result) => {\n get.setSelf(result.objects);\n });\n\n get.addFinalizer(() => unsubscribe());\n return query.objects;\n });\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name!\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: meta.id }]\n : ['unnamed space label', { ns: meta.id }];\n};\n\nconst getCollectionGraphNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: Collection.Collection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(Obj.isObject).map(Ref.make);\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(child.data));\n } else {\n collection.objects.push(Ref.make(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<Obj.Any>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(newObject));\n } else {\n collection.objects.push(Ref.make(newObject));\n }\n },\n };\n};\n\nconst getSystemCollectionNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: Collection.Managed;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const metadata = resolve(collection.key);\n return {\n label: ['typename label', { ns: collection.key, count: 2 }],\n icon: metadata.icon,\n iconHue: metadata.iconHue,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n };\n};\n\nconst getSchemaGraphNodePartials = () => {\n return {\n role: 'branch',\n canDrop: () => false,\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection =\n space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, space, resolve })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n canDrop: (source: TreeData) => {\n // TODO(wittjosiah): Find a way to only allow space as source for rearranging.\n return Obj.isObject(source.item.data) || isSpace(source.item.data);\n },\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: meta.id }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/properties`,\n data: `${meta.id}/properties`,\n properties: {\n label: ['space settings properties label', { ns: meta.id }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/members`,\n data: `${meta.id}/members`,\n properties: {\n label: ['members panel label', { ns: meta.id }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/schema`,\n data: `${meta.id}/schema`,\n properties: {\n label: ['space settings schema label', { ns: meta.id }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: meta.id }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));\n },\n properties: {\n label: ['rename space label', { ns: meta.id }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createStaticSchemaNode = ({\n schema,\n space,\n}: {\n schema: Schema.Schema.AnyNoContext;\n space: Space;\n}): Node => {\n return {\n id: `${space.id}/${Type.getTypename(schema)}`,\n type: `${meta.id}/static-schema`,\n data: schema,\n properties: {\n label: ['typename label', { ns: Type.getTypename(schema), count: 2, default: Type.getTypename(schema) }],\n icon: 'ph--database--regular',\n iconHue: 'green',\n role: 'branch',\n selectable: false,\n canDrop: () => false,\n space,\n },\n };\n};\n\nexport const createStaticSchemaActions = ({\n schema,\n space,\n dispatch,\n deletable,\n}: {\n schema: Type.Obj.Any;\n space: Space;\n dispatch: PromiseIntentDispatcher;\n deletable: boolean;\n}) => {\n const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;\n\n const actions: NodeArg<ActionData>[] = [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: Type.getTypename(schema) },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n throw new Error('Not implemented');\n },\n properties: {\n label: ['rename object label', { ns: Type.getTypename(Type.PersistentType) }],\n icon: 'ph--pencil-simple-line--regular',\n disabled: true,\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const index = space.properties.staticRecords.findIndex(\n (typename: string) => typename === Type.getTypename(schema),\n );\n if (index > -1) {\n space.properties.staticRecords.splice(index, 1);\n }\n },\n properties: {\n label: ['delete object label', { ns: Type.getTypename(Type.PersistentType) }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n {\n id: getId(SpaceAction.Snapshot._tag),\n type: ACTION_TYPE,\n data: async () => {\n const result = await dispatch(\n createIntent(SpaceAction.Snapshot, {\n space,\n query: Query.select(Filter.type(schema)).ast,\n }),\n );\n if (result.data?.snapshot) {\n await downloadBlob(\n result.data.snapshot,\n // TODO(wittjosiah): Factor out file name construction.\n `${new Date().toISOString()}-${space.id}-${Type.getTypename(schema)}.json`,\n );\n }\n },\n properties: {\n label: ['snapshot by schema label', { ns: meta.id }],\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ];\n\n return actions;\n};\n\nexport const createObjectNode = ({\n space,\n object,\n disposition,\n droppable = true,\n navigable = false,\n managedCollectionChild = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n disposition?: string;\n droppable?: boolean;\n navigable?: boolean;\n managedCollectionChild?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return null;\n }\n\n const metadata = resolve(type);\n const partials = Obj.instanceOf(Collection.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(Collection.Managed, object)\n ? getSystemCollectionNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(Type.PersistentType, object)\n ? getSchemaGraphNodePartials()\n : metadata.graphProps;\n\n // TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.\n // e.g., create new collection with no name and rename it.\n const label = (object as any).name ||\n Obj.getLabel(object) ||\n // TODO(wittjosiah): Remove metadata labels.\n metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];\n\n const selectable =\n (!Obj.instanceOf(Type.PersistentType, object) &&\n !Obj.instanceOf(Collection.Managed, object) &&\n !Obj.instanceOf(Collection.Collection, object)) ||\n (navigable && Obj.instanceOf(Collection.Collection, object));\n\n return {\n id: Obj.getDXN(object).toString(),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n label,\n icon: metadata.icon ?? 'ph--placeholder--regular',\n iconHue: metadata.iconHue,\n disposition,\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n selectable,\n managedCollectionChild,\n blockInstruction: (source: TreeData, instruction: Instruction) => {\n if (source.item.properties.managedCollectionChild) {\n // TODO(wittjosiah): Support reordering system collections.\n // return !(managedCollectionChild && source.item.type === type && instruction.type.startsWith('reorder'));\n return true;\n }\n\n if (Obj.instanceOf(Collection.Managed, object)) {\n return !instruction.type.startsWith('reorder');\n }\n\n return managedCollectionChild;\n },\n canDrop: (source: TreeData) => {\n return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n dispatch,\n resolve,\n deletable = true,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n resolve: (typename: string) => Record<string, any>;\n deletable?: boolean;\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const typename = Obj.getTypename(object);\n invariant(typename, 'Object has no typename');\n\n const getId = (id: string) => `${id}/${Obj.getDXN(object).toString()}`;\n\n const managedCollection = Obj.instanceOf(Collection.Managed, object) ? object : undefined;\n const metadata = managedCollection ? resolve(managedCollection.key) : {};\n const createObjectIntent = metadata.createObjectIntent;\n const inputSchema = metadata.inputSchema;\n\n const actions: NodeArg<ActionData>[] = [\n ...(Obj.instanceOf(Collection.Collection, object)\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(Obj.instanceOf(Type.PersistentType, object)\n ? [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: object.typename },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceAction.Snapshot._tag),\n type: ACTION_TYPE,\n data: async () => {\n const result = await dispatch(\n createIntent(SpaceAction.Snapshot, {\n space,\n query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast,\n }),\n );\n if (result.data?.snapshot) {\n await downloadBlob(\n result.data.snapshot,\n // TODO(wittjosiah): Factor out file name construction.\n `${new Date().toISOString()}-${space.id}-${object.typename}.json`,\n );\n }\n },\n properties: {\n label: ['snapshot by schema label', { ns: meta.id }],\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ]\n : []),\n ...(createObjectIntent\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (inputSchema) {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n typename: managedCollection ? managedCollection.key : undefined,\n }),\n );\n } else {\n await dispatch(\n Function.pipe(\n createObjectIntent({}, { space }),\n chain(SpaceAction.AddObject, { target: space, hidden: true }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n }\n },\n properties: {\n label: ['create object in system collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(managedCollection\n ? []\n : [\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));\n },\n properties: {\n label: ['rename object label', { ns: typename }],\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): Not working.\n // keyBinding: {\n // macos: 'shift+F6',\n // },\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const collection = graph\n .getConnections(Obj.getDXN(object).toString(), 'inbound')\n .find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: ['delete object label', { ns: typename }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ]),\n ...(navigable ||\n (!Obj.instanceOf(Collection.Collection, object) &&\n !Obj.instanceOf(Collection.Managed, object) &&\n !Obj.instanceOf(Type.PersistentType, object))\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(LayoutAction.Expose, { part: 'navigation', subject: Obj.getDXN(object).toString() }),\n );\n },\n properties: {\n label: ['expose object label', { ns: meta.id }],\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n// TODO(wittjosiah): Factor out.\nconst downloadBlob = async (blob: Blob, filename: string) => {\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = filename;\n\n document.body.appendChild(a);\n a.click();\n\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Any[]> => {\n const type = Obj.getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: Obj.Any[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Obj.Any> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? (Type.getTypename(schema) ?? EXPANDO_TYPENAME) : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Atom", "Function", "LayoutAction", "chain", "createIntent", "Filter", "Obj", "Query", "Ref", "Type", "EXPANDO_TYPENAME", "invariant", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "isGraphNode", "SpaceState", "getSpace", "isSpace", "ATTENDABLE_PATH_SEPARATOR", "Collection", "SPACES", "meta", "id", "COMPOSER_SPACE_LOCK", "SHARED", "atomFromQuery", "query", "Atom", "make", "get", "unsubscribe", "subscribe", "result", "setSelf", "objects", "addFinalizer", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "filter", "Obj", "isObject", "map", "Ref", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "db", "add", "getSystemCollectionNodePartials", "metadata", "key", "label", "count", "icon", "iconHue", "getSchemaGraphNodePartials", "canDrop", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "hasPendingMigration", "Collection", "typename", "partials", "instanceOf", "type", "SPACE_TYPE", "cacheable", "description", "hue", "undefined", "disabled", "testId", "source", "item", "isSpace", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createStaticSchemaNode", "schema", "Type", "getTypename", "default", "selectable", "createStaticSchemaActions", "deletable", "AddObject", "views", "initialFormValues", "RenameObject", "Error", "PersistentType", "RemoveObjects", "staticRecords", "Snapshot", "Query", "select", "Filter", "ast", "snapshot", "downloadBlob", "Date", "toISOString", "createObjectNode", "droppable", "managedCollectionChild", "Managed", "graphProps", "getLabel", "getDXN", "toString", "persistenceClass", "persistenceKey", "blockInstruction", "instruction", "startsWith", "isGraphNode", "constructObjectActions", "graph", "getSpace", "invariant", "managedCollection", "createObjectIntent", "inputSchema", "toEffectSchema", "jsonSchema", "pipe", "chain", "hidden", "LayoutAction", "Open", "part", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "subject", "blob", "filename", "URL", "createObjectURL", "a", "document", "createElement", "href", "download", "body", "appendChild", "click", "removeChild", "revokeObjectURL", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "getSchema", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
|
|
7
|
+
}
|