dashboard-shell-shell 3.0.5-test.4 → 3.0.5-test.6
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/assets/brand/harvester/favicon.png +0 -0
- package/assets/brand/suse/favicon.png +0 -0
- package/assets/images/pl/half-logo.svg +23 -2
- package/assets/images/pl/harvester.png +0 -0
- package/assets/styles/app.scss +0 -4
- package/assets/styles/base/_basic.scss +2 -2
- package/assets/styles/base/_mixins.scss +1 -1
- package/assets/styles/base/_typography.scss +1 -2
- package/assets/styles/base/_variables.scss +4 -11
- package/assets/styles/global/_button.scss +27 -45
- package/assets/styles/global/_columns.scss +1 -3
- package/assets/styles/global/_form.scss +13 -45
- package/assets/styles/global/_labeled-input.scss +26 -54
- package/assets/styles/global/_layout.scss +3 -8
- package/assets/styles/global/_select.scss +17 -25
- package/assets/styles/global/_table.scss +1 -7
- package/assets/styles/global/_tooltip.scss +6 -54
- package/assets/styles/themes/_dark.scss +0 -3
- package/assets/styles/themes/_light.scss +42 -63
- package/assets/styles/vendor/vue-select.scss +9 -22
- package/assets/translations/en-us.yaml +4 -28
- package/assets/translations/zh-hans.yaml +189 -376
- package/components/ActionDropdown.vue +1 -2
- package/components/ActionMenu.vue +2 -2
- package/components/ActionMenuShell.vue +0 -2
- package/components/AppModal.vue +5 -46
- package/components/BrandImage.vue +0 -1
- package/components/ButtonDropdown.vue +4 -26
- package/components/ButtonMultiAction.vue +0 -1
- package/components/ClusterIconMenu.vue +1 -1
- package/components/CodeMirror.vue +6 -20
- package/components/ConsumptionGauge.vue +5 -24
- package/components/CruResource.vue +8 -9
- package/components/CruResourceFooter.vue +2 -2
- package/components/DashboardOptions.vue +17 -29
- package/components/ExplorerProjectsNamespaces.vue +5 -19
- package/components/GlobalRoleBindings.vue +48 -112
- package/components/GrafanaDashboard.vue +4 -4
- package/components/GrowlManager.vue +1 -3
- package/components/HardwareResourceGauge.vue +3 -39
- package/components/IndentedPanel.vue +10 -4
- package/components/InfoBox.vue +3 -3
- package/components/InputOrDisplay.vue +2 -28
- package/components/LabelValue.vue +1 -20
- package/components/ModalWithCard.vue +3 -12
- package/components/PodSecurityAdmission.vue +1 -1
- package/components/PromptModal.vue +1 -1
- package/components/PromptRemove.vue +11 -30
- package/components/ResourceDetail/Masthead/legacy.vue +38 -181
- package/components/ResourceDetail/legacy.vue +13 -29
- package/components/ResourceList/Masthead.vue +54 -226
- package/components/ResourceList/ResourceLoadingIndicator.vue +2 -5
- package/components/ResourceTable.vue +2 -24
- package/components/SideNav.vue +20 -74
- package/components/SortableTable/THead.vue +3 -33
- package/components/SortableTable/index.vue +464 -1017
- package/components/SortableTable/paging.js +16 -26
- package/components/SortableTable/selection.js +2 -2
- package/components/Tabbed/Tab.vue +3 -3
- package/components/Tabbed/index.vue +29 -47
- package/components/YamlEditor.vue +1 -0
- package/components/auth/Principal.vue +12 -36
- package/components/auth/RoleDetailEdit.vue +7 -58
- package/components/auth/SelectPrincipal.vue +0 -1
- package/components/form/ArrayList.vue +33 -41
- package/components/form/ArrayListGrouped.vue +2 -10
- package/components/form/ArrayListSelect.vue +1 -1
- package/components/form/BannerSettings.vue +59 -64
- package/components/form/ChangePassword.vue +4 -4
- package/components/form/ColorInput.vue +8 -32
- package/components/form/Footer.vue +8 -11
- package/components/form/InputWithSelect.vue +5 -8
- package/components/form/KeyValue.vue +7 -47
- package/components/form/LabeledSelect.vue +241 -212
- package/components/form/Labels.vue +3 -3
- package/components/form/MatchExpressions.vue +7 -24
- package/components/form/Members/ClusterPermissionsEditor.vue +2 -1
- package/components/form/Members/MembershipEditor.vue +1 -1
- package/components/form/NameNsDescription.vue +20 -59
- package/components/form/Password.vue +7 -16
- package/components/form/PodAffinity.vue +5 -4
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +17 -18
- package/components/form/ResourceQuota/Project.vue +4 -4
- package/components/form/ResourceQuota/ProjectRow.vue +6 -3
- package/components/form/Select.vue +2 -5
- package/components/form/SimpleSecretSelector.vue +9 -29
- package/components/form/UnitInput.vue +3 -8
- package/components/formatter/BadgeStateFormatter.vue +5 -8
- package/components/formatter/LiveDate.vue +3 -3
- package/components/nav/Favorite.vue +1 -5
- package/components/nav/Group.vue +99 -132
- package/components/nav/Header.vue +27 -124
- package/components/nav/HeaderPageActionMenu.vue +0 -1
- package/components/nav/NamespaceFilter.vue +15 -19
- package/components/nav/TopLevelMenu.vue +119 -182
- package/components/nav/Type.vue +41 -63
- package/composables/useClickOutside.ts +1 -1
- package/config/private-label.js +11 -15
- package/config/product/auth.js +7 -17
- package/config/product/settings.js +9 -19
- package/config/settings.ts +0 -28
- package/config/table-headers.js +2 -3
- package/dialog/ForceMachineRemoveDialog.vue +2 -2
- package/dialog/ScalePoolDownDialog.vue +2 -2
- package/edit/management.cattle.io.user.vue +4 -17
- 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 +12 -36
- 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/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 +2 -1
- package/edit/token.vue +12 -31
- package/edit/workload/index.vue +1 -1
- package/list/management.cattle.io.setting.vue +13 -22
- package/list/management.cattle.io.user.vue +3 -7
- package/list/namespace.vue +0 -3
- package/list/provisioning.cattle.io.cluster.vue +7 -6
- package/mixins/brand.js +0 -17
- package/package.json +1 -1
- package/pages/account/index.vue +12 -74
- package/pages/auth/login.vue +51 -214
- package/pages/auth/setup.vue +19 -142
- package/pages/c/_cluster/_product/namespaces.vue +4 -4
- package/pages/c/_cluster/auth/roles/index.vue +1 -19
- package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
- package/pages/c/_cluster/settings/banners.vue +102 -174
- package/pages/c/_cluster/settings/brand.vue +302 -350
- package/pages/c/_cluster/settings/performance.vue +38 -61
- package/pages/home.vue +30 -70
- package/pages/prefs.vue +25 -27
- package/promptRemove/mixin/roleDeletionCheck.js +2 -2
- package/public/index.html +4 -4
- package/rancher-components/BadgeState/BadgeState.vue +4 -6
- package/rancher-components/Banner/Banner.vue +8 -12
- package/rancher-components/Card/Card.vue +8 -7
- package/rancher-components/Form/Checkbox/Checkbox.vue +0 -4
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +3 -42
- package/rancher-components/Form/Radio/RadioButton.vue +11 -35
- package/rancher-components/Form/Radio/RadioGroup.vue +5 -13
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
- package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +0 -1
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +4 -12
- package/rancher-components/RcDropdown/RcDropdown.vue +7 -35
- package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +4 -9
- package/rancher-components/RcDropdown/types.ts +0 -1
- package/rancher-components/StringList/StringList.vue +1 -1
- package/static/favicon.ico +0 -0
- package/static/favicon.png +0 -0
- package/static/loading-indicator.html +3 -3
- package/store/i18n.js +2 -2
- package/store/modal.ts +3 -3
- package/store/prefs.js +4 -11
- package/store/type-map.js +2 -32
- package/types/shell/index.d.ts +67 -74
- package/utils/error.js +8 -87
- package/utils/router.js +0 -21
- package/utils/select.js +3 -26
- package/utils/string.js +5 -8
- package/utils/title.ts +1 -1
- package/assets/icons/demo.css +0 -539
- package/assets/icons/demo.css:Zone.Identifier +0 -0
- package/assets/icons/demo_index.html +0 -1131
- package/assets/icons/demo_index.html:Zone.Identifier +0 -0
- package/assets/icons/iconfont.css +0 -216
- package/assets/icons/iconfont.css:Zone.Identifier +0 -0
- package/assets/icons/iconfont.js +0 -1
- package/assets/icons/iconfont.js:Zone.Identifier +0 -0
- package/assets/icons/iconfont.json +0 -324
- package/assets/icons/iconfont.json:Zone.Identifier +0 -0
- package/assets/icons/iconfont.ttf +0 -0
- package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
- package/assets/icons/iconfont.woff +0 -0
- package/assets/icons/iconfont.woff2 +0 -0
- package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
- package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
- package/assets/images/API.svg +0 -3
- package/assets/images/action.svg +0 -6
- package/assets/images/login/password.svg +0 -20
- package/assets/images/login/user.svg +0 -6
- package/assets/images/login-bg.png +0 -0
- package/assets/images/login-left.png +0 -0
- package/assets/images/login-logo.svg +0 -19
- package/assets/images/logo.png +0 -0
- package/assets/images/pl/logo.png +0 -0
- package/assets/images/promp-yellow.svg +0 -5
- package/assets/images/user.png +0 -0
- package/assets/styles/all.scss +0 -63
- package/components/DotState.vue +0 -84
- package/utils/errorTranslate.json +0 -1336
|
@@ -77,10 +77,7 @@ export default {
|
|
|
77
77
|
LOGGED_OUT,
|
|
78
78
|
navHeaderRight: null,
|
|
79
79
|
extensionHeaderActions: getApplicableExtensionEnhancements(this, ExtensionPoint.ACTION, ActionLocation.HEADER, this.$route),
|
|
80
|
-
ctx: this
|
|
81
|
-
showImportModal: false,
|
|
82
|
-
showSearchModal: false,
|
|
83
|
-
userIcon: require('@shell/assets/images/logo.png'),
|
|
80
|
+
ctx: this
|
|
84
81
|
};
|
|
85
82
|
},
|
|
86
83
|
|
|
@@ -276,18 +273,6 @@ export default {
|
|
|
276
273
|
},
|
|
277
274
|
|
|
278
275
|
methods: {
|
|
279
|
-
|
|
280
|
-
LogOutfn (type) {
|
|
281
|
-
sessionStorage.removeItem('TOPLEVELPERMISSIONS')
|
|
282
|
-
if (type === '1') {
|
|
283
|
-
this.$router.push({ name: 'account'})
|
|
284
|
-
} else if (type === '2') {
|
|
285
|
-
this.showSloModal()
|
|
286
|
-
} else if (type === '3') {
|
|
287
|
-
this.$router.push(this.generateLogoutRoute)
|
|
288
|
-
}
|
|
289
|
-
},
|
|
290
|
-
|
|
291
276
|
showSloModal() {
|
|
292
277
|
this.$store.dispatch('management/promptModal', {
|
|
293
278
|
component: 'SloDialog',
|
|
@@ -413,19 +398,15 @@ export default {
|
|
|
413
398
|
</script>
|
|
414
399
|
|
|
415
400
|
<template>
|
|
416
|
-
|
|
417
|
-
<!-- 整个页面的顶部 header -->
|
|
418
401
|
<header
|
|
419
402
|
ref="header"
|
|
420
403
|
data-testid="header"
|
|
421
404
|
>
|
|
422
405
|
<div>
|
|
423
|
-
|
|
424
|
-
<!-- 顶部一级菜单(根据不同产品/集群条件决定是否显示) -->
|
|
425
406
|
<TopLevelMenu v-if="isRancherInHarvester || isMultiCluster || !isSingleProduct" />
|
|
426
407
|
</div>
|
|
427
408
|
|
|
428
|
-
|
|
409
|
+
<div
|
|
429
410
|
class="menu-spacer"
|
|
430
411
|
:class="{'isSingleProduct': isSingleProduct }"
|
|
431
412
|
>
|
|
@@ -544,55 +525,24 @@ export default {
|
|
|
544
525
|
:alt="t('branding.logos.label')"
|
|
545
526
|
/>
|
|
546
527
|
</div>
|
|
547
|
-
</div> -->
|
|
548
|
-
|
|
549
|
-
<!-- ===== 左侧 logo 区域 ===== -->
|
|
550
|
-
<div class="menu-spacer">
|
|
551
|
-
<!-- 如果是单产品模式且不是 RancherInHarvester,就显示 logo 路由跳转 -->
|
|
552
|
-
<router-link
|
|
553
|
-
v-if="isSingleProduct && !isRancherInHarvester"
|
|
554
|
-
:to="singleProductLogoRoute"
|
|
555
|
-
>
|
|
556
|
-
|
|
557
|
-
<!-- 显示用户头像或 logo 图片 -->
|
|
558
|
-
<img
|
|
559
|
-
:src="userIcon"
|
|
560
|
-
>
|
|
561
|
-
</router-link>
|
|
562
528
|
</div>
|
|
563
|
-
|
|
564
|
-
<!-- ===== 中间占位符(把左右内容分开) ===== -->
|
|
529
|
+
|
|
565
530
|
<div class="spacer" />
|
|
566
531
|
|
|
567
|
-
<!-- ===== 右侧功能区域 ===== -->
|
|
568
532
|
<div class="rd-header-right">
|
|
569
|
-
|
|
570
|
-
<!-- 动态插入右侧自定义组件(例如插件扩展的 header) -->
|
|
571
533
|
<component :is="navHeaderRight" />
|
|
572
|
-
|
|
573
|
-
<!-- ===== 集群/命名空间过滤器 ===== -->
|
|
574
534
|
<div
|
|
575
535
|
v-if="showFilter"
|
|
576
536
|
class="top"
|
|
577
537
|
>
|
|
578
|
-
|
|
579
|
-
<!-- 如果集群就绪 + 当前产品支持命名空间过滤器 或 Explorer 模式 -->
|
|
580
538
|
<NamespaceFilter v-if="clusterReady && currentProduct && (currentProduct.showNamespaceFilter || isExplorer)" />
|
|
581
|
-
|
|
582
|
-
<!-- 否则显示工作空间切换器 -->
|
|
583
|
-
<WorkspaceSwitcher v-else-if="clusterReady && currentProduct && currentProduct.showWorkspaceSwitcher" />
|
|
539
|
+
<WorkspaceSwitcher v-else-if="clusterReady && currentProduct && currentProduct.showWorkspaceSwitcher && showWorkspaceSwitcher" />
|
|
584
540
|
</div>
|
|
585
|
-
|
|
586
|
-
<!-- ===== 集群相关按钮(仅在有集群且不是 simple 模式下显示) ===== -->
|
|
587
541
|
<div
|
|
588
542
|
v-if="currentCluster && !simple"
|
|
589
543
|
class="header-buttons"
|
|
590
544
|
>
|
|
591
|
-
|
|
592
|
-
<!-- 如果当前产品支持集群切换器 -->
|
|
593
545
|
<template v-if="currentProduct && currentProduct.showClusterSwitcher">
|
|
594
|
-
|
|
595
|
-
<!-- 导入 YAML 按钮 -->
|
|
596
546
|
<button
|
|
597
547
|
v-if="showImportYaml"
|
|
598
548
|
v-clean-tooltip="t('nav.import')"
|
|
@@ -625,7 +575,6 @@ export default {
|
|
|
625
575
|
<i class="icon icon-terminal icon-lg" />
|
|
626
576
|
</button>
|
|
627
577
|
|
|
628
|
-
<!-- 下载 kubeconfig 按钮 -->
|
|
629
578
|
<button
|
|
630
579
|
v-if="showKubeConfig"
|
|
631
580
|
v-clean-tooltip="t('nav.kubeconfig.download')"
|
|
@@ -641,7 +590,6 @@ export default {
|
|
|
641
590
|
<i class="icon icon-file icon-lg" />
|
|
642
591
|
</button>
|
|
643
592
|
|
|
644
|
-
<!-- 复制 kubeconfig 按钮 -->
|
|
645
593
|
<button
|
|
646
594
|
v-if="showCopyConfig"
|
|
647
595
|
v-clean-tooltip="t('nav.kubeconfig.copy')"
|
|
@@ -654,14 +602,10 @@ export default {
|
|
|
654
602
|
:aria-label="t('nav.kubeconfig.copy')"
|
|
655
603
|
@click="copyKubeConfig($event)"
|
|
656
604
|
>
|
|
657
|
-
|
|
658
|
-
<!-- 点击复制后显示对勾 -->
|
|
659
605
|
<i
|
|
660
606
|
v-if="kubeConfigCopying"
|
|
661
607
|
class="icon icon-checkmark icon-lg"
|
|
662
608
|
/>
|
|
663
|
-
|
|
664
|
-
<!-- 未复制状态显示复制图标 -->
|
|
665
609
|
<i
|
|
666
610
|
v-else
|
|
667
611
|
class="icon icon-copy icon-lg"
|
|
@@ -669,7 +613,6 @@ export default {
|
|
|
669
613
|
</button>
|
|
670
614
|
</template>
|
|
671
615
|
|
|
672
|
-
<!-- 资源搜索按钮 -->
|
|
673
616
|
<button
|
|
674
617
|
v-if="showSearch"
|
|
675
618
|
id="header-btn-search"
|
|
@@ -686,22 +629,9 @@ export default {
|
|
|
686
629
|
>
|
|
687
630
|
<i class="icon icon-search icon-lg" />
|
|
688
631
|
</button>
|
|
689
|
-
|
|
690
|
-
<!-- 搜索弹窗 -->
|
|
691
|
-
<app-modal
|
|
692
|
-
v-if="showSearch && showSearchModal"
|
|
693
|
-
class="search-modal"
|
|
694
|
-
name="searchModal"
|
|
695
|
-
width="50%"
|
|
696
|
-
height="auto"
|
|
697
|
-
:trigger-focus-trap="true"
|
|
698
|
-
return-focus-selector="#header-btn-search"
|
|
699
|
-
@close="hideSearch()"
|
|
700
|
-
>
|
|
701
|
-
</app-modal>
|
|
702
632
|
</div>
|
|
703
633
|
|
|
704
|
-
<!--
|
|
634
|
+
<!-- Extension header actions -->
|
|
705
635
|
<div
|
|
706
636
|
v-if="extensionHeaderActions.length"
|
|
707
637
|
class="header-buttons"
|
|
@@ -717,7 +647,7 @@ export default {
|
|
|
717
647
|
:data-testid="`extension-header-action-${ action.labelKey || action.label }`"
|
|
718
648
|
role="button"
|
|
719
649
|
tabindex="0"
|
|
720
|
-
:aria-label="action.label"
|
|
650
|
+
:aria-label="action.labelKey ? t(action.labelKey) : action.label"
|
|
721
651
|
@shortkey="handleExtensionAction(action, $event)"
|
|
722
652
|
@click="handleExtensionAction(action, $event)"
|
|
723
653
|
>
|
|
@@ -725,28 +655,26 @@ export default {
|
|
|
725
655
|
class="icon icon-lg"
|
|
726
656
|
:icon="action.icon"
|
|
727
657
|
:src="action.svg"
|
|
658
|
+
:img-alt="action.tooltipKey ? t(action.tooltipKey) : action.labelKey ? t(action.labelKey) : action.label ? action.label : t('generic.imageAlt')"
|
|
728
659
|
color="header"
|
|
729
660
|
/>
|
|
730
661
|
</button>
|
|
731
662
|
</div>
|
|
732
663
|
|
|
733
|
-
<!-- ===== 用户菜单(右上角头像 + 下拉) ===== -->
|
|
734
664
|
<div class="center-self">
|
|
735
665
|
<header-page-action-menu v-if="showPageActions" />
|
|
736
|
-
|
|
666
|
+
<NotificationCenter />
|
|
737
667
|
<rc-dropdown
|
|
738
668
|
v-if="showUserMenu"
|
|
739
669
|
:aria-label="t('nav.userMenu.label')"
|
|
740
670
|
>
|
|
741
|
-
|
|
742
|
-
<!-- 头像触发按钮 -->
|
|
743
671
|
<rc-dropdown-trigger
|
|
744
672
|
ghost
|
|
745
673
|
small
|
|
746
674
|
data-testid="nav_header_showUserMenu"
|
|
747
675
|
:aria-label="t('nav.userMenu.button.label')"
|
|
748
676
|
>
|
|
749
|
-
|
|
677
|
+
<img
|
|
750
678
|
v-if="principal && principal.avatarSrc"
|
|
751
679
|
:src="principal.avatarSrc"
|
|
752
680
|
:class="{'avatar-round': principal.roundAvatar}"
|
|
@@ -757,14 +685,10 @@ export default {
|
|
|
757
685
|
<i
|
|
758
686
|
v-else
|
|
759
687
|
class="icon icon-user icon-3x avatar"
|
|
760
|
-
/>
|
|
761
|
-
<i class="icon icon-usericon" style="padding-bottom: 5px;" />
|
|
762
|
-
<span class="login-name">{{ principal.loginName }}</span>
|
|
688
|
+
/>
|
|
763
689
|
</rc-dropdown-trigger>
|
|
764
|
-
|
|
765
|
-
<!-- 下拉菜单内容 -->
|
|
766
690
|
<template #dropdownCollection>
|
|
767
|
-
|
|
691
|
+
<template v-if="authEnabled">
|
|
768
692
|
<div class="user-info">
|
|
769
693
|
<div class="user-name">
|
|
770
694
|
<i class="icon icon-lg icon-user" /> {{ principal.loginName }}
|
|
@@ -776,34 +700,28 @@ export default {
|
|
|
776
700
|
</div>
|
|
777
701
|
</div>
|
|
778
702
|
<rc-dropdown-separator />
|
|
779
|
-
</template>
|
|
780
|
-
|
|
703
|
+
</template>
|
|
704
|
+
<rc-dropdown-item
|
|
781
705
|
v-if="showPreferencesLink"
|
|
782
706
|
@click="$router.push({ name: 'prefs'})"
|
|
783
707
|
>
|
|
784
708
|
{{ t('nav.userMenu.preferences') }}
|
|
785
|
-
</rc-dropdown-item>
|
|
786
|
-
|
|
787
|
-
<!-- 退出登录(支持 SLO 弹窗) -->
|
|
709
|
+
</rc-dropdown-item>
|
|
788
710
|
<rc-dropdown-item
|
|
789
711
|
v-if="showAccountAndApiKeyLink"
|
|
790
|
-
@click="
|
|
712
|
+
@click="$router.push({ name: 'account'})"
|
|
791
713
|
>
|
|
792
714
|
{{ t('nav.userMenu.accountAndKeys', {}, true) }}
|
|
793
715
|
</rc-dropdown-item>
|
|
794
|
-
|
|
795
|
-
<!-- 普通退出登录 -->
|
|
796
716
|
<rc-dropdown-item
|
|
797
717
|
v-if="authEnabled && shouldShowSloLogoutModal"
|
|
798
|
-
@click="
|
|
718
|
+
@click="showSloModal"
|
|
799
719
|
>
|
|
800
720
|
{{ t('nav.userMenu.logOut') }}
|
|
801
721
|
</rc-dropdown-item>
|
|
802
|
-
|
|
803
|
-
<!-- 普通退出登录 -->
|
|
804
722
|
<rc-dropdown-item
|
|
805
723
|
v-else-if="authEnabled"
|
|
806
|
-
@click="
|
|
724
|
+
@click="$router.push(generateLogoutRoute)"
|
|
807
725
|
>
|
|
808
726
|
{{ t('nav.userMenu.logOut') }}
|
|
809
727
|
</rc-dropdown-item>
|
|
@@ -821,7 +739,6 @@ export default {
|
|
|
821
739
|
HEADER {
|
|
822
740
|
display: flex;
|
|
823
741
|
z-index: z-index('mainHeader');
|
|
824
|
-
box-shadow: 0px 3px 3px 1px rgba(0,0,0,0.12);
|
|
825
742
|
|
|
826
743
|
> .spacer {
|
|
827
744
|
flex: 1;
|
|
@@ -939,7 +856,7 @@ export default {
|
|
|
939
856
|
|
|
940
857
|
> * {
|
|
941
858
|
background-color: var(--header-bg);
|
|
942
|
-
|
|
859
|
+
border-bottom: var(--header-border-size) solid var(--header-border);
|
|
943
860
|
}
|
|
944
861
|
|
|
945
862
|
.rd-header-right {
|
|
@@ -952,7 +869,7 @@ export default {
|
|
|
952
869
|
}
|
|
953
870
|
|
|
954
871
|
> .top {
|
|
955
|
-
padding-top:
|
|
872
|
+
padding-top: 6px;
|
|
956
873
|
|
|
957
874
|
INPUT[type='search']::placeholder,
|
|
958
875
|
.vs__open-indicator,
|
|
@@ -989,8 +906,6 @@ export default {
|
|
|
989
906
|
// Spacing between header buttons
|
|
990
907
|
.btn:not(:last-of-type) {
|
|
991
908
|
margin-right: 10px;
|
|
992
|
-
width: 30px;
|
|
993
|
-
min-width: 30px;
|
|
994
909
|
}
|
|
995
910
|
|
|
996
911
|
.btn:focus {
|
|
@@ -1012,8 +927,6 @@ export default {
|
|
|
1012
927
|
|
|
1013
928
|
.header-btn {
|
|
1014
929
|
width: 40px;
|
|
1015
|
-
display: flex;
|
|
1016
|
-
align-items: center;
|
|
1017
930
|
}
|
|
1018
931
|
|
|
1019
932
|
:deep() div .btn.role-tertiary {
|
|
@@ -1021,21 +934,19 @@ export default {
|
|
|
1021
934
|
border: none;
|
|
1022
935
|
background: var(--header-btn-bg);
|
|
1023
936
|
color: var(--header-btn-text);
|
|
1024
|
-
padding: 0
|
|
937
|
+
padding: 0 10px;
|
|
1025
938
|
line-height: 32px;
|
|
1026
939
|
min-height: 32px;
|
|
1027
|
-
width: 30px;
|
|
1028
|
-
min-width: 30px;
|
|
1029
940
|
|
|
1030
941
|
i {
|
|
1031
942
|
// Ideally same height as the parent button, but this means tooltip needs adjusting (which is it's own can of worms)
|
|
1032
943
|
line-height: 20px;
|
|
1033
944
|
}
|
|
1034
945
|
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
946
|
+
&:hover {
|
|
947
|
+
background: var(--primary);
|
|
948
|
+
color: #fff;
|
|
949
|
+
}
|
|
1039
950
|
|
|
1040
951
|
&[disabled=disabled] {
|
|
1041
952
|
background-color: rgba(0,0,0,0.25) !important;
|
|
@@ -1078,7 +989,7 @@ export default {
|
|
|
1078
989
|
|
|
1079
990
|
> .user {
|
|
1080
991
|
outline: none;
|
|
1081
|
-
|
|
992
|
+
width: var(--header-height);
|
|
1082
993
|
|
|
1083
994
|
.v-popper {
|
|
1084
995
|
display: flex;
|
|
@@ -1092,10 +1003,6 @@ export default {
|
|
|
1092
1003
|
.user-image {
|
|
1093
1004
|
display: flex;
|
|
1094
1005
|
align-items: center;
|
|
1095
|
-
&:hover{
|
|
1096
|
-
color: var(--primary);
|
|
1097
|
-
}
|
|
1098
|
-
|
|
1099
1006
|
}
|
|
1100
1007
|
|
|
1101
1008
|
&:focus {
|
|
@@ -1118,6 +1025,7 @@ export default {
|
|
|
1118
1025
|
> .center-self {
|
|
1119
1026
|
align-self: center;
|
|
1120
1027
|
display: flex;
|
|
1028
|
+
gap: 1rem;
|
|
1121
1029
|
align-items: center;
|
|
1122
1030
|
padding-right: 1rem;
|
|
1123
1031
|
}
|
|
@@ -1223,10 +1131,5 @@ export default {
|
|
|
1223
1131
|
}
|
|
1224
1132
|
}
|
|
1225
1133
|
}
|
|
1226
|
-
|
|
1227
|
-
font-size: 14px;
|
|
1228
|
-
margin-left: 5px;
|
|
1229
|
-
// margin-top: 5px;
|
|
1230
|
-
line-height: 20px;
|
|
1231
|
-
}
|
|
1134
|
+
|
|
1232
1135
|
</style>
|
|
@@ -977,10 +977,6 @@ export default {
|
|
|
977
977
|
.ns-singleton-info, .ns-clear {
|
|
978
978
|
align-items: center;
|
|
979
979
|
display: flex;
|
|
980
|
-
> i {
|
|
981
|
-
padding-right: 5px;
|
|
982
|
-
font-size: 10px;
|
|
983
|
-
}
|
|
984
980
|
}
|
|
985
981
|
|
|
986
982
|
.ns-input {
|
|
@@ -991,24 +987,26 @@ export default {
|
|
|
991
987
|
|
|
992
988
|
.ns-filter-input {
|
|
993
989
|
height: 24px;
|
|
994
|
-
border: 1px solid #d7d7d7;
|
|
995
|
-
padding: 0px 5px;
|
|
996
990
|
}
|
|
997
991
|
|
|
998
992
|
.ns-filter-clear {
|
|
999
993
|
cursor: pointer;
|
|
1000
994
|
position: absolute;
|
|
1001
995
|
right: 10px;
|
|
1002
|
-
top:
|
|
996
|
+
top: 10px;
|
|
1003
997
|
line-height: 24px;
|
|
1004
998
|
text-align: center;
|
|
1005
|
-
width:
|
|
999
|
+
width: 14px;
|
|
1000
|
+
min-height: 14px;
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
.ns-chip-button {
|
|
1004
|
+
min-height: 14px;
|
|
1006
1005
|
}
|
|
1007
1006
|
|
|
1008
1007
|
.ns-dropdown-menu {
|
|
1009
1008
|
background-color: var(--header-bg);
|
|
1010
|
-
|
|
1011
|
-
border: 1px solid #d7d7d7;;
|
|
1009
|
+
border: 1px solid var(--primary-border);
|
|
1012
1010
|
border-bottom-left-radius: var(--border-radius);
|
|
1013
1011
|
border-bottom-right-radius: var(--border-radius);
|
|
1014
1012
|
color: var(--header-btn-text);
|
|
@@ -1028,10 +1026,10 @@ export default {
|
|
|
1028
1026
|
}
|
|
1029
1027
|
|
|
1030
1028
|
.ns-divider {
|
|
1031
|
-
|
|
1029
|
+
border-top: 1px solid var(--border);
|
|
1032
1030
|
cursor: default;
|
|
1033
|
-
|
|
1034
|
-
|
|
1031
|
+
margin-top: 10px;
|
|
1032
|
+
padding-bottom: 10px;
|
|
1035
1033
|
}
|
|
1036
1034
|
|
|
1037
1035
|
.ns-option {
|
|
@@ -1071,7 +1069,7 @@ export default {
|
|
|
1071
1069
|
&.ns-selected:not(:hover) {
|
|
1072
1070
|
.ns-item {
|
|
1073
1071
|
> * {
|
|
1074
|
-
|
|
1072
|
+
color: var(--primary);
|
|
1075
1073
|
}
|
|
1076
1074
|
}
|
|
1077
1075
|
|
|
@@ -1124,7 +1122,7 @@ export default {
|
|
|
1124
1122
|
border-radius: var(--border-radius);
|
|
1125
1123
|
color: var(--header-btn-text);
|
|
1126
1124
|
cursor: pointer;
|
|
1127
|
-
height:
|
|
1125
|
+
height: 40px;
|
|
1128
1126
|
padding: 0 10px;
|
|
1129
1127
|
position: relative;
|
|
1130
1128
|
z-index: z-index('dropdownOverlay');
|
|
@@ -1132,8 +1130,7 @@ export default {
|
|
|
1132
1130
|
&.ns-open {
|
|
1133
1131
|
border-bottom-left-radius: 0;
|
|
1134
1132
|
border-bottom-right-radius: 0;
|
|
1135
|
-
|
|
1136
|
-
border-color: #d7d7d7;
|
|
1133
|
+
border-color: var(--primary-border);
|
|
1137
1134
|
}
|
|
1138
1135
|
|
|
1139
1136
|
> .ns-values {
|
|
@@ -1172,13 +1169,12 @@ export default {
|
|
|
1172
1169
|
border-radius: 5px;
|
|
1173
1170
|
color: var(--tag-text);
|
|
1174
1171
|
display: flex;
|
|
1175
|
-
|
|
1172
|
+
line-height: 20px;
|
|
1176
1173
|
padding: 2px 5px;
|
|
1177
1174
|
white-space: nowrap;
|
|
1178
1175
|
|
|
1179
1176
|
> i {
|
|
1180
1177
|
margin-left: 5px;
|
|
1181
|
-
font-size: 8px;
|
|
1182
1178
|
|
|
1183
1179
|
&:hover {
|
|
1184
1180
|
color: var(--primary);
|