dashboard-shell-shell 3.0.5-test.13 → 3.0.5-test.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles/global/_select.scss +1 -1
- package/assets/translations/zh-hans.yaml +4 -3
- package/components/Drawer/ResourceDetailDrawer/index.vue +2 -2
- package/components/ExplorerMembers.vue +10 -1
- package/components/SortableTable/index.vue +2 -2
- package/components/Tabbed/index.vue +5 -1
- package/components/auth/Principal.vue +1 -0
- package/components/form/ArrayList.vue +162 -146
- 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 +83 -58
- package/components/form/InputWithSelect.vue +8 -7
- package/components/form/KeyValue.vue +1 -0
- package/components/form/MatchExpressions.vue +1 -2
- package/components/form/Networking.vue +0 -1
- package/components/form/NodeAffinity.vue +29 -28
- package/components/form/PodAffinity.vue +19 -21
- package/components/form/Probe.vue +15 -11
- package/components/form/ResourceSelector.vue +1 -1
- package/components/form/ServiceNameSelect.vue +1 -3
- package/components/form/ServicePorts.vue +149 -75
- package/components/form/Tolerations.vue +12 -9
- package/components/form/ValueFromResource.vue +110 -96
- package/components/nav/TopLevelMenu.vue +3 -2
- package/components/nav/Type.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +1 -1
- 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/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 +27 -29
- package/edit/workload/Upgrading.vue +3 -3
- package/edit/workload/index.vue +2 -2
- 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 +18 -15
- package/edit/workload/storage/secret.vue +9 -6
- package/edit/workload/storage/vsphereVolume.vue +11 -7
- package/package.json +1 -1
- package/pages/account/index.vue +10 -0
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +31 -2
- package/scripts/publish-shell.sh +1 -1
- package/store/i18n.js +1 -0
|
@@ -125,7 +125,7 @@ export default {
|
|
|
125
125
|
<template>
|
|
126
126
|
<div>
|
|
127
127
|
<div v-if="rows.length">
|
|
128
|
-
<div
|
|
128
|
+
<!-- <div
|
|
129
129
|
class="ports-headers"
|
|
130
130
|
:class="{'show-protocol':showProtocol, 'show-node-port':showNodePort}"
|
|
131
131
|
>
|
|
@@ -169,77 +169,13 @@ export default {
|
|
|
169
169
|
v-if="showRemove"
|
|
170
170
|
class="remove"
|
|
171
171
|
/>
|
|
172
|
-
</div>
|
|
172
|
+
</div> -->
|
|
173
173
|
<div
|
|
174
174
|
v-for="(row, idx) in rows"
|
|
175
175
|
:key="idx"
|
|
176
176
|
class="ports-row"
|
|
177
177
|
:class="{'show-protocol':showProtocol, 'show-node-port':showNodePort}"
|
|
178
178
|
>
|
|
179
|
-
<div
|
|
180
|
-
v-if="padLeft"
|
|
181
|
-
class="left"
|
|
182
|
-
/>
|
|
183
|
-
<div class="port-name">
|
|
184
|
-
<span v-if="isView">{{ row.name }}</span>
|
|
185
|
-
<input
|
|
186
|
-
v-else
|
|
187
|
-
ref="port-name"
|
|
188
|
-
v-model.number="row.name"
|
|
189
|
-
type="text"
|
|
190
|
-
:placeholder="t('servicePorts.rules.name.placeholder')"
|
|
191
|
-
@input="queueUpdate"
|
|
192
|
-
>
|
|
193
|
-
</div>
|
|
194
|
-
<div class="port">
|
|
195
|
-
<span v-if="isView">{{ row.port }}</span>
|
|
196
|
-
<input
|
|
197
|
-
v-else
|
|
198
|
-
ref="port"
|
|
199
|
-
v-model.number="row.port"
|
|
200
|
-
type="number"
|
|
201
|
-
min="1"
|
|
202
|
-
max="65535"
|
|
203
|
-
:placeholder="t('servicePorts.rules.listening.placeholder')"
|
|
204
|
-
@input="queueUpdate"
|
|
205
|
-
>
|
|
206
|
-
</div>
|
|
207
|
-
<div
|
|
208
|
-
v-if="showProtocol"
|
|
209
|
-
class="port-protocol"
|
|
210
|
-
>
|
|
211
|
-
<span v-if="isView">{{ row.protocol }}</span>
|
|
212
|
-
<Select
|
|
213
|
-
v-else
|
|
214
|
-
v-model:value="row.protocol"
|
|
215
|
-
:options="protocolOptions"
|
|
216
|
-
@update:value="queueUpdate"
|
|
217
|
-
/>
|
|
218
|
-
</div>
|
|
219
|
-
<div class="target-port">
|
|
220
|
-
<span v-if="isView">{{ row.targetPort }}</span>
|
|
221
|
-
<input
|
|
222
|
-
v-else
|
|
223
|
-
v-model="row.targetPort"
|
|
224
|
-
:placeholder="t('servicePorts.rules.target.placeholder')"
|
|
225
|
-
@input="queueUpdate"
|
|
226
|
-
>
|
|
227
|
-
</div>
|
|
228
|
-
<div
|
|
229
|
-
v-if="showNodePort"
|
|
230
|
-
class="node-port"
|
|
231
|
-
>
|
|
232
|
-
<span v-if="isView">{{ row.nodePort }}</span>
|
|
233
|
-
<input
|
|
234
|
-
v-else
|
|
235
|
-
v-model.number="row.nodePort"
|
|
236
|
-
type="number"
|
|
237
|
-
min="1"
|
|
238
|
-
max="65535"
|
|
239
|
-
:placeholder="t('servicePorts.rules.node.placeholder')"
|
|
240
|
-
@input="queueUpdate"
|
|
241
|
-
>
|
|
242
|
-
</div>
|
|
243
179
|
<div
|
|
244
180
|
v-if="showRemove"
|
|
245
181
|
class="remove"
|
|
@@ -252,7 +188,106 @@ export default {
|
|
|
252
188
|
<t k="generic.remove" />
|
|
253
189
|
</button>
|
|
254
190
|
</div>
|
|
191
|
+
<div class="flex">
|
|
192
|
+
<span class="port-name">
|
|
193
|
+
<t k="servicePorts.rules.name.label" />
|
|
194
|
+
</span>
|
|
195
|
+
<div class="port-name">
|
|
196
|
+
<span v-if="isView">{{ row.name }}</span>
|
|
197
|
+
<input
|
|
198
|
+
v-else
|
|
199
|
+
ref="port-name"
|
|
200
|
+
v-model.number="row.name"
|
|
201
|
+
type="text"
|
|
202
|
+
:placeholder="t('servicePorts.rules.name.placeholder')"
|
|
203
|
+
@input="queueUpdate"
|
|
204
|
+
>
|
|
205
|
+
</div>
|
|
206
|
+
</div>
|
|
207
|
+
<div class="flex">
|
|
208
|
+
<span class="port">
|
|
209
|
+
<t k="servicePorts.rules.listening.label" />
|
|
210
|
+
<i
|
|
211
|
+
v-clean-tooltip="t('servicesPage.listeningPorts')"
|
|
212
|
+
class="icon icon-info flex"
|
|
213
|
+
/>
|
|
214
|
+
<span class="text-error">*</span>
|
|
215
|
+
</span>
|
|
216
|
+
<div class="port">
|
|
217
|
+
<span v-if="isView">{{ row.port }}</span>
|
|
218
|
+
<input
|
|
219
|
+
v-else
|
|
220
|
+
ref="port"
|
|
221
|
+
v-model.number="row.port"
|
|
222
|
+
type="number"
|
|
223
|
+
min="1"
|
|
224
|
+
max="65535"
|
|
225
|
+
:placeholder="t('servicePorts.rules.listening.placeholder')"
|
|
226
|
+
@input="queueUpdate"
|
|
227
|
+
>
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
<div class="flex" v-if="showProtocol">
|
|
231
|
+
<span
|
|
232
|
+
class="port-protocol"
|
|
233
|
+
>
|
|
234
|
+
<t k="servicePorts.rules.protocol.label" />
|
|
235
|
+
</span>
|
|
236
|
+
<div
|
|
237
|
+
class="port-protocol"
|
|
238
|
+
>
|
|
239
|
+
<span v-if="isView">{{ row.protocol }}</span>
|
|
240
|
+
<Select
|
|
241
|
+
v-else
|
|
242
|
+
v-model:value="row.protocol"
|
|
243
|
+
:options="protocolOptions"
|
|
244
|
+
@update:value="queueUpdate"
|
|
245
|
+
/>
|
|
246
|
+
</div>
|
|
247
|
+
</div>
|
|
248
|
+
<div class="flex">
|
|
249
|
+
<span class="target-port">
|
|
250
|
+
<t k="servicePorts.rules.target.label" />
|
|
251
|
+
<i
|
|
252
|
+
v-clean-tooltip="t('servicesPage.targetPorts')"
|
|
253
|
+
class="icon icon-info flex"
|
|
254
|
+
/>
|
|
255
|
+
<span class="text-error">*</span>
|
|
256
|
+
|
|
257
|
+
</span>
|
|
258
|
+
<div class="target-port">
|
|
259
|
+
<span v-if="isView">{{ row.targetPort }}</span>
|
|
260
|
+
<input
|
|
261
|
+
v-else
|
|
262
|
+
v-model="row.targetPort"
|
|
263
|
+
:placeholder="t('servicePorts.rules.target.placeholder')"
|
|
264
|
+
@input="queueUpdate"
|
|
265
|
+
>
|
|
266
|
+
</div>
|
|
267
|
+
</div>
|
|
268
|
+
<div class="flex" v-if="showNodePort">
|
|
269
|
+
<span
|
|
270
|
+
class="node-port"
|
|
271
|
+
>
|
|
272
|
+
<t k="servicePorts.rules.node.label" />
|
|
273
|
+
</span>
|
|
274
|
+
<div
|
|
275
|
+
class="node-port"
|
|
276
|
+
>
|
|
277
|
+
<span v-if="isView">{{ row.nodePort }}</span>
|
|
278
|
+
<input
|
|
279
|
+
v-else
|
|
280
|
+
v-model.number="row.nodePort"
|
|
281
|
+
type="number"
|
|
282
|
+
min="1"
|
|
283
|
+
max="65535"
|
|
284
|
+
:placeholder="t('servicePorts.rules.node.placeholder')"
|
|
285
|
+
@input="queueUpdate"
|
|
286
|
+
>
|
|
287
|
+
</div>
|
|
288
|
+
</div>
|
|
255
289
|
<Error
|
|
290
|
+
style="margin-bottom: 24px;"
|
|
256
291
|
:value="{...row, idx}"
|
|
257
292
|
:rules="rules"
|
|
258
293
|
/>
|
|
@@ -286,22 +321,60 @@ export default {
|
|
|
286
321
|
}
|
|
287
322
|
|
|
288
323
|
.ports-headers, .ports-row{
|
|
289
|
-
display: grid;
|
|
290
|
-
grid-column-gap: $column-gutter;
|
|
291
|
-
margin-bottom: 10px;
|
|
324
|
+
// display: grid;
|
|
325
|
+
// grid-column-gap: $column-gutter;
|
|
326
|
+
// margin-bottom: 10px;
|
|
327
|
+
// align-items: center;
|
|
328
|
+
display: flex;
|
|
329
|
+
flex-direction: column;
|
|
330
|
+
|
|
331
|
+
// &.show-protocol{
|
|
332
|
+
// grid-template-columns: 23% 23% 10% 15% 15% 10%;
|
|
333
|
+
// &:not(.show-node-port){
|
|
334
|
+
// grid-template-columns: 31% 31% 10% 15% 10%;
|
|
335
|
+
// }
|
|
336
|
+
// }
|
|
337
|
+
// &.show-node-port:not(.show-protocol){
|
|
338
|
+
// grid-template-columns: 28% 28% 15% 15% 10%;
|
|
339
|
+
// }
|
|
340
|
+
}
|
|
341
|
+
.flex{
|
|
342
|
+
display: flex;
|
|
292
343
|
align-items: center;
|
|
344
|
+
margin-bottom: 24px;
|
|
345
|
+
>span:nth-child(1){
|
|
346
|
+
min-width: 160px;
|
|
347
|
+
height: 32px;
|
|
348
|
+
display: flex;
|
|
349
|
+
align-items: center;
|
|
350
|
+
}
|
|
293
351
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
352
|
+
.port-name:not(span){
|
|
353
|
+
width: 400px;
|
|
354
|
+
|
|
355
|
+
}
|
|
356
|
+
.port:not(span){
|
|
357
|
+
width: 400px;
|
|
358
|
+
INPUT{
|
|
359
|
+
height: 32px;
|
|
360
|
+
padding-left: 11px;
|
|
298
361
|
}
|
|
299
362
|
}
|
|
300
|
-
|
|
301
|
-
|
|
363
|
+
.target-port:not(span){
|
|
364
|
+
width: 400px;
|
|
365
|
+
}
|
|
366
|
+
.node-port:not(span){
|
|
367
|
+
width: 400px;
|
|
368
|
+
INPUT{
|
|
369
|
+
height: 32px;
|
|
370
|
+
padding-left: 11px;
|
|
371
|
+
}
|
|
302
372
|
}
|
|
303
373
|
}
|
|
304
374
|
|
|
375
|
+
.flex:nth-last-child{
|
|
376
|
+
margin-bottom: 0px;
|
|
377
|
+
}
|
|
305
378
|
.ports-headers {
|
|
306
379
|
color: var(--input-label);
|
|
307
380
|
}
|
|
@@ -312,6 +385,7 @@ export default {
|
|
|
312
385
|
|
|
313
386
|
.remove BUTTON {
|
|
314
387
|
padding: 0px;
|
|
388
|
+
min-width: auto;
|
|
315
389
|
}
|
|
316
390
|
|
|
317
391
|
.ports-row {
|
|
@@ -202,7 +202,7 @@ export default {
|
|
|
202
202
|
:key="index"
|
|
203
203
|
class="rule"
|
|
204
204
|
>
|
|
205
|
-
<div
|
|
205
|
+
<div>
|
|
206
206
|
<LabeledInput
|
|
207
207
|
v-model:value="rule.key"
|
|
208
208
|
:mode="mode"
|
|
@@ -211,7 +211,7 @@ export default {
|
|
|
211
211
|
@update:value="update"
|
|
212
212
|
/>
|
|
213
213
|
</div>
|
|
214
|
-
<div
|
|
214
|
+
<div>
|
|
215
215
|
<Select
|
|
216
216
|
id="operator"
|
|
217
217
|
v-model:value="rule.operator"
|
|
@@ -222,7 +222,7 @@ export default {
|
|
|
222
222
|
/>
|
|
223
223
|
</div>
|
|
224
224
|
<template v-if="rule.operator==='Exists'">
|
|
225
|
-
<div
|
|
225
|
+
<div>
|
|
226
226
|
<LabeledInput
|
|
227
227
|
value="n/a"
|
|
228
228
|
:mode="mode"
|
|
@@ -232,7 +232,7 @@ export default {
|
|
|
232
232
|
</div>
|
|
233
233
|
</template>
|
|
234
234
|
<template v-else>
|
|
235
|
-
<div
|
|
235
|
+
<div>
|
|
236
236
|
<LabeledInput
|
|
237
237
|
v-model:value="rule.value"
|
|
238
238
|
:mode="mode"
|
|
@@ -242,7 +242,7 @@ export default {
|
|
|
242
242
|
/>
|
|
243
243
|
</div>
|
|
244
244
|
</template>
|
|
245
|
-
<div
|
|
245
|
+
<div>
|
|
246
246
|
<Select
|
|
247
247
|
v-model:value="rule.effect"
|
|
248
248
|
:options="effectOpts"
|
|
@@ -251,7 +251,7 @@ export default {
|
|
|
251
251
|
@update:value="e=>updateEffect(e, rule)"
|
|
252
252
|
/>
|
|
253
253
|
</div>
|
|
254
|
-
<div
|
|
254
|
+
<div>
|
|
255
255
|
<UnitInput
|
|
256
256
|
v-model:value="rule.tolerationSeconds"
|
|
257
257
|
:disabled="rule.effect !== 'NoExecute'"
|
|
@@ -262,7 +262,7 @@ export default {
|
|
|
262
262
|
@update:value="update"
|
|
263
263
|
/>
|
|
264
264
|
</div>
|
|
265
|
-
<div class="
|
|
265
|
+
<div class="remove">
|
|
266
266
|
<button
|
|
267
267
|
v-if="!isView"
|
|
268
268
|
type="button"
|
|
@@ -294,9 +294,12 @@ export default {
|
|
|
294
294
|
|
|
295
295
|
.rule, .toleration-headers{
|
|
296
296
|
display: grid;
|
|
297
|
-
grid-template-columns:
|
|
297
|
+
grid-template-columns: 13% 13% 13% 13% 13% 13%;
|
|
298
298
|
grid-gap: 10px;
|
|
299
299
|
align-items: center;
|
|
300
|
+
.unlabeled-select{
|
|
301
|
+
width: auto;
|
|
302
|
+
}
|
|
300
303
|
}
|
|
301
304
|
|
|
302
305
|
.rule {
|
|
@@ -308,10 +311,10 @@ export default {
|
|
|
308
311
|
|
|
309
312
|
.toleration-headers SPAN {
|
|
310
313
|
color: var(--input-label);
|
|
311
|
-
margin-bottom: 10px;
|
|
312
314
|
}
|
|
313
315
|
.remove BUTTON {
|
|
314
316
|
padding: 0px;
|
|
317
|
+
min-width: auto;
|
|
315
318
|
}
|
|
316
319
|
.height-adjust-input {
|
|
317
320
|
min-height: 42px;
|
|
@@ -284,128 +284,141 @@ export default {
|
|
|
284
284
|
|
|
285
285
|
<template>
|
|
286
286
|
<div class="var-row">
|
|
287
|
-
<div class="
|
|
288
|
-
<
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
/>
|
|
299
|
-
</div>
|
|
300
|
-
|
|
301
|
-
<div
|
|
302
|
-
v-if="!hideVariableName"
|
|
303
|
-
class="name"
|
|
304
|
-
>
|
|
305
|
-
<LabeledInput
|
|
306
|
-
v-model:value="name"
|
|
307
|
-
:label="nameLabel"
|
|
308
|
-
:placeholder="t('workload.container.command.fromResource.name.placeholder')"
|
|
309
|
-
:mode="mode"
|
|
310
|
-
@update:value="updateRow"
|
|
311
|
-
/>
|
|
312
|
-
</div>
|
|
313
|
-
|
|
314
|
-
<div
|
|
315
|
-
v-if="type==='simple'"
|
|
316
|
-
class="single-value"
|
|
317
|
-
>
|
|
318
|
-
<LabeledInput
|
|
319
|
-
v-model:value="valStr"
|
|
320
|
-
:label="t('workload.container.command.fromResource.value.label')"
|
|
321
|
-
:placeholder="t('workload.container.command.fromResource.value.placeholder')"
|
|
322
|
-
:mode="mode"
|
|
323
|
-
@update:value="updateRow"
|
|
324
|
-
/>
|
|
287
|
+
<div class="row">
|
|
288
|
+
<div class="remove">
|
|
289
|
+
<button
|
|
290
|
+
v-if="!isView"
|
|
291
|
+
type="button"
|
|
292
|
+
class="btn role-link"
|
|
293
|
+
@click.stop="$emit('remove')"
|
|
294
|
+
>
|
|
295
|
+
{{ t('generic.remove') }}
|
|
296
|
+
</button>
|
|
297
|
+
</div>
|
|
325
298
|
</div>
|
|
326
299
|
|
|
327
|
-
<
|
|
328
|
-
<div
|
|
300
|
+
<div class="row">
|
|
301
|
+
<div class="type span-6 col">
|
|
329
302
|
<LabeledSelect
|
|
330
|
-
v-model:value="
|
|
331
|
-
:options="sourceOptions"
|
|
332
|
-
:multiple="false"
|
|
333
|
-
:get-option-label="opt=>get(opt, 'metadata.name') || opt"
|
|
334
|
-
:get-option-key="opt=>opt.id|| opt"
|
|
303
|
+
v-model:value="type"
|
|
335
304
|
:mode="mode"
|
|
336
|
-
:label="sourceLabel"
|
|
337
|
-
:loading="loading"
|
|
338
|
-
/>
|
|
339
|
-
</div>
|
|
340
|
-
<div v-if="type!=='secretRef' && type!== 'configMapRef'">
|
|
341
|
-
<LabeledSelect
|
|
342
|
-
v-model:value="key"
|
|
343
305
|
:multiple="false"
|
|
344
|
-
:options="
|
|
345
|
-
:mode="mode"
|
|
306
|
+
:options="options"
|
|
346
307
|
option-label="label"
|
|
347
|
-
:
|
|
348
|
-
:
|
|
308
|
+
:searchable="false"
|
|
309
|
+
:reduce="e=>e.value"
|
|
310
|
+
:label="t('workload.container.command.fromResource.type')"
|
|
349
311
|
@update:value="updateRow"
|
|
350
312
|
/>
|
|
351
313
|
</div>
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
314
|
+
|
|
315
|
+
<div
|
|
316
|
+
v-if="!hideVariableName"
|
|
317
|
+
class="name span-6 col"
|
|
318
|
+
>
|
|
356
319
|
<LabeledInput
|
|
357
|
-
v-model:value="
|
|
358
|
-
:label="
|
|
359
|
-
:placeholder="t('workload.container.command.fromResource.
|
|
320
|
+
v-model:value="name"
|
|
321
|
+
:label="nameLabel"
|
|
322
|
+
:placeholder="t('workload.container.command.fromResource.name.placeholder')"
|
|
360
323
|
:mode="mode"
|
|
361
324
|
@update:value="updateRow"
|
|
362
325
|
/>
|
|
363
326
|
</div>
|
|
364
|
-
|
|
365
|
-
<LabeledSelect
|
|
366
|
-
v-model:value="key"
|
|
367
|
-
:label="t('workload.container.command.fromResource.key.label')"
|
|
368
|
-
:multiple="false"
|
|
369
|
-
:options="resourceKeyOpts"
|
|
370
|
-
:mode="mode"
|
|
371
|
-
:searchable="false"
|
|
372
|
-
:placeholder="t('workload.container.command.fromResource.key.placeholder', null, true)"
|
|
373
|
-
@update:value="updateRow"
|
|
374
|
-
/>
|
|
375
|
-
</div>
|
|
376
|
-
</template>
|
|
327
|
+
</div>
|
|
377
328
|
|
|
378
|
-
<
|
|
379
|
-
<div
|
|
329
|
+
<div class="row">
|
|
330
|
+
<div
|
|
331
|
+
v-if="type==='simple'"
|
|
332
|
+
class="single-value span-6 col"
|
|
333
|
+
>
|
|
380
334
|
<LabeledInput
|
|
381
|
-
v-model:value="
|
|
382
|
-
:
|
|
383
|
-
:
|
|
335
|
+
v-model:value="valStr"
|
|
336
|
+
:label="t('workload.container.command.fromResource.value.label')"
|
|
337
|
+
:placeholder="t('workload.container.command.fromResource.value.placeholder')"
|
|
384
338
|
:mode="mode"
|
|
385
339
|
@update:value="updateRow"
|
|
386
340
|
/>
|
|
387
341
|
</div>
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
342
|
+
|
|
343
|
+
<template v-else-if="needsSource">
|
|
344
|
+
<div
|
|
345
|
+
:class="{'single-value': type === 'configMapRef' || type === 'secretRef'}"
|
|
346
|
+
class="span-6 col"
|
|
347
|
+
>
|
|
348
|
+
<LabeledSelect
|
|
349
|
+
v-model:value="referenced"
|
|
350
|
+
:options="sourceOptions"
|
|
351
|
+
:multiple="false"
|
|
352
|
+
:get-option-label="opt=>get(opt, 'metadata.name') || opt"
|
|
353
|
+
:get-option-key="opt=>opt.id|| opt"
|
|
354
|
+
:mode="mode"
|
|
355
|
+
:label="sourceLabel"
|
|
356
|
+
:loading="loading"
|
|
357
|
+
/>
|
|
358
|
+
</div>
|
|
359
|
+
<div
|
|
360
|
+
v-if="type!=='secretRef' && type!== 'configMapRef'"
|
|
361
|
+
class="span-6 col"
|
|
362
|
+
>
|
|
363
|
+
<LabeledSelect
|
|
364
|
+
v-model:value="key"
|
|
365
|
+
:multiple="false"
|
|
366
|
+
:options="keys"
|
|
367
|
+
:mode="mode"
|
|
368
|
+
option-label="label"
|
|
369
|
+
:label="t('workload.container.command.fromResource.key.label')"
|
|
370
|
+
:loading="loading"
|
|
371
|
+
@update:value="updateRow"
|
|
372
|
+
/>
|
|
373
|
+
</div>
|
|
374
|
+
</template>
|
|
375
|
+
|
|
376
|
+
<template v-else-if="type==='resourceFieldRef'">
|
|
377
|
+
<div class="span-6 col">
|
|
378
|
+
<LabeledInput
|
|
379
|
+
v-model:value="refName"
|
|
380
|
+
:label="t('workload.container.command.fromResource.containerName')"
|
|
381
|
+
:placeholder="t('workload.container.command.fromResource.source.placeholder')"
|
|
382
|
+
:mode="mode"
|
|
383
|
+
@update:value="updateRow"
|
|
384
|
+
/>
|
|
385
|
+
</div>
|
|
386
|
+
<div class="span-6 col">
|
|
387
|
+
<LabeledSelect
|
|
388
|
+
v-model:value="key"
|
|
389
|
+
:label="t('workload.container.command.fromResource.key.label')"
|
|
390
|
+
:multiple="false"
|
|
391
|
+
:options="resourceKeyOpts"
|
|
392
|
+
:mode="mode"
|
|
393
|
+
:searchable="false"
|
|
394
|
+
:placeholder="t('workload.container.command.fromResource.key.placeholder', null, true)"
|
|
395
|
+
@update:value="updateRow"
|
|
396
|
+
/>
|
|
397
|
+
</div>
|
|
398
|
+
</template>
|
|
399
|
+
|
|
400
|
+
<template v-else>
|
|
401
|
+
<div class="single-value span-6 col">
|
|
402
|
+
<LabeledInput
|
|
403
|
+
v-model:value="fieldPath"
|
|
404
|
+
:placeholder="t('workload.container.command.fromResource.key.placeholder', null, true)"
|
|
405
|
+
:label="t('workload.container.command.fromResource.key.label')"
|
|
406
|
+
:mode="mode"
|
|
407
|
+
@update:value="updateRow"
|
|
408
|
+
/>
|
|
409
|
+
</div>
|
|
410
|
+
</template>
|
|
398
411
|
</div>
|
|
399
412
|
</div>
|
|
400
413
|
</template>
|
|
401
414
|
|
|
402
415
|
<style lang='scss' scoped>
|
|
403
416
|
.var-row{
|
|
404
|
-
display: grid;
|
|
405
|
-
grid-template-columns: 1fr 1fr 1fr 1fr 100px;
|
|
406
|
-
grid-column-gap: 20px;
|
|
407
|
-
margin-bottom: 10px;
|
|
408
|
-
align-items: center;
|
|
417
|
+
// display: grid;
|
|
418
|
+
// grid-template-columns: 1fr 1fr 1fr 1fr 100px;
|
|
419
|
+
// grid-column-gap: 20px;
|
|
420
|
+
// margin-bottom: 10px;
|
|
421
|
+
// align-items: center;
|
|
409
422
|
|
|
410
423
|
.single-value {
|
|
411
424
|
grid-column: span 2;
|
|
@@ -413,6 +426,7 @@ export default {
|
|
|
413
426
|
|
|
414
427
|
.remove BUTTON {
|
|
415
428
|
padding: 0px;
|
|
429
|
+
min-width: auto;
|
|
416
430
|
}
|
|
417
431
|
}
|
|
418
432
|
|
|
@@ -867,6 +867,7 @@ export default {
|
|
|
867
867
|
@click="hide()"
|
|
868
868
|
>
|
|
869
869
|
<router-link
|
|
870
|
+
v-if="a.value !== 'fleet'"
|
|
870
871
|
class="option"
|
|
871
872
|
:class="{'active-menu-link': a.isMenuActive }"
|
|
872
873
|
:to="a.to"
|
|
@@ -923,7 +924,7 @@ export default {
|
|
|
923
924
|
<div
|
|
924
925
|
class="footer"
|
|
925
926
|
>
|
|
926
|
-
<div
|
|
927
|
+
<!-- <div
|
|
927
928
|
v-if="canEditSettings"
|
|
928
929
|
class="support"
|
|
929
930
|
@click="hide()"
|
|
@@ -948,7 +949,7 @@ export default {
|
|
|
948
949
|
>
|
|
949
950
|
{{ aboutText }}
|
|
950
951
|
</router-link>
|
|
951
|
-
</div>
|
|
952
|
+
</div> -->
|
|
952
953
|
</div>
|
|
953
954
|
</div>
|
|
954
955
|
</transition>
|
package/components/nav/Type.vue
CHANGED
|
@@ -158,7 +158,7 @@ export default {
|
|
|
158
158
|
<div v-else style="display: flex; align-items: center;" class="labelKey_menu">
|
|
159
159
|
<i v-if="!type.labelDisplay || (type.labelDisplay && type.labelDisplay.indexOf('</i>') === -1)" class="icon icon-fw icon-globe" style="color: var(--muted);width: 32px;text-align: left;"></i>
|
|
160
160
|
<span
|
|
161
|
-
v-clean-html="type.labelDisplay
|
|
161
|
+
v-clean-html="type.labelDisplay || type.label"
|
|
162
162
|
class="label"
|
|
163
163
|
:class="{'no-icon': !type.icon}"
|
|
164
164
|
/>
|
|
@@ -215,7 +215,7 @@ export default {
|
|
|
215
215
|
:label="t('hpa.tabs.target')"
|
|
216
216
|
:weight="10"
|
|
217
217
|
>
|
|
218
|
-
<div class="row
|
|
218
|
+
<div class="row">
|
|
219
219
|
<div class="col span-6">
|
|
220
220
|
<LabeledSelect
|
|
221
221
|
v-model:value="value.spec.scaleTargetRef"
|
|
@@ -242,6 +242,8 @@ export default {
|
|
|
242
242
|
type="number"
|
|
243
243
|
/>
|
|
244
244
|
</div>
|
|
245
|
+
</div>
|
|
246
|
+
<div class="row">
|
|
245
247
|
<div class="col span-6">
|
|
246
248
|
<LabeledInput
|
|
247
249
|
v-model:value.number="value.spec.maxReplicas"
|