@dxos/plugin-space 0.8.4-main.dedc0f3 → 0.8.4-main.e8ec1fe
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 → CollectionArticle-WTHWY4YS.mjs} +10 -10
- package/dist/lib/browser/CollectionArticle-WTHWY4YS.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs +141 -0
- package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs.map +7 -0
- package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs +144 -0
- package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs.map +7 -0
- package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs +116 -0
- package/dist/lib/browser/RecordArticle-SXDRWTTU.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-AFC6PNAB.mjs → app-graph-builder-DTM7BJ6D.mjs} +107 -96
- package/dist/lib/browser/app-graph-builder-DTM7BJ6D.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-Q7QG4EKW.mjs → app-graph-serializer-TIKXF43P.mjs} +19 -19
- package/dist/lib/browser/app-graph-serializer-TIKXF43P.mjs.map +7 -0
- package/dist/lib/browser/chunk-AFUOMLX6.mjs +167 -0
- package/dist/lib/browser/chunk-AFUOMLX6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-6GRF7NEF.mjs → chunk-CKACGS7T.mjs} +553 -475
- package/dist/lib/browser/chunk-CKACGS7T.mjs.map +7 -0
- package/dist/lib/browser/chunk-K5J7ZB5P.mjs +20 -0
- package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +7 -0
- package/dist/lib/browser/{chunk-S33AYKSS.mjs → chunk-KFUMADZF.mjs} +135 -62
- package/dist/lib/browser/chunk-KFUMADZF.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WZYRDFW7.mjs → chunk-VGKOXAPE.mjs} +26 -13
- package/dist/lib/browser/chunk-VGKOXAPE.mjs.map +7 -0
- package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
- package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
- package/dist/lib/browser/chunk-WJXU4GKV.mjs +19 -0
- package/dist/lib/browser/chunk-WJXU4GKV.mjs.map +7 -0
- package/dist/lib/browser/{chunk-URST7EEN.mjs → chunk-ZQMSGD5J.mjs} +35 -19
- package/dist/lib/browser/chunk-ZQMSGD5J.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-T6ZNVE7S.mjs → identity-created-NAXTPQXE.mjs} +5 -5
- package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +88 -70
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-CO262Q44.mjs → intent-resolver-3FNTO3VW.mjs} +89 -76
- package/dist/lib/browser/intent-resolver-3FNTO3VW.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-root-Q7VBWBES.mjs +30 -0
- package/dist/lib/browser/react-root-Q7VBWBES.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-TPUOK2LC.mjs → react-surface-TTHS332A.mjs} +71 -105
- package/dist/lib/browser/react-surface-TTHS332A.mjs.map +7 -0
- package/dist/lib/browser/{schema-defs-YDPFZELA.mjs → schema-defs-QPI2JU3X.mjs} +6 -6
- package/dist/lib/browser/schema-defs-QPI2JU3X.mjs.map +7 -0
- package/dist/lib/browser/{settings-ZYH2JWNI.mjs → settings-45PGPO2V.mjs} +5 -5
- package/dist/lib/browser/{settings-ZYH2JWNI.mjs.map → settings-45PGPO2V.mjs.map} +1 -1
- package/dist/lib/browser/{spaces-ready-3I5LISH4.mjs → spaces-ready-QCND4DVY.mjs} +15 -14
- package/dist/lib/browser/spaces-ready-QCND4DVY.mjs.map +7 -0
- package/dist/lib/browser/{state-2RGW7FQG.mjs → state-Q7YRE5KG.mjs} +7 -7
- package/dist/lib/browser/state-Q7YRE5KG.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{CollectionMain-ZJIFCWKZ.mjs → CollectionArticle-KHXYT3SH.mjs} +10 -10
- package/dist/lib/node-esm/CollectionArticle-KHXYT3SH.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs +142 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs +145 -0
- package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs.map +7 -0
- package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs +117 -0
- package/dist/lib/node-esm/RecordArticle-NACBH42P.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-OW2EBYRI.mjs → app-graph-builder-FBJFWI4H.mjs} +107 -96
- package/dist/lib/node-esm/app-graph-builder-FBJFWI4H.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-6PGC5WR5.mjs → app-graph-serializer-BESQZAYU.mjs} +19 -19
- package/dist/lib/node-esm/app-graph-serializer-BESQZAYU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-RXDT5LA5.mjs → chunk-6VEONPNZ.mjs} +35 -19
- package/dist/lib/node-esm/chunk-6VEONPNZ.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-6ZQGZBEP.mjs +168 -0
- package/dist/lib/node-esm/chunk-6ZQGZBEP.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
- package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-H4JILUJK.mjs +20 -0
- package/dist/lib/node-esm/chunk-H4JILUJK.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-TEUN2E4F.mjs → chunk-OK2L7N2F.mjs} +135 -62
- package/dist/lib/node-esm/chunk-OK2L7N2F.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LGNPMOXU.mjs → chunk-QBRPYAEL.mjs} +26 -13
- package/dist/lib/node-esm/chunk-QBRPYAEL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-NMCD2PSG.mjs → chunk-XGAMJC5C.mjs} +553 -475
- package/dist/lib/node-esm/chunk-XGAMJC5C.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs +21 -0
- package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-AL7NNCKH.mjs → identity-created-OXLKCJE3.mjs} +5 -5
- package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +88 -70
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-EXPK4B76.mjs → intent-resolver-6O5FSB7Z.mjs} +89 -76
- package/dist/lib/node-esm/intent-resolver-6O5FSB7Z.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-4OQ7MPGW.mjs → react-root-K66W3FMA.mjs} +13 -12
- package/dist/lib/node-esm/react-root-K66W3FMA.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-WXEXIDB7.mjs → react-surface-Y7FTEIDF.mjs} +71 -105
- package/dist/lib/node-esm/react-surface-Y7FTEIDF.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-defs-OYBCWKAS.mjs → schema-defs-ZS2D47XW.mjs} +6 -6
- package/dist/lib/node-esm/schema-defs-ZS2D47XW.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-2RYFMMTP.mjs → settings-6FO65BA6.mjs} +5 -5
- package/dist/lib/node-esm/{settings-2RYFMMTP.mjs.map → settings-6FO65BA6.mjs.map} +1 -1
- package/dist/lib/node-esm/{spaces-ready-JAP22P57.mjs → spaces-ready-P7CKVXBE.mjs} +15 -14
- package/dist/lib/node-esm/spaces-ready-P7CKVXBE.mjs.map +7 -0
- package/dist/lib/node-esm/{state-7VBVBGNS.mjs → state-362I5BMK.mjs} +7 -7
- package/dist/lib/node-esm/state-362I5BMK.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/SpacePlugin.d.ts +1 -1
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +6 -5
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/CollectionArticle.d.ts +6 -0
- package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
- package/dist/types/src/components/CollectionSection.d.ts +3 -4
- package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +120 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +3 -3
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
- package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
- package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
- package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
- package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
- package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1707 -0
- package/dist/types/src/components/{MembersContainer.stories.d.ts.map → MembersContainer/MembersContainer.stories.d.ts.map} +1 -1
- package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
- package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
- package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
- package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
- package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
- package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
- package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
- package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
- package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1540 -0
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
- package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
- package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
- package/dist/types/src/components/RecordArticle.d.ts +5 -0
- package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
- package/dist/types/src/components/{MembersContainer.stories.d.ts → RecordArticle.stories.d.ts} +121 -2
- package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
- package/dist/types/src/components/SchemaContainer.d.ts +1 -1
- package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +4 -3
- package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
- package/dist/types/src/components/{SpacePresence.stories.d.ts → SpacePresence/SpacePresence.stories.d.ts} +122 -3
- package/dist/types/src/components/{SpacePresence.stories.d.ts.map → SpacePresence/SpacePresence.stories.d.ts.map} +1 -1
- package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
- package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
- package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
- package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
- package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
- package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +120 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +121 -2
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/components/ViewEditor.d.ts +3 -4
- package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +10 -17
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/helpers/index.d.ts +2 -0
- package/dist/types/src/helpers/index.d.ts.map +1 -0
- package/dist/types/src/helpers/query.d.ts +8 -0
- package/dist/types/src/helpers/query.d.ts.map +1 -0
- package/dist/types/src/helpers/query.test.d.ts +2 -0
- package/dist/types/src/helpers/query.test.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +1 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
- package/dist/types/src/hooks/usePath.d.ts +1 -1
- package/dist/types/src/hooks/usePath.d.ts.map +1 -1
- package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
- package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +120 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +70 -55
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +10 -7
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +65 -60
- package/src/SpacePlugin.ts +228 -200
- package/src/capabilities/app-graph-builder.ts +157 -121
- package/src/capabilities/app-graph-serializer.ts +12 -12
- package/src/capabilities/capabilities.ts +16 -11
- package/src/capabilities/identity-created.ts +2 -2
- package/src/capabilities/intent-resolver.ts +75 -59
- package/src/capabilities/react-root.tsx +4 -3
- package/src/capabilities/react-surface.tsx +65 -141
- package/src/capabilities/schema-defs.ts +1 -1
- package/src/capabilities/spaces-ready.ts +8 -5
- package/src/capabilities/state.ts +2 -2
- package/src/components/AwaitingObject.tsx +12 -14
- package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +7 -6
- package/src/components/CollectionSection.tsx +8 -6
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -11
- package/src/components/CreateDialog/CreateObjectDialog.tsx +36 -28
- package/src/components/CreateDialog/CreateObjectPanel.tsx +8 -8
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +30 -11
- package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +26 -10
- package/src/components/JoinDialog/index.ts +5 -0
- package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +7 -6
- package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +16 -14
- package/src/components/MembersContainer/index.ts +5 -0
- package/src/components/MenuFooter.tsx +2 -2
- package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +51 -0
- package/src/components/ObjectDetailsPanel/ObjectForm.tsx +72 -0
- package/src/components/ObjectDetailsPanel/index.ts +7 -0
- package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +6 -6
- package/src/components/ObjectRenamePopover/index.ts +5 -0
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +3 -3
- package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +90 -26
- package/src/components/ObjectSettings/ForeignKeys.tsx +4 -4
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +1 -1
- package/src/components/ObjectSettings/index.ts +3 -1
- package/src/components/RecordArticle.stories.tsx +115 -0
- package/src/components/RecordArticle.tsx +114 -0
- package/src/components/SchemaContainer.tsx +23 -26
- package/src/components/SpacePluginSettings.tsx +10 -4
- package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +23 -25
- package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +16 -11
- package/src/components/SpacePresence/index.ts +5 -0
- package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +7 -6
- package/src/components/SpaceRenamePopover/index.ts +5 -0
- package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +9 -4
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +44 -23
- package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
- package/src/components/SyncStatus/SyncStatus.stories.tsx +4 -5
- package/src/components/SyncStatus/SyncStatus.tsx +107 -11
- package/src/components/ViewEditor.tsx +51 -18
- package/src/components/index.ts +7 -8
- package/src/events.ts +6 -6
- package/src/helpers/index.ts +5 -0
- package/src/helpers/query.test.ts +24 -0
- package/src/helpers/query.ts +158 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useActiveSpace.ts +2 -1
- package/src/hooks/useInputSurfaceLookup.tsx +8 -3
- package/src/hooks/usePath.ts +1 -1
- package/src/hooks/useTypeOptions.ts +59 -0
- package/src/index.ts +1 -0
- package/src/meta.ts +6 -3
- package/src/translations.ts +25 -10
- package/src/types/types.ts +33 -18
- package/src/util.tsx +141 -63
- package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
- package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs +0 -90
- package/dist/lib/browser/ObjectDetailsPanel-J7KGPJJK.mjs.map +0 -7
- package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
- package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-AFC6PNAB.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-Q7QG4EKW.mjs.map +0 -7
- package/dist/lib/browser/chunk-6GRF7NEF.mjs.map +0 -7
- package/dist/lib/browser/chunk-CBYL62HG.mjs +0 -19
- package/dist/lib/browser/chunk-CBYL62HG.mjs.map +0 -7
- package/dist/lib/browser/chunk-ELJDGQTO.mjs +0 -94
- package/dist/lib/browser/chunk-ELJDGQTO.mjs.map +0 -7
- package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
- package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
- package/dist/lib/browser/chunk-S33AYKSS.mjs.map +0 -7
- package/dist/lib/browser/chunk-TUQZO5P4.mjs +0 -20
- package/dist/lib/browser/chunk-TUQZO5P4.mjs.map +0 -7
- package/dist/lib/browser/chunk-URST7EEN.mjs.map +0 -7
- package/dist/lib/browser/chunk-WZYRDFW7.mjs.map +0 -7
- package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-CO262Q44.mjs.map +0 -7
- package/dist/lib/browser/react-root-K4IVLFYZ.mjs +0 -29
- package/dist/lib/browser/react-root-K4IVLFYZ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-TPUOK2LC.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-YDPFZELA.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-3I5LISH4.mjs.map +0 -7
- package/dist/lib/browser/state-2RGW7FQG.mjs.map +0 -7
- package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs +0 -91
- package/dist/lib/node-esm/ObjectDetailsPanel-7ADOXZ5W.mjs.map +0 -7
- package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
- package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-OW2EBYRI.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-6PGC5WR5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FJZNSJC4.mjs +0 -20
- package/dist/lib/node-esm/chunk-FJZNSJC4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HC677WUJ.mjs +0 -21
- package/dist/lib/node-esm/chunk-HC677WUJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
- package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LGNPMOXU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NMCD2PSG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs +0 -96
- package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-RXDT5LA5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TEUN2E4F.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-EXPK4B76.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-4OQ7MPGW.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-WXEXIDB7.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-JAP22P57.mjs.map +0 -7
- package/dist/lib/node-esm/state-7VBVBGNS.mjs.map +0 -7
- package/dist/types/src/components/CollectionMain.d.ts +0 -7
- package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
- package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
- package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
- package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
- package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
- package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
- package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
- package/dist/types/src/components/RecordMain.d.ts +0 -7
- package/dist/types/src/components/RecordMain.d.ts.map +0 -1
- package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
- package/src/components/ObjectDetailsPanel.tsx +0 -79
- package/src/components/PersistenceStatus.tsx +0 -83
- package/src/components/RecordMain.tsx +0 -43
- /package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +0 -0
package/src/types/types.ts
CHANGED
|
@@ -2,21 +2,22 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import * as Schema from 'effect/Schema';
|
|
6
6
|
|
|
7
7
|
import { type AnyIntentChain } from '@dxos/app-framework';
|
|
8
|
-
import { type Obj, Type } from '@dxos/echo';
|
|
9
|
-
import { type BaseObject, EchoSchema, StoredSchema
|
|
8
|
+
import { type Obj, QueryAST, Type } from '@dxos/echo';
|
|
9
|
+
import { type BaseObject, EchoSchema, StoredSchema } from '@dxos/echo/internal';
|
|
10
10
|
import { type PublicKey } from '@dxos/react-client';
|
|
11
11
|
// TODO(wittjosiah): This pulls in full client.
|
|
12
12
|
import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
|
|
13
13
|
import { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';
|
|
14
|
-
import {
|
|
14
|
+
import { Collection, FieldSchema, TypenameAnnotationId, View } from '@dxos/schema';
|
|
15
15
|
import { type ComplexMap } from '@dxos/util';
|
|
16
16
|
|
|
17
|
-
import {
|
|
17
|
+
import { meta } from '../meta';
|
|
18
|
+
|
|
19
|
+
export const SPACE_DIRECTORY_HANDLE = `${meta.id}/directory`;
|
|
18
20
|
|
|
19
|
-
export const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';
|
|
20
21
|
export const SPACE_TYPE = 'dxos.org/type/Space';
|
|
21
22
|
|
|
22
23
|
export type ObjectViewerProps = {
|
|
@@ -105,8 +106,7 @@ export const SpaceForm = Schema.Struct({
|
|
|
105
106
|
});
|
|
106
107
|
|
|
107
108
|
export type ObjectForm<T extends BaseObject = BaseObject> = {
|
|
108
|
-
|
|
109
|
-
objectSchema: TypedObject;
|
|
109
|
+
objectSchema: Schema.Schema.AnyNoContext;
|
|
110
110
|
formSchema?: Schema.Schema<T, any>;
|
|
111
111
|
hidden?: boolean;
|
|
112
112
|
getIntent: (props: T, options: { space: Space }) => AnyIntentChain;
|
|
@@ -114,7 +114,7 @@ export type ObjectForm<T extends BaseObject = BaseObject> = {
|
|
|
114
114
|
|
|
115
115
|
export const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;
|
|
116
116
|
|
|
117
|
-
export const SPACE_ACTION = `${
|
|
117
|
+
export const SPACE_ACTION = `${meta.id}/action`;
|
|
118
118
|
|
|
119
119
|
export namespace SpaceAction {
|
|
120
120
|
export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
|
|
@@ -217,6 +217,16 @@ export namespace SpaceAction {
|
|
|
217
217
|
output: Schema.Boolean,
|
|
218
218
|
}) {}
|
|
219
219
|
|
|
220
|
+
export class Snapshot extends Schema.TaggedClass<Snapshot>()(`${SPACE_ACTION}/snapshot`, {
|
|
221
|
+
input: Schema.Struct({
|
|
222
|
+
space: SpaceSchema,
|
|
223
|
+
query: QueryAST.Query.pipe(Schema.optional),
|
|
224
|
+
}),
|
|
225
|
+
output: Schema.Struct({
|
|
226
|
+
snapshot: Schema.instanceOf(Blob),
|
|
227
|
+
}),
|
|
228
|
+
}) {}
|
|
229
|
+
|
|
220
230
|
export const StoredSchemaForm = Schema.Struct({
|
|
221
231
|
name: Schema.optional(Schema.String),
|
|
222
232
|
typename: Schema.optional(
|
|
@@ -230,6 +240,8 @@ export namespace SpaceAction {
|
|
|
230
240
|
input: Schema.Struct({
|
|
231
241
|
space: SpaceSchema,
|
|
232
242
|
typename: Schema.String,
|
|
243
|
+
// TODO(wittjosiah): This is leaky.
|
|
244
|
+
show: Schema.optional(Schema.Boolean),
|
|
233
245
|
}),
|
|
234
246
|
output: Schema.Struct({}),
|
|
235
247
|
}) {}
|
|
@@ -243,6 +255,8 @@ export namespace SpaceAction {
|
|
|
243
255
|
version: Schema.optional(Schema.String),
|
|
244
256
|
// TODO(wittjosiah): Schema for schema?
|
|
245
257
|
schema: Schema.Any,
|
|
258
|
+
// TODO(wittjosiah): This is leaky.
|
|
259
|
+
show: Schema.optional(Schema.Boolean),
|
|
246
260
|
}),
|
|
247
261
|
output: Schema.Struct({
|
|
248
262
|
// TODO(wittjosiah): ObjectId.
|
|
@@ -254,7 +268,7 @@ export namespace SpaceAction {
|
|
|
254
268
|
|
|
255
269
|
export class DeleteField extends Schema.TaggedClass<DeleteField>()(`${SPACE_ACTION}/delete-field`, {
|
|
256
270
|
input: Schema.Struct({
|
|
257
|
-
view:
|
|
271
|
+
view: View.View,
|
|
258
272
|
fieldId: Schema.String,
|
|
259
273
|
// TODO(wittjosiah): Separate fields for undo data?
|
|
260
274
|
deletionData: Schema.optional(
|
|
@@ -272,7 +286,7 @@ export namespace SpaceAction {
|
|
|
272
286
|
|
|
273
287
|
export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
|
|
274
288
|
input: Schema.Struct({
|
|
275
|
-
target: Schema.Union(SpaceSchema,
|
|
289
|
+
target: Schema.Union(SpaceSchema, Collection.Collection),
|
|
276
290
|
views: Schema.optional(Schema.Boolean),
|
|
277
291
|
typename: Schema.optional(Schema.String),
|
|
278
292
|
initialFormValues: Schema.optional(Schema.Any),
|
|
@@ -286,7 +300,7 @@ export namespace SpaceAction {
|
|
|
286
300
|
export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
|
|
287
301
|
input: Schema.Struct({
|
|
288
302
|
object: ReactiveObjectSchema,
|
|
289
|
-
target: Schema.Union(SpaceSchema,
|
|
303
|
+
target: Schema.Union(SpaceSchema, Collection.Collection),
|
|
290
304
|
hidden: Schema.optional(Schema.Boolean),
|
|
291
305
|
}),
|
|
292
306
|
output: Schema.Struct({
|
|
@@ -314,7 +328,7 @@ export namespace SpaceAction {
|
|
|
314
328
|
|
|
315
329
|
export const DeletionData = Schema.Struct({
|
|
316
330
|
objects: Schema.Array(EchoObjectSchema),
|
|
317
|
-
parentCollection:
|
|
331
|
+
parentCollection: Collection.Collection,
|
|
318
332
|
indices: Schema.Array(Schema.Number),
|
|
319
333
|
nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
|
|
320
334
|
wasActive: Schema.Array(Schema.String),
|
|
@@ -324,8 +338,9 @@ export namespace SpaceAction {
|
|
|
324
338
|
|
|
325
339
|
export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
|
|
326
340
|
input: Schema.Struct({
|
|
327
|
-
|
|
328
|
-
|
|
341
|
+
// TODO(wittjosiah): Should be Schema.Union(Type.Obj, Type.Relation).
|
|
342
|
+
objects: Schema.Array(ReactiveObjectSchema),
|
|
343
|
+
target: Schema.optional(Collection.Collection),
|
|
329
344
|
deletionData: Schema.optional(DeletionData),
|
|
330
345
|
}),
|
|
331
346
|
output: Schema.Void,
|
|
@@ -342,7 +357,7 @@ export namespace SpaceAction {
|
|
|
342
357
|
export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
|
|
343
358
|
input: Schema.Struct({
|
|
344
359
|
object: EchoObjectSchema,
|
|
345
|
-
target: Schema.Union(SpaceSchema,
|
|
360
|
+
target: Schema.Union(SpaceSchema, Collection.Collection),
|
|
346
361
|
}),
|
|
347
362
|
output: Schema.Void,
|
|
348
363
|
}) {}
|
|
@@ -361,7 +376,7 @@ export namespace CollectionAction {
|
|
|
361
376
|
name: Schema.optional(Schema.String),
|
|
362
377
|
}),
|
|
363
378
|
output: Schema.Struct({
|
|
364
|
-
object:
|
|
379
|
+
object: Collection.Collection,
|
|
365
380
|
}),
|
|
366
381
|
}) {}
|
|
367
382
|
|
|
@@ -378,7 +393,7 @@ export namespace CollectionAction {
|
|
|
378
393
|
input: QueryCollectionForm,
|
|
379
394
|
output: Schema.Struct({
|
|
380
395
|
// TODO(wittjosiah): Remove cast.
|
|
381
|
-
object: EchoObjectSchema, //
|
|
396
|
+
object: EchoObjectSchema, // Collection.QueryCollection,
|
|
382
397
|
}),
|
|
383
398
|
},
|
|
384
399
|
) {}
|
package/src/util.tsx
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
5
|
+
import { Atom } from '@effect-atom/atom-react';
|
|
6
|
+
import * as Function from 'effect/Function';
|
|
7
7
|
|
|
8
8
|
import { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';
|
|
9
|
-
import { Obj, Ref, Type } from '@dxos/echo';
|
|
10
|
-
import { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo
|
|
9
|
+
import { Filter, Obj, Query, Ref, Type } from '@dxos/echo';
|
|
10
|
+
import { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo/internal';
|
|
11
11
|
import { invariant } from '@dxos/invariant';
|
|
12
12
|
import { Migrations } from '@dxos/migrations';
|
|
13
13
|
import {
|
|
@@ -20,24 +20,24 @@ import {
|
|
|
20
20
|
type ReadableGraph,
|
|
21
21
|
isGraphNode,
|
|
22
22
|
} from '@dxos/plugin-graph';
|
|
23
|
-
import { type QueryResult, type Space, SpaceState,
|
|
23
|
+
import { type QueryResult, type Space, SpaceState, getSpace, isSpace } from '@dxos/react-client/echo';
|
|
24
24
|
import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
|
|
25
25
|
import { type TreeData } from '@dxos/react-ui-list';
|
|
26
|
-
import {
|
|
26
|
+
import { Collection, StoredSchema, View, getTypenameFromQuery } from '@dxos/schema';
|
|
27
27
|
|
|
28
|
-
import {
|
|
28
|
+
import { meta } from './meta';
|
|
29
29
|
import { type ObjectForm, SPACE_TYPE, SpaceAction } from './types';
|
|
30
30
|
|
|
31
|
-
export const SPACES = `${
|
|
32
|
-
export const COMPOSER_SPACE_LOCK =
|
|
31
|
+
export const SPACES = `${meta.id}-spaces`;
|
|
32
|
+
export const COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
|
|
33
33
|
// TODO(wittjosiah): Remove.
|
|
34
34
|
export const SHARED = 'shared-spaces';
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
-
* Convert a query result to an
|
|
37
|
+
* Convert a query result to an Atom value of the objects.
|
|
38
38
|
*/
|
|
39
|
-
export const
|
|
40
|
-
return
|
|
39
|
+
export const atomFromQuery = <T extends AnyEchoObject>(query: QueryResult<T>): Atom.Atom<T[]> => {
|
|
40
|
+
return Atom.make((get) => {
|
|
41
41
|
const unsubscribe = query.subscribe((result) => {
|
|
42
42
|
get.setSelf(result.objects);
|
|
43
43
|
});
|
|
@@ -57,8 +57,8 @@ export const getSpaceDisplayName = (
|
|
|
57
57
|
: namesCache[space.id]
|
|
58
58
|
? namesCache[space.id]
|
|
59
59
|
: personal
|
|
60
|
-
? ['personal space label', { ns:
|
|
61
|
-
: ['unnamed space label', { ns:
|
|
60
|
+
? ['personal space label', { ns: meta.id }]
|
|
61
|
+
: ['unnamed space label', { ns: meta.id }];
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
const getCollectionGraphNodePartials = ({
|
|
@@ -66,7 +66,7 @@ const getCollectionGraphNodePartials = ({
|
|
|
66
66
|
space,
|
|
67
67
|
resolve,
|
|
68
68
|
}: {
|
|
69
|
-
collection:
|
|
69
|
+
collection: Collection.Collection;
|
|
70
70
|
space: Space;
|
|
71
71
|
resolve: (typename: string) => Record<string, any>;
|
|
72
72
|
}) => {
|
|
@@ -141,13 +141,15 @@ const getQueryCollectionNodePartials = ({
|
|
|
141
141
|
space,
|
|
142
142
|
resolve,
|
|
143
143
|
}: {
|
|
144
|
-
collection:
|
|
144
|
+
collection: Collection.QueryCollection;
|
|
145
145
|
space: Space;
|
|
146
146
|
resolve: (typename: string) => Record<string, any>;
|
|
147
147
|
}) => {
|
|
148
|
-
const typename =
|
|
148
|
+
const typename = getTypenameFromQuery(collection.query);
|
|
149
|
+
const metadata = typename ? resolve(typename) : {};
|
|
149
150
|
return {
|
|
150
|
-
icon:
|
|
151
|
+
icon: metadata.icon,
|
|
152
|
+
iconHue: metadata.iconHue,
|
|
151
153
|
acceptPersistenceClass: new Set(['echo']),
|
|
152
154
|
acceptPersistenceKey: new Set([space.id]),
|
|
153
155
|
role: 'branch',
|
|
@@ -176,7 +178,7 @@ const getViewGraphNodePartials = ({
|
|
|
176
178
|
view,
|
|
177
179
|
resolve,
|
|
178
180
|
}: {
|
|
179
|
-
view:
|
|
181
|
+
view: View.View;
|
|
180
182
|
resolve: (typename: string) => Record<string, any>;
|
|
181
183
|
}) => {
|
|
182
184
|
const presentation = view.presentation.target;
|
|
@@ -186,6 +188,7 @@ const getViewGraphNodePartials = ({
|
|
|
186
188
|
return {
|
|
187
189
|
label: view.name || ['object name placeholder', { ns: typename, default: 'New view' }],
|
|
188
190
|
icon: metadata.icon,
|
|
191
|
+
iconHue: metadata.iconHue,
|
|
189
192
|
canDrop: () => false,
|
|
190
193
|
};
|
|
191
194
|
};
|
|
@@ -214,9 +217,9 @@ export const constructSpaceNode = ({
|
|
|
214
217
|
}) => {
|
|
215
218
|
const hasPendingMigration = checkPendingMigration(space);
|
|
216
219
|
const collection =
|
|
217
|
-
space.state.get() === SpaceState.SPACE_READY && space.properties[
|
|
220
|
+
space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;
|
|
218
221
|
const partials =
|
|
219
|
-
space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(
|
|
222
|
+
space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection)
|
|
220
223
|
? getCollectionGraphNodePartials({ collection, space, resolve })
|
|
221
224
|
: {};
|
|
222
225
|
|
|
@@ -234,6 +237,7 @@ export const constructSpaceNode = ({
|
|
|
234
237
|
space.state.get() === SpaceState.SPACE_READY && space.properties.icon
|
|
235
238
|
? `ph--${space.properties.icon}--regular`
|
|
236
239
|
: undefined,
|
|
240
|
+
iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
|
|
237
241
|
disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
|
|
238
242
|
testId: 'spacePlugin.space',
|
|
239
243
|
canDrop: (source: TreeData) => {
|
|
@@ -244,40 +248,40 @@ export const constructSpaceNode = ({
|
|
|
244
248
|
nodes: [
|
|
245
249
|
{
|
|
246
250
|
id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
247
|
-
type: `${
|
|
251
|
+
type: `${meta.id}/settings`,
|
|
248
252
|
data: null,
|
|
249
253
|
properties: {
|
|
250
|
-
label: ['settings panel label', { ns:
|
|
254
|
+
label: ['settings panel label', { ns: meta.id }],
|
|
251
255
|
icon: 'ph--faders--regular',
|
|
252
256
|
disposition: 'alternate-tree',
|
|
253
257
|
},
|
|
254
258
|
nodes: [
|
|
255
259
|
{
|
|
256
260
|
id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
257
|
-
type: `${
|
|
258
|
-
data: `${
|
|
261
|
+
type: `${meta.id}/properties`,
|
|
262
|
+
data: `${meta.id}/properties`,
|
|
259
263
|
properties: {
|
|
260
|
-
label: ['space settings properties label', { ns:
|
|
264
|
+
label: ['space settings properties label', { ns: meta.id }],
|
|
261
265
|
icon: 'ph--sliders--regular',
|
|
262
266
|
position: 'hoist',
|
|
263
267
|
},
|
|
264
268
|
},
|
|
265
269
|
{
|
|
266
270
|
id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
267
|
-
type: `${
|
|
268
|
-
data: `${
|
|
271
|
+
type: `${meta.id}/members`,
|
|
272
|
+
data: `${meta.id}/members`,
|
|
269
273
|
properties: {
|
|
270
|
-
label: ['members panel label', { ns:
|
|
274
|
+
label: ['members panel label', { ns: meta.id }],
|
|
271
275
|
icon: 'ph--users--regular',
|
|
272
276
|
position: 'hoist',
|
|
273
277
|
},
|
|
274
278
|
},
|
|
275
279
|
{
|
|
276
280
|
id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
277
|
-
type: `${
|
|
278
|
-
data: `${
|
|
281
|
+
type: `${meta.id}/schema`,
|
|
282
|
+
data: `${meta.id}/schema`,
|
|
279
283
|
properties: {
|
|
280
|
-
label: ['space settings schema label', { ns:
|
|
284
|
+
label: ['space settings schema label', { ns: meta.id }],
|
|
281
285
|
icon: 'ph--shapes--regular',
|
|
282
286
|
},
|
|
283
287
|
},
|
|
@@ -311,7 +315,7 @@ export const constructSpaceActions = ({
|
|
|
311
315
|
await dispatch(createIntent(SpaceAction.Migrate, { space }));
|
|
312
316
|
},
|
|
313
317
|
properties: {
|
|
314
|
-
label: ['migrate space label', { ns:
|
|
318
|
+
label: ['migrate space label', { ns: meta.id }],
|
|
315
319
|
icon: 'ph--database--regular',
|
|
316
320
|
disposition: 'list-item-primary',
|
|
317
321
|
disabled: migrating || Migrations.running(space),
|
|
@@ -328,7 +332,7 @@ export const constructSpaceActions = ({
|
|
|
328
332
|
await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));
|
|
329
333
|
},
|
|
330
334
|
properties: {
|
|
331
|
-
label: ['create object in space label', { ns:
|
|
335
|
+
label: ['create object in space label', { ns: meta.id }],
|
|
332
336
|
icon: 'ph--plus--regular',
|
|
333
337
|
disposition: 'item',
|
|
334
338
|
testId: 'spacePlugin.createObject',
|
|
@@ -341,7 +345,7 @@ export const constructSpaceActions = ({
|
|
|
341
345
|
await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));
|
|
342
346
|
},
|
|
343
347
|
properties: {
|
|
344
|
-
label: ['rename space label', { ns:
|
|
348
|
+
label: ['rename space label', { ns: meta.id }],
|
|
345
349
|
icon: 'ph--pencil-simple-line--regular',
|
|
346
350
|
keyBinding: {
|
|
347
351
|
macos: 'shift+F6',
|
|
@@ -358,12 +362,14 @@ export const constructSpaceActions = ({
|
|
|
358
362
|
export const createStaticSchemaNode = ({ schema, space }: { schema: Type.Obj.Any; space: Space }) => {
|
|
359
363
|
return {
|
|
360
364
|
id: `${space.id}/${Type.getTypename(schema)}`,
|
|
361
|
-
type: `${
|
|
365
|
+
type: `${meta.id}/static-schema`,
|
|
362
366
|
data: schema,
|
|
363
367
|
properties: {
|
|
364
368
|
label: ['typename label', { ns: Type.getTypename(schema), default: Type.getTypename(schema) }],
|
|
365
369
|
icon: 'ph--database--regular',
|
|
370
|
+
iconHue: 'green',
|
|
366
371
|
role: 'branch',
|
|
372
|
+
selectable: false,
|
|
367
373
|
canDrop: () => false,
|
|
368
374
|
space,
|
|
369
375
|
},
|
|
@@ -397,7 +403,7 @@ export const createStaticSchemaActions = ({
|
|
|
397
403
|
);
|
|
398
404
|
},
|
|
399
405
|
properties: {
|
|
400
|
-
label: ['add view to schema label', { ns: Type.getTypename(
|
|
406
|
+
label: ['add view to schema label', { ns: Type.getTypename(StoredSchema) }],
|
|
401
407
|
icon: 'ph--plus--regular',
|
|
402
408
|
disposition: 'list-item-primary',
|
|
403
409
|
testId: 'spacePlugin.addViewToSchema',
|
|
@@ -410,7 +416,7 @@ export const createStaticSchemaActions = ({
|
|
|
410
416
|
throw new Error('Not implemented');
|
|
411
417
|
},
|
|
412
418
|
properties: {
|
|
413
|
-
label: ['rename object label', { ns: Type.getTypename(
|
|
419
|
+
label: ['rename object label', { ns: Type.getTypename(StoredSchema) }],
|
|
414
420
|
icon: 'ph--pencil-simple-line--regular',
|
|
415
421
|
disabled: true,
|
|
416
422
|
disposition: 'list-item',
|
|
@@ -429,13 +435,37 @@ export const createStaticSchemaActions = ({
|
|
|
429
435
|
}
|
|
430
436
|
},
|
|
431
437
|
properties: {
|
|
432
|
-
label: ['delete object label', { ns: Type.getTypename(
|
|
438
|
+
label: ['delete object label', { ns: Type.getTypename(StoredSchema) }],
|
|
433
439
|
icon: 'ph--trash--regular',
|
|
434
440
|
disposition: 'list-item',
|
|
435
441
|
disabled: !deletable,
|
|
436
442
|
testId: 'spacePlugin.deleteObject',
|
|
437
443
|
},
|
|
438
444
|
},
|
|
445
|
+
{
|
|
446
|
+
id: getId(SpaceAction.Snapshot._tag),
|
|
447
|
+
type: ACTION_TYPE,
|
|
448
|
+
data: async () => {
|
|
449
|
+
const result = await dispatch(
|
|
450
|
+
createIntent(SpaceAction.Snapshot, {
|
|
451
|
+
space,
|
|
452
|
+
query: Query.select(Filter.type(schema)).ast,
|
|
453
|
+
}),
|
|
454
|
+
);
|
|
455
|
+
if (result.data?.snapshot) {
|
|
456
|
+
await downloadBlob(
|
|
457
|
+
result.data.snapshot,
|
|
458
|
+
// TODO(wittjosiah): Factor out file name construction.
|
|
459
|
+
`${new Date().toISOString()}-${space.id}-${Type.getTypename(schema)}.json`,
|
|
460
|
+
);
|
|
461
|
+
}
|
|
462
|
+
},
|
|
463
|
+
properties: {
|
|
464
|
+
label: ['snapshot by schema label', { ns: meta.id }],
|
|
465
|
+
icon: 'ph--camera--regular',
|
|
466
|
+
disposition: 'list-item',
|
|
467
|
+
},
|
|
468
|
+
},
|
|
439
469
|
];
|
|
440
470
|
|
|
441
471
|
return actions;
|
|
@@ -462,13 +492,13 @@ export const createObjectNode = ({
|
|
|
462
492
|
}
|
|
463
493
|
|
|
464
494
|
const metadata = resolve(type);
|
|
465
|
-
const partials = Obj.instanceOf(
|
|
495
|
+
const partials = Obj.instanceOf(Collection.Collection, object)
|
|
466
496
|
? getCollectionGraphNodePartials({ collection: object, space, resolve })
|
|
467
|
-
: Obj.instanceOf(
|
|
497
|
+
: Obj.instanceOf(Collection.QueryCollection, object)
|
|
468
498
|
? getQueryCollectionNodePartials({ collection: object, space, resolve })
|
|
469
|
-
: Obj.instanceOf(
|
|
499
|
+
: Obj.instanceOf(StoredSchema, object)
|
|
470
500
|
? getSchemaGraphNodePartials()
|
|
471
|
-
: Obj.instanceOf(
|
|
501
|
+
: Obj.instanceOf(View.View, object)
|
|
472
502
|
? getViewGraphNodePartials({ view: object, resolve })
|
|
473
503
|
: metadata.graphProps;
|
|
474
504
|
|
|
@@ -479,18 +509,26 @@ export const createObjectNode = ({
|
|
|
479
509
|
// TODO(wittjosiah): Remove metadata labels.
|
|
480
510
|
metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];
|
|
481
511
|
|
|
512
|
+
const selectable =
|
|
513
|
+
(!Obj.instanceOf(StoredSchema, object) &&
|
|
514
|
+
!Obj.instanceOf(Collection.QueryCollection, object) &&
|
|
515
|
+
!Obj.instanceOf(Collection.Collection, object)) ||
|
|
516
|
+
(navigable && Obj.instanceOf(Collection.Collection, object));
|
|
517
|
+
|
|
482
518
|
return {
|
|
483
|
-
id:
|
|
519
|
+
id: Obj.getDXN(object).toString(),
|
|
484
520
|
type,
|
|
485
521
|
cacheable: ['label', 'icon', 'role'],
|
|
486
522
|
data: object,
|
|
487
523
|
properties: {
|
|
488
524
|
label,
|
|
489
525
|
icon: metadata.icon ?? 'ph--placeholder--regular',
|
|
526
|
+
iconHue: metadata.iconHue,
|
|
490
527
|
disposition,
|
|
491
528
|
testId: 'spacePlugin.object',
|
|
492
529
|
persistenceClass: 'echo',
|
|
493
530
|
persistenceKey: space?.id,
|
|
531
|
+
selectable,
|
|
494
532
|
canDrop: (source: TreeData) => {
|
|
495
533
|
return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
|
|
496
534
|
},
|
|
@@ -519,15 +557,15 @@ export const constructObjectActions = ({
|
|
|
519
557
|
const typename = Obj.getTypename(object);
|
|
520
558
|
invariant(typename, 'Object has no typename');
|
|
521
559
|
|
|
522
|
-
const getId = (id: string) => `${id}/${
|
|
560
|
+
const getId = (id: string) => `${id}/${Obj.getDXN(object).toString()}`;
|
|
523
561
|
|
|
524
|
-
const queryCollection = Obj.instanceOf(
|
|
562
|
+
const queryCollection = Obj.instanceOf(Collection.QueryCollection, object) ? object : undefined;
|
|
525
563
|
const matchingObjectForm = queryCollection
|
|
526
|
-
? objectForms.find((form) => Type.getTypename(form.objectSchema) ===
|
|
564
|
+
? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query))
|
|
527
565
|
: undefined;
|
|
528
566
|
|
|
529
567
|
const actions: NodeArg<ActionData>[] = [
|
|
530
|
-
...(Obj.instanceOf(
|
|
568
|
+
...(Obj.instanceOf(Collection.Collection, object)
|
|
531
569
|
? [
|
|
532
570
|
{
|
|
533
571
|
id: getId(SpaceAction.OpenCreateObject._tag),
|
|
@@ -536,7 +574,7 @@ export const constructObjectActions = ({
|
|
|
536
574
|
await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));
|
|
537
575
|
},
|
|
538
576
|
properties: {
|
|
539
|
-
label: ['create object in collection label', { ns:
|
|
577
|
+
label: ['create object in collection label', { ns: meta.id }],
|
|
540
578
|
icon: 'ph--plus--regular',
|
|
541
579
|
disposition: 'list-item-primary',
|
|
542
580
|
testId: 'spacePlugin.createObject',
|
|
@@ -544,7 +582,7 @@ export const constructObjectActions = ({
|
|
|
544
582
|
},
|
|
545
583
|
]
|
|
546
584
|
: []),
|
|
547
|
-
...(Obj.instanceOf(
|
|
585
|
+
...(Obj.instanceOf(StoredSchema, object)
|
|
548
586
|
? [
|
|
549
587
|
{
|
|
550
588
|
id: getId(SpaceAction.AddObject._tag),
|
|
@@ -559,12 +597,36 @@ export const constructObjectActions = ({
|
|
|
559
597
|
);
|
|
560
598
|
},
|
|
561
599
|
properties: {
|
|
562
|
-
label: ['add view to schema label', { ns: Type.getTypename(
|
|
600
|
+
label: ['add view to schema label', { ns: Type.getTypename(StoredSchema) }],
|
|
563
601
|
icon: 'ph--plus--regular',
|
|
564
602
|
disposition: 'list-item-primary',
|
|
565
603
|
testId: 'spacePlugin.addViewToSchema',
|
|
566
604
|
},
|
|
567
605
|
},
|
|
606
|
+
{
|
|
607
|
+
id: getId(SpaceAction.Snapshot._tag),
|
|
608
|
+
type: ACTION_TYPE,
|
|
609
|
+
data: async () => {
|
|
610
|
+
const result = await dispatch(
|
|
611
|
+
createIntent(SpaceAction.Snapshot, {
|
|
612
|
+
space,
|
|
613
|
+
query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast,
|
|
614
|
+
}),
|
|
615
|
+
);
|
|
616
|
+
if (result.data?.snapshot) {
|
|
617
|
+
await downloadBlob(
|
|
618
|
+
result.data.snapshot,
|
|
619
|
+
// TODO(wittjosiah): Factor out file name construction.
|
|
620
|
+
`${new Date().toISOString()}-${space.id}-${object.typename}.json`,
|
|
621
|
+
);
|
|
622
|
+
}
|
|
623
|
+
},
|
|
624
|
+
properties: {
|
|
625
|
+
label: ['snapshot by schema label', { ns: meta.id }],
|
|
626
|
+
icon: 'ph--camera--regular',
|
|
627
|
+
disposition: 'list-item',
|
|
628
|
+
},
|
|
629
|
+
},
|
|
568
630
|
]
|
|
569
631
|
: []),
|
|
570
632
|
...(matchingObjectForm
|
|
@@ -577,12 +639,12 @@ export const constructObjectActions = ({
|
|
|
577
639
|
await dispatch(
|
|
578
640
|
createIntent(SpaceAction.OpenCreateObject, {
|
|
579
641
|
target: space,
|
|
580
|
-
typename: queryCollection ?
|
|
642
|
+
typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : undefined,
|
|
581
643
|
}),
|
|
582
644
|
);
|
|
583
645
|
} else {
|
|
584
646
|
await dispatch(
|
|
585
|
-
pipe(
|
|
647
|
+
Function.pipe(
|
|
586
648
|
matchingObjectForm.getIntent({}, { space }),
|
|
587
649
|
chain(SpaceAction.AddObject, { target: space, hidden: true }),
|
|
588
650
|
chain(LayoutAction.Open, { part: 'main' }),
|
|
@@ -591,7 +653,7 @@ export const constructObjectActions = ({
|
|
|
591
653
|
}
|
|
592
654
|
},
|
|
593
655
|
properties: {
|
|
594
|
-
label: ['create object in smart collection label', { ns:
|
|
656
|
+
label: ['create object in smart collection label', { ns: meta.id }],
|
|
595
657
|
icon: 'ph--plus--regular',
|
|
596
658
|
disposition: 'list-item-primary',
|
|
597
659
|
testId: 'spacePlugin.createObject',
|
|
@@ -621,8 +683,8 @@ export const constructObjectActions = ({
|
|
|
621
683
|
type: ACTION_TYPE,
|
|
622
684
|
data: async () => {
|
|
623
685
|
const collection = graph
|
|
624
|
-
.getConnections(
|
|
625
|
-
.find(({ data }) => Obj.instanceOf(
|
|
686
|
+
.getConnections(Obj.getDXN(object).toString(), 'inbound')
|
|
687
|
+
.find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
|
|
626
688
|
await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));
|
|
627
689
|
},
|
|
628
690
|
properties: {
|
|
@@ -636,19 +698,19 @@ export const constructObjectActions = ({
|
|
|
636
698
|
},
|
|
637
699
|
},
|
|
638
700
|
...(navigable ||
|
|
639
|
-
(!Obj.instanceOf(
|
|
640
|
-
!Obj.instanceOf(
|
|
641
|
-
!Obj.instanceOf(
|
|
701
|
+
(!Obj.instanceOf(Collection.Collection, object) &&
|
|
702
|
+
!Obj.instanceOf(Collection.QueryCollection, object) &&
|
|
703
|
+
!Obj.instanceOf(StoredSchema, object))
|
|
642
704
|
? [
|
|
643
705
|
{
|
|
644
706
|
id: getId('copy-link'),
|
|
645
707
|
type: ACTION_TYPE,
|
|
646
708
|
data: async () => {
|
|
647
|
-
const url = `${window.location.origin}/${space.id}/${
|
|
709
|
+
const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;
|
|
648
710
|
await navigator.clipboard.writeText(url);
|
|
649
711
|
},
|
|
650
712
|
properties: {
|
|
651
|
-
label: ['copy link label', { ns:
|
|
713
|
+
label: ['copy link label', { ns: meta.id }],
|
|
652
714
|
icon: 'ph--link--regular',
|
|
653
715
|
disposition: 'list-item',
|
|
654
716
|
testId: 'spacePlugin.copyLink',
|
|
@@ -661,10 +723,12 @@ export const constructObjectActions = ({
|
|
|
661
723
|
id: getId(LayoutAction.Expose._tag),
|
|
662
724
|
type: ACTION_TYPE,
|
|
663
725
|
data: async () => {
|
|
664
|
-
await dispatch(
|
|
726
|
+
await dispatch(
|
|
727
|
+
createIntent(LayoutAction.Expose, { part: 'navigation', subject: Obj.getDXN(object).toString() }),
|
|
728
|
+
);
|
|
665
729
|
},
|
|
666
730
|
properties: {
|
|
667
|
-
label: ['expose object label', { ns:
|
|
731
|
+
label: ['expose object label', { ns: meta.id }],
|
|
668
732
|
icon: 'ph--eye--regular',
|
|
669
733
|
disposition: 'heading-list-item',
|
|
670
734
|
testId: 'spacePlugin.exposeObject',
|
|
@@ -675,6 +739,20 @@ export const constructObjectActions = ({
|
|
|
675
739
|
return actions;
|
|
676
740
|
};
|
|
677
741
|
|
|
742
|
+
// TODO(wittjosiah): Factor out.
|
|
743
|
+
const downloadBlob = async (blob: Blob, filename: string) => {
|
|
744
|
+
const url = URL.createObjectURL(blob);
|
|
745
|
+
const a = document.createElement('a');
|
|
746
|
+
a.href = url;
|
|
747
|
+
a.download = filename;
|
|
748
|
+
|
|
749
|
+
document.body.appendChild(a);
|
|
750
|
+
a.click();
|
|
751
|
+
|
|
752
|
+
document.body.removeChild(a);
|
|
753
|
+
URL.revokeObjectURL(url);
|
|
754
|
+
};
|
|
755
|
+
|
|
678
756
|
/**
|
|
679
757
|
* @deprecated This is a temporary solution.
|
|
680
758
|
*/
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/CollectionMain.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { baseSurface, descriptionMessage, mx } from '@dxos/react-ui-theme';\nimport { type DataType } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const CollectionMain = ({ collection }: { collection: DataType.Collection }) => {\n const { t } = useTranslation(SPACE_PLUGIN);\n\n return (\n <div\n role='none'\n className={mx(baseSurface, 'min-bs-screen is-full flex items-center justify-center p-8')}\n data-testid='composer.firstRunMessage'\n >\n <p\n role='alert'\n className={mx(descriptionMessage, 'rounded-md p-8 font-normal text-lg max-is-[24rem] break-words')}\n >\n {collection.name ?? t('unnamed collection label')}\n </p>\n </div>\n );\n};\n\nexport default CollectionMain;\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,sBAAsB;AAC/B,SAASC,aAAaC,oBAAoBC,UAAU;AAK7C,IAAMC,iBAAiB,CAAC,EAAEC,WAAU,MAAuC;;;AAChF,UAAM,EAAEC,EAAC,IAAKC,eAAeC,YAAAA;AAE7B,WACE,sBAAA,cAACC,OAAAA;MACCC,MAAK;MACLC,WAAWC,GAAGC,aAAa,4DAAA;MAC3BC,eAAY;OAEZ,sBAAA,cAACC,KAAAA;MACCL,MAAK;MACLC,WAAWC,GAAGI,oBAAoB,+DAAA;OAEjCX,WAAWY,QAAQX,EAAE,0BAAA,CAAA,CAAA;;;;AAI9B;AAEA,IAAA,yBAAeF;",
|
|
6
|
-
"names": ["React", "useTranslation", "baseSurface", "descriptionMessage", "mx", "CollectionMain", "collection", "t", "useTranslation", "SPACE_PLUGIN", "div", "role", "className", "mx", "baseSurface", "data-testid", "p", "descriptionMessage", "name"]
|
|
7
|
-
}
|