@dxos/plugin-space 0.8.2-main.5885341 → 0.8.2-main.600d381
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/{app-graph-builder-ZWNOWRAX.mjs → app-graph-builder-6KVRD7OJ.mjs} +27 -10
- package/dist/lib/browser/app-graph-builder-6KVRD7OJ.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs → app-graph-serializer-N7KZGCST.mjs} +4 -4
- package/dist/lib/browser/chunk-CY35NLWL.mjs +296 -0
- package/dist/lib/browser/chunk-CY35NLWL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JS6ZV4GV.mjs → chunk-F57CTUM6.mjs} +4 -4
- package/dist/lib/browser/chunk-F57CTUM6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-4226DMDP.mjs → chunk-V4VNP2WY.mjs} +132 -182
- package/dist/lib/browser/chunk-V4VNP2WY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-DIJ7LMCS.mjs → chunk-XC4BXZVV.mjs} +2 -3
- package/dist/lib/browser/chunk-XC4BXZVV.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-NRVE4XLL.mjs → identity-created-74EHBH7M.mjs} +2 -2
- package/dist/lib/browser/index.mjs +11 -15
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-NP55M7C7.mjs → intent-resolver-FZ64VJKZ.mjs} +7 -26
- package/dist/lib/browser/intent-resolver-FZ64VJKZ.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-XKAUZ3X2.mjs → react-root-2EFJCOX7.mjs} +4 -4
- package/dist/lib/browser/{react-surface-2DW2UDRX.mjs → react-surface-N5OGF7TQ.mjs} +4 -12
- package/dist/lib/browser/react-surface-N5OGF7TQ.mjs.map +7 -0
- package/dist/lib/browser/{schema-FHTA26SW.mjs → schema-defs-FLFEUSLB.mjs} +4 -4
- package/dist/lib/browser/{schema-FHTA26SW.mjs.map → schema-defs-FLFEUSLB.mjs.map} +2 -2
- package/dist/lib/browser/{schema-tools-YAXPRIXP.mjs → schema-tools-MYC4LTQD.mjs} +22 -22
- package/dist/lib/browser/schema-tools-MYC4LTQD.mjs.map +7 -0
- package/dist/lib/browser/{settings-MVT32NP6.mjs → settings-G24447B7.mjs} +2 -2
- package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs → spaces-ready-ZSUEPHJF.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node/{app-graph-builder-LLIV422L.cjs → app-graph-builder-6VR2TBBF.cjs} +55 -38
- package/dist/lib/node/app-graph-builder-6VR2TBBF.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs → app-graph-serializer-IKQLWTCX.cjs} +20 -20
- package/dist/lib/node/{chunk-XADZLQAJ.cjs → chunk-FILCZU6V.cjs} +29 -29
- package/dist/lib/node/chunk-FILCZU6V.cjs.map +7 -0
- package/dist/lib/node/chunk-K6ZO4WDJ.cjs +324 -0
- package/dist/lib/node/chunk-K6ZO4WDJ.cjs.map +7 -0
- package/dist/lib/node/{chunk-ZMQO74LX.cjs → chunk-P2ZIVXGY.cjs} +184 -234
- package/dist/lib/node/chunk-P2ZIVXGY.cjs.map +7 -0
- package/dist/lib/node/{chunk-UOCR4G2D.cjs → chunk-YAE6CCDB.cjs} +6 -7
- package/dist/lib/node/chunk-YAE6CCDB.cjs.map +7 -0
- package/dist/lib/node/{identity-created-YDTRMOMX.cjs → identity-created-PCQPDULV.cjs} +6 -6
- package/dist/lib/node/index.cjs +63 -67
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-3J52ARFL.cjs → intent-resolver-BK6JDXY4.cjs} +55 -73
- package/dist/lib/node/intent-resolver-BK6JDXY4.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-root-XUE2J7HT.cjs → react-root-DEQFKQVD.cjs} +8 -8
- package/dist/lib/node/{react-surface-IWSTOZ2E.cjs → react-surface-UQD7LR67.cjs} +41 -47
- package/dist/lib/node/react-surface-UQD7LR67.cjs.map +7 -0
- package/dist/lib/node/{schema-PPJ5BZ3A.cjs → schema-defs-PKZVL52M.cjs} +6 -6
- package/dist/lib/node/{schema-PPJ5BZ3A.cjs.map → schema-defs-PKZVL52M.cjs.map} +2 -2
- package/dist/lib/node/{schema-tools-BLIMOZYY.cjs → schema-tools-OE3MFYYH.cjs} +24 -24
- package/dist/lib/node/schema-tools-OE3MFYYH.cjs.map +7 -0
- package/dist/lib/node/{settings-JLV7YT6Q.cjs → settings-AFWO4AWK.cjs} +6 -6
- package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs → spaces-ready-MHLUFLXN.cjs} +11 -11
- package/dist/lib/node/types/index.cjs +15 -15
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/{app-graph-builder-HSGLCS76.mjs → app-graph-builder-O7M6MVS5.mjs} +27 -10
- package/dist/lib/node-esm/app-graph-builder-O7M6MVS5.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs → app-graph-serializer-I6XBQJLA.mjs} +4 -4
- package/dist/lib/node-esm/chunk-CLRCW6PU.mjs +297 -0
- package/dist/lib/node-esm/chunk-CLRCW6PU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ABTVMAG5.mjs → chunk-COHDPHM7.mjs} +4 -4
- package/dist/lib/node-esm/chunk-COHDPHM7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-OLISVDCF.mjs → chunk-HEXOMJIR.mjs} +2 -3
- package/dist/lib/node-esm/chunk-HEXOMJIR.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-PQI4D4SH.mjs → chunk-TB557OBD.mjs} +132 -182
- package/dist/lib/node-esm/chunk-TB557OBD.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs → identity-created-GXS46A3C.mjs} +2 -2
- package/dist/lib/node-esm/index.mjs +11 -15
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-MXQIFIRC.mjs → intent-resolver-6VPP3ZDO.mjs} +7 -26
- package/dist/lib/node-esm/intent-resolver-6VPP3ZDO.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs → react-root-2RJ2S5E6.mjs} +4 -4
- package/dist/lib/node-esm/{react-surface-JCHDAPGM.mjs → react-surface-2RSRATVY.mjs} +4 -12
- package/dist/lib/node-esm/react-surface-2RSRATVY.mjs.map +7 -0
- package/dist/lib/node-esm/{schema-OUZKVYM5.mjs → schema-defs-IIEQR7B3.mjs} +4 -4
- package/dist/lib/node-esm/{schema-OUZKVYM5.mjs.map → schema-defs-IIEQR7B3.mjs.map} +2 -2
- package/dist/lib/node-esm/{schema-tools-IU7EX5A5.mjs → schema-tools-YTJLA3NQ.mjs} +22 -22
- package/dist/lib/node-esm/schema-tools-YTJLA3NQ.mjs.map +7 -0
- package/dist/lib/node-esm/{settings-AILIMHTE.mjs → settings-MJVSCOI4.mjs} +2 -2
- package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs → spaces-ready-35U5BBTH.mjs} +3 -3
- package/dist/lib/node-esm/types/index.mjs +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/app-graph-serializer.d.ts.map +1 -1
- package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +2 -2
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/{schema.d.ts → schema-defs.d.ts} +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
- package/dist/types/src/capabilities/schema-tools.d.ts +2 -2
- package/dist/types/src/capabilities/schema-tools.d.ts.map +1 -1
- package/dist/types/src/capabilities/spaces-ready.d.ts.map +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.map +1 -1
- 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/CreateObjectPanel.d.ts.map +1 -1
- package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
- package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
- package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/MenuFooter.d.ts +2 -2
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +2 -2
- 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/ForeignKeys.d.ts.map +1 -1
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +2 -2
- package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +1 -1
- package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
- package/dist/types/src/components/PopoverRenameSpace.d.ts.map +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.map +1 -1
- 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/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
- package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +0 -1
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -2
- package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
- package/dist/types/src/hooks/usePath.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -263
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/collection.d.ts +9 -8
- package/dist/types/src/types/collection.d.ts.map +1 -1
- package/dist/types/src/types/thread.d.ts +111 -116
- package/dist/types/src/types/thread.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +145 -160
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +4 -4
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +45 -44
- package/src/SpacePlugin.tsx +7 -6
- package/src/capabilities/app-graph-builder.ts +23 -11
- package/src/capabilities/index.ts +2 -2
- package/src/capabilities/intent-resolver.ts +0 -19
- package/src/capabilities/react-surface.tsx +11 -19
- package/src/capabilities/schema-tool.test.ts +2 -3
- package/src/capabilities/schema-tools.ts +25 -25
- package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -1
- package/src/components/CreateDialog/CreateSpaceDialog.tsx +2 -3
- package/src/components/MembersContainer.stories.tsx +1 -5
- package/src/components/MenuFooter.tsx +2 -2
- package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +2 -2
- package/src/components/ObjectSettings/BaseObjectSettings.tsx +2 -2
- package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +2 -2
- package/src/components/PersistenceStatus.tsx +11 -14
- package/src/components/SpacePresence.stories.tsx +1 -1
- package/src/components/SpacePresence.tsx +32 -42
- package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +5 -3
- package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -16
- package/src/components/index.ts +0 -1
- package/src/hooks/useInputSurfaceLookup.tsx +2 -2
- package/src/translations.ts +0 -1
- package/src/types/collection.ts +6 -4
- package/src/types/thread.ts +14 -8
- package/src/types/types.ts +104 -112
- package/src/util.tsx +13 -13
- package/dist/lib/browser/app-graph-builder-ZWNOWRAX.mjs.map +0 -7
- package/dist/lib/browser/chunk-4226DMDP.mjs.map +0 -7
- package/dist/lib/browser/chunk-DIJ7LMCS.mjs.map +0 -7
- package/dist/lib/browser/chunk-JS6ZV4GV.mjs.map +0 -7
- package/dist/lib/browser/chunk-O7WGQVLQ.mjs +0 -306
- package/dist/lib/browser/chunk-O7WGQVLQ.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-NP55M7C7.mjs.map +0 -7
- package/dist/lib/browser/react-surface-2DW2UDRX.mjs.map +0 -7
- package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-LLIV422L.cjs.map +0 -7
- package/dist/lib/node/chunk-EQ5BPSQ7.cjs +0 -334
- package/dist/lib/node/chunk-EQ5BPSQ7.cjs.map +0 -7
- package/dist/lib/node/chunk-UOCR4G2D.cjs.map +0 -7
- package/dist/lib/node/chunk-XADZLQAJ.cjs.map +0 -7
- package/dist/lib/node/chunk-ZMQO74LX.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-3J52ARFL.cjs.map +0 -7
- package/dist/lib/node/react-surface-IWSTOZ2E.cjs.map +0 -7
- package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-HSGLCS76.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ABTVMAG5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FJPCLEKN.mjs +0 -307
- package/dist/lib/node-esm/chunk-FJPCLEKN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-OLISVDCF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-PQI4D4SH.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-MXQIFIRC.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-JCHDAPGM.mjs.map +0 -7
- package/dist/lib/node-esm/schema-tools-IU7EX5A5.mjs.map +0 -7
- package/dist/types/src/capabilities/schema.d.ts.map +0 -1
- package/dist/types/src/components/PopoverAddSpace.d.ts +0 -4
- package/dist/types/src/components/PopoverAddSpace.d.ts.map +0 -1
- package/src/components/PopoverAddSpace.tsx +0 -52
- /package/dist/lib/browser/{app-graph-serializer-UUJH7JRN.mjs.map → app-graph-serializer-N7KZGCST.mjs.map} +0 -0
- /package/dist/lib/browser/{identity-created-NRVE4XLL.mjs.map → identity-created-74EHBH7M.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-XKAUZ3X2.mjs.map → react-root-2EFJCOX7.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-MVT32NP6.mjs.map → settings-G24447B7.mjs.map} +0 -0
- /package/dist/lib/browser/{spaces-ready-ERNSICUW.mjs.map → spaces-ready-ZSUEPHJF.mjs.map} +0 -0
- /package/dist/lib/node/{app-graph-serializer-M6Z2OPA4.cjs.map → app-graph-serializer-IKQLWTCX.cjs.map} +0 -0
- /package/dist/lib/node/{identity-created-YDTRMOMX.cjs.map → identity-created-PCQPDULV.cjs.map} +0 -0
- /package/dist/lib/node/{react-root-XUE2J7HT.cjs.map → react-root-DEQFKQVD.cjs.map} +0 -0
- /package/dist/lib/node/{settings-JLV7YT6Q.cjs.map → settings-AFWO4AWK.cjs.map} +0 -0
- /package/dist/lib/node/{spaces-ready-6EBR4SM4.cjs.map → spaces-ready-MHLUFLXN.cjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-J3B4WSXU.mjs.map → app-graph-serializer-I6XBQJLA.mjs.map} +0 -0
- /package/dist/lib/node-esm/{identity-created-EC6SVYB5.mjs.map → identity-created-GXS46A3C.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-ZBCJCEFS.mjs.map → react-root-2RJ2S5E6.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-AILIMHTE.mjs.map → settings-MJVSCOI4.mjs.map} +0 -0
- /package/dist/lib/node-esm/{spaces-ready-5PXESKHX.mjs.map → spaces-ready-35U5BBTH.mjs.map} +0 -0
- /package/src/capabilities/{schema.ts → schema-defs.ts} +0 -0
|
@@ -68,20 +68,17 @@ export const PersistenceStatus = ({ db }: { db: EchoDatabase }) => {
|
|
|
68
68
|
case Status.PERSISTED_LOCALLY:
|
|
69
69
|
default:
|
|
70
70
|
return (
|
|
71
|
-
<Tooltip.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
</Tooltip.Content>
|
|
83
|
-
</Tooltip.Portal>
|
|
84
|
-
</Tooltip.Root>
|
|
71
|
+
<Tooltip.Trigger
|
|
72
|
+
delayDuration={400}
|
|
73
|
+
role='status'
|
|
74
|
+
content={t('persisted locally message')}
|
|
75
|
+
className='flex items-center'
|
|
76
|
+
>
|
|
77
|
+
<CheckCircle className={mx(getSize(4), 'me-1')} />
|
|
78
|
+
{displayMessage && (
|
|
79
|
+
<span className={mx('text-sm', staticPlaceholderText)}>{t('persisted locally label')}</span>
|
|
80
|
+
)}
|
|
81
|
+
</Tooltip.Trigger>
|
|
85
82
|
);
|
|
86
83
|
}
|
|
87
84
|
};
|
|
@@ -100,7 +100,7 @@ export const Small = () => {
|
|
|
100
100
|
|
|
101
101
|
const meta: Meta = {
|
|
102
102
|
title: 'plugins/plugin-space/SpacePresence',
|
|
103
|
-
decorators: [withTheme, withLayout(
|
|
103
|
+
decorators: [withTheme, withLayout()],
|
|
104
104
|
parameters: { translations },
|
|
105
105
|
};
|
|
106
106
|
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
type Size,
|
|
17
17
|
type ThemedClassName,
|
|
18
18
|
Tooltip,
|
|
19
|
+
Popover,
|
|
19
20
|
useTranslation,
|
|
20
21
|
List,
|
|
21
22
|
ListItem,
|
|
@@ -115,28 +116,25 @@ export const FullPresence = (props: MemberPresenceProps) => {
|
|
|
115
116
|
return (
|
|
116
117
|
<div className='dx-avatar-group' data-testid='spacePlugin.presence'>
|
|
117
118
|
{members.slice(0, 3).map((member, i) => (
|
|
118
|
-
<Tooltip.
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
</Tooltip.Content>
|
|
133
|
-
</Tooltip.Portal>
|
|
134
|
-
</Tooltip.Root>
|
|
119
|
+
<Tooltip.Trigger
|
|
120
|
+
key={member.identity.identityKey.toHex()}
|
|
121
|
+
side='bottom'
|
|
122
|
+
content={getName(member.identity)}
|
|
123
|
+
className='grid focus:outline-none'
|
|
124
|
+
>
|
|
125
|
+
<PresenceAvatar
|
|
126
|
+
identity={member.identity}
|
|
127
|
+
match={member.currentlyAttended} // TODO(Zan): Match always true now we're showing 'members viewing current object'.
|
|
128
|
+
index={members.length - i}
|
|
129
|
+
onClick={() => onMemberClick?.(member)}
|
|
130
|
+
size={size}
|
|
131
|
+
/>
|
|
132
|
+
</Tooltip.Trigger>
|
|
135
133
|
))}
|
|
136
134
|
|
|
137
135
|
{members.length > 3 && (
|
|
138
|
-
<
|
|
139
|
-
<
|
|
136
|
+
<Popover.Root>
|
|
137
|
+
<Popover.Trigger className='grid focus:outline-none'>
|
|
140
138
|
<Avatar.Root>
|
|
141
139
|
{/* TODO(wittjosiah): Make text fit. */}
|
|
142
140
|
<Avatar.Content
|
|
@@ -146,10 +144,10 @@ export const FullPresence = (props: MemberPresenceProps) => {
|
|
|
146
144
|
size={size}
|
|
147
145
|
/>
|
|
148
146
|
</Avatar.Root>
|
|
149
|
-
</
|
|
150
|
-
<
|
|
151
|
-
<
|
|
152
|
-
<
|
|
147
|
+
</Popover.Trigger>
|
|
148
|
+
<Popover.Portal>
|
|
149
|
+
<Popover.Content side='bottom'>
|
|
150
|
+
<Popover.Arrow />
|
|
153
151
|
<List classNames='max-h-56 overflow-y-auto'>
|
|
154
152
|
{members.map((member) => (
|
|
155
153
|
<ListItem.Root
|
|
@@ -163,9 +161,9 @@ export const FullPresence = (props: MemberPresenceProps) => {
|
|
|
163
161
|
</ListItem.Root>
|
|
164
162
|
))}
|
|
165
163
|
</List>
|
|
166
|
-
</
|
|
167
|
-
</
|
|
168
|
-
</
|
|
164
|
+
</Popover.Content>
|
|
165
|
+
</Popover.Portal>
|
|
166
|
+
</Popover.Root>
|
|
169
167
|
)}
|
|
170
168
|
</div>
|
|
171
169
|
);
|
|
@@ -251,21 +249,13 @@ export const SmallPresence = ({ count = 0, attended, containsAttended }: SmallPr
|
|
|
251
249
|
const { t } = useTranslation(SPACE_PLUGIN);
|
|
252
250
|
|
|
253
251
|
return (
|
|
254
|
-
<Tooltip.
|
|
255
|
-
<
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
</Tooltip.Trigger>
|
|
263
|
-
<Tooltip.Portal>
|
|
264
|
-
<Tooltip.Content side='bottom'>
|
|
265
|
-
<span>{t('presence label', { count })}</span>
|
|
266
|
-
<Tooltip.Arrow />
|
|
267
|
-
</Tooltip.Content>
|
|
268
|
-
</Tooltip.Portal>
|
|
269
|
-
</Tooltip.Root>
|
|
252
|
+
<Tooltip.Trigger asChild content={t('presence label', { count })} side='bottom'>
|
|
253
|
+
<AttentionGlyph
|
|
254
|
+
attended={attended}
|
|
255
|
+
containsAttended={containsAttended}
|
|
256
|
+
presence={count > 1 ? 'many' : count === 1 ? 'one' : 'none'}
|
|
257
|
+
classNames='self-center mie-1'
|
|
258
|
+
/>
|
|
259
|
+
</Tooltip.Trigger>
|
|
270
260
|
);
|
|
271
261
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { pipe, Schema
|
|
5
|
+
import { pipe, Schema } from 'effect';
|
|
6
6
|
import React, { type ChangeEvent, useCallback, useMemo, useState } from 'react';
|
|
7
7
|
|
|
8
8
|
import { chain, createIntent, LayoutAction, useIntentDispatcher } from '@dxos/app-framework';
|
|
@@ -25,7 +25,9 @@ import { StackItem } from '@dxos/react-ui-stack';
|
|
|
25
25
|
import { SPACE_PLUGIN } from '../../meta';
|
|
26
26
|
import { SpaceAction, SpaceForm } from '../../types';
|
|
27
27
|
|
|
28
|
-
const FormSchema = SpaceForm.pipe(
|
|
28
|
+
const FormSchema = SpaceForm.pipe(
|
|
29
|
+
Schema.extend(Schema.Struct({ archived: Schema.Boolean.annotations({ title: 'Archive space' }) })),
|
|
30
|
+
);
|
|
29
31
|
|
|
30
32
|
export type SpaceSettingsContainerProps = {
|
|
31
33
|
space: Space;
|
|
@@ -54,7 +56,7 @@ export const SpaceSettingsContainer = ({ space }: SpaceSettingsContainerProps) =
|
|
|
54
56
|
);
|
|
55
57
|
|
|
56
58
|
const handleSave = useCallback(
|
|
57
|
-
(properties:
|
|
59
|
+
(properties: Schema.Schema.Type<typeof FormSchema>) => {
|
|
58
60
|
void toggleEdgeReplication(properties.edgeReplication);
|
|
59
61
|
if (properties.name !== space.properties.name) {
|
|
60
62
|
space.properties.name = properties.name;
|
|
@@ -49,21 +49,13 @@ export const InlineSyncStatus = ({ space, open }: { space: Space; open?: boolean
|
|
|
49
49
|
const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;
|
|
50
50
|
|
|
51
51
|
return (
|
|
52
|
-
<Tooltip.
|
|
53
|
-
<
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
</Tooltip.Trigger>
|
|
61
|
-
<Tooltip.Portal>
|
|
62
|
-
<Tooltip.Content side='bottom' classNames='z-[70]'>
|
|
63
|
-
<span>{t('syncing label')}</span>
|
|
64
|
-
<Tooltip.Arrow />
|
|
65
|
-
</Tooltip.Content>
|
|
66
|
-
</Tooltip.Portal>
|
|
67
|
-
</Tooltip.Root>
|
|
52
|
+
<Tooltip.Trigger asChild content={t('syncing label')} side='bottom'>
|
|
53
|
+
<AttentionGlyph
|
|
54
|
+
syncing={syncing}
|
|
55
|
+
attended={isAttended}
|
|
56
|
+
containsAttended={containsAttended}
|
|
57
|
+
classNames='self-center mie-1'
|
|
58
|
+
/>
|
|
59
|
+
</Tooltip.Trigger>
|
|
68
60
|
);
|
|
69
61
|
};
|
package/src/components/index.ts
CHANGED
|
@@ -11,7 +11,6 @@ export * from './MembersContainer';
|
|
|
11
11
|
export * from './MenuFooter';
|
|
12
12
|
export * from './ObjectSettings';
|
|
13
13
|
export * from './PersistenceStatus';
|
|
14
|
-
export * from './PopoverAddSpace';
|
|
15
14
|
export * from './PopoverRenameObject';
|
|
16
15
|
export * from './PopoverRenameSpace';
|
|
17
16
|
export * from './SchemaContainer';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Copyright 2025 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import { type Schema
|
|
5
|
+
import { type Schema } from 'effect';
|
|
6
6
|
import React, { useCallback } from 'react';
|
|
7
7
|
|
|
8
8
|
import { usePluginManager, isSurfaceAvailable, Surface } from '@dxos/app-framework';
|
|
@@ -18,7 +18,7 @@ export const useInputSurfaceLookup = (baseData?: Record<string, any>) => {
|
|
|
18
18
|
const pluginManager = usePluginManager();
|
|
19
19
|
|
|
20
20
|
return useCallback(
|
|
21
|
-
({ prop, schema, inputProps }: { prop: string; schema:
|
|
21
|
+
({ prop, schema, inputProps }: { prop: string; schema: Schema.Schema<any>; inputProps: InputProps }) => {
|
|
22
22
|
const composedData = { prop, schema, ...baseData };
|
|
23
23
|
if (!isSurfaceAvailable(pluginManager.context, { role: 'form-input', data: composedData })) {
|
|
24
24
|
return undefined;
|
package/src/translations.ts
CHANGED
|
@@ -15,7 +15,6 @@ export default [
|
|
|
15
15
|
[SPACE_PLUGIN]: {
|
|
16
16
|
'plugin name': 'Spaces',
|
|
17
17
|
'first run message': 'Nothing selected.',
|
|
18
|
-
'add space label': 'Create or join a space',
|
|
19
18
|
'create space label': 'Create space',
|
|
20
19
|
'join space label': 'Join space',
|
|
21
20
|
'empty space message': 'No documents',
|
package/src/types/collection.ts
CHANGED
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Schema } from 'effect';
|
|
6
|
+
|
|
7
|
+
import { Expando, Ref, TypedObject } from '@dxos/echo-schema';
|
|
6
8
|
|
|
7
9
|
export class CollectionType extends TypedObject({ typename: 'dxos.org/type/Collection', version: '0.1.0' })({
|
|
8
|
-
name:
|
|
9
|
-
objects:
|
|
10
|
+
name: Schema.optional(Schema.String),
|
|
11
|
+
objects: Schema.mutable(Schema.Array(Ref(Expando))),
|
|
10
12
|
// Key is schema typename and value is reference to a view object of the associated schema.
|
|
11
13
|
// Having collection reference the views rather than vice versa ensures that the state converges to a single view per key (i.e. type).
|
|
12
14
|
// This also leaves open a future where this key could be changed to allow for multiple stack views per section.
|
|
13
15
|
// TODO(wittjosiah): Any way to make this more type safe?
|
|
14
16
|
// TODO(wittjosiah): Should the views be separate objects or just be schemas for view data in this record?
|
|
15
|
-
views:
|
|
17
|
+
views: Schema.mutable(Schema.Record({ key: Schema.String, value: Ref(Expando) })),
|
|
16
18
|
}) {}
|
package/src/types/thread.ts
CHANGED
|
@@ -2,23 +2,29 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
|
|
5
|
+
import { Schema } from 'effect';
|
|
6
|
+
|
|
7
|
+
import { Expando, Ref, TypedObject } from '@dxos/echo-schema';
|
|
8
|
+
import { DataType } from '@dxos/schema';
|
|
7
9
|
|
|
8
10
|
// TODO(wittjosiah): These types were placed here rather than in @dxos/plugin-thread
|
|
9
11
|
// in order to avoid a circular dependency between threads and other objects that use threads.
|
|
10
12
|
|
|
11
|
-
export const ThreadStatus =
|
|
13
|
+
export const ThreadStatus = Schema.Union(
|
|
14
|
+
Schema.Literal('staged'),
|
|
15
|
+
Schema.Literal('active'),
|
|
16
|
+
Schema.Literal('resolved'),
|
|
17
|
+
);
|
|
12
18
|
|
|
13
19
|
export class ThreadType extends TypedObject({ typename: 'dxos.org/type/Thread', version: '0.1.0' })({
|
|
14
|
-
name:
|
|
20
|
+
name: Schema.optional(Schema.String),
|
|
15
21
|
/** AM cursor-range: 'from:to'. */
|
|
16
|
-
anchor:
|
|
17
|
-
status:
|
|
18
|
-
messages:
|
|
22
|
+
anchor: Schema.optional(Schema.String),
|
|
23
|
+
status: Schema.optional(ThreadStatus),
|
|
24
|
+
messages: Schema.mutable(Schema.Array(Ref(DataType.Message))),
|
|
19
25
|
}) {}
|
|
20
26
|
|
|
21
27
|
export class ChannelType extends TypedObject({ typename: 'dxos.org/type/Channel', version: '0.1.0' })({
|
|
22
|
-
name:
|
|
28
|
+
name: Schema.optional(Schema.String),
|
|
23
29
|
queue: Ref(Expando),
|
|
24
30
|
}) {}
|
package/src/types/types.ts
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
// Copyright 2023 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
+
import { Schema } from 'effect';
|
|
6
|
+
|
|
5
7
|
import { type AnyIntentChain } from '@dxos/app-framework';
|
|
6
|
-
import {
|
|
8
|
+
import { type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';
|
|
7
9
|
import { type PublicKey } from '@dxos/react-client';
|
|
8
10
|
// TODO(wittjosiah): This pulls in full client.
|
|
9
11
|
import { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';
|
|
@@ -63,16 +65,16 @@ export type PluginState = {
|
|
|
63
65
|
enabledEdgeReplication: boolean;
|
|
64
66
|
};
|
|
65
67
|
|
|
66
|
-
export const SpaceSettingsSchema =
|
|
67
|
-
|
|
68
|
+
export const SpaceSettingsSchema = Schema.mutable(
|
|
69
|
+
Schema.Struct({
|
|
68
70
|
/**
|
|
69
71
|
* Show closed spaces.
|
|
70
72
|
*/
|
|
71
|
-
showHidden:
|
|
73
|
+
showHidden: Schema.Boolean,
|
|
72
74
|
}),
|
|
73
75
|
);
|
|
74
76
|
|
|
75
|
-
export type SpaceSettingsProps =
|
|
77
|
+
export type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;
|
|
76
78
|
|
|
77
79
|
// TODO(wittjosiah): Reconcile with graph export serializers.
|
|
78
80
|
|
|
@@ -93,18 +95,18 @@ export interface TypedObjectSerializer<T extends Expando = Expando> {
|
|
|
93
95
|
export const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');
|
|
94
96
|
export const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');
|
|
95
97
|
|
|
96
|
-
export const SpaceForm =
|
|
97
|
-
name:
|
|
98
|
-
icon:
|
|
99
|
-
hue:
|
|
98
|
+
export const SpaceForm = Schema.Struct({
|
|
99
|
+
name: Schema.optional(Schema.String.annotations({ title: 'Name' })),
|
|
100
|
+
icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),
|
|
101
|
+
hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),
|
|
100
102
|
// TODO(wittjosiah): Make optional with default value.
|
|
101
|
-
edgeReplication:
|
|
103
|
+
edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),
|
|
102
104
|
});
|
|
103
105
|
|
|
104
106
|
export type ObjectForm<T extends BaseObject = BaseObject> = {
|
|
105
|
-
// TODO(dmaretskyi): Change to
|
|
107
|
+
// TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext
|
|
106
108
|
objectSchema: TypedObject;
|
|
107
|
-
formSchema?:
|
|
109
|
+
formSchema?: Schema.Schema<T, any>;
|
|
108
110
|
hidden?: boolean;
|
|
109
111
|
getIntent: (props: T, options: { space: Space }) => AnyIntentChain;
|
|
110
112
|
};
|
|
@@ -114,186 +116,176 @@ export const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => f
|
|
|
114
116
|
export const SPACE_ACTION = `${SPACE_PLUGIN}/action`;
|
|
115
117
|
|
|
116
118
|
export namespace SpaceAction {
|
|
117
|
-
export class OpenCreateSpace extends
|
|
118
|
-
input:
|
|
119
|
-
output:
|
|
119
|
+
export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
|
|
120
|
+
input: Schema.Void,
|
|
121
|
+
output: Schema.Void,
|
|
120
122
|
}) {}
|
|
121
123
|
|
|
122
|
-
export class Create extends
|
|
124
|
+
export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
|
|
123
125
|
input: SpaceForm,
|
|
124
|
-
output:
|
|
125
|
-
id:
|
|
126
|
-
subject:
|
|
126
|
+
output: Schema.Struct({
|
|
127
|
+
id: Schema.String,
|
|
128
|
+
subject: Schema.Array(Schema.String),
|
|
127
129
|
space: SpaceSchema,
|
|
128
130
|
}),
|
|
129
131
|
}) {}
|
|
130
132
|
|
|
131
|
-
export class Join extends
|
|
132
|
-
input:
|
|
133
|
-
invitationCode:
|
|
134
|
-
onDone:
|
|
133
|
+
export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {
|
|
134
|
+
input: Schema.Struct({
|
|
135
|
+
invitationCode: Schema.optional(Schema.String),
|
|
136
|
+
onDone: Schema.optional(Schema.Any),
|
|
135
137
|
}),
|
|
136
|
-
output:
|
|
138
|
+
output: Schema.Void,
|
|
137
139
|
}) {}
|
|
138
140
|
|
|
139
|
-
export class OpenMembers extends
|
|
140
|
-
input:
|
|
141
|
+
export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {
|
|
142
|
+
input: Schema.Struct({
|
|
141
143
|
space: SpaceSchema,
|
|
142
144
|
}),
|
|
143
|
-
output:
|
|
145
|
+
output: Schema.Void,
|
|
144
146
|
}) {}
|
|
145
147
|
|
|
146
|
-
export class Share extends
|
|
147
|
-
input:
|
|
148
|
+
export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
|
|
149
|
+
input: Schema.Struct({
|
|
148
150
|
space: SpaceSchema,
|
|
149
|
-
type:
|
|
150
|
-
authMethod:
|
|
151
|
-
multiUse:
|
|
152
|
-
target:
|
|
151
|
+
type: Schema.Enums(Invitation.Type),
|
|
152
|
+
authMethod: Schema.Enums(Invitation.AuthMethod),
|
|
153
|
+
multiUse: Schema.Boolean,
|
|
154
|
+
target: Schema.optional(Schema.String),
|
|
153
155
|
}),
|
|
154
|
-
output:
|
|
156
|
+
output: Schema.instanceOf(CancellableInvitationObservable),
|
|
155
157
|
}) {}
|
|
156
158
|
|
|
157
|
-
export class GetShareLink extends
|
|
158
|
-
input:
|
|
159
|
+
export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {
|
|
160
|
+
input: Schema.Struct({
|
|
159
161
|
space: SpaceSchema,
|
|
160
|
-
target:
|
|
161
|
-
copyToClipboard:
|
|
162
|
+
target: Schema.optional(Schema.String),
|
|
163
|
+
copyToClipboard: Schema.optional(Schema.Boolean),
|
|
162
164
|
}),
|
|
163
|
-
output:
|
|
165
|
+
output: Schema.String,
|
|
164
166
|
}) {}
|
|
165
167
|
|
|
166
|
-
export class Lock extends
|
|
167
|
-
input:
|
|
168
|
+
export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
|
|
169
|
+
input: Schema.Struct({
|
|
168
170
|
space: SpaceSchema,
|
|
169
171
|
}),
|
|
170
|
-
output:
|
|
172
|
+
output: Schema.Void,
|
|
171
173
|
}) {}
|
|
172
174
|
|
|
173
|
-
export class Unlock extends
|
|
174
|
-
input:
|
|
175
|
+
export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {
|
|
176
|
+
input: Schema.Struct({
|
|
175
177
|
space: SpaceSchema,
|
|
176
178
|
}),
|
|
177
|
-
output:
|
|
179
|
+
output: Schema.Void,
|
|
178
180
|
}) {}
|
|
179
181
|
|
|
180
|
-
export class Rename extends
|
|
181
|
-
input:
|
|
182
|
+
export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {
|
|
183
|
+
input: Schema.Struct({
|
|
182
184
|
space: SpaceSchema,
|
|
183
|
-
caller:
|
|
185
|
+
caller: Schema.optional(Schema.String),
|
|
184
186
|
}),
|
|
185
|
-
output:
|
|
186
|
-
}) {}
|
|
187
|
-
|
|
188
|
-
export class AddSpace extends S.TaggedClass<AddSpace>()(`${SPACE_ACTION}/add-space`, {
|
|
189
|
-
input: S.Void,
|
|
190
|
-
output: S.Void,
|
|
191
|
-
}) {}
|
|
192
|
-
|
|
193
|
-
export class AddSpaceMenuGroup extends S.TaggedClass<AddSpaceMenuGroup>()(`${SPACE_ACTION}/add-space-menu-group`, {
|
|
194
|
-
input: S.Void,
|
|
195
|
-
output: S.Void,
|
|
187
|
+
output: Schema.Void,
|
|
196
188
|
}) {}
|
|
197
189
|
|
|
198
190
|
// TODO(wittjosiah): Handle scrolling to section.
|
|
199
191
|
// This maybe motivates making the space settings its own deck?
|
|
200
|
-
export class OpenSettings extends
|
|
201
|
-
input:
|
|
202
|
-
output:
|
|
192
|
+
export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
|
|
193
|
+
input: Schema.Struct({ space: SpaceSchema }),
|
|
194
|
+
output: Schema.Void,
|
|
203
195
|
}) {}
|
|
204
196
|
|
|
205
|
-
export class Open extends
|
|
206
|
-
input:
|
|
197
|
+
export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {
|
|
198
|
+
input: Schema.Struct({
|
|
207
199
|
space: SpaceSchema,
|
|
208
200
|
}),
|
|
209
|
-
output:
|
|
201
|
+
output: Schema.Void,
|
|
210
202
|
}) {}
|
|
211
203
|
|
|
212
|
-
export class Close extends
|
|
213
|
-
input:
|
|
204
|
+
export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {
|
|
205
|
+
input: Schema.Struct({
|
|
214
206
|
space: SpaceSchema,
|
|
215
207
|
}),
|
|
216
|
-
output:
|
|
208
|
+
output: Schema.Void,
|
|
217
209
|
}) {}
|
|
218
210
|
|
|
219
|
-
export class Migrate extends
|
|
220
|
-
input:
|
|
211
|
+
export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {
|
|
212
|
+
input: Schema.Struct({
|
|
221
213
|
space: SpaceSchema,
|
|
222
|
-
version:
|
|
214
|
+
version: Schema.optional(Schema.String),
|
|
223
215
|
}),
|
|
224
|
-
output:
|
|
216
|
+
output: Schema.Boolean,
|
|
225
217
|
}) {}
|
|
226
218
|
|
|
227
|
-
export class OpenCreateObject extends
|
|
228
|
-
input:
|
|
229
|
-
target:
|
|
230
|
-
navigable:
|
|
219
|
+
export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {
|
|
220
|
+
input: Schema.Struct({
|
|
221
|
+
target: Schema.Union(SpaceSchema, CollectionType),
|
|
222
|
+
navigable: Schema.optional(Schema.Boolean),
|
|
231
223
|
}),
|
|
232
|
-
output:
|
|
224
|
+
output: Schema.Void,
|
|
233
225
|
}) {}
|
|
234
226
|
|
|
235
|
-
export class AddObject extends
|
|
236
|
-
input:
|
|
227
|
+
export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
|
|
228
|
+
input: Schema.Struct({
|
|
237
229
|
object: ReactiveObjectSchema,
|
|
238
|
-
target:
|
|
239
|
-
hidden:
|
|
230
|
+
target: Schema.Union(SpaceSchema, CollectionType),
|
|
231
|
+
hidden: Schema.optional(Schema.Boolean),
|
|
240
232
|
}),
|
|
241
|
-
output:
|
|
242
|
-
id:
|
|
243
|
-
subject:
|
|
233
|
+
output: Schema.Struct({
|
|
234
|
+
id: Schema.String,
|
|
235
|
+
subject: Schema.Array(Schema.String),
|
|
244
236
|
object: EchoObjectSchema,
|
|
245
237
|
}),
|
|
246
238
|
}) {}
|
|
247
239
|
|
|
248
|
-
export const DeletionData =
|
|
249
|
-
objects:
|
|
240
|
+
export const DeletionData = Schema.Struct({
|
|
241
|
+
objects: Schema.Array(EchoObjectSchema),
|
|
250
242
|
parentCollection: CollectionType,
|
|
251
|
-
indices:
|
|
252
|
-
nestedObjectsList:
|
|
253
|
-
wasActive:
|
|
243
|
+
indices: Schema.Array(Schema.Number),
|
|
244
|
+
nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
|
|
245
|
+
wasActive: Schema.Array(Schema.String),
|
|
254
246
|
});
|
|
255
247
|
|
|
256
|
-
export type DeletionData =
|
|
248
|
+
export type DeletionData = Schema.Schema.Type<typeof DeletionData>;
|
|
257
249
|
|
|
258
|
-
export class RemoveObjects extends
|
|
259
|
-
input:
|
|
260
|
-
objects:
|
|
261
|
-
target:
|
|
262
|
-
deletionData:
|
|
250
|
+
export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {
|
|
251
|
+
input: Schema.Struct({
|
|
252
|
+
objects: Schema.Array(EchoObjectSchema),
|
|
253
|
+
target: Schema.optional(CollectionType),
|
|
254
|
+
deletionData: Schema.optional(DeletionData),
|
|
263
255
|
}),
|
|
264
|
-
output:
|
|
256
|
+
output: Schema.Void,
|
|
265
257
|
}) {}
|
|
266
258
|
|
|
267
|
-
export class RenameObject extends
|
|
268
|
-
input:
|
|
259
|
+
export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {
|
|
260
|
+
input: Schema.Struct({
|
|
269
261
|
object: EchoObjectSchema,
|
|
270
|
-
caller:
|
|
262
|
+
caller: Schema.optional(Schema.String),
|
|
271
263
|
}),
|
|
272
|
-
output:
|
|
264
|
+
output: Schema.Void,
|
|
273
265
|
}) {}
|
|
274
266
|
|
|
275
|
-
export class DuplicateObject extends
|
|
276
|
-
input:
|
|
267
|
+
export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
|
|
268
|
+
input: Schema.Struct({
|
|
277
269
|
object: EchoObjectSchema,
|
|
278
|
-
target:
|
|
270
|
+
target: Schema.Union(SpaceSchema, CollectionType),
|
|
279
271
|
}),
|
|
280
|
-
output:
|
|
272
|
+
output: Schema.Void,
|
|
281
273
|
}) {}
|
|
282
274
|
|
|
283
|
-
export class WaitForObject extends
|
|
284
|
-
input:
|
|
285
|
-
id:
|
|
275
|
+
export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {
|
|
276
|
+
input: Schema.Struct({
|
|
277
|
+
id: Schema.optional(Schema.String),
|
|
286
278
|
}),
|
|
287
|
-
output:
|
|
279
|
+
output: Schema.Void,
|
|
288
280
|
}) {}
|
|
289
281
|
}
|
|
290
282
|
|
|
291
283
|
export namespace CollectionAction {
|
|
292
|
-
export class Create extends
|
|
293
|
-
input:
|
|
294
|
-
name:
|
|
284
|
+
export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {
|
|
285
|
+
input: Schema.Struct({
|
|
286
|
+
name: Schema.optional(Schema.String),
|
|
295
287
|
}),
|
|
296
|
-
output:
|
|
288
|
+
output: Schema.Struct({
|
|
297
289
|
object: CollectionType,
|
|
298
290
|
}),
|
|
299
291
|
}) {}
|