@dovetail-v2/refine 0.0.2 → 0.0.3-0.beta-0

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 (288) hide show
  1. package/dist/{MonacoYamlDiffEditor.a7832cec.js → MonacoYamlDiffEditor-7505595f.js} +5 -4
  2. package/dist/assets/{yaml.worker.bb17811d.js → yaml.worker-5e5f190c.js} +2153 -992
  3. package/dist/index-d02782c8.js +19445 -0
  4. package/dist/refine.js +119 -13
  5. package/dist/refine.umd.cjs +13392 -3776
  6. package/dist/style.css +1221 -32362
  7. package/lib/src/App.d.ts +0 -3
  8. package/lib/src/App.js +91 -0
  9. package/lib/src/Dovetail.d.ts +8 -4
  10. package/lib/src/Dovetail.js +45 -0
  11. package/lib/src/components/Breadcrumb/index.js +20 -0
  12. package/lib/src/components/ConditionsTable/ConditionsTable.js +56 -0
  13. package/lib/src/components/ConditionsTable/index.js +1 -0
  14. package/lib/src/components/CreateButton/index.js +10 -0
  15. package/lib/src/components/CronJobDropdown/index.d.ts +2 -2
  16. package/lib/src/components/CronJobDropdown/index.js +26 -0
  17. package/lib/src/components/CronjobJobsTable/index.js +49 -0
  18. package/lib/src/components/DeleteButton/index.js +13 -0
  19. package/lib/src/components/DeleteManyButton/index.js +16 -0
  20. package/lib/src/components/DrawerShow/DrawerShow.d.ts +6 -7
  21. package/lib/src/components/DrawerShow/DrawerShow.js +13 -0
  22. package/lib/src/components/DrawerShow/index.js +1 -0
  23. package/lib/src/components/EditButton/index.js +13 -0
  24. package/lib/src/components/EditField/index.d.ts +15 -0
  25. package/lib/src/components/EditField/index.js +47 -0
  26. package/lib/src/components/ErrorContent/index.d.ts +12 -0
  27. package/lib/src/components/ErrorContent/index.js +36 -0
  28. package/lib/src/components/EventsTable/EventsTable.d.ts +2 -0
  29. package/lib/src/components/EventsTable/EventsTable.js +59 -0
  30. package/lib/src/components/EventsTable/index.d.ts +1 -0
  31. package/lib/src/components/EventsTable/index.js +1 -0
  32. package/lib/src/components/Form/KeyValueListWidget.js +56 -0
  33. package/lib/src/components/Form/MetadataForm.js +9 -0
  34. package/lib/src/components/Form/NameInputWidget.js +50 -0
  35. package/lib/src/components/Form/NamespaceSelectWidget.js +21 -0
  36. package/lib/src/components/Form/index.js +4 -0
  37. package/lib/src/components/Form/widget.js +1 -0
  38. package/lib/src/components/FormErrorAlert/index.d.ts +8 -0
  39. package/lib/src/components/FormErrorAlert/index.js +8 -0
  40. package/lib/src/components/FormLayout/index.d.ts +5 -1
  41. package/lib/src/components/FormLayout/index.js +21 -0
  42. package/lib/src/components/FormModal/index.d.ts +10 -0
  43. package/lib/src/components/FormModal/index.js +51 -0
  44. package/lib/src/components/ImageNames/index.js +14 -0
  45. package/lib/src/components/IngressRulesComponent/index.d.ts +5 -0
  46. package/lib/src/components/IngressRulesComponent/index.js +11 -0
  47. package/lib/src/components/IngressRulesTable/IngressRulesTable.d.ts +7 -0
  48. package/lib/src/components/IngressRulesTable/IngressRulesTable.js +51 -0
  49. package/lib/src/components/IngressRulesTable/index.d.ts +1 -0
  50. package/lib/src/components/IngressRulesTable/index.js +1 -0
  51. package/lib/src/components/K8sDropdown/index.d.ts +2 -2
  52. package/lib/src/components/K8sDropdown/index.js +31 -0
  53. package/lib/src/components/KeyValue/KeyValue.js +27 -0
  54. package/lib/src/components/KeyValue/index.js +1 -0
  55. package/lib/src/components/KeyValueData/index.d.ts +6 -0
  56. package/lib/src/components/KeyValueData/index.js +50 -0
  57. package/lib/src/components/Layout/index.js +39 -0
  58. package/lib/src/components/ListPage/index.d.ts +3 -3
  59. package/lib/src/components/ListPage/index.js +25 -0
  60. package/lib/src/components/Menu/index.js +36 -0
  61. package/lib/src/components/NamespacesFilter/index.js +34 -0
  62. package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.d.ts +7 -0
  63. package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.js +77 -0
  64. package/lib/src/components/NetworkPolicyRulesTable/index.d.ts +1 -0
  65. package/lib/src/components/NetworkPolicyRulesTable/index.js +1 -0
  66. package/lib/src/components/PageShow/PageShow.d.ts +7 -8
  67. package/lib/src/components/PageShow/PageShow.js +11 -0
  68. package/lib/src/components/PageShow/index.js +1 -0
  69. package/lib/src/components/PodContainersTable/PodContainersTable.js +78 -0
  70. package/lib/src/components/PodContainersTable/index.js +1 -0
  71. package/lib/src/components/PodLog/index.d.ts +6 -0
  72. package/lib/src/components/PodLog/index.js +136 -0
  73. package/lib/src/components/ReferenceLink/index.d.ts +8 -0
  74. package/lib/src/components/ReferenceLink/index.js +17 -0
  75. package/lib/src/components/ResourceCRUD/ResourceCRUD.d.ts +3 -3
  76. package/lib/src/components/ResourceCRUD/ResourceCRUD.js +15 -0
  77. package/lib/src/components/ResourceCRUD/create/index.d.ts +6 -6
  78. package/lib/src/components/ResourceCRUD/create/index.js +13 -0
  79. package/lib/src/components/ResourceCRUD/index.d.ts +3 -0
  80. package/lib/src/components/ResourceCRUD/index.js +4 -0
  81. package/lib/src/components/ResourceCRUD/list/index.d.ts +4 -5
  82. package/lib/src/components/ResourceCRUD/list/index.js +19 -0
  83. package/lib/src/components/ResourceCRUD/show/index.d.ts +6 -7
  84. package/lib/src/components/ResourceCRUD/show/index.js +6 -0
  85. package/lib/src/components/ResourceLink/index.d.ts +8 -0
  86. package/lib/src/components/ResourceLink/index.js +21 -0
  87. package/lib/src/components/ResourceUsageBar/index.d.ts +8 -0
  88. package/lib/src/components/ResourceUsageBar/index.js +81 -0
  89. package/lib/src/components/Separator/index.js +11 -0
  90. package/lib/src/components/ShowContent/ShowContent.d.ts +7 -8
  91. package/lib/src/components/ShowContent/ShowContent.js +157 -0
  92. package/lib/src/components/ShowContent/fields.d.ts +34 -10
  93. package/lib/src/components/ShowContent/fields.js +157 -0
  94. package/lib/src/components/ShowContent/index.js +2 -0
  95. package/lib/src/components/StateTag/StateTag.d.ts +3 -1
  96. package/lib/src/components/StateTag/StateTag.js +22 -0
  97. package/lib/src/components/StateTag/index.js +1 -0
  98. package/lib/src/components/Table/ErrorContent.js +36 -0
  99. package/lib/src/components/Table/TableToolBar.js +14 -0
  100. package/lib/src/components/Table/TableWidgets.js +28 -0
  101. package/lib/src/components/Table/index.d.ts +9 -4
  102. package/lib/src/components/Table/index.js +69 -0
  103. package/lib/src/components/Tags/index.d.ts +1 -1
  104. package/lib/src/components/Tags/index.js +22 -0
  105. package/lib/src/components/Time/index.js +14 -0
  106. package/lib/src/components/WorkloadDropdown/index.d.ts +2 -2
  107. package/lib/src/components/WorkloadDropdown/index.js +24 -0
  108. package/lib/src/components/WorkloadPodsTable/WorkloadPodsTable.d.ts +5 -2
  109. package/lib/src/components/WorkloadPodsTable/WorkloadPodsTable.js +39 -0
  110. package/lib/src/components/WorkloadPodsTable/index.js +1 -0
  111. package/lib/src/components/WorkloadReplicas/index.d.ts +7 -4
  112. package/lib/src/components/WorkloadReplicas/index.js +50 -0
  113. package/lib/src/components/YamlEditor/MonacoYamlDiffEditor.js +34 -0
  114. package/lib/src/components/YamlEditor/MonacoYamlEditor.d.ts +1 -1
  115. package/lib/src/components/YamlEditor/MonacoYamlEditor.js +149 -0
  116. package/lib/src/components/YamlEditor/YamlEditorComponent.d.ts +2 -1
  117. package/lib/src/components/YamlEditor/YamlEditorComponent.js +90 -0
  118. package/lib/src/components/YamlEditor/index.js +1 -0
  119. package/lib/src/components/YamlEditor/style.js +102 -0
  120. package/lib/src/components/YamlEditor/yaml.worker.js +1 -0
  121. package/lib/src/components/YamlForm/index.d.ts +14 -1
  122. package/lib/src/components/YamlForm/index.js +61 -0
  123. package/lib/src/components/index.d.ts +38 -0
  124. package/lib/src/components/index.js +38 -0
  125. package/lib/src/constants/index.d.ts +2 -0
  126. package/lib/src/constants/index.js +2 -0
  127. package/lib/src/constants/k8s.d.ts +65 -0
  128. package/lib/src/constants/k8s.js +203 -0
  129. package/lib/src/constants/state.d.ts +13 -0
  130. package/lib/src/constants/state.js +15 -0
  131. package/lib/src/contexts/component.d.ts +6 -0
  132. package/lib/src/contexts/component.js +3 -0
  133. package/lib/src/contexts/configs.d.ts +4 -0
  134. package/lib/src/contexts/configs.js +3 -0
  135. package/lib/src/contexts/global-store.d.ts +6 -0
  136. package/lib/src/contexts/global-store.js +3 -0
  137. package/lib/src/contexts/index.d.ts +3 -0
  138. package/lib/src/contexts/index.js +3 -0
  139. package/lib/src/hooks/index.d.ts +5 -0
  140. package/lib/src/hooks/index.js +7 -0
  141. package/lib/src/hooks/useDeleteModal/index.js +1 -0
  142. package/lib/src/hooks/useDeleteModal/useDeleteManyModal.js +31 -0
  143. package/lib/src/hooks/useDeleteModal/useDeleteModal.js +38 -0
  144. package/lib/src/hooks/useDownloadYAML.d.ts +2 -2
  145. package/lib/src/hooks/useDownloadYAML.js +10 -0
  146. package/lib/src/hooks/useEagleForm.d.ts +17 -9
  147. package/lib/src/hooks/useEagleForm.js +177 -0
  148. package/lib/src/hooks/useEagleTable/columns.d.ts +18 -14
  149. package/lib/src/hooks/useEagleTable/columns.js +246 -0
  150. package/lib/src/hooks/useEagleTable/index.d.ts +2 -52
  151. package/lib/src/hooks/useEagleTable/index.js +2 -0
  152. package/lib/src/hooks/useEagleTable/useEagleTable.d.ts +51 -0
  153. package/lib/src/hooks/useEagleTable/useEagleTable.js +63 -0
  154. package/lib/src/hooks/useEdit.js +19 -0
  155. package/lib/src/hooks/useGlobalStore.d.ts +3 -0
  156. package/lib/src/hooks/useGlobalStore.js +5 -0
  157. package/lib/src/hooks/useK8sYamlEditor.d.ts +5 -0
  158. package/lib/src/hooks/useK8sYamlEditor.js +37 -0
  159. package/lib/src/hooks/useOpenForm.d.ts +5 -0
  160. package/lib/src/hooks/useOpenForm.js +43 -0
  161. package/lib/src/hooks/useSchema.d.ts +9 -2
  162. package/lib/src/hooks/useSchema.js +37 -0
  163. package/lib/src/hooks/useSubmitForm.d.ts +14 -0
  164. package/lib/src/hooks/useSubmitForm.js +42 -0
  165. package/lib/src/i18n.d.ts +46 -1
  166. package/lib/src/i18n.js +19 -0
  167. package/lib/src/index.d.ts +7 -2
  168. package/lib/src/index.js +13 -0
  169. package/lib/src/locales/en-US/dovetail.json +18 -0
  170. package/lib/src/locales/en-US/index.d.ts +6 -0
  171. package/lib/src/locales/en-US/index.js +4 -0
  172. package/lib/src/locales/index.js +6 -0
  173. package/lib/src/locales/zh-CN/dovetail.json +91 -0
  174. package/lib/src/locales/zh-CN/index.d.ts +40 -1
  175. package/lib/src/locales/zh-CN/index.js +4 -0
  176. package/lib/src/main.d.ts +2 -0
  177. package/lib/src/main.js +12 -0
  178. package/lib/src/models/cronjob-model.d.ts +16 -0
  179. package/lib/src/models/cronjob-model.js +32 -0
  180. package/lib/src/models/daemonset-model.d.ts +14 -0
  181. package/lib/src/models/daemonset-model.js +17 -0
  182. package/lib/src/models/deployment-model.d.ts +14 -0
  183. package/lib/src/models/deployment-model.js +17 -0
  184. package/lib/src/models/event-model.d.ts +8 -0
  185. package/lib/src/models/event-model.js +11 -0
  186. package/lib/src/models/index.d.ts +14 -0
  187. package/lib/src/models/index.js +14 -0
  188. package/lib/src/models/ingress-model.d.ts +18 -0
  189. package/lib/src/models/ingress-model.js +24 -0
  190. package/lib/src/models/job-model.d.ts +19 -0
  191. package/lib/src/models/job-model.js +56 -0
  192. package/lib/src/models/network-policy-model.d.ts +10 -0
  193. package/lib/src/models/network-policy-model.js +10 -0
  194. package/lib/src/models/pod-metrics-model.d.ts +9 -0
  195. package/lib/src/models/pod-metrics-model.js +34 -0
  196. package/lib/src/models/pod-model.d.ts +21 -0
  197. package/lib/src/models/pod-model.js +78 -0
  198. package/lib/src/models/resource-model.d.ts +21 -0
  199. package/lib/src/models/resource-model.js +34 -0
  200. package/lib/src/models/service-model.d.ts +10 -0
  201. package/lib/src/models/service-model.js +17 -0
  202. package/lib/src/models/statefulset-model.d.ts +14 -0
  203. package/lib/src/models/statefulset-model.js +17 -0
  204. package/lib/src/models/types/index.d.ts +1 -0
  205. package/lib/src/models/types/index.js +1 -0
  206. package/lib/src/models/types/metric.d.ts +25 -0
  207. package/lib/src/models/types/metric.js +1 -0
  208. package/lib/src/models/workload-base-model.d.ts +13 -0
  209. package/lib/src/models/workload-base-model.js +22 -0
  210. package/lib/src/models/workload-model.d.ts +19 -0
  211. package/lib/src/models/workload-model.js +51 -0
  212. package/lib/src/pages/configmaps/index.d.ts +4 -3
  213. package/lib/src/pages/configmaps/index.js +15 -0
  214. package/lib/src/pages/cronjobs/create/index.js +6 -0
  215. package/lib/src/pages/cronjobs/index.js +3 -0
  216. package/lib/src/pages/cronjobs/list/index.js +42 -0
  217. package/lib/src/pages/cronjobs/show/index.js +16 -0
  218. package/lib/src/pages/daemonsets/create/index.js +6 -0
  219. package/lib/src/pages/daemonsets/index.js +3 -0
  220. package/lib/src/pages/daemonsets/list/index.js +32 -0
  221. package/lib/src/pages/daemonsets/show/index.js +16 -0
  222. package/lib/src/pages/deployments/create/index.d.ts +2 -2
  223. package/lib/src/pages/deployments/create/index.js +7 -0
  224. package/lib/src/pages/deployments/index.js +3 -0
  225. package/lib/src/pages/deployments/list/index.js +26 -0
  226. package/lib/src/pages/deployments/show/index.js +16 -0
  227. package/lib/src/pages/ingresses/index.d.ts +4 -0
  228. package/lib/src/pages/ingresses/index.js +26 -0
  229. package/lib/src/pages/jobs/index.d.ts +4 -4
  230. package/lib/src/pages/jobs/index.js +34 -0
  231. package/lib/src/pages/networkPolicies/index.d.ts +4 -0
  232. package/lib/src/pages/networkPolicies/index.js +67 -0
  233. package/lib/src/pages/pods/create/index.js +6 -0
  234. package/lib/src/pages/pods/index.js +3 -0
  235. package/lib/src/pages/pods/list/index.js +81 -0
  236. package/lib/src/pages/pods/show/index.js +54 -0
  237. package/lib/src/pages/secrets/index.d.ts +4 -3
  238. package/lib/src/pages/secrets/index.js +15 -0
  239. package/lib/src/pages/services/index.d.ts +4 -0
  240. package/lib/src/pages/services/index.js +26 -0
  241. package/lib/src/pages/statefulsets/create/index.js +6 -0
  242. package/lib/src/pages/statefulsets/index.js +3 -0
  243. package/lib/src/pages/statefulsets/list/index.js +26 -0
  244. package/lib/src/pages/statefulsets/show/index.js +16 -0
  245. package/lib/src/plugins/index.d.ts +2 -0
  246. package/lib/src/plugins/index.js +3 -0
  247. package/lib/src/plugins/model-plugin.d.ts +12 -0
  248. package/lib/src/plugins/model-plugin.js +46 -0
  249. package/lib/src/plugins/relation-plugin.d.ts +27 -0
  250. package/lib/src/plugins/relation-plugin.js +81 -0
  251. package/lib/src/plugins/type.d.ts +8 -0
  252. package/lib/src/plugins/type.js +1 -0
  253. package/lib/src/providers/index.js +1 -0
  254. package/lib/src/providers/router-provider/index.d.ts +1 -1
  255. package/lib/src/providers/router-provider/index.js +100 -0
  256. package/lib/src/types/index.js +1 -0
  257. package/lib/src/types/resource.d.ts +19 -22
  258. package/lib/src/types/resource.js +12 -0
  259. package/lib/src/utils/addId.js +8 -0
  260. package/lib/src/utils/download.js +9 -0
  261. package/lib/src/utils/error.d.ts +3 -3
  262. package/lib/src/utils/error.js +53 -0
  263. package/lib/src/utils/form.d.ts +3 -0
  264. package/lib/src/utils/form.js +9 -0
  265. package/lib/src/utils/k8s.js +6 -0
  266. package/lib/src/utils/labels.js +15 -0
  267. package/lib/src/utils/match-selector.d.ts +3 -0
  268. package/lib/src/utils/match-selector.js +12 -0
  269. package/lib/src/utils/openapi.js +33 -0
  270. package/lib/src/utils/schema.js +117 -0
  271. package/lib/src/utils/selector.d.ts +3 -0
  272. package/lib/src/utils/selector.js +12 -0
  273. package/lib/src/utils/string.js +6 -0
  274. package/lib/src/utils/time.d.ts +6 -1
  275. package/lib/src/utils/time.js +46 -0
  276. package/lib/src/utils/unit.d.ts +12 -0
  277. package/lib/src/utils/unit.js +69 -0
  278. package/lib/src/utils/yaml.js +44 -0
  279. package/lib/vite.config.d.ts +1 -1
  280. package/lib/vite.config.js +60 -0
  281. package/package.json +24 -9
  282. package/dist/index.bd5d18c4.js +0 -9820
  283. package/lib/src/model/cronjob-model.d.ts +0 -9
  284. package/lib/src/model/index.d.ts +0 -5
  285. package/lib/src/model/job-model.d.ts +0 -10
  286. package/lib/src/model/pod-model.d.ts +0 -10
  287. package/lib/src/model/resource-model.d.ts +0 -17
  288. package/lib/src/model/workload-model.d.ts +0 -17
@@ -0,0 +1,12 @@
1
+ export function matchSelector(pod, selector) {
2
+ let match = true;
3
+ // TODO: support complete selector match strategy
4
+ // https://github.com/rancher/dashboard/blob/master/shell/utils/selector.js#L166
5
+ for (const key in selector.matchLabels) {
6
+ if (!pod.metadata?.labels?.[key] ||
7
+ pod.metadata.labels?.[key] !== selector.matchLabels[key]) {
8
+ match = false;
9
+ }
10
+ }
11
+ return match;
12
+ }
@@ -0,0 +1,6 @@
1
+ export function shortenedImage(image) {
2
+ return (image || '')
3
+ .replace(/^(index\.)?docker.io\/(library\/)?/, '')
4
+ .replace(/:latest$/, '')
5
+ .replace(/^(.*@sha256:)([0-9a-f]{8})[0-9a-f]+$/i, '$1$2…');
6
+ }
@@ -1,5 +1,10 @@
1
1
  export declare function getSecondsDiff(startDate: string, endDate: string): number;
2
- export declare function elapsedTime(seconds: number): {
2
+ export declare function elapsedTime(seconds: number, i18nMap: {
3
+ min: string;
4
+ sec: string;
5
+ hr: string;
6
+ day: string;
7
+ }): {
3
8
  diff?: undefined;
4
9
  label?: undefined;
5
10
  } | {
@@ -0,0 +1,46 @@
1
+ export function getSecondsDiff(startDate, endDate) {
2
+ return Math.round(Math.abs(Date.parse(endDate) - Date.parse(startDate)) / 1000);
3
+ }
4
+ export function elapsedTime(seconds, i18nMap) {
5
+ const { min, sec, hr, day } = i18nMap;
6
+ if (!seconds) {
7
+ return {};
8
+ }
9
+ if (seconds < 120) {
10
+ return {
11
+ diff: 1,
12
+ label: `${seconds} ${sec}`,
13
+ };
14
+ }
15
+ const minutes = Math.floor(seconds / 60);
16
+ if (minutes < 10) {
17
+ return {
18
+ diff: 1,
19
+ label: `${minutes} ${min} ${seconds - minutes * 60} ${sec}`,
20
+ };
21
+ }
22
+ const hours = Math.floor(seconds / 3600);
23
+ if (hours < 3) {
24
+ return {
25
+ diff: 60,
26
+ label: `${minutes} ${min}`,
27
+ };
28
+ }
29
+ const days = Math.floor(seconds / (3600 * 24));
30
+ if (days > 1) {
31
+ return {
32
+ diff: 60,
33
+ label: `${days} ${day} ${hours - days * 24} ${hr}`,
34
+ };
35
+ }
36
+ if (hours > 7) {
37
+ return {
38
+ diff: 60,
39
+ label: `${hours} ${hr}`,
40
+ };
41
+ }
42
+ return {
43
+ diff: 60,
44
+ label: `${hours} ${hr} ${minutes - hours * 60} ${min}`,
45
+ };
46
+ }
@@ -0,0 +1,12 @@
1
+ type FormatOptions = {
2
+ increment: number;
3
+ suffix: string | null;
4
+ firstSuffix: string | null;
5
+ startingExponent: number;
6
+ minExponent: number;
7
+ maxPrecision: number;
8
+ atLeastOne: boolean;
9
+ };
10
+ export declare function formatSi(inValue: number, options?: Partial<FormatOptions>): string;
11
+ export declare function parseSi(inValue: string, increment?: number | null, allowFractional?: boolean): number;
12
+ export {};
@@ -0,0 +1,69 @@
1
+ const UNITS = ['', 'K', 'M', 'G', 'T', 'P'];
2
+ const FRACTIONAL = ['', 'm', 'u', 'n', 'p', 'f']; // milli micro nano pico femto
3
+ export function formatSi(inValue, options) {
4
+ const { increment = 1000, suffix = null, firstSuffix = null, startingExponent = 0, minExponent = 0, maxPrecision = 2, atLeastOne = true, } = options || {};
5
+ let val = inValue;
6
+ let exp = startingExponent;
7
+ while ((val >= increment && exp + 1 < UNITS.length) || exp < minExponent) {
8
+ val = val / increment;
9
+ exp++;
10
+ }
11
+ let out = 0;
12
+ if (val < 10 && maxPrecision >= 2) {
13
+ out = Math.round(val * 100) / 100;
14
+ }
15
+ else if (val < 100 && maxPrecision >= 1) {
16
+ out = Math.round(val * 10) / 10;
17
+ }
18
+ else {
19
+ out = Math.round(val);
20
+ }
21
+ if (atLeastOne && out === 0) {
22
+ out = 1;
23
+ }
24
+ let outStr = String(out);
25
+ if (exp === 0 && firstSuffix !== null) {
26
+ outStr += `${firstSuffix}`;
27
+ }
28
+ else {
29
+ outStr += `${UNITS[exp]}${suffix}` || '';
30
+ }
31
+ return outStr;
32
+ }
33
+ export function parseSi(inValue, increment = null, allowFractional = true) {
34
+ if (!inValue || typeof inValue !== 'string' || !inValue.length) {
35
+ return NaN;
36
+ }
37
+ inValue = inValue.replace(/,/g, '');
38
+ // eslint-disable-next-line prefer-const
39
+ let [, valStr, unit, incStr] = inValue.match(/^([0-9.-]+)\s*([^0-9.-]?)([^0-9.-]?)/) || [];
40
+ const val = parseFloat(valStr);
41
+ if (!unit) {
42
+ return val;
43
+ }
44
+ // micro "mu" symbol -> u
45
+ if (unit.charCodeAt(0) === 181) {
46
+ unit = 'u';
47
+ }
48
+ const divide = FRACTIONAL.includes(unit);
49
+ const multiply = UNITS.includes(unit.toUpperCase());
50
+ if (increment === null) {
51
+ // Automatically handle 1 KB = 1000B, 1 KiB = 1024B if no increment set
52
+ if ((multiply || divide) && incStr === 'i') {
53
+ increment = 1024;
54
+ }
55
+ else {
56
+ increment = 1000;
57
+ }
58
+ }
59
+ if (divide && allowFractional) {
60
+ const exp = FRACTIONAL.indexOf(unit);
61
+ return val / Math.pow(increment, exp);
62
+ }
63
+ if (multiply) {
64
+ const exp = UNITS.indexOf(unit.toUpperCase());
65
+ return val * Math.pow(increment, exp);
66
+ }
67
+ // Unrecognized unit character
68
+ return val;
69
+ }
@@ -0,0 +1,44 @@
1
+ import yaml from 'js-yaml';
2
+ import { isObject } from 'lodash-es';
3
+ import { generateSchemaTypeValue } from './schema';
4
+ export function generateYamlBySchema(defaultValue, schema) {
5
+ const typeObject = generateSchemaTypeValue(schema);
6
+ function makeAnnotations(obj, key) {
7
+ const result = {};
8
+ if (isObject(obj[key])) {
9
+ result[`#${key}`] = {};
10
+ Object.keys(obj[key]).forEach(prop => {
11
+ result[`#${key}`] = {
12
+ ...result[`#${key}`],
13
+ ...makeAnnotations(obj[key], prop),
14
+ };
15
+ });
16
+ }
17
+ else {
18
+ result[`#${key}`] = obj[key];
19
+ }
20
+ return result;
21
+ }
22
+ function merge(obj1, obj2, merged = {}) {
23
+ for (const key in obj1) {
24
+ merged[key] = obj1[key];
25
+ }
26
+ for (const key in obj2) {
27
+ if (key in obj1) {
28
+ if (isObject(obj2[key]) && isObject(obj1[key])) {
29
+ merged[key] = merge(obj1[key], obj2[key]);
30
+ }
31
+ }
32
+ else {
33
+ merged = {
34
+ ...merged,
35
+ ...makeAnnotations(obj2, key),
36
+ };
37
+ }
38
+ }
39
+ return merged;
40
+ }
41
+ const merged = merge(defaultValue, typeObject);
42
+ const content = yaml.dump(merged);
43
+ return content.replace(/(')(#.+?)(')/g, '$2').replace(/( +)(#)/g, '$2$1');
44
+ }
@@ -1,2 +1,2 @@
1
- declare const _default: import("vite").UserConfigExport;
1
+ declare const _default: import("vite").UserConfig;
2
2
  export default _default;
@@ -0,0 +1,60 @@
1
+ import path from 'path';
2
+ import linaria from '@linaria/vite';
3
+ import react from '@vitejs/plugin-react';
4
+ import { defineConfig } from 'vite';
5
+ import commonjs from 'vite-plugin-commonjs';
6
+ // import { getProxyConfig } from './tools/proxy-k8s';
7
+ export default defineConfig({
8
+ plugins: [commonjs(), react(), linaria()],
9
+ server: {
10
+ host: '0.0.0.0',
11
+ proxy: {
12
+ // '/proxy-k8s': getProxyConfig(),
13
+ '/api': {
14
+ target: process.env.API_HOST || 'http://192.168.28.26',
15
+ ws: true,
16
+ headers: {
17
+ 'x-skip-auth-verify': 'true',
18
+ },
19
+ },
20
+ },
21
+ },
22
+ optimizeDeps: {
23
+ exclude: ['monaco-yaml/yaml.worker.js']
24
+ },
25
+ build: {
26
+ minify: false,
27
+ lib: {
28
+ entry: path.resolve(__dirname, 'src/index.ts'),
29
+ name: 'dovetail',
30
+ },
31
+ rollupOptions: {
32
+ external: [
33
+ '@cloudtower/eagle',
34
+ '@cloudtower/icons-react',
35
+ '@refinedev/core',
36
+ '@refinedev/inferencer',
37
+ 'antd',
38
+ 'i18next',
39
+ 'ky',
40
+ 'lodash-es',
41
+ 'mitt',
42
+ 'qs',
43
+ 'react',
44
+ 'react-dom',
45
+ 'react-router-dom',
46
+ 'sunflower-antd',
47
+ 'monaco-editor',
48
+ 'monaco-yaml',
49
+ 'js-yaml',
50
+ 'k8s-api-provider',
51
+ ],
52
+ },
53
+ },
54
+ resolve: {
55
+ preserveSymlinks: true,
56
+ alias: {
57
+ src: path.resolve(__dirname, 'src'),
58
+ },
59
+ },
60
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dovetail-v2/refine",
3
- "version": "0.0.2",
3
+ "version": "0.0.30.beta-0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -10,15 +10,17 @@
10
10
  "module": "./dist/refine.js",
11
11
  "types": "./lib/src/index.d.ts",
12
12
  "dependencies": {
13
- "@cloudtower/eagle": "^0.26.11",
14
- "@cloudtower/icons-react": "^0.26.11",
13
+ "@cloudtower/eagle": "^0.27.59",
14
+ "@cloudtower/icons-react": "^0.27.59",
15
+ "@patternfly/react-core": "^5.1.1",
16
+ "@patternfly/react-log-viewer": "^5.0.0",
15
17
  "@refinedev/core": "^4.38.0",
16
18
  "@refinedev/inferencer": "^4.5.4",
17
19
  "antd": "4.5.0",
18
20
  "dayjs": "^1.11.10",
19
- "i18next": "^20.1.0",
21
+ "i18next": "^23.2.3",
20
22
  "js-yaml": "^4.1.0",
21
- "k8s-api-provider": "^0.0.6",
23
+ "k8s-api-provider": "0.0.16",
22
24
  "ky": "^0.33.3",
23
25
  "lodash-es": "^4.17.21",
24
26
  "mitt": "^3.0.1",
@@ -34,10 +36,15 @@
34
36
  "devDependencies": {
35
37
  "@babel/core": "^7.4.0",
36
38
  "@babel/preset-env": "^7.1.6",
39
+ "@babel/preset-typescript": "^7.10.4",
40
+ "@kubernetes/client-node": "^0.20.0",
37
41
  "@linaria/core": "^4.5.4",
38
42
  "@linaria/react": "^4.5.4",
39
43
  "@linaria/vite": "^4.5.4",
44
+ "@playwright/test": "^1.39.0",
40
45
  "@refinedev/cli": "^2.9.0",
46
+ "@types/body-parser": "^1.19.5",
47
+ "@types/jest": "^29",
41
48
  "@types/js-yaml": "^4.0.6",
42
49
  "@types/json-schema": "^7.0.13",
43
50
  "@types/lodash-es": "^4.17.9",
@@ -49,27 +56,35 @@
49
56
  "@typescript-eslint/eslint-plugin": "^6.7.5",
50
57
  "@typescript-eslint/parser": "^6.7.5",
51
58
  "@vitejs/plugin-react": "^4.0.0",
59
+ "body-parser": "^1.20.2",
52
60
  "eslint": "^8.38.0",
53
61
  "eslint-plugin-react-hooks": "^4.6.0",
54
62
  "eslint-plugin-react-refresh": "^0.3.4",
63
+ "jest": "^29",
55
64
  "kubernetes-types": "^1.26.0",
56
- "vite": "^3.2.7"
65
+ "ts-jest": "^29",
66
+ "vite": "^4.5.2",
67
+ "vite-plugin-commonjs": "^0.10.0"
57
68
  },
58
69
  "peerDependencies": {
59
- "@cloudtower/eagle": "^0.26.9",
60
- "@cloudtower/icons-react": "^0.26.9",
70
+ "@cloudtower/eagle": "^0.27.70",
71
+ "@cloudtower/icons-react": "^0.27.70",
61
72
  "@refinedev/core": "^4.38.0",
62
73
  "antd": "4.5.0",
63
- "i18next": "^20.1.0",
74
+ "i18next": "^23.2.3",
64
75
  "react": "^16.12.0",
65
76
  "react-dom": "^16.12.0",
66
77
  "react-router-dom": "^5.1.2"
67
78
  },
68
79
  "scripts": {
69
80
  "dev": "refine dev",
81
+ "dev:test": "VITE_IS_TEST=true refine dev",
70
82
  "build": "tsc --emitDeclarationOnly && vite build",
71
83
  "preview": "refine start",
72
84
  "refine": "refine",
85
+ "unit-test": "jest",
86
+ "playwright-test": "npx playwright test --workers 1",
87
+ "test": "yarn unit-test && yarn playwright-test",
73
88
  "lint": "eslint src --ext .ts,.tsx"
74
89
  },
75
90
  "browserslist": {