@dxos/plugin-space 0.8.2 → 0.8.3-main.7f5a14c
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/{app-graph-builder-DCWUULKX.mjs → app-graph-builder-UNXUTH53.mjs} +11 -10
- package/dist/lib/browser/app-graph-builder-UNXUTH53.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-MLU7XI2P.mjs → app-graph-serializer-KPKPMC4M.mjs} +6 -6
- package/dist/lib/browser/app-graph-serializer-KPKPMC4M.mjs.map +7 -0
- package/dist/lib/browser/{chunk-Q4BTFH2P.mjs → chunk-CF4FBDGP.mjs} +26 -24
- package/dist/lib/browser/chunk-CF4FBDGP.mjs.map +7 -0
- package/dist/lib/browser/{chunk-W46VVHFM.mjs → chunk-LGEIVEYC.mjs} +8 -7
- package/dist/lib/browser/chunk-LGEIVEYC.mjs.map +7 -0
- package/dist/lib/browser/{chunk-N5QMRLKI.mjs → chunk-RRJIDXPY.mjs} +18 -18
- package/dist/lib/browser/chunk-RRJIDXPY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-VEBKN45O.mjs → chunk-TQPBDRXV.mjs} +2 -2
- package/dist/lib/browser/{identity-created-O63SIYOF.mjs → identity-created-EM6GZDNF.mjs} +4 -4
- package/dist/lib/browser/identity-created-EM6GZDNF.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +7 -7
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-KBF3YU6I.mjs → intent-resolver-K3ULKQ6V.mjs} +27 -29
- package/dist/lib/browser/intent-resolver-K3ULKQ6V.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-PVKJE4EZ.mjs → react-root-ECO7G77L.mjs} +4 -4
- package/dist/lib/browser/{react-surface-252P4NCK.mjs → react-surface-Y5AZBYA7.mjs} +12 -12
- package/dist/lib/browser/react-surface-Y5AZBYA7.mjs.map +7 -0
- package/dist/lib/browser/{schema-tools-JIEMHUXV.mjs → schema-tools-ILTVSSS3.mjs} +7 -6
- package/dist/lib/browser/schema-tools-ILTVSSS3.mjs.map +7 -0
- package/dist/lib/browser/{settings-2IN2WLUK.mjs → settings-MU7O6JDD.mjs} +4 -4
- package/dist/lib/browser/settings-MU7O6JDD.mjs.map +7 -0
- package/dist/lib/browser/{spaces-ready-L4QAGTDE.mjs → spaces-ready-NXZAWHGI.mjs} +9 -10
- package/dist/lib/browser/spaces-ready-NXZAWHGI.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node/{app-graph-builder-WC445X77.cjs → app-graph-builder-6QDQEYHS.cjs} +38 -37
- package/dist/lib/node/app-graph-builder-6QDQEYHS.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-UPQOQVMJ.cjs → app-graph-serializer-6SWKHDE2.cjs} +21 -21
- package/dist/lib/node/app-graph-serializer-6SWKHDE2.cjs.map +7 -0
- package/dist/lib/node/{chunk-COQYISES.cjs → chunk-KDBPQ6L3.cjs} +54 -54
- package/dist/lib/node/chunk-KDBPQ6L3.cjs.map +7 -0
- package/dist/lib/node/{chunk-Q3YZEYZT.cjs → chunk-QCANR24R.cjs} +67 -65
- package/dist/lib/node/chunk-QCANR24R.cjs.map +7 -0
- package/dist/lib/node/{chunk-DXL5TDFP.cjs → chunk-SF3NU7EW.cjs} +6 -6
- package/dist/lib/node/{chunk-FXHI7JNY.cjs → chunk-UUBPYP7E.cjs} +33 -32
- package/dist/lib/node/chunk-UUBPYP7E.cjs.map +7 -0
- package/dist/lib/node/{identity-created-UXEAUGC7.cjs → identity-created-KCJAOFZC.cjs} +7 -7
- package/dist/lib/node/identity-created-KCJAOFZC.cjs.map +7 -0
- package/dist/lib/node/index.cjs +61 -61
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-SVFJKUH7.cjs → intent-resolver-XR4S7LME.cjs} +79 -81
- package/dist/lib/node/intent-resolver-XR4S7LME.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-root-DDPDUMCG.cjs → react-root-Z2YM6JYC.cjs} +8 -8
- package/dist/lib/node/{react-surface-JUIU37BX.cjs → react-surface-H6XNU6DS.cjs} +56 -56
- package/dist/lib/node/react-surface-H6XNU6DS.cjs.map +7 -0
- package/dist/lib/node/{schema-tools-ZG6Z2QRC.cjs → schema-tools-IYREN4IH.cjs} +9 -8
- package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +7 -0
- package/dist/lib/node/{settings-FOH7EB5C.cjs → settings-XRAT3YMN.cjs} +7 -7
- package/dist/lib/node/settings-XRAT3YMN.cjs.map +7 -0
- package/dist/lib/node/{spaces-ready-VXQYCBII.cjs → spaces-ready-KKFEN2MM.cjs} +22 -23
- package/dist/lib/node/spaces-ready-KKFEN2MM.cjs.map +7 -0
- package/dist/lib/node/types/index.cjs +12 -12
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/{app-graph-builder-E7CCGPQJ.mjs → app-graph-builder-5EAV4CDH.mjs} +11 -10
- package/dist/lib/node-esm/app-graph-builder-5EAV4CDH.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-UCMSLPIA.mjs → app-graph-serializer-BRLVJW6I.mjs} +6 -6
- package/dist/lib/node-esm/app-graph-serializer-BRLVJW6I.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-FTELJGEG.mjs → chunk-226REPOB.mjs} +8 -7
- package/dist/lib/node-esm/chunk-226REPOB.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-OSPEGYX3.mjs → chunk-55OOAFBS.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-HL2Z2GNW.mjs → chunk-AVONUBZO.mjs} +26 -24
- package/dist/lib/node-esm/chunk-AVONUBZO.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-XAZNQ3QN.mjs → chunk-FTL5AMXF.mjs} +18 -18
- package/dist/lib/node-esm/chunk-FTL5AMXF.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-ZECO4NH3.mjs → identity-created-FOFH2WPI.mjs} +4 -4
- package/dist/lib/node-esm/identity-created-FOFH2WPI.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +7 -7
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-K2UDBF2R.mjs → intent-resolver-72KTB4S2.mjs} +27 -29
- package/dist/lib/node-esm/intent-resolver-72KTB4S2.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-6F7B3OVO.mjs → react-root-FU2I5U2M.mjs} +4 -4
- package/dist/lib/node-esm/{react-surface-NP3Y6BNZ.mjs → react-surface-L4SMKRYF.mjs} +12 -12
- package/dist/lib/node-esm/react-surface-L4SMKRYF.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-tools-2Y4D42PD.mjs → schema-tools-SRLCRZ3B.mjs} +7 -6
- package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-Q4XDFSYD.mjs → settings-C7GQAEDU.mjs} +4 -4
- package/dist/lib/node-esm/settings-C7GQAEDU.mjs.map +7 -0
- package/dist/lib/node-esm/{spaces-ready-JHKPD4PH.mjs → spaces-ready-WTISHKEH.mjs} +9 -10
- package/dist/lib/node-esm/spaces-ready-WTISHKEH.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/capabilities/app-graph-builder.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/schema-tools.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -2
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/MenuFooter.d.ts +2 -2
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SchemaContainer.d.ts +2 -2
- package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.d.ts +2 -2
- package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/types/collection.d.ts +5 -5
- package/dist/types/src/types/collection.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +5 -4
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +10 -10
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +45 -45
- package/src/SpacePlugin.tsx +4 -4
- package/src/capabilities/app-graph-builder.ts +8 -17
- package/src/capabilities/app-graph-serializer.ts +3 -3
- package/src/capabilities/identity-created.ts +2 -2
- package/src/capabilities/intent-resolver.ts +30 -25
- package/src/capabilities/react-surface.tsx +10 -22
- package/src/capabilities/schema-tools.ts +3 -2
- package/src/capabilities/settings.ts +6 -2
- package/src/capabilities/spaces-ready.ts +5 -6
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +3 -2
- package/src/components/CreateDialog/CreateObjectDialog.tsx +9 -16
- package/src/components/CreateDialog/CreateObjectPanel.tsx +3 -2
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +1 -1
- package/src/components/MenuFooter.tsx +3 -2
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -4
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +5 -4
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +3 -3
- package/src/components/SchemaContainer.tsx +3 -3
- package/src/components/SpacePresence.tsx +22 -15
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +2 -1
- package/src/types/collection.ts +13 -4
- package/src/types/types.ts +5 -4
- package/src/util.tsx +26 -35
- package/dist/lib/browser/app-graph-builder-DCWUULKX.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-MLU7XI2P.mjs.map +0 -7
- package/dist/lib/browser/chunk-N5QMRLKI.mjs.map +0 -7
- package/dist/lib/browser/chunk-Q4BTFH2P.mjs.map +0 -7
- package/dist/lib/browser/chunk-W46VVHFM.mjs.map +0 -7
- package/dist/lib/browser/identity-created-O63SIYOF.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-KBF3YU6I.mjs.map +0 -7
- package/dist/lib/browser/react-surface-252P4NCK.mjs.map +0 -7
- package/dist/lib/browser/schema-tools-JIEMHUXV.mjs.map +0 -7
- package/dist/lib/browser/settings-2IN2WLUK.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-L4QAGTDE.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-WC445X77.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-UPQOQVMJ.cjs.map +0 -7
- package/dist/lib/node/chunk-COQYISES.cjs.map +0 -7
- package/dist/lib/node/chunk-FXHI7JNY.cjs.map +0 -7
- package/dist/lib/node/chunk-Q3YZEYZT.cjs.map +0 -7
- package/dist/lib/node/identity-created-UXEAUGC7.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-SVFJKUH7.cjs.map +0 -7
- package/dist/lib/node/react-surface-JUIU37BX.cjs.map +0 -7
- package/dist/lib/node/schema-tools-ZG6Z2QRC.cjs.map +0 -7
- package/dist/lib/node/settings-FOH7EB5C.cjs.map +0 -7
- package/dist/lib/node/spaces-ready-VXQYCBII.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-E7CCGPQJ.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-UCMSLPIA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FTELJGEG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HL2Z2GNW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XAZNQ3QN.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-ZECO4NH3.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-K2UDBF2R.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-NP3Y6BNZ.mjs.map +0 -7
- package/dist/lib/node-esm/schema-tools-2Y4D42PD.mjs.map +0 -7
- package/dist/lib/node-esm/settings-Q4XDFSYD.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-JHKPD4PH.mjs.map +0 -7
- /package/dist/lib/browser/{chunk-VEBKN45O.mjs.map → chunk-TQPBDRXV.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-PVKJE4EZ.mjs.map → react-root-ECO7G77L.mjs.map} +0 -0
- /package/dist/lib/node/{chunk-DXL5TDFP.cjs.map → chunk-SF3NU7EW.cjs.map} +0 -0
- /package/dist/lib/node/{react-root-DDPDUMCG.cjs.map → react-root-Z2YM6JYC.cjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-OSPEGYX3.mjs.map → chunk-55OOAFBS.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-6F7B3OVO.mjs.map → react-root-FU2I5U2M.mjs.map} +0 -0
|
@@ -16,8 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_KDBPQ6L3_exports = {};
|
|
20
|
+
__export(chunk_KDBPQ6L3_exports, {
|
|
21
21
|
COMPOSER_SPACE_LOCK: () => COMPOSER_SPACE_LOCK,
|
|
22
22
|
SHARED: () => SHARED,
|
|
23
23
|
SPACES: () => SPACES,
|
|
@@ -30,18 +30,17 @@ __export(chunk_COQYISES_exports, {
|
|
|
30
30
|
getSpaceDisplayName: () => getSpaceDisplayName,
|
|
31
31
|
rxFromQuery: () => rxFromQuery
|
|
32
32
|
});
|
|
33
|
-
module.exports = __toCommonJS(
|
|
34
|
-
var
|
|
33
|
+
module.exports = __toCommonJS(chunk_KDBPQ6L3_exports);
|
|
34
|
+
var import_chunk_UUBPYP7E = require("./chunk-UUBPYP7E.cjs");
|
|
35
35
|
var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
|
|
36
36
|
var import_rx_react = require("@effect-rx/rx-react");
|
|
37
37
|
var import_app_framework = require("@dxos/app-framework");
|
|
38
|
+
var import_echo = require("@dxos/echo");
|
|
38
39
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
39
|
-
var import_echo_schema2 = require("@dxos/echo-schema");
|
|
40
40
|
var import_invariant = require("@dxos/invariant");
|
|
41
|
-
var import_live_object = require("@dxos/live-object");
|
|
42
41
|
var import_migrations = require("@dxos/migrations");
|
|
43
42
|
var import_plugin_graph = require("@dxos/plugin-graph");
|
|
44
|
-
var
|
|
43
|
+
var import_echo2 = require("@dxos/react-client/echo");
|
|
45
44
|
var import_react_ui_attention = require("@dxos/react-ui-attention");
|
|
46
45
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
|
|
47
46
|
var SPACES = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}-spaces`;
|
|
@@ -57,7 +56,7 @@ var rxFromQuery = (query) => {
|
|
|
57
56
|
});
|
|
58
57
|
};
|
|
59
58
|
var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
|
|
60
|
-
return space.state.get() ===
|
|
59
|
+
return space.state.get() === import_echo2.SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
|
|
61
60
|
"personal space label",
|
|
62
61
|
{
|
|
63
62
|
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
@@ -79,14 +78,14 @@ var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve })
|
|
|
79
78
|
]),
|
|
80
79
|
role: "branch",
|
|
81
80
|
onRearrangeChildren: (nextOrder) => {
|
|
82
|
-
collection.objects = nextOrder.filter(import_echo.
|
|
81
|
+
collection.objects = nextOrder.filter(import_echo.Obj.isObject).map(import_echo.Ref.make);
|
|
83
82
|
},
|
|
84
83
|
onTransferStart: (child, index) => {
|
|
85
84
|
if (!collection.objects.find((object) => object.target === child.data)) {
|
|
86
85
|
if (typeof index !== "undefined") {
|
|
87
|
-
collection.objects.splice(index, 0,
|
|
86
|
+
collection.objects.splice(index, 0, import_echo.Ref.make(child.data));
|
|
88
87
|
} else {
|
|
89
|
-
collection.objects.push(
|
|
88
|
+
collection.objects.push(import_echo.Ref.make(child.data));
|
|
90
89
|
}
|
|
91
90
|
}
|
|
92
91
|
},
|
|
@@ -100,20 +99,20 @@ var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve })
|
|
|
100
99
|
const newObject = await cloneObject(child.data, resolve, space);
|
|
101
100
|
space.db.add(newObject);
|
|
102
101
|
if (typeof index !== "undefined") {
|
|
103
|
-
collection.objects.splice(index, 0,
|
|
102
|
+
collection.objects.splice(index, 0, import_echo.Ref.make(newObject));
|
|
104
103
|
} else {
|
|
105
|
-
collection.objects.push(
|
|
104
|
+
collection.objects.push(import_echo.Ref.make(newObject));
|
|
106
105
|
}
|
|
107
106
|
}
|
|
108
107
|
};
|
|
109
108
|
};
|
|
110
109
|
var checkPendingMigration = (space) => {
|
|
111
|
-
return space.state.get() ===
|
|
110
|
+
return space.state.get() === import_echo2.SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === import_echo2.SpaceState.SPACE_READY && !!import_migrations.Migrations.versionProperty && space.properties[import_migrations.Migrations.versionProperty] !== import_migrations.Migrations.targetVersion;
|
|
112
111
|
};
|
|
113
112
|
var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
|
|
114
113
|
const hasPendingMigration = checkPendingMigration(space);
|
|
115
|
-
const collection = space.state.get() ===
|
|
116
|
-
const partials = space.state.get() ===
|
|
114
|
+
const collection = space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties[import_chunk_UUBPYP7E.CollectionType.typename]?.target;
|
|
115
|
+
const partials = space.state.get() === import_echo2.SpaceState.SPACE_READY && collection instanceof import_chunk_UUBPYP7E.CollectionType ? getCollectionGraphNodePartials({
|
|
117
116
|
collection,
|
|
118
117
|
space,
|
|
119
118
|
resolve,
|
|
@@ -121,7 +120,7 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
121
120
|
}) : {};
|
|
122
121
|
return {
|
|
123
122
|
id: space.id,
|
|
124
|
-
type:
|
|
123
|
+
type: import_chunk_UUBPYP7E.SPACE_TYPE,
|
|
125
124
|
cacheable: [
|
|
126
125
|
"label",
|
|
127
126
|
"icon",
|
|
@@ -134,10 +133,10 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
134
133
|
personal,
|
|
135
134
|
namesCache
|
|
136
135
|
}),
|
|
137
|
-
description: space.state.get() ===
|
|
138
|
-
hue: space.state.get() ===
|
|
139
|
-
icon: space.state.get() ===
|
|
140
|
-
disabled: !navigable || space.state.get() !==
|
|
136
|
+
description: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.description,
|
|
137
|
+
hue: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.hue,
|
|
138
|
+
icon: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
|
|
139
|
+
disabled: !navigable || space.state.get() !== import_echo2.SpaceState.SPACE_READY || hasPendingMigration,
|
|
141
140
|
testId: "spacePlugin.space"
|
|
142
141
|
},
|
|
143
142
|
nodes: [
|
|
@@ -212,10 +211,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
212
211
|
const actions = [];
|
|
213
212
|
if (hasPendingMigration) {
|
|
214
213
|
actions.push({
|
|
215
|
-
id: getId(
|
|
214
|
+
id: getId(import_chunk_UUBPYP7E.SpaceAction.Migrate._tag),
|
|
216
215
|
type: import_plugin_graph.ACTION_GROUP_TYPE,
|
|
217
216
|
data: async () => {
|
|
218
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
217
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_UUBPYP7E.SpaceAction.Migrate, {
|
|
219
218
|
space
|
|
220
219
|
}));
|
|
221
220
|
},
|
|
@@ -232,12 +231,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
232
231
|
}
|
|
233
232
|
});
|
|
234
233
|
}
|
|
235
|
-
if (state ===
|
|
234
|
+
if (state === import_echo2.SpaceState.SPACE_READY && !hasPendingMigration) {
|
|
236
235
|
actions.push({
|
|
237
|
-
id: getId(
|
|
236
|
+
id: getId(import_chunk_UUBPYP7E.SpaceAction.OpenCreateObject._tag),
|
|
238
237
|
type: import_plugin_graph.ACTION_TYPE,
|
|
239
238
|
data: async () => {
|
|
240
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
239
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_UUBPYP7E.SpaceAction.OpenCreateObject, {
|
|
241
240
|
target: space
|
|
242
241
|
}));
|
|
243
242
|
},
|
|
@@ -253,10 +252,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
253
252
|
testId: "spacePlugin.createObject"
|
|
254
253
|
}
|
|
255
254
|
}, {
|
|
256
|
-
id: getId(
|
|
255
|
+
id: getId(import_chunk_UUBPYP7E.SpaceAction.Rename._tag),
|
|
257
256
|
type: import_plugin_graph.ACTION_TYPE,
|
|
258
257
|
data: async (params) => {
|
|
259
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
258
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_UUBPYP7E.SpaceAction.Rename, {
|
|
260
259
|
space,
|
|
261
260
|
caller: params?.caller
|
|
262
261
|
}));
|
|
@@ -278,8 +277,8 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
278
277
|
}
|
|
279
278
|
return actions;
|
|
280
279
|
};
|
|
281
|
-
var createObjectNode = ({
|
|
282
|
-
const type =
|
|
280
|
+
var createObjectNode = ({ space, object, navigable = false, resolve }) => {
|
|
281
|
+
const type = import_echo.Obj.getTypename(object);
|
|
283
282
|
if (!type) {
|
|
284
283
|
return void 0;
|
|
285
284
|
}
|
|
@@ -287,14 +286,14 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
|
|
|
287
286
|
if (Object.keys(metadata).length === 0) {
|
|
288
287
|
return void 0;
|
|
289
288
|
}
|
|
290
|
-
const partials = object instanceof
|
|
289
|
+
const partials = object instanceof import_chunk_UUBPYP7E.CollectionType ? getCollectionGraphNodePartials({
|
|
291
290
|
collection: object,
|
|
292
291
|
space,
|
|
293
292
|
resolve,
|
|
294
293
|
navigable
|
|
295
294
|
}) : metadata.graphProps;
|
|
296
295
|
return {
|
|
297
|
-
id: (0,
|
|
296
|
+
id: (0, import_echo2.fullyQualifiedId)(object),
|
|
298
297
|
type,
|
|
299
298
|
cacheable: [
|
|
300
299
|
"label",
|
|
@@ -304,6 +303,7 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
|
|
|
304
303
|
data: object,
|
|
305
304
|
properties: {
|
|
306
305
|
...partials,
|
|
306
|
+
// TODO(burdon): Use annotation to get the name field.
|
|
307
307
|
label: metadata.label?.(object) || object.name || [
|
|
308
308
|
"object name placeholder",
|
|
309
309
|
{
|
|
@@ -319,24 +319,24 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
|
|
|
319
319
|
};
|
|
320
320
|
};
|
|
321
321
|
var constructObjectActions = ({ object, graph, dispatch, navigable = false }) => {
|
|
322
|
-
const space = (0,
|
|
322
|
+
const space = (0, import_echo2.getSpace)(object);
|
|
323
323
|
(0, import_invariant.invariant)(space, "Space not found", {
|
|
324
324
|
F: __dxlog_file,
|
|
325
|
-
L:
|
|
325
|
+
L: 353,
|
|
326
326
|
S: void 0,
|
|
327
327
|
A: [
|
|
328
328
|
"space",
|
|
329
329
|
"'Space not found'"
|
|
330
330
|
]
|
|
331
331
|
});
|
|
332
|
-
const getId = (id) => `${id}/${(0,
|
|
332
|
+
const getId = (id) => `${id}/${(0, import_echo2.fullyQualifiedId)(object)}`;
|
|
333
333
|
const actions = [
|
|
334
|
-
...object instanceof
|
|
334
|
+
...object instanceof import_chunk_UUBPYP7E.CollectionType ? [
|
|
335
335
|
{
|
|
336
|
-
id: getId(
|
|
336
|
+
id: getId(import_chunk_UUBPYP7E.SpaceAction.OpenCreateObject._tag),
|
|
337
337
|
type: import_plugin_graph.ACTION_TYPE,
|
|
338
338
|
data: async () => {
|
|
339
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
339
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_UUBPYP7E.SpaceAction.OpenCreateObject, {
|
|
340
340
|
target: object
|
|
341
341
|
}));
|
|
342
342
|
},
|
|
@@ -354,17 +354,17 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
354
354
|
}
|
|
355
355
|
] : [],
|
|
356
356
|
{
|
|
357
|
-
id: getId(
|
|
357
|
+
id: getId(import_chunk_UUBPYP7E.SpaceAction.RenameObject._tag),
|
|
358
358
|
type: import_plugin_graph.ACTION_TYPE,
|
|
359
359
|
data: async (params) => {
|
|
360
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
360
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_UUBPYP7E.SpaceAction.RenameObject, {
|
|
361
361
|
object,
|
|
362
362
|
caller: params?.caller
|
|
363
363
|
}));
|
|
364
364
|
},
|
|
365
365
|
properties: {
|
|
366
366
|
label: [
|
|
367
|
-
object instanceof
|
|
367
|
+
object instanceof import_chunk_UUBPYP7E.CollectionType ? "rename collection label" : "rename object label",
|
|
368
368
|
{
|
|
369
369
|
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
370
370
|
}
|
|
@@ -378,11 +378,11 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
378
378
|
}
|
|
379
379
|
},
|
|
380
380
|
{
|
|
381
|
-
id: getId(
|
|
381
|
+
id: getId(import_chunk_UUBPYP7E.SpaceAction.RemoveObjects._tag),
|
|
382
382
|
type: import_plugin_graph.ACTION_TYPE,
|
|
383
383
|
data: async () => {
|
|
384
|
-
const collection = graph.getConnections((0,
|
|
385
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
384
|
+
const collection = graph.getConnections((0, import_echo2.fullyQualifiedId)(object), "inbound").find(({ data }) => data instanceof import_chunk_UUBPYP7E.CollectionType)?.data;
|
|
385
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_UUBPYP7E.SpaceAction.RemoveObjects, {
|
|
386
386
|
objects: [
|
|
387
387
|
object
|
|
388
388
|
],
|
|
@@ -391,22 +391,22 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
391
391
|
},
|
|
392
392
|
properties: {
|
|
393
393
|
label: [
|
|
394
|
-
object instanceof
|
|
394
|
+
object instanceof import_chunk_UUBPYP7E.CollectionType ? "delete collection label" : "delete object label",
|
|
395
395
|
{
|
|
396
396
|
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
397
397
|
}
|
|
398
398
|
],
|
|
399
399
|
icon: "ph--trash--regular",
|
|
400
|
-
keyBinding: object instanceof
|
|
400
|
+
keyBinding: object instanceof import_chunk_UUBPYP7E.CollectionType ? void 0 : "shift+meta+Backspace",
|
|
401
401
|
testId: "spacePlugin.deleteObject"
|
|
402
402
|
}
|
|
403
403
|
},
|
|
404
|
-
...navigable || !(object instanceof
|
|
404
|
+
...navigable || !(object instanceof import_chunk_UUBPYP7E.CollectionType) ? [
|
|
405
405
|
{
|
|
406
406
|
id: getId("copy-link"),
|
|
407
407
|
type: import_plugin_graph.ACTION_TYPE,
|
|
408
408
|
data: async () => {
|
|
409
|
-
const url = `${window.location.origin}/${space.id}/${(0,
|
|
409
|
+
const url = `${window.location.origin}/${space.id}/${(0, import_echo2.fullyQualifiedId)(object)}`;
|
|
410
410
|
await navigator.clipboard.writeText(url);
|
|
411
411
|
},
|
|
412
412
|
properties: {
|
|
@@ -428,7 +428,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
428
428
|
data: async () => {
|
|
429
429
|
await dispatch((0, import_app_framework.createIntent)(import_app_framework.LayoutAction.Expose, {
|
|
430
430
|
part: "navigation",
|
|
431
|
-
subject: (0,
|
|
431
|
+
subject: (0, import_echo2.fullyQualifiedId)(object)
|
|
432
432
|
}));
|
|
433
433
|
},
|
|
434
434
|
properties: {
|
|
@@ -446,7 +446,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
446
446
|
return actions;
|
|
447
447
|
};
|
|
448
448
|
var getNestedObjects = async (object, resolve) => {
|
|
449
|
-
const type =
|
|
449
|
+
const type = import_echo.Obj.getTypename(object);
|
|
450
450
|
if (!type) {
|
|
451
451
|
return [];
|
|
452
452
|
}
|
|
@@ -463,13 +463,13 @@ var getNestedObjects = async (object, resolve) => {
|
|
|
463
463
|
];
|
|
464
464
|
};
|
|
465
465
|
var cloneObject = async (object, resolve, newSpace) => {
|
|
466
|
-
const schema =
|
|
467
|
-
const typename = schema ?
|
|
466
|
+
const schema = import_echo.Obj.getSchema(object);
|
|
467
|
+
const typename = schema ? import_echo.Type.getTypename(schema) ?? import_echo_schema.EXPANDO_TYPENAME : import_echo_schema.EXPANDO_TYPENAME;
|
|
468
468
|
const metadata = resolve(typename);
|
|
469
469
|
const serializer = metadata.serializer;
|
|
470
470
|
(0, import_invariant.invariant)(serializer, `No serializer for type: ${typename}`, {
|
|
471
471
|
F: __dxlog_file,
|
|
472
|
-
L:
|
|
472
|
+
L: 482,
|
|
473
473
|
S: void 0,
|
|
474
474
|
A: [
|
|
475
475
|
"serializer",
|
|
@@ -499,4 +499,4 @@ var cloneObject = async (object, resolve, newSpace) => {
|
|
|
499
499
|
getSpaceDisplayName,
|
|
500
500
|
rxFromQuery
|
|
501
501
|
});
|
|
502
|
-
//# sourceMappingURL=chunk-
|
|
502
|
+
//# sourceMappingURL=chunk-KDBPQ6L3.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\n\nimport { createIntent, LayoutAction, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { EXPANDO_TYPENAME } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n type ReadableGraph,\n type ActionData,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport { fullyQualifiedId, getSpace, type QueryResult, SpaceState, type Space } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction, SPACE_TYPE } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n/**\n * Convert a query result to an Rx value of the objects.\n */\nexport const rxFromQuery = <T extends Obj.Any>(query: QueryResult<T>): Rx.Rx<T[]> => {\n return Rx.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: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\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 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 = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\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 disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/properties`,\n data: `${SPACE_PLUGIN}/properties`,\n properties: {\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/members`,\n data: `${SPACE_PLUGIN}/members`,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/schema`,\n data: `${SPACE_PLUGIN}/schema`,\n properties: {\n label: ['space settings schema label', { ns: SPACE_PLUGIN }],\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: SPACE_PLUGIN }],\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: SPACE_PLUGIN }],\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: SPACE_PLUGIN }],\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 createObjectNode = ({\n space,\n object,\n navigable = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n // TODO(burdon): Use annotation to get the name field.\n label: metadata.label?.(object) ||\n (object as any).name || ['object name placeholder', { ns: type, default: 'New object' }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n dispatch,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\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: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\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: [\n object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Need's focus.\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(fullyQualifiedId(object), 'inbound')\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\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(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\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: Type.Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Type.Expando> => {\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": ["import_echo", "SPACES", "SPACE_PLUGIN", "COMPOSER_SPACE_LOCK", "SHARED", "rxFromQuery", "query", "Rx", "make", "get", "unsubscribe", "subscribe", "result", "setSelf", "objects", "addFinalizer", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "SpaceState", "SPACE_READY", "properties", "name", "length", "id", "ns", "getCollectionGraphNodePartials", "navigable", "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", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "hasPendingMigration", "CollectionType", "typename", "partials", "type", "SPACE_TYPE", "cacheable", "label", "description", "hue", "icon", "undefined", "disabled", "testId", "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", "createObjectNode", "getTypename", "metadata", "Object", "keys", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "graph", "getSpace", "invariant", "RenameObject", "RemoveObjects", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "LayoutAction", "Expose", "part", "subject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "Type", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
|
|
7
|
+
}
|