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.
Files changed (145) hide show
  1. package/assets/icons/iconfont.css +4 -1
  2. package/assets/images/pl/dark/logo.png +0 -0
  3. package/assets/styles/all.scss +3 -1
  4. package/assets/styles/base/_variables.scss +5 -5
  5. package/assets/styles/global/_button.scss +8 -8
  6. package/assets/styles/global/_select.scss +1 -1
  7. package/assets/styles/global/_tooltip.scss +9 -5
  8. package/assets/styles/themes/_light.scss +3 -1
  9. package/assets/styles/vendor/vue-select.scss +2 -1
  10. package/assets/translations/zh-hans.yaml +140 -11
  11. package/components/ActionDropdown.vue +1 -1
  12. package/components/ButtonDropdown.vue +3 -1
  13. package/components/CodeMirror.vue +6 -4
  14. package/components/ContainerResourceLimit.vue +2 -2
  15. package/components/CopyToClipboard.vue +15 -0
  16. package/components/Drawer/Chrome.vue +2 -2
  17. package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +30 -27
  18. package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +1 -1
  19. package/components/Drawer/ResourceDetailDrawer/index.vue +5 -4
  20. package/components/ExplorerMembers.vue +28 -4
  21. package/components/GlobalRoleBindings.vue +48 -112
  22. package/components/PodSecurityAdmission.vue +1 -1
  23. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +1 -3
  24. package/components/Resource/Detail/Metadata/KeyValue.vue +8 -4
  25. package/components/Resource/Detail/Metadata/index.vue +3 -1
  26. package/components/Resource/Detail/TitleBar/Title.vue +4 -3
  27. package/components/Resource/Detail/TitleBar/Top.vue +2 -0
  28. package/components/Resource/Detail/TitleBar/composables.ts +16 -1
  29. package/components/Resource/Detail/TitleBar/index.vue +113 -25
  30. package/components/ResourceDetail/Masthead/index.vue +1 -1
  31. package/components/ResourceDetail/Masthead/latest.vue +1 -1
  32. package/components/ResourceDetail/Masthead/legacy.vue +236 -165
  33. package/components/ResourceDetail/legacy.vue +44 -28
  34. package/components/ResourceList/Masthead.vue +11 -15
  35. package/components/SideNav.vue +1 -1
  36. package/components/SortableTable/index.vue +9 -4
  37. package/components/Tabbed/index.vue +6 -1
  38. package/components/auth/Principal.vue +42 -13
  39. package/components/auth/RoleDetailEdit.vue +11 -7
  40. package/components/breadcrumb/index.vue +124 -0
  41. package/components/form/ArrayList.vue +164 -147
  42. package/components/form/ArrayListGrouped.vue +3 -1
  43. package/components/form/ChangePassword.vue +1 -1
  44. package/components/form/Command.vue +4 -5
  45. package/components/form/Footer.vue +1 -0
  46. package/components/form/HealthCheck.vue +0 -2
  47. package/components/form/HookOption.vue +87 -58
  48. package/components/form/InputWithSelect.vue +8 -7
  49. package/components/form/KeyValue.vue +20 -2
  50. package/components/form/LabeledSelect.vue +6 -3
  51. package/components/form/Labels.vue +2 -2
  52. package/components/form/MatchExpressions.vue +3 -4
  53. package/components/form/Members/ClusterMembershipEditor.vue +1 -1
  54. package/components/form/Members/ClusterPermissionsEditor.vue +5 -5
  55. package/components/form/Members/MembershipEditor.vue +2 -2
  56. package/components/form/NameNsDescription.vue +1 -1
  57. package/components/form/Networking.vue +6 -9
  58. package/components/form/NodeAffinity.vue +29 -28
  59. package/components/form/PodAffinity.vue +23 -23
  60. package/components/form/Probe.vue +15 -11
  61. package/components/form/ResourceQuota/Namespace.vue +4 -4
  62. package/components/form/ResourceQuota/NamespaceRow.vue +11 -9
  63. package/components/form/ResourceQuota/Project.vue +4 -4
  64. package/components/form/ResourceQuota/ProjectRow.vue +36 -30
  65. package/components/form/ResourceSelector.vue +1 -1
  66. package/components/form/Security.vue +1 -3
  67. package/components/form/Select.vue +6 -1
  68. package/components/form/ServiceNameSelect.vue +2 -5
  69. package/components/form/ServicePorts.vue +149 -75
  70. package/components/form/Taints.vue +2 -1
  71. package/components/form/Tolerations.vue +12 -9
  72. package/components/form/ValueFromResource.vue +110 -96
  73. package/components/form/WorkloadPorts.vue +143 -123
  74. package/components/nav/Header.vue +3 -4
  75. package/components/nav/NamespaceFilter.vue +15 -21
  76. package/components/nav/TopLevelMenu.vue +99 -125
  77. package/components/nav/Type.vue +3 -3
  78. package/config/product/explorer.js +4 -1
  79. package/config/router/navigation-guards/index.js +52 -3
  80. package/detail/node.vue +28 -23
  81. package/dialog/AddCustomBadgeDialog.vue +17 -9
  82. package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +1 -1
  83. package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +9 -6
  84. package/edit/autoscaling.horizontalpodautoscaler/index.vue +3 -1
  85. package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +2 -2
  86. package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +7 -5
  87. package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +5 -3
  88. package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +2 -2
  89. package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
  90. package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +1 -1
  91. package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
  92. package/edit/networking.k8s.io.ingress/Certificate.vue +7 -5
  93. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
  94. package/edit/networking.k8s.io.ingress/Rule.vue +5 -11
  95. package/edit/networking.k8s.io.ingress/RulePath.vue +105 -96
  96. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +3 -3
  97. package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +4 -2
  98. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +12 -11
  99. package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
  100. package/edit/persistentvolume/index.vue +3 -1
  101. package/edit/persistentvolumeclaim.vue +2 -0
  102. package/edit/secret/index.vue +2 -2
  103. package/edit/service.vue +4 -1
  104. package/edit/storage.k8s.io.storageclass/index.vue +10 -8
  105. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +34 -27
  106. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +15 -13
  107. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +41 -39
  108. package/edit/workload/Job.vue +31 -34
  109. package/edit/workload/Upgrading.vue +5 -5
  110. package/edit/workload/index.vue +21 -17
  111. package/edit/workload/storage/Mount.vue +1 -0
  112. package/edit/workload/storage/awsElasticBlockStore.vue +9 -7
  113. package/edit/workload/storage/azureDisk.vue +14 -10
  114. package/edit/workload/storage/azureFile.vue +9 -7
  115. package/edit/workload/storage/csi/index.vue +6 -9
  116. package/edit/workload/storage/emptyDir.vue +7 -5
  117. package/edit/workload/storage/gcePersistentDisk.vue +9 -7
  118. package/edit/workload/storage/hostPath.vue +7 -5
  119. package/edit/workload/storage/nfs.vue +8 -6
  120. package/edit/workload/storage/persistentVolumeClaim/index.vue +12 -10
  121. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +20 -15
  122. package/edit/workload/storage/secret.vue +9 -6
  123. package/edit/workload/storage/vsphereVolume.vue +11 -7
  124. package/initialize/app-extended.js +7 -1
  125. package/package.json +1 -1
  126. package/pages/account/index.vue +95 -115
  127. package/pages/auth/setup.vue +35 -16
  128. package/pages/c/_cluster/auth/roles/index.vue +38 -5
  129. package/pages/c/_cluster/explorer/ConfigBadge.vue +1 -1
  130. package/pages/c/_cluster/explorer/tools/index.vue +6 -6
  131. package/pages/home.vue +3 -4
  132. package/pkg/tsconfig.json +9 -9
  133. package/pkg/vue.config.js +1 -1
  134. package/plugins/dashboard-store/resource-class.js +28 -27
  135. package/rancher-components/BadgeState/BadgeState.vue +33 -52
  136. package/rancher-components/Banner/Banner.vue +6 -3
  137. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +31 -2
  138. package/rancher-components/RcDropdown/RcDropdownMenu.vue +8 -7
  139. package/scripts/publish-shell.sh +1 -1
  140. package/store/i18n.js +4 -0
  141. package/store/type-map.js +1 -1
  142. package/types/shell/index.d.ts +4 -30
  143. package/utils/error.js +3 -1
  144. package/utils/errorTranslate.json +247 -2
  145. package/vue.config.js +1 -1
@@ -49,8 +49,8 @@ export default {
49
49
 
50
50
  <template>
51
51
  <div>
52
- <div class="row mb-20">
53
- <div class="col span-12">
52
+ <div class="row">
53
+ <div class="span-12">
54
54
  <ArrayListGrouped
55
55
  v-model:value="value.spec.behavior[type].policies"
56
56
  :add-label="t('hpa.scalingRule.addPolicy')"
@@ -59,7 +59,7 @@ export default {
59
59
  >
60
60
  <template #default="props">
61
61
  <div class="row">
62
- <div class="col span-4">
62
+ <div class="col">
63
63
  <LabeledSelect
64
64
  v-model:value="props.row.value.type"
65
65
  :mode="mode"
@@ -72,7 +72,9 @@ export default {
72
72
  :label="t('hpa.scalingRule.policy.type')"
73
73
  />
74
74
  </div>
75
- <div class="col span-4">
75
+ </div>
76
+ <div class="row">
77
+ <div class="col">
76
78
  <LabeledInput
77
79
  v-model:value.number="props.row.value.value"
78
80
  :mode="mode"
@@ -83,7 +85,9 @@ export default {
83
85
  :label="t('hpa.scalingRule.policy.value')"
84
86
  />
85
87
  </div>
86
- <div class="col span-4">
88
+ </div>
89
+ <div class="row">
90
+ <div class="col">
87
91
  <LabeledInput
88
92
  v-model:value.number="props.row.value.periodSeconds"
89
93
  :mode="mode"
@@ -125,6 +129,5 @@ export default {
125
129
  />
126
130
  </div>
127
131
  </div>
128
- <div class="row mb-40" />
129
132
  </div>
130
133
  </template>
@@ -215,7 +215,7 @@ export default {
215
215
  :label="t('hpa.tabs.target')"
216
216
  :weight="10"
217
217
  >
218
- <div class="row mb-20">
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"
@@ -51,8 +51,8 @@ export default {
51
51
 
52
52
  <template>
53
53
  <div class="col span-12">
54
- <div class="row mb-20">
55
- <div class="col span-6">
54
+ <div class="row">
55
+ <div class="col">
56
56
  <LabeledInput
57
57
  v-model:value="value.name"
58
58
  :mode="mode"
@@ -21,9 +21,9 @@ export default {
21
21
  </script>
22
22
 
23
23
  <template>
24
- <div class="col span-12">
25
- <div class="row mb-20">
26
- <div class="col span-6">
24
+ <div class="span-12">
25
+ <div class="row">
26
+ <div class="col">
27
27
  <LabeledInput
28
28
  v-model:value="value.apiVersion"
29
29
  :mode="mode"
@@ -33,7 +33,9 @@ export default {
33
33
  type="text"
34
34
  />
35
35
  </div>
36
- <div class="col span-6">
36
+ </div>
37
+ <div class="row">
38
+ <div class="col">
37
39
  <LabeledInput
38
40
  v-model:value="value.kind"
39
41
  :mode="mode"
@@ -45,7 +47,7 @@ export default {
45
47
  </div>
46
48
  </div>
47
49
  <div class="row">
48
- <div class="col span-6">
50
+ <div class="col">
49
51
  <LabeledInput
50
52
  v-model:value="value.name"
51
53
  :mode="mode"
@@ -149,7 +149,7 @@ export default {
149
149
  <template>
150
150
  <div class="metric-target">
151
151
  <div class="row">
152
- <div class="col span-6">
152
+ <div class="col">
153
153
  <LabeledSelect
154
154
  v-model:value="value.type"
155
155
  :mode="mode"
@@ -157,9 +157,11 @@ export default {
157
157
  :options="targetTypes"
158
158
  />
159
159
  </div>
160
+ </div>
161
+ <div class="row">
160
162
  <div
161
163
  v-if="isResourceMetricType"
162
- class="col span-6"
164
+ class="col"
163
165
  >
164
166
  <UnitInput
165
167
  v-if="value.type === 'Utilization'"
@@ -197,7 +199,7 @@ export default {
197
199
  </div>
198
200
  <div
199
201
  v-else
200
- class="col span-6"
202
+ class="col"
201
203
  >
202
204
  <LabeledInput
203
205
  v-model:value="quantity"
@@ -159,8 +159,8 @@ export default {
159
159
  :label="t('hpa.warnings.resource')"
160
160
  color="warning"
161
161
  />
162
- <div class="row mb-20">
163
- <div class="col span-6">
162
+ <div class="row">
163
+ <div class="col">
164
164
  <LabeledSelect
165
165
  v-model:value="value.type"
166
166
  :reduce="(val) => val.label"
@@ -48,14 +48,14 @@ export default {
48
48
 
49
49
  <template>
50
50
  <div>
51
- <div class="row mb-20">
51
+ <div class="row">
52
52
  <MetricTarget
53
53
  v-model:value="value.target"
54
54
  :mode="mode"
55
55
  metric-resource="object"
56
56
  />
57
57
  </div>
58
- <div class="row mb-20">
58
+ <div class="row">
59
59
  <MetricObjectReference
60
60
  v-model:value="value.describedObject"
61
61
  :mode="mode"
@@ -41,7 +41,7 @@ export default {
41
41
 
42
42
  <template>
43
43
  <div>
44
- <div class="row mb-20">
44
+ <div class="row">
45
45
  <MetricTarget
46
46
  v-model:value="value.target"
47
47
  :mode="mode"
@@ -43,8 +43,8 @@ export default {
43
43
 
44
44
  <template>
45
45
  <div class="resource-metric">
46
- <div class="row mb-20">
47
- <div class="col span-6">
46
+ <div class="row">
47
+ <div class="col">
48
48
  <LabeledSelect
49
49
  v-model:value="value.name"
50
50
  :mode="mode"
@@ -89,10 +89,10 @@ export default {
89
89
 
90
90
  <template>
91
91
  <div
92
- class="cert row"
92
+ class="cert row mb-10"
93
93
  @update:value="update"
94
94
  >
95
- <div class="col span-6">
95
+ <div>
96
96
  <LabeledSelect
97
97
  v-model:value="secretVal"
98
98
  class="secret-name"
@@ -107,7 +107,9 @@ export default {
107
107
  @update:value="onSecretInput"
108
108
  />
109
109
  </div>
110
- <div class="col span-6">
110
+ </div>
111
+ <div class="row">
112
+ <div style="padding-left: 160px;">
111
113
  <ArrayList
112
114
  :value="hosts"
113
115
  :add-label="t('ingress.certificates.addHost')"
@@ -135,8 +137,8 @@ export default {
135
137
  }
136
138
 
137
139
  &:not(:last-of-type) {
138
- padding-bottom: 10px;
139
- margin-bottom: 30px;
140
+ // padding-bottom: 10px;
141
+ // margin-bottom: 30px;
140
142
  }
141
143
  }
142
144
  </style>
@@ -96,7 +96,7 @@ export default {
96
96
  v-if="serviceName || !isView"
97
97
  class="row"
98
98
  >
99
- <div class="col span-4">
99
+ <div class="col span-6">
100
100
  <LabeledSelect
101
101
  v-model:value="serviceName"
102
102
  :taggable="true"
@@ -111,7 +111,7 @@ export default {
111
111
  />
112
112
  </div>
113
113
  <div
114
- class="col span-3"
114
+ class="col span-6"
115
115
  :style="{'margin-right': '0px'}"
116
116
  >
117
117
  <LabeledInput
@@ -107,10 +107,10 @@ export default {
107
107
 
108
108
  <template>
109
109
  <div class="rule">
110
- <div class="row mb-20">
110
+ <div class="row">
111
111
  <div
112
112
  id="host"
113
- class="col span-6"
113
+ class="col"
114
114
  >
115
115
  <LabeledInput
116
116
  ref="host"
@@ -121,12 +121,8 @@ export default {
121
121
  @update:value="update"
122
122
  />
123
123
  </div>
124
- <div
125
- id="spacer"
126
- class="col span-5"
127
- />
128
124
  </div>
129
- <div class="rule-path-headings row">
125
+ <!-- <div class="rule-path-headings row">
130
126
  <div
131
127
  class="col"
132
128
  :class="{'span-6': ingress.showPathType, 'span-4': !ingress.showPathType}"
@@ -134,20 +130,18 @@ export default {
134
130
  <label>{{ t("ingress.rules.path.label") }}</label>
135
131
  </div>
136
132
  <div
137
- class="col"
138
133
  :class="{'span-3': ingress.showPathType, 'span-4': !ingress.showPathType}"
139
134
  >
140
135
  <label>{{ t("ingress.rules.target.label") }}</label>
141
136
  </div>
142
137
  <div
143
- class="col"
144
138
  :class="{'span-2': ingress.showPathType, 'span-3': !ingress.showPathType}"
145
139
  :style="{ 'margin-right': '0px' }"
146
140
  >
147
141
  <label>{{ t("ingress.rules.port.label") }}</label>
148
142
  </div>
149
143
  <div class="col" />
150
- </div>
144
+ </div> -->
151
145
  <template
152
146
  v-for="(path, i) in paths"
153
147
  :key="path.id"
@@ -155,7 +149,7 @@ export default {
155
149
  <RulePath
156
150
  ref="paths"
157
151
  v-model:value="paths[i]"
158
- class="row mb-10"
152
+ class="row"
159
153
  :rule-mode="ruleMode"
160
154
  :service-targets="serviceTargets"
161
155
  :ingress="ingress"
@@ -107,118 +107,127 @@ export default {
107
107
  };
108
108
  </script>
109
109
  <template>
110
- <div class="rule-path row">
111
- <div
112
- v-if="ingress.showPathType"
113
- class="col span-6"
114
- >
115
- <InputWithSelect
116
- ref="first"
117
- class="path-type"
118
- :options="pathTypes"
119
- :placeholder="t('ingress.rules.path.placeholder', undefined, true)"
120
- :select-value="value.pathType"
121
- :text-value="value.path"
122
- :searchable="false"
123
- :text-rules="rules.path"
124
- @update:value="queueUpdatePathTypeAndPath"
125
- />
126
- </div>
127
- <div
128
- v-else
129
- class="col span-4"
130
- >
131
- <input
132
- ref="first"
133
- v-model="path"
134
- :placeholder="t('ingress.rules.path.placeholder', undefined, true)"
135
- @input="queueUpdate"
110
+ <div class="rule-path" style="display: block;">
111
+ <div class="row">
112
+ <button
113
+ class="btn btn-sm role-link remove"
114
+ @click="remove"
136
115
  >
116
+ {{ t('ingress.rules.removePath') }}
117
+ </button>
118
+ </div>
119
+ <div class="flex col">
120
+ <div class="label">{{ t("ingress.rules.target.label") }}</div>
121
+ <div class="service">
122
+ <Select
123
+ v-model:value="serviceName"
124
+ :options="serviceTargets"
125
+ :status="serviceTargetStatus"
126
+ :taggable="true"
127
+ :searchable="true"
128
+ :tooltip="serviceTargetTooltip"
129
+ :hover-tooltip="true"
130
+ @update:value="servicePort = ''; queueUpdate();"
131
+ />
132
+ </div>
137
133
  </div>
138
- <div
139
- class="col"
140
- :class="{'span-3': ingress.showPathType, 'span-4': !ingress.showPathType}"
141
- >
142
- <Select
143
- v-model:value="serviceName"
144
- :options="serviceTargets"
145
- :status="serviceTargetStatus"
146
- :taggable="true"
147
- :searchable="true"
148
- :tooltip="serviceTargetTooltip"
149
- :hover-tooltip="true"
150
- @update:value="servicePort = ''; queueUpdate();"
151
- />
134
+ <div class="flex col">
135
+ <div class="label">{{ t("ingress.rules.port.label") }}</div>
136
+ <div>
137
+ <LabeledInput
138
+ v-if="portOptions.length === 0"
139
+ v-model:value="servicePort"
140
+ class="fullHeightInput"
141
+ :placeholder="t('ingress.rules.port.placeholder')"
142
+ :rules="rules.port"
143
+ @update:value="queueUpdate"
144
+ />
145
+ <Select
146
+ v-else
147
+ v-model:value="servicePort"
148
+ :options="portOptions"
149
+ :placeholder="t('ingress.rules.port.placeholder')"
150
+ :rules="rules.port"
151
+ @update:value="queueUpdate"
152
+ />
153
+ </div>
152
154
  </div>
153
- <div
154
- class="col"
155
- :class="{'span-2': ingress.showPathType, 'span-3': !ingress.showPathType}"
156
- :style="{'margin-right': '0px'}"
157
- >
158
- <LabeledInput
159
- v-if="portOptions.length === 0"
160
- v-model:value="servicePort"
161
- class="fullHeightInput"
162
- :placeholder="t('ingress.rules.port.placeholder')"
163
- :rules="rules.port"
164
- @update:value="queueUpdate"
165
- />
166
- <Select
167
- v-else
168
- v-model:value="servicePort"
169
- :options="portOptions"
170
- :placeholder="t('ingress.rules.port.placeholder')"
171
- :rules="rules.port"
172
- @update:value="queueUpdate"
173
- />
155
+ <div class="flex" :style="{marginBottom: !ingress.showPathType ? '24px': '' }">
156
+ <div class="label">
157
+ <div style="padding-bottom: 43px;" v-if="ingress.showPathType">
158
+ 匹配模式
159
+ </div>
160
+ <div :style="{paddingBottom: ingress.showPathType ? '15px' : ''}">
161
+ {{ t("ingress.rules.path.label") }}
162
+ </div>
163
+ </div>
164
+ <div
165
+ v-if="ingress.showPathType"
166
+ class="path_row"
167
+ >
168
+ <InputWithSelect
169
+ ref="first"
170
+ class="path-type"
171
+ :options="pathTypes"
172
+ :placeholder="t('ingress.rules.path.placeholder', undefined, true)"
173
+ :select-value="value.pathType"
174
+ :text-value="value.path"
175
+ :searchable="false"
176
+ :text-rules="rules.path"
177
+ @update:value="queueUpdatePathTypeAndPath"
178
+ />
179
+ </div>
180
+ <div v-else class="path_row2">
181
+ <input
182
+ ref="first"
183
+ v-model="path"
184
+ :placeholder="t('ingress.rules.path.placeholder', undefined, true)"
185
+ @input="queueUpdate"
186
+ >
187
+ </div>
174
188
  </div>
175
- <button
176
- class="btn btn-sm role-link col"
177
- @click="remove"
178
- >
179
- {{ t('ingress.rules.removePath') }}
180
- </button>
181
189
  </div>
182
190
  </template>
183
191
  <style lang="scss" scoped>
184
192
  // TODO #11952: Correct deep statement
185
- $row-height: 40px;
186
- .rule-path {
187
- :deep(.labeled-input) {
188
- padding: 0 !important;
189
- height: 100%;
190
-
191
- input.no-label {
192
- height: calc($row-height - 2px);
193
- padding: 10px;
194
- }
195
- }
196
-
197
- :deep(.col), INPUT {
198
- height: $row-height;
193
+ ::v-deep .input-container{
194
+ display: flex !important;
195
+ .unlabeled-select{
196
+ height: 34px !important;
199
197
  }
200
- &, :deep(.input-container) {
201
- height: $row-height;
198
+ .in-input.unlabeled-select{
199
+ margin-right: -1px;
200
+ margin-bottom: 24px;
201
+ width: 400px;
202
202
  }
203
+ }
203
204
 
204
- :deep(.input-container) :deep(.in-input.unlabeled-select) {
205
- width: initial;
206
- }
205
+ .flex{
206
+ display: flex;
207
+ align-items: center;
207
208
 
208
- button {
209
- line-height: $row-height;
209
+ .label{
210
+ min-width: 160px;
210
211
  }
212
+ }
211
213
 
212
- :deep(.v-select) INPUT {
213
- height: 50px;
214
- }
215
- :deep(.labeled-input) {
216
- padding-top: 6px;
214
+ ::v-deep .path_row{
215
+ width: 800px;
216
+ .input-container{
217
+ flex-direction: column;
217
218
  }
218
219
 
219
- :deep(.unlabeled-select) {
220
- height: 100%;
221
- min-width: 200px;
220
+ .labeled-container{
221
+ width: 0px !important;
222
222
  }
223
223
  }
224
+
225
+ .path_row2{
226
+ width: 400px;
227
+ }
228
+
229
+ .remove{
230
+ padding: 0px;
231
+ min-width: auto;
232
+ }
224
233
  </style>
@@ -40,8 +40,8 @@ export default {
40
40
 
41
41
  <template>
42
42
  <div class="rule">
43
- <div class="row mb-40">
44
- <div class="col span-12">
43
+ <div class="row">
44
+ <div class="span-12">
45
45
  <h2>
46
46
  {{ t(`networkpolicy.${type}.ruleLabel`) }}
47
47
  <i
@@ -68,7 +68,7 @@ export default {
68
68
  </ArrayListGrouped>
69
69
  </div>
70
70
  </div>
71
- <div class="row mb-20">
71
+ <div class="row">
72
72
  <div class="col span-12">
73
73
  <h2>
74
74
  {{ t('networkpolicy.rules.ports.label') }}
@@ -26,7 +26,7 @@ export default {
26
26
 
27
27
  <template>
28
28
  <div class="row">
29
- <div class="col span-4">
29
+ <div class="col">
30
30
  <LabeledInput
31
31
  v-model:value.number="value.port"
32
32
  :mode="mode"
@@ -37,7 +37,9 @@ export default {
37
37
  :label="t('networkpolicy.rules.ports.port.label')"
38
38
  />
39
39
  </div>
40
- <div class="col span-4">
40
+ </div>
41
+ <div class="row">
42
+ <div class="col">
41
43
  <LabeledSelect
42
44
  v-model:value="value.protocol"
43
45
  :mode="mode"
@@ -221,8 +221,8 @@ export default {
221
221
 
222
222
  <template>
223
223
  <div class="rule">
224
- <div class="row mb-20">
225
- <div class="col span-6">
224
+ <div class="row">
225
+ <div class="col">
226
226
  <LabeledSelect
227
227
  v-model:value="targetType"
228
228
  data-testid="policy-rule-target-type-labeled-select"
@@ -236,7 +236,7 @@ export default {
236
236
  </div>
237
237
  <div v-if="targetType === TARGET_OPTIONS.IP_BLOCK">
238
238
  <div class="row">
239
- <div class="col span-6">
239
+ <div class="col">
240
240
  <LabeledInput
241
241
  v-model:value="value[TARGET_OPTIONS.IP_BLOCK].cidr"
242
242
  data-testid="labeled-input-ip-block-selector"
@@ -250,14 +250,15 @@ export default {
250
250
  v-if="invalidCidr"
251
251
  class="row"
252
252
  >
253
- <div class="col span-12">
253
+ <div class="col">
254
254
  <Banner color="error">
255
255
  <t k="networkpolicy.rules.ipBlock.invalidCidr" />
256
256
  </Banner>
257
257
  </div>
258
258
  </div>
259
- <div class="row mt-20">
260
- <div class="col span-12">
259
+ <div class="row">
260
+ <div class="col" style="display: flex;">
261
+ <div style="min-width: 160px;"></div>
261
262
  <ArrayList
262
263
  v-model:value="value[TARGET_OPTIONS.IP_BLOCK].except"
263
264
  :add-label="t('networkpolicy.rules.ipBlock.addExcept')"
@@ -281,7 +282,7 @@ export default {
281
282
  </div>
282
283
  <div v-if="targetType === TARGET_OPTIONS.POD_SELECTOR">
283
284
  <div class="row">
284
- <div class="col span-12">
285
+ <div class="span-12">
285
286
  <Banner color="success">
286
287
  <span v-clean-html="t('networkpolicy.selectors.matchingPods.matchesSome', matchingPods)" />
287
288
  </Banner>
@@ -302,7 +303,7 @@ export default {
302
303
  </div>
303
304
  <div v-if="targetType === TARGET_OPTIONS.NAMESPACE_SELECTOR">
304
305
  <div class="row">
305
- <div class="col span-12">
306
+ <div class="span-12">
306
307
  <Banner color="success">
307
308
  <span
308
309
  v-clean-html="t('networkpolicy.selectors.matchingNamespaces.matchesSome', matchingNamespaces)"
@@ -326,7 +327,7 @@ export default {
326
327
  </div>
327
328
  <div v-if="targetType === TARGET_OPTIONS.NAMESPACE_AND_POD_SELECTOR">
328
329
  <div class="row">
329
- <div class="col span-12">
330
+ <div class="span-12">
330
331
  <Banner color="success">
331
332
  <span
332
333
  v-if="!namespaceSelectorExpressions.length"
@@ -345,7 +346,7 @@ export default {
345
346
  {{ t('networkpolicy.rules.namespace') }}
346
347
  </span>
347
348
  </div>
348
- <div class="col span-11">
349
+ <div class="col">
349
350
  <MatchExpressions
350
351
  v-model:value="namespaceSelectorExpressions"
351
352
  data-testid="match-expression-namespace-and-pod-selector-ns-rule"
@@ -364,7 +365,7 @@ export default {
364
365
  {{ t('networkpolicy.rules.pod') }}
365
366
  </span>
366
367
  </div>
367
- <div class="col span-11">
368
+ <div class="col">
368
369
  <MatchExpressions
369
370
  v-model:value="podSelectorExpressions"
370
371
  data-testid="match-expression-namespace-and-pod-selector-pod-rule"
@@ -252,7 +252,7 @@ export default {
252
252
  </div>
253
253
  </div>
254
254
  <div class="row">
255
- <div class="col span-12">
255
+ <div class="span-12">
256
256
  <Banner color="success">
257
257
  <span v-clean-html="t('networkpolicy.selectors.matchingPods.matchesSome', matchingPods)" />
258
258
  </Banner>