@dxos/plugin-space 0.8.4-main.84f28bd → 0.8.4-main.ae835ea
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-HTKSZCRR.mjs +31 -0
- package/dist/lib/browser/CollectionMain-HTKSZCRR.mjs.map +7 -0
- package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs +145 -0
- package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs.map +7 -0
- package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs +146 -0
- package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs.map +7 -0
- package/dist/lib/browser/RecordMain-BCSXTSEB.mjs +99 -0
- package/dist/lib/browser/RecordMain-BCSXTSEB.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-QJFO4ANM.mjs +520 -0
- package/dist/lib/browser/app-graph-builder-QJFO4ANM.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-UKYMBX4O.mjs → app-graph-serializer-3R5NVV7U.mjs} +14 -14
- package/dist/lib/browser/app-graph-serializer-3R5NVV7U.mjs.map +7 -0
- package/dist/lib/browser/chunk-2NS3VPSY.mjs +20 -0
- package/dist/lib/browser/chunk-2NS3VPSY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-6VLSHG4A.mjs → chunk-4V4JNJ33.mjs} +80 -10
- package/dist/lib/browser/chunk-4V4JNJ33.mjs.map +7 -0
- package/dist/lib/browser/{chunk-GVTXQCIW.mjs → chunk-ENBBJSNE.mjs} +482 -448
- package/dist/lib/browser/chunk-ENBBJSNE.mjs.map +7 -0
- package/dist/lib/browser/chunk-HS2VD6DN.mjs +166 -0
- package/dist/lib/browser/chunk-HS2VD6DN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-WBSEOLEM.mjs → chunk-OWNBEI5J.mjs} +221 -57
- package/dist/lib/browser/chunk-OWNBEI5J.mjs.map +7 -0
- package/dist/lib/browser/{chunk-S6NY637J.mjs → chunk-SLDQWMQ2.mjs} +77 -12
- package/dist/lib/browser/chunk-SLDQWMQ2.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-23XJJV2N.mjs → identity-created-PW2BA46S.mjs} +4 -4
- package/dist/lib/browser/{identity-created-23XJJV2N.mjs.map → identity-created-PW2BA46S.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +109 -40
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-WK5WYFH3.mjs → intent-resolver-MBVOLXFQ.mjs} +194 -32
- package/dist/lib/browser/intent-resolver-MBVOLXFQ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-7S6FIC5G.mjs → react-root-NKEKCEYM.mjs} +11 -11
- package/dist/lib/browser/react-root-NKEKCEYM.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-6C3YJNDK.mjs → react-surface-PYSN2MBY.mjs} +78 -77
- package/dist/lib/browser/react-surface-PYSN2MBY.mjs.map +7 -0
- package/dist/lib/browser/{schema-defs-K3B3OAH4.mjs → schema-defs-DWYK7TYW.mjs} +5 -5
- package/dist/lib/browser/schema-defs-DWYK7TYW.mjs.map +7 -0
- package/dist/lib/browser/{settings-XNWYRWNM.mjs → settings-ZUCC3ZLB.mjs} +5 -5
- package/dist/lib/browser/{settings-XNWYRWNM.mjs.map → settings-ZUCC3ZLB.mjs.map} +1 -1
- package/dist/lib/browser/{spaces-ready-K7NSNBHM.mjs → spaces-ready-HTWWJHLR.mjs} +18 -16
- package/dist/lib/browser/spaces-ready-HTWWJHLR.mjs.map +7 -0
- package/dist/lib/browser/{state-522XTUR4.mjs → state-ISVAKMO7.mjs} +7 -7
- package/dist/lib/browser/state-ISVAKMO7.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/CollectionMain-OUHGG6OC.mjs +32 -0
- package/dist/lib/node-esm/CollectionMain-OUHGG6OC.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs +146 -0
- package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs.map +7 -0
- package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs +147 -0
- package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs.map +7 -0
- package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs +100 -0
- package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-builder-TO72W6MI.mjs → app-graph-builder-B23W62HY.mjs} +215 -58
- package/dist/lib/node-esm/app-graph-builder-B23W62HY.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-LA3IZDXJ.mjs → app-graph-serializer-3Z3EXEEF.mjs} +14 -14
- package/dist/lib/node-esm/app-graph-serializer-3Z3EXEEF.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-SXD6T2N4.mjs → chunk-G4PDWB7G.mjs} +80 -10
- package/dist/lib/node-esm/chunk-G4PDWB7G.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-OUBADVJE.mjs → chunk-KKPCCA5O.mjs} +482 -448
- package/dist/lib/node-esm/chunk-KKPCCA5O.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs +167 -0
- package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-HJJHLWKY.mjs → chunk-XEVIWD3O.mjs} +221 -57
- package/dist/lib/node-esm/chunk-XEVIWD3O.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2THX6G4C.mjs → chunk-YFQXFQGT.mjs} +77 -12
- package/dist/lib/node-esm/chunk-YFQXFQGT.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-ZLMFLI7G.mjs +21 -0
- package/dist/lib/node-esm/chunk-ZLMFLI7G.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs → identity-created-MWTLGQRU.mjs} +4 -4
- package/dist/lib/node-esm/{identity-created-IJQO6GCR.mjs.map → identity-created-MWTLGQRU.mjs.map} +3 -3
- package/dist/lib/node-esm/index.mjs +109 -40
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-HSR27ME4.mjs → intent-resolver-IWI47NTW.mjs} +194 -32
- package/dist/lib/node-esm/intent-resolver-IWI47NTW.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-HUK3ANLV.mjs → react-root-LX7SIG6M.mjs} +11 -11
- package/dist/lib/node-esm/react-root-LX7SIG6M.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-AGAWX7DD.mjs → react-surface-6SVGOZNJ.mjs} +78 -77
- package/dist/lib/node-esm/react-surface-6SVGOZNJ.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-defs-4MCDG4DV.mjs → schema-defs-EOG2UPJU.mjs} +5 -5
- package/dist/lib/node-esm/schema-defs-EOG2UPJU.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-YGKHGFPH.mjs → settings-ZDJNLFGW.mjs} +5 -5
- package/dist/lib/node-esm/{settings-YGKHGFPH.mjs.map → settings-ZDJNLFGW.mjs.map} +1 -1
- package/dist/lib/node-esm/{spaces-ready-UM2P3DCR.mjs → spaces-ready-VUGYPF4L.mjs} +18 -16
- package/dist/lib/node-esm/spaces-ready-VUGYPF4L.mjs.map +7 -0
- package/dist/lib/node-esm/{state-C4IOXPZP.mjs → state-QZ4Q6ZRL.mjs} +7 -7
- package/dist/lib/node-esm/state-QZ4Q6ZRL.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 +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-serializer.d.ts +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +12 -5
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/identity-created.d.ts +1 -1
- package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +11 -12
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-root.d.ts +2 -2
- package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
- package/dist/types/src/capabilities/settings.d.ts +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +1 -1
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
- package/dist/types/src/components/CollectionMain.d.ts +1 -0
- package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +5 -4
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1664 -4
- package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -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 +1 -1
- package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.d.ts +3 -2
- package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.stories.d.ts +1664 -5
- package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- 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/ObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
- 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 +1500 -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/PersistenceStatus.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts +2 -2
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
- package/dist/types/src/components/RecordMain.d.ts +8 -0
- package/dist/types/src/components/RecordMain.d.ts.map +1 -0
- package/dist/types/src/components/RecordMain.stories.d.ts +1667 -0
- package/dist/types/src/components/RecordMain.stories.d.ts.map +1 -0
- package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.stories.d.ts +1492 -4
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1497 -4
- package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1498 -5
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
- package/dist/types/src/components/ViewEditor.d.ts +8 -0
- package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +13 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/events.d.ts +1 -0
- package/dist/types/src/events.d.ts.map +1 -1
- 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/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1342 -11
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +128 -66
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +37 -7
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +63 -60
- package/src/SpacePlugin.ts +201 -139
- package/src/capabilities/app-graph-builder.ts +265 -47
- package/src/capabilities/app-graph-serializer.ts +7 -7
- package/src/capabilities/capabilities.ts +20 -9
- package/src/capabilities/identity-created.ts +1 -1
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/intent-resolver.ts +147 -21
- package/src/capabilities/react-root.tsx +4 -3
- package/src/capabilities/react-surface.tsx +79 -99
- package/src/capabilities/schema-defs.ts +3 -2
- package/src/capabilities/spaces-ready.ts +11 -8
- package/src/capabilities/state.ts +5 -4
- package/src/components/AwaitingObject.tsx +7 -9
- package/src/components/CollectionMain.tsx +4 -2
- package/src/components/CollectionSection.tsx +2 -2
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +11 -10
- package/src/components/CreateDialog/CreateObjectDialog.tsx +51 -36
- package/src/components/CreateDialog/CreateObjectPanel.tsx +22 -11
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +6 -5
- package/src/components/JoinDialog.tsx +7 -7
- package/src/components/MembersContainer.stories.tsx +36 -10
- package/src/components/MembersContainer.tsx +18 -17
- package/src/components/MenuFooter.tsx +4 -5
- package/src/components/ObjectDetailsPanel/ObjectDetailsPanel.tsx +52 -0
- package/src/components/ObjectDetailsPanel/ObjectForm.tsx +75 -0
- package/src/components/ObjectDetailsPanel/index.ts +7 -0
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +4 -3
- package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +86 -26
- package/src/components/ObjectSettings/ForeignKeys.tsx +3 -3
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +3 -2
- package/src/components/ObjectSettings/index.ts +3 -1
- package/src/components/PersistenceStatus.tsx +7 -8
- package/src/components/PopoverRenameObject.tsx +10 -16
- package/src/components/PopoverRenameSpace.tsx +4 -4
- package/src/components/RecordMain.stories.tsx +116 -0
- package/src/components/RecordMain.tsx +83 -0
- package/src/components/SchemaContainer.tsx +5 -5
- package/src/components/SpacePluginSettings.tsx +8 -9
- package/src/components/SpacePresence.stories.tsx +23 -22
- package/src/components/SpacePresence.tsx +10 -10
- package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +17 -9
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +19 -18
- package/src/components/SyncStatus/InlineSyncStatus.tsx +7 -7
- package/src/components/SyncStatus/SyncStatus.stories.tsx +9 -9
- package/src/components/SyncStatus/SyncStatus.tsx +98 -7
- package/src/components/SyncStatus/status.ts +4 -4
- package/src/components/ViewEditor.tsx +58 -0
- package/src/components/index.ts +8 -2
- package/src/events.ts +7 -6
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useActiveSpace.ts +2 -2
- package/src/hooks/useInputSurfaceLookup.tsx +2 -2
- package/src/hooks/usePath.ts +1 -1
- package/src/hooks/useTypeOptions.ts +59 -0
- package/src/meta.ts +6 -3
- package/src/translations.ts +77 -5
- package/src/types/types.ts +78 -16
- package/src/util.tsx +215 -57
- package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs +0 -363
- package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs.map +0 -7
- package/dist/lib/browser/app-graph-serializer-UKYMBX4O.mjs.map +0 -7
- package/dist/lib/browser/chunk-6VLSHG4A.mjs.map +0 -7
- package/dist/lib/browser/chunk-C7KGJTAL.mjs +0 -18
- package/dist/lib/browser/chunk-C7KGJTAL.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-GVTXQCIW.mjs.map +0 -7
- package/dist/lib/browser/chunk-S6NY637J.mjs.map +0 -7
- package/dist/lib/browser/chunk-VLBRSGJ2.mjs +0 -94
- package/dist/lib/browser/chunk-VLBRSGJ2.mjs.map +0 -7
- package/dist/lib/browser/chunk-WBSEOLEM.mjs.map +0 -7
- package/dist/lib/browser/chunk-XXIPJLJF.mjs +0 -19
- package/dist/lib/browser/chunk-XXIPJLJF.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs.map +0 -7
- package/dist/lib/browser/react-root-7S6FIC5G.mjs.map +0 -7
- package/dist/lib/browser/react-surface-6C3YJNDK.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-K3B3OAH4.mjs.map +0 -7
- package/dist/lib/browser/schema-tools-BNP4JTD7.mjs +0 -124
- package/dist/lib/browser/schema-tools-BNP4JTD7.mjs.map +0 -7
- package/dist/lib/browser/spaces-ready-K7NSNBHM.mjs.map +0 -7
- package/dist/lib/browser/state-522XTUR4.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-TO72W6MI.mjs.map +0 -7
- package/dist/lib/node-esm/app-graph-serializer-LA3IZDXJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2THX6G4C.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-72QMMRKC.mjs +0 -19
- package/dist/lib/node-esm/chunk-72QMMRKC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AT7LGFER.mjs +0 -20
- package/dist/lib/node-esm/chunk-AT7LGFER.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HJJHLWKY.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-OUBADVJE.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SSLBYZEY.mjs +0 -96
- package/dist/lib/node-esm/chunk-SSLBYZEY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SXD6T2N4.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs.map +0 -7
- package/dist/lib/node-esm/react-root-HUK3ANLV.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-4MCDG4DV.mjs.map +0 -7
- package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs +0 -126
- package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs.map +0 -7
- package/dist/lib/node-esm/spaces-ready-UM2P3DCR.mjs.map +0 -7
- package/dist/lib/node-esm/state-C4IOXPZP.mjs.map +0 -7
- package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
- package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
- package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
- package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
- package/src/capabilities/schema-tool.test.ts +0 -44
- package/src/capabilities/schema-tools.ts +0 -125
package/src/util.tsx
CHANGED
|
@@ -3,40 +3,40 @@
|
|
|
3
3
|
//
|
|
4
4
|
|
|
5
5
|
import { Rx } from '@effect-rx/rx-react';
|
|
6
|
-
import
|
|
6
|
+
import * as Function from 'effect/Function';
|
|
7
7
|
|
|
8
|
-
import {
|
|
8
|
+
import { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';
|
|
9
9
|
import { Obj, Ref, Type } from '@dxos/echo';
|
|
10
|
-
import { 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 {
|
|
14
14
|
ACTION_GROUP_TYPE,
|
|
15
15
|
ACTION_TYPE,
|
|
16
|
-
type ReadableGraph,
|
|
17
16
|
type ActionData,
|
|
18
17
|
type InvokeParams,
|
|
19
18
|
type Node,
|
|
20
19
|
type NodeArg,
|
|
20
|
+
type ReadableGraph,
|
|
21
21
|
isGraphNode,
|
|
22
22
|
} from '@dxos/plugin-graph';
|
|
23
|
-
import {
|
|
23
|
+
import { type QueryResult, type Space, SpaceState, fullyQualifiedId, 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 { DataType } from '@dxos/schema';
|
|
26
|
+
import { DataType, getTypenameFromQuery } from '@dxos/schema';
|
|
27
27
|
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
28
|
+
import { meta } from './meta';
|
|
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
37
|
* Convert a query result to an Rx value of the objects.
|
|
38
38
|
*/
|
|
39
|
-
export const rxFromQuery = <T extends
|
|
39
|
+
export const rxFromQuery = <T extends AnyEchoObject>(query: QueryResult<T>): Rx.Rx<T[]> => {
|
|
40
40
|
return Rx.make((get) => {
|
|
41
41
|
const unsubscribe = query.subscribe((result) => {
|
|
42
42
|
get.setSelf(result.objects);
|
|
@@ -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 = ({
|
|
@@ -145,16 +145,17 @@ const getQueryCollectionNodePartials = ({
|
|
|
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) => {
|
|
@@ -166,6 +167,32 @@ const getQueryCollectionNodePartials = ({
|
|
|
166
167
|
};
|
|
167
168
|
};
|
|
168
169
|
|
|
170
|
+
const getSchemaGraphNodePartials = () => {
|
|
171
|
+
return {
|
|
172
|
+
role: 'branch',
|
|
173
|
+
canDrop: () => false,
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
const getViewGraphNodePartials = ({
|
|
178
|
+
view,
|
|
179
|
+
resolve,
|
|
180
|
+
}: {
|
|
181
|
+
view: DataType.View;
|
|
182
|
+
resolve: (typename: string) => Record<string, any>;
|
|
183
|
+
}) => {
|
|
184
|
+
const presentation = view.presentation.target;
|
|
185
|
+
const typename = presentation ? Obj.getTypename(presentation) : undefined;
|
|
186
|
+
const metadata = typename ? resolve(typename) : {};
|
|
187
|
+
|
|
188
|
+
return {
|
|
189
|
+
label: view.name || ['object name placeholder', { ns: typename, default: 'New view' }],
|
|
190
|
+
icon: metadata.icon,
|
|
191
|
+
iconHue: metadata.iconHue,
|
|
192
|
+
canDrop: () => false,
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
|
|
169
196
|
const checkPendingMigration = (space: Space) => {
|
|
170
197
|
return (
|
|
171
198
|
space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||
|
|
@@ -210,6 +237,7 @@ export const constructSpaceNode = ({
|
|
|
210
237
|
space.state.get() === SpaceState.SPACE_READY && space.properties.icon
|
|
211
238
|
? `ph--${space.properties.icon}--regular`
|
|
212
239
|
: undefined,
|
|
240
|
+
iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
|
|
213
241
|
disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
|
|
214
242
|
testId: 'spacePlugin.space',
|
|
215
243
|
canDrop: (source: TreeData) => {
|
|
@@ -220,40 +248,40 @@ export const constructSpaceNode = ({
|
|
|
220
248
|
nodes: [
|
|
221
249
|
{
|
|
222
250
|
id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
223
|
-
type: `${
|
|
251
|
+
type: `${meta.id}/settings`,
|
|
224
252
|
data: null,
|
|
225
253
|
properties: {
|
|
226
|
-
label: ['settings panel label', { ns:
|
|
254
|
+
label: ['settings panel label', { ns: meta.id }],
|
|
227
255
|
icon: 'ph--faders--regular',
|
|
228
256
|
disposition: 'alternate-tree',
|
|
229
257
|
},
|
|
230
258
|
nodes: [
|
|
231
259
|
{
|
|
232
260
|
id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
233
|
-
type: `${
|
|
234
|
-
data: `${
|
|
261
|
+
type: `${meta.id}/properties`,
|
|
262
|
+
data: `${meta.id}/properties`,
|
|
235
263
|
properties: {
|
|
236
|
-
label: ['space settings properties label', { ns:
|
|
264
|
+
label: ['space settings properties label', { ns: meta.id }],
|
|
237
265
|
icon: 'ph--sliders--regular',
|
|
238
266
|
position: 'hoist',
|
|
239
267
|
},
|
|
240
268
|
},
|
|
241
269
|
{
|
|
242
270
|
id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
243
|
-
type: `${
|
|
244
|
-
data: `${
|
|
271
|
+
type: `${meta.id}/members`,
|
|
272
|
+
data: `${meta.id}/members`,
|
|
245
273
|
properties: {
|
|
246
|
-
label: ['members panel label', { ns:
|
|
274
|
+
label: ['members panel label', { ns: meta.id }],
|
|
247
275
|
icon: 'ph--users--regular',
|
|
248
276
|
position: 'hoist',
|
|
249
277
|
},
|
|
250
278
|
},
|
|
251
279
|
{
|
|
252
280
|
id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,
|
|
253
|
-
type: `${
|
|
254
|
-
data: `${
|
|
281
|
+
type: `${meta.id}/schema`,
|
|
282
|
+
data: `${meta.id}/schema`,
|
|
255
283
|
properties: {
|
|
256
|
-
label: ['space settings schema label', { ns:
|
|
284
|
+
label: ['space settings schema label', { ns: meta.id }],
|
|
257
285
|
icon: 'ph--shapes--regular',
|
|
258
286
|
},
|
|
259
287
|
},
|
|
@@ -287,7 +315,7 @@ export const constructSpaceActions = ({
|
|
|
287
315
|
await dispatch(createIntent(SpaceAction.Migrate, { space }));
|
|
288
316
|
},
|
|
289
317
|
properties: {
|
|
290
|
-
label: ['migrate space label', { ns:
|
|
318
|
+
label: ['migrate space label', { ns: meta.id }],
|
|
291
319
|
icon: 'ph--database--regular',
|
|
292
320
|
disposition: 'list-item-primary',
|
|
293
321
|
disabled: migrating || Migrations.running(space),
|
|
@@ -304,7 +332,7 @@ export const constructSpaceActions = ({
|
|
|
304
332
|
await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));
|
|
305
333
|
},
|
|
306
334
|
properties: {
|
|
307
|
-
label: ['create object in space label', { ns:
|
|
335
|
+
label: ['create object in space label', { ns: meta.id }],
|
|
308
336
|
icon: 'ph--plus--regular',
|
|
309
337
|
disposition: 'item',
|
|
310
338
|
testId: 'spacePlugin.createObject',
|
|
@@ -317,7 +345,7 @@ export const constructSpaceActions = ({
|
|
|
317
345
|
await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));
|
|
318
346
|
},
|
|
319
347
|
properties: {
|
|
320
|
-
label: ['rename space label', { ns:
|
|
348
|
+
label: ['rename space label', { ns: meta.id }],
|
|
321
349
|
icon: 'ph--pencil-simple-line--regular',
|
|
322
350
|
keyBinding: {
|
|
323
351
|
macos: 'shift+F6',
|
|
@@ -331,34 +359,137 @@ export const constructSpaceActions = ({
|
|
|
331
359
|
return actions;
|
|
332
360
|
};
|
|
333
361
|
|
|
362
|
+
export const createStaticSchemaNode = ({ schema, space }: { schema: Type.Obj.Any; space: Space }) => {
|
|
363
|
+
return {
|
|
364
|
+
id: `${space.id}/${Type.getTypename(schema)}`,
|
|
365
|
+
type: `${meta.id}/static-schema`,
|
|
366
|
+
data: schema,
|
|
367
|
+
properties: {
|
|
368
|
+
label: ['typename label', { ns: Type.getTypename(schema), default: Type.getTypename(schema) }],
|
|
369
|
+
icon: 'ph--database--regular',
|
|
370
|
+
iconHue: 'green',
|
|
371
|
+
role: 'branch',
|
|
372
|
+
selectable: false,
|
|
373
|
+
canDrop: () => false,
|
|
374
|
+
space,
|
|
375
|
+
},
|
|
376
|
+
};
|
|
377
|
+
};
|
|
378
|
+
|
|
379
|
+
export const createStaticSchemaActions = ({
|
|
380
|
+
schema,
|
|
381
|
+
space,
|
|
382
|
+
dispatch,
|
|
383
|
+
deletable,
|
|
384
|
+
}: {
|
|
385
|
+
schema: Type.Obj.Any;
|
|
386
|
+
space: Space;
|
|
387
|
+
dispatch: PromiseIntentDispatcher;
|
|
388
|
+
deletable: boolean;
|
|
389
|
+
}) => {
|
|
390
|
+
const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;
|
|
391
|
+
|
|
392
|
+
const actions: NodeArg<ActionData>[] = [
|
|
393
|
+
{
|
|
394
|
+
id: getId(SpaceAction.AddObject._tag),
|
|
395
|
+
type: ACTION_TYPE,
|
|
396
|
+
data: async () => {
|
|
397
|
+
await dispatch(
|
|
398
|
+
createIntent(SpaceAction.OpenCreateObject, {
|
|
399
|
+
target: space,
|
|
400
|
+
views: true,
|
|
401
|
+
initialFormValues: { typename: Type.getTypename(schema) },
|
|
402
|
+
}),
|
|
403
|
+
);
|
|
404
|
+
},
|
|
405
|
+
properties: {
|
|
406
|
+
label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],
|
|
407
|
+
icon: 'ph--plus--regular',
|
|
408
|
+
disposition: 'list-item-primary',
|
|
409
|
+
testId: 'spacePlugin.addViewToSchema',
|
|
410
|
+
},
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
id: getId(SpaceAction.RenameObject._tag),
|
|
414
|
+
type: ACTION_TYPE,
|
|
415
|
+
data: async (params?: InvokeParams) => {
|
|
416
|
+
throw new Error('Not implemented');
|
|
417
|
+
},
|
|
418
|
+
properties: {
|
|
419
|
+
label: ['rename object label', { ns: Type.getTypename(DataType.StoredSchema) }],
|
|
420
|
+
icon: 'ph--pencil-simple-line--regular',
|
|
421
|
+
disabled: true,
|
|
422
|
+
disposition: 'list-item',
|
|
423
|
+
testId: 'spacePlugin.renameObject',
|
|
424
|
+
},
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
id: getId(SpaceAction.RemoveObjects._tag),
|
|
428
|
+
type: ACTION_TYPE,
|
|
429
|
+
data: async () => {
|
|
430
|
+
const index = space.properties.staticRecords.findIndex(
|
|
431
|
+
(typename: string) => typename === Type.getTypename(schema),
|
|
432
|
+
);
|
|
433
|
+
if (index > -1) {
|
|
434
|
+
space.properties.staticRecords.splice(index, 1);
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
properties: {
|
|
438
|
+
label: ['delete object label', { ns: Type.getTypename(DataType.StoredSchema) }],
|
|
439
|
+
icon: 'ph--trash--regular',
|
|
440
|
+
disposition: 'list-item',
|
|
441
|
+
disabled: !deletable,
|
|
442
|
+
testId: 'spacePlugin.deleteObject',
|
|
443
|
+
},
|
|
444
|
+
},
|
|
445
|
+
];
|
|
446
|
+
|
|
447
|
+
return actions;
|
|
448
|
+
};
|
|
449
|
+
|
|
334
450
|
export const createObjectNode = ({
|
|
335
451
|
space,
|
|
336
452
|
object,
|
|
453
|
+
disposition,
|
|
337
454
|
droppable = true,
|
|
338
455
|
navigable = false,
|
|
339
456
|
resolve,
|
|
340
457
|
}: {
|
|
341
458
|
space: Space;
|
|
342
459
|
object: Obj.Any;
|
|
460
|
+
disposition?: string;
|
|
343
461
|
droppable?: boolean;
|
|
344
462
|
navigable?: boolean;
|
|
345
463
|
resolve: (typename: string) => Record<string, any>;
|
|
346
464
|
}) => {
|
|
347
465
|
const type = Obj.getTypename(object);
|
|
348
466
|
if (!type) {
|
|
349
|
-
return
|
|
467
|
+
return null;
|
|
350
468
|
}
|
|
351
469
|
|
|
352
470
|
const metadata = resolve(type);
|
|
353
|
-
if (Object.keys(metadata).length === 0) {
|
|
354
|
-
return undefined;
|
|
355
|
-
}
|
|
356
|
-
|
|
357
471
|
const partials = Obj.instanceOf(DataType.Collection, object)
|
|
358
472
|
? getCollectionGraphNodePartials({ collection: object, space, resolve })
|
|
359
473
|
: Obj.instanceOf(DataType.QueryCollection, object)
|
|
360
474
|
? getQueryCollectionNodePartials({ collection: object, space, resolve })
|
|
361
|
-
:
|
|
475
|
+
: Obj.instanceOf(DataType.StoredSchema, object)
|
|
476
|
+
? getSchemaGraphNodePartials()
|
|
477
|
+
: Obj.instanceOf(DataType.View, object)
|
|
478
|
+
? getViewGraphNodePartials({ view: object, resolve })
|
|
479
|
+
: metadata.graphProps;
|
|
480
|
+
|
|
481
|
+
// TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.
|
|
482
|
+
// e.g., create new collection with no name and rename it.
|
|
483
|
+
const label = (object as any).name ||
|
|
484
|
+
Obj.getLabel(object) ||
|
|
485
|
+
// TODO(wittjosiah): Remove metadata labels.
|
|
486
|
+
metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];
|
|
487
|
+
|
|
488
|
+
const selectable =
|
|
489
|
+
(!Obj.instanceOf(DataType.StoredSchema, object) &&
|
|
490
|
+
!Obj.instanceOf(DataType.QueryCollection, object) &&
|
|
491
|
+
!Obj.instanceOf(DataType.Collection, object)) ||
|
|
492
|
+
(navigable && Obj.instanceOf(DataType.Collection, object));
|
|
362
493
|
|
|
363
494
|
return {
|
|
364
495
|
id: fullyQualifiedId(object),
|
|
@@ -366,13 +497,14 @@ export const createObjectNode = ({
|
|
|
366
497
|
cacheable: ['label', 'icon', 'role'],
|
|
367
498
|
data: object,
|
|
368
499
|
properties: {
|
|
369
|
-
|
|
370
|
-
label: metadata.label?.(object) ||
|
|
371
|
-
(object as any).name || ['object name placeholder', { ns: type, default: 'New object' }],
|
|
500
|
+
label,
|
|
372
501
|
icon: metadata.icon ?? 'ph--placeholder--regular',
|
|
502
|
+
iconHue: metadata.iconHue,
|
|
503
|
+
disposition,
|
|
373
504
|
testId: 'spacePlugin.object',
|
|
374
505
|
persistenceClass: 'echo',
|
|
375
506
|
persistenceKey: space?.id,
|
|
507
|
+
selectable,
|
|
376
508
|
canDrop: (source: TreeData) => {
|
|
377
509
|
return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
|
|
378
510
|
},
|
|
@@ -386,21 +518,26 @@ export const constructObjectActions = ({
|
|
|
386
518
|
graph,
|
|
387
519
|
dispatch,
|
|
388
520
|
objectForms,
|
|
521
|
+
deletable = true,
|
|
389
522
|
navigable = false,
|
|
390
523
|
}: {
|
|
391
524
|
object: Obj.Any;
|
|
392
525
|
graph: ReadableGraph;
|
|
393
526
|
dispatch: PromiseIntentDispatcher;
|
|
394
527
|
objectForms: ObjectForm<any>[];
|
|
528
|
+
deletable?: boolean;
|
|
395
529
|
navigable?: boolean;
|
|
396
530
|
}) => {
|
|
397
531
|
const space = getSpace(object);
|
|
398
532
|
invariant(space, 'Space not found');
|
|
533
|
+
const typename = Obj.getTypename(object);
|
|
534
|
+
invariant(typename, 'Object has no typename');
|
|
535
|
+
|
|
399
536
|
const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;
|
|
400
537
|
|
|
401
538
|
const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : undefined;
|
|
402
539
|
const matchingObjectForm = queryCollection
|
|
403
|
-
? objectForms.find((form) => Type.getTypename(form.objectSchema) === queryCollection.query
|
|
540
|
+
? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query))
|
|
404
541
|
: undefined;
|
|
405
542
|
|
|
406
543
|
const actions: NodeArg<ActionData>[] = [
|
|
@@ -413,7 +550,7 @@ export const constructObjectActions = ({
|
|
|
413
550
|
await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));
|
|
414
551
|
},
|
|
415
552
|
properties: {
|
|
416
|
-
label: ['create object in collection label', { ns:
|
|
553
|
+
label: ['create object in collection label', { ns: meta.id }],
|
|
417
554
|
icon: 'ph--plus--regular',
|
|
418
555
|
disposition: 'list-item-primary',
|
|
419
556
|
testId: 'spacePlugin.createObject',
|
|
@@ -421,6 +558,29 @@ export const constructObjectActions = ({
|
|
|
421
558
|
},
|
|
422
559
|
]
|
|
423
560
|
: []),
|
|
561
|
+
...(Obj.instanceOf(DataType.StoredSchema, object)
|
|
562
|
+
? [
|
|
563
|
+
{
|
|
564
|
+
id: getId(SpaceAction.AddObject._tag),
|
|
565
|
+
type: ACTION_TYPE,
|
|
566
|
+
data: async () => {
|
|
567
|
+
await dispatch(
|
|
568
|
+
createIntent(SpaceAction.OpenCreateObject, {
|
|
569
|
+
target: space,
|
|
570
|
+
views: true,
|
|
571
|
+
initialFormValues: { typename: object.typename },
|
|
572
|
+
}),
|
|
573
|
+
);
|
|
574
|
+
},
|
|
575
|
+
properties: {
|
|
576
|
+
label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],
|
|
577
|
+
icon: 'ph--plus--regular',
|
|
578
|
+
disposition: 'list-item-primary',
|
|
579
|
+
testId: 'spacePlugin.addViewToSchema',
|
|
580
|
+
},
|
|
581
|
+
},
|
|
582
|
+
]
|
|
583
|
+
: []),
|
|
424
584
|
...(matchingObjectForm
|
|
425
585
|
? [
|
|
426
586
|
{
|
|
@@ -431,12 +591,12 @@ export const constructObjectActions = ({
|
|
|
431
591
|
await dispatch(
|
|
432
592
|
createIntent(SpaceAction.OpenCreateObject, {
|
|
433
593
|
target: space,
|
|
434
|
-
typename: queryCollection
|
|
594
|
+
typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : undefined,
|
|
435
595
|
}),
|
|
436
596
|
);
|
|
437
597
|
} else {
|
|
438
598
|
await dispatch(
|
|
439
|
-
pipe(
|
|
599
|
+
Function.pipe(
|
|
440
600
|
matchingObjectForm.getIntent({}, { space }),
|
|
441
601
|
chain(SpaceAction.AddObject, { target: space, hidden: true }),
|
|
442
602
|
chain(LayoutAction.Open, { part: 'main' }),
|
|
@@ -445,7 +605,7 @@ export const constructObjectActions = ({
|
|
|
445
605
|
}
|
|
446
606
|
},
|
|
447
607
|
properties: {
|
|
448
|
-
label: ['create object in smart collection label', { ns:
|
|
608
|
+
label: ['create object in smart collection label', { ns: meta.id }],
|
|
449
609
|
icon: 'ph--plus--regular',
|
|
450
610
|
disposition: 'list-item-primary',
|
|
451
611
|
testId: 'spacePlugin.createObject',
|
|
@@ -460,10 +620,7 @@ export const constructObjectActions = ({
|
|
|
460
620
|
await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));
|
|
461
621
|
},
|
|
462
622
|
properties: {
|
|
463
|
-
label: [
|
|
464
|
-
Obj.instanceOf(DataType.Collection, object) ? 'rename collection label' : 'rename object label',
|
|
465
|
-
{ ns: SPACE_PLUGIN },
|
|
466
|
-
],
|
|
623
|
+
label: ['rename object label', { ns: typename }],
|
|
467
624
|
icon: 'ph--pencil-simple-line--regular',
|
|
468
625
|
disposition: 'list-item',
|
|
469
626
|
// TODO(wittjosiah): Not working.
|
|
@@ -483,18 +640,19 @@ export const constructObjectActions = ({
|
|
|
483
640
|
await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));
|
|
484
641
|
},
|
|
485
642
|
properties: {
|
|
486
|
-
label: [
|
|
487
|
-
Obj.instanceOf(DataType.Collection, object) ? 'delete collection label' : 'delete object label',
|
|
488
|
-
{ ns: SPACE_PLUGIN },
|
|
489
|
-
],
|
|
643
|
+
label: ['delete object label', { ns: typename }],
|
|
490
644
|
icon: 'ph--trash--regular',
|
|
491
645
|
disposition: 'list-item',
|
|
646
|
+
disabled: !deletable,
|
|
492
647
|
// TODO(wittjosiah): This is a browser shortcut.
|
|
493
648
|
// keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',
|
|
494
649
|
testId: 'spacePlugin.deleteObject',
|
|
495
650
|
},
|
|
496
651
|
},
|
|
497
|
-
...(navigable ||
|
|
652
|
+
...(navigable ||
|
|
653
|
+
(!Obj.instanceOf(DataType.Collection, object) &&
|
|
654
|
+
!Obj.instanceOf(DataType.QueryCollection, object) &&
|
|
655
|
+
!Obj.instanceOf(DataType.StoredSchema, object))
|
|
498
656
|
? [
|
|
499
657
|
{
|
|
500
658
|
id: getId('copy-link'),
|
|
@@ -504,7 +662,7 @@ export const constructObjectActions = ({
|
|
|
504
662
|
await navigator.clipboard.writeText(url);
|
|
505
663
|
},
|
|
506
664
|
properties: {
|
|
507
|
-
label: ['copy link label', { ns:
|
|
665
|
+
label: ['copy link label', { ns: meta.id }],
|
|
508
666
|
icon: 'ph--link--regular',
|
|
509
667
|
disposition: 'list-item',
|
|
510
668
|
testId: 'spacePlugin.copyLink',
|
|
@@ -520,7 +678,7 @@ export const constructObjectActions = ({
|
|
|
520
678
|
await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));
|
|
521
679
|
},
|
|
522
680
|
properties: {
|
|
523
|
-
label: ['expose object label', { ns:
|
|
681
|
+
label: ['expose object label', { ns: meta.id }],
|
|
524
682
|
icon: 'ph--eye--regular',
|
|
525
683
|
disposition: 'heading-list-item',
|
|
526
684
|
testId: 'spacePlugin.exposeObject',
|
|
@@ -564,7 +722,7 @@ export const cloneObject = async (
|
|
|
564
722
|
newSpace: Space,
|
|
565
723
|
): Promise<Type.Expando> => {
|
|
566
724
|
const schema = Obj.getSchema(object);
|
|
567
|
-
const typename = schema ? Type.getTypename(schema) ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;
|
|
725
|
+
const typename = schema ? (Type.getTypename(schema) ?? EXPANDO_TYPENAME) : EXPANDO_TYPENAME;
|
|
568
726
|
const metadata = resolve(typename);
|
|
569
727
|
const serializer = metadata.serializer;
|
|
570
728
|
invariant(serializer, `No serializer for type: ${typename}`);
|