@dxos/plugin-space 0.8.3-main.7f5a14c → 0.8.3-staging.0fa589b
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-UNXUTH53.mjs → app-graph-builder-M2RH72VL.mjs} +43 -9
- package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-KPKPMC4M.mjs → app-graph-serializer-F7ISRRBV.mjs} +13 -13
- package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TQPBDRXV.mjs → chunk-4ZKSFDXM.mjs} +29 -17
- package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +7 -0
- package/dist/lib/browser/{chunk-3LN4LJN6.mjs → chunk-BXNL6SDI.mjs} +2 -1
- package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CF4FBDGP.mjs → chunk-NFUKCRGE.mjs} +148 -134
- package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +7 -0
- package/dist/lib/browser/chunk-TW7O2EPP.mjs +284 -0
- package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +7 -0
- package/dist/lib/browser/{chunk-RRJIDXPY.mjs → chunk-V24VASAJ.mjs} +100 -31
- package/dist/lib/browser/chunk-V24VASAJ.mjs.map +7 -0
- package/dist/lib/browser/chunk-YMCZR6EZ.mjs +18 -0
- package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-EM6GZDNF.mjs → identity-created-PI7TKANR.mjs} +5 -10
- package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +61 -51
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/{intent-resolver-K3ULKQ6V.mjs → intent-resolver-RWU6ZE4H.mjs} +56 -32
- package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-ECO7G77L.mjs → react-root-QIKHSNT2.mjs} +5 -5
- package/dist/lib/browser/{react-surface-Y5AZBYA7.mjs → react-surface-W56UD53I.mjs} +74 -14
- package/dist/lib/browser/react-surface-W56UD53I.mjs.map +7 -0
- package/dist/lib/browser/{schema-defs-JMN74RNK.mjs → schema-defs-WREJNMIC.mjs} +2 -2
- package/dist/lib/browser/{settings-MU7O6JDD.mjs → settings-K54STC5A.mjs} +2 -2
- package/dist/lib/browser/{spaces-ready-NXZAWHGI.mjs → spaces-ready-3PDRDHPC.mjs} +7 -7
- package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +7 -0
- package/dist/lib/browser/{state-6HOSHLIN.mjs → state-HRZ4VRXU.mjs} +2 -2
- package/dist/lib/browser/types/index.mjs +1 -3
- package/dist/lib/node/{app-graph-builder-6QDQEYHS.cjs → app-graph-builder-6LK5HLLE.cjs} +73 -38
- package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-6SWKHDE2.cjs → app-graph-serializer-HKHBNHA3.cjs} +23 -22
- package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +7 -0
- package/dist/lib/node/chunk-3X4EA4XL.cjs +37 -0
- package/dist/lib/node/chunk-3X4EA4XL.cjs.map +7 -0
- package/dist/lib/node/{chunk-SF3NU7EW.cjs → chunk-DOC5XEZ4.cjs} +32 -18
- package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +7 -0
- package/dist/lib/node/{chunk-QCANR24R.cjs → chunk-NCHF433F.cjs} +201 -186
- package/dist/lib/node/chunk-NCHF433F.cjs.map +7 -0
- package/dist/lib/node/{chunk-7GQGM4ZF.cjs → chunk-NL5Y4EDX.cjs} +5 -4
- package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +7 -0
- package/dist/lib/node/chunk-ULJZPATP.cjs +312 -0
- package/dist/lib/node/chunk-ULJZPATP.cjs.map +7 -0
- package/dist/lib/node/{chunk-KDBPQ6L3.cjs → chunk-XHWVT7LW.cjs} +113 -43
- package/dist/lib/node/chunk-XHWVT7LW.cjs.map +7 -0
- package/dist/lib/node/{identity-created-KCJAOFZC.cjs → identity-created-FF4WZ2WY.cjs} +7 -9
- package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +7 -0
- package/dist/lib/node/index.cjs +129 -118
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/{intent-resolver-XR4S7LME.cjs → intent-resolver-AV4CMM3Z.cjs} +91 -68
- package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-root-Z2YM6JYC.cjs → react-root-RQUU3A45.cjs} +10 -10
- package/dist/lib/node/{react-surface-H6XNU6DS.cjs → react-surface-AZFJLE72.cjs} +104 -43
- package/dist/lib/node/react-surface-AZFJLE72.cjs.map +7 -0
- package/dist/lib/node/{schema-defs-XLFBG3XK.cjs → schema-defs-OB2X2HBH.cjs} +6 -6
- package/dist/lib/node/{settings-XRAT3YMN.cjs → settings-P2EQ7VKQ.cjs} +6 -6
- package/dist/lib/node/{spaces-ready-KKFEN2MM.cjs → spaces-ready-DXPOHYV7.cjs} +16 -16
- package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +7 -0
- package/dist/lib/node/{state-ZT3MTZXB.cjs → state-M35DK75Z.cjs} +6 -6
- package/dist/lib/node/types/index.cjs +11 -13
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{app-graph-builder-5EAV4CDH.mjs → app-graph-builder-BCHVZ4OM.mjs} +43 -9
- package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-BRLVJW6I.mjs → app-graph-serializer-TXRGGNP2.mjs} +13 -13
- package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-3CP67AYY.mjs +19 -0
- package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-4X4Y63ND.mjs → chunk-BSLREHIX.mjs} +2 -1
- package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-D4QMPPS7.mjs +285 -0
- package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-FTL5AMXF.mjs → chunk-HO7AIKQS.mjs} +100 -31
- package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-55OOAFBS.mjs → chunk-JBQKU4K5.mjs} +29 -17
- package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-AVONUBZO.mjs → chunk-LA6AVVH6.mjs} +148 -134
- package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-FOFH2WPI.mjs → identity-created-35CTAQWI.mjs} +5 -9
- package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +61 -51
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/{intent-resolver-72KTB4S2.mjs → intent-resolver-JO6L2VXC.mjs} +56 -32
- package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-FU2I5U2M.mjs → react-root-YFGL3B4J.mjs} +5 -5
- package/dist/lib/node-esm/{react-surface-L4SMKRYF.mjs → react-surface-CVAPDLEZ.mjs} +74 -14
- package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-defs-QZJS6UXN.mjs → schema-defs-4MEJETVX.mjs} +2 -2
- package/dist/lib/node-esm/{settings-C7GQAEDU.mjs → settings-TD76LTQS.mjs} +2 -2
- package/dist/lib/node-esm/{spaces-ready-WTISHKEH.mjs → spaces-ready-FJMGPAVV.mjs} +7 -7
- package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +7 -0
- package/dist/lib/node-esm/{state-4ATRHSKA.mjs → state-XQNDCN37.mjs} +2 -2
- package/dist/lib/node-esm/types/index.mjs +1 -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/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +8 -1
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/identity-created.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/components/CollectionMain.d.ts +2 -2
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CollectionSection.d.ts +2 -2
- package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +1 -1
- 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 +8 -7
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +1 -3
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +275 -2
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +0 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +80 -12
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +8 -3
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +45 -45
- package/src/{SpacePlugin.tsx → SpacePlugin.ts} +28 -8
- package/src/capabilities/app-graph-builder.ts +67 -4
- package/src/capabilities/app-graph-serializer.ts +11 -8
- package/src/capabilities/capabilities.ts +6 -1
- package/src/capabilities/identity-created.ts +5 -4
- package/src/capabilities/intent-resolver.ts +38 -18
- package/src/capabilities/react-surface.tsx +98 -10
- package/src/capabilities/spaces-ready.ts +3 -3
- package/src/components/CollectionMain.tsx +3 -3
- package/src/components/CollectionSection.tsx +2 -2
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +6 -6
- package/src/components/CreateDialog/CreateObjectDialog.tsx +25 -12
- package/src/components/CreateDialog/CreateObjectPanel.tsx +43 -51
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
- package/src/components/MembersContainer.tsx +4 -2
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +9 -1
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -3
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +2 -2
- package/src/components/SpacePluginSettings.tsx +24 -19
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +2 -2
- package/src/events.ts +1 -5
- package/src/translations.ts +30 -14
- package/src/types/index.ts +0 -1
- package/src/types/types.ts +29 -9
- package/src/util.tsx +111 -23
- package/dist/lib/browser/app-graph-builder-UNXUTH53.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-KPKPMC4M.mjs.map +0 -7
- package/dist/lib/browser/chunk-3LN4LJN6.mjs.map +0 -7
- package/dist/lib/browser/chunk-CF4FBDGP.mjs.map +0 -7
- package/dist/lib/browser/chunk-LGEIVEYC.mjs +0 -289
- package/dist/lib/browser/chunk-LGEIVEYC.mjs.map +0 -7
- package/dist/lib/browser/chunk-RRJIDXPY.mjs.map +0 -7
- package/dist/lib/browser/chunk-TQPBDRXV.mjs.map +0 -7
- package/dist/lib/browser/identity-created-EM6GZDNF.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-K3ULKQ6V.mjs.map +0 -7
- package/dist/lib/browser/react-surface-Y5AZBYA7.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-NXZAWHGI.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-6QDQEYHS.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-6SWKHDE2.cjs.map +0 -7
- package/dist/lib/node/chunk-7GQGM4ZF.cjs.map +0 -7
- package/dist/lib/node/chunk-KDBPQ6L3.cjs.map +0 -7
- package/dist/lib/node/chunk-QCANR24R.cjs.map +0 -7
- package/dist/lib/node/chunk-SF3NU7EW.cjs.map +0 -7
- package/dist/lib/node/chunk-UUBPYP7E.cjs +0 -316
- package/dist/lib/node/chunk-UUBPYP7E.cjs.map +0 -7
- package/dist/lib/node/identity-created-KCJAOFZC.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-XR4S7LME.cjs.map +0 -7
- package/dist/lib/node/react-surface-H6XNU6DS.cjs.map +0 -7
- package/dist/lib/node/spaces-ready-KKFEN2MM.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-5EAV4CDH.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-BRLVJW6I.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-226REPOB.mjs +0 -290
- package/dist/lib/node-esm/chunk-226REPOB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4X4Y63ND.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-55OOAFBS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AVONUBZO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FTL5AMXF.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-FOFH2WPI.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-72KTB4S2.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-L4SMKRYF.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-WTISHKEH.mjs.map +0 -7
- package/dist/types/src/types/collection.d.ts +0 -15
- package/dist/types/src/types/collection.d.ts.map +0 -1
- package/src/types/collection.ts +0 -27
- /package/dist/lib/browser/{react-root-ECO7G77L.mjs.map → react-root-QIKHSNT2.mjs.map} +0 -0
- /package/dist/lib/browser/{schema-defs-JMN74RNK.mjs.map → schema-defs-WREJNMIC.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-MU7O6JDD.mjs.map → settings-K54STC5A.mjs.map} +0 -0
- /package/dist/lib/browser/{state-6HOSHLIN.mjs.map → state-HRZ4VRXU.mjs.map} +0 -0
- /package/dist/lib/node/{react-root-Z2YM6JYC.cjs.map → react-root-RQUU3A45.cjs.map} +0 -0
- /package/dist/lib/node/{schema-defs-XLFBG3XK.cjs.map → schema-defs-OB2X2HBH.cjs.map} +0 -0
- /package/dist/lib/node/{settings-XRAT3YMN.cjs.map → settings-P2EQ7VKQ.cjs.map} +0 -0
- /package/dist/lib/node/{state-ZT3MTZXB.cjs.map → state-M35DK75Z.cjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-FU2I5U2M.mjs.map → react-root-YFGL3B4J.mjs.map} +0 -0
- /package/dist/lib/node-esm/{schema-defs-QZJS6UXN.mjs.map → schema-defs-4MEJETVX.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-C7GQAEDU.mjs.map → settings-TD76LTQS.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-4ATRHSKA.mjs.map → state-XQNDCN37.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_XHWVT7LW_exports = {};
|
|
20
|
+
__export(chunk_XHWVT7LW_exports, {
|
|
21
21
|
COMPOSER_SPACE_LOCK: () => COMPOSER_SPACE_LOCK,
|
|
22
22
|
SHARED: () => SHARED,
|
|
23
23
|
SPACES: () => SPACES,
|
|
@@ -30,10 +30,11 @@ __export(chunk_KDBPQ6L3_exports, {
|
|
|
30
30
|
getSpaceDisplayName: () => getSpaceDisplayName,
|
|
31
31
|
rxFromQuery: () => rxFromQuery
|
|
32
32
|
});
|
|
33
|
-
module.exports = __toCommonJS(
|
|
34
|
-
var
|
|
33
|
+
module.exports = __toCommonJS(chunk_XHWVT7LW_exports);
|
|
34
|
+
var import_chunk_ULJZPATP = require("./chunk-ULJZPATP.cjs");
|
|
35
35
|
var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
|
|
36
36
|
var import_rx_react = require("@effect-rx/rx-react");
|
|
37
|
+
var import_effect = require("effect");
|
|
37
38
|
var import_app_framework = require("@dxos/app-framework");
|
|
38
39
|
var import_echo = require("@dxos/echo");
|
|
39
40
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
@@ -42,6 +43,7 @@ var import_migrations = require("@dxos/migrations");
|
|
|
42
43
|
var import_plugin_graph = require("@dxos/plugin-graph");
|
|
43
44
|
var import_echo2 = require("@dxos/react-client/echo");
|
|
44
45
|
var import_react_ui_attention = require("@dxos/react-ui-attention");
|
|
46
|
+
var import_schema = require("@dxos/schema");
|
|
45
47
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
|
|
46
48
|
var SPACES = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}-spaces`;
|
|
47
49
|
var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
|
|
@@ -68,7 +70,7 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
|
|
|
68
70
|
}
|
|
69
71
|
];
|
|
70
72
|
};
|
|
71
|
-
var getCollectionGraphNodePartials = ({
|
|
73
|
+
var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
|
|
72
74
|
return {
|
|
73
75
|
acceptPersistenceClass: /* @__PURE__ */ new Set([
|
|
74
76
|
"echo"
|
|
@@ -106,21 +108,39 @@ var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve })
|
|
|
106
108
|
}
|
|
107
109
|
};
|
|
108
110
|
};
|
|
111
|
+
var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
|
|
112
|
+
return {
|
|
113
|
+
icon: collection.query.typename && resolve(collection.query.typename)?.icon,
|
|
114
|
+
acceptPersistenceClass: /* @__PURE__ */ new Set([
|
|
115
|
+
"echo"
|
|
116
|
+
]),
|
|
117
|
+
acceptPersistenceKey: /* @__PURE__ */ new Set([
|
|
118
|
+
space.id
|
|
119
|
+
]),
|
|
120
|
+
role: "branch",
|
|
121
|
+
canDrop: (source) => {
|
|
122
|
+
return (0, import_plugin_graph.isGraphNode)(source.item) && import_echo.Obj.isObject(source.item.data) && import_echo.Obj.getTypename(source.item.data) === collection.query.typename;
|
|
123
|
+
},
|
|
124
|
+
onTransferStart: (child, index) => {
|
|
125
|
+
},
|
|
126
|
+
onTransferEnd: (child, destination) => {
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
};
|
|
109
130
|
var checkPendingMigration = (space) => {
|
|
110
131
|
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;
|
|
111
132
|
};
|
|
112
133
|
var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
|
|
113
134
|
const hasPendingMigration = checkPendingMigration(space);
|
|
114
|
-
const collection = space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties[
|
|
115
|
-
const partials = space.state.get() === import_echo2.SpaceState.SPACE_READY && collection
|
|
135
|
+
const collection = space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties[import_echo.Type.getTypename(import_schema.DataType.Collection)]?.target;
|
|
136
|
+
const partials = space.state.get() === import_echo2.SpaceState.SPACE_READY && import_echo.Obj.instanceOf(import_schema.DataType.Collection, collection) ? getCollectionGraphNodePartials({
|
|
116
137
|
collection,
|
|
117
138
|
space,
|
|
118
|
-
resolve
|
|
119
|
-
navigable
|
|
139
|
+
resolve
|
|
120
140
|
}) : {};
|
|
121
141
|
return {
|
|
122
142
|
id: space.id,
|
|
123
|
-
type:
|
|
143
|
+
type: import_chunk_ULJZPATP.SPACE_TYPE,
|
|
124
144
|
cacheable: [
|
|
125
145
|
"label",
|
|
126
146
|
"icon",
|
|
@@ -137,7 +157,10 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
137
157
|
hue: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.hue,
|
|
138
158
|
icon: space.state.get() === import_echo2.SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
|
|
139
159
|
disabled: !navigable || space.state.get() !== import_echo2.SpaceState.SPACE_READY || hasPendingMigration,
|
|
140
|
-
testId: "spacePlugin.space"
|
|
160
|
+
testId: "spacePlugin.space",
|
|
161
|
+
canDrop: (source) => {
|
|
162
|
+
return import_echo.Obj.isObject(source.item.data) || (0, import_echo2.isSpace)(source.item.data);
|
|
163
|
+
}
|
|
141
164
|
},
|
|
142
165
|
nodes: [
|
|
143
166
|
{
|
|
@@ -211,10 +234,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
211
234
|
const actions = [];
|
|
212
235
|
if (hasPendingMigration) {
|
|
213
236
|
actions.push({
|
|
214
|
-
id: getId(
|
|
237
|
+
id: getId(import_chunk_ULJZPATP.SpaceAction.Migrate._tag),
|
|
215
238
|
type: import_plugin_graph.ACTION_GROUP_TYPE,
|
|
216
239
|
data: async () => {
|
|
217
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
240
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.Migrate, {
|
|
218
241
|
space
|
|
219
242
|
}));
|
|
220
243
|
},
|
|
@@ -233,10 +256,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
233
256
|
}
|
|
234
257
|
if (state === import_echo2.SpaceState.SPACE_READY && !hasPendingMigration) {
|
|
235
258
|
actions.push({
|
|
236
|
-
id: getId(
|
|
259
|
+
id: getId(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject._tag),
|
|
237
260
|
type: import_plugin_graph.ACTION_TYPE,
|
|
238
261
|
data: async () => {
|
|
239
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
262
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject, {
|
|
240
263
|
target: space
|
|
241
264
|
}));
|
|
242
265
|
},
|
|
@@ -252,10 +275,10 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
252
275
|
testId: "spacePlugin.createObject"
|
|
253
276
|
}
|
|
254
277
|
}, {
|
|
255
|
-
id: getId(
|
|
278
|
+
id: getId(import_chunk_ULJZPATP.SpaceAction.Rename._tag),
|
|
256
279
|
type: import_plugin_graph.ACTION_TYPE,
|
|
257
280
|
data: async (params) => {
|
|
258
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
281
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.Rename, {
|
|
259
282
|
space,
|
|
260
283
|
caller: params?.caller
|
|
261
284
|
}));
|
|
@@ -277,7 +300,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
277
300
|
}
|
|
278
301
|
return actions;
|
|
279
302
|
};
|
|
280
|
-
var createObjectNode = ({ space, object, navigable = false, resolve }) => {
|
|
303
|
+
var createObjectNode = ({ space, object, droppable = true, navigable = false, resolve }) => {
|
|
281
304
|
const type = import_echo.Obj.getTypename(object);
|
|
282
305
|
if (!type) {
|
|
283
306
|
return void 0;
|
|
@@ -286,11 +309,14 @@ var createObjectNode = ({ space, object, navigable = false, resolve }) => {
|
|
|
286
309
|
if (Object.keys(metadata).length === 0) {
|
|
287
310
|
return void 0;
|
|
288
311
|
}
|
|
289
|
-
const partials = object
|
|
312
|
+
const partials = import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? getCollectionGraphNodePartials({
|
|
313
|
+
collection: object,
|
|
314
|
+
space,
|
|
315
|
+
resolve
|
|
316
|
+
}) : import_echo.Obj.instanceOf(import_schema.DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
|
|
290
317
|
collection: object,
|
|
291
318
|
space,
|
|
292
|
-
resolve
|
|
293
|
-
navigable
|
|
319
|
+
resolve
|
|
294
320
|
}) : metadata.graphProps;
|
|
295
321
|
return {
|
|
296
322
|
id: (0, import_echo2.fullyQualifiedId)(object),
|
|
@@ -302,7 +328,6 @@ var createObjectNode = ({ space, object, navigable = false, resolve }) => {
|
|
|
302
328
|
],
|
|
303
329
|
data: object,
|
|
304
330
|
properties: {
|
|
305
|
-
...partials,
|
|
306
331
|
// TODO(burdon): Use annotation to get the name field.
|
|
307
332
|
label: metadata.label?.(object) || object.name || [
|
|
308
333
|
"object name placeholder",
|
|
@@ -314,15 +339,19 @@ var createObjectNode = ({ space, object, navigable = false, resolve }) => {
|
|
|
314
339
|
icon: metadata.icon ?? "ph--placeholder--regular",
|
|
315
340
|
testId: "spacePlugin.object",
|
|
316
341
|
persistenceClass: "echo",
|
|
317
|
-
persistenceKey: space?.id
|
|
342
|
+
persistenceKey: space?.id,
|
|
343
|
+
canDrop: (source) => {
|
|
344
|
+
return droppable && (0, import_plugin_graph.isGraphNode)(source.item) && import_echo.Obj.isObject(source.item.data);
|
|
345
|
+
},
|
|
346
|
+
...partials
|
|
318
347
|
}
|
|
319
348
|
};
|
|
320
349
|
};
|
|
321
|
-
var constructObjectActions = ({ object, graph, dispatch, navigable = false }) => {
|
|
350
|
+
var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable = false }) => {
|
|
322
351
|
const space = (0, import_echo2.getSpace)(object);
|
|
323
352
|
(0, import_invariant.invariant)(space, "Space not found", {
|
|
324
353
|
F: __dxlog_file,
|
|
325
|
-
L:
|
|
354
|
+
L: 398,
|
|
326
355
|
S: void 0,
|
|
327
356
|
A: [
|
|
328
357
|
"space",
|
|
@@ -330,13 +359,15 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
330
359
|
]
|
|
331
360
|
});
|
|
332
361
|
const getId = (id) => `${id}/${(0, import_echo2.fullyQualifiedId)(object)}`;
|
|
362
|
+
const queryCollection = import_echo.Obj.instanceOf(import_schema.DataType.QueryCollection, object) ? object : void 0;
|
|
363
|
+
const matchingObjectForm = queryCollection ? objectForms.find((form) => import_echo.Type.getTypename(form.objectSchema) === queryCollection.query.typename) : void 0;
|
|
333
364
|
const actions = [
|
|
334
|
-
...object
|
|
365
|
+
...import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? [
|
|
335
366
|
{
|
|
336
|
-
id: getId(
|
|
367
|
+
id: getId(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject._tag),
|
|
337
368
|
type: import_plugin_graph.ACTION_TYPE,
|
|
338
369
|
data: async () => {
|
|
339
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
370
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject, {
|
|
340
371
|
target: object
|
|
341
372
|
}));
|
|
342
373
|
},
|
|
@@ -353,36 +384,71 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
353
384
|
}
|
|
354
385
|
}
|
|
355
386
|
] : [],
|
|
387
|
+
...matchingObjectForm ? [
|
|
388
|
+
{
|
|
389
|
+
id: getId(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject._tag),
|
|
390
|
+
type: import_plugin_graph.ACTION_TYPE,
|
|
391
|
+
data: async () => {
|
|
392
|
+
if (matchingObjectForm.formSchema) {
|
|
393
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.OpenCreateObject, {
|
|
394
|
+
target: space,
|
|
395
|
+
typename: queryCollection?.query.typename
|
|
396
|
+
}));
|
|
397
|
+
} else {
|
|
398
|
+
await dispatch((0, import_effect.pipe)(matchingObjectForm.getIntent({}, {
|
|
399
|
+
space
|
|
400
|
+
}), (0, import_app_framework.chain)(import_chunk_ULJZPATP.SpaceAction.AddObject, {
|
|
401
|
+
target: space,
|
|
402
|
+
hidden: true
|
|
403
|
+
}), (0, import_app_framework.chain)(import_app_framework.LayoutAction.Open, {
|
|
404
|
+
part: "main"
|
|
405
|
+
})));
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
properties: {
|
|
409
|
+
label: [
|
|
410
|
+
"create object in smart collection label",
|
|
411
|
+
{
|
|
412
|
+
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
413
|
+
}
|
|
414
|
+
],
|
|
415
|
+
icon: "ph--plus--regular",
|
|
416
|
+
disposition: "list-item-primary",
|
|
417
|
+
testId: "spacePlugin.createObject"
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
] : [],
|
|
356
421
|
{
|
|
357
|
-
id: getId(
|
|
422
|
+
id: getId(import_chunk_ULJZPATP.SpaceAction.RenameObject._tag),
|
|
358
423
|
type: import_plugin_graph.ACTION_TYPE,
|
|
359
424
|
data: async (params) => {
|
|
360
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
425
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.RenameObject, {
|
|
361
426
|
object,
|
|
362
427
|
caller: params?.caller
|
|
363
428
|
}));
|
|
364
429
|
},
|
|
365
430
|
properties: {
|
|
366
431
|
label: [
|
|
367
|
-
object
|
|
432
|
+
import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? "rename collection label" : "rename object label",
|
|
368
433
|
{
|
|
369
434
|
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
370
435
|
}
|
|
371
436
|
],
|
|
372
437
|
icon: "ph--pencil-simple-line--regular",
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
438
|
+
disposition: "list-item",
|
|
439
|
+
// TODO(wittjosiah): Not working.
|
|
440
|
+
// keyBinding: {
|
|
441
|
+
// macos: 'shift+F6',
|
|
442
|
+
// },
|
|
377
443
|
testId: "spacePlugin.renameObject"
|
|
378
444
|
}
|
|
379
445
|
},
|
|
380
446
|
{
|
|
381
|
-
id: getId(
|
|
447
|
+
id: getId(import_chunk_ULJZPATP.SpaceAction.RemoveObjects._tag),
|
|
382
448
|
type: import_plugin_graph.ACTION_TYPE,
|
|
383
449
|
data: async () => {
|
|
384
|
-
const collection = graph.getConnections((0, import_echo2.fullyQualifiedId)(object), "inbound").find(({ data }) => data
|
|
385
|
-
await dispatch((0, import_app_framework.createIntent)(
|
|
450
|
+
const collection = graph.getConnections((0, import_echo2.fullyQualifiedId)(object), "inbound").find(({ data }) => import_echo.Obj.instanceOf(import_schema.DataType.Collection, data))?.data;
|
|
451
|
+
await dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.RemoveObjects, {
|
|
386
452
|
objects: [
|
|
387
453
|
object
|
|
388
454
|
],
|
|
@@ -391,17 +457,19 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
391
457
|
},
|
|
392
458
|
properties: {
|
|
393
459
|
label: [
|
|
394
|
-
object
|
|
460
|
+
import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) ? "delete collection label" : "delete object label",
|
|
395
461
|
{
|
|
396
462
|
ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
|
|
397
463
|
}
|
|
398
464
|
],
|
|
399
465
|
icon: "ph--trash--regular",
|
|
400
|
-
|
|
466
|
+
disposition: "list-item",
|
|
467
|
+
// TODO(wittjosiah): This is a browser shortcut.
|
|
468
|
+
// keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
|
|
401
469
|
testId: "spacePlugin.deleteObject"
|
|
402
470
|
}
|
|
403
471
|
},
|
|
404
|
-
...navigable || !(object
|
|
472
|
+
...navigable || !import_echo.Obj.instanceOf(import_schema.DataType.Collection, object) && !import_echo.Obj.instanceOf(import_schema.DataType.QueryCollection, object) ? [
|
|
405
473
|
{
|
|
406
474
|
id: getId("copy-link"),
|
|
407
475
|
type: import_plugin_graph.ACTION_TYPE,
|
|
@@ -417,6 +485,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
417
485
|
}
|
|
418
486
|
],
|
|
419
487
|
icon: "ph--link--regular",
|
|
488
|
+
disposition: "list-item",
|
|
420
489
|
testId: "spacePlugin.copyLink"
|
|
421
490
|
}
|
|
422
491
|
}
|
|
@@ -439,6 +508,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
439
508
|
}
|
|
440
509
|
],
|
|
441
510
|
icon: "ph--eye--regular",
|
|
511
|
+
disposition: "heading-list-item",
|
|
442
512
|
testId: "spacePlugin.exposeObject"
|
|
443
513
|
}
|
|
444
514
|
}
|
|
@@ -469,7 +539,7 @@ var cloneObject = async (object, resolve, newSpace) => {
|
|
|
469
539
|
const serializer = metadata.serializer;
|
|
470
540
|
(0, import_invariant.invariant)(serializer, `No serializer for type: ${typename}`, {
|
|
471
541
|
F: __dxlog_file,
|
|
472
|
-
L:
|
|
542
|
+
L: 570,
|
|
473
543
|
S: void 0,
|
|
474
544
|
A: [
|
|
475
545
|
"serializer",
|
|
@@ -499,4 +569,4 @@ var cloneObject = async (object, resolve, newSpace) => {
|
|
|
499
569
|
getSpaceDisplayName,
|
|
500
570
|
rxFromQuery
|
|
501
571
|
});
|
|
502
|
-
//# sourceMappingURL=chunk-
|
|
572
|
+
//# sourceMappingURL=chunk-XHWVT7LW.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';\nimport { pipe } from 'effect';\n\nimport { chain, 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 isGraphNode,\n} from '@dxos/plugin-graph';\nimport { fullyQualifiedId, getSpace, type QueryResult, SpaceState, type Space, isSpace } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { DataType } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { SpaceAction, SPACE_TYPE, type ObjectForm } 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 collection,\n space,\n resolve,\n}: {\n collection: DataType.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 getQueryCollectionNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.QueryCollection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n icon: collection.query.typename && resolve(collection.query.typename)?.icon,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n canDrop: (source: TreeData) => {\n return (\n isGraphNode(source.item) &&\n Obj.isObject(source.item.data) &&\n Obj.getTypename(source.item.data) === collection.query.typename\n );\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // No-op. Objects are moved into query collections by being removed from their original collection.\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // No-op. Objects are moved out of query collections by being added to another collection.\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 =\n space.state.get() === SpaceState.SPACE_READY && space.properties[Type.getTypename(DataType.Collection)]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.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 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: `${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 droppable = true,\n navigable = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n droppable?: boolean;\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 = Obj.instanceOf(DataType.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.QueryCollection, object)\n ? getQueryCollectionNodePartials({ collection: object, space, resolve })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\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 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 objectForms,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n objectForms: ObjectForm<any>[];\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n\n const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : undefined;\n const matchingObjectForm = queryCollection\n ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query.typename)\n : undefined;\n\n const actions: NodeArg<ActionData>[] = [\n ...(Obj.instanceOf(DataType.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: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(matchingObjectForm\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (matchingObjectForm.formSchema) {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n typename: queryCollection?.query.typename,\n }),\n );\n } else {\n await dispatch(\n pipe(\n matchingObjectForm.getIntent({}, { 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 smart 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 Obj.instanceOf(DataType.Collection, object) ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\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(fullyQualifiedId(object), 'inbound')\n .find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n Obj.instanceOf(DataType.Collection, object) ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || (!Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object))\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 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(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 disposition: 'heading-list-item',\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", "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", "getQueryCollectionNodePartials", "icon", "typename", "canDrop", "source", "isGraphNode", "item", "getTypename", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "hasPendingMigration", "Type", "DataType", "Collection", "partials", "instanceOf", "type", "SPACE_TYPE", "cacheable", "label", "description", "hue", "undefined", "disabled", "testId", "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", "createObjectNode", "droppable", "metadata", "Object", "keys", "QueryCollection", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "graph", "objectForms", "getSpace", "invariant", "queryCollection", "matchingObjectForm", "form", "objectSchema", "formSchema", "pipe", "getIntent", "chain", "AddObject", "hidden", "LayoutAction", "Open", "part", "RenameObject", "RemoveObjects", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "subject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
|
|
7
|
+
}
|
|
@@ -16,29 +16,27 @@ 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 identity_created_FF4WZ2WY_exports = {};
|
|
20
|
+
__export(identity_created_FF4WZ2WY_exports, {
|
|
21
21
|
default: () => identity_created_default
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
var import_chunk_UUBPYP7E = require("./chunk-UUBPYP7E.cjs");
|
|
25
|
-
var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
|
|
23
|
+
module.exports = __toCommonJS(identity_created_FF4WZ2WY_exports);
|
|
26
24
|
var import_app_framework = require("@dxos/app-framework");
|
|
27
25
|
var import_echo = require("@dxos/echo");
|
|
28
26
|
var import_migrations = require("@dxos/migrations");
|
|
29
27
|
var import_plugin_client = require("@dxos/plugin-client");
|
|
28
|
+
var import_schema = require("@dxos/schema");
|
|
30
29
|
var identity_created_default = async (context) => {
|
|
31
30
|
const client = context.getCapability(import_plugin_client.ClientCapabilities.Client);
|
|
32
31
|
await client.spaces.waitUntilReady();
|
|
33
32
|
const defaultSpace = client.spaces.default;
|
|
34
33
|
await defaultSpace.waitUntilReady();
|
|
35
|
-
defaultSpace.properties[
|
|
36
|
-
objects: []
|
|
37
|
-
views: {}
|
|
34
|
+
defaultSpace.properties[import_echo.Type.getTypename(import_schema.DataType.Collection)] = import_echo.Ref.make(import_echo.Obj.make(import_schema.DataType.Collection, {
|
|
35
|
+
objects: []
|
|
38
36
|
}));
|
|
39
37
|
if (import_migrations.Migrations.versionProperty) {
|
|
40
38
|
defaultSpace.properties[import_migrations.Migrations.versionProperty] = import_migrations.Migrations.targetVersion;
|
|
41
39
|
}
|
|
42
40
|
return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Null, null);
|
|
43
41
|
};
|
|
44
|
-
//# sourceMappingURL=identity-created-
|
|
42
|
+
//# sourceMappingURL=identity-created-FF4WZ2WY.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/identity-created.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, type PluginContext, Capabilities } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { DataType } from '@dxos/schema';\n\nexport default async (context: PluginContext) => {\n const client = context.getCapability(ClientCapabilities.Client);\n await client.spaces.waitUntilReady();\n\n const defaultSpace = client.spaces.default;\n await defaultSpace.waitUntilReady();\n\n // Create root collection structure.\n defaultSpace.properties[Type.getTypename(DataType.Collection)] = Ref.make(\n Obj.make(DataType.Collection, { objects: [] }),\n );\n if (Migrations.versionProperty) {\n defaultSpace.properties[Migrations.versionProperty] = Migrations.targetVersion;\n }\n\n return contributes(Capabilities.Null, null);\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA8D;AAC9D,kBAA+B;AAC/B,wBAA2B;AAC3B,2BAAmC;AACnC,oBAAyB;AAEzB,IAAA,2BAAe,OAAOA,YAAAA;AACpB,QAAMC,SAASD,QAAQE,cAAcC,wCAAmBC,MAAM;AAC9D,QAAMH,OAAOI,OAAOC,eAAc;AAElC,QAAMC,eAAeN,OAAOI,OAAOG;AACnC,QAAMD,aAAaD,eAAc;AAGjCC,eAAaE,WAAWC,iBAAKC,YAAYC,uBAASC,UAAU,CAAA,IAAKC,gBAAIC,KACnEC,gBAAID,KAAKH,uBAASC,YAAY;IAAEI,SAAS,CAAA;EAAG,CAAA,CAAA;AAE9C,MAAIC,6BAAWC,iBAAiB;AAC9BZ,iBAAaE,WAAWS,6BAAWC,eAAe,IAAID,6BAAWE;EACnE;AAEA,aAAOC,kCAAYC,kCAAaC,MAAM,IAAA;AACxC;",
|
|
6
|
+
"names": ["context", "client", "getCapability", "ClientCapabilities", "Client", "spaces", "waitUntilReady", "defaultSpace", "default", "properties", "Type", "getTypename", "DataType", "Collection", "Ref", "make", "Obj", "objects", "Migrations", "versionProperty", "targetVersion", "contributes", "Capabilities", "Null"]
|
|
7
|
+
}
|