@rancher/shell 2.0.1 → 3.0.0-rc.2

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 (779) hide show
  1. package/assets/styles/base/_variables.scss +1 -0
  2. package/assets/styles/global/_labeled-input.scss +22 -11
  3. package/assets/styles/global/_layout.scss +4 -4
  4. package/assets/styles/global/_select.scss +1 -1
  5. package/assets/styles/global/_tooltip.scss +39 -72
  6. package/assets/translations/en-us.yaml +26 -5
  7. package/chart/__tests__/S3.test.ts +21 -14
  8. package/chart/example.vue +1 -1
  9. package/chart/gatekeeper.vue +4 -4
  10. package/chart/istio.vue +11 -11
  11. package/chart/logging/index.vue +8 -8
  12. package/chart/monitoring/ClusterSelector.vue +13 -13
  13. package/chart/monitoring/alerting/index.vue +6 -6
  14. package/chart/monitoring/grafana/index.vue +14 -14
  15. package/chart/monitoring/index.vue +122 -108
  16. package/chart/monitoring/prometheus/index.vue +18 -18
  17. package/chart/rancher-backup/S3.vue +11 -11
  18. package/chart/rancher-backup/index.vue +68 -60
  19. package/cloud-credential/__tests__/azure.test.ts +7 -17
  20. package/cloud-credential/__tests__/harvester.test.ts +2 -2
  21. package/cloud-credential/aws.vue +3 -3
  22. package/cloud-credential/azure.vue +4 -4
  23. package/cloud-credential/digitalocean.vue +1 -1
  24. package/cloud-credential/gcp.vue +1 -1
  25. package/cloud-credential/generic.vue +1 -1
  26. package/cloud-credential/harvester.vue +1 -1
  27. package/cloud-credential/linode.vue +1 -1
  28. package/cloud-credential/pnap.vue +2 -2
  29. package/cloud-credential/s3.vue +8 -8
  30. package/cloud-credential/vmwarevsphere.vue +4 -4
  31. package/components/ActionDropdown.vue +12 -16
  32. package/components/ActionMenu.vue +2 -2
  33. package/components/AlertTable.vue +1 -1
  34. package/components/AppModal.vue +20 -9
  35. package/components/AssignTo.vue +38 -37
  36. package/components/AsyncButton.vue +4 -7
  37. package/components/ButtonDropdown.vue +22 -20
  38. package/components/ButtonGroup.vue +1 -1
  39. package/components/Carousel.vue +1 -1
  40. package/components/Certificates.vue +1 -1
  41. package/components/ChartReadme.vue +7 -7
  42. package/components/CodeMirror.vue +2 -2
  43. package/components/CommunityLinks.vue +2 -2
  44. package/components/ConsumptionGauge.vue +1 -1
  45. package/components/ContainerResourceLimit.vue +11 -11
  46. package/components/CountGauge.vue +1 -1
  47. package/components/CreateDriver.vue +4 -4
  48. package/components/CruResource.vue +36 -20
  49. package/components/DashboardMetrics.vue +3 -3
  50. package/components/DashboardOptions.vue +3 -3
  51. package/components/DetailTop.vue +3 -3
  52. package/components/DisableAuthProviderModal.vue +7 -8
  53. package/components/EmberPage.vue +1 -1
  54. package/components/EtcdInfoBanner.vue +1 -1
  55. package/components/ExplorerMembers.vue +8 -9
  56. package/components/ExplorerProjectsNamespaces.vue +6 -7
  57. package/components/FileDiff.vue +1 -1
  58. package/components/FixedBanner.vue +1 -0
  59. package/components/GlobalRoleBindings.vue +5 -6
  60. package/components/GradientBox.vue +1 -2
  61. package/components/GrafanaDashboard.vue +7 -7
  62. package/components/GrowlManager.vue +1 -1
  63. package/components/HarvesterServiceAddOnConfig.vue +2 -2
  64. package/components/IconOrSvg.vue +1 -2
  65. package/components/Import.vue +4 -3
  66. package/components/Inactivity.vue +2 -2
  67. package/components/IndentedPanel.vue +0 -1
  68. package/components/InputOrDisplay.vue +21 -32
  69. package/components/KeyValueView.vue +4 -3
  70. package/components/LandingPagePreference.vue +3 -2
  71. package/components/LazyImage.vue +1 -1
  72. package/components/Loading.vue +1 -1
  73. package/components/LocaleSelector.vue +4 -4
  74. package/components/Markdown.vue +1 -1
  75. package/components/ModalWithCard.vue +1 -4
  76. package/components/MoveModal.vue +10 -11
  77. package/components/PercentageBar.vue +7 -7
  78. package/components/PodSecurityAdmission.vue +13 -13
  79. package/components/PromptChangePassword.vue +9 -9
  80. package/components/PromptModal.vue +1 -1
  81. package/components/PromptRemove.vue +35 -38
  82. package/components/PromptRestore.vue +68 -69
  83. package/components/Questions/Array.vue +3 -4
  84. package/components/Questions/Boolean.vue +1 -1
  85. package/components/Questions/CloudCredential.vue +1 -1
  86. package/components/Questions/Enum.vue +1 -1
  87. package/components/Questions/Float.vue +1 -1
  88. package/components/Questions/Int.vue +1 -1
  89. package/components/Questions/Question.js +1 -1
  90. package/components/Questions/QuestionMap.vue +3 -4
  91. package/components/Questions/Radio.vue +1 -1
  92. package/components/Questions/Reference.vue +2 -2
  93. package/components/Questions/String.vue +1 -1
  94. package/components/Questions/Yaml.vue +1 -1
  95. package/components/Questions/__tests__/Boolean.test.ts +24 -12
  96. package/components/Questions/__tests__/Float.test.ts +24 -12
  97. package/components/Questions/__tests__/Int.test.ts +24 -12
  98. package/components/Questions/__tests__/String.test.ts +24 -12
  99. package/components/Questions/__tests__/Yaml.test.ts +25 -13
  100. package/components/Questions/__tests__/utils/questions-defaults.ts +2 -2
  101. package/components/Questions/index.vue +10 -10
  102. package/components/Random.vue +1 -1
  103. package/components/ResourceDetail/Masthead.vue +7 -2
  104. package/components/ResourceDetail/index.vue +6 -3
  105. package/components/ResourceList/Masthead.vue +4 -0
  106. package/components/ResourceList/index.vue +10 -4
  107. package/components/ResourceSummary.vue +1 -1
  108. package/components/ResourceTable.vue +4 -5
  109. package/components/ResourceYaml.vue +1 -2
  110. package/components/RoleBindings.vue +3 -3
  111. package/components/SideNav.vue +10 -8
  112. package/components/SimpleBox.vue +0 -1
  113. package/components/SortableTable/THead.vue +5 -5
  114. package/components/SortableTable/index.vue +21 -20
  115. package/components/SortableTable/sortable-config.ts +4 -0
  116. package/components/StatusTable.vue +1 -1
  117. package/components/TabTitle.vue +3 -9
  118. package/components/Tabbed/Tab.vue +1 -1
  119. package/components/Tabbed/index.vue +2 -4
  120. package/components/Wizard.vue +8 -3
  121. package/components/YamlEditor.vue +4 -4
  122. package/components/__tests__/AppModal.test.ts +33 -25
  123. package/components/__tests__/ApplicationCard.test.ts +1 -1
  124. package/components/__tests__/AsyncButton.test.ts +42 -34
  125. package/components/__tests__/BackLink.test.ts +3 -3
  126. package/components/__tests__/ButtonGroup.test.ts +5 -5
  127. package/components/__tests__/Carousel.test.ts +2 -2
  128. package/components/__tests__/Certificates.test.ts +10 -8
  129. package/components/__tests__/ClusterBadge.test.ts +2 -2
  130. package/components/__tests__/CodeMirror.test.ts +29 -23
  131. package/components/__tests__/Collapse.test.ts +3 -3
  132. package/components/__tests__/CollapsibleCard.test.ts +6 -6
  133. package/components/__tests__/ConsumptionGauge.test.ts +5 -5
  134. package/components/__tests__/CruResource.test.ts +67 -56
  135. package/components/__tests__/EtcdInfoBanner.test.ts +11 -9
  136. package/components/__tests__/FixedBanner.test.ts +8 -8
  137. package/components/__tests__/GrowlManager.test.ts +24 -25
  138. package/components/__tests__/NamespaceFilter.test.ts +49 -32
  139. package/components/__tests__/PercentageBar.test.ts +10 -10
  140. package/components/__tests__/PodSecurityAdmission.test.ts +80 -38
  141. package/components/__tests__/ProjectRow.test.ts +1 -5
  142. package/components/__tests__/PromptRestore.test.ts +15 -18
  143. package/components/__tests__/TabTitle.test.ts +21 -14
  144. package/components/auth/AllowedPrincipals.vue +6 -7
  145. package/components/auth/RoleDetailEdit.vue +44 -46
  146. package/components/auth/SelectPrincipal.vue +3 -5
  147. package/components/auth/__tests__/RoleDetailEdit.test.ts +18 -14
  148. package/components/auth/login/ldap.vue +2 -2
  149. package/components/fleet/FleetClusters.vue +0 -1
  150. package/components/fleet/FleetRepos.vue +0 -1
  151. package/components/fleet/FleetStatus.vue +15 -16
  152. package/components/fleet/__tests__/FleetSummary.test.ts +8 -2
  153. package/components/form/ArrayList.vue +6 -7
  154. package/components/form/ArrayListGrouped.vue +20 -7
  155. package/components/form/ArrayListSelect.vue +4 -4
  156. package/components/form/BannerSettings.vue +10 -10
  157. package/components/form/ChangePassword.vue +9 -9
  158. package/components/form/ColorInput.vue +2 -2
  159. package/components/form/Command.vue +13 -15
  160. package/components/form/EnvVars.vue +7 -7
  161. package/components/form/FileImageSelector.vue +1 -1
  162. package/components/form/GitPicker.vue +7 -7
  163. package/components/form/HealthCheck.vue +4 -4
  164. package/components/form/HookOption.vue +13 -13
  165. package/components/form/InputWithSelect.vue +19 -13
  166. package/components/form/KeyValue.vue +13 -14
  167. package/components/form/LabeledSelect.vue +61 -46
  168. package/components/form/Labels.vue +3 -3
  169. package/components/form/LifecycleHooks.vue +5 -7
  170. package/components/form/MatchExpressions.vue +7 -7
  171. package/components/form/Members/ClusterMembershipEditor.vue +1 -2
  172. package/components/form/Members/ClusterPermissionsEditor.vue +9 -9
  173. package/components/form/Members/MembershipEditor.vue +4 -5
  174. package/components/form/Members/ProjectMembershipEditor.vue +1 -2
  175. package/components/form/NameNsDescription.vue +12 -13
  176. package/components/form/Networking.vue +17 -17
  177. package/components/form/NodeAffinity.vue +9 -10
  178. package/components/form/NodeScheduling.vue +7 -7
  179. package/components/form/NotificationSettings.vue +2 -2
  180. package/components/form/Password.vue +2 -2
  181. package/components/form/PodAffinity.vue +21 -23
  182. package/components/form/PodSecurity.vue +6 -6
  183. package/components/form/Ports.vue +5 -5
  184. package/components/form/Probe.vue +20 -20
  185. package/components/form/ProjectMemberEditor.vue +9 -9
  186. package/components/form/ResourceLabeledSelect.vue +11 -4
  187. package/components/form/ResourceQuota/Namespace.vue +3 -3
  188. package/components/form/ResourceQuota/NamespaceRow.vue +3 -3
  189. package/components/form/ResourceQuota/Project.vue +7 -6
  190. package/components/form/ResourceQuota/ProjectRow.vue +113 -114
  191. package/components/form/ResourceSelector.vue +3 -3
  192. package/components/form/ResourceTabs/index.vue +1 -1
  193. package/components/form/RuleSelector.vue +7 -6
  194. package/components/form/SecretSelector.vue +5 -6
  195. package/components/form/Security.vue +14 -14
  196. package/components/form/Select.vue +38 -12
  197. package/components/form/SelectOrCreateAuthSecret.vue +30 -27
  198. package/components/form/ServiceNameSelect.vue +8 -5
  199. package/components/form/ServicePorts.vue +4 -4
  200. package/components/form/ShellInput.vue +3 -3
  201. package/components/form/SimpleSecretSelector.vue +2 -2
  202. package/components/form/Taints.vue +5 -4
  203. package/components/form/Tolerations.vue +12 -12
  204. package/components/form/UnitInput.vue +1 -1
  205. package/components/form/ValueFromResource.vue +17 -17
  206. package/components/form/WorkloadPorts.vue +21 -21
  207. package/components/form/__tests__/ArrayList.test.ts +14 -11
  208. package/components/form/__tests__/ArrayListGrouped.test.ts +4 -4
  209. package/components/form/__tests__/BannerSettings.test.ts +6 -5
  210. package/components/form/__tests__/Command.test.ts +14 -13
  211. package/components/form/__tests__/Error.test.ts +5 -5
  212. package/components/form/__tests__/FileImageSelector.test.ts +5 -5
  213. package/components/form/__tests__/FileSelector.test.ts +9 -9
  214. package/components/form/__tests__/InputWithSelect.test.ts +42 -0
  215. package/components/form/__tests__/KeyValue.test.ts +28 -18
  216. package/components/form/__tests__/LabeledSelect.test.ts +9 -9
  217. package/components/form/__tests__/MatchExpressions.test.ts +10 -10
  218. package/components/form/__tests__/NameNsDescription.test.ts +28 -25
  219. package/components/form/__tests__/NodeAffinity.test.ts +4 -3
  220. package/components/form/__tests__/PodAffinity.test.ts +4 -3
  221. package/components/form/__tests__/Probe.test.ts +6 -6
  222. package/components/form/__tests__/Security.test.ts +6 -6
  223. package/components/form/__tests__/Select.test.ts +30 -0
  224. package/components/form/__tests__/ServiceNameSelect.test.ts +42 -0
  225. package/components/form/__tests__/Taints.test.ts +18 -17
  226. package/components/form/__tests__/UnitInput.test.ts +20 -24
  227. package/components/form/labeled-select-utils/labeled-select.utils.ts +1 -1
  228. package/components/formatter/AppSummaryGraph.vue +5 -5
  229. package/components/formatter/ClusterLink.vue +1 -1
  230. package/components/formatter/Endpoints.vue +4 -1
  231. package/components/formatter/FleetSummaryGraph.vue +5 -5
  232. package/components/formatter/ListLink.vue +1 -1
  233. package/components/formatter/ListLinkDetail.vue +2 -2
  234. package/components/formatter/LiveExpiryBadgeState.vue +18 -5
  235. package/components/formatter/LiveExpiryDate.vue +1 -1
  236. package/components/formatter/MachineSummaryGraph.vue +5 -5
  237. package/components/formatter/PercentageBar.vue +1 -1
  238. package/components/formatter/Principal.vue +0 -1
  239. package/components/formatter/PrincipalGroupBindings.vue +5 -5
  240. package/components/formatter/ReceiverIcons.vue +5 -3
  241. package/components/formatter/Scale.vue +5 -5
  242. package/components/formatter/ServiceTargets.vue +1 -1
  243. package/components/formatter/VirtualServiceGateways.vue +1 -1
  244. package/components/formatter/Weight.vue +3 -3
  245. package/components/formatter/WorkloadDetailEndpoints.vue +4 -1
  246. package/components/formatter/WorkloadHealthScale.vue +5 -6
  247. package/components/formatter/__tests__/Checked.test.ts +2 -2
  248. package/components/formatter/__tests__/ClusterLink.test.ts +3 -3
  249. package/components/formatter/__tests__/Date.test.ts +8 -8
  250. package/components/formatter/__tests__/LinkDetail.test.ts +10 -10
  251. package/components/formatter/__tests__/LiveDate.test.ts +21 -15
  252. package/components/formatter/__tests__/PodsUsage.test.ts +5 -5
  253. package/components/formatter/__tests__/Si.test.ts +3 -3
  254. package/components/formatter/__tests__/WorkloadDetailEndpoints.test.ts +5 -5
  255. package/components/graph/LinePlot.vue +1 -2
  256. package/components/nav/Group.vue +11 -6
  257. package/components/nav/Header.vue +182 -131
  258. package/components/nav/Jump.vue +1 -1
  259. package/components/nav/NamespaceFilter.vue +2 -2
  260. package/components/nav/TopLevelMenu.vue +18 -17
  261. package/components/nav/Type.vue +7 -7
  262. package/components/nav/WindowManager/ContainerLogs.vue +53 -38
  263. package/components/nav/WindowManager/ContainerShell.vue +45 -39
  264. package/components/nav/WindowManager/Window.vue +1 -1
  265. package/components/nav/WindowManager/__tests__/ContainerLogs.test.ts +34 -23
  266. package/components/nav/WindowManager/__tests__/ContainerShell.test.ts +41 -33
  267. package/components/nav/WindowManager/index.vue +4 -4
  268. package/components/nav/WorkspaceSwitcher.vue +16 -16
  269. package/components/nav/__tests__/TopLevelMenu.test.ts +354 -308
  270. package/components/nav/__tests__/Type.test.ts +194 -111
  271. package/components/nuxt/nuxt-build-indicator.vue +79 -52
  272. package/components/nuxt/nuxt-child.js +24 -25
  273. package/components/nuxt/nuxt-error.vue +48 -18
  274. package/components/nuxt/nuxt-link.client.js +4 -3
  275. package/components/nuxt/nuxt-loading.vue +96 -85
  276. package/components/templates/blank.vue +0 -1
  277. package/components/templates/default.vue +0 -4
  278. package/components/templates/home.vue +4 -4
  279. package/components/templates/plain.vue +3 -2
  280. package/composables/useI18n.ts +1 -1
  281. package/composables/useLabeledFormElement.ts +12 -1
  282. package/composables/useUserRetentionValidation.test.ts +178 -0
  283. package/composables/useUserRetentionValidation.ts +201 -0
  284. package/config/__test__/home-links.test.ts +2 -7
  285. package/config/pagination-table-headers.js +5 -4
  286. package/config/query-params.js +1 -0
  287. package/config/roles.ts +34 -19
  288. package/config/router/index.js +10 -7
  289. package/config/router/navigation-guards/attempt-first-login.js +1 -1
  290. package/config/router/navigation-guards/authentication.js +2 -1
  291. package/{middleware/authenticated.js → config/router/navigation-guards/clusters.js} +28 -67
  292. package/config/router/navigation-guards/history.js +13 -0
  293. package/config/router/navigation-guards/i18n.js +1 -1
  294. package/config/router/navigation-guards/index.js +8 -1
  295. package/config/router/navigation-guards/install-redirect.js +95 -0
  296. package/config/router/navigation-guards/load-initial-settings.js +1 -1
  297. package/config/router/navigation-guards/page-title.js +12 -0
  298. package/config/router/navigation-guards/products.js +15 -0
  299. package/config/router/navigation-guards/runtime-extension-route.js +31 -0
  300. package/config/router/navigation-guards/server-upgrade-growl.js +19 -0
  301. package/config/router/routes.js +49 -23
  302. package/config/settings.ts +1 -1
  303. package/config/store.js +2 -5
  304. package/config/types.js +18 -0
  305. package/config/uiplugins.js +2 -2
  306. package/core/plugin-routes.ts +40 -30
  307. package/core/plugin.ts +10 -10
  308. package/core/plugins-loader.js +3 -3
  309. package/core/plugins.js +7 -1
  310. package/core/types.ts +7 -7
  311. package/detail/__tests__/autoscaling.horizontalpodautoscaler.test.ts +16 -8
  312. package/detail/__tests__/provisioning.cattle.io.cluster.test.ts +8 -8
  313. package/detail/__tests__/service.test.ts +6 -6
  314. package/detail/autoscaling.horizontalpodautoscaler/index.vue +6 -5
  315. package/detail/catalog.cattle.io.app.vue +2 -2
  316. package/detail/cis.cattle.io.clusterscan.vue +3 -3
  317. package/detail/configmap.vue +4 -1
  318. package/detail/fleet.cattle.io.cluster.vue +2 -1
  319. package/detail/fleet.cattle.io.clustergroup.vue +2 -1
  320. package/detail/fleet.cattle.io.gitrepo.vue +2 -1
  321. package/detail/harvesterhci.io.management.cluster.vue +2 -1
  322. package/detail/helm.cattle.io.projecthelmchart.vue +28 -29
  323. package/detail/management.cattle.io.user.vue +2 -1
  324. package/detail/namespace.vue +2 -1
  325. package/detail/networking.k8s.io.ingress.vue +4 -2
  326. package/detail/node.vue +2 -1
  327. package/detail/provisioning.cattle.io.cluster.vue +6 -7
  328. package/detail/secret.vue +3 -2
  329. package/detail/service.vue +2 -1
  330. package/detail/workload/index.vue +1 -19
  331. package/dialog/AddClusterMemberDialog.vue +30 -31
  332. package/dialog/AddCustomBadgeDialog.vue +101 -104
  333. package/dialog/AddProjectMemberDialog.vue +45 -46
  334. package/dialog/AddonConfigConfirmationDialog.vue +22 -24
  335. package/dialog/DeactivateDriverDialog.vue +5 -6
  336. package/dialog/DiagnosticTimingsDialog.vue +29 -29
  337. package/dialog/DrainNode.vue +245 -249
  338. package/dialog/ForceMachineRemoveDialog.vue +32 -34
  339. package/dialog/GenericPrompt.vue +23 -25
  340. package/dialog/RollbackWorkloadDialog.vue +68 -71
  341. package/dialog/RotateCertificatesDialog.vue +17 -18
  342. package/dialog/RotateEncryptionKeyDialog.vue +46 -47
  343. package/dialog/SaveAsRKETemplateDialog.vue +46 -47
  344. package/dialog/ScaleMachineDownDialog.vue +3 -3
  345. package/dialog/ScalePoolDownDialog.vue +22 -24
  346. package/dialog/SloDialog.vue +95 -0
  347. package/directives/clean-html.js +3 -3
  348. package/directives/clean-tooltip.js +1 -1
  349. package/directives/focus.js +17 -11
  350. package/directives/int-number.js +2 -2
  351. package/directives/positive-int-number.js +2 -2
  352. package/edit/__tests__/fleet.cattle.io.gitrepo.test.ts +7 -13
  353. package/edit/__tests__/kontainerDriver.test.ts +23 -20
  354. package/edit/__tests__/management.cattle.io.clusterroletemplatebinding.test.ts +31 -29
  355. package/edit/__tests__/management.cattle.io.setting.test.ts +20 -18
  356. package/edit/__tests__/monitoring.coreos.com.prometheusrule.test.ts +17 -15
  357. package/edit/__tests__/namespace.test.ts +28 -27
  358. package/edit/__tests__/nodeDriver.test.ts +35 -53
  359. package/edit/__tests__/service.test.ts +32 -17
  360. package/edit/__tests__/ui.cattle.io.navlink.test.ts +22 -20
  361. package/edit/auth/__tests__/AuthProviderWarningBanners.test.ts +2 -2
  362. package/edit/auth/__tests__/azuread.test.ts +43 -46
  363. package/edit/auth/__tests__/oidc.test.ts +36 -39
  364. package/edit/auth/azuread.vue +16 -23
  365. package/edit/auth/github.vue +6 -6
  366. package/edit/auth/googleoauth.vue +7 -7
  367. package/edit/auth/ldap/config.vue +29 -29
  368. package/edit/auth/ldap/index.vue +5 -5
  369. package/edit/auth/oidc.vue +18 -18
  370. package/edit/auth/saml.vue +94 -24
  371. package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +2 -2
  372. package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +7 -7
  373. package/edit/autoscaling.horizontalpodautoscaler/index.vue +18 -16
  374. package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +3 -3
  375. package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +3 -3
  376. package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +12 -12
  377. package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +5 -5
  378. package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +3 -3
  379. package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +2 -2
  380. package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
  381. package/edit/catalog.cattle.io.clusterrepo.vue +31 -32
  382. package/edit/cis.cattle.io.clusterscan.vue +9 -9
  383. package/edit/cis.cattle.io.clusterscanbenchmark.vue +7 -7
  384. package/edit/cis.cattle.io.clusterscanprofile.vue +3 -3
  385. package/edit/cloudcredential.vue +13 -8
  386. package/edit/configmap.vue +7 -7
  387. package/edit/constraints.gatekeeper.sh.constraint/MatchKinds.vue +3 -3
  388. package/edit/constraints.gatekeeper.sh.constraint/NamespaceList.vue +1 -1
  389. package/edit/constraints.gatekeeper.sh.constraint/Scope.vue +1 -1
  390. package/edit/constraints.gatekeeper.sh.constraint/index.vue +21 -22
  391. package/edit/fleet.cattle.io.cluster.vue +2 -1
  392. package/edit/fleet.cattle.io.clustergroup.vue +6 -5
  393. package/edit/fleet.cattle.io.gitrepo.vue +18 -18
  394. package/edit/helm.cattle.io.projecthelmchart.vue +4 -4
  395. package/edit/k8s.cni.cncf.io.networkattachmentdefinition.vue +3 -2
  396. package/edit/logging-flow/Match.vue +4 -4
  397. package/edit/logging-flow/index.vue +11 -10
  398. package/edit/logging.banzaicloud.io.output/__tests__/logging.banzaicloud.io.output.test.ts +79 -73
  399. package/edit/logging.banzaicloud.io.output/index.vue +4 -4
  400. package/edit/logging.banzaicloud.io.output/providers/__tests__/loki.test.ts +1 -1
  401. package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +3 -3
  402. package/edit/logging.banzaicloud.io.output/providers/azurestorage.vue +5 -5
  403. package/edit/logging.banzaicloud.io.output/providers/cloudwatch.vue +6 -6
  404. package/edit/logging.banzaicloud.io.output/providers/datadog.vue +4 -4
  405. package/edit/logging.banzaicloud.io.output/providers/elasticsearch.vue +16 -16
  406. package/edit/logging.banzaicloud.io.output/providers/file.vue +1 -1
  407. package/edit/logging.banzaicloud.io.output/providers/forward.vue +9 -9
  408. package/edit/logging.banzaicloud.io.output/providers/gcs.vue +5 -5
  409. package/edit/logging.banzaicloud.io.output/providers/gelf.vue +14 -14
  410. package/edit/logging.banzaicloud.io.output/providers/kafka.vue +10 -10
  411. package/edit/logging.banzaicloud.io.output/providers/kinesisStream.vue +3 -3
  412. package/edit/logging.banzaicloud.io.output/providers/logdna.vue +3 -3
  413. package/edit/logging.banzaicloud.io.output/providers/logz.vue +5 -5
  414. package/edit/logging.banzaicloud.io.output/providers/loki.vue +10 -10
  415. package/edit/logging.banzaicloud.io.output/providers/newrelic.vue +3 -3
  416. package/edit/logging.banzaicloud.io.output/providers/opensearch.vue +15 -15
  417. package/edit/logging.banzaicloud.io.output/providers/redis.vue +5 -5
  418. package/edit/logging.banzaicloud.io.output/providers/s3.vue +7 -7
  419. package/edit/logging.banzaicloud.io.output/providers/splunkHec.vue +12 -12
  420. package/edit/logging.banzaicloud.io.output/providers/sumologic.vue +2 -2
  421. package/edit/logging.banzaicloud.io.output/providers/syslog.vue +19 -19
  422. package/edit/management.cattle.io.clusterroletemplatebinding.vue +1 -1
  423. package/edit/management.cattle.io.fleetworkspace.vue +9 -7
  424. package/edit/management.cattle.io.node.vue +4 -3
  425. package/edit/management.cattle.io.podsecurityadmissionconfigurationtemplate.vue +3 -2
  426. package/edit/management.cattle.io.project.vue +13 -10
  427. package/edit/management.cattle.io.projectroletemplatebinding.vue +3 -3
  428. package/edit/management.cattle.io.setting.vue +6 -6
  429. package/edit/management.cattle.io.user.vue +4 -4
  430. package/edit/monitoring.coreos.com.alertmanagerconfig/auth.vue +4 -4
  431. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +2 -1
  432. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +5 -5
  433. package/edit/monitoring.coreos.com.alertmanagerconfig/routeConfig.vue +11 -11
  434. package/edit/monitoring.coreos.com.alertmanagerconfig/tls.vue +2 -2
  435. package/edit/monitoring.coreos.com.alertmanagerconfig/types/email.vue +10 -9
  436. package/edit/monitoring.coreos.com.alertmanagerconfig/types/opsgenie.vue +10 -10
  437. package/edit/monitoring.coreos.com.alertmanagerconfig/types/pagerduty.vue +5 -5
  438. package/edit/monitoring.coreos.com.alertmanagerconfig/types/slack.vue +5 -5
  439. package/edit/monitoring.coreos.com.alertmanagerconfig/types/webhook.vue +9 -9
  440. package/edit/monitoring.coreos.com.prometheusrule/AlertingRule.vue +36 -36
  441. package/edit/monitoring.coreos.com.prometheusrule/RecordingRule.vue +4 -4
  442. package/edit/monitoring.coreos.com.prometheusrule/index.vue +9 -9
  443. package/edit/monitoring.coreos.com.receiver/auth.vue +9 -9
  444. package/edit/monitoring.coreos.com.receiver/index.vue +8 -8
  445. package/edit/monitoring.coreos.com.receiver/tls.vue +4 -4
  446. package/edit/monitoring.coreos.com.receiver/types/__tests__/email.test.ts +20 -16
  447. package/edit/monitoring.coreos.com.receiver/types/email.vue +12 -11
  448. package/edit/monitoring.coreos.com.receiver/types/opsgenie.vue +11 -11
  449. package/edit/monitoring.coreos.com.receiver/types/pagerduty.vue +6 -6
  450. package/edit/monitoring.coreos.com.receiver/types/slack.vue +6 -6
  451. package/edit/monitoring.coreos.com.receiver/types/webhook.vue +7 -7
  452. package/edit/monitoring.coreos.com.route.vue +10 -10
  453. package/edit/namespace.vue +10 -8
  454. package/edit/networking.istio.io.destinationrule/LoadBalancer.vue +12 -12
  455. package/edit/networking.istio.io.destinationrule/index.vue +15 -15
  456. package/edit/networking.k8s.io.ingress/Certificate.vue +5 -5
  457. package/edit/networking.k8s.io.ingress/Certificates.vue +2 -2
  458. package/edit/networking.k8s.io.ingress/DefaultBackend.vue +18 -18
  459. package/edit/networking.k8s.io.ingress/IngressClass.vue +1 -1
  460. package/edit/networking.k8s.io.ingress/Rule.vue +9 -7
  461. package/edit/networking.k8s.io.ingress/RulePath.vue +10 -10
  462. package/edit/networking.k8s.io.ingress/Rules.vue +3 -3
  463. package/edit/networking.k8s.io.ingress/index.vue +15 -10
  464. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +4 -4
  465. package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +1 -1
  466. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +47 -32
  467. package/edit/networking.k8s.io.networkpolicy/PolicyRules.vue +3 -3
  468. package/edit/networking.k8s.io.networkpolicy/__tests__/PolicyRuleTarget.test.ts +27 -26
  469. package/edit/networking.k8s.io.networkpolicy/index.vue +18 -16
  470. package/edit/node.vue +6 -5
  471. package/edit/nodeDriver.vue +6 -1
  472. package/edit/persistentvolume/__tests__/persistentvolume.test.ts +60 -49
  473. package/edit/persistentvolume/index.vue +26 -26
  474. package/edit/persistentvolume/plugins/awsElasticBlockStore.vue +8 -8
  475. package/edit/persistentvolume/plugins/azureDisk.vue +10 -10
  476. package/edit/persistentvolume/plugins/azureFile.vue +6 -6
  477. package/edit/persistentvolume/plugins/cephfs.vue +10 -10
  478. package/edit/persistentvolume/plugins/cinder.vue +8 -8
  479. package/edit/persistentvolume/plugins/csi.vue +18 -18
  480. package/edit/persistentvolume/plugins/fc.vue +9 -9
  481. package/edit/persistentvolume/plugins/flexVolume.vue +9 -9
  482. package/edit/persistentvolume/plugins/flocker.vue +3 -3
  483. package/edit/persistentvolume/plugins/gcePersistentDisk.vue +8 -8
  484. package/edit/persistentvolume/plugins/glusterfs.vue +5 -5
  485. package/edit/persistentvolume/plugins/hostPath.vue +4 -4
  486. package/edit/persistentvolume/plugins/iscsi.vue +18 -18
  487. package/edit/persistentvolume/plugins/local.vue +2 -2
  488. package/edit/persistentvolume/plugins/longhorn.vue +8 -8
  489. package/edit/persistentvolume/plugins/nfs.vue +5 -5
  490. package/edit/persistentvolume/plugins/photonPersistentDisk.vue +5 -5
  491. package/edit/persistentvolume/plugins/portworxVolume.vue +6 -6
  492. package/edit/persistentvolume/plugins/quobyte.vue +7 -7
  493. package/edit/persistentvolume/plugins/rbd.vue +12 -12
  494. package/edit/persistentvolume/plugins/scaleIO.vue +15 -15
  495. package/edit/persistentvolume/plugins/storageos.vue +9 -9
  496. package/edit/persistentvolume/plugins/vsphereVolume.vue +5 -5
  497. package/edit/persistentvolumeclaim.vue +29 -28
  498. package/edit/policy.poddisruptionbudget.vue +15 -14
  499. package/edit/provisioning.cattle.io.cluster/AgentEnv.vue +1 -1
  500. package/edit/provisioning.cattle.io.cluster/CustomCommand.vue +10 -10
  501. package/edit/provisioning.cattle.io.cluster/Labels.vue +12 -1
  502. package/edit/provisioning.cattle.io.cluster/SelectCredential.vue +5 -5
  503. package/edit/provisioning.cattle.io.cluster/__tests__/Advanced.test.ts +40 -36
  504. package/edit/provisioning.cattle.io.cluster/__tests__/Basics.test.ts +170 -79
  505. package/edit/provisioning.cattle.io.cluster/__tests__/CustomCommand.test.ts +16 -14
  506. package/edit/provisioning.cattle.io.cluster/__tests__/DirectoryConfig.test.ts +38 -8
  507. package/edit/provisioning.cattle.io.cluster/__tests__/DrainOptions.test.ts +14 -12
  508. package/edit/provisioning.cattle.io.cluster/__tests__/index.test.ts +18 -19
  509. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +292 -84
  510. package/edit/provisioning.cattle.io.cluster/import.vue +7 -4
  511. package/edit/provisioning.cattle.io.cluster/index.vue +32 -13
  512. package/edit/provisioning.cattle.io.cluster/rke2.vue +155 -78
  513. package/edit/provisioning.cattle.io.cluster/tabs/AddOnConfig.vue +5 -5
  514. package/edit/provisioning.cattle.io.cluster/tabs/Advanced.vue +10 -11
  515. package/edit/provisioning.cattle.io.cluster/tabs/AgentConfiguration.vue +12 -11
  516. package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +62 -24
  517. package/edit/provisioning.cattle.io.cluster/tabs/DirectoryConfig.vue +9 -9
  518. package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +12 -12
  519. package/edit/provisioning.cattle.io.cluster/tabs/etcd/S3Config.vue +15 -15
  520. package/edit/provisioning.cattle.io.cluster/tabs/etcd/index.vue +6 -6
  521. package/edit/provisioning.cattle.io.cluster/tabs/networking/ACE.vue +3 -3
  522. package/edit/provisioning.cattle.io.cluster/tabs/networking/index.vue +18 -9
  523. package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryConfigs.vue +16 -12
  524. package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryMirrors.vue +4 -4
  525. package/edit/provisioning.cattle.io.cluster/tabs/registries/__tests__/RegistryConfigs.test.ts +63 -0
  526. package/edit/provisioning.cattle.io.cluster/tabs/registries/index.vue +8 -6
  527. package/edit/provisioning.cattle.io.cluster/tabs/upgrade/DrainOptions.vue +15 -15
  528. package/edit/provisioning.cattle.io.cluster/tabs/upgrade/index.vue +4 -4
  529. package/edit/resources.cattle.io.backup.vue +9 -9
  530. package/edit/resources.cattle.io.restore.vue +11 -11
  531. package/edit/secret/basic.vue +2 -2
  532. package/edit/secret/generic.vue +1 -1
  533. package/edit/secret/index.vue +12 -10
  534. package/edit/secret/registry.vue +4 -4
  535. package/edit/secret/ssh.vue +2 -2
  536. package/edit/secret/tls.vue +2 -2
  537. package/edit/service.vue +25 -25
  538. package/edit/serviceaccount.vue +7 -7
  539. package/edit/storage.k8s.io.storageclass/index.vue +16 -16
  540. package/edit/storage.k8s.io.storageclass/provisioners/custom.vue +1 -1
  541. package/edit/storage.k8s.io.storageclass/provisioners/driver.harvesterhci.io.vue +2 -2
  542. package/edit/storage.k8s.io.storageclass/provisioners/driver.longhorn.io.vue +4 -4
  543. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +12 -12
  544. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-disk.vue +3 -3
  545. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/azure-file.vue +3 -3
  546. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/cinder.vue +4 -4
  547. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +6 -6
  548. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/glusterfs.vue +9 -9
  549. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/portworx-volume.vue +7 -7
  550. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/quobyte.vue +8 -8
  551. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/rbd.vue +11 -11
  552. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/scaleio.vue +8 -8
  553. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/storageos.vue +5 -5
  554. package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +7 -7
  555. package/edit/token.vue +4 -4
  556. package/edit/ui.cattle.io.navlink.vue +28 -27
  557. package/edit/workload/Job.vue +18 -18
  558. package/edit/workload/Upgrading.vue +16 -16
  559. package/edit/workload/VolumeClaimTemplate.vue +3 -3
  560. package/edit/workload/__tests__/Job.test.ts +10 -10
  561. package/edit/workload/__tests__/index.test.ts +32 -29
  562. package/edit/workload/index.vue +31 -30
  563. package/edit/workload/mixins/workload.js +30 -30
  564. package/edit/workload/storage/ContainerMountPaths.vue +3 -4
  565. package/edit/workload/storage/Mount.vue +10 -7
  566. package/edit/workload/storage/__tests__/Mount.test.ts +17 -13
  567. package/edit/workload/storage/__tests__/Storage.test.ts +26 -20
  568. package/edit/workload/storage/awsElasticBlockStore.vue +4 -4
  569. package/edit/workload/storage/azureDisk.vue +7 -7
  570. package/edit/workload/storage/azureFile.vue +5 -5
  571. package/edit/workload/storage/csi/driver.longhorn.io.vue +3 -3
  572. package/edit/workload/storage/csi/index.vue +4 -4
  573. package/edit/workload/storage/emptyDir.vue +4 -4
  574. package/edit/workload/storage/ephemeralVolume/index.vue +3 -3
  575. package/edit/workload/storage/gcePersistentDisk.vue +4 -4
  576. package/edit/workload/storage/hostPath.vue +4 -4
  577. package/edit/workload/storage/index.vue +13 -27
  578. package/edit/workload/storage/nfs.vue +4 -4
  579. package/edit/workload/storage/persistentVolumeClaim/__tests__/persistentvolumeclaim.test.ts +18 -16
  580. package/edit/workload/storage/persistentVolumeClaim/index.vue +5 -5
  581. package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +15 -15
  582. package/edit/workload/storage/secret.vue +9 -9
  583. package/edit/workload/storage/vsphereVolume.vue +4 -4
  584. package/initialize/App.vue +10 -8
  585. package/initialize/app-extended.js +14 -30
  586. package/initialize/entry-helpers.js +29 -428
  587. package/initialize/entry.js +11 -10
  588. package/initialize/install-plugins.js +15 -13
  589. package/list/__tests__/workload.test.ts +22 -20
  590. package/list/catalog.cattle.io.app.vue +1 -1
  591. package/list/cis.cattle.io.clusterscan.vue +1 -2
  592. package/list/fleet.cattle.io.clustergroup.vue +0 -1
  593. package/list/group.principal.vue +1 -1
  594. package/list/management.cattle.io.feature.vue +23 -29
  595. package/list/management.cattle.io.fleetworkspace.vue +0 -1
  596. package/list/management.cattle.io.setting.vue +2 -2
  597. package/list/management.cattle.io.user.vue +1 -1
  598. package/list/namespace.vue +0 -1
  599. package/list/node.vue +4 -5
  600. package/list/provisioning.cattle.io.cluster.vue +1 -1
  601. package/list/rbac.authorization.k8s.io.clusterrolebinding.vue +0 -1
  602. package/machine-config/__tests__/vmwarevsphere.test.ts +10 -7
  603. package/machine-config/amazonec2.vue +26 -26
  604. package/machine-config/azure.vue +31 -31
  605. package/machine-config/digitalocean.vue +8 -8
  606. package/machine-config/generic.vue +2 -1
  607. package/machine-config/linode.vue +4 -4
  608. package/machine-config/pnap.vue +11 -11
  609. package/machine-config/vmwarevsphere-config.ts +17 -0
  610. package/machine-config/vmwarevsphere.vue +400 -410
  611. package/mixins/__tests__/chart.test.ts +45 -24
  612. package/mixins/auth-config.js +37 -11
  613. package/mixins/chart.js +31 -15
  614. package/mixins/compact-input.ts +2 -3
  615. package/mixins/labeled-form-element.ts +8 -3
  616. package/mixins/page-actions.js +1 -1
  617. package/mixins/resource-fetch.js +4 -3
  618. package/models/__tests__/apps.deployment.test.ts +93 -0
  619. package/models/apps.deployment.js +18 -4
  620. package/models/apps.statefulset.js +1 -2
  621. package/models/batch.cronjob.js +1 -2
  622. package/models/catalog.cattle.io.clusterrepo.js +1 -2
  623. package/models/fleet.cattle.io.gitrepo.js +1 -2
  624. package/models/helm.cattle.io.projecthelmchart.js +2 -3
  625. package/models/management.cattle.io.cluster.js +2 -2
  626. package/models/management.cattle.io.roletemplate.js +2 -3
  627. package/models/namespace.js +1 -2
  628. package/models/networking.istio.io.destinationrule.js +2 -3
  629. package/models/persistentvolumeclaim.js +2 -3
  630. package/models/provisioning.cattle.io.cluster.js +4 -0
  631. package/models/workload.js +2 -2
  632. package/package.json +44 -43
  633. package/pages/404.vue +15 -0
  634. package/pages/__tests__/prefs.test.ts +44 -44
  635. package/pages/about.vue +4 -4
  636. package/pages/account/index.vue +1 -2
  637. package/pages/auth/login.vue +29 -9
  638. package/pages/auth/logout.vue +23 -1
  639. package/pages/auth/setup.vue +35 -31
  640. package/pages/auth/verify.vue +38 -5
  641. package/pages/c/_cluster/_product/namespaces.vue +1 -2
  642. package/pages/c/_cluster/apps/charts/chart.vue +4 -4
  643. package/pages/c/_cluster/apps/charts/index.vue +16 -16
  644. package/pages/c/_cluster/apps/charts/install.vue +46 -80
  645. package/pages/c/_cluster/auth/config/index.vue +2 -2
  646. package/pages/c/_cluster/auth/roles/index.vue +2 -2
  647. package/pages/c/_cluster/auth/user.retention/index.vue +34 -95
  648. package/pages/c/_cluster/explorer/EventsTable.vue +1 -1
  649. package/pages/c/_cluster/explorer/__tests__/index.test.ts +32 -34
  650. package/pages/c/_cluster/explorer/index.vue +9 -6
  651. package/pages/c/_cluster/explorer/tools/__tests__/index.test.ts +22 -20
  652. package/pages/c/_cluster/fleet/index.vue +5 -6
  653. package/pages/c/_cluster/gatekeeper/index.vue +4 -5
  654. package/pages/c/_cluster/istio/index.vue +6 -8
  655. package/pages/c/_cluster/logging/index.vue +9 -5
  656. package/pages/c/_cluster/longhorn/__tests__/longhorn.index.test.ts +7 -4
  657. package/pages/c/_cluster/longhorn/index.vue +2 -9
  658. package/pages/c/_cluster/manager/drivers/kontainerDriver/index.vue +1 -1
  659. package/pages/c/_cluster/manager/jwt.authentication/index.vue +14 -5
  660. package/pages/c/_cluster/monitoring/alertmanagerconfig/_alertmanagerconfigid/receiver.vue +1 -1
  661. package/pages/c/_cluster/monitoring/index.vue +8 -10
  662. package/pages/c/_cluster/neuvector/index.vue +7 -10
  663. package/pages/c/_cluster/settings/DefaultLinksEditor.vue +7 -9
  664. package/pages/c/_cluster/settings/banners.vue +82 -84
  665. package/pages/c/_cluster/settings/brand.vue +21 -19
  666. package/pages/c/_cluster/settings/links.vue +6 -4
  667. package/pages/c/_cluster/settings/performance.vue +25 -21
  668. package/pages/c/_cluster/uiplugins/AddExtensionRepos.vue +2 -2
  669. package/pages/c/_cluster/uiplugins/CatalogList/CatalogLoadDialog.vue +43 -45
  670. package/pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue +5 -5
  671. package/pages/c/_cluster/uiplugins/InstallDialog.vue +1 -1
  672. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +3 -3
  673. package/pages/c/_cluster/uiplugins/__tests__/AddExtensionRepos.test.ts +17 -34
  674. package/pages/c/_cluster/uiplugins/__tests__/SetupUIPlugins.test.ts +12 -9
  675. package/pages/c/_cluster/uiplugins/index.vue +173 -176
  676. package/pages/diagnostic.vue +6 -9
  677. package/pages/fail-whale.vue +3 -1
  678. package/pages/home.vue +8 -17
  679. package/pages/index.vue +17 -16
  680. package/pages/prefs.vue +12 -12
  681. package/pages/support/index.vue +3 -3
  682. package/pkg/tsconfig.json +0 -1
  683. package/plugins/dashboard-store/actions.js +1 -1
  684. package/plugins/dashboard-store/getters.js +1 -1
  685. package/plugins/dashboard-store/index.js +2 -0
  686. package/plugins/dashboard-store/mutations.js +5 -5
  687. package/plugins/dashboard-store/resource-class.js +5 -5
  688. package/plugins/extend-router.js +62 -42
  689. package/plugins/floating-vue.js +1 -0
  690. package/plugins/formatters.js +1 -1
  691. package/plugins/global-formatters.js +3 -14
  692. package/plugins/i18n.js +17 -22
  693. package/plugins/shortkey.js +273 -0
  694. package/plugins/steve/__tests__/getters.test.ts +6 -3
  695. package/plugins/steve/getters.js +6 -4
  696. package/plugins/steve/hybrid-class.js +7 -12
  697. package/plugins/steve/mutations.js +1 -2
  698. package/plugins/steve/norman-class.js +10 -11
  699. package/plugins/steve/subscribe.js +3 -1
  700. package/promptRemove/management.cattle.io.globalrole.vue +1 -5
  701. package/promptRemove/management.cattle.io.project.vue +1 -1
  702. package/promptRemove/pod.vue +1 -1
  703. package/public/index.html +53 -52
  704. package/rancher-components/BadgeState/BadgeState.test.ts +1 -1
  705. package/rancher-components/BadgeState/BadgeState.vue +1 -1
  706. package/rancher-components/Banner/Banner.test.ts +2 -2
  707. package/rancher-components/Form/Checkbox/Checkbox.test.ts +5 -5
  708. package/rancher-components/Form/Checkbox/Checkbox.vue +4 -4
  709. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +5 -5
  710. package/rancher-components/Form/LabeledInput/LabeledInput.vue +15 -4
  711. package/rancher-components/Form/Radio/RadioButton.vue +3 -2
  712. package/rancher-components/Form/Radio/RadioGroup.test.ts +6 -9
  713. package/rancher-components/Form/Radio/RadioGroup.vue +4 -5
  714. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +18 -1
  715. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.test.ts +13 -13
  716. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +1 -1
  717. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +1 -0
  718. package/rancher-components/StringList/StringList.test.ts +22 -22
  719. package/rancher-components/StringList/StringList.vue +10 -9
  720. package/scripts/extension/helm/charts/ui-plugin-server/Chart.yaml +1 -1
  721. package/scripts/publish-shell.sh +52 -58
  722. package/scripts/test-plugins-build.sh +44 -38
  723. package/scripts/vue-migrate.js +7 -4
  724. package/shell/types/shell/index.d.ts +2 -0
  725. package/store/__tests__/catalog.test.ts +4 -21
  726. package/store/auth.js +28 -10
  727. package/store/index.js +16 -8
  728. package/store/prefs.js +3 -4
  729. package/types/resources/settings.d.ts +54 -0
  730. package/types/store/pagination.types.ts +1 -1
  731. package/utils/auth.js +21 -6
  732. package/utils/axios.js +1 -1
  733. package/utils/download.js +1 -1
  734. package/utils/dynamic-importer.js +14 -12
  735. package/utils/error.js +4 -4
  736. package/utils/object.js +4 -5
  737. package/utils/router.js +7 -1
  738. package/utils/select.js +1 -1
  739. package/utils/settings.ts +3 -1
  740. package/utils/unit-tests/ChildRenderingRouterLinkStub.ts +4 -4
  741. package/vue.config.js +171 -145
  742. package/config/middleware.js +0 -6
  743. package/config/nuxt-paths.js +0 -7
  744. package/creators/app/app.package.json +0 -14
  745. package/creators/app/files/.eslintignore +0 -16
  746. package/creators/app/files/.eslintrc.js +0 -173
  747. package/creators/app/files/.gitignore +0 -70
  748. package/creators/app/files/.gitlab-ci.yml +0 -14
  749. package/creators/app/files/.vscode/settings.json +0 -21
  750. package/creators/app/files/babel.config.js +0 -1
  751. package/creators/app/files/tsconfig.json +0 -42
  752. package/creators/app/files/vue.config.js +0 -6
  753. package/creators/app/init +0 -120
  754. package/creators/app/package.json +0 -25
  755. package/creators/pkg/files/.github/workflows/build-extension-catalog.yml +0 -24
  756. package/creators/pkg/files/.github/workflows/build-extension-charts.yml +0 -22
  757. package/creators/pkg/files/babel.config.js +0 -1
  758. package/creators/pkg/files/index.ts +0 -14
  759. package/creators/pkg/files/tsconfig.json +0 -53
  760. package/creators/pkg/files/vue.config.js +0 -1
  761. package/creators/pkg/init +0 -286
  762. package/creators/pkg/package.json +0 -19
  763. package/creators/pkg/pkg.package.json +0 -21
  764. package/creators/pkg/vue-shim.ts +0 -4
  765. package/creators/update/init +0 -56
  766. package/creators/update/package.json +0 -20
  767. package/creators/update/upgrade +0 -56
  768. package/pages/c/_cluster/backup/index.vue +0 -11
  769. package/pages/c/_cluster/cis/index.vue +0 -11
  770. package/plugins/clean-html-directive.js +0 -9
  771. package/plugins/clean-tooltip-directive.js +0 -8
  772. package/plugins/directives.js +0 -8
  773. package/plugins/int-number.js +0 -8
  774. package/plugins/positive-int-number.js +0 -8
  775. package/plugins/trim-whitespace.js +0 -9
  776. package/plugins/vue-js-modal.js +0 -4
  777. package/types/shell/index.d.ts +0 -4585
  778. package/utils/install-redirect.js +0 -55
  779. /package/utils/{cookie-universal-nuxt.js → cookie-universal.js} +0 -0
@@ -6,7 +6,7 @@ import defaults from './utils/questions-defaults';
6
6
  describe('the yaml Component', () => {
7
7
  it('input field is present', () => {
8
8
  const wrapper = mount(Questions, {
9
- propsData: {
9
+ props: {
10
10
  value: {},
11
11
  targetNamespace: 'test',
12
12
  source: [{
@@ -16,8 +16,11 @@ describe('the yaml Component', () => {
16
16
  }],
17
17
  mode: _EDIT
18
18
  },
19
- mocks: defaults.mocks,
20
- stubs: defaults.stubs,
19
+
20
+ global: {
21
+ mocks: defaults.mocks,
22
+ stubs: defaults.stubs,
23
+ },
21
24
  });
22
25
 
23
26
  const inputFields = wrapper.findAll('[data-testid="yaml-input-var_name"]');
@@ -36,7 +39,7 @@ describe('the yaml Component', () => {
36
39
 
37
40
  it('description is present', () => {
38
41
  const wrapper = mount(Questions, {
39
- propsData: {
42
+ props: {
40
43
  value: {},
41
44
  targetNamespace: 'test',
42
45
  source: [{
@@ -46,8 +49,11 @@ describe('the yaml Component', () => {
46
49
  }],
47
50
  mode: _EDIT
48
51
  },
49
- mocks: defaults.mocks,
50
- stubs: defaults.stubs,
52
+
53
+ global: {
54
+ mocks: defaults.mocks,
55
+ stubs: defaults.stubs,
56
+ },
51
57
  });
52
58
 
53
59
  const inputFields = wrapper.findAll('[data-testid="yaml-input-var_name"]');
@@ -62,7 +68,7 @@ describe('the yaml Component', () => {
62
68
 
63
69
  it('label is present', () => {
64
70
  const wrapper = mount(Questions, {
65
- propsData: {
71
+ props: {
66
72
  value: {},
67
73
  targetNamespace: 'test',
68
74
  source: [{
@@ -72,8 +78,11 @@ describe('the yaml Component', () => {
72
78
  }],
73
79
  mode: _EDIT
74
80
  },
75
- mocks: defaults.mocks,
76
- stubs: defaults.stubs,
81
+
82
+ global: {
83
+ mocks: defaults.mocks,
84
+ stubs: defaults.stubs,
85
+ },
77
86
  });
78
87
 
79
88
  const inputFields = wrapper.findAll('[data-testid="yaml-input-var_name"]');
@@ -88,7 +97,7 @@ describe('the yaml Component', () => {
88
97
 
89
98
  it('tooltip is present', () => {
90
99
  const wrapper = mount(Questions, {
91
- propsData: {
100
+ props: {
92
101
  value: {},
93
102
  targetNamespace: 'test',
94
103
  source: [{
@@ -98,15 +107,18 @@ describe('the yaml Component', () => {
98
107
  }],
99
108
  mode: _EDIT
100
109
  },
101
- mocks: defaults.mocks,
102
- stubs: defaults.stubs,
110
+
111
+ global: {
112
+ mocks: defaults.mocks,
113
+ stubs: defaults.stubs,
114
+ },
103
115
  });
104
116
 
105
117
  const inputFields = wrapper.findAll('[data-testid="yaml-input-var_name"]');
106
118
 
107
119
  expect(inputFields).toHaveLength(1);
108
120
 
109
- const labelFields = wrapper.findAll('[data-testid="yaml-row-var_name"] .has-tooltip');
121
+ const labelFields = wrapper.findAll('[data-testid="yaml-row-var_name"] .v-popper--has-tooltip');
110
122
 
111
123
  expect(labelFields).toHaveLength(1);
112
124
  });
@@ -1,7 +1,7 @@
1
1
 
2
2
  const defaultStubs = {
3
- Tab: true,
4
- Tabbed: true,
3
+ Tab: { template: '<span><slot/></span>' },
4
+ Tabbed: false,
5
5
  };
6
6
  const defaultGetters = {
7
7
  currentStore: () => 'current_store',
@@ -452,15 +452,15 @@ export default {
452
452
  />
453
453
  <form v-else-if="asTabs">
454
454
  <Tab
455
- v-for="g in groups"
456
- :key="g.name"
455
+ v-for="(g, i) in groups"
456
+ :key="i"
457
457
  :name="g.name"
458
458
  :label="g.name"
459
459
  :weight="g.weight"
460
460
  >
461
461
  <div
462
- v-for="q in g.questions"
463
- :key="q.variable"
462
+ v-for="(q, j) in g.questions"
463
+ :key="`${i}-${j}`"
464
464
  class="row question"
465
465
  >
466
466
  <div class="col span-12">
@@ -472,7 +472,7 @@ export default {
472
472
  :value="get(value, q.variable)"
473
473
  :disabled="disabled"
474
474
  :chart-name="chartName"
475
- @input="update(q.variable, $event)"
475
+ @update:value="update(q.variable, $event)"
476
476
  />
477
477
  </div>
478
478
  </div>
@@ -480,15 +480,15 @@ export default {
480
480
  </form>
481
481
  <form v-else>
482
482
  <div
483
- v-for="g in groups"
484
- :key="g.name"
483
+ v-for="(g, i) in groups"
484
+ :key="i"
485
485
  >
486
486
  <h3 v-if="groups.length > 1">
487
487
  {{ g.label }}
488
488
  </h3>
489
489
  <div
490
- v-for="q in g.questions"
491
- :key="q.variable"
490
+ v-for="(q, j) in g.questions"
491
+ :key="`${i}-${j}`"
492
492
  class="row question"
493
493
  >
494
494
  <div class="col span-12">
@@ -501,7 +501,7 @@ export default {
501
501
  :value="get(value, q.variable)"
502
502
  :disabled="disabled"
503
503
  :chart-name="chartName"
504
- @input="update(q.variable, $event)"
504
+ @update:value="update(q.variable, $event)"
505
505
  />
506
506
  </div>
507
507
  </div>
@@ -43,7 +43,7 @@ export default {
43
43
  return { label: this.update(), value: 0 };
44
44
  },
45
45
 
46
- beforeDestroy() {
46
+ beforeUnmount() {
47
47
  clearTimeout(this.timer);
48
48
  },
49
49
 
@@ -85,6 +85,11 @@ export default {
85
85
  type: String,
86
86
  default: null,
87
87
  },
88
+
89
+ canViewYaml: {
90
+ type: Boolean,
91
+ default: false,
92
+ }
88
93
  },
89
94
 
90
95
  data() {
@@ -503,12 +508,12 @@ export default {
503
508
  icon-size="lg"
504
509
  :options="sensitiveOptions"
505
510
  class="mr-10"
506
- @input="toggleSensitiveData"
511
+ @update:value="toggleSensitiveData"
507
512
  />
508
513
 
509
514
  <ButtonGroup
510
515
  v-if="viewOptions && isView"
511
- v-model="currentView"
516
+ v-model:value="currentView"
512
517
  :options="viewOptions"
513
518
  class="mr-10"
514
519
  />
@@ -273,6 +273,7 @@ export default {
273
273
  model: null,
274
274
  notFound: null,
275
275
  canViewChart: true,
276
+ canViewYaml: null,
276
277
  };
277
278
  },
278
279
 
@@ -406,21 +407,22 @@ export default {
406
407
  <ResourceYaml
407
408
  v-else-if="isYaml"
408
409
  ref="resourceyaml"
409
- v-model="value"
410
+ :value="value"
410
411
  :mode="mode"
411
412
  :yaml="yaml"
412
413
  :offer-preview="offerPreview"
413
414
  :done-route="doneRoute"
414
415
  :done-override="value.doneOverride"
415
416
  :class="{'flex-content': flexContent}"
417
+ @update:value="$emit('input', $event)"
416
418
  />
417
419
 
418
420
  <component
419
421
  :is="showComponent"
420
422
  v-else
421
423
  ref="comp"
422
- v-model="value"
423
- v-bind="_data"
424
+ v-model:value="value"
425
+ v-bind="$data"
424
426
  :done-params="doneParams"
425
427
  :done-route="doneRoute"
426
428
  :mode="mode"
@@ -428,6 +430,7 @@ export default {
428
430
  :live-value="liveModel"
429
431
  :real-mode="realMode"
430
432
  :class="{'flex-content': flexContent}"
433
+ @update:value="$emit('input', $event)"
431
434
  @set-subtype="setSubtype"
432
435
  />
433
436
 
@@ -238,5 +238,9 @@ export default {
238
238
 
239
239
  .sub-header {
240
240
  grid-area: sub-header;
241
+
242
+ a {
243
+ display: inline-block;
244
+ }
241
245
  }
242
246
  </style>
@@ -47,7 +47,8 @@ export default {
47
47
  if ( this.hasListComponent ) {
48
48
  // If you provide your own list then call its fetch
49
49
  const importer = this.listComponent;
50
- const component = (await importer())?.default;
50
+
51
+ const component = await importer.__asyncLoader();
51
52
 
52
53
  if ( component?.typeDisplay ) {
53
54
  this.customTypeDisplay = component.typeDisplay.apply(this);
@@ -231,7 +232,10 @@ export default {
231
232
  {{ t('resourceList.nsFilteringGeneric') }}
232
233
  </template>
233
234
  </IconMessage>
234
- <div v-else>
235
+ <div
236
+ v-else
237
+ class="outlet"
238
+ >
235
239
  <Masthead
236
240
  v-if="showMasthead"
237
241
  :type-display="customTypeDisplay"
@@ -241,7 +245,7 @@ export default {
241
245
  :load-resources="loadResources"
242
246
  :load-indeterminate="loadIndeterminate"
243
247
  >
244
- <template slot="extraActions">
248
+ <template #extraActions>
245
249
  <slot name="extraActions" />
246
250
  </template>
247
251
  </Masthead>
@@ -252,7 +256,9 @@ export default {
252
256
  :location="extensionLocation"
253
257
  />
254
258
 
255
- <div v-if="hasListComponent">
259
+ <div
260
+ v-if="hasListComponent"
261
+ >
256
262
  <component
257
263
  :is="listComponent"
258
264
  :incremental-loading-indicator="showIncrementalLoadingIndicator"
@@ -148,7 +148,7 @@ export default {
148
148
  }
149
149
  }
150
150
 
151
- ::v-deep .content{
151
+ :deep() .content{
152
152
  display: flex;
153
153
  justify-content: space-between;
154
154
  align-items: center;
@@ -194,7 +194,7 @@ export default {
194
194
  window.addEventListener('keyup', this.handleEnterKeyPress);
195
195
  },
196
196
 
197
- beforeDestroy() {
197
+ beforeUnmount() {
198
198
  window.removeEventListener('keyup', this.handleEnterKeyPress);
199
199
  },
200
200
 
@@ -562,8 +562,6 @@ export default {
562
562
  :mandatory-sort="_mandatorySort"
563
563
  @clickedActionButton="handleActionButtonClick"
564
564
  @group-value-change="group = $event"
565
-
566
- v-on="$listeners"
567
565
  >
568
566
  <template
569
567
  v-if="showGrouping"
@@ -572,7 +570,7 @@ export default {
572
570
  <slot name="more-header-middle" />
573
571
 
574
572
  <ButtonGroup
575
- v-model="group"
573
+ v-model:value="group"
576
574
  :options="groupOptions"
577
575
  />
578
576
  </template>
@@ -593,7 +591,8 @@ export default {
593
591
 
594
592
  <!-- Pass down templates provided by the caller -->
595
593
  <template
596
- v-for="(_, slot) of $scopedSlots"
594
+ v-for="(_, slot) of $slots"
595
+ :key="slot"
597
596
  v-slot:[slot]="scope"
598
597
  >
599
598
  <slot
@@ -347,11 +347,10 @@ export default {
347
347
  <div class="root resource-yaml">
348
348
  <YamlEditor
349
349
  ref="yamleditor"
350
- v-model="currentYaml"
350
+ v-model:value="currentYaml"
351
351
  :initial-yaml-values="initialYaml"
352
352
  class="yaml-editor flex-content"
353
353
  :editor-mode="editorMode"
354
- @onInput="onInput"
355
354
  @onReady="onReady"
356
355
  @onChanges="onChanges"
357
356
  />
@@ -349,7 +349,7 @@ export default {
349
349
 
350
350
  remove(row) {
351
351
  if ( row.existing ) {
352
- this.$set(row, 'remove', true);
352
+ row['remove'] = true;
353
353
  } else {
354
354
  removeObject(this.rows, row);
355
355
  }
@@ -389,7 +389,7 @@ export default {
389
389
  >
390
390
  <div class="subject">
391
391
  <LabeledSelect
392
- v-model="row.subject"
392
+ v-model:value="row.subject"
393
393
  label-key="rbac.roleBinding.user.label"
394
394
  :mode="mode"
395
395
  :searchable="true"
@@ -399,7 +399,7 @@ export default {
399
399
  </div>
400
400
  <div class="binding">
401
401
  <LabeledSelect
402
- v-model="row.role"
402
+ v-model:value="row.role"
403
403
  label-key="rbac.roleBinding.role.label"
404
404
  :mode="mode"
405
405
  :searchable="true"
@@ -400,10 +400,12 @@ export default {
400
400
  <nav class="side-nav">
401
401
  <!-- Actual nav -->
402
402
  <div class="nav">
403
- <template v-for="(g) in groups">
403
+ <template
404
+ v-for="(g) in groups"
405
+ :key="g.name"
406
+ >
404
407
  <Group
405
408
  ref="groups"
406
- :key="g.name"
407
409
  id-prefix=""
408
410
  class="package"
409
411
  :group="g"
@@ -436,10 +438,10 @@ export default {
436
438
 
437
439
  <!-- locale selector -->
438
440
  <span v-if="isSingleProduct">
439
- <v-popover
440
- popover-class="localeSelector"
441
+ <v-dropdown
442
+ popperClass="localeSelector"
441
443
  placement="top"
442
- trigger="click"
444
+ :triggers="['click']"
443
445
  >
444
446
  <a
445
447
  data-testid="locale-selector"
@@ -448,7 +450,7 @@ export default {
448
450
  {{ locale }}
449
451
  </a>
450
452
 
451
- <template slot="popover">
453
+ <template #popper>
452
454
  <ul
453
455
  class="list-unstyled dropdown"
454
456
  style="margin: -1px;"
@@ -463,7 +465,7 @@ export default {
463
465
  </li>
464
466
  </ul>
465
467
  </template>
466
- </v-popover>
468
+ </v-dropdown>
467
469
  </span>
468
470
  </div>
469
471
  <!-- SideNav footer alternative -->
@@ -505,7 +507,7 @@ export default {
505
507
  overflow-y: auto;
506
508
 
507
509
  // h6 is used in Group element
508
- ::v-deep h6 {
510
+ :deep() h6 {
509
511
  margin: 0;
510
512
  letter-spacing: normal;
511
513
  line-height: 15px;
@@ -32,7 +32,6 @@ export default {
32
32
  v-if="shown"
33
33
  class="simple-box"
34
34
  data-testid="simple-box-container"
35
- v-on="$listeners"
36
35
  >
37
36
  <div
38
37
  v-if="title || canClose || $slots.title"
@@ -215,7 +215,7 @@ export default {
215
215
  :width="checkWidth"
216
216
  >
217
217
  <Checkbox
218
- v-model="isAll"
218
+ v-model:value="isAll"
219
219
  class="check"
220
220
  data-testid="sortable-table_check_select_all"
221
221
  :indeterminate="isIndeterminate"
@@ -227,7 +227,7 @@ export default {
227
227
  :width="expandWidth"
228
228
  />
229
229
  <th
230
- v-for="col in columns"
230
+ v-for="(col) in columns"
231
231
  v-show="!hasAdvancedFiltering || (hasAdvancedFiltering && col.isColVisible)"
232
232
  :key="col.name"
233
233
  :align="col.align || 'left'"
@@ -302,7 +302,7 @@ export default {
302
302
  >
303
303
  <span class="table-options-col-subtitle">{{ t('sortableTable.tableHeader.groupBy') }}:</span>
304
304
  <LabeledSelect
305
- v-model="advGroup"
305
+ v-model:value="advGroup"
306
306
  class="table-options-grouping-select"
307
307
  :clearable="true"
308
308
  :options="groupOptions"
@@ -325,10 +325,10 @@ export default {
325
325
  >
326
326
  <Checkbox
327
327
  v-show="!col.preventColToggle"
328
- v-model="col.isColVisible"
328
+ v-model:value="col.isColVisible"
329
329
  class="table-options-checkbox"
330
330
  :label="col.label"
331
- @input="tableOptionsCheckbox($event, col.label)"
331
+ @update:value="tableOptionsCheckbox($event, col.label)"
332
332
  />
333
333
  </li>
334
334
  </ul>
@@ -20,15 +20,11 @@ import actions from './actions';
20
20
  import AdvancedFiltering from './advanced-filtering';
21
21
  import LabeledSelect from '@shell/components/form/LabeledSelect';
22
22
  import { getParent } from '@shell/utils/dom';
23
+ import { FORMATTERS } from '@shell/components/SortableTable/sortable-config';
23
24
 
24
25
  // Uncomment for table performance debugging
25
26
  // import tableDebug from './debug';
26
27
 
27
- // Its quicker to render if we directly supply the components for the formatters
28
- // rather than just the name of a global component - so create a map of the formatter comoponents
29
- // NOTE: This is populated by a plugin (formatters.js) to avoid issues with plugins
30
- export const FORMATTERS = {};
31
-
32
28
  // @TODO:
33
29
  // Fixed header/scrolling
34
30
 
@@ -382,7 +378,7 @@ export default {
382
378
  this.debouncedPaginationChanged();
383
379
  },
384
380
 
385
- beforeDestroy() {
381
+ beforeUnmount() {
386
382
  clearTimeout(this._scrollTimer);
387
383
  clearTimeout(this._loadingDelayTimer);
388
384
  clearTimeout(this._altLoadingDelayTimer);
@@ -549,9 +545,9 @@ export default {
549
545
  showHeaderRow() {
550
546
  return this.search ||
551
547
  this.tableActions ||
552
- this.$slots['header-left']?.length ||
553
- this.$slots['header-middle']?.length ||
554
- this.$slots['header-right']?.length;
548
+ this.$slots['header-left']?.() ||
549
+ this.$slots['header-middle']?.() ||
550
+ this.$slots['header-right']?.();
555
551
  },
556
552
 
557
553
  columns() {
@@ -1017,7 +1013,7 @@ export default {
1017
1013
  <slot name="header-left">
1018
1014
  <template v-if="tableActions">
1019
1015
  <button
1020
- v-for="act in availableActions"
1016
+ v-for="(act) in availableActions"
1021
1017
  :id="act.action"
1022
1018
  :key="act.action"
1023
1019
  v-clean-tooltip="actionTooltip"
@@ -1056,9 +1052,9 @@ export default {
1056
1052
  <template #popover-content>
1057
1053
  <ul class="list-unstyled menu">
1058
1054
  <li
1059
- v-for="act in hiddenActions"
1060
- :key="act.action"
1061
- v-close-popover
1055
+ v-for="(act, i) in hiddenActions"
1056
+ :key="i"
1057
+ v-close-popper
1062
1058
  v-clean-tooltip="{
1063
1059
  content: actionTooltip,
1064
1060
  placement: 'right'
@@ -1088,14 +1084,14 @@ export default {
1088
1084
  </slot>
1089
1085
  </div>
1090
1086
  <div
1091
- v-if="!hasAdvancedFiltering && ($slots['header-middle'] && $slots['header-middle'].length)"
1087
+ v-if="!hasAdvancedFiltering && $slots['header-middle']"
1092
1088
  class="middle"
1093
1089
  >
1094
1090
  <slot name="header-middle" />
1095
1091
  </div>
1096
1092
 
1097
1093
  <div
1098
- v-if="search || hasAdvancedFiltering || isTooManyItemsToAutoUpdate || ($slots['header-right'] && $slots['header-right'].length)"
1094
+ v-if="search || hasAdvancedFiltering || isTooManyItemsToAutoUpdate || $slots['header-right']"
1099
1095
  class="search row"
1100
1096
  data-testid="search-box-filter-row"
1101
1097
  >
@@ -1148,7 +1144,7 @@ export default {
1148
1144
  <div class="middle-block">
1149
1145
  <span>{{ t('sortableTable.in') }}</span>
1150
1146
  <LabeledSelect
1151
- v-model="advFilterSelectedProp"
1147
+ v-model:value="advFilterSelectedProp"
1152
1148
  class="filter-select"
1153
1149
  :clearable="true"
1154
1150
  :options="advFilterSelectOptions"
@@ -1265,7 +1261,7 @@ export default {
1265
1261
  </slot>
1266
1262
  </tbody>
1267
1263
  <tbody
1268
- v-for="groupedRows in displayRows"
1264
+ v-for="(groupedRows) in displayRows"
1269
1265
  v-else
1270
1266
  :key="groupedRows.key"
1271
1267
  :class="{ group: groupBy }"
@@ -1292,7 +1288,10 @@ export default {
1292
1288
  </td>
1293
1289
  </tr>
1294
1290
  </slot>
1295
- <template v-for="(row, i) in groupedRows.rows">
1291
+ <template
1292
+ v-for="(row, i) in groupedRows.rows"
1293
+ :key="i"
1294
+ >
1296
1295
  <slot
1297
1296
  name="main-row"
1298
1297
  :row="row.row"
@@ -1305,7 +1304,6 @@ export default {
1305
1304
  because our selection.js invokes toggleClass and :class clobbers what was added by toggleClass if
1306
1305
  the value of :class changes. -->
1307
1306
  <tr
1308
- :key="row.key"
1309
1307
  class="main-row"
1310
1308
  :data-testid="componentTestid + '-' + i + '-row'"
1311
1309
  :class="{ 'has-sub-row': row.showSubRow}"
@@ -1339,7 +1337,10 @@ export default {
1339
1337
  @click.stop="toggleExpand(row.row)"
1340
1338
  />
1341
1339
  </td>
1342
- <template v-for="(col, j) in row.columns">
1340
+ <template
1341
+ v-for="(col, j) in row.columns"
1342
+ :key="j"
1343
+ >
1343
1344
  <slot
1344
1345
  :name="'col:' + col.col.name"
1345
1346
  :row="row.row"
@@ -0,0 +1,4 @@
1
+ // Its quicker to render if we directly supply the components for the formatters
2
+ // rather than just the name of a global component - so create a map of the formatter comoponents
3
+ // NOTE: This is populated by a plugin (formatters.js) to avoid issues with plugins
4
+ export const FORMATTERS = {};
@@ -33,7 +33,7 @@ export default {
33
33
  $event.stopPropagation();
34
34
  $event.preventDefault();
35
35
 
36
- copyTextToClipboard(this.$slots.default[0].text).then(() => {
36
+ copyTextToClipboard(this.$slots.default()[0].text).then(() => {
37
37
  this.copied = true;
38
38
 
39
39
  setTimeout(() => {
@@ -32,13 +32,13 @@ export default {
32
32
  methods: {
33
33
  // This isn't a computed prop because it would trigger a recompute when the $slots changed
34
34
  computeTitle() {
35
- if (!this.$slots.default || this.$slots.default.length !== 1 || this.$slots.default[0].tag || (typeof this.$slots.default[0].text !== 'string')) {
35
+ if (!this.$slots.default || (typeof this.$slots.default()[0].children) !== 'string') {
36
36
  console.error('The <TabTitle> component only supports text as the child.'); // eslint-disable-line no-console
37
37
 
38
38
  return [];
39
39
  }
40
40
 
41
- const breadcrumb = [this.$slots.default[0].text.trim()];
41
+ const breadcrumb = [this.$slots.default()[0].children.trim()];
42
42
 
43
43
  if (this.breadcrumb === 'full') {
44
44
  if (this.currentCluster && (this.isExplorer || this.currentCluster.isHarvester ) ) {
@@ -70,15 +70,9 @@ export default {
70
70
  // Using the render function instead of <template> because <template><slot /></template> will yield a compiler error since
71
71
  // <slot /> is not allowed to be a root node of a <template> and I don't want to wrap the child to avoid affecting existing styling
72
72
  render() {
73
- if (this.$slots.default) {
74
- this.$slots.default.forEach((e) => {
75
- e.text = (e.text || '').trim();
76
- });
77
- }
78
-
79
73
  this.updatePageTitle();
80
74
 
81
- return this.showChild ? this.$slots.default : null;
75
+ return this.showChild ? this.$slots.default() : null;
82
76
  }
83
77
  };
84
78
  </script>
@@ -81,7 +81,7 @@ export default {
81
81
  this.addTab(this);
82
82
  },
83
83
 
84
- beforeDestroy() {
84
+ beforeUnmount() {
85
85
  this.removeTab(this);
86
86
  }
87
87
  };