dashboard-shell-shell 3.0.5-test.6 → 3.0.5-test.60

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 (348) hide show
  1. package/assets/brand/csp/favicon.png +0 -0
  2. package/assets/brand/harvester/favicon.png +0 -0
  3. package/assets/brand/suse/favicon.png +0 -0
  4. package/assets/icons/demo.css +539 -0
  5. package/assets/icons/demo.css:Zone.Identifier +0 -0
  6. package/assets/icons/demo_index.html +1131 -0
  7. package/assets/icons/demo_index.html:Zone.Identifier +0 -0
  8. package/assets/icons/iconfont.css +219 -0
  9. package/assets/icons/iconfont.css:Zone.Identifier +0 -0
  10. package/assets/icons/iconfont.js +1 -0
  11. package/assets/icons/iconfont.js:Zone.Identifier +0 -0
  12. package/assets/icons/iconfont.json +324 -0
  13. package/assets/icons/iconfont.json:Zone.Identifier +0 -0
  14. package/assets/icons/iconfont.ttf +0 -0
  15. package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
  16. package/assets/icons/iconfont.woff +0 -0
  17. package/assets/icons/iconfont.woff2 +0 -0
  18. package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
  19. package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
  20. package/assets/iconsNew/demo.css +539 -0
  21. package/assets/iconsNew/demo.css:Zone.Identifier +0 -0
  22. package/assets/iconsNew/demo_index.html +303 -0
  23. package/assets/iconsNew/demo_index.html:Zone.Identifier +0 -0
  24. package/assets/iconsNew/iconfont.css +43 -0
  25. package/assets/iconsNew/iconfont.css:Zone.Identifier +0 -0
  26. package/assets/iconsNew/iconfont.js +1 -0
  27. package/assets/iconsNew/iconfont.js:Zone.Identifier +0 -0
  28. package/assets/iconsNew/iconfont.json +44 -0
  29. package/assets/iconsNew/iconfont.json:Zone.Identifier +0 -0
  30. package/assets/iconsNew/iconfont.ttf +0 -0
  31. package/assets/iconsNew/iconfont.ttf:Zone.Identifier +0 -0
  32. package/assets/iconsNew/iconfont.woff +0 -0
  33. package/assets/iconsNew/iconfont.woff2 +0 -0
  34. package/assets/iconsNew/iconfont.woff2:Zone.Identifier +0 -0
  35. package/assets/iconsNew/iconfont.woff:Zone.Identifier +0 -0
  36. package/assets/images/API.svg +3 -0
  37. package/assets/images/action.svg +6 -0
  38. package/assets/images/login/password.svg +20 -0
  39. package/assets/images/login/user.svg +6 -0
  40. package/assets/images/login-bg.png +0 -0
  41. package/assets/images/login-left.png +0 -0
  42. package/assets/images/login-logo.svg +19 -0
  43. package/assets/images/logo.png +0 -0
  44. package/assets/images/pl/dark/logo.png +0 -0
  45. package/assets/images/pl/half-logo.svg +2 -23
  46. package/assets/images/pl/harvester.png +0 -0
  47. package/assets/images/pl/logo.png +0 -0
  48. package/assets/images/promp-yellow.svg +5 -0
  49. package/assets/images/user.png +0 -0
  50. package/assets/styles/all.scss +83 -0
  51. package/assets/styles/app.scss +5 -0
  52. package/assets/styles/base/_basic.scss +2 -2
  53. package/assets/styles/base/_helpers.scss +1 -1
  54. package/assets/styles/base/_mixins.scss +1 -1
  55. package/assets/styles/base/_typography.scss +2 -1
  56. package/assets/styles/base/_variables.scss +14 -7
  57. package/assets/styles/fonts/_icons.scss +3 -2
  58. package/assets/styles/global/_button.scss +44 -26
  59. package/assets/styles/global/_columns.scss +3 -1
  60. package/assets/styles/global/_form.scss +46 -13
  61. package/assets/styles/global/_labeled-input.scss +54 -26
  62. package/assets/styles/global/_layout.scss +8 -3
  63. package/assets/styles/global/_select.scss +25 -17
  64. package/assets/styles/global/_table.scss +7 -1
  65. package/assets/styles/global/_tooltip.scss +60 -8
  66. package/assets/styles/themes/_dark.scss +3 -0
  67. package/assets/styles/themes/_light.scss +69 -46
  68. package/assets/styles/vendor/vue-select.scss +24 -10
  69. package/assets/translations/en-us.yaml +92 -4
  70. package/assets/translations/zh-hans.yaml +656 -206
  71. package/components/ActionDropdown.vue +2 -1
  72. package/components/ActionMenu.vue +2 -2
  73. package/components/ActionMenuShell.vue +2 -0
  74. package/components/AppModal.vue +46 -5
  75. package/components/BrandImage.vue +1 -0
  76. package/components/ButtonDropdown.vue +28 -4
  77. package/components/ButtonMultiAction.vue +1 -0
  78. package/components/ClusterIconMenu.vue +2 -2
  79. package/components/CodeMirror.vue +26 -10
  80. package/components/ConsumptionGauge.vue +24 -5
  81. package/components/ContainerResourceLimit.vue +2 -2
  82. package/components/CopyToClipboard.vue +15 -0
  83. package/components/CruResource.vue +12 -10
  84. package/components/CruResourceFooter.vue +2 -2
  85. package/components/DashboardOptions.vue +29 -17
  86. package/components/DotState.vue +84 -0
  87. package/components/Drawer/Chrome.vue +2 -2
  88. package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +30 -27
  89. package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +1 -1
  90. package/components/Drawer/ResourceDetailDrawer/index.vue +5 -4
  91. package/components/ExplorerMembers.vue +28 -4
  92. package/components/ExplorerProjectsNamespaces.vue +19 -5
  93. package/components/GlobalRoleBindings.vue +23 -4
  94. package/components/GrafanaDashboard.vue +4 -4
  95. package/components/GrowlManager.vue +3 -1
  96. package/components/HardwareResourceGauge.vue +39 -3
  97. package/components/IndentedPanel.vue +4 -10
  98. package/components/InfoBox.vue +3 -3
  99. package/components/InputOrDisplay.vue +28 -2
  100. package/components/LabelValue.vue +20 -1
  101. package/components/ModalWithCard.vue +12 -3
  102. package/components/PodSecurityAdmission.vue +2 -2
  103. package/components/PromptModal.vue +1 -1
  104. package/components/PromptRemove.vue +53 -12
  105. package/components/RelatedResources.vue +3 -0
  106. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +1 -3
  107. package/components/Resource/Detail/Metadata/KeyValue.vue +8 -4
  108. package/components/Resource/Detail/Metadata/index.vue +3 -1
  109. package/components/Resource/Detail/TitleBar/Title.vue +4 -3
  110. package/components/Resource/Detail/TitleBar/Top.vue +2 -0
  111. package/components/Resource/Detail/TitleBar/composables.ts +16 -1
  112. package/components/Resource/Detail/TitleBar/index.vue +125 -27
  113. package/components/ResourceDetail/Masthead/index.vue +1 -1
  114. package/components/ResourceDetail/Masthead/latest.vue +1 -1
  115. package/components/ResourceDetail/Masthead/legacy.vue +183 -39
  116. package/components/ResourceDetail/legacy.vue +47 -29
  117. package/components/ResourceList/Masthead.vue +222 -54
  118. package/components/ResourceList/ResourceLoadingIndicator.vue +5 -2
  119. package/components/ResourceTable.vue +40 -2
  120. package/components/SideNav.vue +74 -20
  121. package/components/SingleClusterInfo.vue +2 -1
  122. package/components/SortableTable/THead.vue +79 -4
  123. package/components/SortableTable/index.vue +1053 -464
  124. package/components/SortableTable/paging.js +26 -16
  125. package/components/SortableTable/selection.js +2 -2
  126. package/components/Tabbed/Tab.vue +3 -3
  127. package/components/Tabbed/index.vue +53 -30
  128. package/components/YamlEditor.vue +0 -1
  129. package/components/auth/Principal.vue +51 -19
  130. package/components/auth/RoleDetailEdit.vue +69 -14
  131. package/components/auth/SelectPrincipal.vue +1 -0
  132. package/components/breadcrumb/index.vue +119 -0
  133. package/components/form/ArrayList.vue +177 -152
  134. package/components/form/ArrayListGrouped.vue +13 -3
  135. package/components/form/ArrayListSelect.vue +1 -1
  136. package/components/form/BannerSettings.vue +64 -59
  137. package/components/form/ChangePassword.vue +5 -5
  138. package/components/form/ClusterAppearance.vue +4 -3
  139. package/components/form/ColorInput.vue +32 -8
  140. package/components/form/Command.vue +4 -5
  141. package/components/form/Conditions.vue +15 -1
  142. package/components/form/Footer.vue +12 -8
  143. package/components/form/HealthCheck.vue +0 -2
  144. package/components/form/HookOption.vue +87 -58
  145. package/components/form/InputWithSelect.vue +8 -4
  146. package/components/form/KeyValue.vue +66 -8
  147. package/components/form/LabeledSelect.vue +216 -242
  148. package/components/form/Labels.vue +4 -4
  149. package/components/form/MatchExpressions.vue +28 -11
  150. package/components/form/Members/ClusterMembershipEditor.vue +1 -1
  151. package/components/form/Members/ClusterPermissionsEditor.vue +61 -43
  152. package/components/form/Members/MembershipEditor.vue +4 -4
  153. package/components/form/Members/ProjectMembershipEditor.vue +1 -1
  154. package/components/form/NameNsDescription.vue +76 -21
  155. package/components/form/Networking.vue +6 -9
  156. package/components/form/NodeAffinity.vue +29 -28
  157. package/components/form/Password.vue +16 -7
  158. package/components/form/PodAffinity.vue +24 -25
  159. package/components/form/Probe.vue +15 -11
  160. package/components/form/ProjectMemberEditor.vue +66 -48
  161. package/components/form/ResourceQuota/Namespace.vue +4 -4
  162. package/components/form/ResourceQuota/NamespaceRow.vue +26 -23
  163. package/components/form/ResourceQuota/Project.vue +4 -4
  164. package/components/form/ResourceQuota/ProjectRow.vue +38 -35
  165. package/components/form/ResourceSelector.vue +1 -1
  166. package/components/form/SecretSelector.vue +24 -23
  167. package/components/form/Security.vue +1 -3
  168. package/components/form/Select.vue +12 -3
  169. package/components/form/ServiceNameSelect.vue +2 -5
  170. package/components/form/ServicePorts.vue +149 -75
  171. package/components/form/SimpleSecretSelector.vue +29 -9
  172. package/components/form/Taints.vue +2 -1
  173. package/components/form/Tolerations.vue +13 -9
  174. package/components/form/UnitInput.vue +8 -3
  175. package/components/form/ValueFromResource.vue +110 -96
  176. package/components/form/WorkloadPorts.vue +143 -123
  177. package/components/formatter/BadgeStateFormatter.vue +8 -5
  178. package/components/formatter/LiveDate.vue +3 -3
  179. package/components/formatter/WorkloadHealthScale.vue +4 -3
  180. package/components/nav/Favorite.vue +5 -1
  181. package/components/nav/Group.vue +139 -99
  182. package/components/nav/Header.vue +127 -150
  183. package/components/nav/HeaderPageActionMenu.vue +1 -0
  184. package/components/nav/NamespaceFilter.vue +34 -36
  185. package/components/nav/TopLevelMenu.vue +62 -25
  186. package/components/nav/Type.vue +73 -43
  187. package/composables/useClickOutside.ts +1 -1
  188. package/config/menuRouteMap.js +10 -0
  189. package/config/private-label.js +15 -11
  190. package/config/product/auth.js +17 -7
  191. package/config/product/explorer.js +32 -10
  192. package/config/product/manager.js +28 -17
  193. package/config/product/settings.js +19 -9
  194. package/config/product/uiplugins.js +13 -10
  195. package/config/router/navigation-guards/index.js +61 -3
  196. package/config/settings.ts +28 -0
  197. package/config/table-headers.js +3 -2
  198. package/detail/node.vue +28 -23
  199. package/dialog/AddCustomBadgeDialog.vue +17 -9
  200. package/dialog/ForceMachineRemoveDialog.vue +2 -2
  201. package/dialog/RollbackWorkloadDialog.vue +1 -1
  202. package/dialog/ScalePoolDownDialog.vue +2 -2
  203. package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +1 -1
  204. package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +9 -6
  205. package/edit/autoscaling.horizontalpodautoscaler/index.vue +3 -1
  206. package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +2 -2
  207. package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +7 -5
  208. package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +5 -3
  209. package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +2 -2
  210. package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
  211. package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +1 -1
  212. package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
  213. package/edit/configmap.vue +4 -0
  214. package/edit/logging-flow/index.vue +1 -2
  215. package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +3 -3
  216. package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +19 -19
  217. package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +23 -23
  218. package/edit/logging.banzaicloud.io.output/providers/datadog.vue +19 -19
  219. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +14 -14
  220. package/edit/logging.banzaicloud.io.output/providers/forward.vue +12 -12
  221. package/edit/logging.banzaicloud.io.output/providers/gcs.vue +23 -23
  222. package/edit/logging.banzaicloud.io.output/providers/gelf.vue +6 -6
  223. package/edit/logging.banzaicloud.io.output/providers/kafka.vue +10 -10
  224. package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +8 -8
  225. package/edit/logging.banzaicloud.io.output/providers/logdna.vue +17 -17
  226. package/edit/logging.banzaicloud.io.output/providers/logz.vue +7 -7
  227. package/edit/logging.banzaicloud.io.output/providers/loki.vue +12 -12
  228. package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +3 -3
  229. package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +14 -14
  230. package/edit/logging.banzaicloud.io.output/providers/redis.vue +6 -6
  231. package/edit/logging.banzaicloud.io.output/providers/s3.vue +23 -23
  232. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +13 -13
  233. package/edit/logging.banzaicloud.io.output/providers/sumologic.vue +2 -2
  234. package/edit/logging.banzaicloud.io.output/providers/syslog.vue +54 -54
  235. package/edit/management.cattle.io.user.vue +17 -4
  236. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
  237. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +31 -31
  238. package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +36 -12
  239. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
  240. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
  241. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
  242. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
  243. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
  244. package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
  245. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
  246. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
  247. package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
  248. package/edit/namespace.vue +1 -2
  249. package/edit/networking.k8s.io.ingress/Certificate.vue +14 -5
  250. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
  251. package/edit/networking.k8s.io.ingress/Rule.vue +5 -11
  252. package/edit/networking.k8s.io.ingress/RulePath.vue +105 -96
  253. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +3 -3
  254. package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +4 -2
  255. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +12 -11
  256. package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
  257. package/edit/persistentvolume/index.vue +3 -1
  258. package/edit/persistentvolumeclaim.vue +2 -0
  259. package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +1 -1
  260. package/edit/secret/index.vue +2 -2
  261. package/edit/service.vue +4 -1
  262. package/edit/storage.k8s.io.storageclass/index.vue +10 -8
  263. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +34 -27
  264. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +15 -13
  265. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +41 -39
  266. package/edit/token.vue +31 -12
  267. package/edit/workload/Job.vue +31 -34
  268. package/edit/workload/Upgrading.vue +5 -5
  269. package/edit/workload/index.vue +22 -18
  270. package/edit/workload/storage/Mount.vue +1 -0
  271. package/edit/workload/storage/awsElasticBlockStore.vue +9 -7
  272. package/edit/workload/storage/azureDisk.vue +14 -10
  273. package/edit/workload/storage/azureFile.vue +9 -7
  274. package/edit/workload/storage/csi/index.vue +6 -9
  275. package/edit/workload/storage/emptyDir.vue +7 -5
  276. package/edit/workload/storage/gcePersistentDisk.vue +9 -7
  277. package/edit/workload/storage/hostPath.vue +7 -5
  278. package/edit/workload/storage/nfs.vue +8 -6
  279. package/edit/workload/storage/persistentVolumeClaim/index.vue +12 -10
  280. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +20 -15
  281. package/edit/workload/storage/secret.vue +9 -6
  282. package/edit/workload/storage/vsphereVolume.vue +11 -7
  283. package/initialize/app-extended.js +7 -1
  284. package/list/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +8 -6
  285. package/list/management.cattle.io.setting.vue +22 -13
  286. package/list/management.cattle.io.user.vue +7 -3
  287. package/list/namespace.vue +3 -0
  288. package/list/provisioning.cattle.io.cluster.vue +6 -7
  289. package/mixins/brand.js +17 -0
  290. package/mixins/create-edit-view/impl.js +10 -0
  291. package/models/provisioning.cattle.io.cluster.js +19 -18
  292. package/models/workload.js +2 -2
  293. package/package.json +1 -1
  294. package/pages/account/index.vue +93 -58
  295. package/pages/account/pri.vue +229 -0
  296. package/pages/auth/login.vue +220 -52
  297. package/pages/auth/setup.vue +175 -33
  298. package/pages/c/_cluster/_product/namespaces.vue +5 -5
  299. package/pages/c/_cluster/auth/roles/index.vue +83 -8
  300. package/pages/c/_cluster/explorer/ConfigBadge.vue +1 -1
  301. package/pages/c/_cluster/explorer/index.vue +2 -1
  302. package/pages/c/_cluster/explorer/tools/index.vue +6 -6
  303. package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
  304. package/pages/c/_cluster/settings/banners.vue +174 -102
  305. package/pages/c/_cluster/settings/brand.vue +350 -302
  306. package/pages/c/_cluster/settings/performance.vue +61 -38
  307. package/pages/home.vue +119 -37
  308. package/pages/prefs.vue +27 -25
  309. package/pkg/tsconfig.json +9 -9
  310. package/pkg/vue.config.js +1 -1
  311. package/plugins/dashboard-store/actions.js +1 -1
  312. package/plugins/dashboard-store/resource-class.js +28 -27
  313. package/promptRemove/mixin/roleDeletionCheck.js +2 -2
  314. package/public/index.html +4 -4
  315. package/rancher-components/BadgeState/BadgeState.vue +38 -55
  316. package/rancher-components/Banner/Banner.vue +25 -9
  317. package/rancher-components/Card/Card.vue +7 -8
  318. package/rancher-components/Form/Checkbox/Checkbox.vue +4 -0
  319. package/rancher-components/Form/LabeledInput/LabeledInput.vue +42 -3
  320. package/rancher-components/Form/Radio/RadioButton.vue +35 -11
  321. package/rancher-components/Form/Radio/RadioGroup.vue +22 -6
  322. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
  323. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +1 -0
  324. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +41 -4
  325. package/rancher-components/RcDropdown/RcDropdown.vue +35 -7
  326. package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
  327. package/rancher-components/RcDropdown/RcDropdownMenu.vue +12 -6
  328. package/rancher-components/RcDropdown/types.ts +1 -0
  329. package/rancher-components/StringList/StringList.vue +1 -1
  330. package/scripts/build-pkg.sh +18 -23
  331. package/scripts/publish-shell.sh +1 -1
  332. package/static/favicon.ico +0 -0
  333. package/static/favicon.png +0 -0
  334. package/static/loading-indicator.html +3 -3
  335. package/store/i18n.js +6 -2
  336. package/store/modal.ts +3 -3
  337. package/store/prefs.js +11 -4
  338. package/store/type-map.js +30 -2
  339. package/types/shell/index.d.ts +86 -97
  340. package/utils/error.js +109 -8
  341. package/utils/errorTranslate.json +1740 -0
  342. package/utils/errorTranslateNew.json +39 -0
  343. package/utils/roleFiltering.js +33 -0
  344. package/utils/router.js +21 -0
  345. package/utils/select.js +26 -3
  346. package/utils/string.js +8 -5
  347. package/utils/title.ts +1 -1
  348. package/vue.config.js +1 -1
@@ -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" style="width: 400px;">
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>
@@ -298,7 +298,7 @@ export default {
298
298
  :label="t('persistentVolume.customize.label')"
299
299
  :weight="0"
300
300
  >
301
- <div class="row mb-20">
301
+ <div class="row">
302
302
  <div class="col span-6">
303
303
  <h3>{{ t('persistentVolume.customize.accessModes.label') }}</h3>
304
304
  <div>
@@ -323,6 +323,8 @@ export default {
323
323
  />
324
324
  </div>
325
325
  </div>
326
+ </div>
327
+ <div class="row">
326
328
  <div class="col span-6">
327
329
  <ArrayList
328
330
  v-model:value="value.spec.mountOptions"
@@ -257,6 +257,8 @@ export default {
257
257
  @update:value="updateDefaults"
258
258
  />
259
259
  </div>
260
+ </div>
261
+ <div class="row">
260
262
  <div class="col span-6">
261
263
  <div class="row">
262
264
  <div
@@ -704,6 +704,6 @@ export default {
704
704
 
705
705
  <style lang="scss" scoped>
706
706
  .patch-version {
707
- margin-top: 5px;
707
+ margin-top: 10px;
708
708
  }
709
709
  </style>
@@ -444,7 +444,7 @@ export default {
444
444
  v-if="isCustomSecretCreate"
445
445
  class="row"
446
446
  >
447
- <div class="col span-3">
447
+ <div class="col span-6">
448
448
  <LabeledSelect
449
449
  v-model:value="secretType"
450
450
  :options="secretTypes"
@@ -458,7 +458,7 @@ export default {
458
458
  />
459
459
  </div>
460
460
 
461
- <div class="col span-3">
461
+ <div class="col span-6">
462
462
  <LabeledInput
463
463
  v-if="showCustomSecretType"
464
464
  ref="customType"
package/edit/service.vue CHANGED
@@ -420,7 +420,7 @@ export default {
420
420
  >
421
421
  <div
422
422
  v-if="hasClusterIp"
423
- class="row mb-20"
423
+ class="row"
424
424
  >
425
425
  <div class="col span-6">
426
426
  <LabeledInput
@@ -485,6 +485,7 @@ export default {
485
485
  :tooltip="t('servicesPage.affinity.helpText')"
486
486
  >
487
487
  <div class="row session-affinity">
488
+ <div style="min-width: 160px;padding-top: 3px;">会话保持</div>
488
489
  <div class="col span-6">
489
490
  <RadioGroup
490
491
  v-model:value="value.spec.sessionAffinity"
@@ -495,6 +496,8 @@ export default {
495
496
  :mode="mode"
496
497
  />
497
498
  </div>
499
+ </div>
500
+ <div class="row">
498
501
  <div
499
502
  v-if="showAffinityTimeout"
500
503
  class="col span-6"
@@ -224,9 +224,9 @@ export default {
224
224
  :mode="modeOverride"
225
225
  :searchable="true"
226
226
  :taggable="true"
227
- class="mb-20"
228
227
  @update:value="updateProvisioner($event)"
229
228
  />
229
+ <div style="height: 20px;"></div>
230
230
  <Banner
231
231
  v-if="provisionerIsDeprecated"
232
232
  color="warning"
@@ -259,8 +259,8 @@ export default {
259
259
  :label="t('storageClass.customize.label')"
260
260
  >
261
261
  <div class="row mt-20">
262
- <div class="col span-6">
263
- <div class="row mb-20">
262
+ <div class="span-6">
263
+ <div class="row">
264
264
  <div class="col span-12">
265
265
  <RadioGroup
266
266
  v-model:value="value.reclaimPolicy"
@@ -271,7 +271,7 @@ export default {
271
271
  />
272
272
  </div>
273
273
  </div>
274
- <div class="row mb-20">
274
+ <div class="row">
275
275
  <div class="col span-12">
276
276
  <RadioGroup
277
277
  v-model:value="value.allowVolumeExpansion"
@@ -283,8 +283,10 @@ export default {
283
283
  </div>
284
284
  </div>
285
285
  </div>
286
- <div class="col span-6">
287
- <h3>{{ t('storageClass.customize.mountOptions.label') }}</h3>
286
+ </div>
287
+ <div class="row">
288
+ <div style="display: flex;">
289
+ <div style="min-width: 160px;padding-top: 10px;">{{ t('storageClass.customize.mountOptions.label') }}</div>
288
290
  <ArrayList
289
291
  v-model:value="value.mountOptions"
290
292
  :mode="mode"
@@ -293,8 +295,8 @@ export default {
293
295
  />
294
296
  </div>
295
297
  </div>
296
- <div class="row">
297
- <div class="col span-6">
298
+ <div class="row" style="margin-top: -24px;">
299
+ <div class="col">
298
300
  <RadioGroup
299
301
  v-model:value="value.volumeBindingMode"
300
302
  name="volumeBindingMode"
@@ -104,34 +104,34 @@ export default {
104
104
  </script>
105
105
  <template>
106
106
  <div>
107
- <div class="row mb-20">
108
- <div class="col span-6">
107
+ <div class="row">
108
+ <div class="col">
109
109
  <RadioGroup
110
110
  v-model:value="value.parameters.type"
111
111
  name="volumeType"
112
112
  :label="t('storageClass.aws-ebs.volumeType.label')"
113
113
  :mode="mode"
114
114
  :options="volumeTypeOptions"
115
+ class="mb-20"
115
116
  />
116
117
  <UnitInput
117
118
  v-if="value.parameters.type === 'io1' || value.parameters.type === 'gp3'"
118
119
  v-model:value="iopsPerGB"
119
- class="mt-10"
120
120
  :label="t('storageClass.aws-ebs.volumeType.provisionedIops.label')"
121
121
  :suffix="t('storageClass.aws-ebs.volumeType.provisionedIops.suffix')"
122
122
  :mode="mode"
123
123
  />
124
- <LabeledInput
125
- v-model:value="value.parameters.fsType"
126
- class="mt-10"
127
- :placeholder="t('storageClass.aws-ebs.filesystemType.placeholder')"
128
- :label="t('storageClass.aws-ebs.filesystemType.label')"
129
- :mode="mode"
124
+ <div v-if="value.parameters.type === 'io1' || value.parameters.type === 'gp3'" style="height: 24px;"></div>
125
+ <LabeledInput
126
+ v-model:value="value.parameters.fsType"
127
+ :placeholder="t('storageClass.aws-ebs.filesystemType.placeholder')"
128
+ :label="t('storageClass.aws-ebs.filesystemType.label')"
129
+ :mode="mode"
130
130
  />
131
131
  </div>
132
132
  </div>
133
- <div class="row mb-20">
134
- <div class="col span-6">
133
+ <div class="row">
134
+ <div class="col">
135
135
  <RadioGroup
136
136
  v-model:value="availabilityZone"
137
137
  name="availabilityZone"
@@ -139,17 +139,20 @@ export default {
139
139
  :mode="mode"
140
140
  :options="availabilityZoneOptions"
141
141
  />
142
- <LabeledInput
143
- v-if="availabilityZone === 'manual'"
144
- v-model:value="value.parameters.zones"
145
- class="mt-10"
146
- :placeholder="t('storageClass.aws-ebs.availabilityZone.placeholder')"
147
- :mode="mode"
148
- />
142
+ <div style="display: flex;">
143
+ <div style="width: 160px;"></div>
144
+ <LabeledInput
145
+ v-if="availabilityZone === 'manual'"
146
+ v-model:value="value.parameters.zones"
147
+ class="mt-10"
148
+ :placeholder="t('storageClass.aws-ebs.availabilityZone.placeholder')"
149
+ :mode="mode"
150
+ />
151
+ </div>
149
152
  </div>
150
153
  </div>
151
154
  <div class="row">
152
- <div class="col span-6">
155
+ <div class="col">
153
156
  <RadioGroup
154
157
  v-model:value="value.parameters.encrypted"
155
158
  name="encryption"
@@ -158,22 +161,26 @@ export default {
158
161
  :options="encryptionOptions"
159
162
  />
160
163
  </div>
161
- <div class="col span-6">
164
+ </div>
165
+ <div class="row">
166
+ <div class="col">
162
167
  <RadioGroup
163
168
  v-if="value.parameters.encrypted === 'true'"
164
169
  v-model:value="keyId"
165
- class="mt-10"
166
170
  name="keyId"
167
171
  :label="t('storageClass.aws-ebs.keyId.label')"
168
172
  :mode="mode"
169
173
  :options="keyIdOptions"
170
174
  />
171
- <LabeledInput
172
- v-if="keyId === 'manual'"
173
- v-model:value="value.parameters.kmsKeyId"
174
- class="mt-10"
175
- :mode="mode"
176
- />
175
+ <div class="row">
176
+ <div v-if="keyId === 'manual'" style="min-width: 160px;"></div>
177
+ <LabeledInput
178
+ v-if="keyId === 'manual'"
179
+ v-model:value="value.parameters.kmsKeyId"
180
+ class="mt-10"
181
+ :mode="mode"
182
+ />
183
+ </div>
177
184
  </div>
178
185
  </div>
179
186
  </div>