@finsemble/finsemble-ui 7.0.0 → 7.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (787) hide show
  1. package/package.json +13 -11
  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 +3 -10
  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 -1
  32. package/react/assets/css/finsemble.css +3 -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 +2 -2
  36. package/react/assets/css/menus.css +10 -10
  37. package/react/assets/css/notificationsCenter.css +16 -31
  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 +2 -2
  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 +12 -14
  45. package/react/assets/css/windowTitleBar.css +75 -36
  46. package/react/componentTemplateGenerator.js +3 -2
  47. package/react/componentTemplateGenerator.js.map +1 -1
  48. package/react/components/FinsembleProvider.d.ts +7 -0
  49. package/react/components/FinsembleProvider.js +2 -0
  50. package/react/components/FinsembleProvider.js.map +1 -1
  51. package/react/components/appCatalog/AppCatalog.d.ts +4 -0
  52. package/react/components/appCatalog/AppCatalog.js +4 -0
  53. package/react/components/appCatalog/AppCatalog.js.map +1 -1
  54. package/react/components/appCatalog/AppCatalogComponent.d.ts +58 -0
  55. package/react/components/appCatalog/AppCatalogComponent.js +70 -1
  56. package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
  57. package/react/components/appCatalog/components/AppCard.d.ts +35 -0
  58. package/react/components/appCatalog/components/AppCard.js +42 -0
  59. package/react/components/appCatalog/components/AppCard.js.map +1 -1
  60. package/react/components/appCatalog/components/AppResults.d.ts +10 -0
  61. package/react/components/appCatalog/components/AppResults.js +24 -0
  62. package/react/components/appCatalog/components/AppResults.js.map +1 -1
  63. package/react/components/appCatalog/components/Carousel.d.ts +26 -0
  64. package/react/components/appCatalog/components/Carousel.js +34 -0
  65. package/react/components/appCatalog/components/Carousel.js.map +1 -1
  66. package/react/components/appCatalog/components/EmptyResults.d.ts +4 -0
  67. package/react/components/appCatalog/components/EmptyResults.js +8 -0
  68. package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
  69. package/react/components/appCatalog/components/Hero.d.ts +15 -0
  70. package/react/components/appCatalog/components/Hero.js +15 -0
  71. package/react/components/appCatalog/components/Hero.js.map +1 -1
  72. package/react/components/appCatalog/components/Home.d.ts +6 -4
  73. package/react/components/appCatalog/components/Home.js +10 -0
  74. package/react/components/appCatalog/components/Home.js.map +1 -1
  75. package/react/components/appCatalog/components/SearchBar.d.ts +31 -0
  76. package/react/components/appCatalog/components/SearchBar.js +33 -0
  77. package/react/components/appCatalog/components/SearchBar.js.map +1 -1
  78. package/react/components/appCatalog/components/Showcase/AppDescription.d.ts +5 -0
  79. package/react/components/appCatalog/components/Showcase/AppDescription.js +9 -0
  80. package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
  81. package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts +7 -0
  82. package/react/components/appCatalog/components/Showcase/AppDevNotes.js +15 -0
  83. package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
  84. package/react/components/appCatalog/components/Showcase/AppShowcase.d.ts +17 -0
  85. package/react/components/appCatalog/components/Showcase/AppShowcase.js +25 -0
  86. package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
  87. package/react/components/appCatalog/components/Showcase/Header.d.ts +7 -0
  88. package/react/components/appCatalog/components/Showcase/Header.js +12 -0
  89. package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
  90. package/react/components/appCatalog/components/Showcase/ImageCarousel.d.ts +7 -0
  91. package/react/components/appCatalog/components/Showcase/ImageCarousel.js +11 -0
  92. package/react/components/appCatalog/components/Showcase/ImageCarousel.js.map +1 -1
  93. package/react/components/appCatalog/components/Showcase/Modal.d.ts +10 -0
  94. package/react/components/appCatalog/components/Showcase/Modal.js +10 -0
  95. package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
  96. package/react/components/appCatalog/components/Showcase/ReleaseNotes.d.ts +5 -0
  97. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js +9 -0
  98. package/react/components/appCatalog/components/Showcase/ReleaseNotes.js.map +1 -1
  99. package/react/components/appCatalog/components/Showcase/SupportNotes.d.ts +6 -0
  100. package/react/components/appCatalog/components/Showcase/SupportNotes.js +11 -0
  101. package/react/components/appCatalog/components/Showcase/SupportNotes.js.map +1 -1
  102. package/react/components/appCatalog/components/Showcase/VersionNotes.d.ts +5 -0
  103. package/react/components/appCatalog/components/Showcase/VersionNotes.js +9 -0
  104. package/react/components/appCatalog/components/Showcase/VersionNotes.js.map +1 -1
  105. package/react/components/appCatalog/components/Tag.d.ts +6 -0
  106. package/react/components/appCatalog/components/Tag.js +10 -0
  107. package/react/components/appCatalog/components/Tag.js.map +1 -1
  108. package/react/components/appCatalog/components/Toast.d.ts +5 -0
  109. package/react/components/appCatalog/components/Toast.js +9 -0
  110. package/react/components/appCatalog/components/Toast.js.map +1 -1
  111. package/react/components/appCatalog/components/helpers.js +1 -0
  112. package/react/components/appCatalog/components/helpers.js.map +1 -1
  113. package/react/components/appCatalog/modules/AppDirectory.d.ts +5 -0
  114. package/react/components/appCatalog/modules/AppDirectory.js +5 -0
  115. package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
  116. package/react/components/appCatalog/modules/FDC3.d.ts +37 -0
  117. package/react/components/appCatalog/modules/FDC3.js +40 -0
  118. package/react/components/appCatalog/modules/FDC3.js.map +1 -1
  119. package/react/components/appCatalog/stores/appStore.js +1 -0
  120. package/react/components/appCatalog/stores/appStore.js.map +1 -1
  121. package/react/components/appCatalog/stores/storeActions.d.ts +91 -0
  122. package/react/components/appCatalog/stores/storeActions.js +116 -1
  123. package/react/components/appCatalog/stores/storeActions.js.map +1 -1
  124. package/react/components/common/Checkbox.d.ts +1 -0
  125. package/react/components/common/Checkbox.js +2 -2
  126. package/react/components/common/Checkbox.js.map +1 -1
  127. package/react/components/common/ColorPicker.d.ts +5 -0
  128. package/react/components/common/ColorPicker.js +40 -0
  129. package/react/components/common/ColorPicker.js.map +1 -1
  130. package/react/components/common/DropZone.d.ts +11 -0
  131. package/react/components/common/DropZone.js +21 -1
  132. package/react/components/common/DropZone.js.map +1 -1
  133. package/react/components/common/DropdownButton.d.ts +4 -0
  134. package/react/components/common/DropdownButton.js +4 -0
  135. package/react/components/common/DropdownButton.js.map +1 -1
  136. package/react/components/common/ErrorBoundary.d.ts +18 -0
  137. package/react/components/common/ErrorBoundary.js +21 -0
  138. package/react/components/common/ErrorBoundary.js.map +1 -1
  139. package/react/components/common/FileInput.d.ts +8 -1
  140. package/react/components/common/FileInput.js +19 -4
  141. package/react/components/common/FileInput.js.map +1 -1
  142. package/react/components/common/FinsembleIcon.d.ts +10 -0
  143. package/react/components/common/FinsembleIcon.js +51 -2
  144. package/react/components/common/FinsembleIcon.js.map +1 -1
  145. package/react/components/common/FinsembleSelect.js +5 -1
  146. package/react/components/common/FinsembleSelect.js.map +1 -1
  147. package/react/components/common/FinsembleToggleButtonBar.js +1 -1
  148. package/react/components/common/FinsembleToggleButtonBar.js.map +1 -1
  149. package/react/components/common/InputTable.d.ts +7 -0
  150. package/react/components/common/InputTable.js +7 -0
  151. package/react/components/common/InputTable.js.map +1 -1
  152. package/react/components/common/Tab.js +3 -0
  153. package/react/components/common/Tab.js.map +1 -1
  154. package/react/components/common/TimeSelect.js +24 -0
  155. package/react/components/common/TimeSelect.js.map +1 -1
  156. package/react/components/common/Tooltip.js +2 -0
  157. package/react/components/common/Tooltip.js.map +1 -1
  158. package/react/components/common/css/accordion.css +9 -6
  159. package/react/components/common/css/application-edit-page.css +39 -44
  160. package/react/components/common/css/button.css +10 -5
  161. package/react/components/common/css/color-picker.css +3 -3
  162. package/react/components/common/css/drop-zone.css +2 -6
  163. package/react/components/common/css/file-input.css +5 -5
  164. package/react/components/common/css/header.css +3 -2
  165. package/react/components/common/css/icon.css +1 -1
  166. package/react/components/common/css/loading-spinner.css +7 -12
  167. package/react/components/common/css/selector.css +4 -4
  168. package/react/components/common/css/styles.css +22 -16
  169. package/react/components/common/css/tab.css +8 -8
  170. package/react/components/common/css/time-select.css +1 -0
  171. package/react/components/common/css/toggle.css +4 -4
  172. package/react/components/common/css/tooltip.css +2 -3
  173. package/react/components/common/file_helpers.js +2 -0
  174. package/react/components/common/file_helpers.js.map +1 -1
  175. package/react/components/common/helpers.js +1 -0
  176. package/react/components/common/helpers.js.map +1 -1
  177. package/react/components/common/stories/ColorPicker.stories.js +3 -0
  178. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  179. package/react/components/common/stories/FileInput.stories.d.ts +3 -1
  180. package/react/components/common/stories/FileInput.stories.js +12 -0
  181. package/react/components/common/stories/FileInput.stories.js.map +1 -1
  182. package/react/components/common/tests/Accordion.spec.js +6 -0
  183. package/react/components/common/tests/Accordion.spec.js.map +1 -1
  184. package/react/components/common/tests/Checkbox.spec.js +1 -0
  185. package/react/components/common/tests/Checkbox.spec.js.map +1 -1
  186. package/react/components/common/tests/ColorPicker.spec.js +6 -0
  187. package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
  188. package/react/components/common/tests/DropZone.spec.js +1 -0
  189. package/react/components/common/tests/DropZone.spec.js.map +1 -1
  190. package/react/components/common/tests/FileInput.spec.js +22 -0
  191. package/react/components/common/tests/FileInput.spec.js.map +1 -1
  192. package/react/components/common/tests/FinsembleSelect.spec.js +1 -0
  193. package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
  194. package/react/components/common/tests/FinsembleToggle.spec.js +1 -0
  195. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  196. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js +1 -0
  197. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js.map +1 -1
  198. package/react/components/common/tests/TimeSelect.spec.js +4 -0
  199. package/react/components/common/tests/TimeSelect.spec.js.map +1 -1
  200. package/react/components/common/tests/Tooltip.spec.js +16 -0
  201. package/react/components/common/tests/Tooltip.spec.js.map +1 -1
  202. package/react/components/favorites/FavoriteMaker.d.ts +8 -0
  203. package/react/components/favorites/FavoriteMaker.js +9 -0
  204. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  205. package/react/components/favorites/FavoritesShell.d.ts +4 -0
  206. package/react/components/favorites/FavoritesShell.js +13 -1
  207. package/react/components/favorites/FavoritesShell.js.map +1 -1
  208. package/react/components/favorites/FavoritesShell.spec.js +3 -0
  209. package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
  210. package/react/components/fdc3Resolver/ResolverContainer.js +8 -0
  211. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  212. package/react/components/fdc3Resolver/ResolverDialog.css +16 -3
  213. package/react/components/fdc3Resolver/ResolverDialog.js +7 -2
  214. package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
  215. package/react/components/fdc3Resolver/ResolverDialog.spec.js +3 -2
  216. package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
  217. package/react/components/fdc3Resolver/ResolverDialog.stories.js +2 -0
  218. package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
  219. package/react/components/icon/Icon.d.ts +13 -0
  220. package/react/components/icon/Icon.js +34 -0
  221. package/react/components/icon/Icon.js.map +1 -1
  222. package/react/components/legacyControls/FinsembleDialog.d.ts +4 -0
  223. package/react/components/legacyControls/FinsembleDialog.js +15 -0
  224. package/react/components/legacyControls/FinsembleDialog.js.map +1 -1
  225. package/react/components/legacyControls/FinsembleDialogButton.d.ts +3 -0
  226. package/react/components/legacyControls/FinsembleDialogButton.js +6 -1
  227. package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
  228. package/react/components/legacyControls/FinsembleDialogQuestion.d.ts +7 -0
  229. package/react/components/legacyControls/FinsembleDialogQuestion.js +7 -0
  230. package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
  231. package/react/components/legacyControls/FinsembleDialogTextInput.d.ts +3 -0
  232. package/react/components/legacyControls/FinsembleDialogTextInput.js +14 -0
  233. package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
  234. package/react/components/legacyControls/FinsembleDnDContext.d.ts +19 -0
  235. package/react/components/legacyControls/FinsembleDnDContext.js +126 -1
  236. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  237. package/react/components/legacyControls/FinsembleDraggable.d.ts +3 -0
  238. package/react/components/legacyControls/FinsembleDraggable.js +3 -0
  239. package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
  240. package/react/components/legacyControls/FinsembleHoverDetector.d.ts +15 -0
  241. package/react/components/legacyControls/FinsembleHoverDetector.js +26 -1
  242. package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
  243. package/react/components/legacyControls/FinsembleMenuSection.d.ts +4 -0
  244. package/react/components/legacyControls/FinsembleMenuSection.js +38 -0
  245. package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
  246. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js +1 -0
  247. package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
  248. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +1 -0
  249. package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
  250. package/react/components/linker/LinkerMenu.d.ts +3 -0
  251. package/react/components/linker/LinkerMenu.js +21 -0
  252. package/react/components/linker/LinkerMenu.js.map +1 -1
  253. package/react/components/linker/LinkerMenuDeprecated.d.ts +3 -0
  254. package/react/components/linker/LinkerMenuDeprecated.js +9 -0
  255. package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
  256. package/react/components/menu/Menu.d.ts +15 -0
  257. package/react/components/menu/Menu.js +15 -0
  258. package/react/components/menu/Menu.js.map +1 -1
  259. package/react/components/menu/MenuAutoResizer.d.ts +7 -0
  260. package/react/components/menu/MenuAutoResizer.js +27 -0
  261. package/react/components/menu/MenuAutoResizer.js.map +1 -1
  262. package/react/components/menu/MenuContent.d.ts +4 -0
  263. package/react/components/menu/MenuContent.js +4 -0
  264. package/react/components/menu/MenuContent.js.map +1 -1
  265. package/react/components/menu/MenuHotKey.d.ts +14 -0
  266. package/react/components/menu/MenuHotKey.js +15 -0
  267. package/react/components/menu/MenuHotKey.js.map +1 -1
  268. package/react/components/menu/MenuItem.d.ts +8 -0
  269. package/react/components/menu/MenuItem.js +13 -2
  270. package/react/components/menu/MenuItem.js.map +1 -1
  271. package/react/components/menu/MenuPortal.js +112 -2
  272. package/react/components/menu/MenuPortal.js.map +1 -1
  273. package/react/components/menu/MenuShell.d.ts +16 -0
  274. package/react/components/menu/MenuShell.js +26 -0
  275. package/react/components/menu/MenuShell.js.map +1 -1
  276. package/react/components/menu/MenuToggle.d.ts +3 -0
  277. package/react/components/menu/MenuToggle.js +3 -0
  278. package/react/components/menu/MenuToggle.js.map +1 -1
  279. package/react/components/menu/keyboardNavigation.d.ts +12 -0
  280. package/react/components/menu/keyboardNavigation.js +55 -0
  281. package/react/components/menu/keyboardNavigation.js.map +1 -1
  282. package/react/components/menu/menuContext.d.ts +6 -0
  283. package/react/components/menu/menuContext.js +6 -0
  284. package/react/components/menu/menuContext.js.map +1 -1
  285. package/react/components/menu/menuHelpers.d.ts +22 -0
  286. package/react/components/menu/menuHelpers.js +58 -1
  287. package/react/components/menu/menuHelpers.js.map +1 -1
  288. package/react/components/notifications/components/drawer/DrawerControls.js +8 -0
  289. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  290. package/react/components/notifications/components/drawer/DrawerHeader.js +5 -0
  291. package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
  292. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +18 -0
  293. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  294. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +3 -0
  295. package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
  296. package/react/components/notifications/components/shared/CheckButton.js +1 -1
  297. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  298. package/react/components/notifications/components/shared/NotificationCardShell.d.ts +9 -0
  299. package/react/components/notifications/components/shared/NotificationCardShell.js +13 -6
  300. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  301. package/react/components/notifications/components/shared/OverflowMenu.d.ts +4 -0
  302. package/react/components/notifications/components/shared/OverflowMenu.js +16 -2
  303. package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
  304. package/react/components/notifications/components/views/CardView.js +3 -0
  305. package/react/components/notifications/components/views/CardView.js.map +1 -1
  306. package/react/components/notifications/components/views/ListView.js +8 -0
  307. package/react/components/notifications/components/views/ListView.js.map +1 -1
  308. package/react/components/notifications/notificationsContext.d.ts +4 -0
  309. package/react/components/notifications/notificationsContext.js +4 -0
  310. package/react/components/notifications/notificationsContext.js.map +1 -1
  311. package/react/components/notifications/types.d.ts +3 -0
  312. package/react/components/notifications/utils.d.ts +4 -0
  313. package/react/components/notifications/utils.js +4 -0
  314. package/react/components/notifications/utils.js.map +1 -1
  315. package/react/components/processMonitor/ProcessMonitor.d.ts +3 -0
  316. package/react/components/processMonitor/ProcessMonitor.js +17 -2
  317. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  318. package/react/components/processMonitor/components/ChildWindow.d.ts +3 -0
  319. package/react/components/processMonitor/components/ChildWindow.js +5 -0
  320. package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
  321. package/react/components/processMonitor/components/ListHeader.d.ts +5 -0
  322. package/react/components/processMonitor/components/ListHeader.js +7 -0
  323. package/react/components/processMonitor/components/ListHeader.js.map +1 -1
  324. package/react/components/processMonitor/components/ProcessStatistics.js +12 -1
  325. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  326. package/react/components/processMonitor/constants.js +6 -0
  327. package/react/components/processMonitor/constants.js.map +1 -1
  328. package/react/components/processMonitor/helpers.d.ts +13 -0
  329. package/react/components/processMonitor/helpers.js +23 -3
  330. package/react/components/processMonitor/helpers.js.map +1 -1
  331. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +39 -0
  332. package/react/components/processMonitor/stores/ProcessMonitorStore.js +50 -0
  333. package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
  334. package/react/components/quickComponentForm/QuickComponentForm.d.ts +3 -0
  335. package/react/components/quickComponentForm/QuickComponentForm.js +20 -0
  336. package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
  337. package/react/components/quickComponentForm/quickComponent.css +1 -1
  338. package/react/components/sdd/AddApp.d.ts +4 -2
  339. package/react/components/sdd/AddApp.js +57 -49
  340. package/react/components/sdd/AddApp.js.map +1 -1
  341. package/react/components/sdd/AppEditAccess.js +8 -0
  342. package/react/components/sdd/AppEditAccess.js.map +1 -1
  343. package/react/components/sdd/AppEditPage.d.ts +2 -1
  344. package/react/components/sdd/AppEditPage.js +148 -361
  345. package/react/components/sdd/AppEditPage.js.map +1 -1
  346. package/react/components/sdd/Appearance.css +1 -1
  347. package/react/components/sdd/Appearance.js +3 -0
  348. package/react/components/sdd/Appearance.js.map +1 -1
  349. package/react/components/sdd/Application.js +39 -7
  350. package/react/components/sdd/Application.js.map +1 -1
  351. package/react/components/sdd/Applications.js +89 -13
  352. package/react/components/sdd/Applications.js.map +1 -1
  353. package/react/components/sdd/AssetsPage.css +3 -3
  354. package/react/components/sdd/EditPreload.js +10 -0
  355. package/react/components/sdd/EditPreload.js.map +1 -1
  356. package/react/components/sdd/ExportCloud.js +4 -0
  357. package/react/components/sdd/ExportCloud.js.map +1 -1
  358. package/react/components/sdd/Publish.js +2 -0
  359. package/react/components/sdd/Publish.js.map +1 -1
  360. package/react/components/sdd/PublishProgress.js +11 -1
  361. package/react/components/sdd/PublishProgress.js.map +1 -1
  362. package/react/components/sdd/SmartDesktopDesigner.js +17 -0
  363. package/react/components/sdd/SmartDesktopDesigner.js.map +1 -1
  364. package/react/components/sdd/ThemePage.css +6 -23
  365. package/react/components/sdd/ThemePage.js +1 -1
  366. package/react/components/sdd/ThemePage.js.map +1 -1
  367. package/react/components/sdd/Themes.js +2 -0
  368. package/react/components/sdd/Themes.js.map +1 -1
  369. package/react/components/sdd/Toolbar.js +7 -0
  370. package/react/components/sdd/Toolbar.js.map +1 -1
  371. package/react/components/sdd/appEditPage/Behavior.d.ts +34 -0
  372. package/react/components/sdd/appEditPage/Behavior.js +134 -0
  373. package/react/components/sdd/appEditPage/Behavior.js.map +1 -0
  374. package/react/components/sdd/appEditPage/Component.d.ts +22 -0
  375. package/react/components/sdd/appEditPage/Component.js +76 -0
  376. package/react/components/sdd/appEditPage/Component.js.map +1 -0
  377. package/react/components/sdd/appEditPage/DebugToolkit.d.ts +9 -0
  378. package/react/components/sdd/appEditPage/DebugToolkit.js +20 -0
  379. package/react/components/sdd/appEditPage/DebugToolkit.js.map +1 -0
  380. package/react/components/sdd/appEditPage/Interop.d.ts +10 -0
  381. package/react/components/sdd/appEditPage/Interop.js +40 -0
  382. package/react/components/sdd/appEditPage/Interop.js.map +1 -0
  383. package/react/components/sdd/appEditPage/Position.d.ts +18 -0
  384. package/react/components/sdd/appEditPage/Position.js +72 -0
  385. package/react/components/sdd/appEditPage/Position.js.map +1 -0
  386. package/react/components/sdd/appEditPage/Preloads.d.ts +9 -0
  387. package/react/components/sdd/appEditPage/Preloads.js +16 -0
  388. package/react/components/sdd/appEditPage/Preloads.js.map +1 -0
  389. package/react/components/sdd/appEditPage/SelectConnect.d.ts +15 -0
  390. package/react/components/sdd/appEditPage/SelectConnect.js +28 -0
  391. package/react/components/sdd/appEditPage/SelectConnect.js.map +1 -0
  392. package/react/components/sdd/appEditPage/Workspace.d.ts +12 -0
  393. package/react/components/sdd/appEditPage/Workspace.js +30 -0
  394. package/react/components/sdd/appEditPage/Workspace.js.map +1 -0
  395. package/react/components/sdd/common/getCSSVars.js +7 -2
  396. package/react/components/sdd/common/getCSSVars.js.map +1 -1
  397. package/react/components/sdd/common/setPreloadDefaults.js +4 -0
  398. package/react/components/sdd/common/setPreloadDefaults.js.map +1 -1
  399. package/react/components/sdd/css/addApp.css +18 -5
  400. package/react/components/sdd/css/appearance.css +6 -0
  401. package/react/components/sdd/css/applications.css +27 -14
  402. package/react/components/sdd/css/authentication.css +7 -6
  403. package/react/components/sdd/css/buttons.css +1 -1
  404. package/react/components/sdd/css/export.css +5 -3
  405. package/react/components/sdd/css/getting-started.css +2 -2
  406. package/react/components/sdd/css/nav.css +8 -11
  407. package/react/components/sdd/css/project-header.css +5 -7
  408. package/react/components/sdd/css/styles.css +29 -23
  409. package/react/components/sdd/css/views.css +4 -3
  410. package/react/components/sdd/fixtures/apps.js +12 -0
  411. package/react/components/sdd/fixtures/apps.js.map +1 -1
  412. package/react/components/sdd/fixtures/configTemplate.js +1 -0
  413. package/react/components/sdd/fixtures/configTemplate.js.map +1 -1
  414. package/react/components/sdd/fixtures/publishProgress.js +40 -0
  415. package/react/components/sdd/fixtures/publishProgress.js.map +1 -1
  416. package/react/components/sdd/sdd_helpers.d.ts +6 -0
  417. package/react/components/sdd/sdd_helpers.js +6 -0
  418. package/react/components/sdd/sdd_helpers.js.map +1 -1
  419. package/react/components/sdd/smartDesktopClient.d.ts +303 -0
  420. package/react/components/sdd/smartDesktopClient.js +334 -1
  421. package/react/components/sdd/smartDesktopClient.js.map +1 -1
  422. package/react/components/sdd/smartDesktopClient.spec.js +5 -2
  423. package/react/components/sdd/smartDesktopClient.spec.js.map +1 -1
  424. package/react/components/sdd/stories/AddApp.stories.d.ts +2 -1
  425. package/react/components/sdd/stories/AddApp.stories.js +8 -0
  426. package/react/components/sdd/stories/AddApp.stories.js.map +1 -1
  427. package/react/components/sdd/stories/AppEditPage.stories.d.ts +3 -1
  428. package/react/components/sdd/stories/AppEditPage.stories.js +3 -0
  429. package/react/components/sdd/stories/AppEditPage.stories.js.map +1 -1
  430. package/react/components/sdd/stories/Appearance.stories.js +1 -0
  431. package/react/components/sdd/stories/Appearance.stories.js.map +1 -1
  432. package/react/components/sdd/tests/AddApp.spec.js +40 -3
  433. package/react/components/sdd/tests/AddApp.spec.js.map +1 -1
  434. package/react/components/sdd/tests/AppEditPage.spec.js +16 -0
  435. package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -1
  436. package/react/components/sdd/tests/Application.spec.js +33 -438
  437. package/react/components/sdd/tests/Application.spec.js.map +1 -1
  438. package/react/components/sdd/tests/Applications.spec.d.ts +1 -1
  439. package/react/components/sdd/tests/Applications.spec.js +29 -5
  440. package/react/components/sdd/tests/Applications.spec.js.map +1 -1
  441. package/react/components/sdd/tests/Authentication.spec.js +7 -0
  442. package/react/components/sdd/tests/Authentication.spec.js.map +1 -1
  443. package/react/components/sdd/tests/ContentHeader.spec.js +2 -0
  444. package/react/components/sdd/tests/ContentHeader.spec.js.map +1 -1
  445. package/react/components/sdd/tests/EditPreload.spec.js +13 -0
  446. package/react/components/sdd/tests/EditPreload.spec.js.map +1 -1
  447. package/react/components/sdd/tests/Export.spec.js +2 -1
  448. package/react/components/sdd/tests/Export.spec.js.map +1 -1
  449. package/react/components/sdd/tests/ItemList.spec.js +4 -0
  450. package/react/components/sdd/tests/ItemList.spec.js.map +1 -1
  451. package/react/components/sdd/tests/OptionalSettingsView.spec.js +29 -0
  452. package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +1 -1
  453. package/react/components/sdd/tests/ProjectErrors.spec.js +2 -0
  454. package/react/components/sdd/tests/ProjectErrors.spec.js.map +1 -1
  455. package/react/components/sdd/tests/Themes.spec.js +1 -1
  456. package/react/components/sdd/tests/Themes.spec.js.map +1 -1
  457. package/react/components/sdd/tests/Toolbar.spec.js +53 -0
  458. package/react/components/sdd/tests/Toolbar.spec.js.map +1 -1
  459. package/react/components/sdd/tests/a11y_helper.js +8 -0
  460. package/react/components/sdd/tests/a11y_helper.js.map +1 -1
  461. package/react/components/search/Highlight.d.ts +6 -0
  462. package/react/components/search/Highlight.js +19 -0
  463. package/react/components/search/Highlight.js.map +1 -1
  464. package/react/components/search/SearchBestMatch.d.ts +4 -0
  465. package/react/components/search/SearchBestMatch.js +11 -0
  466. package/react/components/search/SearchBestMatch.js.map +1 -1
  467. package/react/components/search/SearchInput.d.ts +5 -0
  468. package/react/components/search/SearchInput.js +6 -0
  469. package/react/components/search/SearchInput.js.map +1 -1
  470. package/react/components/search/SearchProviderResults.js +2 -0
  471. package/react/components/search/SearchProviderResults.js.map +1 -1
  472. package/react/components/search/SearchResult.js +6 -0
  473. package/react/components/search/SearchResult.js.map +1 -1
  474. package/react/components/search/SearchResult.spec.js +7 -0
  475. package/react/components/search/SearchResult.spec.js.map +1 -1
  476. package/react/components/search/SearchResult.stories.js +4 -0
  477. package/react/components/search/SearchResult.stories.js.map +1 -1
  478. package/react/components/search/SearchResults.js +5 -1
  479. package/react/components/search/SearchResults.js.map +1 -1
  480. package/react/components/search/SearchResults.spec.js +7 -0
  481. package/react/components/search/SearchResults.spec.js.map +1 -1
  482. package/react/components/shared/Animate.d.ts +5 -0
  483. package/react/components/shared/Animate.js +12 -1
  484. package/react/components/shared/Animate.js.map +1 -1
  485. package/react/components/shared/DefaultDropdownButton.js +9 -0
  486. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  487. package/react/components/shared/Tag.d.ts +0 -4
  488. package/react/components/shared/Tag.js +4 -0
  489. package/react/components/shared/Tag.js.map +1 -1
  490. package/react/components/shared/TagsMenu.d.ts +6 -0
  491. package/react/components/shared/TagsMenu.js +7 -0
  492. package/react/components/shared/TagsMenu.js.map +1 -1
  493. package/react/components/shared/addProtocolToValidURL.d.ts +6 -0
  494. package/react/components/shared/addProtocolToValidURL.js +6 -0
  495. package/react/components/shared/addProtocolToValidURL.js.map +1 -1
  496. package/react/components/shared/openQuitConfirmationDialog.d.ts +1 -1
  497. package/react/components/shared/openQuitConfirmationDialog.js +4 -4
  498. package/react/components/shared/openQuitConfirmationDialog.js.map +1 -1
  499. package/react/components/shared/tests/addProtocolToValidURL.spec.js +1 -0
  500. package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +1 -1
  501. package/react/components/shared/validateURL.d.ts +18 -0
  502. package/react/components/shared/validateURL.js +24 -5
  503. package/react/components/shared/validateURL.js.map +1 -1
  504. package/react/components/singleInputDialog/SingleInputDialog.css +1 -1
  505. package/react/components/singleInputDialog/SingleInputDialog.d.ts +3 -0
  506. package/react/components/singleInputDialog/SingleInputDialog.js +44 -0
  507. package/react/components/singleInputDialog/SingleInputDialog.js.map +1 -1
  508. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +6 -0
  509. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  510. package/react/components/system/System.d.ts +22 -0
  511. package/react/components/system/System.js +23 -1
  512. package/react/components/system/System.js.map +1 -1
  513. package/react/components/system/System.stories.js +1 -0
  514. package/react/components/system/System.stories.js.map +1 -1
  515. package/react/components/system/SystemTrayComponentShell.d.ts +6 -0
  516. package/react/components/system/SystemTrayComponentShell.js +9 -0
  517. package/react/components/system/SystemTrayComponentShell.js.map +1 -1
  518. package/react/components/toolbar/AutoArrange.d.ts +5 -0
  519. package/react/components/toolbar/AutoArrange.js +8 -1
  520. package/react/components/toolbar/AutoArrange.js.map +1 -1
  521. package/react/components/toolbar/AutoArrange.spec.js +1 -0
  522. package/react/components/toolbar/AutoArrange.spec.js.map +1 -1
  523. package/react/components/toolbar/AutoArrange.stories.js +1 -0
  524. package/react/components/toolbar/AutoArrange.stories.js.map +1 -1
  525. package/react/components/toolbar/DragHandle.d.ts +4 -0
  526. package/react/components/toolbar/DragHandle.js +11 -0
  527. package/react/components/toolbar/DragHandle.js.map +1 -1
  528. package/react/components/toolbar/DragHandle.spec.js +1 -0
  529. package/react/components/toolbar/DragHandle.spec.js.map +1 -1
  530. package/react/components/toolbar/DragHandle.stories.js +1 -0
  531. package/react/components/toolbar/DragHandle.stories.js.map +1 -1
  532. package/react/components/toolbar/MinimizeAll.d.ts +4 -0
  533. package/react/components/toolbar/MinimizeAll.js +7 -1
  534. package/react/components/toolbar/MinimizeAll.js.map +1 -1
  535. package/react/components/toolbar/MinimizeAll.spec.js +1 -0
  536. package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
  537. package/react/components/toolbar/MinimizeAll.stories.js +1 -0
  538. package/react/components/toolbar/MinimizeAll.stories.js.map +1 -1
  539. package/react/components/toolbar/NotificationControl.d.ts +5 -0
  540. package/react/components/toolbar/NotificationControl.js +8 -1
  541. package/react/components/toolbar/NotificationControl.js.map +1 -1
  542. package/react/components/toolbar/RevealAll.d.ts +4 -0
  543. package/react/components/toolbar/RevealAll.js +7 -1
  544. package/react/components/toolbar/RevealAll.js.map +1 -1
  545. package/react/components/toolbar/RevealAll.spec.js +1 -0
  546. package/react/components/toolbar/RevealAll.spec.js.map +1 -1
  547. package/react/components/toolbar/RevealAll.stories.js +1 -0
  548. package/react/components/toolbar/RevealAll.stories.js.map +1 -1
  549. package/react/components/toolbar/SddButton.d.ts +4 -0
  550. package/react/components/toolbar/SddButton.js +4 -0
  551. package/react/components/toolbar/SddButton.js.map +1 -1
  552. package/react/components/toolbar/ToolbarIcon.d.ts +4 -0
  553. package/react/components/toolbar/ToolbarIcon.js +4 -0
  554. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  555. package/react/components/toolbar/ToolbarSection.d.ts +7 -0
  556. package/react/components/toolbar/ToolbarSection.js +19 -1
  557. package/react/components/toolbar/ToolbarSection.js.map +1 -1
  558. package/react/components/toolbar/ToolbarShell.d.ts +5 -0
  559. package/react/components/toolbar/ToolbarShell.js +7 -0
  560. package/react/components/toolbar/ToolbarShell.js.map +1 -1
  561. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +16 -0
  562. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js +20 -0
  563. package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
  564. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts +52 -0
  565. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js +58 -0
  566. package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
  567. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts +5 -0
  568. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js +5 -0
  569. package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
  570. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts +27 -0
  571. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +49 -0
  572. package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
  573. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +13 -0
  574. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js +14 -0
  575. package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
  576. package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +5 -0
  577. package/react/components/toolbar/advancedAppLauncher/components/Content.js +19 -0
  578. package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
  579. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts +4 -0
  580. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js +4 -0
  581. package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
  582. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +16 -0
  583. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +39 -0
  584. package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
  585. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts +4 -0
  586. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js +9 -0
  587. package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
  588. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js +3 -0
  589. package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
  590. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.d.ts +6 -0
  591. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js +7 -0
  592. package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
  593. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.d.ts +5 -0
  594. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js +5 -0
  595. package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js.map +1 -1
  596. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.d.ts +5 -0
  597. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js +5 -0
  598. package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
  599. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts +37 -0
  600. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js +40 -0
  601. package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
  602. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.d.ts +3 -0
  603. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +82 -0
  604. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  605. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts +10 -0
  606. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js +11 -0
  607. package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
  608. package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts +18 -0
  609. package/react/components/toolbar/appLauncher/AppLauncherMenu.js +20 -0
  610. package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
  611. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +9 -0
  612. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js +12 -0
  613. package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
  614. package/react/components/toolbar/appLauncher/appLauncher.css +1 -1
  615. package/react/components/toolbar/appLauncher/components/componentList.d.ts +3 -0
  616. package/react/components/toolbar/appLauncher/components/componentList.js +17 -3
  617. package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
  618. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +6 -0
  619. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +26 -0
  620. package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
  621. package/react/components/toolbar/dashbar/Dashbar.js +70 -3
  622. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  623. package/react/components/toolbar/dashbar/DashbarItem.js +5 -0
  624. package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
  625. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +7 -0
  626. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js +7 -0
  627. package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
  628. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +16 -0
  629. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +20 -0
  630. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  631. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +26 -0
  632. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +29 -0
  633. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
  634. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +5 -0
  635. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js +6 -0
  636. package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
  637. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +76 -0
  638. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +140 -1
  639. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
  640. package/react/components/toolbar/workspaceManagementMenu/workspaceManagementMenu.css +8 -18
  641. package/react/components/userPreferences/NotificationsPreferencesContext.d.ts +4 -0
  642. package/react/components/userPreferences/NotificationsPreferencesContext.js +4 -0
  643. package/react/components/userPreferences/NotificationsPreferencesContext.js.map +1 -1
  644. package/react/components/userPreferences/UserPreferenceTypes.d.ts +3 -0
  645. package/react/components/userPreferences/UserPreferences.d.ts +8 -0
  646. package/react/components/userPreferences/UserPreferences.js +8 -0
  647. package/react/components/userPreferences/UserPreferences.js.map +1 -1
  648. package/react/components/userPreferences/UserPreferencesBase.js +4 -0
  649. package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
  650. package/react/components/userPreferences/components/ContentSection.d.ts +5 -0
  651. package/react/components/userPreferences/components/LeftNav.d.ts +4 -0
  652. package/react/components/userPreferences/components/content/DashbarEditor.js +3 -0
  653. package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
  654. package/react/components/userPreferences/components/content/Notifications.js +3 -0
  655. package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
  656. package/react/components/userPreferences/components/content/Workspaces.d.ts +12 -0
  657. package/react/components/userPreferences/components/content/Workspaces.js +33 -1
  658. package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
  659. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +3 -0
  660. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  661. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +3 -0
  662. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
  663. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +3 -0
  664. package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
  665. package/react/components/userPreferences/components/general/ScheduledClose.js +11 -0
  666. package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
  667. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +3 -0
  668. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
  669. package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +17 -0
  670. package/react/components/userPreferences/stores/UserPreferencesStore.js +27 -0
  671. package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
  672. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js +1 -0
  673. package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
  674. package/react/components/userPreferences/tests/Workspace.spec.js +20 -0
  675. package/react/components/userPreferences/tests/Workspace.spec.js.map +1 -1
  676. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +124 -0
  677. package/react/components/windowTitleBar/WindowTitleBarShell.js +284 -35
  678. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  679. package/react/components/windowTitleBar/components/center/Tab.d.ts +3 -0
  680. package/react/components/windowTitleBar/components/center/Tab.js +3 -0
  681. package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
  682. package/react/components/windowTitleBar/components/center/TabList.d.ts +90 -0
  683. package/react/components/windowTitleBar/components/center/TabList.js +170 -4
  684. package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
  685. package/react/components/windowTitleBar/components/left/LinkerButton.d.ts +9 -1
  686. package/react/components/windowTitleBar/components/left/LinkerButton.js +25 -9
  687. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  688. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +47 -0
  689. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js +76 -1
  690. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js.map +1 -1
  691. package/react/components/windowTitleBar/components/left/LinkerGroups.d.ts +4 -0
  692. package/react/components/windowTitleBar/components/left/LinkerGroups.js +5 -0
  693. package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
  694. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.d.ts +18 -0
  695. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js +49 -0
  696. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js.map +1 -1
  697. package/react/components/windowTitleBar/components/left/ShareButton.d.ts +17 -0
  698. package/react/components/windowTitleBar/components/left/ShareButton.js +39 -0
  699. package/react/components/windowTitleBar/components/left/ShareButton.js.map +1 -1
  700. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js +4 -0
  701. package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js.map +1 -1
  702. package/react/components/windowTitleBar/components/right/CloseButton.d.ts +27 -0
  703. package/react/components/windowTitleBar/components/right/CloseButton.js +27 -0
  704. package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
  705. package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +37 -0
  706. package/react/components/windowTitleBar/components/right/GroupingButton.js +40 -0
  707. package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
  708. package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +46 -0
  709. package/react/components/windowTitleBar/components/right/MaximizeButton.js +54 -0
  710. package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
  711. package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +26 -0
  712. package/react/components/windowTitleBar/components/right/MinimizeButton.js +26 -0
  713. package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
  714. package/react/components/windowTitleBar/components/windowTitle.d.ts +40 -0
  715. package/react/components/windowTitleBar/components/windowTitle.js +172 -10
  716. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  717. package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +5 -0
  718. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +72 -1
  719. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  720. package/react/components/yesNoDialog/YesNoDialog.css +1 -1
  721. package/react/components/yesNoDialog/YesNoDialog.d.ts +3 -0
  722. package/react/components/yesNoDialog/YesNoDialog.js +63 -0
  723. package/react/components/yesNoDialog/YesNoDialog.js.map +1 -1
  724. package/react/components/yesNoDialog/YesNoDialog.spec.js +4 -0
  725. package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
  726. package/react/components/yesNoDialog/timer.js +2 -0
  727. package/react/components/yesNoDialog/timer.js.map +1 -1
  728. package/react/enzymeSetup.js +5 -0
  729. package/react/enzymeSetup.js.map +1 -1
  730. package/react/hooks/useDashbar.js +10 -0
  731. package/react/hooks/useDashbar.js.map +1 -1
  732. package/react/hooks/useDeepEffect.d.ts +4 -0
  733. package/react/hooks/useDeepEffect.js +21 -0
  734. package/react/hooks/useDeepEffect.js.map +1 -1
  735. package/react/hooks/useFavorites.d.ts +15 -0
  736. package/react/hooks/useFavorites.js +3 -0
  737. package/react/hooks/useFavorites.js.map +1 -1
  738. package/react/hooks/useFavoritesShell.d.ts +4 -0
  739. package/react/hooks/useFavoritesShell.js +23 -0
  740. package/react/hooks/useFavoritesShell.js.map +1 -1
  741. package/react/hooks/useHotkey.d.ts +6 -0
  742. package/react/hooks/useHotkey.js +9 -0
  743. package/react/hooks/useHotkey.js.map +1 -1
  744. package/react/hooks/useLinker.js +14 -0
  745. package/react/hooks/useLinker.js.map +1 -1
  746. package/react/hooks/useMenu.d.ts +29 -0
  747. package/react/hooks/useMenu.js +12 -1
  748. package/react/hooks/useMenu.js.map +1 -1
  749. package/react/hooks/useNotifications.d.ts +44 -0
  750. package/react/hooks/useNotifications.js +90 -0
  751. package/react/hooks/useNotifications.js.map +1 -1
  752. package/react/hooks/useOutsideClickDetector.d.ts +3 -0
  753. package/react/hooks/useOutsideClickDetector.js +3 -0
  754. package/react/hooks/useOutsideClickDetector.js.map +1 -1
  755. package/react/hooks/usePubSub.d.ts +17 -0
  756. package/react/hooks/usePubSub.js +18 -0
  757. package/react/hooks/usePubSub.js.map +1 -1
  758. package/react/hooks/useSearch.d.ts +5 -0
  759. package/react/hooks/useSearch.js +30 -0
  760. package/react/hooks/useSearch.js.map +1 -1
  761. package/react/hooks/useToolbar.js +52 -0
  762. package/react/hooks/useToolbar.js.map +1 -1
  763. package/react/reducers/favoriteReducer.d.ts +3 -0
  764. package/react/reducers/linkerReducer.d.ts +3 -0
  765. package/react/reducers/linkerReducer.js +4 -0
  766. package/react/reducers/linkerReducer.js.map +1 -1
  767. package/react/reducers/menuReducer.d.ts +28 -0
  768. package/react/reducers/menuReducer.js +34 -0
  769. package/react/reducers/menuReducer.js.map +1 -1
  770. package/react/reducers/rootReducer.js +3 -0
  771. package/react/reducers/rootReducer.js.map +1 -1
  772. package/react/reducers/searchReducer.d.ts +7 -0
  773. package/react/reducers/searchReducer.js +6 -0
  774. package/react/reducers/searchReducer.js.map +1 -1
  775. package/react/reducers/workspaceReducer.js +1 -0
  776. package/react/reducers/workspaceReducer.js.map +1 -1
  777. package/react/store.d.ts +4 -0
  778. package/react/store.js +11 -0
  779. package/react/store.js.map +1 -1
  780. package/react/tsconfig.tsbuildinfo +1 -1
  781. package/react/types/fdc3.d.ts +2 -0
  782. package/react/types/linkerTypes.d.ts +13 -0
  783. package/react/types/linkerTypes.js +1 -0
  784. package/react/types/linkerTypes.js.map +1 -1
  785. package/react/types/smartDesktopDesignerTypes.d.ts +5 -0
  786. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
  787. package/react/types/workspaceTypes.d.ts +8 -0
@@ -28,32 +28,24 @@
28
28
  height: 10px;
29
29
  top: -7px;
30
30
  border-radius: 50%;
31
- background: #ffffff;
32
- background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
33
- background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
34
- background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
35
- background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
36
- background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
31
+ background: linear-gradient(to right, #fff 10%, rgb(255 255 255 / 0%) 42%);
37
32
  position: relative;
38
- -webkit-animation: load3 1.4s infinite linear;
39
33
  animation: load3 1.4s infinite linear;
40
- -webkit-transform: translateZ(0);
41
- -ms-transform: translateZ(0);
42
34
  transform: translateZ(0);
43
35
  }
44
36
 
45
- .fsbl-loader:before {
37
+ .fsbl-loader::before {
46
38
  width: 50%;
47
39
  height: 50%;
48
- background: #ffffff;
49
- border-radius: 100% 0 0 0;
40
+ background: #fff;
41
+ border-radius: 100% 0 0;
50
42
  position: absolute;
51
43
  top: 0;
52
44
  left: 0;
53
45
  content: "";
54
46
  }
55
47
 
56
- .fsbl-loader:after {
48
+ .fsbl-loader::after {
57
49
  background: #303d47;
58
50
  width: 75%;
59
51
  height: 75%;
@@ -67,24 +59,22 @@
67
59
  right: 0;
68
60
  }
69
61
 
70
- @-webkit-keyframes load3 {
62
+ @keyframes load3 {
71
63
  0% {
72
- -webkit-transform: rotate(0deg);
73
64
  transform: rotate(0deg);
74
65
  }
66
+
75
67
  100% {
76
- -webkit-transform: rotate(360deg);
77
68
  transform: rotate(360deg);
78
69
  }
79
70
  }
80
71
 
81
72
  @keyframes load3 {
82
73
  0% {
83
- -webkit-transform: rotate(0deg);
84
74
  transform: rotate(0deg);
85
75
  }
76
+
86
77
  100% {
87
- -webkit-transform: rotate(360deg);
88
78
  transform: rotate(360deg);
89
79
  }
90
80
  }
@@ -8,4 +8,8 @@ export declare type NotificationsPreferencesContextType = {
8
8
  notificationSources: INotificationSources[];
9
9
  setNotificationSources: React.Dispatch<React.SetStateAction<INotificationSources[]>>;
10
10
  };
11
+ /**
12
+ * We initialize our context with an empty object.
13
+ * We will set the context properly when we use it at runtime (during the first render).
14
+ */
11
15
  export declare const NotificationsPreferencesContext: import("react").Context<NotificationsPreferencesContextType>;
@@ -1,3 +1,7 @@
1
1
  import { createContext } from "react";
2
+ /**
3
+ * We initialize our context with an empty object.
4
+ * We will set the context properly when we use it at runtime (during the first render).
5
+ */
2
6
  export const NotificationsPreferencesContext = createContext({});
3
7
  //# sourceMappingURL=NotificationsPreferencesContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsPreferencesContext.js","sourceRoot":"","sources":["../../../src/components/userPreferences/NotificationsPreferencesContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAgBtC,MAAM,CAAC,MAAM,+BAA+B,GAAG,aAAa,CAC3D,EAAyC,CACzC,CAAC","sourcesContent":["import { createContext } from \"react\";\nimport { INotificationSources } from \"./components/content/Notifications\";\n\nexport type NotificationsPreferencesContextType = {\n\tcurrentNotificationsPreferencesView: \"Home\" | \"Sources\" | \"Details\";\n\tsetCurrentNotificationsPreferencesView: React.Dispatch<React.SetStateAction<\"Home\" | \"Sources\" | \"Details\">>;\n\tselectedNotificationSource: INotificationSources | null;\n\tsetSelectedNotificationSource: React.Dispatch<React.SetStateAction<INotificationSources | null>>;\n\tnotificationSources: INotificationSources[];\n\tsetNotificationSources: React.Dispatch<React.SetStateAction<INotificationSources[]>>;\n};\n\n/**\n * We initialize our context with an empty object.\n * We will set the context properly when we use it at runtime (during the first render).\n */\nexport const NotificationsPreferencesContext = createContext<NotificationsPreferencesContextType>(\n\t{} as NotificationsPreferencesContextType\n);\n"]}
1
+ {"version":3,"file":"NotificationsPreferencesContext.js","sourceRoot":"","sources":["../../../src/components/userPreferences/NotificationsPreferencesContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAYtC;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,aAAa,CAC3D,EAAyC,CACzC,CAAC","sourcesContent":["import { createContext } from \"react\";\nimport { INotificationSources } from \"./components/content/Notifications\";\n\nexport type NotificationsPreferencesContextType = {\n\tcurrentNotificationsPreferencesView: \"Home\" | \"Sources\" | \"Details\";\n\tsetCurrentNotificationsPreferencesView: React.Dispatch<React.SetStateAction<\"Home\" | \"Sources\" | \"Details\">>;\n\tselectedNotificationSource: INotificationSources | null;\n\tsetSelectedNotificationSource: React.Dispatch<React.SetStateAction<INotificationSources | null>>;\n\tnotificationSources: INotificationSources[];\n\tsetNotificationSources: React.Dispatch<React.SetStateAction<INotificationSources[]>>;\n};\n\n/**\n * We initialize our context with an empty object.\n * We will set the context properly when we use it at runtime (during the first render).\n */\nexport const NotificationsPreferencesContext = createContext<NotificationsPreferencesContextType>(\n\t{} as NotificationsPreferencesContextType\n);\n"]}
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @deprecated renamed to more correct universal name. use ScheduledDayTimeObjectType
3
+ */
1
4
  export declare type ScheduledRestartObjectType = {
2
5
  dayOfWeek?: number;
3
6
  hour: number;
@@ -1,8 +1,16 @@
1
+ /*!
2
+ * Copyright 2017 - 2020 by ChartIQ, Inc.
3
+ * All rights reserved.
4
+ */
1
5
  import React from "react";
2
6
  import General from "./components/content/General";
3
7
  import Workspaces from "./components/content/Workspaces";
4
8
  import DashbarEditor from "./components/content/DashbarEditor";
5
9
  import Notifications from "./components/content/Notifications";
10
+ /**
11
+ * The UserPreferences component initializes the user preference store that's used by its child components and renders
12
+ * its child components: LeftNav and ContentSection with the proper styles.
13
+ */
6
14
  export declare const UserPreferences: React.FunctionComponent<{
7
15
  sections?: {};
8
16
  }>;
@@ -1,3 +1,7 @@
1
+ /*!
2
+ * Copyright 2017 - 2020 by ChartIQ, Inc.
3
+ * All rights reserved.
4
+ */
1
5
  import React from "react";
2
6
  import General from "./components/content/General";
3
7
  import Workspaces from "./components/content/Workspaces";
@@ -5,6 +9,10 @@ import DashbarEditor from "./components/content/DashbarEditor";
5
9
  import Notifications from "./components/content/Notifications";
6
10
  import { UserPreferencesBase } from "./UserPreferencesBase";
7
11
  import * as Store from "./stores/UserPreferencesStore";
12
+ /**
13
+ * The UserPreferences component initializes the user preference store that's used by its child components and renders
14
+ * its child components: LeftNav and ContentSection with the proper styles.
15
+ */
8
16
  export const UserPreferences = ({ sections }) => {
9
17
  const { UserPreferencesStore } = Store;
10
18
  const storeSetValue = (obj) => UserPreferencesStore.setValue(obj);
@@ -1 +1 @@
1
- {"version":3,"file":"UserPreferences.js","sourceRoot":"","sources":["../../../src/components/userPreferences/UserPreferences.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,8BAA8B,CAAC;AACnD,OAAO,UAAU,MAAM,iCAAiC,CAAC;AACzD,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAC/D,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,+BAA+B,CAAC;AAMvD,MAAM,CAAC,MAAM,eAAe,GAEvB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrB,MAAM,EAAE,oBAAoB,EAAE,GAAQ,KAAK,CAAC;IAC5C,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAY,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5F,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAY,EAAE,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClG,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAY,EAAE,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxG,OAAO,CACN,oBAAC,mBAAmB,IACnB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,gBAAgB,EAC7B,cAAc,EAAE,mBAAmB,GAClC,CACF,CAAC;AACH,CAAC,CAAC;AACF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\nimport React from \"react\";\nimport General from \"./components/content/General\";\nimport Workspaces from \"./components/content/Workspaces\";\nimport DashbarEditor from \"./components/content/DashbarEditor\";\nimport Notifications from \"./components/content/Notifications\";\nimport { UserPreferencesBase } from \"./UserPreferencesBase\";\nimport * as Store from \"./stores/UserPreferencesStore\";\n\n/**\n * The UserPreferences component initializes the user preference store that's used by its child components and renders\n * its child components: LeftNav and ContentSection with the proper styles.\n */\nexport const UserPreferences: React.FunctionComponent<{\n\tsections?: {};\n}> = ({ sections }) => {\n\tconst { UserPreferencesStore }: any = Store;\n\tconst storeSetValue = (obj: object) => UserPreferencesStore.setValue(obj);\n\tconst storeGetValue = (obj: object, cb: Function) => UserPreferencesStore.getValue(obj, cb);\n\tconst storeAddListener = (obj: object, cb: Function) => UserPreferencesStore.addListener(obj, cb);\n\tconst storeRemoveListener = (obj: object, cb: Function) => UserPreferencesStore.removeListener(obj, cb);\n\treturn (\n\t\t<UserPreferencesBase\n\t\t\tsections={sections}\n\t\t\tsetValue={storeSetValue}\n\t\t\tgetValue={storeGetValue}\n\t\t\taddListener={storeAddListener}\n\t\t\tremoveListener={storeRemoveListener}\n\t\t/>\n\t);\n};\nexport { General, Workspaces, DashbarEditor, Notifications };\n"]}
1
+ {"version":3,"file":"UserPreferences.js","sourceRoot":"","sources":["../../../src/components/userPreferences/UserPreferences.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,8BAA8B,CAAC;AACnD,OAAO,UAAU,MAAM,iCAAiC,CAAC;AACzD,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAC/D,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,+BAA+B,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAEvB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACrB,MAAM,EAAE,oBAAoB,EAAE,GAAQ,KAAK,CAAC;IAC5C,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAY,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5F,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,EAAY,EAAE,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClG,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAY,EAAE,EAAE,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxG,OAAO,CACN,oBAAC,mBAAmB,IACnB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,gBAAgB,EAC7B,cAAc,EAAE,mBAAmB,GAClC,CACF,CAAC;AACH,CAAC,CAAC;AACF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\nimport React from \"react\";\nimport General from \"./components/content/General\";\nimport Workspaces from \"./components/content/Workspaces\";\nimport DashbarEditor from \"./components/content/DashbarEditor\";\nimport Notifications from \"./components/content/Notifications\";\nimport { UserPreferencesBase } from \"./UserPreferencesBase\";\nimport * as Store from \"./stores/UserPreferencesStore\";\n\n/**\n * The UserPreferences component initializes the user preference store that's used by its child components and renders\n * its child components: LeftNav and ContentSection with the proper styles.\n */\nexport const UserPreferences: React.FunctionComponent<{\n\tsections?: {};\n}> = ({ sections }) => {\n\tconst { UserPreferencesStore }: any = Store;\n\tconst storeSetValue = (obj: object) => UserPreferencesStore.setValue(obj);\n\tconst storeGetValue = (obj: object, cb: Function) => UserPreferencesStore.getValue(obj, cb);\n\tconst storeAddListener = (obj: object, cb: Function) => UserPreferencesStore.addListener(obj, cb);\n\tconst storeRemoveListener = (obj: object, cb: Function) => UserPreferencesStore.removeListener(obj, cb);\n\treturn (\n\t\t<UserPreferencesBase\n\t\t\tsections={sections}\n\t\t\tsetValue={storeSetValue}\n\t\t\tgetValue={storeGetValue}\n\t\t\taddListener={storeAddListener}\n\t\t\tremoveListener={storeRemoveListener}\n\t\t/>\n\t);\n};\nexport { General, Workspaces, DashbarEditor, Notifications };\n"]}
@@ -3,8 +3,12 @@ import LeftNav from "./components/LeftNav";
3
3
  import ContentSection from "./components/ContentSection";
4
4
  import "../../assets/css/userPreferences.css";
5
5
  import FloatingFocus from "@q42/floating-focus-a11y";
6
+ // The package FloatingFocus injects a focus indicator that moves around the page, but only for
7
+ // keyboard users. (Mouse users don't see the indicator.) All that needs to be done is to envoke it.
6
8
  new FloatingFocus();
9
+ // If you want to make changes to the indicator, the styles are being maintained in assets/css/focus.css
7
10
  export const UserPreferencesBase = (props) => {
11
+ // The active section is the section that is currently selected and displayed in the preference menu.
8
12
  const [activeSection, setActiveSection] = useState("General");
9
13
  const entries = Object.keys(props.sections);
10
14
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"UserPreferencesBase.js","sourceRoot":"","sources":["../../../src/components/userPreferences/UserPreferencesBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,sCAAsC,CAAC;AAE9C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AAGrD,IAAI,aAAa,EAAE,CAAC;AAGpB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAU,EAAE,EAAE;IAEjD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACd,SAAS,mBAAmB,CAAC,KAAU,EAAE,QAAa;YACrD,IAAI,KAAK,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;aAC1D;iBAAM;gBACN,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;gBAC1B,IAAI,IAAI,CAAC,cAAc,EAAE;oBACxB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;wBAC1C,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBACtC;yBAAM;wBACN,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,sCAAsC,CAAC,CAAC;qBACpF;iBACD;aACD;QACF,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,iCAAiC,EAAE,mBAAmB,CAAC,CAAC;QAC9F,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,iCAAiC,EAAE,mBAAmB,CAAC,CAAC;QAClG,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAEhE,OAAO,SAAS,OAAO;YACtB,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACpE,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACN,6BAAK,SAAS,EAAC,sBAAsB;QACpC,oBAAC,OAAO,IACP,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,gBAAgB,GAC/B;QACF,oBAAC,cAAc,kBAAC,aAAa,EAAE,aAAa,IAAM,KAAK,EAAI,CACtD,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport LeftNav from \"./components/LeftNav\";\nimport ContentSection from \"./components/ContentSection\";\nimport \"../../assets/css/userPreferences.css\";\n\nimport FloatingFocus from \"@q42/floating-focus-a11y\";\n// The package FloatingFocus injects a focus indicator that moves around the page, but only for\n// keyboard users. (Mouse users don't see the indicator.) All that needs to be done is to envoke it.\nnew FloatingFocus();\n// If you want to make changes to the indicator, the styles are being maintained in assets/css/focus.css\n\nexport const UserPreferencesBase = (props: any) => {\n\t// The active section is the section that is currently selected and displayed in the preference menu.\n\tconst [activeSection, setActiveSection] = useState(\"General\");\n\tconst entries = Object.keys(props.sections);\n\n\tuseEffect(() => {\n\t\tfunction listenForPreference(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleUserPreferencesChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tif (data.preferencesTab) {\n\t\t\t\t\tif (entries.includes(data.preferencesTab)) {\n\t\t\t\t\t\tsetActiveSection(data.preferencesTab);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.warn(`Unknown ${data?.preferencesTab} value for User Preferences sections`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleUserPreferencesChannel\", listenForPreference);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleUserPreferencesChannel\", listenForPreference);\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tprops.addListener({ field: \"activeSection\" }, setActiveSection);\n\n\t\treturn function cleanup() {\n\t\t\tprops.removeListener({ field: \"activeSection\" }, setActiveSection);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<div className=\"complex-menu-wrapper\">\n\t\t\t<LeftNav\n\t\t\t\tactiveSection={activeSection}\n\t\t\t\tsetValue={props.setValue}\n\t\t\t\tgetValue={props.getValue}\n\t\t\t\tentries={entries}\n\t\t\t\tsetActiveEntry={setActiveSection}\n\t\t\t/>\n\t\t\t<ContentSection activeSection={activeSection} {...props} />\n\t\t</div>\n\t);\n};\n"]}
1
+ {"version":3,"file":"UserPreferencesBase.js","sourceRoot":"","sources":["../../../src/components/userPreferences/UserPreferencesBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,sCAAsC,CAAC;AAE9C,OAAO,aAAa,MAAM,0BAA0B,CAAC;AACrD,+FAA+F;AAC/F,oGAAoG;AACpG,IAAI,aAAa,EAAE,CAAC;AACpB,wGAAwG;AAExG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAU,EAAE,EAAE;IACjD,qGAAqG;IACrG,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE5C,SAAS,CAAC,GAAG,EAAE;QACd,SAAS,mBAAmB,CAAC,KAAU,EAAE,QAAa;YACrD,IAAI,KAAK,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;aAC1D;iBAAM;gBACN,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;gBAC1B,IAAI,IAAI,CAAC,cAAc,EAAE;oBACxB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;wBAC1C,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;qBACtC;yBAAM;wBACN,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,sCAAsC,CAAC,CAAC;qBACpF;iBACD;aACD;QACF,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,iCAAiC,EAAE,mBAAmB,CAAC,CAAC;QAC9F,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,iCAAiC,EAAE,mBAAmB,CAAC,CAAC;QAClG,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAEhE,OAAO,SAAS,OAAO;YACtB,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,gBAAgB,CAAC,CAAC;QACpE,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACN,6BAAK,SAAS,EAAC,sBAAsB;QACpC,oBAAC,OAAO,IACP,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,gBAAgB,GAC/B;QACF,oBAAC,cAAc,kBAAC,aAAa,EAAE,aAAa,IAAM,KAAK,EAAI,CACtD,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport LeftNav from \"./components/LeftNav\";\nimport ContentSection from \"./components/ContentSection\";\nimport \"../../assets/css/userPreferences.css\";\n\nimport FloatingFocus from \"@q42/floating-focus-a11y\";\n// The package FloatingFocus injects a focus indicator that moves around the page, but only for\n// keyboard users. (Mouse users don't see the indicator.) All that needs to be done is to envoke it.\nnew FloatingFocus();\n// If you want to make changes to the indicator, the styles are being maintained in assets/css/focus.css\n\nexport const UserPreferencesBase = (props: any) => {\n\t// The active section is the section that is currently selected and displayed in the preference menu.\n\tconst [activeSection, setActiveSection] = useState(\"General\");\n\tconst entries = Object.keys(props.sections);\n\n\tuseEffect(() => {\n\t\tfunction listenForPreference(error: any, response: any) {\n\t\t\tif (error) {\n\t\t\t\tconsole.error(\"FinsembleUserPreferencesChannel: \", error);\n\t\t\t} else {\n\t\t\t\tconst { data } = response;\n\t\t\t\tif (data.preferencesTab) {\n\t\t\t\t\tif (entries.includes(data.preferencesTab)) {\n\t\t\t\t\t\tsetActiveSection(data.preferencesTab);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.warn(`Unknown ${data?.preferencesTab} value for User Preferences sections`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tFSBL.Clients.RouterClient.addListener(\"FinsembleUserPreferencesChannel\", listenForPreference);\n\t\treturn () => {\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"FinsembleUserPreferencesChannel\", listenForPreference);\n\t\t};\n\t}, []);\n\n\tuseEffect(() => {\n\t\tprops.addListener({ field: \"activeSection\" }, setActiveSection);\n\n\t\treturn function cleanup() {\n\t\t\tprops.removeListener({ field: \"activeSection\" }, setActiveSection);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<div className=\"complex-menu-wrapper\">\n\t\t\t<LeftNav\n\t\t\t\tactiveSection={activeSection}\n\t\t\t\tsetValue={props.setValue}\n\t\t\t\tgetValue={props.getValue}\n\t\t\t\tentries={entries}\n\t\t\t\tsetActiveEntry={setActiveSection}\n\t\t\t/>\n\t\t\t<ContentSection activeSection={activeSection} {...props} />\n\t\t</div>\n\t);\n};\n"]}
@@ -1,4 +1,9 @@
1
1
  import React from "react";
2
+ /**
3
+ * Displays the user preference section page for the currently selected section.
4
+ * @param {string} props.activeSection The current selected section.
5
+ * @param {object} props.customSections The client customized user preference sections.
6
+ */
2
7
  declare type ContentSectionProps = {
3
8
  addListener: Function;
4
9
  removeListener: Function;
@@ -1,4 +1,8 @@
1
1
  import React from "react";
2
+ /**
3
+ * The left section of the UserPreference menu. It contains all the preference section buttons for the user
4
+ * to select and go to different user preference sections.
5
+ */
2
6
  declare type LeftNavProps = {
3
7
  getValue: Function;
4
8
  setValue: Function;
@@ -8,6 +8,7 @@ export default class DashbarEditor extends React.Component {
8
8
  dashbarStore: null,
9
9
  dashbarConfigPath: "finsemble.availableDashbarItems",
10
10
  dashbarStorePath: "Finsemble-Dashbar-Store",
11
+ // props.availableItems is for the DashbarEditor story
11
12
  availableItems: props.availableItems ? props.availableItems : [],
12
13
  };
13
14
  this.updateDashbarItems = this.updateDashbarItems.bind(this);
@@ -86,6 +87,7 @@ export default class DashbarEditor extends React.Component {
86
87
  }
87
88
  }
88
89
  removeItem(itemId) {
90
+ // Removes a key from the store, dashbar will update the UI
89
91
  this.state.dashbarStore.getValue({ field: "dashbaritems" }, (error, dashbaritems) => {
90
92
  const indexToRemove = dashbaritems.findIndex((name) => name === itemId);
91
93
  dashbaritems.splice(indexToRemove, 1);
@@ -93,6 +95,7 @@ export default class DashbarEditor extends React.Component {
93
95
  });
94
96
  }
95
97
  addItem(itemId) {
98
+ // Update the store with new item, dashbar will parse these values and apply them
96
99
  this.state.dashbarStore.getValue({ field: "dashbaritems" }, (error, dashbaritems) => {
97
100
  dashbaritems.push(itemId);
98
101
  this.state.dashbarStore.setValue({ field: "dashbaritems", value: dashbaritems });
@@ -1 +1 @@
1
- {"version":3,"file":"DashbarEditor.js","sourceRoot":"","sources":["../../../../../src/components/userPreferences/components/content/DashbarEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport \"../../../../assets/css/userPreferences.css\";\nimport DashbarEditorItem from \"./DashbarEditorItem\";\n\ntype DashbarEditorProps = {\n\tavailableItems?: Array<any>;\n\tclassName?: string;\n};\n\ntype DashbarEditorState = {\n\tdashbarStore: any;\n\tdashbarConfigPath: string;\n\tdashbarStorePath: string;\n\tavailableItems: Array<any>;\n};\n\nexport default class DashbarEditor extends React.Component<DashbarEditorProps, DashbarEditorState> {\n\tconstructor(props: DashbarEditorProps) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tdashbarStore: null,\n\t\t\tdashbarConfigPath: \"finsemble.availableDashbarItems\",\n\t\t\tdashbarStorePath: \"Finsemble-Dashbar-Store\",\n\t\t\t// props.availableItems is for the DashbarEditor story\n\t\t\tavailableItems: props.availableItems ? props.availableItems : [],\n\t\t};\n\t\tthis.updateDashbarItems = this.updateDashbarItems.bind(this);\n\t}\n\n\tasync componentDidMount() {\n\t\ttry {\n\t\t\tconst { data: availableDashbarItems } = await FSBL.Clients.ConfigClient.getValue({\n\t\t\t\tfield: \"finsemble.availableDashbarItems\",\n\t\t\t});\n\t\t\tFSBL.Clients.DistributedStoreClient.getStore(\n\t\t\t\t{\n\t\t\t\t\tstore: this.state.dashbarStorePath,\n\t\t\t\t\tglobal: true,\n\t\t\t\t},\n\t\t\t\t(error: any, store: any) => {\n\t\t\t\t\tconst DashbarStore = store;\n\n\t\t\t\t\tconst { dashbaritems } = DashbarStore.values;\n\n\t\t\t\t\tDashbarStore.addListener(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"dashbaritems\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.updateDashbarItems\n\t\t\t\t\t);\n\n\t\t\t\t\tconst newDashbarItems: Array<any> = [];\n\n\t\t\t\t\tconst hasEnabledItems = dashbaritems && Array.isArray(dashbaritems) && dashbaritems.length > 0;\n\n\t\t\t\t\tavailableDashbarItems &&\n\t\t\t\t\t\tObject.keys(availableDashbarItems).map((dashbarItemName) => {\n\t\t\t\t\t\t\tconst newItem = availableDashbarItems[dashbarItemName];\n\t\t\t\t\t\t\tif (hasEnabledItems && dashbaritems.includes(dashbarItemName)) {\n\t\t\t\t\t\t\t\tnewItem.enabled = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewItem.enabled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tnewItem.id = dashbarItemName;\n\t\t\t\t\t\t\tnewDashbarItems.push(newItem);\n\t\t\t\t\t\t});\n\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdashbarStore: DashbarStore,\n\t\t\t\t\t\tavailableItems: newDashbarItems,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t);\n\t\t} catch (errorInitializingDashbarItems) {\n\t\t\tFSBL.Clients.Logger.system.error(\"Error initializing dashbar preferences\", errorInitializingDashbarItems);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\ttry {\n\t\t\tthis.state.dashbarStore.removeListener({ field: \"dashbaritems\" }, this.updateDashbarItems);\n\t\t} catch {\n\t\t\tFSBL.Clients.Logger.system.error(\"Error unmounting component\");\n\t\t}\n\t}\n\n\tasync updateDashbarItems(err: any, data: any) {\n\t\ttry {\n\t\t\tconst { data: availableDashbarItems } = await FSBL.Clients.ConfigClient.getValue({\n\t\t\t\tfield: \"finsemble.availableDashbarItems\",\n\t\t\t});\n\n\t\t\tconst hasEnabledItems = data.value && Array.isArray(data.value) && data.value.length > 0;\n\n\t\t\tconst newDashbarItems: Array<any> = [];\n\t\t\tavailableDashbarItems &&\n\t\t\t\tObject.keys(availableDashbarItems).map((dashbarItemName) => {\n\t\t\t\t\tconst newItem = availableDashbarItems[dashbarItemName];\n\t\t\t\t\tif (hasEnabledItems && data.value.includes(dashbarItemName)) {\n\t\t\t\t\t\tnewItem.enabled = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewItem.enabled = false;\n\t\t\t\t\t}\n\t\t\t\t\tnewItem.id = dashbarItemName;\n\t\t\t\t\tnewDashbarItems.push(newItem);\n\t\t\t\t});\n\n\t\t\tthis.setState({\n\t\t\t\tavailableItems: newDashbarItems,\n\t\t\t});\n\t\t} catch (errorUpdatingDashbarItems) {\n\t\t\tFSBL.Clients.Logger.system.error(\"Error updating dashbar items\", errorUpdatingDashbarItems);\n\t\t}\n\t}\n\n\tremoveItem(itemId: number) {\n\t\t// Removes a key from the store, dashbar will update the UI\n\t\tthis.state.dashbarStore.getValue({ field: \"dashbaritems\" }, (error: any, dashbaritems: Array<any>) => {\n\t\t\tconst indexToRemove = dashbaritems.findIndex((name) => name === itemId);\n\t\t\tdashbaritems.splice(indexToRemove, 1);\n\t\t\tthis.state.dashbarStore.setValue({ field: \"dashbaritems\", value: dashbaritems });\n\t\t});\n\t}\n\n\taddItem(itemId: number) {\n\t\t// Update the store with new item, dashbar will parse these values and apply them\n\t\tthis.state.dashbarStore.getValue({ field: \"dashbaritems\" }, (error: any, dashbaritems: Array<any>) => {\n\t\t\tdashbaritems.push(itemId);\n\t\t\tthis.state.dashbarStore.setValue({ field: \"dashbaritems\", value: dashbaritems });\n\t\t});\n\t}\n\n\trender() {\n\t\tconst { availableItems: items, dashbarConfigPath: configPath } = this.state;\n\n\t\tif (items.length > 0) {\n\t\t\treturn (\n\t\t\t\t<div className={`dashbar-preferences ${this.props.className || \"\"}`} style={{ paddingLeft: 20, paddingTop: 3 }}>\n\t\t\t\t\t<table className=\"dashbar-items-table\">\n\t\t\t\t\t\t<colgroup>\n\t\t\t\t\t\t\t<col className=\"db-col-1\" />\n\t\t\t\t\t\t\t<col className=\"db-col-2\" />\n\t\t\t\t\t\t\t<col className=\"db-col-3\" />\n\t\t\t\t\t\t\t<col className=\"db-col-4\" />\n\t\t\t\t\t\t</colgroup>\n\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t<tr className=\"items-header\">\n\t\t\t\t\t\t\t\t<th></th>\n\t\t\t\t\t\t\t\t<th>Title:</th>\n\t\t\t\t\t\t\t\t<th>Url:</th>\n\t\t\t\t\t\t\t\t<th>Width:</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t{items.map((item: any, index: number) => {\n\t\t\t\t\t\t\t\tconst buttonAction = item.enabled\n\t\t\t\t\t\t\t\t\t? this.removeItem.bind(this, item.id)\n\t\t\t\t\t\t\t\t\t: this.addItem.bind(this, item.id);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DashbarEditorItem\n\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\tbuttonAction={buttonAction}\n\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t\tid={item.id}\n\t\t\t\t\t\t\t\t\t\ttitle={item.title}\n\t\t\t\t\t\t\t\t\t\tenabled={item.enabled}\n\t\t\t\t\t\t\t\t\t\turl={item.url}\n\t\t\t\t\t\t\t\t\t\twidth={item.width}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<div id=\"no-dashbar-items\" style={{ paddingLeft: 20 }}>\n\t\t\t\t\t{`You don't seem to have any dashbar items enabled or defined. Define some in ${configPath}`}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"DashbarEditor.js","sourceRoot":"","sources":["../../../../../src/components/userPreferences/components/content/DashbarEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport \"../../../../assets/css/userPreferences.css\";\nimport DashbarEditorItem from \"./DashbarEditorItem\";\n\ntype DashbarEditorProps = {\n\tavailableItems?: Array<any>;\n\tclassName?: string;\n};\n\ntype DashbarEditorState = {\n\tdashbarStore: any;\n\tdashbarConfigPath: string;\n\tdashbarStorePath: string;\n\tavailableItems: Array<any>;\n};\n\nexport default class DashbarEditor extends React.Component<DashbarEditorProps, DashbarEditorState> {\n\tconstructor(props: DashbarEditorProps) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tdashbarStore: null,\n\t\t\tdashbarConfigPath: \"finsemble.availableDashbarItems\",\n\t\t\tdashbarStorePath: \"Finsemble-Dashbar-Store\",\n\t\t\t// props.availableItems is for the DashbarEditor story\n\t\t\tavailableItems: props.availableItems ? props.availableItems : [],\n\t\t};\n\t\tthis.updateDashbarItems = this.updateDashbarItems.bind(this);\n\t}\n\n\tasync componentDidMount() {\n\t\ttry {\n\t\t\tconst { data: availableDashbarItems } = await FSBL.Clients.ConfigClient.getValue({\n\t\t\t\tfield: \"finsemble.availableDashbarItems\",\n\t\t\t});\n\t\t\tFSBL.Clients.DistributedStoreClient.getStore(\n\t\t\t\t{\n\t\t\t\t\tstore: this.state.dashbarStorePath,\n\t\t\t\t\tglobal: true,\n\t\t\t\t},\n\t\t\t\t(error: any, store: any) => {\n\t\t\t\t\tconst DashbarStore = store;\n\n\t\t\t\t\tconst { dashbaritems } = DashbarStore.values;\n\n\t\t\t\t\tDashbarStore.addListener(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfield: \"dashbaritems\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.updateDashbarItems\n\t\t\t\t\t);\n\n\t\t\t\t\tconst newDashbarItems: Array<any> = [];\n\n\t\t\t\t\tconst hasEnabledItems = dashbaritems && Array.isArray(dashbaritems) && dashbaritems.length > 0;\n\n\t\t\t\t\tavailableDashbarItems &&\n\t\t\t\t\t\tObject.keys(availableDashbarItems).map((dashbarItemName) => {\n\t\t\t\t\t\t\tconst newItem = availableDashbarItems[dashbarItemName];\n\t\t\t\t\t\t\tif (hasEnabledItems && dashbaritems.includes(dashbarItemName)) {\n\t\t\t\t\t\t\t\tnewItem.enabled = true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewItem.enabled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tnewItem.id = dashbarItemName;\n\t\t\t\t\t\t\tnewDashbarItems.push(newItem);\n\t\t\t\t\t\t});\n\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tdashbarStore: DashbarStore,\n\t\t\t\t\t\tavailableItems: newDashbarItems,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t);\n\t\t} catch (errorInitializingDashbarItems) {\n\t\t\tFSBL.Clients.Logger.system.error(\"Error initializing dashbar preferences\", errorInitializingDashbarItems);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\ttry {\n\t\t\tthis.state.dashbarStore.removeListener({ field: \"dashbaritems\" }, this.updateDashbarItems);\n\t\t} catch {\n\t\t\tFSBL.Clients.Logger.system.error(\"Error unmounting component\");\n\t\t}\n\t}\n\n\tasync updateDashbarItems(err: any, data: any) {\n\t\ttry {\n\t\t\tconst { data: availableDashbarItems } = await FSBL.Clients.ConfigClient.getValue({\n\t\t\t\tfield: \"finsemble.availableDashbarItems\",\n\t\t\t});\n\n\t\t\tconst hasEnabledItems = data.value && Array.isArray(data.value) && data.value.length > 0;\n\n\t\t\tconst newDashbarItems: Array<any> = [];\n\t\t\tavailableDashbarItems &&\n\t\t\t\tObject.keys(availableDashbarItems).map((dashbarItemName) => {\n\t\t\t\t\tconst newItem = availableDashbarItems[dashbarItemName];\n\t\t\t\t\tif (hasEnabledItems && data.value.includes(dashbarItemName)) {\n\t\t\t\t\t\tnewItem.enabled = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewItem.enabled = false;\n\t\t\t\t\t}\n\t\t\t\t\tnewItem.id = dashbarItemName;\n\t\t\t\t\tnewDashbarItems.push(newItem);\n\t\t\t\t});\n\n\t\t\tthis.setState({\n\t\t\t\tavailableItems: newDashbarItems,\n\t\t\t});\n\t\t} catch (errorUpdatingDashbarItems) {\n\t\t\tFSBL.Clients.Logger.system.error(\"Error updating dashbar items\", errorUpdatingDashbarItems);\n\t\t}\n\t}\n\n\tremoveItem(itemId: number) {\n\t\t// Removes a key from the store, dashbar will update the UI\n\t\tthis.state.dashbarStore.getValue({ field: \"dashbaritems\" }, (error: any, dashbaritems: Array<any>) => {\n\t\t\tconst indexToRemove = dashbaritems.findIndex((name) => name === itemId);\n\t\t\tdashbaritems.splice(indexToRemove, 1);\n\t\t\tthis.state.dashbarStore.setValue({ field: \"dashbaritems\", value: dashbaritems });\n\t\t});\n\t}\n\n\taddItem(itemId: number) {\n\t\t// Update the store with new item, dashbar will parse these values and apply them\n\t\tthis.state.dashbarStore.getValue({ field: \"dashbaritems\" }, (error: any, dashbaritems: Array<any>) => {\n\t\t\tdashbaritems.push(itemId);\n\t\t\tthis.state.dashbarStore.setValue({ field: \"dashbaritems\", value: dashbaritems });\n\t\t});\n\t}\n\n\trender() {\n\t\tconst { availableItems: items, dashbarConfigPath: configPath } = this.state;\n\n\t\tif (items.length > 0) {\n\t\t\treturn (\n\t\t\t\t<div className={`dashbar-preferences ${this.props.className || \"\"}`} style={{ paddingLeft: 20, paddingTop: 3 }}>\n\t\t\t\t\t<table className=\"dashbar-items-table\">\n\t\t\t\t\t\t<colgroup>\n\t\t\t\t\t\t\t<col className=\"db-col-1\" />\n\t\t\t\t\t\t\t<col className=\"db-col-2\" />\n\t\t\t\t\t\t\t<col className=\"db-col-3\" />\n\t\t\t\t\t\t\t<col className=\"db-col-4\" />\n\t\t\t\t\t\t</colgroup>\n\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t<tr className=\"items-header\">\n\t\t\t\t\t\t\t\t<th></th>\n\t\t\t\t\t\t\t\t<th>Title:</th>\n\t\t\t\t\t\t\t\t<th>Url:</th>\n\t\t\t\t\t\t\t\t<th>Width:</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t{items.map((item: any, index: number) => {\n\t\t\t\t\t\t\t\tconst buttonAction = item.enabled\n\t\t\t\t\t\t\t\t\t? this.removeItem.bind(this, item.id)\n\t\t\t\t\t\t\t\t\t: this.addItem.bind(this, item.id);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DashbarEditorItem\n\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\tbuttonAction={buttonAction}\n\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t\tid={item.id}\n\t\t\t\t\t\t\t\t\t\ttitle={item.title}\n\t\t\t\t\t\t\t\t\t\tenabled={item.enabled}\n\t\t\t\t\t\t\t\t\t\turl={item.url}\n\t\t\t\t\t\t\t\t\t\twidth={item.width}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<div id=\"no-dashbar-items\" style={{ paddingLeft: 20 }}>\n\t\t\t\t\t{`You don't seem to have any dashbar items enabled or defined. Define some in ${configPath}`}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n}\n"]}
@@ -1,5 +1,8 @@
1
1
  import React, { useState } from "react";
2
+ // Types
3
+ // Context
2
4
  import { NotificationsPreferencesContext, } from "../../NotificationsPreferencesContext";
5
+ // Components
3
6
  import NotificationsPreferencesHome from "./notificationViews/NotificationsPreferencesHome";
4
7
  import NotificationsSourcesPreferences from "./notificationViews/NotificationsSourcesPreferences";
5
8
  import NotificationsSourceTypes from "./notificationViews/NotificationsSourceTypes";
@@ -1 +1 @@
1
- {"version":3,"file":"Notifications.js","sourceRoot":"","sources":["../../../../../src/components/userPreferences/components/content/Notifications.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKxC,OAAO,EACN,+BAA+B,GAE/B,MAAM,uCAAuC,CAAC;AAG/C,OAAO,4BAA4B,MAAM,kDAAkD,CAAC;AAC5F,OAAO,+BAA+B,MAAM,qDAAqD,CAAC;AAClG,OAAO,wBAAwB,MAAM,8CAA8C,CAAC;AAYpF,MAAM,UAAU,GAAG,CAAC,QAAwC,EAAE,EAAE;IAC/D,QAAQ,QAAQ,EAAE;QACjB,KAAK,MAAM;YACV,OAAO,oBAAC,4BAA4B,OAAG,CAAC;QAEzC,KAAK,SAAS;YACb,OAAO,oBAAC,+BAA+B,OAAG,CAAC;QAE5C,KAAK,SAAS;YACb,OAAO,oBAAC,wBAAwB,OAAG,CAAC;QACrC;YACC,OAAO;KACR;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa;IACpC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAiC,MAAM,CAAC,CAAC;IACvF,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IAChH,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC,CAAC;IAE3F,MAAM,qCAAqC,GAAwC;QAClF,mCAAmC,EAAE,WAAW;QAChD,sCAAsC,EAAE,cAAc;QACtD,0BAA0B,EAAE,0BAA0B;QACtD,6BAA6B,EAAE,6BAA6B;QAC5D,mBAAmB,EAAE,mBAAmB;QACxC,sBAAsB,EAAE,sBAAsB;KAC9C,CAAC;IAEF,OAAO,CACN,6BAAK,SAAS,EAAC,2CAA2C;QACzD,oBAAC,+BAA+B,CAAC,QAAQ,IAAC,KAAK,EAAE,qCAAqC,IACpF,UAAU,CAAC,WAAW,CAAC,CACkB,CACtC,CACN,CAAC;AACH,CAAC","sourcesContent":["import React, { useState } from \"react\";\n\n// Types\n\n// Context\nimport {\n\tNotificationsPreferencesContext,\n\tNotificationsPreferencesContextType,\n} from \"../../NotificationsPreferencesContext\";\n\n// Components\nimport NotificationsPreferencesHome from \"./notificationViews/NotificationsPreferencesHome\";\nimport NotificationsSourcesPreferences from \"./notificationViews/NotificationsSourcesPreferences\";\nimport NotificationsSourceTypes from \"./notificationViews/NotificationsSourceTypes\";\n\nexport interface IType {\n\tname: string;\n\tmuted: boolean;\n}\nexport interface INotificationSources {\n\tsource: string;\n\ticon: string;\n\ttypes: IType[];\n}\n\nconst renderView = (viewName: \"Home\" | \"Sources\" | \"Details\") => {\n\tswitch (viewName) {\n\t\tcase \"Home\":\n\t\t\treturn <NotificationsPreferencesHome />;\n\n\t\tcase \"Sources\":\n\t\t\treturn <NotificationsSourcesPreferences />;\n\n\t\tcase \"Details\":\n\t\t\treturn <NotificationsSourceTypes />;\n\t\tdefault:\n\t\t\treturn;\n\t}\n};\n\nexport default function Notifications() {\n\tconst [currentView, setCurrentView] = useState<\"Home\" | \"Sources\" | \"Details\">(\"Home\");\n\tconst [selectedNotificationSource, setSelectedNotificationSource] = useState<INotificationSources | null>(null);\n\tconst [notificationSources, setNotificationSources] = useState<INotificationSources[]>([]);\n\n\tconst notificationsPreferencesContextValues: NotificationsPreferencesContextType = {\n\t\tcurrentNotificationsPreferencesView: currentView,\n\t\tsetCurrentNotificationsPreferencesView: setCurrentView,\n\t\tselectedNotificationSource: selectedNotificationSource,\n\t\tsetSelectedNotificationSource: setSelectedNotificationSource,\n\t\tnotificationSources: notificationSources,\n\t\tsetNotificationSources: setNotificationSources,\n\t};\n\n\treturn (\n\t\t<div className=\"notifications-main-preferences__container\">\n\t\t\t<NotificationsPreferencesContext.Provider value={notificationsPreferencesContextValues}>\n\t\t\t\t{renderView(currentView)}\n\t\t\t</NotificationsPreferencesContext.Provider>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"file":"Notifications.js","sourceRoot":"","sources":["../../../../../src/components/userPreferences/components/content/Notifications.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAExC,QAAQ;AAER,UAAU;AACV,OAAO,EACN,+BAA+B,GAE/B,MAAM,uCAAuC,CAAC;AAE/C,aAAa;AACb,OAAO,4BAA4B,MAAM,kDAAkD,CAAC;AAC5F,OAAO,+BAA+B,MAAM,qDAAqD,CAAC;AAClG,OAAO,wBAAwB,MAAM,8CAA8C,CAAC;AAYpF,MAAM,UAAU,GAAG,CAAC,QAAwC,EAAE,EAAE;IAC/D,QAAQ,QAAQ,EAAE;QACjB,KAAK,MAAM;YACV,OAAO,oBAAC,4BAA4B,OAAG,CAAC;QAEzC,KAAK,SAAS;YACb,OAAO,oBAAC,+BAA+B,OAAG,CAAC;QAE5C,KAAK,SAAS;YACb,OAAO,oBAAC,wBAAwB,OAAG,CAAC;QACrC;YACC,OAAO;KACR;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa;IACpC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAiC,MAAM,CAAC,CAAC;IACvF,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IAChH,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAyB,EAAE,CAAC,CAAC;IAE3F,MAAM,qCAAqC,GAAwC;QAClF,mCAAmC,EAAE,WAAW;QAChD,sCAAsC,EAAE,cAAc;QACtD,0BAA0B,EAAE,0BAA0B;QACtD,6BAA6B,EAAE,6BAA6B;QAC5D,mBAAmB,EAAE,mBAAmB;QACxC,sBAAsB,EAAE,sBAAsB;KAC9C,CAAC;IAEF,OAAO,CACN,6BAAK,SAAS,EAAC,2CAA2C;QACzD,oBAAC,+BAA+B,CAAC,QAAQ,IAAC,KAAK,EAAE,qCAAqC,IACpF,UAAU,CAAC,WAAW,CAAC,CACkB,CACtC,CACN,CAAC;AACH,CAAC","sourcesContent":["import React, { useState } from \"react\";\n\n// Types\n\n// Context\nimport {\n\tNotificationsPreferencesContext,\n\tNotificationsPreferencesContextType,\n} from \"../../NotificationsPreferencesContext\";\n\n// Components\nimport NotificationsPreferencesHome from \"./notificationViews/NotificationsPreferencesHome\";\nimport NotificationsSourcesPreferences from \"./notificationViews/NotificationsSourcesPreferences\";\nimport NotificationsSourceTypes from \"./notificationViews/NotificationsSourceTypes\";\n\nexport interface IType {\n\tname: string;\n\tmuted: boolean;\n}\nexport interface INotificationSources {\n\tsource: string;\n\ticon: string;\n\ttypes: IType[];\n}\n\nconst renderView = (viewName: \"Home\" | \"Sources\" | \"Details\") => {\n\tswitch (viewName) {\n\t\tcase \"Home\":\n\t\t\treturn <NotificationsPreferencesHome />;\n\n\t\tcase \"Sources\":\n\t\t\treturn <NotificationsSourcesPreferences />;\n\n\t\tcase \"Details\":\n\t\t\treturn <NotificationsSourceTypes />;\n\t\tdefault:\n\t\t\treturn;\n\t}\n};\n\nexport default function Notifications() {\n\tconst [currentView, setCurrentView] = useState<\"Home\" | \"Sources\" | \"Details\">(\"Home\");\n\tconst [selectedNotificationSource, setSelectedNotificationSource] = useState<INotificationSources | null>(null);\n\tconst [notificationSources, setNotificationSources] = useState<INotificationSources[]>([]);\n\n\tconst notificationsPreferencesContextValues: NotificationsPreferencesContextType = {\n\t\tcurrentNotificationsPreferencesView: currentView,\n\t\tsetCurrentNotificationsPreferencesView: setCurrentView,\n\t\tselectedNotificationSource: selectedNotificationSource,\n\t\tsetSelectedNotificationSource: setSelectedNotificationSource,\n\t\tnotificationSources: notificationSources,\n\t\tsetNotificationSources: setNotificationSources,\n\t};\n\n\treturn (\n\t\t<div className=\"notifications-main-preferences__container\">\n\t\t\t<NotificationsPreferencesContext.Provider value={notificationsPreferencesContextValues}>\n\t\t\t\t{renderView(currentView)}\n\t\t\t</NotificationsPreferencesContext.Provider>\n\t\t</div>\n\t);\n}\n"]}
@@ -35,6 +35,11 @@ export default class Workspaces extends React.Component<IProps, IState> {
35
35
  value: Workspace[];
36
36
  }): void;
37
37
  addListeners(): void;
38
+ /**
39
+ * Sets the windowOptions.alwaysOnTop to the value supplied. The preferences component should
40
+ * not be always on top when a file dialog is open.
41
+ * @param {boolean} alwaysOnTop The value to set finsembleWindow.options.alwaysOnTop
42
+ */
38
43
  changePreferencesAlwaysOnTop(alwaysOnTop: boolean): void;
39
44
  onDragEnd({ oldIndex, newIndex }: {
40
45
  oldIndex: number;
@@ -54,6 +59,13 @@ export default class Workspaces extends React.Component<IProps, IState> {
54
59
  setPreference(field: string, value: any, cb?: Function): void;
55
60
  setWorkspaceToLoadOnStart(eventOrCb: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement> | (() => void)): void;
56
61
  openFileDialog(): void;
62
+ /**
63
+ * If the event is being listened to, when the preferences component is focused
64
+ * it will set always on top to true, and remove the event listener
65
+ *
66
+ * This is to handle bringing alwaysOnTop back to true when file dialogs are closed
67
+ * without changes (also handles bringing back to front after exporting)
68
+ */
57
69
  preferencesFocused(): void;
58
70
  importWorkspace(evt: Event & {
59
71
  target: {
@@ -72,7 +72,15 @@ export default class Workspaces extends React.Component {
72
72
  addListeners() {
73
73
  this.props.addListener({ field: "WorkspaceList" }, this.setWorkspaceList);
74
74
  }
75
+ /**
76
+ * Sets the windowOptions.alwaysOnTop to the value supplied. The preferences component should
77
+ * not be always on top when a file dialog is open.
78
+ * @param {boolean} alwaysOnTop The value to set finsembleWindow.options.alwaysOnTop
79
+ */
75
80
  changePreferencesAlwaysOnTop(alwaysOnTop) {
81
+ // The initialAlwaysOnTop check is to prevent making a component be alwaysOnTop when the
82
+ // client may have set it to alwaysOnTop:false in the config. If that's the case, it should
83
+ // never set its alwaysOnTop to true and should always remain unchanged
76
84
  if (this.state.initialAlwaysOnTop) {
77
85
  FSBL.Clients.WindowClient.setAlwaysOnTop(alwaysOnTop, () => {
78
86
  this.setState({
@@ -94,6 +102,8 @@ export default class Workspaces extends React.Component {
94
102
  data: { oldIndex, newIndex },
95
103
  });
96
104
  }
105
+ // returns all the component types of a template definition to display to user for additional info. If multiple components with same type, then instead of listing each
106
+ // individually, only one entry will be returned with the count in parentheses.
97
107
  getComponentTypes(templateObject) {
98
108
  FSBL.Clients.Logger.system.debug("getComponentTypes templateObject", templateObject);
99
109
  let componentType;
@@ -104,6 +114,7 @@ export default class Workspaces extends React.Component {
104
114
  FSBL.Clients.Logger.system.debug("getComponentTypes loop", windowData);
105
115
  componentType = "Unknown Component";
106
116
  if (windowData) {
117
+ // current assimilation doesn't fill in windowData, so in this case use "Unknown Component" for component type
107
118
  componentType = windowData.componentType || windowData.customData.component.type;
108
119
  }
109
120
  else {
@@ -168,6 +179,7 @@ export default class Workspaces extends React.Component {
168
179
  }
169
180
  let updatedWorkspaceList = this.state.workspaceList;
170
181
  let index = updatedWorkspaceList.findIndex((el) => el.name === oldName);
182
+ // Set state locally so that the text doesn't change when the input field unmounts.
171
183
  if (index !== -1) {
172
184
  updatedWorkspaceList[index].name = newName;
173
185
  this.setState({
@@ -195,6 +207,8 @@ export default class Workspaces extends React.Component {
195
207
  }
196
208
  }
197
209
  startEditingWorkspace(e, workspaceName = this.state.focusedWorkspace) {
210
+ // without preventing this event from reaching the finsemble draggable,
211
+ // the editor will lose focus and you won't be able to rename your workspaces
198
212
  e.stopPropagation();
199
213
  this.setState({
200
214
  editing: true,
@@ -296,12 +310,21 @@ export default class Workspaces extends React.Component {
296
310
  }
297
311
  }
298
312
  openFileDialog() {
313
+ // Set alwaysOnTop to false and add an event listener on the window. When focus is regained
314
+ // then reset always on top
299
315
  this.changePreferencesAlwaysOnTop(false);
300
316
  finsembleWindow.addEventListener("focused", this.preferencesFocused);
301
317
  let inputElement = document.getElementById("file-input");
302
318
  inputElement === null || inputElement === void 0 ? void 0 : inputElement.addEventListener("change", this.importWorkspace, false);
303
319
  inputElement === null || inputElement === void 0 ? void 0 : inputElement.click();
304
320
  }
321
+ /**
322
+ * If the event is being listened to, when the preferences component is focused
323
+ * it will set always on top to true, and remove the event listener
324
+ *
325
+ * This is to handle bringing alwaysOnTop back to true when file dialogs are closed
326
+ * without changes (also handles bringing back to front after exporting)
327
+ */
305
328
  preferencesFocused() {
306
329
  finsembleWindow.removeEventListener("focused", this.preferencesFocused);
307
330
  this.changePreferencesAlwaysOnTop(true);
@@ -309,10 +332,11 @@ export default class Workspaces extends React.Component {
309
332
  importWorkspace(evt) {
310
333
  let inputElement = document.getElementById("file-input");
311
334
  inputElement === null || inputElement === void 0 ? void 0 : inputElement.removeEventListener("change", this.importWorkspace);
312
- const { files } = evt.target;
335
+ const { files } = evt.target; // FileList object
313
336
  function loadFile(file, done) {
314
337
  const reader = new FileReader();
315
338
  let fileName = evt.target.value;
339
+ // When the file info is loaded, we get into here..
316
340
  reader.onload = function (e) {
317
341
  var _a;
318
342
  fileName = fileName.split("\\");
@@ -320,6 +344,7 @@ export default class Workspaces extends React.Component {
320
344
  let workspaceTemplateDefinition = JSON.parse((_a = e === null || e === void 0 ? void 0 : e.target) === null || _a === void 0 ? void 0 : _a.result);
321
345
  let templateName = Object.keys(workspaceTemplateDefinition.workspaceTemplates)[0];
322
346
  if (fileName !== templateName) {
347
+ // We want the file name to overwrite the name of the workspace that was saved as the template..
323
348
  workspaceTemplateDefinition.workspaceTemplates[fileName] =
324
349
  workspaceTemplateDefinition.workspaceTemplates[templateName];
325
350
  delete workspaceTemplateDefinition.workspaceTemplates[templateName];
@@ -335,9 +360,11 @@ export default class Workspaces extends React.Component {
335
360
  done();
336
361
  });
337
362
  };
363
+ // Read in the image file as a data URL.
338
364
  reader.readAsText(file);
339
365
  }
340
366
  async.each(files, loadFile, () => {
367
+ // Clear out files. so if the user imports the same file back-to-back, the event will fire.
341
368
  if (inputElement === null || inputElement === void 0 ? void 0 : inputElement.value) {
342
369
  inputElement.value = "";
343
370
  }
@@ -353,18 +380,23 @@ export default class Workspaces extends React.Component {
353
380
  FSBL.Clients.Logger.system.error("getWorkspaceDefinition error", err);
354
381
  }
355
382
  else {
383
+ // We're saving using a routine initially created for templates. The outcome is the same and it probably should have just been "Save to file". This bool is to allow it to save.
356
384
  FSBL.ConfigUtils.promptAndSaveJSONToLocalFile(this.state.focusedWorkspace, {
357
385
  workspaceTemplates: workspaceDefinition,
358
386
  });
359
387
  }
360
388
  });
361
389
  };
390
+ // Set alwaysOnTop to false and add an event listener on the window. When focus is regained
391
+ // then reset always on top
362
392
  this.changePreferencesAlwaysOnTop(false);
363
393
  finsembleWindow.addEventListener("focused", this.preferencesFocused);
394
+ // If we're autosaving, autosave, then export.
364
395
  FSBL.Clients.ConfigClient.getValue({
365
396
  field: "finsemble.preferences.workspaceService.promptUserOnDirtyWorkspace",
366
397
  }, (err, data) => {
367
398
  var _a, _b, _c;
399
+ // default to false.
368
400
  let PROMPT_ON_SAVE = data === null ? false : data;
369
401
  if (!PROMPT_ON_SAVE) {
370
402
  let activeName = (_c = (_b = (_a = FSBL === null || FSBL === void 0 ? void 0 : FSBL.Clients) === null || _a === void 0 ? void 0 : _a.WorkspaceClient) === null || _b === void 0 ? void 0 : _b.activeWorkspace) === null || _c === void 0 ? void 0 : _c.name;