@finsemble/finsemble-ui 6.6.1 → 7.0.0-beta-X

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 (902) hide show
  1. package/package.json +31 -43
  2. package/react/actions/favoriteActions.d.ts +1 -0
  3. package/react/actions/favoriteActions.js +1 -0
  4. package/react/actions/favoriteActions.js.map +1 -1
  5. package/react/actions/menuActions.d.ts +1 -0
  6. package/react/actions/menuActions.js +1 -0
  7. package/react/actions/menuActions.js.map +1 -1
  8. package/react/actions/rootActions.d.ts +1 -0
  9. package/react/actions/rootActions.js +1 -0
  10. package/react/actions/rootActions.js.map +1 -1
  11. package/react/actions/searchActions.d.ts +1 -0
  12. package/react/actions/searchActions.js +1 -0
  13. package/react/actions/searchActions.js.map +1 -1
  14. package/react/actions/toolbarActions.d.ts +34 -0
  15. package/react/actions/toolbarActions.js +17 -0
  16. package/react/actions/toolbarActions.js.map +1 -1
  17. package/react/actions/workspaceActions.d.ts +1 -0
  18. package/react/actions/workspaceActions.js +1 -0
  19. package/react/actions/workspaceActions.js.map +1 -1
  20. package/react/assets/css/advancedAppLauncher.css +22 -19
  21. package/react/assets/css/appCatalog.css +67 -72
  22. package/react/assets/css/authentication.css +4 -3
  23. package/react/assets/css/button.css +4 -11
  24. package/react/assets/css/core/formElements.css +1 -1
  25. package/react/assets/css/core/icons.css +3 -2
  26. package/react/assets/css/core/notifications.css +2 -2
  27. package/react/assets/css/core/windowFrame.css +9 -9
  28. package/react/assets/css/dashbar.css +1 -1
  29. package/react/assets/css/defaultTheme.css +9 -53
  30. package/react/assets/css/dialogs.css +13 -11
  31. package/react/assets/css/favorites.css +3 -48
  32. package/react/assets/css/finsemble.css +6 -2
  33. package/react/assets/css/font-finance.css +233 -120
  34. package/react/assets/css/fonts/Open_Sans/OpenSans-Definition.css +10 -10
  35. package/react/assets/css/linkerWindow.css +15 -3
  36. package/react/assets/css/menus.css +12 -12
  37. package/react/assets/css/notificationsCenter.css +49 -33
  38. package/react/assets/css/processMonitor.css +7 -4
  39. package/react/assets/css/search.css +1 -1
  40. package/react/assets/css/shared/animations.css +10 -4
  41. package/react/assets/css/shared/common.css +40 -0
  42. package/react/assets/css/tags.css +10 -10
  43. package/react/assets/css/toolbar.css +22 -19
  44. package/react/assets/css/userPreferences.css +29 -26
  45. package/react/assets/css/windowTitleBar.css +86 -40
  46. package/react/assets/icons/server.svg +26 -0
  47. package/react/componentTemplateGenerator.js +3 -2
  48. package/react/componentTemplateGenerator.js.map +1 -1
  49. package/react/components/FinsembleProvider.d.ts +7 -0
  50. package/react/components/FinsembleProvider.js +2 -0
  51. package/react/components/FinsembleProvider.js.map +1 -1
  52. package/react/components/appCatalog/AppCatalog.d.ts +4 -0
  53. package/react/components/appCatalog/AppCatalog.js +4 -0
  54. package/react/components/appCatalog/AppCatalog.js.map +1 -1
  55. package/react/components/appCatalog/AppCatalogComponent.d.ts +58 -0
  56. package/react/components/appCatalog/AppCatalogComponent.js +70 -1
  57. package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
  58. package/react/components/appCatalog/components/AppCard.d.ts +35 -0
  59. package/react/components/appCatalog/components/AppCard.js +42 -0
  60. package/react/components/appCatalog/components/AppCard.js.map +1 -1
  61. package/react/components/appCatalog/components/AppResults.d.ts +10 -0
  62. package/react/components/appCatalog/components/AppResults.js +24 -0
  63. package/react/components/appCatalog/components/AppResults.js.map +1 -1
  64. package/react/components/appCatalog/components/Carousel.d.ts +26 -0
  65. package/react/components/appCatalog/components/Carousel.js +34 -0
  66. package/react/components/appCatalog/components/Carousel.js.map +1 -1
  67. package/react/components/appCatalog/components/EmptyResults.d.ts +4 -0
  68. package/react/components/appCatalog/components/EmptyResults.js +8 -0
  69. package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
  70. package/react/components/appCatalog/components/Hero.d.ts +15 -0
  71. package/react/components/appCatalog/components/Hero.js +15 -0
  72. package/react/components/appCatalog/components/Hero.js.map +1 -1
  73. package/react/components/appCatalog/components/Home.d.ts +6 -4
  74. package/react/components/appCatalog/components/Home.js +10 -0
  75. package/react/components/appCatalog/components/Home.js.map +1 -1
  76. package/react/components/appCatalog/components/SearchBar.d.ts +31 -0
  77. package/react/components/appCatalog/components/SearchBar.js +33 -0
  78. package/react/components/appCatalog/components/SearchBar.js.map +1 -1
  79. package/react/components/appCatalog/components/Showcase/AppDescription.d.ts +5 -0
  80. package/react/components/appCatalog/components/Showcase/AppDescription.js +9 -0
  81. package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
  82. package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts +7 -0
  83. package/react/components/appCatalog/components/Showcase/AppDevNotes.js +15 -0
  84. package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
  85. package/react/components/appCatalog/components/Showcase/AppShowcase.d.ts +17 -0
  86. package/react/components/appCatalog/components/Showcase/AppShowcase.js +25 -0
  87. package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
  88. package/react/components/appCatalog/components/Showcase/Header.d.ts +7 -0
  89. package/react/components/appCatalog/components/Showcase/Header.js +12 -0
  90. package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
  91. package/react/components/appCatalog/components/Showcase/ImageCarousel.d.ts +7 -0
  92. package/react/components/appCatalog/components/Showcase/ImageCarousel.js +11 -0
  93. package/react/components/appCatalog/components/Showcase/ImageCarousel.js.map +1 -1
  94. package/react/components/appCatalog/components/Showcase/Modal.d.ts +10 -0
  95. package/react/components/appCatalog/components/Showcase/Modal.js +10 -0
  96. package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
  97. package/react/components/appCatalog/components/Showcase/ReleaseNotes.d.ts +5 -0
  98. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js +9 -0
  99. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js.map +1 -1
  100. package/react/components/appCatalog/components/Showcase/SupportNotes.d.ts +6 -0
  101. package/react/components/appCatalog/components/Showcase/SupportNotes.js +11 -0
  102. package/react/components/appCatalog/components/Showcase/SupportNotes.js.map +1 -1
  103. package/react/components/appCatalog/components/Showcase/VersionNotes.d.ts +5 -0
  104. package/react/components/appCatalog/components/Showcase/VersionNotes.js +9 -0
  105. package/react/components/appCatalog/components/Showcase/VersionNotes.js.map +1 -1
  106. package/react/components/appCatalog/components/Tag.d.ts +6 -0
  107. package/react/components/appCatalog/components/Tag.js +10 -0
  108. package/react/components/appCatalog/components/Tag.js.map +1 -1
  109. package/react/components/appCatalog/components/Toast.d.ts +5 -0
  110. package/react/components/appCatalog/components/Toast.js +9 -0
  111. package/react/components/appCatalog/components/Toast.js.map +1 -1
  112. package/react/components/appCatalog/components/helpers.js +1 -0
  113. package/react/components/appCatalog/components/helpers.js.map +1 -1
  114. package/react/components/appCatalog/modules/AppDirectory.d.ts +5 -0
  115. package/react/components/appCatalog/modules/AppDirectory.js +5 -0
  116. package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
  117. package/react/components/appCatalog/modules/FDC3.d.ts +37 -0
  118. package/react/components/appCatalog/modules/FDC3.js +40 -0
  119. package/react/components/appCatalog/modules/FDC3.js.map +1 -1
  120. package/react/components/appCatalog/stores/appStore.js +1 -0
  121. package/react/components/appCatalog/stores/appStore.js.map +1 -1
  122. package/react/components/appCatalog/stores/storeActions.d.ts +91 -0
  123. package/react/components/appCatalog/stores/storeActions.js +116 -1
  124. package/react/components/appCatalog/stores/storeActions.js.map +1 -1
  125. package/react/components/common/ButtonIcon.js +1 -1
  126. package/react/components/common/ButtonIcon.js.map +1 -1
  127. package/react/components/common/ButtonRow.js +2 -2
  128. package/react/components/common/ButtonRow.js.map +1 -1
  129. package/react/components/common/Checkbox.d.ts +1 -0
  130. package/react/components/common/Checkbox.js +3 -3
  131. package/react/components/common/Checkbox.js.map +1 -1
  132. package/react/components/common/ColorPicker.d.ts +5 -0
  133. package/react/components/common/ColorPicker.js +56 -15
  134. package/react/components/common/ColorPicker.js.map +1 -1
  135. package/react/components/common/DropZone.d.ts +11 -0
  136. package/react/components/common/DropZone.js +21 -1
  137. package/react/components/common/DropZone.js.map +1 -1
  138. package/react/components/common/DropdownButton.d.ts +4 -0
  139. package/react/components/common/DropdownButton.js +4 -0
  140. package/react/components/common/DropdownButton.js.map +1 -1
  141. package/react/components/common/ErrorBoundary.d.ts +34 -0
  142. package/react/components/common/ErrorBoundary.js +43 -0
  143. package/react/components/common/ErrorBoundary.js.map +1 -0
  144. package/react/components/common/FileInput.d.ts +8 -1
  145. package/react/components/common/FileInput.js +19 -4
  146. package/react/components/common/FileInput.js.map +1 -1
  147. package/react/components/common/FinsembleIcon.d.ts +13 -2
  148. package/react/components/common/FinsembleIcon.js +61 -5
  149. package/react/components/common/FinsembleIcon.js.map +1 -1
  150. package/react/components/common/FinsembleLink.d.ts +6 -0
  151. package/react/components/common/FinsembleLink.js +12 -0
  152. package/react/components/common/FinsembleLink.js.map +1 -0
  153. package/react/components/common/FinsembleSelect.js +5 -1
  154. package/react/components/common/FinsembleSelect.js.map +1 -1
  155. package/react/components/common/FinsembleToggle.d.ts +1 -2
  156. package/react/components/common/FinsembleToggle.js +2 -6
  157. package/react/components/common/FinsembleToggle.js.map +1 -1
  158. package/react/components/common/FinsembleToggleButtonBar.d.ts +13 -0
  159. package/react/components/common/FinsembleToggleButtonBar.js +44 -0
  160. package/react/components/common/FinsembleToggleButtonBar.js.map +1 -0
  161. package/react/components/common/InputTable.d.ts +10 -3
  162. package/react/components/common/InputTable.js +20 -13
  163. package/react/components/common/InputTable.js.map +1 -1
  164. package/react/components/common/Tab.js +36 -5
  165. package/react/components/common/Tab.js.map +1 -1
  166. package/react/components/common/TimeSelect.js +34 -3
  167. package/react/components/common/TimeSelect.js.map +1 -1
  168. package/react/components/common/Tooltip.js +2 -0
  169. package/react/components/common/Tooltip.js.map +1 -1
  170. package/react/components/common/css/FinsembleToggle.css +22 -0
  171. package/react/components/common/css/accordion.css +9 -6
  172. package/react/components/common/css/application-edit-page.css +48 -45
  173. package/react/components/common/css/button.css +10 -5
  174. package/react/components/common/css/color-picker.css +3 -3
  175. package/react/components/common/css/drop-zone.css +2 -6
  176. package/react/components/common/css/file-input.css +5 -5
  177. package/react/components/common/css/header.css +3 -2
  178. package/react/components/common/css/icon.css +1 -1
  179. package/react/components/common/css/loading-spinner.css +7 -12
  180. package/react/components/common/css/selector.css +4 -4
  181. package/react/components/common/css/styles.css +22 -16
  182. package/react/components/common/css/tab.css +14 -14
  183. package/react/components/common/css/time-select.css +2 -1
  184. package/react/components/common/css/toggle.css +4 -12
  185. package/react/components/common/css/tooltip.css +2 -3
  186. package/react/components/common/file_helpers.js +2 -0
  187. package/react/components/common/file_helpers.js.map +1 -1
  188. package/react/components/common/helpers.js +12 -1
  189. package/react/components/common/helpers.js.map +1 -1
  190. package/react/components/common/stories/ColorPicker.stories.js +9 -11
  191. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  192. package/react/components/common/stories/FileInput.stories.d.ts +3 -1
  193. package/react/components/common/stories/FileInput.stories.js +12 -0
  194. package/react/components/common/stories/FileInput.stories.js.map +1 -1
  195. package/react/components/common/stories/FinsembleToggle.stories.d.ts +1 -2
  196. package/react/components/common/stories/FinsembleToggle.stories.js +0 -7
  197. package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
  198. package/react/components/common/stories/FinsembleToggleButtonBar.stories.d.ts +14 -0
  199. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js +97 -0
  200. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js.map +1 -0
  201. package/react/components/common/stories/InputTable.stories.d.ts +4 -3
  202. package/react/components/common/stories/InputTable.stories.js +18 -8
  203. package/react/components/common/stories/InputTable.stories.js.map +1 -1
  204. package/react/components/common/tests/Accordion.spec.js +6 -0
  205. package/react/components/common/tests/Accordion.spec.js.map +1 -1
  206. package/react/components/common/tests/ButtonRow.spec.js +5 -0
  207. package/react/components/common/tests/ButtonRow.spec.js.map +1 -1
  208. package/react/components/common/tests/Checkbox.spec.js +1 -0
  209. package/react/components/common/tests/Checkbox.spec.js.map +1 -1
  210. package/react/components/common/tests/ColorPicker.spec.js +6 -0
  211. package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
  212. package/react/components/common/tests/DropZone.spec.js +1 -0
  213. package/react/components/common/tests/DropZone.spec.js.map +1 -1
  214. package/react/components/common/tests/FileInput.spec.js +22 -0
  215. package/react/components/common/tests/FileInput.spec.js.map +1 -1
  216. package/react/components/common/tests/FinsembleSelect.spec.js +1 -0
  217. package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
  218. package/react/components/common/tests/FinsembleToggle.spec.js +2 -6
  219. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  220. package/react/components/common/tests/FinsembleToggleButtonBar.spec.d.ts +1 -0
  221. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js +41 -0
  222. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js.map +1 -0
  223. package/react/components/common/tests/InputTable.spec.js +3 -3
  224. package/react/components/common/tests/InputTable.spec.js.map +1 -1
  225. package/react/components/common/tests/TimeSelect.spec.js +4 -0
  226. package/react/components/common/tests/TimeSelect.spec.js.map +1 -1
  227. package/react/components/common/tests/Tooltip.spec.js +16 -0
  228. package/react/components/common/tests/Tooltip.spec.js.map +1 -1
  229. package/react/components/favorites/FavoriteMaker.d.ts +8 -0
  230. package/react/components/favorites/FavoriteMaker.js +10 -1
  231. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  232. package/react/components/favorites/FavoritesShell.d.ts +4 -0
  233. package/react/components/favorites/FavoritesShell.js +13 -1
  234. package/react/components/favorites/FavoritesShell.js.map +1 -1
  235. package/react/components/favorites/FavoritesShell.spec.js +3 -0
  236. package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
  237. package/react/components/fdc3Resolver/ResolverContainer.js +12 -7
  238. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  239. package/react/components/fdc3Resolver/ResolverDialog.css +16 -3
  240. package/react/components/fdc3Resolver/ResolverDialog.js +7 -2
  241. package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
  242. package/react/components/fdc3Resolver/ResolverDialog.spec.js +3 -2
  243. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
  244. package/react/components/fdc3Resolver/ResolverDialog.stories.js +2 -0
  245. package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
  246. package/react/components/icon/Icon.d.ts +14 -1
  247. package/react/components/icon/Icon.js +42 -1
  248. package/react/components/icon/Icon.js.map +1 -1
  249. package/react/components/legacyControls/FinsembleDialog.d.ts +4 -0
  250. package/react/components/legacyControls/FinsembleDialog.js +16 -1
  251. package/react/components/legacyControls/FinsembleDialog.js.map +1 -1
  252. package/react/components/legacyControls/FinsembleDialogButton.d.ts +3 -0
  253. package/react/components/legacyControls/FinsembleDialogButton.js +6 -1
  254. package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
  255. package/react/components/legacyControls/FinsembleDialogQuestion.d.ts +7 -0
  256. package/react/components/legacyControls/FinsembleDialogQuestion.js +7 -0
  257. package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
  258. package/react/components/legacyControls/FinsembleDialogTextInput.d.ts +3 -0
  259. package/react/components/legacyControls/FinsembleDialogTextInput.js +14 -0
  260. package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
  261. package/react/components/legacyControls/FinsembleDnDContext.d.ts +19 -0
  262. package/react/components/legacyControls/FinsembleDnDContext.js +133 -8
  263. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  264. package/react/components/legacyControls/FinsembleDraggable.d.ts +3 -0
  265. package/react/components/legacyControls/FinsembleDraggable.js +3 -0
  266. package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
  267. package/react/components/legacyControls/FinsembleHoverDetector.d.ts +15 -0
  268. package/react/components/legacyControls/FinsembleHoverDetector.js +26 -1
  269. package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
  270. package/react/components/legacyControls/FinsembleMenuSection.d.ts +4 -0
  271. package/react/components/legacyControls/FinsembleMenuSection.js +38 -0
  272. package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
  273. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js +1 -0
  274. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
  275. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +1 -0
  276. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
  277. package/react/components/linker/LinkerMenu.d.ts +3 -0
  278. package/react/components/linker/LinkerMenu.js +21 -0
  279. package/react/components/linker/LinkerMenu.js.map +1 -1
  280. package/react/components/linker/LinkerMenuDeprecated.d.ts +3 -0
  281. package/react/components/linker/LinkerMenuDeprecated.js +9 -0
  282. package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
  283. package/react/components/linker/remoteRedux.js +1 -0
  284. package/react/components/linker/remoteRedux.js.map +1 -1
  285. package/react/components/menu/Menu.d.ts +15 -0
  286. package/react/components/menu/Menu.js +15 -0
  287. package/react/components/menu/Menu.js.map +1 -1
  288. package/react/components/menu/MenuAutoResizer.d.ts +7 -0
  289. package/react/components/menu/MenuAutoResizer.js +27 -0
  290. package/react/components/menu/MenuAutoResizer.js.map +1 -1
  291. package/react/components/menu/MenuContent.d.ts +4 -0
  292. package/react/components/menu/MenuContent.js +4 -0
  293. package/react/components/menu/MenuContent.js.map +1 -1
  294. package/react/components/menu/MenuHotKey.d.ts +14 -0
  295. package/react/components/menu/MenuHotKey.js +15 -0
  296. package/react/components/menu/MenuHotKey.js.map +1 -1
  297. package/react/components/menu/MenuItem.d.ts +8 -0
  298. package/react/components/menu/MenuItem.js +13 -2
  299. package/react/components/menu/MenuItem.js.map +1 -1
  300. package/react/components/menu/MenuPortal.js +125 -24
  301. package/react/components/menu/MenuPortal.js.map +1 -1
  302. package/react/components/menu/MenuShell.d.ts +16 -0
  303. package/react/components/menu/MenuShell.js +26 -0
  304. package/react/components/menu/MenuShell.js.map +1 -1
  305. package/react/components/menu/MenuToggle.d.ts +3 -0
  306. package/react/components/menu/MenuToggle.js +5 -2
  307. package/react/components/menu/MenuToggle.js.map +1 -1
  308. package/react/components/menu/keyboardNavigation.d.ts +13 -22
  309. package/react/components/menu/keyboardNavigation.js +165 -160
  310. package/react/components/menu/keyboardNavigation.js.map +1 -1
  311. package/react/components/menu/menuContext.d.ts +6 -0
  312. package/react/components/menu/menuContext.js +6 -0
  313. package/react/components/menu/menuContext.js.map +1 -1
  314. package/react/components/menu/menuHelpers.d.ts +22 -0
  315. package/react/components/menu/menuHelpers.js +58 -1
  316. package/react/components/menu/menuHelpers.js.map +1 -1
  317. package/react/components/notifications/components/drawer/DrawerControls.js +47 -25
  318. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  319. package/react/components/notifications/components/drawer/DrawerHeader.js +5 -0
  320. package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
  321. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +37 -6
  322. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  323. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +17 -10
  324. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
  325. package/react/components/notifications/components/shared/CheckButton.js +19 -8
  326. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  327. package/react/components/notifications/components/shared/NotificationCardShell.d.ts +9 -0
  328. package/react/components/notifications/components/shared/NotificationCardShell.js +15 -7
  329. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  330. package/react/components/notifications/components/shared/OverflowMenu.d.ts +4 -0
  331. package/react/components/notifications/components/shared/OverflowMenu.js +16 -2
  332. package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
  333. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js +2 -1
  334. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  335. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js +2 -1
  336. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  337. package/react/components/notifications/components/views/CardView.js +8 -3
  338. package/react/components/notifications/components/views/CardView.js.map +1 -1
  339. package/react/components/notifications/components/views/ListView.js +11 -1
  340. package/react/components/notifications/components/views/ListView.js.map +1 -1
  341. package/react/components/notifications/notificationsContext.d.ts +4 -0
  342. package/react/components/notifications/notificationsContext.js +4 -0
  343. package/react/components/notifications/notificationsContext.js.map +1 -1
  344. package/react/components/notifications/types.d.ts +6 -0
  345. package/react/components/notifications/types.js.map +1 -1
  346. package/react/components/notifications/utils.d.ts +4 -0
  347. package/react/components/notifications/utils.js +4 -0
  348. package/react/components/notifications/utils.js.map +1 -1
  349. package/react/components/processMonitor/ProcessMonitor.d.ts +3 -0
  350. package/react/components/processMonitor/ProcessMonitor.js +21 -3
  351. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  352. package/react/components/processMonitor/components/ChildWindow.d.ts +3 -0
  353. package/react/components/processMonitor/components/ChildWindow.js +5 -0
  354. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  355. package/react/components/processMonitor/components/ListHeader.d.ts +5 -0
  356. package/react/components/processMonitor/components/ListHeader.js +7 -0
  357. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  358. package/react/components/processMonitor/components/ProcessStatistics.js +12 -3
  359. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  360. package/react/components/processMonitor/constants.js +6 -0
  361. package/react/components/processMonitor/constants.js.map +1 -1
  362. package/react/components/processMonitor/helpers.d.ts +13 -0
  363. package/react/components/processMonitor/helpers.js +27 -6
  364. package/react/components/processMonitor/helpers.js.map +1 -1
  365. package/react/components/processMonitor/helpers.spec.js +7 -3
  366. package/react/components/processMonitor/helpers.spec.js.map +1 -1
  367. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +39 -0
  368. package/react/components/processMonitor/stores/ProcessMonitorStore.js +50 -0
  369. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  370. package/react/components/quickComponentForm/QuickComponentForm.d.ts +3 -0
  371. package/react/components/quickComponentForm/QuickComponentForm.js +20 -0
  372. package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
  373. package/react/components/quickComponentForm/quickComponent.css +1 -1
  374. package/react/components/sdd/AddApp.d.ts +7 -4
  375. package/react/components/sdd/AddApp.js +144 -34
  376. package/react/components/sdd/AddApp.js.map +1 -1
  377. package/react/components/sdd/AppEditAccess.d.ts +4 -3
  378. package/react/components/sdd/AppEditAccess.js +8 -0
  379. package/react/components/sdd/AppEditAccess.js.map +1 -1
  380. package/react/components/sdd/AppEditPage.d.ts +6 -4
  381. package/react/components/sdd/AppEditPage.js +205 -393
  382. package/react/components/sdd/AppEditPage.js.map +1 -1
  383. package/react/components/sdd/Appearance.css +1 -1
  384. package/react/components/sdd/Appearance.d.ts +2 -1
  385. package/react/components/sdd/Appearance.js +18 -7
  386. package/react/components/sdd/Appearance.js.map +1 -1
  387. package/react/components/sdd/Application.d.ts +5 -4
  388. package/react/components/sdd/Application.js +94 -44
  389. package/react/components/sdd/Application.js.map +1 -1
  390. package/react/components/sdd/Applications.d.ts +12 -11
  391. package/react/components/sdd/Applications.js +110 -15
  392. package/react/components/sdd/Applications.js.map +1 -1
  393. package/react/components/sdd/AssetsPage.css +3 -3
  394. package/react/components/sdd/Authentication.js +1 -6
  395. package/react/components/sdd/Authentication.js.map +1 -1
  396. package/react/components/sdd/AuthenticationProviderConfig.js +5 -3
  397. package/react/components/sdd/AuthenticationProviderConfig.js.map +1 -1
  398. package/react/components/sdd/EditPreload.d.ts +4 -3
  399. package/react/components/sdd/EditPreload.js +49 -22
  400. package/react/components/sdd/EditPreload.js.map +1 -1
  401. package/react/components/sdd/Export.d.ts +7 -6
  402. package/react/components/sdd/Export.js +4 -3
  403. package/react/components/sdd/Export.js.map +1 -1
  404. package/react/components/sdd/ExportCloud.js +4 -0
  405. package/react/components/sdd/ExportCloud.js.map +1 -1
  406. package/react/components/sdd/GettingStarted.js +3 -3
  407. package/react/components/sdd/GettingStarted.js.map +1 -1
  408. package/react/components/sdd/Navigation.js +28 -4
  409. package/react/components/sdd/Navigation.js.map +1 -1
  410. package/react/components/sdd/OptionalSettingsView.d.ts +6 -5
  411. package/react/components/sdd/OptionalSettingsView.js +2 -10
  412. package/react/components/sdd/OptionalSettingsView.js.map +1 -1
  413. package/react/components/sdd/ProjectErrors.js +1 -1
  414. package/react/components/sdd/ProjectErrors.js.map +1 -1
  415. package/react/components/sdd/Publish.js +4 -2
  416. package/react/components/sdd/Publish.js.map +1 -1
  417. package/react/components/sdd/PublishProgress.js +11 -1
  418. package/react/components/sdd/PublishProgress.js.map +1 -1
  419. package/react/components/sdd/SmartDesktopDesigner.d.ts +17 -16
  420. package/react/components/sdd/SmartDesktopDesigner.js +54 -34
  421. package/react/components/sdd/SmartDesktopDesigner.js.map +1 -1
  422. package/react/components/sdd/ThemePage.css +6 -23
  423. package/react/components/sdd/ThemePage.js +8 -5
  424. package/react/components/sdd/ThemePage.js.map +1 -1
  425. package/react/components/sdd/Themes.d.ts +2 -1
  426. package/react/components/sdd/Themes.js +4 -2
  427. package/react/components/sdd/Themes.js.map +1 -1
  428. package/react/components/sdd/Toolbar.d.ts +5 -4
  429. package/react/components/sdd/Toolbar.js +18 -9
  430. package/react/components/sdd/Toolbar.js.map +1 -1
  431. package/react/components/sdd/appEditPage/Behavior.d.ts +34 -0
  432. package/react/components/sdd/appEditPage/Behavior.js +134 -0
  433. package/react/components/sdd/appEditPage/Behavior.js.map +1 -0
  434. package/react/components/sdd/appEditPage/Component.d.ts +22 -0
  435. package/react/components/sdd/appEditPage/Component.js +76 -0
  436. package/react/components/sdd/appEditPage/Component.js.map +1 -0
  437. package/react/components/sdd/appEditPage/DebugToolkit.d.ts +9 -0
  438. package/react/components/sdd/appEditPage/DebugToolkit.js +20 -0
  439. package/react/components/sdd/appEditPage/DebugToolkit.js.map +1 -0
  440. package/react/components/sdd/appEditPage/Interop.d.ts +10 -0
  441. package/react/components/sdd/appEditPage/Interop.js +40 -0
  442. package/react/components/sdd/appEditPage/Interop.js.map +1 -0
  443. package/react/components/sdd/appEditPage/Position.d.ts +18 -0
  444. package/react/components/sdd/appEditPage/Position.js +72 -0
  445. package/react/components/sdd/appEditPage/Position.js.map +1 -0
  446. package/react/components/sdd/appEditPage/Preloads.d.ts +9 -0
  447. package/react/components/sdd/appEditPage/Preloads.js +16 -0
  448. package/react/components/sdd/appEditPage/Preloads.js.map +1 -0
  449. package/react/components/sdd/appEditPage/SelectConnect.d.ts +15 -0
  450. package/react/components/sdd/appEditPage/SelectConnect.js +28 -0
  451. package/react/components/sdd/appEditPage/SelectConnect.js.map +1 -0
  452. package/react/components/sdd/appEditPage/Workspace.d.ts +12 -0
  453. package/react/components/sdd/appEditPage/Workspace.js +30 -0
  454. package/react/components/sdd/appEditPage/Workspace.js.map +1 -0
  455. package/react/components/sdd/common/getCSSVars.js +7 -2
  456. package/react/components/sdd/common/getCSSVars.js.map +1 -1
  457. package/react/components/sdd/common/setPreloadDefaults.d.ts +1 -1
  458. package/react/components/sdd/common/setPreloadDefaults.js +9 -4
  459. package/react/components/sdd/common/setPreloadDefaults.js.map +1 -1
  460. package/react/components/sdd/common/views.js +7 -4
  461. package/react/components/sdd/common/views.js.map +1 -1
  462. package/react/components/sdd/css/addApp.css +65 -0
  463. package/react/components/sdd/css/appearance.css +6 -0
  464. package/react/components/sdd/css/applications.css +27 -34
  465. package/react/components/sdd/css/authentication.css +7 -6
  466. package/react/components/sdd/css/buttons.css +1 -1
  467. package/react/components/sdd/css/export.css +5 -3
  468. package/react/components/sdd/css/getting-started.css +2 -2
  469. package/react/components/sdd/css/nav.css +11 -14
  470. package/react/components/sdd/css/project-header.css +5 -7
  471. package/react/components/sdd/css/styles.css +29 -23
  472. package/react/components/sdd/css/views.css +4 -3
  473. package/react/components/sdd/fixtures/apps.js +12 -0
  474. package/react/components/sdd/fixtures/apps.js.map +1 -1
  475. package/react/components/sdd/fixtures/authenticationProps.js +15 -1
  476. package/react/components/sdd/fixtures/authenticationProps.js.map +1 -1
  477. package/react/components/sdd/fixtures/configTemplate.js +1 -0
  478. package/react/components/sdd/fixtures/configTemplate.js.map +1 -1
  479. package/react/components/sdd/fixtures/preloads.js +14 -12
  480. package/react/components/sdd/fixtures/preloads.js.map +1 -1
  481. package/react/components/sdd/fixtures/publishProgress.js +40 -0
  482. package/react/components/sdd/fixtures/publishProgress.js.map +1 -1
  483. package/react/components/sdd/sdd_helpers.d.ts +6 -0
  484. package/react/components/sdd/sdd_helpers.js +6 -0
  485. package/react/components/sdd/sdd_helpers.js.map +1 -1
  486. package/react/components/sdd/smartDesktopClient.d.ts +466 -0
  487. package/react/components/sdd/smartDesktopClient.js +906 -0
  488. package/react/components/sdd/smartDesktopClient.js.map +1 -0
  489. package/react/components/sdd/smartDesktopClient.spec.d.ts +1 -0
  490. package/react/components/sdd/smartDesktopClient.spec.js +64 -0
  491. package/react/components/sdd/smartDesktopClient.spec.js.map +1 -0
  492. package/react/components/sdd/stories/AddApp.stories.d.ts +11 -0
  493. package/react/components/sdd/stories/AddApp.stories.js +26 -0
  494. package/react/components/sdd/stories/AddApp.stories.js.map +1 -0
  495. package/react/components/sdd/stories/AppEditPage.stories.d.ts +5 -1
  496. package/react/components/sdd/stories/AppEditPage.stories.js +5 -0
  497. package/react/components/sdd/stories/AppEditPage.stories.js.map +1 -1
  498. package/react/components/sdd/stories/Appearance.stories.d.ts +1 -1
  499. package/react/components/sdd/stories/Appearance.stories.js +2 -0
  500. package/react/components/sdd/stories/Appearance.stories.js.map +1 -1
  501. package/react/components/sdd/stories/Authentication.stories.js +2 -16
  502. package/react/components/sdd/stories/Authentication.stories.js.map +1 -1
  503. package/react/components/sdd/stories/OptionalSettingsView.stories.js +1 -1
  504. package/react/components/sdd/stories/OptionalSettingsView.stories.js.map +1 -1
  505. package/react/components/sdd/stories/SmartDesktopDesigner.stories.d.ts +1 -1
  506. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js +3 -0
  507. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js.map +1 -1
  508. package/react/components/sdd/stories/Themes.stories.d.ts +1 -1
  509. package/react/components/sdd/stories/Themes.stories.js +1 -0
  510. package/react/components/sdd/stories/Themes.stories.js.map +1 -1
  511. package/react/components/sdd/tests/AddApp.spec.d.ts +1 -0
  512. package/react/components/sdd/tests/AddApp.spec.js +133 -0
  513. package/react/components/sdd/tests/AddApp.spec.js.map +1 -0
  514. package/react/components/sdd/tests/AppEditPage.spec.js +108 -23
  515. package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -1
  516. package/react/components/sdd/tests/Application.spec.js +351 -369
  517. package/react/components/sdd/tests/Application.spec.js.map +1 -1
  518. package/react/components/sdd/tests/Applications.spec.d.ts +1 -1
  519. package/react/components/sdd/tests/Applications.spec.js +30 -50
  520. package/react/components/sdd/tests/Applications.spec.js.map +1 -1
  521. package/react/components/sdd/tests/Authentication.spec.js +8 -1
  522. package/react/components/sdd/tests/Authentication.spec.js.map +1 -1
  523. package/react/components/sdd/tests/ContentHeader.spec.js +2 -0
  524. package/react/components/sdd/tests/ContentHeader.spec.js.map +1 -1
  525. package/react/components/sdd/tests/EditPreload.spec.js +63 -7
  526. package/react/components/sdd/tests/EditPreload.spec.js.map +1 -1
  527. package/react/components/sdd/tests/Export.spec.js +8 -1
  528. package/react/components/sdd/tests/Export.spec.js.map +1 -1
  529. package/react/components/sdd/tests/ItemList.spec.js +4 -0
  530. package/react/components/sdd/tests/ItemList.spec.js.map +1 -1
  531. package/react/components/sdd/tests/Navigation.spec.js +2 -2
  532. package/react/components/sdd/tests/Navigation.spec.js.map +1 -1
  533. package/react/components/sdd/tests/OptionalSettingsView.spec.js +264 -0
  534. package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +1 -1
  535. package/react/components/sdd/tests/ProjectErrors.spec.js +3 -1
  536. package/react/components/sdd/tests/ProjectErrors.spec.js.map +1 -1
  537. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js +2 -2
  538. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js.map +1 -1
  539. package/react/components/sdd/tests/Themes.spec.js +1 -1
  540. package/react/components/sdd/tests/Themes.spec.js.map +1 -1
  541. package/react/components/sdd/tests/Toolbar.spec.js +53 -0
  542. package/react/components/sdd/tests/Toolbar.spec.js.map +1 -1
  543. package/react/components/sdd/tests/a11y_helper.js +8 -0
  544. package/react/components/sdd/tests/a11y_helper.js.map +1 -1
  545. package/react/components/search/Highlight.d.ts +6 -0
  546. package/react/components/search/Highlight.js +19 -0
  547. package/react/components/search/Highlight.js.map +1 -1
  548. package/react/components/search/Highlight.stories.js +1 -1
  549. package/react/components/search/Highlight.stories.js.map +1 -1
  550. package/react/components/search/Search.js +1 -1
  551. package/react/components/search/Search.js.map +1 -1
  552. package/react/components/search/SearchBestMatch.d.ts +4 -0
  553. package/react/components/search/SearchBestMatch.js +11 -0
  554. package/react/components/search/SearchBestMatch.js.map +1 -1
  555. package/react/components/search/SearchInput.d.ts +5 -0
  556. package/react/components/search/SearchInput.js +6 -0
  557. package/react/components/search/SearchInput.js.map +1 -1
  558. package/react/components/search/SearchProviderResults.js +2 -0
  559. package/react/components/search/SearchProviderResults.js.map +1 -1
  560. package/react/components/search/SearchResult.d.ts +5 -0
  561. package/react/components/search/SearchResult.js +6 -0
  562. package/react/components/search/SearchResult.js.map +1 -1
  563. package/react/components/search/SearchResult.spec.d.ts +1 -0
  564. package/react/components/search/SearchResult.spec.js +46 -0
  565. package/react/components/search/SearchResult.spec.js.map +1 -0
  566. package/react/components/search/SearchResult.stories.d.ts +16 -0
  567. package/react/components/search/SearchResult.stories.js +113 -0
  568. package/react/components/search/SearchResult.stories.js.map +1 -0
  569. package/react/components/search/SearchResults.js +5 -1
  570. package/react/components/search/SearchResults.js.map +1 -1
  571. package/react/components/search/SearchResults.spec.d.ts +1 -0
  572. package/react/components/search/SearchResults.spec.js +35 -0
  573. package/react/components/search/SearchResults.spec.js.map +1 -0
  574. package/react/components/search/SearchResults.stories.d.ts +11 -0
  575. package/react/components/search/SearchResults.stories.js +458 -0
  576. package/react/components/search/SearchResults.stories.js.map +1 -0
  577. package/react/components/shared/Animate.d.ts +5 -0
  578. package/react/components/shared/Animate.js +12 -1
  579. package/react/components/shared/Animate.js.map +1 -1
  580. package/react/components/shared/DefaultDropdownButton.js +26 -6
  581. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  582. package/react/components/shared/Tag.d.ts +0 -4
  583. package/react/components/shared/Tag.js +4 -0
  584. package/react/components/shared/Tag.js.map +1 -1
  585. package/react/components/shared/TagsMenu.d.ts +6 -0
  586. package/react/components/shared/TagsMenu.js +7 -0
  587. package/react/components/shared/TagsMenu.js.map +1 -1
  588. package/react/components/shared/addProtocolToValidURL.d.ts +6 -0
  589. package/react/components/shared/addProtocolToValidURL.js +6 -0
  590. package/react/components/shared/addProtocolToValidURL.js.map +1 -1
  591. package/react/components/shared/openQuitConfirmationDialog.d.ts +1 -1
  592. package/react/components/shared/openQuitConfirmationDialog.js +4 -4
  593. package/react/components/shared/openQuitConfirmationDialog.js.map +1 -1
  594. package/react/components/shared/tests/DefaultDropdownButton.spec.js +12 -0
  595. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
  596. package/react/components/shared/tests/addProtocolToValidURL.spec.js +1 -0
  597. package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +1 -1
  598. package/react/components/shared/validateURL.d.ts +18 -0
  599. package/react/components/shared/validateURL.js +24 -5
  600. package/react/components/shared/validateURL.js.map +1 -1
  601. package/react/components/singleInputDialog/SingleInputDialog.css +1 -1
  602. package/react/components/singleInputDialog/SingleInputDialog.d.ts +3 -0
  603. package/react/components/singleInputDialog/SingleInputDialog.js +46 -0
  604. package/react/components/singleInputDialog/SingleInputDialog.js.map +1 -1
  605. package/react/components/singleInputDialog/SingleInputDialog.stories.js +2 -2
  606. package/react/components/singleInputDialog/SingleInputDialog.stories.js.map +1 -1
  607. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +1 -16
  608. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +5 -3
  609. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  610. package/react/components/system/System.d.ts +22 -0
  611. package/react/components/system/System.js +23 -1
  612. package/react/components/system/System.js.map +1 -1
  613. package/react/components/system/System.stories.js +1 -0
  614. package/react/components/system/System.stories.js.map +1 -1
  615. package/react/components/system/SystemTrayComponentShell.d.ts +6 -0
  616. package/react/components/system/SystemTrayComponentShell.js +9 -0
  617. package/react/components/system/SystemTrayComponentShell.js.map +1 -1
  618. package/react/components/toolbar/AutoArrange.d.ts +5 -0
  619. package/react/components/toolbar/AutoArrange.js +8 -1
  620. package/react/components/toolbar/AutoArrange.js.map +1 -1
  621. package/react/components/toolbar/AutoArrange.spec.js +10 -4
  622. package/react/components/toolbar/AutoArrange.spec.js.map +1 -1
  623. package/react/components/toolbar/AutoArrange.stories.js +1 -0
  624. package/react/components/toolbar/AutoArrange.stories.js.map +1 -1
  625. package/react/components/toolbar/DragHandle.d.ts +4 -0
  626. package/react/components/toolbar/DragHandle.js +11 -0
  627. package/react/components/toolbar/DragHandle.js.map +1 -1
  628. package/react/components/toolbar/DragHandle.spec.js +1 -0
  629. package/react/components/toolbar/DragHandle.spec.js.map +1 -1
  630. package/react/components/toolbar/DragHandle.stories.js +1 -0
  631. package/react/components/toolbar/DragHandle.stories.js.map +1 -1
  632. package/react/components/toolbar/MinimizeAll.d.ts +4 -0
  633. package/react/components/toolbar/MinimizeAll.js +7 -1
  634. package/react/components/toolbar/MinimizeAll.js.map +1 -1
  635. package/react/components/toolbar/MinimizeAll.spec.js +1 -0
  636. package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
  637. package/react/components/toolbar/MinimizeAll.stories.js +1 -0
  638. package/react/components/toolbar/MinimizeAll.stories.js.map +1 -1
  639. package/react/components/toolbar/NotificationControl.d.ts +5 -0
  640. package/react/components/toolbar/NotificationControl.js +8 -1
  641. package/react/components/toolbar/NotificationControl.js.map +1 -1
  642. package/react/components/toolbar/RevealAll.d.ts +4 -0
  643. package/react/components/toolbar/RevealAll.js +7 -1
  644. package/react/components/toolbar/RevealAll.js.map +1 -1
  645. package/react/components/toolbar/RevealAll.spec.js +1 -0
  646. package/react/components/toolbar/RevealAll.spec.js.map +1 -1
  647. package/react/components/toolbar/RevealAll.stories.js +1 -0
  648. package/react/components/toolbar/RevealAll.stories.js.map +1 -1
  649. package/react/components/toolbar/SddButton.d.ts +4 -0
  650. package/react/components/toolbar/SddButton.js +4 -0
  651. package/react/components/toolbar/SddButton.js.map +1 -1
  652. package/react/components/toolbar/ToolbarIcon.d.ts +4 -0
  653. package/react/components/toolbar/ToolbarIcon.js +6 -2
  654. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  655. package/react/components/toolbar/ToolbarSection.d.ts +8 -9
  656. package/react/components/toolbar/ToolbarSection.js +21 -7
  657. package/react/components/toolbar/ToolbarSection.js.map +1 -1
  658. package/react/components/toolbar/ToolbarShell.d.ts +5 -0
  659. package/react/components/toolbar/ToolbarShell.js +7 -0
  660. package/react/components/toolbar/ToolbarShell.js.map +1 -1
  661. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +16 -0
  662. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js +20 -0
  663. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
  664. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts +52 -0
  665. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js +58 -0
  666. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
  667. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts +5 -0
  668. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js +5 -0
  669. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
  670. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts +27 -0
  671. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +49 -0
  672. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
  673. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +13 -0
  674. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js +21 -10
  675. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
  676. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +5 -0
  677. package/react/components/toolbar/advancedAppLauncher/components/Content.js +19 -0
  678. package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
  679. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts +4 -0
  680. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js +4 -0
  681. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
  682. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +16 -0
  683. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +39 -0
  684. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
  685. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts +4 -0
  686. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js +9 -0
  687. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
  688. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js +3 -0
  689. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
  690. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.d.ts +6 -0
  691. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js +7 -0
  692. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
  693. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.d.ts +5 -0
  694. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js +5 -0
  695. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js.map +1 -1
  696. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.d.ts +5 -0
  697. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js +5 -0
  698. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
  699. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts +37 -0
  700. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js +40 -0
  701. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
  702. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.d.ts +3 -0
  703. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +83 -1
  704. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  705. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts +10 -0
  706. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js +12 -3
  707. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
  708. package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts +18 -0
  709. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +20 -0
  710. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  711. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +9 -0
  712. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js +12 -0
  713. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
  714. package/react/components/toolbar/appLauncher/appLauncher.css +1 -1
  715. package/react/components/toolbar/appLauncher/components/componentList.d.ts +3 -0
  716. package/react/components/toolbar/appLauncher/components/componentList.js +17 -3
  717. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  718. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +6 -0
  719. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +26 -0
  720. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
  721. package/react/components/toolbar/dashbar/Dashbar.js +91 -15
  722. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  723. package/react/components/toolbar/dashbar/DashbarItem.js +5 -0
  724. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  725. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +8 -1
  726. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js +7 -0
  727. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
  728. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +17 -1
  729. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +21 -1
  730. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  731. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +26 -0
  732. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +29 -0
  733. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  734. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +6 -1
  735. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js +6 -0
  736. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
  737. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +78 -2
  738. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +191 -40
  739. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  740. package/react/components/toolbar/workspaceManagementMenu/workspaceManagementMenu.css +8 -18
  741. package/react/components/userPreferences/NotificationsPreferencesContext.d.ts +4 -0
  742. package/react/components/userPreferences/NotificationsPreferencesContext.js +4 -0
  743. package/react/components/userPreferences/NotificationsPreferencesContext.js.map +1 -1
  744. package/react/components/userPreferences/UserPreferenceTypes.d.ts +3 -0
  745. package/react/components/userPreferences/UserPreferences.d.ts +8 -0
  746. package/react/components/userPreferences/UserPreferences.js +8 -0
  747. package/react/components/userPreferences/UserPreferences.js.map +1 -1
  748. package/react/components/userPreferences/UserPreferencesBase.js +4 -0
  749. package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
  750. package/react/components/userPreferences/components/ContentSection.d.ts +5 -0
  751. package/react/components/userPreferences/components/ContentSection.js +1 -1
  752. package/react/components/userPreferences/components/ContentSection.js.map +1 -1
  753. package/react/components/userPreferences/components/LeftNav.d.ts +4 -0
  754. package/react/components/userPreferences/components/content/DashbarEditor.js +3 -0
  755. package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
  756. package/react/components/userPreferences/components/content/Notifications.js +3 -0
  757. package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
  758. package/react/components/userPreferences/components/content/Workspaces.d.ts +14 -2
  759. package/react/components/userPreferences/components/content/Workspaces.js +78 -38
  760. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  761. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +7 -3
  762. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  763. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +3 -0
  764. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
  765. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +3 -0
  766. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
  767. package/react/components/userPreferences/components/general/ScheduledClose.js +26 -5
  768. package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
  769. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +1 -1
  770. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
  771. package/react/components/userPreferences/components/workspaces/WorkspaceItem.d.ts +1 -1
  772. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +20 -10
  773. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
  774. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +18 -1
  775. package/react/components/userPreferences/stores/UserPreferencesStore.js +35 -6
  776. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  777. package/react/components/userPreferences/tests/LeftNav.spec.js +15 -1
  778. package/react/components/userPreferences/tests/LeftNav.spec.js.map +1 -1
  779. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js +1 -0
  780. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
  781. package/react/components/userPreferences/tests/UserPreferencesBase.spec.d.ts +1 -0
  782. package/react/components/userPreferences/tests/UserPreferencesBase.spec.js +42 -0
  783. package/react/components/userPreferences/tests/UserPreferencesBase.spec.js.map +1 -0
  784. package/react/components/userPreferences/tests/Workspace.spec.d.ts +1 -0
  785. package/react/components/userPreferences/tests/Workspace.spec.js +139 -0
  786. package/react/components/userPreferences/tests/Workspace.spec.js.map +1 -0
  787. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +130 -2
  788. package/react/components/windowTitleBar/WindowTitleBarShell.js +386 -27
  789. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  790. package/react/components/windowTitleBar/components/center/Tab.d.ts +3 -0
  791. package/react/components/windowTitleBar/components/center/Tab.js +3 -0
  792. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  793. package/react/components/windowTitleBar/components/center/TabList.d.ts +90 -0
  794. package/react/components/windowTitleBar/components/center/TabList.js +170 -4
  795. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  796. package/react/components/windowTitleBar/components/left/LinkerButton.d.ts +9 -1
  797. package/react/components/windowTitleBar/components/left/LinkerButton.js +27 -5
  798. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  799. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +47 -0
  800. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js +76 -1
  801. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js.map +1 -1
  802. package/react/components/windowTitleBar/components/left/LinkerGroups.d.ts +4 -0
  803. package/react/components/windowTitleBar/components/left/LinkerGroups.js +5 -0
  804. package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
  805. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.d.ts +18 -0
  806. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js +49 -0
  807. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js.map +1 -1
  808. package/react/components/windowTitleBar/components/left/ShareButton.d.ts +17 -0
  809. package/react/components/windowTitleBar/components/left/ShareButton.js +39 -0
  810. package/react/components/windowTitleBar/components/left/ShareButton.js.map +1 -1
  811. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js +4 -0
  812. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js.map +1 -1
  813. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +27 -0
  814. package/react/components/windowTitleBar/components/right/CloseButton.js +27 -0
  815. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  816. package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +37 -0
  817. package/react/components/windowTitleBar/components/right/GroupingButton.js +40 -0
  818. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  819. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +46 -0
  820. package/react/components/windowTitleBar/components/right/MaximizeButton.js +54 -0
  821. package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
  822. package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +26 -0
  823. package/react/components/windowTitleBar/components/right/MinimizeButton.js +26 -0
  824. package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
  825. package/react/components/windowTitleBar/components/windowTitle.d.ts +40 -0
  826. package/react/components/windowTitleBar/components/windowTitle.js +245 -48
  827. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  828. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +5 -0
  829. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +81 -6
  830. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  831. package/react/components/yesNoDialog/YesNoDialog.css +1 -1
  832. package/react/components/yesNoDialog/YesNoDialog.d.ts +3 -0
  833. package/react/components/yesNoDialog/YesNoDialog.js +64 -1
  834. package/react/components/yesNoDialog/YesNoDialog.js.map +1 -1
  835. package/react/components/yesNoDialog/YesNoDialog.spec.js +4 -0
  836. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
  837. package/react/components/yesNoDialog/YesNoDialog.stories.js +2 -2
  838. package/react/components/yesNoDialog/YesNoDialog.stories.js.map +1 -1
  839. package/react/components/yesNoDialog/timer.js +2 -0
  840. package/react/components/yesNoDialog/timer.js.map +1 -1
  841. package/react/enzymeSetup.js +10 -0
  842. package/react/enzymeSetup.js.map +1 -1
  843. package/react/hooks/useDashbar.js +10 -0
  844. package/react/hooks/useDashbar.js.map +1 -1
  845. package/react/hooks/useDeepEffect.d.ts +4 -0
  846. package/react/hooks/useDeepEffect.js +21 -0
  847. package/react/hooks/useDeepEffect.js.map +1 -1
  848. package/react/hooks/useFavorites.d.ts +15 -0
  849. package/react/hooks/useFavorites.js +3 -0
  850. package/react/hooks/useFavorites.js.map +1 -1
  851. package/react/hooks/useFavoritesShell.d.ts +4 -0
  852. package/react/hooks/useFavoritesShell.js +23 -0
  853. package/react/hooks/useFavoritesShell.js.map +1 -1
  854. package/react/hooks/useHotkey.d.ts +6 -0
  855. package/react/hooks/useHotkey.js +9 -0
  856. package/react/hooks/useHotkey.js.map +1 -1
  857. package/react/hooks/useLinker.js +14 -0
  858. package/react/hooks/useLinker.js.map +1 -1
  859. package/react/hooks/useMenu.d.ts +29 -0
  860. package/react/hooks/useMenu.js +12 -1
  861. package/react/hooks/useMenu.js.map +1 -1
  862. package/react/hooks/useNotifications.d.ts +44 -0
  863. package/react/hooks/useNotifications.js +104 -12
  864. package/react/hooks/useNotifications.js.map +1 -1
  865. package/react/hooks/useOutsideClickDetector.d.ts +3 -0
  866. package/react/hooks/useOutsideClickDetector.js +3 -0
  867. package/react/hooks/useOutsideClickDetector.js.map +1 -1
  868. package/react/hooks/usePubSub.d.ts +17 -0
  869. package/react/hooks/usePubSub.js +18 -0
  870. package/react/hooks/usePubSub.js.map +1 -1
  871. package/react/hooks/useSearch.d.ts +5 -0
  872. package/react/hooks/useSearch.js +30 -0
  873. package/react/hooks/useSearch.js.map +1 -1
  874. package/react/hooks/useToolbar.d.ts +1 -1
  875. package/react/hooks/useToolbar.js +54 -2
  876. package/react/hooks/useToolbar.js.map +1 -1
  877. package/react/reducers/favoriteReducer.d.ts +3 -0
  878. package/react/reducers/linkerReducer.d.ts +3 -0
  879. package/react/reducers/linkerReducer.js +4 -0
  880. package/react/reducers/linkerReducer.js.map +1 -1
  881. package/react/reducers/menuReducer.d.ts +28 -0
  882. package/react/reducers/menuReducer.js +34 -0
  883. package/react/reducers/menuReducer.js.map +1 -1
  884. package/react/reducers/rootReducer.d.ts +2 -2
  885. package/react/reducers/rootReducer.js +3 -0
  886. package/react/reducers/rootReducer.js.map +1 -1
  887. package/react/reducers/searchReducer.d.ts +7 -0
  888. package/react/reducers/searchReducer.js +6 -0
  889. package/react/reducers/searchReducer.js.map +1 -1
  890. package/react/reducers/workspaceReducer.js +1 -0
  891. package/react/reducers/workspaceReducer.js.map +1 -1
  892. package/react/store.d.ts +8 -4
  893. package/react/store.js +11 -0
  894. package/react/store.js.map +1 -1
  895. package/react/tsconfig.tsbuildinfo +1 -0
  896. package/react/types/fdc3.d.ts +2 -0
  897. package/react/types/linkerTypes.d.ts +13 -0
  898. package/react/types/linkerTypes.js +1 -0
  899. package/react/types/linkerTypes.js.map +1 -1
  900. package/react/types/smartDesktopDesignerTypes.d.ts +8 -0
  901. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  902. package/react/types/workspaceTypes.d.ts +8 -0
@@ -4,14 +4,18 @@ let updateConstants;
4
4
  const Actions = {
5
5
  initialize: function () {
6
6
  FSBL.Clients.WorkspaceClient.getWorkspaceActions((err, constants) => {
7
- updateConstants = constants;
7
+ if (constants)
8
+ updateConstants = constants;
8
9
  });
10
+ // Gets the workspace list and sets the value in the store.
9
11
  FSBL.Clients.WorkspaceClient.getWorkspaces((err, workspaces) => {
10
- UserPreferencesStore.setValue({
11
- field: "WorkspaceList",
12
- value: workspaces,
13
- });
12
+ if (workspaces)
13
+ UserPreferencesStore.setValue({
14
+ field: "WorkspaceList",
15
+ value: workspaces,
16
+ });
14
17
  });
18
+ // Get the activeWorkspace and set the value.
15
19
  FSBL.Clients.WorkspaceClient.getActiveWorkspace((err, activeWorkspace) => {
16
20
  if (activeWorkspace) {
17
21
  UserPreferencesStore.setValue({
@@ -20,6 +24,10 @@ const Actions = {
20
24
  });
21
25
  }
22
26
  });
27
+ /**
28
+ * We listen here for any workspace updates, and pass them to the store.
29
+ * **NOTE**: You may notice that the signature of this callback is different from the previous ones. In this case we receive a `response`, instead of `workspaces` or `activeWorkspace`. This is because this callback is for a `RouterClient` message. The functions above are callbacks to `WorkspaceClient` API calls.
30
+ */
23
31
  FSBL.Clients.RouterClient.subscribe("Finsemble.WorkspaceService.update", (err, response) => {
24
32
  if (response.data && response.data.activeWorkspace) {
25
33
  UserPreferencesStore.setValue({
@@ -49,6 +57,7 @@ const Actions = {
49
57
  });
50
58
  },
51
59
  getWorkspaces(cb = Function.prototype) {
60
+ // Gets the workspace list and sets the value in the store.
52
61
  FSBL.Clients.WorkspaceClient.getWorkspaces((err, workspaces) => {
53
62
  UserPreferencesStore.setValue({
54
63
  field: "WorkspaceList",
@@ -57,6 +66,10 @@ const Actions = {
57
66
  cb();
58
67
  });
59
68
  },
69
+ /**
70
+ * By making the value of `finsemble.scheduledRestart` falsy, the application will remove any existing restart timers.
71
+ * @deprecated use `setScheduledRestart(false)` instead.
72
+ */
60
73
  disableScheduledRestart: () => {
61
74
  FSBL.Clients.ConfigClient.setPreference({
62
75
  field: "finsemble.scheduledRestart",
@@ -67,12 +80,22 @@ const Actions = {
67
80
  value: false,
68
81
  });
69
82
  },
83
+ /**
84
+ * Finsemble listens for this piece of config. When it changes, it will schedule a daily restart at that time.
85
+ * By making the value of `finsemble.scheduledRestart` falsy, the application will remove any existing restart timers.
86
+ * @deprecated use setScheduledClose
87
+ */
70
88
  setScheduledRestart: (val) => {
71
89
  FSBL.Clients.ConfigClient.setPreference({
72
90
  field: "finsemble.scheduledRestart",
73
91
  value: val,
74
92
  });
75
93
  },
94
+ /**
95
+ * Finsemble listens the config set by this function. When it changes, it will schedule a daily restart/shutdown at
96
+ * that time. By making the value falsy, the application will remove any existing restart/shutdown timers.
97
+ *
98
+ */
76
99
  setScheduledClose: (key, value) => {
77
100
  FSBL.Clients.ConfigClient.setPreference({
78
101
  field: key,
@@ -86,10 +109,13 @@ const Actions = {
86
109
  });
87
110
  },
88
111
  getPreferences: (callback) => {
89
- return FSBL.Clients.ConfigClient.getPreferences(callback);
112
+ FSBL.Clients.ConfigClient.getPreferences(callback);
90
113
  },
91
114
  };
92
115
  async function createLocalStore(done) {
116
+ // While the order of these two functions is unimportant, they cannot be done in series as we don't want
117
+ // to call the callback until both stores have been initiated. This keeps the initialization function
118
+ // executing until both stores either have values, or fail to initialize.
93
119
  FSBL.Clients.DistributedStoreClient.createStore({ store: "Finsemble-UserPreferences-Local-Store" }, (preferencesErr, preferencesStore) => {
94
120
  if (preferencesErr) {
95
121
  FSBL.Clients.Logger.system.error("Error fetching user preferences data: ", preferencesErr);
@@ -100,6 +126,9 @@ async function createLocalStore(done) {
100
126
  done();
101
127
  });
102
128
  }
129
+ /**
130
+ * Initializes the store for the User Preferences Menu.
131
+ */
103
132
  function initialize(WorkspaceMngMenuStore, cb) {
104
133
  WorkspaceManagementMenuStore = WorkspaceMngMenuStore;
105
134
  createLocalStore(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"UserPreferencesStore.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/stores/UserPreferencesStore.tsx"],"names":[],"mappings":"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","sourcesContent":["import StoreModel from \"@finsemble/finsemble-api/types/clients/StoreModel\";\nimport { WORKSPACE } from \"@finsemble/finsemble-api/types/common/constants\";\nimport { Workspace as WorkspaceType } from \"@finsemble/finsemble-api/types/common/workspace\";\nimport { StandardError, StandardCallback } from \"@finsemble/finsemble-api/types/types\";\nimport { ScheduledDayTimeObjectType } from \"../UserPreferenceTypes\";\n\ntype ConstantsType = typeof WORKSPACE[\"API_CHANNELS\"];\n\ntype UpdateResponseType = {\n\tdata: {\n\t\tactiveWorkspace: WorkspaceType;\n\t\treason: keyof ConstantsType;\n\t};\n};\n\nlet UserPreferencesStore: StoreModel;\nlet WorkspaceManagementMenuStore: StoreModel;\n\nlet updateConstants: ConstantsType;\n\nconst Actions = {\n\tinitialize: function () {\n\t\tFSBL.Clients.WorkspaceClient.getWorkspaceActions((err: StandardError, constants: ConstantsType) => {\n\t\t\tupdateConstants = constants;\n\t\t});\n\n\t\t// Gets the workspace list and sets the value in the store.\n\t\tFSBL.Clients.WorkspaceClient.getWorkspaces((err: StandardError, workspaces: WorkspaceType[]) => {\n\t\t\tUserPreferencesStore.setValue({\n\t\t\t\tfield: \"WorkspaceList\",\n\t\t\t\tvalue: workspaces,\n\t\t\t});\n\t\t});\n\n\t\t// Get the activeWorkspace and set the value.\n\t\tFSBL.Clients.WorkspaceClient.getActiveWorkspace((err: StandardError, activeWorkspace?: { data: WorkspaceType }) => {\n\t\t\tif (activeWorkspace) {\n\t\t\t\tUserPreferencesStore.setValue({\n\t\t\t\t\tfield: \"activeWorkspace\",\n\t\t\t\t\tvalue: activeWorkspace,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t/**\n\t\t * We listen here for any workspace updates, and pass them to the store.\n\t\t * **NOTE**: You may notice that the signature of this callback is different from the previous ones. In this case we receive a `response`, instead of `workspaces` or `activeWorkspace`. This is because this callback is for a `RouterClient` message. The functions above are callbacks to `WorkspaceClient` API calls.\n\t\t */\n\t\tFSBL.Clients.RouterClient.subscribe(\n\t\t\t\"Finsemble.WorkspaceService.update\",\n\t\t\t(err: StandardError, response: UpdateResponseType) => {\n\t\t\t\tif (response.data && response.data.activeWorkspace) {\n\t\t\t\t\tUserPreferencesStore.setValue({\n\t\t\t\t\t\tfield: \"activeWorkspace\",\n\t\t\t\t\t\tvalue: response.data.activeWorkspace,\n\t\t\t\t\t});\n\n\t\t\t\t\tif (updateConstants) {\n\t\t\t\t\t\tswitch (response.data.reason) {\n\t\t\t\t\t\t\tcase updateConstants.GET_ACTIVE_WORKSPACE:\n\t\t\t\t\t\t\tcase updateConstants.NEW_WORKSPACE:\n\t\t\t\t\t\t\tcase updateConstants.IMPORT:\n\t\t\t\t\t\t\tcase updateConstants.SAVE:\n\t\t\t\t\t\t\tcase updateConstants.SAVE_AS:\n\t\t\t\t\t\t\tcase updateConstants.REMOVE:\n\t\t\t\t\t\t\tcase updateConstants.SWITCH_TO:\n\t\t\t\t\t\t\tcase updateConstants.SET_WORKSPACE_ORDER:\n\t\t\t\t\t\t\tcase updateConstants.ADD_WINDOW:\n\t\t\t\t\t\t\tcase updateConstants.REMOVE_WINDOW:\n\t\t\t\t\t\t\tcase updateConstants.RENAME:\n\t\t\t\t\t\t\t\tActions.getWorkspaces();\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t},\n\tgetWorkspaces(cb = Function.prototype) {\n\t\t// Gets the workspace list and sets the value in the store.\n\t\tFSBL.Clients.WorkspaceClient.getWorkspaces((err: StandardError, workspaces: WorkspaceType[]) => {\n\t\t\tUserPreferencesStore.setValue({\n\t\t\t\tfield: \"WorkspaceList\",\n\t\t\t\tvalue: workspaces,\n\t\t\t});\n\t\t\tcb();\n\t\t});\n\t},\n\t/**\n\t * By making the value of `finsemble.scheduledRestart` falsy, the application will remove any existing restart timers.\n\t * @deprecated use `setScheduledRestart(false)` instead.\n\t */\n\tdisableScheduledRestart: () => {\n\t\tFSBL.Clients.ConfigClient.setPreference({\n\t\t\tfield: \"finsemble.scheduledRestart\",\n\t\t\tvalue: false,\n\t\t});\n\n\t\tFSBL.Clients.ConfigClient.setPreference({\n\t\t\tfield: \"finsemble.scheduledCloseDiscardUnsavedChanges\",\n\t\t\tvalue: false,\n\t\t});\n\t},\n\t/**\n\t * Finsemble listens for this piece of config. When it changes, it will schedule a daily restart at that time.\n\t * By making the value of `finsemble.scheduledRestart` falsy, the application will remove any existing restart timers.\n\t * @deprecated use setScheduledClose\n\t */\n\tsetScheduledRestart: (val: ScheduledDayTimeObjectType | false) => {\n\t\tFSBL.Clients.ConfigClient.setPreference({\n\t\t\tfield: \"finsemble.scheduledRestart\",\n\t\t\tvalue: val,\n\t\t});\n\t},\n\n\t/**\n\t * Finsemble listens the config set by this function. When it changes, it will schedule a daily restart/shutdown at\n\t * that time. By making the value falsy, the application will remove any existing restart/shutdown timers.\n\t *\n\t */\n\tsetScheduledClose: (\n\t\tkey: \"finsemble.scheduledRestart\" | \"finsemble.scheduledShutdown\",\n\t\tvalue: ScheduledDayTimeObjectType | false\n\t) => {\n\t\tFSBL.Clients.ConfigClient.setPreference({\n\t\t\tfield: key,\n\t\t\tvalue: value,\n\t\t});\n\t},\n\n\tsetDiscardUnsavedChangesPreference: (value: boolean) => {\n\t\tFSBL.Clients.ConfigClient.setPreference({\n\t\t\tfield: \"finsemble.scheduledCloseDiscardUnsavedChanges\",\n\t\t\tvalue: value,\n\t\t});\n\t},\n\n\tgetPreferences: (callback: StandardCallback) => {\n\t\treturn FSBL.Clients.ConfigClient.getPreferences(callback);\n\t},\n};\n\nasync function createLocalStore(done: () => void) {\n\t// While the order of these two functions is unimportant, they cannot be done in series as we don't want\n\t// to call the callback until both stores have been initiated. This keeps the initialization function\n\t// executing until both stores either have values, or fail to initialize.\n\tFSBL.Clients.DistributedStoreClient.createStore(\n\t\t{ store: \"Finsemble-UserPreferences-Local-Store\" },\n\t\t(preferencesErr: StandardError, preferencesStore: StoreModel | undefined) => {\n\t\t\tif (preferencesErr) {\n\t\t\t\tFSBL.Clients.Logger.system.error(\"Error fetching user preferences data: \", preferencesErr);\n\t\t\t}\n\t\t\tif (preferencesStore) {\n\t\t\t\tUserPreferencesStore = preferencesStore;\n\t\t\t}\n\t\t\tdone();\n\t\t}\n\t);\n}\n\n/**\n * Initializes the store for the User Preferences Menu.\n */\nfunction initialize(WorkspaceMngMenuStore: StoreModel, cb: (store: StoreModel) => void) {\n\tWorkspaceManagementMenuStore = WorkspaceMngMenuStore;\n\tcreateLocalStore(() => {\n\t\tActions.initialize();\n\t\tcb(UserPreferencesStore);\n\t});\n}\n\nexport { WorkspaceManagementMenuStore, initialize, UserPreferencesStore, Actions };\n"]}
1
+ {"version":3,"file":"UserPreferencesStore.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/stores/UserPreferencesStore.tsx"],"names":[],"mappings":"AAeA,IAAI,oBAAgC,CAAC;AACrC,IAAI,4BAAwC,CAAC;AAE7C,IAAI,eAA8B,CAAC;AAEnC,MAAM,OAAO,GAAG;IACf,UAAU,EAAE;QACX,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;YACnE,IAAI,SAAS;gBAAE,eAAe,GAAG,SAA0B,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,GAAkB,EAAE,UAA4B,EAAE,EAAE;YAC/F,IAAI,UAAU;gBACb,oBAAoB,CAAC,QAAQ,CAAC;oBAC7B,KAAK,EAAE,eAAe;oBACtB,KAAK,EAAE,UAAU;iBACjB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,GAAkB,EAAE,eAAyC,EAAE,EAAE;YACjH,IAAI,eAAe,EAAE;gBACpB,oBAAoB,CAAC,QAAQ,CAAC;oBAC7B,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,eAAe;iBACtB,CAAC,CAAC;aACH;QACF,CAAC,CAAC,CAAC;QAEH;;;WAGG;QACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAClC,mCAAmC,EACnC,CAAC,GAAkB,EAAE,QAA4B,EAAE,EAAE;YACpD,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE;gBACnD,oBAAoB,CAAC,QAAQ,CAAC;oBAC7B,KAAK,EAAE,iBAAiB;oBACxB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,eAAe;iBACpC,CAAC,CAAC;gBAEH,IAAI,eAAe,EAAE;oBACpB,QAAQ,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;wBAC7B,KAAK,eAAe,CAAC,oBAAoB,CAAC;wBAC1C,KAAK,eAAe,CAAC,aAAa,CAAC;wBACnC,KAAK,eAAe,CAAC,MAAM,CAAC;wBAC5B,KAAK,eAAe,CAAC,IAAI,CAAC;wBAC1B,KAAK,eAAe,CAAC,OAAO,CAAC;wBAC7B,KAAK,eAAe,CAAC,MAAM,CAAC;wBAC5B,KAAK,eAAe,CAAC,SAAS,CAAC;wBAC/B,KAAK,eAAe,CAAC,mBAAmB,CAAC;wBACzC,KAAK,eAAe,CAAC,UAAU,CAAC;wBAChC,KAAK,eAAe,CAAC,aAAa,CAAC;wBACnC,KAAK,eAAe,CAAC,MAAM;4BAC1B,OAAO,CAAC,aAAa,EAAE,CAAC;4BACxB,MAAM;wBACP;4BACC,MAAM;qBACP;iBACD;aACD;QACF,CAAC,CACD,CAAC;IACH,CAAC;IACD,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC,SAAS;QACpC,2DAA2D;QAC3D,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,GAAkB,EAAE,UAA2B,EAAE,EAAE;YAC9F,oBAAoB,CAAC,QAAQ,CAAC;gBAC7B,KAAK,EAAE,eAAe;gBACtB,KAAK,EAAE,UAAU;aACjB,CAAC,CAAC;YACH,EAAE,EAAE,CAAC;QACN,CAAC,CAAC,CAAC;IACJ,CAAC;IACD;;;OAGG;IACH,uBAAuB,EAAE,GAAG,EAAE;QAC7B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;YACvC,KAAK,EAAE,4BAA4B;YACnC,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;YACvC,KAAK,EAAE,+CAA+C;YACtD,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;IACJ,CAAC;IACD;;;;OAIG;IACH,mBAAmB,EAAE,CAAC,GAAuC,EAAE,EAAE;QAChE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;YACvC,KAAK,EAAE,4BAA4B;YACnC,KAAK,EAAE,GAAG;SACV,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,iBAAiB,EAAE,CAClB,GAAiE,EACjE,KAAyC,EACxC,EAAE;QACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;YACvC,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;IACJ,CAAC;IAED,kCAAkC,EAAE,CAAC,KAAc,EAAE,EAAE;QACtD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;YACvC,KAAK,EAAE,+CAA+C;YACtD,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;IACJ,CAAC;IAED,cAAc,EAAE,CAAC,QAA0B,EAAE,EAAE;QAC9C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;CACD,CAAC;AAEF,KAAK,UAAU,gBAAgB,CAAC,IAAgB;IAC/C,wGAAwG;IACxG,qGAAqG;IACrG,yEAAyE;IACzE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAC9C,EAAE,KAAK,EAAE,uCAAuC,EAAE,EAClD,CAAC,cAA6B,EAAE,gBAAwC,EAAE,EAAE;QAC3E,IAAI,cAAc,EAAE;YACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,cAAc,CAAC,CAAC;SAC3F;QACD,IAAI,gBAAgB,EAAE;YACrB,oBAAoB,GAAG,gBAAgB,CAAC;SACxC;QACD,IAAI,EAAE,CAAC;IACR,CAAC,CACD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,qBAAiC,EAAE,EAA+B;IACrF,4BAA4B,GAAG,qBAAqB,CAAC;IACrD,gBAAgB,CAAC,GAAG,EAAE;QACrB,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,4BAA4B,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC","sourcesContent":["import StoreModel from \"@finsemble/finsemble-api/types/clients/StoreModel\";\nimport { WORKSPACE } from \"@finsemble/finsemble-api/types/common/constants\";\nimport { Workspace as WorkspaceType } from \"@finsemble/finsemble-api/types/services/workspace/types\";\nimport { StandardError, StandardCallback } from \"@finsemble/finsemble-api/types/types\";\nimport { ScheduledDayTimeObjectType } from \"../UserPreferenceTypes\";\n\ntype ConstantsType = typeof WORKSPACE[\"API_CHANNELS\"];\n\ntype UpdateResponseType = {\n\tdata: {\n\t\tactiveWorkspace: WorkspaceType;\n\t\treason: keyof ConstantsType;\n\t};\n};\n\nlet UserPreferencesStore: StoreModel;\nlet WorkspaceManagementMenuStore: StoreModel;\n\nlet updateConstants: ConstantsType;\n\nconst Actions = {\n\tinitialize: function () {\n\t\tFSBL.Clients.WorkspaceClient.getWorkspaceActions((err, constants) => {\n\t\t\tif (constants) updateConstants = constants as ConstantsType;\n\t\t});\n\n\t\t// Gets the workspace list and sets the value in the store.\n\t\tFSBL.Clients.WorkspaceClient.getWorkspaces((err: StandardError, workspaces?: WorkspaceType[]) => {\n\t\t\tif (workspaces)\n\t\t\t\tUserPreferencesStore.setValue({\n\t\t\t\t\tfield: \"WorkspaceList\",\n\t\t\t\t\tvalue: workspaces,\n\t\t\t\t});\n\t\t});\n\n\t\t// Get the activeWorkspace and set the value.\n\t\tFSBL.Clients.WorkspaceClient.getActiveWorkspace((err: StandardError, activeWorkspace?: { data: WorkspaceType }) => {\n\t\t\tif (activeWorkspace) {\n\t\t\t\tUserPreferencesStore.setValue({\n\t\t\t\t\tfield: \"activeWorkspace\",\n\t\t\t\t\tvalue: activeWorkspace,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t/**\n\t\t * We listen here for any workspace updates, and pass them to the store.\n\t\t * **NOTE**: You may notice that the signature of this callback is different from the previous ones. In this case we receive a `response`, instead of `workspaces` or `activeWorkspace`. This is because this callback is for a `RouterClient` message. The functions above are callbacks to `WorkspaceClient` API calls.\n\t\t */\n\t\tFSBL.Clients.RouterClient.subscribe(\n\t\t\t\"Finsemble.WorkspaceService.update\",\n\t\t\t(err: StandardError, response: UpdateResponseType) => {\n\t\t\t\tif (response.data && response.data.activeWorkspace) {\n\t\t\t\t\tUserPreferencesStore.setValue({\n\t\t\t\t\t\tfield: \"activeWorkspace\",\n\t\t\t\t\t\tvalue: response.data.activeWorkspace,\n\t\t\t\t\t});\n\n\t\t\t\t\tif (updateConstants) {\n\t\t\t\t\t\tswitch (response.data.reason) {\n\t\t\t\t\t\t\tcase updateConstants.GET_ACTIVE_WORKSPACE:\n\t\t\t\t\t\t\tcase updateConstants.NEW_WORKSPACE:\n\t\t\t\t\t\t\tcase updateConstants.IMPORT:\n\t\t\t\t\t\t\tcase updateConstants.SAVE:\n\t\t\t\t\t\t\tcase updateConstants.SAVE_AS:\n\t\t\t\t\t\t\tcase updateConstants.REMOVE:\n\t\t\t\t\t\t\tcase updateConstants.SWITCH_TO:\n\t\t\t\t\t\t\tcase updateConstants.SET_WORKSPACE_ORDER:\n\t\t\t\t\t\t\tcase updateConstants.ADD_WINDOW:\n\t\t\t\t\t\t\tcase updateConstants.REMOVE_WINDOW:\n\t\t\t\t\t\t\tcase updateConstants.RENAME:\n\t\t\t\t\t\t\t\tActions.getWorkspaces();\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t},\n\tgetWorkspaces(cb = Function.prototype) {\n\t\t// Gets the workspace list and sets the value in the store.\n\t\tFSBL.Clients.WorkspaceClient.getWorkspaces((err: StandardError, workspaces: WorkspaceType[]) => {\n\t\t\tUserPreferencesStore.setValue({\n\t\t\t\tfield: \"WorkspaceList\",\n\t\t\t\tvalue: workspaces,\n\t\t\t});\n\t\t\tcb();\n\t\t});\n\t},\n\t/**\n\t * By making the value of `finsemble.scheduledRestart` falsy, the application will remove any existing restart timers.\n\t * @deprecated use `setScheduledRestart(false)` instead.\n\t */\n\tdisableScheduledRestart: () => {\n\t\tFSBL.Clients.ConfigClient.setPreference({\n\t\t\tfield: \"finsemble.scheduledRestart\",\n\t\t\tvalue: false,\n\t\t});\n\n\t\tFSBL.Clients.ConfigClient.setPreference({\n\t\t\tfield: \"finsemble.scheduledCloseDiscardUnsavedChanges\",\n\t\t\tvalue: false,\n\t\t});\n\t},\n\t/**\n\t * Finsemble listens for this piece of config. When it changes, it will schedule a daily restart at that time.\n\t * By making the value of `finsemble.scheduledRestart` falsy, the application will remove any existing restart timers.\n\t * @deprecated use setScheduledClose\n\t */\n\tsetScheduledRestart: (val: ScheduledDayTimeObjectType | false) => {\n\t\tFSBL.Clients.ConfigClient.setPreference({\n\t\t\tfield: \"finsemble.scheduledRestart\",\n\t\t\tvalue: val,\n\t\t});\n\t},\n\n\t/**\n\t * Finsemble listens the config set by this function. When it changes, it will schedule a daily restart/shutdown at\n\t * that time. By making the value falsy, the application will remove any existing restart/shutdown timers.\n\t *\n\t */\n\tsetScheduledClose: (\n\t\tkey: \"finsemble.scheduledRestart\" | \"finsemble.scheduledShutdown\",\n\t\tvalue: ScheduledDayTimeObjectType | false\n\t) => {\n\t\tFSBL.Clients.ConfigClient.setPreference({\n\t\t\tfield: key,\n\t\t\tvalue: value,\n\t\t});\n\t},\n\n\tsetDiscardUnsavedChangesPreference: (value: boolean) => {\n\t\tFSBL.Clients.ConfigClient.setPreference({\n\t\t\tfield: \"finsemble.scheduledCloseDiscardUnsavedChanges\",\n\t\t\tvalue: value,\n\t\t});\n\t},\n\n\tgetPreferences: (callback: StandardCallback) => {\n\t\tFSBL.Clients.ConfigClient.getPreferences(callback);\n\t},\n};\n\nasync function createLocalStore(done: () => void) {\n\t// While the order of these two functions is unimportant, they cannot be done in series as we don't want\n\t// to call the callback until both stores have been initiated. This keeps the initialization function\n\t// executing until both stores either have values, or fail to initialize.\n\tFSBL.Clients.DistributedStoreClient.createStore(\n\t\t{ store: \"Finsemble-UserPreferences-Local-Store\" },\n\t\t(preferencesErr: StandardError, preferencesStore: StoreModel | undefined) => {\n\t\t\tif (preferencesErr) {\n\t\t\t\tFSBL.Clients.Logger.system.error(\"Error fetching user preferences data: \", preferencesErr);\n\t\t\t}\n\t\t\tif (preferencesStore) {\n\t\t\t\tUserPreferencesStore = preferencesStore;\n\t\t\t}\n\t\t\tdone();\n\t\t}\n\t);\n}\n\n/**\n * Initializes the store for the User Preferences Menu.\n */\nfunction initialize(WorkspaceMngMenuStore: StoreModel, cb: (store: StoreModel) => void) {\n\tWorkspaceManagementMenuStore = WorkspaceMngMenuStore;\n\tcreateLocalStore(() => {\n\t\tActions.initialize();\n\t\tcb(UserPreferencesStore);\n\t});\n}\n\nexport { WorkspaceManagementMenuStore, initialize, UserPreferencesStore, Actions };\n"]}
@@ -1,12 +1,26 @@
1
1
  import React from "react";
2
- import { shallow } from "enzyme";
2
+ import { mount, shallow } from "enzyme";
3
3
  import { describe, it } from "mocha";
4
4
  import { expect } from "chai";
5
5
  import LeftNav from "../components/LeftNav";
6
+ import { waitTick } from "../../sdd/sdd_helpers";
6
7
  describe("<LeftNav/>", () => {
7
8
  it("should render the same number of ButtonRows as entries", () => {
8
9
  const wrapper = shallow(React.createElement(LeftNav, { activeSection: "General", entries: ["General", "Workspaces", "Dashbar", "Notifications"], getValue: () => { }, setValue: () => { }, setActiveEntry: () => { } }));
9
10
  expect(wrapper.find("ButtonRow")).to.have.lengthOf(4);
10
11
  });
12
+ it("should update active section when click on a section", () => {
13
+ const wrapper = mount(React.createElement(LeftNav, { activeSection: "General", entries: ["General", "Workspaces", "Dashbar", "Notifications"], getValue: () => { }, setValue: () => { }, setActiveEntry: () => { } }));
14
+ const activeSectionProp = wrapper.prop("activeSection");
15
+ expect(activeSectionProp).to.be.string("General");
16
+ const activeSectionState = wrapper.state("activeSection");
17
+ expect(activeSectionState).to.be.string("General");
18
+ wrapper.find("ButtonRow").forEach(async (button) => {
19
+ button.simulate("click");
20
+ await waitTick();
21
+ wrapper.update();
22
+ expect(wrapper.state("activeSection")).to.be.string(button.text());
23
+ });
24
+ });
11
25
  });
12
26
  //# sourceMappingURL=LeftNav.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LeftNav.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/LeftNav.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QACjE,MAAM,OAAO,GAAG,OAAO,CACtB,oBAAC,OAAO,IACP,aAAa,EAAE,SAAS,EACxB,OAAO,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC,EAC9D,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAClB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAClB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC,GACvB,CACF,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport { shallow } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport LeftNav from \"../components/LeftNav\";\n\ndescribe(\"<LeftNav/>\", () => {\n\tit(\"should render the same number of ButtonRows as entries\", () => {\n\t\tconst wrapper = shallow(\n\t\t\t<LeftNav\n\t\t\t\tactiveSection={\"General\"}\n\t\t\t\tentries={[\"General\", \"Workspaces\", \"Dashbar\", \"Notifications\"]}\n\t\t\t\tgetValue={() => {}}\n\t\t\t\tsetValue={() => {}}\n\t\t\t\tsetActiveEntry={() => {}}\n\t\t\t/>\n\t\t);\n\t\texpect(wrapper.find(\"ButtonRow\")).to.have.lengthOf(4);\n\t});\n});\n"]}
1
+ {"version":3,"file":"LeftNav.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/LeftNav.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QACjE,MAAM,OAAO,GAAG,OAAO,CACtB,oBAAC,OAAO,IACP,aAAa,EAAE,SAAS,EACxB,OAAO,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC,EAC9D,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAClB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAClB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC,GACvB,CACF,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC/D,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,OAAO,IACP,aAAa,EAAE,SAAS,EACxB,OAAO,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC,EAC9D,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAClB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAClB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC,GACvB,CACF,CAAC;QAEF,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAElD,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEnD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAClD,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzB,MAAM,QAAQ,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport { mount, shallow } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport LeftNav from \"../components/LeftNav\";\nimport { waitTick } from \"../../sdd/sdd_helpers\";\n\ndescribe(\"<LeftNav/>\", () => {\n\tit(\"should render the same number of ButtonRows as entries\", () => {\n\t\tconst wrapper = shallow(\n\t\t\t<LeftNav\n\t\t\t\tactiveSection={\"General\"}\n\t\t\t\tentries={[\"General\", \"Workspaces\", \"Dashbar\", \"Notifications\"]}\n\t\t\t\tgetValue={() => {}}\n\t\t\t\tsetValue={() => {}}\n\t\t\t\tsetActiveEntry={() => {}}\n\t\t\t/>\n\t\t);\n\t\texpect(wrapper.find(\"ButtonRow\")).to.have.lengthOf(4);\n\t});\n\n\tit(\"should update active section when click on a section\", () => {\n\t\tconst wrapper = mount(\n\t\t\t<LeftNav\n\t\t\t\tactiveSection={\"General\"}\n\t\t\t\tentries={[\"General\", \"Workspaces\", \"Dashbar\", \"Notifications\"]}\n\t\t\t\tgetValue={() => {}}\n\t\t\t\tsetValue={() => {}}\n\t\t\t\tsetActiveEntry={() => {}}\n\t\t\t/>\n\t\t);\n\n\t\tconst activeSectionProp = wrapper.prop(\"activeSection\");\n\t\texpect(activeSectionProp).to.be.string(\"General\");\n\n\t\tconst activeSectionState = wrapper.state(\"activeSection\");\n\t\texpect(activeSectionState).to.be.string(\"General\");\n\n\t\twrapper.find(\"ButtonRow\").forEach(async (button) => {\n\t\t\tbutton.simulate(\"click\");\n\t\t\tawait waitTick();\n\t\t\twrapper.update();\n\t\t\texpect(wrapper.state(\"activeSection\")).to.be.string(button.text());\n\t\t});\n\t});\n});\n"]}
@@ -7,6 +7,7 @@ import { initFSBL } from "../../common/helpers";
7
7
  describe("<NotificationPreferencesHome/>", () => {
8
8
  initFSBL(window);
9
9
  beforeEach(() => {
10
+ // Ensures Checkboxes are resetted to default check status
10
11
  const wrapper = mount(React.createElement(NotificationsPreferencesHome, null));
11
12
  if (!wrapper.find("Checkbox").at(0).props().checked) {
12
13
  wrapper.find("Checkbox").at(0).simulate("click");
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsPreferencesHome.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/NotificationsPreferencesHome.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport NotificationsPreferencesHome from \"./../components/content/notificationViews/NotificationsPreferencesHome\";\nimport { initFSBL } from \"../../common/helpers\";\n\ndescribe(\"<NotificationPreferencesHome/>\", () => {\n\tinitFSBL(window);\n\tbeforeEach(() => {\n\t\t// Ensures Checkboxes are resetted to default check status\n\t\tconst wrapper = mount(<NotificationsPreferencesHome />);\n\t\tif (!wrapper.find(\"Checkbox\").at(0).props().checked) {\n\t\t\twrapper.find(\"Checkbox\").at(0).simulate(\"click\");\n\t\t}\n\t\tif (wrapper.find(\"Checkbox\").at(1).props().checked) {\n\t\t\twrapper.find(\"Checkbox\").at(1).simulate(\"click\");\n\t\t}\n\t\tif (wrapper.find(\"Checkbox\").at(2).props().checked) {\n\t\t\twrapper.find(\"Checkbox\").at(1).simulate(\"click\");\n\t\t}\n\t});\n\tit(\"should render 1 ButtonRow for Notification Sources\", () => {\n\t\tconst wrapper = mount(<NotificationsPreferencesHome />);\n\t\texpect(wrapper.find(\"ButtonRow\")).to.have.lengthOf(1);\n\t});\n\n\tit(\"should render 3 Checkboxes\", () => {\n\t\tconst wrapper = mount(<NotificationsPreferencesHome />);\n\t\texpect(wrapper.find(\"Checkbox\")).to.have.lengthOf(3);\n\t});\n\n\tit(\"should render 3 DefualtDropdownButtons\", () => {\n\t\tconst wrapper = mount(<NotificationsPreferencesHome />);\n\t\texpect(wrapper.find(\"DefaultDropdownButton\")).to.have.lengthOf(3);\n\t});\n\n\tit(\"should disable the second Checkbox if the first one is unchecked\", () => {\n\t\tconst wrapper = mount(<NotificationsPreferencesHome />);\n\t\twrapper.find(\"Checkbox\").at(0).simulate(\"click\");\n\t\texpect(wrapper.find(\"Checkbox\").at(1).props().disabled).to.be.true;\n\t});\n});\n"]}
1
+ {"version":3,"file":"NotificationsPreferencesHome.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/NotificationsPreferencesHome.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport NotificationsPreferencesHome from \"./../components/content/notificationViews/NotificationsPreferencesHome\";\nimport { initFSBL } from \"../../common/helpers\";\n\ndescribe(\"<NotificationPreferencesHome/>\", () => {\n\tinitFSBL(window);\n\tbeforeEach(() => {\n\t\t// Ensures Checkboxes are resetted to default check status\n\t\tconst wrapper = mount(<NotificationsPreferencesHome />);\n\t\tif (!wrapper.find(\"Checkbox\").at(0).props().checked) {\n\t\t\twrapper.find(\"Checkbox\").at(0).simulate(\"click\");\n\t\t}\n\t\tif (wrapper.find(\"Checkbox\").at(1).props().checked) {\n\t\t\twrapper.find(\"Checkbox\").at(1).simulate(\"click\");\n\t\t}\n\t\tif (wrapper.find(\"Checkbox\").at(2).props().checked) {\n\t\t\twrapper.find(\"Checkbox\").at(1).simulate(\"click\");\n\t\t}\n\t});\n\tit(\"should render 1 ButtonRow for Notification Sources\", () => {\n\t\tconst wrapper = mount(<NotificationsPreferencesHome />);\n\t\texpect(wrapper.find(\"ButtonRow\")).to.have.lengthOf(1);\n\t});\n\n\tit(\"should render 3 Checkboxes\", () => {\n\t\tconst wrapper = mount(<NotificationsPreferencesHome />);\n\t\texpect(wrapper.find(\"Checkbox\")).to.have.lengthOf(3);\n\t});\n\n\tit(\"should render 3 DefualtDropdownButtons\", () => {\n\t\tconst wrapper = mount(<NotificationsPreferencesHome />);\n\t\texpect(wrapper.find(\"DefaultDropdownButton\")).to.have.lengthOf(3);\n\t});\n\n\tit(\"should disable the second Checkbox if the first one is unchecked\", () => {\n\t\tconst wrapper = mount(<NotificationsPreferencesHome />);\n\t\twrapper.find(\"Checkbox\").at(0).simulate(\"click\");\n\t\texpect(wrapper.find(\"Checkbox\").at(1).props().disabled).to.be.true;\n\t});\n});\n"]}
@@ -0,0 +1,42 @@
1
+ import React from "react";
2
+ import { mount, shallow } from "enzyme";
3
+ import { describe, it } from "mocha";
4
+ import { expect } from "chai";
5
+ import { UserPreferencesBase } from "../UserPreferencesBase";
6
+ import General from "./../components/content/General";
7
+ import DashbarEditor from "./../components/content/DashbarEditor";
8
+ import Workspaces from "./../components/content/Workspaces";
9
+ import Notifications from "./../components/content/Notifications";
10
+ import { waitTick } from "../../sdd/sdd_helpers";
11
+ describe("<UserPreferencesBase/>", () => {
12
+ let sections = {};
13
+ before(() => {
14
+ sections = {
15
+ General: General,
16
+ Workspaces: Workspaces,
17
+ Dashbar: DashbarEditor,
18
+ Notifications: Notifications,
19
+ };
20
+ });
21
+ it("should render UserPreferencesBase component", () => {
22
+ const wrapper = shallow(React.createElement(UserPreferencesBase, { sections: sections }));
23
+ expect(wrapper.find("LeftNav")).to.exist;
24
+ expect(wrapper.find("ContentSection")).to.exist;
25
+ });
26
+ it("Should update LeftNav and ContentSection when new section is clicked", async () => {
27
+ const wrapper = mount(React.createElement(UserPreferencesBase, { sections: sections, addListener: () => { }, removeListener: () => { }, getValue: () => { }, setValue: () => { } }));
28
+ expect(wrapper.find("LeftNav")).to.exist;
29
+ expect(wrapper.find("ContentSection")).to.exist;
30
+ expect(wrapper.find("LeftNav").prop("activeSection")).to.be.string("General");
31
+ expect(wrapper.find("ContentSection").prop("activeSection")).to.be.string("General");
32
+ wrapper.find("ButtonRow").at(1).simulate("click");
33
+ await waitTick();
34
+ expect(wrapper.find("LeftNav").prop("activeSection")).to.be.string("Workspaces");
35
+ expect(wrapper.find("ContentSection").prop("activeSection")).to.be.string("Workspaces");
36
+ wrapper.find("ButtonRow").at(2).simulate("click");
37
+ await waitTick();
38
+ expect(wrapper.find("LeftNav").prop("activeSection")).to.be.string("Dashbar");
39
+ expect(wrapper.find("ContentSection").prop("activeSection")).to.be.string("Dashbar");
40
+ });
41
+ });
42
+ //# sourceMappingURL=UserPreferencesBase.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserPreferencesBase.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/UserPreferencesBase.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { mount, shallow } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport { UserPreferencesBase } from \"../UserPreferencesBase\";\n\nimport General from \"./../components/content/General\";\nimport DashbarEditor from \"./../components/content/DashbarEditor\";\nimport Workspaces from \"./../components/content/Workspaces\";\nimport Notifications from \"./../components/content/Notifications\";\nimport { waitTick } from \"../../sdd/sdd_helpers\";\n\ndescribe(\"<UserPreferencesBase/>\", () => {\n\tlet sections = {};\n\tbefore(() => {\n\t\tsections = {\n\t\t\tGeneral: General,\n\t\t\tWorkspaces: Workspaces,\n\t\t\tDashbar: DashbarEditor,\n\t\t\tNotifications: Notifications,\n\t\t};\n\t});\n\n\tit(\"should render UserPreferencesBase component\", () => {\n\t\tconst wrapper = shallow(<UserPreferencesBase sections={sections} />);\n\t\texpect(wrapper.find(\"LeftNav\")).to.exist;\n\t\texpect(wrapper.find(\"ContentSection\")).to.exist;\n\t});\n\n\tit(\"Should update LeftNav and ContentSection when new section is clicked\", async () => {\n\t\tconst wrapper = mount(\n\t\t\t<UserPreferencesBase\n\t\t\t\tsections={sections}\n\t\t\t\taddListener={() => {}}\n\t\t\t\tremoveListener={() => {}}\n\t\t\t\tgetValue={() => {}}\n\t\t\t\tsetValue={() => {}}\n\t\t\t/>\n\t\t);\n\n\t\texpect(wrapper.find(\"LeftNav\")).to.exist;\n\t\texpect(wrapper.find(\"ContentSection\")).to.exist;\n\n\t\texpect(wrapper.find(\"LeftNav\").prop(\"activeSection\")).to.be.string(\"General\");\n\t\texpect(wrapper.find(\"ContentSection\").prop(\"activeSection\")).to.be.string(\"General\");\n\n\t\twrapper.find(\"ButtonRow\").at(1).simulate(\"click\");\n\t\tawait waitTick();\n\t\texpect(wrapper.find(\"LeftNav\").prop(\"activeSection\")).to.be.string(\"Workspaces\");\n\t\texpect(wrapper.find(\"ContentSection\").prop(\"activeSection\")).to.be.string(\"Workspaces\");\n\n\t\twrapper.find(\"ButtonRow\").at(2).simulate(\"click\");\n\t\tawait waitTick();\n\t\texpect(wrapper.find(\"LeftNav\").prop(\"activeSection\")).to.be.string(\"Dashbar\");\n\t\texpect(wrapper.find(\"ContentSection\").prop(\"activeSection\")).to.be.string(\"Dashbar\");\n\t});\n});\n"]}
@@ -0,0 +1,139 @@
1
+ import * as React from "react";
2
+ import { mount, shallow } from "enzyme";
3
+ import { describe, it } from "mocha";
4
+ import { expect } from "chai";
5
+ import Workspaces from "../components/content/Workspaces";
6
+ import { initFSBL } from "../../common/helpers";
7
+ const workspaces = [
8
+ {
9
+ version: "1.0.0",
10
+ name: "Default Workspace",
11
+ type: "workspace",
12
+ groups: {},
13
+ windows: ["Tour-0580db91-7f2d-4583-a003-d079e74b8fb6"],
14
+ },
15
+ {
16
+ version: "1.0.0",
17
+ name: "auto_emptyWorkspace",
18
+ windows: [],
19
+ type: "workspace",
20
+ groups: {},
21
+ },
22
+ {
23
+ version: "1.0.0",
24
+ name: "auto_afterFeature",
25
+ windows: [],
26
+ type: "workspace",
27
+ groups: {},
28
+ },
29
+ {
30
+ version: "1.0.0",
31
+ name: "PRF03",
32
+ windows: ["2"],
33
+ type: "workspace",
34
+ groups: {},
35
+ },
36
+ {
37
+ version: "1.0.0",
38
+ name: "RenameTest",
39
+ windows: ["2"],
40
+ type: "workspace",
41
+ groups: {},
42
+ },
43
+ {
44
+ version: "1.0.0",
45
+ name: "RenameTest (1)",
46
+ windows: ["2"],
47
+ type: "workspace",
48
+ groups: {},
49
+ },
50
+ ];
51
+ describe("<Workspace/>", () => {
52
+ initFSBL(window);
53
+ it("should render the workspaces components", async () => {
54
+ const wrapper = shallow(React.createElement(Workspaces, { addListener: () => { }, removeListener: () => { }, getValue: () => { } }));
55
+ expect(wrapper.find("WorkspaceItemList")).to.be.length(1);
56
+ expect(wrapper.find("WorkspaceButton")).to.be.length(2);
57
+ expect(wrapper.find("Checkbox")).to.be.length(3);
58
+ expect(wrapper.find("WorkspaceItem")).to.be.length(0);
59
+ });
60
+ it("should display the workspace items", async () => {
61
+ const wrapper = mount(React.createElement(Workspaces, { addListener: () => { }, removeListener: () => { }, getValue: () => { } }));
62
+ expect(wrapper.find("WorkspaceItem")).to.be.length(0);
63
+ // add some workspaces
64
+ wrapper.setState({ workspaceList: workspaces });
65
+ expect(wrapper.find("WorkspaceItem")).to.be.length(6);
66
+ });
67
+ it("should not rename active workspace", () => {
68
+ // Stub the active workspace name
69
+ FSBL.Clients.WorkspaceClient.activeWorkspace = {
70
+ name: "auto_afterFeature",
71
+ };
72
+ const wrapper = mount(React.createElement(Workspaces, { addListener: () => { }, removeListener: () => { }, getValue: () => { } }));
73
+ // add some workspaces
74
+ wrapper.setState({ workspaceList: workspaces });
75
+ expect(wrapper.find("WorkspaceItem")).to.be.length(6);
76
+ // check that we have one active workspace
77
+ const activeWorkspaceNode = wrapper.find(".active-workspace").hostNodes();
78
+ expect(activeWorkspaceNode).to.be.length(1);
79
+ // check that we have the correct active workspace name
80
+ expect(activeWorkspaceNode.find(".workspace-name").text()).to.be.string("auto_afterFeature");
81
+ // no edit or trash icons
82
+ expect(activeWorkspaceNode.find(".ff-adp-edit")).to.be.length(0);
83
+ expect(activeWorkspaceNode.find(".ff-adp-trash-outline")).to.be.length(0);
84
+ });
85
+ it("should cancel workspace rename when ESC key is pressed", () => {
86
+ const wrapper = mount(React.createElement(Workspaces, { addListener: () => { }, removeListener: () => { }, getValue: () => { } }));
87
+ // add some workspaces
88
+ wrapper.setState({ workspaceList: workspaces, focusedWorkspace: "PRF03" });
89
+ expect(wrapper.find("WorkspaceItem")).to.be.length(6);
90
+ // get PRF03 Workspace
91
+ const perf03Node = wrapper.find("WorkspaceItem").at(3);
92
+ expect(perf03Node.find(".workspace-name").text()).to.be.string("PRF03");
93
+ // expect to find one edit icon
94
+ const editIconNode = perf03Node.find(".ff-adp-edit");
95
+ expect(editIconNode).to.be.length(1);
96
+ // click the edit button
97
+ perf03Node.find(".individual-workspace-action").at(0).simulate("click");
98
+ expect(wrapper.find(".workspace-item-editing")).to.be.length(1);
99
+ // assert the input is showing
100
+ const inputNode = wrapper.find("input.workspace-editor");
101
+ expect(inputNode).to.be.length(1);
102
+ // add some text to the input and assert
103
+ inputNode.simulate("change", { target: { value: "Renaming Workspace" } });
104
+ expect(inputNode.getDOMNode().value).to.be.string("Renaming Workspace");
105
+ // press ESC key and assert original value remains unaltered
106
+ inputNode.simulate("keydown", { key: "Escape" });
107
+ expect(wrapper.find(".workspace-item-editing")).to.be.length(0);
108
+ expect(perf03Node.find(".workspace-name").text()).to.be.string("PRF03");
109
+ });
110
+ it("should rename workspace when ENTER key is pressed in the rename prompt", async () => {
111
+ const wrapper = mount(React.createElement(Workspaces, { addListener: () => { }, removeListener: () => { }, getValue: () => { } }));
112
+ // add some workspaces
113
+ wrapper.setState({
114
+ workspaceList: workspaces,
115
+ focusedWorkspace: "PRF03",
116
+ });
117
+ expect(wrapper.find("WorkspaceItem")).to.be.length(6);
118
+ // get PRF03 Workspace
119
+ const perf03Node = wrapper.find("WorkspaceItem").at(3);
120
+ expect(perf03Node.find(".workspace-name").text()).to.be.string("PRF03");
121
+ // expect to find one edit icon
122
+ const editIconNode = perf03Node.find(".ff-adp-edit");
123
+ expect(editIconNode).to.be.length(1);
124
+ // click the edit button
125
+ perf03Node.find(".individual-workspace-action").at(0).simulate("click");
126
+ expect(wrapper.find(".workspace-item-editing")).to.be.length(1);
127
+ // assert the input is showing
128
+ const inputNode = wrapper.find("input.workspace-editor");
129
+ expect(inputNode).to.be.length(1);
130
+ // add some text to the input and assert
131
+ inputNode.simulate("change", { target: { value: "Renamed Workspace" } });
132
+ expect(inputNode.getDOMNode().value).to.be.string("Renamed Workspace");
133
+ // press Enter key and assert original value remains unaltered
134
+ inputNode.simulate("keydown", { key: "Enter" });
135
+ expect(wrapper.find(".workspace-item-editing")).to.be.length(0);
136
+ expect(wrapper.find("WorkspaceItem").at(3).find(".workspace-name").text()).to.be.string("Renamed Workspace");
137
+ });
138
+ });
139
+ //# sourceMappingURL=Workspace.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Workspace.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/Workspace.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount, shallow } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport Workspaces from \"../components/content/Workspaces\";\nimport { initFSBL } from \"../../common/helpers\";\nimport sinon from \"sinon\";\nimport { waitTick } from \"../../sdd/sdd_helpers\";\n\nconst workspaces = [\n\t{\n\t\tversion: \"1.0.0\",\n\t\tname: \"Default Workspace\",\n\t\ttype: \"workspace\",\n\t\tgroups: {},\n\t\twindows: [\"Tour-0580db91-7f2d-4583-a003-d079e74b8fb6\"],\n\t},\n\t{\n\t\tversion: \"1.0.0\",\n\t\tname: \"auto_emptyWorkspace\",\n\t\twindows: [],\n\t\ttype: \"workspace\",\n\t\tgroups: {},\n\t},\n\t{\n\t\tversion: \"1.0.0\",\n\t\tname: \"auto_afterFeature\",\n\t\twindows: [],\n\t\ttype: \"workspace\",\n\t\tgroups: {},\n\t},\n\t{\n\t\tversion: \"1.0.0\",\n\t\tname: \"PRF03\",\n\t\twindows: [\"2\"],\n\t\ttype: \"workspace\",\n\t\tgroups: {},\n\t},\n\t{\n\t\tversion: \"1.0.0\",\n\t\tname: \"RenameTest\",\n\t\twindows: [\"2\"],\n\t\ttype: \"workspace\",\n\t\tgroups: {},\n\t},\n\t{\n\t\tversion: \"1.0.0\",\n\t\tname: \"RenameTest (1)\",\n\t\twindows: [\"2\"],\n\t\ttype: \"workspace\",\n\t\tgroups: {},\n\t},\n];\n\ndescribe(\"<Workspace/>\", () => {\n\tinitFSBL(window);\n\n\tit(\"should render the workspaces components\", async () => {\n\t\tconst wrapper = shallow(<Workspaces addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\texpect(wrapper.find(\"WorkspaceItemList\")).to.be.length(1);\n\t\texpect(wrapper.find(\"WorkspaceButton\")).to.be.length(2);\n\t\texpect(wrapper.find(\"Checkbox\")).to.be.length(3);\n\t\texpect(wrapper.find(\"WorkspaceItem\")).to.be.length(0);\n\t});\n\n\tit(\"should display the workspace items\", async () => {\n\t\tconst wrapper = mount(<Workspaces addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\texpect(wrapper.find(\"WorkspaceItem\")).to.be.length(0);\n\t\t// add some workspaces\n\t\twrapper.setState({ workspaceList: workspaces });\n\t\texpect(wrapper.find(\"WorkspaceItem\")).to.be.length(6);\n\t});\n\n\tit(\"should not rename active workspace\", () => {\n\t\t// Stub the active workspace name\n\t\t(FSBL.Clients.WorkspaceClient as any).activeWorkspace = {\n\t\t\tname: \"auto_afterFeature\",\n\t\t};\n\n\t\tconst wrapper = mount(<Workspaces addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\t// add some workspaces\n\t\twrapper.setState({ workspaceList: workspaces });\n\t\texpect(wrapper.find(\"WorkspaceItem\")).to.be.length(6);\n\n\t\t// check that we have one active workspace\n\t\tconst activeWorkspaceNode = wrapper.find(\".active-workspace\").hostNodes();\n\t\texpect(activeWorkspaceNode).to.be.length(1);\n\t\t// check that we have the correct active workspace name\n\t\texpect(activeWorkspaceNode.find(\".workspace-name\").text()).to.be.string(\"auto_afterFeature\");\n\t\t// no edit or trash icons\n\t\texpect(activeWorkspaceNode.find(\".ff-adp-edit\")).to.be.length(0);\n\t\texpect(activeWorkspaceNode.find(\".ff-adp-trash-outline\")).to.be.length(0);\n\t});\n\n\tit(\"should cancel workspace rename when ESC key is pressed\", () => {\n\t\tconst wrapper = mount(<Workspaces addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\t// add some workspaces\n\t\twrapper.setState({ workspaceList: workspaces, focusedWorkspace: \"PRF03\" });\n\t\texpect(wrapper.find(\"WorkspaceItem\")).to.be.length(6);\n\n\t\t// get PRF03 Workspace\n\t\tconst perf03Node = wrapper.find(\"WorkspaceItem\").at(3);\n\t\texpect(perf03Node.find(\".workspace-name\").text()).to.be.string(\"PRF03\");\n\t\t// expect to find one edit icon\n\t\tconst editIconNode = perf03Node.find(\".ff-adp-edit\");\n\t\texpect(editIconNode).to.be.length(1);\n\n\t\t// click the edit button\n\t\tperf03Node.find(\".individual-workspace-action\").at(0).simulate(\"click\");\n\t\texpect(wrapper.find(\".workspace-item-editing\")).to.be.length(1);\n\n\t\t// assert the input is showing\n\t\tconst inputNode = wrapper.find(\"input.workspace-editor\");\n\t\texpect(inputNode).to.be.length(1);\n\n\t\t// add some text to the input and assert\n\t\tinputNode.simulate(\"change\", { target: { value: \"Renaming Workspace\" } });\n\t\texpect((inputNode.getDOMNode() as HTMLInputElement).value).to.be.string(\"Renaming Workspace\");\n\n\t\t// press ESC key and assert original value remains unaltered\n\t\tinputNode.simulate(\"keydown\", { key: \"Escape\" });\n\t\texpect(wrapper.find(\".workspace-item-editing\")).to.be.length(0);\n\t\texpect(perf03Node.find(\".workspace-name\").text()).to.be.string(\"PRF03\");\n\t});\n\n\tit(\"should rename workspace when ENTER key is pressed in the rename prompt\", async () => {\n\t\tconst wrapper = mount(<Workspaces addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\t// add some workspaces\n\t\twrapper.setState({\n\t\t\tworkspaceList: workspaces,\n\t\t\tfocusedWorkspace: \"PRF03\",\n\t\t});\n\t\texpect(wrapper.find(\"WorkspaceItem\")).to.be.length(6);\n\n\t\t// get PRF03 Workspace\n\t\tconst perf03Node = wrapper.find(\"WorkspaceItem\").at(3);\n\t\texpect(perf03Node.find(\".workspace-name\").text()).to.be.string(\"PRF03\");\n\t\t// expect to find one edit icon\n\t\tconst editIconNode = perf03Node.find(\".ff-adp-edit\");\n\t\texpect(editIconNode).to.be.length(1);\n\n\t\t// click the edit button\n\t\tperf03Node.find(\".individual-workspace-action\").at(0).simulate(\"click\");\n\t\texpect(wrapper.find(\".workspace-item-editing\")).to.be.length(1);\n\n\t\t// assert the input is showing\n\t\tconst inputNode = wrapper.find(\"input.workspace-editor\");\n\t\texpect(inputNode).to.be.length(1);\n\n\t\t// add some text to the input and assert\n\t\tinputNode.simulate(\"change\", { target: { value: \"Renamed Workspace\" } });\n\t\texpect((inputNode.getDOMNode() as HTMLInputElement).value).to.be.string(\"Renamed Workspace\");\n\n\t\t// press Enter key and assert original value remains unaltered\n\t\tinputNode.simulate(\"keydown\", { key: \"Enter\" });\n\t\texpect(wrapper.find(\".workspace-item-editing\")).to.be.length(0);\n\t\texpect(wrapper.find(\"WorkspaceItem\").at(3).find(\".workspace-name\").text()).to.be.string(\"Renamed Workspace\");\n\t});\n});\n"]}
@@ -1,9 +1,18 @@
1
+ /*!
2
+ * Copyright 2017 by ChartIQ, Inc.
3
+ * All rights reserved.
4
+ */
1
5
  import * as React from "react";
2
- import "../../assets/css/finsemble.css";
3
6
  import "../../assets/css/windowTitleBar.css";
4
7
  import { StandardError } from "@finsemble/finsemble-api/types/types";
5
8
  import StoreModel from "@finsemble/finsemble-api/types/clients/StoreModel";
6
9
  import { TabProperties } from "../../types/windowTitleBar";
10
+ declare type BumpElements = {
11
+ bumpBy: string;
12
+ fixed: string;
13
+ absolute: string;
14
+ monitorFixedAdditions: boolean;
15
+ };
7
16
  interface WindowTitleBarShellProps {
8
17
  }
9
18
  interface WindowTitleBarShellState {
@@ -29,31 +38,86 @@ interface WindowTitleBarShellState {
29
38
  tabBarBoundingBox: any;
30
39
  useDOMBasedMovement: boolean;
31
40
  dragHandleName: string;
41
+ bumpElements: BumpElements;
42
+ adjustContentHeights: boolean;
32
43
  }
33
44
  export declare class WindowTitleBarShell extends React.Component<WindowTitleBarShellProps, WindowTitleBarShellState> {
34
45
  store?: StoreModel;
46
+ isMousePressed: boolean;
35
47
  constructor(props: WindowTitleBarShellProps);
36
48
  alwaysOnTopListener({ data: { alwaysOnTop } }: any): void;
49
+ /**
50
+ * This is necessary to make sure that the `this` inside of the callback is correct.
51
+ *
52
+ * @memberof WindowTitleBar
53
+ */
37
54
  bindCorrectContext(): void;
38
- onInitialized(store: StoreModel): void;
55
+ onInitialized(): void;
39
56
  onStoreChange(): void;
40
57
  componentDidMount(): void;
41
58
  componentDidUpdate(): void;
42
59
  componentWillUnmount(): void;
43
60
  setDOMBasedMovement(err: StandardError, response: any): void;
61
+ /**
62
+ * When we are not tiling/tabbing, we want to allow the user to drag the window around via any available space in the tab-region. This function allows that.
63
+ */
44
64
  allowDragOnCenterRegion(): void;
65
+ /**
66
+ * When we are tiling/tabbing, we do not want to allow any window to be dragged around and moved.
67
+ */
45
68
  disallowDragOnCenterRegion(): void;
69
+ /**
70
+ * When tiling start, we want to find the dragHandler and hide it
71
+ */
46
72
  onTilingStart(): void;
73
+ /**
74
+ * When tiling stops, we want to find the dragHandler and re-show it
75
+ */
47
76
  onTilingStop(): void;
77
+ /**
78
+ * Called whenever a tab is dropped on a non tab area.
79
+ * It won't be called when dropped on a tab that handles handle the event.
80
+ */
48
81
  onDropHandler(): void;
82
+ /**
83
+ * Called when user double clicks on drag handle
84
+ */
49
85
  onDoubleClick(): void;
50
86
  _setOnMouseUpAndDownHandlers(element: HTMLDivElement): void;
51
87
  makeDragHandle(fsblHeader: Element, dragHandleCssClass: string): HTMLElement;
52
88
  dragHandleBoundsForShowTabs(startingBounds: DOMRect): DOMRect;
89
+ /**
90
+ * The dragger is an absolutely positioned element that is superimposed on the actual area that we'd like to drag.
91
+ * This is necessary due to a bug in Chromium. Effectively, we need the dragger to change its left position and width
92
+ * to match the intended drag area. These dimensions can change whenever the header is re-rendered (for instance when
93
+ * changing mode from tabbing to non-tabbing). Dimensions can also change when the window itself is resized (due to natural
94
+ * css).
95
+ *
96
+ * Can remove all of the cq-drag and cq-no-drag because Chromium bug is fixed
97
+ * Remove fsbl-drag-region, it is no longer needed
98
+ * Hide the dragHandle during drop operations, so that it doesn't interfere
99
+ */
53
100
  resizeDragHandle(): void;
101
+ /**
102
+ * Whether the component's config allows for the linker.
103
+ * @param {} err
104
+ * @param {*} response
105
+ */
54
106
  showLinkerButton(err: StandardError, response: any): void;
107
+ /**
108
+ * Whether the window is the top-right-most window in a group of windows. If so, it renders a minimize icon for the whole group.
109
+ * @param {} err
110
+ * @param {*} response
111
+ */
55
112
  isTopRight(err: StandardError, response: any): void;
113
+ /**
114
+ * @param {*} err
115
+ * @param {*} response
116
+ */
56
117
  onTitleChange(err: StandardError, response: any): void;
118
+ /**
119
+ * The next few methods are store change handlers that sync local state with the store's state.
120
+ */
57
121
  onShowDockingToolTip(err: StandardError, response: any): void;
58
122
  onToggleDockingIcon(err: StandardError, response: any): void;
59
123
  onDockingEnabledChanged(err: StandardError, response: any): void;
@@ -63,6 +127,70 @@ export declare class WindowTitleBarShell extends React.Component<WindowTitleBarS
63
127
  onTabsChanged(err: StandardError, response: any): void;
64
128
  onShowTabsChanged(err: StandardError, response: any): void;
65
129
  hackScrollbar(): void;
130
+ beginAdjustment(): void;
131
+ /**
132
+ * Once document is ready and header is injected into DOM, begin adjusting the height of elements and bump fixed/absolute elements
133
+ */
134
+ maybeAdjustWindow(): Promise<void>;
135
+ /**
136
+ * Monitors the DOM for mutations, if the added node has a fixed position with a top style of 0px, it will be bumped by the title bar height.
137
+ * @param headerHeight the height of the header
138
+ */
139
+ monitorFixedPositionedElements(headerHeight: string): void;
140
+ /**
141
+ * Calls functions to bump fixed and/or absolute elements if configured to do so.
142
+ * @param {object} config bumpElements object
143
+ */
144
+ bumpElements(config: BumpElements): void;
145
+ /**
146
+ * Set the max height of each element to be the height of the parent container
147
+ * subtracted by the height of the previous element. This forces the element to either obey its
148
+ * predefined height or stay within the bounds of the max height.
149
+ * @param {object} elem HTML element
150
+ * @param {number} prev height of previous sibling
151
+ * @param maxHeight
152
+ */
153
+ private adjust;
154
+ /**
155
+ * Adjusts the top level content view height to be its height subtracted by the headerHeight and its
156
+ * maxHeight to be 100vh subtracted by the total height of the previous elements.
157
+ * The height of the previous elements are added to this calculation if they are not fixed or absolute.
158
+ * @param {number} headerHeight the height of the header
159
+ */
160
+ private adjustTopLevelHeight;
161
+ /**
162
+ * Adjusts the content view height to be maximum the parent container height subtracted by the total height elements above it.
163
+ * The height of the previous elements are added to this calculation if they are not fixed or absolute.
164
+ * @param {object} headerNode window titlebar
165
+ */
166
+ private adjustContentHeight;
167
+ /**
168
+ * Calculates value to bump element by. If 'all' return top style and header height, if '0Positioned' return header height
169
+ * @param type Whether all elements are being bumped by the header height and their top style or just header height
170
+ * @param topStyle Element top value
171
+ * @param bumpBy Value to bump element by
172
+ * @returns Top style for element
173
+ */
174
+ private calculateBumpValue;
175
+ /**
176
+ * Recursively traverse through the HTML document and return an array of the top level elements
177
+ * and elements with static parents
178
+ * @param {object} element The HTML element
179
+ * @param {array} acc accumulator
180
+ * @returns {array} array top level elements and elements with static parents
181
+ *
182
+ */
183
+ private traverseHtml;
184
+ /**
185
+ * Bumps elements with fixed positioning down by the configured amount.
186
+ * @private
187
+ */
188
+ private bumpFixedElements;
189
+ /**
190
+ * Bumps absolute positioned elements with static parents down by the configured amount.
191
+ * @private
192
+ */
193
+ private bumpAbsoluteElements;
66
194
  render(): JSX.Element;
67
195
  }
68
196
  export {};