@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
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SPACE_TYPE,
|
|
3
3
|
SpaceAction
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZQMSGD5J.mjs";
|
|
5
5
|
import {
|
|
6
|
-
|
|
7
|
-
} from "./chunk-
|
|
6
|
+
meta
|
|
7
|
+
} from "./chunk-VZBIIYFM.mjs";
|
|
8
8
|
|
|
9
9
|
// src/util.tsx
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
10
|
+
import { Atom } from "@effect-atom/atom-react";
|
|
11
|
+
import * as Function from "effect/Function";
|
|
12
12
|
import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
|
|
13
|
-
import { Obj, Ref, Type } from "@dxos/echo";
|
|
14
|
-
import { EXPANDO_TYPENAME } from "@dxos/echo
|
|
13
|
+
import { Filter, Obj, Query, Ref, Type } from "@dxos/echo";
|
|
14
|
+
import { EXPANDO_TYPENAME } from "@dxos/echo/internal";
|
|
15
15
|
import { invariant } from "@dxos/invariant";
|
|
16
16
|
import { Migrations } from "@dxos/migrations";
|
|
17
17
|
import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
|
|
18
|
-
import { SpaceState,
|
|
18
|
+
import { SpaceState, getSpace, isSpace } from "@dxos/react-client/echo";
|
|
19
19
|
import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
|
|
20
|
-
import {
|
|
20
|
+
import { Collection, StoredSchema, View, getTypenameFromQuery } from "@dxos/schema";
|
|
21
21
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
|
|
22
|
-
var SPACES = `${
|
|
23
|
-
var COMPOSER_SPACE_LOCK =
|
|
22
|
+
var SPACES = `${meta.id}-spaces`;
|
|
23
|
+
var COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
|
|
24
24
|
var SHARED = "shared-spaces";
|
|
25
|
-
var
|
|
26
|
-
return
|
|
25
|
+
var atomFromQuery = (query) => {
|
|
26
|
+
return Atom.make((get) => {
|
|
27
27
|
const unsubscribe = query.subscribe((result) => {
|
|
28
28
|
get.setSelf(result.objects);
|
|
29
29
|
});
|
|
@@ -35,12 +35,12 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
|
|
|
35
35
|
return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
|
|
36
36
|
"personal space label",
|
|
37
37
|
{
|
|
38
|
-
ns:
|
|
38
|
+
ns: meta.id
|
|
39
39
|
}
|
|
40
40
|
] : [
|
|
41
41
|
"unnamed space label",
|
|
42
42
|
{
|
|
43
|
-
ns:
|
|
43
|
+
ns: meta.id
|
|
44
44
|
}
|
|
45
45
|
];
|
|
46
46
|
};
|
|
@@ -83,9 +83,11 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
|
|
|
83
83
|
};
|
|
84
84
|
};
|
|
85
85
|
var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
|
|
86
|
-
const typename =
|
|
86
|
+
const typename = getTypenameFromQuery(collection.query);
|
|
87
|
+
const metadata = typename ? resolve(typename) : {};
|
|
87
88
|
return {
|
|
88
|
-
icon:
|
|
89
|
+
icon: metadata.icon,
|
|
90
|
+
iconHue: metadata.iconHue,
|
|
89
91
|
acceptPersistenceClass: /* @__PURE__ */ new Set([
|
|
90
92
|
"echo"
|
|
91
93
|
]),
|
|
@@ -121,6 +123,7 @@ var getViewGraphNodePartials = ({ view, resolve }) => {
|
|
|
121
123
|
}
|
|
122
124
|
],
|
|
123
125
|
icon: metadata.icon,
|
|
126
|
+
iconHue: metadata.iconHue,
|
|
124
127
|
canDrop: () => false
|
|
125
128
|
};
|
|
126
129
|
};
|
|
@@ -129,8 +132,8 @@ var checkPendingMigration = (space) => {
|
|
|
129
132
|
};
|
|
130
133
|
var constructSpaceNode = ({ space, navigable = false, personal, namesCache, resolve }) => {
|
|
131
134
|
const hasPendingMigration = checkPendingMigration(space);
|
|
132
|
-
const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[
|
|
133
|
-
const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(
|
|
135
|
+
const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;
|
|
136
|
+
const partials = space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection) ? getCollectionGraphNodePartials({
|
|
134
137
|
collection,
|
|
135
138
|
space,
|
|
136
139
|
resolve
|
|
@@ -153,6 +156,7 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
153
156
|
description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,
|
|
154
157
|
hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
|
|
155
158
|
icon: space.state.get() === SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
|
|
159
|
+
iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
|
|
156
160
|
disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
|
|
157
161
|
testId: "spacePlugin.space",
|
|
158
162
|
canDrop: (source) => {
|
|
@@ -162,13 +166,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
162
166
|
nodes: [
|
|
163
167
|
{
|
|
164
168
|
id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
165
|
-
type: `${
|
|
169
|
+
type: `${meta.id}/settings`,
|
|
166
170
|
data: null,
|
|
167
171
|
properties: {
|
|
168
172
|
label: [
|
|
169
173
|
"settings panel label",
|
|
170
174
|
{
|
|
171
|
-
ns:
|
|
175
|
+
ns: meta.id
|
|
172
176
|
}
|
|
173
177
|
],
|
|
174
178
|
icon: "ph--faders--regular",
|
|
@@ -177,13 +181,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
177
181
|
nodes: [
|
|
178
182
|
{
|
|
179
183
|
id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
180
|
-
type: `${
|
|
181
|
-
data: `${
|
|
184
|
+
type: `${meta.id}/properties`,
|
|
185
|
+
data: `${meta.id}/properties`,
|
|
182
186
|
properties: {
|
|
183
187
|
label: [
|
|
184
188
|
"space settings properties label",
|
|
185
189
|
{
|
|
186
|
-
ns:
|
|
190
|
+
ns: meta.id
|
|
187
191
|
}
|
|
188
192
|
],
|
|
189
193
|
icon: "ph--sliders--regular",
|
|
@@ -192,13 +196,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
192
196
|
},
|
|
193
197
|
{
|
|
194
198
|
id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
195
|
-
type: `${
|
|
196
|
-
data: `${
|
|
199
|
+
type: `${meta.id}/members`,
|
|
200
|
+
data: `${meta.id}/members`,
|
|
197
201
|
properties: {
|
|
198
202
|
label: [
|
|
199
203
|
"members panel label",
|
|
200
204
|
{
|
|
201
|
-
ns:
|
|
205
|
+
ns: meta.id
|
|
202
206
|
}
|
|
203
207
|
],
|
|
204
208
|
icon: "ph--users--regular",
|
|
@@ -207,13 +211,13 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
|
|
|
207
211
|
},
|
|
208
212
|
{
|
|
209
213
|
id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
210
|
-
type: `${
|
|
211
|
-
data: `${
|
|
214
|
+
type: `${meta.id}/schema`,
|
|
215
|
+
data: `${meta.id}/schema`,
|
|
212
216
|
properties: {
|
|
213
217
|
label: [
|
|
214
218
|
"space settings schema label",
|
|
215
219
|
{
|
|
216
|
-
ns:
|
|
220
|
+
ns: meta.id
|
|
217
221
|
}
|
|
218
222
|
],
|
|
219
223
|
icon: "ph--shapes--regular"
|
|
@@ -242,7 +246,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
242
246
|
label: [
|
|
243
247
|
"migrate space label",
|
|
244
248
|
{
|
|
245
|
-
ns:
|
|
249
|
+
ns: meta.id
|
|
246
250
|
}
|
|
247
251
|
],
|
|
248
252
|
icon: "ph--database--regular",
|
|
@@ -264,7 +268,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
264
268
|
label: [
|
|
265
269
|
"create object in space label",
|
|
266
270
|
{
|
|
267
|
-
ns:
|
|
271
|
+
ns: meta.id
|
|
268
272
|
}
|
|
269
273
|
],
|
|
270
274
|
icon: "ph--plus--regular",
|
|
@@ -284,7 +288,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
284
288
|
label: [
|
|
285
289
|
"rename space label",
|
|
286
290
|
{
|
|
287
|
-
ns:
|
|
291
|
+
ns: meta.id
|
|
288
292
|
}
|
|
289
293
|
],
|
|
290
294
|
icon: "ph--pencil-simple-line--regular",
|
|
@@ -300,7 +304,7 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
300
304
|
var createStaticSchemaNode = ({ schema, space }) => {
|
|
301
305
|
return {
|
|
302
306
|
id: `${space.id}/${Type.getTypename(schema)}`,
|
|
303
|
-
type: `${
|
|
307
|
+
type: `${meta.id}/static-schema`,
|
|
304
308
|
data: schema,
|
|
305
309
|
properties: {
|
|
306
310
|
label: [
|
|
@@ -311,7 +315,9 @@ var createStaticSchemaNode = ({ schema, space }) => {
|
|
|
311
315
|
}
|
|
312
316
|
],
|
|
313
317
|
icon: "ph--database--regular",
|
|
318
|
+
iconHue: "green",
|
|
314
319
|
role: "branch",
|
|
320
|
+
selectable: false,
|
|
315
321
|
canDrop: () => false,
|
|
316
322
|
space
|
|
317
323
|
}
|
|
@@ -336,7 +342,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
336
342
|
label: [
|
|
337
343
|
"add view to schema label",
|
|
338
344
|
{
|
|
339
|
-
ns: Type.getTypename(
|
|
345
|
+
ns: Type.getTypename(StoredSchema)
|
|
340
346
|
}
|
|
341
347
|
],
|
|
342
348
|
icon: "ph--plus--regular",
|
|
@@ -354,7 +360,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
354
360
|
label: [
|
|
355
361
|
"rename object label",
|
|
356
362
|
{
|
|
357
|
-
ns: Type.getTypename(
|
|
363
|
+
ns: Type.getTypename(StoredSchema)
|
|
358
364
|
}
|
|
359
365
|
],
|
|
360
366
|
icon: "ph--pencil-simple-line--regular",
|
|
@@ -376,7 +382,7 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
376
382
|
label: [
|
|
377
383
|
"delete object label",
|
|
378
384
|
{
|
|
379
|
-
ns: Type.getTypename(
|
|
385
|
+
ns: Type.getTypename(StoredSchema)
|
|
380
386
|
}
|
|
381
387
|
],
|
|
382
388
|
icon: "ph--trash--regular",
|
|
@@ -384,6 +390,33 @@ var createStaticSchemaActions = ({ schema, space, dispatch, deletable }) => {
|
|
|
384
390
|
disabled: !deletable,
|
|
385
391
|
testId: "spacePlugin.deleteObject"
|
|
386
392
|
}
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
id: getId(SpaceAction.Snapshot._tag),
|
|
396
|
+
type: ACTION_TYPE,
|
|
397
|
+
data: async () => {
|
|
398
|
+
const result = await dispatch(createIntent(SpaceAction.Snapshot, {
|
|
399
|
+
space,
|
|
400
|
+
query: Query.select(Filter.type(schema)).ast
|
|
401
|
+
}));
|
|
402
|
+
if (result.data?.snapshot) {
|
|
403
|
+
await downloadBlob(
|
|
404
|
+
result.data.snapshot,
|
|
405
|
+
// TODO(wittjosiah): Factor out file name construction.
|
|
406
|
+
`${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${Type.getTypename(schema)}.json`
|
|
407
|
+
);
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
properties: {
|
|
411
|
+
label: [
|
|
412
|
+
"snapshot by schema label",
|
|
413
|
+
{
|
|
414
|
+
ns: meta.id
|
|
415
|
+
}
|
|
416
|
+
],
|
|
417
|
+
icon: "ph--camera--regular",
|
|
418
|
+
disposition: "list-item"
|
|
419
|
+
}
|
|
387
420
|
}
|
|
388
421
|
];
|
|
389
422
|
return actions;
|
|
@@ -394,15 +427,15 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
394
427
|
return null;
|
|
395
428
|
}
|
|
396
429
|
const metadata = resolve(type);
|
|
397
|
-
const partials = Obj.instanceOf(
|
|
430
|
+
const partials = Obj.instanceOf(Collection.Collection, object) ? getCollectionGraphNodePartials({
|
|
398
431
|
collection: object,
|
|
399
432
|
space,
|
|
400
433
|
resolve
|
|
401
|
-
}) : Obj.instanceOf(
|
|
434
|
+
}) : Obj.instanceOf(Collection.QueryCollection, object) ? getQueryCollectionNodePartials({
|
|
402
435
|
collection: object,
|
|
403
436
|
space,
|
|
404
437
|
resolve
|
|
405
|
-
}) : Obj.instanceOf(
|
|
438
|
+
}) : Obj.instanceOf(StoredSchema, object) ? getSchemaGraphNodePartials() : Obj.instanceOf(View.View, object) ? getViewGraphNodePartials({
|
|
406
439
|
view: object,
|
|
407
440
|
resolve
|
|
408
441
|
}) : metadata.graphProps;
|
|
@@ -414,8 +447,9 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
414
447
|
default: "New item"
|
|
415
448
|
}
|
|
416
449
|
];
|
|
450
|
+
const selectable = !Obj.instanceOf(StoredSchema, object) && !Obj.instanceOf(Collection.QueryCollection, object) && !Obj.instanceOf(Collection.Collection, object) || navigable && Obj.instanceOf(Collection.Collection, object);
|
|
417
451
|
return {
|
|
418
|
-
id:
|
|
452
|
+
id: Obj.getDXN(object).toString(),
|
|
419
453
|
type,
|
|
420
454
|
cacheable: [
|
|
421
455
|
"label",
|
|
@@ -426,10 +460,12 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
|
|
|
426
460
|
properties: {
|
|
427
461
|
label,
|
|
428
462
|
icon: metadata.icon ?? "ph--placeholder--regular",
|
|
463
|
+
iconHue: metadata.iconHue,
|
|
429
464
|
disposition,
|
|
430
465
|
testId: "spacePlugin.object",
|
|
431
466
|
persistenceClass: "echo",
|
|
432
467
|
persistenceKey: space?.id,
|
|
468
|
+
selectable,
|
|
433
469
|
canDrop: (source) => {
|
|
434
470
|
return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
|
|
435
471
|
},
|
|
@@ -441,7 +477,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
441
477
|
const space = getSpace(object);
|
|
442
478
|
invariant(space, "Space not found", {
|
|
443
479
|
F: __dxlog_file,
|
|
444
|
-
L:
|
|
480
|
+
L: 556,
|
|
445
481
|
S: void 0,
|
|
446
482
|
A: [
|
|
447
483
|
"space",
|
|
@@ -451,18 +487,18 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
451
487
|
const typename = Obj.getTypename(object);
|
|
452
488
|
invariant(typename, "Object has no typename", {
|
|
453
489
|
F: __dxlog_file,
|
|
454
|
-
L:
|
|
490
|
+
L: 558,
|
|
455
491
|
S: void 0,
|
|
456
492
|
A: [
|
|
457
493
|
"typename",
|
|
458
494
|
"'Object has no typename'"
|
|
459
495
|
]
|
|
460
496
|
});
|
|
461
|
-
const getId = (id) => `${id}/${
|
|
462
|
-
const queryCollection = Obj.instanceOf(
|
|
463
|
-
const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) ===
|
|
497
|
+
const getId = (id) => `${id}/${Obj.getDXN(object).toString()}`;
|
|
498
|
+
const queryCollection = Obj.instanceOf(Collection.QueryCollection, object) ? object : void 0;
|
|
499
|
+
const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query)) : void 0;
|
|
464
500
|
const actions = [
|
|
465
|
-
...Obj.instanceOf(
|
|
501
|
+
...Obj.instanceOf(Collection.Collection, object) ? [
|
|
466
502
|
{
|
|
467
503
|
id: getId(SpaceAction.OpenCreateObject._tag),
|
|
468
504
|
type: ACTION_TYPE,
|
|
@@ -475,7 +511,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
475
511
|
label: [
|
|
476
512
|
"create object in collection label",
|
|
477
513
|
{
|
|
478
|
-
ns:
|
|
514
|
+
ns: meta.id
|
|
479
515
|
}
|
|
480
516
|
],
|
|
481
517
|
icon: "ph--plus--regular",
|
|
@@ -484,7 +520,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
484
520
|
}
|
|
485
521
|
}
|
|
486
522
|
] : [],
|
|
487
|
-
...Obj.instanceOf(
|
|
523
|
+
...Obj.instanceOf(StoredSchema, object) ? [
|
|
488
524
|
{
|
|
489
525
|
id: getId(SpaceAction.AddObject._tag),
|
|
490
526
|
type: ACTION_TYPE,
|
|
@@ -501,13 +537,40 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
501
537
|
label: [
|
|
502
538
|
"add view to schema label",
|
|
503
539
|
{
|
|
504
|
-
ns: Type.getTypename(
|
|
540
|
+
ns: Type.getTypename(StoredSchema)
|
|
505
541
|
}
|
|
506
542
|
],
|
|
507
543
|
icon: "ph--plus--regular",
|
|
508
544
|
disposition: "list-item-primary",
|
|
509
545
|
testId: "spacePlugin.addViewToSchema"
|
|
510
546
|
}
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
id: getId(SpaceAction.Snapshot._tag),
|
|
550
|
+
type: ACTION_TYPE,
|
|
551
|
+
data: async () => {
|
|
552
|
+
const result = await dispatch(createIntent(SpaceAction.Snapshot, {
|
|
553
|
+
space,
|
|
554
|
+
query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast
|
|
555
|
+
}));
|
|
556
|
+
if (result.data?.snapshot) {
|
|
557
|
+
await downloadBlob(
|
|
558
|
+
result.data.snapshot,
|
|
559
|
+
// TODO(wittjosiah): Factor out file name construction.
|
|
560
|
+
`${(/* @__PURE__ */ new Date()).toISOString()}-${space.id}-${object.typename}.json`
|
|
561
|
+
);
|
|
562
|
+
}
|
|
563
|
+
},
|
|
564
|
+
properties: {
|
|
565
|
+
label: [
|
|
566
|
+
"snapshot by schema label",
|
|
567
|
+
{
|
|
568
|
+
ns: meta.id
|
|
569
|
+
}
|
|
570
|
+
],
|
|
571
|
+
icon: "ph--camera--regular",
|
|
572
|
+
disposition: "list-item"
|
|
573
|
+
}
|
|
511
574
|
}
|
|
512
575
|
] : [],
|
|
513
576
|
...matchingObjectForm ? [
|
|
@@ -518,10 +581,10 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
518
581
|
if (matchingObjectForm.formSchema) {
|
|
519
582
|
await dispatch(createIntent(SpaceAction.OpenCreateObject, {
|
|
520
583
|
target: space,
|
|
521
|
-
typename: queryCollection ?
|
|
584
|
+
typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : void 0
|
|
522
585
|
}));
|
|
523
586
|
} else {
|
|
524
|
-
await dispatch(pipe(matchingObjectForm.getIntent({}, {
|
|
587
|
+
await dispatch(Function.pipe(matchingObjectForm.getIntent({}, {
|
|
525
588
|
space
|
|
526
589
|
}), chain(SpaceAction.AddObject, {
|
|
527
590
|
target: space,
|
|
@@ -535,7 +598,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
535
598
|
label: [
|
|
536
599
|
"create object in smart collection label",
|
|
537
600
|
{
|
|
538
|
-
ns:
|
|
601
|
+
ns: meta.id
|
|
539
602
|
}
|
|
540
603
|
],
|
|
541
604
|
icon: "ph--plus--regular",
|
|
@@ -573,7 +636,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
573
636
|
id: getId(SpaceAction.RemoveObjects._tag),
|
|
574
637
|
type: ACTION_TYPE,
|
|
575
638
|
data: async () => {
|
|
576
|
-
const collection = graph.getConnections(
|
|
639
|
+
const collection = graph.getConnections(Obj.getDXN(object).toString(), "inbound").find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
|
|
577
640
|
await dispatch(createIntent(SpaceAction.RemoveObjects, {
|
|
578
641
|
objects: [
|
|
579
642
|
object
|
|
@@ -596,19 +659,19 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
596
659
|
testId: "spacePlugin.deleteObject"
|
|
597
660
|
}
|
|
598
661
|
},
|
|
599
|
-
...navigable || !Obj.instanceOf(
|
|
662
|
+
...navigable || !Obj.instanceOf(Collection.Collection, object) && !Obj.instanceOf(Collection.QueryCollection, object) && !Obj.instanceOf(StoredSchema, object) ? [
|
|
600
663
|
{
|
|
601
664
|
id: getId("copy-link"),
|
|
602
665
|
type: ACTION_TYPE,
|
|
603
666
|
data: async () => {
|
|
604
|
-
const url = `${window.location.origin}/${space.id}/${
|
|
667
|
+
const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;
|
|
605
668
|
await navigator.clipboard.writeText(url);
|
|
606
669
|
},
|
|
607
670
|
properties: {
|
|
608
671
|
label: [
|
|
609
672
|
"copy link label",
|
|
610
673
|
{
|
|
611
|
-
ns:
|
|
674
|
+
ns: meta.id
|
|
612
675
|
}
|
|
613
676
|
],
|
|
614
677
|
icon: "ph--link--regular",
|
|
@@ -624,14 +687,14 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
624
687
|
data: async () => {
|
|
625
688
|
await dispatch(createIntent(LayoutAction.Expose, {
|
|
626
689
|
part: "navigation",
|
|
627
|
-
subject:
|
|
690
|
+
subject: Obj.getDXN(object).toString()
|
|
628
691
|
}));
|
|
629
692
|
},
|
|
630
693
|
properties: {
|
|
631
694
|
label: [
|
|
632
695
|
"expose object label",
|
|
633
696
|
{
|
|
634
|
-
ns:
|
|
697
|
+
ns: meta.id
|
|
635
698
|
}
|
|
636
699
|
],
|
|
637
700
|
icon: "ph--eye--regular",
|
|
@@ -642,6 +705,16 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
|
|
|
642
705
|
];
|
|
643
706
|
return actions;
|
|
644
707
|
};
|
|
708
|
+
var downloadBlob = async (blob, filename) => {
|
|
709
|
+
const url = URL.createObjectURL(blob);
|
|
710
|
+
const a = document.createElement("a");
|
|
711
|
+
a.href = url;
|
|
712
|
+
a.download = filename;
|
|
713
|
+
document.body.appendChild(a);
|
|
714
|
+
a.click();
|
|
715
|
+
document.body.removeChild(a);
|
|
716
|
+
URL.revokeObjectURL(url);
|
|
717
|
+
};
|
|
645
718
|
var getNestedObjects = async (object, resolve) => {
|
|
646
719
|
const type = Obj.getTypename(object);
|
|
647
720
|
if (!type) {
|
|
@@ -666,7 +739,7 @@ var cloneObject = async (object, resolve, newSpace) => {
|
|
|
666
739
|
const serializer = metadata.serializer;
|
|
667
740
|
invariant(serializer, `No serializer for type: ${typename}`, {
|
|
668
741
|
F: __dxlog_file,
|
|
669
|
-
L:
|
|
742
|
+
L: 792,
|
|
670
743
|
S: void 0,
|
|
671
744
|
A: [
|
|
672
745
|
"serializer",
|
|
@@ -687,7 +760,7 @@ export {
|
|
|
687
760
|
SPACES,
|
|
688
761
|
COMPOSER_SPACE_LOCK,
|
|
689
762
|
SHARED,
|
|
690
|
-
|
|
763
|
+
atomFromQuery,
|
|
691
764
|
getSpaceDisplayName,
|
|
692
765
|
constructSpaceNode,
|
|
693
766
|
constructSpaceActions,
|
|
@@ -698,4 +771,4 @@ export {
|
|
|
698
771
|
getNestedObjects,
|
|
699
772
|
cloneObject
|
|
700
773
|
};
|
|
701
|
-
//# sourceMappingURL=chunk-
|
|
774
|
+
//# sourceMappingURL=chunk-KFUMADZF.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Function from 'effect/Function';\n\nimport { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';\nimport { Filter, Obj, Query, Ref, Type } from '@dxos/echo';\nimport { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n type ActionData,\n type InvokeParams,\n type Node,\n type NodeArg,\n type ReadableGraph,\n isGraphNode,\n} from '@dxos/plugin-graph';\nimport { type QueryResult, type Space, SpaceState, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { Collection, StoredSchema, View, getTypenameFromQuery } from '@dxos/schema';\n\nimport { meta } from './meta';\nimport { type ObjectForm, SPACE_TYPE, SpaceAction } from './types';\n\nexport const SPACES = `${meta.id}-spaces`;\nexport const COMPOSER_SPACE_LOCK = `${meta.id}/lock`;\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n/**\n * Convert a query result to an Atom value of the objects.\n */\nexport const atomFromQuery = <T extends AnyEchoObject>(query: QueryResult<T>): Atom.Atom<T[]> => {\n return Atom.make((get) => {\n const unsubscribe = query.subscribe((result) => {\n get.setSelf(result.objects);\n });\n\n get.addFinalizer(() => unsubscribe());\n return query.objects;\n });\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: meta.id }]\n : ['unnamed space label', { ns: meta.id }];\n};\n\nconst getCollectionGraphNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: Collection.Collection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(Obj.isObject).map(Ref.make);\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(child.data));\n } else {\n collection.objects.push(Ref.make(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<Obj.Any>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(newObject));\n } else {\n collection.objects.push(Ref.make(newObject));\n }\n },\n };\n};\n\nconst getQueryCollectionNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: Collection.QueryCollection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const typename = getTypenameFromQuery(collection.query);\n const metadata = typename ? resolve(typename) : {};\n return {\n icon: metadata.icon,\n iconHue: metadata.iconHue,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n canDrop: (source: TreeData) => {\n return (\n isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename\n );\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // No-op. Objects are moved into query collections by being removed from their original collection.\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // No-op. Objects are moved out of query collections by being added to another collection.\n },\n };\n};\n\nconst getSchemaGraphNodePartials = () => {\n return {\n role: 'branch',\n canDrop: () => false,\n };\n};\n\nconst getViewGraphNodePartials = ({\n view,\n resolve,\n}: {\n view: View.View;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const presentation = view.presentation.target;\n const typename = presentation ? Obj.getTypename(presentation) : undefined;\n const metadata = typename ? resolve(typename) : {};\n\n return {\n label: view.name || ['object name placeholder', { ns: typename, default: 'New view' }],\n icon: metadata.icon,\n iconHue: metadata.iconHue,\n canDrop: () => false,\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection =\n space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, space, resolve })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n canDrop: (source: TreeData) => {\n // TODO(wittjosiah): Find a way to only allow space as source for rearranging.\n return Obj.isObject(source.item.data) || isSpace(source.item.data);\n },\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: meta.id }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/properties`,\n data: `${meta.id}/properties`,\n properties: {\n label: ['space settings properties label', { ns: meta.id }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/members`,\n data: `${meta.id}/members`,\n properties: {\n label: ['members panel label', { ns: meta.id }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/schema`,\n data: `${meta.id}/schema`,\n properties: {\n label: ['space settings schema label', { ns: meta.id }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: meta.id }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));\n },\n properties: {\n label: ['rename space label', { ns: meta.id }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createStaticSchemaNode = ({ schema, space }: { schema: Type.Obj.Any; space: Space }) => {\n return {\n id: `${space.id}/${Type.getTypename(schema)}`,\n type: `${meta.id}/static-schema`,\n data: schema,\n properties: {\n label: ['typename label', { ns: Type.getTypename(schema), default: Type.getTypename(schema) }],\n icon: 'ph--database--regular',\n iconHue: 'green',\n role: 'branch',\n selectable: false,\n canDrop: () => false,\n space,\n },\n };\n};\n\nexport const createStaticSchemaActions = ({\n schema,\n space,\n dispatch,\n deletable,\n}: {\n schema: Type.Obj.Any;\n space: Space;\n dispatch: PromiseIntentDispatcher;\n deletable: boolean;\n}) => {\n const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;\n\n const actions: NodeArg<ActionData>[] = [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: Type.getTypename(schema) },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: Type.getTypename(StoredSchema) }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n throw new Error('Not implemented');\n },\n properties: {\n label: ['rename object label', { ns: Type.getTypename(StoredSchema) }],\n icon: 'ph--pencil-simple-line--regular',\n disabled: true,\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const index = space.properties.staticRecords.findIndex(\n (typename: string) => typename === Type.getTypename(schema),\n );\n if (index > -1) {\n space.properties.staticRecords.splice(index, 1);\n }\n },\n properties: {\n label: ['delete object label', { ns: Type.getTypename(StoredSchema) }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n {\n id: getId(SpaceAction.Snapshot._tag),\n type: ACTION_TYPE,\n data: async () => {\n const result = await dispatch(\n createIntent(SpaceAction.Snapshot, {\n space,\n query: Query.select(Filter.type(schema)).ast,\n }),\n );\n if (result.data?.snapshot) {\n await downloadBlob(\n result.data.snapshot,\n // TODO(wittjosiah): Factor out file name construction.\n `${new Date().toISOString()}-${space.id}-${Type.getTypename(schema)}.json`,\n );\n }\n },\n properties: {\n label: ['snapshot by schema label', { ns: meta.id }],\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ];\n\n return actions;\n};\n\nexport const createObjectNode = ({\n space,\n object,\n disposition,\n droppable = true,\n navigable = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n disposition?: string;\n droppable?: boolean;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return null;\n }\n\n const metadata = resolve(type);\n const partials = Obj.instanceOf(Collection.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(Collection.QueryCollection, object)\n ? getQueryCollectionNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(StoredSchema, object)\n ? getSchemaGraphNodePartials()\n : Obj.instanceOf(View.View, object)\n ? getViewGraphNodePartials({ view: object, resolve })\n : metadata.graphProps;\n\n // TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.\n // e.g., create new collection with no name and rename it.\n const label = (object as any).name ||\n Obj.getLabel(object) ||\n // TODO(wittjosiah): Remove metadata labels.\n metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];\n\n const selectable =\n (!Obj.instanceOf(StoredSchema, object) &&\n !Obj.instanceOf(Collection.QueryCollection, object) &&\n !Obj.instanceOf(Collection.Collection, object)) ||\n (navigable && Obj.instanceOf(Collection.Collection, object));\n\n return {\n id: Obj.getDXN(object).toString(),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n label,\n icon: metadata.icon ?? 'ph--placeholder--regular',\n iconHue: metadata.iconHue,\n disposition,\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n selectable,\n canDrop: (source: TreeData) => {\n return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n dispatch,\n objectForms,\n deletable = true,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n objectForms: ObjectForm<any>[];\n deletable?: boolean;\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const typename = Obj.getTypename(object);\n invariant(typename, 'Object has no typename');\n\n const getId = (id: string) => `${id}/${Obj.getDXN(object).toString()}`;\n\n const queryCollection = Obj.instanceOf(Collection.QueryCollection, object) ? object : undefined;\n const matchingObjectForm = queryCollection\n ? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query))\n : undefined;\n\n const actions: NodeArg<ActionData>[] = [\n ...(Obj.instanceOf(Collection.Collection, object)\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(Obj.instanceOf(StoredSchema, object)\n ? [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: object.typename },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: Type.getTypename(StoredSchema) }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceAction.Snapshot._tag),\n type: ACTION_TYPE,\n data: async () => {\n const result = await dispatch(\n createIntent(SpaceAction.Snapshot, {\n space,\n query: Query.select(Filter.type(Type.toEffectSchema(object.jsonSchema))).ast,\n }),\n );\n if (result.data?.snapshot) {\n await downloadBlob(\n result.data.snapshot,\n // TODO(wittjosiah): Factor out file name construction.\n `${new Date().toISOString()}-${space.id}-${object.typename}.json`,\n );\n }\n },\n properties: {\n label: ['snapshot by schema label', { ns: meta.id }],\n icon: 'ph--camera--regular',\n disposition: 'list-item',\n },\n },\n ]\n : []),\n ...(matchingObjectForm\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (matchingObjectForm.formSchema) {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : undefined,\n }),\n );\n } else {\n await dispatch(\n Function.pipe(\n matchingObjectForm.getIntent({}, { space }),\n chain(SpaceAction.AddObject, { target: space, hidden: true }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n }\n },\n properties: {\n label: ['create object in smart collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));\n },\n properties: {\n label: ['rename object label', { ns: typename }],\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): Not working.\n // keyBinding: {\n // macos: 'shift+F6',\n // },\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const collection = graph\n .getConnections(Obj.getDXN(object).toString(), 'inbound')\n .find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: ['delete object label', { ns: typename }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable ||\n (!Obj.instanceOf(Collection.Collection, object) &&\n !Obj.instanceOf(Collection.QueryCollection, object) &&\n !Obj.instanceOf(StoredSchema, object))\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(LayoutAction.Expose, { part: 'navigation', subject: Obj.getDXN(object).toString() }),\n );\n },\n properties: {\n label: ['expose object label', { ns: meta.id }],\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n// TODO(wittjosiah): Factor out.\nconst downloadBlob = async (blob: Blob, filename: string) => {\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = filename;\n\n document.body.appendChild(a);\n a.click();\n\n document.body.removeChild(a);\n URL.revokeObjectURL(url);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Any[]> => {\n const type = Obj.getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: Obj.Any[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Type.Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Type.Expando> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? (Type.getTypename(schema) ?? EXPANDO_TYPENAME) : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Atom", "Function", "LayoutAction", "chain", "createIntent", "Filter", "Obj", "Query", "Ref", "Type", "EXPANDO_TYPENAME", "invariant", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "isGraphNode", "SpaceState", "getSpace", "isSpace", "ATTENDABLE_PATH_SEPARATOR", "Collection", "StoredSchema", "View", "getTypenameFromQuery", "SPACES", "meta", "id", "COMPOSER_SPACE_LOCK", "SHARED", "atomFromQuery", "query", "Atom", "make", "get", "unsubscribe", "subscribe", "result", "setSelf", "objects", "addFinalizer", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "filter", "Obj", "isObject", "map", "Ref", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "db", "add", "getQueryCollectionNodePartials", "typename", "getTypenameFromQuery", "metadata", "icon", "iconHue", "canDrop", "source", "isGraphNode", "item", "getTypename", "getSchemaGraphNodePartials", "getViewGraphNodePartials", "view", "presentation", "undefined", "label", "default", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "hasPendingMigration", "Collection", "partials", "instanceOf", "type", "SPACE_TYPE", "cacheable", "description", "hue", "disabled", "testId", "isSpace", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createStaticSchemaNode", "schema", "Type", "selectable", "createStaticSchemaActions", "deletable", "AddObject", "views", "initialFormValues", "StoredSchema", "RenameObject", "Error", "RemoveObjects", "staticRecords", "Snapshot", "Query", "select", "Filter", "ast", "snapshot", "downloadBlob", "Date", "toISOString", "createObjectNode", "droppable", "QueryCollection", "View", "graphProps", "getLabel", "getDXN", "toString", "persistenceClass", "persistenceKey", "constructObjectActions", "graph", "objectForms", "getSpace", "invariant", "queryCollection", "matchingObjectForm", "form", "objectSchema", "toEffectSchema", "jsonSchema", "formSchema", "pipe", "getIntent", "chain", "hidden", "LayoutAction", "Open", "part", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "subject", "blob", "filename", "URL", "createObjectURL", "a", "document", "createElement", "href", "download", "body", "appendChild", "click", "removeChild", "revokeObjectURL", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "getSchema", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
|
|
7
|
+
}
|