@dxos/plugin-space 0.8.3 → 0.8.4-main.1f223c7
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/CollectionMain-D2B75XBS.mjs +31 -0
- package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs +90 -0
- package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs.map +7 -0
- package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +68 -0
- package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-M2RH72VL.mjs → app-graph-builder-AFC6PNAB.mjs} +188 -34
- package/dist/lib/browser/app-graph-builder-AFC6PNAB.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-F7ISRRBV.mjs → app-graph-serializer-Q7QG4EKW.mjs} +13 -13
- package/dist/lib/browser/app-graph-serializer-Q7QG4EKW.mjs.map +7 -0
- package/dist/lib/browser/{chunk-NFUKCRGE.mjs → chunk-6GRF7NEF.mjs} +440 -376
- package/dist/lib/browser/chunk-6GRF7NEF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-YMCZR6EZ.mjs → chunk-CBYL62HG.mjs} +5 -4
- package/dist/lib/browser/chunk-CBYL62HG.mjs.map +7 -0
- package/dist/lib/browser/{chunk-7Y4M7GXO.mjs → chunk-ELJDGQTO.mjs} +6 -6
- package/dist/lib/browser/{chunk-7Y4M7GXO.mjs.map → chunk-ELJDGQTO.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-PTKYMZWO.mjs → chunk-FBCGT5YY.mjs} +2 -2
- package/dist/lib/browser/{chunk-V24VASAJ.mjs → chunk-S33AYKSS.mjs} +189 -34
- package/dist/lib/browser/chunk-S33AYKSS.mjs.map +7 -0
- package/dist/lib/browser/{chunk-BXNL6SDI.mjs → chunk-TUQZO5P4.mjs} +4 -3
- package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TW7O2EPP.mjs → chunk-URST7EEN.mjs} +68 -8
- package/dist/lib/browser/chunk-URST7EEN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4ZKSFDXM.mjs → chunk-WZYRDFW7.mjs} +76 -14
- package/dist/lib/browser/chunk-WZYRDFW7.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-PI7TKANR.mjs → identity-created-T6ZNVE7S.mjs} +5 -5
- package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +95 -24
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-RWU6ZE4H.mjs → intent-resolver-CO262Q44.mjs} +181 -26
- package/dist/lib/browser/intent-resolver-CO262Q44.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-QIKHSNT2.mjs → react-root-K4IVLFYZ.mjs} +8 -8
- package/dist/lib/browser/{react-root-QIKHSNT2.mjs.map → react-root-K4IVLFYZ.mjs.map} +2 -2
- package/dist/lib/browser/{react-surface-W56UD53I.mjs → react-surface-TPUOK2LC.mjs} +57 -25
- package/dist/lib/browser/react-surface-TPUOK2LC.mjs.map +7 -0
- package/dist/lib/browser/{schema-defs-WREJNMIC.mjs → schema-defs-YDPFZELA.mjs} +4 -4
- package/dist/lib/browser/schema-defs-YDPFZELA.mjs.map +7 -0
- package/dist/lib/browser/{settings-K54STC5A.mjs → settings-ZYH2JWNI.mjs} +4 -4
- package/dist/lib/browser/{spaces-ready-3PDRDHPC.mjs → spaces-ready-3I5LISH4.mjs} +17 -15
- package/dist/lib/browser/spaces-ready-3I5LISH4.mjs.map +7 -0
- package/dist/lib/browser/{state-HRZ4VRXU.mjs → state-2RGW7FQG.mjs} +4 -4
- package/dist/lib/{node-esm/state-XQNDCN37.mjs.map → browser/state-2RGW7FQG.mjs.map} +2 -2
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs +32 -0
- package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs +91 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs.map +7 -0
- package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +70 -0
- package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-BCHVZ4OM.mjs → app-graph-builder-OW2EBYRI.mjs} +188 -34
- package/dist/lib/node-esm/app-graph-builder-OW2EBYRI.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-TXRGGNP2.mjs → app-graph-serializer-6PGC5WR5.mjs} +13 -13
- package/dist/lib/node-esm/app-graph-serializer-6PGC5WR5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-3CP67AYY.mjs → chunk-FJZNSJC4.mjs} +5 -4
- package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-BSLREHIX.mjs → chunk-HC677WUJ.mjs} +4 -3
- package/dist/lib/node-esm/chunk-HC677WUJ.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs → chunk-HWNG4MEU.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-JBQKU4K5.mjs → chunk-LGNPMOXU.mjs} +76 -14
- package/dist/lib/node-esm/chunk-LGNPMOXU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LA6AVVH6.mjs → chunk-NMCD2PSG.mjs} +440 -376
- package/dist/lib/node-esm/chunk-NMCD2PSG.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs → chunk-Q6AAQLQG.mjs} +6 -6
- package/dist/lib/node-esm/{chunk-GH2FGJXH.mjs.map → chunk-Q6AAQLQG.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-D4QMPPS7.mjs → chunk-RXDT5LA5.mjs} +68 -8
- package/dist/lib/node-esm/chunk-RXDT5LA5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HO7AIKQS.mjs → chunk-TEUN2E4F.mjs} +189 -34
- package/dist/lib/node-esm/chunk-TEUN2E4F.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-35CTAQWI.mjs → identity-created-AL7NNCKH.mjs} +5 -5
- package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +95 -24
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-JO6L2VXC.mjs → intent-resolver-EXPK4B76.mjs} +181 -26
- package/dist/lib/node-esm/intent-resolver-EXPK4B76.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs → react-root-4OQ7MPGW.mjs} +8 -8
- package/dist/lib/node-esm/{react-root-YFGL3B4J.mjs.map → react-root-4OQ7MPGW.mjs.map} +2 -2
- package/dist/lib/node-esm/{react-surface-CVAPDLEZ.mjs → react-surface-WXEXIDB7.mjs} +57 -25
- package/dist/lib/node-esm/react-surface-WXEXIDB7.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-defs-4MEJETVX.mjs → schema-defs-OYBCWKAS.mjs} +4 -4
- package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-TD76LTQS.mjs → settings-2RYFMMTP.mjs} +4 -4
- package/dist/lib/node-esm/{spaces-ready-FJMGPAVV.mjs → spaces-ready-JAP22P57.mjs} +17 -15
- package/dist/lib/node-esm/spaces-ready-JAP22P57.mjs.map +7 -0
- package/dist/lib/node-esm/{state-XQNDCN37.mjs → state-7VBVBGNS.mjs} +4 -4
- package/dist/lib/node-esm/state-7VBVBGNS.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.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +9 -3
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/identity-created.d.ts +1 -1
- package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +11 -12
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts +2 -2
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +1 -1
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/CollectionMain.d.ts +1 -0
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +4 -3
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1584 -3
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -3
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.d.ts +3 -2
- package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.stories.d.ts +1584 -4
- package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetailsPanel.d.ts +9 -0
- package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/RecordMain.d.ts +7 -0
- package/dist/types/src/components/RecordMain.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/SpacePresence.stories.d.ts +1411 -2
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1417 -3
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1418 -4
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
- package/dist/types/src/components/ViewEditor.d.ts +8 -0
- package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +14 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +1 -0
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1402 -410
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +82 -22
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +32 -5
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +54 -53
- package/src/SpacePlugin.ts +81 -16
- package/src/capabilities/app-graph-builder.ts +232 -22
- package/src/capabilities/app-graph-serializer.ts +6 -6
- package/src/capabilities/capabilities.ts +9 -3
- package/src/capabilities/identity-created.ts +3 -5
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/intent-resolver.ts +136 -15
- package/src/capabilities/react-root.tsx +2 -1
- package/src/capabilities/react-surface.tsx +73 -22
- package/src/capabilities/schema-defs.ts +3 -2
- package/src/capabilities/spaces-ready.ts +10 -7
- package/src/capabilities/state.ts +3 -2
- package/src/components/AwaitingObject.tsx +5 -7
- package/src/components/CollectionMain.tsx +2 -0
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +9 -8
- package/src/components/CreateDialog/CreateObjectDialog.tsx +47 -33
- package/src/components/CreateDialog/CreateObjectPanel.tsx +18 -7
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +1 -1
- package/src/components/JoinDialog.tsx +1 -1
- package/src/components/MembersContainer.stories.tsx +35 -10
- package/src/components/MembersContainer.tsx +13 -13
- package/src/components/MenuFooter.tsx +2 -3
- package/src/components/ObjectDetailsPanel.tsx +79 -0
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -1
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +3 -2
- package/src/components/PersistenceStatus.tsx +5 -6
- package/src/components/PopoverRenameObject.tsx +7 -13
- package/src/components/PopoverRenameSpace.tsx +1 -1
- package/src/components/RecordMain.tsx +43 -0
- package/src/components/SchemaContainer.tsx +2 -2
- package/src/components/SpacePluginSettings.tsx +6 -7
- package/src/components/SpacePresence.stories.tsx +8 -5
- package/src/components/SpacePresence.tsx +7 -7
- package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -6
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +8 -8
- package/src/components/SyncStatus/SyncStatus.stories.tsx +12 -18
- package/src/components/SyncStatus/SyncStatus.tsx +4 -3
- package/src/components/SyncStatus/save-tracker.ts +3 -3
- package/src/components/SyncStatus/status.ts +4 -4
- package/src/components/ViewEditor.tsx +59 -0
- package/src/components/index.ts +7 -1
- package/src/events.ts +2 -1
- package/src/hooks/useActiveSpace.ts +2 -2
- package/src/hooks/useInputSurfaceLookup.tsx +1 -1
- package/src/translations.ts +74 -9
- package/src/types/types.ts +66 -9
- package/src/util.tsx +177 -33
- package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +0 -7
- package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +0 -7
- package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +0 -7
- package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +0 -7
- package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +0 -7
- package/dist/lib/browser/chunk-V24VASAJ.mjs.map +0 -7
- package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +0 -7
- package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +0 -7
- package/dist/lib/browser/react-surface-W56UD53I.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-WREJNMIC.mjs.map +0 -7
- package/dist/lib/browser/schema-tools-ILTVSSS3.mjs +0 -124
- package/dist/lib/browser/schema-tools-ILTVSSS3.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +0 -7
- package/dist/lib/browser/state-HRZ4VRXU.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs +0 -364
- package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +0 -7
- package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs +0 -89
- package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +0 -7
- package/dist/lib/node/chunk-3X4EA4XL.cjs +0 -37
- package/dist/lib/node/chunk-3X4EA4XL.cjs.map +0 -7
- package/dist/lib/node/chunk-5WLAXYE3.cjs +0 -125
- package/dist/lib/node/chunk-5WLAXYE3.cjs.map +0 -7
- package/dist/lib/node/chunk-6P2DB4QQ.cjs +0 -36
- package/dist/lib/node/chunk-6P2DB4QQ.cjs.map +0 -7
- package/dist/lib/node/chunk-DOC5XEZ4.cjs +0 -184
- package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +0 -7
- package/dist/lib/node/chunk-NCHF433F.cjs +0 -1921
- package/dist/lib/node/chunk-NCHF433F.cjs.map +0 -7
- package/dist/lib/node/chunk-NL5Y4EDX.cjs +0 -38
- package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +0 -7
- package/dist/lib/node/chunk-ULJZPATP.cjs +0 -312
- package/dist/lib/node/chunk-ULJZPATP.cjs.map +0 -7
- package/dist/lib/node/chunk-XHWVT7LW.cjs +0 -572
- package/dist/lib/node/chunk-XHWVT7LW.cjs.map +0 -7
- package/dist/lib/node/identity-created-FF4WZ2WY.cjs +0 -42
- package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +0 -7
- package/dist/lib/node/index.cjs +0 -278
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs +0 -609
- package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
- package/dist/lib/node/react-root-RQUU3A45.cjs +0 -51
- package/dist/lib/node/react-root-RQUU3A45.cjs.map +0 -7
- package/dist/lib/node/react-surface-AZFJLE72.cjs +0 -351
- package/dist/lib/node/react-surface-AZFJLE72.cjs.map +0 -7
- package/dist/lib/node/schema-defs-OB2X2HBH.cjs +0 -42
- package/dist/lib/node/schema-defs-OB2X2HBH.cjs.map +0 -7
- package/dist/lib/node/schema-tools-IYREN4IH.cjs +0 -147
- package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +0 -7
- package/dist/lib/node/settings-P2EQ7VKQ.cjs +0 -38
- package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +0 -7
- package/dist/lib/node/spaces-ready-DXPOHYV7.cjs +0 -210
- package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +0 -7
- package/dist/lib/node/state-M35DK75Z.cjs +0 -61
- package/dist/lib/node/state-M35DK75Z.cjs.map +0 -7
- package/dist/lib/node/types/index.cjs +0 -48
- package/dist/lib/node/types/index.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-4MEJETVX.mjs.map +0 -7
- package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs +0 -126
- package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +0 -7
- package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
- package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
- package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
- package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
- package/src/capabilities/schema-tool.test.ts +0 -44
- package/src/capabilities/schema-tools.ts +0 -125
- /package/dist/lib/browser/{chunk-PTKYMZWO.mjs.map → chunk-FBCGT5YY.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-K54STC5A.mjs.map → settings-ZYH2JWNI.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-MSWEFAPD.mjs.map → chunk-HWNG4MEU.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-TD76LTQS.mjs.map → settings-2RYFMMTP.mjs.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { type Obj, Type } from '@dxos/echo';\nimport { type BaseObject, EchoSchema, StoredSchema, type TypedObject } from '@dxos/echo-schema';\nimport { type PublicKey } from '@dxos/react-client';\n// TODO(wittjosiah): This pulls in full client.\nimport { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';\nimport { DataType, FieldSchema, TypenameAnnotationId } from '@dxos/schema';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';\nexport const SPACE_TYPE = 'dxos.org/type/Space';\n\nexport type ObjectViewerProps = {\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type ObjectId = string;\n\nexport type PluginState = {\n /**\n * Which objects are currently being viewed by which peers.\n */\n viewersByObject: Record<ObjectId, ComplexMap<PublicKey, ObjectViewerProps>>;\n\n /**\n * Which peers are currently viewing which objects.\n */\n viewersByIdentity: ComplexMap<PublicKey, Set<ObjectId>>;\n\n /**\n * Object that was linked to directly but not found and is being awaited.\n */\n awaiting: string | undefined;\n\n /**\n * Cached space names, used when spaces are closed or loading.\n */\n spaceNames: Record<string, string>;\n\n /**\n * Which spaces have an SDK migration running currently.\n */\n // TODO(wittjosiah): Factor out to sdk. Migration running should probably be a space state.\n sdkMigrationRunning: Record<string, boolean>;\n\n /**\n * Whether or not the user can navigate to collections in the graph.\n * Determined by whether or not there is an available plugin that can render a collection.\n */\n navigableCollections: boolean;\n\n /**\n * Tracks whether setting edge replication as default has been run on spaces.\n */\n // TODO(wittjosiah): Systematic way to handle migrations of state outside of spaces.\n enabledEdgeReplication: boolean;\n};\n\nexport const SpaceSettingsSchema = Schema.mutable(\n Schema.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: Schema.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Obj.Any = Type.Expando> {\n serialize(params: { object: T }): Promise<string>;\n\n /**\n * @param params.content\n * @param params.space Space to use for deserializing schema references.\n * @param params.newId Generate new ID for deserialized object.\n */\n deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;\n}\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');\nexport const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');\n\nexport const SpaceForm = Schema.Struct({\n name: Schema.optional(Schema.String.annotations({ title: 'Name' })),\n icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n // TODO(wittjosiah): Make optional with default value.\n edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),\n});\n\nexport type ObjectForm<T extends BaseObject = BaseObject> = {\n // TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext\n objectSchema: TypedObject;\n formSchema?: Schema.Schema<T, any>;\n hidden?: boolean;\n getIntent: (props: T, options: { space: Space }) => AnyIntentChain;\n};\n\nexport const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;\n\nexport const SPACE_ACTION = `${SPACE_PLUGIN}/action`;\n\nexport namespace SpaceAction {\n export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {\n input: SpaceForm,\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n space: SpaceSchema,\n }),\n }) {}\n\n export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n onDone: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n }) {}\n\n export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\n input: Schema.Struct({\n space: SpaceSchema,\n type: Schema.Enums(Invitation.Type),\n authMethod: Schema.Enums(Invitation.AuthMethod),\n multiUse: Schema.Boolean,\n target: Schema.optional(Schema.String),\n }),\n output: Schema.instanceOf(CancellableInvitationObservable),\n }) {}\n\n export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {\n input: Schema.Struct({\n space: SpaceSchema,\n target: Schema.optional(Schema.String),\n copyToClipboard: Schema.optional(Schema.Boolean),\n }),\n output: Schema.String,\n }) {}\n\n export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {\n input: Schema.Struct({\n space: SpaceSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n // TODO(wittjosiah): Handle scrolling to section.\n // This maybe motivates making the space settings its own deck?\n export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: Schema.Struct({ space: SpaceSchema }),\n output: Schema.Void,\n }) {}\n\n export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {\n input: Schema.Struct({\n space: SpaceSchema,\n version: Schema.optional(Schema.String),\n }),\n output: Schema.Boolean,\n }) {}\n\n export const StoredSchemaForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.optional(\n Schema.String.annotations({\n [TypenameAnnotationId]: ['unused-static'],\n }),\n ),\n });\n\n export class UseStaticSchema extends Schema.TaggedClass<UseStaticSchema>()(`${SPACE_ACTION}/use-static-schema`, {\n input: Schema.Struct({\n space: SpaceSchema,\n typename: Schema.String,\n }),\n output: Schema.Struct({}),\n }) {}\n\n export class AddSchema extends Schema.TaggedClass<AddSchema>()(`${SPACE_ACTION}/add-schema`, {\n input: Schema.Struct({\n space: SpaceSchema,\n name: Schema.optional(Schema.String),\n typename: Schema.optional(Schema.String),\n // TODO(wittjosiah): Semantic version format.\n version: Schema.optional(Schema.String),\n // TODO(wittjosiah): Schema for schema?\n schema: Schema.Any,\n }),\n output: Schema.Struct({\n // TODO(wittjosiah): ObjectId.\n id: Schema.String,\n object: StoredSchema,\n schema: Schema.instanceOf(EchoSchema),\n }),\n }) {}\n\n export class DeleteField extends Schema.TaggedClass<DeleteField>()(`${SPACE_ACTION}/delete-field`, {\n input: Schema.Struct({\n view: DataType.View,\n fieldId: Schema.String,\n // TODO(wittjosiah): Separate fields for undo data?\n deletionData: Schema.optional(\n Schema.Struct({\n field: FieldSchema,\n // TODO(wittjosiah): This creates a type error.\n // props: PropertySchema,\n props: Schema.Any,\n index: Schema.Number,\n }),\n ),\n }),\n output: Schema.Void,\n }) {}\n\n export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {\n input: Schema.Struct({\n target: Schema.Union(SpaceSchema, DataType.Collection),\n views: Schema.optional(Schema.Boolean),\n typename: Schema.optional(Schema.String),\n initialFormValues: Schema.optional(Schema.Any),\n navigable: Schema.optional(Schema.Boolean),\n // TODO(wittjosiah): This is a function, is there a better way to handle this?\n onCreateObject: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n }) {}\n\n export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {\n input: Schema.Struct({\n object: ReactiveObjectSchema,\n target: Schema.Union(SpaceSchema, DataType.Collection),\n hidden: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n // TODO(wittjosiah): ObjectId.\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n object: EchoObjectSchema,\n }),\n }) {}\n\n export class AddRelation extends Schema.TaggedClass<AddRelation>()(`${SPACE_ACTION}/add-relation`, {\n input: Schema.Struct({\n space: SpaceSchema,\n // TODO(wittjosiah): Relation schema.\n schema: Schema.Any,\n source: Type.Expando,\n target: Type.Expando,\n // TODO(wittjosiah): Type based on relation schema.\n fields: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Struct({\n relation: Schema.Any,\n }),\n }) {}\n\n export const DeletionData = Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n parentCollection: DataType.Collection,\n indices: Schema.Array(Schema.Number),\n nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),\n wasActive: Schema.Array(Schema.String),\n });\n\n export type DeletionData = Schema.Schema.Type<typeof DeletionData>;\n\n export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {\n input: Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n target: Schema.optional(DataType.Collection),\n deletionData: Schema.optional(DeletionData),\n }),\n output: Schema.Void,\n }) {}\n\n export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n target: Schema.Union(SpaceSchema, DataType.Collection),\n }),\n output: Schema.Void,\n }) {}\n\n export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {\n input: Schema.Struct({\n id: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport namespace CollectionAction {\n export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: DataType.Collection,\n }),\n }) {}\n\n export const QueryCollectionForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.String.annotations({\n [TypenameAnnotationId]: ['object-form'],\n }),\n });\n\n export class CreateQueryCollection extends Schema.TaggedClass<CreateQueryCollection>()(\n 'dxos.org/plugin/collection/action/create-query-collection',\n {\n input: QueryCollectionForm,\n output: Schema.Struct({\n // TODO(wittjosiah): Remove cast.\n object: EchoObjectSchema, // DataType.QueryCollection,\n }),\n },\n ) {}\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Schema", "Type", "EchoSchema", "StoredSchema", "EchoObjectSchema", "ReactiveObjectSchema", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "DataType", "FieldSchema", "TypenameAnnotationId", "SPACE_DIRECTORY_HANDLE", "SPACE_TYPE", "SpaceSettingsSchema", "Schema", "mutable", "Struct", "showHidden", "Boolean", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "name", "optional", "String", "annotations", "title", "icon", "hue", "edgeReplication", "defineObjectForm", "form", "SPACE_ACTION", "SPACE_PLUGIN", "SpaceAction", "OpenCreateSpace", "TaggedClass", "input", "Void", "output", "Create", "id", "subject", "Array", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "OpenMembers", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "target", "instanceOf", "CancellableInvitationObservable", "GetShareLink", "copyToClipboard", "Lock", "Unlock", "Rename", "caller", "OpenSettings", "Open", "Close", "Migrate", "version", "StoredSchemaForm", "typename", "TypenameAnnotationId", "UseStaticSchema", "AddSchema", "schema", "object", "StoredSchema", "EchoSchema", "DeleteField", "view", "DataType", "View", "fieldId", "deletionData", "field", "FieldSchema", "props", "index", "Number", "OpenCreateObject", "Union", "Collection", "views", "initialFormValues", "navigable", "onCreateObject", "AddObject", "ReactiveObjectSchema", "hidden", "EchoObjectSchema", "AddRelation", "source", "Expando", "fields", "Record", "key", "value", "relation", "DeletionData", "objects", "parentCollection", "indices", "nestedObjectsList", "wasActive", "RemoveObjects", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction", "QueryCollectionForm", "CreateQueryCollection"]
|
|
7
|
+
}
|
|
@@ -2,24 +2,24 @@ import { createRequire } from 'node:module';const require = createRequire(import
|
|
|
2
2
|
import {
|
|
3
3
|
SPACE_TYPE,
|
|
4
4
|
SpaceAction
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RXDT5LA5.mjs";
|
|
6
6
|
import {
|
|
7
7
|
SPACE_PLUGIN
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HWNG4MEU.mjs";
|
|
9
9
|
|
|
10
|
-
//
|
|
10
|
+
// src/util.tsx
|
|
11
11
|
import { Rx } from "@effect-rx/rx-react";
|
|
12
12
|
import { pipe } from "effect";
|
|
13
|
-
import { chain, createIntent
|
|
13
|
+
import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
|
|
14
14
|
import { Obj, Ref, Type } from "@dxos/echo";
|
|
15
15
|
import { EXPANDO_TYPENAME } from "@dxos/echo-schema";
|
|
16
16
|
import { invariant } from "@dxos/invariant";
|
|
17
17
|
import { Migrations } from "@dxos/migrations";
|
|
18
18
|
import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
|
|
19
|
-
import { fullyQualifiedId, getSpace,
|
|
19
|
+
import { SpaceState, fullyQualifiedId, getSpace, isSpace } from "@dxos/react-client/echo";
|
|
20
20
|
import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
|
|
21
|
-
import { DataType } from "@dxos/schema";
|
|
22
|
-
var __dxlog_file = "/
|
|
21
|
+
import { DataType, typenameFromQuery } from "@dxos/schema";
|
|
22
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
|
|
23
23
|
var SPACES = `${SPACE_PLUGIN}-spaces`;
|
|
24
24
|
var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
|
|
25
25
|
var SHARED = "shared-spaces";
|
|
@@ -84,8 +84,9 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
|
|
|
84
84
|
};
|
|
85
85
|
};
|
|
86
86
|
var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
|
|
87
|
+
const typename = typenameFromQuery(collection.query);
|
|
87
88
|
return {
|
|
88
|
-
icon:
|
|
89
|
+
icon: typename && resolve(typename)?.icon,
|
|
89
90
|
acceptPersistenceClass: /* @__PURE__ */ new Set([
|
|
90
91
|
"echo"
|
|
91
92
|
]),
|
|
@@ -94,7 +95,7 @@ var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
|
|
|
94
95
|
]),
|
|
95
96
|
role: "branch",
|
|
96
97
|
canDrop: (source) => {
|
|
97
|
-
return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) ===
|
|
98
|
+
return isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename;
|
|
98
99
|
},
|
|
99
100
|
onTransferStart: (child, index) => {
|
|
100
101
|
},
|
|
@@ -102,12 +103,34 @@ var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
|
|
|
102
103
|
}
|
|
103
104
|
};
|
|
104
105
|
};
|
|
106
|
+
var getSchemaGraphNodePartials = () => {
|
|
107
|
+
return {
|
|
108
|
+
role: "branch",
|
|
109
|
+
canDrop: () => false
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
var getViewGraphNodePartials = ({ view, resolve }) => {
|
|
113
|
+
const presentation = view.presentation.target;
|
|
114
|
+
const typename = presentation ? Obj.getTypename(presentation) : void 0;
|
|
115
|
+
const metadata = typename ? resolve(typename) : {};
|
|
116
|
+
return {
|
|
117
|
+
label: view.name || [
|
|
118
|
+
"object name placeholder",
|
|
119
|
+
{
|
|
120
|
+
ns: typename,
|
|
121
|
+
default: "New view"
|
|
122
|
+
}
|
|
123
|
+
],
|
|
124
|
+
icon: metadata.icon,
|
|
125
|
+
canDrop: () => false
|
|
126
|
+
};
|
|
127
|
+
};
|
|
105
128
|
var checkPendingMigration = (space) => {
|
|
106
129
|
return space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION || space.state.get() === SpaceState.SPACE_READY && !!Migrations.versionProperty && space.properties[Migrations.versionProperty] !== Migrations.targetVersion;
|
|
107
130
|
};
|
|
108
131
|
var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
|
|
109
132
|
const hasPendingMigration = checkPendingMigration(space);
|
|
110
|
-
const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[
|
|
133
|
+
const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;
|
|
111
134
|
const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection) ? getCollectionGraphNodePartials({
|
|
112
135
|
collection,
|
|
113
136
|
space,
|
|
@@ -275,15 +298,103 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
275
298
|
}
|
|
276
299
|
return actions;
|
|
277
300
|
};
|
|
278
|
-
var
|
|
301
|
+
var createStaticSchemaNode = ({ schema, space }) => {
|
|
302
|
+
return {
|
|
303
|
+
id: `${space.id}/${Type.getTypename(schema)}`,
|
|
304
|
+
type: `${SPACE_PLUGIN}/static-schema`,
|
|
305
|
+
data: schema,
|
|
306
|
+
properties: {
|
|
307
|
+
label: [
|
|
308
|
+
"typename label",
|
|
309
|
+
{
|
|
310
|
+
ns: Type.getTypename(schema),
|
|
311
|
+
default: Type.getTypename(schema)
|
|
312
|
+
}
|
|
313
|
+
],
|
|
314
|
+
icon: "ph--database--regular",
|
|
315
|
+
role: "branch",
|
|
316
|
+
canDrop: () => false,
|
|
317
|
+
space
|
|
318
|
+
}
|
|
319
|
+
};
|
|
320
|
+
};
|
|
321
|
+
var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
322
|
+
const getId = (id) => `${space.id}/${Type.getTypename(schema)}/${id}`;
|
|
323
|
+
const actions = [
|
|
324
|
+
{
|
|
325
|
+
id: getId(SpaceAction.AddObject._tag),
|
|
326
|
+
type: ACTION_TYPE,
|
|
327
|
+
data: async () => {
|
|
328
|
+
await dispatch(createIntent(SpaceAction.OpenCreateObject, {
|
|
329
|
+
target: space,
|
|
330
|
+
views: true,
|
|
331
|
+
initialFormValues: {
|
|
332
|
+
typename: Type.getTypename(schema)
|
|
333
|
+
}
|
|
334
|
+
}));
|
|
335
|
+
},
|
|
336
|
+
properties: {
|
|
337
|
+
label: [
|
|
338
|
+
"add view to schema label",
|
|
339
|
+
{
|
|
340
|
+
ns: Type.getTypename(DataType.StoredSchema)
|
|
341
|
+
}
|
|
342
|
+
],
|
|
343
|
+
icon: "ph--plus--regular",
|
|
344
|
+
disposition: "list-item-primary",
|
|
345
|
+
testId: "spacePlugin.addViewToSchema"
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
id: getId(SpaceAction.RenameObject._tag),
|
|
350
|
+
type: ACTION_TYPE,
|
|
351
|
+
data: async (params) => {
|
|
352
|
+
throw new Error("Not implemented");
|
|
353
|
+
},
|
|
354
|
+
properties: {
|
|
355
|
+
label: [
|
|
356
|
+
"rename object label",
|
|
357
|
+
{
|
|
358
|
+
ns: Type.getTypename(DataType.StoredSchema)
|
|
359
|
+
}
|
|
360
|
+
],
|
|
361
|
+
icon: "ph--pencil-simple-line--regular",
|
|
362
|
+
disabled: true,
|
|
363
|
+
disposition: "list-item",
|
|
364
|
+
testId: "spacePlugin.renameObject"
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
id: getId(SpaceAction.RemoveObjects._tag),
|
|
369
|
+
type: ACTION_TYPE,
|
|
370
|
+
data: async () => {
|
|
371
|
+
const index = space.properties.staticRecords.findIndex((typename) => typename === Type.getTypename(schema));
|
|
372
|
+
if (index > -1) {
|
|
373
|
+
space.properties.staticRecords.splice(index, 1);
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
properties: {
|
|
377
|
+
label: [
|
|
378
|
+
"delete object label",
|
|
379
|
+
{
|
|
380
|
+
ns: Type.getTypename(DataType.StoredSchema)
|
|
381
|
+
}
|
|
382
|
+
],
|
|
383
|
+
icon: "ph--trash--regular",
|
|
384
|
+
disposition: "list-item",
|
|
385
|
+
disabled: !deletable,
|
|
386
|
+
testId: "spacePlugin.deleteObject"
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
];
|
|
390
|
+
return actions;
|
|
391
|
+
};
|
|
392
|
+
var createObjectNode = ({ space, object, disposition, droppable = true, navigable = false, resolve }) => {
|
|
279
393
|
const type = Obj.getTypename(object);
|
|
280
394
|
if (!type) {
|
|
281
|
-
return
|
|
395
|
+
return null;
|
|
282
396
|
}
|
|
283
397
|
const metadata = resolve(type);
|
|
284
|
-
if (Object.keys(metadata).length === 0) {
|
|
285
|
-
return void 0;
|
|
286
|
-
}
|
|
287
398
|
const partials = Obj.instanceOf(DataType.Collection, object) ? getCollectionGraphNodePartials({
|
|
288
399
|
collection: object,
|
|
289
400
|
space,
|
|
@@ -292,7 +403,18 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
|
|
|
292
403
|
collection: object,
|
|
293
404
|
space,
|
|
294
405
|
resolve
|
|
406
|
+
}) : Obj.instanceOf(DataType.StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(DataType.View, object) ? getViewGraphNodePartials({
|
|
407
|
+
view: object,
|
|
408
|
+
resolve
|
|
295
409
|
}) : metadata.graphProps;
|
|
410
|
+
const label = object.name || Obj.getLabel(object) || // TODO(wittjosiah): Remove metadata labels.
|
|
411
|
+
metadata.label?.(object) || [
|
|
412
|
+
"object name placeholder",
|
|
413
|
+
{
|
|
414
|
+
ns: type,
|
|
415
|
+
default: "New item"
|
|
416
|
+
}
|
|
417
|
+
];
|
|
296
418
|
return {
|
|
297
419
|
id: fullyQualifiedId(object),
|
|
298
420
|
type,
|
|
@@ -303,15 +425,9 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
|
|
|
303
425
|
],
|
|
304
426
|
data: object,
|
|
305
427
|
properties: {
|
|
306
|
-
|
|
307
|
-
label: metadata.label?.(object) || object.name || [
|
|
308
|
-
"object name placeholder",
|
|
309
|
-
{
|
|
310
|
-
ns: type,
|
|
311
|
-
default: "New object"
|
|
312
|
-
}
|
|
313
|
-
],
|
|
428
|
+
label,
|
|
314
429
|
icon: metadata.icon ?? "ph--placeholder--regular",
|
|
430
|
+
disposition,
|
|
315
431
|
testId: "spacePlugin.object",
|
|
316
432
|
persistenceClass: "echo",
|
|
317
433
|
persistenceKey: space?.id,
|
|
@@ -322,20 +438,30 @@ var createObjectNode = ({ space, object, droppable = true, navigable = false, re
|
|
|
322
438
|
}
|
|
323
439
|
};
|
|
324
440
|
};
|
|
325
|
-
var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable = false }) => {
|
|
441
|
+
var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable = true, navigable = false }) => {
|
|
326
442
|
const space = getSpace(object);
|
|
327
443
|
invariant(space, "Space not found", {
|
|
328
444
|
F: __dxlog_file,
|
|
329
|
-
L:
|
|
445
|
+
L: 518,
|
|
330
446
|
S: void 0,
|
|
331
447
|
A: [
|
|
332
448
|
"space",
|
|
333
449
|
"'Space not found'"
|
|
334
450
|
]
|
|
335
451
|
});
|
|
452
|
+
const typename = Obj.getTypename(object);
|
|
453
|
+
invariant(typename, "Object has no typename", {
|
|
454
|
+
F: __dxlog_file,
|
|
455
|
+
L: 520,
|
|
456
|
+
S: void 0,
|
|
457
|
+
A: [
|
|
458
|
+
"typename",
|
|
459
|
+
"'Object has no typename'"
|
|
460
|
+
]
|
|
461
|
+
});
|
|
336
462
|
const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
|
|
337
463
|
const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : void 0;
|
|
338
|
-
const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query
|
|
464
|
+
const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === typenameFromQuery(queryCollection.query)) : void 0;
|
|
339
465
|
const actions = [
|
|
340
466
|
...Obj.instanceOf(DataType.Collection, object) ? [
|
|
341
467
|
{
|
|
@@ -359,6 +485,32 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable
|
|
|
359
485
|
}
|
|
360
486
|
}
|
|
361
487
|
] : [],
|
|
488
|
+
...Obj.instanceOf(DataType.StoredSchema, object) ? [
|
|
489
|
+
{
|
|
490
|
+
id: getId(SpaceAction.AddObject._tag),
|
|
491
|
+
type: ACTION_TYPE,
|
|
492
|
+
data: async () => {
|
|
493
|
+
await dispatch(createIntent(SpaceAction.OpenCreateObject, {
|
|
494
|
+
target: space,
|
|
495
|
+
views: true,
|
|
496
|
+
initialFormValues: {
|
|
497
|
+
typename: object.typename
|
|
498
|
+
}
|
|
499
|
+
}));
|
|
500
|
+
},
|
|
501
|
+
properties: {
|
|
502
|
+
label: [
|
|
503
|
+
"add view to schema label",
|
|
504
|
+
{
|
|
505
|
+
ns: Type.getTypename(DataType.StoredSchema)
|
|
506
|
+
}
|
|
507
|
+
],
|
|
508
|
+
icon: "ph--plus--regular",
|
|
509
|
+
disposition: "list-item-primary",
|
|
510
|
+
testId: "spacePlugin.addViewToSchema"
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
] : [],
|
|
362
514
|
...matchingObjectForm ? [
|
|
363
515
|
{
|
|
364
516
|
id: getId(SpaceAction.OpenCreateObject._tag),
|
|
@@ -367,7 +519,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable
|
|
|
367
519
|
if (matchingObjectForm.formSchema) {
|
|
368
520
|
await dispatch(createIntent(SpaceAction.OpenCreateObject, {
|
|
369
521
|
target: space,
|
|
370
|
-
typename: queryCollection
|
|
522
|
+
typename: queryCollection ? typenameFromQuery(queryCollection.query) : void 0
|
|
371
523
|
}));
|
|
372
524
|
} else {
|
|
373
525
|
await dispatch(pipe(matchingObjectForm.getIntent({}, {
|
|
@@ -404,9 +556,9 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable
|
|
|
404
556
|
},
|
|
405
557
|
properties: {
|
|
406
558
|
label: [
|
|
407
|
-
|
|
559
|
+
"rename object label",
|
|
408
560
|
{
|
|
409
|
-
ns:
|
|
561
|
+
ns: typename
|
|
410
562
|
}
|
|
411
563
|
],
|
|
412
564
|
icon: "ph--pencil-simple-line--regular",
|
|
@@ -432,19 +584,20 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, navigable
|
|
|
432
584
|
},
|
|
433
585
|
properties: {
|
|
434
586
|
label: [
|
|
435
|
-
|
|
587
|
+
"delete object label",
|
|
436
588
|
{
|
|
437
|
-
ns:
|
|
589
|
+
ns: typename
|
|
438
590
|
}
|
|
439
591
|
],
|
|
440
592
|
icon: "ph--trash--regular",
|
|
441
593
|
disposition: "list-item",
|
|
594
|
+
disabled: !deletable,
|
|
442
595
|
// TODO(wittjosiah): This is a browser shortcut.
|
|
443
596
|
// keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
|
|
444
597
|
testId: "spacePlugin.deleteObject"
|
|
445
598
|
}
|
|
446
599
|
},
|
|
447
|
-
...navigable || !Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object) ? [
|
|
600
|
+
...navigable || !Obj.instanceOf(DataType.Collection, object) && !Obj.instanceOf(DataType.QueryCollection, object) && !Obj.instanceOf(DataType.StoredSchema, object) ? [
|
|
448
601
|
{
|
|
449
602
|
id: getId("copy-link"),
|
|
450
603
|
type: ACTION_TYPE,
|
|
@@ -514,7 +667,7 @@ var cloneObject = async (object, resolve, newSpace) => {
|
|
|
514
667
|
const serializer = metadata.serializer;
|
|
515
668
|
invariant(serializer, `No serializer for type: ${typename}`, {
|
|
516
669
|
F: __dxlog_file,
|
|
517
|
-
L:
|
|
670
|
+
L: 714,
|
|
518
671
|
S: void 0,
|
|
519
672
|
A: [
|
|
520
673
|
"serializer",
|
|
@@ -539,9 +692,11 @@ export {
|
|
|
539
692
|
getSpaceDisplayName,
|
|
540
693
|
constructSpaceNode,
|
|
541
694
|
constructSpaceActions,
|
|
695
|
+
createStaticSchemaNode,
|
|
696
|
+
createStaticSchemaActions,
|
|
542
697
|
createObjectNode,
|
|
543
698
|
constructObjectActions,
|
|
544
699
|
getNestedObjects,
|
|
545
700
|
cloneObject
|
|
546
701
|
};
|
|
547
|
-
//# sourceMappingURL=chunk-
|
|
702
|
+
//# sourceMappingURL=chunk-TEUN2E4F.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { pipe } from 'effect';\n\nimport { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n type ActionData,\n type InvokeParams,\n type Node,\n type NodeArg,\n type ReadableGraph,\n isGraphNode,\n} from '@dxos/plugin-graph';\nimport { type QueryResult, type Space, SpaceState, fullyQualifiedId, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { DataType, typenameFromQuery } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { type ObjectForm, SPACE_TYPE, SpaceAction } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n/**\n * Convert a query result to an Rx value of the objects.\n */\nexport const rxFromQuery = <T extends AnyEchoObject>(query: QueryResult<T>): Rx.Rx<T[]> => {\n return Rx.make((get) => {\n const unsubscribe = query.subscribe((result) => {\n get.setSelf(result.objects);\n });\n\n get.addFinalizer(() => unsubscribe());\n return query.objects;\n });\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.Collection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(Obj.isObject).map(Ref.make);\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(child.data));\n } else {\n collection.objects.push(Ref.make(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<Obj.Any>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(newObject));\n } else {\n collection.objects.push(Ref.make(newObject));\n }\n },\n };\n};\n\nconst getQueryCollectionNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.QueryCollection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const typename = typenameFromQuery(collection.query);\n return {\n icon: typename && resolve(typename)?.icon,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n canDrop: (source: TreeData) => {\n return (\n isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename\n );\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // No-op. Objects are moved into query collections by being removed from their original collection.\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // No-op. Objects are moved out of query collections by being added to another collection.\n },\n };\n};\n\nconst getSchemaGraphNodePartials = () => {\n return {\n role: 'branch',\n canDrop: () => false,\n };\n};\n\nconst getViewGraphNodePartials = ({\n view,\n resolve,\n}: {\n view: DataType.View;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const presentation = view.presentation.target;\n const typename = presentation ? Obj.getTypename(presentation) : undefined;\n const metadata = typename ? resolve(typename) : {};\n\n return {\n label: view.name || ['object name placeholder', { ns: typename, default: 'New view' }],\n icon: metadata.icon,\n canDrop: () => false,\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection =\n space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, space, resolve })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n canDrop: (source: TreeData) => {\n // TODO(wittjosiah): Find a way to only allow space as source for rearranging.\n return Obj.isObject(source.item.data) || isSpace(source.item.data);\n },\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/properties`,\n data: `${SPACE_PLUGIN}/properties`,\n properties: {\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/members`,\n data: `${SPACE_PLUGIN}/members`,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/schema`,\n data: `${SPACE_PLUGIN}/schema`,\n properties: {\n label: ['space settings schema label', { ns: SPACE_PLUGIN }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createStaticSchemaNode = ({ schema, space }: { schema: Type.Obj.Any; space: Space }) => {\n return {\n id: `${space.id}/${Type.getTypename(schema)}`,\n type: `${SPACE_PLUGIN}/static-schema`,\n data: schema,\n properties: {\n label: ['typename label', { ns: Type.getTypename(schema), default: Type.getTypename(schema) }],\n icon: 'ph--database--regular',\n role: 'branch',\n canDrop: () => false,\n space,\n },\n };\n};\n\nexport const createStaticSchemaActions = ({\n schema,\n space,\n dispatch,\n deletable,\n}: {\n schema: Type.Obj.Any;\n space: Space;\n dispatch: PromiseIntentDispatcher;\n deletable: boolean;\n}) => {\n const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;\n\n const actions: NodeArg<ActionData>[] = [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: Type.getTypename(schema) },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n throw new Error('Not implemented');\n },\n properties: {\n label: ['rename object label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--pencil-simple-line--regular',\n disabled: true,\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const index = space.properties.staticRecords.findIndex(\n (typename: string) => typename === Type.getTypename(schema),\n );\n if (index > -1) {\n space.properties.staticRecords.splice(index, 1);\n }\n },\n properties: {\n label: ['delete object label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n ];\n\n return actions;\n};\n\nexport const createObjectNode = ({\n space,\n object,\n disposition,\n droppable = true,\n navigable = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n disposition?: string;\n droppable?: boolean;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return null;\n }\n\n const metadata = resolve(type);\n const partials = Obj.instanceOf(DataType.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.QueryCollection, object)\n ? getQueryCollectionNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.StoredSchema, object)\n ? getSchemaGraphNodePartials()\n : Obj.instanceOf(DataType.View, object)\n ? getViewGraphNodePartials({ view: object, resolve })\n : metadata.graphProps;\n\n // TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.\n // e.g., create new collection with no name and rename it.\n const label = (object as any).name ||\n Obj.getLabel(object) ||\n // TODO(wittjosiah): Remove metadata labels.\n metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n label,\n icon: metadata.icon ?? 'ph--placeholder--regular',\n disposition,\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n canDrop: (source: TreeData) => {\n return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n dispatch,\n objectForms,\n deletable = true,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n objectForms: ObjectForm<any>[];\n deletable?: boolean;\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const typename = Obj.getTypename(object);\n invariant(typename, 'Object has no typename');\n\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n\n const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : undefined;\n const matchingObjectForm = queryCollection\n ? objectForms.find((form) => Type.getTypename(form.objectSchema) === typenameFromQuery(queryCollection.query))\n : undefined;\n\n const actions: NodeArg<ActionData>[] = [\n ...(Obj.instanceOf(DataType.Collection, object)\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(Obj.instanceOf(DataType.StoredSchema, object)\n ? [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: object.typename },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n ]\n : []),\n ...(matchingObjectForm\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (matchingObjectForm.formSchema) {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n typename: queryCollection ? typenameFromQuery(queryCollection.query) : undefined,\n }),\n );\n } else {\n await dispatch(\n pipe(\n matchingObjectForm.getIntent({}, { space }),\n chain(SpaceAction.AddObject, { target: space, hidden: true }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n }\n },\n properties: {\n label: ['create object in smart collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));\n },\n properties: {\n label: ['rename object label', { ns: typename }],\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): Not working.\n // keyBinding: {\n // macos: 'shift+F6',\n // },\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const collection = graph\n .getConnections(fullyQualifiedId(object), 'inbound')\n .find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: ['delete object label', { ns: typename }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable ||\n (!Obj.instanceOf(DataType.Collection, object) &&\n !Obj.instanceOf(DataType.QueryCollection, object) &&\n !Obj.instanceOf(DataType.StoredSchema, object))\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Any[]> => {\n const type = Obj.getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: Obj.Any[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Type.Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Type.Expando> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? (Type.getTypename(schema) ?? EXPANDO_TYPENAME) : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Rx", "pipe", "LayoutAction", "chain", "createIntent", "Obj", "Ref", "Type", "EXPANDO_TYPENAME", "invariant", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "isGraphNode", "SpaceState", "fullyQualifiedId", "getSpace", "isSpace", "ATTENDABLE_PATH_SEPARATOR", "DataType", "typenameFromQuery", "SPACES", "SPACE_PLUGIN", "COMPOSER_SPACE_LOCK", "SHARED", "rxFromQuery", "query", "Rx", "make", "get", "unsubscribe", "subscribe", "result", "setSelf", "objects", "addFinalizer", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "SpaceState", "SPACE_READY", "properties", "name", "length", "id", "ns", "getCollectionGraphNodePartials", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "filter", "Obj", "isObject", "map", "Ref", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "db", "add", "getQueryCollectionNodePartials", "typename", "typenameFromQuery", "icon", "canDrop", "source", "isGraphNode", "item", "getTypename", "getSchemaGraphNodePartials", "getViewGraphNodePartials", "view", "presentation", "undefined", "metadata", "label", "default", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "hasPendingMigration", "DataType", "Collection", "partials", "instanceOf", "type", "SPACE_TYPE", "cacheable", "description", "hue", "disabled", "testId", "isSpace", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createStaticSchemaNode", "schema", "Type", "createStaticSchemaActions", "deletable", "AddObject", "views", "initialFormValues", "StoredSchema", "RenameObject", "Error", "RemoveObjects", "staticRecords", "createObjectNode", "droppable", "QueryCollection", "View", "graphProps", "getLabel", "fullyQualifiedId", "persistenceClass", "persistenceKey", "constructObjectActions", "graph", "objectForms", "getSpace", "invariant", "queryCollection", "matchingObjectForm", "form", "objectSchema", "formSchema", "pipe", "getIntent", "chain", "hidden", "LayoutAction", "Open", "part", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "subject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "getSchema", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
|
|
7
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
|
|
3
|
-
//
|
|
4
|
-
import {
|
|
5
|
-
import { Obj, Ref
|
|
3
|
+
// src/capabilities/identity-created.ts
|
|
4
|
+
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
5
|
+
import { Obj, Ref } from "@dxos/echo";
|
|
6
6
|
import { Migrations } from "@dxos/migrations";
|
|
7
7
|
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
8
8
|
import { DataType } from "@dxos/schema";
|
|
@@ -11,7 +11,7 @@ var identity_created_default = async (context) => {
|
|
|
11
11
|
await client.spaces.waitUntilReady();
|
|
12
12
|
const defaultSpace = client.spaces.default;
|
|
13
13
|
await defaultSpace.waitUntilReady();
|
|
14
|
-
defaultSpace.properties[
|
|
14
|
+
defaultSpace.properties[DataType.Collection.typename] = Ref.make(Obj.make(DataType.Collection, {
|
|
15
15
|
objects: []
|
|
16
16
|
}));
|
|
17
17
|
if (Migrations.versionProperty) {
|
|
@@ -22,4 +22,4 @@ var identity_created_default = async (context) => {
|
|
|
22
22
|
export {
|
|
23
23
|
identity_created_default as default
|
|
24
24
|
};
|
|
25
|
-
//# sourceMappingURL=identity-created-
|
|
25
|
+
//# sourceMappingURL=identity-created-AL7NNCKH.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/identity-created.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { Obj, Ref } from '@dxos/echo';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { DataType } from '@dxos/schema';\n\nexport default async (context: PluginContext) => {\n const client = context.getCapability(ClientCapabilities.Client);\n await client.spaces.waitUntilReady();\n\n const defaultSpace = client.spaces.default;\n await defaultSpace.waitUntilReady();\n\n // Create root collection structure.\n defaultSpace.properties[DataType.Collection.typename] = Ref.make(Obj.make(DataType.Collection, { objects: [] }));\n if (Migrations.versionProperty) {\n defaultSpace.properties[Migrations.versionProperty] = Migrations.targetVersion;\n }\n\n return contributes(Capabilities.Null, null);\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAkCC,mBAAmB;AAC9D,SAASC,KAAKC,WAAW;AACzB,SAASC,kBAAkB;AAC3B,SAASC,0BAA0B;AACnC,SAASC,gBAAgB;AAEzB,IAAA,2BAAe,OAAOC,YAAAA;AACpB,QAAMC,SAASD,QAAQE,cAAcC,mBAAmBC,MAAM;AAC9D,QAAMH,OAAOI,OAAOC,eAAc;AAElC,QAAMC,eAAeN,OAAOI,OAAOG;AACnC,QAAMD,aAAaD,eAAc;AAGjCC,eAAaE,WAAWC,SAASC,WAAWC,QAAQ,IAAIC,IAAIC,KAAKC,IAAID,KAAKJ,SAASC,YAAY;IAAEK,SAAS,CAAA;EAAG,CAAA,CAAA;AAC7G,MAAIC,WAAWC,iBAAiB;AAC9BX,iBAAaE,WAAWQ,WAAWC,eAAe,IAAID,WAAWE;EACnE;AAEA,SAAOC,YAAYC,aAAaC,MAAM,IAAA;AACxC;",
|
|
6
|
+
"names": ["Capabilities", "contributes", "Obj", "Ref", "Migrations", "ClientCapabilities", "DataType", "context", "client", "getCapability", "ClientCapabilities", "Client", "spaces", "waitUntilReady", "defaultSpace", "default", "properties", "DataType", "Collection", "typename", "Ref", "make", "Obj", "objects", "Migrations", "versionProperty", "targetVersion", "contributes", "Capabilities", "Null"]
|
|
7
|
+
}
|