@finsemble/finsemble-ui 6.2.1 → 6.3.1-beta-1
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 +27 -22
- package/react/actions/smartDesktopDesignerActions.d.ts +7 -8
- package/react/actions/smartDesktopDesignerActions.js.map +1 -1
- package/react/actions/toolbarActions.d.ts +2 -3
- package/react/actions/toolbarActions.js.map +1 -1
- package/react/assets/css/button.css +2 -1
- package/react/assets/css/notificationsCenter.css +4 -2
- package/react/assets/css/userPreferences.css +1 -0
- package/react/assets/css/windowTitleBar.css +33 -1
- package/react/componentTemplateGenerator.js.map +1 -1
- package/react/components/FinsembleProvider.js +1 -1
- package/react/components/FinsembleProvider.js.map +1 -1
- package/react/components/appCatalog/AppCatalogComponent.js +7 -13
- package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
- package/react/components/appCatalog/components/AppList.d.ts +7 -1
- package/react/components/appCatalog/components/AppList.js +1 -1
- package/react/components/appCatalog/components/AppList.js.map +1 -1
- package/react/components/appCatalog/components/AppResults.d.ts +10 -8
- package/react/components/appCatalog/components/AppResults.js +1 -1
- package/react/components/appCatalog/components/AppResults.js.map +1 -1
- package/react/components/appCatalog/components/Carousel.js +1 -1
- package/react/components/appCatalog/components/Carousel.js.map +1 -1
- package/react/components/appCatalog/components/EmptyResults.d.ts +2 -1
- package/react/components/appCatalog/components/EmptyResults.js +2 -4
- package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
- package/react/components/appCatalog/components/Hero.d.ts +24 -4
- package/react/components/appCatalog/components/Hero.js +2 -1
- package/react/components/appCatalog/components/Hero.js.map +1 -1
- package/react/components/appCatalog/components/Home.d.ts +18 -4
- package/react/components/appCatalog/components/Home.js.map +1 -1
- package/react/components/appCatalog/components/SearchBar.d.ts +20 -7
- package/react/components/appCatalog/components/SearchBar.js +4 -7
- package/react/components/appCatalog/components/SearchBar.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/AppDescription.d.ts +5 -3
- package/react/components/appCatalog/components/Showcase/AppDescription.js +4 -6
- package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/AppDevNotes.d.ts +5 -4
- package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/AppShowcase.js +1 -1
- package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/Header.d.ts +13 -5
- package/react/components/appCatalog/components/Showcase/Header.js +2 -2
- package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/Modal.d.ts +7 -4
- package/react/components/appCatalog/components/Showcase/Modal.js +6 -6
- package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/defaults.d.ts +3 -3
- package/react/components/appCatalog/components/Showcase/defaults.js.map +1 -1
- package/react/components/appCatalog/components/Tag.d.ts +6 -4
- package/react/components/appCatalog/components/Tag.js.map +1 -1
- package/react/components/appCatalog/components/Toast.d.ts +5 -3
- package/react/components/appCatalog/components/Toast.js +5 -5
- package/react/components/appCatalog/components/Toast.js.map +1 -1
- package/react/components/appCatalog/components/helpers.js +2 -1
- package/react/components/appCatalog/components/helpers.js.map +1 -1
- package/react/components/appCatalog/modules/AppDirectory.d.ts +5 -1
- package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
- package/react/components/appCatalog/modules/FDC3.d.ts +12 -11
- package/react/components/appCatalog/modules/FDC3.js +39 -48
- package/react/components/appCatalog/modules/FDC3.js.map +1 -1
- package/react/components/appCatalog/stores/appStore.d.ts +9 -2
- package/react/components/appCatalog/stores/appStore.js +10 -4
- package/react/components/appCatalog/stores/appStore.js.map +1 -1
- package/react/components/appCatalog/stores/storeActions.js +96 -98
- package/react/components/appCatalog/stores/storeActions.js.map +1 -1
- package/react/components/common/Button.d.ts +4 -4
- package/react/components/common/Button.js +1 -1
- package/react/components/common/Button.js.map +1 -1
- package/react/components/common/ButtonIcon.js +1 -1
- package/react/components/common/ButtonIcon.js.map +1 -1
- package/react/components/common/ColorPicker.js +1 -1
- package/react/components/common/ColorPicker.js.map +1 -1
- package/react/components/common/DropZone.d.ts +0 -5
- package/react/components/common/DropZone.js.map +1 -1
- package/react/components/common/DropdownButton.js +1 -1
- package/react/components/common/DropdownButton.js.map +1 -1
- package/react/components/common/FileInput.d.ts +0 -5
- package/react/components/common/FileInput.js +7 -9
- package/react/components/common/FileInput.js.map +1 -1
- package/react/components/common/FinsembleIcon.d.ts +2 -2
- package/react/components/common/FinsembleIcon.js.map +1 -1
- package/react/components/common/FinsembleSelect.js +2 -5
- package/react/components/common/FinsembleSelect.js.map +1 -1
- package/react/components/common/FinsembleToggle.js +2 -2
- package/react/components/common/FinsembleToggle.js.map +1 -1
- package/react/components/common/FontSizeSelector.js +2 -2
- package/react/components/common/FontSizeSelector.js.map +1 -1
- package/react/components/common/ImagePreview.js +2 -2
- package/react/components/common/ImagePreview.js.map +1 -1
- package/react/components/common/Tab.js +2 -1
- package/react/components/common/Tab.js.map +1 -1
- package/react/components/common/file_helpers.js +3 -2
- package/react/components/common/file_helpers.js.map +1 -1
- package/react/components/common/helpers.js +12 -10
- package/react/components/common/helpers.js.map +1 -1
- package/react/components/common/stories/Button.stories.js +1 -1
- package/react/components/common/stories/Button.stories.js.map +1 -1
- package/react/components/common/stories/ButtonIcon.stories.js +1 -1
- package/react/components/common/stories/ButtonIcon.stories.js.map +1 -1
- package/react/components/common/stories/ButtonRow.stories.js +2 -2
- package/react/components/common/stories/ButtonRow.stories.js.map +1 -1
- package/react/components/common/stories/ButtonTile.stories.js +1 -1
- package/react/components/common/stories/ButtonTile.stories.js.map +1 -1
- package/react/components/common/stories/Checkbox.stories.js +1 -1
- package/react/components/common/stories/Checkbox.stories.js.map +1 -1
- package/react/components/common/stories/ColorPicker.stories.js +1 -1
- package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
- package/react/components/common/stories/DropZone.stories.js +1 -1
- package/react/components/common/stories/DropZone.stories.js.map +1 -1
- package/react/components/common/stories/FinsembleIcon.stories.js.map +1 -1
- package/react/components/common/stories/FinsembleSelect.stories.js +1 -1
- package/react/components/common/stories/FinsembleSelect.stories.js.map +1 -1
- package/react/components/common/stories/FinsembleToggle.stories.js +3 -1
- package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
- package/react/components/common/stories/FontSizeSelector.stories.js +1 -1
- package/react/components/common/stories/FontSizeSelector.stories.js.map +1 -1
- package/react/components/common/stories/Header.stories.js +1 -1
- package/react/components/common/stories/Header.stories.js.map +1 -1
- package/react/components/common/tests/Checkbox.spec.js +4 -4
- package/react/components/common/tests/Checkbox.spec.js.map +1 -1
- package/react/components/common/tests/ColorPicker.spec.js +6 -6
- package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
- package/react/components/common/tests/DropZone.spec.js +4 -4
- package/react/components/common/tests/DropZone.spec.js.map +1 -1
- package/react/components/common/tests/FileInput.spec.js +5 -5
- package/react/components/common/tests/FileInput.spec.js.map +1 -1
- package/react/components/common/tests/FinsembleSelect.spec.js +12 -11
- package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
- package/react/components/common/tests/FinsembleToggle.spec.js +8 -2
- package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
- package/react/components/common/tests/Header.spec.js +3 -3
- package/react/components/common/tests/Header.spec.js.map +1 -1
- package/react/components/common/tests/ImagePreview.spec.js +8 -8
- package/react/components/common/tests/ImagePreview.spec.js.map +1 -1
- package/react/components/common/tests/Tab.spec.js +3 -3
- package/react/components/common/tests/Tab.spec.js.map +1 -1
- package/react/components/common/tests/Tooltip.spec.js +5 -5
- package/react/components/common/tests/Tooltip.spec.js.map +1 -1
- package/react/components/favorites/FavoriteMaker.d.ts +0 -5
- package/react/components/favorites/FavoriteMaker.js +1 -1
- package/react/components/favorites/FavoriteMaker.js.map +1 -1
- package/react/components/favorites/FavoritesShell.js +1 -1
- package/react/components/favorites/FavoritesShell.js.map +1 -1
- package/react/components/favorites/FavoritesShell.spec.js +7 -7
- package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
- package/react/components/favorites/FavoritesShell.stories.js +5 -4
- package/react/components/favorites/FavoritesShell.stories.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverContainer.js +2 -1
- package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.js +13 -13
- package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.spec.js +5 -5
- package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.stories.js +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
- package/react/components/icon/Icon.js +5 -4
- package/react/components/icon/Icon.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialog.js +0 -1
- package/react/components/legacyControls/FinsembleDialog.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialogButton.d.ts +1 -1
- package/react/components/legacyControls/FinsembleDialogButton.js +4 -3
- package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialogQuestion.js +2 -1
- package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialogTextInput.d.ts +1 -1
- package/react/components/legacyControls/FinsembleDialogTextInput.js +8 -5
- package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
- package/react/components/legacyControls/FinsembleDnDContext.js +34 -22
- package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
- package/react/components/legacyControls/FinsembleDraggable.js +3 -3
- package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
- package/react/components/legacyControls/FinsembleHoverDetector.js +2 -1
- package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
- package/react/components/legacyControls/FinsembleMenuSection.js +9 -5
- package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
- package/react/components/legacyControls/stories/FinsembleDialog.stories.js +1 -1
- package/react/components/legacyControls/stories/FinsembleDialog.stories.js.map +1 -1
- package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js +1 -1
- package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js.map +1 -1
- package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js +1 -1
- package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js.map +1 -1
- package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js +1 -1
- package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js.map +1 -1
- package/react/components/legacyControls/tests/FinsembleDialog.spec.js +1 -1
- package/react/components/legacyControls/tests/FinsembleDialog.spec.js.map +1 -1
- package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js +8 -7
- package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
- package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js +7 -5
- package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js.map +1 -1
- package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js +13 -12
- package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
- package/react/components/linker/LinkerMenu.js +4 -3
- package/react/components/linker/LinkerMenu.js.map +1 -1
- package/react/components/linker/LinkerMenuDeprecated.js +1 -1
- package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
- package/react/components/linker/remoteRedux.d.ts +10 -42
- package/react/components/linker/remoteRedux.js.map +1 -1
- package/react/components/menu/Menu.d.ts +1 -1
- package/react/components/menu/Menu.js +1 -1
- package/react/components/menu/Menu.js.map +1 -1
- package/react/components/menu/MenuAutoResizer.js.map +1 -1
- package/react/components/menu/MenuContent.js +1 -2
- package/react/components/menu/MenuContent.js.map +1 -1
- package/react/components/menu/MenuHotKey.js +1 -1
- package/react/components/menu/MenuHotKey.js.map +1 -1
- package/react/components/menu/MenuPortal.js +7 -6
- package/react/components/menu/MenuPortal.js.map +1 -1
- package/react/components/menu/keyboardNavigation.js +14 -15
- package/react/components/menu/keyboardNavigation.js.map +1 -1
- package/react/components/notifications/components/NoNotifications.js +2 -4
- package/react/components/notifications/components/NoNotifications.js.map +1 -1
- package/react/components/notifications/components/drawer/Drawer.js +2 -4
- package/react/components/notifications/components/drawer/Drawer.js.map +1 -1
- package/react/components/notifications/components/drawer/DrawerControls.js +3 -5
- package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
- package/react/components/notifications/components/drawer/DrawerHeader.js +1 -4
- package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +64 -79
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +15 -13
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
- package/react/components/notifications/components/shared/CheckButton.d.ts +2 -2
- package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
- package/react/components/notifications/components/shared/IconButton.js +3 -5
- package/react/components/notifications/components/shared/IconButton.js.map +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.d.ts +3 -2
- package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
- package/react/components/notifications/components/shared/OverflowMenu.d.ts +2 -1
- package/react/components/notifications/components/shared/OverflowMenu.js +6 -5
- package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts +3 -2
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js +2 -2
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts +3 -2
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +3 -2
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js +2 -4
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts +3 -2
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
- package/react/components/notifications/components/views/CardView.js +15 -24
- package/react/components/notifications/components/views/CardView.js.map +1 -1
- package/react/components/notifications/components/views/ListView.d.ts +2 -2
- package/react/components/notifications/components/views/ListView.js +9 -9
- package/react/components/notifications/components/views/ListView.js.map +1 -1
- package/react/components/notifications/components/views/NotificationDetailsView.d.ts +2 -2
- package/react/components/notifications/components/views/NotificationDetailsView.js +2 -6
- package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
- package/react/components/notifications/constants.d.ts +0 -13
- package/react/components/notifications/constants.js.map +1 -1
- package/react/components/notifications/types.d.ts +7 -6
- package/react/components/notifications/types.js.map +1 -1
- package/react/components/notifications/utils.d.ts +6 -4
- package/react/components/notifications/utils.js +26 -32
- package/react/components/notifications/utils.js.map +1 -1
- package/react/components/processMonitor/ProcessMonitor.d.ts +3 -1
- package/react/components/processMonitor/ProcessMonitor.js +24 -14
- package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
- package/react/components/processMonitor/ProcessMonitorTypes.d.ts +33 -0
- package/react/components/processMonitor/ProcessMonitorTypes.js +6 -0
- package/react/components/processMonitor/ProcessMonitorTypes.js.map +1 -0
- package/react/components/processMonitor/components/ChildWindow.d.ts +10 -3
- package/react/components/processMonitor/components/ChildWindow.js +29 -10
- package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
- package/react/components/processMonitor/components/ListHeader.d.ts +18 -4
- package/react/components/processMonitor/components/ListHeader.js +11 -3
- package/react/components/processMonitor/components/ListHeader.js.map +1 -1
- package/react/components/processMonitor/components/ProcessStatistics.d.ts +11 -3
- package/react/components/processMonitor/components/ProcessStatistics.js +35 -18
- package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
- package/react/components/processMonitor/constants.d.ts +11 -16
- package/react/components/processMonitor/constants.js +6 -1
- package/react/components/processMonitor/constants.js.map +1 -1
- package/react/components/processMonitor/helpers.d.ts +14 -6
- package/react/components/processMonitor/helpers.js +31 -23
- package/react/components/processMonitor/helpers.js.map +1 -1
- package/react/components/processMonitor/helpers.spec.d.ts +1 -0
- package/react/components/processMonitor/helpers.spec.js +44 -0
- package/react/components/processMonitor/helpers.spec.js.map +1 -0
- package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +31 -15
- package/react/components/processMonitor/stores/ProcessMonitorStore.js +104 -95
- package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
- package/react/components/quickComponentForm/QuickComponentForm.d.ts +4 -1
- package/react/components/quickComponentForm/QuickComponentForm.js +14 -15
- package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
- package/react/components/search/Highlight.js +2 -2
- package/react/components/search/Highlight.js.map +1 -1
- package/react/components/search/Highlight.spec.js +3 -3
- package/react/components/search/Highlight.spec.js.map +1 -1
- package/react/components/search/Highlight.stories.js +1 -1
- package/react/components/search/Highlight.stories.js.map +1 -1
- package/react/components/search/Search.js +17 -8
- package/react/components/search/Search.js.map +1 -1
- package/react/components/search/SearchBestMatch.js +3 -5
- package/react/components/search/SearchBestMatch.js.map +1 -1
- package/react/components/search/SearchProviderResults.js +4 -5
- package/react/components/search/SearchProviderResults.js.map +1 -1
- package/react/components/search/SearchResult.js +3 -2
- package/react/components/search/SearchResult.js.map +1 -1
- package/react/components/search/SearchResults.js +1 -1
- package/react/components/search/SearchResults.js.map +1 -1
- package/react/components/shared/Button.js +2 -4
- package/react/components/shared/Button.js.map +1 -1
- package/react/components/shared/DefaultDropdownButton.js +58 -13
- package/react/components/shared/DefaultDropdownButton.js.map +1 -1
- package/react/components/shared/NavigationButton.js +9 -11
- package/react/components/shared/NavigationButton.js.map +1 -1
- package/react/components/shared/Tag.d.ts +11 -1
- package/react/components/shared/Tag.js.map +1 -1
- package/react/components/shared/TagsMenu.d.ts +26 -6
- package/react/components/shared/TagsMenu.js.map +1 -1
- package/react/components/shared/linkerUtil.d.ts +3 -1
- package/react/components/shared/linkerUtil.js.map +1 -1
- package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
- package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.js +0 -2
- package/react/components/singleInputDialog/SingleInputDialog.js.map +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.spec.js +6 -6
- package/react/components/singleInputDialog/SingleInputDialog.spec.js.map +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.stories.js +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/AppEditAccess.d.ts +1 -1
- package/react/components/smartDesktopDesigner/AppEditAccess.js +17 -34
- package/react/components/smartDesktopDesigner/AppEditAccess.js.map +1 -1
- package/react/components/smartDesktopDesigner/AppEditPage.d.ts +4 -4
- package/react/components/smartDesktopDesigner/AppEditPage.js +2 -2
- package/react/components/smartDesktopDesigner/AppEditPage.js.map +1 -1
- package/react/components/smartDesktopDesigner/Appearance.js +3 -5
- package/react/components/smartDesktopDesigner/Appearance.js.map +1 -1
- package/react/components/smartDesktopDesigner/Application.d.ts +7 -5
- package/react/components/smartDesktopDesigner/Application.js +78 -92
- package/react/components/smartDesktopDesigner/Application.js.map +1 -1
- package/react/components/smartDesktopDesigner/ApplicationEdit.d.ts +4 -1
- package/react/components/smartDesktopDesigner/ApplicationEdit.js +68 -51
- package/react/components/smartDesktopDesigner/ApplicationEdit.js.map +1 -1
- package/react/components/smartDesktopDesigner/ApplicationList.d.ts +4 -2
- package/react/components/smartDesktopDesigner/ApplicationList.js +23 -20
- package/react/components/smartDesktopDesigner/ApplicationList.js.map +1 -1
- package/react/components/smartDesktopDesigner/ApplicationSetup.d.ts +4 -3
- package/react/components/smartDesktopDesigner/ApplicationSetup.js +8 -20
- package/react/components/smartDesktopDesigner/ApplicationSetup.js.map +1 -1
- package/react/components/smartDesktopDesigner/Applications.d.ts +3 -2
- package/react/components/smartDesktopDesigner/Applications.js +73 -62
- package/react/components/smartDesktopDesigner/Applications.js.map +1 -1
- package/react/components/smartDesktopDesigner/Authentication.js +2 -8
- package/react/components/smartDesktopDesigner/Authentication.js.map +1 -1
- package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js +1 -8
- package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js.map +1 -1
- package/react/components/smartDesktopDesigner/Content.js.map +1 -1
- package/react/components/smartDesktopDesigner/CurrentView.js +1 -1
- package/react/components/smartDesktopDesigner/CurrentView.js.map +1 -1
- package/react/components/smartDesktopDesigner/Export.js +3 -3
- package/react/components/smartDesktopDesigner/Export.js.map +1 -1
- package/react/components/smartDesktopDesigner/ExportCloud.js +1 -1
- package/react/components/smartDesktopDesigner/ExportCloud.js.map +1 -1
- package/react/components/smartDesktopDesigner/ExportDeployInfo.js +1 -1
- package/react/components/smartDesktopDesigner/ExportDeployInfo.js.map +1 -1
- package/react/components/smartDesktopDesigner/ExportZip.js +0 -1
- package/react/components/smartDesktopDesigner/ExportZip.js.map +1 -1
- package/react/components/smartDesktopDesigner/GettingStarted.d.ts +1 -1
- package/react/components/smartDesktopDesigner/GettingStarted.js +1 -1
- package/react/components/smartDesktopDesigner/GettingStarted.js.map +1 -1
- package/react/components/smartDesktopDesigner/ProjectHeader.d.ts +1 -1
- package/react/components/smartDesktopDesigner/ProjectHeader.js +1 -1
- package/react/components/smartDesktopDesigner/ProjectHeader.js.map +1 -1
- package/react/components/smartDesktopDesigner/Publish.js +1 -1
- package/react/components/smartDesktopDesigner/Publish.js.map +1 -1
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +0 -11
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +18 -31
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
- package/react/components/smartDesktopDesigner/Themes.js +2 -8
- package/react/components/smartDesktopDesigner/Themes.js.map +1 -1
- package/react/components/smartDesktopDesigner/View.js.map +1 -1
- package/react/components/smartDesktopDesigner/common/getCSSVars.d.ts +1 -2
- package/react/components/smartDesktopDesigner/common/getCSSVars.js +2 -2
- package/react/components/smartDesktopDesigner/common/getCSSVars.js.map +1 -1
- package/react/components/smartDesktopDesigner/common/views.d.ts +1 -1
- package/react/components/smartDesktopDesigner/common/views.js +8 -18
- package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js +16 -24
- package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js +8 -9
- package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/apps.d.ts +4 -70
- package/react/components/smartDesktopDesigner/fixtures/apps.js +20 -31
- package/react/components/smartDesktopDesigner/fixtures/apps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/authenticationProps.js +6 -9
- package/react/components/smartDesktopDesigner/fixtures/authenticationProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/exportProps.js +5 -5
- package/react/components/smartDesktopDesigner/fixtures/exportProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/publishProgress.d.ts +2 -1
- package/react/components/smartDesktopDesigner/fixtures/publishProgress.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/themeProps.d.ts +5 -5
- package/react/components/smartDesktopDesigner/fixtures/themeProps.js +6 -7
- package/react/components/smartDesktopDesigner/fixtures/themeProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/views.js +4 -4
- package/react/components/smartDesktopDesigner/fixtures/views.js.map +1 -1
- package/react/components/smartDesktopDesigner/sdd_helpers.js +2 -1
- package/react/components/smartDesktopDesigner/sdd_helpers.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.d.ts +3 -4
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js +14 -20
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Appearance.stories.js +7 -7
- package/react/components/smartDesktopDesigner/stories/Appearance.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js +3 -7
- package/react/components/smartDesktopDesigner/stories/ApplicationEdit.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js +9 -2
- package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js +3 -10
- package/react/components/smartDesktopDesigner/stories/ApplicationSetup.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Applications.stories.js +1 -1
- package/react/components/smartDesktopDesigner/stories/Applications.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Authentication.stories.js +18 -36
- package/react/components/smartDesktopDesigner/stories/Authentication.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Export.stories.js +2 -2
- package/react/components/smartDesktopDesigner/stories/Export.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js +2 -2
- package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js +5 -11
- package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.d.ts +1 -1
- package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js +1 -1
- package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Navigation.stories.js +1 -1
- package/react/components/smartDesktopDesigner/stories/Navigation.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js +2 -4
- package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.d.ts +1 -1
- package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js +1 -1
- package/react/components/smartDesktopDesigner/stories/ProjectHeader.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Publish.stories.js +13 -28
- package/react/components/smartDesktopDesigner/stories/Publish.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js +1 -1
- package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js +3 -3
- package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Themes.stories.js +1 -1
- package/react/components/smartDesktopDesigner/stories/Themes.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js +32 -32
- package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js +6 -5
- package/react/components/smartDesktopDesigner/tests/ApplicationEdit.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js +11 -11
- package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js +9 -7
- package/react/components/smartDesktopDesigner/tests/ApplicationSetup.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Applications.spec.js +35 -35
- package/react/components/smartDesktopDesigner/tests/Applications.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Authentication.spec.js +6 -18
- package/react/components/smartDesktopDesigner/tests/Authentication.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Export.spec.js +14 -22
- package/react/components/smartDesktopDesigner/tests/Export.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js +2 -6
- package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Navigation.spec.js +2 -2
- package/react/components/smartDesktopDesigner/tests/Navigation.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js +2 -2
- package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js +2 -2
- package/react/components/smartDesktopDesigner/tests/ProjectHeader.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Publish.spec.js +3 -10
- package/react/components/smartDesktopDesigner/tests/Publish.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js +2 -6
- package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js +3 -3
- package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Themes.spec.js +7 -7
- package/react/components/smartDesktopDesigner/tests/Themes.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/a11y_helper.js +4 -5
- package/react/components/smartDesktopDesigner/tests/a11y_helper.js.map +1 -1
- package/react/components/system/System.spec.js +1 -1
- package/react/components/system/System.spec.js.map +1 -1
- package/react/components/system/SystemTrayComponentShell.js +1 -1
- package/react/components/system/SystemTrayComponentShell.js.map +1 -1
- package/react/components/toolbar/MinimizeAll.spec.js +5 -5
- package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
- package/react/components/toolbar/NotificationControl.js +3 -2
- package/react/components/toolbar/NotificationControl.js.map +1 -1
- package/react/components/toolbar/RevealAll.spec.js +5 -5
- package/react/components/toolbar/RevealAll.spec.js.map +1 -1
- package/react/components/toolbar/ToolbarIcon.js +14 -2
- package/react/components/toolbar/ToolbarIcon.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +22 -5
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js +11 -6
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js +21 -9
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.d.ts +33 -10
- package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js +41 -10
- package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.d.ts +3 -3
- package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js +0 -3
- package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.d.ts +24 -8
- package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js +4 -2
- package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.d.ts +18 -4
- package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js +7 -5
- package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.d.ts +14 -6
- package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js +2 -3
- package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +30 -13
- package/react/components/toolbar/advancedAppLauncher/components/Content.js +35 -37
- package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FilterSort.d.ts +15 -5
- package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js +4 -3
- package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +38 -21
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +14 -9
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.d.ts +18 -3
- package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js +8 -4
- package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.d.ts +10 -3
- package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js +1 -3
- package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/SearchBox.d.ts +15 -6
- package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js +11 -6
- package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/SortBy.d.ts +11 -4
- package/react/components/toolbar/advancedAppLauncher/components/SortBy.js +3 -2
- package/react/components/toolbar/advancedAppLauncher/components/SortBy.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts +18 -6
- package/react/components/toolbar/advancedAppLauncher/components/TagsList.js +2 -2
- package/react/components/toolbar/advancedAppLauncher/components/TagsList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.d.ts +20 -4
- package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js +2 -4
- package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/modules/FDC3.d.ts +15 -10
- package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js +19 -30
- package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts +5 -2
- package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.d.ts +87 -59
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js +51 -54
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.d.ts +7 -6
- package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js +11 -13
- package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +1 -1
- package/react/components/toolbar/appLauncher/AppLauncherMenu.d.ts +3 -3
- package/react/components/toolbar/appLauncher/AppLauncherMenu.js +1 -1
- package/react/components/toolbar/appLauncher/AppLauncherMenu.js.map +1 -1
- package/react/components/toolbar/appLauncher/DynamicAppLauncher.js.map +1 -1
- package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.d.ts +25 -3
- package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js +4 -11
- package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
- package/react/components/toolbar/appLauncher/components/componentList.d.ts +34 -6
- package/react/components/toolbar/appLauncher/components/componentList.js +25 -22
- package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +32 -32
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +43 -65
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
- package/react/components/toolbar/dashbar/Dashbar.js +143 -125
- package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
- package/react/components/toolbar/dashbar/DashbarItem.js +4 -5
- package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +28 -5
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js +17 -23
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +25 -3
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.d.ts +13 -8
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js +2 -2
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +16 -8
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js +0 -3
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +66 -11
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +103 -153
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/workspaceManagementMenu.css +0 -4
- package/react/components/userPreferences/UserPreferenceTypes.d.ts +5 -0
- package/react/components/userPreferences/UserPreferenceTypes.js +2 -0
- package/react/components/userPreferences/UserPreferenceTypes.js.map +1 -0
- package/react/components/userPreferences/UserPreferencesBase.js +2 -2
- package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
- package/react/components/userPreferences/UserPreferencesWrapper.js +1 -1
- package/react/components/userPreferences/UserPreferencesWrapper.js.map +1 -1
- package/react/components/userPreferences/components/ContentSection.js +1 -1
- package/react/components/userPreferences/components/ContentSection.js.map +1 -1
- package/react/components/userPreferences/components/LeftNav.d.ts +1 -1
- package/react/components/userPreferences/components/LeftNav.js +1 -1
- package/react/components/userPreferences/components/LeftNav.js.map +1 -1
- package/react/components/userPreferences/components/content/DashbarEditor.js +4 -4
- package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
- package/react/components/userPreferences/components/content/Notifications.js +2 -0
- package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
- package/react/components/userPreferences/components/content/Workspaces.d.ts +51 -14
- package/react/components/userPreferences/components/content/Workspaces.js +96 -90
- package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +48 -51
- package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +9 -9
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +4 -6
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js +6 -6
- package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js.map +1 -1
- package/react/components/userPreferences/components/general/ScheduledRestart.js +0 -1
- package/react/components/userPreferences/components/general/ScheduledRestart.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceButton.d.ts +3 -4
- package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +5 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js +8 -5
- package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.d.ts +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +24 -9
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js +16 -2
- package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js.map +1 -1
- package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +12 -12
- package/react/components/userPreferences/stores/UserPreferencesStore.js +10 -17
- package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
- package/react/components/userPreferences/stories/DashbarEditor.stories.js +1 -1
- package/react/components/userPreferences/stories/DashbarEditor.stories.js.map +1 -1
- package/react/components/userPreferences/stories/DashbarEditorItem.stories.js +1 -1
- package/react/components/userPreferences/stories/DashbarEditorItem.stories.js.map +1 -1
- package/react/components/userPreferences/stories/General.stories.js.map +1 -1
- package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js +1 -1
- package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js.map +1 -1
- package/react/components/userPreferences/stories/NotificationsSources.stories.js +1 -1
- package/react/components/userPreferences/stories/NotificationsSources.stories.js.map +1 -1
- package/react/components/userPreferences/stories/UserPreferences.stories.d.ts +1 -1
- package/react/components/userPreferences/stories/UserPreferences.stories.js +1 -1
- package/react/components/userPreferences/stories/UserPreferences.stories.js.map +1 -1
- package/react/components/userPreferences/stories/WorkspaceButton.stories.d.ts +5 -9
- package/react/components/userPreferences/stories/WorkspaceButton.stories.js +10 -3
- package/react/components/userPreferences/stories/WorkspaceButton.stories.js.map +1 -1
- package/react/components/userPreferences/stories/WorkspaceItem.stories.js +2 -2
- package/react/components/userPreferences/stories/WorkspaceItem.stories.js.map +1 -1
- package/react/components/userPreferences/stories/WorkspaceItemList.stories.js.map +1 -1
- package/react/components/userPreferences/stories/Workspaces.stories.js +2 -2
- package/react/components/userPreferences/stories/Workspaces.stories.js.map +1 -1
- package/react/components/userPreferences/tests/ContentSection.spec.js.map +1 -1
- package/react/components/userPreferences/tests/DashbarEditor.spec.js.map +1 -1
- package/react/components/userPreferences/tests/DashbarEditorItem.spec.js.map +1 -1
- package/react/components/userPreferences/tests/General.spec.js.map +1 -1
- package/react/components/userPreferences/tests/LeftNav.spec.js.map +1 -1
- package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js.map +1 -1
- package/react/components/userPreferences/tests/Notifications.spec.js.map +1 -1
- package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
- package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js.map +1 -1
- package/react/components/userPreferences/tests/ScheduledRestart.spec.js.map +1 -1
- package/react/components/userPreferences/tests/WorkspaceButton.spec.js +17 -3
- package/react/components/userPreferences/tests/WorkspaceButton.spec.js.map +1 -1
- package/react/components/userPreferences/tests/WorkspaceComponents.spec.js +1 -1
- package/react/components/userPreferences/tests/WorkspaceComponents.spec.js.map +1 -1
- package/react/components/userPreferences/tests/WorkspaceItem.spec.js.map +1 -1
- package/react/components/userPreferences/tests/WorkspaceItemList.spec.js.map +1 -1
- package/react/components/utils.js +1 -1
- package/react/components/utils.js.map +1 -1
- package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +58 -31
- package/react/components/windowTitleBar/WindowTitleBarShell.js +47 -50
- package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
- package/react/components/windowTitleBar/components/center/Tab.d.ts +28 -7
- package/react/components/windowTitleBar/components/center/Tab.js +11 -4
- package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
- package/react/components/windowTitleBar/components/center/TabList.d.ts +43 -30
- package/react/components/windowTitleBar/components/center/TabList.js +179 -66
- package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerButton.js +5 -4
- package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.d.ts +1 -21
- package/react/components/windowTitleBar/components/left/LinkerGroups.js +6 -8
- package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js +2 -1
- package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js.map +1 -1
- package/react/components/windowTitleBar/components/left/ShareButton.d.ts +1 -21
- package/react/components/windowTitleBar/components/right/CloseButton.d.ts +12 -25
- package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/GroupingButton.d.ts +17 -26
- package/react/components/windowTitleBar/components/right/GroupingButton.js +2 -2
- package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +16 -26
- package/react/components/windowTitleBar/components/right/MaximizeButton.js +7 -9
- package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/MinimizeButton.d.ts +12 -25
- package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
- package/react/components/windowTitleBar/components/windowTitle.d.ts +2 -1
- package/react/components/windowTitleBar/components/windowTitle.js +22 -10
- package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +56 -44
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js +96 -64
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.d.ts +42 -44
- package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.js.map +1 -1
- package/react/components/windowTitleBar/windowTitleBarContext.d.ts +9 -9
- package/react/components/windowTitleBar/windowTitleBarContext.js +2 -4
- package/react/components/windowTitleBar/windowTitleBarContext.js.map +1 -1
- package/react/components/yesNoDialog/Timer.spec.js +2 -2
- package/react/components/yesNoDialog/Timer.spec.js.map +1 -1
- package/react/components/yesNoDialog/Timer.stories.js +1 -1
- package/react/components/yesNoDialog/Timer.stories.js.map +1 -1
- package/react/components/yesNoDialog/YesNoDialog.spec.js +5 -5
- package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
- package/react/components/yesNoDialog/YesNoDialog.stories.js +1 -1
- package/react/components/yesNoDialog/YesNoDialog.stories.js.map +1 -1
- package/react/hooks/useFavoritesShell.js +1 -3
- package/react/hooks/useFavoritesShell.js.map +1 -1
- package/react/hooks/useLinker.js +4 -4
- package/react/hooks/useLinker.js.map +1 -1
- package/react/hooks/useMenu.js +2 -2
- package/react/hooks/useMenu.js.map +1 -1
- package/react/hooks/useNotifications.d.ts +8 -8
- package/react/hooks/useNotifications.js +30 -30
- package/react/hooks/useNotifications.js.map +1 -1
- package/react/hooks/usePubSub.js +3 -5
- package/react/hooks/usePubSub.js.map +1 -1
- package/react/hooks/useSearch.js +1 -1
- package/react/hooks/useSearch.js.map +1 -1
- package/react/hooks/useToolbar.js +16 -35
- package/react/hooks/useToolbar.js.map +1 -1
- package/react/hooks/useWorkspace.js +1 -1
- package/react/hooks/useWorkspace.js.map +1 -1
- package/react/reducers/favoriteReducer.js +1 -1
- package/react/reducers/favoriteReducer.js.map +1 -1
- package/react/reducers/linkerReducer.js.map +1 -1
- package/react/reducers/rootReducer.d.ts +3 -4
- package/react/reducers/toolbarReducer.js +1 -1
- package/react/reducers/toolbarReducer.js.map +1 -1
- package/react/store.d.ts +6 -7
- package/react/store.js.map +1 -1
- package/react/types/advancedAppLauncherTypes.d.ts +28 -1
- package/react/types/advancedAppLauncherTypes.js.map +1 -1
- package/react/types/favoriteTypes.d.ts +1 -1
- package/react/types/favoriteTypes.js.map +1 -1
- package/react/types/fdc3.d.ts +22 -0
- package/react/types/fdc3.js.map +1 -1
- package/react/types/searchTypes.d.ts +3 -0
- package/react/types/searchTypes.js.map +1 -1
- package/react/types/smartDesktopDesignerTypes.d.ts +11 -9
- package/react/types/smartDesktopDesignerTypes.js.map +1 -1
- package/react/types/windowTitleBar.d.ts +47 -0
- package/react/types/windowTitleBar.js +2 -0
- package/react/types/windowTitleBar.js.map +1 -0
- package/react/types/workspaceTypes.d.ts +19 -0
- package/react/types/workspaceTypes.js.map +1 -1
- package/react/components/processMonitor/components/ChildWindows.d.ts +0 -4
- package/react/components/processMonitor/components/ChildWindows.js +0 -11
- package/react/components/processMonitor/components/ChildWindows.js.map +0 -1
- package/react/components/smartDesktopDesigner/fixtures/applicationsProps.d.ts +0 -2
- package/react/components/smartDesktopDesigner/fixtures/applicationsProps.js +0 -88
- package/react/components/smartDesktopDesigner/fixtures/applicationsProps.js.map +0 -1
- package/react/components/toolbar/advancedAppLauncher/components/LeftNav.d.ts +0 -4
- package/react/components/toolbar/advancedAppLauncher/components/LeftNav.js +0 -14
- package/react/components/toolbar/advancedAppLauncher/components/LeftNav.js.map +0 -1
|
@@ -38,7 +38,7 @@ export default {
|
|
|
38
38
|
getApps,
|
|
39
39
|
refreshAppDefinitions,
|
|
40
40
|
};
|
|
41
|
-
|
|
41
|
+
let data = {};
|
|
42
42
|
const ADVANCED_APP_LAUNCHER = "Advanced App Launcher";
|
|
43
43
|
const NEW_FOLDER_NAME = "New folder";
|
|
44
44
|
function getConstants() {
|
|
@@ -51,31 +51,31 @@ function getDragDisabled() {
|
|
|
51
51
|
return [ADVANCED_APP_LAUNCHER, DASHBOARDS, FAVORITES];
|
|
52
52
|
}
|
|
53
53
|
function initialize(callback = Function.prototype) {
|
|
54
|
-
FSBL.Clients.ConfigClient.getValue({ field: "finsemble.appDirectoryEndpoint" }, (
|
|
54
|
+
FSBL.Clients.ConfigClient.getValue({ field: "finsemble.appDirectoryEndpoint" }, (_, appDirectoryEndpoint) => {
|
|
55
55
|
appDEndpoint = appDirectoryEndpoint;
|
|
56
56
|
const store = getStore();
|
|
57
|
-
data.folders = store.values.appFolders.folders;
|
|
58
|
-
data.foldersList = store.values.appFolders.list;
|
|
57
|
+
data.folders = store === null || store === void 0 ? void 0 : store.values.appFolders.folders;
|
|
58
|
+
data.foldersList = store === null || store === void 0 ? void 0 : store.values.appFolders.list;
|
|
59
59
|
validateFolderDataStructure();
|
|
60
|
-
data.apps = store.values.appDefinitions;
|
|
61
|
-
data.tags = store.values.activeLauncherTags;
|
|
62
|
-
data.activeFolder = store.values.activeFolder;
|
|
63
|
-
data.filterText = store.values.filterText;
|
|
64
|
-
data.sortBy = store.values.sortBy;
|
|
65
|
-
data.isFormVisible = store.values.isFormVisible;
|
|
60
|
+
data.apps = store === null || store === void 0 ? void 0 : store.values.appDefinitions;
|
|
61
|
+
data.tags = store === null || store === void 0 ? void 0 : store.values.activeLauncherTags;
|
|
62
|
+
data.activeFolder = store === null || store === void 0 ? void 0 : store.values.activeFolder;
|
|
63
|
+
data.filterText = store === null || store === void 0 ? void 0 : store.values.filterText;
|
|
64
|
+
data.sortBy = store === null || store === void 0 ? void 0 : store.values.sortBy;
|
|
65
|
+
data.isFormVisible = store === null || store === void 0 ? void 0 : store.values.isFormVisible;
|
|
66
66
|
data.configComponents = {};
|
|
67
|
-
store.addListener({ field: "appFolders.folders" }, (foldersErr, dt) => {
|
|
67
|
+
store === null || store === void 0 ? void 0 : store.addListener({ field: "appFolders.folders" }, (foldersErr, dt) => {
|
|
68
68
|
data.folders = dt.value;
|
|
69
69
|
});
|
|
70
|
-
store.addListener({ field: "appFolders.list" }, (folderListErr, dt) => (data.foldersList = dt.value));
|
|
71
|
-
store.addListener({ field: "appDefinitions" }, (appDefinitionsErr, dt) => (data.apps = dt.value));
|
|
72
|
-
store.addListener({ field: "activeFolder" }, (activeFolderErr, dt) => {
|
|
70
|
+
store === null || store === void 0 ? void 0 : store.addListener({ field: "appFolders.list" }, (folderListErr, dt) => (data.foldersList = dt.value));
|
|
71
|
+
store === null || store === void 0 ? void 0 : store.addListener({ field: "appDefinitions" }, (appDefinitionsErr, dt) => (data.apps = dt.value));
|
|
72
|
+
store === null || store === void 0 ? void 0 : store.addListener({ field: "activeFolder" }, (activeFolderErr, dt) => {
|
|
73
73
|
data.activeFolder = dt.value;
|
|
74
74
|
});
|
|
75
|
-
store.addListener({ field: "isFormVisible" }, (visibilityErr, dt) => (data.isFormVisible = dt.value));
|
|
76
|
-
store.addListener({ field: "sortBy" }, (sortErr, dt) => (data.sortBy = dt.value));
|
|
77
|
-
store.addListener({ field: "activeLauncherTags" }, (launcherTagsErr, dt) => (data.tags = dt.value));
|
|
78
|
-
store.addListener({ field: "filterText" }, (filterTextErr, dt) => (data.filterText = dt.value));
|
|
75
|
+
store === null || store === void 0 ? void 0 : store.addListener({ field: "isFormVisible" }, (visibilityErr, dt) => (data.isFormVisible = dt.value));
|
|
76
|
+
store === null || store === void 0 ? void 0 : store.addListener({ field: "sortBy" }, (sortErr, dt) => (data.sortBy = dt.value));
|
|
77
|
+
store === null || store === void 0 ? void 0 : store.addListener({ field: "activeLauncherTags" }, (launcherTagsErr, dt) => (data.tags = dt.value));
|
|
78
|
+
store === null || store === void 0 ? void 0 : store.addListener({ field: "filterText" }, (filterTextErr, dt) => (data.filterText = dt.value));
|
|
79
79
|
FSBL.Clients.RouterClient.subscribe("Launcher.update", (err, response) => {
|
|
80
80
|
FSBL.Clients.Logger.debug("list updated", err, response);
|
|
81
81
|
if (err) {
|
|
@@ -83,7 +83,7 @@ function initialize(callback = Function.prototype) {
|
|
|
83
83
|
}
|
|
84
84
|
refreshAppDefinitions(response.data.componentList);
|
|
85
85
|
});
|
|
86
|
-
FSBL.Clients.RouterClient.subscribe("Finsemble.Service.State.launcherService", (unsubscribeErr
|
|
86
|
+
FSBL.Clients.RouterClient.subscribe("Finsemble.Service.State.launcherService", (unsubscribeErr) => {
|
|
87
87
|
if (unsubscribeErr) {
|
|
88
88
|
FSBL.Clients.Logger.error("App Launcher encountered an error unsubscribing from the launcher service", unsubscribeErr);
|
|
89
89
|
}
|
|
@@ -101,19 +101,15 @@ function getApp(appID, cb = Function.prototype) {
|
|
|
101
101
|
.then((app) => cb(null, app))
|
|
102
102
|
.catch((err) => cb(err));
|
|
103
103
|
}
|
|
104
|
-
function appInAppList(appName) {
|
|
105
|
-
let app = findAppByField("name", appName);
|
|
106
|
-
return Boolean(app);
|
|
107
|
-
}
|
|
108
104
|
function validateFolderDataStructure() {
|
|
109
|
-
Object.keys(data.folders).
|
|
105
|
+
Object.keys(data.folders).forEach((folderName) => {
|
|
110
106
|
const folder = data.folders[folderName];
|
|
111
107
|
if (!Array.isArray(folder.apps)) {
|
|
112
108
|
const warning = "Application Launcher Persistent Store has data stored in deprecated format. Please check distributedStore configs";
|
|
113
109
|
FSBL.Clients.Logger.warn(warning);
|
|
114
110
|
FSBL.UserNotification.alert("system", "ONCE-SINCE-STARTUP", "Distributed Store Type Mismatch", warning);
|
|
115
|
-
|
|
116
|
-
Object.values(folder.apps).
|
|
111
|
+
let newApps = [];
|
|
112
|
+
Object.values(folder.apps).forEach((app) => {
|
|
117
113
|
newApps.push(app);
|
|
118
114
|
});
|
|
119
115
|
folder.apps = newApps;
|
|
@@ -123,14 +119,14 @@ function validateFolderDataStructure() {
|
|
|
123
119
|
}
|
|
124
120
|
function updateAppsInFolders(cb = Function.prototype) {
|
|
125
121
|
const { ADVANCED_APP_LAUNCHER: advancedAppLauncherFolderName } = getConstants();
|
|
126
|
-
Object.keys(data.folders).
|
|
122
|
+
Object.keys(data.folders).forEach((folderName) => {
|
|
127
123
|
if (folderName === advancedAppLauncherFolderName)
|
|
128
124
|
return;
|
|
129
125
|
else {
|
|
130
126
|
const folder = data.folders[folderName];
|
|
131
|
-
Object.values(data.configComponents).
|
|
127
|
+
Object.values(data.configComponents).forEach((configComp) => {
|
|
132
128
|
let index = -1;
|
|
133
|
-
folder.apps.
|
|
129
|
+
folder.apps.forEach((folderApp, i) => {
|
|
134
130
|
if (folderApp.appID.toString().trim() === configComp.appID.toString().trim()) {
|
|
135
131
|
index = i;
|
|
136
132
|
}
|
|
@@ -169,7 +165,7 @@ function loadInstalledComponentsFromStore(cb = Function.prototype) {
|
|
|
169
165
|
async.map(Object.values(data.apps), (component, componentDone) => {
|
|
170
166
|
if (component.source && component.source === "FDC3") {
|
|
171
167
|
lazyLoadAppD();
|
|
172
|
-
return getApp(component.appID, (err
|
|
168
|
+
return getApp(component.appID, (err) => {
|
|
173
169
|
if (err) {
|
|
174
170
|
deleteApp(component.appID);
|
|
175
171
|
console.error("there was an error loading from FDC3", component, err);
|
|
@@ -189,7 +185,7 @@ function loadInstalledComponentsFromStore(cb = Function.prototype) {
|
|
|
189
185
|
}
|
|
190
186
|
function loadInstalledConfigComponents(cb = Function.prototype) {
|
|
191
187
|
FSBL.Clients.LauncherClient.getComponentList((err, componentList) => {
|
|
192
|
-
refreshAppDefinitions(componentList);
|
|
188
|
+
refreshAppDefinitions(componentList || {});
|
|
193
189
|
cb();
|
|
194
190
|
});
|
|
195
191
|
}
|
|
@@ -201,19 +197,20 @@ function refreshAppDefinitions(componentList) {
|
|
|
201
197
|
const { folders } = data;
|
|
202
198
|
const apps = Object.keys(data.apps);
|
|
203
199
|
Object.keys(folders).forEach((folderName) => {
|
|
204
|
-
folders[folderName].apps.
|
|
200
|
+
folders[folderName].apps.forEach((configDefinedApp, i) => {
|
|
205
201
|
const { name, appID } = configDefinedApp;
|
|
206
202
|
if (!componentTypeList.includes(name) && !apps.includes(appID)) {
|
|
207
203
|
folders[folderName].apps.splice(i, 1);
|
|
208
204
|
}
|
|
209
205
|
});
|
|
210
206
|
});
|
|
211
|
-
componentTypeList.
|
|
212
|
-
|
|
207
|
+
componentTypeList.forEach((componentType) => {
|
|
208
|
+
var _a, _b, _c, _d, _e, _f;
|
|
209
|
+
const component = componentList === null || componentList === void 0 ? void 0 : componentList[componentType];
|
|
213
210
|
if (component && component.component) {
|
|
214
|
-
const launchableByUser = component
|
|
215
|
-
const displayName = component.component.displayName
|
|
216
|
-
const iconObject = iconFromConfig(component
|
|
211
|
+
const launchableByUser = (_c = (_b = (_a = component === null || component === void 0 ? void 0 : component.foreign) === null || _a === void 0 ? void 0 : _a.components) === null || _b === void 0 ? void 0 : _b["App Launcher"]) === null || _c === void 0 ? void 0 : _c.launchableByUser;
|
|
212
|
+
const displayName = (_d = component.component.displayName) !== null && _d !== void 0 ? _d : componentType;
|
|
213
|
+
const iconObject = iconFromConfig((_f = (_e = component === null || component === void 0 ? void 0 : component.foreign) === null || _e === void 0 ? void 0 : _e.components) === null || _f === void 0 ? void 0 : _f.Toolbar, displayName);
|
|
217
214
|
if (launchableByUser && !component.component.isUserDefined) {
|
|
218
215
|
data.configComponents[componentType] = {
|
|
219
216
|
appID: componentType,
|
|
@@ -231,10 +228,11 @@ function refreshAppDefinitions(componentList) {
|
|
|
231
228
|
});
|
|
232
229
|
}
|
|
233
230
|
function _setValue(field, value, cb) {
|
|
234
|
-
|
|
231
|
+
var _a;
|
|
232
|
+
(_a = getStore()) === null || _a === void 0 ? void 0 : _a.setValue({
|
|
235
233
|
field: field,
|
|
236
234
|
value: value,
|
|
237
|
-
}, (error
|
|
235
|
+
}, (error) => {
|
|
238
236
|
if (error) {
|
|
239
237
|
FSBL.Clients.Logger.error(`Advanced App Launcher: Failed to save: ${field}:${value}`);
|
|
240
238
|
}
|
|
@@ -244,7 +242,7 @@ function _setValue(field, value, cb) {
|
|
|
244
242
|
});
|
|
245
243
|
}
|
|
246
244
|
function _setFolders(cb = Function.prototype) {
|
|
247
|
-
_setValue("appFolders.folders", data.folders, (err
|
|
245
|
+
_setValue("appFolders.folders", data.folders, (err) => {
|
|
248
246
|
if (err) {
|
|
249
247
|
FSBL.Clients.Logger.error(`Advanced App Launcher: Failed to set folders: ${err}`);
|
|
250
248
|
return;
|
|
@@ -262,8 +260,7 @@ function getFoldersList() {
|
|
|
262
260
|
return data.foldersList;
|
|
263
261
|
}
|
|
264
262
|
function getAllApps() {
|
|
265
|
-
|
|
266
|
-
return mergedApps;
|
|
263
|
+
return Object.assign({}, data.apps, data.configComponents);
|
|
267
264
|
}
|
|
268
265
|
function getFormStatus() {
|
|
269
266
|
return data.isFormVisible;
|
|
@@ -283,7 +280,7 @@ function reorderFolders(destIndex, srcIndex) {
|
|
|
283
280
|
movedFolder,
|
|
284
281
|
...remainingItems.slice(srcIndex),
|
|
285
282
|
];
|
|
286
|
-
_setValue("appFolders.list", data.foldersList);
|
|
283
|
+
_setValue("appFolders.list", data.foldersList, () => { });
|
|
287
284
|
return data.foldersList;
|
|
288
285
|
}
|
|
289
286
|
function addApp(app = {}, cb) {
|
|
@@ -291,7 +288,7 @@ function addApp(app = {}, cb) {
|
|
|
291
288
|
const folder = data.activeFolder;
|
|
292
289
|
const newAppData = {
|
|
293
290
|
appID,
|
|
294
|
-
tags: app.tags
|
|
291
|
+
tags: app.tags,
|
|
295
292
|
name: app.name,
|
|
296
293
|
url: app.url,
|
|
297
294
|
type: "component",
|
|
@@ -333,11 +330,11 @@ function addNewFolder(name) {
|
|
|
333
330
|
.filter((folder) => folder.startsWith(NEW_FOLDER_NAME))
|
|
334
331
|
.map((folder) => {
|
|
335
332
|
const numbers = folder.match(/\d+/g) || [];
|
|
336
|
-
return Math.max
|
|
333
|
+
return Math.max(...numbers);
|
|
337
334
|
}),
|
|
338
335
|
];
|
|
339
|
-
const highestFolderNumber = Math.max
|
|
340
|
-
const folderName = name
|
|
336
|
+
const highestFolderNumber = Math.max(...newFoldersNums);
|
|
337
|
+
const folderName = name !== null && name !== void 0 ? name : `${NEW_FOLDER_NAME} ${highestFolderNumber + 1}`;
|
|
341
338
|
const newFolder = {
|
|
342
339
|
disableUserRemove: true,
|
|
343
340
|
icon: "ff-adp-hamburger",
|
|
@@ -348,19 +345,19 @@ function addNewFolder(name) {
|
|
|
348
345
|
data.folders[folderName] = newFolder;
|
|
349
346
|
_setFolders(() => {
|
|
350
347
|
data.foldersList.push(folderName);
|
|
351
|
-
_setValue("appFolders.list", data.foldersList);
|
|
348
|
+
_setValue("appFolders.list", data.foldersList, () => { });
|
|
352
349
|
});
|
|
353
350
|
}
|
|
354
351
|
function deleteFolder(folderName) {
|
|
355
352
|
if (folderName === data.activeFolder) {
|
|
356
353
|
data.activeFolder = ADVANCED_APP_LAUNCHER;
|
|
357
|
-
_setValue("activeFolder", data.activeFolder);
|
|
354
|
+
_setValue("activeFolder", data.activeFolder, () => { });
|
|
358
355
|
}
|
|
359
356
|
delete data.folders[folderName] &&
|
|
360
357
|
_setFolders(() => {
|
|
361
358
|
const index = data.foldersList.indexOf(folderName);
|
|
362
359
|
data.foldersList.splice(index, 1);
|
|
363
|
-
_setValue("appFolders.list", data.foldersList);
|
|
360
|
+
_setValue("appFolders.list", data.foldersList, () => { });
|
|
364
361
|
});
|
|
365
362
|
}
|
|
366
363
|
function renameFolder(oldName, newName) {
|
|
@@ -370,9 +367,9 @@ function renameFolder(oldName, newName) {
|
|
|
370
367
|
data.folders[newName] = oldFolder;
|
|
371
368
|
data.foldersList.splice(indexOfOld, 1, newName);
|
|
372
369
|
_setFolders(() => {
|
|
373
|
-
_setValue("appFolders.list", data.foldersList);
|
|
370
|
+
_setValue("appFolders.list", data.foldersList, () => { });
|
|
374
371
|
if (data.activeFolder === oldName) {
|
|
375
|
-
_setValue("activeFolder", newName);
|
|
372
|
+
_setValue("activeFolder", newName, () => { });
|
|
376
373
|
}
|
|
377
374
|
delete data.folders[oldName];
|
|
378
375
|
});
|
|
@@ -444,10 +441,10 @@ function getAllAppsTags() {
|
|
|
444
441
|
}
|
|
445
442
|
function addTag(tag) {
|
|
446
443
|
data.tags.indexOf(tag) < 0 && data.tags.push(tag);
|
|
447
|
-
_setValue("activeLauncherTags", data.tags);
|
|
444
|
+
_setValue("activeLauncherTags", data.tags, () => { });
|
|
448
445
|
}
|
|
449
446
|
function deleteTag(tag) {
|
|
450
447
|
data.tags.splice(data.tags.indexOf(tag), 1);
|
|
451
|
-
_setValue("activeLauncherTags", data.tags);
|
|
448
|
+
_setValue("activeLauncherTags", data.tags, () => { });
|
|
452
449
|
}
|
|
453
450
|
//# sourceMappingURL=StoreActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreActions.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/stores/StoreActions.js"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\r\nimport { findIndex } from \"lodash\";\r\nimport { getStore } from \"./LauncherStore\";\r\nimport AppDirectory from \"../modules/AppDirectory\";\r\nimport FDC3 from \"../modules/FDC3\";\r\nimport { iconFromConfig } from \"../../../icon/Icon\";\r\nconst async = require(\"async\");\r\nlet FDC3Client;\r\nlet appd;\r\nlet appDEndpoint;\r\n\r\nexport default {\r\n\tinitialize,\r\n\taddApp,\r\n\taddNewFolder,\r\n\taddAppToFolder,\r\n\tremoveAppFromFolder,\r\n\trenameFolder,\r\n\tdeleteFolder,\r\n\tdeleteApp,\r\n\tdeleteTag,\r\n\treorderFolders,\r\n\tgetFolders,\r\n\tgetFoldersList,\r\n\tgetActiveFolderName,\r\n\tgetActiveFolder,\r\n\tgetSingleFolder,\r\n\tgetAllAppsTags,\r\n\tgetAllApps,\r\n\tgetAllAppsFromFolder,\r\n\tgetFormStatus,\r\n\tgetSearchText,\r\n\tgetSortBy,\r\n\taddTag,\r\n\tgetTags,\r\n\tgetApp,\r\n\tgetDragDisabled,\r\n\tgetConstants,\r\n\tfindAppByField,\r\n\tgetApps,\r\n\trefreshAppDefinitions,\r\n};\r\n\r\nconst data = {};\r\nconst ADVANCED_APP_LAUNCHER = \"Advanced App Launcher\";\r\nconst NEW_FOLDER_NAME = \"New folder\";\r\n// returns names of default folders.\r\nfunction getConstants() {\r\n\tconst DASHBOARDS = \"Dashboards\";\r\n\tconst FAVORITES = \"Favorites\";\r\n\treturn { ADVANCED_APP_LAUNCHER, DASHBOARDS, FAVORITES };\r\n}\r\n\r\n// Add to here if you want to disable dragging on a folder.\r\nfunction getDragDisabled() {\r\n\tconst { DASHBOARDS, FAVORITES } = getConstants();\r\n\treturn [ADVANCED_APP_LAUNCHER, DASHBOARDS, FAVORITES];\r\n}\r\n\r\nfunction initialize(callback = Function.prototype) {\r\n\tFSBL.Clients.ConfigClient.getValue({ field: \"finsemble.appDirectoryEndpoint\" }, (err, appDirectoryEndpoint) => {\r\n\t\t// cache value globally to be used in the event that we need to fetch data for a given component.\r\n\t\tappDEndpoint = appDirectoryEndpoint;\r\n\t\tconst store = getStore();\r\n\t\tdata.folders = store.values.appFolders.folders;\r\n\t\tdata.foldersList = store.values.appFolders.list;\r\n\t\tvalidateFolderDataStructure();\r\n\t\tdata.apps = store.values.appDefinitions;\r\n\t\tdata.tags = store.values.activeLauncherTags;\r\n\t\tdata.activeFolder = store.values.activeFolder;\r\n\t\tdata.filterText = store.values.filterText;\r\n\t\tdata.sortBy = store.values.sortBy;\r\n\t\tdata.isFormVisible = store.values.isFormVisible;\r\n\t\tdata.configComponents = {};\r\n\r\n\t\t// Add listeners to keep our copy up to date\r\n\t\tstore.addListener({ field: \"appFolders.folders\" }, (foldersErr, dt) => {\r\n\t\t\tdata.folders = dt.value;\r\n\t\t});\r\n\t\tstore.addListener({ field: \"appFolders.list\" }, (folderListErr, dt) => (data.foldersList = dt.value));\r\n\t\tstore.addListener({ field: \"appDefinitions\" }, (appDefinitionsErr, dt) => (data.apps = dt.value));\r\n\t\tstore.addListener({ field: \"activeFolder\" }, (activeFolderErr, dt) => {\r\n\t\t\tdata.activeFolder = dt.value;\r\n\t\t});\r\n\t\tstore.addListener({ field: \"isFormVisible\" }, (visibilityErr, dt) => (data.isFormVisible = dt.value));\r\n\t\tstore.addListener({ field: \"sortBy\" }, (sortErr, dt) => (data.sortBy = dt.value));\r\n\t\tstore.addListener({ field: \"activeLauncherTags\" }, (launcherTagsErr, dt) => (data.tags = dt.value));\r\n\t\tstore.addListener({ field: \"filterText\" }, (filterTextErr, dt) => (data.filterText = dt.value));\r\n\r\n\t\tFSBL.Clients.RouterClient.subscribe(\"Launcher.update\", (err, response) => {\r\n\t\t\tFSBL.Clients.Logger.debug(\"list updated\", err, response);\r\n\t\t\tif (err) {\r\n\t\t\t\treturn console.error(err);\r\n\t\t\t}\r\n\t\t\trefreshAppDefinitions(response.data.componentList);\r\n\t\t});\r\n\r\n\t\tFSBL.Clients.RouterClient.subscribe(\"Finsemble.Service.State.launcherService\", (unsubscribeErr, response) => {\r\n\t\t\tif (unsubscribeErr) {\r\n\t\t\t\tFSBL.Clients.Logger.error(\r\n\t\t\t\t\t\"App Launcher encountered an error unsubscribing from the launcher service\",\r\n\t\t\t\t\tunsubscribeErr\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tloadInstalledComponentsFromStore(() => {\r\n\t\t\t\t// We load our stored components(config driven) here\r\n\t\t\t\tloadInstalledConfigComponents(() => {\r\n\t\t\t\t\tupdateAppsInFolders(callback);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n}\r\n\r\n// This gets a specific app in FDC3 and returns the results\r\nfunction getApp(appID, cb = Function.prototype) {\r\n\tappd\r\n\t\t.get(appID)\r\n\t\t.then((app) => cb(null, app))\r\n\t\t.catch((err) => cb(err));\r\n}\r\n// Check to see if an app is already in our list of apps\r\nfunction appInAppList(appName) {\r\n\tlet app = findAppByField(\"name\", appName);\r\n\treturn Boolean(app);\r\n}\r\n\r\n/**\r\n * Ensures all 'apps' properties on folders conform\r\n * to the new structure (Array vs object)\r\n */\r\nfunction validateFolderDataStructure() {\r\n\tObject.keys(data.folders).map((folderName) => {\r\n\t\tconst folder = data.folders[folderName];\r\n\t\tif (!Array.isArray(folder.apps)) {\r\n\t\t\tconst warning =\r\n\t\t\t\t\"Application Launcher Persistent Store has data stored in deprecated format. Please check distributedStore configs\";\r\n\t\t\t// If the structure is wrong, notify the user in hopes that the foundation will be fixed\r\n\t\t\tFSBL.Clients.Logger.warn(warning);\r\n\t\t\tFSBL.UserNotification.alert(\"system\", \"ONCE-SINCE-STARTUP\", \"Distributed Store Type Mismatch\", warning);\r\n\t\t\tconst newApps = [];\r\n\t\t\tObject.values(folder.apps).map((app) => {\r\n\t\t\t\tnewApps.push(app);\r\n\t\t\t});\r\n\t\t\tfolder.apps = newApps;\r\n\t\t}\r\n\t});\r\n\t_setFolders();\r\n}\r\n\r\n// Update apps in folders with updated config information\r\nfunction updateAppsInFolders(cb = Function.prototype) {\r\n\t// Loop through folders and update apps with new info\r\n\tconst { ADVANCED_APP_LAUNCHER: advancedAppLauncherFolderName } = getConstants();\r\n\tObject.keys(data.folders).map((folderName) => {\r\n\t\tif (folderName === advancedAppLauncherFolderName) return;\r\n\t\telse {\r\n\t\t\tconst folder = data.folders[folderName];\r\n\t\t\tObject.values(data.configComponents).map((configComp) => {\r\n\t\t\t\tlet index = -1;\r\n\t\t\t\tfolder.apps.map((folderApp, i) => {\r\n\t\t\t\t\tif (folderApp.appID.toString().trim() === configComp.appID.toString().trim()) {\r\n\t\t\t\t\t\tindex = i;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (index > -1) {\r\n\t\t\t\t\tdata.folders[folderName].apps.splice(index, 1, configComp);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\t_setFolders(cb);\r\n}\r\n\r\n/**\r\n * Given a component config, will return tags, or an empty array.\r\n *\r\n * @param {*} componentConfig\r\n * @returns\r\n */\r\nfunction extractTagsFromFinsembleComponentConfig(componentConfig) {\r\n\tif (!componentConfig.foreign) return [];\r\n\tif (!componentConfig.foreign.components) return [];\r\n\tif (!componentConfig.foreign.components[\"App Launcher\"]) return [];\r\n\r\n\tconst { tags } = componentConfig.foreign.components[\"App Launcher\"];\r\n\r\n\tif (tags) {\r\n\t\tif (typeof tags === \"string\") {\r\n\t\t\treturn [tags];\r\n\t\t}\r\n\t\treturn tags;\r\n\t}\r\n\r\n\treturn [];\r\n}\r\n/**\r\n * Instantiates classes needed to interact with the appD server.\r\n * Only done when needed. If there are no components with source 'FDC3', this code will not execute.\r\n */\r\nfunction lazyLoadAppD() {\r\n\tif (!FDC3Client) FDC3Client = new FDC3({ url: appDEndpoint });\r\n\tif (!appd) appd = new AppDirectory(FDC3Client);\r\n}\r\n\r\n/**\r\n * Here we load apps from FDC3\r\n * @param {*} cb\r\n */\r\nfunction loadInstalledComponentsFromStore(cb = Function.prototype) {\r\n\tasync.map(\r\n\t\tObject.values(data.apps),\r\n\t\t(component, componentDone) => {\r\n\t\t\t// Load FDC3 components here\r\n\t\t\tif (component.source && component.source === \"FDC3\") {\r\n\t\t\t\tlazyLoadAppD();\r\n\t\t\t\t// get the app info so we can load it into the launcher\r\n\t\t\t\treturn getApp(component.appID, (err, app) => {\r\n\t\t\t\t\tif (err) {\r\n\t\t\t\t\t\t// don't want to kill this;\r\n\t\t\t\t\t\tdeleteApp(component.appID);\r\n\t\t\t\t\t\tconsole.error(\"there was an error loading from FDC3\", component, err);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn componentDone();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Assumption - component is always a user defined component\r\n\t\t\t// when testing I was never able to get any other component types in this method\r\n\t\t\tFSBL.Clients.LauncherClient.addUserDefinedComponent(component, (compAddErr) => {\r\n\t\t\t\tif (compAddErr) {\r\n\t\t\t\t\tconsole.warn(\"Failed to add new app:\", compAddErr);\r\n\t\t\t\t}\r\n\t\t\t\tcomponentDone(compAddErr);\r\n\t\t\t});\r\n\t\t},\r\n\t\t(err) => {\r\n\t\t\tcb(err);\r\n\t\t}\r\n\t);\r\n}\r\n\r\n// We load our apps that were loaded from the config.\r\nfunction loadInstalledConfigComponents(cb = Function.prototype) {\r\n\t// Get the list of components from the launcher service\r\n\tFSBL.Clients.LauncherClient.getComponentList((err, componentList) => {\r\n\t\t/*\r\n\t\t * Update the folders under the \"App\" menu and delete any apps in the folder\r\n\t\t * that are no longer in the config and are not user defined components.\r\n\t\t */\r\n\t\trefreshAppDefinitions(componentList);\r\n\t\tcb();\r\n\t});\r\n}\r\n\r\nfunction getApps() {\r\n\treturn data.apps;\r\n}\r\n\r\nfunction refreshAppDefinitions(componentList) {\r\n\tconst componentTypeList = Object.keys(componentList);\r\n\r\n\tconst { folders } = data;\r\n\t// Get the user defined apps\r\n\tconst apps = Object.keys(data.apps);\r\n\tObject.keys(folders).forEach((folderName) => {\r\n\t\tfolders[folderName].apps.map((configDefinedApp, i) => {\r\n\t\t\tconst { name, appID } = configDefinedApp;\r\n\t\t\t// If the component is not in the config component list and is not a user defined component\r\n\t\t\tif (!componentTypeList.includes(name) && !apps.includes(appID)) {\r\n\t\t\t\t// Delete app from the folder\r\n\t\t\t\tfolders[folderName].apps.splice(i, 1);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\tcomponentTypeList.map((componentType) => {\r\n\t\tconst component = componentList[componentType];\r\n\t\tif (component && component.component) {\r\n\t\t\tconst launchableByUser = component?.foreign?.components?.[\"App Launcher\"]?.launchableByUser;\r\n\r\n\t\t\tconst displayName = component.component.displayName ?? componentType;\r\n\t\t\tconst iconObject = iconFromConfig(component?.foreign?.components?.Toolbar, displayName);\r\n\t\t\t// Make sure the app is launchable by user\r\n\t\t\tif (launchableByUser && !component.component.isUserDefined) {\r\n\t\t\t\tdata.configComponents[componentType] = {\r\n\t\t\t\t\tappID: componentType,\r\n\t\t\t\t\ticon: iconObject,\r\n\t\t\t\t\tname: componentType,\r\n\t\t\t\t\tdisplayName,\r\n\t\t\t\t\tsource: \"config\",\r\n\t\t\t\t\ttags: extractTagsFromFinsembleComponentConfig(component),\r\n\t\t\t\t};\r\n\t\t\t} else if (!launchableByUser && data.configComponents[componentType]) {\r\n\t\t\t\tdelete data.configComponents[componentType];\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction _setValue(field, value, cb) {\r\n\tgetStore().setValue(\r\n\t\t{\r\n\t\t\tfield: field,\r\n\t\t\tvalue: value,\r\n\t\t},\r\n\t\t(error, data) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tFSBL.Clients.Logger.error(`Advanced App Launcher: Failed to save: ${field}:${value}`);\r\n\t\t\t\t// TODO\r\n\t\t\t\t// Should probably return with an error so the calling function knows to move on\r\n\t\t\t\t// Don't want to deal with unforeseen circumstances by doing that now\r\n\t\t\t} else {\r\n\t\t\t\tcb && cb();\r\n\t\t\t}\r\n\t\t}\r\n\t);\r\n}\r\n\r\nfunction _setFolders(cb = Function.prototype) {\r\n\t_setValue(\"appFolders.folders\", data.folders, (err, data) => {\r\n\t\tif (err) {\r\n\t\t\tFSBL.Clients.Logger.error(`Advanced App Launcher: Failed to set folders: ${err}`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tcb();\r\n\t});\r\n}\r\n\r\nfunction _findAppIndexInFolders(appID, folderName) {\r\n\treturn findIndex(data.folders[folderName].apps, (app) => app.appID === appID);\r\n}\r\n\r\nfunction getFolders() {\r\n\treturn data.folders;\r\n}\r\n\r\nfunction getFoldersList() {\r\n\treturn data.foldersList;\r\n}\r\n\r\nfunction getAllApps() {\r\n\tlet mergedApps = Object.assign({}, data.apps, data.configComponents);\r\n\treturn mergedApps;\r\n}\r\n\r\nfunction getFormStatus() {\r\n\treturn data.isFormVisible;\r\n}\r\n\r\nfunction getSingleFolder(folderName) {\r\n\treturn data.folders[folderName];\r\n}\r\n\r\nfunction reorderFolders(destIndex, srcIndex) {\r\n\t// There are two types of folders: Those that can be arranged, and those that cannot. We don't want to reorder the folders relative to the unorderable folders. Split them out, and then combine them after doing the filtering/swapping.\r\n\tconst dragDisabled = getDragDisabled();\r\n\tconst unorderableFolders = data.foldersList.filter((folderName) => dragDisabled.includes(folderName));\r\n\tconst orderableFolders = data.foldersList.filter((folderName) => !dragDisabled.includes(folderName));\r\n\tconst movedFolder = orderableFolders[destIndex];\r\n\tconst remainingItems = orderableFolders.filter((item, index) => index !== destIndex);\r\n\tdata.foldersList = [\r\n\t\t...unorderableFolders,\r\n\t\t...remainingItems.slice(0, srcIndex),\r\n\t\tmovedFolder,\r\n\t\t...remainingItems.slice(srcIndex),\r\n\t];\r\n\t_setValue(\"appFolders.list\", data.foldersList);\r\n\treturn data.foldersList;\r\n}\r\n\r\nfunction addApp(app = {}, cb) {\r\n\tconst appID = `${new Date().getTime()}`;\r\n\tconst folder = data.activeFolder;\r\n\tconst newAppData = {\r\n\t\tappID,\r\n\t\ttags: app.tags !== \"\" ? app.tags.split(\",\") : [],\r\n\t\tname: app.name,\r\n\t\turl: app.url,\r\n\t\ttype: \"component\",\r\n\t\tcanDelete: true,\r\n\t};\r\n\r\n\t/**\r\n\t * Note, the advanced app launcher can currently only keep track of apps that\r\n\t * are added by itself. Apps added by the basic launcher, or any other means,\r\n\t * will not be detected. A reconciliation process would need to be added that\r\n\t * listens on the distributed store similar to how the basic app launcher works.\r\n\t *\r\n\t * FSBL.Clients.RouterClient.subscribe(\"Launcher.update\", (err, response) => {\r\n\t\t\tFSBL.Clients.Logger.debug(\"list updated\", err, response);\r\n\t\t\tif (err) {\r\n\t\t\t\treturn console.error(err);\r\n\t\t\t}\r\n\t\t\tself.filterComponents(response.data.componentList);\r\n\t\t});\r\n\t */\r\n\tFSBL.Clients.LauncherClient.addUserDefinedComponent(newAppData, (compAddErr) => {\r\n\t\tif (compAddErr) {\r\n\t\t\t// TODO: We need to handle the error here. If the component failed to add, we should probably fall back and not add to launcher\r\n\t\t\tcb({ code: \"failed_to_add_app\", message: compAddErr });\r\n\t\t\tconsole.warn(\"Failed to add new app:\", compAddErr);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tdata.apps[appID] = newAppData;\r\n\r\n\t\t// Add to ADVANCED_APP_LAUNCHER folder\r\n\t\tdata.folders[ADVANCED_APP_LAUNCHER].apps.push(newAppData);\r\n\r\n\t\t// Check if we need to add to another folder as well\r\n\t\tif (folder !== ADVANCED_APP_LAUNCHER) {\r\n\t\t\tdata.folders[folder].apps.push(newAppData);\r\n\t\t}\r\n\t\t// Save appDefinitions and then folders\r\n\t\t_setValue(\"appDefinitions\", data.apps, () => {\r\n\t\t\t_setFolders();\r\n\t\t\tcb && cb();\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction deleteApp(appID) {\r\n\t// Delete app from any folder that has it\r\n\tfor (const key in data.folders) {\r\n\t\tconst appIndex = _findAppIndexInFolders(appID, key);\r\n\t\tdata.folders[key].apps.splice(appIndex, 1);\r\n\t}\r\n\r\n\t// Delete app from the apps list\r\n\tFSBL.Clients.LauncherClient.removeUserDefinedComponent(data.apps[appID], () => {\r\n\t\tdelete data.apps[appID];\r\n\t\t// Save appDefinitions and then folders\r\n\t\t_setValue(\"appDefinitions\", data.apps, () => {\r\n\t\t\t_setFolders();\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction addNewFolder(name) {\r\n\t// Each new folder is given a number, lets store them here\r\n\t// to get the highest one and then increment\r\n\t// result of this will be [0, 1, 2] etc\r\n\tconst newFoldersNums = [\r\n\t\t0,\r\n\t\t// Find folders that have a name of \"New folder\" or \"New folder #\"\r\n\t\t...data.foldersList\r\n\t\t\t.filter((folder) => folder.startsWith(NEW_FOLDER_NAME))\r\n\t\t\t.map((folder) => {\r\n\t\t\t\tconst numbers = folder.match(/\\d+/g) || [];\r\n\t\t\t\treturn Math.max.apply(this, numbers);\r\n\t\t\t}),\r\n\t];\r\n\tconst highestFolderNumber = Math.max.apply(this, newFoldersNums);\r\n\tconst folderName = name ?? `${NEW_FOLDER_NAME} ${highestFolderNumber + 1}`;\r\n\tconst newFolder = {\r\n\t\tdisableUserRemove: true,\r\n\t\ticon: \"ff-adp-hamburger\",\r\n\t\tcanEdit: true,\r\n\t\tcanDelete: true,\r\n\t\tapps: [],\r\n\t};\r\n\tdata.folders[folderName] = newFolder;\r\n\t_setFolders(() => {\r\n\t\t// Update folders order if adding was successful\r\n\t\tdata.foldersList.push(folderName);\r\n\t\t_setValue(\"appFolders.list\", data.foldersList);\r\n\t});\r\n}\r\n\r\nfunction deleteFolder(folderName) {\r\n\t// Check if user is trying to delete the active folder\r\n\tif (folderName === data.activeFolder) {\r\n\t\tdata.activeFolder = ADVANCED_APP_LAUNCHER;\r\n\t\t_setValue(\"activeFolder\", data.activeFolder);\r\n\t}\r\n\r\n\tdelete data.folders[folderName] &&\r\n\t\t_setFolders(() => {\r\n\t\t\t// Update the order of folders\r\n\t\t\tconst index = data.foldersList.indexOf(folderName);\r\n\t\t\tdata.foldersList.splice(index, 1);\r\n\t\t\t_setValue(\"appFolders.list\", data.foldersList);\r\n\t\t});\r\n}\r\n\r\nfunction renameFolder(oldName, newName) {\r\n\tlet indexOfOld = data.foldersList.findIndex((folderName) => folderName === oldName);\r\n\r\n\tif (indexOfOld > -1) {\r\n\t\tlet oldFolder = data.folders[oldName];\r\n\t\tdata.folders[newName] = oldFolder;\r\n\t\tdata.foldersList.splice(indexOfOld, 1, newName);\r\n\r\n\t\t_setFolders(() => {\r\n\t\t\t_setValue(\"appFolders.list\", data.foldersList);\r\n\r\n\t\t\tif (data.activeFolder === oldName) {\r\n\t\t\t\t_setValue(\"activeFolder\", newName);\r\n\t\t\t}\r\n\r\n\t\t\tdelete data.folders[oldName];\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction addAppToFolder(folderName, app) {\r\n\tconst appIndex = _findAppIndexInFolders(app.appID, folderName);\r\n\r\n\tif (appIndex < 0) {\r\n\t\tdata.folders[folderName].apps.push({\r\n\t\t\tname: app.name,\r\n\t\t\tdisplayName: app.displayName,\r\n\t\t\tappID: app.appID,\r\n\t\t});\r\n\t\t_setFolders();\r\n\t}\r\n}\r\n\r\nfunction removeAppFromFolder(folderName, app) {\r\n\tconst appIndex = _findAppIndexInFolders(app.appID, folderName);\r\n\tdata.folders[folderName].apps.splice(appIndex, 1);\r\n\t_setFolders();\r\n}\r\n\r\nfunction getAllAppsFromFolder(folderName) {\r\n\treturn data.folders[folderName].apps;\r\n}\r\n\r\n/**\r\n * Given a field, search through FDC3 apps and apps pulled in via config and return that app.\r\n * */\r\nfunction findAppByField(field, value) {\r\n\treturn (\r\n\t\tObject.values(data.apps).find((app) => (app ? app[field] === value : false)) ||\r\n\t\tObject.values(data.configComponents).find((app) => (app ? app[field] === value : false))\r\n\t);\r\n}\r\n\r\nfunction getActiveFolder() {\r\n\tconst folder = data.folders[data.activeFolder];\r\n\r\n\tif (!folder) {\r\n\t\tFSBL.Clients.Logger.error(`activeFolder:\"${data.activeFolder}\" not found! Defaulting to empty folder`);\r\n\t\treturn {\r\n\t\t\tname: data.activeFolder,\r\n\t\t\tapps: [],\r\n\t\t};\r\n\t}\r\n\r\n\tObject.values(folder.apps).forEach((app) => {\r\n\t\tconst appData = findAppByField(\"appID\", app.appID);\r\n\t\tif (!appData) {\r\n\t\t\tapp.tags = [];\r\n\t\t} else {\r\n\t\t\tapp.tags = appData.tags;\r\n\t\t}\r\n\t});\r\n\t// Need a name for the AppDefinition/AppActionsMenu rendering\r\n\tfolder.name = data.activeFolder;\r\n\treturn folder;\r\n}\r\n\r\nfunction getActiveFolderName() {\r\n\treturn data.activeFolder;\r\n}\r\n\r\nfunction getSearchText() {\r\n\treturn data.filterText;\r\n}\r\n\r\nfunction getSortBy() {\r\n\treturn data.sortBy;\r\n}\r\n\r\nfunction getTags() {\r\n\treturn data.tags;\r\n}\r\n\r\nfunction getAllAppsTags() {\r\n\tlet tags = [];\r\n\t// Pull tags from applications installed via FDC3 and the component config.\r\n\tconst apps = Object.values(data.apps).concat(Object.values(data.configComponents));\r\n\r\n\tapps.forEach((app) => {\r\n\t\ttags = tags.concat(app.tags);\r\n\t});\r\n\t// return unique ones only\r\n\treturn tags.filter((tag, index) => tags.indexOf(tag) === index);\r\n}\r\n\r\nfunction addTag(tag) {\r\n\t// Push new tag to list\r\n\tdata.tags.indexOf(tag) < 0 && data.tags.push(tag);\r\n\t// Update tags in store\r\n\t_setValue(\"activeLauncherTags\", data.tags);\r\n}\r\n\r\nfunction deleteTag(tag) {\r\n\t// Push new tag to list\r\n\tdata.tags.splice(data.tags.indexOf(tag), 1);\r\n\t// Update tags in store\r\n\t_setValue(\"activeLauncherTags\", data.tags);\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"StoreActions.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/stores/StoreActions.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\r\nimport { findIndex } from \"lodash\";\r\nimport { getStore } from \"./LauncherStore\";\r\nimport AppDirectory from \"../modules/AppDirectory\";\r\nimport FDC3 from \"../modules/FDC3\";\r\nimport { iconFromConfig } from \"../../../icon/Icon\";\r\nimport { FoldersType, FolderAppType } from \"../../../../types/advancedAppLauncherTypes\";\r\nimport { StandardError } from \"@finsemble/finsemble-core/types/types\";\r\nimport sortFunctions from \"../utils/sort-functions\";\r\nconst async = require(\"async\");\r\nlet FDC3Client: FDC3;\r\nlet appd: any;\r\nlet appDEndpoint: any;\r\n\r\ntype ComponentDescriptor = Record<string, any>;\r\ntype ComponentList = Record<string, ComponentDescriptor>;\r\n\r\ntype AppsType = {\r\n\tappID: string;\r\n\ttags: string[];\r\n\tname: string;\r\n\turl: string;\r\n\ttype: string;\r\n\tcanDelete: boolean;\r\n\tdisplayName?: string;\r\n};\r\ntype ConfigType = {\r\n\tappID: string;\r\n\ticon: any;\r\n\tname: string;\r\n\tdisplayName: string;\r\n\tsource: string;\r\n\ttags: string[];\r\n};\r\ntype DataType = {\r\n\tfolders: FoldersType[\"folders\"];\r\n\tfoldersList: FoldersType[\"list\"];\r\n\tapps: {\r\n\t\t[field: string]: AppsType;\r\n\t};\r\n\ttags: string[];\r\n\tactiveFolder: string;\r\n\tfilterText: string;\r\n\tsortBy: keyof typeof sortFunctions;\r\n\tisFormVisible: boolean;\r\n\tconfigComponents: {\r\n\t\t[field: string]: ConfigType;\r\n\t};\r\n};\r\n\r\nexport default {\r\n\tinitialize,\r\n\taddApp,\r\n\taddNewFolder,\r\n\taddAppToFolder,\r\n\tremoveAppFromFolder,\r\n\trenameFolder,\r\n\tdeleteFolder,\r\n\tdeleteApp,\r\n\tdeleteTag,\r\n\treorderFolders,\r\n\tgetFolders,\r\n\tgetFoldersList,\r\n\tgetActiveFolderName,\r\n\tgetActiveFolder,\r\n\tgetSingleFolder,\r\n\tgetAllAppsTags,\r\n\tgetAllApps,\r\n\tgetAllAppsFromFolder,\r\n\tgetFormStatus,\r\n\tgetSearchText,\r\n\tgetSortBy,\r\n\taddTag,\r\n\tgetTags,\r\n\tgetApp,\r\n\tgetDragDisabled,\r\n\tgetConstants,\r\n\tfindAppByField,\r\n\tgetApps,\r\n\trefreshAppDefinitions,\r\n};\r\n\r\nlet data = <DataType>{};\r\nconst ADVANCED_APP_LAUNCHER = \"Advanced App Launcher\";\r\nconst NEW_FOLDER_NAME = \"New folder\";\r\n// returns names of default folders.\r\nfunction getConstants() {\r\n\tconst DASHBOARDS = \"Dashboards\";\r\n\tconst FAVORITES = \"Favorites\";\r\n\treturn { ADVANCED_APP_LAUNCHER, DASHBOARDS, FAVORITES };\r\n}\r\n\r\n// Add to here if you want to disable dragging on a folder.\r\nfunction getDragDisabled() {\r\n\tconst { DASHBOARDS, FAVORITES } = getConstants();\r\n\treturn [ADVANCED_APP_LAUNCHER, DASHBOARDS, FAVORITES];\r\n}\r\n\r\nfunction initialize(callback = Function.prototype) {\r\n\tFSBL.Clients.ConfigClient.getValue({ field: \"finsemble.appDirectoryEndpoint\" }, (_, appDirectoryEndpoint) => {\r\n\t\t// cache value globally to be used in the event that we need to fetch data for a given component.\r\n\t\tappDEndpoint = appDirectoryEndpoint;\r\n\t\tconst store = getStore();\r\n\t\tdata.folders = store?.values.appFolders.folders;\r\n\t\tdata.foldersList = store?.values.appFolders.list;\r\n\t\tvalidateFolderDataStructure();\r\n\t\tdata.apps = store?.values.appDefinitions;\r\n\t\tdata.tags = store?.values.activeLauncherTags;\r\n\t\tdata.activeFolder = store?.values.activeFolder;\r\n\t\tdata.filterText = store?.values.filterText;\r\n\t\tdata.sortBy = store?.values.sortBy;\r\n\t\tdata.isFormVisible = store?.values.isFormVisible;\r\n\t\tdata.configComponents = {};\r\n\r\n\t\t// Add listeners to keep our copy up to date\r\n\t\tstore?.addListener({ field: \"appFolders.folders\" }, (foldersErr, dt) => {\r\n\t\t\tdata.folders = dt.value;\r\n\t\t});\r\n\t\tstore?.addListener({ field: \"appFolders.list\" }, (folderListErr, dt) => (data.foldersList = dt.value));\r\n\t\tstore?.addListener({ field: \"appDefinitions\" }, (appDefinitionsErr, dt) => (data.apps = dt.value));\r\n\t\tstore?.addListener({ field: \"activeFolder\" }, (activeFolderErr, dt) => {\r\n\t\t\tdata.activeFolder = dt.value;\r\n\t\t});\r\n\t\tstore?.addListener({ field: \"isFormVisible\" }, (visibilityErr, dt) => (data.isFormVisible = dt.value));\r\n\t\tstore?.addListener({ field: \"sortBy\" }, (sortErr, dt) => (data.sortBy = dt.value));\r\n\t\tstore?.addListener({ field: \"activeLauncherTags\" }, (launcherTagsErr, dt) => (data.tags = dt.value));\r\n\t\tstore?.addListener({ field: \"filterText\" }, (filterTextErr, dt) => (data.filterText = dt.value));\r\n\r\n\t\tFSBL.Clients.RouterClient.subscribe(\"Launcher.update\", (err, response) => {\r\n\t\t\tFSBL.Clients.Logger.debug(\"list updated\", err, response);\r\n\t\t\tif (err) {\r\n\t\t\t\treturn console.error(err);\r\n\t\t\t}\r\n\t\t\trefreshAppDefinitions(response.data.componentList);\r\n\t\t});\r\n\r\n\t\tFSBL.Clients.RouterClient.subscribe(\"Finsemble.Service.State.launcherService\", (unsubscribeErr) => {\r\n\t\t\tif (unsubscribeErr) {\r\n\t\t\t\tFSBL.Clients.Logger.error(\r\n\t\t\t\t\t\"App Launcher encountered an error unsubscribing from the launcher service\",\r\n\t\t\t\t\tunsubscribeErr\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tloadInstalledComponentsFromStore(() => {\r\n\t\t\t\t// We load our stored components(config driven) here\r\n\t\t\t\tloadInstalledConfigComponents(() => {\r\n\t\t\t\t\tupdateAppsInFolders(callback);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n}\r\n\r\n// This gets a specific app in FDC3 and returns the results\r\nfunction getApp(appID: string, cb = Function.prototype) {\r\n\tappd\r\n\t\t.get(appID)\r\n\t\t.then((app: any) => cb(null, app))\r\n\t\t.catch((err: StandardError) => cb(err));\r\n}\r\n/**\r\n * Ensures all 'apps' properties on folders conform\r\n * to the new structure (Array vs object)\r\n */\r\nfunction validateFolderDataStructure() {\r\n\tObject.keys(data.folders).forEach((folderName) => {\r\n\t\tconst folder = data.folders[folderName];\r\n\t\tif (!Array.isArray(folder.apps)) {\r\n\t\t\tconst warning =\r\n\t\t\t\t\"Application Launcher Persistent Store has data stored in deprecated format. Please check distributedStore configs\";\r\n\t\t\t// If the structure is wrong, notify the user in hopes that the foundation will be fixed\r\n\t\t\tFSBL.Clients.Logger.warn(warning);\r\n\t\t\tFSBL.UserNotification.alert(\"system\", \"ONCE-SINCE-STARTUP\", \"Distributed Store Type Mismatch\", warning);\r\n\t\t\tlet newApps: FolderAppType[] = [];\r\n\t\t\tObject.values(folder.apps).forEach((app: any) => {\r\n\t\t\t\tnewApps.push(app);\r\n\t\t\t});\r\n\t\t\tfolder.apps = newApps;\r\n\t\t}\r\n\t});\r\n\t_setFolders();\r\n}\r\n\r\n// Update apps in folders with updated config information\r\nfunction updateAppsInFolders(cb = Function.prototype) {\r\n\t// Loop through folders and update apps with new info\r\n\tconst { ADVANCED_APP_LAUNCHER: advancedAppLauncherFolderName } = getConstants();\r\n\tObject.keys(data.folders).forEach((folderName) => {\r\n\t\tif (folderName === advancedAppLauncherFolderName) return;\r\n\t\telse {\r\n\t\t\tconst folder = data.folders[folderName];\r\n\t\t\tObject.values(data.configComponents).forEach((configComp) => {\r\n\t\t\t\tlet index = -1;\r\n\t\t\t\tfolder.apps.forEach((folderApp, i) => {\r\n\t\t\t\t\tif (folderApp.appID.toString().trim() === configComp.appID.toString().trim()) {\r\n\t\t\t\t\t\tindex = i;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (index > -1) {\r\n\t\t\t\t\tdata.folders[folderName].apps.splice(index, 1, configComp);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\t_setFolders(cb);\r\n}\r\n\r\n/**\r\n * Given a component config, will return tags, or an empty array.\r\n *\r\n * @param {*} componentConfig\r\n * @returns\r\n */\r\nfunction extractTagsFromFinsembleComponentConfig(componentConfig: ComponentDescriptor) {\r\n\tif (!componentConfig.foreign) return [];\r\n\tif (!componentConfig.foreign.components) return [];\r\n\tif (!componentConfig.foreign.components[\"App Launcher\"]) return [];\r\n\r\n\tconst { tags } = componentConfig.foreign.components[\"App Launcher\"];\r\n\r\n\tif (tags) {\r\n\t\tif (typeof tags === \"string\") {\r\n\t\t\treturn [tags];\r\n\t\t}\r\n\t\treturn tags;\r\n\t}\r\n\r\n\treturn [];\r\n}\r\n/**\r\n * Instantiates classes needed to interact with the appD server.\r\n * Only done when needed. If there are no components with source 'FDC3', this code will not execute.\r\n */\r\nfunction lazyLoadAppD() {\r\n\tif (!FDC3Client) FDC3Client = new FDC3({ url: appDEndpoint });\r\n\tif (!appd) appd = new AppDirectory(FDC3Client) as FDC3;\r\n}\r\n\r\n/**\r\n * Here we load apps from FDC3\r\n * @param {*} cb\r\n */\r\nfunction loadInstalledComponentsFromStore(cb = Function.prototype) {\r\n\tasync.map(\r\n\t\tObject.values(data.apps),\r\n\t\t(component: any, componentDone: any) => {\r\n\t\t\t// Load FDC3 components here\r\n\t\t\tif (component.source && component.source === \"FDC3\") {\r\n\t\t\t\tlazyLoadAppD();\r\n\t\t\t\t// get the app info so we can load it into the launcher\r\n\t\t\t\treturn getApp(component.appID, (err: StandardError) => {\r\n\t\t\t\t\tif (err) {\r\n\t\t\t\t\t\t// don't want to kill this;\r\n\t\t\t\t\t\tdeleteApp(component.appID);\r\n\t\t\t\t\t\tconsole.error(\"there was an error loading from FDC3\", component, err);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn componentDone();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Assumption - component is always a user defined component\r\n\t\t\t// when testing I was never able to get any other component types in this method\r\n\t\t\tFSBL.Clients.LauncherClient.addUserDefinedComponent(component, (compAddErr) => {\r\n\t\t\t\tif (compAddErr) {\r\n\t\t\t\t\tconsole.warn(\"Failed to add new app:\", compAddErr);\r\n\t\t\t\t}\r\n\t\t\t\tcomponentDone(compAddErr);\r\n\t\t\t});\r\n\t\t},\r\n\t\t(err: StandardError) => {\r\n\t\t\tcb(err);\r\n\t\t}\r\n\t);\r\n}\r\n\r\n// We load our apps that were loaded from the config.\r\nfunction loadInstalledConfigComponents(cb = Function.prototype) {\r\n\t// Get the list of components from the launcher service\r\n\tFSBL.Clients.LauncherClient.getComponentList((err, componentList) => {\r\n\t\t/*\r\n\t\t * Update the folders under the \"App\" menu and delete any apps in the folder\r\n\t\t * that are no longer in the config and are not user defined components.\r\n\t\t */\r\n\t\trefreshAppDefinitions(componentList || {});\r\n\t\tcb();\r\n\t});\r\n}\r\n\r\nfunction getApps() {\r\n\treturn data.apps;\r\n}\r\n\r\nfunction refreshAppDefinitions(componentList: ComponentList) {\r\n\tconst componentTypeList = Object.keys(componentList);\r\n\r\n\tconst { folders } = data;\r\n\t// Get the user defined apps\r\n\tconst apps = Object.keys(data.apps);\r\n\tObject.keys(folders).forEach((folderName) => {\r\n\t\tfolders[folderName].apps.forEach((configDefinedApp, i) => {\r\n\t\t\tconst { name, appID } = configDefinedApp;\r\n\t\t\t// If the component is not in the config component list and is not a user defined component\r\n\t\t\tif (!componentTypeList.includes(name) && !apps.includes(appID)) {\r\n\t\t\t\t// Delete app from the folder\r\n\t\t\t\tfolders[folderName].apps.splice(i, 1);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\tcomponentTypeList.forEach((componentType) => {\r\n\t\tconst component = componentList?.[componentType];\r\n\t\tif (component && component.component) {\r\n\t\t\tconst launchableByUser = component?.foreign?.components?.[\"App Launcher\"]?.launchableByUser;\r\n\r\n\t\t\tconst displayName = component.component.displayName ?? componentType;\r\n\t\t\tconst iconObject = iconFromConfig(component?.foreign?.components?.Toolbar, displayName);\r\n\t\t\t// Make sure the app is launchable by user\r\n\t\t\tif (launchableByUser && !component.component.isUserDefined) {\r\n\t\t\t\tdata.configComponents[componentType] = {\r\n\t\t\t\t\tappID: componentType,\r\n\t\t\t\t\ticon: iconObject,\r\n\t\t\t\t\tname: componentType,\r\n\t\t\t\t\tdisplayName,\r\n\t\t\t\t\tsource: \"config\",\r\n\t\t\t\t\ttags: extractTagsFromFinsembleComponentConfig(component),\r\n\t\t\t\t};\r\n\t\t\t} else if (!launchableByUser && data.configComponents[componentType]) {\r\n\t\t\t\tdelete data.configComponents[componentType];\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction _setValue(field: string, value: any, cb: any) {\r\n\tgetStore()?.setValue(\r\n\t\t{\r\n\t\t\tfield: field,\r\n\t\t\tvalue: value,\r\n\t\t},\r\n\t\t(error) => {\r\n\t\t\tif (error) {\r\n\t\t\t\tFSBL.Clients.Logger.error(`Advanced App Launcher: Failed to save: ${field}:${value}`);\r\n\t\t\t} else {\r\n\t\t\t\tcb && cb();\r\n\t\t\t}\r\n\t\t}\r\n\t);\r\n}\r\n\r\nfunction _setFolders(cb = Function.prototype) {\r\n\t_setValue(\"appFolders.folders\", data.folders, (err: StandardError) => {\r\n\t\tif (err) {\r\n\t\t\tFSBL.Clients.Logger.error(`Advanced App Launcher: Failed to set folders: ${err}`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tcb();\r\n\t});\r\n}\r\n\r\nfunction _findAppIndexInFolders(appID: string, folderName: string) {\r\n\treturn findIndex(data.folders[folderName].apps, (app) => app.appID === appID);\r\n}\r\n\r\nfunction getFolders() {\r\n\treturn data.folders;\r\n}\r\n\r\nfunction getFoldersList() {\r\n\treturn data.foldersList;\r\n}\r\n\r\nfunction getAllApps() {\r\n\treturn Object.assign({}, data.apps, data.configComponents);\r\n}\r\n\r\nfunction getFormStatus() {\r\n\treturn data.isFormVisible;\r\n}\r\n\r\nfunction getSingleFolder(folderName: string) {\r\n\treturn data.folders[folderName];\r\n}\r\n\r\nfunction reorderFolders(destIndex: number, srcIndex: number) {\r\n\t// There are two types of folders: Those that can be arranged, and those that cannot. We don't want to reorder the folders relative to the unorderable folders. Split them out, and then combine them after doing the filtering/swapping.\r\n\tconst dragDisabled = getDragDisabled();\r\n\tconst unorderableFolders = data.foldersList.filter((folderName) => dragDisabled.includes(folderName));\r\n\tconst orderableFolders = data.foldersList.filter((folderName) => !dragDisabled.includes(folderName));\r\n\tconst movedFolder = orderableFolders[destIndex];\r\n\tconst remainingItems = orderableFolders.filter((item, index) => index !== destIndex);\r\n\tdata.foldersList = [\r\n\t\t...unorderableFolders,\r\n\t\t...remainingItems.slice(0, srcIndex),\r\n\t\tmovedFolder,\r\n\t\t...remainingItems.slice(srcIndex),\r\n\t];\r\n\t_setValue(\"appFolders.list\", data.foldersList, () => {});\r\n\treturn data.foldersList;\r\n}\r\n\r\nfunction addApp(app = <AppsType>{}, cb: any) {\r\n\tconst appID = `${new Date().getTime()}`;\r\n\tconst folder = data.activeFolder;\r\n\tconst newAppData = {\r\n\t\tappID,\r\n\t\ttags: app.tags,\r\n\t\tname: app.name,\r\n\t\turl: app.url,\r\n\t\ttype: \"component\",\r\n\t\tcanDelete: true,\r\n\t};\r\n\r\n\t/**\r\n\t * Note, the advanced app launcher can currently only keep track of apps that\r\n\t * are added by itself. Apps added by the basic launcher, or any other means,\r\n\t * will not be detected. A reconciliation process would need to be added that\r\n\t * listens on the distributed store similar to how the basic app launcher works.\r\n\t *\r\n\t * FSBL.Clients.RouterClient.subscribe(\"Launcher.update\", (err, response) => {\r\n\t\t\tFSBL.Clients.Logger.debug(\"list updated\", err, response);\r\n\t\t\tif (err) {\r\n\t\t\t\treturn console.error(err);\r\n\t\t\t}\r\n\t\t\tself.filterComponents(response.data.componentList);\r\n\t\t});\r\n\t */\r\n\tFSBL.Clients.LauncherClient.addUserDefinedComponent(newAppData, (compAddErr) => {\r\n\t\tif (compAddErr) {\r\n\t\t\tcb({ code: \"failed_to_add_app\", message: compAddErr });\r\n\t\t\tconsole.warn(\"Failed to add new app:\", compAddErr);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tdata.apps[appID] = newAppData;\r\n\r\n\t\t// Add to ADVANCED_APP_LAUNCHER folder\r\n\t\tdata.folders[ADVANCED_APP_LAUNCHER].apps.push(newAppData);\r\n\r\n\t\t// Check if we need to add to another folder as well\r\n\t\tif (folder !== ADVANCED_APP_LAUNCHER) {\r\n\t\t\tdata.folders[folder].apps.push(newAppData);\r\n\t\t}\r\n\t\t// Save appDefinitions and then folders\r\n\t\t_setValue(\"appDefinitions\", data.apps, () => {\r\n\t\t\t_setFolders();\r\n\t\t\tcb && cb();\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction deleteApp(appID: string) {\r\n\t// Delete app from any folder that has it\r\n\tfor (const key in data.folders) {\r\n\t\tconst appIndex = _findAppIndexInFolders(appID, key);\r\n\t\tdata.folders[key].apps.splice(appIndex, 1);\r\n\t}\r\n\r\n\t// Delete app from the apps list\r\n\tFSBL.Clients.LauncherClient.removeUserDefinedComponent(data.apps[appID], () => {\r\n\t\tdelete data.apps[appID];\r\n\t\t// Save appDefinitions and then folders\r\n\t\t_setValue(\"appDefinitions\", data.apps, () => {\r\n\t\t\t_setFolders();\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction addNewFolder(name?: string) {\r\n\t// Each new folder is given a number, lets store them here\r\n\t// to get the highest one and then increment\r\n\t// result of this will be [0, 1, 2] etc\r\n\tconst newFoldersNums = [\r\n\t\t0,\r\n\t\t// Find folders that have a name of \"New folder\" or \"New folder #\"\r\n\t\t...data.foldersList\r\n\t\t\t.filter((folder) => folder.startsWith(NEW_FOLDER_NAME))\r\n\t\t\t.map((folder) => {\r\n\t\t\t\tconst numbers: any[] = folder.match(/\\d+/g) || [];\r\n\t\t\t\treturn Math.max(...numbers);\r\n\t\t\t}),\r\n\t];\r\n\tconst highestFolderNumber = Math.max(...newFoldersNums);\r\n\tconst folderName: string = name ?? `${NEW_FOLDER_NAME} ${highestFolderNumber + 1}`;\r\n\tconst newFolder = {\r\n\t\tdisableUserRemove: true,\r\n\t\ticon: \"ff-adp-hamburger\",\r\n\t\tcanEdit: true,\r\n\t\tcanDelete: true,\r\n\t\tapps: [],\r\n\t};\r\n\tdata.folders[folderName] = newFolder;\r\n\t_setFolders(() => {\r\n\t\t// Update folders order if adding was successful\r\n\t\tdata.foldersList.push(folderName);\r\n\t\t_setValue(\"appFolders.list\", data.foldersList, () => {});\r\n\t});\r\n}\r\n\r\nfunction deleteFolder(folderName: string) {\r\n\t// Check if user is trying to delete the active folder\r\n\tif (folderName === data.activeFolder) {\r\n\t\tdata.activeFolder = ADVANCED_APP_LAUNCHER;\r\n\t\t_setValue(\"activeFolder\", data.activeFolder, () => {});\r\n\t}\r\n\r\n\tdelete data.folders[folderName] &&\r\n\t\t_setFolders(() => {\r\n\t\t\t// Update the order of folders\r\n\t\t\tconst index = data.foldersList.indexOf(folderName);\r\n\t\t\tdata.foldersList.splice(index, 1);\r\n\t\t\t_setValue(\"appFolders.list\", data.foldersList, () => {});\r\n\t\t});\r\n}\r\n\r\nfunction renameFolder(oldName: string, newName: string) {\r\n\tlet indexOfOld = data.foldersList.findIndex((folderName) => folderName === oldName);\r\n\r\n\tif (indexOfOld > -1) {\r\n\t\tlet oldFolder = data.folders[oldName];\r\n\t\tdata.folders[newName] = oldFolder;\r\n\t\tdata.foldersList.splice(indexOfOld, 1, newName);\r\n\r\n\t\t_setFolders(() => {\r\n\t\t\t_setValue(\"appFolders.list\", data.foldersList, () => {});\r\n\r\n\t\t\tif (data.activeFolder === oldName) {\r\n\t\t\t\t_setValue(\"activeFolder\", newName, () => {});\r\n\t\t\t}\r\n\r\n\t\t\tdelete data.folders[oldName];\r\n\t\t});\r\n\t}\r\n}\r\n\r\nfunction addAppToFolder(folderName: string, app: FolderAppType) {\r\n\tconst appIndex = _findAppIndexInFolders(app.appID, folderName);\r\n\r\n\tif (appIndex < 0) {\r\n\t\tdata.folders[folderName].apps.push({\r\n\t\t\tname: app.name,\r\n\t\t\tdisplayName: app.displayName,\r\n\t\t\tappID: app.appID,\r\n\t\t});\r\n\t\t_setFolders();\r\n\t}\r\n}\r\n\r\nfunction removeAppFromFolder(folderName: string, app: FolderAppType) {\r\n\tconst appIndex = _findAppIndexInFolders(app.appID, folderName);\r\n\tdata.folders[folderName].apps.splice(appIndex, 1);\r\n\t_setFolders();\r\n}\r\n\r\nfunction getAllAppsFromFolder(folderName: string) {\r\n\treturn data.folders[folderName].apps;\r\n}\r\n\r\n/**\r\n * Given a field, search through FDC3 apps and apps pulled in via config and return that app.\r\n * */\r\nfunction findAppByField(field: keyof AppsType | keyof ConfigType, value: any) {\r\n\treturn (\r\n\t\tObject.values(data.apps).find((app) => (app ? (app as any)[field] === value : false)) ||\r\n\t\tObject.values(data.configComponents).find((app) => (app ? (app as any)[field] === value : false))\r\n\t);\r\n}\r\n\r\nfunction getActiveFolder() {\r\n\tconst folder = data.folders[data.activeFolder];\r\n\r\n\tif (!folder) {\r\n\t\tFSBL.Clients.Logger.error(`activeFolder:\"${data.activeFolder}\" not found! Defaulting to empty folder`);\r\n\t\treturn {\r\n\t\t\tname: data.activeFolder,\r\n\t\t\tapps: [],\r\n\t\t};\r\n\t}\r\n\r\n\tObject.values(folder.apps).forEach((app) => {\r\n\t\tconst appData = findAppByField(\"appID\", app.appID);\r\n\t\tif (!appData) {\r\n\t\t\tapp.tags = [];\r\n\t\t} else {\r\n\t\t\tapp.tags = appData.tags;\r\n\t\t}\r\n\t});\r\n\t// Need a name for the AppDefinition/AppActionsMenu rendering\r\n\tfolder.name = data.activeFolder;\r\n\treturn folder;\r\n}\r\n\r\nfunction getActiveFolderName() {\r\n\treturn data.activeFolder;\r\n}\r\n\r\nfunction getSearchText() {\r\n\treturn data.filterText;\r\n}\r\n\r\nfunction getSortBy() {\r\n\treturn data.sortBy;\r\n}\r\n\r\nfunction getTags() {\r\n\treturn data.tags;\r\n}\r\n\r\nfunction getAllAppsTags() {\r\n\tlet tags: any[] = [];\r\n\t// Pull tags from applications installed via FDC3 and the component config.\r\n\tconst apps = Object.values(data.apps).concat(Object.values(data.configComponents) as any);\r\n\r\n\tapps.forEach((app) => {\r\n\t\ttags = tags.concat(app.tags);\r\n\t});\r\n\t// return unique ones only\r\n\treturn tags.filter((tag, index) => tags.indexOf(tag) === index);\r\n}\r\n\r\nfunction addTag(tag: string) {\r\n\t// Push new tag to list\r\n\tdata.tags.indexOf(tag) < 0 && data.tags.push(tag);\r\n\t// Update tags in store\r\n\t_setValue(\"activeLauncherTags\", data.tags, () => {});\r\n}\r\n\r\nfunction deleteTag(tag: string) {\r\n\t// Push new tag to list\r\n\tdata.tags.splice(data.tags.indexOf(tag), 1);\r\n\t// Update tags in store\r\n\t_setValue(\"activeLauncherTags\", data.tags, () => {});\r\n}\r\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
declare
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { FolderAppType } from "../../../../types/advancedAppLauncherTypes";
|
|
2
|
+
export declare const findAppIndexInFolder: (appID: FolderAppType["appID"], folderName: string) => number;
|
|
3
|
+
export declare const isAppInFavorites: (appID: FolderAppType["appID"]) => boolean;
|
|
4
|
+
declare const _default: {
|
|
5
|
+
Alphabetical: (list: FolderAppType[]) => FolderAppType[];
|
|
6
|
+
Favorites: (list: FolderAppType[]) => FolderAppType[];
|
|
7
|
+
};
|
|
7
8
|
export default _default;
|
|
@@ -12,18 +12,16 @@ export const isAppInFavorites = (appID) => {
|
|
|
12
12
|
};
|
|
13
13
|
export default {
|
|
14
14
|
Alphabetical: (list) => list.sort((a, b) => a.name.localeCompare(b.name)),
|
|
15
|
-
Favorites: (list) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
});
|
|
27
|
-
},
|
|
15
|
+
Favorites: (list) => list.sort((a, b) => {
|
|
16
|
+
const aInFavorites = isAppInFavorites(a.appID);
|
|
17
|
+
const bInFavorites = isAppInFavorites(b.appID);
|
|
18
|
+
if (aInFavorites && !bInFavorites) {
|
|
19
|
+
return -1;
|
|
20
|
+
}
|
|
21
|
+
else if (!aInFavorites && bInFavorites) {
|
|
22
|
+
return 1;
|
|
23
|
+
}
|
|
24
|
+
return a.name.localeCompare(b.name);
|
|
25
|
+
}),
|
|
28
26
|
};
|
|
29
27
|
//# sourceMappingURL=sort-functions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-functions.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/utils/sort-functions.
|
|
1
|
+
{"version":3,"file":"sort-functions.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/utils/sort-functions.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAA6B,EAAE,UAAkB,EAAE,EAAE;IACzF,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IACxD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAA6B,EAAE,EAAE;IACjE,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAEvD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,eAAe;IAId,YAAY,EAAE,CAAC,IAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAS1F,SAAS,EAAE,CAAC,IAAqB,EAAE,EAAE,CACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClB,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,YAAY,IAAI,CAAC,YAAY,EAAE;YAClC,OAAO,CAAC,CAAC,CAAC;SACV;aAAM,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE;YACzC,OAAO,CAAC,CAAC;SACT;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;CACH,CAAC","sourcesContent":["import storeActions from \"../stores/StoreActions\";\r\nimport { findIndex } from \"lodash\";\r\nimport { FolderAppType } from \"../../../../types/advancedAppLauncherTypes\";\r\n\r\nexport const findAppIndexInFolder = (appID: FolderAppType[\"appID\"], folderName: string) => {\r\n\tconst folder = storeActions.getSingleFolder(folderName);\r\n\treturn findIndex(folder.apps, (app: FolderAppType) => app.appID === appID);\r\n};\r\n\r\nexport const isAppInFavorites = (appID: FolderAppType[\"appID\"]) => {\r\n\tconst index = findAppIndexInFolder(appID, \"Favorites\");\r\n\r\n\tif (index < 0) return false;\r\n\treturn true;\r\n};\r\n\r\nexport default {\r\n\t/**\r\n\t * Sorts list by name alphabetically\r\n\t */\r\n\tAlphabetical: (list: FolderAppType[]) => list.sort((a, b) => a.name.localeCompare(b.name)),\r\n\r\n\t/**\r\n\t * Sorts a list of application by Favorites.\r\n\t * It gets a list of apps from Favorites folder\r\n\t * then in the sort function, it checks where a, b apps\r\n\t * are in favorite folder or not, giving a lower index\r\n\t * for apps that are in Favorite folder\r\n\t */\r\n\tFavorites: (list: FolderAppType[]) =>\r\n\t\tlist.sort((a, b) => {\r\n\t\t\tconst aInFavorites = isAppInFavorites(a.appID);\r\n\t\t\tconst bInFavorites = isAppInFavorites(b.appID);\r\n\t\t\t// a component being in favorites means it is \"less than\" another component not in favorites, so return -1\r\n\t\t\tif (aInFavorites && !bInFavorites) {\r\n\t\t\t\treturn -1;\r\n\t\t\t} else if (!aInFavorites && bInFavorites) {\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\t\t\treturn a.name.localeCompare(b.name);\r\n\t\t}),\r\n};\r\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
import { MenuProps } from "../../menu/Menu";
|
|
3
|
+
declare type AppLauncherMenuType = MenuProps & {
|
|
3
4
|
enableQuickComponents?: boolean;
|
|
4
|
-
title?: string;
|
|
5
5
|
componentFilter?: string[];
|
|
6
6
|
suppressFavorites?: boolean;
|
|
7
7
|
dynamic?: boolean;
|
|
8
8
|
};
|
|
9
|
-
export declare const AppLauncherMenu: (props:
|
|
9
|
+
export declare const AppLauncherMenu: (props: AppLauncherMenuType) => JSX.Element;
|
|
10
10
|
export {};
|
|
@@ -6,7 +6,7 @@ export const AppLauncherMenu = (props) => {
|
|
|
6
6
|
return React.createElement(DynamicAppLauncher, null);
|
|
7
7
|
}
|
|
8
8
|
else {
|
|
9
|
-
return React.createElement(StaticAppLauncherMenu, {
|
|
9
|
+
return React.createElement(StaticAppLauncherMenu, Object.assign({}, props));
|
|
10
10
|
}
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=AppLauncherMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppLauncherMenu.js","sourceRoot":"","sources":["../../../../src/components/toolbar/appLauncher/AppLauncherMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"AppLauncherMenu.js","sourceRoot":"","sources":["../../../../src/components/toolbar/appLauncher/AppLauncherMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA2B1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC7D,IAAI,KAAK,CAAC,OAAO,EAAE;QAClB,OAAO,oBAAC,kBAAkB,OAAG,CAAC;KAC9B;SAAM;QACN,OAAO,oBAAC,qBAAqB,oBAAK,KAAK,EAAI,CAAC;KAC5C;AACF,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\r\nimport { StaticAppLauncherMenu } from \"./StaticAppLauncherMenu\";\r\nimport { DynamicAppLauncher } from \"./DynamicAppLauncher\";\r\nimport { MenuProps } from \"../../menu/Menu\";\r\n\r\ntype AppLauncherMenuType = MenuProps & {\r\n\tenableQuickComponents?: boolean; // DEPRECATED: Quick Components will be removed in a future version\r\n\tcomponentFilter?: string[];\r\n\tsuppressFavorites?: boolean;\r\n\tdynamic?: boolean;\r\n};\r\n\r\n/**\r\n * The menu, or collection of menus, that lists all configured Finsemble applications, and provides\r\n * the ability to launch any listed app.\r\n *\r\n * @param {boolean} [enableQuickComponents=false] DEPRECATED: Set to true to allow users to create their own components\r\n * @param {string} [title] The title of the menu that appears in the menu's <MenuToggle> button, as viewed in the toolbar. Can be string or any ReactNode.\r\n * @param {string[]} [componentFilter] Custom list of menu items to display\r\n * @param {boolean} [suppressFavorites=false]\r\n * @param {boolean} [dynamic=false] If dynamic=true, get list of menus from manifest, as well as listening for updates to list\r\n * @param {string} [className] - Custom body class for the menu contents. These classes will be set on the <body> tag for the Menu's drop down window.\r\n * @param {string} [id] - Unique ID for the menu. Defaults to a random string.\r\n * @param {number} [maxHeight=Infinity] - Maximum height of the menu.\r\n * @param {array} [openHotkey] - A hotkey combination to open the menu.\r\n * @param {array} [closeHotkey=[\"escape\"] ] - A hotkey combination to close the menu. Defaults to [\"escape\"].\r\n * @param {number} [width=180] - Custom width for the menu.\r\n * @param {number} [height] - Custom height for the menu. If not set then the height will be automatically calculated based on the content height and available monitor space.\r\n */\r\nexport const AppLauncherMenu = (props: AppLauncherMenuType) => {\r\n\tif (props.dynamic) {\r\n\t\treturn <DynamicAppLauncher />;\r\n\t} else {\r\n\t\treturn <StaticAppLauncherMenu {...props} />;\r\n\t}\r\n};\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicAppLauncher.js","sourceRoot":"","sources":["../../../../src/components/toolbar/appLauncher/DynamicAppLauncher.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACtC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"DynamicAppLauncher.js","sourceRoot":"","sources":["../../../../src/components/toolbar/appLauncher/DynamicAppLauncher.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACtC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9E,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,UAAU,EAAE,CAAC;QAGb,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,UAAU,CAAC,CAAC;IACxF,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACN,0CACE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;SACnB,MAAM,CAAC,CAAC,OAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;SACjE,IAAI,CAAC,CAAC,CAAc,EAAE,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;SACjE,GAAG,CAAC,CAAC,OAAoB,EAAE,KAAa,EAAE,EAAE,CAAC,CAC7C,oBAAC,qBAAqB,IACrB,GAAG,EAAE,KAAK,EACV,EAAE,EAAE,eAAe,KAAK,EAAE,EAC1B,KAAK,EAAE,OAAO,CAAC,WAAW,EAC1B,eAAe,EAAE,OAAO,CAAC,YAAY,EACrC,iBAAiB,EAAE,IAAI,GACtB,CACF,CAAC,CACD,CACH,CAAC;AACH,CAAC,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\n\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { MenuObjType, MenuType } from \"../../../types/smartDesktopDesignerTypes\";\r\nimport { StaticAppLauncherMenu } from \"./StaticAppLauncherMenu\";\r\n\r\nexport const DynamicAppLauncher = () => {\r\n\tconst [menus, setMenus] = useState<MenuType>({});\r\n\r\n\tconst updateMenu = () => {\r\n\t\tFSBL.Clients.ConfigClient.getValue(\"finsemble.toolbarMenus\").then(({ data }) => {\r\n\t\t\tsetMenus(data);\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tupdateMenu();\r\n\r\n\t\t// Listen for notifications that the menu has changed\r\n\t\tFSBL.Clients.ConfigClient.addListener({ field: \"finsemble.toolbarMenus\" }, updateMenu);\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{Object.values(menus)\r\n\t\t\t\t.filter((menuObj: MenuObjType) => menuObj.applications.length > 0)\r\n\t\t\t\t.sort((a: MenuObjType, b: MenuObjType) => a.position - b.position)\r\n\t\t\t\t.map((menuObj: MenuObjType, index: number) => (\r\n\t\t\t\t\t<StaticAppLauncherMenu\r\n\t\t\t\t\t\tkey={index}\r\n\t\t\t\t\t\tid={`AppLauncher-${index}`}\r\n\t\t\t\t\t\ttitle={menuObj.displayName}\r\n\t\t\t\t\t\tcomponentFilter={menuObj.applications}\r\n\t\t\t\t\t\tsuppressFavorites={true}\r\n\t\t\t\t\t/>\r\n\t\t\t\t))}\r\n\t\t</>\r\n\t);\r\n};\r\n"]}
|
|
@@ -1,6 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import "./appLauncher.css";
|
|
3
|
+
interface IProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
closeHotkey?: Array<string>;
|
|
6
|
+
height?: number;
|
|
7
|
+
id?: string;
|
|
8
|
+
maxHeight?: number;
|
|
9
|
+
openHotkey?: Array<string>;
|
|
10
|
+
width?: number;
|
|
11
|
+
title?: React.ReactNode | string | null;
|
|
12
|
+
enableQuickComponents?: boolean;
|
|
13
|
+
componentFilter?: string[];
|
|
14
|
+
suppressFavorites?: boolean;
|
|
15
|
+
dynamic?: boolean;
|
|
16
|
+
}
|
|
17
|
+
interface IState {
|
|
18
|
+
initialized: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare class StaticAppLauncherMenu extends React.Component<IProps, IState> {
|
|
21
|
+
constructor(props: IProps);
|
|
3
22
|
onInitialized(): void;
|
|
23
|
+
componentDidMount(): void;
|
|
24
|
+
componentWillUnmount(): void;
|
|
4
25
|
openQuickComponent(): void;
|
|
26
|
+
render(): JSX.Element;
|
|
5
27
|
}
|
|
6
|
-
|
|
28
|
+
export {};
|