dashboard-shell-shell 3.0.5-test.2 → 3.0.5-test.21
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/icons/iconfont.css +4 -1
- package/assets/images/pl/dark/logo.png +0 -0
- package/assets/styles/all.scss +3 -1
- package/assets/styles/base/_variables.scss +5 -5
- package/assets/styles/global/_button.scss +8 -8
- package/assets/styles/global/_select.scss +1 -1
- package/assets/styles/global/_tooltip.scss +9 -5
- package/assets/styles/themes/_light.scss +3 -1
- package/assets/styles/vendor/vue-select.scss +2 -1
- package/assets/translations/zh-hans.yaml +140 -11
- package/components/ActionDropdown.vue +1 -1
- package/components/ButtonDropdown.vue +3 -1
- package/components/CodeMirror.vue +6 -4
- package/components/ContainerResourceLimit.vue +2 -2
- package/components/CopyToClipboard.vue +15 -0
- package/components/Drawer/Chrome.vue +2 -2
- package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +30 -27
- package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +1 -1
- package/components/Drawer/ResourceDetailDrawer/index.vue +5 -4
- package/components/ExplorerMembers.vue +28 -4
- package/components/GlobalRoleBindings.vue +48 -112
- package/components/PodSecurityAdmission.vue +1 -1
- 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/composables.ts +16 -1
- package/components/Resource/Detail/TitleBar/index.vue +113 -25
- package/components/ResourceDetail/Masthead/index.vue +1 -1
- package/components/ResourceDetail/Masthead/latest.vue +1 -1
- package/components/ResourceDetail/Masthead/legacy.vue +236 -165
- package/components/ResourceDetail/legacy.vue +44 -28
- package/components/ResourceList/Masthead.vue +11 -15
- package/components/SideNav.vue +1 -1
- package/components/SortableTable/index.vue +9 -4
- package/components/Tabbed/index.vue +6 -1
- package/components/auth/Principal.vue +42 -13
- package/components/auth/RoleDetailEdit.vue +11 -7
- package/components/breadcrumb/index.vue +124 -0
- package/components/form/ArrayList.vue +164 -147
- package/components/form/ArrayListGrouped.vue +3 -1
- package/components/form/ChangePassword.vue +1 -1
- package/components/form/Command.vue +4 -5
- package/components/form/Footer.vue +1 -0
- package/components/form/HealthCheck.vue +0 -2
- package/components/form/HookOption.vue +87 -58
- package/components/form/InputWithSelect.vue +8 -7
- package/components/form/KeyValue.vue +20 -2
- package/components/form/LabeledSelect.vue +6 -3
- package/components/form/Labels.vue +2 -2
- package/components/form/MatchExpressions.vue +3 -4
- package/components/form/Members/ClusterMembershipEditor.vue +1 -1
- package/components/form/Members/ClusterPermissionsEditor.vue +5 -5
- package/components/form/Members/MembershipEditor.vue +2 -2
- package/components/form/NameNsDescription.vue +1 -1
- package/components/form/Networking.vue +6 -9
- package/components/form/NodeAffinity.vue +29 -28
- package/components/form/PodAffinity.vue +23 -23
- package/components/form/Probe.vue +15 -11
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +11 -9
- package/components/form/ResourceQuota/Project.vue +4 -4
- package/components/form/ResourceQuota/ProjectRow.vue +36 -30
- package/components/form/ResourceSelector.vue +1 -1
- package/components/form/Security.vue +1 -3
- package/components/form/Select.vue +6 -1
- package/components/form/ServiceNameSelect.vue +2 -5
- package/components/form/ServicePorts.vue +149 -75
- package/components/form/Taints.vue +2 -1
- package/components/form/Tolerations.vue +12 -9
- package/components/form/ValueFromResource.vue +110 -96
- package/components/form/WorkloadPorts.vue +143 -123
- package/components/nav/Header.vue +3 -4
- package/components/nav/NamespaceFilter.vue +15 -21
- package/components/nav/TopLevelMenu.vue +99 -125
- package/components/nav/Type.vue +3 -3
- package/config/product/explorer.js +4 -1
- package/config/router/navigation-guards/index.js +52 -3
- package/detail/node.vue +28 -23
- package/dialog/AddCustomBadgeDialog.vue +17 -9
- package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +9 -6
- package/edit/autoscaling.horizontalpodautoscaler/index.vue +3 -1
- package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +7 -5
- package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +5 -3
- package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
- package/edit/networking.k8s.io.ingress/Certificate.vue +7 -5
- package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
- package/edit/networking.k8s.io.ingress/Rule.vue +5 -11
- package/edit/networking.k8s.io.ingress/RulePath.vue +105 -96
- package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +3 -3
- package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +4 -2
- package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +12 -11
- package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
- package/edit/persistentvolume/index.vue +3 -1
- package/edit/persistentvolumeclaim.vue +2 -0
- package/edit/secret/index.vue +2 -2
- package/edit/service.vue +4 -1
- package/edit/storage.k8s.io.storageclass/index.vue +10 -8
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +34 -27
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +15 -13
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +41 -39
- package/edit/workload/Job.vue +31 -34
- package/edit/workload/Upgrading.vue +5 -5
- package/edit/workload/index.vue +21 -17
- package/edit/workload/storage/Mount.vue +1 -0
- package/edit/workload/storage/awsElasticBlockStore.vue +9 -7
- package/edit/workload/storage/azureDisk.vue +14 -10
- package/edit/workload/storage/azureFile.vue +9 -7
- package/edit/workload/storage/csi/index.vue +6 -9
- package/edit/workload/storage/emptyDir.vue +7 -5
- package/edit/workload/storage/gcePersistentDisk.vue +9 -7
- package/edit/workload/storage/hostPath.vue +7 -5
- package/edit/workload/storage/nfs.vue +8 -6
- package/edit/workload/storage/persistentVolumeClaim/index.vue +12 -10
- package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +20 -15
- package/edit/workload/storage/secret.vue +9 -6
- package/edit/workload/storage/vsphereVolume.vue +11 -7
- package/initialize/app-extended.js +7 -1
- package/package.json +1 -1
- package/pages/account/index.vue +95 -115
- package/pages/auth/setup.vue +35 -16
- package/pages/c/_cluster/auth/roles/index.vue +38 -5
- package/pages/c/_cluster/explorer/ConfigBadge.vue +1 -1
- package/pages/c/_cluster/explorer/tools/index.vue +6 -6
- package/pages/home.vue +3 -4
- package/pkg/tsconfig.json +9 -9
- package/pkg/vue.config.js +1 -1
- package/plugins/dashboard-store/resource-class.js +28 -27
- package/rancher-components/BadgeState/BadgeState.vue +33 -52
- package/rancher-components/Banner/Banner.vue +6 -3
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +31 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +8 -7
- package/scripts/publish-shell.sh +1 -1
- package/store/i18n.js +4 -0
- package/store/type-map.js +1 -1
- package/types/shell/index.d.ts +4 -30
- package/utils/error.js +3 -1
- package/utils/errorTranslate.json +247 -2
- package/vue.config.js +1 -1
|
@@ -30,7 +30,7 @@ export default {
|
|
|
30
30
|
|
|
31
31
|
selectLabel: {
|
|
32
32
|
type: String,
|
|
33
|
-
default: '',
|
|
33
|
+
default: ' ',
|
|
34
34
|
},
|
|
35
35
|
|
|
36
36
|
selectValue: {
|
|
@@ -164,11 +164,12 @@ export default {
|
|
|
164
164
|
:v-bind="$attrs"
|
|
165
165
|
@update:value="change"
|
|
166
166
|
/>
|
|
167
|
+
<div style="width: 100%;height: 24px;"></div>
|
|
167
168
|
<LabeledInput
|
|
168
169
|
v-if="textLabel || textRules.length > 0"
|
|
169
170
|
ref="text"
|
|
170
171
|
v-model:value="string"
|
|
171
|
-
class="input-string
|
|
172
|
+
class="input-string span-8"
|
|
172
173
|
:label="textLabel"
|
|
173
174
|
:placeholder="placeholder"
|
|
174
175
|
:disabled="disabled || textDisabled"
|
|
@@ -204,7 +205,7 @@ export default {
|
|
|
204
205
|
|
|
205
206
|
&.select-after {
|
|
206
207
|
height: 100%;
|
|
207
|
-
flex-direction: row-reverse;
|
|
208
|
+
// flex-direction: row-reverse;
|
|
208
209
|
|
|
209
210
|
& .input-string {
|
|
210
211
|
border-radius: var(--border-radius) 0 0 var(--border-radius);
|
|
@@ -270,19 +271,19 @@ export default {
|
|
|
270
271
|
margin-right: 0;
|
|
271
272
|
|
|
272
273
|
&:hover:not(.focused):not(.disabled):not(.view) {
|
|
273
|
-
border:
|
|
274
|
+
border: 1px solid var(--input-hover-border) !important;
|
|
274
275
|
}
|
|
275
276
|
|
|
276
277
|
&.focused {
|
|
277
|
-
border:
|
|
278
|
+
border: 1px solid var(--outline) !important;
|
|
278
279
|
}
|
|
279
280
|
|
|
280
281
|
&:hover:not(.focused):not(.disabled) {
|
|
281
|
-
border:
|
|
282
|
+
border: 1px solid var(--input-hover-border) !important;
|
|
282
283
|
}
|
|
283
284
|
|
|
284
285
|
&.focused {
|
|
285
|
-
border:
|
|
286
|
+
border: 1px solid var(--outline) !important;
|
|
286
287
|
}
|
|
287
288
|
|
|
288
289
|
&.labeled-select.focused :deep(),
|
|
@@ -390,6 +390,17 @@ export default {
|
|
|
390
390
|
});
|
|
391
391
|
}
|
|
392
392
|
|
|
393
|
+
rows = rows.map((item) => {
|
|
394
|
+
if (item.key.includes('harvester')) {
|
|
395
|
+
item.key = item.key?.replace('harvester', 'cloud');
|
|
396
|
+
}
|
|
397
|
+
if (item.value.includes('harvester')) {
|
|
398
|
+
item.value = item.value?.replace('harvester', 'cloud');
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
return item;
|
|
402
|
+
});
|
|
403
|
+
|
|
393
404
|
return rows;
|
|
394
405
|
},
|
|
395
406
|
|
|
@@ -400,6 +411,8 @@ export default {
|
|
|
400
411
|
[this.valueName]: value,
|
|
401
412
|
};
|
|
402
413
|
|
|
414
|
+
obj.key = obj.key?.replace('harvester', 'cloud');
|
|
415
|
+
obj.value = obj.value?.replace('harvester', 'cloud');
|
|
403
416
|
obj.binary = false;
|
|
404
417
|
obj.canEncode = this.handleBase64;
|
|
405
418
|
obj.supported = true;
|
|
@@ -481,8 +494,8 @@ export default {
|
|
|
481
494
|
// let value = (row[valueName] || '');
|
|
482
495
|
// const key = (row[keyName] || '').trim();
|
|
483
496
|
|
|
484
|
-
const key = (row[keyName] || '').trim();
|
|
485
|
-
let value = (row[valueName] || '').trim();
|
|
497
|
+
const key = (row[keyName]?.replace('cloud', 'harvester') || '').trim();
|
|
498
|
+
let value = (row[valueName]?.replace('cloud', 'harvester') || '').trim();
|
|
486
499
|
|
|
487
500
|
if (value && typeOf(value) === 'object') {
|
|
488
501
|
out[key] = JSON.parse(JSON.stringify(value));
|
|
@@ -1001,6 +1014,7 @@ export default {
|
|
|
1001
1014
|
.remove {
|
|
1002
1015
|
text-align: center;
|
|
1003
1016
|
BUTTON {
|
|
1017
|
+
min-width: auto;
|
|
1004
1018
|
padding: 0px;
|
|
1005
1019
|
}
|
|
1006
1020
|
}
|
|
@@ -1040,4 +1054,8 @@ export default {
|
|
|
1040
1054
|
border-collapse: separate;
|
|
1041
1055
|
z-index: 0; // Prevent label from cover other elements outside of the input
|
|
1042
1056
|
}
|
|
1057
|
+
|
|
1058
|
+
h3{
|
|
1059
|
+
font-size: 14px;
|
|
1060
|
+
}
|
|
1043
1061
|
</style>
|
|
@@ -326,6 +326,7 @@ export default {
|
|
|
326
326
|
<template>
|
|
327
327
|
<div style="display: flex;">
|
|
328
328
|
<div
|
|
329
|
+
v-if="hasLabel"
|
|
329
330
|
:class="{ 'labeled-container': true, raised, empty, [mode]: true, 'is-lable': isLabel }"
|
|
330
331
|
:style="{ border: 'none', width: selectWidth===''?'160px':selectWidth,lineHeight: '32px' }"
|
|
331
332
|
>
|
|
@@ -348,7 +349,7 @@ export default {
|
|
|
348
349
|
ref="select"
|
|
349
350
|
class="labeled-select"
|
|
350
351
|
:class="[
|
|
351
|
-
$attrs.class,
|
|
352
|
+
$attrs.class && $attrs.class.replace('mb-20', ''),
|
|
352
353
|
{
|
|
353
354
|
disabled: isView || disabled,
|
|
354
355
|
focused,
|
|
@@ -529,9 +530,11 @@ export default {
|
|
|
529
530
|
// Prevent namespace field from wiggling or changing
|
|
530
531
|
// height when it is toggled from a LabeledInput to a
|
|
531
532
|
// LabeledSelect.
|
|
532
|
-
padding-bottom: 1px;
|
|
533
|
+
// padding-bottom: 1px;
|
|
533
534
|
&:deep() .vs__actions:after {
|
|
534
|
-
padding-top: 10px;
|
|
535
|
+
// padding-top: 10px;
|
|
536
|
+
display: flex;
|
|
537
|
+
align-items: center;
|
|
535
538
|
}
|
|
536
539
|
|
|
537
540
|
&.no-label.compact-input {
|
|
@@ -161,8 +161,8 @@ export default {
|
|
|
161
161
|
<div :class="containerClass">
|
|
162
162
|
<div :class="defaultSectionClass">
|
|
163
163
|
<div class="labels">
|
|
164
|
-
<div class="labels__header">
|
|
165
|
-
<div v-if="showLabelTitle">
|
|
164
|
+
<div class="labels__header mb-20">
|
|
165
|
+
<div v-if="showLabelTitle" style="font-size: 14px;">
|
|
166
166
|
<t k="labels.labels.title" />
|
|
167
167
|
</div>
|
|
168
168
|
<ToggleSwitch
|
|
@@ -330,7 +330,7 @@ export default {
|
|
|
330
330
|
:data-testid="`input-match-type-field-${index}`"
|
|
331
331
|
>
|
|
332
332
|
<div v-if="isView">
|
|
333
|
-
{{ row.matching }}
|
|
333
|
+
{{ row.matching.replace('harvester', 'cloud') }}
|
|
334
334
|
</div>
|
|
335
335
|
<LabeledSelect
|
|
336
336
|
v-else
|
|
@@ -345,7 +345,7 @@ export default {
|
|
|
345
345
|
:data-testid="`input-match-expression-key-${index}`"
|
|
346
346
|
>
|
|
347
347
|
<div v-if="isView" class="view-item-value">
|
|
348
|
-
{{ row.key }}
|
|
348
|
+
{{ row.key.replace('harvester', 'cloud') }}
|
|
349
349
|
</div>
|
|
350
350
|
<input
|
|
351
351
|
v-else-if="!hasKeySelectOptions"
|
|
@@ -413,7 +413,7 @@ export default {
|
|
|
413
413
|
v-if="!isView"
|
|
414
414
|
type="button"
|
|
415
415
|
class="btn role-link"
|
|
416
|
-
:style="{padding:'0px'}"
|
|
416
|
+
:style="{padding:'0px', minWidth: 'auto'}"
|
|
417
417
|
|
|
418
418
|
:disabled="mode==='view'"
|
|
419
419
|
:data-testid="`input-match-expression-remove-control-${index}`"
|
|
@@ -425,7 +425,6 @@ export default {
|
|
|
425
425
|
</div>
|
|
426
426
|
<div
|
|
427
427
|
v-if="!isView && showAddButton"
|
|
428
|
-
class="mmt-4"
|
|
429
428
|
>
|
|
430
429
|
<button
|
|
431
430
|
type="button"
|
|
@@ -161,11 +161,11 @@ export default {
|
|
|
161
161
|
value: 'member'
|
|
162
162
|
},
|
|
163
163
|
...customRoles,
|
|
164
|
-
{
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
}
|
|
164
|
+
// {
|
|
165
|
+
// label: this.t('members.clusterPermissions.custom.label'),
|
|
166
|
+
// description: this.t('members.clusterPermissions.custom.description'),
|
|
167
|
+
// value: 'custom'
|
|
168
|
+
// }
|
|
169
169
|
];
|
|
170
170
|
},
|
|
171
171
|
principal() {
|
|
@@ -170,7 +170,7 @@ export default {
|
|
|
170
170
|
>
|
|
171
171
|
<template #column-headers>
|
|
172
172
|
<div class="box mb-0">
|
|
173
|
-
<div class="column-headers row" style="width:
|
|
173
|
+
<div class="column-headers row" style="width: calc(100% - 100px);">
|
|
174
174
|
<div class="col span-6">
|
|
175
175
|
<label class="text-label">{{ t('membershipEditor.user') }}</label>
|
|
176
176
|
</div>
|
|
@@ -181,7 +181,7 @@ export default {
|
|
|
181
181
|
</div>
|
|
182
182
|
</template>
|
|
183
183
|
<template #columns="{row, i}">
|
|
184
|
-
<div class="columns row">
|
|
184
|
+
<div style="width: 100%;" class="columns row">
|
|
185
185
|
<div class="col span-6">
|
|
186
186
|
<Principal
|
|
187
187
|
:value="row.value.principalId"
|
|
@@ -256,7 +256,7 @@ export default {
|
|
|
256
256
|
const options = namespaces
|
|
257
257
|
.map((namespace) => ({ nameDisplay: namespace, id: namespace }))
|
|
258
258
|
.map(props.namespaceMapper || ((obj) => ({
|
|
259
|
-
label: obj.nameDisplay,
|
|
259
|
+
label: obj.nameDisplay.replace('harvester', 'cloud'),
|
|
260
260
|
value: obj.id,
|
|
261
261
|
})));
|
|
262
262
|
|
|
@@ -160,7 +160,7 @@ export default {
|
|
|
160
160
|
<div>
|
|
161
161
|
<div>
|
|
162
162
|
<h3>{{ t('workload.container.titles.networkSettings') }}</h3>
|
|
163
|
-
<div class="row
|
|
163
|
+
<div class="row">
|
|
164
164
|
<div class="col span-6">
|
|
165
165
|
<LabeledSelect
|
|
166
166
|
v-model:value="networkMode"
|
|
@@ -205,12 +205,11 @@ export default {
|
|
|
205
205
|
</div>
|
|
206
206
|
</div>
|
|
207
207
|
</div>
|
|
208
|
-
<div class="spacer" />
|
|
209
208
|
|
|
210
|
-
<div>
|
|
209
|
+
<div class="mt-20">
|
|
211
210
|
<h3>{{ t('workload.networking.dns') }}</h3>
|
|
212
211
|
<div class="row">
|
|
213
|
-
<div class="
|
|
212
|
+
<div class="span-6">
|
|
214
213
|
<ArrayList
|
|
215
214
|
key="dnsNameservers"
|
|
216
215
|
v-model:value="nameservers"
|
|
@@ -222,7 +221,7 @@ export default {
|
|
|
222
221
|
@update:value="update"
|
|
223
222
|
/>
|
|
224
223
|
</div>
|
|
225
|
-
<div class="
|
|
224
|
+
<div class="span-6">
|
|
226
225
|
<ArrayList
|
|
227
226
|
key="dnsSearches"
|
|
228
227
|
v-model:value="searches"
|
|
@@ -236,9 +235,8 @@ export default {
|
|
|
236
235
|
</div>
|
|
237
236
|
</div>
|
|
238
237
|
</div>
|
|
239
|
-
<div class="spacer" />
|
|
240
238
|
|
|
241
|
-
<div
|
|
239
|
+
<div>
|
|
242
240
|
<div class="row">
|
|
243
241
|
<KeyValue
|
|
244
242
|
v-model:value="options"
|
|
@@ -254,9 +252,8 @@ export default {
|
|
|
254
252
|
/>
|
|
255
253
|
</div>
|
|
256
254
|
</div>
|
|
257
|
-
<div class="spacer" />
|
|
258
255
|
|
|
259
|
-
<div class="row mt-
|
|
256
|
+
<div class="row mt-40">
|
|
260
257
|
<div class="col span-12">
|
|
261
258
|
<KeyValue
|
|
262
259
|
key="hostAliases"
|
|
@@ -210,33 +210,31 @@ export default {
|
|
|
210
210
|
@remove="remove"
|
|
211
211
|
>
|
|
212
212
|
<template #default="props">
|
|
213
|
-
<div class="
|
|
214
|
-
<
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
/>
|
|
239
|
-
</div>
|
|
213
|
+
<div class="col">
|
|
214
|
+
<LabeledSelect
|
|
215
|
+
:options="affinityOptions"
|
|
216
|
+
:value="priorityDisplay(props.row.value)"
|
|
217
|
+
:label="t('workload.scheduling.affinity.priority')"
|
|
218
|
+
:mode="mode"
|
|
219
|
+
:data-testid="`node-affinity-priority-index${props.i}`"
|
|
220
|
+
@update:value="(changePriority(props.row.value))"
|
|
221
|
+
/>
|
|
222
|
+
</div>
|
|
223
|
+
<div
|
|
224
|
+
v-if="'weight' in props.row.value"
|
|
225
|
+
class="col"
|
|
226
|
+
>
|
|
227
|
+
<LabeledInput
|
|
228
|
+
v-model:value.number="props.row.value.weight"
|
|
229
|
+
:mode="mode"
|
|
230
|
+
type="number"
|
|
231
|
+
min="1"
|
|
232
|
+
max="100"
|
|
233
|
+
:label="t('workload.scheduling.affinity.weight.label')"
|
|
234
|
+
:placeholder="t('workload.scheduling.affinity.weight.placeholder')"
|
|
235
|
+
:data-testid="`node-affinity-weight-index${props.i}`"
|
|
236
|
+
@update:value="update"
|
|
237
|
+
/>
|
|
240
238
|
</div>
|
|
241
239
|
<MatchExpressions
|
|
242
240
|
:value="matchingSelectorDisplay ? props.row.value : props.row.value.matchExpressions"
|
|
@@ -254,5 +252,8 @@ export default {
|
|
|
254
252
|
</div>
|
|
255
253
|
</template>
|
|
256
254
|
|
|
257
|
-
<style>
|
|
255
|
+
<style lang="scss" scoped>
|
|
256
|
+
.weight_input{
|
|
257
|
+
margin-left: 10px;
|
|
258
|
+
}
|
|
258
259
|
</style>
|
|
@@ -370,27 +370,25 @@ export default {
|
|
|
370
370
|
@remove="remove"
|
|
371
371
|
>
|
|
372
372
|
<template #default="props">
|
|
373
|
-
<div class="
|
|
374
|
-
<
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
<
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
/>
|
|
393
|
-
</div>
|
|
373
|
+
<div class="col">
|
|
374
|
+
<LabeledSelect
|
|
375
|
+
:mode="mode"
|
|
376
|
+
:options="[t('workload.scheduling.affinity.affinityOption'),t('workload.scheduling.affinity.antiAffinityOption')]"
|
|
377
|
+
:value="props.row.value._anti ?t('workload.scheduling.affinity.antiAffinityOption') :t('workload.scheduling.affinity.affinityOption') "
|
|
378
|
+
:label="t('workload.scheduling.affinity.type')"
|
|
379
|
+
:data-testid="`pod-affinity-type-index${props.i}`"
|
|
380
|
+
@update:value="props.row.value._anti = !props.row.value._anti"
|
|
381
|
+
/>
|
|
382
|
+
</div>
|
|
383
|
+
<div class="col">
|
|
384
|
+
<LabeledSelect
|
|
385
|
+
:mode="mode"
|
|
386
|
+
:options="[t('workload.scheduling.affinity.preferred'),t('workload.scheduling.affinity.required')]"
|
|
387
|
+
:value="priorityDisplay(props.row.value)"
|
|
388
|
+
:label="t('workload.scheduling.affinity.priority')"
|
|
389
|
+
:data-testid="`pod-affinity-priority-index${props.i}`"
|
|
390
|
+
@update:value="changePriority(props.row.value, props.i)"
|
|
391
|
+
/>
|
|
394
392
|
</div>
|
|
395
393
|
<div class="row mb-20">
|
|
396
394
|
<RadioGroup
|
|
@@ -438,7 +436,7 @@ export default {
|
|
|
438
436
|
@update:value="e=>updateLabelSelector(e, props)"
|
|
439
437
|
/>
|
|
440
438
|
<div class="row mt-20">
|
|
441
|
-
<div class="col
|
|
439
|
+
<div class="col">
|
|
442
440
|
<LabeledSelect
|
|
443
441
|
v-if="hasNodes"
|
|
444
442
|
v-model:value="props.row.value.topologyKey"
|
|
@@ -466,9 +464,11 @@ export default {
|
|
|
466
464
|
@update:value="update"
|
|
467
465
|
/>
|
|
468
466
|
</div>
|
|
467
|
+
</div>
|
|
468
|
+
<div class="row">
|
|
469
469
|
<div
|
|
470
470
|
v-if="'weight' in props.row.value"
|
|
471
|
-
class="col
|
|
471
|
+
class="col"
|
|
472
472
|
>
|
|
473
473
|
<LabeledInput
|
|
474
474
|
v-model:value.number="props.row.value.weight"
|
|
@@ -160,7 +160,7 @@ export default {
|
|
|
160
160
|
<div class="row">
|
|
161
161
|
<div
|
|
162
162
|
data-testid="input-probe-kind"
|
|
163
|
-
class="
|
|
163
|
+
class="span-9-of-23"
|
|
164
164
|
>
|
|
165
165
|
<LabeledSelect
|
|
166
166
|
v-model:value="kind"
|
|
@@ -240,7 +240,7 @@ export default {
|
|
|
240
240
|
</div>
|
|
241
241
|
</div>
|
|
242
242
|
|
|
243
|
-
<div class="
|
|
243
|
+
<div class="span-1-of-13">
|
|
244
244
|
<hr
|
|
245
245
|
v-if="kind && kind!=='none'"
|
|
246
246
|
:style="{'position':'relative', 'margin':'0px'}"
|
|
@@ -252,12 +252,12 @@ export default {
|
|
|
252
252
|
<!-- none -->
|
|
253
253
|
<div
|
|
254
254
|
v-if="!isNone"
|
|
255
|
-
class="
|
|
255
|
+
class="span-11-of-23 ml-30"
|
|
256
256
|
>
|
|
257
257
|
<div class="row">
|
|
258
258
|
<div
|
|
259
259
|
data-testid="input-probe-periodSeconds"
|
|
260
|
-
class="col
|
|
260
|
+
class="col"
|
|
261
261
|
>
|
|
262
262
|
<UnitInput
|
|
263
263
|
v-model:value="probe.periodSeconds"
|
|
@@ -269,9 +269,12 @@ export default {
|
|
|
269
269
|
@update:value="update"
|
|
270
270
|
/>
|
|
271
271
|
</div>
|
|
272
|
+
</div>
|
|
273
|
+
|
|
274
|
+
<div class="row">
|
|
272
275
|
<div
|
|
273
276
|
data-testid="input-probe-initialDelaySeconds"
|
|
274
|
-
class="col
|
|
277
|
+
class="col"
|
|
275
278
|
>
|
|
276
279
|
<UnitInput
|
|
277
280
|
v-model:value="probe.initialDelaySeconds"
|
|
@@ -283,9 +286,11 @@ export default {
|
|
|
283
286
|
@update:value="update"
|
|
284
287
|
/>
|
|
285
288
|
</div>
|
|
289
|
+
</div>
|
|
290
|
+
<div class="row">
|
|
286
291
|
<div
|
|
287
292
|
data-testid="input-probe-timeoutSeconds"
|
|
288
|
-
class="col
|
|
293
|
+
class="col"
|
|
289
294
|
>
|
|
290
295
|
<UnitInput
|
|
291
296
|
v-model:value="probe.timeoutSeconds"
|
|
@@ -299,12 +304,10 @@ export default {
|
|
|
299
304
|
</div>
|
|
300
305
|
</div>
|
|
301
306
|
|
|
302
|
-
<div class="spacer-small" />
|
|
303
|
-
|
|
304
307
|
<div class="row">
|
|
305
308
|
<div
|
|
306
309
|
data-testid="input-probe-successThreshold"
|
|
307
|
-
class="col
|
|
310
|
+
class="col"
|
|
308
311
|
>
|
|
309
312
|
<LabeledInput
|
|
310
313
|
v-model:value.number="probe.successThreshold"
|
|
@@ -316,9 +319,11 @@ export default {
|
|
|
316
319
|
@update:value="update"
|
|
317
320
|
/>
|
|
318
321
|
</div>
|
|
322
|
+
</div>
|
|
323
|
+
<div class="row">
|
|
319
324
|
<div
|
|
320
325
|
data-testid="input-probe-failureThreshold"
|
|
321
|
-
class="col
|
|
326
|
+
class="col"
|
|
322
327
|
>
|
|
323
328
|
<LabeledInput
|
|
324
329
|
v-model:value.number="probe.failureThreshold"
|
|
@@ -333,7 +338,6 @@ export default {
|
|
|
333
338
|
</div>
|
|
334
339
|
|
|
335
340
|
<template v-if="kind === 'HTTP' || kind === 'HTTPS'">
|
|
336
|
-
<div class="spacer-small" />
|
|
337
341
|
|
|
338
342
|
<div class="row">
|
|
339
343
|
<div class="col span-12">
|
|
@@ -72,13 +72,13 @@ export default {
|
|
|
72
72
|
<template>
|
|
73
73
|
<div>
|
|
74
74
|
<div class="headers mb-10">
|
|
75
|
-
<div style="width:
|
|
75
|
+
<div style="width: 450px;">
|
|
76
76
|
<label>{{ t('resourceQuota.headers.resourceType') }}</label>
|
|
77
77
|
</div>
|
|
78
|
-
<div style="width:
|
|
78
|
+
<div style="width: 450px;">
|
|
79
79
|
<label>{{ t('resourceQuota.headers.projectResourceAvailability') }}</label>
|
|
80
80
|
</div>
|
|
81
|
-
<div style="width:
|
|
81
|
+
<div style="width: 450px;">
|
|
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:
|
|
104
|
+
justify-content: left;
|
|
105
105
|
align-items: center;
|
|
106
106
|
border-bottom: 1px solid var(--border);
|
|
107
107
|
height: 30px;
|
|
@@ -175,13 +175,15 @@ export default {
|
|
|
175
175
|
v-if="typeOption"
|
|
176
176
|
class="rowNew"
|
|
177
177
|
>
|
|
178
|
-
<
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
178
|
+
<div style="width: 450px;">
|
|
179
|
+
<Select
|
|
180
|
+
:mode="mode"
|
|
181
|
+
:value="type"
|
|
182
|
+
:disabled="true"
|
|
183
|
+
:options="types"
|
|
184
|
+
/>
|
|
185
|
+
</div>
|
|
186
|
+
<div style="width: 450px;" class="resource-availability">
|
|
185
187
|
<PercentageBar
|
|
186
188
|
v-clean-tooltip="tooltip"
|
|
187
189
|
class="percentage-bar"
|
|
@@ -190,7 +192,7 @@ export default {
|
|
|
190
192
|
:color-stops="{'100': '--primary'}"
|
|
191
193
|
/>
|
|
192
194
|
</div>
|
|
193
|
-
<div style="width:
|
|
195
|
+
<div style="width: 450px;">
|
|
194
196
|
<UnitInput
|
|
195
197
|
:value="value.limit[type]"
|
|
196
198
|
:mode="mode"
|
|
@@ -212,7 +214,7 @@ export default {
|
|
|
212
214
|
.rowNew {
|
|
213
215
|
margin-bottom: 10px;
|
|
214
216
|
display: flex;
|
|
215
|
-
justify-content:
|
|
217
|
+
justify-content: left;
|
|
216
218
|
|
|
217
219
|
& > * {
|
|
218
220
|
width: 400px;
|
|
@@ -57,14 +57,14 @@ export default {
|
|
|
57
57
|
</script>
|
|
58
58
|
<template>
|
|
59
59
|
<div>
|
|
60
|
-
<div style="justify-content:
|
|
61
|
-
<div style="width:
|
|
60
|
+
<div style="justify-content: left;" class="headers mb-10">
|
|
61
|
+
<div style="width: 450px;">
|
|
62
62
|
<label>{{ t('resourceQuota.headers.resourceType') }}</label>
|
|
63
63
|
</div>
|
|
64
|
-
<div style="width:
|
|
64
|
+
<div style="width: 450px;">
|
|
65
65
|
<label>{{ t('resourceQuota.headers.projectLimit') }}</label>
|
|
66
66
|
</div>
|
|
67
|
-
<div style="width:
|
|
67
|
+
<div style="width: 450px;">
|
|
68
68
|
<label>{{ t('resourceQuota.headers.namespaceDefaultLimit') }}</label>
|
|
69
69
|
</div>
|
|
70
70
|
</div>
|