@finsemble/finsemble-ui 6.4.0-beta.1 → 6.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -28
- package/package.json +20 -19
- package/react/actions/favoriteActions.js.map +1 -1
- package/react/actions/linkerActions.js.map +1 -1
- package/react/actions/menuActions.js.map +1 -1
- package/react/actions/rootActions.js.map +1 -1
- package/react/actions/searchActions.js.map +1 -1
- package/react/actions/smartDesktopDesignerActions.d.ts +6 -2
- package/react/actions/smartDesktopDesignerActions.js +2 -0
- package/react/actions/smartDesktopDesignerActions.js.map +1 -1
- package/react/actions/toolbarActions.js.map +1 -1
- package/react/actions/workspaceActions.js.map +1 -1
- package/react/assets/css/advancedAppLauncher.css +636 -636
- package/react/assets/css/appCatalog.css +1069 -1069
- package/react/assets/css/authentication.css +78 -78
- package/react/assets/css/button.css +220 -220
- package/react/assets/css/core/formElements.css +23 -23
- package/react/assets/css/core/icons.css +69 -69
- package/react/assets/css/core/notifications.css +75 -75
- package/react/assets/css/core/windowFrame.css +36 -36
- package/react/assets/css/dashbar.css +78 -78
- package/react/assets/css/defaultTheme.css +356 -356
- package/react/assets/css/dialogs.css +158 -158
- package/react/assets/css/favorites.css +101 -101
- package/react/assets/css/finsemble.css +38 -38
- package/react/assets/css/focus.css +4 -4
- package/react/assets/css/font-finance.css +385 -385
- package/react/assets/css/fonts/Open_Sans/LICENSE.txt +202 -202
- package/react/assets/css/fonts/Open_Sans/OpenSans-Definition.css +118 -118
- package/react/assets/css/fonts/font-finance.svg +124 -124
- package/react/assets/css/fonts/icons-reference.html +1174 -1174
- package/react/assets/css/linkerWindow.css +124 -124
- package/react/assets/css/menus.css +195 -195
- package/react/assets/css/notificationsCenter.css +597 -597
- package/react/assets/css/processMonitor.css +213 -213
- package/react/assets/css/search.css +128 -128
- package/react/assets/css/shared/animations.css +99 -99
- package/react/assets/css/tags.css +136 -136
- package/react/assets/css/toolbar.css +413 -413
- package/react/assets/css/userPreferences.css +538 -538
- package/react/assets/css/windowTitleBar.css +653 -652
- package/react/assets/icons/always-on-top.svg +20 -0
- package/react/assets/icons/caret.svg +7 -7
- package/react/assets/icons/check-square.svg +5 -5
- package/react/assets/icons/check.svg +3 -3
- package/react/assets/icons/chevron-left.svg +3 -3
- package/react/assets/icons/chevron-right.svg +3 -3
- package/react/assets/icons/close.svg +11 -0
- package/react/assets/icons/code-block.svg +15 -0
- package/react/assets/icons/copy.svg +10 -10
- package/react/assets/icons/documentation.svg +20 -0
- package/react/assets/icons/exclamation-circle.svg +4 -4
- package/react/assets/icons/external-link.svg +12 -12
- package/react/assets/icons/flag.svg +10 -10
- package/react/assets/icons/folder.svg +3 -3
- package/react/assets/icons/font.svg +3 -3
- package/react/assets/icons/globe.svg +3 -3
- package/react/assets/icons/hdd.svg +9 -9
- package/react/assets/icons/key.svg +10 -10
- package/react/assets/icons/life-ring.svg +3 -3
- package/react/assets/icons/linker.svg +18 -0
- package/react/assets/icons/lock.svg +5 -5
- package/react/assets/icons/magic.svg +15 -15
- package/react/assets/icons/maximize.svg +16 -0
- package/react/assets/icons/minimize.svg +15 -0
- package/react/assets/icons/moon.svg +10 -10
- package/react/assets/icons/paint-roller.svg +3 -3
- package/react/assets/icons/pencil.svg +10 -10
- package/react/assets/icons/plus.svg +3 -3
- package/react/assets/icons/question-circle.svg +5 -5
- package/react/assets/icons/search.svg +3 -3
- package/react/assets/icons/sun.svg +9 -9
- package/react/assets/icons/times.svg +3 -3
- package/react/assets/icons/toggle-off.svg +6 -6
- package/react/assets/icons/toggle-on.svg +6 -6
- package/react/assets/icons/toolbar.svg +12 -12
- package/react/assets/icons/tools.svg +3 -3
- package/react/assets/icons/trash.svg +12 -12
- package/react/assets/icons/upload.svg +10 -10
- package/react/assets/icons/window.svg +3 -3
- package/react/assets/img/finsemble-display.png +0 -0
- package/react/componentTemplateGenerator.js +85 -85
- package/react/componentTemplateGenerator.js.map +1 -1
- package/react/components/FinsembleProvider.js.map +1 -1
- package/react/components/appCatalog/AppCatalog.js.map +1 -1
- package/react/components/appCatalog/AppCatalogComponent.js.map +1 -1
- package/react/components/appCatalog/components/AppCard.js.map +1 -1
- package/react/components/appCatalog/components/AppList.js.map +1 -1
- package/react/components/appCatalog/components/AppResults.js.map +1 -1
- package/react/components/appCatalog/components/Carousel.js.map +1 -1
- package/react/components/appCatalog/components/EmptyResults.js.map +1 -1
- package/react/components/appCatalog/components/Hero.js.map +1 -1
- package/react/components/appCatalog/components/Home.js.map +1 -1
- package/react/components/appCatalog/components/SearchBar.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/AppDescription.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/AppDevNotes.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/AppShowcase.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/Header.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/ImageCarousel.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/Modal.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/ReleaseNotes.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/SupportNotes.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/VersionNotes.js.map +1 -1
- package/react/components/appCatalog/components/Showcase/defaults.js.map +1 -1
- package/react/components/appCatalog/components/Tag.js.map +1 -1
- package/react/components/appCatalog/components/Toast.js.map +1 -1
- package/react/components/appCatalog/components/helpers.js.map +1 -1
- package/react/components/appCatalog/index.js.map +1 -1
- package/react/components/appCatalog/modules/AppDirectory.js.map +1 -1
- package/react/components/appCatalog/modules/FDC3.d.ts +1 -1
- package/react/components/appCatalog/modules/FDC3.js.map +1 -1
- package/react/components/appCatalog/stores/appStore.d.ts +2 -2
- package/react/components/appCatalog/stores/appStore.js.map +1 -1
- package/react/components/appCatalog/stores/storeActions.js.map +1 -1
- package/react/components/common/Accordion.js +1 -1
- package/react/components/common/Accordion.js.map +1 -1
- package/react/components/common/Button.js.map +1 -1
- package/react/components/common/ButtonIcon.js.map +1 -1
- package/react/components/common/ButtonRow.js.map +1 -1
- package/react/components/common/ButtonTile.js.map +1 -1
- package/react/components/common/Checkbox.js +1 -1
- package/react/components/common/Checkbox.js.map +1 -1
- package/react/components/common/ColorPicker.js.map +1 -1
- package/react/components/common/DropZone.js +3 -1
- package/react/components/common/DropZone.js.map +1 -1
- package/react/components/common/DropdownButton.js.map +1 -1
- package/react/components/common/FileInput.d.ts +2 -1
- package/react/components/common/FileInput.js +9 -4
- package/react/components/common/FileInput.js.map +1 -1
- package/react/components/common/FinsembleIcon.d.ts +1 -1
- package/react/components/common/FinsembleIcon.js +15 -1
- package/react/components/common/FinsembleIcon.js.map +1 -1
- package/react/components/common/FinsembleSelect.js +1 -1
- package/react/components/common/FinsembleSelect.js.map +1 -1
- package/react/components/common/FinsembleToggle.js.map +1 -1
- package/react/components/common/Header.js +3 -1
- package/react/components/common/Header.js.map +1 -1
- package/react/components/common/ImagePreview.js.map +1 -1
- package/react/components/common/InputTable.js.map +1 -1
- package/react/components/common/LoadingSpinner.js.map +1 -1
- package/react/components/common/Tab.js.map +1 -1
- package/react/components/common/Tooltip.js +3 -1
- package/react/components/common/Tooltip.js.map +1 -1
- package/react/components/common/css/accordion.css +99 -89
- package/react/components/common/css/application-edit-page.css +324 -223
- package/react/components/common/css/application-list.css +53 -47
- package/react/components/common/css/button.css +166 -166
- package/react/components/common/css/checkbox.css +30 -31
- package/react/components/common/css/color-picker.css +52 -52
- package/react/components/common/css/drop-zone.css +17 -17
- package/react/components/common/css/file-input.css +65 -49
- package/react/components/common/css/header.css +30 -32
- package/react/components/common/css/icon.css +13 -13
- package/react/components/common/css/image-preview.css +57 -57
- package/react/components/common/css/loading-spinner.css +39 -39
- package/react/components/common/css/preload-edit-page.css +37 -0
- package/react/components/common/css/selector.css +51 -51
- package/react/components/common/css/styles.css +127 -128
- package/react/components/common/css/tab.css +56 -56
- package/react/components/common/css/toggle.css +32 -32
- package/react/components/common/css/tooltip.css +78 -78
- package/react/components/common/file_helpers.js.map +1 -1
- package/react/components/common/fixtures/FinsembleIcon.css +4 -4
- package/react/components/common/helpers.js.map +1 -1
- package/react/components/common/stories/Accordion.stories.js.map +1 -1
- package/react/components/common/stories/Button.stories.js.map +1 -1
- package/react/components/common/stories/ButtonIcon.stories.js.map +1 -1
- package/react/components/common/stories/ButtonRow.stories.js.map +1 -1
- package/react/components/common/stories/ButtonTile.stories.js.map +1 -1
- package/react/components/common/stories/Checkbox.stories.js.map +1 -1
- package/react/components/common/stories/ColorPicker.stories.js.map +1 -1
- package/react/components/common/stories/DropZone.stories.js.map +1 -1
- package/react/components/common/stories/DropdownButton.stories.js.map +1 -1
- package/react/components/common/stories/FileInput.stories.d.ts +2 -1
- package/react/components/common/stories/FileInput.stories.js +6 -0
- package/react/components/common/stories/FileInput.stories.js.map +1 -1
- package/react/components/common/stories/FinsembleIcon.stories.js.map +1 -1
- package/react/components/common/stories/FinsembleSelect.stories.js.map +1 -1
- package/react/components/common/stories/FinsembleToggle.stories.js.map +1 -1
- package/react/components/common/stories/Header.stories.js.map +1 -1
- package/react/components/common/stories/ImagePreview.stories.js.map +1 -1
- package/react/components/common/stories/InputTable.stories.js.map +1 -1
- package/react/components/common/stories/LoadingSpinner.stories.js.map +1 -1
- package/react/components/common/stories/Tab.stories.js.map +1 -1
- package/react/components/common/stories/Tooltip.stories.js.map +1 -1
- package/react/components/common/tests/Accordion.spec.js.map +1 -1
- package/react/components/common/tests/ButtonRow.spec.js.map +1 -1
- package/react/components/common/tests/Checkbox.spec.js.map +1 -1
- package/react/components/common/tests/ColorPicker.spec.js.map +1 -1
- package/react/components/common/tests/DropZone.spec.js.map +1 -1
- package/react/components/common/tests/FileInput.spec.js +20 -5
- package/react/components/common/tests/FileInput.spec.js.map +1 -1
- package/react/components/common/tests/FinsembleSelect.spec.js.map +1 -1
- package/react/components/common/tests/FinsembleToggle.spec.js.map +1 -1
- package/react/components/common/tests/Header.spec.js +6 -2
- package/react/components/common/tests/Header.spec.js.map +1 -1
- package/react/components/common/tests/ImagePreview.spec.js.map +1 -1
- package/react/components/common/tests/InputTable.spec.js.map +1 -1
- package/react/components/common/tests/Tab.spec.js.map +1 -1
- package/react/components/common/tests/Tooltip.spec.js.map +1 -1
- package/react/components/favorites/FavoriteMaker.js.map +1 -1
- package/react/components/favorites/FavoritesShell.js.map +1 -1
- package/react/components/favorites/FavoritesShell.spec.js.map +1 -1
- package/react/components/favorites/FavoritesShell.stories.js.map +1 -1
- package/react/components/favorites/index.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverContainer.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.css +126 -126
- package/react/components/fdc3Resolver/ResolverDialog.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.spec.js.map +1 -1
- package/react/components/fdc3Resolver/ResolverDialog.stories.js.map +1 -1
- package/react/components/icon/Icon.js.map +1 -1
- package/react/components/icon/index.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialog.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialogButton.js +1 -1
- package/react/components/legacyControls/FinsembleDialogButton.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialogQuestion.js.map +1 -1
- package/react/components/legacyControls/FinsembleDialogTextInput.js.map +1 -1
- package/react/components/legacyControls/FinsembleDnDContext.d.ts +2 -1
- package/react/components/legacyControls/FinsembleDnDContext.js +8 -6
- package/react/components/legacyControls/FinsembleDnDContext.js.map +1 -1
- package/react/components/legacyControls/FinsembleDraggable.js.map +1 -1
- package/react/components/legacyControls/FinsembleHoverDetector.js.map +1 -1
- package/react/components/legacyControls/FinsembleMenuSection.js.map +1 -1
- package/react/components/legacyControls/stories/FinsembleDialog.stories.js.map +1 -1
- package/react/components/legacyControls/stories/FinsembleDialogButton.stories.js.map +1 -1
- package/react/components/legacyControls/stories/FinsembleDialogQuestion.stories.js.map +1 -1
- package/react/components/legacyControls/stories/FinsembleDialogTextInput.stories.js.map +1 -1
- package/react/components/legacyControls/tests/FinsembleDialog.spec.js.map +1 -1
- package/react/components/legacyControls/tests/FinsembleDialogButton.spec.js.map +1 -1
- package/react/components/legacyControls/tests/FinsembleDialogQuestion.spec.js.map +1 -1
- package/react/components/legacyControls/tests/FinsembleDialogTextInput.spec.js.map +1 -1
- package/react/components/linker/LinkerMenu.js.map +1 -1
- package/react/components/linker/LinkerMenuDeprecated.js.map +1 -1
- package/react/components/linker/index.js.map +1 -1
- package/react/components/linker/remoteRedux.d.ts +1 -1
- package/react/components/linker/remoteRedux.js.map +1 -1
- package/react/components/menu/Menu.d.ts +1 -0
- package/react/components/menu/Menu.js.map +1 -1
- package/react/components/menu/MenuAutoResizer.d.ts +2 -1
- package/react/components/menu/MenuAutoResizer.js +3 -2
- package/react/components/menu/MenuAutoResizer.js.map +1 -1
- package/react/components/menu/MenuContent.js.map +1 -1
- package/react/components/menu/MenuHotKey.js.map +1 -1
- package/react/components/menu/MenuItem.js.map +1 -1
- package/react/components/menu/MenuPortal.js +118 -92
- package/react/components/menu/MenuPortal.js.map +1 -1
- package/react/components/menu/MenuShell.d.ts +1 -0
- package/react/components/menu/MenuShell.js +3 -2
- package/react/components/menu/MenuShell.js.map +1 -1
- package/react/components/menu/MenuToggle.js.map +1 -1
- package/react/components/menu/index.js.map +1 -1
- package/react/components/menu/keyboardNavigation.js.map +1 -1
- package/react/components/menu/menuContext.d.ts +1 -0
- package/react/components/menu/menuContext.js.map +1 -1
- package/react/components/menu/menuHelpers.d.ts +1 -1
- package/react/components/menu/menuHelpers.js +2 -2
- package/react/components/menu/menuHelpers.js.map +1 -1
- package/react/components/notifications/components/NoNotifications.js.map +1 -1
- package/react/components/notifications/components/drawer/Drawer.js.map +1 -1
- package/react/components/notifications/components/drawer/DrawerControls.js.map +1 -1
- package/react/components/notifications/components/drawer/DrawerHeader.js.map +1 -1
- package/react/components/notifications/components/notificationsCenter/NotificationsCenter.js.map +1 -1
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js +20 -27
- package/react/components/notifications/components/notificationsToasts/NotificationsToasts.js.map +1 -1
- package/react/components/notifications/components/shared/CheckButton.d.ts +1 -1
- package/react/components/notifications/components/shared/CheckButton.js.map +1 -1
- package/react/components/notifications/components/shared/IconButton.js.map +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.d.ts +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.js +1 -1
- package/react/components/notifications/components/shared/NotificationCardShell.js.map +1 -1
- package/react/components/notifications/components/shared/OverflowMenu.d.ts +1 -1
- package/react/components/notifications/components/shared/OverflowMenu.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyActions.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyContentLogo.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardBodyShell.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderControls.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderLogo.js.map +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.d.ts +1 -1
- package/react/components/notifications/components/shared/notificationCard/NotificationCardHeaderShell.js.map +1 -1
- package/react/components/notifications/components/views/CardView.js.map +1 -1
- package/react/components/notifications/components/views/ListView.d.ts +1 -1
- package/react/components/notifications/components/views/ListView.js +1 -1
- package/react/components/notifications/components/views/ListView.js.map +1 -1
- package/react/components/notifications/components/views/NotificationDetailsView.d.ts +1 -1
- package/react/components/notifications/components/views/NotificationDetailsView.js.map +1 -1
- package/react/components/notifications/constants.js.map +1 -1
- package/react/components/notifications/icons/Card.js.map +1 -1
- package/react/components/notifications/icons/Chevron.js.map +1 -1
- package/react/components/notifications/icons/CloseIcon.js.map +1 -1
- package/react/components/notifications/icons/EnvelopeClose.js.map +1 -1
- package/react/components/notifications/icons/EnvelopeOpen.js.map +1 -1
- package/react/components/notifications/icons/SnoozeIcon.js.map +1 -1
- package/react/components/notifications/index.js.map +1 -1
- package/react/components/notifications/notificationsContext.js.map +1 -1
- package/react/components/notifications/types.d.ts +1 -1
- package/react/components/notifications/types.js.map +1 -1
- package/react/components/notifications/utils.d.ts +1 -1
- package/react/components/notifications/utils.js.map +1 -1
- package/react/components/processMonitor/ProcessMonitor.js.map +1 -1
- package/react/components/processMonitor/ProcessMonitorTypes.js.map +1 -1
- package/react/components/processMonitor/components/ChildWindow.js.map +1 -1
- package/react/components/processMonitor/components/ListHeader.d.ts +1 -1
- package/react/components/processMonitor/components/ListHeader.js.map +1 -1
- package/react/components/processMonitor/components/ProcessStatistics.js.map +1 -1
- package/react/components/processMonitor/constants.js.map +1 -1
- package/react/components/processMonitor/helpers.js.map +1 -1
- package/react/components/processMonitor/helpers.spec.js.map +1 -1
- package/react/components/processMonitor/index.js.map +1 -1
- package/react/components/processMonitor/stores/ProcessMonitorStore.d.ts +4 -3
- package/react/components/processMonitor/stores/ProcessMonitorStore.js +51 -50
- package/react/components/processMonitor/stores/ProcessMonitorStore.js.map +1 -1
- package/react/components/quickComponentForm/QuickComponentForm.js.map +1 -1
- package/react/components/quickComponentForm/index.js.map +1 -1
- package/react/components/quickComponentForm/quickComponent.css +3 -3
- package/react/components/search/Highlight.js.map +1 -1
- package/react/components/search/Highlight.spec.js.map +1 -1
- package/react/components/search/Highlight.stories.js.map +1 -1
- package/react/components/search/Search.js.map +1 -1
- package/react/components/search/SearchBestMatch.js.map +1 -1
- package/react/components/search/SearchInput.js.map +1 -1
- package/react/components/search/SearchProviderResults.js.map +1 -1
- package/react/components/search/SearchResult.js +4 -3
- package/react/components/search/SearchResult.js.map +1 -1
- package/react/components/search/SearchResults.js.map +1 -1
- package/react/components/search/index.js.map +1 -1
- package/react/components/shared/Animate.js.map +1 -1
- package/react/components/shared/BellIcon.js.map +1 -1
- package/react/components/shared/BellIconCrossed.js.map +1 -1
- package/react/components/shared/Button.js.map +1 -1
- package/react/components/shared/ConditionalWrapper.js.map +1 -1
- package/react/components/shared/DefaultDropdownButton.js.map +1 -1
- package/react/components/shared/NavigationButton.js.map +1 -1
- package/react/components/shared/Tag.js.map +1 -1
- package/react/components/shared/TagsMenu.js.map +1 -1
- package/react/components/shared/addProtocolToValidURL.js.map +1 -1
- package/react/components/shared/linkerUtil.js.map +1 -1
- package/react/components/shared/openQuitConfirmationDialog.js.map +1 -1
- package/react/components/shared/tests/DefaultDropdownButton.spec.js.map +1 -1
- package/react/components/shared/tests/addProtocolToValidURL.spec.js.map +1 -1
- package/react/components/shared/validateURL.js.map +1 -1
- package/react/components/shared/validateURL.spec.js.map +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.css +3 -3
- package/react/components/singleInputDialog/SingleInputDialog.js.map +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.spec.js.map +1 -1
- package/react/components/singleInputDialog/SingleInputDialog.stories.js.map +1 -1
- package/react/components/singleInputDialog/index.js.map +1 -1
- package/react/components/smartDesktopDesigner/AddApp.d.ts +2 -2
- package/react/components/smartDesktopDesigner/AddApp.js +28 -17
- package/react/components/smartDesktopDesigner/AddApp.js.map +1 -1
- package/react/components/smartDesktopDesigner/AppEditAccess.js.map +1 -1
- package/react/components/smartDesktopDesigner/AppEditPage.d.ts +2 -2
- package/react/components/smartDesktopDesigner/AppEditPage.js +311 -242
- package/react/components/smartDesktopDesigner/AppEditPage.js.map +1 -1
- package/react/components/smartDesktopDesigner/Appearance.css +35 -28
- package/react/components/smartDesktopDesigner/Appearance.helpers.js.map +1 -1
- package/react/components/smartDesktopDesigner/Appearance.js +1 -1
- package/react/components/smartDesktopDesigner/Appearance.js.map +1 -1
- package/react/components/smartDesktopDesigner/Application.d.ts +10 -3
- package/react/components/smartDesktopDesigner/Application.js +37 -44
- package/react/components/smartDesktopDesigner/Application.js.map +1 -1
- package/react/components/smartDesktopDesigner/Applications.d.ts +2 -0
- package/react/components/smartDesktopDesigner/Applications.js +29 -20
- package/react/components/smartDesktopDesigner/Applications.js.map +1 -1
- package/react/components/smartDesktopDesigner/AssetsPage.css +26 -26
- package/react/components/smartDesktopDesigner/AssetsPage.js.map +1 -1
- package/react/components/smartDesktopDesigner/Authentication.js +2 -9
- package/react/components/smartDesktopDesigner/Authentication.js.map +1 -1
- package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js +1 -1
- package/react/components/smartDesktopDesigner/AuthenticationProviderConfig.js.map +1 -1
- package/react/components/smartDesktopDesigner/Content.js.map +1 -1
- package/react/components/smartDesktopDesigner/ContentHeader.d.ts +5 -0
- package/react/components/smartDesktopDesigner/ContentHeader.js +10 -0
- package/react/components/smartDesktopDesigner/ContentHeader.js.map +1 -0
- package/react/components/smartDesktopDesigner/CurrentView.js.map +1 -1
- package/react/components/smartDesktopDesigner/EditPreload.d.ts +14 -0
- package/react/components/smartDesktopDesigner/EditPreload.js +169 -0
- package/react/components/smartDesktopDesigner/EditPreload.js.map +1 -0
- package/react/components/smartDesktopDesigner/Export.js +5 -5
- package/react/components/smartDesktopDesigner/Export.js.map +1 -1
- package/react/components/smartDesktopDesigner/ExportCloud.d.ts +3 -1
- package/react/components/smartDesktopDesigner/ExportCloud.js +4 -4
- package/react/components/smartDesktopDesigner/ExportCloud.js.map +1 -1
- package/react/components/smartDesktopDesigner/ExportDeployInfo.js.map +1 -1
- package/react/components/smartDesktopDesigner/ExportZip.d.ts +3 -1
- package/react/components/smartDesktopDesigner/ExportZip.js +8 -3
- package/react/components/smartDesktopDesigner/ExportZip.js.map +1 -1
- package/react/components/smartDesktopDesigner/GettingStarted.d.ts +1 -0
- package/react/components/smartDesktopDesigner/GettingStarted.js +11 -22
- package/react/components/smartDesktopDesigner/GettingStarted.js.map +1 -1
- package/react/components/smartDesktopDesigner/ItemList.d.ts +17 -0
- package/react/components/smartDesktopDesigner/ItemList.js +58 -0
- package/react/components/smartDesktopDesigner/ItemList.js.map +1 -0
- package/react/components/smartDesktopDesigner/Navigation.js.map +1 -1
- package/react/components/smartDesktopDesigner/OptionalSettingsView.d.ts +11 -0
- package/react/components/smartDesktopDesigner/OptionalSettingsView.js +71 -0
- package/react/components/smartDesktopDesigner/OptionalSettingsView.js.map +1 -0
- package/react/components/smartDesktopDesigner/Preloads.d.ts +8 -0
- package/react/components/smartDesktopDesigner/Preloads.js +26 -0
- package/react/components/smartDesktopDesigner/Preloads.js.map +1 -0
- package/react/components/smartDesktopDesigner/ProjectErrors.js.map +1 -1
- package/react/components/smartDesktopDesigner/Publish.js.map +1 -1
- package/react/components/smartDesktopDesigner/PublishProgress.js.map +1 -1
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.d.ts +1 -1
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js +34 -3
- package/react/components/smartDesktopDesigner/SmartDesktopDesigner.js.map +1 -1
- package/react/components/smartDesktopDesigner/ThemePage.css +109 -109
- package/react/components/smartDesktopDesigner/ThemePage.js +0 -7
- package/react/components/smartDesktopDesigner/ThemePage.js.map +1 -1
- package/react/components/smartDesktopDesigner/Themes.js +0 -2
- package/react/components/smartDesktopDesigner/Themes.js.map +1 -1
- package/react/components/smartDesktopDesigner/Toolbar.js +16 -18
- package/react/components/smartDesktopDesigner/Toolbar.js.map +1 -1
- package/react/components/smartDesktopDesigner/View.js +1 -1
- package/react/components/smartDesktopDesigner/View.js.map +1 -1
- package/react/components/smartDesktopDesigner/common/fsbl_functions.d.ts +1 -1
- package/react/components/smartDesktopDesigner/common/fsbl_functions.js +2 -2
- package/react/components/smartDesktopDesigner/common/fsbl_functions.js.map +1 -1
- package/react/components/smartDesktopDesigner/common/getCSSVars.js.map +1 -1
- package/react/components/smartDesktopDesigner/common/views.js +27 -3
- package/react/components/smartDesktopDesigner/common/views.js.map +1 -1
- package/react/components/smartDesktopDesigner/css/appearance.css +21 -18
- package/react/components/smartDesktopDesigner/css/applications.css +167 -167
- package/react/components/smartDesktopDesigner/css/authentication.css +119 -130
- package/react/components/smartDesktopDesigner/css/buttons.css +12 -12
- package/react/components/smartDesktopDesigner/css/export.css +176 -167
- package/react/components/smartDesktopDesigner/css/getting-started.css +28 -8
- package/react/components/smartDesktopDesigner/css/nav.css +120 -109
- package/react/components/smartDesktopDesigner/css/project-errors.css +15 -15
- package/react/components/smartDesktopDesigner/css/project-header.css +124 -121
- package/react/components/smartDesktopDesigner/css/styles.css +178 -179
- package/react/components/smartDesktopDesigner/css/views.css +23 -17
- package/react/components/smartDesktopDesigner/fixtures/apps.d.ts +1 -1
- package/react/components/smartDesktopDesigner/fixtures/apps.js +23 -1
- package/react/components/smartDesktopDesigner/fixtures/apps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/authenticationProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/configTemplate.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/exportProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/preloads.d.ts +22 -0
- package/react/components/smartDesktopDesigner/fixtures/preloads.js +40 -0
- package/react/components/smartDesktopDesigner/fixtures/preloads.js.map +1 -0
- package/react/components/smartDesktopDesigner/fixtures/projectErrorsProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/publishProgress.d.ts +1 -1
- package/react/components/smartDesktopDesigner/fixtures/publishProgress.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/themeProps.js.map +1 -1
- package/react/components/smartDesktopDesigner/fixtures/views.js +14 -6
- package/react/components/smartDesktopDesigner/fixtures/views.js.map +1 -1
- package/react/components/smartDesktopDesigner/sdd_helpers.js +1 -1
- package/react/components/smartDesktopDesigner/sdd_helpers.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.d.ts +2 -1
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js +2 -0
- package/react/components/smartDesktopDesigner/stories/AppEditPage.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Appearance.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Applications.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/AssetsPage.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Authentication.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.d.ts +10 -0
- package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.js +13 -0
- package/react/components/smartDesktopDesigner/stories/ContentHeader.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/EditPreload.stories.d.ts +11 -0
- package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js +35 -0
- package/react/components/smartDesktopDesigner/stories/EditPreload.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/Export.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.d.ts +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportCloud.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportZip.stories.d.ts +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js +1 -1
- package/react/components/smartDesktopDesigner/stories/ExportZip.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/GettingStarted.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ItemList.stories.d.ts +16 -0
- package/react/components/smartDesktopDesigner/stories/{ApplicationList.stories.js → ItemList.stories.js} +30 -23
- package/react/components/smartDesktopDesigner/stories/ItemList.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/Navigation.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.d.ts +11 -0
- package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js +28 -0
- package/react/components/smartDesktopDesigner/stories/OptionalSettingsView.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/Preloads.stories.d.ts +11 -0
- package/react/components/smartDesktopDesigner/stories/Preloads.stories.js +31 -0
- package/react/components/smartDesktopDesigner/stories/Preloads.stories.js.map +1 -0
- package/react/components/smartDesktopDesigner/stories/ProjectErrors.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Publish.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/PublishProgress.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js +7 -1
- package/react/components/smartDesktopDesigner/stories/SmartDesktopDesigner.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/ThemePage.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Themes.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/stories/Toolbar.stories.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js +1100 -311
- package/react/components/smartDesktopDesigner/tests/AppEditPage.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/{ApplicationList.spec.d.ts → Application.spec.d.ts} +0 -0
- package/react/components/smartDesktopDesigner/tests/Application.spec.js +1496 -0
- package/react/components/smartDesktopDesigner/tests/Application.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/Applications.spec.d.ts +1 -1
- package/react/components/smartDesktopDesigner/tests/Applications.spec.js +94 -7
- package/react/components/smartDesktopDesigner/tests/Applications.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Authentication.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.js +31 -0
- package/react/components/smartDesktopDesigner/tests/ContentHeader.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/EditPreload.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js +61 -0
- package/react/components/smartDesktopDesigner/tests/EditPreload.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/Export.spec.js +95 -0
- package/react/components/smartDesktopDesigner/tests/Export.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js +7 -0
- package/react/components/smartDesktopDesigner/tests/ExportZip.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/ItemList.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/{ApplicationList.spec.js → ItemList.spec.js} +8 -8
- package/react/components/smartDesktopDesigner/tests/ItemList.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/Navigation.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Preloads.spec.d.ts +1 -0
- package/react/components/smartDesktopDesigner/tests/Preloads.spec.js +47 -0
- package/react/components/smartDesktopDesigner/tests/Preloads.spec.js.map +1 -0
- package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js +1 -1
- package/react/components/smartDesktopDesigner/tests/ProjectErrors.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Publish.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/PublishProgess.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js +7 -30
- package/react/components/smartDesktopDesigner/tests/SmartDesktopDesigner.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Themes.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/Toolbar.spec.d.ts +1 -1
- package/react/components/smartDesktopDesigner/tests/Toolbar.spec.js +5 -6
- package/react/components/smartDesktopDesigner/tests/Toolbar.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/a11y_helper.js.map +1 -1
- package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.js +1 -0
- package/react/components/smartDesktopDesigner/tests/sdd_helpers.spec.js.map +1 -1
- package/react/components/smartDesktopDesigner/themeDefinitions.js.map +1 -1
- package/react/components/system/System.js.map +1 -1
- package/react/components/system/System.spec.js.map +1 -1
- package/react/components/system/System.stories.js.map +1 -1
- package/react/components/system/SystemTrayComponentShell.js.map +1 -1
- package/react/components/system/index.js.map +1 -1
- package/react/components/toolbar/AutoArrange.js.map +1 -1
- package/react/components/toolbar/DragHandle.js.map +1 -1
- package/react/components/toolbar/DragHandle.spec.d.ts +1 -0
- package/react/components/toolbar/DragHandle.spec.js +31 -0
- package/react/components/toolbar/DragHandle.spec.js.map +1 -0
- package/react/components/toolbar/DragHandle.stories.d.ts +13 -0
- package/react/components/toolbar/DragHandle.stories.js +39 -0
- package/react/components/toolbar/DragHandle.stories.js.map +1 -0
- package/react/components/toolbar/MinimizeAll.js.map +1 -1
- package/react/components/toolbar/MinimizeAll.spec.js.map +1 -1
- package/react/components/toolbar/MinimizeAll.stories.js.map +1 -1
- package/react/components/toolbar/NotificationControl.js.map +1 -1
- package/react/components/toolbar/RevealAll.js.map +1 -1
- package/react/components/toolbar/RevealAll.spec.js.map +1 -1
- package/react/components/toolbar/RevealAll.stories.js.map +1 -1
- package/react/components/toolbar/ToolbarIcon.js.map +1 -1
- package/react/components/toolbar/ToolbarSection.js.map +1 -1
- package/react/components/toolbar/ToolbarShell.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncher.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/AdvancedAppLauncherMenu.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AddNewAppForm.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AddNewFolder.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AppActionsMenu.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AppDefinition.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/AppTagsList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/Content.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/Content.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FilterSort.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js +47 -45
- package/react/components/toolbar/advancedAppLauncher/components/FoldersList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/LeftNavBottomLinks.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/NoAppsFound.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/SearchBox.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/SortBy.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/TagsList.d.ts +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/TagsList.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/TagsMenu.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/components/ToggleFavoriteDropdown.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/modules/AppDirectory.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/modules/FDC3.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.d.ts +2 -2
- package/react/components/toolbar/advancedAppLauncher/stores/LauncherStore.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/stores/StoreActions.js.map +1 -1
- package/react/components/toolbar/advancedAppLauncher/utils/sort-functions.js.map +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 +1 -0
- package/react/components/toolbar/appLauncher/StaticAppLauncherMenu.js.map +1 -1
- package/react/components/toolbar/appLauncher/appLauncher.css +30 -30
- package/react/components/toolbar/appLauncher/components/componentList.d.ts +2 -2
- package/react/components/toolbar/appLauncher/components/componentList.js.map +1 -1
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.d.ts +3 -2
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.js +17 -34
- package/react/components/toolbar/appLauncher/stores/appLauncherStore.js.map +1 -1
- package/react/components/toolbar/dashbar/Dashbar.js +9 -12
- package/react/components/toolbar/dashbar/Dashbar.js.map +1 -1
- package/react/components/toolbar/dashbar/DashbarItem.js.map +1 -1
- package/react/components/toolbar/index.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.d.ts +2 -2
- package/react/components/toolbar/workspaceManagementMenu/WorkspaceManagementMenu.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.d.ts +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/Workspace.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceActions.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.d.ts +1 -1
- package/react/components/toolbar/workspaceManagementMenu/components/WorkspaceList.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.d.ts +4 -4
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js +1 -1
- package/react/components/toolbar/workspaceManagementMenu/stores/workspaceManagementMenuStore.js.map +1 -1
- package/react/components/toolbar/workspaceManagementMenu/workspaceManagementMenu.css +90 -90
- package/react/components/userPreferences/NotificationsPreferencesContext.js.map +1 -1
- package/react/components/userPreferences/UserPreferenceTypes.js.map +1 -1
- package/react/components/userPreferences/UserPreferences.js.map +1 -1
- package/react/components/userPreferences/UserPreferencesBase.js.map +1 -1
- package/react/components/userPreferences/UserPreferencesWrapper.js.map +1 -1
- package/react/components/userPreferences/components/ContentSection.js.map +1 -1
- package/react/components/userPreferences/components/LeftNav.js.map +1 -1
- package/react/components/userPreferences/components/content/DashbarEditor.js.map +1 -1
- package/react/components/userPreferences/components/content/DashbarEditorItem.js.map +1 -1
- package/react/components/userPreferences/components/content/General.js.map +1 -1
- package/react/components/userPreferences/components/content/Notifications.js.map +1 -1
- package/react/components/userPreferences/components/content/Workspaces.d.ts +1 -1
- package/react/components/userPreferences/components/content/Workspaces.js +1 -1
- package/react/components/userPreferences/components/content/Workspaces.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsPreferencesHome.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourceTypes.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/NotificationsSourcesPreferences.js.map +1 -1
- package/react/components/userPreferences/components/content/notificationViews/notificationViewsUtils.js.map +1 -1
- package/react/components/userPreferences/components/general/ScheduledRestart.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceButton.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceComponents.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceItem.js.map +1 -1
- package/react/components/userPreferences/components/workspaces/WorkspaceItemList.js.map +1 -1
- package/react/components/userPreferences/index.js.map +1 -1
- package/react/components/userPreferences/stores/UserPreferencesStore.d.ts +1 -1
- package/react/components/userPreferences/stores/UserPreferencesStore.js.map +1 -1
- package/react/components/userPreferences/stories/DashbarEditor.stories.js.map +1 -1
- package/react/components/userPreferences/stories/DashbarEditorItem.stories.js.map +1 -1
- package/react/components/userPreferences/stories/General.stories.js.map +1 -1
- package/react/components/userPreferences/stories/Notifications.stories.js.map +1 -1
- package/react/components/userPreferences/stories/NotificationsSourceTypes.stories.js.map +1 -1
- package/react/components/userPreferences/stories/NotificationsSources.stories.js.map +1 -1
- package/react/components/userPreferences/stories/UserPreferences.stories.js.map +1 -1
- package/react/components/userPreferences/stories/WorkspaceButton.stories.js.map +1 -1
- package/react/components/userPreferences/stories/WorkspaceComponents.stories.js.map +1 -1
- package/react/components/userPreferences/stories/WorkspaceItem.stories.js.map +1 -1
- package/react/components/userPreferences/stories/WorkspaceItemList.stories.js.map +1 -1
- package/react/components/userPreferences/stories/Workspaces.stories.js.map +1 -1
- package/react/components/userPreferences/tests/ContentSection.spec.js.map +1 -1
- package/react/components/userPreferences/tests/DashbarEditor.spec.js.map +1 -1
- package/react/components/userPreferences/tests/DashbarEditorItem.spec.js.map +1 -1
- package/react/components/userPreferences/tests/General.spec.js.map +1 -1
- package/react/components/userPreferences/tests/LeftNav.spec.js.map +1 -1
- package/react/components/userPreferences/tests/NotificationSourceTypes.spec.js.map +1 -1
- package/react/components/userPreferences/tests/Notifications.spec.js.map +1 -1
- package/react/components/userPreferences/tests/NotificationsPreferencesHome.spec.js.map +1 -1
- package/react/components/userPreferences/tests/NotificationsSourcesPreferences.spec.js.map +1 -1
- package/react/components/userPreferences/tests/ScheduledRestart.spec.js +1 -1
- package/react/components/userPreferences/tests/ScheduledRestart.spec.js.map +1 -1
- package/react/components/userPreferences/tests/WorkspaceButton.spec.js.map +1 -1
- package/react/components/userPreferences/tests/WorkspaceComponents.spec.js.map +1 -1
- package/react/components/userPreferences/tests/WorkspaceItem.spec.js.map +1 -1
- package/react/components/userPreferences/tests/WorkspaceItemList.spec.js.map +1 -1
- package/react/components/utils.js.map +1 -1
- package/react/components/windowTitleBar/WindowTitleBarShell.d.ts +4 -2
- package/react/components/windowTitleBar/WindowTitleBarShell.js +60 -59
- package/react/components/windowTitleBar/WindowTitleBarShell.js.map +1 -1
- package/react/components/windowTitleBar/components/center/Tab.d.ts +0 -1
- package/react/components/windowTitleBar/components/center/Tab.js +2 -2
- package/react/components/windowTitleBar/components/center/Tab.js.map +1 -1
- package/react/components/windowTitleBar/components/center/TabList.d.ts +2 -3
- package/react/components/windowTitleBar/components/center/TabList.js +19 -82
- package/react/components/windowTitleBar/components/center/TabList.js.map +1 -1
- package/react/components/windowTitleBar/components/center/TabRegion.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerButton.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerButtonDeprecated.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerGroups.js.map +1 -1
- package/react/components/windowTitleBar/components/left/LinkerGroupsDeprecated.js.map +1 -1
- package/react/components/windowTitleBar/components/left/ShareButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/AlwaysOnTopButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/CloseButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/GroupingButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/MaximizeButton.d.ts +7 -0
- package/react/components/windowTitleBar/components/right/MaximizeButton.js +8 -2
- package/react/components/windowTitleBar/components/right/MaximizeButton.js.map +1 -1
- package/react/components/windowTitleBar/components/right/MinimizeButton.js.map +1 -1
- package/react/components/windowTitleBar/components/windowTitle.d.ts +9 -6
- package/react/components/windowTitleBar/components/windowTitle.js +154 -45
- package/react/components/windowTitleBar/components/windowTitle.js.map +1 -1
- package/react/components/windowTitleBar/index.js.map +1 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStore.d.ts +3 -3
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js +213 -217
- package/react/components/windowTitleBar/stores/windowTitleBarStore.js.map +1 -1
- package/react/components/windowTitleBar/stores/windowTitleBarStoreDefaults.js.map +1 -1
- package/react/components/windowTitleBar/windowTitleBarContext.js.map +1 -1
- package/react/components/yesNoDialog/Timer.spec.js.map +1 -1
- package/react/components/yesNoDialog/Timer.stories.js.map +1 -1
- package/react/components/yesNoDialog/YesNoDialog.css +3 -3
- package/react/components/yesNoDialog/YesNoDialog.js.map +1 -1
- package/react/components/yesNoDialog/YesNoDialog.spec.js.map +1 -1
- package/react/components/yesNoDialog/YesNoDialog.stories.js.map +1 -1
- package/react/components/yesNoDialog/index.js.map +1 -1
- package/react/components/yesNoDialog/timer.js.map +1 -1
- package/react/enzymeSetup.js.map +1 -1
- package/react/hooks/index.js.map +1 -1
- package/react/hooks/useAuth.js.map +1 -1
- package/react/hooks/useDashbar.js.map +1 -1
- package/react/hooks/useDeepEffect.js.map +1 -1
- package/react/hooks/useFavorites.js.map +1 -1
- package/react/hooks/useFavoritesShell.js.map +1 -1
- package/react/hooks/useHotkey.js.map +1 -1
- package/react/hooks/useLinker.js.map +1 -1
- package/react/hooks/useMenu.js.map +1 -1
- package/react/hooks/useNotifications.d.ts +1 -1
- package/react/hooks/useNotifications.js.map +1 -1
- package/react/hooks/useOutsideClickDetector.js.map +1 -1
- package/react/hooks/usePubSub.js.map +1 -1
- package/react/hooks/useSearch.js.map +1 -1
- package/react/hooks/useToolbar.js.map +1 -1
- package/react/hooks/useWorkspace.js.map +1 -1
- package/react/reducers/favoriteReducer.js.map +1 -1
- package/react/reducers/linkerReducer.js.map +1 -1
- package/react/reducers/menuReducer.js.map +1 -1
- package/react/reducers/rootReducer.d.ts +11 -3
- package/react/reducers/rootReducer.js.map +1 -1
- package/react/reducers/searchReducer.js.map +1 -1
- package/react/reducers/smartDesktopDesignerReducer.js +8 -0
- package/react/reducers/smartDesktopDesignerReducer.js.map +1 -1
- package/react/reducers/toolbarReducer.js.map +1 -1
- package/react/reducers/workspaceReducer.js.map +1 -1
- package/react/store.d.ts +22 -6
- package/react/store.js.map +1 -1
- package/react/types/advancedAppLauncherTypes.js.map +1 -1
- package/react/types/dashbarTypes.js.map +1 -1
- package/react/types/favoriteTypes.js.map +1 -1
- package/react/types/fdc3.d.ts +2 -2
- package/react/types/fdc3.js.map +1 -1
- package/react/types/hotkeyTypes.js.map +1 -1
- package/react/types/iconTypes.js.map +1 -1
- package/react/types/linkerTypes.js.map +1 -1
- package/react/types/searchTypes.d.ts +1 -8
- package/react/types/searchTypes.js.map +1 -1
- package/react/types/smartDesktopDesignerTypes.d.ts +8 -2
- package/react/types/smartDesktopDesignerTypes.js.map +1 -1
- package/react/types/windowTitleBar.d.ts +4 -2
- package/react/types/windowTitleBar.js.map +1 -1
- package/react/types/workspaceTypes.js.map +1 -1
- package/react/components/common/FontSizeSelector.d.ts +0 -7
- package/react/components/common/FontSizeSelector.js +0 -42
- package/react/components/common/FontSizeSelector.js.map +0 -1
- package/react/components/common/stories/FontSizeSelector.stories.d.ts +0 -12
- package/react/components/common/stories/FontSizeSelector.stories.js +0 -24
- package/react/components/common/stories/FontSizeSelector.stories.js.map +0 -1
- package/react/components/smartDesktopDesigner/ApplicationList.d.ts +0 -15
- package/react/components/smartDesktopDesigner/ApplicationList.js +0 -56
- package/react/components/smartDesktopDesigner/ApplicationList.js.map +0 -1
- package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.d.ts +0 -15
- package/react/components/smartDesktopDesigner/stories/ApplicationList.stories.js.map +0 -1
- package/react/components/smartDesktopDesigner/tests/ApplicationList.spec.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledRestart.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/ScheduledRestart.spec.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ScheduledRestart.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/ScheduledRestart.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount, shallow } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport ScheduledRestart from \"../components/general/ScheduledRestart\";\nimport { Checkbox } from \"../../common/Checkbox\";\nimport DefaultDropdownButton from \"../../shared/DefaultDropdownButton\";\nimport { initFSBL } from \"../../common/helpers\";\nimport sinon from \"sinon\";\n\ndescribe(\"<ScheduledRestart/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should disable all the dropdowns if Scheduled Restart is off\", () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = shallow(<ScheduledRestart addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\texpect(wrapper.find(DefaultDropdownButton).at(0).props().enabled).to.be.false;\n\t\texpect(wrapper.find(DefaultDropdownButton).at(1).props().enabled).to.be.false;\n\t\texpect(wrapper.find(DefaultDropdownButton).at(2).props().enabled).to.be.false;\n\t});\n\n\tit(\"should enable all the dropdowns if Scheduled Restart is on\", () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = shallow(<ScheduledRestart addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\twrapper.find(Checkbox).simulate(\"click\");\n\t\texpect(wrapper.find(DefaultDropdownButton).at(0).props().enabled).to.be.true;\n\t\texpect(wrapper.find(DefaultDropdownButton).at(1).props().enabled).to.be.true;\n\t\texpect(wrapper.find(DefaultDropdownButton).at(2).props().enabled).to.be.true;\n\t});\n\n\tit(\"should disable all the dropdowns if Scheduled Restart is on and turned off\", () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = shallow(<ScheduledRestart addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\twrapper.find(Checkbox).simulate(\"click\");\n\t\twrapper.find(Checkbox).simulate(\"click\");\n\t\texpect(wrapper.find(DefaultDropdownButton).at(0).props().enabled).to.be.false;\n\t\texpect(wrapper.find(DefaultDropdownButton).at(1).props().enabled).to.be.false;\n\t\texpect(wrapper.find(DefaultDropdownButton).at(2).props().enabled).to.be.false;\n\t});\n\n\tit(\"should change the scheduled restart hour correctly\", () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(<ScheduledRestart addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\twrapper.find(Checkbox).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn\").at(0).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn-option\").at(1).simulate(\"click\");\n\t\tconst timeAfterChange: any = wrapper.state(\"scheduledRestart\");\n\t\texpect(timeAfterChange.hour).to.equal(2);\n\t});\n\n\tit.skip(\"should change the scheduled restart minute correctly\", () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(<ScheduledRestart addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\twrapper.find(Checkbox).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn\").at(1).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn-option\").at(1).simulate(\"click\");\n\t\tconst timeAfterChange: any = wrapper.state(\"scheduledRestart\");\n\t\texpect(timeAfterChange.minute).to.equal(15);\n\t});\n\n\tit(\"should change the scheduled restart meridiem correctly and getDisplayHour should work\", () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(<ScheduledRestart addListener={() => {}} removeListener={() => {}} getValue={() => {}} />);\n\t\twrapper.find(Checkbox).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn\").at(0).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn-option\").at(3).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn\").at(2).simulate(\"click\");\n\t\twrapper.find(\".finsemble-dropdown__btn-option\").at(1).simulate(\"click\");\n\t\tconst timeAfterChange: any = wrapper.state(\"scheduledRestart\");\n\t\texpect(timeAfterChange.meridiem).to.equal(\"PM\");\n\t\texpect(timeAfterChange.hour).to.equal(16);\n\t\texpect(wrapper.find(\".finsemble-dropdown__btn-label\").at(0).text()).to.equal(\"4\");\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceButton.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/WorkspaceButton.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGhF,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,YAAY,oBAAM,YAAY,CAAC,IAA6B,EAAI,CAAC,CAAC;QACzF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,YAAY,oBAAM,YAAY,CAAC,IAA6B,EAAI,CAAC,CAAC;QACzF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,YAAY,oBAAM,YAAY,CAAC,IAA6B,EAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAI,CAC7F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,YAAY,oBAAM,YAAY,CAAC,IAA6B,EAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAI,CAC7F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE;YACnD,GAAG,EAAE,OAAO;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\
|
|
1
|
+
{"version":3,"file":"WorkspaceButton.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/WorkspaceButton.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGhF,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IACnC,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,YAAY,oBAAM,YAAY,CAAC,IAA6B,EAAI,CAAC,CAAC;QACzF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAC,YAAY,oBAAM,YAAY,CAAC,IAA6B,EAAI,CAAC,CAAC;QACzF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,YAAY,oBAAM,YAAY,CAAC,IAA6B,EAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAI,CAC7F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,YAAY,oBAAM,YAAY,CAAC,IAA6B,EAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAI,CAC7F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE;YACnD,GAAG,EAAE,OAAO;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport addons, { mockChannel } from \"@storybook/addons\";\nimport { ImportButton, ExportButton } from \"../stories/WorkspaceButton.stories\";\nimport { WorkspaceButtonProps } from \"../components/workspaces/WorkspaceButton\";\n\naddons.setChannel(mockChannel());\n\ndescribe(\"<WorkspaceButton/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should show the correct icon and label for import\", async () => {\n\t\tconst wrapper = mount(<ImportButton {...(ImportButton.args as WorkspaceButtonProps)} />);\n\t\texpect(wrapper.find(\".ff-import\")).to.be.length(1);\n\t\texpect(wrapper.find(\".workspace-action-button-label\").text()).to.equal(\"Import\");\n\t});\n\n\tit(\"should show the correct icon and label for export\", async () => {\n\t\tconst wrapper = mount(<ExportButton {...(ExportButton.args as WorkspaceButtonProps)} />);\n\t\texpect(wrapper.find(\".ff-export\")).to.be.length(1);\n\t\texpect(wrapper.find(\".workspace-action-button-label\").text()).to.equal(\"Export\");\n\t});\n\n\tit(\"should call click event on mouse click\", async () => {\n\t\tconst buttonSpy = sinon.spy();\n\t\tconst wrapper = mount(\n\t\t\t<ImportButton {...(ImportButton.args as WorkspaceButtonProps)} {...{ onClick: buttonSpy }} />\n\t\t);\n\t\twrapper.find(\"[role='button']\").simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\n\tit(\"should call click event on mouse click\", async () => {\n\t\tconst buttonSpy = sinon.spy();\n\t\tconst wrapper = mount(\n\t\t\t<ImportButton {...(ImportButton.args as WorkspaceButtonProps)} {...{ onClick: buttonSpy }} />\n\t\t);\n\t\twrapper.find(\"[role='button']\").simulate(\"keydown\", {\n\t\t\tkey: \"Enter\",\n\t\t});\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceComponents.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/WorkspaceComponents.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,mBAAmB,MAAM,8CAA8C,CAAC;AAE/E,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACvC,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAC,mBAAmB,IAAC,6BAA6B,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,GAAI,CAAC,CAAC;QAC/G,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAC,mBAAmB,IAAC,6BAA6B,EAAE,EAAE,GAAI,CAAC,CAAC;QACpF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\
|
|
1
|
+
{"version":3,"file":"WorkspaceComponents.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/WorkspaceComponents.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,mBAAmB,MAAM,8CAA8C,CAAC;AAE/E,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACvC,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAC,mBAAmB,IAAC,6BAA6B,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,GAAI,CAAC,CAAC;QAC/G,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAC,mBAAmB,IAAC,6BAA6B,EAAE,EAAE,GAAI,CAAC,CAAC;QACpF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\nimport { shallow } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport addons, { mockChannel } from \"@storybook/addons\";\nimport WorkspaceComponents from \"../components/workspaces/WorkspaceComponents\";\n\naddons.setChannel(mockChannel());\n\ndescribe(\"<WorkspaceComponents/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\tit(\"should render a list of workspace-components\", async () => {\n\t\tconst wrapper = shallow(<WorkspaceComponents focusedWorkspaceComponentList={[\"component1\", \"components2\"]} />);\n\t\texpect(wrapper.find(\".workspace-component\")).to.be.length(2);\n\t});\n\n\tit('should render \"No Components\" if the component list is empty', async () => {\n\t\tconst wrapper = shallow(<WorkspaceComponents focusedWorkspaceComponentList={[]} />);\n\t\texpect(wrapper.find(\".no-components\")).to.be.length(1);\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceItem.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/WorkspaceItem.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,aAAa,EAAE,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAE/E,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AAEjC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACjC,SAAS,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACpE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,iBAAiB;YACjB,oBAAC,mBAAmB,IAAC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;gBACvC,oBAAC,aAAa,IAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAI,CAC5B,CACH,CACpB,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACtE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,iBAAiB;YACjB,oBAAC,mBAAmB,IAAC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;gBACvC,oBAAC,aAAa,IACb,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAC9B,gBAAgB,EAAC,SAAS,EAC1B,mBAAmB,EAAC,6BAA6B,EACjD,WAAW,EAAE,IAAI,EACjB,OAAO,EAAE,IAAI,GACZ,CACmB,CACH,CACpB,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,oBAAC,eAAe,OAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACrE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,iBAAiB;YACjB,oBAAC,mBAAmB,IAAC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;gBACvC,oBAAC,IAAI,OAAG,CACa,CACH,CACpB,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAErE,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,oBAAC,eAAe,OAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACtD,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,iBAAiB;YACjB,oBAAC,mBAAmB,IAAC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;gBACvC,oBAAC,IAAI,OAAG,CACa,CACH,CACpB,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,oBAAC,eAAe,OAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,oBAAC,eAAe,OAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACpD,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,KAAK,CACpB,oBAAC,iBAAiB;YACjB,oBAAC,mBAAmB,IAAC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;gBACvC,oBAAC,IAAI,OAAG,CACa,CACH,CACpB,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,oBAAC,eAAe,OAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,oBAAC,eAAe,OAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as React from \"react\";\
|
|
1
|
+
{"version":3,"file":"WorkspaceItem.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/WorkspaceItem.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport addons, { mockChannel } from \"@storybook/addons\";\nimport WorkspaceItem, { WorkspaceEditor } from \"../components/workspaces/WorkspaceItem\";\nimport { Item } from \"../stories/WorkspaceItem.stories\";\nimport { initFSBL } from \"../../common/helpers\";\nimport { FinsembleProvider } from \"../../FinsembleProvider\";\nimport { FinsembleDnDContext } from \"../../legacyControls/FinsembleDnDContext\";\n\naddons.setChannel(mockChannel());\n\ndescribe(\"<WorkspaceItem/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should render workspace name and edit/ delete icons\", async () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(\n\t\t\t<FinsembleProvider>\n\t\t\t\t<FinsembleDnDContext onDragEnd={() => {}}>\n\t\t\t\t\t<WorkspaceItem workspace={{ name: \"Default\" }} />\n\t\t\t\t</FinsembleDnDContext>\n\t\t\t</FinsembleProvider>\n\t\t);\n\t\texpect(wrapper.find(\".workspace-name\").text()).to.equal(\"Default\");\n\t\texpect(wrapper.find(\".ff-adp-edit\")).to.be.length(1);\n\t\texpect(wrapper.find(\".ff-adp-trash-outline\")).to.be.length(1);\n\t});\n\n\tit(\"should render <WorkspaceEditor/> when editing is true\", async () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(\n\t\t\t<FinsembleProvider>\n\t\t\t\t<FinsembleDnDContext onDragEnd={() => {}}>\n\t\t\t\t\t<WorkspaceItem\n\t\t\t\t\t\tworkspace={{ name: \"Default\" }}\n\t\t\t\t\t\tfocusedWorkspace=\"Default\"\n\t\t\t\t\t\trenameButtonClasses=\"individual-workspace-action\"\n\t\t\t\t\t\tallowRename={true}\n\t\t\t\t\t\tediting={true}\n\t\t\t\t\t/>\n\t\t\t\t</FinsembleDnDContext>\n\t\t\t</FinsembleProvider>\n\t\t);\n\t\texpect(wrapper.containsMatchingElement(<WorkspaceEditor />)).to.equal(true);\n\t});\n\n\tit(\"should render <WorkspaceEditor/> on edit icon click \", async () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(\n\t\t\t<FinsembleProvider>\n\t\t\t\t<FinsembleDnDContext onDragEnd={() => {}}>\n\t\t\t\t\t<Item />\n\t\t\t\t</FinsembleDnDContext>\n\t\t\t</FinsembleProvider>\n\t\t);\n\n\t\twrapper.find(\".individual-workspace-action\").at(0).simulate(\"click\");\n\n\t\texpect(wrapper.containsMatchingElement(<WorkspaceEditor />)).to.equal(true);\n\t});\n\n\tit(\"should exit WorkspaceEditor on enter \", async () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(\n\t\t\t<FinsembleProvider>\n\t\t\t\t<FinsembleDnDContext onDragEnd={() => {}}>\n\t\t\t\t\t<Item />\n\t\t\t\t</FinsembleDnDContext>\n\t\t\t</FinsembleProvider>\n\t\t);\n\n\t\twrapper.find(\".individual-workspace-action\").at(0).simulate(\"click\");\n\t\texpect(wrapper.containsMatchingElement(<WorkspaceEditor />)).to.equal(true);\n\t\twrapper.find(\"input\").at(0).simulate(\"keydown\", { key: \"Enter\" });\n\t\texpect(wrapper.containsMatchingElement(<WorkspaceEditor />)).to.equal(false);\n\t\texpect(wrapper.find(\".workspace-name\").text()).to.equal(\"Default\");\n\t});\n\n\tit(\"should exit WorkspaceEditor on esc \", async () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(\n\t\t\t<FinsembleProvider>\n\t\t\t\t<FinsembleDnDContext onDragEnd={() => {}}>\n\t\t\t\t\t<Item />\n\t\t\t\t</FinsembleDnDContext>\n\t\t\t</FinsembleProvider>\n\t\t);\n\n\t\twrapper.find(\".individual-workspace-action\").at(0).simulate(\"click\");\n\t\texpect(wrapper.containsMatchingElement(<WorkspaceEditor />)).to.equal(true);\n\t\twrapper.find(\"input\").at(0).simulate(\"keydown\", { key: \"Escape\" });\n\t\texpect(wrapper.containsMatchingElement(<WorkspaceEditor />)).to.equal(false);\n\t\texpect(wrapper.find(\".workspace-name\").text()).to.equal(\"Default\");\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceItemList.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/WorkspaceItemList.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\
|
|
1
|
+
{"version":3,"file":"WorkspaceItemList.spec.js","sourceRoot":"","sources":["../../../../src/components/userPreferences/tests/WorkspaceItemList.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport addons, { mockChannel } from \"@storybook/addons\";\nimport WorkspaceItemList from \"../components/workspaces/WorkspaceItemList\";\nimport WorkspaceItem from \"../components/workspaces/WorkspaceItem\";\nimport { initFSBL } from \"../../common/helpers\";\nimport { FinsembleProvider } from \"../../FinsembleProvider\";\nimport { TenItems } from \"../stories/WorkspaceItemList.stories\";\n\naddons.setChannel(mockChannel());\n\ndescribe(\"<WorkspaceItemList/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\tit(\"should render list\", async () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(\n\t\t\t<FinsembleProvider>\n\t\t\t\t<WorkspaceItemList\n\t\t\t\t\tworkspaceList={[{ name: \"Default\" }, { name: \"Trading\" }, { name: \"Customer Account Management\" }]}\n\t\t\t\t/>\n\t\t\t</FinsembleProvider>\n\t\t);\n\t\texpect(wrapper.find(\".workspace-list\")).to.be.length(1);\n\t});\n\n\tit(\"should render no workspace items on empty workspace list\", async () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(\n\t\t\t<FinsembleProvider>\n\t\t\t\t<WorkspaceItemList workspaceList={[]} />\n\t\t\t</FinsembleProvider>\n\t\t);\n\t\texpect(wrapper.containsMatchingElement(<WorkspaceItem workspace={{ name: \"Default\" }} />)).to.equal(false);\n\t});\n\n\tit(\"should render list of WorkspaceItems with proper workspace props\", async () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(\n\t\t\t<FinsembleProvider>\n\t\t\t\t<WorkspaceItemList\n\t\t\t\t\tworkspaceList={[{ name: \"Default\" }, { name: \"Trading\" }, { name: \"Customer Account Management\" }]}\n\t\t\t\t/>\n\t\t\t</FinsembleProvider>\n\t\t);\n\t\texpect(wrapper.containsMatchingElement(<WorkspaceItem workspace={{ name: \"Default\" }} />)).to.equal(true);\n\t\texpect(wrapper.containsMatchingElement(<WorkspaceItem workspace={{ name: \"Trading\" }} />)).to.equal(true);\n\t\texpect(\n\t\t\twrapper.containsMatchingElement(<WorkspaceItem workspace={{ name: \"Customer Account Management\" }} />)\n\t\t).to.equal(true);\n\t});\n\n\tit(\"should be able to delete workspaces\", async () => {\n\t\tinitFSBL(window);\n\t\tconst wrapper = mount(\n\t\t\t<FinsembleProvider>\n\t\t\t\t<TenItems />\n\t\t\t</FinsembleProvider>\n\t\t);\n\t\twrapper.find(\".delete-workspace\").at(0).simulate(\"click\");\n\t\texpect(wrapper.containsMatchingElement(<WorkspaceItem workspace={{ name: \"Default\" }} />)).to.equal(false);\n\t});\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/components/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,OAAqB,EACrB,gBAAwB,EACxB,UAAmC,SAAS,EAC3C,EAAE;IACH,MAAM,EAAE,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAC3C,CAAC,CAAC","sourcesContent":["import { ReactWrapper } from \"enzyme\";\
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/components/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,OAAqB,EACrB,gBAAwB,EACxB,UAAmC,SAAS,EAC3C,EAAE;IACH,MAAM,EAAE,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAC3C,CAAC,CAAC","sourcesContent":["import { ReactWrapper } from \"enzyme\";\n\nexport const enzymeQuerySelectorWrapper = (\n\twrapper: ReactWrapper,\n\tquerySelectorStr: string,\n\telement: HTMLElement | undefined = undefined\n) => {\n\tconst el = element ?? document.createElement(\"div\");\n\tel.innerHTML = wrapper.html();\n\treturn el.querySelector(querySelectorStr);\n};\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import "../../assets/css/finsemble.css";
|
|
3
3
|
import "../../assets/css/windowTitleBar.css";
|
|
4
|
-
import { StandardError } from "@finsemble/finsemble-
|
|
5
|
-
import StoreModel from "@finsemble/finsemble-
|
|
4
|
+
import { StandardError } from "@finsemble/finsemble-api/types/types";
|
|
5
|
+
import StoreModel from "@finsemble/finsemble-api/types/clients/StoreModel";
|
|
6
6
|
import { TabProperties } from "../../types/windowTitleBar";
|
|
7
7
|
interface WindowTitleBarShellProps {
|
|
8
8
|
}
|
|
@@ -47,6 +47,8 @@ export declare class WindowTitleBarShell extends React.Component<WindowTitleBarS
|
|
|
47
47
|
onTilingStop(): void;
|
|
48
48
|
onDropHandler(): void;
|
|
49
49
|
onDoubleClick(): void;
|
|
50
|
+
makeDragHandle(fsblHeader: Element, dragHandleCssClass: string): HTMLElement;
|
|
51
|
+
dragHandleBoundsForShowTabs(startingBounds: DOMRect): DOMRect;
|
|
50
52
|
resizeDragHandle(): void;
|
|
51
53
|
showLinkerButton(err: StandardError, response: any): void;
|
|
52
54
|
isTopRight(err: StandardError, response: any): void;
|
|
@@ -3,6 +3,7 @@ import { WindowTitleBarContext } from "./windowTitleBarContext";
|
|
|
3
3
|
import { storeManager, Actions } from "./stores/windowTitleBarStore";
|
|
4
4
|
import "../../assets/css/finsemble.css";
|
|
5
5
|
import "../../assets/css/windowTitleBar.css";
|
|
6
|
+
import { clone } from "./../smartDesktopDesigner/Appearance.helpers";
|
|
6
7
|
export class WindowTitleBarShell extends React.Component {
|
|
7
8
|
constructor(props) {
|
|
8
9
|
super(props);
|
|
@@ -192,79 +193,79 @@ export class WindowTitleBarShell extends React.Component {
|
|
|
192
193
|
onDoubleClick() {
|
|
193
194
|
Actions.clickMaximize();
|
|
194
195
|
}
|
|
195
|
-
|
|
196
|
+
makeDragHandle(fsblHeader, dragHandleCssClass) {
|
|
197
|
+
let dragHandle = document.createElement("div");
|
|
198
|
+
dragHandle.className = dragHandleCssClass;
|
|
199
|
+
let isMousePressed = false;
|
|
200
|
+
const handleMouseDown = (event) => {
|
|
201
|
+
isMousePressed = true;
|
|
202
|
+
setTimeout(() => {
|
|
203
|
+
if (isMousePressed) {
|
|
204
|
+
FSBL.Clients.WindowClient.startMovingWindow(event);
|
|
205
|
+
}
|
|
206
|
+
}, 100);
|
|
207
|
+
};
|
|
208
|
+
const handleMouseUp = () => {
|
|
209
|
+
isMousePressed = false;
|
|
210
|
+
FSBL.Clients.WindowClient.stopMovingWindow();
|
|
211
|
+
};
|
|
212
|
+
dragHandle.onmousedown = handleMouseDown;
|
|
213
|
+
dragHandle.onmouseup = handleMouseUp;
|
|
214
|
+
dragHandle.ondblclick = () => {
|
|
215
|
+
this.onDoubleClick();
|
|
216
|
+
};
|
|
217
|
+
fsblHeader.insertBefore(dragHandle, fsblHeader.firstChild);
|
|
218
|
+
window.addEventListener("resize", () => {
|
|
219
|
+
this.resizeDragHandle();
|
|
220
|
+
});
|
|
221
|
+
return dragHandle;
|
|
222
|
+
}
|
|
223
|
+
dragHandleBoundsForShowTabs(startingBounds) {
|
|
196
224
|
var _a;
|
|
225
|
+
if (this.state.tabs.length > 1) {
|
|
226
|
+
const headerRight = document.querySelector(".fsbl-header-right");
|
|
227
|
+
if (headerRight) {
|
|
228
|
+
const computedStyle = getComputedStyle(headerRight);
|
|
229
|
+
return Object.assign(Object.assign({}, clone(headerRight.getBoundingClientRect())), { width: parseInt(computedStyle.paddingLeft, 10) });
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
return startingBounds;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
const fsblHeaderCenter = document.querySelector(".fsbl-header-center");
|
|
237
|
+
const bounds = (_a = fsblHeaderCenter === null || fsblHeaderCenter === void 0 ? void 0 : fsblHeaderCenter.getBoundingClientRect()) !== null && _a !== void 0 ? _a : startingBounds;
|
|
238
|
+
const tabRegionWrapperDiv = fsblHeaderCenter === null || fsblHeaderCenter === void 0 ? void 0 : fsblHeaderCenter.querySelector(".tab-region-wrapper div.fsbl-header-title");
|
|
239
|
+
if (tabRegionWrapperDiv) {
|
|
240
|
+
const theTabBounds = tabRegionWrapperDiv.getBoundingClientRect();
|
|
241
|
+
return Object.assign(Object.assign({}, bounds), { left: bounds.left + theTabBounds.width, width: bounds.width - theTabBounds.width });
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
return bounds;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
resizeDragHandle() {
|
|
249
|
+
var _a, _b;
|
|
197
250
|
try {
|
|
198
251
|
const fsblHeader = document.querySelector(".fsbl-header");
|
|
199
|
-
if (!fsblHeader)
|
|
252
|
+
if (!fsblHeader)
|
|
200
253
|
return;
|
|
201
|
-
}
|
|
202
254
|
const dragHandleCssClass = this.state.useDOMBasedMovement
|
|
203
255
|
? "fsbl-drag-handle"
|
|
204
256
|
: "fsbl-drag-handle-native-movement";
|
|
205
257
|
const dragHandleToRemoveClass = this.state.useDOMBasedMovement
|
|
206
258
|
? "fsbl-drag-handle-native-movement"
|
|
207
259
|
: "fsbl-drag-handle";
|
|
208
|
-
let dragHandle = document.querySelector(`.${dragHandleCssClass}`);
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
let isMousePressed = false;
|
|
213
|
-
const handleMouseDown = (event) => {
|
|
214
|
-
isMousePressed = true;
|
|
215
|
-
setTimeout(() => {
|
|
216
|
-
if (isMousePressed) {
|
|
217
|
-
FSBL.Clients.WindowClient.startMovingWindow(event);
|
|
218
|
-
}
|
|
219
|
-
}, 100);
|
|
220
|
-
};
|
|
221
|
-
const handleMouseUp = () => {
|
|
222
|
-
isMousePressed = false;
|
|
223
|
-
FSBL.Clients.WindowClient.stopMovingWindow();
|
|
224
|
-
};
|
|
225
|
-
dragHandle.onmousedown = handleMouseDown;
|
|
226
|
-
dragHandle.onmouseup = handleMouseUp;
|
|
227
|
-
dragHandle.ondblclick = () => {
|
|
228
|
-
this.onDoubleClick();
|
|
229
|
-
};
|
|
230
|
-
fsblHeader.insertBefore(dragHandle, fsblHeader.firstChild);
|
|
231
|
-
var self = this;
|
|
232
|
-
window.addEventListener("resize", () => {
|
|
233
|
-
self.resizeDragHandle();
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
let dragHandleToRemove = document.querySelector(`.${dragHandleToRemoveClass}`);
|
|
237
|
-
if (dragHandleToRemove) {
|
|
238
|
-
(_a = dragHandleToRemove.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(dragHandleToRemove);
|
|
239
|
-
}
|
|
260
|
+
let dragHandle = (_a = document.querySelector(`.${dragHandleCssClass}`)) !== null && _a !== void 0 ? _a : this.makeDragHandle(fsblHeader, dragHandleCssClass);
|
|
261
|
+
const dragHandleToRemove = document.querySelector(`.${dragHandleToRemoveClass}`);
|
|
262
|
+
if (dragHandleToRemove)
|
|
263
|
+
(_b = dragHandleToRemove.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(dragHandleToRemove);
|
|
240
264
|
let bounds = fsblHeader.getBoundingClientRect();
|
|
241
265
|
dragHandle.style.height = `${bounds.height - 5}px`;
|
|
242
266
|
dragHandle.style.marginTop = `${-bounds.height + 5}px`;
|
|
243
267
|
if (this.state.showTabs) {
|
|
244
|
-
|
|
245
|
-
let headerRight = document.querySelector(".fsbl-header-right");
|
|
246
|
-
if (headerRight) {
|
|
247
|
-
let computedStyle = getComputedStyle(headerRight);
|
|
248
|
-
bounds = headerRight.getBoundingClientRect();
|
|
249
|
-
bounds = {
|
|
250
|
-
left: bounds.left,
|
|
251
|
-
width: parseInt(computedStyle.paddingLeft, 10),
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
else {
|
|
256
|
-
let fsblHeaderCenter = document.querySelector(".fsbl-header-center");
|
|
257
|
-
if (fsblHeaderCenter)
|
|
258
|
-
bounds = fsblHeaderCenter.getBoundingClientRect();
|
|
259
|
-
const tabRegionWrapperDiv = fsblHeaderCenter === null || fsblHeaderCenter === void 0 ? void 0 : fsblHeaderCenter.querySelector(".tab-region-wrapper div.fsbl-header-title");
|
|
260
|
-
if (tabRegionWrapperDiv) {
|
|
261
|
-
const theTabBounds = tabRegionWrapperDiv.getBoundingClientRect();
|
|
262
|
-
bounds = {
|
|
263
|
-
left: bounds.left + theTabBounds.width,
|
|
264
|
-
width: bounds.width - theTabBounds.width,
|
|
265
|
-
};
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
+
bounds = this.dragHandleBoundsForShowTabs(bounds);
|
|
268
269
|
}
|
|
269
270
|
else {
|
|
270
271
|
let fsblHeaderCenter = document.querySelector(".fsbl-header-center");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowTitleBarShell.js","sourceRoot":"","sources":["../../../src/components/windowTitleBar/WindowTitleBarShell.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\r\n * Copyright 2017 by ChartIQ, Inc.\r\n * All rights reserved.\r\n */\r\nimport * as React from \"react\";\r\nimport { WindowTitleBarContext } from \"./windowTitleBarContext\";\r\nimport { storeManager, Actions } from \"./stores/windowTitleBarStore\";\r\nimport \"../../assets/css/finsemble.css\";\r\nimport \"../../assets/css/windowTitleBar.css\";\r\nimport { StandardError } from \"@finsemble/finsemble-core/types/types\";\r\nimport StoreModel from \"@finsemble/finsemble-core/types/clients/StoreModel\";\r\nimport { TabProperties } from \"../../types/windowTitleBar\";\r\n\r\ninterface WindowTitleBarShellProps {}\r\n\r\ninterface WindowTitleBarShellState {\r\n\ttabs: TabProperties[];\r\n\tactiveTab: TabProperties;\r\n\twindowTitle: string;\r\n\tinitialized: boolean;\r\n\talwaysOnTop: boolean;\r\n\tshowTabs: boolean;\r\n\tminButton: boolean;\r\n\tmaxButton: boolean;\r\n\tcloseButton: boolean;\r\n\tshowShareButton: boolean;\r\n\tshowLinkerButton: boolean;\r\n\tisTopRight: boolean;\r\n\tdockingEnabled: boolean;\r\n\talwaysOnTopButton: boolean;\r\n\tallowDragOnCenterRegion: boolean;\r\n\tdockingIcon: string;\r\n\thackScrollbar: boolean;\r\n\tshowDockingTooltip: boolean;\r\n\tshowTabRegion: boolean;\r\n\ttabBarBoundingBox: any;\r\n\tuseDOMBasedMovement: boolean;\r\n\tdragHandleName: string;\r\n}\r\n\r\nexport class WindowTitleBarShell extends React.Component<WindowTitleBarShellProps, WindowTitleBarShellState> {\r\n\tstore?: StoreModel;\r\n\r\n\tconstructor(props: WindowTitleBarShellProps) {\r\n\t\tsuper(props);\r\n\t\tthis.store = undefined;\r\n\r\n\t\tthis.bindCorrectContext();\r\n\t\tthis.state = {\r\n\t\t\tactiveTab: FSBL.Clients.WindowClient.getWindowIdentifier() as TabProperties,\r\n\t\t\tallowDragOnCenterRegion: true,\r\n\t\t\talwaysOnTop: false,\r\n\t\t\talwaysOnTopButton: false,\r\n\t\t\tcloseButton: false,\r\n\t\t\tdockingEnabled: false,\r\n\t\t\tdockingIcon: \"\",\r\n\t\t\thackScrollbar: false,\r\n\t\t\tinitialized: false,\r\n\t\t\tisTopRight: false,\r\n\t\t\tmaxButton: false,\r\n\t\t\tminButton: false,\r\n\t\t\tshowDockingTooltip: false,\r\n\t\t\tshowLinkerButton: false,\r\n\t\t\tshowShareButton: false,\r\n\t\t\tshowTabs: false,\r\n\t\t\tshowTabRegion: false,\r\n\t\t\ttabs: [],\r\n\t\t\ttabBarBoundingBox: {},\r\n\t\t\twindowTitle: \"\",\r\n\t\t\tuseDOMBasedMovement: true,\r\n\t\t\tdragHandleName: \"fsbl-drag-handle\",\r\n\t\t};\r\n\r\n\t\tfinsembleWindow.isAlwaysOnTop({}, (err, alwaysOnTop: boolean) => {\r\n\t\t\tthis.setState({ ...this.state, alwaysOnTop });\r\n\t\t});\r\n\r\n\t\tfinsembleWindow.addEventListener(\"alwaysOnTop\", this.alwaysOnTopListener);\r\n\t}\r\n\r\n\talwaysOnTopListener({ data: { alwaysOnTop } }: any) {\r\n\t\tthis.setState({ ...this.state, alwaysOnTop });\r\n\t}\r\n\r\n\t/**\r\n\t * This is necessary to make sure that the `this` inside of the callback is correct.\r\n\t *\r\n\t * @memberof WindowTitleBar\r\n\t */\r\n\tbindCorrectContext() {\r\n\t\tthis.onTitleChange = this.onTitleChange.bind(this);\r\n\t\tthis.onShowDockingToolTip = this.onShowDockingToolTip.bind(this);\r\n\t\tthis.onToggleDockingIcon = this.onToggleDockingIcon.bind(this);\r\n\t\tthis.onDockingEnabledChanged = this.onDockingEnabledChanged.bind(this);\r\n\t\tthis.onAlwaysOnTopChanged = this.onAlwaysOnTopChanged.bind(this);\r\n\t\tthis.showLinkerButton = this.showLinkerButton.bind(this);\r\n\t\tthis.isTopRight = this.isTopRight.bind(this);\r\n\t\tthis.allowDragOnCenterRegion = this.allowDragOnCenterRegion.bind(this);\r\n\t\tthis.disallowDragOnCenterRegion = this.disallowDragOnCenterRegion.bind(this);\r\n\t\tthis.setDOMBasedMovement = this.setDOMBasedMovement.bind(this);\r\n\t\tthis.onShareEmitterChanged = this.onShareEmitterChanged.bind(this);\r\n\t\tthis.onTabsChanged = this.onTabsChanged.bind(this);\r\n\t\tthis.onShowTabsChanged = this.onShowTabsChanged.bind(this);\r\n\t\tthis.onTilingStop = this.onTilingStop.bind(this);\r\n\t\tthis.onTilingStart = this.onTilingStart.bind(this);\r\n\t\tthis.resizeDragHandle = this.resizeDragHandle.bind(this);\r\n\t\tthis.onDoubleClick = this.onDoubleClick.bind(this);\r\n\t\tthis.alwaysOnTopListener = this.alwaysOnTopListener.bind(this);\r\n\t\tthis.onInitialized = this.onInitialized.bind(this);\r\n\t}\r\n\r\n\tonInitialized(store: StoreModel) {\r\n\t\tthis.store = store;\r\n\t\tthis.store.addListeners(\r\n\t\t\t[\r\n\t\t\t\t{ field: \"Main.windowTitle\", listener: this.onTitleChange },\r\n\t\t\t\t{ field: \"Main.showDockingTooltip\", listener: this.onShowDockingToolTip },\r\n\t\t\t\t{ field: \"Main.dockingIcon\", listener: this.onToggleDockingIcon },\r\n\t\t\t\t{ field: \"Main.dockingEnabled\", listener: this.onDockingEnabledChanged },\r\n\t\t\t\t{ field: \"AlwaysOnTop.show\", listener: this.onAlwaysOnTopChanged },\r\n\t\t\t\t{ field: \"Linker.showLinkerButton\", listener: this.showLinkerButton },\r\n\t\t\t\t{ field: \"Sharer.emitterEnabled\", listener: this.onShareEmitterChanged },\r\n\t\t\t\t{ field: \"isTopRight\", listener: this.isTopRight },\r\n\t\t\t\t{ field: \"tabs\", listener: this.onTabsChanged },\r\n\t\t\t\t{ field: \"showTabs\", listener: this.onShowTabsChanged },\r\n\t\t\t\t{ field: \"hackScrollbar\", listener: this.onShowTabsChanged },\r\n\t\t\t\t{ field: \"Main.useDOMBasedMovement\", listener: this.setDOMBasedMovement },\r\n\t\t\t],\r\n\t\t\t() => {}\r\n\t\t);\r\n\r\n\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.startTilingOrTabbing\", this.disallowDragOnCenterRegion);\r\n\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.stopTilingOrTabbing\", this.allowDragOnCenterRegion);\r\n\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.cancelTilingOrTabbing\", this.allowDragOnCenterRegion);\r\n\r\n\t\tthis.onStoreChange();\r\n\t\tthis.setState({\r\n\t\t\tinitialized: true,\r\n\t\t});\r\n\t}\r\n\r\n\tonStoreChange() {\r\n\t\tlet activeIdentifier = finsembleWindow.identifier as TabProperties;\r\n\t\tactiveIdentifier.title = this.store?.getValue({\r\n\t\t\tfield: \"Main.windowTitle\",\r\n\t\t});\r\n\r\n\t\tthis.setState({\r\n\t\t\twindowTitle: this.store?.getValue({ field: \"Main.windowTitle\" }),\r\n\t\t\tminButton: !this.store?.getValue({ field: \"Minimize.hide\" }),\r\n\t\t\tmaxButton: !this.store?.getValue({ field: \"Maximize.hide\" }),\r\n\t\t\tcloseButton: !this.store?.getValue({ field: \"Close.hide\" }),\r\n\t\t\tshowLinkerButton: this.store?.getValue({\r\n\t\t\t\tfield: \"Linker.showLinkerButton\",\r\n\t\t\t}),\r\n\t\t\tshowShareButton: this.store?.getValue({\r\n\t\t\t\tfield: \"Sharer.emitterEnabled\",\r\n\t\t\t}),\r\n\t\t\tisTopRight: this.store?.getValue({ field: \"isTopRight\" }),\r\n\t\t\talwaysOnTopButton: this.store?.getValue({\r\n\t\t\t\tfield: \"AlwaysOnTop.show\",\r\n\t\t\t}),\r\n\t\t\tshowTabs: this.store?.getValue({ field: \"showTabs\" }),\r\n\t\t\thackScrollbar: this.store?.getValue({ field: \"hackScrollbar\" }),\r\n\t\t\ttabs: [activeIdentifier], // array of tabs for this window\r\n\t\t});\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\t// Goal: If a user gets focus into the title bar (if they Alt+Tab or Cmd+Tab into the window),\r\n\t\t// we want to let get into the rest of the component using the keyboard alone. The UX for\r\n\t\t// this task will be to seemingly TAB from the title bar into the window, if possible.\r\n\t\t// Code: If the user presses the \"Tab\" key, move their focus to the browser view\r\n\t\twindow.addEventListener(\"keydown\", (e) => {\r\n\t\t\tif (e.key === \"Tab\") {\r\n\t\t\t\t// This magic moves focus to a browserView, if one exists\r\n\t\t\t\tfinsembleWindow.focus();\r\n\t\t\t}\r\n\t\t});\r\n\t\tlet header = document.getElementsByClassName(\"fsbl-header\")[0];\r\n\t\tdocument.body.style.marginTop = window.getComputedStyle(header, null).getPropertyValue(\"height\");\r\n\t\tthis.resizeDragHandle();\r\n\t\tthis.hackScrollbar();\r\n\t\tstoreManager.addInitializedListener(this.onInitialized);\r\n\t\tstoreManager.initialize();\r\n\t}\r\n\r\n\tcomponentDidUpdate() {\r\n\t\tthis.resizeDragHandle();\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tstoreManager.removeInitializedListener(this.onInitialized);\r\n\t\tif (this.state.initialized) {\r\n\t\t\tthis.store?.removeListeners(\r\n\t\t\t\t[\r\n\t\t\t\t\t{ field: \"Main.windowTitle\", listener: this.onTitleChange },\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfield: \"Main.showDockingTooltip\",\r\n\t\t\t\t\t\tlistener: this.onShowDockingToolTip,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{ field: \"Main.dockingIcon\", listener: this.onToggleDockingIcon },\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfield: \"Main.dockingEnabled\",\r\n\t\t\t\t\t\tlistener: this.onDockingEnabledChanged,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{ field: \"AlwaysOnTop.show\", listener: this.onAlwaysOnTopChanged },\r\n\t\t\t\t\t{ field: \"Linker.showLinkerButton\", listener: this.showLinkerButton },\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfield: \"Sharer.emitterEnabled\",\r\n\t\t\t\t\t\tlistener: this.onShareEmitterChanged,\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{ field: \"isTopRight\", listener: this.isTopRight },\r\n\t\t\t\t\t{ field: \"tabs\", listener: this.onTabsChanged },\r\n\t\t\t\t\t{ field: \"showTabs\", listener: this.onShowTabsChanged },\r\n\t\t\t\t],\r\n\t\t\t\t() => {},\r\n\t\t\t\t() => {}\r\n\t\t\t);\r\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"DockingService.startTilingOrTabbing\", this.disallowDragOnCenterRegion);\r\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"DockingService.stopTilingOrTabbing\", this.allowDragOnCenterRegion);\r\n\t\t}\r\n\t}\r\n\r\n\tsetDOMBasedMovement(err: StandardError, response: any) {\r\n\t\tif (response && response.hasOwnProperty(\"value\")) {\r\n\t\t\tthis.setState(\r\n\t\t\t\t{\r\n\t\t\t\t\tuseDOMBasedMovement: response.value,\r\n\t\t\t\t\tdragHandleName: response.value ? \"fsbl-drag-handle\" : \"fsbl-drag-handle-native-movement\",\r\n\t\t\t\t},\r\n\t\t\t\tthis.resizeDragHandle\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * When we are not tiling/tabbing, we want to allow the user to drag the window around via any available space in the tab-region. This function allows that.\r\n\t */\r\n\tallowDragOnCenterRegion() {\r\n\t\tthis.setState({\r\n\t\t\tallowDragOnCenterRegion: true,\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * When we are tiling/tabbing, we do not want to allow any window to be dragged around and moved.\r\n\t */\r\n\tdisallowDragOnCenterRegion() {\r\n\t\tthis.setState({\r\n\t\t\tallowDragOnCenterRegion: false,\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * When tiling start, we want to find the dragHandler and hide it\r\n\t */\r\n\tonTilingStart() {\r\n\t\tlet dragHandle = document.querySelector(`.${this.state.dragHandleName}`);\r\n\t\tif (dragHandle) {\r\n\t\t\tdragHandle.classList.add(\"hidden\");\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * When tiling stops, we want to find the dragHandler and re-show it\r\n\t */\r\n\tonTilingStop() {\r\n\t\tlet dragHandle = document.querySelector(`.${this.state.dragHandleName}.hidden`);\r\n\t\tif (dragHandle) {\r\n\t\t\tdragHandle.classList.remove(\"hidden\");\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Called whenever a tab is dropped on a non tab area.\r\n\t * It won't be called when dropped on a tab that handles handle the event.\r\n\t */\r\n\tonDropHandler() {\r\n\t\tFSBL.Clients.RouterClient.transmit(\"DockingService.cancelTilingOrTabbing\", {});\r\n\t}\r\n\r\n\t/**\r\n\t * Called when user double clicks on drag handle\r\n\t */\r\n\tonDoubleClick() {\r\n\t\t// Actions.clickMaximize checks the window state\r\n\t\t// and toggles between maximize and minimize.\r\n\t\tActions.clickMaximize();\r\n\t}\r\n\r\n\t/**\r\n\t * The dragger is an absolutely positioned element that is superimposed on the actual area that we'd like to drag.\r\n\t * This is necessary due to a bug in Chromium. Effectively, we need the dragger to change its left position and width\r\n\t * to match the intended drag area. These dimensions can change whenever the header is re-rendered (for instance when\r\n\t * changing mode from tabbing to non-tabbing). Dimensions can also change when the window itself is resized (due to natural\r\n\t * css).\r\n\t *\r\n\t * Can remove all of the cq-drag and cq-no-drag because Chromium bug is fixed\r\n\t * Remove fsbl-drag-region, it is no longer needed\r\n\t * Hide the dragHandle during drop operations, so that it doesn't interfere\r\n\t */\r\n\tresizeDragHandle() {\r\n\t\ttry {\r\n\t\t\tconst fsblHeader = document.querySelector(\".fsbl-header\");\r\n\t\t\tif (!fsblHeader) {\r\n\t\t\t\t// If there isn't an FSBLHeader then there doesn't need to be a drag handle.\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst dragHandleCssClass = this.state.useDOMBasedMovement\r\n\t\t\t\t? \"fsbl-drag-handle\"\r\n\t\t\t\t: \"fsbl-drag-handle-native-movement\";\r\n\r\n\t\t\tconst dragHandleToRemoveClass = this.state.useDOMBasedMovement\r\n\t\t\t\t? \"fsbl-drag-handle-native-movement\"\r\n\t\t\t\t: \"fsbl-drag-handle\";\r\n\r\n\t\t\t// Create the dragger if it doesn't already exist\r\n\t\t\tlet dragHandle = document.querySelector(`.${dragHandleCssClass}`) as HTMLElement;\r\n\t\t\tif (!dragHandle) {\r\n\t\t\t\tdragHandle = document.createElement(\"div\");\r\n\t\t\t\tdragHandle.className = dragHandleCssClass;\r\n\r\n\t\t\t\t// if do double click it will invoke MouseDown and MouseUp events which could break the window bounds. So wait a 100ms for moving or resizing the window.\r\n\t\t\t\tlet isMousePressed = false;\r\n\t\t\t\tconst handleMouseDown = (event: MouseEvent) => {\r\n\t\t\t\t\tisMousePressed = true;\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tif (isMousePressed) {\r\n\t\t\t\t\t\t\tFSBL.Clients.WindowClient.startMovingWindow(event);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, 100);\r\n\t\t\t\t};\r\n\t\t\t\tconst handleMouseUp = () => {\r\n\t\t\t\t\tisMousePressed = false;\r\n\t\t\t\t\tFSBL.Clients.WindowClient.stopMovingWindow();\r\n\t\t\t\t};\r\n\r\n\t\t\t\tdragHandle.onmousedown = handleMouseDown;\r\n\t\t\t\tdragHandle.onmouseup = handleMouseUp;\r\n\t\t\t\tdragHandle.ondblclick = () => {\r\n\t\t\t\t\tthis.onDoubleClick();\r\n\t\t\t\t};\r\n\t\t\t\tfsblHeader.insertBefore(dragHandle, fsblHeader.firstChild);\r\n\t\t\t\tvar self = this;\r\n\t\t\t\twindow.addEventListener(\"resize\", () => {\r\n\t\t\t\t\tself.resizeDragHandle();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// When the titlebar starts up, useDOMBasedMovement will have a default value that is not the same as the config value\r\n\t\t\t// When the value from the config propagates down to the UI, we need to make sure the old drag handle is removed in place of the new\r\n\t\t\tlet dragHandleToRemove = document.querySelector(`.${dragHandleToRemoveClass}`) as HTMLElement;\r\n\t\t\tif (dragHandleToRemove) {\r\n\t\t\t\tdragHandleToRemove.parentNode?.removeChild(dragHandleToRemove);\r\n\t\t\t}\r\n\r\n\t\t\t// Set the height of the dragHandle to match the height of the window title bar\r\n\t\t\t// Do this every time through the render loop just in case a customer builds a\r\n\t\t\t// header bar with dynamic height!\r\n\t\t\tlet bounds: any = fsblHeader.getBoundingClientRect();\r\n\r\n\t\t\tdragHandle.style.height = `${bounds.height - 5}px`; // Subtract 5 pixels from height in order to make room for resize window cursor at top edge of window\r\n\t\t\tdragHandle.style.marginTop = `${-bounds.height + 5}px`; // Negative margin pulls the drag handle up over the fixed header\r\n\r\n\t\t\t// Start logic for determining where to place our dragHandle\r\n\t\t\tif (this.state.showTabs) {\r\n\t\t\t\t// If there is more than one tab, then the drag area is the padding-left of fsbl-header-right\r\n\t\t\t\t// See .fsbl-tabs-multiple in the css\r\n\t\t\t\tif (this.state.tabs.length > 1) {\r\n\t\t\t\t\tlet headerRight = document.querySelector(\".fsbl-header-right\");\r\n\t\t\t\t\tif (headerRight) {\r\n\t\t\t\t\t\tlet computedStyle = getComputedStyle(headerRight);\r\n\t\t\t\t\t\tbounds = headerRight.getBoundingClientRect();\r\n\t\t\t\t\t\t// override the bounds.width with the paddingLeft amount\r\n\t\t\t\t\t\tbounds = {\r\n\t\t\t\t\t\t\tleft: bounds.left,\r\n\t\t\t\t\t\t\twidth: parseInt(computedStyle.paddingLeft, 10),\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// If tabs are not enabled, then the remained of fsbl-header-center beyond the tabs\r\n\t\t\t\t\t// is the draggable area. This assumes left aligned tabs.\r\n\t\t\t\t\tlet fsblHeaderCenter = document.querySelector(\".fsbl-header-center\");\r\n\t\t\t\t\tif (fsblHeaderCenter) bounds = fsblHeaderCenter.getBoundingClientRect();\r\n\t\t\t\t\tconst tabRegionWrapperDiv = fsblHeaderCenter?.querySelector(\".tab-region-wrapper div.fsbl-header-title\");\r\n\t\t\t\t\tif (tabRegionWrapperDiv) {\r\n\t\t\t\t\t\tconst theTabBounds = tabRegionWrapperDiv.getBoundingClientRect();\r\n\t\t\t\t\t\t// Calculate the right portion\r\n\t\t\t\t\t\tbounds = {\r\n\t\t\t\t\t\t\tleft: bounds.left + theTabBounds.width,\r\n\t\t\t\t\t\t\twidth: bounds.width - theTabBounds.width,\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// If tabs are not enabled, then the entire center is the drag area\r\n\t\t\t\tlet fsblHeaderCenter = document.querySelector(\".fsbl-header-center\");\r\n\t\t\t\tif (fsblHeaderCenter) bounds = fsblHeaderCenter.getBoundingClientRect();\r\n\t\t\t}\r\n\r\n\t\t\tif (bounds) {\r\n\t\t\t\tdragHandle.style.left = `${bounds.left}px`;\r\n\t\t\t\tdragHandle.style.width = `${bounds.width}px`;\r\n\t\t\t}\r\n\r\n\t\t\t// Add an event listener to hide the drag-handler when tiling is started\r\n\t\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.startTilingOrTabbing\", this.onTilingStart);\r\n\r\n\t\t\t// Add an event listener to show the drag-handler when tiling is stopped or cancelled\r\n\t\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.stopTilingOrTabbing\", this.onTilingStop);\r\n\t\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.cancelTilingOrTabbing\", this.onTilingStop);\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error(error);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Whether the component's config allows for the linker.\r\n\t * @param {} err\r\n\t * @param {*} response\r\n\t */\r\n\tshowLinkerButton(err: StandardError, response: any) {\r\n\t\tthis.setState({ showLinkerButton: response.value });\r\n\t}\r\n\r\n\t/**\r\n\t * Whether the window is the top-right-most window in a group of windows. If so, it renders a minimize icon for the whole group.\r\n\t * @param {} err\r\n\t * @param {*} response\r\n\t */\r\n\tisTopRight(err: StandardError, response: any) {\r\n\t\tthis.setState({ isTopRight: response.value });\r\n\t}\r\n\r\n\t/**\r\n\t * @param {*} err\r\n\t * @param {*} response\r\n\t */\r\n\tonTitleChange(err: StandardError, response: any) {\r\n\t\tlet { tabs } = this.state;\r\n\t\tlet myIdentifier = FSBL.Clients.WindowClient.getWindowIdentifier();\r\n\r\n\t\ttabs = tabs.map((el) => {\r\n\t\t\tif (!el.windowName && el.name) el.windowName = el.name;\r\n\t\t\tif (!el.name && el.windowName) el.name = el.windowName;\r\n\t\t\treturn el;\r\n\t\t});\r\n\r\n\t\tconst myIndex = tabs.findIndex((el: TabProperties) => el.name === myIdentifier.windowName);\r\n\t\tif (myIndex === -1) return;\r\n\r\n\t\tlet myTab = tabs[myIndex] || {};\r\n\t\tmyTab.title = response.value;\r\n\t\ttabs.splice(myIndex, 1, myTab);\r\n\r\n\t\tthis.setState({\r\n\t\t\twindowTitle: response.value,\r\n\t\t\ttabs: tabs,\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * The next few methods are store change handlers that sync local state with the store's state.\r\n\t */\r\n\tonShowDockingToolTip(err: StandardError, response: any) {\r\n\t\tthis.setState({ showDockingTooltip: response.value });\r\n\t}\r\n\r\n\tonToggleDockingIcon(err: StandardError, response: any) {\r\n\t\tthis.setState({ dockingIcon: response.value });\r\n\t}\r\n\r\n\tonDockingEnabledChanged(err: StandardError, response: any) {\r\n\t\tthis.setState({ dockingEnabled: response.value });\r\n\t}\r\n\r\n\tonAlwaysOnTopChanged(err: StandardError, response: any) {\r\n\t\tthis.setState({ alwaysOnTopButton: response.value });\r\n\t}\r\n\r\n\tonStoreChanged(newState: WindowTitleBarShellState) {\r\n\t\tthis.setState(newState);\r\n\t}\r\n\r\n\tonShareEmitterChanged(err: StandardError, response: any) {\r\n\t\tthis.setState({ showShareButton: response.value });\r\n\t}\r\n\r\n\tonTabsChanged(err: StandardError, response: any) {\r\n\t\tthis.setState({\r\n\t\t\ttabs: response.value,\r\n\t\t});\r\n\t}\r\n\r\n\tonShowTabsChanged(err: StandardError, response: any) {\r\n\t\tthis.setState({\r\n\t\t\tshowTabs: response.value,\r\n\t\t});\r\n\t}\r\n\r\n\t// Hack the window's scrollbar so that it displays underneath the header. html.overflow: hidden body.overflow:auto\r\n\t// This is turned on by default. Set \"Window Manager.hackScrollbar: false\" to turn it off\r\n\thackScrollbar() {\r\n\t\tif (this.state.hackScrollbar) {\r\n\t\t\tconst htmlElement = document.querySelector(\"html\");\r\n\t\t\tif (htmlElement) htmlElement.style.overflowY = \"hidden\";\r\n\t\t\tconst bodyElement = document.querySelector(\"body\");\r\n\t\t\tif (bodyElement) bodyElement.style.overflowY = \"auto\";\r\n\t\t}\r\n\t}\r\n\r\n\trender() {\r\n\t\tlet showDockingIcon = !this.state.dockingEnabled ? false : this.state.dockingIcon;\r\n\t\tlet isGrouped = this.state.dockingIcon == \"ejector\";\r\n\t\tlet showMinimizeIcon = (isGrouped && this.state.isTopRight) || !isGrouped; // If not in a group or if topright in a group\r\n\t\tlet tabRegionClasses = \"fsbl-tab-area\";\r\n\t\tlet headerClasses = \"fsbl-header\";\r\n\r\n\t\t// If we're showing tabs, we throw these classes on to modify styles.\r\n\t\tif (this.state.showTabs) {\r\n\t\t\theaderClasses = `${headerClasses} fsbl-tabs-enabled`;\r\n\t\t}\r\n\t\tif (this.state.tabs.length > 1) {\r\n\t\t\theaderClasses = `${headerClasses} fsbl-tabs-multiple`;\r\n\t\t}\r\n\t\tconst context = {\r\n\t\t\tshowLinkerButton: this.state.showLinkerButton,\r\n\t\t\tshowShareButton: this.state.showShareButton,\r\n\t\t\tshowTabRegion: this.state.showTabs,\r\n\t\t\tshowMinimizeButton: this.state.minButton && showMinimizeIcon,\r\n\t\t\tshowMaximizeButton: this.state.maxButton,\r\n\t\t\tonTabDropped: this.allowDragOnCenterRegion,\r\n\t\t\tshowDockingButton: showDockingIcon,\r\n\t\t\tshowCloseButton: this.state.closeButton,\r\n\t\t\tclassName: tabRegionClasses,\r\n\t\t\tthisWindowTitle: this.state.windowTitle,\r\n\t\t\tboundingBox: this.state.tabBarBoundingBox,\r\n\t\t\tlistenForDragOver: !this.state.allowDragOnCenterRegion,\r\n\t\t\ttabs: this.state.tabs,\r\n\t\t\tonTitleUpdated: this.resizeDragHandle,\r\n\t\t\tshowAlwaysOnTopButton: this.state.alwaysOnTopButton && showMinimizeIcon,\r\n\t\t\tshowTabs: this.state.showTabs,\r\n\t\t\talwaysOnTop: this.state.alwaysOnTop,\r\n\t\t\tuseDOMBasedMovement: this.state.useDOMBasedMovement,\r\n\t\t};\r\n\r\n\t\treturn (\r\n\t\t\t<div className={headerClasses} onDrop={this.onDropHandler.bind(this)}>\r\n\t\t\t\t{this.state.initialized && (\r\n\t\t\t\t\t<WindowTitleBarContext.Provider value={context}>{this.props.children}</WindowTitleBarContext.Provider>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"WindowTitleBarShell.js","sourceRoot":"","sources":["../../../src/components/windowTitleBar/WindowTitleBarShell.tsx"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright 2017 by ChartIQ, Inc.\n * All rights reserved.\n */\nimport * as React from \"react\";\nimport { WindowTitleBarContext } from \"./windowTitleBarContext\";\nimport { storeManager, Actions } from \"./stores/windowTitleBarStore\";\nimport \"../../assets/css/finsemble.css\";\nimport \"../../assets/css/windowTitleBar.css\";\nimport { StandardError } from \"@finsemble/finsemble-api/types/types\";\nimport StoreModel from \"@finsemble/finsemble-api/types/clients/StoreModel\";\nimport { TabProperties } from \"../../types/windowTitleBar\";\nimport { clone } from \"./../smartDesktopDesigner/Appearance.helpers\";\n\ninterface WindowTitleBarShellProps {}\n\ninterface WindowTitleBarShellState {\n\ttabs: TabProperties[];\n\tactiveTab: TabProperties;\n\twindowTitle: string;\n\tinitialized: boolean;\n\talwaysOnTop: boolean;\n\tshowTabs: boolean;\n\tminButton: boolean;\n\tmaxButton: boolean;\n\tcloseButton: boolean;\n\tshowShareButton: boolean;\n\tshowLinkerButton: boolean;\n\tisTopRight: boolean;\n\tdockingEnabled: boolean;\n\talwaysOnTopButton: boolean;\n\tallowDragOnCenterRegion: boolean;\n\tdockingIcon: string;\n\thackScrollbar: boolean;\n\tshowDockingTooltip: boolean;\n\tshowTabRegion: boolean;\n\ttabBarBoundingBox: any;\n\tuseDOMBasedMovement: boolean;\n\tdragHandleName: string;\n}\n\nexport class WindowTitleBarShell extends React.Component<WindowTitleBarShellProps, WindowTitleBarShellState> {\n\tstore?: StoreModel;\n\n\tconstructor(props: WindowTitleBarShellProps) {\n\t\tsuper(props);\n\t\tthis.store = undefined;\n\n\t\tthis.bindCorrectContext();\n\t\tthis.state = {\n\t\t\tactiveTab: FSBL.Clients.WindowClient.getWindowIdentifier() as TabProperties,\n\t\t\tallowDragOnCenterRegion: true,\n\t\t\talwaysOnTop: false,\n\t\t\talwaysOnTopButton: false,\n\t\t\tcloseButton: false,\n\t\t\tdockingEnabled: false,\n\t\t\tdockingIcon: \"\",\n\t\t\thackScrollbar: false,\n\t\t\tinitialized: false,\n\t\t\tisTopRight: false,\n\t\t\tmaxButton: false,\n\t\t\tminButton: false,\n\t\t\tshowDockingTooltip: false,\n\t\t\tshowLinkerButton: false,\n\t\t\tshowShareButton: false,\n\t\t\tshowTabs: false,\n\t\t\tshowTabRegion: false,\n\t\t\ttabs: [],\n\t\t\ttabBarBoundingBox: {},\n\t\t\twindowTitle: \"\",\n\t\t\tuseDOMBasedMovement: true,\n\t\t\tdragHandleName: \"fsbl-drag-handle\",\n\t\t};\n\n\t\tfinsembleWindow.isAlwaysOnTop({}, (err, alwaysOnTop: boolean) => {\n\t\t\tthis.setState({ ...this.state, alwaysOnTop });\n\t\t});\n\n\t\tfinsembleWindow.addEventListener(\"alwaysOnTop\", this.alwaysOnTopListener);\n\t}\n\n\talwaysOnTopListener({ data: { alwaysOnTop } }: any) {\n\t\tthis.setState({ ...this.state, alwaysOnTop });\n\t}\n\n\t/**\n\t * This is necessary to make sure that the `this` inside of the callback is correct.\n\t *\n\t * @memberof WindowTitleBar\n\t */\n\tbindCorrectContext() {\n\t\tthis.onTitleChange = this.onTitleChange.bind(this);\n\t\tthis.onShowDockingToolTip = this.onShowDockingToolTip.bind(this);\n\t\tthis.onToggleDockingIcon = this.onToggleDockingIcon.bind(this);\n\t\tthis.onDockingEnabledChanged = this.onDockingEnabledChanged.bind(this);\n\t\tthis.onAlwaysOnTopChanged = this.onAlwaysOnTopChanged.bind(this);\n\t\tthis.showLinkerButton = this.showLinkerButton.bind(this);\n\t\tthis.isTopRight = this.isTopRight.bind(this);\n\t\tthis.allowDragOnCenterRegion = this.allowDragOnCenterRegion.bind(this);\n\t\tthis.disallowDragOnCenterRegion = this.disallowDragOnCenterRegion.bind(this);\n\t\tthis.setDOMBasedMovement = this.setDOMBasedMovement.bind(this);\n\t\tthis.onShareEmitterChanged = this.onShareEmitterChanged.bind(this);\n\t\tthis.onTabsChanged = this.onTabsChanged.bind(this);\n\t\tthis.onShowTabsChanged = this.onShowTabsChanged.bind(this);\n\t\tthis.onTilingStop = this.onTilingStop.bind(this);\n\t\tthis.onTilingStart = this.onTilingStart.bind(this);\n\t\tthis.resizeDragHandle = this.resizeDragHandle.bind(this);\n\t\tthis.onDoubleClick = this.onDoubleClick.bind(this);\n\t\tthis.alwaysOnTopListener = this.alwaysOnTopListener.bind(this);\n\t\tthis.onInitialized = this.onInitialized.bind(this);\n\t}\n\n\tonInitialized(store: StoreModel) {\n\t\tthis.store = store;\n\t\tthis.store.addListeners(\n\t\t\t[\n\t\t\t\t{ field: \"Main.windowTitle\", listener: this.onTitleChange },\n\t\t\t\t{ field: \"Main.showDockingTooltip\", listener: this.onShowDockingToolTip },\n\t\t\t\t{ field: \"Main.dockingIcon\", listener: this.onToggleDockingIcon },\n\t\t\t\t{ field: \"Main.dockingEnabled\", listener: this.onDockingEnabledChanged },\n\t\t\t\t{ field: \"AlwaysOnTop.show\", listener: this.onAlwaysOnTopChanged },\n\t\t\t\t{ field: \"Linker.showLinkerButton\", listener: this.showLinkerButton },\n\t\t\t\t{ field: \"Sharer.emitterEnabled\", listener: this.onShareEmitterChanged },\n\t\t\t\t{ field: \"isTopRight\", listener: this.isTopRight },\n\t\t\t\t{ field: \"tabs\", listener: this.onTabsChanged },\n\t\t\t\t{ field: \"showTabs\", listener: this.onShowTabsChanged },\n\t\t\t\t{ field: \"hackScrollbar\", listener: this.onShowTabsChanged },\n\t\t\t\t{ field: \"Main.useDOMBasedMovement\", listener: this.setDOMBasedMovement },\n\t\t\t],\n\t\t\t() => {}\n\t\t);\n\n\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.startTilingOrTabbing\", this.disallowDragOnCenterRegion);\n\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.stopTilingOrTabbing\", this.allowDragOnCenterRegion);\n\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.cancelTilingOrTabbing\", this.allowDragOnCenterRegion);\n\n\t\tthis.onStoreChange();\n\t\tthis.setState({\n\t\t\tinitialized: true,\n\t\t});\n\t}\n\n\tonStoreChange() {\n\t\tlet activeIdentifier = finsembleWindow.identifier as TabProperties;\n\t\tactiveIdentifier.title = this.store?.getValue({\n\t\t\tfield: \"Main.windowTitle\",\n\t\t});\n\n\t\tthis.setState({\n\t\t\twindowTitle: this.store?.getValue({ field: \"Main.windowTitle\" }),\n\t\t\tminButton: !this.store?.getValue({ field: \"Minimize.hide\" }),\n\t\t\tmaxButton: !this.store?.getValue({ field: \"Maximize.hide\" }),\n\t\t\tcloseButton: !this.store?.getValue({ field: \"Close.hide\" }),\n\t\t\tshowLinkerButton: this.store?.getValue({\n\t\t\t\tfield: \"Linker.showLinkerButton\",\n\t\t\t}),\n\t\t\tshowShareButton: this.store?.getValue({\n\t\t\t\tfield: \"Sharer.emitterEnabled\",\n\t\t\t}),\n\t\t\tisTopRight: this.store?.getValue({ field: \"isTopRight\" }),\n\t\t\talwaysOnTopButton: this.store?.getValue({\n\t\t\t\tfield: \"AlwaysOnTop.show\",\n\t\t\t}),\n\t\t\tshowTabs: this.store?.getValue({ field: \"showTabs\" }),\n\t\t\thackScrollbar: this.store?.getValue({ field: \"hackScrollbar\" }),\n\t\t\ttabs: [activeIdentifier], // array of tabs for this window\n\t\t});\n\t}\n\n\tcomponentDidMount() {\n\t\t// Goal: If a user gets focus into the title bar (if they Alt+Tab or Cmd+Tab into the window),\n\t\t// we want to let get into the rest of the component using the keyboard alone. The UX for\n\t\t// this task will be to seemingly TAB from the title bar into the window, if possible.\n\t\t// Code: If the user presses the \"Tab\" key, move their focus to the browser view\n\t\twindow.addEventListener(\"keydown\", (e) => {\n\t\t\tif (e.key === \"Tab\") {\n\t\t\t\t// This magic moves focus to a browserView, if one exists\n\t\t\t\tfinsembleWindow.focus();\n\t\t\t}\n\t\t});\n\t\tlet header = document.getElementsByClassName(\"fsbl-header\")[0];\n\t\tdocument.body.style.marginTop = window.getComputedStyle(header, null).getPropertyValue(\"height\");\n\t\tthis.resizeDragHandle();\n\t\tthis.hackScrollbar();\n\t\tstoreManager.addInitializedListener(this.onInitialized);\n\t\tstoreManager.initialize();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.resizeDragHandle();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tstoreManager.removeInitializedListener(this.onInitialized);\n\t\tif (this.state.initialized) {\n\t\t\tthis.store?.removeListeners(\n\t\t\t\t[\n\t\t\t\t\t{ field: \"Main.windowTitle\", listener: this.onTitleChange },\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: \"Main.showDockingTooltip\",\n\t\t\t\t\t\tlistener: this.onShowDockingToolTip,\n\t\t\t\t\t},\n\t\t\t\t\t{ field: \"Main.dockingIcon\", listener: this.onToggleDockingIcon },\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: \"Main.dockingEnabled\",\n\t\t\t\t\t\tlistener: this.onDockingEnabledChanged,\n\t\t\t\t\t},\n\t\t\t\t\t{ field: \"AlwaysOnTop.show\", listener: this.onAlwaysOnTopChanged },\n\t\t\t\t\t{ field: \"Linker.showLinkerButton\", listener: this.showLinkerButton },\n\t\t\t\t\t{\n\t\t\t\t\t\tfield: \"Sharer.emitterEnabled\",\n\t\t\t\t\t\tlistener: this.onShareEmitterChanged,\n\t\t\t\t\t},\n\t\t\t\t\t{ field: \"isTopRight\", listener: this.isTopRight },\n\t\t\t\t\t{ field: \"tabs\", listener: this.onTabsChanged },\n\t\t\t\t\t{ field: \"showTabs\", listener: this.onShowTabsChanged },\n\t\t\t\t],\n\t\t\t\t() => {},\n\t\t\t\t() => {}\n\t\t\t);\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"DockingService.startTilingOrTabbing\", this.disallowDragOnCenterRegion);\n\t\t\tFSBL.Clients.RouterClient.removeListener(\"DockingService.stopTilingOrTabbing\", this.allowDragOnCenterRegion);\n\t\t}\n\t}\n\n\tsetDOMBasedMovement(err: StandardError, response: any) {\n\t\tif (response && response.hasOwnProperty(\"value\")) {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tuseDOMBasedMovement: response.value,\n\t\t\t\t\tdragHandleName: response.value ? \"fsbl-drag-handle\" : \"fsbl-drag-handle-native-movement\",\n\t\t\t\t},\n\t\t\t\tthis.resizeDragHandle\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * When we are not tiling/tabbing, we want to allow the user to drag the window around via any available space in the tab-region. This function allows that.\n\t */\n\tallowDragOnCenterRegion() {\n\t\tthis.setState({\n\t\t\tallowDragOnCenterRegion: true,\n\t\t});\n\t}\n\n\t/**\n\t * When we are tiling/tabbing, we do not want to allow any window to be dragged around and moved.\n\t */\n\tdisallowDragOnCenterRegion() {\n\t\tthis.setState({\n\t\t\tallowDragOnCenterRegion: false,\n\t\t});\n\t}\n\n\t/**\n\t * When tiling start, we want to find the dragHandler and hide it\n\t */\n\tonTilingStart() {\n\t\tlet dragHandle = document.querySelector(`.${this.state.dragHandleName}`);\n\t\tif (dragHandle) {\n\t\t\tdragHandle.classList.add(\"hidden\");\n\t\t}\n\t}\n\n\t/**\n\t * When tiling stops, we want to find the dragHandler and re-show it\n\t */\n\tonTilingStop() {\n\t\tlet dragHandle = document.querySelector(`.${this.state.dragHandleName}.hidden`);\n\t\tif (dragHandle) {\n\t\t\tdragHandle.classList.remove(\"hidden\");\n\t\t}\n\t}\n\n\t/**\n\t * Called whenever a tab is dropped on a non tab area.\n\t * It won't be called when dropped on a tab that handles handle the event.\n\t */\n\tonDropHandler() {\n\t\tFSBL.Clients.RouterClient.transmit(\"DockingService.cancelTilingOrTabbing\", {});\n\t}\n\n\t/**\n\t * Called when user double clicks on drag handle\n\t */\n\tonDoubleClick() {\n\t\t// Actions.clickMaximize checks the window state\n\t\t// and toggles between maximize and minimize.\n\t\tActions.clickMaximize();\n\t}\n\n\tmakeDragHandle(fsblHeader: Element, dragHandleCssClass: string): HTMLElement {\n\t\tlet dragHandle = document.createElement(\"div\");\n\t\tdragHandle.className = dragHandleCssClass;\n\n\t\t// if do double click it will invoke MouseDown and MouseUp events which could break the window bounds. So wait a 100ms for moving or resizing the window.\n\t\tlet isMousePressed = false;\n\t\tconst handleMouseDown = (event: MouseEvent) => {\n\t\t\tisMousePressed = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (isMousePressed) {\n\t\t\t\t\tFSBL.Clients.WindowClient.startMovingWindow(event);\n\t\t\t\t}\n\t\t\t}, 100);\n\t\t};\n\t\tconst handleMouseUp = () => {\n\t\t\tisMousePressed = false;\n\t\t\tFSBL.Clients.WindowClient.stopMovingWindow();\n\t\t};\n\n\t\tdragHandle.onmousedown = handleMouseDown;\n\t\tdragHandle.onmouseup = handleMouseUp;\n\t\tdragHandle.ondblclick = () => {\n\t\t\tthis.onDoubleClick();\n\t\t};\n\t\tfsblHeader.insertBefore(dragHandle, fsblHeader.firstChild);\n\t\twindow.addEventListener(\"resize\", () => {\n\t\t\tthis.resizeDragHandle();\n\t\t});\n\t\treturn dragHandle;\n\t}\n\n\tdragHandleBoundsForShowTabs(startingBounds: DOMRect): DOMRect {\n\t\t// If there is more than one tab, then the drag area is the padding-left of fsbl-header-right\n\t\t// See .fsbl-tabs-multiple in the css\n\t\tif (this.state.tabs.length > 1) {\n\t\t\tconst headerRight = document.querySelector(\".fsbl-header-right\");\n\t\t\tif (headerRight) {\n\t\t\t\tconst computedStyle = getComputedStyle(headerRight);\n\t\t\t\t// override the bounds.width with the paddingLeft amount\n\t\t\t\treturn {\n\t\t\t\t\t// The spread operator only uses own properties; simply\n\t\t\t\t\t// spreading \"headerRight.getBoundingClientRect()\" will result in an\n\t\t\t\t\t// empty object being spread. Clone the object to be sure all\n\t\t\t\t\t// values are spread\n\t\t\t\t\t...clone(headerRight.getBoundingClientRect()),\n\t\t\t\t\twidth: parseInt(computedStyle.paddingLeft, 10),\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn startingBounds;\n\t\t\t}\n\t\t} else {\n\t\t\t// If tabs are not enabled, then the remained of fsbl-header-center beyond the tabs\n\t\t\t// is the draggable area. This assumes left aligned tabs.\n\t\t\tconst fsblHeaderCenter = document.querySelector(\".fsbl-header-center\");\n\t\t\tconst bounds = fsblHeaderCenter?.getBoundingClientRect() ?? startingBounds;\n\t\t\tconst tabRegionWrapperDiv = fsblHeaderCenter?.querySelector(\".tab-region-wrapper div.fsbl-header-title\");\n\t\t\tif (tabRegionWrapperDiv) {\n\t\t\t\tconst theTabBounds = tabRegionWrapperDiv.getBoundingClientRect();\n\t\t\t\t// Calculate the right portion\n\t\t\t\treturn {\n\t\t\t\t\t...bounds,\n\t\t\t\t\tleft: bounds.left + theTabBounds.width,\n\t\t\t\t\twidth: bounds.width - theTabBounds.width,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn bounds;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * The dragger is an absolutely positioned element that is superimposed on the actual area that we'd like to drag.\n\t * This is necessary due to a bug in Chromium. Effectively, we need the dragger to change its left position and width\n\t * to match the intended drag area. These dimensions can change whenever the header is re-rendered (for instance when\n\t * changing mode from tabbing to non-tabbing). Dimensions can also change when the window itself is resized (due to natural\n\t * css).\n\t *\n\t * Can remove all of the cq-drag and cq-no-drag because Chromium bug is fixed\n\t * Remove fsbl-drag-region, it is no longer needed\n\t * Hide the dragHandle during drop operations, so that it doesn't interfere\n\t */\n\tresizeDragHandle() {\n\t\ttry {\n\t\t\tconst fsblHeader = document.querySelector(\".fsbl-header\");\n\t\t\t// If there isn't an FSBLHeader then there doesn't need to be a drag handle.\n\t\t\tif (!fsblHeader) return;\n\n\t\t\tconst dragHandleCssClass = this.state.useDOMBasedMovement\n\t\t\t\t? \"fsbl-drag-handle\"\n\t\t\t\t: \"fsbl-drag-handle-native-movement\";\n\n\t\t\tconst dragHandleToRemoveClass = this.state.useDOMBasedMovement\n\t\t\t\t? \"fsbl-drag-handle-native-movement\"\n\t\t\t\t: \"fsbl-drag-handle\";\n\n\t\t\t// Create the dragger if it doesn't already exist\n\t\t\tlet dragHandle =\n\t\t\t\t(document.querySelector(`.${dragHandleCssClass}`) as HTMLElement) ??\n\t\t\t\tthis.makeDragHandle(fsblHeader, dragHandleCssClass);\n\n\t\t\t// When the titlebar starts up, useDOMBasedMovement will have a default value that is not the same as the config value\n\t\t\t// When the value from the config propagates down to the UI, we need to make sure the old drag handle is removed in place of the new\n\t\t\tconst dragHandleToRemove = document.querySelector(`.${dragHandleToRemoveClass}`) as HTMLElement;\n\t\t\tif (dragHandleToRemove) dragHandleToRemove.parentNode?.removeChild(dragHandleToRemove);\n\n\t\t\t// Set the height of the dragHandle to match the height of the window title bar\n\t\t\t// Do this every time through the render loop just in case a customer builds a\n\t\t\t// header bar with dynamic height!\n\t\t\tlet bounds = fsblHeader.getBoundingClientRect();\n\n\t\t\tdragHandle.style.height = `${bounds.height - 5}px`; // Subtract 5 pixels from height in order to make room for resize window cursor at top edge of window\n\t\t\tdragHandle.style.marginTop = `${-bounds.height + 5}px`; // Negative margin pulls the drag handle up over the fixed header\n\n\t\t\t// Start logic for determining where to place our dragHandle\n\t\t\tif (this.state.showTabs) {\n\t\t\t\tbounds = this.dragHandleBoundsForShowTabs(bounds);\n\t\t\t} else {\n\t\t\t\t// If tabs are not enabled, then the entire center is the drag area\n\t\t\t\tlet fsblHeaderCenter = document.querySelector(\".fsbl-header-center\");\n\t\t\t\tif (fsblHeaderCenter) bounds = fsblHeaderCenter.getBoundingClientRect();\n\t\t\t}\n\n\t\t\tif (bounds) {\n\t\t\t\tdragHandle.style.left = `${bounds.left}px`;\n\t\t\t\tdragHandle.style.width = `${bounds.width}px`;\n\t\t\t}\n\n\t\t\t// Add an event listener to hide the drag-handler when tiling is started\n\t\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.startTilingOrTabbing\", this.onTilingStart);\n\n\t\t\t// Add an event listener to show the drag-handler when tiling is stopped or cancelled\n\t\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.stopTilingOrTabbing\", this.onTilingStop);\n\t\t\tFSBL.Clients.RouterClient.addListener(\"DockingService.cancelTilingOrTabbing\", this.onTilingStop);\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t}\n\n\t/**\n\t * Whether the component's config allows for the linker.\n\t * @param {} err\n\t * @param {*} response\n\t */\n\tshowLinkerButton(err: StandardError, response: any) {\n\t\tthis.setState({ showLinkerButton: response.value });\n\t}\n\n\t/**\n\t * Whether the window is the top-right-most window in a group of windows. If so, it renders a minimize icon for the whole group.\n\t * @param {} err\n\t * @param {*} response\n\t */\n\tisTopRight(err: StandardError, response: any) {\n\t\tthis.setState({ isTopRight: response.value });\n\t}\n\n\t/**\n\t * @param {*} err\n\t * @param {*} response\n\t */\n\tonTitleChange(err: StandardError, response: any) {\n\t\tlet { tabs } = this.state;\n\t\tlet myIdentifier = FSBL.Clients.WindowClient.getWindowIdentifier();\n\n\t\ttabs = tabs.map((el) => {\n\t\t\tif (!el.windowName && el.name) el.windowName = el.name;\n\t\t\tif (!el.name && el.windowName) el.name = el.windowName;\n\t\t\treturn el;\n\t\t});\n\n\t\tconst myIndex = tabs.findIndex((el: TabProperties) => el.name === myIdentifier.windowName);\n\t\tif (myIndex === -1) return;\n\n\t\tlet myTab = tabs[myIndex] || {};\n\t\tmyTab.title = response.value;\n\t\ttabs.splice(myIndex, 1, myTab);\n\n\t\tthis.setState({\n\t\t\twindowTitle: response.value,\n\t\t\ttabs: tabs,\n\t\t});\n\t}\n\n\t/**\n\t * The next few methods are store change handlers that sync local state with the store's state.\n\t */\n\tonShowDockingToolTip(err: StandardError, response: any) {\n\t\tthis.setState({ showDockingTooltip: response.value });\n\t}\n\n\tonToggleDockingIcon(err: StandardError, response: any) {\n\t\tthis.setState({ dockingIcon: response.value });\n\t}\n\n\tonDockingEnabledChanged(err: StandardError, response: any) {\n\t\tthis.setState({ dockingEnabled: response.value });\n\t}\n\n\tonAlwaysOnTopChanged(err: StandardError, response: any) {\n\t\tthis.setState({ alwaysOnTopButton: response.value });\n\t}\n\n\tonStoreChanged(newState: WindowTitleBarShellState) {\n\t\tthis.setState(newState);\n\t}\n\n\tonShareEmitterChanged(err: StandardError, response: any) {\n\t\tthis.setState({ showShareButton: response.value });\n\t}\n\n\tonTabsChanged(err: StandardError, response: any) {\n\t\tthis.setState({\n\t\t\ttabs: response.value,\n\t\t});\n\t}\n\n\tonShowTabsChanged(err: StandardError, response: any) {\n\t\tthis.setState({\n\t\t\tshowTabs: response.value,\n\t\t});\n\t}\n\n\t// Hack the window's scrollbar so that it displays underneath the header. html.overflow: hidden body.overflow:auto\n\t// This is turned on by default. Set \"Window Manager.hackScrollbar: false\" to turn it off\n\thackScrollbar() {\n\t\tif (this.state.hackScrollbar) {\n\t\t\tconst htmlElement = document.querySelector(\"html\");\n\t\t\tif (htmlElement) htmlElement.style.overflowY = \"hidden\";\n\t\t\tconst bodyElement = document.querySelector(\"body\");\n\t\t\tif (bodyElement) bodyElement.style.overflowY = \"auto\";\n\t\t}\n\t}\n\n\trender() {\n\t\tlet showDockingIcon = !this.state.dockingEnabled ? false : this.state.dockingIcon;\n\t\tlet isGrouped = this.state.dockingIcon == \"ejector\";\n\t\tlet showMinimizeIcon = (isGrouped && this.state.isTopRight) || !isGrouped; // If not in a group or if topright in a group\n\t\tlet tabRegionClasses = \"fsbl-tab-area\";\n\t\tlet headerClasses = \"fsbl-header\";\n\n\t\t// If we're showing tabs, we throw these classes on to modify styles.\n\t\tif (this.state.showTabs) {\n\t\t\theaderClasses = `${headerClasses} fsbl-tabs-enabled`;\n\t\t}\n\t\tif (this.state.tabs.length > 1) {\n\t\t\theaderClasses = `${headerClasses} fsbl-tabs-multiple`;\n\t\t}\n\t\tconst context = {\n\t\t\tshowLinkerButton: this.state.showLinkerButton,\n\t\t\tshowShareButton: this.state.showShareButton,\n\t\t\tshowTabRegion: this.state.showTabs,\n\t\t\tshowMinimizeButton: this.state.minButton && showMinimizeIcon,\n\t\t\tshowMaximizeButton: this.state.maxButton,\n\t\t\tonTabDropped: this.allowDragOnCenterRegion,\n\t\t\tshowDockingButton: showDockingIcon,\n\t\t\tshowCloseButton: this.state.closeButton,\n\t\t\tclassName: tabRegionClasses,\n\t\t\tthisWindowTitle: this.state.windowTitle,\n\t\t\tboundingBox: this.state.tabBarBoundingBox,\n\t\t\tlistenForDragOver: !this.state.allowDragOnCenterRegion,\n\t\t\ttabs: this.state.tabs,\n\t\t\tonTitleUpdated: this.resizeDragHandle,\n\t\t\tshowAlwaysOnTopButton: this.state.alwaysOnTopButton && showMinimizeIcon,\n\t\t\tshowTabs: this.state.showTabs,\n\t\t\talwaysOnTop: this.state.alwaysOnTop,\n\t\t\tuseDOMBasedMovement: this.state.useDOMBasedMovement,\n\t\t};\n\n\t\treturn (\n\t\t\t<div className={headerClasses} onDrop={this.onDropHandler.bind(this)}>\n\t\t\t\t{this.state.initialized && (\n\t\t\t\t\t<WindowTitleBarContext.Provider value={context}>{this.props.children}</WindowTitleBarContext.Provider>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n"]}
|
|
@@ -43,12 +43,12 @@ export default class Tab extends React.Component {
|
|
|
43
43
|
const style = {
|
|
44
44
|
width: this.props.tabWidth,
|
|
45
45
|
};
|
|
46
|
-
return (React.createElement("div", { ref: "Me", onDrop: this.props.onDrop,
|
|
46
|
+
return (React.createElement("div", { ref: "Me", onDrop: this.props.onDrop, onDragStart: (e) => {
|
|
47
47
|
this.props.onDragStart(e, this.props.windowIdentifier);
|
|
48
48
|
}, onDragEnd: this.props.onDragEnd, draggable: true, className: this.props.className, "data-hover": this.state.hoverState, style: style },
|
|
49
49
|
this.props.listenForDragOver && (React.createElement("div", { className: "tab-drop-region", onDragOver: this.onDragOver, onDragLeave: this.onDragLeave })),
|
|
50
50
|
React.createElement(FinsembleHoverDetector, { edge: "top", hoverAction: this.hoverAction.bind(this) }),
|
|
51
|
-
React.createElement(Title, { titleWidth: this.props.titleWidth, windowIdentifier: this.props.windowIdentifier,
|
|
51
|
+
React.createElement(Title, { titleWidth: this.props.titleWidth, windowIdentifier: this.props.windowIdentifier, onClick: this.props.onClick }),
|
|
52
52
|
React.createElement("div", { className: "fsbl-tab-close", onClick: (e) => {
|
|
53
53
|
e.preventDefault();
|
|
54
54
|
e.stopPropagation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../../../src/components/windowTitleBar/components/center/Tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,YAAY,GAAG,CACpB,KAGC,EACD,GAOC,EACS,EAAE;IACZ,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IACnD,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;IACjD,OAAO,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AAC/F,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../../../src/components/windowTitleBar/components/center/Tab.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { FinsembleHoverDetector } from \"../../../legacyControls/FinsembleHoverDetector\";\nimport { Title } from \"../windowTitle\";\n\nconst isPointInBox = (\n\tpoint: {\n\t\tx: number;\n\t\ty: number;\n\t},\n\tbox: {\n\t\ttop: number;\n\t\tleft: number;\n\t\tbottom?: number;\n\t\tright?: number;\n\t\twidth: number;\n\t\theight: number;\n\t}\n): boolean => {\n\tif (!box.bottom) box.bottom = box.top + box.height;\n\tif (!box.right) box.right = box.left + box.width;\n\treturn point.x > box.left && point.x < box.right && point.y < box.bottom && point.y > box.top;\n};\ninterface IProps {\n\tdraggable: string;\n\tclassName: string;\n\tonClick?: () => void;\n\tonDragStart: (e: any, identifier: any) => void;\n\tonDrop: (e?: React.DragEvent<HTMLDivElement>) => void;\n\tonDragEnd: (e?: any) => void;\n\tonTabClose: (e: React.MouseEvent<HTMLDivElement>) => void;\n\tonTabDraggedOver: (e: any, tabDraggedOver: any) => void;\n\tlistenForDragOver: boolean;\n\ttabWidth: number;\n\ttitleWidth: number;\n\twindowIdentifier: any;\n}\ninterface IState {\n\thoverState: string;\n\ttitle: string;\n}\n\n/**\n * This component is pretty basic. It just takes a bunch of props and renders them.\n */\nexport default class Tab extends React.Component<IProps, IState> {\n\ttabbingState: boolean;\n\n\tconstructor(props: IProps) {\n\t\tsuper(props);\n\t\tthis.onDragOver = this.onDragOver.bind(this);\n\t\tthis.onDragLeave = this.onDragLeave.bind(this);\n\n\t\tthis.state = {\n\t\t\thoverState: \"false\",\n\t\t\ttitle: \"\",\n\t\t};\n\t\tthis.tabbingState = false;\n\t}\n\n\tonDragLeave() {\n\t\tthis.tabbingState = false;\n\t\tFSBL.Clients.RouterClient.publish(\"Finsemble.AmTabbing\", false);\n\t}\n\n\tonDragOver(e: React.DragEvent<HTMLDivElement>) {\n\t\tconst boundingBox = (this.refs.Me as HTMLElement).getBoundingClientRect();\n\t\tif (this.crossedMidline(e, boundingBox)) {\n\t\t\tthis.props.onTabDraggedOver(e, this.props.windowIdentifier);\n\t\t}\n\t\tif (!this.tabbingState) {\n\t\t\tFSBL.Clients.RouterClient.publish(\"Finsemble.AmTabbing\", true);\n\t\t\tthis.tabbingState = true;\n\t\t}\n\t}\n\n\tcrossedMidline(e: React.DragEvent<HTMLDivElement>, box: any) {\n\t\treturn isPointInBox({ x: e.nativeEvent.clientX, y: e.nativeEvent.clientY }, box);\n\t}\n\n\thoverAction(newHoverState: string) {\n\t\tthis.setState({ hoverState: newHoverState });\n\t}\n\n\trender() {\n\t\tconst style = {\n\t\t\twidth: this.props.tabWidth,\n\t\t};\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref=\"Me\"\n\t\t\t\tonDrop={this.props.onDrop}\n\t\t\t\tonDragStart={(e) => {\n\t\t\t\t\tthis.props.onDragStart(e, this.props.windowIdentifier);\n\t\t\t\t}}\n\t\t\t\tonDragEnd={this.props.onDragEnd}\n\t\t\t\tdraggable={true}\n\t\t\t\tclassName={this.props.className}\n\t\t\t\tdata-hover={this.state.hoverState}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{this.props.listenForDragOver && (\n\t\t\t\t\t<div className=\"tab-drop-region\" onDragOver={this.onDragOver} onDragLeave={this.onDragLeave}></div>\n\t\t\t\t)}\n\t\t\t\t<FinsembleHoverDetector edge=\"top\" hoverAction={this.hoverAction.bind(this)} />\n\t\t\t\t<Title\n\t\t\t\t\ttitleWidth={this.props.titleWidth}\n\t\t\t\t\twindowIdentifier={this.props.windowIdentifier}\n\t\t\t\t\tonClick={this.props.onClick}\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"fsbl-tab-close\"\n\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tthis.props.onTabClose(e);\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<i className=\"ff-close\"></i>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n"]}
|