@rancher/shell 3.0.5-rc.8 → 3.0.5-rc.9

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 (171) hide show
  1. package/assets/styles/base/_color.scss +4 -1
  2. package/assets/styles/global/_tooltip.scss +7 -4
  3. package/assets/styles/themes/_dark.scss +11 -0
  4. package/assets/styles/themes/_light.scss +13 -1
  5. package/assets/styles/themes/_modern.scss +22 -0
  6. package/assets/translations/en-us.yaml +136 -14
  7. package/assets/translations/zh-hans.yaml +0 -1
  8. package/chart/monitoring/grafana/index.vue +8 -2
  9. package/components/ActionMenuShell.vue +3 -1
  10. package/components/Cron/CronExpressionEditor.vue +299 -0
  11. package/components/Cron/CronExpressionEditorModal.vue +247 -0
  12. package/components/Cron/CronTooltip.vue +87 -0
  13. package/components/Cron/types.ts +13 -0
  14. package/components/ForceDirectedTreeChart/composable.ts +11 -0
  15. package/components/PromptModal.vue +1 -1
  16. package/components/Resource/Detail/Card/__tests__/StateCard.test.ts +1 -0
  17. package/components/Resource/Detail/CopyToClipboard.vue +78 -0
  18. package/components/Resource/Detail/FetchLoader/__tests__/composables.test.ts +69 -0
  19. package/components/Resource/Detail/FetchLoader/composables.ts +27 -0
  20. package/components/Resource/Detail/Metadata/Annotations/__tests__/index.test.ts +1 -1
  21. package/components/Resource/Detail/Metadata/Annotations/index.vue +1 -1
  22. package/components/Resource/Detail/Metadata/IdentifyingInformation/__tests__/identifying-fields.test.ts +13 -61
  23. package/components/Resource/Detail/Metadata/IdentifyingInformation/__tests__/index.test.ts +33 -6
  24. package/components/Resource/Detail/Metadata/IdentifyingInformation/identifying-fields.ts +24 -38
  25. package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +25 -5
  26. package/components/Resource/Detail/Metadata/KeyValue.vue +12 -23
  27. package/components/Resource/Detail/Metadata/KeyValueRow.vue +144 -0
  28. package/components/Resource/Detail/Metadata/Labels/__tests__/index.test.ts +1 -0
  29. package/components/Resource/Detail/Metadata/Labels/index.vue +1 -0
  30. package/components/Resource/Detail/Metadata/__tests__/KeyValue.test.ts +30 -32
  31. package/components/Resource/Detail/Metadata/__tests__/KeyValueRow.test.ts +108 -0
  32. package/components/Resource/Detail/Metadata/__tests__/composables.test.ts +0 -3
  33. package/components/Resource/Detail/Metadata/__tests__/index.test.ts +12 -5
  34. package/components/Resource/Detail/Metadata/composables.ts +1 -4
  35. package/components/Resource/Detail/Metadata/index.vue +1 -0
  36. package/components/Resource/Detail/Preview/Content.vue +63 -0
  37. package/components/Resource/Detail/Preview/Preview.vue +128 -0
  38. package/components/Resource/Detail/Preview/__tests__/Content.spec.ts +71 -0
  39. package/components/Resource/Detail/Preview/__tests__/Preview.spec.ts +121 -0
  40. package/components/Resource/Detail/ResourcePopover/ResourcePopoverCard.vue +141 -0
  41. package/components/Resource/Detail/ResourcePopover/__tests__/ResourcePopoverCard.test.ts +136 -0
  42. package/components/Resource/Detail/ResourcePopover/__tests__/index.test.ts +245 -0
  43. package/components/Resource/Detail/ResourcePopover/index.vue +226 -0
  44. package/components/Resource/Detail/SpacedRow.vue +1 -0
  45. package/components/Resource/Detail/TitleBar/__tests__/composables.test.ts +0 -5
  46. package/components/Resource/Detail/TitleBar/__tests__/index.test.ts +1 -1
  47. package/components/Resource/Detail/TitleBar/composables.ts +1 -3
  48. package/components/Resource/Detail/TitleBar/index.vue +2 -29
  49. package/components/Resource/Detail/ViewOptions/composable.ts +9 -0
  50. package/components/Resource/Detail/ViewOptions/index.vue +41 -0
  51. package/components/Resource/Detail/__tests__/CopyToClipboard.spec.ts +82 -0
  52. package/components/ResourceDetail/Masthead/legacy.vue +0 -19
  53. package/components/ResourceDetail/index.vue +1 -26
  54. package/components/ResourceTable.vue +24 -0
  55. package/components/SortableTable/index.vue +7 -1
  56. package/components/SortableTable/paging.js +3 -0
  57. package/components/Tabbed/Tab.vue +43 -1
  58. package/components/Tabbed/index.vue +3 -1
  59. package/components/__tests__/Cron/CronExpressionEditor.test.ts +151 -0
  60. package/components/__tests__/Cron/CronExpressionEditorModal.test.ts +81 -0
  61. package/components/auth/login/saml.vue +86 -0
  62. package/components/form/LabeledSelect.vue +8 -8
  63. package/components/form/ResourceTabs/composable.ts +54 -0
  64. package/components/form/ResourceTabs/index.vue +10 -7
  65. package/components/form/Select.vue +13 -10
  66. package/components/form/__tests__/LabeledSelect.test.ts +133 -0
  67. package/components/form/__tests__/Select.test.ts +134 -0
  68. package/composables/useExtensionManager.ts +17 -0
  69. package/config/home-links.js +12 -0
  70. package/config/labels-annotations.js +0 -1
  71. package/config/page-actions.js +0 -1
  72. package/config/product/explorer.js +3 -1
  73. package/config/product/fleet.js +2 -7
  74. package/config/product/manager.js +0 -5
  75. package/config/query-params.js +1 -0
  76. package/config/router/navigation-guards/clusters.js +2 -1
  77. package/config/router/navigation-guards/products.js +1 -1
  78. package/core/extension-manager-impl.js +518 -0
  79. package/core/plugins.js +35 -468
  80. package/core/types.ts +8 -2
  81. package/detail/__tests__/autoscaling.horizontalpodautoscaler.test.ts +1 -0
  82. package/detail/catalog.cattle.io.app.vue +7 -4
  83. package/detail/fleet.cattle.io.bundle.vue +1 -5
  84. package/detail/fleet.cattle.io.cluster.vue +3 -2
  85. package/detail/fleet.cattle.io.gitrepo.vue +76 -49
  86. package/detail/fleet.cattle.io.helmop.vue +78 -49
  87. package/dialog/AddonConfigConfirmationDialog.vue +1 -1
  88. package/dialog/GenericPrompt.vue +1 -1
  89. package/dialog/ImportDialog.vue +9 -2
  90. package/dialog/InstallExtensionDialog.vue +18 -10
  91. package/edit/__tests__/fleet.cattle.io.gitrepo.test.ts +2 -1
  92. package/edit/__tests__/resources.cattle.io.restore.test.ts +106 -0
  93. package/edit/cloudcredential.vue +31 -17
  94. package/edit/constraints.gatekeeper.sh.constraint/index.vue +10 -2
  95. package/edit/fleet.cattle.io.cluster.vue +19 -0
  96. package/edit/fleet.cattle.io.gitrepo.vue +23 -16
  97. package/edit/monitoring.coreos.com.alertmanagerconfig/index.vue +12 -11
  98. package/edit/monitoring.coreos.com.alertmanagerconfig/receiverConfig.vue +11 -1
  99. package/edit/provisioning.cattle.io.cluster/index.vue +14 -19
  100. package/edit/provisioning.cattle.io.cluster/rke2.vue +11 -3
  101. package/edit/resources.cattle.io.restore.vue +5 -8
  102. package/list/__tests__/workload.test.ts +1 -0
  103. package/list/workload.vue +8 -1
  104. package/machine-config/components/GCEImage.vue +6 -5
  105. package/machine-config/google.vue +11 -6
  106. package/mixins/__tests__/chart.test.ts +139 -1
  107. package/mixins/chart.js +58 -18
  108. package/models/__tests__/namespace.test.ts +69 -0
  109. package/models/apps.statefulset.js +8 -10
  110. package/models/chart.js +5 -1
  111. package/models/fleet-application.js +16 -46
  112. package/models/fleet.cattle.io.bundle.js +1 -38
  113. package/models/fleet.cattle.io.gitrepo.js +4 -0
  114. package/models/fleet.cattle.io.helmop.js +4 -0
  115. package/models/management.cattle.io.project.js +12 -0
  116. package/models/namespace.js +30 -0
  117. package/models/workload.js +3 -0
  118. package/package.json +10 -10
  119. package/pages/c/_cluster/apps/charts/AppChartCardFooter.vue +26 -11
  120. package/pages/c/_cluster/apps/charts/chart.vue +29 -20
  121. package/pages/c/_cluster/apps/charts/index.vue +1 -0
  122. package/pages/c/_cluster/apps/charts/install.vue +6 -5
  123. package/pages/c/_cluster/explorer/tools/__tests__/index.test.ts +102 -12
  124. package/pages/c/_cluster/explorer/tools/index.vue +145 -254
  125. package/pages/c/_cluster/manager/cloudCredential/index.vue +18 -1
  126. package/pages/c/_cluster/manager/drivers/kontainerDriver/index.vue +12 -2
  127. package/pages/c/_cluster/uiplugins/PluginInfoPanel.vue +1 -1
  128. package/pages/c/_cluster/uiplugins/__tests__/index.spec.ts +318 -0
  129. package/pages/c/_cluster/uiplugins/index.vue +221 -363
  130. package/pages/home.vue +1 -9
  131. package/plugins/dashboard-store/resource-class.js +49 -0
  132. package/public/index.html +2 -1
  133. package/rancher-components/Card/Card.vue +1 -1
  134. package/rancher-components/Form/Checkbox/Checkbox.vue +1 -1
  135. package/rancher-components/Form/Radio/RadioButton.vue +1 -1
  136. package/rancher-components/Form/Radio/RadioGroup.vue +1 -1
  137. package/rancher-components/LabeledTooltip/LabeledTooltip.vue +1 -11
  138. package/rancher-components/Pill/RcCounterBadge/RcCounterBadge.test.ts +53 -0
  139. package/rancher-components/Pill/RcCounterBadge/RcCounterBadge.vue +65 -0
  140. package/rancher-components/Pill/RcCounterBadge/index.ts +1 -0
  141. package/rancher-components/Pill/RcCounterBadge/types.ts +7 -0
  142. package/rancher-components/Pill/RcStatusBadge/RcStatusBadge.vue +1 -1
  143. package/rancher-components/Pill/RcStatusBadge/index.ts +1 -1
  144. package/rancher-components/Pill/RcStatusIndicator/RcStatusIndicator.vue +3 -3
  145. package/rancher-components/Pill/RcStatusIndicator/types.ts +1 -1
  146. package/rancher-components/Pill/RcTag/RcTag.test.ts +64 -0
  147. package/rancher-components/Pill/RcTag/RcTag.vue +94 -0
  148. package/rancher-components/Pill/RcTag/index.ts +1 -0
  149. package/rancher-components/Pill/RcTag/types.ts +9 -0
  150. package/rancher-components/Pill/types.ts +1 -0
  151. package/rancher-components/RcItemCard/RcItemCard.vue +1 -0
  152. package/rancher-components/RcItemCard/RcItemCardAction.vue +12 -0
  153. package/store/__tests__/catalog.test.ts +63 -0
  154. package/store/catalog.js +2 -2
  155. package/store/type-map.js +3 -15
  156. package/types/extension-manager.ts +26 -0
  157. package/types/shell/index.d.ts +121 -16
  158. package/utils/__tests__/product.test.ts +129 -0
  159. package/utils/__tests__/resource.test.ts +87 -0
  160. package/utils/alertmanagerconfig.js +2 -2
  161. package/utils/auth.js +3 -76
  162. package/utils/product.ts +39 -0
  163. package/utils/resource.ts +35 -0
  164. package/utils/select.js +0 -24
  165. package/utils/validators/formRules/__tests__/index.test.ts +3 -0
  166. package/utils/validators/formRules/index.ts +2 -1
  167. package/vue.config.js +1 -1
  168. package/components/Resource/Detail/Metadata/Rectangle.vue +0 -34
  169. package/components/Resource/Detail/Metadata/__tests__/Rectangle.test.ts +0 -24
  170. package/components/ResourceDetail/Masthead/__tests__/legacy.test.ts +0 -65
  171. /package/components/{ForceDirectedTreeChart.vue → ForceDirectedTreeChart/index.vue} +0 -0
@@ -12,6 +12,7 @@
12
12
 
13
13
  $blue001: #1F67DB;
14
14
  $blue002: #DFE6F2;
15
+ $blue003: #297DB4;
15
16
 
16
17
  $green001: #007032;
17
18
  $green002: #DCE7E1;
@@ -24,4 +25,6 @@ $red001: #B13333;
24
25
  $gray001: #EDEFF3;
25
26
  $gray002: #DCDEE4;
26
27
  $gray003: #FFF;
27
- $gray004: #6C6C76;
28
+ $gray004: #6C6C76;
29
+ $gray005: #4A4B52;
30
+ $gray006: #1b1c21;
@@ -12,6 +12,12 @@
12
12
  color: var(--tooltip-text);
13
13
  border-radius: var(--border-radius);
14
14
  padding: 8px;
15
+
16
+ // Ensure code blocks inside tooltips don't look awful
17
+ pre {
18
+ padding: 2px;
19
+ vertical-align: middle;
20
+ }
15
21
  }
16
22
 
17
23
  .v-popper__arrow-container {
@@ -113,10 +119,6 @@
113
119
  padding: 10px;
114
120
  border-radius: var(--border-radius-lg);
115
121
  border: none;
116
-
117
- a {
118
- color: var(--popover-text);
119
- }
120
122
  }
121
123
 
122
124
  .v-popper__arrow-container {
@@ -163,3 +165,4 @@
163
165
  .icon-info.v-popper--has-tooltip {
164
166
  font-size: 14px;
165
167
  }
168
+
@@ -260,5 +260,16 @@
260
260
  .secondary-text-link {
261
261
  color: var(--link-text-secondary);
262
262
  }
263
+
264
+ --rc-active-background: #{$gray006};
265
+ --rc-active-disabled-background: #{$gray006};
266
+ --rc-active-border: #{$gray005};
267
+
268
+ --rc-inactive-border: #{$gray005};
269
+ --rc-inactive-background: #{$gray005};
270
+ --rc-inactive-disabled-border: #{$gray004};
271
+
272
+ --rc-disabled-background: #{$gray005};
273
+ --rc-disabled-text-color: #{$gray004};
263
274
  }
264
275
  }
@@ -648,5 +648,17 @@ $drag-over: #DCDEE7;
648
648
 
649
649
  --rc-none: #{$gray002};
650
650
  --rc-none-secondary: #{$gray004};
651
+
652
+ --rc-primary-hover: #{$blue003};
653
+
654
+ --rc-active-background: #{$gray003};
655
+ --rc-active-disabled-background: #{$gray001};
656
+ --rc-active-border: #{$gray002};
657
+ --rc-inactive-border: #{$gray001};
658
+ --rc-inactive-background: #{$gray001};
659
+ --rc-inactive-disabled-border: #{$gray001};
660
+ --rc-disabled-background: #{$gray001};
661
+ --rc-disabled-text-color: #{$gray004};
662
+
651
663
  }
652
- }
664
+ }
@@ -647,6 +647,17 @@ BODY, .theme-light {
647
647
 
648
648
  --rc-none: #{$gray002};
649
649
  --rc-none-secondary: #{$gray004};
650
+
651
+ --rc-primary-hover: #{$blue003};
652
+
653
+ --rc-active-background: #{$gray003};
654
+ --rc-active-disabled-background: #{$gray001};
655
+ --rc-active-border: #{$gray002};
656
+ --rc-inactive-border: #{$gray001};
657
+ --rc-inactive-background: #{$gray001};
658
+ --rc-inactive-disabled-border: #{$gray001};
659
+ --rc-disabled-background: #{$gray001};
660
+ --rc-disabled-text-color: #{$gray004};
650
661
  }
651
662
 
652
663
  BODY, .theme-dark {
@@ -910,5 +921,16 @@ BODY, .theme-dark {
910
921
  .secondary-text-link {
911
922
  color: var(--link-text-secondary);
912
923
  }
924
+
925
+ --rc-active-background: #{$gray006};
926
+ --rc-active-disabled-background: #{$gray006};
927
+ --rc-active-border: #{$gray005};
928
+
929
+ --rc-inactive-border: #{$gray005};
930
+ --rc-inactive-background: #{$gray005};
931
+ --rc-inactive-disabled-border: #{$gray004};
932
+
933
+ --rc-disabled-background: #{$gray005};
934
+ --rc-disabled-text-color: #{$gray004};
913
935
  }
914
936
 
@@ -40,6 +40,7 @@ generic:
40
40
  disabled: Disabled
41
41
  done: Done
42
42
  enabled: Enabled
43
+ error: Error
43
44
  here: here
44
45
  id: ID
45
46
  ignored: Ignored
@@ -158,7 +159,7 @@ generic:
158
159
  showLess: Show less
159
160
  showMore: Show more
160
161
  opensInNewTab: Opens in a new tab
161
-
162
+
162
163
  tabs:
163
164
  addItem: Add a new tab item
164
165
  removeItem: Remove selected tab item
@@ -281,7 +282,6 @@ nav:
281
282
  filteringDescription: Using this input will immediately filter the results in the list below
282
283
  header:
283
284
  setLoginPage: Set as login page
284
- restoreCards: Restore hidden cards
285
285
  showHideBanner: Show/Hide Banner
286
286
  userMenu:
287
287
  preferences: Preferences
@@ -607,7 +607,7 @@ authConfig:
607
607
  starttls:
608
608
  label: Start TLS
609
609
  tip: Upgrades non-encrypted connections by wrapping with TLS during the connection process. Can not be used in conjunction with TLS.
610
- searchUsingServiceAccount:
610
+ searchUsingServiceAccount:
611
611
  label: Enable Service Account Search
612
612
  tip: When enabled, Rancher will use the service account instead of the user account to search for users and groups.
613
613
  tls: TLS
@@ -825,6 +825,10 @@ asyncButton:
825
825
  action: Download
826
826
  success: Saving
827
827
  waiting: Downloading…
828
+ downgrade:
829
+ action: Downgrade
830
+ success: Downgraded
831
+ waiting: Downgrading…
828
832
  drain:
829
833
  action: Drain
830
834
  success: Drained
@@ -833,6 +837,10 @@ asyncButton:
833
837
  action: Save
834
838
  success: Saved
835
839
  waiting: Saving…
840
+ editVersion:
841
+ action: Save changes
842
+ success: Saved
843
+ waiting: Saving changes…
836
844
  editAndContinue:
837
845
  action: Save and Continue
838
846
  success: Saved
@@ -853,6 +861,10 @@ asyncButton:
853
861
  action: Install
854
862
  success: Installed
855
863
  waiting: Installing…
864
+ installVersion:
865
+ action: Install this version
866
+ success: Installed
867
+ waiting: Installing…
856
868
  load:
857
869
  action: Load
858
870
  success: Loaded
@@ -897,9 +909,9 @@ asyncButton:
897
909
  success: Redeployed
898
910
  waiting: Redeploying Workload
899
911
  rollback:
900
- action: Roll Back
912
+ action: Rollback
901
913
  success: Rolled Back
902
- waiting: Rolling Back Workload
914
+ waiting: Rolling Back…
903
915
  rotate:
904
916
  action: Rotate
905
917
  waiting: Rotating…
@@ -928,6 +940,10 @@ asyncButton:
928
940
  action: Upgrade
929
941
  success: Upgrading
930
942
  waiting: Starting…
943
+ upgradeVersion:
944
+ action: Upgrade
945
+ success: Upgraded
946
+ waiting: Upgrading…
931
947
  generate:
932
948
  action: Generate
933
949
  success: Generated
@@ -1062,6 +1078,12 @@ catalog:
1062
1078
  deprecatedWarning: '{chartName} has been marked as deprecated. Use caution when installing this helm chart as it might be removed in the future.'
1063
1079
  experimentalWarning: '{chartName} has been marked as experimental. Use caution when installing this helm chart as it might not function as expected.'
1064
1080
  deprecatedAndExperimentalWarning: '{chartName} has been marked as deprecated and experimental. Use caution when installing this helm chart as it might be removed in the future and might not function as expected.'
1081
+ chartButton:
1082
+ action:
1083
+ install: Install this version
1084
+ edit: Edit the current version
1085
+ upgrade: Upgrade to this version
1086
+ downgrade: Downgrade to this version
1065
1087
  charts:
1066
1088
  browseAriaLabel: Show only charts grid
1067
1089
  iconAlt: Icon for {app} card/grid item
@@ -1139,7 +1161,7 @@ catalog:
1139
1161
  customizeInstall: Customize Install Options
1140
1162
  viewLogs: View Installation Logs
1141
1163
  waitForLogs: Installation initialized; waiting for logs...
1142
- canNotCreateRepos: It looks like you don't have permission to add repositories and install helm charts.
1164
+ canNotCreateRepos: It looks like you don't have permission to add repositories and install helm charts.
1143
1165
  canNotInstallApps: The {repo} repository has been added, but you don't have permission to install charts from it.
1144
1166
  stages:
1145
1167
  addRepo:
@@ -1234,7 +1256,9 @@ catalog:
1234
1256
  description: This process will help {action, select,
1235
1257
  install { create }
1236
1258
  upgrade { upgrade }
1237
- update { update }
1259
+ downgrade { upgrade }
1260
+ editVersion { update }
1261
+ upgradeVersion { upgrade }
1238
1262
  } the {existing, select,
1239
1263
  true { app}
1240
1264
  false { chart}
@@ -1326,8 +1350,9 @@ catalog:
1326
1350
  noTools: "No Cluster Tools found"
1327
1351
  action:
1328
1352
  install: Install
1329
- upgrade: Upgrade/Edit
1330
- edit: Edit
1353
+ upgrade: Upgrade
1354
+ edit: Edit current version
1355
+ downgrade: Downgrade
1331
1356
  remove: Remove
1332
1357
  manage: Manage
1333
1358
  os:
@@ -1604,7 +1629,7 @@ cluster:
1604
1629
  placeholder: Service Account private key JSON file
1605
1630
  gke: GKE
1606
1631
  gce: GCE
1607
- help:
1632
+ help:
1608
1633
  shared: <p>Create a <a href="https://console.cloud.google.com/projectselector/iam-admin/serviceaccounts" target="_blank" rel="noopener noreferrer nofollow">Service Account</a> with a JSON private key and provide the JSON here.</p>
1609
1634
  gke: |-
1610
1635
  <p>These IAM roles are required for GKE:</p>
@@ -2604,6 +2629,8 @@ cruResource:
2604
2629
  drivers:
2605
2630
  kontainer:
2606
2631
  title: Cluster Drivers
2632
+ emberDeprecationMessage: 'Support for UI Plugins (based on Ember) for cluster and node drivers was deprecated in Rancher 2.11.0 and will be removed in a future release. These need to be migrated to the new <a href="https://extensions.rancher.io" target="_blank" rel="noopener noreferrer nofollow">UI Extensions framework</a>.'
2633
+
2607
2634
  node:
2608
2635
  title: Node Drivers
2609
2636
  add:
@@ -3226,6 +3253,7 @@ footer:
3226
3253
  slack: Slack
3227
3254
 
3228
3255
  gatekeeperConstraint:
3256
+ templateRequired: You must have at least one Template before attempting to create a Constraint.
3229
3257
  downloadViolations: Download Violations
3230
3258
  match:
3231
3259
  title: Match
@@ -4089,6 +4117,11 @@ login:
4089
4117
  useNonLocal: Use a non-local user
4090
4118
  remember:
4091
4119
  label: Remember Username
4120
+ cli:
4121
+ welcome: Login to complete CLI authentication
4122
+ invalidParams: Invalid login parameters - can not login
4123
+ warning: 'If you did not initiate this request or the "Client Request Id" shown in your terminal does not match the code shown below, do not continue'
4124
+ warningLegacy: 'If you did not initiate this request or the code shown below does not match the "requestId" parameter shown as part of the login url in your terminal, do not continue'
4092
4125
 
4093
4126
  logout:
4094
4127
  message: Logging Out...
@@ -5097,6 +5130,8 @@ plugins:
5097
5130
  image: Image
5098
5131
  installing: Installing ...
5099
5132
  uninstalling: Uninstalling ...
5133
+ updating: Updating ...
5134
+ rollingBack: Rolling back ...
5100
5135
  menu: Extensions menu
5101
5136
  reloadRancher: Reload Rancher
5102
5137
  descriptions:
@@ -5752,7 +5787,6 @@ resourceDetail:
5752
5787
  favoriteAction: Add {resource} to your starred/favorites list
5753
5788
  unfavoriteAction: Remove {resource} from your starred/favorites list
5754
5789
  age: Age
5755
- createdBy: Created by
5756
5790
  restartCount: Pod Restarts
5757
5791
  defaultBannerMessage:
5758
5792
  error: This resource is currently in an error state, but there isn't a detailed message available.
@@ -6473,7 +6507,6 @@ tableHeaders:
6473
6507
  apikey: API Key
6474
6508
  available: Available
6475
6509
  attachedVM: Attached VM
6476
-
6477
6510
  authRoles:
6478
6511
  globalDefault: New User Default
6479
6512
  clusterDefault: Cluster Creator Default
@@ -6950,6 +6983,9 @@ wizard:
6950
6983
  edit: Edit
6951
6984
  create: Create
6952
6985
  view: View
6986
+ install: Install
6987
+ upgrade: Upgrade
6988
+ downgrade: Downgrade
6953
6989
  wm:
6954
6990
  connection:
6955
6991
  connected: Connected
@@ -8724,6 +8760,11 @@ volumeClaimTemplate:
8724
8760
  manager:
8725
8761
  cloudCredentials:
8726
8762
  label: Cloud Credentials
8763
+ list:
8764
+ groupBy:
8765
+ provider: Group by Provider
8766
+ headers:
8767
+ provider: Provider
8727
8768
  drivers:
8728
8769
  label: Drivers
8729
8770
  rkeTemplates:
@@ -8873,6 +8914,9 @@ component:
8873
8914
  title: Config
8874
8915
  resource:
8875
8916
  detail:
8917
+ copyToClipboard:
8918
+ ariaLabel:
8919
+ copy: Copy to clipboard
8876
8920
  card:
8877
8921
  resourceUsage:
8878
8922
  used: Used
@@ -8907,7 +8951,6 @@ component:
8907
8951
  metadata:
8908
8952
  labelsAndAnnotations: Labels and Annotations
8909
8953
  identifyingInformation:
8910
- createdBy: Created by
8911
8954
  namespace: Namespace
8912
8955
  project: Project
8913
8956
  age: Age
@@ -8927,4 +8970,83 @@ component:
8927
8970
  title: Labels
8928
8971
  keyValue:
8929
8972
  noRows: There are no {propertyName} configured on this resource.
8930
- showConfiguration: Show Configuration
8973
+ showConfiguration: Show Configuration
8974
+ ariaLabel:
8975
+ showPreview: Show Preview
8976
+ glance:
8977
+ state: State
8978
+ age: Age
8979
+ namespace: Namespace
8980
+ project: Project
8981
+ type: Type
8982
+ ariaLabel:
8983
+ showDetails: Show Resource Information about { resource } named { name }
8984
+ actionMenu: Resource Actions - { resource }
8985
+ cron:
8986
+ expressionEditor:
8987
+ label:
8988
+ minute: "Minute"
8989
+ hour: "Hour"
8990
+ dayOfMonth: "Day of Month"
8991
+ month: "Month"
8992
+ dayOfWeek: "Day of Week"
8993
+ invalidValue: "Invalid value"
8994
+ invalidCronExpression: "Invalid Cron Expression"
8995
+ minute:
8996
+ any: "any value (every minute)"
8997
+ at1and5: "at 1 and 5 min past the hour"
8998
+ range: "every minute from 1 to 5"
8999
+ every5: "every 5 minutes"
9000
+ start8: "every 5 minutes, starting at 8 minutes past the hour"
9001
+ allowed: "Allowed literal values: 0-59"
9002
+ hour:
9003
+ any: "any value (every hour)"
9004
+ at1and5: "at 1 AM and 5 AM"
9005
+ range: "every hour from 1 to 5 AM"
9006
+ every5: "every 5 hours"
9007
+ start8: "every 5 hours starting at 8 AM"
9008
+ allowed: "Allowed literal values: 0-23"
9009
+ dayOfMonth:
9010
+ any: "any value (every day of the month)"
9011
+ omit: "omit"
9012
+ 1and5: "on the 1st and 5th days of the month"
9013
+ range: "every day from 1st to 5th"
9014
+ every5: "every 5 days"
9015
+ start8: "every 5 days starting at the 8th"
9016
+ allowed: "Allowed literal values: 1-31"
9017
+ month:
9018
+ any: "any value (every month)"
9019
+ 1and5: "on months 1 and 5 (January and May)"
9020
+ range: "every month from January to May"
9021
+ every2: "every 2 months"
9022
+ start3: "every 2 months, starting on month 3 (March)"
9023
+ allowed: "Allowed literal values: 1-12"
9024
+ alias: "Allowed alias values: jan-dec"
9025
+ dayOfWeek:
9026
+ any: "any value (every day of the week)"
9027
+ omit: "omit"
9028
+ 1and5: "on days 1 and 5 (Monday and Friday)"
9029
+ range: "every day from Monday to Friday"
9030
+ allowed: "Allowed literal values: 0-7"
9031
+ alias: "Allowed alias values: mon-sun"
9032
+ a11y:
9033
+ examples: "Edit {label}. Examples:"
9034
+ expressionEditorModal:
9035
+ title: "Define Cron expression"
9036
+ description: "Click on any field to get hints about valid values and wildcard symbols."
9037
+ wildcards:
9038
+ title: "Generic Wildcards"
9039
+ anyValue: "any value"
9040
+ xAndY: "X and Y"
9041
+ fromXtoY: "from X to Y"
9042
+ everyX: "every X"
9043
+ everyXStartingY: "every X starting at Y"
9044
+ everyXFromYtoZ: "every X, from Y to Z"
9045
+ examples:
9046
+ title: "Examples"
9047
+ dailyMidnight: "At 12:00 AM"
9048
+ every5Hours: "At 0 minutes past the hour, every 5 hours"
9049
+ day1At1745: "At 05:45 PM, on day 1 of the month"
9050
+ weekdaysAt0830: "At 30 minutes past the hour, every 1 hours, starting at 08:00 AM, Monday through Friday"
9051
+ marchToMayHourly: "Every hour, only in March, April, and May"
9052
+ every4Hours9to17: "At 0 minutes past the hour, every 4 hours, between 09:00 AM and 05:00 PM"
@@ -194,7 +194,6 @@ nav:
194
194
  placeholder: 输入关键词,搜索资源
195
195
  header:
196
196
  setLoginPage: 设置为登录页面
197
- restoreCards: 恢复隐藏的卡片
198
197
  userMenu:
199
198
  preferences: 偏好设置
200
199
  accountAndKeys: 账号 & API 密钥
@@ -265,7 +265,10 @@ export default {
265
265
  />
266
266
  </div>
267
267
  <div class="col span-6">
268
- <div v-if="showStorageClasses">
268
+ <div
269
+ v-if="showStorageClasses"
270
+ data-testid="select-chart-grafana-storage-class"
271
+ >
269
272
  <StorageClassSelector
270
273
  :value="value.grafana.persistence.storageClassName"
271
274
  :mode="mode"
@@ -332,7 +335,10 @@ export default {
332
335
  />
333
336
  </div>
334
337
  <div class="col span-6">
335
- <div v-if="showStorageClasses">
338
+ <div
339
+ v-if="showStorageClasses"
340
+ data-testid="select-chart-grafana-storage-class"
341
+ >
336
342
  <StorageClassSelector
337
343
  :value="value.grafana.persistence.storageClassName"
338
344
  :mode="mode"
@@ -28,7 +28,7 @@ const openChanged = (event: boolean) => {
28
28
  }
29
29
  };
30
30
 
31
- const emit = defineEmits<{(event: string, payload: any): void}>();
31
+ const emit = defineEmits<{(event: string, payload: any): void;(event: 'action-invoked'): void;}>();
32
32
  const route = useRoute();
33
33
 
34
34
  const execute = (action: any, event: MouseEvent, args?: any) => {
@@ -36,6 +36,8 @@ const execute = (action: any, event: MouseEvent, args?: any) => {
36
36
  return;
37
37
  }
38
38
 
39
+ emit('action-invoked');
40
+
39
41
  // this will come from extensions...
40
42
  if (action.invoke) {
41
43
  const fn = action.invoke;