@dxos/plugin-space 0.8.4-main.5ea62a8 → 0.8.4-main.72ec0f3
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-FLF7XMQO.mjs → app-graph-builder-VQAB3GCQ.mjs} +109 -97
- package/dist/lib/browser/app-graph-builder-VQAB3GCQ.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-3A6KBYWT.mjs → app-graph-serializer-KSLKMEPP.mjs} +19 -19
- package/dist/lib/browser/app-graph-serializer-KSLKMEPP.mjs.map +7 -0
- package/dist/lib/browser/{chunk-DCY3W36E.mjs → chunk-ERQMHU7L.mjs} +71 -61
- package/dist/lib/browser/chunk-ERQMHU7L.mjs.map +7 -0
- package/dist/lib/browser/{chunk-J6YZG77T.mjs → chunk-J2BUK5E6.mjs} +554 -481
- package/dist/lib/browser/chunk-J2BUK5E6.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-RQVV4XVF.mjs → chunk-M2Z6D4ZI.mjs} +27 -21
- package/dist/lib/browser/chunk-M2Z6D4ZI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WAXS2ZVX.mjs → chunk-OLBBSOVI.mjs} +26 -13
- package/dist/lib/browser/chunk-OLBBSOVI.mjs.map +7 -0
- package/dist/lib/browser/chunk-PU5IOFMG.mjs +167 -0
- package/dist/lib/browser/chunk-PU5IOFMG.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/{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 +89 -85
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-7E3IZIJS.mjs → intent-resolver-Q2XWHAVA.mjs} +78 -84
- package/dist/lib/browser/intent-resolver-Q2XWHAVA.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-root-MM4HADPE.mjs +30 -0
- package/dist/lib/browser/react-root-MM4HADPE.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-GL4CE2F4.mjs → react-surface-SGZC3Y4U.mjs} +71 -105
- package/dist/lib/browser/react-surface-SGZC3Y4U.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-B6MMHLPS.mjs → settings-WKLGKUHQ.mjs} +5 -5
- package/dist/lib/browser/{settings-B6MMHLPS.mjs.map → settings-WKLGKUHQ.mjs.map} +1 -1
- package/dist/lib/browser/{spaces-ready-QVABOCO3.mjs → spaces-ready-C5QC2UFL.mjs} +15 -14
- package/dist/lib/browser/spaces-ready-C5QC2UFL.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-D5YPOJS5.mjs → app-graph-builder-24JCLJPX.mjs} +109 -97
- package/dist/lib/node-esm/app-graph-builder-24JCLJPX.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-M45TH5LR.mjs → app-graph-serializer-R723K764.mjs} +19 -19
- package/dist/lib/node-esm/app-graph-serializer-R723K764.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-WKQTO37U.mjs → chunk-2PN7QNGV.mjs} +27 -21
- package/dist/lib/node-esm/chunk-2PN7QNGV.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-ZCEH2VYE.mjs → chunk-ITQFSFQ3.mjs} +554 -481
- package/dist/lib/node-esm/chunk-ITQFSFQ3.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-TJPQDQNI.mjs +168 -0
- package/dist/lib/node-esm/chunk-TJPQDQNI.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-AUQ3SKL2.mjs → chunk-VH2EBZEV.mjs} +71 -61
- package/dist/lib/node-esm/chunk-VH2EBZEV.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HYIZVPOA.mjs → chunk-WC4VBFMA.mjs} +26 -13
- package/dist/lib/node-esm/chunk-WC4VBFMA.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 +89 -85
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-UVO4MKWX.mjs → intent-resolver-YK4ESSET.mjs} +78 -84
- package/dist/lib/node-esm/intent-resolver-YK4ESSET.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-5EKYI66P.mjs → react-root-5ANDLQMX.mjs} +13 -12
- package/dist/lib/node-esm/react-root-5ANDLQMX.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-IOC6YSVQ.mjs → react-surface-V7J2QB44.mjs} +71 -105
- package/dist/lib/node-esm/react-surface-V7J2QB44.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-IOFU6EAS.mjs → settings-RBB5633M.mjs} +5 -5
- package/dist/lib/node-esm/{settings-IOFU6EAS.mjs.map → settings-RBB5633M.mjs.map} +1 -1
- package/dist/lib/node-esm/{spaces-ready-MS6GHPFR.mjs → spaces-ready-SJCXV6YH.mjs} +15 -14
- package/dist/lib/node-esm/spaces-ready-SJCXV6YH.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 +110 -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 +1697 -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 +1530 -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/ObjectSettingsContainer.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} +111 -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} +112 -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 +110 -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 +111 -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 +1322 -22
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +59 -76
- 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 +64 -59
- package/src/SpacePlugin.ts +228 -212
- package/src/capabilities/app-graph-builder.ts +158 -123
- 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 +68 -61
- 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 +38 -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 +4 -3
- 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 -23
- 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 +26 -22
- package/src/util.tsx +79 -64
- package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +0 -7
- package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.mjs +0 -88
- package/dist/lib/browser/ObjectDetailsPanel-SY6FYTYC.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-FLF7XMQO.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-3A6KBYWT.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-DCY3W36E.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-J6YZG77T.mjs.map +0 -7
- package/dist/lib/browser/chunk-RQVV4XVF.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-WAXS2ZVX.mjs.map +0 -7
- package/dist/lib/browser/identity-created-T6ZNVE7S.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-7E3IZIJS.mjs.map +0 -7
- package/dist/lib/browser/react-root-RWMT2RCK.mjs +0 -29
- package/dist/lib/browser/react-root-RWMT2RCK.mjs.map +0 -7
- package/dist/lib/browser/react-surface-GL4CE2F4.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-YDPFZELA.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-QVABOCO3.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-3MYLTMXN.mjs +0 -89
- package/dist/lib/node-esm/ObjectDetailsPanel-3MYLTMXN.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-D5YPOJS5.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-M45TH5LR.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AUQ3SKL2.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-HYIZVPOA.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-WKQTO37U.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZCEH2VYE.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-AL7NNCKH.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-UVO4MKWX.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-5EKYI66P.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-IOC6YSVQ.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-OYBCWKAS.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-MS6GHPFR.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 -77
- 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-TJPQDQNI.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-AUQ3SKL2.mjs";
|
|
17
|
+
createStaticSchemaNode
|
|
18
|
+
} from "./chunk-VH2EBZEV.mjs";
|
|
19
19
|
import {
|
|
20
20
|
SPACE_TYPE,
|
|
21
21
|
SpaceAction
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-2PN7QNGV.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,48 +250,49 @@ 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
|
-
|
|
291
|
-
|
|
293
|
+
const typename = getTypenameFromQuery(collection.query);
|
|
294
|
+
return typename && space ? Option.some({
|
|
295
|
+
typename,
|
|
292
296
|
space
|
|
293
297
|
}) : Option.none();
|
|
294
298
|
}), Option.map(({ typename, space }) => {
|
|
@@ -299,13 +303,13 @@ var app_graph_builder_default = (context) => {
|
|
|
299
303
|
// TODO(wittjosiah): This query is broader than it should be.
|
|
300
304
|
// It will return all objects in the collection, not just the ones of the given type.
|
|
301
305
|
// However this works fine for now because this query is only used for exclusions.
|
|
302
|
-
Query.select(Filter.typename(typename)).referencedBy(
|
|
306
|
+
Query.select(Filter.typename(typename)).referencedBy(Collection.Collection, "objects").reference("objects")
|
|
303
307
|
));
|
|
304
308
|
}
|
|
305
|
-
return get(
|
|
309
|
+
return get(atomFromQuery(query)).toSorted((a, b) => a.id.localeCompare(b.id)).map((object) => get(atomFromSignal(() => createObjectNode({
|
|
306
310
|
object,
|
|
307
311
|
space,
|
|
308
|
-
resolve,
|
|
312
|
+
resolve: resolve(get),
|
|
309
313
|
droppable: false,
|
|
310
314
|
navigable: state.navigableCollections
|
|
311
315
|
})))).filter(isNonNullable);
|
|
@@ -314,14 +318,14 @@ var app_graph_builder_default = (context) => {
|
|
|
314
318
|
}),
|
|
315
319
|
// Static schema records.
|
|
316
320
|
createExtension({
|
|
317
|
-
id: `${
|
|
321
|
+
id: `${meta.id}/static-schemas`,
|
|
318
322
|
connector: (node) => {
|
|
319
323
|
const client = context.getCapability(ClientCapabilities.Client);
|
|
320
|
-
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) => {
|
|
321
325
|
const space = getSpace(collection);
|
|
322
326
|
return space?.properties.staticRecords ? Option.some(space) : Option.none();
|
|
323
327
|
}), Option.map((space) => {
|
|
324
|
-
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({
|
|
325
329
|
schema,
|
|
326
330
|
space
|
|
327
331
|
}));
|
|
@@ -330,10 +334,10 @@ var app_graph_builder_default = (context) => {
|
|
|
330
334
|
}),
|
|
331
335
|
// Create static schema actions.
|
|
332
336
|
createExtension({
|
|
333
|
-
id: `${
|
|
337
|
+
id: `${meta.id}/static-schema-actions`,
|
|
334
338
|
actions: (node) => {
|
|
335
339
|
let query;
|
|
336
|
-
return
|
|
340
|
+
return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
337
341
|
const space = isSpace(node2.properties.space) ? node2.properties.space : void 0;
|
|
338
342
|
return space && Schema.isSchema(node2.data) ? Option.some({
|
|
339
343
|
space,
|
|
@@ -341,12 +345,12 @@ var app_graph_builder_default = (context) => {
|
|
|
341
345
|
}) : Option.none();
|
|
342
346
|
}), Option.map(({ space, schema }) => {
|
|
343
347
|
if (!query) {
|
|
344
|
-
query = space.db.query(Filter.type(
|
|
348
|
+
query = space.db.query(Filter.type(View.View));
|
|
345
349
|
}
|
|
346
|
-
const views = get(
|
|
347
|
-
const filteredViews = get(
|
|
350
|
+
const views = get(atomFromQuery(query));
|
|
351
|
+
const filteredViews = get(atomFromSignal(() => (
|
|
348
352
|
// TODO(wittjosiah): Remove cast.
|
|
349
|
-
views.filter((view) => view.query.
|
|
353
|
+
views.filter((view) => getTypenameFromQuery(view.query.ast) === Type.getTypename(schema))
|
|
350
354
|
)));
|
|
351
355
|
const deletable = filteredViews.length === 0;
|
|
352
356
|
const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
|
|
@@ -364,24 +368,32 @@ var app_graph_builder_default = (context) => {
|
|
|
364
368
|
}),
|
|
365
369
|
// Create nodes for schema views.
|
|
366
370
|
createExtension({
|
|
367
|
-
id: `${
|
|
371
|
+
id: `${meta.id}/schema-views`,
|
|
368
372
|
connector: (node) => {
|
|
369
373
|
let query;
|
|
370
|
-
return
|
|
374
|
+
return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
371
375
|
const space = getSpace(node2.data) ?? (isSpace(node2.properties.space) ? node2.properties.space : void 0);
|
|
372
|
-
return space && (Obj.instanceOf(
|
|
376
|
+
return space && (Obj.instanceOf(StoredSchema, node2.data) || Schema.isSchema(node2.data)) ? Option.some({
|
|
373
377
|
space,
|
|
374
378
|
schema: node2.data
|
|
375
379
|
}) : Option.none();
|
|
376
380
|
}), Option.map(({ space, schema }) => {
|
|
377
381
|
if (!query) {
|
|
378
|
-
query = space.db.query(Filter.type(
|
|
382
|
+
query = space.db.query(Filter.type(View.View));
|
|
379
383
|
}
|
|
380
384
|
const typename = Schema.isSchema(schema) ? Type.getTypename(schema) : schema.typename;
|
|
381
|
-
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({
|
|
382
394
|
object: view,
|
|
383
395
|
space,
|
|
384
|
-
resolve,
|
|
396
|
+
resolve: resolve(get),
|
|
385
397
|
droppable: false
|
|
386
398
|
})))).filter(isNonNullable);
|
|
387
399
|
}), Option.getOrElse(() => [])));
|
|
@@ -389,30 +401,30 @@ var app_graph_builder_default = (context) => {
|
|
|
389
401
|
}),
|
|
390
402
|
// Create record nodes.
|
|
391
403
|
createExtension({
|
|
392
|
-
id: `${
|
|
404
|
+
id: `${meta.id}/records`,
|
|
393
405
|
resolver: (id) => {
|
|
394
406
|
let query;
|
|
395
|
-
return
|
|
407
|
+
return Atom.make((get) => {
|
|
396
408
|
const client = context.getCapability(ClientCapabilities.Client);
|
|
397
|
-
const
|
|
398
|
-
if (!
|
|
409
|
+
const dxn = DXN.tryParse(id)?.asEchoDXN();
|
|
410
|
+
if (!dxn || !dxn.spaceId) {
|
|
399
411
|
return null;
|
|
400
412
|
}
|
|
401
|
-
const space = client.spaces.get(spaceId);
|
|
413
|
+
const space = client.spaces.get(dxn.spaceId);
|
|
402
414
|
if (!space) {
|
|
403
415
|
return null;
|
|
404
416
|
}
|
|
405
417
|
if (!query) {
|
|
406
|
-
query = space.db.query(Filter.ids(
|
|
418
|
+
query = space.db.query(Filter.ids(dxn.echoId));
|
|
407
419
|
}
|
|
408
|
-
const object = get(
|
|
420
|
+
const object = get(atomFromQuery(query)).at(0);
|
|
409
421
|
if (!object) {
|
|
410
422
|
return null;
|
|
411
423
|
}
|
|
412
424
|
return createObjectNode({
|
|
413
425
|
object,
|
|
414
426
|
space,
|
|
415
|
-
resolve,
|
|
427
|
+
resolve: resolve(get),
|
|
416
428
|
disposition: "hidden"
|
|
417
429
|
});
|
|
418
430
|
});
|
|
@@ -420,25 +432,25 @@ var app_graph_builder_default = (context) => {
|
|
|
420
432
|
}),
|
|
421
433
|
// Create collection actions and action groups.
|
|
422
434
|
createExtension({
|
|
423
|
-
id: `${
|
|
435
|
+
id: `${meta.id}/object-actions`,
|
|
424
436
|
actions: (node) => {
|
|
425
437
|
let query;
|
|
426
|
-
return
|
|
438
|
+
return Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => {
|
|
427
439
|
const space = getSpace(node2.data);
|
|
428
|
-
return space && Obj.isObject(node2.data) ? Option.some({
|
|
440
|
+
return space && Obj.isObject(node2.data) && Obj.getTypename(node2.data) === node2.type ? Option.some({
|
|
429
441
|
space,
|
|
430
442
|
object: node2.data
|
|
431
443
|
}) : Option.none();
|
|
432
444
|
}), Option.flatMap(({ space, object }) => {
|
|
433
|
-
const
|
|
434
|
-
if (!query &&
|
|
435
|
-
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));
|
|
436
448
|
}
|
|
437
|
-
let deletable = !
|
|
438
|
-
!(Obj.instanceOf(
|
|
439
|
-
if (
|
|
440
|
-
const views = get(
|
|
441
|
-
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)));
|
|
442
454
|
deletable = filteredViews.length === 0;
|
|
443
455
|
}
|
|
444
456
|
const [dispatcher] = get(context.capabilities(Capabilities.IntentDispatcher));
|
|
@@ -454,7 +466,7 @@ var app_graph_builder_default = (context) => {
|
|
|
454
466
|
dispatch: dispatcher.dispatchPromise,
|
|
455
467
|
objectForms,
|
|
456
468
|
deletable,
|
|
457
|
-
navigable: get(
|
|
469
|
+
navigable: get(atomFromSignal(() => state.navigableCollections))
|
|
458
470
|
});
|
|
459
471
|
}
|
|
460
472
|
}), Option.map((params) => constructObjectActions(params)), Option.getOrElse(() => [])));
|
|
@@ -462,8 +474,8 @@ var app_graph_builder_default = (context) => {
|
|
|
462
474
|
}),
|
|
463
475
|
// View selected objects.
|
|
464
476
|
createExtension({
|
|
465
|
-
id: `${
|
|
466
|
-
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) => [
|
|
467
479
|
{
|
|
468
480
|
id: [
|
|
469
481
|
node2.id,
|
|
@@ -475,7 +487,7 @@ var app_graph_builder_default = (context) => {
|
|
|
475
487
|
label: [
|
|
476
488
|
"companion selected objects label",
|
|
477
489
|
{
|
|
478
|
-
ns:
|
|
490
|
+
ns: meta.id
|
|
479
491
|
}
|
|
480
492
|
],
|
|
481
493
|
icon: "ph--tree-view--regular",
|
|
@@ -486,8 +498,8 @@ var app_graph_builder_default = (context) => {
|
|
|
486
498
|
}),
|
|
487
499
|
// Object settings plank companion.
|
|
488
500
|
createExtension({
|
|
489
|
-
id: `${
|
|
490
|
-
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) => [
|
|
491
503
|
{
|
|
492
504
|
id: [
|
|
493
505
|
node2.id,
|
|
@@ -499,7 +511,7 @@ var app_graph_builder_default = (context) => {
|
|
|
499
511
|
label: [
|
|
500
512
|
"object settings label",
|
|
501
513
|
{
|
|
502
|
-
ns:
|
|
514
|
+
ns: meta.id
|
|
503
515
|
}
|
|
504
516
|
],
|
|
505
517
|
icon: "ph--sliders--regular",
|
|
@@ -510,8 +522,8 @@ var app_graph_builder_default = (context) => {
|
|
|
510
522
|
]), Option.getOrElse(() => [])))
|
|
511
523
|
})
|
|
512
524
|
]);
|
|
513
|
-
};
|
|
525
|
+
});
|
|
514
526
|
export {
|
|
515
527
|
app_graph_builder_default as default
|
|
516
528
|
};
|
|
517
|
-
//# sourceMappingURL=app-graph-builder-
|
|
529
|
+
//# sourceMappingURL=app-graph-builder-24JCLJPX.mjs.map
|