@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
|
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
|
|
|
2
2
|
import {
|
|
3
3
|
SPACE_TYPE,
|
|
4
4
|
SpaceAction
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-X34VDVMY.mjs";
|
|
6
6
|
import {
|
|
7
7
|
meta
|
|
8
8
|
} from "./chunk-BDEFTL6K.mjs";
|
|
@@ -11,14 +11,14 @@ import {
|
|
|
11
11
|
import { Atom } from "@effect-atom/atom-react";
|
|
12
12
|
import * as Function from "effect/Function";
|
|
13
13
|
import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
|
|
14
|
-
import { Obj, Ref, Type } from "@dxos/echo";
|
|
14
|
+
import { Filter, Obj, Query, Ref, Type } from "@dxos/echo";
|
|
15
15
|
import { EXPANDO_TYPENAME } from "@dxos/echo/internal";
|
|
16
16
|
import { invariant } from "@dxos/invariant";
|
|
17
17
|
import { Migrations } from "@dxos/migrations";
|
|
18
18
|
import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
|
|
19
19
|
import { SpaceState, getSpace, isSpace } from "@dxos/react-client/echo";
|
|
20
20
|
import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
|
|
21
|
-
import { Collection
|
|
21
|
+
import { Collection } from "@dxos/schema";
|
|
22
22
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
|
|
23
23
|
var SPACES = `${meta.id}-spaces`;
|
|
24
24
|
var COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
|
|
@@ -83,10 +83,16 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
|
|
|
83
83
|
}
|
|
84
84
|
};
|
|
85
85
|
};
|
|
86
|
-
var
|
|
87
|
-
const
|
|
88
|
-
const metadata = typename ? resolve(typename) : {};
|
|
86
|
+
var getSystemCollectionNodePartials = ({ collection, space, resolve }) => {
|
|
87
|
+
const metadata = resolve(collection.key);
|
|
89
88
|
return {
|
|
89
|
+
label: [
|
|
90
|
+
"typename label",
|
|
91
|
+
{
|
|
92
|
+
ns: collection.key,
|
|
93
|
+
count: 2
|
|
94
|
+
}
|
|
95
|
+
],
|
|
90
96
|
icon: metadata.icon,
|
|
91
97
|
iconHue: metadata.iconHue,
|
|
92
98
|
acceptPersistenceClass: /* @__PURE__ */ new Set([
|
|
@@ -95,14 +101,7 @@ var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
|
|
|
95
101
|
acceptPersistenceKey: /* @__PURE__ */ new Set([
|
|
96
102
|
space.id
|
|
97
103
|
]),
|
|
98
|
-
role: "branch"
|
|
99
|
-
canDrop: (source) => {
|
|
100
|
-
return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename;
|
|
101
|
-
},
|
|
102
|
-
onTransferStart: (child, index) => {
|
|
103
|
-
},
|
|
104
|
-
onTransferEnd: (child, destination) => {
|
|
105
|
-
}
|
|
104
|
+
role: "branch"
|
|
106
105
|
};
|
|
107
106
|
};
|
|
108
107
|
var getSchemaGraphNodePartials = () => {
|
|
@@ -111,23 +110,6 @@ var getSchemaGraphNodePartials = () => {
|
|
|
111
110
|
canDrop: () => false
|
|
112
111
|
};
|
|
113
112
|
};
|
|
114
|
-
var getViewGraphNodePartials = ({ view, resolve }) => {
|
|
115
|
-
const presentation = view.presentation.target;
|
|
116
|
-
const typename = presentation ? Obj.getTypename(presentation) : void 0;
|
|
117
|
-
const metadata = typename ? resolve(typename) : {};
|
|
118
|
-
return {
|
|
119
|
-
label: view.name || [
|
|
120
|
-
"object name placeholder",
|
|
121
|
-
{
|
|
122
|
-
ns: typename,
|
|
123
|
-
default: "New view"
|
|
124
|
-
}
|
|
125
|
-
],
|
|
126
|
-
icon: metadata.icon,
|
|
127
|
-
iconHue: metadata.iconHue,
|
|
128
|
-
canDrop: () => false
|
|
129
|
-
};
|
|
130
|
-
};
|
|
131
113
|
var checkPendingMigration = (space) => {
|
|
132
114
|
return space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === SpaceState.SPACE_READY && !!Migrations.versionProperty && space.properties[Migrations.versionProperty] !== Migrations.targetVersion;
|
|
133
115
|
};
|
|
@@ -312,6 +294,7 @@ var createStaticSchemaNode = ({ schema, space }) => {
|
|
|
312
294
|
"typename label",
|
|
313
295
|
{
|
|
314
296
|
ns: Type.getTypename(schema),
|
|
297
|
+
count: 2,
|
|
315
298
|
default: Type.getTypename(schema)
|
|
316
299
|
}
|
|
317
300
|
],
|
|
@@ -343,7 +326,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
343
326
|
label: [
|
|
344
327
|
"add view to schema label",
|
|
345
328
|
{
|
|
346
|
-
ns:
|
|
329
|
+
ns: meta.id
|
|
347
330
|
}
|
|
348
331
|
],
|
|
349
332
|
icon: "ph--plus--regular",
|
|
@@ -361,7 +344,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
361
344
|
label: [
|
|
362
345
|
"rename object label",
|
|
363
346
|
{
|
|
364
|
-
ns: Type.getTypename(
|
|
347
|
+
ns: Type.getTypename(Type.PersistentType)
|
|
365
348
|
}
|
|
366
349
|
],
|
|
367
350
|
icon: "ph--pencil-simple-line--regular",
|
|
@@ -383,7 +366,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
383
366
|
label: [
|
|
384
367
|
"delete object label",
|
|
385
368
|
{
|
|
386
|
-
ns: Type.getTypename(
|
|
369
|
+
ns: Type.getTypename(Type.PersistentType)
|
|
387
370
|
}
|
|
388
371
|
],
|
|
389
372
|
icon: "ph--trash--regular",
|
|
@@ -391,11 +374,38 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
391
374
|
disabled: !deletable,
|
|
392
375
|
testId: "spacePlugin.deleteObject"
|
|
393
376
|
}
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
id: getId(SpaceAction.Snapshot._tag),
|
|
380
|
+
type: ACTION_TYPE,
|
|
381
|
+
data: async () => {
|
|
382
|
+
const result = await dispatch(createIntent(SpaceAction.Snapshot, {
|
|
383
|
+
space,
|
|
384
|
+
query: Query.select(Filter.type(schema)).ast
|
|
385
|
+
}));
|
|
386
|
+
if (result.data?.snapshot) {
|
|
387
|
+
await downloadBlob(
|
|
388
|
+
result.data.snapshot,
|
|
389
|
+
// TODO(wittjosiah): Factor out file name construction.
|
|
390
|
+
`${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${Type.getTypename(schema)}.json`
|
|
391
|
+
);
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
properties: {
|
|
395
|
+
label: [
|
|
396
|
+
"snapshot by schema label",
|
|
397
|
+
{
|
|
398
|
+
ns: meta.id
|
|
399
|
+
}
|
|
400
|
+
],
|
|
401
|
+
icon: "ph--camera--regular",
|
|
402
|
+
disposition: "list-item"
|
|
403
|
+
}
|
|
394
404
|
}
|
|
395
405
|
];
|
|
396
406
|
return actions;
|
|
397
407
|
};
|
|
398
|
-
var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, resolve }) => {
|
|
408
|
+
var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, managedCollectionChild = false, resolve }) => {
|
|
399
409
|
const type = Obj.getTypename(object);
|
|
400
410
|
if (!type) {
|
|
401
411
|
return null;
|
|
@@ -405,14 +415,11 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
405
415
|
collection: object,
|
|
406
416
|
space,
|
|
407
417
|
resolve
|
|
408
|
-
}) : Obj.instanceOf(Collection.
|
|
418
|
+
}) : Obj.instanceOf(Collection.Managed, object) ? getSystemCollectionNodePartials({
|
|
409
419
|
collection: object,
|
|
410
420
|
space,
|
|
411
421
|
resolve
|
|
412
|
-
}) : Obj.instanceOf(
|
|
413
|
-
view: object,
|
|
414
|
-
resolve
|
|
415
|
-
}) : metadata.graphProps;
|
|
422
|
+
}) : Obj.instanceOf(Type.PersistentType, object) ? getSchemaGraphNodePartials() : metadata.graphProps;
|
|
416
423
|
const label = object.name || Obj.getLabel(object) || // TODO(wittjosiah): Remove metadata labels.
|
|
417
424
|
metadata.label?.(object) || [
|
|
418
425
|
"object name placeholder",
|
|
@@ -421,7 +428,7 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
421
428
|
default: "New item"
|
|
422
429
|
}
|
|
423
430
|
];
|
|
424
|
-
const selectable = !Obj.instanceOf(
|
|
431
|
+
const selectable = !Obj.instanceOf(Type.PersistentType, object) && !Obj.instanceOf(Collection.Managed, object) && !Obj.instanceOf(Collection.Collection, object) || navigable && Obj.instanceOf(Collection.Collection, object);
|
|
425
432
|
return {
|
|
426
433
|
id: Obj.getDXN(object).toString(),
|
|
427
434
|
type,
|
|
@@ -440,6 +447,16 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
440
447
|
persistenceClass: "echo",
|
|
441
448
|
persistenceKey: space?.id,
|
|
442
449
|
selectable,
|
|
450
|
+
managedCollectionChild,
|
|
451
|
+
blockInstruction: (source, instruction) => {
|
|
452
|
+
if (source.item.properties.managedCollectionChild) {
|
|
453
|
+
return true;
|
|
454
|
+
}
|
|
455
|
+
if (Obj.instanceOf(Collection.Managed, object)) {
|
|
456
|
+
return !instruction.type.startsWith("reorder");
|
|
457
|
+
}
|
|
458
|
+
return managedCollectionChild;
|
|
459
|
+
},
|
|
443
460
|
canDrop: (source) => {
|
|
444
461
|
return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
|
|
445
462
|
},
|
|
@@ -447,11 +464,11 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
447
464
|
}
|
|
448
465
|
};
|
|
449
466
|
};
|
|
450
|
-
var constructObjectActions = ({ object, graph, dispatch,
|
|
467
|
+
var constructObjectActions = ({ object, graph, dispatch, resolve, deletable = true, navigable = false }) => {
|
|
451
468
|
const space = getSpace(object);
|
|
452
469
|
invariant(space, "Space not found", {
|
|
453
470
|
F: __dxlog_file,
|
|
454
|
-
L:
|
|
471
|
+
L: 548,
|
|
455
472
|
S: void 0,
|
|
456
473
|
A: [
|
|
457
474
|
"space",
|
|
@@ -461,7 +478,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
461
478
|
const typename = Obj.getTypename(object);
|
|
462
479
|
invariant(typename, "Object has no typename", {
|
|
463
480
|
F: __dxlog_file,
|
|
464
|
-
L:
|
|
481
|
+
L: 550,
|
|
465
482
|
S: void 0,
|
|
466
483
|
A: [
|
|
467
484
|
"typename",
|
|
@@ -469,8 +486,10 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
469
486
|
]
|
|
470
487
|
});
|
|
471
488
|
const getId = (id) => `${id}/${Obj.getDXN(object).toString()}`;
|
|
472
|
-
const
|
|
473
|
-
const
|
|
489
|
+
const managedCollection = Obj.instanceOf(Collection.Managed, object) ? object : void 0;
|
|
490
|
+
const metadata = managedCollection ? resolve(managedCollection.key) : {};
|
|
491
|
+
const createObjectIntent = metadata.createObjectIntent;
|
|
492
|
+
const inputSchema = metadata.inputSchema;
|
|
474
493
|
const actions = [
|
|
475
494
|
...Obj.instanceOf(Collection.Collection, object) ? [
|
|
476
495
|
{
|
|
@@ -494,7 +513,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
494
513
|
}
|
|
495
514
|
}
|
|
496
515
|
] : [],
|
|
497
|
-
...Obj.instanceOf(
|
|
516
|
+
...Obj.instanceOf(Type.PersistentType, object) ? [
|
|
498
517
|
{
|
|
499
518
|
id: getId(SpaceAction.AddObject._tag),
|
|
500
519
|
type: ACTION_TYPE,
|
|
@@ -511,27 +530,54 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
511
530
|
label: [
|
|
512
531
|
"add view to schema label",
|
|
513
532
|
{
|
|
514
|
-
ns:
|
|
533
|
+
ns: meta.id
|
|
515
534
|
}
|
|
516
535
|
],
|
|
517
536
|
icon: "ph--plus--regular",
|
|
518
537
|
disposition: "list-item-primary",
|
|
519
538
|
testId: "spacePlugin.addViewToSchema"
|
|
520
539
|
}
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
id: getId(SpaceAction.Snapshot._tag),
|
|
543
|
+
type: ACTION_TYPE,
|
|
544
|
+
data: async () => {
|
|
545
|
+
const result = await dispatch(createIntent(SpaceAction.Snapshot, {
|
|
546
|
+
space,
|
|
547
|
+
query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast
|
|
548
|
+
}));
|
|
549
|
+
if (result.data?.snapshot) {
|
|
550
|
+
await downloadBlob(
|
|
551
|
+
result.data.snapshot,
|
|
552
|
+
// TODO(wittjosiah): Factor out file name construction.
|
|
553
|
+
`${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${object.typename}.json`
|
|
554
|
+
);
|
|
555
|
+
}
|
|
556
|
+
},
|
|
557
|
+
properties: {
|
|
558
|
+
label: [
|
|
559
|
+
"snapshot by schema label",
|
|
560
|
+
{
|
|
561
|
+
ns: meta.id
|
|
562
|
+
}
|
|
563
|
+
],
|
|
564
|
+
icon: "ph--camera--regular",
|
|
565
|
+
disposition: "list-item"
|
|
566
|
+
}
|
|
521
567
|
}
|
|
522
568
|
] : [],
|
|
523
|
-
...
|
|
569
|
+
...createObjectIntent ? [
|
|
524
570
|
{
|
|
525
571
|
id: getId(SpaceAction.OpenCreateObject._tag),
|
|
526
572
|
type: ACTION_TYPE,
|
|
527
573
|
data: async () => {
|
|
528
|
-
if (
|
|
574
|
+
if (inputSchema) {
|
|
529
575
|
await dispatch(createIntent(SpaceAction.OpenCreateObject, {
|
|
530
576
|
target: space,
|
|
531
|
-
typename:
|
|
577
|
+
typename: managedCollection ? managedCollection.key : void 0
|
|
532
578
|
}));
|
|
533
579
|
} else {
|
|
534
|
-
await dispatch(Function.pipe(
|
|
580
|
+
await dispatch(Function.pipe(createObjectIntent({}, {
|
|
535
581
|
space
|
|
536
582
|
}), chain(SpaceAction.AddObject, {
|
|
537
583
|
target: space,
|
|
@@ -543,7 +589,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
543
589
|
},
|
|
544
590
|
properties: {
|
|
545
591
|
label: [
|
|
546
|
-
"create object in
|
|
592
|
+
"create object in system collection label",
|
|
547
593
|
{
|
|
548
594
|
ns: meta.id
|
|
549
595
|
}
|
|
@@ -554,59 +600,61 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
554
600
|
}
|
|
555
601
|
}
|
|
556
602
|
] : [],
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
icon: "ph--pencil-simple-line--regular",
|
|
574
|
-
disposition: "list-item",
|
|
575
|
-
// TODO(wittjosiah): Not working.
|
|
576
|
-
// keyBinding: {
|
|
577
|
-
// macos: 'shift+F6',
|
|
578
|
-
// },
|
|
579
|
-
testId: "spacePlugin.renameObject"
|
|
580
|
-
}
|
|
581
|
-
},
|
|
582
|
-
{
|
|
583
|
-
id: getId(SpaceAction.RemoveObjects._tag),
|
|
584
|
-
type: ACTION_TYPE,
|
|
585
|
-
data: async () => {
|
|
586
|
-
const collection = graph.getConnections(Obj.getDXN(object).toString(), "inbound").find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
|
|
587
|
-
await dispatch(createIntent(SpaceAction.RemoveObjects, {
|
|
588
|
-
objects: [
|
|
589
|
-
object
|
|
603
|
+
...managedCollection ? [] : [
|
|
604
|
+
{
|
|
605
|
+
id: getId(SpaceAction.RenameObject._tag),
|
|
606
|
+
type: ACTION_TYPE,
|
|
607
|
+
data: async (params) => {
|
|
608
|
+
await dispatch(createIntent(SpaceAction.RenameObject, {
|
|
609
|
+
object,
|
|
610
|
+
caller: params?.caller
|
|
611
|
+
}));
|
|
612
|
+
},
|
|
613
|
+
properties: {
|
|
614
|
+
label: [
|
|
615
|
+
"rename object label",
|
|
616
|
+
{
|
|
617
|
+
ns: typename
|
|
618
|
+
}
|
|
590
619
|
],
|
|
591
|
-
|
|
592
|
-
|
|
620
|
+
icon: "ph--pencil-simple-line--regular",
|
|
621
|
+
disposition: "list-item",
|
|
622
|
+
// TODO(wittjosiah): Not working.
|
|
623
|
+
// keyBinding: {
|
|
624
|
+
// macos: 'shift+F6',
|
|
625
|
+
// },
|
|
626
|
+
testId: "spacePlugin.renameObject"
|
|
627
|
+
}
|
|
593
628
|
},
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
629
|
+
{
|
|
630
|
+
id: getId(SpaceAction.RemoveObjects._tag),
|
|
631
|
+
type: ACTION_TYPE,
|
|
632
|
+
data: async () => {
|
|
633
|
+
const collection = graph.getConnections(Obj.getDXN(object).toString(), "inbound").find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
|
|
634
|
+
await dispatch(createIntent(SpaceAction.RemoveObjects, {
|
|
635
|
+
objects: [
|
|
636
|
+
object
|
|
637
|
+
],
|
|
638
|
+
target: collection
|
|
639
|
+
}));
|
|
640
|
+
},
|
|
641
|
+
properties: {
|
|
642
|
+
label: [
|
|
643
|
+
"delete object label",
|
|
644
|
+
{
|
|
645
|
+
ns: typename
|
|
646
|
+
}
|
|
647
|
+
],
|
|
648
|
+
icon: "ph--trash--regular",
|
|
649
|
+
disposition: "list-item",
|
|
650
|
+
disabled: !deletable,
|
|
651
|
+
// TODO(wittjosiah): This is a browser shortcut.
|
|
652
|
+
// keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
|
|
653
|
+
testId: "spacePlugin.deleteObject"
|
|
654
|
+
}
|
|
607
655
|
}
|
|
608
|
-
|
|
609
|
-
...navigable || !Obj.instanceOf(Collection.Collection, object) && !Obj.instanceOf(Collection.
|
|
656
|
+
],
|
|
657
|
+
...navigable || !Obj.instanceOf(Collection.Collection, object) && !Obj.instanceOf(Collection.Managed, object) && !Obj.instanceOf(Type.PersistentType, object) ? [
|
|
610
658
|
{
|
|
611
659
|
id: getId("copy-link"),
|
|
612
660
|
type: ACTION_TYPE,
|
|
@@ -652,6 +700,16 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
652
700
|
];
|
|
653
701
|
return actions;
|
|
654
702
|
};
|
|
703
|
+
var downloadBlob = async (blob, filename) => {
|
|
704
|
+
const url = URL.createObjectURL(blob);
|
|
705
|
+
const a = document.createElement("a");
|
|
706
|
+
a.href = url;
|
|
707
|
+
a.download = filename;
|
|
708
|
+
document.body.appendChild(a);
|
|
709
|
+
a.click();
|
|
710
|
+
document.body.removeChild(a);
|
|
711
|
+
URL.revokeObjectURL(url);
|
|
712
|
+
};
|
|
655
713
|
var getNestedObjects = async (object, resolve) => {
|
|
656
714
|
const type = Obj.getTypename(object);
|
|
657
715
|
if (!type) {
|
|
@@ -676,7 +734,7 @@ var cloneObject = async (object, resolve, newSpace) => {
|
|
|
676
734
|
const serializer = metadata.serializer;
|
|
677
735
|
invariant(serializer, `No serializer for type: ${typename}`, {
|
|
678
736
|
F: __dxlog_file,
|
|
679
|
-
L:
|
|
737
|
+
L: 788,
|
|
680
738
|
S: void 0,
|
|
681
739
|
A: [
|
|
682
740
|
"serializer",
|
|
@@ -708,4 +766,4 @@ export {
|
|
|
708
766
|
getNestedObjects,
|
|
709
767
|
cloneObject
|
|
710
768
|
};
|
|
711
|
-
//# sourceMappingURL=chunk-
|
|
769
|
+
//# sourceMappingURL=chunk-I6FZP42D.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
|
+
}
|