@finsemble/finsemble-ui 7.2.0-alpha.1 → 7.2.0

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 (59) hide show
  1. package/package.json +6 -6
  2. package/react/components/appCatalog/AppCatalogComponent.d.ts +12 -0
  3. package/react/components/appCatalog/components/AppCard.d.ts +13 -0
  4. package/react/components/appCatalog/components/Carousel.d.ts +5 -0
  5. package/react/components/appCatalog/components/Showcase/AppShowcase.d.ts +9 -0
  6. package/react/components/menu/keyboardNavigation.js.map +1 -1
  7. package/react/components/menu/menuHelpers.d.ts +1 -1
  8. package/react/components/notifications/components/views/CardView.js.map +1 -1
  9. package/react/components/notifications/components/views/ListView.js.map +1 -1
  10. package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +3 -3
  11. package/react/components/sdd/Appearance.d.ts +1 -13
  12. package/react/components/sdd/Appearance.js +2 -2
  13. package/react/components/sdd/Appearance.js.map +1 -1
  14. package/react/components/sdd/AssetsPage.d.ts +1 -13
  15. package/react/components/sdd/AssetsPage.js +50 -47
  16. package/react/components/sdd/AssetsPage.js.map +1 -1
  17. package/react/components/sdd/SmartDesktopDesigner.d.ts +1 -1
  18. package/react/components/sdd/SmartDesktopDesigner.js +7 -3
  19. package/react/components/sdd/SmartDesktopDesigner.js.map +1 -1
  20. package/react/components/sdd/Themes.d.ts +1 -6
  21. package/react/components/sdd/Themes.js +5 -52
  22. package/react/components/sdd/Themes.js.map +1 -1
  23. package/react/components/sdd/common/fsbl_functions.d.ts +1 -1
  24. package/react/components/sdd/common/views.js +0 -2
  25. package/react/components/sdd/common/views.js.map +1 -1
  26. package/react/components/sdd/css/addApp.css +11 -5
  27. package/react/components/sdd/fixtures/themeProps.d.ts +0 -4
  28. package/react/components/sdd/fixtures/themeProps.js +0 -15
  29. package/react/components/sdd/fixtures/themeProps.js.map +1 -1
  30. package/react/components/sdd/fixtures/views.js +1 -1
  31. package/react/components/sdd/fixtures/views.js.map +1 -1
  32. package/react/components/sdd/smartDesktopClient.d.ts +3 -3
  33. package/react/components/sdd/stories/Appearance.stories.d.ts +1 -1
  34. package/react/components/sdd/stories/Appearance.stories.js +0 -12
  35. package/react/components/sdd/stories/Appearance.stories.js.map +1 -1
  36. package/react/components/sdd/stories/AssetsPage.stories.d.ts +1 -1
  37. package/react/components/sdd/stories/AssetsPage.stories.js +0 -24
  38. package/react/components/sdd/stories/AssetsPage.stories.js.map +1 -1
  39. package/react/components/sdd/stories/SmartDesktopDesigner.stories.d.ts +1 -1
  40. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js +16 -1
  41. package/react/components/sdd/stories/SmartDesktopDesigner.stories.js.map +1 -1
  42. package/react/components/sdd/stories/Themes.stories.d.ts +1 -1
  43. package/react/components/sdd/stories/Themes.stories.js +0 -25
  44. package/react/components/sdd/stories/Themes.stories.js.map +1 -1
  45. package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +2 -2
  46. package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +2 -2
  47. package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
  48. package/react/components/windowTitleBar/WindowTitleBarShell.js +60 -5
  49. package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
  50. package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +25 -0
  51. package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.d.ts +23 -0
  52. package/react/components/windowTitleBar/components/left/ShareButton.d.ts +16 -0
  53. package/react/components/windowTitleBar/components/windowTitle.js +2 -2
  54. package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
  55. package/react/reducers/smartDesktopDesignerReducer.js +1 -0
  56. package/react/reducers/smartDesktopDesignerReducer.js.map +1 -1
  57. package/react/tsconfig.tsbuildinfo +1 -1
  58. package/react/types/smartDesktopDesignerTypes.d.ts +1 -0
  59. package/react/types/smartDesktopDesignerTypes.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsPage.js","sourceRoot":"","sources":["../../../src/components/sdd/AssetsPage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React from \"react\";\nimport { ImagePreview, ImagePreviewSize } from \"../common/ImagePreview\";\nimport { FileInputUploadCb } from \"../common/FileInput\";\nimport { Tooltip } from \"../common/Tooltip\";\nimport \"./AssetsPage.css\";\n\nexport type AssetsPageProps = {\n\tbaseURL: string;\n\ttoolbarIcon: string;\n\tsetToolbarIcon: (s: string) => void;\n\ttaskbarIcon: string;\n\tsetTaskbarIcon: (s: string) => void;\n\tinstallerIcon: string;\n\tsetInstallerIcon: (s: string) => void;\n\tsystemTrayIcon: string;\n\tsetSystemTrayIcon: (s: string) => void;\n\tsplashScreenImage: string;\n\tsetSplashScreenImage: (s: string) => void;\n\tsetIconsChanged: (n: number) => void;\n\tupdateSplashScreen: FileInputUploadCb;\n\tupdateToolbarIcon: FileInputUploadCb;\n\tupdateTaskbarIcon: FileInputUploadCb;\n\tupdateSystemTrayIcon: FileInputUploadCb;\n\tupdateInstallerIcon: FileInputUploadCb;\n};\n\nexport const AssetsPage = ({\n\tbaseURL,\n\ttoolbarIcon,\n\tsetToolbarIcon,\n\ttaskbarIcon,\n\tsetTaskbarIcon,\n\tinstallerIcon,\n\tsetInstallerIcon,\n\tsystemTrayIcon,\n\tsetSystemTrayIcon,\n\tsplashScreenImage,\n\tsetSplashScreenImage,\n\tsetIconsChanged,\n\tupdateSplashScreen,\n\tupdateToolbarIcon,\n\tupdateTaskbarIcon,\n\tupdateSystemTrayIcon,\n\tupdateInstallerIcon,\n}: AssetsPageProps) => (\n\t<div className=\"images-section\">\n\t\t<fieldset className=\"project-assets\">\n\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t<label htmlFor=\"export-splash-screen\">\n\t\t\t\t\t<span>Splash screen</span>\n\n\t\t\t\t\t<Tooltip>The Splash screen should be 600px X 400px (W x H). Supported formats are PNG, JPG, and GIF.</Tooltip>\n\t\t\t\t</label>\n\n\t\t\t\t<div className=\"project-splash-screen-field\">\n\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\tid=\"export-splash-screen\"\n\t\t\t\t\t\tvalue={splashScreenImage}\n\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\tsetSplashScreenImage(value);\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tuploadFunction={updateSplashScreen}\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\", \"image/gif\"]}\n\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t\tpreviewSize={ImagePreviewSize.LARGE}\n\t\t\t\t\t></ImagePreview>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t<label htmlFor=\"export-toolbar-icon\">\n\t\t\t\t\t<span>Toolbar icon</span>\n\n\t\t\t\t\t<Tooltip>The Toolbar icon should be 200px X 200px. Supported formats are PNG, JPG, and GIF.</Tooltip>\n\t\t\t\t</label>\n\n\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\tid=\"export-toolbar-icon\"\n\t\t\t\t\t\tvalue={toolbarIcon}\n\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\tsetToolbarIcon(value);\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tuploadFunction={updateToolbarIcon}\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\", \"image/gif\"]}\n\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t></ImagePreview>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t<label htmlFor=\"export-taskbar-icon\">\n\t\t\t\t\t<span>Taskbar icon</span>\n\n\t\t\t\t\t<Tooltip>The Toolbar icon should be 400px X 400px. Supported formats are PNG and JPG</Tooltip>\n\t\t\t\t</label>\n\n\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\tvalue={taskbarIcon}\n\t\t\t\t\t\tid=\"export-taskbar-icon\"\n\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\tsetTaskbarIcon(value);\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tuploadFunction={updateTaskbarIcon}\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\"]}\n\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t></ImagePreview>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t<label htmlFor=\"export-system-tray-icon\">\n\t\t\t\t\t<span>System Tray Icon</span>\n\n\t\t\t\t\t<Tooltip>The System tray icon should be 100px X 100px. Supported formats are PNG and JPG.</Tooltip>\n\t\t\t\t</label>\n\n\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\tvalue={systemTrayIcon}\n\t\t\t\t\t\tid=\"export-system-tray-icon\"\n\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\tsetSystemTrayIcon(value);\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tuploadFunction={updateSystemTrayIcon}\n\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\"]}\n\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t></ImagePreview>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t<label htmlFor=\"export-installer-icon\">\n\t\t\t\t\t<span>Installer Icon</span>\n\n\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\tInstaller icons must use the ICO format. You can create and ICO image from a PNG file using free online\n\t\t\t\t\t\tservices. See the User Guide for more information.\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</label>\n\n\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\tvalue={installerIcon}\n\t\t\t\t\t\tid=\"export-installer-icon\"\n\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\tsetInstallerIcon(value);\n\t\t\t\t\t\t\tsetIconsChanged(new Date().getTime());\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tuploadFunction={updateInstallerIcon}\n\t\t\t\t\t\tacceptTypes={[\"image/x-icon\"]}\n\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t></ImagePreview>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</fieldset>\n\t</div>\n);\n"]}
1
+ {"version":3,"file":"AssetsPage.js","sourceRoot":"","sources":["../../../src/components/sdd/AssetsPage.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React from \"react\";\nimport { ImagePreview, ImagePreviewSize } from \"../common/ImagePreview\";\nimport { FileInputUploadCb } from \"../common/FileInput\";\nimport { Tooltip } from \"../common/Tooltip\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { useSelector, useDispatch } from \"../../store\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport \"./AssetsPage.css\";\n\nexport type AssetsPageProps = {\n\tupdateSplashScreen: FileInputUploadCb;\n\tupdateToolbarIcon: FileInputUploadCb;\n\tupdateTaskbarIcon: FileInputUploadCb;\n\tupdateSystemTrayIcon: FileInputUploadCb;\n\tupdateInstallerIcon: FileInputUploadCb;\n};\n\nexport const AssetsPage = ({\n\tupdateSplashScreen,\n\tupdateToolbarIcon,\n\tupdateTaskbarIcon,\n\tupdateSystemTrayIcon,\n\tupdateInstallerIcon,\n}: AssetsPageProps) => {\n\tconst dispatch = useDispatch();\n\tconst project = useSelector((state: RootState) => state.smartDesktopDesigner.projectInfo);\n\tconst { splashScreenImage, toolbarIcon, taskbarIcon, installerIcon, systemTrayIcon } = project.export;\n\tconst baseURL = project.applicationRoot;\n\n\treturn (\n\t\t<div className=\"images-section\">\n\t\t\t<fieldset className=\"project-assets\">\n\t\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t\t<label htmlFor=\"export-splash-screen\">\n\t\t\t\t\t\t<span>Splash screen</span>\n\n\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\tThe Splash screen should be 600px X 400px (W x H). Supported formats are PNG, JPG, and GIF.\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</label>\n\n\t\t\t\t\t<div className=\"project-splash-screen-field\">\n\t\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\t\tid=\"export-splash-screen\"\n\t\t\t\t\t\t\tvalue={splashScreenImage}\n\t\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tSmartDesktopDesignerActions.set_project_info({\n\t\t\t\t\t\t\t\t\t\t...project,\n\t\t\t\t\t\t\t\t\t\texport: {\n\t\t\t\t\t\t\t\t\t\t\t...project.export,\n\t\t\t\t\t\t\t\t\t\t\tsplashScreenImage: value,\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}}\n\t\t\t\t\t\t\tuploadFunction={updateSplashScreen}\n\t\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\", \"image/gif\"]}\n\t\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t\t\tpreviewSize={ImagePreviewSize.LARGE}\n\t\t\t\t\t\t></ImagePreview>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t\t<label htmlFor=\"export-toolbar-icon\">\n\t\t\t\t\t\t<span>Toolbar icon</span>\n\n\t\t\t\t\t\t<Tooltip>The Toolbar icon should be 200px X 200px. Supported formats are PNG, JPG, and GIF.</Tooltip>\n\t\t\t\t\t</label>\n\n\t\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\t\tid=\"export-toolbar-icon\"\n\t\t\t\t\t\t\tvalue={toolbarIcon}\n\t\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tSmartDesktopDesignerActions.set_project_info({\n\t\t\t\t\t\t\t\t\t\t...project,\n\t\t\t\t\t\t\t\t\t\texport: {\n\t\t\t\t\t\t\t\t\t\t\t...project.export,\n\t\t\t\t\t\t\t\t\t\t\ttoolbarIcon: value,\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}}\n\t\t\t\t\t\t\tuploadFunction={updateToolbarIcon}\n\t\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\", \"image/gif\"]}\n\t\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t\t></ImagePreview>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t\t<label htmlFor=\"export-taskbar-icon\">\n\t\t\t\t\t\t<span>Taskbar icon</span>\n\n\t\t\t\t\t\t<Tooltip>The Toolbar icon should be 400px X 400px. Supported formats are PNG and JPG</Tooltip>\n\t\t\t\t\t</label>\n\n\t\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\t\tvalue={taskbarIcon}\n\t\t\t\t\t\t\tid=\"export-taskbar-icon\"\n\t\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tSmartDesktopDesignerActions.set_project_info({\n\t\t\t\t\t\t\t\t\t\t...project,\n\t\t\t\t\t\t\t\t\t\texport: {\n\t\t\t\t\t\t\t\t\t\t\t...project.export,\n\t\t\t\t\t\t\t\t\t\t\ttaskbarIcon: value,\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}}\n\t\t\t\t\t\t\tuploadFunction={updateTaskbarIcon}\n\t\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\"]}\n\t\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t\t></ImagePreview>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t\t<label htmlFor=\"export-system-tray-icon\">\n\t\t\t\t\t\t<span>System Tray Icon</span>\n\n\t\t\t\t\t\t<Tooltip>The System tray icon should be 100px X 100px. Supported formats are PNG and JPG.</Tooltip>\n\t\t\t\t\t</label>\n\n\t\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\t\tvalue={systemTrayIcon}\n\t\t\t\t\t\t\tid=\"export-system-tray-icon\"\n\t\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tSmartDesktopDesignerActions.set_project_info({\n\t\t\t\t\t\t\t\t\t\t...project,\n\t\t\t\t\t\t\t\t\t\texport: {\n\t\t\t\t\t\t\t\t\t\t\t...project.export,\n\t\t\t\t\t\t\t\t\t\t\tsystemTrayIcon: value,\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}}\n\t\t\t\t\t\t\tuploadFunction={updateSystemTrayIcon}\n\t\t\t\t\t\t\tacceptTypes={[\"image/png\", \"image/jpeg\"]}\n\t\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t\t></ImagePreview>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"project-assets-field\">\n\t\t\t\t\t<label htmlFor=\"export-installer-icon\">\n\t\t\t\t\t\t<span>Installer Icon</span>\n\n\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\tInstaller icons must use the ICO format. You can create and ICO image from a PNG file using free online\n\t\t\t\t\t\t\tservices. See the User Guide for more information.\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</label>\n\n\t\t\t\t\t<div className=\"project-icon-field\">\n\t\t\t\t\t\t<ImagePreview\n\t\t\t\t\t\t\tvalue={installerIcon}\n\t\t\t\t\t\t\tid=\"export-installer-icon\"\n\t\t\t\t\t\t\tonSetValue={(value: string) => {\n\t\t\t\t\t\t\t\tdispatch(\n\t\t\t\t\t\t\t\t\tSmartDesktopDesignerActions.set_project_info({\n\t\t\t\t\t\t\t\t\t\t...project,\n\t\t\t\t\t\t\t\t\t\texport: {\n\t\t\t\t\t\t\t\t\t\t\t...project.export,\n\t\t\t\t\t\t\t\t\t\t\tinstallerIcon: value,\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}}\n\t\t\t\t\t\t\tuploadFunction={updateInstallerIcon}\n\t\t\t\t\t\t\tacceptTypes={[\"image/x-icon\"]}\n\t\t\t\t\t\t\tbaseURL={baseURL}\n\t\t\t\t\t\t></ImagePreview>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t</div>\n\t);\n};\n"]}
@@ -27,4 +27,4 @@ export interface SmartDesktopDesignerProps {
27
27
  restartFinsemble?: () => void;
28
28
  setDefaults?: () => Promise<void>;
29
29
  }
30
- export declare const SmartDesktopDesigner: ({ views, getConfig, getTheme, resetProject, getSDServerInfo, getProjectSettings, updateProjectSettings, onThemeUpdated, selectProjectPath, restartFinsemble, setDefaults, }: SmartDesktopDesignerProps) => JSX.Element;
30
+ export declare const SmartDesktopDesigner: ({ views, getConfig, getTheme, resetProject, getSDServerInfo, getProjectSettings, onThemeUpdated, setDefaults, }: SmartDesktopDesignerProps) => JSX.Element;
@@ -43,7 +43,7 @@ let themeConfig = {
43
43
  Default: getDefaultTheme(),
44
44
  },
45
45
  };
46
- export const SmartDesktopDesigner = ({ views = defaultViews, getConfig = (params, callback) => FSBL.Clients.ConfigClient.getValues(params, callback), getTheme = () => SmartDesktopClient.getTheme(), resetProject = () => SmartDesktopClient.resetProject(), getSDServerInfo = () => SmartDesktopClient.getSDServerInfo(), getProjectSettings = () => SmartDesktopClient.getProjectSettings(), updateProjectSettings = (settings) => SmartDesktopClient.updateProjectSettings(settings), onThemeUpdated = (callback) => SmartDesktopClient.onThemeUpdated(callback), selectProjectPath = () => SmartDesktopClient.selectProjectPath(), restartFinsemble = () => FSBL.System.Application.getCurrent().restart(), setDefaults = async () => {
46
+ export const SmartDesktopDesigner = ({ views = defaultViews, getConfig = (params, callback) => FSBL.Clients.ConfigClient.getValues(params, callback), getTheme = () => SmartDesktopClient.getTheme(), resetProject = () => SmartDesktopClient.resetProject(), getSDServerInfo = () => SmartDesktopClient.getSDServerInfo(), getProjectSettings = () => SmartDesktopClient.getProjectSettings(), onThemeUpdated = (callback) => SmartDesktopClient.onThemeUpdated(callback), setDefaults = async () => {
47
47
  await defaultSetDefaults();
48
48
  }, }) => {
49
49
  const dispatch = useDispatch();
@@ -79,7 +79,7 @@ export const SmartDesktopDesigner = ({ views = defaultViews, getConfig = (params
79
79
  FSBL.getFSBLInfo().then((info) => setVersion(info.FSBLVersion));
80
80
  // Initialize the local project info based on data obtained from config of sdServerInfo
81
81
  getConfig(null, async (err, newConfig) => {
82
- var _a, _b, _c, _d;
82
+ var _a, _b, _c, _d, _e, _f, _g;
83
83
  if (err) {
84
84
  FSBL.Clients.Logger.system.error("SmartDesktopDesigner", err);
85
85
  return;
@@ -95,7 +95,11 @@ export const SmartDesktopDesigner = ({ views = defaultViews, getConfig = (params
95
95
  }
96
96
  FSBL.Clients.Logger.system.log(`DPS info: ${JSON.stringify(jsInfo)}`);
97
97
  FSBL.Clients.Logger.system.log(`NewConfig info: ${JSON.stringify(newConfig)}`);
98
- setProject(Object.assign(Object.assign({}, project), { name: ((_b = jsInfo === null || jsInfo === void 0 ? void 0 : jsInfo.projectConfig) === null || _b === void 0 ? void 0 : _b.name) || "", path: projectPath, export: Object.assign(Object.assign({}, project.export), { toolbarIcon: "/assets/img/Finsemble_Toolbar_Icon.png", installerIcon: "/assets/img/installer_icon.ico", taskbarIcon: (_c = newConfig === null || newConfig === void 0 ? void 0 : newConfig.startup_app) === null || _c === void 0 ? void 0 : _c.applicationIcon, systemTrayIcon: (_d = newConfig === null || newConfig === void 0 ? void 0 : newConfig.finsemble) === null || _d === void 0 ? void 0 : _d.systemTrayIcon, splashScreenImage: newConfig === null || newConfig === void 0 ? void 0 : newConfig.splashScreenImage }) }));
98
+ setProject(Object.assign(Object.assign({}, project), { name: ((_b = jsInfo === null || jsInfo === void 0 ? void 0 : jsInfo.projectConfig) === null || _b === void 0 ? void 0 : _b.name) || "", path: projectPath, export: Object.assign(Object.assign({}, project.export), { toolbarIcon: "/assets/img/Finsemble_Toolbar_Icon.png", installerIcon: "/assets/img/installer_icon.ico",
99
+ // These icons sometimes get the resolved $documentRoot added to them.
100
+ // Unfortunately, the SDD can't display it with those roots, so we need to strip
101
+ // the root value out if it's there
102
+ taskbarIcon: (_c = newConfig === null || newConfig === void 0 ? void 0 : newConfig.startup_app) === null || _c === void 0 ? void 0 : _c.applicationIcon.replace((_d = newConfig === null || newConfig === void 0 ? void 0 : newConfig.finsemble) === null || _d === void 0 ? void 0 : _d.documentRoot, ""), systemTrayIcon: (_e = newConfig === null || newConfig === void 0 ? void 0 : newConfig.finsemble) === null || _e === void 0 ? void 0 : _e.systemTrayIcon.replace((_f = newConfig === null || newConfig === void 0 ? void 0 : newConfig.finsemble) === null || _f === void 0 ? void 0 : _f.documentRoot, ""), splashScreenImage: newConfig === null || newConfig === void 0 ? void 0 : newConfig.splashScreenImage.replace((_g = newConfig === null || newConfig === void 0 ? void 0 : newConfig.finsemble) === null || _g === void 0 ? void 0 : _g.documentRoot, "") }) }));
99
103
  // This should be done last as it's checked for initial rendering
100
104
  // Otherwise, inital values will be cached within states of sub components
101
105
  // "Untitled project" will show as project.name since it will be "", e.g.
@@ -1 +1 @@
1
- {"version":3,"file":"SmartDesktopDesigner.js","sourceRoot":"","sources":["../../../src/components/sdd/SmartDesktopDesigner.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\n/* If you rename \"SmartDesktopDesigner\" to something else (it's been Maker UI, Jumpstart, and DesktopProjectEditor in the past), grep for the following terms (case insensitive):\n * \"SmartDesktop\", \"Smart Desktop\", \"SDD\", \"SDServer\", \"SMART_DESKTOP\"\n */\n\nimport React, { useState, useEffect, useRef } from \"react\";\nimport FloatingFocus from \"@q42/floating-focus-a11y\";\nimport \"../../assets/css/finsemble.css\";\nimport \"./css/styles.css\";\nimport { Navigation } from \"./Navigation\";\nimport { CurrentView } from \"./CurrentView\";\nimport { getCSSVars } from \"./common/getCSSVars\";\nimport { useSelector, useDispatch } from \"../../store\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { ProjectSaveData } from \"../../types/smartDesktopDesignerTypes\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { FEA } from \"@finsemble/finsemble-api\";\nimport { ContentHeader } from \"./ContentHeader\";\nimport { Button } from \"../common/Button\";\nimport defaultViews from \"./common/views\";\nimport { setDefaults as defaultSetDefaults } from \"./common/setPreloadDefaults\";\nimport { SmartDesktopClient } from \"./smartDesktopClient\";\n\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\n/**\n * Initializes the Default theme with the CSS variables that are hard baked into Finsemble's UI library.\n * These might be overridden by what is stored in the project's theme.css file.\n * @returns An object containing the current theme.\n */\nconst getDefaultTheme = () => {\n\tlet globalCssVars: any = {};\n\tconst docStyle = window.getComputedStyle(document.documentElement);\n\tgetCSSVars(document.styleSheets).forEach((varName: any) => {\n\t\tglobalCssVars[varName] = docStyle.getPropertyValue(varName).trim();\n\t});\n\n\treturn globalCssVars;\n};\n\nexport type ThemeConfig = {\n\tcurrentTheme: string;\n\tdefaultTheme: string;\n\tthemes: {\n\t\tDefault: Record<string, string>;\n\t\t[index: string]: Record<string, string>;\n\t};\n};\n\nlet themeConfig: ThemeConfig = {\n\tcurrentTheme: \"Default\",\n\tdefaultTheme: \"Default\",\n\tthemes: {\n\t\tDefault: getDefaultTheme(),\n\t},\n};\n\nexport interface SmartDesktopDesignerProps {\n\tviews?: any[];\n\tgetConfig?: typeof FSBL.Clients.ConfigClient.getValues;\n\tresetProject?: typeof SmartDesktopClient.resetProject;\n\tgetSDServerInfo?: typeof SmartDesktopClient.getSDServerInfo;\n\tgetTheme?: typeof SmartDesktopClient.getTheme;\n\tgetProjectSettings?: typeof SmartDesktopClient.getProjectSettings;\n\tupdateProjectSettings?: typeof SmartDesktopClient.updateProjectSettings;\n\tonThemeUpdated?: typeof SmartDesktopClient.onThemeUpdated;\n\tselectProjectPath?: typeof SmartDesktopClient.selectProjectPath;\n\trestartFinsemble?: () => void;\n\tsetDefaults?: () => Promise<void>;\n}\n\nexport const SmartDesktopDesigner = ({\n\tviews = defaultViews,\n\tgetConfig = (params: any, callback: any) => FSBL.Clients.ConfigClient.getValues(params, callback),\n\tgetTheme = () => SmartDesktopClient.getTheme(),\n\tresetProject = () => SmartDesktopClient.resetProject(),\n\tgetSDServerInfo = () => SmartDesktopClient.getSDServerInfo(),\n\tgetProjectSettings = () => SmartDesktopClient.getProjectSettings(),\n\tupdateProjectSettings = (settings: any) => SmartDesktopClient.updateProjectSettings(settings),\n\tonThemeUpdated = (callback: any) => SmartDesktopClient.onThemeUpdated(callback),\n\tselectProjectPath = () => SmartDesktopClient.selectProjectPath(),\n\trestartFinsemble = () => FSBL.System.Application.getCurrent().restart(),\n\tsetDefaults = async () => {\n\t\tawait defaultSetDefaults();\n\t},\n}: SmartDesktopDesignerProps) => {\n\tconst dispatch = useDispatch();\n\n\tconst [theme, setTheme] = useState(themeConfig);\n\tconst [sdServerInfo, setSDServerInfo] = useState({ enabled: false, applicationRoot: \"\" } as FEA.SDServerInfo);\n\tconst [version, setVersion] = useState(\"\");\n\n\tconst project = useSelector((state: RootState) => state.smartDesktopDesigner.projectInfo);\n\n\tconst setProject = (value: ProjectSaveData) => {\n\t\tdispatch(SmartDesktopDesignerActions.set_project_info(value));\n\t};\n\n\tconst themeListenerRef = useRef((addListenerErr: any, { data }: { data: Record<string, string> }) => {\n\t\tconst newTheme = { ...themeConfig };\n\t\tnewTheme.themes.Default = { ...newTheme.themes.Default };\n\n\t\tfor (let [key, value] of Object.entries(data)) {\n\t\t\tnewTheme.themes.Default[key] = value;\n\t\t}\n\t\tsetTheme(newTheme);\n\t});\n\n\tuseEffect(() => {\n\t\tsetDefaults();\n\t\t// Initialize the local theme with data from theme.css (via REST)\n\t\tgetTheme().then((response) => {\n\t\t\tif (!response.theme) return;\n\t\t\tconst newTheme = { ...themeConfig };\n\t\t\tnewTheme.themes.Default = { ...newTheme.themes.Default };\n\n\t\t\tObject.entries(response.theme).forEach(([key, value]) => {\n\t\t\t\tnewTheme.themes.Default[key] = value;\n\t\t\t});\n\n\t\t\tsetTheme(newTheme);\n\t\t});\n\n\t\t// Initialize the local version number with the current FSBL version\n\t\tFSBL.getFSBLInfo().then((info) => setVersion(info.FSBLVersion));\n\n\t\t// Initialize the local project info based on data obtained from config of sdServerInfo\n\t\tgetConfig(null, async (err: any, newConfig: any) => {\n\t\t\tif (err) {\n\t\t\t\tFSBL.Clients.Logger.system.error(\"SmartDesktopDesigner\", err);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { settings } = await getProjectSettings();\n\n\t\t\tconst projectPath = settings?.path ?? project.path;\n\n\t\t\tconst jsInfo = await getSDServerInfo();\n\t\t\tif (!jsInfo.enabled) {\n\t\t\t\tFSBL.Clients.Logger.system.error(\n\t\t\t\t\t\"Smart Desktop Designer started without the Smart Desktop Server being enabled. Check FEA configuration.\"\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tFSBL.Clients.Logger.system.log(`DPS application root: ${jsInfo.applicationRoot}`);\n\t\t\t}\n\t\t\tFSBL.Clients.Logger.system.log(`DPS info: ${JSON.stringify(jsInfo)}`);\n\t\t\tFSBL.Clients.Logger.system.log(`NewConfig info: ${JSON.stringify(newConfig)}`);\n\n\t\t\tsetProject({\n\t\t\t\t...project,\n\t\t\t\tname: jsInfo?.projectConfig?.name || \"\",\n\t\t\t\tpath: projectPath,\n\t\t\t\texport: {\n\t\t\t\t\t...project.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\n\t\t\t// This should be done last as it's checked for initial rendering\n\t\t\t// Otherwise, inital values will be cached within states of sub components\n\t\t\t// \"Untitled project\" will show as project.name since it will be \"\", e.g.\n\t\t\tsetSDServerInfo(jsInfo);\n\t\t});\n\n\t\tconst removeHandler = onThemeUpdated(themeListenerRef.current);\n\t\treturn () => {\n\t\t\tremoveHandler();\n\t\t};\n\t}, []);\n\n\tconst clickResetProjectButton = () => {\n\t\tconst resetProjectHelper = async () => {\n\t\t\tconst [err] = await resetProject();\n\t\t\tif (err) alert(`Project failed to reset: ${err.message}`);\n\t\t};\n\t\tFSBL.Clients.DialogManager.open(\n\t\t\t\"yesNo\",\n\t\t\t{\n\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\tquestion: `Your project will be set back to factory defaults. You will lose all customizations except the name of the project. Finsemble will then be restarted.`,\n\t\t\t\thideModalOnClose: true,\n\t\t\t\tshowNegativeButton: false,\n\t\t\t\taffirmativeResponseLabel: \"Reset Project\",\n\t\t\t},\n\t\t\t(err: any, response: { choice: string }) => {\n\t\t\t\tif (response.choice === \"affirmative\") {\n\t\t\t\t\tresetProjectHelper();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t};\n\n\treturn sdServerInfo.enabled ? (\n\t\t<div className=\"config-container\">\n\t\t\t<div className=\"project-container\">\n\t\t\t\t<div className=\"nav-container\">\n\t\t\t\t\t<Navigation views={views}></Navigation>\n\n\t\t\t\t\t<div className=\"bottom-nav-wrapper\">\n\t\t\t\t\t\t<div className=\"nav-anchor-reset\">\n\t\t\t\t\t\t\t<div className=\"version-info\">{version && `Finsemble version ${version}`}</div>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tfashion=\"danger\"\n\t\t\t\t\t\t\t\ttext=\"Reset project\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tclickResetProjectButton();\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</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"content-container\">\n\t\t\t\t\t<ContentHeader name={project.name} />\n\t\t\t\t\t<div className=\"view-container\">\n\t\t\t\t\t\t<CurrentView views={views} theme={theme}></CurrentView>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t) : (\n\t\t<></>\n\t);\n};\n"]}
1
+ {"version":3,"file":"SmartDesktopDesigner.js","sourceRoot":"","sources":["../../../src/components/sdd/SmartDesktopDesigner.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\n/* If you rename \"SmartDesktopDesigner\" to something else (it's been Maker UI, Jumpstart, and DesktopProjectEditor in the past), grep for the following terms (case insensitive):\n * \"SmartDesktop\", \"Smart Desktop\", \"SDD\", \"SDServer\", \"SMART_DESKTOP\"\n */\n\nimport React, { useState, useEffect, useRef } from \"react\";\nimport FloatingFocus from \"@q42/floating-focus-a11y\";\nimport \"../../assets/css/finsemble.css\";\nimport \"./css/styles.css\";\nimport { Navigation } from \"./Navigation\";\nimport { CurrentView } from \"./CurrentView\";\nimport { getCSSVars } from \"./common/getCSSVars\";\nimport { useSelector, useDispatch } from \"../../store\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { ProjectSaveData } from \"../../types/smartDesktopDesignerTypes\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { FEA } from \"@finsemble/finsemble-api\";\nimport { ContentHeader } from \"./ContentHeader\";\nimport { Button } from \"../common/Button\";\nimport defaultViews from \"./common/views\";\nimport { setDefaults as defaultSetDefaults } from \"./common/setPreloadDefaults\";\nimport { SmartDesktopClient } from \"./smartDesktopClient\";\n\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\n/**\n * Initializes the Default theme with the CSS variables that are hard baked into Finsemble's UI library.\n * These might be overridden by what is stored in the project's theme.css file.\n * @returns An object containing the current theme.\n */\nconst getDefaultTheme = () => {\n\tlet globalCssVars: any = {};\n\tconst docStyle = window.getComputedStyle(document.documentElement);\n\tgetCSSVars(document.styleSheets).forEach((varName: any) => {\n\t\tglobalCssVars[varName] = docStyle.getPropertyValue(varName).trim();\n\t});\n\n\treturn globalCssVars;\n};\n\nexport type ThemeConfig = {\n\tcurrentTheme: string;\n\tdefaultTheme: string;\n\tthemes: {\n\t\tDefault: Record<string, string>;\n\t\t[index: string]: Record<string, string>;\n\t};\n};\n\nlet themeConfig: ThemeConfig = {\n\tcurrentTheme: \"Default\",\n\tdefaultTheme: \"Default\",\n\tthemes: {\n\t\tDefault: getDefaultTheme(),\n\t},\n};\n\nexport interface SmartDesktopDesignerProps {\n\tviews?: any[];\n\tgetConfig?: typeof FSBL.Clients.ConfigClient.getValues;\n\tresetProject?: typeof SmartDesktopClient.resetProject;\n\tgetSDServerInfo?: typeof SmartDesktopClient.getSDServerInfo;\n\tgetTheme?: typeof SmartDesktopClient.getTheme;\n\tgetProjectSettings?: typeof SmartDesktopClient.getProjectSettings;\n\tupdateProjectSettings?: typeof SmartDesktopClient.updateProjectSettings;\n\tonThemeUpdated?: typeof SmartDesktopClient.onThemeUpdated;\n\tselectProjectPath?: typeof SmartDesktopClient.selectProjectPath;\n\trestartFinsemble?: () => void;\n\tsetDefaults?: () => Promise<void>;\n}\n\nexport const SmartDesktopDesigner = ({\n\tviews = defaultViews,\n\tgetConfig = (params: any, callback: any) => FSBL.Clients.ConfigClient.getValues(params, callback),\n\tgetTheme = () => SmartDesktopClient.getTheme(),\n\tresetProject = () => SmartDesktopClient.resetProject(),\n\tgetSDServerInfo = () => SmartDesktopClient.getSDServerInfo(),\n\tgetProjectSettings = () => SmartDesktopClient.getProjectSettings(),\n\tonThemeUpdated = (callback: any) => SmartDesktopClient.onThemeUpdated(callback),\n\tsetDefaults = async () => {\n\t\tawait defaultSetDefaults();\n\t},\n}: SmartDesktopDesignerProps) => {\n\tconst dispatch = useDispatch();\n\n\tconst [theme, setTheme] = useState(themeConfig);\n\tconst [sdServerInfo, setSDServerInfo] = useState({ enabled: false, applicationRoot: \"\" } as FEA.SDServerInfo);\n\tconst [version, setVersion] = useState(\"\");\n\n\tconst project = useSelector((state: RootState) => state.smartDesktopDesigner.projectInfo);\n\n\tconst setProject = (value: ProjectSaveData) => {\n\t\tdispatch(SmartDesktopDesignerActions.set_project_info(value));\n\t};\n\n\tconst themeListenerRef = useRef((addListenerErr: any, { data }: { data: Record<string, string> }) => {\n\t\tconst newTheme = { ...themeConfig };\n\t\tnewTheme.themes.Default = { ...newTheme.themes.Default };\n\n\t\tfor (let [key, value] of Object.entries(data)) {\n\t\t\tnewTheme.themes.Default[key] = value;\n\t\t}\n\t\tsetTheme(newTheme);\n\t});\n\n\tuseEffect(() => {\n\t\tsetDefaults();\n\t\t// Initialize the local theme with data from theme.css (via REST)\n\t\tgetTheme().then((response) => {\n\t\t\tif (!response.theme) return;\n\t\t\tconst newTheme = { ...themeConfig };\n\t\t\tnewTheme.themes.Default = { ...newTheme.themes.Default };\n\n\t\t\tObject.entries(response.theme).forEach(([key, value]) => {\n\t\t\t\tnewTheme.themes.Default[key] = value;\n\t\t\t});\n\n\t\t\tsetTheme(newTheme);\n\t\t});\n\n\t\t// Initialize the local version number with the current FSBL version\n\t\tFSBL.getFSBLInfo().then((info) => setVersion(info.FSBLVersion));\n\n\t\t// Initialize the local project info based on data obtained from config of sdServerInfo\n\t\tgetConfig(null, async (err: any, newConfig: any) => {\n\t\t\tif (err) {\n\t\t\t\tFSBL.Clients.Logger.system.error(\"SmartDesktopDesigner\", err);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { settings } = await getProjectSettings();\n\n\t\t\tconst projectPath = settings?.path ?? project.path;\n\n\t\t\tconst jsInfo = await getSDServerInfo();\n\t\t\tif (!jsInfo.enabled) {\n\t\t\t\tFSBL.Clients.Logger.system.error(\n\t\t\t\t\t\"Smart Desktop Designer started without the Smart Desktop Server being enabled. Check FEA configuration.\"\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tFSBL.Clients.Logger.system.log(`DPS application root: ${jsInfo.applicationRoot}`);\n\t\t\t}\n\t\t\tFSBL.Clients.Logger.system.log(`DPS info: ${JSON.stringify(jsInfo)}`);\n\t\t\tFSBL.Clients.Logger.system.log(`NewConfig info: ${JSON.stringify(newConfig)}`);\n\n\t\t\tsetProject({\n\t\t\t\t...project,\n\t\t\t\tname: jsInfo?.projectConfig?.name || \"\",\n\t\t\t\tpath: projectPath,\n\t\t\t\texport: {\n\t\t\t\t\t...project.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\n\t\t\t\t\t// These icons sometimes get the resolved $documentRoot added to them.\n\t\t\t\t\t// Unfortunately, the SDD can't display it with those roots, so we need to strip\n\t\t\t\t\t// the root value out if it's there\n\t\t\t\t\ttaskbarIcon: newConfig?.startup_app?.applicationIcon.replace(newConfig?.finsemble?.documentRoot, \"\"),\n\t\t\t\t\tsystemTrayIcon: newConfig?.finsemble?.systemTrayIcon.replace(newConfig?.finsemble?.documentRoot, \"\"),\n\t\t\t\t\tsplashScreenImage: newConfig?.splashScreenImage.replace(newConfig?.finsemble?.documentRoot, \"\"),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\t// This should be done last as it's checked for initial rendering\n\t\t\t// Otherwise, inital values will be cached within states of sub components\n\t\t\t// \"Untitled project\" will show as project.name since it will be \"\", e.g.\n\t\t\tsetSDServerInfo(jsInfo);\n\t\t});\n\n\t\tconst removeHandler = onThemeUpdated(themeListenerRef.current);\n\t\treturn () => {\n\t\t\tremoveHandler();\n\t\t};\n\t}, []);\n\n\tconst clickResetProjectButton = () => {\n\t\tconst resetProjectHelper = async () => {\n\t\t\tconst [err] = await resetProject();\n\t\t\tif (err) alert(`Project failed to reset: ${err.message}`);\n\t\t};\n\t\tFSBL.Clients.DialogManager.open(\n\t\t\t\"yesNo\",\n\t\t\t{\n\t\t\t\ttitle: \"Are you sure?\",\n\t\t\t\tquestion: `Your project will be set back to factory defaults. You will lose all customizations except the name of the project. Finsemble will then be restarted.`,\n\t\t\t\thideModalOnClose: true,\n\t\t\t\tshowNegativeButton: false,\n\t\t\t\taffirmativeResponseLabel: \"Reset Project\",\n\t\t\t},\n\t\t\t(err: any, response: { choice: string }) => {\n\t\t\t\tif (response.choice === \"affirmative\") {\n\t\t\t\t\tresetProjectHelper();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t};\n\n\treturn sdServerInfo.enabled ? (\n\t\t<div className=\"config-container\">\n\t\t\t<div className=\"project-container\">\n\t\t\t\t<div className=\"nav-container\">\n\t\t\t\t\t<Navigation views={views}></Navigation>\n\n\t\t\t\t\t<div className=\"bottom-nav-wrapper\">\n\t\t\t\t\t\t<div className=\"nav-anchor-reset\">\n\t\t\t\t\t\t\t<div className=\"version-info\">{version && `Finsemble version ${version}`}</div>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tfashion=\"danger\"\n\t\t\t\t\t\t\t\ttext=\"Reset project\"\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tclickResetProjectButton();\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</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"content-container\">\n\t\t\t\t\t<ContentHeader name={project.name} />\n\t\t\t\t\t<div className=\"view-container\">\n\t\t\t\t\t\t<CurrentView views={views} theme={theme}></CurrentView>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t) : (\n\t\t<></>\n\t);\n};\n"]}
@@ -4,13 +4,8 @@
4
4
  */
5
5
  /// <reference types="react" />
6
6
  import { ThemeBundle } from "./ThemePage";
7
- import { ProjectSaveData } from "../../types/smartDesktopDesignerTypes";
8
7
  export declare type ThemeProps = {
9
8
  updateTheme: (theme: ThemeBundle) => void;
10
- getSDServerInfo: (cb: Function) => void;
11
- updateProjectSettings: (obj: ProjectSaveData) => Promise<{
12
- err: string | undefined;
13
- }>;
14
9
  areYouSure: (affirmativeCallback: Function) => void;
15
10
  updateThemes: (id: string, newValue: string) => void;
16
11
  updateSplashScreen: any;
@@ -24,4 +19,4 @@ export declare type ThemeProps = {
24
19
  };
25
20
  };
26
21
  };
27
- export declare const Themes: ({ getSDServerInfo, updateProjectSettings, areYouSure, updateTheme, updateThemes, updateSplashScreen, updateToolbarIcon, updateTaskbarIcon, updateSystemTrayIcon, updateInstallerIcon, theme, }: ThemeProps) => JSX.Element;
22
+ export declare const Themes: ({ areYouSure, updateTheme, updateThemes, updateSplashScreen, updateToolbarIcon, updateTaskbarIcon, updateSystemTrayIcon, updateInstallerIcon, theme, }: ThemeProps) => JSX.Element;
@@ -2,61 +2,14 @@
2
2
  * Copyright 2017 - 2020 by ChartIQ, Inc.
3
3
  * All rights reserved.
4
4
  */
5
- import React, { useState, useEffect } from "react";
5
+ import React from "react";
6
6
  import { View } from "./View";
7
7
  import { Content } from "./Content";
8
8
  // Copied from <Appearance>
9
9
  import { Appearance } from "./Appearance";
10
10
  import { darkTheme, lightTheme } from "./themeDefinitions";
11
- export const Themes = ({ getSDServerInfo, updateProjectSettings, areYouSure, updateTheme, updateThemes, updateSplashScreen, updateToolbarIcon, updateTaskbarIcon, updateSystemTrayIcon, updateInstallerIcon, theme, }) => {
12
- const [applicationRoot, setApplicationRoot] = useState("");
13
- const [project, setProject] = useState({
14
- name: "",
15
- user: {
16
- firstName: "",
17
- lastName: "",
18
- company: "",
19
- email: "",
20
- },
21
- export: {
22
- author: "",
23
- companyName: "",
24
- description: "",
25
- toolbarIcon: "",
26
- installerIcon: "",
27
- taskbarIcon: "",
28
- systemTrayIcon: "",
29
- splashScreenImage: "",
30
- },
31
- });
32
- // Copied from <Appearance>
33
- const [toolbarIcon, setToolbarIcon] = useState(project.export.toolbarIcon);
34
- const [taskbarIcon, setTaskbarIcon] = useState(project.export.taskbarIcon);
35
- const [installerIcon, setInstallerIcon] = useState(project.export.installerIcon);
36
- const [systemTrayIcon, setSystemTrayIcon] = useState(project.export.systemTrayIcon);
37
- const [splashScreenImage, setSplashScreenImage] = useState(project.export.splashScreenImage);
38
- const [iconsChanged, setIconsChanged] = useState(0);
39
- useEffect(() => {
40
- getSDServerInfo((info) => {
41
- setProject(info);
42
- setApplicationRoot(info.applicationRoot || "");
43
- setToolbarIcon(info.export.toolbarIcon);
44
- setTaskbarIcon(info.export.taskbarIcon);
45
- setInstallerIcon(info.export.installerIcon);
46
- setSystemTrayIcon(info.export.systemTrayIcon);
47
- setSplashScreenImage(info.export.splashScreenImage);
48
- });
49
- }, []);
50
- useEffect(() => {
51
- updateProjectSettings(Object.assign(Object.assign({}, project), { export: Object.assign(Object.assign({}, project.export), { toolbarIcon,
52
- installerIcon,
53
- taskbarIcon,
54
- systemTrayIcon,
55
- splashScreenImage }) }));
56
- }, [iconsChanged]);
57
- return (React.createElement(View, null,
58
- React.createElement(Content, null,
59
- React.createElement("div", { className: "theme-edit" },
60
- React.createElement(Appearance, { startTheme: theme.themes.Default, darkTheme: darkTheme, lightTheme: lightTheme, updateTheme: updateTheme, updateThemes: updateThemes, areYouSure: areYouSure, baseURL: applicationRoot || "", toolbarIcon: toolbarIcon, setToolbarIcon: setToolbarIcon, taskbarIcon: taskbarIcon, setTaskbarIcon: setTaskbarIcon, installerIcon: installerIcon, setInstallerIcon: setInstallerIcon, systemTrayIcon: systemTrayIcon, setSystemTrayIcon: setSystemTrayIcon, splashScreenImage: splashScreenImage, setSplashScreenImage: setSplashScreenImage, setIconsChanged: setIconsChanged, updateSplashScreen: updateSplashScreen, updateToolbarIcon: updateToolbarIcon, updateTaskbarIcon: updateTaskbarIcon, updateSystemTrayIcon: updateSystemTrayIcon, updateInstallerIcon: updateInstallerIcon })))));
61
- };
11
+ export const Themes = ({ areYouSure, updateTheme, updateThemes, updateSplashScreen, updateToolbarIcon, updateTaskbarIcon, updateSystemTrayIcon, updateInstallerIcon, theme, }) => (React.createElement(View, null,
12
+ React.createElement(Content, null,
13
+ React.createElement("div", { className: "theme-edit" },
14
+ React.createElement(Appearance, { startTheme: theme.themes.Default, darkTheme: darkTheme, lightTheme: lightTheme, updateTheme: updateTheme, updateThemes: updateThemes, areYouSure: areYouSure, updateSplashScreen: updateSplashScreen, updateToolbarIcon: updateToolbarIcon, updateTaskbarIcon: updateTaskbarIcon, updateSystemTrayIcon: updateSystemTrayIcon, updateInstallerIcon: updateInstallerIcon })))));
62
15
  //# sourceMappingURL=Themes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Themes.js","sourceRoot":"","sources":["../../../src/components/sdd/Themes.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React, { useState, useEffect } from \"react\";\nimport { View } from \"./View\";\nimport { Content } from \"./Content\";\n\n// Copied from <Appearance>\nimport { Appearance } from \"./Appearance\";\nimport { darkTheme, lightTheme } from \"./themeDefinitions\";\nimport { ThemeBundle } from \"./ThemePage\";\nimport { ProjectSaveData, SDServerInfo } from \"../../types/smartDesktopDesignerTypes\";\n\nexport type ThemeProps = {\n\tupdateTheme: (theme: ThemeBundle) => void;\n\tgetSDServerInfo: (cb: Function) => void;\n\tupdateProjectSettings: (obj: ProjectSaveData) => Promise<{ err: string | undefined }>;\n\tareYouSure: (affirmativeCallback: Function) => void;\n\tupdateThemes: (id: string, newValue: string) => void;\n\tupdateSplashScreen: any;\n\tupdateToolbarIcon: any;\n\tupdateTaskbarIcon: any;\n\tupdateSystemTrayIcon: any;\n\tupdateInstallerIcon: any;\n\ttheme: {\n\t\tthemes: {\n\t\t\tDefault: ThemeBundle;\n\t\t};\n\t};\n};\n\nexport const Themes = ({\n\tgetSDServerInfo,\n\tupdateProjectSettings,\n\tareYouSure,\n\tupdateTheme,\n\tupdateThemes,\n\tupdateSplashScreen,\n\tupdateToolbarIcon,\n\tupdateTaskbarIcon,\n\tupdateSystemTrayIcon,\n\tupdateInstallerIcon,\n\ttheme,\n}: ThemeProps) => {\n\tconst [applicationRoot, setApplicationRoot] = useState(\"\");\n\tconst [project, setProject] = useState({\n\t\tname: \"\",\n\t\tuser: {\n\t\t\tfirstName: \"\",\n\t\t\tlastName: \"\",\n\t\t\tcompany: \"\",\n\t\t\temail: \"\",\n\t\t},\n\t\texport: {\n\t\t\tauthor: \"\",\n\t\t\tcompanyName: \"\",\n\t\t\tdescription: \"\",\n\t\t\ttoolbarIcon: \"\",\n\t\t\tinstallerIcon: \"\",\n\t\t\ttaskbarIcon: \"\",\n\t\t\tsystemTrayIcon: \"\",\n\t\t\tsplashScreenImage: \"\",\n\t\t},\n\t});\n\n\t// Copied from <Appearance>\n\tconst [toolbarIcon, setToolbarIcon] = useState(project.export.toolbarIcon);\n\tconst [taskbarIcon, setTaskbarIcon] = useState(project.export.taskbarIcon);\n\tconst [installerIcon, setInstallerIcon] = useState(project.export.installerIcon);\n\tconst [systemTrayIcon, setSystemTrayIcon] = useState(project.export.systemTrayIcon);\n\tconst [splashScreenImage, setSplashScreenImage] = useState(project.export.splashScreenImage);\n\tconst [iconsChanged, setIconsChanged] = useState(0);\n\n\tuseEffect(() => {\n\t\tgetSDServerInfo((info: ProjectSaveData & SDServerInfo) => {\n\t\t\tsetProject(info);\n\t\t\tsetApplicationRoot(info.applicationRoot || \"\");\n\t\t\tsetToolbarIcon(info.export.toolbarIcon);\n\t\t\tsetTaskbarIcon(info.export.taskbarIcon);\n\t\t\tsetInstallerIcon(info.export.installerIcon);\n\t\t\tsetSystemTrayIcon(info.export.systemTrayIcon);\n\t\t\tsetSplashScreenImage(info.export.splashScreenImage);\n\t\t});\n\t}, []);\n\n\tuseEffect(() => {\n\t\tupdateProjectSettings({\n\t\t\t...project,\n\t\t\texport: {\n\t\t\t\t...project.export,\n\t\t\t\ttoolbarIcon,\n\t\t\t\tinstallerIcon,\n\t\t\t\ttaskbarIcon,\n\t\t\t\tsystemTrayIcon,\n\t\t\t\tsplashScreenImage,\n\t\t\t},\n\t\t});\n\t}, [iconsChanged]);\n\n\treturn (\n\t\t<View>\n\t\t\t<Content>\n\t\t\t\t<div className=\"theme-edit\">\n\t\t\t\t\t<Appearance\n\t\t\t\t\t\tstartTheme={theme.themes.Default}\n\t\t\t\t\t\tdarkTheme={darkTheme}\n\t\t\t\t\t\tlightTheme={lightTheme}\n\t\t\t\t\t\tupdateTheme={updateTheme}\n\t\t\t\t\t\tupdateThemes={updateThemes}\n\t\t\t\t\t\tareYouSure={areYouSure}\n\t\t\t\t\t\tbaseURL={applicationRoot || \"\"}\n\t\t\t\t\t\ttoolbarIcon={toolbarIcon}\n\t\t\t\t\t\tsetToolbarIcon={setToolbarIcon}\n\t\t\t\t\t\ttaskbarIcon={taskbarIcon}\n\t\t\t\t\t\tsetTaskbarIcon={setTaskbarIcon}\n\t\t\t\t\t\tinstallerIcon={installerIcon}\n\t\t\t\t\t\tsetInstallerIcon={setInstallerIcon}\n\t\t\t\t\t\tsystemTrayIcon={systemTrayIcon}\n\t\t\t\t\t\tsetSystemTrayIcon={setSystemTrayIcon}\n\t\t\t\t\t\tsplashScreenImage={splashScreenImage}\n\t\t\t\t\t\tsetSplashScreenImage={setSplashScreenImage}\n\t\t\t\t\t\tsetIconsChanged={setIconsChanged}\n\t\t\t\t\t\tupdateSplashScreen={updateSplashScreen}\n\t\t\t\t\t\tupdateToolbarIcon={updateToolbarIcon}\n\t\t\t\t\t\tupdateTaskbarIcon={updateTaskbarIcon}\n\t\t\t\t\t\tupdateSystemTrayIcon={updateSystemTrayIcon}\n\t\t\t\t\t\tupdateInstallerIcon={updateInstallerIcon}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</Content>\n\t\t</View>\n\t);\n};\n"]}
1
+ {"version":3,"file":"Themes.js","sourceRoot":"","sources":["../../../src/components/sdd/Themes.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,2BAA2B;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAmB3D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACtB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,GACO,EAAE,EAAE,CAAC,CACjB,oBAAC,IAAI;IACJ,oBAAC,OAAO;QACP,6BAAK,SAAS,EAAC,YAAY;YAC1B,oBAAC,UAAU,IACV,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAChC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,EAAE,mBAAmB,GACvC,CACG,CACG,CACJ,CACP,CAAC","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React from \"react\";\nimport { View } from \"./View\";\nimport { Content } from \"./Content\";\n\n// Copied from <Appearance>\nimport { Appearance } from \"./Appearance\";\nimport { darkTheme, lightTheme } from \"./themeDefinitions\";\nimport { ThemeBundle } from \"./ThemePage\";\n\nexport type ThemeProps = {\n\tupdateTheme: (theme: ThemeBundle) => void;\n\tareYouSure: (affirmativeCallback: Function) => void;\n\tupdateThemes: (id: string, newValue: string) => void;\n\tupdateSplashScreen: any;\n\tupdateToolbarIcon: any;\n\tupdateTaskbarIcon: any;\n\tupdateSystemTrayIcon: any;\n\tupdateInstallerIcon: any;\n\ttheme: {\n\t\tthemes: {\n\t\t\tDefault: ThemeBundle;\n\t\t};\n\t};\n};\n\nexport const Themes = ({\n\tareYouSure,\n\tupdateTheme,\n\tupdateThemes,\n\tupdateSplashScreen,\n\tupdateToolbarIcon,\n\tupdateTaskbarIcon,\n\tupdateSystemTrayIcon,\n\tupdateInstallerIcon,\n\ttheme,\n}: ThemeProps) => (\n\t<View>\n\t\t<Content>\n\t\t\t<div className=\"theme-edit\">\n\t\t\t\t<Appearance\n\t\t\t\t\tstartTheme={theme.themes.Default}\n\t\t\t\t\tdarkTheme={darkTheme}\n\t\t\t\t\tlightTheme={lightTheme}\n\t\t\t\t\tupdateTheme={updateTheme}\n\t\t\t\t\tupdateThemes={updateThemes}\n\t\t\t\t\tareYouSure={areYouSure}\n\t\t\t\t\tupdateSplashScreen={updateSplashScreen}\n\t\t\t\t\tupdateToolbarIcon={updateToolbarIcon}\n\t\t\t\t\tupdateTaskbarIcon={updateTaskbarIcon}\n\t\t\t\t\tupdateSystemTrayIcon={updateSystemTrayIcon}\n\t\t\t\t\tupdateInstallerIcon={updateInstallerIcon}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Content>\n\t</View>\n);\n"]}
@@ -1,2 +1,2 @@
1
- export declare const launchUserGuide: (url: string, anchor?: string | undefined) => void;
1
+ export declare const launchUserGuide: (url: string, anchor?: string) => void;
2
2
  export declare const launchTutorialLink: (page: string) => void;
@@ -82,8 +82,6 @@ export default [
82
82
  name: "Theme",
83
83
  component: Themes,
84
84
  props: {
85
- getSDServerInfo,
86
- updateProjectSettings: (obj) => SmartDesktopClient.updateProjectSettings(obj),
87
85
  updateThemes: (id, newValue) => {
88
86
  SmartDesktopClient.updateThemeVariable(id, newValue);
89
87
  },
@@ -1 +1 @@
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"]}
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\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"]}
@@ -1,20 +1,26 @@
1
- .quick-add-app .finsembleToggleButtonBar {
2
- height: 32px;
1
+ .quick-add-app .finsembleToggleButtonBar [role="radiogroup"] {
2
+ width: fit-content;
3
3
  background-color: #22262f;
4
4
  text-align: center;
5
5
  border-radius: 5px;
6
6
  margin: 4px;
7
7
  position: relative;
8
8
  top: 6px;
9
+ padding: 4px;
10
+ margin-left: 0;
11
+ }
12
+
13
+ .quick-add-app .finsembleToggleButtonBar {
14
+ padding: 0;
9
15
  }
10
16
 
11
17
  .quick-add-app table {
12
- margin-top: 10px;
18
+ margin-top: 15px;
13
19
  }
14
20
 
15
21
  .quick-add-app .toggle-text-label {
16
- height: 26px;
17
- width: 90px;
22
+ height: 20px;
23
+ width: 80px;
18
24
  border-radius: 5px;
19
25
  justify-self: center;
20
26
  padding-top: 5px;
@@ -1,8 +1,4 @@
1
1
  export declare const default_theme_props: {
2
- getSDServerInfo: (cb: any) => void;
3
- updateProjectSettings: () => Promise<{
4
- err: any;
5
- }>;
6
2
  updateThemes: () => Promise<{
7
3
  err: any;
8
4
  }>;
@@ -4,22 +4,7 @@ const uploadStub = () => new Promise((resolve) => {
4
4
  const resolvePromiseEmptyError = () => new Promise((resolve) => {
5
5
  resolve({ err: "" });
6
6
  });
7
- const getSDServerInfo = (cb) => {
8
- cb({
9
- name: "",
10
- applicationRoot: "",
11
- export: {
12
- toolbarIcon: "",
13
- installerIcon: "",
14
- taskbarIcon: "",
15
- systemTrayIcon: "",
16
- splashScreenImage: "",
17
- },
18
- });
19
- };
20
7
  export const default_theme_props = {
21
- getSDServerInfo,
22
- updateProjectSettings: resolvePromiseEmptyError,
23
8
  updateThemes: resolvePromiseEmptyError,
24
9
  areYouSure: (cb) => {
25
10
  cb();
@@ -1 +1 @@
1
- {"version":3,"file":"themeProps.js","sourceRoot":"","sources":["../../../../src/components/sdd/fixtures/themeProps.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,GAAG,EAAE,CACvB,IAAI,OAAO,CAAuC,CAAC,OAAO,EAAE,EAAE;IAC7D,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEJ,MAAM,wBAAwB,GAAG,GAAG,EAAE,CACrC,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,EAAE;IACrC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEJ,MAAM,eAAe,GAAG,CAAC,EAAO,EAAE,EAAE;IACnC,EAAE,CAAC;QACF,IAAI,EAAE,EAAE;QACR,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE;YACP,WAAW,EAAE,EAAE;YACf,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,EAAE;YACf,cAAc,EAAE,EAAE;YAClB,iBAAiB,EAAE,EAAE;SACrB;KACD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,eAAe;IACf,qBAAqB,EAAE,wBAAwB;IAC/C,YAAY,EAAE,wBAAwB;IACtC,UAAU,EAAE,CAAC,EAAY,EAAE,EAAE;QAC5B,EAAE,EAAE,CAAC;IACN,CAAC;IACD,kBAAkB,EAAE,UAAU;IAC9B,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,oBAAoB,EAAE,UAAU;IAChC,mBAAmB,EAAE,UAAU;CAC/B,CAAC","sourcesContent":["const uploadStub = () =>\n\tnew Promise<{ err: string | null; path: string }>((resolve) => {\n\t\tresolve({ err: null, path: \"path/to/image\" });\n\t});\n\nconst resolvePromiseEmptyError = () =>\n\tnew Promise<{ err: any }>((resolve) => {\n\t\tresolve({ err: \"\" });\n\t});\n\nconst getSDServerInfo = (cb: any) => {\n\tcb({\n\t\tname: \"\",\n\t\tapplicationRoot: \"\",\n\t\texport: {\n\t\t\ttoolbarIcon: \"\",\n\t\t\tinstallerIcon: \"\",\n\t\t\ttaskbarIcon: \"\",\n\t\t\tsystemTrayIcon: \"\",\n\t\t\tsplashScreenImage: \"\",\n\t\t},\n\t});\n};\n\nexport const default_theme_props = {\n\tgetSDServerInfo,\n\tupdateProjectSettings: resolvePromiseEmptyError,\n\tupdateThemes: resolvePromiseEmptyError,\n\tareYouSure: (cb: Function) => {\n\t\tcb();\n\t},\n\tupdateSplashScreen: uploadStub,\n\tupdateToolbarIcon: uploadStub,\n\tupdateTaskbarIcon: uploadStub,\n\tupdateSystemTrayIcon: uploadStub,\n\tupdateInstallerIcon: uploadStub,\n};\n"]}
1
+ {"version":3,"file":"themeProps.js","sourceRoot":"","sources":["../../../../src/components/sdd/fixtures/themeProps.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,GAAG,EAAE,CACvB,IAAI,OAAO,CAAuC,CAAC,OAAO,EAAE,EAAE;IAC7D,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEJ,MAAM,wBAAwB,GAAG,GAAG,EAAE,CACrC,IAAI,OAAO,CAAe,CAAC,OAAO,EAAE,EAAE;IACrC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,YAAY,EAAE,wBAAwB;IACtC,UAAU,EAAE,CAAC,EAAY,EAAE,EAAE;QAC5B,EAAE,EAAE,CAAC;IACN,CAAC;IACD,kBAAkB,EAAE,UAAU;IAC9B,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,oBAAoB,EAAE,UAAU;IAChC,mBAAmB,EAAE,UAAU;CAC/B,CAAC","sourcesContent":["const uploadStub = () =>\n\tnew Promise<{ err: string | null; path: string }>((resolve) => {\n\t\tresolve({ err: null, path: \"path/to/image\" });\n\t});\n\nconst resolvePromiseEmptyError = () =>\n\tnew Promise<{ err: any }>((resolve) => {\n\t\tresolve({ err: \"\" });\n\t});\n\nexport const default_theme_props = {\n\tupdateThemes: resolvePromiseEmptyError,\n\tareYouSure: (cb: Function) => {\n\t\tcb();\n\t},\n\tupdateSplashScreen: uploadStub,\n\tupdateToolbarIcon: uploadStub,\n\tupdateTaskbarIcon: uploadStub,\n\tupdateSystemTrayIcon: uploadStub,\n\tupdateInstallerIcon: uploadStub,\n};\n"]}
@@ -1,6 +1,5 @@
1
1
  import { GettingStarted } from "../GettingStarted";
2
2
  import { Applications } from "../Applications";
3
- import { Themes } from "../Themes";
4
3
  import { Export } from "../Export";
5
4
  import { DEFAULT_PROPS } from "./exportProps";
6
5
  import { default_theme_props } from "./themeProps";
@@ -10,6 +9,7 @@ import { getApplicationsArgs } from "./apps";
10
9
  import { Toolbar } from "../Toolbar";
11
10
  import { OptionalSettingsView } from "../OptionalSettingsView";
12
11
  import { getPreloadsArgs } from "./preloads";
12
+ import { Themes } from "../Themes";
13
13
  export default [
14
14
  {
15
15
  showLabel: false,
@@ -1 +1 @@
1
- {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../../src/components/sdd/fixtures/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,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,oBAAO,mBAAmB,CAAC,OAAO,CAAC,CAAE;aAC1C;YACD;gBACC,EAAE,EAAE,uBAAuB;gBAC3B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,oBAAoB;gBAC/B,KAAK,oBAAO,eAAe,EAAE,CAAE;aAC/B;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,oBAAO,mBAAmB,CAAE;aACjC;YACD;gBACC,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,OAAO;gBAClB,KAAK,oBAAO,mBAAmB,CAAC,OAAO,CAAC,CAAE;aAC1C;YACD;gBACC,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,cAAc;gBACzB,KAAK,oBAAO,4BAA4B,CAAE;aAC1C;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,oBAAO,aAAa,CAAE;aAC3B;SACD;KACD;CACoB,CAAC","sourcesContent":["import { GettingStarted } from \"../GettingStarted\";\nimport { Applications } from \"../Applications\";\nimport { ViewSectionInfo } from \"../../../types/smartDesktopDesignerTypes\";\nimport { Themes } from \"../Themes\";\nimport { Export } from \"../Export\";\nimport { DEFAULT_PROPS } from \"./exportProps\";\nimport { default_theme_props } from \"./themeProps\";\nimport { Authentication } from \"../Authentication\";\nimport { default_authentication_props } from \"./authenticationProps\";\nimport { getApplicationsArgs } from \"./apps\";\nimport { Toolbar } from \"../Toolbar\";\nimport { OptionalSettingsView } from \"../OptionalSettingsView\";\nimport { getPreloadsArgs } from \"./preloads\";\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: { ...getApplicationsArgs(\"empty\") },\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: \"Optional\",\n\t\t\t\tcomponent: OptionalSettingsView,\n\t\t\t\tprops: { ...getPreloadsArgs() },\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: { ...default_theme_props },\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: { ...getApplicationsArgs(\"empty\") },\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: { ...default_authentication_props },\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: { ...DEFAULT_PROPS },\n\t\t\t},\n\t\t],\n\t},\n] as ViewSectionInfo[];\n"]}
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../../src/components/sdd/fixtures/views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,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,oBAAO,mBAAmB,CAAC,OAAO,CAAC,CAAE;aAC1C;YACD;gBACC,EAAE,EAAE,uBAAuB;gBAC3B,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,oBAAoB;gBAC/B,KAAK,oBAAO,eAAe,EAAE,CAAE;aAC/B;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,oBAAO,mBAAmB,CAAE;aACjC;YACD;gBACC,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,OAAO;gBAClB,KAAK,oBAAO,mBAAmB,CAAC,OAAO,CAAC,CAAE;aAC1C;YACD;gBACC,EAAE,EAAE,gBAAgB;gBACpB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,cAAc;gBACzB,KAAK,oBAAO,4BAA4B,CAAE;aAC1C;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,oBAAO,aAAa,CAAE;aAC3B;SACD;KACD;CACoB,CAAC","sourcesContent":["import { GettingStarted } from \"../GettingStarted\";\nimport { Applications } from \"../Applications\";\nimport { ViewSectionInfo } from \"../../../types/smartDesktopDesignerTypes\";\nimport { Export } from \"../Export\";\nimport { DEFAULT_PROPS } from \"./exportProps\";\nimport { default_theme_props } from \"./themeProps\";\nimport { Authentication } from \"../Authentication\";\nimport { default_authentication_props } from \"./authenticationProps\";\nimport { getApplicationsArgs } from \"./apps\";\nimport { Toolbar } from \"../Toolbar\";\nimport { OptionalSettingsView } from \"../OptionalSettingsView\";\nimport { getPreloadsArgs } from \"./preloads\";\nimport { Themes } from \"../Themes\";\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: { ...getApplicationsArgs(\"empty\") },\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: \"Optional\",\n\t\t\t\tcomponent: OptionalSettingsView,\n\t\t\t\tprops: { ...getPreloadsArgs() },\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: { ...default_theme_props },\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: { ...getApplicationsArgs(\"empty\") },\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: { ...default_authentication_props },\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: { ...DEFAULT_PROPS },\n\t\t\t},\n\t\t],\n\t},\n] as ViewSectionInfo[];\n"]}
@@ -431,8 +431,8 @@ export declare const SmartDesktopClient: {
431
431
  * @param url - the potential URL
432
432
  */
433
433
  checkValidURL(url: string): boolean;
434
- isInboundInteropAuthorized(sourceApp: AppDefinition, targetApp: AppDefinition, contextType?: string | undefined): Promise<boolean>;
435
- isOutboundInteropAuthorized(sourceApp: AppDefinition, targetApp: AppDefinition, contextType?: string | undefined): Promise<boolean>;
434
+ isInboundInteropAuthorized(sourceApp: AppDefinition, targetApp: AppDefinition, contextType?: string): Promise<boolean>;
435
+ isOutboundInteropAuthorized(sourceApp: AppDefinition, targetApp: AppDefinition, contextType?: string): Promise<boolean>;
436
436
  /**
437
437
  * Publish `.zip` file to the Cosaic Cloud
438
438
  *
@@ -441,7 +441,7 @@ export declare const SmartDesktopClient: {
441
441
  * @example
442
442
  * let { err } = await SmartDesktopClient.publishToCosaicCloud();
443
443
  */
444
- publishToCosaicCloud(uuid?: string | undefined): Promise<FEA.DeployInfo>;
444
+ publishToCosaicCloud(uuid?: string): Promise<FEA.DeployInfo>;
445
445
  /**
446
446
  * Get the progress of a publish request
447
447
  *
@@ -4,7 +4,7 @@ import "../../../assets/css/finsemble.css";
4
4
  import "../../common/css/styles.css";
5
5
  declare const _default: {
6
6
  title: string;
7
- component: ({ startTheme, darkTheme, lightTheme, updateTheme, updateThemes, areYouSure, baseURL, toolbarIcon, taskbarIcon, installerIcon, systemTrayIcon, splashScreenImage, setToolbarIcon, setTaskbarIcon, setInstallerIcon, setSystemTrayIcon, setSplashScreenImage, setIconsChanged, updateSplashScreen, updateToolbarIcon, updateTaskbarIcon, updateSystemTrayIcon, updateInstallerIcon, }: AppearanceProps) => JSX.Element;
7
+ component: ({ startTheme, darkTheme, lightTheme, updateTheme, updateThemes, areYouSure, updateSplashScreen, updateToolbarIcon, updateTaskbarIcon, updateSystemTrayIcon, updateInstallerIcon, }: AppearanceProps) => JSX.Element;
8
8
  };
9
9
  export default _default;
10
10
  export declare const Page: import("@storybook/react").Story<AppearanceProps>;
@@ -18,18 +18,6 @@ export const Page = createStory(Appearance, {
18
18
  areYouSure: (cb) => {
19
19
  cb();
20
20
  },
21
- baseURL: "",
22
- toolbarIcon: "",
23
- taskbarIcon: "",
24
- installerIcon: "",
25
- systemTrayIcon: "",
26
- splashScreenImage: "",
27
- setToolbarIcon: () => { },
28
- setTaskbarIcon: () => { },
29
- setInstallerIcon: () => { },
30
- setSystemTrayIcon: () => { },
31
- setSplashScreenImage: () => { },
32
- setIconsChanged: () => { },
33
21
  updateSplashScreen: uploadFunction,
34
22
  updateToolbarIcon: uploadFunction,
35
23
  updateTaskbarIcon: uploadFunction,
@@ -1 +1 @@
1
- {"version":3,"file":"Appearance.stories.js","sourceRoot":"","sources":["../../../../src/components/sdd/stories/Appearance.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAC;AAC5D,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAe;IACd,KAAK,EAAE,mCAAmC;IAC1C,SAAS,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAkB,UAAU,EAAE;IAC5D,UAAU,EAAE,SAAS;IACrB,SAAS;IACT,UAAU;IACV,WAAW,EAAE,CAAC,KAAkB,EAAE,EAAE,GAAE,CAAC;IACvC,YAAY,EAAE,GAAG,EAAE;QAClB,gDAAgD;IACjD,CAAC;IACD,UAAU,EAAE,CAAC,EAAc,EAAE,EAAE;QAC9B,EAAE,EAAE,CAAC;IACN,CAAC;IACD,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAE,EAAE;IACrB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;IACxB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;IACxB,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC3B,oBAAoB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC9B,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;IACzB,kBAAkB,EAAE,cAAc;IAClC,iBAAiB,EAAE,cAAc;IACjC,iBAAiB,EAAE,cAAc;IACjC,oBAAoB,EAAE,cAAc;IACpC,mBAAmB,EAAE,cAAc;CACnC,CAAC,CAAC","sourcesContent":["import { createStory, uploadFunction } from \"../../common/helpers\";\nimport { Appearance, AppearanceProps } from \"../Appearance\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../../common/css/styles.css\";\nimport { darkTheme, lightTheme } from \"../themeDefinitions\";\nimport { ThemeBundle } from \"../ThemePage\";\n\nexport default {\n\ttitle: \"Smart Desktop Designer/Appearance\",\n\tcomponent: Appearance,\n};\n\nexport const Page = createStory<AppearanceProps>(Appearance, {\n\tstartTheme: darkTheme,\n\tdarkTheme,\n\tlightTheme,\n\tupdateTheme: (theme: ThemeBundle) => {},\n\tupdateThemes: () => {\n\t\t// console.log(`ID: ${id}, Theme: ${newValue}`);\n\t},\n\tareYouSure: (cb: () => void) => {\n\t\tcb();\n\t},\n\tbaseURL: \"\",\n\ttoolbarIcon: \"\",\n\ttaskbarIcon: \"\",\n\tinstallerIcon: \"\",\n\tsystemTrayIcon: \"\",\n\tsplashScreenImage: \"\",\n\tsetToolbarIcon: () => {},\n\tsetTaskbarIcon: () => {},\n\tsetInstallerIcon: () => {},\n\tsetSystemTrayIcon: () => {},\n\tsetSplashScreenImage: () => {},\n\tsetIconsChanged: () => {},\n\tupdateSplashScreen: uploadFunction,\n\tupdateToolbarIcon: uploadFunction,\n\tupdateTaskbarIcon: uploadFunction,\n\tupdateSystemTrayIcon: uploadFunction,\n\tupdateInstallerIcon: uploadFunction,\n});\n"]}
1
+ {"version":3,"file":"Appearance.stories.js","sourceRoot":"","sources":["../../../../src/components/sdd/stories/Appearance.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAmB,MAAM,eAAe,CAAC;AAC5D,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAe;IACd,KAAK,EAAE,mCAAmC;IAC1C,SAAS,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAkB,UAAU,EAAE;IAC5D,UAAU,EAAE,SAAS;IACrB,SAAS;IACT,UAAU;IACV,WAAW,EAAE,CAAC,KAAkB,EAAE,EAAE,GAAE,CAAC;IACvC,YAAY,EAAE,GAAG,EAAE;QAClB,gDAAgD;IACjD,CAAC;IACD,UAAU,EAAE,CAAC,EAAc,EAAE,EAAE;QAC9B,EAAE,EAAE,CAAC;IACN,CAAC;IACD,kBAAkB,EAAE,cAAc;IAClC,iBAAiB,EAAE,cAAc;IACjC,iBAAiB,EAAE,cAAc;IACjC,oBAAoB,EAAE,cAAc;IACpC,mBAAmB,EAAE,cAAc;CACnC,CAAC,CAAC","sourcesContent":["import { createStory, uploadFunction } from \"../../common/helpers\";\nimport { Appearance, AppearanceProps } from \"../Appearance\";\nimport \"../../../assets/css/finsemble.css\";\nimport \"../../common/css/styles.css\";\nimport { darkTheme, lightTheme } from \"../themeDefinitions\";\nimport { ThemeBundle } from \"../ThemePage\";\n\nexport default {\n\ttitle: \"Smart Desktop Designer/Appearance\",\n\tcomponent: Appearance,\n};\n\nexport const Page = createStory<AppearanceProps>(Appearance, {\n\tstartTheme: darkTheme,\n\tdarkTheme,\n\tlightTheme,\n\tupdateTheme: (theme: ThemeBundle) => {},\n\tupdateThemes: () => {\n\t\t// console.log(`ID: ${id}, Theme: ${newValue}`);\n\t},\n\tareYouSure: (cb: () => void) => {\n\t\tcb();\n\t},\n\tupdateSplashScreen: uploadFunction,\n\tupdateToolbarIcon: uploadFunction,\n\tupdateTaskbarIcon: uploadFunction,\n\tupdateSystemTrayIcon: uploadFunction,\n\tupdateInstallerIcon: uploadFunction,\n});\n"]}
@@ -4,7 +4,7 @@ import "../../../assets/css/finsemble.css";
4
4
  import "../../common/css/styles.css";
5
5
  declare const _default: {
6
6
  title: string;
7
- component: ({ baseURL, toolbarIcon, setToolbarIcon, taskbarIcon, setTaskbarIcon, installerIcon, setInstallerIcon, systemTrayIcon, setSystemTrayIcon, splashScreenImage, setSplashScreenImage, setIconsChanged, updateSplashScreen, updateToolbarIcon, updateTaskbarIcon, updateSystemTrayIcon, updateInstallerIcon, }: AssetsPageProps) => JSX.Element;
7
+ component: ({ updateSplashScreen, updateToolbarIcon, updateTaskbarIcon, updateSystemTrayIcon, updateInstallerIcon, }: AssetsPageProps) => JSX.Element;
8
8
  };
9
9
  export default _default;
10
10
  export declare const Page: import("@storybook/react").Story<AssetsPageProps>;