@finsemble/finsemble-ui 6.6.1 → 7.0.0-beta.3

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 (262) hide show
  1. package/package.json +18 -32
  2. package/react/assets/css/button.css +1 -1
  3. package/react/assets/css/favorites.css +0 -47
  4. package/react/assets/css/finsemble.css +3 -0
  5. package/react/assets/css/linkerWindow.css +13 -1
  6. package/react/assets/css/menus.css +2 -2
  7. package/react/assets/css/notificationsCenter.css +32 -1
  8. package/react/assets/css/shared/common.css +40 -0
  9. package/react/assets/css/userPreferences.css +17 -12
  10. package/react/assets/css/windowTitleBar.css +7 -0
  11. package/react/assets/icons/server.svg +26 -0
  12. package/react/components/common/ButtonIcon.js +1 -1
  13. package/react/components/common/ButtonIcon.js.map +1 -1
  14. package/react/components/common/ButtonRow.js +2 -2
  15. package/react/components/common/ButtonRow.js.map +1 -1
  16. package/react/components/common/Checkbox.js +1 -1
  17. package/react/components/common/Checkbox.js.map +1 -1
  18. package/react/components/common/ColorPicker.js +16 -15
  19. package/react/components/common/ColorPicker.js.map +1 -1
  20. package/react/components/common/ErrorBoundary.d.ts +16 -0
  21. package/react/components/common/ErrorBoundary.js +22 -0
  22. package/react/components/common/ErrorBoundary.js.map +1 -0
  23. package/react/components/common/FinsembleIcon.d.ts +3 -2
  24. package/react/components/common/FinsembleIcon.js +10 -3
  25. package/react/components/common/FinsembleIcon.js.map +1 -1
  26. package/react/components/common/FinsembleLink.d.ts +6 -0
  27. package/react/components/common/FinsembleLink.js +12 -0
  28. package/react/components/common/FinsembleLink.js.map +1 -0
  29. package/react/components/common/FinsembleToggle.d.ts +1 -2
  30. package/react/components/common/FinsembleToggle.js +2 -6
  31. package/react/components/common/FinsembleToggle.js.map +1 -1
  32. package/react/components/common/FinsembleToggleButtonBar.d.ts +13 -0
  33. package/react/components/common/FinsembleToggleButtonBar.js +44 -0
  34. package/react/components/common/FinsembleToggleButtonBar.js.map +1 -0
  35. package/react/components/common/InputTable.d.ts +3 -3
  36. package/react/components/common/InputTable.js +13 -13
  37. package/react/components/common/InputTable.js.map +1 -1
  38. package/react/components/common/Tab.js +33 -5
  39. package/react/components/common/Tab.js.map +1 -1
  40. package/react/components/common/css/FinsembleToggle.css +22 -0
  41. package/react/components/common/css/application-edit-page.css +10 -2
  42. package/react/components/common/css/tab.css +8 -8
  43. package/react/components/common/css/time-select.css +1 -1
  44. package/react/components/common/css/toggle.css +2 -10
  45. package/react/components/common/helpers.js +6 -1
  46. package/react/components/common/helpers.js.map +1 -1
  47. package/react/components/common/stories/ColorPicker.stories.js +6 -11
  48. package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
  49. package/react/components/common/stories/FinsembleToggle.stories.d.ts +1 -2
  50. package/react/components/common/stories/FinsembleToggle.stories.js +0 -7
  51. package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
  52. package/react/components/common/stories/FinsembleToggleButtonBar.stories.d.ts +14 -0
  53. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js +97 -0
  54. package/react/components/common/stories/FinsembleToggleButtonBar.stories.js.map +1 -0
  55. package/react/components/common/stories/InputTable.stories.d.ts +4 -3
  56. package/react/components/common/stories/InputTable.stories.js +18 -8
  57. package/react/components/common/stories/InputTable.stories.js.map +1 -1
  58. package/react/components/common/tests/ButtonRow.spec.js +5 -0
  59. package/react/components/common/tests/ButtonRow.spec.js.map +1 -1
  60. package/react/components/common/tests/FinsembleToggle.spec.js +1 -6
  61. package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
  62. package/react/components/common/tests/FinsembleToggleButtonBar.spec.d.ts +1 -0
  63. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js +40 -0
  64. package/react/components/common/tests/FinsembleToggleButtonBar.spec.js.map +1 -0
  65. package/react/components/common/tests/InputTable.spec.js +3 -3
  66. package/react/components/common/tests/InputTable.spec.js.map +1 -1
  67. package/react/components/favorites/FavoriteMaker.js +1 -1
  68. package/react/components/favorites/FavoriteMaker.js.map +1 -1
  69. package/react/components/fdc3Resolver/ResolverContainer.js +4 -7
  70. package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
  71. package/react/components/icon/Icon.d.ts +1 -1
  72. package/react/components/icon/Icon.js +8 -1
  73. package/react/components/icon/Icon.js.map +1 -1
  74. package/react/components/legacyControls/FinsembleDnDContext.js +7 -7
  75. package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
  76. package/react/components/linker/remoteRedux.js +1 -0
  77. package/react/components/linker/remoteRedux.js.map +1 -1
  78. package/react/components/menu/MenuItem.js +1 -1
  79. package/react/components/menu/MenuItem.js.map +1 -1
  80. package/react/components/menu/MenuPortal.js +12 -21
  81. package/react/components/menu/MenuPortal.js.map +1 -1
  82. package/react/components/menu/MenuToggle.js +1 -1
  83. package/react/components/menu/MenuToggle.js.map +1 -1
  84. package/react/components/menu/keyboardNavigation.d.ts +1 -22
  85. package/react/components/menu/keyboardNavigation.js +110 -160
  86. package/react/components/menu/keyboardNavigation.js.map +1 -1
  87. package/react/components/notifications/components/drawer/DrawerControls.js +39 -25
  88. package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
  89. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +19 -6
  90. package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
  91. package/react/components/notifications/components/shared/CheckButton.js +19 -8
  92. package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
  93. package/react/components/notifications/components/shared/NotificationCardShell.js +2 -1
  94. package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
  95. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js +2 -1
  96. package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
  97. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js +2 -1
  98. package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
  99. package/react/components/notifications/components/views/CardView.js +5 -3
  100. package/react/components/notifications/components/views/CardView.js.map +1 -1
  101. package/react/components/notifications/components/views/ListView.js +3 -1
  102. package/react/components/notifications/components/views/ListView.js.map +1 -1
  103. package/react/components/notifications/types.d.ts +3 -0
  104. package/react/components/notifications/types.js.map +1 -1
  105. package/react/components/processMonitor/ProcessMonitor.js +4 -1
  106. package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
  107. package/react/components/processMonitor/components/ProcessStatistics.js +1 -3
  108. package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
  109. package/react/components/processMonitor/helpers.js +4 -3
  110. package/react/components/processMonitor/helpers.js.map +1 -1
  111. package/react/components/processMonitor/helpers.spec.js +7 -3
  112. package/react/components/processMonitor/helpers.spec.js.map +1 -1
  113. package/react/components/sdd/AddApp.d.ts +4 -3
  114. package/react/components/sdd/AddApp.js +132 -30
  115. package/react/components/sdd/AddApp.js.map +1 -1
  116. package/react/components/sdd/AppEditAccess.d.ts +4 -3
  117. package/react/components/sdd/AppEditAccess.js.map +1 -1
  118. package/react/components/sdd/AppEditPage.d.ts +4 -3
  119. package/react/components/sdd/AppEditPage.js +141 -116
  120. package/react/components/sdd/AppEditPage.js.map +1 -1
  121. package/react/components/sdd/Appearance.d.ts +2 -1
  122. package/react/components/sdd/Appearance.js +15 -7
  123. package/react/components/sdd/Appearance.js.map +1 -1
  124. package/react/components/sdd/Application.d.ts +5 -4
  125. package/react/components/sdd/Application.js +61 -42
  126. package/react/components/sdd/Application.js.map +1 -1
  127. package/react/components/sdd/Applications.d.ts +12 -11
  128. package/react/components/sdd/Applications.js +23 -4
  129. package/react/components/sdd/Applications.js.map +1 -1
  130. package/react/components/sdd/Authentication.js +1 -6
  131. package/react/components/sdd/Authentication.js.map +1 -1
  132. package/react/components/sdd/AuthenticationProviderConfig.js +5 -3
  133. package/react/components/sdd/AuthenticationProviderConfig.js.map +1 -1
  134. package/react/components/sdd/EditPreload.d.ts +4 -3
  135. package/react/components/sdd/EditPreload.js +39 -22
  136. package/react/components/sdd/EditPreload.js.map +1 -1
  137. package/react/components/sdd/Export.d.ts +7 -6
  138. package/react/components/sdd/Export.js +3 -2
  139. package/react/components/sdd/Export.js.map +1 -1
  140. package/react/components/sdd/GettingStarted.js +3 -3
  141. package/react/components/sdd/GettingStarted.js.map +1 -1
  142. package/react/components/sdd/Navigation.js +28 -4
  143. package/react/components/sdd/Navigation.js.map +1 -1
  144. package/react/components/sdd/OptionalSettingsView.d.ts +6 -5
  145. package/react/components/sdd/OptionalSettingsView.js +2 -10
  146. package/react/components/sdd/OptionalSettingsView.js.map +1 -1
  147. package/react/components/sdd/ProjectErrors.js +1 -1
  148. package/react/components/sdd/ProjectErrors.js.map +1 -1
  149. package/react/components/sdd/Publish.js +2 -2
  150. package/react/components/sdd/Publish.js.map +1 -1
  151. package/react/components/sdd/SmartDesktopDesigner.d.ts +17 -16
  152. package/react/components/sdd/SmartDesktopDesigner.js +37 -34
  153. package/react/components/sdd/SmartDesktopDesigner.js.map +1 -1
  154. package/react/components/sdd/ThemePage.js +8 -5
  155. package/react/components/sdd/ThemePage.js.map +1 -1
  156. package/react/components/sdd/Themes.d.ts +2 -1
  157. package/react/components/sdd/Themes.js +2 -2
  158. package/react/components/sdd/Themes.js.map +1 -1
  159. package/react/components/sdd/Toolbar.d.ts +5 -4
  160. package/react/components/sdd/Toolbar.js +11 -9
  161. package/react/components/sdd/Toolbar.js.map +1 -1
  162. package/react/components/sdd/common/setPreloadDefaults.d.ts +1 -1
  163. package/react/components/sdd/common/setPreloadDefaults.js +5 -4
  164. package/react/components/sdd/common/setPreloadDefaults.js.map +1 -1
  165. package/react/components/sdd/common/views.js +7 -4
  166. package/react/components/sdd/common/views.js.map +1 -1
  167. package/react/components/sdd/css/addApp.css +52 -0
  168. package/react/components/sdd/css/applications.css +4 -24
  169. package/react/components/sdd/css/nav.css +3 -3
  170. package/react/components/sdd/fixtures/authenticationProps.js +15 -1
  171. package/react/components/sdd/fixtures/authenticationProps.js.map +1 -1
  172. package/react/components/sdd/fixtures/preloads.js +14 -12
  173. package/react/components/sdd/fixtures/preloads.js.map +1 -1
  174. package/react/components/sdd/smartDesktopClient.d.ts +163 -0
  175. package/react/components/sdd/smartDesktopClient.js +573 -0
  176. package/react/components/sdd/smartDesktopClient.js.map +1 -0
  177. package/react/components/sdd/smartDesktopClient.spec.d.ts +1 -0
  178. package/react/components/sdd/smartDesktopClient.spec.js +61 -0
  179. package/react/components/sdd/smartDesktopClient.spec.js.map +1 -0
  180. package/react/components/sdd/stories/AddApp.stories.d.ts +10 -0
  181. package/react/components/sdd/stories/AddApp.stories.js +18 -0
  182. package/react/components/sdd/stories/AddApp.stories.js.map +1 -0
  183. package/react/components/sdd/stories/AppEditPage.stories.d.ts +2 -0
  184. package/react/components/sdd/stories/AppEditPage.stories.js +2 -0
  185. package/react/components/sdd/stories/AppEditPage.stories.js.map +1 -1
  186. package/react/components/sdd/stories/Appearance.stories.d.ts +1 -1
  187. package/react/components/sdd/stories/Appearance.stories.js +1 -0
  188. package/react/components/sdd/stories/Appearance.stories.js.map +1 -1
  189. package/react/components/sdd/stories/Authentication.stories.js +2 -16
  190. package/react/components/sdd/stories/Authentication.stories.js.map +1 -1
  191. package/react/components/sdd/stories/OptionalSettingsView.stories.js +1 -1
  192. package/react/components/sdd/stories/OptionalSettingsView.stories.js.map +1 -1
  193. package/react/components/sdd/stories/SmartDesktopDesigner.stories.d.ts +1 -1
  194. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js +3 -0
  195. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js.map +1 -1
  196. package/react/components/sdd/stories/Themes.stories.d.ts +1 -1
  197. package/react/components/sdd/stories/Themes.stories.js +1 -0
  198. package/react/components/sdd/stories/Themes.stories.js.map +1 -1
  199. package/react/components/sdd/tests/AddApp.spec.d.ts +1 -0
  200. package/react/components/sdd/tests/AddApp.spec.js +96 -0
  201. package/react/components/sdd/tests/AddApp.spec.js.map +1 -0
  202. package/react/components/sdd/tests/AppEditPage.spec.js +92 -23
  203. package/react/components/sdd/tests/AppEditPage.spec.js.map +1 -1
  204. package/react/components/sdd/tests/Application.spec.js +411 -24
  205. package/react/components/sdd/tests/Application.spec.js.map +1 -1
  206. package/react/components/sdd/tests/Applications.spec.js +1 -45
  207. package/react/components/sdd/tests/Applications.spec.js.map +1 -1
  208. package/react/components/sdd/tests/Authentication.spec.js +1 -1
  209. package/react/components/sdd/tests/Authentication.spec.js.map +1 -1
  210. package/react/components/sdd/tests/EditPreload.spec.js +50 -7
  211. package/react/components/sdd/tests/EditPreload.spec.js.map +1 -1
  212. package/react/components/sdd/tests/Navigation.spec.js +2 -2
  213. package/react/components/sdd/tests/Navigation.spec.js.map +1 -1
  214. package/react/components/sdd/tests/OptionalSettingsView.spec.js +235 -0
  215. package/react/components/sdd/tests/OptionalSettingsView.spec.js.map +1 -1
  216. package/react/components/sdd/tests/ProjectErrors.spec.js +1 -1
  217. package/react/components/sdd/tests/ProjectErrors.spec.js.map +1 -1
  218. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js +2 -2
  219. package/react/components/sdd/tests/SmartDesktopDesigner.spec.js.map +1 -1
  220. package/react/components/search/Search.js +1 -1
  221. package/react/components/search/Search.js.map +1 -1
  222. package/react/components/shared/DefaultDropdownButton.js +12 -1
  223. package/react/components/shared/DefaultDropdownButton.js.map +1 -1
  224. package/react/components/shared/tests/DefaultDropdownButton.spec.js +12 -0
  225. package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
  226. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +1 -16
  227. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +0 -4
  228. package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
  229. package/react/components/toolbar/DragHandle.stories.js.map +1 -1
  230. package/react/components/toolbar/ToolbarIcon.js +2 -2
  231. package/react/components/toolbar/ToolbarIcon.js.map +1 -1
  232. package/react/components/toolbar/ToolbarSection.d.ts +1 -9
  233. package/react/components/toolbar/ToolbarSection.js +3 -7
  234. package/react/components/toolbar/ToolbarSection.js.map +1 -1
  235. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +1 -1
  236. package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
  237. package/react/components/toolbar/dashbar/Dashbar.js +21 -12
  238. package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
  239. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js +1 -1
  240. package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
  241. package/react/components/userPreferences/components/ContentSection.js +1 -1
  242. package/react/components/userPreferences/components/ContentSection.js.map +1 -1
  243. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +4 -3
  244. package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
  245. package/react/components/userPreferences/components/general/ScheduledClose.js +12 -3
  246. package/react/components/userPreferences/components/general/ScheduledClose.js.map +1 -1
  247. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +1 -1
  248. package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
  249. package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +17 -2
  250. package/react/components/windowTitleBar/WindowTitleBarShell.js +160 -6
  251. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  252. package/react/components/windowTitleBar/components/left/LinkerButton.js +7 -1
  253. package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
  254. package/react/components/windowTitleBar/components/windowTitle.js +10 -2
  255. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  256. package/react/components/windowTitleBar/stores/windowTitleBarStore.js +11 -1
  257. package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
  258. package/react/reducers/rootReducer.d.ts +2 -2
  259. package/react/store.d.ts +4 -4
  260. package/react/tsconfig.tsbuildinfo +1 -0
  261. package/react/types/smartDesktopDesignerTypes.d.ts +3 -0
  262. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
@@ -93,12 +93,16 @@ export const Toolbar = (props) => {
93
93
  setSelectedApps(menus[menuId].applications);
94
94
  },
95
95
  deleteItem: removeMenuID,
96
+ emptyListMessage: (React.createElement(React.Fragment, null,
97
+ "There\u2019s nothing here!",
98
+ React.createElement("br", null),
99
+ "Click the Add button to add menus.")),
96
100
  };
97
- const backFunction = () => {
101
+ const cancelFn = () => {
98
102
  setCurrentMenuID("");
99
103
  };
100
104
  return (React.createElement(React.Fragment, null, currentMenuID ? (React.createElement(View, null,
101
- React.createElement(Header, { backFunction: backFunction }, "Menus"),
105
+ React.createElement(Header, null, "Menus"),
102
106
  React.createElement(Content, null,
103
107
  React.createElement("div", { className: "app-edit-field" },
104
108
  React.createElement("label", { htmlFor: "menu-name" }, "Name"),
@@ -108,17 +112,15 @@ export const Toolbar = (props) => {
108
112
  React.createElement("div", { className: "app-edit-field" },
109
113
  React.createElement("label", { htmlFor: "menu-group" }, "Group contents"),
110
114
  React.createElement(FinsembleSelect, { options: apps.map((app) => app.name), values: apps.map((app) => app.appId), selected: ((_a = menus[currentMenuID]) === null || _a === void 0 ? void 0 : _a.applications) || [], updateCallback: setSelectedApps, showSearch: true })),
111
- React.createElement("div", { className: "app-edit-actions" },
112
- React.createElement("span", null),
113
- React.createElement(Button, { fashion: "secondary", text: "Save", disabled: menuName.length <= 0, onClick: updateMenuItem }))))) : (React.createElement(View, null,
115
+ React.createElement("div", { className: "app-edit-actions-right" },
116
+ React.createElement("div", { className: "app-actions-right-wrapper" },
117
+ React.createElement(Button, { fashion: "ghost", text: "Cancel", onClick: cancelFn }),
118
+ React.createElement(Button, { fashion: "secondary", text: "Save", disabled: menuName.length <= 0, onClick: updateMenuItem })))))) : (React.createElement(View, null,
114
119
  React.createElement(Header, null, "Toolbar"),
115
120
  React.createElement(Content, null,
116
121
  React.createElement(Tab, null,
117
122
  React.createElement("div", { "data-label": "Menus" },
118
- React.createElement("div", { className: "frontmatter" },
119
- "This screen allows you to make menus that will appear on your Toolbar.",
120
- React.createElement("br", null),
121
- "You are allowed a maximum of five Menus."),
123
+ React.createElement("div", { className: "frontmatter" }, "Group related apps into custom menus. You can create up to 5 menus."),
122
124
  React.createElement(Button, { className: "icon-before-add", fashion: "primary", text: "Add", iconBefore: "plus", disabled: Object.keys(menus).length >= 5, onClick: addNewMenu }),
123
125
  React.createElement(ItemList, Object.assign({}, applicationListProps)))))))));
124
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/components/sdd/Toolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector, useDispatch } from \"../../store\";\nimport { View } from \"./View\";\nimport { Tab } from \"../common/Tab\";\nimport { Header } from \"../common/Header\";\nimport { FinsembleSelect } from \"../common/FinsembleSelect\";\nimport { Button } from \"../common/Button\";\nimport { Content } from \"./Content\";\nimport { ItemList, ItemListProps } from \"./ItemList\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { MenuType, ProjectError } from \"../../types/smartDesktopDesignerTypes\";\n\nconst MENU_NAME_MAX_LENGTH = 50;\n\nexport type ToolbarProps = {\n\tgetApps: typeof FSBL.Clients.SmartDesktopClient.prototype.getApps;\n\tgetMenus: typeof FSBL.Clients.SmartDesktopClient.prototype.getMenus;\n\taddMenu: typeof FSBL.Clients.SmartDesktopClient.prototype.addMenu;\n\tupdateMenu: typeof FSBL.Clients.SmartDesktopClient.prototype.updateMenu;\n\tdeleteMenu: (value: string) => Promise<{ err: any }>;\n};\n\nconst EMPTY_MENU_ERROR: ProjectError = {\n\tviewId: \"toolbar\",\n\tmessage: \"One or more of your app menus is empty\",\n};\n\nexport const Toolbar = (props: ToolbarProps) => {\n\tconst dispatch = useDispatch();\n\tconst [currentMenuID, setCurrentMenuID] = useState(\"\");\n\tconst [menuName, setMenuName] = useState(\"\");\n\tconst [selectedApps, setSelectedApps] = useState<string[]>([]);\n\n\tconst apps = useSelector((state: RootState) => state.smartDesktopDesigner.apps);\n\tconst menus = useSelector<MenuType>((state: RootState) => state.smartDesktopDesigner.menus);\n\n\tif (Object.values(menus).every((menu) => menu.applications.length > 0)) {\n\t\tdispatch(SmartDesktopDesignerActions.delete_project_error(EMPTY_MENU_ERROR));\n\t} else {\n\t\tdispatch(SmartDesktopDesignerActions.set_project_error(EMPTY_MENU_ERROR));\n\t}\n\n\tfunction updateMenuList() {\n\t\t// Get the app list, so that you can add those apps to the menu\n\t\tprops.getApps().then((response: any) => {\n\t\t\tdispatch(SmartDesktopDesignerActions.update_apps(response.apps));\n\t\t});\n\t\t// Get the menu list\n\t\tprops.getMenus().then((getMenusResponse: any) => {\n\t\t\tdispatch(SmartDesktopDesignerActions.update_menus(getMenusResponse.menus));\n\t\t});\n\t}\n\n\tconst updateMenuItem = () => {\n\t\tconst whenDone = () => {\n\t\t\tupdateMenuList();\n\t\t\tsetMenuName(\"\");\n\t\t\tsetCurrentMenuID(\"\");\n\t\t};\n\t\tif (currentMenuID == \"new\") {\n\t\t\tprops\n\t\t\t\t.addMenu({\n\t\t\t\t\tdisplayName: menuName,\n\t\t\t\t\tapplications: selectedApps,\n\t\t\t\t\tposition: -1,\n\t\t\t\t})\n\t\t\t\t.then(whenDone);\n\t\t} else {\n\t\t\tprops\n\t\t\t\t.updateMenu(currentMenuID, {\n\t\t\t\t\tdisplayName: menuName,\n\t\t\t\t\tapplications: selectedApps,\n\t\t\t\t\tposition: menus[currentMenuID].position,\n\t\t\t\t})\n\t\t\t\t.then(whenDone);\n\t\t}\n\t};\n\n\tconst removeMenuID = (id: string) => {\n\t\tprops.deleteMenu(id).then(({ err }: { err: string }) => {\n\t\t\tif (err) {\n\t\t\t\talert(err);\n\t\t\t}\n\t\t\tupdateMenuList();\n\t\t});\n\t};\n\n\tconst addNewMenu = () => {\n\t\tsetCurrentMenuID(\"new\");\n\t};\n\n\t/********* Lifecycle effects *********/\n\n\t// Call updateMenuList once the component has mounted\n\t// Can't call out of an effect, or it will cause an endless loop\n\tuseEffect(updateMenuList, []);\n\n\tconst applicationListProps: ItemListProps = {\n\t\titems: Object.entries(menus).map(([key, value]) => {\n\t\t\tconst menuObj = JSON.parse(JSON.stringify(value));\n\t\t\tmenuObj.appId = key;\n\t\t\tmenuObj.name = menuObj.name ?? menuObj.displayName;\n\t\t\tif (menuObj.applications.length === 0) {\n\t\t\t\tmenuObj.icons = \"warning\";\n\t\t\t}\n\t\t\treturn menuObj;\n\t\t}),\n\t\tclickItem: (menuId: string) => {\n\t\t\tsetCurrentMenuID(menuId);\n\t\t\tsetMenuName(menus[menuId].displayName);\n\t\t\tsetSelectedApps(menus[menuId].applications);\n\t\t},\n\t\tdeleteItem: removeMenuID,\n\t};\n\n\tconst backFunction = () => {\n\t\tsetCurrentMenuID(\"\");\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{currentMenuID ? (\n\t\t\t\t<View>\n\t\t\t\t\t<Header backFunction={backFunction}>Menus</Header>\n\t\t\t\t\t<Content>\n\t\t\t\t\t\t<div className=\"app-edit-field\">\n\t\t\t\t\t\t\t<label htmlFor=\"menu-name\">Name</label>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tid=\"menu-name\"\n\t\t\t\t\t\t\t\tvalue={menuName}\n\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t// This is the equivalent of using maxLength={MENU_NAME_MAX_LENGTH}\n\t\t\t\t\t\t\t\t\t// except that this way is testable with enzyme\n\t\t\t\t\t\t\t\t\tsetMenuName(e.target.value.substr(0, MENU_NAME_MAX_LENGTH));\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"app-edit-field\">\n\t\t\t\t\t\t\t<label htmlFor=\"menu-group\">Group contents</label>\n\t\t\t\t\t\t\t<FinsembleSelect\n\t\t\t\t\t\t\t\toptions={apps.map((app) => app.name)}\n\t\t\t\t\t\t\t\tvalues={apps.map((app) => app.appId)}\n\t\t\t\t\t\t\t\tselected={menus[currentMenuID]?.applications || []}\n\t\t\t\t\t\t\t\tupdateCallback={setSelectedApps}\n\t\t\t\t\t\t\t\tshowSearch={true}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"app-edit-actions\">\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t<Button fashion=\"secondary\" text=\"Save\" disabled={menuName.length <= 0} onClick={updateMenuItem} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Content>\n\t\t\t\t</View>\n\t\t\t) : (\n\t\t\t\t<View>\n\t\t\t\t\t<Header>Toolbar</Header>\n\t\t\t\t\t<Content>\n\t\t\t\t\t\t<Tab>\n\t\t\t\t\t\t\t<div data-label=\"Menus\">\n\t\t\t\t\t\t\t\t<div className=\"frontmatter\">\n\t\t\t\t\t\t\t\t\tThis screen allows you to make menus that will appear on your Toolbar.\n\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\tYou are allowed a maximum of five Menus.\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"icon-before-add\"\n\t\t\t\t\t\t\t\t\tfashion=\"primary\"\n\t\t\t\t\t\t\t\t\ttext=\"Add\"\n\t\t\t\t\t\t\t\t\ticonBefore=\"plus\"\n\t\t\t\t\t\t\t\t\tdisabled={Object.keys(menus).length >= 5}\n\t\t\t\t\t\t\t\t\tonClick={addNewMenu}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ItemList {...applicationListProps} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</Tab>\n\t\t\t\t\t</Content>\n\t\t\t\t</View>\n\t\t\t)}\n\t\t</>\n\t);\n};\n"]}
1
+ {"version":3,"file":"Toolbar.js","sourceRoot":"","sources":["../../../src/components/sdd/Toolbar.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector, useDispatch } from \"../../store\";\nimport { View } from \"./View\";\nimport { Tab } from \"../common/Tab\";\nimport { Header } from \"../common/Header\";\nimport { FinsembleSelect } from \"../common/FinsembleSelect\";\nimport { Button } from \"../common/Button\";\nimport { Content } from \"./Content\";\nimport { ItemList, ItemListProps } from \"./ItemList\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { MenuType, ProjectError } from \"../../types/smartDesktopDesignerTypes\";\nimport { SmartDesktopClient } from \"./smartDesktopClient\";\n\nconst MENU_NAME_MAX_LENGTH = 50;\n\nexport type ToolbarProps = {\n\tgetApps: typeof SmartDesktopClient.getApps;\n\tgetMenus: typeof SmartDesktopClient.getMenus;\n\taddMenu: typeof SmartDesktopClient.addMenu;\n\tupdateMenu: typeof SmartDesktopClient.updateMenu;\n\tdeleteMenu: (value: string) => Promise<{ err: any }>;\n};\n\nconst EMPTY_MENU_ERROR: ProjectError = {\n\tviewId: \"toolbar\",\n\tmessage: \"One or more of your app menus is empty\",\n};\n\nexport const Toolbar = (props: ToolbarProps) => {\n\tconst dispatch = useDispatch();\n\tconst [currentMenuID, setCurrentMenuID] = useState(\"\");\n\tconst [menuName, setMenuName] = useState(\"\");\n\tconst [selectedApps, setSelectedApps] = useState<string[]>([]);\n\n\tconst apps = useSelector((state: RootState) => state.smartDesktopDesigner.apps);\n\tconst menus = useSelector<MenuType>((state: RootState) => state.smartDesktopDesigner.menus);\n\n\tif (Object.values(menus).every((menu) => menu.applications.length > 0)) {\n\t\tdispatch(SmartDesktopDesignerActions.delete_project_error(EMPTY_MENU_ERROR));\n\t} else {\n\t\tdispatch(SmartDesktopDesignerActions.set_project_error(EMPTY_MENU_ERROR));\n\t}\n\n\tfunction updateMenuList() {\n\t\t// Get the app list, so that you can add those apps to the menu\n\t\tprops.getApps().then((response: any) => {\n\t\t\tdispatch(SmartDesktopDesignerActions.update_apps(response.apps));\n\t\t});\n\t\t// Get the menu list\n\t\tprops.getMenus().then((getMenusResponse: any) => {\n\t\t\tdispatch(SmartDesktopDesignerActions.update_menus(getMenusResponse.menus));\n\t\t});\n\t}\n\n\tconst updateMenuItem = () => {\n\t\tconst whenDone = () => {\n\t\t\tupdateMenuList();\n\t\t\tsetMenuName(\"\");\n\t\t\tsetCurrentMenuID(\"\");\n\t\t};\n\t\tif (currentMenuID == \"new\") {\n\t\t\tprops\n\t\t\t\t.addMenu({\n\t\t\t\t\tdisplayName: menuName,\n\t\t\t\t\tapplications: selectedApps,\n\t\t\t\t\tposition: -1,\n\t\t\t\t})\n\t\t\t\t.then(whenDone);\n\t\t} else {\n\t\t\tprops\n\t\t\t\t.updateMenu(currentMenuID, {\n\t\t\t\t\tdisplayName: menuName,\n\t\t\t\t\tapplications: selectedApps,\n\t\t\t\t\tposition: menus[currentMenuID].position,\n\t\t\t\t})\n\t\t\t\t.then(whenDone);\n\t\t}\n\t};\n\n\tconst removeMenuID = (id: string) => {\n\t\tprops.deleteMenu(id).then(({ err }: { err: string }) => {\n\t\t\tif (err) {\n\t\t\t\talert(err);\n\t\t\t}\n\t\t\tupdateMenuList();\n\t\t});\n\t};\n\n\tconst addNewMenu = () => {\n\t\tsetCurrentMenuID(\"new\");\n\t};\n\n\t/********* Lifecycle effects *********/\n\n\t// Call updateMenuList once the component has mounted\n\t// Can't call out of an effect, or it will cause an endless loop\n\tuseEffect(updateMenuList, []);\n\n\tconst applicationListProps: ItemListProps = {\n\t\titems: Object.entries(menus).map(([key, value]) => {\n\t\t\tconst menuObj = JSON.parse(JSON.stringify(value));\n\t\t\tmenuObj.appId = key;\n\t\t\tmenuObj.name = menuObj.name ?? menuObj.displayName;\n\t\t\tif (menuObj.applications.length === 0) {\n\t\t\t\tmenuObj.icons = \"warning\";\n\t\t\t}\n\t\t\treturn menuObj;\n\t\t}),\n\t\tclickItem: (menuId: string) => {\n\t\t\tsetCurrentMenuID(menuId);\n\t\t\tsetMenuName(menus[menuId].displayName);\n\t\t\tsetSelectedApps(menus[menuId].applications);\n\t\t},\n\t\tdeleteItem: removeMenuID,\n\t\temptyListMessage: (\n\t\t\t<>\n\t\t\t\tThere’s nothing here!\n\t\t\t\t<br />\n\t\t\t\tClick the Add button to add menus.\n\t\t\t</>\n\t\t),\n\t};\n\n\tconst cancelFn = () => {\n\t\tsetCurrentMenuID(\"\");\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{currentMenuID ? (\n\t\t\t\t<View>\n\t\t\t\t\t<Header>Menus</Header>\n\t\t\t\t\t<Content>\n\t\t\t\t\t\t<div className=\"app-edit-field\">\n\t\t\t\t\t\t\t<label htmlFor=\"menu-name\">Name</label>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tid=\"menu-name\"\n\t\t\t\t\t\t\t\tvalue={menuName}\n\t\t\t\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\t\t\t\t// This is the equivalent of using maxLength={MENU_NAME_MAX_LENGTH}\n\t\t\t\t\t\t\t\t\t// except that this way is testable with enzyme\n\t\t\t\t\t\t\t\t\tsetMenuName(e.target.value.substr(0, MENU_NAME_MAX_LENGTH));\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"app-edit-field\">\n\t\t\t\t\t\t\t<label htmlFor=\"menu-group\">Group contents</label>\n\t\t\t\t\t\t\t<FinsembleSelect\n\t\t\t\t\t\t\t\toptions={apps.map((app) => app.name)}\n\t\t\t\t\t\t\t\tvalues={apps.map((app) => app.appId)}\n\t\t\t\t\t\t\t\tselected={menus[currentMenuID]?.applications || []}\n\t\t\t\t\t\t\t\tupdateCallback={setSelectedApps}\n\t\t\t\t\t\t\t\tshowSearch={true}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"app-edit-actions-right\">\n\t\t\t\t\t\t\t<div className=\"app-actions-right-wrapper\">\n\t\t\t\t\t\t\t\t<Button fashion=\"ghost\" text=\"Cancel\" onClick={cancelFn} />\n\t\t\t\t\t\t\t\t<Button fashion=\"secondary\" text=\"Save\" disabled={menuName.length <= 0} onClick={updateMenuItem} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Content>\n\t\t\t\t</View>\n\t\t\t) : (\n\t\t\t\t<View>\n\t\t\t\t\t<Header>Toolbar</Header>\n\t\t\t\t\t<Content>\n\t\t\t\t\t\t<Tab>\n\t\t\t\t\t\t\t<div data-label=\"Menus\">\n\t\t\t\t\t\t\t\t<div className=\"frontmatter\">Group related apps into custom menus. You can create up to 5 menus.</div>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"icon-before-add\"\n\t\t\t\t\t\t\t\t\tfashion=\"primary\"\n\t\t\t\t\t\t\t\t\ttext=\"Add\"\n\t\t\t\t\t\t\t\t\ticonBefore=\"plus\"\n\t\t\t\t\t\t\t\t\tdisabled={Object.keys(menus).length >= 5}\n\t\t\t\t\t\t\t\t\tonClick={addNewMenu}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ItemList {...applicationListProps} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</Tab>\n\t\t\t\t\t</Content>\n\t\t\t\t</View>\n\t\t\t)}\n\t\t</>\n\t);\n};\n"]}
@@ -1 +1 @@
1
- export declare const setDefaults: (smartDesktopClient: any) => Promise<void>;
1
+ export declare const setDefaults: () => Promise<void>;
@@ -1,4 +1,5 @@
1
- export const setDefaults = async (smartDesktopClient) => {
1
+ import { SmartDesktopClient } from "../smartDesktopClient";
2
+ export const setDefaults = async () => {
2
3
  const { data } = await FSBL.Clients.ConfigClient.getValue("finsemble.extensions.preloads");
3
4
  if (data !== null) {
4
5
  return;
@@ -6,14 +7,14 @@ export const setDefaults = async (smartDesktopClient) => {
6
7
  const { data: preloads } = await FSBL.Clients.ConfigClient.getValue("finsemble.preloads");
7
8
  if (preloads !== null) {
8
9
  preloads.forEach(async ({ url, alias }) => {
9
- await smartDesktopClient.savePreload(alias, alias, { url, autoload: "none" });
10
+ await SmartDesktopClient.savePreload(alias, alias, { url, autoload: "none" });
10
11
  });
11
12
  }
12
- await smartDesktopClient.savePreload("zoom", "zoom", {
13
+ await SmartDesktopClient.savePreload("zoom", "zoom", {
13
14
  url: "https://assets.finsemble.com/preloads/zoom.js",
14
15
  autoload: "none",
15
16
  });
16
- await smartDesktopClient.savePreload("native-overrides", "native-overrides", {
17
+ await SmartDesktopClient.savePreload("native-overrides", "native-overrides", {
17
18
  url: "https://assets.finsemble.com/preloads/nativeOverrides.js",
18
19
  autoload: "none",
19
20
  });
@@ -1 +1 @@
1
- {"version":3,"file":"setPreloadDefaults.js","sourceRoot":"","sources":["../../../../src/components/sdd/common/setPreloadDefaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,kBAAuB,EAAE,EAAE;IAE5D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;IAC3F,IAAI,IAAI,KAAK,IAAI,EAAE;QAElB,OAAO;KACP;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC1F,IAAI,QAAQ,KAAK,IAAI,EAAE;QAEtB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAkC,EAAE,EAAE;YACzE,MAAM,kBAAkB,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;KACH;IAGD,MAAM,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE;QACpD,GAAG,EAAE,+CAA+C;QACpD,QAAQ,EAAE,MAAM;KAChB,CAAC,CAAC;IACH,MAAM,kBAAkB,CAAC,WAAW,CAAC,kBAAkB,EAAE,kBAAkB,EAAE;QAC5E,GAAG,EAAE,0DAA0D;QAC/D,QAAQ,EAAE,MAAM;KAChB,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["export const setDefaults = async (smartDesktopClient: any) => {\n\t// Check to see if the config value for finsemble.extensions.preloads exists.\n\tconst { data } = await FSBL.Clients.ConfigClient.getValue(\"finsemble.extensions.preloads\");\n\tif (data !== null) {\n\t\t// v6.6 preloads have been registered, nothing to do\n\t\treturn;\n\t}\n\n\tconst { data: preloads } = await FSBL.Clients.ConfigClient.getValue(\"finsemble.preloads\");\n\tif (preloads !== null) {\n\t\t// v6.5 registered preloads. We should convert them.\n\t\tpreloads.forEach(async ({ url, alias }: { url: string; alias: string }) => {\n\t\t\tawait smartDesktopClient.savePreload(alias, alias, { url, autoload: \"none\" });\n\t\t});\n\t}\n\n\t// v6.5 preloads weren't registered, so we should register the defaults now\n\tawait smartDesktopClient.savePreload(\"zoom\", \"zoom\", {\n\t\turl: \"https://assets.finsemble.com/preloads/zoom.js\",\n\t\tautoload: \"none\",\n\t});\n\tawait smartDesktopClient.savePreload(\"native-overrides\", \"native-overrides\", {\n\t\turl: \"https://assets.finsemble.com/preloads/nativeOverrides.js\",\n\t\tautoload: \"none\",\n\t});\n};\n"]}
1
+ {"version":3,"file":"setPreloadDefaults.js","sourceRoot":"","sources":["../../../../src/components/sdd/common/setPreloadDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IAErC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;IAC3F,IAAI,IAAI,KAAK,IAAI,EAAE;QAElB,OAAO;KACP;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAC1F,IAAI,QAAQ,KAAK,IAAI,EAAE;QAEtB,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAkC,EAAE,EAAE;YACzE,MAAM,kBAAkB,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;KACH;IAGD,MAAM,kBAAkB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE;QACpD,GAAG,EAAE,+CAA+C;QACpD,QAAQ,EAAE,MAAM;KAChB,CAAC,CAAC;IACH,MAAM,kBAAkB,CAAC,WAAW,CAAC,kBAAkB,EAAE,kBAAkB,EAAE;QAC5E,GAAG,EAAE,0DAA0D;QAC/D,QAAQ,EAAE,MAAM;KAChB,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { SmartDesktopClient } from \"../smartDesktopClient\";\n\nexport const setDefaults = async () => {\n\t// Check to see if the config value for finsemble.extensions.preloads exists.\n\tconst { data } = await FSBL.Clients.ConfigClient.getValue(\"finsemble.extensions.preloads\");\n\tif (data !== null) {\n\t\t// v6.6 preloads have been registered, nothing to do\n\t\treturn;\n\t}\n\n\tconst { data: preloads } = await FSBL.Clients.ConfigClient.getValue(\"finsemble.preloads\");\n\tif (preloads !== null) {\n\t\t// v6.5 registered preloads. We should convert them.\n\t\tpreloads.forEach(async ({ url, alias }: { url: string; alias: string }) => {\n\t\t\tawait SmartDesktopClient.savePreload(alias, alias, { url, autoload: \"none\" });\n\t\t});\n\t}\n\n\t// v6.5 preloads weren't registered, so we should register the defaults now\n\tawait SmartDesktopClient.savePreload(\"zoom\", \"zoom\", {\n\t\turl: \"https://assets.finsemble.com/preloads/zoom.js\",\n\t\tautoload: \"none\",\n\t});\n\tawait SmartDesktopClient.savePreload(\"native-overrides\", \"native-overrides\", {\n\t\turl: \"https://assets.finsemble.com/preloads/nativeOverrides.js\",\n\t\tautoload: \"none\",\n\t});\n};\n"]}
@@ -5,7 +5,7 @@ import { Themes } from "../Themes";
5
5
  import { Authentication } from "../Authentication";
6
6
  import { Toolbar } from "../Toolbar";
7
7
  import { OptionalSettingsView } from "../OptionalSettingsView";
8
- const SmartDesktopClient = new FSBL.Clients.SmartDesktopClient();
8
+ import { SmartDesktopClient } from "../smartDesktopClient";
9
9
  const getSDServerInfo = (cb) => {
10
10
  SmartDesktopClient.getSDServerInfo().then((info) => {
11
11
  FSBL.Clients.ConfigClient.getValues(null, (err, newConfig) => {
@@ -53,8 +53,8 @@ export default [
53
53
  deleteMenu: (menuId) => SmartDesktopClient.deleteMenu(menuId),
54
54
  getPreloads: () => SmartDesktopClient.getPreloads(),
55
55
  getAppConfigTemplate: () => SmartDesktopClient.getAppConfigTemplate(),
56
- isInboundInteropAuthorized: FSBL.Clients.SmartDesktopClient.isInboundInteropAuthorized,
57
- isOutboundInteropAuthorized: FSBL.Clients.SmartDesktopClient.isOutboundInteropAuthorized,
56
+ isInboundInteropAuthorized: SmartDesktopClient.isInboundInteropAuthorized,
57
+ isOutboundInteropAuthorized: SmartDesktopClient.isOutboundInteropAuthorized,
58
58
  },
59
59
  },
60
60
  {
@@ -85,7 +85,10 @@ export default [
85
85
  getSDServerInfo,
86
86
  updateProjectSettings: (obj) => SmartDesktopClient.updateProjectSettings(obj),
87
87
  updateThemes: (id, newValue) => {
88
- FSBL.Clients.SmartDesktopClient.updateThemeVariable(id, newValue);
88
+ SmartDesktopClient.updateThemeVariable(id, newValue);
89
+ },
90
+ updateTheme: (theme) => {
91
+ SmartDesktopClient.updateTheme(theme);
89
92
  },
90
93
  areYouSure: (affirmativeCallback) => {
91
94
  FSBL.Clients.DialogManager.open("yesNo", {
@@ -1 +1 @@
1
- {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../../src/components/sdd/common/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAqB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,MAAM,EAAc,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,OAAO,EAAgB,MAAM,YAAY,CAAC;AACnD,OAAO,EAA6B,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAI1F,MAAM,kBAAkB,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;AAEjE,MAAM,eAAe,GAAG,CAAC,EAAO,EAAE,EAAE;IACnC,kBAAkB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;QACvD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAQ,EAAE,SAAc,EAAE,EAAE;;YACtE,EAAE,iCACE,IAAI,KACP,MAAM,kCACF,IAAI,CAAC,MAAM,KACd,WAAW,EAAE,wCAAwC,EACrD,aAAa,EAAE,gCAAgC,EAC/C,WAAW,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,0CAAE,eAAe,EACpD,cAAc,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,0CAAE,cAAc,EACpD,iBAAiB,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,OAE/C,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,SAAS,UAAU;IAClB,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC;AACzB,CAAC;AAED,eAAe;IACd;QACC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,EAAE;QACT,KAAK,EAAE;YACN;gBACC,EAAE,EAAE,iBAAiB;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,cAAc;aACzB;SACD;KACD;IACD;QACC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,MAAM;QACb,KAAK,EAAE;YACN;gBACC,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,YAAY;gBACvB,KAAK,EAAqB;oBACzB,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE;oBAC3C,MAAM,EAAE,CAAC,KAAa,EAAE,SAAwB,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC;oBAChG,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC;oBACjE,SAAS,EAAE,CAAC,KAAa,EAAE,SAAwB,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;oBACtG,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE;oBAC7C,OAAO,EAAE,CAAC,UAAuB,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC5E,UAAU,EAAE,CAAC,MAAc,EAAE,UAAuB,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;oBAC1G,UAAU,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;oBACrE,WAAW,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE;oBACnD,oBAAoB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,oBAAoB,EAAE;oBACrE,0BAA0B,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,0BAA0B;oBACtF,2BAA2B,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,2BAA2B;iBACxF;aACD;YACD;gBACC,EAAE,EAAE,uBAAuB;gBAC3B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE,oBAAoB;gBAC/B,KAAK,EAA6B;oBACjC,OAAO,EAAE,kBAAkB,CAAC,OAAO;oBACnC,SAAS,EAAE,kBAAkB,CAAC,SAAS;oBACvC,WAAW,EAAE,kBAAkB,CAAC,WAAW;oBAC3C,WAAW,EAAE,kBAAkB,CAAC,WAAW;oBAC3C,aAAa,EAAE,kBAAkB,CAAC,aAAa;iBAC/C;aACD;SACD;KACD;IACD;QACC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,uBAAuB;QAC9B,KAAK,EAAE;YACN;gBACC,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,MAAM;gBACjB,KAAK,EAAE;oBACN,eAAe;oBACf,qBAAqB,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,GAAG,CAAC;oBAClF,YAAY,EAAE,CAAC,EAAU,EAAE,QAAgB,EAAE,EAAE;wBAC9C,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACnE,CAAC;oBACD,UAAU,EAAE,CAAC,mBAA6B,EAAE,EAAE;wBAC7C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAC9B,OAAO,EACP;4BACC,KAAK,EAAE,oBAAoB;4BAC3B,QAAQ,EAAE,wFAAwF;4BAClG,gBAAgB,EAAE,IAAI;4BACtB,kBAAkB,EAAE,KAAK;4BACzB,wBAAwB,EAAE,KAAK;yBAC/B,EACD,CAAC,GAAQ,EAAE,QAA4B,EAAE,EAAE;4BAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,EAAE;gCACtC,mBAAmB,EAAE,CAAC;6BACtB;wBACF,CAAC,CACD,CAAC;oBACH,CAAC;oBACD,kBAAkB,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,CAAC;oBAC/E,iBAAiB,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBAC7E,iBAAiB,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC;oBAC7E,oBAAoB,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC;oBACnF,mBAAmB,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC;iBACnE;aACf;YACD;gBACC,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE;oBACN,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE;oBAC3C,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE;oBAC7C,OAAO,EAAE,CAAC,UAAuB,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC5E,UAAU,EAAE,CAAC,MAAc,EAAE,UAAuB,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC;oBAC1G,UAAU,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC;iBACrD;aACjB;YACD;gBACC,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,cAAc;gBACzB,KAAK,EAAwB;oBAC5B,0BAA0B,EAAE,GAAG,EAAE,CAChC,IAAI,OAAO,CAA2B,CAAC,OAAO,EAAE,EAAE;wBACjD,kBAAkB,CAAC,0BAA0B,EAAE,CAAC,IAAI,CAAC,CAAC,SAAmC,EAAE,EAAE;4BAC5F,OAAO,CAAC,SAAS,CAAC,CAAC;wBACpB,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC;oBACH,0BAA0B,EAAE,CAAC,uBAA4B,EAAE,EAAE,CAC5D,kBAAkB,CAAC,0BAA0B,CAAC,uBAAuB,CAAC;oBACvE,0BAA0B,EAAE,CAAC,QAAgC,EAAE,EAAE,CAChE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnE,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,sBAAsB,cAC7C,QAAQ,CAAC,SACV,qCACC,QAAQ,CAAC,YACV,UAAU,UAAU,EAAE,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC;wBAEnD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAChC,gBAAgB,EAChB;4BACC,GAAG;4BACH,GAAG,EAAE,QAAQ;4BACb,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,KAAK;4BACf,OAAO,EAAE;gCACR,UAAU,EAAE;oCACX,OAAO,EAAE;wCACR,QAAQ,EAAE;4CACT,aAAa,EAAE;gDACd,YAAY,EAAE,KAAK;gDACnB,aAAa,EAAE,KAAK;gDACpB,aAAa,EAAE,KAAK;6CACpB;yCACD;qCACD;oCACD,gBAAgB,EAAE,GAAG;iCACrB;6BACD;yBACD,EACD,CAAC,GAAQ,EAAE,EAAE;4BACZ,IAAI,GAAG,EAAE;gCACR,MAAM,GAAG,CAAC;6BACV;wBACF,CAAC,CACD,CAAC;wBAEF,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC,KAAU,EAAE,QAAa,EAAE,EAAE;4BAC7F,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gCAC5B,MAAM,CAAC,KAAK,IAAI,iCAAiC,CAAC,CAAC;6BACnD;iCAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;gCAC7B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;6BAC1B;iCAAM;gCACN,OAAO,CAAC,IAAI,CAAC,CAAC;6BACd;wBACF,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC;iBACqB;aACzB;SACD;KACD;IACD;QACC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE;YACN;gBACC,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,MAAM;gBACjB,KAAK,EAAgB;oBACpB,qBAAqB,EAAE,GAAG;oBAC1B,eAAe;oBACf,gBAAgB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE;oBAC1D,gBAAgB,EAAE,CAAC,WAAmB,EAAE,aAAiC,SAAS,EAAE,EAAE,CACrF,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,IAAI,SAAS,EAAE,UAAU,CAAC;oBAC1E,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC;oBAC7E,kBAAkB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,kBAAkB,EAAE;oBACjE,gBAAgB,EAAE,CAAC,WAAmB,EAAE,aAAiC,SAAS,EAAE,EAAE,CACrF,kBAAkB,CAAC,gBAAgB,CAAC,WAAW,IAAI,SAAS,EAAE,UAAU,CAAC;oBAC1E,qBAAqB,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,GAAG,CAAC;iBAClE;aACjB;SACD;KACD;CACoB,CAAC","sourcesContent":["import { GettingStarted } from \"../GettingStarted\";\nimport { Applications, ApplicationsProps } from \"../Applications\";\nimport { Export, ExportProps } from \"../Export\";\nimport { Themes, ThemeProps } from \"../Themes\";\nimport { AuthenticationProvider, MenuObjType, ViewSectionInfo } from \"../../../types/smartDesktopDesignerTypes\";\nimport { Authentication, AuthenticationProps } from \"../Authentication\";\nimport { services } from \"@finsemble/finsemble-api\";\nimport { Toolbar, ToolbarProps } from \"../Toolbar\";\nimport { OptionalSettingsViewProps, OptionalSettingsView } from \"../OptionalSettingsView\";\n\ntype AppDefinition = services.Interop.types.AppDefinition;\n\nconst SmartDesktopClient = new FSBL.Clients.SmartDesktopClient();\n\nconst getSDServerInfo = (cb: any) => {\n\tSmartDesktopClient.getSDServerInfo().then((info: any) => {\n\t\tFSBL.Clients.ConfigClient.getValues(null, (err: any, newConfig: any) => {\n\t\t\tcb({\n\t\t\t\t...info,\n\t\t\t\texport: {\n\t\t\t\t\t...info.export,\n\t\t\t\t\ttoolbarIcon: \"/assets/img/Finsemble_Toolbar_Icon.png\",\n\t\t\t\t\tinstallerIcon: \"/assets/img/installer_icon.ico\",\n\t\t\t\t\ttaskbarIcon: newConfig?.startup_app?.applicationIcon,\n\t\t\t\t\tsystemTrayIcon: newConfig?.finsemble?.systemTrayIcon,\n\t\t\t\t\tsplashScreenImage: newConfig?.splashScreenImage,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t});\n};\n\nfunction createCSRF() {\n\tconst epoch = new Date();\n\tlet id = epoch.getTime().toString(36);\n\tid = id + Math.floor(Math.random() * Math.pow(36, 2)).toString(36);\n\treturn id.toUpperCase();\n}\n\nexport default [\n\t{\n\t\tshowLabel: false,\n\t\tlabel: \"\",\n\t\tviews: [\n\t\t\t{\n\t\t\t\tid: \"getting-started\",\n\t\t\t\ticon: \"flag\",\n\t\t\t\tname: \"Start\",\n\t\t\t\tcomponent: GettingStarted,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tshowLabel: true,\n\t\tlabel: \"Apps\",\n\t\tviews: [\n\t\t\t{\n\t\t\t\tid: \"applications\",\n\t\t\t\ticon: \"window\",\n\t\t\t\tname: \"Manage apps\",\n\t\t\t\tcomponent: Applications,\n\t\t\t\tprops: <ApplicationsProps>{\n\t\t\t\t\tgetApps: () => SmartDesktopClient.getApps(),\n\t\t\t\t\taddApp: (appId: string, appConfig: AppDefinition) => SmartDesktopClient.addApp(appId, appConfig),\n\t\t\t\t\tdeleteApp: (appId: string) => SmartDesktopClient.deleteApp(appId),\n\t\t\t\t\tupdateApp: (appId: string, appConfig: AppDefinition) => SmartDesktopClient.updateApp(appId, appConfig),\n\t\t\t\t\tgetMenus: () => SmartDesktopClient.getMenus(),\n\t\t\t\t\taddMenu: (menuConfig: MenuObjType) => SmartDesktopClient.addMenu(menuConfig),\n\t\t\t\t\tupdateMenu: (menuId: string, menuConfig: MenuObjType) => SmartDesktopClient.updateMenu(menuId, menuConfig),\n\t\t\t\t\tdeleteMenu: (menuId: string) => SmartDesktopClient.deleteMenu(menuId),\n\t\t\t\t\tgetPreloads: () => SmartDesktopClient.getPreloads(),\n\t\t\t\t\tgetAppConfigTemplate: () => SmartDesktopClient.getAppConfigTemplate(),\n\t\t\t\t\tisInboundInteropAuthorized: FSBL.Clients.SmartDesktopClient.isInboundInteropAuthorized,\n\t\t\t\t\tisOutboundInteropAuthorized: FSBL.Clients.SmartDesktopClient.isOutboundInteropAuthorized,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"applications-optional\",\n\t\t\t\ticon: \"code-block\",\n\t\t\t\tname: \"Extensions\",\n\t\t\t\tcomponent: OptionalSettingsView,\n\t\t\t\tprops: <OptionalSettingsViewProps>{\n\t\t\t\t\tgetApps: SmartDesktopClient.getApps,\n\t\t\t\t\tupdateApp: SmartDesktopClient.updateApp,\n\t\t\t\t\tgetPreloads: SmartDesktopClient.getPreloads,\n\t\t\t\t\tsavePreload: SmartDesktopClient.savePreload,\n\t\t\t\t\tdeletePreload: SmartDesktopClient.deletePreload,\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tshowLabel: true,\n\t\tlabel: \"Desktop Customization\",\n\t\tviews: [\n\t\t\t{\n\t\t\t\tid: \"themes\",\n\t\t\t\ticon: \"paint-roller\",\n\t\t\t\tname: \"Theme\",\n\t\t\t\tcomponent: Themes,\n\t\t\t\tprops: {\n\t\t\t\t\tgetSDServerInfo,\n\t\t\t\t\tupdateProjectSettings: (obj: any) => SmartDesktopClient.updateProjectSettings(obj),\n\t\t\t\t\tupdateThemes: (id: string, newValue: string) => {\n\t\t\t\t\t\tFSBL.Clients.SmartDesktopClient.updateThemeVariable(id, newValue);\n\t\t\t\t\t},\n\t\t\t\t\tareYouSure: (affirmativeCallback: Function) => {\n\t\t\t\t\t\tFSBL.Clients.DialogManager.open(\n\t\t\t\t\t\t\t\"yesNo\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: \"Change your theme?\",\n\t\t\t\t\t\t\t\tquestion: `Selecting this template will undo any custom theme changes. Would you like to proceed?`,\n\t\t\t\t\t\t\t\thideModalOnClose: true,\n\t\t\t\t\t\t\t\tshowNegativeButton: false,\n\t\t\t\t\t\t\t\taffirmativeResponseLabel: \"Yes\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t(err: any, response: { choice: string }) => {\n\t\t\t\t\t\t\t\tif (response.choice === \"affirmative\") {\n\t\t\t\t\t\t\t\t\taffirmativeCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\tupdateSplashScreen: (file: File) => SmartDesktopClient.updateSplashScreen(file),\n\t\t\t\t\tupdateToolbarIcon: (file: File) => SmartDesktopClient.updateToolbarIcon(file),\n\t\t\t\t\tupdateTaskbarIcon: (file: File) => SmartDesktopClient.updateTaskbarIcon(file),\n\t\t\t\t\tupdateSystemTrayIcon: (file: File) => SmartDesktopClient.updateSystemTrayIcon(file),\n\t\t\t\t\tupdateInstallerIcon: (file: File) => SmartDesktopClient.updateInstallerIcon(file),\n\t\t\t\t} as ThemeProps,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"toolbar\",\n\t\t\t\ticon: \"toolbar\",\n\t\t\t\tname: \"Toolbar\",\n\t\t\t\tcomponent: Toolbar,\n\t\t\t\tprops: {\n\t\t\t\t\tgetApps: () => SmartDesktopClient.getApps(),\n\t\t\t\t\tgetMenus: () => SmartDesktopClient.getMenus(),\n\t\t\t\t\taddMenu: (menuConfig: MenuObjType) => SmartDesktopClient.addMenu(menuConfig),\n\t\t\t\t\tupdateMenu: (menuId: string, menuConfig: MenuObjType) => SmartDesktopClient.updateMenu(menuId, menuConfig),\n\t\t\t\t\tdeleteMenu: (menuId: string) => SmartDesktopClient.deleteMenu(menuId),\n\t\t\t\t} as ToolbarProps,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"authentication\",\n\t\t\t\ticon: \"key\",\n\t\t\t\tname: \"Authentication\",\n\t\t\t\tcomponent: Authentication,\n\t\t\t\tprops: (<AuthenticationProps>{\n\t\t\t\t\tgetAuthenticationProviders: () =>\n\t\t\t\t\t\tnew Promise<AuthenticationProvider[]>((resolve) => {\n\t\t\t\t\t\t\tSmartDesktopClient.getAuthenticationProviders().then((providers: AuthenticationProvider[]) => {\n\t\t\t\t\t\t\t\tresolve(providers);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}),\n\t\t\t\t\tsetAuthenticationProviders: (authenticationProviders: any) =>\n\t\t\t\t\t\tSmartDesktopClient.setAuthenticationProviders(authenticationProviders),\n\t\t\t\t\ttestAuthenticationProvider: (provider: AuthenticationProvider) =>\n\t\t\t\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\t\t\t\tconst scopeMaybe = provider.scope ? `&scope=${provider.scope}` : \"\";\n\t\t\t\t\t\t\tconst nonceMaybe = provider.nonce ? `&nonce=${Math.random()}` : \"\";\n\t\t\t\t\t\t\tconst url = `${provider.authorization_endpoint}?client_id=${\n\t\t\t\t\t\t\t\tprovider.client_id\n\t\t\t\t\t\t\t}&response_type=token&redirect_uri=${\n\t\t\t\t\t\t\t\tprovider.redirect_uri\n\t\t\t\t\t\t\t}&state=${createCSRF()}${scopeMaybe}${nonceMaybe}`;\n\n\t\t\t\t\t\t\tFSBL.Clients.LauncherClient.spawn(\n\t\t\t\t\t\t\t\t\"authentication\",\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\ttop: \"center\",\n\t\t\t\t\t\t\t\t\tleft: \"center\",\n\t\t\t\t\t\t\t\t\tcanGroup: false,\n\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\tcustomData: {\n\t\t\t\t\t\t\t\t\t\t\tforeign: {\n\t\t\t\t\t\t\t\t\t\t\t\tservices: {\n\t\t\t\t\t\t\t\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tallowTabbing: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tallowSnapping: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tallowGrouping: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tauthorizationUrl: url,\n\t\t\t\t\t\t\t\t\t\t},\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\t(err: any) => {\n\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\tthrow err;\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\n\t\t\t\t\t\t\tFSBL.Clients.RouterClient.addListener(\"SDD-Auth-Test-Response\", (error: any, response: any) => {\n\t\t\t\t\t\t\t\tif (error || !response.data) {\n\t\t\t\t\t\t\t\t\treject(error || \"Empty error response from OAuth\");\n\t\t\t\t\t\t\t\t} else if (response.data.err) {\n\t\t\t\t\t\t\t\t\treject(response.data.err);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}),\n\t\t\t\t}) as AuthenticationProps,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tshowLabel: true,\n\t\tlabel: \"Deploy\",\n\t\tviews: [\n\t\t\t{\n\t\t\t\tid: \"export\",\n\t\t\t\ticon: \"upload\",\n\t\t\t\tname: \"Finish\",\n\t\t\t\tcomponent: Export,\n\t\t\t\tprops: (<ExportProps>{\n\t\t\t\t\tprogressCheckInterval: 500,\n\t\t\t\t\tgetSDServerInfo,\n\t\t\t\t\tgetProjectConfig: () => SmartDesktopClient.projectConfig(),\n\t\t\t\t\tcreateProjectZip: (projectName: string, targetPath: string | undefined = undefined) =>\n\t\t\t\t\t\tSmartDesktopClient.createProjectZip(projectName || \"default\", targetPath),\n\t\t\t\t\tpublishToCosaicCloud: (uuid) => SmartDesktopClient.publishToCosaicCloud(uuid),\n\t\t\t\t\tgetPublishProgress: () => SmartDesktopClient.getPublishProgress(),\n\t\t\t\t\tcopyProjectFiles: (projectName: string, targetPath: string | undefined = undefined) =>\n\t\t\t\t\t\tSmartDesktopClient.copyProjectFiles(projectName || \"default\", targetPath),\n\t\t\t\t\tupdateProjectSettings: (obj: any) => SmartDesktopClient.updateProjectSettings(obj),\n\t\t\t\t}) as ExportProps,\n\t\t\t},\n\t\t],\n\t},\n] as ViewSectionInfo[];\n"]}
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../../src/components/sdd/common/views.ts"],"names":[],"mappings":"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","sourcesContent":["import { GettingStarted } from \"../GettingStarted\";\nimport { Applications, ApplicationsProps } from \"../Applications\";\nimport { Export, ExportProps } from \"../Export\";\nimport { Themes, ThemeProps } from \"../Themes\";\nimport { AuthenticationProvider, MenuObjType, ViewSectionInfo } from \"../../../types/smartDesktopDesignerTypes\";\nimport { Authentication, AuthenticationProps } from \"../Authentication\";\nimport { services } from \"@finsemble/finsemble-api\";\nimport { Toolbar, ToolbarProps } from \"../Toolbar\";\nimport { OptionalSettingsViewProps, OptionalSettingsView } from \"../OptionalSettingsView\";\nimport { ThemeBundle } from \"../ThemePage\";\nimport { SmartDesktopClient } from \"../smartDesktopClient\";\n\ntype AppDefinition = services.Interop.types.AppDefinition;\n\nconst getSDServerInfo = (cb: any) => {\n\tSmartDesktopClient.getSDServerInfo().then((info: any) => {\n\t\tFSBL.Clients.ConfigClient.getValues(null, (err: any, newConfig: any) => {\n\t\t\tcb({\n\t\t\t\t...info,\n\t\t\t\texport: {\n\t\t\t\t\t...info.export,\n\t\t\t\t\ttoolbarIcon: \"/assets/img/Finsemble_Toolbar_Icon.png\",\n\t\t\t\t\tinstallerIcon: \"/assets/img/installer_icon.ico\",\n\t\t\t\t\ttaskbarIcon: newConfig?.startup_app?.applicationIcon,\n\t\t\t\t\tsystemTrayIcon: newConfig?.finsemble?.systemTrayIcon,\n\t\t\t\t\tsplashScreenImage: newConfig?.splashScreenImage,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t});\n};\n\nfunction createCSRF() {\n\tconst epoch = new Date();\n\tlet id = epoch.getTime().toString(36);\n\tid = id + Math.floor(Math.random() * Math.pow(36, 2)).toString(36);\n\treturn id.toUpperCase();\n}\n\nexport default [\n\t{\n\t\tshowLabel: false,\n\t\tlabel: \"\",\n\t\tviews: [\n\t\t\t{\n\t\t\t\tid: \"getting-started\",\n\t\t\t\ticon: \"flag\",\n\t\t\t\tname: \"Start\",\n\t\t\t\tcomponent: GettingStarted,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tshowLabel: true,\n\t\tlabel: \"Apps\",\n\t\tviews: [\n\t\t\t{\n\t\t\t\tid: \"applications\",\n\t\t\t\ticon: \"window\",\n\t\t\t\tname: \"Manage apps\",\n\t\t\t\tcomponent: Applications,\n\t\t\t\tprops: <ApplicationsProps>{\n\t\t\t\t\tgetApps: () => SmartDesktopClient.getApps(),\n\t\t\t\t\taddApp: (appId: string, appConfig: AppDefinition) => SmartDesktopClient.addApp(appId, appConfig),\n\t\t\t\t\tdeleteApp: (appId: string) => SmartDesktopClient.deleteApp(appId),\n\t\t\t\t\tupdateApp: (appId: string, appConfig: AppDefinition) => SmartDesktopClient.updateApp(appId, appConfig),\n\t\t\t\t\tgetMenus: () => SmartDesktopClient.getMenus(),\n\t\t\t\t\taddMenu: (menuConfig: MenuObjType) => SmartDesktopClient.addMenu(menuConfig),\n\t\t\t\t\tupdateMenu: (menuId: string, menuConfig: MenuObjType) => SmartDesktopClient.updateMenu(menuId, menuConfig),\n\t\t\t\t\tdeleteMenu: (menuId: string) => SmartDesktopClient.deleteMenu(menuId),\n\t\t\t\t\tgetPreloads: () => SmartDesktopClient.getPreloads(),\n\t\t\t\t\tgetAppConfigTemplate: () => SmartDesktopClient.getAppConfigTemplate(),\n\t\t\t\t\tisInboundInteropAuthorized: SmartDesktopClient.isInboundInteropAuthorized,\n\t\t\t\t\tisOutboundInteropAuthorized: SmartDesktopClient.isOutboundInteropAuthorized,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"applications-optional\",\n\t\t\t\ticon: \"code-block\",\n\t\t\t\tname: \"Extensions\",\n\t\t\t\tcomponent: OptionalSettingsView,\n\t\t\t\tprops: <OptionalSettingsViewProps>{\n\t\t\t\t\tgetApps: SmartDesktopClient.getApps,\n\t\t\t\t\tupdateApp: SmartDesktopClient.updateApp,\n\t\t\t\t\tgetPreloads: SmartDesktopClient.getPreloads,\n\t\t\t\t\tsavePreload: SmartDesktopClient.savePreload,\n\t\t\t\t\tdeletePreload: SmartDesktopClient.deletePreload,\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tshowLabel: true,\n\t\tlabel: \"Desktop Customization\",\n\t\tviews: [\n\t\t\t{\n\t\t\t\tid: \"themes\",\n\t\t\t\ticon: \"paint-roller\",\n\t\t\t\tname: \"Theme\",\n\t\t\t\tcomponent: Themes,\n\t\t\t\tprops: {\n\t\t\t\t\tgetSDServerInfo,\n\t\t\t\t\tupdateProjectSettings: (obj: any) => SmartDesktopClient.updateProjectSettings(obj),\n\t\t\t\t\tupdateThemes: (id: string, newValue: string) => {\n\t\t\t\t\t\tSmartDesktopClient.updateThemeVariable(id, newValue);\n\t\t\t\t\t},\n\t\t\t\t\tupdateTheme: (theme: ThemeBundle) => {\n\t\t\t\t\t\tSmartDesktopClient.updateTheme(theme);\n\t\t\t\t\t},\n\t\t\t\t\tareYouSure: (affirmativeCallback: Function) => {\n\t\t\t\t\t\tFSBL.Clients.DialogManager.open(\n\t\t\t\t\t\t\t\"yesNo\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: \"Change your theme?\",\n\t\t\t\t\t\t\t\tquestion: `Selecting this template will undo any custom theme changes. Would you like to proceed?`,\n\t\t\t\t\t\t\t\thideModalOnClose: true,\n\t\t\t\t\t\t\t\tshowNegativeButton: false,\n\t\t\t\t\t\t\t\taffirmativeResponseLabel: \"Yes\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t(err: any, response: { choice: string }) => {\n\t\t\t\t\t\t\t\tif (response.choice === \"affirmative\") {\n\t\t\t\t\t\t\t\t\taffirmativeCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\tupdateSplashScreen: (file: File) => SmartDesktopClient.updateSplashScreen(file),\n\t\t\t\t\tupdateToolbarIcon: (file: File) => SmartDesktopClient.updateToolbarIcon(file),\n\t\t\t\t\tupdateTaskbarIcon: (file: File) => SmartDesktopClient.updateTaskbarIcon(file),\n\t\t\t\t\tupdateSystemTrayIcon: (file: File) => SmartDesktopClient.updateSystemTrayIcon(file),\n\t\t\t\t\tupdateInstallerIcon: (file: File) => SmartDesktopClient.updateInstallerIcon(file),\n\t\t\t\t} as ThemeProps,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"toolbar\",\n\t\t\t\ticon: \"toolbar\",\n\t\t\t\tname: \"Toolbar\",\n\t\t\t\tcomponent: Toolbar,\n\t\t\t\tprops: {\n\t\t\t\t\tgetApps: () => SmartDesktopClient.getApps(),\n\t\t\t\t\tgetMenus: () => SmartDesktopClient.getMenus(),\n\t\t\t\t\taddMenu: (menuConfig: MenuObjType) => SmartDesktopClient.addMenu(menuConfig),\n\t\t\t\t\tupdateMenu: (menuId: string, menuConfig: MenuObjType) => SmartDesktopClient.updateMenu(menuId, menuConfig),\n\t\t\t\t\tdeleteMenu: (menuId: string) => SmartDesktopClient.deleteMenu(menuId),\n\t\t\t\t} as ToolbarProps,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"authentication\",\n\t\t\t\ticon: \"key\",\n\t\t\t\tname: \"Authentication\",\n\t\t\t\tcomponent: Authentication,\n\t\t\t\tprops: (<AuthenticationProps>{\n\t\t\t\t\tgetAuthenticationProviders: () =>\n\t\t\t\t\t\tnew Promise<AuthenticationProvider[]>((resolve) => {\n\t\t\t\t\t\t\tSmartDesktopClient.getAuthenticationProviders().then((providers: AuthenticationProvider[]) => {\n\t\t\t\t\t\t\t\tresolve(providers);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}),\n\t\t\t\t\tsetAuthenticationProviders: (authenticationProviders: any) =>\n\t\t\t\t\t\tSmartDesktopClient.setAuthenticationProviders(authenticationProviders),\n\t\t\t\t\ttestAuthenticationProvider: (provider: AuthenticationProvider) =>\n\t\t\t\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\t\t\t\tconst scopeMaybe = provider.scope ? `&scope=${provider.scope}` : \"\";\n\t\t\t\t\t\t\tconst nonceMaybe = provider.nonce ? `&nonce=${Math.random()}` : \"\";\n\t\t\t\t\t\t\tconst url = `${provider.authorization_endpoint}?client_id=${\n\t\t\t\t\t\t\t\tprovider.client_id\n\t\t\t\t\t\t\t}&response_type=token&redirect_uri=${\n\t\t\t\t\t\t\t\tprovider.redirect_uri\n\t\t\t\t\t\t\t}&state=${createCSRF()}${scopeMaybe}${nonceMaybe}`;\n\n\t\t\t\t\t\t\tFSBL.Clients.LauncherClient.spawn(\n\t\t\t\t\t\t\t\t\"authentication\",\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\ttop: \"center\",\n\t\t\t\t\t\t\t\t\tleft: \"center\",\n\t\t\t\t\t\t\t\t\tcanGroup: false,\n\t\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\t\tcustomData: {\n\t\t\t\t\t\t\t\t\t\t\tforeign: {\n\t\t\t\t\t\t\t\t\t\t\t\tservices: {\n\t\t\t\t\t\t\t\t\t\t\t\t\twindowService: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tallowTabbing: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tallowSnapping: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tallowGrouping: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tauthorizationUrl: url,\n\t\t\t\t\t\t\t\t\t\t},\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\t(err: any) => {\n\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\tthrow err;\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\n\t\t\t\t\t\t\tFSBL.Clients.RouterClient.addListener(\"SDD-Auth-Test-Response\", (error: any, response: any) => {\n\t\t\t\t\t\t\t\tif (error || !response.data) {\n\t\t\t\t\t\t\t\t\treject(error || \"Empty error response from OAuth\");\n\t\t\t\t\t\t\t\t} else if (response.data.err) {\n\t\t\t\t\t\t\t\t\treject(response.data.err);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}),\n\t\t\t\t}) as AuthenticationProps,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tshowLabel: true,\n\t\tlabel: \"Deploy\",\n\t\tviews: [\n\t\t\t{\n\t\t\t\tid: \"export\",\n\t\t\t\ticon: \"upload\",\n\t\t\t\tname: \"Finish\",\n\t\t\t\tcomponent: Export,\n\t\t\t\tprops: (<ExportProps>{\n\t\t\t\t\tprogressCheckInterval: 500,\n\t\t\t\t\tgetSDServerInfo,\n\t\t\t\t\tgetProjectConfig: () => SmartDesktopClient.projectConfig(),\n\t\t\t\t\tcreateProjectZip: (projectName: string, targetPath: string | undefined = undefined) =>\n\t\t\t\t\t\tSmartDesktopClient.createProjectZip(projectName || \"default\", targetPath),\n\t\t\t\t\tpublishToCosaicCloud: (uuid: string) => SmartDesktopClient.publishToCosaicCloud(uuid),\n\t\t\t\t\tgetPublishProgress: () => SmartDesktopClient.getPublishProgress(),\n\t\t\t\t\tcopyProjectFiles: (projectName: string, targetPath: string | undefined = undefined) =>\n\t\t\t\t\t\tSmartDesktopClient.copyProjectFiles(projectName || \"default\", targetPath),\n\t\t\t\t\tupdateProjectSettings: (obj: any) => SmartDesktopClient.updateProjectSettings(obj),\n\t\t\t\t}) as ExportProps,\n\t\t\t},\n\t\t],\n\t},\n] as ViewSectionInfo[];\n"]}
@@ -0,0 +1,52 @@
1
+ .quick-add-app .finsembleToggle {
2
+ height: 32px;
3
+ background-color: #22262f;
4
+ text-align: center;
5
+ border-radius: 5px;
6
+ margin: 4px;
7
+ position: relative;
8
+ top: 6px;
9
+ }
10
+
11
+ .quick-add-app table {
12
+ margin-top: 10px;
13
+ }
14
+
15
+ .quick-add-app .toggle-text-label {
16
+ height: 26px;
17
+ width: 90px;
18
+ border-radius: 5px;
19
+ justify-self: center;
20
+ padding-top: 5px;
21
+ }
22
+
23
+ .quick-add-app .toggle-text-label[aria-selected="true"] {
24
+ background-color: #5b606f;
25
+ }
26
+
27
+ .quick-add-close {
28
+ position: absolute;
29
+ right: 0px;
30
+ top: 5px;
31
+ color: #aaaaaa;
32
+ }
33
+
34
+ .quick-add-close button {
35
+ color: #aaaaaa;
36
+ }
37
+
38
+ .quick-add-app .save-button-container {
39
+ width: 100%;
40
+ text-align: right;
41
+ padding-bottom: 19px;
42
+ padding-top: 5px;
43
+ }
44
+
45
+ .quick-add-app .save-button-container button {
46
+ margin-right: 20px;
47
+ border-radius: 5px;
48
+ }
49
+
50
+ .quick-add-app .file-input-container {
51
+ margin-right: 12px;
52
+ }
@@ -140,28 +140,8 @@ label[for="menu-group"] {
140
140
  transition: 1s max-height ease-in;
141
141
  }
142
142
 
143
- .quick-add-close {
144
- position: absolute;
145
- right: 0px;
146
- top: 5px;
147
- color: #aaaaaa;
148
- }
149
-
150
- .quick-add-close button {
151
- color: #aaaaaa;
152
- }
153
-
154
- .quick-add-app .save-button-container {
155
- width: 100%;
156
- text-align: right;
157
- padding-bottom: 19px;
158
- padding-top: 5px;
159
- }
160
-
161
- .quick-add-app .save-button-container button {
162
- margin-right: 20px;
163
- }
164
-
165
- .file-input-container {
166
- margin-right: 12px;
143
+ .quick-add-app .tooltip > .tooltip-content {
144
+ bottom: -50px;
145
+ top: auto;
146
+ width: 250px;
167
147
  }
@@ -64,7 +64,7 @@
64
64
  margin: 0px;
65
65
  }
66
66
 
67
- .nav-item a {
67
+ .nav-item [role="tab"] {
68
68
  width: 50%;
69
69
  margin-left: 10px;
70
70
  color: #ddd;
@@ -85,11 +85,11 @@
85
85
  position: relative;
86
86
  }
87
87
 
88
- .nav-item:hover a {
88
+ .nav-item:hover [role="tab"] {
89
89
  background-color: #373b43;
90
90
  }
91
91
 
92
- .nav-item.active a {
92
+ .nav-item[aria-selected="true"] [role="tab"] {
93
93
  background-color: #373b43;
94
94
  }
95
95
 
@@ -1,8 +1,22 @@
1
+ import { AuthenticationType } from "../../../types/smartDesktopDesignerTypes";
1
2
  const defaultCallback = () => new Promise((resolve) => {
2
3
  resolve(null);
3
4
  });
5
+ const getAuthenticationProviders = () => new Promise((resolve) => {
6
+ resolve([
7
+ {
8
+ name: "Custom",
9
+ enabled: true,
10
+ type: AuthenticationType.OAUTH2,
11
+ client_id: "",
12
+ secret: null,
13
+ redirect_uri: "",
14
+ nonce: false,
15
+ },
16
+ ]);
17
+ });
4
18
  export const default_authentication_props = {
5
- getAuthenticationProviders: defaultCallback,
19
+ getAuthenticationProviders,
6
20
  setAuthenticationProviders: defaultCallback,
7
21
  testAuthenticationProvider: defaultCallback,
8
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"authenticationProps.js","sourceRoot":"","sources":["../../../../src/components/sdd/fixtures/authenticationProps.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,GAAG,EAAE,CAC5B,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACvB,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC3C,0BAA0B,EAAE,eAAe;IAC3C,0BAA0B,EAAE,eAAe;IAC3C,0BAA0B,EAAE,eAAe;CACpB,CAAC","sourcesContent":["import { AuthenticationProps } from \"../Authentication\";\n\nconst defaultCallback = () =>\n\tnew Promise((resolve) => {\n\t\tresolve(null);\n\t});\n\nexport const default_authentication_props = {\n\tgetAuthenticationProviders: defaultCallback,\n\tsetAuthenticationProviders: defaultCallback,\n\ttestAuthenticationProvider: defaultCallback,\n} as AuthenticationProps;\n"]}
1
+ {"version":3,"file":"authenticationProps.js","sourceRoot":"","sources":["../../../../src/components/sdd/fixtures/authenticationProps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAA0B,MAAM,0CAA0C,CAAC;AAEtG,MAAM,eAAe,GAAG,GAAG,EAAE,CAC5B,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACvB,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC,CAAC;AAEJ,MAAM,0BAA0B,GAAG,GAAsC,EAAE,CAC1E,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACvB,OAAO,CAAC;QACP;YACC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,kBAAkB,CAAC,MAAM;YAC/B,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE,KAAK;SACZ;KACD,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC3C,0BAA0B;IAC1B,0BAA0B,EAAE,eAAe;IAC3C,0BAA0B,EAAE,eAAe;CACpB,CAAC","sourcesContent":["import { AuthenticationProps } from \"../Authentication\";\nimport { AuthenticationType, AuthenticationProvider } from \"../../../types/smartDesktopDesignerTypes\";\n\nconst defaultCallback = () =>\n\tnew Promise((resolve) => {\n\t\tresolve(null);\n\t});\n\nconst getAuthenticationProviders = (): Promise<AuthenticationProvider[]> =>\n\tnew Promise((resolve) => {\n\t\tresolve([\n\t\t\t{\n\t\t\t\tname: \"Custom\",\n\t\t\t\tenabled: true,\n\t\t\t\ttype: AuthenticationType.OAUTH2,\n\t\t\t\tclient_id: \"\",\n\t\t\t\tsecret: null,\n\t\t\t\tredirect_uri: \"\",\n\t\t\t\tnonce: false,\n\t\t\t},\n\t\t]);\n\t});\n\nexport const default_authentication_props = {\n\tgetAuthenticationProviders,\n\tsetAuthenticationProviders: defaultCallback,\n\ttestAuthenticationProvider: defaultCallback,\n} as AuthenticationProps;\n"]}
@@ -16,18 +16,19 @@ export const getPreloadsArgs = () => {
16
16
  getApps: applicationArgs.getApps,
17
17
  updateApp: applicationArgs.updateApp,
18
18
  getPreloads: () => new Promise((resolve) => {
19
- console.log("get preloads: ", preloads);
20
19
  resolve({ err: null, data: preloads });
21
20
  }),
22
21
  savePreload: (oldAlias, newAlias, detail) => new Promise((resolve) => {
23
- delete preloads[oldAlias];
24
- preloads[newAlias] = detail;
22
+ let tmp = Object.assign({}, preloads);
23
+ delete tmp[oldAlias];
24
+ tmp[newAlias] = detail;
25
+ preloads = tmp;
25
26
  resolve({ err: null });
26
27
  }),
27
28
  deletePreload: (alias) => new Promise((resolve) => {
28
- console.log("delete: ", alias);
29
- delete preloads[alias];
30
- console.log(preloads);
29
+ let tmp = Object.assign({}, preloads);
30
+ delete tmp[alias];
31
+ preloads = tmp;
31
32
  resolve({ err: null });
32
33
  }),
33
34
  };
@@ -38,18 +39,19 @@ export const getEmptyPreloadsArgs = () => {
38
39
  getApps: applicationArgs.getApps,
39
40
  updateApp: applicationArgs.updateApp,
40
41
  getPreloads: () => new Promise((resolve) => {
41
- console.log("get preloads: ", preloads);
42
42
  resolve({ err: null, data: preloads });
43
43
  }),
44
44
  savePreload: (oldAlias, newAlias, detail) => new Promise((resolve) => {
45
- delete preloads[oldAlias];
46
- preloads[newAlias] = detail;
45
+ let tmp = Object.assign({}, preloads);
46
+ delete tmp[oldAlias];
47
+ tmp[newAlias] = detail;
48
+ preloads = tmp;
47
49
  resolve({ err: null });
48
50
  }),
49
51
  deletePreload: (alias) => new Promise((resolve) => {
50
- console.log("delete: ", alias);
51
- delete preloads[alias];
52
- console.log(preloads);
52
+ let tmp = Object.assign({}, preloads);
53
+ delete tmp[alias];
54
+ preloads = tmp;
53
55
  resolve({ err: null });
54
56
  }),
55
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"preloads.js","sourceRoot":"","sources":["../../../../src/components/sdd/fixtures/preloads.ts"],"names":[],"mappings":"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","sourcesContent":["import { PreloadMap, PreloadDetail } from \"../../../types/smartDesktopDesignerTypes\";\nimport { getApplicationsArgs } from \"./apps\";\nimport { OptionalSettingsViewProps } from \"../OptionalSettingsView\";\nconst applicationArgs = getApplicationsArgs(\"default\");\n\nconst default_preloads: PreloadMap = {\n\tzoom: {\n\t\turl: \"http://localhost:3375/build/preloads/zoom.js\",\n\t\tautoload: \"none\",\n\t},\n\t\"native-overrides\": {\n\t\turl: \"http://localhost:3375/build/preloads/nativeOverrides.js\",\n\t\tautoload: \"none\",\n\t},\n};\n\nexport const getPreloadsArgs = (): OptionalSettingsViewProps => {\n\tlet preloads: PreloadMap = Object.assign(default_preloads);\n\n\treturn {\n\t\tgetApps: applicationArgs.getApps,\n\t\tupdateApp: applicationArgs.updateApp,\n\t\tgetPreloads: (): Promise<{ err: any; data: PreloadMap }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tconsole.log(\"get preloads: \", preloads);\n\t\t\t\tresolve({ err: null, data: preloads });\n\t\t\t}),\n\t\tsavePreload: (oldAlias: string, newAlias: string, detail: PreloadDetail): Promise<{ err: any }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tdelete preloads[oldAlias];\n\t\t\t\tpreloads[newAlias] = detail;\n\t\t\t\tresolve({ err: null });\n\t\t\t}),\n\t\tdeletePreload: (alias: string): Promise<{ err: any }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tconsole.log(\"delete: \", alias);\n\t\t\t\tdelete preloads[alias];\n\t\t\t\tconsole.log(preloads);\n\t\t\t\tresolve({ err: null });\n\t\t\t}),\n\t};\n};\n\nexport const getEmptyPreloadsArgs = (): OptionalSettingsViewProps => {\n\tlet preloads: PreloadMap = {};\n\n\treturn {\n\t\tgetApps: applicationArgs.getApps,\n\t\tupdateApp: applicationArgs.updateApp,\n\t\tgetPreloads: (): Promise<{ err: any; data: PreloadMap }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tconsole.log(\"get preloads: \", preloads);\n\t\t\t\tresolve({ err: null, data: preloads });\n\t\t\t}),\n\t\tsavePreload: (oldAlias: string, newAlias: string, detail: PreloadDetail): Promise<{ err: any }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tdelete preloads[oldAlias];\n\t\t\t\tpreloads[newAlias] = detail;\n\t\t\t\tresolve({ err: null });\n\t\t\t}),\n\t\tdeletePreload: (alias: string): Promise<{ err: any }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tconsole.log(\"delete: \", alias);\n\t\t\t\tdelete preloads[alias];\n\t\t\t\tconsole.log(preloads);\n\t\t\t\tresolve({ err: null });\n\t\t\t}),\n\t};\n};\n"]}
1
+ {"version":3,"file":"preloads.js","sourceRoot":"","sources":["../../../../src/components/sdd/fixtures/preloads.ts"],"names":[],"mappings":"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","sourcesContent":["import { PreloadMap, PreloadDetail } from \"../../../types/smartDesktopDesignerTypes\";\nimport { getApplicationsArgs } from \"./apps\";\nimport { OptionalSettingsViewProps } from \"../OptionalSettingsView\";\nconst applicationArgs = getApplicationsArgs(\"default\");\n\nconst default_preloads: PreloadMap = {\n\tzoom: {\n\t\turl: \"http://localhost:3375/build/preloads/zoom.js\",\n\t\tautoload: \"none\",\n\t},\n\t\"native-overrides\": {\n\t\turl: \"http://localhost:3375/build/preloads/nativeOverrides.js\",\n\t\tautoload: \"none\",\n\t},\n};\n\nexport const getPreloadsArgs = (): OptionalSettingsViewProps => {\n\tlet preloads: PreloadMap = Object.assign(default_preloads);\n\n\treturn {\n\t\tgetApps: applicationArgs.getApps,\n\t\tupdateApp: applicationArgs.updateApp,\n\t\tgetPreloads: (): Promise<{ err: any; data: PreloadMap }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tresolve({ err: null, data: preloads });\n\t\t\t}),\n\t\tsavePreload: (oldAlias: string, newAlias: string, detail: PreloadDetail): Promise<{ err: any }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tlet tmp = { ...preloads };\n\t\t\t\tdelete tmp[oldAlias];\n\t\t\t\ttmp[newAlias] = detail;\n\t\t\t\tpreloads = tmp;\n\t\t\t\tresolve({ err: null });\n\t\t\t}),\n\t\tdeletePreload: (alias: string): Promise<{ err: any }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tlet tmp = { ...preloads };\n\t\t\t\tdelete tmp[alias];\n\t\t\t\tpreloads = tmp;\n\t\t\t\tresolve({ err: null });\n\t\t\t}),\n\t};\n};\n\nexport const getEmptyPreloadsArgs = (): OptionalSettingsViewProps => {\n\tlet preloads: PreloadMap = {};\n\n\treturn {\n\t\tgetApps: applicationArgs.getApps,\n\t\tupdateApp: applicationArgs.updateApp,\n\t\tgetPreloads: (): Promise<{ err: any; data: PreloadMap }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tresolve({ err: null, data: preloads });\n\t\t\t}),\n\t\tsavePreload: (oldAlias: string, newAlias: string, detail: PreloadDetail): Promise<{ err: any }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tlet tmp = { ...preloads };\n\t\t\t\tdelete tmp[oldAlias];\n\t\t\t\ttmp[newAlias] = detail;\n\t\t\t\tpreloads = tmp;\n\t\t\t\tresolve({ err: null });\n\t\t\t}),\n\t\tdeletePreload: (alias: string): Promise<{ err: any }> =>\n\t\t\tnew Promise((resolve) => {\n\t\t\t\tlet tmp = { ...preloads };\n\t\t\t\tdelete tmp[alias];\n\t\t\t\tpreloads = tmp;\n\t\t\t\tresolve({ err: null });\n\t\t\t}),\n\t};\n};\n"]}