@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":"dockingCalculator.js","sourceRoot":"","sources":["../../../../../../src/platform/services/window/Docking/dockingCalculator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,349 @@
1
+ import DockingCalculator from "./dockingCalculator";
2
+ import AutoArrange from "../MultiWindowFeatures/autoArrange";
3
+ import DockableWindow from "./dockableWindow";
4
+ import { MonitorDimensions, DockingConfigOptions, BoxCoordinates, CompleteBounds } from "./types";
5
+ import { FSBLWindow } from "../types";
6
+ import { Monitors } from "../../../../common/Monitors";
7
+ import DockableGroup from "./dockableGroup";
8
+ import { VirtualScreenCoordinates } from "../../../../FEA";
9
+ import { DockableMonitor } from "./dockableMonitor";
10
+ declare class DockingMain extends DockingCalculator {
11
+ /** @alias DockingMain# */
12
+ AutoArrange: AutoArrange;
13
+ cachedPositions: Record<string, Record<string, any>>;
14
+ registrationPending: Record<string, boolean>;
15
+ deregistrationPending: Record<string, any>;
16
+ tabbingEnabled: boolean;
17
+ tilingEnabled: boolean;
18
+ enableWindowsAeroSnap: boolean;
19
+ defaultHeight: number;
20
+ defaultWidth: number;
21
+ activeWorkspace: {
22
+ name: string;
23
+ guid: string;
24
+ };
25
+ dockingReady: boolean;
26
+ isWindows: boolean;
27
+ applicationState: string;
28
+ recallToDock?: any;
29
+ claimSpace: boolean;
30
+ preventOverlapClaimSpace: boolean;
31
+ mouseTracking: boolean;
32
+ mouseTracker: {
33
+ interval?: ReturnType<typeof setInterval>;
34
+ mousePosition?: VirtualScreenCoordinates;
35
+ callback?: Function;
36
+ };
37
+ tilingAndTabbingWindow?: FSBLWindow;
38
+ operation?: {
39
+ window?: DockableWindow;
40
+ group?: DockableGroup;
41
+ sourceWindowName?: string;
42
+ type?: string;
43
+ tileWith?: string;
44
+ edge?: string | false;
45
+ newBounds?: {
46
+ maskBounds: any;
47
+ newWindowBounds: any;
48
+ };
49
+ };
50
+ configCache: Record<string, any>;
51
+ serviceConfig: DockingConfigOptions;
52
+ constructor(params: any, monitorsInstance: Monitors);
53
+ bindAllFunctions(): void;
54
+ defaultDockingOptions(options: any, MIN_HEIGHT: any, MIN_WIDTH: any): DockingConfigOptions;
55
+ windowServiceChannelName(channelTopic: any): string;
56
+ /**
57
+ * Function that sets wether tabbing or tiling is disabled for this instance of DockingMain
58
+ *
59
+ * @param {object} serviceConfig The service config
60
+ */
61
+ setTilingOrTabbingEnabled(setTilingOrTabbingEnabledArg: any): void;
62
+ /**
63
+ * Function that runs after a window has completed a move action
64
+ *
65
+ * @param {object} win The window object
66
+ * @param {boolean} triggeredByAutoArrange True if the move was triggered by auto arrange. If the move was triggered by auto arrange, we don't want to delete cached window positions.
67
+ */
68
+ onMoveComplete(win: {
69
+ name: string;
70
+ monitor: DockableMonitor;
71
+ }, triggeredByAutoArrange: boolean): void;
72
+ updateGroupData(): void;
73
+ /**
74
+ * Handler for incoming docking deregistration request for specified window.
75
+ * Invoked both by addListener("DockingService.registerWindow") and addListener("DockingService.deregisterWindow").
76
+ * @private
77
+ */
78
+ deregisterWindow(self: any, err: any, response: any): void;
79
+ /**
80
+ * Given a window name, reset the auto arrange status for the monitor that window is on
81
+ * @param {object | string} window A window name or docking window object
82
+ */
83
+ resetAutoArrangeForAWindowsMonitor(window: any): void;
84
+ /**
85
+ * Helper function that determines whether a group should fill holes left by windows that leave it.
86
+ * @params {dockableGroup} grp The group for which to fill holes (or not).
87
+ */
88
+ shouldFillHolesInGroups(grp: any): boolean | undefined;
89
+ /**
90
+ * When a window no longer delegates its movement to us (it closes or unregisters for some reason), we need to make sure we don't leave strange, disconnected groups out there.
91
+ * If you imagine [A][B][C], and B is closed, this code will make sure that A & C don't remain grouped.
92
+ * @param {*} grp
93
+ */
94
+ fixGroupMembership(grp: any): void;
95
+ onWindowClosed(err: any, response: any): void;
96
+ /**
97
+ * Creates router endpoints for all of our client APIs. Add servers or listeners for requests coming from your clients.
98
+ * @private
99
+ */
100
+ createRouterEndpoints(): void;
101
+ /**
102
+ * Check if new group is a launchGroup component, i.e. there's a window with launchGroupComponentData in its windowDescriptor.
103
+ * If the groups is a launchGroup component then add the launchGroupCompoenentData to the new member of the group.
104
+ *
105
+ * Note: We break early as we only want to find the first component to have a launchGroupComponentData.
106
+ *
107
+ * @param {string} windowNameToAddToGroup The window name to add to the group
108
+ * @param {Array<string>} groupWindowNames All window names in the group
109
+ */
110
+ _maybeAddLaunchGroupComponentData(windowNameToAddToGroup: string, groupWindowNames: string[]): void;
111
+ /**
112
+ * Invoked when a window leaves a group. Checks if we have launchGroupComponentData to remove and
113
+ * removes it. Does nothing otherwise.
114
+ *
115
+ * @param {wrap} leavingWindow The window leaving the group.
116
+ */
117
+ _removeLaunchGroupComponentDataFromLeavingWindow(leavingWindow: any): void;
118
+ buildWorkspaceGroupUpdate(): {
119
+ groupName: string;
120
+ groupData: {};
121
+ workspaceName: string;
122
+ };
123
+ buildGroupUpdate(): {
124
+ groupName: string;
125
+ groupData: {};
126
+ workspaceName: string;
127
+ guid: string;
128
+ };
129
+ sendQueryResponse(message: any, data: any): void;
130
+ prepMonitorDimensions(monitorName: string | undefined): MonitorDimensions | null;
131
+ /**
132
+ * Called when monitors' state changes. Either a monitor has been added/removed or rearranged.
133
+ * When a change occurs query the system for the new window position and update the bounds.
134
+ * Groups need special treatment to ensure that they stay together.
135
+ * The toolbar is also a special case because it needs to stay the same size and keep it's docking state
136
+ * @param {object} monitors An object containing each monitor with monitor name as keys
137
+ */
138
+ monitorsChanged(eventData: any): Promise<void>;
139
+ /**
140
+ * Handles the docked toolbar after a monitor change occurs.
141
+ * Make sure it remains docked at the correct location and size
142
+ * @param {} win - window that is docked, usually the toolbar
143
+ */
144
+ handleDockedWindow(boundsObject: {
145
+ name: string;
146
+ }): Promise<void>;
147
+ /**
148
+ * Handles the undocked window after a monitor change occurs.
149
+ *
150
+ * @param {} win - window that is undocked, usually the toolbar
151
+ */
152
+ handleUndockedWindow(window: DockableWindow): void;
153
+ /**
154
+ * Checks if a monitor still exists
155
+ * Used for adjusting window location after a monitor change were we want to prioritize the current monitor
156
+ */
157
+ getUpdatedWindowMonitorIfItExists(dockableMonitor: any): DockableMonitor | undefined;
158
+ /**
159
+ * Returns the updated monitor for a window or a new monitor
160
+ * if the current one for the window no longer exists.
161
+ * @param {FinsembleWindow} win Finsemble window
162
+ */
163
+ getUpdatedOrNewMonitor(win: DockableWindow): DockableMonitor | undefined;
164
+ /**
165
+ * Loops through DockableMonitor(s) and compares against a system monitor passed in.
166
+ *
167
+ * @param {*} mon A monitor representation
168
+ * @returns A dockable monitor which contains the same deviceId as the monitor passed in
169
+ */
170
+ getDockingMonitorFromSystemMonitor(mon: any): any;
171
+ /**
172
+ * Updates monitor info with claim space changes (usually triggered by docking/undocking toolbar or adding/removing monitors)
173
+ * @param {*} monitorUpdate The new monitor information
174
+ * @param {boolean} isDockableWindowAction If this action is triggered by a dockable window, we don't want to wipe out auto arrange status
175
+ */
176
+ updateMonitorInfo(monitorUpdate: any, isDockableWindowAction?: any): void;
177
+ /**
178
+ * This function will maximize a window.
179
+ * @param {object} params
180
+ * @param {object} params.windowIdentifier
181
+ * @param {string} params.name
182
+ */
183
+ maximizeWindow(params: any, cb: any): void;
184
+ /**
185
+ * This function will restore a maximized window.
186
+ * @param {object} params
187
+ * @param {string} params.name
188
+ */
189
+ restoreFromMaximize(params: any, cb?: Function): Promise<void>;
190
+ onWindowShown(event: any): void;
191
+ onWindowHidden(event: any): void;
192
+ onWindowClosedHandler(event: any): void;
193
+ /**
194
+ * Function that's called after a window is moved.
195
+ */
196
+ /**
197
+ * Registers a window with the DockingCalculator.
198
+ * @param {dockableWindow} win
199
+ * @return {Promise}
200
+ */
201
+ addWindow(win: FSBLWindow): Promise<unknown>;
202
+ /**
203
+ * @private
204
+ * @param {string} windowname
205
+ */
206
+ fixAllGroups(windowName: any): void;
207
+ setWindowMinimized(event: any): void;
208
+ setWindowMaximized(event: any): void;
209
+ setWindowFocused(event: any): void;
210
+ bringGroupToFront(event: any): void;
211
+ hyperFocus(params: any): void;
212
+ initiateGroupMaskCreation(): Promise<void>;
213
+ removeWindow(windowName: string): void;
214
+ /**
215
+ * Sets the initial buffer size.
216
+ */
217
+ setupDockingCalculator(): void;
218
+ addMonitor(monitor: any, isDockableWindowAction: any): void;
219
+ setGroupMode(groupMode: any): void;
220
+ setWindowsAeroSnap(setWindowsAeroSnapArg: any): void;
221
+ /** **********************************************
222
+ * *
223
+ * Debugging Helpers *
224
+ * *
225
+ *********************************************** */
226
+ /**
227
+ * For debugging.
228
+ * @function {function name}
229
+ * @return {type} {description}
230
+ */
231
+ getGridWindows(): void;
232
+ /**
233
+ * @function {function name}
234
+ * @return {type} {description}
235
+ */
236
+ logger(): void;
237
+ /**
238
+ * returns true if intersection in groups
239
+ */
240
+ isACommonGroup(firstSet: any, secondSet: any): any;
241
+ /**
242
+ * Sends a message asking windows to save their position. If window is in a group, then all windows in same group are told; otherwise, only the independent window is told
243
+ * @returns true if window that changed was in a group (which also changed)
244
+ */
245
+ tellWindowOrGroupToSaveLocation(changedWindow: any): boolean;
246
+ /**
247
+ * Sends a message asking windows to update their position in memory but not save.
248
+ */
249
+ tellWindowsToUpdateLocation(): void;
250
+ /**
251
+ * Updates the groupData object, which is pushed out to components.
252
+ * Returns true if the groupData has changed, else false.
253
+ */
254
+ _updateGroupData(): boolean;
255
+ /**
256
+ * Sends the groupData object out to the rest of the application.
257
+ */
258
+ publishGroupUpdate(): void;
259
+ handleWorkspaceUpdate(err: any, response: any): void;
260
+ /**
261
+ * Checks to see if a window belongs to any groups.
262
+ */
263
+ checkIfWindowIsInGroup(name: string): void;
264
+ /**
265
+ * Sends the update to all toolbars.
266
+ */
267
+ sendAutoArrangeStatusUpdate(): void;
268
+ /**
269
+ * @private
270
+ * @param {LauncherClient~windowDescriptor} windowDescriptor
271
+ * @param {monitorDimensions} monitorDimensions
272
+ * @returns {boolean} Whether window is on the current monitor.
273
+ */
274
+ windowOnMonitor(windowDescriptor: any, monitorDimensions: any): boolean;
275
+ /**
276
+ * Get bounds for a window.
277
+ */
278
+ getBounds(params: any, cb?: Function): BoxCoordinates;
279
+ deregisterAllWindows(): Promise<void>;
280
+ getMouseInGroups(mousePosition: VirtualScreenCoordinates): Promise<{
281
+ movableGroups: DockableGroup[];
282
+ immobileGroups: DockableGroup[];
283
+ }>;
284
+ getMouseInWindows(mousePosition: any): Promise<DockableWindow[]>;
285
+ startTrackingMouse(interval: any, cb?: Function): void;
286
+ stopTrackingMouse(cb: any): void;
287
+ /**
288
+ * Check if we are near the edge of a rectangle within x% or xpx
289
+ * Returns the edge that we're nearest or false if we're not within range of any edge
290
+ */
291
+ isPositionNearEdge(position: any, bounds: any, tolerance: any, toleranceType?: string): string | false;
292
+ identifierForTilingOrTabbing(err: any, response: any): void;
293
+ private setSwap;
294
+ /**
295
+ * Returns true if the tiling operation is set (false if the window dimensions make it invalid)
296
+ */
297
+ private setTiling;
298
+ private setTilingGroup;
299
+ private relations;
300
+ private maybeSetOperation;
301
+ private didNotFindAGroupTile;
302
+ private handleNotTabbing;
303
+ runScrimShower(edge: string, bounds: CompleteBounds): {
304
+ maskBounds: {
305
+ left: number;
306
+ top: number;
307
+ right: number;
308
+ bottom: number;
309
+ width: number;
310
+ height: number;
311
+ };
312
+ newWindowBounds: {
313
+ left: number;
314
+ top: number;
315
+ right: number;
316
+ bottom: number;
317
+ width: number;
318
+ height: number;
319
+ };
320
+ } | undefined;
321
+ private areWeTabbing;
322
+ /**
323
+ * Checks if mousePosition is in group or window
324
+ */
325
+ private boundsChecker;
326
+ startTilingOrTabbing(err: any, response: any, sourceWin?: FSBLWindow): void;
327
+ cancelTilingOrTabbing(): void;
328
+ buildSnapRelationshipsForGroup(group: any): void;
329
+ getFillHolesFor(sourceWindow: any): DockableGroup[];
330
+ fillHoles(group: DockableGroup, bounds: BoxCoordinates): Promise<void>;
331
+ actualStopTilingRequestMove({ sourceWindow, placement, groupNames, fillHolesFor, operation, oldBounds, }: {
332
+ sourceWindow: any;
333
+ placement: any;
334
+ groupNames: string[];
335
+ fillHolesFor: DockableGroup[];
336
+ operation: any;
337
+ oldBounds: any;
338
+ }): void;
339
+ actualStopTiling(params: any, fillHolesFor: DockableGroup[], sourceWindow: any): void;
340
+ actualStopSwapping(sourceWindow: any, operation: any): void;
341
+ actualStopDetaching(fillHolesFor: DockableGroup[], sourceWindow: any, operation: any, mousePosition: any): void;
342
+ actualStopTabbing(fillHolesFor: DockableGroup[], sourceWindow: any): void;
343
+ actualStopTilingOrTabbing(params: any, callback: any): void;
344
+ stopTilingOrTabbing(err: any, response: any, callback: any): void;
345
+ private maybeAssimilationFailed;
346
+ initialize(): Promise<void>;
347
+ }
348
+ export default DockingMain;
349
+ //# sourceMappingURL=dockingMain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dockingMain.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/services/window/Docking/dockingMain.ts"],"names":[],"mappings":"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"}