dashboard-shell-shell 3.0.5-test.5 → 3.0.5-test.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/brand/harvester/favicon.png +0 -0
- package/assets/brand/suse/favicon.png +0 -0
- package/assets/images/pl/half-logo.svg +23 -2
- package/assets/images/pl/harvester.png +0 -0
- package/assets/styles/app.scss +0 -4
- package/assets/styles/base/_basic.scss +2 -2
- package/assets/styles/base/_mixins.scss +1 -1
- package/assets/styles/base/_typography.scss +1 -2
- package/assets/styles/base/_variables.scss +4 -11
- package/assets/styles/global/_button.scss +25 -43
- package/assets/styles/global/_columns.scss +1 -3
- package/assets/styles/global/_form.scss +13 -45
- package/assets/styles/global/_labeled-input.scss +26 -54
- package/assets/styles/global/_layout.scss +3 -8
- package/assets/styles/global/_select.scss +17 -25
- package/assets/styles/global/_table.scss +1 -7
- package/assets/styles/global/_tooltip.scss +8 -56
- package/assets/styles/themes/_dark.scss +0 -3
- package/assets/styles/themes/_light.scss +43 -66
- package/assets/styles/vendor/vue-select.scss +9 -22
- package/assets/translations/en-us.yaml +4 -28
- package/assets/translations/zh-hans.yaml +189 -452
- package/components/ActionDropdown.vue +1 -2
- package/components/ActionMenu.vue +2 -2
- package/components/ActionMenuShell.vue +0 -2
- package/components/AppModal.vue +5 -46
- package/components/BrandImage.vue +0 -1
- package/components/ButtonDropdown.vue +4 -26
- package/components/ButtonMultiAction.vue +0 -1
- package/components/ClusterIconMenu.vue +1 -1
- package/components/CodeMirror.vue +6 -20
- package/components/ConsumptionGauge.vue +5 -24
- package/components/CopyToClipboard.vue +0 -15
- package/components/CruResource.vue +8 -9
- package/components/CruResourceFooter.vue +2 -2
- package/components/DashboardOptions.vue +17 -29
- package/components/Drawer/Chrome.vue +2 -2
- package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +23 -23
- package/components/Drawer/ResourceDetailDrawer/index.vue +2 -2
- package/components/ExplorerMembers.vue +3 -18
- package/components/ExplorerProjectsNamespaces.vue +5 -19
- package/components/GlobalRoleBindings.vue +48 -112
- package/components/GrafanaDashboard.vue +4 -4
- package/components/GrowlManager.vue +1 -3
- package/components/HardwareResourceGauge.vue +3 -39
- package/components/IndentedPanel.vue +10 -4
- package/components/InfoBox.vue +3 -3
- package/components/InputOrDisplay.vue +2 -28
- package/components/LabelValue.vue +1 -20
- package/components/ModalWithCard.vue +3 -12
- package/components/PodSecurityAdmission.vue +1 -1
- package/components/PromptModal.vue +1 -1
- package/components/PromptRemove.vue +11 -30
- package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +3 -1
- package/components/Resource/Detail/Metadata/KeyValue.vue +4 -8
- package/components/Resource/Detail/Metadata/index.vue +1 -2
- package/components/Resource/Detail/TitleBar/Title.vue +3 -4
- package/components/Resource/Detail/TitleBar/index.vue +24 -103
- package/components/ResourceDetail/Masthead/legacy.vue +38 -181
- package/components/ResourceDetail/legacy.vue +14 -32
- package/components/ResourceList/Masthead.vue +54 -226
- package/components/ResourceList/ResourceLoadingIndicator.vue +2 -5
- package/components/ResourceTable.vue +2 -24
- package/components/SideNav.vue +20 -74
- package/components/SortableTable/THead.vue +3 -33
- package/components/SortableTable/index.vue +464 -1017
- package/components/SortableTable/paging.js +16 -26
- package/components/SortableTable/selection.js +2 -2
- package/components/Tabbed/Tab.vue +3 -3
- package/components/Tabbed/index.vue +30 -48
- package/components/YamlEditor.vue +1 -0
- package/components/auth/Principal.vue +13 -37
- package/components/auth/RoleDetailEdit.vue +7 -58
- package/components/auth/SelectPrincipal.vue +0 -1
- package/components/form/ArrayList.vue +33 -41
- package/components/form/ArrayListGrouped.vue +2 -10
- package/components/form/ArrayListSelect.vue +1 -1
- package/components/form/BannerSettings.vue +59 -64
- package/components/form/ChangePassword.vue +4 -4
- package/components/form/ColorInput.vue +8 -32
- package/components/form/Footer.vue +8 -11
- package/components/form/InputWithSelect.vue +5 -8
- package/components/form/KeyValue.vue +7 -47
- package/components/form/LabeledSelect.vue +242 -214
- package/components/form/Labels.vue +3 -3
- package/components/form/MatchExpressions.vue +7 -24
- package/components/form/Members/ClusterPermissionsEditor.vue +2 -1
- package/components/form/Members/MembershipEditor.vue +1 -1
- package/components/form/NameNsDescription.vue +20 -59
- package/components/form/Password.vue +7 -16
- package/components/form/PodAffinity.vue +5 -4
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +17 -18
- package/components/form/ResourceQuota/Project.vue +4 -4
- package/components/form/ResourceQuota/ProjectRow.vue +6 -3
- package/components/form/Select.vue +2 -5
- package/components/form/SimpleSecretSelector.vue +9 -29
- package/components/form/Taints.vue +1 -2
- package/components/form/UnitInput.vue +3 -8
- package/components/form/WorkloadPorts.vue +123 -143
- package/components/formatter/BadgeStateFormatter.vue +5 -8
- package/components/formatter/LiveDate.vue +3 -3
- package/components/nav/Favorite.vue +1 -5
- package/components/nav/Group.vue +99 -132
- package/components/nav/Header.vue +27 -124
- package/components/nav/HeaderPageActionMenu.vue +0 -1
- package/components/nav/NamespaceFilter.vue +15 -19
- package/components/nav/TopLevelMenu.vue +119 -182
- package/components/nav/Type.vue +41 -63
- package/composables/useClickOutside.ts +1 -1
- package/config/private-label.js +11 -15
- package/config/product/auth.js +7 -17
- package/config/product/settings.js +9 -19
- package/config/settings.ts +0 -28
- package/config/table-headers.js +2 -3
- package/dialog/ForceMachineRemoveDialog.vue +2 -2
- package/dialog/ScalePoolDownDialog.vue +2 -2
- package/edit/management.cattle.io.user.vue +4 -17
- package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
- package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
- package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +12 -36
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
- package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
- package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
- package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
- package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
- package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
- package/edit/namespace.vue +2 -1
- package/edit/token.vue +12 -31
- package/edit/workload/index.vue +4 -4
- package/list/management.cattle.io.setting.vue +13 -22
- package/list/management.cattle.io.user.vue +3 -7
- package/list/namespace.vue +0 -3
- package/list/provisioning.cattle.io.cluster.vue +7 -6
- package/mixins/brand.js +0 -17
- package/package.json +1 -1
- package/pages/account/index.vue +25 -79
- package/pages/auth/login.vue +52 -220
- package/pages/auth/setup.vue +19 -142
- package/pages/c/_cluster/_product/namespaces.vue +5 -5
- package/pages/c/_cluster/auth/roles/index.vue +1 -19
- package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
- package/pages/c/_cluster/settings/banners.vue +102 -174
- package/pages/c/_cluster/settings/brand.vue +302 -350
- package/pages/c/_cluster/settings/performance.vue +38 -61
- package/pages/home.vue +30 -70
- package/pages/prefs.vue +25 -27
- package/promptRemove/mixin/roleDeletionCheck.js +2 -2
- package/public/index.html +4 -4
- package/rancher-components/BadgeState/BadgeState.vue +55 -38
- package/rancher-components/Banner/Banner.vue +8 -12
- package/rancher-components/Card/Card.vue +8 -7
- package/rancher-components/Form/Checkbox/Checkbox.vue +0 -4
- package/rancher-components/Form/LabeledInput/LabeledInput.vue +3 -42
- package/rancher-components/Form/Radio/RadioButton.vue +11 -35
- package/rancher-components/Form/Radio/RadioGroup.vue +5 -13
- package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
- package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +0 -1
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +4 -12
- package/rancher-components/RcDropdown/RcDropdown.vue +7 -35
- package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +6 -12
- package/rancher-components/RcDropdown/types.ts +0 -1
- package/rancher-components/StringList/StringList.vue +1 -1
- package/static/favicon.ico +0 -0
- package/static/favicon.png +0 -0
- package/static/loading-indicator.html +3 -3
- package/store/i18n.js +2 -5
- package/store/modal.ts +3 -3
- package/store/prefs.js +4 -11
- package/store/type-map.js +2 -32
- package/types/shell/index.d.ts +67 -74
- package/utils/error.js +8 -87
- package/utils/router.js +0 -21
- package/utils/select.js +3 -26
- package/utils/string.js +5 -8
- package/utils/title.ts +1 -1
- package/assets/icons/demo.css +0 -539
- package/assets/icons/demo.css:Zone.Identifier +0 -0
- package/assets/icons/demo_index.html +0 -1131
- package/assets/icons/demo_index.html:Zone.Identifier +0 -0
- package/assets/icons/iconfont.css +0 -216
- package/assets/icons/iconfont.css:Zone.Identifier +0 -0
- package/assets/icons/iconfont.js +0 -1
- package/assets/icons/iconfont.js:Zone.Identifier +0 -0
- package/assets/icons/iconfont.json +0 -324
- package/assets/icons/iconfont.json:Zone.Identifier +0 -0
- package/assets/icons/iconfont.ttf +0 -0
- package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
- package/assets/icons/iconfont.woff +0 -0
- package/assets/icons/iconfont.woff2 +0 -0
- package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
- package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
- package/assets/images/API.svg +0 -3
- package/assets/images/action.svg +0 -6
- package/assets/images/login/password.svg +0 -20
- package/assets/images/login/user.svg +0 -6
- package/assets/images/login-bg.png +0 -0
- package/assets/images/login-left.png +0 -0
- package/assets/images/login-logo.svg +0 -19
- package/assets/images/logo.png +0 -0
- package/assets/images/pl/logo.png +0 -0
- package/assets/images/promp-yellow.svg +0 -5
- package/assets/images/user.png +0 -0
- package/assets/styles/all.scss +0 -63
- package/components/DotState.vue +0 -84
- package/components/breadcrumb/index.vue +0 -340
- package/pages/account/pri.vue +0 -229
- package/utils/errorTranslate.json +0 -1336
|
@@ -156,10 +156,6 @@ export default {
|
|
|
156
156
|
type: Boolean,
|
|
157
157
|
default: true,
|
|
158
158
|
},
|
|
159
|
-
isDialog: {
|
|
160
|
-
type: Boolean,
|
|
161
|
-
default: false
|
|
162
|
-
},
|
|
163
159
|
rules: {
|
|
164
160
|
default: () => ({
|
|
165
161
|
namespace: [],
|
|
@@ -280,10 +276,10 @@ export default {
|
|
|
280
276
|
kind: 'divider'
|
|
281
277
|
};
|
|
282
278
|
|
|
283
|
-
|
|
279
|
+
const createOverhead = canCreateNamespace.value || props.createNamespaceOverride ? [createButton, divider] : [];
|
|
284
280
|
|
|
285
281
|
return [
|
|
286
|
-
|
|
282
|
+
...createOverhead,
|
|
287
283
|
...sortedByLabel
|
|
288
284
|
];
|
|
289
285
|
});
|
|
@@ -360,11 +356,10 @@ export default {
|
|
|
360
356
|
|
|
361
357
|
colSpan() {
|
|
362
358
|
if (!this.horizontal) {
|
|
363
|
-
return `span-
|
|
359
|
+
return `span-8`;
|
|
364
360
|
}
|
|
365
361
|
// Name and namespace take up two columns.
|
|
366
|
-
|
|
367
|
-
let cols = 2;
|
|
362
|
+
let cols = (this.nameNsHidden ? 0 : 2) + (this.descriptionHidden ? 0 : 1) + this.extraColumns.length;
|
|
368
363
|
|
|
369
364
|
cols = Math.max(2, cols); // If there's only one column, make it render half-width as if there were two
|
|
370
365
|
const span = 12 / cols; // If there's 5, 7, or more columns this will break; don't do that.
|
|
@@ -433,18 +428,13 @@ export default {
|
|
|
433
428
|
</script>
|
|
434
429
|
|
|
435
430
|
<template>
|
|
436
|
-
<div class="row">
|
|
437
|
-
|
|
438
|
-
<!-- 命名空间创建输入框 -->
|
|
431
|
+
<div class="row mb-20">
|
|
432
|
+
<slot name="project-selector" />
|
|
439
433
|
<div
|
|
440
434
|
v-if="namespaced && !nameNsHidden && createNamespace"
|
|
441
435
|
:data-testid="componentTestid + '-namespace-create'"
|
|
442
|
-
class="col span-
|
|
443
|
-
:class=" isDialog? 'namespace-item-row mb-20': 'col span-6'"
|
|
444
|
-
style="display: flex;"
|
|
436
|
+
class="col span-3"
|
|
445
437
|
>
|
|
446
|
-
|
|
447
|
-
<!-- 输入命名空间名称 -->
|
|
448
438
|
<LabeledInput
|
|
449
439
|
ref="namespaceInput"
|
|
450
440
|
v-model:value="namespace"
|
|
@@ -456,8 +446,6 @@ export default {
|
|
|
456
446
|
:required="nameRequired"
|
|
457
447
|
:rules="rules.namespace"
|
|
458
448
|
/>
|
|
459
|
-
|
|
460
|
-
<!-- 取消创建命名空间按钮 -->
|
|
461
449
|
<button
|
|
462
450
|
:aria-label="t('namespace.cancelCreateAriaLabel')"
|
|
463
451
|
@click="cancelCreateNamespace"
|
|
@@ -468,12 +456,10 @@ export default {
|
|
|
468
456
|
/>
|
|
469
457
|
</button>
|
|
470
458
|
</div>
|
|
471
|
-
|
|
472
|
-
<!-- 命名空间选择下拉框 -->
|
|
473
459
|
<div
|
|
474
460
|
v-if="namespaced && !nameNsHidden && !createNamespace"
|
|
475
461
|
:data-testid="componentTestid + '-namespace'"
|
|
476
|
-
|
|
462
|
+
class="col span-3"
|
|
477
463
|
>
|
|
478
464
|
<LabeledSelect
|
|
479
465
|
v-show="!createNamespace"
|
|
@@ -492,11 +478,10 @@ export default {
|
|
|
492
478
|
/>
|
|
493
479
|
</div>
|
|
494
480
|
|
|
495
|
-
<!-- 名称输入框 -->
|
|
496
481
|
<div
|
|
497
482
|
v-if="!nameHidden && !nameNsHidden"
|
|
498
483
|
:data-testid="componentTestid + '-name'"
|
|
499
|
-
|
|
484
|
+
class="col span-3"
|
|
500
485
|
>
|
|
501
486
|
<LabeledInput
|
|
502
487
|
ref="nameInput"
|
|
@@ -513,28 +498,11 @@ export default {
|
|
|
513
498
|
/>
|
|
514
499
|
</div>
|
|
515
500
|
|
|
516
|
-
<!-- 自定义插槽,可插入额外内容 -->
|
|
517
501
|
<slot name="customize" />
|
|
518
|
-
<!-- <div
|
|
519
|
-
v-show="!descriptionHidden"
|
|
520
|
-
:data-testid="componentTestid + '-description'"
|
|
521
|
-
:class="['col', extraColumns.length > 0 ? 'span-3' : 'span-6']"
|
|
522
|
-
> -->
|
|
523
|
-
|
|
524
|
-
<!-- 额外的动态列 -->
|
|
525
|
-
<div
|
|
526
|
-
v-for="(slot, i) in extraColumns"
|
|
527
|
-
:key="i"
|
|
528
|
-
:class="{ col: true, [colSpan]: true }"
|
|
529
|
-
>
|
|
530
|
-
<slot :name="slot" />
|
|
531
|
-
</div>
|
|
532
|
-
|
|
533
|
-
<!-- 描述输入框 -->
|
|
534
502
|
<div
|
|
535
503
|
v-show="!descriptionHidden"
|
|
536
504
|
:data-testid="componentTestid + '-description'"
|
|
537
|
-
|
|
505
|
+
:class="['col', extraColumns.length > 0 ? 'span-3' : 'span-6']"
|
|
538
506
|
>
|
|
539
507
|
<LabeledInput
|
|
540
508
|
key="description"
|
|
@@ -548,15 +516,13 @@ export default {
|
|
|
548
516
|
/>
|
|
549
517
|
</div>
|
|
550
518
|
|
|
551
|
-
<!-- 底部插槽 -->
|
|
552
519
|
<div
|
|
553
|
-
v-
|
|
554
|
-
|
|
520
|
+
v-for="(slot, i) in extraColumns"
|
|
521
|
+
:key="i"
|
|
522
|
+
:class="{ col: true, [colSpan]: true }"
|
|
555
523
|
>
|
|
556
|
-
<slot name="
|
|
524
|
+
<slot :name="slot" />
|
|
557
525
|
</div>
|
|
558
|
-
|
|
559
|
-
<!-- 间隔占位符 -->
|
|
560
526
|
<div
|
|
561
527
|
v-if="showSpacer"
|
|
562
528
|
class="spacer"
|
|
@@ -567,8 +533,13 @@ export default {
|
|
|
567
533
|
<style lang="scss" scoped>
|
|
568
534
|
button {
|
|
569
535
|
all: unset;
|
|
536
|
+
height: 0;
|
|
537
|
+
position: relative;
|
|
538
|
+
top: -35px;
|
|
539
|
+
float: right;
|
|
540
|
+
margin-right: 7px;
|
|
541
|
+
|
|
570
542
|
cursor: pointer;
|
|
571
|
-
margin-left: 10px;
|
|
572
543
|
|
|
573
544
|
.align-value {
|
|
574
545
|
padding-top: 7px;
|
|
@@ -605,14 +576,4 @@ button {
|
|
|
605
576
|
}
|
|
606
577
|
|
|
607
578
|
}
|
|
608
|
-
.namespace-item-row{
|
|
609
|
-
width: 100%;
|
|
610
|
-
margin-bottom: 4px;
|
|
611
|
-
position:relative;
|
|
612
|
-
display: flex;
|
|
613
|
-
}
|
|
614
|
-
.namespace-item-row ::v-deep textarea{
|
|
615
|
-
width: 400px;
|
|
616
|
-
}
|
|
617
|
-
|
|
618
579
|
</style>
|
|
@@ -41,10 +41,6 @@ export default {
|
|
|
41
41
|
mode: {
|
|
42
42
|
type: String,
|
|
43
43
|
default: _CREATE,
|
|
44
|
-
},
|
|
45
|
-
placeholder: {
|
|
46
|
-
type: String,
|
|
47
|
-
default: '',
|
|
48
44
|
}
|
|
49
45
|
},
|
|
50
46
|
data() {
|
|
@@ -120,7 +116,6 @@ export default {
|
|
|
120
116
|
:disabled="isRandom"
|
|
121
117
|
:ignore-password-managers="ignorePasswordManagers"
|
|
122
118
|
:mode="mode"
|
|
123
|
-
:placeholder="placeholder"
|
|
124
119
|
@blur="$emit('blur', $event)"
|
|
125
120
|
>
|
|
126
121
|
<template #suffix>
|
|
@@ -153,13 +148,12 @@ export default {
|
|
|
153
148
|
</LabeledInput>
|
|
154
149
|
<div
|
|
155
150
|
v-if="isRandom"
|
|
156
|
-
class="genPassword"
|
|
151
|
+
class="mt-10 genPassword"
|
|
157
152
|
>
|
|
158
153
|
<a
|
|
159
154
|
href="#"
|
|
160
155
|
@click.prevent.stop="generatePassword"
|
|
161
|
-
|
|
162
|
-
><i class="icon icon-refresh mr-5 pl-5" /> {{ t('changePassword.newGeneratedPassword') }}</a>
|
|
156
|
+
><i class="icon icon-refresh" /> {{ t('changePassword.newGeneratedPassword') }}</a>
|
|
163
157
|
</div>
|
|
164
158
|
</div>
|
|
165
159
|
</template>
|
|
@@ -167,23 +161,20 @@ export default {
|
|
|
167
161
|
<style lang="scss" scoped>
|
|
168
162
|
.password {
|
|
169
163
|
display: flex;
|
|
170
|
-
|
|
164
|
+
flex-direction: column;
|
|
171
165
|
|
|
172
166
|
.labeled-input {
|
|
173
167
|
.addon {
|
|
174
|
-
|
|
175
|
-
top: 6px;
|
|
176
|
-
right: 6px;
|
|
177
|
-
/* display: flex;
|
|
168
|
+
display: flex;
|
|
178
169
|
align-items: center;
|
|
179
170
|
justify-content: center;
|
|
180
171
|
padding-left: 12px;
|
|
181
|
-
min-width: 65px;
|
|
172
|
+
min-width: 65px;
|
|
182
173
|
|
|
183
|
-
|
|
174
|
+
.hide-show:focus-visible {
|
|
184
175
|
@include focus-outline;
|
|
185
176
|
outline-offset: 4px;
|
|
186
|
-
}
|
|
177
|
+
}
|
|
187
178
|
}
|
|
188
179
|
}
|
|
189
180
|
.genPassword {
|
|
@@ -364,13 +364,14 @@ export default {
|
|
|
364
364
|
<div class="col span-12">
|
|
365
365
|
<ArrayListGrouped
|
|
366
366
|
v-model:value="allSelectorTerms"
|
|
367
|
+
class="mt-20"
|
|
367
368
|
:default-add-value="defaultAddValue"
|
|
368
369
|
:mode="mode"
|
|
369
370
|
:add-label="addLabel"
|
|
370
371
|
@remove="remove"
|
|
371
372
|
>
|
|
372
373
|
<template #default="props">
|
|
373
|
-
<div class="row mt-20">
|
|
374
|
+
<div class="row mt-20 mb-20">
|
|
374
375
|
<div class="col span-6">
|
|
375
376
|
<LabeledSelect
|
|
376
377
|
:mode="mode"
|
|
@@ -392,7 +393,7 @@ export default {
|
|
|
392
393
|
/>
|
|
393
394
|
</div>
|
|
394
395
|
</div>
|
|
395
|
-
<div class="row
|
|
396
|
+
<div class="row">
|
|
396
397
|
<RadioGroup
|
|
397
398
|
:options="namespaceSelectionOptions"
|
|
398
399
|
:labels="namespaceSelectionLabels"
|
|
@@ -438,7 +439,7 @@ export default {
|
|
|
438
439
|
@update:value="e=>updateLabelSelector(e, props)"
|
|
439
440
|
/>
|
|
440
441
|
<div class="row mt-20">
|
|
441
|
-
<div class="col span-
|
|
442
|
+
<div class="col span-9">
|
|
442
443
|
<LabeledSelect
|
|
443
444
|
v-if="hasNodes"
|
|
444
445
|
v-model:value="props.row.value.topologyKey"
|
|
@@ -468,7 +469,7 @@ export default {
|
|
|
468
469
|
</div>
|
|
469
470
|
<div
|
|
470
471
|
v-if="'weight' in props.row.value"
|
|
471
|
-
class="col span-
|
|
472
|
+
class="col span-3"
|
|
472
473
|
>
|
|
473
474
|
<LabeledInput
|
|
474
475
|
v-model:value.number="props.row.value.weight"
|
|
@@ -72,13 +72,13 @@ export default {
|
|
|
72
72
|
<template>
|
|
73
73
|
<div>
|
|
74
74
|
<div class="headers mb-10">
|
|
75
|
-
<div
|
|
75
|
+
<div class="mr-10">
|
|
76
76
|
<label>{{ t('resourceQuota.headers.resourceType') }}</label>
|
|
77
77
|
</div>
|
|
78
|
-
<div
|
|
78
|
+
<div class="mr-10">
|
|
79
79
|
<label>{{ t('resourceQuota.headers.projectResourceAvailability') }}</label>
|
|
80
80
|
</div>
|
|
81
|
-
<div
|
|
81
|
+
<div class="mr-20">
|
|
82
82
|
<label>{{ t('resourceQuota.headers.limit') }}</label>
|
|
83
83
|
</div>
|
|
84
84
|
</div>
|
|
@@ -101,7 +101,7 @@ export default {
|
|
|
101
101
|
.headers {
|
|
102
102
|
display: flex;
|
|
103
103
|
flex-direction: row;
|
|
104
|
-
justify-content: space-
|
|
104
|
+
justify-content: space-evenly;
|
|
105
105
|
align-items: center;
|
|
106
106
|
border-bottom: 1px solid var(--border);
|
|
107
107
|
height: 30px;
|
|
@@ -173,15 +173,16 @@ export default {
|
|
|
173
173
|
<template>
|
|
174
174
|
<div
|
|
175
175
|
v-if="typeOption"
|
|
176
|
-
class="
|
|
176
|
+
class="row"
|
|
177
177
|
>
|
|
178
178
|
<Select
|
|
179
|
+
class="mr-10"
|
|
179
180
|
:mode="mode"
|
|
180
181
|
:value="type"
|
|
181
182
|
:disabled="true"
|
|
182
183
|
:options="types"
|
|
183
184
|
/>
|
|
184
|
-
<div class="resource-availability">
|
|
185
|
+
<div class="resource-availability mr-10">
|
|
185
186
|
<PercentageBar
|
|
186
187
|
v-clean-tooltip="tooltip"
|
|
187
188
|
class="percentage-bar"
|
|
@@ -190,18 +191,16 @@ export default {
|
|
|
190
191
|
:color-stops="{'100': '--primary'}"
|
|
191
192
|
/>
|
|
192
193
|
</div>
|
|
193
|
-
<
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
/>
|
|
204
|
-
</div>
|
|
194
|
+
<UnitInput
|
|
195
|
+
:value="value.limit[type]"
|
|
196
|
+
:mode="mode"
|
|
197
|
+
:placeholder="typeOption.placeholder"
|
|
198
|
+
:increment="typeOption.increment"
|
|
199
|
+
:input-exponent="typeOption.inputExponent"
|
|
200
|
+
:base-unit="typeOption.baseUnit"
|
|
201
|
+
:output-modifier="true"
|
|
202
|
+
@update:value="update"
|
|
203
|
+
/>
|
|
205
204
|
</div>
|
|
206
205
|
</template>
|
|
207
206
|
|
|
@@ -209,13 +208,13 @@ export default {
|
|
|
209
208
|
.resource-availability {
|
|
210
209
|
align-self: center;
|
|
211
210
|
}
|
|
212
|
-
.
|
|
213
|
-
margin-bottom: 10px;
|
|
211
|
+
.row {
|
|
214
212
|
display: flex;
|
|
215
|
-
|
|
213
|
+
flex-direction: row;
|
|
214
|
+
justify-content: space-evenly;
|
|
216
215
|
|
|
217
216
|
& > * {
|
|
218
|
-
width:
|
|
217
|
+
width: 100%;
|
|
219
218
|
}
|
|
220
219
|
}
|
|
221
220
|
</style>
|
|
@@ -57,14 +57,14 @@ export default {
|
|
|
57
57
|
</script>
|
|
58
58
|
<template>
|
|
59
59
|
<div>
|
|
60
|
-
<div
|
|
61
|
-
<div
|
|
60
|
+
<div class="headers mb-10">
|
|
61
|
+
<div class="mr-10">
|
|
62
62
|
<label>{{ t('resourceQuota.headers.resourceType') }}</label>
|
|
63
63
|
</div>
|
|
64
|
-
<div
|
|
64
|
+
<div class="mr-20">
|
|
65
65
|
<label>{{ t('resourceQuota.headers.projectLimit') }}</label>
|
|
66
66
|
</div>
|
|
67
|
-
<div
|
|
67
|
+
<div class="mr-10">
|
|
68
68
|
<label>{{ t('resourceQuota.headers.namespaceDefaultLimit') }}</label>
|
|
69
69
|
</div>
|
|
70
70
|
</div>
|
|
@@ -70,10 +70,11 @@ export default {
|
|
|
70
70
|
<template>
|
|
71
71
|
<div
|
|
72
72
|
v-if="typeOption"
|
|
73
|
-
class="
|
|
73
|
+
class="row"
|
|
74
74
|
>
|
|
75
75
|
<Select
|
|
76
76
|
:value="type"
|
|
77
|
+
class="mr-10"
|
|
77
78
|
:mode="mode"
|
|
78
79
|
:options="types"
|
|
79
80
|
data-testid="projectrow-type-input"
|
|
@@ -81,6 +82,7 @@ export default {
|
|
|
81
82
|
/>
|
|
82
83
|
<UnitInput
|
|
83
84
|
:value="resourceQuotaLimit[type]"
|
|
85
|
+
class="mr-10"
|
|
84
86
|
:mode="mode"
|
|
85
87
|
:placeholder="typeOption.placeholder"
|
|
86
88
|
:increment="typeOption.increment"
|
|
@@ -105,8 +107,9 @@ export default {
|
|
|
105
107
|
</template>
|
|
106
108
|
|
|
107
109
|
<style lang='scss' scoped>
|
|
108
|
-
.
|
|
110
|
+
.row {
|
|
109
111
|
display: flex;
|
|
110
|
-
|
|
112
|
+
flex-direction: row;
|
|
113
|
+
justify-content: space-evenly;
|
|
111
114
|
}
|
|
112
115
|
</style>
|
|
@@ -349,9 +349,6 @@ export default {
|
|
|
349
349
|
@option:selected="closeOnSelect && close"
|
|
350
350
|
@keydown.enter.stop
|
|
351
351
|
>
|
|
352
|
-
<template #no-options>
|
|
353
|
-
暂无数据
|
|
354
|
-
</template>
|
|
355
352
|
<template
|
|
356
353
|
#option="option"
|
|
357
354
|
>
|
|
@@ -403,8 +400,8 @@ export default {
|
|
|
403
400
|
}
|
|
404
401
|
|
|
405
402
|
:deep() .labeled-tooltip.error .status-icon {
|
|
406
|
-
top: 7px
|
|
407
|
-
right: 2px
|
|
403
|
+
top: 7px;
|
|
404
|
+
right: 2px;
|
|
408
405
|
}
|
|
409
406
|
|
|
410
407
|
:deep() .vs__selected-options {
|
|
@@ -24,14 +24,13 @@ import { _EDIT, _VIEW } from '@shell/config/query-params';
|
|
|
24
24
|
import { TYPES } from '@shell/models/secret';
|
|
25
25
|
import { LABEL_SELECT_KINDS } from '@shell/types/components/labeledSelect';
|
|
26
26
|
import { PaginationParamFilter } from '@shell/types/store/pagination.types';
|
|
27
|
-
import LabeledInput from '@components/Form/LabeledInput/LabeledInput.vue';
|
|
28
27
|
|
|
29
28
|
const NONE = '__[[NONE]]__';
|
|
30
29
|
|
|
31
30
|
export default {
|
|
32
31
|
emits: ['updateSecretName', 'updateSecretKey'],
|
|
33
32
|
|
|
34
|
-
components: { LabeledSelect, ResourceLabeledSelect
|
|
33
|
+
components: { LabeledSelect, ResourceLabeledSelect },
|
|
35
34
|
|
|
36
35
|
props: {
|
|
37
36
|
test: { type: String, default: '' },
|
|
@@ -200,18 +199,10 @@ export default {
|
|
|
200
199
|
|
|
201
200
|
<template>
|
|
202
201
|
<div class="secret-selector show-key-selector">
|
|
203
|
-
<div class="input-container
|
|
204
|
-
<
|
|
205
|
-
<LabeledInput
|
|
206
|
-
v-model:value="name"
|
|
207
|
-
:mode="mode"
|
|
208
|
-
:label="secretNameLabel"
|
|
209
|
-
@update:value="$emit('updateSecretName', $event)"
|
|
210
|
-
:placeholder="'请输入'+secretNameLabel"
|
|
211
|
-
/>
|
|
212
|
-
<!-- <ResourceLabeledSelect
|
|
202
|
+
<div class="input-container">
|
|
203
|
+
<ResourceLabeledSelect
|
|
213
204
|
v-model:value="name"
|
|
214
|
-
|
|
205
|
+
class="col span-6"
|
|
215
206
|
:disabled="!isView && disabled"
|
|
216
207
|
:loading="$fetchState.pending"
|
|
217
208
|
:label="secretNameLabel"
|
|
@@ -220,27 +211,16 @@ export default {
|
|
|
220
211
|
:paginated-resource-settings="paginateSecretsSetting"
|
|
221
212
|
:all-resources-settings="allSecretsSettings"
|
|
222
213
|
@selecting="updateSecretName"
|
|
223
|
-
/>
|
|
224
|
-
|
|
225
|
-
<div class="col span-6">
|
|
226
|
-
<LabeledInput
|
|
227
|
-
v-model:value="key"
|
|
228
|
-
:disabled="isKeyDisabled"
|
|
229
|
-
:mode="mode"
|
|
230
|
-
:label="keyNameLabel"
|
|
231
|
-
@update:value="$emit('updateSecretKey', $event)"
|
|
232
|
-
/>
|
|
233
|
-
<!-- <LabeledSelect
|
|
214
|
+
/>
|
|
215
|
+
<LabeledSelect
|
|
234
216
|
v-model:value="key"
|
|
235
|
-
|
|
217
|
+
class="col span-6"
|
|
236
218
|
:disabled="isKeyDisabled"
|
|
237
219
|
:options="keys"
|
|
238
220
|
:label="keyNameLabel"
|
|
239
221
|
:mode="mode"
|
|
240
222
|
@selecting="updateSecretKey"
|
|
241
|
-
/>
|
|
242
|
-
</div>
|
|
243
|
-
|
|
223
|
+
/>
|
|
244
224
|
</div>
|
|
245
225
|
</div>
|
|
246
226
|
</template>
|
|
@@ -267,7 +247,7 @@ export default {
|
|
|
267
247
|
&.show-key-selector {
|
|
268
248
|
.input-container > * {
|
|
269
249
|
display: inline-block;
|
|
270
|
-
|
|
250
|
+
width: 50%;
|
|
271
251
|
|
|
272
252
|
&.labeled-select.focused {
|
|
273
253
|
z-index: 10;
|
|
@@ -258,11 +258,11 @@ export default {
|
|
|
258
258
|
@update:value="update"
|
|
259
259
|
@blur="update($event.target.value)"
|
|
260
260
|
>
|
|
261
|
-
<template #
|
|
261
|
+
<template #suffix>
|
|
262
262
|
<div
|
|
263
263
|
v-if="displayUnit"
|
|
264
264
|
:id="describedById"
|
|
265
|
-
class="
|
|
265
|
+
class="addon"
|
|
266
266
|
:class="{'with-tooltip': tooltip || tooltipKey}"
|
|
267
267
|
>
|
|
268
268
|
{{ displayUnit }}
|
|
@@ -272,12 +272,7 @@ export default {
|
|
|
272
272
|
</template>
|
|
273
273
|
|
|
274
274
|
<style lang="scss" scoped>
|
|
275
|
-
.
|
|
275
|
+
.addon.with-tooltip {
|
|
276
276
|
padding-right: 42px;
|
|
277
277
|
}
|
|
278
|
-
.addonNew {
|
|
279
|
-
display: flex;
|
|
280
|
-
align-items: center;
|
|
281
|
-
margin-left: 10px;
|
|
282
|
-
}
|
|
283
278
|
</style>
|