@dxos/plugin-space 0.8.3-main.672df60 → 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-DCWUULKX.mjs → app-graph-builder-M2RH72VL.mjs} +49 -14
- package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-MLU7XI2P.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-VEBKN45O.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-ZQEIXWBK.mjs → chunk-NFUKCRGE.mjs} +157 -141
- 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-N5QMRLKI.mjs → chunk-V24VASAJ.mjs} +112 -43
- 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-O63SIYOF.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-PG473BRV.mjs → intent-resolver-RWU6ZE4H.mjs} +66 -45
- 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-FRDC4UXB.mjs → react-root-QIKHSNT2.mjs} +5 -5
- package/dist/lib/browser/{react-surface-QOP7T66K.mjs → react-surface-W56UD53I.mjs} +79 -19
- 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/{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-K54STC5A.mjs} +4 -4
- package/dist/lib/browser/settings-K54STC5A.mjs.map +7 -0
- package/dist/lib/browser/{spaces-ready-L4QAGTDE.mjs → spaces-ready-3PDRDHPC.mjs} +12 -13
- 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-WC445X77.cjs → app-graph-builder-6LK5HLLE.cjs} +79 -43
- package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-UPQOQVMJ.cjs → app-graph-serializer-HKHBNHA3.cjs} +24 -23
- 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-DXL5TDFP.cjs → chunk-DOC5XEZ4.cjs} +32 -18
- package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +7 -0
- package/dist/lib/node/{chunk-USFHJG7C.cjs → chunk-NCHF433F.cjs} +207 -190
- 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-COQYISES.cjs → chunk-XHWVT7LW.cjs} +137 -67
- package/dist/lib/node/chunk-XHWVT7LW.cjs.map +7 -0
- package/dist/lib/node/{identity-created-UXEAUGC7.cjs → identity-created-FF4WZ2WY.cjs} +8 -10
- package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +7 -0
- package/dist/lib/node/index.cjs +130 -119
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/{intent-resolver-VPVZSSIL.cjs → intent-resolver-AV4CMM3Z.cjs} +99 -79
- 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-JXLRINF3.cjs → react-root-RQUU3A45.cjs} +10 -10
- package/dist/lib/node/{react-surface-ZIYDBL3C.cjs → react-surface-AZFJLE72.cjs} +119 -58
- 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/{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-P2EQ7VKQ.cjs} +7 -7
- package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +7 -0
- package/dist/lib/node/{spaces-ready-VXQYCBII.cjs → spaces-ready-DXPOHYV7.cjs} +26 -27
- 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-E7CCGPQJ.mjs → app-graph-builder-BCHVZ4OM.mjs} +49 -14
- package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-UCMSLPIA.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-XAZNQ3QN.mjs → chunk-HO7AIKQS.mjs} +112 -43
- package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-OSPEGYX3.mjs → chunk-JBQKU4K5.mjs} +29 -17
- package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BE2BLE7K.mjs → chunk-LA6AVVH6.mjs} +157 -141
- package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-ZECO4NH3.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-SK5LP5ZK.mjs → intent-resolver-JO6L2VXC.mjs} +66 -45
- 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-K2KRGIT7.mjs → react-root-YFGL3B4J.mjs} +5 -5
- package/dist/lib/node-esm/{react-surface-XNUWZCSH.mjs → react-surface-CVAPDLEZ.mjs} +79 -19
- 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/{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-TD76LTQS.mjs} +4 -4
- package/dist/lib/node-esm/settings-TD76LTQS.mjs.map +7 -0
- package/dist/lib/node-esm/{spaces-ready-JHKPD4PH.mjs → spaces-ready-FJMGPAVV.mjs} +12 -13
- 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/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/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 +3 -3
- 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/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/SpacePluginSettings.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/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 +81 -12
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +16 -11
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +45 -45
- package/src/{SpacePlugin.tsx → SpacePlugin.ts} +30 -10
- package/src/capabilities/app-graph-builder.ts +74 -20
- 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 +60 -36
- package/src/capabilities/react-surface.tsx +105 -29
- package/src/capabilities/schema-tools.ts +3 -2
- package/src/capabilities/settings.ts +6 -2
- package/src/capabilities/spaces-ready.ts +7 -8
- package/src/components/CollectionMain.tsx +3 -3
- package/src/components/CollectionSection.tsx +2 -2
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +7 -6
- package/src/components/CreateDialog/CreateObjectDialog.tsx +31 -25
- package/src/components/CreateDialog/CreateObjectPanel.tsx +45 -52
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
- package/src/components/MembersContainer.tsx +4 -2
- package/src/components/MenuFooter.tsx +3 -2
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +12 -4
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +7 -7
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +4 -4
- package/src/components/SchemaContainer.tsx +3 -3
- package/src/components/SpacePluginSettings.tsx +24 -19
- package/src/components/SpacePresence.tsx +22 -15
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +2 -1
- package/src/events.ts +1 -5
- package/src/translations.ts +30 -14
- package/src/types/index.ts +0 -1
- package/src/types/types.ts +32 -11
- package/src/util.tsx +136 -57
- 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-3LN4LJN6.mjs.map +0 -7
- package/dist/lib/browser/chunk-N5QMRLKI.mjs.map +0 -7
- package/dist/lib/browser/chunk-VEBKN45O.mjs.map +0 -7
- package/dist/lib/browser/chunk-W46VVHFM.mjs +0 -288
- package/dist/lib/browser/chunk-W46VVHFM.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZQEIXWBK.mjs.map +0 -7
- package/dist/lib/browser/identity-created-O63SIYOF.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-PG473BRV.mjs.map +0 -7
- package/dist/lib/browser/react-surface-QOP7T66K.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-7GQGM4ZF.cjs.map +0 -7
- package/dist/lib/node/chunk-COQYISES.cjs.map +0 -7
- package/dist/lib/node/chunk-DXL5TDFP.cjs.map +0 -7
- package/dist/lib/node/chunk-FXHI7JNY.cjs +0 -315
- package/dist/lib/node/chunk-FXHI7JNY.cjs.map +0 -7
- package/dist/lib/node/chunk-USFHJG7C.cjs.map +0 -7
- package/dist/lib/node/identity-created-UXEAUGC7.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-VPVZSSIL.cjs.map +0 -7
- package/dist/lib/node/react-surface-ZIYDBL3C.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-4X4Y63ND.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BE2BLE7K.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FTELJGEG.mjs +0 -289
- package/dist/lib/node-esm/chunk-FTELJGEG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OSPEGYX3.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-SK5LP5ZK.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-XNUWZCSH.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/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 -18
- /package/dist/lib/browser/{react-root-FRDC4UXB.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/{state-6HOSHLIN.mjs.map → state-HRZ4VRXU.mjs.map} +0 -0
- /package/dist/lib/node/{react-root-JXLRINF3.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/{state-ZT3MTZXB.cjs.map → state-M35DK75Z.cjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-K2KRGIT7.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/{state-4ATRHSKA.mjs.map → state-XQNDCN37.mjs.map} +0 -0
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SPACE_PLUGIN
|
|
3
|
+
} from "./chunk-PTKYMZWO.mjs";
|
|
4
|
+
|
|
5
|
+
// packages/plugins/plugin-space/src/types/types.ts
|
|
6
|
+
import { Schema } from "effect";
|
|
7
|
+
import { Type } from "@dxos/echo";
|
|
8
|
+
import { EchoObjectSchema, ReactiveObjectSchema, SpaceSchema } from "@dxos/react-client/echo";
|
|
9
|
+
import { CancellableInvitationObservable, Invitation } from "@dxos/react-client/invitations";
|
|
10
|
+
import { DataType, TypenameAnnotationId } from "@dxos/schema";
|
|
11
|
+
var SPACE_DIRECTORY_HANDLE = "dxos.org/plugin/space/directory";
|
|
12
|
+
var SPACE_TYPE = "dxos.org/type/Space";
|
|
13
|
+
var SpaceSettingsSchema = Schema.mutable(Schema.Struct({
|
|
14
|
+
/**
|
|
15
|
+
* Show closed spaces.
|
|
16
|
+
*/
|
|
17
|
+
showHidden: Schema.Boolean
|
|
18
|
+
}));
|
|
19
|
+
var IconAnnotationId = Symbol.for("@dxos/plugin-space/annotation/Icon");
|
|
20
|
+
var HueAnnotationId = Symbol.for("@dxos/plugin-space/annotation/Hue");
|
|
21
|
+
var SpaceForm = Schema.Struct({
|
|
22
|
+
name: Schema.optional(Schema.String.annotations({
|
|
23
|
+
title: "Name"
|
|
24
|
+
})),
|
|
25
|
+
icon: Schema.optional(Schema.String.annotations({
|
|
26
|
+
title: "Icon",
|
|
27
|
+
[IconAnnotationId]: true
|
|
28
|
+
})),
|
|
29
|
+
hue: Schema.optional(Schema.String.annotations({
|
|
30
|
+
title: "Color",
|
|
31
|
+
[HueAnnotationId]: true
|
|
32
|
+
})),
|
|
33
|
+
// TODO(wittjosiah): Make optional with default value.
|
|
34
|
+
edgeReplication: Schema.Boolean.annotations({
|
|
35
|
+
title: "Enable EDGE Replication"
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
var defineObjectForm = (form) => form;
|
|
39
|
+
var SPACE_ACTION = `${SPACE_PLUGIN}/action`;
|
|
40
|
+
(function(SpaceAction2) {
|
|
41
|
+
class OpenCreateSpace extends Schema.TaggedClass()(`${SPACE_ACTION}/open-create-space`, {
|
|
42
|
+
input: Schema.Void,
|
|
43
|
+
output: Schema.Void
|
|
44
|
+
}) {
|
|
45
|
+
}
|
|
46
|
+
SpaceAction2.OpenCreateSpace = OpenCreateSpace;
|
|
47
|
+
class Create extends Schema.TaggedClass()(`${SPACE_ACTION}/create`, {
|
|
48
|
+
input: SpaceForm,
|
|
49
|
+
output: Schema.Struct({
|
|
50
|
+
id: Schema.String,
|
|
51
|
+
subject: Schema.Array(Schema.String),
|
|
52
|
+
space: SpaceSchema
|
|
53
|
+
})
|
|
54
|
+
}) {
|
|
55
|
+
}
|
|
56
|
+
SpaceAction2.Create = Create;
|
|
57
|
+
class Join extends Schema.TaggedClass()(`${SPACE_ACTION}/join`, {
|
|
58
|
+
input: Schema.Struct({
|
|
59
|
+
invitationCode: Schema.optional(Schema.String),
|
|
60
|
+
onDone: Schema.optional(Schema.Any)
|
|
61
|
+
}),
|
|
62
|
+
output: Schema.Void
|
|
63
|
+
}) {
|
|
64
|
+
}
|
|
65
|
+
SpaceAction2.Join = Join;
|
|
66
|
+
class OpenMembers extends Schema.TaggedClass()(`${SPACE_ACTION}/open-members`, {
|
|
67
|
+
input: Schema.Struct({
|
|
68
|
+
space: SpaceSchema
|
|
69
|
+
}),
|
|
70
|
+
output: Schema.Void
|
|
71
|
+
}) {
|
|
72
|
+
}
|
|
73
|
+
SpaceAction2.OpenMembers = OpenMembers;
|
|
74
|
+
class Share extends Schema.TaggedClass()(`${SPACE_ACTION}/share`, {
|
|
75
|
+
input: Schema.Struct({
|
|
76
|
+
space: SpaceSchema,
|
|
77
|
+
type: Schema.Enums(Invitation.Type),
|
|
78
|
+
authMethod: Schema.Enums(Invitation.AuthMethod),
|
|
79
|
+
multiUse: Schema.Boolean,
|
|
80
|
+
target: Schema.optional(Schema.String)
|
|
81
|
+
}),
|
|
82
|
+
output: Schema.instanceOf(CancellableInvitationObservable)
|
|
83
|
+
}) {
|
|
84
|
+
}
|
|
85
|
+
SpaceAction2.Share = Share;
|
|
86
|
+
class GetShareLink extends Schema.TaggedClass()(`${SPACE_ACTION}/get-share-link`, {
|
|
87
|
+
input: Schema.Struct({
|
|
88
|
+
space: SpaceSchema,
|
|
89
|
+
target: Schema.optional(Schema.String),
|
|
90
|
+
copyToClipboard: Schema.optional(Schema.Boolean)
|
|
91
|
+
}),
|
|
92
|
+
output: Schema.String
|
|
93
|
+
}) {
|
|
94
|
+
}
|
|
95
|
+
SpaceAction2.GetShareLink = GetShareLink;
|
|
96
|
+
class Lock extends Schema.TaggedClass()(`${SPACE_ACTION}/lock`, {
|
|
97
|
+
input: Schema.Struct({
|
|
98
|
+
space: SpaceSchema
|
|
99
|
+
}),
|
|
100
|
+
output: Schema.Void
|
|
101
|
+
}) {
|
|
102
|
+
}
|
|
103
|
+
SpaceAction2.Lock = Lock;
|
|
104
|
+
class Unlock extends Schema.TaggedClass()(`${SPACE_ACTION}/unlock`, {
|
|
105
|
+
input: Schema.Struct({
|
|
106
|
+
space: SpaceSchema
|
|
107
|
+
}),
|
|
108
|
+
output: Schema.Void
|
|
109
|
+
}) {
|
|
110
|
+
}
|
|
111
|
+
SpaceAction2.Unlock = Unlock;
|
|
112
|
+
class Rename extends Schema.TaggedClass()(`${SPACE_ACTION}/rename`, {
|
|
113
|
+
input: Schema.Struct({
|
|
114
|
+
space: SpaceSchema,
|
|
115
|
+
caller: Schema.optional(Schema.String)
|
|
116
|
+
}),
|
|
117
|
+
output: Schema.Void
|
|
118
|
+
}) {
|
|
119
|
+
}
|
|
120
|
+
SpaceAction2.Rename = Rename;
|
|
121
|
+
class OpenSettings extends Schema.TaggedClass()(`${SPACE_ACTION}/open-settings`, {
|
|
122
|
+
input: Schema.Struct({
|
|
123
|
+
space: SpaceSchema
|
|
124
|
+
}),
|
|
125
|
+
output: Schema.Void
|
|
126
|
+
}) {
|
|
127
|
+
}
|
|
128
|
+
SpaceAction2.OpenSettings = OpenSettings;
|
|
129
|
+
class Open extends Schema.TaggedClass()(`${SPACE_ACTION}/open`, {
|
|
130
|
+
input: Schema.Struct({
|
|
131
|
+
space: SpaceSchema
|
|
132
|
+
}),
|
|
133
|
+
output: Schema.Void
|
|
134
|
+
}) {
|
|
135
|
+
}
|
|
136
|
+
SpaceAction2.Open = Open;
|
|
137
|
+
class Close extends Schema.TaggedClass()(`${SPACE_ACTION}/close`, {
|
|
138
|
+
input: Schema.Struct({
|
|
139
|
+
space: SpaceSchema
|
|
140
|
+
}),
|
|
141
|
+
output: Schema.Void
|
|
142
|
+
}) {
|
|
143
|
+
}
|
|
144
|
+
SpaceAction2.Close = Close;
|
|
145
|
+
class Migrate extends Schema.TaggedClass()(`${SPACE_ACTION}/migrate`, {
|
|
146
|
+
input: Schema.Struct({
|
|
147
|
+
space: SpaceSchema,
|
|
148
|
+
version: Schema.optional(Schema.String)
|
|
149
|
+
}),
|
|
150
|
+
output: Schema.Boolean
|
|
151
|
+
}) {
|
|
152
|
+
}
|
|
153
|
+
SpaceAction2.Migrate = Migrate;
|
|
154
|
+
class OpenCreateObject extends Schema.TaggedClass()(`${SPACE_ACTION}/open-create-object`, {
|
|
155
|
+
input: Schema.Struct({
|
|
156
|
+
target: Schema.Union(SpaceSchema, DataType.Collection),
|
|
157
|
+
typename: Schema.optional(Schema.String),
|
|
158
|
+
navigable: Schema.optional(Schema.Boolean)
|
|
159
|
+
}),
|
|
160
|
+
output: Schema.Void
|
|
161
|
+
}) {
|
|
162
|
+
}
|
|
163
|
+
SpaceAction2.OpenCreateObject = OpenCreateObject;
|
|
164
|
+
class AddObject extends Schema.TaggedClass()(`${SPACE_ACTION}/add-object`, {
|
|
165
|
+
input: Schema.Struct({
|
|
166
|
+
object: ReactiveObjectSchema,
|
|
167
|
+
target: Schema.Union(SpaceSchema, DataType.Collection),
|
|
168
|
+
hidden: Schema.optional(Schema.Boolean)
|
|
169
|
+
}),
|
|
170
|
+
output: Schema.Struct({
|
|
171
|
+
id: Schema.String,
|
|
172
|
+
subject: Schema.Array(Schema.String),
|
|
173
|
+
object: EchoObjectSchema
|
|
174
|
+
})
|
|
175
|
+
}) {
|
|
176
|
+
}
|
|
177
|
+
SpaceAction2.AddObject = AddObject;
|
|
178
|
+
class AddRelation extends Schema.TaggedClass()(`${SPACE_ACTION}/add-relation`, {
|
|
179
|
+
input: Schema.Struct({
|
|
180
|
+
space: SpaceSchema,
|
|
181
|
+
// TODO(wittjosiah): Relation schema.
|
|
182
|
+
schema: Schema.Any,
|
|
183
|
+
source: Type.Expando,
|
|
184
|
+
target: Type.Expando,
|
|
185
|
+
// TODO(wittjosiah): Type based on relation schema.
|
|
186
|
+
fields: Schema.optional(Schema.Record({
|
|
187
|
+
key: Schema.String,
|
|
188
|
+
value: Schema.Any
|
|
189
|
+
}))
|
|
190
|
+
}),
|
|
191
|
+
output: Schema.Struct({
|
|
192
|
+
relation: Schema.Any
|
|
193
|
+
})
|
|
194
|
+
}) {
|
|
195
|
+
}
|
|
196
|
+
SpaceAction2.AddRelation = AddRelation;
|
|
197
|
+
SpaceAction2.DeletionData = Schema.Struct({
|
|
198
|
+
objects: Schema.Array(EchoObjectSchema),
|
|
199
|
+
parentCollection: DataType.Collection,
|
|
200
|
+
indices: Schema.Array(Schema.Number),
|
|
201
|
+
nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
|
|
202
|
+
wasActive: Schema.Array(Schema.String)
|
|
203
|
+
});
|
|
204
|
+
class RemoveObjects extends Schema.TaggedClass()(`${SPACE_ACTION}/remove-objects`, {
|
|
205
|
+
input: Schema.Struct({
|
|
206
|
+
objects: Schema.Array(EchoObjectSchema),
|
|
207
|
+
target: Schema.optional(DataType.Collection),
|
|
208
|
+
deletionData: Schema.optional(SpaceAction2.DeletionData)
|
|
209
|
+
}),
|
|
210
|
+
output: Schema.Void
|
|
211
|
+
}) {
|
|
212
|
+
}
|
|
213
|
+
SpaceAction2.RemoveObjects = RemoveObjects;
|
|
214
|
+
class RenameObject extends Schema.TaggedClass()(`${SPACE_ACTION}/rename-object`, {
|
|
215
|
+
input: Schema.Struct({
|
|
216
|
+
object: EchoObjectSchema,
|
|
217
|
+
caller: Schema.optional(Schema.String)
|
|
218
|
+
}),
|
|
219
|
+
output: Schema.Void
|
|
220
|
+
}) {
|
|
221
|
+
}
|
|
222
|
+
SpaceAction2.RenameObject = RenameObject;
|
|
223
|
+
class DuplicateObject extends Schema.TaggedClass()(`${SPACE_ACTION}/duplicate-object`, {
|
|
224
|
+
input: Schema.Struct({
|
|
225
|
+
object: EchoObjectSchema,
|
|
226
|
+
target: Schema.Union(SpaceSchema, DataType.Collection)
|
|
227
|
+
}),
|
|
228
|
+
output: Schema.Void
|
|
229
|
+
}) {
|
|
230
|
+
}
|
|
231
|
+
SpaceAction2.DuplicateObject = DuplicateObject;
|
|
232
|
+
class WaitForObject extends Schema.TaggedClass()(`${SPACE_ACTION}/wait-for-object`, {
|
|
233
|
+
input: Schema.Struct({
|
|
234
|
+
id: Schema.optional(Schema.String)
|
|
235
|
+
}),
|
|
236
|
+
output: Schema.Void
|
|
237
|
+
}) {
|
|
238
|
+
}
|
|
239
|
+
SpaceAction2.WaitForObject = WaitForObject;
|
|
240
|
+
})(SpaceAction || (SpaceAction = {}));
|
|
241
|
+
(function(CollectionAction2) {
|
|
242
|
+
class Create extends Schema.TaggedClass()("dxos.org/plugin/collection/action/create", {
|
|
243
|
+
input: Schema.Struct({
|
|
244
|
+
name: Schema.optional(Schema.String)
|
|
245
|
+
}),
|
|
246
|
+
output: Schema.Struct({
|
|
247
|
+
object: DataType.Collection
|
|
248
|
+
})
|
|
249
|
+
}) {
|
|
250
|
+
}
|
|
251
|
+
CollectionAction2.Create = Create;
|
|
252
|
+
CollectionAction2.QueryCollectionForm = Schema.Struct({
|
|
253
|
+
name: Schema.optional(Schema.String),
|
|
254
|
+
typename: Schema.optional(Schema.String.annotations({
|
|
255
|
+
[TypenameAnnotationId]: [
|
|
256
|
+
"object-form"
|
|
257
|
+
]
|
|
258
|
+
}))
|
|
259
|
+
});
|
|
260
|
+
class CreateQueryCollection extends Schema.TaggedClass()("dxos.org/plugin/collection/action/create-query-collection", {
|
|
261
|
+
input: CollectionAction2.QueryCollectionForm,
|
|
262
|
+
output: Schema.Struct({
|
|
263
|
+
object: DataType.QueryCollection
|
|
264
|
+
})
|
|
265
|
+
}) {
|
|
266
|
+
}
|
|
267
|
+
CollectionAction2.CreateQueryCollection = CreateQueryCollection;
|
|
268
|
+
})(CollectionAction || (CollectionAction = {}));
|
|
269
|
+
var SpaceAction;
|
|
270
|
+
var CollectionAction;
|
|
271
|
+
|
|
272
|
+
export {
|
|
273
|
+
SPACE_DIRECTORY_HANDLE,
|
|
274
|
+
SPACE_TYPE,
|
|
275
|
+
SpaceSettingsSchema,
|
|
276
|
+
IconAnnotationId,
|
|
277
|
+
HueAnnotationId,
|
|
278
|
+
SpaceForm,
|
|
279
|
+
defineObjectForm,
|
|
280
|
+
SPACE_ACTION,
|
|
281
|
+
SpaceAction,
|
|
282
|
+
CollectionAction
|
|
283
|
+
};
|
|
284
|
+
//# sourceMappingURL=chunk-TW7O2EPP.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { Type, type Obj } from '@dxos/echo';\nimport { type BaseObject, type TypedObject } from '@dxos/echo-schema';\nimport { type PublicKey } from '@dxos/react-client';\n// TODO(wittjosiah): This pulls in full client.\nimport { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';\nimport { DataType, TypenameAnnotationId } from '@dxos/schema';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';\nexport const SPACE_TYPE = 'dxos.org/type/Space';\n\nexport type ObjectViewerProps = {\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type ObjectId = string;\n\nexport type PluginState = {\n /**\n * Which objects are currently being viewed by which peers.\n */\n viewersByObject: Record<ObjectId, ComplexMap<PublicKey, ObjectViewerProps>>;\n\n /**\n * Which peers are currently viewing which objects.\n */\n viewersByIdentity: ComplexMap<PublicKey, Set<ObjectId>>;\n\n /**\n * Object that was linked to directly but not found and is being awaited.\n */\n awaiting: string | undefined;\n\n /**\n * Cached space names, used when spaces are closed or loading.\n */\n spaceNames: Record<string, string>;\n\n /**\n * Which spaces have an SDK migration running currently.\n */\n // TODO(wittjosiah): Factor out to sdk. Migration running should probably be a space state.\n sdkMigrationRunning: Record<string, boolean>;\n\n /**\n * Whether or not the user can navigate to collections in the graph.\n * Determined by whether or not there is an available plugin that can render a collection.\n */\n navigableCollections: boolean;\n\n /**\n * Tracks whether setting edge replication as default has been run on spaces.\n */\n // TODO(wittjosiah): Systematic way to handle migrations of state outside of spaces.\n enabledEdgeReplication: boolean;\n};\n\nexport const SpaceSettingsSchema = Schema.mutable(\n Schema.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: Schema.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Obj.Any = Type.Expando> {\n serialize(params: { object: T }): Promise<string>;\n\n /**\n * @param params.content\n * @param params.space Space to use for deserializing schema references.\n * @param params.newId Generate new ID for deserialized object.\n */\n deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;\n}\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');\nexport const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');\n\nexport const SpaceForm = Schema.Struct({\n name: Schema.optional(Schema.String.annotations({ title: 'Name' })),\n icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n // TODO(wittjosiah): Make optional with default value.\n edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),\n});\n\nexport type ObjectForm<T extends BaseObject = BaseObject> = {\n // TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext\n objectSchema: TypedObject;\n formSchema?: Schema.Schema<T, any>;\n hidden?: boolean;\n getIntent: (props: T, options: { space: Space }) => AnyIntentChain;\n};\n\nexport const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;\n\nexport const SPACE_ACTION = `${SPACE_PLUGIN}/action`;\n\nexport namespace SpaceAction {\n export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {\n input: SpaceForm,\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n space: SpaceSchema,\n }),\n }) {}\n\n export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n onDone: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n }) {}\n\n export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\n input: Schema.Struct({\n space: SpaceSchema,\n type: Schema.Enums(Invitation.Type),\n authMethod: Schema.Enums(Invitation.AuthMethod),\n multiUse: Schema.Boolean,\n target: Schema.optional(Schema.String),\n }),\n output: Schema.instanceOf(CancellableInvitationObservable),\n }) {}\n\n export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {\n input: Schema.Struct({\n space: SpaceSchema,\n target: Schema.optional(Schema.String),\n copyToClipboard: Schema.optional(Schema.Boolean),\n }),\n output: Schema.String,\n }) {}\n\n export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {\n input: Schema.Struct({\n space: SpaceSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n // TODO(wittjosiah): Handle scrolling to section.\n // This maybe motivates making the space settings its own deck?\n export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: Schema.Struct({ space: SpaceSchema }),\n output: Schema.Void,\n }) {}\n\n export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {\n input: Schema.Struct({\n space: SpaceSchema,\n version: Schema.optional(Schema.String),\n }),\n output: Schema.Boolean,\n }) {}\n\n export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {\n input: Schema.Struct({\n target: Schema.Union(SpaceSchema, DataType.Collection),\n typename: Schema.optional(Schema.String),\n navigable: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Void,\n }) {}\n\n export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {\n input: Schema.Struct({\n object: ReactiveObjectSchema,\n target: Schema.Union(SpaceSchema, DataType.Collection),\n hidden: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n object: EchoObjectSchema,\n }),\n }) {}\n\n export class AddRelation extends Schema.TaggedClass<AddRelation>()(`${SPACE_ACTION}/add-relation`, {\n input: Schema.Struct({\n space: SpaceSchema,\n // TODO(wittjosiah): Relation schema.\n schema: Schema.Any,\n source: Type.Expando,\n target: Type.Expando,\n // TODO(wittjosiah): Type based on relation schema.\n fields: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Struct({\n relation: Schema.Any,\n }),\n }) {}\n\n export const DeletionData = Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n parentCollection: DataType.Collection,\n indices: Schema.Array(Schema.Number),\n nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),\n wasActive: Schema.Array(Schema.String),\n });\n\n export type DeletionData = Schema.Schema.Type<typeof DeletionData>;\n\n export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {\n input: Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n target: Schema.optional(DataType.Collection),\n deletionData: Schema.optional(DeletionData),\n }),\n output: Schema.Void,\n }) {}\n\n export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n target: Schema.Union(SpaceSchema, DataType.Collection),\n }),\n output: Schema.Void,\n }) {}\n\n export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {\n input: Schema.Struct({\n id: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport namespace CollectionAction {\n export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: DataType.Collection,\n }),\n }) {}\n\n export const QueryCollectionForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.optional(\n Schema.String.annotations({\n [TypenameAnnotationId]: ['object-form'],\n }),\n ),\n });\n\n export class CreateQueryCollection extends Schema.TaggedClass<CreateQueryCollection>()(\n 'dxos.org/plugin/collection/action/create-query-collection',\n {\n input: QueryCollectionForm,\n output: Schema.Struct({\n object: DataType.QueryCollection,\n }),\n },\n ) {}\n}\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,cAAc;AAGvB,SAASC,YAAsB;AAI/B,SAASC,kBAAkBC,sBAAkCC,mBAAmB;AAChF,SAASC,iCAAiCC,kBAAkB;AAC5D,SAASC,UAAUC,4BAA4B;AAKxC,IAAMC,yBAAyB;AAC/B,IAAMC,aAAa;AAiDnB,IAAMC,sBAAsBC,OAAOC,QACxCD,OAAOE,OAAO;;;;EAIZC,YAAYH,OAAOI;AACrB,CAAA,CAAA;AAqBK,IAAMC,mBAAmBC,OAAOC,IAAI,oCAAA;AACpC,IAAMC,kBAAkBF,OAAOC,IAAI,mCAAA;AAEnC,IAAME,YAAYT,OAAOE,OAAO;EACrCQ,MAAMV,OAAOW,SAASX,OAAOY,OAAOC,YAAY;IAAEC,OAAO;EAAO,CAAA,CAAA;EAChEC,MAAMf,OAAOW,SAASX,OAAOY,OAAOC,YAAY;IAAEC,OAAO;IAAQ,CAACT,gBAAAA,GAAmB;EAAK,CAAA,CAAA;EAC1FW,KAAKhB,OAAOW,SAASX,OAAOY,OAAOC,YAAY;IAAEC,OAAO;IAAS,CAACN,eAAAA,GAAkB;EAAK,CAAA,CAAA;;EAEzFS,iBAAiBjB,OAAOI,QAAQS,YAAY;IAAEC,OAAO;EAA0B,CAAA;AACjF,CAAA;AAUO,IAAMI,mBAAmB,CAAuBC,SAAwBA;AAExE,IAAMC,eAAe,GAAGC,YAAAA;UAEdC,cAAAA;EACR,MAAMC,wBAAwBvB,OAAOwB,YAAW,EAAoB,GAAGJ,YAAAA,sBAAkC;IAC9GK,OAAOzB,OAAO0B;IACdC,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eAHSH,kBAAAA;EAKN,MAAMK,eAAe5B,OAAOwB,YAAW,EAAW,GAAGJ,YAAAA,WAAuB;IACjFK,OAAOhB;IACPkB,QAAQ3B,OAAOE,OAAO;MACpB2B,IAAI7B,OAAOY;MACXkB,SAAS9B,OAAO+B,MAAM/B,OAAOY,MAAM;MACnCoB,OAAOC;IACT,CAAA;EACF,CAAA,EAAA;EAAI;eAPSL,SAAAA;EASN,MAAMM,aAAalC,OAAOwB,YAAW,EAAS,GAAGJ,YAAAA,SAAqB;IAC3EK,OAAOzB,OAAOE,OAAO;MACnBiC,gBAAgBnC,OAAOW,SAASX,OAAOY,MAAM;MAC7CwB,QAAQpC,OAAOW,SAASX,OAAOqC,GAAG;IACpC,CAAA;IACAV,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eANSQ,OAAAA;EAQN,MAAMI,oBAAoBtC,OAAOwB,YAAW,EAAgB,GAAGJ,YAAAA,iBAA6B;IACjGK,OAAOzB,OAAOE,OAAO;MACnB8B,OAAOC;IACT,CAAA;IACAN,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eALSY,cAAAA;EAON,MAAMC,cAAcvC,OAAOwB,YAAW,EAAU,GAAGJ,YAAAA,UAAsB;IAC9EK,OAAOzB,OAAOE,OAAO;MACnB8B,OAAOC;MACPO,MAAMxC,OAAOyC,MAAMC,WAAWC,IAAI;MAClCC,YAAY5C,OAAOyC,MAAMC,WAAWG,UAAU;MAC9CC,UAAU9C,OAAOI;MACjB2C,QAAQ/C,OAAOW,SAASX,OAAOY,MAAM;IACvC,CAAA;IACAe,QAAQ3B,OAAOgD,WAAWC,+BAAAA;EAC5B,CAAA,EAAA;EAAI;eATSV,QAAAA;EAWN,MAAMW,qBAAqBlD,OAAOwB,YAAW,EAAiB,GAAGJ,YAAAA,mBAA+B;IACrGK,OAAOzB,OAAOE,OAAO;MACnB8B,OAAOC;MACPc,QAAQ/C,OAAOW,SAASX,OAAOY,MAAM;MACrCuC,iBAAiBnD,OAAOW,SAASX,OAAOI,OAAO;IACjD,CAAA;IACAuB,QAAQ3B,OAAOY;EACjB,CAAA,EAAA;EAAI;eAPSsC,eAAAA;EASN,MAAME,aAAapD,OAAOwB,YAAW,EAAS,GAAGJ,YAAAA,SAAqB;IAC3EK,OAAOzB,OAAOE,OAAO;MACnB8B,OAAOC;IACT,CAAA;IACAN,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eALS0B,OAAAA;EAON,MAAMC,eAAerD,OAAOwB,YAAW,EAAW,GAAGJ,YAAAA,WAAuB;IACjFK,OAAOzB,OAAOE,OAAO;MACnB8B,OAAOC;IACT,CAAA;IACAN,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eALS2B,SAAAA;EAON,MAAMC,eAAetD,OAAOwB,YAAW,EAAW,GAAGJ,YAAAA,WAAuB;IACjFK,OAAOzB,OAAOE,OAAO;MACnB8B,OAAOC;MACPsB,QAAQvD,OAAOW,SAASX,OAAOY,MAAM;IACvC,CAAA;IACAe,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eANS4B,SAAAA;EAUN,MAAME,qBAAqBxD,OAAOwB,YAAW,EAAiB,GAAGJ,YAAAA,kBAA8B;IACpGK,OAAOzB,OAAOE,OAAO;MAAE8B,OAAOC;IAAY,CAAA;IAC1CN,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eAHS8B,eAAAA;EAKN,MAAMC,aAAazD,OAAOwB,YAAW,EAAS,GAAGJ,YAAAA,SAAqB;IAC3EK,OAAOzB,OAAOE,OAAO;MACnB8B,OAAOC;IACT,CAAA;IACAN,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eALS+B,OAAAA;EAON,MAAMC,cAAc1D,OAAOwB,YAAW,EAAU,GAAGJ,YAAAA,UAAsB;IAC9EK,OAAOzB,OAAOE,OAAO;MACnB8B,OAAOC;IACT,CAAA;IACAN,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eALSgC,QAAAA;EAON,MAAMC,gBAAgB3D,OAAOwB,YAAW,EAAY,GAAGJ,YAAAA,YAAwB;IACpFK,OAAOzB,OAAOE,OAAO;MACnB8B,OAAOC;MACP2B,SAAS5D,OAAOW,SAASX,OAAOY,MAAM;IACxC,CAAA;IACAe,QAAQ3B,OAAOI;EACjB,CAAA,EAAA;EAAI;eANSuD,UAAAA;EAQN,MAAME,yBAAyB7D,OAAOwB,YAAW,EAAqB,GAAGJ,YAAAA,uBAAmC;IACjHK,OAAOzB,OAAOE,OAAO;MACnB6C,QAAQ/C,OAAO8D,MAAM7B,aAAa8B,SAASC,UAAU;MACrDC,UAAUjE,OAAOW,SAASX,OAAOY,MAAM;MACvCsD,WAAWlE,OAAOW,SAASX,OAAOI,OAAO;IAC3C,CAAA;IACAuB,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eAPSmC,mBAAAA;EASN,MAAMM,kBAAkBnE,OAAOwB,YAAW,EAAc,GAAGJ,YAAAA,eAA2B;IAC3FK,OAAOzB,OAAOE,OAAO;MACnBkE,QAAQC;MACRtB,QAAQ/C,OAAO8D,MAAM7B,aAAa8B,SAASC,UAAU;MACrDM,QAAQtE,OAAOW,SAASX,OAAOI,OAAO;IACxC,CAAA;IACAuB,QAAQ3B,OAAOE,OAAO;MACpB2B,IAAI7B,OAAOY;MACXkB,SAAS9B,OAAO+B,MAAM/B,OAAOY,MAAM;MACnCwD,QAAQG;IACV,CAAA;EACF,CAAA,EAAA;EAAI;eAXSJ,YAAAA;EAaN,MAAMK,oBAAoBxE,OAAOwB,YAAW,EAAgB,GAAGJ,YAAAA,iBAA6B;IACjGK,OAAOzB,OAAOE,OAAO;MACnB8B,OAAOC;;MAEPwC,QAAQzE,OAAOqC;MACfqC,QAAQ/B,KAAKgC;MACb5B,QAAQJ,KAAKgC;;MAEbC,QAAQ5E,OAAOW,SAASX,OAAO6E,OAAO;QAAEC,KAAK9E,OAAOY;QAAQmE,OAAO/E,OAAOqC;MAAI,CAAA,CAAA;IAChF,CAAA;IACAV,QAAQ3B,OAAOE,OAAO;MACpB8E,UAAUhF,OAAOqC;IACnB,CAAA;EACF,CAAA,EAAA;EAAI;eAbSmC,cAAAA;eAeAS,eAAejF,OAAOE,OAAO;IACxCgF,SAASlF,OAAO+B,MAAMwC,gBAAAA;IACtBY,kBAAkBpB,SAASC;IAC3BoB,SAASpF,OAAO+B,MAAM/B,OAAOqF,MAAM;IACnCC,mBAAmBtF,OAAO+B,MAAM/B,OAAO+B,MAAMwC,gBAAAA,CAAAA;IAC7CgB,WAAWvF,OAAO+B,MAAM/B,OAAOY,MAAM;EACvC,CAAA;EAIO,MAAM4E,sBAAsBxF,OAAOwB,YAAW,EAAkB,GAAGJ,YAAAA,mBAA+B;IACvGK,OAAOzB,OAAOE,OAAO;MACnBgF,SAASlF,OAAO+B,MAAMwC,gBAAAA;MACtBxB,QAAQ/C,OAAOW,SAASoD,SAASC,UAAU;MAC3CyB,cAAczF,OAAOW,SAAQW,aAAC2D,YAAAA;IAChC,CAAA;IACAtD,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eAPS8D,gBAAAA;EASN,MAAME,qBAAqB1F,OAAOwB,YAAW,EAAiB,GAAGJ,YAAAA,kBAA8B;IACpGK,OAAOzB,OAAOE,OAAO;MACnBkE,QAAQG;MACRhB,QAAQvD,OAAOW,SAASX,OAAOY,MAAM;IACvC,CAAA;IACAe,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eANSgE,eAAAA;EAQN,MAAMC,wBAAwB3F,OAAOwB,YAAW,EAAoB,GAAGJ,YAAAA,qBAAiC;IAC7GK,OAAOzB,OAAOE,OAAO;MACnBkE,QAAQG;MACRxB,QAAQ/C,OAAO8D,MAAM7B,aAAa8B,SAASC,UAAU;IACvD,CAAA;IACArC,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eANSiE,kBAAAA;EAQN,MAAMC,sBAAsB5F,OAAOwB,YAAW,EAAkB,GAAGJ,YAAAA,oBAAgC;IACxGK,OAAOzB,OAAOE,OAAO;MACnB2B,IAAI7B,OAAOW,SAASX,OAAOY,MAAM;IACnC,CAAA;IACAe,QAAQ3B,OAAO0B;EACjB,CAAA,EAAA;EAAI;eALSkE,gBAAAA;AAMf,GAnLiBtE,gBAAAA,cAAAA,CAAAA,EAAAA;UAqLAuE,mBAAAA;EACR,MAAMjE,eAAe5B,OAAOwB,YAAW,EAAW,4CAA4C;IACnGC,OAAOzB,OAAOE,OAAO;MACnBQ,MAAMV,OAAOW,SAASX,OAAOY,MAAM;IACrC,CAAA;IACAe,QAAQ3B,OAAOE,OAAO;MACpBkE,QAAQL,SAASC;IACnB,CAAA;EACF,CAAA,EAAA;EAAI;oBAPSpC,SAAAA;oBASAkE,sBAAsB9F,OAAOE,OAAO;IAC/CQ,MAAMV,OAAOW,SAASX,OAAOY,MAAM;IACnCqD,UAAUjE,OAAOW,SACfX,OAAOY,OAAOC,YAAY;MACxB,CAACkF,oBAAAA,GAAuB;QAAC;;IAC3B,CAAA,CAAA;EAEJ,CAAA;EAEO,MAAMC,8BAA8BhG,OAAOwB,YAAW,EAC3D,6DACA;IACEC,OAAKoE,kBAAEC;IACPnE,QAAQ3B,OAAOE,OAAO;MACpBkE,QAAQL,SAASkC;IACnB,CAAA;EACF,CAAA,EAAA;EACC;oBARUD,wBAAAA;AASf,GA5BiBH,qBAAAA,mBAAAA,CAAAA,EAAAA;;;",
|
|
6
|
+
"names": ["Schema", "Type", "EchoObjectSchema", "ReactiveObjectSchema", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "DataType", "TypenameAnnotationId", "SPACE_DIRECTORY_HANDLE", "SPACE_TYPE", "SpaceSettingsSchema", "Schema", "mutable", "Struct", "showHidden", "Boolean", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "name", "optional", "String", "annotations", "title", "icon", "hue", "edgeReplication", "defineObjectForm", "form", "SPACE_ACTION", "SPACE_PLUGIN", "SpaceAction", "OpenCreateSpace", "TaggedClass", "input", "Void", "output", "Create", "id", "subject", "Array", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "OpenMembers", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "target", "instanceOf", "CancellableInvitationObservable", "GetShareLink", "copyToClipboard", "Lock", "Unlock", "Rename", "caller", "OpenSettings", "Open", "Close", "Migrate", "version", "OpenCreateObject", "Union", "DataType", "Collection", "typename", "navigable", "AddObject", "object", "ReactiveObjectSchema", "hidden", "EchoObjectSchema", "AddRelation", "schema", "source", "Expando", "fields", "Record", "key", "value", "relation", "DeletionData", "objects", "parentCollection", "indices", "Number", "nestedObjectsList", "wasActive", "RemoveObjects", "deletionData", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction", "QueryCollectionForm", "TypenameAnnotationId", "CreateQueryCollection", "QueryCollection"]
|
|
7
|
+
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
|
-
CollectionType,
|
|
3
2
|
SPACE_TYPE,
|
|
4
3
|
SpaceAction
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TW7O2EPP.mjs";
|
|
6
5
|
import {
|
|
7
6
|
SPACE_PLUGIN
|
|
8
7
|
} from "./chunk-PTKYMZWO.mjs";
|
|
9
8
|
|
|
10
9
|
// packages/plugins/plugin-space/src/util.tsx
|
|
11
10
|
import { Rx } from "@effect-rx/rx-react";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
11
|
+
import { pipe } from "effect";
|
|
12
|
+
import { chain, createIntent, LayoutAction } from "@dxos/app-framework";
|
|
13
|
+
import { Obj, Ref, Type } from "@dxos/echo";
|
|
14
|
+
import { EXPANDO_TYPENAME } from "@dxos/echo-schema";
|
|
15
15
|
import { invariant } from "@dxos/invariant";
|
|
16
|
-
import { makeRef } from "@dxos/live-object";
|
|
17
16
|
import { Migrations } from "@dxos/migrations";
|
|
18
|
-
import { ACTION_GROUP_TYPE, ACTION_TYPE } from "@dxos/plugin-graph";
|
|
19
|
-
import { fullyQualifiedId, getSpace,
|
|
17
|
+
import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
|
|
18
|
+
import { fullyQualifiedId, getSpace, SpaceState, isSpace } from "@dxos/react-client/echo";
|
|
20
19
|
import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
|
|
20
|
+
import { DataType } from "@dxos/schema";
|
|
21
21
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
|
|
22
22
|
var SPACES = `${SPACE_PLUGIN}-spaces`;
|
|
23
23
|
var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
|
|
@@ -44,7 +44,7 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
|
|
|
44
44
|
}
|
|
45
45
|
];
|
|
46
46
|
};
|
|
47
|
-
var getCollectionGraphNodePartials = ({
|
|
47
|
+
var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
|
|
48
48
|
return {
|
|
49
49
|
acceptPersistenceClass: /* @__PURE__ */ new Set([
|
|
50
50
|
"echo"
|
|
@@ -54,14 +54,14 @@ var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve })
|
|
|
54
54
|
]),
|
|
55
55
|
role: "branch",
|
|
56
56
|
onRearrangeChildren: (nextOrder) => {
|
|
57
|
-
collection.objects = nextOrder.filter(
|
|
57
|
+
collection.objects = nextOrder.filter(Obj.isObject).map(Ref.make);
|
|
58
58
|
},
|
|
59
59
|
onTransferStart: (child, index) => {
|
|
60
60
|
if (!collection.objects.find((object) => object.target === child.data)) {
|
|
61
61
|
if (typeof index !== "undefined") {
|
|
62
|
-
collection.objects.splice(index, 0,
|
|
62
|
+
collection.objects.splice(index, 0, Ref.make(child.data));
|
|
63
63
|
} else {
|
|
64
|
-
collection.objects.push(
|
|
64
|
+
collection.objects.push(Ref.make(child.data));
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
},
|
|
@@ -75,24 +75,42 @@ var getCollectionGraphNodePartials = ({ navigable, collection, space, resolve })
|
|
|
75
75
|
const newObject = await cloneObject(child.data, resolve, space);
|
|
76
76
|
space.db.add(newObject);
|
|
77
77
|
if (typeof index !== "undefined") {
|
|
78
|
-
collection.objects.splice(index, 0,
|
|
78
|
+
collection.objects.splice(index, 0, Ref.make(newObject));
|
|
79
79
|
} else {
|
|
80
|
-
collection.objects.push(
|
|
80
|
+
collection.objects.push(Ref.make(newObject));
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
};
|
|
84
84
|
};
|
|
85
|
+
var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
|
|
86
|
+
return {
|
|
87
|
+
icon: collection.query.typename && resolve(collection.query.typename)?.icon,
|
|
88
|
+
acceptPersistenceClass: /* @__PURE__ */ new Set([
|
|
89
|
+
"echo"
|
|
90
|
+
]),
|
|
91
|
+
acceptPersistenceKey: /* @__PURE__ */ new Set([
|
|
92
|
+
space.id
|
|
93
|
+
]),
|
|
94
|
+
role: "branch",
|
|
95
|
+
canDrop: (source) => {
|
|
96
|
+
return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === collection.query.typename;
|
|
97
|
+
},
|
|
98
|
+
onTransferStart: (child, index) => {
|
|
99
|
+
},
|
|
100
|
+
onTransferEnd: (child, destination) => {
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
};
|
|
85
104
|
var checkPendingMigration = (space) => {
|
|
86
105
|
return space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === SpaceState.SPACE_READY && !!Migrations.versionProperty && space.properties[Migrations.versionProperty] !== Migrations.targetVersion;
|
|
87
106
|
};
|
|
88
107
|
var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
|
|
89
108
|
const hasPendingMigration = checkPendingMigration(space);
|
|
90
|
-
const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[
|
|
91
|
-
const partials = space.state.get() === SpaceState.SPACE_READY && collection
|
|
109
|
+
const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[Type.getTypename(DataType.Collection)]?.target;
|
|
110
|
+
const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection) ? getCollectionGraphNodePartials({
|
|
92
111
|
collection,
|
|
93
112
|
space,
|
|
94
|
-
resolve
|
|
95
|
-
navigable
|
|
113
|
+
resolve
|
|
96
114
|
}) : {};
|
|
97
115
|
return {
|
|
98
116
|
id: space.id,
|
|
@@ -113,7 +131,10 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
113
131
|
hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
|
|
114
132
|
icon: space.state.get() === SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
|
|
115
133
|
disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
|
|
116
|
-
testId: "spacePlugin.space"
|
|
134
|
+
testId: "spacePlugin.space",
|
|
135
|
+
canDrop: (source) => {
|
|
136
|
+
return Obj.isObject(source.item.data) || isSpace(source.item.data);
|
|
137
|
+
}
|
|
117
138
|
},
|
|
118
139
|
nodes: [
|
|
119
140
|
{
|
|
@@ -253,8 +274,8 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
253
274
|
}
|
|
254
275
|
return actions;
|
|
255
276
|
};
|
|
256
|
-
var createObjectNode = ({ object,
|
|
257
|
-
const type = getTypename(object);
|
|
277
|
+
var createObjectNode = ({ space, object, droppable = true, navigable = false, resolve }) => {
|
|
278
|
+
const type = Obj.getTypename(object);
|
|
258
279
|
if (!type) {
|
|
259
280
|
return void 0;
|
|
260
281
|
}
|
|
@@ -262,11 +283,14 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
|
|
|
262
283
|
if (Object.keys(metadata).length === 0) {
|
|
263
284
|
return void 0;
|
|
264
285
|
}
|
|
265
|
-
const partials = object
|
|
286
|
+
const partials = Obj.instanceOf(DataType.Collection, object) ? getCollectionGraphNodePartials({
|
|
287
|
+
collection: object,
|
|
288
|
+
space,
|
|
289
|
+
resolve
|
|
290
|
+
}) : Obj.instanceOf(DataType.QueryCollection, object) ? getQueryCollectionNodePartials({
|
|
266
291
|
collection: object,
|
|
267
292
|
space,
|
|
268
|
-
resolve
|
|
269
|
-
navigable
|
|
293
|
+
resolve
|
|
270
294
|
}) : metadata.graphProps;
|
|
271
295
|
return {
|
|
272
296
|
id: fullyQualifiedId(object),
|
|
@@ -278,7 +302,7 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
|
|
|
278
302
|
],
|
|
279
303
|
data: object,
|
|
280
304
|
properties: {
|
|
281
|
-
|
|
305
|
+
// TODO(burdon): Use annotation to get the name field.
|
|
282
306
|
label: metadata.label?.(object) || object.name || [
|
|
283
307
|
"object name placeholder",
|
|
284
308
|
{
|
|
@@ -289,15 +313,19 @@ var createObjectNode = ({ object, space, navigable = false, resolve }) => {
|
|
|
289
313
|
icon: metadata.icon ?? "ph--placeholder--regular",
|
|
290
314
|
testId: "spacePlugin.object",
|
|
291
315
|
persistenceClass: "echo",
|
|
292
|
-
persistenceKey: space?.id
|
|
316
|
+
persistenceKey: space?.id,
|
|
317
|
+
canDrop: (source) => {
|
|
318
|
+
return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
|
|
319
|
+
},
|
|
320
|
+
...partials
|
|
293
321
|
}
|
|
294
322
|
};
|
|
295
323
|
};
|
|
296
|
-
var constructObjectActions = ({ object, graph, dispatch, navigable = false }) => {
|
|
324
|
+
var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable = false }) => {
|
|
297
325
|
const space = getSpace(object);
|
|
298
326
|
invariant(space, "Space not found", {
|
|
299
327
|
F: __dxlog_file,
|
|
300
|
-
L:
|
|
328
|
+
L: 398,
|
|
301
329
|
S: void 0,
|
|
302
330
|
A: [
|
|
303
331
|
"space",
|
|
@@ -305,8 +333,10 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
305
333
|
]
|
|
306
334
|
});
|
|
307
335
|
const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
|
|
336
|
+
const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : void 0;
|
|
337
|
+
const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query.typename) : void 0;
|
|
308
338
|
const actions = [
|
|
309
|
-
...object
|
|
339
|
+
...Obj.instanceOf(DataType.Collection, object) ? [
|
|
310
340
|
{
|
|
311
341
|
id: getId(SpaceAction.OpenCreateObject._tag),
|
|
312
342
|
type: ACTION_TYPE,
|
|
@@ -328,6 +358,40 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
328
358
|
}
|
|
329
359
|
}
|
|
330
360
|
] : [],
|
|
361
|
+
...matchingObjectForm ? [
|
|
362
|
+
{
|
|
363
|
+
id: getId(SpaceAction.OpenCreateObject._tag),
|
|
364
|
+
type: ACTION_TYPE,
|
|
365
|
+
data: async () => {
|
|
366
|
+
if (matchingObjectForm.formSchema) {
|
|
367
|
+
await dispatch(createIntent(SpaceAction.OpenCreateObject, {
|
|
368
|
+
target: space,
|
|
369
|
+
typename: queryCollection?.query.typename
|
|
370
|
+
}));
|
|
371
|
+
} else {
|
|
372
|
+
await dispatch(pipe(matchingObjectForm.getIntent({}, {
|
|
373
|
+
space
|
|
374
|
+
}), chain(SpaceAction.AddObject, {
|
|
375
|
+
target: space,
|
|
376
|
+
hidden: true
|
|
377
|
+
}), chain(LayoutAction.Open, {
|
|
378
|
+
part: "main"
|
|
379
|
+
})));
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
properties: {
|
|
383
|
+
label: [
|
|
384
|
+
"create object in smart collection label",
|
|
385
|
+
{
|
|
386
|
+
ns: SPACE_PLUGIN
|
|
387
|
+
}
|
|
388
|
+
],
|
|
389
|
+
icon: "ph--plus--regular",
|
|
390
|
+
disposition: "list-item-primary",
|
|
391
|
+
testId: "spacePlugin.createObject"
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
] : [],
|
|
331
395
|
{
|
|
332
396
|
id: getId(SpaceAction.RenameObject._tag),
|
|
333
397
|
type: ACTION_TYPE,
|
|
@@ -339,16 +403,17 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
339
403
|
},
|
|
340
404
|
properties: {
|
|
341
405
|
label: [
|
|
342
|
-
object
|
|
406
|
+
Obj.instanceOf(DataType.Collection, object) ? "rename collection label" : "rename object label",
|
|
343
407
|
{
|
|
344
408
|
ns: SPACE_PLUGIN
|
|
345
409
|
}
|
|
346
410
|
],
|
|
347
411
|
icon: "ph--pencil-simple-line--regular",
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
412
|
+
disposition: "list-item",
|
|
413
|
+
// TODO(wittjosiah): Not working.
|
|
414
|
+
// keyBinding: {
|
|
415
|
+
// macos: 'shift+F6',
|
|
416
|
+
// },
|
|
352
417
|
testId: "spacePlugin.renameObject"
|
|
353
418
|
}
|
|
354
419
|
},
|
|
@@ -356,7 +421,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
356
421
|
id: getId(SpaceAction.RemoveObjects._tag),
|
|
357
422
|
type: ACTION_TYPE,
|
|
358
423
|
data: async () => {
|
|
359
|
-
const collection = graph.getConnections(fullyQualifiedId(object), "inbound").find(({ data }) => data
|
|
424
|
+
const collection = graph.getConnections(fullyQualifiedId(object), "inbound").find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;
|
|
360
425
|
await dispatch(createIntent(SpaceAction.RemoveObjects, {
|
|
361
426
|
objects: [
|
|
362
427
|
object
|
|
@@ -366,17 +431,19 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
366
431
|
},
|
|
367
432
|
properties: {
|
|
368
433
|
label: [
|
|
369
|
-
object
|
|
434
|
+
Obj.instanceOf(DataType.Collection, object) ? "delete collection label" : "delete object label",
|
|
370
435
|
{
|
|
371
436
|
ns: SPACE_PLUGIN
|
|
372
437
|
}
|
|
373
438
|
],
|
|
374
439
|
icon: "ph--trash--regular",
|
|
375
|
-
|
|
440
|
+
disposition: "list-item",
|
|
441
|
+
// TODO(wittjosiah): This is a browser shortcut.
|
|
442
|
+
// keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
|
|
376
443
|
testId: "spacePlugin.deleteObject"
|
|
377
444
|
}
|
|
378
445
|
},
|
|
379
|
-
...navigable || !(object
|
|
446
|
+
...navigable || !Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object) ? [
|
|
380
447
|
{
|
|
381
448
|
id: getId("copy-link"),
|
|
382
449
|
type: ACTION_TYPE,
|
|
@@ -392,6 +459,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
392
459
|
}
|
|
393
460
|
],
|
|
394
461
|
icon: "ph--link--regular",
|
|
462
|
+
disposition: "list-item",
|
|
395
463
|
testId: "spacePlugin.copyLink"
|
|
396
464
|
}
|
|
397
465
|
}
|
|
@@ -414,6 +482,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
414
482
|
}
|
|
415
483
|
],
|
|
416
484
|
icon: "ph--eye--regular",
|
|
485
|
+
disposition: "heading-list-item",
|
|
417
486
|
testId: "spacePlugin.exposeObject"
|
|
418
487
|
}
|
|
419
488
|
}
|
|
@@ -421,7 +490,7 @@ var constructObjectActions = ({ object, graph, dispatch, navigable = false }) =>
|
|
|
421
490
|
return actions;
|
|
422
491
|
};
|
|
423
492
|
var getNestedObjects = async (object, resolve) => {
|
|
424
|
-
const type = getTypename(object);
|
|
493
|
+
const type = Obj.getTypename(object);
|
|
425
494
|
if (!type) {
|
|
426
495
|
return [];
|
|
427
496
|
}
|
|
@@ -438,13 +507,13 @@ var getNestedObjects = async (object, resolve) => {
|
|
|
438
507
|
];
|
|
439
508
|
};
|
|
440
509
|
var cloneObject = async (object, resolve, newSpace) => {
|
|
441
|
-
const schema = getSchema(object);
|
|
442
|
-
const typename = schema ?
|
|
510
|
+
const schema = Obj.getSchema(object);
|
|
511
|
+
const typename = schema ? Type.getTypename(schema) ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;
|
|
443
512
|
const metadata = resolve(typename);
|
|
444
513
|
const serializer = metadata.serializer;
|
|
445
514
|
invariant(serializer, `No serializer for type: ${typename}`, {
|
|
446
515
|
F: __dxlog_file,
|
|
447
|
-
L:
|
|
516
|
+
L: 570,
|
|
448
517
|
S: void 0,
|
|
449
518
|
A: [
|
|
450
519
|
"serializer",
|
|
@@ -474,4 +543,4 @@ export {
|
|
|
474
543
|
getNestedObjects,
|
|
475
544
|
cloneObject
|
|
476
545
|
};
|
|
477
|
-
//# sourceMappingURL=chunk-
|
|
546
|
+
//# sourceMappingURL=chunk-V24VASAJ.mjs.map
|