@dxos/plugin-space 0.8.2-main.12df754 → 0.8.2-main.30e4dbb
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-J4PN5HOM.mjs → app-graph-builder-6KVRD7OJ.mjs} +30 -13
- package/dist/lib/browser/app-graph-builder-6KVRD7OJ.mjs.map +7 -0
- package/dist/lib/browser/{app-graph-serializer-6WIAFHYK.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-FSHDAPFY.mjs → chunk-F57CTUM6.mjs} +4 -4
- package/dist/lib/browser/chunk-F57CTUM6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-MHTZAZT2.mjs → chunk-V4VNP2WY.mjs} +161 -213
- package/dist/lib/browser/chunk-V4VNP2WY.mjs.map +7 -0
- package/dist/lib/browser/{chunk-MIJHUABE.mjs → chunk-XC4BXZVV.mjs} +2 -3
- package/dist/lib/browser/chunk-XC4BXZVV.mjs.map +7 -0
- package/dist/lib/browser/{identity-created-DVHNLGYU.mjs → identity-created-74EHBH7M.mjs} +2 -2
- package/dist/lib/browser/index.mjs +13 -20
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-72IWBVYE.mjs → intent-resolver-FZ64VJKZ.mjs} +83 -88
- 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-DRVM5ACV.mjs → react-root-2EFJCOX7.mjs} +4 -4
- package/dist/lib/browser/{react-surface-KODNQYDN.mjs → react-surface-N5OGF7TQ.mjs} +5 -30
- 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-2UIV5WX5.mjs → settings-G24447B7.mjs} +2 -2
- package/dist/lib/browser/{spaces-ready-3URIMLCR.mjs → spaces-ready-ZSUEPHJF.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node/{app-graph-builder-3BNPC5GB.cjs → app-graph-builder-6VR2TBBF.cjs} +56 -39
- package/dist/lib/node/app-graph-builder-6VR2TBBF.cjs.map +7 -0
- package/dist/lib/node/{app-graph-serializer-GOLCQHFQ.cjs → app-graph-serializer-IKQLWTCX.cjs} +20 -20
- package/dist/lib/node/{chunk-U63V2254.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-GPZPEQXP.cjs → chunk-P2ZIVXGY.cjs} +215 -267
- package/dist/lib/node/chunk-P2ZIVXGY.cjs.map +7 -0
- package/dist/lib/node/{chunk-EI3ZPOLJ.cjs → chunk-YAE6CCDB.cjs} +6 -7
- package/dist/lib/node/chunk-YAE6CCDB.cjs.map +7 -0
- package/dist/lib/node/{identity-created-YYTW4K3Z.cjs → identity-created-PCQPDULV.cjs} +6 -6
- package/dist/lib/node/index.cjs +66 -73
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/{intent-resolver-KA56XGUX.cjs → intent-resolver-BK6JDXY4.cjs} +126 -130
- 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-6WGN5WRQ.cjs → react-root-DEQFKQVD.cjs} +8 -8
- package/dist/lib/node/{react-surface-37AVZFPL.cjs → react-surface-UQD7LR67.cjs} +41 -64
- 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-HJROTHC4.cjs → settings-AFWO4AWK.cjs} +6 -6
- package/dist/lib/node/{spaces-ready-IWDDIAAD.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-OVMSUAX3.mjs → app-graph-builder-O7M6MVS5.mjs} +30 -13
- package/dist/lib/node-esm/app-graph-builder-O7M6MVS5.mjs.map +7 -0
- package/dist/lib/node-esm/{app-graph-serializer-AZXSO7HK.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-TVN6VHTT.mjs → chunk-COHDPHM7.mjs} +4 -4
- package/dist/lib/node-esm/chunk-COHDPHM7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-DUA32XUX.mjs → chunk-HEXOMJIR.mjs} +2 -3
- package/dist/lib/node-esm/chunk-HEXOMJIR.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ABKX22IP.mjs → chunk-TB557OBD.mjs} +161 -213
- package/dist/lib/node-esm/chunk-TB557OBD.mjs.map +7 -0
- package/dist/lib/node-esm/{identity-created-MP4GLXHO.mjs → identity-created-GXS46A3C.mjs} +2 -2
- package/dist/lib/node-esm/index.mjs +13 -20
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-SG2ECM5R.mjs → intent-resolver-6VPP3ZDO.mjs} +83 -88
- 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-MSUT6S2S.mjs → react-root-2RJ2S5E6.mjs} +4 -4
- package/dist/lib/node-esm/{react-surface-G73SO23W.mjs → react-surface-2RSRATVY.mjs} +5 -30
- 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-KCLKPJVY.mjs → settings-MJVSCOI4.mjs} +2 -2
- package/dist/lib/node-esm/{spaces-ready-Z3SXKWX2.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 +3 -2
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +2 -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 -2
- 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 +329 -110
- package/dist/types/src/types/thread.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +154 -142
- 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 +46 -45
- package/src/SpacePlugin.tsx +9 -8
- package/src/capabilities/app-graph-builder.ts +26 -14
- package/src/capabilities/index.ts +2 -2
- package/src/capabilities/intent-resolver.ts +77 -87
- package/src/capabilities/react-surface.tsx +13 -34
- package/src/capabilities/schema-tool.test.ts +2 -3
- package/src/capabilities/schema-tools.ts +25 -25
- package/src/components/CollectionMain.tsx +2 -5
- 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/MembersContainer.tsx +23 -15
- 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/PopoverRenameObject.tsx +12 -6
- package/src/components/PopoverRenameSpace.tsx +8 -0
- 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 -2
- 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 +109 -96
- package/src/util.tsx +13 -13
- package/dist/lib/browser/app-graph-builder-J4PN5HOM.mjs.map +0 -7
- package/dist/lib/browser/chunk-FSHDAPFY.mjs.map +0 -7
- package/dist/lib/browser/chunk-KDNV4YRD.mjs +0 -283
- package/dist/lib/browser/chunk-KDNV4YRD.mjs.map +0 -7
- package/dist/lib/browser/chunk-MHTZAZT2.mjs.map +0 -7
- package/dist/lib/browser/chunk-MIJHUABE.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-72IWBVYE.mjs.map +0 -7
- package/dist/lib/browser/react-surface-KODNQYDN.mjs.map +0 -7
- package/dist/lib/browser/schema-tools-YAXPRIXP.mjs.map +0 -7
- package/dist/lib/node/app-graph-builder-3BNPC5GB.cjs.map +0 -7
- package/dist/lib/node/chunk-3UKLWXNJ.cjs +0 -311
- package/dist/lib/node/chunk-3UKLWXNJ.cjs.map +0 -7
- package/dist/lib/node/chunk-EI3ZPOLJ.cjs.map +0 -7
- package/dist/lib/node/chunk-GPZPEQXP.cjs.map +0 -7
- package/dist/lib/node/chunk-U63V2254.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-KA56XGUX.cjs.map +0 -7
- package/dist/lib/node/react-surface-37AVZFPL.cjs.map +0 -7
- package/dist/lib/node/schema-tools-BLIMOZYY.cjs.map +0 -7
- package/dist/lib/node-esm/app-graph-builder-OVMSUAX3.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-35OHQARN.mjs +0 -284
- package/dist/lib/node-esm/chunk-35OHQARN.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ABKX22IP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-DUA32XUX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TVN6VHTT.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-SG2ECM5R.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-G73SO23W.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/dist/types/src/components/ShareSpaceButton.d.ts +0 -9
- package/dist/types/src/components/ShareSpaceButton.d.ts.map +0 -1
- package/dist/types/src/components/ShareSpaceButton.stories.d.ts +0 -10
- package/dist/types/src/components/ShareSpaceButton.stories.d.ts.map +0 -1
- package/src/components/PopoverAddSpace.tsx +0 -52
- package/src/components/ShareSpaceButton.stories.tsx +0 -27
- package/src/components/ShareSpaceButton.tsx +0 -32
- /package/dist/lib/browser/{app-graph-serializer-6WIAFHYK.mjs.map → app-graph-serializer-N7KZGCST.mjs.map} +0 -0
- /package/dist/lib/browser/{identity-created-DVHNLGYU.mjs.map → identity-created-74EHBH7M.mjs.map} +0 -0
- /package/dist/lib/browser/{react-root-DRVM5ACV.mjs.map → react-root-2EFJCOX7.mjs.map} +0 -0
- /package/dist/lib/browser/{settings-2UIV5WX5.mjs.map → settings-G24447B7.mjs.map} +0 -0
- /package/dist/lib/browser/{spaces-ready-3URIMLCR.mjs.map → spaces-ready-ZSUEPHJF.mjs.map} +0 -0
- /package/dist/lib/node/{app-graph-serializer-GOLCQHFQ.cjs.map → app-graph-serializer-IKQLWTCX.cjs.map} +0 -0
- /package/dist/lib/node/{identity-created-YYTW4K3Z.cjs.map → identity-created-PCQPDULV.cjs.map} +0 -0
- /package/dist/lib/node/{react-root-6WGN5WRQ.cjs.map → react-root-DEQFKQVD.cjs.map} +0 -0
- /package/dist/lib/node/{settings-HJROTHC4.cjs.map → settings-AFWO4AWK.cjs.map} +0 -0
- /package/dist/lib/node/{spaces-ready-IWDDIAAD.cjs.map → spaces-ready-MHLUFLXN.cjs.map} +0 -0
- /package/dist/lib/node-esm/{app-graph-serializer-AZXSO7HK.mjs.map → app-graph-serializer-I6XBQJLA.mjs.map} +0 -0
- /package/dist/lib/node-esm/{identity-created-MP4GLXHO.mjs.map → identity-created-GXS46A3C.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-root-MSUT6S2S.mjs.map → react-root-2RJ2S5E6.mjs.map} +0 -0
- /package/dist/lib/node-esm/{settings-KCLKPJVY.mjs.map → settings-MJVSCOI4.mjs.map} +0 -0
- /package/dist/lib/node-esm/{spaces-ready-Z3SXKWX2.mjs.map → spaces-ready-35U5BBTH.mjs.map} +0 -0
- /package/src/capabilities/{schema.ts → schema-defs.ts} +0 -0
package/src/types/types.ts
CHANGED
|
@@ -2,11 +2,14 @@
|
|
|
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';
|
|
12
|
+
import { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';
|
|
10
13
|
import { type ComplexMap } from '@dxos/util';
|
|
11
14
|
|
|
12
15
|
import { CollectionType } from './collection';
|
|
@@ -62,16 +65,16 @@ export type PluginState = {
|
|
|
62
65
|
enabledEdgeReplication: boolean;
|
|
63
66
|
};
|
|
64
67
|
|
|
65
|
-
export const SpaceSettingsSchema =
|
|
66
|
-
|
|
68
|
+
export const SpaceSettingsSchema = Schema.mutable(
|
|
69
|
+
Schema.Struct({
|
|
67
70
|
/**
|
|
68
71
|
* Show closed spaces.
|
|
69
72
|
*/
|
|
70
|
-
showHidden:
|
|
73
|
+
showHidden: Schema.Boolean,
|
|
71
74
|
}),
|
|
72
75
|
);
|
|
73
76
|
|
|
74
|
-
export type SpaceSettingsProps =
|
|
77
|
+
export type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;
|
|
75
78
|
|
|
76
79
|
// TODO(wittjosiah): Reconcile with graph export serializers.
|
|
77
80
|
|
|
@@ -92,18 +95,18 @@ export interface TypedObjectSerializer<T extends Expando = Expando> {
|
|
|
92
95
|
export const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');
|
|
93
96
|
export const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');
|
|
94
97
|
|
|
95
|
-
export const SpaceForm =
|
|
96
|
-
name:
|
|
97
|
-
icon:
|
|
98
|
-
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 })),
|
|
99
102
|
// TODO(wittjosiah): Make optional with default value.
|
|
100
|
-
edgeReplication:
|
|
103
|
+
edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),
|
|
101
104
|
});
|
|
102
105
|
|
|
103
106
|
export type ObjectForm<T extends BaseObject = BaseObject> = {
|
|
104
|
-
// TODO(dmaretskyi): Change to
|
|
107
|
+
// TODO(dmaretskyi): Change to Schema.Schema.AnyNoContext
|
|
105
108
|
objectSchema: TypedObject;
|
|
106
|
-
formSchema?:
|
|
109
|
+
formSchema?: Schema.Schema<T, any>;
|
|
107
110
|
hidden?: boolean;
|
|
108
111
|
getIntent: (props: T, options: { space: Space }) => AnyIntentChain;
|
|
109
112
|
};
|
|
@@ -113,166 +116,176 @@ export const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => f
|
|
|
113
116
|
export const SPACE_ACTION = `${SPACE_PLUGIN}/action`;
|
|
114
117
|
|
|
115
118
|
export namespace SpaceAction {
|
|
116
|
-
export class OpenCreateSpace extends
|
|
117
|
-
input:
|
|
118
|
-
output:
|
|
119
|
+
export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {
|
|
120
|
+
input: Schema.Void,
|
|
121
|
+
output: Schema.Void,
|
|
119
122
|
}) {}
|
|
120
123
|
|
|
121
|
-
export class Create extends
|
|
124
|
+
export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
|
|
122
125
|
input: SpaceForm,
|
|
123
|
-
output:
|
|
124
|
-
id:
|
|
125
|
-
subject:
|
|
126
|
+
output: Schema.Struct({
|
|
127
|
+
id: Schema.String,
|
|
128
|
+
subject: Schema.Array(Schema.String),
|
|
126
129
|
space: SpaceSchema,
|
|
127
130
|
}),
|
|
128
131
|
}) {}
|
|
129
132
|
|
|
130
|
-
export class Join extends
|
|
131
|
-
input:
|
|
132
|
-
invitationCode:
|
|
133
|
-
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),
|
|
134
137
|
}),
|
|
135
|
-
output:
|
|
138
|
+
output: Schema.Void,
|
|
136
139
|
}) {}
|
|
137
140
|
|
|
138
|
-
export class
|
|
139
|
-
input:
|
|
141
|
+
export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {
|
|
142
|
+
input: Schema.Struct({
|
|
140
143
|
space: SpaceSchema,
|
|
141
144
|
}),
|
|
142
|
-
output:
|
|
145
|
+
output: Schema.Void,
|
|
143
146
|
}) {}
|
|
144
147
|
|
|
145
|
-
export class
|
|
146
|
-
input:
|
|
148
|
+
export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {
|
|
149
|
+
input: Schema.Struct({
|
|
147
150
|
space: SpaceSchema,
|
|
151
|
+
type: Schema.Enums(Invitation.Type),
|
|
152
|
+
authMethod: Schema.Enums(Invitation.AuthMethod),
|
|
153
|
+
multiUse: Schema.Boolean,
|
|
154
|
+
target: Schema.optional(Schema.String),
|
|
148
155
|
}),
|
|
149
|
-
output:
|
|
156
|
+
output: Schema.instanceOf(CancellableInvitationObservable),
|
|
150
157
|
}) {}
|
|
151
158
|
|
|
152
|
-
export class
|
|
153
|
-
input:
|
|
159
|
+
export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {
|
|
160
|
+
input: Schema.Struct({
|
|
154
161
|
space: SpaceSchema,
|
|
162
|
+
target: Schema.optional(Schema.String),
|
|
163
|
+
copyToClipboard: Schema.optional(Schema.Boolean),
|
|
155
164
|
}),
|
|
156
|
-
output:
|
|
165
|
+
output: Schema.String,
|
|
157
166
|
}) {}
|
|
158
167
|
|
|
159
|
-
export class
|
|
160
|
-
input:
|
|
168
|
+
export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {
|
|
169
|
+
input: Schema.Struct({
|
|
161
170
|
space: SpaceSchema,
|
|
162
|
-
caller: S.optional(S.String),
|
|
163
171
|
}),
|
|
164
|
-
output:
|
|
172
|
+
output: Schema.Void,
|
|
165
173
|
}) {}
|
|
166
174
|
|
|
167
|
-
export class
|
|
168
|
-
input:
|
|
169
|
-
|
|
175
|
+
export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {
|
|
176
|
+
input: Schema.Struct({
|
|
177
|
+
space: SpaceSchema,
|
|
178
|
+
}),
|
|
179
|
+
output: Schema.Void,
|
|
170
180
|
}) {}
|
|
171
181
|
|
|
172
|
-
export class
|
|
173
|
-
input:
|
|
174
|
-
|
|
182
|
+
export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {
|
|
183
|
+
input: Schema.Struct({
|
|
184
|
+
space: SpaceSchema,
|
|
185
|
+
caller: Schema.optional(Schema.String),
|
|
186
|
+
}),
|
|
187
|
+
output: Schema.Void,
|
|
175
188
|
}) {}
|
|
176
189
|
|
|
177
190
|
// TODO(wittjosiah): Handle scrolling to section.
|
|
178
191
|
// This maybe motivates making the space settings its own deck?
|
|
179
|
-
export class OpenSettings extends
|
|
180
|
-
input:
|
|
181
|
-
output:
|
|
192
|
+
export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
|
|
193
|
+
input: Schema.Struct({ space: SpaceSchema }),
|
|
194
|
+
output: Schema.Void,
|
|
182
195
|
}) {}
|
|
183
196
|
|
|
184
|
-
export class Open extends
|
|
185
|
-
input:
|
|
197
|
+
export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {
|
|
198
|
+
input: Schema.Struct({
|
|
186
199
|
space: SpaceSchema,
|
|
187
200
|
}),
|
|
188
|
-
output:
|
|
201
|
+
output: Schema.Void,
|
|
189
202
|
}) {}
|
|
190
203
|
|
|
191
|
-
export class Close extends
|
|
192
|
-
input:
|
|
204
|
+
export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {
|
|
205
|
+
input: Schema.Struct({
|
|
193
206
|
space: SpaceSchema,
|
|
194
207
|
}),
|
|
195
|
-
output:
|
|
208
|
+
output: Schema.Void,
|
|
196
209
|
}) {}
|
|
197
210
|
|
|
198
|
-
export class Migrate extends
|
|
199
|
-
input:
|
|
211
|
+
export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {
|
|
212
|
+
input: Schema.Struct({
|
|
200
213
|
space: SpaceSchema,
|
|
201
|
-
version:
|
|
214
|
+
version: Schema.optional(Schema.String),
|
|
202
215
|
}),
|
|
203
|
-
output:
|
|
216
|
+
output: Schema.Boolean,
|
|
204
217
|
}) {}
|
|
205
218
|
|
|
206
|
-
export class OpenCreateObject extends
|
|
207
|
-
input:
|
|
208
|
-
target:
|
|
209
|
-
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),
|
|
210
223
|
}),
|
|
211
|
-
output:
|
|
224
|
+
output: Schema.Void,
|
|
212
225
|
}) {}
|
|
213
226
|
|
|
214
|
-
export class AddObject extends
|
|
215
|
-
input:
|
|
227
|
+
export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {
|
|
228
|
+
input: Schema.Struct({
|
|
216
229
|
object: ReactiveObjectSchema,
|
|
217
|
-
target:
|
|
218
|
-
hidden:
|
|
230
|
+
target: Schema.Union(SpaceSchema, CollectionType),
|
|
231
|
+
hidden: Schema.optional(Schema.Boolean),
|
|
219
232
|
}),
|
|
220
|
-
output:
|
|
221
|
-
id:
|
|
222
|
-
subject:
|
|
233
|
+
output: Schema.Struct({
|
|
234
|
+
id: Schema.String,
|
|
235
|
+
subject: Schema.Array(Schema.String),
|
|
223
236
|
object: EchoObjectSchema,
|
|
224
237
|
}),
|
|
225
238
|
}) {}
|
|
226
239
|
|
|
227
|
-
export const DeletionData =
|
|
228
|
-
objects:
|
|
240
|
+
export const DeletionData = Schema.Struct({
|
|
241
|
+
objects: Schema.Array(EchoObjectSchema),
|
|
229
242
|
parentCollection: CollectionType,
|
|
230
|
-
indices:
|
|
231
|
-
nestedObjectsList:
|
|
232
|
-
wasActive:
|
|
243
|
+
indices: Schema.Array(Schema.Number),
|
|
244
|
+
nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),
|
|
245
|
+
wasActive: Schema.Array(Schema.String),
|
|
233
246
|
});
|
|
234
247
|
|
|
235
|
-
export type DeletionData =
|
|
248
|
+
export type DeletionData = Schema.Schema.Type<typeof DeletionData>;
|
|
236
249
|
|
|
237
|
-
export class RemoveObjects extends
|
|
238
|
-
input:
|
|
239
|
-
objects:
|
|
240
|
-
target:
|
|
241
|
-
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),
|
|
242
255
|
}),
|
|
243
|
-
output:
|
|
256
|
+
output: Schema.Void,
|
|
244
257
|
}) {}
|
|
245
258
|
|
|
246
|
-
export class RenameObject extends
|
|
247
|
-
input:
|
|
259
|
+
export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {
|
|
260
|
+
input: Schema.Struct({
|
|
248
261
|
object: EchoObjectSchema,
|
|
249
|
-
caller:
|
|
262
|
+
caller: Schema.optional(Schema.String),
|
|
250
263
|
}),
|
|
251
|
-
output:
|
|
264
|
+
output: Schema.Void,
|
|
252
265
|
}) {}
|
|
253
266
|
|
|
254
|
-
export class DuplicateObject extends
|
|
255
|
-
input:
|
|
267
|
+
export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {
|
|
268
|
+
input: Schema.Struct({
|
|
256
269
|
object: EchoObjectSchema,
|
|
257
|
-
target:
|
|
270
|
+
target: Schema.Union(SpaceSchema, CollectionType),
|
|
258
271
|
}),
|
|
259
|
-
output:
|
|
272
|
+
output: Schema.Void,
|
|
260
273
|
}) {}
|
|
261
274
|
|
|
262
|
-
export class WaitForObject extends
|
|
263
|
-
input:
|
|
264
|
-
id:
|
|
275
|
+
export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {
|
|
276
|
+
input: Schema.Struct({
|
|
277
|
+
id: Schema.optional(Schema.String),
|
|
265
278
|
}),
|
|
266
|
-
output:
|
|
279
|
+
output: Schema.Void,
|
|
267
280
|
}) {}
|
|
268
281
|
}
|
|
269
282
|
|
|
270
283
|
export namespace CollectionAction {
|
|
271
|
-
export class Create extends
|
|
272
|
-
input:
|
|
273
|
-
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),
|
|
274
287
|
}),
|
|
275
|
-
output:
|
|
288
|
+
output: Schema.Struct({
|
|
276
289
|
object: CollectionType,
|
|
277
290
|
}),
|
|
278
291
|
}) {}
|
package/src/util.tsx
CHANGED
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
type FilterSource,
|
|
32
32
|
type Query,
|
|
33
33
|
type QueryOptions,
|
|
34
|
-
type
|
|
34
|
+
type AnyLiveObject,
|
|
35
35
|
type Space,
|
|
36
36
|
} from '@dxos/react-client/echo';
|
|
37
37
|
import { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';
|
|
@@ -109,7 +109,7 @@ const getCollectionGraphNodePartials = ({
|
|
|
109
109
|
// Change on disk.
|
|
110
110
|
collection.objects = nextOrder.filter(isEchoObject).map(makeRef);
|
|
111
111
|
},
|
|
112
|
-
onTransferStart: (child: Node<
|
|
112
|
+
onTransferStart: (child: Node<AnyLiveObject<any>>, index?: number) => {
|
|
113
113
|
// TODO(wittjosiah): Support transfer between spaces.
|
|
114
114
|
// const childSpace = getSpace(child.data);
|
|
115
115
|
// if (space && childSpace && !childSpace.key.equals(space.key)) {
|
|
@@ -138,7 +138,7 @@ const getCollectionGraphNodePartials = ({
|
|
|
138
138
|
|
|
139
139
|
// }
|
|
140
140
|
},
|
|
141
|
-
onTransferEnd: (child: Node<
|
|
141
|
+
onTransferEnd: (child: Node<AnyLiveObject<any>>, destination: Node) => {
|
|
142
142
|
// Remove child from origin collection.
|
|
143
143
|
const index = collection.objects.findIndex((object) => object.target === child.data);
|
|
144
144
|
if (index > -1) {
|
|
@@ -154,7 +154,7 @@ const getCollectionGraphNodePartials = ({
|
|
|
154
154
|
// childSpace.db.remove(child.data);
|
|
155
155
|
// }
|
|
156
156
|
},
|
|
157
|
-
onCopy: async (child: Node<
|
|
157
|
+
onCopy: async (child: Node<AnyLiveObject<any>>, index?: number) => {
|
|
158
158
|
// Create clone of child and add to destination space.
|
|
159
159
|
const newObject = await cloneObject(child.data, resolve, space);
|
|
160
160
|
space.db.add(newObject);
|
|
@@ -309,8 +309,8 @@ export const constructSpaceActions = ({
|
|
|
309
309
|
{
|
|
310
310
|
id: getId(SpaceAction.Rename._tag),
|
|
311
311
|
type: ACTION_TYPE,
|
|
312
|
-
data: async (params
|
|
313
|
-
await dispatch(createIntent(SpaceAction.Rename, { space, caller: params
|
|
312
|
+
data: async (params?: InvokeParams) => {
|
|
313
|
+
await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));
|
|
314
314
|
},
|
|
315
315
|
properties: {
|
|
316
316
|
label: ['rename space label', { ns: SPACE_PLUGIN }],
|
|
@@ -333,7 +333,7 @@ export const createObjectNode = ({
|
|
|
333
333
|
navigable = false,
|
|
334
334
|
resolve,
|
|
335
335
|
}: {
|
|
336
|
-
object:
|
|
336
|
+
object: AnyLiveObject<any>;
|
|
337
337
|
space: Space;
|
|
338
338
|
navigable?: boolean;
|
|
339
339
|
resolve: (typename: string) => Record<string, any>;
|
|
@@ -375,7 +375,7 @@ export const constructObjectActions = ({
|
|
|
375
375
|
dispatch,
|
|
376
376
|
navigable = false,
|
|
377
377
|
}: {
|
|
378
|
-
node: Node<
|
|
378
|
+
node: Node<AnyLiveObject<any>>;
|
|
379
379
|
dispatch: PromiseIntentDispatcher;
|
|
380
380
|
navigable?: boolean;
|
|
381
381
|
}) => {
|
|
@@ -404,8 +404,8 @@ export const constructObjectActions = ({
|
|
|
404
404
|
{
|
|
405
405
|
id: getId(SpaceAction.RenameObject._tag),
|
|
406
406
|
type: ACTION_TYPE,
|
|
407
|
-
data: async (params
|
|
408
|
-
await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params
|
|
407
|
+
data: async (params?: InvokeParams) => {
|
|
408
|
+
await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));
|
|
409
409
|
},
|
|
410
410
|
properties: {
|
|
411
411
|
label: [
|
|
@@ -493,9 +493,9 @@ export const getActiveSpace = (graph: Graph, active?: string) => {
|
|
|
493
493
|
* @deprecated This is a temporary solution.
|
|
494
494
|
*/
|
|
495
495
|
export const getNestedObjects = async (
|
|
496
|
-
object:
|
|
496
|
+
object: AnyLiveObject<any>,
|
|
497
497
|
resolve: (typename: string) => Record<string, any>,
|
|
498
|
-
): Promise<
|
|
498
|
+
): Promise<AnyLiveObject<any>[]> => {
|
|
499
499
|
const type = getTypename(object);
|
|
500
500
|
if (!type) {
|
|
501
501
|
return [];
|
|
@@ -507,7 +507,7 @@ export const getNestedObjects = async (
|
|
|
507
507
|
return [];
|
|
508
508
|
}
|
|
509
509
|
|
|
510
|
-
const objects:
|
|
510
|
+
const objects: AnyLiveObject<any>[] = await loadReferences(object);
|
|
511
511
|
const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));
|
|
512
512
|
return [...objects, ...nested.flat()];
|
|
513
513
|
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, type PluginsContext } from '@dxos/app-framework';\nimport {\n Expando,\n Filter,\n FQ_ID_LENGTH,\n getSpace,\n isEchoObject,\n OBJECT_ID_LENGTH,\n type ReactiveEchoObject,\n SPACE_ID_LENGTH,\n SpaceState,\n type Space,\n parseId,\n} from '@dxos/client/echo';\nimport { isDeleted } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { PLANK_COMPANION_TYPE, ATTENDABLE_PATH_SEPARATOR } from '@dxos/plugin-deck/types';\nimport { createExtension, toSignal, type Node, type InvokeParams } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from './capabilities';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, SPACE_TYPE, SpaceAction, type SpaceSettingsProps } from '../types';\nimport {\n constructObjectActions,\n constructSpaceActions,\n constructSpaceNode,\n createObjectNode,\n memoizeQuery,\n SHARED,\n SPACES,\n} from '../util';\n\nexport default (context: PluginsContext) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n const spacesNode = {\n id: SPACES,\n type: SPACES,\n cacheable: ['label', 'role'],\n properties: {\n label: ['spaces label', { ns: SPACE_PLUGIN }],\n icon: 'ph--planet--regular',\n testId: 'spacePlugin.spaces',\n role: 'branch',\n disposition: 'collection',\n disabled: true,\n childrenPersistenceClass: 'echo',\n onRearrangeChildren: async (nextOrder: Space[]) => {\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const client = context.requestCapability(ClientCapabilities.Client);\n\n // NOTE: This is needed to ensure order is updated by next animation frame.\n // TODO(wittjosiah): Is there a better way to do this?\n // If not, graph should be passed as an argument to the extension.\n graph._sortEdges(\n SPACES,\n 'outbound',\n nextOrder.map(({ id }) => id),\n );\n\n const {\n objects: [spacesOrder],\n } = await client.spaces.default.db.query(Filter.schema(Expando, { key: SHARED })).run();\n if (spacesOrder) {\n spacesOrder.order = nextOrder.map(({ id }) => id);\n } else {\n log.warn('spaces order object not found');\n }\n },\n },\n };\n\n return contributes(Capabilities.AppGraphBuilder, [\n // Primary actions.\n createExtension({\n id: `${SPACE_PLUGIN}/primary-actions`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: SpaceAction.AddSpace._tag,\n data: async (params: InvokeParams) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SpaceAction.AddSpace));\n },\n properties: {\n label: ['add space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n testId: 'spacePlugin.addSpace',\n disposition: 'item',\n position: 'fallback',\n },\n },\n {\n id: SpaceAction.Share._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.Share, { space }));\n },\n properties: {\n label: ['share space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n testId: 'spacePlugin.shareSpace',\n keyBinding: {\n macos: 'meta+.',\n windows: 'alt+.',\n },\n },\n },\n {\n id: SpaceAction.OpenSettings._tag,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const layout = context.requestCapability(Capabilities.Layout);\n const client = context.requestCapability(ClientCapabilities.Client);\n const { spaceId } = parseId(layout.workspace);\n const space = (spaceId && client.spaces.get(spaceId)) ?? client.spaces.default;\n await dispatch(createIntent(SpaceAction.OpenSettings, { space }));\n },\n properties: {\n label: ['open current space settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n keyBinding: {\n macos: 'meta+shift+,',\n windows: 'ctrl+shift+,',\n },\n },\n },\n ],\n }),\n\n // Create spaces group node.\n createExtension({\n id: `${SPACE_PLUGIN}/root`,\n position: 'hoist',\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [spacesNode],\n resolver: ({ id }) => (id === SPACES ? spacesNode : undefined),\n }),\n\n // Create space nodes.\n createExtension({\n id: SPACES,\n filter: (node): node is Node<null> => node.id === SPACES,\n connector: () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<SpaceSettingsProps>(SPACE_PLUGIN)?.value;\n\n // TODO(wittjosiah): During client reset, accessing default space throws.\n try {\n const [spacesOrder] = memoizeQuery(client.spaces.default, Filter.schema(Expando, { key: SHARED }));\n const order: string[] = spacesOrder?.order ?? [];\n const orderMap = new Map(order.map((id, index) => [id, index]));\n return [\n ...spaces\n .filter((space) => orderMap.has(space.id))\n .sort((a, b) => orderMap.get(a.id)! - orderMap.get(b.id)!),\n ...spaces.filter((space) => !orderMap.has(space.id)),\n ]\n .filter((space) => (settings?.showHidden ? true : space.state.get() !== SpaceState.SPACE_INACTIVE))\n .map((space) =>\n constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n }),\n );\n } catch {}\n },\n resolver: ({ id }) => {\n if (id.length !== SPACE_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const spaces = toSignal(\n (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.get(),\n );\n\n const isReady = toSignal(\n (onChange) => client.spaces.isReady.subscribe(() => onChange()).unsubscribe,\n () => client.spaces.isReady.get(),\n );\n\n if (!spaces || !isReady) {\n return;\n }\n\n const space = spaces.find((space) => space.id === id);\n if (!space) {\n return;\n }\n\n if (space.state.get() === SpaceState.SPACE_INACTIVE) {\n return false;\n } else if (space.state.get() !== SpaceState.SPACE_READY) {\n return undefined;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceNode({\n space,\n navigable: state.navigableCollections,\n personal: space === client.spaces.default,\n namesCache: state.spaceNames,\n resolve,\n });\n }\n },\n }),\n\n // Create space actions.\n createExtension({\n id: `${SPACE_PLUGIN}/actions`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n actions: ({ node }) => {\n const space = node.data;\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const client = context.requestCapability(ClientCapabilities.Client);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructSpaceActions({\n space,\n dispatch,\n personal: space === client.spaces.default,\n migrating: state.sdkMigrationRunning[space.id],\n });\n },\n }),\n\n // Create nodes for objects in the root collection of a space.\n createExtension({\n id: `${SPACE_PLUGIN}/root-collection`,\n filter: (node): node is Node<Space> => node.type === SPACE_TYPE,\n connector: ({ node }) => {\n const space = node.data;\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const collection = space.properties[CollectionType.typename]?.target as CollectionType | undefined;\n if (!collection) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n }),\n\n // Create nodes for objects in a collection or by its fully qualified id.\n createExtension({\n id: `${SPACE_PLUGIN}/objects`,\n filter: (node): node is Node<CollectionType> => node.data instanceof CollectionType,\n connector: ({ node }) => {\n const collection = node.data;\n const space = getSpace(collection);\n if (!space) {\n return;\n }\n\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return collection.objects\n .map((object) => object.target)\n .filter(isNonNullable)\n .map((object) => createObjectNode({ object, space, resolve, navigable: state.navigableCollections }))\n .filter(isNonNullable);\n },\n resolver: ({ id }) => {\n if (id.length !== FQ_ID_LENGTH) {\n return;\n }\n\n const [spaceId, objectId] = id.split(':');\n if (spaceId.length !== SPACE_ID_LENGTH && objectId.length !== OBJECT_ID_LENGTH) {\n return;\n }\n\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = client.spaces.get().find((space) => space.id === spaceId);\n if (!space) {\n return;\n }\n\n const spaceState = toSignal(\n (onChange) => space.state.subscribe(() => onChange()).unsubscribe,\n () => space.state.get(),\n space.id,\n );\n if (spaceState !== SpaceState.SPACE_READY) {\n return;\n }\n\n const [object] = memoizeQuery(space, { id: objectId });\n if (!object) {\n return;\n }\n\n if (isDeleted(object)) {\n return false;\n } else {\n const state = context.requestCapability(SpaceCapabilities.State);\n return createObjectNode({ object, space, resolve, navigable: state.navigableCollections });\n }\n },\n }),\n\n // Create collection actions and action groups.\n createExtension({\n id: `${SPACE_PLUGIN}/object-actions`,\n filter: (node): node is Node<ReactiveEchoObject<any>> => isEchoObject(node.data),\n actions: ({ node }) => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const state = context.requestCapability(SpaceCapabilities.State);\n return constructObjectActions({ node, dispatch, navigable: state.navigableCollections });\n },\n }),\n\n // Object settings plank companion.\n createExtension({\n id: `${SPACE_PLUGIN}/settings`,\n filter: (node): node is Node<ReactiveEchoObject<any>> => isEchoObject(node.data),\n connector: ({ node }) => [\n {\n id: [node.id, 'settings'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'settings',\n properties: {\n label: ['object settings label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n disposition: 'hidden',\n position: 'hoist',\n },\n },\n ],\n }),\n ]);\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Capabilities", "contributes", "createIntent", "Expando", "Filter", "FQ_ID_LENGTH", "getSpace", "isEchoObject", "OBJECT_ID_LENGTH", "SPACE_ID_LENGTH", "SpaceState", "parseId", "isDeleted", "log", "ClientCapabilities", "PLANK_COMPANION_TYPE", "ATTENDABLE_PATH_SEPARATOR", "createExtension", "toSignal", "isNonNullable", "context", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "spacesNode", "SPACES", "type", "cacheable", "properties", "label", "ns", "SPACE_PLUGIN", "icon", "testId", "role", "disposition", "disabled", "childrenPersistenceClass", "onRearrangeChildren", "nextOrder", "graph", "requestCapability", "AppGraph", "client", "ClientCapabilities", "Client", "_sortEdges", "map", "objects", "spacesOrder", "spaces", "default", "db", "query", "Filter", "schema", "Expando", "key", "SHARED", "run", "order", "log", "warn", "contributes", "AppGraphBuilder", "createExtension", "position", "filter", "node", "actions", "SpaceAction", "AddSpace", "_tag", "data", "params", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "Share", "layout", "Layout", "spaceId", "parseId", "workspace", "space", "get", "keyBinding", "macos", "windows", "OpenSettings", "connector", "resolver", "undefined", "toSignal", "onChange", "subscribe", "unsubscribe", "isReady", "state", "SpaceCapabilities", "State", "settings", "SettingsStore", "getStore", "value", "memoizeQuery", "orderMap", "Map", "index", "has", "sort", "a", "b", "showHidden", "SpaceState", "SPACE_INACTIVE", "constructSpaceNode", "navigable", "navigableCollections", "personal", "namesCache", "spaceNames", "length", "SPACE_ID_LENGTH", "SPACE_READY", "SPACE_TYPE", "constructSpaceActions", "migrating", "sdkMigrationRunning", "spaceState", "collection", "CollectionType", "target", "object", "isNonNullable", "createObjectNode", "getSpace", "FQ_ID_LENGTH", "objectId", "split", "OBJECT_ID_LENGTH", "isDeleted", "isEchoObject", "constructObjectActions", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/util.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, LayoutAction, type PromiseIntentDispatcher } from '@dxos/app-framework';\nimport { EXPANDO_TYPENAME, getTypeAnnotation, getTypename, type BaseObject, type Expando } from '@dxos/echo-schema';\nimport { getSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { isLiveObject, makeRef } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n cleanup,\n getGraph,\n memoize,\n type ActionData,\n type Graph,\n type InvokeParams,\n type Node,\n type NodeArg,\n} from '@dxos/plugin-graph';\nimport {\n Filter,\n fullyQualifiedId,\n getSpace,\n isEchoObject,\n isSpace,\n SpaceState,\n type Echo,\n type FilterSource,\n type Query,\n type QueryOptions,\n type ReactiveEchoObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType, SpaceAction, SPACE_TYPE } from './types';\n\nexport const SPACES = `${SPACE_PLUGIN}-spaces`;\nexport const COMPOSER_SPACE_LOCK = 'dxos.org/plugin/space/lock';\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\nconst EMPTY_ARRAY: never[] = [];\n\n/**\n *\n * @param spaceOrEcho\n * @param filter\n * @param options\n * @returns\n */\nexport const memoizeQuery = <T extends BaseObject>(\n spaceOrEcho?: Space | Echo,\n filter?: FilterSource<T>,\n options?: QueryOptions,\n): T[] => {\n const key = JSON.stringify({\n space: isSpace(spaceOrEcho) ? spaceOrEcho.id : undefined,\n filter: Filter.from(filter).toProto(),\n });\n\n const query = memoize(\n () =>\n isSpace(spaceOrEcho)\n ? spaceOrEcho.db.query(filter, options)\n : (spaceOrEcho?.query(filter, options) as Query<T> | undefined),\n key,\n );\n const unsubscribe = memoize(() => query?.subscribe(), key);\n cleanup(() => unsubscribe?.());\n\n return query?.objects ?? EMPTY_ARRAY;\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: SPACE_PLUGIN }]\n : ['unnamed space label', { ns: SPACE_PLUGIN }];\n};\n\nconst getCollectionGraphNodePartials = ({\n navigable,\n collection,\n space,\n resolve,\n}: {\n navigable: boolean;\n collection: CollectionType;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(isEchoObject).map(makeRef);\n },\n onTransferStart: (child: Node<ReactiveEchoObject<any>>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(child.data));\n } else {\n collection.objects.push(makeRef(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<ReactiveEchoObject<any>>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<ReactiveEchoObject<any>>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, makeRef(newObject));\n } else {\n collection.objects.push(makeRef(newObject));\n }\n },\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection = space.state.get() === SpaceState.SPACE_READY && space.properties[CollectionType.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && collection instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection, space, resolve, navigable })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/properties`,\n data: `${SPACE_PLUGIN}/properties`,\n properties: {\n label: ['space settings properties label', { ns: SPACE_PLUGIN }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/members`,\n data: `${SPACE_PLUGIN}/members`,\n properties: {\n label: ['members panel label', { ns: SPACE_PLUGIN }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${SPACE_PLUGIN}/schema`,\n data: `${SPACE_PLUGIN}/schema`,\n properties: {\n label: ['space settings schema label', { ns: SPACE_PLUGIN }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params.caller }));\n },\n properties: {\n label: ['rename space label', { ns: SPACE_PLUGIN }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createObjectNode = ({\n object,\n space,\n navigable = false,\n resolve,\n}: {\n object: ReactiveEchoObject<any>;\n space: Space;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = getTypename(object);\n if (!type) {\n return undefined;\n }\n\n const metadata = resolve(type);\n if (Object.keys(metadata).length === 0) {\n return undefined;\n }\n\n const partials =\n object instanceof CollectionType\n ? getCollectionGraphNodePartials({ collection: object, space, resolve, navigable })\n : metadata.graphProps;\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n ...partials,\n label: metadata.label?.(object) ||\n object.name || ['object name placeholder', { ns: type, default: 'New object' }],\n icon: metadata.icon ?? 'ph--placeholder--regular',\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n },\n };\n};\n\nexport const constructObjectActions = ({\n node,\n dispatch,\n navigable = false,\n}: {\n node: Node<ReactiveEchoObject<any>>;\n dispatch: PromiseIntentDispatcher;\n navigable?: boolean;\n}) => {\n const object = node.data;\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n const actions: NodeArg<ActionData>[] = [\n ...(object instanceof CollectionType\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: SPACE_PLUGIN }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params.caller }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'rename collection label' : 'rename object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--pencil-simple-line--regular',\n // TODO(wittjosiah): Doesn't work.\n // keyBinding: 'shift+F6',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const graph = getGraph(node);\n const collection = graph\n .nodes(node, { relation: 'inbound' })\n .find(({ data }) => data instanceof CollectionType)?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: [\n object instanceof CollectionType ? 'delete collection label' : 'delete object label',\n { ns: SPACE_PLUGIN },\n ],\n icon: 'ph--trash--regular',\n keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable || !(object instanceof CollectionType)\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: SPACE_PLUGIN }],\n icon: 'ph--link--regular',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: SPACE_PLUGIN }],\n icon: 'ph--eye--regular',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated\n */\nexport const getActiveSpace = (graph: Graph, active?: string) => {\n if (!active) {\n return;\n }\n\n const node = graph.findNode(active);\n if (!node || !isLiveObject(node.data)) {\n return;\n }\n\n return getSpace(node.data);\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: ReactiveEchoObject<any>,\n resolve: (typename: string) => Record<string, any>,\n): Promise<ReactiveEchoObject<any>[]> => {\n const type = getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: ReactiveEchoObject<any>[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Expando> => {\n const schema = getSchema(object);\n const typename = schema ? getTypeAnnotation(schema)?.typename ?? EXPANDO_TYPENAME : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["createIntent", "LayoutAction", "EXPANDO_TYPENAME", "getTypeAnnotation", "getTypename", "getSchema", "invariant", "isLiveObject", "makeRef", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "cleanup", "getGraph", "memoize", "Filter", "fullyQualifiedId", "getSpace", "isEchoObject", "isSpace", "SpaceState", "ATTENDABLE_PATH_SEPARATOR", "SPACES", "SPACE_PLUGIN", "COMPOSER_SPACE_LOCK", "SHARED", "EMPTY_ARRAY", "memoizeQuery", "spaceOrEcho", "filter", "options", "key", "JSON", "stringify", "space", "isSpace", "id", "undefined", "Filter", "from", "toProto", "query", "memoize", "db", "unsubscribe", "subscribe", "cleanup", "objects", "getSpaceDisplayName", "personal", "namesCache", "state", "get", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "navigable", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "isEchoObject", "map", "makeRef", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "add", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "hasPendingMigration", "CollectionType", "typename", "partials", "type", "SPACE_TYPE", "cacheable", "label", "description", "hue", "icon", "disabled", "testId", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createObjectNode", "getTypename", "metadata", "Object", "keys", "graphProps", "fullyQualifiedId", "default", "persistenceClass", "persistenceKey", "constructObjectActions", "node", "getSpace", "invariant", "RenameObject", "RemoveObjects", "graph", "getGraph", "relation", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "LayoutAction", "Expose", "part", "subject", "getActiveSpace", "active", "findNode", "isLiveObject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "schema", "getSchema", "getTypeAnnotation", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
|
|
7
|
-
}
|