dashboard-shell-shell 1.0.122 → 1.0.1000000081
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/.DS_Store +0 -0
- package/assets/brand/harvester/favicon.png +0 -0
- package/assets/brand/suse/favicon.png +0 -0
- package/assets/icons/iconfont.css +19 -3
- package/assets/icons/iconfont.js +1 -1
- package/assets/icons/iconfont.json +28 -0
- package/assets/icons/iconfont.ttf +0 -0
- package/assets/icons/iconfont.woff +0 -0
- package/assets/icons/iconfont.woff2 +0 -0
- package/assets/images/pl/half-logo.svg +2 -23
- package/assets/styles/base/_functions.scss +0 -0
- package/assets/styles/base/_mixins.scss +0 -0
- package/assets/styles/base/_variables.scss +1 -1
- package/assets/styles/global/_labeled-input.scss +0 -1
- package/assets/styles/global/_layout.scss +1 -1
- package/assets/styles/global/_select.scss +4 -2
- package/assets/styles/global/_table.scss +5 -0
- package/assets/styles/vendor/vue-select.scss +2 -1
- package/assets/translations/en-us.yaml +1 -1
- package/assets/translations/zh-hans.yaml +25 -15
- package/chart/monitoring/index.vue +3 -1
- package/chart/monitoring/prometheus/index.vue +13 -10
- package/cloud-credential/aws.vue +2 -0
- package/components/ActionDropdown.vue +1 -1
- package/components/ActionDropdownShell.vue +71 -0
- package/components/ActionMenu.vue +2 -2
- package/components/ActionMenuShell.vue +3 -0
- package/components/AppModal.vue +84 -8
- package/components/AssignTo.vue +25 -11
- package/components/AsyncButton.vue +24 -7
- package/components/BannerGraphic.vue +1 -0
- package/components/ButtonDropdown.vue +26 -4
- package/components/ButtonGroup.vue +4 -0
- package/components/ButtonMultiAction.vue +1 -0
- package/components/CodeMirror.vue +19 -6
- package/components/CommunityLinks.vue +3 -3
- package/components/ConsumptionGauge.vue +24 -5
- package/components/CopyToClipboardText.vue +2 -1
- package/components/CruResource.vue +13 -7
- package/components/CruResourceFooter.vue +2 -2
- package/components/DashboardOptions.vue +29 -17
- package/components/DetailText.vue +5 -0
- package/components/DisableAuthProviderModal.vue +1 -0
- package/components/DotState.vue +84 -0
- package/components/ExplorerMembers.vue +1 -1
- package/components/ExplorerProjectsNamespaces.vue +89 -16
- package/components/FixedBanner.vue +19 -12
- package/components/GlobalRoleBindings.vue +5 -1
- package/components/GrafanaDashboard.vue +4 -4
- package/components/GrowlManager.vue +4 -1
- package/components/HardwareResourceGauge.vue +39 -3
- package/components/InfoBox.vue +3 -3
- package/components/InputOrDisplay.vue +28 -2
- package/components/LabelValue.vue +20 -1
- package/components/LandingPagePreference.vue +5 -3
- package/components/LocaleSelector.vue +39 -93
- package/components/ModalManager.vue +55 -0
- package/components/ModalWithCard.vue +13 -3
- package/components/MoveModal.vue +1 -0
- package/components/PodSecurityAdmission.vue +1 -1
- package/components/PromptChangePassword.vue +1 -1
- package/components/PromptModal.vue +16 -3
- package/components/PromptRemove.vue +29 -9
- package/components/PromptRestore.vue +1 -0
- package/components/ResourceCancelModal.vue +1 -0
- package/components/ResourceDetail/Masthead.vue +52 -17
- package/components/ResourceDetail/__tests__/Masthead.test.ts +5 -1
- package/components/ResourceDetail/index.vue +54 -16
- package/components/ResourceList/Masthead.vue +9 -4
- package/components/ResourceList/index.vue +4 -3
- package/components/ResourceTable.vue +1 -0
- package/components/SideNav.vue +20 -15
- package/components/SlideInPanelManager.vue +126 -0
- package/components/SortableTable/THead.vue +10 -4
- package/components/SortableTable/actions.js +1 -1
- package/components/SortableTable/index.vue +540 -553
- package/components/SortableTable/selection.js +2 -13
- package/components/StatusBadge.vue +77 -0
- package/components/Tabbed/Tab.vue +3 -3
- package/components/Tabbed/index.vue +47 -29
- package/components/Wizard.vue +2 -2
- package/components/YamlEditor.vue +1 -1
- package/components/__tests__/AsyncButton.test.ts +2 -2
- package/components/__tests__/FixedBanner.test.ts +3 -3
- package/components/__tests__/ModalManager.spec.ts +176 -0
- package/components/__tests__/SlideInPanelManager.spec.ts +166 -0
- package/components/auth/Principal.vue +10 -3
- package/components/auth/RoleDetailEdit.vue +1 -1
- package/components/auth/__tests__/RoleDetailEdit.test.ts +3 -2
- package/components/form/ArrayList.vue +123 -85
- package/components/form/ArrayListGrouped.vue +10 -2
- package/components/form/ArrayListSelect.vue +1 -1
- package/components/form/Command.vue +6 -15
- package/components/form/EnvVars.vue +16 -8
- package/components/form/Footer.vue +10 -7
- package/components/form/HealthCheck.vue +3 -3
- package/components/form/HookOption.vue +11 -16
- package/components/form/InputWithSelect.vue +6 -5
- package/components/form/KeyValue.vue +39 -10
- package/components/form/LabeledSelect.vue +73 -77
- package/components/form/Labels.vue +6 -3
- package/components/form/LifecycleHooks.vue +3 -3
- package/components/form/MatchExpressions.vue +42 -17
- package/components/form/NameNsDescription.vue +163 -116
- package/components/form/Networking.vue +20 -12
- package/components/form/NodeAffinity.vue +31 -23
- package/components/form/NodeScheduling.vue +13 -3
- package/components/form/Password.vue +11 -5
- package/components/form/PodAffinity.vue +47 -48
- package/components/form/Probe.vue +68 -66
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +5 -7
- package/components/form/ResourceQuota/Project.vue +9 -5
- package/components/form/ResourceQuota/ProjectRow.vue +4 -6
- package/components/form/ResourceSelector.vue +7 -9
- package/components/form/SSHKnownHosts/KnownHostsEditDialog.vue +6 -3
- package/components/form/SSHKnownHosts/__tests__/KnownHostsEditDialog.test.ts +12 -1
- package/components/form/SSHKnownHosts/index.vue +16 -2
- package/components/form/Security.vue +54 -56
- package/components/form/Select.vue +44 -7
- package/components/form/ShellInput.vue +5 -1
- package/components/form/SimpleSecretSelector.vue +29 -9
- package/components/form/Tolerations.vue +5 -1
- package/components/form/UnitInput.vue +10 -5
- package/components/form/ValueFromResource.vue +134 -121
- package/components/form/WorkloadPorts.vue +18 -18
- package/components/form/__tests__/ArrayList.test.ts +5 -2
- package/components/form/__tests__/MatchExpressions.test.ts +12 -12
- package/components/form/__tests__/NameNsDescription.test.ts +115 -14
- package/components/form/__tests__/Probe.test.ts +12 -8
- package/components/form/__tests__/SSHKnownHosts.test.ts +11 -0
- package/components/form/__tests__/Select.test.ts +37 -0
- package/components/form/__tests__/UnitInput.test.ts +4 -5
- package/components/formatter/BadgeStateFormatter.vue +8 -5
- package/components/formatter/InternalExternalIP.vue +2 -0
- package/components/formatter/LiveDate.vue +3 -3
- package/components/formatter/SecretData.vue +20 -7
- package/components/nav/Favorite.vue +5 -1
- package/components/nav/Group.vue +18 -4
- package/components/nav/Header.vue +39 -13
- package/components/nav/Jump.vue +7 -0
- package/components/nav/NamespaceFilter.vue +21 -11
- package/components/nav/Pinned.vue +1 -1
- package/components/nav/TopLevelMenu.vue +5 -17
- package/components/nav/Type.vue +30 -33
- package/components/nav/__tests__/TopLevelMenu.test.ts +0 -40
- package/components/rancherResourceDetail/Masthead.vue +769 -0
- package/components/rancherResourceDetail/__tests__/Masthead.test.ts +65 -0
- package/components/rancherResourceDetail/index.vue +591 -0
- package/components/rancherResourceList/Masthead-btn.vue +225 -0
- package/components/rancherResourceList/Masthead.vue +375 -0
- package/components/rancherResourceList/ResourceLoadingIndicator.vue +140 -0
- package/components/rancherResourceList/index.vue +307 -0
- package/components/rancherResourceList/resource-list.config.js +7 -0
- package/components/rancherResourceTable.vue +783 -0
- package/components/rancherSortableTable/THead.vue +561 -0
- package/components/rancherSortableTable/actions.js +153 -0
- package/components/rancherSortableTable/advanced-filtering.js +272 -0
- package/components/rancherSortableTable/debug.js +117 -0
- package/components/rancherSortableTable/filtering.js +290 -0
- package/components/rancherSortableTable/grouping.js +48 -0
- package/components/rancherSortableTable/index.vue +2712 -0
- package/components/rancherSortableTable/paging.js +155 -0
- package/components/rancherSortableTable/selection.js +629 -0
- package/components/rancherSortableTable/sortable-config.ts +4 -0
- package/components/rancherSortableTable/sorting.js +129 -0
- package/components/templates/blank.vue +4 -1
- package/components/templates/default.vue +8 -0
- package/components/templates/home.vue +10 -1
- package/components/templates/plain.vue +10 -1
- package/composables/focusTrap.ts +11 -3
- package/composables/useRuntimeFlag.ts +29 -0
- package/config/private-label.js +15 -10
- package/config/router/routes.js +21 -13
- package/config/store.js +4 -0
- package/config/table-headers.js +3 -2
- package/config/uiplugins.js +5 -1
- package/core/plugin-routes.ts +5 -115
- package/core/plugins.js +1 -1
- package/core/types.ts +23 -2
- package/detail/__tests__/autoscaling.horizontalpodautoscaler.test.ts +84 -23
- package/detail/autoscaling.horizontalpodautoscaler/index.vue +13 -3
- package/detail/provisioning.cattle.io.cluster.vue +72 -6
- package/dialog/AddCustomBadgeDialog.vue +1 -0
- package/dialog/DeactivateDriverDialog.vue +5 -4
- package/dialog/ForceMachineRemoveDialog.vue +6 -3
- package/dialog/GitRepoForceUpdateDialog.vue +1 -1
- package/dialog/ScalePoolDownDialog.vue +2 -2
- package/edit/__tests__/monitoring.coreos.com.prometheusrule.test.ts +16 -3
- package/edit/auth/__tests__/oidc.test.ts +162 -88
- package/edit/auth/azuread.vue +2 -1
- package/edit/auth/github.vue +1 -1
- package/edit/auth/googleoauth.vue +5 -1
- package/edit/auth/ldap/__tests__/config.test.ts +0 -14
- package/edit/auth/ldap/config.vue +0 -24
- package/edit/auth/ldap/index.vue +1 -1
- package/edit/auth/oidc.vue +39 -6
- package/edit/auth/saml.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +5 -2
- package/edit/cloudcredential.vue +24 -9
- package/edit/fleet.cattle.io.clustergroup.vue +5 -3
- package/edit/fleet.cattle.io.gitrepo.vue +2 -0
- package/edit/logging-flow/Match.vue +1 -1
- package/edit/logging.banzaicloud.io.output/__tests__/logging.banzaicloud.io.output.test.ts +40 -9
- package/edit/management.cattle.io.user.vue +28 -3
- package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
- package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +36 -12
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
- package/edit/monitoring.coreos.com.receiver/auth.vue +29 -29
- package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
- package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
- package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
- package/edit/namespace.vue +1 -2
- package/edit/networking.k8s.io.ingress/IngressClass.vue +7 -3
- package/edit/networking.k8s.io.ingress/RulePath.vue +1 -1
- package/edit/networking.k8s.io.ingress/__tests__/IngressClass.test.ts +58 -0
- package/edit/persistentvolume/__tests__/persistentvolume.test.ts +14 -2
- package/edit/provisioning.cattle.io.cluster/CustomCommand.vue +4 -1
- package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +26 -9
- package/edit/provisioning.cattle.io.cluster/__tests__/Advanced.test.ts +8 -10
- package/edit/provisioning.cattle.io.cluster/rke2.vue +31 -40
- package/edit/provisioning.cattle.io.cluster/tabs/Advanced.vue +5 -2
- package/edit/provisioning.cattle.io.cluster/tabs/AgentConfiguration.vue +6 -1
- package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +33 -2
- package/edit/provisioning.cattle.io.cluster/tabs/etcd/index.vue +3 -3
- package/edit/service.vue +0 -3
- package/edit/token.vue +32 -11
- package/edit/workload/Job.vue +6 -6
- package/edit/workload/__tests__/Job.test.ts +0 -1
- package/edit/workload/index.vue +1 -0
- package/edit/workload/mixins/workload.js +3 -3
- package/initialize/install-plugins.js +2 -1
- package/list/harvesterhci.io.management.cluster.vue +4 -1
- package/list/management.cattle.io.feature.vue +1 -0
- package/list/namespace.vue +3 -1
- package/list/provisioning.cattle.io.cluster.vue +20 -12
- package/list/workload.vue +7 -6
- package/machine-config/__tests__/vmwarevsphere.test.ts +48 -3
- package/machine-config/azure.vue +16 -4
- package/machine-config/vmwarevsphere.vue +16 -0
- package/mixins/resource-fetch.js +2 -1
- package/models/__tests__/logging.banzaicloud.io.flow.test.ts +88 -0
- package/models/__tests__/namespace.test.ts +25 -1
- package/models/cloudcredential.js +5 -0
- package/models/kontainerdriver.js +6 -3
- package/models/logging.banzaicloud.io.flow.js +2 -1
- package/models/management.cattle.io.node.js +3 -3
- package/models/management.cattle.io.setting.js +2 -1
- package/models/namespace.js +4 -5
- package/models/nodedriver.js +6 -3
- package/models/storage.k8s.io.storageclass.js +2 -2
- package/models/workload.js +4 -1
- package/package.json +1 -1
- package/pages/about.vue +16 -8
- package/pages/account/index.vue +80 -24
- package/pages/account/pri.vue +229 -0
- package/pages/auth/login.vue +195 -44
- package/pages/auth/logout.vue +4 -1
- package/pages/auth/setup.vue +144 -19
- package/pages/auth/verify.vue +13 -8
- package/pages/auth copy/login.vue +595 -0
- package/pages/auth copy/logout.vue +47 -0
- package/pages/auth copy/setup.vue +523 -0
- package/pages/auth copy/verify.vue +203 -0
- package/pages/c/_cluster/_product/namespaces.vue +5 -5
- package/pages/c/_cluster/apps/charts/chart.vue +1 -1
- package/pages/c/_cluster/apps/charts/install.vue +26 -26
- package/pages/c/_cluster/auth/config/index.vue +10 -12
- package/pages/c/_cluster/explorer/EventsTable.vue +38 -33
- package/pages/c/_cluster/explorer/index.vue +17 -15
- package/pages/c/_cluster/istio/index.vue +2 -2
- package/pages/c/_cluster/longhorn/index.vue +1 -1
- package/pages/c/_cluster/monitoring/index.vue +1 -1
- package/pages/c/_cluster/monitoring/monitor/_namespace/_id.vue +4 -2
- package/pages/c/_cluster/monitoring/monitor/create.vue +4 -2
- package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
- package/pages/c/_cluster/monitoring/route-receiver/_id.vue +4 -2
- package/pages/c/_cluster/monitoring/route-receiver/create.vue +5 -2
- package/pages/c/_cluster/neuvector/index.vue +1 -1
- package/pages/c/_cluster/settings/brand.vue +3 -3
- package/pages/c/_cluster/uiplugins/CatalogList/index.vue +8 -10
- package/pages/diagnostic.vue +59 -11
- package/pages/fail-whale.vue +14 -8
- package/pages/home.vue +24 -18
- package/pages/prefs.vue +9 -7
- package/pages/support/index.vue +4 -1
- package/pkg/tsconfig.json +9 -9
- package/pkg/vue.config.js +1 -1
- package/plugins/dashboard-store/normalize.js +3 -1
- package/plugins/dashboard-store/resource-class.js +31 -29
- package/plugins/internal-api/index.ts +37 -0
- package/plugins/internal-api/shared/base-api.ts +13 -0
- package/plugins/internal-api/shell/shell.api.ts +108 -0
- package/promptRemove/management.cattle.io.fleetworkspace.vue +1 -1
- package/promptRemove/management.cattle.io.globalrole.vue +1 -1
- package/promptRemove/management.cattle.io.project.vue +2 -2
- package/promptRemove/management.cattle.io.roletemplate.vue +1 -1
- package/promptRemove/pod.vue +1 -1
- package/public/index.html +2 -1
- package/rancher-components/BadgeState/BadgeState.vue +5 -1
- package/rancher-components/Banner/Banner.vue +8 -2
- package/rancher-components/Card/Card.vue +3 -6
- package/rancher-components/Form/Checkbox/Checkbox.vue +4 -0
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +5 -2
- package/rancher-components/Form/Radio/RadioButton.vue +3 -3
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +1 -5
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +9 -4
- package/rancher-components/RcDropdown/RcDropdownItem.vue +1 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +7 -3
- package/rancher-components/RcDropdown/types.ts +1 -0
- package/scripts/clean +0 -0
- package/scripts/extension/bundle +20 -0
- package/scripts/extension/helm/charts/ui-plugin-server/templates/_helpers.tpl +2 -2
- package/scripts/extension/helm/charts/ui-plugin-server/templates/cr.yaml +2 -1
- package/scripts/extension/helm/charts/ui-plugin-server/values.yaml +2 -0
- package/scripts/extension/helm/scripts/package +0 -0
- package/scripts/extension/helm/scripts/patch +0 -0
- package/scripts/extension/helm/scripts/version +0 -0
- package/scripts/extension/helmpatch +44 -31
- package/scripts/extension/parse-tag-name +0 -0
- package/scripts/extension/publish +12 -12
- package/scripts/publish-shell.sh +18 -23
- package/scripts/serve-pkgs +0 -0
- package/scripts/sync-shell-deps +0 -0
- package/scripts/test-plugins-build.sh +4 -6
- package/scripts/typegen.sh +28 -46
- package/server/har-file.js +25 -3
- package/static/favicon.ico +0 -0
- package/static/favicon.png +0 -0
- package/static/loading-indicator.html +2 -2
- package/store/aws.js +9 -2
- package/store/features.js +2 -1
- package/store/i18n.js +3 -3
- package/store/modal.ts +71 -0
- package/store/slideInPanel.ts +47 -0
- package/store/type-map.js +2 -1
- package/types/cloud-shell/index.d.ts +11014 -0
- package/types/global-vue.d.ts +5 -0
- package/types/internal-api/shell/growl.d.ts +25 -0
- package/types/internal-api/shell/modal.d.ts +77 -0
- package/types/internal-api/shell/slideIn.d.ts +15 -0
- package/types/shell/index.d.ts +118 -128
- package/types/vue-shim.d.ts +4 -1
- package/utils/__tests__/object.test.ts +38 -4
- package/utils/__tests__/string.test.ts +2 -2
- package/utils/auth.js +1 -0
- package/utils/banners.js +0 -45
- package/utils/cluster.js +35 -0
- package/utils/color.js +9 -8
- package/utils/error.js +61 -3
- package/utils/errorTranslate.json +450 -30
- package/utils/object.js +46 -6
- package/utils/router.js +22 -1
- package/utils/select.js +26 -3
- package/utils/string.js +9 -8
- package/utils/title.ts +1 -1
- package/utils/validators/machine-pool.ts +20 -0
- package/vue.config.js +7 -2
- package/components/formatter/ExtensionCache.vue +0 -74
- package/components/formatter/Port.vue +0 -24
- package/components/formatter/SecretType.vue +0 -41
- package/types/resources/fleet.d.ts +0 -57
- package/types/resources/pod-security-admission.ts +0 -36
- package/types/resources/settings.d.ts +0 -93
- package/types/resources/userPreferences.d.ts +0 -13
- package/types/vue-shim.d +0 -20
|
@@ -81,7 +81,8 @@ export default {
|
|
|
81
81
|
extensionHeaderActions: getApplicableExtensionEnhancements(this, ExtensionPoint.ACTION, ActionLocation.HEADER, this.$route),
|
|
82
82
|
ctx: this,
|
|
83
83
|
showImportModal: false,
|
|
84
|
-
showSearchModal: false
|
|
84
|
+
showSearchModal: false,
|
|
85
|
+
userIcon: require('~shell/assets/images/logo.png'),
|
|
85
86
|
};
|
|
86
87
|
},
|
|
87
88
|
|
|
@@ -404,7 +405,7 @@ export default {
|
|
|
404
405
|
<TopLevelMenu v-if="isRancherInHarvester || isMultiCluster || !isSingleProduct" />
|
|
405
406
|
</div>
|
|
406
407
|
|
|
407
|
-
<div
|
|
408
|
+
<!-- <div
|
|
408
409
|
class="menu-spacer"
|
|
409
410
|
:class="{'isSingleProduct': isSingleProduct }"
|
|
410
411
|
>
|
|
@@ -523,8 +524,20 @@ export default {
|
|
|
523
524
|
:alt="t('branding.logos.label')"
|
|
524
525
|
/>
|
|
525
526
|
</div>
|
|
526
|
-
</div>
|
|
527
|
+
</div> -->
|
|
527
528
|
|
|
529
|
+
<!-- logo -->
|
|
530
|
+
<div class="menu-spacer">
|
|
531
|
+
<router-link
|
|
532
|
+
v-if="isSingleProduct && !isRancherInHarvester"
|
|
533
|
+
:to="singleProductLogoRoute"
|
|
534
|
+
>
|
|
535
|
+
<img
|
|
536
|
+
:src="userIcon"
|
|
537
|
+
>
|
|
538
|
+
</router-link>
|
|
539
|
+
</div>
|
|
540
|
+
<!-- 中间 -->
|
|
528
541
|
<div class="spacer" />
|
|
529
542
|
|
|
530
543
|
<div class="rd-header-right">
|
|
@@ -696,20 +709,23 @@ export default {
|
|
|
696
709
|
data-testid="nav_header_showUserMenu"
|
|
697
710
|
:aria-label="t('nav.userMenu.button.label')"
|
|
698
711
|
>
|
|
699
|
-
<img
|
|
712
|
+
<!-- <img
|
|
700
713
|
v-if="principal && principal.avatarSrc"
|
|
701
714
|
:src="principal.avatarSrc"
|
|
702
715
|
:class="{'avatar-round': principal.roundAvatar}"
|
|
703
716
|
width="36"
|
|
704
717
|
height="36"
|
|
718
|
+
:alt="t('nav.alt.userAvatar')"
|
|
705
719
|
>
|
|
706
720
|
<i
|
|
707
721
|
v-else
|
|
708
722
|
class="icon icon-user icon-3x avatar"
|
|
709
|
-
/>
|
|
723
|
+
/> -->
|
|
724
|
+
<i class="icon icon-usericon" />
|
|
725
|
+
<span class="login-name">{{ principal.loginName }}</span>
|
|
710
726
|
</rc-dropdown-trigger>
|
|
711
727
|
<template #dropdownCollection>
|
|
712
|
-
<template v-if="authEnabled">
|
|
728
|
+
<!-- <template v-if="authEnabled">
|
|
713
729
|
<div class="user-info">
|
|
714
730
|
<div class="user-name">
|
|
715
731
|
<i class="icon icon-lg icon-user" /> {{ principal.loginName }}
|
|
@@ -721,13 +737,13 @@ export default {
|
|
|
721
737
|
</div>
|
|
722
738
|
</div>
|
|
723
739
|
<rc-dropdown-separator />
|
|
724
|
-
</template>
|
|
725
|
-
<rc-dropdown-item
|
|
740
|
+
</template> -->
|
|
741
|
+
<!-- <rc-dropdown-item
|
|
726
742
|
v-if="showPreferencesLink"
|
|
727
743
|
@click="$router.push({ name: 'prefs'})"
|
|
728
744
|
>
|
|
729
745
|
{{ t('nav.userMenu.preferences') }}
|
|
730
|
-
</rc-dropdown-item>
|
|
746
|
+
</rc-dropdown-item> -->
|
|
731
747
|
<rc-dropdown-item
|
|
732
748
|
v-if="showAccountAndApiKeyLink"
|
|
733
749
|
@click="$router.push({ name: 'account'})"
|
|
@@ -760,6 +776,7 @@ export default {
|
|
|
760
776
|
HEADER {
|
|
761
777
|
display: flex;
|
|
762
778
|
z-index: z-index('mainHeader');
|
|
779
|
+
box-shadow: 0px 3px 3px 1px rgba(0,0,0,0.12);
|
|
763
780
|
|
|
764
781
|
> .spacer {
|
|
765
782
|
flex: 1;
|
|
@@ -877,7 +894,7 @@ export default {
|
|
|
877
894
|
|
|
878
895
|
> * {
|
|
879
896
|
background-color: var(--header-bg);
|
|
880
|
-
border-bottom: var(--header-border-size) solid var(--header-border);
|
|
897
|
+
/* border-bottom: var(--header-border-size) solid var(--header-border); */
|
|
881
898
|
}
|
|
882
899
|
|
|
883
900
|
.rd-header-right {
|
|
@@ -890,7 +907,7 @@ export default {
|
|
|
890
907
|
}
|
|
891
908
|
|
|
892
909
|
> .top {
|
|
893
|
-
padding-top:
|
|
910
|
+
padding-top: 10px;
|
|
894
911
|
|
|
895
912
|
INPUT[type='search']::placeholder,
|
|
896
913
|
.vs__open-indicator,
|
|
@@ -1010,7 +1027,7 @@ export default {
|
|
|
1010
1027
|
|
|
1011
1028
|
> .user {
|
|
1012
1029
|
outline: none;
|
|
1013
|
-
width: var(--header-height);
|
|
1030
|
+
/* width: var(--header-height); */
|
|
1014
1031
|
|
|
1015
1032
|
.v-popper {
|
|
1016
1033
|
display: flex;
|
|
@@ -1024,6 +1041,10 @@ export default {
|
|
|
1024
1041
|
.user-image {
|
|
1025
1042
|
display: flex;
|
|
1026
1043
|
align-items: center;
|
|
1044
|
+
&:hover{
|
|
1045
|
+
color: var(--primary);
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1027
1048
|
}
|
|
1028
1049
|
|
|
1029
1050
|
&:focus {
|
|
@@ -1152,5 +1173,10 @@ export default {
|
|
|
1152
1173
|
}
|
|
1153
1174
|
}
|
|
1154
1175
|
}
|
|
1155
|
-
|
|
1176
|
+
.login-name{
|
|
1177
|
+
font-size: 14px;
|
|
1178
|
+
margin-left: 5px;
|
|
1179
|
+
margin-top: 5px;
|
|
1180
|
+
line-height: 20px;
|
|
1181
|
+
}
|
|
1156
1182
|
</style>
|
package/components/nav/Jump.vue
CHANGED
|
@@ -71,6 +71,12 @@ export default {
|
|
|
71
71
|
|
|
72
72
|
<template>
|
|
73
73
|
<div>
|
|
74
|
+
<p
|
|
75
|
+
id="describe-filter-resource-search"
|
|
76
|
+
hidden
|
|
77
|
+
>
|
|
78
|
+
{{ t('nav.resourceSearch.filteringDescription') }}
|
|
79
|
+
</p>
|
|
74
80
|
<input
|
|
75
81
|
ref="input"
|
|
76
82
|
v-model="value"
|
|
@@ -78,6 +84,7 @@ export default {
|
|
|
78
84
|
class="search"
|
|
79
85
|
role="textbox"
|
|
80
86
|
:aria-label="t('nav.resourceSearch.label')"
|
|
87
|
+
aria-describedby="describe-filter-resource-search"
|
|
81
88
|
@keyup.esc="$emit('closeSearch')"
|
|
82
89
|
>
|
|
83
90
|
<div class="results">
|
|
@@ -20,6 +20,7 @@ import { KEY } from '@shell/utils/platform';
|
|
|
20
20
|
import pAndNFiltering from '@shell/plugins/steve/projectAndNamespaceFiltering.utils';
|
|
21
21
|
import { SETTING } from '@shell/config/settings';
|
|
22
22
|
import paginationUtils from '@shell/utils/pagination-utils';
|
|
23
|
+
import { harvesterhci2cloud, cloud2harvesterhci } from '@shell/utils/router'
|
|
23
24
|
|
|
24
25
|
const forcedNamespaceValidTypes = [NAMESPACE_FILTER_KINDS.DIVIDER, NAMESPACE_FILTER_KINDS.PROJECT, NAMESPACE_FILTER_KINDS.NAMESPACE];
|
|
25
26
|
|
|
@@ -143,7 +144,10 @@ export default {
|
|
|
143
144
|
const inStore = this.$store.getters['currentStore'](NAMESPACE);
|
|
144
145
|
|
|
145
146
|
const params = { ...this.$route.params };
|
|
146
|
-
|
|
147
|
+
let resource = params.resource;
|
|
148
|
+
if (params.resource) {
|
|
149
|
+
resource = cloud2harvesterhci(resource)
|
|
150
|
+
}
|
|
147
151
|
|
|
148
152
|
// Sometimes, different pages may have different namespaces to filter
|
|
149
153
|
const notFilterNamespaces = this.$store.getters[`type-map/optionsFor`](resource).notFilterNamespace || [];
|
|
@@ -752,7 +756,7 @@ export default {
|
|
|
752
756
|
:data-testid="`namespaces-value-${j}`"
|
|
753
757
|
class="ns-value"
|
|
754
758
|
>
|
|
755
|
-
<div>{{ ns.label }}</div>
|
|
759
|
+
<div>{{ ns.label.replace('harvester', 'cloud') }}</div>
|
|
756
760
|
<!-- block user from removing the last selection if ns forced filtering is on -->
|
|
757
761
|
<i
|
|
758
762
|
v-if="!namespaceFilterMode || value.length > 1"
|
|
@@ -863,7 +867,7 @@ export default {
|
|
|
863
867
|
v-if="opt.kind === NAMESPACE_FILTER_KINDS.NAMESPACE"
|
|
864
868
|
class="icon icon-folder"
|
|
865
869
|
/>
|
|
866
|
-
<div>{{ opt.label }}</div>
|
|
870
|
+
<div>{{ opt.label.replace('harvester', 'cloud') }}</div>
|
|
867
871
|
<i
|
|
868
872
|
v-if="opt.selected"
|
|
869
873
|
class="icon icon-checkmark"
|
|
@@ -921,6 +925,7 @@ export default {
|
|
|
921
925
|
display: flex;
|
|
922
926
|
> i {
|
|
923
927
|
padding-right: 5px;
|
|
928
|
+
font-size: 10px;
|
|
924
929
|
}
|
|
925
930
|
}
|
|
926
931
|
|
|
@@ -932,6 +937,8 @@ export default {
|
|
|
932
937
|
|
|
933
938
|
.ns-filter-input {
|
|
934
939
|
height: 24px;
|
|
940
|
+
border: 1px solid #d7d7d7;
|
|
941
|
+
padding: 0px 5px;
|
|
935
942
|
}
|
|
936
943
|
|
|
937
944
|
.ns-filter-clear {
|
|
@@ -946,7 +953,8 @@ export default {
|
|
|
946
953
|
|
|
947
954
|
.ns-dropdown-menu {
|
|
948
955
|
background-color: var(--header-bg);
|
|
949
|
-
border: 1px solid var(--primary-border);
|
|
956
|
+
/* border: 1px solid var(--primary-border); */
|
|
957
|
+
border: 1px solid #d7d7d7;;
|
|
950
958
|
border-bottom-left-radius: var(--border-radius);
|
|
951
959
|
border-bottom-right-radius: var(--border-radius);
|
|
952
960
|
color: var(--header-btn-text);
|
|
@@ -966,10 +974,10 @@ export default {
|
|
|
966
974
|
}
|
|
967
975
|
|
|
968
976
|
.ns-divider {
|
|
969
|
-
border-top: 1px solid var(--border);
|
|
977
|
+
/* border-top: 1px solid var(--border); */
|
|
970
978
|
cursor: default;
|
|
971
|
-
margin-top: 10px;
|
|
972
|
-
padding-bottom: 10px;
|
|
979
|
+
/* margin-top: 10px; */
|
|
980
|
+
/* padding-bottom: 10px; */
|
|
973
981
|
}
|
|
974
982
|
|
|
975
983
|
.ns-option {
|
|
@@ -1009,7 +1017,7 @@ export default {
|
|
|
1009
1017
|
&.ns-selected:not(:hover) {
|
|
1010
1018
|
.ns-item {
|
|
1011
1019
|
> * {
|
|
1012
|
-
color: var(--primary);
|
|
1020
|
+
/* color: var(--primary); */
|
|
1013
1021
|
}
|
|
1014
1022
|
}
|
|
1015
1023
|
|
|
@@ -1062,7 +1070,7 @@ export default {
|
|
|
1062
1070
|
border-radius: var(--border-radius);
|
|
1063
1071
|
color: var(--header-btn-text);
|
|
1064
1072
|
cursor: pointer;
|
|
1065
|
-
height:
|
|
1073
|
+
height: 32px;
|
|
1066
1074
|
padding: 0 10px;
|
|
1067
1075
|
position: relative;
|
|
1068
1076
|
z-index: z-index('dropdownOverlay');
|
|
@@ -1070,7 +1078,8 @@ export default {
|
|
|
1070
1078
|
&.ns-open {
|
|
1071
1079
|
border-bottom-left-radius: 0;
|
|
1072
1080
|
border-bottom-right-radius: 0;
|
|
1073
|
-
border-color: var(--primary-border);
|
|
1081
|
+
/* border-color: var(--primary-border); */
|
|
1082
|
+
border-color: #d7d7d7;
|
|
1074
1083
|
}
|
|
1075
1084
|
|
|
1076
1085
|
> .ns-values {
|
|
@@ -1109,12 +1118,13 @@ export default {
|
|
|
1109
1118
|
border-radius: 5px;
|
|
1110
1119
|
color: var(--tag-text);
|
|
1111
1120
|
display: flex;
|
|
1112
|
-
line-height: 20px;
|
|
1121
|
+
/* line-height: 20px; */
|
|
1113
1122
|
padding: 2px 5px;
|
|
1114
1123
|
white-space: nowrap;
|
|
1115
1124
|
|
|
1116
1125
|
> i {
|
|
1117
1126
|
margin-left: 5px;
|
|
1127
|
+
font-size: 8px;
|
|
1118
1128
|
|
|
1119
1129
|
&:hover {
|
|
1120
1130
|
color: var(--primary);
|
|
@@ -36,7 +36,7 @@ export default {
|
|
|
36
36
|
:aria-checked="!!pinned"
|
|
37
37
|
class="pin icon"
|
|
38
38
|
:class="{'icon-pin-outlined': !pinned, 'icon-pin': pinned}"
|
|
39
|
-
|
|
39
|
+
role="button"
|
|
40
40
|
:aria-label="t('nav.ariaLabel.pinCluster', { cluster: cluster.label })"
|
|
41
41
|
@click.stop.prevent="toggle"
|
|
42
42
|
@keydown.enter.prevent="toggle"
|
|
@@ -14,7 +14,6 @@ import { SETTING } from '@shell/config/settings';
|
|
|
14
14
|
import { getProductFromRoute } from '@shell/utils/router';
|
|
15
15
|
import { isRancherPrime } from '@shell/config/version';
|
|
16
16
|
import Pinned from '@shell/components/nav/Pinned';
|
|
17
|
-
import { getGlobalBannerFontSizes } from '@shell/utils/banners';
|
|
18
17
|
import { TopLevelMenuHelperPagination, TopLevelMenuHelperLegacy } from '@shell/components/nav/TopLevelMenu.helper';
|
|
19
18
|
import { debounce } from 'lodash';
|
|
20
19
|
import { sameContents } from '@shell/utils/array';
|
|
@@ -82,15 +81,6 @@ export default {
|
|
|
82
81
|
return this.$store.getters['prefs/get'](PINNED_CLUSTERS);
|
|
83
82
|
},
|
|
84
83
|
|
|
85
|
-
sideMenuStyle() {
|
|
86
|
-
const globalBannerSettings = getGlobalBannerFontSizes(this.$store);
|
|
87
|
-
|
|
88
|
-
return {
|
|
89
|
-
marginBottom: globalBannerSettings?.footerFont,
|
|
90
|
-
marginTop: globalBannerSettings?.headerFont
|
|
91
|
-
};
|
|
92
|
-
},
|
|
93
|
-
|
|
94
84
|
showClusterSearch() {
|
|
95
85
|
return this.allClustersCount > this.maxClustersToShow;
|
|
96
86
|
},
|
|
@@ -440,8 +430,7 @@ export default {
|
|
|
440
430
|
|
|
441
431
|
return {
|
|
442
432
|
content,
|
|
443
|
-
placement:
|
|
444
|
-
popperOptions: { modifiers: { preventOverflow: { enabled: false }, hide: { enabled: false } } },
|
|
433
|
+
placement: 'right',
|
|
445
434
|
popperClass
|
|
446
435
|
};
|
|
447
436
|
},
|
|
@@ -483,7 +472,6 @@ export default {
|
|
|
483
472
|
data-testid="side-menu"
|
|
484
473
|
class="side-menu"
|
|
485
474
|
:class="{'menu-open': shown, 'menu-close':!shown}"
|
|
486
|
-
:style="sideMenuStyle"
|
|
487
475
|
tabindex="-1"
|
|
488
476
|
role="navigation"
|
|
489
477
|
:aria-label="t('nav.ariaLabel.topLevelMenu')"
|
|
@@ -710,7 +698,7 @@ export default {
|
|
|
710
698
|
v-if="clustersFiltered.length > 0"
|
|
711
699
|
class="category-title"
|
|
712
700
|
>
|
|
713
|
-
<hr>
|
|
701
|
+
<hr role="none">
|
|
714
702
|
</div>
|
|
715
703
|
</div>
|
|
716
704
|
|
|
@@ -824,7 +812,7 @@ export default {
|
|
|
824
812
|
<div
|
|
825
813
|
class="category-title"
|
|
826
814
|
>
|
|
827
|
-
<hr>
|
|
815
|
+
<hr role="none">
|
|
828
816
|
<span>
|
|
829
817
|
{{ t('nav.categories.multiCluster') }}
|
|
830
818
|
</span>
|
|
@@ -857,7 +845,7 @@ export default {
|
|
|
857
845
|
<div
|
|
858
846
|
class="category-title"
|
|
859
847
|
>
|
|
860
|
-
<hr>
|
|
848
|
+
<hr role="none">
|
|
861
849
|
<span>
|
|
862
850
|
{{ t('nav.categories.configuration') }}
|
|
863
851
|
</span>
|
|
@@ -1002,7 +990,7 @@ export default {
|
|
|
1002
990
|
}
|
|
1003
991
|
}
|
|
1004
992
|
|
|
1005
|
-
position:
|
|
993
|
+
position: absolute;
|
|
1006
994
|
top: 0;
|
|
1007
995
|
left: 0px;
|
|
1008
996
|
bottom: 0;
|
package/components/nav/Type.vue
CHANGED
|
@@ -58,7 +58,18 @@ export default {
|
|
|
58
58
|
|
|
59
59
|
isActive() {
|
|
60
60
|
const typeFullPath = this.$router.resolve(this.type.route)?.fullPath.toLowerCase();
|
|
61
|
-
const pageFullPath = this.$route.fullPath?.toLowerCase();
|
|
61
|
+
const pageFullPath = this.$route.fullPath?.toLowerCase().split('#')[0]; // Ignore the shebang when comparing routes
|
|
62
|
+
const routeMetaNav = this.$route.meta?.nav;
|
|
63
|
+
|
|
64
|
+
// If the route explicitly declares the nav path that should be highlighted, then use that
|
|
65
|
+
if (routeMetaNav) {
|
|
66
|
+
const cluster = this.$route.params?.cluster;
|
|
67
|
+
const navPath = routeMetaNav.replace(':cluster', cluster);
|
|
68
|
+
|
|
69
|
+
if (navPath === typeFullPath) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
62
73
|
|
|
63
74
|
if ( !this.type.exact) {
|
|
64
75
|
const typeSplit = typeFullPath.split('/');
|
|
@@ -122,6 +133,7 @@ export default {
|
|
|
122
133
|
:aria-label="type.labelKey ? t(type.labelKey) : (type.labelDisplay || type.label)"
|
|
123
134
|
:href="href"
|
|
124
135
|
class="type-link"
|
|
136
|
+
:aria-current="isActive ? 'page' : undefined"
|
|
125
137
|
@click="selectType(); navigate($event);"
|
|
126
138
|
@mouseenter="setNear(true)"
|
|
127
139
|
@mouseleave="setNear(false)"
|
|
@@ -199,6 +211,7 @@ export default {
|
|
|
199
211
|
.label {
|
|
200
212
|
align-items: center;
|
|
201
213
|
grid-area: label;
|
|
214
|
+
display: flex;
|
|
202
215
|
overflow: hidden;
|
|
203
216
|
text-overflow: ellipsis;
|
|
204
217
|
|
|
@@ -206,13 +219,13 @@ export default {
|
|
|
206
219
|
padding-left: 3px;
|
|
207
220
|
}
|
|
208
221
|
|
|
209
|
-
|
|
222
|
+
::v-deep .highlight {
|
|
210
223
|
background: var(--diff-ins-bg);
|
|
211
224
|
color: var(--body-text);
|
|
212
225
|
padding: 2px;
|
|
213
226
|
}
|
|
214
227
|
|
|
215
|
-
|
|
228
|
+
::v-deep .icon {
|
|
216
229
|
position: relative;
|
|
217
230
|
color: var(--muted);
|
|
218
231
|
}
|
|
@@ -225,20 +238,24 @@ export default {
|
|
|
225
238
|
grid-column-gap: 5px;
|
|
226
239
|
font-size: 14px;
|
|
227
240
|
line-height: 24px;
|
|
228
|
-
padding: 7.5px 7px 7.5px 10px;
|
|
241
|
+
/* padding: 7.5px 7px 7.5px 10px; */
|
|
242
|
+
padding: 0px 16px 0px 40px;
|
|
243
|
+
height: 50px;
|
|
229
244
|
margin: 0 0 0 -3px;
|
|
230
245
|
overflow: hidden;
|
|
231
246
|
text-overflow: ellipsis;
|
|
232
247
|
white-space: nowrap;
|
|
233
248
|
color: var(--body-text);
|
|
234
|
-
height: 33px;
|
|
235
249
|
|
|
236
250
|
&:hover {
|
|
237
|
-
background: var(--nav-
|
|
251
|
+
background: var(--nav-active);
|
|
252
|
+
color: var(--nav-hover-color);
|
|
253
|
+
/* background: var(--nav-hover); */
|
|
238
254
|
text-decoration: none;
|
|
239
255
|
|
|
240
|
-
|
|
241
|
-
color: var(--body-text);
|
|
256
|
+
::v-deep .icon {
|
|
257
|
+
/* color: var(--body-text); */
|
|
258
|
+
color: var(--nav-hover-color);
|
|
242
259
|
}
|
|
243
260
|
}
|
|
244
261
|
}
|
|
@@ -247,44 +264,24 @@ export default {
|
|
|
247
264
|
grid-area: favorite;
|
|
248
265
|
font-size: 12px;
|
|
249
266
|
position: relative;
|
|
250
|
-
vertical-align: middle;
|
|
251
|
-
margin-right: 4px;
|
|
252
267
|
}
|
|
253
268
|
|
|
254
269
|
.count {
|
|
270
|
+
grid-area: count;
|
|
255
271
|
font-size: 12px;
|
|
272
|
+
text-align: right;
|
|
256
273
|
justify-items: center;
|
|
257
274
|
padding-right: 4px;
|
|
258
|
-
display: flex;
|
|
259
|
-
align-items: center;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
&.nav-type.nav-link {
|
|
263
|
-
a .label {
|
|
264
|
-
display: flex;
|
|
265
|
-
}
|
|
266
275
|
}
|
|
267
276
|
|
|
268
277
|
&.nav-type:not(.depth-0) {
|
|
269
|
-
A {
|
|
270
|
-
padding-left: 16px;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
:deep() .label I {
|
|
274
|
-
padding-right: 2px;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
&.nav-type:is(.depth-1) {
|
|
279
278
|
A {
|
|
280
279
|
font-size: 13px;
|
|
281
|
-
padding
|
|
280
|
+
padding: 5.5px 7px 5.5px 10px;
|
|
282
281
|
}
|
|
283
|
-
}
|
|
284
282
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
padding-left: 14px;
|
|
283
|
+
::v-deep .label I {
|
|
284
|
+
padding-right: 2px;
|
|
288
285
|
}
|
|
289
286
|
}
|
|
290
287
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import TopLevelMenu from '@shell/components/nav/TopLevelMenu.vue';
|
|
2
|
-
import { SETTING } from '@shell/config/settings';
|
|
3
2
|
import { mount, Wrapper } from '@vue/test-utils';
|
|
4
3
|
import { CAPI, COUNT, MANAGEMENT } from '@shell/config/types';
|
|
5
4
|
import { PINNED_CLUSTERS } from '@shell/store/prefs';
|
|
@@ -429,45 +428,6 @@ describe('topLevelMenu', () => {
|
|
|
429
428
|
expect(description4.text()).toStrictEqual('some-description4');
|
|
430
429
|
});
|
|
431
430
|
|
|
432
|
-
it('should not "crash" the component if the structure of banner settings is in an old format', async() => {
|
|
433
|
-
const wrapper: Wrapper<InstanceType<typeof TopLevelMenu>> = mount(TopLevelMenu, {
|
|
434
|
-
global: {
|
|
435
|
-
mocks: {
|
|
436
|
-
$route: {},
|
|
437
|
-
$store: {
|
|
438
|
-
...generateStore(
|
|
439
|
-
[{ name: 'whatever' }],
|
|
440
|
-
[
|
|
441
|
-
// object based on https://github.com/rancher/dashboard/issues/10140#issuecomment-1883252402
|
|
442
|
-
{
|
|
443
|
-
id: SETTING.BANNERS,
|
|
444
|
-
value: JSON.stringify({
|
|
445
|
-
banner: {
|
|
446
|
-
color: '#78c9cf',
|
|
447
|
-
background: '#27292e',
|
|
448
|
-
text: 'Hello World!'
|
|
449
|
-
},
|
|
450
|
-
showHeader: 'true',
|
|
451
|
-
showFooter: 'true'
|
|
452
|
-
})
|
|
453
|
-
}
|
|
454
|
-
]
|
|
455
|
-
),
|
|
456
|
-
}
|
|
457
|
-
},
|
|
458
|
-
|
|
459
|
-
stubs: ['BrandImage', 'router-link'],
|
|
460
|
-
},
|
|
461
|
-
});
|
|
462
|
-
|
|
463
|
-
await waitForIt();
|
|
464
|
-
|
|
465
|
-
expect(wrapper.vm.sideMenuStyle).toStrictEqual({
|
|
466
|
-
marginBottom: '2em',
|
|
467
|
-
marginTop: '2em'
|
|
468
|
-
});
|
|
469
|
-
});
|
|
470
|
-
|
|
471
431
|
describe('searching a term', () => {
|
|
472
432
|
describe('should displays a no results message if have clusters but', () => {
|
|
473
433
|
it('given no matching clusters', async() => {
|