@finsemble/finsemble-ui 6.1.4 → 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 (814) hide show
  1. package/package.json +26 -22
  2. package/react/actions/smartDesktopDesignerActions.d.ts +7 -7
  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/defaultTheme.css +1 -1
  7. package/react/assets/css/notificationsCenter.css +5 -2
  8. package/react/assets/css/userPreferences.css +5 -2
  9. package/react/assets/css/windowTitleBar.css +34 -1
  10. package/react/assets/icons/check-square.svg +6 -0
  11. package/react/assets/icons/lock.svg +6 -0
  12. package/react/components/FinsembleProvider.js +1 -1
  13. package/react/components/FinsembleProvider.js.map +1 -1
  14. package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
  15. package/react/components/appCatalog/components/AppList.d.ts +7 -1
  16. package/react/components/appCatalog/components/AppList.js +1 -1
  17. package/react/components/appCatalog/components/AppList.js.map +1 -1
  18. package/react/components/appCatalog/components/AppResults.d.ts +10 -8
  19. package/react/components/appCatalog/components/AppResults.js +1 -1
  20. package/react/components/appCatalog/components/AppResults.js.map +1 -1
  21. package/react/components/appCatalog/components/Carousel.js +1 -1
  22. package/react/components/appCatalog/components/Carousel.js.map +1 -1
  23. package/react/components/appCatalog/components/EmptyResults.d.ts +2 -1
  24. package/react/components/appCatalog/components/EmptyResults.js +2 -4
  25. package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
  26. package/react/components/appCatalog/components/Hero.d.ts +24 -4
  27. package/react/components/appCatalog/components/Hero.js +2 -1
  28. package/react/components/appCatalog/components/Hero.js.map +1 -1
  29. package/react/components/appCatalog/components/Home.d.ts +18 -4
  30. package/react/components/appCatalog/components/Home.js.map +1 -1
  31. package/react/components/appCatalog/components/SearchBar.d.ts +20 -7
  32. package/react/components/appCatalog/components/SearchBar.js +4 -7
  33. package/react/components/appCatalog/components/SearchBar.js.map +1 -1
  34. package/react/components/appCatalog/components/Showcase/AppDescription.d.ts +5 -3
  35. package/react/components/appCatalog/components/Showcase/AppDescription.js +4 -6
  36. package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
  37. package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts +5 -4
  38. package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
  39. package/react/components/appCatalog/components/Showcase/AppShowcase.js +1 -1
  40. package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
  41. package/react/components/appCatalog/components/Showcase/Header.d.ts +13 -5
  42. package/react/components/appCatalog/components/Showcase/Header.js +2 -2
  43. package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
  44. package/react/components/appCatalog/components/Showcase/Modal.d.ts +7 -4
  45. package/react/components/appCatalog/components/Showcase/Modal.js +6 -6
  46. package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
  47. package/react/components/appCatalog/components/Showcase/defaults.d.ts +3 -3
  48. package/react/components/appCatalog/components/Showcase/defaults.js.map +1 -1
  49. package/react/components/appCatalog/components/Tag.d.ts +6 -4
  50. package/react/components/appCatalog/components/Tag.js.map +1 -1
  51. package/react/components/appCatalog/components/Toast.d.ts +5 -3
  52. package/react/components/appCatalog/components/Toast.js +5 -4
  53. package/react/components/appCatalog/components/Toast.js.map +1 -1
  54. package/react/components/appCatalog/modules/AppDirectory.d.ts +5 -1
  55. package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
  56. package/react/components/appCatalog/modules/FDC3.d.ts +12 -11
  57. package/react/components/appCatalog/modules/FDC3.js +20 -18
  58. package/react/components/appCatalog/modules/FDC3.js.map +1 -1
  59. package/react/components/appCatalog/stores/appStore.d.ts +9 -2
  60. package/react/components/appCatalog/stores/appStore.js +10 -4
  61. package/react/components/appCatalog/stores/appStore.js.map +1 -1
  62. package/react/components/appCatalog/stores/storeActions.js.map +1 -1
  63. package/react/components/common/Button.d.ts +5 -4
  64. package/react/components/common/Button.js +2 -2
  65. package/react/components/common/Button.js.map +1 -1
  66. package/react/components/common/ButtonIcon.js +1 -1
  67. package/react/components/common/ButtonIcon.js.map +1 -1
  68. package/react/components/common/ButtonRow.d.ts +15 -0
  69. package/react/components/common/ButtonRow.js +32 -0
  70. package/react/components/common/ButtonRow.js.map +1 -0
  71. package/react/components/common/Checkbox.d.ts +8 -0
  72. package/react/components/common/Checkbox.js +22 -0
  73. package/react/components/common/Checkbox.js.map +1 -0
  74. package/react/components/common/ColorPicker.js +1 -1
  75. package/react/components/common/ColorPicker.js.map +1 -1
  76. package/react/components/common/DropZone.d.ts +0 -5
  77. package/react/components/common/DropZone.js.map +1 -1
  78. package/react/components/common/DropdownButton.js +1 -1
  79. package/react/components/common/DropdownButton.js.map +1 -1
  80. package/react/components/common/FileInput.d.ts +0 -5
  81. package/react/components/common/FileInput.js +7 -9
  82. package/react/components/common/FileInput.js.map +1 -1
  83. package/react/components/common/FinsembleIcon.d.ts +2 -2
  84. package/react/components/common/FinsembleIcon.js +4 -0
  85. package/react/components/common/FinsembleIcon.js.map +1 -1
  86. package/react/components/common/FinsembleSelect.d.ts +3 -2
  87. package/react/components/common/FinsembleSelect.js +3 -6
  88. package/react/components/common/FinsembleSelect.js.map +1 -1
  89. package/react/components/common/FinsembleToggle.js +2 -2
  90. package/react/components/common/FinsembleToggle.js.map +1 -1
  91. package/react/components/common/FontSizeSelector.js +2 -2
  92. package/react/components/common/FontSizeSelector.js.map +1 -1
  93. package/react/components/common/ImagePreview.js +2 -2
  94. package/react/components/common/ImagePreview.js.map +1 -1
  95. package/react/components/common/Tab.js +2 -1
  96. package/react/components/common/Tab.js.map +1 -1
  97. package/react/components/common/Tooltip.d.ts +4 -3
  98. package/react/components/common/Tooltip.js +3 -3
  99. package/react/components/common/Tooltip.js.map +1 -1
  100. package/react/components/common/css/tooltip.css +10 -0
  101. package/react/components/common/file_helpers.js +3 -2
  102. package/react/components/common/file_helpers.js.map +1 -1
  103. package/react/components/common/helpers.js +20 -10
  104. package/react/components/common/helpers.js.map +1 -1
  105. package/react/components/common/stories/Button.stories.js +1 -1
  106. package/react/components/common/stories/Button.stories.js.map +1 -1
  107. package/react/components/common/stories/ButtonIcon.stories.js +1 -1
  108. package/react/components/common/stories/ButtonIcon.stories.js.map +1 -1
  109. package/react/components/common/stories/ButtonRow.stories.d.ts +14 -0
  110. package/react/components/common/stories/ButtonRow.stories.js +39 -0
  111. package/react/components/common/stories/ButtonRow.stories.js.map +1 -0
  112. package/react/components/common/stories/ButtonTile.stories.js +1 -1
  113. package/react/components/common/stories/ButtonTile.stories.js.map +1 -1
  114. package/react/components/common/stories/Checkbox.stories.d.ts +13 -0
  115. package/react/components/common/stories/Checkbox.stories.js +29 -0
  116. package/react/components/common/stories/Checkbox.stories.js.map +1 -0
  117. package/react/components/common/stories/ColorPicker.stories.js +1 -1
  118. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  119. package/react/components/common/stories/DropZone.stories.js +1 -1
  120. package/react/components/common/stories/DropZone.stories.js.map +1 -1
  121. package/react/components/common/stories/DropdownButton.stories.d.ts +22 -0
  122. package/react/components/common/stories/DropdownButton.stories.js +29 -0
  123. package/react/components/common/stories/DropdownButton.stories.js.map +1 -0
  124. package/react/components/common/stories/FinsembleIcon.stories.js +2 -0
  125. package/react/components/common/stories/FinsembleIcon.stories.js.map +1 -1
  126. package/react/components/common/stories/FinsembleSelect.stories.d.ts +1 -1
  127. package/react/components/common/stories/FinsembleSelect.stories.js +1 -1
  128. package/react/components/common/stories/FinsembleSelect.stories.js.map +1 -1
  129. package/react/components/common/stories/FinsembleToggle.stories.js +3 -1
  130. package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
  131. package/react/components/common/stories/FontSizeSelector.stories.js +1 -1
  132. package/react/components/common/stories/FontSizeSelector.stories.js.map +1 -1
  133. package/react/components/common/stories/Header.stories.js +1 -1
  134. package/react/components/common/stories/Header.stories.js.map +1 -1
  135. package/react/components/common/stories/Tooltip.stories.d.ts +1 -1
  136. package/react/components/{shared/addProtocolToValidURL.spec.d.ts → common/tests/ButtonRow.spec.d.ts} +0 -0
  137. package/react/components/common/tests/ButtonRow.spec.js +25 -0
  138. package/react/components/common/tests/ButtonRow.spec.js.map +1 -0
  139. package/react/components/common/tests/Checkbox.spec.d.ts +1 -0
  140. package/react/components/common/tests/Checkbox.spec.js +33 -0
  141. package/react/components/common/tests/Checkbox.spec.js.map +1 -0
  142. package/react/components/common/tests/ColorPicker.spec.js +6 -6
  143. package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
  144. package/react/components/common/tests/DropZone.spec.js +4 -4
  145. package/react/components/common/tests/DropZone.spec.js.map +1 -1
  146. package/react/components/common/tests/FileInput.spec.js +5 -5
  147. package/react/components/common/tests/FileInput.spec.js.map +1 -1
  148. package/react/components/common/tests/FinsembleSelect.spec.js +12 -11
  149. package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
  150. package/react/components/common/tests/FinsembleToggle.spec.js +8 -2
  151. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  152. package/react/components/common/tests/Header.spec.js +3 -3
  153. package/react/components/common/tests/Header.spec.js.map +1 -1
  154. package/react/components/common/tests/ImagePreview.spec.js +8 -8
  155. package/react/components/common/tests/ImagePreview.spec.js.map +1 -1
  156. package/react/components/common/tests/Tab.spec.js +3 -3
  157. package/react/components/common/tests/Tab.spec.js.map +1 -1
  158. package/react/components/common/tests/Tooltip.spec.js +5 -5
  159. package/react/components/common/tests/Tooltip.spec.js.map +1 -1
  160. package/react/components/favorites/FavoriteMaker.d.ts +0 -5
  161. package/react/components/favorites/FavoriteMaker.js +1 -1
  162. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  163. package/react/components/favorites/FavoritesShell.js +1 -1
  164. package/react/components/favorites/FavoritesShell.js.map +1 -1
  165. package/react/components/favorites/FavoritesShell.spec.js +7 -7
  166. package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
  167. package/react/components/favorites/FavoritesShell.stories.js +5 -4
  168. package/react/components/favorites/FavoritesShell.stories.js.map +1 -1
  169. package/react/components/fdc3Resolver/ResolverContainer.js +2 -1
  170. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  171. package/react/components/fdc3Resolver/ResolverDialog.css +1 -0
  172. package/react/components/fdc3Resolver/ResolverDialog.js +15 -16
  173. package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
  174. package/react/components/fdc3Resolver/ResolverDialog.spec.js +6 -13
  175. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
  176. package/react/components/fdc3Resolver/ResolverDialog.stories.js +46 -46
  177. package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
  178. package/react/components/icon/Icon.js +5 -4
  179. package/react/components/icon/Icon.js.map +1 -1
  180. package/react/components/legacyControls/FinsembleDialogButton.d.ts +1 -1
  181. package/react/components/legacyControls/FinsembleDialogButton.js +4 -3
  182. package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
  183. package/react/components/legacyControls/FinsembleDialogQuestion.js +2 -1
  184. package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
  185. package/react/components/legacyControls/FinsembleDialogTextInput.d.ts +1 -1
  186. package/react/components/legacyControls/FinsembleDialogTextInput.js +8 -5
  187. package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
  188. package/react/components/legacyControls/FinsembleDnDContext.js +18 -17
  189. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  190. package/react/components/legacyControls/FinsembleDraggable.js +3 -3
  191. package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
  192. package/react/components/legacyControls/FinsembleHoverDetector.js +2 -1
  193. package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
  194. package/react/components/legacyControls/FinsembleMenuSection.js +6 -3
  195. package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
  196. package/react/components/legacyControls/stories/FinsembleDialog.stories.js +1 -1
  197. package/react/components/legacyControls/stories/FinsembleDialog.stories.js.map +1 -1
  198. package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js +1 -1
  199. package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js.map +1 -1
  200. package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js +1 -1
  201. package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js.map +1 -1
  202. package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js +1 -1
  203. package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js.map +1 -1
  204. package/react/components/legacyControls/tests/FinsembleDialog.spec.js +1 -1
  205. package/react/components/legacyControls/tests/FinsembleDialog.spec.js.map +1 -1
  206. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js +8 -7
  207. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
  208. package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js +7 -5
  209. package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js.map +1 -1
  210. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +13 -12
  211. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
  212. package/react/components/linker/LinkerMenu.js +4 -3
  213. package/react/components/linker/LinkerMenu.js.map +1 -1
  214. package/react/components/linker/LinkerMenuDeprecated.js +1 -1
  215. package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
  216. package/react/components/linker/remoteRedux.d.ts +10 -42
  217. package/react/components/linker/remoteRedux.js.map +1 -1
  218. package/react/components/menu/Menu.d.ts +1 -1
  219. package/react/components/menu/Menu.js +1 -1
  220. package/react/components/menu/Menu.js.map +1 -1
  221. package/react/components/menu/MenuAutoResizer.js.map +1 -1
  222. package/react/components/menu/MenuPortal.js +7 -6
  223. package/react/components/menu/MenuPortal.js.map +1 -1
  224. package/react/components/menu/keyboardNavigation.js +14 -15
  225. package/react/components/menu/keyboardNavigation.js.map +1 -1
  226. package/react/components/notifications/components/NoNotifications.js +2 -4
  227. package/react/components/notifications/components/NoNotifications.js.map +1 -1
  228. package/react/components/notifications/components/drawer/Drawer.js +2 -4
  229. package/react/components/notifications/components/drawer/Drawer.js.map +1 -1
  230. package/react/components/notifications/components/drawer/DrawerControls.js +2 -4
  231. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  232. package/react/components/notifications/components/drawer/DrawerHeader.js +3 -6
  233. package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
  234. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +55 -69
  235. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  236. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +14 -15
  237. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
  238. package/react/components/notifications/components/shared/CheckButton.d.ts +2 -2
  239. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  240. package/react/components/notifications/components/shared/IconButton.js +3 -5
  241. package/react/components/notifications/components/shared/IconButton.js.map +1 -1
  242. package/react/components/notifications/components/shared/NotificationCardShell.d.ts +3 -2
  243. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  244. package/react/components/notifications/components/shared/OverflowMenu.d.ts +2 -1
  245. package/react/components/notifications/components/shared/OverflowMenu.js +6 -5
  246. package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
  247. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts +3 -2
  248. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js +1 -1
  249. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js.map +1 -1
  250. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts +3 -2
  251. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  252. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +3 -2
  253. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js +2 -4
  254. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
  255. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts +3 -2
  256. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  257. package/react/components/notifications/components/views/CardView.js +15 -24
  258. package/react/components/notifications/components/views/CardView.js.map +1 -1
  259. package/react/components/notifications/components/views/ListView.d.ts +2 -2
  260. package/react/components/notifications/components/views/ListView.js +10 -10
  261. package/react/components/notifications/components/views/ListView.js.map +1 -1
  262. package/react/components/notifications/components/views/NotificationDetailsView.d.ts +2 -2
  263. package/react/components/notifications/components/views/NotificationDetailsView.js +5 -8
  264. package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
  265. package/react/components/notifications/constants.d.ts +13 -0
  266. package/react/components/notifications/constants.js.map +1 -1
  267. package/react/components/notifications/types.d.ts +7 -6
  268. package/react/components/notifications/types.js.map +1 -1
  269. package/react/components/notifications/utils.d.ts +6 -4
  270. package/react/components/notifications/utils.js +26 -32
  271. package/react/components/notifications/utils.js.map +1 -1
  272. package/react/components/processMonitor/ProcessMonitor.d.ts +3 -1
  273. package/react/components/processMonitor/ProcessMonitor.js +17 -10
  274. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  275. package/react/components/processMonitor/ProcessMonitorTypes.d.ts +33 -0
  276. package/react/components/processMonitor/ProcessMonitorTypes.js +6 -0
  277. package/react/components/processMonitor/ProcessMonitorTypes.js.map +1 -0
  278. package/react/components/processMonitor/components/ChildWindow.d.ts +10 -3
  279. package/react/components/processMonitor/components/ChildWindow.js +19 -10
  280. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  281. package/react/components/processMonitor/components/ListHeader.d.ts +17 -4
  282. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  283. package/react/components/processMonitor/components/ProcessStatistics.d.ts +11 -3
  284. package/react/components/processMonitor/components/ProcessStatistics.js +25 -18
  285. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  286. package/react/components/processMonitor/constants.d.ts +11 -16
  287. package/react/components/processMonitor/constants.js +3 -1
  288. package/react/components/processMonitor/constants.js.map +1 -1
  289. package/react/components/processMonitor/helpers.d.ts +25 -5
  290. package/react/components/processMonitor/helpers.js +28 -20
  291. package/react/components/processMonitor/helpers.js.map +1 -1
  292. package/react/components/processMonitor/helpers.spec.d.ts +1 -0
  293. package/react/components/processMonitor/helpers.spec.js +44 -0
  294. package/react/components/processMonitor/helpers.spec.js.map +1 -0
  295. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +30 -15
  296. package/react/components/processMonitor/stores/ProcessMonitorStore.js +101 -86
  297. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  298. package/react/components/quickComponentForm/QuickComponentForm.d.ts +4 -1
  299. package/react/components/quickComponentForm/QuickComponentForm.js +13 -14
  300. package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
  301. package/react/components/search/Highlight.js +13 -3
  302. package/react/components/search/Highlight.js.map +1 -1
  303. package/react/components/search/Highlight.spec.js +3 -3
  304. package/react/components/search/Highlight.spec.js.map +1 -1
  305. package/react/components/search/Highlight.stories.js +1 -1
  306. package/react/components/search/Highlight.stories.js.map +1 -1
  307. package/react/components/search/Search.js +17 -8
  308. package/react/components/search/Search.js.map +1 -1
  309. package/react/components/search/SearchBestMatch.js +2 -1
  310. package/react/components/search/SearchBestMatch.js.map +1 -1
  311. package/react/components/search/SearchProviderResults.js +4 -5
  312. package/react/components/search/SearchProviderResults.js.map +1 -1
  313. package/react/components/search/SearchResult.js +3 -2
  314. package/react/components/search/SearchResult.js.map +1 -1
  315. package/react/components/search/SearchResults.js +1 -1
  316. package/react/components/search/SearchResults.js.map +1 -1
  317. package/react/components/shared/Button.js +2 -4
  318. package/react/components/shared/Button.js.map +1 -1
  319. package/react/components/shared/DefaultDropdownButton.d.ts +1 -0
  320. package/react/components/shared/DefaultDropdownButton.js +14 -4
  321. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  322. package/react/components/shared/NavigationButton.js +9 -11
  323. package/react/components/shared/NavigationButton.js.map +1 -1
  324. package/react/components/shared/Tag.d.ts +11 -1
  325. package/react/components/shared/Tag.js.map +1 -1
  326. package/react/components/shared/TagsMenu.d.ts +26 -6
  327. package/react/components/shared/TagsMenu.js.map +1 -1
  328. package/react/components/shared/linkerUtil.d.ts +3 -1
  329. package/react/components/shared/linkerUtil.js.map +1 -1
  330. package/react/components/shared/tests/DefaultDropdownButton.spec.d.ts +1 -0
  331. package/react/components/shared/tests/DefaultDropdownButton.spec.js +54 -0
  332. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -0
  333. package/react/components/shared/tests/addProtocolToValidURL.spec.d.ts +1 -0
  334. package/react/components/shared/{addProtocolToValidURL.spec.js → tests/addProtocolToValidURL.spec.js} +1 -1
  335. package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +1 -0
  336. package/react/components/singleInputDialog/SingleInputDialog.spec.js +6 -6
  337. package/react/components/singleInputDialog/SingleInputDialog.spec.js.map +1 -1
  338. package/react/components/singleInputDialog/SingleInputDialog.stories.js +1 -1
  339. package/react/components/singleInputDialog/SingleInputDialog.stories.js.map +1 -1
  340. package/react/components/smartDesktopDesigner/AppEditAccess.d.ts +15 -0
  341. package/react/components/smartDesktopDesigner/AppEditAccess.js +138 -0
  342. package/react/components/smartDesktopDesigner/AppEditAccess.js.map +1 -0
  343. package/react/components/smartDesktopDesigner/AppEditPage.d.ts +9 -3
  344. package/react/components/smartDesktopDesigner/AppEditPage.js +5 -1
  345. package/react/components/smartDesktopDesigner/AppEditPage.js.map +1 -1
  346. package/react/components/smartDesktopDesigner/Appearance.js +3 -5
  347. package/react/components/smartDesktopDesigner/Appearance.js.map +1 -1
  348. package/react/components/smartDesktopDesigner/Application.d.ts +7 -4
  349. package/react/components/smartDesktopDesigner/Application.js +85 -83
  350. package/react/components/smartDesktopDesigner/Application.js.map +1 -1
  351. package/react/components/smartDesktopDesigner/ApplicationEdit.d.ts +3 -0
  352. package/react/components/smartDesktopDesigner/ApplicationEdit.js +68 -51
  353. package/react/components/smartDesktopDesigner/ApplicationEdit.js.map +1 -1
  354. package/react/components/smartDesktopDesigner/ApplicationList.d.ts +4 -2
  355. package/react/components/smartDesktopDesigner/ApplicationList.js +33 -20
  356. package/react/components/smartDesktopDesigner/ApplicationList.js.map +1 -1
  357. package/react/components/smartDesktopDesigner/ApplicationSetup.d.ts +7 -1
  358. package/react/components/smartDesktopDesigner/ApplicationSetup.js +8 -20
  359. package/react/components/smartDesktopDesigner/ApplicationSetup.js.map +1 -1
  360. package/react/components/smartDesktopDesigner/Applications.d.ts +2 -1
  361. package/react/components/smartDesktopDesigner/Applications.js +73 -62
  362. package/react/components/smartDesktopDesigner/Applications.js.map +1 -1
  363. package/react/components/smartDesktopDesigner/Authentication.js +2 -8
  364. package/react/components/smartDesktopDesigner/Authentication.js.map +1 -1
  365. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js +1 -8
  366. package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js.map +1 -1
  367. package/react/components/smartDesktopDesigner/Content.js.map +1 -1
  368. package/react/components/smartDesktopDesigner/CurrentView.js +1 -1
  369. package/react/components/smartDesktopDesigner/CurrentView.js.map +1 -1
  370. package/react/components/smartDesktopDesigner/Export.js +3 -3
  371. package/react/components/smartDesktopDesigner/Export.js.map +1 -1
  372. package/react/components/smartDesktopDesigner/ExportCloud.js +1 -1
  373. package/react/components/smartDesktopDesigner/ExportCloud.js.map +1 -1
  374. package/react/components/smartDesktopDesigner/ExportDeployInfo.js +1 -1
  375. package/react/components/smartDesktopDesigner/ExportDeployInfo.js.map +1 -1
  376. package/react/components/smartDesktopDesigner/ExportZip.js +0 -1
  377. package/react/components/smartDesktopDesigner/ExportZip.js.map +1 -1
  378. package/react/components/smartDesktopDesigner/GettingStarted.d.ts +1 -1
  379. package/react/components/smartDesktopDesigner/GettingStarted.js +1 -1
  380. package/react/components/smartDesktopDesigner/GettingStarted.js.map +1 -1
  381. package/react/components/smartDesktopDesigner/ProjectHeader.d.ts +1 -1
  382. package/react/components/smartDesktopDesigner/ProjectHeader.js +1 -1
  383. package/react/components/smartDesktopDesigner/ProjectHeader.js.map +1 -1
  384. package/react/components/smartDesktopDesigner/Publish.js +1 -1
  385. package/react/components/smartDesktopDesigner/Publish.js.map +1 -1
  386. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +0 -11
  387. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +11 -24
  388. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  389. package/react/components/smartDesktopDesigner/Themes.js +2 -8
  390. package/react/components/smartDesktopDesigner/Themes.js.map +1 -1
  391. package/react/components/smartDesktopDesigner/View.js.map +1 -1
  392. package/react/components/smartDesktopDesigner/common/getCSSVars.d.ts +1 -1
  393. package/react/components/smartDesktopDesigner/common/getCSSVars.js +2 -1
  394. package/react/components/smartDesktopDesigner/common/getCSSVars.js.map +1 -1
  395. package/react/components/smartDesktopDesigner/common/views.d.ts +1 -1
  396. package/react/components/smartDesktopDesigner/common/views.js +6 -14
  397. package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
  398. package/react/components/smartDesktopDesigner/css/applications.css +38 -0
  399. package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js +20 -2
  400. package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js.map +1 -1
  401. package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js +10 -1
  402. package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js.map +1 -1
  403. package/react/components/smartDesktopDesigner/fixtures/applicationsProps.js +6 -3
  404. package/react/components/smartDesktopDesigner/fixtures/applicationsProps.js.map +1 -1
  405. package/react/components/smartDesktopDesigner/fixtures/apps.d.ts +5 -2
  406. package/react/components/smartDesktopDesigner/fixtures/apps.js +15 -15
  407. package/react/components/smartDesktopDesigner/fixtures/apps.js.map +1 -1
  408. package/react/components/smartDesktopDesigner/fixtures/exportProps.js.map +1 -1
  409. package/react/components/smartDesktopDesigner/fixtures/publishProgress.d.ts +2 -1
  410. package/react/components/smartDesktopDesigner/fixtures/publishProgress.js.map +1 -1
  411. package/react/components/smartDesktopDesigner/fixtures/views.js +4 -4
  412. package/react/components/smartDesktopDesigner/fixtures/views.js.map +1 -1
  413. package/react/components/smartDesktopDesigner/sdd_helpers.js +2 -1
  414. package/react/components/smartDesktopDesigner/sdd_helpers.js.map +1 -1
  415. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.d.ts +3 -4
  416. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js +22 -2
  417. package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js.map +1 -1
  418. package/react/components/smartDesktopDesigner/stories/Appearance.stories.js +7 -7
  419. package/react/components/smartDesktopDesigner/stories/Appearance.stories.js.map +1 -1
  420. package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js +3 -7
  421. package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js.map +1 -1
  422. package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js +9 -2
  423. package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js.map +1 -1
  424. package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js +3 -10
  425. package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js.map +1 -1
  426. package/react/components/smartDesktopDesigner/stories/Applications.stories.js +3 -2
  427. package/react/components/smartDesktopDesigner/stories/Applications.stories.js.map +1 -1
  428. package/react/components/smartDesktopDesigner/stories/Authentication.stories.js +7 -14
  429. package/react/components/smartDesktopDesigner/stories/Authentication.stories.js.map +1 -1
  430. package/react/components/smartDesktopDesigner/stories/Export.stories.js +2 -2
  431. package/react/components/smartDesktopDesigner/stories/Export.stories.js.map +1 -1
  432. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js +2 -2
  433. package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js.map +1 -1
  434. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js +5 -11
  435. package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js.map +1 -1
  436. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.d.ts +1 -1
  437. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js +1 -1
  438. package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js.map +1 -1
  439. package/react/components/smartDesktopDesigner/stories/Navigation.stories.js +1 -1
  440. package/react/components/smartDesktopDesigner/stories/Navigation.stories.js.map +1 -1
  441. package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js +2 -4
  442. package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js.map +1 -1
  443. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.d.ts +1 -1
  444. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js +1 -1
  445. package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js.map +1 -1
  446. package/react/components/smartDesktopDesigner/stories/Publish.stories.js +13 -28
  447. package/react/components/smartDesktopDesigner/stories/Publish.stories.js.map +1 -1
  448. package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js +1 -1
  449. package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js.map +1 -1
  450. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js +3 -3
  451. package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js.map +1 -1
  452. package/react/components/smartDesktopDesigner/stories/Themes.stories.js +1 -1
  453. package/react/components/smartDesktopDesigner/stories/Themes.stories.js.map +1 -1
  454. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js +33 -32
  455. package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js.map +1 -1
  456. package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js +6 -5
  457. package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js.map +1 -1
  458. package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js +11 -11
  459. package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js.map +1 -1
  460. package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js +9 -7
  461. package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js.map +1 -1
  462. package/react/components/smartDesktopDesigner/tests/Applications.spec.d.ts +1 -1
  463. package/react/components/smartDesktopDesigner/tests/Applications.spec.js +118 -41
  464. package/react/components/smartDesktopDesigner/tests/Applications.spec.js.map +1 -1
  465. package/react/components/smartDesktopDesigner/tests/Authentication.spec.js +6 -18
  466. package/react/components/smartDesktopDesigner/tests/Authentication.spec.js.map +1 -1
  467. package/react/components/smartDesktopDesigner/tests/Export.spec.js +14 -22
  468. package/react/components/smartDesktopDesigner/tests/Export.spec.js.map +1 -1
  469. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js +2 -6
  470. package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js.map +1 -1
  471. package/react/components/smartDesktopDesigner/tests/Navigation.spec.js +2 -2
  472. package/react/components/smartDesktopDesigner/tests/Navigation.spec.js.map +1 -1
  473. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js +2 -2
  474. package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js.map +1 -1
  475. package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js +2 -2
  476. package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js.map +1 -1
  477. package/react/components/smartDesktopDesigner/tests/Publish.spec.js +3 -10
  478. package/react/components/smartDesktopDesigner/tests/Publish.spec.js.map +1 -1
  479. package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js +2 -6
  480. package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js.map +1 -1
  481. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js +3 -3
  482. package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js.map +1 -1
  483. package/react/components/smartDesktopDesigner/tests/Themes.spec.js +7 -7
  484. package/react/components/smartDesktopDesigner/tests/Themes.spec.js.map +1 -1
  485. package/react/components/smartDesktopDesigner/tests/a11y_helper.js +2 -1
  486. package/react/components/smartDesktopDesigner/tests/a11y_helper.js.map +1 -1
  487. package/react/components/system/System.spec.js +1 -1
  488. package/react/components/system/System.spec.js.map +1 -1
  489. package/react/components/system/SystemTrayComponentShell.js +1 -1
  490. package/react/components/system/SystemTrayComponentShell.js.map +1 -1
  491. package/react/components/toolbar/MinimizeAll.spec.js +5 -5
  492. package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
  493. package/react/components/toolbar/NotificationControl.js +3 -2
  494. package/react/components/toolbar/NotificationControl.js.map +1 -1
  495. package/react/components/toolbar/RevealAll.spec.js +5 -5
  496. package/react/components/toolbar/RevealAll.spec.js.map +1 -1
  497. package/react/components/toolbar/ToolbarIcon.js +14 -2
  498. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  499. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +22 -5
  500. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js +11 -6
  501. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
  502. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js +21 -9
  503. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js.map +1 -1
  504. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts +33 -10
  505. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js +24 -3
  506. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
  507. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts +3 -3
  508. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js +0 -3
  509. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
  510. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts +24 -8
  511. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +4 -2
  512. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
  513. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +18 -4
  514. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js +5 -4
  515. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
  516. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.d.ts +14 -6
  517. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js +2 -2
  518. package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js.map +1 -1
  519. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +34 -13
  520. package/react/components/toolbar/advancedAppLauncher/components/Content.js +22 -29
  521. package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
  522. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts +15 -5
  523. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js +4 -3
  524. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
  525. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +38 -21
  526. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +14 -9
  527. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
  528. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts +18 -3
  529. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js +7 -3
  530. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
  531. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.d.ts +10 -3
  532. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js +1 -3
  533. package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js.map +1 -1
  534. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.d.ts +15 -6
  535. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js +11 -6
  536. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
  537. package/react/components/toolbar/advancedAppLauncher/components/SortBy.d.ts +11 -4
  538. package/react/components/toolbar/advancedAppLauncher/components/SortBy.js +3 -2
  539. package/react/components/toolbar/advancedAppLauncher/components/SortBy.js.map +1 -1
  540. package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts +18 -6
  541. package/react/components/toolbar/advancedAppLauncher/components/TagsList.js +2 -2
  542. package/react/components/toolbar/advancedAppLauncher/components/TagsList.js.map +1 -1
  543. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.d.ts +20 -4
  544. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js +2 -4
  545. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
  546. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.d.ts +5 -1
  547. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
  548. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts +15 -10
  549. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
  550. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts +5 -2
  551. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js +1 -1
  552. package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js.map +1 -1
  553. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +5 -4
  554. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  555. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts +7 -6
  556. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js +11 -13
  557. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
  558. package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts +3 -3
  559. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +1 -1
  560. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  561. package/react/components/toolbar/appLauncher/DynamicAppLauncher.js.map +1 -1
  562. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +25 -3
  563. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js +3 -10
  564. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
  565. package/react/components/toolbar/appLauncher/components/componentList.d.ts +34 -6
  566. package/react/components/toolbar/appLauncher/components/componentList.js +24 -21
  567. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  568. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +32 -32
  569. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +37 -55
  570. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
  571. package/react/components/toolbar/dashbar/Dashbar.js +24 -13
  572. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  573. package/react/components/toolbar/dashbar/DashbarItem.js +1 -1
  574. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  575. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +28 -5
  576. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js +17 -23
  577. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
  578. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +25 -3
  579. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  580. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +13 -8
  581. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +2 -2
  582. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  583. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +16 -8
  584. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js +0 -3
  585. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
  586. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +65 -11
  587. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +95 -145
  588. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  589. package/react/components/userPreferences/UserPreferenceTypes.d.ts +5 -0
  590. package/react/components/userPreferences/UserPreferenceTypes.js +2 -0
  591. package/react/components/userPreferences/UserPreferenceTypes.js.map +1 -0
  592. package/react/components/userPreferences/UserPreferences.js +8 -23
  593. package/react/components/userPreferences/UserPreferences.js.map +1 -1
  594. package/react/components/userPreferences/UserPreferencesBase.d.ts +3 -1
  595. package/react/components/userPreferences/UserPreferencesBase.js +5 -6
  596. package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
  597. package/react/components/userPreferences/UserPreferencesWrapper.d.ts +4 -0
  598. package/react/components/userPreferences/UserPreferencesWrapper.js +27 -0
  599. package/react/components/userPreferences/UserPreferencesWrapper.js.map +1 -0
  600. package/react/components/userPreferences/components/ContentSection.d.ts +18 -3
  601. package/react/components/userPreferences/components/ContentSection.js +6 -3
  602. package/react/components/userPreferences/components/ContentSection.js.map +1 -1
  603. package/react/components/userPreferences/components/LeftNav.d.ts +19 -4
  604. package/react/components/userPreferences/components/LeftNav.js +12 -11
  605. package/react/components/userPreferences/components/LeftNav.js.map +1 -1
  606. package/react/components/userPreferences/components/content/DashbarEditor.d.ts +20 -5
  607. package/react/components/userPreferences/components/content/DashbarEditor.js +11 -11
  608. package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
  609. package/react/components/userPreferences/components/content/DashbarEditorItem.d.ts +10 -0
  610. package/react/components/userPreferences/components/content/DashbarEditorItem.js +11 -0
  611. package/react/components/userPreferences/components/content/DashbarEditorItem.js.map +1 -0
  612. package/react/components/userPreferences/components/content/General.d.ts +10 -3
  613. package/react/components/userPreferences/components/content/General.js +2 -2
  614. package/react/components/userPreferences/components/content/General.js.map +1 -1
  615. package/react/components/userPreferences/components/content/Notifications.js +2 -0
  616. package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
  617. package/react/components/userPreferences/components/content/Workspaces.js +51 -113
  618. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  619. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +56 -61
  620. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  621. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.d.ts +1 -1
  622. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +17 -15
  623. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
  624. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.d.ts +3 -1
  625. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +15 -16
  626. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
  627. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js +6 -6
  628. package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js.map +1 -1
  629. package/react/components/userPreferences/components/general/ScheduledRestart.d.ts +24 -7
  630. package/react/components/userPreferences/components/general/ScheduledRestart.js +71 -23
  631. package/react/components/userPreferences/components/general/ScheduledRestart.js.map +1 -1
  632. package/react/components/userPreferences/components/workspaces/WorkspaceButton.d.ts +8 -0
  633. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +9 -0
  634. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -0
  635. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.d.ts +6 -0
  636. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js +11 -0
  637. package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js.map +1 -0
  638. package/react/components/userPreferences/components/workspaces/WorkspaceItem.d.ts +45 -0
  639. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +89 -0
  640. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -0
  641. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.d.ts +8 -0
  642. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js +21 -0
  643. package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js.map +1 -0
  644. package/react/components/userPreferences/index.d.ts +1 -1
  645. package/react/components/userPreferences/index.js +1 -1
  646. package/react/components/userPreferences/index.js.map +1 -1
  647. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +12 -13
  648. package/react/components/userPreferences/stores/UserPreferencesStore.js +13 -25
  649. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  650. package/react/components/userPreferences/stories/DashbarEditor.stories.d.ts +2 -1
  651. package/react/components/userPreferences/stories/DashbarEditor.stories.js +35 -4
  652. package/react/components/userPreferences/stories/DashbarEditor.stories.js.map +1 -1
  653. package/react/components/userPreferences/stories/DashbarEditorItem.stories.d.ts +11 -0
  654. package/react/components/userPreferences/stories/DashbarEditorItem.stories.js +21 -0
  655. package/react/components/userPreferences/stories/DashbarEditorItem.stories.js.map +1 -0
  656. package/react/components/userPreferences/stories/General.stories.d.ts +9 -0
  657. package/react/components/userPreferences/stories/General.stories.js +16 -0
  658. package/react/components/userPreferences/stories/General.stories.js.map +1 -0
  659. package/react/components/userPreferences/stories/Notifications.stories.d.ts +9 -0
  660. package/react/components/userPreferences/stories/Notifications.stories.js +17 -0
  661. package/react/components/userPreferences/stories/Notifications.stories.js.map +1 -0
  662. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.d.ts +9 -0
  663. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js +20 -0
  664. package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js.map +1 -0
  665. package/react/components/userPreferences/stories/NotificationsSources.stories.d.ts +12 -0
  666. package/react/components/userPreferences/stories/NotificationsSources.stories.js +28 -0
  667. package/react/components/userPreferences/stories/NotificationsSources.stories.js.map +1 -0
  668. package/react/components/userPreferences/stories/UserPreferences.stories.d.ts +8 -0
  669. package/react/components/userPreferences/stories/UserPreferences.stories.js +53 -0
  670. package/react/components/userPreferences/stories/UserPreferences.stories.js.map +1 -0
  671. package/react/components/userPreferences/stories/WorkspaceButton.stories.d.ts +11 -0
  672. package/react/components/userPreferences/stories/WorkspaceButton.stories.js +20 -0
  673. package/react/components/userPreferences/stories/WorkspaceButton.stories.js.map +1 -0
  674. package/react/components/userPreferences/stories/WorkspaceComponents.stories.d.ts +13 -0
  675. package/react/components/userPreferences/stories/WorkspaceComponents.stories.js +26 -0
  676. package/react/components/userPreferences/stories/WorkspaceComponents.stories.js.map +1 -0
  677. package/react/components/userPreferences/stories/WorkspaceItem.stories.d.ts +9 -0
  678. package/react/components/userPreferences/stories/WorkspaceItem.stories.js +30 -0
  679. package/react/components/userPreferences/stories/WorkspaceItem.stories.js.map +1 -0
  680. package/react/components/userPreferences/stories/WorkspaceItemList.stories.d.ts +10 -0
  681. package/react/components/userPreferences/stories/WorkspaceItemList.stories.js +57 -0
  682. package/react/components/userPreferences/stories/WorkspaceItemList.stories.js.map +1 -0
  683. package/react/components/userPreferences/stories/Workspaces.stories.d.ts +9 -0
  684. package/react/components/userPreferences/stories/Workspaces.stories.js +44 -0
  685. package/react/components/userPreferences/stories/Workspaces.stories.js.map +1 -0
  686. package/react/components/userPreferences/tests/ContentSection.spec.d.ts +1 -0
  687. package/react/components/userPreferences/tests/ContentSection.spec.js +41 -0
  688. package/react/components/userPreferences/tests/ContentSection.spec.js.map +1 -0
  689. package/react/components/userPreferences/tests/DashbarEditor.spec.d.ts +1 -0
  690. package/react/components/userPreferences/tests/DashbarEditor.spec.js +37 -0
  691. package/react/components/userPreferences/tests/DashbarEditor.spec.js.map +1 -0
  692. package/react/components/userPreferences/tests/DashbarEditorItem.spec.d.ts +1 -0
  693. package/react/components/userPreferences/tests/DashbarEditorItem.spec.js +38 -0
  694. package/react/components/userPreferences/tests/DashbarEditorItem.spec.js.map +1 -0
  695. package/react/components/userPreferences/tests/General.spec.d.ts +1 -0
  696. package/react/components/userPreferences/tests/General.spec.js +28 -0
  697. package/react/components/userPreferences/tests/General.spec.js.map +1 -0
  698. package/react/components/userPreferences/tests/LeftNav.spec.d.ts +1 -0
  699. package/react/components/userPreferences/tests/LeftNav.spec.js +12 -0
  700. package/react/components/userPreferences/tests/LeftNav.spec.js.map +1 -0
  701. package/react/components/userPreferences/tests/NotificationSourceTypes.spec.d.ts +1 -0
  702. package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js +14 -0
  703. package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js.map +1 -0
  704. package/react/components/userPreferences/tests/Notifications.spec.d.ts +1 -0
  705. package/react/components/userPreferences/tests/Notifications.spec.js +17 -0
  706. package/react/components/userPreferences/tests/Notifications.spec.js.map +1 -0
  707. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.d.ts +1 -0
  708. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js +39 -0
  709. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -0
  710. package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.d.ts +1 -0
  711. package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js +22 -0
  712. package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js.map +1 -0
  713. package/react/components/userPreferences/tests/ScheduledRestart.spec.d.ts +1 -0
  714. package/react/components/userPreferences/tests/ScheduledRestart.spec.js +70 -0
  715. package/react/components/userPreferences/tests/ScheduledRestart.spec.js.map +1 -0
  716. package/react/components/userPreferences/tests/WorkspaceButton.spec.d.ts +1 -0
  717. package/react/components/userPreferences/tests/WorkspaceButton.spec.js +38 -0
  718. package/react/components/userPreferences/tests/WorkspaceButton.spec.js.map +1 -0
  719. package/react/components/userPreferences/tests/WorkspaceComponents.spec.d.ts +1 -0
  720. package/react/components/userPreferences/tests/WorkspaceComponents.spec.js +22 -0
  721. package/react/components/userPreferences/tests/WorkspaceComponents.spec.js.map +1 -0
  722. package/react/components/userPreferences/tests/WorkspaceItem.spec.d.ts +1 -0
  723. package/react/components/userPreferences/tests/WorkspaceItem.spec.js +64 -0
  724. package/react/components/userPreferences/tests/WorkspaceItem.spec.js.map +1 -0
  725. package/react/components/userPreferences/tests/WorkspaceItemList.spec.d.ts +1 -0
  726. package/react/components/userPreferences/tests/WorkspaceItemList.spec.js +45 -0
  727. package/react/components/userPreferences/tests/WorkspaceItemList.spec.js.map +1 -0
  728. package/react/components/utils.js +1 -1
  729. package/react/components/utils.js.map +1 -1
  730. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +58 -31
  731. package/react/components/windowTitleBar/WindowTitleBarShell.js +47 -50
  732. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  733. package/react/components/windowTitleBar/components/center/Tab.d.ts +27 -7
  734. package/react/components/windowTitleBar/components/center/Tab.js +2 -2
  735. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  736. package/react/components/windowTitleBar/components/center/TabList.d.ts +43 -30
  737. package/react/components/windowTitleBar/components/center/TabList.js +111 -37
  738. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  739. package/react/components/windowTitleBar/components/left/LinkerButton.js +5 -4
  740. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  741. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +1 -21
  742. package/react/components/windowTitleBar/components/left/LinkerGroups.js +6 -8
  743. package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
  744. package/react/components/windowTitleBar/components/left/ShareButton.d.ts +1 -21
  745. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +12 -25
  746. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  747. package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +17 -26
  748. package/react/components/windowTitleBar/components/right/GroupingButton.js +2 -2
  749. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  750. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +1 -21
  751. package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +12 -25
  752. package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
  753. package/react/components/windowTitleBar/components/windowTitle.js +11 -6
  754. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  755. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +51 -44
  756. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +63 -56
  757. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  758. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.d.ts +42 -44
  759. package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.js.map +1 -1
  760. package/react/components/windowTitleBar/windowTitleBarContext.d.ts +9 -9
  761. package/react/components/windowTitleBar/windowTitleBarContext.js +2 -4
  762. package/react/components/windowTitleBar/windowTitleBarContext.js.map +1 -1
  763. package/react/components/yesNoDialog/Timer.spec.js +2 -2
  764. package/react/components/yesNoDialog/Timer.spec.js.map +1 -1
  765. package/react/components/yesNoDialog/Timer.stories.js +1 -1
  766. package/react/components/yesNoDialog/Timer.stories.js.map +1 -1
  767. package/react/components/yesNoDialog/YesNoDialog.spec.js +5 -5
  768. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
  769. package/react/components/yesNoDialog/YesNoDialog.stories.js +1 -1
  770. package/react/components/yesNoDialog/YesNoDialog.stories.js.map +1 -1
  771. package/react/hooks/useFavoritesShell.js.map +1 -1
  772. package/react/hooks/useLinker.js +1 -1
  773. package/react/hooks/useLinker.js.map +1 -1
  774. package/react/hooks/useMenu.js +1 -1
  775. package/react/hooks/useMenu.js.map +1 -1
  776. package/react/hooks/useNotifications.d.ts +10 -6
  777. package/react/hooks/useNotifications.js +53 -47
  778. package/react/hooks/useNotifications.js.map +1 -1
  779. package/react/hooks/usePubSub.js.map +1 -1
  780. package/react/hooks/useSearch.js +1 -1
  781. package/react/hooks/useSearch.js.map +1 -1
  782. package/react/hooks/useToolbar.js +71 -48
  783. package/react/hooks/useToolbar.js.map +1 -1
  784. package/react/hooks/useWorkspace.js +1 -1
  785. package/react/hooks/useWorkspace.js.map +1 -1
  786. package/react/reducers/favoriteReducer.js +1 -1
  787. package/react/reducers/favoriteReducer.js.map +1 -1
  788. package/react/reducers/rootReducer.d.ts +3 -4
  789. package/react/reducers/toolbarReducer.js +1 -1
  790. package/react/reducers/toolbarReducer.js.map +1 -1
  791. package/react/store.d.ts +6 -7
  792. package/react/types/advancedAppLauncherTypes.d.ts +28 -1
  793. package/react/types/advancedAppLauncherTypes.js.map +1 -1
  794. package/react/types/dashbarTypes.d.ts +1 -1
  795. package/react/types/dashbarTypes.js.map +1 -1
  796. package/react/types/favoriteTypes.d.ts +1 -1
  797. package/react/types/favoriteTypes.js.map +1 -1
  798. package/react/types/fdc3.d.ts +28 -20
  799. package/react/types/fdc3.js.map +1 -1
  800. package/react/types/smartDesktopDesignerTypes.d.ts +13 -8
  801. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  802. package/react/types/windowTitleBar.d.ts +46 -0
  803. package/react/types/windowTitleBar.js +2 -0
  804. package/react/types/windowTitleBar.js.map +1 -0
  805. package/react/components/processMonitor/components/ChildWindows.d.ts +0 -4
  806. package/react/components/processMonitor/components/ChildWindows.js +0 -11
  807. package/react/components/processMonitor/components/ChildWindows.js.map +0 -1
  808. package/react/components/shared/addProtocolToValidURL.spec.js.map +0 -1
  809. package/react/components/toolbar/advancedAppLauncher/components/LeftNav.d.ts +0 -4
  810. package/react/components/toolbar/advancedAppLauncher/components/LeftNav.js +0 -14
  811. package/react/components/toolbar/advancedAppLauncher/components/LeftNav.js.map +0 -1
  812. package/react/components/userPreferences/components/Checkbox.d.ts +0 -4
  813. package/react/components/userPreferences/components/Checkbox.js +0 -27
  814. package/react/components/userPreferences/components/Checkbox.js.map +0 -1
@@ -1,15 +1,30 @@
1
- declare let ProcessMonitorStore: any;
2
- export namespace Actions {
3
- function initialize(cb: any): void;
4
- function getInitialData(): void;
5
- function setSort(field: any): void;
6
- function extractData(processes: any): void;
7
- function createDataModel(processes: any, cb: any): void;
8
- function sortProcesses(procs: any): any;
9
- function toggleViewMode(): void;
10
- function identifyWindow(winID: any): void;
11
- function terminateProcess(AppIdentifier: any, force?: boolean, prompt?: boolean): void;
12
- function removeWindowLocally(winID: any): void;
13
- function closeWindow(winID: any, force?: boolean): void;
14
- }
15
- export { ProcessMonitorStore as Store };
1
+ import { ChildWindowType, ProcessType } from "../ProcessMonitorTypes";
2
+ import StoreModel from "@finsemble/finsemble-core/types/clients/StoreModel";
3
+ import { StandardCallback, StandardError } from "@finsemble/finsemble-core/types/types";
4
+ import { ProcessInfo } from "@finsemble/finsemble-core/types/FEA";
5
+ declare let ProcessMonitorStore: StoreModel | undefined;
6
+ declare type VoidCallback = () => void;
7
+ declare const Actions: {
8
+ initialize: (cb: VoidCallback) => void;
9
+ getInitialData: () => void;
10
+ setSort: (field: string) => void;
11
+ extractData: (processes: ProcessInfo[]) => void;
12
+ createDataModel: (processes: ProcessInfo[], cb: (procs: ProcessType[]) => void) => void;
13
+ sortProcesses: (procs: ProcessType[]) => ProcessType[];
14
+ toggleViewMode: () => void;
15
+ getFlashingState: (cb?: StandardCallback<StandardError, any> | undefined) => void;
16
+ setFlashingState: (value: boolean, cb?: StandardCallback<StandardError, any> | undefined) => void;
17
+ identifyWindow: (winID: ChildWindowType) => void;
18
+ terminateProcess: (AppIdentifier: {
19
+ uuid: string;
20
+ }, force?: boolean) => void;
21
+ removeWindowLocally: (winID: {
22
+ uuid: string;
23
+ name: string;
24
+ }) => void;
25
+ closeWindow: (winID: {
26
+ uuid: string;
27
+ name: string;
28
+ }, force?: boolean) => void;
29
+ };
30
+ export { ProcessMonitorStore as Store, Actions };
@@ -1,7 +1,6 @@
1
- "use strict";
2
- const timesSeries = require("async/timesSeries");
1
+ import timesSeries from "async/timesSeries";
2
+ import { getViewName, getViewBaseName } from "../helpers";
3
3
  let ProcessMonitorStore;
4
- const asyncEach = require("async/each");
5
4
  const DEFAULT_SORT_DIRECTION = "ascending";
6
5
  const DEFAULT_STORE_DATA = {
7
6
  viewMode: "simple",
@@ -10,6 +9,7 @@ const DEFAULT_STORE_DATA = {
10
9
  direction: "ascending",
11
10
  },
12
11
  };
12
+ const MAGIC_NUMBER_TERMINATION_TIMEOUT = 4000;
13
13
  function createLocalStore(done) {
14
14
  FSBL.Clients.DistributedStoreClient.createStore({
15
15
  store: "Finsemble-ProcessMonitor-Local-Store",
@@ -20,22 +20,22 @@ function createLocalStore(done) {
20
20
  done();
21
21
  });
22
22
  }
23
- var Actions = {
24
- initialize: function (cb) {
23
+ const Actions = {
24
+ initialize: (cb) => {
25
25
  createLocalStore(() => {
26
26
  Actions.getInitialData();
27
27
  cb();
28
28
  });
29
29
  },
30
- getInitialData: function () {
30
+ getInitialData: () => {
31
31
  FSBL.System.getProcessList(Actions.extractData);
32
32
  setInterval(() => {
33
33
  FSBL.System.getProcessList(Actions.extractData);
34
34
  }, 1000);
35
35
  },
36
- setSort: function (field) {
37
- let currentSort = ProcessMonitorStore.getValue({ field: "sort" });
38
- let procs = ProcessMonitorStore.getValue({ field: "processList" });
36
+ setSort: (field) => {
37
+ const currentSort = ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.getValue({ field: "sort" });
38
+ let procs = ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.getValue({ field: "processList" });
39
39
  let newSort;
40
40
  if (currentSort.field === field) {
41
41
  newSort = currentSort;
@@ -52,19 +52,19 @@ var Actions = {
52
52
  direction: DEFAULT_SORT_DIRECTION,
53
53
  };
54
54
  }
55
- ProcessMonitorStore.setValue({ field: "sort", value: newSort }, () => {
55
+ ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.setValue({ field: "sort", value: newSort }, () => {
56
56
  procs = Actions.sortProcesses(procs);
57
- ProcessMonitorStore.setValue({ field: "processList", value: procs });
57
+ ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.setValue({ field: "processList", value: procs });
58
58
  });
59
59
  },
60
- extractData: function (processes) {
60
+ extractData: (processes) => {
61
61
  Actions.createDataModel(processes, (procs) => {
62
- ProcessMonitorStore.setValue({ field: "processList", value: procs });
62
+ ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.setValue({ field: "processList", value: procs });
63
63
  });
64
64
  },
65
- createDataModel: function (processes, cb) {
65
+ createDataModel: (processes, cb) => {
66
66
  let procs = [];
67
- let mode = ProcessMonitorStore.getValue({ field: "viewMode" });
67
+ let mode = ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.getValue({ field: "viewMode" });
68
68
  for (const proc of processes) {
69
69
  if (mode === "simple" &&
70
70
  (proc.name.toLowerCase().includes("service") ||
@@ -76,43 +76,53 @@ var Actions = {
76
76
  });
77
77
  }
78
78
  else {
79
+ const childWindows = [...proc.windows, ...proc.views]
80
+ .filter((item) => {
81
+ const name = "name" in item ? item.name : item.windowName;
82
+ if (!(mode === "simple" &&
83
+ (name.toLowerCase().includes("service") ||
84
+ name.toLowerCase().includes("system") ||
85
+ name.toLowerCase().includes("unnamed")))) {
86
+ return true;
87
+ }
88
+ return false;
89
+ })
90
+ .map((item) => {
91
+ return {
92
+ name: "name" in item ? item.name : getViewName(item),
93
+ type: "name" in item ? "window" : "view",
94
+ };
95
+ })
96
+ .sort((a, b) => {
97
+ if (a.name < b.name)
98
+ return -1;
99
+ if (a.name > b.name)
100
+ return 1;
101
+ return 0;
102
+ });
79
103
  procs.push({
80
104
  statistics: proc,
81
105
  visible: true,
82
106
  type: proc.type,
83
- childWindows: [...proc.windows, ...proc.views]
84
- .map((item) => {
85
- const name = item.name || item.windowName;
86
- if (!(mode === "simple" &&
87
- (name.toLowerCase().includes("service") ||
88
- name.toLowerCase().includes("system") ||
89
- name.toLowerCase().includes("unnamed")))) {
90
- return {
91
- name: item.name || `${item.windowName}: view-${item.viewId}`,
92
- type: item.name ? "window" : "view",
93
- };
94
- }
95
- })
96
- .filter((item) => item)
97
- .sort((a, b) => {
98
- if (a.name < b.name)
99
- return -1;
100
- }),
107
+ childWindows,
101
108
  });
102
109
  }
103
110
  }
104
111
  procs = Actions.sortProcesses(procs);
105
112
  cb(procs);
106
113
  },
107
- sortProcesses: function (procs) {
108
- let currentSort = ProcessMonitorStore.getValue({ field: "sort" });
114
+ sortProcesses: (procs) => {
115
+ let currentSort = ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.getValue({ field: "sort" });
109
116
  let sortFN = (a, b) => {
110
117
  let aValue = a.statistics[currentSort.field];
111
- if (aValue.toLowerCase) {
118
+ let bValue = b.statistics[currentSort.field];
119
+ if (typeof aValue === "undefined" || typeof bValue === "undefined") {
120
+ return 0;
121
+ }
122
+ if (typeof aValue === "string") {
112
123
  aValue = aValue.toLowerCase();
113
124
  }
114
- let bValue = b.statistics[currentSort.field];
115
- if (aValue.toLowerCase) {
125
+ if (typeof bValue === "string") {
116
126
  bValue = bValue.toLowerCase();
117
127
  }
118
128
  if (currentSort.direction === "ascending") {
@@ -130,21 +140,26 @@ var Actions = {
130
140
  };
131
141
  return procs.sort(sortFN);
132
142
  },
133
- toggleViewMode: function () {
134
- let mode = ProcessMonitorStore.getValue({ field: "viewMode" });
135
- if (mode === "advanced") {
136
- mode = "simple";
137
- }
138
- else {
139
- mode = "advanced";
140
- }
141
- ProcessMonitorStore.setValue({ field: "viewMode", value: mode });
143
+ toggleViewMode: () => {
144
+ const mode = ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.getValue({ field: "viewMode" });
145
+ ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.setValue({
146
+ field: "viewMode",
147
+ value: mode === "advanced" ? "simple" : "advanced",
148
+ });
149
+ },
150
+ getFlashingState: (cb) => {
151
+ ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.getValue("flashing", cb);
152
+ },
153
+ setFlashingState: (value, cb) => {
154
+ ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.setValue({ field: "flashing", value }, cb);
142
155
  },
143
156
  identifyWindow: function (winID) {
144
157
  if (winID.name.includes("Service"))
145
158
  return;
159
+ const baseName = getViewBaseName(winID);
160
+ this.setFlashingState(true);
146
161
  const OPACITY_ANIMATION_DURATION = 200;
147
- FSBL.FinsembleWindow.getInstance({ name: winID.name }, (err, win) => {
162
+ FSBL.FinsembleWindow.getInstance({ name: baseName }, (err, win) => {
148
163
  let windowState = "hidden";
149
164
  function flash(n, done) {
150
165
  setTimeout(() => {
@@ -157,7 +172,7 @@ var Actions = {
157
172
  });
158
173
  }, OPACITY_ANIMATION_DURATION / 1.5);
159
174
  }
160
- win.isShowing((err, isVisible) => {
175
+ win.isShowing({}, (error, isVisible) => {
161
176
  windowState = isVisible ? "visible" : "hidden";
162
177
  win.show(() => {
163
178
  win.bringToFront(() => {
@@ -165,51 +180,52 @@ var Actions = {
165
180
  if (windowState === "hidden") {
166
181
  win.hide();
167
182
  }
183
+ this.setFlashingState(false);
168
184
  });
169
185
  });
170
186
  });
171
187
  });
172
188
  });
173
189
  },
174
- terminateProcess: function (AppIdentifier, force = false, prompt = true) {
175
- let app = FSBL.System.Application.wrap(AppIdentifier.uuid, AppIdentifier.name);
176
- let politeCloseProcess = () => {
177
- let closeTimeout = setTimeout(() => {
190
+ terminateProcess: (AppIdentifier, force = false) => {
191
+ const app = FSBL.System.Application.wrap(AppIdentifier.uuid);
192
+ const onCloseFailure = () => {
193
+ if (force) {
194
+ terminateProcess();
195
+ }
196
+ else {
197
+ Actions.terminateProcess(AppIdentifier, true);
198
+ }
199
+ };
200
+ const politeCloseProcess = () => {
201
+ const closeTimeout = setTimeout(() => {
178
202
  onCloseFailure();
179
- }, 4000);
180
- var onCloseSuccess = () => {
203
+ }, MAGIC_NUMBER_TERMINATION_TIMEOUT);
204
+ const onCloseSuccess = () => {
181
205
  clearTimeout(closeTimeout);
182
206
  };
183
207
  app.close(force, onCloseSuccess, onCloseFailure);
184
208
  };
185
- let forceCloseProcess = () => {
186
- let closeTimeout = setTimeout(() => {
209
+ const forceCloseProcess = () => {
210
+ const closeTimeout = setTimeout(() => {
187
211
  onCloseFailure();
188
- }, 4000);
189
- var onCloseSuccess = () => {
212
+ }, MAGIC_NUMBER_TERMINATION_TIMEOUT);
213
+ const onCloseSuccess = () => {
190
214
  clearTimeout(closeTimeout);
191
215
  };
192
216
  app.close(force, onCloseSuccess, onCloseFailure);
193
217
  };
194
- let terminateProcess = () => {
195
- app.terminate(true, Function.prototype, () => {
218
+ const terminateProcess = () => {
219
+ app.terminate(() => { }, () => {
196
220
  FSBL.Clients.DialogManager.open("yesNo", {
197
221
  title: "Error",
198
222
  question: "The process that you are attempting to close is unresponsive. Please contact support.",
199
223
  affirmativeButtonLabel: "Okay",
200
224
  showCancelButton: false,
201
225
  showNegativeButton: false,
202
- }, Function.prototype);
226
+ }, () => { });
203
227
  });
204
228
  };
205
- let onCloseFailure = () => {
206
- if (force) {
207
- terminateProcess();
208
- }
209
- else {
210
- Actions.terminateProcess(AppIdentifier, true, false);
211
- }
212
- };
213
229
  if (force) {
214
230
  return forceCloseProcess();
215
231
  }
@@ -225,29 +241,23 @@ var Actions = {
225
241
  });
226
242
  },
227
243
  removeWindowLocally: function (winID) {
228
- let win = FSBL.System.Window.wrap(winID.uuid, winID.name);
229
- let parentApp = win.getParentApplication();
230
- let procs = ProcessMonitorStore.getValue({ field: "processList" });
244
+ const win = FSBL.System.Window.wrap(winID.uuid, winID.name);
245
+ const parentApp = win.getParentApplication();
246
+ let procs = ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.getValue({ field: "processList" });
231
247
  procs = procs.map((proc) => {
232
- if (proc.statistics.uuid === parentApp.uuid) {
233
- let cwIndex = proc.childWindows.findIndex((cw) => cw.name === winID.name);
248
+ if (proc.statistics.uuid === parentApp.uuid && proc.childWindows) {
249
+ const cwIndex = proc.childWindows.findIndex((cw) => cw.name === winID.name);
234
250
  proc.childWindows.splice(cwIndex, 1);
235
251
  }
236
252
  return proc;
237
253
  });
238
- ProcessMonitorStore.setValue({ field: "processList", value: procs });
254
+ ProcessMonitorStore === null || ProcessMonitorStore === void 0 ? void 0 : ProcessMonitorStore.setValue({ field: "processList", value: procs });
239
255
  },
240
256
  closeWindow: function (winID, force = false) {
241
- let win = FSBL.System.Window.wrap(winID.uuid, winID.name);
257
+ const win = FSBL.System.Window.wrap(winID.uuid, winID.name);
242
258
  let parentApp = win.getParentApplication();
243
259
  Actions.removeWindowLocally(winID);
244
- let closeTimeout = setTimeout(() => {
245
- onCloseFailure();
246
- }, 4000);
247
- var onCloseSuccess = () => {
248
- clearTimeout(closeTimeout);
249
- };
250
- var onCloseFailure = () => {
260
+ const onCloseFailure = () => {
251
261
  if (force) {
252
262
  FSBL.Clients.DialogManager.open("yesNo", {
253
263
  title: "Terminate Process?",
@@ -264,9 +274,14 @@ var Actions = {
264
274
  Actions.closeWindow(winID, true);
265
275
  }
266
276
  };
277
+ const closeTimeout = setTimeout(() => {
278
+ onCloseFailure();
279
+ }, MAGIC_NUMBER_TERMINATION_TIMEOUT);
280
+ const onCloseSuccess = () => {
281
+ clearTimeout(closeTimeout);
282
+ };
267
283
  win.close(force, onCloseSuccess, onCloseFailure);
268
284
  },
269
285
  };
270
- module.exports.Store = ProcessMonitorStore;
271
- module.exports.Actions = Actions;
286
+ export { ProcessMonitorStore as Store, Actions };
272
287
  //# sourceMappingURL=ProcessMonitorStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessMonitorStore.js","sourceRoot":"","sources":["../../../../src/components/processMonitor/stores/ProcessMonitorStore.js"],"names":[],"mappings":"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","sourcesContent":["const timesSeries = require(\"async/timesSeries\");\r\nlet ProcessMonitorStore;\r\nconst asyncEach = require(\"async/each\");\r\n//Regex code taken from https://gist.github.com/mattheyan/46a230da86a0894a5ff654b9139ec5f2\r\nconst DEFAULT_SORT_DIRECTION = \"ascending\";\r\nconst DEFAULT_STORE_DATA = {\r\n\tviewMode: \"simple\",\r\n\tsort: {\r\n\t\tfield: \"name\",\r\n\t\tdirection: \"ascending\",\r\n\t},\r\n};\r\n\r\nfunction createLocalStore(done) {\r\n\tFSBL.Clients.DistributedStoreClient.createStore(\r\n\t\t{\r\n\t\t\tstore: \"Finsemble-ProcessMonitor-Local-Store\",\r\n\t\t\tvalues: DEFAULT_STORE_DATA,\r\n\t\t},\r\n\t\t(err, store) => {\r\n\t\t\tProcessMonitorStore = store;\r\n\t\t\tmodule.exports.Store = store;\r\n\t\t\tdone();\r\n\t\t}\r\n\t);\r\n}\r\n\r\nvar Actions = {\r\n\t/**\r\n\t * Creates the local store, then gets the first cut at stats for the process list.\r\n\t */\r\n\tinitialize: function (cb) {\r\n\t\tcreateLocalStore(() => {\r\n\t\t\tActions.getInitialData();\r\n\t\t\tcb();\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Gets the process list, pulls the statistics out, and renders the app. Also sets up an interval where we'll retrieve more stats from the system.\r\n\t */\r\n\tgetInitialData: function () {\r\n\t\tFSBL.System.getProcessList(Actions.extractData);\r\n\t\tsetInterval(() => {\r\n\t\t\tFSBL.System.getProcessList(Actions.extractData);\r\n\t\t}, 1000);\r\n\t},\r\n\r\n\t/**\r\n\t * Sets the sort field; if it's the same field as we had previously, we flip the sort direction.\r\n\t */\r\n\tsetSort: function (field) {\r\n\t\tlet currentSort = ProcessMonitorStore.getValue({ field: \"sort\" });\r\n\t\tlet procs = ProcessMonitorStore.getValue({ field: \"processList\" });\r\n\t\tlet newSort;\r\n\t\t//If it's the same field as before, flip the direction\r\n\t\tif (currentSort.field === field) {\r\n\t\t\tnewSort = currentSort;\r\n\t\t\tif (currentSort.direction == \"ascending\") {\r\n\t\t\t\tnewSort.direction = \"descending\";\r\n\t\t\t} else {\r\n\t\t\t\tnewSort.direction = \"ascending\";\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tnewSort = {\r\n\t\t\t\tfield,\r\n\t\t\t\tdirection: DEFAULT_SORT_DIRECTION,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tProcessMonitorStore.setValue({ field: \"sort\", value: newSort }, () => {\r\n\t\t\t// When changing sort we'll re-render the UI immediately instead of waiting for the process list to update. Without this step, it could be 999ms until the next update, which makes the process monitor feel very unresponsive and very bad.\r\n\t\t\tprocs = Actions.sortProcesses(procs);\r\n\t\t\tProcessMonitorStore.setValue({ field: \"processList\", value: procs });\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Extracts data from the process list (via the createDataModel function), and then sets the processList value on the store. This causes the UI to re-render.\r\n\t */\r\n\textractData: function (processes) {\r\n\t\tActions.createDataModel(processes, (procs) => {\r\n\t\t\t//set store.\r\n\t\t\tProcessMonitorStore.setValue({ field: \"processList\", value: procs });\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the system.getProcessList response into something that's easily render-able.\r\n\t */\r\n\tcreateDataModel: function (processes, cb) {\r\n\t\tlet procs = [];\r\n\t\t//@todo, potential optimization: get child windows once, and listen on a close/create event. As it stands, getCWs is pretty performant.\r\n\t\tlet mode = ProcessMonitorStore.getValue({ field: \"viewMode\" });\r\n\r\n\t\tfor (const proc of processes) {\r\n\t\t\tif (\r\n\t\t\t\tmode === \"simple\" &&\r\n\t\t\t\t(proc.name.toLowerCase().includes(\"service\") ||\r\n\t\t\t\t\tproc.name.toLowerCase().includes(\"system\") ||\r\n\t\t\t\t\tproc.name.toLowerCase().includes(\"unnamed\"))\r\n\t\t\t) {\r\n\t\t\t\tprocs.push({\r\n\t\t\t\t\tstatistics: proc,\r\n\t\t\t\t\tvisible: false,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tprocs.push({\r\n\t\t\t\t\tstatistics: proc,\r\n\t\t\t\t\tvisible: true,\r\n\t\t\t\t\ttype: proc.type,\r\n\t\t\t\t\tchildWindows: [...proc.windows, ...proc.views]\r\n\t\t\t\t\t\t.map((item) => {\r\n\t\t\t\t\t\t\tconst name = item.name || item.windowName;\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t!(\r\n\t\t\t\t\t\t\t\t\tmode === \"simple\" &&\r\n\t\t\t\t\t\t\t\t\t(name.toLowerCase().includes(\"service\") ||\r\n\t\t\t\t\t\t\t\t\t\tname.toLowerCase().includes(\"system\") ||\r\n\t\t\t\t\t\t\t\t\t\tname.toLowerCase().includes(\"unnamed\"))\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\tname: item.name || `${item.windowName}: view-${item.viewId}`,\r\n\t\t\t\t\t\t\t\t\ttype: item.name ? \"window\" : \"view\",\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t.filter((item) => item)\r\n\t\t\t\t\t\t.sort((a, b) => {\r\n\t\t\t\t\t\t\tif (a.name < b.name) return -1;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tprocs = Actions.sortProcesses(procs);\r\n\t\tcb(procs);\r\n\t},\r\n\r\n\t/**\r\n\t * Sorting function. Handles ascending and descending.\r\n\t */\r\n\tsortProcesses: function (procs) {\r\n\t\tlet currentSort = ProcessMonitorStore.getValue({ field: \"sort\" });\r\n\t\tlet sortFN = (a, b) => {\r\n\t\t\tlet aValue = a.statistics[currentSort.field];\r\n\t\t\t//Comparing upper and lowercase names makes the sort look wrong. we equalize all strings here.\r\n\t\t\tif (aValue.toLowerCase) {\r\n\t\t\t\taValue = aValue.toLowerCase();\r\n\t\t\t}\r\n\r\n\t\t\tlet bValue = b.statistics[currentSort.field];\r\n\t\t\tif (aValue.toLowerCase) {\r\n\t\t\t\tbValue = bValue.toLowerCase();\r\n\t\t\t}\r\n\t\t\tif (currentSort.direction === \"ascending\") {\r\n\t\t\t\tif (aValue < bValue) return -1;\r\n\t\t\t\tif (aValue > bValue) return 1;\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\r\n\t\t\tif (aValue > bValue) return -1;\r\n\t\t\tif (aValue < bValue) return 1;\r\n\t\t\treturn 0;\r\n\t\t};\r\n\t\treturn procs.sort(sortFN);\r\n\t},\r\n\r\n\t/**\r\n\t * Toggles advanced/simple mode\r\n\t */\r\n\ttoggleViewMode: function () {\r\n\t\tlet mode = ProcessMonitorStore.getValue({ field: \"viewMode\" });\r\n\t\tif (mode === \"advanced\") {\r\n\t\t\tmode = \"simple\";\r\n\t\t} else {\r\n\t\t\tmode = \"advanced\";\r\n\t\t}\r\n\t\tProcessMonitorStore.setValue({ field: \"viewMode\", value: mode });\r\n\t},\r\n\r\n\t/**\r\n\t * Make the window flash a couple of times so that the user can identify it.\r\n\t */\r\n\tidentifyWindow: function (winID) {\r\n\t\tif (winID.name.includes(\"Service\")) return;\r\n\r\n\t\tconst OPACITY_ANIMATION_DURATION = 200;\r\n\t\tFSBL.FinsembleWindow.getInstance({ name: winID.name }, (err, win) => {\r\n\t\t\tlet windowState = \"hidden\";\r\n\t\t\tfunction flash(n, done) {\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\twin.hide(() => {\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\twin.show(() => {\r\n\t\t\t\t\t\t\t\tdone(null);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}, OPACITY_ANIMATION_DURATION / 1.5);\r\n\t\t\t\t\t});\r\n\t\t\t\t}, OPACITY_ANIMATION_DURATION / 1.5);\r\n\t\t\t}\r\n\t\t\twin.isShowing((err, isVisible) => {\r\n\t\t\t\t//cache the visible state of the window prior to making it flash. If it was hidden before, hide it when the flashing is done.\r\n\t\t\t\twindowState = isVisible ? \"visible\" : \"hidden\";\r\n\t\t\t\twin.show(() => {\r\n\t\t\t\t\twin.bringToFront(() => {\r\n\t\t\t\t\t\t//Flash 5 times, in series.\r\n\t\t\t\t\t\ttimesSeries(5, flash, () => {\r\n\t\t\t\t\t\t\tif (windowState === \"hidden\") {\r\n\t\t\t\t\t\t\t\twin.hide();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Terminates a process. Prompts first. If it fails to terminate the process, displays an error message.\r\n\t */\r\n\tterminateProcess: function (AppIdentifier, force = false, prompt = true) {\r\n\t\tlet app = FSBL.System.Application.wrap(AppIdentifier.uuid, AppIdentifier.name);\r\n\t\t/**\r\n\t\t * This whole routine is a little hectic because of all of the closures - but there's a method to the madness. Here's the logic.\r\n\t\t *\r\n\t\t * 1st time we try to close: Politely close the window. If that fails, recurse, but pass \"force\" === true.\r\n\t\t * 2nd time, we try to forceClose the process. If that fails, we will terminate the process forcibly, which isn't graceful.\r\n\t\t */\r\n\r\n\t\tlet politeCloseProcess = () => {\r\n\t\t\t//If the process fails to close in 4 seconds, we will call this method again, but try to force close it.\r\n\t\t\tlet closeTimeout = setTimeout(() => {\r\n\t\t\t\tonCloseFailure();\r\n\t\t\t}, 4000);\r\n\r\n\t\t\tvar onCloseSuccess = () => {\r\n\t\t\t\tclearTimeout(closeTimeout);\r\n\t\t\t};\r\n\t\t\tapp.close(force, onCloseSuccess, onCloseFailure);\r\n\t\t};\r\n\r\n\t\tlet forceCloseProcess = () => {\r\n\t\t\t//If the process fails to close in 4 seconds, we will call this method again, but try to force close it.\r\n\t\t\tlet closeTimeout = setTimeout(() => {\r\n\t\t\t\tonCloseFailure();\r\n\t\t\t}, 4000);\r\n\r\n\t\t\tvar onCloseSuccess = () => {\r\n\t\t\t\tclearTimeout(closeTimeout);\r\n\t\t\t};\r\n\t\t\tapp.close(force, onCloseSuccess, onCloseFailure);\r\n\t\t};\r\n\r\n\t\tlet terminateProcess = () => {\r\n\t\t\t//Should never get into here, but just in case the process is hung, we'll show an error message to the user.\r\n\t\t\tapp.terminate(true, Function.prototype, () => {\r\n\t\t\t\tFSBL.Clients.DialogManager.open(\r\n\t\t\t\t\t\"yesNo\",\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: \"Error\",\r\n\t\t\t\t\t\tquestion: \"The process that you are attempting to close is unresponsive. Please contact support.\",\r\n\t\t\t\t\t\taffirmativeButtonLabel: \"Okay\",\r\n\t\t\t\t\t\tshowCancelButton: false,\r\n\t\t\t\t\t\tshowNegativeButton: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tFunction.prototype\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tlet onCloseFailure = () => {\r\n\t\t\t//If Actions.terminateProcess is invoked with force === true, that means that we tried to force close the process, and it failed. So we will terminate it. If not, we will try to force close (the else block).\r\n\t\t\tif (force) {\r\n\t\t\t\tterminateProcess();\r\n\t\t\t} else {\r\n\t\t\t\t//If we've already tried to close the process once, but it failed, we'll try to terminate it. The first attempt is a close, which is more graceful.\r\n\t\t\t\tActions.terminateProcess(AppIdentifier, true, false);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t//If we're force closing, no need to prompt the user (which is what happens below);\r\n\t\tif (force) {\r\n\t\t\treturn forceCloseProcess();\r\n\t\t}\r\n\r\n\t\t//Ask user if they're sure. If they says \"yes\", close it.\r\n\t\tFSBL.Clients.DialogManager.open(\r\n\t\t\t\"yesNo\",\r\n\t\t\t{\r\n\t\t\t\ttitle: \"Terminate Process?\",\r\n\t\t\t\tquestion: \"Terminating the process may close other apps. Are you sure you want to continue?\",\r\n\t\t\t\taffirmativeResponseLabel: \"Terminate\",\r\n\t\t\t\tshowNegativeButton: false,\r\n\t\t\t},\r\n\t\t\t(err, response) => {\r\n\t\t\t\tif (err || response.choice === \"affirmative\") {\r\n\t\t\t\t\tpoliteCloseProcess();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t},\r\n\r\n\t/**\r\n\t * This function exists to make the UI feel snappy. May take a second or so for the window to close properly and for the change to flow to system.getProcessList. To make that lag go away, we immediately render the change.\r\n\t */\r\n\tremoveWindowLocally: function (winID) {\r\n\t\tlet win = FSBL.System.Window.wrap(winID.uuid, winID.name);\r\n\t\tlet parentApp = win.getParentApplication();\r\n\t\tlet procs = ProcessMonitorStore.getValue({ field: \"processList\" });\r\n\t\tprocs = procs.map((proc) => {\r\n\t\t\tif (proc.statistics.uuid === parentApp.uuid) {\r\n\t\t\t\tlet cwIndex = proc.childWindows.findIndex((cw) => cw.name === winID.name);\r\n\t\t\t\tproc.childWindows.splice(cwIndex, 1);\r\n\t\t\t}\r\n\t\t\treturn proc;\r\n\t\t});\r\n\t\tProcessMonitorStore.setValue({ field: \"processList\", value: procs });\r\n\t},\r\n\r\n\t/**\r\n\t * Try to close the window. If that fails, try to force close the window. If that fails, ask if they'd like to terminate the parent process.\r\n\t */\r\n\tcloseWindow: function (winID, force = false) {\r\n\t\tlet win = FSBL.System.Window.wrap(winID.uuid, winID.name);\r\n\t\tlet parentApp = win.getParentApplication();\r\n\r\n\t\t//Make the UI feel snappy.\r\n\t\tActions.removeWindowLocally(winID);\r\n\r\n\t\t//If we can't close within 4 seconds, something's wrong - try to force close it.\r\n\t\tlet closeTimeout = setTimeout(() => {\r\n\t\t\tonCloseFailure();\r\n\t\t}, 4000);\r\n\r\n\t\tvar onCloseSuccess = () => {\r\n\t\t\tclearTimeout(closeTimeout);\r\n\t\t};\r\n\r\n\t\tvar onCloseFailure = () => {\r\n\t\t\t//If Actions.closeWindow was called with force === true, and the close failed, give the user the opportunity to terminate the process.\r\n\t\t\tif (force) {\r\n\t\t\t\tFSBL.Clients.DialogManager.open(\r\n\t\t\t\t\t\"yesNo\",\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: \"Terminate Process?\",\r\n\t\t\t\t\t\tquestion:\r\n\t\t\t\t\t\t\t\"The app that you are attempting to close is unresponsive. Would you like to terminate the process? Terminating the process may close other apps.\",\r\n\t\t\t\t\t\taffirmativeResponseLabel: \"Terminate\",\r\n\t\t\t\t\t\tshowNegativeButton: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(err, response) => {\r\n\t\t\t\t\t\tif (err || response.choice === \"affirmative\") {\r\n\t\t\t\t\t\t\treturn Actions.terminateProcess(parentApp, true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tActions.closeWindow(winID, true);\r\n\t\t\t}\r\n\t\t};\r\n\t\twin.close(force, onCloseSuccess, onCloseFailure);\r\n\t},\r\n};\r\n\r\nmodule.exports.Store = ProcessMonitorStore;\r\nmodule.exports.Actions = Actions;\r\n"]}
1
+ {"version":3,"file":"ProcessMonitorStore.js","sourceRoot":"","sources":["../../../../src/components/processMonitor/stores/ProcessMonitorStore.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-ignore - Didn't import the type defintions for this line\r\nimport timesSeries from \"async/timesSeries\";\r\nimport { getViewName, getViewBaseName } from \"../helpers\";\r\nimport { ChildWindowType, ProcessType, SortObjectType } from \"../ProcessMonitorTypes\";\r\nimport StoreModel from \"@finsemble/finsemble-core/types/clients/StoreModel\";\r\nimport { StandardCallback, StandardError } from \"@finsemble/finsemble-core/types/types\";\r\nimport { FEAWindow, ProcessInfo } from \"@finsemble/finsemble-core/types/FEA\";\r\nimport { FinsembleWindow } from \"@finsemble/finsemble-core/types/main\";\r\n\r\nlet ProcessMonitorStore: StoreModel | undefined;\r\n\r\ntype VoidCallback = () => void;\r\n\r\n//Regex code taken from https://gist.github.com/mattheyan/46a230da86a0894a5ff654b9139ec5f2\r\nconst DEFAULT_SORT_DIRECTION = \"ascending\";\r\nconst DEFAULT_STORE_DATA = {\r\n\tviewMode: \"simple\",\r\n\tsort: {\r\n\t\tfield: \"name\",\r\n\t\tdirection: \"ascending\",\r\n\t},\r\n};\r\nconst MAGIC_NUMBER_TERMINATION_TIMEOUT = 4000;\r\n\r\nfunction createLocalStore(done: VoidCallback) {\r\n\tFSBL.Clients.DistributedStoreClient.createStore(\r\n\t\t{\r\n\t\t\tstore: \"Finsemble-ProcessMonitor-Local-Store\",\r\n\t\t\tvalues: DEFAULT_STORE_DATA,\r\n\t\t},\r\n\t\t(err: StandardError, store?: StoreModel) => {\r\n\t\t\t// @todo: Should we surface an error message if store is undefined?\r\n\t\t\tProcessMonitorStore = store;\r\n\t\t\tmodule.exports.Store = store;\r\n\t\t\tdone();\r\n\t\t}\r\n\t);\r\n}\r\n\r\nconst Actions = {\r\n\t/**\r\n\t * Creates the local store, then gets the first cut at stats for the process list.\r\n\t */\r\n\tinitialize: (cb: VoidCallback) => {\r\n\t\tcreateLocalStore(() => {\r\n\t\t\tActions.getInitialData();\r\n\t\t\tcb();\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Gets the process list, pulls the statistics out, and renders the app. Also sets up an interval where we'll retrieve more stats from the system.\r\n\t */\r\n\tgetInitialData: () => {\r\n\t\tFSBL.System.getProcessList(Actions.extractData);\r\n\t\tsetInterval(() => {\r\n\t\t\tFSBL.System.getProcessList(Actions.extractData);\r\n\t\t}, 1000);\r\n\t},\r\n\r\n\t/**\r\n\t * Sets the sort field; if it's the same field as we had previously, we flip the sort direction.\r\n\t */\r\n\tsetSort: (field: string) => {\r\n\t\tconst currentSort = ProcessMonitorStore?.getValue({ field: \"sort\" });\r\n\t\tlet procs = ProcessMonitorStore?.getValue({ field: \"processList\" });\r\n\t\tlet newSort;\r\n\t\t//If it's the same field as before, flip the direction\r\n\t\tif (currentSort.field === field) {\r\n\t\t\tnewSort = currentSort;\r\n\t\t\tif (currentSort.direction == \"ascending\") {\r\n\t\t\t\tnewSort.direction = \"descending\";\r\n\t\t\t} else {\r\n\t\t\t\tnewSort.direction = \"ascending\";\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tnewSort = {\r\n\t\t\t\tfield,\r\n\t\t\t\tdirection: DEFAULT_SORT_DIRECTION,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tProcessMonitorStore?.setValue({ field: \"sort\", value: newSort }, () => {\r\n\t\t\t// When changing sort we'll re-render the UI immediately instead of waiting for the process list to update. Without this step, it could be 999ms until the next update, which makes the process monitor feel very unresponsive and very bad.\r\n\t\t\tprocs = Actions.sortProcesses(procs);\r\n\t\t\tProcessMonitorStore?.setValue({ field: \"processList\", value: procs });\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Extracts data from the process list (via the createDataModel function), and then sets the processList value on the store. This causes the UI to re-render.\r\n\t */\r\n\textractData: (processes: ProcessInfo[]) => {\r\n\t\tActions.createDataModel(processes, (procs) => {\r\n\t\t\t//set store.\r\n\t\t\tProcessMonitorStore?.setValue({ field: \"processList\", value: procs });\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the system.getProcessList response into something that's easily render-able.\r\n\t */\r\n\tcreateDataModel: (processes: ProcessInfo[], cb: (procs: ProcessType[]) => void) => {\r\n\t\tlet procs: ProcessType[] = [];\r\n\t\t//@todo, potential optimization: get child windows once, and listen on a close/create event. As it stands, getCWs is pretty performant.\r\n\t\tlet mode = ProcessMonitorStore?.getValue({ field: \"viewMode\" });\r\n\r\n\t\tfor (const proc of processes) {\r\n\t\t\tif (\r\n\t\t\t\tmode === \"simple\" &&\r\n\t\t\t\t(proc.name.toLowerCase().includes(\"service\") ||\r\n\t\t\t\t\tproc.name.toLowerCase().includes(\"system\") ||\r\n\t\t\t\t\tproc.name.toLowerCase().includes(\"unnamed\"))\r\n\t\t\t) {\r\n\t\t\t\tprocs.push({\r\n\t\t\t\t\tstatistics: proc,\r\n\t\t\t\t\tvisible: false,\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tconst childWindows: ChildWindowType[] = [...proc.windows, ...proc.views]\r\n\t\t\t\t\t.filter((item) => {\r\n\t\t\t\t\t\tconst name: string = \"name\" in item ? item.name : item.windowName;\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t!(\r\n\t\t\t\t\t\t\t\tmode === \"simple\" &&\r\n\t\t\t\t\t\t\t\t(name.toLowerCase().includes(\"service\") ||\r\n\t\t\t\t\t\t\t\t\tname.toLowerCase().includes(\"system\") ||\r\n\t\t\t\t\t\t\t\t\tname.toLowerCase().includes(\"unnamed\"))\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.map((item) => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t// @ts-ignore: `getViewName` is expecting a property that doesn't exist\r\n\t\t\t\t\t\t\tname: \"name\" in item ? item.name : getViewName(item),\r\n\t\t\t\t\t\t\ttype: \"name\" in item ? \"window\" : \"view\",\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.sort((a, b) => {\r\n\t\t\t\t\t\tif (a.name < b.name) return -1;\r\n\t\t\t\t\t\tif (a.name > b.name) return 1;\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\tprocs.push({\r\n\t\t\t\t\tstatistics: proc,\r\n\t\t\t\t\tvisible: true,\r\n\t\t\t\t\ttype: proc.type,\r\n\t\t\t\t\tchildWindows,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tprocs = Actions.sortProcesses(procs);\r\n\t\tcb(procs);\r\n\t},\r\n\r\n\t/**\r\n\t * Sorting function. Handles ascending and descending.\r\n\t */\r\n\tsortProcesses: (procs: ProcessType[]) => {\r\n\t\tlet currentSort: SortObjectType = ProcessMonitorStore?.getValue({ field: \"sort\" });\r\n\t\tlet sortFN = (a: ProcessType, b: ProcessType) => {\r\n\t\t\tlet aValue = a.statistics[currentSort.field];\r\n\t\t\tlet bValue = b.statistics[currentSort.field];\r\n\r\n\t\t\tif (typeof aValue === \"undefined\" || typeof bValue === \"undefined\") {\r\n\t\t\t\t// @todo: How should we handle sorting through undefined values?\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\r\n\t\t\t//Comparing upper and lowercase names makes the sort look wrong. we equalize all strings here.\r\n\t\t\tif (typeof aValue === \"string\") {\r\n\t\t\t\taValue = aValue.toLowerCase();\r\n\t\t\t}\r\n\t\t\tif (typeof bValue === \"string\") {\r\n\t\t\t\tbValue = bValue.toLowerCase();\r\n\t\t\t}\r\n\r\n\t\t\tif (currentSort.direction === \"ascending\") {\r\n\t\t\t\tif (aValue < bValue) return -1;\r\n\t\t\t\tif (aValue > bValue) return 1;\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\r\n\t\t\tif (aValue > bValue) return -1;\r\n\t\t\tif (aValue < bValue) return 1;\r\n\t\t\treturn 0;\r\n\t\t};\r\n\t\treturn procs.sort(sortFN);\r\n\t},\r\n\r\n\t/**\r\n\t * Toggles advanced/simple mode\r\n\t */\r\n\ttoggleViewMode: () => {\r\n\t\tconst mode = ProcessMonitorStore?.getValue({ field: \"viewMode\" });\r\n\t\tProcessMonitorStore?.setValue({\r\n\t\t\tfield: \"viewMode\",\r\n\t\t\tvalue: mode === \"advanced\" ? \"simple\" : \"advanced\",\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Gets the current \"flashing\" state - whether the process monitor is currently flashing a window\r\n\t */\r\n\tgetFlashingState: (cb?: StandardCallback) => {\r\n\t\tProcessMonitorStore?.getValue(\"flashing\", cb);\r\n\t},\r\n\r\n\t/**\r\n\t * Gets the current \"flashing\" state for the process monitor\r\n\t */\r\n\tsetFlashingState: (value: boolean, cb?: StandardCallback) => {\r\n\t\tProcessMonitorStore?.setValue({ field: \"flashing\", value }, cb);\r\n\t},\r\n\r\n\t/**\r\n\t * Make the window flash a couple of times so that the user can identify it.\r\n\t */\r\n\tidentifyWindow: function (winID: ChildWindowType) {\r\n\t\tif (winID.name.includes(\"Service\")) return;\r\n\t\t// If the item clicked is a view, the window for that view should flash, thus we need to get that window's name here\r\n\t\tconst baseName = getViewBaseName(winID);\r\n\r\n\t\tthis.setFlashingState(true);\r\n\r\n\t\tconst OPACITY_ANIMATION_DURATION = 200;\r\n\t\tFSBL.FinsembleWindow.getInstance({ name: baseName }, (err: StandardError, win: FinsembleWindow) => {\r\n\t\t\tlet windowState = \"hidden\";\r\n\t\t\tfunction flash(n: any, done: any) {\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\twin.hide(() => {\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\twin.show(() => {\r\n\t\t\t\t\t\t\t\tdone(null);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}, OPACITY_ANIMATION_DURATION / 1.5);\r\n\t\t\t\t\t});\r\n\t\t\t\t}, OPACITY_ANIMATION_DURATION / 1.5);\r\n\t\t\t}\r\n\t\t\twin.isShowing({}, (error: StandardError, isVisible) => {\r\n\t\t\t\t//cache the visible state of the window prior to making it flash. If it was hidden before, hide it when the flashing is done.\r\n\t\t\t\twindowState = isVisible ? \"visible\" : \"hidden\";\r\n\t\t\t\twin.show(() => {\r\n\t\t\t\t\twin.bringToFront(() => {\r\n\t\t\t\t\t\t//Flash 5 times, in series.\r\n\t\t\t\t\t\ttimesSeries(5, flash, () => {\r\n\t\t\t\t\t\t\tif (windowState === \"hidden\") {\r\n\t\t\t\t\t\t\t\twin.hide();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tthis.setFlashingState(false);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Terminates a process. Prompts first. If it fails to terminate the process, displays an error message.\r\n\t */\r\n\tterminateProcess: (AppIdentifier: { uuid: string }, force = false) => {\r\n\t\t// AppIdentifier should be of type ChildWindow, but that has `uuid` as optional, and\r\n\t\t// uuid is required for this function\r\n\r\n\t\tconst app = FSBL.System.Application.wrap(AppIdentifier.uuid);\r\n\t\t/**\r\n\t\t * This whole routine is a little hectic because of all of the closures - but there's a method to the madness. Here's the logic.\r\n\t\t *\r\n\t\t * 1st time we try to close: Politely close the window. If that fails, recurse, but pass \"force\" === true.\r\n\t\t * 2nd time, we try to forceClose the process. If that fails, we will terminate the process forcibly, which isn't graceful.\r\n\t\t */\r\n\r\n\t\tconst onCloseFailure = () => {\r\n\t\t\t//If Actions.terminateProcess is invoked with force === true, that means that we tried to force close the process, and it failed. So we will terminate it. If not, we will try to force close (the else block).\r\n\t\t\tif (force) {\r\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n\t\t\t\tterminateProcess();\r\n\t\t\t} else {\r\n\t\t\t\t//If we've already tried to close the process once, but it failed, we'll try to terminate it. The first attempt is a close, which is more graceful.\r\n\t\t\t\tActions.terminateProcess(AppIdentifier, true);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tconst politeCloseProcess = () => {\r\n\t\t\t//If the process fails to close in 4 seconds, we will call this method again, but try to force close it.\r\n\t\t\tconst closeTimeout = setTimeout(() => {\r\n\t\t\t\tonCloseFailure();\r\n\t\t\t}, MAGIC_NUMBER_TERMINATION_TIMEOUT);\r\n\r\n\t\t\tconst onCloseSuccess = () => {\r\n\t\t\t\tclearTimeout(closeTimeout);\r\n\t\t\t};\r\n\t\t\tapp.close(force, onCloseSuccess, onCloseFailure);\r\n\t\t};\r\n\r\n\t\tconst forceCloseProcess = () => {\r\n\t\t\t//If the process fails to close in 4 seconds, we will call this method again, but try to force close it.\r\n\t\t\tconst closeTimeout = setTimeout(() => {\r\n\t\t\t\tonCloseFailure();\r\n\t\t\t}, MAGIC_NUMBER_TERMINATION_TIMEOUT);\r\n\r\n\t\t\tconst onCloseSuccess = () => {\r\n\t\t\t\tclearTimeout(closeTimeout);\r\n\t\t\t};\r\n\t\t\tapp.close(force, onCloseSuccess, onCloseFailure);\r\n\t\t};\r\n\r\n\t\tconst terminateProcess = () => {\r\n\t\t\t// @todo - Is it possible to get some kind of testing for this function? It was broken before I got here (calling .terminate with invalid arguments),\r\n\t\t\t// but I can't reproduce the functionality enough to know if I did anything\r\n\t\t\t// Should never get into here, but just in case the process is hung, we'll show an error message to the user.\r\n\t\t\tapp.terminate(\r\n\t\t\t\t() => {},\r\n\t\t\t\t() => {\r\n\t\t\t\t\tFSBL.Clients.DialogManager.open(\r\n\t\t\t\t\t\t\"yesNo\",\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttitle: \"Error\",\r\n\t\t\t\t\t\t\tquestion: \"The process that you are attempting to close is unresponsive. Please contact support.\",\r\n\t\t\t\t\t\t\taffirmativeButtonLabel: \"Okay\",\r\n\t\t\t\t\t\t\tshowCancelButton: false,\r\n\t\t\t\t\t\t\tshowNegativeButton: false,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t() => {}\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t};\r\n\r\n\t\t// If we're force closing, no need to prompt the user (which is what happens below);\r\n\t\tif (force) {\r\n\t\t\treturn forceCloseProcess();\r\n\t\t}\r\n\r\n\t\t//Ask user if they're sure. If they says \"yes\", close it.\r\n\t\tFSBL.Clients.DialogManager.open(\r\n\t\t\t\"yesNo\",\r\n\t\t\t{\r\n\t\t\t\ttitle: \"Terminate Process?\",\r\n\t\t\t\tquestion: \"Terminating the process may close other apps. Are you sure you want to continue?\",\r\n\t\t\t\taffirmativeResponseLabel: \"Terminate\",\r\n\t\t\t\tshowNegativeButton: false,\r\n\t\t\t},\r\n\t\t\t(err: StandardError, response: { choice: string }) => {\r\n\t\t\t\tif (err || response.choice === \"affirmative\") {\r\n\t\t\t\t\tpoliteCloseProcess();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t},\r\n\r\n\t/**\r\n\t * This function exists to make the UI feel snappy. May take a second or so for the window to close properly and for the change to flow to system.getProcessList. To make that lag go away, we immediately render the change.\r\n\t */\r\n\tremoveWindowLocally: function (winID: { uuid: string; name: string }) {\r\n\t\t// @todo - How do we know if FEAWindow was actually returned? What should we do if it wasn't?\r\n\t\t// @ts-ignore - apparently, wrap can return {} instead of an FEAWindow\r\n\t\tconst win: FEAWindow = FSBL.System.Window.wrap(winID.uuid, winID.name);\r\n\t\tconst parentApp = win.getParentApplication();\r\n\t\tlet procs: ProcessType[] = ProcessMonitorStore?.getValue({ field: \"processList\" });\r\n\t\tprocs = procs.map((proc) => {\r\n\t\t\tif (proc.statistics.uuid === parentApp.uuid && proc.childWindows) {\r\n\t\t\t\tconst cwIndex = proc.childWindows.findIndex((cw) => cw.name === winID.name);\r\n\t\t\t\tproc.childWindows.splice(cwIndex, 1);\r\n\t\t\t}\r\n\t\t\treturn proc;\r\n\t\t});\r\n\t\tProcessMonitorStore?.setValue({ field: \"processList\", value: procs });\r\n\t},\r\n\r\n\t/**\r\n\t * Try to close the window. If that fails, try to force close the window. If that fails, ask if they'd like to terminate the parent process.\r\n\t */\r\n\tcloseWindow: function (winID: { uuid: string; name: string }, force = false) {\r\n\t\t// @todo - How do we know if FEAWindow was actually returned? What should we do if it wasn't?\r\n\t\t// @ts-ignore - apparently, wrap can return {} instead of an FEAWindow\r\n\t\tconst win: FEAWindow = FSBL.System.Window.wrap(winID.uuid, winID.name);\r\n\t\tlet parentApp = win.getParentApplication();\r\n\r\n\t\t//Make the UI feel snappy.\r\n\t\tActions.removeWindowLocally(winID);\r\n\r\n\t\tconst onCloseFailure = () => {\r\n\t\t\t//If Actions.closeWindow was called with force === true, and the close failed, give the user the opportunity to terminate the process.\r\n\t\t\tif (force) {\r\n\t\t\t\tFSBL.Clients.DialogManager.open(\r\n\t\t\t\t\t\"yesNo\",\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttitle: \"Terminate Process?\",\r\n\t\t\t\t\t\tquestion:\r\n\t\t\t\t\t\t\t\"The app that you are attempting to close is unresponsive. Would you like to terminate the process? Terminating the process may close other apps.\",\r\n\t\t\t\t\t\taffirmativeResponseLabel: \"Terminate\",\r\n\t\t\t\t\t\tshowNegativeButton: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(err: StandardError, response: { choice: string }) => {\r\n\t\t\t\t\t\tif (err || response.choice === \"affirmative\") {\r\n\t\t\t\t\t\t\treturn Actions.terminateProcess(parentApp, true);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tActions.closeWindow(winID, true);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t//If we can't close within 4 seconds, something's wrong - try to force close it.\r\n\t\tconst closeTimeout = setTimeout(() => {\r\n\t\t\tonCloseFailure();\r\n\t\t}, MAGIC_NUMBER_TERMINATION_TIMEOUT);\r\n\r\n\t\tconst onCloseSuccess = () => {\r\n\t\t\tclearTimeout(closeTimeout);\r\n\t\t};\r\n\r\n\t\twin.close(force, onCloseSuccess, onCloseFailure);\r\n\t},\r\n};\r\n\r\nexport { ProcessMonitorStore as Store, Actions };\r\n"]}
@@ -1 +1,4 @@
1
- export function QuickComponentForm(): JSX.Element;
1
+ /// <reference types="react" />
2
+ import "../../assets/css/dialogs.css";
3
+ import "./quickComponent.css";
4
+ export declare const QuickComponentForm: () => JSX.Element;
@@ -9,14 +9,6 @@ import { addProtocolToValidURL } from "../shared/addProtocolToValidURL";
9
9
  class QuickComponentFormBase extends React.Component {
10
10
  constructor(props) {
11
11
  super(props);
12
- this.onkeydown = function (e) {
13
- if (e.code === "Enter" && e.shiftKey === false) {
14
- this.save();
15
- }
16
- if (e.code === "Escape") {
17
- this.cancel();
18
- }
19
- };
20
12
  FSBL.Clients.Logger.deprecated("Quick Components have been deprecated and will not be available in a future release.");
21
13
  this.state = {
22
14
  name: "",
@@ -36,14 +28,21 @@ class QuickComponentFormBase extends React.Component {
36
28
  componentWillUnmount() {
37
29
  document.body.removeEventListener("keydown", this.onkeydown);
38
30
  }
31
+ onkeydown(e) {
32
+ if (e.code === "Enter" && e.shiftKey === false) {
33
+ this.save();
34
+ }
35
+ if (e.code === "Escape") {
36
+ this.cancel();
37
+ }
38
+ }
39
39
  hideWindow() {
40
40
  finsembleWindow.hide();
41
41
  }
42
42
  save() {
43
43
  if (!this.state)
44
44
  return FSBL.Clients.DialogManager.respondToOpener({});
45
- let { name } = this.state;
46
- let { url } = this.state;
45
+ let { name, url } = this.state;
47
46
  if (!name || !url)
48
47
  return FSBL.Clients.DialogManager.respondToOpener({});
49
48
  if (!isValidURL(url)) {
@@ -55,7 +54,7 @@ class QuickComponentFormBase extends React.Component {
55
54
  FSBL.Clients.LauncherClient.addUserDefinedComponent({
56
55
  name: name,
57
56
  url: urlWithProtocol,
58
- }, (err, response) => {
57
+ }, (err) => {
59
58
  if (err) {
60
59
  console.error(err);
61
60
  }
@@ -85,10 +84,10 @@ class QuickComponentFormBase extends React.Component {
85
84
  }, isModal: true },
86
85
  React.createElement("div", { className: "dialog-title" }, "Enter a name and URL for your app."),
87
86
  React.createElement(FinsembleDialogTextInput, { onInputChange: this.setName, placeholder: "Name", autoFocus: true, value: this.state.name, focusOnShow: true }),
88
- React.createElement(FinsembleDialogTextInput, { onInputChange: this.setURL, placeholder: "URL", value: this.state.url }),
87
+ React.createElement(FinsembleDialogTextInput, { onInputChange: this.setURL, placeholder: "URL", value: this.state.url, autoFocus: false }),
89
88
  React.createElement("div", { className: "button-wrapper" },
90
- React.createElement(FinsembleDialogButton, { className: "fsbl-button-neutral", onClick: this.cancel }, "Cancel"),
91
- React.createElement(FinsembleDialogButton, { className: "fsbl-button-affirmative", onClick: this.save }, "Confirm"))));
89
+ React.createElement(FinsembleDialogButton, { className: "fsbl-button-neutral", onClick: this.cancel, show: true }, "Cancel"),
90
+ React.createElement(FinsembleDialogButton, { className: "fsbl-button-affirmative", onClick: this.save, show: true }, "Confirm"))));
92
91
  }
93
92
  }
94
93
  export const QuickComponentForm = () => React.createElement(QuickComponentFormBase, null);
@@ -1 +1 @@
1
- {"version":3,"file":"QuickComponentForm.js","sourceRoot":"","sources":["../../../src/components/quickComponentForm/QuickComponentForm.jsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport { FinsembleDialog } from \"../legacyControls/FinsembleDialog\";\r\nimport { FinsembleDialogTextInput } from \"../legacyControls/FinsembleDialogTextInput\";\r\nimport { FinsembleDialogButton } from \"../legacyControls/FinsembleDialogButton\";\r\nimport \"../../assets/css/dialogs.css\";\r\nimport \"./quickComponent.css\";\r\nimport { isValidURL } from \"../shared/validateURL\";\r\nimport { addProtocolToValidURL } from \"../shared/addProtocolToValidURL\";\r\n\r\n// @deprecated - Quick Components will be removed in a future version\r\nclass QuickComponentFormBase extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tFSBL.Clients.Logger.deprecated(\r\n\t\t\t\"Quick Components have been deprecated and will not be available in a future release.\"\r\n\t\t);\r\n\t\tthis.state = {\r\n\t\t\tname: \"\",\r\n\t\t\turl: \"\",\r\n\t\t};\r\n\t\tthis.save = this.save.bind(this);\r\n\t\tthis.cancel = this.cancel.bind(this);\r\n\t\tthis.setName = this.setName.bind(this);\r\n\t\tthis.setURL = this.setURL.bind(this);\r\n\t\tthis.onkeydown = this.onkeydown.bind(this);\r\n\t}\r\n\r\n\t/**\r\n\t * Adds eventListeners on keydown, sets the height of the component.\r\n\t *\r\n\t * @memberof QuickComponent\r\n\t */\r\n\tcomponentDidMount() {\r\n\t\tFSBL.Clients.WindowClient.fitToDOM();\r\n\t\tdocument.body.addEventListener(\"keydown\", this.onkeydown);\r\n\t\tFSBL.Clients.WindowClient.setAlwaysOnTop(true);\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tdocument.body.removeEventListener(\"keydown\", this.onkeydown);\r\n\t}\r\n\r\n\t/**\r\n\t * Matches the enter and escape keys with the corresponding function to invoke.\r\n\t */\r\n\tonkeydown = function (e) {\r\n\t\tif (e.code === \"Enter\" && e.shiftKey === false) {\r\n\t\t\tthis.save();\r\n\t\t}\r\n\r\n\t\tif (e.code === \"Escape\") {\r\n\t\t\tthis.cancel();\r\n\t\t}\r\n\t};\r\n\r\n\t/**\r\n\t * Hides the window when the save button is clicked.\r\n\t *\r\n\t * @memberof QuickComponent\r\n\t */\r\n\thideWindow() {\r\n\t\tfinsembleWindow.hide();\r\n\t}\r\n\r\n\t/**\r\n\t * Persists the quick component to storage.\r\n\t * @todo On error, display error message and allow user to try again.\r\n\t * @memberof QuickComponent\r\n\t */\r\n\tsave() {\r\n\t\tif (!this.state) return FSBL.Clients.DialogManager.respondToOpener({});\r\n\t\tlet { name } = this.state;\r\n\t\tlet { url } = this.state;\r\n\t\tif (!name || !url) return FSBL.Clients.DialogManager.respondToOpener({});\r\n\r\n\t\tif (!isValidURL(url)) {\r\n\t\t\treturn FSBL.Clients.DialogManager.respondToOpener({\r\n\t\t\t\terror: \"Invalid URL\",\r\n\t\t\t});\r\n\t\t}\r\n\t\tconst urlWithProtocol = addProtocolToValidURL(url);\r\n\r\n\t\tFSBL.Clients.LauncherClient.addUserDefinedComponent(\r\n\t\t\t{\r\n\t\t\t\tname: name,\r\n\t\t\t\turl: urlWithProtocol,\r\n\t\t\t},\r\n\t\t\t(err, response) => {\r\n\t\t\t\tif (err) {\r\n\t\t\t\t\tconsole.error(err);\r\n\t\t\t\t}\r\n\t\t\t\t// FSBL.Clients.WindowClient.close(false);\r\n\t\t\t\tFSBL.Clients.DialogManager.respondToOpener({});\r\n\t\t\t}\r\n\t\t);\r\n\t\tArray.from(document.querySelectorAll(\"input\")).forEach((el) => (el.value = \"\"));\r\n\t\tthis.setState({\r\n\t\t\tname: \"\",\r\n\t\t\turl: \"\",\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Kills the window.\r\n\t * @todo make this component show/hide instead of spawn/close.\r\n\t * @memberof QuickComponent\r\n\t */\r\n\tcancel() {\r\n\t\tArray.from(document.querySelectorAll(\"input\")).forEach((el) => (el.value = \"\"));\r\n\r\n\t\t// FSBL.Clients.WindowClient.close(false);\r\n\t\tFSBL.Clients.DialogManager.respondToOpener({});\r\n\t}\r\n\r\n\tsetName(e) {\r\n\t\tthis.setState({ name: e.target.value });\r\n\t}\r\n\r\n\tsetURL(e) {\r\n\t\tthis.setState({ url: e.target.value });\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t<FinsembleDialog\r\n\t\t\t\tbehaviorOnResponse=\"hide\"\r\n\t\t\t\tonShowRequested={() => {\r\n\t\t\t\t\tFSBL.Clients.WindowClient.fitToDOM(null, () => {\r\n\t\t\t\t\t\tFSBL.Clients.DialogManager.showDialog();\r\n\t\t\t\t\t});\r\n\t\t\t\t}}\r\n\t\t\t\tisModal={true}\r\n\t\t\t>\r\n\t\t\t\t<div className=\"dialog-title\">Enter a name and URL for your app.</div>\r\n\t\t\t\t<FinsembleDialogTextInput\r\n\t\t\t\t\tonInputChange={this.setName}\r\n\t\t\t\t\tplaceholder=\"Name\"\r\n\t\t\t\t\tautoFocus\r\n\t\t\t\t\tvalue={this.state.name}\r\n\t\t\t\t\tfocusOnShow={true}\r\n\t\t\t\t/>\r\n\t\t\t\t<FinsembleDialogTextInput onInputChange={this.setURL} placeholder=\"URL\" value={this.state.url} />\r\n\t\t\t\t<div className=\"button-wrapper\">\r\n\t\t\t\t\t<FinsembleDialogButton className=\"fsbl-button-neutral\" onClick={this.cancel}>\r\n\t\t\t\t\t\tCancel\r\n\t\t\t\t\t</FinsembleDialogButton>\r\n\r\n\t\t\t\t\t<FinsembleDialogButton className=\"fsbl-button-affirmative\" onClick={this.save}>\r\n\t\t\t\t\t\tConfirm\r\n\t\t\t\t\t</FinsembleDialogButton>\r\n\t\t\t\t</div>\r\n\t\t\t</FinsembleDialog>\r\n\t\t);\r\n\t}\r\n}\r\n\r\n/**\r\n * A form that allows the user to add a quick component. It provides one field for the name of the quick component, and another field for its URL.\r\n */\r\nexport const QuickComponentForm = () => <QuickComponentFormBase />;\r\n"]}
1
+ {"version":3,"file":"QuickComponentForm.js","sourceRoot":"","sources":["../../../src/components/quickComponentForm/QuickComponentForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,8BAA8B,CAAC;AACtC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAUxE,MAAM,sBAAuB,SAAQ,KAAK,CAAC,SAAyB;IACnE,YAAY,KAAa;QACxB,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAC7B,sFAAsF,CACtF,CAAC;QACF,IAAI,CAAC,KAAK,GAAG;YACZ,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;SACP,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAKD,iBAAiB;QAChB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,oBAAoB;QACnB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAKD,SAAS,CAAC,CAAgB;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;SACZ;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;SACd;IACF,CAAC;IAKD,UAAU;QACT,eAAe,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAKD,IAAI;QACH,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAEzE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;gBACjD,KAAK,EAAE,aAAa;aACpB,CAAC,CAAC;SACH;QACD,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAEnD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAClD;YACC,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,eAAe;SACpB,EACD,CAAC,GAAsC,EAAE,EAAE;YAC1C,IAAI,GAAG,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACnB;YAED,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC,CACD,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,EAAE;SACP,CAAC,CAAC;IACJ,CAAC;IAKD,MAAM;QACL,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QAEhF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,CAAsC;QAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,CAAsC;QAC5C,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,MAAM;QACL,OAAO,CACN,oBAAC,eAAe,IACf,kBAAkB,EAAC,MAAM,EACzB,eAAe,EAAE,GAAG,EAAE;gBACrB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC7C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBACzC,CAAC,CAAC,CAAC;YACJ,CAAC,EACD,OAAO,EAAE,IAAI;YAEb,6BAAK,SAAS,EAAC,cAAc,yCAAyC;YACtE,oBAAC,wBAAwB,IACxB,aAAa,EAAE,IAAI,CAAC,OAAO,EAC3B,WAAW,EAAC,MAAM,EAClB,SAAS,QACT,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EACtB,WAAW,EAAE,IAAI,GAChB;YACF,oBAAC,wBAAwB,IACxB,aAAa,EAAE,IAAI,CAAC,MAAM,EAC1B,WAAW,EAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EACrB,SAAS,EAAE,KAAK,GACf;YACF,6BAAK,SAAS,EAAC,gBAAgB;gBAC9B,oBAAC,qBAAqB,IAAC,SAAS,EAAC,qBAAqB,EAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,aAE/D;gBAExB,oBAAC,qBAAqB,IAAC,SAAS,EAAC,yBAAyB,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,cAEjE,CACnB,CACW,CAClB,CAAC;IACH,CAAC;CACD;AAKD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,oBAAC,sBAAsB,OAAG,CAAC","sourcesContent":["import React from \"react\";\r\nimport { FinsembleDialog } from \"../legacyControls/FinsembleDialog\";\r\nimport { FinsembleDialogTextInput } from \"../legacyControls/FinsembleDialogTextInput\";\r\nimport { FinsembleDialogButton } from \"../legacyControls/FinsembleDialogButton\";\r\nimport \"../../assets/css/dialogs.css\";\r\nimport \"./quickComponent.css\";\r\nimport { isValidURL } from \"../shared/validateURL\";\r\nimport { addProtocolToValidURL } from \"../shared/addProtocolToValidURL\";\r\n\r\ninterface IProps {}\r\n\r\ninterface IState {\r\n\tname: string;\r\n\turl: string;\r\n}\r\n\r\n// @deprecated - Quick Components will be removed in a future version\r\nclass QuickComponentFormBase extends React.Component<IProps, IState> {\r\n\tconstructor(props: IProps) {\r\n\t\tsuper(props);\r\n\t\tFSBL.Clients.Logger.deprecated(\r\n\t\t\t\"Quick Components have been deprecated and will not be available in a future release.\"\r\n\t\t);\r\n\t\tthis.state = {\r\n\t\t\tname: \"\",\r\n\t\t\turl: \"\",\r\n\t\t};\r\n\t\tthis.save = this.save.bind(this);\r\n\t\tthis.cancel = this.cancel.bind(this);\r\n\t\tthis.setName = this.setName.bind(this);\r\n\t\tthis.setURL = this.setURL.bind(this);\r\n\t\tthis.onkeydown = this.onkeydown.bind(this);\r\n\t}\r\n\r\n\t/**\r\n\t * Adds eventListeners on keydown, sets the height of the component.\r\n\t */\r\n\tcomponentDidMount() {\r\n\t\tFSBL.Clients.WindowClient.fitToDOM();\r\n\t\tdocument.body.addEventListener(\"keydown\", this.onkeydown);\r\n\t\tFSBL.Clients.WindowClient.setAlwaysOnTop(true);\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tdocument.body.removeEventListener(\"keydown\", this.onkeydown);\r\n\t}\r\n\r\n\t/**\r\n\t * Matches the enter and escape keys with the corresponding function to invoke.\r\n\t */\r\n\tonkeydown(e: KeyboardEvent) {\r\n\t\tif (e.code === \"Enter\" && e.shiftKey === false) {\r\n\t\t\tthis.save();\r\n\t\t}\r\n\r\n\t\tif (e.code === \"Escape\") {\r\n\t\t\tthis.cancel();\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Hides the window when the save button is clicked.\r\n\t */\r\n\thideWindow() {\r\n\t\tfinsembleWindow.hide();\r\n\t}\r\n\r\n\t/**\r\n\t * Persists the quick component to storage.\r\n\t */\r\n\tsave() {\r\n\t\tif (!this.state) return FSBL.Clients.DialogManager.respondToOpener({});\r\n\t\tlet { name, url } = this.state;\r\n\t\tif (!name || !url) return FSBL.Clients.DialogManager.respondToOpener({});\r\n\r\n\t\tif (!isValidURL(url)) {\r\n\t\t\treturn FSBL.Clients.DialogManager.respondToOpener({\r\n\t\t\t\terror: \"Invalid URL\",\r\n\t\t\t});\r\n\t\t}\r\n\t\tconst urlWithProtocol = addProtocolToValidURL(url);\r\n\r\n\t\tFSBL.Clients.LauncherClient.addUserDefinedComponent(\r\n\t\t\t{\r\n\t\t\t\tname: name,\r\n\t\t\t\turl: urlWithProtocol,\r\n\t\t\t},\r\n\t\t\t(err: Error | string | null | undefined) => {\r\n\t\t\t\tif (err) {\r\n\t\t\t\t\tconsole.error(err);\r\n\t\t\t\t}\r\n\t\t\t\t// FSBL.Clients.WindowClient.close(false);\r\n\t\t\t\tFSBL.Clients.DialogManager.respondToOpener({});\r\n\t\t\t}\r\n\t\t);\r\n\t\tArray.from(document.querySelectorAll(\"input\")).forEach((el) => (el.value = \"\"));\r\n\t\tthis.setState({\r\n\t\t\tname: \"\",\r\n\t\t\turl: \"\",\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Kills the window.\r\n\t */\r\n\tcancel() {\r\n\t\tArray.from(document.querySelectorAll(\"input\")).forEach((el) => (el.value = \"\"));\r\n\r\n\t\tFSBL.Clients.DialogManager.respondToOpener({});\r\n\t}\r\n\r\n\tsetName(e: React.ChangeEvent<HTMLInputElement>) {\r\n\t\tthis.setState({ name: e.target.value });\r\n\t}\r\n\r\n\tsetURL(e: React.ChangeEvent<HTMLInputElement>) {\r\n\t\tthis.setState({ url: e.target.value });\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t<FinsembleDialog\r\n\t\t\t\tbehaviorOnResponse=\"hide\"\r\n\t\t\t\tonShowRequested={() => {\r\n\t\t\t\t\tFSBL.Clients.WindowClient.fitToDOM(null, () => {\r\n\t\t\t\t\t\tFSBL.Clients.DialogManager.showDialog();\r\n\t\t\t\t\t});\r\n\t\t\t\t}}\r\n\t\t\t\tisModal={true}\r\n\t\t\t>\r\n\t\t\t\t<div className=\"dialog-title\">Enter a name and URL for your app.</div>\r\n\t\t\t\t<FinsembleDialogTextInput\r\n\t\t\t\t\tonInputChange={this.setName}\r\n\t\t\t\t\tplaceholder=\"Name\"\r\n\t\t\t\t\tautoFocus\r\n\t\t\t\t\tvalue={this.state.name}\r\n\t\t\t\t\tfocusOnShow={true}\r\n\t\t\t\t/>\r\n\t\t\t\t<FinsembleDialogTextInput\r\n\t\t\t\t\tonInputChange={this.setURL}\r\n\t\t\t\t\tplaceholder=\"URL\"\r\n\t\t\t\t\tvalue={this.state.url}\r\n\t\t\t\t\tautoFocus={false}\r\n\t\t\t\t/>\r\n\t\t\t\t<div className=\"button-wrapper\">\r\n\t\t\t\t\t<FinsembleDialogButton className=\"fsbl-button-neutral\" onClick={this.cancel} show={true}>\r\n\t\t\t\t\t\tCancel\r\n\t\t\t\t\t</FinsembleDialogButton>\r\n\r\n\t\t\t\t\t<FinsembleDialogButton className=\"fsbl-button-affirmative\" onClick={this.save} show={true}>\r\n\t\t\t\t\t\tConfirm\r\n\t\t\t\t\t</FinsembleDialogButton>\r\n\t\t\t\t</div>\r\n\t\t\t</FinsembleDialog>\r\n\t\t);\r\n\t}\r\n}\r\n\r\n/**\r\n * A form that allows the user to add a quick component. It provides one field for the name of the quick component, and another field for its URL.\r\n */\r\nexport const QuickComponentForm = () => <QuickComponentFormBase />;\r\n"]}
@@ -1,9 +1,19 @@
1
1
  import * as React from "react";
2
- const sanitizeHTML = (str) => str?.replace(/[^\w. ]/gi, (c) => `&#${c.charCodeAt(0)};`);
2
+ const encodeStringChars = (str) => `&#${str.charCodeAt(0)};`;
3
+ const sanitizeHTML = (str) => str === null || str === void 0 ? void 0 : str.replace(/[^\w. ]/gi, encodeStringChars);
3
4
  export const Highlight = (props) => {
4
5
  const { matchAgainst, text } = props;
5
- const escapedMatch = matchAgainst.replace(/([\+\-\.\/\[\]\\\*\?\)\{\}\|])/, "\\$1");
6
- const itemHtml = sanitizeHTML(text)?.replace(new RegExp(`(${escapedMatch})`, "gi"), `<span class="highlight">$1</span>`);
6
+ const escapedMatch = matchAgainst.replace(/([.*+?^${}()|[\]\\])/g, encodeStringChars);
7
+ const sanitizedHtml = sanitizeHTML(text);
8
+ let regex;
9
+ try {
10
+ regex = new RegExp(`(${escapedMatch || sanitizedHtml})`, "gi");
11
+ }
12
+ catch (e) {
13
+ regex = escapedMatch;
14
+ console.error(`Failure in Highlight component in finsemble-ui. Expected a valid regex. Instead received "${matchAgainst}". Please check that your component is passing valid data.`);
15
+ }
16
+ const itemHtml = sanitizedHtml === null || sanitizedHtml === void 0 ? void 0 : sanitizedHtml.replace(regex, `<span class="highlight">$1</span>`);
7
17
  return (React.createElement("span", { dangerouslySetInnerHTML: {
8
18
  __html: itemHtml,
9
19
  } }));