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
@@ -55,7 +55,7 @@ export async function loadSchemas(ctx, watch = true) {
55
55
  }
56
56
 
57
57
  res.data.forEach(addSchemaIndexFields);
58
-
58
+
59
59
  commit('loadAll', {
60
60
  ctx,
61
61
  type: SCHEMA,
@@ -913,42 +913,42 @@ export default class Resource {
913
913
  {
914
914
  action: this.canUpdate ? 'goToEdit' : 'goToViewConfig',
915
915
  label: this.t(this.canUpdate ? 'action.edit' : 'action.view'),
916
- icon: 'icon icon-edit',
916
+ // icon: 'icon icon-edit',
917
917
  enabled: this.canCustomEdit,
918
918
  },
919
- {
920
- action: this.canEditYaml ? 'goToEditYaml' : 'goToViewYaml',
921
- label: this.t(this.canEditYaml ? 'action.editYaml' : 'action.viewYaml'),
922
- icon: 'icon icon-file',
923
- enabled: this.canYaml,
924
- },
919
+ // {
920
+ // action: this.canEditYaml ? 'goToEditYaml' : 'goToViewYaml',
921
+ // label: this.t(this.canEditYaml ? 'action.editYaml' : 'action.viewYaml'),
922
+ // icon: 'icon icon-file',
923
+ // enabled: this.canYaml,
924
+ // },
925
925
  {
926
926
  action: (this.canCustomEdit ? 'goToClone' : 'cloneYaml'),
927
927
  label: this.t('action.clone'),
928
- icon: 'icon icon-copy',
929
- enabled: this.canClone && this.canCreate && (this.canCustomEdit || this.canYaml),
930
- },
931
- { divider: true },
932
- {
933
- action: 'download',
934
- label: this.t('action.download'),
935
- icon: 'icon icon-download',
936
- bulkable: true,
937
- bulkAction: 'downloadBulk',
938
- enabled: this.canYaml,
939
- weight: -9,
940
- },
941
- {
942
- action: 'viewInApi',
943
- label: this.t('action.viewInApi'),
944
- icon: 'icon icon-external-link',
945
- enabled: this.canViewInApi,
928
+ // icon: 'icon icon-copy',
929
+ enabled: this.canClone && this.canCreate && (this.canCustomEdit || this.canYaml)&& this.schema.id!=='event',
946
930
  },
931
+ // { divider: true },
932
+ // {
933
+ // action: 'download',
934
+ // label: this.t('action.download'),
935
+ // icon: 'icon icon-download',
936
+ // bulkable: true,
937
+ // bulkAction: 'downloadBulk',
938
+ // enabled: this.canYaml,
939
+ // weight: -9,
940
+ // },
941
+ // {
942
+ // action: 'viewInApi',
943
+ // label: this.t('action.viewInApi'),
944
+ // icon: 'icon icon-external-link',
945
+ // enabled: this.canViewInApi,
946
+ // },
947
947
  {
948
948
  action: 'promptRemove',
949
949
  altAction: 'remove',
950
950
  label: this.t('action.remove'),
951
- icon: 'icon icon-trash',
951
+ // icon: 'icon icon-trash',
952
952
  bulkable: true,
953
953
  enabled: this.canDelete,
954
954
  bulkAction: 'promptRemove',
@@ -1322,7 +1322,8 @@ export default class Resource {
1322
1322
  }
1323
1323
 
1324
1324
  get detailLocation() {
1325
- return this._detailLocation;
1325
+ let location = this._detailLocation;
1326
+ return location;
1326
1327
  }
1327
1328
 
1328
1329
  goToDetail() {
@@ -92,10 +92,10 @@ export default {
92
92
  this.info = '';
93
93
  this.warning = this.t('rbac.globalRoles.usersBound', { count: uniqueUsersWithBinds.size });
94
94
  } else {
95
- this.info = this.t('rbac.globalRoles.notBound', null, true);
95
+ this.info = this.t('rbac.globalRoles.notBound');
96
96
  }
97
97
  } else {
98
- this.info = this.t('rbac.globalRoles.notBound', null, true);
98
+ this.info = this.t('rbac.globalRoles.notBound');
99
99
  }
100
100
  } catch (e) {
101
101
  this.info = this.t('rbac.globalRoles.unableToCheck');
package/public/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
7
7
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
8
8
  <link rel="shortcut icon" type="image/x-icon" href="/favicon.png">
9
- <title>Rancher</title>
9
+ <title>云翼云管平台</title>
10
10
  </head>
11
11
 
12
12
  <body>
@@ -49,11 +49,11 @@
49
49
 
50
50
  .initial-load-spinner {
51
51
  animation: initial-load-animate 1s infinite linear;
52
- background-color: var(--loading-bg-color);
52
+ background-color: transparent;
53
53
  box-sizing: border-box;
54
- border: 5px solid #008ACF;
54
+ border: 5px solid #1890FF;
55
55
  border-radius: 50%;
56
- border-top-color: #00B2E2;
56
+ border-top-color: transparent;
57
57
  display: inline-block;
58
58
  height: 80px;
59
59
  margin: 0 auto;
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { PropType, defineComponent } from 'vue';
3
+ import { mapGetters } from 'vuex';
3
4
 
4
5
  interface Badge {
5
6
  stateBackground: string;
@@ -47,74 +48,56 @@ export default defineComponent({
47
48
  },
48
49
 
49
50
  computed: {
51
+ ...mapGetters({ t: 'i18n/t' }),
50
52
  bg(): string | null {
51
53
  return this.value?.stateBackground || this.color;
52
54
  },
53
55
 
54
56
  msg(): string | null {
55
- return this.value?.stateDisplay || this.label;
57
+ let text = this.value?.stateDisplay || this.label;
58
+ let zhText = this.t(`stateLabel.${ text }`)
59
+ return zhText ? zhText : text
56
60
  }
57
61
  }
58
62
  });
59
63
  </script>
60
64
 
61
65
  <template>
62
- <span :class="['badge-state', bg]">
63
- <i
64
- v-if="icon"
65
- class="icon"
66
- :class="{[icon]: true, 'mr-5': !!msg}"
67
- />
68
- <span class="msg">{{ msg }}</span>
69
- <slot name="content-right" />
70
- </span>
66
+ <div style="display: flex;flex-direction: row;align-items: center;font-size: 12px;">
67
+ <div :class="{ [bg]: true }"></div>
68
+ <span style="margin-left: 5px;">{{ msg }}</span>
69
+
70
+ </div>
71
71
  </template>
72
-
73
72
  <style lang="scss" scoped>
74
- .badge-state {
75
- align-items: center;
76
- display: inline-flex;
77
- padding: 2px 10px;
78
- border: 1px solid transparent;
79
- border-radius: 20px;
80
-
81
- &.bg-info {
82
- border-color: var(--info);
83
- }
84
-
85
- &.bg-error {
86
- border-color: var(--error);
87
- }
88
-
89
- &.bg-warning {
90
- border-color: var(--warning);
91
- }
92
-
93
- // Successful states are de-emphasized by using [text-]color instead of background-color
94
- &.bg-success {
95
- color: var(--success);
96
- background: transparent;
97
- border-color: var(--success);
98
- }
99
-
100
- // Added badge-disabled instead of bg-disabled since bg-disabled is used in other places with !important styling, an investigation is needed to make the naming consistent
101
- &.badge-disabled {
102
- color: var(--badge-state-disabled-text);
103
- background-color: var( --badge-state-disabled-bg);
104
- border: 1px solid var(--badge-state-disabled-border);
105
- }
73
+ .bg-error {
74
+ width: 10px; /* 圆点的宽度 */
75
+ height: 10px; /* 圆点的高度 */
76
+ background-color: #DD0C17; /* 圆点的颜色 */
77
+ border-radius: 50%; /* 设置为圆形 */
106
78
  }
107
- </style>
108
- <style lang="scss">
109
- // TODO: #6005
110
- // Investigate why this is here.. I don't think that styles for sortable table should belong here
111
- .sortable-table TD .badge-state {
112
- @include clip;
113
- display: inline-block;
114
- max-width: 100%;
115
- position: relative;
116
- max-width: 110px;
117
- font-size: .85em;
118
- vertical-align: middle;
79
+ .bg-darker {
80
+ width: 10px; /* 圆点的宽度 */
81
+ height: 10px; /* 圆点的高度 */
82
+ background-color: #DD0C17; /* 圆点的颜色 */
83
+ border-radius: 50%; /* 设置为圆形 */
84
+ }
85
+ .bg-success {
86
+ width: 10px; /* 圆点的宽度 */
87
+ height: 10px; /* 圆点的高度 */
88
+ background-color: #95F204 !important; /* 圆点的颜色 */
89
+ border-radius: 50%; /* 设置为圆形 */
90
+ }
91
+ .bg-warning {
92
+ width: 10px; /* 圆点的宽度 */
93
+ height: 10px; /* 圆点的高度 */
94
+ background-color: #DAC342; /* 圆点的颜色 */
95
+ border-radius: 50%; /* 设置为圆形 */
96
+ }
97
+ .bg-info {
98
+ width: 10px; /* 圆点的宽度 */
99
+ height: 10px; /* 圆点的高度 */
100
+ background-color: #1890FF; /* 圆点的颜色 */
101
+ border-radius: 50%; /* 设置为圆形 */
119
102
  }
120
103
  </style>
@@ -78,7 +78,16 @@ export default defineComponent({
78
78
  * Return message text as label.
79
79
  */
80
80
  messageLabel(): string | void {
81
- return !(typeof this.label === 'string') ? stringify(this.label) : undefined;
81
+
82
+ let labelStr = this.label
83
+
84
+ if (labelStr === 'waiting for api to be available') {
85
+ labelStr = '等待api可用'
86
+ } else if (labelStr === 'Cluster agent is not connected') {
87
+ labelStr = '集群agent未连接'
88
+ }
89
+
90
+ return !(typeof labelStr === 'string') ? stringify(labelStr) : undefined;
82
91
  },
83
92
  },
84
93
  methods: { nlToBr }
@@ -154,11 +163,17 @@ export default defineComponent({
154
163
  $left-border-size: 4px;
155
164
  $icon-size: 24px;
156
165
 
166
+ .banner__content {
167
+ line-height: 18px !important;
168
+ }
169
+
157
170
  .banner {
158
171
  display: flex;
159
- margin: 15px 0;
172
+ /* margin: 15px 0; */
173
+ margin: 0px 0px 20px 0px;
160
174
  position: relative;
161
175
  width: 100%;
176
+ min-height: 32px;
162
177
  color: var(--body-text);
163
178
 
164
179
  &__icon {
@@ -195,18 +210,18 @@ $icon-size: 24px;
195
210
  }
196
211
  }
197
212
 
198
- &.banner-disabled {
199
- filter: grayscale(1);
200
- }
201
-
202
213
  &__content {
203
- padding: 10px;
214
+ padding: 2px 10px;
204
215
  transition: all 0.2s ease;
205
- line-height: 20px;
216
+ line-height: 12px;
206
217
  width: 100%;
207
218
  border-left: solid $left-border-size transparent;
208
219
  display: flex;
209
220
  gap: 3px;
221
+ min-height: 32px;
222
+ align-items: center;
223
+ word-wrap:break-word;
224
+ word-break:break-all;
210
225
 
211
226
  .primary & {
212
227
  background: var(--primary);
@@ -224,7 +239,8 @@ $icon-size: 24px;
224
239
  }
225
240
 
226
241
  .info & {
227
- background: var(--info-banner-bg);
242
+ // background: var(--info-banner-bg);
243
+ background: #f2f2f2;
228
244
  border-color: var(--info);
229
245
  }
230
246
 
@@ -76,7 +76,7 @@ export default defineComponent({
76
76
  <template>
77
77
  <div
78
78
  id="focus-trap-card-container-element"
79
- class="card-container"
79
+ class="card-containers"
80
80
  :class="{'highlight-border': showHighlightBorder, 'card-sticky': sticky}"
81
81
  data-testid="card"
82
82
  >
@@ -89,7 +89,7 @@ export default defineComponent({
89
89
  {{ title }}
90
90
  </slot>
91
91
  </div>
92
- <hr role="none">
92
+ <!-- <hr role="none"> -->
93
93
  <div
94
94
  class="card-body"
95
95
  data-testid="card-body-slot"
@@ -117,17 +117,15 @@ export default defineComponent({
117
117
  </template>
118
118
 
119
119
  <style lang='scss'>
120
- .card-container {
120
+ .card-containers {
121
121
  &.highlight-border {
122
122
  border-left: 5px solid var(--primary);
123
123
  }
124
- border-radius: var(--border-radius);
125
124
  display: flex;
126
125
  flex-basis: 40%;
127
- margin: 10px;
128
126
  min-height: 100px;
129
- padding: 10px;
130
- box-shadow: 0 0 20px var(--shadow);
127
+ padding: 24px;
128
+ border: 1px solid var(--border);
131
129
  &:not(.top) {
132
130
  align-items: top;
133
131
  flex-direction: row;
@@ -143,14 +141,15 @@ export default defineComponent({
143
141
  justify-content: center;
144
142
  }
145
143
  & .card-actions {
146
- align-self: end;
147
144
  display: flex;
145
+ justify-content: flex-end;
148
146
  padding-top: 20px;
149
147
  }
150
148
  & .card-title {
151
149
  align-items: center;
152
150
  display: flex;
153
151
  width: 100%;
152
+ margin-bottom: 15px;
154
153
  h5 {
155
154
  margin: 0;
156
155
  }
@@ -317,6 +317,7 @@ export default defineComponent({
317
317
  <span
318
318
  v-else-if="label"
319
319
  :id="idForLabel"
320
+ :style="label == '记住用户名' ? { color: '#fff' } : ''"
320
321
  >{{ label }}</span>
321
322
  <i
322
323
  v-if="tooltipKey"
@@ -497,6 +498,9 @@ $fontColor: var(--input-label);
497
498
 
498
499
  // Disabled styles
499
500
  &.disabled {
501
+ span {
502
+ color: var(--muted);
503
+ }
500
504
  .checkbox-custom {
501
505
  background-color: var(--checkbox-disabled-bg);
502
506
  border-color: var(--checkbox-disabled-bg);
@@ -4,6 +4,7 @@ import TextAreaAutoGrow from '@components/Form/TextArea/TextAreaAutoGrow.vue';
4
4
  import LabeledTooltip from '@components/LabeledTooltip/LabeledTooltip.vue';
5
5
  import { escapeHtml, generateRandomAlphaString } from '@shell/utils/string';
6
6
  import cronstrue from 'cronstrue';
7
+ import 'cronstrue/locales/zh_CN';
7
8
  import { isValidCron } from 'cron-validator';
8
9
  import { debounce } from 'lodash';
9
10
  import { useLabeledFormElement, labeledFormElementProps } from '@shell/composables/useLabeledFormElement';
@@ -226,7 +227,8 @@ export default defineComponent({
226
227
  }
227
228
 
228
229
  try {
229
- const hint = cronstrue.toString(this.value as string || '', { verbose: true });
230
+ // const hint = cronstrue.toString(this.value as string || '', { verbose: true });
231
+ const hint = cronstrue.toString(this.value as string || '', { locale: 'zh_CN' });
230
232
 
231
233
  return hint;
232
234
  } catch (e) {
@@ -347,6 +349,24 @@ export default defineComponent({
347
349
  </script>
348
350
 
349
351
  <template>
352
+ <div class="label-input-all">
353
+ <slot name="label">
354
+ <label
355
+ v-if="hasLabel"
356
+ :for="inputId"
357
+ >
358
+ <t
359
+ v-if="labelKey"
360
+ :k="labelKey"
361
+ />
362
+ <template v-else-if="label">{{ label }}</template>
363
+
364
+ <span
365
+ v-if="requiredField"
366
+ class="required"
367
+ >*</span>
368
+ </label>
369
+ </slot>
350
370
  <div
351
371
  :class="{
352
372
  'labeled-input': true,
@@ -361,7 +381,7 @@ export default defineComponent({
361
381
  [className]: true
362
382
  }"
363
383
  >
364
- <slot name="label">
384
+ <!-- <slot name="label">
365
385
  <label
366
386
  v-if="hasLabel"
367
387
  :for="inputId"
@@ -378,7 +398,7 @@ export default defineComponent({
378
398
  :aria-hidden="true"
379
399
  >*</span>
380
400
  </label>
381
- </slot>
401
+ </slot> -->
382
402
 
383
403
  <slot name="prefix" />
384
404
 
@@ -462,6 +482,8 @@ export default defineComponent({
462
482
  />
463
483
  </div>
464
484
  </div>
485
+ <slot name="suffixNew" />
486
+ </div>
465
487
  </template>
466
488
  <style scoped lang="scss">
467
489
  .labeled-input.view {
@@ -484,6 +506,23 @@ export default defineComponent({
484
506
  -moz-appearance: textfield;
485
507
  }
486
508
  }
509
+ .label-input-all{
510
+ display: flex;
511
+ label{
512
+ width: 160px !important;
513
+ line-height: 32px;
514
+ .required{
515
+ color: red;
516
+ }
517
+ }
518
+ }
519
+ .span-4 {
520
+ width: none;
521
+ }
522
+ .v-popper--has-tooltip INPUT, .v-popper--has-tooltip INPUT:hover, .v-popper--has-tooltip INPUT:focus{
523
+ padding: 0px 0px 0px 11px;
524
+ }
525
+
487
526
  </style>
488
527
  <style>
489
528
  .validation-message {
@@ -198,7 +198,7 @@ export default defineComponent({
198
198
  >
199
199
  <!-- slot content -->
200
200
  </slot>
201
- <span
201
+ <div
202
202
  v-else-if="label"
203
203
  v-clean-html="label"
204
204
  />
@@ -264,18 +264,25 @@ $fontColor: var(--input-label);
264
264
  &.disabled,
265
265
  &.disabled .radio-label,
266
266
  &.disabled .radio-button-outer-container-description {
267
- cursor: not-allowed
267
+ cursor: not-allowed;
268
+ color: var(--muted);
268
269
  }
269
270
 
270
- .radio-custom {
271
- height: 14px;
272
- width: 14px;
273
- min-height: 14px;
274
- min-width: 14px;
271
+ .radio-custom {
272
+ height: 12px;
273
+ width: 12px;
274
+ min-height: 13px;
275
+ min-width: 13px;
275
276
  background-color: var(--input-bg);
276
277
  border-radius: 50%;
278
+ transition: all 0.3s ease-out;
277
279
  border: 1.5px solid var(--border);
278
- margin-top: 5px;
280
+ margin-top: 3px !important;
281
+
282
+ &:focus {
283
+ outline: none;
284
+ border-radius: 50%;
285
+ }
279
286
  }
280
287
 
281
288
  input {
@@ -284,20 +291,37 @@ $fontColor: var(--input-label);
284
291
 
285
292
  .radio-custom {
286
293
  &[aria-checked="true"] {
287
- background-color: var(--primary);
294
+ background-color: #fff;
288
295
  -webkit-transform: rotate(0deg) scale(1);
289
296
  -ms-transform: rotate(0deg) scale(1);
290
297
  transform: rotate(0deg) scale(1);
291
298
  opacity:1;
292
299
  border: 1.5px solid var(--primary);
300
+ display: flex;
301
+ align-items: center;
302
+ justify-content: center;
303
+
293
304
 
305
+ &::after {
306
+ background-color: var(--primary);
307
+ width: 7px;
308
+ height: 7px;
309
+ display: inline;
310
+ content: "";
311
+ /* position: absolute; */
312
+ /* top: 17%;
313
+ left: 19%;
314
+ margin-left: 0.4px; */
315
+ /* top: 1.5px;
316
+ left: 1.5px; */
317
+ border-radius: 50%;
318
+ }
294
319
  // Ensure that checked radio buttons are muted but still visibly selected when muted
295
320
  &.text-muted {
296
321
  opacity: .25;
297
322
  }
298
323
  }
299
324
  }
300
-
301
325
  input:disabled ~ .radio-custom:not([aria-checked="true"]) {
302
326
  background-color: var(--disabled-bg);
303
327
  opacity: .25;
@@ -313,7 +337,7 @@ $fontColor: var(--input-label);
313
337
  display: inline-flex;
314
338
  flex-direction: column;
315
339
 
316
- margin: 3px 10px 0px 5px;
340
+ margin: 3px 16px 0px 5px;
317
341
  }
318
342
  }
319
343
 
@@ -102,6 +102,11 @@ export default defineComponent({
102
102
  row: {
103
103
  type: Boolean,
104
104
  default: false
105
+ },
106
+
107
+ flexDirection: {
108
+ type: String,
109
+ default: 'row'
105
110
  }
106
111
  },
107
112
 
@@ -237,14 +242,14 @@ export default defineComponent({
237
242
  </script>
238
243
 
239
244
  <template>
240
- <div>
245
+ <div style="display: flex;">
241
246
  <!-- Label -->
242
247
  <div
243
248
  v-if="label || labelKey || tooltip || tooltipKey || $slots.label"
244
- class="radio-group label"
249
+ class="radio-group label radio-group-labelBox"
245
250
  >
246
251
  <slot name="label">
247
- <h3>
252
+ <span class="radio-group-title">
248
253
  <t
249
254
  v-if="labelKey"
250
255
  :k="labelKey"
@@ -262,7 +267,7 @@ export default defineComponent({
262
267
  v-clean-tooltip="tooltip"
263
268
  class="icon icon-info icon-lg"
264
269
  />
265
- </h3>
270
+ </span>
266
271
  </slot>
267
272
  </div>
268
273
 
@@ -274,7 +279,7 @@ export default defineComponent({
274
279
  :aria-describedby="radioGroupAriaDescribedBy"
275
280
  :aria-activedescendant="ariaActiveDescendant"
276
281
  class="radio-group"
277
- :class="{'row':row}"
282
+ :class="{'row':row, 'flexDirection': flexDirection === 'column'}"
278
283
  :tabindex="isDisabled ? -1 : 0"
279
284
  :aria-disabled="isDisabled"
280
285
  @keydown.down.prevent.stop="clickNext(1)"
@@ -312,6 +317,9 @@ export default defineComponent({
312
317
  </template>
313
318
 
314
319
  <style lang='scss'>
320
+ .flexDirection {
321
+ flex-direction: column;
322
+ }
315
323
  .radio-group {
316
324
  &:focus, &:focus-visible {
317
325
  border: none;
@@ -334,7 +342,15 @@ export default defineComponent({
334
342
  }
335
343
 
336
344
  .label{
337
- font-size: 14px !important;
345
+ font-size: 12px !important;
338
346
  }
339
347
  }
348
+ .radio-group-title{
349
+ font-size: 12px !important;
350
+ margin-bottom: 0px !important;
351
+ display: inline-block;
352
+ }
353
+ .radio-group-labelBox {
354
+ width: 160px;
355
+ }
340
356
  </style>
@@ -108,7 +108,7 @@ export default defineComponent({
108
108
  * (unless the input is long)
109
109
  */
110
110
  style(): string {
111
- return `height: ${ this.curHeight }px; overflow: ${ this.overflow };`;
111
+ return `height: ${ this.curHeight }px; overflow: ${ this.overflow };min-height:${ this.curHeight }px;`;
112
112
  },
113
113
 
114
114
  className(): string | unknown[] | Record<string, boolean> {
@@ -165,13 +165,13 @@ export default defineComponent({
165
165
  return;
166
166
  }
167
167
 
168
- el.style.height = '1px';
168
+ // el.style.height = '1px';
169
169
 
170
170
  const border = parseInt(getComputedStyle(el).getPropertyValue('borderTopWidth'), 10) || 0 + parseInt(getComputedStyle(el).getPropertyValue('borderBottomWidth'), 10) || 0;
171
171
  const neu = Math.max(this.minHeight, Math.min(el.scrollHeight + border, this.maxHeight));
172
172
 
173
173
  el.style.overflowY = el.scrollHeight > neu ? 'auto' : 'hidden';
174
- el.style.height = `${ neu }px`;
174
+ // el.style.height = `${ neu }px`;
175
175
 
176
176
  this.curHeight = neu;
177
177
  }
@@ -94,6 +94,7 @@ export default defineComponent({
94
94
  :class="{'toggle-disabled': disabled}"
95
95
  >
96
96
  <span
97
+ style="width: 160px;"
97
98
  class="label no-select hand"
98
99
  :class="{ active: !state}"
99
100
  @click="toggle(false)"