@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
package/src/components/index.ts
CHANGED
|
@@ -9,12 +9,12 @@ export * from './CollectionSection';
|
|
|
9
9
|
export * from './JoinDialog';
|
|
10
10
|
export * from './MembersContainer';
|
|
11
11
|
export * from './MenuFooter';
|
|
12
|
-
export * from './
|
|
12
|
+
export * from './ObjectSettingsContainer';
|
|
13
13
|
export * from './PersistenceStatus';
|
|
14
14
|
export * from './PopoverAddSpace';
|
|
15
15
|
export * from './PopoverRenameObject';
|
|
16
16
|
export * from './PopoverRenameSpace';
|
|
17
|
-
export * from './
|
|
17
|
+
export * from './ShareSpaceButton';
|
|
18
18
|
export * from './SpacePresence';
|
|
19
19
|
export * from './SpacePluginSettings';
|
|
20
20
|
export * from './SpaceSettings';
|
package/src/hooks/index.ts
CHANGED
package/src/translations.ts
CHANGED
|
@@ -34,7 +34,7 @@ export default [
|
|
|
34
34
|
'export data label': 'Export data',
|
|
35
35
|
'import data label': 'Import data',
|
|
36
36
|
'migrate space label': 'Migrate space',
|
|
37
|
-
'share space
|
|
37
|
+
'share space': 'Share space',
|
|
38
38
|
'save space to disk label': 'Save to disk',
|
|
39
39
|
'load space from disk label': 'Load from disk',
|
|
40
40
|
'confirm restore title': 'Overwrite files in this space?',
|
|
@@ -43,7 +43,7 @@ export default [
|
|
|
43
43
|
'object placeholder': 'Type a title here…',
|
|
44
44
|
'personal space label': 'Personal Space',
|
|
45
45
|
'spaces label': 'Spaces',
|
|
46
|
-
'show hidden spaces label': 'Show
|
|
46
|
+
'show hidden spaces label': 'Show closed spaces',
|
|
47
47
|
'save files to directory label': 'Save files to disk',
|
|
48
48
|
'select path label': 'Select path',
|
|
49
49
|
'rename collection label': 'Rename collection',
|
|
@@ -67,6 +67,7 @@ export default [
|
|
|
67
67
|
'The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.',
|
|
68
68
|
'create object in space label': 'Add to space',
|
|
69
69
|
'create object in collection label': 'Add to collection',
|
|
70
|
+
'share space label': 'Share',
|
|
70
71
|
'space members label': 'Space members',
|
|
71
72
|
'active space members heading': 'Online ({{count}})',
|
|
72
73
|
'inactive space members heading': 'Offline ({{count}})',
|
|
@@ -117,7 +118,6 @@ export default [
|
|
|
117
118
|
'advanced settings label': 'Advanced',
|
|
118
119
|
'foreign keys': 'Foreign Keys',
|
|
119
120
|
'add key': 'Add Key',
|
|
120
|
-
'open space settings label': 'Open',
|
|
121
121
|
|
|
122
122
|
'members panel label': 'Members',
|
|
123
123
|
'members verbose label': 'Manage space members',
|
|
@@ -126,29 +126,16 @@ export default [
|
|
|
126
126
|
'invitations label': 'Invitations',
|
|
127
127
|
'space invitation description': 'Manage invitations to the space.',
|
|
128
128
|
'qr code description': 'Share this QR code, or copy the URL and share it with the person you want to invite.',
|
|
129
|
-
'locked space description': 'This space is locked, unlock it to invite new members.',
|
|
130
|
-
'space locked label': 'Lock space',
|
|
131
|
-
'space locked description': 'Locking a space prevents new members from being invited to the space.',
|
|
132
129
|
|
|
133
130
|
'settings panel label': 'Space Settings',
|
|
134
|
-
'open
|
|
135
|
-
'space settings properties label': 'General
|
|
136
|
-
'space properties settings verbose label': 'Manage space properties',
|
|
137
|
-
'space properties settings description': 'You can configure how this space is displayed in the app here.',
|
|
138
|
-
'space settings schema label': 'Schema',
|
|
139
|
-
'schema verbose label': 'Manage schema',
|
|
140
|
-
'schema description': 'You can manage all of the schema stored within this space here.',
|
|
141
|
-
'no schemas found message': 'No schemas found',
|
|
131
|
+
'open space settings label': 'Space Settings',
|
|
132
|
+
'space settings properties label': 'General',
|
|
142
133
|
'display name input placeholder': 'Space name',
|
|
143
134
|
'display name description': 'Name of the space as it appears in the app.',
|
|
144
135
|
'icon description': 'Icon used to represent the space in the app.',
|
|
145
136
|
'hue description': 'Color used to represent the space in the app.',
|
|
146
137
|
'edge replication description':
|
|
147
138
|
"Only change this if you know what you're doing. Disabling this will prevent the space from replicating through Composer's EDGE services, and relies solely on peer-to-peer sync.",
|
|
148
|
-
'archive space description':
|
|
149
|
-
'Archiving a space will remove it from the sidebar and stop replicating updates, but will not delete the data. You can unarchive it by enabling archived spaces in the app settings.',
|
|
150
|
-
'archive space label': 'Archive',
|
|
151
|
-
'unarchive space label': 'Unarchive',
|
|
152
139
|
},
|
|
153
140
|
},
|
|
154
141
|
},
|
package/src/types/types.ts
CHANGED
|
@@ -7,14 +7,12 @@ import { S, type Expando, type BaseObject, type TypedObject } from '@dxos/echo-s
|
|
|
7
7
|
import { type PublicKey } from '@dxos/react-client';
|
|
8
8
|
// TODO(wittjosiah): This pulls in full client.
|
|
9
9
|
import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
|
|
10
|
-
import { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';
|
|
11
10
|
import { type ComplexMap } from '@dxos/util';
|
|
12
11
|
|
|
13
12
|
import { CollectionType } from './collection';
|
|
14
13
|
import { SPACE_PLUGIN } from '../meta';
|
|
15
14
|
|
|
16
15
|
export const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';
|
|
17
|
-
export const SPACE_TYPE = 'dxos.org/type/Space';
|
|
18
16
|
|
|
19
17
|
export type ObjectViewerProps = {
|
|
20
18
|
lastSeen: number;
|
|
@@ -44,6 +42,11 @@ export type PluginState = {
|
|
|
44
42
|
*/
|
|
45
43
|
spaceNames: Record<string, string>;
|
|
46
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Which sections of the space settings are open.
|
|
47
|
+
*/
|
|
48
|
+
spaceSettingsOpenSections: string[];
|
|
49
|
+
|
|
47
50
|
/**
|
|
48
51
|
* Which spaces have an SDK migration running currently.
|
|
49
52
|
*/
|
|
@@ -89,14 +92,10 @@ export interface TypedObjectSerializer<T extends Expando = Expando> {
|
|
|
89
92
|
deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;
|
|
90
93
|
}
|
|
91
94
|
|
|
92
|
-
// TODO(burdon): Move to FormatEnum or SDK.
|
|
93
|
-
export const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');
|
|
94
|
-
export const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');
|
|
95
|
-
|
|
96
95
|
export const SpaceForm = S.Struct({
|
|
97
96
|
name: S.optional(S.String.annotations({ title: 'Name' })),
|
|
98
|
-
icon: S.optional(S.String.annotations({ title: 'Icon'
|
|
99
|
-
hue: S.optional(S.String.annotations({ title: 'Color'
|
|
97
|
+
icon: S.optional(S.String.annotations({ title: 'Icon' })),
|
|
98
|
+
hue: S.optional(S.String.annotations({ title: 'Color' })),
|
|
100
99
|
// TODO(wittjosiah): Make optional with default value.
|
|
101
100
|
edgeReplication: S.Boolean.annotations({ title: 'Enable EDGE Replication' }),
|
|
102
101
|
});
|
|
@@ -136,31 +135,11 @@ export namespace SpaceAction {
|
|
|
136
135
|
output: S.Void,
|
|
137
136
|
}) {}
|
|
138
137
|
|
|
139
|
-
export class OpenMembers extends S.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {
|
|
140
|
-
input: S.Struct({
|
|
141
|
-
space: SpaceSchema,
|
|
142
|
-
}),
|
|
143
|
-
output: S.Void,
|
|
144
|
-
}) {}
|
|
145
|
-
|
|
146
138
|
export class Share extends S.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
|
|
147
139
|
input: S.Struct({
|
|
148
140
|
space: SpaceSchema,
|
|
149
|
-
type: S.Enums(Invitation.Type),
|
|
150
|
-
authMethod: S.Enums(Invitation.AuthMethod),
|
|
151
|
-
multiUse: S.Boolean,
|
|
152
|
-
target: S.optional(S.String),
|
|
153
|
-
}),
|
|
154
|
-
output: S.instanceOf(CancellableInvitationObservable),
|
|
155
|
-
}) {}
|
|
156
|
-
|
|
157
|
-
export class GetShareLink extends S.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {
|
|
158
|
-
input: S.Struct({
|
|
159
|
-
space: SpaceSchema,
|
|
160
|
-
target: S.optional(S.String),
|
|
161
|
-
copyToClipboard: S.optional(S.Boolean),
|
|
162
141
|
}),
|
|
163
|
-
output: S.
|
|
142
|
+
output: S.Void,
|
|
164
143
|
}) {}
|
|
165
144
|
|
|
166
145
|
export class Lock extends S.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
|
|
@@ -196,7 +175,6 @@ export namespace SpaceAction {
|
|
|
196
175
|
}) {}
|
|
197
176
|
|
|
198
177
|
// TODO(wittjosiah): Handle scrolling to section.
|
|
199
|
-
// This maybe motivates making the space settings its own deck?
|
|
200
178
|
export class OpenSettings extends S.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
|
|
201
179
|
input: S.Struct({ space: SpaceSchema }),
|
|
202
180
|
output: S.Void,
|
package/src/util.tsx
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { createIntent,
|
|
6
|
-
import { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type
|
|
7
|
-
import { getSchema } from '@dxos/echo-schema';
|
|
5
|
+
import { createIntent, type PromiseIntentDispatcher, LayoutAction } from '@dxos/app-framework';
|
|
6
|
+
import { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type Expando } from '@dxos/echo-schema';
|
|
8
7
|
import { invariant } from '@dxos/invariant';
|
|
9
|
-
import {
|
|
8
|
+
import { getSchema, isReactiveObject, makeRef } from '@dxos/live-object';
|
|
10
9
|
import { Migrations } from '@dxos/migrations';
|
|
10
|
+
import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';
|
|
11
11
|
import {
|
|
12
12
|
ACTION_GROUP_TYPE,
|
|
13
13
|
ACTION_TYPE,
|
|
@@ -34,12 +34,12 @@ import {
|
|
|
34
34
|
type ReactiveEchoObject,
|
|
35
35
|
type Space,
|
|
36
36
|
} from '@dxos/react-client/echo';
|
|
37
|
-
import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
|
|
38
37
|
|
|
39
38
|
import { SPACE_PLUGIN } from './meta';
|
|
40
|
-
import { CollectionType, SpaceAction
|
|
39
|
+
import { CollectionType, SpaceAction } from './types';
|
|
41
40
|
|
|
42
41
|
export const SPACES = `${SPACE_PLUGIN}-spaces`;
|
|
42
|
+
export const SPACE_TYPE = 'dxos.org/type/Space';
|
|
43
43
|
export const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';
|
|
44
44
|
// TODO(wittjosiah): Remove.
|
|
45
45
|
export const SHARED = 'shared-spaces';
|
|
@@ -53,7 +53,7 @@ const EMPTY_ARRAY: never[] = [];
|
|
|
53
53
|
* @param options
|
|
54
54
|
* @returns
|
|
55
55
|
*/
|
|
56
|
-
export const memoizeQuery = <T extends
|
|
56
|
+
export const memoizeQuery = <T extends ReactiveEchoObject<any>>(
|
|
57
57
|
spaceOrEcho?: Space | Echo,
|
|
58
58
|
filter?: FilterSource<T>,
|
|
59
59
|
options?: QueryOptions,
|
|
@@ -215,45 +215,24 @@ export const constructSpaceNode = ({
|
|
|
215
215
|
},
|
|
216
216
|
nodes: [
|
|
217
217
|
{
|
|
218
|
-
id:
|
|
218
|
+
id: `${space.id}${ATTENDABLE_PATH_SEPARATOR}members`,
|
|
219
|
+
type: `${SPACE_PLUGIN}/members`,
|
|
220
|
+
data: space,
|
|
221
|
+
properties: {
|
|
222
|
+
label: ['members panel label', { ns: SPACE_PLUGIN }],
|
|
223
|
+
icon: 'ph--users--regular',
|
|
224
|
+
disposition: 'hidden',
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
id: `${space.id}${ATTENDABLE_PATH_SEPARATOR}settings`,
|
|
219
229
|
type: `${SPACE_PLUGIN}/settings`,
|
|
220
|
-
data:
|
|
230
|
+
data: space,
|
|
221
231
|
properties: {
|
|
222
232
|
label: ['settings panel label', { ns: SPACE_PLUGIN }],
|
|
223
|
-
icon: 'ph--
|
|
224
|
-
disposition: '
|
|
233
|
+
icon: 'ph--gear--regular',
|
|
234
|
+
disposition: 'hidden',
|
|
225
235
|
},
|
|
226
|
-
nodes: [
|
|
227
|
-
{
|
|
228
|
-
id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
229
|
-
type: `${SPACE_PLUGIN}/properties`,
|
|
230
|
-
data: `${SPACE_PLUGIN}/properties`,
|
|
231
|
-
properties: {
|
|
232
|
-
label: ['space settings properties label', { ns: SPACE_PLUGIN }],
|
|
233
|
-
icon: 'ph--sliders--regular',
|
|
234
|
-
position: 'hoist',
|
|
235
|
-
},
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
239
|
-
type: `${SPACE_PLUGIN}/members`,
|
|
240
|
-
data: `${SPACE_PLUGIN}/members`,
|
|
241
|
-
properties: {
|
|
242
|
-
label: ['members panel label', { ns: SPACE_PLUGIN }],
|
|
243
|
-
icon: 'ph--users--regular',
|
|
244
|
-
position: 'hoist',
|
|
245
|
-
},
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
249
|
-
type: `${SPACE_PLUGIN}/schema`,
|
|
250
|
-
data: `${SPACE_PLUGIN}/schema`,
|
|
251
|
-
properties: {
|
|
252
|
-
label: ['space settings schema label', { ns: SPACE_PLUGIN }],
|
|
253
|
-
icon: 'ph--shapes--regular',
|
|
254
|
-
},
|
|
255
|
-
},
|
|
256
|
-
],
|
|
257
236
|
},
|
|
258
237
|
],
|
|
259
238
|
};
|
|
@@ -292,6 +271,7 @@ export const constructSpaceActions = ({
|
|
|
292
271
|
}
|
|
293
272
|
|
|
294
273
|
if (state === SpaceState.SPACE_READY && !hasPendingMigration) {
|
|
274
|
+
const locked = space.properties[COMPOSER_SPACE_LOCK];
|
|
295
275
|
actions.push(
|
|
296
276
|
{
|
|
297
277
|
id: getId(SpaceAction.OpenCreateObject._tag),
|
|
@@ -306,6 +286,44 @@ export const constructSpaceActions = ({
|
|
|
306
286
|
testId: 'spacePlugin.createObject',
|
|
307
287
|
},
|
|
308
288
|
},
|
|
289
|
+
{
|
|
290
|
+
id: getId(SpaceAction.Share._tag),
|
|
291
|
+
type: ACTION_TYPE,
|
|
292
|
+
data: async () => {
|
|
293
|
+
if (locked) {
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
await dispatch(createIntent(SpaceAction.Share, { space }));
|
|
297
|
+
},
|
|
298
|
+
properties: {
|
|
299
|
+
label: ['share space label', { ns: SPACE_PLUGIN }],
|
|
300
|
+
icon: 'ph--users--regular',
|
|
301
|
+
disabled: locked,
|
|
302
|
+
disposition: 'list-item-primary',
|
|
303
|
+
iconOnly: false,
|
|
304
|
+
variant: 'default',
|
|
305
|
+
testId: 'spacePlugin.shareSpace',
|
|
306
|
+
keyBinding: {
|
|
307
|
+
macos: 'meta+.',
|
|
308
|
+
windows: 'alt+.',
|
|
309
|
+
},
|
|
310
|
+
},
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
id: locked ? getId(SpaceAction.Unlock._tag) : getId(SpaceAction.Lock._tag),
|
|
314
|
+
type: ACTION_TYPE,
|
|
315
|
+
data: async () => {
|
|
316
|
+
if (locked) {
|
|
317
|
+
await dispatch(createIntent(SpaceAction.Unlock, { space }));
|
|
318
|
+
} else {
|
|
319
|
+
await dispatch(createIntent(SpaceAction.Lock, { space }));
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
properties: {
|
|
323
|
+
label: [locked ? 'unlock space label' : 'lock space label', { ns: SPACE_PLUGIN }],
|
|
324
|
+
icon: locked ? 'ph--lock-simple-open--regular' : 'ph--lock-simple--regular',
|
|
325
|
+
},
|
|
326
|
+
},
|
|
309
327
|
{
|
|
310
328
|
id: getId(SpaceAction.Rename._tag),
|
|
311
329
|
type: ACTION_TYPE,
|
|
@@ -321,9 +339,51 @@ export const constructSpaceActions = ({
|
|
|
321
339
|
},
|
|
322
340
|
},
|
|
323
341
|
},
|
|
342
|
+
{
|
|
343
|
+
id: getId(SpaceAction.OpenSettings._tag),
|
|
344
|
+
type: ACTION_TYPE,
|
|
345
|
+
data: async () => {
|
|
346
|
+
await dispatch(createIntent(SpaceAction.OpenSettings, { space }));
|
|
347
|
+
},
|
|
348
|
+
properties: {
|
|
349
|
+
label: ['open space settings label', { ns: SPACE_PLUGIN }],
|
|
350
|
+
icon: 'ph--gear--regular',
|
|
351
|
+
},
|
|
352
|
+
},
|
|
324
353
|
);
|
|
325
354
|
}
|
|
326
355
|
|
|
356
|
+
// TODO(wittjosiah): Consider moving close space into the space settings dialog.
|
|
357
|
+
if (state !== SpaceState.SPACE_INACTIVE && !hasPendingMigration) {
|
|
358
|
+
actions.push({
|
|
359
|
+
id: getId(SpaceAction.Close._tag),
|
|
360
|
+
type: ACTION_TYPE,
|
|
361
|
+
data: async () => {
|
|
362
|
+
await dispatch(createIntent(SpaceAction.Close, { space }));
|
|
363
|
+
},
|
|
364
|
+
properties: {
|
|
365
|
+
label: ['close space label', { ns: SPACE_PLUGIN }],
|
|
366
|
+
icon: 'ph--x--regular',
|
|
367
|
+
disabled: personal,
|
|
368
|
+
},
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
if (state === SpaceState.SPACE_INACTIVE) {
|
|
373
|
+
actions.push({
|
|
374
|
+
id: getId(SpaceAction.Open._tag),
|
|
375
|
+
type: ACTION_TYPE,
|
|
376
|
+
data: async () => {
|
|
377
|
+
await dispatch(createIntent(SpaceAction.Open, { space }));
|
|
378
|
+
},
|
|
379
|
+
properties: {
|
|
380
|
+
label: ['open space label', { ns: SPACE_PLUGIN }],
|
|
381
|
+
icon: 'ph--clock-counter-clockwise--regular',
|
|
382
|
+
disposition: 'list-item-primary',
|
|
383
|
+
},
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
|
|
327
387
|
return actions;
|
|
328
388
|
};
|
|
329
389
|
|
|
@@ -482,7 +542,7 @@ export const getActiveSpace = (graph: Graph, active?: string) => {
|
|
|
482
542
|
}
|
|
483
543
|
|
|
484
544
|
const node = graph.findNode(active);
|
|
485
|
-
if (!node || !
|
|
545
|
+
if (!node || !isReactiveObject(node.data)) {
|
|
486
546
|
return;
|
|
487
547
|
}
|
|
488
548
|
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport {\n Expando,\n Filter,\n FQ_ID_LENGTH,\n getSpace,\n isEchoObject,\n OBJECT_ID_LENGTH,\n type ReactiveEchoObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n parseId,\n} from '@dxos/client/echo';\nimport { isDeleted } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, toSignal, type Node, type InvokeParams } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n memoizeQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: SPACE_PLUGIN }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const client = context.requestCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph._sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.schema(Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${SPACE_PLUGIN}/primary-actions`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SpaceAction.AddSpace._tag,\n data: async (params: InvokeParams) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.AddSpace));\n },\n properties: {\n label: ['add space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.addSpace',\n disposition: 'item',\n position: 'fallback',\n },\n },\n {\n id: SpaceAction.OpenMembers._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenMembers, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ],\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [spacesNode],\n resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n filter: (node): node is Node<null> => node.id === SPACES,\n connector: () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<SpaceSettingsProps>(SPACE_PLUGIN)?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n const [spacesOrder] = memoizeQuery(client.spaces.default, Filter.schema(Expando, { key: SHARED }));\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) => (settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE))\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n }),\n );\n } catch {}\n },\n resolver: ({ id }) => {\n if (id.length !== SPACE_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const space = spaces.find((space) => space.id === id);\n if (!space) {\n return;\n }\n\n if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n return false;\n } else if (space.state.get() !== SpaceState.SPACE_READY) {\n return undefined;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n });\n }\n },\n }),\n\n // Create space actions.\n createExtension({\n id: `${SPACE_PLUGIN}/actions`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n actions: ({ node }) => {\n const space = node.data;\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceActions({\n space,\n dispatch,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n },\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${SPACE_PLUGIN}/root-collection`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n connector: ({ node }) => {\n const space = node.data;\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${SPACE_PLUGIN}/objects`,\n filter: (node): node is Node<CollectionType> => node.data instanceof CollectionType,\n connector: ({ node }) => {\n const collection = node.data;\n const space = getSpace(collection);\n if (!space) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n resolver: ({ id }) => {\n if (id.length !== FQ_ID_LENGTH) {\n return;\n }\n\n const [spaceId, objectId] = id.split(':');\n if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = client.spaces.get().find((space) => space.id === spaceId);\n if (!space) {\n return;\n }\n\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object) {\n return;\n }\n\n if (isDeleted(object)) {\n return false;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n }\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${SPACE_PLUGIN}/object-actions`,\n filter: (node): node is Node<ReactiveEchoObject<any>> => isEchoObject(node.data),\n actions: ({ node }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructObjectActions({ node, dispatch, navigable: state.navigableCollections });\n },\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n filter: (node): node is Node<ReactiveEchoObject<any>> => isEchoObject(node.data),\n connector: ({ node }) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'fallback',\n },\n },\n ],\n }),\n ]);\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Capabilities", "contributes", "createIntent", "Expando", "Filter", "FQ_ID_LENGTH", "getSpace", "isEchoObject", "OBJECT_ID_LENGTH", "SPACE_ID_LENGTH", "SpaceState", "parseId", "isDeleted", "log", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "toSignal", "isNonNullable", "context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "requestCapability", "AppGraph", "client", "ClientCapabilities", "Client", "_sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "schema", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "filter", "node", "actions", "SpaceAction", "AddSpace", "_tag", "data", "params", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "OpenMembers", "layout", "Layout", "spaceId", "parseId", "workspace", "space", "get", "keyBinding", "macos", "windows", "OpenSettings", "connector", "resolver", "undefined", "toSignal", "onChange", "subscribe", "unsubscribe", "isReady", "state", "SpaceCapabilities", "State", "settings", "SettingsStore", "getStore", "value", "memoizeQuery", "orderMap", "Map", "index", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "length", "SPACE_ID_LENGTH", "SPACE_READY", "SPACE_TYPE", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "collection", "CollectionType", "target", "object", "isNonNullable", "createObjectNode", "getSpace", "FQ_ID_LENGTH", "objectId", "split", "OBJECT_ID_LENGTH", "isDeleted", "isEchoObject", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/app-graph-serializer.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport { isSpace } from '@dxos/client/echo';\nimport { live } from '@dxos/live-object';\n\nimport { SPACE_PLUGIN } from '../meta';\nimport translations from '../translations';\nimport { CollectionType, SpaceAction, SPACE_TYPE } from '../types';\nimport { SPACES } from '../util';\n\n// https://stackoverflow.com/a/19016910\nconst DIRECTORY_TYPE = 'text/directory';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphSerializer, [\n {\n inputType: SPACES,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],\n data: translations[0]['en-US'][SPACE_PLUGIN]['spaces label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: () => {\n // No-op.\n },\n },\n {\n inputType: SPACE_TYPE,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.properties.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed space label'],\n data: node.data.properties.name ?? translations[0]['en-US'][SPACE_PLUGIN]['unnamed space label'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(createIntent(SpaceAction.Create, { name: data.name, edgeReplication: true }));\n return result.data?.space;\n },\n },\n {\n inputType: CollectionType.typename,\n outputType: DIRECTORY_TYPE,\n serialize: (node) => ({\n name: node.data.name ?? translations[0]['en-US'][CollectionType.typename]['object name placeholder'],\n data: node.data.name ?? translations[0]['en-US'][CollectionType.typename]['object name placeholder'],\n type: DIRECTORY_TYPE,\n }),\n deserialize: async (data, ancestors) => {\n const space = ancestors.find(isSpace);\n const collection =\n ancestors.findLast((ancestor) => ancestor instanceof CollectionType) ??\n space?.properties[CollectionType.typename]?.target;\n if (!space || !collection) {\n return;\n }\n\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const result = await dispatch(\n createIntent(SpaceAction.AddObject, {\n target: collection,\n object: live(CollectionType, { name: data.name, objects: [], views: {} }),\n }),\n );\n\n return result.data?.object;\n },\n },\n ]);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;AAIA,SAASA,cAAcC,aAAaC,oBAAyC;AAC7E,SAASC,eAAe;AACxB,SAASC,YAAY;AAQrB,IAAMC,iBAAiB;AAEvB,IAAA,+BAAe,CAACC,YACdC,YAAYC,aAAaC,oBAAoB;EAC3C;IACEC,WAAWC;IACXC,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,cAAA;MAC7CC,MAAMF,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,cAAA;MAC7CE,MAAMd;IACR;IACAe,aAAa,MAAA;IAEb;EACF;EACA;IACEV,WAAWW;IACXT,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKI,KAAKI,WAAWP,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,qBAAA;MAC1EC,MAAMJ,KAAKI,KAAKI,WAAWP,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAASC,YAAAA,EAAc,qBAAA;MAC1EE,MAAMd;IACR;IACAe,aAAa,OAAOF,SAAAA;AAClB,YAAM,EAAEK,iBAAiBC,SAAQ,IAAKlB,QAAQmB,kBAAkBjB,aAAakB,gBAAgB;AAC7F,YAAMC,SAAS,MAAMH,SAASI,aAAaC,YAAYC,QAAQ;QAAEf,MAAMG,KAAKH;QAAMgB,iBAAiB;MAAK,CAAA,CAAA;AACxG,aAAOJ,OAAOT,MAAMc;IACtB;EACF;EACA;IACEtB,WAAWuB,eAAeC;IAC1BtB,YAAYP;IACZQ,WAAW,CAACC,UAAU;MACpBC,MAAMD,KAAKI,KAAKH,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAASiB,eAAeC,QAAQ,EAAE,yBAAA;MAC1EhB,MAAMJ,KAAKI,KAAKH,QAAQC,qBAAa,CAAA,EAAG,OAAA,EAASiB,eAAeC,QAAQ,EAAE,yBAAA;MAC1Ef,MAAMd;IACR;IACAe,aAAa,OAAOF,MAAMiB,cAAAA;AACxB,YAAMH,QAAQG,UAAUC,KAAKC,OAAAA;AAC7B,YAAMC,aACJH,UAAUI,SAAS,CAACC,aAAaA,oBAAoBP,cAAAA,KACrDD,OAAOV,WAAWW,eAAeC,QAAQ,GAAGO;AAC9C,UAAI,CAACT,SAAS,CAACM,YAAY;AACzB;MACF;AAEA,YAAM,EAAEf,iBAAiBC,SAAQ,IAAKlB,QAAQmB,kBAAkBjB,aAAakB,gBAAgB;AAC7F,YAAMC,SAAS,MAAMH,SACnBI,aAAaC,YAAYa,WAAW;QAClCD,QAAQH;QACRK,QAAQC,KAAKX,gBAAgB;UAAElB,MAAMG,KAAKH;UAAM8B,SAAS,CAAA;UAAIC,OAAO,CAAC;QAAE,CAAA;MACzE,CAAA,CAAA;AAGF,aAAOnB,OAAOT,MAAMyB;IACtB;EACF;CACD;",
|
|
6
|
-
"names": ["Capabilities", "contributes", "createIntent", "isSpace", "live", "DIRECTORY_TYPE", "context", "contributes", "Capabilities", "AppGraphSerializer", "inputType", "SPACES", "outputType", "serialize", "node", "name", "translations", "SPACE_PLUGIN", "data", "type", "deserialize", "SPACE_TYPE", "properties", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "result", "createIntent", "SpaceAction", "Create", "edgeReplication", "space", "CollectionType", "typename", "ancestors", "find", "isSpace", "collection", "findLast", "ancestor", "target", "AddObject", "object", "live", "objects", "views"]
|
|
7
|
-
}
|