@rancher/shell 3.0.5-rc.2 → 3.0.5-rc.3

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 (113) hide show
  1. package/assets/data/aws-regions.json +2 -0
  2. package/assets/styles/global/_layout.scss +0 -1
  3. package/assets/translations/en-us.yaml +61 -19
  4. package/assets/translations/zh-hans.yaml +0 -10
  5. package/chart/monitoring/index.vue +1 -1
  6. package/components/AsyncButton.vue +2 -0
  7. package/components/CodeMirror.vue +3 -3
  8. package/components/CruResource.vue +103 -15
  9. package/components/ExplorerProjectsNamespaces.vue +7 -2
  10. package/components/FixedBanner.vue +19 -5
  11. package/components/PaginatedResourceTable.vue +7 -0
  12. package/components/ResourceDetail/Masthead.vue +0 -1
  13. package/components/ResourceList/index.vue +2 -1
  14. package/components/SlideInPanelManager.vue +1 -2
  15. package/components/SortableTable/selection.js +1 -1
  16. package/components/Tabbed/index.vue +6 -0
  17. package/components/__tests__/AsyncButton.test.ts +39 -0
  18. package/components/__tests__/CruResource.test.ts +63 -0
  19. package/components/__tests__/PromptModal.test.ts +0 -2
  20. package/components/form/ArrayList.vue +134 -118
  21. package/components/form/BannerSettings.vue +145 -96
  22. package/components/form/KeyValue.vue +10 -7
  23. package/components/form/LabeledSelect.vue +9 -2
  24. package/components/form/MatchExpressions.vue +5 -1
  25. package/components/form/NameNsDescription.vue +1 -1
  26. package/components/form/ResourceSelector.vue +26 -23
  27. package/components/form/ResourceTabs/index.vue +2 -1
  28. package/components/form/Select.vue +9 -2
  29. package/components/form/UnitInput.vue +13 -0
  30. package/components/form/__tests__/ArrayList.test.ts +32 -0
  31. package/components/form/__tests__/KeyValue.test.ts +36 -0
  32. package/components/form/__tests__/LabeledSelect.test.ts +33 -0
  33. package/components/form/__tests__/Select.test.ts +34 -1
  34. package/components/form/__tests__/UnitInput.test.ts +23 -1
  35. package/components/formatter/ClusterLink.vue +5 -8
  36. package/components/formatter/Description.vue +30 -0
  37. package/components/formatter/__tests__/ClusterLink.test.ts +2 -32
  38. package/components/nav/NamespaceFilter.vue +1 -1
  39. package/components/nav/WindowManager/index.vue +1 -0
  40. package/config/product/explorer.js +16 -13
  41. package/config/product/manager.js +1 -28
  42. package/config/settings.ts +11 -13
  43. package/config/table-headers.js +7 -5
  44. package/detail/catalog.cattle.io.app.vue +0 -1
  45. package/detail/provisioning.cattle.io.cluster.vue +13 -3
  46. package/detail/service.vue +0 -1
  47. package/detail/workload/index.vue +21 -34
  48. package/dialog/ExtensionCatalogUninstallDialog.vue +14 -8
  49. package/edit/__tests__/service.test.ts +2 -1
  50. package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +3 -14
  51. package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +57 -62
  52. package/edit/networking.k8s.io.networkpolicy/PolicyRules.vue +3 -14
  53. package/edit/networking.k8s.io.networkpolicy/__tests__/PolicyRuleTarget.test.ts +72 -41
  54. package/edit/networking.k8s.io.networkpolicy/__tests__/utils/mock.json +17 -1
  55. package/edit/networking.k8s.io.networkpolicy/index.vue +18 -30
  56. package/edit/provisioning.cattle.io.cluster/index.vue +21 -73
  57. package/edit/service.vue +13 -28
  58. package/list/workload.vue +6 -1
  59. package/mixins/resource-fetch-api-pagination.js +55 -43
  60. package/mixins/resource-fetch.js +14 -5
  61. package/models/__tests__/workload.test.ts +1 -0
  62. package/models/cluster/node.js +1 -0
  63. package/models/cluster.js +32 -2
  64. package/models/management.cattle.io.cluster.js +0 -20
  65. package/models/management.cattle.io.node.js +7 -22
  66. package/models/management.cattle.io.nodepool.js +12 -0
  67. package/models/namespace.js +5 -0
  68. package/models/provisioning.cattle.io.cluster.js +18 -64
  69. package/models/service.js +24 -9
  70. package/models/workload.js +70 -31
  71. package/package.json +1 -1
  72. package/pages/c/_cluster/apps/charts/install.vue +0 -1
  73. package/pages/c/_cluster/explorer/index.vue +11 -0
  74. package/pages/c/_cluster/longhorn/index.vue +2 -2
  75. package/pages/c/_cluster/settings/banners.vue +56 -2
  76. package/pages/c/_cluster/settings/performance.vue +7 -26
  77. package/pages/home.vue +11 -52
  78. package/plugins/clean-html.js +2 -0
  79. package/plugins/dashboard-store/__tests__/actions.test.ts +4 -1
  80. package/plugins/dashboard-store/actions.js +122 -21
  81. package/plugins/dashboard-store/getters.js +74 -3
  82. package/plugins/dashboard-store/mutations.js +10 -5
  83. package/plugins/dashboard-store/resource-class.js +23 -3
  84. package/plugins/steve/__tests__/getters.test.ts +18 -11
  85. package/plugins/steve/__tests__/steve-class.test.ts +1 -0
  86. package/plugins/steve/actions.js +34 -12
  87. package/plugins/steve/getters.js +39 -10
  88. package/plugins/steve/steve-class.js +5 -0
  89. package/plugins/steve/steve-pagination-utils.ts +199 -37
  90. package/plugins/steve/worker/web-worker.advanced.js +3 -1
  91. package/rancher-components/Banner/Banner.test.ts +51 -3
  92. package/rancher-components/Banner/Banner.vue +28 -6
  93. package/rancher-components/Form/LabeledInput/LabeledInput.test.ts +5 -1
  94. package/rancher-components/Form/ToggleSwitch/ToggleSwitch.vue +21 -1
  95. package/store/features.js +0 -1
  96. package/store/type-map.utils.ts +45 -2
  97. package/types/fleet.d.ts +1 -1
  98. package/types/kube/kube-api.ts +22 -0
  99. package/types/resources/settings.d.ts +0 -4
  100. package/types/shell/index.d.ts +346 -289
  101. package/types/store/dashboard-store.types.ts +24 -1
  102. package/types/store/pagination.types.ts +19 -2
  103. package/utils/cluster.js +24 -20
  104. package/utils/grafana.js +1 -0
  105. package/utils/object.js +0 -12
  106. package/utils/pagination-utils.ts +6 -2
  107. package/utils/perf-setting.utils.ts +28 -0
  108. package/utils/selector-typed.ts +205 -0
  109. package/utils/selector.js +29 -6
  110. package/utils/uiplugins.ts +10 -6
  111. package/utils/v-sphere.ts +5 -1
  112. package/components/formatter/RKETemplateName.vue +0 -37
  113. package/dialog/SaveAsRKETemplateDialog.vue +0 -139
@@ -1,139 +0,0 @@
1
- <script>
2
- import AsyncButton from '@shell/components/AsyncButton';
3
- import { Card } from '@components/Card';
4
- import { Banner } from '@components/Banner';
5
- import { LabeledInput } from '@components/Form/LabeledInput';
6
- import { exceptionToErrorsArray } from '@shell/utils/error';
7
-
8
- const DEFAULT_REVISION = 'v1';
9
-
10
- export default {
11
- emits: ['close'],
12
-
13
- components: {
14
- Card,
15
- AsyncButton,
16
- Banner,
17
- LabeledInput,
18
- },
19
- props: {
20
- cluster: {
21
- type: Object,
22
- default: () => {
23
- return {};
24
- }
25
- }
26
- },
27
- data() {
28
- return { errors: [], name: '' };
29
- },
30
-
31
- mounted() {
32
- this.$nextTick(() => {
33
- this.$refs.templateName.focus();
34
- });
35
- },
36
- methods: {
37
- close() {
38
- this.$emit('close');
39
- },
40
-
41
- async apply(buttonDone) {
42
- try {
43
- await this.$store.dispatch('rancher/request', {
44
- url: `/v3/clusters/${ escape(this.cluster.name) }?action=saveAsTemplate`,
45
- method: 'post',
46
- data: {
47
- clusterTemplateName: this.name,
48
- clusterTemplateRevisionName: DEFAULT_REVISION
49
- },
50
- });
51
-
52
- buttonDone(true);
53
- this.close();
54
-
55
- // Take the user to the RKE Templates view
56
- this.$router.replace({
57
- name: 'c-cluster-manager-pages-page',
58
- params: {
59
- cluster: 'local',
60
- page: 'rke-templates'
61
- }
62
- });
63
- } catch (err) {
64
- this.errors = exceptionToErrorsArray(err);
65
- buttonDone(false);
66
- }
67
- }
68
- }
69
- };
70
- </script>
71
-
72
- <template>
73
- <Card
74
- class="prompt-restore"
75
- :show-highlight-border="false"
76
- >
77
- <template #title>
78
- <h4
79
- v-clean-html="t('promptSaveAsRKETemplate.title', { cluster: cluster.displayName }, true)"
80
- class="text-default-text"
81
- />
82
- </template>
83
-
84
- <template #body>
85
- <div class="pl-10 pr-10">
86
- <form>
87
- <p class="pt-10 pb-10">
88
- {{ t('promptSaveAsRKETemplate.description') }}
89
- </p>
90
- <Banner
91
- color="warning"
92
- label-key="promptSaveAsRKETemplate.warning"
93
- />
94
-
95
- <LabeledInput
96
- ref="templateName"
97
- v-model:value="name"
98
- :label="t('promptSaveAsRKETemplate.name')"
99
- :required="true"
100
- />
101
- </form>
102
- </div>
103
- </template>
104
-
105
- <template #actions>
106
- <div class="buttons">
107
- <button
108
- class="btn role-secondary mr-10"
109
- @click="close"
110
- >
111
- {{ t('generic.cancel') }}
112
- </button>
113
-
114
- <AsyncButton
115
- mode="create"
116
- :disabled="name.length <= 0"
117
- @click="apply"
118
- />
119
-
120
- <Banner
121
- v-for="(err, i) in errors"
122
- :key="i"
123
- color="error"
124
- :label="err"
125
- />
126
- </div>
127
- </template>
128
- </Card>
129
- </template>
130
- <style lang='scss' scoped>
131
- .prompt-restore {
132
- margin: 0;
133
- }
134
- .buttons {
135
- display: flex;
136
- justify-content: flex-end;
137
- width: 100%;
138
- }
139
- </style>