@finsemble/finsemble-ui 6.3.2 → 6.5.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 (448) hide show
  1. package/package.json +31 -42
  2. package/react/actions/smartDesktopDesignerActions.d.ts +6 -4
  3. package/react/actions/smartDesktopDesignerActions.js +2 -1
  4. package/react/actions/smartDesktopDesignerActions.js.map +1 -1
  5. package/react/assets/css/userPreferences.css +0 -30
  6. package/react/assets/css/windowTitleBar.css +6 -5
  7. package/react/assets/icons/always-on-top.svg +20 -0
  8. package/react/assets/icons/caret.svg +7 -0
  9. package/react/assets/icons/close.svg +11 -0
  10. package/react/assets/icons/code-block.svg +15 -0
  11. package/react/assets/icons/documentation.svg +20 -0
  12. package/react/assets/icons/linker.svg +18 -0
  13. package/react/assets/icons/maximize.svg +16 -0
  14. package/react/assets/icons/minimize.svg +15 -0
  15. package/react/assets/icons/toolbar.svg +12 -0
  16. package/react/assets/img/finsemble-display.png +0 -0
  17. package/react/componentTemplateGenerator.js +1 -1
  18. package/react/componentTemplateGenerator.js.map +1 -1
  19. package/react/components/FinsembleProvider.js.map +1 -1
  20. package/react/components/appCatalog/modules/FDC3.d.ts +1 -1
  21. package/react/components/appCatalog/modules/FDC3.js.map +1 -1
  22. package/react/components/appCatalog/stores/appStore.d.ts +2 -2
  23. package/react/components/appCatalog/stores/appStore.js.map +1 -1
  24. package/react/components/common/Accordion.d.ts +11 -0
  25. package/react/components/common/Accordion.js +20 -0
  26. package/react/components/common/Accordion.js.map +1 -0
  27. package/react/components/common/Checkbox.d.ts +1 -0
  28. package/react/components/common/Checkbox.js +4 -2
  29. package/react/components/common/Checkbox.js.map +1 -1
  30. package/react/components/common/DropZone.js +3 -1
  31. package/react/components/common/DropZone.js.map +1 -1
  32. package/react/components/common/FileInput.d.ts +2 -1
  33. package/react/components/common/FileInput.js +9 -4
  34. package/react/components/common/FileInput.js.map +1 -1
  35. package/react/components/common/FinsembleIcon.d.ts +1 -1
  36. package/react/components/common/FinsembleIcon.js +18 -0
  37. package/react/components/common/FinsembleIcon.js.map +1 -1
  38. package/react/components/common/FinsembleSelect.js +1 -1
  39. package/react/components/common/FinsembleSelect.js.map +1 -1
  40. package/react/components/common/Header.js +1 -1
  41. package/react/components/common/Header.js.map +1 -1
  42. package/react/components/common/InputTable.d.ts +11 -0
  43. package/react/components/common/InputTable.js +50 -0
  44. package/react/components/common/InputTable.js.map +1 -0
  45. package/react/components/common/Tooltip.js +3 -1
  46. package/react/components/common/Tooltip.js.map +1 -1
  47. package/react/components/common/css/accordion.css +99 -0
  48. package/react/components/common/css/application-edit-page.css +209 -2
  49. package/react/components/common/css/application-list.css +6 -0
  50. package/react/components/common/css/button.css +9 -7
  51. package/react/components/common/css/checkbox.css +30 -0
  52. package/react/components/common/css/file-input.css +16 -0
  53. package/react/components/common/css/header.css +1 -14
  54. package/react/components/common/css/preload-edit-page.css +37 -0
  55. package/react/components/common/css/styles.css +0 -1
  56. package/react/components/common/css/tab.css +1 -1
  57. package/react/components/common/stories/Accordion.stories.d.ts +14 -0
  58. package/react/components/common/stories/Accordion.stories.js +42 -0
  59. package/react/components/common/stories/Accordion.stories.js.map +1 -0
  60. package/react/components/common/stories/DropdownButton.stories.d.ts +11 -0
  61. package/react/components/common/stories/DropdownButton.stories.js +12 -0
  62. package/react/components/common/stories/DropdownButton.stories.js.map +1 -1
  63. package/react/components/common/stories/FileInput.stories.d.ts +2 -1
  64. package/react/components/common/stories/FileInput.stories.js +6 -0
  65. package/react/components/common/stories/FileInput.stories.js.map +1 -1
  66. package/react/components/common/stories/FinsembleIcon.stories.js +1 -0
  67. package/react/components/common/stories/FinsembleIcon.stories.js.map +1 -1
  68. package/react/components/common/stories/InputTable.stories.d.ts +12 -0
  69. package/react/components/common/stories/InputTable.stories.js +35 -0
  70. package/react/components/common/stories/InputTable.stories.js.map +1 -0
  71. package/react/components/{smartDesktopDesigner/tests/ApplicationEdit.spec.d.ts → common/tests/Accordion.spec.d.ts} +0 -0
  72. package/react/components/common/tests/Accordion.spec.js +53 -0
  73. package/react/components/common/tests/Accordion.spec.js.map +1 -0
  74. package/react/components/common/tests/Checkbox.spec.js +5 -3
  75. package/react/components/common/tests/Checkbox.spec.js.map +1 -1
  76. package/react/components/common/tests/FileInput.spec.js +20 -5
  77. package/react/components/common/tests/FileInput.spec.js.map +1 -1
  78. package/react/components/common/tests/Header.spec.js +6 -2
  79. package/react/components/common/tests/Header.spec.js.map +1 -1
  80. package/react/components/{smartDesktopDesigner/tests/ApplicationList.spec.d.ts → common/tests/InputTable.spec.d.ts} +0 -0
  81. package/react/components/common/tests/InputTable.spec.js +166 -0
  82. package/react/components/common/tests/InputTable.spec.js.map +1 -0
  83. package/react/components/favorites/FavoritesShell.stories.js.map +1 -1
  84. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  85. package/react/components/fdc3Resolver/ResolverDialog.js +1 -1
  86. package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
  87. package/react/components/fdc3Resolver/ResolverDialog.spec.js +1 -1
  88. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
  89. package/react/components/fdc3Resolver/ResolverDialog.stories.js +13 -0
  90. package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
  91. package/react/components/legacyControls/FinsembleDialogButton.js +1 -1
  92. package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
  93. package/react/components/legacyControls/FinsembleDnDContext.d.ts +2 -1
  94. package/react/components/legacyControls/FinsembleDnDContext.js +8 -6
  95. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  96. package/react/components/linker/remoteRedux.d.ts +1 -1
  97. package/react/components/linker/remoteRedux.js.map +1 -1
  98. package/react/components/menu/Menu.d.ts +1 -0
  99. package/react/components/menu/Menu.js.map +1 -1
  100. package/react/components/menu/MenuAutoResizer.d.ts +2 -1
  101. package/react/components/menu/MenuAutoResizer.js +4 -3
  102. package/react/components/menu/MenuAutoResizer.js.map +1 -1
  103. package/react/components/menu/MenuPortal.js +118 -92
  104. package/react/components/menu/MenuPortal.js.map +1 -1
  105. package/react/components/menu/MenuShell.d.ts +1 -0
  106. package/react/components/menu/MenuShell.js +3 -2
  107. package/react/components/menu/MenuShell.js.map +1 -1
  108. package/react/components/menu/menuContext.d.ts +1 -0
  109. package/react/components/menu/menuContext.js.map +1 -1
  110. package/react/components/menu/menuHelpers.d.ts +1 -1
  111. package/react/components/menu/menuHelpers.js +2 -2
  112. package/react/components/menu/menuHelpers.js.map +1 -1
  113. package/react/components/notifications/components/drawer/DrawerControls.js +30 -6
  114. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  115. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +2 -0
  116. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  117. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +20 -27
  118. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
  119. package/react/components/notifications/components/shared/CheckButton.d.ts +1 -1
  120. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  121. package/react/components/notifications/components/shared/IconButton.js +5 -1
  122. package/react/components/notifications/components/shared/IconButton.js.map +1 -1
  123. package/react/components/notifications/components/shared/NotificationCardShell.d.ts +1 -1
  124. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  125. package/react/components/notifications/components/shared/OverflowMenu.d.ts +1 -1
  126. package/react/components/notifications/components/shared/OverflowMenu.js +5 -1
  127. package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
  128. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts +1 -1
  129. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js.map +1 -1
  130. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts +1 -1
  131. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  132. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +1 -1
  133. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
  134. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts +1 -1
  135. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  136. package/react/components/notifications/components/views/CardView.js.map +1 -1
  137. package/react/components/notifications/components/views/ListView.d.ts +1 -1
  138. package/react/components/notifications/components/views/ListView.js.map +1 -1
  139. package/react/components/notifications/components/views/NotificationDetailsView.d.ts +1 -1
  140. package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
  141. package/react/components/notifications/types.d.ts +1 -1
  142. package/react/components/notifications/types.js.map +1 -1
  143. package/react/components/notifications/utils.d.ts +1 -1
  144. package/react/components/notifications/utils.js.map +1 -1
  145. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  146. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  147. package/react/components/processMonitor/components/ListHeader.d.ts +1 -1
  148. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  149. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +3 -3
  150. package/react/components/processMonitor/stores/ProcessMonitorStore.js +49 -49
  151. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  152. package/react/components/search/SearchResult.js +4 -3
  153. package/react/components/search/SearchResult.js.map +1 -1
  154. package/react/components/shared/DefaultDropdownButton.js +1 -1
  155. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  156. package/react/components/smartDesktopDesigner/AddApp.d.ts +14 -0
  157. package/react/components/smartDesktopDesigner/AddApp.js +60 -0
  158. package/react/components/smartDesktopDesigner/AddApp.js.map +1 -0
  159. package/react/components/smartDesktopDesigner/AppEditAccess.js +16 -32
  160. package/react/components/smartDesktopDesigner/AppEditAccess.js.map +1 -1
  161. package/react/components/smartDesktopDesigner/AppEditPage.d.ts +6 -19
  162. package/react/components/smartDesktopDesigner/AppEditPage.js +552 -59
  163. package/react/components/smartDesktopDesigner/AppEditPage.js.map +1 -1
  164. package/react/components/smartDesktopDesigner/Appearance.css +8 -67
  165. package/react/components/smartDesktopDesigner/Appearance.js +1 -1
  166. package/react/components/smartDesktopDesigner/Appearance.js.map +1 -1
  167. package/react/components/smartDesktopDesigner/Application.d.ts +11 -3
  168. package/react/components/smartDesktopDesigner/Application.js +155 -104
  169. package/react/components/smartDesktopDesigner/Application.js.map +1 -1
  170. package/react/components/smartDesktopDesigner/Applications.d.ts +2 -3
  171. package/react/components/smartDesktopDesigner/Applications.js +67 -107
  172. package/react/components/smartDesktopDesigner/Applications.js.map +1 -1
  173. package/react/components/smartDesktopDesigner/Authentication.js +2 -9
  174. package/react/components/smartDesktopDesigner/Authentication.js.map +1 -1
  175. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js +8 -1
  176. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js.map +1 -1
  177. package/react/components/smartDesktopDesigner/ContentHeader.d.ts +5 -0
  178. package/react/components/smartDesktopDesigner/ContentHeader.js +10 -0
  179. package/react/components/smartDesktopDesigner/ContentHeader.js.map +1 -0
  180. package/react/components/smartDesktopDesigner/CurrentView.js +2 -1
  181. package/react/components/smartDesktopDesigner/CurrentView.js.map +1 -1
  182. package/react/components/smartDesktopDesigner/EditPreload.d.ts +14 -0
  183. package/react/components/smartDesktopDesigner/EditPreload.js +169 -0
  184. package/react/components/smartDesktopDesigner/EditPreload.js.map +1 -0
  185. package/react/components/smartDesktopDesigner/Export.d.ts +1 -0
  186. package/react/components/smartDesktopDesigner/Export.js +40 -9
  187. package/react/components/smartDesktopDesigner/Export.js.map +1 -1
  188. package/react/components/smartDesktopDesigner/ExportCloud.d.ts +3 -1
  189. package/react/components/smartDesktopDesigner/ExportCloud.js +4 -6
  190. package/react/components/smartDesktopDesigner/ExportCloud.js.map +1 -1
  191. package/react/components/smartDesktopDesigner/ExportZip.d.ts +3 -1
  192. package/react/components/smartDesktopDesigner/ExportZip.js +8 -3
  193. package/react/components/smartDesktopDesigner/ExportZip.js.map +1 -1
  194. package/react/components/smartDesktopDesigner/GettingStarted.d.ts +1 -0
  195. package/react/components/smartDesktopDesigner/GettingStarted.js +11 -25
  196. package/react/components/smartDesktopDesigner/GettingStarted.js.map +1 -1
  197. package/react/components/smartDesktopDesigner/ItemList.d.ts +17 -0
  198. package/react/components/smartDesktopDesigner/ItemList.js +58 -0
  199. package/react/components/smartDesktopDesigner/ItemList.js.map +1 -0
  200. package/react/components/smartDesktopDesigner/Navigation.d.ts +2 -2
  201. package/react/components/smartDesktopDesigner/Navigation.js +17 -15
  202. package/react/components/smartDesktopDesigner/Navigation.js.map +1 -1
  203. package/react/components/smartDesktopDesigner/OptionalSettingsView.d.ts +11 -0
  204. package/react/components/smartDesktopDesigner/OptionalSettingsView.js +71 -0
  205. package/react/components/smartDesktopDesigner/OptionalSettingsView.js.map +1 -0
  206. package/react/components/smartDesktopDesigner/Preloads.d.ts +8 -0
  207. package/react/components/smartDesktopDesigner/Preloads.js +26 -0
  208. package/react/components/smartDesktopDesigner/Preloads.js.map +1 -0
  209. package/react/components/smartDesktopDesigner/Publish.js.map +1 -1
  210. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +3 -3
  211. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +11 -17
  212. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  213. package/react/components/smartDesktopDesigner/ThemePage.css +0 -1
  214. package/react/components/smartDesktopDesigner/ThemePage.js +0 -7
  215. package/react/components/smartDesktopDesigner/ThemePage.js.map +1 -1
  216. package/react/components/smartDesktopDesigner/Themes.js +0 -2
  217. package/react/components/smartDesktopDesigner/Themes.js.map +1 -1
  218. package/react/components/smartDesktopDesigner/Toolbar.d.ts +15 -0
  219. package/react/components/smartDesktopDesigner/Toolbar.js +123 -0
  220. package/react/components/smartDesktopDesigner/Toolbar.js.map +1 -0
  221. package/react/components/smartDesktopDesigner/View.js +1 -1
  222. package/react/components/smartDesktopDesigner/View.js.map +1 -1
  223. package/react/components/smartDesktopDesigner/common/fsbl_functions.d.ts +1 -1
  224. package/react/components/smartDesktopDesigner/common/fsbl_functions.js +2 -2
  225. package/react/components/smartDesktopDesigner/common/fsbl_functions.js.map +1 -1
  226. package/react/components/smartDesktopDesigner/common/views.d.ts +2 -36
  227. package/react/components/smartDesktopDesigner/common/views.js +168 -111
  228. package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
  229. package/react/components/smartDesktopDesigner/css/appearance.css +20 -9
  230. package/react/components/smartDesktopDesigner/css/applications.css +40 -0
  231. package/react/components/smartDesktopDesigner/css/authentication.css +5 -11
  232. package/react/components/smartDesktopDesigner/css/export.css +32 -19
  233. package/react/components/smartDesktopDesigner/css/getting-started.css +22 -0
  234. package/react/components/smartDesktopDesigner/css/nav.css +38 -11
  235. package/react/components/smartDesktopDesigner/css/project-header.css +19 -16
  236. package/react/components/smartDesktopDesigner/css/styles.css +2 -3
  237. package/react/components/smartDesktopDesigner/css/views.css +11 -4
  238. package/react/components/smartDesktopDesigner/fixtures/apps.d.ts +3 -1
  239. package/react/components/smartDesktopDesigner/fixtures/apps.js +63 -6
  240. package/react/components/smartDesktopDesigner/fixtures/apps.js.map +1 -1
  241. package/react/components/smartDesktopDesigner/fixtures/exportProps.js +3 -0
  242. package/react/components/smartDesktopDesigner/fixtures/exportProps.js.map +1 -1
  243. package/react/components/smartDesktopDesigner/fixtures/preloads.d.ts +22 -0
  244. package/react/components/smartDesktopDesigner/fixtures/preloads.js +40 -0
  245. package/react/components/smartDesktopDesigner/fixtures/preloads.js.map +1 -0
  246. package/react/components/smartDesktopDesigner/fixtures/publishProgress.d.ts +1 -1
  247. package/react/components/smartDesktopDesigner/fixtures/publishProgress.js.map +1 -1
  248. package/react/components/smartDesktopDesigner/fixtures/views.d.ts +2 -2
  249. package/react/components/smartDesktopDesigner/fixtures/views.js +67 -26
  250. package/react/components/smartDesktopDesigner/fixtures/views.js.map +1 -1
  251. package/react/components/smartDesktopDesigner/sdd_helpers.d.ts +1 -1
  252. package/react/components/smartDesktopDesigner/sdd_helpers.js +4 -3
  253. package/react/components/smartDesktopDesigner/sdd_helpers.js.map +1 -1
  254. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.d.ts +3 -1
  255. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js +13 -33
  256. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js.map +1 -1
  257. package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.d.ts +10 -0
  258. package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.js +13 -0
  259. package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.js.map +1 -0
  260. package/react/components/smartDesktopDesigner/stories/EditPreload.stories.d.ts +11 -0
  261. package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js +35 -0
  262. package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js.map +1 -0
  263. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.d.ts +1 -1
  264. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js +1 -1
  265. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js.map +1 -1
  266. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.d.ts +1 -1
  267. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js +1 -1
  268. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js.map +1 -1
  269. package/react/components/smartDesktopDesigner/stories/ItemList.stories.d.ts +16 -0
  270. package/react/components/smartDesktopDesigner/stories/{ApplicationList.stories.js → ItemList.stories.js} +30 -23
  271. package/react/components/smartDesktopDesigner/stories/ItemList.stories.js.map +1 -0
  272. package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.d.ts +11 -0
  273. package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js +28 -0
  274. package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js.map +1 -0
  275. package/react/components/smartDesktopDesigner/stories/Preloads.stories.d.ts +11 -0
  276. package/react/components/smartDesktopDesigner/stories/Preloads.stories.js +31 -0
  277. package/react/components/smartDesktopDesigner/stories/Preloads.stories.js.map +1 -0
  278. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js +7 -1
  279. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js.map +1 -1
  280. package/react/components/smartDesktopDesigner/stories/Toolbar.stories.d.ts +14 -0
  281. package/react/components/smartDesktopDesigner/stories/Toolbar.stories.js +38 -0
  282. package/react/components/smartDesktopDesigner/stories/Toolbar.stories.js.map +1 -0
  283. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js +1100 -308
  284. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js.map +1 -1
  285. package/react/components/smartDesktopDesigner/tests/{ApplicationSetup.spec.d.ts → Application.spec.d.ts} +0 -0
  286. package/react/components/smartDesktopDesigner/tests/Application.spec.js +1496 -0
  287. package/react/components/smartDesktopDesigner/tests/Application.spec.js.map +1 -0
  288. package/react/components/smartDesktopDesigner/tests/Applications.spec.d.ts +1 -1
  289. package/react/components/smartDesktopDesigner/tests/Applications.spec.js +62 -561
  290. package/react/components/smartDesktopDesigner/tests/Applications.spec.js.map +1 -1
  291. package/react/components/smartDesktopDesigner/tests/{ProjectHeader.spec.d.ts → ContentHeader.spec.d.ts} +0 -0
  292. package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.js +31 -0
  293. package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.js.map +1 -0
  294. package/react/components/smartDesktopDesigner/tests/EditPreload.spec.d.ts +1 -0
  295. package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js +61 -0
  296. package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js.map +1 -0
  297. package/react/components/smartDesktopDesigner/tests/Export.spec.js +129 -0
  298. package/react/components/smartDesktopDesigner/tests/Export.spec.js.map +1 -1
  299. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js +7 -0
  300. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js.map +1 -1
  301. package/react/components/smartDesktopDesigner/tests/ItemList.spec.d.ts +1 -0
  302. package/react/components/smartDesktopDesigner/tests/{ApplicationList.spec.js → ItemList.spec.js} +8 -8
  303. package/react/components/smartDesktopDesigner/tests/ItemList.spec.js.map +1 -0
  304. package/react/components/smartDesktopDesigner/tests/Preloads.spec.d.ts +1 -0
  305. package/react/components/smartDesktopDesigner/tests/Preloads.spec.js +47 -0
  306. package/react/components/smartDesktopDesigner/tests/Preloads.spec.js.map +1 -0
  307. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js +3 -14
  308. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js.map +1 -1
  309. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js +7 -30
  310. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js.map +1 -1
  311. package/react/components/smartDesktopDesigner/tests/Toolbar.spec.d.ts +1 -0
  312. package/react/components/smartDesktopDesigner/tests/Toolbar.spec.js +203 -0
  313. package/react/components/smartDesktopDesigner/tests/Toolbar.spec.js.map +1 -0
  314. package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.d.ts +1 -0
  315. package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.js +18 -0
  316. package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.js.map +1 -0
  317. package/react/components/toolbar/DragHandle.spec.d.ts +1 -0
  318. package/react/components/toolbar/DragHandle.spec.js +31 -0
  319. package/react/components/toolbar/DragHandle.spec.js.map +1 -0
  320. package/react/components/toolbar/DragHandle.stories.d.ts +13 -0
  321. package/react/components/toolbar/DragHandle.stories.js +39 -0
  322. package/react/components/toolbar/DragHandle.stories.js.map +1 -0
  323. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +1 -1
  324. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
  325. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +1 -1
  326. package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
  327. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
  328. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +1 -1
  329. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +47 -45
  330. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
  331. package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts +1 -1
  332. package/react/components/toolbar/advancedAppLauncher/components/TagsList.js.map +1 -1
  333. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts +2 -2
  334. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js.map +1 -1
  335. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  336. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  337. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +1 -0
  338. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
  339. package/react/components/toolbar/appLauncher/components/componentList.d.ts +2 -2
  340. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  341. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +3 -2
  342. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +17 -34
  343. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
  344. package/react/components/toolbar/dashbar/Dashbar.js +12 -13
  345. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  346. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +2 -2
  347. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
  348. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +1 -1
  349. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  350. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +1 -1
  351. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
  352. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +4 -4
  353. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +1 -1
  354. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  355. package/react/components/userPreferences/components/content/Workspaces.d.ts +1 -1
  356. package/react/components/userPreferences/components/content/Workspaces.js +1 -1
  357. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  358. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
  359. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js.map +1 -1
  360. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +1 -1
  361. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  362. package/react/components/userPreferences/tests/ScheduledRestart.spec.js +1 -1
  363. package/react/components/userPreferences/tests/ScheduledRestart.spec.js.map +1 -1
  364. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +4 -2
  365. package/react/components/windowTitleBar/WindowTitleBarShell.js +60 -52
  366. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  367. package/react/components/windowTitleBar/components/center/Tab.d.ts +0 -1
  368. package/react/components/windowTitleBar/components/center/Tab.js +2 -2
  369. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  370. package/react/components/windowTitleBar/components/center/TabList.d.ts +2 -3
  371. package/react/components/windowTitleBar/components/center/TabList.js +19 -79
  372. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  373. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  374. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  375. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +7 -0
  376. package/react/components/windowTitleBar/components/right/MaximizeButton.js +11 -1
  377. package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
  378. package/react/components/windowTitleBar/components/windowTitle.d.ts +9 -5
  379. package/react/components/windowTitleBar/components/windowTitle.js +154 -42
  380. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  381. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +3 -3
  382. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +214 -214
  383. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  384. package/react/enzymeSetup.js +1 -1
  385. package/react/enzymeSetup.js.map +1 -1
  386. package/react/hooks/useDashbar.d.ts +8 -0
  387. package/react/hooks/useDashbar.js +104 -0
  388. package/react/hooks/useDashbar.js.map +1 -0
  389. package/react/hooks/useFavoritesShell.js.map +1 -1
  390. package/react/hooks/useNotifications.d.ts +1 -1
  391. package/react/hooks/useNotifications.js.map +1 -1
  392. package/react/hooks/useToolbar.d.ts +0 -6
  393. package/react/hooks/useToolbar.js +0 -101
  394. package/react/hooks/useToolbar.js.map +1 -1
  395. package/react/reducers/rootReducer.d.ts +11 -7
  396. package/react/reducers/smartDesktopDesignerReducer.js +8 -3
  397. package/react/reducers/smartDesktopDesignerReducer.js.map +1 -1
  398. package/react/store.d.ts +22 -14
  399. package/react/types/fdc3.d.ts +7 -35
  400. package/react/types/fdc3.js.map +1 -1
  401. package/react/types/searchTypes.d.ts +1 -8
  402. package/react/types/searchTypes.js.map +1 -1
  403. package/react/types/smartDesktopDesignerTypes.d.ts +52 -6
  404. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  405. package/react/types/windowTitleBar.d.ts +4 -2
  406. package/react/types/windowTitleBar.js.map +1 -1
  407. package/react/components/common/FontSizeSelector.d.ts +0 -7
  408. package/react/components/common/FontSizeSelector.js +0 -42
  409. package/react/components/common/FontSizeSelector.js.map +0 -1
  410. package/react/components/common/stories/FontSizeSelector.stories.d.ts +0 -12
  411. package/react/components/common/stories/FontSizeSelector.stories.js +0 -24
  412. package/react/components/common/stories/FontSizeSelector.stories.js.map +0 -1
  413. package/react/components/smartDesktopDesigner/ApplicationEdit.d.ts +0 -25
  414. package/react/components/smartDesktopDesigner/ApplicationEdit.js +0 -103
  415. package/react/components/smartDesktopDesigner/ApplicationEdit.js.map +0 -1
  416. package/react/components/smartDesktopDesigner/ApplicationList.d.ts +0 -15
  417. package/react/components/smartDesktopDesigner/ApplicationList.js +0 -56
  418. package/react/components/smartDesktopDesigner/ApplicationList.js.map +0 -1
  419. package/react/components/smartDesktopDesigner/ApplicationSetup.d.ts +0 -23
  420. package/react/components/smartDesktopDesigner/ApplicationSetup.js +0 -73
  421. package/react/components/smartDesktopDesigner/ApplicationSetup.js.map +0 -1
  422. package/react/components/smartDesktopDesigner/ProjectHeader.d.ts +0 -14
  423. package/react/components/smartDesktopDesigner/ProjectHeader.js +0 -70
  424. package/react/components/smartDesktopDesigner/ProjectHeader.js.map +0 -1
  425. package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.d.ts +0 -4
  426. package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js +0 -45
  427. package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js.map +0 -1
  428. package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.d.ts +0 -3
  429. package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js +0 -29
  430. package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js.map +0 -1
  431. package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.d.ts +0 -12
  432. package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js +0 -21
  433. package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js.map +0 -1
  434. package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.d.ts +0 -15
  435. package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js.map +0 -1
  436. package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.d.ts +0 -12
  437. package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js +0 -28
  438. package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js.map +0 -1
  439. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.d.ts +0 -10
  440. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js +0 -19
  441. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js.map +0 -1
  442. package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js +0 -66
  443. package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js.map +0 -1
  444. package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js.map +0 -1
  445. package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js +0 -41
  446. package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js.map +0 -1
  447. package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js +0 -27
  448. package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js.map +0 -1
@@ -4,40 +4,151 @@
4
4
  */
5
5
  import React from "react";
6
6
  import { useSelector, useDispatch } from "../../store";
7
+ import { CircularLoadingSpinner } from "../common/LoadingSpinner";
8
+ import { SmartDesktopDesignerActions } from "../../actions/smartDesktopDesignerActions";
7
9
  import { View } from "./View";
8
10
  import { Header } from "../common/Header";
9
11
  import { Content } from "./Content";
10
- import { ApplicationEdit } from "./ApplicationEdit";
11
- import { ApplicationSetup } from "./ApplicationSetup";
12
- import { ButtonTile } from "../common/ButtonTile";
13
- import { CircularLoadingSpinner } from "../common/LoadingSpinner";
14
- import { SmartDesktopDesignerActions } from "../../actions/smartDesktopDesignerActions";
15
- import { ApplicationSetupType } from "../../types/smartDesktopDesignerTypes";
12
+ import { AppEditPage } from "./AppEditPage";
13
+ import { generateDefaultConfig } from "./sdd_helpers";
16
14
  import { launchTutorialLink } from "./common/fsbl_functions";
15
+ const abstractPositionLookup = [
16
+ "",
17
+ "0-0-undefined-undefined",
18
+ "0-center-undefined-undefined",
19
+ "0-undefined-undefined-0",
20
+ "center-0-undefined-undefined",
21
+ "center-center-undefined-undefined",
22
+ "center-undefined-undefined-0",
23
+ "undefined-0-0-undefined",
24
+ "undefined-center-0-undefined",
25
+ "undefined-undefined-0-0",
26
+ ];
27
+ export const genAbstractPositionFromAppConfig = (appConfig) => {
28
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
29
+ const position = (_b = (_a = appConfig.manifest) === null || _a === void 0 ? void 0 : _a.window) === null || _b === void 0 ? void 0 : _b.position;
30
+ const left = (_d = (_c = appConfig.manifest) === null || _c === void 0 ? void 0 : _c.window) === null || _d === void 0 ? void 0 : _d.left;
31
+ const right = (_f = (_e = appConfig.manifest) === null || _e === void 0 ? void 0 : _e.window) === null || _f === void 0 ? void 0 : _f.right;
32
+ const top = (_h = (_g = appConfig.manifest) === null || _g === void 0 ? void 0 : _g.window) === null || _h === void 0 ? void 0 : _h.top;
33
+ const bottom = (_k = (_j = appConfig.manifest) === null || _j === void 0 ? void 0 : _j.window) === null || _k === void 0 ? void 0 : _k.bottom;
34
+ if (position === undefined) {
35
+ return 0;
36
+ }
37
+ return abstractPositionLookup.indexOf(`${top}-${left}-${bottom}-${right}`);
38
+ };
39
+ export const genWindowParamsFromAbstractPosition = (abstractPosition) => {
40
+ if (abstractPosition <= 0) {
41
+ return {};
42
+ }
43
+ const [top, left, bottom, right] = abstractPositionLookup[abstractPosition].split("-");
44
+ const params = {
45
+ position: "monitor",
46
+ top,
47
+ left,
48
+ bottom,
49
+ right,
50
+ };
51
+ for (let key in params) {
52
+ if (params[key] === "undefined") {
53
+ delete params[key];
54
+ }
55
+ }
56
+ return params;
57
+ };
17
58
  export function appConfigToAppData(appConfig) {
18
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
59
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, _110, _111, _112;
19
60
  return {
20
61
  name: appConfig.name || ((_b = (_a = appConfig.manifest) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.displayName),
21
62
  description: appConfig.description || "",
22
63
  url: (_d = (_c = appConfig.manifest) === null || _c === void 0 ? void 0 : _c.window) === null || _d === void 0 ? void 0 : _d.url,
23
64
  path: (_f = (_e = appConfig.manifest) === null || _e === void 0 ? void 0 : _e.window) === null || _f === void 0 ? void 0 : _f.path,
24
- width: (_h = (_g = appConfig.manifest) === null || _g === void 0 ? void 0 : _g.window) === null || _h === void 0 ? void 0 : _h.width,
25
- height: (_k = (_j = appConfig.manifest) === null || _j === void 0 ? void 0 : _j.window) === null || _k === void 0 ? void 0 : _k.height,
26
- rules: (_m = (_l = appConfig.manifest) === null || _l === void 0 ? void 0 : _l.interop) === null || _m === void 0 ? void 0 : _m.selectConnect,
65
+ appArguments: (_h = (_g = appConfig.manifest) === null || _g === void 0 ? void 0 : _g.window) === null || _h === void 0 ? void 0 : _h.arguments,
66
+ appType: (_k = (_j = appConfig.manifest) === null || _j === void 0 ? void 0 : _j.window) === null || _k === void 0 ? void 0 : _k.windowType,
67
+ width: (_m = (_l = appConfig.manifest) === null || _l === void 0 ? void 0 : _l.window) === null || _m === void 0 ? void 0 : _m.width,
68
+ height: (_p = (_o = appConfig.manifest) === null || _o === void 0 ? void 0 : _o.window) === null || _p === void 0 ? void 0 : _p.height,
69
+ iconURL: (_t = (_s = (_r = (_q = appConfig.manifest) === null || _q === void 0 ? void 0 : _q.foreign) === null || _r === void 0 ? void 0 : _r.components) === null || _s === void 0 ? void 0 : _s.Toolbar) === null || _t === void 0 ? void 0 : _t.iconURL,
70
+ rules: (_v = (_u = appConfig.manifest) === null || _u === void 0 ? void 0 : _u.interop) === null || _v === void 0 ? void 0 : _v.selectConnect,
71
+ intents: (_w = appConfig.intents) !== null && _w !== void 0 ? _w : [],
72
+ persistPath: (_1 = (_0 = (_z = (_y = (_x = appConfig.manifest) === null || _x === void 0 ? void 0 : _x.foreign) === null || _y === void 0 ? void 0 : _y.services) === null || _z === void 0 ? void 0 : _z.workspace) === null || _0 === void 0 ? void 0 : _0.persistPath) !== null && _1 !== void 0 ? _1 : false,
73
+ persistURL: (_6 = (_5 = (_4 = (_3 = (_2 = appConfig.manifest) === null || _2 === void 0 ? void 0 : _2.foreign) === null || _3 === void 0 ? void 0 : _3.services) === null || _4 === void 0 ? void 0 : _4.workspace) === null || _5 === void 0 ? void 0 : _5.persistURL) !== null && _6 !== void 0 ? _6 : false,
74
+ addToWorkspace: (_9 = (_8 = (_7 = appConfig.manifest) === null || _7 === void 0 ? void 0 : _7.window) === null || _8 === void 0 ? void 0 : _8.addToWorkspace) !== null && _9 !== void 0 ? _9 : true,
75
+ allowAutoArrange: (_14 = (_13 = (_12 = (_11 = (_10 = appConfig.manifest) === null || _10 === void 0 ? void 0 : _10.foreign) === null || _11 === void 0 ? void 0 : _11.services) === null || _12 === void 0 ? void 0 : _12.windowService) === null || _13 === void 0 ? void 0 : _13.allowAutoArrange) !== null && _14 !== void 0 ? _14 : true,
76
+ allowGrouping: (_19 = (_18 = (_17 = (_16 = (_15 = appConfig.manifest) === null || _15 === void 0 ? void 0 : _15.foreign) === null || _16 === void 0 ? void 0 : _16.services) === null || _17 === void 0 ? void 0 : _17.windowService) === null || _18 === void 0 ? void 0 : _18.allowGrouping) !== null && _19 !== void 0 ? _19 : true,
77
+ allowMaximize: (_24 = (_23 = (_22 = (_21 = (_20 = appConfig.manifest) === null || _20 === void 0 ? void 0 : _20.foreign) === null || _21 === void 0 ? void 0 : _21.services) === null || _22 === void 0 ? void 0 : _22.windowService) === null || _23 === void 0 ? void 0 : _23.allowMaximize) !== null && _24 !== void 0 ? _24 : true,
78
+ allowMinimize: (_29 = (_28 = (_27 = (_26 = (_25 = appConfig.manifest) === null || _25 === void 0 ? void 0 : _25.foreign) === null || _26 === void 0 ? void 0 : _26.services) === null || _27 === void 0 ? void 0 : _27.windowService) === null || _28 === void 0 ? void 0 : _28.allowMinimize) !== null && _29 !== void 0 ? _29 : true,
79
+ allowSnapping: (_34 = (_33 = (_32 = (_31 = (_30 = appConfig.manifest) === null || _30 === void 0 ? void 0 : _30.foreign) === null || _31 === void 0 ? void 0 : _31.services) === null || _32 === void 0 ? void 0 : _32.windowService) === null || _33 === void 0 ? void 0 : _33.allowSnapping) !== null && _34 !== void 0 ? _34 : true,
80
+ allowTabbing: (_39 = (_38 = (_37 = (_36 = (_35 = appConfig.manifest) === null || _35 === void 0 ? void 0 : _35.foreign) === null || _36 === void 0 ? void 0 : _36.services) === null || _37 === void 0 ? void 0 : _37.windowService) === null || _38 === void 0 ? void 0 : _38.allowTabbing) !== null && _39 !== void 0 ? _39 : true,
81
+ allowTiling: (_44 = (_43 = (_42 = (_41 = (_40 = appConfig.manifest) === null || _40 === void 0 ? void 0 : _40.foreign) === null || _41 === void 0 ? void 0 : _41.services) === null || _42 === void 0 ? void 0 : _42.windowService) === null || _43 === void 0 ? void 0 : _43.allowTiling) !== null && _44 !== void 0 ? _44 : true,
82
+ enableAOT: (_49 = (_48 = (_47 = (_46 = (_45 = appConfig.manifest) === null || _45 === void 0 ? void 0 : _45.foreign) === null || _46 === void 0 ? void 0 : _46.components) === null || _47 === void 0 ? void 0 : _47["Window Manager"]) === null || _48 === void 0 ? void 0 : _48.alwaysOnTopIcon) !== null && _49 !== void 0 ? _49 : false,
83
+ enableTitleBar: ((_53 = (_52 = (_51 = (_50 = appConfig.manifest) === null || _50 === void 0 ? void 0 : _50.foreign) === null || _51 === void 0 ? void 0 : _51.components) === null || _52 === void 0 ? void 0 : _52["Window Manager"]) === null || _53 === void 0 ? void 0 : _53.FSBLHeader) !== false,
84
+ hideClose: (_59 = (_58 = (_57 = (_56 = (_55 = (_54 = appConfig.manifest) === null || _54 === void 0 ? void 0 : _54.foreign) === null || _55 === void 0 ? void 0 : _55.components) === null || _56 === void 0 ? void 0 : _56["Window Manager"]) === null || _57 === void 0 ? void 0 : _57.FSBLHeader) === null || _58 === void 0 ? void 0 : _58.hideClose) !== null && _59 !== void 0 ? _59 : false,
85
+ hideMaximize: (_65 = (_64 = (_63 = (_62 = (_61 = (_60 = appConfig.manifest) === null || _60 === void 0 ? void 0 : _60.foreign) === null || _61 === void 0 ? void 0 : _61.components) === null || _62 === void 0 ? void 0 : _62["Window Manager"]) === null || _63 === void 0 ? void 0 : _63.FSBLHeader) === null || _64 === void 0 ? void 0 : _64.hideMaximize) !== null && _65 !== void 0 ? _65 : false,
86
+ hideMinimize: (_71 = (_70 = (_69 = (_68 = (_67 = (_66 = appConfig.manifest) === null || _66 === void 0 ? void 0 : _66.foreign) === null || _67 === void 0 ? void 0 : _67.components) === null || _68 === void 0 ? void 0 : _68["Window Manager"]) === null || _69 === void 0 ? void 0 : _69.FSBLHeader) === null || _70 === void 0 ? void 0 : _70.hideMinimize) !== null && _71 !== void 0 ? _71 : false,
87
+ autoConnect: (_74 = (_73 = (_72 = appConfig.manifest) === null || _72 === void 0 ? void 0 : _72.interop) === null || _73 === void 0 ? void 0 : _73.autoConnect) !== null && _74 !== void 0 ? _74 : true,
88
+ abstractPosition: genAbstractPositionFromAppConfig(appConfig),
89
+ alwaysOnTop: (_78 = (_77 = (_76 = (_75 = appConfig.manifest) === null || _75 === void 0 ? void 0 : _75.window) === null || _76 === void 0 ? void 0 : _76.options) === null || _77 === void 0 ? void 0 : _77.alwaysOnTop) !== null && _78 !== void 0 ? _78 : false,
90
+ opacity: (_82 = (_81 = (_80 = (_79 = appConfig.manifest) === null || _79 === void 0 ? void 0 : _79.window) === null || _80 === void 0 ? void 0 : _80.options) === null || _81 === void 0 ? void 0 : _81.opacity) !== null && _82 !== void 0 ? _82 : 1,
91
+ resizable: (_86 = (_85 = (_84 = (_83 = appConfig.manifest) === null || _83 === void 0 ? void 0 : _83.window) === null || _84 === void 0 ? void 0 : _84.options) === null || _85 === void 0 ? void 0 : _85.resizable) !== null && _86 !== void 0 ? _86 : true,
92
+ singleton: (_89 = (_88 = (_87 = appConfig.manifest) === null || _87 === void 0 ? void 0 : _87.component) === null || _88 === void 0 ? void 0 : _88.singleton) !== null && _89 !== void 0 ? _89 : false,
93
+ spawnOnStartup: (_92 = (_91 = (_90 = appConfig.manifest) === null || _90 === void 0 ? void 0 : _90.component) === null || _91 === void 0 ? void 0 : _91.spawnOnStartup) !== null && _92 !== void 0 ? _92 : false,
94
+ launchableByUser: (_97 = (_96 = (_95 = (_94 = (_93 = appConfig.manifest) === null || _93 === void 0 ? void 0 : _93.foreign) === null || _94 === void 0 ? void 0 : _94.components) === null || _95 === void 0 ? void 0 : _95["App Launcher"]) === null || _96 === void 0 ? void 0 : _96.launchableByUser) !== null && _97 !== void 0 ? _97 : true,
95
+ security: (_101 = (_100 = (_99 = (_98 = appConfig.manifest) === null || _98 === void 0 ? void 0 : _98.window) === null || _99 === void 0 ? void 0 : _99.options) === null || _100 === void 0 ? void 0 : _100.securityPolicy) !== null && _101 !== void 0 ? _101 : "trusted",
96
+ isEvergreen: (_105 = (_104 = (_103 = (_102 = appConfig.manifest) === null || _102 === void 0 ? void 0 : _102.window) === null || _103 === void 0 ? void 0 : _103.options) === null || _104 === void 0 ? void 0 : _104.isEvergreen) !== null && _105 !== void 0 ? _105 : false,
97
+ native_windowSpawnTimeout: (_109 = (_108 = (_107 = (_106 = appConfig.manifest) === null || _106 === void 0 ? void 0 : _106.window) === null || _107 === void 0 ? void 0 : _107.options) === null || _108 === void 0 ? void 0 : _108.windowSpawnTimeout) !== null && _109 !== void 0 ? _109 : 30,
98
+ preloads: (_112 = (_111 = (_110 = appConfig.manifest) === null || _110 === void 0 ? void 0 : _110.component) === null || _111 === void 0 ? void 0 : _111.preload) !== null && _112 !== void 0 ? _112 : [],
27
99
  };
28
100
  }
101
+ export function appDataToAppConfig(currentAppConfig, data, appId) {
102
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
103
+ let windowParams = currentAppConfig.manifest
104
+ ? Object.assign(Object.assign({}, currentAppConfig.manifest.window), { options: Object.assign(Object.assign({}, (_a = currentAppConfig.manifest.window) === null || _a === void 0 ? void 0 : _a.options), { securityPolicy: data.security, isEvergreen: data.isEvergreen, windowSpawnTimeout: data.native_windowSpawnTimeout }) }) : {};
105
+ if (data.appType != "web") {
106
+ windowParams.windowType = data.appType == "native" ? data.appType : "assimilation";
107
+ windowParams.path = data.path;
108
+ windowParams.arguments = (_b = data.appArguments) === null || _b === void 0 ? void 0 : _b.trim();
109
+ delete windowParams.url;
110
+ }
111
+ else {
112
+ delete windowParams.windowType;
113
+ delete windowParams.path;
114
+ delete windowParams.arguments;
115
+ windowParams.url = data.url;
116
+ }
117
+ windowParams.width = data.width;
118
+ windowParams.height = data.height;
119
+ windowParams.addToWorkspace = data.addToWorkspace;
120
+ delete windowParams.position;
121
+ delete windowParams.left;
122
+ delete windowParams.right;
123
+ delete windowParams.top;
124
+ delete windowParams.bottom;
125
+ let appConfig = Object.assign(Object.assign({}, currentAppConfig), { appId, name: data.name, description: data.description, manifest: Object.assign(Object.assign({}, currentAppConfig.manifest), { window: Object.assign(Object.assign(Object.assign({}, windowParams), genWindowParamsFromAbstractPosition(data.abstractPosition)), { options: Object.assign(Object.assign({}, windowParams === null || windowParams === void 0 ? void 0 : windowParams.options), { alwaysOnTop: data.alwaysOnTop, opacity: data.opacity, resizable: data.resizable }) }), component: Object.assign(Object.assign({}, (_c = currentAppConfig.manifest) === null || _c === void 0 ? void 0 : _c.component), { singleton: data.singleton, spawnOnStartup: data.spawnOnStartup, preload: data.preloads }), interop: Object.assign(Object.assign({}, (_d = currentAppConfig.manifest) === null || _d === void 0 ? void 0 : _d.interop), { selectConnect: data.rules, autoConnect: data.autoConnect }), foreign: Object.assign(Object.assign({}, (_e = currentAppConfig.manifest) === null || _e === void 0 ? void 0 : _e.foreign), { components: Object.assign(Object.assign({}, (_g = (_f = currentAppConfig === null || currentAppConfig === void 0 ? void 0 : currentAppConfig.manifest) === null || _f === void 0 ? void 0 : _f.foreign) === null || _g === void 0 ? void 0 : _g.components), { "App Launcher": Object.assign(Object.assign({}, (_k = (_j = (_h = currentAppConfig === null || currentAppConfig === void 0 ? void 0 : currentAppConfig.manifest) === null || _h === void 0 ? void 0 : _h.foreign) === null || _j === void 0 ? void 0 : _j.components) === null || _k === void 0 ? void 0 : _k["App Launcher"]), { launchableByUser: data.launchableByUser }), Toolbar: Object.assign(Object.assign({}, (_o = (_m = (_l = currentAppConfig === null || currentAppConfig === void 0 ? void 0 : currentAppConfig.manifest) === null || _l === void 0 ? void 0 : _l.foreign) === null || _m === void 0 ? void 0 : _m.components) === null || _o === void 0 ? void 0 : _o.Toolbar), { iconURL: data.iconURL }), "Window Manager": Object.assign(Object.assign({}, (_r = (_q = (_p = currentAppConfig === null || currentAppConfig === void 0 ? void 0 : currentAppConfig.manifest) === null || _p === void 0 ? void 0 : _p.foreign) === null || _q === void 0 ? void 0 : _q.components) === null || _r === void 0 ? void 0 : _r["Window Manager"]), { alwaysOnTopIcon: data.enableAOT || !data.alwaysOnTop, FSBLHeader: data.enableTitleBar
126
+ ? {
127
+ hideClose: data.hideClose,
128
+ hideMaximize: data.hideMaximize || !data.allowMaximize,
129
+ hideMinimize: data.hideMinimize || !data.allowMinimize,
130
+ }
131
+ : false }) }), services: Object.assign(Object.assign({}, (_t = (_s = currentAppConfig.manifest) === null || _s === void 0 ? void 0 : _s.foreign) === null || _t === void 0 ? void 0 : _t.services), { workspace: Object.assign(Object.assign({}, (_w = (_v = (_u = currentAppConfig.manifest) === null || _u === void 0 ? void 0 : _u.foreign) === null || _v === void 0 ? void 0 : _v.services) === null || _w === void 0 ? void 0 : _w.workspace), { persistPath: data.persistPath, persistURL: data.persistURL }), windowService: Object.assign(Object.assign({}, (_z = (_y = (_x = currentAppConfig.manifest) === null || _x === void 0 ? void 0 : _x.foreign) === null || _y === void 0 ? void 0 : _y.services) === null || _z === void 0 ? void 0 : _z.windowService), { allowAutoArrange: data.allowAutoArrange, allowGrouping: data.allowGrouping, allowMinimize: data.allowMinimize, allowMaximize: data.allowMaximize, allowSnapping: data.allowSnapping, allowTabbing: data.allowTabbing, allowTiling: data.allowTiling }) }) }) }), intents: data.intents });
132
+ (_0 = appConfig.manifest) === null || _0 === void 0 ? true : delete _0.temporary;
133
+ if (data.iconURL === "") {
134
+ (_2 = (_1 = appConfig.manifest) === null || _1 === void 0 ? void 0 : _1.foreign) === null || _2 === void 0 ? true : delete _2.components.Toolbar.iconURL;
135
+ }
136
+ return appConfig;
137
+ }
29
138
  export var ApplicationCloseReason;
30
139
  (function (ApplicationCloseReason) {
31
140
  ApplicationCloseReason[ApplicationCloseReason["SUCCESS"] = 0] = "SUCCESS";
32
141
  ApplicationCloseReason[ApplicationCloseReason["CANCEL"] = 1] = "CANCEL";
33
142
  ApplicationCloseReason[ApplicationCloseReason["NEW"] = 2] = "NEW";
34
143
  })(ApplicationCloseReason || (ApplicationCloseReason = {}));
144
+ const validateURL = (url) => FSBL.Clients.SmartDesktopClient.checkValidURL(url);
145
+ const helpFunction = () => {
146
+ launchTutorialLink("SDD-02-ManageApps");
147
+ };
35
148
  export const Application = (props) => {
36
149
  const dispatch = useDispatch();
37
150
  const currentAppID = props.id;
38
151
  const currentAppConfig = useSelector((state) => state.smartDesktopDesigner.apps.find((app) => app.appId === currentAppID));
39
- const currentSetupType = useSelector((state) => state.smartDesktopDesigner.currentAppSetupType);
40
- const isGettingStarted = useSelector((state) => state.smartDesktopDesigner.isGettingStarted);
41
152
  if (!currentAppConfig) {
42
153
  props.getAppConfigTemplate().then((response) => {
43
154
  props.deleteApp(currentAppID).then(() => {
@@ -52,74 +163,18 @@ export const Application = (props) => {
52
163
  React.createElement("div", { style: { marginTop: "43vh" } },
53
164
  React.createElement(CircularLoadingSpinner, null)))));
54
165
  }
55
- const isEditMode = currentSetupType === ApplicationSetupType.APP_EDIT_ADVANCED ||
56
- currentSetupType === ApplicationSetupType.APP_EDIT_SIMPLE;
57
166
  const onSaveData = (data) => new Promise((resolve, reject) => {
58
- var _a, _b;
59
167
  if (!currentAppID) {
60
168
  return reject(new Error("no app ID specified"));
61
169
  }
62
- let windowParams = currentAppConfig.manifest
63
- ? Object.assign({}, currentAppConfig.manifest.window) : {};
64
- if (data.appType == "native") {
65
- windowParams.windowType = "assimilation";
66
- windowParams.path = data.path;
67
- delete windowParams.url;
68
- }
69
- else {
70
- delete windowParams.windowType;
71
- delete windowParams.path;
72
- windowParams.url = data.url;
73
- }
74
- windowParams.width = data.width;
75
- windowParams.height = data.height;
76
- let appConfig = Object.assign(Object.assign({}, currentAppConfig), { appId: currentAppID, name: data.name, description: data.description, manifest: Object.assign(Object.assign({}, currentAppConfig.manifest), { window: windowParams, interop: Object.assign(Object.assign({}, (_a = currentAppConfig.manifest) === null || _a === void 0 ? void 0 : _a.interop), { selectConnect: data.rules }) }) });
77
- (_b = appConfig.manifest) === null || _b === void 0 ? true : delete _b.temporary;
78
- props.deleteApp(currentAppID).then(({ err }) => {
79
- if (err) {
80
- alert(err);
170
+ const appConfig = appDataToAppConfig(currentAppConfig, data, currentAppID);
171
+ props.updateApp(currentAppID, appConfig).then(({ err }) => {
172
+ console.log(err);
173
+ if (err === null) {
174
+ props.onClose(ApplicationCloseReason.SUCCESS);
81
175
  }
82
- props
83
- .addApp(currentAppID, appConfig)
84
- .then((response) => {
85
- resolve(response);
86
- })
87
- .catch((e) => {
88
- reject(e);
89
- });
90
176
  });
91
177
  });
92
- const onClickBackButton = () => {
93
- if (!isEditMode) {
94
- if (currentSetupType === null) {
95
- props.onClose(ApplicationCloseReason.CANCEL);
96
- }
97
- else {
98
- dispatch(SmartDesktopDesignerActions.set_current_app_setup_type(null));
99
- }
100
- }
101
- else {
102
- props.onClose(ApplicationCloseReason.CANCEL);
103
- }
104
- };
105
- const setCurrentSetupType = (type) => {
106
- dispatch(SmartDesktopDesignerActions.set_current_app_setup_type(type));
107
- };
108
- const backFunction = () => {
109
- props.onClose(ApplicationCloseReason.CANCEL);
110
- if (isGettingStarted) {
111
- dispatch(SmartDesktopDesignerActions.change_view("getting-started"));
112
- }
113
- };
114
- const clickWizard = () => {
115
- dispatch(SmartDesktopDesignerActions.set_current_app_setup_type(ApplicationSetupType.APP_ADD_SIMPLE));
116
- };
117
- const clickManual = () => {
118
- dispatch(SmartDesktopDesignerActions.set_current_app_setup_type(ApplicationSetupType.APP_ADD_ADVANCED));
119
- };
120
- const helpFunction = () => {
121
- launchTutorialLink("adding-applications");
122
- };
123
178
  const setCurrentComponentID = (id) => {
124
179
  if (id === "new") {
125
180
  props.onClose(ApplicationCloseReason.NEW);
@@ -128,43 +183,39 @@ export const Application = (props) => {
128
183
  props.onClose(ApplicationCloseReason.SUCCESS);
129
184
  }
130
185
  };
131
- const applicationEditProps = {
132
- id: currentAppID,
133
- data: appConfigToAppData(currentAppConfig),
134
- apps: props.apps,
135
- isSetupWizard: false,
136
- isEditMode,
137
- removeAppID: props.deleteApp,
138
- setCurrentComponentID,
139
- onClickBackButton,
140
- onSaveData,
141
- addApp: props.addApp,
142
- isInboundInteropAuthorized: props.isInboundInteropAuthorized,
143
- isOutboundInteropAuthorized: props.isOutboundInteropAuthorized,
186
+ const removeApplicationFn = () => {
187
+ props.deleteApp(currentAppID);
188
+ setCurrentComponentID("");
144
189
  };
145
- const applicationSetupProps = {
146
- id: currentAppID,
147
- data: appConfigToAppData(currentAppConfig),
148
- apps: props.apps,
149
- backFunction: () => {
150
- setCurrentSetupType(null);
190
+ const appData = appConfigToAppData(currentAppConfig);
191
+ const { displayName, windowURL, nativePath, currentAppType } = generateDefaultConfig(appData);
192
+ const appEditPageProps = {
193
+ startingDisplayName: displayName,
194
+ startingAppType: currentAppType,
195
+ startingWindowURL: windowURL,
196
+ startingNativePath: nativePath,
197
+ appData,
198
+ validateURL,
199
+ removeApplicationFn,
200
+ cancelFn: () => {
201
+ setCurrentComponentID(null);
202
+ },
203
+ submitFn: (data) => {
204
+ onSaveData === null || onSaveData === void 0 ? void 0 : onSaveData(Object.assign(Object.assign({}, data), { tags: appData.tags }));
151
205
  },
152
- removeAppID: props.deleteApp,
153
- setCurrentComponentID,
154
- onClickBackButton,
155
- onSaveData,
156
206
  addApp: props.addApp,
157
207
  isInboundInteropAuthorized: props.isInboundInteropAuthorized,
158
208
  isOutboundInteropAuthorized: props.isOutboundInteropAuthorized,
209
+ preloadAliasList: props.preloads.map((preload) => preload.alias),
159
210
  };
160
- return (React.createElement(React.Fragment, null, currentSetupType === null ? (React.createElement("div", { className: "setup-type-container" },
211
+ return (React.createElement("div", { className: "app-edit" },
161
212
  React.createElement(View, null,
162
- React.createElement(Header, { helpFunction: helpFunction, backFunction: backFunction }, "Add an app"),
163
- React.createElement(Content, null,
164
- React.createElement("h2", { className: "setup-type-heading" }, "Choose a method to add an app"),
165
- React.createElement("div", { className: "tile-type-buttons" },
166
- React.createElement(ButtonTile, { className: "icon-wizard", icon: "magic", text: "App wizard", onClick: clickWizard }),
167
- React.createElement(ButtonTile, { className: "icon-manual", icon: "tools", text: "Manual setup (advanced)", onClick: clickManual })))))) : currentSetupType === ApplicationSetupType.APP_EDIT_ADVANCED ||
168
- currentSetupType === ApplicationSetupType.APP_ADD_ADVANCED ? (React.createElement(ApplicationEdit, Object.assign({}, applicationEditProps))) : (React.createElement(ApplicationSetup, Object.assign({}, applicationSetupProps)))));
213
+ React.createElement("div", null,
214
+ React.createElement("form", { onSubmit: (e) => e.preventDefault() },
215
+ React.createElement("fieldset", { className: "app-edit-fieldset" },
216
+ React.createElement("legend", null,
217
+ React.createElement(Header, { helpFunction: helpFunction }, "Edit app")),
218
+ React.createElement(Content, null,
219
+ React.createElement(AppEditPage, Object.assign({}, appEditPageProps)))))))));
169
220
  };
170
221
  //# sourceMappingURL=Application.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Application.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React from \"react\";\nimport { useSelector, useDispatch } from \"../../store\";\nimport { View } from \"./View\";\nimport { Header } from \"../common/Header\";\nimport { Content } from \"./Content\";\nimport { ApplicationEdit } from \"./ApplicationEdit\";\nimport { ApplicationSetup } from \"./ApplicationSetup\";\nimport { ButtonTile } from \"../common/ButtonTile\";\nimport { CircularLoadingSpinner } from \"../common/LoadingSpinner\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { ApplicationSetupType } from \"../../types/smartDesktopDesignerTypes\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { launchTutorialLink } from \"./common/fsbl_functions\";\nimport * as Types from \"../../types/smartDesktopDesignerTypes\";\nimport { ApplicationEditProps } from \"./ApplicationEdit\";\nimport { ApplicationSetupProps } from \"./ApplicationSetup\";\nimport { services } from \"@finsemble/finsemble-core\";\n\ntype AppDefinition = services.Interop.types.AppDefinition;\n// Get the type of the window object within an AppD manifest. Use Required<> to resolve the ?:\ntype ManifestWindow = Required<AppDefinition>[\"manifest\"][\"window\"];\n\nexport function appConfigToAppData(appConfig: AppDefinition): Types.ApplicationSaveData {\n\treturn {\n\t\tname: appConfig.name || appConfig.manifest?.component?.displayName,\n\t\tdescription: appConfig.description || \"\",\n\t\turl: appConfig.manifest?.window?.url,\n\t\tpath: appConfig.manifest?.window?.path,\n\t\twidth: appConfig.manifest?.window?.width,\n\t\theight: appConfig.manifest?.window?.height,\n\t\trules: appConfig.manifest?.interop?.selectConnect,\n\t};\n}\n\nexport enum ApplicationCloseReason {\n\tSUCCESS,\n\tCANCEL,\n\tNEW,\n}\n\nexport type ApplicationProps = {\n\tid: string;\n\tapps: AppDefinition[];\n\taddApp: (appId: string, config: AppDefinition) => Promise<{ err: null }>;\n\tdeleteApp: typeof FSBL.Clients.SmartDesktopClient.prototype.deleteApp;\n\tgetAppConfigTemplate: typeof FSBL.Clients.SmartDesktopClient.prototype.getAppConfigTemplate;\n\tonClose: (reason: ApplicationCloseReason) => void;\n\tsetCurrentAppID: (id: string | null) => void;\n\tisInboundInteropAuthorized: typeof FSBL.Clients.SmartDesktopClient.isInboundInteropAuthorized;\n\tisOutboundInteropAuthorized: typeof FSBL.Clients.SmartDesktopClient.isOutboundInteropAuthorized;\n};\n\nexport const Application = (props: ApplicationProps) => {\n\tconst dispatch = useDispatch();\n\n\tconst currentAppID = props.id;\n\n\tconst currentAppConfig = useSelector((state: RootState) =>\n\t\tstate.smartDesktopDesigner.apps.find((app: AppDefinition) => app.appId === currentAppID)\n\t);\n\n\tconst currentSetupType = useSelector((state: RootState) => state.smartDesktopDesigner.currentAppSetupType);\n\n\tconst isGettingStarted = useSelector((state: RootState) => state.smartDesktopDesigner.isGettingStarted);\n\n\tif (!currentAppConfig) {\n\t\tprops.getAppConfigTemplate().then((response: any) => {\n\t\t\tprops.deleteApp(currentAppID).then(() => {\n\t\t\t\tconst config: AppDefinition = {\n\t\t\t\t\t...response.config,\n\t\t\t\t\tappId: currentAppID,\n\t\t\t\t\tmanifest: {\n\t\t\t\t\t\t...response.config.manifest,\n\t\t\t\t\t\t// Apps that are flagged temporary will be removed if the user cancels out of adding an app\n\t\t\t\t\t\ttemporary: true,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tprops.addApp(currentAppID, config).then(() => {\n\t\t\t\t\tdispatch(SmartDesktopDesignerActions.update_app(config));\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div style={{ overflow: \"hidden\" }}>\n\t\t\t\t\t<div style={{ marginTop: \"43vh\" }}>\n\t\t\t\t\t\t<CircularLoadingSpinner />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst isEditMode =\n\t\tcurrentSetupType === ApplicationSetupType.APP_EDIT_ADVANCED ||\n\t\tcurrentSetupType === ApplicationSetupType.APP_EDIT_SIMPLE;\n\n\tconst onSaveData = (data: Types.ApplicationSaveData) =>\n\t\tnew Promise<any>((resolve, reject) => {\n\t\t\tif (!currentAppID) {\n\t\t\t\treturn reject(new Error(\"no app ID specified\"));\n\t\t\t}\n\n\t\t\tlet windowParams: ManifestWindow = currentAppConfig.manifest\n\t\t\t\t? {\n\t\t\t\t\t\t...currentAppConfig.manifest.window,\n\t\t\t\t }\n\t\t\t\t: {};\n\n\t\t\tif (data.appType == \"native\") {\n\t\t\t\twindowParams.windowType = \"assimilation\";\n\t\t\t\twindowParams.path = data.path;\n\t\t\t\tdelete windowParams.url;\n\t\t\t} else {\n\t\t\t\tdelete windowParams.windowType;\n\t\t\t\tdelete windowParams.path;\n\t\t\t\twindowParams.url = data.url;\n\t\t\t}\n\n\t\t\twindowParams.width = data.width;\n\t\t\twindowParams.height = data.height;\n\n\t\t\tlet appConfig: AppDefinition = {\n\t\t\t\t...currentAppConfig,\n\t\t\t\tappId: currentAppID,\n\t\t\t\tname: data.name,\n\t\t\t\tdescription: data.description,\n\t\t\t\tmanifest: {\n\t\t\t\t\t...currentAppConfig.manifest,\n\t\t\t\t\twindow: windowParams,\n\t\t\t\t\tinterop: {\n\t\t\t\t\t\t...currentAppConfig.manifest?.interop,\n\t\t\t\t\t\tselectConnect: data.rules,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t\tdelete appConfig.manifest?.temporary;\n\n\t\t\t// Always remove and replace component\n\t\t\tprops.deleteApp(currentAppID).then(({ err }: { err: string }) => {\n\t\t\t\tif (err) {\n\t\t\t\t\talert(err);\n\t\t\t\t}\n\n\t\t\t\tprops\n\t\t\t\t\t.addApp(currentAppID, appConfig)\n\t\t\t\t\t.then((response: any) => {\n\t\t\t\t\t\tresolve(response);\n\t\t\t\t\t})\n\t\t\t\t\t.catch((e: any) => {\n\t\t\t\t\t\treject(e);\n\t\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\tconst onClickBackButton = () => {\n\t\tif (!isEditMode) {\n\t\t\tif (currentSetupType === null) {\n\t\t\t\tprops.onClose(ApplicationCloseReason.CANCEL);\n\t\t\t} else {\n\t\t\t\tdispatch(SmartDesktopDesignerActions.set_current_app_setup_type(null));\n\t\t\t}\n\t\t} else {\n\t\t\tprops.onClose(ApplicationCloseReason.CANCEL);\n\t\t}\n\t};\n\n\tconst setCurrentSetupType = (type: ApplicationSetupType | null) => {\n\t\tdispatch(SmartDesktopDesignerActions.set_current_app_setup_type(type));\n\t};\n\n\tconst backFunction = () => {\n\t\tprops.onClose(ApplicationCloseReason.CANCEL);\n\n\t\tif (isGettingStarted) {\n\t\t\tdispatch(SmartDesktopDesignerActions.change_view(\"getting-started\"));\n\t\t}\n\t};\n\n\tconst clickWizard = () => {\n\t\tdispatch(SmartDesktopDesignerActions.set_current_app_setup_type(ApplicationSetupType.APP_ADD_SIMPLE));\n\t};\n\n\tconst clickManual = () => {\n\t\tdispatch(SmartDesktopDesignerActions.set_current_app_setup_type(ApplicationSetupType.APP_ADD_ADVANCED));\n\t};\n\n\tconst helpFunction = () => {\n\t\tlaunchTutorialLink(\"adding-applications\");\n\t};\n\n\tconst setCurrentComponentID = (id: string | null) => {\n\t\tif (id === \"new\") {\n\t\t\tprops.onClose(ApplicationCloseReason.NEW);\n\t\t} else {\n\t\t\tprops.onClose(ApplicationCloseReason.SUCCESS);\n\t\t}\n\t};\n\n\tconst applicationEditProps: ApplicationEditProps = {\n\t\tid: currentAppID,\n\t\tdata: appConfigToAppData(currentAppConfig) as Types.ApplicationSaveData,\n\t\tapps: props.apps,\n\t\tisSetupWizard: false,\n\t\tisEditMode,\n\t\tremoveAppID: props.deleteApp,\n\t\tsetCurrentComponentID,\n\t\tonClickBackButton,\n\t\tonSaveData,\n\t\taddApp: props.addApp,\n\t\tisInboundInteropAuthorized: props.isInboundInteropAuthorized,\n\t\tisOutboundInteropAuthorized: props.isOutboundInteropAuthorized,\n\t};\n\n\tconst applicationSetupProps: ApplicationSetupProps = {\n\t\tid: currentAppID,\n\t\tdata: appConfigToAppData(currentAppConfig) as Types.ApplicationSaveData,\n\t\tapps: props.apps,\n\t\tbackFunction: () => {\n\t\t\tsetCurrentSetupType(null);\n\t\t},\n\t\tremoveAppID: props.deleteApp,\n\t\tsetCurrentComponentID,\n\t\tonClickBackButton,\n\t\tonSaveData,\n\t\taddApp: props.addApp,\n\t\tisInboundInteropAuthorized: props.isInboundInteropAuthorized,\n\t\tisOutboundInteropAuthorized: props.isOutboundInteropAuthorized,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{currentSetupType === null ? (\n\t\t\t\t<div className=\"setup-type-container\">\n\t\t\t\t\t<View>\n\t\t\t\t\t\t<Header helpFunction={helpFunction} backFunction={backFunction}>\n\t\t\t\t\t\t\tAdd an app\n\t\t\t\t\t\t</Header>\n\n\t\t\t\t\t\t<Content>\n\t\t\t\t\t\t\t<h2 className=\"setup-type-heading\">Choose a method to add an app</h2>\n\t\t\t\t\t\t\t<div className=\"tile-type-buttons\">\n\t\t\t\t\t\t\t\t<ButtonTile className=\"icon-wizard\" icon=\"magic\" text=\"App wizard\" onClick={clickWizard} />\n\t\t\t\t\t\t\t\t<ButtonTile className=\"icon-manual\" icon=\"tools\" text=\"Manual setup (advanced)\" onClick={clickManual} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</Content>\n\t\t\t\t\t</View>\n\t\t\t\t</div>\n\t\t\t) : currentSetupType === ApplicationSetupType.APP_EDIT_ADVANCED ||\n\t\t\t currentSetupType === ApplicationSetupType.APP_ADD_ADVANCED ? (\n\t\t\t\t<ApplicationEdit {...applicationEditProps} />\n\t\t\t) : (\n\t\t\t\t// else \"application setup wizard\"\n\t\t\t\t<ApplicationSetup {...applicationSetupProps} />\n\t\t\t)}\n\t\t</>\n\t);\n};\n"]}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Application.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React from \"react\";\nimport { useSelector, useDispatch } from \"../../store\";\nimport { CircularLoadingSpinner } from \"../common/LoadingSpinner\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport * as Types from \"../../types/smartDesktopDesignerTypes\";\nimport { services } from \"@finsemble/finsemble-api\";\nimport { View } from \"./View\";\nimport { Header } from \"../common/Header\";\nimport { Content } from \"./Content\";\nimport { AppEditPage } from \"./AppEditPage\";\nimport { generateDefaultConfig } from \"./sdd_helpers\";\nimport { launchTutorialLink } from \"./common/fsbl_functions\";\nimport { AppEditPageProps } from \"./AppEditPage\";\nimport { PositionTypes } from \"@finsemble/finsemble-api/types/services/window/types\";\nimport { PreloadType } from \"../../types/smartDesktopDesignerTypes\";\n\nexport type AppDefinition = services.Interop.types.AppDefinition;\n// Get the type of the window object within an AppD manifest. Use Required<> to resolve the ?:\nexport type ManifestWindow = Required<AppDefinition>[\"manifest\"][\"window\"];\n\nconst abstractPositionLookup = [\n\t// `${top}-${left}-${bottom}-${right}`\n\t\"\",\n\t\"0-0-undefined-undefined\",\n\t\"0-center-undefined-undefined\",\n\t\"0-undefined-undefined-0\",\n\t\"center-0-undefined-undefined\",\n\t\"center-center-undefined-undefined\",\n\t\"center-undefined-undefined-0\",\n\t\"undefined-0-0-undefined\",\n\t\"undefined-center-0-undefined\",\n\t\"undefined-undefined-0-0\",\n];\n\nexport const genAbstractPositionFromAppConfig = (appConfig: AppDefinition): number => {\n\tconst position = appConfig.manifest?.window?.position;\n\tconst left = appConfig.manifest?.window?.left;\n\tconst right = appConfig.manifest?.window?.right;\n\tconst top = appConfig.manifest?.window?.top;\n\tconst bottom = appConfig.manifest?.window?.bottom;\n\n\t// No position is defined\n\tif (position === undefined) {\n\t\treturn 0;\n\t}\n\n\treturn abstractPositionLookup.indexOf(`${top}-${left}-${bottom}-${right}`);\n};\nexport const genWindowParamsFromAbstractPosition = (abstractPosition: number): ManifestWindow => {\n\tif (abstractPosition <= 0) {\n\t\treturn {};\n\t}\n\tconst [top, left, bottom, right] = abstractPositionLookup[abstractPosition].split(\"-\");\n\tconst params = {\n\t\tposition: \"monitor\" as PositionTypes,\n\t\ttop,\n\t\tleft,\n\t\tbottom,\n\t\tright,\n\t};\n\n\tfor (let key in params) {\n\t\tif (params[key as keyof typeof params] === \"undefined\") {\n\t\t\tdelete params[key as keyof typeof params];\n\t\t}\n\t}\n\n\treturn params;\n};\n\n/* eslint-disable sonarjs/cognitive-complexity */\nexport function appConfigToAppData(appConfig: AppDefinition): Types.ApplicationSaveData {\n\treturn {\n\t\tname: appConfig.name || appConfig.manifest?.component?.displayName,\n\t\tdescription: appConfig.description || \"\",\n\t\turl: appConfig.manifest?.window?.url,\n\t\tpath: appConfig.manifest?.window?.path,\n\t\tappArguments: appConfig.manifest?.window?.arguments,\n\t\tappType: appConfig.manifest?.window?.windowType,\n\t\twidth: appConfig.manifest?.window?.width,\n\t\theight: appConfig.manifest?.window?.height,\n\t\ticonURL: appConfig.manifest?.foreign?.components?.Toolbar?.iconURL,\n\t\trules: appConfig.manifest?.interop?.selectConnect,\n\t\tintents: appConfig.intents ?? [],\n\t\tpersistPath: appConfig.manifest?.foreign?.services?.workspace?.persistPath ?? false,\n\t\tpersistURL: appConfig.manifest?.foreign?.services?.workspace?.persistURL ?? false,\n\t\taddToWorkspace: appConfig.manifest?.window?.addToWorkspace ?? true,\n\t\tallowAutoArrange: appConfig.manifest?.foreign?.services?.windowService?.allowAutoArrange ?? true,\n\t\tallowGrouping: appConfig.manifest?.foreign?.services?.windowService?.allowGrouping ?? true,\n\t\tallowMaximize: appConfig.manifest?.foreign?.services?.windowService?.allowMaximize ?? true,\n\t\tallowMinimize: appConfig.manifest?.foreign?.services?.windowService?.allowMinimize ?? true,\n\t\tallowSnapping: appConfig.manifest?.foreign?.services?.windowService?.allowSnapping ?? true,\n\t\tallowTabbing: appConfig.manifest?.foreign?.services?.windowService?.allowTabbing ?? true,\n\t\tallowTiling: appConfig.manifest?.foreign?.services?.windowService?.allowTiling ?? true,\n\t\tenableAOT: appConfig.manifest?.foreign?.components?.[\"Window Manager\"]?.alwaysOnTopIcon ?? false,\n\t\tenableTitleBar: appConfig.manifest?.foreign?.components?.[\"Window Manager\"]?.FSBLHeader !== false,\n\t\thideClose: appConfig.manifest?.foreign?.components?.[\"Window Manager\"]?.FSBLHeader?.hideClose ?? false,\n\t\thideMaximize: appConfig.manifest?.foreign?.components?.[\"Window Manager\"]?.FSBLHeader?.hideMaximize ?? false,\n\t\thideMinimize: appConfig.manifest?.foreign?.components?.[\"Window Manager\"]?.FSBLHeader?.hideMinimize ?? false,\n\t\tautoConnect: appConfig.manifest?.interop?.autoConnect ?? true,\n\t\tabstractPosition: genAbstractPositionFromAppConfig(appConfig),\n\t\talwaysOnTop: appConfig.manifest?.window?.options?.alwaysOnTop ?? false,\n\t\topacity: appConfig.manifest?.window?.options?.opacity ?? 1,\n\t\tresizable: appConfig.manifest?.window?.options?.resizable ?? true,\n\t\tsingleton: appConfig.manifest?.component?.singleton ?? false,\n\t\tspawnOnStartup: appConfig.manifest?.component?.spawnOnStartup ?? false,\n\t\tlaunchableByUser: appConfig.manifest?.foreign?.components?.[\"App Launcher\"]?.launchableByUser ?? true,\n\t\tsecurity: appConfig.manifest?.window?.options?.securityPolicy ?? \"trusted\",\n\t\tisEvergreen: appConfig.manifest?.window?.options?.isEvergreen ?? false,\n\t\tnative_windowSpawnTimeout: appConfig.manifest?.window?.options?.windowSpawnTimeout ?? 30,\n\t\tpreloads: appConfig.manifest?.component?.preload ?? [],\n\t};\n}\n\nexport function appDataToAppConfig(\n\tcurrentAppConfig: AppDefinition,\n\tdata: Types.ApplicationSaveData,\n\tappId: string\n): AppDefinition {\n\tlet windowParams: ManifestWindow = currentAppConfig.manifest\n\t\t? {\n\t\t\t\t...currentAppConfig.manifest.window,\n\t\t\t\toptions: {\n\t\t\t\t\t...currentAppConfig.manifest.window?.options,\n\t\t\t\t\tsecurityPolicy: data.security,\n\t\t\t\t\tisEvergreen: data.isEvergreen,\n\t\t\t\t\twindowSpawnTimeout: data.native_windowSpawnTimeout,\n\t\t\t\t},\n\t\t }\n\t\t: {};\n\n\tif (data.appType != \"web\") {\n\t\twindowParams.windowType = data.appType == \"native\" ? data.appType : \"assimilation\";\n\t\twindowParams.path = data.path;\n\t\twindowParams.arguments = data.appArguments?.trim();\n\t\tdelete windowParams.url;\n\t} else {\n\t\tdelete windowParams.windowType;\n\t\tdelete windowParams.path;\n\t\tdelete windowParams.arguments;\n\t\twindowParams.url = data.url;\n\t}\n\n\twindowParams.width = data.width;\n\twindowParams.height = data.height;\n\twindowParams.addToWorkspace = data.addToWorkspace;\n\n\tdelete windowParams.position;\n\tdelete windowParams.left;\n\tdelete windowParams.right;\n\tdelete windowParams.top;\n\tdelete windowParams.bottom;\n\n\tlet appConfig: AppDefinition = {\n\t\t...currentAppConfig,\n\t\tappId,\n\t\tname: data.name,\n\t\tdescription: data.description,\n\t\tmanifest: {\n\t\t\t...currentAppConfig.manifest,\n\t\t\twindow: {\n\t\t\t\t...windowParams,\n\t\t\t\t...genWindowParamsFromAbstractPosition(data.abstractPosition),\n\t\t\t\toptions: {\n\t\t\t\t\t...windowParams?.options,\n\t\t\t\t\talwaysOnTop: data.alwaysOnTop,\n\t\t\t\t\topacity: data.opacity,\n\t\t\t\t\tresizable: data.resizable,\n\t\t\t\t},\n\t\t\t},\n\t\t\tcomponent: {\n\t\t\t\t...currentAppConfig.manifest?.component,\n\t\t\t\tsingleton: data.singleton,\n\t\t\t\tspawnOnStartup: data.spawnOnStartup,\n\t\t\t\tpreload: data.preloads,\n\t\t\t},\n\t\t\tinterop: {\n\t\t\t\t...currentAppConfig.manifest?.interop,\n\t\t\t\tselectConnect: data.rules,\n\t\t\t\tautoConnect: data.autoConnect,\n\t\t\t},\n\t\t\tforeign: {\n\t\t\t\t...currentAppConfig.manifest?.foreign,\n\t\t\t\tcomponents: {\n\t\t\t\t\t...currentAppConfig?.manifest?.foreign?.components,\n\t\t\t\t\t\"App Launcher\": {\n\t\t\t\t\t\t...currentAppConfig?.manifest?.foreign?.components?.[\"App Launcher\"],\n\t\t\t\t\t\tlaunchableByUser: data.launchableByUser,\n\t\t\t\t\t},\n\t\t\t\t\tToolbar: {\n\t\t\t\t\t\t...currentAppConfig?.manifest?.foreign?.components?.Toolbar,\n\t\t\t\t\t\ticonURL: data.iconURL,\n\t\t\t\t\t},\n\t\t\t\t\t\"Window Manager\": {\n\t\t\t\t\t\t...currentAppConfig?.manifest?.foreign?.components?.[\"Window Manager\"],\n\t\t\t\t\t\talwaysOnTopIcon: data.enableAOT || !data.alwaysOnTop,\n\t\t\t\t\t\tFSBLHeader: data.enableTitleBar\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\thideClose: data.hideClose,\n\t\t\t\t\t\t\t\t\thideMaximize: data.hideMaximize || !data.allowMaximize,\n\t\t\t\t\t\t\t\t\thideMinimize: data.hideMinimize || !data.allowMinimize,\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tservices: {\n\t\t\t\t\t...currentAppConfig.manifest?.foreign?.services,\n\t\t\t\t\tworkspace: {\n\t\t\t\t\t\t...currentAppConfig.manifest?.foreign?.services?.workspace,\n\t\t\t\t\t\tpersistPath: data.persistPath,\n\t\t\t\t\t\tpersistURL: data.persistURL,\n\t\t\t\t\t},\n\t\t\t\t\twindowService: {\n\t\t\t\t\t\t...currentAppConfig.manifest?.foreign?.services?.windowService,\n\t\t\t\t\t\tallowAutoArrange: data.allowAutoArrange,\n\t\t\t\t\t\tallowGrouping: data.allowGrouping,\n\t\t\t\t\t\tallowMinimize: data.allowMinimize,\n\t\t\t\t\t\tallowMaximize: data.allowMaximize,\n\t\t\t\t\t\tallowSnapping: data.allowSnapping,\n\t\t\t\t\t\tallowTabbing: data.allowTabbing,\n\t\t\t\t\t\tallowTiling: data.allowTiling,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tintents: data.intents,\n\t};\n\n\tdelete appConfig.manifest?.temporary;\n\tif (data.iconURL === \"\") {\n\t\tdelete appConfig.manifest?.foreign?.components.Toolbar.iconURL;\n\t}\n\treturn appConfig;\n}\n\nexport enum ApplicationCloseReason {\n\tSUCCESS,\n\tCANCEL,\n\tNEW,\n}\n\nexport type ApplicationProps = {\n\tid: string;\n\tapps: AppDefinition[];\n\taddApp: (appId: string, config: AppDefinition) => Promise<{ err: null }>;\n\tupdateApp: (appId: string, config: AppDefinition) => Promise<{ err: null }>;\n\tdeleteApp: typeof FSBL.Clients.SmartDesktopClient.prototype.deleteApp;\n\tgetAppConfigTemplate: typeof FSBL.Clients.SmartDesktopClient.prototype.getAppConfigTemplate;\n\tonClose: (reason: ApplicationCloseReason) => void;\n\tsetCurrentAppID: (id: string | null) => void;\n\tisInboundInteropAuthorized: typeof FSBL.Clients.SmartDesktopClient.isInboundInteropAuthorized;\n\tisOutboundInteropAuthorized: typeof FSBL.Clients.SmartDesktopClient.isOutboundInteropAuthorized;\n\tpreloads: PreloadType[];\n};\n\nconst validateURL = (url: string) => FSBL.Clients.SmartDesktopClient.checkValidURL(url);\n\nconst helpFunction = () => {\n\tlaunchTutorialLink(\"SDD-02-ManageApps\");\n};\n\nexport const Application = (props: ApplicationProps) => {\n\tconst dispatch = useDispatch();\n\n\tconst currentAppID = props.id;\n\n\tconst currentAppConfig = useSelector((state: RootState) =>\n\t\tstate.smartDesktopDesigner.apps.find((app: AppDefinition) => app.appId === currentAppID)\n\t);\n\n\tif (!currentAppConfig) {\n\t\tprops.getAppConfigTemplate().then((response: any) => {\n\t\t\tprops.deleteApp(currentAppID).then(() => {\n\t\t\t\tconst config: AppDefinition = {\n\t\t\t\t\t...response.config,\n\t\t\t\t\tappId: currentAppID,\n\t\t\t\t\tmanifest: {\n\t\t\t\t\t\t...response.config.manifest,\n\t\t\t\t\t\t// Apps that are flagged temporary will be removed if the user cancels out of adding an app\n\t\t\t\t\t\ttemporary: true,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tprops.addApp(currentAppID, config).then(() => {\n\t\t\t\t\tdispatch(SmartDesktopDesignerActions.update_app(config));\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div style={{ overflow: \"hidden\" }}>\n\t\t\t\t\t<div style={{ marginTop: \"43vh\" }}>\n\t\t\t\t\t\t<CircularLoadingSpinner />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst onSaveData = (data: Types.ApplicationSaveData) =>\n\t\tnew Promise<any>((resolve, reject) => {\n\t\t\tif (!currentAppID) {\n\t\t\t\treturn reject(new Error(\"no app ID specified\"));\n\t\t\t}\n\n\t\t\tconst appConfig = appDataToAppConfig(currentAppConfig, data, currentAppID);\n\t\t\tprops.updateApp(currentAppID, appConfig).then(({ err }) => {\n\t\t\t\tconsole.log(err);\n\t\t\t\tif (err === null) {\n\t\t\t\t\tprops.onClose(ApplicationCloseReason.SUCCESS);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\tconst setCurrentComponentID = (id: string | null) => {\n\t\tif (id === \"new\") {\n\t\t\tprops.onClose(ApplicationCloseReason.NEW);\n\t\t} else {\n\t\t\tprops.onClose(ApplicationCloseReason.SUCCESS);\n\t\t}\n\t};\n\n\tconst removeApplicationFn = () => {\n\t\tprops.deleteApp(currentAppID);\n\t\tsetCurrentComponentID(\"\");\n\t};\n\n\tconst appData = appConfigToAppData(currentAppConfig) as Types.ApplicationSaveData;\n\tconst { displayName, windowURL, nativePath, currentAppType } = generateDefaultConfig(appData);\n\n\tconst appEditPageProps: AppEditPageProps = {\n\t\tstartingDisplayName: displayName,\n\t\tstartingAppType: currentAppType,\n\t\tstartingWindowURL: windowURL,\n\t\tstartingNativePath: nativePath,\n\t\tappData,\n\t\tvalidateURL,\n\t\tremoveApplicationFn,\n\t\tcancelFn: () => {\n\t\t\tsetCurrentComponentID(null);\n\t\t},\n\t\tsubmitFn: (data: Types.ApplicationSaveData) => {\n\t\t\tonSaveData?.({\n\t\t\t\t...data,\n\t\t\t\ttags: appData.tags,\n\t\t\t});\n\t\t},\n\t\taddApp: props.addApp,\n\t\tisInboundInteropAuthorized: props.isInboundInteropAuthorized,\n\t\tisOutboundInteropAuthorized: props.isOutboundInteropAuthorized,\n\t\tpreloadAliasList: props.preloads.map((preload) => preload.alias),\n\t};\n\n\treturn (\n\t\t<div className=\"app-edit\">\n\t\t\t<View>\n\t\t\t\t<div>\n\t\t\t\t\t<form onSubmit={(e) => e.preventDefault()}>\n\t\t\t\t\t\t<fieldset className=\"app-edit-fieldset\">\n\t\t\t\t\t\t\t<legend>\n\t\t\t\t\t\t\t\t<Header helpFunction={helpFunction}>Edit app</Header>\n\t\t\t\t\t\t\t</legend>\n\n\t\t\t\t\t\t\t<Content>\n\t\t\t\t\t\t\t\t<AppEditPage {...appEditPageProps} />\n\t\t\t\t\t\t\t</Content>\n\t\t\t\t\t\t</fieldset>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t</View>\n\t\t</div>\n\t);\n};\n"]}
@@ -7,13 +7,12 @@ export declare type ApplicationsProps = {
7
7
  getApps: typeof FSBL.Clients.SmartDesktopClient.prototype.getApps;
8
8
  addApp: typeof FSBL.Clients.SmartDesktopClient.prototype.addApp;
9
9
  deleteApp: typeof FSBL.Clients.SmartDesktopClient.prototype.deleteApp;
10
+ updateApp: typeof FSBL.Clients.SmartDesktopClient.prototype.updateApp;
10
11
  getAppConfigTemplate: typeof FSBL.Clients.SmartDesktopClient.prototype.getAppConfigTemplate;
11
12
  getMenus: typeof FSBL.Clients.SmartDesktopClient.prototype.getMenus;
12
13
  addMenu: typeof FSBL.Clients.SmartDesktopClient.prototype.addMenu;
13
14
  updateMenu: typeof FSBL.Clients.SmartDesktopClient.prototype.updateMenu;
14
- deleteMenu: (value: string) => Promise<{
15
- err: any;
16
- }>;
15
+ getPreloads: typeof FSBL.Clients.SmartDesktopClient.prototype.getPreloads;
17
16
  isInboundInteropAuthorized: typeof FSBL.Clients.SmartDesktopClient.isInboundInteropAuthorized;
18
17
  isOutboundInteropAuthorized: typeof FSBL.Clients.SmartDesktopClient.isOutboundInteropAuthorized;
19
18
  };