@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,18 +1,19 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
const Toast = (props) => {
|
|
3
3
|
let classes = "toast-content";
|
|
4
|
-
let
|
|
4
|
+
let messageContent = null;
|
|
5
|
+
const icon = undefined;
|
|
5
6
|
switch (props.installationActionTaken) {
|
|
6
7
|
case "add":
|
|
7
8
|
messageContent = "App Added";
|
|
8
|
-
classes
|
|
9
|
+
classes = `${classes} success`;
|
|
9
10
|
break;
|
|
10
11
|
case "remove":
|
|
11
12
|
messageContent = "App Removed";
|
|
12
|
-
classes
|
|
13
|
+
classes = `${classes} error`;
|
|
13
14
|
break;
|
|
14
15
|
default:
|
|
15
|
-
classes
|
|
16
|
+
classes = `${classes} not-shown`;
|
|
16
17
|
break;
|
|
17
18
|
}
|
|
18
19
|
if (messageContent !== null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../../src/components/appCatalog/components/Toast.
|
|
1
|
+
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../../src/components/appCatalog/components/Toast.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE;IAC/B,IAAI,OAAO,GAAG,eAAe,CAAC;IAC9B,IAAI,cAAc,GAAkB,IAAI,CAAC;IAEzC,MAAM,IAAI,GAAG,SAAS,CAAC;IAEvB,QAAQ,KAAK,CAAC,uBAAuB,EAAE;QACtC,KAAK,KAAK;YACT,cAAc,GAAG,WAAW,CAAC;YAC7B,OAAO,GAAG,GAAG,OAAO,UAAU,CAAC;YAC/B,MAAM;QACP,KAAK,QAAQ;YACZ,cAAc,GAAG,aAAa,CAAC;YAC/B,OAAO,GAAG,GAAG,OAAO,QAAQ,CAAC;YAC7B,MAAM;QACP;YACC,OAAO,GAAG,GAAG,OAAO,YAAY,CAAC;YACjC,MAAM;KACP;IAED,IAAI,cAAc,KAAK,IAAI,EAAE;QAC5B,OAAO,CACN,6BAAK,SAAS,EAAE,OAAO;YACtB,8BAAM,SAAS,EAAC,OAAO;gBACtB,2BAAG,SAAS,EAAE,IAAI,GAAI;;gBACT,cAAc,CACrB,CACF,CACN,CAAC;KACF;SAAM;QACN,OAAO,IAAI,CAAC;KACZ;AACF,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\nimport React from \"react\";\r\n\r\ninterface IProps {\r\n\tinstallationActionTaken: string;\r\n}\r\n\r\n/**\r\n * Toast component. Displays a success/failure message when an app is added/removed\r\n * @param {object} props Component props\r\n * @param {string} props.installationActionTaken String containing the action that occurred\r\n */\r\nconst Toast = (props: IProps) => {\r\n\tlet classes = \"toast-content\";\r\n\tlet messageContent: string | null = null;\r\n\t// @todo: Why is this here?\r\n\tconst icon = undefined;\r\n\r\n\tswitch (props.installationActionTaken) {\r\n\t\tcase \"add\":\r\n\t\t\tmessageContent = \"App Added\";\r\n\t\t\tclasses = `${classes} success`;\r\n\t\t\tbreak;\r\n\t\tcase \"remove\":\r\n\t\t\tmessageContent = \"App Removed\";\r\n\t\t\tclasses = `${classes} error`;\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tclasses = `${classes} not-shown`;\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tif (messageContent !== null) {\r\n\t\treturn (\r\n\t\t\t<div className={classes}>\r\n\t\t\t\t<span className=\"toast\">\r\n\t\t\t\t\t<i className={icon} />\r\n\t\t\t\t\t {messageContent}\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t);\r\n\t} else {\r\n\t\treturn null;\r\n\t}\r\n};\r\n\r\nexport default Toast;\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppDirectory.js","sourceRoot":"","sources":["../../../../src/components/appCatalog/modules/AppDirectory.
|
|
1
|
+
{"version":3,"file":"AppDirectory.js","sourceRoot":"","sources":["../../../../src/components/appCatalog/modules/AppDirectory.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,OAAO,YAAY;IAChC,YAAY,MAAa;QACxB,OAAO,MAAM,CAAC;IACf,CAAC;CACD","sourcesContent":["/**\r\n * Copyright 2018 by ChartIQ, Inc.\r\n * All rights reserved.\r\n * To be implemented..\r\n */\r\n\r\ntype Class = { new (...args: any[]): any };\r\n\r\nexport default class AppDirectory {\r\n\tconstructor(client: Class) {\r\n\t\treturn client;\r\n\t}\r\n}\r\n"]}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FDC3Props, FDC3PostCallback, FDC3SearchCallback, FDC3GetCallback } from "../../../types/fdc3";
|
|
3
|
+
import { StandardError } from "@finsemble/finsemble-core/types/types";
|
|
4
|
+
export default class FDC3 extends React.Component<FDC3Props> {
|
|
3
5
|
creds: {};
|
|
4
|
-
config:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
search(params: object, callback: Function): Promise<any>;
|
|
6
|
+
config: FDC3Props["config"];
|
|
7
|
+
constructor(props: FDC3Props);
|
|
8
|
+
_get(path: string, done: FDC3GetCallback): void;
|
|
9
|
+
_post(path: string, params: Record<string, string>, done: FDC3PostCallback): void;
|
|
10
|
+
getAll(callback: (arg1: Record<string, string> | null, applications: string[]) => void): Promise<unknown>;
|
|
11
|
+
get(appId: string, callback: (error: StandardError, application: string) => void): Promise<unknown>;
|
|
12
|
+
getTags(callback: (error: StandardError, results: string[]) => void): Promise<unknown>;
|
|
13
|
+
search(params: Record<string, string>, callback: FDC3SearchCallback): Promise<unknown>;
|
|
13
14
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
export default class FDC3 extends React.Component {
|
|
3
|
+
constructor(props) {
|
|
4
|
+
super(props);
|
|
5
|
+
if (!this.props.config.url) {
|
|
4
6
|
throw new Error("Please specify the url of the app directory.");
|
|
5
7
|
}
|
|
6
|
-
this.creds = creds;
|
|
8
|
+
this.creds = this.props.creds;
|
|
7
9
|
this.config = {
|
|
8
|
-
url: config.url.replace(/\/+$/, ""),
|
|
10
|
+
url: this.props.config.url.replace(/\/+$/, ""),
|
|
9
11
|
};
|
|
10
12
|
}
|
|
11
13
|
_get(path, done) {
|
|
@@ -59,10 +61,10 @@ export default class FDC3 {
|
|
|
59
61
|
reject(error);
|
|
60
62
|
}
|
|
61
63
|
else {
|
|
62
|
-
resolve(data.applications);
|
|
64
|
+
resolve(data === null || data === void 0 ? void 0 : data.applications);
|
|
63
65
|
}
|
|
64
66
|
if (callback) {
|
|
65
|
-
callback(error,
|
|
67
|
+
callback(error, (data === null || data === void 0 ? void 0 : data.applications) || []);
|
|
66
68
|
}
|
|
67
69
|
});
|
|
68
70
|
});
|
|
@@ -73,11 +75,11 @@ export default class FDC3 {
|
|
|
73
75
|
if (error) {
|
|
74
76
|
reject(error);
|
|
75
77
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
+
if (callback && (data === null || data === void 0 ? void 0 : data.applications)) {
|
|
79
|
+
callback(null, data.applications[0]);
|
|
78
80
|
}
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
+
if (data === null || data === void 0 ? void 0 : data.applications) {
|
|
82
|
+
resolve(data.applications[0]);
|
|
81
83
|
}
|
|
82
84
|
});
|
|
83
85
|
});
|
|
@@ -88,11 +90,11 @@ export default class FDC3 {
|
|
|
88
90
|
if (error) {
|
|
89
91
|
reject(error);
|
|
90
92
|
}
|
|
91
|
-
else {
|
|
93
|
+
else if (data) {
|
|
92
94
|
resolve(data.tags);
|
|
93
95
|
}
|
|
94
|
-
if (callback) {
|
|
95
|
-
callback(
|
|
96
|
+
if (callback && data) {
|
|
97
|
+
callback(null, data.tags);
|
|
96
98
|
}
|
|
97
99
|
});
|
|
98
100
|
});
|
|
@@ -103,11 +105,11 @@ export default class FDC3 {
|
|
|
103
105
|
if (error) {
|
|
104
106
|
reject(error);
|
|
105
107
|
}
|
|
106
|
-
else {
|
|
107
|
-
resolve(data.applications);
|
|
108
|
-
}
|
|
109
108
|
if (callback) {
|
|
110
|
-
callback(
|
|
109
|
+
callback(null, data === null || data === void 0 ? void 0 : data.applications);
|
|
110
|
+
}
|
|
111
|
+
else if (data) {
|
|
112
|
+
resolve(data.applications);
|
|
111
113
|
}
|
|
112
114
|
});
|
|
113
115
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FDC3.js","sourceRoot":"","sources":["../../../../src/components/appCatalog/modules/FDC3.
|
|
1
|
+
{"version":3,"file":"FDC3.js","sourceRoot":"","sources":["../../../../src/components/appCatalog/modules/FDC3.ts"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {\r\n\tFDC3Props,\r\n\tFDC3PostCallback,\r\n\tFDC3SearchCallback,\r\n\tFDC3GetCallback,\r\n\tErrorOrMessage,\r\n\tFDC3PostCallbackData,\r\n} from \"../../../types/fdc3\";\r\nimport { StandardError } from \"@finsemble/finsemble-core/types/types\";\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 appd 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 extends React.Component<FDC3Props> {\r\n\tcreds: {};\r\n\r\n\tconfig: FDC3Props[\"config\"];\r\n\r\n\tconstructor(props: FDC3Props) {\r\n\t\tsuper(props);\r\n\t\tif (!this.props.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 = this.props.creds;\r\n\t\tthis.config = {\r\n\t\t\turl: this.props.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: FDC3GetCallback) {\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) => {\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: Record<string, string>, done: FDC3PostCallback) {\r\n\t\tfetch(this.config.url + path, {\r\n\t\t\tmethod: \"POST\",\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: (arg1: Record<string, string> | null, applications: string[]) => void) {\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, 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: (error: StandardError, application: string) => void) {\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}\r\n\t\t\t\tif (callback && data?.applications) {\r\n\t\t\t\t\tcallback(null, data.applications[0]);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (data?.applications) {\r\n\t\t\t\t\tresolve(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: (error: StandardError, results: string[]) => void) {\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 if (data) {\r\n\t\t\t\t\tresolve(data.tags);\r\n\t\t\t\t}\r\n\t\t\t\tif (callback && data) {\r\n\t\t\t\t\tcallback(null, 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: Record<string, string>, callback: FDC3SearchCallback) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis._post(\"/apps/search\", params, (error: ErrorOrMessage, data: FDC3PostCallbackData) => {\r\n\t\t\t\tif (error) {\r\n\t\t\t\t\treject(error);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (callback) {\r\n\t\t\t\t\tcallback(null, data?.applications);\r\n\t\t\t\t} else if (data) {\r\n\t\t\t\t\tresolve(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,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2018 by ChartIQ, Inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
5
|
+
import StoreModel from "@finsemble/finsemble-core/types/clients/StoreModel";
|
|
6
|
+
import { StandardCallback } from "@finsemble/finsemble-core/types/types";
|
|
7
|
+
export { createStore, getStore };
|
|
8
|
+
declare function createStore(cb: StandardCallback): void;
|
|
9
|
+
declare function getStore(): StoreModel;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2018 by ChartIQ, Inc.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*/
|
|
1
5
|
export { createStore, getStore };
|
|
2
6
|
const defaultValues = [
|
|
3
7
|
{
|
|
@@ -28,10 +32,12 @@ const defaultValues = [
|
|
|
28
32
|
let appCatalogStore;
|
|
29
33
|
function createStore(cb) {
|
|
30
34
|
FSBL.Clients.DistributedStoreClient.getStore({ store: "Finsemble-AppLauncher-Store", global: true }, (err, store) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
if (store) {
|
|
36
|
+
appCatalogStore = store;
|
|
37
|
+
appCatalogStore.setValues(defaultValues, () => {
|
|
38
|
+
cb(null, appCatalogStore);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
35
41
|
});
|
|
36
42
|
}
|
|
37
43
|
function getStore() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appStore.js","sourceRoot":"","sources":["../../../../src/components/appCatalog/stores/appStore.
|
|
1
|
+
{"version":3,"file":"appStore.js","sourceRoot":"","sources":["../../../../src/components/appCatalog/stores/appStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AAEjC,MAAM,aAAa,GAAG;IACrB;QACC,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,EAAE;KACT;IACD;QACC,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,EAAE;KACT;IACD;QACC,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,EAAE;KACT;IACD;QACC,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,IAAI;KACX;IACD;QACC,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,EAAE;KACT;IACD;QACC,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,KAAK;KACZ;CACD,CAAC;AAEF,IAAI,eAA2B,CAAC;AAEhC,SAAS,WAAW,CAAC,EAAoB;IACxC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAC3C,EAAE,KAAK,EAAE,6BAA6B,EAAE,MAAM,EAAE,IAAI,EAAE,EACtD,CAAC,GAAkB,EAAE,KAAkB,EAAE,EAAE;QAC1C,IAAI,KAAK,EAAE;YACV,eAAe,GAAG,KAAK,CAAC;YAGxB,eAAe,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE;gBAC7C,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;SACH;IAEF,CAAC,CACD,CAAC;AACH,CAAC;AAED,SAAS,QAAQ;IAChB,OAAO,eAAe,CAAC;AACxB,CAAC","sourcesContent":["/*!\r\n * Copyright 2018 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\n\r\nimport StoreModel from \"@finsemble/finsemble-core/types/clients/StoreModel\";\r\nimport { StandardCallback, StandardError } from \"@finsemble/finsemble-core/types/types\";\r\n\r\nexport { createStore, getStore };\r\n\r\nconst defaultValues = [\r\n\t{\r\n\t\tfield: \"apps\",\r\n\t\tvalue: [],\r\n\t},\r\n\t{\r\n\t\tfield: \"filteredApps\",\r\n\t\tvalue: [],\r\n\t},\r\n\t{\r\n\t\tfield: \"activeTags\",\r\n\t\tvalue: [],\r\n\t},\r\n\t{\r\n\t\tfield: \"activeApp\",\r\n\t\tvalue: null,\r\n\t},\r\n\t{\r\n\t\tfield: \"searchText\",\r\n\t\tvalue: \"\",\r\n\t},\r\n\t{\r\n\t\tfield: \"forceSearch\",\r\n\t\tvalue: false,\r\n\t},\r\n];\r\n\r\nlet appCatalogStore: StoreModel;\r\n\r\nfunction createStore(cb: StandardCallback) {\r\n\tFSBL.Clients.DistributedStoreClient.getStore(\r\n\t\t{ store: \"Finsemble-AppLauncher-Store\", global: true },\r\n\t\t(err: StandardError, store?: StoreModel) => {\r\n\t\t\tif (store) {\r\n\t\t\t\tappCatalogStore = store;\r\n\r\n\t\t\t\t// set default values before initializing the store with values from storage.\r\n\t\t\t\tappCatalogStore.setValues(defaultValues, () => {\r\n\t\t\t\t\tcb(null, appCatalogStore);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t// @todo: Provide error messaging if an undefined store is returned?\r\n\t\t}\r\n\t);\r\n}\r\n\r\nfunction getStore() {\r\n\treturn appCatalogStore;\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storeActions.js","sourceRoot":"","sources":["../../../../src/components/appCatalog/stores/storeActions.js"],"names":[],"mappings":"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","sourcesContent":["import { findIndex } from \"lodash\";\r\n\r\n/*!\r\n * Copyright 2017 - 2020 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\nimport AppDirectory from \"../modules/AppDirectory\";\r\nimport FDC3 from \"../modules/FDC3\";\r\nimport { getStore } from \"./appStore\";\r\nimport { findIndex } from \"lodash\";\r\nimport * as path from \"path\";\r\n\r\nexport const findAppIndexInFolder = (appID, folderName, folders) =>\r\n\tfindIndex(folders[folderName].apps, (app) => app.appID === appID);\r\n\r\nexport default {\r\n\tinitialize,\r\n\tgetApps,\r\n\tgetFilteredApps,\r\n\tclearFilteredApps,\r\n\tsearchApps,\r\n\tgetActiveTags,\r\n\tgetTags,\r\n\taddTag,\r\n\tremoveTag,\r\n\trefreshTagSearch,\r\n\tclearTags,\r\n\tclearSearchText,\r\n\taddApp,\r\n\tremoveApp,\r\n\topenApp,\r\n\tclearApp,\r\n\tgetInstalledApps,\r\n\tgetActiveApp,\r\n\tsetActiveApp,\r\n\tfilterApps,\r\n\tsetSearchValue,\r\n\tsetForceSearch,\r\n\tgetSearchValue,\r\n\tgetForceSearch,\r\n\tgoHome,\r\n};\r\n\r\nconst data = {};\r\nlet FDC3Client;\r\nlet appd;\r\n\r\nfunction initialize(done = Function.prototype) {\r\n\tFSBL.Clients.ConfigClient.getValue({ field: \"finsemble.appDirectoryEndpoint\" }, (err, appDirectoryEndpoint) => {\r\n\t\tFDC3Client = new FDC3({ url: appDirectoryEndpoint });\r\n\t\tappd = new AppDirectory(FDC3Client);\r\n\r\n\t\tconst store = getStore();\r\n\t\tdata.apps = store.values.apps;\r\n\t\tstore.getValue({ field: \"appFolders.folders\" }, (err, folders) => {\r\n\t\t\tdata.folders = folders;\r\n\t\t\tstore.addListener({ field: \"appFolders.folders\" }, (err, dt) => (data.folders = dt.value));\r\n\t\t});\r\n\t\tstore.getValue({ field: \"activeFolder\" }, (err, active) => {\r\n\t\t\tdata.activeFolder = active;\r\n\t\t\tstore.addListener({ field: \"activeFolder\" }, (err, dt) => (data.activeFolder = dt.value));\r\n\t\t});\r\n\t\tstore.getValue({ field: \"defaultFolder\" }, (err, folder) => {\r\n\t\t\tdata.defaultFolder = folder;\r\n\t\t});\r\n\r\n\t\tdata.installed = store.values.appDefinitions;\r\n\t\tdata.tags = store.values.tags;\r\n\t\tdata.filteredApps = store.values.filteredApps;\r\n\t\tdata.activeTags = store.values.activeTags;\r\n\t\tdata.activeApp = store.values.activeApp;\r\n\t\tdata.searchText = store.values.searchText;\r\n\t\tdata.forceSearch = store.values.forceSearch;\r\n\t\tdata.ADVANCED_APP_LAUNCHER = store.values.defaultFolder;\r\n\r\n\t\tstore.addListener({ field: \"apps\" }, (err, dt) => (data.apps = dt.value));\r\n\t\tstore.addListener({ field: \"appDefinitions\" }, (err, dt) => (data.installed = dt.value));\r\n\t\tstore.addListener({ field: \"tags\" }, (err, dt) => (data.tags = dt.value));\r\n\t\tstore.addListener({ field: \"activeApp\" }, (err, dt) => (data.activeApp = dt.value));\r\n\t\tstore.addListener({ field: \"activeTags\" }, (err, dt) => (data.activeTags = dt.value));\r\n\t\tstore.addListener({ field: \"filteredApps\" }, (err, dt) => (data.filteredApps = dt.value));\r\n\t\tstore.addListener({ field: \"searchText\" }, (err, dt) => (data.searchText = dt.value));\r\n\t\tstore.addListener({ field: \"forceSearch\" }, (err, dt) => (data.forceSearch = dt.value));\r\n\t\tdone();\r\n\t});\r\n}\r\n\r\n/**\r\n * Return to the App Catalog home page\r\n */\r\nfunction goHome() {\r\n\tsetForceSearch(false);\r\n\tclearFilteredApps();\r\n\tclearApp();\r\n\tclearTags();\r\n\tclearSearchText();\r\n}\r\n\r\n/**\r\n * Send the search text and tags to the appd server and get a list of apps\r\n */\r\nfunction filterApps() {\r\n\tlet { activeTags, searchText } = data;\r\n\r\n\tif (activeTags.length === 0 && searchText === \"\") {\r\n\t\tgoHome();\r\n\t} else {\r\n\t\tappd.search({ text: searchText, tags: activeTags }, (err, data) => {\r\n\t\t\tif (err) {\r\n\t\t\t\tFSBL.Logger.system.error(`FDC3 App search failed!: ${err}`);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tgetStore().setValue({ field: \"activeApp\", value: null });\r\n\t\t\tgetStore().setValue({ field: \"activeTags\", value: activeTags });\r\n\t\t\tgetStore().setValue({ field: \"filteredApps\", value: data });\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * Private function to add an active tag. This will filter apps based on tags\r\n * @param {string} tag The name of the tag\r\n */\r\nfunction _addActiveTag(tag) {\r\n\tlet { activeTags } = data;\r\n\tif (!activeTags.includes(tag)) {\r\n\t\tactiveTags.push(tag);\r\n\t}\r\n\r\n\tgetStore().setValue({ field: \"activeTags\", value: activeTags }, filterApps());\r\n}\r\n\r\nfunction _findAppIndexInFolder(appID, folderName) {\r\n\treturn findIndex(data.folders[folderName].apps, (app) => app.appID === appID);\r\n}\r\n\r\n/**\r\n * Private function to remove an active tag. This will filter apps based on tags\r\n * @param {string} tag The name of the tag\r\n */\r\nfunction _removeActiveTag(tag) {\r\n\tdata.activeTags = data.activeTags.filter((currentTag) => currentTag !== tag);\r\n\r\n\tgetStore().setValue({ field: \"activeTags\", value: data.activeTags });\r\n\tfilterApps();\r\n}\r\n\r\n/**\r\n * Clears all active tags\r\n */\r\nfunction _clearActiveTags() {\r\n\tgetStore().setValue({ field: \"activeTags\", value: [] });\r\n}\r\n\r\n/**\r\n * Async function to fetch apps from the FDC3 api (appD)\r\n */\r\nasync function getApps() {\r\n\tlet apps = await appd.getAll((err, apps) => {\r\n\t\tif (!err) {\r\n\t\t\tgetStore().setValue({\r\n\t\t\t\tfield: \"apps\",\r\n\t\t\t\tvalue: apps,\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\treturn apps;\r\n}\r\n\r\n/**\r\n * Call to appD to get the list of all tags\r\n */\r\nasync function getTags() {\r\n\tlet tags = await appd.getTags((err, tags) => {\r\n\t\tgetStore().setValue({\r\n\t\t\tfield: \"tags\",\r\n\t\t\tvalue: tags,\r\n\t\t});\r\n\t});\r\n\treturn tags;\r\n}\r\n\r\n/**\r\n * Function to write errors to the log\r\n * @param {string} message The log message\r\n * @param {string} [protocol] Provide the logging protocol (default is error)\r\n */\r\nfunction writeToLog(message, protocol = \"error\") {\r\n\tFSBL.Clients.Logger[protocol](message);\r\n}\r\n\r\n/**\r\n * Function to \"install\" an app. Adds the id to a list of installed apps\r\n * @param {string} name The name of the app\r\n */\r\nasync function addApp(id, cb = Function.prototype) {\r\n\tconst { activeApp, installed, apps } = data;\r\n\tconst appID = id;\r\n\tconst app = apps.find((app) => app.appId === appID);\r\n\r\n\tif (!app) {\r\n\t\tFSBL.Clients.Logger.system.error(\r\n\t\t\t`Attempted to install app with id: ${id}, but could not find it in the local store.`\r\n\t\t);\r\n\t\treturn cb();\r\n\t}\r\n\r\n\tconst name = app.title || app.name;\r\n\tconst folder = data.activeFolder;\r\n\r\n\tif (app === undefined) {\r\n\t\tconsole.warn(\"App not found.\");\r\n\t\treturn cb();\r\n\t}\r\n\r\n\tlet manifest, appConfig;\r\n\t// Manifest from FDC3 is a string property which can either be a stringified JSON, or a uri which delivers valid JSON.\r\n\t// The catalog will attempt to parse the string as JSON, then fetch from a URL if that fails.\r\n\t// If both paths fail, notify the user that this app can't be added\r\n\tif (app.manifestType.toLowerCase() === \"finsemble\") {\r\n\t\ttry {\r\n\t\t\tmanifest = JSON.parse(app.manifest);\r\n\t\t} catch (e) {\r\n\t\t\ttry {\r\n\t\t\t\tconst urlRes = await fetch(app.manifest, { method: \"GET\" });\r\n\t\t\t\tmanifest = await urlRes.json();\r\n\t\t\t} catch (e) {\r\n\t\t\t\twriteToLog(\r\n\t\t\t\t\t`${name} is missing a valid manifest or URI that delivers a valid JSON manifest. Unable to add app.`,\r\n\t\t\t\t\t\"error\"\r\n\t\t\t\t);\r\n\t\t\t\treturn cb();\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tappConfig = installed[appID] = {\r\n\t\t\t\tappID,\r\n\t\t\t\ttags: app.tags,\r\n\t\t\t\tname: name.trim(),\r\n\t\t\t\ttype: \"component\",\r\n\t\t\t\tmanifest,\r\n\t\t\t\tcanDelete: true,\r\n\t\t\t\tsource: \"FDC3\",\r\n\t\t\t};\r\n\t\t}\r\n\t} else {\r\n\t\twriteToLog(`${name} does not appear to be a Finsemble manifest. This app cannot be added to Finsemble.`, \"error\");\r\n\t\treturn cb();\r\n\t}\r\n\r\n\tconst ADVANCED_APP_LAUNCHER = data.defaultFolder;\r\n\tconst { folders } = data;\r\n\r\n\tfolders[ADVANCED_APP_LAUNCHER].apps.push(appConfig);\r\n\tif (folder !== ADVANCED_APP_LAUNCHER) folders[folder].apps.push(appConfig);\r\n\r\n\tFSBL.Clients.LauncherClient.registerComponent(\r\n\t\t{\r\n\t\t\tcomponentType: appConfig.name,\r\n\t\t\tmanifest: appConfig.manifest,\r\n\t\t},\r\n\t\t(err, response) => {\r\n\t\t\tgetStore().setValues(\r\n\t\t\t\t[\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfield: \"activeApp\",\r\n\t\t\t\t\t\tvalue: activeApp,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfield: \"appDefinitions\",\r\n\t\t\t\t\t\tvalue: installed,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfield: \"appFolders.folders\",\r\n\t\t\t\t\t\tvalue: folders,\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcb\r\n\t\t\t);\r\n\t\t}\r\n\t);\r\n}\r\n\r\n/**\r\n * Function to \"uninstall\" an app. Removes the id from a list of installed apps\r\n * @param {string} name The name of the app\r\n */\r\nfunction removeApp(id, cb = Function.prototype) {\r\n\tlet { installed, folders } = data;\r\n\tFSBL.Clients.LauncherClient.unRegisterComponent({ componentType: installed[id].name }, (err, res) => {\r\n\t\tif (err) {\r\n\t\t\tconsole.warn(\"Failed to deregister a component\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tfor (const key in data.folders) {\r\n\t\t\tconst appIndex = findAppIndexInFolder(id, key, data.folders);\r\n\t\t\tif (appIndex > -1) {\r\n\t\t\t\tfolders[key].apps.splice(appIndex, 1);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Delete the app from the list\r\n\t\tdelete installed[id];\r\n\r\n\t\tgetStore().setValues(\r\n\t\t\t[\r\n\t\t\t\t{\r\n\t\t\t\t\tfield: \"appDefinitions\",\r\n\t\t\t\t\tvalue: installed,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tfield: \"appFolders.folders\",\r\n\t\t\t\t\tvalue: folders,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcb\r\n\t\t);\r\n\t});\r\n}\r\n\r\n/**\r\n * Function to set the 'active app' for the catalog.\r\n * @param {string} id The app id to show as the actively showcasing app\r\n */\r\nfunction openApp(id) {\r\n\tlet { apps } = data;\r\n\r\n\tlet index = apps.findIndex((app) => app.appId === id);\r\n\r\n\tif (index > -1) {\r\n\t\tgetStore().setValue({\r\n\t\t\tfield: \"activeApp\",\r\n\t\t\tvalue: id,\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * Clear the activeApp in store\r\n */\r\nfunction clearApp() {\r\n\tgetStore().setValue({\r\n\t\tfield: \"activeApp\",\r\n\t\tvalue: null,\r\n\t});\r\n}\r\n\r\n/**\r\n * Return activeApp from store\r\n *\r\n * @returns {string} activeApp\r\n */\r\nfunction getActiveApp() {\r\n\treturn data.activeApp;\r\n}\r\n\r\n/**\r\n * Set the activeApp param in store\r\n *\r\n * @param {*} app\r\n */\r\nfunction setActiveApp(app) {\r\n\tgetStore().setValue({\r\n\t\tfield: \"activeApp\",\r\n\t\tvalue: app,\r\n\t});\r\n}\r\n\r\n/**\r\n * Retrieves a list of installed apps by id\r\n */\r\nfunction getInstalledApps() {\r\n\treturn data.installed;\r\n}\r\n\r\n/**\r\n * Gets the list of filtered apps (when searching/filtering by tags)\r\n */\r\nfunction getFilteredApps() {\r\n\treturn data.filteredApps;\r\n}\r\n\r\n/**\r\n * Clears the list of filtered apps\r\n */\r\nfunction clearFilteredApps() {\r\n\tgetStore().setValue({\r\n\t\tfield: \"filteredApps\",\r\n\t\tvalue: [],\r\n\t});\r\n}\r\n\r\n/**\r\n * Set the value of the search text in store\r\n *\r\n * @param {set} val Search string\r\n */\r\nfunction setSearchValue(val) {\r\n\tgetStore().setValue({ field: \"searchText\", value: val });\r\n}\r\n\r\n/**\r\n * Get the current value of the text in the store\r\n *\r\n * @returns {string} Search string\r\n */\r\nfunction getSearchValue() {\r\n\treturn data.searchText;\r\n}\r\n\r\n/**\r\n * Clears the search text in store\r\n *\r\n */\r\nfunction clearSearchText() {\r\n\tgetStore().setValue({ field: \"searchText\", value: \"\" });\r\n}\r\n\r\n/**\r\n * Get forceSearch store value\r\n *\r\n * @returns {boolean} forceSearch\r\n */\r\nfunction getForceSearch() {\r\n\treturn data.forceSearch;\r\n}\r\n\r\n/**\r\n * Set the forceSearch value\r\n *\r\n * @param {string} val Boolean value for forceSearch\r\n */\r\nfunction setForceSearch(val) {\r\n\tgetStore().setValue({ field: \"forceSearch\", value: val });\r\n}\r\n\r\n/**\r\n * Gets the list of active tags (these are tags that are actively filtering the content list)\r\n */\r\nfunction getActiveTags() {\r\n\treturn data.activeTags;\r\n}\r\n\r\n/**\r\n * Adds an 'active tag' to the list of filtered tags\r\n * @param {string} tag The tag name\r\n */\r\nfunction addTag(tag) {\r\n\t_addActiveTag(tag);\r\n}\r\n\r\n/**\r\n * Removes an 'active tag' from the list of filtered tags\r\n * @param {string} tag The tag name\r\n */\r\nfunction removeTag(tag) {\r\n\t_removeActiveTag(tag);\r\n}\r\n\r\n/**\r\n * Refreshes the active tags search\r\n */\r\nfunction refreshTagSearch() {\r\n\tfilterApps();\r\n}\r\n\r\n/**\r\n * Removes all tags from the active tags list\r\n */\r\nfunction clearTags() {\r\n\t_clearActiveTags();\r\n}\r\n\r\n/**\r\n * Calls appD to search the directory of apps based on search text and tag names\r\n * @param {string} terms The search terms provided by the user\r\n */\r\nfunction searchApps(terms, cb = Function.prototype) {\r\n\tdata.searchText = terms;\r\n\tsetForceSearch(true);\r\n\tgetStore().setValue(\r\n\t\t{\r\n\t\t\tfield: \"searchText\",\r\n\t\t\tvalue: terms,\r\n\t\t},\r\n\t\t() => {\r\n\t\t\tfilterApps();\r\n\t\t\tcb();\r\n\t\t}\r\n\t);\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"storeActions.js","sourceRoot":"","sources":["../../../../src/components/appCatalog/stores/storeActions.js"],"names":[],"mappings":"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","sourcesContent":["import { findIndex } from \"lodash\";\r\n\r\n/*!\r\n * Copyright 2017 - 2020 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\nimport AppDirectory from \"../modules/AppDirectory\";\r\nimport FDC3 from \"../modules/FDC3\";\r\nimport { getStore } from \"./appStore\";\r\nimport { findIndex } from \"lodash\";\r\nimport * as path from \"path\";\r\n\r\nexport const findAppIndexInFolder = (appID, folderName, folders) =>\r\n\tfindIndex(folders[folderName].apps, (app) => app.appID === appID);\r\n\r\nexport default {\r\n\tinitialize,\r\n\tgetApps,\r\n\tgetFilteredApps,\r\n\tclearFilteredApps,\r\n\tsearchApps,\r\n\tgetActiveTags,\r\n\tgetTags,\r\n\taddTag,\r\n\tremoveTag,\r\n\trefreshTagSearch,\r\n\tclearTags,\r\n\tclearSearchText,\r\n\taddApp,\r\n\tremoveApp,\r\n\topenApp,\r\n\tclearApp,\r\n\tgetInstalledApps,\r\n\tgetActiveApp,\r\n\tsetActiveApp,\r\n\tfilterApps,\r\n\tsetSearchValue,\r\n\tsetForceSearch,\r\n\tgetSearchValue,\r\n\tgetForceSearch,\r\n\tgoHome,\r\n};\r\n\r\nconst data = {};\r\nlet FDC3Client;\r\nlet appd;\r\n\r\nfunction initialize(done = Function.prototype) {\r\n\tFSBL.Clients.ConfigClient.getValue({ field: \"finsemble.appDirectoryEndpoint\" }, (err, appDirectoryEndpoint) => {\r\n\t\tFDC3Client = new FDC3({ url: appDirectoryEndpoint });\r\n\t\tappd = new AppDirectory(FDC3Client);\r\n\r\n\t\tconst store = getStore();\r\n\t\tdata.apps = store.values.apps;\r\n\t\tstore.getValue({ field: \"appFolders.folders\" }, (err, folders) => {\r\n\t\t\tdata.folders = folders;\r\n\t\t\tstore.addListener({ field: \"appFolders.folders\" }, (err, dt) => (data.folders = dt.value));\r\n\t\t});\r\n\t\tstore.getValue({ field: \"activeFolder\" }, (err, active) => {\r\n\t\t\tdata.activeFolder = active;\r\n\t\t\tstore.addListener({ field: \"activeFolder\" }, (err, dt) => (data.activeFolder = dt.value));\r\n\t\t});\r\n\t\tstore.getValue({ field: \"defaultFolder\" }, (err, folder) => {\r\n\t\t\tdata.defaultFolder = folder;\r\n\t\t});\r\n\r\n\t\tdata.installed = store.values.appDefinitions;\r\n\t\tdata.tags = store.values.tags;\r\n\t\tdata.filteredApps = store.values.filteredApps;\r\n\t\tdata.activeTags = store.values.activeTags;\r\n\t\tdata.activeApp = store.values.activeApp;\r\n\t\tdata.searchText = store.values.searchText;\r\n\t\tdata.forceSearch = store.values.forceSearch;\r\n\t\tdata.ADVANCED_APP_LAUNCHER = store.values.defaultFolder;\r\n\r\n\t\tstore.addListener({ field: \"apps\" }, (err, dt) => (data.apps = dt.value));\r\n\t\tstore.addListener({ field: \"appDefinitions\" }, (err, dt) => (data.installed = dt.value));\r\n\t\tstore.addListener({ field: \"tags\" }, (err, dt) => (data.tags = dt.value));\r\n\t\tstore.addListener({ field: \"activeApp\" }, (err, dt) => (data.activeApp = dt.value));\r\n\t\tstore.addListener({ field: \"activeTags\" }, (err, dt) => (data.activeTags = dt.value));\r\n\t\tstore.addListener({ field: \"filteredApps\" }, (err, dt) => (data.filteredApps = dt.value));\r\n\t\tstore.addListener({ field: \"searchText\" }, (err, dt) => (data.searchText = dt.value));\r\n\t\tstore.addListener({ field: \"forceSearch\" }, (err, dt) => (data.forceSearch = dt.value));\r\n\t\tdone();\r\n\t});\r\n}\r\n\r\n/**\r\n * Return to the App Catalog home page\r\n */\r\nfunction goHome() {\r\n\tsetForceSearch(false);\r\n\tclearFilteredApps();\r\n\tclearApp();\r\n\tclearTags();\r\n\tclearSearchText();\r\n}\r\n\r\n/**\r\n * Send the search text and tags to the appd server and get a list of apps\r\n */\r\nfunction filterApps() {\r\n\tlet { activeTags, searchText } = data;\r\n\r\n\tif (activeTags.length === 0 && searchText === \"\") {\r\n\t\tgoHome();\r\n\t} else {\r\n\t\tappd.search({ text: searchText, tags: activeTags }, (err, data) => {\r\n\t\t\tif (err) {\r\n\t\t\t\tFSBL.Logger.system.error(`FDC3 App search failed!: ${err}`);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tgetStore().setValue({ field: \"activeApp\", value: null });\r\n\t\t\tgetStore().setValue({ field: \"activeTags\", value: activeTags });\r\n\t\t\tgetStore().setValue({ field: \"filteredApps\", value: data });\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * Private function to add an active tag. This will filter apps based on tags\r\n * @param {string} tag The name of the tag\r\n */\r\nfunction _addActiveTag(tag) {\r\n\tlet { activeTags } = data;\r\n\tif (!activeTags.includes(tag)) {\r\n\t\tactiveTags.push(tag);\r\n\t}\r\n\r\n\tgetStore().setValue({ field: \"activeTags\", value: activeTags }, filterApps());\r\n}\r\n\r\nfunction _findAppIndexInFolder(appID, folderName) {\r\n\treturn findIndex(data.folders[folderName].apps, (app) => app.appID === appID);\r\n}\r\n\r\n/**\r\n * Private function to remove an active tag. This will filter apps based on tags\r\n * @param {string} tag The name of the tag\r\n */\r\nfunction _removeActiveTag(tag) {\r\n\tdata.activeTags = data.activeTags.filter((currentTag) => currentTag !== tag);\r\n\r\n\tgetStore().setValue({ field: \"activeTags\", value: data.activeTags });\r\n\tfilterApps();\r\n}\r\n\r\n/**\r\n * Clears all active tags\r\n */\r\nfunction _clearActiveTags() {\r\n\tgetStore().setValue({ field: \"activeTags\", value: [] });\r\n}\r\n\r\n/**\r\n * Async function to fetch apps from the FDC3 api (appD)\r\n */\r\nasync function getApps() {\r\n\tlet apps = await appd.getAll((err, apps) => {\r\n\t\tif (!err) {\r\n\t\t\tgetStore().setValue({\r\n\t\t\t\tfield: \"apps\",\r\n\t\t\t\tvalue: apps,\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\treturn apps;\r\n}\r\n\r\n/**\r\n * Call to appD to get the list of all tags\r\n */\r\nasync function getTags() {\r\n\tlet tags = await appd.getTags((err, tags) => {\r\n\t\tgetStore().setValue({\r\n\t\t\tfield: \"tags\",\r\n\t\t\tvalue: tags,\r\n\t\t});\r\n\t});\r\n\treturn tags;\r\n}\r\n\r\n/**\r\n * Function to write errors to the log\r\n * @param {string} message The log message\r\n * @param {string} [protocol] Provide the logging protocol (default is error)\r\n */\r\nfunction writeToLog(message, protocol = \"error\") {\r\n\tFSBL.Clients.Logger[protocol](message);\r\n}\r\n\r\n/**\r\n * Function to \"install\" an app. Adds the id to a list of installed apps\r\n * @param {string} name The name of the app\r\n */\r\nasync function addApp(id, cb = Function.prototype) {\r\n\tconst { activeApp, installed, apps } = data;\r\n\tconst appID = id;\r\n\tconst app = apps.find((app) => app.appId === appID);\r\n\r\n\tif (!app) {\r\n\t\tFSBL.Clients.Logger.system.error(\r\n\t\t\t`Attempted to install app with id: ${id}, but could not find it in the local store.`\r\n\t\t);\r\n\t\treturn cb();\r\n\t}\r\n\r\n\tconst name = app.title || app.name;\r\n\tconst folder = data.activeFolder;\r\n\r\n\tif (app === undefined) {\r\n\t\tconsole.warn(\"App not found.\");\r\n\t\treturn cb();\r\n\t}\r\n\r\n\tlet manifest, appConfig;\r\n\t// Manifest from FDC3 is a string property which can either be a stringified JSON, or a uri which delivers valid JSON.\r\n\t// The catalog will attempt to parse the string as JSON, then fetch from a URL if that fails.\r\n\t// If both paths fail, notify the user that this app can't be added\r\n\tif (app.manifestType.toLowerCase() === \"finsemble\") {\r\n\t\ttry {\r\n\t\t\tmanifest = JSON.parse(app.manifest);\r\n\t\t} catch (e) {\r\n\t\t\ttry {\r\n\t\t\t\tconst urlRes = await fetch(app.manifest, { method: \"GET\" });\r\n\t\t\t\tmanifest = await urlRes.json();\r\n\t\t\t} catch (e) {\r\n\t\t\t\twriteToLog(\r\n\t\t\t\t\t`${name} is missing a valid manifest or URI that delivers a valid JSON manifest. Unable to add app.`,\r\n\t\t\t\t\t\"error\"\r\n\t\t\t\t);\r\n\t\t\t\treturn cb();\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tappConfig = installed[appID] = {\r\n\t\t\t\tappID,\r\n\t\t\t\ttags: app.tags,\r\n\t\t\t\tname: name.trim(),\r\n\t\t\t\ttype: \"component\",\r\n\t\t\t\tmanifest,\r\n\t\t\t\tcanDelete: true,\r\n\t\t\t\tsource: \"FDC3\",\r\n\t\t\t};\r\n\t\t}\r\n\t} else {\r\n\t\twriteToLog(`${name} does not appear to be a Finsemble manifest. This app cannot be added to Finsemble.`, \"error\");\r\n\t\treturn cb();\r\n\t}\r\n\r\n\tconst ADVANCED_APP_LAUNCHER = data.defaultFolder;\r\n\tconst { folders } = data;\r\n\r\n\tfolders[ADVANCED_APP_LAUNCHER].apps.push(appConfig);\r\n\tif (folder !== ADVANCED_APP_LAUNCHER) folders[folder].apps.push(appConfig);\r\n\r\n\tFSBL.Clients.LauncherClient.registerComponent(\r\n\t\t{\r\n\t\t\tcomponentType: appConfig.name,\r\n\t\t\tmanifest: appConfig.manifest,\r\n\t\t},\r\n\t\t(err, response) => {\r\n\t\t\tgetStore().setValues(\r\n\t\t\t\t[\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfield: \"activeApp\",\r\n\t\t\t\t\t\tvalue: activeApp,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfield: \"appDefinitions\",\r\n\t\t\t\t\t\tvalue: installed,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfield: \"appFolders.folders\",\r\n\t\t\t\t\t\tvalue: folders,\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcb\r\n\t\t\t);\r\n\t\t}\r\n\t);\r\n}\r\n\r\n/**\r\n * Function to \"uninstall\" an app. Removes the id from a list of installed apps\r\n * @param {string} name The name of the app\r\n */\r\nfunction removeApp(id, cb = Function.prototype) {\r\n\tlet { installed, folders } = data;\r\n\tFSBL.Clients.LauncherClient.unRegisterComponent({ componentType: installed[id].name }, (err, res) => {\r\n\t\tif (err) {\r\n\t\t\tconsole.warn(\"Failed to deregister a component\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tfor (const key in data.folders) {\r\n\t\t\tconst appIndex = findAppIndexInFolder(id, key, data.folders);\r\n\t\t\tif (appIndex > -1) {\r\n\t\t\t\tfolders[key].apps.splice(appIndex, 1);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Delete the app from the list\r\n\t\tdelete installed[id];\r\n\r\n\t\tgetStore().setValues(\r\n\t\t\t[\r\n\t\t\t\t{\r\n\t\t\t\t\tfield: \"appDefinitions\",\r\n\t\t\t\t\tvalue: installed,\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tfield: \"appFolders.folders\",\r\n\t\t\t\t\tvalue: folders,\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\tcb\r\n\t\t);\r\n\t});\r\n}\r\n\r\n/**\r\n * Function to set the 'active app' for the catalog.\r\n * @param {string} id The app id to show as the actively showcasing app\r\n */\r\nfunction openApp(id) {\r\n\tlet { apps } = data;\r\n\r\n\tlet index = apps.findIndex((app) => app.appId === id);\r\n\r\n\tif (index > -1) {\r\n\t\tgetStore().setValue({\r\n\t\t\tfield: \"activeApp\",\r\n\t\t\tvalue: id,\r\n\t\t});\r\n\t}\r\n}\r\n\r\n/**\r\n * Clear the activeApp in store\r\n */\r\nfunction clearApp() {\r\n\tgetStore().setValue({\r\n\t\tfield: \"activeApp\",\r\n\t\tvalue: null,\r\n\t});\r\n}\r\n\r\n/**\r\n * Return activeApp from store\r\n *\r\n * @returns {string} activeApp\r\n */\r\nfunction getActiveApp() {\r\n\treturn data.activeApp;\r\n}\r\n\r\n/**\r\n * Set the activeApp param in store\r\n *\r\n * @param {*} app\r\n */\r\nfunction setActiveApp(app) {\r\n\tgetStore().setValue({\r\n\t\tfield: \"activeApp\",\r\n\t\tvalue: app,\r\n\t});\r\n}\r\n\r\n/**\r\n * Retrieves a list of installed apps by id\r\n */\r\nfunction getInstalledApps() {\r\n\treturn data.installed;\r\n}\r\n\r\n/**\r\n * Gets the list of filtered apps (when searching/filtering by tags)\r\n */\r\nfunction getFilteredApps() {\r\n\treturn data.filteredApps;\r\n}\r\n\r\n/**\r\n * Clears the list of filtered apps\r\n */\r\nfunction clearFilteredApps() {\r\n\tgetStore().setValue({\r\n\t\tfield: \"filteredApps\",\r\n\t\tvalue: [],\r\n\t});\r\n}\r\n\r\n/**\r\n * Set the value of the search text in store\r\n *\r\n * @param {set} val Search string\r\n */\r\nfunction setSearchValue(val) {\r\n\tgetStore().setValue({ field: \"searchText\", value: val });\r\n}\r\n\r\n/**\r\n * Get the current value of the text in the store\r\n *\r\n * @returns {string} Search string\r\n */\r\nfunction getSearchValue() {\r\n\treturn data.searchText;\r\n}\r\n\r\n/**\r\n * Clears the search text in store\r\n *\r\n */\r\nfunction clearSearchText() {\r\n\tgetStore().setValue({ field: \"searchText\", value: \"\" });\r\n}\r\n\r\n/**\r\n * Get forceSearch store value\r\n *\r\n * @returns {boolean} forceSearch\r\n */\r\nfunction getForceSearch() {\r\n\treturn data.forceSearch;\r\n}\r\n\r\n/**\r\n * Set the forceSearch value\r\n *\r\n * @param {string} val Boolean value for forceSearch\r\n */\r\nfunction setForceSearch(val) {\r\n\tgetStore().setValue({ field: \"forceSearch\", value: val });\r\n}\r\n\r\n/**\r\n * Gets the list of active tags (these are tags that are actively filtering the content list)\r\n */\r\nfunction getActiveTags() {\r\n\treturn data.activeTags; // type: string[]\r\n}\r\n\r\n/**\r\n * Adds an 'active tag' to the list of filtered tags\r\n * @param {string} tag The tag name\r\n */\r\nfunction addTag(tag) {\r\n\t_addActiveTag(tag);\r\n}\r\n\r\n/**\r\n * Removes an 'active tag' from the list of filtered tags\r\n * @param {string} tag The tag name\r\n */\r\nfunction removeTag(tag) {\r\n\t_removeActiveTag(tag);\r\n}\r\n\r\n/**\r\n * Refreshes the active tags search\r\n */\r\nfunction refreshTagSearch() {\r\n\tfilterApps();\r\n}\r\n\r\n/**\r\n * Removes all tags from the active tags list\r\n */\r\nfunction clearTags() {\r\n\t_clearActiveTags();\r\n}\r\n\r\n/**\r\n * Calls appD to search the directory of apps based on search text and tag names\r\n * @param {string} terms The search terms provided by the user\r\n */\r\nfunction searchApps(terms, cb = Function.prototype) {\r\n\tdata.searchText = terms;\r\n\tsetForceSearch(true);\r\n\tgetStore().setValue(\r\n\t\t{\r\n\t\t\tfield: \"searchText\",\r\n\t\t\tvalue: terms,\r\n\t\t},\r\n\t\t() => {\r\n\t\t\tfilterApps();\r\n\t\t\tcb();\r\n\t\t}\r\n\t);\r\n}\r\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import "./css/button.css";
|
|
3
|
-
import {
|
|
3
|
+
import { FinsembleIconType } from "./FinsembleIcon";
|
|
4
4
|
export interface AdvancedButtonProps {
|
|
5
|
-
icon:
|
|
5
|
+
icon: FinsembleIconType;
|
|
6
6
|
text: string;
|
|
7
7
|
disabled?: boolean;
|
|
8
8
|
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
@@ -13,12 +13,13 @@ export interface AdvancedButtonProps {
|
|
|
13
13
|
export interface ButtonProps {
|
|
14
14
|
fashion: "secondary" | "primary" | "danger" | "ghost" | "danger ghost";
|
|
15
15
|
text: string;
|
|
16
|
-
iconBefore?:
|
|
17
|
-
iconAfter?:
|
|
16
|
+
iconBefore?: FinsembleIconType;
|
|
17
|
+
iconAfter?: FinsembleIconType;
|
|
18
18
|
disabled?: boolean;
|
|
19
19
|
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
|
20
20
|
className?: string;
|
|
21
21
|
buttonAttributes?: object;
|
|
22
|
+
fixedSize?: number;
|
|
22
23
|
}
|
|
23
24
|
export declare const fashion_class_lookup: {
|
|
24
25
|
secondary: string;
|
|
@@ -10,10 +10,10 @@ export const fashion_class_lookup = {
|
|
|
10
10
|
ghost: "button-container-ghost",
|
|
11
11
|
"danger ghost": "button-container-danger-ghost",
|
|
12
12
|
};
|
|
13
|
-
export const Button = ({ fashion = "secondary", text = "", iconBefore, iconAfter, disabled = false, onClick = () => { }, className = "", buttonAttributes = {}, }) => {
|
|
13
|
+
export const Button = ({ fashion = "secondary", text = "", iconBefore, iconAfter, disabled = false, onClick = () => { }, className = "", buttonAttributes = {}, fixedSize, }) => {
|
|
14
14
|
const containerClassName = [fashion_class_lookup[fashion], className].join(" ");
|
|
15
15
|
return (React.createElement("div", { className: `${containerClassName}` },
|
|
16
|
-
React.createElement("button", {
|
|
16
|
+
React.createElement("button", Object.assign({}, buttonAttributes, { onClick: onClick, disabled: disabled, style: { width: fixedSize } }),
|
|
17
17
|
iconBefore && React.createElement(FinsembleIcon, { className: "button-icon-before", icon: iconBefore }),
|
|
18
18
|
text,
|
|
19
19
|
iconAfter && React.createElement(FinsembleIcon, { className: "button-icon-after", icon: iconAfter }))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/common/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/common/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAqB,MAAM,iBAAiB,CAAC;AAwBnE,MAAM,CAAC,MAAM,oBAAoB,GAAG;IACnC,SAAS,EAAE,4BAA4B;IACvC,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,0BAA0B;IACnC,IAAI,EAAE,uBAAuB;IAC7B,MAAM,EAAE,yBAAyB;IACjC,KAAK,EAAE,wBAAwB;IAC/B,cAAc,EAAE,+BAA+B;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAA0B,CAAC,EAC7C,OAAO,GAAG,WAAW,EACrB,IAAI,GAAG,EAAE,EACT,UAAU,EACV,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,SAAS,GAAG,EAAE,EACd,gBAAgB,GAAG,EAAE,EACrB,SAAS,GACT,EAAE,EAAE;IACJ,MAAM,kBAAkB,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhF,OAAO,CACN,6BAAK,SAAS,EAAE,GAAG,kBAAkB,EAAE;QACtC,gDAAY,gBAAgB,IAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YAC7F,UAAU,IAAI,oBAAC,aAAa,IAAC,SAAS,EAAC,oBAAoB,EAAC,IAAI,EAAE,UAAU,GAAkB;YAC9F,IAAI;YACJ,SAAS,IAAI,oBAAC,aAAa,IAAC,SAAS,EAAC,mBAAmB,EAAC,IAAI,EAAE,SAAS,GAAkB,CACpF,CACJ,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React from \"react\";\r\nimport \"./css/button.css\";\r\nimport { FinsembleIcon, FinsembleIconType } from \"./FinsembleIcon\";\r\n\r\nexport interface AdvancedButtonProps {\r\n\ticon: FinsembleIconType;\r\n\ttext: string;\r\n\tdisabled?: boolean;\r\n\tonClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\r\n\ttabIndex?: number;\r\n\tclassName?: string;\r\n\tbuttonAttributes?: object;\r\n}\r\n\r\nexport interface ButtonProps {\r\n\tfashion: \"secondary\" | \"primary\" | \"danger\" | \"ghost\" | \"danger ghost\";\r\n\ttext: string;\r\n\ticonBefore?: FinsembleIconType;\r\n\ticonAfter?: FinsembleIconType;\r\n\tdisabled?: boolean;\r\n\tonClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\r\n\tclassName?: string;\r\n\tbuttonAttributes?: object;\r\n\tfixedSize?: number;\r\n}\r\n\r\nexport const fashion_class_lookup = {\r\n\tsecondary: \"button-container-secondary\",\r\n\ttile: \"button-container-tile\",\r\n\tprimary: \"button-container-primary\",\r\n\ticon: \"button-container-icon\",\r\n\tdanger: \"button-container-danger\",\r\n\tghost: \"button-container-ghost\",\r\n\t\"danger ghost\": \"button-container-danger-ghost\",\r\n};\r\n\r\nexport const Button: React.FC<ButtonProps> = ({\r\n\tfashion = \"secondary\",\r\n\ttext = \"\",\r\n\ticonBefore,\r\n\ticonAfter,\r\n\tdisabled = false,\r\n\tonClick = () => {},\r\n\tclassName = \"\",\r\n\tbuttonAttributes = {},\r\n\tfixedSize,\r\n}) => {\r\n\tconst containerClassName = [fashion_class_lookup[fashion], className].join(\" \");\r\n\r\n\treturn (\r\n\t\t<div className={`${containerClassName}`}>\r\n\t\t\t<button {...buttonAttributes} onClick={onClick} disabled={disabled} style={{ width: fixedSize }}>\r\n\t\t\t\t{iconBefore && <FinsembleIcon className=\"button-icon-before\" icon={iconBefore}></FinsembleIcon>}\r\n\t\t\t\t{text}\r\n\t\t\t\t{iconAfter && <FinsembleIcon className=\"button-icon-after\" icon={iconAfter}></FinsembleIcon>}\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
|
|
@@ -5,7 +5,7 @@ import { FinsembleIcon } from "./FinsembleIcon";
|
|
|
5
5
|
export const ButtonIcon = ({ icon, text = "", disabled = false, tabIndex = 0, onClick = () => { }, className = "", buttonAttributes = {}, }) => {
|
|
6
6
|
const containerClassName = fashion_class_lookup.icon;
|
|
7
7
|
return (React.createElement("div", { className: `${containerClassName} ${className}` },
|
|
8
|
-
React.createElement("button", {
|
|
8
|
+
React.createElement("button", Object.assign({}, buttonAttributes, { onClick: onClick, disabled: disabled, title: text, tabIndex: tabIndex }),
|
|
9
9
|
React.createElement(FinsembleIcon, { icon: icon }))));
|
|
10
10
|
};
|
|
11
11
|
//# sourceMappingURL=ButtonIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonIcon.js","sourceRoot":"","sources":["../../../src/components/common/ButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAuB,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAkC,CAAC,EACzD,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,CAAC,EACZ,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,SAAS,GAAG,EAAE,EACd,gBAAgB,GAAG,EAAE,GACrB,EAAE,EAAE;IACJ,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,CAAC;IAErD,OAAO,CACN,6BAAK,SAAS,EAAE,GAAG,kBAAkB,IAAI,SAAS,EAAE;QACnD,
|
|
1
|
+
{"version":3,"file":"ButtonIcon.js","sourceRoot":"","sources":["../../../src/components/common/ButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAuB,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,UAAU,GAAkC,CAAC,EACzD,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,CAAC,EACZ,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,SAAS,GAAG,EAAE,EACd,gBAAgB,GAAG,EAAE,GACrB,EAAE,EAAE;IACJ,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,CAAC;IAErD,OAAO,CACN,6BAAK,SAAS,EAAE,GAAG,kBAAkB,IAAI,SAAS,EAAE;QACnD,gDAAY,gBAAgB,IAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ;YAClG,oBAAC,aAAa,IAAC,IAAI,EAAE,IAAI,GAAkB,CACnC,CACJ,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React from \"react\";\r\nimport { AdvancedButtonProps, fashion_class_lookup } from \"./Button\";\r\nimport \"./css/button.css\";\r\nimport { FinsembleIcon } from \"./FinsembleIcon\";\r\n\r\nexport const ButtonIcon: React.FC<AdvancedButtonProps> = ({\r\n\ticon,\r\n\ttext = \"\",\r\n\tdisabled = false,\r\n\ttabIndex = 0,\r\n\tonClick = () => {},\r\n\tclassName = \"\",\r\n\tbuttonAttributes = {},\r\n}) => {\r\n\tconst containerClassName = fashion_class_lookup.icon;\r\n\r\n\treturn (\r\n\t\t<div className={`${containerClassName} ${className}`}>\r\n\t\t\t<button {...buttonAttributes} onClick={onClick} disabled={disabled} title={text} tabIndex={tabIndex}>\r\n\t\t\t\t<FinsembleIcon icon={icon}></FinsembleIcon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface ButtonRowProps {
|
|
3
|
+
label?: string;
|
|
4
|
+
onClick: Function;
|
|
5
|
+
iconClass?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
img?: string;
|
|
8
|
+
showDefaultIcon?: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
role?: string;
|
|
11
|
+
tabIndex?: number;
|
|
12
|
+
onKeyDown?: Function;
|
|
13
|
+
}
|
|
14
|
+
declare const ButtonRow: React.FC<ButtonRowProps>;
|
|
15
|
+
export default ButtonRow;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
const defaultProps = {
|
|
3
|
+
label: "",
|
|
4
|
+
onClick: () => { },
|
|
5
|
+
iconClass: "",
|
|
6
|
+
disabled: false,
|
|
7
|
+
showDefaultIcon: false,
|
|
8
|
+
className: "row-btn",
|
|
9
|
+
};
|
|
10
|
+
const ButtonRow = ({ label, onClick, iconClass, disabled, img, showDefaultIcon, className, }) => {
|
|
11
|
+
const [imgError, setImgError] = useState(false);
|
|
12
|
+
return (React.createElement("div", { className: disabled ? "row-btn-disabled" : className, role: "button", tabIndex: 0, onClick: () => {
|
|
13
|
+
if (!disabled) {
|
|
14
|
+
const func = onClick;
|
|
15
|
+
func();
|
|
16
|
+
}
|
|
17
|
+
}, onKeyDown: (e) => {
|
|
18
|
+
if ((e.key === "Enter" || e.key === " ") && !disabled) {
|
|
19
|
+
const func = onClick;
|
|
20
|
+
func();
|
|
21
|
+
}
|
|
22
|
+
} },
|
|
23
|
+
img && (React.createElement("img", { src: img, style: showDefaultIcon || imgError ? { display: "none" } : { width: "auto", height: "20px" }, onError: () => {
|
|
24
|
+
setImgError(true);
|
|
25
|
+
} })),
|
|
26
|
+
(showDefaultIcon || imgError) && React.createElement("i", { className: "ff-finsemble default-img" }),
|
|
27
|
+
React.createElement("span", { className: "row__lbl" }, label),
|
|
28
|
+
React.createElement("i", { className: iconClass })));
|
|
29
|
+
};
|
|
30
|
+
ButtonRow.defaultProps = defaultProps;
|
|
31
|
+
export default ButtonRow;
|
|
32
|
+
//# sourceMappingURL=ButtonRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonRow.js","sourceRoot":"","sources":["../../../src/components/common/ButtonRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAexC,MAAM,YAAY,GAAmB;IACpC,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;IACjB,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,SAAS;CACpB,CAAC;AAEF,MAAM,SAAS,GAA6B,CAAC,EAC5C,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,EACH,eAAe,EACf,SAAS,GACT,EAAE,EAAE;IACJ,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,CACN,6BACC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,EACpD,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,GAAG,EAAE;YACb,IAAI,CAAC,QAAQ,EAAE;gBACd,MAAM,IAAI,GAAG,OAAO,CAAC;gBACrB,IAAI,EAAE,CAAC;aACP;QACF,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAChB,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtD,MAAM,IAAI,GAAG,OAAO,CAAC;gBACrB,IAAI,EAAE,CAAC;aACP;QACF,CAAC;QAEA,GAAG,IAAI,CACP,6BACC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAC5F,OAAO,EAAE,GAAG,EAAE;gBACb,WAAW,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC,GACA,CACF;QACA,CAAC,eAAe,IAAI,QAAQ,CAAC,IAAI,2BAAG,SAAS,EAAC,0BAA0B,GAAG;QAC5E,8BAAM,SAAS,EAAC,UAAU,IAAE,KAAK,CAAQ;QACzC,2BAAG,SAAS,EAAE,SAAS,GAAI,CACtB,CACN,CAAC;AACH,CAAC,CAAC;AAEF,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;AACtC,eAAe,SAAS,CAAC","sourcesContent":["import React, { useState } from \"react\";\r\n\r\nexport interface ButtonRowProps {\r\n\tlabel?: string;\r\n\tonClick: Function;\r\n\ticonClass?: string;\r\n\tdisabled?: boolean;\r\n\timg?: string;\r\n\tshowDefaultIcon?: boolean;\r\n\tclassName?: string;\r\n\trole?: string;\r\n\ttabIndex?: number;\r\n\tonKeyDown?: Function;\r\n}\r\n\r\nconst defaultProps: ButtonRowProps = {\r\n\tlabel: \"\",\r\n\tonClick: () => {},\r\n\ticonClass: \"\",\r\n\tdisabled: false,\r\n\tshowDefaultIcon: false,\r\n\tclassName: \"row-btn\",\r\n};\r\n\r\nconst ButtonRow: React.FC<ButtonRowProps> = ({\r\n\tlabel,\r\n\tonClick,\r\n\ticonClass,\r\n\tdisabled,\r\n\timg,\r\n\tshowDefaultIcon,\r\n\tclassName,\r\n}) => {\r\n\tconst [imgError, setImgError] = useState(false);\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={disabled ? \"row-btn-disabled\" : className}\r\n\t\t\trole=\"button\"\r\n\t\t\ttabIndex={0}\r\n\t\t\tonClick={() => {\r\n\t\t\t\tif (!disabled) {\r\n\t\t\t\t\tconst func = onClick;\r\n\t\t\t\t\tfunc();\r\n\t\t\t\t}\r\n\t\t\t}}\r\n\t\t\tonKeyDown={(e) => {\r\n\t\t\t\tif ((e.key === \"Enter\" || e.key === \" \") && !disabled) {\r\n\t\t\t\t\tconst func = onClick;\r\n\t\t\t\t\tfunc();\r\n\t\t\t\t}\r\n\t\t\t}}\r\n\t\t>\r\n\t\t\t{img && (\r\n\t\t\t\t<img\r\n\t\t\t\t\tsrc={img}\r\n\t\t\t\t\tstyle={showDefaultIcon || imgError ? { display: \"none\" } : { width: \"auto\", height: \"20px\" }}\r\n\t\t\t\t\tonError={() => {\r\n\t\t\t\t\t\tsetImgError(true);\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t{(showDefaultIcon || imgError) && <i className=\"ff-finsemble default-img\" />}\r\n\t\t\t<span className=\"row__lbl\">{label}</span>\r\n\t\t\t<i className={iconClass} />\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nButtonRow.defaultProps = defaultProps;\r\nexport default ButtonRow;\r\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface CheckboxProps {
|
|
3
|
+
checked?: boolean;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
label?: string;
|
|
6
|
+
onClick?: (e: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const Checkbox: React.FC<CheckboxProps>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export const Checkbox = ({ checked = false, disabled = false, label = "", onClick = () => { }, }) => {
|
|
3
|
+
let checkboxClasses = "complex-menu-checkbox";
|
|
4
|
+
if (checked) {
|
|
5
|
+
checkboxClasses = `${checkboxClasses} checked`;
|
|
6
|
+
}
|
|
7
|
+
let style = {};
|
|
8
|
+
if (disabled) {
|
|
9
|
+
style = {
|
|
10
|
+
cursor: "default",
|
|
11
|
+
opacity: ".55",
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
return (React.createElement("div", { style: style, className: "complex-menu-checkbox-wrapper", role: "checkbox", "aria-label": label, tabIndex: 0, onClick: disabled ? () => { } : onClick, onKeyDown: (e) => {
|
|
15
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
16
|
+
!disabled && onClick(e);
|
|
17
|
+
}
|
|
18
|
+
} },
|
|
19
|
+
React.createElement("div", { className: checkboxClasses }, checked && React.createElement("i", { className: "ff-check-mark" })),
|
|
20
|
+
React.createElement("div", { className: "complex-menu-checkbox-label" }, label)));
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/common/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,EACjD,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,EAAE,EACV,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,GAClB,EAAE,EAAE;IACJ,IAAI,eAAe,GAAG,uBAAuB,CAAC;IAC9C,IAAI,OAAO,EAAE;QACZ,eAAe,GAAG,GAAG,eAAe,UAAU,CAAC;KAC/C;IACD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,QAAQ,EAAE;QACb,KAAK,GAAG;YACP,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,KAAK;SACd,CAAC;KACF;IACD,OAAO,CACN,6BACC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAC,+BAA+B,EACzC,IAAI,EAAC,UAAU,gBACH,KAAK,EACjB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EACtC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAChB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;gBACvC,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;aACxB;QACF,CAAC;QAED,6BAAK,SAAS,EAAE,eAAe,IAAG,OAAO,IAAI,2BAAG,SAAS,EAAC,eAAe,GAAK,CAAO;QACrF,6BAAK,SAAS,EAAC,6BAA6B,IAAE,KAAK,CAAO,CACrD,CACN,CAAC;AACH,CAAC,CAAC","sourcesContent":["import React from \"react\";\r\n\r\nexport interface CheckboxProps {\r\n\tchecked?: boolean;\r\n\tdisabled?: boolean;\r\n\tlabel?: string;\r\n\tonClick?: (e: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;\r\n}\r\n\r\nexport const Checkbox: React.FC<CheckboxProps> = ({\r\n\tchecked = false,\r\n\tdisabled = false,\r\n\tlabel = \"\",\r\n\tonClick = () => {},\r\n}) => {\r\n\tlet checkboxClasses = \"complex-menu-checkbox\";\r\n\tif (checked) {\r\n\t\tcheckboxClasses = `${checkboxClasses} checked`;\r\n\t}\r\n\tlet style = {};\r\n\tif (disabled) {\r\n\t\tstyle = {\r\n\t\t\tcursor: \"default\",\r\n\t\t\topacity: \".55\",\r\n\t\t};\r\n\t}\r\n\treturn (\r\n\t\t<div\r\n\t\t\tstyle={style}\r\n\t\t\tclassName=\"complex-menu-checkbox-wrapper\"\r\n\t\t\trole=\"checkbox\"\r\n\t\t\taria-label={label}\r\n\t\t\ttabIndex={0}\r\n\t\t\tonClick={disabled ? () => {} : onClick}\r\n\t\t\tonKeyDown={(e) => {\r\n\t\t\t\tif (e.key === \"Enter\" || e.key === \" \") {\r\n\t\t\t\t\t!disabled && onClick(e);\r\n\t\t\t\t}\r\n\t\t\t}}\r\n\t\t>\r\n\t\t\t<div className={checkboxClasses}>{checked && <i className=\"ff-check-mark\"></i>}</div>\r\n\t\t\t<div className=\"complex-menu-checkbox-label\">{label}</div>\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
|
|
@@ -46,6 +46,6 @@ export const ColorPicker = ({ id, startColor, updateColor }) => {
|
|
|
46
46
|
};
|
|
47
47
|
return (React.createElement("div", { className: "color-picker" },
|
|
48
48
|
React.createElement("input", { className: "theme-color-picker", type: "color", value: color, onChange: onColorChanged, "aria-hidden": "true" }),
|
|
49
|
-
React.createElement("input", { className: "theme-color-picker-text", type: "text", "aria-invalid": !isValid, value: color, onChange: onColorChanged,
|
|
49
|
+
React.createElement("input", Object.assign({ className: "theme-color-picker-text", type: "text", "aria-invalid": !isValid, value: color, onChange: onColorChanged }, { id }))));
|
|
50
50
|
};
|
|
51
51
|
//# sourceMappingURL=ColorPicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../../../src/components/common/ColorPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,wBAAwB,CAAC;AAEhC,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAEvC,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACvB,6CAAO,CAAA;IACP,iDAAS,CAAA;IACT,+CAAQ,CAAA;IACR,iDAAS,CAAA;AACV,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAGD,MAAM,UAAU,WAAW,CAAC,KAAa;IAOxC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC7C,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACf,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC;IAClC,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC;IACtB,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAE7B,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAMhC,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;QACvC,OAAO,KAAK,CAAC;KACb;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClE,OAAO,IAAI,GAAG,EAAE,CAAC;AAClB,CAAC;AAaD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAoB,EAAE,EAAE;IAChF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,OAAO,EAAE;YACZ,WAAW,CAAC,KAAK,CAAC,CAAC;SACnB;IACF,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,UAAU,EAAE;YACf,QAAQ,CAAC,UAAU,CAAC,CAAC;SACrB;IACF,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,cAAc,GAAG,CAAC,EAAE,MAAM,EAAgC,EAAE,EAAE;QACnE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CACN,6BAAK,SAAS,EAAC,cAAc;QAC5B,+BACC,SAAS,EAAC,oBAAoB,EAC9B,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,cAAc,iBACZ,MAAM,GACV;QACT
|
|
1
|
+
{"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../../../src/components/common/ColorPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\r\nimport \"./css/color-picker.css\";\r\n\r\nconst RE_HEX_COLOR = /^#[0-9a-f]{6}$/i;\r\n\r\nexport enum RGBA_CHANNEL {\r\n\tRED = 0,\r\n\tGREEN = 1,\r\n\tBLUE = 2,\r\n\tALPHA = 3,\r\n}\r\n\r\n// From https://stackoverflow.com/a/24390910\r\nexport function colorToRGBA(color: string) {\r\n\t// Returns the color as an array of [r, g, b, a] -- all range from 0 - 255\r\n\t// color must be a valid canvas fillStyle. This will cover most anything\r\n\t// you'd want to use.\r\n\t// Examples:\r\n\t// colorToRGBA('red') # [255, 0, 0, 255]\r\n\t// colorToRGBA('#f00') # [255, 0, 0, 255]\r\n\tconst cvs = document.createElement(\"canvas\");\r\n\tcvs.height = 1;\r\n\tcvs.width = 1;\r\n\r\n\tconst ctx = cvs.getContext(\"2d\")!;\r\n\tctx.fillStyle = color;\r\n\tctx.fillRect(0, 0, 1, 1);\r\n\treturn ctx.getImageData(0, 0, 1, 1).data;\r\n}\r\n\r\nfunction byteToHex(num: number) {\r\n\t// Turns a number (0-255) into a 2-character hex number (00-ff)\r\n\treturn `0${num.toString(16)}`.slice(-2);\r\n}\r\n\r\nfunction colorToHex(color: string) {\r\n\t// Convert any CSS color to a hex representation\r\n\t// Examples:\r\n\t// colorToHex('red') # '#ff0000'\r\n\t// colorToHex('rgb(255, 0, 0)') # '#ff0000'\r\n\t// colorToHex('#ff0000') # '#ff0000'\r\n\tif (color.match(RE_HEX_COLOR) !== null) {\r\n\t\treturn color;\r\n\t}\r\n\tconst rgba = colorToRGBA(color);\r\n\tconst hex = [0, 1, 2].map((idx) => byteToHex(rgba[idx])).join(\"\");\r\n\treturn `#${hex}`;\r\n}\r\n\r\nexport interface ColorPickerProps {\r\n\tstartColor: string;\r\n\tupdateColor: (newColor: string) => void;\r\n\tid?: string;\r\n}\r\n\r\n/**\r\n * ColorPicker component to update theme variables. Displays a browser color input alongside a text version for hex color values.\r\n *\r\n * @param {{ [id]: string, startColor: string; updateColor: function }} { id, startColor, callback }\r\n */\r\nexport const ColorPicker = ({ id, startColor, updateColor }: ColorPickerProps) => {\r\n\tconst [color, setColor] = useState(colorToHex(startColor));\r\n\tconst isValid = color.match(RE_HEX_COLOR) !== null;\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isValid) {\r\n\t\t\tupdateColor(color);\r\n\t\t}\r\n\t}, [color]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (startColor) {\r\n\t\t\tsetColor(startColor);\r\n\t\t}\r\n\t}, [startColor]);\r\n\r\n\tconst onColorChanged = ({ target }: { target: HTMLInputElement }) => {\r\n\t\tsetColor(target.value);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<div className=\"color-picker\">\r\n\t\t\t<input\r\n\t\t\t\tclassName=\"theme-color-picker\"\r\n\t\t\t\ttype=\"color\"\r\n\t\t\t\tvalue={color}\r\n\t\t\t\tonChange={onColorChanged}\r\n\t\t\t\taria-hidden=\"true\"\r\n\t\t\t></input>\r\n\t\t\t<input\r\n\t\t\t\tclassName=\"theme-color-picker-text\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\taria-invalid={!isValid}\r\n\t\t\t\tvalue={color}\r\n\t\t\t\tonChange={onColorChanged}\r\n\t\t\t\t{...{ id }}\r\n\t\t\t></input>\r\n\t\t</div>\r\n\t);\r\n};\r\n"]}
|