dashboard-shell-shell 1.0.1000000118 → 3.0.2-rc.105

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.
Files changed (124) hide show
  1. package/assets/images/action.svg +6 -0
  2. package/assets/images/pl/logo.png +0 -0
  3. package/assets/styles/base/_functions.scss +0 -0
  4. package/assets/styles/base/_mixins.scss +1 -1
  5. package/assets/styles/global/_button.scss +17 -10
  6. package/assets/styles/global/_form.scss +2 -2
  7. package/assets/styles/global/_labeled-input.scss +6 -2
  8. package/assets/styles/global/_select.scss +6 -7
  9. package/assets/styles/global/_table.scss +3 -2
  10. package/assets/styles/global/_tooltip.scss +8 -1
  11. package/assets/styles/themes/_dark.scss +2 -0
  12. package/assets/styles/themes/_light.scss +5 -2
  13. package/assets/styles/vendor/vue-select.scss +2 -1
  14. package/assets/translations/en-us.yaml +1 -3
  15. package/assets/translations/zh-hans.yaml +51 -28
  16. package/components/ActionDropdown.vue +1 -0
  17. package/components/ActionMenuShell.vue +6 -3
  18. package/components/BrandImage.vue +22 -0
  19. package/components/ClusterIconMenu.vue +1 -1
  20. package/components/CodeMirror.vue +1 -0
  21. package/components/CruResource.vue +1 -1
  22. package/components/CruResourceFooter.vue +1 -1
  23. package/components/ExplorerProjectsNamespaces.vue +4 -24
  24. package/components/GlobalRoleBindings.vue +112 -48
  25. package/components/IndentedPanel.vue +4 -10
  26. package/components/PromptRemove.vue +3 -3
  27. package/components/ResourceDetail/Masthead.vue +190 -242
  28. package/components/ResourceDetail/index.vue +20 -5
  29. package/components/ResourceList/Masthead.vue +146 -84
  30. package/components/ResourceList/ResourceLoadingIndicator.vue +5 -2
  31. package/components/ResourceTable.vue +76 -1
  32. package/components/SideNav.vue +66 -29
  33. package/components/SortableTable/THead.vue +6 -0
  34. package/components/SortableTable/index.vue +478 -386
  35. package/components/Tabbed/index.vue +4 -5
  36. package/components/auth/Principal.vue +3 -2
  37. package/components/auth/RoleDetailEdit.vue +58 -5
  38. package/components/auth/SelectPrincipal.vue +1 -0
  39. package/components/form/BannerSettings.vue +18 -16
  40. package/components/form/ChangePassword.vue +4 -4
  41. package/components/form/ColorInput.vue +32 -8
  42. package/components/form/Footer.vue +1 -1
  43. package/components/form/InputWithSelect.vue +2 -0
  44. package/components/form/KeyValue.vue +31 -7
  45. package/components/form/LabeledSelect.vue +178 -178
  46. package/components/form/Members/ClusterPermissionsEditor.vue +1 -2
  47. package/components/form/Members/MembershipEditor.vue +1 -1
  48. package/components/form/NameNsDescription.vue +24 -11
  49. package/components/form/Password.vue +6 -2
  50. package/components/form/ResourceQuota/Namespace.vue +1 -1
  51. package/components/form/ResourceQuota/NamespaceRow.vue +13 -10
  52. package/components/form/ResourceQuota/ProjectRow.vue +0 -1
  53. package/components/form/Select.vue +2 -2
  54. package/components/nav/Favorite.vue +5 -1
  55. package/components/nav/Group.vue +69 -23
  56. package/components/nav/Header.vue +82 -17
  57. package/components/nav/HeaderPageActionMenu.vue +1 -0
  58. package/components/nav/NamespaceFilter.vue +0 -3
  59. package/components/nav/TopLevelMenu.vue +182 -119
  60. package/components/nav/Type.vue +48 -11
  61. package/composables/useClickOutside.ts +1 -1
  62. package/config/product/auth.js +16 -7
  63. package/config/product/explorer.js +1 -1
  64. package/config/product/settings.js +17 -8
  65. package/config/router/navigation-guards/index.js +3 -3
  66. package/config/settings.ts +28 -0
  67. package/edit/management.cattle.io.user.vue +17 -4
  68. package/edit/networking.k8s.io.ingress/RulePath.vue +1 -1
  69. package/edit/token.vue +1 -1
  70. package/list/harvesterhci.io.management.cluster.vue +17 -0
  71. package/list/management.cattle.io.setting.vue +22 -13
  72. package/list/management.cattle.io.user.vue +25 -14
  73. package/list/provisioning.cattle.io.cluster.vue +6 -7
  74. package/mixins/brand.js +17 -0
  75. package/package.json +1 -1
  76. package/pages/auth/login.vue +84 -29
  77. package/pages/c/_cluster/auth/roles/index.vue +61 -14
  78. package/pages/c/_cluster/settings/banners.vue +174 -101
  79. package/pages/c/_cluster/settings/brand.vue +348 -301
  80. package/pages/c/_cluster/settings/performance.vue +61 -38
  81. package/pages/home.vue +70 -21
  82. package/pages/prefs.vue +25 -23
  83. package/pkg/tsconfig.json +9 -9
  84. package/pkg/vue.config.js +1 -1
  85. package/promptRemove/mixin/roleDeletionCheck.js +2 -2
  86. package/scripts/clean +0 -0
  87. package/scripts/extension/bundle +0 -0
  88. package/scripts/extension/helm/scripts/package +0 -0
  89. package/scripts/extension/helm/scripts/patch +0 -0
  90. package/scripts/extension/helm/scripts/version +0 -0
  91. package/scripts/extension/helmpatch +0 -0
  92. package/scripts/extension/parse-tag-name +0 -0
  93. package/scripts/extension/publish +0 -0
  94. package/scripts/publish-shell.sh +86 -60
  95. package/scripts/serve-pkgs +0 -0
  96. package/scripts/sync-shell-deps +0 -0
  97. package/scripts/typegen.sh +44 -28
  98. package/store/i18n.js +5 -5
  99. package/store/prefs.js +17 -5
  100. package/store/type-map.js +2 -1
  101. package/types/shell/index.d.ts +1 -1
  102. package/utils/router.js +4 -4
  103. package/vue.config.js +1 -6
  104. package/components/rancherResourceDetail/Masthead.vue +0 -769
  105. package/components/rancherResourceDetail/__tests__/Masthead.test.ts +0 -65
  106. package/components/rancherResourceDetail/index.vue +0 -591
  107. package/components/rancherResourceList/Masthead.vue +0 -375
  108. package/components/rancherResourceList/ResourceLoadingIndicator.vue +0 -140
  109. package/components/rancherResourceList/index.vue +0 -307
  110. package/components/rancherResourceList/resource-list.config.js +0 -7
  111. package/components/rancherResourceTable.vue +0 -783
  112. package/components/rancherSortableTable/THead.vue +0 -561
  113. package/components/rancherSortableTable/actions.js +0 -153
  114. package/components/rancherSortableTable/advanced-filtering.js +0 -272
  115. package/components/rancherSortableTable/debug.js +0 -117
  116. package/components/rancherSortableTable/filtering.js +0 -290
  117. package/components/rancherSortableTable/grouping.js +0 -48
  118. package/components/rancherSortableTable/index.vue +0 -2712
  119. package/components/rancherSortableTable/paging.js +0 -155
  120. package/components/rancherSortableTable/selection.js +0 -629
  121. package/components/rancherSortableTable/sortable-config.ts +0 -4
  122. package/components/rancherSortableTable/sorting.js +0 -129
  123. package/types/cloud-shell/index.d.ts +0 -11014
  124. /package/components/{rancherResourceList → ResourceList}/Masthead-btn.vue +0 -0
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="20px" height="20px" xmlns="http://www.w3.org/2000/svg">
3
+ <g transform="matrix(1 0 0 1 -1960 -15 )">
4
+ <path d="M 4.8287499999999 2.354999999999997 L 6.447499999999991 3.571249999999999 C 6.944234952397892 3.296336798844159 7.471337243122889 3.0802940772178857 8.018125000000055 2.927500000000002 L 8.398124999999936 0.9375 L 11.7493750000001 0.9375 L 12.035000000000082 2.941875000000003 C 12.581875000000082 3.099375000000002 13.106250000000045 3.319375000000001 13.599999999999909 3.5974999999999966 L 15.275624999999991 2.458750000000002 L 17.64562500000011 4.828749999999999 L 16.429374999999936 6.447499999999998 C 16.704375000000027 6.943750000000001 16.920624999999973 7.469999999999999 17.07312499999989 8.018124999999998 L 19.0631249999999 8.3975 L 19.0631249999999 11.748750000000001 L 17.058749999999918 12.034374999999997 C 16.901757589331055 12.579743540043523 16.681731272105935 13.104954119959451 16.403125000000045 13.599375000000002 L 17.54187499999989 15.274999999999999 L 15.171875 17.645 L 13.553124999999909 16.428749999999997 C 13.056874999999991 16.70375 12.5306250000001 16.919999999999998 11.982500000000073 17.072499999999998 L 11.603125000000091 19.0625 L 8.251874999999927 19.0625 L 7.966249999999945 17.058124999999997 C 7.42088145995649 16.9011325893311 6.895670880040598 16.681106272105932 6.401249999999891 16.4025 L 4.724999999999909 17.541249999999998 L 2.355000000000018 15.17125 L 3.5712499999999636 13.552500000000002 C 3.2963316621476224 13.055767511417464 3.0802886889528054 12.52866460691385 2.927500000000009 11.981875000000002 L 0.9375 11.6025 L 0.9375 8.251249999999999 L 2.941874999999982 7.965625000000003 C 3.099375000000009 7.419375000000002 3.3193750000000364 6.894374999999997 3.597500000000082 6.400624999999998 L 2.458750000000009 4.725000000000001 L 4.8287499999999 2.354999999999997 Z M 10.916249999999991 3.958750000000002 L 10.664375000000064 2.1868750000000006 L 9.431250000000091 2.1868750000000006 L 9.09375 3.958750000000002 L 8.690624999999955 4.046875 C 7.99908602983669 4.198277484319469 7.339492954772595 4.469899520362475 6.741874999999936 4.849375000000002 L 6.376874999999927 5.080624999999998 L 4.945625000000064 4.005625000000002 L 4.073750000000018 4.877499999999998 L 5.087500000000091 6.369999999999997 L 4.865000000000009 6.716875000000002 C 4.482751297972072 7.31276074731386 4.207964337869953 7.971064842647195 4.053124999999909 8.661875000000002 L 3.959374999999909 9.083750000000002 L 2.1875 9.335625 L 2.1875 10.568125000000002 L 3.958750000000009 10.90625 L 4.046875 11.309375000000003 C 4.198388963584193 12.000879103122479 4.47000322511758 12.660453298964391 4.849375000000009 13.258125 L 5.080625000000055 13.623125000000002 L 4.005625000000009 15.054375 L 4.877500000000055 15.92625 L 6.369999999999891 14.912500000000001 L 6.716875000000073 15.135000000000002 C 7.31276074731386 15.517248702027885 7.971064842647138 15.792035662130075 8.661875000000009 15.946874999999999 L 9.083750000000009 16.040625 L 9.335624999999936 17.8125 L 10.568125000000009 17.8125 L 10.90625 16.04125 L 11.309375000000045 15.953125 C 12.000879103122543 15.801611036415771 12.660453298964285 15.529996774882413 13.258125000000064 15.150625000000002 L 13.623125000000073 14.919375000000002 L 15.054374999999936 15.994375000000002 L 15.926249999999982 15.122500000000002 L 14.912499999999909 13.629999999999995 L 15.134999999999991 13.283124999999998 C 15.517248702027928 12.68723925268614 15.792035662130047 12.028935157352805 15.946875000000091 11.338124999999998 L 16.04062500000009 10.916249999999998 L 17.8125 10.664375 L 17.8125 9.431249999999999 L 16.04124999999999 9.093125 L 15.953125 8.689999999999998 C 15.801611036415807 7.998495896877522 15.52999677488242 7.338921701035609 15.150624999999991 6.741250000000001 L 14.919374999999945 6.376249999999999 L 15.994374999999991 4.945 L 15.122499999999945 4.073124999999997 L 13.63000000000011 5.086874999999999 L 13.283124999999927 4.8643749999999955 C 12.687215183188528 4.482172208106064 12.028919443671839 4.207388735859226 11.338124999999991 4.052500000000002 L 10.916249999999991 3.958750000000002 Z M 10 6.25 C 12.071067811865532 6.25 13.75 7.9289321881345245 13.75 10 C 13.75 12.071067811865476 12.071067811865532 13.75 10 13.75 C 7.928932188134468 13.75 6.25 12.071067811865476 6.25 10 C 6.25 7.9289321881345245 7.928932188134468 6.25 10 6.25 Z M 10 7.5 C 8.619288125423054 7.5 7.5 8.619288125423019 7.5 10 C 7.5 11.380711874576981 8.619288125423054 12.5 10 12.5 C 11.380711874576946 12.5 12.5 11.380711874576981 12.5 10 C 12.5 8.619288125423019 11.380711874576946 7.5 10 7.5 Z " fill-rule="nonzero" fill="#555555" stroke="none" transform="matrix(1 0 0 1 1960 15 )" />
5
+ </g>
6
+ </svg>
Binary file
File without changes
@@ -159,5 +159,5 @@
159
159
  @mixin focus-outline {
160
160
  // Focus for form like elements (not to be confused with basic :focus style)
161
161
  // we need to use !important because it needs to superseed other classes that might impact outlines
162
- outline: 2px solid var(--primary-keyboard-focus);
162
+ // outline: 2px solid var(--primary-keyboard-focus);
163
163
  }
@@ -1,4 +1,4 @@
1
- $btn-padding: 0 10px 0 10px;
1
+ $btn-padding: 0 10px;
2
2
  $btn-sm-padding: 0 7px 0 7px;
3
3
  $btn-height: 32px;
4
4
  $btn-sm-height: 32px;
@@ -20,13 +20,14 @@ button,
20
20
  -ms-user-select: none;
21
21
  user-select: none;
22
22
  border: 0;
23
- // padding: $btn-padding;
23
+ padding: $btn-padding;
24
24
  border-radius: var(--border-radius);
25
- color: var(--lightest);
25
+ // color: var(--lightest);
26
26
  line-height: $btn-height !important;
27
27
  height: $btn-height !important;
28
28
  min-width: 100px;
29
29
  justify-content: center;
30
+
30
31
 
31
32
  > .icon:not(:only-child) {
32
33
  margin-right: 6px;
@@ -34,7 +35,7 @@ button,
34
35
 
35
36
  &:hover {
36
37
  text-decoration: none;
37
- color: var(--lightest);
38
+ // color: var(--lightest);
38
39
  }
39
40
 
40
41
  &.bg-transparent {
@@ -42,6 +43,10 @@ button,
42
43
  }
43
44
  }
44
45
 
46
+ .bg-primary {
47
+ color: var(--lightest);
48
+ }
49
+
45
50
  //icon button
46
51
  .icon-btn {
47
52
  padding: 0;
@@ -63,7 +68,7 @@ button,
63
68
  padding: $btn-sm-padding;
64
69
  min-height: $btn-sm-height;
65
70
  line-height: 32px;
66
- width: 100px;
71
+ min-width: 100px;
67
72
  }
68
73
 
69
74
  //btn roles
@@ -94,10 +99,11 @@ button,
94
99
  // border: solid 1px var(--primary);
95
100
  border: solid 1px #d9d9d9;
96
101
  line-height: $btn-height - 2px;
97
- width: 100px;
102
+ min-width: 100px;
98
103
 
99
104
  &:hover, &._hover {
100
- color: var(--lightest) !important;
105
+ // color: var(--lightest) !important;
106
+ color: var(--input-label) !important;
101
107
  box-shadow: 0 4px 6px 0 rgba(0,0,0,.2)!important;
102
108
  }
103
109
 
@@ -105,7 +111,8 @@ button,
105
111
  background: transparent;
106
112
  box-shadow: 0 4px 6px 0 rgba(0,0,0,.2)!important;
107
113
  // background-color: var(--primary-hover-bg);
108
- color: var(--lightest) !important;
114
+ // color: var(--lightest) !important;
115
+ color: var(--input-label) !important;
109
116
  // color: var(--primary-text) !important;
110
117
  }
111
118
 
@@ -162,8 +169,8 @@ button,
162
169
  }
163
170
 
164
171
  .role-multi-action {
165
- // background: var(--accent-btn);
166
- border: solid thin var(--primary);
172
+ // background: var(--accent-btn);
173
+ // border: solid thin var(--primary);
167
174
  color: var(--primary) !important;
168
175
  border-radius: 2px;
169
176
  min-width: 32px;
@@ -20,11 +20,11 @@ TEXTAREA,
20
20
  box-sizing: border-box;
21
21
  width: 100%;
22
22
  // padding: 4px 11px;
23
- // background-color: var(--input-bg);
24
23
  // border-radius: var(--border-radius);
25
- // border: solid var(--border-width) var(--input-border);
26
24
 
27
25
  color: var(--input-text);
26
+ background-color: var(--input-bg);
27
+ border: solid var(--border-width) var(--input-border);
28
28
 
29
29
 
30
30
  @include input-status-color;
@@ -10,6 +10,7 @@
10
10
 
11
11
  &.compact-input {
12
12
  min-height: $unlabeled-input-height;
13
+ // padding: 0 10px;
13
14
 
14
15
  INPUT.no-label {
15
16
  line-height: $input-line-height;
@@ -73,7 +74,7 @@
73
74
  padding: 0 0 0 0;
74
75
  // line-height: calc(#{$input-line-height} + 1px);
75
76
  line-height: calc(29px + 1px);
76
- border: solid var(--border-width) var(--input-border);
77
+ // border: solid var(--border-width) var(--input-border);
77
78
  padding: 0px 11px;
78
79
  box-sizing: border-box;
79
80
  border-radius: 2px;
@@ -122,7 +123,10 @@
122
123
  font-weight: normal;
123
124
  line-height: 1;
124
125
  text-align: center;
125
- background-color: #fff;
126
+ position: absolute;
127
+ top: 5px;
128
+ right: 5px;
129
+ // background-color: #fff;
126
130
  }
127
131
  }
128
132
 
@@ -2,9 +2,7 @@
2
2
  cursor: text;
3
3
  padding: 0;
4
4
  width: 100%;
5
- &:hover{
6
- box-shadow: 0 4px 6px 0 var(--input-border-box-shadow);
7
- }
5
+
8
6
  .selected {
9
7
  padding-top: $input-padding-lg;
10
8
  }
@@ -23,7 +21,7 @@
23
21
  .labeled-select,
24
22
  .unlabeled-select {
25
23
  min-width: 75px;
26
- height: 32px;
24
+ min-height: 32px;
27
25
  width: $input-width;
28
26
 
29
27
  .required {
@@ -106,7 +104,8 @@
106
104
  width: unset !important;
107
105
 
108
106
  &:not(:only-child) {
109
- margin-bottom: 3px;
107
+ margin-bottom: 2px;
108
+ margin-top: 2px;
110
109
  }
111
110
  }
112
111
  }
@@ -167,7 +166,7 @@
167
166
  height: 100%;
168
167
 
169
168
  .vs__dropdown-toggle {
170
- height: 100%;
169
+ // height: 100%;
171
170
  }
172
171
  .vs__actions {
173
172
  width: auto;
@@ -197,6 +196,6 @@
197
196
  }
198
197
 
199
198
  .labeled-tooltip .status-icon {
200
- top: $input-padding-sm;
199
+ // top: $input-padding-sm;
201
200
  }
202
201
  }
@@ -105,7 +105,8 @@
105
105
  }
106
106
  }
107
107
 
108
-
108
+
109
109
  .sortable-table tbody tr.group-row td:first-of-type {
110
110
  background-color: var(--sortable-table-bg) !important;
111
- }
111
+ }
112
+
@@ -126,6 +126,7 @@
126
126
  border-radius: var(--border-radius-lg);
127
127
 
128
128
  .v-popper__inner {
129
+ border-radius: 4px;
129
130
  background: $color;
130
131
  color: var(--popover-text);
131
132
  padding: 10px;
@@ -146,7 +147,9 @@
146
147
  }
147
148
 
148
149
  .v-popper__popper.v-popper--theme-dropdown {
150
+ border-radius: 4px;
149
151
  z-index: z-index('tooltip');
152
+ border: 1px solid #d9d9d9 !important;
150
153
 
151
154
  &.containerLogsDropdown, &.fleet-summary-tooltip{
152
155
  .v-popper__arrow-container {
@@ -203,4 +206,8 @@
203
206
  .v-popper__inner {
204
207
  padding: 0px;
205
208
  }
206
- }
209
+ }
210
+
211
+ // .v-popper__arrow-container {
212
+ // display: none;
213
+ // }
@@ -38,6 +38,8 @@
38
38
 
39
39
  --slate: #{$slate};
40
40
 
41
+ --lightest : #{rgba($lightest, 1)};
42
+
41
43
  --default : #{$dark};
42
44
  --default-text : #{$light};
43
45
  --default-hover-bg : #{darken($dark, 10%)};
@@ -6,7 +6,7 @@ $darkest : #333;
6
6
  $darker : #333;
7
7
 
8
8
  //light disabled
9
- $dark : #B6B6C2;
9
+ $dark : #ffffff;
10
10
 
11
11
  //light border and buttons
12
12
  $medium : #d7d7d7;
@@ -30,7 +30,7 @@ $secondary : $darker;
30
30
  $link : #1890FF;
31
31
 
32
32
  // Status colors
33
- $success : #5D995D;
33
+ $success : #1890FF;
34
34
  $warning : #DAC342;
35
35
  $error : #F64747;
36
36
  // $error : #A30014;
@@ -112,6 +112,8 @@ BODY, .theme-light {
112
112
  }
113
113
  }
114
114
 
115
+ --lightest : #{rgba($lightest, 1)};
116
+
115
117
  --default : #{$light};
116
118
  --default-text : #{contrast-color($light)};
117
119
  --default-hover-bg : #{darken($light, 10%)};
@@ -337,6 +339,7 @@ BODY, .theme-light {
337
339
  --nav-hover : #{$medium};
338
340
  --nav-hover-color :#1890FF;
339
341
  --nav-expander-hover : #{darken($medium, 10%)};
342
+ --nav-icon-badge-bg : #{$dark};
340
343
  --nav-border : #{$medium};
341
344
  --nav-border-size : 1px;
342
345
 
@@ -321,6 +321,7 @@ $transition-duration: 150ms;
321
321
  }
322
322
  .vs__selected {
323
323
  color: var(--input-text);
324
+ background-color: rgba(0, 0, 0, 0);
324
325
  }
325
326
  }
326
327
 
@@ -330,7 +331,7 @@ $transition-duration: 150ms;
330
331
  }
331
332
  .vs__dropdown-toggle {
332
333
  background-color: var(--input-bg);
333
- border: none;
334
+ border: none !important;
334
335
  padding: none;
335
336
  border-radius: var(--border-radius);
336
337
  border: 1px solid var(--dropdown-border);
@@ -7732,9 +7732,7 @@ advancedSettings:
7732
7732
  'ui-default-landing': 'The default page users land on after login.'
7733
7733
  'brand': Folder name for an alternative theme defined in '/assets/brand'
7734
7734
  'hide-local-cluster': Hide the local cluster
7735
- 'agent-tls-mode': "Rancher Certificate Verification. In `strict` mode the agents (system, cluster, fleet, etc) will only trust Rancher installations which are using a certificate signed by the CABundle in the `cacerts` setting. When the mode is system-store, the agents will trust any certificate signed by a CABundle in the operating system’s trust store."
7736
- 'k3s-based-upgrader-uninstall-concurrency': Defines the maximum number of clusters in which Rancher can concurrently uninstall the legacy `rancher-k3s-upgrader` or `rancher-rke2-upgrader` app from imported K3s or RKE2 clusters.
7737
- 'imported-cluster-version-management': Enables version management for imported RKE2/K3s clusters, and the local cluster if it is an RKE2/K3s cluster. The per-cluster version management setting overrides this global setting at the cluster level. For existing clusters where the cluster-level version management is set to 'system-default', changing this flag will trigger a redeployment of the cluster agent during the next reconciliation (by default every 5 minutes, or as soon as the cluster is edited, whichever comes first).
7735
+
7738
7736
  warnings:
7739
7737
  'agent-tls-mode': 'Changing this setting will cause all agents to be redeployed.'
7740
7738
  editHelp:
@@ -118,7 +118,7 @@ locale:
118
118
  none: (None)
119
119
 
120
120
  nav:
121
- harvesterDashboard: Harvester 仪表板
121
+ harvesterDashboard: Cloud 仪表板
122
122
  backToRancher: Cluster Manager
123
123
  clusterTools: 集群工具
124
124
  kubeconfig:
@@ -1212,7 +1212,7 @@ cluster:
1212
1212
  label: vSphere
1213
1213
  note: '<b>重要</b>:在附加配置标签中配置 vSphere 云提供商和存储提供商选项。'
1214
1214
  harvester:
1215
- label: Harvester
1215
+ label: Cloud
1216
1216
  copyConfig: 将 KubeConfig 复制到剪切板
1217
1217
  copiedConfig: 已将 KubeConfig 复制到剪切板
1218
1218
  custom:
@@ -1371,26 +1371,26 @@ cluster:
1371
1371
  kubeconfigContent:
1372
1372
  label: KubeconfigContent
1373
1373
  placeholder: '资源组/名称'
1374
- cluster: 导入的 Harvester 集群
1374
+ cluster: 导入的 Cloud 集群
1375
1375
  installGuestAgent: 安装访客代理
1376
1376
  description:
1377
1377
  label: 集群描述
1378
1378
  placeholder: 输入可以描述该集群的文本
1379
1379
  harvester:
1380
- importNotice: 导入 Harvester 集群的方式:
1380
+ importNotice: 导入 Cloud 集群的方式:
1381
1381
  warning:
1382
- label: 这是一个 Harvester 集群 - 请启用 Harvester 功能开关以对其进行管理。
1382
+ label: 这是一个 Cloud 集群 - 请启用 Cloud 功能开关以对其进行管理。
1383
1383
  state: 警告
1384
1384
  cloudProvider:
1385
1385
  incompatible:
1386
- 由于当前的 Harvester 版本与所选的 RKE2 Kubernetes 版本不兼容,因此你无法选择 Harvester cloud provider。请单击 <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.suse.com/suse-harvester/support-matrix/all-supported-versions">此处</a>查看支持的 Kubernetes 版本。
1386
+ 由于当前的 Cloud 版本与所选的 RKE2 Kubernetes 版本不兼容,因此你无法选择 Cloud cloud provider。请单击 <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.suse.com/suse-Cloud/support-matrix/all-supported-versions">此处</a>查看支持的 Kubernetes 版本。
1387
1387
  clusterWarning: |-
1388
1388
  还有 {count, plural,
1389
- =1 {1 个 Harvester 集群未显示}
1390
- other { # 个 Harvester 集群未显示}
1389
+ =1 {1 个 Cloud 集群未显示}
1390
+ other { # 个 Cloud 集群未显示}
1391
1391
  }
1392
1392
  registration:
1393
- step1: "1. 前往目标 Harvester UI 的<code>高级设置</code>页面。"
1393
+ step1: "1. 前往目标 Cloud UI 的<code>运维管理 -> 集群配置 -> 高级配置</code>页面。"
1394
1394
  step2: '2. 找到<code>cluster-registration-url</code>设置项,并点击<code><i class="icon icon-actions" ></i></code> -> <code>编辑设置</code>按钮。'
1395
1395
  step3: "3. 输入以下注册 URL,并点击<code>保存</code>。"
1396
1396
  step4: "注册 URL"
@@ -1859,7 +1859,7 @@ cluster:
1859
1859
  google: Google GCE
1860
1860
  googlegke: Google GKE
1861
1861
  gke: Google GKE
1862
- harvester: Harvester
1862
+ harvester: Cloud
1863
1863
  huaweicce: 华为 CCE
1864
1864
  import: 通用
1865
1865
  imported: 已导入
@@ -2192,21 +2192,21 @@ fleet:
2192
2192
  clusters:
2193
2193
  harvester: |-
2194
2194
  还有 {count, plural,
2195
- =1 {1个 Harvester 集群未显示,因为它不能与持续交付一起使用。}
2196
- other { #个 Harvester 集群未显示,因为它们不能与持续交付一起使用。}
2195
+ =1 {1个 Cloud 集群未显示,因为它不能与持续交付一起使用。}
2196
+ other { #个 Cloud 集群未显示,因为它们不能与持续交付一起使用。}
2197
2197
  }
2198
2198
  tokens:
2199
2199
  harvester: |-
2200
2200
  {count, plural,
2201
- =1 {1个 Token 未显示,因为它属于不能与持续交付一起使用的 Harvester 集群。}
2202
- other {#个 Token 未显示,因为它属于不能与持续交付一起使用的 Harvester 集群。}
2201
+ =1 {1个 Token 未显示,因为它属于不能与持续交付一起使用的 Cloud 集群。}
2202
+ other {#个 Token 未显示,因为它属于不能与持续交付一起使用的 Cloud 集群。}
2203
2203
  }
2204
2204
  bundles:
2205
2205
  resources: 资源
2206
2206
  harvester: |-
2207
2207
  {count, plural,
2208
- =1 {1 个 Bundle 未显示,因为它属于不能与持续交付一起使用的 Harvester 集群。}
2209
- other {# 个 Bundle 未显示,因为它属于不能与持续交付一起使用的 Harvester 集群。}
2208
+ =1 {1 个 Bundle 未显示,因为它属于不能与持续交付一起使用的 Cloud 集群。}
2209
+ other {# 个 Bundle 未显示,因为它属于不能与持续交付一起使用的 Cloud 集群。}
2210
2210
  }
2211
2211
  fleetSummary:
2212
2212
  noClustersGitRepo: 这个 Git 仓库不针对任何集群
@@ -2826,7 +2826,7 @@ landing:
2826
2826
  bannerImage: Homepage banner image
2827
2827
  homepage: Homepage
2828
2828
  clusters:
2829
- title: 集群
2829
+ title: Cloud 集群
2830
2830
  provider: 提供商
2831
2831
  kubernetesVersion: Kubernetes 版本
2832
2832
  explorer: 浏览器
@@ -3845,7 +3845,7 @@ persistentVolume:
3845
3845
  disk-csi-azure-com: Azure 磁盘 (CSI)
3846
3846
  file-csi-azure-com: Azure 文件 (CSI)
3847
3847
  driver-longhorn-io: Longhorn (CSI)
3848
- driver-harvesterhci-io: Harvester (CSI)
3848
+ driver-harvesterhci-io: Cloud (CSI)
3849
3849
  nfs-csi-k8s-io: NFS (CSI)
3850
3850
  ebs-csi-aws-com: AWS Elastic Block Store (CSI)
3851
3851
  rbd-csi-ceph-com: Ceph RBD (CSI)
@@ -5066,7 +5066,7 @@ setup:
5066
5066
  defaultPassword:
5067
5067
  intro: 这是你第一次访问 {vendor}。如果你预先设置了 Bootstrap 密码,请在此处输入。否则我们会为你生成一个随机密码。找到它:<br/><br/>
5068
5068
  dockerPrefix: '"docker run" 安装:'
5069
- dockerPs: '运行<code>docker ps</code>找到你的容器 ID,然后运行:'
5069
+ dockerPs: '运行<code style="background-color: #68686850;border: none;">docker ps</code>找到你的容器 ID,然后运行:'
5070
5070
  dockerSuffix: ""
5071
5071
  helmPrefix: 'Helm 安装,运行:'
5072
5072
  helmSuffix: ""
@@ -5405,13 +5405,13 @@ storageClass:
5405
5405
  title: (已弃用)
5406
5406
  warning: '{provisioner} 树内插件已弃用。你可以在<a target="_blank" rel="noopener noreferrer nofollow" href="https://kubernetes-csi.github.io/docs/drivers.html">这里</a>查找 CSI 驱动。'
5407
5407
  harvesterhci:
5408
- title: Harvester (CSI)
5408
+ title: Cloud (CSI)
5409
5409
  warning:
5410
- unSatisfiesVersion: 请升级 Harvester CSI 驱动版本来使用此功能(csi-driver >= v0.1.15)
5410
+ unSatisfiesVersion: 请升级 Cloud CSI 驱动版本来使用此功能(csi-driver >= v0.1.15)
5411
5411
  hostStorageClass:
5412
5412
  label: 主机存储类
5413
- placeholder: 主机 Harvester 集群上的存储类名称
5414
- tooltip: 默认使用主机 Harvester 集群上的默认存储类。
5413
+ placeholder: 主机 Cloud 集群上的存储类名称
5414
+ tooltip: 默认使用主机 Cloud 集群上的默认存储类。
5415
5415
 
5416
5416
  tableHeaders:
5417
5417
  assuredConcurrencyShares: 确保并发份额
@@ -5624,6 +5624,10 @@ tableHeaders:
5624
5624
  users: 用户
5625
5625
  userDisplayName: 显示名称
5626
5626
  userId: ID
5627
+ userDeletedIn: 到期删除
5628
+ userDisabledIn: 到期禁用
5629
+ userLastLogin: 最后登录
5630
+ userState: 启用状态
5627
5631
  userStatus: 状态
5628
5632
  username: 本地用户名
5629
5633
  value: 值
@@ -6593,8 +6597,8 @@ typeLabel:
6593
6597
  }
6594
6598
  management.cattle.io.setting: |-
6595
6599
  {count, plural,
6596
- one { 设置 }
6597
- other { 设置 }
6600
+ one { 基础设置 }
6601
+ other { 基础设置 }
6598
6602
  }
6599
6603
  management.cattle.io.fleetworkspace: |-
6600
6604
  {count, plural,
@@ -6849,8 +6853,8 @@ typeLabel:
6849
6853
  }
6850
6854
  harvesterhci.io.management.cluster: |-
6851
6855
  {count, plural,
6852
- one { Harvester 集群 }
6853
- other { Harvester 集群 }
6856
+ one { Cloud 集群 }
6857
+ other { Cloud 集群 }
6854
6858
  }
6855
6859
  harvesterhci.io.cloudtemplate: |-
6856
6860
  {count, plural,
@@ -7165,6 +7169,9 @@ advancedSettings:
7165
7169
  'ui-default-landing': '用户登录后的默认页面。'
7166
7170
  'brand': 在'/assets/brand'中定义,用于替代主题的文件夹名称
7167
7171
  'hide-local-cluster': 隐藏 local 集群
7172
+ 'agent-tls-mode': "Rancher 证书验证。在 strict(严格)模式下,代理(系统、集群、Fleet 等)将仅信任使用由 cacerts 设置中的 CABundle 签名的证书的 Rancher 安装。当模式为 system-store(系统存储)时,代理将信任由操作系统信任存储中的 CABundle 签名的任何证书。"
7173
+ 'k3s-based-upgrader-uninstall-concurrency': "定义 Rancher 可并发从导入的 K3s 或 RKE2 集群中卸载旧版 rancher-k3s-upgrader 或 rancher-rke2-upgrader 应用程序的最大集群数量。"
7174
+ 'imported-cluster-version-management': "为导入的 RKE2/K3s 集群启用版本管理,如果本地集群是 RKE2/K3s 集群,则也对其生效。集群级别的版本管理设置会在集群层面覆盖此全局设置。对于集群级别版本管理设置为 'system-default'(系统默认)的现有集群,更改此标志将在下一次协调期间(默认每 5 分钟一次,或一旦编辑集群便立即触发,以先到者为准)触发集群代理的重新部署。"
7168
7175
  editHelp:
7169
7176
  'ui-banners': 此设置使用包含 3 个根参数的 JSON 对象,分别是<code>banner</code>、<code>showHeader</code>和<code>showFooter</code>。<code>banner</code> 是包含 <code>textColor</code>,<code>background</code>和<code>text</code>的对象,其中<code>textColor</code> 和 <code>background</code>的值可以是任何有效的 CSS 颜色值。
7170
7177
  enum:
@@ -7198,7 +7205,7 @@ featureFlags:
7198
7205
  title: 等待重启
7199
7206
  wait: 重启需要数分钟。
7200
7207
  description:
7201
- harvester: 接入 Harvester,以导入和管理 Harvester 集群
7208
+ harvester: 接入 Cloud,以导入和管理 Cloud 集群
7202
7209
  unsupported-storage-drivers: 允许使用非默认启用的存储提供商和卷插件
7203
7210
  legacy: 启用旧版功能
7204
7211
  istio-virtual-service-ui: 暴露了一个用户界面,使用户能够创建、读取、更新和删除虚拟服务和目标规则,这是 Istio 的流量管理功能。
@@ -7316,6 +7323,22 @@ branding:
7316
7323
  uploadLight: 上传浅色 Logo
7317
7324
  uploadDark: 上传深色 Logo
7318
7325
  useCustom: 使用自定义 Logo
7326
+ banner:
7327
+ label: 横幅
7328
+ tip: '上传图片以替换仪表板页面中的默认 Rancher 横幅。推荐使用宽高比为 6:1 的 SVG 图像。默认图片尺寸为 4197x633。最大文件大小为 200KB。可接受格式:JPEG、PNG、SVG。'
7329
+ lightPreview: 浅色主题预览
7330
+ darkPreview: 深色主题预览
7331
+ uploadLight: 上传浅色横幅
7332
+ uploadDark: 上传深色横幅
7333
+ useCustom: 使用自定义横幅
7334
+ loginBackground:
7335
+ label: 登录背景
7336
+ tip: '上传图片以替换登录页面的默认 Rancher 背景。推荐使用宽高比为 7:8 的 SVG 图像。默认图片尺寸为 683x768。最大文件大小为 200KB。可接受格式:JPEG、PNG、SVG。'
7337
+ lightPreview: 浅色主题预览
7338
+ darkPreview: 深色主题预览
7339
+ uploadLight: 上传浅色背景
7340
+ uploadDark: 上传深色背景
7341
+ useCustom: 使用自定义背景
7319
7342
  favicon:
7320
7343
  label: 网站图标
7321
7344
  tip: '上传一个网站图标来替换浏览器选项卡中的 Rancher 图标。最大文件大小为 20KB'
@@ -212,6 +212,7 @@ export default {
212
212
  border: 1px solid var(--dropdown-border);
213
213
  padding: 0px;
214
214
  text-align: left;
215
+ border-radius: 4px;
215
216
 
216
217
  LI {
217
218
  padding: 10px;
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { computed } from 'vue';
2
+ import { computed, onMounted } from 'vue';
3
3
  import { useStore } from 'vuex';
4
4
  import { useRoute } from 'vue-router';
5
5
 
@@ -18,7 +18,6 @@ type RcDropdownMenuComponentProps = {
18
18
  dataTestid?: string;
19
19
  resource: Object;
20
20
  customActions?: DropdownOption[];
21
- showIcon?: Boolean;
22
21
  }
23
22
 
24
23
  const props = defineProps <RcDropdownMenuComponentProps>();
@@ -84,6 +83,7 @@ const execute = (action: any, event: MouseEvent, args?: any) => {
84
83
  const options = computed(() => store.getters['action-menu/optionsArray']);
85
84
 
86
85
  const menuOptions = () => {
86
+
87
87
  if (props.customActions && props.customActions.length > 0) {
88
88
  return props.customActions;
89
89
  }
@@ -91,6 +91,9 @@ const menuOptions = () => {
91
91
  return options.value;
92
92
  };
93
93
 
94
+ onMounted(() => {
95
+ })
96
+
94
97
  </script>
95
98
 
96
99
  <template>
@@ -101,8 +104,8 @@ const menuOptions = () => {
101
104
  :dropdown-aria-label="dropdownAriaLabel"
102
105
  :options="menuOptions()"
103
106
  :data-testid="dataTestid"
104
- :showIcon="showIcon"
105
107
  @update:open="openChanged"
106
108
  @select="(e: MouseEvent, option: object) => execute(option, e)"
109
+ :showIcon="false"
107
110
  />
108
111
  </template>
@@ -79,37 +79,56 @@ export default {
79
79
  },
80
80
 
81
81
  pathToBrandedImage() {
82
+
83
+ console.log(this.fileName, ' this.fileName;')
84
+
82
85
  if (this.fileName === 'rancher-logo.svg' || this.supportCustomLogo) {
83
86
  if (this.theme === 'dark' && this.uiLogoDark) {
87
+
88
+ console.log(this.uiLogoDark, ' this.uiLogoDark;')
89
+
84
90
  return this.uiLogoDark;
85
91
  }
86
92
 
87
93
  if (this.uiLogoLight) {
94
+ console.log(this.uiLogoLight, ' this.uiLogoLight;')
95
+
88
96
  return this.uiLogoLight;
89
97
  }
90
98
  }
91
99
 
92
100
  if (this.fileName === 'banner.svg') {
93
101
  if (this.theme === 'dark' && this.uiBannerDark) {
102
+ console.log(this.uiBannerDark, ' this.uiBannerDark;')
103
+
94
104
  return this.uiBannerDark;
95
105
  }
96
106
 
97
107
  if (this.uiBannerLight) {
108
+ console.log(this.uiBannerLight, ' this.uiBannerLight;')
109
+
98
110
  return this.uiBannerLight;
99
111
  }
100
112
  }
101
113
 
102
114
  if (this.fileName === 'login-landscape.svg') {
103
115
  if (this.theme === 'dark' && this.uiLoginBackgroundDark) {
116
+ console.log(this.uiLoginBackgroundDark, ' this.uiLoginBackgroundDark;')
117
+
104
118
  return this.uiLoginBackgroundDark;
105
119
  }
106
120
 
107
121
  if (this.uiLoginBackgroundLight) {
122
+ console.log(this.uiLoginBackgroundLight, ' this.uiLoginBackgroundLight;')
123
+
108
124
  return this.uiLoginBackgroundLight;
109
125
  }
110
126
  }
111
127
 
112
128
  if (!this.brand) {
129
+
130
+ console.log(this.defaultPathToBrandedImage, ' this.defaultPathToBrandedImage;')
131
+
113
132
  return this.defaultPathToBrandedImage;
114
133
  } else {
115
134
  if (this.theme === 'dark' || this.dark) {
@@ -121,6 +140,8 @@ export default {
121
140
  return require(`~shell/assets/brand/${ this.brand }/${ this.fileName }`);
122
141
  } catch {}
123
142
 
143
+ console.log(this.defaultPathToBrandedImage, ' this.defaultPathToBrandedImage;')
144
+
124
145
  return this.defaultPathToBrandedImage;
125
146
  }
126
147
  },
@@ -131,5 +152,6 @@ export default {
131
152
  <img
132
153
  v-bind="$attrs"
133
154
  :src="pathToBrandedImage"
155
+ style="height: 50px;"
134
156
  >
135
157
  </template>
@@ -159,7 +159,7 @@ export default {
159
159
  display: flex;
160
160
  align-items: center;
161
161
  justify-content: center;
162
- color: var(--default-active-text);
162
+ color: var(--primary);
163
163
  font-weight: bold;
164
164
  background: var(--nav-icon-badge-bg);
165
165
  border: 1px solid var(--border);
@@ -369,6 +369,7 @@ export default {
369
369
  }
370
370
 
371
371
  .CodeMirror-lines {
372
+ background-color: var(--input-bg);
372
373
  color: var(--input-text);
373
374
  padding: 0;
374
375