dashboard-shell-shell 0.0.1000000000001130 → 0.0.1000000000001133
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/styles/base/_functions.scss +0 -0
- package/assets/styles/base/_mixins.scss +1 -1
- package/assets/styles/global/_button.scss +10 -17
- package/assets/styles/global/_form.scss +2 -2
- package/assets/styles/global/_labeled-input.scss +3 -6
- package/assets/styles/global/_select.scss +6 -5
- package/assets/styles/global/_tooltip.scss +0 -1
- package/assets/styles/themes/_dark.scss +0 -2
- package/assets/styles/themes/_light.scss +2 -5
- package/assets/styles/vendor/vue-select.scss +1 -2
- package/components/ActionDropdown.vue +0 -1
- package/components/ActionMenuShell.vue +1 -6
- package/components/BrandImage.vue +0 -8
- package/components/ClusterIconMenu.vue +1 -1
- package/components/CodeMirror.vue +0 -1
- package/components/CruResource.vue +0 -1
- package/components/CruResourceFooter.vue +1 -1
- package/components/ExplorerProjectsNamespaces.vue +0 -1
- package/components/IndentedPanel.vue +10 -4
- package/components/PromptRemove.vue +2 -2
- package/components/ResourceDetail/Masthead.vue +3 -10
- package/components/ResourceDetail/index.vue +1 -20
- package/components/ResourceList/Masthead.vue +1 -3
- package/components/ResourceList/ResourceLoadingIndicator.vue +2 -5
- package/components/ResourceTable.vue +1 -71
- package/components/SideNav.vue +6 -13
- package/components/SortableTable/THead.vue +0 -6
- package/components/SortableTable/index.vue +4 -16
- package/components/Tabbed/index.vue +5 -4
- package/components/auth/Principal.vue +2 -3
- package/components/auth/RoleDetailEdit.vue +3 -56
- package/components/auth/SelectPrincipal.vue +0 -1
- package/components/form/BannerSettings.vue +13 -15
- package/components/form/ChangePassword.vue +4 -4
- package/components/form/ColorInput.vue +8 -32
- package/components/form/InputWithSelect.vue +0 -2
- package/components/form/KeyValue.vue +7 -31
- package/components/form/LabeledSelect.vue +178 -178
- package/components/form/Members/ClusterPermissionsEditor.vue +2 -1
- package/components/form/Members/MembershipEditor.vue +1 -1
- package/components/form/NameNsDescription.vue +0 -17
- package/components/form/Password.vue +2 -6
- package/components/form/Select.vue +2 -2
- package/components/nav/Favorite.vue +1 -5
- package/components/nav/Group.vue +24 -45
- package/components/nav/Header.vue +12 -65
- package/components/nav/HeaderPageActionMenu.vue +0 -1
- package/components/nav/TopLevelMenu.vue +23 -63
- package/components/nav/Type.vue +5 -24
- package/composables/useClickOutside.ts +1 -1
- package/config/product/auth.js +1 -1
- package/config/product/explorer.js +1 -1
- package/config/product/settings.js +10 -10
- package/edit/management.cattle.io.user.vue +4 -17
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
- package/list/management.cattle.io.user.vue +1 -5
- package/list/provisioning.cattle.io.cluster.vue +7 -6
- package/mixins/brand.js +0 -17
- package/package.json +1 -1
- package/pages/auth/login.vue +22 -8
- package/pages/c/_cluster/settings/banners.vue +101 -164
- package/pages/c/_cluster/settings/brand.vue +301 -338
- package/pages/c/_cluster/settings/performance.vue +38 -53
- package/pages/home.vue +8 -64
- package/pages/prefs.vue +21 -23
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +2 -1
- 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 +13 -24
- package/scripts/serve-pkgs +0 -0
- package/scripts/sync-shell-deps +0 -0
- package/scripts/typegen.sh +28 -44
- package/store/i18n.js +5 -5
- package/store/prefs.js +1 -1
- package/store/type-map.js +1 -2
- package/types/cloud-shell/index.d.ts +11014 -0
- package/utils/router.js +1 -1
- package/assets/images/action.svg +0 -6
- package/components/ResourceList/Masthead-btn.vue +0 -225
|
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
|
-
|
|
162
|
+
outline: 2px solid var(--primary-keyboard-focus);
|
|
163
163
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
$btn-padding: 0 10px;
|
|
1
|
+
$btn-padding: 0 10px 0 10px;
|
|
2
2
|
$btn-sm-padding: 0 7px 0 7px;
|
|
3
3
|
$btn-height: 32px;
|
|
4
4
|
$btn-sm-height: 32px;
|
|
@@ -20,14 +20,13 @@ 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
|
-
|
|
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
|
-
|
|
31
30
|
|
|
32
31
|
> .icon:not(:only-child) {
|
|
33
32
|
margin-right: 6px;
|
|
@@ -35,7 +34,7 @@ button,
|
|
|
35
34
|
|
|
36
35
|
&:hover {
|
|
37
36
|
text-decoration: none;
|
|
38
|
-
|
|
37
|
+
color: var(--lightest);
|
|
39
38
|
}
|
|
40
39
|
|
|
41
40
|
&.bg-transparent {
|
|
@@ -43,10 +42,6 @@ button,
|
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
44
|
|
|
46
|
-
.bg-primary {
|
|
47
|
-
color: var(--lightest);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
45
|
//icon button
|
|
51
46
|
.icon-btn {
|
|
52
47
|
padding: 0;
|
|
@@ -68,7 +63,7 @@ button,
|
|
|
68
63
|
padding: $btn-sm-padding;
|
|
69
64
|
min-height: $btn-sm-height;
|
|
70
65
|
line-height: 32px;
|
|
71
|
-
|
|
66
|
+
width: 100px;
|
|
72
67
|
}
|
|
73
68
|
|
|
74
69
|
//btn roles
|
|
@@ -99,11 +94,10 @@ button,
|
|
|
99
94
|
// border: solid 1px var(--primary);
|
|
100
95
|
border: solid 1px #d9d9d9;
|
|
101
96
|
line-height: $btn-height - 2px;
|
|
102
|
-
|
|
97
|
+
width: 100px;
|
|
103
98
|
|
|
104
99
|
&:hover, &._hover {
|
|
105
|
-
|
|
106
|
-
color: var(--input-label) !important;
|
|
100
|
+
color: var(--lightest) !important;
|
|
107
101
|
box-shadow: 0 4px 6px 0 rgba(0,0,0,.2)!important;
|
|
108
102
|
}
|
|
109
103
|
|
|
@@ -111,8 +105,7 @@ button,
|
|
|
111
105
|
background: transparent;
|
|
112
106
|
box-shadow: 0 4px 6px 0 rgba(0,0,0,.2)!important;
|
|
113
107
|
// background-color: var(--primary-hover-bg);
|
|
114
|
-
|
|
115
|
-
color: var(--input-label) !important;
|
|
108
|
+
color: var(--lightest) !important;
|
|
116
109
|
// color: var(--primary-text) !important;
|
|
117
110
|
}
|
|
118
111
|
|
|
@@ -169,8 +162,8 @@ button,
|
|
|
169
162
|
}
|
|
170
163
|
|
|
171
164
|
.role-multi-action {
|
|
172
|
-
|
|
173
|
-
|
|
165
|
+
// background: var(--accent-btn);
|
|
166
|
+
border: solid thin var(--primary);
|
|
174
167
|
color: var(--primary) !important;
|
|
175
168
|
border-radius: 2px;
|
|
176
169
|
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);
|
|
23
24
|
// border-radius: var(--border-radius);
|
|
25
|
+
// border: solid var(--border-width) var(--input-border);
|
|
24
26
|
|
|
25
27
|
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,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
&.compact-input {
|
|
12
12
|
min-height: $unlabeled-input-height;
|
|
13
|
-
|
|
13
|
+
padding: 0 10px;
|
|
14
14
|
|
|
15
15
|
INPUT.no-label {
|
|
16
16
|
line-height: $input-line-height;
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
padding: 0 0 0 0;
|
|
75
75
|
// line-height: calc(#{$input-line-height} + 1px);
|
|
76
76
|
line-height: calc(29px + 1px);
|
|
77
|
-
|
|
77
|
+
border: solid var(--border-width) var(--input-border);
|
|
78
78
|
padding: 0px 11px;
|
|
79
79
|
box-sizing: border-box;
|
|
80
80
|
border-radius: 2px;
|
|
@@ -123,10 +123,7 @@
|
|
|
123
123
|
font-weight: normal;
|
|
124
124
|
line-height: 1;
|
|
125
125
|
text-align: center;
|
|
126
|
-
|
|
127
|
-
top: 5px;
|
|
128
|
-
right: 5px;
|
|
129
|
-
// background-color: #fff;
|
|
126
|
+
background-color: #fff;
|
|
130
127
|
}
|
|
131
128
|
}
|
|
132
129
|
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
cursor: text;
|
|
3
3
|
padding: 0;
|
|
4
4
|
width: 100%;
|
|
5
|
-
|
|
5
|
+
&:hover{
|
|
6
|
+
box-shadow: 0 4px 6px 0 var(--input-border-box-shadow);
|
|
7
|
+
}
|
|
6
8
|
.selected {
|
|
7
9
|
padding-top: $input-padding-lg;
|
|
8
10
|
}
|
|
@@ -21,7 +23,7 @@
|
|
|
21
23
|
.labeled-select,
|
|
22
24
|
.unlabeled-select {
|
|
23
25
|
min-width: 75px;
|
|
24
|
-
|
|
26
|
+
height: 32px;
|
|
25
27
|
width: $input-width;
|
|
26
28
|
|
|
27
29
|
.required {
|
|
@@ -104,8 +106,7 @@
|
|
|
104
106
|
width: unset !important;
|
|
105
107
|
|
|
106
108
|
&:not(:only-child) {
|
|
107
|
-
margin-bottom:
|
|
108
|
-
margin-top: 2px;
|
|
109
|
+
margin-bottom: 3px;
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
}
|
|
@@ -196,6 +197,6 @@
|
|
|
196
197
|
}
|
|
197
198
|
|
|
198
199
|
.labeled-tooltip .status-icon {
|
|
199
|
-
|
|
200
|
+
top: $input-padding-sm;
|
|
200
201
|
}
|
|
201
202
|
}
|
|
@@ -6,7 +6,7 @@ $darkest : #333;
|
|
|
6
6
|
$darker : #333;
|
|
7
7
|
|
|
8
8
|
//light disabled
|
|
9
|
-
$dark : #
|
|
9
|
+
$dark : #B6B6C2;
|
|
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 : #5D995D;
|
|
34
34
|
$warning : #DAC342;
|
|
35
35
|
$error : #F64747;
|
|
36
36
|
// $error : #A30014;
|
|
@@ -112,8 +112,6 @@ BODY, .theme-light {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
--lightest : #{rgba($lightest, 1)};
|
|
116
|
-
|
|
117
115
|
--default : #{$light};
|
|
118
116
|
--default-text : #{contrast-color($light)};
|
|
119
117
|
--default-hover-bg : #{darken($light, 10%)};
|
|
@@ -339,7 +337,6 @@ BODY, .theme-light {
|
|
|
339
337
|
--nav-hover : #{$medium};
|
|
340
338
|
--nav-hover-color :#1890FF;
|
|
341
339
|
--nav-expander-hover : #{darken($medium, 10%)};
|
|
342
|
-
--nav-icon-badge-bg : #{$dark};
|
|
343
340
|
--nav-border : #{$medium};
|
|
344
341
|
--nav-border-size : 1px;
|
|
345
342
|
|
|
@@ -321,7 +321,6 @@ $transition-duration: 150ms;
|
|
|
321
321
|
}
|
|
322
322
|
.vs__selected {
|
|
323
323
|
color: var(--input-text);
|
|
324
|
-
background-color: rgba(0, 0, 0, 0);
|
|
325
324
|
}
|
|
326
325
|
}
|
|
327
326
|
|
|
@@ -331,7 +330,7 @@ $transition-duration: 150ms;
|
|
|
331
330
|
}
|
|
332
331
|
.vs__dropdown-toggle {
|
|
333
332
|
background-color: var(--input-bg);
|
|
334
|
-
border: none
|
|
333
|
+
border: none;
|
|
335
334
|
padding: none;
|
|
336
335
|
border-radius: var(--border-radius);
|
|
337
336
|
border: 1px solid var(--dropdown-border);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { computed
|
|
2
|
+
import { computed } from 'vue';
|
|
3
3
|
import { useStore } from 'vuex';
|
|
4
4
|
import { useRoute } from 'vue-router';
|
|
5
5
|
|
|
@@ -83,7 +83,6 @@ const execute = (action: any, event: MouseEvent, args?: any) => {
|
|
|
83
83
|
const options = computed(() => store.getters['action-menu/optionsArray']);
|
|
84
84
|
|
|
85
85
|
const menuOptions = () => {
|
|
86
|
-
|
|
87
86
|
if (props.customActions && props.customActions.length > 0) {
|
|
88
87
|
return props.customActions;
|
|
89
88
|
}
|
|
@@ -91,9 +90,6 @@ const menuOptions = () => {
|
|
|
91
90
|
return options.value;
|
|
92
91
|
};
|
|
93
92
|
|
|
94
|
-
onMounted(() => {
|
|
95
|
-
})
|
|
96
|
-
|
|
97
93
|
</script>
|
|
98
94
|
|
|
99
95
|
<template>
|
|
@@ -106,6 +102,5 @@ onMounted(() => {
|
|
|
106
102
|
:data-testid="dataTestid"
|
|
107
103
|
@update:open="openChanged"
|
|
108
104
|
@select="(e: MouseEvent, option: object) => execute(option, e)"
|
|
109
|
-
:showIcon="false"
|
|
110
105
|
/>
|
|
111
106
|
</template>
|
|
@@ -79,45 +79,37 @@ export default {
|
|
|
79
79
|
},
|
|
80
80
|
|
|
81
81
|
pathToBrandedImage() {
|
|
82
|
-
|
|
83
82
|
if (this.fileName === 'rancher-logo.svg' || this.supportCustomLogo) {
|
|
84
83
|
if (this.theme === 'dark' && this.uiLogoDark) {
|
|
85
|
-
|
|
86
84
|
return this.uiLogoDark;
|
|
87
85
|
}
|
|
88
86
|
|
|
89
87
|
if (this.uiLogoLight) {
|
|
90
|
-
|
|
91
88
|
return this.uiLogoLight;
|
|
92
89
|
}
|
|
93
90
|
}
|
|
94
91
|
|
|
95
92
|
if (this.fileName === 'banner.svg') {
|
|
96
93
|
if (this.theme === 'dark' && this.uiBannerDark) {
|
|
97
|
-
|
|
98
94
|
return this.uiBannerDark;
|
|
99
95
|
}
|
|
100
96
|
|
|
101
97
|
if (this.uiBannerLight) {
|
|
102
|
-
|
|
103
98
|
return this.uiBannerLight;
|
|
104
99
|
}
|
|
105
100
|
}
|
|
106
101
|
|
|
107
102
|
if (this.fileName === 'login-landscape.svg') {
|
|
108
103
|
if (this.theme === 'dark' && this.uiLoginBackgroundDark) {
|
|
109
|
-
|
|
110
104
|
return this.uiLoginBackgroundDark;
|
|
111
105
|
}
|
|
112
106
|
|
|
113
107
|
if (this.uiLoginBackgroundLight) {
|
|
114
|
-
|
|
115
108
|
return this.uiLoginBackgroundLight;
|
|
116
109
|
}
|
|
117
110
|
}
|
|
118
111
|
|
|
119
112
|
if (!this.brand) {
|
|
120
|
-
|
|
121
113
|
return this.defaultPathToBrandedImage;
|
|
122
114
|
} else {
|
|
123
115
|
if (this.theme === 'dark' || this.dark) {
|
|
@@ -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(--default-active-text);
|
|
163
163
|
font-weight: bold;
|
|
164
164
|
background: var(--nav-icon-badge-bg);
|
|
165
165
|
border: 1px solid var(--border);
|
|
@@ -4,17 +4,23 @@ export default {};
|
|
|
4
4
|
|
|
5
5
|
<template>
|
|
6
6
|
<div
|
|
7
|
-
class="indented-
|
|
7
|
+
class="indented-panel"
|
|
8
8
|
>
|
|
9
9
|
<slot />
|
|
10
10
|
</div>
|
|
11
11
|
</template>
|
|
12
12
|
|
|
13
13
|
<style lang="scss">
|
|
14
|
-
.indented-
|
|
14
|
+
.indented-panel {
|
|
15
15
|
height: 100%;
|
|
16
|
-
width:
|
|
17
|
-
|
|
16
|
+
width: 90%;
|
|
17
|
+
margin-left: 5%;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
@media only screen and (max-width: map-get($breakpoints, '--viewport-9')) {
|
|
21
|
+
.indented-panel {
|
|
22
|
+
margin: 0 20px;
|
|
23
|
+
width: initial;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
20
26
|
</style>
|
|
@@ -469,27 +469,20 @@ export default {
|
|
|
469
469
|
</script>
|
|
470
470
|
|
|
471
471
|
<template>
|
|
472
|
-
|
|
473
|
-
<!-- 顶部区域的容器 -->
|
|
474
472
|
<div class="masthead">
|
|
475
473
|
<div class="title">
|
|
476
|
-
|
|
477
|
-
<!-- 面包屑导航(创建 API 密钥时不显示) -->
|
|
474
|
+
<!-- 创建api密钥不需要面包屑 -->
|
|
478
475
|
<div
|
|
479
476
|
v-if="!(parentRouteOverride === 'account' && resource=== 'token')"
|
|
480
477
|
class="excram-list"
|
|
481
478
|
>
|
|
482
|
-
|
|
483
|
-
<!-- 遍历 demoDisplay 生成面包屑路径 -->
|
|
484
479
|
<span
|
|
485
480
|
v-for="(item,index) in demoDisplay"
|
|
486
481
|
:key="index"
|
|
487
482
|
>
|
|
488
|
-
<span
|
|
489
|
-
<span
|
|
483
|
+
<span>{{ item }}</span>
|
|
484
|
+
<span>/</span>
|
|
490
485
|
</span>
|
|
491
|
-
|
|
492
|
-
<!-- 最后一个面包屑显示当前操作(查看/编辑/创建)+ 父资源名称 -->
|
|
493
486
|
<span class="excram-last-name">
|
|
494
487
|
{{ (realMode === 'view'? '查看': realMode === 'edit' ? '编辑':'创建') + parent.displayName }}
|
|
495
488
|
</span>
|
|
@@ -457,14 +457,8 @@ export default {
|
|
|
457
457
|
</script>
|
|
458
458
|
|
|
459
459
|
<template>
|
|
460
|
-
|
|
461
|
-
<!-- 如果数据还在加载中,或者资源未找到,则显示 Loading 组件 -->
|
|
462
460
|
<Loading v-if="$fetchState.pending || notFound" />
|
|
463
|
-
|
|
464
|
-
<!-- 数据加载完成且资源存在时 -->
|
|
465
|
-
<div style="padding: 20px 0 20px 20px;height: 100%;" v-else>
|
|
466
|
-
|
|
467
|
-
<!-- 顶部 Masthead 区域 -->
|
|
461
|
+
<div v-else>
|
|
468
462
|
<Masthead
|
|
469
463
|
v-if="showMasthead"
|
|
470
464
|
:resource="resourceType"
|
|
@@ -475,28 +469,20 @@ export default {
|
|
|
475
469
|
:has-graph="hasGraph"
|
|
476
470
|
:has-detail="hasCustomDetail"
|
|
477
471
|
:has-edit="hasCustomEdit"
|
|
478
|
-
:can-view-yaml="canViewYaml"
|
|
479
472
|
:resource-subtype="resourceSubtype"
|
|
480
473
|
:parent-route-override="parentRouteOverride"
|
|
481
474
|
:store-override="storeOverride"
|
|
482
475
|
>
|
|
483
|
-
|
|
484
|
-
<!-- 详情顶部信息,仅在查看模式且是详情页面时显示 -->
|
|
485
476
|
<!-- <DetailTop
|
|
486
477
|
v-if="isView && isDetail"
|
|
487
478
|
:value="liveModel"
|
|
488
479
|
/> -->
|
|
489
480
|
</Masthead>
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
<!-- 错误信息显示区域 -->
|
|
493
481
|
<div
|
|
494
482
|
v-if="hasErrors"
|
|
495
483
|
id="cru-errors"
|
|
496
484
|
class="cru__errors"
|
|
497
485
|
>
|
|
498
|
-
|
|
499
|
-
<!-- 循环渲染错误 Banner -->
|
|
500
486
|
<Banner
|
|
501
487
|
v-for="(err, i) in errors"
|
|
502
488
|
:key="i"
|
|
@@ -509,14 +495,12 @@ export default {
|
|
|
509
495
|
/>
|
|
510
496
|
</div>
|
|
511
497
|
|
|
512
|
-
<!-- 力导向图模式 -->
|
|
513
498
|
<ForceDirectedTreeChart
|
|
514
499
|
v-if="isGraph && canViewChart"
|
|
515
500
|
:data="chartData"
|
|
516
501
|
:fdc-config="getGraphConfig"
|
|
517
502
|
/>
|
|
518
503
|
|
|
519
|
-
<!-- YAML 查看/编辑模式 -->
|
|
520
504
|
<ResourceYaml
|
|
521
505
|
v-else-if="isYaml"
|
|
522
506
|
ref="resourceyaml"
|
|
@@ -530,7 +514,6 @@ export default {
|
|
|
530
514
|
@error="e=>errors.push(e)"
|
|
531
515
|
/>
|
|
532
516
|
|
|
533
|
-
<!-- 动态组件渲染,根据 showComponent 动态选择组件 -->
|
|
534
517
|
<component
|
|
535
518
|
:is="showComponent"
|
|
536
519
|
v-else
|
|
@@ -549,8 +532,6 @@ export default {
|
|
|
549
532
|
@set-subtype="setSubtype"
|
|
550
533
|
/>
|
|
551
534
|
|
|
552
|
-
|
|
553
|
-
<!-- 快捷键按钮(隐藏) -->
|
|
554
535
|
<button
|
|
555
536
|
v-if="isView"
|
|
556
537
|
v-shortkey.once="['shift','d']"
|
|
@@ -191,7 +191,6 @@ export default {
|
|
|
191
191
|
</script>
|
|
192
192
|
|
|
193
193
|
<template>
|
|
194
|
-
<!-- 顶部 header,带有子标题(subheader)样式类 -->
|
|
195
194
|
<header class="with-subheader">
|
|
196
195
|
<!-- <slot name="typeDescription">
|
|
197
196
|
<TypeDescription :resource="resource" />
|
|
@@ -266,7 +265,6 @@ export default {
|
|
|
266
265
|
</template>
|
|
267
266
|
|
|
268
267
|
<style lang="scss" scoped>
|
|
269
|
-
|
|
270
268
|
.title {
|
|
271
269
|
/* align-items: center;
|
|
272
270
|
display: flex; */
|
|
@@ -303,7 +301,7 @@ export default {
|
|
|
303
301
|
}
|
|
304
302
|
.masthod-title-description{
|
|
305
303
|
font-family: 'Microsoft YaHei';
|
|
306
|
-
margin
|
|
304
|
+
margin: 20px 0px;
|
|
307
305
|
}
|
|
308
306
|
.actions-container{
|
|
309
307
|
/* display: flex; */
|
|
@@ -77,7 +77,7 @@ export default {
|
|
|
77
77
|
<template>
|
|
78
78
|
<div
|
|
79
79
|
v-if="count && !haveAll"
|
|
80
|
-
class="resource-loading-indicator"
|
|
80
|
+
class="ml-10 resource-loading-indicator"
|
|
81
81
|
>
|
|
82
82
|
<div class="inner">
|
|
83
83
|
<div class="resource-loader">
|
|
@@ -118,12 +118,10 @@ export default {
|
|
|
118
118
|
.resource-loader {
|
|
119
119
|
padding: 1px 10px;
|
|
120
120
|
width: max-content;
|
|
121
|
-
height: 20px;
|
|
122
121
|
|
|
123
122
|
.rl-fg, .rl-bg {
|
|
124
|
-
display: flex;
|
|
125
123
|
align-content: center;
|
|
126
|
-
|
|
124
|
+
display: flex;
|
|
127
125
|
|
|
128
126
|
> i {
|
|
129
127
|
font-size: 18px;
|
|
@@ -131,7 +129,6 @@ export default {
|
|
|
131
129
|
}
|
|
132
130
|
|
|
133
131
|
> span {
|
|
134
|
-
margin-top: 2px;
|
|
135
132
|
margin-left: 5px;
|
|
136
133
|
}
|
|
137
134
|
}
|
|
@@ -4,7 +4,6 @@ import { get } from '@shell/utils/object';
|
|
|
4
4
|
import { mapPref, GROUP_RESOURCES } from '@shell/store/prefs';
|
|
5
5
|
import ButtonGroup from '@shell/components/ButtonGroup';
|
|
6
6
|
import SortableTable from '@shell/components/SortableTable';
|
|
7
|
-
import MastheadBtn from '@shell/components/ResourceList/Masthead-btn.vue';
|
|
8
7
|
import { NAMESPACE, AGE } from '@shell/config/table-headers';
|
|
9
8
|
import { findBy } from '@shell/utils/array';
|
|
10
9
|
import { ExtensionPoint, TableColumnLocation } from '@shell/core/types';
|
|
@@ -44,7 +43,7 @@ export default {
|
|
|
44
43
|
|
|
45
44
|
emits: ['clickedActionButton'],
|
|
46
45
|
|
|
47
|
-
components: { ButtonGroup, SortableTable
|
|
46
|
+
components: { ButtonGroup, SortableTable },
|
|
48
47
|
|
|
49
48
|
props: {
|
|
50
49
|
schema: {
|
|
@@ -213,49 +212,6 @@ export default {
|
|
|
213
212
|
type: String,
|
|
214
213
|
default: '名称'
|
|
215
214
|
},
|
|
216
|
-
|
|
217
|
-
resource: {
|
|
218
|
-
type: String,
|
|
219
|
-
required: true,
|
|
220
|
-
},
|
|
221
|
-
|
|
222
|
-
typeDisplay: {
|
|
223
|
-
type: String,
|
|
224
|
-
default: null,
|
|
225
|
-
},
|
|
226
|
-
isCreatable: {
|
|
227
|
-
type: Boolean,
|
|
228
|
-
default: null,
|
|
229
|
-
},
|
|
230
|
-
isYamlCreatable: {
|
|
231
|
-
type: Boolean,
|
|
232
|
-
default: null,
|
|
233
|
-
},
|
|
234
|
-
createLocation: {
|
|
235
|
-
type: Object,
|
|
236
|
-
default: null,
|
|
237
|
-
},
|
|
238
|
-
yamlCreateLocation: {
|
|
239
|
-
type: Object,
|
|
240
|
-
default: null,
|
|
241
|
-
},
|
|
242
|
-
createButtonLabel: {
|
|
243
|
-
type: String,
|
|
244
|
-
default: null
|
|
245
|
-
},
|
|
246
|
-
/**
|
|
247
|
-
* Inherited global identifier prefix for tests
|
|
248
|
-
* Define a term based on the parent component to avoid conflicts on multiple components
|
|
249
|
-
*/
|
|
250
|
-
componentTestid: {
|
|
251
|
-
type: String,
|
|
252
|
-
default: 'masthead'
|
|
253
|
-
},
|
|
254
|
-
|
|
255
|
-
mainButtonVisible: {
|
|
256
|
-
type: Boolean,
|
|
257
|
-
default: false
|
|
258
|
-
},
|
|
259
215
|
},
|
|
260
216
|
|
|
261
217
|
data() {
|
|
@@ -685,32 +641,6 @@ export default {
|
|
|
685
641
|
@group-value-change="group = $event"
|
|
686
642
|
@enter="handleEnterKeyPress"
|
|
687
643
|
>
|
|
688
|
-
|
|
689
|
-
<template #search-main-button>
|
|
690
|
-
<MastheadBtn
|
|
691
|
-
v-if="mainButtonVisible"
|
|
692
|
-
:schema="schema"
|
|
693
|
-
:resource="resource"
|
|
694
|
-
:create-button-label="createButtonLabel"
|
|
695
|
-
:yaml-create-button-label="yamlCreateLocation"
|
|
696
|
-
:create-location="createLocation"
|
|
697
|
-
:is-yaml-creatable="isYamlCreatable"
|
|
698
|
-
:is-creatable="isCreatable"
|
|
699
|
-
:type-display="typeDisplay"
|
|
700
|
-
:component-testid="componentTestid"
|
|
701
|
-
>
|
|
702
|
-
|
|
703
|
-
<template #extraActions>
|
|
704
|
-
<slot name="extraActions" />
|
|
705
|
-
</template>
|
|
706
|
-
|
|
707
|
-
<template #createButton>
|
|
708
|
-
<slot name="createButton" />
|
|
709
|
-
</template>
|
|
710
|
-
|
|
711
|
-
</ MastheadBtn>
|
|
712
|
-
</template>
|
|
713
|
-
|
|
714
644
|
<template
|
|
715
645
|
v-if="showGrouping && _groupOptions.length > 1"
|
|
716
646
|
#header-middle
|