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
|
@@ -156,6 +156,10 @@ export default {
|
|
|
156
156
|
type: Boolean,
|
|
157
157
|
default: true,
|
|
158
158
|
},
|
|
159
|
+
isDialog: {
|
|
160
|
+
type: Boolean,
|
|
161
|
+
default: false
|
|
162
|
+
},
|
|
159
163
|
rules: {
|
|
160
164
|
default: () => ({
|
|
161
165
|
namespace: [],
|
|
@@ -276,10 +280,10 @@ export default {
|
|
|
276
280
|
kind: 'divider'
|
|
277
281
|
};
|
|
278
282
|
|
|
279
|
-
const createOverhead = canCreateNamespace.value || props.createNamespaceOverride ? [createButton, divider] : [];
|
|
283
|
+
// const createOverhead = canCreateNamespace.value || props.createNamespaceOverride ? [createButton, divider] : [];
|
|
280
284
|
|
|
281
285
|
return [
|
|
282
|
-
...createOverhead,
|
|
286
|
+
// ...createOverhead,
|
|
283
287
|
...sortedByLabel
|
|
284
288
|
];
|
|
285
289
|
});
|
|
@@ -356,10 +360,11 @@ export default {
|
|
|
356
360
|
|
|
357
361
|
colSpan() {
|
|
358
362
|
if (!this.horizontal) {
|
|
359
|
-
return `span-
|
|
363
|
+
return `span-6`;
|
|
360
364
|
}
|
|
361
365
|
// Name and namespace take up two columns.
|
|
362
|
-
let cols = (this.nameNsHidden ? 0 : 2) + (this.descriptionHidden ? 0 : 1) + this.extraColumns.length;
|
|
366
|
+
// let cols = (this.nameNsHidden ? 0 : 2) + (this.descriptionHidden ? 0 : 1) + this.extraColumns.length;
|
|
367
|
+
let cols = 2;
|
|
363
368
|
|
|
364
369
|
cols = Math.max(2, cols); // If there's only one column, make it render half-width as if there were two
|
|
365
370
|
const span = 12 / cols; // If there's 5, 7, or more columns this will break; don't do that.
|
|
@@ -428,13 +433,18 @@ export default {
|
|
|
428
433
|
</script>
|
|
429
434
|
|
|
430
435
|
<template>
|
|
431
|
-
<div class="row
|
|
432
|
-
|
|
436
|
+
<div class="row">
|
|
437
|
+
|
|
438
|
+
<!-- 命名空间创建输入框 -->
|
|
433
439
|
<div
|
|
434
440
|
v-if="namespaced && !nameNsHidden && createNamespace"
|
|
435
441
|
:data-testid="componentTestid + '-namespace-create'"
|
|
436
|
-
class="col span-
|
|
442
|
+
class="col span-6"
|
|
443
|
+
:class=" isDialog? 'namespace-item-row mb-20': 'col span-6'"
|
|
444
|
+
style="display: flex;"
|
|
437
445
|
>
|
|
446
|
+
|
|
447
|
+
<!-- 输入命名空间名称 -->
|
|
438
448
|
<LabeledInput
|
|
439
449
|
ref="namespaceInput"
|
|
440
450
|
v-model:value="namespace"
|
|
@@ -446,6 +456,8 @@ export default {
|
|
|
446
456
|
:required="nameRequired"
|
|
447
457
|
:rules="rules.namespace"
|
|
448
458
|
/>
|
|
459
|
+
|
|
460
|
+
<!-- 取消创建命名空间按钮 -->
|
|
449
461
|
<button
|
|
450
462
|
:aria-label="t('namespace.cancelCreateAriaLabel')"
|
|
451
463
|
@click="cancelCreateNamespace"
|
|
@@ -456,10 +468,12 @@ export default {
|
|
|
456
468
|
/>
|
|
457
469
|
</button>
|
|
458
470
|
</div>
|
|
471
|
+
|
|
472
|
+
<!-- 命名空间选择下拉框 -->
|
|
459
473
|
<div
|
|
460
474
|
v-if="namespaced && !nameNsHidden && !createNamespace"
|
|
461
475
|
:data-testid="componentTestid + '-namespace'"
|
|
462
|
-
class="col span-
|
|
476
|
+
:class=" isDialog? 'namespace-item-row mb-20': 'col span-6'"
|
|
463
477
|
>
|
|
464
478
|
<LabeledSelect
|
|
465
479
|
v-show="!createNamespace"
|
|
@@ -478,10 +492,11 @@ export default {
|
|
|
478
492
|
/>
|
|
479
493
|
</div>
|
|
480
494
|
|
|
495
|
+
<!-- 名称输入框 -->
|
|
481
496
|
<div
|
|
482
497
|
v-if="!nameHidden && !nameNsHidden"
|
|
483
498
|
:data-testid="componentTestid + '-name'"
|
|
484
|
-
class="col span-
|
|
499
|
+
:class=" isDialog? 'namespace-item-row mb-20': 'col span-6'"
|
|
485
500
|
>
|
|
486
501
|
<LabeledInput
|
|
487
502
|
ref="nameInput"
|
|
@@ -498,11 +513,28 @@ export default {
|
|
|
498
513
|
/>
|
|
499
514
|
</div>
|
|
500
515
|
|
|
516
|
+
<!-- 自定义插槽,可插入额外内容 -->
|
|
501
517
|
<slot name="customize" />
|
|
502
|
-
<div
|
|
518
|
+
<!-- <div
|
|
503
519
|
v-show="!descriptionHidden"
|
|
504
520
|
:data-testid="componentTestid + '-description'"
|
|
505
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
|
+
<div
|
|
535
|
+
v-show="!descriptionHidden"
|
|
536
|
+
:data-testid="componentTestid + '-description'"
|
|
537
|
+
:class=" isDialog? 'namespace-item-row mb-20': 'col span-6'"
|
|
506
538
|
>
|
|
507
539
|
<LabeledInput
|
|
508
540
|
key="description"
|
|
@@ -516,13 +548,15 @@ export default {
|
|
|
516
548
|
/>
|
|
517
549
|
</div>
|
|
518
550
|
|
|
551
|
+
<!-- 底部插槽 -->
|
|
519
552
|
<div
|
|
520
|
-
v-
|
|
521
|
-
|
|
522
|
-
:class="{ col: true, [colSpan]: true }"
|
|
553
|
+
v-if="$slots.bottom"
|
|
554
|
+
style="width: 100%;"
|
|
523
555
|
>
|
|
524
|
-
<slot
|
|
556
|
+
<slot name="bottom" />
|
|
525
557
|
</div>
|
|
558
|
+
|
|
559
|
+
<!-- 间隔占位符 -->
|
|
526
560
|
<div
|
|
527
561
|
v-if="showSpacer"
|
|
528
562
|
class="spacer"
|
|
@@ -533,13 +567,8 @@ export default {
|
|
|
533
567
|
<style lang="scss" scoped>
|
|
534
568
|
button {
|
|
535
569
|
all: unset;
|
|
536
|
-
height: 0;
|
|
537
|
-
position: relative;
|
|
538
|
-
top: -35px;
|
|
539
|
-
float: right;
|
|
540
|
-
margin-right: 7px;
|
|
541
|
-
|
|
542
570
|
cursor: pointer;
|
|
571
|
+
margin-left: 10px;
|
|
543
572
|
|
|
544
573
|
.align-value {
|
|
545
574
|
padding-top: 7px;
|
|
@@ -576,4 +605,14 @@ button {
|
|
|
576
605
|
}
|
|
577
606
|
|
|
578
607
|
}
|
|
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
|
+
|
|
579
618
|
</style>
|
|
@@ -41,6 +41,10 @@ export default {
|
|
|
41
41
|
mode: {
|
|
42
42
|
type: String,
|
|
43
43
|
default: _CREATE,
|
|
44
|
+
},
|
|
45
|
+
placeholder: {
|
|
46
|
+
type: String,
|
|
47
|
+
default: '',
|
|
44
48
|
}
|
|
45
49
|
},
|
|
46
50
|
data() {
|
|
@@ -116,6 +120,7 @@ export default {
|
|
|
116
120
|
:disabled="isRandom"
|
|
117
121
|
:ignore-password-managers="ignorePasswordManagers"
|
|
118
122
|
:mode="mode"
|
|
123
|
+
:placeholder="placeholder"
|
|
119
124
|
@blur="$emit('blur', $event)"
|
|
120
125
|
>
|
|
121
126
|
<template #suffix>
|
|
@@ -148,12 +153,13 @@ export default {
|
|
|
148
153
|
</LabeledInput>
|
|
149
154
|
<div
|
|
150
155
|
v-if="isRandom"
|
|
151
|
-
class="
|
|
156
|
+
class="genPassword"
|
|
152
157
|
>
|
|
153
158
|
<a
|
|
154
159
|
href="#"
|
|
155
160
|
@click.prevent.stop="generatePassword"
|
|
156
|
-
|
|
161
|
+
style="height: 32px;display: flex;align-items: center;"
|
|
162
|
+
><i class="icon icon-refresh mr-5 pl-5" /> {{ t('changePassword.newGeneratedPassword') }}</a>
|
|
157
163
|
</div>
|
|
158
164
|
</div>
|
|
159
165
|
</template>
|
|
@@ -161,20 +167,23 @@ export default {
|
|
|
161
167
|
<style lang="scss" scoped>
|
|
162
168
|
.password {
|
|
163
169
|
display: flex;
|
|
164
|
-
flex-direction: column;
|
|
170
|
+
/* flex-direction: column; */
|
|
165
171
|
|
|
166
172
|
.labeled-input {
|
|
167
173
|
.addon {
|
|
168
|
-
|
|
174
|
+
position: absolute;
|
|
175
|
+
top: 6px;
|
|
176
|
+
right: 6px;
|
|
177
|
+
/* display: flex;
|
|
169
178
|
align-items: center;
|
|
170
179
|
justify-content: center;
|
|
171
180
|
padding-left: 12px;
|
|
172
|
-
min-width: 65px;
|
|
181
|
+
min-width: 65px; */
|
|
173
182
|
|
|
174
|
-
.hide-show:focus-visible {
|
|
183
|
+
/* .hide-show:focus-visible {
|
|
175
184
|
@include focus-outline;
|
|
176
185
|
outline-offset: 4px;
|
|
177
|
-
}
|
|
186
|
+
} */
|
|
178
187
|
}
|
|
179
188
|
}
|
|
180
189
|
.genPassword {
|
|
@@ -364,14 +364,13 @@ export default {
|
|
|
364
364
|
<div class="col span-12">
|
|
365
365
|
<ArrayListGrouped
|
|
366
366
|
v-model:value="allSelectorTerms"
|
|
367
|
-
class="mt-20"
|
|
368
367
|
:default-add-value="defaultAddValue"
|
|
369
368
|
:mode="mode"
|
|
370
369
|
:add-label="addLabel"
|
|
371
370
|
@remove="remove"
|
|
372
371
|
>
|
|
373
372
|
<template #default="props">
|
|
374
|
-
<div class="row mt-20
|
|
373
|
+
<div class="row mt-20">
|
|
375
374
|
<div class="col span-6">
|
|
376
375
|
<LabeledSelect
|
|
377
376
|
:mode="mode"
|
|
@@ -393,7 +392,7 @@ export default {
|
|
|
393
392
|
/>
|
|
394
393
|
</div>
|
|
395
394
|
</div>
|
|
396
|
-
<div class="row">
|
|
395
|
+
<div class="row mb-20">
|
|
397
396
|
<RadioGroup
|
|
398
397
|
:options="namespaceSelectionOptions"
|
|
399
398
|
:labels="namespaceSelectionLabels"
|
|
@@ -439,7 +438,7 @@ export default {
|
|
|
439
438
|
@update:value="e=>updateLabelSelector(e, props)"
|
|
440
439
|
/>
|
|
441
440
|
<div class="row mt-20">
|
|
442
|
-
<div class="col span-
|
|
441
|
+
<div class="col span-6">
|
|
443
442
|
<LabeledSelect
|
|
444
443
|
v-if="hasNodes"
|
|
445
444
|
v-model:value="props.row.value.topologyKey"
|
|
@@ -469,7 +468,7 @@ export default {
|
|
|
469
468
|
</div>
|
|
470
469
|
<div
|
|
471
470
|
v-if="'weight' in props.row.value"
|
|
472
|
-
class="col span-
|
|
471
|
+
class="col span-6"
|
|
473
472
|
>
|
|
474
473
|
<LabeledInput
|
|
475
474
|
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 style="width: 400px;">
|
|
76
76
|
<label>{{ t('resourceQuota.headers.resourceType') }}</label>
|
|
77
77
|
</div>
|
|
78
|
-
<div
|
|
78
|
+
<div style="width: 400px;">
|
|
79
79
|
<label>{{ t('resourceQuota.headers.projectResourceAvailability') }}</label>
|
|
80
80
|
</div>
|
|
81
|
-
<div
|
|
81
|
+
<div style="width: 500px;">
|
|
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-between;
|
|
105
105
|
align-items: center;
|
|
106
106
|
border-bottom: 1px solid var(--border);
|
|
107
107
|
height: 30px;
|
|
@@ -173,16 +173,15 @@ export default {
|
|
|
173
173
|
<template>
|
|
174
174
|
<div
|
|
175
175
|
v-if="typeOption"
|
|
176
|
-
class="
|
|
176
|
+
class="rowNew"
|
|
177
177
|
>
|
|
178
178
|
<Select
|
|
179
|
-
class="mr-10"
|
|
180
179
|
:mode="mode"
|
|
181
180
|
:value="type"
|
|
182
181
|
:disabled="true"
|
|
183
182
|
:options="types"
|
|
184
183
|
/>
|
|
185
|
-
<div class="resource-availability
|
|
184
|
+
<div class="resource-availability">
|
|
186
185
|
<PercentageBar
|
|
187
186
|
v-clean-tooltip="tooltip"
|
|
188
187
|
class="percentage-bar"
|
|
@@ -191,16 +190,18 @@ export default {
|
|
|
191
190
|
:color-stops="{'100': '--primary'}"
|
|
192
191
|
/>
|
|
193
192
|
</div>
|
|
194
|
-
<
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
193
|
+
<div style="width: 500px;">
|
|
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
|
+
/>
|
|
204
|
+
</div>
|
|
204
205
|
</div>
|
|
205
206
|
</template>
|
|
206
207
|
|
|
@@ -208,13 +209,13 @@ export default {
|
|
|
208
209
|
.resource-availability {
|
|
209
210
|
align-self: center;
|
|
210
211
|
}
|
|
211
|
-
.
|
|
212
|
+
.rowNew {
|
|
213
|
+
margin-bottom: 10px;
|
|
212
214
|
display: flex;
|
|
213
|
-
|
|
214
|
-
justify-content: space-evenly;
|
|
215
|
+
justify-content: space-between;
|
|
215
216
|
|
|
216
217
|
& > * {
|
|
217
|
-
width:
|
|
218
|
+
width: 400px;
|
|
218
219
|
}
|
|
219
220
|
}
|
|
220
221
|
</style>
|
|
@@ -57,14 +57,14 @@ export default {
|
|
|
57
57
|
</script>
|
|
58
58
|
<template>
|
|
59
59
|
<div>
|
|
60
|
-
<div class="headers mb-10">
|
|
61
|
-
<div
|
|
60
|
+
<div style="justify-content: right;" class="headers mb-10">
|
|
61
|
+
<div style="width: 400px;">
|
|
62
62
|
<label>{{ t('resourceQuota.headers.resourceType') }}</label>
|
|
63
63
|
</div>
|
|
64
|
-
<div
|
|
64
|
+
<div style="width: 400px;">
|
|
65
65
|
<label>{{ t('resourceQuota.headers.projectLimit') }}</label>
|
|
66
66
|
</div>
|
|
67
|
-
<div
|
|
67
|
+
<div style="width: 400px;">
|
|
68
68
|
<label>{{ t('resourceQuota.headers.namespaceDefaultLimit') }}</label>
|
|
69
69
|
</div>
|
|
70
70
|
</div>
|
|
@@ -70,11 +70,10 @@ export default {
|
|
|
70
70
|
<template>
|
|
71
71
|
<div
|
|
72
72
|
v-if="typeOption"
|
|
73
|
-
class="
|
|
73
|
+
class="rowNew"
|
|
74
74
|
>
|
|
75
75
|
<Select
|
|
76
76
|
:value="type"
|
|
77
|
-
class="mr-10"
|
|
78
77
|
:mode="mode"
|
|
79
78
|
:options="types"
|
|
80
79
|
data-testid="projectrow-type-input"
|
|
@@ -82,7 +81,6 @@ export default {
|
|
|
82
81
|
/>
|
|
83
82
|
<UnitInput
|
|
84
83
|
:value="resourceQuotaLimit[type]"
|
|
85
|
-
class="mr-10"
|
|
86
84
|
:mode="mode"
|
|
87
85
|
:placeholder="typeOption.placeholder"
|
|
88
86
|
:increment="typeOption.increment"
|
|
@@ -107,9 +105,8 @@ export default {
|
|
|
107
105
|
</template>
|
|
108
106
|
|
|
109
107
|
<style lang='scss' scoped>
|
|
110
|
-
.
|
|
108
|
+
.rowNew {
|
|
111
109
|
display: flex;
|
|
112
|
-
|
|
113
|
-
justify-content: space-evenly;
|
|
110
|
+
justify-content: space-between;
|
|
114
111
|
}
|
|
115
112
|
</style>
|
|
@@ -349,6 +349,9 @@ export default {
|
|
|
349
349
|
@option:selected="closeOnSelect && close"
|
|
350
350
|
@keydown.enter.stop
|
|
351
351
|
>
|
|
352
|
+
<template #no-options>
|
|
353
|
+
暂无数据
|
|
354
|
+
</template>
|
|
352
355
|
<template
|
|
353
356
|
#option="option"
|
|
354
357
|
>
|
|
@@ -400,8 +403,8 @@ export default {
|
|
|
400
403
|
}
|
|
401
404
|
|
|
402
405
|
:deep() .labeled-tooltip.error .status-icon {
|
|
403
|
-
top: 7px;
|
|
404
|
-
right: 2px;
|
|
406
|
+
top: 7px !important;
|
|
407
|
+
right: 2px !important;
|
|
405
408
|
}
|
|
406
409
|
|
|
407
410
|
:deep() .vs__selected-options {
|
|
@@ -24,13 +24,14 @@ 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';
|
|
27
28
|
|
|
28
29
|
const NONE = '__[[NONE]]__';
|
|
29
30
|
|
|
30
31
|
export default {
|
|
31
32
|
emits: ['updateSecretName', 'updateSecretKey'],
|
|
32
33
|
|
|
33
|
-
components: { LabeledSelect, ResourceLabeledSelect },
|
|
34
|
+
components: { LabeledSelect, ResourceLabeledSelect, LabeledInput },
|
|
34
35
|
|
|
35
36
|
props: {
|
|
36
37
|
test: { type: String, default: '' },
|
|
@@ -199,10 +200,18 @@ export default {
|
|
|
199
200
|
|
|
200
201
|
<template>
|
|
201
202
|
<div class="secret-selector show-key-selector">
|
|
202
|
-
<div class="input-container">
|
|
203
|
-
<
|
|
203
|
+
<div class="input-container row">
|
|
204
|
+
<div class="col span-6">
|
|
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
|
|
204
213
|
v-model:value="name"
|
|
205
|
-
|
|
214
|
+
|
|
206
215
|
:disabled="!isView && disabled"
|
|
207
216
|
:loading="$fetchState.pending"
|
|
208
217
|
:label="secretNameLabel"
|
|
@@ -211,16 +220,27 @@ export default {
|
|
|
211
220
|
:paginated-resource-settings="paginateSecretsSetting"
|
|
212
221
|
:all-resources-settings="allSecretsSettings"
|
|
213
222
|
@selecting="updateSecretName"
|
|
214
|
-
/>
|
|
215
|
-
|
|
223
|
+
/> -->
|
|
224
|
+
</div>
|
|
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
|
|
216
234
|
v-model:value="key"
|
|
217
|
-
|
|
235
|
+
|
|
218
236
|
:disabled="isKeyDisabled"
|
|
219
237
|
:options="keys"
|
|
220
238
|
:label="keyNameLabel"
|
|
221
239
|
:mode="mode"
|
|
222
240
|
@selecting="updateSecretKey"
|
|
223
|
-
/>
|
|
241
|
+
/> -->
|
|
242
|
+
</div>
|
|
243
|
+
|
|
224
244
|
</div>
|
|
225
245
|
</div>
|
|
226
246
|
</template>
|
|
@@ -247,7 +267,7 @@ export default {
|
|
|
247
267
|
&.show-key-selector {
|
|
248
268
|
.input-container > * {
|
|
249
269
|
display: inline-block;
|
|
250
|
-
width: 50%;
|
|
270
|
+
/* width: 50%; */
|
|
251
271
|
|
|
252
272
|
&.labeled-select.focused {
|
|
253
273
|
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 #suffixNew>
|
|
262
262
|
<div
|
|
263
263
|
v-if="displayUnit"
|
|
264
264
|
:id="describedById"
|
|
265
|
-
class="
|
|
265
|
+
class="addonNew"
|
|
266
266
|
:class="{'with-tooltip': tooltip || tooltipKey}"
|
|
267
267
|
>
|
|
268
268
|
{{ displayUnit }}
|
|
@@ -272,7 +272,12 @@ export default {
|
|
|
272
272
|
</template>
|
|
273
273
|
|
|
274
274
|
<style lang="scss" scoped>
|
|
275
|
-
.
|
|
275
|
+
.addonNew.with-tooltip {
|
|
276
276
|
padding-right: 42px;
|
|
277
277
|
}
|
|
278
|
+
.addonNew {
|
|
279
|
+
display: flex;
|
|
280
|
+
align-items: center;
|
|
281
|
+
margin-left: 10px;
|
|
282
|
+
}
|
|
278
283
|
</style>
|