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
|
@@ -52,10 +52,7 @@ export default {
|
|
|
52
52
|
helper.update(args);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
const topLevelPermissions = sessionStorage.getItem('TOPLEVELPERMISSIONS') || ''
|
|
56
|
-
|
|
57
55
|
return {
|
|
58
|
-
topLevelPermissions,
|
|
59
56
|
shown: false,
|
|
60
57
|
displayVersion,
|
|
61
58
|
fullVersion,
|
|
@@ -474,14 +471,12 @@ export default {
|
|
|
474
471
|
|
|
475
472
|
<template>
|
|
476
473
|
<div>
|
|
477
|
-
<!--
|
|
474
|
+
<!-- Overlay -->
|
|
478
475
|
<div
|
|
479
476
|
v-if="shown"
|
|
480
477
|
class="side-menu-glass"
|
|
481
478
|
@click="hide()"
|
|
482
479
|
/>
|
|
483
|
-
|
|
484
|
-
<!-- ====================== 菜单主容器(带淡入淡出过渡) ====================== -->
|
|
485
480
|
<transition name="fade">
|
|
486
481
|
<!-- Side menu -->
|
|
487
482
|
<div
|
|
@@ -492,11 +487,8 @@ export default {
|
|
|
492
487
|
role="navigation"
|
|
493
488
|
:aria-label="t('nav.ariaLabel.topLevelMenu')"
|
|
494
489
|
>
|
|
495
|
-
|
|
496
|
-
<!-- ====================== 菜单头部(Logo + 菜单按钮) ====================== -->
|
|
490
|
+
<!-- Logo and name -->
|
|
497
491
|
<div class="title">
|
|
498
|
-
|
|
499
|
-
<!-- 菜单按钮(汉堡图标) -->
|
|
500
492
|
<div
|
|
501
493
|
data-testid="top-level-menu"
|
|
502
494
|
:aria-label="t('nav.expandCollapseAppBar')"
|
|
@@ -507,8 +499,6 @@ export default {
|
|
|
507
499
|
@keyup.space="toggle()"
|
|
508
500
|
@click="toggle()"
|
|
509
501
|
>
|
|
510
|
-
|
|
511
|
-
<!-- 汉堡菜单SVG图标 -->
|
|
512
502
|
<svg
|
|
513
503
|
class="menu-icon"
|
|
514
504
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -521,22 +511,19 @@ export default {
|
|
|
521
511
|
fill="none"
|
|
522
512
|
/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" /></svg>
|
|
523
513
|
</div>
|
|
524
|
-
|
|
525
|
-
<!-- 品牌Logo -->
|
|
526
|
-
<div v-if="topLevelPermissions && topLevelPermissions === 'superadmin'" class="side-menu-logo">
|
|
514
|
+
<div class="side-menu-logo">
|
|
527
515
|
<BrandImage
|
|
528
516
|
data-testid="side-menu__brand-img"
|
|
529
517
|
:alt="t('nav.alt.mainMenuRancherLogo')"
|
|
530
|
-
file-name="logo.
|
|
518
|
+
file-name="rancher-logo.svg"
|
|
531
519
|
/>
|
|
532
520
|
</div>
|
|
533
521
|
</div>
|
|
534
522
|
|
|
535
|
-
<!--
|
|
523
|
+
<!-- Menu body -->
|
|
536
524
|
<div class="body">
|
|
537
|
-
<div
|
|
538
|
-
|
|
539
|
-
<!-- 首页按钮 -->
|
|
525
|
+
<div>
|
|
526
|
+
<!-- Home button -->
|
|
540
527
|
<div @click="hide()">
|
|
541
528
|
<router-link
|
|
542
529
|
class="option cluster selector home"
|
|
@@ -544,8 +531,6 @@ export default {
|
|
|
544
531
|
role="link"
|
|
545
532
|
:aria-label="t('nav.ariaLabel.homePage')"
|
|
546
533
|
>
|
|
547
|
-
|
|
548
|
-
<!-- 首页图标 -->
|
|
549
534
|
<svg
|
|
550
535
|
v-clean-tooltip="getTooltipConfig(t('nav.home'))"
|
|
551
536
|
class="top-menu-icon"
|
|
@@ -562,14 +547,12 @@ export default {
|
|
|
562
547
|
</div>
|
|
563
548
|
</router-link>
|
|
564
549
|
</div>
|
|
565
|
-
|
|
566
|
-
<!-- 集群搜索框 -->
|
|
550
|
+
<!-- Search bar -->
|
|
567
551
|
<div
|
|
568
552
|
v-if="showClusterSearch"
|
|
569
553
|
class="clusters-search"
|
|
570
554
|
>
|
|
571
555
|
<div class="clusters-search-count">
|
|
572
|
-
<!-- 当前搜索到的集群数量 -->
|
|
573
556
|
<span>{{ clusterFilterCount }}</span>
|
|
574
557
|
{{ t('nav.search.clusters') }}
|
|
575
558
|
<i
|
|
@@ -588,14 +571,10 @@ export default {
|
|
|
588
571
|
:tabindex="!shown ? -1 : 0"
|
|
589
572
|
:aria-label="t('nav.search.ariaLabel')"
|
|
590
573
|
>
|
|
591
|
-
|
|
592
|
-
<!-- 搜索图标 -->
|
|
593
574
|
<i
|
|
594
575
|
class="magnifier icon icon-search"
|
|
595
576
|
:class="{ active: clusterFilter }"
|
|
596
577
|
/>
|
|
597
|
-
|
|
598
|
-
<!-- 清空按钮 -->
|
|
599
578
|
<i
|
|
600
579
|
v-if="clusterFilter"
|
|
601
580
|
class="icon icon-close"
|
|
@@ -605,11 +584,9 @@ export default {
|
|
|
605
584
|
</div>
|
|
606
585
|
</div>
|
|
607
586
|
|
|
608
|
-
<!--
|
|
587
|
+
<!-- Harvester extras -->
|
|
609
588
|
<template v-if="hciApps.length">
|
|
610
589
|
<div class="category" />
|
|
611
|
-
|
|
612
|
-
<!-- 跳转 Harvester Dashboard -->
|
|
613
590
|
<div>
|
|
614
591
|
<a
|
|
615
592
|
v-if="isRancherInHarvester"
|
|
@@ -625,8 +602,6 @@ export default {
|
|
|
625
602
|
</div>
|
|
626
603
|
</a>
|
|
627
604
|
</div>
|
|
628
|
-
|
|
629
|
-
<!-- Harvester 应用列表 -->
|
|
630
605
|
<div
|
|
631
606
|
v-for="(a, i) in appBar.hciApps"
|
|
632
607
|
:key="i"
|
|
@@ -649,14 +624,14 @@ export default {
|
|
|
649
624
|
</div>
|
|
650
625
|
</template>
|
|
651
626
|
|
|
652
|
-
<!--
|
|
653
|
-
<template v-if="
|
|
627
|
+
<!-- Cluster menu -->
|
|
628
|
+
<template v-if="!!allClustersCount">
|
|
654
629
|
<div
|
|
655
630
|
ref="clusterList"
|
|
656
631
|
class="clusters"
|
|
657
632
|
:style="pinnedClustersHeight"
|
|
658
633
|
>
|
|
659
|
-
<!--
|
|
634
|
+
<!-- Pinned Clusters -->
|
|
660
635
|
<div
|
|
661
636
|
v-if="showPinClusters && pinFiltered.length"
|
|
662
637
|
class="clustersPinned"
|
|
@@ -667,13 +642,11 @@ export default {
|
|
|
667
642
|
:data-testid="`pinned-ready-cluster-${index}`"
|
|
668
643
|
@click="hide()"
|
|
669
644
|
>
|
|
670
|
-
|
|
671
|
-
<!-- 可用集群按钮 -->
|
|
672
|
-
<span
|
|
645
|
+
<button
|
|
673
646
|
v-if="c.ready"
|
|
674
647
|
v-shortkey.push="{windows: ['alt'], mac: ['option']}"
|
|
675
648
|
:data-testid="`pinned-menu-cluster-${ c.id }`"
|
|
676
|
-
class="
|
|
649
|
+
class="cluster selector option"
|
|
677
650
|
:class="{'active-menu-link': c.isMenuActive }"
|
|
678
651
|
:to="c.clusterRoute"
|
|
679
652
|
role="button"
|
|
@@ -703,9 +676,7 @@ export default {
|
|
|
703
676
|
:cluster="c"
|
|
704
677
|
:tab-order="shown ? 0 : -1"
|
|
705
678
|
/>
|
|
706
|
-
</
|
|
707
|
-
|
|
708
|
-
<!-- 不可用集群 -->
|
|
679
|
+
</button>
|
|
709
680
|
<span
|
|
710
681
|
v-else
|
|
711
682
|
class="option cluster selector disabled"
|
|
@@ -734,8 +705,6 @@ export default {
|
|
|
734
705
|
/>
|
|
735
706
|
</span>
|
|
736
707
|
</div>
|
|
737
|
-
|
|
738
|
-
<!-- 分割线 -->
|
|
739
708
|
<div
|
|
740
709
|
v-if="clustersFiltered.length > 0"
|
|
741
710
|
class="category-title"
|
|
@@ -744,7 +713,7 @@ export default {
|
|
|
744
713
|
</div>
|
|
745
714
|
</div>
|
|
746
715
|
|
|
747
|
-
<!--
|
|
716
|
+
<!-- Clusters Search result -->
|
|
748
717
|
<div class="clustersList">
|
|
749
718
|
<div
|
|
750
719
|
v-for="(c, index) in appBar.clustersFiltered"
|
|
@@ -752,13 +721,11 @@ export default {
|
|
|
752
721
|
:data-testid="`top-level-menu-cluster-${index}`"
|
|
753
722
|
@click="hide()"
|
|
754
723
|
>
|
|
755
|
-
|
|
756
|
-
<!-- 可用集群 -->
|
|
757
|
-
<span
|
|
724
|
+
<button
|
|
758
725
|
v-if="c.ready"
|
|
759
726
|
v-shortkey.push="{windows: ['alt'], mac: ['option']}"
|
|
760
727
|
:data-testid="`menu-cluster-${ c.id }`"
|
|
761
|
-
class="cluster selector option
|
|
728
|
+
class="cluster selector option"
|
|
762
729
|
:class="{'active-menu-link': c.isMenuActive }"
|
|
763
730
|
:to="c.clusterRoute"
|
|
764
731
|
role="button"
|
|
@@ -789,9 +756,7 @@ export default {
|
|
|
789
756
|
:tab-order="shown ? 0 : -1"
|
|
790
757
|
:cluster="c"
|
|
791
758
|
/>
|
|
792
|
-
</
|
|
793
|
-
|
|
794
|
-
<!-- 不可用集群 -->
|
|
759
|
+
</button>
|
|
795
760
|
<span
|
|
796
761
|
v-else
|
|
797
762
|
class="option cluster selector disabled"
|
|
@@ -823,7 +788,7 @@ export default {
|
|
|
823
788
|
</div>
|
|
824
789
|
</div>
|
|
825
790
|
|
|
826
|
-
<!--
|
|
791
|
+
<!-- No clusters message -->
|
|
827
792
|
<div
|
|
828
793
|
v-if="clustersFiltered.length === 0 && searchActive"
|
|
829
794
|
data-testid="top-level-menu-no-results"
|
|
@@ -833,7 +798,7 @@ export default {
|
|
|
833
798
|
</div>
|
|
834
799
|
</div>
|
|
835
800
|
|
|
836
|
-
<!--
|
|
801
|
+
<!-- See all clusters -->
|
|
837
802
|
<router-link
|
|
838
803
|
v-if="allClustersCount > maxClustersToShow"
|
|
839
804
|
class="clusters-all"
|
|
@@ -852,129 +817,104 @@ export default {
|
|
|
852
817
|
</router-link>
|
|
853
818
|
</template>
|
|
854
819
|
|
|
855
|
-
<!--
|
|
856
|
-
<div
|
|
857
|
-
<!-- 多集群应用 -->
|
|
820
|
+
<!-- MULTI CLUSTER APPS -->
|
|
821
|
+
<div class="category">
|
|
858
822
|
<template v-if="multiClusterApps.length">
|
|
859
|
-
<
|
|
860
|
-
|
|
861
|
-
|
|
823
|
+
<div
|
|
824
|
+
class="category-title"
|
|
825
|
+
>
|
|
826
|
+
<hr role="none">
|
|
827
|
+
<span>
|
|
828
|
+
{{ t('nav.categories.multiCluster') }}
|
|
829
|
+
</span>
|
|
830
|
+
</div>
|
|
831
|
+
<div
|
|
832
|
+
v-for="(a, i) in appBar.multiClusterApps"
|
|
833
|
+
:key="i"
|
|
834
|
+
@click="hide()"
|
|
835
|
+
>
|
|
836
|
+
<router-link
|
|
837
|
+
class="option"
|
|
838
|
+
:class="{'active-menu-link': a.isMenuActive }"
|
|
839
|
+
:to="a.to"
|
|
840
|
+
role="link"
|
|
841
|
+
:aria-label="`${t('nav.ariaLabel.multiClusterApps')} ${ a.label }`"
|
|
862
842
|
>
|
|
863
|
-
<
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
<
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
>
|
|
873
|
-
<router-link
|
|
874
|
-
class="option"
|
|
875
|
-
:class="{'active-menu-link': a.isMenuActive }"
|
|
876
|
-
:to="a.to"
|
|
877
|
-
role="link"
|
|
878
|
-
:aria-label="`${t('nav.ariaLabel.multiClusterApps')} ${ a.label }`"
|
|
879
|
-
>
|
|
880
|
-
<IconOrSvg
|
|
881
|
-
v-clean-tooltip="getTooltipConfig(a.label)"
|
|
882
|
-
class="app-icon"
|
|
883
|
-
:icon="a.icon"
|
|
884
|
-
:src="a.svg"
|
|
885
|
-
/>
|
|
886
|
-
<span class="option-link">{{ a.label }}</span>
|
|
887
|
-
</router-link>
|
|
888
|
-
</div>
|
|
889
|
-
</template>
|
|
890
|
-
</template>
|
|
891
|
-
<template v-else>
|
|
892
|
-
<template v-for="(a, i) in appBar.multiClusterApps" :key="i">
|
|
893
|
-
<div
|
|
894
|
-
v-if="a.value === 'harvesterManager'"
|
|
895
|
-
@click="hide()"
|
|
896
|
-
>
|
|
897
|
-
<router-link
|
|
898
|
-
class="option"
|
|
899
|
-
:class="{'active-menu-link': a.isMenuActive }"
|
|
900
|
-
:to="a.to"
|
|
901
|
-
role="link"
|
|
902
|
-
:aria-label="`${t('nav.ariaLabel.multiClusterApps')} ${ a.label }`"
|
|
903
|
-
>
|
|
904
|
-
<IconOrSvg
|
|
905
|
-
v-clean-tooltip="getTooltipConfig(a.label)"
|
|
906
|
-
class="app-icon"
|
|
907
|
-
:icon="a.icon"
|
|
908
|
-
:src="a.svg"
|
|
909
|
-
/>
|
|
910
|
-
<span class="option-link">{{ a.label }}</span>
|
|
911
|
-
</router-link>
|
|
912
|
-
</div>
|
|
913
|
-
</template>
|
|
914
|
-
</template>
|
|
843
|
+
<IconOrSvg
|
|
844
|
+
v-clean-tooltip="getTooltipConfig(a.label)"
|
|
845
|
+
class="app-icon"
|
|
846
|
+
:icon="a.icon"
|
|
847
|
+
:src="a.svg"
|
|
848
|
+
/>
|
|
849
|
+
<span class="option-link">{{ a.label }}</span>
|
|
850
|
+
</router-link>
|
|
851
|
+
</div>
|
|
915
852
|
</template>
|
|
916
853
|
|
|
917
|
-
<!--
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
854
|
+
<!-- Configuration apps menu -->
|
|
855
|
+
<template v-if="configurationApps.length">
|
|
856
|
+
<div
|
|
857
|
+
class="category-title"
|
|
858
|
+
>
|
|
859
|
+
<hr role="none">
|
|
860
|
+
<span>
|
|
861
|
+
{{ t('nav.categories.configuration') }}
|
|
862
|
+
</span>
|
|
863
|
+
</div>
|
|
864
|
+
<div
|
|
865
|
+
v-for="(a, i) in appBar.configurationApps"
|
|
866
|
+
:key="i"
|
|
867
|
+
@click="hide()"
|
|
868
|
+
>
|
|
869
|
+
<router-link
|
|
870
|
+
class="option"
|
|
871
|
+
:class="{'active-menu-link': a.isMenuActive }"
|
|
872
|
+
:to="a.to"
|
|
873
|
+
role="link"
|
|
874
|
+
:aria-label="`${t('nav.ariaLabel.configurationApps')} ${ a.label }`"
|
|
875
|
+
>
|
|
876
|
+
<IconOrSvg
|
|
877
|
+
v-clean-tooltip="getTooltipConfig(a.label)"
|
|
878
|
+
class="app-icon"
|
|
879
|
+
:icon="a.icon"
|
|
880
|
+
:src="a.svg"
|
|
881
|
+
/>
|
|
882
|
+
<div>{{ a.label }}</div>
|
|
883
|
+
</router-link>
|
|
884
|
+
</div>
|
|
885
|
+
</template>
|
|
886
|
+
</div>
|
|
887
|
+
</div>
|
|
888
|
+
|
|
889
|
+
<!-- Footer -->
|
|
890
|
+
<div
|
|
891
|
+
class="footer"
|
|
892
|
+
>
|
|
893
|
+
<div
|
|
894
|
+
v-if="canEditSettings"
|
|
895
|
+
class="support"
|
|
896
|
+
@click="hide()"
|
|
897
|
+
>
|
|
898
|
+
<router-link
|
|
899
|
+
:to="{name: 'support'}"
|
|
900
|
+
role="link"
|
|
901
|
+
:aria-label="t('nav.ariaLabel.support')"
|
|
902
|
+
>
|
|
903
|
+
{{ t('nav.support', {hasSupport}) }}
|
|
904
|
+
</router-link>
|
|
905
|
+
</div>
|
|
906
|
+
<div
|
|
907
|
+
class="version"
|
|
908
|
+
:class="{'version-small': largeAboutText}"
|
|
909
|
+
@click="hide()"
|
|
910
|
+
>
|
|
911
|
+
<router-link
|
|
912
|
+
:to="{ name: 'about' }"
|
|
913
|
+
role="link"
|
|
914
|
+
:aria-label="t('nav.ariaLabel.about')"
|
|
915
|
+
>
|
|
916
|
+
{{ aboutText }}
|
|
917
|
+
</router-link>
|
|
978
918
|
</div>
|
|
979
919
|
</div>
|
|
980
920
|
</div>
|
|
@@ -1033,10 +973,6 @@ export default {
|
|
|
1033
973
|
$option-padding-left: 14px;
|
|
1034
974
|
$option-height: $icon-size + $option-padding + $option-padding;
|
|
1035
975
|
|
|
1036
|
-
.clusterBtn {
|
|
1037
|
-
background-color: var(--nav-icon-badge-bg);
|
|
1038
|
-
}
|
|
1039
|
-
|
|
1040
976
|
.side-menu {
|
|
1041
977
|
.menu {
|
|
1042
978
|
position: absolute;
|
|
@@ -1133,6 +1069,7 @@ export default {
|
|
|
1133
1069
|
flex: 1;
|
|
1134
1070
|
display: flex;
|
|
1135
1071
|
flex-direction: column;
|
|
1072
|
+
margin: 10px 0;
|
|
1136
1073
|
width: 300px;
|
|
1137
1074
|
overflow: auto;
|
|
1138
1075
|
|
|
@@ -1140,7 +1077,7 @@ export default {
|
|
|
1140
1077
|
align-items: center;
|
|
1141
1078
|
cursor: pointer;
|
|
1142
1079
|
display: flex;
|
|
1143
|
-
color: var(--
|
|
1080
|
+
color: var(--link);
|
|
1144
1081
|
font-size: 14px;
|
|
1145
1082
|
height: $option-height;
|
|
1146
1083
|
white-space: nowrap;
|
|
@@ -1150,7 +1087,7 @@ export default {
|
|
|
1150
1087
|
border: none;
|
|
1151
1088
|
|
|
1152
1089
|
.cluster-badge-logo-text {
|
|
1153
|
-
color: var(--
|
|
1090
|
+
color: var(--default-active-text);
|
|
1154
1091
|
font-weight: 500;
|
|
1155
1092
|
}
|
|
1156
1093
|
|
|
@@ -1222,7 +1159,7 @@ export default {
|
|
|
1222
1159
|
.rancher-provider-icon,
|
|
1223
1160
|
svg {
|
|
1224
1161
|
margin-right: 16px;
|
|
1225
|
-
fill: var(--
|
|
1162
|
+
fill: var(--link);
|
|
1226
1163
|
}
|
|
1227
1164
|
|
|
1228
1165
|
.top-menu-icon {
|