@finsemble/finsemble-ui 6.2.0 → 6.3.0-beta.20211008

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 (705) hide show
  1. package/package.json +17 -16
  2. package/react/actions/smartDesktopDesignerActions.d.ts +7 -8
  3. package/react/actions/smartDesktopDesignerActions.js.map +1 -1
  4. package/react/actions/toolbarActions.d.ts +2 -3
  5. package/react/actions/toolbarActions.js.map +1 -1
  6. package/react/assets/css/notificationsCenter.css +4 -2
  7. package/react/assets/css/userPreferences.css +1 -0
  8. package/react/assets/css/windowTitleBar.css +33 -1
  9. package/react/components/FinsembleProvider.js +1 -1
  10. package/react/components/FinsembleProvider.js.map +1 -1
  11. package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
  12. package/react/components/appCatalog/components/AppList.d.ts +7 -1
  13. package/react/components/appCatalog/components/AppList.js +1 -1
  14. package/react/components/appCatalog/components/AppList.js.map +1 -1
  15. package/react/components/appCatalog/components/AppResults.d.ts +10 -8
  16. package/react/components/appCatalog/components/AppResults.js +1 -1
  17. package/react/components/appCatalog/components/AppResults.js.map +1 -1
  18. package/react/components/appCatalog/components/Carousel.js +1 -1
  19. package/react/components/appCatalog/components/Carousel.js.map +1 -1
  20. package/react/components/appCatalog/components/EmptyResults.d.ts +2 -1
  21. package/react/components/appCatalog/components/EmptyResults.js +2 -4
  22. package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
  23. package/react/components/appCatalog/components/Hero.d.ts +24 -4
  24. package/react/components/appCatalog/components/Hero.js +2 -1
  25. package/react/components/appCatalog/components/Hero.js.map +1 -1
  26. package/react/components/appCatalog/components/Home.d.ts +18 -4
  27. package/react/components/appCatalog/components/Home.js.map +1 -1
  28. package/react/components/appCatalog/components/SearchBar.d.ts +20 -7
  29. package/react/components/appCatalog/components/SearchBar.js +4 -7
  30. package/react/components/appCatalog/components/SearchBar.js.map +1 -1
  31. package/react/components/appCatalog/components/Showcase/AppDescription.d.ts +5 -3
  32. package/react/components/appCatalog/components/Showcase/AppDescription.js +4 -6
  33. package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
  34. package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts +5 -4
  35. package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
  36. package/react/components/appCatalog/components/Showcase/AppShowcase.js +1 -1
  37. package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
  38. package/react/components/appCatalog/components/Showcase/Header.d.ts +13 -5
  39. package/react/components/appCatalog/components/Showcase/Header.js +2 -2
  40. package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
  41. package/react/components/appCatalog/components/Showcase/Modal.d.ts +7 -4
  42. package/react/components/appCatalog/components/Showcase/Modal.js +6 -6
  43. package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
  44. package/react/components/appCatalog/components/Showcase/defaults.d.ts +3 -3
  45. package/react/components/appCatalog/components/Showcase/defaults.js.map +1 -1
  46. package/react/components/appCatalog/components/Tag.d.ts +6 -4
  47. package/react/components/appCatalog/components/Tag.js.map +1 -1
  48. package/react/components/appCatalog/components/Toast.d.ts +5 -3
  49. package/react/components/appCatalog/components/Toast.js +5 -4
  50. package/react/components/appCatalog/components/Toast.js.map +1 -1
  51. package/react/components/appCatalog/modules/AppDirectory.d.ts +5 -1
  52. package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
  53. package/react/components/appCatalog/modules/FDC3.d.ts +12 -11
  54. package/react/components/appCatalog/modules/FDC3.js +20 -18
  55. package/react/components/appCatalog/modules/FDC3.js.map +1 -1
  56. package/react/components/appCatalog/stores/appStore.d.ts +9 -2
  57. package/react/components/appCatalog/stores/appStore.js +10 -4
  58. package/react/components/appCatalog/stores/appStore.js.map +1 -1
  59. package/react/components/appCatalog/stores/storeActions.js.map +1 -1
  60. package/react/components/common/Button.d.ts +4 -4
  61. package/react/components/common/Button.js +1 -1
  62. package/react/components/common/Button.js.map +1 -1
  63. package/react/components/common/ButtonIcon.js +1 -1
  64. package/react/components/common/ButtonIcon.js.map +1 -1
  65. package/react/components/common/ColorPicker.js +1 -1
  66. package/react/components/common/ColorPicker.js.map +1 -1
  67. package/react/components/common/DropZone.d.ts +0 -5
  68. package/react/components/common/DropZone.js.map +1 -1
  69. package/react/components/common/DropdownButton.js +1 -1
  70. package/react/components/common/DropdownButton.js.map +1 -1
  71. package/react/components/common/FileInput.d.ts +0 -5
  72. package/react/components/common/FileInput.js +7 -9
  73. package/react/components/common/FileInput.js.map +1 -1
  74. package/react/components/common/FinsembleIcon.d.ts +2 -2
  75. package/react/components/common/FinsembleIcon.js.map +1 -1
  76. package/react/components/common/FinsembleSelect.js +2 -5
  77. package/react/components/common/FinsembleSelect.js.map +1 -1
  78. package/react/components/common/FinsembleToggle.js +2 -2
  79. package/react/components/common/FinsembleToggle.js.map +1 -1
  80. package/react/components/common/FontSizeSelector.js +2 -2
  81. package/react/components/common/FontSizeSelector.js.map +1 -1
  82. package/react/components/common/ImagePreview.js +2 -2
  83. package/react/components/common/ImagePreview.js.map +1 -1
  84. package/react/components/common/Tab.js +2 -1
  85. package/react/components/common/Tab.js.map +1 -1
  86. package/react/components/common/file_helpers.js +3 -2
  87. package/react/components/common/file_helpers.js.map +1 -1
  88. package/react/components/common/helpers.js +8 -10
  89. package/react/components/common/helpers.js.map +1 -1
  90. package/react/components/common/stories/Button.stories.js +1 -1
  91. package/react/components/common/stories/Button.stories.js.map +1 -1
  92. package/react/components/common/stories/ButtonIcon.stories.js +1 -1
  93. package/react/components/common/stories/ButtonIcon.stories.js.map +1 -1
  94. package/react/components/common/stories/ButtonRow.stories.js +2 -2
  95. package/react/components/common/stories/ButtonRow.stories.js.map +1 -1
  96. package/react/components/common/stories/ButtonTile.stories.js +1 -1
  97. package/react/components/common/stories/ButtonTile.stories.js.map +1 -1
  98. package/react/components/common/stories/Checkbox.stories.js +1 -1
  99. package/react/components/common/stories/Checkbox.stories.js.map +1 -1
  100. package/react/components/common/stories/ColorPicker.stories.js +1 -1
  101. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  102. package/react/components/common/stories/DropZone.stories.js +1 -1
  103. package/react/components/common/stories/DropZone.stories.js.map +1 -1
  104. package/react/components/common/stories/FinsembleIcon.stories.js.map +1 -1
  105. package/react/components/common/stories/FinsembleSelect.stories.js +1 -1
  106. package/react/components/common/stories/FinsembleSelect.stories.js.map +1 -1
  107. package/react/components/common/stories/FinsembleToggle.stories.js +3 -1
  108. package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
  109. package/react/components/common/stories/FontSizeSelector.stories.js +1 -1
  110. package/react/components/common/stories/FontSizeSelector.stories.js.map +1 -1
  111. package/react/components/common/stories/Header.stories.js +1 -1
  112. package/react/components/common/stories/Header.stories.js.map +1 -1
  113. package/react/components/common/tests/Checkbox.spec.js +4 -4
  114. package/react/components/common/tests/Checkbox.spec.js.map +1 -1
  115. package/react/components/common/tests/ColorPicker.spec.js +6 -6
  116. package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
  117. package/react/components/common/tests/DropZone.spec.js +4 -4
  118. package/react/components/common/tests/DropZone.spec.js.map +1 -1
  119. package/react/components/common/tests/FileInput.spec.js +5 -5
  120. package/react/components/common/tests/FileInput.spec.js.map +1 -1
  121. package/react/components/common/tests/FinsembleSelect.spec.js +12 -11
  122. package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
  123. package/react/components/common/tests/FinsembleToggle.spec.js +8 -2
  124. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  125. package/react/components/common/tests/Header.spec.js +3 -3
  126. package/react/components/common/tests/Header.spec.js.map +1 -1
  127. package/react/components/common/tests/ImagePreview.spec.js +8 -8
  128. package/react/components/common/tests/ImagePreview.spec.js.map +1 -1
  129. package/react/components/common/tests/Tab.spec.js +3 -3
  130. package/react/components/common/tests/Tab.spec.js.map +1 -1
  131. package/react/components/common/tests/Tooltip.spec.js +5 -5
  132. package/react/components/common/tests/Tooltip.spec.js.map +1 -1
  133. package/react/components/favorites/FavoriteMaker.d.ts +0 -5
  134. package/react/components/favorites/FavoriteMaker.js +1 -1
  135. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  136. package/react/components/favorites/FavoritesShell.js +1 -1
  137. package/react/components/favorites/FavoritesShell.js.map +1 -1
  138. package/react/components/favorites/FavoritesShell.spec.js +7 -7
  139. package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
  140. package/react/components/favorites/FavoritesShell.stories.js +5 -4
  141. package/react/components/favorites/FavoritesShell.stories.js.map +1 -1
  142. package/react/components/fdc3Resolver/ResolverContainer.js +2 -1
  143. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  144. package/react/components/fdc3Resolver/ResolverDialog.js +13 -13
  145. package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
  146. package/react/components/fdc3Resolver/ResolverDialog.spec.js +5 -5
  147. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
  148. package/react/components/fdc3Resolver/ResolverDialog.stories.js +1 -1
  149. package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
  150. package/react/components/icon/Icon.js +5 -4
  151. package/react/components/icon/Icon.js.map +1 -1
  152. package/react/components/legacyControls/FinsembleDialogButton.d.ts +1 -1
  153. package/react/components/legacyControls/FinsembleDialogButton.js +4 -3
  154. package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
  155. package/react/components/legacyControls/FinsembleDialogQuestion.js +2 -1
  156. package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
  157. package/react/components/legacyControls/FinsembleDialogTextInput.d.ts +1 -1
  158. package/react/components/legacyControls/FinsembleDialogTextInput.js +8 -5
  159. package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
  160. package/react/components/legacyControls/FinsembleDnDContext.js +18 -17
  161. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  162. package/react/components/legacyControls/FinsembleDraggable.js +3 -3
  163. package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
  164. package/react/components/legacyControls/FinsembleHoverDetector.js +2 -1
  165. package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
  166. package/react/components/legacyControls/FinsembleMenuSection.js +6 -3
  167. package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
  168. package/react/components/legacyControls/stories/FinsembleDialog.stories.js +1 -1
  169. package/react/components/legacyControls/stories/FinsembleDialog.stories.js.map +1 -1
  170. package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js +1 -1
  171. package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js.map +1 -1
  172. package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js +1 -1
  173. package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js.map +1 -1
  174. package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js +1 -1
  175. package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js.map +1 -1
  176. package/react/components/legacyControls/tests/FinsembleDialog.spec.js +1 -1
  177. package/react/components/legacyControls/tests/FinsembleDialog.spec.js.map +1 -1
  178. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js +8 -7
  179. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
  180. package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js +7 -5
  181. package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js.map +1 -1
  182. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +13 -12
  183. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
  184. package/react/components/linker/LinkerMenu.js +4 -3
  185. package/react/components/linker/LinkerMenu.js.map +1 -1
  186. package/react/components/linker/LinkerMenuDeprecated.js +1 -1
  187. package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
  188. package/react/components/linker/remoteRedux.d.ts +10 -42
  189. package/react/components/linker/remoteRedux.js.map +1 -1
  190. package/react/components/menu/Menu.d.ts +1 -1
  191. package/react/components/menu/Menu.js +1 -1
  192. package/react/components/menu/Menu.js.map +1 -1
  193. package/react/components/menu/MenuAutoResizer.js.map +1 -1
  194. package/react/components/menu/MenuPortal.js +7 -6
  195. package/react/components/menu/MenuPortal.js.map +1 -1
  196. package/react/components/menu/keyboardNavigation.js +14 -15
  197. package/react/components/menu/keyboardNavigation.js.map +1 -1
  198. package/react/components/notifications/components/NoNotifications.js +2 -4
  199. package/react/components/notifications/components/NoNotifications.js.map +1 -1
  200. package/react/components/notifications/components/drawer/Drawer.js +2 -4
  201. package/react/components/notifications/components/drawer/Drawer.js.map +1 -1
  202. package/react/components/notifications/components/drawer/DrawerControls.js +2 -4
  203. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  204. package/react/components/notifications/components/drawer/DrawerHeader.js +1 -4
  205. package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
  206. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +28 -43
  207. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  208. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +10 -9
  209. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
  210. package/react/components/notifications/components/shared/CheckButton.d.ts +2 -2
  211. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  212. package/react/components/notifications/components/shared/IconButton.js +3 -5
  213. package/react/components/notifications/components/shared/IconButton.js.map +1 -1
  214. package/react/components/notifications/components/shared/NotificationCardShell.d.ts +3 -2
  215. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  216. package/react/components/notifications/components/shared/OverflowMenu.d.ts +2 -1
  217. package/react/components/notifications/components/shared/OverflowMenu.js +6 -5
  218. package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
  219. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts +3 -2
  220. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js +1 -1
  221. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js.map +1 -1
  222. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts +3 -2
  223. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  224. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +3 -2
  225. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js +2 -4
  226. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
  227. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts +3 -2
  228. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  229. package/react/components/notifications/components/views/CardView.js +15 -24
  230. package/react/components/notifications/components/views/CardView.js.map +1 -1
  231. package/react/components/notifications/components/views/ListView.d.ts +2 -2
  232. package/react/components/notifications/components/views/ListView.js +9 -9
  233. package/react/components/notifications/components/views/ListView.js.map +1 -1
  234. package/react/components/notifications/components/views/NotificationDetailsView.d.ts +2 -2
  235. package/react/components/notifications/components/views/NotificationDetailsView.js +2 -6
  236. package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
  237. package/react/components/notifications/types.d.ts +7 -6
  238. package/react/components/notifications/types.js.map +1 -1
  239. package/react/components/notifications/utils.d.ts +6 -4
  240. package/react/components/notifications/utils.js +26 -32
  241. package/react/components/notifications/utils.js.map +1 -1
  242. package/react/components/processMonitor/ProcessMonitor.d.ts +3 -1
  243. package/react/components/processMonitor/ProcessMonitor.js +17 -10
  244. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  245. package/react/components/processMonitor/ProcessMonitorTypes.d.ts +33 -0
  246. package/react/components/processMonitor/ProcessMonitorTypes.js +6 -0
  247. package/react/components/processMonitor/ProcessMonitorTypes.js.map +1 -0
  248. package/react/components/processMonitor/components/ChildWindow.d.ts +10 -3
  249. package/react/components/processMonitor/components/ChildWindow.js +19 -10
  250. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  251. package/react/components/processMonitor/components/ListHeader.d.ts +17 -4
  252. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  253. package/react/components/processMonitor/components/ProcessStatistics.d.ts +11 -3
  254. package/react/components/processMonitor/components/ProcessStatistics.js +25 -18
  255. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  256. package/react/components/processMonitor/constants.d.ts +11 -16
  257. package/react/components/processMonitor/constants.js +3 -1
  258. package/react/components/processMonitor/constants.js.map +1 -1
  259. package/react/components/processMonitor/helpers.d.ts +25 -5
  260. package/react/components/processMonitor/helpers.js +28 -20
  261. package/react/components/processMonitor/helpers.js.map +1 -1
  262. package/react/components/processMonitor/helpers.spec.d.ts +1 -0
  263. package/react/components/processMonitor/helpers.spec.js +44 -0
  264. package/react/components/processMonitor/helpers.spec.js.map +1 -0
  265. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +30 -15
  266. package/react/components/processMonitor/stores/ProcessMonitorStore.js +101 -86
  267. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  268. package/react/components/quickComponentForm/QuickComponentForm.d.ts +4 -1
  269. package/react/components/quickComponentForm/QuickComponentForm.js +13 -14
  270. package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
  271. package/react/components/search/Highlight.js +2 -2
  272. package/react/components/search/Highlight.js.map +1 -1
  273. package/react/components/search/Highlight.spec.js +3 -3
  274. package/react/components/search/Highlight.spec.js.map +1 -1
  275. package/react/components/search/Highlight.stories.js +1 -1
  276. package/react/components/search/Highlight.stories.js.map +1 -1
  277. package/react/components/search/Search.js +17 -8
  278. package/react/components/search/Search.js.map +1 -1
  279. package/react/components/search/SearchBestMatch.js +2 -1
  280. package/react/components/search/SearchBestMatch.js.map +1 -1
  281. package/react/components/search/SearchProviderResults.js +4 -5
  282. package/react/components/search/SearchProviderResults.js.map +1 -1
  283. package/react/components/search/SearchResult.js +3 -2
  284. package/react/components/search/SearchResult.js.map +1 -1
  285. package/react/components/search/SearchResults.js +1 -1
  286. package/react/components/search/SearchResults.js.map +1 -1
  287. package/react/components/shared/Button.js +2 -4
  288. package/react/components/shared/Button.js.map +1 -1
  289. package/react/components/shared/DefaultDropdownButton.js +1 -1
  290. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  291. package/react/components/shared/NavigationButton.js +9 -11
  292. package/react/components/shared/NavigationButton.js.map +1 -1
  293. package/react/components/shared/Tag.d.ts +11 -1
  294. package/react/components/shared/Tag.js.map +1 -1
  295. package/react/components/shared/TagsMenu.d.ts +26 -6
  296. package/react/components/shared/TagsMenu.js.map +1 -1
  297. package/react/components/shared/linkerUtil.d.ts +3 -1
  298. package/react/components/shared/linkerUtil.js.map +1 -1
  299. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
  300. package/react/components/singleInputDialog/SingleInputDialog.spec.js +6 -6
  301. package/react/components/singleInputDialog/SingleInputDialog.spec.js.map +1 -1
  302. package/react/components/singleInputDialog/SingleInputDialog.stories.js +1 -1
  303. package/react/components/singleInputDialog/SingleInputDialog.stories.js.map +1 -1
  304. package/react/components/smartDesktopDesigner/AppEditAccess.d.ts +1 -1
  305. package/react/components/smartDesktopDesigner/AppEditAccess.js +17 -34
  306. package/react/components/smartDesktopDesigner/AppEditAccess.js.map +1 -1
  307. package/react/components/smartDesktopDesigner/AppEditPage.d.ts +4 -4
  308. package/react/components/smartDesktopDesigner/AppEditPage.js +2 -2
  309. package/react/components/smartDesktopDesigner/AppEditPage.js.map +1 -1
  310. package/react/components/smartDesktopDesigner/Appearance.js +3 -5
  311. package/react/components/smartDesktopDesigner/Appearance.js.map +1 -1
  312. package/react/components/smartDesktopDesigner/Application.d.ts +4 -4
  313. package/react/components/smartDesktopDesigner/Application.js +84 -92
  314. package/react/components/smartDesktopDesigner/Application.js.map +1 -1
  315. package/react/components/smartDesktopDesigner/ApplicationEdit.d.ts +1 -1
  316. package/react/components/smartDesktopDesigner/ApplicationEdit.js +68 -51
  317. package/react/components/smartDesktopDesigner/ApplicationEdit.js.map +1 -1
  318. package/react/components/smartDesktopDesigner/ApplicationList.d.ts +4 -2
  319. package/react/components/smartDesktopDesigner/ApplicationList.js +23 -20
  320. package/react/components/smartDesktopDesigner/ApplicationList.js.map +1 -1
  321. package/react/components/smartDesktopDesigner/ApplicationSetup.d.ts +4 -3
  322. package/react/components/smartDesktopDesigner/ApplicationSetup.js +8 -20
  323. package/react/components/smartDesktopDesigner/ApplicationSetup.js.map +1 -1
  324. package/react/components/smartDesktopDesigner/Applications.d.ts +0 -1
  325. package/react/components/smartDesktopDesigner/Applications.js +73 -62
  326. package/react/components/smartDesktopDesigner/Applications.js.map +1 -1
  327. package/react/components/smartDesktopDesigner/Authentication.js +2 -8
  328. package/react/components/smartDesktopDesigner/Authentication.js.map +1 -1
  329. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js +1 -8
  330. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js.map +1 -1
  331. package/react/components/smartDesktopDesigner/Content.js.map +1 -1
  332. package/react/components/smartDesktopDesigner/CurrentView.js +1 -1
  333. package/react/components/smartDesktopDesigner/CurrentView.js.map +1 -1
  334. package/react/components/smartDesktopDesigner/Export.js +3 -3
  335. package/react/components/smartDesktopDesigner/Export.js.map +1 -1
  336. package/react/components/smartDesktopDesigner/ExportCloud.js +1 -1
  337. package/react/components/smartDesktopDesigner/ExportCloud.js.map +1 -1
  338. package/react/components/smartDesktopDesigner/ExportDeployInfo.js +1 -1
  339. package/react/components/smartDesktopDesigner/ExportDeployInfo.js.map +1 -1
  340. package/react/components/smartDesktopDesigner/ExportZip.js +0 -1
  341. package/react/components/smartDesktopDesigner/ExportZip.js.map +1 -1
  342. package/react/components/smartDesktopDesigner/GettingStarted.d.ts +1 -1
  343. package/react/components/smartDesktopDesigner/GettingStarted.js +1 -1
  344. package/react/components/smartDesktopDesigner/GettingStarted.js.map +1 -1
  345. package/react/components/smartDesktopDesigner/ProjectHeader.d.ts +1 -1
  346. package/react/components/smartDesktopDesigner/ProjectHeader.js +1 -1
  347. package/react/components/smartDesktopDesigner/ProjectHeader.js.map +1 -1
  348. package/react/components/smartDesktopDesigner/Publish.js +1 -1
  349. package/react/components/smartDesktopDesigner/Publish.js.map +1 -1
  350. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +0 -11
  351. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +11 -24
  352. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  353. package/react/components/smartDesktopDesigner/Themes.js +2 -8
  354. package/react/components/smartDesktopDesigner/Themes.js.map +1 -1
  355. package/react/components/smartDesktopDesigner/View.js.map +1 -1
  356. package/react/components/smartDesktopDesigner/common/getCSSVars.d.ts +1 -1
  357. package/react/components/smartDesktopDesigner/common/getCSSVars.js +2 -1
  358. package/react/components/smartDesktopDesigner/common/getCSSVars.js.map +1 -1
  359. package/react/components/smartDesktopDesigner/common/views.d.ts +1 -1
  360. package/react/components/smartDesktopDesigner/common/views.js +4 -14
  361. package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
  362. package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js +4 -4
  363. package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js.map +1 -1
  364. package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js +2 -2
  365. package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js.map +1 -1
  366. package/react/components/smartDesktopDesigner/fixtures/applicationsProps.js +2 -3
  367. package/react/components/smartDesktopDesigner/fixtures/applicationsProps.js.map +1 -1
  368. package/react/components/smartDesktopDesigner/fixtures/apps.d.ts +4 -70
  369. package/react/components/smartDesktopDesigner/fixtures/apps.js +9 -20
  370. package/react/components/smartDesktopDesigner/fixtures/apps.js.map +1 -1
  371. package/react/components/smartDesktopDesigner/fixtures/exportProps.js.map +1 -1
  372. package/react/components/smartDesktopDesigner/fixtures/publishProgress.d.ts +2 -1
  373. package/react/components/smartDesktopDesigner/fixtures/publishProgress.js.map +1 -1
  374. package/react/components/smartDesktopDesigner/fixtures/views.js +4 -4
  375. package/react/components/smartDesktopDesigner/fixtures/views.js.map +1 -1
  376. package/react/components/smartDesktopDesigner/sdd_helpers.js +2 -1
  377. package/react/components/smartDesktopDesigner/sdd_helpers.js.map +1 -1
  378. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.d.ts +3 -4
  379. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js +8 -8
  380. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js.map +1 -1
  381. package/react/components/smartDesktopDesigner/stories/Appearance.stories.js +7 -7
  382. package/react/components/smartDesktopDesigner/stories/Appearance.stories.js.map +1 -1
  383. package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js +3 -7
  384. package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js.map +1 -1
  385. package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js +9 -2
  386. package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js.map +1 -1
  387. package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js +3 -10
  388. package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js.map +1 -1
  389. package/react/components/smartDesktopDesigner/stories/Applications.stories.js +1 -1
  390. package/react/components/smartDesktopDesigner/stories/Applications.stories.js.map +1 -1
  391. package/react/components/smartDesktopDesigner/stories/Authentication.stories.js +7 -14
  392. package/react/components/smartDesktopDesigner/stories/Authentication.stories.js.map +1 -1
  393. package/react/components/smartDesktopDesigner/stories/Export.stories.js +2 -2
  394. package/react/components/smartDesktopDesigner/stories/Export.stories.js.map +1 -1
  395. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js +2 -2
  396. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js.map +1 -1
  397. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js +5 -11
  398. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js.map +1 -1
  399. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.d.ts +1 -1
  400. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js +1 -1
  401. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js.map +1 -1
  402. package/react/components/smartDesktopDesigner/stories/Navigation.stories.js +1 -1
  403. package/react/components/smartDesktopDesigner/stories/Navigation.stories.js.map +1 -1
  404. package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js +2 -4
  405. package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js.map +1 -1
  406. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.d.ts +1 -1
  407. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js +1 -1
  408. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js.map +1 -1
  409. package/react/components/smartDesktopDesigner/stories/Publish.stories.js +13 -28
  410. package/react/components/smartDesktopDesigner/stories/Publish.stories.js.map +1 -1
  411. package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js +1 -1
  412. package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js.map +1 -1
  413. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js +3 -3
  414. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js.map +1 -1
  415. package/react/components/smartDesktopDesigner/stories/Themes.stories.js +1 -1
  416. package/react/components/smartDesktopDesigner/stories/Themes.stories.js.map +1 -1
  417. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js +32 -32
  418. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js.map +1 -1
  419. package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js +6 -5
  420. package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js.map +1 -1
  421. package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js +11 -11
  422. package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js.map +1 -1
  423. package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js +9 -7
  424. package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js.map +1 -1
  425. package/react/components/smartDesktopDesigner/tests/Applications.spec.js +35 -35
  426. package/react/components/smartDesktopDesigner/tests/Applications.spec.js.map +1 -1
  427. package/react/components/smartDesktopDesigner/tests/Authentication.spec.js +6 -18
  428. package/react/components/smartDesktopDesigner/tests/Authentication.spec.js.map +1 -1
  429. package/react/components/smartDesktopDesigner/tests/Export.spec.js +14 -22
  430. package/react/components/smartDesktopDesigner/tests/Export.spec.js.map +1 -1
  431. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js +2 -6
  432. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js.map +1 -1
  433. package/react/components/smartDesktopDesigner/tests/Navigation.spec.js +2 -2
  434. package/react/components/smartDesktopDesigner/tests/Navigation.spec.js.map +1 -1
  435. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js +2 -2
  436. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js.map +1 -1
  437. package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js +2 -2
  438. package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js.map +1 -1
  439. package/react/components/smartDesktopDesigner/tests/Publish.spec.js +3 -10
  440. package/react/components/smartDesktopDesigner/tests/Publish.spec.js.map +1 -1
  441. package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js +2 -6
  442. package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js.map +1 -1
  443. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js +3 -3
  444. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js.map +1 -1
  445. package/react/components/smartDesktopDesigner/tests/Themes.spec.js +7 -7
  446. package/react/components/smartDesktopDesigner/tests/Themes.spec.js.map +1 -1
  447. package/react/components/smartDesktopDesigner/tests/a11y_helper.js +2 -1
  448. package/react/components/smartDesktopDesigner/tests/a11y_helper.js.map +1 -1
  449. package/react/components/system/System.spec.js +1 -1
  450. package/react/components/system/System.spec.js.map +1 -1
  451. package/react/components/system/SystemTrayComponentShell.js +1 -1
  452. package/react/components/system/SystemTrayComponentShell.js.map +1 -1
  453. package/react/components/toolbar/MinimizeAll.spec.js +5 -5
  454. package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
  455. package/react/components/toolbar/NotificationControl.js +3 -2
  456. package/react/components/toolbar/NotificationControl.js.map +1 -1
  457. package/react/components/toolbar/RevealAll.spec.js +5 -5
  458. package/react/components/toolbar/RevealAll.spec.js.map +1 -1
  459. package/react/components/toolbar/ToolbarIcon.js +14 -2
  460. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  461. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +22 -5
  462. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js +11 -6
  463. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
  464. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js +21 -9
  465. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js.map +1 -1
  466. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts +33 -10
  467. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js +24 -3
  468. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
  469. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts +3 -3
  470. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js +0 -3
  471. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
  472. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts +24 -8
  473. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +4 -2
  474. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
  475. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +18 -4
  476. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js +5 -4
  477. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
  478. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.d.ts +14 -6
  479. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js +2 -2
  480. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js.map +1 -1
  481. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +34 -13
  482. package/react/components/toolbar/advancedAppLauncher/components/Content.js +23 -29
  483. package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
  484. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts +15 -5
  485. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js +4 -3
  486. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
  487. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +38 -21
  488. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +13 -8
  489. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
  490. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts +18 -3
  491. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js +7 -3
  492. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
  493. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.d.ts +10 -3
  494. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js +1 -3
  495. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js.map +1 -1
  496. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.d.ts +15 -6
  497. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js +11 -6
  498. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
  499. package/react/components/toolbar/advancedAppLauncher/components/SortBy.d.ts +11 -4
  500. package/react/components/toolbar/advancedAppLauncher/components/SortBy.js +3 -2
  501. package/react/components/toolbar/advancedAppLauncher/components/SortBy.js.map +1 -1
  502. package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts +18 -6
  503. package/react/components/toolbar/advancedAppLauncher/components/TagsList.js +2 -2
  504. package/react/components/toolbar/advancedAppLauncher/components/TagsList.js.map +1 -1
  505. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.d.ts +20 -4
  506. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js +2 -4
  507. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
  508. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.d.ts +5 -1
  509. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
  510. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts +15 -10
  511. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
  512. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts +5 -2
  513. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js +1 -1
  514. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js.map +1 -1
  515. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +5 -4
  516. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  517. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts +7 -6
  518. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js +11 -13
  519. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
  520. package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts +3 -3
  521. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +1 -1
  522. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  523. package/react/components/toolbar/appLauncher/DynamicAppLauncher.js.map +1 -1
  524. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +25 -3
  525. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js +3 -10
  526. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
  527. package/react/components/toolbar/appLauncher/components/componentList.d.ts +34 -6
  528. package/react/components/toolbar/appLauncher/components/componentList.js +24 -21
  529. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  530. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +32 -32
  531. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +37 -55
  532. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
  533. package/react/components/toolbar/dashbar/Dashbar.js +2 -3
  534. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  535. package/react/components/toolbar/dashbar/DashbarItem.js +1 -1
  536. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  537. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +28 -5
  538. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js +17 -23
  539. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
  540. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +25 -3
  541. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  542. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +13 -8
  543. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +2 -2
  544. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  545. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +16 -8
  546. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js +0 -3
  547. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
  548. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +65 -11
  549. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +95 -145
  550. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  551. package/react/components/userPreferences/UserPreferenceTypes.d.ts +5 -0
  552. package/react/components/userPreferences/UserPreferenceTypes.js +2 -0
  553. package/react/components/userPreferences/UserPreferenceTypes.js.map +1 -0
  554. package/react/components/userPreferences/UserPreferencesBase.js +2 -2
  555. package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
  556. package/react/components/userPreferences/UserPreferencesWrapper.js +1 -1
  557. package/react/components/userPreferences/UserPreferencesWrapper.js.map +1 -1
  558. package/react/components/userPreferences/components/ContentSection.js +2 -1
  559. package/react/components/userPreferences/components/ContentSection.js.map +1 -1
  560. package/react/components/userPreferences/components/LeftNav.d.ts +1 -1
  561. package/react/components/userPreferences/components/LeftNav.js +1 -1
  562. package/react/components/userPreferences/components/LeftNav.js.map +1 -1
  563. package/react/components/userPreferences/components/content/DashbarEditor.js +1 -1
  564. package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
  565. package/react/components/userPreferences/components/content/Notifications.js +2 -0
  566. package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
  567. package/react/components/userPreferences/components/content/Workspaces.js +21 -10
  568. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  569. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +48 -51
  570. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  571. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +9 -9
  572. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
  573. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +4 -6
  574. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
  575. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js +6 -6
  576. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js.map +1 -1
  577. package/react/components/userPreferences/components/general/ScheduledRestart.js +0 -1
  578. package/react/components/userPreferences/components/general/ScheduledRestart.js.map +1 -1
  579. package/react/components/userPreferences/components/workspaces/WorkspaceButton.d.ts +3 -4
  580. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +5 -1
  581. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
  582. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js +8 -5
  583. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js.map +1 -1
  584. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +15 -8
  585. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
  586. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js +16 -2
  587. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js.map +1 -1
  588. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +12 -12
  589. package/react/components/userPreferences/stores/UserPreferencesStore.js +9 -16
  590. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  591. package/react/components/userPreferences/stories/DashbarEditor.stories.js +1 -1
  592. package/react/components/userPreferences/stories/DashbarEditor.stories.js.map +1 -1
  593. package/react/components/userPreferences/stories/DashbarEditorItem.stories.js +1 -1
  594. package/react/components/userPreferences/stories/DashbarEditorItem.stories.js.map +1 -1
  595. package/react/components/userPreferences/stories/General.stories.js.map +1 -1
  596. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js +1 -1
  597. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js.map +1 -1
  598. package/react/components/userPreferences/stories/NotificationsSources.stories.js +1 -1
  599. package/react/components/userPreferences/stories/NotificationsSources.stories.js.map +1 -1
  600. package/react/components/userPreferences/stories/UserPreferences.stories.d.ts +1 -1
  601. package/react/components/userPreferences/stories/UserPreferences.stories.js +1 -1
  602. package/react/components/userPreferences/stories/UserPreferences.stories.js.map +1 -1
  603. package/react/components/userPreferences/stories/WorkspaceButton.stories.d.ts +5 -9
  604. package/react/components/userPreferences/stories/WorkspaceButton.stories.js +10 -3
  605. package/react/components/userPreferences/stories/WorkspaceButton.stories.js.map +1 -1
  606. package/react/components/userPreferences/stories/WorkspaceItem.stories.js +2 -2
  607. package/react/components/userPreferences/stories/WorkspaceItem.stories.js.map +1 -1
  608. package/react/components/userPreferences/stories/WorkspaceItemList.stories.js.map +1 -1
  609. package/react/components/userPreferences/stories/Workspaces.stories.js +1 -1
  610. package/react/components/userPreferences/stories/Workspaces.stories.js.map +1 -1
  611. package/react/components/userPreferences/tests/ContentSection.spec.js.map +1 -1
  612. package/react/components/userPreferences/tests/DashbarEditor.spec.js.map +1 -1
  613. package/react/components/userPreferences/tests/DashbarEditorItem.spec.js.map +1 -1
  614. package/react/components/userPreferences/tests/General.spec.js.map +1 -1
  615. package/react/components/userPreferences/tests/LeftNav.spec.js.map +1 -1
  616. package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js.map +1 -1
  617. package/react/components/userPreferences/tests/Notifications.spec.js.map +1 -1
  618. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
  619. package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js.map +1 -1
  620. package/react/components/userPreferences/tests/ScheduledRestart.spec.js.map +1 -1
  621. package/react/components/userPreferences/tests/WorkspaceButton.spec.js +17 -3
  622. package/react/components/userPreferences/tests/WorkspaceButton.spec.js.map +1 -1
  623. package/react/components/userPreferences/tests/WorkspaceComponents.spec.js +1 -1
  624. package/react/components/userPreferences/tests/WorkspaceComponents.spec.js.map +1 -1
  625. package/react/components/userPreferences/tests/WorkspaceItem.spec.js.map +1 -1
  626. package/react/components/userPreferences/tests/WorkspaceItemList.spec.js.map +1 -1
  627. package/react/components/utils.js +1 -1
  628. package/react/components/utils.js.map +1 -1
  629. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +58 -31
  630. package/react/components/windowTitleBar/WindowTitleBarShell.js +47 -50
  631. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  632. package/react/components/windowTitleBar/components/center/Tab.d.ts +27 -7
  633. package/react/components/windowTitleBar/components/center/Tab.js +2 -2
  634. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  635. package/react/components/windowTitleBar/components/center/TabList.d.ts +43 -30
  636. package/react/components/windowTitleBar/components/center/TabList.js +111 -37
  637. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  638. package/react/components/windowTitleBar/components/left/LinkerButton.js +5 -4
  639. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  640. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +1 -21
  641. package/react/components/windowTitleBar/components/left/LinkerGroups.js +6 -8
  642. package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
  643. package/react/components/windowTitleBar/components/left/ShareButton.d.ts +1 -21
  644. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +12 -25
  645. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  646. package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +17 -26
  647. package/react/components/windowTitleBar/components/right/GroupingButton.js +2 -2
  648. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  649. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +1 -21
  650. package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +12 -25
  651. package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
  652. package/react/components/windowTitleBar/components/windowTitle.js +11 -6
  653. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  654. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +51 -44
  655. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +63 -56
  656. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  657. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.d.ts +42 -44
  658. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.js.map +1 -1
  659. package/react/components/windowTitleBar/windowTitleBarContext.d.ts +9 -9
  660. package/react/components/windowTitleBar/windowTitleBarContext.js +2 -4
  661. package/react/components/windowTitleBar/windowTitleBarContext.js.map +1 -1
  662. package/react/components/yesNoDialog/Timer.spec.js +2 -2
  663. package/react/components/yesNoDialog/Timer.spec.js.map +1 -1
  664. package/react/components/yesNoDialog/Timer.stories.js +1 -1
  665. package/react/components/yesNoDialog/Timer.stories.js.map +1 -1
  666. package/react/components/yesNoDialog/YesNoDialog.spec.js +5 -5
  667. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
  668. package/react/components/yesNoDialog/YesNoDialog.stories.js +1 -1
  669. package/react/components/yesNoDialog/YesNoDialog.stories.js.map +1 -1
  670. package/react/hooks/useFavoritesShell.js.map +1 -1
  671. package/react/hooks/useLinker.js +1 -1
  672. package/react/hooks/useLinker.js.map +1 -1
  673. package/react/hooks/useMenu.js +1 -1
  674. package/react/hooks/useMenu.js.map +1 -1
  675. package/react/hooks/useNotifications.d.ts +6 -6
  676. package/react/hooks/useNotifications.js +16 -17
  677. package/react/hooks/useNotifications.js.map +1 -1
  678. package/react/hooks/useSearch.js +1 -1
  679. package/react/hooks/useSearch.js.map +1 -1
  680. package/react/hooks/useToolbar.js.map +1 -1
  681. package/react/hooks/useWorkspace.js +1 -1
  682. package/react/hooks/useWorkspace.js.map +1 -1
  683. package/react/reducers/favoriteReducer.js +1 -1
  684. package/react/reducers/favoriteReducer.js.map +1 -1
  685. package/react/reducers/rootReducer.d.ts +3 -4
  686. package/react/reducers/toolbarReducer.js +1 -1
  687. package/react/reducers/toolbarReducer.js.map +1 -1
  688. package/react/store.d.ts +6 -7
  689. package/react/types/advancedAppLauncherTypes.d.ts +28 -1
  690. package/react/types/advancedAppLauncherTypes.js.map +1 -1
  691. package/react/types/favoriteTypes.d.ts +1 -1
  692. package/react/types/favoriteTypes.js.map +1 -1
  693. package/react/types/fdc3.d.ts +22 -0
  694. package/react/types/fdc3.js.map +1 -1
  695. package/react/types/smartDesktopDesignerTypes.d.ts +11 -9
  696. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  697. package/react/types/windowTitleBar.d.ts +46 -0
  698. package/react/types/windowTitleBar.js +2 -0
  699. package/react/types/windowTitleBar.js.map +1 -0
  700. package/react/components/processMonitor/components/ChildWindows.d.ts +0 -4
  701. package/react/components/processMonitor/components/ChildWindows.js +0 -11
  702. package/react/components/processMonitor/components/ChildWindows.js.map +0 -1
  703. package/react/components/toolbar/advancedAppLauncher/components/LeftNav.d.ts +0 -4
  704. package/react/components/toolbar/advancedAppLauncher/components/LeftNav.js +0 -14
  705. package/react/components/toolbar/advancedAppLauncher/components/LeftNav.js.map +0 -1
@@ -11,18 +11,18 @@ describe("<RevealAll/>", () => {
11
11
  sinon.restore();
12
12
  });
13
13
  it("should display icon", () => {
14
- const wrapper = mount(React.createElement(Basic, { ...Basic.args }));
14
+ const wrapper = mount(React.createElement(Basic, Object.assign({}, Basic.args)));
15
15
  expect(wrapper.find("svg").exists()).to.be.true;
16
16
  });
17
17
  it("should call reveal action when clicked", () => {
18
18
  const buttonSpy = sinon.spy(Basic.args, "action");
19
- const wrapper = mount(React.createElement(Basic, { ...Basic.args }));
19
+ const wrapper = mount(React.createElement(Basic, Object.assign({}, Basic.args)));
20
20
  wrapper.find(".finsemble-toolbar-button").first().simulate("click");
21
21
  expect(buttonSpy.calledOnce).to.be.true;
22
22
  });
23
23
  it("should call reveal action when user presses Enter", () => {
24
24
  const buttonSpy = sinon.spy(Basic.args, "action");
25
- const wrapper = mount(React.createElement(Basic, { ...Basic.args }));
25
+ const wrapper = mount(React.createElement(Basic, Object.assign({}, Basic.args)));
26
26
  wrapper.find(".finsemble-toolbar-button").first().simulate("keydown", {
27
27
  key: "Enter",
28
28
  });
@@ -30,7 +30,7 @@ describe("<RevealAll/>", () => {
30
30
  });
31
31
  it("should call reveal action when user presses Space", () => {
32
32
  const buttonSpy = sinon.spy(Basic.args, "action");
33
- const wrapper = mount(React.createElement(Basic, { ...Basic.args }));
33
+ const wrapper = mount(React.createElement(Basic, Object.assign({}, Basic.args)));
34
34
  wrapper.find(".finsemble-toolbar-button").first().simulate("keydown", {
35
35
  key: "Space",
36
36
  });
@@ -38,7 +38,7 @@ describe("<RevealAll/>", () => {
38
38
  });
39
39
  it("should not call reveal action when user presses a character other than Enter or Space", () => {
40
40
  const buttonSpy = sinon.spy(Basic.args, "action");
41
- const wrapper = mount(React.createElement(Basic, { ...Basic.args }));
41
+ const wrapper = mount(React.createElement(Basic, Object.assign({}, Basic.args)));
42
42
  wrapper.find(".finsemble-toolbar-button").first().simulate("keydown", {
43
43
  key: "a",
44
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RevealAll.spec.js","sourceRoot":"","sources":["../../../src/components/toolbar/RevealAll.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\r\nimport { mount } from \"enzyme\";\r\nimport { describe, it } from \"mocha\";\r\nimport { expect } from \"chai\";\r\nimport sinon from \"sinon\";\r\nimport { Basic } from \"./RevealAll.stories\";\r\n\r\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\r\nimport addons, { mockChannel } from \"@storybook/addons\";\r\naddons.setChannel(mockChannel());\r\n\r\ndescribe(\"<RevealAll/>\", () => {\r\n\tafterEach(() => {\r\n\t\tsinon.restore();\r\n\t});\r\n\tit(\"should display icon\", () => {\r\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\r\n\t\texpect(wrapper.find(\"svg\").exists()).to.be.true;\r\n\t});\r\n\tit(\"should call reveal action when clicked\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\r\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\r\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"click\");\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n\tit(\"should call reveal action when user presses Enter\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\r\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\r\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\r\n\t\t\tkey: \"Enter\",\r\n\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n\tit(\"should call reveal action when user presses Space\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\r\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\r\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\r\n\t\t\tkey: \"Space\",\r\n\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n\tit(\"should not call reveal action when user presses a character other than Enter or Space\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\r\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\r\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\r\n\t\t\tkey: \"a\",\r\n\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.false;\r\n\t});\r\n});\r\n"]}
1
+ {"version":3,"file":"RevealAll.spec.js","sourceRoot":"","sources":["../../../src/components/toolbar/RevealAll.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\r\nimport { mount } from \"enzyme\";\r\nimport { describe, it } from \"mocha\";\r\nimport { expect } from \"chai\";\r\nimport sinon from \"sinon\";\r\nimport { Basic } from \"./RevealAll.stories\";\r\n\r\n// Necessary to allow sinon to work with mocked actions (which are shown in the Actions panel in Storybook)\r\nimport addons, { mockChannel } from \"@storybook/addons\";\r\naddons.setChannel(mockChannel());\r\n\r\ndescribe(\"<RevealAll/>\", () => {\r\n\tafterEach(() => {\r\n\t\tsinon.restore();\r\n\t});\r\n\tit(\"should display icon\", () => {\r\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\r\n\t\texpect(wrapper.find(\"svg\").exists()).to.be.true;\r\n\t});\r\n\tit(\"should call reveal action when clicked\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\r\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\r\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"click\");\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n\tit(\"should call reveal action when user presses Enter\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\r\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\r\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\r\n\t\t\tkey: \"Enter\",\r\n\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n\tit(\"should call reveal action when user presses Space\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\r\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\r\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\r\n\t\t\tkey: \"Space\",\r\n\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n\tit(\"should not call reveal action when user presses a character other than Enter or Space\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Basic.args as any, \"action\");\r\n\t\tconst wrapper = mount(<Basic {...Basic.args} />);\r\n\t\twrapper.find(\".finsemble-toolbar-button\").first().simulate(\"keydown\", {\r\n\t\t\tkey: \"a\",\r\n\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.false;\r\n\t});\r\n});\r\n"]}
@@ -1,6 +1,18 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  import * as React from "react";
2
13
  import { useState, useEffect } from "react";
3
- export const ToolbarIcon = ({ src, children, ...other }) => {
14
+ export const ToolbarIcon = (_a) => {
15
+ var { src, children } = _a, other = __rest(_a, ["src", "children"]);
4
16
  const [uniqueSrc, setSrc] = useState(src);
5
17
  useEffect(() => {
6
18
  const handler = () => {
@@ -11,6 +23,6 @@ export const ToolbarIcon = ({ src, children, ...other }) => {
11
23
  FSBL.Clients.RouterClient.removeListener("Finsemble-ui-change.toolbarIconUpdate", handler);
12
24
  };
13
25
  }, [src]);
14
- return (React.createElement("img", { src: uniqueSrc, ...other }, children));
26
+ return (React.createElement("img", Object.assign({ src: uniqueSrc }, other), children));
15
27
  };
16
28
  //# sourceMappingURL=ToolbarIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarIcon.js","sourceRoot":"","sources":["../../../src/components/toolbar/ToolbarIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAM5C,MAAM,CAAC,MAAM,WAAW,GAAiC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAO,EAAE;IAC7F,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;QACxF,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;QAC5F,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,CACN,6BAAK,GAAG,EAAE,SAAS,KAAM,KAAK,IAC5B,QAAQ,CACJ,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\r\nimport { useState, useEffect } from \"react\";\r\n\r\n/**\r\n * Returns an image that will reload itself based on messages on the \"Finsemble-ui-change.toolbarIconUpdate\" topic. This\r\n * is useful for dynamic theming. Otherwise this behaves just like an <img> tag.\r\n */\r\nexport const ToolbarIcon: React.FunctionComponent<any> = ({ src, children, ...other }): any => {\r\n\tconst [uniqueSrc, setSrc] = useState(src);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst handler = () => {\r\n\t\t\tsetSrc(`${src}?${Date.now()}`);\r\n\t\t};\r\n\t\tFSBL.Clients.RouterClient.addListener(\"Finsemble-ui-change.toolbarIconUpdate\", handler);\r\n\t\treturn () => {\r\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"Finsemble-ui-change.toolbarIconUpdate\", handler);\r\n\t\t};\r\n\t}, [src]);\r\n\r\n\treturn (\r\n\t\t<img src={uniqueSrc} {...other}>\r\n\t\t\t{children}\r\n\t\t</img>\r\n\t);\r\n};\r\n"]}
1
+ {"version":3,"file":"ToolbarIcon.js","sourceRoot":"","sources":["../../../src/components/toolbar/ToolbarIcon.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAM5C,MAAM,CAAC,MAAM,WAAW,GAAiC,CAAC,EAA2B,EAAO,EAAE;QAApC,EAAE,GAAG,EAAE,QAAQ,OAAY,EAAP,KAAK,cAAzB,mBAA2B,CAAF;IAClF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;QACxF,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;QAC5F,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO,CACN,2CAAK,GAAG,EAAE,SAAS,IAAM,KAAK,GAC5B,QAAQ,CACJ,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\r\nimport { useState, useEffect } from \"react\";\r\n\r\n/**\r\n * Returns an image that will reload itself based on messages on the \"Finsemble-ui-change.toolbarIconUpdate\" topic. This\r\n * is useful for dynamic theming. Otherwise this behaves just like an <img> tag.\r\n */\r\nexport const ToolbarIcon: React.FunctionComponent<any> = ({ src, children, ...other }): any => {\r\n\tconst [uniqueSrc, setSrc] = useState(src);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst handler = () => {\r\n\t\t\tsetSrc(`${src}?${Date.now()}`);\r\n\t\t};\r\n\t\tFSBL.Clients.RouterClient.addListener(\"Finsemble-ui-change.toolbarIconUpdate\", handler);\r\n\t\treturn () => {\r\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"Finsemble-ui-change.toolbarIconUpdate\", handler);\r\n\t\t};\r\n\t}, [src]);\r\n\r\n\treturn (\r\n\t\t<img src={uniqueSrc} {...other}>\r\n\t\t\t{children}\r\n\t\t</img>\r\n\t);\r\n};\r\n"]}
@@ -1,7 +1,24 @@
1
- export class AdvancedAppLauncher extends React.Component<any, any, any> {
2
- constructor(props: any);
3
- toggleAddNewAppForm(error: any, data: object): void;
4
- openAppMarket(): void;
1
+ import "../../../assets/css/advancedAppLauncher.css";
2
+ import React from "react";
3
+ import { StandardError } from "@finsemble/finsemble-core/types/types";
4
+ interface IProps {
5
+ customURLValidation: ((url: string) => [boolean, string]) | null;
6
+ customAddComponent: ((formData: any, callback: (error: any | null) => void) => void) | null;
7
+ beforeAddComponent: ((formData: any) => object) | null;
8
+ enableQuickComponents: boolean;
9
+ }
10
+ interface IState {
11
+ isFormVisible: boolean;
12
+ }
13
+ export declare class AdvancedAppLauncher extends React.Component<IProps, IState> {
14
+ constructor(props: IProps);
15
+ UNSAFE_componentWillMount(): void;
16
+ componentWillUnmount(): void;
17
+ toggleAddNewAppForm(error: StandardError, data: {
18
+ value: any;
19
+ }): void;
5
20
  onAddNewAppFormAction(): void;
21
+ openAppMarket(): void;
22
+ render(): JSX.Element | null;
6
23
  }
7
- import React from "react";
24
+ export {};
@@ -2,9 +2,10 @@ import "../../../assets/css/advancedAppLauncher.css";
2
2
  import React from "react";
3
3
  import { createStore, getStore } from "./stores/LauncherStore";
4
4
  import storeActions from "./stores/StoreActions";
5
- import LeftNav from "./components/LeftNav";
6
5
  import Content from "./components/Content";
7
6
  import AddNewAppForm from "./components/AddNewAppForm";
7
+ import FoldersList from "./components/FoldersList";
8
+ import LeftNavBottomLinks from "./components/LeftNavBottomLinks";
8
9
  let advancedAppLauncherStore;
9
10
  export class AdvancedAppLauncher extends React.Component {
10
11
  constructor(props) {
@@ -19,17 +20,18 @@ export class AdvancedAppLauncher extends React.Component {
19
20
  createStore((error, store) => {
20
21
  advancedAppLauncherStore = store;
21
22
  storeActions.initialize(() => {
22
- advancedAppLauncherStore.addListener({ field: "isFormVisible" }, this.toggleAddNewAppForm);
23
+ advancedAppLauncherStore === null || advancedAppLauncherStore === void 0 ? void 0 : advancedAppLauncherStore.addListener({ field: "isFormVisible" }, this.toggleAddNewAppForm);
23
24
  this.forceUpdate();
24
25
  });
25
- store.setValue({
26
+ store === null || store === void 0 ? void 0 : store.setValue({
26
27
  field: "filterText",
27
28
  value: "",
28
29
  });
29
30
  });
30
31
  }
31
32
  componentWillUnmount() {
32
- getStore().removeListener({ field: "isFormVisible" }, this.toggleAddNewAppForm);
33
+ var _a;
34
+ (_a = getStore()) === null || _a === void 0 ? void 0 : _a.removeListener({ field: "isFormVisible" }, this.toggleAddNewAppForm);
33
35
  }
34
36
  toggleAddNewAppForm(error, data) {
35
37
  this.setState({
@@ -37,7 +39,8 @@ export class AdvancedAppLauncher extends React.Component {
37
39
  });
38
40
  }
39
41
  onAddNewAppFormAction() {
40
- getStore().setValue({
42
+ var _a;
43
+ (_a = getStore()) === null || _a === void 0 ? void 0 : _a.setValue({
41
44
  field: "isFormVisible",
42
45
  value: false,
43
46
  }, (error) => {
@@ -60,7 +63,9 @@ export class AdvancedAppLauncher extends React.Component {
60
63
  return null;
61
64
  return (React.createElement("div", { className: "advanced-app-launcher" },
62
65
  React.createElement("div", { className: "complex-menu-wrapper" },
63
- React.createElement(LeftNav, { openAppMarket: this.openAppMarket, enableQuickComponents: this.props.enableQuickComponents }),
66
+ React.createElement("div", { className: "complex-menu-left-nav" },
67
+ React.createElement(FoldersList, null),
68
+ React.createElement(LeftNavBottomLinks, { openAppMarket: this.openAppMarket, enableQuickComponents: this.props.enableQuickComponents })),
64
69
  React.createElement(Content, null),
65
70
  this.state.isFormVisible && (React.createElement(AddNewAppForm, { onDone: this.onAddNewAppFormAction, customURLValidation: this.props.customURLValidation, customAddComponent: this.props.customAddComponent, beforeAddComponent: this.props.beforeAddComponent })))));
66
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedAppLauncher.js","sourceRoot":"","sources":["../../../../src/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.jsx"],"names":[],"mappings":"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","sourcesContent":["import \"../../../assets/css/advancedAppLauncher.css\";\r\n// Import js modules\r\nimport React from \"react\";\r\nimport { createStore, getStore } from \"./stores/LauncherStore\";\r\nimport storeActions from \"./stores/StoreActions\";\r\n\r\n// Import React components\r\nimport LeftNav from \"./components/LeftNav\";\r\nimport Content from \"./components/Content\";\r\nimport AddNewAppForm from \"./components/AddNewAppForm\";\r\nlet advancedAppLauncherStore;\r\n\r\n/**\r\n * The \"app\" button that launches the Advanced App Launcher.\r\n * The Advanced App Launcher comes with search capabilities and allows users to organize their application components into folders.\r\n *\r\n * @param {boolean} [enableQuickComponents=false] DEPRECATED: Set to true to allow users to create their own components\r\n */\r\nexport class AdvancedAppLauncher extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tisFormVisible: storeActions.getFormStatus(),\r\n\t\t};\r\n\t\tthis.toggleAddNewAppForm = this.toggleAddNewAppForm.bind(this);\r\n\t\tthis.openAppMarket = this.openAppMarket.bind(this);\r\n\t}\r\n\r\n\tUNSAFE_componentWillMount() {\r\n\t\tcreateStore((error, store) => {\r\n\t\t\tadvancedAppLauncherStore = store;\r\n\t\t\tstoreActions.initialize(() => {\r\n\t\t\t\tadvancedAppLauncherStore.addListener({ field: \"isFormVisible\" }, this.toggleAddNewAppForm);\r\n\t\t\t\tthis.forceUpdate();\r\n\t\t\t});\r\n\t\t\t// Delete the search text from the store as searches should not persist over restart.\r\n\t\t\t// The deletion is done on startup as a shutdown listener wouldn't trigger on crashes\r\n\t\t\tstore.setValue({\r\n\t\t\t\tfield: \"filterText\",\r\n\t\t\t\tvalue: \"\",\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tgetStore().removeListener({ field: \"isFormVisible\" }, this.toggleAddNewAppForm);\r\n\t}\r\n\r\n\t/**\r\n\t * Sets isFormVisible to true or false in state\r\n\t * isFormVisible is used to conditionally show/hide the\r\n\t * add new component form.\r\n\t * @param {objec} error\r\n\t * @param {object} data\r\n\t */\r\n\ttoggleAddNewAppForm(error, data) {\r\n\t\tthis.setState({\r\n\t\t\tisFormVisible: data.value,\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Sets isFormVisible to false in store to remove the form\r\n\t */\r\n\tonAddNewAppFormAction() {\r\n\t\tgetStore().setValue(\r\n\t\t\t{\r\n\t\t\t\tfield: \"isFormVisible\",\r\n\t\t\t\tvalue: false,\r\n\t\t\t},\r\n\t\t\t(error) => {\r\n\t\t\t\terror && console.log(\"Failed to set isFormVisible to false\");\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\topenAppMarket() {\r\n\t\tFSBL.Clients.LauncherClient.showWindow(\r\n\t\t\t{\r\n\t\t\t\tcomponentType: \"Advanced App Catalog\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tmonitor: \"mine\",\r\n\t\t\t\tstaggerPixels: 0,\r\n\t\t\t\tspawnIfNotFound: true,\r\n\t\t\t\tleft: \"center\",\r\n\t\t\t\ttop: \"center\",\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\trender() {\r\n\t\tif (!advancedAppLauncherStore) return null;\r\n\t\treturn (\r\n\t\t\t<div className=\"advanced-app-launcher\">\r\n\t\t\t\t<div className=\"complex-menu-wrapper\">\r\n\t\t\t\t\t<LeftNav openAppMarket={this.openAppMarket} enableQuickComponents={this.props.enableQuickComponents} />\r\n\t\t\t\t\t<Content />\r\n\t\t\t\t\t{this.state.isFormVisible && (\r\n\t\t\t\t\t\t<AddNewAppForm\r\n\t\t\t\t\t\t\tonDone={this.onAddNewAppFormAction}\r\n\t\t\t\t\t\t\tcustomURLValidation={this.props.customURLValidation}\r\n\t\t\t\t\t\t\tcustomAddComponent={this.props.customAddComponent}\r\n\t\t\t\t\t\t\tbeforeAddComponent={this.props.beforeAddComponent}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"file":"AdvancedAppLauncher.js","sourceRoot":"","sources":["../../../../src/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.tsx"],"names":[],"mappings":"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","sourcesContent":["import \"../../../assets/css/advancedAppLauncher.css\";\r\n// Import js modules\r\nimport React from \"react\";\r\nimport { createStore, getStore } from \"./stores/LauncherStore\";\r\nimport storeActions from \"./stores/StoreActions\";\r\n\r\n// Import React components\r\nimport Content from \"./components/Content\";\r\nimport AddNewAppForm from \"./components/AddNewAppForm\";\r\nimport { StandardError } from \"@finsemble/finsemble-core/types/types\";\r\nimport FoldersList from \"./components/FoldersList\";\r\nimport LeftNavBottomLinks from \"./components/LeftNavBottomLinks\";\r\nimport StoreModel from \"@finsemble/finsemble-core/types/clients/StoreModel\";\r\n\r\nlet advancedAppLauncherStore: StoreModel | undefined;\r\n\r\ninterface IProps {\r\n\tcustomURLValidation: ((url: string) => [boolean, string]) | null;\r\n\tcustomAddComponent: ((formData: any, callback: (error: any | null) => void) => void) | null;\r\n\tbeforeAddComponent: ((formData: any) => object) | null;\r\n\tenableQuickComponents: boolean;\r\n}\r\n\r\ninterface IState {\r\n\tisFormVisible: boolean;\r\n}\r\n/**\r\n * The \"app\" button that launches the Advanced App Launcher.\r\n * The Advanced App Launcher comes with search capabilities and allows users to organize their application components into folders.\r\n *\r\n * @param {boolean} [enableQuickComponents=false] DEPRECATED: Set to true to allow users to create their own components\r\n */\r\nexport class AdvancedAppLauncher extends React.Component<IProps, IState> {\r\n\tconstructor(props: IProps) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\tisFormVisible: storeActions.getFormStatus(),\r\n\t\t};\r\n\t\tthis.toggleAddNewAppForm = this.toggleAddNewAppForm.bind(this);\r\n\t\tthis.openAppMarket = this.openAppMarket.bind(this);\r\n\t}\r\n\r\n\tUNSAFE_componentWillMount() {\r\n\t\tcreateStore((error: StandardError, store?: StoreModel) => {\r\n\t\t\tadvancedAppLauncherStore = store;\r\n\t\t\tstoreActions.initialize(() => {\r\n\t\t\t\tadvancedAppLauncherStore?.addListener({ field: \"isFormVisible\" }, this.toggleAddNewAppForm);\r\n\t\t\t\tthis.forceUpdate();\r\n\t\t\t});\r\n\t\t\t// Delete the search text from the store as searches should not persist over restart.\r\n\t\t\t// The deletion is done on startup as a shutdown listener wouldn't trigger on crashes\r\n\t\t\tstore?.setValue({\r\n\t\t\t\tfield: \"filterText\",\r\n\t\t\t\tvalue: \"\",\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tgetStore()?.removeListener({ field: \"isFormVisible\" }, this.toggleAddNewAppForm);\r\n\t}\r\n\r\n\t/**\r\n\t * Sets isFormVisible to true or false in state\r\n\t * isFormVisible is used to conditionally show/hide the\r\n\t * add new component form.\r\n\t * @param {objec} error\r\n\t * @param {object} data\r\n\t */\r\n\ttoggleAddNewAppForm(error: StandardError, data: { value: any }) {\r\n\t\tthis.setState({\r\n\t\t\tisFormVisible: data.value,\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Sets isFormVisible to false in store to remove the form\r\n\t */\r\n\tonAddNewAppFormAction() {\r\n\t\tgetStore()?.setValue(\r\n\t\t\t{\r\n\t\t\t\tfield: \"isFormVisible\",\r\n\t\t\t\tvalue: false,\r\n\t\t\t},\r\n\t\t\t(error: StandardError) => {\r\n\t\t\t\terror && console.log(\"Failed to set isFormVisible to false\");\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\topenAppMarket() {\r\n\t\tFSBL.Clients.LauncherClient.showWindow(\r\n\t\t\t{\r\n\t\t\t\tcomponentType: \"Advanced App Catalog\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tmonitor: \"mine\",\r\n\t\t\t\tstaggerPixels: 0,\r\n\t\t\t\tspawnIfNotFound: true,\r\n\t\t\t\tleft: \"center\",\r\n\t\t\t\ttop: \"center\",\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\trender() {\r\n\t\tif (!advancedAppLauncherStore) return null;\r\n\t\treturn (\r\n\t\t\t<div className=\"advanced-app-launcher\">\r\n\t\t\t\t<div className=\"complex-menu-wrapper\">\r\n\t\t\t\t\t<div className=\"complex-menu-left-nav\">\r\n\t\t\t\t\t\t<FoldersList />\r\n\t\t\t\t\t\t<LeftNavBottomLinks\r\n\t\t\t\t\t\t\topenAppMarket={this.openAppMarket}\r\n\t\t\t\t\t\t\tenableQuickComponents={this.props.enableQuickComponents}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<Content />\r\n\t\t\t\t\t{this.state.isFormVisible && (\r\n\t\t\t\t\t\t<AddNewAppForm\r\n\t\t\t\t\t\t\tonDone={this.onAddNewAppFormAction}\r\n\t\t\t\t\t\t\tcustomURLValidation={this.props.customURLValidation}\r\n\t\t\t\t\t\t\tcustomAddComponent={this.props.customAddComponent}\r\n\t\t\t\t\t\t\tbeforeAddComponent={this.props.beforeAddComponent}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n}\r\n"]}
@@ -1,19 +1,31 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  import * as React from "react";
2
13
  import { Menu } from "../../menu/Menu";
3
14
  import { AdvancedAppLauncher } from "./AdvancedAppLauncher";
4
- const AdvancedAppLauncherMenu = ({ width = 640, className = "advancedAppLauncher", id = "AdvancedAppLauncherMenu", title = "Apps", customURLValidation = null, customAddComponent = null, beforeAddComponent = null, ...otherProps }) => {
5
- let completeProps = {
6
- ...otherProps,
7
- width,
8
- className,
9
- id,
10
- title,
15
+ const AdvancedAppLauncherMenu = (_a) => {
16
+ var { width = 640, className = "advancedAppLauncher", id = "AdvancedAppLauncherMenu", title = "Apps", customURLValidation = null, customAddComponent = null, beforeAddComponent = null } = _a, otherProps = __rest(_a, ["width", "className", "id", "title", "customURLValidation", "customAddComponent", "beforeAddComponent"]);
17
+ const advancedLauncherProps = {
11
18
  customURLValidation,
12
19
  customAddComponent,
13
20
  beforeAddComponent,
21
+ enableQuickComponents: false,
14
22
  };
15
- return (React.createElement(Menu, { ...completeProps },
16
- React.createElement(AdvancedAppLauncher, { customURLValidation: completeProps.customURLValidation, customAddComponent: completeProps.customAddComponent, beforeAddCustom: completeProps.beforeAddComponent })));
23
+ let completeProps = Object.assign(Object.assign(Object.assign({}, otherProps), advancedLauncherProps), { width,
24
+ className,
25
+ id,
26
+ title });
27
+ return (React.createElement(Menu, Object.assign({}, completeProps),
28
+ React.createElement(AdvancedAppLauncher, Object.assign({}, advancedLauncherProps))));
17
29
  };
18
30
  export { AdvancedAppLauncherMenu };
19
31
  //# sourceMappingURL=AdvancedAppLauncherMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedAppLauncherMenu.js","sourceRoot":"","sources":["../../../../src/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAS5D,MAAM,uBAAuB,GAA0D,CAAC,EACvF,KAAK,GAAG,GAAG,EACX,SAAS,GAAG,qBAAqB,EACjC,EAAE,GAAG,yBAAyB,EAC9B,KAAK,GAAG,MAAM,EACd,mBAAmB,GAAG,IAAI,EAC1B,kBAAkB,GAAG,IAAI,EACzB,kBAAkB,GAAG,IAAI,EACzB,GAAG,UAAU,EACb,EAAE,EAAE;IACJ,IAAI,aAAa,GAAG;QACnB,GAAG,UAAU;QACb,KAAK;QACL,SAAS;QACT,EAAE;QACF,KAAK;QACL,mBAAmB;QACnB,kBAAkB;QAClB,kBAAkB;KAClB,CAAC;IAEF,OAAO,CACN,oBAAC,IAAI,OAAK,aAAa;QACtB,oBAAC,mBAAmB,IACnB,mBAAmB,EAAE,aAAa,CAAC,mBAAmB,EACtD,kBAAkB,EAAE,aAAa,CAAC,kBAAkB,EACpD,eAAe,EAAE,aAAa,CAAC,kBAAkB,GAChD,CACI,CACP,CAAC;AACH,CAAC,CAAC;AACF,OAAO,EAAE,uBAAuB,EAAE,CAAC","sourcesContent":["import * as React from \"react\";\r\nimport { Menu } from \"../../menu/Menu\";\r\nimport { MenuProps } from \"../../menu/Menu\";\r\nimport { AdvancedAppLauncher } from \"./AdvancedAppLauncher\";\r\n\r\ntype AdvancedAppLauncherMenuProps = MenuProps & {\r\n\tenableQuickComponents?: boolean; // DEPRECATED: Quick Components will be removed in a future release\r\n\tcustomURLValidation?: (url: string) => [boolean, string];\r\n\tcustomAddComponent?: (formData: any, callback: (error: any | null) => void) => void;\r\n\tbeforeAddComponent?: (formData: any) => object;\r\n};\r\n\r\nconst AdvancedAppLauncherMenu: React.FunctionComponent<AdvancedAppLauncherMenuProps> = ({\r\n\twidth = 640,\r\n\tclassName = \"advancedAppLauncher\",\r\n\tid = \"AdvancedAppLauncherMenu\",\r\n\ttitle = \"Apps\",\r\n\tcustomURLValidation = null,\r\n\tcustomAddComponent = null,\r\n\tbeforeAddComponent = null,\r\n\t...otherProps\r\n}) => {\r\n\tlet completeProps = {\r\n\t\t...otherProps,\r\n\t\twidth,\r\n\t\tclassName,\r\n\t\tid,\r\n\t\ttitle,\r\n\t\tcustomURLValidation,\r\n\t\tcustomAddComponent,\r\n\t\tbeforeAddComponent,\r\n\t};\r\n\r\n\treturn (\r\n\t\t<Menu {...completeProps}>\r\n\t\t\t<AdvancedAppLauncher\r\n\t\t\t\tcustomURLValidation={completeProps.customURLValidation}\r\n\t\t\t\tcustomAddComponent={completeProps.customAddComponent}\r\n\t\t\t\tbeforeAddCustom={completeProps.beforeAddComponent}\r\n\t\t\t/>\r\n\t\t</Menu>\r\n\t);\r\n};\r\nexport { AdvancedAppLauncherMenu };\r\n"]}
1
+ {"version":3,"file":"AdvancedAppLauncherMenu.js","sourceRoot":"","sources":["../../../../src/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAS5D,MAAM,uBAAuB,GAA0D,CAAC,EASvF,EAAE,EAAE;QATmF,EACvF,KAAK,GAAG,GAAG,EACX,SAAS,GAAG,qBAAqB,EACjC,EAAE,GAAG,yBAAyB,EAC9B,KAAK,GAAG,MAAM,EACd,mBAAmB,GAAG,IAAI,EAC1B,kBAAkB,GAAG,IAAI,EACzB,kBAAkB,GAAG,IAAI,OAEzB,EADG,UAAU,cAR0E,wGASvF,CADa;IAEb,MAAM,qBAAqB,GAAG;QAC7B,mBAAmB;QACnB,kBAAkB;QAClB,kBAAkB;QAClB,qBAAqB,EAAE,KAAK;KAC5B,CAAC;IAEF,IAAI,aAAa,iDACb,UAAU,GACV,qBAAqB,KACxB,KAAK;QACL,SAAS;QACT,EAAE;QACF,KAAK,GACL,CAAC;IAEF,OAAO,CACN,oBAAC,IAAI,oBAAK,aAAa;QACtB,oBAAC,mBAAmB,oBAAK,qBAAqB,EAAI,CAC5C,CACP,CAAC;AACH,CAAC,CAAC;AACF,OAAO,EAAE,uBAAuB,EAAE,CAAC","sourcesContent":["import * as React from \"react\";\r\nimport { Menu } from \"../../menu/Menu\";\r\nimport { MenuProps } from \"../../menu/Menu\";\r\nimport { AdvancedAppLauncher } from \"./AdvancedAppLauncher\";\r\n\r\ntype AdvancedAppLauncherMenuProps = MenuProps & {\r\n\tenableQuickComponents?: boolean; // DEPRECATED: Quick Components will be removed in a future release\r\n\tcustomURLValidation?: (url: string) => [boolean, string];\r\n\tcustomAddComponent?: (formData: any, callback: (error: any | null) => void) => void;\r\n\tbeforeAddComponent?: (formData: any) => object;\r\n};\r\n\r\nconst AdvancedAppLauncherMenu: React.FunctionComponent<AdvancedAppLauncherMenuProps> = ({\r\n\twidth = 640,\r\n\tclassName = \"advancedAppLauncher\",\r\n\tid = \"AdvancedAppLauncherMenu\",\r\n\ttitle = \"Apps\",\r\n\tcustomURLValidation = null,\r\n\tcustomAddComponent = null,\r\n\tbeforeAddComponent = null,\r\n\t...otherProps\r\n}) => {\r\n\tconst advancedLauncherProps = {\r\n\t\tcustomURLValidation,\r\n\t\tcustomAddComponent,\r\n\t\tbeforeAddComponent,\r\n\t\tenableQuickComponents: false,\r\n\t};\r\n\r\n\tlet completeProps = {\r\n\t\t...otherProps,\r\n\t\t...advancedLauncherProps,\r\n\t\twidth,\r\n\t\tclassName,\r\n\t\tid,\r\n\t\ttitle,\r\n\t};\r\n\r\n\treturn (\r\n\t\t<Menu {...completeProps}>\r\n\t\t\t<AdvancedAppLauncher {...advancedLauncherProps} />\r\n\t\t</Menu>\r\n\t);\r\n};\r\nexport { AdvancedAppLauncherMenu };\r\n"]}
@@ -1,17 +1,40 @@
1
- export default class AddNewAppForm extends React.Component<any, any, any> {
2
- constructor(props: any);
1
+ import React from "react";
2
+ import "../../../../assets/css/dialogs.css";
3
+ interface IState {
4
+ form: {
5
+ name?: string;
6
+ url?: string;
7
+ tags?: string;
8
+ };
9
+ validation: {
10
+ name: boolean;
11
+ url: boolean;
12
+ };
13
+ validateOnInputChange: boolean;
14
+ }
15
+ interface IProps {
16
+ onDone: () => void;
17
+ customURLValidation: ((url: string) => [boolean, string]) | null;
18
+ customAddComponent: ((formData: any, callback: (error: any | null) => void) => void) | null;
19
+ beforeAddComponent: ((formData: any) => object) | null;
20
+ }
21
+ export default class AddNewAppForm extends React.Component<IProps, IState> {
22
+ constructor(props: IProps);
3
23
  onSubmit(): void;
24
+ addNewAppCallback(error: any): void;
25
+ addNewApp(form: IState["form"], cb: (err?: any) => void): void;
4
26
  onClear(): void;
5
27
  onCancel(): void;
6
28
  done(): void;
7
- onURLChanged(e: any): void;
8
- onAppNameChanged(e: any): void;
9
- onKeyDown(e: any): void;
10
- addNewApp(form: any, cb: any): void;
11
- addNewAppCallback(error: any): void;
12
- validateURL(url: string): boolean;
13
- validateName(name: any): boolean;
29
+ onURLChanged(e: React.ChangeEvent<HTMLInputElement>): void;
30
+ onAppNameChanged(e: React.ChangeEvent<HTMLInputElement>): void;
31
+ validateURL(url?: string): boolean;
32
+ validateName(name?: string): boolean;
14
33
  fixURL(): void;
15
34
  fixName(): void;
35
+ onKeyDown(e: any): void;
36
+ componentDidMount(): void;
37
+ componentWillUnmount(): void;
38
+ render(): JSX.Element;
16
39
  }
17
- import React from "react";
40
+ export {};
@@ -106,6 +106,9 @@ export default class AddNewAppForm extends React.Component {
106
106
  }
107
107
  onURLChanged(e) {
108
108
  let { form, validation } = this.state;
109
+ if (!form) {
110
+ form = {};
111
+ }
109
112
  form.url = e.target.value;
110
113
  if (this.state.validateOnInputChange) {
111
114
  validation.url = this.validateURL(form.url);
@@ -116,6 +119,9 @@ export default class AddNewAppForm extends React.Component {
116
119
  }
117
120
  onAppNameChanged(e) {
118
121
  let { form, validation } = this.state;
122
+ if (!form) {
123
+ form = {};
124
+ }
119
125
  form.name = e.target.value;
120
126
  if (this.state.validateOnInputChange) {
121
127
  validation.name = this.validateName(form.name);
@@ -125,6 +131,9 @@ export default class AddNewAppForm extends React.Component {
125
131
  });
126
132
  }
127
133
  validateURL(url) {
134
+ if (!url) {
135
+ return false;
136
+ }
128
137
  if (this.props.customURLValidation) {
129
138
  if (typeof this.props.customURLValidation === "function") {
130
139
  const [result, message] = this.props.customURLValidation(url);
@@ -145,16 +154,28 @@ export default class AddNewAppForm extends React.Component {
145
154
  return isValidURL(url);
146
155
  }
147
156
  validateName(name) {
157
+ if (typeof name !== "string") {
158
+ return false;
159
+ }
148
160
  return !(name === "") || /^[0-9a-zA-Z_.-\s]+$/.test(name);
149
161
  }
150
162
  fixURL() {
151
163
  let { form } = this.state;
152
- form.url = addProtocolToValidURL(form.url);
164
+ if (!form) {
165
+ form = {};
166
+ }
167
+ if (typeof form.url === "string") {
168
+ form.url = addProtocolToValidURL(form === null || form === void 0 ? void 0 : form.url);
169
+ }
153
170
  this.setState({ form });
154
171
  }
155
172
  fixName() {
173
+ var _a;
156
174
  let { form } = this.state;
157
- form.name = form.name.trim();
175
+ if (!form) {
176
+ form = {};
177
+ }
178
+ form.name = (_a = form.name) === null || _a === void 0 ? void 0 : _a.trim();
158
179
  this.setState({ form });
159
180
  }
160
181
  onKeyDown(e) {
@@ -177,7 +198,7 @@ export default class AddNewAppForm extends React.Component {
177
198
  React.createElement("form", { id: "new-app" },
178
199
  React.createElement(FinsembleDialogTextInput, { inputLabel: "Name", onInputChange: this.onAppNameChanged, placeholder: "Name", autoFocus: true, value: this.state.form.name }),
179
200
  !this.state.validation.name && React.createElement("div", { className: "input-error" }, INVALID_NAME_MSG),
180
- React.createElement(FinsembleDialogTextInput, { inputLabel: "URL", onInputChange: this.onURLChanged, placeholder: "URL", defaultValue: "https://", value: this.state.form.url }),
201
+ React.createElement(FinsembleDialogTextInput, { inputLabel: "URL", onInputChange: this.onURLChanged, placeholder: "URL", value: this.state.form.url }),
181
202
  !this.state.validation.url && React.createElement("div", { className: "input-error" }, INVALID_URL_MSG),
182
203
  React.createElement("div", { className: "button-wrapper" },
183
204
  React.createElement(FinsembleDialogButton, { className: "fsbl-button-neutral", onClick: this.onClear }, "Clear"),
@@ -1 +1 @@
1
- {"version":3,"file":"AddNewAppForm.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/components/AddNewAppForm.jsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport storeActions from \"../stores/StoreActions\";\r\nimport { FinsembleDialogTextInput } from \"../../../legacyControls/FinsembleDialogTextInput\";\r\nimport { FinsembleDialogButton } from \"../../../legacyControls/FinsembleDialogButton\";\r\nimport \"../../../../assets/css/dialogs.css\";\r\nimport { isValidURL } from \"../../../shared/validateURL\";\r\nimport { addProtocolToValidURL } from \"../../../shared/addProtocolToValidURL\";\r\n\r\nconst FORM_DEFAULTS = {\r\n\tname: \"\",\r\n\ttags: \"\",\r\n\turl: \"\",\r\n};\r\nconst VALIDATION_DEFAULTS = {\r\n\tname: true,\r\n\turl: true,\r\n};\r\n\r\nconst INVALID_NAME_MSG = \"Name cannot be empty or be a duplicate of an existing component.\";\r\nlet INVALID_URL_MSG = \"URL must be valid (e.g., http://www.google.com). Only http and https protocols are supported.\";\r\n/**\r\n * A component that has a form to accept new app properties\r\n * like name, url and tags, validates user input then saves it\r\n * to persistent store. Showing or hiding this component is up to\r\n * parent component.\r\n * @example <AddNewAppForm onDone={this.someHandlerFunction}></AddNewAppForm>\r\n */\r\nexport default class AddNewAppForm extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\t// if you do not do this, FORM_DEFAULTS gets mutated by setState later on.\r\n\t\t\tform: Object.assign({}, FORM_DEFAULTS),\r\n\t\t\tvalidation: Object.assign({}, VALIDATION_DEFAULTS),\r\n\t\t\t// changed to true after the user submits (if they submit bad information). This gives updated information on keypress.\r\n\t\t\tvalidateOnInputChange: false,\r\n\t\t};\r\n\r\n\t\tthis.onSubmit = this.onSubmit.bind(this);\r\n\t\tthis.onClear = this.onClear.bind(this);\r\n\t\tthis.onCancel = this.onCancel.bind(this);\r\n\t\tthis.done = this.done.bind(this);\r\n\t\tthis.onURLChanged = this.onURLChanged.bind(this);\r\n\t\tthis.onAppNameChanged = this.onAppNameChanged.bind(this);\r\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\r\n\t\tthis.addNewApp = this.addNewApp.bind(this);\r\n\t\tthis.addNewAppCallback = this.addNewAppCallback.bind(this);\r\n\t}\r\n\r\n\t/**\r\n\t * Calls the storeActions.addApp() method\r\n\t * to save the new app in store.\r\n\t */\r\n\tonSubmit() {\r\n\t\tthis.fixURL();\r\n\t\tthis.fixName();\r\n\t\tlet validName = this.validateName(this.state.form.name);\r\n\t\tlet validURL = this.validateURL(this.state.form.url);\r\n\t\tif (!validName || !validURL) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tvalidation: {\r\n\t\t\t\t\turl: validURL,\r\n\t\t\t\t\tname: validName,\r\n\t\t\t\t},\r\n\t\t\t\tvalidateOnInputChange: true,\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tvalidation: Object.assign({}, VALIDATION_DEFAULTS),\r\n\t\t\tvalidateOnInputChange: false,\r\n\t\t});\r\n\r\n\t\tlet formData = this.state.form;\r\n\t\tif (this.props.beforeAddComponent) {\r\n\t\t\tif (typeof this.props.beforeAddComponent !== \"function\") {\r\n\t\t\t\tFSBL.Clients.Logger.error(\r\n\t\t\t\t\t\"beforeAddComponent provided to Advanced App Launcher does not appear to be a function, skipping\"\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tformData = this.props.beforeAddComponent(formData);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.addNewApp(formData, this.addNewAppCallback);\r\n\t}\r\n\r\n\taddNewAppCallback(error) {\r\n\t\t// Notify parent if no errors\r\n\t\tif (error) {\r\n\t\t\tFSBL.Clients.Logger.error(error);\r\n\t\t\tthis.setState({\r\n\t\t\t\tvalidation: {\r\n\t\t\t\t\tname: false,\r\n\t\t\t\t\turl: true,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.done();\r\n\t\t}\r\n\t}\r\n\r\n\taddNewApp(form, cb) {\r\n\t\tif (this.props.customAddComponent) {\r\n\t\t\tif (typeof this.props.customAddComponent === \"function\") {\r\n\t\t\t\tthis.props.customAddComponent(form, cb);\r\n\t\t\t\treturn;\r\n\t\t\t} else {\r\n\t\t\t\tFSBL.Clients.Logger.error(\r\n\t\t\t\t\t\"Custom Add Component parameter provided to Advanced App Launcher does not appear to be a function, falling back to default add\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\tstoreActions.addApp(form, cb);\r\n\t}\r\n\r\n\t/**\r\n\t * Clears all form inputs\r\n\t */\r\n\tonClear() {\r\n\t\t//document.getElementById(\"new-app\").reset();\r\n\t\tthis.setState({\r\n\t\t\tform: Object.assign({}, FORM_DEFAULTS),\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Just cancel and do not add the app\r\n\t */\r\n\tonCancel() {\r\n\t\tthis.done();\r\n\t}\r\n\r\n\t/**\r\n\t * Calls the passed onDone property to let the parent component\r\n\t * know that we finished processing user's request (submit/cancel)\r\n\t */\r\n\tdone() {\r\n\t\tif (this.props.onDone && typeof this.props.onDone === \"function\") {\r\n\t\t\tthis.props.onDone();\r\n\t\t}\r\n\t\tthis.onClear();\r\n\t}\r\n\r\n\t/**\r\n\t * When the url changes, validate it (after submit), or set state.\r\n\t * @param {keyboardEvent} e\r\n\t */\r\n\tonURLChanged(e) {\r\n\t\tlet { form, validation } = this.state;\r\n\t\tform.url = e.target.value;\r\n\t\tif (this.state.validateOnInputChange) {\r\n\t\t\tvalidation.url = this.validateURL(form.url);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tform,\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * When the name changes, validate it (after submit), or set state.\r\n\t * @param {keyboardEvent} e\r\n\t */\r\n\tonAppNameChanged(e) {\r\n\t\tlet { form, validation } = this.state;\r\n\t\tform.name = e.target.value;\r\n\t\tif (this.state.validateOnInputChange) {\r\n\t\t\tvalidation.name = this.validateName(form.name);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tform,\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Attempt to make a URL object, if successful the provided URL is valid.\r\n\t * If the URL constructor determines the provided string to be invalid it throws a TypeError.\r\n\t *\r\n\t * @param {string} url\r\n\t * @return boolean\r\n\t */\r\n\tvalidateURL(url) {\r\n\t\tif (this.props.customURLValidation) {\r\n\t\t\tif (typeof this.props.customURLValidation === \"function\") {\r\n\t\t\t\tconst [result, message] = this.props.customURLValidation(url);\r\n\t\t\t\tif (typeof result !== \"boolean\") {\r\n\t\t\t\t\tFSBL.Clients.Logger.error(\r\n\t\t\t\t\t\t\"Custom URL Validation routine does not return a boolean, falling back to default validation\"\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (message) {\r\n\t\t\t\t\t\tINVALID_URL_MSG = message;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn result;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tFSBL.Clients.Logger.error(\r\n\t\t\t\t\t\"Custom url validation provided to Advanced App Launcher does not appear to be a function, falling back to default validation\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn isValidURL(url);\r\n\t}\r\n\r\n\t/**\r\n\t * When the url changes, validate it (after submit), or set state.\r\n\t * @param {keyboardEvent} e\r\n\t */\r\n\tvalidateName(name) {\r\n\t\treturn !(name === \"\") || /^[0-9a-zA-Z_.-\\s]+$/.test(name);\r\n\t}\r\n\r\n\t/**\r\n\t * Allows user to skip the protocol. Puts one in there if they don't have it.\r\n\t */\r\n\tfixURL() {\r\n\t\tlet { form } = this.state;\r\n\t\tform.url = addProtocolToValidURL(form.url);\r\n\t\tthis.setState({ form });\r\n\t}\r\n\r\n\t/**\r\n\t * Removes empty spaces from beginning and end of line\r\n\t */\r\n\tfixName() {\r\n\t\tlet { form } = this.state;\r\n\t\tform.name = form.name.trim();\r\n\t\tthis.setState({ form });\r\n\t}\r\n\r\n\t/**\r\n\t * Hotkey handler\r\n\t * Escape clears the form and hides it.\r\n\t * Enter submits.\r\n\t * @param {} e\r\n\t */\r\n\tonKeyDown(e) {\r\n\t\tif (e.detail.key === \"Escape\") {\r\n\t\t\tthis.onClear();\r\n\t\t\tthis.done();\r\n\t\t}\r\n\t\tif (e.detail.key === \"Enter\") {\r\n\t\t\tthis.onSubmit();\r\n\t\t}\r\n\t}\r\n\r\n\t// Listen for esc/enter\r\n\tcomponentDidMount() {\r\n\t\tdocument.addEventListener(\"portal:keydown\", this.onKeyDown);\r\n\t}\r\n\r\n\t// remove listen for esc/enter\r\n\tcomponentWillUnmount() {\r\n\t\tdocument.removeEventListener(\"portal:keydown\", this.onKeyDown);\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t<div className=\"add-app-form controls-wrapper\">\r\n\t\t\t\t<form id=\"new-app\">\r\n\t\t\t\t\t<FinsembleDialogTextInput\r\n\t\t\t\t\t\tinputLabel=\"Name\"\r\n\t\t\t\t\t\tonInputChange={this.onAppNameChanged}\r\n\t\t\t\t\t\tplaceholder=\"Name\"\r\n\t\t\t\t\t\tautoFocus={true}\r\n\t\t\t\t\t\tvalue={this.state.form.name}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{!this.state.validation.name && <div className=\"input-error\">{INVALID_NAME_MSG}</div>}\r\n\t\t\t\t\t<FinsembleDialogTextInput\r\n\t\t\t\t\t\tinputLabel=\"URL\"\r\n\t\t\t\t\t\tonInputChange={this.onURLChanged}\r\n\t\t\t\t\t\tplaceholder=\"URL\"\r\n\t\t\t\t\t\tdefaultValue=\"https://\"\r\n\t\t\t\t\t\tvalue={this.state.form.url}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{!this.state.validation.url && <div className=\"input-error\">{INVALID_URL_MSG}</div>}\r\n\t\t\t\t\t<div className=\"button-wrapper\">\r\n\t\t\t\t\t\t<FinsembleDialogButton className=\"fsbl-button-neutral\" onClick={this.onClear}>\r\n\t\t\t\t\t\t\tClear\r\n\t\t\t\t\t\t</FinsembleDialogButton>\r\n\t\t\t\t\t\t<FinsembleDialogButton className=\"fsbl-button-neutral\" onClick={this.onCancel}>\r\n\t\t\t\t\t\t\tCancel\r\n\t\t\t\t\t\t</FinsembleDialogButton>\r\n\t\t\t\t\t\t<FinsembleDialogButton className=\"fsbl-button-affirmative\" onClick={this.onSubmit}>\r\n\t\t\t\t\t\t\tConfirm\r\n\t\t\t\t\t\t</FinsembleDialogButton>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</form>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"file":"AddNewAppForm.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/components/AddNewAppForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,oCAAoC,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,MAAM,aAAa,GAAG;IACrB,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;CACP,CAAC;AACF,MAAM,mBAAmB,GAAG;IAC3B,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;CACT,CAAC;AAEF,MAAM,gBAAgB,GAAG,kEAAkE,CAAC;AAC5F,IAAI,eAAe,GAAG,+FAA+F,CAAC;AA2BtH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAyB;IACzE,YAAY,KAAa;QACxB,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YAEZ,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC;YACtC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC;YAElD,qBAAqB,EAAE,KAAK;SAC5B,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAMD,QAAQ;QACP,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC;gBACb,UAAU,EAAE;oBACX,GAAG,EAAE,QAAQ;oBACb,IAAI,EAAE,SAAS;iBACf;gBACD,qBAAqB,EAAE,IAAI;aAC3B,CAAC,CAAC;YACH,OAAO;SACP;QACD,IAAI,CAAC,QAAQ,CAAC;YACb,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,CAAC;YAClD,qBAAqB,EAAE,KAAK;SAC5B,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;YAClC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,UAAU,EAAE;gBACxD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACxB,iGAAiG,CACjG,CAAC;aACF;iBAAM;gBACN,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;aACnD;SACD;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,CAAC;IAED,iBAAiB,CAAC,KAAU;QAE3B,IAAI,KAAK,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC;gBACb,UAAU,EAAE;oBACX,IAAI,EAAE,KAAK;oBACX,GAAG,EAAE,IAAI;iBACT;aACD,CAAC,CAAC;SACH;aAAM;YACN,IAAI,CAAC,IAAI,EAAE,CAAC;SACZ;IACF,CAAC;IAED,SAAS,CAAC,IAAoB,EAAE,EAAuB;QACtD,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;YAClC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,UAAU,EAAE;gBACxD,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxC,OAAO;aACP;iBAAM;gBACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACxB,gIAAgI,CAChI,CAAC;aACF;SACD;QAED,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAKD,OAAO;QAEN,IAAI,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC;SACtC,CAAC,CAAC;IACJ,CAAC;IAKD,QAAQ;QACP,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAMD,IAAI;QACH,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE;YACjE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SACpB;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;IAChB,CAAC;IAMD,YAAY,CAAC,CAAsC;QAClD,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,EAAE,CAAC;SACV;QACD,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE;YACrC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,QAAQ,CAAC;YACb,IAAI;SACJ,CAAC,CAAC;IACJ,CAAC;IAMD,gBAAgB,CAAC,CAAsC;QACtD,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,EAAE,CAAC;SACV;QACD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE;YACrC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/C;QACD,IAAI,CAAC,QAAQ,CAAC;YACb,IAAI;SACJ,CAAC,CAAC;IACJ,CAAC;IASD,WAAW,CAAC,GAAY;QACvB,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,KAAK,CAAC;SACb;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;YACnC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,KAAK,UAAU,EAAE;gBACzD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC9D,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE;oBAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACxB,6FAA6F,CAC7F,CAAC;iBACF;qBAAM;oBACN,IAAI,OAAO,EAAE;wBACZ,eAAe,GAAG,OAAO,CAAC;qBAC1B;oBACD,OAAO,MAAM,CAAC;iBACd;aACD;iBAAM;gBACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACxB,8HAA8H,CAC9H,CAAC;aACF;SACD;QAED,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAMD,YAAY,CAAC,IAAa;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC;SACb;QACD,OAAO,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAKD,MAAM;QACL,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,EAAE,CAAC;SACV;QACD,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE;YACjC,IAAI,CAAC,GAAG,GAAG,qBAAqB,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC;IAKD,OAAO;;QACN,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE;YACV,IAAI,GAAG,EAAE,CAAC;SACV;QACD,IAAI,CAAC,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC;IAQD,SAAS,CAAC,CAAM;QACf,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,EAAE,CAAC;SACZ;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,OAAO,EAAE;YAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;SAChB;IACF,CAAC;IAGD,iBAAiB;QAChB,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAGD,oBAAoB;QACnB,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,MAAM;QACL,OAAO,CACN,6BAAK,SAAS,EAAC,+BAA+B;YAC7C,8BAAM,EAAE,EAAC,SAAS;gBACjB,oBAAC,wBAAwB,IACxB,UAAU,EAAC,MAAM,EACjB,aAAa,EAAE,IAAI,CAAC,gBAAgB,EACpC,WAAW,EAAC,MAAM,EAClB,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAC1B;gBACD,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,6BAAK,SAAS,EAAC,aAAa,IAAE,gBAAgB,CAAO;gBACrF,oBAAC,wBAAwB,IACxB,UAAU,EAAC,KAAK,EAChB,aAAa,EAAE,IAAI,CAAC,YAAY,EAChC,WAAW,EAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GACzB;gBACD,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,6BAAK,SAAS,EAAC,aAAa,IAAE,eAAe,CAAO;gBACnF,6BAAK,SAAS,EAAC,gBAAgB;oBAC9B,oBAAC,qBAAqB,IAAC,SAAS,EAAC,qBAAqB,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,YAEpD;oBACxB,oBAAC,qBAAqB,IAAC,SAAS,EAAC,qBAAqB,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,aAErD;oBACxB,oBAAC,qBAAqB,IAAC,SAAS,EAAC,yBAAyB,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,cAEzD,CACnB,CACA,CACF,CACN,CAAC;IACH,CAAC;CACD","sourcesContent":["import React from \"react\";\r\nimport storeActions from \"../stores/StoreActions\";\r\nimport { FinsembleDialogTextInput } from \"../../../legacyControls/FinsembleDialogTextInput\";\r\nimport { FinsembleDialogButton } from \"../../../legacyControls/FinsembleDialogButton\";\r\nimport \"../../../../assets/css/dialogs.css\";\r\nimport { isValidURL } from \"../../../shared/validateURL\";\r\nimport { addProtocolToValidURL } from \"../../../shared/addProtocolToValidURL\";\r\n\r\nconst FORM_DEFAULTS = {\r\n\tname: \"\",\r\n\ttags: \"\",\r\n\turl: \"\",\r\n};\r\nconst VALIDATION_DEFAULTS = {\r\n\tname: true,\r\n\turl: true,\r\n};\r\n\r\nconst INVALID_NAME_MSG = \"Name cannot be empty or be a duplicate of an existing component.\";\r\nlet INVALID_URL_MSG = \"URL must be valid (e.g., http://www.google.com). Only http and https protocols are supported.\";\r\n\r\ninterface IState {\r\n\tform: {\r\n\t\tname?: string;\r\n\t\turl?: string;\r\n\t\ttags?: string;\r\n\t};\r\n\tvalidation: {\r\n\t\tname: boolean;\r\n\t\turl: boolean;\r\n\t};\r\n\tvalidateOnInputChange: boolean;\r\n}\r\ninterface IProps {\r\n\tonDone: () => void;\r\n\tcustomURLValidation: ((url: string) => [boolean, string]) | null;\r\n\tcustomAddComponent: ((formData: any, callback: (error: any | null) => void) => void) | null;\r\n\tbeforeAddComponent: ((formData: any) => object) | null;\r\n}\r\n/**\r\n * A component that has a form to accept new app properties\r\n * like name, url and tags, validates user input then saves it\r\n * to persistent store. Showing or hiding this component is up to\r\n * parent component.\r\n * @example <AddNewAppForm onDone={this.someHandlerFunction}></AddNewAppForm>\r\n */\r\nexport default class AddNewAppForm extends React.Component<IProps, IState> {\r\n\tconstructor(props: IProps) {\r\n\t\tsuper(props);\r\n\t\tthis.state = {\r\n\t\t\t// if you do not do this, FORM_DEFAULTS gets mutated by setState later on.\r\n\t\t\tform: Object.assign({}, FORM_DEFAULTS),\r\n\t\t\tvalidation: Object.assign({}, VALIDATION_DEFAULTS),\r\n\t\t\t// changed to true after the user submits (if they submit bad information). This gives updated information on keypress.\r\n\t\t\tvalidateOnInputChange: false,\r\n\t\t};\r\n\r\n\t\tthis.onSubmit = this.onSubmit.bind(this);\r\n\t\tthis.onClear = this.onClear.bind(this);\r\n\t\tthis.onCancel = this.onCancel.bind(this);\r\n\t\tthis.done = this.done.bind(this);\r\n\t\tthis.onURLChanged = this.onURLChanged.bind(this);\r\n\t\tthis.onAppNameChanged = this.onAppNameChanged.bind(this);\r\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\r\n\t\tthis.addNewApp = this.addNewApp.bind(this);\r\n\t\tthis.addNewAppCallback = this.addNewAppCallback.bind(this);\r\n\t}\r\n\r\n\t/**\r\n\t * Calls the storeActions.addApp() method\r\n\t * to save the new app in store.\r\n\t */\r\n\tonSubmit() {\r\n\t\tthis.fixURL();\r\n\t\tthis.fixName();\r\n\t\tlet validName = this.validateName(this.state.form.name);\r\n\t\tlet validURL = this.validateURL(this.state.form.url);\r\n\t\tif (!validName || !validURL) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tvalidation: {\r\n\t\t\t\t\turl: validURL,\r\n\t\t\t\t\tname: validName,\r\n\t\t\t\t},\r\n\t\t\t\tvalidateOnInputChange: true,\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tvalidation: Object.assign({}, VALIDATION_DEFAULTS),\r\n\t\t\tvalidateOnInputChange: false,\r\n\t\t});\r\n\r\n\t\tlet formData = this.state.form;\r\n\t\tif (this.props.beforeAddComponent) {\r\n\t\t\tif (typeof this.props.beforeAddComponent !== \"function\") {\r\n\t\t\t\tFSBL.Clients.Logger.error(\r\n\t\t\t\t\t\"beforeAddComponent provided to Advanced App Launcher does not appear to be a function, skipping\"\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tformData = this.props.beforeAddComponent(formData);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.addNewApp(formData, this.addNewAppCallback);\r\n\t}\r\n\r\n\taddNewAppCallback(error: any) {\r\n\t\t// Notify parent if no errors\r\n\t\tif (error) {\r\n\t\t\tFSBL.Clients.Logger.error(error);\r\n\t\t\tthis.setState({\r\n\t\t\t\tvalidation: {\r\n\t\t\t\t\tname: false,\r\n\t\t\t\t\turl: true,\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.done();\r\n\t\t}\r\n\t}\r\n\r\n\taddNewApp(form: IState[\"form\"], cb: (err?: any) => void) {\r\n\t\tif (this.props.customAddComponent) {\r\n\t\t\tif (typeof this.props.customAddComponent === \"function\") {\r\n\t\t\t\tthis.props.customAddComponent(form, cb);\r\n\t\t\t\treturn;\r\n\t\t\t} else {\r\n\t\t\t\tFSBL.Clients.Logger.error(\r\n\t\t\t\t\t\"Custom Add Component parameter provided to Advanced App Launcher does not appear to be a function, falling back to default add\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\t// @ts-ignore: StoreActions doesn't have defined types\r\n\t\tstoreActions.addApp(form, cb);\r\n\t}\r\n\r\n\t/**\r\n\t * Clears all form inputs\r\n\t */\r\n\tonClear() {\r\n\t\t//document.getElementById(\"new-app\").reset();\r\n\t\tthis.setState({\r\n\t\t\tform: Object.assign({}, FORM_DEFAULTS),\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Just cancel and do not add the app\r\n\t */\r\n\tonCancel() {\r\n\t\tthis.done();\r\n\t}\r\n\r\n\t/**\r\n\t * Calls the passed onDone property to let the parent component\r\n\t * know that we finished processing user's request (submit/cancel)\r\n\t */\r\n\tdone() {\r\n\t\tif (this.props.onDone && typeof this.props.onDone === \"function\") {\r\n\t\t\tthis.props.onDone();\r\n\t\t}\r\n\t\tthis.onClear();\r\n\t}\r\n\r\n\t/**\r\n\t * When the url changes, validate it (after submit), or set state.\r\n\t * @param {keyboardEvent} e\r\n\t */\r\n\tonURLChanged(e: React.ChangeEvent<HTMLInputElement>) {\r\n\t\tlet { form, validation } = this.state;\r\n\t\tif (!form) {\r\n\t\t\tform = {};\r\n\t\t}\r\n\t\tform.url = e.target.value;\r\n\t\tif (this.state.validateOnInputChange) {\r\n\t\t\tvalidation.url = this.validateURL(form.url);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tform,\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * When the name changes, validate it (after submit), or set state.\r\n\t * @param {keyboardEvent} e\r\n\t */\r\n\tonAppNameChanged(e: React.ChangeEvent<HTMLInputElement>) {\r\n\t\tlet { form, validation } = this.state;\r\n\t\tif (!form) {\r\n\t\t\tform = {};\r\n\t\t}\r\n\t\tform.name = e.target.value;\r\n\t\tif (this.state.validateOnInputChange) {\r\n\t\t\tvalidation.name = this.validateName(form.name);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tform,\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Attempt to make a URL object, if successful the provided URL is valid.\r\n\t * If the URL constructor determines the provided string to be invalid it throws a TypeError.\r\n\t *\r\n\t * @param {string} url\r\n\t * @return boolean\r\n\t */\r\n\tvalidateURL(url?: string) {\r\n\t\tif (!url) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (this.props.customURLValidation) {\r\n\t\t\tif (typeof this.props.customURLValidation === \"function\") {\r\n\t\t\t\tconst [result, message] = this.props.customURLValidation(url);\r\n\t\t\t\tif (typeof result !== \"boolean\") {\r\n\t\t\t\t\tFSBL.Clients.Logger.error(\r\n\t\t\t\t\t\t\"Custom URL Validation routine does not return a boolean, falling back to default validation\"\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (message) {\r\n\t\t\t\t\t\tINVALID_URL_MSG = message;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn result;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tFSBL.Clients.Logger.error(\r\n\t\t\t\t\t\"Custom url validation provided to Advanced App Launcher does not appear to be a function, falling back to default validation\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn isValidURL(url);\r\n\t}\r\n\r\n\t/**\r\n\t * When the url changes, validate it (after submit), or set state.\r\n\t * @param {string} name\r\n\t */\r\n\tvalidateName(name?: string) {\r\n\t\tif (typeof name !== \"string\") {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn !(name === \"\") || /^[0-9a-zA-Z_.-\\s]+$/.test(name);\r\n\t}\r\n\r\n\t/**\r\n\t * Allows user to skip the protocol. Puts one in there if they don't have it.\r\n\t */\r\n\tfixURL() {\r\n\t\tlet { form } = this.state;\r\n\t\tif (!form) {\r\n\t\t\tform = {};\r\n\t\t}\r\n\t\tif (typeof form.url === \"string\") {\r\n\t\t\tform.url = addProtocolToValidURL(form?.url);\r\n\t\t}\r\n\t\tthis.setState({ form });\r\n\t}\r\n\r\n\t/**\r\n\t * Removes empty spaces from beginning and end of line\r\n\t */\r\n\tfixName() {\r\n\t\tlet { form } = this.state;\r\n\t\tif (!form) {\r\n\t\t\tform = {};\r\n\t\t}\r\n\t\tform.name = form.name?.trim();\r\n\t\tthis.setState({ form });\r\n\t}\r\n\r\n\t/**\r\n\t * Hotkey handler\r\n\t * Escape clears the form and hides it.\r\n\t * Enter submits.\r\n\t * @param {} e\r\n\t */\r\n\tonKeyDown(e: any) {\r\n\t\tif (e.detail.key === \"Escape\") {\r\n\t\t\tthis.onClear();\r\n\t\t\tthis.done();\r\n\t\t}\r\n\t\tif (e.detail.key === \"Enter\") {\r\n\t\t\tthis.onSubmit();\r\n\t\t}\r\n\t}\r\n\r\n\t// Listen for esc/enter\r\n\tcomponentDidMount() {\r\n\t\tdocument.addEventListener(\"portal:keydown\", this.onKeyDown);\r\n\t}\r\n\r\n\t// remove listen for esc/enter\r\n\tcomponentWillUnmount() {\r\n\t\tdocument.removeEventListener(\"portal:keydown\", this.onKeyDown);\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t<div className=\"add-app-form controls-wrapper\">\r\n\t\t\t\t<form id=\"new-app\">\r\n\t\t\t\t\t<FinsembleDialogTextInput\r\n\t\t\t\t\t\tinputLabel=\"Name\"\r\n\t\t\t\t\t\tonInputChange={this.onAppNameChanged}\r\n\t\t\t\t\t\tplaceholder=\"Name\"\r\n\t\t\t\t\t\tautoFocus={true}\r\n\t\t\t\t\t\tvalue={this.state.form.name}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{!this.state.validation.name && <div className=\"input-error\">{INVALID_NAME_MSG}</div>}\r\n\t\t\t\t\t<FinsembleDialogTextInput\r\n\t\t\t\t\t\tinputLabel=\"URL\"\r\n\t\t\t\t\t\tonInputChange={this.onURLChanged}\r\n\t\t\t\t\t\tplaceholder=\"URL\"\r\n\t\t\t\t\t\tvalue={this.state.form.url}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{!this.state.validation.url && <div className=\"input-error\">{INVALID_URL_MSG}</div>}\r\n\t\t\t\t\t<div className=\"button-wrapper\">\r\n\t\t\t\t\t\t<FinsembleDialogButton className=\"fsbl-button-neutral\" onClick={this.onClear}>\r\n\t\t\t\t\t\t\tClear\r\n\t\t\t\t\t\t</FinsembleDialogButton>\r\n\t\t\t\t\t\t<FinsembleDialogButton className=\"fsbl-button-neutral\" onClick={this.onCancel}>\r\n\t\t\t\t\t\t\tCancel\r\n\t\t\t\t\t\t</FinsembleDialogButton>\r\n\t\t\t\t\t\t<FinsembleDialogButton className=\"fsbl-button-affirmative\" onClick={this.onSubmit}>\r\n\t\t\t\t\t\t\tConfirm\r\n\t\t\t\t\t\t</FinsembleDialogButton>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</form>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n}\r\n"]}
@@ -1,5 +1,5 @@
1
- export default class AddNewFolder extends React.Component<any, any, any> {
2
- constructor();
1
+ import React from "react";
2
+ export default class AddNewFolder extends React.Component {
3
3
  addNewFolder(): void;
4
+ render(): JSX.Element;
4
5
  }
5
- import React from "react";
@@ -1,9 +1,6 @@
1
1
  import React from "react";
2
2
  import storeActions from "../stores/StoreActions";
3
3
  export default class AddNewFolder extends React.Component {
4
- constructor() {
5
- super();
6
- }
7
4
  addNewFolder() {
8
5
  storeActions.addNewFolder();
9
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AddNewFolder.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/components/AddNewFolder.jsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAOlD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK,CAAC,SAAS;IACxD;QACC,KAAK,EAAE,CAAC;IACT,CAAC;IAED,YAAY;QACX,YAAY,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM;QACL,OAAO,CACN,6BAAK,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAC,+BAA+B,iBAEpE,CACN,CAAC;IACH,CAAC;CACD","sourcesContent":["import React from \"react\";\r\nimport storeActions from \"../stores/StoreActions\";\r\n\r\n/**\r\n * A basic component that calls storeActions.addNewFolder()\r\n * to create a new folder in store. This component could be upgraded\r\n * to support inline naming of the new folder\r\n */\r\nexport default class AddNewFolder extends React.Component {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t}\r\n\r\n\taddNewFolder() {\r\n\t\tstoreActions.addNewFolder();\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t<div onClick={this.addNewFolder} className=\"ff-plus-2 complex-menu-action\">\r\n\t\t\t\tNew Folder\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"file":"AddNewFolder.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/components/AddNewFolder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAOlD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK,CAAC,SAAS;IACxD,YAAY;QACX,YAAY,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM;QACL,OAAO,CACN,6BAAK,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAC,+BAA+B,iBAEpE,CACN,CAAC;IACH,CAAC;CACD","sourcesContent":["import React from \"react\";\r\nimport storeActions from \"../stores/StoreActions\";\r\n\r\n/**\r\n * A basic component that calls storeActions.addNewFolder()\r\n * to create a new folder in store. This component could be upgraded\r\n * to support inline naming of the new folder\r\n */\r\nexport default class AddNewFolder extends React.Component {\r\n\taddNewFolder() {\r\n\t\tstoreActions.addNewFolder();\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t<div onClick={this.addNewFolder} className=\"ff-plus-2 complex-menu-action\">\r\n\t\t\t\tNew Folder\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n}\r\n"]}
@@ -1,13 +1,29 @@
1
- export default class AppActionsMenu extends React.Component<any, any, any> {
2
- constructor(props: any);
1
+ /*!
2
+ * Copyright 2018 by ChartIQ, Inc.
3
+ * All rights reserved.
4
+ *
5
+ */
6
+ import React from "react";
7
+ interface IProps {
8
+ app: any;
9
+ folder: any;
10
+ }
11
+ interface IState {
12
+ isVisible: boolean;
13
+ }
14
+ export default class AppActionsMenu extends React.Component<IProps, IState> {
15
+ menuRef: HTMLDivElement | null;
16
+ constructor(props: IProps);
17
+ componentDidMount(): void;
18
+ componentWillUnmount(): void;
19
+ toggleMenu(e?: React.MouseEvent<HTMLElement>): void;
3
20
  onViewInfo(): void;
4
- toggleMenu(e: any): void;
5
21
  onRemove(): void;
6
- setMenuRef(node: any): void;
7
- deleteApp(): void;
8
- handleClickOutside(e: Event): void;
22
+ setMenuRef(node: HTMLDivElement): void;
23
+ handleClickOutside(e: any): void;
9
24
  handleWindowBlurred(): void;
10
- menuRef: any;
25
+ deleteApp(): void;
11
26
  renderList(): JSX.Element;
27
+ render(): JSX.Element;
12
28
  }
13
- import React from "react";
29
+ export {};
@@ -39,6 +39,7 @@ export default class AppActionsMenu extends React.Component {
39
39
  this.deleteApp = this.deleteApp.bind(this);
40
40
  this.handleClickOutside = this.handleClickOutside.bind(this);
41
41
  this.handleWindowBlurred = this.handleWindowBlurred.bind(this);
42
+ this.menuRef = null;
42
43
  }
43
44
  componentDidMount() {
44
45
  document.addEventListener("portal:click", this.handleClickOutside);
@@ -67,7 +68,7 @@ export default class AppActionsMenu extends React.Component {
67
68
  spawnIfNotFound: true,
68
69
  left: "center",
69
70
  top: "center",
70
- }, (error) => {
71
+ }, () => {
71
72
  setTimeout(() => {
72
73
  FSBL.Clients.RouterClient.transmit("viewApp", {
73
74
  app: this.props.app,
@@ -83,7 +84,8 @@ export default class AppActionsMenu extends React.Component {
83
84
  this.menuRef = node;
84
85
  }
85
86
  handleClickOutside(e) {
86
- const eventTarget = e?.detail?.target;
87
+ var _a;
88
+ const eventTarget = (_a = e === null || e === void 0 ? void 0 : e.detail) === null || _a === void 0 ? void 0 : _a.target;
87
89
  const clickedInMyDropdown = someParentHasClassName(eventTarget, "actions-menu");
88
90
  if (this.state.isVisible && !clickedInMyDropdown) {
89
91
  this.setState({