dashboard-shell-shell 1.0.10000011122 → 3.0.5-test.1

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 (695) hide show
  1. package/assets/data/aws-regions.json +3 -0
  2. package/assets/icons/demo.css:Zone.Identifier +0 -0
  3. package/assets/icons/demo_index.html:Zone.Identifier +0 -0
  4. package/assets/icons/iconfont.css:Zone.Identifier +0 -0
  5. package/assets/icons/iconfont.js:Zone.Identifier +0 -0
  6. package/assets/icons/iconfont.json:Zone.Identifier +0 -0
  7. package/assets/icons/iconfont.ttf:Zone.Identifier +0 -0
  8. package/assets/icons/iconfont.woff2:Zone.Identifier +0 -0
  9. package/assets/icons/iconfont.woff:Zone.Identifier +0 -0
  10. package/assets/images/action.svg +6 -0
  11. package/assets/images/icons/document.svg +3 -0
  12. package/assets/images/key.svg +17 -0
  13. package/assets/images/pl/logo.png +0 -0
  14. package/assets/images/providers/sks.svg +1 -0
  15. package/assets/images/vendor/cognito.svg +1 -0
  16. package/assets/styles/app.scss +3 -0
  17. package/assets/styles/base/_basic.scss +10 -0
  18. package/assets/styles/base/_functions.scss +0 -0
  19. package/assets/styles/base/_mixins.scss +1 -1
  20. package/assets/styles/base/_spacing.scss +29 -0
  21. package/assets/styles/base/_variables.scss +16 -10
  22. package/assets/styles/global/_button.scss +17 -10
  23. package/assets/styles/global/_form.scss +2 -2
  24. package/assets/styles/global/_labeled-input.scss +7 -3
  25. package/assets/styles/global/_layout.scss +1 -1
  26. package/assets/styles/global/_select.scss +6 -7
  27. package/assets/styles/global/_table.scss +3 -2
  28. package/assets/styles/global/_tooltip.scss +8 -1
  29. package/assets/styles/themes/_dark.scss +32 -0
  30. package/assets/styles/themes/_light.scss +85 -4
  31. package/assets/styles/vendor/vue-select.scss +2 -1
  32. package/assets/translations/en-us.yaml +822 -107
  33. package/assets/translations/zh-hans.yaml +64 -31
  34. package/chart/__tests__/S3.test.ts +2 -1
  35. package/chart/monitoring/index.vue +1 -1
  36. package/cloud-credential/gcp.vue +9 -1
  37. package/components/ActionDropdown.vue +1 -0
  38. package/components/ActionMenuShell.vue +2 -3
  39. package/components/AppModal.vue +9 -28
  40. package/components/AsyncButton.vue +2 -0
  41. package/components/BrandImage.vue +1 -0
  42. package/components/Certificates.vue +5 -0
  43. package/components/ClusterIconMenu.vue +1 -1
  44. package/components/CodeMirror.vue +4 -3
  45. package/components/CommunityLinks.vue +3 -58
  46. package/components/ConfigMapSettings/Settings.vue +377 -0
  47. package/components/ConfigMapSettings/index.vue +354 -0
  48. package/components/CruResource.vue +104 -17
  49. package/components/CruResourceFooter.vue +1 -1
  50. package/components/DetailText.vue +61 -11
  51. package/components/Drawer/Chrome.vue +115 -0
  52. package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +61 -0
  53. package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +48 -0
  54. package/components/Drawer/ResourceDetailDrawer/__tests__/ConfigTab.test.ts +54 -0
  55. package/components/Drawer/ResourceDetailDrawer/__tests__/YamlTab.test.ts +80 -0
  56. package/components/Drawer/ResourceDetailDrawer/__tests__/composables.test.ts +106 -0
  57. package/components/Drawer/ResourceDetailDrawer/__tests__/helpers.test.ts +42 -0
  58. package/components/Drawer/ResourceDetailDrawer/composables.ts +53 -0
  59. package/components/Drawer/ResourceDetailDrawer/helpers.ts +10 -0
  60. package/components/Drawer/ResourceDetailDrawer/index.vue +123 -0
  61. package/components/ExplorerProjectsNamespaces.vue +30 -33
  62. package/components/FilterPanel.vue +156 -0
  63. package/components/FixedBanner.vue +19 -5
  64. package/components/{fleet/ForceDirectedTreeChart/index.vue → ForceDirectedTreeChart.vue} +47 -41
  65. package/components/GlobalRoleBindings.vue +112 -48
  66. package/components/GrowlManager.vue +16 -15
  67. package/components/IconOrSvg.vue +19 -35
  68. package/components/IndentedPanel.vue +4 -10
  69. package/components/KeyValueView.vue +1 -1
  70. package/components/LandingPagePreference.vue +2 -0
  71. package/components/Loading.vue +1 -1
  72. package/components/LocaleSelector.vue +10 -2
  73. package/components/PaginatedResourceTable.vue +53 -1
  74. package/components/ProgressBarMulti.vue +1 -0
  75. package/components/PromptModal.vue +38 -7
  76. package/components/PromptRemove.vue +8 -4
  77. package/components/PromptRestore.vue +22 -44
  78. package/components/RelatedResources.vue +4 -12
  79. package/components/Resource/Detail/Additional.vue +46 -0
  80. package/components/Resource/Detail/Card/PodsCard/Bubble.vue +13 -0
  81. package/components/Resource/Detail/Card/PodsCard/composable.ts +30 -0
  82. package/components/Resource/Detail/Card/PodsCard/index.vue +118 -0
  83. package/components/Resource/Detail/Card/ResourceUsageCard/composable.ts +51 -0
  84. package/components/Resource/Detail/Card/ResourceUsageCard/index.vue +79 -0
  85. package/components/Resource/Detail/Card/Scaler.vue +89 -0
  86. package/components/Resource/Detail/Card/StateCard/composables.ts +112 -0
  87. package/components/Resource/Detail/Card/StateCard/index.vue +39 -0
  88. package/components/Resource/Detail/Card/VerticalGap.vue +11 -0
  89. package/components/Resource/Detail/Card/__tests__/Card.test.ts +36 -0
  90. package/components/Resource/Detail/Card/__tests__/PodsCard.test.ts +84 -0
  91. package/components/Resource/Detail/Card/__tests__/ResourceUsageCard.test.ts +72 -0
  92. package/components/Resource/Detail/Card/__tests__/Scaler.test.ts +87 -0
  93. package/components/Resource/Detail/Card/__tests__/StateCard.test.ts +53 -0
  94. package/components/Resource/Detail/Card/__tests__/VerticalGap.test.ts +14 -0
  95. package/components/Resource/Detail/Card/__tests__/index.test.ts +36 -0
  96. package/components/Resource/Detail/Card/index.vue +56 -0
  97. package/components/Resource/Detail/Metadata/Annotations/__tests__/index.test.ts +19 -0
  98. package/components/Resource/Detail/Metadata/Annotations/composable.ts +12 -0
  99. package/components/Resource/Detail/Metadata/Annotations/index.vue +31 -0
  100. package/components/Resource/Detail/Metadata/IdentifyingInformation/__tests__/identifying-fields.test.ts +223 -0
  101. package/components/Resource/Detail/Metadata/IdentifyingInformation/__tests__/index.test.ts +103 -0
  102. package/components/Resource/Detail/Metadata/IdentifyingInformation/composable.ts +72 -0
  103. package/components/Resource/Detail/Metadata/IdentifyingInformation/identifying-fields.ts +317 -0
  104. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +140 -0
  105. package/components/Resource/Detail/Metadata/KeyValue.vue +140 -0
  106. package/components/Resource/Detail/Metadata/Labels/__tests__/index.test.ts +18 -0
  107. package/components/Resource/Detail/Metadata/Labels/composable.ts +12 -0
  108. package/components/Resource/Detail/Metadata/Labels/index.vue +31 -0
  109. package/components/Resource/Detail/Metadata/Rectangle.vue +34 -0
  110. package/components/Resource/Detail/Metadata/__tests__/KeyValue.test.ts +107 -0
  111. package/components/Resource/Detail/Metadata/__tests__/Rectangle.test.ts +24 -0
  112. package/components/Resource/Detail/Metadata/__tests__/composables.test.ts +75 -0
  113. package/components/Resource/Detail/Metadata/__tests__/index.test.ts +91 -0
  114. package/components/Resource/Detail/Metadata/composables.ts +81 -0
  115. package/components/Resource/Detail/Metadata/index.vue +88 -0
  116. package/components/Resource/Detail/Page.vue +37 -0
  117. package/components/Resource/Detail/PercentageBar.vue +40 -0
  118. package/components/Resource/Detail/ResourceRow.vue +138 -0
  119. package/components/Resource/Detail/ResourceTabs/ConfigMapDataTab/__tests__/composables.test.ts +29 -0
  120. package/components/Resource/Detail/ResourceTabs/ConfigMapDataTab/__tests__/index.test.ts +48 -0
  121. package/components/Resource/Detail/ResourceTabs/ConfigMapDataTab/composables.ts +31 -0
  122. package/components/Resource/Detail/ResourceTabs/ConfigMapDataTab/index.vue +50 -0
  123. package/components/Resource/Detail/ResourceTabs/KnownHostsTab/__tests__/composables.test.ts +66 -0
  124. package/components/Resource/Detail/ResourceTabs/KnownHostsTab/composables.ts +21 -0
  125. package/components/Resource/Detail/ResourceTabs/KnownHostsTab/index.vue +31 -0
  126. package/components/Resource/Detail/ResourceTabs/SecretDataTab/Basic.vue +45 -0
  127. package/components/Resource/Detail/ResourceTabs/SecretDataTab/BasicAuth.vue +31 -0
  128. package/components/Resource/Detail/ResourceTabs/SecretDataTab/Certificate.vue +31 -0
  129. package/components/Resource/Detail/ResourceTabs/SecretDataTab/Registry.vue +22 -0
  130. package/components/Resource/Detail/ResourceTabs/SecretDataTab/ServiceAccountToken.vue +31 -0
  131. package/components/Resource/Detail/ResourceTabs/SecretDataTab/Ssh.vue +32 -0
  132. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/Basic.test.ts +40 -0
  133. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/BasicAuth.test.ts +33 -0
  134. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/Certificate.test.ts +33 -0
  135. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/Registry.test.ts +27 -0
  136. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/ServiceAccountToken.test.ts +33 -0
  137. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/Ssh.test.ts +33 -0
  138. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/auth-types.test.ts +186 -0
  139. package/components/Resource/Detail/ResourceTabs/SecretDataTab/__tests__/composables.test.ts +102 -0
  140. package/components/Resource/Detail/ResourceTabs/SecretDataTab/auth-types.ts +109 -0
  141. package/components/Resource/Detail/ResourceTabs/SecretDataTab/composeables.ts +52 -0
  142. package/components/Resource/Detail/ResourceTabs/SecretDataTab/index.vue +71 -0
  143. package/components/Resource/Detail/SpacedRow.vue +14 -0
  144. package/components/Resource/Detail/StatusBar.vue +59 -0
  145. package/components/Resource/Detail/StatusRow.vue +61 -0
  146. package/components/Resource/Detail/TitleBar/Title.vue +14 -0
  147. package/components/Resource/Detail/TitleBar/Top.vue +14 -0
  148. package/components/Resource/Detail/TitleBar/__tests__/Title.test.ts +17 -0
  149. package/components/Resource/Detail/TitleBar/__tests__/Top.test.ts +17 -0
  150. package/components/Resource/Detail/TitleBar/__tests__/composables.test.ts +63 -0
  151. package/components/Resource/Detail/TitleBar/__tests__/index.test.ts +142 -0
  152. package/components/Resource/Detail/TitleBar/composables.ts +46 -0
  153. package/components/Resource/Detail/TitleBar/index.vue +204 -0
  154. package/components/Resource/Detail/Top/index.vue +34 -0
  155. package/components/Resource/Detail/__tests__/Page.test.ts +32 -0
  156. package/components/Resource/Detail/composables.ts +45 -0
  157. package/components/ResourceDetail/Masthead/__tests__/index.test.ts +70 -0
  158. package/components/ResourceDetail/{__tests__/Masthead.test.ts → Masthead/__tests__/legacy.test.ts} +3 -3
  159. package/components/ResourceDetail/Masthead/index.vue +65 -0
  160. package/components/ResourceDetail/Masthead/latest.vue +44 -0
  161. package/components/{rancherResourceDetail/Masthead.vue → ResourceDetail/Masthead/legacy.vue} +36 -16
  162. package/components/ResourceDetail/__tests__/index.test.ts +135 -0
  163. package/components/ResourceDetail/index.vue +75 -560
  164. package/components/{rancherResourceDetail/index.vue → ResourceDetail/legacy.vue} +28 -55
  165. package/components/ResourceList/Masthead.vue +188 -85
  166. package/components/ResourceList/ResourceLoadingIndicator.vue +5 -2
  167. package/components/ResourceList/index.vue +3 -2
  168. package/components/ResourceTable.vue +65 -16
  169. package/components/ResourceYaml.vue +15 -2
  170. package/components/RichTranslation.vue +106 -0
  171. package/components/SideNav.vue +66 -29
  172. package/components/SlideInPanelManager.vue +116 -14
  173. package/components/SortableTable/THead.vue +6 -0
  174. package/components/SortableTable/index.vue +490 -389
  175. package/components/SortableTable/paging.js +15 -16
  176. package/components/SortableTable/selection.js +22 -10
  177. package/components/StateDot/index.vue +28 -0
  178. package/components/StatusBadge.vue +6 -4
  179. package/components/SubtleLink.vue +25 -0
  180. package/components/Tabbed/Tab.vue +1 -1
  181. package/components/Tabbed/index.vue +65 -69
  182. package/components/Wizard.vue +16 -3
  183. package/components/YamlEditor.vue +1 -2
  184. package/components/__tests__/AsyncButton.test.ts +39 -0
  185. package/components/__tests__/ConfigMapSettings.test.ts +376 -0
  186. package/components/__tests__/CruResource.test.ts +63 -0
  187. package/components/__tests__/FilterPanel.test.ts +81 -0
  188. package/components/__tests__/GrowlManager.test.ts +0 -25
  189. package/components/__tests__/PromptModal.test.ts +146 -0
  190. package/components/__tests__/PromptRestore.test.ts +1 -65
  191. package/components/__tests__/RichTranslation.test.ts +115 -0
  192. package/components/auth/AuthBanner.vue +15 -14
  193. package/components/auth/Principal.vue +2 -2
  194. package/components/auth/RoleDetailEdit.vue +101 -8
  195. package/components/auth/SelectPrincipal.vue +1 -0
  196. package/components/auth/login/ldap.vue +2 -2
  197. package/components/auth/login/oidc.vue +6 -1
  198. package/components/fleet/FleetApplications.vue +174 -0
  199. package/components/fleet/FleetClusterTargets/TargetsList.vue +66 -0
  200. package/components/fleet/FleetClusterTargets/index.vue +455 -0
  201. package/components/fleet/FleetClusters.vue +25 -6
  202. package/components/fleet/FleetGitRepoPaths.vue +476 -0
  203. package/components/fleet/FleetHelmOps.vue +123 -0
  204. package/components/fleet/FleetIntro.vue +58 -28
  205. package/components/fleet/FleetNoWorkspaces.vue +5 -1
  206. package/components/fleet/FleetOCIStorageSecret.vue +171 -0
  207. package/components/fleet/FleetRepos.vue +37 -80
  208. package/components/fleet/FleetResources.vue +69 -27
  209. package/components/fleet/FleetSummary.vue +26 -51
  210. package/components/fleet/FleetValuesFrom.vue +295 -0
  211. package/components/fleet/__tests__/FleetClusterTargets.test.ts +1224 -0
  212. package/components/fleet/__tests__/FleetGitRepoPaths.test.ts +265 -0
  213. package/components/fleet/__tests__/FleetOCIStorageSecret.test.ts +213 -0
  214. package/components/fleet/__tests__/FleetSummary.test.ts +39 -39
  215. package/components/fleet/__tests__/FleetValuesFrom.test.ts +300 -0
  216. package/components/fleet/dashboard/Empty.vue +73 -0
  217. package/components/fleet/dashboard/ResourceCard.vue +184 -0
  218. package/components/fleet/dashboard/ResourceCardSummary.vue +195 -0
  219. package/components/fleet/dashboard/ResourceDetails.vue +194 -0
  220. package/components/fleet/dashboard/ResourcePanel.vue +384 -0
  221. package/components/form/ArrayList.vue +144 -116
  222. package/components/form/BannerSettings.vue +130 -61
  223. package/components/form/ChangePassword.vue +7 -5
  224. package/components/form/ColorInput.vue +67 -14
  225. package/components/form/FileImageSelector.vue +1 -1
  226. package/components/form/Footer.vue +11 -5
  227. package/components/form/InputWithSelect.vue +2 -0
  228. package/components/form/KeyValue.vue +118 -53
  229. package/components/form/LabeledSelect.vue +219 -201
  230. package/components/form/Labels.vue +91 -21
  231. package/components/form/MatchExpressions.vue +56 -9
  232. package/components/form/Members/ClusterPermissionsEditor.vue +1 -2
  233. package/components/form/Members/MembershipEditor.vue +1 -1
  234. package/components/form/NameNsDescription.vue +31 -14
  235. package/components/form/Networking.vue +24 -19
  236. package/components/form/NotificationSettings.vue +15 -1
  237. package/components/form/Password.vue +6 -2
  238. package/components/form/ResourceLabeledSelect.vue +22 -8
  239. package/components/form/ResourceQuota/Namespace.vue +1 -1
  240. package/components/form/ResourceQuota/NamespaceRow.vue +13 -10
  241. package/components/form/ResourceQuota/ProjectRow.vue +0 -1
  242. package/components/form/ResourceSelector.vue +27 -23
  243. package/components/form/ResourceTabs/index.vue +7 -1
  244. package/components/form/SSHKnownHosts/index.vue +14 -11
  245. package/components/form/SecretSelector.vue +18 -2
  246. package/components/form/Select.vue +59 -28
  247. package/components/form/SelectOrCreateAuthSecret.vue +6 -3
  248. package/components/form/SimpleSecretSelector.vue +17 -4
  249. package/components/form/Taints.vue +21 -2
  250. package/components/form/UnitInput.vue +21 -0
  251. package/components/form/ValueFromResource.vue +31 -19
  252. package/components/form/__tests__/ArrayList.test.ts +32 -0
  253. package/components/form/__tests__/ColorInput.test.ts +35 -0
  254. package/components/form/__tests__/KeyValue.test.ts +36 -0
  255. package/components/form/__tests__/LabeledSelect.test.ts +79 -2
  256. package/components/form/__tests__/Labels.test.ts +360 -0
  257. package/components/form/__tests__/MatchExpressions.test.ts +16 -13
  258. package/components/form/__tests__/Networking.test.ts +116 -0
  259. package/components/form/__tests__/SSHKnownHosts.test.ts +11 -2
  260. package/components/form/__tests__/Select.test.ts +37 -1
  261. package/components/form/__tests__/UnitInput.test.ts +23 -1
  262. package/components/form/labeled-select-utils/labeled-select-pagination.ts +3 -38
  263. package/components/formatter/ClusterLink.vue +5 -8
  264. package/components/formatter/Description.vue +30 -0
  265. package/components/formatter/FleetApplicationClustersReady.vue +77 -0
  266. package/components/formatter/FleetApplicationSource.vue +79 -0
  267. package/components/formatter/FleetSummaryGraph.vue +7 -0
  268. package/components/formatter/PodImages.vue +1 -1
  269. package/components/formatter/WorkloadHealthScale.vue +1 -1
  270. package/components/formatter/__tests__/ClusterLink.test.ts +2 -32
  271. package/components/formatter/__tests__/LiveDate.test.ts +10 -2
  272. package/components/google/AccountAccess.vue +209 -0
  273. package/components/google/types/gcp.d.ts +136 -0
  274. package/components/google/types/index.d.ts +101 -0
  275. package/components/google/util/__mocks__/gcp.ts +465 -0
  276. package/components/google/util/formatter.ts +82 -0
  277. package/components/google/util/gcp.ts +134 -0
  278. package/components/google/util/index.d.ts +11 -0
  279. package/components/nav/Favorite.vue +6 -2
  280. package/components/nav/Group.vue +74 -23
  281. package/components/nav/Header.vue +103 -52
  282. package/components/nav/HeaderPageActionMenu.vue +1 -0
  283. package/components/nav/NamespaceFilter.vue +141 -87
  284. package/components/nav/NotificationCenter/Notification.vue +484 -0
  285. package/components/nav/NotificationCenter/NotificationHeader.vue +112 -0
  286. package/components/nav/NotificationCenter/index.vue +148 -0
  287. package/components/nav/TopLevelMenu.helper.ts +55 -34
  288. package/components/nav/TopLevelMenu.vue +193 -119
  289. package/components/nav/Type.vue +52 -12
  290. package/components/nav/WindowManager/ContainerLogs.vue +87 -61
  291. package/components/nav/WindowManager/ContainerLogsActions.vue +76 -0
  292. package/components/nav/WindowManager/index.vue +3 -2
  293. package/components/templates/default.vue +0 -3
  294. package/components/templates/plain.vue +0 -3
  295. package/composables/drawer.ts +26 -0
  296. package/composables/focusTrap.ts +3 -3
  297. package/composables/resources.test.ts +63 -0
  298. package/composables/resources.ts +38 -0
  299. package/composables/useClickOutside.ts +1 -1
  300. package/composables/useI18n.ts +12 -11
  301. package/composables/useIsNewDetailPageEnabled.ts +17 -0
  302. package/config/labels-annotations.js +22 -11
  303. package/config/pagination-table-headers.js +8 -1
  304. package/config/private-label.js +0 -1
  305. package/config/product/auth.js +33 -7
  306. package/config/product/{cis.js → compliance.js} +23 -26
  307. package/config/product/explorer.js +48 -16
  308. package/config/product/fleet.js +77 -17
  309. package/config/product/manager.js +1 -29
  310. package/config/product/settings.js +39 -18
  311. package/config/query-params.js +16 -1
  312. package/config/roles.ts +2 -1
  313. package/config/router/navigation-guards/authentication.js +51 -2
  314. package/config/router/navigation-guards/index.js +5 -67
  315. package/config/router/routes.js +65 -31
  316. package/config/secret.ts +15 -0
  317. package/config/settings.ts +61 -16
  318. package/config/store.js +2 -0
  319. package/config/system-namespaces.js +1 -1
  320. package/config/table-headers.js +91 -30
  321. package/config/types.js +18 -7
  322. package/config/version.js +1 -1
  323. package/core/plugin-helpers.ts +3 -2
  324. package/core/plugin.ts +32 -7
  325. package/core/types.ts +25 -7
  326. package/detail/catalog.cattle.io.app.vue +5 -1
  327. package/detail/{cis.cattle.io.clusterscan.vue → compliance.cattle.io.clusterscan.vue} +22 -18
  328. package/detail/fleet.cattle.io.bundle.vue +70 -6
  329. package/detail/fleet.cattle.io.cluster.vue +28 -15
  330. package/detail/fleet.cattle.io.gitrepo.vue +11 -2
  331. package/detail/fleet.cattle.io.helmop.vue +157 -0
  332. package/detail/management.cattle.io.fleetworkspace.vue +18 -27
  333. package/detail/management.cattle.io.oidcclient.vue +369 -0
  334. package/detail/namespace.vue +0 -3
  335. package/detail/node.vue +20 -16
  336. package/detail/pod.vue +2 -2
  337. package/detail/provisioning.cattle.io.cluster.vue +16 -50
  338. package/detail/service.vue +10 -2
  339. package/detail/workload/index.vue +48 -39
  340. package/dialog/AddCustomBadgeDialog.vue +0 -1
  341. package/{pages/c/_cluster/uiplugins/AddExtensionRepos.vue → dialog/AddExtensionReposDialog.vue} +72 -42
  342. package/dialog/AddonConfigConfirmationDialog.vue +1 -1
  343. package/dialog/AssignToDialog.vue +176 -0
  344. package/dialog/ChangePasswordDialog.vue +106 -0
  345. package/{pages/c/_cluster/uiplugins/DeveloperInstallDialog.vue → dialog/DeveloperLoadExtensionDialog.vue} +74 -71
  346. package/dialog/DisableAuthProviderDialog.vue +101 -0
  347. package/dialog/DrainNode.vue +1 -1
  348. package/{pages/c/_cluster/uiplugins/CatalogList/CatalogLoadDialog.vue → dialog/ExtensionCatalogInstallDialog.vue} +100 -88
  349. package/{pages/c/_cluster/uiplugins/CatalogList/CatalogUninstallDialog.vue → dialog/ExtensionCatalogUninstallDialog.vue} +87 -66
  350. package/dialog/FeatureFlagListDialog.vue +288 -0
  351. package/dialog/ForceMachineRemoveDialog.vue +1 -1
  352. package/dialog/GenericPrompt.vue +1 -1
  353. package/dialog/HelmOpForceUpdateDialog.vue +132 -0
  354. package/{components/Import.vue → dialog/ImportDialog.vue} +8 -13
  355. package/{pages/c/_cluster/uiplugins/InstallDialog.vue → dialog/InstallExtensionDialog.vue} +124 -106
  356. package/{components/form/SSHKnownHosts → dialog}/KnownHostsEditDialog.vue +52 -62
  357. package/dialog/MoveNamespaceDialog.vue +157 -0
  358. package/dialog/OidcClientSecretDialog.vue +117 -0
  359. package/dialog/RedeployWorkloadDialog.vue +164 -0
  360. package/dialog/RotateEncryptionKeyDialog.vue +10 -30
  361. package/dialog/ScalePoolDownDialog.vue +1 -1
  362. package/{components/nav/Jump.vue → dialog/SearchDialog.vue} +34 -14
  363. package/{pages/c/_cluster/uiplugins/UninstallDialog.vue → dialog/UninstallExtensionDialog.vue} +67 -58
  364. package/dialog/WechatDialog.vue +57 -0
  365. package/{components/form/SSHKnownHosts → dialog}/__tests__/KnownHostsEditDialog.test.ts +15 -34
  366. package/edit/__tests__/cis.cattle.io.clusterscan.test.ts +3 -3
  367. package/edit/__tests__/fleet.cattle.io.gitrepo.test.ts +60 -68
  368. package/edit/__tests__/fleet.cattle.io.helmop.test.ts +224 -0
  369. package/edit/__tests__/service.test.ts +2 -1
  370. package/edit/auth/ldap/__tests__/config.test.ts +14 -0
  371. package/edit/auth/ldap/config.vue +24 -0
  372. package/edit/auth/oidc.vue +159 -93
  373. package/edit/autoscaling.horizontalpodautoscaler/index.vue +4 -1
  374. package/edit/{cis.cattle.io.clusterscan.vue → compliance.cattle.io.clusterscan.vue} +30 -31
  375. package/edit/{cis.cattle.io.clusterscanbenchmark.vue → compliance.cattle.io.clusterscanbenchmark.vue} +4 -4
  376. package/edit/{cis.cattle.io.clusterscanprofile.vue → compliance.cattle.io.clusterscanprofile.vue} +5 -5
  377. package/edit/configmap.vue +8 -2
  378. package/edit/constraints.gatekeeper.sh.constraint/index.vue +1 -0
  379. package/edit/fleet.cattle.io.gitrepo.vue +70 -256
  380. package/edit/fleet.cattle.io.helmop.vue +786 -0
  381. package/edit/helm.cattle.io.projecthelmchart.vue +1 -0
  382. package/edit/k8s.cni.cncf.io.networkattachmentdefinition.vue +1 -0
  383. package/edit/logging-flow/index.vue +1 -0
  384. package/edit/logging.banzaicloud.io.output/index.vue +2 -1
  385. package/edit/logging.banzaicloud.io.output/providers/awsElasticsearch.vue +5 -6
  386. package/edit/management.cattle.io.fleetworkspace.vue +44 -10
  387. package/edit/management.cattle.io.oidcclient.vue +162 -0
  388. package/edit/management.cattle.io.project.vue +4 -1
  389. package/edit/management.cattle.io.user.vue +17 -4
  390. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +1 -1
  391. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +5 -0
  392. package/edit/monitoring.coreos.com.prometheusrule/index.vue +1 -0
  393. package/edit/monitoring.coreos.com.receiver/auth.vue +3 -3
  394. package/edit/monitoring.coreos.com.receiver/index.vue +1 -0
  395. package/edit/monitoring.coreos.com.receiver/types/email.vue +1 -1
  396. package/edit/monitoring.coreos.com.route.vue +1 -0
  397. package/edit/namespace.vue +2 -4
  398. package/edit/networking.istio.io.destinationrule/index.vue +4 -1
  399. package/edit/networking.k8s.io.ingress/Certificate.vue +11 -3
  400. package/edit/networking.k8s.io.ingress/RulePath.vue +1 -1
  401. package/edit/networking.k8s.io.ingress/__tests__/Certificate.test.ts +37 -0
  402. package/edit/networking.k8s.io.ingress/index.vue +4 -1
  403. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +3 -14
  404. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +57 -62
  405. package/edit/networking.k8s.io.networkpolicy/PolicyRules.vue +10 -16
  406. package/edit/networking.k8s.io.networkpolicy/__tests__/PolicyRuleTarget.test.ts +72 -41
  407. package/edit/networking.k8s.io.networkpolicy/__tests__/utils/mock.json +17 -1
  408. package/edit/networking.k8s.io.networkpolicy/index.vue +23 -31
  409. package/edit/node.vue +1 -0
  410. package/edit/persistentvolume/index.vue +4 -1
  411. package/edit/provisioning.cattle.io.cluster/__tests__/DirectoryConfig.test.ts +26 -12
  412. package/edit/provisioning.cattle.io.cluster/__tests__/rke2.test.ts +69 -2
  413. package/edit/provisioning.cattle.io.cluster/__tests__/utils/rke2-test-data.ts +58 -0
  414. package/edit/provisioning.cattle.io.cluster/index.vue +21 -73
  415. package/edit/provisioning.cattle.io.cluster/rke2.vue +535 -428
  416. package/edit/provisioning.cattle.io.cluster/tabs/Basics.vue +48 -39
  417. package/edit/provisioning.cattle.io.cluster/tabs/DirectoryConfig.vue +5 -3
  418. package/edit/provisioning.cattle.io.cluster/tabs/MachinePool.vue +5 -0
  419. package/edit/provisioning.cattle.io.cluster/tabs/registries/RegistryConfigs.vue +2 -2
  420. package/edit/resources.cattle.io.restore.vue +1 -1
  421. package/edit/secret/basic.vue +1 -0
  422. package/edit/secret/index.vue +127 -15
  423. package/edit/service.vue +17 -29
  424. package/edit/serviceaccount.vue +4 -1
  425. package/edit/storage.k8s.io.storageclass/index.vue +4 -1
  426. package/edit/token.vue +1 -1
  427. package/edit/workload/index.vue +11 -15
  428. package/edit/workload/mixins/workload.js +0 -2
  429. package/list/{cis.cattle.io.clusterscan.vue → compliance.cattle.io.clusterscan.vue} +2 -2
  430. package/list/fleet.cattle.io.gitrepo.vue +1 -1
  431. package/list/fleet.cattle.io.helmop.vue +108 -0
  432. package/list/management.cattle.io.feature.vue +4 -288
  433. package/list/management.cattle.io.oidcclient.vue +108 -0
  434. package/list/management.cattle.io.setting.vue +22 -13
  435. package/list/management.cattle.io.user.vue +7 -3
  436. package/list/namespace.vue +6 -2
  437. package/list/node.vue +2 -0
  438. package/list/projectsecret.vue +345 -0
  439. package/list/provisioning.cattle.io.cluster.vue +6 -7
  440. package/list/secret.vue +109 -0
  441. package/list/workload.vue +6 -2
  442. package/machine-config/__tests__/vmwarevsphere.test.ts +5 -7
  443. package/machine-config/amazonec2.vue +3 -24
  444. package/machine-config/components/GCEImage.vue +374 -0
  445. package/machine-config/google.vue +617 -0
  446. package/machine-config/vmwarevsphere.vue +7 -17
  447. package/mixins/__tests__/brand.spec.ts +170 -0
  448. package/mixins/auth-config.js +8 -1
  449. package/mixins/brand.js +33 -17
  450. package/mixins/create-edit-view/impl.js +10 -1
  451. package/mixins/create-edit-view/index.js +5 -0
  452. package/mixins/preset.js +100 -0
  453. package/mixins/resource-fetch-api-pagination.js +73 -44
  454. package/mixins/resource-fetch.js +18 -8
  455. package/mixins/resource-table-watch.js +45 -0
  456. package/mixins/vue-select-overrides.js +1 -4
  457. package/models/__tests__/chart.test.ts +296 -0
  458. package/models/__tests__/fleet.cattle.io.gitrepo.test.ts +1 -1
  459. package/models/__tests__/fleet.cattle.io.helmop.test.ts +224 -0
  460. package/models/__tests__/node.test.ts +7 -63
  461. package/models/__tests__/workload.test.ts +1 -0
  462. package/models/chart.js +157 -2
  463. package/models/cluster/node.js +2 -1
  464. package/models/cluster.js +32 -2
  465. package/models/cluster.x-k8s.io.machinedeployment.js +11 -2
  466. package/models/{cis.cattle.io.clusterscan.js → compliance.cattle.io.clusterscan.js} +8 -8
  467. package/models/{cis.cattle.io.clusterscanbenchmark.js → compliance.cattle.io.clusterscanbenchmark.js} +1 -1
  468. package/models/{cis.cattle.io.clusterscanprofile.js → compliance.cattle.io.clusterscanprofile.js} +5 -5
  469. package/models/{cis.cattle.io.clusterscanreport.js → compliance.cattle.io.clusterscanreport.js} +1 -1
  470. package/models/fleet-application.js +297 -0
  471. package/models/fleet.cattle.io.bundle.js +9 -8
  472. package/models/fleet.cattle.io.cluster.js +21 -4
  473. package/models/fleet.cattle.io.gitrepo.js +46 -382
  474. package/models/fleet.cattle.io.helmop.js +202 -0
  475. package/models/management.cattle.io.authconfig.js +1 -0
  476. package/models/management.cattle.io.cluster.js +0 -20
  477. package/models/management.cattle.io.feature.js +7 -1
  478. package/models/management.cattle.io.fleetworkspace.js +14 -1
  479. package/models/management.cattle.io.node.js +7 -22
  480. package/models/management.cattle.io.nodepool.js +12 -0
  481. package/models/management.cattle.io.oidcclient.js +18 -0
  482. package/models/management.cattle.io.registration.js +3 -0
  483. package/models/management.cattle.io.setting.js +0 -1
  484. package/models/namespace.js +12 -1
  485. package/models/provisioning.cattle.io.cluster.js +60 -97
  486. package/models/secret.js +157 -2
  487. package/models/service.js +28 -9
  488. package/models/storage.k8s.io.storageclass.js +2 -2
  489. package/models/workload.js +91 -51
  490. package/package.json +6 -5
  491. package/pages/about.vue +17 -61
  492. package/pages/account/index.vue +9 -1
  493. package/pages/auth/login.vue +50 -30
  494. package/pages/auth/verify.vue +13 -1
  495. package/pages/c/_cluster/apps/charts/AddRepoLink.vue +36 -0
  496. package/pages/c/_cluster/apps/charts/AppChartCardFooter.vue +80 -0
  497. package/pages/c/_cluster/apps/charts/AppChartCardSubHeader.vue +57 -0
  498. package/pages/c/_cluster/apps/charts/StatusLabel.vue +33 -0
  499. package/pages/c/_cluster/apps/charts/index.vue +501 -468
  500. package/pages/c/_cluster/apps/charts/install.vue +0 -1
  501. package/pages/c/_cluster/auth/roles/index.vue +19 -1
  502. package/pages/c/_cluster/auth/user.retention/index.vue +87 -78
  503. package/pages/c/_cluster/explorer/EventsTable.vue +1 -1
  504. package/pages/c/_cluster/explorer/index.vue +14 -3
  505. package/pages/c/_cluster/explorer/projectsecret.vue +34 -0
  506. package/pages/c/_cluster/explorer/tools/pages/_page.vue +0 -1
  507. package/pages/c/_cluster/fleet/__tests__/index.test.ts +720 -0
  508. package/pages/c/_cluster/fleet/application/_resource/_id.vue +14 -0
  509. package/pages/c/_cluster/fleet/application/_resource/create.vue +14 -0
  510. package/pages/c/_cluster/fleet/application/create.vue +341 -0
  511. package/pages/c/_cluster/fleet/application/index.vue +139 -0
  512. package/pages/c/_cluster/fleet/graph/config.js +277 -0
  513. package/pages/c/_cluster/fleet/index.vue +866 -328
  514. package/pages/c/_cluster/fleet/settings/index.vue +229 -0
  515. package/pages/c/_cluster/longhorn/index.vue +5 -2
  516. package/pages/c/_cluster/settings/banners.vue +230 -103
  517. package/pages/c/_cluster/settings/brand.vue +349 -301
  518. package/pages/c/_cluster/settings/performance.vue +68 -64
  519. package/pages/c/_cluster/uiplugins/CatalogList/index.vue +16 -1
  520. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +2 -2
  521. package/pages/c/_cluster/uiplugins/__tests__/AddExtensionRepos.test.ts +4 -7
  522. package/pages/c/_cluster/uiplugins/index.vue +98 -55
  523. package/pages/explorer/resource/detail/configmap.vue +42 -0
  524. package/pages/explorer/resource/detail/projectsecret.vue +9 -0
  525. package/pages/explorer/resource/detail/secret.vue +63 -0
  526. package/pages/home.vue +61 -108
  527. package/pages/prefs.vue +25 -24
  528. package/pages/support/index.vue +4 -6
  529. package/pkg/tsconfig.json +9 -9
  530. package/pkg/vue.config.js +1 -1
  531. package/plugins/clean-html.js +2 -0
  532. package/plugins/dashboard-store/__tests__/actions.test.ts +4 -1
  533. package/plugins/dashboard-store/__tests__/normalize.test.ts +223 -0
  534. package/plugins/dashboard-store/__tests__/resource-class.test.ts +191 -0
  535. package/plugins/dashboard-store/__tests__/utils/normalize-usecases.ts +1526 -0
  536. package/plugins/dashboard-store/actions.js +212 -55
  537. package/plugins/dashboard-store/getters.js +112 -24
  538. package/plugins/dashboard-store/mutations.js +61 -12
  539. package/plugins/dashboard-store/normalize.js +29 -19
  540. package/plugins/dashboard-store/resource-class.js +132 -49
  541. package/plugins/steve/__tests__/getters.test.ts +19 -12
  542. package/plugins/steve/__tests__/steve-class.test.ts +1 -0
  543. package/plugins/steve/__tests__/subscribe.spec.ts +324 -1
  544. package/plugins/steve/actions.js +37 -24
  545. package/plugins/steve/getters.js +47 -12
  546. package/plugins/steve/resourceWatcher.js +10 -3
  547. package/plugins/steve/steve-class.js +5 -0
  548. package/plugins/steve/steve-pagination-utils.ts +225 -43
  549. package/plugins/steve/subscribe.js +418 -53
  550. package/plugins/steve/worker/web-worker.advanced.js +5 -1
  551. package/promptRemove/mixin/roleDeletionCheck.js +2 -2
  552. package/rancher-components/Banner/Banner.test.ts +51 -3
  553. package/rancher-components/Banner/Banner.vue +37 -6
  554. package/rancher-components/Form/Checkbox/Checkbox.test.ts +59 -1
  555. package/rancher-components/Form/Checkbox/Checkbox.vue +27 -9
  556. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +51 -0
  557. package/rancher-components/Form/LabeledInput/LabeledInput.vue +21 -3
  558. package/rancher-components/Form/Radio/RadioButton.test.ts +36 -1
  559. package/rancher-components/Form/Radio/RadioButton.vue +21 -5
  560. package/rancher-components/Form/Radio/RadioGroup.test.ts +60 -0
  561. package/rancher-components/Form/Radio/RadioGroup.vue +81 -38
  562. package/rancher-components/Form/TextArea/TextAreaAutoGrow.vue +4 -0
  563. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +22 -1
  564. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +1 -0
  565. package/rancher-components/RcButton/RcButton.vue +1 -1
  566. package/rancher-components/RcDropdown/RcDropdown.test.ts +98 -0
  567. package/rancher-components/RcDropdown/RcDropdown.vue +6 -0
  568. package/rancher-components/RcDropdown/RcDropdownItem.vue +8 -55
  569. package/rancher-components/RcDropdown/RcDropdownItemCheckbox.vue +69 -0
  570. package/rancher-components/RcDropdown/RcDropdownItemSelect.vue +93 -0
  571. package/rancher-components/RcDropdown/RcDropdownMenu.vue +7 -8
  572. package/rancher-components/RcDropdown/index.ts +2 -0
  573. package/rancher-components/RcDropdown/useDropdownContext.ts +21 -0
  574. package/rancher-components/RcDropdown/useDropdownItem.ts +92 -0
  575. package/rancher-components/RcItemCard/RcItemCard.test.ts +189 -0
  576. package/rancher-components/RcItemCard/RcItemCard.vue +430 -0
  577. package/rancher-components/RcItemCard/RcItemCardAction.vue +24 -0
  578. package/rancher-components/RcItemCard/index.ts +2 -0
  579. package/rancher-components/StringList/StringList.vue +1 -1
  580. package/scripts/clean +0 -0
  581. package/scripts/extension/bundle +0 -0
  582. package/scripts/extension/helm/scripts/package +0 -0
  583. package/scripts/extension/helm/scripts/patch +0 -0
  584. package/scripts/extension/helm/scripts/version +0 -0
  585. package/scripts/extension/helmpatch +0 -0
  586. package/scripts/extension/parse-tag-name +0 -0
  587. package/scripts/extension/publish +1 -1
  588. package/scripts/publish-shell.sh +86 -60
  589. package/scripts/serve-pkgs +0 -0
  590. package/scripts/sync-shell-deps +0 -0
  591. package/scripts/typegen.sh +44 -28
  592. package/static/loading-indicator.html +1 -1
  593. package/store/action-menu.js +26 -56
  594. package/store/auth.js +3 -0
  595. package/store/catalog.js +85 -25
  596. package/store/features.js +0 -1
  597. package/store/growl.js +97 -8
  598. package/store/i18n.js +5 -5
  599. package/store/index.js +44 -14
  600. package/store/notifications.ts +426 -0
  601. package/store/prefs.js +11 -5
  602. package/store/slideInPanel.ts +6 -0
  603. package/store/type-map.js +34 -17
  604. package/store/type-map.utils.ts +49 -6
  605. package/store/uiplugins.ts +15 -1
  606. package/types/fleet.d.ts +60 -1
  607. package/types/kube/kube-api.ts +34 -0
  608. package/types/notifications/index.ts +74 -0
  609. package/types/resources/fleet.d.ts +43 -0
  610. package/types/resources/pod-security-admission.ts +36 -0
  611. package/types/resources/settings.d.ts +107 -0
  612. package/types/resources/userPreferences.d.ts +13 -0
  613. package/types/shell/index.d.ts +971 -745
  614. package/types/store/dashboard-store.types.ts +57 -4
  615. package/types/store/pagination.types.ts +41 -9
  616. package/types/store/subscribe.types.ts +50 -0
  617. package/utils/__mocks__/tabbable.js +13 -0
  618. package/utils/__tests__/back-off.test.ts +354 -0
  619. package/utils/__tests__/create-yaml.test.ts +235 -0
  620. package/utils/__tests__/fleet.test.ts +148 -0
  621. package/utils/__tests__/kontainer.test.ts +19 -0
  622. package/utils/__tests__/object.test.ts +54 -1
  623. package/utils/__tests__/string.test.ts +273 -1
  624. package/utils/__tests__/time.test.ts +31 -0
  625. package/utils/auth.js +41 -6
  626. package/utils/back-off.ts +176 -0
  627. package/utils/cluster.js +24 -20
  628. package/utils/create-yaml.js +103 -9
  629. package/utils/crypto/encryption.ts +103 -0
  630. package/utils/cspAdaptor.ts +51 -0
  631. package/utils/error.js +4 -5
  632. package/utils/fleet-types.ts +0 -0
  633. package/utils/fleet.ts +204 -74
  634. package/utils/grafana.js +1 -0
  635. package/utils/kontainer.ts +3 -5
  636. package/utils/object.js +36 -12
  637. package/utils/pagination-utils.ts +50 -3
  638. package/utils/pagination-wrapper.ts +132 -50
  639. package/utils/perf-setting.utils.ts +28 -0
  640. package/utils/release-notes.ts +48 -0
  641. package/utils/selector-typed.ts +210 -0
  642. package/utils/selector.js +29 -6
  643. package/utils/settings.ts +4 -1
  644. package/utils/string.js +24 -0
  645. package/utils/style.ts +39 -0
  646. package/utils/{time.js → time.ts} +25 -6
  647. package/utils/uiplugins.ts +41 -8
  648. package/utils/v-sphere.ts +5 -1
  649. package/utils/validators/formRules/__tests__/index.test.ts +76 -6
  650. package/utils/validators/formRules/index.ts +99 -4
  651. package/utils/window.js +11 -7
  652. package/vue.config.js +1 -6
  653. package/.DS_Store +0 -0
  654. package/components/AssignTo.vue +0 -199
  655. package/components/DisableAuthProviderModal.vue +0 -115
  656. package/components/MoveModal.vue +0 -167
  657. package/components/PromptChangePassword.vue +0 -123
  658. package/components/ResourceDetail/Masthead.vue +0 -842
  659. package/components/__tests__/ApplicationCard.test.ts +0 -27
  660. package/components/cards/ApplicationCard.vue +0 -145
  661. package/components/fleet/FleetBundleResources.vue +0 -86
  662. package/components/fleet/ForceDirectedTreeChart/chartIcons.js +0 -17
  663. package/components/formatter/RKETemplateName.vue +0 -37
  664. package/components/rancherResourceDetail/__tests__/Masthead.test.ts +0 -65
  665. package/components/rancherResourceList/Masthead-btn.vue +0 -225
  666. package/components/rancherResourceList/Masthead.vue +0 -375
  667. package/components/rancherResourceList/ResourceLoadingIndicator.vue +0 -140
  668. package/components/rancherResourceList/index.vue +0 -307
  669. package/components/rancherResourceList/resource-list.config.js +0 -7
  670. package/components/rancherResourceTable.vue +0 -783
  671. package/components/rancherSortableTable/THead.vue +0 -561
  672. package/components/rancherSortableTable/actions.js +0 -153
  673. package/components/rancherSortableTable/advanced-filtering.js +0 -272
  674. package/components/rancherSortableTable/debug.js +0 -117
  675. package/components/rancherSortableTable/filtering.js +0 -290
  676. package/components/rancherSortableTable/grouping.js +0 -48
  677. package/components/rancherSortableTable/index.vue +0 -2712
  678. package/components/rancherSortableTable/paging.js +0 -155
  679. package/components/rancherSortableTable/selection.js +0 -629
  680. package/components/rancherSortableTable/sortable-config.ts +0 -4
  681. package/components/rancherSortableTable/sorting.js +0 -129
  682. package/config/product/legacy.js +0 -62
  683. package/config/secret.js +0 -14
  684. package/dialog/SaveAsRKETemplateDialog.vue +0 -139
  685. package/models/etcdbackup.js +0 -45
  686. package/pages/auth copy/login.vue +0 -595
  687. package/pages/auth copy/logout.vue +0 -47
  688. package/pages/auth copy/setup.vue +0 -523
  689. package/pages/auth copy/verify.vue +0 -203
  690. package/pages/c/_cluster/fleet/GitRepoGraphConfig.js +0 -249
  691. package/pages/c/_cluster/legacy/pages/_page.vue +0 -29
  692. package/pages/c/_cluster/legacy/project/_page.vue +0 -57
  693. package/pages/c/_cluster/legacy/project/index.vue +0 -32
  694. package/pages/c/_cluster/legacy/project/pipelines.vue +0 -96
  695. package/types/cloud-shell/index.d.ts +0 -11014
@@ -0,0 +1,63 @@
1
+ <script setup lang="ts">
2
+ import DetailPage from '@shell/components/Resource/Detail/Page.vue';
3
+ import TitleBar from '@shell/components/Resource/Detail/TitleBar/index.vue';
4
+ import { useDefaultTitleBarProps } from '@shell/components/Resource/Detail/TitleBar/composables';
5
+ import Metadata from '@shell/components/Resource/Detail/Metadata/index.vue';
6
+ import { MANAGEMENT, SECRET } from '@shell/config/types';
7
+ import { useFetchResourceWithId, useResourceIdentifiers } from '@shell/composables/resources';
8
+ import ResourceTabs from '@shell/components/form/ResourceTabs/index.vue';
9
+ import SecretDataTab from '@shell/components/Resource/Detail/ResourceTabs/SecretDataTab/index.vue';
10
+ import KnownHostsTab from '@shell/components/Resource/Detail/ResourceTabs/KnownHostsTab/index.vue';
11
+ import { useGetKnownHostsTabProps } from '@shell/components/Resource/Detail/ResourceTabs/KnownHostsTab/composables';
12
+ import { useSecretDataTabDefaultProps } from '@shell/components/Resource/Detail/ResourceTabs/SecretDataTab/composeables';
13
+ import { useSecretIdentifyingInformation } from '@shell/components/Resource/Detail/Metadata/IdentifyingInformation/composable';
14
+ import { useStore } from 'vuex';
15
+ import { useBasicMetadata } from '@shell/components/Resource/Detail/Metadata/composables';
16
+
17
+ export interface Props {
18
+ isProjectSecret?: boolean;
19
+ }
20
+ const props = withDefaults(defineProps<Props>(), { isProjectSecret: false });
21
+ const store = useStore();
22
+ const { id, schema } = useResourceIdentifiers(SECRET);
23
+ const inStore = props.isProjectSecret ? 'management' : 'cluster';
24
+ const secret = await useFetchResourceWithId(SECRET, id, inStore);
25
+
26
+ if (props.isProjectSecret) {
27
+ await store.dispatch('management/find', { id: secret.projectId, type: MANAGEMENT.PROJECT });
28
+ }
29
+ const titleBarProps = useDefaultTitleBarProps(secret);
30
+ const identifyingInformation = useSecretIdentifyingInformation(secret, props.isProjectSecret);
31
+ const metaDataProps = useBasicMetadata(secret);
32
+ const knownHostsTabProps = useGetKnownHostsTabProps(secret);
33
+ const secretDataTabProps = useSecretDataTabDefaultProps(secret);
34
+
35
+ </script>
36
+ <template>
37
+ <DetailPage>
38
+ <template #top-area>
39
+ <TitleBar v-bind="titleBarProps" />
40
+ <Metadata
41
+ class="mmt-6"
42
+ v-bind="metaDataProps"
43
+ :identifyingInformation="identifyingInformation"
44
+ />
45
+ </template>
46
+ <template #bottom-area>
47
+ <ResourceTabs
48
+ :value="secret"
49
+ :schema="schema"
50
+ >
51
+ <SecretDataTab
52
+ v-bind="secretDataTabProps"
53
+ :weight="1"
54
+ />
55
+ <KnownHostsTab
56
+ v-if="knownHostsTabProps"
57
+ v-bind="knownHostsTabProps"
58
+ :weight="0"
59
+ />
60
+ </ResourceTabs>
61
+ </template>
62
+ </DetailPage>
63
+ </template>
package/pages/home.vue CHANGED
@@ -1,7 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { defineComponent } from 'vue';
3
- import { mapPref, AFTER_LOGIN_ROUTE, READ_WHATS_NEW, HIDE_HOME_PAGE_CARDS } from '@shell/store/prefs';
4
- import { Banner } from '@components/Banner';
3
+ import { mapPref, AFTER_LOGIN_ROUTE, HIDE_HOME_PAGE_CARDS } from '@shell/store/prefs';
5
4
  import BannerGraphic from '@shell/components/BannerGraphic.vue';
6
5
  import IndentedPanel from '@shell/components/IndentedPanel.vue';
7
6
  import PaginatedResourceTable from '@shell/components/PaginatedResourceTable.vue';
@@ -14,7 +13,7 @@ import { NAME as MANAGER } from '@shell/config/product/manager';
14
13
  import { STATE } from '@shell/config/table-headers';
15
14
  import { MODE, _IMPORT } from '@shell/config/query-params';
16
15
  import { createMemoryFormat, formatSi, parseSi, createMemoryValues } from '@shell/utils/units';
17
- import { getVersionInfo, readReleaseNotes, markReadReleaseNotes, markSeenReleaseNotes } from '@shell/utils/version';
16
+ import { markSeenReleaseNotes } from '@shell/utils/version';
18
17
  import PageHeaderActions from '@shell/mixins/page-actions';
19
18
  import { getVendor } from '@shell/config/private-label';
20
19
  import { mapFeature, MULTI_CLUSTER } from '@shell/store/features';
@@ -36,7 +35,6 @@ export default defineComponent({
36
35
  name: 'Home',
37
36
  layout: 'home',
38
37
  components: {
39
- Banner,
40
38
  BannerGraphic,
41
39
  IndentedPanel,
42
40
  PaginatedResourceTable,
@@ -64,9 +62,13 @@ export default defineComponent({
64
62
  query: { [MODE]: _IMPORT }
65
63
  };
66
64
 
65
+ const topLevelPermissions = sessionStorage.getItem('TOPLEVELPERMISSIONS') || ''
66
+
67
+ const topLevelPermissionsVis = topLevelPermissions && topLevelPermissions === 'superadmin'
68
+
67
69
  return {
70
+ topLevelPermissionsVis,
68
71
  HIDE_HOME_PAGE_CARDS,
69
- fullVersion: getVersionInfo(this.$store).fullVersion,
70
72
  // Page actions don't change on the Home Page
71
73
  pageActions: [
72
74
  {
@@ -213,7 +215,7 @@ export default defineComponent({
213
215
 
214
216
  computed: {
215
217
  ...mapState(['managementReady']),
216
- ...mapGetters(['currentCluster', 'defaultClusterId', 'releaseNotesUrl']),
218
+ ...mapGetters(['currentCluster', 'defaultClusterId']),
217
219
  mcm: mapFeature(MULTI_CLUSTER),
218
220
 
219
221
  canCreateCluster() {
@@ -223,18 +225,16 @@ export default defineComponent({
223
225
  afterLoginRoute: mapPref(AFTER_LOGIN_ROUTE),
224
226
  homePageCards: mapPref(HIDE_HOME_PAGE_CARDS),
225
227
 
226
- readWhatsNewAlready() {
227
- return readReleaseNotes(this.$store);
228
- },
229
-
230
- showSetLoginBanner() {
231
- return this.homePageCards?.setLoginPage;
232
- },
233
228
  },
234
229
 
235
230
  async created() {
236
231
  // Update last visited on load
237
232
  await this.$store.dispatch('prefs/setLastVisited', { name: 'home' });
233
+
234
+ // We mark the release notes as seen still - the user has visited the home page, which will show the
235
+ // notification centre containing the release notes notification
236
+ // If we do not, then if they set the landing page, that won't work unless the release notes are marked read
237
+ // otherwise we always take them to the home page to see the release notes
238
238
  markSeenReleaseNotes(this.$store);
239
239
  },
240
240
 
@@ -410,23 +410,12 @@ export default defineComponent({
410
410
  return `${ memValues.useful }/${ memValues.total } ${ memValues.units }`;
411
411
  },
412
412
 
413
- showWhatsNew() {
414
- // Update the value, so that the message goes away
415
- markReadReleaseNotes(this.$store);
416
- },
417
-
418
- showUserPrefs() {
419
- this.$router.push({ name: 'prefs' });
420
- },
421
-
422
413
  async resetCards() {
423
414
  const value = this.$store.getters['prefs/get'](HIDE_HOME_PAGE_CARDS) || {};
424
415
 
425
416
  delete value.setLoginPage;
426
417
 
427
418
  await this.$store.dispatch('prefs/set', { key: HIDE_HOME_PAGE_CARDS, value });
428
-
429
- await this.$store.dispatch('prefs/set', { key: READ_WHATS_NEW, value: '' });
430
419
  },
431
420
 
432
421
  async toggleBanner() {
@@ -441,21 +430,6 @@ export default defineComponent({
441
430
  await this.$store.dispatch('prefs/set', { key: HIDE_HOME_PAGE_CARDS, value });
442
431
  },
443
432
 
444
- async closeSetLoginBanner(retry = 0) {
445
- let value = this.$store.getters['prefs/get'](HIDE_HOME_PAGE_CARDS);
446
-
447
- if (value === true || value === false || value.length > 0) {
448
- value = {};
449
- }
450
- value.setLoginPage = true;
451
-
452
- const res = await this.$store.dispatch('prefs/set', { key: HIDE_HOME_PAGE_CARDS, value });
453
-
454
- if (retry === 0 && res?.type === 'error' && res?.status === 500) {
455
- await this.closeSetLoginBanner(retry + 1);
456
- }
457
- },
458
-
459
433
  /**
460
434
  * Filter out hidden clusters from list of all clusters
461
435
  */
@@ -504,17 +478,26 @@ export default defineComponent({
504
478
  </script>
505
479
 
506
480
  <template>
481
+ <!-- 当 managementReady 为 true 时才显示首页内容 -->
507
482
  <div
508
483
  v-if="managementReady"
509
484
  class="home-page"
510
485
  >
486
+
487
+ <!-- 页签标题组件,不显示子页面标题和面包屑 -->
511
488
  <TabTitle
489
+ v-if="topLevelPermissionsVis"
512
490
  :show-child="false"
513
491
  :breadcrumb="false"
514
492
  >
493
+
494
+ <!-- 页面标题:{vendor} - 首页 -->
515
495
  {{ `${vendor} - ${t('landing.homepage')}` }}
516
496
  </TabTitle>
497
+
498
+ <!-- 首页欢迎横幅 -->
517
499
  <BannerGraphic
500
+ v-if="topLevelPermissionsVis"
518
501
  :small="true"
519
502
  :title="t('landing.welcomeToRancher', {vendor})"
520
503
  :pref="HIDE_HOME_PAGE_CARDS"
@@ -522,63 +505,24 @@ export default defineComponent({
522
505
  data-testid="home-banner-graphic"
523
506
  />
524
507
  <IndentedPanel class="mt-20 mb-20">
525
- <div
526
- v-if="!readWhatsNewAlready"
527
- class="row"
528
- >
529
- <div class="col span-12">
530
- <Banner
531
- data-testid="changelog-banner"
532
- color="info whats-new"
533
- >
534
- <div>
535
- {{ t('landing.seeWhatsNew', { version: CURRENT_RANCHER_VERSION }) }}
536
- </div>
537
- <a
538
- class="hand banner-link"
539
- :href="releaseNotesUrl"
540
- role="link"
541
- target="_blank"
542
- rel="noopener noreferrer nofollow"
543
- :aria-label="t('landing.whatsNewLink', { version: CURRENT_RANCHER_VERSION })"
544
- @click.stop="showWhatsNew"
545
- @keyup.stop.enter="showWhatsNew"
546
- ><span v-clean-html="t('landing.whatsNewLink', { version: CURRENT_RANCHER_VERSION })" /></a>
547
- </Banner>
548
- </div>
549
- </div>
508
+
509
+ <!-- 主面板布局 -->
550
510
  <div class="row home-panels">
551
511
  <div class="col main-panel">
552
- <div
553
- v-if="!showSetLoginBanner"
554
- class="mb-10 row"
555
- >
556
- <div class="col span-12">
557
- <Banner
558
- color="set-login-page mt-0"
559
- data-testid="set-login-page-banner"
560
- :closable="true"
561
- @close="closeSetLoginBanner()"
562
- >
563
- <div>
564
- {{ t('landing.landingPrefs.title') }}
565
- </div>
566
- <a
567
- class="hand mr-20"
568
- tabindex="0"
569
- :aria-label="t('landing.landingPrefs.userPrefs')"
570
- @click.prevent.stop="showUserPrefs"
571
- @keyup.prevent.stop.enter="showUserPrefs"
572
- @keyup.prevent.stop.space="showUserPrefs"
573
- ><span v-clean-html="t('landing.landingPrefs.userPrefs')" /></a>
574
- </Banner>
575
- </div>
576
- </div>
512
+ <h2 class="mb-20">
513
+ {{ t('landing.clusters.title') }}
514
+ </h2>
515
+
516
+ <!-- 集群列表面板 -->
577
517
  <div class="row panel">
518
+
519
+ <!-- 如果是多集群模式(mcm = multi-cluster management) -->
578
520
  <div
579
521
  v-if="mcm"
580
522
  class="col span-12"
581
523
  >
524
+
525
+ <!-- 分页资源表格 -->
582
526
  <PaginatedResourceTable
583
527
  v-if="provClusterSchema"
584
528
  :schema="provClusterSchema"
@@ -598,27 +542,17 @@ export default defineComponent({
598
542
  :fetchSecondaryResources="fetchSecondaryResources"
599
543
  :fetchPageSecondaryResources="fetchPageSecondaryResources"
600
544
  >
601
- <template #header-left>
602
- <div class="row table-heading">
603
- <h2 class="mb-0">
604
- {{ t('landing.clusters.title') }}
605
- </h2>
606
- <BadgeState
607
- v-if="clusterCount"
608
- :label="clusterCount.toString()"
609
- color="role-tertiary ml-20 mr-20"
610
- />
611
- </div>
612
- </template>
545
+
546
+ <!-- 表头中间:管理、导入、创建按钮 -->
613
547
  <template
614
548
  v-if="canCreateCluster || !!provClusterSchema"
615
- #header-middle
549
+ #header-right
616
550
  >
617
- <div class="table-heading">
551
+ <div v-if="topLevelPermissionsVis" class="table-heading">
618
552
  <router-link
619
553
  v-if="!!provClusterSchema"
620
554
  :to="manageLocation"
621
- class="btn btn-sm role-secondary"
555
+ class="btn btn-sm role-primary"
622
556
  data-testid="cluster-management-manage-button"
623
557
  role="button"
624
558
  :aria-label="t('cluster.manageAction')"
@@ -650,6 +584,8 @@ export default defineComponent({
650
584
  </router-link>
651
585
  </div>
652
586
  </template>
587
+
588
+ <!-- 列渲染:集群名称 -->
653
589
  <template #col:name="{row}">
654
590
  <td class="col-name">
655
591
  <div class="list-cluster-name">
@@ -657,6 +593,8 @@ export default defineComponent({
657
593
  v-if="row.mgmt"
658
594
  class="cluster-name"
659
595
  >
596
+
597
+ <!-- 如果集群就绪且无错误,跳转到集群 Explorer 页面 -->
660
598
  <router-link
661
599
  v-if="row.mgmt.isReady && !row.hasError"
662
600
  :to="{ name: 'c-cluster-explorer', params: { cluster: row.mgmt.id }}"
@@ -665,6 +603,8 @@ export default defineComponent({
665
603
  >
666
604
  {{ row.nameDisplay }}
667
605
  </router-link>
606
+
607
+ <!-- 否则只显示名称 -->
668
608
  <span v-else>{{ row.nameDisplay }}</span>
669
609
  <i
670
610
  v-if="row.unavailableMachines"
@@ -672,6 +612,8 @@ export default defineComponent({
672
612
  class="conditions-alert-icon icon-alert icon"
673
613
  />
674
614
  </p>
615
+
616
+ <!-- 集群描述 -->
675
617
  <p
676
618
  v-if="row.description"
677
619
  class="cluster-description"
@@ -681,6 +623,8 @@ export default defineComponent({
681
623
  </div>
682
624
  </td>
683
625
  </template>
626
+
627
+ <!-- 列渲染:Kubernetes 版本 + 架构 -->
684
628
  <template #col:kubernetesVersion="{row}">
685
629
  <td class="col-name">
686
630
  <span>
@@ -694,6 +638,8 @@ export default defineComponent({
694
638
  </div>
695
639
  </td>
696
640
  </template>
641
+
642
+ <!-- 列渲染:CPU 核数 -->
697
643
  <template #col:cpu="{row}">
698
644
  <td v-if="row.mgmt && cpuAllocatable(row.mgmt)">
699
645
  {{ `${cpuAllocatable(row.mgmt)} ${t('landing.clusters.cores', {count:cpuAllocatable(row.mgmt) })}` }}
@@ -702,6 +648,8 @@ export default defineComponent({
702
648
  &mdash;
703
649
  </td>
704
650
  </template>
651
+
652
+ <!-- 列渲染:内存 -->
705
653
  <template #col:memory="{row}">
706
654
  <td v-if="row.mgmt && memoryAllocatable(row.mgmt) && !memoryAllocatable(row.mgmt).match(/^0 [a-zA-z]/)">
707
655
  {{ memoryAllocatable(row.mgmt) }}
@@ -710,16 +658,20 @@ export default defineComponent({
710
658
  &mdash;
711
659
  </td>
712
660
  </template>
713
- <!-- <template #cell:explorer="{row}">
661
+
662
+ <!-- 列渲染:探索按钮 -->
663
+ <template #cell:explorer="{row}">
714
664
  <router-link v-if="row && row.isReady" class="btn btn-sm role-primary" :to="{name: 'c-cluster', params: {cluster: row.id}}">
715
665
  {{ t('landing.clusters.explore') }}
716
666
  </router-link>
717
667
  <button v-else :disabled="true" class="btn btn-sm role-primary">
718
668
  {{ t('landing.clusters.explore') }}
719
669
  </button>
720
- </template> -->
670
+ </template>
721
671
  </PaginatedResourceTable>
722
672
  </div>
673
+
674
+ <!-- 单集群模式 -->
723
675
  <div
724
676
  v-else
725
677
  class="col span-12"
@@ -728,7 +680,8 @@ export default defineComponent({
728
680
  </div>
729
681
  </div>
730
682
  </div>
731
- <CommunityLinks class="col span-3 side-panel" />
683
+ <!-- 右侧社区链接面板 -->
684
+ <!-- <CommunityLinks class="col span-3 side-panel" /> -->
732
685
  </div>
733
686
  </IndentedPanel>
734
687
  </div>
@@ -776,7 +729,7 @@ export default defineComponent({
776
729
  height: 39px;
777
730
 
778
731
  & > a {
779
- margin-left: 10px;
732
+ margin-right: 10px;
780
733
  }
781
734
  }
782
735
  .panel:not(:first-child) {
package/pages/prefs.vue CHANGED
@@ -18,7 +18,6 @@ import { addObject } from '@shell/utils/array';
18
18
  import LocaleSelector from '@shell/components/LocaleSelector';
19
19
  import TabTitle from '@shell/components/TabTitle';
20
20
  import { HARVESTER_NAME as HARVESTER } from '@shell/config/features';
21
- import { harvester2cloud } from '@shell/utils/router'
22
21
 
23
22
  export default {
24
23
  components: {
@@ -191,11 +190,13 @@ export default {
191
190
  <!-- Language -->
192
191
  <div
193
192
  v-if="hasMultipleLocales && !isHarvester"
194
- class="mt-10 mb-10"
193
+ class="mb-20 p-20 pb-0"
194
+ style="border: 1px solid var(--nav-border);"
195
195
  >
196
196
  <h4
197
197
  id="prefs-language"
198
198
  v-t="'prefs.language'"
199
+ class="pb-20"
199
200
  />
200
201
  <div class="row">
201
202
  <div class="col span-4">
@@ -207,36 +208,35 @@ export default {
207
208
  </div>
208
209
  </div>
209
210
  <!-- Theme -->
210
- <div class="mt-10 mb-10">
211
- <h4 v-t="'prefs.theme.label'" />
211
+ <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
212
+ <h4 v-t="'prefs.theme.label'" class="mb-20" />
212
213
  <ButtonGroup
213
214
  v-model:value="theme"
214
215
  data-testid="prefs__themeOptions"
215
216
  :options="themeOptions"
216
217
  />
217
- <div class="mt-10">
218
+ <!-- <div class="mt-10">
218
219
  <t
219
220
  k="prefs.theme.autoDetail"
220
221
  :pm="pm"
221
222
  :am="am"
222
223
  />
223
- </div>
224
+ </div> -->
224
225
  </div>
225
226
  <!-- Login landing page -->
226
227
  <div
227
228
  v-if="!isSingleProduct"
228
- class="mt-10 mb-10"
229
+ class="mb-20 p-20"
230
+ style="border: 1px solid var(--nav-border);"
229
231
  >
230
- <hr role="none">
231
- <h4 v-t="'prefs.landing.label'" />
232
+ <h4 v-t="'prefs.landing.label'" class="mb-20" />
232
233
  <LandingPagePreference
233
234
  data-testid="prefs__landingPagePreference"
234
235
  />
235
236
  </div>
236
237
  <!-- Display Settings -->
237
- <div class="mt-10 mb-10">
238
- <hr role="none">
239
- <h4 v-t="'prefs.displaySettings.title'" />
238
+ <div class="mb-20 p-20" style="border: 1px solid var(--nav-border);">
239
+ <h4 v-t="'prefs.displaySettings.title'" class="mb-20" />
240
240
  <p class="set-landing-leadin">
241
241
  {{ t('prefs.displaySettings.detail', {}, raw=true) }}
242
242
  </p>
@@ -277,10 +277,10 @@ export default {
277
277
  <!-- Confirmation setting -->
278
278
  <div
279
279
  v-if="!isSingleProduct"
280
- class="col adv-features mt-10 mb-10"
280
+ class="col adv-features mb-20 p-20"
281
+ style="border: 1px solid var(--nav-border);"
281
282
  >
282
- <hr role="none">
283
- <h4 v-t="'prefs.confirmationSetting.title'" />
283
+ <h4 v-t="'prefs.confirmationSetting.title'" class="mb-20" />
284
284
  <Checkbox
285
285
  v-model:value="scalingDownPrompt"
286
286
  data-testid="prefs__scalingDownPrompt"
@@ -289,9 +289,8 @@ export default {
289
289
  />
290
290
  </div>
291
291
  <!-- Advanced Features -->
292
- <div class="col adv-features mt-10 mb-10">
293
- <hr role="none">
294
- <h4 v-t="'prefs.advFeatures.title'" />
292
+ <div class="col adv-features mb-20 p-20" style="border: 1px solid var(--nav-border);">
293
+ <h4 v-t="'prefs.advFeatures.title'" class="mb-20" />
295
294
  <Checkbox
296
295
  v-model:value="viewInApi"
297
296
  data-testid="prefs__viewInApi"
@@ -332,9 +331,8 @@ export default {
332
331
  </template>
333
332
  </div>
334
333
  <!-- YAML editor key mapping -->
335
- <div class="col mt-10 mb-10">
336
- <hr role="none">
337
- <h4 v-t="'prefs.keymap.label'" />
334
+ <div class="col mb-20 p-20" style="border: 1px solid var(--nav-border);">
335
+ <h4 v-t="'prefs.keymap.label'" class="mb-20" />
338
336
  <ButtonGroup
339
337
  v-model:value="keymap"
340
338
  data-testid="prefs__keymapOptions"
@@ -344,10 +342,10 @@ export default {
344
342
  <!-- Helm Charts -->
345
343
  <div
346
344
  v-if="!isSingleProduct"
347
- class="col mt-10 mb-40"
345
+ class="col mb-40 p-20"
346
+ style="border: 1px solid var(--nav-border);"
348
347
  >
349
- <hr role="none">
350
- <h4 v-t="'prefs.helm.label'" />
348
+ <h4 v-t="'prefs.helm.label'" class="mb-20" />
351
349
  <ButtonGroup
352
350
  v-model:value="showPreRelease"
353
351
  data-testid="prefs__helmOptions"
@@ -366,4 +364,7 @@ export default {
366
364
  max-width: 80vw;
367
365
  color: var(--input-label);
368
366
  }
367
+ h4{
368
+ font-size: 14px;
369
+ }
369
370
  </style>
@@ -2,13 +2,13 @@
2
2
  import BannerGraphic from '@shell/components/BannerGraphic';
3
3
  import IndentedPanel from '@shell/components/IndentedPanel';
4
4
  import CommunityLinks from '@shell/components/CommunityLinks';
5
- import { CATALOG, MANAGEMENT } from '@shell/config/types';
5
+ import { MANAGEMENT } from '@shell/config/types';
6
6
  import { getVendor } from '@shell/config/private-label';
7
7
  import { SETTING } from '@shell/config/settings';
8
8
  import { addParam } from '@shell/utils/url';
9
9
  import { isRancherPrime } from '@shell/config/version';
10
- import { hasCspAdapter } from '@shell/mixins/brand';
11
10
  import TabTitle from '@shell/components/TabTitle';
11
+ import CspAdapterUtils from '@shell/utils/cspAdaptor';
12
12
 
13
13
  export default {
14
14
 
@@ -42,9 +42,7 @@ export default {
42
42
  return setting;
43
43
  };
44
44
 
45
- if ( this.$store.getters['management/canList'](CATALOG.APP) ) {
46
- this.apps = await this.$store.dispatch('management/findAll', { type: CATALOG.APP });
47
- }
45
+ this.apps = await CspAdapterUtils.fetchCspAdaptorApp(this.$store);
48
46
  this.brandSetting = await fetchOrCreateSetting(SETTING.BRAND, '');
49
47
  this.serverUrlSetting = await fetchOrCreateSetting(SETTING.SERVER_URL, '');
50
48
  this.uiIssuesSetting = await this.$store.dispatch('management/find', { type: MANAGEMENT.SETTING, id: SETTING.ISSUES });
@@ -75,7 +73,7 @@ export default {
75
73
 
76
74
  computed: {
77
75
  cspAdapter() {
78
- return hasCspAdapter(this.apps);
76
+ return CspAdapterUtils.hasCspAdapter({ $store: this.$store, apps: this.apps });
79
77
  },
80
78
 
81
79
  hasSupport() {
package/pkg/tsconfig.json CHANGED
@@ -27,25 +27,25 @@
27
27
  ],
28
28
  "paths": {
29
29
  "@shell/core/*": [
30
- "../../node_modules/dashboard-shell-shell/core/*"
30
+ "../../node_modules/@rancher/shell/core/*"
31
31
  ],
32
32
  "@shell/config/*": [
33
- "../../node_modules/dashboard-shell-shell/config/*"
33
+ "../../node_modules/@rancher/shell/config/*"
34
34
  ],
35
35
  "@shell/store/*": [
36
- "../../node_modules/dashboard-shell-shell/store/*"
36
+ "../../node_modules/@rancher/shell/store/*"
37
37
  ],
38
38
  "@shell/plugins/*": [
39
- "../../node_modules/dashboard-shell-shell/plugins/*"
39
+ "../../node_modules/@rancher/shell/plugins/*"
40
40
  ],
41
41
  "@shell/utils/*": [
42
- "../../node_modules/dashboard-shell-shell/utils/*"
42
+ "../../node_modules/@rancher/shell/utils/*"
43
43
  ],
44
44
  "@shell/models/*": [
45
- "../../node_modules/dashboard-shell-shell/models/*"
45
+ "../../node_modules/@rancher/shell/models/*"
46
46
  ],
47
47
  "@shell/mixins/*": [
48
- "../../node_modules/dashboard-shell-shell/mixins/*"
48
+ "../../node_modules/@rancher/shell/mixins/*"
49
49
  ],
50
50
  "@pkg/*": [
51
51
  "./*"
@@ -56,8 +56,8 @@
56
56
  "**/*.ts",
57
57
  "**/*.tsx",
58
58
  "**/*.vue",
59
- "../../node_modules/dashboard-shell-shell/types/*.d.ts",
60
- "../../node_modules/dashboard-shell-shell/core/types.ts"
59
+ "../../node_modules/@rancher/shell/types/*.d.ts",
60
+ "../../node_modules/@rancher/shell/core/types.ts"
61
61
  ],
62
62
  "exclude": [
63
63
  "node_modules"
package/pkg/vue.config.js CHANGED
@@ -117,7 +117,7 @@ module.exports = function(dir) {
117
117
  if (p.use) {
118
118
  p.use.forEach((u) => {
119
119
  if (u.loader.includes('babel-loader')) {
120
- p.exclude = /node_modules\/(?!dashboard-shell-shell\/).*/;
120
+ p.exclude = /node_modules\/(?!@rancher\/shell\/).*/;
121
121
  }
122
122
  });
123
123
  }
@@ -2,6 +2,7 @@ import DOMPurify from 'dompurify';
2
2
  import { uniq } from '@shell/utils/array';
3
3
 
4
4
  const ALLOWED_TAGS = [
5
+ 'center',
5
6
  'code',
6
7
  'li',
7
8
  'a',
@@ -13,6 +14,7 @@ const ALLOWED_TAGS = [
13
14
  'span',
14
15
  'div',
15
16
  'i',
17
+ 'img',
16
18
  'em',
17
19
  'strong',
18
20
  'h1',
@@ -175,7 +175,9 @@ describe('dashboard-store: actions', () => {
175
175
  haveSelector: jest.fn(() => false),
176
176
  matching: jest.fn(() => 'getters.all'),
177
177
  urlFor: jest.fn(() => 'getters.urlFor'),
178
- urlOptions: jest.fn(() => 'getters.urlOptions')
178
+ urlOptions: jest.fn(() => 'getters.urlOptions'),
179
+ haveAll: jest.fn(() => false),
180
+ all: jest.fn(() => []),
179
181
  };
180
182
  const rootGetters = { 'type-map/optionsFor': jest.fn() };
181
183
 
@@ -207,6 +209,7 @@ describe('dashboard-store: actions', () => {
207
209
  null,
208
210
  {
209
211
  ...genericOpt,
212
+ isCollection: true,
210
213
  depaginate: undefined,
211
214
  labelSelector: genericSelector,
212
215
  url: 'getters.urlFor',