@interopio/workspaces-api 3.5.6 → 4.0.0
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/changelog.md +5 -0
- package/dist/workspaces.es.js +151 -9
- package/dist/workspaces.es.js.map +1 -1
- package/dist/workspaces.umd.js +151 -9
- package/dist/workspaces.umd.js.map +1 -1
- package/dist/workspaces.umd.min.js +1 -1
- package/package.json +4 -5
- package/workspaces.d.ts +144 -56
package/workspaces.d.ts
CHANGED
|
@@ -7,15 +7,14 @@ export default WorkspacesFactory;
|
|
|
7
7
|
/**
|
|
8
8
|
* @docname Workspaces
|
|
9
9
|
* @intro
|
|
10
|
-
* The Workspaces API offers advanced window management functionalities. Using Workspaces, users are able to arrange multiple
|
|
11
|
-
* within the same visual window (called
|
|
12
|
-
* Users can also save Workspace Layouts and restore them within the same Frame or even in different Frames.
|
|
10
|
+
* The Workspaces API offers advanced window management functionalities. Using Workspaces, users are able to arrange multiple apps
|
|
11
|
+
* within the same visual window (called Frame or a Workspaces App). This arrangement can be performed programmatically or by dragging and dropping
|
|
12
|
+
* apps within the Frame. Users can also save Workspace Layouts and restore them within the same Frame or even in different Frames.
|
|
13
13
|
*
|
|
14
|
-
* The
|
|
15
|
-
* as an individual building block that can be added, removed, moved or resized within a Workspace.
|
|
14
|
+
* The app windows in a Workspace are treated as individual building blocks that can be added, removed, moved, or resized within the Workspace.
|
|
16
15
|
* The Frame can hold multiple Workspaces (as tabs) and can also be maximized, minimized or resized.
|
|
17
|
-
*
|
|
18
|
-
* The Workspaces API is accessible
|
|
16
|
+
*
|
|
17
|
+
* The Workspaces API is accessible via the [`io.workspaces`](#API) object.
|
|
19
18
|
*/
|
|
20
19
|
export namespace IOConnectWorkspaces {
|
|
21
20
|
|
|
@@ -50,7 +49,10 @@ export namespace IOConnectWorkspaces {
|
|
|
50
49
|
/** The type of the workspace element. */
|
|
51
50
|
type: "Workspace";
|
|
52
51
|
|
|
53
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* The name of the workspaces app with which the layout is associated.
|
|
54
|
+
* *Available only in **io.Connect Desktop**.*
|
|
55
|
+
*/
|
|
54
56
|
application?: string;
|
|
55
57
|
|
|
56
58
|
state: WorkspaceLayoutComponentState;
|
|
@@ -93,7 +95,7 @@ export namespace IOConnectWorkspaces {
|
|
|
93
95
|
}
|
|
94
96
|
|
|
95
97
|
export interface WindowLayoutItemConfig {
|
|
96
|
-
/** The name of the application as
|
|
98
|
+
/** The name of the application as specified in its definition. */
|
|
97
99
|
appName: string;
|
|
98
100
|
/** The id of the window */
|
|
99
101
|
windowId?: string;
|
|
@@ -127,7 +129,10 @@ export namespace IOConnectWorkspaces {
|
|
|
127
129
|
/** A string id of an existing frame. If provided, this workspace will be opened in that specific frame */
|
|
128
130
|
frameId?: string;
|
|
129
131
|
|
|
130
|
-
/**
|
|
132
|
+
/**
|
|
133
|
+
* The application name of the workspace app that should be used for the new frame.
|
|
134
|
+
* *Available only in **io.Connect Desktop**.*
|
|
135
|
+
*/
|
|
131
136
|
applicationName?: string;
|
|
132
137
|
|
|
133
138
|
/** A setting used to declare that the workspace must be in a new frame and also provide options for that new frame */
|
|
@@ -162,7 +167,9 @@ export namespace IOConnectWorkspaces {
|
|
|
162
167
|
positionIndex?: number;
|
|
163
168
|
|
|
164
169
|
/**
|
|
165
|
-
* Controls the users ability to activate the Workspaces frame when the workspace is restored
|
|
170
|
+
* Controls the users ability to activate the Workspaces frame when the workspace is restored.
|
|
171
|
+
* *Available only in **io.Connect Desktop**.*
|
|
172
|
+
* Defaults to the configuration passed in the `workspaces.json` file or to `false`.
|
|
166
173
|
*/
|
|
167
174
|
activateFrame?: boolean;
|
|
168
175
|
|
|
@@ -218,6 +225,21 @@ export namespace IOConnectWorkspaces {
|
|
|
218
225
|
relative?: boolean;
|
|
219
226
|
}
|
|
220
227
|
|
|
228
|
+
/**
|
|
229
|
+
* Options for closing a Frame.
|
|
230
|
+
* @since io.Connect Desktop 9.9
|
|
231
|
+
*/
|
|
232
|
+
export interface FrameCloseOptions {
|
|
233
|
+
/**
|
|
234
|
+
* If `true`, will allow preventing the operation for closing the Frame.
|
|
235
|
+
*/
|
|
236
|
+
allowPrevent?: boolean;
|
|
237
|
+
/**
|
|
238
|
+
* If `true`, will show a dialog for the user to confirm or cancel closing the Frame.
|
|
239
|
+
*/
|
|
240
|
+
showDialog?: boolean;
|
|
241
|
+
}
|
|
242
|
+
|
|
221
243
|
/** An object containing settings applied when creating a new workspace. */
|
|
222
244
|
export interface WorkspaceCreateConfig {
|
|
223
245
|
/** A boolean which defines whether or not the workspace should also be saved as a layout when created. */
|
|
@@ -225,7 +247,7 @@ export namespace IOConnectWorkspaces {
|
|
|
225
247
|
}
|
|
226
248
|
|
|
227
249
|
/**
|
|
228
|
-
* The loading strategy used to open new workspaces.
|
|
250
|
+
* The loading strategy used to open new workspaces.
|
|
229
251
|
* "direct" will cause all windows to start loading at the same time as soon as the workspace loads
|
|
230
252
|
* "delayed" will cause all visible/active/selected windows to start loading at the same time as soon as the workspace loads. The rest will be loaded gradually at a specific interval.
|
|
231
253
|
* "lazy" will cause all visible/active/selected windows to start loading at the same time as soon as the workspace loads. The rest will start loading when the user selects them and not before that.
|
|
@@ -261,7 +283,7 @@ export namespace IOConnectWorkspaces {
|
|
|
261
283
|
/** Position of the workspace in relation to it's siblings in the frame. */
|
|
262
284
|
position?: number;
|
|
263
285
|
|
|
264
|
-
/**
|
|
286
|
+
/**
|
|
265
287
|
* Provides the opportunity to open a workspace with no tab header
|
|
266
288
|
* @default false
|
|
267
289
|
*/
|
|
@@ -285,79 +307,80 @@ export namespace IOConnectWorkspaces {
|
|
|
285
307
|
*/
|
|
286
308
|
allowDropLeft?: boolean;
|
|
287
309
|
|
|
288
|
-
/**
|
|
310
|
+
/**
|
|
289
311
|
* Controls the users ability to drop windows in the top-most zone of the workspace
|
|
290
312
|
* @default true
|
|
291
313
|
*/
|
|
292
314
|
allowDropTop?: boolean;
|
|
293
315
|
|
|
294
|
-
/**
|
|
316
|
+
/**
|
|
295
317
|
* Controls the users ability to drop windows in the right-most zone of the workspace
|
|
296
318
|
* @default true
|
|
297
319
|
*/
|
|
298
320
|
allowDropRight?: boolean;
|
|
299
321
|
|
|
300
|
-
/**
|
|
322
|
+
/**
|
|
301
323
|
* Controls the users ability to drop windows in the bottom-most zone of the workspace
|
|
302
324
|
* @default true
|
|
303
325
|
*/
|
|
304
326
|
allowDropBottom?: boolean;
|
|
305
327
|
|
|
306
|
-
/**
|
|
328
|
+
/**
|
|
307
329
|
* Controls the users ability to extract windows from the workspace
|
|
308
330
|
* @default true
|
|
309
331
|
*/
|
|
310
332
|
allowExtract?: boolean;
|
|
311
333
|
|
|
312
|
-
/**
|
|
334
|
+
/**
|
|
313
335
|
* Control the users ability to reorder windows in the workspace
|
|
314
336
|
* @default true
|
|
315
337
|
*/
|
|
316
338
|
allowWindowReorder?: boolean;
|
|
317
339
|
|
|
318
|
-
/**
|
|
340
|
+
/**
|
|
319
341
|
* Controls the visibility of the save workspace button located in the workspace tab
|
|
320
342
|
* @default true
|
|
321
343
|
*/
|
|
322
344
|
showSaveButton?: boolean;
|
|
323
345
|
|
|
324
|
-
/**
|
|
346
|
+
/**
|
|
325
347
|
* Controls whether a workspace tab can be reordered in the frame
|
|
326
348
|
* @default true
|
|
327
349
|
*/
|
|
328
350
|
allowWorkspaceTabReorder?: boolean;
|
|
329
351
|
|
|
330
|
-
/**
|
|
331
|
-
* Controls whether a workspace tab can be extracted from the frame
|
|
352
|
+
/**
|
|
353
|
+
* Controls whether a workspace tab can be extracted from the frame.
|
|
354
|
+
* *Available only in **io.Connect Desktop**.*
|
|
332
355
|
* @default true
|
|
333
356
|
*/
|
|
334
357
|
allowWorkspaceTabExtract?: boolean;
|
|
335
358
|
|
|
336
|
-
/**
|
|
359
|
+
/**
|
|
337
360
|
* Controls the visibility of the close button located in the workspaces tab
|
|
338
361
|
* @default true
|
|
339
362
|
*/
|
|
340
363
|
showCloseButton?: boolean;
|
|
341
364
|
|
|
342
|
-
/**
|
|
365
|
+
/**
|
|
343
366
|
* Prevents the splitters for being draggable, so the windows cannot be resized
|
|
344
367
|
* @default true
|
|
345
368
|
*/
|
|
346
369
|
allowSplitters?: boolean;
|
|
347
370
|
|
|
348
|
-
/**
|
|
371
|
+
/**
|
|
349
372
|
* Controls the visibility of all close button located in the windows' tab elements
|
|
350
373
|
* @default true
|
|
351
374
|
*/
|
|
352
375
|
showWindowCloseButtons?: boolean;
|
|
353
376
|
|
|
354
|
-
/**
|
|
377
|
+
/**
|
|
355
378
|
* Controls the visibility of all eject buttons located in the groups' headers
|
|
356
379
|
* @default true
|
|
357
380
|
*/
|
|
358
381
|
showEjectButtons?: boolean;
|
|
359
382
|
|
|
360
|
-
/**
|
|
383
|
+
/**
|
|
361
384
|
* Controls the visibility of all the add window buttons (the ones with the plus icon) located in the group headers
|
|
362
385
|
* @default true
|
|
363
386
|
*/
|
|
@@ -386,7 +409,7 @@ export namespace IOConnectWorkspaces {
|
|
|
386
409
|
positionIndex?: number;
|
|
387
410
|
|
|
388
411
|
/**
|
|
389
|
-
* Mode for dragging the windows that are part of the Workspace. If set to `"autoEject"` (available only
|
|
412
|
+
* Mode for dragging the windows that are part of the Workspace. If set to `"autoEject"` (available only in **io.Connect Desktop**), when the user drags a Workspace window, it will be ejected from the Workspace during the dragging operation and the user will be able to drop it back inside the Workspace, or out of the Workspace.
|
|
390
413
|
* If set to `"keepInside"`, the window won't be ejected from the Workspace when being dragged and the user will be able to drop it only inside the Workspace.
|
|
391
414
|
*/
|
|
392
415
|
windowDragMode?: "keepInside" | "autoEject";
|
|
@@ -434,7 +457,10 @@ export namespace IOConnectWorkspaces {
|
|
|
434
457
|
/** Controls the whether the workspace tab can be reordered */
|
|
435
458
|
allowWorkspaceTabReorder?: boolean;
|
|
436
459
|
|
|
437
|
-
/**
|
|
460
|
+
/**
|
|
461
|
+
* Controls the whether the workspace tab can be extracted.
|
|
462
|
+
* *Available only in **io.Connect Desktop**.*
|
|
463
|
+
*/
|
|
438
464
|
allowWorkspaceTabExtract?: boolean;
|
|
439
465
|
|
|
440
466
|
/** Controls the visibility of all the add window buttons (the ones with the plus icon) located in the group headers */
|
|
@@ -634,13 +660,20 @@ export namespace IOConnectWorkspaces {
|
|
|
634
660
|
}
|
|
635
661
|
|
|
636
662
|
export interface FrameTargetingOptions {
|
|
637
|
-
/**
|
|
663
|
+
/**
|
|
664
|
+
* If `true`, the frame will be activated when the operation is executed.
|
|
665
|
+
* *Available only in **io.Connect Desktop**.*
|
|
666
|
+
* Defaults to the configuration passed in the `workspaces.json` file or to `false`.
|
|
667
|
+
*/
|
|
638
668
|
activate?: boolean;
|
|
639
669
|
|
|
640
670
|
/** A string id of an existing frame. If provided, this workspace will be opened in that specific frame */
|
|
641
671
|
reuseFrameId?: string;
|
|
642
672
|
|
|
643
|
-
/**
|
|
673
|
+
/**
|
|
674
|
+
* The application name of the workspace app that should be used for the new frame.
|
|
675
|
+
* *Available only in **io.Connect Desktop**.*
|
|
676
|
+
*/
|
|
644
677
|
applicationName?: string;
|
|
645
678
|
|
|
646
679
|
/** A setting used to declare that the workspace must be in a new frame and also provide options for that new frame */
|
|
@@ -740,15 +773,21 @@ export namespace IOConnectWorkspaces {
|
|
|
740
773
|
/** An unique string name and identifier of the layout */
|
|
741
774
|
name: string;
|
|
742
775
|
|
|
743
|
-
/**
|
|
776
|
+
/**
|
|
777
|
+
* The name of the workspaces app with which the layout is associated.
|
|
778
|
+
* *Available only in **io.Connect Desktop**.*
|
|
779
|
+
*/
|
|
744
780
|
applicationName?: string;
|
|
745
781
|
}
|
|
746
782
|
|
|
747
783
|
export interface EmptyFrameDefinition {
|
|
748
|
-
/**
|
|
784
|
+
/**
|
|
785
|
+
* The application name of the workspace app that should be used for the new frame.
|
|
786
|
+
* *Available only in **io.Connect Desktop**.*
|
|
787
|
+
*/
|
|
749
788
|
applicationName?: string;
|
|
750
789
|
|
|
751
|
-
/**
|
|
790
|
+
/**
|
|
752
791
|
* Optional frame related settings
|
|
753
792
|
*/
|
|
754
793
|
frameConfig?: IOConnectWorkspaces.NewFrameConfig;
|
|
@@ -758,7 +797,7 @@ export namespace IOConnectWorkspaces {
|
|
|
758
797
|
*/
|
|
759
798
|
context?: object;
|
|
760
799
|
|
|
761
|
-
/**
|
|
800
|
+
/**
|
|
762
801
|
* Optional the id of the layout component which is being restored
|
|
763
802
|
*/
|
|
764
803
|
layoutComponentId?: string;
|
|
@@ -790,7 +829,8 @@ export namespace IOConnectWorkspaces {
|
|
|
790
829
|
/** An object describing a frame */
|
|
791
830
|
export interface Frame extends FrameSummary {
|
|
792
831
|
/**
|
|
793
|
-
* Registers keyboard shortcut to the current
|
|
832
|
+
* Registers a keyboard shortcut to the current Frame.
|
|
833
|
+
* *Available only in **io.Connect Desktop**.*
|
|
794
834
|
*/
|
|
795
835
|
registerShortcut(shortcut: string, callback: () => void): Promise<Unsubscribe>;
|
|
796
836
|
|
|
@@ -840,10 +880,7 @@ export namespace IOConnectWorkspaces {
|
|
|
840
880
|
*/
|
|
841
881
|
restore(): Promise<void>;
|
|
842
882
|
|
|
843
|
-
|
|
844
|
-
* Closes this frame.
|
|
845
|
-
*/
|
|
846
|
-
close(): Promise<void>;
|
|
883
|
+
close(options?: FrameCloseOptions): Promise<void>;
|
|
847
884
|
|
|
848
885
|
/**
|
|
849
886
|
* Initializes the frame with the provided workspaces in the config when the frame has been opened as empty
|
|
@@ -851,6 +888,21 @@ export namespace IOConnectWorkspaces {
|
|
|
851
888
|
*/
|
|
852
889
|
init(config: FrameInitializationConfig): Promise<void>;
|
|
853
890
|
|
|
891
|
+
/**
|
|
892
|
+
* Retrieves the taskbar icon of the `Frame` instance.
|
|
893
|
+
* *Available only for **io.Connect Desktop**.*
|
|
894
|
+
* @since io.Connect Desktop 9.9
|
|
895
|
+
*/
|
|
896
|
+
getIcon(): Promise<Icon>;
|
|
897
|
+
|
|
898
|
+
/**
|
|
899
|
+
* Sets the taskbar icon of the `Frame` instance.
|
|
900
|
+
* *Available only for **io.Connect Desktop**.*
|
|
901
|
+
* @param icon New icon to be displayed in the taskbar for the `Frame` instance. The icon must be encoded as a Base64 string.
|
|
902
|
+
* @since io.Connect Desktop 9.9
|
|
903
|
+
*/
|
|
904
|
+
setIcon(icon: Icon): Promise<void>;
|
|
905
|
+
|
|
854
906
|
/**
|
|
855
907
|
* Returns an object detailing the current state of this frame.
|
|
856
908
|
*/
|
|
@@ -880,6 +932,14 @@ export namespace IOConnectWorkspaces {
|
|
|
880
932
|
*/
|
|
881
933
|
createWorkspace(definition: WorkspaceDefinition, config?: WorkspaceCreateConfig): Promise<Workspace>;
|
|
882
934
|
|
|
935
|
+
/**
|
|
936
|
+
* Notifies when the Frame is about to be closed.
|
|
937
|
+
* *Available only for io.Connect Desktop.*
|
|
938
|
+
* @param callback Callback function for handling the event. Receives as an argument an object with options for closing the Frame.
|
|
939
|
+
* @since io.Connect Desktop 9.9
|
|
940
|
+
*/
|
|
941
|
+
onClosing(callback: (options: FrameClosingData) => void | Promise<void>): Promise<Unsubscribe>;
|
|
942
|
+
|
|
883
943
|
/**
|
|
884
944
|
* Notifies when this frame is closed.
|
|
885
945
|
* @param callback Callback function to handle the event.
|
|
@@ -908,7 +968,8 @@ export namespace IOConnectWorkspaces {
|
|
|
908
968
|
onNormal(callback: () => void): Promise<Unsubscribe>;
|
|
909
969
|
|
|
910
970
|
/**
|
|
911
|
-
* Triggered when either a window in the frame is focused or the frame itself
|
|
971
|
+
* Triggered when either a window in the frame is focused or the frame itself.
|
|
972
|
+
* *Available only in **io.Connect Desktop**.*
|
|
912
973
|
* @param callback Callback function to handle the event. It receives a data oject which indicates how the focus has changed.
|
|
913
974
|
*/
|
|
914
975
|
onFocusChanged(callback: (data: FrameFocusChangedData) => void): Promise<IOConnectWorkspaces.Unsubscribe>;
|
|
@@ -1011,7 +1072,10 @@ export namespace IOConnectWorkspaces {
|
|
|
1011
1072
|
/** Indicates if the save button for this workspace is visible to the user */
|
|
1012
1073
|
showSaveButton?: boolean;
|
|
1013
1074
|
|
|
1014
|
-
/**
|
|
1075
|
+
/**
|
|
1076
|
+
* Controls whether the workspace tab can be extracted.
|
|
1077
|
+
* *Available only in **io.Connect Desktop**.*
|
|
1078
|
+
*/
|
|
1015
1079
|
allowWorkspaceTabExtract?: boolean;
|
|
1016
1080
|
|
|
1017
1081
|
/** Controls whether the workspace tab can be reordered*/
|
|
@@ -1046,10 +1110,10 @@ export namespace IOConnectWorkspaces {
|
|
|
1046
1110
|
|
|
1047
1111
|
/**
|
|
1048
1112
|
* Indicates the loading strategy for the Workspace.
|
|
1049
|
-
* *Available only
|
|
1113
|
+
* *Available only in **io.Connect Desktop**.*
|
|
1050
1114
|
*/
|
|
1051
1115
|
loadingStrategy?: LoadingStrategy;
|
|
1052
|
-
|
|
1116
|
+
|
|
1053
1117
|
/**
|
|
1054
1118
|
* Indicates whether the Workspace can be hibernated via the platform configuration.
|
|
1055
1119
|
* This setting doesn't apply to programmatic hibernation via the `hibernate()` method of a `Workspace` instance.
|
|
@@ -1111,7 +1175,7 @@ export namespace IOConnectWorkspaces {
|
|
|
1111
1175
|
onContextUpdated(callback: (data: any) => void): Promise<Unsubscribe>;
|
|
1112
1176
|
|
|
1113
1177
|
/**
|
|
1114
|
-
* Updates this workspace reference to reflect the current state of the workspace.
|
|
1178
|
+
* Updates this workspace reference to reflect the current state of the workspace.
|
|
1115
1179
|
*/
|
|
1116
1180
|
refreshReference(): Promise<void>;
|
|
1117
1181
|
|
|
@@ -1244,7 +1308,8 @@ export namespace IOConnectWorkspaces {
|
|
|
1244
1308
|
lock(config?: WorkspaceLockConfig | ((config: WorkspaceLockConfig) => WorkspaceLockConfig)): Promise<void>;
|
|
1245
1309
|
|
|
1246
1310
|
/**
|
|
1247
|
-
* Sets the mode for dragging the windows that are part of the Workspace.
|
|
1311
|
+
* Sets the mode for dragging the windows that are part of the Workspace.
|
|
1312
|
+
* *Available only in **io.Connect Desktop**.*
|
|
1248
1313
|
* @param mode Mode for dragging the Workspace windows. If set to `"autoEject"`, when the user drags a Workspace window, it will be ejected from the Workspace during the dragging operation and the user will be able to drop it back inside the Workspace, or out of the Workspace.
|
|
1249
1314
|
* If set to `"keepInside"`, the window won't be ejected from the Workspace when being dragged and the user will be able to drop it only inside the Workspace.
|
|
1250
1315
|
*/
|
|
@@ -1255,7 +1320,8 @@ export namespace IOConnectWorkspaces {
|
|
|
1255
1320
|
* This will override the current loading strategy for the Workspace that may have been specified via configuration or programmatically
|
|
1256
1321
|
* when creating or restoring the Workspace. The loading strategy specified via this method will be preserved in the Workspace Layout
|
|
1257
1322
|
* only if the Workspace is saved afterwards and the `"persistCurrentStrategy"` flag is set to `true` in the Workspaces App definition.
|
|
1258
|
-
* *Available only
|
|
1323
|
+
* *Available only in **io.Connect Desktop**.*
|
|
1324
|
+
* @since io.Connect Desktop 9.8
|
|
1259
1325
|
* @param strategy Loading strategy for the Workspace.
|
|
1260
1326
|
*/
|
|
1261
1327
|
setLoadingStrategy(strategy: LoadingStrategy): Promise<void>;
|
|
@@ -1304,7 +1370,7 @@ export namespace IOConnectWorkspaces {
|
|
|
1304
1370
|
* @param callback Callback function to handle the event. Receives the loaded window as a parameter.
|
|
1305
1371
|
*/
|
|
1306
1372
|
onWindowLoaded(callback: (window: WorkspaceWindow) => void): Promise<Unsubscribe>;
|
|
1307
|
-
/**
|
|
1373
|
+
/**
|
|
1308
1374
|
* Notifies when a window was maximized in this workspace and returns an unsubscribe function.
|
|
1309
1375
|
* A maximized window means that the window has been maximized either by an API call or from the maximize button by the user.
|
|
1310
1376
|
* @param callback Callback function to handle the event. Receives the maximized window as a parameter.
|
|
@@ -1330,7 +1396,7 @@ export namespace IOConnectWorkspaces {
|
|
|
1330
1396
|
isPinned?: boolean;
|
|
1331
1397
|
|
|
1332
1398
|
/**
|
|
1333
|
-
* Mode for dragging the windows that are part of the Workspace. If set to `"autoEject"` (available only
|
|
1399
|
+
* Mode for dragging the windows that are part of the Workspace. If set to `"autoEject"` (available only in **io.Connect Desktop**), when the user drags a Workspace window, it will be ejected from the Workspace during the dragging operation and the user will be able to drop it back inside the Workspace, or out of the Workspace.
|
|
1334
1400
|
* If set to `"keepInside"`, the window won't be ejected from the Workspace when being dragged and the user will be able to drop it only inside the Workspace.
|
|
1335
1401
|
*/
|
|
1336
1402
|
windowDragMode?: "keepInside" | "autoEject";
|
|
@@ -1358,17 +1424,19 @@ export namespace IOConnectWorkspaces {
|
|
|
1358
1424
|
|
|
1359
1425
|
/**
|
|
1360
1426
|
* Changes the workspace icon to the specified one
|
|
1361
|
-
* @param icon
|
|
1427
|
+
* @param icon
|
|
1362
1428
|
*/
|
|
1363
1429
|
setIcon(icon: string): Promise<void>;
|
|
1364
1430
|
|
|
1365
1431
|
/**
|
|
1366
|
-
* Shows the loading animation of the workspace
|
|
1432
|
+
* Shows the loading animation of the workspace.
|
|
1433
|
+
* *Available only in **io.Connect Desktop**.*
|
|
1367
1434
|
*/
|
|
1368
1435
|
showLoadingAnimation(): Promise<void>;
|
|
1369
1436
|
|
|
1370
1437
|
/**
|
|
1371
|
-
* Hides the loading animation of the workspace
|
|
1438
|
+
* Hides the loading animation of the workspace.
|
|
1439
|
+
* *Available only in **io.Connect Desktop**.*
|
|
1372
1440
|
*/
|
|
1373
1441
|
hideLoadingAnimation(): Promise<void>;
|
|
1374
1442
|
}
|
|
@@ -1831,7 +1899,7 @@ export namespace IOConnectWorkspaces {
|
|
|
1831
1899
|
/** A configuration object used to save a current workspace as a layout */
|
|
1832
1900
|
export interface WorkspaceLayoutSaveConfig {
|
|
1833
1901
|
/**
|
|
1834
|
-
* A string used as name (doubles as id) of the layout, which is later used when restoring it.
|
|
1902
|
+
* A string used as name (doubles as id) of the layout, which is later used when restoring it.
|
|
1835
1903
|
*/
|
|
1836
1904
|
name: string;
|
|
1837
1905
|
|
|
@@ -1872,6 +1940,16 @@ export namespace IOConnectWorkspaces {
|
|
|
1872
1940
|
config: any;
|
|
1873
1941
|
}
|
|
1874
1942
|
|
|
1943
|
+
/**
|
|
1944
|
+
* Describes the data passed to the callback for handling the event which fires when a Frame is about to be closed.
|
|
1945
|
+
*/
|
|
1946
|
+
export interface FrameClosingData {
|
|
1947
|
+
/**
|
|
1948
|
+
* Function that can be used to prevent closing a Frame.
|
|
1949
|
+
*/
|
|
1950
|
+
prevent: () => void;
|
|
1951
|
+
}
|
|
1952
|
+
|
|
1875
1953
|
export interface FrameClosedData {
|
|
1876
1954
|
frameId: string;
|
|
1877
1955
|
frameBounds?: FrameBounds;
|
|
@@ -1887,6 +1965,16 @@ export namespace IOConnectWorkspaces {
|
|
|
1887
1965
|
frameBounds?: FrameBounds;
|
|
1888
1966
|
}
|
|
1889
1967
|
|
|
1968
|
+
/**
|
|
1969
|
+
* Describes the taskbar icon of a `Frame` instance.
|
|
1970
|
+
*/
|
|
1971
|
+
export interface Icon {
|
|
1972
|
+
/**
|
|
1973
|
+
* Icon encoded as a Base64 string.
|
|
1974
|
+
*/
|
|
1975
|
+
base64Image: string;
|
|
1976
|
+
}
|
|
1977
|
+
|
|
1890
1978
|
/** An object describing the complete state of a workspace at the time when the object was created */
|
|
1891
1979
|
export interface WorkspaceSnapshot extends WorkspaceLayoutComponentState {
|
|
1892
1980
|
/**
|
|
@@ -1993,7 +2081,7 @@ export namespace IOConnectWorkspaces {
|
|
|
1993
2081
|
|
|
1994
2082
|
/**
|
|
1995
2083
|
* Returns an instance of the workspace with the passed id. The performance is better than getWorkspace when querying for a workspace by id.
|
|
1996
|
-
* @param workspaceId The id of the desired workspace
|
|
2084
|
+
* @param workspaceId The id of the desired workspace
|
|
1997
2085
|
*/
|
|
1998
2086
|
getWorkspaceById(workspaceId: string): Promise<Workspace>;
|
|
1999
2087
|
|
|
@@ -2032,13 +2120,13 @@ export namespace IOConnectWorkspaces {
|
|
|
2032
2120
|
createWorkspace(definition: WorkspaceDefinition, saveConfig?: WorkspaceCreateConfig): Promise<Workspace>;
|
|
2033
2121
|
|
|
2034
2122
|
/**
|
|
2035
|
-
*
|
|
2123
|
+
*
|
|
2036
2124
|
* @param definition Optional definition of the frame
|
|
2037
2125
|
*/
|
|
2038
2126
|
createEmptyFrame(definition?: EmptyFrameDefinition): Promise<IOConnectWorkspaces.Frame>;
|
|
2039
2127
|
|
|
2040
2128
|
/**
|
|
2041
|
-
* Wait for a frame with the specified id to be loaded.
|
|
2129
|
+
* Wait for a frame with the specified id to be loaded.
|
|
2042
2130
|
* It's needed when using the workspaces-api from a custom workspaces frame and you have the frameId,
|
|
2043
2131
|
* but the frame object is not populated in the API yet (e.g. the frame is in the pool)
|
|
2044
2132
|
* @param id the id of the frame that should be waited
|