@finsemble/finsemble-ui 8.0.2 → 8.1.0-beta.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.
Files changed (254) hide show
  1. package/FEA.d.ts +48 -3
  2. package/FEA.d.ts.map +1 -1
  3. package/FEA.js.map +1 -1
  4. package/clients/Interop/FinsembleDesktopAgent.js +1 -1
  5. package/clients/Startup/FSBLDesktop.d.ts +2 -14
  6. package/clients/Startup/FSBLDesktop.d.ts.map +1 -1
  7. package/clients/Startup/FSBLDesktop.js +4 -21
  8. package/clients/Startup/FSBLDesktop.js.map +1 -1
  9. package/clients/Startup/types.d.ts +17 -0
  10. package/clients/Startup/types.d.ts.map +1 -1
  11. package/clients/Startup/windowStartup.d.ts.map +1 -1
  12. package/clients/Startup/windowStartup.js +16 -14
  13. package/clients/Startup/windowStartup.js.map +1 -1
  14. package/clients/routerClient.d.ts +2 -169
  15. package/clients/routerClient.d.ts.map +1 -1
  16. package/clients/routerClient.js +4 -7
  17. package/clients/routerClient.js.map +1 -1
  18. package/common/Desktop.d.ts +8 -0
  19. package/common/Desktop.d.ts.map +1 -1
  20. package/common/Desktop.js +23 -0
  21. package/common/Desktop.js.map +1 -1
  22. package/common/FinsembleWindow.d.ts +1 -2
  23. package/common/FinsembleWindow.d.ts.map +1 -1
  24. package/common/FinsembleWindow.js +1 -1
  25. package/common/FinsembleWindow.js.map +1 -1
  26. package/common/Monitors.d.ts +6 -0
  27. package/common/Monitors.d.ts.map +1 -1
  28. package/common/Monitors.js +22 -0
  29. package/common/Monitors.js.map +1 -1
  30. package/common/system.d.ts +1 -1
  31. package/common/system.d.ts.map +1 -1
  32. package/main.d.ts +29 -29
  33. package/package.json +44 -44
  34. package/platform/services/Interop/types.d.ts +1 -0
  35. package/platform/services/Interop/types.d.ts.map +1 -1
  36. package/platform/services/Interop/types.js.map +1 -1
  37. package/platform/services/router/routerTransport.d.ts.map +1 -1
  38. package/platform/services/router/routerTransport.js +5 -7
  39. package/platform/services/router/routerTransport.js.map +1 -1
  40. package/platform/services/router/types.d.ts +214 -0
  41. package/platform/services/router/types.d.ts.map +1 -0
  42. package/platform/services/router/types.js +2 -0
  43. package/platform/services/router/types.js.map +1 -0
  44. package/platform/services/types.d.ts +1 -0
  45. package/platform/services/types.d.ts.map +1 -1
  46. package/platform/services/types.js +1 -0
  47. package/platform/services/types.js.map +1 -1
  48. package/platform/services/window/Common/Pools/ObjectPool.d.ts +11 -0
  49. package/platform/services/window/Common/Pools/ObjectPool.d.ts.map +1 -0
  50. package/platform/services/window/Common/Pools/ObjectPool.js +43 -0
  51. package/platform/services/window/Common/Pools/ObjectPool.js.map +1 -0
  52. package/platform/services/window/Common/Pools/PoolSingletons.d.ts +10 -0
  53. package/platform/services/window/Common/Pools/PoolSingletons.d.ts.map +1 -0
  54. package/platform/services/window/Common/Pools/PoolSingletons.js +10 -0
  55. package/platform/services/window/Common/Pools/PoolSingletons.js.map +1 -0
  56. package/platform/services/window/Common/Pools/WindowPool.d.ts +7 -0
  57. package/platform/services/window/Common/Pools/WindowPool.d.ts.map +1 -0
  58. package/platform/services/window/Common/Pools/WindowPool.js +16 -0
  59. package/platform/services/window/Common/Pools/WindowPool.js.map +1 -0
  60. package/platform/services/window/Docking/boxMath.d.ts +144 -0
  61. package/platform/services/window/Docking/boxMath.d.ts.map +1 -0
  62. package/platform/services/window/Docking/boxMath.js +511 -0
  63. package/platform/services/window/Docking/boxMath.js.map +1 -0
  64. package/platform/services/window/Docking/constants.d.ts +29 -0
  65. package/platform/services/window/Docking/constants.d.ts.map +1 -0
  66. package/platform/services/window/Docking/constants.js +29 -0
  67. package/platform/services/window/Docking/constants.js.map +1 -0
  68. package/platform/services/window/Docking/dockableBox.d.ts +117 -0
  69. package/platform/services/window/Docking/dockableBox.d.ts.map +1 -0
  70. package/platform/services/window/Docking/dockableBox.js +525 -0
  71. package/platform/services/window/Docking/dockableBox.js.map +1 -0
  72. package/platform/services/window/Docking/dockableGroup.d.ts +252 -0
  73. package/platform/services/window/Docking/dockableGroup.d.ts.map +1 -0
  74. package/platform/services/window/Docking/dockableGroup.js +1054 -0
  75. package/platform/services/window/Docking/dockableGroup.js.map +1 -0
  76. package/platform/services/window/Docking/dockableMonitor.d.ts +99 -0
  77. package/platform/services/window/Docking/dockableMonitor.d.ts.map +1 -0
  78. package/platform/services/window/Docking/dockableMonitor.js +427 -0
  79. package/platform/services/window/Docking/dockableMonitor.js.map +1 -0
  80. package/platform/services/window/Docking/dockableWindow.d.ts +272 -0
  81. package/platform/services/window/Docking/dockableWindow.d.ts.map +1 -0
  82. package/platform/services/window/Docking/dockableWindow.js +1239 -0
  83. package/platform/services/window/Docking/dockableWindow.js.map +1 -0
  84. package/platform/services/window/Docking/dockingCalculator.d.ts +749 -0
  85. package/platform/services/window/Docking/dockingCalculator.d.ts.map +1 -0
  86. package/platform/services/window/Docking/dockingCalculator.js +3473 -0
  87. package/platform/services/window/Docking/dockingCalculator.js.map +1 -0
  88. package/platform/services/window/Docking/dockingMain.d.ts +349 -0
  89. package/platform/services/window/Docking/dockingMain.d.ts.map +1 -0
  90. package/platform/services/window/Docking/dockingMain.js +2584 -0
  91. package/platform/services/window/Docking/dockingMain.js.map +1 -0
  92. package/platform/services/window/Docking/maskBoundsCalculator.d.ts +28 -0
  93. package/platform/services/window/Docking/maskBoundsCalculator.d.ts.map +1 -0
  94. package/platform/services/window/Docking/maskBoundsCalculator.js +67 -0
  95. package/platform/services/window/Docking/maskBoundsCalculator.js.map +1 -0
  96. package/platform/services/window/Docking/monitorUpdateHandler.d.ts +32 -0
  97. package/platform/services/window/Docking/monitorUpdateHandler.d.ts.map +1 -0
  98. package/platform/services/window/Docking/monitorUpdateHandler.js +117 -0
  99. package/platform/services/window/Docking/monitorUpdateHandler.js.map +1 -0
  100. package/platform/services/window/Docking/types.d.ts +334 -0
  101. package/platform/services/window/Docking/types.d.ts.map +1 -0
  102. package/platform/services/window/Docking/types.js +12 -0
  103. package/platform/services/window/Docking/types.js.map +1 -0
  104. package/platform/services/window/MultiWindowFeatures/autoArrange.d.ts +90 -0
  105. package/platform/services/window/MultiWindowFeatures/autoArrange.d.ts.map +1 -0
  106. package/platform/services/window/MultiWindowFeatures/autoArrange.js +510 -0
  107. package/platform/services/window/MultiWindowFeatures/autoArrange.js.map +1 -0
  108. package/platform/services/window/StackedWindowManager/stackedWindowManager.d.ts +411 -0
  109. package/platform/services/window/StackedWindowManager/stackedWindowManager.d.ts.map +1 -0
  110. package/platform/services/window/StackedWindowManager/stackedWindowManager.js +1641 -0
  111. package/platform/services/window/StackedWindowManager/stackedWindowManager.js.map +1 -0
  112. package/platform/services/window/WindowAbstractions/FinsembleWindowInternal.d.ts +9 -0
  113. package/platform/services/window/WindowAbstractions/FinsembleWindowInternal.d.ts.map +1 -0
  114. package/platform/services/window/WindowAbstractions/FinsembleWindowInternal.js +23 -0
  115. package/platform/services/window/WindowAbstractions/FinsembleWindowInternal.js.map +1 -0
  116. package/platform/services/window/WindowAbstractions/WebWindowWrapper.d.ts +227 -0
  117. package/platform/services/window/WindowAbstractions/WebWindowWrapper.d.ts.map +1 -0
  118. package/platform/services/window/WindowAbstractions/WebWindowWrapper.js +1168 -0
  119. package/platform/services/window/WindowAbstractions/WebWindowWrapper.js.map +1 -0
  120. package/platform/services/window/WindowAbstractions/externalWindowWrapper.d.ts +121 -0
  121. package/platform/services/window/WindowAbstractions/externalWindowWrapper.d.ts.map +1 -0
  122. package/platform/services/window/WindowAbstractions/externalWindowWrapper.js +591 -0
  123. package/platform/services/window/WindowAbstractions/externalWindowWrapper.js.map +1 -0
  124. package/platform/services/window/WindowAbstractions/stackedWindowWrapper.d.ts +194 -0
  125. package/platform/services/window/WindowAbstractions/stackedWindowWrapper.d.ts.map +1 -0
  126. package/platform/services/window/WindowAbstractions/stackedWindowWrapper.js +680 -0
  127. package/platform/services/window/WindowAbstractions/stackedWindowWrapper.js.map +1 -0
  128. package/platform/services/window/types.d.ts +13 -13
  129. package/platform/services/window/windowGroup.d.ts +86 -0
  130. package/platform/services/window/windowGroup.d.ts.map +1 -0
  131. package/platform/services/window/windowGroup.js +323 -0
  132. package/platform/services/window/windowGroup.js.map +1 -0
  133. package/platform/services/workspace/windowStorageManager.d.ts +178 -0
  134. package/platform/services/workspace/windowStorageManager.d.ts.map +1 -0
  135. package/platform/services/workspace/windowStorageManager.js +195 -0
  136. package/platform/services/workspace/windowStorageManager.js.map +1 -0
  137. package/platform/services/workspace/workspaceAdminAPI.d.ts +1 -1
  138. package/platform/services/workspace/workspaceAdminAPI.d.ts.map +1 -1
  139. package/react/actions/smartDesktopDesignerActions.d.ts +2 -0
  140. package/react/actions/smartDesktopDesignerActions.d.ts.map +1 -1
  141. package/react/actions/smartDesktopDesignerActions.js +1 -0
  142. package/react/actions/smartDesktopDesignerActions.js.map +1 -1
  143. package/react/assets/css/download.css +119 -0
  144. package/react/assets/css/userPreferences.css +50 -0
  145. package/react/assets/css/windowTitleBar.css +2 -1
  146. package/react/assets/icons/cancel.svg +15 -0
  147. package/react/assets/icons/gear.svg +9 -0
  148. package/react/assets/icons/pause.svg +15 -0
  149. package/react/assets/icons/resume.svg +17 -0
  150. package/react/assets/img/Finsemble-installation.gif +0 -0
  151. package/react/components/common/Button.d.ts +1 -0
  152. package/react/components/common/Button.d.ts.map +1 -1
  153. package/react/components/common/Button.js.map +1 -1
  154. package/react/components/common/ButtonIcon.d.ts.map +1 -1
  155. package/react/components/common/ButtonIcon.js +3 -2
  156. package/react/components/common/ButtonIcon.js.map +1 -1
  157. package/react/components/common/FinsembleIcon.d.ts +1 -1
  158. package/react/components/common/FinsembleIcon.d.ts.map +1 -1
  159. package/react/components/common/FinsembleIcon.js +8 -0
  160. package/react/components/common/FinsembleIcon.js.map +1 -1
  161. package/react/components/common/css/button.css +8 -2
  162. package/react/components/downloadManager/DownloadItem.d.ts +16 -0
  163. package/react/components/downloadManager/DownloadItem.d.ts.map +1 -0
  164. package/react/components/downloadManager/DownloadItem.js +74 -0
  165. package/react/components/downloadManager/DownloadItem.js.map +1 -0
  166. package/react/components/downloadManager/DownloadManager.d.ts +10 -0
  167. package/react/components/downloadManager/DownloadManager.d.ts.map +1 -0
  168. package/react/components/downloadManager/DownloadManager.js +42 -0
  169. package/react/components/downloadManager/DownloadManager.js.map +1 -0
  170. package/react/components/downloadManager/index.d.ts +2 -0
  171. package/react/components/downloadManager/index.d.ts.map +1 -0
  172. package/react/components/downloadManager/index.js +2 -0
  173. package/react/components/downloadManager/index.js.map +1 -0
  174. package/react/components/fdc3Resolver/ResolverDialog.css +1 -1
  175. package/react/components/index.d.ts +1 -0
  176. package/react/components/index.d.ts.map +1 -1
  177. package/react/components/index.js +1 -0
  178. package/react/components/index.js.map +1 -1
  179. package/react/components/processMonitor/ProcessMonitor.d.ts.map +1 -1
  180. package/react/components/processMonitor/ProcessMonitor.js +56 -75
  181. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  182. package/react/components/processMonitor/components/ChildWindow.d.ts +5 -7
  183. package/react/components/processMonitor/components/ChildWindow.d.ts.map +1 -1
  184. package/react/components/processMonitor/components/ChildWindow.js +30 -33
  185. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  186. package/react/components/processMonitor/components/ListHeader.d.ts +4 -16
  187. package/react/components/processMonitor/components/ListHeader.d.ts.map +1 -1
  188. package/react/components/processMonitor/components/ListHeader.js +30 -39
  189. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  190. package/react/components/processMonitor/components/ProcessStatistics.d.ts +3 -6
  191. package/react/components/processMonitor/components/ProcessStatistics.d.ts.map +1 -1
  192. package/react/components/processMonitor/components/ProcessStatistics.js +18 -23
  193. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  194. package/react/components/sdd/Dashboard.css +21 -0
  195. package/react/components/sdd/css/export.css +33 -3
  196. package/react/components/sdd/css/nav.css +1 -1
  197. package/react/components/shared/DefaultDropdownButton.js +1 -1
  198. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  199. package/react/components/toolbar/DownloadButton.d.ts +8 -0
  200. package/react/components/toolbar/DownloadButton.d.ts.map +1 -0
  201. package/react/components/toolbar/DownloadButton.js +30 -0
  202. package/react/components/toolbar/DownloadButton.js.map +1 -0
  203. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.d.ts.map +1 -1
  204. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +6 -0
  205. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  206. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +1 -1
  207. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  208. package/react/components/toolbar/dashbar/Dashbar.d.ts.map +1 -1
  209. package/react/components/toolbar/dashbar/Dashbar.js +72 -47
  210. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  211. package/react/components/toolbar/dashbar/DashbarItem.d.ts +1 -1
  212. package/react/components/toolbar/dashbar/DashbarItem.d.ts.map +1 -1
  213. package/react/components/toolbar/dashbar/DashbarItem.js +25 -4
  214. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  215. package/react/components/toolbar/index.d.ts +1 -0
  216. package/react/components/toolbar/index.d.ts.map +1 -1
  217. package/react/components/toolbar/index.js +1 -0
  218. package/react/components/toolbar/index.js.map +1 -1
  219. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +3 -4
  220. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts.map +1 -1
  221. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +3 -10
  222. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  223. package/react/components/userPreferences/components/content/General.d.ts.map +1 -1
  224. package/react/components/userPreferences/components/content/General.js +3 -0
  225. package/react/components/userPreferences/components/content/General.js.map +1 -1
  226. package/react/components/userPreferences/components/general/DownloadPreferences.d.ts +10 -0
  227. package/react/components/userPreferences/components/general/DownloadPreferences.d.ts.map +1 -0
  228. package/react/components/userPreferences/components/general/DownloadPreferences.js +111 -0
  229. package/react/components/userPreferences/components/general/DownloadPreferences.js.map +1 -0
  230. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +6 -0
  231. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts.map +1 -1
  232. package/react/components/userPreferences/stores/UserPreferencesStore.js +11 -0
  233. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  234. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +2 -26
  235. package/react/components/windowTitleBar/components/right/CloseButton.d.ts.map +1 -1
  236. package/react/components/windowTitleBar/components/right/CloseButton.js +8 -25
  237. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  238. package/react/hooks/useDownloadItems.d.ts +24 -0
  239. package/react/hooks/useDownloadItems.d.ts.map +1 -0
  240. package/react/hooks/useDownloadItems.js +68 -0
  241. package/react/hooks/useDownloadItems.js.map +1 -0
  242. package/react/hooks/useNotifications.d.ts +1 -1
  243. package/react/reducers/rootReducer.d.ts +4 -0
  244. package/react/reducers/rootReducer.d.ts.map +1 -1
  245. package/react/reducers/smartDesktopDesignerReducer.d.ts.map +1 -1
  246. package/react/reducers/smartDesktopDesignerReducer.js +4 -0
  247. package/react/reducers/smartDesktopDesignerReducer.js.map +1 -1
  248. package/react/store.d.ts +8 -0
  249. package/react/store.d.ts.map +1 -1
  250. package/react/types/dashbarTypes.d.ts +3 -1
  251. package/react/types/dashbarTypes.d.ts.map +1 -1
  252. package/react/types/smartDesktopDesignerTypes.d.ts +2 -0
  253. package/react/types/smartDesktopDesignerTypes.d.ts.map +1 -1
  254. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dockableGroup.js","sourceRoot":"","sources":["../../../../../../src/platform/services/window/Docking/dockableGroup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import DockingMain from "./dockingMain";
2
+ import { DockingBounds, BoundingBox, SnappingRegions, DockableMonitorParams, MoveRequest, DockableMonitorJSON, MonitorRectangle } from "./types";
3
+ import DockableWindow from "./dockableWindow";
4
+ import { MonitorInfoDetail } from "../../../../FEA";
5
+ export declare class DockableMonitor {
6
+ #private;
7
+ left: number;
8
+ top: number;
9
+ right: number;
10
+ bottom: number;
11
+ dockingMain: DockingMain;
12
+ rawMonitor: MonitorInfoDetail;
13
+ availableRect: DockingBounds;
14
+ bufferSize: number;
15
+ name: string;
16
+ bounds: BoundingBox;
17
+ snappingRegions: SnappingRegions;
18
+ monitorRect: MonitorRectangle;
19
+ initialBounds: DockingBounds;
20
+ deviceId?: number;
21
+ constructor(params: DockableMonitorParams);
22
+ /**
23
+ * @function {function name}
24
+ * @param {type} bufferSize {description}
25
+ * @return {type} {description}
26
+ */
27
+ setBufferSize(bufferSize: number): void;
28
+ /**
29
+ * @function {function name}
30
+ * @return {type} {description}
31
+ */
32
+ getWindowBoundingBox(): BoundingBox;
33
+ /**
34
+ * @function {function name}
35
+ * @param {type} bounds {description}
36
+ * @param {type} edge {description}
37
+ * @return {type} {description}
38
+ */
39
+ getSnappingRegion(bounds: DockingBounds, edge: string): BoundingBox;
40
+ /**
41
+ * @function {function name}
42
+ * @return {type} {description}
43
+ */
44
+ calculateSnappingRegions(): void;
45
+ /**
46
+ * @function {function name}
47
+ * @param {type} region {description}
48
+ * @param {type} request {description}
49
+ * @return {type} {description}
50
+ */
51
+ canSnapToRegion(region: string, request: MoveRequest): boolean;
52
+ /**
53
+ * @function {function name}
54
+ * @param {type} request {description}
55
+ * @return {type} {description}
56
+ */
57
+ canSnapToWindow(request: MoveRequest): boolean;
58
+ /**
59
+ * Determines if supplied window (or request) is near a given edge of the monitor
60
+ *
61
+ * @param {object} request The move request
62
+ * @return {string} A string containing any edges of the monitor the given request is near
63
+ */
64
+ getSnappedEdge(request: MoveRequest): string;
65
+ /**
66
+ * @function {function name}
67
+ * @param {type} request {description}
68
+ * @return {type} {description}
69
+ */
70
+ snapWindow(request: MoveRequest): MoveRequest | boolean;
71
+ /**
72
+ * Takes any snapped edges and a given request (window) and sets the appropriate bounds of the window (when docking, the windows width is expanded to take full screen)
73
+ * @param {string} edge A string containing any edges the window could snap to
74
+ * @param {object} request The window to dock
75
+ * @return {object} The modified request object
76
+ */
77
+ getDockedPosition(request: MoveRequest): MoveRequest | false;
78
+ /**
79
+ * Docks a window to an edge if it needs to be. Calls to update dockableMonitor/dockableWindow properties
80
+ * @param {object} request The move request
81
+ * @param {object} win window to move
82
+ * @param {number} undockedWidth width of the window before docking
83
+ * @param {number} undockedHeight height of the window before docking
84
+ * @param {boolean} init optional - true if the dock is initiated on startup
85
+ */
86
+ dockWindowToMonitor(request: MoveRequest | DockableWindow, win: DockableWindow, undockedWidth: number, undockedHeight: number, init?: boolean): Promise<void>;
87
+ /**
88
+ * JSON override method
89
+ */
90
+ toJSON(): DockableMonitorJSON;
91
+ /**
92
+ * Undocks a window
93
+ * @param {object} win The window to undock
94
+ * @param {boolean} [isClosingAction] If true, this undock is being called on a window closing
95
+ */
96
+ undockWindowFromMonitor(win: DockableWindow, isClosingAction?: boolean): void;
97
+ }
98
+ export default DockableMonitor;
99
+ //# sourceMappingURL=dockableMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dockableMonitor.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/services/window/Docking/dockableMonitor.ts"],"names":[],"mappings":"AAGA,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,EACN,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,qBAAa,eAAe;;IAC3B,IAAI,EAAE,MAAM,CAAK;IAEjB,GAAG,EAAE,MAAM,CAAK;IAEhB,KAAK,EAAE,MAAM,CAAK;IAElB,MAAM,EAAE,MAAM,CAAK;IAEnB,WAAW,EAAE,WAAW,CAAC;IAEzB,UAAU,EAAE,iBAAiB,CAAC;IAE9B,aAAa,EAAE,aAAa,CAAC;IAE7B,UAAU,EAAE,MAAM,CAAC;IAEnB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE,WAAW,CAAC;IAEpB,eAAe,EAAG,eAAe,CAAC;IAElC,WAAW,EAAG,gBAAgB,CAAC;IAE/B,aAAa,EAAE,aAAa,CAAC;IAE7B,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAEN,MAAM,EAAE,qBAAqB;IAsDzC;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM;IAMhC;;;OAGG;IACH,oBAAoB,IAAI,WAAW;IAanC;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;IA8CnE;;;OAGG;IACH,wBAAwB;IASxB;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO;IAc9D;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAS9C;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM;IAU5C;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO;IA2CvD;;;;;OAKG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,KAAK;IAgE5D;;;;;;;OAOG;IACG,mBAAmB,CACxB,OAAO,EAAE,WAAW,GAAG,cAAc,EACrC,GAAG,EAAE,cAAc,EACnB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,IAAI,GAAE,OAAe,GACnB,OAAO,CAAC,IAAI,CAAC;IAgGhB;;OAEG;IACH,MAAM,IAAI,mBAAmB;IAa7B;;;;OAIG;IACH,uBAAuB,CAAC,GAAG,EAAE,cAAc,EAAE,eAAe,GAAE,OAAe;CA6B7E;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,427 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
+ };
6
+ var _DockableMonitor_instances, _DockableMonitor_shouldClaimSpace;
7
+ import BoxMath from "./boxMath";
8
+ import { Logger } from "../../../../clients/logger";
9
+ import { RouterClient } from "../../../../clients/routerClient";
10
+ export class DockableMonitor {
11
+ constructor(params) {
12
+ _DockableMonitor_instances.add(this);
13
+ this.left = 0;
14
+ this.top = 0;
15
+ this.right = 0;
16
+ this.bottom = 0;
17
+ let initialBounds;
18
+ // Pre-dockable components this function only took bounds. For backwards compatibility if the incoming params do now have a 'bounds' prop, we assume params = bounds
19
+ if (!params.hasOwnProperty("bounds")) {
20
+ initialBounds = params;
21
+ }
22
+ else {
23
+ ({ bounds: initialBounds } = params);
24
+ }
25
+ this.initialBounds = initialBounds;
26
+ this.dockingMain = params.dockingMain;
27
+ this.left = initialBounds.left;
28
+ this.top = initialBounds.top;
29
+ this.right = initialBounds.right;
30
+ this.bottom = initialBounds.bottom;
31
+ // Use JSON.parse/stringify to clone the monitors object, since we intend to manipulate it locally
32
+ this.rawMonitor = JSON.parse(JSON.stringify(params.monitor instanceof DockableMonitor ? params.monitor.rawMonitor : params.monitor // Need this later in order to do docking related tasks
33
+ ));
34
+ // When docking makes a change to monitor space (claim or unclaim) docking's monitor representation is updated. The rawMonitor (which comes from launcher and is a dumbed-down functionless representation) is not updated at all. We should remove the DockableMonitor reference to rawMonitor, and instead write a function that gets called when a DockableMonitor is updated to update the rawMonitor for launcher's use.
35
+ this.availableRect = params.monitor.availableRect;
36
+ this.bufferSize = 15;
37
+ this.bounds = this.getWindowBoundingBox();
38
+ this.calculateSnappingRegions();
39
+ this.name = initialBounds.name;
40
+ }
41
+ /**
42
+ * @function {function name}
43
+ * @param {type} bufferSize {description}
44
+ * @return {type} {description}
45
+ */
46
+ setBufferSize(bufferSize) {
47
+ this.bufferSize = bufferSize;
48
+ this.bounds = this.getWindowBoundingBox();
49
+ this.calculateSnappingRegions();
50
+ }
51
+ /**
52
+ * @function {function name}
53
+ * @return {type} {description}
54
+ */
55
+ getWindowBoundingBox() {
56
+ return {
57
+ min: {
58
+ x: this.left,
59
+ y: this.top,
60
+ },
61
+ max: {
62
+ x: this.right,
63
+ y: this.bottom,
64
+ },
65
+ };
66
+ }
67
+ /**
68
+ * @function {function name}
69
+ * @param {type} bounds {description}
70
+ * @param {type} edge {description}
71
+ * @return {type} {description}
72
+ */
73
+ getSnappingRegion(bounds, edge) {
74
+ var _a, _b, _c, _d;
75
+ const map = {
76
+ left: {
77
+ min: {
78
+ x: bounds.left - this.bufferSize,
79
+ y: bounds.top,
80
+ },
81
+ max: {
82
+ x: bounds.left + this.bufferSize,
83
+ y: bounds.bottom,
84
+ },
85
+ },
86
+ right: {
87
+ min: {
88
+ x: bounds.right - this.bufferSize,
89
+ y: bounds.top,
90
+ },
91
+ max: {
92
+ x: bounds.right + this.bufferSize,
93
+ y: bounds.bottom,
94
+ },
95
+ },
96
+ bottom: {
97
+ min: {
98
+ x: bounds.left,
99
+ y: ((_a = bounds.bottom) !== null && _a !== void 0 ? _a : 0) - this.bufferSize,
100
+ },
101
+ max: {
102
+ x: bounds.right,
103
+ y: ((_b = bounds.bottom) !== null && _b !== void 0 ? _b : 0) + this.bufferSize,
104
+ },
105
+ },
106
+ top: {
107
+ min: {
108
+ x: bounds.left,
109
+ y: ((_c = bounds.top) !== null && _c !== void 0 ? _c : 0) - this.bufferSize,
110
+ },
111
+ max: {
112
+ x: bounds.right,
113
+ y: ((_d = bounds.top) !== null && _d !== void 0 ? _d : 0) + this.bufferSize,
114
+ },
115
+ },
116
+ };
117
+ return map[edge];
118
+ }
119
+ /**
120
+ * @function {function name}
121
+ * @return {type} {description}
122
+ */
123
+ calculateSnappingRegions() {
124
+ this.snappingRegions = {
125
+ top: this.getSnappingRegion(this.initialBounds, "top"),
126
+ right: this.getSnappingRegion(this.initialBounds, "right"),
127
+ bottom: this.getSnappingRegion(this.initialBounds, "bottom"),
128
+ left: this.getSnappingRegion(this.initialBounds, "left"),
129
+ };
130
+ }
131
+ /**
132
+ * @function {function name}
133
+ * @param {type} region {description}
134
+ * @param {type} request {description}
135
+ * @return {type} {description}
136
+ */
137
+ canSnapToRegion(region, request) {
138
+ const innerAdjustment = 0 - this.bufferSize;
139
+ return BoxMath.intersectBoundingBoxes(this.snappingRegions[region], {
140
+ min: {
141
+ x: request.snappingRegions[region].min.x - innerAdjustment,
142
+ y: request.snappingRegions[region].min.y - innerAdjustment,
143
+ },
144
+ max: {
145
+ x: request.snappingRegions[region].max.x + innerAdjustment,
146
+ y: request.snappingRegions[region].max.y + innerAdjustment,
147
+ },
148
+ });
149
+ }
150
+ /**
151
+ * @function {function name}
152
+ * @param {type} request {description}
153
+ * @return {type} {description}
154
+ */
155
+ canSnapToWindow(request) {
156
+ for (const region in this.snappingRegions) {
157
+ if (this.canSnapToRegion(region, request)) {
158
+ return true;
159
+ }
160
+ }
161
+ return false;
162
+ }
163
+ /**
164
+ * Determines if supplied window (or request) is near a given edge of the monitor
165
+ *
166
+ * @param {object} request The move request
167
+ * @return {string} A string containing any edges of the monitor the given request is near
168
+ */
169
+ getSnappedEdge(request) {
170
+ let snappedEdge = "";
171
+ if (request.top === this.bounds.min.y) {
172
+ snappedEdge = `${snappedEdge}top`;
173
+ }
174
+ else if (request.bottom === this.bounds.max.y) {
175
+ snappedEdge = `${snappedEdge}bottom`;
176
+ }
177
+ return snappedEdge;
178
+ }
179
+ /**
180
+ * @function {function name}
181
+ * @param {type} request {description}
182
+ * @return {type} {description}
183
+ */
184
+ snapWindow(request) {
185
+ const regionsToSnap = Object.keys(this.snappingRegions).flatMap((region) => this.canSnapToRegion(region, request) ? [region] : []);
186
+ if (!regionsToSnap)
187
+ return false;
188
+ const joinedRegionsToSnap = regionsToSnap.join("");
189
+ // if req is to the right of the monitor's left edge.
190
+ if (joinedRegionsToSnap.includes("left") && request.left >= this.snappingRegions.left.min.x) {
191
+ request.left = this.bounds.min.x;
192
+ }
193
+ if (joinedRegionsToSnap.includes("top") && request.top >= this.snappingRegions.top.min.y) {
194
+ request.top = this.bounds.min.y;
195
+ }
196
+ if (joinedRegionsToSnap.includes("right") && request.right <= this.snappingRegions.right.max.x) {
197
+ // move
198
+ if (request.changeType === 0) {
199
+ request.left = this.bounds.max.x - request.width;
200
+ }
201
+ else {
202
+ request.right = this.bounds.max.x;
203
+ }
204
+ }
205
+ if (joinedRegionsToSnap.includes("bottom") && request.bottom <= this.snappingRegions.bottom.max.y) {
206
+ if (request.changeType === 0) {
207
+ request.top = this.bounds.max.y - request.height;
208
+ }
209
+ else {
210
+ request.bottom = this.bounds.max.y;
211
+ }
212
+ }
213
+ if (request.changeType === 0) {
214
+ request.right = request.left + request.width;
215
+ request.bottom = request.top + request.height;
216
+ }
217
+ else {
218
+ request.width = request.right - request.left;
219
+ request.height = request.bottom - request.top;
220
+ }
221
+ return request;
222
+ }
223
+ /**
224
+ * Takes any snapped edges and a given request (window) and sets the appropriate bounds of the window (when docking, the windows width is expanded to take full screen)
225
+ * @param {string} edge A string containing any edges the window could snap to
226
+ * @param {object} request The window to dock
227
+ * @return {object} The modified request object
228
+ */
229
+ getDockedPosition(request) {
230
+ const edge = request.hasOwnProperty("snappedEdge")
231
+ ? request.snappedEdge.toLowerCase()
232
+ : this.getSnappedEdge(request);
233
+ request.snappedEdge = edge;
234
+ if (request.dockableEdges && !request.dockableEdges.includes(edge)) {
235
+ Logger.log(`Requested docked position ${edge} is not allowed by window`);
236
+ return false;
237
+ }
238
+ switch (edge) {
239
+ case "top":
240
+ request.height = request.dockedHeight || request.height;
241
+ delete request.dockedHeight;
242
+ if (request.top >= this.snappingRegions.top.min.y) {
243
+ request.top = this.bounds.min.y;
244
+ request.width = this.bounds.max.x - this.bounds.min.x;
245
+ request.left = this.bounds.min.x;
246
+ request.right = this.bounds.max.x;
247
+ request.bottom = request.top + request.height;
248
+ }
249
+ break;
250
+ case "bottom":
251
+ request.height = request.dockedHeight || request.height;
252
+ delete request.dockedHeight;
253
+ if (request.bottom <= this.snappingRegions.bottom.max.y) {
254
+ request.top = this.bounds.max.y - request.height;
255
+ request.width = this.bounds.max.x - this.bounds.min.x;
256
+ request.left = this.bounds.min.x;
257
+ request.right = this.bounds.max.x;
258
+ request.bottom = this.bounds.max.y;
259
+ }
260
+ break;
261
+ case "left":
262
+ request.width = request.dockedWidth || request.width;
263
+ delete request.dockedWidth;
264
+ if (request.left >= this.snappingRegions.left.min.x) {
265
+ request.left = this.bounds.min.x;
266
+ request.height = this.bounds.max.y - this.bounds.min.y;
267
+ request.top = this.bounds.min.y;
268
+ request.bottom = this.bounds.max.y;
269
+ request.right = request.left + request.width;
270
+ }
271
+ break;
272
+ case "right":
273
+ request.width = request.dockedWidth || request.width;
274
+ delete request.dockedWidth;
275
+ if (request.right <= this.snappingRegions.right.max.x) {
276
+ request.left = this.bounds.max.x - request.width;
277
+ request.height = this.bounds.max.y - this.bounds.min.y;
278
+ request.top = this.bounds.min.y;
279
+ request.bottom = this.bounds.max.y;
280
+ request.right = this.bounds.max.x;
281
+ }
282
+ break;
283
+ default:
284
+ Logger.warn(`WARNING Requested docked position without providing an edge : edge = ${edge} request = `, request);
285
+ return false;
286
+ }
287
+ return request;
288
+ }
289
+ /**
290
+ * Docks a window to an edge if it needs to be. Calls to update dockableMonitor/dockableWindow properties
291
+ * @param {object} request The move request
292
+ * @param {object} win window to move
293
+ * @param {number} undockedWidth width of the window before docking
294
+ * @param {number} undockedHeight height of the window before docking
295
+ * @param {boolean} init optional - true if the dock is initiated on startup
296
+ */
297
+ async dockWindowToMonitor(request, win, undockedWidth, undockedHeight, init = false) {
298
+ var _a, _b, _c;
299
+ const claimMonitorSpace = __classPrivateFieldGet(this, _DockableMonitor_instances, "m", _DockableMonitor_shouldClaimSpace).call(this, win);
300
+ Logger.system.debug("dockable.monitor.dockWindowToMonitor", `undockedWidth=${undockedWidth}`, `undockedHeight=${undockedHeight}`, `claimMonitorSpace=${claimMonitorSpace}`);
301
+ if (win.justUndocked) {
302
+ Logger.system.warn(`Prevented ${win.name} docking, because it was just undocked.`);
303
+ // restoring undocked window bounds
304
+ await win.setBounds({
305
+ width: undockedWidth,
306
+ height: undockedHeight,
307
+ left: win.left,
308
+ right: win.left + undockedWidth,
309
+ top: win.top,
310
+ });
311
+ return;
312
+ }
313
+ if (claimMonitorSpace) {
314
+ win.win._setOpacity({ opacity: 0 });
315
+ }
316
+ if (win.previouslySnappedEdge)
317
+ delete win.previouslySnappedEdge;
318
+ if (!request.snappedEdge)
319
+ return;
320
+ let newBounds = Object.assign({}, this.rawMonitor.availableRect);
321
+ switch (request.snappedEdge) {
322
+ case "top":
323
+ newBounds.bottom = ((_a = newBounds.top) !== null && _a !== void 0 ? _a : 0) + win.height;
324
+ newBounds.height = win.height;
325
+ break;
326
+ case "bottom":
327
+ newBounds.top = (newBounds.bottom || 0) - win.height;
328
+ newBounds.height = win.height;
329
+ break;
330
+ case "left":
331
+ newBounds.right = newBounds.left + win.width;
332
+ newBounds.width = win.width;
333
+ break;
334
+ case "right":
335
+ newBounds.left = newBounds.right - win.width;
336
+ newBounds.width = win.width;
337
+ break;
338
+ default:
339
+ break;
340
+ }
341
+ win.dockedBounds = newBounds;
342
+ await win.setBounds(newBounds);
343
+ if (claimMonitorSpace) {
344
+ RouterClient.query("Assimilation.dockWindow", {
345
+ key: win.win.windowOptions.nativeWindowHandle,
346
+ edge: request.snappedEdge,
347
+ bounds: newBounds,
348
+ init,
349
+ }, (err) => {
350
+ if (err) {
351
+ Logger.system.error("Error querying for dock", err);
352
+ }
353
+ });
354
+ }
355
+ win.justDocked = true;
356
+ if (win.win.windowOptions.resizable) {
357
+ win.win._setResizable(false);
358
+ }
359
+ win.win.isDocked = true;
360
+ win.undockedPosition = {
361
+ width: undockedWidth,
362
+ height: undockedHeight,
363
+ alwaysOnTop: win.win.windowOptions.alwaysOnTop,
364
+ };
365
+ if (((_c = (_b = this.dockingMain.serviceConfig) === null || _b === void 0 ? void 0 : _b.claimSpace) === null || _c === void 0 ? void 0 : _c.alwaysOnTop) && !win.win.windowOptions.alwaysOnTop) {
366
+ win.win._alwaysOnTop({ alwaysOnTop: true });
367
+ }
368
+ win.monitor = this;
369
+ const edge = request.snappedEdge.trim().toUpperCase();
370
+ if (win.monitorDockablePositions.hasOwnProperty(edge)) {
371
+ win.dockedPosition = win.monitorDockablePositions[edge];
372
+ }
373
+ win.saveDockableData();
374
+ }
375
+ /**
376
+ * JSON override method
377
+ */
378
+ toJSON() {
379
+ return {
380
+ bounds: this.bounds,
381
+ availableRect: this.availableRect,
382
+ monitorRect: this.monitorRect,
383
+ name: this.name,
384
+ top: this.top,
385
+ right: this.right,
386
+ bottom: this.bottom,
387
+ left: this.left,
388
+ };
389
+ }
390
+ /**
391
+ * Undocks a window
392
+ * @param {object} win The window to undock
393
+ * @param {boolean} [isClosingAction] If true, this undock is being called on a window closing
394
+ */
395
+ undockWindowFromMonitor(win, isClosingAction = false) {
396
+ Logger.system.debug("dockable.monitor.undockWindowFromMonitor");
397
+ RouterClient.query("Assimilation.undockWindow", { key: win.win.windowOptions.nativeWindowHandle }, () => { });
398
+ if (win.win.windowOptions.resizable) {
399
+ win.win._setResizable(true);
400
+ }
401
+ if (!win.undockedPosition.alwaysOnTop) {
402
+ win.win._alwaysOnTop({ alwaysOnTop: false });
403
+ }
404
+ // For Windows:
405
+ // If the win.win.windowOptions?.claimMonitorSpace is falsy, then OS monitorsChanged event never fired (for Windows)
406
+ // That means that the win.justUndocked will never set to false because it's happens in the docikngMain.handleUndockedWindow()
407
+ // For Mac:
408
+ // It is safe to set this to "false" (shouldClaimSpace will ALWAYS return false on MacOS) for all cases
409
+ win.justUndocked = __classPrivateFieldGet(this, _DockableMonitor_instances, "m", _DockableMonitor_shouldClaimSpace).call(this, win);
410
+ // If the system is closing down, we don't want to change the docking status
411
+ // but still want to undock to give the OS back the preserved space
412
+ // This will preserve docking status for windows that should restore docked
413
+ if (!isClosingAction) {
414
+ win.win.isDocked = false;
415
+ win.dockedPosition = win.monitorDockablePositions.NONE;
416
+ win.saveDockableData();
417
+ }
418
+ }
419
+ }
420
+ _DockableMonitor_instances = new WeakSet(), _DockableMonitor_shouldClaimSpace = function _DockableMonitor_shouldClaimSpace(win) {
421
+ var _a, _b, _c, _d;
422
+ return ((_d = (this.dockingMain.isWindows &&
423
+ ((_b = (_a = this.dockingMain.serviceConfig) === null || _a === void 0 ? void 0 : _a.claimSpace) === null || _b === void 0 ? void 0 : _b.enabled) &&
424
+ ((_c = win.win.windowOptions) === null || _c === void 0 ? void 0 : _c.claimMonitorSpace))) !== null && _d !== void 0 ? _d : true);
425
+ };
426
+ export default DockableMonitor;
427
+ //# sourceMappingURL=dockableMonitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dockableMonitor.js","sourceRoot":"","sources":["../../../../../../src/platform/services/window/Docking/dockableMonitor.ts"],"names":[],"mappings":"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"}