dashboard-shell-shell 3.0.5-test.6 → 3.0.5-test.9
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/icons/demo.css +539 -0
- package/assets/icons/demo.css:Zone.Identifier +0 -0
- package/assets/icons/demo_index.html +1131 -0
- package/assets/icons/demo_index.html:Zone.Identifier +0 -0
- package/assets/icons/iconfont.css +216 -0
- package/assets/icons/iconfont.css:Zone.Identifier +0 -0
- package/assets/icons/iconfont.js +1 -0
- package/assets/icons/iconfont.js:Zone.Identifier +0 -0
- package/assets/icons/iconfont.json +324 -0
- 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 +3 -0
- package/assets/images/action.svg +6 -0
- package/assets/images/login/password.svg +20 -0
- package/assets/images/login/user.svg +6 -0
- package/assets/images/login-bg.png +0 -0
- package/assets/images/login-left.png +0 -0
- package/assets/images/login-logo.svg +19 -0
- package/assets/images/logo.png +0 -0
- package/assets/images/pl/half-logo.svg +2 -23
- package/assets/images/pl/harvester.png +0 -0
- package/assets/images/pl/logo.png +0 -0
- package/assets/images/promp-yellow.svg +5 -0
- package/assets/images/user.png +0 -0
- package/assets/styles/all.scss +63 -0
- package/assets/styles/app.scss +4 -0
- package/assets/styles/base/_basic.scss +2 -2
- package/assets/styles/base/_mixins.scss +1 -1
- package/assets/styles/base/_typography.scss +2 -1
- package/assets/styles/base/_variables.scss +14 -7
- package/assets/styles/global/_button.scss +43 -25
- package/assets/styles/global/_columns.scss +3 -1
- package/assets/styles/global/_form.scss +45 -13
- package/assets/styles/global/_labeled-input.scss +54 -26
- package/assets/styles/global/_layout.scss +8 -3
- package/assets/styles/global/_select.scss +25 -17
- package/assets/styles/global/_table.scss +7 -1
- package/assets/styles/global/_tooltip.scss +56 -8
- package/assets/styles/themes/_dark.scss +3 -0
- package/assets/styles/themes/_light.scss +66 -43
- package/assets/styles/vendor/vue-select.scss +22 -9
- package/assets/translations/en-us.yaml +28 -4
- package/assets/translations/zh-hans.yaml +452 -189
- package/components/ActionDropdown.vue +2 -1
- package/components/ActionMenu.vue +2 -2
- package/components/ActionMenuShell.vue +2 -0
- package/components/AppModal.vue +46 -5
- package/components/BrandImage.vue +1 -0
- package/components/ButtonDropdown.vue +26 -4
- package/components/ButtonMultiAction.vue +1 -0
- package/components/ClusterIconMenu.vue +1 -1
- package/components/CodeMirror.vue +20 -6
- package/components/ConsumptionGauge.vue +24 -5
- package/components/CopyToClipboard.vue +15 -0
- package/components/CruResource.vue +9 -8
- package/components/CruResourceFooter.vue +2 -2
- package/components/DashboardOptions.vue +29 -17
- package/components/DotState.vue +84 -0
- package/components/Drawer/Chrome.vue +2 -2
- package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +22 -22
- package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +1 -1
- package/components/Drawer/ResourceDetailDrawer/index.vue +2 -1
- package/components/ExplorerMembers.vue +18 -3
- package/components/ExplorerProjectsNamespaces.vue +19 -5
- package/components/GlobalRoleBindings.vue +112 -48
- package/components/GrafanaDashboard.vue +4 -4
- package/components/GrowlManager.vue +3 -1
- package/components/HardwareResourceGauge.vue +39 -3
- package/components/IndentedPanel.vue +4 -10
- package/components/InfoBox.vue +3 -3
- package/components/InputOrDisplay.vue +28 -2
- package/components/LabelValue.vue +20 -1
- package/components/ModalWithCard.vue +12 -3
- package/components/PodSecurityAdmission.vue +1 -1
- package/components/PromptModal.vue +1 -1
- package/components/PromptRemove.vue +30 -11
- package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +1 -3
- package/components/Resource/Detail/Metadata/KeyValue.vue +8 -4
- package/components/Resource/Detail/Metadata/index.vue +3 -1
- package/components/Resource/Detail/TitleBar/Title.vue +4 -3
- package/components/Resource/Detail/TitleBar/Top.vue +2 -0
- package/components/Resource/Detail/TitleBar/index.vue +109 -24
- package/components/ResourceDetail/Masthead/legacy.vue +181 -38
- package/components/ResourceDetail/legacy.vue +32 -14
- package/components/ResourceList/Masthead.vue +226 -54
- package/components/ResourceList/ResourceLoadingIndicator.vue +5 -2
- package/components/ResourceTable.vue +24 -2
- package/components/SideNav.vue +74 -20
- package/components/SortableTable/THead.vue +33 -3
- package/components/SortableTable/index.vue +1016 -463
- package/components/SortableTable/paging.js +26 -16
- package/components/SortableTable/selection.js +2 -2
- package/components/Tabbed/Tab.vue +3 -3
- package/components/Tabbed/index.vue +47 -29
- package/components/YamlEditor.vue +0 -1
- package/components/auth/Principal.vue +37 -13
- package/components/auth/RoleDetailEdit.vue +58 -7
- package/components/auth/SelectPrincipal.vue +1 -0
- package/components/breadcrumb/index.vue +316 -0
- package/components/form/ArrayList.vue +41 -33
- package/components/form/ArrayListGrouped.vue +10 -2
- package/components/form/ArrayListSelect.vue +1 -1
- package/components/form/BannerSettings.vue +64 -59
- package/components/form/ChangePassword.vue +4 -4
- package/components/form/ColorInput.vue +32 -8
- package/components/form/Footer.vue +11 -8
- package/components/form/InputWithSelect.vue +8 -5
- package/components/form/KeyValue.vue +47 -7
- package/components/form/LabeledSelect.vue +214 -242
- package/components/form/Labels.vue +3 -3
- package/components/form/MatchExpressions.vue +24 -7
- package/components/form/Members/ClusterPermissionsEditor.vue +1 -2
- package/components/form/Members/MembershipEditor.vue +1 -1
- package/components/form/NameNsDescription.vue +59 -20
- package/components/form/Password.vue +16 -7
- package/components/form/PodAffinity.vue +4 -5
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +18 -17
- package/components/form/ResourceQuota/Project.vue +4 -4
- package/components/form/ResourceQuota/ProjectRow.vue +3 -6
- package/components/form/Select.vue +5 -2
- package/components/form/SimpleSecretSelector.vue +29 -9
- package/components/form/Taints.vue +2 -1
- package/components/form/UnitInput.vue +8 -3
- package/components/form/WorkloadPorts.vue +143 -123
- package/components/formatter/BadgeStateFormatter.vue +8 -5
- package/components/formatter/LiveDate.vue +3 -3
- package/components/nav/Favorite.vue +5 -1
- package/components/nav/Group.vue +132 -99
- package/components/nav/Header.vue +124 -27
- package/components/nav/HeaderPageActionMenu.vue +1 -0
- package/components/nav/NamespaceFilter.vue +20 -17
- package/components/nav/TopLevelMenu.vue +182 -119
- package/components/nav/Type.vue +63 -41
- package/composables/useClickOutside.ts +1 -1
- package/config/private-label.js +15 -11
- package/config/product/auth.js +17 -7
- package/config/product/settings.js +19 -9
- package/config/settings.ts +28 -0
- package/config/table-headers.js +3 -2
- package/dialog/ForceMachineRemoveDialog.vue +2 -2
- package/dialog/ScalePoolDownDialog.vue +2 -2
- package/edit/management.cattle.io.user.vue +17 -4
- 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 +36 -12
- 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 +1 -2
- package/edit/token.vue +31 -12
- package/edit/workload/index.vue +4 -4
- package/list/management.cattle.io.setting.vue +22 -13
- package/list/management.cattle.io.user.vue +7 -3
- package/list/namespace.vue +3 -0
- package/list/provisioning.cattle.io.cluster.vue +6 -7
- package/mixins/brand.js +17 -0
- package/package.json +1 -1
- package/pages/account/pri.vue +229 -0
- package/pages/auth/login.vue +220 -52
- package/pages/auth/setup.vue +142 -19
- package/pages/c/_cluster/_product/namespaces.vue +5 -5
- package/pages/c/_cluster/auth/roles/index.vue +56 -5
- package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
- package/pages/c/_cluster/settings/banners.vue +174 -102
- package/pages/c/_cluster/settings/brand.vue +350 -302
- package/pages/c/_cluster/settings/performance.vue +61 -38
- package/pages/home.vue +70 -30
- package/pages/prefs.vue +27 -25
- package/pkg/tsconfig.json +9 -9
- package/pkg/vue.config.js +1 -1
- package/plugins/dashboard-store/resource-class.js +28 -27
- package/promptRemove/mixin/roleDeletionCheck.js +2 -2
- package/public/index.html +4 -4
- package/rancher-components/BadgeState/BadgeState.vue +38 -55
- package/rancher-components/Banner/Banner.vue +12 -8
- package/rancher-components/Card/Card.vue +7 -8
- package/rancher-components/Form/Checkbox/Checkbox.vue +4 -0
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +42 -3
- package/rancher-components/Form/Radio/RadioButton.vue +35 -11
- package/rancher-components/Form/Radio/RadioGroup.vue +13 -5
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
- package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +1 -0
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +12 -4
- package/rancher-components/RcDropdown/RcDropdown.vue +35 -7
- package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +12 -6
- package/rancher-components/RcDropdown/types.ts +1 -0
- package/rancher-components/StringList/StringList.vue +1 -1
- package/scripts/publish-shell.sh +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 +5 -2
- package/store/modal.ts +3 -3
- package/store/prefs.js +11 -4
- package/store/type-map.js +32 -2
- package/types/shell/index.d.ts +78 -97
- package/utils/error.js +89 -8
- package/utils/errorTranslate.json +1351 -0
- package/utils/router.js +21 -0
- package/utils/select.js +26 -3
- package/utils/string.js +8 -5
- package/utils/title.ts +1 -1
- package/vue.config.js +1 -1
|
@@ -46,30 +46,34 @@ export default {
|
|
|
46
46
|
</script>
|
|
47
47
|
<template>
|
|
48
48
|
<div>
|
|
49
|
-
<
|
|
50
|
-
|
|
49
|
+
<div class="route-title-config mb-20">
|
|
50
|
+
接收器
|
|
51
51
|
<i
|
|
52
52
|
v-clean-tooltip="t('monitoring.alertmanagerConfig.receiverTooltip')"
|
|
53
53
|
class="icon icon-info"
|
|
54
54
|
/>
|
|
55
|
-
</
|
|
55
|
+
</div>
|
|
56
56
|
<Banner
|
|
57
57
|
color="info"
|
|
58
58
|
:label="t('monitoring.alertmanagerConfig.routeInfo')"
|
|
59
59
|
/>
|
|
60
|
-
<div class="row
|
|
60
|
+
<div class="row">
|
|
61
61
|
<div class="col span-6">
|
|
62
62
|
<LabeledSelect
|
|
63
63
|
v-model:value="value.receiver"
|
|
64
64
|
:mode="mode"
|
|
65
|
+
:isLabel="true"
|
|
66
|
+
:leftWidth="'225px'"
|
|
65
67
|
:options="receiverOptions"
|
|
66
68
|
/>
|
|
67
69
|
</div>
|
|
68
70
|
</div>
|
|
69
|
-
<
|
|
70
|
-
|
|
71
|
+
<div class="route-title-config config-top mb-20">
|
|
72
|
+
分组
|
|
73
|
+
</div>
|
|
74
|
+
<div class="row">
|
|
71
75
|
<div class="col span-6">
|
|
72
|
-
<span class="label">
|
|
76
|
+
<span class="label mb-10">
|
|
73
77
|
{{ t("monitoringRoute.groups.addGroupByLabel'") }}
|
|
74
78
|
<i
|
|
75
79
|
v-clean-tooltip="t('monitoringRoute.groups.groupByTooltip')"
|
|
@@ -84,8 +88,10 @@ export default {
|
|
|
84
88
|
/>
|
|
85
89
|
</div>
|
|
86
90
|
</div>
|
|
87
|
-
<
|
|
88
|
-
|
|
91
|
+
<div class="route-title-config config-top mb-20">
|
|
92
|
+
等待和间隔
|
|
93
|
+
</div>
|
|
94
|
+
<div class="row">
|
|
89
95
|
<div class="col span-6">
|
|
90
96
|
<LabeledInput
|
|
91
97
|
v-model:value="value.groupWait"
|
|
@@ -101,7 +107,7 @@ export default {
|
|
|
101
107
|
/>
|
|
102
108
|
</div>
|
|
103
109
|
</div>
|
|
104
|
-
<div class="row
|
|
110
|
+
<div class="row">
|
|
105
111
|
<div class="col span-6">
|
|
106
112
|
<LabeledInput
|
|
107
113
|
v-model:value="value.repeatInterval"
|
|
@@ -111,7 +117,9 @@ export default {
|
|
|
111
117
|
</div>
|
|
112
118
|
</div>
|
|
113
119
|
|
|
114
|
-
<
|
|
120
|
+
<div class="route-title-config config-top mb-20 mb-20">
|
|
121
|
+
匹配器
|
|
122
|
+
</div>
|
|
115
123
|
<ArrayListGrouped
|
|
116
124
|
v-model:value="value.matchers"
|
|
117
125
|
class="mt-20"
|
|
@@ -120,7 +128,7 @@ export default {
|
|
|
120
128
|
:default-add-value="{ matchers: [] }"
|
|
121
129
|
>
|
|
122
130
|
<template #default="props">
|
|
123
|
-
<div class="row
|
|
131
|
+
<div class="row ">
|
|
124
132
|
<div class="col span-4">
|
|
125
133
|
<LabeledInput
|
|
126
134
|
v-model:value="props.row.value.name"
|
|
@@ -150,3 +158,19 @@ export default {
|
|
|
150
158
|
</ArrayListGrouped>
|
|
151
159
|
</div>
|
|
152
160
|
</template>
|
|
161
|
+
|
|
162
|
+
<style scoped>
|
|
163
|
+
.route-title-config{
|
|
164
|
+
font-size: 14px;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.row{
|
|
168
|
+
flex-wrap: wrap;
|
|
169
|
+
}
|
|
170
|
+
.col{
|
|
171
|
+
width: 49.125%;
|
|
172
|
+
}
|
|
173
|
+
.config-top{
|
|
174
|
+
margin-top: 32px;
|
|
175
|
+
}
|
|
176
|
+
</style>
|
|
@@ -80,7 +80,7 @@ export default {
|
|
|
80
80
|
<div>
|
|
81
81
|
<div class="row">
|
|
82
82
|
<div class="col span-12">
|
|
83
|
-
<h3
|
|
83
|
+
<h3>目标</h3>
|
|
84
84
|
</div>
|
|
85
85
|
</div>
|
|
86
86
|
<div class="row mb-20">
|
|
@@ -88,7 +88,7 @@ export default {
|
|
|
88
88
|
<LabeledInput
|
|
89
89
|
v-model:value="value.to"
|
|
90
90
|
:mode="mode"
|
|
91
|
-
label="
|
|
91
|
+
label="默认收件人地址"
|
|
92
92
|
placeholder="e.g. admin@example.com"
|
|
93
93
|
/>
|
|
94
94
|
</div>
|
|
@@ -97,7 +97,7 @@ export default {
|
|
|
97
97
|
v-model:value="value.sendResolved"
|
|
98
98
|
:mode="mode"
|
|
99
99
|
class="mt-20"
|
|
100
|
-
label="
|
|
100
|
+
label="启用发送已解决的警报"
|
|
101
101
|
/>
|
|
102
102
|
</div>
|
|
103
103
|
</div>
|
|
@@ -109,7 +109,7 @@ export default {
|
|
|
109
109
|
<LabeledInput
|
|
110
110
|
v-model:value="value.from"
|
|
111
111
|
:mode="mode"
|
|
112
|
-
label="
|
|
112
|
+
label="发件人"
|
|
113
113
|
placeholder="e.g. admin@example.com"
|
|
114
114
|
/>
|
|
115
115
|
</div>
|
|
@@ -119,7 +119,7 @@ export default {
|
|
|
119
119
|
<LabeledInput
|
|
120
120
|
v-model:value="value.smarthost"
|
|
121
121
|
:mode="mode"
|
|
122
|
-
label="
|
|
122
|
+
label="主机"
|
|
123
123
|
placeholder="e.g. 192.168.1.121:587"
|
|
124
124
|
/>
|
|
125
125
|
</div>
|
|
@@ -128,7 +128,7 @@ export default {
|
|
|
128
128
|
v-model:value="value.requireTLS"
|
|
129
129
|
:mode="mode"
|
|
130
130
|
class="mt-20"
|
|
131
|
-
label="
|
|
131
|
+
label="启用TLS"
|
|
132
132
|
/>
|
|
133
133
|
</div>
|
|
134
134
|
</div>
|
|
@@ -165,7 +165,7 @@ export default {
|
|
|
165
165
|
<div>
|
|
166
166
|
<div class="row">
|
|
167
167
|
<div class="col span-12">
|
|
168
|
-
<h3
|
|
168
|
+
<h3>目标</h3>
|
|
169
169
|
</div>
|
|
170
170
|
</div>
|
|
171
171
|
<div class="row mb-20">
|
|
@@ -192,7 +192,7 @@ export default {
|
|
|
192
192
|
<LabeledInput
|
|
193
193
|
v-model:value="value.httpConfig.proxyURL"
|
|
194
194
|
:mode="mode"
|
|
195
|
-
label="
|
|
195
|
+
label="代理地址"
|
|
196
196
|
placeholder="e.g. http://my-proxy/"
|
|
197
197
|
/>
|
|
198
198
|
</div>
|
|
@@ -201,12 +201,12 @@ export default {
|
|
|
201
201
|
<Checkbox
|
|
202
202
|
v-model:value="value.sendResolved"
|
|
203
203
|
:mode="mode"
|
|
204
|
-
label="
|
|
204
|
+
label="启用发送已解决的警报"
|
|
205
205
|
/>
|
|
206
206
|
</div>
|
|
207
207
|
<div class="row">
|
|
208
208
|
<div class="col span-12">
|
|
209
|
-
<h3
|
|
209
|
+
<h3>响应者</h3>
|
|
210
210
|
<ArrayList
|
|
211
211
|
v-model:value="responders"
|
|
212
212
|
:mode="mode"
|
|
@@ -219,18 +219,18 @@ export default {
|
|
|
219
219
|
class="row"
|
|
220
220
|
:class="{'mb-15': isView, 'mb-10': !isView}"
|
|
221
221
|
>
|
|
222
|
-
|
|
223
|
-
<span class="text-label"
|
|
222
|
+
<div class="col" style="width:400px">
|
|
223
|
+
<span class="text-label">类型</span>
|
|
224
224
|
</div>
|
|
225
|
-
<div class="col
|
|
226
|
-
<span class="text-label"
|
|
225
|
+
<div class="col send-to ml-10" style="flex: 1;">
|
|
226
|
+
<span class="text-label">发送至</span>
|
|
227
227
|
</div>
|
|
228
228
|
</div>
|
|
229
229
|
</div>
|
|
230
230
|
</template>
|
|
231
231
|
<template v-slot:columns="scope">
|
|
232
232
|
<div class="row responder">
|
|
233
|
-
<div
|
|
233
|
+
<div style="width:400px">
|
|
234
234
|
<span v-if="isView">{{ typeLabel(scope.row.value.type) }}</span>
|
|
235
235
|
<Select
|
|
236
236
|
v-else
|
|
@@ -239,7 +239,7 @@ export default {
|
|
|
239
239
|
:options="TYPES"
|
|
240
240
|
/>
|
|
241
241
|
</div>
|
|
242
|
-
<div class="
|
|
242
|
+
<div class="target-container ml-10" style="flex: 1;">
|
|
243
243
|
<span v-if="isView">{{ targetLabel(scope.row.value.target) }}: {{ scope.row.value.value }}</span>
|
|
244
244
|
<InputWithSelect
|
|
245
245
|
v-else
|
|
@@ -130,7 +130,7 @@ export default {
|
|
|
130
130
|
<div>
|
|
131
131
|
<div class="row">
|
|
132
132
|
<div class="col span-12">
|
|
133
|
-
<h3
|
|
133
|
+
<h3>目标</h3>
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
|
136
136
|
<div
|
|
@@ -142,7 +142,7 @@ export default {
|
|
|
142
142
|
v-model:value="integrationType"
|
|
143
143
|
:options="integrationTypeOptions"
|
|
144
144
|
:mode="mode"
|
|
145
|
-
label="
|
|
145
|
+
label="整合型"
|
|
146
146
|
/>
|
|
147
147
|
</div>
|
|
148
148
|
</div>
|
|
@@ -186,7 +186,7 @@ export default {
|
|
|
186
186
|
<LabeledInput
|
|
187
187
|
v-model:value="value.httpConfig.proxyURL"
|
|
188
188
|
:mode="mode"
|
|
189
|
-
label="
|
|
189
|
+
label="代理地址"
|
|
190
190
|
placeholder="e.g. http://my-proxy/"
|
|
191
191
|
data-testid="v2-monitoring-receiver-pagerduty-proxy-url"
|
|
192
192
|
/>
|
|
@@ -196,7 +196,7 @@ export default {
|
|
|
196
196
|
<Checkbox
|
|
197
197
|
v-model:value="value.sendResolved"
|
|
198
198
|
:mode="mode"
|
|
199
|
-
label="
|
|
199
|
+
label="启用发送已解决的警报"
|
|
200
200
|
/>
|
|
201
201
|
</div>
|
|
202
202
|
</div>
|
|
@@ -82,7 +82,7 @@ export default {
|
|
|
82
82
|
<div>
|
|
83
83
|
<div class="row">
|
|
84
84
|
<div class="col span-12">
|
|
85
|
-
<h3
|
|
85
|
+
<h3>目标</h3>
|
|
86
86
|
</div>
|
|
87
87
|
</div>
|
|
88
88
|
<div class="row mb-20">
|
|
@@ -116,7 +116,7 @@ export default {
|
|
|
116
116
|
<LabeledInput
|
|
117
117
|
v-model:value="value.channel"
|
|
118
118
|
:mode="mode"
|
|
119
|
-
label="
|
|
119
|
+
label="默认频道"
|
|
120
120
|
placeholder="e.g. #example"
|
|
121
121
|
/>
|
|
122
122
|
</div>
|
|
@@ -124,7 +124,7 @@ export default {
|
|
|
124
124
|
<LabeledInput
|
|
125
125
|
v-model:value="value.httpConfig.proxyURL"
|
|
126
126
|
:mode="mode"
|
|
127
|
-
label="
|
|
127
|
+
label="代理地址"
|
|
128
128
|
placeholder="e.g. http://my-proxy/"
|
|
129
129
|
/>
|
|
130
130
|
</div>
|
|
@@ -133,7 +133,7 @@ export default {
|
|
|
133
133
|
<Checkbox
|
|
134
134
|
v-model:value="value.sendResolved"
|
|
135
135
|
:mode="mode"
|
|
136
|
-
label="
|
|
136
|
+
label="启用发送已解决的警报"
|
|
137
137
|
/>
|
|
138
138
|
</div>
|
|
139
139
|
</div>
|
|
@@ -39,7 +39,7 @@ export default {
|
|
|
39
39
|
<div>
|
|
40
40
|
<div class="row">
|
|
41
41
|
<div class="col span-12">
|
|
42
|
-
<h3
|
|
42
|
+
<h3>目标</h3>
|
|
43
43
|
</div>
|
|
44
44
|
</div>
|
|
45
45
|
<div class="row mb-20">
|
|
@@ -47,7 +47,7 @@ export default {
|
|
|
47
47
|
<LabeledInput
|
|
48
48
|
v-model:value="value.to"
|
|
49
49
|
:mode="mode"
|
|
50
|
-
label="
|
|
50
|
+
label="默认收件人地址"
|
|
51
51
|
placeholder="e.g. admin@example.com"
|
|
52
52
|
/>
|
|
53
53
|
</div>
|
|
@@ -56,7 +56,7 @@ export default {
|
|
|
56
56
|
v-model:value="value.send_resolved"
|
|
57
57
|
:mode="mode"
|
|
58
58
|
class="mt-20"
|
|
59
|
-
label="
|
|
59
|
+
label="启用发送已解决的警报"
|
|
60
60
|
/>
|
|
61
61
|
</div>
|
|
62
62
|
</div>
|
|
@@ -97,7 +97,7 @@ export default {
|
|
|
97
97
|
v-model:value="value.require_tls"
|
|
98
98
|
:mode="mode"
|
|
99
99
|
class="mt-20"
|
|
100
|
-
label="
|
|
100
|
+
label="启用TLS"
|
|
101
101
|
/>
|
|
102
102
|
</div>
|
|
103
103
|
</div>
|
|
@@ -106,7 +106,7 @@ export default {
|
|
|
106
106
|
<LabeledInput
|
|
107
107
|
v-model:value="value.auth_username"
|
|
108
108
|
:mode="mode"
|
|
109
|
-
label="
|
|
109
|
+
label="用户名"
|
|
110
110
|
placeholder="e.g. John"
|
|
111
111
|
/>
|
|
112
112
|
</div>
|
|
@@ -114,7 +114,7 @@ export default {
|
|
|
114
114
|
<LabeledInput
|
|
115
115
|
v-model:value="value.auth_password"
|
|
116
116
|
:mode="mode"
|
|
117
|
-
label="
|
|
117
|
+
label="密码"
|
|
118
118
|
type="password"
|
|
119
119
|
autocomplete="current-password"
|
|
120
120
|
/>
|
|
@@ -130,7 +130,7 @@ export default {
|
|
|
130
130
|
<div>
|
|
131
131
|
<div class="row">
|
|
132
132
|
<div class="col span-12">
|
|
133
|
-
<h3
|
|
133
|
+
<h3>目标</h3>
|
|
134
134
|
</div>
|
|
135
135
|
</div>
|
|
136
136
|
<div class="row mb-20">
|
|
@@ -147,7 +147,7 @@ export default {
|
|
|
147
147
|
<LabeledInput
|
|
148
148
|
v-model:value="value.http_config.proxy_url"
|
|
149
149
|
:mode="mode"
|
|
150
|
-
label="
|
|
150
|
+
label="代理地址"
|
|
151
151
|
placeholder="e.g. http://my-proxy/"
|
|
152
152
|
/>
|
|
153
153
|
</div>
|
|
@@ -156,12 +156,12 @@ export default {
|
|
|
156
156
|
<Checkbox
|
|
157
157
|
v-model:value="value.send_resolved"
|
|
158
158
|
:mode="mode"
|
|
159
|
-
label="
|
|
159
|
+
label="启用发送已解决的警报"
|
|
160
160
|
/>
|
|
161
161
|
</div>
|
|
162
162
|
<div class="row">
|
|
163
163
|
<div class="col span-12">
|
|
164
|
-
<h3
|
|
164
|
+
<h3>响应者</h3>
|
|
165
165
|
<ArrayList
|
|
166
166
|
v-model:value="responders"
|
|
167
167
|
:mode="mode"
|
|
@@ -174,18 +174,18 @@ export default {
|
|
|
174
174
|
class="row"
|
|
175
175
|
:class="{'mb-15': isView, 'mb-10': !isView}"
|
|
176
176
|
>
|
|
177
|
-
<div class="col
|
|
178
|
-
<span class="text-label"
|
|
177
|
+
<div class="col" style="width:400px">
|
|
178
|
+
<span class="text-label">类型</span>
|
|
179
179
|
</div>
|
|
180
|
-
<div class="col
|
|
181
|
-
<span class="text-label"
|
|
180
|
+
<div class="col send-to ml-10" style="flex: 1;">
|
|
181
|
+
<span class="text-label">发送至</span>
|
|
182
182
|
</div>
|
|
183
183
|
</div>
|
|
184
184
|
</div>
|
|
185
185
|
</template>
|
|
186
186
|
<template v-slot:columns="scope">
|
|
187
187
|
<div class="row responder">
|
|
188
|
-
<div
|
|
188
|
+
<div style="width:400px">
|
|
189
189
|
<span v-if="isView">{{ typeLabel(scope.row.value.type) }}</span>
|
|
190
190
|
<Select
|
|
191
191
|
v-else
|
|
@@ -194,7 +194,7 @@ export default {
|
|
|
194
194
|
:options="TYPES"
|
|
195
195
|
/>
|
|
196
196
|
</div>
|
|
197
|
-
<div class="
|
|
197
|
+
<div class="target-container ml-10" style="flex: 1;">
|
|
198
198
|
<span v-if="isView">{{ targetLabel(scope.row.value.target) }}: {{ scope.row.value.value }}</span>
|
|
199
199
|
<InputWithSelect
|
|
200
200
|
v-else
|
|
@@ -56,7 +56,7 @@ export default {
|
|
|
56
56
|
<div>
|
|
57
57
|
<div class="row">
|
|
58
58
|
<div class="col span-12">
|
|
59
|
-
<h3
|
|
59
|
+
<h3>目标</h3>
|
|
60
60
|
</div>
|
|
61
61
|
</div>
|
|
62
62
|
<div class="row mb-20">
|
|
@@ -65,14 +65,14 @@ export default {
|
|
|
65
65
|
v-model:value="integrationType"
|
|
66
66
|
:options="integrationTypeOptions"
|
|
67
67
|
:mode="mode"
|
|
68
|
-
label="
|
|
68
|
+
label="整合型"
|
|
69
69
|
/>
|
|
70
70
|
</div>
|
|
71
71
|
<div class="col span-6">
|
|
72
72
|
<LabeledInput
|
|
73
73
|
v-model:value="value[integrationMapping[integrationType]]"
|
|
74
74
|
:mode="mode"
|
|
75
|
-
label="
|
|
75
|
+
label="默认集成密钥"
|
|
76
76
|
/>
|
|
77
77
|
</div>
|
|
78
78
|
</div>
|
|
@@ -81,7 +81,7 @@ export default {
|
|
|
81
81
|
<LabeledInput
|
|
82
82
|
v-model:value="value.http_config.proxy_url"
|
|
83
83
|
:mode="mode"
|
|
84
|
-
label="
|
|
84
|
+
label="代理地址"
|
|
85
85
|
placeholder="e.g. http://my-proxy/"
|
|
86
86
|
/>
|
|
87
87
|
</div>
|
|
@@ -90,7 +90,7 @@ export default {
|
|
|
90
90
|
<Checkbox
|
|
91
91
|
v-model:value="value.send_resolved"
|
|
92
92
|
:mode="mode"
|
|
93
|
-
label="
|
|
93
|
+
label="启用发送已解决的警报"
|
|
94
94
|
/>
|
|
95
95
|
</div>
|
|
96
96
|
</div>
|
|
@@ -40,7 +40,7 @@ export default {
|
|
|
40
40
|
<div>
|
|
41
41
|
<div class="row">
|
|
42
42
|
<div class="col span-12">
|
|
43
|
-
<h3
|
|
43
|
+
<h3>目标</h3>
|
|
44
44
|
</div>
|
|
45
45
|
</div>
|
|
46
46
|
<div class="row mb-20">
|
|
@@ -64,7 +64,7 @@ export default {
|
|
|
64
64
|
<LabeledInput
|
|
65
65
|
v-model:value="value.channel"
|
|
66
66
|
:mode="mode"
|
|
67
|
-
label="
|
|
67
|
+
label="默认频道"
|
|
68
68
|
placeholder="e.g. #example"
|
|
69
69
|
/>
|
|
70
70
|
</div>
|
|
@@ -72,7 +72,7 @@ export default {
|
|
|
72
72
|
<LabeledInput
|
|
73
73
|
v-model:value="value.http_config.proxy_url"
|
|
74
74
|
:mode="mode"
|
|
75
|
-
label="
|
|
75
|
+
label="代理地址"
|
|
76
76
|
placeholder="e.g. http://my-proxy/"
|
|
77
77
|
/>
|
|
78
78
|
</div>
|
|
@@ -81,7 +81,7 @@ export default {
|
|
|
81
81
|
<Checkbox
|
|
82
82
|
v-model:value="value.send_resolved"
|
|
83
83
|
:mode="mode"
|
|
84
|
-
label="
|
|
84
|
+
label="启用发送已解决的警报"
|
|
85
85
|
/>
|
|
86
86
|
</div>
|
|
87
87
|
</div>
|
package/edit/namespace.vue
CHANGED
|
@@ -184,11 +184,10 @@ export default {
|
|
|
184
184
|
:value="value"
|
|
185
185
|
:namespaced="false"
|
|
186
186
|
:mode="mode"
|
|
187
|
-
:extra-columns="['project-col']"
|
|
188
187
|
>
|
|
189
188
|
<template
|
|
190
189
|
v-if="flatView && isCreate"
|
|
191
|
-
#
|
|
190
|
+
#customize
|
|
192
191
|
>
|
|
193
192
|
<LabeledSelect
|
|
194
193
|
v-model:value="projectName"
|
package/edit/token.vue
CHANGED
|
@@ -175,7 +175,16 @@ export default {
|
|
|
175
175
|
|
|
176
176
|
<template>
|
|
177
177
|
<div v-if="!created">
|
|
178
|
-
<div
|
|
178
|
+
<div
|
|
179
|
+
v-for="(err,idx) in errors"
|
|
180
|
+
:key="idx"
|
|
181
|
+
>
|
|
182
|
+
<Banner
|
|
183
|
+
color="error"
|
|
184
|
+
:label="err"
|
|
185
|
+
/>
|
|
186
|
+
</div>
|
|
187
|
+
<div class="pr-10">
|
|
179
188
|
<LabeledInput
|
|
180
189
|
key="description"
|
|
181
190
|
v-model:value="value.description"
|
|
@@ -184,19 +193,20 @@ export default {
|
|
|
184
193
|
mode="edit"
|
|
185
194
|
:min-height="30"
|
|
186
195
|
/>
|
|
196
|
+
<div class="mt-20">
|
|
197
|
+
<LabeledSelect
|
|
198
|
+
v-model:value="value.clusterId"
|
|
199
|
+
class="scope-select"
|
|
200
|
+
label-key="accountAndKeys.apiKeys.add.scope"
|
|
201
|
+
:options="scopes"
|
|
202
|
+
/>
|
|
203
|
+
</div>
|
|
187
204
|
|
|
188
|
-
<
|
|
189
|
-
v-model:value="value.clusterId"
|
|
190
|
-
class="mt-20 scope-select"
|
|
191
|
-
label-key="accountAndKeys.apiKeys.add.scope"
|
|
192
|
-
:options="scopes"
|
|
193
|
-
/>
|
|
194
|
-
|
|
195
|
-
<h5 class="pt-20">
|
|
205
|
+
<div style="font-size: 14px; margin-top: 32px;">
|
|
196
206
|
{{ t('accountAndKeys.apiKeys.add.expiry.label') }}
|
|
197
|
-
</
|
|
207
|
+
</div>
|
|
198
208
|
|
|
199
|
-
<div class="
|
|
209
|
+
<div class="mt-20">
|
|
200
210
|
<RadioGroup
|
|
201
211
|
v-model:value="form.expiryType"
|
|
202
212
|
:options="expiryOptions"
|
|
@@ -204,11 +214,12 @@ export default {
|
|
|
204
214
|
class="mr-20"
|
|
205
215
|
name="expiryGroup"
|
|
206
216
|
/>
|
|
207
|
-
<div class="
|
|
217
|
+
<div class="mt-20 expiry">
|
|
208
218
|
<input
|
|
209
219
|
v-model="form.customExpiry"
|
|
210
220
|
:disabled="form.expiryType !== 'custom'"
|
|
211
221
|
type="number"
|
|
222
|
+
class="expire-input"
|
|
212
223
|
:mode="mode"
|
|
213
224
|
:aria-label="t('accountAndKeys.apiKeys.add.ariaLabel.expiration')"
|
|
214
225
|
>
|
|
@@ -299,6 +310,14 @@ export default {
|
|
|
299
310
|
flex: 0 0 200px;
|
|
300
311
|
margin-right: 10px;
|
|
301
312
|
}
|
|
313
|
+
.expire-input{
|
|
314
|
+
border: solid var(--border-width) var(--input-border);
|
|
315
|
+
padding: 0px 0px 0px 11px;
|
|
316
|
+
line-height: 30px;
|
|
317
|
+
/* &['disabled']{
|
|
318
|
+
border: solid var(--border-width) var(--input-border);
|
|
319
|
+
} */
|
|
320
|
+
}
|
|
302
321
|
}
|
|
303
322
|
|
|
304
323
|
.buttons {
|
package/edit/workload/index.vue
CHANGED
|
@@ -108,7 +108,7 @@ export default {
|
|
|
108
108
|
>
|
|
109
109
|
<div
|
|
110
110
|
v-if="isCronJob"
|
|
111
|
-
class="col span-
|
|
111
|
+
class="col span-6"
|
|
112
112
|
>
|
|
113
113
|
<LabeledInput
|
|
114
114
|
v-model:value="spec.schedule"
|
|
@@ -122,7 +122,7 @@ export default {
|
|
|
122
122
|
</div>
|
|
123
123
|
<div
|
|
124
124
|
v-if="isReplicable"
|
|
125
|
-
class="col span-
|
|
125
|
+
class="col span-6"
|
|
126
126
|
>
|
|
127
127
|
<LabeledInput
|
|
128
128
|
v-model:value.number="spec.replicas"
|
|
@@ -135,7 +135,7 @@ export default {
|
|
|
135
135
|
</div>
|
|
136
136
|
<div
|
|
137
137
|
v-if="isStatefulSet"
|
|
138
|
-
class="col span-
|
|
138
|
+
class="col span-6"
|
|
139
139
|
>
|
|
140
140
|
<LabeledSelect
|
|
141
141
|
v-model:value="spec.serviceName"
|
|
@@ -664,7 +664,7 @@ export default {
|
|
|
664
664
|
.deployment-tabs {
|
|
665
665
|
> .tabs.horizontal {
|
|
666
666
|
border-bottom: 1px solid var(--border);
|
|
667
|
-
margin-bottom:
|
|
667
|
+
margin-bottom: 20px;
|
|
668
668
|
}
|
|
669
669
|
}
|
|
670
670
|
.padded {
|