@dxos/plugin-space 0.8.4-main.e098934 → 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
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-BDEFTL6K.mjs";
|
|
5
|
+
|
|
6
|
+
// src/components/RecordArticle.tsx
|
|
7
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
8
|
+
import React, { useMemo } from "react";
|
|
9
|
+
import { Surface } from "@dxos/app-framework/react";
|
|
10
|
+
import { Filter, Ref, Relation } from "@dxos/echo";
|
|
11
|
+
import { getSpace, useQuery } from "@dxos/react-client/echo";
|
|
12
|
+
import { useTranslation } from "@dxos/react-ui";
|
|
13
|
+
import { Masonry } from "@dxos/react-ui-masonry";
|
|
14
|
+
import { StackItem } from "@dxos/react-ui-stack";
|
|
15
|
+
import { mx } from "@dxos/react-ui-theme";
|
|
16
|
+
import { isNonNullable } from "@dxos/util";
|
|
17
|
+
var RecordArticle = ({ subject }) => {
|
|
18
|
+
var _effect = _useSignals();
|
|
19
|
+
try {
|
|
20
|
+
const { t } = useTranslation(meta.id);
|
|
21
|
+
const space = getSpace(subject);
|
|
22
|
+
const data = useMemo(() => ({
|
|
23
|
+
subject
|
|
24
|
+
}), [
|
|
25
|
+
subject
|
|
26
|
+
]);
|
|
27
|
+
const related = useRelatedObjects(space, subject, {
|
|
28
|
+
references: true,
|
|
29
|
+
relations: true
|
|
30
|
+
});
|
|
31
|
+
const singleColumn = related.length === 1;
|
|
32
|
+
return /* @__PURE__ */ React.createElement(StackItem.Content, null, /* @__PURE__ */ React.createElement("div", {
|
|
33
|
+
role: "none",
|
|
34
|
+
className: mx("flex flex-col gap-4 p-4 is-full overflow-y-auto")
|
|
35
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
36
|
+
role: "none",
|
|
37
|
+
className: mx("flex is-full card-max-width")
|
|
38
|
+
}, /* @__PURE__ */ React.createElement(Surface, {
|
|
39
|
+
role: "section",
|
|
40
|
+
data,
|
|
41
|
+
limit: 1
|
|
42
|
+
})), related.length > 0 && /* @__PURE__ */ React.createElement("div", {
|
|
43
|
+
role: "none",
|
|
44
|
+
className: mx("flex flex-col gap-1", singleColumn ? "card-max-width" : "is-full")
|
|
45
|
+
}, /* @__PURE__ */ React.createElement("label", {
|
|
46
|
+
className: "mbs-2 text-sm text-description"
|
|
47
|
+
}, t("related objects label")), /* @__PURE__ */ React.createElement(Masonry.Root, {
|
|
48
|
+
items: related,
|
|
49
|
+
render: Card,
|
|
50
|
+
columnCount: singleColumn ? 1 : void 0,
|
|
51
|
+
intrinsicHeight: true
|
|
52
|
+
}))));
|
|
53
|
+
} finally {
|
|
54
|
+
_effect.f();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var Card = ({ data: subject }) => {
|
|
58
|
+
var _effect = _useSignals();
|
|
59
|
+
try {
|
|
60
|
+
const data = useMemo(() => ({
|
|
61
|
+
subject
|
|
62
|
+
}), [
|
|
63
|
+
subject
|
|
64
|
+
]);
|
|
65
|
+
return /* @__PURE__ */ React.createElement(Surface, {
|
|
66
|
+
role: "card",
|
|
67
|
+
data,
|
|
68
|
+
limit: 1
|
|
69
|
+
});
|
|
70
|
+
} finally {
|
|
71
|
+
_effect.f();
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
var useRelatedObjects = (space, record, options = {}) => {
|
|
75
|
+
const objects = useQuery(space, Filter.everything());
|
|
76
|
+
return useMemo(() => {
|
|
77
|
+
if (!record) {
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
const related = [];
|
|
81
|
+
if (options.references) {
|
|
82
|
+
const getReferences = (obj) => {
|
|
83
|
+
return Object.getOwnPropertyNames(obj).map((name) => obj[name]).filter((value) => Ref.isRef(value));
|
|
84
|
+
};
|
|
85
|
+
const references = getReferences(record);
|
|
86
|
+
const referenceTargets = references.map((ref) => ref.target).filter(isNonNullable);
|
|
87
|
+
const referenceSources = objects.filter((obj) => {
|
|
88
|
+
const refs = getReferences(obj);
|
|
89
|
+
return refs.some((ref) => ref.target === record);
|
|
90
|
+
});
|
|
91
|
+
related.push(...referenceTargets, ...referenceSources);
|
|
92
|
+
}
|
|
93
|
+
if (options.relations) {
|
|
94
|
+
const isValidRelation = (obj) => {
|
|
95
|
+
try {
|
|
96
|
+
return Relation.isRelation(obj) && Relation.getSource(obj) && Relation.getTarget(obj);
|
|
97
|
+
} catch {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
const relations = objects.filter((obj) => Relation.isRelation(obj)).filter((obj) => isValidRelation(obj));
|
|
102
|
+
const targetObjects = relations.filter((relation) => Relation.getTarget(relation) === record).map((relation) => Relation.getSource(relation));
|
|
103
|
+
const sourceObjects = relations.filter((relation) => Relation.getSource(relation) === record).map((relation) => Relation.getTarget(relation));
|
|
104
|
+
related.push(...targetObjects, ...sourceObjects);
|
|
105
|
+
}
|
|
106
|
+
return related;
|
|
107
|
+
}, [
|
|
108
|
+
record,
|
|
109
|
+
objects
|
|
110
|
+
]);
|
|
111
|
+
};
|
|
112
|
+
var RecordArticle_default = RecordArticle;
|
|
113
|
+
export {
|
|
114
|
+
RecordArticle,
|
|
115
|
+
RecordArticle_default as default
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=RecordArticle-NACBH42P.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/RecordArticle.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Surface } from '@dxos/app-framework/react';\nimport { type SurfaceComponentProps } from '@dxos/app-framework/react';\nimport { Filter, type Obj, Ref, Relation } from '@dxos/echo';\nimport { type Space, getSpace, useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Masonry } from '@dxos/react-ui-masonry';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { mx } from '@dxos/react-ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nexport const RecordArticle = ({ subject }: SurfaceComponentProps) => {\n const { t } = useTranslation(meta.id);\n const space = getSpace(subject);\n const data = useMemo(() => ({ subject }), [subject]);\n const related = useRelatedObjects(space, subject, {\n references: true,\n relations: true,\n });\n const singleColumn = related.length === 1;\n\n return (\n <StackItem.Content>\n <div role='none' className={mx('flex flex-col gap-4 p-4 is-full overflow-y-auto')}>\n <div role='none' className={mx('flex is-full card-max-width')}>\n <Surface role='section' data={data} limit={1} />\n </div>\n\n {related.length > 0 && (\n <div role='none' className={mx('flex flex-col gap-1', singleColumn ? 'card-max-width' : 'is-full')}>\n <label className='mbs-2 text-sm text-description'>{t('related objects label')}</label>\n <Masonry.Root<Obj.Any>\n items={related}\n render={Card}\n columnCount={singleColumn ? 1 : undefined}\n intrinsicHeight\n />\n </div>\n )}\n </div>\n </StackItem.Content>\n );\n};\n\nconst Card = ({ data: subject }: { data: Obj.Any }) => {\n const data = useMemo(() => ({ subject }), [subject]);\n return <Surface role='card' data={data} limit={1} />;\n};\n\n// TODO(wittjosiah): This is a hack. ECHO needs to have a back reference index to easily query for related objects.\nconst useRelatedObjects = (\n space?: Space,\n record?: Obj.Any,\n options: { references?: boolean; relations?: boolean } = {},\n) => {\n const objects = useQuery(space, Filter.everything());\n return useMemo(() => {\n if (!record) {\n return [];\n }\n\n const related: Obj.Any[] = [];\n\n // TODO(burdon): Change Person => Organization to relations.\n if (options.references) {\n const getReferences = (obj: Obj.Any): Ref.Any[] => {\n return Object.getOwnPropertyNames(obj)\n .map((name) => obj[name as keyof Obj.Any])\n .filter((value) => Ref.isRef(value)) as Ref.Any[];\n };\n\n const references = getReferences(record);\n const referenceTargets = references.map((ref) => ref.target).filter(isNonNullable);\n const referenceSources = objects.filter((obj) => {\n const refs = getReferences(obj);\n return refs.some((ref) => ref.target === record);\n });\n\n related.push(...referenceTargets, ...referenceSources);\n }\n\n if (options.relations) {\n // TODO(dmaretskyi): Workaround until https://github.com/dxos/dxos/pull/10100 lands.\n const isValidRelation = (obj: Obj.Any) => {\n try {\n return Relation.isRelation(obj) && Relation.getSource(obj) && Relation.getTarget(obj);\n } catch {\n return false;\n }\n };\n\n const relations = objects.filter((obj) => Relation.isRelation(obj)).filter((obj) => isValidRelation(obj));\n const targetObjects = relations\n .filter((relation) => Relation.getTarget(relation) === record)\n .map((relation) => Relation.getSource(relation));\n const sourceObjects = relations\n .filter((relation) => Relation.getSource(relation) === record)\n .map((relation) => Relation.getTarget(relation));\n\n related.push(...targetObjects, ...sourceObjects);\n }\n\n return related;\n }, [record, objects]);\n};\n\nexport default RecordArticle;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useMemo", "Surface", "Filter", "Ref", "Relation", "getSpace", "useQuery", "useTranslation", "Masonry", "StackItem", "mx", "isNonNullable", "RecordArticle", "subject", "t", "useTranslation", "meta", "id", "space", "getSpace", "data", "useMemo", "related", "useRelatedObjects", "references", "relations", "singleColumn", "length", "StackItem", "Content", "div", "role", "className", "mx", "Surface", "limit", "label", "Masonry", "Root", "items", "render", "Card", "columnCount", "undefined", "intrinsicHeight", "record", "options", "objects", "useQuery", "Filter", "everything", "getReferences", "obj", "Object", "getOwnPropertyNames", "map", "name", "filter", "value", "Ref", "isRef", "referenceTargets", "ref", "target", "isNonNullable", "referenceSources", "refs", "some", "push", "isValidRelation", "Relation", "isRelation", "getSource", "getTarget", "targetObjects", "relation", "sourceObjects"]
|
|
7
|
+
}
|
|
@@ -1,44 +1,47 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
getActiveSpace
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6ZQGZBEP.mjs";
|
|
5
5
|
import {
|
|
6
6
|
SpaceCapabilities
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-Z7BB6HC2.mjs";
|
|
8
8
|
import {
|
|
9
9
|
SHARED,
|
|
10
10
|
SPACES,
|
|
11
|
+
atomFromQuery,
|
|
11
12
|
constructObjectActions,
|
|
12
13
|
constructSpaceActions,
|
|
13
14
|
constructSpaceNode,
|
|
14
15
|
createObjectNode,
|
|
15
16
|
createStaticSchemaActions,
|
|
16
|
-
createStaticSchemaNode
|
|
17
|
-
|
|
18
|
-
} from "./chunk-TEUN2E4F.mjs";
|
|
17
|
+
createStaticSchemaNode
|
|
18
|
+
} from "./chunk-OK2L7N2F.mjs";
|
|
19
19
|
import {
|
|
20
20
|
SPACE_TYPE,
|
|
21
21
|
SpaceAction
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-6VEONPNZ.mjs";
|
|
23
23
|
import {
|
|
24
|
-
|
|
25
|
-
} from "./chunk-
|
|
24
|
+
meta
|
|
25
|
+
} from "./chunk-BDEFTL6K.mjs";
|
|
26
26
|
|
|
27
27
|
// src/capabilities/app-graph-builder.ts
|
|
28
|
-
import {
|
|
29
|
-
import
|
|
28
|
+
import { Atom } from "@effect-atom/atom-react";
|
|
29
|
+
import * as Array from "effect/Array";
|
|
30
|
+
import * as Function from "effect/Function";
|
|
31
|
+
import * as Option from "effect/Option";
|
|
32
|
+
import * as Schema from "effect/Schema";
|
|
30
33
|
import { Capabilities, contributes, createIntent } from "@dxos/app-framework";
|
|
31
|
-
import { SpaceState, getSpace, isSpace
|
|
32
|
-
import { Filter, Obj, Query, Type } from "@dxos/echo";
|
|
34
|
+
import { SpaceState, getSpace, isSpace } from "@dxos/client/echo";
|
|
35
|
+
import { DXN, Filter, Obj, Query, Type } from "@dxos/echo";
|
|
33
36
|
import { log } from "@dxos/log";
|
|
34
37
|
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
35
38
|
import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
|
|
36
|
-
import { ROOT_ID,
|
|
37
|
-
import {
|
|
39
|
+
import { ROOT_ID, atomFromObservable, atomFromSignal, createExtension } from "@dxos/plugin-graph";
|
|
40
|
+
import { Collection, StoredSchema, View, getTypenameFromQuery } from "@dxos/schema";
|
|
38
41
|
import { isNonNullable } from "@dxos/util";
|
|
39
42
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/capabilities/app-graph-builder.ts";
|
|
40
|
-
var app_graph_builder_default = (context) => {
|
|
41
|
-
const resolve = (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
|
|
43
|
+
var app_graph_builder_default = ((context) => {
|
|
44
|
+
const resolve = (get) => (typename) => context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};
|
|
42
45
|
const spacesNode = {
|
|
43
46
|
id: SPACES,
|
|
44
47
|
type: SPACES,
|
|
@@ -50,7 +53,7 @@ var app_graph_builder_default = (context) => {
|
|
|
50
53
|
label: [
|
|
51
54
|
"spaces label",
|
|
52
55
|
{
|
|
53
|
-
ns:
|
|
56
|
+
ns: meta.id
|
|
54
57
|
}
|
|
55
58
|
],
|
|
56
59
|
icon: "ph--planet--regular",
|
|
@@ -71,7 +74,7 @@ var app_graph_builder_default = (context) => {
|
|
|
71
74
|
} else {
|
|
72
75
|
log.warn("spaces order object not found", void 0, {
|
|
73
76
|
F: __dxlog_file,
|
|
74
|
-
L:
|
|
77
|
+
L: 74,
|
|
75
78
|
S: void 0,
|
|
76
79
|
C: (f, a) => f(...a)
|
|
77
80
|
});
|
|
@@ -82,9 +85,9 @@ var app_graph_builder_default = (context) => {
|
|
|
82
85
|
return contributes(Capabilities.AppGraphBuilder, [
|
|
83
86
|
// Primary actions.
|
|
84
87
|
createExtension({
|
|
85
|
-
id: `${
|
|
88
|
+
id: `${meta.id}/primary-actions`,
|
|
86
89
|
position: "hoist",
|
|
87
|
-
actions: (node) =>
|
|
90
|
+
actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
|
|
88
91
|
{
|
|
89
92
|
id: SpaceAction.OpenCreateSpace._tag,
|
|
90
93
|
data: async () => {
|
|
@@ -95,7 +98,7 @@ var app_graph_builder_default = (context) => {
|
|
|
95
98
|
label: [
|
|
96
99
|
"create space label",
|
|
97
100
|
{
|
|
98
|
-
ns:
|
|
101
|
+
ns: meta.id
|
|
99
102
|
}
|
|
100
103
|
],
|
|
101
104
|
icon: "ph--plus--regular",
|
|
@@ -113,7 +116,7 @@ var app_graph_builder_default = (context) => {
|
|
|
113
116
|
label: [
|
|
114
117
|
"join space label",
|
|
115
118
|
{
|
|
116
|
-
ns:
|
|
119
|
+
ns: meta.id
|
|
117
120
|
}
|
|
118
121
|
],
|
|
119
122
|
icon: "ph--sign-in--regular",
|
|
@@ -135,7 +138,7 @@ var app_graph_builder_default = (context) => {
|
|
|
135
138
|
label: [
|
|
136
139
|
"share space label",
|
|
137
140
|
{
|
|
138
|
-
ns:
|
|
141
|
+
ns: meta.id
|
|
139
142
|
}
|
|
140
143
|
],
|
|
141
144
|
icon: "ph--users--regular",
|
|
@@ -160,7 +163,7 @@ var app_graph_builder_default = (context) => {
|
|
|
160
163
|
label: [
|
|
161
164
|
"open current space settings label",
|
|
162
165
|
{
|
|
163
|
-
ns:
|
|
166
|
+
ns: meta.id
|
|
164
167
|
}
|
|
165
168
|
],
|
|
166
169
|
icon: "ph--faders--regular",
|
|
@@ -174,9 +177,9 @@ var app_graph_builder_default = (context) => {
|
|
|
174
177
|
}),
|
|
175
178
|
// Create spaces group node.
|
|
176
179
|
createExtension({
|
|
177
|
-
id: `${
|
|
180
|
+
id: `${meta.id}/root`,
|
|
178
181
|
position: "hoist",
|
|
179
|
-
connector: (node) =>
|
|
182
|
+
connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => [
|
|
180
183
|
spacesNode
|
|
181
184
|
]), Option.getOrElse(() => [])))
|
|
182
185
|
}),
|
|
@@ -185,25 +188,25 @@ var app_graph_builder_default = (context) => {
|
|
|
185
188
|
id: SPACES,
|
|
186
189
|
connector: (node) => {
|
|
187
190
|
let query;
|
|
188
|
-
return
|
|
191
|
+
return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === SPACES ? Option.some(node2) : Option.none()), Option.map(() => {
|
|
189
192
|
const state = context.getCapability(SpaceCapabilities.State);
|
|
190
193
|
const client = context.getCapability(ClientCapabilities.Client);
|
|
191
|
-
const
|
|
192
|
-
const
|
|
193
|
-
const spaces = get(
|
|
194
|
-
const isReady = get(
|
|
194
|
+
const spacesAtom = atomFromObservable(client.spaces);
|
|
195
|
+
const isReadyAtom = atomFromObservable(client.spaces.isReady);
|
|
196
|
+
const spaces = get(spacesAtom);
|
|
197
|
+
const isReady = get(isReadyAtom);
|
|
195
198
|
if (!spaces || !isReady) {
|
|
196
199
|
return [];
|
|
197
200
|
}
|
|
198
|
-
const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore(
|
|
201
|
+
const settings = get(context.capabilities(Capabilities.SettingsStore))[0]?.getStore(meta.id)?.value;
|
|
199
202
|
try {
|
|
200
203
|
if (!query) {
|
|
201
204
|
query = client.spaces.default.db.query(Filter.type(Type.Expando, {
|
|
202
205
|
key: SHARED
|
|
203
206
|
}));
|
|
204
207
|
}
|
|
205
|
-
const [spacesOrder] = get(
|
|
206
|
-
return get(
|
|
208
|
+
const [spacesOrder] = get(atomFromQuery(query));
|
|
209
|
+
return get(atomFromSignal(() => {
|
|
207
210
|
const order = spacesOrder?.order ?? [];
|
|
208
211
|
const orderMap = new Map(order.map((id, index) => [
|
|
209
212
|
id,
|
|
@@ -217,7 +220,7 @@ var app_graph_builder_default = (context) => {
|
|
|
217
220
|
navigable: state.navigableCollections,
|
|
218
221
|
personal: space === client.spaces.default,
|
|
219
222
|
namesCache: state.spaceNames,
|
|
220
|
-
resolve
|
|
223
|
+
resolve: resolve(get)
|
|
221
224
|
}));
|
|
222
225
|
}));
|
|
223
226
|
} catch {
|
|
@@ -228,8 +231,8 @@ var app_graph_builder_default = (context) => {
|
|
|
228
231
|
}),
|
|
229
232
|
// Create space actions.
|
|
230
233
|
createExtension({
|
|
231
|
-
id: `${
|
|
232
|
-
actions: (node) =>
|
|
234
|
+
id: `${meta.id}/actions`,
|
|
235
|
+
actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((space) => {
|
|
233
236
|
const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
|
|
234
237
|
const [client] = get(context.capabilities(ClientCapabilities.Client));
|
|
235
238
|
const [state] = get(context.capabilities(SpaceCapabilities.State));
|
|
@@ -247,47 +250,47 @@ var app_graph_builder_default = (context) => {
|
|
|
247
250
|
}),
|
|
248
251
|
// Create nodes for objects in the root collection of a space.
|
|
249
252
|
createExtension({
|
|
250
|
-
id: `${
|
|
251
|
-
connector: (node) =>
|
|
253
|
+
id: `${meta.id}/root-collection`,
|
|
254
|
+
connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.type === SPACE_TYPE && isSpace(node2.data) ? Option.some(node2.data) : Option.none()), Option.map((space) => {
|
|
252
255
|
const state = context.getCapability(SpaceCapabilities.State);
|
|
253
|
-
const spaceState = get(
|
|
256
|
+
const spaceState = get(atomFromObservable(space.state));
|
|
254
257
|
if (spaceState !== SpaceState.SPACE_READY) {
|
|
255
258
|
return [];
|
|
256
259
|
}
|
|
257
|
-
const collection = get(
|
|
260
|
+
const collection = get(atomFromSignal(() => space.properties[Collection.Collection.typename]?.target));
|
|
258
261
|
if (!collection) {
|
|
259
262
|
return [];
|
|
260
263
|
}
|
|
261
|
-
return get(
|
|
264
|
+
return get(atomFromSignal(() => Function.pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => createObjectNode({
|
|
262
265
|
space,
|
|
263
266
|
object,
|
|
264
|
-
resolve,
|
|
267
|
+
resolve: resolve(get),
|
|
265
268
|
navigable: state.navigableCollections
|
|
266
269
|
})), Array.filter(isNonNullable))));
|
|
267
270
|
}), Option.getOrElse(() => [])))
|
|
268
271
|
}),
|
|
269
272
|
// Create nodes for objects in a collection or by its fully qualified id.
|
|
270
273
|
createExtension({
|
|
271
|
-
id: `${
|
|
272
|
-
connector: (node) =>
|
|
274
|
+
id: `${meta.id}/objects`,
|
|
275
|
+
connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Collection.Collection, node2.data) ? Option.some(node2.data) : Option.none()), Option.map((collection) => {
|
|
273
276
|
const state = context.getCapability(SpaceCapabilities.State);
|
|
274
277
|
const space = getSpace(collection);
|
|
275
|
-
return get(
|
|
278
|
+
return get(atomFromSignal(() => Function.pipe(collection.objects, Array.map((object) => object.target), Array.filter(isNonNullable), Array.map((object) => space && createObjectNode({
|
|
276
279
|
object,
|
|
277
280
|
space,
|
|
278
|
-
resolve,
|
|
281
|
+
resolve: resolve(get),
|
|
279
282
|
navigable: state.navigableCollections
|
|
280
283
|
})), Array.filter(isNonNullable))));
|
|
281
284
|
}), Option.getOrElse(() => [])))
|
|
282
285
|
}),
|
|
283
286
|
// Create nodes for objects in a query collection.
|
|
284
287
|
createExtension({
|
|
285
|
-
id: `${
|
|
288
|
+
id: `${meta.id}/query-collection-objects`,
|
|
286
289
|
connector: (node) => {
|
|
287
290
|
let query;
|
|
288
|
-
return
|
|
291
|
+
return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Collection.QueryCollection, node2.data) ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
|
|
289
292
|
const space = getSpace(collection);
|
|
290
|
-
const typename =
|
|
293
|
+
const typename = getTypenameFromQuery(collection.query);
|
|
291
294
|
return typename && space ? Option.some({
|
|
292
295
|
typename,
|
|
293
296
|
space
|
|
@@ -300,13 +303,13 @@ var app_graph_builder_default = (context) => {
|
|
|
300
303
|
// TODO(wittjosiah): This query is broader than it should be.
|
|
301
304
|
// It will return all objects in the collection, not just the ones of the given type.
|
|
302
305
|
// However this works fine for now because this query is only used for exclusions.
|
|
303
|
-
Query.select(Filter.typename(typename)).referencedBy(
|
|
306
|
+
Query.select(Filter.typename(typename)).referencedBy(Collection.Collection, "objects").reference("objects")
|
|
304
307
|
));
|
|
305
308
|
}
|
|
306
|
-
return get(
|
|
309
|
+
return get(atomFromQuery(query)).toSorted((a, b) => a.id.localeCompare(b.id)).map((object) => get(atomFromSignal(() => createObjectNode({
|
|
307
310
|
object,
|
|
308
311
|
space,
|
|
309
|
-
resolve,
|
|
312
|
+
resolve: resolve(get),
|
|
310
313
|
droppable: false,
|
|
311
314
|
navigable: state.navigableCollections
|
|
312
315
|
})))).filter(isNonNullable);
|
|
@@ -315,14 +318,14 @@ var app_graph_builder_default = (context) => {
|
|
|
315
318
|
}),
|
|
316
319
|
// Static schema records.
|
|
317
320
|
createExtension({
|
|
318
|
-
id: `${
|
|
321
|
+
id: `${meta.id}/static-schemas`,
|
|
319
322
|
connector: (node) => {
|
|
320
323
|
const client = context.getCapability(ClientCapabilities.Client);
|
|
321
|
-
return
|
|
324
|
+
return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(Collection.QueryCollection, node2.data) && getTypenameFromQuery(node2.data.query) === StoredSchema.typename ? Option.some(node2.data) : Option.none()), Option.flatMap((collection) => {
|
|
322
325
|
const space = getSpace(collection);
|
|
323
326
|
return space?.properties.staticRecords ? Option.some(space) : Option.none();
|
|
324
327
|
}), Option.map((space) => {
|
|
325
|
-
return get(
|
|
328
|
+
return get(atomFromSignal(() => space.properties.staticRecords ?? [])).map((typename) => client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename)).filter(isNonNullable).map((schema) => createStaticSchemaNode({
|
|
326
329
|
schema,
|
|
327
330
|
space
|
|
328
331
|
}));
|
|
@@ -331,10 +334,10 @@ var app_graph_builder_default = (context) => {
|
|
|
331
334
|
}),
|
|
332
335
|
// Create static schema actions.
|
|
333
336
|
createExtension({
|
|
334
|
-
id: `${
|
|
337
|
+
id: `${meta.id}/static-schema-actions`,
|
|
335
338
|
actions: (node) => {
|
|
336
339
|
let query;
|
|
337
|
-
return
|
|
340
|
+
return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
338
341
|
const space = isSpace(node2.properties.space) ? node2.properties.space : void 0;
|
|
339
342
|
return space && Schema.isSchema(node2.data) ? Option.some({
|
|
340
343
|
space,
|
|
@@ -342,12 +345,12 @@ var app_graph_builder_default = (context) => {
|
|
|
342
345
|
}) : Option.none();
|
|
343
346
|
}), Option.map(({ space, schema }) => {
|
|
344
347
|
if (!query) {
|
|
345
|
-
query = space.db.query(Filter.type(
|
|
348
|
+
query = space.db.query(Filter.type(View.View));
|
|
346
349
|
}
|
|
347
|
-
const views = get(
|
|
348
|
-
const filteredViews = get(
|
|
350
|
+
const views = get(atomFromQuery(query));
|
|
351
|
+
const filteredViews = get(atomFromSignal(() => (
|
|
349
352
|
// TODO(wittjosiah): Remove cast.
|
|
350
|
-
views.filter((view) =>
|
|
353
|
+
views.filter((view) => getTypenameFromQuery(view.query.ast) === Type.getTypename(schema))
|
|
351
354
|
)));
|
|
352
355
|
const deletable = filteredViews.length === 0;
|
|
353
356
|
const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
|
|
@@ -365,24 +368,32 @@ var app_graph_builder_default = (context) => {
|
|
|
365
368
|
}),
|
|
366
369
|
// Create nodes for schema views.
|
|
367
370
|
createExtension({
|
|
368
|
-
id: `${
|
|
371
|
+
id: `${meta.id}/schema-views`,
|
|
369
372
|
connector: (node) => {
|
|
370
373
|
let query;
|
|
371
|
-
return
|
|
374
|
+
return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
372
375
|
const space = getSpace(node2.data) ?? (isSpace(node2.properties.space) ? node2.properties.space : void 0);
|
|
373
|
-
return space && (Obj.instanceOf(
|
|
376
|
+
return space && (Obj.instanceOf(StoredSchema, node2.data) || Schema.isSchema(node2.data)) ? Option.some({
|
|
374
377
|
space,
|
|
375
378
|
schema: node2.data
|
|
376
379
|
}) : Option.none();
|
|
377
380
|
}), Option.map(({ space, schema }) => {
|
|
378
381
|
if (!query) {
|
|
379
|
-
query = space.db.query(Filter.type(
|
|
382
|
+
query = space.db.query(Filter.type(View.View));
|
|
380
383
|
}
|
|
381
384
|
const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
|
|
382
|
-
return get(
|
|
385
|
+
return get(atomFromQuery(query)).filter((view) => getTypenameFromQuery(view.query.ast) === typename).filter((view) => get(atomFromSignal(() => {
|
|
386
|
+
const presentation = view.presentation.target;
|
|
387
|
+
if (presentation) {
|
|
388
|
+
const typename2 = Obj.getTypename(presentation);
|
|
389
|
+
return typename2 !== Collection.Collection.typename;
|
|
390
|
+
} else {
|
|
391
|
+
return false;
|
|
392
|
+
}
|
|
393
|
+
}))).map((view) => get(atomFromSignal(() => createObjectNode({
|
|
383
394
|
object: view,
|
|
384
395
|
space,
|
|
385
|
-
resolve,
|
|
396
|
+
resolve: resolve(get),
|
|
386
397
|
droppable: false
|
|
387
398
|
})))).filter(isNonNullable);
|
|
388
399
|
}), Option.getOrElse(() => [])));
|
|
@@ -390,30 +401,30 @@ var app_graph_builder_default = (context) => {
|
|
|
390
401
|
}),
|
|
391
402
|
// Create record nodes.
|
|
392
403
|
createExtension({
|
|
393
|
-
id: `${
|
|
404
|
+
id: `${meta.id}/records`,
|
|
394
405
|
resolver: (id) => {
|
|
395
406
|
let query;
|
|
396
|
-
return
|
|
407
|
+
return Atom.make((get) => {
|
|
397
408
|
const client = context.getCapability(ClientCapabilities.Client);
|
|
398
|
-
const
|
|
399
|
-
if (!
|
|
409
|
+
const dxn = DXN.tryParse(id)?.asEchoDXN();
|
|
410
|
+
if (!dxn || !dxn.spaceId) {
|
|
400
411
|
return null;
|
|
401
412
|
}
|
|
402
|
-
const space = client.spaces.get(spaceId);
|
|
413
|
+
const space = client.spaces.get(dxn.spaceId);
|
|
403
414
|
if (!space) {
|
|
404
415
|
return null;
|
|
405
416
|
}
|
|
406
417
|
if (!query) {
|
|
407
|
-
query = space.db.query(Filter.ids(
|
|
418
|
+
query = space.db.query(Filter.ids(dxn.echoId));
|
|
408
419
|
}
|
|
409
|
-
const object = get(
|
|
420
|
+
const object = get(atomFromQuery(query)).at(0);
|
|
410
421
|
if (!object) {
|
|
411
422
|
return null;
|
|
412
423
|
}
|
|
413
424
|
return createObjectNode({
|
|
414
425
|
object,
|
|
415
426
|
space,
|
|
416
|
-
resolve,
|
|
427
|
+
resolve: resolve(get),
|
|
417
428
|
disposition: "hidden"
|
|
418
429
|
});
|
|
419
430
|
});
|
|
@@ -421,25 +432,25 @@ var app_graph_builder_default = (context) => {
|
|
|
421
432
|
}),
|
|
422
433
|
// Create collection actions and action groups.
|
|
423
434
|
createExtension({
|
|
424
|
-
id: `${
|
|
435
|
+
id: `${meta.id}/object-actions`,
|
|
425
436
|
actions: (node) => {
|
|
426
437
|
let query;
|
|
427
|
-
return
|
|
438
|
+
return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
428
439
|
const space = getSpace(node2.data);
|
|
429
|
-
return space && Obj.isObject(node2.data) ? Option.some({
|
|
440
|
+
return space && Obj.isObject(node2.data) && Obj.getTypename(node2.data) === node2.type ? Option.some({
|
|
430
441
|
space,
|
|
431
442
|
object: node2.data
|
|
432
443
|
}) : Option.none();
|
|
433
444
|
}), Option.flatMap(({ space, object }) => {
|
|
434
|
-
const
|
|
435
|
-
if (!query &&
|
|
436
|
-
query = space.db.query(Filter.type(
|
|
445
|
+
const isSchema2 = Obj.instanceOf(StoredSchema, object);
|
|
446
|
+
if (!query && isSchema2) {
|
|
447
|
+
query = space.db.query(Filter.type(View.View));
|
|
437
448
|
}
|
|
438
|
-
let deletable = !
|
|
439
|
-
!(Obj.instanceOf(
|
|
440
|
-
if (
|
|
441
|
-
const views = get(
|
|
442
|
-
const filteredViews = get(
|
|
449
|
+
let deletable = !isSchema2 && // Don't allow the Records smart collection to be deleted.
|
|
450
|
+
!(Obj.instanceOf(Collection.QueryCollection, object) && getTypenameFromQuery(object.query) === StoredSchema.typename);
|
|
451
|
+
if (isSchema2 && query) {
|
|
452
|
+
const views = get(atomFromQuery(query));
|
|
453
|
+
const filteredViews = get(atomFromSignal(() => views.filter((view) => getTypenameFromQuery(view.query.ast) === object.typename)));
|
|
443
454
|
deletable = filteredViews.length === 0;
|
|
444
455
|
}
|
|
445
456
|
const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
|
|
@@ -455,7 +466,7 @@ var app_graph_builder_default = (context) => {
|
|
|
455
466
|
dispatch: dispatcher.dispatchPromise,
|
|
456
467
|
objectForms,
|
|
457
468
|
deletable,
|
|
458
|
-
navigable: get(
|
|
469
|
+
navigable: get(atomFromSignal(() => state.navigableCollections))
|
|
459
470
|
});
|
|
460
471
|
}
|
|
461
472
|
}), Option.map((params) => constructObjectActions(params)), Option.getOrElse(() => [])));
|
|
@@ -463,8 +474,8 @@ var app_graph_builder_default = (context) => {
|
|
|
463
474
|
}),
|
|
464
475
|
// View selected objects.
|
|
465
476
|
createExtension({
|
|
466
|
-
id: `${
|
|
467
|
-
connector: (node) =>
|
|
477
|
+
id: `${meta.id}/selected-objects`,
|
|
478
|
+
connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.instanceOf(View.View, node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
|
|
468
479
|
{
|
|
469
480
|
id: [
|
|
470
481
|
node2.id,
|
|
@@ -476,7 +487,7 @@ var app_graph_builder_default = (context) => {
|
|
|
476
487
|
label: [
|
|
477
488
|
"companion selected objects label",
|
|
478
489
|
{
|
|
479
|
-
ns:
|
|
490
|
+
ns: meta.id
|
|
480
491
|
}
|
|
481
492
|
],
|
|
482
493
|
icon: "ph--tree-view--regular",
|
|
@@ -487,8 +498,8 @@ var app_graph_builder_default = (context) => {
|
|
|
487
498
|
}),
|
|
488
499
|
// Object settings plank companion.
|
|
489
500
|
createExtension({
|
|
490
|
-
id: `${
|
|
491
|
-
connector: (node) =>
|
|
501
|
+
id: `${meta.id}/settings`,
|
|
502
|
+
connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => Obj.isObject(node2.data) ? Option.some(node2) : Option.none()), Option.map((node2) => [
|
|
492
503
|
{
|
|
493
504
|
id: [
|
|
494
505
|
node2.id,
|
|
@@ -500,7 +511,7 @@ var app_graph_builder_default = (context) => {
|
|
|
500
511
|
label: [
|
|
501
512
|
"object settings label",
|
|
502
513
|
{
|
|
503
|
-
ns:
|
|
514
|
+
ns: meta.id
|
|
504
515
|
}
|
|
505
516
|
],
|
|
506
517
|
icon: "ph--sliders--regular",
|
|
@@ -511,8 +522,8 @@ var app_graph_builder_default = (context) => {
|
|
|
511
522
|
]), Option.getOrElse(() => [])))
|
|
512
523
|
})
|
|
513
524
|
]);
|
|
514
|
-
};
|
|
525
|
+
});
|
|
515
526
|
export {
|
|
516
527
|
app_graph_builder_default as default
|
|
517
528
|
};
|
|
518
|
-
//# sourceMappingURL=app-graph-builder-
|
|
529
|
+
//# sourceMappingURL=app-graph-builder-FBJFWI4H.mjs.map
|