@finsemble/finsemble-ui 6.1.4 → 6.3.0-beta.20211008
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 +26 -22
- package/react/actions/smartDesktopDesignerActions.d.ts +7 -7
- 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/defaultTheme.css +1 -1
- package/react/assets/css/notificationsCenter.css +5 -2
- package/react/assets/css/userPreferences.css +5 -2
- package/react/assets/css/windowTitleBar.css +34 -1
- package/react/assets/icons/check-square.svg +6 -0
- package/react/assets/icons/lock.svg +6 -0
- package/react/components/FinsembleProvider.js +1 -1
- package/react/components/FinsembleProvider.js.map +1 -1
- 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 -4
- package/react/components/appCatalog/components/Toast.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 +20 -18
- 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.map +1 -1
- package/react/components/common/Button.d.ts +5 -4
- package/react/components/common/Button.js +2 -2
- 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/ButtonRow.d.ts +15 -0
- package/react/components/common/ButtonRow.js +32 -0
- package/react/components/common/ButtonRow.js.map +1 -0
- package/react/components/common/Checkbox.d.ts +8 -0
- package/react/components/common/Checkbox.js +22 -0
- package/react/components/common/Checkbox.js.map +1 -0
- 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 +4 -0
- package/react/components/common/FinsembleIcon.js.map +1 -1
- package/react/components/common/FinsembleSelect.d.ts +3 -2
- package/react/components/common/FinsembleSelect.js +3 -6
- 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/Tooltip.d.ts +4 -3
- package/react/components/common/Tooltip.js +3 -3
- package/react/components/common/Tooltip.js.map +1 -1
- package/react/components/common/css/tooltip.css +10 -0
- 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 +20 -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.d.ts +14 -0
- package/react/components/common/stories/ButtonRow.stories.js +39 -0
- package/react/components/common/stories/ButtonRow.stories.js.map +1 -0
- 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.d.ts +13 -0
- package/react/components/common/stories/Checkbox.stories.js +29 -0
- package/react/components/common/stories/Checkbox.stories.js.map +1 -0
- 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/DropdownButton.stories.d.ts +22 -0
- package/react/components/common/stories/DropdownButton.stories.js +29 -0
- package/react/components/common/stories/DropdownButton.stories.js.map +1 -0
- package/react/components/common/stories/FinsembleIcon.stories.js +2 -0
- package/react/components/common/stories/FinsembleIcon.stories.js.map +1 -1
- package/react/components/common/stories/FinsembleSelect.stories.d.ts +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/stories/Tooltip.stories.d.ts +1 -1
- package/react/components/{shared/addProtocolToValidURL.spec.d.ts → common/tests/ButtonRow.spec.d.ts} +0 -0
- package/react/components/common/tests/ButtonRow.spec.js +25 -0
- package/react/components/common/tests/ButtonRow.spec.js.map +1 -0
- package/react/components/common/tests/Checkbox.spec.d.ts +1 -0
- package/react/components/common/tests/Checkbox.spec.js +33 -0
- package/react/components/common/tests/Checkbox.spec.js.map +1 -0
- 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.css +1 -0
- package/react/components/fdc3Resolver/ResolverDialog.js +15 -16
- package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.spec.js +6 -13
- package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.stories.js +46 -46
- 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/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 +18 -17
- 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 +6 -3
- 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/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 +2 -4
- package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
- package/react/components/notifications/components/drawer/DrawerHeader.js +3 -6
- package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js +55 -69
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +14 -15
- 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 +1 -1
- 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 +10 -10
- 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 +5 -8
- package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
- package/react/components/notifications/constants.d.ts +13 -0
- 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 +17 -10
- 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 +19 -10
- package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
- package/react/components/processMonitor/components/ListHeader.d.ts +17 -4
- 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 +25 -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 +3 -1
- package/react/components/processMonitor/constants.js.map +1 -1
- package/react/components/processMonitor/helpers.d.ts +25 -5
- package/react/components/processMonitor/helpers.js +28 -20
- 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 +30 -15
- package/react/components/processMonitor/stores/ProcessMonitorStore.js +101 -86
- 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 +13 -14
- package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
- package/react/components/search/Highlight.js +13 -3
- 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 +2 -1
- 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.d.ts +1 -0
- package/react/components/shared/DefaultDropdownButton.js +14 -4
- 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.d.ts +1 -0
- package/react/components/shared/tests/DefaultDropdownButton.spec.js +54 -0
- package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -0
- package/react/components/shared/tests/addProtocolToValidURL.spec.d.ts +1 -0
- package/react/components/shared/{addProtocolToValidURL.spec.js → tests/addProtocolToValidURL.spec.js} +1 -1
- package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +1 -0
- 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 +15 -0
- package/react/components/smartDesktopDesigner/AppEditAccess.js +138 -0
- package/react/components/smartDesktopDesigner/AppEditAccess.js.map +1 -0
- package/react/components/smartDesktopDesigner/AppEditPage.d.ts +9 -3
- package/react/components/smartDesktopDesigner/AppEditPage.js +5 -1
- 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 -4
- package/react/components/smartDesktopDesigner/Application.js +85 -83
- package/react/components/smartDesktopDesigner/Application.js.map +1 -1
- package/react/components/smartDesktopDesigner/ApplicationEdit.d.ts +3 -0
- 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 +33 -20
- package/react/components/smartDesktopDesigner/ApplicationList.js.map +1 -1
- package/react/components/smartDesktopDesigner/ApplicationSetup.d.ts +7 -1
- package/react/components/smartDesktopDesigner/ApplicationSetup.js +8 -20
- package/react/components/smartDesktopDesigner/ApplicationSetup.js.map +1 -1
- package/react/components/smartDesktopDesigner/Applications.d.ts +2 -1
- 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 +11 -24
- 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 -1
- package/react/components/smartDesktopDesigner/common/getCSSVars.js +2 -1
- 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 +6 -14
- package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
- package/react/components/smartDesktopDesigner/css/applications.css +38 -0
- package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js +20 -2
- package/react/components/smartDesktopDesigner/fixtures/applicationEditProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js +10 -1
- package/react/components/smartDesktopDesigner/fixtures/applicationSetupProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/applicationsProps.js +6 -3
- package/react/components/smartDesktopDesigner/fixtures/applicationsProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/apps.d.ts +5 -2
- package/react/components/smartDesktopDesigner/fixtures/apps.js +15 -15
- package/react/components/smartDesktopDesigner/fixtures/apps.js.map +1 -1
- 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/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 +22 -2
- 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 +3 -2
- package/react/components/smartDesktopDesigner/stories/Applications.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Authentication.stories.js +7 -14
- 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 +33 -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.d.ts +1 -1
- package/react/components/smartDesktopDesigner/tests/Applications.spec.js +118 -41
- 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 +2 -1
- 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 +24 -3
- 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 +5 -4
- 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 -2
- package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +34 -13
- package/react/components/toolbar/advancedAppLauncher/components/Content.js +22 -29
- 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 +7 -3
- 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.d.ts +5 -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.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.js +5 -4
- 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 +3 -10
- 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 +24 -21
- 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 +37 -55
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
- package/react/components/toolbar/dashbar/Dashbar.js +24 -13
- package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
- package/react/components/toolbar/dashbar/DashbarItem.js +1 -1
- 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 +65 -11
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +95 -145
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
- 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/UserPreferences.js +8 -23
- package/react/components/userPreferences/UserPreferences.js.map +1 -1
- package/react/components/userPreferences/UserPreferencesBase.d.ts +3 -1
- package/react/components/userPreferences/UserPreferencesBase.js +5 -6
- package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
- package/react/components/userPreferences/UserPreferencesWrapper.d.ts +4 -0
- package/react/components/userPreferences/UserPreferencesWrapper.js +27 -0
- package/react/components/userPreferences/UserPreferencesWrapper.js.map +1 -0
- package/react/components/userPreferences/components/ContentSection.d.ts +18 -3
- package/react/components/userPreferences/components/ContentSection.js +6 -3
- package/react/components/userPreferences/components/ContentSection.js.map +1 -1
- package/react/components/userPreferences/components/LeftNav.d.ts +19 -4
- package/react/components/userPreferences/components/LeftNav.js +12 -11
- package/react/components/userPreferences/components/LeftNav.js.map +1 -1
- package/react/components/userPreferences/components/content/DashbarEditor.d.ts +20 -5
- package/react/components/userPreferences/components/content/DashbarEditor.js +11 -11
- package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
- package/react/components/userPreferences/components/content/DashbarEditorItem.d.ts +10 -0
- package/react/components/userPreferences/components/content/DashbarEditorItem.js +11 -0
- package/react/components/userPreferences/components/content/DashbarEditorItem.js.map +1 -0
- package/react/components/userPreferences/components/content/General.d.ts +10 -3
- package/react/components/userPreferences/components/content/General.js +2 -2
- package/react/components/userPreferences/components/content/General.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.js +51 -113
- package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js +56 -61
- package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.d.ts +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js +17 -15
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.d.ts +3 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js +15 -16
- 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.d.ts +24 -7
- package/react/components/userPreferences/components/general/ScheduledRestart.js +71 -23
- package/react/components/userPreferences/components/general/ScheduledRestart.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceButton.d.ts +8 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceButton.js +9 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceComponents.d.ts +6 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js +11 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js.map +1 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.d.ts +45 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.js +89 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceItemList.d.ts +8 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js +21 -0
- package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js.map +1 -0
- package/react/components/userPreferences/index.d.ts +1 -1
- package/react/components/userPreferences/index.js +1 -1
- package/react/components/userPreferences/index.js.map +1 -1
- package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +12 -13
- package/react/components/userPreferences/stores/UserPreferencesStore.js +13 -25
- package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
- package/react/components/userPreferences/stories/DashbarEditor.stories.d.ts +2 -1
- package/react/components/userPreferences/stories/DashbarEditor.stories.js +35 -4
- package/react/components/userPreferences/stories/DashbarEditor.stories.js.map +1 -1
- package/react/components/userPreferences/stories/DashbarEditorItem.stories.d.ts +11 -0
- package/react/components/userPreferences/stories/DashbarEditorItem.stories.js +21 -0
- package/react/components/userPreferences/stories/DashbarEditorItem.stories.js.map +1 -0
- package/react/components/userPreferences/stories/General.stories.d.ts +9 -0
- package/react/components/userPreferences/stories/General.stories.js +16 -0
- package/react/components/userPreferences/stories/General.stories.js.map +1 -0
- package/react/components/userPreferences/stories/Notifications.stories.d.ts +9 -0
- package/react/components/userPreferences/stories/Notifications.stories.js +17 -0
- package/react/components/userPreferences/stories/Notifications.stories.js.map +1 -0
- package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.d.ts +9 -0
- package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js +20 -0
- package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js.map +1 -0
- package/react/components/userPreferences/stories/NotificationsSources.stories.d.ts +12 -0
- package/react/components/userPreferences/stories/NotificationsSources.stories.js +28 -0
- package/react/components/userPreferences/stories/NotificationsSources.stories.js.map +1 -0
- package/react/components/userPreferences/stories/UserPreferences.stories.d.ts +8 -0
- package/react/components/userPreferences/stories/UserPreferences.stories.js +53 -0
- package/react/components/userPreferences/stories/UserPreferences.stories.js.map +1 -0
- package/react/components/userPreferences/stories/WorkspaceButton.stories.d.ts +11 -0
- package/react/components/userPreferences/stories/WorkspaceButton.stories.js +20 -0
- package/react/components/userPreferences/stories/WorkspaceButton.stories.js.map +1 -0
- package/react/components/userPreferences/stories/WorkspaceComponents.stories.d.ts +13 -0
- package/react/components/userPreferences/stories/WorkspaceComponents.stories.js +26 -0
- package/react/components/userPreferences/stories/WorkspaceComponents.stories.js.map +1 -0
- package/react/components/userPreferences/stories/WorkspaceItem.stories.d.ts +9 -0
- package/react/components/userPreferences/stories/WorkspaceItem.stories.js +30 -0
- package/react/components/userPreferences/stories/WorkspaceItem.stories.js.map +1 -0
- package/react/components/userPreferences/stories/WorkspaceItemList.stories.d.ts +10 -0
- package/react/components/userPreferences/stories/WorkspaceItemList.stories.js +57 -0
- package/react/components/userPreferences/stories/WorkspaceItemList.stories.js.map +1 -0
- package/react/components/userPreferences/stories/Workspaces.stories.d.ts +9 -0
- package/react/components/userPreferences/stories/Workspaces.stories.js +44 -0
- package/react/components/userPreferences/stories/Workspaces.stories.js.map +1 -0
- package/react/components/userPreferences/tests/ContentSection.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/ContentSection.spec.js +41 -0
- package/react/components/userPreferences/tests/ContentSection.spec.js.map +1 -0
- package/react/components/userPreferences/tests/DashbarEditor.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/DashbarEditor.spec.js +37 -0
- package/react/components/userPreferences/tests/DashbarEditor.spec.js.map +1 -0
- package/react/components/userPreferences/tests/DashbarEditorItem.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/DashbarEditorItem.spec.js +38 -0
- package/react/components/userPreferences/tests/DashbarEditorItem.spec.js.map +1 -0
- package/react/components/userPreferences/tests/General.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/General.spec.js +28 -0
- package/react/components/userPreferences/tests/General.spec.js.map +1 -0
- package/react/components/userPreferences/tests/LeftNav.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/LeftNav.spec.js +12 -0
- package/react/components/userPreferences/tests/LeftNav.spec.js.map +1 -0
- package/react/components/userPreferences/tests/NotificationSourceTypes.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js +14 -0
- package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js.map +1 -0
- package/react/components/userPreferences/tests/Notifications.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/Notifications.spec.js +17 -0
- package/react/components/userPreferences/tests/Notifications.spec.js.map +1 -0
- package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js +39 -0
- package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -0
- package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js +22 -0
- package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js.map +1 -0
- package/react/components/userPreferences/tests/ScheduledRestart.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/ScheduledRestart.spec.js +70 -0
- package/react/components/userPreferences/tests/ScheduledRestart.spec.js.map +1 -0
- package/react/components/userPreferences/tests/WorkspaceButton.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/WorkspaceButton.spec.js +38 -0
- package/react/components/userPreferences/tests/WorkspaceButton.spec.js.map +1 -0
- package/react/components/userPreferences/tests/WorkspaceComponents.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/WorkspaceComponents.spec.js +22 -0
- package/react/components/userPreferences/tests/WorkspaceComponents.spec.js.map +1 -0
- package/react/components/userPreferences/tests/WorkspaceItem.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/WorkspaceItem.spec.js +64 -0
- package/react/components/userPreferences/tests/WorkspaceItem.spec.js.map +1 -0
- package/react/components/userPreferences/tests/WorkspaceItemList.spec.d.ts +1 -0
- package/react/components/userPreferences/tests/WorkspaceItemList.spec.js +45 -0
- package/react/components/userPreferences/tests/WorkspaceItemList.spec.js.map +1 -0
- 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 +27 -7
- package/react/components/windowTitleBar/components/center/Tab.js +2 -2
- package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
- package/react/components/windowTitleBar/components/center/TabList.d.ts +43 -30
- package/react/components/windowTitleBar/components/center/TabList.js +111 -37
- 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/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 +1 -21
- 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.js +11 -6
- package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +51 -44
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js +63 -56
- 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.map +1 -1
- package/react/hooks/useLinker.js +1 -1
- package/react/hooks/useLinker.js.map +1 -1
- package/react/hooks/useMenu.js +1 -1
- package/react/hooks/useMenu.js.map +1 -1
- package/react/hooks/useNotifications.d.ts +10 -6
- package/react/hooks/useNotifications.js +53 -47
- package/react/hooks/useNotifications.js.map +1 -1
- 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 +71 -48
- 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/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/types/advancedAppLauncherTypes.d.ts +28 -1
- package/react/types/advancedAppLauncherTypes.js.map +1 -1
- package/react/types/dashbarTypes.d.ts +1 -1
- package/react/types/dashbarTypes.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 +28 -20
- package/react/types/fdc3.js.map +1 -1
- package/react/types/smartDesktopDesignerTypes.d.ts +13 -8
- package/react/types/smartDesktopDesignerTypes.js.map +1 -1
- package/react/types/windowTitleBar.d.ts +46 -0
- package/react/types/windowTitleBar.js +2 -0
- package/react/types/windowTitleBar.js.map +1 -0
- 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/shared/addProtocolToValidURL.spec.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
- package/react/components/userPreferences/components/Checkbox.d.ts +0 -4
- package/react/components/userPreferences/components/Checkbox.js +0 -27
- package/react/components/userPreferences/components/Checkbox.js.map +0 -1
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
declare type FDC3ConfigProps = {
|
|
2
|
+
url?: string;
|
|
3
|
+
};
|
|
4
|
+
declare type doneCallback = (err: {
|
|
5
|
+
message: string;
|
|
6
|
+
} | null, data?: any) => void;
|
|
1
7
|
export default class FDC3 {
|
|
2
|
-
constructor(config?: {}, creds?: {});
|
|
3
8
|
creds: {};
|
|
4
|
-
config:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
search(params: object, callback: Function): Promise<any>;
|
|
9
|
+
config: FDC3ConfigProps;
|
|
10
|
+
constructor(config?: FDC3ConfigProps, creds?: {});
|
|
11
|
+
_get(path: string, done: doneCallback): void;
|
|
12
|
+
_post(path: string, params: {}, done: doneCallback): void;
|
|
13
|
+
getAll(callback: doneCallback): Promise<unknown>;
|
|
14
|
+
get(appId: string, callback: doneCallback): Promise<unknown>;
|
|
15
|
+
getTags(callback: doneCallback): Promise<unknown>;
|
|
16
|
+
search(params: {}, callback: doneCallback): Promise<unknown>;
|
|
13
17
|
}
|
|
18
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FDC3.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/modules/FDC3.
|
|
1
|
+
{"version":3,"file":"FDC3.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/modules/FDC3.ts"],"names":[],"mappings":"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","sourcesContent":["type FDC3ConfigProps = {\r\n\turl?: string;\r\n};\r\n\r\ntype doneCallback = (err: { message: string } | null, data?: any) => void;\r\n\r\n/**\r\n * Copyright 2018 by ChartIQ, Inc.\r\n * All rights reserved.\r\n *\r\n * FDC3 App directory client, I will be using fetch()\r\n * to make calls to the app directory web service, even though I'm\r\n * not sure where did fetch() come from, will investigate later\r\n */\r\nexport default class FDC3 {\r\n\tcreds: {};\r\n\r\n\tconfig: FDC3ConfigProps;\r\n\r\n\tconstructor(config: FDC3ConfigProps = {}, creds = {}) {\r\n\t\tif (!config.url) {\r\n\t\t\tthrow new Error(\"Please specify the url of the app directory.\");\r\n\t\t}\r\n\t\tthis.creds = creds;\r\n\t\tthis.config = {\r\n\t\t\turl: config.url.replace(/\\/+$/, \"\"),\r\n\t\t};\r\n\t}\r\n\r\n\t/**\r\n\t * Http get wrapper\r\n\t * @param {string} path The restful method path\r\n\t * @param {function} done The callback function\r\n\t */\r\n\t_get(path: string, done: doneCallback) {\r\n\t\tfetch(this.config.url + path, {\r\n\t\t\tmethod: \"GET\",\r\n\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tresponse.json().then((data: any) => {\r\n\t\t\t\t\t// We are expecting 200 here for data\r\n\t\t\t\t\tif (response.status !== 200) {\r\n\t\t\t\t\t\t// We have a problem, data as error message\r\n\t\t\t\t\t\tdone(data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// All good, no problem\r\n\t\t\t\t\t\tdone(null, data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tdone({\r\n\t\t\t\t\tmessage: `Request failed ${error.message}`,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t * @param {string} path The restful method path\r\n\t * @param {object} params The post data\r\n\t * @param {function} done The callback function\r\n\t */\r\n\t_post(path: string, params: {}, done: doneCallback) {\r\n\t\tfetch(this.config.url + path, {\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tcredentials: \"include\",\r\n\t\t\tbody: JSON.stringify(params),\r\n\t\t\theaders: {\r\n\t\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t},\r\n\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tresponse.json().then((data) => {\r\n\t\t\t\t\t// We are expecting 200 here for data\r\n\t\t\t\t\tif (response.status !== 200) {\r\n\t\t\t\t\t\t// We have a problem, data as error message\r\n\t\t\t\t\t\tdone(data);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// All good, no problem\r\n\t\t\t\t\t\tdone(null, data);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tdone({\r\n\t\t\t\t\tmessage: `Request failed ${error.message}`,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Returns all applications\r\n\t * @param {function} callback The optional callback function\r\n\t */\r\n\tgetAll(callback: doneCallback) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis._get(\"/apps/\", (error, data) => {\r\n\t\t\t\tif (error) {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresolve(data.applications);\r\n\t\t\t\t}\r\n\t\t\t\tif (callback) {\r\n\t\t\t\t\tcallback(error, !error && data.applications);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a single application in results\r\n\t * @param {string} appId The app id\r\n\t */\r\n\tget(appId: string, callback: doneCallback) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis._get(`/apps/${appId}`, (error, data) => {\r\n\t\t\t\tif (error) {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresolve(data.applications[0]);\r\n\t\t\t\t}\r\n\t\t\t\tif (callback) {\r\n\t\t\t\t\tcallback(error, !error && data.applications[0]);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Returns unique tags\r\n\t * @param {function} callback The optional callback function\r\n\t */\r\n\tgetTags(callback: doneCallback) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis._get(\"/tags/\", (error, data) => {\r\n\t\t\t\tif (error) {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresolve(data.tags);\r\n\t\t\t\t}\r\n\t\t\t\tif (callback) {\r\n\t\t\t\t\tcallback(error, !error && data.tags);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a list of applications based on text and filter\r\n\t * @param {object} params The search criteria\r\n\t * @param {function} callback The callback function\r\n\t * @example search({text: 'blah', filter: {tag: 'newrelease'}})\r\n\t */\r\n\tsearch(params: {}, callback: doneCallback) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis._post(\"/apps/search\", params, (error, data) => {\r\n\t\t\t\tif (error) {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresolve(data.applications);\r\n\t\t\t\t}\r\n\t\t\t\tif (callback) {\r\n\t\t\t\t\tcallback(error, !error && data.applications);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n"]}
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import StoreModel from "@finsemble/finsemble-core/types/clients/StoreModel";
|
|
2
|
+
import { StandardError } from "@finsemble/finsemble-core/types/types";
|
|
3
|
+
declare function createStore(done: (err: StandardError, store?: StoreModel) => void): void;
|
|
4
|
+
declare function getStore(): StoreModel | undefined;
|
|
5
|
+
export { createStore, getStore };
|
|
@@ -9,7 +9,7 @@ function createStore(done) {
|
|
|
9
9
|
global: true,
|
|
10
10
|
}, (error, store) => {
|
|
11
11
|
launcherStore = store;
|
|
12
|
-
launcherStore.setValue(data);
|
|
12
|
+
launcherStore === null || launcherStore === void 0 ? void 0 : launcherStore.setValue(data);
|
|
13
13
|
done(null, launcherStore);
|
|
14
14
|
});
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LauncherStore.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/stores/LauncherStore.
|
|
1
|
+
{"version":3,"file":"LauncherStore.js","sourceRoot":"","sources":["../../../../../src/components/toolbar/advancedAppLauncher/stores/LauncherStore.ts"],"names":[],"mappings":"AAGA,IAAI,aAAqC,CAAC;AAE1C,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,uBAAuB;CAC9B,CAAC;AAEF,SAAS,WAAW,CAAC,IAAsD;IAC1E,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAC3C;QACC,KAAK,EAAE,6BAA6B;QACpC,MAAM,EAAE,IAAI;KACZ,EACD,CAAC,KAAoB,EAAE,KAAkB,EAAE,EAAE;QAC5C,aAAa,GAAG,KAAK,CAAC;QACtB,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3B,CAAC,CACD,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IAChB,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["import StoreModel from \"@finsemble/finsemble-core/types/clients/StoreModel\";\r\nimport { StandardError } from \"@finsemble/finsemble-core/types/types\";\r\n\r\nlet launcherStore: StoreModel | undefined;\r\n\r\nconst data = {\r\n\tfield: \"defaultFolder\",\r\n\tvalue: \"Advanced App Launcher\",\r\n};\r\n\r\nfunction createStore(done: (err: StandardError, store?: StoreModel) => void) {\r\n\tFSBL.Clients.DistributedStoreClient.getStore(\r\n\t\t{\r\n\t\t\tstore: \"Finsemble-AppLauncher-Store\",\r\n\t\t\tglobal: true,\r\n\t\t},\r\n\t\t(error: StandardError, store?: StoreModel) => {\r\n\t\t\tlauncherStore = store;\r\n\t\t\tlauncherStore?.setValue(data);\r\n\t\t\tdone(null, launcherStore);\r\n\t\t}\r\n\t);\r\n}\r\n\r\nfunction getStore() {\r\n\treturn launcherStore;\r\n}\r\n\r\nexport { createStore, getStore };\r\n"]}
|
|
@@ -209,11 +209,12 @@ function refreshAppDefinitions(componentList) {
|
|
|
209
209
|
});
|
|
210
210
|
});
|
|
211
211
|
componentTypeList.map((componentType) => {
|
|
212
|
+
var _a, _b, _c, _d, _e, _f;
|
|
212
213
|
const component = componentList[componentType];
|
|
213
214
|
if (component && component.component) {
|
|
214
|
-
const launchableByUser = component
|
|
215
|
-
const displayName = component.component.displayName
|
|
216
|
-
const iconObject = iconFromConfig(component
|
|
215
|
+
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;
|
|
216
|
+
const displayName = (_d = component.component.displayName) !== null && _d !== void 0 ? _d : componentType;
|
|
217
|
+
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
218
|
if (launchableByUser && !component.component.isUserDefined) {
|
|
218
219
|
data.configComponents[componentType] = {
|
|
219
220
|
appID: componentType,
|
|
@@ -337,7 +338,7 @@ function addNewFolder(name) {
|
|
|
337
338
|
}),
|
|
338
339
|
];
|
|
339
340
|
const highestFolderNumber = Math.max.apply(this, newFoldersNums);
|
|
340
|
-
const folderName = name
|
|
341
|
+
const folderName = name !== null && name !== void 0 ? name : `${NEW_FOLDER_NAME} ${highestFolderNumber + 1}`;
|
|
341
342
|
const newFolder = {
|
|
342
343
|
disableUserRemove: true,
|
|
343
344
|
icon: "ff-adp-hamburger",
|
|
@@ -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.js"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/B,IAAI,UAAU,CAAC;AACf,IAAI,IAAI,CAAC;AACT,IAAI,YAAY,CAAC;AAEjB,eAAe;IACd,UAAU;IACV,MAAM;IACN,YAAY;IACZ,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,SAAS;IACT,cAAc;IACd,UAAU;IACV,cAAc;IACd,mBAAmB;IACnB,eAAe;IACf,eAAe;IACf,cAAc;IACd,UAAU;IACV,oBAAoB;IACpB,aAAa;IACb,aAAa;IACb,SAAS;IACT,MAAM;IACN,OAAO;IACP,MAAM;IACN,eAAe;IACf,YAAY;IACZ,cAAc;IACd,OAAO;IACP,qBAAqB;CACrB,CAAC;AAEF,MAAM,IAAI,GAAG,EAAE,CAAC;AAChB,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AACtD,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC,SAAS,YAAY;IACpB,MAAM,UAAU,GAAG,YAAY,CAAC;IAChC,MAAM,SAAS,GAAG,WAAW,CAAC;IAC9B,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACzD,CAAC;AAGD,SAAS,eAAe;IACvB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAAC;IACjD,OAAO,CAAC,qBAAqB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS;IAChD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,CAAC,GAAG,EAAE,oBAAoB,EAAE,EAAE;QAE7G,YAAY,GAAG,oBAAoB,CAAC;QACpC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;QAChD,2BAA2B,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAG3B,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE;YACrE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACtG,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAClG,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE;YACpE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACtG,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAClF,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACpG,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAEhG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YACxE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACzD,IAAI,GAAG,EAAE;gBACR,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC1B;YACD,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,yCAAyC,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,EAAE;YAC3G,IAAI,cAAc,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACxB,2EAA2E,EAC3E,cAAc,CACd,CAAC;aACF;YAED,gCAAgC,CAAC,GAAG,EAAE;gBAErC,6BAA6B,CAAC,GAAG,EAAE;oBAClC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAGD,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,SAAS;IAC7C,IAAI;SACF,GAAG,CAAC,KAAK,CAAC;SACV,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;SAC5B,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,OAAO;IAC5B,IAAI,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAMD,SAAS,2BAA2B;IACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAChC,MAAM,OAAO,GACZ,mHAAmH,CAAC;YAErH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,EAAE,iCAAiC,EAAE,OAAO,CAAC,CAAC;YACxG,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;SACtB;IACF,CAAC,CAAC,CAAC;IACH,WAAW,EAAE,CAAC;AACf,CAAC;AAGD,SAAS,mBAAmB,CAAC,EAAE,GAAG,QAAQ,CAAC,SAAS;IAEnD,MAAM,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,GAAG,YAAY,EAAE,CAAC;IAChF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAC5C,IAAI,UAAU,KAAK,6BAA6B;YAAE,OAAO;aACpD;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;gBACvD,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;oBAChC,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;wBAC7E,KAAK,GAAG,CAAC,CAAC;qBACV;gBACF,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACf,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;iBAC3D;YACF,CAAC,CAAC,CAAC;SACH;IACF,CAAC,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC;AAQD,SAAS,uCAAuC,CAAC,eAAe;IAC/D,IAAI,CAAC,eAAe,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IACnD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAEpE,IAAI,IAAI,EAAE;QACT,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;SACd;QACD,OAAO,IAAI,CAAC;KACZ;IAED,OAAO,EAAE,CAAC;AACX,CAAC;AAKD,SAAS,YAAY;IACpB,IAAI,CAAC,UAAU;QAAE,UAAU,GAAG,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI;QAAE,IAAI,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAMD,SAAS,gCAAgC,CAAC,EAAE,GAAG,QAAQ,CAAC,SAAS;IAChE,KAAK,CAAC,GAAG,CACR,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,CAAC,SAAS,EAAE,aAAa,EAAE,EAAE;QAE5B,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,MAAM,EAAE;YACpD,YAAY,EAAE,CAAC;YAEf,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC3C,IAAI,GAAG,EAAE;oBAER,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC3B,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;iBACtE;gBACD,OAAO,aAAa,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;SACH;QAID,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE;YAC7E,IAAI,UAAU,EAAE;gBACf,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;aACnD;YACD,aAAa,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;QACP,EAAE,CAAC,GAAG,CAAC,CAAC;IACT,CAAC,CACD,CAAC;AACH,CAAC;AAGD,SAAS,6BAA6B,CAAC,EAAE,GAAG,QAAQ,CAAC,SAAS;IAE7D,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE;QAKnE,qBAAqB,CAAC,aAAa,CAAC,CAAC;QACrC,EAAE,EAAE,CAAC;IACN,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO;IACf,OAAO,IAAI,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,aAAa;IAC3C,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAErD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QAC3C,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE;YACpD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC;YAEzC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAE/D,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACtC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,iBAAiB,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE;;QACvC,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,SAAS,IAAI,SAAS,CAAC,SAAS,EAAE;YACrC,MAAM,gBAAgB,GAAG,MAAA,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,UAAU,0CAAG,cAAc,CAAC,0CAAE,gBAAgB,CAAC;YAE5F,MAAM,WAAW,GAAG,MAAA,SAAS,CAAC,SAAS,CAAC,WAAW,mCAAI,aAAa,CAAC;YACrE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,UAAU,0CAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAExF,IAAI,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE;gBAC3D,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG;oBACtC,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,aAAa;oBACnB,WAAW;oBACX,MAAM,EAAE,QAAQ;oBAChB,IAAI,EAAE,uCAAuC,CAAC,SAAS,CAAC;iBACxD,CAAC;aACF;iBAAM,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE;gBACrE,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;aAC5C;SACD;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IAClC,QAAQ,EAAE,CAAC,QAAQ,CAClB;QACC,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;KACZ,EACD,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACf,IAAI,KAAK,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;SAItF;aAAM;YACN,EAAE,IAAI,EAAE,EAAE,CAAC;SACX;IACF,CAAC,CACD,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,GAAG,QAAQ,CAAC,SAAS;IAC3C,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3D,IAAI,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;YAClF,OAAO;SACP;QAED,EAAE,EAAE,CAAC;IACN,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAK,EAAE,UAAU;IAChD,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,UAAU;IAClB,OAAO,IAAI,CAAC,OAAO,CAAC;AACrB,CAAC;AAED,SAAS,cAAc;IACtB,OAAO,IAAI,CAAC,WAAW,CAAC;AACzB,CAAC;AAED,SAAS,UAAU;IAClB,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrE,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,SAAS,aAAa;IACrB,OAAO,IAAI,CAAC,aAAa,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe,CAAC,UAAU;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,SAAS,EAAE,QAAQ;IAE1C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACtG,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACrG,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACrF,IAAI,CAAC,WAAW,GAAG;QAClB,GAAG,kBAAkB;QACrB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;QACpC,WAAW;QACX,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC;KACjC,CAAC;IACF,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,WAAW,CAAC;AACzB,CAAC;AAED,SAAS,MAAM,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE;IAC3B,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IACjC,MAAM,UAAU,GAAG;QAClB,KAAK;QACL,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QAChD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;KACf,CAAC;IAgBF,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE;QAC9E,IAAI,UAAU,EAAE;YAEf,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;YACnD,OAAO;SACP;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC;QAG9B,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAG1D,IAAI,MAAM,KAAK,qBAAqB,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC3C;QAED,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YAC3C,WAAW,EAAE,CAAC;YACd,EAAE,IAAI,EAAE,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAK;IAEvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;QAC/B,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KAC3C;IAGD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE;QAC7E,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YAC3C,WAAW,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAI;IAIzB,MAAM,cAAc,GAAG;QACtB,CAAC;QAED,GAAG,IAAI,CAAC,WAAW;aACjB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;aACtD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC;KACH,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,GAAG,eAAe,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;IAC3E,MAAM,SAAS,GAAG;QACjB,iBAAiB,EAAE,IAAI;QACvB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,EAAE;KACR,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IACrC,WAAW,CAAC,GAAG,EAAE;QAEhB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,UAAU;IAE/B,IAAI,UAAU,KAAK,IAAI,CAAC,YAAY,EAAE;QACrC,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC;QAC1C,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KAC7C;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC9B,WAAW,CAAC,GAAG,EAAE;YAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,OAAO,EAAE,OAAO;IACrC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC;IAEpF,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE;QACpB,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAEhD,WAAW,CAAC,GAAG,EAAE;YAChB,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAE/C,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE;gBAClC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;aACnC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;KACH;AACF,CAAC;AAED,SAAS,cAAc,CAAC,UAAU,EAAE,GAAG;IACtC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAE/D,IAAI,QAAQ,GAAG,CAAC,EAAE;QACjB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;SAChB,CAAC,CAAC;QACH,WAAW,EAAE,CAAC;KACd;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAU,EAAE,GAAG;IAC3C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClD,WAAW,EAAE,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,UAAU;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;AACtC,CAAC;AAKD,SAAS,cAAc,CAAC,KAAK,EAAE,KAAK;IACnC,OAAO,CACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACxF,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE/C,IAAI,CAAC,MAAM,EAAE;QACZ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,YAAY,0CAA0C,CAAC,CAAC;QACxG,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,IAAI,EAAE,EAAE;SACR,CAAC;KACF;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE;YACb,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;SACd;aAAM;YACN,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;SACxB;IACF,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;IAChC,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB;IAC3B,OAAO,IAAI,CAAC,YAAY,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa;IACrB,OAAO,IAAI,CAAC,UAAU,CAAC;AACxB,CAAC;AAED,SAAS,SAAS;IACjB,OAAO,IAAI,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,SAAS,OAAO;IACf,OAAO,IAAI,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,SAAS,cAAc;IACtB,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEnF,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACpB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,MAAM,CAAC,GAAG;IAElB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAElD,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,SAAS,CAAC,GAAG;IAErB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5C,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC","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; // type: FoldersType[\"folders\"]\r\n\t\tdata.foldersList = store.values.appFolders.list; // type: FoldersType[\"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,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 {};
|
|
@@ -8,8 +8,6 @@ export class StaticAppLauncherMenu extends React.Component {
|
|
|
8
8
|
constructor(props) {
|
|
9
9
|
super(props);
|
|
10
10
|
this.state = {
|
|
11
|
-
dimensions: {},
|
|
12
|
-
componentList: {},
|
|
13
11
|
initialized: false,
|
|
14
12
|
};
|
|
15
13
|
this.onInitialized = this.onInitialized.bind(this);
|
|
@@ -36,14 +34,9 @@ export class StaticAppLauncherMenu extends React.Component {
|
|
|
36
34
|
FSBL.Clients.DialogManager.open("QuickComponentForm", {}, () => { });
|
|
37
35
|
}
|
|
38
36
|
render() {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
id: this.props.id ?? "AppLauncherMenu",
|
|
43
|
-
title: this.props.title ?? "Apps",
|
|
44
|
-
className: this.props.className ?? "menu-portal app-launcher",
|
|
45
|
-
};
|
|
46
|
-
return (React.createElement(Menu, { ...completeProps },
|
|
37
|
+
var _a, _b, _c, _d;
|
|
38
|
+
const completeProps = Object.assign(Object.assign({}, this.props), { width: (_a = this.props.width) !== null && _a !== void 0 ? _a : 300, id: (_b = this.props.id) !== null && _b !== void 0 ? _b : "AppLauncherMenu", title: (_c = this.props.title) !== null && _c !== void 0 ? _c : "Apps", className: (_d = this.props.className) !== null && _d !== void 0 ? _d : "menu-portal app-launcher" });
|
|
39
|
+
return (React.createElement(Menu, Object.assign({}, completeProps),
|
|
47
40
|
this.props.enableQuickComponents == true ? (React.createElement("div", { className: "menu-secondary" },
|
|
48
41
|
React.createElement(MenuItem, { onClick: this.openQuickComponent }, "New App"))) : null,
|
|
49
42
|
this.state.initialized && (React.createElement(ComponentList, { componentFilter: this.props.componentFilter, suppressFavorites: this.props.suppressFavorites }))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticAppLauncherMenu.js","sourceRoot":"","sources":["../../../../src/components/toolbar/appLauncher/StaticAppLauncherMenu.
|
|
1
|
+
{"version":3,"file":"StaticAppLauncherMenu.js","sourceRoot":"","sources":["../../../../src/components/toolbar/appLauncher/StaticAppLauncherMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,mBAAmB,CAAC;AA6B3B,MAAM,OAAO,qBAAsB,SAAQ,KAAK,CAAC,SAAyB;IACzE,YAAY,KAAa;QACxB,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACZ,WAAW,EAAE,KAAK;SAClB,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,QAAQ,CAAC;YACb,WAAW,EAAE,IAAI;SACjB,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB;QAChB,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxD,YAAY,CAAC,UAAU,EAAE,CAAC;QAG1B,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9C,eAAe,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE;YACrC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;SAC5G;IACF,CAAC;IAED,oBAAoB;QACnB,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5D,CAAC;IAGD,kBAAkB;QAEjB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM;;QACL,MAAM,aAAa,mCACf,IAAI,CAAC,KAAK,KACb,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,GAAG,EAC9B,EAAE,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,iBAAiB,EACtC,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,MAAM,EACjC,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,0BAA0B,GAC7D,CAAC;QAEF,OAAO,CACN,oBAAC,IAAI,oBAAK,aAAa;YACrB,IAAI,CAAC,KAAK,CAAC,qBAAqB,IAAI,IAAI,CAAC,CAAC,CAAC,CAC3C,6BAAK,SAAS,EAAC,gBAAgB;gBAC9B,oBAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,cAAoB,CACzD,CACN,CAAC,CAAC,CAAC,IAAI;YACP,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAC1B,oBAAC,aAAa,IACb,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAC3C,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAC9C,CACF,CACK,CACP,CAAC;IACH,CAAC;CACD","sourcesContent":["import * as React from \"react\";\r\nimport { Menu } from \"../../menu/Menu\";\r\nimport { MenuItem } from \"../../menu/MenuItem\";\r\nimport ComponentList from \"./components/componentList\";\r\nimport { storeManager } from \"./stores/appLauncherStore\";\r\n\r\nimport \"./appLauncher.css\";\r\ninterface IProps {\r\n\tclassName?: string;\r\n\tcloseHotkey?: Array<string>;\r\n\theight?: number;\r\n\tid?: string;\r\n\tmaxHeight?: number;\r\n\topenHotkey?: Array<string>;\r\n\twidth?: number;\r\n\ttitle?: React.ReactNode | string | null;\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\ninterface IState {\r\n\tinitialized: boolean;\r\n}\r\n\r\n/**\r\n * The \"app\" button that launches the AppLauncher menu from the toolbar.\r\n * The app launcher lists all configured Finsemble applications.\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, as viewed in the toolbar\r\n * @param {string[]} [componentFilter] Custom list of menu items to display\r\n * @param {boolean} [suppressFavorites=false]\r\n */\r\nexport class StaticAppLauncherMenu extends React.Component<IProps, IState> {\r\n\tconstructor(props: IProps) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tinitialized: false,\r\n\t\t};\r\n\t\tthis.onInitialized = this.onInitialized.bind(this);\r\n\t}\r\n\r\n\tonInitialized() {\r\n\t\tthis.setState({\r\n\t\t\tinitialized: true,\r\n\t\t});\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tstoreManager.addInitializedListener(this.onInitialized);\r\n\t\tstoreManager.initialize();\r\n\r\n\t\t// Focus on the window when it is shown so that a click elsewhere will trigger a blur.\r\n\t\tfinsembleWindow.addEventListener(\"shown\", () => {\r\n\t\t\tfinsembleWindow.focus();\r\n\t\t});\r\n\r\n\t\tif (this.props.enableQuickComponents) {\r\n\t\t\tFSBL.Clients.Logger.system.error(\"QuickComponents are deprecated and will be removed in a future release.\");\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tstoreManager.removeInitializedListener(this.onInitialized);\r\n\t}\r\n\r\n\t// @deprecated - Quick Components will be removed in a future version\r\n\topenQuickComponent() {\r\n\t\t// FSBL.Clients.LauncherClient.spawn(\"QuickComponentForm\", { monitor: \"mine\" });\r\n\t\tFSBL.Clients.DialogManager.open(\"QuickComponentForm\", {}, () => {});\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst completeProps = {\r\n\t\t\t...this.props,\r\n\t\t\twidth: this.props.width ?? 300,\r\n\t\t\tid: this.props.id ?? \"AppLauncherMenu\",\r\n\t\t\ttitle: this.props.title ?? \"Apps\",\r\n\t\t\tclassName: this.props.className ?? \"menu-portal app-launcher\",\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t<Menu {...completeProps}>\r\n\t\t\t\t{this.props.enableQuickComponents == true ? (\r\n\t\t\t\t\t<div className=\"menu-secondary\">\r\n\t\t\t\t\t\t<MenuItem onClick={this.openQuickComponent}>New App</MenuItem>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t) : null}\r\n\t\t\t\t{this.state.initialized && (\r\n\t\t\t\t\t<ComponentList\r\n\t\t\t\t\t\tcomponentFilter={this.props.componentFilter}\r\n\t\t\t\t\t\tsuppressFavorites={this.props.suppressFavorites}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t</Menu>\r\n\t\t);\r\n\t}\r\n}\r\n"]}
|
|
@@ -1,10 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2017 by ChartIQ, Inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { StandardError } from "@finsemble/finsemble-core/types/types";
|
|
7
|
+
import { WindowIdentifier } from "@finsemble/finsemble-core";
|
|
8
|
+
declare type AppLauncherContainerProps = {
|
|
9
|
+
componentFilter?: string[];
|
|
10
|
+
suppressFavorites?: boolean;
|
|
11
|
+
};
|
|
12
|
+
declare type ComponentDescriptor = Record<string, any>;
|
|
13
|
+
declare type ComponentList = Record<string, ComponentDescriptor>;
|
|
14
|
+
interface IState {
|
|
15
|
+
componentList: ComponentList;
|
|
16
|
+
filteredListOfComponents: string[];
|
|
17
|
+
}
|
|
18
|
+
export default class appLauncherContainer extends React.Component<AppLauncherContainerProps, IState> {
|
|
19
|
+
constructor(props: AppLauncherContainerProps);
|
|
20
|
+
componentDidUpdate(prevProps: AppLauncherContainerProps): void;
|
|
3
21
|
bindCorrectContext(): void;
|
|
4
|
-
onComponentListUpdate(err:
|
|
5
|
-
|
|
22
|
+
onComponentListUpdate(err: StandardError, data: {
|
|
23
|
+
field: string;
|
|
24
|
+
value: ComponentList;
|
|
25
|
+
}): void;
|
|
6
26
|
setInitialState(): void;
|
|
7
|
-
|
|
27
|
+
componentDidMount(): void;
|
|
28
|
+
componentWillUnmount(): void;
|
|
29
|
+
launchComponent(component: any, params: any, cb?: (win?: WindowIdentifier) => void): void;
|
|
30
|
+
buildComponentItem(params: {
|
|
31
|
+
i: number;
|
|
32
|
+
key: string;
|
|
33
|
+
isUserDefined: boolean;
|
|
34
|
+
}): JSX.Element | undefined;
|
|
8
35
|
renderComponentsList(): JSX.Element;
|
|
36
|
+
render(): JSX.Element;
|
|
9
37
|
}
|
|
10
|
-
|
|
38
|
+
export {};
|