@interopio/workspaces-api 4.1.1-beta.0 → 4.1.2

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2020 Tick42
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Tick42
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/changelog.md CHANGED
@@ -1,168 +1,174 @@
1
- 4.0.2
2
- fix: Optimized the closing of a workspace
3
- 4.0.0
4
- feat: io.Connect Browser 4.0
5
- 3.5.7
6
- feat: G4 e 8073 workspace frame on closing event prevention master
7
- feat: G4E-8009 Setting taskbar icon for workspace frame api
8
- 3.5.6
9
- feat: ability to embed a loading strategy within a workspaces layout upon saving
10
- 3.5.5
11
- feat: setup a workspace to open only once
12
- 3.5.4
13
- chore: Increased the interop timeout to 2mins
14
- 3.5.2
15
- feat: drag applications contained within workspace
16
- 3.5.1
17
- chore: Added the defaults in the WorkspaceConfig interface
18
- 3.5.0
19
- chore: io.CB 3.5 bump
20
- 3.4.3
21
- feat: Enable Workspaces API for Node.js
22
- 3.4.0
23
- chore: io.CB 3.4 bump
24
- 3.3.3
25
- chore: unified repo bump
26
- 3.3.2
27
- feat: added activate frame options when creating a workspace
28
- 3.2.3
29
- chore: io.CB 3.2 bump
30
- 3.1.0
31
- fix: workspaces leaking transition indicators and memory leak in workspaces api
32
- 3.0.3
33
- chore: updated .d.ts information
34
- 3.0.2
35
- chore: updated .npmignore
36
- 3.0.1
37
- feat: Introduce the new IO Connect Workspaces API
38
- 1.24.1
39
- chore: bump due to dependencies update
40
- 1.24.0
41
- feat: added allowSystemHibernation as a new lock option and added it to the config decoder
42
- 1.23.0
43
- chore: bump due to dependencies update
44
- 1.22.0
45
- feat: added onHibernated/Resumed events for workspaces
46
- chore: updated the workspaces.d.ts with the new onWindowSelected events
47
- fix: workspaceWindow.isLoaded returns undefined instead of false
48
- 1.21.0
49
- feat: added onWindowSelected events
50
- chore: updated the temp.ts types
51
- 1.20.5
52
- chore: bump due to dependencies update
53
- 1.20.4
54
- chore: bump due to dependencies update
55
- 1.20.3
56
- chore: bump due to dependencies update
57
- 1.20.2
58
- chore: bump due to dependencies update
59
- 1.20.1
60
- feat: added bundleTo methods to the group
61
- 1.20.0
62
- feat: updated all dependencies to the latest major versions
63
- 1.19.0
64
- fix: layouts import in Enterprise now uses a new operation to import all layouts instead of one by one
65
- feat: added isSelected to the workspace window typings and enabled the focused property for Core and Core+
66
- feat: adds support for layoutComponentId
67
- fix: closing a workspace now checks if this is the last workspace in a platform frame
68
- 1.18.2
69
- chore: bump due to dependencies update
70
- 1.18.1
71
- fix: layouts import in Enterprise price is now reverted back to operating on top of the bridge protocol
72
- 1.18.0
73
- chore: updated the typings
74
- 1.17.3
75
- chore: updated rollup build to use a clean dist dir
76
- 1.17.2
77
- fix: dedicated the layouts import to the underlying glue, instead of transmitting a dedicated workspaces protocol message
78
- 1.17.1
79
- feat: optimized the performance of glue.workspaces.getMyWorkspace()
80
- chore: removed unnecessary console.log
81
- 1.17.0
82
- feat: added workspace lock events
83
- 1.16.4
84
- feat: added version property to the top-level API
85
- 1.16.3
86
- feat: added workspace.show/hideLoadingAnimation and window.isSelected
87
- feat: added frame.onFocusChanged event
88
- 1.16.2
89
- feat: added the setMaximizationBoundary method
90
- 1.16.1
91
- feat: added support for allowReorder, allowWindowReorder and allowWorkspaceTabReorder
92
- feat: added frameBounds to the data provided to workspace and frame closed events
93
- 1.16.0
94
- feat: added support for allowWorkspaceTabExtract
95
- 1.15.5
96
- chore: moved the workspace application property
97
- 1.15.4
98
- chore: bump due to dependencies update
99
- 1.15.3
100
- chore: bump due to dependencies update
101
- 1.15.2
102
- feat: added onWindowMaximized and onWindowRestored events
103
- 1.15.1
104
- fix: improved the typings of the box definitions
105
- 1.15.0
106
- feat: added support for maximization boundaries
107
- 1.14.0
108
- feat: added support for shortcuts in Enterprise
109
- 1.13.0
110
- feat: added support for application name when restoring a workspace in Enterprise
111
- 1.12.2
112
- fix: fixes the breaking change introduced in 1.12.0 which caused incompatibility between 1.12.X platform and api clients prior to 1.12.0
113
- 1.12.1
114
- chore: bump due to dependencies update
115
- 1.12.0
116
- feat: added improvements for the connection transport switch functionality
117
- 1.11.1
118
- chore: bump due to dependencies update
119
- 1.11.0
120
- chore: updated the workspaces typings with the latest features
121
- 1.10.6
122
- chore: updated the decoders to pass isMaximized in window layout items
123
- 1.10.5
124
- chore: bump due to dependencies update
125
- 1.10.4
126
- feat: added positionIndex property as a config when opening workspaces
127
- feat: added a WorkspacePinOptions interface for better extensibility
128
- 1.10.3
129
- feat: added createFrame, frame.init, frame.isInitialized and frame.onInitializationRequested
130
- 1.10.2
131
- feat: added isSelected support
132
- feat: pinned tabs support and workspace icons
133
- 1.10.1
134
- feat: saveLayout() now can also save meta data
135
- 1.10.0
136
- feat: added support for GDX (Glue42 Developer Extension)
137
- 1.9.1
138
- chore: bump due to dependencies update
139
- 1.9.0
140
- feat: added waitForFrame method and updated to the latest core
141
- 1.8.2
142
- chore: bump due to dependencies update
143
- 1.8.1
144
- chore: added noTabHeader to the workspace restore options
145
- 1.8.0
146
- feat: updated all typings to be inline with Enterprise 3.12
147
- feat: added isSelected to the workspace object
148
- feat: implemented the maximization of containers
149
- 1.7.5
150
- feat: added allowSplitters to rows and columns and allowDropLeft, allowDropTop, allowDropRight, allowDropBottom, allowDropHeader to the groups
151
- fix: started firing open and close workspace events when the last workspace in a frame acting like a platform has been closed
152
- chore: Resolved dependency vulnerabilities
153
- 1.7.4
154
- feat: added getWorkspaceById method and made internal performance optimizations
155
- 1.7.3
156
- chore: bump due to dependencies update
157
- 1.7.2
158
- chore: bump due to dependencies update
159
- 1.7.1
160
- fix: fixed allowDropLeft, allowDropTop, allowDropRight, allowDropBottom in the workspaces config object by adding them to the decoders
161
- 1.7.0
162
- feat: added getBounds for workspaces frames
163
- feat: added support for workspaces constraints
164
- feat: added support for workspaces elements sizes
165
- 1.6.2
166
- fix: improved compatibility with GD 3.11 by allowing for an optional isSelected workspaceConfig in the protocol
167
- 1.6.1
168
- chore: Resolved dependency vulnerabilities
1
+ 4.1.2
2
+ feat: G4E-9244 implement frame.showDialog feature for io.CD
3
+ 4.1.1
4
+ feat: G4E-9762 Implemented the frame visibility methods
5
+ 4.1.0
6
+ feat: io.Connect Browser 4.1
7
+ 4.0.2
8
+ fix: Optimized the closing of a workspace
9
+ 4.0.0
10
+ feat: io.Connect Browser 4.0
11
+ 3.5.7
12
+ feat: G4 e 8073 workspace frame on closing event prevention master
13
+ feat: G4E-8009 Setting taskbar icon for workspace frame api
14
+ 3.5.6
15
+ feat: ability to embed a loading strategy within a workspaces layout upon saving
16
+ 3.5.5
17
+ feat: setup a workspace to open only once
18
+ 3.5.4
19
+ chore: Increased the interop timeout to 2mins
20
+ 3.5.2
21
+ feat: drag applications contained within workspace
22
+ 3.5.1
23
+ chore: Added the defaults in the WorkspaceConfig interface
24
+ 3.5.0
25
+ chore: io.CB 3.5 bump
26
+ 3.4.3
27
+ feat: Enable Workspaces API for Node.js
28
+ 3.4.0
29
+ chore: io.CB 3.4 bump
30
+ 3.3.3
31
+ chore: unified repo bump
32
+ 3.3.2
33
+ feat: added activate frame options when creating a workspace
34
+ 3.2.3
35
+ chore: io.CB 3.2 bump
36
+ 3.1.0
37
+ fix: workspaces leaking transition indicators and memory leak in workspaces api
38
+ 3.0.3
39
+ chore: updated .d.ts information
40
+ 3.0.2
41
+ chore: updated .npmignore
42
+ 3.0.1
43
+ feat: Introduce the new IO Connect Workspaces API
44
+ 1.24.1
45
+ chore: bump due to dependencies update
46
+ 1.24.0
47
+ feat: added allowSystemHibernation as a new lock option and added it to the config decoder
48
+ 1.23.0
49
+ chore: bump due to dependencies update
50
+ 1.22.0
51
+ feat: added onHibernated/Resumed events for workspaces
52
+ chore: updated the workspaces.d.ts with the new onWindowSelected events
53
+ fix: workspaceWindow.isLoaded returns undefined instead of false
54
+ 1.21.0
55
+ feat: added onWindowSelected events
56
+ chore: updated the temp.ts types
57
+ 1.20.5
58
+ chore: bump due to dependencies update
59
+ 1.20.4
60
+ chore: bump due to dependencies update
61
+ 1.20.3
62
+ chore: bump due to dependencies update
63
+ 1.20.2
64
+ chore: bump due to dependencies update
65
+ 1.20.1
66
+ feat: added bundleTo methods to the group
67
+ 1.20.0
68
+ feat: updated all dependencies to the latest major versions
69
+ 1.19.0
70
+ fix: layouts import in Enterprise now uses a new operation to import all layouts instead of one by one
71
+ feat: added isSelected to the workspace window typings and enabled the focused property for Core and Core+
72
+ feat: adds support for layoutComponentId
73
+ fix: closing a workspace now checks if this is the last workspace in a platform frame
74
+ 1.18.2
75
+ chore: bump due to dependencies update
76
+ 1.18.1
77
+ fix: layouts import in Enterprise price is now reverted back to operating on top of the bridge protocol
78
+ 1.18.0
79
+ chore: updated the typings
80
+ 1.17.3
81
+ chore: updated rollup build to use a clean dist dir
82
+ 1.17.2
83
+ fix: dedicated the layouts import to the underlying glue, instead of transmitting a dedicated workspaces protocol message
84
+ 1.17.1
85
+ feat: optimized the performance of glue.workspaces.getMyWorkspace()
86
+ chore: removed unnecessary console.log
87
+ 1.17.0
88
+ feat: added workspace lock events
89
+ 1.16.4
90
+ feat: added version property to the top-level API
91
+ 1.16.3
92
+ feat: added workspace.show/hideLoadingAnimation and window.isSelected
93
+ feat: added frame.onFocusChanged event
94
+ 1.16.2
95
+ feat: added the setMaximizationBoundary method
96
+ 1.16.1
97
+ feat: added support for allowReorder, allowWindowReorder and allowWorkspaceTabReorder
98
+ feat: added frameBounds to the data provided to workspace and frame closed events
99
+ 1.16.0
100
+ feat: added support for allowWorkspaceTabExtract
101
+ 1.15.5
102
+ chore: moved the workspace application property
103
+ 1.15.4
104
+ chore: bump due to dependencies update
105
+ 1.15.3
106
+ chore: bump due to dependencies update
107
+ 1.15.2
108
+ feat: added onWindowMaximized and onWindowRestored events
109
+ 1.15.1
110
+ fix: improved the typings of the box definitions
111
+ 1.15.0
112
+ feat: added support for maximization boundaries
113
+ 1.14.0
114
+ feat: added support for shortcuts in Enterprise
115
+ 1.13.0
116
+ feat: added support for application name when restoring a workspace in Enterprise
117
+ 1.12.2
118
+ fix: fixes the breaking change introduced in 1.12.0 which caused incompatibility between 1.12.X platform and api clients prior to 1.12.0
119
+ 1.12.1
120
+ chore: bump due to dependencies update
121
+ 1.12.0
122
+ feat: added improvements for the connection transport switch functionality
123
+ 1.11.1
124
+ chore: bump due to dependencies update
125
+ 1.11.0
126
+ chore: updated the workspaces typings with the latest features
127
+ 1.10.6
128
+ chore: updated the decoders to pass isMaximized in window layout items
129
+ 1.10.5
130
+ chore: bump due to dependencies update
131
+ 1.10.4
132
+ feat: added positionIndex property as a config when opening workspaces
133
+ feat: added a WorkspacePinOptions interface for better extensibility
134
+ 1.10.3
135
+ feat: added createFrame, frame.init, frame.isInitialized and frame.onInitializationRequested
136
+ 1.10.2
137
+ feat: added isSelected support
138
+ feat: pinned tabs support and workspace icons
139
+ 1.10.1
140
+ feat: saveLayout() now can also save meta data
141
+ 1.10.0
142
+ feat: added support for GDX (Glue42 Developer Extension)
143
+ 1.9.1
144
+ chore: bump due to dependencies update
145
+ 1.9.0
146
+ feat: added waitForFrame method and updated to the latest core
147
+ 1.8.2
148
+ chore: bump due to dependencies update
149
+ 1.8.1
150
+ chore: added noTabHeader to the workspace restore options
151
+ 1.8.0
152
+ feat: updated all typings to be inline with Enterprise 3.12
153
+ feat: added isSelected to the workspace object
154
+ feat: implemented the maximization of containers
155
+ 1.7.5
156
+ feat: added allowSplitters to rows and columns and allowDropLeft, allowDropTop, allowDropRight, allowDropBottom, allowDropHeader to the groups
157
+ fix: started firing open and close workspace events when the last workspace in a frame acting like a platform has been closed
158
+ chore: Resolved dependency vulnerabilities
159
+ 1.7.4
160
+ feat: added getWorkspaceById method and made internal performance optimizations
161
+ 1.7.3
162
+ chore: bump due to dependencies update
163
+ 1.7.2
164
+ chore: bump due to dependencies update
165
+ 1.7.1
166
+ fix: fixed allowDropLeft, allowDropTop, allowDropRight, allowDropBottom in the workspaces config object by adding them to the decoders
167
+ 1.7.0
168
+ feat: added getBounds for workspaces frames
169
+ feat: added support for workspaces constraints
170
+ feat: added support for workspaces elements sizes
171
+ 1.6.2
172
+ fix: improved compatibility with GD 3.11 by allowing for an optional isSelected workspaceConfig in the protocol
173
+ 1.6.1
174
+ chore: Resolved dependency vulnerabilities
@@ -910,6 +910,9 @@ const windowDragModeDecoder = oneOf(constant("keepInside"), constant("autoEject"
910
910
  const isWindowInSwimlaneResultDecoder = object({
911
911
  inWorkspace: boolean()
912
912
  });
913
+ const frameVisibilityResultDecoder = object({
914
+ isVisible: boolean()
915
+ });
913
916
  const iconDecoder = object({
914
917
  base64Image: nonEmptyStringDecoder
915
918
  });
@@ -1021,6 +1024,7 @@ const newFrameConfigDecoder = object({
1021
1024
  width: optional(nonNegativeNumberDecoder),
1022
1025
  height: optional(nonNegativeNumberDecoder)
1023
1026
  })),
1027
+ isVisible: optional(boolean()),
1024
1028
  frameId: optional(nonEmptyStringDecoder)
1025
1029
  });
1026
1030
  const loadingStrategyDecoder = oneOf(constant("direct"), constant("delayed"), constant("lazy"));
@@ -1519,6 +1523,9 @@ const setWorkspaceIconDecoder = object({
1519
1523
  const workspacePinOptionsDecoder = optional(object({
1520
1524
  icon: optional(nonEmptyStringDecoder)
1521
1525
  }));
1526
+ const frameShowConfigDecoder = optional(object({
1527
+ activate: optional(boolean())
1528
+ }));
1522
1529
  const shortcutConfigDecoder = object({
1523
1530
  shortcut: nonEmptyStringDecoder,
1524
1531
  frameId: nonEmptyStringDecoder
@@ -1551,6 +1558,43 @@ const setLoadingStrategyDecoder = object({
1551
1558
  const frameClosingResultDecoder = object({
1552
1559
  prevent: boolean()
1553
1560
  });
1561
+ const changeFrameVisibilityConfigDecoder = object({
1562
+ frameId: nonEmptyStringDecoder,
1563
+ activate: optional(boolean()),
1564
+ isVisible: boolean()
1565
+ });
1566
+ const sizeDecoder = object({
1567
+ width: positiveNumberDecoder,
1568
+ height: positiveNumberDecoder
1569
+ });
1570
+ const frameDialogOptionsDecoder = object({
1571
+ mode: optional(oneOf(constant("Global"), constant("WindowContainer"))),
1572
+ type: string(),
1573
+ size: optional(sizeDecoder),
1574
+ message: nonEmptyStringDecoder,
1575
+ messageTitle: optional(nonEmptyStringDecoder),
1576
+ movable: optional(boolean()),
1577
+ transparent: optional(boolean()),
1578
+ title: nonEmptyStringDecoder,
1579
+ context: optional(anyJson()),
1580
+ affirmativeButtonName: optional(nonEmptyStringDecoder),
1581
+ showAffirmativeButton: optional(boolean()),
1582
+ cancelButtonName: optional(nonEmptyStringDecoder),
1583
+ showCancelButton: optional(boolean()),
1584
+ negativeButtonName: optional(nonEmptyStringDecoder),
1585
+ showNegativeButton: optional(boolean()),
1586
+ defaultAction: optional(oneOf(constant("affirmative"), constant("negative"), constant("cancel"))),
1587
+ timerDuration: optional(positiveNumberDecoder),
1588
+ showTimer: optional(boolean()),
1589
+ inputMaxLength: optional(positiveNumberDecoder),
1590
+ inputPattern: optional(nonEmptyStringDecoder),
1591
+ inputPatternErrorMessage: optional(nonEmptyStringDecoder),
1592
+ inputPlaceholder: optional(string())
1593
+ });
1594
+ const showFrameDialogConfigDecoder = object({
1595
+ frameId: nonEmptyStringDecoder,
1596
+ options: frameDialogOptionsDecoder
1597
+ });
1554
1598
 
1555
1599
  const webPlatformMethodName = "T42.Web.Platform.Control";
1556
1600
  const webPlatformWspStreamName = "T42.Web.Platform.WSP.Stream";
@@ -1630,7 +1674,10 @@ const OPERATIONS = {
1630
1674
  setLoadingStrategy: { name: "setLoadingStrategy", argsDecoder: setLoadingStrategyDecoder, resultDecoder: voidResultDecoder },
1631
1675
  getTaskbarIcon: { name: "getTaskbarIcon", resultDecoder: iconDecoder },
1632
1676
  setTaskbarIcon: { name: "setTaskbarIcon", argsDecoder: setIconArgumentsDecoder, resultDecoder: voidResultDecoder },
1633
- subscribeToFrameClosing: { name: "subscribeToFrameClosing", argsDecoder: simpleItemConfigDecoder, resultDecoder: voidResultDecoder }
1677
+ subscribeToFrameClosing: { name: "subscribeToFrameClosing", argsDecoder: simpleItemConfigDecoder, resultDecoder: voidResultDecoder },
1678
+ changeFrameVisibility: { name: "changeFrameVisibility", argsDecoder: changeFrameVisibilityConfigDecoder, resultDecoder: voidResultDecoder },
1679
+ getFrameVisibility: { name: "getFrameVisibility", argsDecoder: simpleItemConfigDecoder, resultDecoder: frameVisibilityResultDecoder },
1680
+ showFrameDialog: { name: "showFrameDialog", argsDecoder: showFrameDialogConfigDecoder, resultDecoder: anyJson() }
1634
1681
  };
1635
1682
 
1636
1683
  class PromiseWrapper {
@@ -3491,6 +3538,13 @@ class Frame {
3491
3538
  const frameId = this.id;
3492
3539
  return getData$1(this).controller.getTaskbarIcon(frameId);
3493
3540
  }
3541
+ isVisible() {
3542
+ if (!isDesktop()) {
3543
+ throw new Error("frame.isVisible() is not supported in IO Connect Browser");
3544
+ }
3545
+ const frameId = this.id;
3546
+ return getData$1(this).controller.getFrameVisibility(frameId);
3547
+ }
3494
3548
  async minimize() {
3495
3549
  if (!isDesktop()) {
3496
3550
  throw new Error("State operations are not supported in IO Connect Browser");
@@ -3547,6 +3601,26 @@ class Frame {
3547
3601
  }
3548
3602
  return getData$1(this).controller.initFrame(this.id, config);
3549
3603
  }
3604
+ async show(config) {
3605
+ if (!isDesktop()) {
3606
+ throw new Error("The show operation is not supported in IO Connect Browser");
3607
+ }
3608
+ const validatedConfig = frameShowConfigDecoder.runWithException(config);
3609
+ return getData$1(this).controller.showFrame(this.id, validatedConfig);
3610
+ }
3611
+ async hide() {
3612
+ if (!isDesktop()) {
3613
+ throw new Error("The hide operation is not supported in IO Connect Browser");
3614
+ }
3615
+ return getData$1(this).controller.hideFrame(this.id);
3616
+ }
3617
+ async showDialog(options) {
3618
+ if (!isDesktop()) {
3619
+ throw new Error("The showModal operation is not supported in IO Connect Browser");
3620
+ }
3621
+ frameDialogOptionsDecoder.runWithException(options);
3622
+ return getData$1(this).controller.showFrameDialog(this.id, options);
3623
+ }
3550
3624
  async onClosing(callback) {
3551
3625
  if (!isDesktop()) {
3552
3626
  throw new Error("Frame closing operations are not supported in io.Connect Browser");
@@ -4472,6 +4546,21 @@ class BaseController {
4472
4546
  await this.isOperationSupported(OPERATIONS.setLoadingStrategy.name);
4473
4547
  return this.bridge.send(OPERATIONS.setLoadingStrategy.name, { itemId: workspaceId, strategy });
4474
4548
  }
4549
+ async showFrame(frameId, config) {
4550
+ const payload = { frameId, isVisible: true, ...config };
4551
+ return this.bridge.send(OPERATIONS.changeFrameVisibility.name, payload);
4552
+ }
4553
+ async hideFrame(frameId) {
4554
+ return this.bridge.send(OPERATIONS.changeFrameVisibility.name, { frameId, isVisible: false });
4555
+ }
4556
+ async getFrameVisibility(frameId) {
4557
+ const result = await this.bridge.send(OPERATIONS.getFrameVisibility.name, { itemId: frameId });
4558
+ return result.isVisible;
4559
+ }
4560
+ async showFrameDialog(frameId, options) {
4561
+ const result = await this.bridge.send(OPERATIONS.showFrameDialog.name, { frameId, options });
4562
+ return result;
4563
+ }
4475
4564
  async isOperationSupported(operation) {
4476
4565
  if (isDesktop()) {
4477
4566
  return { isSupported: true };
@@ -4829,6 +4918,18 @@ class MainController {
4829
4918
  registerFrameOnClosing(frameId, callback) {
4830
4919
  return this.closingController.registerFrameOnClosing(frameId, callback);
4831
4920
  }
4921
+ async showFrame(frameId, config) {
4922
+ return this.base.showFrame(frameId, config);
4923
+ }
4924
+ async hideFrame(frameId) {
4925
+ return this.base.hideFrame(frameId);
4926
+ }
4927
+ async getFrameVisibility(frameId) {
4928
+ return this.base.getFrameVisibility(frameId);
4929
+ }
4930
+ async showFrameDialog(frameId, options) {
4931
+ return this.base.showFrameDialog(frameId, options);
4932
+ }
4832
4933
  async handleCoreLocalSubscription(config, levelId) {
4833
4934
  await this.bridge.createCoreEventSubscription();
4834
4935
  config.scopeId = config.scopeId || levelId;
@@ -5133,7 +5234,7 @@ class IoC {
5133
5234
  }
5134
5235
  }
5135
5236
 
5136
- var version = "4.1.1-beta.0";
5237
+ var version = "4.1.2";
5137
5238
 
5138
5239
  const composeAPI = (glue, ioc) => {
5139
5240
  const controller = ioc.controller;