dashboard-shell-shell 1.0.1000000116 → 1.0.1000000117
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/images/action.svg +6 -0
- package/assets/images/pl/logo.png +0 -0
- package/assets/styles/base/_functions.scss +0 -0
- package/assets/styles/base/_mixins.scss +1 -1
- package/assets/styles/global/_button.scss +17 -10
- package/assets/styles/global/_form.scss +2 -2
- package/assets/styles/global/_labeled-input.scss +6 -2
- package/assets/styles/global/_select.scss +6 -7
- package/assets/styles/global/_table.scss +3 -2
- package/assets/styles/global/_tooltip.scss +8 -1
- package/assets/styles/themes/_dark.scss +2 -0
- package/assets/styles/themes/_light.scss +5 -2
- package/assets/styles/vendor/vue-select.scss +2 -1
- package/assets/translations/en-us.yaml +1 -3
- package/assets/translations/zh-hans.yaml +51 -28
- package/components/ActionDropdown.vue +1 -0
- package/components/ActionMenuShell.vue +6 -3
- package/components/BrandImage.vue +22 -0
- package/components/ClusterIconMenu.vue +1 -1
- package/components/CodeMirror.vue +1 -0
- package/components/CruResource.vue +1 -1
- package/components/CruResourceFooter.vue +1 -1
- package/components/ExplorerProjectsNamespaces.vue +4 -24
- package/components/GlobalRoleBindings.vue +112 -48
- package/components/IndentedPanel.vue +4 -10
- package/components/PromptRemove.vue +3 -3
- package/components/ResourceDetail/Masthead.vue +190 -242
- package/components/ResourceDetail/index.vue +20 -5
- package/components/ResourceList/Masthead.vue +146 -84
- package/components/ResourceList/ResourceLoadingIndicator.vue +5 -2
- package/components/ResourceTable.vue +76 -1
- package/components/SideNav.vue +66 -29
- package/components/SortableTable/THead.vue +6 -0
- package/components/SortableTable/index.vue +481 -388
- package/components/Tabbed/index.vue +4 -5
- package/components/auth/Principal.vue +3 -2
- package/components/auth/RoleDetailEdit.vue +58 -5
- package/components/auth/SelectPrincipal.vue +1 -0
- package/components/form/BannerSettings.vue +18 -16
- package/components/form/ChangePassword.vue +4 -4
- package/components/form/ColorInput.vue +32 -8
- package/components/form/Footer.vue +1 -1
- package/components/form/InputWithSelect.vue +2 -0
- package/components/form/KeyValue.vue +31 -7
- package/components/form/LabeledSelect.vue +178 -178
- package/components/form/Members/ClusterPermissionsEditor.vue +1 -2
- package/components/form/Members/MembershipEditor.vue +1 -1
- package/components/form/NameNsDescription.vue +24 -11
- package/components/form/Password.vue +6 -2
- package/components/form/ResourceQuota/Namespace.vue +1 -1
- package/components/form/ResourceQuota/NamespaceRow.vue +13 -10
- package/components/form/ResourceQuota/ProjectRow.vue +0 -1
- package/components/form/Select.vue +2 -2
- package/components/nav/Favorite.vue +5 -1
- package/components/nav/Group.vue +69 -23
- package/components/nav/Header.vue +82 -17
- package/components/nav/HeaderPageActionMenu.vue +1 -0
- package/components/nav/NamespaceFilter.vue +0 -3
- package/components/nav/TopLevelMenu.vue +182 -119
- package/components/nav/Type.vue +48 -11
- package/composables/useClickOutside.ts +1 -1
- package/config/product/auth.js +16 -7
- package/config/product/explorer.js +1 -1
- package/config/product/settings.js +17 -8
- package/config/settings.ts +28 -0
- package/edit/management.cattle.io.user.vue +17 -4
- package/edit/networking.k8s.io.ingress/RulePath.vue +1 -1
- package/edit/token.vue +1 -1
- package/list/harvesterhci.io.management.cluster.vue +17 -0
- package/list/management.cattle.io.setting.vue +22 -13
- package/list/management.cattle.io.user.vue +25 -14
- package/list/provisioning.cattle.io.cluster.vue +6 -7
- package/mixins/brand.js +17 -0
- package/package.json +1 -1
- package/pages/auth/login.vue +84 -29
- package/pages/c/_cluster/auth/roles/index.vue +61 -14
- package/pages/c/_cluster/settings/banners.vue +174 -101
- package/pages/c/_cluster/settings/brand.vue +348 -301
- package/pages/c/_cluster/settings/performance.vue +61 -38
- package/pages/home.vue +70 -21
- package/pages/prefs.vue +25 -23
- package/pkg/tsconfig.json +9 -9
- package/pkg/vue.config.js +1 -1
- package/promptRemove/mixin/roleDeletionCheck.js +2 -2
- package/scripts/clean +0 -0
- package/scripts/extension/bundle +0 -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 +0 -0
- package/scripts/extension/parse-tag-name +0 -0
- package/scripts/extension/publish +0 -0
- package/scripts/publish-shell.sh +86 -60
- package/scripts/serve-pkgs +0 -0
- package/scripts/sync-shell-deps +0 -0
- package/scripts/typegen.sh +44 -28
- package/store/i18n.js +5 -5
- package/store/prefs.js +17 -5
- package/store/type-map.js +2 -1
- package/types/shell/index.d.ts +1 -1
- package/utils/error.js +4 -0
- package/utils/router.js +3 -3
- package/vue.config.js +1 -6
- package/components/rancherResourceDetail/Masthead.vue +0 -769
- package/components/rancherResourceDetail/__tests__/Masthead.test.ts +0 -65
- package/components/rancherResourceDetail/index.vue +0 -591
- package/components/rancherResourceList/Masthead.vue +0 -375
- package/components/rancherResourceList/ResourceLoadingIndicator.vue +0 -140
- package/components/rancherResourceList/index.vue +0 -307
- package/components/rancherResourceList/resource-list.config.js +0 -7
- package/components/rancherResourceTable.vue +0 -783
- package/components/rancherSortableTable/THead.vue +0 -561
- package/components/rancherSortableTable/actions.js +0 -153
- package/components/rancherSortableTable/advanced-filtering.js +0 -272
- package/components/rancherSortableTable/debug.js +0 -117
- package/components/rancherSortableTable/filtering.js +0 -290
- package/components/rancherSortableTable/grouping.js +0 -48
- package/components/rancherSortableTable/index.vue +0 -2712
- package/components/rancherSortableTable/paging.js +0 -155
- package/components/rancherSortableTable/selection.js +0 -629
- package/components/rancherSortableTable/sortable-config.ts +0 -4
- package/components/rancherSortableTable/sorting.js +0 -129
- package/types/cloud-shell/index.d.ts +0 -11014
- /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
|
|
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
|
-
|
|
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
|
-
|
|
166
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
}
|
|
@@ -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
|
+
// }
|
|
@@ -6,7 +6,7 @@ $darkest : #333;
|
|
|
6
6
|
$darker : #333;
|
|
7
7
|
|
|
8
8
|
//light disabled
|
|
9
|
-
$dark : #
|
|
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 : #
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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: 导入的
|
|
1374
|
+
cluster: 导入的 Cloud 集群
|
|
1375
1375
|
installGuestAgent: 安装访客代理
|
|
1376
1376
|
description:
|
|
1377
1377
|
label: 集群描述
|
|
1378
1378
|
placeholder: 输入可以描述该集群的文本
|
|
1379
1379
|
harvester:
|
|
1380
|
-
importNotice: 导入
|
|
1380
|
+
importNotice: 导入 Cloud 集群的方式:
|
|
1381
1381
|
warning:
|
|
1382
|
-
label: 这是一个
|
|
1382
|
+
label: 这是一个 Cloud 集群 - 请启用 Cloud 功能开关以对其进行管理。
|
|
1383
1383
|
state: 警告
|
|
1384
1384
|
cloudProvider:
|
|
1385
1385
|
incompatible:
|
|
1386
|
-
由于当前的
|
|
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 个
|
|
1390
|
-
other { # 个
|
|
1389
|
+
=1 {1 个 Cloud 集群未显示}
|
|
1390
|
+
other { # 个 Cloud 集群未显示}
|
|
1391
1391
|
}
|
|
1392
1392
|
registration:
|
|
1393
|
-
step1: "1. 前往目标
|
|
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:
|
|
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个
|
|
2196
|
-
other { #个
|
|
2195
|
+
=1 {1个 Cloud 集群未显示,因为它不能与持续交付一起使用。}
|
|
2196
|
+
other { #个 Cloud 集群未显示,因为它们不能与持续交付一起使用。}
|
|
2197
2197
|
}
|
|
2198
2198
|
tokens:
|
|
2199
2199
|
harvester: |-
|
|
2200
2200
|
{count, plural,
|
|
2201
|
-
=1 {1个 Token 未显示,因为它属于不能与持续交付一起使用的
|
|
2202
|
-
other {#个 Token 未显示,因为它属于不能与持续交付一起使用的
|
|
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 未显示,因为它属于不能与持续交付一起使用的
|
|
2209
|
-
other {# 个 Bundle 未显示,因为它属于不能与持续交付一起使用的
|
|
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:
|
|
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:
|
|
5408
|
+
title: Cloud (CSI)
|
|
5409
5409
|
warning:
|
|
5410
|
-
unSatisfiesVersion: 请升级
|
|
5410
|
+
unSatisfiesVersion: 请升级 Cloud CSI 驱动版本来使用此功能(csi-driver >= v0.1.15)
|
|
5411
5411
|
hostStorageClass:
|
|
5412
5412
|
label: 主机存储类
|
|
5413
|
-
placeholder: 主机
|
|
5414
|
-
tooltip: 默认使用主机
|
|
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 {
|
|
6853
|
-
other {
|
|
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: 接入
|
|
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'
|
|
@@ -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(--
|
|
162
|
+
color: var(--primary);
|
|
163
163
|
font-weight: bold;
|
|
164
164
|
background: var(--nav-icon-badge-bg);
|
|
165
165
|
border: 1px solid var(--border);
|