@finsemble/finsemble-ui 6.6.1 → 7.0.0-beta.3

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 (262) hide show
  1. package/package.json +18 -32
  2. package/react/assets/css/button.css +1 -1
  3. package/react/assets/css/favorites.css +0 -47
  4. package/react/assets/css/finsemble.css +3 -0
  5. package/react/assets/css/linkerWindow.css +13 -1
  6. package/react/assets/css/menus.css +2 -2
  7. package/react/assets/css/notificationsCenter.css +32 -1
  8. package/react/assets/css/shared/common.css +40 -0
  9. package/react/assets/css/userPreferences.css +17 -12
  10. package/react/assets/css/windowTitleBar.css +7 -0
  11. package/react/assets/icons/server.svg +26 -0
  12. package/react/components/common/ButtonIcon.js +1 -1
  13. package/react/components/common/ButtonIcon.js.map +1 -1
  14. package/react/components/common/ButtonRow.js +2 -2
  15. package/react/components/common/ButtonRow.js.map +1 -1
  16. package/react/components/common/Checkbox.js +1 -1
  17. package/react/components/common/Checkbox.js.map +1 -1
  18. package/react/components/common/ColorPicker.js +16 -15
  19. package/react/components/common/ColorPicker.js.map +1 -1
  20. package/react/components/common/ErrorBoundary.d.ts +16 -0
  21. package/react/components/common/ErrorBoundary.js +22 -0
  22. package/react/components/common/ErrorBoundary.js.map +1 -0
  23. package/react/components/common/FinsembleIcon.d.ts +3 -2
  24. package/react/components/common/FinsembleIcon.js +10 -3
  25. package/react/components/common/FinsembleIcon.js.map +1 -1
  26. package/react/components/common/FinsembleLink.d.ts +6 -0
  27. package/react/components/common/FinsembleLink.js +12 -0
  28. package/react/components/common/FinsembleLink.js.map +1 -0
  29. package/react/components/common/FinsembleToggle.d.ts +1 -2
  30. package/react/components/common/FinsembleToggle.js +2 -6
  31. package/react/components/common/FinsembleToggle.js.map +1 -1
  32. package/react/components/common/FinsembleToggleButtonBar.d.ts +13 -0
  33. package/react/components/common/FinsembleToggleButtonBar.js +44 -0
  34. package/react/components/common/FinsembleToggleButtonBar.js.map +1 -0
  35. package/react/components/common/InputTable.d.ts +3 -3
  36. package/react/components/common/InputTable.js +13 -13
  37. package/react/components/common/InputTable.js.map +1 -1
  38. package/react/components/common/Tab.js +33 -5
  39. package/react/components/common/Tab.js.map +1 -1
  40. package/react/components/common/css/FinsembleToggle.css +22 -0
  41. package/react/components/common/css/application-edit-page.css +10 -2
  42. package/react/components/common/css/tab.css +8 -8
  43. package/react/components/common/css/time-select.css +1 -1
  44. package/react/components/common/css/toggle.css +2 -10
  45. package/react/components/common/helpers.js +6 -1
  46. package/react/components/common/helpers.js.map +1 -1
  47. package/react/components/common/stories/ColorPicker.stories.js +6 -11
  48. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  49. package/react/components/common/stories/FinsembleToggle.stories.d.ts +1 -2
  50. package/react/components/common/stories/FinsembleToggle.stories.js +0 -7
  51. package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
  52. package/react/components/common/stories/FinsembleToggleButtonBar.stories.d.ts +14 -0
  53. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js +97 -0
  54. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js.map +1 -0
  55. package/react/components/common/stories/InputTable.stories.d.ts +4 -3
  56. package/react/components/common/stories/InputTable.stories.js +18 -8
  57. package/react/components/common/stories/InputTable.stories.js.map +1 -1
  58. package/react/components/common/tests/ButtonRow.spec.js +5 -0
  59. package/react/components/common/tests/ButtonRow.spec.js.map +1 -1
  60. package/react/components/common/tests/FinsembleToggle.spec.js +1 -6
  61. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  62. package/react/components/common/tests/FinsembleToggleButtonBar.spec.d.ts +1 -0
  63. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js +40 -0
  64. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js.map +1 -0
  65. package/react/components/common/tests/InputTable.spec.js +3 -3
  66. package/react/components/common/tests/InputTable.spec.js.map +1 -1
  67. package/react/components/favorites/FavoriteMaker.js +1 -1
  68. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  69. package/react/components/fdc3Resolver/ResolverContainer.js +4 -7
  70. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  71. package/react/components/icon/Icon.d.ts +1 -1
  72. package/react/components/icon/Icon.js +8 -1
  73. package/react/components/icon/Icon.js.map +1 -1
  74. package/react/components/legacyControls/FinsembleDnDContext.js +7 -7
  75. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  76. package/react/components/linker/remoteRedux.js +1 -0
  77. package/react/components/linker/remoteRedux.js.map +1 -1
  78. package/react/components/menu/MenuItem.js +1 -1
  79. package/react/components/menu/MenuItem.js.map +1 -1
  80. package/react/components/menu/MenuPortal.js +12 -21
  81. package/react/components/menu/MenuPortal.js.map +1 -1
  82. package/react/components/menu/MenuToggle.js +1 -1
  83. package/react/components/menu/MenuToggle.js.map +1 -1
  84. package/react/components/menu/keyboardNavigation.d.ts +1 -22
  85. package/react/components/menu/keyboardNavigation.js +110 -160
  86. package/react/components/menu/keyboardNavigation.js.map +1 -1
  87. package/react/components/notifications/components/drawer/DrawerControls.js +39 -25
  88. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  89. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +19 -6
  90. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  91. package/react/components/notifications/components/shared/CheckButton.js +19 -8
  92. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  93. package/react/components/notifications/components/shared/NotificationCardShell.js +2 -1
  94. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  95. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js +2 -1
  96. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  97. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js +2 -1
  98. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  99. package/react/components/notifications/components/views/CardView.js +5 -3
  100. package/react/components/notifications/components/views/CardView.js.map +1 -1
  101. package/react/components/notifications/components/views/ListView.js +3 -1
  102. package/react/components/notifications/components/views/ListView.js.map +1 -1
  103. package/react/components/notifications/types.d.ts +3 -0
  104. package/react/components/notifications/types.js.map +1 -1
  105. package/react/components/processMonitor/ProcessMonitor.js +4 -1
  106. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  107. package/react/components/processMonitor/components/ProcessStatistics.js +1 -3
  108. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  109. package/react/components/processMonitor/helpers.js +4 -3
  110. package/react/components/processMonitor/helpers.js.map +1 -1
  111. package/react/components/processMonitor/helpers.spec.js +7 -3
  112. package/react/components/processMonitor/helpers.spec.js.map +1 -1
  113. package/react/components/sdd/AddApp.d.ts +4 -3
  114. package/react/components/sdd/AddApp.js +132 -30
  115. package/react/components/sdd/AddApp.js.map +1 -1
  116. package/react/components/sdd/AppEditAccess.d.ts +4 -3
  117. package/react/components/sdd/AppEditAccess.js.map +1 -1
  118. package/react/components/sdd/AppEditPage.d.ts +4 -3
  119. package/react/components/sdd/AppEditPage.js +141 -116
  120. package/react/components/sdd/AppEditPage.js.map +1 -1
  121. package/react/components/sdd/Appearance.d.ts +2 -1
  122. package/react/components/sdd/Appearance.js +15 -7
  123. package/react/components/sdd/Appearance.js.map +1 -1
  124. package/react/components/sdd/Application.d.ts +5 -4
  125. package/react/components/sdd/Application.js +61 -42
  126. package/react/components/sdd/Application.js.map +1 -1
  127. package/react/components/sdd/Applications.d.ts +12 -11
  128. package/react/components/sdd/Applications.js +23 -4
  129. package/react/components/sdd/Applications.js.map +1 -1
  130. package/react/components/sdd/Authentication.js +1 -6
  131. package/react/components/sdd/Authentication.js.map +1 -1
  132. package/react/components/sdd/AuthenticationProviderConfig.js +5 -3
  133. package/react/components/sdd/AuthenticationProviderConfig.js.map +1 -1
  134. package/react/components/sdd/EditPreload.d.ts +4 -3
  135. package/react/components/sdd/EditPreload.js +39 -22
  136. package/react/components/sdd/EditPreload.js.map +1 -1
  137. package/react/components/sdd/Export.d.ts +7 -6
  138. package/react/components/sdd/Export.js +3 -2
  139. package/react/components/sdd/Export.js.map +1 -1
  140. package/react/components/sdd/GettingStarted.js +3 -3
  141. package/react/components/sdd/GettingStarted.js.map +1 -1
  142. package/react/components/sdd/Navigation.js +28 -4
  143. package/react/components/sdd/Navigation.js.map +1 -1
  144. package/react/components/sdd/OptionalSettingsView.d.ts +6 -5
  145. package/react/components/sdd/OptionalSettingsView.js +2 -10
  146. package/react/components/sdd/OptionalSettingsView.js.map +1 -1
  147. package/react/components/sdd/ProjectErrors.js +1 -1
  148. package/react/components/sdd/ProjectErrors.js.map +1 -1
  149. package/react/components/sdd/Publish.js +2 -2
  150. package/react/components/sdd/Publish.js.map +1 -1
  151. package/react/components/sdd/SmartDesktopDesigner.d.ts +17 -16
  152. package/react/components/sdd/SmartDesktopDesigner.js +37 -34
  153. package/react/components/sdd/SmartDesktopDesigner.js.map +1 -1
  154. package/react/components/sdd/ThemePage.js +8 -5
  155. package/react/components/sdd/ThemePage.js.map +1 -1
  156. package/react/components/sdd/Themes.d.ts +2 -1
  157. package/react/components/sdd/Themes.js +2 -2
  158. package/react/components/sdd/Themes.js.map +1 -1
  159. package/react/components/sdd/Toolbar.d.ts +5 -4
  160. package/react/components/sdd/Toolbar.js +11 -9
  161. package/react/components/sdd/Toolbar.js.map +1 -1
  162. package/react/components/sdd/common/setPreloadDefaults.d.ts +1 -1
  163. package/react/components/sdd/common/setPreloadDefaults.js +5 -4
  164. package/react/components/sdd/common/setPreloadDefaults.js.map +1 -1
  165. package/react/components/sdd/common/views.js +7 -4
  166. package/react/components/sdd/common/views.js.map +1 -1
  167. package/react/components/sdd/css/addApp.css +52 -0
  168. package/react/components/sdd/css/applications.css +4 -24
  169. package/react/components/sdd/css/nav.css +3 -3
  170. package/react/components/sdd/fixtures/authenticationProps.js +15 -1
  171. package/react/components/sdd/fixtures/authenticationProps.js.map +1 -1
  172. package/react/components/sdd/fixtures/preloads.js +14 -12
  173. package/react/components/sdd/fixtures/preloads.js.map +1 -1
  174. package/react/components/sdd/smartDesktopClient.d.ts +163 -0
  175. package/react/components/sdd/smartDesktopClient.js +573 -0
  176. package/react/components/sdd/smartDesktopClient.js.map +1 -0
  177. package/react/components/sdd/smartDesktopClient.spec.d.ts +1 -0
  178. package/react/components/sdd/smartDesktopClient.spec.js +61 -0
  179. package/react/components/sdd/smartDesktopClient.spec.js.map +1 -0
  180. package/react/components/sdd/stories/AddApp.stories.d.ts +10 -0
  181. package/react/components/sdd/stories/AddApp.stories.js +18 -0
  182. package/react/components/sdd/stories/AddApp.stories.js.map +1 -0
  183. package/react/components/sdd/stories/AppEditPage.stories.d.ts +2 -0
  184. package/react/components/sdd/stories/AppEditPage.stories.js +2 -0
  185. package/react/components/sdd/stories/AppEditPage.stories.js.map +1 -1
  186. package/react/components/sdd/stories/Appearance.stories.d.ts +1 -1
  187. package/react/components/sdd/stories/Appearance.stories.js +1 -0
  188. package/react/components/sdd/stories/Appearance.stories.js.map +1 -1
  189. package/react/components/sdd/stories/Authentication.stories.js +2 -16
  190. package/react/components/sdd/stories/Authentication.stories.js.map +1 -1
  191. package/react/components/sdd/stories/OptionalSettingsView.stories.js +1 -1
  192. package/react/components/sdd/stories/OptionalSettingsView.stories.js.map +1 -1
  193. package/react/components/sdd/stories/SmartDesktopDesigner.stories.d.ts +1 -1
  194. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js +3 -0
  195. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js.map +1 -1
  196. package/react/components/sdd/stories/Themes.stories.d.ts +1 -1
  197. package/react/components/sdd/stories/Themes.stories.js +1 -0
  198. package/react/components/sdd/stories/Themes.stories.js.map +1 -1
  199. package/react/components/sdd/tests/AddApp.spec.d.ts +1 -0
  200. package/react/components/sdd/tests/AddApp.spec.js +96 -0
  201. package/react/components/sdd/tests/AddApp.spec.js.map +1 -0
  202. package/react/components/sdd/tests/AppEditPage.spec.js +92 -23
  203. package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -1
  204. package/react/components/sdd/tests/Application.spec.js +411 -24
  205. package/react/components/sdd/tests/Application.spec.js.map +1 -1
  206. package/react/components/sdd/tests/Applications.spec.js +1 -45
  207. package/react/components/sdd/tests/Applications.spec.js.map +1 -1
  208. package/react/components/sdd/tests/Authentication.spec.js +1 -1
  209. package/react/components/sdd/tests/Authentication.spec.js.map +1 -1
  210. package/react/components/sdd/tests/EditPreload.spec.js +50 -7
  211. package/react/components/sdd/tests/EditPreload.spec.js.map +1 -1
  212. package/react/components/sdd/tests/Navigation.spec.js +2 -2
  213. package/react/components/sdd/tests/Navigation.spec.js.map +1 -1
  214. package/react/components/sdd/tests/OptionalSettingsView.spec.js +235 -0
  215. package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +1 -1
  216. package/react/components/sdd/tests/ProjectErrors.spec.js +1 -1
  217. package/react/components/sdd/tests/ProjectErrors.spec.js.map +1 -1
  218. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js +2 -2
  219. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js.map +1 -1
  220. package/react/components/search/Search.js +1 -1
  221. package/react/components/search/Search.js.map +1 -1
  222. package/react/components/shared/DefaultDropdownButton.js +12 -1
  223. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  224. package/react/components/shared/tests/DefaultDropdownButton.spec.js +12 -0
  225. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
  226. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +1 -16
  227. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +0 -4
  228. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  229. package/react/components/toolbar/DragHandle.stories.js.map +1 -1
  230. package/react/components/toolbar/ToolbarIcon.js +2 -2
  231. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  232. package/react/components/toolbar/ToolbarSection.d.ts +1 -9
  233. package/react/components/toolbar/ToolbarSection.js +3 -7
  234. package/react/components/toolbar/ToolbarSection.js.map +1 -1
  235. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +1 -1
  236. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  237. package/react/components/toolbar/dashbar/Dashbar.js +21 -12
  238. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  239. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +1 -1
  240. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  241. package/react/components/userPreferences/components/ContentSection.js +1 -1
  242. package/react/components/userPreferences/components/ContentSection.js.map +1 -1
  243. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +4 -3
  244. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  245. package/react/components/userPreferences/components/general/ScheduledClose.js +12 -3
  246. package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
  247. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +1 -1
  248. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
  249. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +17 -2
  250. package/react/components/windowTitleBar/WindowTitleBarShell.js +160 -6
  251. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  252. package/react/components/windowTitleBar/components/left/LinkerButton.js +7 -1
  253. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  254. package/react/components/windowTitleBar/components/windowTitle.js +10 -2
  255. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  256. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +11 -1
  257. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  258. package/react/reducers/rootReducer.d.ts +2 -2
  259. package/react/store.d.ts +4 -4
  260. package/react/tsconfig.tsbuildinfo +1 -0
  261. package/react/types/smartDesktopDesignerTypes.d.ts +3 -0
  262. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
@@ -166,6 +166,7 @@ describe("appConfigToAppData", () => {
166
166
  expect(appConfigToAppData(appConfig)).to.deep.equal({
167
167
  abstractPosition: 0,
168
168
  addToWorkspace: true,
169
+ alias: "",
169
170
  allowAutoArrange: true,
170
171
  allowGrouping: true,
171
172
  allowMaximize: true,
@@ -178,6 +179,7 @@ describe("appConfigToAppData", () => {
178
179
  appType: "application",
179
180
  autoConnect: true,
180
181
  description: "test",
182
+ enableAffinity: true,
181
183
  enableAOT: true,
182
184
  enableTitleBar: false,
183
185
  height: "",
@@ -200,6 +202,7 @@ describe("appConfigToAppData", () => {
200
202
  security: "trusted",
201
203
  singleton: true,
202
204
  spawnOnStartup: false,
205
+ titlebarType: "injected",
203
206
  url: "",
204
207
  width: "",
205
208
  });
@@ -248,6 +251,7 @@ describe("appConfigToAppData", () => {
248
251
  expect(appConfigToAppData(appConfig)).to.deep.equal({
249
252
  abstractPosition: 0,
250
253
  addToWorkspace: true,
254
+ alias: "",
251
255
  allowAutoArrange: true,
252
256
  allowGrouping: true,
253
257
  allowMaximize: true,
@@ -256,10 +260,11 @@ describe("appConfigToAppData", () => {
256
260
  allowTabbing: true,
257
261
  allowTiling: true,
258
262
  alwaysOnTop: false,
259
- appArguments: undefined,
260
- appType: undefined,
263
+ appArguments: "",
264
+ appType: "",
261
265
  autoConnect: true,
262
266
  description: "Development and test tool for FDC3 desktop agents and apps",
267
+ enableAffinity: true,
263
268
  enableAOT: false,
264
269
  enableTitleBar: true,
265
270
  height: 750,
@@ -273,14 +278,15 @@ describe("appConfigToAppData", () => {
273
278
  name: "FDC3 workbench",
274
279
  native_windowSpawnTimeout: 30,
275
280
  opacity: 1,
276
- path: undefined,
281
+ path: "",
277
282
  persistPath: false,
278
283
  persistURL: false,
279
284
  resizable: true,
280
- rules: undefined,
285
+ rules: [],
281
286
  security: "trusted",
282
287
  singleton: false,
283
288
  spawnOnStartup: false,
289
+ titlebarType: "injected",
284
290
  preloads: [],
285
291
  url: "http://fdc3.finos.org/toolbox/fdc3-workbench",
286
292
  width: 800,
@@ -350,6 +356,7 @@ describe("appConfigToAppData", () => {
350
356
  expect(appConfigToAppData(appConfig)).to.deep.equal({
351
357
  abstractPosition: 0,
352
358
  addToWorkspace: true,
359
+ alias: "",
353
360
  allowAutoArrange: true,
354
361
  allowGrouping: true,
355
362
  allowMaximize: true,
@@ -358,10 +365,11 @@ describe("appConfigToAppData", () => {
358
365
  allowTabbing: true,
359
366
  allowTiling: true,
360
367
  alwaysOnTop: false,
361
- appArguments: undefined,
362
- appType: undefined,
368
+ appArguments: "",
369
+ appType: "",
363
370
  autoConnect: true,
364
371
  description: "Visualize market data in the leading FDC3 compliant technical chart.",
372
+ enableAffinity: true,
365
373
  enableAOT: false,
366
374
  enableTitleBar: true,
367
375
  height: 600,
@@ -381,7 +389,7 @@ describe("appConfigToAppData", () => {
381
389
  name: "ChartIQ Example App",
382
390
  native_windowSpawnTimeout: 30,
383
391
  opacity: 1,
384
- path: undefined,
392
+ path: "",
385
393
  persistPath: false,
386
394
  persistURL: false,
387
395
  preloads: [],
@@ -399,6 +407,7 @@ describe("appConfigToAppData", () => {
399
407
  security: "trusted",
400
408
  singleton: false,
401
409
  spawnOnStartup: false,
410
+ titlebarType: "injected",
402
411
  url: "https://assets.finsemble.com/components/chart/technical-analysis-chart.html",
403
412
  width: 800,
404
413
  });
@@ -452,6 +461,7 @@ describe("appConfigToAppData", () => {
452
461
  expect(appConfigToAppData(appConfig)).to.deep.equal({
453
462
  abstractPosition: 0,
454
463
  addToWorkspace: true,
464
+ alias: "",
455
465
  allowAutoArrange: true,
456
466
  allowGrouping: true,
457
467
  allowMaximize: true,
@@ -460,10 +470,11 @@ describe("appConfigToAppData", () => {
460
470
  allowTabbing: true,
461
471
  allowTiling: true,
462
472
  alwaysOnTop: false,
463
- appArguments: undefined,
464
- appType: undefined,
473
+ appArguments: "",
474
+ appType: "",
465
475
  autoConnect: true,
466
476
  description: "Organize data with FDC3 compliant blotters built on AG Grid",
477
+ enableAffinity: true,
467
478
  enableAOT: false,
468
479
  enableTitleBar: true,
469
480
  height: 600,
@@ -477,7 +488,7 @@ describe("appConfigToAppData", () => {
477
488
  name: "AG-Grid Example Blotter",
478
489
  native_windowSpawnTimeout: 30,
479
490
  opacity: 1,
480
- path: undefined,
491
+ path: "",
481
492
  persistPath: false,
482
493
  persistURL: false,
483
494
  preloads: [],
@@ -491,6 +502,7 @@ describe("appConfigToAppData", () => {
491
502
  security: "trusted",
492
503
  singleton: false,
493
504
  spawnOnStartup: false,
505
+ titlebarType: "injected",
494
506
  url: "https://assets.finsemble.com/components/ag-grid/index.html",
495
507
  width: 1000,
496
508
  });
@@ -504,6 +516,7 @@ describe("appConfigToAppData", () => {
504
516
  expect(appConfigToAppData(appConfig)).to.deep.equal({
505
517
  abstractPosition: 0,
506
518
  addToWorkspace: true,
519
+ alias: "",
507
520
  allowAutoArrange: true,
508
521
  allowGrouping: true,
509
522
  allowMaximize: true,
@@ -512,13 +525,14 @@ describe("appConfigToAppData", () => {
512
525
  allowTabbing: true,
513
526
  allowTiling: true,
514
527
  alwaysOnTop: false,
515
- appArguments: undefined,
516
- appType: undefined,
528
+ appArguments: "",
529
+ appType: "",
517
530
  autoConnect: true,
518
531
  description: "test",
532
+ enableAffinity: true,
519
533
  enableAOT: false,
520
534
  enableTitleBar: true,
521
- height: undefined,
535
+ height: "",
522
536
  hideClose: false,
523
537
  hideMaximize: false,
524
538
  hideMinimize: false,
@@ -529,17 +543,18 @@ describe("appConfigToAppData", () => {
529
543
  name: "test",
530
544
  native_windowSpawnTimeout: 30,
531
545
  opacity: 1,
532
- path: undefined,
546
+ path: "",
533
547
  persistPath: false,
534
548
  persistURL: false,
535
549
  preloads: [],
536
550
  resizable: true,
537
- rules: undefined,
551
+ rules: [],
538
552
  security: "trusted",
539
553
  singleton: false,
540
554
  spawnOnStartup: false,
541
- url: undefined,
542
- width: undefined,
555
+ titlebarType: "injected",
556
+ url: "",
557
+ width: "",
543
558
  });
544
559
  });
545
560
  it("with no manifest.window", () => {
@@ -588,6 +603,7 @@ describe("appConfigToAppData", () => {
588
603
  expect(appConfigToAppData(appConfig)).to.deep.equal({
589
604
  abstractPosition: 0,
590
605
  addToWorkspace: true,
606
+ alias: "",
591
607
  allowAutoArrange: true,
592
608
  allowGrouping: true,
593
609
  allowMaximize: true,
@@ -596,13 +612,14 @@ describe("appConfigToAppData", () => {
596
612
  allowTabbing: true,
597
613
  allowTiling: true,
598
614
  alwaysOnTop: false,
599
- appArguments: undefined,
600
- appType: undefined,
615
+ appArguments: "",
616
+ appType: "",
601
617
  autoConnect: true,
602
618
  description: "test",
619
+ enableAffinity: true,
603
620
  enableAOT: true,
604
621
  enableTitleBar: false,
605
- height: undefined,
622
+ height: "",
606
623
  hideClose: false,
607
624
  hideMaximize: false,
608
625
  hideMinimize: false,
@@ -613,7 +630,7 @@ describe("appConfigToAppData", () => {
613
630
  name: "test",
614
631
  native_windowSpawnTimeout: 30,
615
632
  opacity: 1,
616
- path: undefined,
633
+ path: "",
617
634
  persistPath: false,
618
635
  persistURL: true,
619
636
  preloads: [],
@@ -622,8 +639,9 @@ describe("appConfigToAppData", () => {
622
639
  security: "trusted",
623
640
  singleton: true,
624
641
  spawnOnStartup: false,
625
- url: undefined,
626
- width: undefined,
642
+ titlebarType: "injected",
643
+ url: "",
644
+ width: "",
627
645
  });
628
646
  });
629
647
  it("with no description", () => {
@@ -688,6 +706,7 @@ describe("appConfigToAppData", () => {
688
706
  expect(appConfigToAppData(appConfig)).to.deep.equal({
689
707
  abstractPosition: 0,
690
708
  addToWorkspace: true,
709
+ alias: "",
691
710
  allowAutoArrange: true,
692
711
  allowGrouping: true,
693
712
  allowMaximize: true,
@@ -700,6 +719,7 @@ describe("appConfigToAppData", () => {
700
719
  appType: "application",
701
720
  autoConnect: true,
702
721
  description: "",
722
+ enableAffinity: true,
703
723
  enableAOT: true,
704
724
  enableTitleBar: false,
705
725
  height: "",
@@ -722,6 +742,7 @@ describe("appConfigToAppData", () => {
722
742
  security: "trusted",
723
743
  singleton: true,
724
744
  spawnOnStartup: false,
745
+ titlebarType: "injected",
725
746
  url: "",
726
747
  width: "",
727
748
  });
@@ -788,6 +809,7 @@ describe("appConfigToAppData", () => {
788
809
  expect(appConfigToAppData(appConfig)).to.deep.equal({
789
810
  abstractPosition: 0,
790
811
  addToWorkspace: true,
812
+ alias: "",
791
813
  allowAutoArrange: true,
792
814
  allowGrouping: true,
793
815
  allowMaximize: true,
@@ -800,6 +822,7 @@ describe("appConfigToAppData", () => {
800
822
  appType: "application",
801
823
  autoConnect: true,
802
824
  description: "test",
825
+ enableAffinity: true,
803
826
  enableAOT: true,
804
827
  enableTitleBar: false,
805
828
  height: "",
@@ -822,6 +845,7 @@ describe("appConfigToAppData", () => {
822
845
  security: "trusted",
823
846
  singleton: true,
824
847
  spawnOnStartup: false,
848
+ titlebarType: "injected",
825
849
  url: "",
826
850
  width: "",
827
851
  });
@@ -880,6 +904,7 @@ describe("appConfigToAppData", () => {
880
904
  expect(appConfigToAppData(appConfig)).to.deep.equal({
881
905
  abstractPosition: 0,
882
906
  addToWorkspace: true,
907
+ alias: "",
883
908
  allowAutoArrange: true,
884
909
  allowGrouping: true,
885
910
  allowMaximize: true,
@@ -892,6 +917,7 @@ describe("appConfigToAppData", () => {
892
917
  appType: "application",
893
918
  autoConnect: true,
894
919
  description: "test",
920
+ enableAffinity: true,
895
921
  enableAOT: true,
896
922
  enableTitleBar: false,
897
923
  height: "",
@@ -914,6 +940,77 @@ describe("appConfigToAppData", () => {
914
940
  security: "trusted",
915
941
  singleton: true,
916
942
  spawnOnStartup: false,
943
+ titlebarType: "injected",
944
+ url: "",
945
+ width: "",
946
+ });
947
+ });
948
+ it("citrix test", () => {
949
+ const appConfig = {
950
+ appId: "Citrix TestApp3 UAT",
951
+ name: "Citrix TestApp3 UAT",
952
+ manifest: {
953
+ window: {
954
+ windowType: "Citrix",
955
+ alias: "TestApp3 UAT",
956
+ arguments: "debug=True&url=https://assets.finsemble.com/test/WPFExampleCore.zip",
957
+ },
958
+ foreign: {
959
+ components: {
960
+ "App Launcher": {
961
+ launchableByUser: true,
962
+ },
963
+ },
964
+ },
965
+ intents: [
966
+ {
967
+ name: "ViewChart",
968
+ displayName: "View Chart",
969
+ contexts: ["fdc3.instrument"],
970
+ },
971
+ ],
972
+ },
973
+ };
974
+ expect(appConfigToAppData(appConfig)).to.deep.equal({
975
+ abstractPosition: 0,
976
+ addToWorkspace: true,
977
+ alias: "TestApp3 UAT",
978
+ allowAutoArrange: true,
979
+ allowGrouping: true,
980
+ allowMaximize: true,
981
+ allowMinimize: true,
982
+ allowSnapping: true,
983
+ allowTabbing: true,
984
+ allowTiling: true,
985
+ alwaysOnTop: false,
986
+ appArguments: "debug=True&url=https://assets.finsemble.com/test/WPFExampleCore.zip",
987
+ appType: "Citrix",
988
+ autoConnect: true,
989
+ description: "",
990
+ enableAffinity: true,
991
+ enableAOT: false,
992
+ enableTitleBar: true,
993
+ height: "",
994
+ hideClose: false,
995
+ hideMaximize: false,
996
+ hideMinimize: false,
997
+ iconURL: "",
998
+ intents: [],
999
+ isEvergreen: false,
1000
+ launchableByUser: true,
1001
+ name: "Citrix TestApp3 UAT",
1002
+ native_windowSpawnTimeout: 30,
1003
+ opacity: 1,
1004
+ path: "",
1005
+ persistURL: false,
1006
+ persistPath: false,
1007
+ preloads: [],
1008
+ resizable: true,
1009
+ rules: [],
1010
+ security: "trusted",
1011
+ singleton: false,
1012
+ spawnOnStartup: false,
1013
+ titlebarType: "injected",
917
1014
  url: "",
918
1015
  width: "",
919
1016
  });
@@ -948,6 +1045,7 @@ describe("appDataToAppConfig", () => {
948
1045
  const appData = {
949
1046
  abstractPosition: 0,
950
1047
  addToWorkspace: true,
1048
+ alias: "",
951
1049
  allowAutoArrange: true,
952
1050
  allowGrouping: true,
953
1051
  allowMaximize: true,
@@ -960,6 +1058,7 @@ describe("appDataToAppConfig", () => {
960
1058
  appType: "web",
961
1059
  autoConnect: true,
962
1060
  description: "test",
1061
+ enableAffinity: true,
963
1062
  enableAOT: true,
964
1063
  enableTitleBar: false,
965
1064
  height: "",
@@ -981,6 +1080,7 @@ describe("appDataToAppConfig", () => {
981
1080
  security: "trusted",
982
1081
  singleton: true,
983
1082
  spawnOnStartup: false,
1083
+ titlebarType: "injected",
984
1084
  url: "http://www.google.com",
985
1085
  width: "",
986
1086
  preloads: ["zoom"],
@@ -1005,6 +1105,7 @@ describe("appDataToAppConfig", () => {
1005
1105
  FSBLHeader: false,
1006
1106
  alwaysOnTopIcon: true,
1007
1107
  persistWindowState: true,
1108
+ titlebarType: "injected",
1008
1109
  },
1009
1110
  },
1010
1111
  services: {
@@ -1047,10 +1148,123 @@ describe("appDataToAppConfig", () => {
1047
1148
  version: "1",
1048
1149
  });
1049
1150
  });
1151
+ it("appType: Citrix", () => {
1152
+ const appData = {
1153
+ abstractPosition: 0,
1154
+ addToWorkspace: true,
1155
+ alias: "TestApp3 UAT",
1156
+ allowAutoArrange: true,
1157
+ allowGrouping: true,
1158
+ allowMaximize: true,
1159
+ allowMinimize: true,
1160
+ allowSnapping: true,
1161
+ allowTabbing: true,
1162
+ allowTiling: true,
1163
+ alwaysOnTop: true,
1164
+ appArguments: "debug=True&url=https://assets.finsemble.com/test/WPFExampleCore.zip",
1165
+ appType: "Citrix",
1166
+ autoConnect: true,
1167
+ description: "",
1168
+ enableAOT: true,
1169
+ enableTitleBar: true,
1170
+ height: "",
1171
+ hideClose: false,
1172
+ hideMaximize: false,
1173
+ hideMinimize: false,
1174
+ iconURL: "",
1175
+ intents: [],
1176
+ isEvergreen: true,
1177
+ launchableByUser: true,
1178
+ name: "Citrix TestApp3 UAT",
1179
+ native_windowSpawnTimeout: 60,
1180
+ opacity: 1,
1181
+ path: "",
1182
+ persistURL: true,
1183
+ persistPath: false,
1184
+ resizable: true,
1185
+ rules: [],
1186
+ security: "trusted",
1187
+ singleton: true,
1188
+ spawnOnStartup: false,
1189
+ titlebarType: "injected",
1190
+ url: "",
1191
+ width: "",
1192
+ preloads: [],
1193
+ };
1194
+ expect(appDataToAppConfig(configTemplate, appData, "Citrix TestApp3 UAT")).to.deep.equal({
1195
+ appId: "Citrix TestApp3 UAT",
1196
+ name: "Citrix TestApp3 UAT",
1197
+ description: "",
1198
+ intents: [],
1199
+ icons: [],
1200
+ manifest: {
1201
+ component: {
1202
+ singleton: true,
1203
+ spawnOnStartup: false,
1204
+ preload: [],
1205
+ },
1206
+ foreign: {
1207
+ components: {
1208
+ "App Launcher": {
1209
+ launchableByUser: true,
1210
+ },
1211
+ "Window Manager": {
1212
+ FSBLHeader: {
1213
+ hideClose: false,
1214
+ hideMaximize: false,
1215
+ hideMinimize: false,
1216
+ },
1217
+ alwaysOnTopIcon: true,
1218
+ persistWindowState: true,
1219
+ titlebarType: "injected",
1220
+ },
1221
+ },
1222
+ services: {
1223
+ windowService: {
1224
+ allowAutoArrange: true,
1225
+ allowGrouping: true,
1226
+ allowMaximize: true,
1227
+ allowMinimize: true,
1228
+ allowSnapping: true,
1229
+ allowTabbing: true,
1230
+ allowTiling: true,
1231
+ },
1232
+ workspace: {
1233
+ persistPath: false,
1234
+ persistURL: true,
1235
+ },
1236
+ },
1237
+ },
1238
+ interop: {
1239
+ autoConnect: true,
1240
+ selectConnect: [],
1241
+ },
1242
+ window: {
1243
+ addToWorkspace: true,
1244
+ affinity: "false",
1245
+ height: "",
1246
+ windowType: "Citrix",
1247
+ arguments: "debug=True&url=https://assets.finsemble.com/test/WPFExampleCore.zip",
1248
+ options: {
1249
+ alwaysOnTop: true,
1250
+ isEvergreen: true,
1251
+ opacity: 1,
1252
+ resizable: true,
1253
+ securityPolicy: "trusted",
1254
+ windowSpawnTimeout: 60,
1255
+ },
1256
+ width: "",
1257
+ },
1258
+ },
1259
+ manifestType: "finsemble",
1260
+ version: "1",
1261
+ });
1262
+ });
1050
1263
  it("appType: native", () => {
1051
1264
  const appData = {
1052
1265
  abstractPosition: 0,
1053
1266
  addToWorkspace: true,
1267
+ alias: "",
1054
1268
  allowAutoArrange: true,
1055
1269
  allowGrouping: true,
1056
1270
  allowMaximize: true,
@@ -1063,6 +1277,7 @@ describe("appDataToAppConfig", () => {
1063
1277
  appType: "native",
1064
1278
  autoConnect: true,
1065
1279
  description: "test",
1280
+ enableAffinity: true,
1066
1281
  enableAOT: true,
1067
1282
  enableTitleBar: false,
1068
1283
  height: "",
@@ -1084,6 +1299,7 @@ describe("appDataToAppConfig", () => {
1084
1299
  security: "trusted",
1085
1300
  singleton: true,
1086
1301
  spawnOnStartup: false,
1302
+ titlebarType: "injected",
1087
1303
  url: "",
1088
1304
  width: "",
1089
1305
  preloads: [],
@@ -1108,6 +1324,7 @@ describe("appDataToAppConfig", () => {
1108
1324
  FSBLHeader: false,
1109
1325
  alwaysOnTopIcon: true,
1110
1326
  persistWindowState: true,
1327
+ titlebarType: "injected",
1111
1328
  },
1112
1329
  },
1113
1330
  services: {
@@ -1156,6 +1373,7 @@ describe("appDataToAppConfig", () => {
1156
1373
  const appData = {
1157
1374
  abstractPosition: 0,
1158
1375
  addToWorkspace: true,
1376
+ alias: "",
1159
1377
  allowAutoArrange: true,
1160
1378
  allowGrouping: true,
1161
1379
  allowMaximize: true,
@@ -1168,6 +1386,7 @@ describe("appDataToAppConfig", () => {
1168
1386
  appType: "application",
1169
1387
  autoConnect: true,
1170
1388
  description: "test",
1389
+ enableAffinity: true,
1171
1390
  enableAOT: true,
1172
1391
  enableTitleBar: false,
1173
1392
  height: "",
@@ -1189,6 +1408,7 @@ describe("appDataToAppConfig", () => {
1189
1408
  security: "trusted",
1190
1409
  singleton: true,
1191
1410
  spawnOnStartup: false,
1411
+ titlebarType: "injected",
1192
1412
  url: "",
1193
1413
  width: "",
1194
1414
  preloads: [],
@@ -1213,6 +1433,7 @@ describe("appDataToAppConfig", () => {
1213
1433
  FSBLHeader: false,
1214
1434
  alwaysOnTopIcon: true,
1215
1435
  persistWindowState: true,
1436
+ titlebarType: "injected",
1216
1437
  },
1217
1438
  },
1218
1439
  services: {
@@ -1261,6 +1482,7 @@ describe("appDataToAppConfig", () => {
1261
1482
  const appData = {
1262
1483
  abstractPosition: 4,
1263
1484
  addToWorkspace: true,
1485
+ alias: "",
1264
1486
  allowAutoArrange: true,
1265
1487
  allowGrouping: true,
1266
1488
  allowMaximize: true,
@@ -1273,6 +1495,7 @@ describe("appDataToAppConfig", () => {
1273
1495
  appType: "application",
1274
1496
  autoConnect: true,
1275
1497
  description: "test",
1498
+ enableAffinity: true,
1276
1499
  enableAOT: true,
1277
1500
  enableTitleBar: false,
1278
1501
  height: "",
@@ -1294,6 +1517,7 @@ describe("appDataToAppConfig", () => {
1294
1517
  security: "trusted",
1295
1518
  singleton: true,
1296
1519
  spawnOnStartup: false,
1520
+ titlebarType: "injected",
1297
1521
  url: "",
1298
1522
  width: "",
1299
1523
  preloads: [],
@@ -1318,6 +1542,7 @@ describe("appDataToAppConfig", () => {
1318
1542
  FSBLHeader: false,
1319
1543
  alwaysOnTopIcon: true,
1320
1544
  persistWindowState: true,
1545
+ titlebarType: "injected",
1321
1546
  },
1322
1547
  },
1323
1548
  services: {
@@ -1369,6 +1594,7 @@ describe("appDataToAppConfig", () => {
1369
1594
  const appData = {
1370
1595
  abstractPosition: 0,
1371
1596
  addToWorkspace: true,
1597
+ alias: "",
1372
1598
  allowAutoArrange: true,
1373
1599
  allowGrouping: true,
1374
1600
  allowMaximize: true,
@@ -1381,6 +1607,7 @@ describe("appDataToAppConfig", () => {
1381
1607
  appType: "application",
1382
1608
  autoConnect: true,
1383
1609
  description: "test",
1610
+ enableAffinity: true,
1384
1611
  enableAOT: true,
1385
1612
  enableTitleBar: false,
1386
1613
  height: "",
@@ -1402,7 +1629,7 @@ describe("appDataToAppConfig", () => {
1402
1629
  security: "trusted",
1403
1630
  singleton: true,
1404
1631
  spawnOnStartup: false,
1405
- url: "",
1632
+ titlebarType: "injected",
1406
1633
  width: "",
1407
1634
  preloads: [],
1408
1635
  };
@@ -1430,6 +1657,7 @@ describe("appDataToAppConfig", () => {
1430
1657
  FSBLHeader: false,
1431
1658
  alwaysOnTopIcon: true,
1432
1659
  persistWindowState: true,
1660
+ titlebarType: "injected",
1433
1661
  },
1434
1662
  },
1435
1663
  services: {
@@ -1475,4 +1703,163 @@ describe("appDataToAppConfig", () => {
1475
1703
  });
1476
1704
  });
1477
1705
  });
1706
+ describe("affinity", () => {
1707
+ const configTemplate = {
1708
+ appId: "123",
1709
+ name: "",
1710
+ manifest: {
1711
+ window: {
1712
+ url: "",
1713
+ width: 1280,
1714
+ height: 600,
1715
+ },
1716
+ foreign: {
1717
+ components: {
1718
+ "App Launcher": {
1719
+ launchableByUser: true,
1720
+ },
1721
+ "Window Manager": {
1722
+ persistWindowState: true,
1723
+ FSBLHeader: true,
1724
+ },
1725
+ },
1726
+ },
1727
+ },
1728
+ manifestType: "finsemble",
1729
+ version: "1",
1730
+ };
1731
+ const appData = {
1732
+ abstractPosition: 0,
1733
+ addToWorkspace: true,
1734
+ alias: "",
1735
+ allowAutoArrange: true,
1736
+ allowGrouping: true,
1737
+ allowMaximize: true,
1738
+ allowMinimize: true,
1739
+ allowSnapping: true,
1740
+ allowTabbing: true,
1741
+ allowTiling: true,
1742
+ alwaysOnTop: true,
1743
+ appArguments: "",
1744
+ appType: "web",
1745
+ autoConnect: true,
1746
+ description: "test",
1747
+ enableAffinity: true,
1748
+ enableAOT: true,
1749
+ enableTitleBar: false,
1750
+ height: "",
1751
+ hideClose: false,
1752
+ hideMaximize: false,
1753
+ hideMinimize: false,
1754
+ iconURL: "",
1755
+ intents: [],
1756
+ isEvergreen: true,
1757
+ launchableByUser: true,
1758
+ name: "test",
1759
+ native_windowSpawnTimeout: 60,
1760
+ opacity: 1,
1761
+ path: "",
1762
+ persistURL: true,
1763
+ persistPath: false,
1764
+ resizable: true,
1765
+ rules: [],
1766
+ security: "trusted",
1767
+ singleton: true,
1768
+ spawnOnStartup: false,
1769
+ titlebarType: "injected",
1770
+ url: "http://www.google.com",
1771
+ width: "",
1772
+ preloads: ["zoom"],
1773
+ };
1774
+ const output_template = {
1775
+ appId: "123",
1776
+ description: "test",
1777
+ intents: [],
1778
+ icons: [],
1779
+ manifest: {
1780
+ component: {
1781
+ singleton: true,
1782
+ spawnOnStartup: false,
1783
+ preload: ["zoom"],
1784
+ },
1785
+ foreign: {
1786
+ components: {
1787
+ "App Launcher": {
1788
+ launchableByUser: true,
1789
+ },
1790
+ "Window Manager": {
1791
+ FSBLHeader: false,
1792
+ alwaysOnTopIcon: true,
1793
+ persistWindowState: true,
1794
+ titlebarType: "injected",
1795
+ },
1796
+ },
1797
+ services: {
1798
+ windowService: {
1799
+ allowAutoArrange: true,
1800
+ allowGrouping: true,
1801
+ allowMaximize: true,
1802
+ allowMinimize: true,
1803
+ allowSnapping: true,
1804
+ allowTabbing: true,
1805
+ allowTiling: true,
1806
+ },
1807
+ workspace: {
1808
+ persistPath: false,
1809
+ persistURL: true,
1810
+ },
1811
+ },
1812
+ },
1813
+ interop: {
1814
+ autoConnect: true,
1815
+ selectConnect: [],
1816
+ },
1817
+ window: {
1818
+ addToWorkspace: true,
1819
+ height: "",
1820
+ options: {
1821
+ alwaysOnTop: true,
1822
+ isEvergreen: true,
1823
+ opacity: 1,
1824
+ resizable: true,
1825
+ securityPolicy: "trusted",
1826
+ windowSpawnTimeout: 60,
1827
+ },
1828
+ width: "",
1829
+ url: "http://www.google.com",
1830
+ },
1831
+ },
1832
+ manifestType: "finsemble",
1833
+ name: "test",
1834
+ version: "1",
1835
+ };
1836
+ it("undefined affinity / disable affinity", () => {
1837
+ const disable_affinity = Object.assign(Object.assign({}, appData), { enableAffinity: false });
1838
+ expect(appDataToAppConfig(configTemplate, disable_affinity, "123")).to.deep.equal(Object.assign(Object.assign({}, output_template), { manifest: Object.assign(Object.assign({}, output_template.manifest), { window: Object.assign(Object.assign({}, output_template.manifest.window), { affinity: "false" }) }) }));
1839
+ });
1840
+ it("undefined affinity / enable affinity", () => {
1841
+ const enable_affinity = Object.assign(Object.assign({}, appData), { enableAffinity: true });
1842
+ expect(appDataToAppConfig(configTemplate, enable_affinity, "123")).to.deep.equal(output_template);
1843
+ });
1844
+ it("false affinity / disable affinity", () => {
1845
+ const disable_affinity = Object.assign(Object.assign({}, appData), { enableAffinity: false });
1846
+ const template = Object.assign(Object.assign({}, configTemplate), { manifest: Object.assign(Object.assign({}, configTemplate.manifest), { window: Object.assign(Object.assign({}, configTemplate.manifest.window), { affinity: "false" }) }) });
1847
+ expect(appDataToAppConfig(template, disable_affinity, "123")).to.deep.equal(Object.assign(Object.assign({}, output_template), { manifest: Object.assign(Object.assign({}, output_template.manifest), { window: Object.assign(Object.assign({}, output_template.manifest.window), { affinity: "false" }) }) }));
1848
+ });
1849
+ it("false affinity / enable affinity", () => {
1850
+ const enable_affinity = Object.assign(Object.assign({}, appData), { enableAffinity: true });
1851
+ const template = Object.assign(Object.assign({}, configTemplate), { manifest: Object.assign(Object.assign({}, configTemplate.manifest), { window: Object.assign(Object.assign({}, configTemplate.manifest.window), { affinity: "false" }) }) });
1852
+ expect(appDataToAppConfig(template, enable_affinity, "123")).to.deep.equal(output_template);
1853
+ });
1854
+ it("named affinity / disable affinity", () => {
1855
+ const disable_affinity = Object.assign(Object.assign({}, appData), { enableAffinity: false });
1856
+ const template = Object.assign(Object.assign({}, configTemplate), { manifest: Object.assign(Object.assign({}, configTemplate.manifest), { window: Object.assign(Object.assign({}, configTemplate.manifest.window), { affinity: "groupName" }) }) });
1857
+ expect(appDataToAppConfig(template, disable_affinity, "123")).to.deep.equal(Object.assign(Object.assign({}, output_template), { manifest: Object.assign(Object.assign({}, output_template.manifest), { window: Object.assign(Object.assign({}, output_template.manifest.window), { affinity: "false" }) }) }));
1858
+ });
1859
+ it("named affinity / enable affinity", () => {
1860
+ const enable_affinity = Object.assign(Object.assign({}, appData), { enableAffinity: true });
1861
+ const template = Object.assign(Object.assign({}, configTemplate), { manifest: Object.assign(Object.assign({}, configTemplate.manifest), { window: Object.assign(Object.assign({}, configTemplate.manifest.window), { affinity: "groupName" }) }) });
1862
+ expect(appDataToAppConfig(template, enable_affinity, "123")).to.deep.equal(Object.assign(Object.assign({}, output_template), { manifest: Object.assign(Object.assign({}, output_template.manifest), { window: Object.assign(Object.assign({}, output_template.manifest.window), { affinity: "groupName" }) }) }));
1863
+ });
1864
+ });
1478
1865
  //# sourceMappingURL=Application.spec.js.map