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

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 (353) 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 +44 -0
  43. package/assets/images/logo.png +0 -0
  44. package/assets/images/logo.svg +47 -0
  45. package/assets/images/pl/dark/logo.png +0 -0
  46. package/assets/images/pl/half-logo.svg +2 -23
  47. package/assets/images/pl/harvester.png +0 -0
  48. package/assets/images/pl/logo.png +0 -0
  49. package/assets/images/promp-yellow.svg +5 -0
  50. package/assets/images/user.png +0 -0
  51. package/assets/styles/all.scss +83 -0
  52. package/assets/styles/app.scss +5 -0
  53. package/assets/styles/base/_basic.scss +2 -2
  54. package/assets/styles/base/_helpers.scss +1 -1
  55. package/assets/styles/base/_mixins.scss +1 -1
  56. package/assets/styles/base/_typography.scss +2 -1
  57. package/assets/styles/base/_variables.scss +14 -7
  58. package/assets/styles/fonts/_icons.scss +3 -2
  59. package/assets/styles/global/_button.scss +44 -26
  60. package/assets/styles/global/_columns.scss +3 -1
  61. package/assets/styles/global/_form.scss +46 -13
  62. package/assets/styles/global/_labeled-input.scss +54 -26
  63. package/assets/styles/global/_layout.scss +8 -3
  64. package/assets/styles/global/_select.scss +25 -17
  65. package/assets/styles/global/_table.scss +7 -1
  66. package/assets/styles/global/_tooltip.scss +60 -8
  67. package/assets/styles/themes/_dark.scss +3 -0
  68. package/assets/styles/themes/_light.scss +69 -46
  69. package/assets/styles/vendor/vue-select.scss +24 -10
  70. package/assets/translations/en-us.yaml +92 -4
  71. package/assets/translations/zh-hans.yaml +668 -206
  72. package/components/ActionDropdown.vue +2 -1
  73. package/components/ActionMenu.vue +2 -2
  74. package/components/ActionMenuShell.vue +2 -0
  75. package/components/AppModal.vue +46 -5
  76. package/components/BrandImage.vue +1 -0
  77. package/components/ButtonDropdown.vue +28 -4
  78. package/components/ButtonMultiAction.vue +1 -0
  79. package/components/ClusterIconMenu.vue +2 -2
  80. package/components/CodeMirror.vue +26 -10
  81. package/components/ConsumptionGauge.vue +24 -5
  82. package/components/ContainerResourceLimit.vue +2 -2
  83. package/components/CopyToClipboard.vue +15 -0
  84. package/components/CruResource.vue +12 -10
  85. package/components/CruResourceFooter.vue +2 -2
  86. package/components/DashboardOptions.vue +29 -17
  87. package/components/DotState.vue +84 -0
  88. package/components/Drawer/Chrome.vue +2 -2
  89. package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +30 -27
  90. package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +1 -1
  91. package/components/Drawer/ResourceDetailDrawer/index.vue +5 -4
  92. package/components/ExplorerMembers.vue +28 -4
  93. package/components/ExplorerProjectsNamespaces.vue +19 -5
  94. package/components/GlobalRoleBindings.vue +23 -4
  95. package/components/GrafanaDashboard.vue +4 -4
  96. package/components/GrowlManager.vue +3 -1
  97. package/components/HardwareResourceGauge.vue +39 -3
  98. package/components/IndentedPanel.vue +4 -10
  99. package/components/InfoBox.vue +3 -3
  100. package/components/InputOrDisplay.vue +28 -2
  101. package/components/LabelValue.vue +20 -1
  102. package/components/ModalWithCard.vue +12 -3
  103. package/components/PodSecurityAdmission.vue +2 -2
  104. package/components/PromptModal.vue +1 -1
  105. package/components/PromptRemove.vue +53 -12
  106. package/components/RelatedResources.vue +3 -0
  107. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +1 -3
  108. package/components/Resource/Detail/Metadata/KeyValue.vue +8 -4
  109. package/components/Resource/Detail/Metadata/index.vue +3 -1
  110. package/components/Resource/Detail/TitleBar/Title.vue +4 -3
  111. package/components/Resource/Detail/TitleBar/Top.vue +2 -0
  112. package/components/Resource/Detail/TitleBar/composables.ts +16 -1
  113. package/components/Resource/Detail/TitleBar/index.vue +125 -27
  114. package/components/ResourceDetail/Masthead/index.vue +1 -1
  115. package/components/ResourceDetail/Masthead/latest.vue +1 -1
  116. package/components/ResourceDetail/Masthead/legacy.vue +183 -39
  117. package/components/ResourceDetail/legacy.vue +47 -29
  118. package/components/ResourceList/Masthead.vue +222 -54
  119. package/components/ResourceList/ResourceLoadingIndicator.vue +5 -2
  120. package/components/ResourceTable.vue +40 -2
  121. package/components/SideNav.vue +74 -20
  122. package/components/SingleClusterInfo.vue +2 -1
  123. package/components/SortableTable/THead.vue +79 -4
  124. package/components/SortableTable/index.vue +1053 -464
  125. package/components/SortableTable/paging.js +26 -16
  126. package/components/SortableTable/selection.js +2 -2
  127. package/components/Tabbed/Tab.vue +3 -3
  128. package/components/Tabbed/index.vue +53 -30
  129. package/components/YamlEditor.vue +0 -1
  130. package/components/auth/Principal.vue +51 -19
  131. package/components/auth/RoleDetailEdit.vue +69 -14
  132. package/components/auth/SelectPrincipal.vue +1 -0
  133. package/components/breadcrumb/index.vue +119 -0
  134. package/components/form/ArrayList.vue +177 -152
  135. package/components/form/ArrayListGrouped.vue +13 -3
  136. package/components/form/ArrayListSelect.vue +1 -1
  137. package/components/form/BannerSettings.vue +64 -59
  138. package/components/form/ChangePassword.vue +5 -5
  139. package/components/form/ClusterAppearance.vue +4 -3
  140. package/components/form/ColorInput.vue +32 -8
  141. package/components/form/Command.vue +4 -5
  142. package/components/form/Conditions.vue +15 -1
  143. package/components/form/Footer.vue +12 -8
  144. package/components/form/HealthCheck.vue +0 -2
  145. package/components/form/HookOption.vue +87 -58
  146. package/components/form/InputWithSelect.vue +8 -4
  147. package/components/form/KeyValue.vue +66 -8
  148. package/components/form/LabeledSelect.vue +216 -242
  149. package/components/form/Labels.vue +4 -4
  150. package/components/form/MatchExpressions.vue +28 -11
  151. package/components/form/Members/ClusterMembershipEditor.vue +1 -1
  152. package/components/form/Members/ClusterPermissionsEditor.vue +61 -43
  153. package/components/form/Members/MembershipEditor.vue +4 -4
  154. package/components/form/Members/ProjectMembershipEditor.vue +1 -1
  155. package/components/form/NameNsDescription.vue +62 -22
  156. package/components/form/Networking.vue +6 -9
  157. package/components/form/NodeAffinity.vue +29 -28
  158. package/components/form/Password.vue +16 -7
  159. package/components/form/PodAffinity.vue +24 -25
  160. package/components/form/Probe.vue +15 -11
  161. package/components/form/ProjectMemberEditor.vue +66 -48
  162. package/components/form/ResourceQuota/Namespace.vue +4 -4
  163. package/components/form/ResourceQuota/NamespaceRow.vue +26 -23
  164. package/components/form/ResourceQuota/Project.vue +4 -4
  165. package/components/form/ResourceQuota/ProjectRow.vue +38 -35
  166. package/components/form/ResourceSelector.vue +1 -1
  167. package/components/form/SecretSelector.vue +24 -23
  168. package/components/form/Security.vue +1 -3
  169. package/components/form/Select.vue +12 -3
  170. package/components/form/ServiceNameSelect.vue +2 -5
  171. package/components/form/ServicePorts.vue +149 -75
  172. package/components/form/SimpleSecretSelector.vue +29 -9
  173. package/components/form/Taints.vue +2 -1
  174. package/components/form/Tolerations.vue +13 -9
  175. package/components/form/UnitInput.vue +8 -3
  176. package/components/form/ValueFromResource.vue +110 -96
  177. package/components/form/WorkloadPorts.vue +143 -123
  178. package/components/formatter/BadgeStateFormatter.vue +8 -5
  179. package/components/formatter/LiveDate.vue +3 -3
  180. package/components/formatter/WorkloadHealthScale.vue +4 -3
  181. package/components/nav/Favorite.vue +5 -1
  182. package/components/nav/Group.vue +139 -99
  183. package/components/nav/Header.vue +138 -164
  184. package/components/nav/HeaderPageActionMenu.vue +1 -0
  185. package/components/nav/NamespaceFilter.vue +34 -36
  186. package/components/nav/TopLevelMenu.vue +62 -25
  187. package/components/nav/Type.vue +73 -43
  188. package/composables/useClickOutside.ts +1 -1
  189. package/config/menuRouteMap.js +10 -0
  190. package/config/private-label.js +14 -11
  191. package/config/product/auth.js +17 -7
  192. package/config/product/explorer.js +32 -10
  193. package/config/product/manager.js +28 -17
  194. package/config/product/settings.js +19 -9
  195. package/config/product/uiplugins.js +13 -10
  196. package/config/router/navigation-guards/index.js +61 -3
  197. package/config/settings.ts +28 -0
  198. package/config/table-headers.js +3 -2
  199. package/detail/node.vue +28 -23
  200. package/dialog/AddCustomBadgeDialog.vue +17 -9
  201. package/dialog/ForceMachineRemoveDialog.vue +2 -2
  202. package/dialog/RollbackWorkloadDialog.vue +1 -1
  203. package/dialog/ScalePoolDownDialog.vue +2 -2
  204. package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +1 -1
  205. package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +9 -6
  206. package/edit/autoscaling.horizontalpodautoscaler/index.vue +3 -1
  207. package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +2 -2
  208. package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +7 -5
  209. package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +5 -3
  210. package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +2 -2
  211. package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
  212. package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +1 -1
  213. package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
  214. package/edit/configmap.vue +4 -0
  215. package/edit/logging-flow/index.vue +1 -2
  216. package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +3 -3
  217. package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +19 -19
  218. package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +23 -23
  219. package/edit/logging.banzaicloud.io.output/providers/datadog.vue +19 -19
  220. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +14 -14
  221. package/edit/logging.banzaicloud.io.output/providers/forward.vue +12 -12
  222. package/edit/logging.banzaicloud.io.output/providers/gcs.vue +23 -23
  223. package/edit/logging.banzaicloud.io.output/providers/gelf.vue +6 -6
  224. package/edit/logging.banzaicloud.io.output/providers/kafka.vue +10 -10
  225. package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +8 -8
  226. package/edit/logging.banzaicloud.io.output/providers/logdna.vue +17 -17
  227. package/edit/logging.banzaicloud.io.output/providers/logz.vue +7 -7
  228. package/edit/logging.banzaicloud.io.output/providers/loki.vue +12 -12
  229. package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +3 -3
  230. package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +14 -14
  231. package/edit/logging.banzaicloud.io.output/providers/redis.vue +6 -6
  232. package/edit/logging.banzaicloud.io.output/providers/s3.vue +23 -23
  233. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +13 -13
  234. package/edit/logging.banzaicloud.io.output/providers/sumologic.vue +2 -2
  235. package/edit/logging.banzaicloud.io.output/providers/syslog.vue +54 -54
  236. package/edit/management.cattle.io.user.vue +17 -4
  237. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +19 -19
  238. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +50 -26
  239. package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +36 -12
  240. package/edit/monitoring.coreos.com.alertmanagerconfig/types/dingding.vue +32 -0
  241. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +6 -6
  242. package/edit/monitoring.coreos.com.alertmanagerconfig/types/message.vue +52 -0
  243. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
  244. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +4 -4
  245. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +4 -4
  246. package/edit/monitoring.coreos.com.alertmanagerconfig/types/snmp.vue +45 -0
  247. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +1 -1
  248. package/edit/monitoring.coreos.com.alertmanagerconfig/types/work.vue +31 -0
  249. package/edit/monitoring.coreos.com.receiver/types/email.vue +6 -6
  250. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +10 -10
  251. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +5 -5
  252. package/edit/monitoring.coreos.com.receiver/types/slack.vue +4 -4
  253. package/edit/namespace.vue +1 -2
  254. package/edit/networking.k8s.io.ingress/Certificate.vue +14 -5
  255. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
  256. package/edit/networking.k8s.io.ingress/Rule.vue +5 -11
  257. package/edit/networking.k8s.io.ingress/RulePath.vue +105 -96
  258. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +3 -3
  259. package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +4 -2
  260. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +12 -11
  261. package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
  262. package/edit/persistentvolume/index.vue +3 -1
  263. package/edit/persistentvolumeclaim.vue +2 -0
  264. package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +1 -1
  265. package/edit/secret/index.vue +2 -2
  266. package/edit/service.vue +4 -1
  267. package/edit/storage.k8s.io.storageclass/index.vue +10 -8
  268. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +34 -27
  269. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +15 -13
  270. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +41 -39
  271. package/edit/token.vue +31 -12
  272. package/edit/workload/Job.vue +31 -34
  273. package/edit/workload/Upgrading.vue +5 -5
  274. package/edit/workload/index.vue +22 -18
  275. package/edit/workload/storage/Mount.vue +1 -0
  276. package/edit/workload/storage/awsElasticBlockStore.vue +9 -7
  277. package/edit/workload/storage/azureDisk.vue +14 -10
  278. package/edit/workload/storage/azureFile.vue +9 -7
  279. package/edit/workload/storage/csi/index.vue +6 -9
  280. package/edit/workload/storage/emptyDir.vue +7 -5
  281. package/edit/workload/storage/gcePersistentDisk.vue +9 -7
  282. package/edit/workload/storage/hostPath.vue +7 -5
  283. package/edit/workload/storage/nfs.vue +8 -6
  284. package/edit/workload/storage/persistentVolumeClaim/index.vue +12 -10
  285. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +20 -15
  286. package/edit/workload/storage/secret.vue +9 -6
  287. package/edit/workload/storage/vsphereVolume.vue +11 -7
  288. package/initialize/app-extended.js +7 -1
  289. package/list/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +8 -6
  290. package/list/management.cattle.io.setting.vue +22 -13
  291. package/list/management.cattle.io.user.vue +7 -3
  292. package/list/namespace.vue +3 -0
  293. package/list/provisioning.cattle.io.cluster.vue +6 -7
  294. package/mixins/brand.js +17 -0
  295. package/mixins/create-edit-view/impl.js +10 -0
  296. package/models/provisioning.cattle.io.cluster.js +19 -18
  297. package/models/workload.js +2 -2
  298. package/package.json +1 -1
  299. package/pages/account/index.vue +93 -58
  300. package/pages/account/pri.vue +229 -0
  301. package/pages/auth/login.vue +216 -51
  302. package/pages/auth/setup.vue +175 -33
  303. package/pages/c/_cluster/_product/namespaces.vue +5 -5
  304. package/pages/c/_cluster/auth/roles/index.vue +83 -8
  305. package/pages/c/_cluster/explorer/ConfigBadge.vue +1 -1
  306. package/pages/c/_cluster/explorer/index.vue +2 -1
  307. package/pages/c/_cluster/explorer/tools/index.vue +6 -6
  308. package/pages/c/_cluster/monitoring/monitor/index.vue +2 -2
  309. package/pages/c/_cluster/settings/banners.vue +174 -102
  310. package/pages/c/_cluster/settings/brand.vue +350 -302
  311. package/pages/c/_cluster/settings/performance.vue +61 -38
  312. package/pages/home.vue +119 -37
  313. package/pages/prefs.vue +27 -25
  314. package/pkg/tsconfig.json +9 -9
  315. package/pkg/vue.config.js +1 -1
  316. package/plugins/dashboard-store/actions.js +1 -1
  317. package/plugins/dashboard-store/resource-class.js +28 -27
  318. package/promptRemove/mixin/roleDeletionCheck.js +2 -2
  319. package/public/index.html +4 -4
  320. package/rancher-components/BadgeState/BadgeState.vue +38 -55
  321. package/rancher-components/Banner/Banner.vue +25 -9
  322. package/rancher-components/Card/Card.vue +7 -8
  323. package/rancher-components/Form/Checkbox/Checkbox.vue +4 -0
  324. package/rancher-components/Form/LabeledInput/LabeledInput.vue +42 -3
  325. package/rancher-components/Form/Radio/RadioButton.vue +35 -11
  326. package/rancher-components/Form/Radio/RadioGroup.vue +22 -6
  327. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +3 -3
  328. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +1 -0
  329. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +41 -4
  330. package/rancher-components/RcDropdown/RcDropdown.vue +35 -7
  331. package/rancher-components/RcDropdown/RcDropdownItem.vue +2 -2
  332. package/rancher-components/RcDropdown/RcDropdownMenu.vue +12 -6
  333. package/rancher-components/RcDropdown/types.ts +1 -0
  334. package/rancher-components/StringList/StringList.vue +1 -1
  335. package/scripts/build-pkg.sh +18 -23
  336. package/scripts/publish-shell.sh +1 -1
  337. package/static/favicon.ico +0 -0
  338. package/static/favicon.png +0 -0
  339. package/static/loading-indicator.html +3 -3
  340. package/store/i18n.js +6 -2
  341. package/store/modal.ts +3 -3
  342. package/store/prefs.js +11 -4
  343. package/store/type-map.js +30 -2
  344. package/types/shell/index.d.ts +86 -97
  345. package/utils/error.js +109 -8
  346. package/utils/errorTranslate.json +1740 -0
  347. package/utils/errorTranslateNew.json +39 -0
  348. package/utils/roleFiltering.js +33 -0
  349. package/utils/router.js +21 -0
  350. package/utils/select.js +26 -3
  351. package/utils/string.js +8 -5
  352. package/utils/title.ts +1 -1
  353. package/vue.config.js +1 -1
@@ -53,6 +53,10 @@ export default {
53
53
  default: false,
54
54
  type: Boolean
55
55
  },
56
+ isLabel: {
57
+ default: false,
58
+ type: Boolean
59
+ },
56
60
  localizedLabel: {
57
61
  default: false,
58
62
  type: Boolean
@@ -114,7 +118,15 @@ export default {
114
118
  noOptionsLabelKey: {
115
119
  type: String,
116
120
  default: 'labelSelect.noOptions.empty'
117
- }
121
+ },
122
+ selectWidth: {
123
+ type: String,
124
+ default: ''
125
+ },
126
+ leftWidth: {
127
+ type: String,
128
+ default: ''
129
+ },
118
130
  },
119
131
 
120
132
  setup() {
@@ -257,7 +269,7 @@ export default {
257
269
  },
258
270
 
259
271
  positionDropdown(dropdownList, component, { width }) {
260
- calculatePosition(dropdownList, component, width, this.placement);
272
+ calculatePosition(dropdownList, component, width, this.placement, this.selectWidth===''?'label': this.selectWidth, this.isLabel, this.leftWidth);
261
273
  },
262
274
 
263
275
  get,
@@ -312,42 +324,13 @@ export default {
312
324
  </script>
313
325
 
314
326
  <template>
315
- <div
316
- :id="hasLabel ? labeledSelectLabelId : undefined"
317
- ref="select"
318
- class="labeled-select"
319
- :class="[
320
- $attrs.class,
321
- {
322
- disabled: isView || disabled,
323
- focused,
324
- [mode]: true,
325
- [status]: status,
326
- taggable: $attrs.taggable,
327
- taggable: $attrs.multiple,
328
- hoverable: hoverTooltip,
329
- 'compact-input': isCompact,
330
- 'no-label': !hasLabel
331
- }
332
- ]"
333
- :tabindex="isView || disabled ? -1 : 0"
334
- role="combobox"
335
- :aria-expanded="isOpen"
336
- :aria-describedby="$attrs['aria-describedby'] || undefined"
337
- :aria-required="requiredField"
338
- @click="clickSelect"
339
- @keydown.self.enter="clickSelect"
340
- @keydown.self.down.prevent="clickSelect"
341
- @keydown.self.space.prevent="clickSelect"
342
- >
327
+ <div style="display: flex;">
343
328
  <div
344
- :class="{ 'labeled-container': true, raised, empty, [mode]: true }"
345
- :style="{ border: 'none' }"
329
+ v-if="hasLabel"
330
+ :class="{ 'labeled-container': true, raised, empty, [mode]: true, 'is-lable': isLabel }"
331
+ :style="{ border: 'none', width: selectWidth===''?'160px':selectWidth,lineHeight: '32px' }"
346
332
  >
347
- <label
348
- v-if="hasLabel"
349
- :for="labeledSelectLabelId"
350
- >
333
+ <label v-if="hasLabel" :id="`labeled-select-uid-${uid}`">
351
334
  <t
352
335
  v-if="labelKey"
353
336
  :k="labelKey"
@@ -357,157 +340,186 @@ export default {
357
340
  <span
358
341
  v-if="requiredField"
359
342
  class="required"
360
- :aria-hidden="true"
361
343
  >*</span>
362
344
  </label>
363
345
  </div>
364
- <v-select
365
- ref="select-input"
366
- v-bind="filteredAttrs"
367
- class="inline"
368
- :close-on-select="false"
369
- :append-to-body="appendToBody"
370
- :calculate-position="positionDropdown"
371
- :class="{ 'no-label': !(label || '').length}"
372
- :clearable="clearable"
373
- :disabled="isView || disabled || loading"
374
- :get-option-key="getOptionKey"
375
- :get-option-label="(opt) => getOptionLabel(opt)"
376
- :label="optionLabel"
377
- :options="_options"
378
- :map-keydown="mappedKeys"
379
- :placeholder="placeholder"
380
- :reduce="(x) => reduce(x)"
381
- :filterable="isFilterable"
382
- :searchable="isSearchable"
383
- :selectable="selectable"
384
- :modelValue="value != null && !loading ? value : ''"
385
- :dropdown-should-open="dropdownShouldOpen"
386
- :tabindex="-1"
387
- :uid="generatedUid"
388
- :aria-label="'-'"
389
- @update:modelValue="$emit('selecting', $event); $emit('update:value', $event)"
390
- @search:blur="onBlur"
391
- @search:focus="onFocus"
392
- @search="onSearch"
393
- @open="onOpen"
394
- @close="onClose"
395
- @option:selecting="closeOnSelecting"
396
- @option:selected="close"
397
- @option:deselecting="$emit('deselecting', $event)"
398
- @keydown.enter.stop
346
+ <!-- label -->
347
+ <div
348
+ :id="hasLabel ? labeledSelectLabelId : undefined"
349
+ ref="select"
350
+ class="labeled-select"
351
+ :class="[
352
+ $attrs.class && $attrs.class.replace('mb-20', ''),
353
+ {
354
+ disabled: isView || disabled,
355
+ focused,
356
+ [mode]: true,
357
+ [status]: status,
358
+ taggable: $attrs.taggable,
359
+ taggable: $attrs.multiple,
360
+ hoverable: hoverTooltip,
361
+ 'compact-input': isCompact,
362
+ 'no-label': !hasLabel
363
+ }
364
+ ]"
365
+ :tabindex="isView || disabled ? -1 : 0"
366
+ role="combobox"
367
+ :aria-expanded="isOpen"
368
+ :aria-describedby="$attrs['aria-describedby'] || undefined"
369
+ :aria-required="requiredField"
370
+ @click="clickSelect"
371
+ @keydown.self.enter="clickSelect"
372
+ @keydown.self.down.prevent="clickSelect"
373
+ @keydown.self.space.prevent="clickSelect"
399
374
  >
400
- <template #option="option">
401
- <template v-if="showTagPrompts">
402
- <div class="only-user-opts">
403
- {{ t('labeledSelect.pressEnter', {input:getOptionLabel(option.label)}) }}
404
- </div>
405
- </template>
406
- <template v-else-if="option.kind === 'group'">
407
- <div class="vs__option-kind-group">
375
+ <v-select
376
+ ref="select-input"
377
+ v-bind="filteredAttrs"
378
+ class="inline"
379
+ :close-on-select="false"
380
+ :append-to-body="appendToBody"
381
+ :calculate-position="positionDropdown"
382
+ :class="{ 'no-label': !(label || '').length}"
383
+ :clearable="clearable"
384
+ :disabled="isView || disabled || loading"
385
+ :get-option-key="getOptionKey"
386
+ :get-option-label="(opt) => getOptionLabel(opt)"
387
+ :label="optionLabel"
388
+ :options="_options"
389
+ :map-keydown="mappedKeys"
390
+ :placeholder="placeholder"
391
+ :reduce="(x) => reduce(x)"
392
+ :filterable="isFilterable"
393
+ :searchable="isSearchable"
394
+ :selectable="selectable"
395
+ :modelValue="value != null && !loading ? value : ''"
396
+ :dropdown-should-open="dropdownShouldOpen"
397
+ :tabindex="-1"
398
+ :uid="generatedUid"
399
+ :aria-label="'-'"
400
+ @update:modelValue="$emit('selecting', $event); $emit('update:value', $event)"
401
+ @search:blur="onBlur"
402
+ @search:focus="onFocus"
403
+ @search="onSearch"
404
+ @open="onOpen"
405
+ @close="onClose"
406
+ @option:selecting="closeOnSelecting"
407
+ @option:selected="close"
408
+ @option:deselecting="$emit('deselecting', $event)"
409
+ @keydown.enter.stop
410
+ >
411
+ <template #option="option">
412
+ <template v-if="showTagPrompts">
413
+ <div class="only-user-opts">
414
+ {{ t('labeledSelect.pressEnter', {input:getOptionLabel(option.label)}) }}
415
+ </div>
416
+ </template>
417
+ <template v-else-if="option.kind === 'group'">
418
+ <div class="vs__option-kind-group">
419
+ <i
420
+ v-if="option.icon"
421
+ class="icon"
422
+ :class="{ [option.icon]: true}"
423
+ />
424
+ <b>{{ getOptionLabel(option) }}</b>
425
+ <div v-if="option.badge">
426
+ {{ option.badge }}
427
+ </div>
428
+ </div>
429
+ </template>
430
+ <template v-else-if="option.kind === 'divider'">
431
+ <hr role="none">
432
+ </template>
433
+ <template v-else-if="option.kind === 'highlighted'">
434
+ <div class="option-kind-highlighted">
435
+ {{ option.label }}
436
+ </div>
437
+ </template>
438
+ <div
439
+ v-else
440
+ class="vs__option-kind"
441
+ :class="{ 'has-icon' : hasGroupIcon}"
442
+ @mousedown="(e) => onClickOption(option, e)"
443
+ >
444
+ {{ getOptionLabel(option) }}
408
445
  <i
409
- v-if="option.icon"
410
- class="icon"
411
- :class="{ [option.icon]: true}"
446
+ v-if="option.error"
447
+ class="icon icon-warning pull-right"
448
+ style="font-size: 20px;"
412
449
  />
413
- <b>{{ getOptionLabel(option) }}</b>
414
- <div v-if="option.badge">
415
- {{ option.badge }}
416
- </div>
417
450
  </div>
418
451
  </template>
419
- <template v-else-if="option.kind === 'divider'">
420
- <hr role="none">
421
- </template>
422
- <template v-else-if="option.kind === 'highlighted'">
423
- <div class="option-kind-highlighted">
424
- {{ option.label }}
425
- </div>
426
- </template>
427
- <div
428
- v-else
429
- class="vs__option-kind"
430
- :class="{ 'has-icon' : hasGroupIcon}"
431
- @mousedown="(e) => onClickOption(option, e)"
452
+ <!-- Pass down templates provided by the caller -->
453
+ <template
454
+ v-for="(_, slot) of $slots"
455
+ :key="slot"
456
+ #[slot]="scope"
432
457
  >
433
- {{ getOptionLabel(option) }}
434
- <i
435
- v-if="option.error"
436
- class="icon icon-warning pull-right"
437
- style="font-size: 20px;"
458
+ <slot
459
+ :name="slot"
460
+ v-bind="scope"
438
461
  />
439
- </div>
440
- </template>
441
- <!-- Pass down templates provided by the caller -->
442
- <template
443
- v-for="(_, slot) of $slots"
444
- :key="slot"
445
- #[slot]="scope"
446
- >
447
- <slot
448
- :name="slot"
449
- v-bind="scope"
450
- />
451
- </template>
462
+ </template>
452
463
 
453
- <template #list-footer>
454
- <div
455
- v-if="canPaginate && totalResults && pages > 1"
456
- class="pagination-slot"
457
- >
458
- <div class="load-more">
459
- <i
460
- v-if="paginating"
461
- class="icon icon-spinner icon-spin"
462
- />
463
- <div v-else>
464
- <a
465
- v-if="canLoadMore"
466
- @click="loadMore"
467
- > {{ t('labelSelect.pagination.more') }}</a>
464
+ <template #list-footer>
465
+ <div
466
+ v-if="canPaginate && totalResults && pages > 1"
467
+ class="pagination-slot"
468
+ >
469
+ <div class="load-more">
470
+ <i
471
+ v-if="paginating"
472
+ class="icon icon-spinner icon-spin"
473
+ />
474
+ <div v-else>
475
+ <a
476
+ v-if="canLoadMore"
477
+ @click="loadMore"
478
+ > {{ t('labelSelect.pagination.more') }}</a>
479
+ </div>
468
480
  </div>
469
- </div>
470
481
 
471
- <div class="count">
472
- {{ optionCounts }}
482
+ <div class="count">
483
+ {{ optionCounts }}
484
+ </div>
473
485
  </div>
474
- </div>
475
- </template>
476
- <template #no-options="{ search }">
477
- <div class="no-options-slot">
478
- <template v-if="showTagPrompts">
479
- <span v-if="!searching">{{ t('labeledSelect.startTyping') }}</span>
480
- </template>
481
- <div
482
- v-else-if="paginating"
483
- class="paginating"
484
- >
485
- <i class="icon icon-spinner icon-spin" />
486
+ </template>
487
+ <template #no-options="{ search }">
488
+ <div class="no-options-slot">
489
+ <template v-if="showTagPrompts">
490
+ <span v-if="!searching">{{ t('labeledSelect.startTyping') }}</span>
491
+ </template>
492
+ <div
493
+ v-else-if="paginating"
494
+ class="paginating"
495
+ >
496
+ <i class="icon icon-spinner icon-spin" />
497
+ </div>
498
+ <template v-else-if="search">
499
+ {{ t('labelSelect.noOptions.noMatch') }}
500
+ </template>
501
+ <template v-else>
502
+ {{ t(noOptionsLabelKey) }}
503
+ </template>
486
504
  </div>
487
- <template v-else-if="search">
488
- {{ t('labelSelect.noOptions.noMatch') }}
489
- </template>
490
- <template v-else>
491
- {{ t(noOptionsLabelKey) }}
492
- </template>
493
- </div>
494
- </template>
495
- </v-select>
496
- <i
497
- v-if="loading"
498
- class="icon icon-spinner icon-spin icon-lg"
499
- />
500
- <LabeledTooltip
501
- v-if="tooltip && !focused"
502
- :hover="hoverTooltip"
503
- :value="tooltip"
504
- :status="status"
505
- />
506
- <LabeledTooltip
507
- v-if="!!validationMessage"
508
- :hover="hoverTooltip"
509
- :value="validationMessage"
510
- />
505
+ </template>
506
+ </v-select>
507
+ <i
508
+ v-if="loading"
509
+ class="icon icon-spinner icon-spin icon-lg"
510
+ />
511
+ <LabeledTooltip
512
+ v-if="tooltip && !focused"
513
+ :hover="hoverTooltip"
514
+ :value="tooltip"
515
+ :status="status"
516
+ />
517
+ <LabeledTooltip
518
+ v-if="!!validationMessage"
519
+ :hover="hoverTooltip"
520
+ :value="validationMessage"
521
+ />
522
+ </div>
511
523
  </div>
512
524
  </template>
513
525
 
@@ -518,7 +530,12 @@ export default {
518
530
  // Prevent namespace field from wiggling or changing
519
531
  // height when it is toggled from a LabeledInput to a
520
532
  // LabeledSelect.
521
- padding-bottom: 1px;
533
+ // padding-bottom: 1px;
534
+ &:deep() .vs__actions:after {
535
+ // padding-top: 10px;
536
+ display: flex;
537
+ align-items: center;
538
+ }
522
539
 
523
540
  &.no-label.compact-input {
524
541
  :deep() .vs__actions:after {
@@ -532,7 +549,7 @@ export default {
532
549
 
533
550
  &.no-label:not(.compact-input) {
534
551
  height: $input-height;
535
- padding-top: 4px;
552
+ padding-top: 0px;
536
553
 
537
554
  :deep() .vs__actions:after {
538
555
  top: 0;
@@ -619,7 +636,7 @@ export default {
619
636
  }
620
637
 
621
638
  :deep() .vs__selected-options {
622
- margin-top: -5px;
639
+ margin-top: 0px;
623
640
  }
624
641
 
625
642
  :deep() .v-select:not(.vs--single) {
@@ -631,7 +648,7 @@ export default {
631
648
  :deep() .vs__actions {
632
649
  &:after {
633
650
  position: relative;
634
- top: -10px;
651
+ top: 0px;
635
652
  }
636
653
  }
637
654
 
@@ -669,73 +686,21 @@ export default {
669
686
  }
670
687
  }
671
688
 
672
- $icon-size: 18px;
673
-
674
- // This represents the drop down area. Note - it might be attached to body and NOT the parent label select div
675
- .vs__dropdown-menu {
676
-
677
- // Styling for individual options
678
- .vs__dropdown-option .vs__option-kind {
679
- &-group {
680
- display: flex;
681
- align-items: center;
682
-
683
- i { // icon
684
- width: $icon-size;
685
- }
686
-
687
- > b { // group label
688
- flex: 1;
689
- }
690
-
691
- > div { // badge
692
- background-color: var(--primary);
693
- border-radius: 4px;
694
- color: var(--primary-text);
695
- font-size: 12px;
696
- height: 18px;
697
- line-height: 18px;
698
- margin-top: 1px;
699
- padding: 0 10px;
700
- }
701
- }
702
-
703
- &.has-icon {
704
- padding-left: $icon-size;
705
- }
689
+ // Styling for option group badge
690
+ .vs__dropdown-menu .vs__dropdown-option .vs__option-kind-group {
691
+ display: flex;
692
+ > b {
693
+ flex: 1;
706
694
  }
707
-
708
- &.has-icon .vs__option-kind div{
709
- padding-left: $icon-size;
710
- }
711
-
712
- .pagination-slot {
713
- display: flex;
714
- align-items: center;
715
- justify-content: center;
716
- position: relative;
717
- margin-top: 5px;
718
-
719
- .load-more {
720
- display: flex;
721
- align-items: center;
722
- height: 19px;
723
-
724
- a {
725
- cursor: pointer;
726
- }
727
- }
728
-
729
- .count {
730
- position: absolute;
731
- right: 10px;
732
- }
733
- }
734
-
735
- .no-options-slot .paginating {
736
- display: flex;
737
- align-items: center;
738
- justify-content: center;
695
+ > div {
696
+ background-color: var(--primary);
697
+ border-radius: 4px;
698
+ color: var(--primary-text);
699
+ font-size: 12px;
700
+ height: 18px;
701
+ line-height: 18px;
702
+ margin-top: 1px;
703
+ padding: 0 10px;
739
704
  }
740
705
  }
741
706
 
@@ -763,4 +728,13 @@ $icon-size: 18px;
763
728
  margin: 0px calc(-#{$input-padding-sm}/2);
764
729
  padding: 3px 20px;
765
730
  }
731
+
732
+ .is-lable{
733
+ width: 0px !important;
734
+ }
735
+
736
+ .gafanana-select{
737
+ width: 300px;
738
+
739
+ }
766
740
  </style>
@@ -161,10 +161,10 @@ export default {
161
161
  <div :class="containerClass">
162
162
  <div :class="defaultSectionClass">
163
163
  <div class="labels">
164
- <div class="labels__header">
165
- <h3 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
- </h3>
167
+ </div>
168
168
  <ToggleSwitch
169
169
  v-if="showToggler"
170
170
  v-model:value="toggler"
@@ -172,7 +172,7 @@ export default {
172
172
  :on-label="t('labels.labels.show')"
173
173
  />
174
174
  </div>
175
- <p class="mt-10 mb-10">
175
+ <p class="mb-20">
176
176
  <t k="labels.labels.description" />
177
177
  </p>
178
178
  <div :class="columnsClass">
@@ -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
@@ -344,8 +344,8 @@ export default {
344
344
  <div
345
345
  :data-testid="`input-match-expression-key-${index}`"
346
346
  >
347
- <div v-if="isView">
348
- {{ row.key }}
347
+ <div v-if="isView" class="view-item-value">
348
+ {{ row.key.replace('harvester', 'cloud') }}
349
349
  </div>
350
350
  <input
351
351
  v-else-if="!hasKeySelectOptions"
@@ -365,9 +365,10 @@ export default {
365
365
  />
366
366
  </div>
367
367
  <div
368
+ style="width: 400px;"
368
369
  :data-testid="`input-match-expression-operator-${index}`"
369
370
  >
370
- <div v-if="isView">
371
+ <div v-if="isView" class="view-item-value">
371
372
  {{ row.operator }}
372
373
  </div>
373
374
  <Select
@@ -393,7 +394,7 @@ export default {
393
394
  v-else
394
395
  :data-testid="`input-match-expression-values-${index}`"
395
396
  >
396
- <div v-if="isView">
397
+ <div v-if="isView" class="view-item-value">
397
398
  {{ row.values }}
398
399
  </div>
399
400
  <input
@@ -413,7 +414,7 @@ export default {
413
414
  v-if="!isView"
414
415
  type="button"
415
416
  class="btn role-link"
416
- :style="{padding:'0px'}"
417
+ :style="{padding:'0px', minWidth: 'auto'}"
417
418
 
418
419
  :disabled="mode==='view'"
419
420
  :data-testid="`input-match-expression-remove-control-${index}`"
@@ -425,7 +426,6 @@ export default {
425
426
  </div>
426
427
  <div
427
428
  v-if="!isView && showAddButton"
428
- class="mmt-4"
429
429
  >
430
430
  <button
431
431
  type="button"
@@ -473,14 +473,20 @@ export default {
473
473
  justify-content: center;
474
474
  }
475
475
 
476
+ .match-expression-header{
477
+ margin-top: 24px;
478
+ }
476
479
  .match-expression-row, .match-expression-header {
477
- display: grid;
478
- grid-template-columns: 1fr 1fr 1fr;
480
+ /* display: grid; */
481
+ display: flex;
482
+ /* grid-template-columns: 1fr 1fr 1fr; */
479
483
  margin: 5px 0;
480
- grid-gap: $column-gutter;
484
+ /* grid-gap: $column-gutter; */
485
+ grid-gap: 10px;
481
486
 
482
487
  & > LABEL {
483
488
  margin: 0;
489
+ width: 400px;
484
490
  }
485
491
 
486
492
  &:not(.view){
@@ -489,8 +495,15 @@ export default {
489
495
  }
490
496
 
491
497
  .match-expression-row > div > input {
492
- min-height: 40px !important;
498
+ min-height: 32px !important;
499
+ border: solid var(--border-width) var(--input-border);
500
+ padding: 4px 11px;
501
+ width: 400px;
502
+ &:hover{
503
+ box-shadow: 0 4px 6px 0 var(--input-border-box-shadow);
504
+ }
493
505
  }
506
+
494
507
  .match-expression-row-matching, .match-expression-header-matching {
495
508
  grid-template-columns: 1fr 1fr 1fr 1fr;
496
509
 
@@ -498,4 +511,8 @@ export default {
498
511
  grid-template-columns: 1fr 1fr 1fr 1fr 100px;
499
512
  }
500
513
  }
514
+
515
+ .view-item-value{
516
+ width: 400px;
517
+ }
501
518
  </style>
@@ -56,6 +56,6 @@ export default {
56
56
  :type="NORMAN.CLUSTER_ROLE_TEMPLATE_BINDING"
57
57
  :mode="mode"
58
58
  parent-key="clusterId"
59
- :parent-id="parentId"
59
+ :parent-id="parentId"
60
60
  />
61
61
  </template>