@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/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 applications
11
- * within the same visual window (called *Frame*). This arrangement can be performed programmatically or by dragging and dropping applications within the Frame.
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 io.Connect Workspaces enable the users to compose a custom arrangement of applications by treating each application
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 through the `io.workspaces` object.
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
- /** The name of the workspaces app with which the layout is associated (available only in **io.Connect Desktop**). */
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 defined in **io.Connect Desktop**. */
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
- /** The application name of the workspace app that should be used for the new frame (available only for **io.Connect Desktop**) */
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 (available only for **io.Connect Desktop**). Defaults to the configuration passed in the workspaces.json or to false.
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 (available only for **io.Connect Desktop**).
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 for **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.
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
- /** Controls the whether the workspace tab can be extracted (available only for **io.Connect Desktop**). */
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
- /** If true the frame will be activated when the operation is executed (available only for **io.Connect Desktop**). Defaults to the configuration passed in the workspaces.json or to false. */
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
- /** The application name of the workspace app that should be used for the new frame (available only for **io.Connect Desktop**). */
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
- /** The name of the workspaces app with which the layout is associated (available only in **io.Connect Desktop**). */
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
- /** The application name of the workspace app that should be used for the new frame (available only for **io.Connect Desktop**). */
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 frame (available only in **io.Connect Desktop**).
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 (supported only in **io.Connect Desktop**).
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
- /** Controls whether the workspace tab can be extracted (available only for **io.Connect Desktop**) */
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 for **io.Connect Desktop**.*
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. *Available only for **io.Connect Desktop**.*
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 for **io.Connect Desktop**.*
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 for **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.
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 (supported only in **io.Connect Desktop**).
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 (supported only in **io.Connect Desktop**).
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