@dxos/plugin-space 0.8.4-main.69d29f4 → 0.8.4-main.6fa680abb7
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/CollectionArticle-WPLUW5HF.mjs +111 -0
- package/dist/lib/browser/CollectionArticle-WPLUW5HF.mjs.map +7 -0
- package/dist/lib/browser/CollectionSection-H2MBNI63.mjs +23 -0
- package/dist/lib/browser/CollectionSection-H2MBNI63.mjs.map +7 -0
- package/dist/lib/browser/CreateObjectDialog-M3NRXGWW.mjs +142 -0
- package/dist/lib/browser/CreateObjectDialog-M3NRXGWW.mjs.map +7 -0
- package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs +64 -0
- package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs.map +7 -0
- package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs +53 -0
- package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs.map +7 -0
- package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs +115 -0
- package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs.map +7 -0
- package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs +257 -0
- package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs.map +7 -0
- package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs +37 -0
- package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs.map +7 -0
- package/dist/lib/browser/ObjectCardStack-UYS2TMK6.mjs +64 -0
- package/dist/lib/browser/ObjectCardStack-UYS2TMK6.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetails-B2BJLOK5.mjs +43 -0
- package/dist/lib/browser/ObjectDetails-B2BJLOK5.mjs.map +7 -0
- package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs +70 -0
- package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs.map +7 -0
- package/dist/lib/browser/{RecordArticle-W57QE7QV.mjs → RecordArticle-BO2XHBFN.mjs} +23 -18
- package/dist/lib/browser/RecordArticle-BO2XHBFN.mjs.map +7 -0
- package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs +49 -0
- package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs.map +7 -0
- package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs +9 -0
- package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs.map +7 -0
- package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs +59 -0
- package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs.map +7 -0
- package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs +12 -0
- package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs.map +7 -0
- package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs +62 -0
- package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs.map +7 -0
- package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs +242 -0
- package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs.map +7 -0
- package/dist/lib/browser/SyncStatus-JSCSODPL.mjs +141 -0
- package/dist/lib/browser/SyncStatus-JSCSODPL.mjs.map +7 -0
- package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs +113 -0
- package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs +1203 -0
- package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-7AT7QMSK.mjs → app-graph-serializer-UZWWGLGY.mjs} +11 -10
- package/dist/lib/browser/app-graph-serializer-UZWWGLGY.mjs.map +7 -0
- package/dist/lib/browser/chunk-3A3FUI2R.mjs +576 -0
- package/dist/lib/browser/chunk-3A3FUI2R.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CCRSHECL.mjs → chunk-6IT5IBB5.mjs} +74 -105
- package/dist/lib/browser/chunk-6IT5IBB5.mjs.map +7 -0
- package/dist/lib/browser/chunk-6OA75CWN.mjs +77 -0
- package/dist/lib/browser/chunk-6OA75CWN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-ZT2VPYRM.mjs → chunk-AUX3RRLY.mjs} +37 -12
- package/dist/lib/browser/chunk-AUX3RRLY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-HSMQFM57.mjs → chunk-CBWGVOJE.mjs} +2 -2
- package/dist/lib/browser/{chunk-HSMQFM57.mjs.map → chunk-CBWGVOJE.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-4WZUGLQQ.mjs → chunk-ICXESMDI.mjs} +13 -12
- package/dist/lib/browser/chunk-ICXESMDI.mjs.map +7 -0
- package/dist/lib/browser/chunk-RJUOHI3B.mjs +19 -0
- package/dist/lib/browser/{chunk-ASV6DYFH.mjs.map → chunk-RJUOHI3B.mjs.map} +1 -1
- package/dist/lib/browser/chunk-SJCNERZI.mjs +115 -0
- package/dist/lib/browser/chunk-SJCNERZI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-AWVAX26X.mjs → chunk-SSTUPFZ2.mjs} +3 -3
- package/dist/lib/browser/chunk-UYOJYBGW.mjs +168 -0
- package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
- package/dist/lib/browser/cli/index.mjs +34 -32
- package/dist/lib/browser/cli/index.mjs.map +3 -3
- package/dist/lib/browser/{identity-created-VCFYLSBB.mjs → identity-created-ETXNQYR6.mjs} +5 -5
- package/dist/lib/browser/identity-created-ETXNQYR6.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +99 -155
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{operation-resolver-SIRQT36Z.mjs → operation-resolver-D4LHB4D4.mjs} +95 -115
- package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
- package/dist/lib/browser/{react-root-PI7VTZUZ.mjs → react-root-ARQTOU44.mjs} +9 -9
- package/dist/lib/browser/react-root-ARQTOU44.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-BPE7VWI7.mjs → react-surface-TO4KE77V.mjs} +97 -115
- package/dist/lib/browser/react-surface-TO4KE77V.mjs.map +7 -0
- package/dist/lib/browser/repair-NUVEV4AK.mjs +31 -0
- package/dist/lib/browser/repair-NUVEV4AK.mjs.map +7 -0
- package/dist/lib/browser/{settings-ZS2AQ73E.mjs → settings-RUDP2Q56.mjs} +6 -5
- package/dist/lib/browser/settings-RUDP2Q56.mjs.map +7 -0
- package/dist/lib/browser/{spaces-ready-OQDGWUOS.mjs → spaces-ready-B2GYL5IN.mjs} +15 -14
- package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
- package/dist/lib/browser/{state-7YZQB2KY.mjs → state-I6JDZCDE.mjs} +8 -8
- package/dist/lib/browser/state-I6JDZCDE.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/CollectionArticle-JGVNBX66.mjs +112 -0
- package/dist/lib/node-esm/CollectionArticle-JGVNBX66.mjs.map +7 -0
- package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs +24 -0
- package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs.map +7 -0
- package/dist/lib/node-esm/CreateObjectDialog-GCAWIXTK.mjs +143 -0
- package/dist/lib/node-esm/CreateObjectDialog-GCAWIXTK.mjs.map +7 -0
- package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs +65 -0
- package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
- package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs +54 -0
- package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
- package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs +116 -0
- package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
- package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs +258 -0
- package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs.map +7 -0
- package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs +38 -0
- package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectCardStack-DXBIXQI3.mjs +65 -0
- package/dist/lib/node-esm/ObjectCardStack-DXBIXQI3.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetails-F3JBIK5E.mjs +44 -0
- package/dist/lib/node-esm/ObjectDetails-F3JBIK5E.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs +71 -0
- package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs.map +7 -0
- package/dist/lib/node-esm/{RecordArticle-SSV74Z46.mjs → RecordArticle-XUIT25PP.mjs} +23 -18
- package/dist/lib/node-esm/RecordArticle-XUIT25PP.mjs.map +7 -0
- package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs +50 -0
- package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs.map +7 -0
- package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs +10 -0
- package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs.map +7 -0
- package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs +60 -0
- package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs.map +7 -0
- package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs +13 -0
- package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs.map +7 -0
- package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs +63 -0
- package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs.map +7 -0
- package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs +243 -0
- package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
- package/dist/lib/node-esm/SyncStatus-TPCFGM4S.mjs +142 -0
- package/dist/lib/node-esm/SyncStatus-TPCFGM4S.mjs.map +7 -0
- package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs +114 -0
- package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
- package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs +1204 -0
- package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-WJ2TIQG6.mjs → app-graph-serializer-RT2RQTV2.mjs} +11 -10
- package/dist/lib/node-esm/app-graph-serializer-RT2RQTV2.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-2KM3ZHSP.mjs +577 -0
- package/dist/lib/node-esm/chunk-2KM3ZHSP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-JOBIWCBC.mjs → chunk-2OLR2ZKH.mjs} +13 -12
- package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-5KTTTTEX.mjs +20 -0
- package/dist/lib/node-esm/{chunk-CVXULIYC.mjs.map → chunk-5KTTTTEX.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs → chunk-63N5JJXI.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs.map → chunk-63N5JJXI.mjs.map} +1 -1
- package/dist/lib/node-esm/chunk-EDC2RUJU.mjs +169 -0
- package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MPL6NHQX.mjs → chunk-EVNSLSQS.mjs} +74 -105
- package/dist/lib/node-esm/chunk-EVNSLSQS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-GEGWQVZX.mjs +78 -0
- package/dist/lib/node-esm/chunk-GEGWQVZX.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-IV7VKVGC.mjs +117 -0
- package/dist/lib/node-esm/chunk-IV7VKVGC.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2SW6S2BB.mjs → chunk-RYQQXNI7.mjs} +37 -12
- package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HREWB23G.mjs → chunk-XYLDAH5C.mjs} +3 -3
- package/dist/lib/node-esm/cli/index.mjs +34 -32
- package/dist/lib/node-esm/cli/index.mjs.map +3 -3
- package/dist/lib/node-esm/{identity-created-2SJABVJD.mjs → identity-created-U5LGULVL.mjs} +5 -5
- package/dist/lib/node-esm/identity-created-U5LGULVL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +99 -155
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{operation-resolver-ZE3XJL5J.mjs → operation-resolver-IL2AHNPN.mjs} +95 -115
- package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
- package/dist/lib/node-esm/{react-root-KUXM33JI.mjs → react-root-ZGMTYSXL.mjs} +9 -9
- package/dist/lib/node-esm/react-root-ZGMTYSXL.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-STCQKUZ4.mjs → react-surface-LK26ZXWC.mjs} +97 -115
- package/dist/lib/node-esm/react-surface-LK26ZXWC.mjs.map +7 -0
- package/dist/lib/node-esm/{repair-G3ZW3VG3.mjs → repair-LRZHFPSJ.mjs} +6 -25
- package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-PVI2VG56.mjs → settings-3EKSEAAG.mjs} +6 -5
- package/dist/lib/node-esm/settings-3EKSEAAG.mjs.map +7 -0
- package/dist/lib/node-esm/{spaces-ready-R744OHQG.mjs → spaces-ready-QK3EHBOS.mjs} +15 -14
- package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
- package/dist/lib/node-esm/{state-XE5YGPHM.mjs → state-W36RRYUO.mjs} +8 -8
- package/dist/lib/node-esm/state-W36RRYUO.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +33 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +19 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +12 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +57 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
- package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +2 -2
- package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/identity-created/identity-created.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
- package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/repair/repair.d.ts +1 -1
- package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts +1 -1
- package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings/settings.d.ts +4 -3
- package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
- package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +1 -1
- package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/capabilities/state/state.d.ts +1 -1
- package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
- package/dist/types/src/cli/commands/database/add.d.ts +0 -1
- package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
- package/dist/types/src/cli/plugin.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
- package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
- package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +12 -5
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
- package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +68 -14
- package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetails/index.d.ts +2 -2
- package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -1
- package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
- package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
- package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
- package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
- package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -23
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +8 -0
- package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
- package/dist/types/src/containers/CollectionArticle/index.d.ts +3 -0
- package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +5 -0
- package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
- package/dist/types/src/containers/CollectionSection/index.d.ts +3 -0
- package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
- package/dist/types/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.d.ts +5 -3
- package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
- package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
- package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
- package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +3 -0
- package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
- package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
- package/dist/types/src/containers/InlineSyncStatus/index.d.ts +3 -0
- package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
- package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/containers/MembersContainer/index.d.ts +3 -0
- package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
- package/dist/types/src/containers/MenuFooter/index.d.ts +3 -0
- package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/ObjectCardStack/ObjectCardStack.d.ts +4 -1
- package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts.map +1 -1
- package/dist/types/src/{components → containers}/ObjectDetails/ObjectDetails.d.ts +2 -1
- package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -0
- package/dist/types/src/containers/ObjectDetails/index.d.ts +3 -0
- package/dist/types/src/containers/ObjectDetails/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
- package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +3 -0
- package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
- package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
- package/dist/types/src/containers/RecordArticle/index.d.ts +3 -0
- package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
- package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
- package/dist/types/src/containers/SchemaContainer/index.d.ts +3 -0
- package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
- package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/SpacePluginSettings}/SpacePluginSettings.d.ts +1 -1
- package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts.map +1 -0
- package/dist/types/src/containers/SpacePluginSettings/index.d.ts +3 -0
- package/dist/types/src/containers/SpacePluginSettings/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts +67 -13
- package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
- package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +3 -0
- package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +10 -0
- package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
- package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts +71 -14
- package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +3 -0
- package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts +67 -13
- package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/containers/SyncStatus/index.d.ts +3 -0
- package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
- package/dist/types/src/{components → containers/ViewEditor}/ViewEditor.d.ts +1 -1
- package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
- package/dist/types/src/containers/ViewEditor/index.d.ts +3 -0
- package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +23 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/helpers/query.d.ts.map +1 -1
- package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +67 -13
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/capabilities.d.ts +1 -1
- package/dist/types/src/types/capabilities.d.ts.map +1 -1
- package/dist/types/src/types/events.d.ts.map +1 -1
- package/dist/types/src/types/form.d.ts +0 -2
- package/dist/types/src/types/form.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +63 -124
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +6 -121
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +67 -66
- package/src/SpacePlugin.ts +75 -63
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +17 -602
- package/src/capabilities/app-graph-builder/extensions/collections.ts +351 -0
- package/src/capabilities/app-graph-builder/extensions/companions.ts +80 -0
- package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
- package/src/capabilities/app-graph-builder/extensions/settings.ts +60 -0
- package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
- package/src/capabilities/app-graph-builder/extensions/shared.ts +171 -0
- package/src/capabilities/app-graph-builder/extensions/spaces.ts +338 -0
- package/src/capabilities/app-graph-builder/extensions/types.ts +421 -0
- package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +6 -5
- package/src/capabilities/identity-created/identity-created.ts +4 -4
- package/src/capabilities/operation-resolver/operation-resolver.ts +97 -94
- package/src/capabilities/react-root/react-root.tsx +3 -3
- package/src/capabilities/react-surface/react-surface.tsx +78 -98
- package/src/capabilities/repair/repair.ts +3 -28
- package/src/capabilities/settings/settings.ts +3 -2
- package/src/capabilities/spaces-ready/spaces-ready.ts +8 -7
- package/src/capabilities/state/state.ts +7 -5
- package/src/cli/commands/database/add.ts +8 -10
- package/src/cli/commands/database/query/query.ts +1 -1
- package/src/cli/commands/database/remove.ts +2 -2
- package/src/cli/commands/database/stats.ts +1 -1
- package/src/cli/plugin.ts +34 -27
- package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +6 -5
- package/src/components/AwaitingObject/index.ts +5 -0
- package/src/components/CreateDialog/CreateObjectPanel.tsx +86 -111
- package/src/components/CreateDialog/index.ts +1 -2
- package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +10 -10
- package/src/components/ObjectDetails/BaseObjectSettings.tsx +5 -5
- package/src/components/ObjectDetails/ForeignKeys.tsx +1 -1
- package/src/components/ObjectDetails/index.ts +2 -3
- package/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.tsx +4 -4
- package/src/components/{JoinDialog → ObjectForm}/index.ts +1 -1
- package/src/components/SyncStatus/index.ts +2 -2
- package/src/components/index.ts +2 -18
- package/src/constants.ts +5 -5
- package/src/containers/CollectionArticle/CollectionArticle.tsx +133 -0
- package/src/containers/CollectionArticle/index.ts +7 -0
- package/src/{components → containers/CollectionSection}/CollectionSection.tsx +4 -4
- package/src/containers/CollectionSection/index.ts +7 -0
- package/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.tsx +62 -42
- package/src/containers/CreateObjectDialog/index.ts +6 -0
- package/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.tsx +6 -6
- package/src/containers/CreateSpaceDialog/index.ts +7 -0
- package/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.tsx +8 -19
- package/src/containers/InlineSyncStatus/index.ts +7 -0
- package/src/{components → containers}/JoinDialog/JoinDialog.tsx +10 -9
- package/src/containers/JoinDialog/index.ts +6 -0
- package/src/{components → containers}/MembersContainer/MembersContainer.tsx +50 -53
- package/src/containers/MembersContainer/index.ts +7 -0
- package/src/{components → containers/MenuFooter}/MenuFooter.tsx +5 -5
- package/src/containers/MenuFooter/index.ts +7 -0
- package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
- package/src/containers/ObjectDetails/ObjectDetails.tsx +36 -0
- package/src/containers/ObjectDetails/index.ts +7 -0
- package/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.tsx +4 -4
- package/src/containers/ObjectRenamePopover/index.ts +7 -0
- package/src/{components → containers/RecordArticle}/RecordArticle.tsx +29 -27
- package/src/containers/RecordArticle/index.ts +7 -0
- package/src/{components → containers/SchemaContainer}/SchemaContainer.tsx +22 -18
- package/src/containers/SchemaContainer/index.ts +7 -0
- package/src/containers/SmallPresenceLive/index.ts +5 -0
- package/src/containers/SpacePluginSettings/SpacePluginSettings.tsx +65 -0
- package/src/containers/SpacePluginSettings/index.ts +7 -0
- package/src/{components → containers}/SpacePresence/SpacePresence.stories.tsx +2 -2
- package/src/{components → containers}/SpacePresence/SpacePresence.tsx +11 -22
- package/src/containers/SpacePresence/index.ts +6 -0
- package/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.tsx +4 -4
- package/src/containers/SpaceRenamePopover/index.ts +7 -0
- package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.tsx +3 -3
- package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +202 -0
- package/src/containers/SpaceSettingsContainer/index.ts +7 -0
- package/src/{components → containers}/SyncStatus/SyncStatus.stories.tsx +2 -2
- package/src/{components → containers}/SyncStatus/SyncStatus.tsx +5 -7
- package/src/containers/SyncStatus/index.ts +7 -0
- package/src/{components → containers/ViewEditor}/ViewEditor.tsx +11 -10
- package/src/containers/ViewEditor/index.ts +7 -0
- package/src/containers/index.ts +28 -0
- package/src/helpers/query.test.ts +1 -1
- package/src/helpers/query.ts +20 -7
- package/src/hooks/useActiveSpace.ts +8 -7
- package/src/hooks/useInputSurfaceLookup.tsx +3 -3
- package/src/index.ts +2 -1
- package/src/meta.ts +1 -1
- package/src/translations.ts +30 -4
- package/src/types/capabilities.ts +8 -8
- package/src/types/events.ts +7 -6
- package/src/types/form.ts +1 -8
- package/src/types/types.ts +61 -76
- package/src/util.ts +82 -0
- package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs +0 -129
- package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs.map +0 -7
- package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs +0 -148
- package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +0 -7
- package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs +0 -142
- package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +0 -7
- package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs +0 -523
- package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +0 -7
- package/dist/lib/browser/chunk-3X2EA2OA.mjs +0 -1898
- package/dist/lib/browser/chunk-3X2EA2OA.mjs.map +0 -7
- package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-ASV6DYFH.mjs +0 -19
- package/dist/lib/browser/chunk-CCRSHECL.mjs.map +0 -7
- package/dist/lib/browser/chunk-SUI34XSA.mjs +0 -772
- package/dist/lib/browser/chunk-SUI34XSA.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZT2VPYRM.mjs.map +0 -7
- package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +0 -7
- package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +0 -7
- package/dist/lib/browser/react-root-PI7VTZUZ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-BPE7VWI7.mjs.map +0 -7
- package/dist/lib/browser/repair-CJG26D52.mjs +0 -50
- package/dist/lib/browser/repair-CJG26D52.mjs.map +0 -7
- package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +0 -7
- package/dist/lib/browser/state-7YZQB2KY.mjs.map +0 -7
- package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs +0 -130
- package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs +0 -149
- package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs +0 -143
- package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +0 -7
- package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs +0 -524
- package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2SW6S2BB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-7KMYUWSR.mjs +0 -773
- package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CVXULIYC.mjs +0 -20
- package/dist/lib/node-esm/chunk-EYS3L2NO.mjs +0 -1899
- package/dist/lib/node-esm/chunk-EYS3L2NO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +0 -7
- package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-KUXM33JI.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs.map +0 -7
- package/dist/lib/node-esm/repair-G3ZW3VG3.mjs.map +0 -7
- package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +0 -7
- package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +0 -7
- package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
- package/dist/types/src/components/CollectionArticle.d.ts +0 -9
- package/dist/types/src/components/CollectionArticle.d.ts.map +0 -1
- package/dist/types/src/components/CollectionSection.d.ts +0 -5
- package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -1604
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +0 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
- package/dist/types/src/components/JoinDialog/index.d.ts +0 -2
- package/dist/types/src/components/JoinDialog/index.d.ts.map +0 -1
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +0 -1600
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/MembersContainer/index.d.ts +0 -2
- package/dist/types/src/components/MembersContainer/index.d.ts.map +0 -1
- package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
- package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +0 -1
- package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +0 -1
- package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +0 -1
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts +0 -2
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +0 -1
- package/dist/types/src/components/RecordArticle.d.ts +0 -5
- package/dist/types/src/components/RecordArticle.d.ts.map +0 -1
- package/dist/types/src/components/RecordArticle.stories.d.ts +0 -1600
- package/dist/types/src/components/RecordArticle.stories.d.ts.map +0 -1
- package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
- package/dist/types/src/components/SpacePresence/index.d.ts +0 -2
- package/dist/types/src/components/SpacePresence/index.d.ts.map +0 -1
- package/dist/types/src/components/SpaceRenamePopover/index.d.ts +0 -2
- package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +0 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
- package/dist/types/src/components/SpaceSettings/index.d.ts +0 -2
- package/dist/types/src/components/SpaceSettings/index.d.ts.map +0 -1
- package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
- package/dist/types/src/components/ViewEditor.d.ts.map +0 -1
- package/src/components/CollectionArticle.tsx +0 -158
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -91
- package/src/components/MembersContainer/MembersContainer.stories.tsx +0 -56
- package/src/components/MembersContainer/index.ts +0 -5
- package/src/components/ObjectCardStack/ObjectCardStack.tsx +0 -67
- package/src/components/ObjectDetails/ObjectDetails.tsx +0 -32
- package/src/components/ObjectRenamePopover/index.ts +0 -5
- package/src/components/RecordArticle.stories.tsx +0 -115
- package/src/components/SpacePluginSettings.tsx +0 -62
- package/src/components/SpacePresence/index.ts +0 -5
- package/src/components/SpaceRenamePopover/index.ts +0 -5
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +0 -220
- package/src/components/SpaceSettings/index.ts +0 -5
- package/src/util.tsx +0 -779
- /package/dist/lib/browser/{chunk-AWVAX26X.mjs.map → chunk-SSTUPFZ2.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-HREWB23G.mjs.map → chunk-XYLDAH5C.mjs.map} +0 -0
- /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
- /package/dist/types/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.d.ts +0 -0
- /package/dist/types/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.d.ts +0 -0
- /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
- /package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts +0 -0
- /package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts +0 -0
- /package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +0 -0
- /package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts +0 -0
- /package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts +0 -0
- /package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +0 -0
- /package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts +0 -0
- /package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -0
- /package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +0 -0
- /package/src/{components → containers}/ObjectCardStack/index.ts +0 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { type Atom } from '@effect-atom/atom-react';
|
|
6
|
+
import * as Option from 'effect/Option';
|
|
7
|
+
|
|
8
|
+
import { type Space, SpaceState, isSpace } from '@dxos/client/echo';
|
|
9
|
+
import { Filter, Obj, type Type } from '@dxos/echo';
|
|
10
|
+
import { AtomObj, AtomQuery } from '@dxos/echo-atom';
|
|
11
|
+
import { Migrations } from '@dxos/migrations';
|
|
12
|
+
import { type Operation } from '@dxos/operation';
|
|
13
|
+
import { type Node } from '@dxos/plugin-graph';
|
|
14
|
+
import { type TreeData } from '@dxos/react-ui-list';
|
|
15
|
+
import { ViewAnnotation, getTypenameFromQuery } from '@dxos/schema';
|
|
16
|
+
import { type Label } from '@dxos/ui-types';
|
|
17
|
+
|
|
18
|
+
import { meta } from '../../../meta';
|
|
19
|
+
import { SPACE_TYPE } from '../../../types';
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
type MetadataResolver,
|
|
23
|
+
ACCEPT_ECHO_CLASS,
|
|
24
|
+
CACHEABLE_PROPS,
|
|
25
|
+
CAN_DROP_OBJECT,
|
|
26
|
+
blockInstructionCache,
|
|
27
|
+
buildCollectionPartials,
|
|
28
|
+
collectionPartialsCache,
|
|
29
|
+
createFactory,
|
|
30
|
+
createObjectNode,
|
|
31
|
+
getAcceptPersistenceKey,
|
|
32
|
+
getCollectionGraphNodePartials,
|
|
33
|
+
getDynamicLabel,
|
|
34
|
+
rearrangeCache,
|
|
35
|
+
} from '@dxos/app-toolkit';
|
|
36
|
+
|
|
37
|
+
//
|
|
38
|
+
// Virtual Node Types
|
|
39
|
+
//
|
|
40
|
+
|
|
41
|
+
export const TYPES_SECTION_TYPE = `${meta.id}.types`;
|
|
42
|
+
export const COLLECTIONS_SECTION_TYPE = `${meta.id}.collections`;
|
|
43
|
+
export const TYPE_COLLECTION_TYPE = `${meta.id}.type-collection`;
|
|
44
|
+
export const STATIC_SCHEMA_TYPE = `${meta.id}.static-schema`;
|
|
45
|
+
|
|
46
|
+
//
|
|
47
|
+
// Constants
|
|
48
|
+
//
|
|
49
|
+
|
|
50
|
+
/** Shared translation namespace descriptor. */
|
|
51
|
+
export const META_NS: { ns: string } = { ns: meta.id };
|
|
52
|
+
|
|
53
|
+
//
|
|
54
|
+
// Stable Callbacks
|
|
55
|
+
//
|
|
56
|
+
|
|
57
|
+
export const BLOCK_REORDER_ABOVE = (_source: TreeData, instruction: any) => instruction.type === 'reorder-above';
|
|
58
|
+
export const CAN_DROP_SPACE = (source: TreeData) => Obj.isObject(source.item.data) || isSpace(source.item.data);
|
|
59
|
+
|
|
60
|
+
//
|
|
61
|
+
// Matchers
|
|
62
|
+
//
|
|
63
|
+
|
|
64
|
+
/** Match space nodes and return the Space object. */
|
|
65
|
+
export const whenSpace = (node: Node.Node): Option.Option<Space> =>
|
|
66
|
+
node.type === SPACE_TYPE && isSpace(node.data) ? Option.some(node.data) : Option.none();
|
|
67
|
+
|
|
68
|
+
//
|
|
69
|
+
// Caches (space-specific, not moved to app-toolkit)
|
|
70
|
+
//
|
|
71
|
+
|
|
72
|
+
export const spaceActionsCache = new Map<
|
|
73
|
+
string,
|
|
74
|
+
{
|
|
75
|
+
state: SpaceState;
|
|
76
|
+
hasPendingMigration: boolean;
|
|
77
|
+
migrating: boolean;
|
|
78
|
+
actions: Node.NodeArg<Node.ActionData<Operation.Service>>[];
|
|
79
|
+
}
|
|
80
|
+
>();
|
|
81
|
+
export const spaceRearrangeCache = new Map<string, (nextOrder: Space[]) => void>();
|
|
82
|
+
|
|
83
|
+
//
|
|
84
|
+
// Static Labels
|
|
85
|
+
//
|
|
86
|
+
|
|
87
|
+
export const ADD_VIEW_TO_SCHEMA_LABEL: Label = ['add view to schema label', META_NS];
|
|
88
|
+
export const COPY_LINK_LABEL: Label = ['copy link label', META_NS];
|
|
89
|
+
export const CREATE_OBJECT_IN_COLLECTION_LABEL: Label = ['create object in collection label', META_NS];
|
|
90
|
+
export const CREATE_OBJECT_IN_SPACE_LABEL: Label = ['create object in space label', META_NS];
|
|
91
|
+
export const EXPOSE_OBJECT_LABEL: Label = ['expose object label', META_NS];
|
|
92
|
+
export const MIGRATE_SPACE_LABEL: Label = ['migrate space label', META_NS];
|
|
93
|
+
export const NEW_TYPE_LABEL: Label = ['new type label', META_NS];
|
|
94
|
+
export const REMOVE_FROM_COLLECTION_LABEL: Label = ['remove from collection label', META_NS];
|
|
95
|
+
export const RENAME_SPACE_LABEL: Label = ['rename space label', META_NS];
|
|
96
|
+
export const SETTINGS_PANEL_LABEL: Label = ['settings panel label', META_NS];
|
|
97
|
+
export const SNAPSHOT_BY_SCHEMA_LABEL: Label = ['snapshot by schema label', META_NS];
|
|
98
|
+
|
|
99
|
+
//
|
|
100
|
+
// Helpers
|
|
101
|
+
//
|
|
102
|
+
|
|
103
|
+
export const checkPendingMigration = (space: Space) => {
|
|
104
|
+
return (
|
|
105
|
+
space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||
|
|
106
|
+
(space.state.get() === SpaceState.SPACE_READY &&
|
|
107
|
+
!!Migrations.versionProperty &&
|
|
108
|
+
space.properties[Migrations.versionProperty] !== Migrations.targetVersion)
|
|
109
|
+
);
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export const downloadBlob = async (blob: Blob, filename: string) => {
|
|
113
|
+
const url = URL.createObjectURL(blob);
|
|
114
|
+
const anchor = document.createElement('a');
|
|
115
|
+
anchor.href = url;
|
|
116
|
+
anchor.download = filename;
|
|
117
|
+
|
|
118
|
+
document.body.appendChild(anchor);
|
|
119
|
+
anchor.click();
|
|
120
|
+
|
|
121
|
+
document.body.removeChild(anchor);
|
|
122
|
+
URL.revokeObjectURL(url);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
//
|
|
126
|
+
// View Index
|
|
127
|
+
//
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Index of view objects grouped by their target typename.
|
|
131
|
+
*/
|
|
132
|
+
export type ViewIndex = {
|
|
133
|
+
/** Typenames that have at least one straightforward view targeting them. */
|
|
134
|
+
typenamesWithViews: Set<string>;
|
|
135
|
+
/** View objects targeting a specific typename. */
|
|
136
|
+
getViewsForTypename: (typename: string) => Obj.Any[];
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Builds an index of view objects by scanning view-annotated schemas and resolving the target
|
|
141
|
+
* typename from each view's query AST. Only straightforward views whose query resolves to a
|
|
142
|
+
* simple typename via getTypenameFromQuery are included.
|
|
143
|
+
*/
|
|
144
|
+
// TODO(wittjosiah): Make reactive to schema registry changes (currently only object/view mutations trigger updates).
|
|
145
|
+
export const buildViewIndex = (get: Atom.Context, space: Space, schemas: Type.AnyEntity[]): ViewIndex => {
|
|
146
|
+
const viewSchemas = schemas.filter((schema) => ViewAnnotation.get(schema).pipe(Option.getOrElse(() => false)));
|
|
147
|
+
|
|
148
|
+
const viewsByTypename = new Map<string, Obj.Any[]>();
|
|
149
|
+
|
|
150
|
+
if (viewSchemas.length > 0) {
|
|
151
|
+
const filter = Filter.or(...viewSchemas.map((schema) => Filter.type(schema)));
|
|
152
|
+
const viewObjects = get(AtomQuery.make(space.db, filter));
|
|
153
|
+
|
|
154
|
+
for (const viewObject of viewObjects) {
|
|
155
|
+
const viewSnapshot = get(AtomObj.make(viewObject));
|
|
156
|
+
const viewRef = viewSnapshot.view;
|
|
157
|
+
const viewTarget = viewRef ? get(AtomObj.make(viewRef)) : undefined;
|
|
158
|
+
const typename = getTypenameFromQuery(viewTarget?.query?.ast);
|
|
159
|
+
if (typename) {
|
|
160
|
+
const existing = viewsByTypename.get(typename) ?? [];
|
|
161
|
+
existing.push(viewObject);
|
|
162
|
+
viewsByTypename.set(typename, existing);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return {
|
|
168
|
+
typenamesWithViews: new Set(viewsByTypename.keys()),
|
|
169
|
+
getViewsForTypename: (typename) => viewsByTypename.get(typename) ?? [],
|
|
170
|
+
};
|
|
171
|
+
};
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import * as Effect from 'effect/Effect';
|
|
6
|
+
|
|
7
|
+
import { Capability } from '@dxos/app-framework';
|
|
8
|
+
import { AppCapabilities, COMPANION_PREFIX } from '@dxos/app-toolkit';
|
|
9
|
+
import { type Space, SpaceState } from '@dxos/client/echo';
|
|
10
|
+
import { Filter, Obj } from '@dxos/echo';
|
|
11
|
+
import { AtomObj, AtomQuery } from '@dxos/echo-atom';
|
|
12
|
+
import { Migrations } from '@dxos/migrations';
|
|
13
|
+
import { Operation } from '@dxos/operation';
|
|
14
|
+
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
15
|
+
import { CreateAtom, Graph, GraphBuilder, Node, NodeMatcher } from '@dxos/plugin-graph';
|
|
16
|
+
import { Expando } from '@dxos/schema';
|
|
17
|
+
|
|
18
|
+
import { getActiveSpace } from '../../../hooks';
|
|
19
|
+
import { meta } from '../../../meta';
|
|
20
|
+
import { SPACE_TYPE, SpaceCapabilities, SpaceOperation } from '../../../types';
|
|
21
|
+
import { SHARED, getSpaceDisplayName } from '../../../util';
|
|
22
|
+
|
|
23
|
+
import {
|
|
24
|
+
CACHEABLE_PROPS,
|
|
25
|
+
CAN_DROP_SPACE,
|
|
26
|
+
CREATE_OBJECT_IN_SPACE_LABEL,
|
|
27
|
+
MIGRATE_SPACE_LABEL,
|
|
28
|
+
RENAME_SPACE_LABEL,
|
|
29
|
+
SETTINGS_PANEL_LABEL,
|
|
30
|
+
checkPendingMigration,
|
|
31
|
+
spaceActionsCache,
|
|
32
|
+
spaceRearrangeCache,
|
|
33
|
+
whenSpace,
|
|
34
|
+
} from './shared';
|
|
35
|
+
|
|
36
|
+
//
|
|
37
|
+
// Extension Factory
|
|
38
|
+
//
|
|
39
|
+
|
|
40
|
+
/** Creates space-related extensions: primary actions, space nodes, and space actions. */
|
|
41
|
+
export const createSpaceExtensions = Effect.fnUntraced(function* () {
|
|
42
|
+
const capabilities = yield* Capability.Service;
|
|
43
|
+
|
|
44
|
+
return yield* Effect.all([
|
|
45
|
+
GraphBuilder.createExtension({
|
|
46
|
+
id: `${meta.id}.primary-actions`,
|
|
47
|
+
position: 'hoist',
|
|
48
|
+
match: NodeMatcher.whenRoot,
|
|
49
|
+
actions: () =>
|
|
50
|
+
Effect.succeed([
|
|
51
|
+
{
|
|
52
|
+
id: SpaceOperation.OpenCreateSpace.meta.key,
|
|
53
|
+
data: () => Operation.invoke(SpaceOperation.OpenCreateSpace),
|
|
54
|
+
properties: {
|
|
55
|
+
label: ['create space label', { ns: meta.id }],
|
|
56
|
+
icon: 'ph--plus--regular',
|
|
57
|
+
testId: 'spacePlugin.createSpace',
|
|
58
|
+
disposition: 'menu',
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: SpaceOperation.Join.meta.key,
|
|
63
|
+
data: () => Operation.invoke(SpaceOperation.Join, {}),
|
|
64
|
+
properties: {
|
|
65
|
+
label: ['join space label', { ns: meta.id }],
|
|
66
|
+
icon: 'ph--sign-in--regular',
|
|
67
|
+
testId: 'spacePlugin.joinSpace',
|
|
68
|
+
disposition: 'menu',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: SpaceOperation.OpenMembers.meta.key,
|
|
73
|
+
data: Effect.fnUntraced(function* () {
|
|
74
|
+
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
75
|
+
const space = getActiveSpace(capabilities) ?? client.spaces.default;
|
|
76
|
+
yield* Operation.invoke(SpaceOperation.OpenMembers, { space });
|
|
77
|
+
}),
|
|
78
|
+
properties: {
|
|
79
|
+
label: ['share space label', { ns: meta.id }],
|
|
80
|
+
icon: 'ph--users--regular',
|
|
81
|
+
testId: 'spacePlugin.shareSpace',
|
|
82
|
+
keyBinding: {
|
|
83
|
+
macos: 'meta+.',
|
|
84
|
+
windows: 'alt+.',
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
id: SpaceOperation.OpenSettings.meta.key,
|
|
90
|
+
data: Effect.fnUntraced(function* () {
|
|
91
|
+
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
92
|
+
const space = getActiveSpace(capabilities) ?? client.spaces.default;
|
|
93
|
+
yield* Operation.invoke(SpaceOperation.OpenSettings, { space });
|
|
94
|
+
}),
|
|
95
|
+
properties: {
|
|
96
|
+
label: ['open current space settings label', { ns: meta.id }],
|
|
97
|
+
icon: 'ph--faders--regular',
|
|
98
|
+
keyBinding: {
|
|
99
|
+
macos: 'meta+shift+,',
|
|
100
|
+
windows: 'ctrl+shift+,',
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
]),
|
|
105
|
+
}),
|
|
106
|
+
|
|
107
|
+
GraphBuilder.createExtension({
|
|
108
|
+
id: `${meta.id}.spaces`,
|
|
109
|
+
match: NodeMatcher.whenRoot,
|
|
110
|
+
connector: (_node, get) => {
|
|
111
|
+
const client = capabilities.get(ClientCapabilities.Client);
|
|
112
|
+
const stateAtom = capabilities.get(SpaceCapabilities.State);
|
|
113
|
+
const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
|
|
114
|
+
const spacesAtom = CreateAtom.fromObservable(client.spaces);
|
|
115
|
+
const isReadyAtom = CreateAtom.fromObservable(client.spaces.isReady);
|
|
116
|
+
|
|
117
|
+
const spaces = get(spacesAtom);
|
|
118
|
+
const isReady = get(isReadyAtom);
|
|
119
|
+
|
|
120
|
+
if (!spaces || !isReady) {
|
|
121
|
+
return Effect.succeed([]);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const settingsAtom = capabilities.get(SpaceCapabilities.Settings);
|
|
125
|
+
const settings = get(settingsAtom);
|
|
126
|
+
const state = get(stateAtom);
|
|
127
|
+
const ephemeralState = get(ephemeralAtom);
|
|
128
|
+
|
|
129
|
+
try {
|
|
130
|
+
const [spacesOrder] = get(
|
|
131
|
+
AtomQuery.make(client.spaces.default.db, Filter.type(Expando.Expando, { key: SHARED })),
|
|
132
|
+
);
|
|
133
|
+
const { graph } = capabilities.get(AppCapabilities.AppGraph);
|
|
134
|
+
|
|
135
|
+
const spacesOrderSnapshot = spacesOrder ? get(AtomObj.make(spacesOrder)) : undefined;
|
|
136
|
+
const order: string[] = (spacesOrderSnapshot as any)?.order ?? [];
|
|
137
|
+
const orderMap = new Map(order.map((id, index) => [id, index]));
|
|
138
|
+
|
|
139
|
+
const spaceStates = spaces.map((space) => get(CreateAtom.fromObservable(space.state)));
|
|
140
|
+
|
|
141
|
+
spaces.forEach((space) => {
|
|
142
|
+
if (space.state.get() === SpaceState.SPACE_READY) {
|
|
143
|
+
get(AtomObj.make(space.properties));
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
return Effect.succeed(
|
|
148
|
+
[
|
|
149
|
+
...spaces
|
|
150
|
+
.filter((space) => orderMap.has(space.id))
|
|
151
|
+
.sort((sortA, sortB) => orderMap.get(sortA.id)! - orderMap.get(sortB.id)!),
|
|
152
|
+
...spaces.filter((space) => !orderMap.has(space.id)),
|
|
153
|
+
]
|
|
154
|
+
.filter((space, idx) => (settings?.showHidden ? true : spaceStates[idx] !== SpaceState.SPACE_INACTIVE))
|
|
155
|
+
.map((space) =>
|
|
156
|
+
constructSpaceNode({
|
|
157
|
+
space,
|
|
158
|
+
navigable: ephemeralState.navigableCollections,
|
|
159
|
+
personal: space === client.spaces.default,
|
|
160
|
+
namesCache: state.spaceNames,
|
|
161
|
+
graph,
|
|
162
|
+
spacesOrder,
|
|
163
|
+
}),
|
|
164
|
+
),
|
|
165
|
+
);
|
|
166
|
+
} catch {
|
|
167
|
+
return Effect.succeed([]);
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
// TODO(graph-path-ids): Resolver temporarily disabled; redesign needed for path-based IDs.
|
|
171
|
+
// resolver: (id, get) => { ... },
|
|
172
|
+
}),
|
|
173
|
+
|
|
174
|
+
GraphBuilder.createExtension({
|
|
175
|
+
id: `${meta.id}.actions`,
|
|
176
|
+
match: whenSpace,
|
|
177
|
+
actions: (space, get) => {
|
|
178
|
+
const [client] = get(capabilities.atom(ClientCapabilities.Client));
|
|
179
|
+
const ephemeralAtom = capabilities.get(SpaceCapabilities.EphemeralState);
|
|
180
|
+
const ephemeralState = get(ephemeralAtom);
|
|
181
|
+
|
|
182
|
+
if (!client) {
|
|
183
|
+
return Effect.succeed([]);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
return Effect.succeed(
|
|
187
|
+
constructSpaceActions({
|
|
188
|
+
space,
|
|
189
|
+
migrating: ephemeralState.sdkMigrationRunning[space.id],
|
|
190
|
+
}),
|
|
191
|
+
);
|
|
192
|
+
},
|
|
193
|
+
}),
|
|
194
|
+
]);
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
//
|
|
198
|
+
// Helpers
|
|
199
|
+
//
|
|
200
|
+
|
|
201
|
+
/** Builds an app-graph node for a space, including settings children and optional rearrange handler. */
|
|
202
|
+
const constructSpaceNode = ({
|
|
203
|
+
space,
|
|
204
|
+
navigable = false,
|
|
205
|
+
personal,
|
|
206
|
+
namesCache,
|
|
207
|
+
graph,
|
|
208
|
+
spacesOrder,
|
|
209
|
+
}: {
|
|
210
|
+
space: Space;
|
|
211
|
+
navigable?: boolean;
|
|
212
|
+
personal?: boolean;
|
|
213
|
+
namesCache?: Record<string, string>;
|
|
214
|
+
graph?: Graph.ExpandableGraph;
|
|
215
|
+
spacesOrder?: Obj.Any;
|
|
216
|
+
}) => {
|
|
217
|
+
const hasPendingMigration = checkPendingMigration(space);
|
|
218
|
+
|
|
219
|
+
let onRearrange: ((nextOrder: Space[]) => void) | undefined;
|
|
220
|
+
if (graph && spacesOrder) {
|
|
221
|
+
onRearrange = spaceRearrangeCache.get(space.id);
|
|
222
|
+
if (!onRearrange) {
|
|
223
|
+
onRearrange = (nextOrder: Space[]) => {
|
|
224
|
+
Graph.sortEdges(
|
|
225
|
+
graph,
|
|
226
|
+
Node.RootId,
|
|
227
|
+
'outbound',
|
|
228
|
+
nextOrder.map(({ id }) => id),
|
|
229
|
+
);
|
|
230
|
+
|
|
231
|
+
Obj.change(spacesOrder, (mutableOrder: any) => {
|
|
232
|
+
mutableOrder.order = nextOrder.map(({ id }) => id);
|
|
233
|
+
});
|
|
234
|
+
};
|
|
235
|
+
spaceRearrangeCache.set(space.id, onRearrange);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
return {
|
|
240
|
+
id: space.id,
|
|
241
|
+
type: SPACE_TYPE,
|
|
242
|
+
cacheable: CACHEABLE_PROPS,
|
|
243
|
+
data: space,
|
|
244
|
+
properties: {
|
|
245
|
+
label: getSpaceDisplayName(space, { personal, namesCache }),
|
|
246
|
+
description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,
|
|
247
|
+
hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
|
|
248
|
+
icon:
|
|
249
|
+
space.state.get() === SpaceState.SPACE_READY && space.properties.icon
|
|
250
|
+
? `ph--${space.properties.icon}--regular`
|
|
251
|
+
: undefined,
|
|
252
|
+
iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
|
|
253
|
+
disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
|
|
254
|
+
disposition: 'workspace',
|
|
255
|
+
testId: 'spacePlugin.space',
|
|
256
|
+
onRearrange,
|
|
257
|
+
canDrop: CAN_DROP_SPACE,
|
|
258
|
+
},
|
|
259
|
+
nodes: [
|
|
260
|
+
{
|
|
261
|
+
id: 'settings',
|
|
262
|
+
type: `${meta.id}.settings`,
|
|
263
|
+
data: null,
|
|
264
|
+
properties: {
|
|
265
|
+
label: SETTINGS_PANEL_LABEL,
|
|
266
|
+
icon: 'ph--faders--regular',
|
|
267
|
+
disposition: 'alternate-tree',
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
],
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
/** Builds the action list for a space node (migrate, create object, rename). */
|
|
275
|
+
const constructSpaceActions = ({ space, migrating }: { space: Space; migrating?: boolean }) => {
|
|
276
|
+
const state = space.state.get();
|
|
277
|
+
const hasPendingMigration = checkPendingMigration(space);
|
|
278
|
+
const isMigrating = migrating || Migrations.running(space);
|
|
279
|
+
|
|
280
|
+
const cached = spaceActionsCache.get(space.id);
|
|
281
|
+
if (
|
|
282
|
+
cached &&
|
|
283
|
+
cached.state === state &&
|
|
284
|
+
cached.hasPendingMigration === hasPendingMigration &&
|
|
285
|
+
cached.migrating === isMigrating
|
|
286
|
+
) {
|
|
287
|
+
return cached.actions;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
const actions: Node.NodeArg<Node.ActionData<Operation.Service>>[] = [];
|
|
291
|
+
|
|
292
|
+
if (hasPendingMigration) {
|
|
293
|
+
actions.push({
|
|
294
|
+
id: SpaceOperation.Migrate.meta.key,
|
|
295
|
+
type: Node.ActionGroupType,
|
|
296
|
+
data: () => Operation.invoke(SpaceOperation.Migrate, { space }),
|
|
297
|
+
properties: {
|
|
298
|
+
label: MIGRATE_SPACE_LABEL,
|
|
299
|
+
icon: 'ph--database--regular',
|
|
300
|
+
disposition: 'list-item-primary',
|
|
301
|
+
disabled: isMigrating,
|
|
302
|
+
},
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
if (state === SpaceState.SPACE_READY && !hasPendingMigration) {
|
|
307
|
+
actions.push(
|
|
308
|
+
{
|
|
309
|
+
id: SpaceOperation.OpenCreateObject.meta.key,
|
|
310
|
+
type: Node.ActionType,
|
|
311
|
+
data: () => Operation.invoke(SpaceOperation.OpenCreateObject, { target: space.db }),
|
|
312
|
+
properties: {
|
|
313
|
+
label: CREATE_OBJECT_IN_SPACE_LABEL,
|
|
314
|
+
icon: 'ph--plus--regular',
|
|
315
|
+
disposition: 'list-item-primary',
|
|
316
|
+
testId: 'spacePlugin.createObject',
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
id: SpaceOperation.Rename.meta.key,
|
|
321
|
+
type: Node.ActionType,
|
|
322
|
+
data: (params?: Node.InvokeProps) =>
|
|
323
|
+
Operation.invoke(SpaceOperation.Rename, { space, caller: `${params?.caller}:${params?.parent?.id}` }),
|
|
324
|
+
properties: {
|
|
325
|
+
label: RENAME_SPACE_LABEL,
|
|
326
|
+
icon: 'ph--pencil-simple-line--regular',
|
|
327
|
+
keyBinding: {
|
|
328
|
+
macos: 'shift+F6',
|
|
329
|
+
windows: 'shift+F6',
|
|
330
|
+
},
|
|
331
|
+
},
|
|
332
|
+
},
|
|
333
|
+
);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
spaceActionsCache.set(space.id, { state, hasPendingMigration, migrating: isMigrating, actions });
|
|
337
|
+
return actions;
|
|
338
|
+
};
|