@dxos/plugin-space 0.8.2-main.f11618f → 0.8.2-staging.7ac8446
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-ZWNOWRAX.mjs → app-graph-builder-GMFCSOLG.mjs} +7 -61
- package/dist/lib/browser/app-graph-builder-GMFCSOLG.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs → app-graph-serializer-DSF2U3A5.mjs} +8 -8
- package/dist/lib/browser/app-graph-serializer-DSF2U3A5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-DIJ7LMCS.mjs → chunk-5BDV575R.mjs} +8 -20
- package/dist/lib/browser/chunk-5BDV575R.mjs.map +7 -0
- package/dist/lib/browser/{chunk-O7WGQVLQ.mjs → chunk-AYW4IDRT.mjs} +4 -35
- package/dist/lib/browser/chunk-AYW4IDRT.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4226DMDP.mjs → chunk-JZXWPMLA.mjs} +666 -522
- package/dist/lib/browser/chunk-JZXWPMLA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JS6ZV4GV.mjs → chunk-LO5UL6RU.mjs} +141 -60
- package/dist/lib/browser/chunk-LO5UL6RU.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-NRVE4XLL.mjs → identity-created-JR7BNXFH.mjs} +4 -4
- package/dist/lib/browser/identity-created-JR7BNXFH.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +33 -12
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-NP55M7C7.mjs → intent-resolver-RKYILWWQ.mjs} +82 -92
- package/dist/lib/browser/intent-resolver-RKYILWWQ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-XKAUZ3X2.mjs → react-root-6H7NX2M2.mjs} +4 -4
- package/dist/lib/browser/{react-surface-2DW2UDRX.mjs → react-surface-7AGLOVMK.mjs} +47 -121
- package/dist/lib/browser/react-surface-7AGLOVMK.mjs.map +7 -0
- package/dist/lib/browser/{settings-MVT32NP6.mjs → settings-PJPTJUPE.mjs} +4 -4
- package/dist/lib/browser/settings-PJPTJUPE.mjs.map +7 -0
- package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs → spaces-ready-BSSP7HHG.mjs} +5 -5
- package/dist/lib/browser/spaces-ready-BSSP7HHG.mjs.map +7 -0
- package/dist/lib/browser/{state-CYV6QCTN.mjs → state-X7VLCC6E.mjs} +3 -1
- package/dist/lib/browser/state-X7VLCC6E.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +1 -7
- package/dist/lib/node/{app-graph-builder-LLIV422L.cjs → app-graph-builder-DPY7AUZE.cjs} +30 -83
- package/dist/lib/node/app-graph-builder-DPY7AUZE.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs → app-graph-serializer-JELGJUAY.cjs} +20 -20
- package/dist/lib/node/app-graph-serializer-JELGJUAY.cjs.map +7 -0
- package/dist/lib/node/{chunk-ZMQO74LX.cjs → chunk-3GKCNADA.cjs} +655 -513
- package/dist/lib/node/chunk-3GKCNADA.cjs.map +7 -0
- package/dist/lib/node/{chunk-UOCR4G2D.cjs → chunk-PU2EYH4E.cjs} +12 -24
- package/dist/lib/node/chunk-PU2EYH4E.cjs.map +7 -0
- package/dist/lib/node/{chunk-XADZLQAJ.cjs → chunk-TUZWEPGX.cjs} +167 -84
- package/dist/lib/node/chunk-TUZWEPGX.cjs.map +7 -0
- package/dist/lib/node/{chunk-EQ5BPSQ7.cjs → chunk-WDEIFDTX.cjs} +7 -41
- package/dist/lib/node/chunk-WDEIFDTX.cjs.map +7 -0
- package/dist/lib/node/{identity-created-YDTRMOMX.cjs → identity-created-XU4HFV2T.cjs} +6 -6
- package/dist/lib/node/identity-created-XU4HFV2T.cjs.map +7 -0
- package/dist/lib/node/index.cjs +89 -68
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-3J52ARFL.cjs → intent-resolver-VJ7YV74L.cjs} +131 -141
- package/dist/lib/node/intent-resolver-VJ7YV74L.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-root-XUE2J7HT.cjs → react-root-TEL5RW3N.cjs} +8 -8
- package/dist/lib/node/{react-surface-IWSTOZ2E.cjs → react-surface-2H3S5TY5.cjs} +74 -146
- package/dist/lib/node/react-surface-2H3S5TY5.cjs.map +7 -0
- package/dist/lib/node/{settings-JLV7YT6Q.cjs → settings-WVFP2UEP.cjs} +7 -7
- package/dist/lib/node/settings-WVFP2UEP.cjs.map +7 -0
- package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs → spaces-ready-7DNZSUOG.cjs} +12 -12
- package/dist/lib/node/spaces-ready-7DNZSUOG.cjs.map +7 -0
- package/dist/lib/node/{state-JLN7TGRR.cjs → state-5KX6WBJH.cjs} +6 -4
- package/dist/lib/node/state-5KX6WBJH.cjs.map +7 -0
- package/dist/lib/node/types/index.cjs +12 -18
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/{app-graph-builder-HSGLCS76.mjs → app-graph-builder-42IGWRPL.mjs} +7 -61
- package/dist/lib/node-esm/app-graph-builder-42IGWRPL.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs → app-graph-serializer-FXONFKOE.mjs} +8 -8
- package/dist/lib/node-esm/app-graph-serializer-FXONFKOE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-OLISVDCF.mjs → chunk-3ZOUV4DF.mjs} +8 -20
- package/dist/lib/node-esm/chunk-3ZOUV4DF.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PQI4D4SH.mjs → chunk-BEWBZ4Q4.mjs} +666 -522
- package/dist/lib/node-esm/chunk-BEWBZ4Q4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-FJPCLEKN.mjs → chunk-FC4UHDPL.mjs} +4 -35
- package/dist/lib/node-esm/chunk-FC4UHDPL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ABTVMAG5.mjs → chunk-ZGLK25WQ.mjs} +141 -60
- package/dist/lib/node-esm/chunk-ZGLK25WQ.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs → identity-created-WJKAS2PV.mjs} +4 -4
- package/dist/lib/node-esm/identity-created-WJKAS2PV.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +33 -12
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-MXQIFIRC.mjs → intent-resolver-ZFNSA4CM.mjs} +82 -92
- package/dist/lib/node-esm/intent-resolver-ZFNSA4CM.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs → react-root-PRBJMWLQ.mjs} +4 -4
- package/dist/lib/node-esm/{react-surface-JCHDAPGM.mjs → react-surface-RCZG2PNF.mjs} +47 -121
- package/dist/lib/node-esm/react-surface-RCZG2PNF.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-AILIMHTE.mjs → settings-FJZPC2TV.mjs} +4 -4
- package/dist/lib/node-esm/settings-FJZPC2TV.mjs.map +7 -0
- package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs → spaces-ready-7X5PGB2V.mjs} +5 -5
- package/dist/lib/node-esm/spaces-ready-7X5PGB2V.mjs.map +7 -0
- package/dist/lib/node-esm/{state-YZPY5T5A.mjs → state-Z6E2YTNC.mjs} +3 -1
- package/dist/lib/node-esm/state-Z6E2YTNC.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +1 -7
- 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/index.d.ts +0 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -2
- 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/state.d.ts.map +1 -1
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -2
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/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/ObjectSettingsContainer/AdvancedObjectSettings.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettingsContainer/BaseObjectSettings.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettingsContainer/ForeignKeys.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettingsContainer/ObjectSettingsContainer.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettingsContainer/index.d.ts.map +1 -0
- package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +2 -2
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
- package/dist/types/src/components/ShareSpaceButton.d.ts +9 -0
- package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -0
- package/dist/types/src/components/ShareSpaceButton.stories.d.ts +10 -0
- package/dist/types/src/components/ShareSpaceButton.stories.d.ts.map +1 -0
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts +7 -0
- package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.d.ts.map +1 -0
- package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts +7 -0
- package/dist/types/src/components/SpaceSettings/SpacePropertiesForm.stories.d.ts.map +1 -0
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +2 -0
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/index.d.ts +1 -0
- package/dist/types/src/components/SpaceSettings/index.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/Space.d.ts +13 -0
- package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -0
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +8 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts +9 -0
- package/dist/types/src/components/SyncStatus/SyncStatusDetail.stories.d.ts.map +1 -0
- package/dist/types/src/components/SyncStatus/sync-state.d.ts +18 -0
- package/dist/types/src/components/SyncStatus/sync-state.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +2 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +0 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +9 -45
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/thread.d.ts +17 -241
- package/dist/types/src/types/thread.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +14 -40
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +5 -27
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +43 -44
- package/src/SpacePlugin.tsx +13 -3
- package/src/capabilities/app-graph-builder.ts +5 -44
- package/src/capabilities/app-graph-serializer.ts +4 -4
- package/src/capabilities/identity-created.ts +2 -2
- package/src/capabilities/intent-resolver.ts +84 -87
- package/src/capabilities/react-surface.tsx +37 -106
- package/src/capabilities/settings.ts +2 -2
- package/src/capabilities/spaces-ready.ts +2 -2
- package/src/capabilities/state.ts +2 -0
- package/src/components/CollectionMain.tsx +5 -2
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +2 -2
- package/src/components/CreateDialog/CreateObjectDialog.tsx +3 -3
- package/src/components/CreateDialog/CreateObjectPanel.tsx +25 -3
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +0 -4
- package/src/components/MembersContainer.tsx +54 -80
- package/src/components/PopoverAddSpace.tsx +3 -9
- package/src/components/PopoverRenameObject.tsx +8 -14
- package/src/components/PopoverRenameSpace.tsx +0 -8
- package/src/components/ShareSpaceButton.stories.tsx +27 -0
- package/src/components/ShareSpaceButton.tsx +32 -0
- package/src/components/SpacePluginSettings.tsx +2 -27
- package/src/components/SpacePresence.tsx +25 -29
- package/src/components/SpaceSettings/{SpaceSettingsContainer.stories.tsx → SpacePropertiesForm.stories.tsx} +6 -6
- package/src/components/SpaceSettings/SpacePropertiesForm.tsx +136 -0
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +39 -157
- package/src/components/SpaceSettings/index.ts +1 -0
- package/src/components/SyncStatus/InlineSyncStatus.tsx +7 -5
- package/src/components/SyncStatus/Space.tsx +133 -0
- package/src/components/SyncStatus/SyncStatus.tsx +69 -6
- package/src/components/SyncStatus/SyncStatusDetail.stories.tsx +89 -0
- package/src/components/SyncStatus/sync-state.ts +101 -0
- package/src/components/index.ts +2 -2
- package/src/hooks/index.ts +0 -1
- package/src/translations.ts +5 -18
- package/src/types/types.ts +8 -30
- package/src/util.tsx +103 -43
- package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-UUJH7JRN.mjs.map +0 -7
- package/dist/lib/browser/chunk-4226DMDP.mjs.map +0 -7
- package/dist/lib/browser/chunk-DIJ7LMCS.mjs.map +0 -7
- package/dist/lib/browser/chunk-JS6ZV4GV.mjs.map +0 -7
- package/dist/lib/browser/chunk-O7WGQVLQ.mjs.map +0 -7
- package/dist/lib/browser/identity-created-NRVE4XLL.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-NP55M7C7.mjs.map +0 -7
- package/dist/lib/browser/react-surface-2DW2UDRX.mjs.map +0 -7
- package/dist/lib/browser/settings-MVT32NP6.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-ERNSICUW.mjs.map +0 -7
- package/dist/lib/browser/state-CYV6QCTN.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-LLIV422L.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-M6Z2OPA4.cjs.map +0 -7
- package/dist/lib/node/chunk-EQ5BPSQ7.cjs.map +0 -7
- package/dist/lib/node/chunk-UOCR4G2D.cjs.map +0 -7
- package/dist/lib/node/chunk-XADZLQAJ.cjs.map +0 -7
- package/dist/lib/node/chunk-ZMQO74LX.cjs.map +0 -7
- package/dist/lib/node/identity-created-YDTRMOMX.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-3J52ARFL.cjs.map +0 -7
- package/dist/lib/node/react-surface-IWSTOZ2E.cjs.map +0 -7
- package/dist/lib/node/settings-JLV7YT6Q.cjs.map +0 -7
- package/dist/lib/node/spaces-ready-6EBR4SM4.cjs.map +0 -7
- package/dist/lib/node/state-JLN7TGRR.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-J3B4WSXU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ABTVMAG5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FJPCLEKN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OLISVDCF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PQI4D4SH.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-EC6SVYB5.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-MXQIFIRC.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-JCHDAPGM.mjs.map +0 -7
- package/dist/lib/node-esm/settings-AILIMHTE.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-5PXESKHX.mjs.map +0 -7
- package/dist/lib/node-esm/state-YZPY5T5A.mjs.map +0 -7
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
- package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/SchemaContainer.d.ts +0 -13
- package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +0 -7
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +0 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +0 -14
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +0 -1
- package/src/components/SchemaContainer.tsx +0 -59
- package/src/hooks/useInputSurfaceLookup.tsx +0 -31
- /package/dist/lib/browser/{react-root-XKAUZ3X2.mjs.map → react-root-6H7NX2M2.mjs.map} +0 -0
- /package/dist/lib/node/{react-root-XUE2J7HT.cjs.map → react-root-TEL5RW3N.cjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs.map → react-root-PRBJMWLQ.mjs.map} +0 -0
- /package/dist/types/src/components/{ObjectSettings → ObjectSettingsContainer}/AdvancedObjectSettings.d.ts +0 -0
- /package/dist/types/src/components/{ObjectSettings → ObjectSettingsContainer}/BaseObjectSettings.d.ts +0 -0
- /package/dist/types/src/components/{ObjectSettings → ObjectSettingsContainer}/ForeignKeys.d.ts +0 -0
- /package/dist/types/src/components/{ObjectSettings → ObjectSettingsContainer}/ObjectSettingsContainer.d.ts +0 -0
- /package/dist/types/src/components/{ObjectSettings → ObjectSettingsContainer}/index.d.ts +0 -0
- /package/src/components/{ObjectSettings → ObjectSettingsContainer}/AdvancedObjectSettings.tsx +0 -0
- /package/src/components/{ObjectSettings → ObjectSettingsContainer}/BaseObjectSettings.tsx +0 -0
- /package/src/components/{ObjectSettings → ObjectSettingsContainer}/ForeignKeys.tsx +0 -0
- /package/src/components/{ObjectSettings → ObjectSettingsContainer}/ObjectSettingsContainer.tsx +0 -0
- /package/src/components/{ObjectSettings → ObjectSettingsContainer}/index.ts +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CollectionType,
|
|
3
|
-
SPACE_TYPE,
|
|
4
3
|
SpaceAction
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AYW4IDRT.mjs";
|
|
6
5
|
import {
|
|
7
6
|
SPACE_PLUGIN
|
|
8
7
|
} from "./chunk-PTKYMZWO.mjs";
|
|
@@ -10,15 +9,15 @@ import {
|
|
|
10
9
|
// packages/plugins/plugin-space/src/util.tsx
|
|
11
10
|
import { createIntent, LayoutAction } from "@dxos/app-framework";
|
|
12
11
|
import { EXPANDO_TYPENAME, getTypeAnnotation, getTypename } from "@dxos/echo-schema";
|
|
13
|
-
import { getSchema } from "@dxos/echo-schema";
|
|
14
12
|
import { invariant } from "@dxos/invariant";
|
|
15
|
-
import {
|
|
13
|
+
import { getSchema, isReactiveObject, makeRef } from "@dxos/live-object";
|
|
16
14
|
import { Migrations } from "@dxos/migrations";
|
|
15
|
+
import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/plugin-deck/types";
|
|
17
16
|
import { ACTION_GROUP_TYPE, ACTION_TYPE, cleanup, getGraph, memoize } from "@dxos/plugin-graph";
|
|
18
17
|
import { Filter, fullyQualifiedId, getSpace, isEchoObject, isSpace, SpaceState } from "@dxos/react-client/echo";
|
|
19
|
-
import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
|
|
20
18
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
|
|
21
19
|
var SPACES = `${SPACE_PLUGIN}-spaces`;
|
|
20
|
+
var SPACE_TYPE = "dxos.org/type/Space";
|
|
22
21
|
var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
|
|
23
22
|
var SHARED = "shared-spaces";
|
|
24
23
|
var EMPTY_ARRAY = [];
|
|
@@ -118,9 +117,24 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
118
117
|
},
|
|
119
118
|
nodes: [
|
|
120
119
|
{
|
|
121
|
-
id:
|
|
120
|
+
id: `${space.id}${ATTENDABLE_PATH_SEPARATOR}members`,
|
|
121
|
+
type: `${SPACE_PLUGIN}/members`,
|
|
122
|
+
data: space,
|
|
123
|
+
properties: {
|
|
124
|
+
label: [
|
|
125
|
+
"members panel label",
|
|
126
|
+
{
|
|
127
|
+
ns: SPACE_PLUGIN
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
icon: "ph--users--regular",
|
|
131
|
+
disposition: "hidden"
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: `${space.id}${ATTENDABLE_PATH_SEPARATOR}settings`,
|
|
122
136
|
type: `${SPACE_PLUGIN}/settings`,
|
|
123
|
-
data:
|
|
137
|
+
data: space,
|
|
124
138
|
properties: {
|
|
125
139
|
label: [
|
|
126
140
|
"settings panel label",
|
|
@@ -128,55 +142,9 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
128
142
|
ns: SPACE_PLUGIN
|
|
129
143
|
}
|
|
130
144
|
],
|
|
131
|
-
icon: "ph--
|
|
132
|
-
disposition: "
|
|
133
|
-
}
|
|
134
|
-
nodes: [
|
|
135
|
-
{
|
|
136
|
-
id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
137
|
-
type: `${SPACE_PLUGIN}/properties`,
|
|
138
|
-
data: `${SPACE_PLUGIN}/properties`,
|
|
139
|
-
properties: {
|
|
140
|
-
label: [
|
|
141
|
-
"space settings properties label",
|
|
142
|
-
{
|
|
143
|
-
ns: SPACE_PLUGIN
|
|
144
|
-
}
|
|
145
|
-
],
|
|
146
|
-
icon: "ph--sliders--regular",
|
|
147
|
-
position: "hoist"
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
152
|
-
type: `${SPACE_PLUGIN}/members`,
|
|
153
|
-
data: `${SPACE_PLUGIN}/members`,
|
|
154
|
-
properties: {
|
|
155
|
-
label: [
|
|
156
|
-
"members panel label",
|
|
157
|
-
{
|
|
158
|
-
ns: SPACE_PLUGIN
|
|
159
|
-
}
|
|
160
|
-
],
|
|
161
|
-
icon: "ph--users--regular",
|
|
162
|
-
position: "hoist"
|
|
163
|
-
}
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
167
|
-
type: `${SPACE_PLUGIN}/schema`,
|
|
168
|
-
data: `${SPACE_PLUGIN}/schema`,
|
|
169
|
-
properties: {
|
|
170
|
-
label: [
|
|
171
|
-
"space settings schema label",
|
|
172
|
-
{
|
|
173
|
-
ns: SPACE_PLUGIN
|
|
174
|
-
}
|
|
175
|
-
],
|
|
176
|
-
icon: "ph--shapes--regular"
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
]
|
|
145
|
+
icon: "ph--gear--regular",
|
|
146
|
+
disposition: "hidden"
|
|
147
|
+
}
|
|
180
148
|
}
|
|
181
149
|
]
|
|
182
150
|
};
|
|
@@ -209,6 +177,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
209
177
|
});
|
|
210
178
|
}
|
|
211
179
|
if (state === SpaceState.SPACE_READY && !hasPendingMigration) {
|
|
180
|
+
const locked = space.properties[COMPOSER_SPACE_LOCK];
|
|
212
181
|
actions.push({
|
|
213
182
|
id: getId(SpaceAction.OpenCreateObject._tag),
|
|
214
183
|
type: ACTION_TYPE,
|
|
@@ -228,6 +197,58 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
228
197
|
disposition: "item",
|
|
229
198
|
testId: "spacePlugin.createObject"
|
|
230
199
|
}
|
|
200
|
+
}, {
|
|
201
|
+
id: getId(SpaceAction.Share._tag),
|
|
202
|
+
type: ACTION_TYPE,
|
|
203
|
+
data: async () => {
|
|
204
|
+
if (locked) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
await dispatch(createIntent(SpaceAction.Share, {
|
|
208
|
+
space
|
|
209
|
+
}));
|
|
210
|
+
},
|
|
211
|
+
properties: {
|
|
212
|
+
label: [
|
|
213
|
+
"share space label",
|
|
214
|
+
{
|
|
215
|
+
ns: SPACE_PLUGIN
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
icon: "ph--users--regular",
|
|
219
|
+
disabled: locked,
|
|
220
|
+
disposition: "list-item-primary",
|
|
221
|
+
iconOnly: false,
|
|
222
|
+
variant: "default",
|
|
223
|
+
testId: "spacePlugin.shareSpace",
|
|
224
|
+
keyBinding: {
|
|
225
|
+
macos: "meta+.",
|
|
226
|
+
windows: "alt+."
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}, {
|
|
230
|
+
id: locked ? getId(SpaceAction.Unlock._tag) : getId(SpaceAction.Lock._tag),
|
|
231
|
+
type: ACTION_TYPE,
|
|
232
|
+
data: async () => {
|
|
233
|
+
if (locked) {
|
|
234
|
+
await dispatch(createIntent(SpaceAction.Unlock, {
|
|
235
|
+
space
|
|
236
|
+
}));
|
|
237
|
+
} else {
|
|
238
|
+
await dispatch(createIntent(SpaceAction.Lock, {
|
|
239
|
+
space
|
|
240
|
+
}));
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
properties: {
|
|
244
|
+
label: [
|
|
245
|
+
locked ? "unlock space label" : "lock space label",
|
|
246
|
+
{
|
|
247
|
+
ns: SPACE_PLUGIN
|
|
248
|
+
}
|
|
249
|
+
],
|
|
250
|
+
icon: locked ? "ph--lock-simple-open--regular" : "ph--lock-simple--regular"
|
|
251
|
+
}
|
|
231
252
|
}, {
|
|
232
253
|
id: getId(SpaceAction.Rename._tag),
|
|
233
254
|
type: ACTION_TYPE,
|
|
@@ -250,6 +271,65 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
250
271
|
windows: "shift+F6"
|
|
251
272
|
}
|
|
252
273
|
}
|
|
274
|
+
}, {
|
|
275
|
+
id: getId(SpaceAction.OpenSettings._tag),
|
|
276
|
+
type: ACTION_TYPE,
|
|
277
|
+
data: async () => {
|
|
278
|
+
await dispatch(createIntent(SpaceAction.OpenSettings, {
|
|
279
|
+
space
|
|
280
|
+
}));
|
|
281
|
+
},
|
|
282
|
+
properties: {
|
|
283
|
+
label: [
|
|
284
|
+
"open space settings label",
|
|
285
|
+
{
|
|
286
|
+
ns: SPACE_PLUGIN
|
|
287
|
+
}
|
|
288
|
+
],
|
|
289
|
+
icon: "ph--gear--regular"
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
if (state !== SpaceState.SPACE_INACTIVE && !hasPendingMigration) {
|
|
294
|
+
actions.push({
|
|
295
|
+
id: getId(SpaceAction.Close._tag),
|
|
296
|
+
type: ACTION_TYPE,
|
|
297
|
+
data: async () => {
|
|
298
|
+
await dispatch(createIntent(SpaceAction.Close, {
|
|
299
|
+
space
|
|
300
|
+
}));
|
|
301
|
+
},
|
|
302
|
+
properties: {
|
|
303
|
+
label: [
|
|
304
|
+
"close space label",
|
|
305
|
+
{
|
|
306
|
+
ns: SPACE_PLUGIN
|
|
307
|
+
}
|
|
308
|
+
],
|
|
309
|
+
icon: "ph--x--regular",
|
|
310
|
+
disabled: personal
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
if (state === SpaceState.SPACE_INACTIVE) {
|
|
315
|
+
actions.push({
|
|
316
|
+
id: getId(SpaceAction.Open._tag),
|
|
317
|
+
type: ACTION_TYPE,
|
|
318
|
+
data: async () => {
|
|
319
|
+
await dispatch(createIntent(SpaceAction.Open, {
|
|
320
|
+
space
|
|
321
|
+
}));
|
|
322
|
+
},
|
|
323
|
+
properties: {
|
|
324
|
+
label: [
|
|
325
|
+
"open space label",
|
|
326
|
+
{
|
|
327
|
+
ns: SPACE_PLUGIN
|
|
328
|
+
}
|
|
329
|
+
],
|
|
330
|
+
icon: "ph--clock-counter-clockwise--regular",
|
|
331
|
+
disposition: "list-item-primary"
|
|
332
|
+
}
|
|
253
333
|
});
|
|
254
334
|
}
|
|
255
335
|
return actions;
|
|
@@ -299,7 +379,7 @@ var constructObjectActions = ({ node, dispatch, navigable = false }) => {
|
|
|
299
379
|
const space = getSpace(object);
|
|
300
380
|
invariant(space, "Space not found", {
|
|
301
381
|
F: __dxlog_file,
|
|
302
|
-
L:
|
|
382
|
+
L: 444,
|
|
303
383
|
S: void 0,
|
|
304
384
|
A: [
|
|
305
385
|
"space",
|
|
@@ -428,7 +508,7 @@ var getActiveSpace = (graph, active) => {
|
|
|
428
508
|
return;
|
|
429
509
|
}
|
|
430
510
|
const node = graph.findNode(active);
|
|
431
|
-
if (!node || !
|
|
511
|
+
if (!node || !isReactiveObject(node.data)) {
|
|
432
512
|
return;
|
|
433
513
|
}
|
|
434
514
|
return getSpace(node.data);
|
|
@@ -457,7 +537,7 @@ var cloneObject = async (object, resolve, newSpace) => {
|
|
|
457
537
|
const serializer = metadata.serializer;
|
|
458
538
|
invariant(serializer, `No serializer for type: ${typename}`, {
|
|
459
539
|
F: __dxlog_file,
|
|
460
|
-
L:
|
|
540
|
+
L: 588,
|
|
461
541
|
S: void 0,
|
|
462
542
|
A: [
|
|
463
543
|
"serializer",
|
|
@@ -476,6 +556,7 @@ var cloneObject = async (object, resolve, newSpace) => {
|
|
|
476
556
|
|
|
477
557
|
export {
|
|
478
558
|
SPACES,
|
|
559
|
+
SPACE_TYPE,
|
|
479
560
|
COMPOSER_SPACE_LOCK,
|
|
480
561
|
SHARED,
|
|
481
562
|
memoizeQuery,
|
|
@@ -488,4 +569,4 @@ export {
|
|
|
488
569
|
getNestedObjects,
|
|
489
570
|
cloneObject
|
|
490
571
|
};
|
|
491
|
-
//# sourceMappingURL=chunk-
|
|
572
|
+
//# sourceMappingURL=chunk-LO5UL6RU.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, type PromiseIntentDispatcher, LayoutAction } from '@dxos/app-framework';\nimport { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type Expando } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { getSchema, isReactiveObject, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n cleanup,\n getGraph,\n memoize,\n type ActionData,\n type Graph,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport {\n Filter,\n fullyQualifiedId,\n getSpace,\n isEchoObject,\n isSpace,\n SpaceState,\n type Echo,\n type FilterSource,\n type Query,\n type QueryOptions,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const SPACE_TYPE = 'dxos.org/type/Space';\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\nconst EMPTY_ARRAY: never[] = [];\n\n/**\n *\n * @param spaceOrEcho\n * @param filter\n * @param options\n * @returns\n */\nexport const memoizeQuery = <T extends ReactiveEchoObject<any>>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n): T[] => {\n const key = JSON.stringify({\n space: isSpace(spaceOrEcho) ? spaceOrEcho.id : undefined,\n filter: Filter.from(filter).toProto(),\n });\n\n const query = memoize(\n () =>\n isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined),\n key,\n );\n const unsubscribe = memoize(() => query?.subscribe(), key);\n cleanup(() => unsubscribe?.());\n\n return query?.objects ?? EMPTY_ARRAY;\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(isEchoObject).map(makeRef);\n },\n onTransferStart: (child: Node<ReactiveEchoObject<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, makeRef(child.data));\n } else {\n collection.objects.push(makeRef(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<ReactiveEchoObject<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<ReactiveEchoObject<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, makeRef(newObject));\n } else {\n collection.objects.push(makeRef(newObject));\n }\n },\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n },\n nodes: [\n {\n id: `${space.id}${ATTENDABLE_PATH_SEPARATOR}members`,\n type: `${SPACE_PLUGIN}/members`,\n data: space,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n disposition: 'hidden',\n },\n },\n {\n id: `${space.id}${ATTENDABLE_PATH_SEPARATOR}settings`,\n type: `${SPACE_PLUGIN}/settings`,\n data: space,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--gear--regular',\n disposition: 'hidden',\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 const locked = space.properties[COMPOSER_SPACE_LOCK];\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.Share._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (locked) {\n return;\n }\n await dispatch(createIntent(SpaceAction.Share, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n disabled: locked,\n disposition: 'list-item-primary',\n iconOnly: false,\n variant: 'default',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: locked ? getId(SpaceAction.Unlock._tag) : getId(SpaceAction.Lock._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (locked) {\n await dispatch(createIntent(SpaceAction.Unlock, { space }));\n } else {\n await dispatch(createIntent(SpaceAction.Lock, { space }));\n }\n },\n properties: {\n label: [locked ? 'unlock space label' : 'lock space label', { ns: SPACE_PLUGIN }],\n icon: locked ? 'ph--lock-simple-open--regular' : 'ph--lock-simple--regular',\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 id: getId(SpaceAction.OpenSettings._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--gear--regular',\n },\n },\n );\n }\n\n // TODO(wittjosiah): Consider moving close space into the space settings dialog.\n if (state !== SpaceState.SPACE_INACTIVE && !hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Close._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Close, { space }));\n },\n properties: {\n label: ['close space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--x--regular',\n disabled: personal,\n },\n });\n }\n\n if (state === SpaceState.SPACE_INACTIVE) {\n actions.push({\n id: getId(SpaceAction.Open._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Open, { space }));\n },\n properties: {\n label: ['open space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--clock-counter-clockwise--regular',\n disposition: 'list-item-primary',\n },\n });\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n object,\n space,\n navigable = false,\n resolve,\n}: {\n object: ReactiveEchoObject<any>;\n space: Space;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n label: metadata.label?.(object) ||\n object.name || ['object name placeholder', { ns: type, default: 'New object' }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n },\n };\n};\n\nexport const constructObjectActions = ({\n node,\n dispatch,\n navigable = false,\n}: {\n node: Node<ReactiveEchoObject<any>>;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const object = node.data;\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params.caller }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Doesn't work.\n // keyBinding: 'shift+F6',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const graph = getGraph(node);\n const collection = graph\n .nodes(node, { relation: 'inbound' })\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated\n */\nexport const getActiveSpace = (graph: Graph, active?: string) => {\n if (!active) {\n return;\n }\n\n const node = graph.findNode(active);\n if (!node || !isReactiveObject(node.data)) {\n return;\n }\n\n return getSpace(node.data);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: ReactiveEchoObject<any>,\n resolve: (typename: string) => Record<string, any>,\n): Promise<ReactiveEchoObject<any>[]> => {\n const type = 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: ReactiveEchoObject<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: Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Expando> => {\n const schema = getSchema(object);\n const typename = schema ? getTypeAnnotation(schema)?.typename ?? 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": ["createIntent", "LayoutAction", "EXPANDO_TYPENAME", "getTypeAnnotation", "getTypename", "invariant", "getSchema", "isReactiveObject", "makeRef", "Migrations", "ATTENDABLE_PATH_SEPARATOR", "ACTION_GROUP_TYPE", "ACTION_TYPE", "cleanup", "getGraph", "memoize", "Filter", "fullyQualifiedId", "getSpace", "isEchoObject", "isSpace", "SpaceState", "SPACES", "SPACE_PLUGIN", "SPACE_TYPE", "COMPOSER_SPACE_LOCK", "SHARED", "EMPTY_ARRAY", "memoizeQuery", "spaceOrEcho", "filter", "options", "key", "JSON", "stringify", "space", "isSpace", "id", "undefined", "Filter", "from", "toProto", "query", "memoize", "db", "unsubscribe", "subscribe", "cleanup", "objects", "getSpaceDisplayName", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "navigable", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "isEchoObject", "map", "makeRef", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "hasPendingMigration", "CollectionType", "typename", "partials", "type", "cacheable", "label", "description", "hue", "icon", "disabled", "testId", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "locked", "OpenCreateObject", "ACTION_TYPE", "Share", "iconOnly", "variant", "keyBinding", "macos", "windows", "Unlock", "Lock", "Rename", "params", "caller", "OpenSettings", "SPACE_INACTIVE", "Close", "Open", "createObjectNode", "getTypename", "metadata", "Object", "keys", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "node", "getSpace", "invariant", "RenameObject", "RemoveObjects", "graph", "getGraph", "relation", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "LayoutAction", "Expose", "part", "subject", "getActiveSpace", "active", "findNode", "isReactiveObject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "getTypeAnnotation", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
|
|
7
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CollectionType
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AYW4IDRT.mjs";
|
|
4
4
|
import "./chunk-PTKYMZWO.mjs";
|
|
5
5
|
|
|
6
6
|
// packages/plugins/plugin-space/src/capabilities/identity-created.ts
|
|
7
7
|
import { contributes, Capabilities } from "@dxos/app-framework";
|
|
8
|
-
import {
|
|
8
|
+
import { create, makeRef } from "@dxos/live-object";
|
|
9
9
|
import { Migrations } from "@dxos/migrations";
|
|
10
10
|
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
11
11
|
var identity_created_default = async (context) => {
|
|
@@ -13,7 +13,7 @@ var identity_created_default = async (context) => {
|
|
|
13
13
|
await client.spaces.waitUntilReady();
|
|
14
14
|
const defaultSpace = client.spaces.default;
|
|
15
15
|
await defaultSpace.waitUntilReady();
|
|
16
|
-
defaultSpace.properties[CollectionType.typename] = makeRef(
|
|
16
|
+
defaultSpace.properties[CollectionType.typename] = makeRef(create(CollectionType, {
|
|
17
17
|
objects: [],
|
|
18
18
|
views: {}
|
|
19
19
|
}));
|
|
@@ -25,4 +25,4 @@ var identity_created_default = async (context) => {
|
|
|
25
25
|
export {
|
|
26
26
|
identity_created_default as default
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=identity-created-
|
|
28
|
+
//# sourceMappingURL=identity-created-JR7BNXFH.mjs.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 PluginsContext, Capabilities } from '@dxos/app-framework';\nimport { create, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\n\nimport { CollectionType } from '../types';\n\nexport default async (context: PluginsContext) => {\n const client = context.requestCapability(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[CollectionType.typename] = makeRef(create(CollectionType, { objects: [], views: {} }));\n if (Migrations.versionProperty) {\n defaultSpace.properties[Migrations.versionProperty] = Migrations.targetVersion;\n }\n\n return contributes(Capabilities.Null, null);\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,aAAkCC,oBAAoB;AAC/D,SAASC,QAAQC,eAAe;AAChC,SAASC,kBAAkB;AAC3B,SAASC,0BAA0B;AAInC,IAAA,2BAAe,OAAOC,YAAAA;AACpB,QAAMC,SAASD,QAAQE,kBAAkBC,mBAAmBC,MAAM;AAClE,QAAMH,OAAOI,OAAOC,eAAc;AAElC,QAAMC,eAAeN,OAAOI,OAAOG;AACnC,QAAMD,aAAaD,eAAc;AAGjCC,eAAaE,WAAWC,eAAeC,QAAQ,IAAIC,QAAQC,OAAOH,gBAAgB;IAAEI,SAAS,CAAA;IAAIC,OAAO,CAAC;EAAE,CAAA,CAAA;AAC3G,MAAIC,WAAWC,iBAAiB;AAC9BV,iBAAaE,WAAWO,WAAWC,eAAe,IAAID,WAAWE;EACnE;AAEA,SAAOC,YAAYC,aAAaC,MAAM,IAAA;AACxC;",
|
|
6
|
+
"names": ["contributes", "Capabilities", "create", "makeRef", "Migrations", "ClientCapabilities", "context", "client", "requestCapability", "ClientCapabilities", "Client", "spaces", "waitUntilReady", "defaultSpace", "default", "properties", "CollectionType", "typename", "makeRef", "create", "objects", "views", "Migrations", "versionProperty", "targetVersion", "contributes", "Capabilities", "Null"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
translations_default
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5BDV575R.mjs";
|
|
4
4
|
import {
|
|
5
5
|
AppGraphBuilder,
|
|
6
6
|
AppGraphSerializer,
|
|
@@ -29,21 +29,24 @@ import {
|
|
|
29
29
|
PopoverRenameSpace,
|
|
30
30
|
ReactRoot,
|
|
31
31
|
ReactSurface,
|
|
32
|
+
SPACE_SETTINGS_DIALOG,
|
|
32
33
|
Schema,
|
|
33
|
-
|
|
34
|
+
ShareSpaceButton,
|
|
35
|
+
ShareSpaceButtonImpl,
|
|
34
36
|
SmallPresence,
|
|
35
37
|
SmallPresenceLive,
|
|
36
38
|
SpacePluginSettings,
|
|
37
39
|
SpacePresence,
|
|
40
|
+
SpacePropertiesForm,
|
|
38
41
|
SpaceSettings,
|
|
39
42
|
SpaceSettingsContainer,
|
|
40
43
|
SpaceState,
|
|
41
44
|
SpacesReady,
|
|
42
45
|
SyncStatus,
|
|
46
|
+
SyncStatusDetail,
|
|
43
47
|
SyncStatusIndicator,
|
|
44
|
-
Tools
|
|
45
|
-
|
|
46
|
-
} from "./chunk-4226DMDP.mjs";
|
|
48
|
+
Tools
|
|
49
|
+
} from "./chunk-JZXWPMLA.mjs";
|
|
47
50
|
import {
|
|
48
51
|
SpaceCapabilities,
|
|
49
52
|
ThreadCapabilities
|
|
@@ -52,6 +55,7 @@ import {
|
|
|
52
55
|
COMPOSER_SPACE_LOCK,
|
|
53
56
|
SHARED,
|
|
54
57
|
SPACES,
|
|
58
|
+
SPACE_TYPE,
|
|
55
59
|
cloneObject,
|
|
56
60
|
constructObjectActions,
|
|
57
61
|
constructSpaceActions,
|
|
@@ -61,12 +65,12 @@ import {
|
|
|
61
65
|
getNestedObjects,
|
|
62
66
|
getSpaceDisplayName,
|
|
63
67
|
memoizeQuery
|
|
64
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-LO5UL6RU.mjs";
|
|
65
69
|
import {
|
|
66
70
|
CollectionAction,
|
|
67
71
|
CollectionType,
|
|
68
72
|
defineObjectForm
|
|
69
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-AYW4IDRT.mjs";
|
|
70
74
|
import {
|
|
71
75
|
SPACE_PLUGIN,
|
|
72
76
|
meta
|
|
@@ -92,7 +96,7 @@ import { RefArray } from "@dxos/live-object";
|
|
|
92
96
|
import { AttentionEvents } from "@dxos/plugin-attention";
|
|
93
97
|
import { ClientEvents } from "@dxos/plugin-client";
|
|
94
98
|
import { osTranslations } from "@dxos/shell/react";
|
|
95
|
-
var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "spaceInvitationCode", observability =
|
|
99
|
+
var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "spaceInvitationCode", observability = true } = {}) => {
|
|
96
100
|
const createInvitationUrl = (invitationCode) => {
|
|
97
101
|
const baseUrl = new URL(invitationUrl);
|
|
98
102
|
baseUrl.searchParams.set(invitationParam, invitationCode);
|
|
@@ -149,6 +153,20 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
|
|
|
149
153
|
getIntent: (props) => createIntent(CollectionAction.Create, props)
|
|
150
154
|
}))
|
|
151
155
|
}),
|
|
156
|
+
defineModule({
|
|
157
|
+
id: `${meta.id}/module/space-settings`,
|
|
158
|
+
activatesOn: SpaceEvents.SetupSettingsPanel,
|
|
159
|
+
activate: () => contributes(SpaceCapabilities.SettingsSection, {
|
|
160
|
+
id: "properties",
|
|
161
|
+
label: [
|
|
162
|
+
"space settings properties label",
|
|
163
|
+
{
|
|
164
|
+
ns: SPACE_PLUGIN
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
position: "hoist"
|
|
168
|
+
})
|
|
169
|
+
}),
|
|
152
170
|
defineModule({
|
|
153
171
|
id: `${meta.id}/module/schema`,
|
|
154
172
|
activatesOn: ClientEvents.ClientReady,
|
|
@@ -178,7 +196,6 @@ var SpacePlugin = ({ invitationUrl = window.location.origin, invitationParam = "
|
|
|
178
196
|
activatesOn: Events2.SetupIntentResolver,
|
|
179
197
|
activate: (context) => IntentResolver({
|
|
180
198
|
context,
|
|
181
|
-
createInvitationUrl,
|
|
182
199
|
observability
|
|
183
200
|
})
|
|
184
201
|
}),
|
|
@@ -239,7 +256,10 @@ export {
|
|
|
239
256
|
SHARED,
|
|
240
257
|
SPACES,
|
|
241
258
|
SPACE_PLUGIN,
|
|
242
|
-
|
|
259
|
+
SPACE_SETTINGS_DIALOG,
|
|
260
|
+
SPACE_TYPE,
|
|
261
|
+
ShareSpaceButton,
|
|
262
|
+
ShareSpaceButtonImpl,
|
|
243
263
|
SmallPresence,
|
|
244
264
|
SmallPresenceLive,
|
|
245
265
|
SpaceCapabilities,
|
|
@@ -247,8 +267,10 @@ export {
|
|
|
247
267
|
SpacePlugin,
|
|
248
268
|
SpacePluginSettings,
|
|
249
269
|
SpacePresence,
|
|
270
|
+
SpacePropertiesForm,
|
|
250
271
|
SpaceSettingsContainer,
|
|
251
272
|
SyncStatus,
|
|
273
|
+
SyncStatusDetail,
|
|
252
274
|
SyncStatusIndicator,
|
|
253
275
|
ThreadCapabilities,
|
|
254
276
|
ThreadEvents,
|
|
@@ -261,7 +283,6 @@ export {
|
|
|
261
283
|
getNestedObjects,
|
|
262
284
|
getSpaceDisplayName,
|
|
263
285
|
memoizeQuery,
|
|
264
|
-
meta
|
|
265
|
-
useQuerySpaceSchemas
|
|
286
|
+
meta
|
|
266
287
|
};
|
|
267
288
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/events.ts", "../../../src/SpacePlugin.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent, Events } from '@dxos/app-framework';\n\nimport { SPACE_PLUGIN } from './meta';\n\nexport namespace SpaceEvents {\n export const StateReady = Events.createStateEvent(`${SPACE_PLUGIN}/event/state-ready`);\n export const SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);\n export const DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);\n}\n\n// TODO(wittjosiah): Factor out.\nexport namespace ThreadEvents {\n export const SetupThread = defineEvent(`${SPACE_PLUGIN}/event/setup-thread`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n allOf,\n Capabilities,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n Events,\n oneOf,\n} from '@dxos/app-framework';\nimport { S } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n Schema,\n Tools,\n SpaceCapabilities,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta } from './meta';\nimport translations from './translations';\nimport { CollectionAction, CollectionType, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability =
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["defineEvent", "Events", "SpaceEvents", "StateReady", "Events", "createStateEvent", "SPACE_PLUGIN", "SetupSettingsPanel", "defineEvent", "DefaultSpaceReady", "ThreadEvents", "SetupThread", "allOf", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "oneOf", "S", "RefArray", "AttentionEvents", "ClientEvents", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "CollectionType", "typename", "metadata", "icon", "loadReferences", "collection", "RefArray", "loadAll", "objects", "Object", "values", "views", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "S", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "ClientReady", "activatesBefore", "Schema", "Startup", "ReactRoot", "SetupReactSurface", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent, Events } from '@dxos/app-framework';\n\nimport { SPACE_PLUGIN } from './meta';\n\nexport namespace SpaceEvents {\n export const StateReady = Events.createStateEvent(`${SPACE_PLUGIN}/event/state-ready`);\n export const SetupSettingsPanel = defineEvent(`${SPACE_PLUGIN}/event/setup-settings-panel`);\n export const DefaultSpaceReady = defineEvent(`${SPACE_PLUGIN}/event/default-space-ready`);\n}\n\n// TODO(wittjosiah): Factor out.\nexport namespace ThreadEvents {\n export const SetupThread = defineEvent(`${SPACE_PLUGIN}/event/setup-thread`);\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n allOf,\n Capabilities,\n contributes,\n createIntent,\n defineModule,\n definePlugin,\n Events,\n oneOf,\n} from '@dxos/app-framework';\nimport { S } from '@dxos/echo-schema';\nimport { RefArray } from '@dxos/live-object';\nimport { AttentionEvents } from '@dxos/plugin-attention';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { osTranslations } from '@dxos/shell/react';\n\nimport {\n AppGraphBuilder,\n AppGraphSerializer,\n IdentityCreated,\n IntentResolver,\n ReactRoot,\n ReactSurface,\n Schema,\n Tools,\n SpaceCapabilities,\n SpaceSettings,\n SpacesReady,\n SpaceState,\n} from './capabilities';\nimport { SpaceEvents } from './events';\nimport { meta, SPACE_PLUGIN } from './meta';\nimport translations from './translations';\nimport { CollectionAction, CollectionType, defineObjectForm } from './types';\n\nexport type SpacePluginOptions = {\n /**\n * Base URL for the invitation link.\n */\n invitationUrl?: string;\n\n /**\n * Query parameter for the invitation code.\n */\n invitationParam?: string;\n\n /**\n * Whether to send observability events.\n */\n observability?: boolean;\n};\n\nexport const SpacePlugin = ({\n invitationUrl = window.location.origin,\n invitationParam = 'spaceInvitationCode',\n observability = true,\n}: SpacePluginOptions = {}) => {\n const createInvitationUrl = (invitationCode: string) => {\n const baseUrl = new URL(invitationUrl);\n baseUrl.searchParams.set(invitationParam, invitationCode);\n return baseUrl.toString();\n };\n\n return definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/state`,\n // TODO(wittjosiah): Does not integrate with settings store.\n // Should this be a different event?\n // Should settings store be renamed to be more generic?\n activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),\n activatesAfter: [SpaceEvents.StateReady],\n activate: SpaceState,\n }),\n defineModule({\n id: `${meta.id}/module/settings`,\n activatesOn: Events.SetupSettings,\n activate: SpaceSettings,\n }),\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, osTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: CollectionType.typename,\n metadata: {\n icon: 'ph--cards-three--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: async (collection: CollectionType) =>\n await RefArray.loadAll([...collection.objects, ...Object.values(collection.views)]),\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: CollectionType,\n formSchema: S.Struct({ name: S.optional(S.String) }),\n getIntent: (props) => createIntent(CollectionAction.Create, props),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/space-settings`,\n activatesOn: SpaceEvents.SetupSettingsPanel,\n activate: () =>\n contributes(SpaceCapabilities.SettingsSection, {\n id: 'properties',\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n position: 'hoist',\n }),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.ClientReady,\n activatesBefore: [ClientEvents.SetupSchema],\n activate: Schema,\n }),\n defineModule({\n id: `${meta.id}/module/react-root`,\n activatesOn: Events.Startup,\n activate: ReactRoot,\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.\n activatesBefore: [SpaceEvents.SetupSettingsPanel],\n activate: () => ReactSurface({ createInvitationUrl }),\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: (context) => IntentResolver({ context, observability }),\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n // TODO(wittjosiah): This could probably be deferred.\n defineModule({\n id: `${meta.id}/module/app-graph-serializer`,\n activatesOn: Events.AppGraphReady,\n activate: AppGraphSerializer,\n }),\n defineModule({\n id: `${meta.id}/module/identity-created`,\n activatesOn: ClientEvents.IdentityCreated,\n activatesAfter: [SpaceEvents.DefaultSpaceReady],\n activate: IdentityCreated,\n }),\n defineModule({\n id: `${meta.id}/module/spaces-ready`,\n activatesOn: allOf(\n Events.DispatcherReady,\n Events.LayoutReady,\n Events.AppGraphReady,\n AttentionEvents.AttentionReady,\n SpaceEvents.StateReady,\n ClientEvents.SpacesReady,\n ),\n activate: SpacesReady,\n }),\n defineModule({\n id: `${meta.id}/module/tools`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: Tools,\n }),\n ]);\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["defineEvent", "Events", "SpaceEvents", "StateReady", "Events", "createStateEvent", "SPACE_PLUGIN", "SetupSettingsPanel", "defineEvent", "DefaultSpaceReady", "ThreadEvents", "SetupThread", "allOf", "Capabilities", "contributes", "createIntent", "defineModule", "definePlugin", "Events", "oneOf", "S", "RefArray", "AttentionEvents", "ClientEvents", "osTranslations", "SpacePlugin", "invitationUrl", "window", "location", "origin", "invitationParam", "observability", "createInvitationUrl", "invitationCode", "baseUrl", "URL", "searchParams", "set", "toString", "definePlugin", "meta", "defineModule", "id", "activatesOn", "oneOf", "Events", "SetupSettings", "SetupAppGraph", "activatesAfter", "SpaceEvents", "StateReady", "activate", "SpaceState", "SpaceSettings", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "osTranslations", "SetupMetadata", "Metadata", "CollectionType", "typename", "metadata", "icon", "loadReferences", "collection", "RefArray", "loadAll", "objects", "Object", "values", "views", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "S", "Struct", "name", "optional", "String", "getIntent", "props", "createIntent", "CollectionAction", "Create", "SetupSettingsPanel", "SettingsSection", "label", "ns", "SPACE_PLUGIN", "position", "ClientReady", "activatesBefore", "Schema", "Startup", "ReactRoot", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "context", "IntentResolver", "AppGraphBuilder", "AppGraphReady", "AppGraphSerializer", "IdentityCreated", "DefaultSpaceReady", "allOf", "DispatcherReady", "LayoutReady", "AttentionEvents", "AttentionReady", "SpacesReady", "SetupArtifactDefinition", "Tools"]
|
|
7
7
|
}
|