@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
package/src/types/types.ts
CHANGED
|
@@ -2,21 +2,22 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import * as Schema from 'effect/Schema';
|
|
6
6
|
|
|
7
7
|
import { type AnyIntentChain } from '@dxos/app-framework';
|
|
8
8
|
import { type Obj, Type } from '@dxos/echo';
|
|
9
|
-
import { type BaseObject, EchoSchema, StoredSchema
|
|
9
|
+
import { type BaseObject, EchoSchema, StoredSchema } from '@dxos/echo/internal';
|
|
10
10
|
import { type PublicKey } from '@dxos/react-client';
|
|
11
11
|
// TODO(wittjosiah): This pulls in full client.
|
|
12
12
|
import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
|
|
13
13
|
import { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';
|
|
14
|
-
import {
|
|
14
|
+
import { Collection, FieldSchema, TypenameAnnotationId, View } from '@dxos/schema';
|
|
15
15
|
import { type ComplexMap } from '@dxos/util';
|
|
16
16
|
|
|
17
|
-
import {
|
|
17
|
+
import { meta } from '../meta';
|
|
18
|
+
|
|
19
|
+
export const SPACE_DIRECTORY_HANDLE = `${meta.id}/directory`;
|
|
18
20
|
|
|
19
|
-
export const SPACE_DIRECTORY_HANDLE = 'dxos.org/plugin/space/directory';
|
|
20
21
|
export const SPACE_TYPE = 'dxos.org/type/Space';
|
|
21
22
|
|
|
22
23
|
export type ObjectViewerProps = {
|
|
@@ -105,8 +106,7 @@ export const SpaceForm = Schema.Struct({
|
|
|
105
106
|
});
|
|
106
107
|
|
|
107
108
|
export type ObjectForm<T extends BaseObject = BaseObject> = {
|
|
108
|
-
|
|
109
|
-
objectSchema: TypedObject;
|
|
109
|
+
objectSchema: Schema.Schema.AnyNoContext;
|
|
110
110
|
formSchema?: Schema.Schema<T, any>;
|
|
111
111
|
hidden?: boolean;
|
|
112
112
|
getIntent: (props: T, options: { space: Space }) => AnyIntentChain;
|
|
@@ -114,7 +114,7 @@ export type ObjectForm<T extends BaseObject = BaseObject> = {
|
|
|
114
114
|
|
|
115
115
|
export const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;
|
|
116
116
|
|
|
117
|
-
export const SPACE_ACTION = `${
|
|
117
|
+
export const SPACE_ACTION = `${meta.id}/action`;
|
|
118
118
|
|
|
119
119
|
export namespace SpaceAction {
|
|
120
120
|
export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
|
|
@@ -230,6 +230,8 @@ export namespace SpaceAction {
|
|
|
230
230
|
input: Schema.Struct({
|
|
231
231
|
space: SpaceSchema,
|
|
232
232
|
typename: Schema.String,
|
|
233
|
+
// TODO(wittjosiah): This is leaky.
|
|
234
|
+
show: Schema.optional(Schema.Boolean),
|
|
233
235
|
}),
|
|
234
236
|
output: Schema.Struct({}),
|
|
235
237
|
}) {}
|
|
@@ -243,6 +245,8 @@ export namespace SpaceAction {
|
|
|
243
245
|
version: Schema.optional(Schema.String),
|
|
244
246
|
// TODO(wittjosiah): Schema for schema?
|
|
245
247
|
schema: Schema.Any,
|
|
248
|
+
// TODO(wittjosiah): This is leaky.
|
|
249
|
+
show: Schema.optional(Schema.Boolean),
|
|
246
250
|
}),
|
|
247
251
|
output: Schema.Struct({
|
|
248
252
|
// TODO(wittjosiah): ObjectId.
|
|
@@ -254,7 +258,7 @@ export namespace SpaceAction {
|
|
|
254
258
|
|
|
255
259
|
export class DeleteField extends Schema.TaggedClass<DeleteField>()(`${SPACE_ACTION}/delete-field`, {
|
|
256
260
|
input: Schema.Struct({
|
|
257
|
-
view:
|
|
261
|
+
view: View.View,
|
|
258
262
|
fieldId: Schema.String,
|
|
259
263
|
// TODO(wittjosiah): Separate fields for undo data?
|
|
260
264
|
deletionData: Schema.optional(
|
|
@@ -272,7 +276,7 @@ export namespace SpaceAction {
|
|
|
272
276
|
|
|
273
277
|
export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
|
|
274
278
|
input: Schema.Struct({
|
|
275
|
-
target: Schema.Union(SpaceSchema,
|
|
279
|
+
target: Schema.Union(SpaceSchema, Collection.Collection),
|
|
276
280
|
views: Schema.optional(Schema.Boolean),
|
|
277
281
|
typename: Schema.optional(Schema.String),
|
|
278
282
|
initialFormValues: Schema.optional(Schema.Any),
|
|
@@ -286,7 +290,7 @@ export namespace SpaceAction {
|
|
|
286
290
|
export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
|
|
287
291
|
input: Schema.Struct({
|
|
288
292
|
object: ReactiveObjectSchema,
|
|
289
|
-
target: Schema.Union(SpaceSchema,
|
|
293
|
+
target: Schema.Union(SpaceSchema, Collection.Collection),
|
|
290
294
|
hidden: Schema.optional(Schema.Boolean),
|
|
291
295
|
}),
|
|
292
296
|
output: Schema.Struct({
|
|
@@ -314,7 +318,7 @@ export namespace SpaceAction {
|
|
|
314
318
|
|
|
315
319
|
export const DeletionData = Schema.Struct({
|
|
316
320
|
objects: Schema.Array(EchoObjectSchema),
|
|
317
|
-
parentCollection:
|
|
321
|
+
parentCollection: Collection.Collection,
|
|
318
322
|
indices: Schema.Array(Schema.Number),
|
|
319
323
|
nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
|
|
320
324
|
wasActive: Schema.Array(Schema.String),
|
|
@@ -324,8 +328,9 @@ export namespace SpaceAction {
|
|
|
324
328
|
|
|
325
329
|
export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
|
|
326
330
|
input: Schema.Struct({
|
|
327
|
-
|
|
328
|
-
|
|
331
|
+
// TODO(wittjosiah): Should be Schema.Union(Type.Obj, Type.Relation).
|
|
332
|
+
objects: Schema.Array(ReactiveObjectSchema),
|
|
333
|
+
target: Schema.optional(Collection.Collection),
|
|
329
334
|
deletionData: Schema.optional(DeletionData),
|
|
330
335
|
}),
|
|
331
336
|
output: Schema.Void,
|
|
@@ -342,7 +347,7 @@ export namespace SpaceAction {
|
|
|
342
347
|
export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
|
|
343
348
|
input: Schema.Struct({
|
|
344
349
|
object: EchoObjectSchema,
|
|
345
|
-
target: Schema.Union(SpaceSchema,
|
|
350
|
+
target: Schema.Union(SpaceSchema, Collection.Collection),
|
|
346
351
|
}),
|
|
347
352
|
output: Schema.Void,
|
|
348
353
|
}) {}
|
|
@@ -361,17 +366,15 @@ export namespace CollectionAction {
|
|
|
361
366
|
name: Schema.optional(Schema.String),
|
|
362
367
|
}),
|
|
363
368
|
output: Schema.Struct({
|
|
364
|
-
object:
|
|
369
|
+
object: Collection.Collection,
|
|
365
370
|
}),
|
|
366
371
|
}) {}
|
|
367
372
|
|
|
368
373
|
export const QueryCollectionForm = Schema.Struct({
|
|
369
374
|
name: Schema.optional(Schema.String),
|
|
370
|
-
typename: Schema.
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
}),
|
|
374
|
-
),
|
|
375
|
+
typename: Schema.String.annotations({
|
|
376
|
+
[TypenameAnnotationId]: ['object-form'],
|
|
377
|
+
}),
|
|
375
378
|
});
|
|
376
379
|
|
|
377
380
|
export class CreateQueryCollection extends Schema.TaggedClass<CreateQueryCollection>()(
|
|
@@ -379,7 +382,8 @@ export namespace CollectionAction {
|
|
|
379
382
|
{
|
|
380
383
|
input: QueryCollectionForm,
|
|
381
384
|
output: Schema.Struct({
|
|
382
|
-
|
|
385
|
+
// TODO(wittjosiah): Remove cast.
|
|
386
|
+
object: EchoObjectSchema, // Collection.QueryCollection,
|
|
383
387
|
}),
|
|
384
388
|
},
|
|
385
389
|
) {}
|
package/src/util.tsx
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
5
|
+
import { Atom } from '@effect-atom/atom-react';
|
|
6
|
+
import * as Function from 'effect/Function';
|
|
7
7
|
|
|
8
8
|
import { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';
|
|
9
9
|
import { Obj, Ref, Type } from '@dxos/echo';
|
|
10
|
-
import { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo
|
|
10
|
+
import { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo/internal';
|
|
11
11
|
import { invariant } from '@dxos/invariant';
|
|
12
12
|
import { Migrations } from '@dxos/migrations';
|
|
13
13
|
import {
|
|
@@ -20,24 +20,24 @@ import {
|
|
|
20
20
|
type ReadableGraph,
|
|
21
21
|
isGraphNode,
|
|
22
22
|
} from '@dxos/plugin-graph';
|
|
23
|
-
import { type QueryResult, type Space, SpaceState,
|
|
23
|
+
import { type QueryResult, type Space, SpaceState, getSpace, isSpace } from '@dxos/react-client/echo';
|
|
24
24
|
import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
|
|
25
25
|
import { type TreeData } from '@dxos/react-ui-list';
|
|
26
|
-
import {
|
|
26
|
+
import { Collection, StoredSchema, View, getTypenameFromQuery } from '@dxos/schema';
|
|
27
27
|
|
|
28
|
-
import {
|
|
28
|
+
import { meta } from './meta';
|
|
29
29
|
import { type ObjectForm, SPACE_TYPE, SpaceAction } from './types';
|
|
30
30
|
|
|
31
|
-
export const SPACES = `${
|
|
32
|
-
export const COMPOSER_SPACE_LOCK =
|
|
31
|
+
export const SPACES = `${meta.id}-spaces`;
|
|
32
|
+
export const COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
|
|
33
33
|
// TODO(wittjosiah): Remove.
|
|
34
34
|
export const SHARED = 'shared-spaces';
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
|
-
* Convert a query result to an
|
|
37
|
+
* Convert a query result to an Atom value of the objects.
|
|
38
38
|
*/
|
|
39
|
-
export const
|
|
40
|
-
return
|
|
39
|
+
export const atomFromQuery = <T extends AnyEchoObject>(query: QueryResult<T>): Atom.Atom<T[]> => {
|
|
40
|
+
return Atom.make((get) => {
|
|
41
41
|
const unsubscribe = query.subscribe((result) => {
|
|
42
42
|
get.setSelf(result.objects);
|
|
43
43
|
});
|
|
@@ -57,8 +57,8 @@ export const getSpaceDisplayName = (
|
|
|
57
57
|
: namesCache[space.id]
|
|
58
58
|
? namesCache[space.id]
|
|
59
59
|
: personal
|
|
60
|
-
? ['personal space label', { ns:
|
|
61
|
-
: ['unnamed space label', { ns:
|
|
60
|
+
? ['personal space label', { ns: meta.id }]
|
|
61
|
+
: ['unnamed space label', { ns: meta.id }];
|
|
62
62
|
};
|
|
63
63
|
|
|
64
64
|
const getCollectionGraphNodePartials = ({
|
|
@@ -66,7 +66,7 @@ const getCollectionGraphNodePartials = ({
|
|
|
66
66
|
space,
|
|
67
67
|
resolve,
|
|
68
68
|
}: {
|
|
69
|
-
collection:
|
|
69
|
+
collection: Collection.Collection;
|
|
70
70
|
space: Space;
|
|
71
71
|
resolve: (typename: string) => Record<string, any>;
|
|
72
72
|
}) => {
|
|
@@ -141,20 +141,21 @@ const getQueryCollectionNodePartials = ({
|
|
|
141
141
|
space,
|
|
142
142
|
resolve,
|
|
143
143
|
}: {
|
|
144
|
-
collection:
|
|
144
|
+
collection: Collection.QueryCollection;
|
|
145
145
|
space: Space;
|
|
146
146
|
resolve: (typename: string) => Record<string, any>;
|
|
147
147
|
}) => {
|
|
148
|
+
const typename = getTypenameFromQuery(collection.query);
|
|
149
|
+
const metadata = typename ? resolve(typename) : {};
|
|
148
150
|
return {
|
|
149
|
-
icon:
|
|
151
|
+
icon: metadata.icon,
|
|
152
|
+
iconHue: metadata.iconHue,
|
|
150
153
|
acceptPersistenceClass: new Set(['echo']),
|
|
151
154
|
acceptPersistenceKey: new Set([space.id]),
|
|
152
155
|
role: 'branch',
|
|
153
156
|
canDrop: (source: TreeData) => {
|
|
154
157
|
return (
|
|
155
|
-
isGraphNode(source.item) &&
|
|
156
|
-
Obj.isObject(source.item.data) &&
|
|
157
|
-
Obj.getTypename(source.item.data) === collection.query.typename
|
|
158
|
+
isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename
|
|
158
159
|
);
|
|
159
160
|
},
|
|
160
161
|
onTransferStart: (child: Node<Obj.Any>, index?: number) => {
|
|
@@ -177,7 +178,7 @@ const getViewGraphNodePartials = ({
|
|
|
177
178
|
view,
|
|
178
179
|
resolve,
|
|
179
180
|
}: {
|
|
180
|
-
view:
|
|
181
|
+
view: View.View;
|
|
181
182
|
resolve: (typename: string) => Record<string, any>;
|
|
182
183
|
}) => {
|
|
183
184
|
const presentation = view.presentation.target;
|
|
@@ -187,6 +188,7 @@ const getViewGraphNodePartials = ({
|
|
|
187
188
|
return {
|
|
188
189
|
label: view.name || ['object name placeholder', { ns: typename, default: 'New view' }],
|
|
189
190
|
icon: metadata.icon,
|
|
191
|
+
iconHue: metadata.iconHue,
|
|
190
192
|
canDrop: () => false,
|
|
191
193
|
};
|
|
192
194
|
};
|
|
@@ -215,9 +217,9 @@ export const constructSpaceNode = ({
|
|
|
215
217
|
}) => {
|
|
216
218
|
const hasPendingMigration = checkPendingMigration(space);
|
|
217
219
|
const collection =
|
|
218
|
-
space.state.get() === SpaceState.SPACE_READY && space.properties[
|
|
220
|
+
space.state.get() === SpaceState.SPACE_READY && space.properties[Collection.Collection.typename]?.target;
|
|
219
221
|
const partials =
|
|
220
|
-
space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(
|
|
222
|
+
space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(Collection.Collection, collection)
|
|
221
223
|
? getCollectionGraphNodePartials({ collection, space, resolve })
|
|
222
224
|
: {};
|
|
223
225
|
|
|
@@ -235,6 +237,7 @@ export const constructSpaceNode = ({
|
|
|
235
237
|
space.state.get() === SpaceState.SPACE_READY && space.properties.icon
|
|
236
238
|
? `ph--${space.properties.icon}--regular`
|
|
237
239
|
: undefined,
|
|
240
|
+
iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
|
|
238
241
|
disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
|
|
239
242
|
testId: 'spacePlugin.space',
|
|
240
243
|
canDrop: (source: TreeData) => {
|
|
@@ -245,40 +248,40 @@ export const constructSpaceNode = ({
|
|
|
245
248
|
nodes: [
|
|
246
249
|
{
|
|
247
250
|
id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
248
|
-
type: `${
|
|
251
|
+
type: `${meta.id}/settings`,
|
|
249
252
|
data: null,
|
|
250
253
|
properties: {
|
|
251
|
-
label: ['settings panel label', { ns:
|
|
254
|
+
label: ['settings panel label', { ns: meta.id }],
|
|
252
255
|
icon: 'ph--faders--regular',
|
|
253
256
|
disposition: 'alternate-tree',
|
|
254
257
|
},
|
|
255
258
|
nodes: [
|
|
256
259
|
{
|
|
257
260
|
id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
258
|
-
type: `${
|
|
259
|
-
data: `${
|
|
261
|
+
type: `${meta.id}/properties`,
|
|
262
|
+
data: `${meta.id}/properties`,
|
|
260
263
|
properties: {
|
|
261
|
-
label: ['space settings properties label', { ns:
|
|
264
|
+
label: ['space settings properties label', { ns: meta.id }],
|
|
262
265
|
icon: 'ph--sliders--regular',
|
|
263
266
|
position: 'hoist',
|
|
264
267
|
},
|
|
265
268
|
},
|
|
266
269
|
{
|
|
267
270
|
id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
268
|
-
type: `${
|
|
269
|
-
data: `${
|
|
271
|
+
type: `${meta.id}/members`,
|
|
272
|
+
data: `${meta.id}/members`,
|
|
270
273
|
properties: {
|
|
271
|
-
label: ['members panel label', { ns:
|
|
274
|
+
label: ['members panel label', { ns: meta.id }],
|
|
272
275
|
icon: 'ph--users--regular',
|
|
273
276
|
position: 'hoist',
|
|
274
277
|
},
|
|
275
278
|
},
|
|
276
279
|
{
|
|
277
280
|
id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
278
|
-
type: `${
|
|
279
|
-
data: `${
|
|
281
|
+
type: `${meta.id}/schema`,
|
|
282
|
+
data: `${meta.id}/schema`,
|
|
280
283
|
properties: {
|
|
281
|
-
label: ['space settings schema label', { ns:
|
|
284
|
+
label: ['space settings schema label', { ns: meta.id }],
|
|
282
285
|
icon: 'ph--shapes--regular',
|
|
283
286
|
},
|
|
284
287
|
},
|
|
@@ -312,7 +315,7 @@ export const constructSpaceActions = ({
|
|
|
312
315
|
await dispatch(createIntent(SpaceAction.Migrate, { space }));
|
|
313
316
|
},
|
|
314
317
|
properties: {
|
|
315
|
-
label: ['migrate space label', { ns:
|
|
318
|
+
label: ['migrate space label', { ns: meta.id }],
|
|
316
319
|
icon: 'ph--database--regular',
|
|
317
320
|
disposition: 'list-item-primary',
|
|
318
321
|
disabled: migrating || Migrations.running(space),
|
|
@@ -329,7 +332,7 @@ export const constructSpaceActions = ({
|
|
|
329
332
|
await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));
|
|
330
333
|
},
|
|
331
334
|
properties: {
|
|
332
|
-
label: ['create object in space label', { ns:
|
|
335
|
+
label: ['create object in space label', { ns: meta.id }],
|
|
333
336
|
icon: 'ph--plus--regular',
|
|
334
337
|
disposition: 'item',
|
|
335
338
|
testId: 'spacePlugin.createObject',
|
|
@@ -342,7 +345,7 @@ export const constructSpaceActions = ({
|
|
|
342
345
|
await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));
|
|
343
346
|
},
|
|
344
347
|
properties: {
|
|
345
|
-
label: ['rename space label', { ns:
|
|
348
|
+
label: ['rename space label', { ns: meta.id }],
|
|
346
349
|
icon: 'ph--pencil-simple-line--regular',
|
|
347
350
|
keyBinding: {
|
|
348
351
|
macos: 'shift+F6',
|
|
@@ -359,12 +362,14 @@ export const constructSpaceActions = ({
|
|
|
359
362
|
export const createStaticSchemaNode = ({ schema, space }: { schema: Type.Obj.Any; space: Space }) => {
|
|
360
363
|
return {
|
|
361
364
|
id: `${space.id}/${Type.getTypename(schema)}`,
|
|
362
|
-
type: `${
|
|
365
|
+
type: `${meta.id}/static-schema`,
|
|
363
366
|
data: schema,
|
|
364
367
|
properties: {
|
|
365
368
|
label: ['typename label', { ns: Type.getTypename(schema), default: Type.getTypename(schema) }],
|
|
366
369
|
icon: 'ph--database--regular',
|
|
370
|
+
iconHue: 'green',
|
|
367
371
|
role: 'branch',
|
|
372
|
+
selectable: false,
|
|
368
373
|
canDrop: () => false,
|
|
369
374
|
space,
|
|
370
375
|
},
|
|
@@ -398,7 +403,7 @@ export const createStaticSchemaActions = ({
|
|
|
398
403
|
);
|
|
399
404
|
},
|
|
400
405
|
properties: {
|
|
401
|
-
label: ['add view to schema label', { ns: Type.getTypename(
|
|
406
|
+
label: ['add view to schema label', { ns: Type.getTypename(StoredSchema) }],
|
|
402
407
|
icon: 'ph--plus--regular',
|
|
403
408
|
disposition: 'list-item-primary',
|
|
404
409
|
testId: 'spacePlugin.addViewToSchema',
|
|
@@ -411,7 +416,7 @@ export const createStaticSchemaActions = ({
|
|
|
411
416
|
throw new Error('Not implemented');
|
|
412
417
|
},
|
|
413
418
|
properties: {
|
|
414
|
-
label: ['rename object label', { ns: Type.getTypename(
|
|
419
|
+
label: ['rename object label', { ns: Type.getTypename(StoredSchema) }],
|
|
415
420
|
icon: 'ph--pencil-simple-line--regular',
|
|
416
421
|
disabled: true,
|
|
417
422
|
disposition: 'list-item',
|
|
@@ -430,7 +435,7 @@ export const createStaticSchemaActions = ({
|
|
|
430
435
|
}
|
|
431
436
|
},
|
|
432
437
|
properties: {
|
|
433
|
-
label: ['delete object label', { ns: Type.getTypename(
|
|
438
|
+
label: ['delete object label', { ns: Type.getTypename(StoredSchema) }],
|
|
434
439
|
icon: 'ph--trash--regular',
|
|
435
440
|
disposition: 'list-item',
|
|
436
441
|
disabled: !deletable,
|
|
@@ -463,13 +468,13 @@ export const createObjectNode = ({
|
|
|
463
468
|
}
|
|
464
469
|
|
|
465
470
|
const metadata = resolve(type);
|
|
466
|
-
const partials = Obj.instanceOf(
|
|
471
|
+
const partials = Obj.instanceOf(Collection.Collection, object)
|
|
467
472
|
? getCollectionGraphNodePartials({ collection: object, space, resolve })
|
|
468
|
-
: Obj.instanceOf(
|
|
473
|
+
: Obj.instanceOf(Collection.QueryCollection, object)
|
|
469
474
|
? getQueryCollectionNodePartials({ collection: object, space, resolve })
|
|
470
|
-
: Obj.instanceOf(
|
|
475
|
+
: Obj.instanceOf(StoredSchema, object)
|
|
471
476
|
? getSchemaGraphNodePartials()
|
|
472
|
-
: Obj.instanceOf(
|
|
477
|
+
: Obj.instanceOf(View.View, object)
|
|
473
478
|
? getViewGraphNodePartials({ view: object, resolve })
|
|
474
479
|
: metadata.graphProps;
|
|
475
480
|
|
|
@@ -480,18 +485,26 @@ export const createObjectNode = ({
|
|
|
480
485
|
// TODO(wittjosiah): Remove metadata labels.
|
|
481
486
|
metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];
|
|
482
487
|
|
|
488
|
+
const selectable =
|
|
489
|
+
(!Obj.instanceOf(StoredSchema, object) &&
|
|
490
|
+
!Obj.instanceOf(Collection.QueryCollection, object) &&
|
|
491
|
+
!Obj.instanceOf(Collection.Collection, object)) ||
|
|
492
|
+
(navigable && Obj.instanceOf(Collection.Collection, object));
|
|
493
|
+
|
|
483
494
|
return {
|
|
484
|
-
id:
|
|
495
|
+
id: Obj.getDXN(object).toString(),
|
|
485
496
|
type,
|
|
486
497
|
cacheable: ['label', 'icon', 'role'],
|
|
487
498
|
data: object,
|
|
488
499
|
properties: {
|
|
489
500
|
label,
|
|
490
501
|
icon: metadata.icon ?? 'ph--placeholder--regular',
|
|
502
|
+
iconHue: metadata.iconHue,
|
|
491
503
|
disposition,
|
|
492
504
|
testId: 'spacePlugin.object',
|
|
493
505
|
persistenceClass: 'echo',
|
|
494
506
|
persistenceKey: space?.id,
|
|
507
|
+
selectable,
|
|
495
508
|
canDrop: (source: TreeData) => {
|
|
496
509
|
return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
|
|
497
510
|
},
|
|
@@ -520,15 +533,15 @@ export const constructObjectActions = ({
|
|
|
520
533
|
const typename = Obj.getTypename(object);
|
|
521
534
|
invariant(typename, 'Object has no typename');
|
|
522
535
|
|
|
523
|
-
const getId = (id: string) => `${id}/${
|
|
536
|
+
const getId = (id: string) => `${id}/${Obj.getDXN(object).toString()}`;
|
|
524
537
|
|
|
525
|
-
const queryCollection = Obj.instanceOf(
|
|
538
|
+
const queryCollection = Obj.instanceOf(Collection.QueryCollection, object) ? object : undefined;
|
|
526
539
|
const matchingObjectForm = queryCollection
|
|
527
|
-
? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query
|
|
540
|
+
? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query))
|
|
528
541
|
: undefined;
|
|
529
542
|
|
|
530
543
|
const actions: NodeArg<ActionData>[] = [
|
|
531
|
-
...(Obj.instanceOf(
|
|
544
|
+
...(Obj.instanceOf(Collection.Collection, object)
|
|
532
545
|
? [
|
|
533
546
|
{
|
|
534
547
|
id: getId(SpaceAction.OpenCreateObject._tag),
|
|
@@ -537,7 +550,7 @@ export const constructObjectActions = ({
|
|
|
537
550
|
await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));
|
|
538
551
|
},
|
|
539
552
|
properties: {
|
|
540
|
-
label: ['create object in collection label', { ns:
|
|
553
|
+
label: ['create object in collection label', { ns: meta.id }],
|
|
541
554
|
icon: 'ph--plus--regular',
|
|
542
555
|
disposition: 'list-item-primary',
|
|
543
556
|
testId: 'spacePlugin.createObject',
|
|
@@ -545,7 +558,7 @@ export const constructObjectActions = ({
|
|
|
545
558
|
},
|
|
546
559
|
]
|
|
547
560
|
: []),
|
|
548
|
-
...(Obj.instanceOf(
|
|
561
|
+
...(Obj.instanceOf(StoredSchema, object)
|
|
549
562
|
? [
|
|
550
563
|
{
|
|
551
564
|
id: getId(SpaceAction.AddObject._tag),
|
|
@@ -560,7 +573,7 @@ export const constructObjectActions = ({
|
|
|
560
573
|
);
|
|
561
574
|
},
|
|
562
575
|
properties: {
|
|
563
|
-
label: ['add view to schema label', { ns: Type.getTypename(
|
|
576
|
+
label: ['add view to schema label', { ns: Type.getTypename(StoredSchema) }],
|
|
564
577
|
icon: 'ph--plus--regular',
|
|
565
578
|
disposition: 'list-item-primary',
|
|
566
579
|
testId: 'spacePlugin.addViewToSchema',
|
|
@@ -578,12 +591,12 @@ export const constructObjectActions = ({
|
|
|
578
591
|
await dispatch(
|
|
579
592
|
createIntent(SpaceAction.OpenCreateObject, {
|
|
580
593
|
target: space,
|
|
581
|
-
typename: queryCollection
|
|
594
|
+
typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : undefined,
|
|
582
595
|
}),
|
|
583
596
|
);
|
|
584
597
|
} else {
|
|
585
598
|
await dispatch(
|
|
586
|
-
pipe(
|
|
599
|
+
Function.pipe(
|
|
587
600
|
matchingObjectForm.getIntent({}, { space }),
|
|
588
601
|
chain(SpaceAction.AddObject, { target: space, hidden: true }),
|
|
589
602
|
chain(LayoutAction.Open, { part: 'main' }),
|
|
@@ -592,7 +605,7 @@ export const constructObjectActions = ({
|
|
|
592
605
|
}
|
|
593
606
|
},
|
|
594
607
|
properties: {
|
|
595
|
-
label: ['create object in smart collection label', { ns:
|
|
608
|
+
label: ['create object in smart collection label', { ns: meta.id }],
|
|
596
609
|
icon: 'ph--plus--regular',
|
|
597
610
|
disposition: 'list-item-primary',
|
|
598
611
|
testId: 'spacePlugin.createObject',
|
|
@@ -622,8 +635,8 @@ export const constructObjectActions = ({
|
|
|
622
635
|
type: ACTION_TYPE,
|
|
623
636
|
data: async () => {
|
|
624
637
|
const collection = graph
|
|
625
|
-
.getConnections(
|
|
626
|
-
.find(({ data }) => Obj.instanceOf(
|
|
638
|
+
.getConnections(Obj.getDXN(object).toString(), 'inbound')
|
|
639
|
+
.find(({ data }) => Obj.instanceOf(Collection.Collection, data))?.data;
|
|
627
640
|
await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));
|
|
628
641
|
},
|
|
629
642
|
properties: {
|
|
@@ -637,19 +650,19 @@ export const constructObjectActions = ({
|
|
|
637
650
|
},
|
|
638
651
|
},
|
|
639
652
|
...(navigable ||
|
|
640
|
-
(!Obj.instanceOf(
|
|
641
|
-
!Obj.instanceOf(
|
|
642
|
-
!Obj.instanceOf(
|
|
653
|
+
(!Obj.instanceOf(Collection.Collection, object) &&
|
|
654
|
+
!Obj.instanceOf(Collection.QueryCollection, object) &&
|
|
655
|
+
!Obj.instanceOf(StoredSchema, object))
|
|
643
656
|
? [
|
|
644
657
|
{
|
|
645
658
|
id: getId('copy-link'),
|
|
646
659
|
type: ACTION_TYPE,
|
|
647
660
|
data: async () => {
|
|
648
|
-
const url = `${window.location.origin}/${space.id}/${
|
|
661
|
+
const url = `${window.location.origin}/${space.id}/${Obj.getDXN(object).toString()}`;
|
|
649
662
|
await navigator.clipboard.writeText(url);
|
|
650
663
|
},
|
|
651
664
|
properties: {
|
|
652
|
-
label: ['copy link label', { ns:
|
|
665
|
+
label: ['copy link label', { ns: meta.id }],
|
|
653
666
|
icon: 'ph--link--regular',
|
|
654
667
|
disposition: 'list-item',
|
|
655
668
|
testId: 'spacePlugin.copyLink',
|
|
@@ -662,10 +675,12 @@ export const constructObjectActions = ({
|
|
|
662
675
|
id: getId(LayoutAction.Expose._tag),
|
|
663
676
|
type: ACTION_TYPE,
|
|
664
677
|
data: async () => {
|
|
665
|
-
await dispatch(
|
|
678
|
+
await dispatch(
|
|
679
|
+
createIntent(LayoutAction.Expose, { part: 'navigation', subject: Obj.getDXN(object).toString() }),
|
|
680
|
+
);
|
|
666
681
|
},
|
|
667
682
|
properties: {
|
|
668
|
-
label: ['expose object label', { ns:
|
|
683
|
+
label: ['expose object label', { ns: meta.id }],
|
|
669
684
|
icon: 'ph--eye--regular',
|
|
670
685
|
disposition: 'heading-list-item',
|
|
671
686
|
testId: 'spacePlugin.exposeObject',
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/CollectionMain.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { baseSurface, descriptionMessage, mx } from '@dxos/react-ui-theme';\nimport { type DataType } from '@dxos/schema';\n\nimport { SPACE_PLUGIN } from '../meta';\n\nexport const CollectionMain = ({ collection }: { collection: DataType.Collection }) => {\n const { t } = useTranslation(SPACE_PLUGIN);\n\n return (\n <div\n role='none'\n className={mx(baseSurface, 'min-bs-screen is-full flex items-center justify-center p-8')}\n data-testid='composer.firstRunMessage'\n >\n <p\n role='alert'\n className={mx(descriptionMessage, 'rounded-md p-8 font-normal text-lg max-is-[24rem] break-words')}\n >\n {collection.name ?? t('unnamed collection label')}\n </p>\n </div>\n );\n};\n\nexport default CollectionMain;\n"],
|
|
5
|
-
"mappings": ";;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,sBAAsB;AAC/B,SAASC,aAAaC,oBAAoBC,UAAU;AAK7C,IAAMC,iBAAiB,CAAC,EAAEC,WAAU,MAAuC;;;AAChF,UAAM,EAAEC,EAAC,IAAKC,eAAeC,YAAAA;AAE7B,WACE,sBAAA,cAACC,OAAAA;MACCC,MAAK;MACLC,WAAWC,GAAGC,aAAa,4DAAA;MAC3BC,eAAY;OAEZ,sBAAA,cAACC,KAAAA;MACCL,MAAK;MACLC,WAAWC,GAAGI,oBAAoB,+DAAA;OAEjCX,WAAWY,QAAQX,EAAE,0BAAA,CAAA,CAAA;;;;AAI9B;AAEA,IAAA,yBAAeF;",
|
|
6
|
-
"names": ["React", "useTranslation", "baseSurface", "descriptionMessage", "mx", "CollectionMain", "collection", "t", "useTranslation", "SPACE_PLUGIN", "div", "role", "className", "mx", "baseSurface", "data-testid", "p", "descriptionMessage", "name"]
|
|
7
|
-
}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
SPACE_PLUGIN
|
|
3
|
-
} from "./chunk-FBCGT5YY.mjs";
|
|
4
|
-
|
|
5
|
-
// src/components/ObjectDetailsPanel.tsx
|
|
6
|
-
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
7
|
-
import React, { useCallback } from "react";
|
|
8
|
-
import { setValue } from "@dxos/echo-schema";
|
|
9
|
-
import { invariant } from "@dxos/invariant";
|
|
10
|
-
import { useClient } from "@dxos/react-client";
|
|
11
|
-
import { Filter, getSpace, useQuery, useSchema } from "@dxos/react-client/echo";
|
|
12
|
-
import { Callout, useTranslation } from "@dxos/react-ui";
|
|
13
|
-
import { useSelected } from "@dxos/react-ui-attention";
|
|
14
|
-
import { Form, useRefQueryLookupHandler } from "@dxos/react-ui-form";
|
|
15
|
-
import { isNonNullable } from "@dxos/util";
|
|
16
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/ObjectDetailsPanel.tsx";
|
|
17
|
-
var ObjectDetailsPanel = ({ objectId, view }) => {
|
|
18
|
-
var _effect = _useSignals();
|
|
19
|
-
try {
|
|
20
|
-
const { t } = useTranslation(SPACE_PLUGIN);
|
|
21
|
-
const client = useClient();
|
|
22
|
-
const space = getSpace(view);
|
|
23
|
-
const schema = useSchema(client, space, view.query?.typename);
|
|
24
|
-
const queriedObjects = useQuery(space, schema ? Filter.type(schema) : Filter.nothing());
|
|
25
|
-
const selectedRows = useSelected(objectId, "multi");
|
|
26
|
-
const selectedObjects = selectedRows.map((id) => queriedObjects.find((obj) => obj.id === id)).filter(isNonNullable);
|
|
27
|
-
const handleRefQueryLookup = useRefQueryLookupHandler({
|
|
28
|
-
space
|
|
29
|
-
});
|
|
30
|
-
const handleSave = useCallback((values, { changed }) => {
|
|
31
|
-
const id = values.id;
|
|
32
|
-
invariant(typeof id === "string", void 0, {
|
|
33
|
-
F: __dxlog_file,
|
|
34
|
-
L: 36,
|
|
35
|
-
S: void 0,
|
|
36
|
-
A: [
|
|
37
|
-
"typeof id === 'string'",
|
|
38
|
-
""
|
|
39
|
-
]
|
|
40
|
-
});
|
|
41
|
-
const object = queriedObjects.find((obj) => obj.id === id);
|
|
42
|
-
invariant(object, void 0, {
|
|
43
|
-
F: __dxlog_file,
|
|
44
|
-
L: 38,
|
|
45
|
-
S: void 0,
|
|
46
|
-
A: [
|
|
47
|
-
"object",
|
|
48
|
-
""
|
|
49
|
-
]
|
|
50
|
-
});
|
|
51
|
-
const changedPaths = Object.keys(changed).filter((path) => changed[path]);
|
|
52
|
-
for (const path of changedPaths) {
|
|
53
|
-
const value = values[path];
|
|
54
|
-
setValue(object, path, value);
|
|
55
|
-
}
|
|
56
|
-
}, [
|
|
57
|
-
queriedObjects
|
|
58
|
-
]);
|
|
59
|
-
if (selectedObjects.length === 0) {
|
|
60
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
61
|
-
role: "none",
|
|
62
|
-
className: "plb-cardSpacingBlock pli-cardSpacingInline"
|
|
63
|
-
}, /* @__PURE__ */ React.createElement(Callout.Root, {
|
|
64
|
-
classNames: "is-full"
|
|
65
|
-
}, /* @__PURE__ */ React.createElement(Callout.Title, null, t("row details no selection label"))));
|
|
66
|
-
}
|
|
67
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
68
|
-
role: "none",
|
|
69
|
-
className: "bs-full is-full flex flex-col p-2 gap-1 overflow-y-auto"
|
|
70
|
-
}, schema && selectedObjects.map((object) => /* @__PURE__ */ React.createElement("div", {
|
|
71
|
-
key: object.id,
|
|
72
|
-
className: "border border-separator rounded"
|
|
73
|
-
}, /* @__PURE__ */ React.createElement(Form, {
|
|
74
|
-
autoSave: true,
|
|
75
|
-
schema,
|
|
76
|
-
values: object,
|
|
77
|
-
onSave: handleSave,
|
|
78
|
-
onQueryRefOptions: handleRefQueryLookup
|
|
79
|
-
}))));
|
|
80
|
-
} finally {
|
|
81
|
-
_effect.f();
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
var ObjectDetailsPanel_default = ObjectDetailsPanel;
|
|
85
|
-
export {
|
|
86
|
-
ObjectDetailsPanel_default as default
|
|
87
|
-
};
|
|
88
|
-
//# sourceMappingURL=ObjectDetailsPanel-SY6FYTYC.mjs.map
|