@interopio/workspaces-api 4.3.0 → 4.5.0-next.1

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
@@ -979,6 +979,16 @@ export namespace IOConnectWorkspaces {
979
979
  Global = "Global"
980
980
  }
981
981
 
982
+ /**
983
+ * Options for setting the on-top state of a Workspaces Frame.
984
+ */
985
+ export interface FrameSetOnTopOptions {
986
+ /**
987
+ * If `true`, the Frame will be set on top of other windows.
988
+ */
989
+ onTop: boolean;
990
+ }
991
+
982
992
  /**
983
993
  * Options for showing a dialog from the Workspaces Frame.
984
994
  */
@@ -1276,6 +1286,13 @@ export namespace IOConnectWorkspaces {
1276
1286
  */
1277
1287
  showDialog<T>(options: FrameDialogOptions): Promise<T>;
1278
1288
 
1289
+ /**
1290
+ * Sets the on-top state of the Frame.
1291
+ * *Available only in **io.Connect Desktop**.*
1292
+ * @param options Options for setting the on-top state.
1293
+ */
1294
+ setOnTop(options: FrameSetOnTopOptions): Promise<void>;
1295
+
1279
1296
  /**
1280
1297
  * Notifies when the Frame is about to be closed.
1281
1298
  * *Available only in **io.Connect Desktop**.*
@@ -1465,6 +1482,8 @@ export namespace IOConnectWorkspaces {
1465
1482
  allowSystemHibernation?: boolean;
1466
1483
  }
1467
1484
 
1485
+ export type SaveLayoutConfig = Omit<Omit<IOConnectWorkspaces.WorkspaceLayoutSaveConfig, "name">, "workspaceId">;
1486
+
1468
1487
  /** An object describing a workspace */
1469
1488
  export interface Workspace extends WorkspaceSummary {
1470
1489
 
@@ -1526,8 +1545,9 @@ export namespace IOConnectWorkspaces {
1526
1545
  /**
1527
1546
  * Saves the current workspace structure as a layout. In **io.Connect Browser** this will throw an error if the name matches the name of a read-only layout.
1528
1547
  * @param name A string representing the name (also ID) of the new workspace layout.
1548
+ * @param config An optional object used to set various options for saving the workspace layout.
1529
1549
  */
1530
- saveLayout(name: string, config?: { saveContext?: boolean, allowMultiple?: boolean }): Promise<void>;
1550
+ saveLayout(name: string, config?: SaveLayoutConfig): Promise<void>;
1531
1551
 
1532
1552
  /**
1533
1553
  * Returns the first box in this workspace, which satisfies the provided predicate.
@@ -1694,6 +1714,22 @@ export namespace IOConnectWorkspaces {
1694
1714
  */
1695
1715
  onResumed(callback: () => void): Promise<IOConnectWorkspaces.Unsubscribe>;
1696
1716
 
1717
+ /**
1718
+ * Notifies when the Workspace tab has been reordered. Returns an unsubscribe function.
1719
+ * @param callback Callback function for handling the event.
1720
+ * *Available only in **io.Connect Browser**.*
1721
+ * @since io.Connect Browser 4.4
1722
+ */
1723
+ onTabReordered(callback: () => void): Promise<IOConnectWorkspaces.Unsubscribe>;
1724
+
1725
+ /**
1726
+ * Notifies when the tab of a window participating in the Workspace has been reordered. Returns an unsubscribe function.
1727
+ * @param callback Callback function for handling the event. Receives as an argument the `WorkspaceWindow` object describing the window whose tab has been reordered.
1728
+ * *Available only in **io.Connect Browser**.*
1729
+ * @since io.Connect Browser 4.4
1730
+ */
1731
+ onWindowTabReordered(callback: (window: WorkspaceWindow) => void): Promise<IOConnectWorkspaces.Unsubscribe>;
1732
+
1697
1733
  /**
1698
1734
  * Notifies when a new window was added to this workspace and returns an unsubscribe function.
1699
1735
  * An added window means that the window has a place in the workspace (it is a valid workspace element), but does not guarantee that the contents of the window are loaded.
@@ -2173,6 +2209,14 @@ export namespace IOConnectWorkspaces {
2173
2209
  * @param callback Callback function to handle the event. Receives the new lock configuration as a parameter
2174
2210
  */
2175
2211
  onLockConfigurationChanged(callback: (config: IOConnectWorkspaces.WorkspaceWindowLockConfig) => void): Promise<IOConnectWorkspaces.Unsubscribe>
2212
+
2213
+ /**
2214
+ * Notifies when the tab of the Workspace window has been reordered. Returns an unsubscribe function.
2215
+ * @param callback Callback function for handling the event.
2216
+ * *Available only in **io.Connect Browser**.*
2217
+ * @since io.Connect Browser 4.4
2218
+ */
2219
+ onTabReordered(callback: () => void): Promise<IOConnectWorkspaces.Unsubscribe>;
2176
2220
  }
2177
2221
 
2178
2222
  /** An object describing a builder user to create workspaces */
@@ -2263,6 +2307,18 @@ export namespace IOConnectWorkspaces {
2263
2307
 
2264
2308
  /** Object which will be saved as part of the layout */
2265
2309
  metadata?: object;
2310
+
2311
+ /**
2312
+ * If `true`, the context objects of individual io.Connect Windows set via the `setContext()` method of a `WebWindow` instance
2313
+ * will be saved when the Workspace Layout is saved. This is valid both for Browser Client apps, as well as for windows that have been
2314
+ * opened by the Main app or by a Browser Client, but aren't Browser Clients themselves (i.e., don't use the io.Connect libraries).
2315
+ * If a Browser Client has subscribed for the `onSaveRequested()` event and its context has also been set via the `setContext()` method,
2316
+ * the context returned by the `onSaveRequested()` event handler will take precedence.
2317
+ * *Available only in **io.Connect Browser**.*
2318
+ * @default false
2319
+ * @since io.Connect Browser 4.4
2320
+ */
2321
+ saveWindowContexts?: boolean;
2266
2322
  }
2267
2323
 
2268
2324
  export interface SetMaximizationBoundaryConfig {
@@ -2522,6 +2578,13 @@ export namespace IOConnectWorkspaces {
2522
2578
  */
2523
2579
  onWorkspaceResumed(callback: (workspace: IOConnectWorkspaces.Workspace) => void): Promise<IOConnectWorkspaces.Unsubscribe>;
2524
2580
 
2581
+ /**
2582
+ * Notifies when the tab of any Workspace in any Workspaces App has been reordered. Returns an unsubscribe function.
2583
+ * @param callback Callback function for handling the event. Receives as an argument the `Workspace` object describing the Workspace whose tab has been reordered.
2584
+ * *Available only in **io.Connect Browser**.*
2585
+ * @since io.Connect Browser 4.4
2586
+ */
2587
+ onWorkspaceTabReordered(callback: (workspace: IOConnectWorkspaces.Workspace) => void): Promise<IOConnectWorkspaces.Unsubscribe>;
2525
2588
  /**
2526
2589
  * Notifies when a new window was added to any workspace in any frame and returns an unsubscribe function.
2527
2590
  * An added window means that the window has a place in a workspace (it is a valid workspace element), but does not guarantee that the contents of the window are loaded.
@@ -2562,11 +2625,15 @@ export namespace IOConnectWorkspaces {
2562
2625
  */
2563
2626
  onWindowSelected(callback: (workspaceWindow: IOConnectWorkspaces.WorkspaceWindow) => void): Promise<IOConnectWorkspaces.Unsubscribe>;
2564
2627
 
2628
+ /**
2629
+ * Notifies when the tab of a Workspace window participating in any Workspace in any Workspaces App has been reordered. Returns an unsubscribe function.
2630
+ * @param callback Callback function for handling the event. Receives as an argument the `WorkspaceWindow` object describing the Workspace window whose tab has been reordered.
2631
+ * *Available only in **io.Connect Browser**.*
2632
+ * @since io.Connect Browser 4.4
2633
+ */
2634
+ onWindowTabReordered(callback: (workspaceWindow: IOConnectWorkspaces.WorkspaceWindow) => void): Promise<IOConnectWorkspaces.Unsubscribe>;
2635
+
2565
2636
  /** The io.Connect Workspaces API version. */
2566
2637
  version: string;
2567
2638
  }
2568
2639
  }
2569
-
2570
-
2571
-
2572
-