@dxos/plugin-space 0.8.4-main.406dc2a → 0.8.4-main.548089c
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-AX7KKXWP.mjs → CollectionArticle-ABGFK4VO.mjs} +8 -8
- package/dist/lib/browser/CollectionArticle-ABGFK4VO.mjs.map +7 -0
- package/dist/lib/browser/{ObjectDetailsPanel-MQBHG666.mjs → ObjectDetailsPanel-2BRUBHP6.mjs} +16 -20
- package/dist/lib/browser/ObjectDetailsPanel-2BRUBHP6.mjs.map +7 -0
- package/dist/lib/browser/{ObjectSettings-KNUZFCGS.mjs → ObjectSettings-5LLWCVEK.mjs} +33 -40
- package/dist/lib/browser/ObjectSettings-5LLWCVEK.mjs.map +7 -0
- package/dist/lib/browser/RecordArticle-G4BCSFFA.mjs +116 -0
- package/dist/lib/browser/RecordArticle-G4BCSFFA.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-builder-3R5GGT46.mjs → app-graph-builder-FFPJHWFB.mjs} +53 -45
- package/dist/lib/browser/app-graph-builder-FFPJHWFB.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-25Z5BG22.mjs → app-graph-serializer-QMWE2YE4.mjs} +10 -10
- package/dist/lib/browser/app-graph-serializer-QMWE2YE4.mjs.map +7 -0
- package/dist/lib/browser/{chunk-OV6D543A.mjs → chunk-I4W2BHA2.mjs} +36 -30
- package/dist/lib/browser/chunk-I4W2BHA2.mjs.map +7 -0
- package/dist/lib/browser/{chunk-RLI2IAHK.mjs → chunk-K5J7ZB5P.mjs} +2 -2
- package/dist/lib/browser/chunk-K5J7ZB5P.mjs.map +7 -0
- package/dist/lib/browser/{chunk-7XOTWRZ3.mjs → chunk-K6TOP4E6.mjs} +19 -18
- package/dist/lib/browser/chunk-K6TOP4E6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WS2PJDES.mjs → chunk-M2Z6D4ZI.mjs} +12 -11
- package/dist/lib/browser/chunk-M2Z6D4ZI.mjs.map +7 -0
- package/dist/lib/browser/{chunk-522KZGQF.mjs → chunk-MHXNG2X2.mjs} +487 -381
- package/dist/lib/browser/chunk-MHXNG2X2.mjs.map +7 -0
- package/dist/lib/browser/{chunk-PTGRQQ6J.mjs → chunk-OLBBSOVI.mjs} +23 -13
- package/dist/lib/browser/chunk-OLBBSOVI.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-EIXZABXD.mjs → chunk-WJXU4GKV.mjs} +2 -2
- package/dist/lib/browser/{identity-created-PW2BA46S.mjs → identity-created-NAXTPQXE.mjs} +3 -3
- package/dist/lib/browser/identity-created-NAXTPQXE.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +63 -46
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-ICGUSVH6.mjs → intent-resolver-WLFWCHDH.mjs} +53 -58
- package/dist/lib/browser/intent-resolver-WLFWCHDH.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-H56QN474.mjs → react-root-BPPTUFLV.mjs} +9 -8
- package/dist/lib/browser/react-root-BPPTUFLV.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-VOE2ILKO.mjs → react-surface-3KTOA5PM.mjs} +37 -40
- package/dist/lib/browser/react-surface-3KTOA5PM.mjs.map +7 -0
- package/dist/lib/browser/{schema-defs-7R7RKCAE.mjs → schema-defs-XCNOO2WT.mjs} +3 -3
- package/dist/lib/browser/{settings-OBFJ67ZG.mjs → settings-WKLGKUHQ.mjs} +3 -3
- package/dist/lib/browser/{spaces-ready-MFIVK6I6.mjs → spaces-ready-XVW7I5MQ.mjs} +12 -11
- package/dist/lib/browser/spaces-ready-XVW7I5MQ.mjs.map +7 -0
- package/dist/lib/browser/{state-LSPRFIRO.mjs → state-Q7YRE5KG.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{CollectionMain-EU57SRYK.mjs → CollectionArticle-G3V4QXPI.mjs} +8 -8
- package/dist/lib/node-esm/CollectionArticle-G3V4QXPI.mjs.map +7 -0
- package/dist/lib/node-esm/{ObjectDetailsPanel-NABA2S56.mjs → ObjectDetailsPanel-6PZQIQG3.mjs} +16 -20
- package/dist/lib/node-esm/ObjectDetailsPanel-6PZQIQG3.mjs.map +7 -0
- package/dist/lib/node-esm/{ObjectSettings-GXGTITF5.mjs → ObjectSettings-OQSBOH7K.mjs} +33 -40
- package/dist/lib/node-esm/ObjectSettings-OQSBOH7K.mjs.map +7 -0
- package/dist/lib/node-esm/RecordArticle-PBMLYY5K.mjs +117 -0
- package/dist/lib/node-esm/RecordArticle-PBMLYY5K.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-VGRMD5TP.mjs → app-graph-builder-3BTVV7LE.mjs} +53 -45
- package/dist/lib/node-esm/app-graph-builder-3BTVV7LE.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-U4GHXWRG.mjs → app-graph-serializer-BU7KO2G5.mjs} +10 -10
- package/dist/lib/node-esm/app-graph-serializer-BU7KO2G5.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-4F25JKVT.mjs → chunk-2PN7QNGV.mjs} +12 -11
- 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-PAAWJ4RE.mjs → chunk-FAWIRIP4.mjs} +19 -18
- package/dist/lib/node-esm/chunk-FAWIRIP4.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-SVFKU7EW.mjs → chunk-H4JILUJK.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-TNUWML33.mjs → chunk-HQMFTMJE.mjs} +36 -30
- package/dist/lib/node-esm/chunk-HQMFTMJE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-DG5YEEPZ.mjs → chunk-MI4A5XUX.mjs} +487 -381
- package/dist/lib/node-esm/chunk-MI4A5XUX.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HAKW2RFD.mjs → chunk-WC4VBFMA.mjs} +23 -13
- package/dist/lib/node-esm/chunk-WC4VBFMA.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-H5UPFRRH.mjs → chunk-Z7BB6HC2.mjs} +2 -2
- package/dist/lib/node-esm/chunk-Z7BB6HC2.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-MWTLGQRU.mjs → identity-created-OXLKCJE3.mjs} +3 -3
- package/dist/lib/node-esm/identity-created-OXLKCJE3.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +63 -46
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-KVB2A4YC.mjs → intent-resolver-QHH5SXLC.mjs} +53 -58
- package/dist/lib/node-esm/intent-resolver-QHH5SXLC.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-56PGW5PH.mjs → react-root-QRONKFKI.mjs} +9 -8
- package/dist/lib/node-esm/react-root-QRONKFKI.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-NYEQ23A4.mjs → react-surface-OZBWNTW2.mjs} +37 -40
- package/dist/lib/node-esm/react-surface-OZBWNTW2.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-defs-RYG5DSUE.mjs → schema-defs-5TDB7T5J.mjs} +3 -3
- package/dist/lib/node-esm/{settings-QGWWNMMZ.mjs → settings-RBB5633M.mjs} +3 -3
- package/dist/lib/node-esm/{spaces-ready-TC27M7MP.mjs → spaces-ready-J6RWPI2X.mjs} +12 -11
- package/dist/lib/node-esm/spaces-ready-J6RWPI2X.mjs.map +7 -0
- package/dist/lib/node-esm/{state-TCGOPLRO.mjs → state-362I5BMK.mjs} +3 -3
- package/dist/lib/node-esm/types/index.mjs +2 -2
- 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 +2 -2
- 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.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +91 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +2 -2
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +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 +2 -2
- package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -1
- package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -1
- 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 +1 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +91 -1
- package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.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} +92 -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} +91 -1
- 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 +91 -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 +92 -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 +9 -16
- package/dist/types/src/components/index.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/useActiveSpace.d.ts.map +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
- package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/types/src/translations.d.ts +91 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +2 -2
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +6 -4
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +53 -51
- package/src/SpacePlugin.ts +49 -25
- package/src/capabilities/app-graph-builder.ts +86 -60
- package/src/capabilities/app-graph-serializer.ts +5 -5
- package/src/capabilities/capabilities.ts +2 -2
- package/src/capabilities/identity-created.ts +2 -2
- package/src/capabilities/intent-resolver.ts +46 -41
- package/src/capabilities/react-root.tsx +2 -1
- package/src/capabilities/react-surface.tsx +35 -40
- package/src/capabilities/spaces-ready.ts +7 -4
- package/src/components/AwaitingObject.tsx +11 -13
- package/src/components/{CollectionMain.tsx → CollectionArticle.tsx} +5 -4
- package/src/components/CollectionSection.tsx +6 -4
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +6 -6
- package/src/components/CreateDialog/CreateObjectDialog.tsx +29 -22
- package/src/components/CreateDialog/CreateObjectPanel.tsx +2 -2
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +25 -7
- package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +21 -5
- package/src/components/JoinDialog/index.ts +5 -0
- package/src/components/{MembersContainer.stories.tsx → MembersContainer/MembersContainer.stories.tsx} +1 -1
- package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +11 -9
- package/src/components/MembersContainer/index.ts +5 -0
- package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +2 -3
- package/src/components/ObjectDetailsPanel/ObjectForm.tsx +9 -12
- package/src/components/{PopoverRenameObject.tsx → ObjectRenamePopover/ObjectRenamePopover.tsx} +5 -5
- package/src/components/ObjectRenamePopover/index.ts +5 -0
- package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +6 -6
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +34 -40
- package/src/components/ObjectSettings/ForeignKeys.tsx +1 -1
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +1 -1
- package/src/components/RecordArticle.stories.tsx +115 -0
- package/src/components/RecordArticle.tsx +114 -0
- package/src/components/SchemaContainer.tsx +21 -24
- package/src/components/SpacePluginSettings.tsx +8 -2
- package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +1 -1
- package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +14 -9
- package/src/components/SpacePresence/index.ts +5 -0
- package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +6 -5
- package/src/components/SpaceRenamePopover/index.ts +5 -0
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +33 -13
- package/src/components/SyncStatus/InlineSyncStatus.tsx +1 -1
- package/src/components/SyncStatus/SyncStatus.stories.tsx +3 -2
- package/src/components/SyncStatus/SyncStatus.tsx +45 -36
- package/src/components/ViewEditor.tsx +51 -17
- package/src/components/index.ts +6 -7
- 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/useActiveSpace.ts +2 -1
- package/src/hooks/useInputSurfaceLookup.tsx +7 -2
- package/src/hooks/useTypeOptions.ts +3 -3
- package/src/index.ts +1 -0
- package/src/meta.ts +5 -0
- package/src/translations.ts +22 -10
- package/src/types/types.ts +11 -10
- package/src/util.tsx +44 -36
- package/dist/lib/browser/CollectionMain-AX7KKXWP.mjs.map +0 -7
- package/dist/lib/browser/ObjectDetailsPanel-MQBHG666.mjs.map +0 -7
- package/dist/lib/browser/ObjectSettings-KNUZFCGS.mjs.map +0 -7
- package/dist/lib/browser/RecordMain-H4DVHICS.mjs +0 -116
- package/dist/lib/browser/RecordMain-H4DVHICS.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-3R5GGT46.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-25Z5BG22.mjs.map +0 -7
- package/dist/lib/browser/chunk-522KZGQF.mjs.map +0 -7
- package/dist/lib/browser/chunk-7XOTWRZ3.mjs.map +0 -7
- package/dist/lib/browser/chunk-IRKDREHY.mjs +0 -11
- package/dist/lib/browser/chunk-IRKDREHY.mjs.map +0 -7
- package/dist/lib/browser/chunk-OV6D543A.mjs.map +0 -7
- package/dist/lib/browser/chunk-PTGRQQ6J.mjs.map +0 -7
- package/dist/lib/browser/chunk-RLI2IAHK.mjs.map +0 -7
- package/dist/lib/browser/chunk-WS2PJDES.mjs.map +0 -7
- package/dist/lib/browser/identity-created-PW2BA46S.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-ICGUSVH6.mjs.map +0 -7
- package/dist/lib/browser/react-root-H56QN474.mjs.map +0 -7
- package/dist/lib/browser/react-surface-VOE2ILKO.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-MFIVK6I6.mjs.map +0 -7
- package/dist/lib/node-esm/CollectionMain-EU57SRYK.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectDetailsPanel-NABA2S56.mjs.map +0 -7
- package/dist/lib/node-esm/ObjectSettings-GXGTITF5.mjs.map +0 -7
- package/dist/lib/node-esm/RecordMain-MYFTAQ2U.mjs +0 -117
- package/dist/lib/node-esm/RecordMain-MYFTAQ2U.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-VGRMD5TP.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-U4GHXWRG.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4F25JKVT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-DG5YEEPZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-H5UPFRRH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HAKW2RFD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MWNATOXL.mjs +0 -13
- package/dist/lib/node-esm/chunk-MWNATOXL.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PAAWJ4RE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TNUWML33.mjs.map +0 -7
- package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-KVB2A4YC.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-56PGW5PH.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-NYEQ23A4.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-TC27M7MP.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/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/PersistenceStatus.tsx +0 -83
- package/src/components/RecordMain.tsx +0 -87
- /package/dist/lib/browser/{chunk-EIXZABXD.mjs.map → chunk-WJXU4GKV.mjs.map} +0 -0
- /package/dist/lib/browser/{schema-defs-7R7RKCAE.mjs.map → schema-defs-XCNOO2WT.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-OBFJ67ZG.mjs.map → settings-WKLGKUHQ.mjs.map} +0 -0
- /package/dist/lib/browser/{state-LSPRFIRO.mjs.map → state-Q7YRE5KG.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-SVFKU7EW.mjs.map → chunk-H4JILUJK.mjs.map} +0 -0
- /package/dist/lib/node-esm/{schema-defs-RYG5DSUE.mjs.map → schema-defs-5TDB7T5J.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-QGWWNMMZ.mjs.map → settings-RBB5633M.mjs.map} +0 -0
- /package/dist/lib/node-esm/{state-TCGOPLRO.mjs.map → state-362I5BMK.mjs.map} +0 -0
- /package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +0 -0
- /package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +0 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import * as Array from 'effect/Array';
|
|
6
|
+
import * as Effect from 'effect/Effect';
|
|
7
|
+
import * as EffectFunction from 'effect/Function';
|
|
8
|
+
import * as Match from 'effect/Match';
|
|
9
|
+
import * as Option from 'effect/Option';
|
|
10
|
+
import type * as Schema from 'effect/Schema';
|
|
11
|
+
import * as SchemaAST from 'effect/SchemaAST';
|
|
12
|
+
|
|
13
|
+
import { DXN, Filter, Query, type QueryAST } from '@dxos/echo';
|
|
14
|
+
import {
|
|
15
|
+
ReferenceAnnotationId,
|
|
16
|
+
type ReferenceAnnotationValue,
|
|
17
|
+
getTypeAnnotation,
|
|
18
|
+
unwrapOptional,
|
|
19
|
+
} from '@dxos/echo/internal';
|
|
20
|
+
import { log } from '@dxos/log';
|
|
21
|
+
import { type Client } from '@dxos/react-client';
|
|
22
|
+
import { type Space } from '@dxos/react-client/echo';
|
|
23
|
+
import { Person } from '@dxos/types';
|
|
24
|
+
|
|
25
|
+
// TODO(wittjosiah): Factor out and add tests.
|
|
26
|
+
// TODO(wittjosiah): Support arbitrary type imports.
|
|
27
|
+
export const evalQuery = (queryString: string): Query.Any => {
|
|
28
|
+
const globals = { Query, Filter, Person };
|
|
29
|
+
try {
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-implied-eval
|
|
31
|
+
return new Function(...Object.keys(globals), `return ${queryString}`)(...Object.values(globals));
|
|
32
|
+
} catch (err) {
|
|
33
|
+
log.catch(err);
|
|
34
|
+
return Query.select(Filter.nothing());
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export const resolveSchemaWithClientAndSpace = (client: Client, space: Space, query: QueryAST.Query) => {
|
|
39
|
+
const resolve = Effect.fn(function* (dxn: string) {
|
|
40
|
+
const typename = DXN.parse(dxn).asTypeDXN()?.type;
|
|
41
|
+
if (!typename) {
|
|
42
|
+
return Option.none();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const staticSchema = client.graph.schemaRegistry.getSchema(typename);
|
|
46
|
+
if (staticSchema) {
|
|
47
|
+
return Option.some(staticSchema);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const query = space.db.schemaRegistry.query({ typename });
|
|
51
|
+
const schemas = yield* Effect.promise(() => query.run());
|
|
52
|
+
return Array.head(schemas).pipe(Option.map((schema) => schema.snapshot));
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
return resolveSchema(query, resolve).pipe(
|
|
56
|
+
Effect.map((schema) => Option.getOrUndefined(schema)),
|
|
57
|
+
Effect.runPromise,
|
|
58
|
+
);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const resolveSchema = (
|
|
62
|
+
query: QueryAST.Query,
|
|
63
|
+
resolve: (dxn: string) => Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>>,
|
|
64
|
+
): Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>> => {
|
|
65
|
+
return Match.value(query).pipe(
|
|
66
|
+
Match.withReturnType<Effect.Effect<Option.Option<Schema.Schema.AnyNoContext>>>(),
|
|
67
|
+
// TODO(wittjosiah): Reconcile with filter match?
|
|
68
|
+
Match.when({ type: 'select' }, ({ filter }) =>
|
|
69
|
+
typenameFromFilter(filter).pipe(
|
|
70
|
+
Option.map((typename) => resolve(typename)),
|
|
71
|
+
Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),
|
|
72
|
+
),
|
|
73
|
+
),
|
|
74
|
+
Match.when({ type: 'filter' }, ({ filter }) =>
|
|
75
|
+
typenameFromFilter(filter).pipe(
|
|
76
|
+
Option.map((typename) => resolve(typename)),
|
|
77
|
+
Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),
|
|
78
|
+
),
|
|
79
|
+
),
|
|
80
|
+
Match.when({ type: 'reference-traversal' }, ({ anchor, property }) =>
|
|
81
|
+
resolveSchema(anchor, resolve).pipe(
|
|
82
|
+
Effect.map((base) =>
|
|
83
|
+
base.pipe(
|
|
84
|
+
Option.map((schema) => SchemaAST.getPropertySignatures(schema.ast)),
|
|
85
|
+
Option.flatMap((properties) => Array.findFirst(properties, (p) => p.name === property)),
|
|
86
|
+
Option.flatMap((property) =>
|
|
87
|
+
SchemaAST.getAnnotation<ReferenceAnnotationValue>(ReferenceAnnotationId)(unwrapOptional(property)),
|
|
88
|
+
),
|
|
89
|
+
Option.map((annotation) => annotation.typename),
|
|
90
|
+
),
|
|
91
|
+
),
|
|
92
|
+
Effect.flatMap(
|
|
93
|
+
Option.match({
|
|
94
|
+
onNone: () => Effect.succeed(Option.none()),
|
|
95
|
+
onSome: (typename) => resolve(DXN.fromTypename(typename).toString()),
|
|
96
|
+
}),
|
|
97
|
+
),
|
|
98
|
+
),
|
|
99
|
+
),
|
|
100
|
+
Match.when({ type: 'relation', filter: Match.defined }, ({ filter }) =>
|
|
101
|
+
typenameFromFilter(filter).pipe(
|
|
102
|
+
Option.map((typename) => resolve(typename)),
|
|
103
|
+
Option.getOrElse(() => Effect.succeed(Option.none<Schema.Schema.AnyNoContext>())),
|
|
104
|
+
),
|
|
105
|
+
),
|
|
106
|
+
Match.when({ type: 'relation-traversal' }, ({ anchor, direction }) =>
|
|
107
|
+
resolveSchema(anchor, resolve).pipe(
|
|
108
|
+
Effect.map((base) =>
|
|
109
|
+
base.pipe(
|
|
110
|
+
Option.map((schema) => getTypeAnnotation(schema)),
|
|
111
|
+
Option.flatMap((annotation) =>
|
|
112
|
+
Option.fromNullable(direction === 'source' ? annotation?.sourceSchema : annotation?.targetSchema),
|
|
113
|
+
),
|
|
114
|
+
),
|
|
115
|
+
),
|
|
116
|
+
Effect.flatMap(
|
|
117
|
+
Option.match({
|
|
118
|
+
onNone: () => Effect.succeed(Option.none()),
|
|
119
|
+
onSome: (typename) => resolve(typename),
|
|
120
|
+
}),
|
|
121
|
+
),
|
|
122
|
+
),
|
|
123
|
+
),
|
|
124
|
+
Match.when({ type: 'options' }, ({ query }) => resolveSchema(query, resolve)),
|
|
125
|
+
Match.orElse((_q) => {
|
|
126
|
+
// TODO(wittjosiah): Implement other cases.
|
|
127
|
+
return Effect.succeed(Option.none());
|
|
128
|
+
}),
|
|
129
|
+
);
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
const typenameFromFilter = (filter: QueryAST.Filter): Option.Option<string> =>
|
|
133
|
+
Match.value(filter).pipe(
|
|
134
|
+
Match.withReturnType<Option.Option<string>>(),
|
|
135
|
+
Match.when({ type: 'object' }, ({ typename }) => Option.fromNullable(typename)),
|
|
136
|
+
Match.when({ type: 'and' }, ({ filters }) =>
|
|
137
|
+
EffectFunction.pipe(filters, Array.map(typenameFromFilter), Array.findFirst(Option.isSome), Option.flatten),
|
|
138
|
+
),
|
|
139
|
+
Match.when({ type: 'or' }, ({ filters }) =>
|
|
140
|
+
EffectFunction.pipe(filters, Array.map(typenameFromFilter), Array.findFirst(Option.isSome), Option.flatten),
|
|
141
|
+
),
|
|
142
|
+
Match.orElse(() => Option.none()),
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
// TODO(wittjosiah): Currently assumes options is at the top-level of the ast.
|
|
146
|
+
export const getQueryTarget = (query: QueryAST.Query, space?: Space) => {
|
|
147
|
+
return Match.value(query).pipe(
|
|
148
|
+
Match.when({ type: 'options' }, ({ options }) => {
|
|
149
|
+
return Option.fromNullable(options.queues).pipe(
|
|
150
|
+
Option.flatMap((queues) => Array.head(queues)),
|
|
151
|
+
Option.flatMap((queueDxn) => Option.fromNullable(DXN.tryParse(queueDxn))),
|
|
152
|
+
Option.flatMap((queueDxn) => Option.fromNullable(space?.queues.get(queueDxn))),
|
|
153
|
+
Option.getOrElse(() => space),
|
|
154
|
+
);
|
|
155
|
+
}),
|
|
156
|
+
Match.orElse(() => space),
|
|
157
|
+
);
|
|
158
|
+
};
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { Capabilities, type PluginContext
|
|
5
|
+
import { Capabilities, type PluginContext } from '@dxos/app-framework';
|
|
6
|
+
import { useLayout } from '@dxos/app-framework/react';
|
|
6
7
|
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
7
8
|
import { parseId, useSpace } from '@dxos/react-client/echo';
|
|
8
9
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import type * as Schema from 'effect/Schema';
|
|
6
6
|
import React, { useCallback } from 'react';
|
|
7
7
|
|
|
8
|
-
import { Surface, isSurfaceAvailable, usePluginManager } from '@dxos/app-framework';
|
|
8
|
+
import { Surface, isSurfaceAvailable, usePluginManager } from '@dxos/app-framework/react';
|
|
9
9
|
import { type InputProps } from '@dxos/react-ui-form';
|
|
10
10
|
|
|
11
11
|
// TODO(ZaymonFC): Move this if you find yourself needing it elsewhere.
|
|
@@ -20,7 +20,12 @@ export const useInputSurfaceLookup = (baseData?: Record<string, any>) => {
|
|
|
20
20
|
return useCallback(
|
|
21
21
|
({ prop, schema, inputProps }: { prop: string; schema: Schema.Schema<any>; inputProps: InputProps }) => {
|
|
22
22
|
const composedData = { prop, schema, ...baseData };
|
|
23
|
-
if (
|
|
23
|
+
if (
|
|
24
|
+
!isSurfaceAvailable(pluginManager.context, {
|
|
25
|
+
role: 'form-input',
|
|
26
|
+
data: composedData,
|
|
27
|
+
})
|
|
28
|
+
) {
|
|
24
29
|
return undefined;
|
|
25
30
|
}
|
|
26
31
|
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
import { useMemo } from 'react';
|
|
6
6
|
|
|
7
|
-
import { useCapabilities } from '@dxos/app-framework';
|
|
7
|
+
import { useCapabilities } from '@dxos/app-framework/react';
|
|
8
8
|
import { Type } from '@dxos/echo';
|
|
9
9
|
import { ClientCapabilities } from '@dxos/plugin-client';
|
|
10
10
|
import { useClient } from '@dxos/react-client';
|
|
11
11
|
import { type Space } from '@dxos/react-client/echo';
|
|
12
12
|
import { useTranslation } from '@dxos/react-ui';
|
|
13
|
-
import {
|
|
13
|
+
import { Collection, type TypenameAnnotation, getTypenames } from '@dxos/schema';
|
|
14
14
|
|
|
15
15
|
import { SpaceCapabilities } from '../capabilities';
|
|
16
16
|
|
|
17
|
-
const OMIT = [
|
|
17
|
+
const OMIT = [Collection.Collection.typename, Type.getTypename(Collection.QueryCollection)];
|
|
18
18
|
|
|
19
19
|
export const useTypeOptions = ({ space, annotation }: { space?: Space; annotation: TypenameAnnotation[] }) => {
|
|
20
20
|
const { t } = useTranslation();
|
package/src/index.ts
CHANGED
package/src/meta.ts
CHANGED
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { type PluginMeta } from '@dxos/app-framework';
|
|
6
|
+
import { trim } from '@dxos/util';
|
|
6
7
|
|
|
7
8
|
export const meta: PluginMeta = {
|
|
8
9
|
id: 'dxos.org/plugin/space',
|
|
9
10
|
name: 'Spaces',
|
|
11
|
+
description: trim`
|
|
12
|
+
Core workspace container system for organizing and sharing collaborative environments.
|
|
13
|
+
Create, manage, and share spaces with granular access control and invitation management.
|
|
14
|
+
`,
|
|
10
15
|
icon: 'ph--planet--regular',
|
|
11
16
|
};
|
package/src/translations.ts
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
import { Type } from '@dxos/echo';
|
|
6
6
|
import { StoredSchema } from '@dxos/echo/internal';
|
|
7
7
|
import { type Resource } from '@dxos/react-ui';
|
|
8
|
-
import {
|
|
8
|
+
import { Collection, View } from '@dxos/schema';
|
|
9
|
+
import { Event, Organization, Person, Project, Task } from '@dxos/types';
|
|
9
10
|
|
|
10
11
|
import { meta } from './meta';
|
|
11
12
|
|
|
@@ -13,7 +14,7 @@ import { meta } from './meta';
|
|
|
13
14
|
export const translations = [
|
|
14
15
|
{
|
|
15
16
|
'en-US': {
|
|
16
|
-
[
|
|
17
|
+
[Collection.Collection.typename]: {
|
|
17
18
|
'typename label': 'Collection',
|
|
18
19
|
'typename label_zero': 'Collections',
|
|
19
20
|
'typename label_one': 'Collection',
|
|
@@ -22,7 +23,7 @@ export const translations = [
|
|
|
22
23
|
'rename object label': 'Rename collection',
|
|
23
24
|
'delete object label': 'Delete collection',
|
|
24
25
|
},
|
|
25
|
-
[Type.getTypename(
|
|
26
|
+
[Type.getTypename(Collection.QueryCollection)]: {
|
|
26
27
|
'typename label': 'Smart Collection',
|
|
27
28
|
'typename label_zero': 'Smart Collections',
|
|
28
29
|
'typename label_one': 'Smart Collection',
|
|
@@ -40,7 +41,7 @@ export const translations = [
|
|
|
40
41
|
'rename object label': 'Rename record type',
|
|
41
42
|
'delete object label': 'Delete record type',
|
|
42
43
|
},
|
|
43
|
-
[Type.getTypename(
|
|
44
|
+
[Type.getTypename(View.View)]: {
|
|
44
45
|
'typename label': 'View',
|
|
45
46
|
'typename label_zero': 'Views',
|
|
46
47
|
'typename label_one': 'View',
|
|
@@ -49,35 +50,35 @@ export const translations = [
|
|
|
49
50
|
'rename object label': 'Rename view',
|
|
50
51
|
'delete object label': 'Delete view',
|
|
51
52
|
},
|
|
52
|
-
[
|
|
53
|
+
[Event.Event.typename]: {
|
|
53
54
|
'typename label': 'Event',
|
|
54
55
|
'typename label_zero': 'Events',
|
|
55
56
|
'typename label_one': 'Event',
|
|
56
57
|
'typename label_other': 'Events',
|
|
57
58
|
'object name placeholder': 'New event',
|
|
58
59
|
},
|
|
59
|
-
[
|
|
60
|
+
[Organization.Organization.typename]: {
|
|
60
61
|
'typename label': 'Organization',
|
|
61
62
|
'typename label_zero': 'Organizations',
|
|
62
63
|
'typename label_one': 'Organization',
|
|
63
64
|
'typename label_other': 'Organizations',
|
|
64
65
|
'object name placeholder': 'New organization',
|
|
65
66
|
},
|
|
66
|
-
[
|
|
67
|
+
[Person.Person.typename]: {
|
|
67
68
|
'typename label': 'Person',
|
|
68
69
|
'typename label_zero': 'People',
|
|
69
70
|
'typename label_one': 'Person',
|
|
70
71
|
'typename label_other': 'People',
|
|
71
72
|
'object name placeholder': 'New person',
|
|
72
73
|
},
|
|
73
|
-
[
|
|
74
|
+
[Project.Project.typename]: {
|
|
74
75
|
'typename label': 'Project',
|
|
75
76
|
'typename label_zero': 'Projects',
|
|
76
77
|
'typename label_one': 'Project',
|
|
77
78
|
'typename label_other': 'Projects',
|
|
78
79
|
'object name placeholder': 'New project',
|
|
79
80
|
},
|
|
80
|
-
[
|
|
81
|
+
[Task.Task.typename]: {
|
|
81
82
|
'typename label': 'Task',
|
|
82
83
|
'typename label_zero': 'Tasks',
|
|
83
84
|
'typename label_one': 'Task',
|
|
@@ -195,7 +196,7 @@ export const translations = [
|
|
|
195
196
|
'foreign keys': 'Foreign Keys',
|
|
196
197
|
'add key': 'Add Key',
|
|
197
198
|
'open space settings label': 'Open settings',
|
|
198
|
-
'related objects label': 'Related',
|
|
199
|
+
'related objects label': 'Related Items',
|
|
199
200
|
|
|
200
201
|
'row details no selection label': 'No objects selected',
|
|
201
202
|
'companion selected objects label': 'Selected',
|
|
@@ -230,7 +231,18 @@ export const translations = [
|
|
|
230
231
|
'archive space description':
|
|
231
232
|
'Archiving a space will remove it from the sidebar and stop replicating updates, but will not delete the data. You can unarchive it by enabling archived spaces in the app settings.',
|
|
232
233
|
'archive space label': 'Archive',
|
|
234
|
+
'backup space label': 'Backup',
|
|
235
|
+
'backup space description':
|
|
236
|
+
'Download a backup of the space. Contains all data in the space in an unencrypted format.',
|
|
237
|
+
'download backup': 'Download backup',
|
|
233
238
|
'unarchive space label': 'Unarchive',
|
|
239
|
+
|
|
240
|
+
'sync edge connected label': 'Edge connected',
|
|
241
|
+
'sync edge disconnected label': 'Edge disconnected',
|
|
242
|
+
'sync no connection label': 'No connection to edge service',
|
|
243
|
+
'sync latency label': 'Latency',
|
|
244
|
+
'sync upload label': 'Upload',
|
|
245
|
+
'sync download label': 'Download',
|
|
234
246
|
},
|
|
235
247
|
},
|
|
236
248
|
},
|
package/src/types/types.ts
CHANGED
|
@@ -11,7 +11,7 @@ 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
17
|
import { meta } from '../meta';
|
|
@@ -258,7 +258,7 @@ export namespace SpaceAction {
|
|
|
258
258
|
|
|
259
259
|
export class DeleteField extends Schema.TaggedClass<DeleteField>()(`${SPACE_ACTION}/delete-field`, {
|
|
260
260
|
input: Schema.Struct({
|
|
261
|
-
view:
|
|
261
|
+
view: View.View,
|
|
262
262
|
fieldId: Schema.String,
|
|
263
263
|
// TODO(wittjosiah): Separate fields for undo data?
|
|
264
264
|
deletionData: Schema.optional(
|
|
@@ -276,7 +276,7 @@ export namespace SpaceAction {
|
|
|
276
276
|
|
|
277
277
|
export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
|
|
278
278
|
input: Schema.Struct({
|
|
279
|
-
target: Schema.Union(SpaceSchema,
|
|
279
|
+
target: Schema.Union(SpaceSchema, Collection.Collection),
|
|
280
280
|
views: Schema.optional(Schema.Boolean),
|
|
281
281
|
typename: Schema.optional(Schema.String),
|
|
282
282
|
initialFormValues: Schema.optional(Schema.Any),
|
|
@@ -290,7 +290,7 @@ export namespace SpaceAction {
|
|
|
290
290
|
export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
|
|
291
291
|
input: Schema.Struct({
|
|
292
292
|
object: ReactiveObjectSchema,
|
|
293
|
-
target: Schema.Union(SpaceSchema,
|
|
293
|
+
target: Schema.Union(SpaceSchema, Collection.Collection),
|
|
294
294
|
hidden: Schema.optional(Schema.Boolean),
|
|
295
295
|
}),
|
|
296
296
|
output: Schema.Struct({
|
|
@@ -318,7 +318,7 @@ export namespace SpaceAction {
|
|
|
318
318
|
|
|
319
319
|
export const DeletionData = Schema.Struct({
|
|
320
320
|
objects: Schema.Array(EchoObjectSchema),
|
|
321
|
-
parentCollection:
|
|
321
|
+
parentCollection: Collection.Collection,
|
|
322
322
|
indices: Schema.Array(Schema.Number),
|
|
323
323
|
nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
|
|
324
324
|
wasActive: Schema.Array(Schema.String),
|
|
@@ -328,8 +328,9 @@ export namespace SpaceAction {
|
|
|
328
328
|
|
|
329
329
|
export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
|
|
330
330
|
input: Schema.Struct({
|
|
331
|
-
|
|
332
|
-
|
|
331
|
+
// TODO(wittjosiah): Should be Schema.Union(Type.Obj, Type.Relation).
|
|
332
|
+
objects: Schema.Array(ReactiveObjectSchema),
|
|
333
|
+
target: Schema.optional(Collection.Collection),
|
|
333
334
|
deletionData: Schema.optional(DeletionData),
|
|
334
335
|
}),
|
|
335
336
|
output: Schema.Void,
|
|
@@ -346,7 +347,7 @@ export namespace SpaceAction {
|
|
|
346
347
|
export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
|
|
347
348
|
input: Schema.Struct({
|
|
348
349
|
object: EchoObjectSchema,
|
|
349
|
-
target: Schema.Union(SpaceSchema,
|
|
350
|
+
target: Schema.Union(SpaceSchema, Collection.Collection),
|
|
350
351
|
}),
|
|
351
352
|
output: Schema.Void,
|
|
352
353
|
}) {}
|
|
@@ -365,7 +366,7 @@ export namespace CollectionAction {
|
|
|
365
366
|
name: Schema.optional(Schema.String),
|
|
366
367
|
}),
|
|
367
368
|
output: Schema.Struct({
|
|
368
|
-
object:
|
|
369
|
+
object: Collection.Collection,
|
|
369
370
|
}),
|
|
370
371
|
}) {}
|
|
371
372
|
|
|
@@ -382,7 +383,7 @@ export namespace CollectionAction {
|
|
|
382
383
|
input: QueryCollectionForm,
|
|
383
384
|
output: Schema.Struct({
|
|
384
385
|
// TODO(wittjosiah): Remove cast.
|
|
385
|
-
object: EchoObjectSchema, //
|
|
386
|
+
object: EchoObjectSchema, // Collection.QueryCollection,
|
|
386
387
|
}),
|
|
387
388
|
},
|
|
388
389
|
) {}
|