@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":"AppEditPage.spec.js","sourceRoot":"","sources":["../../../../src/components/smartDesktopDesigner/tests/AppEditPage.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\r\nimport { mount } from \"enzyme\";\r\nimport { afterEach, describe, it } from \"mocha\";\r\nimport { expect } from \"chai\";\r\nimport sinon from \"sinon\";\r\nimport { AppEditPageProps } from \"../AppEditPage\";\r\nimport { Page, EmptyPage } from \"../stories/AppEditPage.stories\";\r\nimport { accessibilityAssessor } from \"./a11y_helper\";\r\n\r\ndescribe(\"<AppEditPage/>\", () => {\r\n\tafterEach(() => {\r\n\t\tsinon.restore();\r\n\t});\r\n\r\n\tit.skip(\"should pass accessibility scans (Page)\", async function () {\r\n\t\tthis.timeout(5000);\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\r\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\r\n\t});\r\n\r\n\tit.skip(\"should pass accessibility scans (EmptyPage)\", async () => {\r\n\t\tconst wrapper = mount(<EmptyPage {...(EmptyPage.args as AppEditPageProps)} />);\r\n\r\n\t\texpect(await accessibilityAssessor(wrapper)).to.be.true;\r\n\t});\r\n\r\n\tit(\"should display starting name in Name field, if name field is set\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\r\n\t\texpect(wrapper.find(\"#app-name\").first().prop(\"value\")).to.equal(\"Test\");\r\n\t});\r\n\tit(\"should not display starting name in Name field, if no name field is set\", () => {\r\n\t\tconst wrapper = mount(<EmptyPage {...(EmptyPage.args as AppEditPageProps)} />);\r\n\r\n\t\texpect(wrapper.find(\"#app-name\").first().prop(\"value\")).to.equal(\"\");\r\n\t});\r\n\tit(\"should display Name as a valid field, even if the given name is duplicate\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\r\n\t\tconst appName = wrapper.find(\"#app-name\").at(0);\r\n\t\tappName.simulate(\"change\", {\r\n\t\t\ttarget: {\r\n\t\t\t\tvalue: \"Used\",\r\n\t\t\t},\r\n\t\t});\r\n\r\n\t\texpect(wrapper.find(\"#app-name\").at(0).prop(\"value\")).to.equal(\"Used\");\r\n\t\texpect(!!wrapper.find(\"#app-name\").at(0).prop(\"aria-invalid\")).to.be.false;\r\n\t});\r\n\tit(\"should display invalid state for Web URL if provided URL is invalid\", () => {\r\n\t\tconst wrapper = mount(<EmptyPage {...(EmptyPage.args as AppEditPageProps)} />);\r\n\r\n\t\twrapper\r\n\t\t\t.find(\"#app-url\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"invalid\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\r\n\t\texpect(wrapper.find(\"#app-url\").at(0).prop(\"aria-invalid\")).to.be.true;\r\n\t});\r\n\tit(\"should display invalid state for width if provided a negative number\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\r\n\t\twrapper\r\n\t\t\t.find(\"#app-width\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"-999\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\r\n\t\texpect(wrapper.find(\"#app-width\").at(0).prop(\"aria-invalid\")).to.be.true;\r\n\t});\r\n\tit(\"should display invalid state for width if provided an empty value\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\r\n\t\twrapper\r\n\t\t\t.find(\"#app-width\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\r\n\t\texpect(wrapper.find(\"#app-width\").at(0).prop(\"aria-invalid\")).to.be.true;\r\n\t});\r\n\tit(\"should display invalid state for height if provided a negative number\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\r\n\t\twrapper\r\n\t\t\t.find(\"#app-height\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"-999\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\r\n\t\texpect(wrapper.find(\"#app-height\").at(0).prop(\"aria-invalid\")).to.be.true;\r\n\t});\r\n\tit(\"should display invalid state for height if provided an empty value\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\r\n\t\twrapper\r\n\t\t\t.find(\"#app-height\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\r\n\t\texpect(wrapper.find(\"#app-height\").at(0).prop(\"aria-invalid\")).to.be.true;\r\n\t});\r\n\tit(\"should display only Web URL if App type = Web\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-type-web\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"web\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\texpect(wrapper.contains(\"Web URL\")).to.be.true;\r\n\t\texpect(wrapper.contains(\"File Path\")).to.be.false;\r\n\t});\r\n\tit(\"should display only File Path, API Access and Arguments if App type = Native\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-type-web\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"native\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\texpect(wrapper.contains(\"File Path\")).to.be.true;\r\n\t\texpect(wrapper.contains(\"Arguments\")).to.be.true;\r\n\t\texpect(wrapper.contains(\"API access\")).to.be.true;\r\n\t\texpect(wrapper.contains(\"Web URL\")).to.be.false;\r\n\t});\r\n\r\n\tit(\"should have a disabled Save button if the name field is emptied\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-name\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\r\n\t});\r\n\tit(\"should have a disabled Save button if the Web URL field is emptied\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-type-web\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"web\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\twrapper\r\n\t\t\t.find(\"#app-url\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\r\n\t});\r\n\tit(\"should have a disabled Save button if the Web URL field is emptied\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-type-web\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"web\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\twrapper\r\n\t\t\t.find(\"#app-url\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\r\n\t});\r\n\tit(\"should have a disabled Save button if the width field is emptied\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-width\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\r\n\t});\r\n\tit(\"should have a disabled Save button if the height field is emptied\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-height\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\r\n\t});\r\n\tit(\"should have a disabled Save button if the width field is negative\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-width\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"-999\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\r\n\t});\r\n\tit(\"should have a disabled Save button if the height field is negative\", () => {\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-height\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"change\", {\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\tvalue: \"-999\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\r\n\t});\r\n\r\n\tit(\"should call the passed-in cancel function when the cancel button is clicked\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"cancelFn\");\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\r\n\t\tconst collection = wrapper.find(\"button\");\r\n\t\tcollection.at(collection.length - 2).simulate(\"click\");\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n\tit(\"should call the passed-in Remove Application function when the Remove Application button is clicked\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"removeApplicationFn\");\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\r\n\t\tconst collection = wrapper.find(\"button\");\r\n\t\tcollection.at(collection.length - 3).simulate(\"click\");\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t\tsinon.restore();\r\n\t});\r\n\tit(\"should call the passed-in submit function with relevant data when the submit button is clicked\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\r\n\t\twrapper.find(\"button\").last().simulate(\"click\");\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t\texpect(buttonSpy.firstCall.args[0]).to.deep.equal({\r\n\t\t\tname: \"Test\",\r\n\t\t\tabstractPosition: 0,\r\n\t\t\taddToWorkspace: true,\r\n\t\t\tallowAutoArrange: true,\r\n\t\t\tallowGrouping: true,\r\n\t\t\tallowMaximize: true,\r\n\t\t\tallowMinimize: true,\r\n\t\t\tallowSnapping: true,\r\n\t\t\tallowTabbing: true,\r\n\t\t\tallowTiling: true,\r\n\t\t\talwaysOnTop: false,\r\n\t\t\tappArguments: \"\",\r\n\t\t\tappType: \"web\",\r\n\t\t\tautoConnect: true,\r\n\t\t\tdescription: \"\",\r\n\t\t\tenableAOT: false,\r\n\t\t\tenableTitleBar: true,\r\n\t\t\tgrpc: false,\r\n\t\t\theight: 600,\r\n\t\t\thideClose: false,\r\n\t\t\thideMaximize: false,\r\n\t\t\thideMinimize: false,\r\n\t\t\ticonURL: \"\",\r\n\t\t\tintents: [],\r\n\t\t\tisEvergreen: false,\r\n\t\t\tlaunchableByUser: true,\r\n\t\t\tnative_windowSpawnTimeout: 30,\r\n\t\t\topacity: 1,\r\n\t\t\tpath: \"\",\r\n\t\t\tpersistPath: true,\r\n\t\t\tpersistURL: true,\r\n\t\t\tresizable: true,\r\n\t\t\trules: [],\r\n\t\t\tsecurity: \"trusted\",\r\n\t\t\tsingleton: false,\r\n\t\t\tspawnOnStartup: false,\r\n\t\t\turl: \"http://www.google.com\",\r\n\t\t\twidth: 1280,\r\n\t\t});\r\n\t});\r\n\r\n\tit(\"should click submit button when pressing enter on Name field\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-name\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"keydown\", {\r\n\t\t\t\tkey: \"Enter\",\r\n\t\t\t\tpreventDefault: () => {},\r\n\t\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n\tit(\"should not click submit button when pressing a key other than enter on Name field\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-name\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"keydown\", {\r\n\t\t\t\tkey: \"a\",\r\n\t\t\t\tpreventDefault: () => {},\r\n\t\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.false;\r\n\t});\r\n\tit(\"should not submit when pressing enter on Name field IF the submit button is disabled\", () => {\r\n\t\tconst buttonSpy = sinon.spy(EmptyPage.args as AppEditPageProps, \"submitFn\");\r\n\t\tconst wrapper = mount(<EmptyPage {...(EmptyPage.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-name\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"keydown\", {\r\n\t\t\t\tkey: \"Enter\",\r\n\t\t\t\tpreventDefault: () => {},\r\n\t\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.false;\r\n\t});\r\n\tit(\"should click submit button when pressing enter on App type web field\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-type-web\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"keydown\", {\r\n\t\t\t\tkey: \"Enter\",\r\n\t\t\t\tpreventDefault: () => {},\r\n\t\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n\tit(\"should click submit button when pressing enter on App type native field\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-type-native\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"keydown\", {\r\n\t\t\t\tkey: \"Enter\",\r\n\t\t\t\tpreventDefault: () => {},\r\n\t\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n\tit(\"should click submit button when pressing enter on Web URL field\", () => {\r\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\r\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\r\n\t\twrapper\r\n\t\t\t.find(\"#app-url\")\r\n\t\t\t.at(0)\r\n\t\t\t.simulate(\"keydown\", {\r\n\t\t\t\tkey: \"Enter\",\r\n\t\t\t\tpreventDefault: () => {},\r\n\t\t\t});\r\n\t\texpect(buttonSpy.calledOnce).to.be.true;\r\n\t});\r\n});\r\n"]}
|
|
1
|
+
{"version":3,"file":"AppEditPage.spec.js","sourceRoot":"","sources":["../../../../src/components/smartDesktopDesigner/tests/AppEditPage.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { mount } from \"enzyme\";\nimport { afterEach, describe, it } from \"mocha\";\nimport { expect } from \"chai\";\nimport sinon from \"sinon\";\nimport { AppEditPageProps } from \"../AppEditPage\";\nimport { Page, EmptyPage, NativePage, PageWithIconURL } from \"../stories/AppEditPage.stories\";\n\nconst defaults = {\n\tname: \"Test\",\n\tabstractPosition: 0,\n\taddToWorkspace: true,\n\tallowAutoArrange: true,\n\tallowGrouping: true,\n\tallowMaximize: true,\n\tallowMinimize: true,\n\tallowSnapping: true,\n\tallowTabbing: true,\n\tallowTiling: true,\n\talwaysOnTop: false,\n\tappArguments: \"\",\n\tappType: \"web\",\n\tautoConnect: false,\n\tdescription: \"\",\n\tenableAOT: false,\n\tenableTitleBar: true,\n\theight: 600,\n\thideClose: false,\n\thideMaximize: false,\n\thideMinimize: false,\n\ticonURL: \"\",\n\tintents: [],\n\tisEvergreen: false,\n\tlaunchableByUser: true,\n\tnative_windowSpawnTimeout: 30,\n\topacity: 1,\n\tpath: \"\",\n\tpersistPath: true,\n\tpersistURL: true,\n\tpreloads: [],\n\tresizable: true,\n\trules: [],\n\tsecurity: \"trusted\",\n\tsingleton: false,\n\tspawnOnStartup: false,\n\turl: \"http://www.google.com\",\n\twidth: 1280,\n};\n\nconst testPresetInputValue = (appDataKey: string, selector: string, starter = Page, presetValue = \"Test\") => {\n\tconst args = {\n\t\t...starter.args,\n\t\tappData: {\n\t\t\t...starter.args?.appData,\n\t\t\t[appDataKey]: presetValue,\n\t\t},\n\t} as AppEditPageProps;\n\tconst wrapper = mount(<Page {...args} />);\n\n\texpect(wrapper.find(selector).prop(\"value\")).to.equal(presetValue);\n};\nconst testSaveInputValue = (\n\tappDataKey: string,\n\tselector: string,\n\tnative = false,\n\tnewValue: string | number = \"New value\"\n) => {\n\tconst starter = native ? NativePage : Page;\n\tconst buttonSpy = sinon.spy(starter.args as AppEditPageProps, \"submitFn\");\n\tconst wrapper = mount(<Page {...(starter.args as AppEditPageProps)} />);\n\twrapper\n\t\t.find(selector)\n\t\t.at(0)\n\t\t.simulate(\"change\", {\n\t\t\ttarget: {\n\t\t\t\tvalue: newValue,\n\t\t\t},\n\t\t});\n\n\tconst collection = wrapper.find(\"button\");\n\tcollection.at(collection.length - 1).simulate(\"click\");\n\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t...defaults,\n\t\t...(native\n\t\t\t? {\n\t\t\t\t\tappType: \"native\",\n\t\t\t\t\tpath: \"test.exe\",\n\t\t\t }\n\t\t\t: {}),\n\t\t[appDataKey]: newValue,\n\t});\n};\nconst testSubmitOnEnter = (selector: string, starter = Page) => {\n\tconst buttonSpy = sinon.spy(starter.args as AppEditPageProps, \"submitFn\");\n\tconst wrapper = mount(<Page {...(starter.args as AppEditPageProps)} />);\n\twrapper\n\t\t.find(selector)\n\t\t.at(0)\n\t\t.simulate(\"keydown\", {\n\t\t\tkey: \"Enter\",\n\t\t\tpreventDefault: () => {},\n\t\t});\n\texpect(buttonSpy.calledOnce).to.be.true;\n};\nconst flipCheckbox = (appDataKey: string, label: string, presetValue: boolean) => {\n\tconst args = {\n\t\t...Page.args,\n\t\tappData: {\n\t\t\t...Page.args?.appData,\n\t\t\t[appDataKey]: presetValue,\n\t\t},\n\t} as AppEditPageProps;\n\tconst buttonSpy = sinon.spy(args as AppEditPageProps, \"submitFn\");\n\tconst wrapper = mount(<Page {...args} />);\n\n\twrapper.find(`[role='checkbox'][aria-label='${label}']`).simulate(\"click\");\n\tconst collection = wrapper.find(\"button\");\n\tconst saveButton = collection.at(collection.length - 1);\n\tsaveButton.simulate(\"click\");\n\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t...defaults,\n\t\t[appDataKey]: !presetValue,\n\t});\n};\nconst presetCheckbox = (\n\tappDataKey: string,\n\tlabel: string,\n\tpresetValue: boolean = true,\n\texpectedValue: boolean = true\n) => {\n\tconst args = {\n\t\t...Page.args,\n\t\tappData: {\n\t\t\t...Page.args?.appData,\n\t\t\t[appDataKey]: presetValue,\n\t\t},\n\t} as AppEditPageProps;\n\tconst wrapper = mount(<Page {...args} />);\n\n\texpect(wrapper.find(`[role='checkbox'][aria-label='${label}']`).prop(\"aria-checked\")).to.equal(expectedValue);\n};\nconst checkUniqueRadioButtons = (name: string, numberOfButtons: number, starter = Page) => {\n\tconst wrapper = mount(<Page {...(starter.args as AppEditPageProps)} />);\n\n\tconst locator = `input[type='radio'][name='${name}']`;\n\n\tfor (let i = 0; i < numberOfButtons; i++) {\n\t\twrapper.find(locator).at(i).simulate(\"change\");\n\n\t\tfor (let j = 0; j < numberOfButtons; j++) {\n\t\t\texpect(\n\t\t\t\twrapper.find(locator).at(j).prop(\"checked\"),\n\t\t\t\t`When radio #${i + 1} is clicked, is radio #${j + 1} checked?`\n\t\t\t).to.equal(i === j);\n\t\t}\n\t}\n};\nconst presetRadioButtons = (name: string, presetData: { [key: string]: any }, radioChecked: boolean[]) => {\n\tconst args = {\n\t\t...Page.args,\n\t\tappData: {\n\t\t\t...Page.args?.appData,\n\t\t\t...presetData,\n\t\t},\n\t} as AppEditPageProps;\n\tconst wrapper = mount(<Page {...args} />);\n\n\tradioChecked.forEach((radioButton, key) => {\n\t\texpect(wrapper.find(`input[type='radio'][name='${name}']`).at(key).prop(\"checked\")).to.equal(radioButton);\n\t});\n};\nconst saveRadioButton = (\n\tname: string,\n\tbuttonNumberChecked: number,\n\tsavedValues: { [key: string]: any },\n\tstarter = Page\n) => {\n\tconst buttonSpy = sinon.spy(starter.args as AppEditPageProps, \"submitFn\");\n\tconst wrapper = mount(<Page {...(starter.args as AppEditPageProps)} />);\n\twrapper.find(`input[type='radio'][name='${name}']`).at(buttonNumberChecked).simulate(\"change\");\n\n\tconst collection = wrapper.find(\"button\");\n\tconst saveButton = collection.at(collection.length - 1);\n\tsaveButton.simulate(\"click\");\n\n\tconst savedValue = buttonSpy.args[0][0];\n\tfor (let key in savedValues) {\n\t\t// @ts-ignore\n\t\texpect(savedValue[key]).to.equal(savedValues[key]);\n\t}\n};\n\ndescribe(\"<AppEditPage/>\", () => {\n\tafterEach(() => {\n\t\tsinon.restore();\n\t});\n\n\t// Not using accessibility scans on this page, since the parent component <Applications /> is running them\n\n\tit(\"should call the passed-in cancel function when the cancel button is clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"cancelFn\");\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\tconst collection = wrapper.find(\"button\");\n\t\tcollection.at(collection.length - 2).simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t});\n\tit(\"should call the passed-in Remove Application function when the Remove Application button is clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"removeApplicationFn\");\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\tconst collection = wrapper.find(\"button\");\n\t\tcollection.at(collection.length - 3).simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t\tsinon.restore();\n\t});\n\tit(\"should call the passed-in submit function with relevant data when the submit button is clicked\", () => {\n\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\twrapper.find(\"button\").last().simulate(\"click\");\n\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t\texpect(buttonSpy.firstCall.args[0]).to.deep.equal(defaults);\n\t});\n\n\tdescribe(\"Web versus native apps\", () => {\n\t\tit(\"If App type = web, show web-only apps and don't show native-only apps\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\texpect(wrapper.contains(\"App URL\")).to.be.true;\n\t\t\texpect(wrapper.contains(\"File path\")).to.be.false;\n\t\t\texpect(wrapper.contains(\"Arguments\")).to.be.false;\n\t\t\texpect(wrapper.contains(\"API access\")).to.be.false;\n\t\t\texpect(wrapper.contains(\"Launch timeout\")).to.be.false;\n\t\t\texpect(wrapper.find(\"#persist-url\").exists()).to.be.true;\n\t\t\texpect(wrapper.find(\"#persist-path\").exists()).to.be.false;\n\t\t});\n\t\tit(\"If App type = native, show native-only apps and don't show web-only apps\", () => {\n\t\t\tconst wrapper = mount(<NativePage {...(NativePage.args as AppEditPageProps)} />);\n\t\t\texpect(wrapper.contains(\"App URL\")).to.be.false;\n\t\t\texpect(wrapper.contains(\"File path\")).to.be.true;\n\t\t\texpect(wrapper.contains(\"Arguments\")).to.be.true;\n\t\t\texpect(wrapper.contains(\"API access\")).to.be.true;\n\t\t\texpect(wrapper.contains(\"Launch timeout\")).to.be.true;\n\t\t\texpect(wrapper.find(\"#persist-url\").exists()).to.be.false;\n\t\t\texpect(wrapper.find(\"#persist-path\").exists()).to.be.true;\n\t\t});\n\t});\n\n\tdescribe(\"Name\", () => {\n\t\tafterEach(() => {\n\t\t\tsinon.restore();\n\t\t});\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(\"name\", \"#app-name\");\n\t\t});\n\t\tit(\"should display starting name in Name field, if name field is set\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\"#app-name\").first().prop(\"value\")).to.equal(\"Test\");\n\t\t});\n\t\tit(\"should not display starting name in Name field, if no name field is set\", () => {\n\t\t\tconst wrapper = mount(<EmptyPage {...(EmptyPage.args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\"#app-name\").first().prop(\"value\")).to.equal(\"\");\n\t\t});\n\t\tit(\"should display Name as a valid field, even if the given name is duplicate\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\tconst appName = wrapper.find(\"#app-name\").at(0);\n\t\t\tappName.simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"Used\",\n\t\t\t\t},\n\t\t\t});\n\n\t\t\texpect(wrapper.find(\"#app-name\").at(0).prop(\"value\")).to.equal(\"Used\");\n\t\t\texpect(!!wrapper.find(\"#app-name\").at(0).prop(\"aria-invalid\")).to.be.false;\n\t\t});\n\t\tit(\"should have a disabled Save button if the name field is emptied\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\"#app-name\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t\tit(\"should click submit button when pressing enter on Name field\", () => {\n\t\t\ttestSubmitOnEnter(\"#app-name\");\n\t\t});\n\t\tit(\"should not click submit button when pressing a key other than enter on Name field\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\"#app-name\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"keydown\", {\n\t\t\t\t\tkey: \"a\",\n\t\t\t\t\tpreventDefault: () => {},\n\t\t\t\t});\n\t\t\texpect(buttonSpy.calledOnce).to.be.false;\n\t\t});\n\t\tit(\"should not submit when pressing enter on Name field IF the submit button is disabled\", () => {\n\t\t\tconst buttonSpy = sinon.spy(EmptyPage.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<EmptyPage {...(EmptyPage.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\"#app-name\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"keydown\", {\n\t\t\t\t\tkey: \"Enter\",\n\t\t\t\t\tpreventDefault: () => {},\n\t\t\t\t});\n\t\t\texpect(buttonSpy.calledOnce).to.be.false;\n\t\t});\n\t});\n\tdescribe(\"Icon URL\", () => {\n\t\tconst appDataKey = \"iconURL\";\n\t\tconst selector = \"#app-icon-url\";\n\t\tconst imageSelector = \".app-icon\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector);\n\t\t});\n\t\tit(\"should submit on enter\", () => {\n\t\t\ttestSubmitOnEnter(selector);\n\t\t});\n\t\tit(\"should display icon when icon url is provided\", () => {\n\t\t\tconst wrapper = mount(<PageWithIconURL {...(PageWithIconURL.args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(imageSelector).exists()).to.be.true;\n\t\t});\n\t\tit(\"should not display icon when no icon url is provided\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(imageSelector).exists()).to.be.false;\n\t\t});\n\t\tit(\"when icon url field is emptied, the icon should disappear\", () => {\n\t\t\tconst wrapper = mount(<PageWithIconURL {...(PageWithIconURL.args as AppEditPageProps)} />);\n\n\t\t\twrapper.find(selector).simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"\",\n\t\t\t\t},\n\t\t\t});\n\n\t\t\texpect(wrapper.find(imageSelector).exists()).to.be.false;\n\t\t});\n\t\tit(\"when icon url field gets a value, the icon should start displaying\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper.find(selector).simulate(\"change\", {\n\t\t\t\ttarget: {\n\t\t\t\t\tvalue: \"https://assets.finsemble.com/components/fdc3-workbench/fdc3-icon-256.png\",\n\t\t\t\t},\n\t\t\t});\n\n\t\t\texpect(wrapper.find(imageSelector).exists()).to.be.true;\n\t\t});\n\t});\n\tdescribe(\"API Access\", () => {\n\t\tafterEach(() => {\n\t\t\tsinon.restore();\n\t\t});\n\n\t\tconst name = \"api-access\";\n\t\tconst nativeParams = {\n\t\t\tappType: \"native\",\n\t\t};\n\t\tconst assimilationParams = {\n\t\t\tappType: \"assimilation\",\n\t\t};\n\t\tit.skip(\"should display correctly when preset: With API Access\", () => {\n\t\t\tpresetRadioButtons(name, nativeParams, [true, false]);\n\t\t});\n\t\tit.skip(\"should display correctly when preset: Without API Access\", () => {\n\t\t\tpresetRadioButtons(name, assimilationParams, [false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: With API Access\", () => {\n\t\t\tsaveRadioButton(name, 0, nativeParams, NativePage);\n\t\t});\n\t\tit(\"should save correctly when edited: Without API Access\", () => {\n\t\t\tsaveRadioButton(name, 1, assimilationParams, NativePage);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 2, NativePage);\n\t\t});\n\t\tit(\"should submit on enter: Yes\", () => {\n\t\t\ttestSubmitOnEnter(\"#api-access-yes\", NativePage);\n\t\t});\n\t\tit(\"should submit on enter: No\", () => {\n\t\t\ttestSubmitOnEnter(\"#api-access-no\", NativePage);\n\t\t});\n\t});\n\tdescribe(\"App URL\", () => {\n\t\tconst appDataKey = \"url\";\n\t\tconst selector = \"#app-url\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector);\n\t\t});\n\t\tit.skip(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector);\n\t\t});\n\t\tit(\"should submit on enter\", () => {\n\t\t\ttestSubmitOnEnter(selector);\n\t\t});\n\t\tit(\"should have a disabled Save button if the App URL field is emptied\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\"#app-url\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t\tit(\"should display invalid state for App URL if provided URL is invalid\", () => {\n\t\t\tconst wrapper = mount(<EmptyPage {...(EmptyPage.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(\"#app-url\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"invalid\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(\"#app-url\").at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should click submit button when pressing enter on App URL field\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\"#app-url\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"keydown\", {\n\t\t\t\t\tkey: \"Enter\",\n\t\t\t\t\tpreventDefault: () => {},\n\t\t\t\t});\n\t\t\texpect(buttonSpy.calledOnce).to.be.true;\n\t\t});\n\t});\n\tdescribe.skip(\"File path\", () => {\n\t\t// Couldn't get tests for manipulating input[type=file] to work right\n\t\t// should save correctly when edited\n\t\t// should display pre-set values\n\t\t// is required (enables/disables Save button when invalid)\n\t\t// shows invalid state\n\t});\n\tdescribe(\"Arguments\", () => {\n\t\tconst appDataKey = \"appArguments\";\n\t\tconst selector = \"#app-arguments\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector, true);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector, NativePage);\n\t\t});\n\t\tit(\"should submit on enter\", () => {\n\t\t\ttestSubmitOnEnter(selector, NativePage);\n\t\t});\n\t\tit(\"is not required (Save button is enabled if empty)\", () => {\n\t\t\tconst wrapper = mount(<NativePage {...(NativePage.args as AppEditPageProps)} />);\n\t\t\texpect(wrapper.find(selector).prop(\"value\")).to.be.empty;\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tconst saveButton = collection.at(collection.length - 1);\n\t\t\texpect(saveButton.prop(\"disabled\")).to.be.false;\n\t\t});\n\t});\n\tdescribe(\"Description\", () => {\n\t\tconst appDataKey = \"description\";\n\t\tconst selector = \"#app-description\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector);\n\t\t});\n\t\tit(\"is not required (Save button is enabled if empty)\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\texpect(wrapper.find(selector).prop(\"value\")).to.be.empty;\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tconst saveButton = collection.at(collection.length - 1);\n\t\t\texpect(saveButton.prop(\"disabled\")).to.be.false;\n\t\t});\n\t});\n\tdescribe(\"Select Connect\", () => {\n\t\t// @todo write test: should save correctly when edited (radio buttons and box) - issue with how <AppEditAccess /> is set up, so it always appears empty in tests\n\t\tit(\"should display preset value (undefined rules)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\trules: undefined,\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\"input[name='interop-trust'][value='true']\").prop(\"checked\"),\n\t\t\t\t\"Radio button 'trust all apps' is checked\"\n\t\t\t).to.be.true;\n\t\t\texpect(wrapper.find(\".app-edit-access\").exists(), \"Display SelectConnect listbox\").to.be.false;\n\t\t});\n\t\tit(\"should display preset value (empty rules)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\trules: [],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\"input[name='interop-trust'][value='true']\").prop(\"checked\"),\n\t\t\t\t\"Radio button 'trust all apps' is checked\"\n\t\t\t).to.be.true;\n\t\t\texpect(wrapper.find(\".app-edit-access\").exists(), \"Display SelectConnect listbox\").to.be.false;\n\t\t});\n\t\tit(\"should display preset value (rules without authorize)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\trules: [\n\t\t\t\t\t\t{ contextType: \"fdc3.instrument\", cc: \"#Workspace\" },\n\t\t\t\t\t\t{ contextType: \"layout\", fwd: \"#Workspace\" },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\"input[name='interop-trust'][value='true']\").prop(\"checked\"),\n\t\t\t\t\"Radio button 'trust all apps' is checked\"\n\t\t\t).to.be.true;\n\t\t\texpect(wrapper.find(\".app-edit-access\").exists(), \"Display SelectConnect listbox\").to.be.false;\n\t\t});\n\t\tit(\"should display preset value (rules with authorize)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\trules: [{ authorize: [{ name: \"ChartIQ Example App\" }] }],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\"input[name='interop-trust'][value='false']\").prop(\"checked\"),\n\t\t\t\t\"Radio button 'trust selected apps' is checked\"\n\t\t\t).to.be.true;\n\t\t\texpect(wrapper.find(\".app-edit-access\").exists(), \"Display SelectConnect listbox\").to.be.true;\n\t\t\t// AppEditAccess is tested independently (and can't be tested on this level because it comes up as empty because it doesn't have a list of apps)\n\t\t});\n\t\tit(\"should display preset value (rules with empty authorize)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\trules: [{ authorize: [] }],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(\n\t\t\t\twrapper.find(\"input[name='interop-trust'][value='false']\").prop(\"checked\"),\n\t\t\t\t\"Radio button 'trust selected apps' is checked\"\n\t\t\t).to.be.true;\n\t\t\texpect(wrapper.find(\".app-edit-access\").exists(), \"Display SelectConnect listbox\").to.be.true;\n\t\t\t// AppEditAccess is tested independently\n\t\t});\n\t\tit.skip(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(\"interop-trust\", 2);\n\t\t});\n\t});\n\tdescribe(\"Width\", () => {\n\t\tconst appDataKey = \"width\";\n\t\tconst selector = \"#app-width\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector, false, 200);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector, Page, \"200\");\n\t\t});\n\t\tit(\"should display invalid state for width if provided a negative number\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"-999\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(selector).at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should display invalid state for width if provided an empty value\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(selector).at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should display invalid state for non-numeric value\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"abc\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(selector).at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should have a disabled Save button if the width field is emptied\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t\tit(\"should have a disabled Save button if the width field is negative\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"-999\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t});\n\tdescribe(\"Height\", () => {\n\t\tconst appDataKey = \"height\";\n\t\tconst selector = \"#app-height\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector, false, 200);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector, Page, \"200\");\n\t\t});\n\t\tit(\"should display invalid state for width if provided a negative number\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"-999\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(selector).at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should display invalid state for width if provided an empty value\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(selector).at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should display invalid state for non-numeric value\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"abc\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\texpect(wrapper.find(\"#app-height\").at(0).prop(\"aria-invalid\")).to.be.true;\n\t\t});\n\t\tit(\"should have a disabled Save button if the height field is emptied\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t\tit(\"should have a disabled Save button if the height field is negative\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(selector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"-999\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(\"button\").last().prop(\"disabled\")).to.be.true;\n\t\t});\n\t});\n\tdescribe(\"Lock dimensions\", () => {\n\t\tconst label = \"Lock dimensions\";\n\t\tconst appDataKey = \"resizable\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, false);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Position\", () => {\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\n\t\t\twrapper.find(\".position-entry [role='combobox']\").simulate(\"click\");\n\t\t\twrapper.find(\".position-entry .finsemble-dropdown__btn-option\").at(4).simulate(\"click\");\n\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tcollection.at(collection.length - 1).simulate(\"click\");\n\t\t\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t\t\t...defaults,\n\t\t\t\tabstractPosition: 4,\n\t\t\t});\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\tabstractPosition: 5,\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\".position-entry .finsemble-dropdown__btn-label\").text()).to.equal(\"Center\");\n\t\t});\n\t});\n\tdescribe(\"Opacity\", () => {\n\t\tconst appDataKey = \"opacity\";\n\t\tconst rangeSelector = \".app-edit-range\";\n\t\tconst inputSelector = \"#app-opacity\";\n\t\tit(\"should display correctly when preset (input range)\", () => {\n\t\t\ttestPresetInputValue(appDataKey, rangeSelector, Page, \"30\");\n\t\t});\n\t\tit(\"should display correctly when preset (input field)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\t[appDataKey]: 0.3,\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...args} />);\n\n\t\t\texpect(wrapper.find(inputSelector).prop(\"value\")).to.equal(30);\n\t\t});\n\t\tit(\"should save correctly when edited (input range)\", () => {\n\t\t\ttestSaveInputValue(appDataKey, rangeSelector, false, 30);\n\t\t});\n\t\tit(\"should save correctly when edited (input field) - value saved is 1/100 of what is entered\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(inputSelector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: 30,\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tcollection.at(collection.length - 1).simulate(\"click\");\n\t\t\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t\t\t...defaults,\n\t\t\t\t[appDataKey]: 0.3,\n\t\t\t});\n\t\t});\n\t\tit(\"When editing the range field, the text box updates\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(inputSelector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: 70,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(rangeSelector).prop(\"value\")).to.equal(0.7);\n\t\t});\n\t\tit(\"When editing the text box, the range field updates\", () => {\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(rangeSelector)\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: 0.7,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\texpect(wrapper.find(inputSelector).prop(\"value\")).to.equal(70);\n\t\t});\n\t});\n\tdescribe(\"Auto arrange\", () => {\n\t\tconst label = \"Auto arrange\";\n\t\tconst appDataKey = \"allowAutoArrange\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Grouping\", () => {\n\t\tconst label = \"Grouping\";\n\t\tconst appDataKey = \"allowGrouping\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Snapping\", () => {\n\t\tconst label = \"Snapping\";\n\t\tconst appDataKey = \"allowSnapping\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Tabs\", () => {\n\t\tconst label = \"Tabs\";\n\t\tconst appDataKey = \"allowTabbing\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Tiling\", () => {\n\t\tconst label = \"Tiling\";\n\t\tconst appDataKey = \"allowTiling\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Show title bar\", () => {\n\t\tconst label = \"Show title bar\";\n\t\tconst appDataKey = \"enableTitleBar\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Always on top\", () => {\n\t\tconst name = \"alwaysOnTop\";\n\t\tconst enableParams = {\n\t\t\talwaysOnTop: true,\n\t\t\tenableAOT: false,\n\t\t};\n\t\tconst showParams = {\n\t\t\talwaysOnTop: false,\n\t\t\tenableAOT: true,\n\t\t};\n\t\tconst disableParams = {\n\t\t\talwaysOnTop: false,\n\t\t\tenableAOT: false,\n\t\t};\n\t\tit(\"should display correctly when preset: Enable\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Show in titlebar\", () => {\n\t\t\tpresetRadioButtons(name, showParams, [false, true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Disable\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Enable\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Show in titlebar\", () => {\n\t\t\tsaveRadioButton(name, 1, showParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Disable\", () => {\n\t\t\tsaveRadioButton(name, 2, disableParams);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 3);\n\t\t});\n\t});\n\tdescribe(\"Minimize\", () => {\n\t\tconst name = \"minimize\";\n\t\tconst enableParams = {\n\t\t\tallowMinimize: true,\n\t\t\thideMinimize: false,\n\t\t};\n\t\tconst hideParams = {\n\t\t\tallowMinimize: true,\n\t\t\thideMinimize: true,\n\t\t};\n\t\tconst disableParams = {\n\t\t\tallowMinimize: false,\n\t\t\thideMinimize: true,\n\t\t};\n\t\tit(\"should display correctly when preset: Enable\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Hide from titlebar\", () => {\n\t\t\tpresetRadioButtons(name, hideParams, [false, true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Disable\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Enable\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Hide from titlebar\", () => {\n\t\t\tsaveRadioButton(name, 1, hideParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Disable\", () => {\n\t\t\tsaveRadioButton(name, 2, disableParams);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 3);\n\t\t});\n\t});\n\tdescribe(\"Maximize\", () => {\n\t\tconst name = \"maximize\";\n\t\tconst enableParams = {\n\t\t\tallowMaximize: true,\n\t\t\thideMaximize: false,\n\t\t};\n\t\tconst hideParams = {\n\t\t\tallowMaximize: true,\n\t\t\thideMaximize: true,\n\t\t};\n\t\tconst disableParams = {\n\t\t\tallowMaximize: false,\n\t\t\thideMaximize: true,\n\t\t};\n\t\tit(\"should display correctly when preset: Enable\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Hide from titlebar\", () => {\n\t\t\tpresetRadioButtons(name, hideParams, [false, true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Disable\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Enable\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Hide from titlebar\", () => {\n\t\t\tsaveRadioButton(name, 1, hideParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Disable\", () => {\n\t\t\tsaveRadioButton(name, 2, disableParams);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 3);\n\t\t});\n\t});\n\tdescribe(\"Close\", () => {\n\t\tconst name = \"close\";\n\t\tconst enableParams = {\n\t\t\thideClose: false,\n\t\t};\n\t\tconst disableParams = {\n\t\t\thideClose: true,\n\t\t};\n\t\tit(\"should display correctly when preset: Enable\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Disable\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Enable\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit(\"should save correctly when edited: Disable\", () => {\n\t\t\tsaveRadioButton(name, 1, disableParams);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 2);\n\t\t});\n\t});\n\tdescribe(\"Display linker\", () => {\n\t\tconst name = \"linker\";\n\t\tconst enableParams = {\n\t\t\tautoConnect: true,\n\t\t};\n\t\tconst disableParams = {\n\t\t\tautoConnect: false,\n\t\t};\n\t\tit(\"should display correctly when preset: Always\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: FDC3 API use\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Always\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit(\"should save correctly when edited: FDC3 API use\", () => {\n\t\t\tsaveRadioButton(name, 1, disableParams);\n\t\t});\n\t\tit(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 2);\n\t\t});\n\t});\n\tdescribe(\"Intents\", () => {\n\t\tit(\"should save correctly when edited (adding an intent)\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\".inputTable input\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"ViewChart\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\twrapper\n\t\t\t\t.find(\".inputTable input\")\n\t\t\t\t.at(1)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"View Chart\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\twrapper\n\t\t\t\t.find(\".inputTable input\")\n\t\t\t\t.at(2)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"fdc3.instrument\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tcollection.at(collection.length - 1).simulate(\"click\");\n\t\t\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t\t\t...defaults,\n\t\t\t\tintents: [{ name: \"ViewChart\", displayName: \"View Chart\", contexts: [\"fdc3.instrument\"] }],\n\t\t\t});\n\t\t});\n\t\tit(\"should save correctly when edited (adding just an intent name)\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst wrapper = mount(<Page {...(Page.args as AppEditPageProps)} />);\n\t\t\twrapper\n\t\t\t\t.find(\".inputTable input\")\n\t\t\t\t.at(0)\n\t\t\t\t.simulate(\"change\", {\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tvalue: \"ViewChart\",\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tcollection.at(collection.length - 1).simulate(\"click\");\n\t\t\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t\t\t...defaults,\n\t\t\t\tintents: [{ name: \"ViewChart\", displayName: \"\", contexts: [\"\"] }],\n\t\t\t});\n\t\t});\n\t\tit(\"should save correctly when edited (removing an intent)\", () => {\n\t\t\tconst buttonSpy = sinon.spy(Page.args as AppEditPageProps, \"submitFn\");\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\tintents: [{ name: \"ViewChart\", displayName: \"View Chart\", contexts: [\"fdc3.instrument\"] }],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\t\t\twrapper.find(\".inputTable button[title='Remove row']\").at(0).simulate(\"click\");\n\n\t\t\tconst collection = wrapper.find(\"button\");\n\t\t\tcollection.at(collection.length - 1).simulate(\"click\");\n\t\t\texpect(buttonSpy.args[0][0]).to.deep.equal({\n\t\t\t\t...defaults,\n\t\t\t\tintents: [],\n\t\t\t});\n\t\t});\n\t\tit(\"should display preset values (empty list of intents)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\tintents: [],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\".inputTable tr\"), \"List of rows\").to.be.lengthOf(2);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(0).prop(\"value\"), \"Intent table, input field 1\").to.be.empty;\n\t\t\texpect(wrapper.find(\".inputTable input\").at(1).prop(\"value\"), \"Intent table, input field 2\").to.be.empty;\n\t\t\texpect(wrapper.find(\".inputTable input\").at(2).prop(\"value\"), \"Intent table, input field 3\").to.be.empty;\n\t\t});\n\t\tit(\"should display preset values (with 1 intent)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\tintents: [{ name: \"ViewChart\", displayName: \"View Chart\", contexts: [\"fdc3.instrument\"] }],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\".inputTable tr\"), \"List of rows\").to.be.lengthOf(3);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(0).prop(\"value\"), \"Intent table, input field 1\").to.equal(\n\t\t\t\t\"ViewChart\"\n\t\t\t);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(1).prop(\"value\"), \"Intent table, input field 2\").to.equal(\n\t\t\t\t\"View Chart\"\n\t\t\t);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(2).prop(\"value\"), \"Intent table, input field 3\").to.equal(\n\t\t\t\t\"fdc3.instrument\"\n\t\t\t);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(3).prop(\"value\"), \"Intent table, input field 4\").to.be.empty;\n\t\t\texpect(wrapper.find(\".inputTable input\").at(4).prop(\"value\"), \"Intent table, input field 5\").to.be.empty;\n\t\t\texpect(wrapper.find(\".inputTable input\").at(5).prop(\"value\"), \"Intent table, input field 6\").to.be.empty;\n\t\t});\n\t\tit(\"should display preset values (multiple contexts for an intent)\", () => {\n\t\t\tconst args = {\n\t\t\t\t...Page.args,\n\t\t\t\tappData: {\n\t\t\t\t\t...Page.args?.appData,\n\t\t\t\t\tintents: [{ name: \"ViewChart\", displayName: \"View Chart\", contexts: [\"fdc3.instrument\", \"custom.symbol\"] }],\n\t\t\t\t},\n\t\t\t} as AppEditPageProps;\n\t\t\tconst wrapper = mount(<Page {...(args as AppEditPageProps)} />);\n\n\t\t\texpect(wrapper.find(\".inputTable tr\"), \"List of rows\").to.be.lengthOf(3);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(0).prop(\"value\"), \"Intent table, input field 1\").to.equal(\n\t\t\t\t\"ViewChart\"\n\t\t\t);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(1).prop(\"value\"), \"Intent table, input field 2\").to.equal(\n\t\t\t\t\"View Chart\"\n\t\t\t);\n\t\t\texpect(wrapper.find(\".inputTable input\").at(2).prop(\"value\"), \"Intent table, input field 3\").to.equal(\n\t\t\t\t\"fdc3.instrument, custom.symbol\"\n\t\t\t);\n\t\t});\n\t});\n\tdescribe(\"Set security\", () => {\n\t\tconst name = \"security\";\n\t\tconst enableParams = {\n\t\t\tsecurity: \"trusted\",\n\t\t};\n\t\tconst disableParams = {\n\t\t\tsecurity: \"untrusted\",\n\t\t};\n\t\tit(\"should display correctly when preset: Trusted\", () => {\n\t\t\tpresetRadioButtons(name, enableParams, [true, false]);\n\t\t});\n\t\tit(\"should display correctly when preset: Untrusted\", () => {\n\t\t\tpresetRadioButtons(name, disableParams, [false, true]);\n\t\t});\n\t\tit(\"should save correctly when edited: Trusted\", () => {\n\t\t\tsaveRadioButton(name, 0, enableParams);\n\t\t});\n\t\tit.skip(\"should save correctly when edited: Untrusted\", () => {\n\t\t\tsaveRadioButton(name, 1, disableParams);\n\t\t});\n\t\tit.skip(\"confirm that the radio buttons stay independent\", () => {\n\t\t\tcheckUniqueRadioButtons(name, 2);\n\t\t});\n\t});\n\tdescribe(\"Launch timeout\", () => {\n\t\tconst appDataKey = \"native_windowSpawnTimeout\";\n\t\tconst selector = \"#launch-timeout\";\n\t\tit(\"should save correctly when edited\", () => {\n\t\t\ttestSaveInputValue(appDataKey, selector, true, 200);\n\t\t});\n\t\tit(\"should display pre-set values\", () => {\n\t\t\ttestPresetInputValue(appDataKey, selector, NativePage, \"200\");\n\t\t});\n\t});\n\tdescribe(\"Only one instance\", () => {\n\t\tconst label = \"Only one instance\";\n\t\tconst appDataKey = \"singleton\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Launch at startup\", () => {\n\t\tconst label = \"Launch at startup\";\n\t\tconst appDataKey = \"spawnOnStartup\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Include in Apps menu\", () => {\n\t\tconst label = \"Include in Apps menu\";\n\t\tconst appDataKey = \"launchableByUser\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Persist across workspaces\", () => {\n\t\tconst label = \"Persist across workspaces\";\n\t\tconst appDataKey = \"isEvergreen\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Add to workspaces\", () => {\n\t\tconst label = \"Add to workspace\";\n\t\tconst appDataKey = \"addToWorkspace\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n\tdescribe(\"Persist the location\", () => {\n\t\tconst label = \"Persist the location\";\n\t\tconst appDataKey = \"persistURL\";\n\t\tit(\"should display pre-set value: checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, true, true);\n\t\t});\n\t\tit(\"should display pre-set value: not checked\", () => {\n\t\t\tpresetCheckbox(appDataKey, label, false, false);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, true);\n\t\t});\n\t\tit(\"should save correctly (change to true)\", () => {\n\t\t\tflipCheckbox(appDataKey, label, false);\n\t\t});\n\t});\n});\n"]}
|
|
File without changes
|