@finsemble/finsemble-ui 6.3.2 → 6.5.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +31 -42
- package/react/actions/smartDesktopDesignerActions.d.ts +6 -4
- package/react/actions/smartDesktopDesignerActions.js +2 -1
- package/react/actions/smartDesktopDesignerActions.js.map +1 -1
- package/react/assets/css/userPreferences.css +0 -30
- package/react/assets/css/windowTitleBar.css +6 -5
- package/react/assets/icons/always-on-top.svg +20 -0
- package/react/assets/icons/caret.svg +7 -0
- package/react/assets/icons/close.svg +11 -0
- package/react/assets/icons/code-block.svg +15 -0
- package/react/assets/icons/documentation.svg +20 -0
- package/react/assets/icons/linker.svg +18 -0
- package/react/assets/icons/maximize.svg +16 -0
- package/react/assets/icons/minimize.svg +15 -0
- package/react/assets/icons/toolbar.svg +12 -0
- package/react/assets/img/finsemble-display.png +0 -0
- package/react/componentTemplateGenerator.js +1 -1
- package/react/componentTemplateGenerator.js.map +1 -1
- package/react/components/FinsembleProvider.js.map +1 -1
- package/react/components/appCatalog/modules/FDC3.d.ts +1 -1
- package/react/components/appCatalog/modules/FDC3.js.map +1 -1
- package/react/components/appCatalog/stores/appStore.d.ts +2 -2
- package/react/components/appCatalog/stores/appStore.js.map +1 -1
- package/react/components/common/Accordion.d.ts +11 -0
- package/react/components/common/Accordion.js +20 -0
- package/react/components/common/Accordion.js.map +1 -0
- package/react/components/common/Checkbox.d.ts +1 -0
- package/react/components/common/Checkbox.js +4 -2
- package/react/components/common/Checkbox.js.map +1 -1
- package/react/components/common/DropZone.js +3 -1
- package/react/components/common/DropZone.js.map +1 -1
- package/react/components/common/FileInput.d.ts +2 -1
- package/react/components/common/FileInput.js +9 -4
- package/react/components/common/FileInput.js.map +1 -1
- package/react/components/common/FinsembleIcon.d.ts +1 -1
- package/react/components/common/FinsembleIcon.js +18 -0
- package/react/components/common/FinsembleIcon.js.map +1 -1
- package/react/components/common/FinsembleSelect.js +1 -1
- package/react/components/common/FinsembleSelect.js.map +1 -1
- package/react/components/common/Header.js +1 -1
- package/react/components/common/Header.js.map +1 -1
- package/react/components/common/InputTable.d.ts +11 -0
- package/react/components/common/InputTable.js +50 -0
- package/react/components/common/InputTable.js.map +1 -0
- package/react/components/common/Tooltip.js +3 -1
- package/react/components/common/Tooltip.js.map +1 -1
- package/react/components/common/css/accordion.css +99 -0
- package/react/components/common/css/application-edit-page.css +209 -2
- package/react/components/common/css/application-list.css +6 -0
- package/react/components/common/css/button.css +9 -7
- package/react/components/common/css/checkbox.css +30 -0
- package/react/components/common/css/file-input.css +16 -0
- package/react/components/common/css/header.css +1 -14
- package/react/components/common/css/preload-edit-page.css +37 -0
- package/react/components/common/css/styles.css +0 -1
- package/react/components/common/css/tab.css +1 -1
- package/react/components/common/stories/Accordion.stories.d.ts +14 -0
- package/react/components/common/stories/Accordion.stories.js +42 -0
- package/react/components/common/stories/Accordion.stories.js.map +1 -0
- package/react/components/common/stories/DropdownButton.stories.d.ts +11 -0
- package/react/components/common/stories/DropdownButton.stories.js +12 -0
- package/react/components/common/stories/DropdownButton.stories.js.map +1 -1
- package/react/components/common/stories/FileInput.stories.d.ts +2 -1
- package/react/components/common/stories/FileInput.stories.js +6 -0
- package/react/components/common/stories/FileInput.stories.js.map +1 -1
- package/react/components/common/stories/FinsembleIcon.stories.js +1 -0
- package/react/components/common/stories/FinsembleIcon.stories.js.map +1 -1
- package/react/components/common/stories/InputTable.stories.d.ts +12 -0
- package/react/components/common/stories/InputTable.stories.js +35 -0
- package/react/components/common/stories/InputTable.stories.js.map +1 -0
- package/react/components/{smartDesktopDesigner/tests/ApplicationEdit.spec.d.ts → common/tests/Accordion.spec.d.ts} +0 -0
- package/react/components/common/tests/Accordion.spec.js +53 -0
- package/react/components/common/tests/Accordion.spec.js.map +1 -0
- package/react/components/common/tests/Checkbox.spec.js +5 -3
- package/react/components/common/tests/Checkbox.spec.js.map +1 -1
- package/react/components/common/tests/FileInput.spec.js +20 -5
- package/react/components/common/tests/FileInput.spec.js.map +1 -1
- package/react/components/common/tests/Header.spec.js +6 -2
- package/react/components/common/tests/Header.spec.js.map +1 -1
- package/react/components/{smartDesktopDesigner/tests/ApplicationList.spec.d.ts → common/tests/InputTable.spec.d.ts} +0 -0
- package/react/components/common/tests/InputTable.spec.js +166 -0
- package/react/components/common/tests/InputTable.spec.js.map +1 -0
- package/react/components/favorites/FavoritesShell.stories.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.js +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.spec.js +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.stories.js +13 -0
- package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialogButton.js +1 -1
- package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
- package/react/components/legacyControls/FinsembleDnDContext.d.ts +2 -1
- package/react/components/legacyControls/FinsembleDnDContext.js +8 -6
- package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
- package/react/components/linker/remoteRedux.d.ts +1 -1
- package/react/components/linker/remoteRedux.js.map +1 -1
- package/react/components/menu/Menu.d.ts +1 -0
- package/react/components/menu/Menu.js.map +1 -1
- package/react/components/menu/MenuAutoResizer.d.ts +2 -1
- package/react/components/menu/MenuAutoResizer.js +4 -3
- package/react/components/menu/MenuAutoResizer.js.map +1 -1
- package/react/components/menu/MenuPortal.js +118 -92
- package/react/components/menu/MenuPortal.js.map +1 -1
- package/react/components/menu/MenuShell.d.ts +1 -0
- package/react/components/menu/MenuShell.js +3 -2
- package/react/components/menu/MenuShell.js.map +1 -1
- package/react/components/menu/menuContext.d.ts +1 -0
- package/react/components/menu/menuContext.js.map +1 -1
- package/react/components/menu/menuHelpers.d.ts +1 -1
- package/react/components/menu/menuHelpers.js +2 -2
- package/react/components/menu/menuHelpers.js.map +1 -1
- package/react/components/notifications/components/drawer/DrawerControls.js +30 -6
- package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +2 -0
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +20 -27
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
- package/react/components/notifications/components/shared/CheckButton.d.ts +1 -1
- package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
- package/react/components/notifications/components/shared/IconButton.js +5 -1
- package/react/components/notifications/components/shared/IconButton.js.map +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.d.ts +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
- package/react/components/notifications/components/shared/OverflowMenu.d.ts +1 -1
- package/react/components/notifications/components/shared/OverflowMenu.js +5 -1
- package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
- package/react/components/notifications/components/views/CardView.js.map +1 -1
- package/react/components/notifications/components/views/ListView.d.ts +1 -1
- package/react/components/notifications/components/views/ListView.js.map +1 -1
- package/react/components/notifications/components/views/NotificationDetailsView.d.ts +1 -1
- package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
- package/react/components/notifications/types.d.ts +1 -1
- package/react/components/notifications/types.js.map +1 -1
- package/react/components/notifications/utils.d.ts +1 -1
- package/react/components/notifications/utils.js.map +1 -1
- package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
- package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
- package/react/components/processMonitor/components/ListHeader.d.ts +1 -1
- package/react/components/processMonitor/components/ListHeader.js.map +1 -1
- package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +3 -3
- package/react/components/processMonitor/stores/ProcessMonitorStore.js +49 -49
- package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
- package/react/components/search/SearchResult.js +4 -3
- package/react/components/search/SearchResult.js.map +1 -1
- package/react/components/shared/DefaultDropdownButton.js +1 -1
- package/react/components/shared/DefaultDropdownButton.js.map +1 -1
- package/react/components/smartDesktopDesigner/AddApp.d.ts +14 -0
- package/react/components/smartDesktopDesigner/AddApp.js +60 -0
- package/react/components/smartDesktopDesigner/AddApp.js.map +1 -0
- package/react/components/smartDesktopDesigner/AppEditAccess.js +16 -32
- package/react/components/smartDesktopDesigner/AppEditAccess.js.map +1 -1
- package/react/components/smartDesktopDesigner/AppEditPage.d.ts +6 -19
- package/react/components/smartDesktopDesigner/AppEditPage.js +552 -59
- package/react/components/smartDesktopDesigner/AppEditPage.js.map +1 -1
- package/react/components/smartDesktopDesigner/Appearance.css +8 -67
- package/react/components/smartDesktopDesigner/Appearance.js +1 -1
- package/react/components/smartDesktopDesigner/Appearance.js.map +1 -1
- package/react/components/smartDesktopDesigner/Application.d.ts +11 -3
- package/react/components/smartDesktopDesigner/Application.js +155 -104
- package/react/components/smartDesktopDesigner/Application.js.map +1 -1
- package/react/components/smartDesktopDesigner/Applications.d.ts +2 -3
- package/react/components/smartDesktopDesigner/Applications.js +67 -107
- package/react/components/smartDesktopDesigner/Applications.js.map +1 -1
- package/react/components/smartDesktopDesigner/Authentication.js +2 -9
- package/react/components/smartDesktopDesigner/Authentication.js.map +1 -1
- package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js +8 -1
- package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js.map +1 -1
- package/react/components/smartDesktopDesigner/ContentHeader.d.ts +5 -0
- package/react/components/smartDesktopDesigner/ContentHeader.js +10 -0
- package/react/components/smartDesktopDesigner/ContentHeader.js.map +1 -0
- package/react/components/smartDesktopDesigner/CurrentView.js +2 -1
- package/react/components/smartDesktopDesigner/CurrentView.js.map +1 -1
- package/react/components/smartDesktopDesigner/EditPreload.d.ts +14 -0
- package/react/components/smartDesktopDesigner/EditPreload.js +169 -0
- package/react/components/smartDesktopDesigner/EditPreload.js.map +1 -0
- package/react/components/smartDesktopDesigner/Export.d.ts +1 -0
- package/react/components/smartDesktopDesigner/Export.js +40 -9
- package/react/components/smartDesktopDesigner/Export.js.map +1 -1
- package/react/components/smartDesktopDesigner/ExportCloud.d.ts +3 -1
- package/react/components/smartDesktopDesigner/ExportCloud.js +4 -6
- package/react/components/smartDesktopDesigner/ExportCloud.js.map +1 -1
- package/react/components/smartDesktopDesigner/ExportZip.d.ts +3 -1
- package/react/components/smartDesktopDesigner/ExportZip.js +8 -3
- package/react/components/smartDesktopDesigner/ExportZip.js.map +1 -1
- package/react/components/smartDesktopDesigner/GettingStarted.d.ts +1 -0
- package/react/components/smartDesktopDesigner/GettingStarted.js +11 -25
- package/react/components/smartDesktopDesigner/GettingStarted.js.map +1 -1
- package/react/components/smartDesktopDesigner/ItemList.d.ts +17 -0
- package/react/components/smartDesktopDesigner/ItemList.js +58 -0
- package/react/components/smartDesktopDesigner/ItemList.js.map +1 -0
- package/react/components/smartDesktopDesigner/Navigation.d.ts +2 -2
- package/react/components/smartDesktopDesigner/Navigation.js +17 -15
- package/react/components/smartDesktopDesigner/Navigation.js.map +1 -1
- package/react/components/smartDesktopDesigner/OptionalSettingsView.d.ts +11 -0
- package/react/components/smartDesktopDesigner/OptionalSettingsView.js +71 -0
- package/react/components/smartDesktopDesigner/OptionalSettingsView.js.map +1 -0
- package/react/components/smartDesktopDesigner/Preloads.d.ts +8 -0
- package/react/components/smartDesktopDesigner/Preloads.js +26 -0
- package/react/components/smartDesktopDesigner/Preloads.js.map +1 -0
- package/react/components/smartDesktopDesigner/Publish.js.map +1 -1
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +3 -3
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +11 -17
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
- package/react/components/smartDesktopDesigner/ThemePage.css +0 -1
- package/react/components/smartDesktopDesigner/ThemePage.js +0 -7
- package/react/components/smartDesktopDesigner/ThemePage.js.map +1 -1
- package/react/components/smartDesktopDesigner/Themes.js +0 -2
- package/react/components/smartDesktopDesigner/Themes.js.map +1 -1
- package/react/components/smartDesktopDesigner/Toolbar.d.ts +15 -0
- package/react/components/smartDesktopDesigner/Toolbar.js +123 -0
- package/react/components/smartDesktopDesigner/Toolbar.js.map +1 -0
- package/react/components/smartDesktopDesigner/View.js +1 -1
- package/react/components/smartDesktopDesigner/View.js.map +1 -1
- package/react/components/smartDesktopDesigner/common/fsbl_functions.d.ts +1 -1
- package/react/components/smartDesktopDesigner/common/fsbl_functions.js +2 -2
- package/react/components/smartDesktopDesigner/common/fsbl_functions.js.map +1 -1
- package/react/components/smartDesktopDesigner/common/views.d.ts +2 -36
- package/react/components/smartDesktopDesigner/common/views.js +168 -111
- package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
- package/react/components/smartDesktopDesigner/css/appearance.css +20 -9
- package/react/components/smartDesktopDesigner/css/applications.css +40 -0
- package/react/components/smartDesktopDesigner/css/authentication.css +5 -11
- package/react/components/smartDesktopDesigner/css/export.css +32 -19
- package/react/components/smartDesktopDesigner/css/getting-started.css +22 -0
- package/react/components/smartDesktopDesigner/css/nav.css +38 -11
- package/react/components/smartDesktopDesigner/css/project-header.css +19 -16
- package/react/components/smartDesktopDesigner/css/styles.css +2 -3
- package/react/components/smartDesktopDesigner/css/views.css +11 -4
- package/react/components/smartDesktopDesigner/fixtures/apps.d.ts +3 -1
- package/react/components/smartDesktopDesigner/fixtures/apps.js +63 -6
- package/react/components/smartDesktopDesigner/fixtures/apps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/exportProps.js +3 -0
- package/react/components/smartDesktopDesigner/fixtures/exportProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/preloads.d.ts +22 -0
- package/react/components/smartDesktopDesigner/fixtures/preloads.js +40 -0
- package/react/components/smartDesktopDesigner/fixtures/preloads.js.map +1 -0
- package/react/components/smartDesktopDesigner/fixtures/publishProgress.d.ts +1 -1
- package/react/components/smartDesktopDesigner/fixtures/publishProgress.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/views.d.ts +2 -2
- package/react/components/smartDesktopDesigner/fixtures/views.js +67 -26
- package/react/components/smartDesktopDesigner/fixtures/views.js.map +1 -1
- package/react/components/smartDesktopDesigner/sdd_helpers.d.ts +1 -1
- package/react/components/smartDesktopDesigner/sdd_helpers.js +4 -3
- package/react/components/smartDesktopDesigner/sdd_helpers.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.d.ts +3 -1
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js +13 -33
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.d.ts +10 -0
- package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.js +13 -0
- package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/EditPreload.stories.d.ts +11 -0
- package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js +35 -0
- package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.d.ts +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportZip.stories.d.ts +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ItemList.stories.d.ts +16 -0
- package/react/components/smartDesktopDesigner/stories/{ApplicationList.stories.js → ItemList.stories.js} +30 -23
- package/react/components/smartDesktopDesigner/stories/ItemList.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.d.ts +11 -0
- package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js +28 -0
- package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/Preloads.stories.d.ts +11 -0
- package/react/components/smartDesktopDesigner/stories/Preloads.stories.js +31 -0
- package/react/components/smartDesktopDesigner/stories/Preloads.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js +7 -1
- package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Toolbar.stories.d.ts +14 -0
- package/react/components/smartDesktopDesigner/stories/Toolbar.stories.js +38 -0
- package/react/components/smartDesktopDesigner/stories/Toolbar.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js +1100 -308
- package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/{ApplicationSetup.spec.d.ts → Application.spec.d.ts} +0 -0
- package/react/components/smartDesktopDesigner/tests/Application.spec.js +1496 -0
- package/react/components/smartDesktopDesigner/tests/Application.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/Applications.spec.d.ts +1 -1
- package/react/components/smartDesktopDesigner/tests/Applications.spec.js +62 -561
- package/react/components/smartDesktopDesigner/tests/Applications.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/{ProjectHeader.spec.d.ts → ContentHeader.spec.d.ts} +0 -0
- package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.js +31 -0
- package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/EditPreload.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js +61 -0
- package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/Export.spec.js +129 -0
- package/react/components/smartDesktopDesigner/tests/Export.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js +7 -0
- package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ItemList.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/{ApplicationList.spec.js → ItemList.spec.js} +8 -8
- package/react/components/smartDesktopDesigner/tests/ItemList.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/Preloads.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/Preloads.spec.js +47 -0
- package/react/components/smartDesktopDesigner/tests/Preloads.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js +3 -14
- package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js +7 -30
- package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Toolbar.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/Toolbar.spec.js +203 -0
- package/react/components/smartDesktopDesigner/tests/Toolbar.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.js +18 -0
- package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.js.map +1 -0
- package/react/components/toolbar/DragHandle.spec.d.ts +1 -0
- package/react/components/toolbar/DragHandle.spec.js +31 -0
- package/react/components/toolbar/DragHandle.spec.js.map +1 -0
- package/react/components/toolbar/DragHandle.stories.d.ts +13 -0
- package/react/components/toolbar/DragHandle.stories.js +39 -0
- package/react/components/toolbar/DragHandle.stories.js.map +1 -0
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +47 -45
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/TagsList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts +2 -2
- package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
- package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
- package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +1 -0
- package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
- package/react/components/toolbar/appLauncher/components/componentList.d.ts +2 -2
- package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +3 -2
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +17 -34
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
- package/react/components/toolbar/dashbar/Dashbar.js +12 -13
- package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +2 -2
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +4 -4
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
- package/react/components/userPreferences/components/content/Workspaces.d.ts +1 -1
- package/react/components/userPreferences/components/content/Workspaces.js +1 -1
- package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js.map +1 -1
- package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +1 -1
- package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
- package/react/components/userPreferences/tests/ScheduledRestart.spec.js +1 -1
- package/react/components/userPreferences/tests/ScheduledRestart.spec.js.map +1 -1
- package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +4 -2
- package/react/components/windowTitleBar/WindowTitleBarShell.js +60 -52
- package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
- package/react/components/windowTitleBar/components/center/Tab.d.ts +0 -1
- package/react/components/windowTitleBar/components/center/Tab.js +2 -2
- package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
- package/react/components/windowTitleBar/components/center/TabList.d.ts +2 -3
- package/react/components/windowTitleBar/components/center/TabList.js +19 -79
- package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +7 -0
- package/react/components/windowTitleBar/components/right/MaximizeButton.js +11 -1
- package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
- package/react/components/windowTitleBar/components/windowTitle.d.ts +9 -5
- package/react/components/windowTitleBar/components/windowTitle.js +154 -42
- package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +3 -3
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js +214 -214
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
- package/react/enzymeSetup.js +1 -1
- package/react/enzymeSetup.js.map +1 -1
- package/react/hooks/useDashbar.d.ts +8 -0
- package/react/hooks/useDashbar.js +104 -0
- package/react/hooks/useDashbar.js.map +1 -0
- package/react/hooks/useFavoritesShell.js.map +1 -1
- package/react/hooks/useNotifications.d.ts +1 -1
- package/react/hooks/useNotifications.js.map +1 -1
- package/react/hooks/useToolbar.d.ts +0 -6
- package/react/hooks/useToolbar.js +0 -101
- package/react/hooks/useToolbar.js.map +1 -1
- package/react/reducers/rootReducer.d.ts +11 -7
- package/react/reducers/smartDesktopDesignerReducer.js +8 -3
- package/react/reducers/smartDesktopDesignerReducer.js.map +1 -1
- package/react/store.d.ts +22 -14
- package/react/types/fdc3.d.ts +7 -35
- package/react/types/fdc3.js.map +1 -1
- package/react/types/searchTypes.d.ts +1 -8
- package/react/types/searchTypes.js.map +1 -1
- package/react/types/smartDesktopDesignerTypes.d.ts +52 -6
- package/react/types/smartDesktopDesignerTypes.js.map +1 -1
- package/react/types/windowTitleBar.d.ts +4 -2
- package/react/types/windowTitleBar.js.map +1 -1
- package/react/components/common/FontSizeSelector.d.ts +0 -7
- package/react/components/common/FontSizeSelector.js +0 -42
- package/react/components/common/FontSizeSelector.js.map +0 -1
- package/react/components/common/stories/FontSizeSelector.stories.d.ts +0 -12
- package/react/components/common/stories/FontSizeSelector.stories.js +0 -24
- package/react/components/common/stories/FontSizeSelector.stories.js.map +0 -1
- package/react/components/smartDesktopDesigner/ApplicationEdit.d.ts +0 -25
- package/react/components/smartDesktopDesigner/ApplicationEdit.js +0 -103
- package/react/components/smartDesktopDesigner/ApplicationEdit.js.map +0 -1
- package/react/components/smartDesktopDesigner/ApplicationList.d.ts +0 -15
- package/react/components/smartDesktopDesigner/ApplicationList.js +0 -56
- package/react/components/smartDesktopDesigner/ApplicationList.js.map +0 -1
- package/react/components/smartDesktopDesigner/ApplicationSetup.d.ts +0 -23
- package/react/components/smartDesktopDesigner/ApplicationSetup.js +0 -73
- package/react/components/smartDesktopDesigner/ApplicationSetup.js.map +0 -1
- package/react/components/smartDesktopDesigner/ProjectHeader.d.ts +0 -14
- package/react/components/smartDesktopDesigner/ProjectHeader.js +0 -70
- package/react/components/smartDesktopDesigner/ProjectHeader.js.map +0 -1
- package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.d.ts +0 -4
- package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js +0 -45
- package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js.map +0 -1
- package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.d.ts +0 -3
- package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js +0 -29
- package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js.map +0 -1
- package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.d.ts +0 -12
- package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js +0 -21
- package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js.map +0 -1
- package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.d.ts +0 -15
- package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js.map +0 -1
- package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.d.ts +0 -12
- package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js +0 -28
- package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js.map +0 -1
- package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.d.ts +0 -10
- package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js +0 -19
- package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js.map +0 -1
- package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js +0 -66
- package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js.map +0 -1
- package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js.map +0 -1
- package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js +0 -41
- package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js.map +0 -1
- package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js +0 -27
- package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ItemList.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/ItemList.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,oCAAoC,CAAC;AAa5C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EACxB,KAAK,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAChC,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,eAAC,OAAA,CAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,SAAS,0CAAE,WAAW,KAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAA,EAAA,EAC/F,gBAAgB,GAAG,CAClB;;IAEC,+BAAM;wCAEJ,CACH,EACD,SAAS,GAAG,EAAE,GACC,EAAE,EAAE,CAAC,CACpB,0CACE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACnB,6BAAK,SAAS,EAAE,kBAAkB,SAAS,EAAE,IAAG,gBAAgB,CAAO,CACvE,CAAC,CAAC,CAAC,CACH,6BAAK,SAAS,EAAE,kBAAkB,SAAS,EAAE,EAAE,IAAI,EAAC,MAAM,IACxD,KAAK;KACJ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IACd,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE;QAClD,OAAO,CAAC,CAAC;KACT;SAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,EAAE;QACzD,OAAO,CAAC,CAAC,CAAC;KACV;IAED,OAAO,CAAC,CAAC;AACV,CAAC,CAAC;KACD,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;IAClB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,oBAAoB,GAAG,CAAC,CAA2D,EAAE,EAAE;QAC5F,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,cAAc,EAAE,CAAC;IACpB,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,CAAC,CAA2D,EAAE,EAAE;QAC5F,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,cAAc,EAAE,CAAC;IACpB,CAAC,CAAC;IACF,MAAM,sBAAsB,GAAG,CAAC,CAA2D,EAAE,EAAE;QAC9F,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,UAAU,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,cAAc,GAAG,CAAC,CAAsC,EAAE,EAAE;QACjE,QAAQ,CAAC,CAAC,GAAG,EAAE;YACd,KAAK,OAAO,CAAC;YACb,KAAK,GAAG,CAAC,CAAC;gBACT,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM;aACN;YACD,KAAK,QAAQ,CAAC,CAAC;gBACd,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM;aACN;YACD,OAAO,CAAC,CAAC;aACR;SACD;IACF,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE7C,OAAO,CACN,6BACC,GAAG,EAAE,KAAK,EACV,EAAE,EAAE,gBAAgB,KAAK,EAAE,EAC3B,SAAS,EAAC,cAAc,EACxB,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,cAAc;QAEzB,8BAAM,SAAS,EAAC,UAAU,IAAE,WAAW,CAAQ;QAC/C,6BAAK,SAAS,EAAC,UAAU;YACvB,QAAQ,IAAI,CACZ,oBAAC,UAAU,IAAC,SAAS,EAAC,WAAW,EAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,oBAAoB,GAAI,CAC7F;YACD,oBAAC,UAAU,IACV,QAAQ,EAAE,CAAC,CAAC,EACZ,SAAS,EAAC,aAAa,EACvB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,sBAAsB,GAC9B,CACG,CACD,CACN,CAAC;AACH,CAAC,CAAC,CACE,CACN,CACC,CACH,CAAC","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React, { ReactNode } from \"react\";\nimport { ButtonIcon } from \"../common/ButtonIcon\";\nimport \"../common/css/application-list.css\";\n\nexport type ItemListProps = {\n\titems: any[];\n\tgetItemId?: (item: any) => string;\n\tgetItemDisplayName?: (item: any) => string;\n\tclickItem: (s: string) => void;\n\tdeleteItem: (s: string) => void;\n\teditItem?: (s: string) => void;\n\temptyListMessage?: ReactNode;\n\tclassName?: string;\n};\n\nexport const ItemList = ({\n\titems,\n\tclickItem,\n\tdeleteItem,\n\teditItem,\n\tgetItemId = (item) => item.appId,\n\tgetItemDisplayName = (item) => item.manifest?.component?.displayName || item.name || item.appId,\n\temptyListMessage = (\n\t\t<>\n\t\t\tThere’s nothing here!\n\t\t\t<br />\n\t\t\tClick the Add button to add apps.\n\t\t</>\n\t),\n\tclassName = \"\",\n}: ItemListProps) => (\n\t<>\n\t\t{items.length < 1 ? (\n\t\t\t<div className={`app-list-empty ${className}`}>{emptyListMessage}</div>\n\t\t) : (\n\t\t\t<div className={`app-list-table ${className}`} role=\"list\">\n\t\t\t\t{items\n\t\t\t\t\t.sort((a, b) => {\n\t\t\t\t\t\tif (getItemDisplayName(a) > getItemDisplayName(b)) {\n\t\t\t\t\t\t\treturn 1;\n\t\t\t\t\t\t} else if (getItemDisplayName(b) > getItemDisplayName(a)) {\n\t\t\t\t\t\t\treturn -1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t})\n\t\t\t\t\t.map((item: any) => {\n\t\t\t\t\t\tconst appID = getItemId(item);\n\n\t\t\t\t\t\tconst openItemEventHandler = (e: React.MouseEvent<Element> | React.KeyboardEvent<Element>) => {\n\t\t\t\t\t\t\tclickItem(appID);\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst editItemEventHandler = (e: React.MouseEvent<Element> | React.KeyboardEvent<Element>) => {\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\teditItem?.(appID);\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst deleteItemEventHandler = (e: React.MouseEvent<Element> | React.KeyboardEvent<Element>) => {\n\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\tdeleteItem(appID);\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst keyDownHandler = (e: React.KeyboardEvent<HTMLDivElement>) => {\n\t\t\t\t\t\t\tswitch (e.key) {\n\t\t\t\t\t\t\t\tcase \"Enter\":\n\t\t\t\t\t\t\t\tcase \" \": {\n\t\t\t\t\t\t\t\t\topenItemEventHandler(e);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcase \"Delete\": {\n\t\t\t\t\t\t\t\t\tdeleteItemEventHandler(e);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdefault: {\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\n\t\t\t\t\t\tconst displayName = getItemDisplayName(item);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={appID}\n\t\t\t\t\t\t\t\tid={`app-list-row-${appID}`}\n\t\t\t\t\t\t\t\tclassName=\"app-list-row\"\n\t\t\t\t\t\t\t\trole=\"listitem\"\n\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\tonClick={openItemEventHandler}\n\t\t\t\t\t\t\t\tonKeyDown={keyDownHandler}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"app-name\">{displayName}</span>\n\t\t\t\t\t\t\t\t<div className=\"icon-bar\">\n\t\t\t\t\t\t\t\t\t{editItem && (\n\t\t\t\t\t\t\t\t\t\t<ButtonIcon className=\"icon-edit\" icon=\"pencil\" text=\"Edit\" onClick={editItemEventHandler} />\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\tclassName=\"icon-delete\"\n\t\t\t\t\t\t\t\t\t\ticon=\"trash\"\n\t\t\t\t\t\t\t\t\t\ttext=\"Delete\"\n\t\t\t\t\t\t\t\t\t\tonClick={deleteItemEventHandler}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t</div>\n\t\t)}\n\t</>\n);\n"]}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
/// <reference types="react" />
|
|
6
|
-
import {
|
|
6
|
+
import { ViewSectionInfo } from "../../types/smartDesktopDesignerTypes";
|
|
7
7
|
import "./css/nav.css";
|
|
8
8
|
export declare type NavigationProps = {
|
|
9
|
-
views:
|
|
9
|
+
views: ViewSectionInfo[];
|
|
10
10
|
};
|
|
11
11
|
export declare const Navigation: (props: NavigationProps) => JSX.Element;
|
|
@@ -15,21 +15,23 @@ export const Navigation = (props) => {
|
|
|
15
15
|
const errors = useSelector((state) => state.smartDesktopDesigner.errors);
|
|
16
16
|
const isReviewingErrors = useSelector((state) => state.smartDesktopDesigner.isReviewingErrors);
|
|
17
17
|
if (currentViewId === null) {
|
|
18
|
-
dispatch(SmartDesktopDesignerActions.change_view(views[0].id));
|
|
18
|
+
dispatch(SmartDesktopDesignerActions.change_view(views[0].views[0].id));
|
|
19
19
|
}
|
|
20
|
-
return (React.createElement(
|
|
21
|
-
React.createElement("
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
return (React.createElement(React.Fragment, null, views.map((section, i) => (React.createElement("div", { key: `nav-section-${i}`, className: "nav-section" },
|
|
21
|
+
section.showLabel && React.createElement("div", { className: "nav-label" }, section.label),
|
|
22
|
+
React.createElement("ul", { className: "nav" }, section.views.map((view) => (React.createElement("li", { key: view.name, className: ["nav-item", view.id === currentViewId ? "active" : ""].join(" ") },
|
|
23
|
+
React.createElement("a", { id: `${view.id}-nav-link`, href: "#", onClick: (e) => {
|
|
24
|
+
e.preventDefault();
|
|
25
|
+
dispatch(SmartDesktopDesignerActions.change_view(view.id));
|
|
26
|
+
} },
|
|
27
|
+
isReviewingErrors &&
|
|
28
|
+
view.id !== "export" &&
|
|
29
|
+
errors
|
|
30
|
+
.filter((error) => error.viewId === view.id)
|
|
31
|
+
.map((error, index) => (React.createElement("div", { key: index, className: "nav-error-icon" },
|
|
32
|
+
React.createElement(Tooltip, { type: "warn" }, error.message)))),
|
|
33
|
+
React.createElement(FinsembleIcon, { className: "nav-icon", icon: view.icon }),
|
|
34
|
+
React.createElement("div", { className: ["nav-icon", view.icon].join(" ") }),
|
|
35
|
+
view.name))))))))));
|
|
34
36
|
};
|
|
35
37
|
//# sourceMappingURL=Navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Navigation.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAExF,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAM5C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAE,EAAE;IACpD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAExB,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpF,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAE1G,IAAI,aAAa,KAAK,IAAI,EAAE;QAC3B,QAAQ,CAAC,2BAA2B,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Navigation.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Navigation.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 { useSelector, useDispatch } from \"../../store\";\n\nimport { ViewSectionInfo } from \"../../types/smartDesktopDesignerTypes\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport \"./css/nav.css\";\nimport { FinsembleIcon } from \"../common/FinsembleIcon\";\nimport { Tooltip } from \"../common/Tooltip\";\n\nexport type NavigationProps = {\n\tviews: ViewSectionInfo[];\n};\n\nexport const Navigation = (props: NavigationProps) => {\n\tconst dispatch = useDispatch();\n\n\tconst { views } = props;\n\n\tconst currentViewId = useSelector((state: RootState) => state.smartDesktopDesigner.currentViewId);\n\tconst errors = useSelector((state: RootState) => state.smartDesktopDesigner.errors);\n\tconst isReviewingErrors = useSelector((state: RootState) => state.smartDesktopDesigner.isReviewingErrors);\n\n\tif (currentViewId === null) {\n\t\tdispatch(SmartDesktopDesignerActions.change_view(views[0].views[0].id));\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{views.map((section, i) => (\n\t\t\t\t<div key={`nav-section-${i}`} className=\"nav-section\">\n\t\t\t\t\t{section.showLabel && <div className=\"nav-label\">{section.label}</div>}\n\t\t\t\t\t<ul className=\"nav\">\n\t\t\t\t\t\t{section.views.map((view) => (\n\t\t\t\t\t\t\t<li key={view.name} className={[\"nav-item\", view.id === currentViewId ? \"active\" : \"\"].join(\" \")}>\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\tid={`${view.id}-nav-link`}\n\t\t\t\t\t\t\t\t\thref=\"#\"\n\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tdispatch(SmartDesktopDesignerActions.change_view(view.id));\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\t{isReviewingErrors &&\n\t\t\t\t\t\t\t\t\t\tview.id !== \"export\" &&\n\t\t\t\t\t\t\t\t\t\terrors\n\t\t\t\t\t\t\t\t\t\t\t.filter((error) => error.viewId === view.id)\n\t\t\t\t\t\t\t\t\t\t\t.map((error, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<div key={index} className=\"nav-error-icon\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Tooltip type=\"warn\">{error.message}</Tooltip>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t<FinsembleIcon className=\"nav-icon\" icon={view.icon}></FinsembleIcon>\n\t\t\t\t\t\t\t\t\t<div className={[\"nav-icon\", view.icon].join(\" \")}></div>\n\t\t\t\t\t\t\t\t\t{view.name}\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t))}\n\t\t</>\n\t);\n};\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare type OptionalSettingsViewProps = {
|
|
3
|
+
getConfig: typeof FSBL.Clients.ConfigClient.getValue;
|
|
4
|
+
getApps: typeof FSBL.Clients.SmartDesktopClient.prototype.getApps;
|
|
5
|
+
updateApp: typeof FSBL.Clients.SmartDesktopClient.prototype.updateApp;
|
|
6
|
+
getPreloads: typeof FSBL.Clients.SmartDesktopClient.prototype.getPreloads;
|
|
7
|
+
deletePreload: typeof FSBL.Clients.SmartDesktopClient.prototype.deletePreload;
|
|
8
|
+
addPreload: typeof FSBL.Clients.SmartDesktopClient.prototype.addPreload;
|
|
9
|
+
updatePreload: typeof FSBL.Clients.SmartDesktopClient.prototype.updatePreload;
|
|
10
|
+
};
|
|
11
|
+
export declare const OptionalSettingsView: React.FunctionComponent<OptionalSettingsViewProps>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React, { useEffect } from "react";
|
|
2
|
+
import { Header } from "../common/Header";
|
|
3
|
+
import { View } from "./View";
|
|
4
|
+
import { Content } from "./Content";
|
|
5
|
+
import { Tab } from "../common/Tab";
|
|
6
|
+
import { launchTutorialLink } from "./common/fsbl_functions";
|
|
7
|
+
import { Preloads } from "./Preloads";
|
|
8
|
+
import { useDispatch, useSelector } from "../../store";
|
|
9
|
+
import { SmartDesktopDesignerActions } from "../../actions/smartDesktopDesignerActions";
|
|
10
|
+
import { EditPreload } from "./EditPreload";
|
|
11
|
+
const openLink = (url) => {
|
|
12
|
+
FSBL.Clients.LauncherClient.spawn("", {
|
|
13
|
+
url,
|
|
14
|
+
addToWorkspace: false,
|
|
15
|
+
}, () => { });
|
|
16
|
+
};
|
|
17
|
+
export const OptionalSettingsView = (props) => {
|
|
18
|
+
const dispatch = useDispatch();
|
|
19
|
+
const preloads = useSelector((state) => state.smartDesktopDesigner.preloads);
|
|
20
|
+
const currentPreload = useSelector((state) => state.smartDesktopDesigner.currentPreload);
|
|
21
|
+
const refreshPreloadList = () => {
|
|
22
|
+
props.getPreloads().then((response) => {
|
|
23
|
+
dispatch(SmartDesktopDesignerActions.update_preloads(response.preloads));
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
const setEditView = (preloadAlias) => {
|
|
27
|
+
let isSet = false;
|
|
28
|
+
preloads.forEach((preload) => {
|
|
29
|
+
if (preload.alias == preloadAlias) {
|
|
30
|
+
dispatch(SmartDesktopDesignerActions.set_current_preload(preload));
|
|
31
|
+
isSet = true;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
if (!isSet) {
|
|
35
|
+
dispatch(SmartDesktopDesignerActions.set_current_preload({ alias: "", url: "" }));
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
const deletePreload = async (preloadAlias) => {
|
|
39
|
+
await props.deletePreload(preloadAlias);
|
|
40
|
+
refreshPreloadList();
|
|
41
|
+
};
|
|
42
|
+
const cancelAdd = () => {
|
|
43
|
+
dispatch(SmartDesktopDesignerActions.set_current_preload(null));
|
|
44
|
+
refreshPreloadList();
|
|
45
|
+
};
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
refreshPreloadList();
|
|
48
|
+
}, []);
|
|
49
|
+
const preloadComponentProps = {
|
|
50
|
+
preloads,
|
|
51
|
+
deletePreload,
|
|
52
|
+
setEditView,
|
|
53
|
+
};
|
|
54
|
+
return (React.createElement(View, null,
|
|
55
|
+
React.createElement(Header, { helpFunction: () => {
|
|
56
|
+
launchTutorialLink("SDD-06-Preloads");
|
|
57
|
+
} }, "Optional"),
|
|
58
|
+
React.createElement(Content, null,
|
|
59
|
+
React.createElement(Tab, null,
|
|
60
|
+
React.createElement("div", { "data-label": "Preloads" },
|
|
61
|
+
React.createElement("div", { className: "frontmatter" },
|
|
62
|
+
"Inject logic into an existing JavaScript app to augment or modify its behavior.",
|
|
63
|
+
React.createElement("br", null),
|
|
64
|
+
React.createElement("a", { href: "", onClick: (e) => {
|
|
65
|
+
e.preventDefault();
|
|
66
|
+
openLink("https://documentation.finsemble.com/tutorial-Preloads.html");
|
|
67
|
+
} }, "Learn more about preloads"),
|
|
68
|
+
"."),
|
|
69
|
+
currentPreload !== null ? (React.createElement(EditPreload, Object.assign({}, props, { preload: currentPreload, cancelFunction: cancelAdd, updateApp: props.updateApp, deletePreload: deletePreload }))) : (React.createElement(Preloads, Object.assign({}, preloadComponentProps))))))));
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=OptionalSettingsView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionalSettingsView.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/OptionalSettingsView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect } from \"react\";\nimport { Header } from \"../common/Header\";\nimport { View } from \"./View\";\nimport { Content } from \"./Content\";\nimport { Tab } from \"../common/Tab\";\nimport { launchTutorialLink } from \"./common/fsbl_functions\";\nimport { PreloadListProps, Preloads } from \"./Preloads\";\nimport { useDispatch, useSelector } from \"../../store\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { EditPreload } from \"./EditPreload\";\n\nexport type OptionalSettingsViewProps = {\n\tgetConfig: typeof FSBL.Clients.ConfigClient.getValue;\n\tgetApps: typeof FSBL.Clients.SmartDesktopClient.prototype.getApps;\n\tupdateApp: typeof FSBL.Clients.SmartDesktopClient.prototype.updateApp;\n\tgetPreloads: typeof FSBL.Clients.SmartDesktopClient.prototype.getPreloads;\n\tdeletePreload: typeof FSBL.Clients.SmartDesktopClient.prototype.deletePreload;\n\taddPreload: typeof FSBL.Clients.SmartDesktopClient.prototype.addPreload;\n\tupdatePreload: typeof FSBL.Clients.SmartDesktopClient.prototype.updatePreload;\n};\n\nconst openLink = (url: string) => {\n\tFSBL.Clients.LauncherClient.spawn(\n\t\t\"\",\n\t\t{\n\t\t\turl,\n\t\t\taddToWorkspace: false,\n\t\t},\n\t\t() => {}\n\t);\n};\n\nexport const OptionalSettingsView: React.FunctionComponent<OptionalSettingsViewProps> = (props) => {\n\tconst dispatch = useDispatch();\n\tconst preloads = useSelector((state: RootState) => state.smartDesktopDesigner.preloads);\n\tconst currentPreload = useSelector((state: RootState) => state.smartDesktopDesigner.currentPreload);\n\n\tconst refreshPreloadList = () => {\n\t\tprops.getPreloads().then((response: any) => {\n\t\t\tdispatch(SmartDesktopDesignerActions.update_preloads(response.preloads));\n\t\t});\n\t};\n\n\tconst setEditView = (preloadAlias: string | null) => {\n\t\tlet isSet = false;\n\t\tpreloads.forEach((preload) => {\n\t\t\tif (preload.alias == preloadAlias) {\n\t\t\t\tdispatch(SmartDesktopDesignerActions.set_current_preload(preload));\n\t\t\t\tisSet = true;\n\t\t\t}\n\t\t});\n\n\t\tif (!isSet) {\n\t\t\tdispatch(SmartDesktopDesignerActions.set_current_preload({ alias: \"\", url: \"\" }));\n\t\t}\n\t};\n\n\tconst deletePreload = async (preloadAlias: string) => {\n\t\tawait props.deletePreload(preloadAlias);\n\t\trefreshPreloadList();\n\t};\n\n\tconst cancelAdd = () => {\n\t\tdispatch(SmartDesktopDesignerActions.set_current_preload(null));\n\t\trefreshPreloadList();\n\t};\n\n\tuseEffect(() => {\n\t\trefreshPreloadList();\n\t}, []);\n\n\tconst preloadComponentProps: PreloadListProps = {\n\t\tpreloads,\n\t\tdeletePreload,\n\t\tsetEditView,\n\t};\n\n\treturn (\n\t\t<View>\n\t\t\t<Header\n\t\t\t\thelpFunction={() => {\n\t\t\t\t\tlaunchTutorialLink(\"SDD-06-Preloads\");\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\tOptional\n\t\t\t</Header>\n\n\t\t\t<Content>\n\t\t\t\t<Tab>\n\t\t\t\t\t<div data-label=\"Preloads\">\n\t\t\t\t\t\t<div className=\"frontmatter\">\n\t\t\t\t\t\t\tInject logic into an existing JavaScript app to augment or modify its behavior.\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"\"\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\topenLink(\"https://documentation.finsemble.com/tutorial-Preloads.html\");\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tLearn more about preloads\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{currentPreload !== null ? (\n\t\t\t\t\t\t\t<EditPreload\n\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\tpreload={currentPreload}\n\t\t\t\t\t\t\t\tcancelFunction={cancelAdd}\n\t\t\t\t\t\t\t\tupdateApp={props.updateApp}\n\t\t\t\t\t\t\t\tdeletePreload={deletePreload}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Preloads {...preloadComponentProps} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/*\n\t\t\t\t\t<div data-label=\"Config\">\n\t\t\t\t\t\t<div className=\"frontmatter\">\n\t\t\t\t\t\t\tText text text\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tText text text\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div data-label=\"SelectConnect\">\n\t\t\t\t\t\t<div className=\"frontmatter\">\n\t\t\t\t\t\t\tText text text\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\tText text text\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t*/}\n\t\t\t\t</Tab>\n\t\t\t</Content>\n\t\t</View>\n\t);\n};\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { PreloadType } from "../../types/smartDesktopDesignerTypes";
|
|
3
|
+
export interface PreloadListProps {
|
|
4
|
+
preloads: PreloadType[];
|
|
5
|
+
deletePreload: (preloadAlias: string) => void;
|
|
6
|
+
setEditView: (preloadAlias: string | null) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const Preloads: React.FunctionComponent<PreloadListProps>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Button } from "../common/Button";
|
|
3
|
+
import { ItemList } from "./ItemList";
|
|
4
|
+
export const Preloads = ({ preloads, deletePreload, setEditView }) => {
|
|
5
|
+
const getItemId = (preload) => preload.alias;
|
|
6
|
+
const props = {
|
|
7
|
+
items: [...preloads],
|
|
8
|
+
deleteItem: deletePreload,
|
|
9
|
+
clickItem: setEditView,
|
|
10
|
+
getItemId,
|
|
11
|
+
getItemDisplayName: getItemId,
|
|
12
|
+
emptyListMessage: (React.createElement(React.Fragment, null,
|
|
13
|
+
"There\u2019s nothing here!",
|
|
14
|
+
React.createElement("br", null),
|
|
15
|
+
"Click the Add button to add preloads.")),
|
|
16
|
+
className: "no-dropzone",
|
|
17
|
+
};
|
|
18
|
+
return (React.createElement(React.Fragment, null,
|
|
19
|
+
React.createElement("div", null,
|
|
20
|
+
React.createElement(Button, { className: "icon-before-add", fashion: "primary", iconBefore: "plus", text: "Add", onClick: () => {
|
|
21
|
+
setEditView("");
|
|
22
|
+
} })),
|
|
23
|
+
React.createElement("div", null,
|
|
24
|
+
React.createElement(ItemList, Object.assign({}, props)))));
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=Preloads.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Preloads.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Preloads.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAWrD,MAAM,CAAC,MAAM,QAAQ,GAA8C,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;IAC/G,MAAM,SAAS,GAAG,CAAC,OAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE1D,MAAM,KAAK,GAAkB;QAC5B,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC;QACpB,UAAU,EAAE,aAAa;QACzB,SAAS,EAAE,WAAW;QACtB,SAAS;QACT,kBAAkB,EAAE,SAAS;QAC7B,gBAAgB,EAAE,CACjB;;YAEC,+BAAM;oDAEJ,CACH;QACD,SAAS,EAAE,aAAa;KACxB,CAAC;IAEF,OAAO,CACN;QACC;YACC,oBAAC,MAAM,IACN,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAC,SAAS,EACjB,UAAU,EAAC,MAAM,EACjB,IAAI,EAAC,KAAK,EACV,OAAO,EAAE,GAAG,EAAE;oBACb,WAAW,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC,GACA,CACG;QACN;YACC,oBAAC,QAAQ,oBAAK,KAAK,EAAI,CAClB,CACJ,CACH,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport { Button } from \"../common/Button\";\nimport { ItemList, ItemListProps } from \"./ItemList\";\nimport { PreloadType } from \"../../types/smartDesktopDesignerTypes\";\n\nexport interface PreloadListProps {\n\tpreloads: PreloadType[];\n\tdeletePreload: (preloadAlias: string) => void;\n\tsetEditView: (preloadAlias: string | null) => void;\n}\n\ntype preloadType = { alias: string; url: string };\n\nexport const Preloads: React.FunctionComponent<PreloadListProps> = ({ preloads, deletePreload, setEditView }) => {\n\tconst getItemId = (preload: preloadType) => preload.alias;\n\n\tconst props: ItemListProps = {\n\t\titems: [...preloads],\n\t\tdeleteItem: deletePreload,\n\t\tclickItem: setEditView,\n\t\tgetItemId,\n\t\tgetItemDisplayName: getItemId,\n\t\temptyListMessage: (\n\t\t\t<>\n\t\t\t\tThere’s nothing here!\n\t\t\t\t<br />\n\t\t\t\tClick the Add button to add preloads.\n\t\t\t</>\n\t\t),\n\t\tclassName: \"no-dropzone\",\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<div>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"icon-before-add\"\n\t\t\t\t\tfashion=\"primary\"\n\t\t\t\t\ticonBefore=\"plus\"\n\t\t\t\t\ttext=\"Add\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tsetEditView(\"\");\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<ItemList {...props} />\n\t\t\t</div>\n\t\t</>\n\t);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Publish.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Publish.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAOxD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC9C,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAyB,CAAC,CAAC;IAE5E,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAE3F,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC;IAEnD,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,QAAQ,CAAC,2BAA2B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,QAAQ,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,KAAK;aACH,oBAAoB,EAAE;aACtB,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;aACrG,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE;QAClB,QAAQ,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,QAAQ,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC;IAEjF,MAAM,SAAS,GACd,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QACvB,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,EAAE;gBACvC,QAAQ,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aACpE;YACD,OAAO,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,QAAQ,CAAC;QAC9C,CAAC,CAAC,CAAC;QACJ,QAAQ,CAAC;IAEV,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,eAAe,GAAQ,IAAI,CAAC;QAChC,IAAI,CAAC,SAAS,EAAE;YACf,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;gBAClC,KAAK,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACjC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAG3C,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,QAAQ,EAAE;wBAEzD,aAAa,CAAC,eAAe,CAAC,CAAC;wBAC/B,KAAK,EAAE,CAAC;qBACR;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAChC;QAED,OAAO,GAAG,EAAE;YACX,IAAI,eAAe,EAAE;gBACpB,aAAa,CAAC,eAAe,CAAC,CAAC;aAC/B;QACF,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACN,6BAAK,SAAS,EAAC,0BAA0B,IACvC,YAAY,CAAC,CAAC,CAAC,CACf,6BAAK,SAAS,EAAC,sBAAsB;QACpC,iEAAuC;QAEvC,4EAAiD;QACjD,2BAAG,SAAS,EAAC,8BAA8B;;YAAQ,YAAY;iBAAW;QAE1E,6BAAK,SAAS,EAAC,sBAAsB;YACpC,oBAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,KAAK,GAAI;YACxD,oBAAC,MAAM,IAAC,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,WAAW,EAAC,OAAO,EAAE,QAAQ,GAAI,CAC1F,CACD,CACN,CAAC,CAAC,CAAC,CACH;QACC,gDAAsB;QAEtB,6BAAK,SAAS,EAAE,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAC/F;YACA;gBACC,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,qCAAqC;gBAClD,KAAK,EAAE,6CAA6C;aACpD;YACD;gBACC,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,iBAAiB;gBAC9B,KAAK,EAAE,2BAA2B;aAClC;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mBAAmB;gBAChC,KAAK,EAAE,8BAA8B;aACrC;YACD;gBACC,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,6BAA6B;gBAC1C,KAAK,EAAE,mBAAmB;aAC1B;SACD,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;YAEhE,OAAO,CACN,IAAI,IAAI,CACP,6BACC,GAAG,EAAE,IAAI,CAAC,IAAI,EACd,SAAS,EAAE;oBACV,4BAA4B;oBAC5B,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;iBACvD,CAAC,IAAI,CAAC,GAAG,CAAC;gBAEX,6BAAK,SAAS,EAAC,uBAAuB,IACpC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CACvC,oBAAC,eAAe,oBAAK,IAAI,EAAoB,CAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAC7C,6BAAK,SAAS,EAAC,0BAA0B,GAAO,CAChD,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CACxC,6BAAK,SAAS,EAAC,wBAAwB;oBACtC,oBAAC,aAAa,IAAC,SAAS,EAAC,6BAA6B,EAAC,IAAI,EAAC,OAAO,GAAiB,CAC/E,CACN,CAAC,CAAC,CAAC,CACH,6BAAK,SAAS,EAAC,0BAA0B;oBACxC,oBAAC,aAAa,IAAC,SAAS,EAAC,+BAA+B,EAAC,IAAI,EAAC,OAAO,GAAiB,CACjF,CACN,CACI;gBACN,6BAAK,SAAS,EAAC,uBAAuB,IAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAO,CACpF,CACN,CACD,CAAC;QACH,CAAC,CAAC,CACG;QACL,UAAU,IAAI,CACd,6BAAK,SAAS,EAAC,yBAAyB;YACvC,mDAAyB;YACzB,gRAII;YACJ,oBAAC,gBAAgB,OAAG,CACf,CACN,CACC,CACH,CACI,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\n * Copyright 2017 - 2020 by ChartIQ, Inc.\n * All rights reserved.\n */\n\nimport React, { useState, useEffect } from \"react\";\nimport { PublishProgress } from \"./PublishProgress\";\nimport { ExportDeployInfo } from \"./ExportDeployInfo\";\nimport { Button } from \"../common/Button\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { useDispatch, useSelector } from \"../../store\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { ProgressState } from \"../../types/smartDesktopDesignerTypes\";\nimport { ExportProps } from \"./Export\";\nimport { FinsembleIcon } from \"../common/FinsembleIcon\";\nimport { FEA } from \"@finsemble/finsemble-core\";\n\ntype ProgressItem = FEA.ProgressItem;\n\nexport type PublishProps = ExportProps;\n\nexport const Publish = (props: PublishProps) => {\n\tconst dispatch = useDispatch();\n\n\tconst [currentStep, setCurrentStep] = useState(\"\");\n\tconst [stepProgress, setStepProgress] = useState([] as Array<ProgressItem>);\n\n\tconst exportContext = useSelector((state: RootState) => state.smartDesktopDesigner.export);\n\n\tconst { deployInfo, publishError } = exportContext;\n\n\tconst tryAgain = () => {\n\t\tsetCurrentStep(\"\");\n\t\tsetStepProgress([]);\n\t\tdispatch(SmartDesktopDesignerActions.set_deploy_info(null));\n\t\tdispatch(SmartDesktopDesignerActions.set_publish_error(null));\n\n\t\tprops\n\t\t\t.publishToCosaicCloud()\n\t\t\t.then((currentDeployInfo) => dispatch(SmartDesktopDesignerActions.set_deploy_info(currentDeployInfo)))\n\t\t\t.catch((error) => dispatch(SmartDesktopDesignerActions.set_publish_error(error)));\n\t};\n\n\tconst reset = () => {\n\t\tdispatch(SmartDesktopDesignerActions.set_is_publishing(false));\n\t\tdispatch(SmartDesktopDesignerActions.set_publish_error(null));\n\t};\n\n\tconst hasError = stepProgress.some((step) => step.state === ProgressState.Error);\n\n\tconst didFinish =\n\t\t(stepProgress.length > 0 &&\n\t\t\tstepProgress.every((step) => {\n\t\t\t\tif (step.state === ProgressState.Error) {\n\t\t\t\t\tdispatch(SmartDesktopDesignerActions.set_publish_error(step.error));\n\t\t\t\t}\n\t\t\t\treturn step.state === ProgressState.Finished;\n\t\t\t})) ||\n\t\thasError;\n\n\tuseEffect(() => {\n\t\tlet debounceTimeout: any = null;\n\t\tif (!didFinish) {\n\t\t\tdebounceTimeout = setInterval(() => {\n\t\t\t\tprops.getPublishProgress().then((data) => {\n\t\t\t\t\tsetCurrentStep(data.currentStep);\n\t\t\t\t\tsetStepProgress(Object.values(data.steps));\n\n\t\t\t\t\t// Finished! When the installer step reaches state \"Finished\"\n\t\t\t\t\tif (data.steps[\"cloud\"].state === ProgressState.Finished) {\n\t\t\t\t\t\t// dispatch(SmartDesktopDesignerActions.SET_IS_PUBLISHING(false));\n\t\t\t\t\t\tclearInterval(debounceTimeout);\n\t\t\t\t\t\treset();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, props.progressCheckInterval);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (debounceTimeout) {\n\t\t\t\tclearInterval(debounceTimeout);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<div className=\"export-publish-container\">\n\t\t\t{publishError ? (\n\t\t\t\t<div className=\"export-publish-error\">\n\t\t\t\t\t<h3>Your project was not published</h3>\n\n\t\t\t\t\t<p>An error occurred while trying to publish.</p>\n\t\t\t\t\t<p className=\"export-publish-error-message\">"{publishError}"</p>\n\n\t\t\t\t\t<div className=\"export-error-actions\">\n\t\t\t\t\t\t<Button fashion=\"ghost\" text=\"Cancel\" onClick={reset} />\n\t\t\t\t\t\t<Button className=\"export-error-btn\" fashion=\"secondary\" text=\"Try again\" onClick={tryAgain} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<h2>Publishing...</h2>\n\n\t\t\t\t\t<div className={[\"export-publish-progress\", hasError ? \"export-publish-has-error\" : \"\"].join(\" \")}>\n\t\t\t\t\t\t{[\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: \"initialize\",\n\t\t\t\t\t\t\t\tdescription: \"Creating a location for the project\",\n\t\t\t\t\t\t\t\terror: \"Failed to create a location for the project\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: \"zip\",\n\t\t\t\t\t\t\t\tdescription: \"Zipping project\",\n\t\t\t\t\t\t\t\terror: \"Failed to zip the project\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: \"upload\",\n\t\t\t\t\t\t\t\tdescription: \"Uploading project\",\n\t\t\t\t\t\t\t\terror: \"Failed to upload the project\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: \"cloud\",\n\t\t\t\t\t\t\t\tdescription: \"Creating installer and site\",\n\t\t\t\t\t\t\t\terror: \"Failed to publish\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t].map((step) => {\n\t\t\t\t\t\t\tlet data = stepProgress.find((item) => item.step === step.name);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tdata && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={step.name}\n\t\t\t\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\t\t\t\t\"publish-progress-container\",\n\t\t\t\t\t\t\t\t\t\t\tcurrentStep === step.name ? \"publish-current-step\" : \"\",\n\t\t\t\t\t\t\t\t\t\t].join(\" \")}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"publish-progress-icon\">\n\t\t\t\t\t\t\t\t\t\t\t{data.state === ProgressState.Started ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<PublishProgress {...data}></PublishProgress>\n\t\t\t\t\t\t\t\t\t\t\t) : data.state === ProgressState.NotStarted ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"publish-progress-pending\"></div>\n\t\t\t\t\t\t\t\t\t\t\t) : data.state === ProgressState.Error ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"publish-progress-error\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FinsembleIcon className=\"publish-progress-error-icon\" icon=\"times\"></FinsembleIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"publish-progress-success\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FinsembleIcon className=\"publish-progress-success-icon\" icon=\"check\"></FinsembleIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"publish-progress-text\">{data.error ? step.error : step.description}</div>\n\t\t\t\t\t\t\t\t\t</div>\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</div>\n\t\t\t\t\t{deployInfo && (\n\t\t\t\t\t\t<div className=\"export-publish-uploaded\">\n\t\t\t\t\t\t\t<h3>Project uploaded</h3>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tYour project has been uploaded to the cloud. It will take several minutes to generate an installer.\n\t\t\t\t\t\t\t\tShare the installer link with your team. The desktop you've created will be available shortly by\n\t\t\t\t\t\t\t\tdownloading and installing from the link.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<ExportDeployInfo />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Publish.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/Publish.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 { PublishProgress } from \"./PublishProgress\";\nimport { ExportDeployInfo } from \"./ExportDeployInfo\";\nimport { Button } from \"../common/Button\";\nimport { RootState } from \"../../reducers/rootReducer\";\nimport { useDispatch, useSelector } from \"../../store\";\nimport { SmartDesktopDesignerActions } from \"../../actions/smartDesktopDesignerActions\";\nimport { ProgressState } from \"../../types/smartDesktopDesignerTypes\";\nimport { ExportProps } from \"./Export\";\nimport { FinsembleIcon } from \"../common/FinsembleIcon\";\nimport { FEA } from \"@finsemble/finsemble-api\";\n\ntype ProgressItem = FEA.ProgressItem;\n\nexport type PublishProps = ExportProps;\n\nexport const Publish = (props: PublishProps) => {\n\tconst dispatch = useDispatch();\n\n\tconst [currentStep, setCurrentStep] = useState(\"\");\n\tconst [stepProgress, setStepProgress] = useState([] as Array<ProgressItem>);\n\n\tconst exportContext = useSelector((state: RootState) => state.smartDesktopDesigner.export);\n\n\tconst { deployInfo, publishError } = exportContext;\n\n\tconst tryAgain = () => {\n\t\tsetCurrentStep(\"\");\n\t\tsetStepProgress([]);\n\t\tdispatch(SmartDesktopDesignerActions.set_deploy_info(null));\n\t\tdispatch(SmartDesktopDesignerActions.set_publish_error(null));\n\n\t\tprops\n\t\t\t.publishToCosaicCloud()\n\t\t\t.then((currentDeployInfo) => dispatch(SmartDesktopDesignerActions.set_deploy_info(currentDeployInfo)))\n\t\t\t.catch((error) => dispatch(SmartDesktopDesignerActions.set_publish_error(error)));\n\t};\n\n\tconst reset = () => {\n\t\tdispatch(SmartDesktopDesignerActions.set_is_publishing(false));\n\t\tdispatch(SmartDesktopDesignerActions.set_publish_error(null));\n\t};\n\n\tconst hasError = stepProgress.some((step) => step.state === ProgressState.Error);\n\n\tconst didFinish =\n\t\t(stepProgress.length > 0 &&\n\t\t\tstepProgress.every((step) => {\n\t\t\t\tif (step.state === ProgressState.Error) {\n\t\t\t\t\tdispatch(SmartDesktopDesignerActions.set_publish_error(step.error));\n\t\t\t\t}\n\t\t\t\treturn step.state === ProgressState.Finished;\n\t\t\t})) ||\n\t\thasError;\n\n\tuseEffect(() => {\n\t\tlet debounceTimeout: any = null;\n\t\tif (!didFinish) {\n\t\t\tdebounceTimeout = setInterval(() => {\n\t\t\t\tprops.getPublishProgress().then((data) => {\n\t\t\t\t\tsetCurrentStep(data.currentStep);\n\t\t\t\t\tsetStepProgress(Object.values(data.steps));\n\n\t\t\t\t\t// Finished! When the installer step reaches state \"Finished\"\n\t\t\t\t\tif (data.steps[\"cloud\"].state === ProgressState.Finished) {\n\t\t\t\t\t\t// dispatch(SmartDesktopDesignerActions.SET_IS_PUBLISHING(false));\n\t\t\t\t\t\tclearInterval(debounceTimeout);\n\t\t\t\t\t\treset();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, props.progressCheckInterval);\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (debounceTimeout) {\n\t\t\t\tclearInterval(debounceTimeout);\n\t\t\t}\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t<div className=\"export-publish-container\">\n\t\t\t{publishError ? (\n\t\t\t\t<div className=\"export-publish-error\">\n\t\t\t\t\t<h3>Your project was not published</h3>\n\n\t\t\t\t\t<p>An error occurred while trying to publish.</p>\n\t\t\t\t\t<p className=\"export-publish-error-message\">"{publishError}"</p>\n\n\t\t\t\t\t<div className=\"export-error-actions\">\n\t\t\t\t\t\t<Button fashion=\"ghost\" text=\"Cancel\" onClick={reset} />\n\t\t\t\t\t\t<Button className=\"export-error-btn\" fashion=\"secondary\" text=\"Try again\" onClick={tryAgain} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<h2>Publishing...</h2>\n\n\t\t\t\t\t<div className={[\"export-publish-progress\", hasError ? \"export-publish-has-error\" : \"\"].join(\" \")}>\n\t\t\t\t\t\t{[\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: \"initialize\",\n\t\t\t\t\t\t\t\tdescription: \"Creating a location for the project\",\n\t\t\t\t\t\t\t\terror: \"Failed to create a location for the project\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: \"zip\",\n\t\t\t\t\t\t\t\tdescription: \"Zipping project\",\n\t\t\t\t\t\t\t\terror: \"Failed to zip the project\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: \"upload\",\n\t\t\t\t\t\t\t\tdescription: \"Uploading project\",\n\t\t\t\t\t\t\t\terror: \"Failed to upload the project\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: \"cloud\",\n\t\t\t\t\t\t\t\tdescription: \"Creating installer and site\",\n\t\t\t\t\t\t\t\terror: \"Failed to publish\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t].map((step) => {\n\t\t\t\t\t\t\tlet data = stepProgress.find((item) => item.step === step.name);\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tdata && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tkey={step.name}\n\t\t\t\t\t\t\t\t\t\tclassName={[\n\t\t\t\t\t\t\t\t\t\t\t\"publish-progress-container\",\n\t\t\t\t\t\t\t\t\t\t\tcurrentStep === step.name ? \"publish-current-step\" : \"\",\n\t\t\t\t\t\t\t\t\t\t].join(\" \")}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div className=\"publish-progress-icon\">\n\t\t\t\t\t\t\t\t\t\t\t{/* eslint-disable no-nested-ternary */}\n\t\t\t\t\t\t\t\t\t\t\t{data.state === ProgressState.Started ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<PublishProgress {...data}></PublishProgress>\n\t\t\t\t\t\t\t\t\t\t\t) : data.state === ProgressState.NotStarted ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"publish-progress-pending\"></div>\n\t\t\t\t\t\t\t\t\t\t\t) : data.state === ProgressState.Error ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"publish-progress-error\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FinsembleIcon className=\"publish-progress-error-icon\" icon=\"times\"></FinsembleIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"publish-progress-success\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FinsembleIcon className=\"publish-progress-success-icon\" icon=\"check\"></FinsembleIcon>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div className=\"publish-progress-text\">{data.error ? step.error : step.description}</div>\n\t\t\t\t\t\t\t\t\t</div>\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</div>\n\t\t\t\t\t{deployInfo && (\n\t\t\t\t\t\t<div className=\"export-publish-uploaded\">\n\t\t\t\t\t\t\t<h3>Project uploaded</h3>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\tYour project has been uploaded to the cloud. It will take several minutes to generate an installer.\n\t\t\t\t\t\t\t\tShare the installer link with your team. The desktop you've created will be available shortly by\n\t\t\t\t\t\t\t\tdownloading and installing from the link.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<ExportDeployInfo />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"]}
|
|
@@ -19,10 +19,10 @@ export declare type SmartDesktopDesignerProps = {
|
|
|
19
19
|
resetProject: typeof FSBL.Clients.SmartDesktopClient.prototype.resetProject;
|
|
20
20
|
getSDServerInfo: typeof FSBL.Clients.SmartDesktopClient.prototype.getSDServerInfo;
|
|
21
21
|
getProjectSettings: typeof FSBL.Clients.SmartDesktopClient.prototype.getProjectSettings;
|
|
22
|
-
updateProjectSettings
|
|
22
|
+
updateProjectSettings?: typeof FSBL.Clients.SmartDesktopClient.prototype.updateProjectSettings;
|
|
23
23
|
onThemeUpdated: typeof FSBL.Clients.SmartDesktopClient.onThemeUpdated;
|
|
24
|
-
selectProjectPath
|
|
25
|
-
restartFinsemble
|
|
24
|
+
selectProjectPath?: typeof FSBL.Clients.SmartDesktopClient.prototype.selectProjectPath;
|
|
25
|
+
restartFinsemble?: () => void;
|
|
26
26
|
};
|
|
27
27
|
export declare const SmartDesktopDesigner: (props: SmartDesktopDesignerProps) => JSX.Element;
|
|
28
28
|
export {};
|
|
@@ -9,10 +9,10 @@ import "./css/styles.css";
|
|
|
9
9
|
import { Navigation } from "./Navigation";
|
|
10
10
|
import { CurrentView } from "./CurrentView";
|
|
11
11
|
import { getCSSVars } from "./common/getCSSVars";
|
|
12
|
-
import { ProjectHeader } from "./ProjectHeader";
|
|
13
|
-
import { Button } from "../common/Button";
|
|
14
12
|
import { useSelector, useDispatch } from "../../store";
|
|
15
13
|
import { SmartDesktopDesignerActions } from "../../actions/smartDesktopDesignerActions";
|
|
14
|
+
import { ContentHeader } from "./ContentHeader";
|
|
15
|
+
import { Button } from "../common/Button";
|
|
16
16
|
new FloatingFocus();
|
|
17
17
|
const getDefaultTheme = () => {
|
|
18
18
|
let globalCssVars = {};
|
|
@@ -38,6 +38,7 @@ export const SmartDesktopDesigner = (props) => {
|
|
|
38
38
|
const { views } = props;
|
|
39
39
|
const [theme, setTheme] = useState(themeConfig);
|
|
40
40
|
const [sdServerInfo, setSDServerInfo] = useState({ enabled: false, applicationRoot: "" });
|
|
41
|
+
const [version, setVersion] = useState("");
|
|
41
42
|
const project = useSelector((state) => state.smartDesktopDesigner.projectInfo);
|
|
42
43
|
const setProject = (value) => {
|
|
43
44
|
dispatch(SmartDesktopDesignerActions.set_project_info(value));
|
|
@@ -52,10 +53,12 @@ export const SmartDesktopDesigner = (props) => {
|
|
|
52
53
|
});
|
|
53
54
|
useEffect(() => {
|
|
54
55
|
props.getConfig(null, (err, newConfig) => {
|
|
56
|
+
var _a, _b, _c;
|
|
55
57
|
if (err) {
|
|
56
58
|
FSBL.Clients.Logger.system.error("SmartDesktopDesigner", err);
|
|
57
59
|
return;
|
|
58
60
|
}
|
|
61
|
+
setVersion((_c = (_b = (_a = newConfig === null || newConfig === void 0 ? void 0 : newConfig.finsemble) === null || _a === void 0 ? void 0 : _a.system) === null || _b === void 0 ? void 0 : _b.FSBLVersion) !== null && _c !== void 0 ? _c : "");
|
|
59
62
|
props.getProjectSettings().then((response) => {
|
|
60
63
|
var _a;
|
|
61
64
|
let projectPath = project.path;
|
|
@@ -101,27 +104,18 @@ export const SmartDesktopDesigner = (props) => {
|
|
|
101
104
|
});
|
|
102
105
|
};
|
|
103
106
|
return sdServerInfo.enabled ? (React.createElement("div", { className: "config-container" },
|
|
104
|
-
React.createElement(ProjectHeader, { projectName: (project === null || project === void 0 ? void 0 : project.name) === "default" ? "" : project === null || project === void 0 ? void 0 : project.name, onSaveProjectName: (name) => {
|
|
105
|
-
props.updateProjectSettings(Object.assign(Object.assign({}, project), { name: name })).then(({ err }) => {
|
|
106
|
-
if (err) {
|
|
107
|
-
FSBL.Clients.Logger.system.error(`ERROR updateProjectSettings: ${JSON.stringify(err)}`);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
setProject(Object.assign(Object.assign({}, project), { name }));
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
}, projectPath: project.path || "", selectProjectPath: props.selectProjectPath, onSaveProjectPath: (path) => {
|
|
114
|
-
props.updateProjectSettings(Object.assign(Object.assign({}, project), { path: path })).then(() => props.restartFinsemble());
|
|
115
|
-
} }),
|
|
116
107
|
React.createElement("div", { className: "project-container" },
|
|
117
108
|
React.createElement("div", { className: "nav-container" },
|
|
118
109
|
React.createElement(Navigation, { views: views }),
|
|
119
110
|
React.createElement("div", { className: "bottom-nav-wrapper" },
|
|
120
111
|
React.createElement("div", { className: "nav-anchor-reset" },
|
|
121
|
-
React.createElement(
|
|
112
|
+
React.createElement("div", { className: "version-info" }, version && `Finsemble version ${version}`),
|
|
113
|
+
React.createElement(Button, { fashion: "danger", text: "Reset project", onClick: () => {
|
|
122
114
|
clickResetProjectButton();
|
|
123
115
|
} })))),
|
|
124
|
-
React.createElement("div", { className: "
|
|
125
|
-
React.createElement(
|
|
116
|
+
React.createElement("div", { className: "content-container" },
|
|
117
|
+
React.createElement(ContentHeader, { name: project.name }),
|
|
118
|
+
React.createElement("div", { className: "view-container" },
|
|
119
|
+
React.createElement(CurrentView, { views: views, theme: theme })))))) : (React.createElement(React.Fragment, null));
|
|
126
120
|
};
|
|
127
121
|
//# sourceMappingURL=SmartDesktopDesigner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartDesktopDesigner.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/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 { ProjectHeader } from \"./ProjectHeader\";\nimport { Button } from \"../common/Button\";\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-core\";\n\ntype SDServerInfo = FEA.SDServerInfo;\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\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\t// In order to prevent the theme from affecting content of smartDesktopDesigner.tsx,\n\t// remove the sheet after reading variables\n\tconst themesheet = document.body.querySelector(\"#themesheet\");\n\tif (themesheet) {\n\t\tdocument.body.removeChild(themesheet);\n\t}\n\n\treturn globalCssVars;\n};\n\nlet themeConfig = {\n\tcurrentTheme: \"Default\",\n\tdefaultTheme: \"Default\",\n\tthemes: {\n\t\tDefault: getDefaultTheme(),\n\t},\n};\n\nexport type ThemeConfig = typeof themeConfig;\n\nexport type SmartDesktopDesignerProps = {\n\tviews: any[];\n\tgetConfig: typeof FSBL.Clients.ConfigClient.getValues;\n\tresetProject: typeof FSBL.Clients.SmartDesktopClient.prototype.resetProject;\n\tgetSDServerInfo: typeof FSBL.Clients.SmartDesktopClient.prototype.getSDServerInfo;\n\tgetProjectSettings: typeof FSBL.Clients.SmartDesktopClient.prototype.getProjectSettings;\n\tupdateProjectSettings: typeof FSBL.Clients.SmartDesktopClient.prototype.updateProjectSettings;\n\tonThemeUpdated: typeof FSBL.Clients.SmartDesktopClient.onThemeUpdated;\n\tselectProjectPath: typeof FSBL.Clients.SmartDesktopClient.prototype.selectProjectPath;\n\trestartFinsemble: () => void;\n};\n\nexport const SmartDesktopDesigner = (props: SmartDesktopDesignerProps) => {\n\tconst dispatch = useDispatch();\n\n\tconst { views } = props;\n\tconst [theme, setTheme] = useState(themeConfig);\n\tconst [sdServerInfo, setSDServerInfo] = useState({ enabled: false, applicationRoot: \"\" } as SDServerInfo);\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: any }) => {\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\t// Similar to componentDidMount and componentDidUpdate:\n\tuseEffect(() => {\n\t\tprops.getConfig(null, (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\tprops.getProjectSettings().then((response) => {\n\t\t\t\tlet projectPath = project.path;\n\n\t\t\t\tif (response.settings?.path) {\n\t\t\t\t\tprojectPath = response.settings.path;\n\t\t\t\t}\n\n\t\t\t\tprops.getSDServerInfo().then((jsInfo) => {\n\t\t\t\t\tif (!jsInfo.enabled) {\n\t\t\t\t\t\tFSBL.Clients.Logger.system.error(\n\t\t\t\t\t\t\t\"Smart Desktop Designer started without the Smart Desktop Server being enabled. Check FEA configuration.\"\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tFSBL.Clients.Logger.system.log(`DPS application root: ${jsInfo.applicationRoot}`);\n\t\t\t\t\t}\n\t\t\t\t\tFSBL.Clients.Logger.system.log(`DPS info: ${JSON.stringify(jsInfo)}`);\n\t\t\t\t\tFSBL.Clients.Logger.system.log(`NewConfig info: ${JSON.stringify(newConfig)}`);\n\n\t\t\t\t\tsetProject({\n\t\t\t\t\t\t...project,\n\t\t\t\t\t\tname: jsInfo?.projectConfig?.name || \"\",\n\t\t\t\t\t\tpath: projectPath,\n\t\t\t\t\t\texport: {\n\t\t\t\t\t\t\t...project.export,\n\t\t\t\t\t\t\ttoolbarIcon: \"/assets/img/Finsemble_Toolbar_Icon.png\",\n\t\t\t\t\t\t\tinstallerIcon: \"/assets/img/installer_icon.ico\",\n\t\t\t\t\t\t\ttaskbarIcon: newConfig?.startup_app?.applicationIcon,\n\t\t\t\t\t\t\tsystemTrayIcon: newConfig?.finsemble?.systemTrayIcon,\n\t\t\t\t\t\t\tsplashScreenImage: newConfig?.splashScreenImage,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\n\t\t\t\t\t// This should be done last as its checked for initial rendering\n\t\t\t\t\t// Otherwise, inital values will be cached within states of sub components\n\t\t\t\t\t// \"Untitled Project\" will show as project.name since it will be \"\", e.g.\n\t\t\t\t\tsetSDServerInfo(jsInfo);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tconst removeHandler = props.onThemeUpdated(themeListenerRef.current);\n\t\treturn () => {\n\t\t\tremoveHandler();\n\t\t};\n\t}, []);\n\n\tconst clickResetProjectButton = () => {\n\t\tconst resetProject = async () => {\n\t\t\tconst [err] = await props.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\tresetProject();\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<ProjectHeader\n\t\t\t\tprojectName={project?.name === \"default\" ? \"\" : project?.name}\n\t\t\t\tonSaveProjectName={(name: string) => {\n\t\t\t\t\tprops.updateProjectSettings({ ...project, name: name }).then(({ err }) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tFSBL.Clients.Logger.system.error(`ERROR updateProjectSettings: ${JSON.stringify(err)}`);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetProject({\n\t\t\t\t\t\t\t\t...project,\n\t\t\t\t\t\t\t\tname,\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}}\n\t\t\t\tprojectPath={project.path || \"\"}\n\t\t\t\tselectProjectPath={props.selectProjectPath}\n\t\t\t\tonSaveProjectPath={(path: string) => {\n\t\t\t\t\tprops.updateProjectSettings({ ...project, path: path }).then(() => props.restartFinsemble());\n\t\t\t\t}}\n\t\t\t></ProjectHeader>\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<Button\n\t\t\t\t\t\t\t\tfashion=\"danger ghost\"\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=\"view-container\">\n\t\t\t\t\t<CurrentView views={views} theme={theme}></CurrentView>\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/smartDesktopDesigner/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\";\n\ntype SDServerInfo = FEA.SDServerInfo;\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\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\t// In order to prevent the theme from affecting content of smartDesktopDesigner.tsx,\n\t// remove the sheet after reading variables\n\tconst themesheet = document.body.querySelector(\"#themesheet\");\n\tif (themesheet) {\n\t\tdocument.body.removeChild(themesheet);\n\t}\n\n\treturn globalCssVars;\n};\n\nlet themeConfig = {\n\tcurrentTheme: \"Default\",\n\tdefaultTheme: \"Default\",\n\tthemes: {\n\t\tDefault: getDefaultTheme(),\n\t},\n};\n\nexport type ThemeConfig = typeof themeConfig;\n\nexport type SmartDesktopDesignerProps = {\n\tviews: any[];\n\tgetConfig: typeof FSBL.Clients.ConfigClient.getValues;\n\tresetProject: typeof FSBL.Clients.SmartDesktopClient.prototype.resetProject;\n\tgetSDServerInfo: typeof FSBL.Clients.SmartDesktopClient.prototype.getSDServerInfo;\n\tgetProjectSettings: typeof FSBL.Clients.SmartDesktopClient.prototype.getProjectSettings;\n\tupdateProjectSettings?: typeof FSBL.Clients.SmartDesktopClient.prototype.updateProjectSettings;\n\tonThemeUpdated: typeof FSBL.Clients.SmartDesktopClient.onThemeUpdated;\n\tselectProjectPath?: typeof FSBL.Clients.SmartDesktopClient.prototype.selectProjectPath;\n\trestartFinsemble?: () => void;\n};\n\nexport const SmartDesktopDesigner = (props: SmartDesktopDesignerProps) => {\n\tconst dispatch = useDispatch();\n\n\tconst { views } = props;\n\tconst [theme, setTheme] = useState(themeConfig);\n\tconst [sdServerInfo, setSDServerInfo] = useState({ enabled: false, applicationRoot: \"\" } as 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: any }) => {\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\t// Similar to componentDidMount and componentDidUpdate:\n\tuseEffect(() => {\n\t\tprops.getConfig(null, (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\t// @todo: We should use a Client API for this, rather than relying on the config to look this way.\n\t\t\t// That change will be easier to do once the SDD is removed from the Seed.\n\t\t\tsetVersion(newConfig?.finsemble?.system?.FSBLVersion ?? \"\");\n\n\t\t\tprops.getProjectSettings().then((response) => {\n\t\t\t\tlet projectPath = project.path;\n\n\t\t\t\tif (response.settings?.path) {\n\t\t\t\t\tprojectPath = response.settings.path;\n\t\t\t\t}\n\n\t\t\t\tprops.getSDServerInfo().then((jsInfo) => {\n\t\t\t\t\tif (!jsInfo.enabled) {\n\t\t\t\t\t\tFSBL.Clients.Logger.system.error(\n\t\t\t\t\t\t\t\"Smart Desktop Designer started without the Smart Desktop Server being enabled. Check FEA configuration.\"\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tFSBL.Clients.Logger.system.log(`DPS application root: ${jsInfo.applicationRoot}`);\n\t\t\t\t\t}\n\t\t\t\t\tFSBL.Clients.Logger.system.log(`DPS info: ${JSON.stringify(jsInfo)}`);\n\t\t\t\t\tFSBL.Clients.Logger.system.log(`NewConfig info: ${JSON.stringify(newConfig)}`);\n\n\t\t\t\t\tsetProject({\n\t\t\t\t\t\t...project,\n\t\t\t\t\t\tname: jsInfo?.projectConfig?.name || \"\",\n\t\t\t\t\t\tpath: projectPath,\n\t\t\t\t\t\texport: {\n\t\t\t\t\t\t\t...project.export,\n\t\t\t\t\t\t\ttoolbarIcon: \"/assets/img/Finsemble_Toolbar_Icon.png\",\n\t\t\t\t\t\t\tinstallerIcon: \"/assets/img/installer_icon.ico\",\n\t\t\t\t\t\t\ttaskbarIcon: newConfig?.startup_app?.applicationIcon,\n\t\t\t\t\t\t\tsystemTrayIcon: newConfig?.finsemble?.systemTrayIcon,\n\t\t\t\t\t\t\tsplashScreenImage: newConfig?.splashScreenImage,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\n\t\t\t\t\t// This should be done last as its checked for initial rendering\n\t\t\t\t\t// Otherwise, inital values will be cached within states of sub components\n\t\t\t\t\t// \"Untitled project\" will show as project.name since it will be \"\", e.g.\n\t\t\t\t\tsetSDServerInfo(jsInfo);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tconst removeHandler = props.onThemeUpdated(themeListenerRef.current);\n\t\treturn () => {\n\t\t\tremoveHandler();\n\t\t};\n\t}, []);\n\n\tconst clickResetProjectButton = () => {\n\t\tconst resetProject = async () => {\n\t\t\tconst [err] = await props.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\tresetProject();\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"]}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
import React from "react";
|
|
6
6
|
import { Tooltip } from "../common/Tooltip";
|
|
7
7
|
import { ColorPicker, colorToRGBA, RGBA_CHANNEL } from "../common/ColorPicker";
|
|
8
|
-
import { FontSize } from "../common/FontSizeSelector";
|
|
9
8
|
import "./ThemePage.css";
|
|
10
9
|
export const ThemePage = ({ updateThemes, theme }) => {
|
|
11
10
|
const generateColorPicker = (id) => (React.createElement(ColorPicker, { id: id, startColor: theme[`--${id}`] || "", updateColor: (newColor) => {
|
|
@@ -15,17 +14,11 @@ export const ThemePage = ({ updateThemes, theme }) => {
|
|
|
15
14
|
}
|
|
16
15
|
updateThemes(`--${id}`, newColor);
|
|
17
16
|
} }));
|
|
18
|
-
const generateFontSizeSelector = (id) => (React.createElement(FontSize, { id: id, startSize: theme[`--${id}`], updateSize: (newSize) => {
|
|
19
|
-
updateThemes(`--${id}`, newSize);
|
|
20
|
-
} }));
|
|
21
17
|
return (React.createElement("div", { className: "theme-settings" },
|
|
22
18
|
React.createElement("div", { className: "theme-colors" },
|
|
23
19
|
React.createElement("fieldset", { className: "appearance-options" },
|
|
24
20
|
React.createElement("div", { className: "appearance-options-header" },
|
|
25
21
|
React.createElement("legend", null, "Font settings")),
|
|
26
|
-
React.createElement("div", { className: "appearance-options-field" },
|
|
27
|
-
React.createElement("label", { htmlFor: "font-size" }, "Font size"),
|
|
28
|
-
generateFontSizeSelector("font-size")),
|
|
29
22
|
React.createElement("div", { className: "appearance-options-field" },
|
|
30
23
|
React.createElement("label", { htmlFor: "font-color" }, "Primary font color"),
|
|
31
24
|
generateColorPicker("font-color"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemePage.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/ThemePage.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 { Tooltip } from \"../common/Tooltip\";\nimport { ColorPicker, colorToRGBA, RGBA_CHANNEL } from \"../common/ColorPicker\";\nimport { FontSize } from \"../common/FontSizeSelector\";\nimport \"./ThemePage.css\";\n\nexport type ThemeBundle = { [key: string]: string };\n\nexport type ThemePageProps = {\n\tupdateThemes: (id: string, newValue: string) => void;\n\ttheme: ThemeBundle;\n};\n\nexport const ThemePage = ({ updateThemes, theme }: ThemePageProps) => {\n\tconst generateColorPicker = (id: string) => (\n\t\t<ColorPicker\n\t\t\tid={id}\n\t\t\tstartColor={theme[`--${id}`] || \"\"}\n\t\t\tupdateColor={(newColor: string) => {\n\t\t\t\tif (id === \"font-color\") {\n\t\t\t\t\tconst rgba = colorToRGBA(newColor),\n\t\t\t\t\t\trgb = [rgba[RGBA_CHANNEL.RED], rgba[RGBA_CHANNEL.GREEN], rgba[RGBA_CHANNEL.BLUE]],\n\t\t\t\t\t\talpha = 0.3; // (rgba[RGBA_CHANNEL.ALPHA] / 255)\n\n\t\t\t\t\tupdateThemes(`--toolbar-separator`, `1px solid rgba(${rgb.join(\", \")}, ${alpha})`);\n\t\t\t\t}\n\n\t\t\t\tupdateThemes(`--${id}`, newColor);\n\t\t\t}}\n\t\t/>\n\t);\n\n\tconst generateFontSizeSelector = (id: string) => (\n\t\t<FontSize\n\t\t\tid={id}\n\t\t\tstartSize={theme[`--${id}`]}\n\t\t\tupdateSize={(newSize: string) => {\n\t\t\t\tupdateThemes(`--${id}`, newSize);\n\t\t\t}}\n\t\t/>\n\t);\n\t//\n\n\treturn (\n\t\t<div className=\"theme-settings\">\n\t\t\t<div className=\"theme-colors\">\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Font settings</legend>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"font-size\">Font size</label>\n\n\t\t\t\t\t\t{generateFontSizeSelector(\"font-size\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"font-color\">Primary font color</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"font-color\")}\n\t\t\t\t\t\t<Tooltip>Main text color. Make sure there is enough contrast against the primary background.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary-5\">Secondary font color</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary-5\")}\n\t\t\t\t\t\t<Tooltip>Secondary text color. Make sure there is enough contrast against the primary background.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"font-color-2\">Contrast color</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"font-color-2\")}\n\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\tColor of text that is not against a typical background. Make it light if you have a light theme, or dark\n\t\t\t\t\t\t\tif you have a dark theme.\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t</div>\n\n\t\t\t<div className=\"theme-colors\">\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Brand color</legend>\n\n\t\t\t\t\t\t<Tooltip>The primary accent color that affects icons, form elements, buttons.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-primary\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-primary\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-primary-1\">On mouseover</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-primary-1\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Background color</legend>\n\n\t\t\t\t\t\t<Tooltip>Background color of desktop components such as the Toolbar and window Titlebar.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary\">Primary background</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary-1\">Secondary background</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary-1\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Navigation buttons</legend>\n\n\t\t\t\t\t\t<Tooltip>Background color for navigation buttons.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary-2\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary-2\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Highlights and mouseover colors</legend>\n\n\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\tColors used to highlight particular elements or when a user mouses over selected elements.\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary-3\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary-3\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary-4\">Secondary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary-4\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Success</legend>\n\n\t\t\t\t\t\t<Tooltip>Color of messages indicating success and affirmations, such as checkmark icons.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-positive\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-positive\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-positive-1\">On mouseover</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-positive-1\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Reminders and warnings</legend>\n\n\t\t\t\t\t\t<Tooltip>Color of non-critical alerts.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-aware\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-aware\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-aware-1\">On mouseover</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-aware-1\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Errors</legend>\n\n\t\t\t\t\t\t<Tooltip>Color of critical errors and information.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-negative\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-negative\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-negative-1\">On mouseover</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-negative-1\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ThemePage.js","sourceRoot":"","sources":["../../../src/components/smartDesktopDesigner/ThemePage.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 { Tooltip } from \"../common/Tooltip\";\nimport { ColorPicker, colorToRGBA, RGBA_CHANNEL } from \"../common/ColorPicker\";\nimport \"./ThemePage.css\";\n\nexport type ThemeBundle = { [key: string]: string };\n\nexport type ThemePageProps = {\n\tupdateThemes: (id: string, newValue: string) => void;\n\ttheme: ThemeBundle;\n};\n\nexport const ThemePage = ({ updateThemes, theme }: ThemePageProps) => {\n\tconst generateColorPicker = (id: string) => (\n\t\t<ColorPicker\n\t\t\tid={id}\n\t\t\tstartColor={theme[`--${id}`] || \"\"}\n\t\t\tupdateColor={(newColor: string) => {\n\t\t\t\tif (id === \"font-color\") {\n\t\t\t\t\tconst rgba = colorToRGBA(newColor),\n\t\t\t\t\t\trgb = [rgba[RGBA_CHANNEL.RED], rgba[RGBA_CHANNEL.GREEN], rgba[RGBA_CHANNEL.BLUE]],\n\t\t\t\t\t\talpha = 0.3; // (rgba[RGBA_CHANNEL.ALPHA] / 255)\n\n\t\t\t\t\tupdateThemes(`--toolbar-separator`, `1px solid rgba(${rgb.join(\", \")}, ${alpha})`);\n\t\t\t\t}\n\n\t\t\t\tupdateThemes(`--${id}`, newColor);\n\t\t\t}}\n\t\t/>\n\t);\n\n\treturn (\n\t\t<div className=\"theme-settings\">\n\t\t\t<div className=\"theme-colors\">\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Font settings</legend>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"font-color\">Primary font color</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"font-color\")}\n\t\t\t\t\t\t<Tooltip>Main text color. Make sure there is enough contrast against the primary background.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary-5\">Secondary font color</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary-5\")}\n\t\t\t\t\t\t<Tooltip>Secondary text color. Make sure there is enough contrast against the primary background.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"font-color-2\">Contrast color</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"font-color-2\")}\n\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\tColor of text that is not against a typical background. Make it light if you have a light theme, or dark\n\t\t\t\t\t\t\tif you have a dark theme.\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t</div>\n\n\t\t\t<div className=\"theme-colors\">\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Brand color</legend>\n\n\t\t\t\t\t\t<Tooltip>The primary accent color that affects icons, form elements, buttons.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-primary\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-primary\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-primary-1\">On mouseover</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-primary-1\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Background color</legend>\n\n\t\t\t\t\t\t<Tooltip>Background color of desktop components such as the Toolbar and window Titlebar.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary\">Primary background</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary-1\">Secondary background</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary-1\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Navigation buttons</legend>\n\n\t\t\t\t\t\t<Tooltip>Background color for navigation buttons.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary-2\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary-2\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Highlights and mouseover colors</legend>\n\n\t\t\t\t\t\t<Tooltip>\n\t\t\t\t\t\t\tColors used to highlight particular elements or when a user mouses over selected elements.\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary-3\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary-3\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"core-primary-4\">Secondary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"core-primary-4\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Success</legend>\n\n\t\t\t\t\t\t<Tooltip>Color of messages indicating success and affirmations, such as checkmark icons.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-positive\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-positive\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-positive-1\">On mouseover</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-positive-1\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Reminders and warnings</legend>\n\n\t\t\t\t\t\t<Tooltip>Color of non-critical alerts.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-aware\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-aware\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-aware-1\">On mouseover</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-aware-1\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset className=\"appearance-options\">\n\t\t\t\t\t<div className=\"appearance-options-header\">\n\t\t\t\t\t\t<legend>Errors</legend>\n\n\t\t\t\t\t\t<Tooltip>Color of critical errors and information.</Tooltip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-negative\">Primary</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-negative\")}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"appearance-options-field\">\n\t\t\t\t\t\t<label htmlFor=\"accent-negative-1\">On mouseover</label>\n\n\t\t\t\t\t\t{generateColorPicker(\"accent-negative-1\")}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"]}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import React, { useState, useEffect } from "react";
|
|
6
6
|
import { View } from "./View";
|
|
7
|
-
import { Header } from "../common/Header";
|
|
8
7
|
import { Content } from "./Content";
|
|
9
8
|
import { Appearance } from "./Appearance";
|
|
10
9
|
import { darkTheme, lightTheme } from "./themeDefinitions";
|
|
@@ -54,7 +53,6 @@ export const Themes = ({ getSDServerInfo, updateProjectSettings, areYouSure, upd
|
|
|
54
53
|
splashScreenImage }) }));
|
|
55
54
|
}, [iconsChanged]);
|
|
56
55
|
return (React.createElement(View, null,
|
|
57
|
-
React.createElement(Header, null, "Themes"),
|
|
58
56
|
React.createElement(Content, null,
|
|
59
57
|
React.createElement("div", { className: "theme-edit" },
|
|
60
58
|
React.createElement(Appearance, { startTheme: theme.themes.Default, darkTheme: darkTheme, lightTheme: lightTheme, 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 })))));
|