@dxos/plugin-space 0.6.13-main.ed424a1 → 0.6.13
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/{chunk-47SVNCZM.mjs → chunk-DTVUOG2C.mjs} +5 -24
- package/dist/lib/browser/chunk-DTVUOG2C.mjs.map +7 -0
- package/dist/lib/browser/{chunk-AVLRQF6L.mjs → chunk-LZEGRS7H.mjs} +1 -1
- package/dist/lib/browser/chunk-LZEGRS7H.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +249 -595
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/meta.mjs +1 -1
- package/dist/lib/browser/types/index.mjs +3 -7
- package/dist/lib/node/{chunk-P4XUXM7Y.cjs → chunk-6CNYF6YU.cjs} +4 -4
- package/dist/lib/node/chunk-6CNYF6YU.cjs.map +7 -0
- package/dist/lib/node/{chunk-CTYDNFGG.cjs → chunk-CVZPI2P3.cjs} +9 -30
- package/dist/lib/node/chunk-CVZPI2P3.cjs.map +7 -0
- package/dist/lib/node/index.cjs +470 -813
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.cjs +5 -5
- package/dist/lib/node/meta.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/types/index.cjs +10 -14
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/types/src/SpacePlugin.d.ts.map +1 -1
- package/dist/types/src/components/EmptySpace.d.ts +3 -0
- package/dist/types/src/components/EmptySpace.d.ts.map +1 -0
- package/dist/types/src/components/EmptyTree.d.ts +3 -0
- package/dist/types/src/components/EmptyTree.d.ts.map +1 -0
- package/dist/types/src/components/MenuFooter.d.ts +1 -1
- package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
- package/dist/types/src/components/ShareSpaceButton.stories.d.ts +0 -4
- package/dist/types/src/components/ShareSpaceButton.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceMain/SpaceMain.d.ts.map +1 -1
- package/dist/types/src/components/SpacePresence.stories.d.ts +0 -4
- package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
- package/dist/types/src/components/SpaceSettings.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -3
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +0 -4
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/thread.d.ts +1 -15
- package/dist/types/src/types/thread.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +1 -18
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +6 -3
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +36 -44
- package/src/SpacePlugin.tsx +86 -149
- package/src/components/EmptySpace.tsx +25 -0
- package/src/components/EmptyTree.tsx +25 -0
- package/src/components/MenuFooter.tsx +2 -2
- package/src/components/SpaceMain/SpaceMain.tsx +22 -1
- package/src/components/SpacePresence.tsx +1 -1
- package/src/components/SpaceSettings.tsx +3 -32
- package/src/components/index.ts +2 -3
- package/src/meta.ts +1 -3
- package/src/translations.ts +0 -4
- package/src/types/collection.ts +1 -1
- package/src/types/thread.ts +2 -12
- package/src/types/types.ts +1 -25
- package/src/util.tsx +55 -20
- package/dist/lib/browser/chunk-47SVNCZM.mjs.map +0 -7
- package/dist/lib/browser/chunk-AVLRQF6L.mjs.map +0 -7
- package/dist/lib/node/chunk-CTYDNFGG.cjs.map +0 -7
- package/dist/lib/node/chunk-P4XUXM7Y.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-PLPMYTLC.mjs +0 -116
- package/dist/lib/node-esm/chunk-PLPMYTLC.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YPQGKWHJ.mjs +0 -37
- package/dist/lib/node-esm/chunk-YPQGKWHJ.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -2987
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/meta.mjs +0 -14
- package/dist/lib/node-esm/meta.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -26
- package/dist/lib/node-esm/types/index.mjs.map +0 -7
- package/dist/types/src/components/FallbackSettings.d.ts +0 -8
- package/dist/types/src/components/FallbackSettings.d.ts.map +0 -1
- package/dist/types/src/components/SaveStatus.d.ts +0 -3
- package/dist/types/src/components/SaveStatus.d.ts.map +0 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +0 -13
- package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +0 -1
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +0 -117
- package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +0 -1
- package/dist/types/src/components/SyncStatus/index.d.ts +0 -2
- package/dist/types/src/components/SyncStatus/index.d.ts.map +0 -1
- package/dist/types/src/components/SyncStatus/types.d.ts +0 -14
- package/dist/types/src/components/SyncStatus/types.d.ts.map +0 -1
- package/src/components/FallbackSettings.tsx +0 -35
- package/src/components/SaveStatus.tsx +0 -95
- package/src/components/SyncStatus/SyncStatus.stories.tsx +0 -62
- package/src/components/SyncStatus/SyncStatus.tsx +0 -188
- package/src/components/SyncStatus/index.ts +0 -5
- package/src/components/SyncStatus/types.ts +0 -77
package/dist/lib/node/index.cjs
CHANGED
|
@@ -28,44 +28,40 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var node_exports = {};
|
|
30
30
|
__export(node_exports, {
|
|
31
|
-
ActorSchema: () =>
|
|
31
|
+
ActorSchema: () => import_chunk_CVZPI2P3.ActorSchema,
|
|
32
32
|
AwaitingObject: () => AwaitingObject,
|
|
33
33
|
COMPOSER_SPACE_LOCK: () => COMPOSER_SPACE_LOCK,
|
|
34
|
-
ChannelType: () =>
|
|
34
|
+
ChannelType: () => import_chunk_CVZPI2P3.ChannelType,
|
|
35
35
|
CollectionMain: () => CollectionMain,
|
|
36
36
|
CollectionSection: () => CollectionSection,
|
|
37
|
-
CollectionType: () =>
|
|
38
|
-
ContactType: () =>
|
|
39
|
-
|
|
37
|
+
CollectionType: () => import_chunk_CVZPI2P3.CollectionType,
|
|
38
|
+
ContactType: () => import_chunk_CVZPI2P3.ContactType,
|
|
39
|
+
EmptySpace: () => EmptySpace,
|
|
40
|
+
EmptyTree: () => EmptyTree,
|
|
40
41
|
FullPresence: () => FullPresence,
|
|
41
42
|
MenuFooter: () => MenuFooter,
|
|
42
|
-
|
|
43
|
-
MessageType: () => import_chunk_CTYDNFGG.MessageType,
|
|
43
|
+
MessageType: () => import_chunk_CVZPI2P3.MessageType,
|
|
44
44
|
MissingObject: () => MissingObject,
|
|
45
45
|
PersistenceStatus: () => PersistenceStatus,
|
|
46
46
|
PopoverRenameObject: () => PopoverRenameObject,
|
|
47
47
|
PopoverRenameSpace: () => PopoverRenameSpace,
|
|
48
48
|
SHARED: () => SHARED,
|
|
49
49
|
SPACES: () => SPACES,
|
|
50
|
-
SPACE_DIRECTORY_HANDLE: () =>
|
|
51
|
-
SPACE_PLUGIN: () =>
|
|
52
|
-
SPACE_PLUGIN_SHORT_ID: () =>
|
|
50
|
+
SPACE_DIRECTORY_HANDLE: () => import_chunk_CVZPI2P3.SPACE_DIRECTORY_HANDLE,
|
|
51
|
+
SPACE_PLUGIN: () => import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
52
|
+
SPACE_PLUGIN_SHORT_ID: () => import_chunk_6CNYF6YU.SPACE_PLUGIN_SHORT_ID,
|
|
53
53
|
SPACE_TYPE: () => SPACE_TYPE,
|
|
54
|
-
SaveStatus: () => SaveStatus,
|
|
55
54
|
ShareSpaceButton: () => ShareSpaceButton,
|
|
56
55
|
ShareSpaceButtonImpl: () => ShareSpaceButtonImpl,
|
|
57
56
|
SmallPresence: () => SmallPresence,
|
|
58
57
|
SmallPresenceLive: () => SmallPresenceLive,
|
|
59
|
-
SpaceAction: () =>
|
|
58
|
+
SpaceAction: () => import_chunk_6CNYF6YU.SpaceAction,
|
|
60
59
|
SpaceMain: () => SpaceMain,
|
|
61
60
|
SpacePlugin: () => SpacePlugin,
|
|
62
61
|
SpacePresence: () => SpacePresence,
|
|
63
62
|
SpaceSettings: () => SpaceSettings,
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
SyncStatusIndicator: () => SyncStatusIndicator,
|
|
67
|
-
ThreadStatus: () => import_chunk_CTYDNFGG.ThreadStatus,
|
|
68
|
-
ThreadType: () => import_chunk_CTYDNFGG.ThreadType,
|
|
63
|
+
ThreadStatus: () => import_chunk_CVZPI2P3.ThreadStatus,
|
|
64
|
+
ThreadType: () => import_chunk_CVZPI2P3.ThreadType,
|
|
69
65
|
cloneObject: () => cloneObject,
|
|
70
66
|
constructObjectActionGroups: () => constructObjectActionGroups,
|
|
71
67
|
constructObjectActions: () => constructObjectActions,
|
|
@@ -78,19 +74,18 @@ __export(node_exports, {
|
|
|
78
74
|
getNestedObjects: () => getNestedObjects,
|
|
79
75
|
getSpaceDisplayName: () => getSpaceDisplayName,
|
|
80
76
|
memoizeQuery: () => memoizeQuery,
|
|
81
|
-
parseSpaceInitPlugin: () => import_chunk_CTYDNFGG.parseSpaceInitPlugin,
|
|
82
77
|
parseSpacePlugin: () => parseSpacePlugin,
|
|
83
78
|
translations: () => translations_default
|
|
84
79
|
});
|
|
85
80
|
module.exports = __toCommonJS(node_exports);
|
|
86
|
-
var
|
|
87
|
-
var
|
|
81
|
+
var import_chunk_6CNYF6YU = require("./chunk-6CNYF6YU.cjs");
|
|
82
|
+
var import_chunk_CVZPI2P3 = require("./chunk-CVZPI2P3.cjs");
|
|
83
|
+
var import_react = require("@phosphor-icons/react");
|
|
88
84
|
var import_signals_core = require("@preact/signals-core");
|
|
89
|
-
var
|
|
85
|
+
var import_react2 = __toESM(require("react"));
|
|
90
86
|
var import_app_framework = require("@dxos/app-framework");
|
|
91
87
|
var import_async = require("@dxos/async");
|
|
92
88
|
var import_echo_schema = require("@dxos/echo-schema");
|
|
93
|
-
var import_core = require("@dxos/echo-signals/core");
|
|
94
89
|
var import_local_storage = require("@dxos/local-storage");
|
|
95
90
|
var import_log = require("@dxos/log");
|
|
96
91
|
var import_migrations = require("@dxos/migrations");
|
|
@@ -101,105 +96,97 @@ var import_meta = require("@dxos/plugin-observability/meta");
|
|
|
101
96
|
var import_react_client = require("@dxos/react-client");
|
|
102
97
|
var import_echo = require("@dxos/react-client/echo");
|
|
103
98
|
var import_react_ui = require("@dxos/react-ui");
|
|
104
|
-
var
|
|
99
|
+
var import_react3 = require("@dxos/shell/react");
|
|
105
100
|
var import_util = require("@dxos/util");
|
|
106
|
-
var
|
|
107
|
-
var
|
|
101
|
+
var import_react4 = require("@phosphor-icons/react");
|
|
102
|
+
var import_react5 = __toESM(require("react"));
|
|
108
103
|
var import_app_framework2 = require("@dxos/app-framework");
|
|
109
104
|
var import_react_client2 = require("@dxos/react-client");
|
|
110
105
|
var import_echo2 = require("@dxos/react-client/echo");
|
|
111
106
|
var import_react_ui2 = require("@dxos/react-ui");
|
|
112
107
|
var import_react_ui_theme = require("@dxos/react-ui-theme");
|
|
113
|
-
var
|
|
108
|
+
var import_react6 = __toESM(require("react"));
|
|
114
109
|
var import_react_ui3 = require("@dxos/react-ui");
|
|
115
110
|
var import_react_ui_theme2 = require("@dxos/react-ui-theme");
|
|
116
|
-
var import_react6 = __toESM(require("react"));
|
|
117
|
-
var import_react_ui4 = require("@dxos/react-ui");
|
|
118
111
|
var import_react7 = __toESM(require("react"));
|
|
112
|
+
var import_react_ui4 = require("@dxos/react-ui");
|
|
113
|
+
var import_react8 = __toESM(require("react"));
|
|
119
114
|
var import_react_ui5 = require("@dxos/react-ui");
|
|
120
|
-
var
|
|
115
|
+
var import_react_ui_theme3 = require("@dxos/react-ui-theme");
|
|
121
116
|
var import_react9 = __toESM(require("react"));
|
|
117
|
+
var import_react_ui6 = require("@dxos/react-ui");
|
|
118
|
+
var import_react_ui_theme4 = require("@dxos/react-ui-theme");
|
|
119
|
+
var import_react10 = require("@phosphor-icons/react");
|
|
120
|
+
var import_react11 = __toESM(require("react"));
|
|
122
121
|
var import_echo3 = require("@dxos/client/echo");
|
|
123
122
|
var import_react_client3 = require("@dxos/react-client");
|
|
124
|
-
var
|
|
123
|
+
var import_react_ui7 = require("@dxos/react-ui");
|
|
124
|
+
var import_react12 = require("@phosphor-icons/react");
|
|
125
|
+
var import_react13 = __toESM(require("react"));
|
|
125
126
|
var import_app_framework3 = require("@dxos/app-framework");
|
|
126
127
|
var import_echo_schema2 = require("@dxos/echo-schema");
|
|
127
128
|
var import_invariant = require("@dxos/invariant");
|
|
128
129
|
var import_migrations2 = require("@dxos/migrations");
|
|
129
130
|
var import_plugin_graph2 = require("@dxos/plugin-graph");
|
|
130
131
|
var import_echo4 = require("@dxos/react-client/echo");
|
|
131
|
-
var
|
|
132
|
+
var import_react14 = __toESM(require("react"));
|
|
132
133
|
var import_app_framework4 = require("@dxos/app-framework");
|
|
133
|
-
var import_react_ui7 = require("@dxos/react-ui");
|
|
134
|
-
var import_react_ui_theme3 = require("@dxos/react-ui-theme");
|
|
135
|
-
var import_react11 = require("@phosphor-icons/react");
|
|
136
|
-
var import_react12 = __toESM(require("react"));
|
|
137
|
-
var import_async2 = require("@dxos/async");
|
|
138
134
|
var import_react_ui8 = require("@dxos/react-ui");
|
|
139
|
-
var
|
|
140
|
-
var
|
|
141
|
-
var
|
|
135
|
+
var import_react_ui_theme5 = require("@dxos/react-ui-theme");
|
|
136
|
+
var import_react15 = require("@phosphor-icons/react");
|
|
137
|
+
var import_react16 = __toESM(require("react"));
|
|
138
|
+
var import_async2 = require("@dxos/async");
|
|
142
139
|
var import_react_ui9 = require("@dxos/react-ui");
|
|
143
|
-
var
|
|
140
|
+
var import_react_ui_theme6 = require("@dxos/react-ui-theme");
|
|
141
|
+
var import_react17 = __toESM(require("react"));
|
|
142
|
+
var import_log2 = require("@dxos/log");
|
|
144
143
|
var import_react_ui10 = require("@dxos/react-ui");
|
|
145
|
-
var
|
|
146
|
-
var import_app_framework5 = require("@dxos/app-framework");
|
|
144
|
+
var import_react18 = __toESM(require("react"));
|
|
147
145
|
var import_react_ui11 = require("@dxos/react-ui");
|
|
148
|
-
var
|
|
149
|
-
var
|
|
146
|
+
var import_react19 = __toESM(require("react"));
|
|
147
|
+
var import_app_framework5 = require("@dxos/app-framework");
|
|
148
|
+
var import_react_ui12 = require("@dxos/react-ui");
|
|
149
|
+
var import_react20 = require("@phosphor-icons/react");
|
|
150
|
+
var import_react21 = __toESM(require("react"));
|
|
150
151
|
var import_app_framework6 = require("@dxos/app-framework");
|
|
151
152
|
var import_echo5 = require("@dxos/react-client/echo");
|
|
152
|
-
var
|
|
153
|
-
var
|
|
154
|
-
var
|
|
155
|
-
var
|
|
156
|
-
var
|
|
153
|
+
var import_react_ui13 = require("@dxos/react-ui");
|
|
154
|
+
var import_react_ui_theme7 = require("@dxos/react-ui-theme");
|
|
155
|
+
var import_react22 = require("@dxos/shell/react");
|
|
156
|
+
var import_react23 = require("@phosphor-icons/react");
|
|
157
|
+
var import_react24 = __toESM(require("react"));
|
|
157
158
|
var import_app_framework7 = require("@dxos/app-framework");
|
|
158
159
|
var import_echo6 = require("@dxos/react-client/echo");
|
|
159
160
|
var import_invitations = require("@dxos/react-client/invitations");
|
|
160
161
|
var import_invitations2 = require("@dxos/react-client/invitations");
|
|
161
|
-
var
|
|
162
|
-
var
|
|
163
|
-
var
|
|
164
|
-
var
|
|
162
|
+
var import_react_ui14 = require("@dxos/react-ui");
|
|
163
|
+
var import_react_ui_theme8 = require("@dxos/react-ui-theme");
|
|
164
|
+
var import_react25 = require("@dxos/shell/react");
|
|
165
|
+
var import_react26 = __toESM(require("react"));
|
|
165
166
|
var import_app_framework8 = require("@dxos/app-framework");
|
|
166
167
|
var import_display_name = require("@dxos/display-name");
|
|
167
168
|
var import_react_client4 = require("@dxos/react-client");
|
|
168
169
|
var import_echo7 = require("@dxos/react-client/echo");
|
|
169
170
|
var import_halo = require("@dxos/react-client/halo");
|
|
170
|
-
var
|
|
171
|
+
var import_react_ui15 = require("@dxos/react-ui");
|
|
171
172
|
var import_react_ui_attention = require("@dxos/react-ui-attention");
|
|
172
173
|
var import_util2 = require("@dxos/util");
|
|
173
|
-
var
|
|
174
|
+
var import_react27 = __toESM(require("react"));
|
|
174
175
|
var import_app_framework9 = require("@dxos/app-framework");
|
|
175
176
|
var import_plugin_settings = require("@dxos/plugin-settings");
|
|
176
|
-
var import_react_ui15 = require("@dxos/react-ui");
|
|
177
|
-
var import_react24 = __toESM(require("react"));
|
|
178
|
-
var import_context = require("@dxos/context");
|
|
179
|
-
var import_plugin_status_bar = require("@dxos/plugin-status-bar");
|
|
180
|
-
var import_react_client5 = require("@dxos/react-client");
|
|
181
177
|
var import_react_ui16 = require("@dxos/react-ui");
|
|
182
|
-
var import_react25 = __toESM(require("react"));
|
|
183
|
-
var import_plugin_status_bar2 = require("@dxos/plugin-status-bar");
|
|
184
|
-
var import_react_ui17 = require("@dxos/react-ui");
|
|
185
|
-
var import_react_ui_syntax_highlighter = require("@dxos/react-ui-syntax-highlighter");
|
|
186
|
-
var import_react_ui_theme7 = require("@dxos/react-ui-theme");
|
|
187
|
-
var import_react26 = require("react");
|
|
188
|
-
var import_context2 = require("@dxos/context");
|
|
189
|
-
var import_protocols = require("@dxos/protocols");
|
|
190
|
-
var import_react_client6 = require("@dxos/react-client");
|
|
191
178
|
var WAIT_FOR_OBJECT_TIMEOUT = 18e4;
|
|
192
179
|
var TOAST_TIMEOUT = 24e4;
|
|
193
180
|
var AwaitingObject = ({ id }) => {
|
|
194
|
-
const [open, setOpen] = (0,
|
|
195
|
-
const [waiting, setWaiting] = (0,
|
|
196
|
-
const [found, setFound] = (0,
|
|
197
|
-
const { t } = (0, import_react_ui2.useTranslation)(
|
|
181
|
+
const [open, setOpen] = (0, import_react5.useState)(true);
|
|
182
|
+
const [waiting, setWaiting] = (0, import_react5.useState)(true);
|
|
183
|
+
const [found, setFound] = (0, import_react5.useState)(false);
|
|
184
|
+
const { t } = (0, import_react_ui2.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
198
185
|
const intentPlugin = (0, import_app_framework2.useResolvePlugin)(import_app_framework2.parseIntentPlugin);
|
|
199
186
|
const navigationPlugin = (0, import_app_framework2.useResolvePlugin)(import_app_framework2.parseNavigationPlugin);
|
|
200
187
|
const client = (0, import_react_client2.useClient)();
|
|
201
188
|
const objects = (0, import_echo2.useQuery)(client.spaces);
|
|
202
|
-
(0,
|
|
189
|
+
(0, import_react5.useEffect)(() => {
|
|
203
190
|
if (!id) {
|
|
204
191
|
return;
|
|
205
192
|
}
|
|
@@ -210,7 +197,7 @@ var AwaitingObject = ({ id }) => {
|
|
|
210
197
|
}, [
|
|
211
198
|
id
|
|
212
199
|
]);
|
|
213
|
-
(0,
|
|
200
|
+
(0, import_react5.useEffect)(() => {
|
|
214
201
|
if (objects.findIndex((object) => (0, import_echo2.fullyQualifiedId)(object) === id) > -1) {
|
|
215
202
|
setFound(true);
|
|
216
203
|
if (navigationPlugin?.provides.location.active === id) {
|
|
@@ -223,8 +210,8 @@ var AwaitingObject = ({ id }) => {
|
|
|
223
210
|
intentPlugin
|
|
224
211
|
]);
|
|
225
212
|
const handleClose = async () => intentPlugin?.provides.intent.dispatch({
|
|
226
|
-
plugin:
|
|
227
|
-
action:
|
|
213
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
214
|
+
action: import_chunk_6CNYF6YU.SpaceAction.WAIT_FOR_OBJECT,
|
|
228
215
|
data: {
|
|
229
216
|
id: void 0
|
|
230
217
|
}
|
|
@@ -242,75 +229,73 @@ var AwaitingObject = ({ id }) => {
|
|
|
242
229
|
});
|
|
243
230
|
void handleClose();
|
|
244
231
|
};
|
|
245
|
-
return /* @__PURE__ */
|
|
232
|
+
return /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Root, {
|
|
246
233
|
open,
|
|
247
234
|
duration: TOAST_TIMEOUT,
|
|
248
235
|
onOpenChange: setOpen
|
|
249
|
-
}, /* @__PURE__ */
|
|
236
|
+
}, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Body, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Title, {
|
|
250
237
|
classNames: "flex items-center gap-2"
|
|
251
|
-
}, found ? /* @__PURE__ */
|
|
238
|
+
}, found ? /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(import_react4.CheckCircle, {
|
|
252
239
|
className: (0, import_react_ui_theme.getSize)(5)
|
|
253
|
-
}), /* @__PURE__ */
|
|
240
|
+
}), /* @__PURE__ */ import_react5.default.createElement("span", null, t("found object label"))) : waiting ? /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(import_react4.CircleNotch, {
|
|
254
241
|
className: (0, import_react_ui_theme.mx)((0, import_react_ui_theme.getSize)(5), "animate-spin")
|
|
255
|
-
}), /* @__PURE__ */
|
|
242
|
+
}), /* @__PURE__ */ import_react5.default.createElement("span", null, t("waiting for object label"))) : /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(import_react4.CircleDashed, {
|
|
256
243
|
className: (0, import_react_ui_theme.getSize)(5)
|
|
257
|
-
}), /* @__PURE__ */
|
|
244
|
+
}), /* @__PURE__ */ import_react5.default.createElement("span", null, t("object not found label")))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Description, null, t(found ? "found object description" : waiting ? "waiting for object description" : "object not found description"))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Actions, null, found ? /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Action, {
|
|
258
245
|
altText: t("go to object alt"),
|
|
259
246
|
asChild: true
|
|
260
|
-
}, /* @__PURE__ */
|
|
247
|
+
}, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Button, {
|
|
261
248
|
variant: "primary",
|
|
262
249
|
onClick: handleNavigate
|
|
263
|
-
}, t("go to object label"))), /* @__PURE__ */
|
|
250
|
+
}, t("go to object label"))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Close, {
|
|
264
251
|
asChild: true
|
|
265
|
-
}, /* @__PURE__ */
|
|
252
|
+
}, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Button, {
|
|
266
253
|
onClick: handleClose
|
|
267
254
|
}, t("close label", {
|
|
268
255
|
ns: "appkit"
|
|
269
|
-
})))) : /* @__PURE__ */
|
|
256
|
+
})))) : /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Close, {
|
|
270
257
|
asChild: true
|
|
271
|
-
}, /* @__PURE__ */
|
|
258
|
+
}, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Button, {
|
|
272
259
|
onClick: handleClose
|
|
273
260
|
}, t(waiting ? "close label" : "confirm label", {
|
|
274
261
|
ns: "appkit"
|
|
275
262
|
})))));
|
|
276
263
|
};
|
|
277
264
|
var CollectionMain = ({ collection }) => {
|
|
278
|
-
const { t } = (0, import_react_ui3.useTranslation)(
|
|
279
|
-
return /* @__PURE__ */
|
|
265
|
+
const { t } = (0, import_react_ui3.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
266
|
+
return /* @__PURE__ */ import_react6.default.createElement("div", {
|
|
280
267
|
role: "none",
|
|
281
268
|
className: (0, import_react_ui_theme2.mx)(import_react_ui_theme2.baseSurface, "min-bs-screen is-full flex items-center justify-center p-8"),
|
|
282
269
|
"data-testid": "composer.firstRunMessage"
|
|
283
|
-
}, /* @__PURE__ */
|
|
270
|
+
}, /* @__PURE__ */ import_react6.default.createElement("p", {
|
|
284
271
|
role: "alert",
|
|
285
272
|
className: (0, import_react_ui_theme2.mx)(import_react_ui_theme2.descriptionText, "border border-dashed border-neutral-400/50 rounded-lg p-8 font-normal text-lg max-is-[24rem] break-words")
|
|
286
273
|
}, collection.name ?? t("unnamed collection label")));
|
|
287
274
|
};
|
|
288
275
|
var CollectionSection = ({ collection }) => {
|
|
289
|
-
const { t } = (0, import_react_ui4.useTranslation)(
|
|
290
|
-
return /* @__PURE__ */
|
|
276
|
+
const { t } = (0, import_react_ui4.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
277
|
+
return /* @__PURE__ */ import_react7.default.createElement("div", {
|
|
291
278
|
className: "min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center"
|
|
292
|
-
}, /* @__PURE__ */
|
|
279
|
+
}, /* @__PURE__ */ import_react7.default.createElement("span", {
|
|
293
280
|
className: "truncate"
|
|
294
281
|
}, collection.name ?? t("unnamed collection label")));
|
|
295
282
|
};
|
|
296
|
-
var
|
|
297
|
-
const { t } = (0, import_react_ui5.useTranslation)(
|
|
298
|
-
return /* @__PURE__ */
|
|
299
|
-
role: "form",
|
|
300
|
-
className: "p-3 flex flex-col gap-2"
|
|
301
|
-
}, /* @__PURE__ */ import_react7.default.createElement("div", {
|
|
283
|
+
var EmptySpace = () => {
|
|
284
|
+
const { t } = (0, import_react_ui5.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
285
|
+
return /* @__PURE__ */ import_react8.default.createElement("div", {
|
|
302
286
|
role: "none",
|
|
303
|
-
className: "
|
|
304
|
-
},
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
287
|
+
className: (0, import_react_ui_theme3.mx)("p-2 mli-2 mbe-2 text-center border border-dashed border-neutral-400/50 rounded-lg", import_react_ui_theme3.descriptionText)
|
|
288
|
+
}, t("empty space message"));
|
|
289
|
+
};
|
|
290
|
+
var EmptyTree = () => {
|
|
291
|
+
const { t } = (0, import_react_ui6.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
292
|
+
return /* @__PURE__ */ import_react9.default.createElement("div", {
|
|
293
|
+
role: "none",
|
|
294
|
+
className: (0, import_react_ui_theme4.mx)("p-2 mli-2 mbe-2 text-center border border-dashed border-neutral-400/50 rounded-lg", import_react_ui_theme4.descriptionText)
|
|
295
|
+
}, t("empty tree message"));
|
|
311
296
|
};
|
|
312
297
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
|
|
313
|
-
var SPACES = `${
|
|
298
|
+
var SPACES = `${import_chunk_6CNYF6YU.SPACE_PLUGIN}-spaces`;
|
|
314
299
|
var SPACE_TYPE = "dxos.org/type/Space";
|
|
315
300
|
var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
|
|
316
301
|
var SHARED = "shared-spaces";
|
|
@@ -326,12 +311,12 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
|
|
|
326
311
|
return space.state.get() === import_echo4.SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
|
|
327
312
|
"personal space label",
|
|
328
313
|
{
|
|
329
|
-
ns:
|
|
314
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
330
315
|
}
|
|
331
316
|
] : [
|
|
332
317
|
"unnamed space label",
|
|
333
318
|
{
|
|
334
|
-
ns:
|
|
319
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
335
320
|
}
|
|
336
321
|
];
|
|
337
322
|
};
|
|
@@ -378,8 +363,8 @@ var checkPendingMigration = (space) => {
|
|
|
378
363
|
};
|
|
379
364
|
var constructSpaceNode = ({ space, personal, namesCache, resolve }) => {
|
|
380
365
|
const hasPendingMigration = checkPendingMigration(space);
|
|
381
|
-
const collection = space.state.get() === import_echo4.SpaceState.SPACE_READY && space.properties[
|
|
382
|
-
const partials = space.state.get() === import_echo4.SpaceState.SPACE_READY && collection instanceof
|
|
366
|
+
const collection = space.state.get() === import_echo4.SpaceState.SPACE_READY && space.properties[import_chunk_CVZPI2P3.CollectionType.typename];
|
|
367
|
+
const partials = space.state.get() === import_echo4.SpaceState.SPACE_READY && collection instanceof import_chunk_CVZPI2P3.CollectionType ? getCollectionGraphNodePartials({
|
|
383
368
|
collection,
|
|
384
369
|
space,
|
|
385
370
|
resolve
|
|
@@ -395,7 +380,8 @@ var constructSpaceNode = ({ space, personal, namesCache, resolve }) => {
|
|
|
395
380
|
namesCache
|
|
396
381
|
}),
|
|
397
382
|
description: space.state.get() === import_echo4.SpaceState.SPACE_READY && space.properties.description,
|
|
398
|
-
icon:
|
|
383
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Planet, props),
|
|
384
|
+
iconSymbol: "ph--planet--regular",
|
|
399
385
|
disabled: space.state.get() !== import_echo4.SpaceState.SPACE_READY || hasPendingMigration,
|
|
400
386
|
testId: "spacePlugin.space"
|
|
401
387
|
}
|
|
@@ -408,20 +394,21 @@ var constructSpaceActionGroups = ({ space, dispatch }) => {
|
|
|
408
394
|
if (state !== import_echo4.SpaceState.SPACE_READY || hasPendingMigration) {
|
|
409
395
|
return [];
|
|
410
396
|
}
|
|
411
|
-
const collection = space.properties[
|
|
397
|
+
const collection = space.properties[import_chunk_CVZPI2P3.CollectionType.typename];
|
|
412
398
|
const actions = [
|
|
413
399
|
{
|
|
414
|
-
id: getId(
|
|
400
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT),
|
|
415
401
|
type: import_plugin_graph2.ACTION_GROUP_TYPE,
|
|
416
402
|
data: import_plugin_graph2.actionGroupSymbol,
|
|
417
403
|
properties: {
|
|
418
404
|
label: [
|
|
419
405
|
"create object in space label",
|
|
420
406
|
{
|
|
421
|
-
ns:
|
|
407
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
422
408
|
}
|
|
423
409
|
],
|
|
424
|
-
icon:
|
|
410
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Plus, props),
|
|
411
|
+
iconSymbol: "ph--plus--regular",
|
|
425
412
|
disposition: "toolbar",
|
|
426
413
|
// TODO(wittjosiah): This is currently a navtree feature. Address this with cmd+k integration.
|
|
427
414
|
// mainAreaDisposition: 'in-flow',
|
|
@@ -430,15 +417,15 @@ var constructSpaceActionGroups = ({ space, dispatch }) => {
|
|
|
430
417
|
},
|
|
431
418
|
nodes: [
|
|
432
419
|
{
|
|
433
|
-
id: getId(
|
|
420
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT.replace("object", "collection")),
|
|
434
421
|
type: import_plugin_graph2.ACTION_TYPE,
|
|
435
422
|
data: () => dispatch([
|
|
436
423
|
{
|
|
437
|
-
plugin:
|
|
438
|
-
action:
|
|
424
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
425
|
+
action: import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT,
|
|
439
426
|
data: {
|
|
440
427
|
target: collection,
|
|
441
|
-
object: (0, import_echo_schema2.create)(
|
|
428
|
+
object: (0, import_echo_schema2.create)(import_chunk_CVZPI2P3.CollectionType, {
|
|
442
429
|
objects: [],
|
|
443
430
|
views: {}
|
|
444
431
|
})
|
|
@@ -452,10 +439,11 @@ var constructSpaceActionGroups = ({ space, dispatch }) => {
|
|
|
452
439
|
label: [
|
|
453
440
|
"create collection label",
|
|
454
441
|
{
|
|
455
|
-
ns:
|
|
442
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
456
443
|
}
|
|
457
444
|
],
|
|
458
|
-
icon:
|
|
445
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.CardsThree, props),
|
|
446
|
+
iconSymbol: "ph--cards-three--regular",
|
|
459
447
|
testId: "spacePlugin.createCollection"
|
|
460
448
|
}
|
|
461
449
|
}
|
|
@@ -471,12 +459,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
471
459
|
const actions = [];
|
|
472
460
|
if (hasPendingMigration) {
|
|
473
461
|
actions.push({
|
|
474
|
-
id: getId(
|
|
462
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.MIGRATE),
|
|
475
463
|
type: import_plugin_graph2.ACTION_GROUP_TYPE,
|
|
476
464
|
data: async () => {
|
|
477
465
|
await dispatch({
|
|
478
|
-
plugin:
|
|
479
|
-
action:
|
|
466
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
467
|
+
action: import_chunk_6CNYF6YU.SpaceAction.MIGRATE,
|
|
480
468
|
data: {
|
|
481
469
|
space
|
|
482
470
|
}
|
|
@@ -486,10 +474,11 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
486
474
|
label: [
|
|
487
475
|
"migrate space label",
|
|
488
476
|
{
|
|
489
|
-
ns:
|
|
477
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
490
478
|
}
|
|
491
479
|
],
|
|
492
|
-
icon:
|
|
480
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Database, props),
|
|
481
|
+
iconSymbol: "ph--database--regular",
|
|
493
482
|
disposition: "toolbar",
|
|
494
483
|
mainAreaDisposition: "in-flow",
|
|
495
484
|
disabled: migrating || import_migrations2.Migrations.running(space)
|
|
@@ -499,15 +488,15 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
499
488
|
if (state === import_echo4.SpaceState.SPACE_READY && !hasPendingMigration) {
|
|
500
489
|
const locked = space.properties[COMPOSER_SPACE_LOCK];
|
|
501
490
|
actions.push({
|
|
502
|
-
id: getId(
|
|
491
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.SHARE),
|
|
503
492
|
type: import_plugin_graph2.ACTION_TYPE,
|
|
504
493
|
data: async () => {
|
|
505
494
|
if (locked) {
|
|
506
495
|
return;
|
|
507
496
|
}
|
|
508
497
|
await dispatch({
|
|
509
|
-
plugin:
|
|
510
|
-
action:
|
|
498
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
499
|
+
action: import_chunk_6CNYF6YU.SpaceAction.SHARE,
|
|
511
500
|
data: {
|
|
512
501
|
spaceId: space.id
|
|
513
502
|
}
|
|
@@ -517,10 +506,11 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
517
506
|
label: [
|
|
518
507
|
"share space label",
|
|
519
508
|
{
|
|
520
|
-
ns:
|
|
509
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
521
510
|
}
|
|
522
511
|
],
|
|
523
|
-
icon:
|
|
512
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Users, props),
|
|
513
|
+
iconSymbol: "ph--users--regular",
|
|
524
514
|
disabled: locked,
|
|
525
515
|
keyBinding: {
|
|
526
516
|
macos: "meta+.",
|
|
@@ -529,12 +519,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
529
519
|
mainAreaDisposition: "absent"
|
|
530
520
|
}
|
|
531
521
|
}, {
|
|
532
|
-
id: locked ? getId(
|
|
522
|
+
id: locked ? getId(import_chunk_6CNYF6YU.SpaceAction.UNLOCK) : getId(import_chunk_6CNYF6YU.SpaceAction.LOCK),
|
|
533
523
|
type: import_plugin_graph2.ACTION_TYPE,
|
|
534
524
|
data: async () => {
|
|
535
525
|
await dispatch({
|
|
536
|
-
plugin:
|
|
537
|
-
action: locked ?
|
|
526
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
527
|
+
action: locked ? import_chunk_6CNYF6YU.SpaceAction.UNLOCK : import_chunk_6CNYF6YU.SpaceAction.LOCK,
|
|
538
528
|
data: {
|
|
539
529
|
space
|
|
540
530
|
}
|
|
@@ -544,18 +534,19 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
544
534
|
label: [
|
|
545
535
|
locked ? "unlock space label" : "lock space label",
|
|
546
536
|
{
|
|
547
|
-
ns:
|
|
537
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
548
538
|
}
|
|
549
539
|
],
|
|
550
|
-
icon: locked ?
|
|
540
|
+
icon: locked ? (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.LockSimpleOpen, props) : (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.LockSimple, props),
|
|
541
|
+
iconSymbol: locked ? "ph--lock-simple-open--regular" : "ph--lock-simple--regular"
|
|
551
542
|
}
|
|
552
543
|
}, {
|
|
553
|
-
id: getId(
|
|
544
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.RENAME),
|
|
554
545
|
type: import_plugin_graph2.ACTION_TYPE,
|
|
555
546
|
data: async (params) => {
|
|
556
547
|
await dispatch({
|
|
557
|
-
plugin:
|
|
558
|
-
action:
|
|
548
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
549
|
+
action: import_chunk_6CNYF6YU.SpaceAction.RENAME,
|
|
559
550
|
data: {
|
|
560
551
|
space,
|
|
561
552
|
...params
|
|
@@ -566,10 +557,11 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
566
557
|
label: [
|
|
567
558
|
"rename space label",
|
|
568
559
|
{
|
|
569
|
-
ns:
|
|
560
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
570
561
|
}
|
|
571
562
|
],
|
|
572
|
-
icon:
|
|
563
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.PencilSimpleLine, props),
|
|
564
|
+
iconSymbol: "ph--pencil-simple-line--regular",
|
|
573
565
|
keyBinding: {
|
|
574
566
|
macos: "shift+F6",
|
|
575
567
|
windows: "shift+F6"
|
|
@@ -580,12 +572,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
580
572
|
}
|
|
581
573
|
if (state !== import_echo4.SpaceState.SPACE_INACTIVE && !hasPendingMigration) {
|
|
582
574
|
actions.push({
|
|
583
|
-
id: getId(
|
|
575
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.CLOSE),
|
|
584
576
|
type: import_plugin_graph2.ACTION_TYPE,
|
|
585
577
|
data: async () => {
|
|
586
578
|
await dispatch({
|
|
587
|
-
plugin:
|
|
588
|
-
action:
|
|
579
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
580
|
+
action: import_chunk_6CNYF6YU.SpaceAction.CLOSE,
|
|
589
581
|
data: {
|
|
590
582
|
space
|
|
591
583
|
}
|
|
@@ -595,10 +587,11 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
595
587
|
label: [
|
|
596
588
|
"close space label",
|
|
597
589
|
{
|
|
598
|
-
ns:
|
|
590
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
599
591
|
}
|
|
600
592
|
],
|
|
601
|
-
icon:
|
|
593
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.X, props),
|
|
594
|
+
iconSymbol: "ph--x--regular",
|
|
602
595
|
mainAreaDisposition: "menu",
|
|
603
596
|
disabled: personal
|
|
604
597
|
}
|
|
@@ -606,12 +599,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
606
599
|
}
|
|
607
600
|
if (state === import_echo4.SpaceState.SPACE_INACTIVE) {
|
|
608
601
|
actions.push({
|
|
609
|
-
id: getId(
|
|
602
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.OPEN),
|
|
610
603
|
type: import_plugin_graph2.ACTION_TYPE,
|
|
611
604
|
data: async () => {
|
|
612
605
|
await dispatch({
|
|
613
|
-
plugin:
|
|
614
|
-
action:
|
|
606
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
607
|
+
action: import_chunk_6CNYF6YU.SpaceAction.OPEN,
|
|
615
608
|
data: {
|
|
616
609
|
space
|
|
617
610
|
}
|
|
@@ -621,10 +614,11 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
|
|
|
621
614
|
label: [
|
|
622
615
|
"open space label",
|
|
623
616
|
{
|
|
624
|
-
ns:
|
|
617
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
625
618
|
}
|
|
626
619
|
],
|
|
627
|
-
icon:
|
|
620
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.ClockCounterClockwise, props),
|
|
621
|
+
iconSymbol: "ph--clock-counter-clockwise--regular",
|
|
628
622
|
disposition: "toolbar",
|
|
629
623
|
mainAreaDisposition: "in-flow"
|
|
630
624
|
}
|
|
@@ -641,7 +635,7 @@ var createObjectNode = ({ object, space, resolve }) => {
|
|
|
641
635
|
if (Object.keys(metadata).length === 0) {
|
|
642
636
|
return void 0;
|
|
643
637
|
}
|
|
644
|
-
const partials = object instanceof
|
|
638
|
+
const partials = object instanceof import_chunk_CVZPI2P3.CollectionType ? getCollectionGraphNodePartials({
|
|
645
639
|
collection: object,
|
|
646
640
|
space,
|
|
647
641
|
resolve
|
|
@@ -655,10 +649,11 @@ var createObjectNode = ({ object, space, resolve }) => {
|
|
|
655
649
|
label: metadata.label?.(object) || object.name || metadata.placeholder || [
|
|
656
650
|
"unnamed object label",
|
|
657
651
|
{
|
|
658
|
-
ns:
|
|
652
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
659
653
|
}
|
|
660
654
|
],
|
|
661
|
-
icon: metadata.icon ??
|
|
655
|
+
icon: metadata.icon ?? (() => /* @__PURE__ */ import_react13.default.createElement(import_react12.Placeholder, null)),
|
|
656
|
+
iconSymbol: metadata.iconSymbol ?? "ph--placeholder--regular",
|
|
662
657
|
testId: "spacePlugin.object",
|
|
663
658
|
persistenceClass: "echo",
|
|
664
659
|
persistenceKey: space?.id
|
|
@@ -666,24 +661,25 @@ var createObjectNode = ({ object, space, resolve }) => {
|
|
|
666
661
|
};
|
|
667
662
|
};
|
|
668
663
|
var constructObjectActionGroups = ({ object, dispatch }) => {
|
|
669
|
-
if (!(object instanceof
|
|
664
|
+
if (!(object instanceof import_chunk_CVZPI2P3.CollectionType)) {
|
|
670
665
|
return [];
|
|
671
666
|
}
|
|
672
667
|
const collection = object;
|
|
673
668
|
const getId = (id) => `${id}/${(0, import_echo4.fullyQualifiedId)(object)}`;
|
|
674
669
|
const actions = [
|
|
675
670
|
{
|
|
676
|
-
id: getId(
|
|
671
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT),
|
|
677
672
|
type: import_plugin_graph2.ACTION_GROUP_TYPE,
|
|
678
673
|
data: import_plugin_graph2.actionGroupSymbol,
|
|
679
674
|
properties: {
|
|
680
675
|
label: [
|
|
681
676
|
"create object in collection label",
|
|
682
677
|
{
|
|
683
|
-
ns:
|
|
678
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
684
679
|
}
|
|
685
680
|
],
|
|
686
|
-
icon:
|
|
681
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Plus, props),
|
|
682
|
+
iconSymbol: "ph--plus--regular",
|
|
687
683
|
disposition: "toolbar",
|
|
688
684
|
// TODO(wittjosiah): This is currently a navtree feature. Address this with cmd+k integration.
|
|
689
685
|
// mainAreaDisposition: 'in-flow',
|
|
@@ -692,15 +688,15 @@ var constructObjectActionGroups = ({ object, dispatch }) => {
|
|
|
692
688
|
},
|
|
693
689
|
nodes: [
|
|
694
690
|
{
|
|
695
|
-
id: getId(
|
|
691
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT.replace("object", "collection")),
|
|
696
692
|
type: import_plugin_graph2.ACTION_TYPE,
|
|
697
693
|
data: () => dispatch([
|
|
698
694
|
{
|
|
699
|
-
plugin:
|
|
700
|
-
action:
|
|
695
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
696
|
+
action: import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT,
|
|
701
697
|
data: {
|
|
702
698
|
target: collection,
|
|
703
|
-
object: (0, import_echo_schema2.create)(
|
|
699
|
+
object: (0, import_echo_schema2.create)(import_chunk_CVZPI2P3.CollectionType, {
|
|
704
700
|
objects: [],
|
|
705
701
|
views: {}
|
|
706
702
|
})
|
|
@@ -714,10 +710,11 @@ var constructObjectActionGroups = ({ object, dispatch }) => {
|
|
|
714
710
|
label: [
|
|
715
711
|
"create collection label",
|
|
716
712
|
{
|
|
717
|
-
ns:
|
|
713
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
718
714
|
}
|
|
719
715
|
],
|
|
720
|
-
icon:
|
|
716
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.CardsThree, props),
|
|
717
|
+
iconSymbol: "ph--cards-three--regular",
|
|
721
718
|
testId: "spacePlugin.createCollection"
|
|
722
719
|
}
|
|
723
720
|
}
|
|
@@ -731,11 +728,11 @@ var constructObjectActions = ({ node, dispatch }) => {
|
|
|
731
728
|
const getId = (id) => `${id}/${(0, import_echo4.fullyQualifiedId)(object)}`;
|
|
732
729
|
const actions = [
|
|
733
730
|
{
|
|
734
|
-
id: getId(
|
|
731
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.RENAME_OBJECT),
|
|
735
732
|
type: import_plugin_graph2.ACTION_TYPE,
|
|
736
733
|
data: async (params) => {
|
|
737
734
|
await dispatch({
|
|
738
|
-
action:
|
|
735
|
+
action: import_chunk_6CNYF6YU.SpaceAction.RENAME_OBJECT,
|
|
739
736
|
data: {
|
|
740
737
|
object,
|
|
741
738
|
...params
|
|
@@ -744,28 +741,29 @@ var constructObjectActions = ({ node, dispatch }) => {
|
|
|
744
741
|
},
|
|
745
742
|
properties: {
|
|
746
743
|
label: [
|
|
747
|
-
object instanceof
|
|
744
|
+
object instanceof import_chunk_CVZPI2P3.CollectionType ? "rename collection label" : "rename object label",
|
|
748
745
|
{
|
|
749
|
-
ns:
|
|
746
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
750
747
|
}
|
|
751
748
|
],
|
|
752
|
-
icon:
|
|
749
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.PencilSimpleLine, props),
|
|
750
|
+
iconSymbol: "ph--pencil-simple-line--regular",
|
|
753
751
|
// TODO(wittjosiah): Doesn't work.
|
|
754
752
|
// keyBinding: 'shift+F6',
|
|
755
753
|
testId: "spacePlugin.renameObject"
|
|
756
754
|
}
|
|
757
755
|
},
|
|
758
756
|
{
|
|
759
|
-
id: getId(
|
|
757
|
+
id: getId(import_chunk_6CNYF6YU.SpaceAction.REMOVE_OBJECT),
|
|
760
758
|
type: import_plugin_graph2.ACTION_TYPE,
|
|
761
759
|
data: async () => {
|
|
762
760
|
const graph = (0, import_plugin_graph2.getGraph)(node);
|
|
763
761
|
const collection = graph.nodes(node, {
|
|
764
762
|
relation: "inbound"
|
|
765
|
-
}).find(({ data }) => data instanceof
|
|
763
|
+
}).find(({ data }) => data instanceof import_chunk_CVZPI2P3.CollectionType)?.data;
|
|
766
764
|
await dispatch([
|
|
767
765
|
{
|
|
768
|
-
action:
|
|
766
|
+
action: import_chunk_6CNYF6YU.SpaceAction.REMOVE_OBJECT,
|
|
769
767
|
data: {
|
|
770
768
|
object,
|
|
771
769
|
collection
|
|
@@ -775,13 +773,14 @@ var constructObjectActions = ({ node, dispatch }) => {
|
|
|
775
773
|
},
|
|
776
774
|
properties: {
|
|
777
775
|
label: [
|
|
778
|
-
object instanceof
|
|
776
|
+
object instanceof import_chunk_CVZPI2P3.CollectionType ? "delete collection label" : "delete object label",
|
|
779
777
|
{
|
|
780
|
-
ns:
|
|
778
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
781
779
|
}
|
|
782
780
|
],
|
|
783
|
-
icon:
|
|
784
|
-
|
|
781
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Trash, props),
|
|
782
|
+
iconSymbol: "ph--trash--regular",
|
|
783
|
+
keyBinding: object instanceof import_chunk_CVZPI2P3.CollectionType ? void 0 : "shift+meta+Backspace",
|
|
785
784
|
testId: "spacePlugin.deleteObject"
|
|
786
785
|
}
|
|
787
786
|
},
|
|
@@ -796,10 +795,11 @@ var constructObjectActions = ({ node, dispatch }) => {
|
|
|
796
795
|
label: [
|
|
797
796
|
"copy link label",
|
|
798
797
|
{
|
|
799
|
-
ns:
|
|
798
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
800
799
|
}
|
|
801
800
|
],
|
|
802
|
-
icon:
|
|
801
|
+
icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Link, props),
|
|
802
|
+
iconSymbol: "ph--link--regular",
|
|
803
803
|
testId: "spacePlugin.copyLink"
|
|
804
804
|
}
|
|
805
805
|
}
|
|
@@ -835,12 +835,12 @@ var getNestedObjects = async (object, resolve) => {
|
|
|
835
835
|
};
|
|
836
836
|
var cloneObject = async (object, resolve) => {
|
|
837
837
|
const schema = (0, import_echo_schema2.getSchema)(object);
|
|
838
|
-
const typename = schema ? (0, import_echo_schema2.
|
|
838
|
+
const typename = schema ? (0, import_echo_schema2.getEchoObjectAnnotation)(schema)?.typename ?? import_echo_schema2.EXPANDO_TYPENAME : import_echo_schema2.EXPANDO_TYPENAME;
|
|
839
839
|
const metadata = resolve(typename);
|
|
840
840
|
const serializer = metadata.serializer;
|
|
841
841
|
(0, import_invariant.invariant)(serializer, `No serializer for type: ${typename}`, {
|
|
842
842
|
F: __dxlog_file,
|
|
843
|
-
L:
|
|
843
|
+
L: 639,
|
|
844
844
|
S: void 0,
|
|
845
845
|
A: [
|
|
846
846
|
"serializer",
|
|
@@ -856,36 +856,36 @@ var cloneObject = async (object, resolve) => {
|
|
|
856
856
|
});
|
|
857
857
|
};
|
|
858
858
|
var MenuFooter = ({ object }) => {
|
|
859
|
-
const { t } = (0,
|
|
859
|
+
const { t } = (0, import_react_ui7.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
860
860
|
const client = (0, import_react_client3.useClient)();
|
|
861
861
|
const space = (0, import_echo3.getSpace)(object);
|
|
862
862
|
const spaceName = space ? getSpaceDisplayName(space, {
|
|
863
863
|
personal: client.spaces.default === space
|
|
864
864
|
}) : "";
|
|
865
|
-
return space ? /* @__PURE__ */
|
|
865
|
+
return space ? /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.DropdownMenu.Separator, null), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.DropdownMenu.GroupLabel, null, t("menu footer label")), /* @__PURE__ */ import_react11.default.createElement("dl", {
|
|
866
866
|
className: "pis-2 mbe-2 text-xs grid grid-cols-[max-content_1fr] gap-2"
|
|
867
|
-
}, /* @__PURE__ */
|
|
867
|
+
}, /* @__PURE__ */ import_react11.default.createElement("dt", {
|
|
868
868
|
className: "uppercase text-[.75em] tracking-wide font-medium mbs-px self-start"
|
|
869
|
-
}, t("location label")), /* @__PURE__ */
|
|
869
|
+
}, t("location label")), /* @__PURE__ */ import_react11.default.createElement("dd", {
|
|
870
870
|
className: "line-clamp-3"
|
|
871
|
-
}, /* @__PURE__ */
|
|
871
|
+
}, /* @__PURE__ */ import_react11.default.createElement(import_react10.Planet, {
|
|
872
872
|
className: "inline-block mie-1"
|
|
873
|
-
}), (0,
|
|
873
|
+
}), (0, import_react_ui7.toLocalizedString)(spaceName, t)))) : null;
|
|
874
874
|
};
|
|
875
875
|
var WAIT_FOR_OBJECT_TIMEOUT2 = 1e3;
|
|
876
876
|
var MissingObject = ({ id }) => {
|
|
877
|
-
const { t } = (0,
|
|
878
|
-
const [waiting, setWaiting] = (0,
|
|
877
|
+
const { t } = (0, import_react_ui8.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
878
|
+
const [waiting, setWaiting] = (0, import_react14.useState)(false);
|
|
879
879
|
const intentPlugin = (0, import_app_framework4.useResolvePlugin)(import_app_framework4.parseIntentPlugin);
|
|
880
|
-
(0,
|
|
880
|
+
(0, import_react14.useEffect)(() => {
|
|
881
881
|
if (!intentPlugin) {
|
|
882
882
|
return;
|
|
883
883
|
}
|
|
884
884
|
const timeout = setTimeout(async () => {
|
|
885
885
|
setWaiting(true);
|
|
886
886
|
await intentPlugin.provides.intent.dispatch({
|
|
887
|
-
plugin:
|
|
888
|
-
action:
|
|
887
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
888
|
+
action: import_chunk_6CNYF6YU.SpaceAction.WAIT_FOR_OBJECT,
|
|
889
889
|
data: {
|
|
890
890
|
id
|
|
891
891
|
}
|
|
@@ -896,13 +896,13 @@ var MissingObject = ({ id }) => {
|
|
|
896
896
|
intentPlugin,
|
|
897
897
|
id
|
|
898
898
|
]);
|
|
899
|
-
return /* @__PURE__ */
|
|
899
|
+
return /* @__PURE__ */ import_react14.default.createElement("div", {
|
|
900
900
|
role: "none",
|
|
901
|
-
className: (0,
|
|
902
|
-
}, waiting ? /* @__PURE__ */
|
|
901
|
+
className: (0, import_react_ui_theme5.mx)(import_react_ui_theme5.baseSurface, "min-bs-screen is-full flex items-center justify-center p-8")
|
|
902
|
+
}, waiting ? /* @__PURE__ */ import_react14.default.createElement("p", {
|
|
903
903
|
role: "alert",
|
|
904
|
-
className: (0,
|
|
905
|
-
}, t("missing object message")) : /* @__PURE__ */
|
|
904
|
+
className: (0, import_react_ui_theme5.mx)(import_react_ui_theme5.descriptionText, "border border-dashed border-neutral-400/50 rounded-lg flex items-center justify-center p-8 font-normal text-lg")
|
|
905
|
+
}, t("missing object message")) : /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Status, {
|
|
906
906
|
indeterminate: true,
|
|
907
907
|
"aria-label": "Initializing"
|
|
908
908
|
}));
|
|
@@ -914,12 +914,12 @@ var Status2;
|
|
|
914
914
|
Status3[Status3["ERROR"] = 2] = "ERROR";
|
|
915
915
|
})(Status2 || (Status2 = {}));
|
|
916
916
|
var PersistenceStatus = ({ db }) => {
|
|
917
|
-
const { t } = (0,
|
|
918
|
-
const [displayMessage, setDisplayMessage] = (0,
|
|
919
|
-
const [status, naturalSetStatus] = (0,
|
|
920
|
-
const [prevStatus, setPrevStatus] = (0,
|
|
917
|
+
const { t } = (0, import_react_ui9.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
918
|
+
const [displayMessage, setDisplayMessage] = (0, import_react16.useState)(false);
|
|
919
|
+
const [status, naturalSetStatus] = (0, import_react16.useState)(0);
|
|
920
|
+
const [prevStatus, setPrevStatus] = (0, import_react16.useState)(0);
|
|
921
921
|
const _setStatus = (0, import_async2.debounce)(naturalSetStatus, 500);
|
|
922
|
-
(0,
|
|
922
|
+
(0, import_react16.useEffect)(() => {
|
|
923
923
|
setPrevStatus(status);
|
|
924
924
|
if (prevStatus !== status && status === 0) {
|
|
925
925
|
setDisplayMessage(true);
|
|
@@ -931,44 +931,44 @@ var PersistenceStatus = ({ db }) => {
|
|
|
931
931
|
]);
|
|
932
932
|
switch (status) {
|
|
933
933
|
case 2:
|
|
934
|
-
return /* @__PURE__ */
|
|
934
|
+
return /* @__PURE__ */ import_react16.default.createElement("div", {
|
|
935
935
|
className: "flex items-center"
|
|
936
|
-
}, /* @__PURE__ */
|
|
937
|
-
className: (0,
|
|
938
|
-
}), /* @__PURE__ */
|
|
939
|
-
className: (0,
|
|
936
|
+
}, /* @__PURE__ */ import_react16.default.createElement(import_react15.Warning, {
|
|
937
|
+
className: (0, import_react_ui_theme6.mx)((0, import_react_ui_theme6.getSize)(4), "me-1")
|
|
938
|
+
}), /* @__PURE__ */ import_react16.default.createElement("span", {
|
|
939
|
+
className: (0, import_react_ui_theme6.mx)("text-sm", import_react_ui_theme6.warningText)
|
|
940
940
|
}, t("persistence error label")));
|
|
941
941
|
case 1:
|
|
942
|
-
return /* @__PURE__ */
|
|
942
|
+
return /* @__PURE__ */ import_react16.default.createElement("div", {
|
|
943
943
|
className: "flex items-center"
|
|
944
|
-
}, /* @__PURE__ */
|
|
945
|
-
className: (0,
|
|
946
|
-
}), /* @__PURE__ */
|
|
947
|
-
className: (0,
|
|
944
|
+
}, /* @__PURE__ */ import_react16.default.createElement(import_react15.ArrowsCounterClockwise, {
|
|
945
|
+
className: (0, import_react_ui_theme6.mx)((0, import_react_ui_theme6.getSize)(4), "me-1")
|
|
946
|
+
}), /* @__PURE__ */ import_react16.default.createElement("span", {
|
|
947
|
+
className: (0, import_react_ui_theme6.mx)("text-sm", import_react_ui_theme6.staticPlaceholderText)
|
|
948
948
|
}, t("persistence pending label")));
|
|
949
949
|
case 0:
|
|
950
950
|
default:
|
|
951
|
-
return /* @__PURE__ */
|
|
951
|
+
return /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Root, {
|
|
952
952
|
delayDuration: 400
|
|
953
|
-
}, /* @__PURE__ */
|
|
953
|
+
}, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Trigger, {
|
|
954
954
|
role: "status",
|
|
955
955
|
className: "flex items-center"
|
|
956
|
-
}, /* @__PURE__ */
|
|
957
|
-
className: (0,
|
|
958
|
-
}), displayMessage && /* @__PURE__ */
|
|
959
|
-
className: (0,
|
|
960
|
-
}, t("persisted locally label"))), /* @__PURE__ */
|
|
956
|
+
}, /* @__PURE__ */ import_react16.default.createElement(import_react15.CheckCircle, {
|
|
957
|
+
className: (0, import_react_ui_theme6.mx)((0, import_react_ui_theme6.getSize)(4), "me-1")
|
|
958
|
+
}), displayMessage && /* @__PURE__ */ import_react16.default.createElement("span", {
|
|
959
|
+
className: (0, import_react_ui_theme6.mx)("text-sm", import_react_ui_theme6.staticPlaceholderText)
|
|
960
|
+
}, t("persisted locally label"))), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Portal, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Content, {
|
|
961
961
|
classNames: "z-10"
|
|
962
|
-
}, t("persisted locally message"), /* @__PURE__ */
|
|
962
|
+
}, t("persisted locally message"), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Arrow, null))));
|
|
963
963
|
}
|
|
964
964
|
};
|
|
965
965
|
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
|
|
966
966
|
var PopoverRenameObject = ({ object: obj }) => {
|
|
967
|
-
const { t } = (0,
|
|
968
|
-
const doneButton = (0,
|
|
967
|
+
const { t } = (0, import_react_ui10.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
968
|
+
const doneButton = (0, import_react17.useRef)(null);
|
|
969
969
|
const object = obj;
|
|
970
|
-
const [name, setName] = (0,
|
|
971
|
-
const handleDone = (0,
|
|
970
|
+
const [name, setName] = (0, import_react17.useState)(object.name || object.title || "");
|
|
971
|
+
const handleDone = (0, import_react17.useCallback)(() => {
|
|
972
972
|
try {
|
|
973
973
|
object.name = name;
|
|
974
974
|
} catch {
|
|
@@ -989,23 +989,23 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
989
989
|
object,
|
|
990
990
|
name
|
|
991
991
|
]);
|
|
992
|
-
return /* @__PURE__ */
|
|
992
|
+
return /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
993
993
|
role: "none",
|
|
994
994
|
className: "p-1 flex gap-2"
|
|
995
|
-
}, /* @__PURE__ */
|
|
995
|
+
}, /* @__PURE__ */ import_react17.default.createElement("div", {
|
|
996
996
|
role: "none",
|
|
997
997
|
className: "flex-1"
|
|
998
|
-
}, /* @__PURE__ */
|
|
998
|
+
}, /* @__PURE__ */ import_react17.default.createElement(import_react_ui10.Input.Root, null, /* @__PURE__ */ import_react17.default.createElement(import_react_ui10.Input.Label, {
|
|
999
999
|
srOnly: true
|
|
1000
|
-
}, t("object name label")), /* @__PURE__ */
|
|
1000
|
+
}, t("object name label")), /* @__PURE__ */ import_react17.default.createElement(import_react_ui10.Input.TextInput, {
|
|
1001
1001
|
placeholder: t("object title placeholder"),
|
|
1002
1002
|
value: name,
|
|
1003
1003
|
"data-testid": "spacePlugin.renameObject.input",
|
|
1004
1004
|
onChange: ({ target: { value } }) => setName(value),
|
|
1005
1005
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
1006
|
-
}))), /* @__PURE__ */
|
|
1006
|
+
}))), /* @__PURE__ */ import_react17.default.createElement(import_react_ui10.Popover.Close, {
|
|
1007
1007
|
asChild: true
|
|
1008
|
-
}, /* @__PURE__ */
|
|
1008
|
+
}, /* @__PURE__ */ import_react17.default.createElement(import_react_ui10.Button, {
|
|
1009
1009
|
ref: doneButton,
|
|
1010
1010
|
classNames: "self-stretch",
|
|
1011
1011
|
onClick: handleDone
|
|
@@ -1014,33 +1014,33 @@ var PopoverRenameObject = ({ object: obj }) => {
|
|
|
1014
1014
|
}))));
|
|
1015
1015
|
};
|
|
1016
1016
|
var PopoverRenameSpace = ({ space }) => {
|
|
1017
|
-
const { t } = (0,
|
|
1018
|
-
const doneButton = (0,
|
|
1019
|
-
const [name, setName] = (0,
|
|
1020
|
-
const handleDone = (0,
|
|
1017
|
+
const { t } = (0, import_react_ui11.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
1018
|
+
const doneButton = (0, import_react18.useRef)(null);
|
|
1019
|
+
const [name, setName] = (0, import_react18.useState)(space.properties.name ?? "");
|
|
1020
|
+
const handleDone = (0, import_react18.useCallback)(() => {
|
|
1021
1021
|
space.properties.name = name;
|
|
1022
1022
|
}, [
|
|
1023
1023
|
space,
|
|
1024
1024
|
name
|
|
1025
1025
|
]);
|
|
1026
|
-
return /* @__PURE__ */
|
|
1026
|
+
return /* @__PURE__ */ import_react18.default.createElement("div", {
|
|
1027
1027
|
role: "none",
|
|
1028
1028
|
className: "p-1 flex gap-2"
|
|
1029
|
-
}, /* @__PURE__ */
|
|
1029
|
+
}, /* @__PURE__ */ import_react18.default.createElement("div", {
|
|
1030
1030
|
role: "none",
|
|
1031
1031
|
className: "flex-1"
|
|
1032
|
-
}, /* @__PURE__ */
|
|
1032
|
+
}, /* @__PURE__ */ import_react18.default.createElement(import_react_ui11.Input.Root, null, /* @__PURE__ */ import_react18.default.createElement(import_react_ui11.Input.Label, {
|
|
1033
1033
|
srOnly: true
|
|
1034
|
-
}, t("space name label")), /* @__PURE__ */
|
|
1034
|
+
}, t("space name label")), /* @__PURE__ */ import_react18.default.createElement(import_react_ui11.Input.TextInput, {
|
|
1035
1035
|
defaultValue: space.properties.name ?? "",
|
|
1036
1036
|
placeholder: t("unnamed space label"),
|
|
1037
1037
|
onChange: ({ target: { value } }) => setName(value),
|
|
1038
1038
|
// TODO(wittjosiah): Ideally this should access the popover context to close the popover.
|
|
1039
1039
|
// Currently this is not possible because Radix does not expose the popover context.
|
|
1040
1040
|
onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
|
|
1041
|
-
}))), /* @__PURE__ */
|
|
1041
|
+
}))), /* @__PURE__ */ import_react18.default.createElement(import_react_ui11.Popover.Close, {
|
|
1042
1042
|
asChild: true
|
|
1043
|
-
}, /* @__PURE__ */
|
|
1043
|
+
}, /* @__PURE__ */ import_react18.default.createElement(import_react_ui11.Button, {
|
|
1044
1044
|
ref: doneButton,
|
|
1045
1045
|
classNames: "self-stretch",
|
|
1046
1046
|
onClick: handleDone
|
|
@@ -1050,9 +1050,9 @@ var PopoverRenameSpace = ({ space }) => {
|
|
|
1050
1050
|
};
|
|
1051
1051
|
var ShareSpaceButton = ({ spaceId }) => {
|
|
1052
1052
|
const dispatch = (0, import_app_framework5.useIntentDispatcher)();
|
|
1053
|
-
return /* @__PURE__ */
|
|
1053
|
+
return /* @__PURE__ */ import_react19.default.createElement(ShareSpaceButtonImpl, {
|
|
1054
1054
|
onClick: () => dispatch({
|
|
1055
|
-
action:
|
|
1055
|
+
action: import_chunk_6CNYF6YU.SpaceAction.SHARE,
|
|
1056
1056
|
data: {
|
|
1057
1057
|
spaceId
|
|
1058
1058
|
}
|
|
@@ -1060,8 +1060,8 @@ var ShareSpaceButton = ({ spaceId }) => {
|
|
|
1060
1060
|
});
|
|
1061
1061
|
};
|
|
1062
1062
|
var ShareSpaceButtonImpl = ({ onClick }) => {
|
|
1063
|
-
const { t } = (0,
|
|
1064
|
-
return /* @__PURE__ */
|
|
1063
|
+
const { t } = (0, import_react_ui12.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
1064
|
+
return /* @__PURE__ */ import_react19.default.createElement(import_react_ui12.Button, {
|
|
1065
1065
|
"data-testid": "spacePlugin.shareSpaceButton",
|
|
1066
1066
|
onClick,
|
|
1067
1067
|
classNames: "mli-1"
|
|
@@ -1071,9 +1071,9 @@ var activeActionKeyStorageKey = "dxos:react-shell/space-manager/active-action";
|
|
|
1071
1071
|
var Presence = import_echo6.SpaceMember.PresenceState;
|
|
1072
1072
|
var handleCreateInvitationUrl = (invitationCode) => `${origin}?spaceInvitationCode=${invitationCode}`;
|
|
1073
1073
|
var SpaceMemberList = ({ members }) => {
|
|
1074
|
-
return members.length > 0 ? /* @__PURE__ */
|
|
1074
|
+
return members.length > 0 ? /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.List, {
|
|
1075
1075
|
classNames: "col-start-2 col-end-5 gap-y-1 grid grid-cols-subgrid items-center"
|
|
1076
|
-
}, members.map((member) => /* @__PURE__ */
|
|
1076
|
+
}, members.map((member) => /* @__PURE__ */ import_react24.default.createElement(import_react25.IdentityListItem, {
|
|
1077
1077
|
classNames: "contents",
|
|
1078
1078
|
key: member.identity.identityKey.toHex(),
|
|
1079
1079
|
identity: member.identity,
|
|
@@ -1081,7 +1081,7 @@ var SpaceMemberList = ({ members }) => {
|
|
|
1081
1081
|
}))) : null;
|
|
1082
1082
|
};
|
|
1083
1083
|
var SpaceMembersSection = ({ space }) => {
|
|
1084
|
-
const { t } = (0,
|
|
1084
|
+
const { t } = (0, import_react_ui14.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
1085
1085
|
const invitations = (0, import_echo6.useSpaceInvitations)(space.key);
|
|
1086
1086
|
const { dispatch } = (0, import_app_framework7.useIntent)();
|
|
1087
1087
|
const handleCloseDialog = () => dispatch({
|
|
@@ -1117,8 +1117,8 @@ var SpaceMembersSection = ({ space }) => {
|
|
|
1117
1117
|
description: t("invite one description", {
|
|
1118
1118
|
ns: "os"
|
|
1119
1119
|
}),
|
|
1120
|
-
icon:
|
|
1121
|
-
onClick: (0,
|
|
1120
|
+
icon: import_react23.UserPlus,
|
|
1121
|
+
onClick: (0, import_react24.useCallback)(() => {
|
|
1122
1122
|
space.share?.({
|
|
1123
1123
|
type: import_invitations2.Invitation.Type.INTERACTIVE,
|
|
1124
1124
|
authMethod: import_invitations2.Invitation.AuthMethod.SHARED_SECRET
|
|
@@ -1134,8 +1134,8 @@ var SpaceMembersSection = ({ space }) => {
|
|
|
1134
1134
|
description: t("invite many description", {
|
|
1135
1135
|
ns: "os"
|
|
1136
1136
|
}),
|
|
1137
|
-
icon:
|
|
1138
|
-
onClick: (0,
|
|
1137
|
+
icon: import_react23.UsersThree,
|
|
1138
|
+
onClick: (0, import_react24.useCallback)(() => {
|
|
1139
1139
|
space.share?.({
|
|
1140
1140
|
type: import_invitations2.Invitation.Type.INTERACTIVE,
|
|
1141
1141
|
authMethod: import_invitations2.Invitation.AuthMethod.NONE,
|
|
@@ -1146,7 +1146,7 @@ var SpaceMembersSection = ({ space }) => {
|
|
|
1146
1146
|
])
|
|
1147
1147
|
}
|
|
1148
1148
|
};
|
|
1149
|
-
const [activeActionKey, setInternalActiveActionKey] = (0,
|
|
1149
|
+
const [activeActionKey, setInternalActiveActionKey] = (0, import_react24.useState)(localStorage.getItem(activeActionKeyStorageKey) ?? "inviteOne");
|
|
1150
1150
|
const setActiveActionKey = (nextKey) => {
|
|
1151
1151
|
setInternalActiveActionKey(nextKey);
|
|
1152
1152
|
localStorage.setItem(activeActionKeyStorageKey, nextKey);
|
|
@@ -1159,101 +1159,101 @@ var SpaceMembersSection = ({ space }) => {
|
|
|
1159
1159
|
[Presence.ONLINE]: [],
|
|
1160
1160
|
[Presence.OFFLINE]: []
|
|
1161
1161
|
});
|
|
1162
|
-
return /* @__PURE__ */
|
|
1162
|
+
return /* @__PURE__ */ import_react24.default.createElement("section", {
|
|
1163
1163
|
className: "mbe-4 col-span-3 grid gap-y-2 grid-cols-subgrid auto-rows-min"
|
|
1164
|
-
}, /* @__PURE__ */
|
|
1164
|
+
}, /* @__PURE__ */ import_react24.default.createElement("h2", {
|
|
1165
1165
|
className: "contents"
|
|
1166
|
-
}, /* @__PURE__ */
|
|
1166
|
+
}, /* @__PURE__ */ import_react24.default.createElement(import_react23.UsersThree, {
|
|
1167
1167
|
weight: "duotone",
|
|
1168
|
-
className: (0,
|
|
1169
|
-
}), /* @__PURE__ */
|
|
1168
|
+
className: (0, import_react_ui_theme8.mx)((0, import_react_ui_theme8.getSize)(5), "place-self-center")
|
|
1169
|
+
}), /* @__PURE__ */ import_react24.default.createElement("span", {
|
|
1170
1170
|
className: "text-lg col-span-2"
|
|
1171
|
-
}, t("space members label"))), /* @__PURE__ */
|
|
1171
|
+
}, t("space members label"))), /* @__PURE__ */ import_react24.default.createElement("h3", {
|
|
1172
1172
|
className: "col-start-2 col-span-3 text-sm italic text-description"
|
|
1173
|
-
}, t("invitations heading")), invitations.length > 0 && /* @__PURE__ */
|
|
1173
|
+
}, t("invitations heading")), invitations.length > 0 && /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.List, {
|
|
1174
1174
|
classNames: "col-start-2 col-span-2 gap-y-2 grid grid-cols-[var(--rail-size)_1fr_var(--rail-action)_var(--rail-action)]"
|
|
1175
|
-
}, invitations.map((invitation) => /* @__PURE__ */
|
|
1175
|
+
}, invitations.map((invitation) => /* @__PURE__ */ import_react24.default.createElement(import_react25.InvitationListItem, {
|
|
1176
1176
|
reverseEffects: true,
|
|
1177
1177
|
classNames: "pis-0 pie-0 gap-0 col-span-4 grid grid-cols-subgrid",
|
|
1178
1178
|
key: invitation.get().invitationId,
|
|
1179
1179
|
invitation,
|
|
1180
1180
|
send: handleInvitationSelect,
|
|
1181
1181
|
createInvitationUrl: handleCreateInvitationUrl
|
|
1182
|
-
}))), /* @__PURE__ */
|
|
1182
|
+
}))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.ButtonGroup, {
|
|
1183
1183
|
classNames: "col-start-2 col-end-4 grid grid-cols-[1fr_var(--rail-action)] place-self-grow gap-px"
|
|
1184
|
-
}, /* @__PURE__ */
|
|
1184
|
+
}, /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.Button, {
|
|
1185
1185
|
classNames: "gap-2",
|
|
1186
1186
|
onClick: activeAction.onClick
|
|
1187
|
-
}, /* @__PURE__ */
|
|
1188
|
-
className: (0,
|
|
1189
|
-
}), /* @__PURE__ */
|
|
1187
|
+
}, /* @__PURE__ */ import_react24.default.createElement(activeAction.icon, {
|
|
1188
|
+
className: (0, import_react_ui_theme8.getSize)(5)
|
|
1189
|
+
}), /* @__PURE__ */ import_react24.default.createElement("span", null, t(activeAction.label, {
|
|
1190
1190
|
ns: "os"
|
|
1191
|
-
}))), /* @__PURE__ */
|
|
1191
|
+
}))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.Root, null, /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.Trigger, {
|
|
1192
1192
|
asChild: true
|
|
1193
|
-
}, /* @__PURE__ */
|
|
1193
|
+
}, /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.Button, {
|
|
1194
1194
|
classNames: "pli-0"
|
|
1195
|
-
}, /* @__PURE__ */
|
|
1196
|
-
className: (0,
|
|
1197
|
-
}))), /* @__PURE__ */
|
|
1198
|
-
return /* @__PURE__ */
|
|
1195
|
+
}, /* @__PURE__ */ import_react24.default.createElement(import_react23.CaretDown, {
|
|
1196
|
+
className: (0, import_react_ui_theme8.getSize)(4)
|
|
1197
|
+
}))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.Content, null, /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.Viewport, null, Object.entries(inviteActions).map(([id, action]) => {
|
|
1198
|
+
return /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.CheckboxItem, {
|
|
1199
1199
|
key: id,
|
|
1200
1200
|
"aria-labelledby": `${id}__label`,
|
|
1201
1201
|
"aria-describedby": `${id}__description`,
|
|
1202
1202
|
checked: activeActionKey === id,
|
|
1203
1203
|
onCheckedChange: (checked) => checked && setActiveActionKey(id),
|
|
1204
1204
|
classNames: "gap-2"
|
|
1205
|
-
}, action.icon && /* @__PURE__ */
|
|
1206
|
-
className: (0,
|
|
1207
|
-
}), /* @__PURE__ */
|
|
1205
|
+
}, action.icon && /* @__PURE__ */ import_react24.default.createElement(action.icon, {
|
|
1206
|
+
className: (0, import_react_ui_theme8.getSize)(5)
|
|
1207
|
+
}), /* @__PURE__ */ import_react24.default.createElement("div", {
|
|
1208
1208
|
role: "none",
|
|
1209
1209
|
className: "flex-1 min-is-0 space-b-1"
|
|
1210
|
-
}, /* @__PURE__ */
|
|
1210
|
+
}, /* @__PURE__ */ import_react24.default.createElement("p", {
|
|
1211
1211
|
id: `${id}__label`
|
|
1212
1212
|
}, t(action.label, {
|
|
1213
1213
|
ns: "os"
|
|
1214
|
-
})), action.description && /* @__PURE__ */
|
|
1214
|
+
})), action.description && /* @__PURE__ */ import_react24.default.createElement("p", {
|
|
1215
1215
|
id: `${id}__description`,
|
|
1216
|
-
className:
|
|
1216
|
+
className: import_react_ui_theme8.descriptionText
|
|
1217
1217
|
}, t(action.description, {
|
|
1218
1218
|
ns: "os"
|
|
1219
|
-
}))), /* @__PURE__ */
|
|
1219
|
+
}))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.ItemIndicator, {
|
|
1220
1220
|
asChild: true
|
|
1221
|
-
}, /* @__PURE__ */
|
|
1222
|
-
className: (0,
|
|
1221
|
+
}, /* @__PURE__ */ import_react24.default.createElement(import_react23.Check, {
|
|
1222
|
+
className: (0, import_react_ui_theme8.getSize)(4)
|
|
1223
1223
|
})));
|
|
1224
|
-
})), /* @__PURE__ */
|
|
1225
|
-
className: (0,
|
|
1224
|
+
})), /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.Arrow, null)))), members[Presence.ONLINE].length + members[Presence.OFFLINE].length < 1 ? /* @__PURE__ */ import_react24.default.createElement("p", {
|
|
1225
|
+
className: (0, import_react_ui_theme8.mx)(import_react_ui_theme8.descriptionText, "text-center is-full mlb-2")
|
|
1226
1226
|
}, t("empty space members message", {
|
|
1227
1227
|
ns: "os"
|
|
1228
|
-
})) : /* @__PURE__ */
|
|
1228
|
+
})) : /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, /* @__PURE__ */ import_react24.default.createElement("h3", {
|
|
1229
1229
|
className: "col-start-2 col-end-5 text-sm italic text-description"
|
|
1230
1230
|
}, t("active space members heading", {
|
|
1231
1231
|
count: members[Presence.ONLINE].length
|
|
1232
|
-
})), /* @__PURE__ */
|
|
1232
|
+
})), /* @__PURE__ */ import_react24.default.createElement(SpaceMemberList, {
|
|
1233
1233
|
members: members[Presence.ONLINE]
|
|
1234
|
-
}), /* @__PURE__ */
|
|
1234
|
+
}), /* @__PURE__ */ import_react24.default.createElement("h3", {
|
|
1235
1235
|
className: "col-start-2 col-end-5 text-sm italic text-description"
|
|
1236
1236
|
}, t("inactive space members heading", {
|
|
1237
1237
|
count: members[Presence.OFFLINE].length
|
|
1238
|
-
})), /* @__PURE__ */
|
|
1238
|
+
})), /* @__PURE__ */ import_react24.default.createElement(SpaceMemberList, {
|
|
1239
1239
|
members: members[Presence.OFFLINE]
|
|
1240
1240
|
})));
|
|
1241
1241
|
};
|
|
1242
1242
|
var KeyShortcuts = () => {
|
|
1243
|
-
const { t } = (0,
|
|
1244
|
-
return /* @__PURE__ */
|
|
1243
|
+
const { t } = (0, import_react_ui13.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
1244
|
+
return /* @__PURE__ */ import_react21.default.createElement("section", {
|
|
1245
1245
|
className: "mbe-4 col-span-4 md:col-start-5 md:col-end-7 grid grid-cols-subgrid gap-y-2 auto-rows-min"
|
|
1246
|
-
}, /* @__PURE__ */
|
|
1246
|
+
}, /* @__PURE__ */ import_react21.default.createElement("h2", {
|
|
1247
1247
|
className: "contents"
|
|
1248
|
-
}, /* @__PURE__ */
|
|
1248
|
+
}, /* @__PURE__ */ import_react21.default.createElement(import_react20.Command, {
|
|
1249
1249
|
weight: "duotone",
|
|
1250
|
-
className: (0,
|
|
1251
|
-
}), /* @__PURE__ */
|
|
1250
|
+
className: (0, import_react_ui_theme7.mx)((0, import_react_ui_theme7.getSize)(5), "place-self-center")
|
|
1251
|
+
}), /* @__PURE__ */ import_react21.default.createElement("span", {
|
|
1252
1252
|
className: "text-lg col-span-2 md:col-span-1"
|
|
1253
|
-
}, t("keyshortcuts label"))), /* @__PURE__ */
|
|
1253
|
+
}, t("keyshortcuts label"))), /* @__PURE__ */ import_react21.default.createElement("div", {
|
|
1254
1254
|
role: "none",
|
|
1255
1255
|
className: "col-start-2 col-end-4 md:col-end-5 pie-2"
|
|
1256
|
-
}, /* @__PURE__ */
|
|
1256
|
+
}, /* @__PURE__ */ import_react21.default.createElement(import_app_framework6.Surface, {
|
|
1257
1257
|
role: "keyshortcuts"
|
|
1258
1258
|
})));
|
|
1259
1259
|
};
|
|
@@ -1261,42 +1261,42 @@ var spaceMainLayout = "grid gap-y-2 auto-rows-min before:bs-2 before:col-span-5
|
|
|
1261
1261
|
var SpaceMain = ({ space, role }) => {
|
|
1262
1262
|
const state = space.state.get();
|
|
1263
1263
|
const ready = state === import_echo5.SpaceState.SPACE_READY;
|
|
1264
|
-
const Root = role === "main" ?
|
|
1265
|
-
return /* @__PURE__ */
|
|
1264
|
+
const Root = role === "main" ? import_react_ui13.Main.Content : "div";
|
|
1265
|
+
return /* @__PURE__ */ import_react21.default.createElement(import_react22.ClipboardProvider, null, /* @__PURE__ */ import_react21.default.createElement(Root, {
|
|
1266
1266
|
...role === "main" ? {
|
|
1267
1267
|
classNames: [
|
|
1268
|
-
|
|
1268
|
+
import_react_ui_theme7.topbarBlockPaddingStart,
|
|
1269
1269
|
"min-bs-dvh",
|
|
1270
1270
|
spaceMainLayout
|
|
1271
1271
|
]
|
|
1272
1272
|
} : {
|
|
1273
1273
|
role: "none",
|
|
1274
|
-
className: (0,
|
|
1274
|
+
className: (0, import_react_ui_theme7.mx)(import_react_ui_theme7.topbarBlockPaddingStart, "row-span-2", spaceMainLayout)
|
|
1275
1275
|
},
|
|
1276
1276
|
"data-testid": `spacePlugin.${role}`,
|
|
1277
1277
|
"data-isready": ready ? "true" : "false"
|
|
1278
|
-
}, ready && /* @__PURE__ */
|
|
1278
|
+
}, ready && /* @__PURE__ */ import_react21.default.createElement(SpaceMembersSection, {
|
|
1279
1279
|
space
|
|
1280
|
-
}), /* @__PURE__ */
|
|
1280
|
+
}), /* @__PURE__ */ import_react21.default.createElement(KeyShortcuts, null)));
|
|
1281
1281
|
};
|
|
1282
1282
|
var REFRESH_INTERVAL = 5e3;
|
|
1283
1283
|
var ACTIVITY_DURATION = 3e4;
|
|
1284
1284
|
var noViewers = new import_util2.ComplexMap(import_react_client4.PublicKey.hash);
|
|
1285
1285
|
var getName = (identity) => identity.profile?.displayName ?? (0, import_display_name.generateName)(identity.identityKey.toHex());
|
|
1286
1286
|
var SpacePresence = ({ object, spaceKey }) => {
|
|
1287
|
-
const density = (0,
|
|
1288
|
-
const spacePlugin = (0, import_app_framework8.usePlugin)(
|
|
1287
|
+
const density = (0, import_react_ui15.useDensityContext)();
|
|
1288
|
+
const spacePlugin = (0, import_app_framework8.usePlugin)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
1289
1289
|
const client = (0, import_react_client4.useClient)();
|
|
1290
1290
|
const identity = (0, import_halo.useIdentity)();
|
|
1291
1291
|
const space = spaceKey ? client.spaces.get(spaceKey) : (0, import_echo7.getSpace)(object);
|
|
1292
1292
|
const spaceMembers = (0, import_echo7.useMembers)(space?.key);
|
|
1293
|
-
const [_moment, setMoment] = (0,
|
|
1294
|
-
(0,
|
|
1293
|
+
const [_moment, setMoment] = (0, import_react26.useState)(Date.now());
|
|
1294
|
+
(0, import_react26.useEffect)(() => {
|
|
1295
1295
|
const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);
|
|
1296
1296
|
return () => clearInterval(interval);
|
|
1297
1297
|
}, []);
|
|
1298
|
-
const memberOnline = (0,
|
|
1299
|
-
const memberIsNotSelf = (0,
|
|
1298
|
+
const memberOnline = (0, import_react26.useCallback)((member) => member.presence === 1, []);
|
|
1299
|
+
const memberIsNotSelf = (0, import_react26.useCallback)((member) => !identity?.identityKey.equals(member.identity.identityKey), [
|
|
1300
1300
|
identity?.identityKey
|
|
1301
1301
|
]);
|
|
1302
1302
|
if (!identity || !spacePlugin || !space) {
|
|
@@ -1314,63 +1314,63 @@ var SpacePresence = ({ object, spaceKey }) => {
|
|
|
1314
1314
|
lastSeen
|
|
1315
1315
|
};
|
|
1316
1316
|
}).toSorted((a, b) => a.lastSeen - b.lastSeen);
|
|
1317
|
-
return density === "fine" ? /* @__PURE__ */
|
|
1317
|
+
return density === "fine" ? /* @__PURE__ */ import_react26.default.createElement(SmallPresence, {
|
|
1318
1318
|
count: membersForObject.length
|
|
1319
|
-
}) : /* @__PURE__ */
|
|
1319
|
+
}) : /* @__PURE__ */ import_react26.default.createElement(FullPresence, {
|
|
1320
1320
|
members: membersForObject
|
|
1321
1321
|
});
|
|
1322
1322
|
};
|
|
1323
1323
|
var FullPresence = (props) => {
|
|
1324
1324
|
const { size = 9, onMemberClick } = props;
|
|
1325
|
-
const members = (0,
|
|
1325
|
+
const members = (0, import_react_ui15.useDefaultValue)(props.members, []);
|
|
1326
1326
|
if (members.length === 0) {
|
|
1327
1327
|
return null;
|
|
1328
1328
|
}
|
|
1329
|
-
return /* @__PURE__ */
|
|
1329
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.AvatarGroup.Root, {
|
|
1330
1330
|
size,
|
|
1331
1331
|
classNames: "mbs-2 mie-4",
|
|
1332
1332
|
"data-testid": "spacePlugin.presence"
|
|
1333
|
-
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */
|
|
1333
|
+
}, members.slice(0, 3).map((member, i) => /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Root, {
|
|
1334
1334
|
key: member.identity.identityKey.toHex()
|
|
1335
|
-
}, /* @__PURE__ */
|
|
1335
|
+
}, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Trigger, null, /* @__PURE__ */ import_react26.default.createElement(PrensenceAvatar, {
|
|
1336
1336
|
identity: member.identity,
|
|
1337
1337
|
group: true,
|
|
1338
1338
|
match: member.currentlyAttended,
|
|
1339
1339
|
index: members.length - i,
|
|
1340
1340
|
onClick: () => onMemberClick?.(member)
|
|
1341
|
-
})), /* @__PURE__ */
|
|
1341
|
+
})), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Portal, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Content, {
|
|
1342
1342
|
side: "bottom"
|
|
1343
|
-
}, /* @__PURE__ */
|
|
1343
|
+
}, /* @__PURE__ */ import_react26.default.createElement("span", null, getName(member.identity)), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Arrow, null))))), members.length > 3 && /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Root, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Trigger, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.AvatarGroupItem.Root, {
|
|
1344
1344
|
status: "inactive"
|
|
1345
|
-
}, /* @__PURE__ */
|
|
1345
|
+
}, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Avatar.Frame, {
|
|
1346
1346
|
style: {
|
|
1347
1347
|
zIndex: members.length - 4
|
|
1348
1348
|
}
|
|
1349
|
-
}, /* @__PURE__ */
|
|
1349
|
+
}, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Avatar.Fallback, {
|
|
1350
1350
|
text: `+${members.length - 3}`
|
|
1351
|
-
})))), /* @__PURE__ */
|
|
1351
|
+
})))), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Portal, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Content, {
|
|
1352
1352
|
side: "bottom"
|
|
1353
|
-
}, /* @__PURE__ */
|
|
1353
|
+
}, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Arrow, null), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.List, {
|
|
1354
1354
|
classNames: "max-h-56 overflow-y-auto"
|
|
1355
|
-
}, members.map((member) => /* @__PURE__ */
|
|
1355
|
+
}, members.map((member) => /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.ListItem.Root, {
|
|
1356
1356
|
key: member.identity.identityKey.toHex(),
|
|
1357
1357
|
classNames: "flex gap-2 items-center cursor-pointer mbe-2",
|
|
1358
1358
|
onClick: () => onMemberClick?.(member),
|
|
1359
1359
|
"data-testid": "identity-list-item"
|
|
1360
|
-
}, /* @__PURE__ */
|
|
1360
|
+
}, /* @__PURE__ */ import_react26.default.createElement(PrensenceAvatar, {
|
|
1361
1361
|
identity: member.identity,
|
|
1362
1362
|
showName: true,
|
|
1363
1363
|
match: member.currentlyAttended
|
|
1364
1364
|
}))))))));
|
|
1365
1365
|
};
|
|
1366
1366
|
var PrensenceAvatar = ({ identity, showName, match, group, index, onClick }) => {
|
|
1367
|
-
const Root = group ?
|
|
1367
|
+
const Root = group ? import_react_ui15.AvatarGroupItem.Root : import_react_ui15.Avatar.Root;
|
|
1368
1368
|
const status = match ? "current" : "active";
|
|
1369
1369
|
const fallbackValue = (0, import_util2.keyToFallback)(identity.identityKey);
|
|
1370
|
-
return /* @__PURE__ */
|
|
1370
|
+
return /* @__PURE__ */ import_react26.default.createElement(Root, {
|
|
1371
1371
|
status,
|
|
1372
1372
|
hue: identity.profile?.data?.hue || fallbackValue.hue
|
|
1373
|
-
}, /* @__PURE__ */
|
|
1373
|
+
}, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Avatar.Frame, {
|
|
1374
1374
|
"data-testid": "spacePlugin.presence.member",
|
|
1375
1375
|
"data-status": status,
|
|
1376
1376
|
...index ? {
|
|
@@ -1379,336 +1379,57 @@ var PrensenceAvatar = ({ identity, showName, match, group, index, onClick }) =>
|
|
|
1379
1379
|
}
|
|
1380
1380
|
} : {},
|
|
1381
1381
|
onClick: () => onClick?.()
|
|
1382
|
-
}, /* @__PURE__ */
|
|
1382
|
+
}, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Avatar.Fallback, {
|
|
1383
1383
|
text: identity.profile?.data?.emoji || fallbackValue.emoji
|
|
1384
|
-
})), showName && /* @__PURE__ */
|
|
1384
|
+
})), showName && /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Avatar.Label, {
|
|
1385
1385
|
classNames: "text-sm truncate pli-2"
|
|
1386
1386
|
}, getName(identity)));
|
|
1387
1387
|
};
|
|
1388
1388
|
var SmallPresenceLive = ({ viewers }) => {
|
|
1389
|
-
const [moment, setMoment] = (0,
|
|
1390
|
-
(0,
|
|
1389
|
+
const [moment, setMoment] = (0, import_react26.useState)(Date.now());
|
|
1390
|
+
(0, import_react26.useEffect)(() => {
|
|
1391
1391
|
const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);
|
|
1392
1392
|
return () => clearInterval(interval);
|
|
1393
1393
|
}, []);
|
|
1394
1394
|
const activeViewers = viewers ? Array.from(viewers.values()).filter(({ lastSeen }) => moment - lastSeen < ACTIVITY_DURATION) : [];
|
|
1395
|
-
return /* @__PURE__ */
|
|
1395
|
+
return /* @__PURE__ */ import_react26.default.createElement(SmallPresence, {
|
|
1396
1396
|
count: activeViewers.length
|
|
1397
1397
|
});
|
|
1398
1398
|
};
|
|
1399
1399
|
var SmallPresence = ({ count }) => {
|
|
1400
|
-
const { t } = (0,
|
|
1401
|
-
return /* @__PURE__ */
|
|
1400
|
+
const { t } = (0, import_react_ui15.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
1401
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Root, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Trigger, {
|
|
1402
1402
|
asChild: true
|
|
1403
|
-
}, /* @__PURE__ */
|
|
1403
|
+
}, /* @__PURE__ */ import_react26.default.createElement(import_react_ui_attention.AttentionGlyph, {
|
|
1404
1404
|
presence: count > 1 ? "many" : count === 1 ? "one" : "none",
|
|
1405
1405
|
classNames: "self-center mie-1"
|
|
1406
|
-
})), /* @__PURE__ */
|
|
1406
|
+
})), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Portal, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Content, {
|
|
1407
1407
|
side: "bottom",
|
|
1408
1408
|
classNames: "z-[70]"
|
|
1409
|
-
}, /* @__PURE__ */
|
|
1409
|
+
}, /* @__PURE__ */ import_react26.default.createElement("span", null, t("presence label", {
|
|
1410
1410
|
count
|
|
1411
|
-
})), /* @__PURE__ */
|
|
1411
|
+
})), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Arrow, null))));
|
|
1412
1412
|
};
|
|
1413
1413
|
var SpaceSettings = ({ settings }) => {
|
|
1414
|
-
const { t } = (0,
|
|
1414
|
+
const { t } = (0, import_react_ui16.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
1415
1415
|
const dispatch = (0, import_app_framework9.useIntentDispatcher)();
|
|
1416
|
-
|
|
1417
|
-
return /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, /* @__PURE__ */ import_react23.default.createElement(import_plugin_settings.SettingsValue, {
|
|
1416
|
+
return /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, /* @__PURE__ */ import_react27.default.createElement(import_plugin_settings.SettingsValue, {
|
|
1418
1417
|
label: t("show hidden spaces label")
|
|
1419
|
-
}, /* @__PURE__ */
|
|
1418
|
+
}, /* @__PURE__ */ import_react27.default.createElement(import_react_ui16.Input.Switch, {
|
|
1420
1419
|
checked: settings.showHidden,
|
|
1421
1420
|
onCheckedChange: (checked) => dispatch({
|
|
1422
|
-
plugin:
|
|
1423
|
-
action:
|
|
1421
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
1422
|
+
action: import_chunk_6CNYF6YU.SpaceAction.TOGGLE_HIDDEN,
|
|
1424
1423
|
data: {
|
|
1425
1424
|
state: !!checked
|
|
1426
1425
|
}
|
|
1427
1426
|
})
|
|
1428
|
-
}))
|
|
1429
|
-
label: t("default on space create label")
|
|
1430
|
-
}, /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.Root, {
|
|
1431
|
-
value: settings.onSpaceCreate,
|
|
1432
|
-
onValueChange: (value) => {
|
|
1433
|
-
settings.onSpaceCreate = value;
|
|
1434
|
-
}
|
|
1435
|
-
}, /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.TriggerButton, null), /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.Portal, null, /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.Content, null, /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.Viewport, null, plugins.map(({ provides: { space: { onSpaceCreate } } }) => /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.Option, {
|
|
1436
|
-
key: onSpaceCreate.action,
|
|
1437
|
-
value: onSpaceCreate.action
|
|
1438
|
-
}, (0, import_react_ui15.toLocalizedString)(onSpaceCreate.label, t)))))))));
|
|
1439
|
-
};
|
|
1440
|
-
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SaveStatus.tsx";
|
|
1441
|
-
var SaveStatus = () => {
|
|
1442
|
-
const { t } = (0, import_react_ui16.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
|
|
1443
|
-
const client = (0, import_react_client5.useClient)();
|
|
1444
|
-
const [state, setState] = (0, import_react24.useState)("saved");
|
|
1445
|
-
(0, import_react24.useEffect)(() => {
|
|
1446
|
-
return createClientSaveTracker(client, (state2) => {
|
|
1447
|
-
setState(state2);
|
|
1448
|
-
});
|
|
1449
|
-
}, []);
|
|
1450
|
-
return /* @__PURE__ */ import_react24.default.createElement(import_plugin_status_bar.StatusBar.Item, {
|
|
1451
|
-
title: state === "saving" ? t("saving label") : t("saved label")
|
|
1452
|
-
}, /* @__PURE__ */ import_react24.default.createElement(import_react_ui16.Icon, {
|
|
1453
|
-
icon: state === "saving" ? "ph--arrows-clockwise--regular" : "ph--check-circle--regular",
|
|
1454
|
-
size: 4
|
|
1455
|
-
}));
|
|
1456
|
-
};
|
|
1457
|
-
var createClientSaveTracker = (client, cb) => {
|
|
1458
|
-
const unsubscribeCallbacks = {};
|
|
1459
|
-
const state = {};
|
|
1460
|
-
const install = (spaces) => {
|
|
1461
|
-
for (const space of spaces) {
|
|
1462
|
-
if (state[space.id]) {
|
|
1463
|
-
continue;
|
|
1464
|
-
}
|
|
1465
|
-
state[space.id] = "saved";
|
|
1466
|
-
unsubscribeCallbacks[space.id] = createSpaceSaveTracker(space, (s) => {
|
|
1467
|
-
state[space.id] = s;
|
|
1468
|
-
cb(Object.values(state).some((s2) => s2 === "saving") ? "saving" : "saved");
|
|
1469
|
-
});
|
|
1470
|
-
}
|
|
1471
|
-
};
|
|
1472
|
-
client.spaces.subscribe((spaces) => {
|
|
1473
|
-
install(spaces);
|
|
1474
|
-
});
|
|
1475
|
-
install(client.spaces.get());
|
|
1476
|
-
return () => {
|
|
1477
|
-
for (const unsubscribe of Object.values(unsubscribeCallbacks)) {
|
|
1478
|
-
unsubscribe();
|
|
1479
|
-
}
|
|
1480
|
-
};
|
|
1481
|
-
};
|
|
1482
|
-
var createSpaceSaveTracker = (space, cb) => {
|
|
1483
|
-
const ctx = new import_context.Context(void 0, {
|
|
1484
|
-
F: __dxlog_file3,
|
|
1485
|
-
L: 64
|
|
1486
|
-
});
|
|
1487
|
-
void space.waitUntilReady().then(() => {
|
|
1488
|
-
if (ctx.disposed) {
|
|
1489
|
-
return;
|
|
1490
|
-
}
|
|
1491
|
-
let hasUnsavedChanges = false;
|
|
1492
|
-
let lastFlushPromise;
|
|
1493
|
-
space.crud.saveStateChanged.on(ctx, ({ unsavedDocuments }) => {
|
|
1494
|
-
hasUnsavedChanges = unsavedDocuments.length > 0;
|
|
1495
|
-
});
|
|
1496
|
-
space.crud.saveStateChanged.debounce(500).on(ctx, () => {
|
|
1497
|
-
if (hasUnsavedChanges) {
|
|
1498
|
-
lastFlushPromise = void 0;
|
|
1499
|
-
cb("saving");
|
|
1500
|
-
} else {
|
|
1501
|
-
const flushPromise = space.crud.flush();
|
|
1502
|
-
lastFlushPromise = flushPromise;
|
|
1503
|
-
void flushPromise.then(() => {
|
|
1504
|
-
if (lastFlushPromise === flushPromise) {
|
|
1505
|
-
cb("saved");
|
|
1506
|
-
}
|
|
1507
|
-
});
|
|
1508
|
-
}
|
|
1509
|
-
});
|
|
1510
|
-
});
|
|
1511
|
-
return () => {
|
|
1512
|
-
void ctx.dispose();
|
|
1513
|
-
};
|
|
1514
|
-
};
|
|
1515
|
-
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/types.ts";
|
|
1516
|
-
var createEmptyEdgeSyncState = () => ({
|
|
1517
|
-
missingOnLocal: 0,
|
|
1518
|
-
missingOnRemote: 0,
|
|
1519
|
-
localDocumentCount: 0,
|
|
1520
|
-
remoteDocumentCount: 0,
|
|
1521
|
-
differentDocuments: 0
|
|
1522
|
-
});
|
|
1523
|
-
var getSyncSummary = (syncMap) => {
|
|
1524
|
-
return Object.entries(syncMap).reduce((summary, [_spaceId, peerState]) => {
|
|
1525
|
-
summary.missingOnLocal += peerState.missingOnLocal;
|
|
1526
|
-
summary.missingOnRemote += peerState.missingOnRemote;
|
|
1527
|
-
summary.localDocumentCount += peerState.localDocumentCount;
|
|
1528
|
-
summary.remoteDocumentCount += peerState.remoteDocumentCount;
|
|
1529
|
-
summary.differentDocuments += peerState.differentDocuments;
|
|
1530
|
-
return summary;
|
|
1531
|
-
}, createEmptyEdgeSyncState());
|
|
1532
|
-
};
|
|
1533
|
-
var isEdgePeerId = (peerId, spaceId) => peerId.startsWith(`${import_protocols.EdgeService.AUTOMERGE_REPLICATOR}:${spaceId}`);
|
|
1534
|
-
var useSyncState = () => {
|
|
1535
|
-
const client = (0, import_react_client6.useClient)();
|
|
1536
|
-
const [spaceState, setSpaceState] = (0, import_react26.useState)({});
|
|
1537
|
-
(0, import_react26.useEffect)(() => {
|
|
1538
|
-
const ctx = new import_context2.Context(void 0, {
|
|
1539
|
-
F: __dxlog_file4,
|
|
1540
|
-
L: 48
|
|
1541
|
-
});
|
|
1542
|
-
const createSubscriptions = (spaces) => {
|
|
1543
|
-
for (const space of spaces) {
|
|
1544
|
-
if (spaceState[space.id]) {
|
|
1545
|
-
continue;
|
|
1546
|
-
}
|
|
1547
|
-
ctx.onDispose(space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
|
|
1548
|
-
const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));
|
|
1549
|
-
if (syncState) {
|
|
1550
|
-
setSpaceState((spaceState2) => ({
|
|
1551
|
-
...spaceState2,
|
|
1552
|
-
[space.id]: syncState
|
|
1553
|
-
}));
|
|
1554
|
-
}
|
|
1555
|
-
}));
|
|
1556
|
-
}
|
|
1557
|
-
};
|
|
1558
|
-
createSubscriptions(client.spaces.get());
|
|
1559
|
-
client.spaces.subscribe((spaces) => {
|
|
1560
|
-
createSubscriptions(spaces);
|
|
1561
|
-
});
|
|
1562
|
-
return () => {
|
|
1563
|
-
void ctx.dispose();
|
|
1564
|
-
};
|
|
1565
|
-
}, [
|
|
1566
|
-
client
|
|
1567
|
-
]);
|
|
1568
|
-
return spaceState;
|
|
1569
|
-
};
|
|
1570
|
-
var SYNC_STALLED_TIMEOUT = 5e3;
|
|
1571
|
-
var styles = {
|
|
1572
|
-
barBg: "bg-neutral-50 dark:bg-green-900 text-black",
|
|
1573
|
-
barFg: "bg-neutral-100 bg-green-500",
|
|
1574
|
-
barHover: "dark:hover:bg-green-500"
|
|
1575
|
-
};
|
|
1576
|
-
var SyncStatus = () => {
|
|
1577
|
-
const state = useSyncState();
|
|
1578
|
-
return /* @__PURE__ */ import_react25.default.createElement(SyncStatusIndicator, {
|
|
1579
|
-
state
|
|
1580
|
-
});
|
|
1581
|
-
};
|
|
1582
|
-
var SyncStatusIndicator = ({ state }) => {
|
|
1583
|
-
const summary = getSyncSummary(state);
|
|
1584
|
-
const offline = false;
|
|
1585
|
-
const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
|
|
1586
|
-
const needsToDownload = summary.differentDocuments > 0 || summary.missingOnLocal > 0;
|
|
1587
|
-
const [classNames, setClassNames] = (0, import_react25.useState)();
|
|
1588
|
-
(0, import_react25.useEffect)(() => {
|
|
1589
|
-
setClassNames(void 0);
|
|
1590
|
-
if (!needsToUpload && !needsToDownload) {
|
|
1591
|
-
return;
|
|
1592
|
-
}
|
|
1593
|
-
const t = setTimeout(() => {
|
|
1594
|
-
setClassNames("text-orange-500");
|
|
1595
|
-
}, SYNC_STALLED_TIMEOUT);
|
|
1596
|
-
return () => clearTimeout(t);
|
|
1597
|
-
}, [
|
|
1598
|
-
needsToUpload,
|
|
1599
|
-
needsToDownload
|
|
1600
|
-
]);
|
|
1601
|
-
return /* @__PURE__ */ import_react25.default.createElement(import_plugin_status_bar2.StatusBar.Item, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Popover.Root, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Popover.Trigger, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Icon, {
|
|
1602
|
-
icon: offline ? "ph--cloud-x--regular" : needsToUpload ? "ph--cloud-arrow-up--regular" : needsToDownload ? "ph--cloud-arrow-down--regular" : "ph--cloud-check--regular",
|
|
1603
|
-
size: 4,
|
|
1604
|
-
classNames
|
|
1605
|
-
})), /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Popover.Content, null, /* @__PURE__ */ import_react25.default.createElement(SyncStatusDetail, {
|
|
1606
|
-
state,
|
|
1607
|
-
summary,
|
|
1608
|
-
debug: false
|
|
1609
|
-
}))));
|
|
1610
|
-
};
|
|
1611
|
-
var SyncStatusDetail = ({ classNames, state, summary, debug }) => {
|
|
1612
|
-
const { t } = (0, import_react_ui17.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
|
|
1613
|
-
const entries = Object.entries(state).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
|
|
1614
|
-
return /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1615
|
-
className: (0, import_react_ui_theme7.mx)("flex flex-col text-xs min-w-[16rem]", classNames)
|
|
1616
|
-
}, /* @__PURE__ */ import_react25.default.createElement("h1", {
|
|
1617
|
-
className: "p-2"
|
|
1618
|
-
}, t("sync status title")), /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1619
|
-
className: "flex flex-col gap-[2px] my-[2px]"
|
|
1620
|
-
}, entries.map(([spaceId, state2]) => /* @__PURE__ */ import_react25.default.createElement(SpaceRow, {
|
|
1621
|
-
key: spaceId,
|
|
1622
|
-
spaceId,
|
|
1623
|
-
state: state2
|
|
1624
|
-
}))), debug && /* @__PURE__ */ import_react25.default.createElement(import_react_ui_syntax_highlighter.SyntaxHighlighter, {
|
|
1625
|
-
language: "json"
|
|
1626
|
-
}, JSON.stringify(summary, null, 2)));
|
|
1627
|
-
};
|
|
1628
|
-
var useActive = (count) => {
|
|
1629
|
-
const [current, setCurrent] = (0, import_react25.useState)(count);
|
|
1630
|
-
const [active, setActive] = (0, import_react25.useState)(false);
|
|
1631
|
-
(0, import_react25.useEffect)(() => {
|
|
1632
|
-
let t;
|
|
1633
|
-
if (count !== current) {
|
|
1634
|
-
setActive(true);
|
|
1635
|
-
setCurrent(count);
|
|
1636
|
-
t && clearTimeout(t);
|
|
1637
|
-
t = setTimeout(() => {
|
|
1638
|
-
setActive(false);
|
|
1639
|
-
}, SYNC_STALLED_TIMEOUT);
|
|
1640
|
-
}
|
|
1641
|
-
return () => {
|
|
1642
|
-
setActive(false);
|
|
1643
|
-
clearTimeout(t);
|
|
1644
|
-
};
|
|
1645
|
-
}, [
|
|
1646
|
-
count,
|
|
1647
|
-
current
|
|
1648
|
-
]);
|
|
1649
|
-
return active;
|
|
1650
|
-
};
|
|
1651
|
-
var SpaceRow = ({ spaceId, state: { localDocumentCount, remoteDocumentCount, missingOnLocal, missingOnRemote } }) => {
|
|
1652
|
-
const downActive = useActive(localDocumentCount);
|
|
1653
|
-
const upActive = useActive(remoteDocumentCount);
|
|
1654
|
-
return /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1655
|
-
className: (0, import_react_ui_theme7.mx)("flex items-center mx-[2px] gap-[2px] cursor-pointer", styles.barHover),
|
|
1656
|
-
title: spaceId,
|
|
1657
|
-
onClick: () => {
|
|
1658
|
-
void navigator.clipboard.writeText(spaceId);
|
|
1659
|
-
}
|
|
1660
|
-
}, /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Icon, {
|
|
1661
|
-
icon: "ph--arrow-fat-line-left--regular",
|
|
1662
|
-
size: 3,
|
|
1663
|
-
classNames: (0, import_react_ui_theme7.mx)(downActive && "animate-[pulse_1s_infinite]")
|
|
1664
|
-
}), /* @__PURE__ */ import_react25.default.createElement(Candle, {
|
|
1665
|
-
up: {
|
|
1666
|
-
count: remoteDocumentCount,
|
|
1667
|
-
total: remoteDocumentCount + missingOnRemote
|
|
1668
|
-
},
|
|
1669
|
-
down: {
|
|
1670
|
-
count: localDocumentCount,
|
|
1671
|
-
total: localDocumentCount + missingOnLocal
|
|
1672
|
-
},
|
|
1673
|
-
title: spaceId
|
|
1674
|
-
}), /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Icon, {
|
|
1675
|
-
icon: "ph--arrow-fat-line-right--regular",
|
|
1676
|
-
size: 3,
|
|
1677
|
-
classNames: (0, import_react_ui_theme7.mx)(upActive && "animate-[pulse_1s_step-start_infinite]")
|
|
1678
|
-
}));
|
|
1679
|
-
};
|
|
1680
|
-
var Candle = ({ classNames, up, down }) => {
|
|
1681
|
-
return /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1682
|
-
className: (0, import_react_ui_theme7.mx)("grid grid-cols-[1fr_2rem_1fr] w-full h-3", classNames)
|
|
1683
|
-
}, /* @__PURE__ */ import_react25.default.createElement(Bar, {
|
|
1684
|
-
classNames: "justify-end",
|
|
1685
|
-
...up
|
|
1686
|
-
}), /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1687
|
-
className: "relative"
|
|
1688
|
-
}, /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1689
|
-
className: (0, import_react_ui_theme7.mx)("absolute inset-0 flex items-center justify-center text-xs", styles.barBg)
|
|
1690
|
-
}, up.total)), /* @__PURE__ */ import_react25.default.createElement(Bar, down));
|
|
1691
|
-
};
|
|
1692
|
-
var Bar = ({ classNames, count, total }) => {
|
|
1693
|
-
let p = count / total * 100;
|
|
1694
|
-
if (count < total) {
|
|
1695
|
-
p = Math.min(p, 95);
|
|
1696
|
-
}
|
|
1697
|
-
return /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1698
|
-
className: (0, import_react_ui_theme7.mx)("relative flex w-full", styles.barBg, classNames)
|
|
1699
|
-
}, /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1700
|
-
className: (0, import_react_ui_theme7.mx)("shrink-0", styles.barFg),
|
|
1701
|
-
style: {
|
|
1702
|
-
width: `${p}%`
|
|
1703
|
-
}
|
|
1704
|
-
}), count !== total && /* @__PURE__ */ import_react25.default.createElement("div", {
|
|
1705
|
-
className: "absolute top-0 bottom-0 flex items-center mx-0.5 text-black text-xs"
|
|
1706
|
-
}, count));
|
|
1427
|
+
})));
|
|
1707
1428
|
};
|
|
1708
1429
|
var translations_default = [
|
|
1709
1430
|
{
|
|
1710
1431
|
"en-US": {
|
|
1711
|
-
[
|
|
1432
|
+
[import_chunk_6CNYF6YU.SPACE_PLUGIN]: {
|
|
1712
1433
|
"plugin name": "Spaces",
|
|
1713
1434
|
"first run message": "Nothing selected.",
|
|
1714
1435
|
"create space label": "Create a new space",
|
|
@@ -1783,26 +1504,20 @@ var translations_default = [
|
|
|
1783
1504
|
"space limit close label": "Close",
|
|
1784
1505
|
"remove deleted objects label": "Cleanup",
|
|
1785
1506
|
"remove deleted objects alt": "Permanently remove deleted objects to free up space.",
|
|
1786
|
-
"copy link label": "Copy link"
|
|
1787
|
-
"default on space create label": "On space create",
|
|
1788
|
-
"sync status title": "Sync status",
|
|
1789
|
-
"name label": "Name",
|
|
1790
|
-
"name placeholder": "Name"
|
|
1507
|
+
"copy link label": "Copy link"
|
|
1791
1508
|
}
|
|
1792
1509
|
}
|
|
1793
1510
|
}
|
|
1794
1511
|
];
|
|
1795
|
-
var
|
|
1512
|
+
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/SpacePlugin.tsx";
|
|
1796
1513
|
var ACTIVE_NODE_BROADCAST_INTERVAL = 3e4;
|
|
1797
1514
|
var OBJECT_ID_LENGTH = 60;
|
|
1798
1515
|
var SPACE_MAX_OBJECTS = 500;
|
|
1799
1516
|
var DIRECTORY_TYPE = "text/directory";
|
|
1800
1517
|
var parseSpacePlugin = (plugin) => Array.isArray(plugin?.provides.space?.enabled) ? plugin : void 0;
|
|
1801
1518
|
var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
1802
|
-
const settings = new import_local_storage.LocalStorageStore(
|
|
1803
|
-
|
|
1804
|
-
});
|
|
1805
|
-
const state = new import_local_storage.LocalStorageStore(import_chunk_P4XUXM7Y.SPACE_PLUGIN, {
|
|
1519
|
+
const settings = new import_local_storage.LocalStorageStore(import_chunk_6CNYF6YU.SPACE_PLUGIN);
|
|
1520
|
+
const state = new import_local_storage.LocalStorageStore(import_chunk_6CNYF6YU.SPACE_PLUGIN, {
|
|
1806
1521
|
awaiting: void 0,
|
|
1807
1522
|
spaceNames: {},
|
|
1808
1523
|
viewersByObject: {},
|
|
@@ -1841,21 +1556,17 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
1841
1556
|
await defaultSpace.internal.migrate();
|
|
1842
1557
|
}
|
|
1843
1558
|
spaces.filter((space) => space.state.get() === import_echo.SpaceState.SPACE_READY).forEach((space) => {
|
|
1844
|
-
subscriptions.add((0,
|
|
1845
|
-
|
|
1846
|
-
})
|
|
1559
|
+
subscriptions.add((0, import_signals_core.effect)(() => {
|
|
1560
|
+
state.values.spaceNames[space.id] = space.properties.name;
|
|
1561
|
+
}));
|
|
1847
1562
|
});
|
|
1848
1563
|
}).unsubscribe);
|
|
1849
|
-
subscriptions.add((0,
|
|
1850
|
-
ids: (0, import_app_framework.openIds)(location.active),
|
|
1851
|
-
removed: location.closed ? [
|
|
1852
|
-
location.closed
|
|
1853
|
-
].flat() : []
|
|
1854
|
-
}), ({ ids, removed }) => {
|
|
1564
|
+
subscriptions.add((0, import_signals_core.effect)(() => {
|
|
1855
1565
|
const send = () => {
|
|
1856
1566
|
const spaces = client.spaces.get();
|
|
1857
1567
|
const identity = client.halo.identity.get();
|
|
1858
1568
|
if (identity && location.active) {
|
|
1569
|
+
const ids = (0, import_app_framework.openIds)(location.active);
|
|
1859
1570
|
const idsBySpace = (0, import_util.reduceGroupBy)(ids, (id) => {
|
|
1860
1571
|
const [spaceId] = id.split(":");
|
|
1861
1572
|
return spaceId;
|
|
@@ -1870,6 +1581,9 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
1870
1581
|
if (!space) {
|
|
1871
1582
|
continue;
|
|
1872
1583
|
}
|
|
1584
|
+
const removed = location.closed ? [
|
|
1585
|
+
location.closed
|
|
1586
|
+
].flat() : [];
|
|
1873
1587
|
void space.postMessage("viewing", {
|
|
1874
1588
|
identityKey: identity.identityKey.toHex(),
|
|
1875
1589
|
attended: attention.attended ? [
|
|
@@ -1882,8 +1596,8 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
1882
1596
|
import_log.log.warn("Failed to broadcast active node for presence.", {
|
|
1883
1597
|
err: err.message
|
|
1884
1598
|
}, {
|
|
1885
|
-
F:
|
|
1886
|
-
L:
|
|
1599
|
+
F: __dxlog_file3,
|
|
1600
|
+
L: 222,
|
|
1887
1601
|
S: void 0,
|
|
1888
1602
|
C: (f, a) => f(...a)
|
|
1889
1603
|
});
|
|
@@ -1929,7 +1643,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
1929
1643
|
}).unsubscribe);
|
|
1930
1644
|
};
|
|
1931
1645
|
return {
|
|
1932
|
-
meta:
|
|
1646
|
+
meta: import_chunk_6CNYF6YU.meta_default,
|
|
1933
1647
|
ready: async (plugins) => {
|
|
1934
1648
|
settings.prop({
|
|
1935
1649
|
key: "showHidden",
|
|
@@ -1954,7 +1668,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
1954
1668
|
const dispatch = intentPlugin.provides.intent.dispatch;
|
|
1955
1669
|
const handleFirstRun = async () => {
|
|
1956
1670
|
const defaultSpace = client.spaces.default;
|
|
1957
|
-
defaultSpace.properties[
|
|
1671
|
+
defaultSpace.properties[import_chunk_CVZPI2P3.CollectionType.typename] = (0, import_echo.create)(import_chunk_CVZPI2P3.CollectionType, {
|
|
1958
1672
|
objects: [],
|
|
1959
1673
|
views: {}
|
|
1960
1674
|
});
|
|
@@ -1990,21 +1704,22 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
1990
1704
|
settings: settings.values,
|
|
1991
1705
|
translations: [
|
|
1992
1706
|
...translations_default,
|
|
1993
|
-
|
|
1707
|
+
import_react3.osTranslations
|
|
1994
1708
|
],
|
|
1995
|
-
root: () => state.values.awaiting ? /* @__PURE__ */
|
|
1709
|
+
root: () => state.values.awaiting ? /* @__PURE__ */ import_react2.default.createElement(AwaitingObject, {
|
|
1996
1710
|
id: state.values.awaiting
|
|
1997
1711
|
}) : null,
|
|
1998
1712
|
metadata: {
|
|
1999
1713
|
records: {
|
|
2000
|
-
[
|
|
1714
|
+
[import_chunk_CVZPI2P3.CollectionType.typename]: {
|
|
2001
1715
|
placeholder: [
|
|
2002
1716
|
"unnamed collection label",
|
|
2003
1717
|
{
|
|
2004
|
-
ns:
|
|
1718
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
2005
1719
|
}
|
|
2006
1720
|
],
|
|
2007
|
-
icon:
|
|
1721
|
+
icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.CardsThree, props),
|
|
1722
|
+
iconSymbol: "ph--cards-three--regular",
|
|
2008
1723
|
// TODO(wittjosiah): Move out of metadata.
|
|
2009
1724
|
loadReferences: (collection) => (0, import_echo.loadObjectReferences)(collection, (collection2) => [
|
|
2010
1725
|
...collection2.objects,
|
|
@@ -2015,7 +1730,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2015
1730
|
},
|
|
2016
1731
|
echo: {
|
|
2017
1732
|
schema: [
|
|
2018
|
-
|
|
1733
|
+
import_chunk_CVZPI2P3.CollectionType
|
|
2019
1734
|
]
|
|
2020
1735
|
},
|
|
2021
1736
|
surface: {
|
|
@@ -2024,28 +1739,33 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2024
1739
|
switch (role) {
|
|
2025
1740
|
case "article":
|
|
2026
1741
|
case "main":
|
|
2027
|
-
return (0, import_echo.isSpace)(primary) && primary.state.get() === import_echo.SpaceState.SPACE_READY ? /* @__PURE__ */
|
|
1742
|
+
return (0, import_echo.isSpace)(primary) && primary.state.get() === import_echo.SpaceState.SPACE_READY ? /* @__PURE__ */ import_react2.default.createElement(import_app_framework.Surface, {
|
|
2028
1743
|
data: {
|
|
2029
|
-
active: primary.properties[
|
|
2030
|
-
id: primary.id
|
|
1744
|
+
active: primary.properties[import_chunk_CVZPI2P3.CollectionType.typename]
|
|
2031
1745
|
},
|
|
2032
1746
|
role,
|
|
2033
1747
|
...rest
|
|
2034
|
-
}) : primary instanceof
|
|
2035
|
-
node: /* @__PURE__ */
|
|
1748
|
+
}) : primary instanceof import_chunk_CVZPI2P3.CollectionType ? {
|
|
1749
|
+
node: /* @__PURE__ */ import_react2.default.createElement(CollectionMain, {
|
|
2036
1750
|
collection: primary
|
|
2037
1751
|
}),
|
|
2038
1752
|
disposition: "fallback"
|
|
2039
|
-
} : typeof primary === "string" && primary.length === OBJECT_ID_LENGTH ? /* @__PURE__ */
|
|
1753
|
+
} : typeof primary === "string" && primary.length === OBJECT_ID_LENGTH ? /* @__PURE__ */ import_react2.default.createElement(MissingObject, {
|
|
2040
1754
|
id: primary
|
|
2041
1755
|
}) : null;
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
1756
|
+
// TODO(burdon): Add role name syntax to minimal plugin docs.
|
|
1757
|
+
case "tree--empty":
|
|
1758
|
+
switch (true) {
|
|
1759
|
+
case data.plugin === import_chunk_6CNYF6YU.SPACE_PLUGIN:
|
|
1760
|
+
return /* @__PURE__ */ import_react2.default.createElement(EmptyTree, null);
|
|
1761
|
+
case ((0, import_plugin_graph.isGraphNode)(data.activeNode) && (0, import_echo.isSpace)(data.activeNode.data)):
|
|
1762
|
+
return /* @__PURE__ */ import_react2.default.createElement(EmptySpace, null);
|
|
1763
|
+
default:
|
|
1764
|
+
return null;
|
|
1765
|
+
}
|
|
2046
1766
|
case "dialog":
|
|
2047
1767
|
if (data.component === "dxos.org/plugin/space/InvitationManagerDialog") {
|
|
2048
|
-
return /* @__PURE__ */
|
|
1768
|
+
return /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Dialog.Content, null, /* @__PURE__ */ import_react2.default.createElement(import_react3.ClipboardProvider, null, /* @__PURE__ */ import_react2.default.createElement(import_react3.InvitationManager, {
|
|
2049
1769
|
active: true,
|
|
2050
1770
|
...data.subject
|
|
2051
1771
|
})));
|
|
@@ -2054,21 +1774,20 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2054
1774
|
}
|
|
2055
1775
|
case "popover":
|
|
2056
1776
|
if (data.component === "dxos.org/plugin/space/RenameSpacePopover" && (0, import_echo.isSpace)(data.subject)) {
|
|
2057
|
-
return /* @__PURE__ */
|
|
1777
|
+
return /* @__PURE__ */ import_react2.default.createElement(PopoverRenameSpace, {
|
|
2058
1778
|
space: data.subject
|
|
2059
1779
|
});
|
|
2060
1780
|
}
|
|
2061
1781
|
if (data.component === "dxos.org/plugin/space/RenameObjectPopover" && (0, import_echo_schema.isReactiveObject)(data.subject)) {
|
|
2062
|
-
return /* @__PURE__ */
|
|
1782
|
+
return /* @__PURE__ */ import_react2.default.createElement(PopoverRenameObject, {
|
|
2063
1783
|
object: data.subject
|
|
2064
1784
|
});
|
|
2065
1785
|
}
|
|
2066
1786
|
return null;
|
|
2067
|
-
// TODO(burdon): Add role name syntax to minimal plugin docs.
|
|
2068
1787
|
case "presence--glyph": {
|
|
2069
|
-
return (0, import_echo_schema.isReactiveObject)(data.object) ? /* @__PURE__ */
|
|
1788
|
+
return (0, import_echo_schema.isReactiveObject)(data.object) ? /* @__PURE__ */ import_react2.default.createElement(SmallPresenceLive, {
|
|
2070
1789
|
viewers: state.values.viewersByObject[(0, import_echo.fullyQualifiedId)(data.object)]
|
|
2071
|
-
}) : /* @__PURE__ */
|
|
1790
|
+
}) : /* @__PURE__ */ import_react2.default.createElement(SmallPresence, {
|
|
2072
1791
|
count: 0
|
|
2073
1792
|
});
|
|
2074
1793
|
}
|
|
@@ -2080,35 +1799,32 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2080
1799
|
return null;
|
|
2081
1800
|
}
|
|
2082
1801
|
const space = (0, import_echo.isSpace)(data.object) ? data.object : (0, import_echo.getSpace)(data.object);
|
|
2083
|
-
const object = (0, import_echo.isSpace)(data.object) ? data.object.state.get() === import_echo.SpaceState.SPACE_READY ? space?.properties[
|
|
1802
|
+
const object = (0, import_echo.isSpace)(data.object) ? data.object.state.get() === import_echo.SpaceState.SPACE_READY ? space?.properties[import_chunk_CVZPI2P3.CollectionType.typename] : void 0 : data.object;
|
|
2084
1803
|
return space && object ? {
|
|
2085
|
-
node: /* @__PURE__ */
|
|
1804
|
+
node: /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(SpacePresence, {
|
|
2086
1805
|
object
|
|
2087
|
-
}), space.properties[COMPOSER_SPACE_LOCK] ? null : /* @__PURE__ */
|
|
1806
|
+
}), space.properties[COMPOSER_SPACE_LOCK] ? null : /* @__PURE__ */ import_react2.default.createElement(ShareSpaceButton, {
|
|
2088
1807
|
spaceId: space.id
|
|
2089
1808
|
})),
|
|
2090
1809
|
disposition: "hoist"
|
|
2091
1810
|
} : null;
|
|
2092
1811
|
}
|
|
2093
1812
|
case "section":
|
|
2094
|
-
return data.object instanceof
|
|
1813
|
+
return data.object instanceof import_chunk_CVZPI2P3.CollectionType ? /* @__PURE__ */ import_react2.default.createElement(CollectionSection, {
|
|
2095
1814
|
collection: data.object
|
|
2096
1815
|
}) : null;
|
|
2097
1816
|
case "settings":
|
|
2098
|
-
return data.plugin ===
|
|
1817
|
+
return data.plugin === import_chunk_6CNYF6YU.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(SpaceSettings, {
|
|
2099
1818
|
settings: settings.values
|
|
2100
1819
|
}) : null;
|
|
2101
1820
|
case "menu-footer":
|
|
2102
1821
|
if (!(0, import_echo.isEchoObject)(data.object)) {
|
|
2103
1822
|
return null;
|
|
2104
1823
|
} else {
|
|
2105
|
-
return /* @__PURE__ */
|
|
1824
|
+
return /* @__PURE__ */ import_react2.default.createElement(MenuFooter, {
|
|
2106
1825
|
object: data.object
|
|
2107
1826
|
});
|
|
2108
1827
|
}
|
|
2109
|
-
case "status": {
|
|
2110
|
-
return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(SyncStatus, null), /* @__PURE__ */ import_react.default.createElement(SaveStatus, null));
|
|
2111
|
-
}
|
|
2112
1828
|
default:
|
|
2113
1829
|
return null;
|
|
2114
1830
|
}
|
|
@@ -2129,7 +1845,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2129
1845
|
return [
|
|
2130
1846
|
// Create spaces group node.
|
|
2131
1847
|
(0, import_plugin_graph.createExtension)({
|
|
2132
|
-
id: `${
|
|
1848
|
+
id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/root`,
|
|
2133
1849
|
filter: (node) => node.id === "root",
|
|
2134
1850
|
connector: () => {
|
|
2135
1851
|
const isReady = (0, import_plugin_graph.toSignal)((onChange) => {
|
|
@@ -2152,7 +1868,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2152
1868
|
label: [
|
|
2153
1869
|
"spaces label",
|
|
2154
1870
|
{
|
|
2155
|
-
ns:
|
|
1871
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
2156
1872
|
}
|
|
2157
1873
|
],
|
|
2158
1874
|
palette: "teal",
|
|
@@ -2168,8 +1884,8 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2168
1884
|
spacesOrder.order = nextOrder.map(({ id }) => id);
|
|
2169
1885
|
} else {
|
|
2170
1886
|
import_log.log.warn("spaces order object not found", void 0, {
|
|
2171
|
-
F:
|
|
2172
|
-
L:
|
|
1887
|
+
F: __dxlog_file3,
|
|
1888
|
+
L: 514,
|
|
2173
1889
|
S: void 0,
|
|
2174
1890
|
C: (f, a) => f(...a)
|
|
2175
1891
|
});
|
|
@@ -2186,12 +1902,12 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2186
1902
|
filter: (node) => node.id === SPACES,
|
|
2187
1903
|
actions: () => [
|
|
2188
1904
|
{
|
|
2189
|
-
id:
|
|
1905
|
+
id: import_chunk_6CNYF6YU.SpaceAction.CREATE,
|
|
2190
1906
|
data: async () => {
|
|
2191
1907
|
await dispatch([
|
|
2192
1908
|
{
|
|
2193
|
-
plugin:
|
|
2194
|
-
action:
|
|
1909
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
1910
|
+
action: import_chunk_6CNYF6YU.SpaceAction.CREATE
|
|
2195
1911
|
},
|
|
2196
1912
|
{
|
|
2197
1913
|
action: import_app_framework.NavigationAction.OPEN
|
|
@@ -2202,21 +1918,22 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2202
1918
|
label: [
|
|
2203
1919
|
"create space label",
|
|
2204
1920
|
{
|
|
2205
|
-
ns:
|
|
1921
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
2206
1922
|
}
|
|
2207
1923
|
],
|
|
2208
|
-
icon:
|
|
1924
|
+
icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.Plus, props),
|
|
1925
|
+
iconSymbol: "ph--plus--regular",
|
|
2209
1926
|
disposition: "toolbar",
|
|
2210
1927
|
testId: "spacePlugin.createSpace"
|
|
2211
1928
|
}
|
|
2212
1929
|
},
|
|
2213
1930
|
{
|
|
2214
|
-
id:
|
|
1931
|
+
id: import_chunk_6CNYF6YU.SpaceAction.JOIN,
|
|
2215
1932
|
data: async () => {
|
|
2216
1933
|
await dispatch([
|
|
2217
1934
|
{
|
|
2218
|
-
plugin:
|
|
2219
|
-
action:
|
|
1935
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
1936
|
+
action: import_chunk_6CNYF6YU.SpaceAction.JOIN
|
|
2220
1937
|
},
|
|
2221
1938
|
{
|
|
2222
1939
|
action: import_app_framework.NavigationAction.OPEN
|
|
@@ -2227,10 +1944,11 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2227
1944
|
label: [
|
|
2228
1945
|
"join space label",
|
|
2229
1946
|
{
|
|
2230
|
-
ns:
|
|
1947
|
+
ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
|
|
2231
1948
|
}
|
|
2232
1949
|
],
|
|
2233
|
-
icon:
|
|
1950
|
+
icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.SignIn, props),
|
|
1951
|
+
iconSymbol: "ph--sign-in--regular",
|
|
2234
1952
|
testId: "spacePlugin.joinSpace"
|
|
2235
1953
|
}
|
|
2236
1954
|
}
|
|
@@ -2262,7 +1980,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2262
1980
|
}),
|
|
2263
1981
|
// Find an object by its fully qualified id.
|
|
2264
1982
|
(0, import_plugin_graph.createExtension)({
|
|
2265
|
-
id: `${
|
|
1983
|
+
id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/objects`,
|
|
2266
1984
|
resolver: ({ id }) => {
|
|
2267
1985
|
const [spaceId, objectId] = id.split(":");
|
|
2268
1986
|
const space = client.spaces.get().find((space2) => space2.id === spaceId);
|
|
@@ -2292,7 +2010,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2292
2010
|
}),
|
|
2293
2011
|
// Create space actions and action groups.
|
|
2294
2012
|
(0, import_plugin_graph.createExtension)({
|
|
2295
|
-
id: `${
|
|
2013
|
+
id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/actions`,
|
|
2296
2014
|
filter: (node) => (0, import_echo.isSpace)(node.data),
|
|
2297
2015
|
actionGroups: ({ node }) => constructSpaceActionGroups({
|
|
2298
2016
|
space: node.data,
|
|
@@ -2310,7 +2028,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2310
2028
|
}),
|
|
2311
2029
|
// Create nodes for objects in the root collection of a space.
|
|
2312
2030
|
(0, import_plugin_graph.createExtension)({
|
|
2313
|
-
id: `${
|
|
2031
|
+
id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/root-collection`,
|
|
2314
2032
|
filter: (node) => (0, import_echo.isSpace)(node.data),
|
|
2315
2033
|
connector: ({ node }) => {
|
|
2316
2034
|
const space = node.data;
|
|
@@ -2318,7 +2036,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2318
2036
|
if (state2 !== import_echo.SpaceState.SPACE_READY) {
|
|
2319
2037
|
return;
|
|
2320
2038
|
}
|
|
2321
|
-
const collection = space.properties[
|
|
2039
|
+
const collection = space.properties[import_chunk_CVZPI2P3.CollectionType.typename];
|
|
2322
2040
|
if (!collection) {
|
|
2323
2041
|
return;
|
|
2324
2042
|
}
|
|
@@ -2331,7 +2049,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2331
2049
|
}),
|
|
2332
2050
|
// Create collection actions and action groups.
|
|
2333
2051
|
(0, import_plugin_graph.createExtension)({
|
|
2334
|
-
id: `${
|
|
2052
|
+
id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/object-actions`,
|
|
2335
2053
|
filter: (node) => (0, import_echo.isEchoObject)(node.data),
|
|
2336
2054
|
actionGroups: ({ node }) => constructObjectActionGroups({
|
|
2337
2055
|
object: node.data,
|
|
@@ -2344,8 +2062,8 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2344
2062
|
}),
|
|
2345
2063
|
// Create nodes for objects in collections.
|
|
2346
2064
|
(0, import_plugin_graph.createExtension)({
|
|
2347
|
-
id: `${
|
|
2348
|
-
filter: (node) => node.data instanceof
|
|
2065
|
+
id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/collection-objects`,
|
|
2066
|
+
filter: (node) => node.data instanceof import_chunk_CVZPI2P3.CollectionType,
|
|
2349
2067
|
connector: ({ node }) => {
|
|
2350
2068
|
const collection = node.data;
|
|
2351
2069
|
const space = (0, import_echo.getSpace)(collection);
|
|
@@ -2358,45 +2076,6 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2358
2076
|
resolve
|
|
2359
2077
|
})).filter(import_util.nonNullable);
|
|
2360
2078
|
}
|
|
2361
|
-
}),
|
|
2362
|
-
// Create nodes for object settings.
|
|
2363
|
-
(0, import_plugin_graph.createExtension)({
|
|
2364
|
-
id: `${import_chunk_P4XUXM7Y.SPACE_PLUGIN}/settings-for-subject`,
|
|
2365
|
-
resolver: ({ id }) => {
|
|
2366
|
-
if (!id.endsWith("~settings")) {
|
|
2367
|
-
return;
|
|
2368
|
-
}
|
|
2369
|
-
const [subjectId] = id.split("~");
|
|
2370
|
-
const [spaceId, objectId] = (0, import_echo.parseFullyQualifiedId)(subjectId);
|
|
2371
|
-
const space = client.spaces.get().find((space2) => space2.id === spaceId);
|
|
2372
|
-
const object = (0, import_plugin_graph.toSignal)((onChange) => {
|
|
2373
|
-
const timeout = setTimeout(async () => {
|
|
2374
|
-
await space?.db.loadObjectById(objectId);
|
|
2375
|
-
onChange();
|
|
2376
|
-
});
|
|
2377
|
-
return () => clearTimeout(timeout);
|
|
2378
|
-
}, () => space?.db.getObjectById(objectId), subjectId);
|
|
2379
|
-
if (!object || !subjectId) {
|
|
2380
|
-
return;
|
|
2381
|
-
}
|
|
2382
|
-
const meta = resolve((0, import_echo.getTypename)(object) ?? "");
|
|
2383
|
-
const label = meta.label?.(object) || object.name || meta.placeholder || [
|
|
2384
|
-
"unnamed object settings label",
|
|
2385
|
-
{
|
|
2386
|
-
ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
|
|
2387
|
-
}
|
|
2388
|
-
];
|
|
2389
|
-
return {
|
|
2390
|
-
id,
|
|
2391
|
-
type: "orphan-settings-for-subject",
|
|
2392
|
-
data: null,
|
|
2393
|
-
properties: {
|
|
2394
|
-
icon: "ph--gear--regular",
|
|
2395
|
-
label,
|
|
2396
|
-
object
|
|
2397
|
-
}
|
|
2398
|
-
};
|
|
2399
|
-
}
|
|
2400
2079
|
})
|
|
2401
2080
|
];
|
|
2402
2081
|
},
|
|
@@ -2410,8 +2089,8 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2410
2089
|
inputType: SPACES,
|
|
2411
2090
|
outputType: DIRECTORY_TYPE,
|
|
2412
2091
|
serialize: (node) => ({
|
|
2413
|
-
name: translations_default[0]["en-US"][
|
|
2414
|
-
data: translations_default[0]["en-US"][
|
|
2092
|
+
name: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["spaces label"],
|
|
2093
|
+
data: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["spaces label"],
|
|
2415
2094
|
type: DIRECTORY_TYPE
|
|
2416
2095
|
}),
|
|
2417
2096
|
deserialize: () => {
|
|
@@ -2421,14 +2100,14 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2421
2100
|
inputType: SPACE_TYPE,
|
|
2422
2101
|
outputType: DIRECTORY_TYPE,
|
|
2423
2102
|
serialize: (node) => ({
|
|
2424
|
-
name: node.data.properties.name ?? translations_default[0]["en-US"][
|
|
2425
|
-
data: node.data.properties.name ?? translations_default[0]["en-US"][
|
|
2103
|
+
name: node.data.properties.name ?? translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["unnamed space label"],
|
|
2104
|
+
data: node.data.properties.name ?? translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["unnamed space label"],
|
|
2426
2105
|
type: DIRECTORY_TYPE
|
|
2427
2106
|
}),
|
|
2428
2107
|
deserialize: async (data) => {
|
|
2429
2108
|
const result = await dispatch({
|
|
2430
|
-
plugin:
|
|
2431
|
-
action:
|
|
2109
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
2110
|
+
action: import_chunk_6CNYF6YU.SpaceAction.CREATE,
|
|
2432
2111
|
data: {
|
|
2433
2112
|
name: data.name
|
|
2434
2113
|
}
|
|
@@ -2437,25 +2116,25 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2437
2116
|
}
|
|
2438
2117
|
},
|
|
2439
2118
|
{
|
|
2440
|
-
inputType:
|
|
2119
|
+
inputType: import_chunk_CVZPI2P3.CollectionType.typename,
|
|
2441
2120
|
outputType: DIRECTORY_TYPE,
|
|
2442
2121
|
serialize: (node) => ({
|
|
2443
|
-
name: node.data.name ?? translations_default[0]["en-US"][
|
|
2444
|
-
data: node.data.name ?? translations_default[0]["en-US"][
|
|
2122
|
+
name: node.data.name ?? translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["unnamed collection label"],
|
|
2123
|
+
data: node.data.name ?? translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["unnamed collection label"],
|
|
2445
2124
|
type: DIRECTORY_TYPE
|
|
2446
2125
|
}),
|
|
2447
2126
|
deserialize: async (data, ancestors) => {
|
|
2448
2127
|
const space = ancestors.find(import_echo.isSpace);
|
|
2449
|
-
const collection = ancestors.findLast((ancestor) => ancestor instanceof
|
|
2128
|
+
const collection = ancestors.findLast((ancestor) => ancestor instanceof import_chunk_CVZPI2P3.CollectionType) ?? space?.properties[import_chunk_CVZPI2P3.CollectionType.typename];
|
|
2450
2129
|
if (!space || !collection) {
|
|
2451
2130
|
return;
|
|
2452
2131
|
}
|
|
2453
2132
|
const result = await dispatch({
|
|
2454
|
-
plugin:
|
|
2455
|
-
action:
|
|
2133
|
+
plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
|
|
2134
|
+
action: import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT,
|
|
2456
2135
|
data: {
|
|
2457
2136
|
target: collection,
|
|
2458
|
-
object: (0, import_echo.create)(
|
|
2137
|
+
object: (0, import_echo.create)(import_chunk_CVZPI2P3.CollectionType, {
|
|
2459
2138
|
name: data.name,
|
|
2460
2139
|
objects: [],
|
|
2461
2140
|
views: {}
|
|
@@ -2473,23 +2152,23 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2473
2152
|
const clientPlugin2 = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin);
|
|
2474
2153
|
const client = clientPlugin2?.provides.client;
|
|
2475
2154
|
switch (intent.action) {
|
|
2476
|
-
case
|
|
2155
|
+
case import_chunk_6CNYF6YU.SpaceAction.WAIT_FOR_OBJECT: {
|
|
2477
2156
|
state.values.awaiting = intent.data?.id;
|
|
2478
2157
|
return {
|
|
2479
2158
|
data: true
|
|
2480
2159
|
};
|
|
2481
2160
|
}
|
|
2482
|
-
case
|
|
2161
|
+
case import_chunk_6CNYF6YU.SpaceAction.CREATE: {
|
|
2483
2162
|
if (!client) {
|
|
2484
2163
|
return;
|
|
2485
2164
|
}
|
|
2486
2165
|
const space = await client.spaces.create(intent.data);
|
|
2487
2166
|
await space.waitUntilReady();
|
|
2488
|
-
const collection = (0, import_echo.create)(
|
|
2167
|
+
const collection = (0, import_echo.create)(import_chunk_CVZPI2P3.CollectionType, {
|
|
2489
2168
|
objects: [],
|
|
2490
2169
|
views: {}
|
|
2491
2170
|
});
|
|
2492
|
-
space.properties[
|
|
2171
|
+
space.properties[import_chunk_CVZPI2P3.CollectionType.typename] = collection;
|
|
2493
2172
|
if (import_migrations.Migrations.versionProperty) {
|
|
2494
2173
|
space.properties[import_migrations.Migrations.versionProperty] = import_migrations.Migrations.targetVersion;
|
|
2495
2174
|
}
|
|
@@ -2504,25 +2183,6 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2504
2183
|
}
|
|
2505
2184
|
},
|
|
2506
2185
|
intents: [
|
|
2507
|
-
...settings.values.onSpaceCreate ? [
|
|
2508
|
-
[
|
|
2509
|
-
{
|
|
2510
|
-
action: settings.values.onSpaceCreate,
|
|
2511
|
-
data: {
|
|
2512
|
-
space
|
|
2513
|
-
}
|
|
2514
|
-
},
|
|
2515
|
-
{
|
|
2516
|
-
action: import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT,
|
|
2517
|
-
data: {
|
|
2518
|
-
target: space
|
|
2519
|
-
}
|
|
2520
|
-
},
|
|
2521
|
-
{
|
|
2522
|
-
action: import_app_framework.NavigationAction.EXPOSE
|
|
2523
|
-
}
|
|
2524
|
-
]
|
|
2525
|
-
] : [],
|
|
2526
2186
|
[
|
|
2527
2187
|
{
|
|
2528
2188
|
action: import_meta.ObservabilityAction.SEND_EVENT,
|
|
@@ -2537,7 +2197,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2537
2197
|
]
|
|
2538
2198
|
};
|
|
2539
2199
|
}
|
|
2540
|
-
case
|
|
2200
|
+
case import_chunk_6CNYF6YU.SpaceAction.JOIN: {
|
|
2541
2201
|
if (client) {
|
|
2542
2202
|
const { space } = await client.shell.joinSpace({
|
|
2543
2203
|
invitationCode: intent.data?.invitationCode
|
|
@@ -2571,7 +2231,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2571
2231
|
}
|
|
2572
2232
|
break;
|
|
2573
2233
|
}
|
|
2574
|
-
case
|
|
2234
|
+
case import_chunk_6CNYF6YU.SpaceAction.SHARE: {
|
|
2575
2235
|
const spaceId = intent.data?.spaceId;
|
|
2576
2236
|
if (clientPlugin2 && typeof spaceId === "string") {
|
|
2577
2237
|
if (!navigationPlugin?.provides.location.active) {
|
|
@@ -2604,7 +2264,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2604
2264
|
}
|
|
2605
2265
|
break;
|
|
2606
2266
|
}
|
|
2607
|
-
case
|
|
2267
|
+
case import_chunk_6CNYF6YU.SpaceAction.LOCK: {
|
|
2608
2268
|
const space = intent.data?.space;
|
|
2609
2269
|
if ((0, import_echo.isSpace)(space)) {
|
|
2610
2270
|
space.properties[COMPOSER_SPACE_LOCK] = true;
|
|
@@ -2627,7 +2287,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2627
2287
|
}
|
|
2628
2288
|
break;
|
|
2629
2289
|
}
|
|
2630
|
-
case
|
|
2290
|
+
case import_chunk_6CNYF6YU.SpaceAction.UNLOCK: {
|
|
2631
2291
|
const space = intent.data?.space;
|
|
2632
2292
|
if ((0, import_echo.isSpace)(space)) {
|
|
2633
2293
|
space.properties[COMPOSER_SPACE_LOCK] = false;
|
|
@@ -2650,7 +2310,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2650
2310
|
}
|
|
2651
2311
|
break;
|
|
2652
2312
|
}
|
|
2653
|
-
case
|
|
2313
|
+
case import_chunk_6CNYF6YU.SpaceAction.RENAME: {
|
|
2654
2314
|
const { caller, space } = intent.data ?? {};
|
|
2655
2315
|
if (typeof caller === "string" && (0, import_echo.isSpace)(space)) {
|
|
2656
2316
|
return {
|
|
@@ -2671,7 +2331,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2671
2331
|
}
|
|
2672
2332
|
break;
|
|
2673
2333
|
}
|
|
2674
|
-
case
|
|
2334
|
+
case import_chunk_6CNYF6YU.SpaceAction.OPEN: {
|
|
2675
2335
|
const space = intent.data?.space;
|
|
2676
2336
|
if ((0, import_echo.isSpace)(space)) {
|
|
2677
2337
|
await space.open();
|
|
@@ -2681,7 +2341,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2681
2341
|
}
|
|
2682
2342
|
break;
|
|
2683
2343
|
}
|
|
2684
|
-
case
|
|
2344
|
+
case import_chunk_6CNYF6YU.SpaceAction.CLOSE: {
|
|
2685
2345
|
const space = intent.data?.space;
|
|
2686
2346
|
if ((0, import_echo.isSpace)(space)) {
|
|
2687
2347
|
await space.close();
|
|
@@ -2691,7 +2351,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2691
2351
|
}
|
|
2692
2352
|
break;
|
|
2693
2353
|
}
|
|
2694
|
-
case
|
|
2354
|
+
case import_chunk_6CNYF6YU.SpaceAction.MIGRATE: {
|
|
2695
2355
|
const space = intent.data?.space;
|
|
2696
2356
|
if ((0, import_echo.isSpace)(space)) {
|
|
2697
2357
|
if (space.state.get() === import_echo.SpaceState.SPACE_REQUIRES_MIGRATION) {
|
|
@@ -2720,7 +2380,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2720
2380
|
}
|
|
2721
2381
|
break;
|
|
2722
2382
|
}
|
|
2723
|
-
case
|
|
2383
|
+
case import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT: {
|
|
2724
2384
|
const object = intent.data?.object ?? intent.data?.result;
|
|
2725
2385
|
if (!(0, import_echo_schema.isReactiveObject)(object)) {
|
|
2726
2386
|
return;
|
|
@@ -2739,15 +2399,16 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2739
2399
|
data: {
|
|
2740
2400
|
element: "toast",
|
|
2741
2401
|
subject: {
|
|
2742
|
-
id: `${
|
|
2743
|
-
title: translations_default[0]["en-US"][
|
|
2744
|
-
description: translations_default[0]["en-US"][
|
|
2402
|
+
id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/space-limit`,
|
|
2403
|
+
title: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["space limit label"],
|
|
2404
|
+
description: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["space limit description"],
|
|
2745
2405
|
duration: 5e3,
|
|
2746
|
-
icon:
|
|
2747
|
-
|
|
2748
|
-
|
|
2406
|
+
icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.Warning, props),
|
|
2407
|
+
iconSymbol: "ph--warning--regular",
|
|
2408
|
+
actionLabel: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["remove deleted objects label"],
|
|
2409
|
+
actionAlt: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["remove deleted objects alt"],
|
|
2749
2410
|
// TODO(wittjosiah): Use OS namespace.
|
|
2750
|
-
closeLabel: translations_default[0]["en-US"][
|
|
2411
|
+
closeLabel: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["space limit close label"],
|
|
2751
2412
|
onAction: () => space.db.coreDatabase.unlinkDeletedObjects()
|
|
2752
2413
|
}
|
|
2753
2414
|
}
|
|
@@ -2767,25 +2428,25 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2767
2428
|
]
|
|
2768
2429
|
};
|
|
2769
2430
|
}
|
|
2770
|
-
if (intent.data?.target instanceof
|
|
2431
|
+
if (intent.data?.target instanceof import_chunk_CVZPI2P3.CollectionType) {
|
|
2771
2432
|
intent.data?.target.objects.push(object);
|
|
2772
2433
|
} else if ((0, import_echo.isSpace)(intent.data?.target)) {
|
|
2773
|
-
const collection = space.properties[
|
|
2774
|
-
if (collection instanceof
|
|
2434
|
+
const collection = space.properties[import_chunk_CVZPI2P3.CollectionType.typename];
|
|
2435
|
+
if (collection instanceof import_chunk_CVZPI2P3.CollectionType) {
|
|
2775
2436
|
collection.objects.push(object);
|
|
2776
2437
|
} else {
|
|
2777
|
-
const collection2 = (0, import_echo.create)(
|
|
2438
|
+
const collection2 = (0, import_echo.create)(import_chunk_CVZPI2P3.CollectionType, {
|
|
2778
2439
|
objects: [
|
|
2779
2440
|
object
|
|
2780
2441
|
],
|
|
2781
2442
|
views: {}
|
|
2782
2443
|
});
|
|
2783
|
-
space.properties[
|
|
2444
|
+
space.properties[import_chunk_CVZPI2P3.CollectionType.typename] = collection2;
|
|
2784
2445
|
}
|
|
2785
2446
|
}
|
|
2786
2447
|
return {
|
|
2787
2448
|
data: {
|
|
2788
|
-
id:
|
|
2449
|
+
id: object.id,
|
|
2789
2450
|
object,
|
|
2790
2451
|
activeParts: {
|
|
2791
2452
|
main: [
|
|
@@ -2810,7 +2471,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2810
2471
|
]
|
|
2811
2472
|
};
|
|
2812
2473
|
}
|
|
2813
|
-
case
|
|
2474
|
+
case import_chunk_6CNYF6YU.SpaceAction.REMOVE_OBJECT: {
|
|
2814
2475
|
const object = intent.data?.object ?? intent.data?.result;
|
|
2815
2476
|
const space = (0, import_echo.getSpace)(object);
|
|
2816
2477
|
if (!((0, import_echo.isEchoObject)(object) && space)) {
|
|
@@ -2820,12 +2481,12 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2820
2481
|
const activeParts = navigationPlugin?.provides.location.active;
|
|
2821
2482
|
const openObjectIds = new Set((0, import_app_framework.openIds)(activeParts ?? {}));
|
|
2822
2483
|
if (!intent.undo && resolve) {
|
|
2823
|
-
const parentCollection = intent.data?.collection ?? space.properties[
|
|
2484
|
+
const parentCollection = intent.data?.collection ?? space.properties[import_chunk_CVZPI2P3.CollectionType.typename];
|
|
2824
2485
|
const nestedObjects = await getNestedObjects(object, resolve);
|
|
2825
2486
|
const deletionData = {
|
|
2826
2487
|
object,
|
|
2827
2488
|
parentCollection,
|
|
2828
|
-
index: parentCollection instanceof
|
|
2489
|
+
index: parentCollection instanceof import_chunk_CVZPI2P3.CollectionType ? parentCollection.objects.indexOf(object) : -1,
|
|
2829
2490
|
nestedObjects,
|
|
2830
2491
|
wasActive: [
|
|
2831
2492
|
object,
|
|
@@ -2838,12 +2499,13 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2838
2499
|
data: {
|
|
2839
2500
|
activeParts: {
|
|
2840
2501
|
main: deletionData.wasActive,
|
|
2841
|
-
sidebar: deletionData.wasActive
|
|
2502
|
+
sidebar: deletionData.wasActive,
|
|
2503
|
+
complementary: deletionData.wasActive
|
|
2842
2504
|
}
|
|
2843
2505
|
}
|
|
2844
2506
|
});
|
|
2845
2507
|
}
|
|
2846
|
-
if (parentCollection instanceof
|
|
2508
|
+
if (parentCollection instanceof import_chunk_CVZPI2P3.CollectionType) {
|
|
2847
2509
|
const index = parentCollection.objects.indexOf(object);
|
|
2848
2510
|
if (index !== -1) {
|
|
2849
2511
|
parentCollection.objects.splice(index, 1);
|
|
@@ -2853,18 +2515,18 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2853
2515
|
space.db.remove(obj);
|
|
2854
2516
|
});
|
|
2855
2517
|
space.db.remove(object);
|
|
2856
|
-
const undoMessageKey = object instanceof
|
|
2518
|
+
const undoMessageKey = object instanceof import_chunk_CVZPI2P3.CollectionType ? "collection deleted label" : "object deleted label";
|
|
2857
2519
|
return {
|
|
2858
2520
|
data: true,
|
|
2859
2521
|
undoable: {
|
|
2860
2522
|
// Consider using a translation key here.
|
|
2861
|
-
message: translations_default[0]["en-US"][
|
|
2523
|
+
message: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN][undoMessageKey],
|
|
2862
2524
|
data: deletionData
|
|
2863
2525
|
}
|
|
2864
2526
|
};
|
|
2865
2527
|
} else {
|
|
2866
2528
|
const undoData = intent.data;
|
|
2867
|
-
if (undoData && (0, import_echo.isEchoObject)(undoData.object) && undoData.parentCollection instanceof
|
|
2529
|
+
if (undoData && (0, import_echo.isEchoObject)(undoData.object) && undoData.parentCollection instanceof import_chunk_CVZPI2P3.CollectionType) {
|
|
2868
2530
|
const restoredObject = space.db.add(undoData.object);
|
|
2869
2531
|
undoData.nestedObjects.forEach((obj) => {
|
|
2870
2532
|
space.db.add(obj);
|
|
@@ -2891,7 +2553,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2891
2553
|
};
|
|
2892
2554
|
}
|
|
2893
2555
|
}
|
|
2894
|
-
case
|
|
2556
|
+
case import_chunk_6CNYF6YU.SpaceAction.RENAME_OBJECT: {
|
|
2895
2557
|
const object = intent.data?.object ?? intent.data?.result;
|
|
2896
2558
|
const caller = intent.data?.caller;
|
|
2897
2559
|
if ((0, import_echo_schema.isReactiveObject)(object) && caller) {
|
|
@@ -2913,7 +2575,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2913
2575
|
}
|
|
2914
2576
|
break;
|
|
2915
2577
|
}
|
|
2916
|
-
case
|
|
2578
|
+
case import_chunk_6CNYF6YU.SpaceAction.DUPLICATE_OBJECT: {
|
|
2917
2579
|
const originalObject = intent.data?.object ?? intent.data?.result;
|
|
2918
2580
|
const resolve = (0, import_app_framework.resolvePlugin)(plugins, import_app_framework.parseMetadataResolverPlugin)?.provides.metadata.resolver;
|
|
2919
2581
|
if (!(0, import_echo.isEchoObject)(originalObject) || !resolve) {
|
|
@@ -2924,7 +2586,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2924
2586
|
intents: [
|
|
2925
2587
|
[
|
|
2926
2588
|
{
|
|
2927
|
-
action:
|
|
2589
|
+
action: import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT,
|
|
2928
2590
|
data: {
|
|
2929
2591
|
object: newObject,
|
|
2930
2592
|
target: intent.data?.target
|
|
@@ -2934,7 +2596,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
|
|
|
2934
2596
|
]
|
|
2935
2597
|
};
|
|
2936
2598
|
}
|
|
2937
|
-
case
|
|
2599
|
+
case import_chunk_6CNYF6YU.SpaceAction.TOGGLE_HIDDEN: {
|
|
2938
2600
|
settings.values.showHidden = intent.data?.state ?? !settings.values.showHidden;
|
|
2939
2601
|
return {
|
|
2940
2602
|
data: true
|
|
@@ -2957,10 +2619,10 @@ var src_default = SpacePlugin;
|
|
|
2957
2619
|
CollectionSection,
|
|
2958
2620
|
CollectionType,
|
|
2959
2621
|
ContactType,
|
|
2960
|
-
|
|
2622
|
+
EmptySpace,
|
|
2623
|
+
EmptyTree,
|
|
2961
2624
|
FullPresence,
|
|
2962
2625
|
MenuFooter,
|
|
2963
|
-
MessageState,
|
|
2964
2626
|
MessageType,
|
|
2965
2627
|
MissingObject,
|
|
2966
2628
|
PersistenceStatus,
|
|
@@ -2972,7 +2634,6 @@ var src_default = SpacePlugin;
|
|
|
2972
2634
|
SPACE_PLUGIN,
|
|
2973
2635
|
SPACE_PLUGIN_SHORT_ID,
|
|
2974
2636
|
SPACE_TYPE,
|
|
2975
|
-
SaveStatus,
|
|
2976
2637
|
ShareSpaceButton,
|
|
2977
2638
|
ShareSpaceButtonImpl,
|
|
2978
2639
|
SmallPresence,
|
|
@@ -2982,9 +2643,6 @@ var src_default = SpacePlugin;
|
|
|
2982
2643
|
SpacePlugin,
|
|
2983
2644
|
SpacePresence,
|
|
2984
2645
|
SpaceSettings,
|
|
2985
|
-
SyncStatus,
|
|
2986
|
-
SyncStatusDetail,
|
|
2987
|
-
SyncStatusIndicator,
|
|
2988
2646
|
ThreadStatus,
|
|
2989
2647
|
ThreadType,
|
|
2990
2648
|
cloneObject,
|
|
@@ -2998,7 +2656,6 @@ var src_default = SpacePlugin;
|
|
|
2998
2656
|
getNestedObjects,
|
|
2999
2657
|
getSpaceDisplayName,
|
|
3000
2658
|
memoizeQuery,
|
|
3001
|
-
parseSpaceInitPlugin,
|
|
3002
2659
|
parseSpacePlugin,
|
|
3003
2660
|
translations
|
|
3004
2661
|
});
|