@dovetail-v2/refine 0.0.47 → 0.0.48

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 (199) hide show
  1. package/dist/{MonacoYamlDiffEditor-9ad1c844.js → MonacoYamlDiffEditor-3fa57025.js} +1 -1
  2. package/dist/{index-1a40b2a8.js → index-8a299a91.js} +20 -13
  3. package/dist/refine.js +1 -1
  4. package/dist/refine.umd.cjs +19 -12
  5. package/lib/src/components/ModalContextProvider/index.d.ts +12 -0
  6. package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.d.ts +2 -1
  7. package/lib/src/components/YamlForm/index.d.ts +4 -0
  8. package/lib/src/hooks/useEagleForm.d.ts +2 -1
  9. package/lib/src/hooks/useModal.d.ts +0 -0
  10. package/lib/src/hooks/useNamespaceFilter.d.ts +5 -0
  11. package/lib/src/model/cronjob-model.d.ts +9 -0
  12. package/lib/src/model/index.d.ts +6 -0
  13. package/lib/src/model/job-model.d.ts +10 -0
  14. package/lib/src/model/pod-metrics-model.d.ts +7 -0
  15. package/lib/src/model/pod-model.d.ts +15 -0
  16. package/lib/src/model/resource-model.d.ts +17 -0
  17. package/lib/src/model/workload-model.d.ts +17 -0
  18. package/lib/src/types/metric.d.ts +25 -0
  19. package/package.json +2 -2
  20. package/lib/src/App.js +0 -91
  21. package/lib/src/Dovetail.js +0 -45
  22. package/lib/src/components/Breadcrumb/index.js +0 -20
  23. package/lib/src/components/ConditionsTable/ConditionsTable.js +0 -56
  24. package/lib/src/components/ConditionsTable/index.js +0 -1
  25. package/lib/src/components/CreateButton/index.js +0 -10
  26. package/lib/src/components/CronJobDropdown/index.js +0 -26
  27. package/lib/src/components/CronjobJobsTable/index.js +0 -49
  28. package/lib/src/components/DeleteButton/index.js +0 -13
  29. package/lib/src/components/DeleteManyButton/index.js +0 -16
  30. package/lib/src/components/DrawerShow/DrawerShow.js +0 -13
  31. package/lib/src/components/DrawerShow/index.js +0 -1
  32. package/lib/src/components/EditButton/index.js +0 -13
  33. package/lib/src/components/EditField/index.js +0 -47
  34. package/lib/src/components/ErrorContent/index.js +0 -36
  35. package/lib/src/components/EventsTable/EventsTable.js +0 -59
  36. package/lib/src/components/EventsTable/index.js +0 -1
  37. package/lib/src/components/Form/KeyValueListWidget.js +0 -56
  38. package/lib/src/components/Form/MetadataForm.js +0 -9
  39. package/lib/src/components/Form/NameInputWidget.js +0 -50
  40. package/lib/src/components/Form/NamespaceSelectWidget.js +0 -21
  41. package/lib/src/components/Form/index.js +0 -4
  42. package/lib/src/components/Form/widget.js +0 -1
  43. package/lib/src/components/FormErrorAlert/index.js +0 -8
  44. package/lib/src/components/FormLayout/index.js +0 -21
  45. package/lib/src/components/FormModal/index.js +0 -51
  46. package/lib/src/components/ImageNames/index.js +0 -14
  47. package/lib/src/components/IngressRulesComponent/index.js +0 -11
  48. package/lib/src/components/IngressRulesTable/IngressRulesTable.js +0 -51
  49. package/lib/src/components/IngressRulesTable/index.js +0 -1
  50. package/lib/src/components/K8sDropdown/index.js +0 -31
  51. package/lib/src/components/KeyValue/KeyValue.js +0 -27
  52. package/lib/src/components/KeyValue/index.js +0 -1
  53. package/lib/src/components/KeyValueData/index.js +0 -50
  54. package/lib/src/components/Layout/index.js +0 -39
  55. package/lib/src/components/ListPage/index.js +0 -25
  56. package/lib/src/components/Menu/index.js +0 -36
  57. package/lib/src/components/NamespacesFilter/index.js +0 -34
  58. package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.js +0 -77
  59. package/lib/src/components/NetworkPolicyRulesTable/index.js +0 -1
  60. package/lib/src/components/PageShow/PageShow.js +0 -11
  61. package/lib/src/components/PageShow/index.js +0 -1
  62. package/lib/src/components/PodContainersTable/PodContainersTable.js +0 -78
  63. package/lib/src/components/PodContainersTable/index.js +0 -1
  64. package/lib/src/components/PodLog/index.js +0 -136
  65. package/lib/src/components/ReferenceLink/index.js +0 -17
  66. package/lib/src/components/RefineForm/RefineFormContent.d.ts +0 -10
  67. package/lib/src/components/RefineForm/RefineFormModal.d.ts +0 -8
  68. package/lib/src/components/RefineForm/RefineFormPage.d.ts +0 -7
  69. package/lib/src/components/RefineForm/index.d.ts +0 -3
  70. package/lib/src/components/RefineForm/type.d.ts +0 -20
  71. package/lib/src/components/RefineForm/useRefineForm.d.ts +0 -10
  72. package/lib/src/components/ResourceCRUD/ResourceCRUD.js +0 -15
  73. package/lib/src/components/ResourceCRUD/create/index.js +0 -13
  74. package/lib/src/components/ResourceCRUD/index.js +0 -4
  75. package/lib/src/components/ResourceCRUD/list/index.js +0 -19
  76. package/lib/src/components/ResourceCRUD/show/index.js +0 -6
  77. package/lib/src/components/ResourceLink/index.js +0 -21
  78. package/lib/src/components/ResourceUsageBar/index.js +0 -81
  79. package/lib/src/components/Separator/index.js +0 -11
  80. package/lib/src/components/ShowContent/ShowContent.js +0 -157
  81. package/lib/src/components/ShowContent/fields.js +0 -157
  82. package/lib/src/components/ShowContent/index.js +0 -2
  83. package/lib/src/components/StateTag/StateTag.js +0 -22
  84. package/lib/src/components/StateTag/index.js +0 -1
  85. package/lib/src/components/Table/ErrorContent.js +0 -36
  86. package/lib/src/components/Table/TableToolBar.js +0 -14
  87. package/lib/src/components/Table/TableWidgets.js +0 -28
  88. package/lib/src/components/Table/index.js +0 -69
  89. package/lib/src/components/Tags/index.js +0 -22
  90. package/lib/src/components/Time/index.js +0 -14
  91. package/lib/src/components/WorkloadDropdown/index.js +0 -24
  92. package/lib/src/components/WorkloadPodsTable/WorkloadPodsTable.js +0 -39
  93. package/lib/src/components/WorkloadPodsTable/index.js +0 -1
  94. package/lib/src/components/WorkloadReplicas/index.js +0 -50
  95. package/lib/src/components/YamlEditor/MonacoYamlDiffEditor.js +0 -34
  96. package/lib/src/components/YamlEditor/MonacoYamlEditor.js +0 -149
  97. package/lib/src/components/YamlEditor/YamlEditorComponent.js +0 -90
  98. package/lib/src/components/YamlEditor/index.js +0 -1
  99. package/lib/src/components/YamlEditor/style.js +0 -102
  100. package/lib/src/components/YamlEditor/yaml.worker.js +0 -1
  101. package/lib/src/components/YamlForm/index.js +0 -61
  102. package/lib/src/components/index.js +0 -38
  103. package/lib/src/constants/index.js +0 -2
  104. package/lib/src/constants/k8s.js +0 -203
  105. package/lib/src/constants/state.js +0 -15
  106. package/lib/src/contexts/component.js +0 -3
  107. package/lib/src/contexts/configs.js +0 -3
  108. package/lib/src/contexts/global-store.js +0 -3
  109. package/lib/src/contexts/index.js +0 -3
  110. package/lib/src/hooks/index.js +0 -7
  111. package/lib/src/hooks/useDeleteModal/index.js +0 -1
  112. package/lib/src/hooks/useDeleteModal/useDeleteManyModal.js +0 -31
  113. package/lib/src/hooks/useDeleteModal/useDeleteModal.js +0 -38
  114. package/lib/src/hooks/useDownloadYAML.js +0 -10
  115. package/lib/src/hooks/useEagleForm.js +0 -177
  116. package/lib/src/hooks/useEagleTable/columns.js +0 -246
  117. package/lib/src/hooks/useEagleTable/index.js +0 -2
  118. package/lib/src/hooks/useEagleTable/useEagleTable.js +0 -63
  119. package/lib/src/hooks/useEdit.js +0 -19
  120. package/lib/src/hooks/useGlobalStore.js +0 -5
  121. package/lib/src/hooks/useK8sYamlEditor.js +0 -37
  122. package/lib/src/hooks/useOpenForm.js +0 -43
  123. package/lib/src/hooks/useSchema.js +0 -37
  124. package/lib/src/hooks/useSubmitForm.js +0 -42
  125. package/lib/src/i18n.js +0 -19
  126. package/lib/src/index.js +0 -13
  127. package/lib/src/locales/en-US/dovetail.json +0 -18
  128. package/lib/src/locales/en-US/index.js +0 -4
  129. package/lib/src/locales/index.js +0 -6
  130. package/lib/src/locales/zh-CN/dovetail.json +0 -91
  131. package/lib/src/locales/zh-CN/index.js +0 -4
  132. package/lib/src/main.js +0 -12
  133. package/lib/src/models/cronjob-model.js +0 -32
  134. package/lib/src/models/daemonset-model.js +0 -17
  135. package/lib/src/models/deployment-model.js +0 -17
  136. package/lib/src/models/event-model.js +0 -11
  137. package/lib/src/models/index.js +0 -14
  138. package/lib/src/models/ingress-model.js +0 -24
  139. package/lib/src/models/job-model.js +0 -56
  140. package/lib/src/models/network-policy-model.js +0 -10
  141. package/lib/src/models/pod-metrics-model.js +0 -34
  142. package/lib/src/models/pod-model.js +0 -78
  143. package/lib/src/models/resource-model.js +0 -34
  144. package/lib/src/models/server-instance-model.d.ts +0 -10
  145. package/lib/src/models/service-model.js +0 -17
  146. package/lib/src/models/statefulset-model.js +0 -17
  147. package/lib/src/models/types/index.js +0 -1
  148. package/lib/src/models/types/metric.js +0 -1
  149. package/lib/src/models/workload-base-model.js +0 -22
  150. package/lib/src/models/workload-model.js +0 -51
  151. package/lib/src/pages/configmaps/index.js +0 -15
  152. package/lib/src/pages/cronjobs/create/index.js +0 -6
  153. package/lib/src/pages/cronjobs/index.js +0 -3
  154. package/lib/src/pages/cronjobs/list/index.js +0 -42
  155. package/lib/src/pages/cronjobs/show/index.js +0 -16
  156. package/lib/src/pages/daemonsets/create/index.js +0 -6
  157. package/lib/src/pages/daemonsets/index.js +0 -3
  158. package/lib/src/pages/daemonsets/list/index.js +0 -32
  159. package/lib/src/pages/daemonsets/show/index.js +0 -16
  160. package/lib/src/pages/deployments/create/index.js +0 -7
  161. package/lib/src/pages/deployments/index.js +0 -3
  162. package/lib/src/pages/deployments/list/index.js +0 -26
  163. package/lib/src/pages/deployments/show/index.js +0 -16
  164. package/lib/src/pages/ingresses/index.js +0 -26
  165. package/lib/src/pages/jobs/index.js +0 -34
  166. package/lib/src/pages/networkPolicies/index.js +0 -67
  167. package/lib/src/pages/pods/create/index.js +0 -6
  168. package/lib/src/pages/pods/index.js +0 -3
  169. package/lib/src/pages/pods/list/index.js +0 -81
  170. package/lib/src/pages/pods/show/index.js +0 -54
  171. package/lib/src/pages/secrets/index.js +0 -15
  172. package/lib/src/pages/services/index.js +0 -26
  173. package/lib/src/pages/statefulsets/create/index.js +0 -6
  174. package/lib/src/pages/statefulsets/index.js +0 -3
  175. package/lib/src/pages/statefulsets/list/index.js +0 -26
  176. package/lib/src/pages/statefulsets/show/index.js +0 -16
  177. package/lib/src/plugins/index.js +0 -3
  178. package/lib/src/plugins/model-plugin.js +0 -46
  179. package/lib/src/plugins/relation-plugin.js +0 -81
  180. package/lib/src/plugins/type.js +0 -1
  181. package/lib/src/providers/index.js +0 -1
  182. package/lib/src/providers/router-provider/index.js +0 -100
  183. package/lib/src/types/index.js +0 -1
  184. package/lib/src/types/resource.js +0 -12
  185. package/lib/src/utils/addId.js +0 -8
  186. package/lib/src/utils/download.js +0 -9
  187. package/lib/src/utils/error.js +0 -53
  188. package/lib/src/utils/form.js +0 -9
  189. package/lib/src/utils/k8s.js +0 -6
  190. package/lib/src/utils/labels.js +0 -15
  191. package/lib/src/utils/match-selector.js +0 -12
  192. package/lib/src/utils/openapi.js +0 -33
  193. package/lib/src/utils/schema.js +0 -117
  194. package/lib/src/utils/selector.js +0 -12
  195. package/lib/src/utils/string.js +0 -6
  196. package/lib/src/utils/time.js +0 -46
  197. package/lib/src/utils/unit.js +0 -69
  198. package/lib/src/utils/yaml.js +0 -44
  199. package/lib/vite.config.js +0 -60
@@ -1,4 +1,4 @@
1
- import { j as jsxRuntimeExports } from "./index-1a40b2a8.js";
1
+ import { j as jsxRuntimeExports } from "./index-8a299a91.js";
2
2
  import * as monaco from "monaco-editor";
3
3
  import { useRef, useEffect } from "react";
4
4
  import "i18next";
@@ -1003,7 +1003,7 @@ function useTranslation(ns) {
1003
1003
  }
1004
1004
  const copy$1 = "Copy";
1005
1005
  const reset_arguments$1 = "Reset";
1006
- const view_changes$1 = "Show Diff";
1006
+ const view_changes$1 = "Show diff";
1007
1007
  const back_to_edit$1 = "Edit";
1008
1008
  const configure_file$1 = "Configuration";
1009
1009
  const yaml_format_wrong$1 = "Configuration is in an invalid YAML format.";
@@ -1040,7 +1040,7 @@ const save$1 = "Save";
1040
1040
  const workload$1 = "Workload";
1041
1041
  const empty$1 = "No data available";
1042
1042
  const schedule$1 = "Schedule";
1043
- const lastScheduleTime$1 = "Last Schedule";
1043
+ const lastScheduleTime$1 = "Last schedule";
1044
1044
  const duration$1 = "Duration";
1045
1045
  const started$1 = "Start time";
1046
1046
  const container$1 = "Container";
@@ -1067,7 +1067,7 @@ const rule$1 = "Rule";
1067
1067
  const port$1 = "Port";
1068
1068
  const cert$1 = "Certificate";
1069
1069
  const ip_address$1 = "IP address";
1070
- const last_seen$1 = "Last Seen";
1070
+ const last_seen$1 = "Last seen";
1071
1071
  const node_port$1 = "NodePort";
1072
1072
  const protocol$1 = "Protocol";
1073
1073
  const key$1 = "Key";
@@ -1137,9 +1137,9 @@ const regular_container$1 = "Regular container";
1137
1137
  const suspend$1 = "Suspend";
1138
1138
  const default_backend$1 = "Default backend";
1139
1139
  const ingress_class$1 = "IngressClass";
1140
- const pod_ready_num$1 = "Ready Pod";
1141
- const pod_complete_num$1 = "Completion Pod";
1142
- const pod_replicas_num$1 = "Desired Pod";
1140
+ const pod_ready_num$1 = "Ready pod";
1141
+ const pod_complete_num$1 = "Completion pod";
1142
+ const pod_replicas_num$1 = "Desired pod";
1143
1143
  const edit_replicas$1 = "Edit expected number of replicas";
1144
1144
  const dns_record$1 = "DNS record";
1145
1145
  const basic_info$1 = "Basic information";
@@ -22865,7 +22865,7 @@ const Separator = () => {
22865
22865
  });
22866
22866
  };
22867
22867
  const MonacoYamlEditor = React__default.lazy(() => Promise.resolve().then(() => MonacoYamlEditor$2));
22868
- const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-9ad1c844.js"));
22868
+ const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-3fa57025.js"));
22869
22869
  const YamlEditorComponent = forwardRef(
22870
22870
  function YamlEditorComponent2(props, ref) {
22871
22871
  const {
@@ -23481,6 +23481,9 @@ function YamlForm(props) {
23481
23481
  errorNotification: false,
23482
23482
  transformInitValues,
23483
23483
  transformApplyValues,
23484
+ mutationMeta: {
23485
+ updateType: "put"
23486
+ },
23484
23487
  ...useFormProps
23485
23488
  });
23486
23489
  const kit = useUIKit();
@@ -24157,8 +24160,7 @@ const WorkloadRestartsColumnRenderer = (i18n2) => {
24157
24160
  width: 120,
24158
24161
  dataIndex,
24159
24162
  align: "right",
24160
- title: i18n2.t("dovetail.restarts"),
24161
- sortable: false
24163
+ title: i18n2.t("dovetail.restarts")
24162
24164
  };
24163
24165
  };
24164
24166
  const ReplicasColumnRenderer = (i18n2) => {
@@ -24168,7 +24170,7 @@ const ReplicasColumnRenderer = (i18n2) => {
24168
24170
  display: true,
24169
24171
  dataIndex,
24170
24172
  title: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, {
24171
- title: i18n2.t("dovetail.completion_num_tooltip"),
24173
+ title: i18n2.t("dovetail.ready_num_tooltip"),
24172
24174
  children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
24173
24175
  className: DashedTitleStyle,
24174
24176
  children: i18n2.t("dovetail.pod_num")
@@ -24189,6 +24191,7 @@ const AgeColumnRenderer = (i18n2, config, {
24189
24191
  isRelativeTime = true
24190
24192
  } = {}) => {
24191
24193
  const dataIndex = ["metadata", "creationTimestamp"];
24194
+ const kit = useUIKit();
24192
24195
  return {
24193
24196
  key: "creationTimestamp",
24194
24197
  display: true,
@@ -24200,7 +24203,11 @@ const AgeColumnRenderer = (i18n2, config, {
24200
24203
  return isRelativeTime ? /* @__PURE__ */ jsxRuntimeExports.jsx(Time, {
24201
24204
  date: new Date(value2)
24202
24205
  }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
24203
- value: dayjs(value2).format("YYYY-MM-DD hh:mm:ss")
24206
+ value: /* @__PURE__ */ jsxRuntimeExports.jsx(kit.time, {
24207
+ date: value2,
24208
+ timeTemplate: "HH:mm:ss",
24209
+ dateTemplate: "YYYY-MM-DD"
24210
+ })
24204
24211
  });
24205
24212
  },
24206
24213
  ...config
@@ -24541,8 +24548,8 @@ const PortMappingColumnRenderer = (i18n2) => {
24541
24548
  }),
24542
24549
  tooltip: `${v.servicePort} > ${v.targetPort}/${v.protocol}`
24543
24550
  }, v.servicePort));
24544
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {
24545
- children: content
24551
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
24552
+ value: content
24546
24553
  });
24547
24554
  }
24548
24555
  };
package/dist/refine.js CHANGED
@@ -1,4 +1,4 @@
1
- import { b7, bL, A, aA, aC, ak, bn, aK, H, bB, bp, au, x, C, h, bP, an, aO, Z, bR, a1, a8, b_, ac, bq, bo, c1, aq, aU, v, ai, aZ, c0, bM, b1, D, aH, b3, b$, aI, ay, ba, bO, bQ, bz, al, a2, q, p, bS, I, aR, ax, s, br, bU, ap, aQ, ad, ae, U, af, aB, aj, a_, b2, V, M, bA, b6, N, J, c, az, Q, b9, aW, aV, bT, bl, f, bt, X, P, aM, t, _, bk, aJ, bY, bX, aF, aS, o, ao, aL, w, aT, aG, c5, bN, b4, bb, bc, am, R, a0, a6, a5, b5, a3, bZ, a4, a9, g, bG, bJ, bF, bE, bH, bI, bC, bu, bx, by, bw, bv, bs, bd, ar, aP, ag, l, bg, k, aD, c4, n, bh, aE, m, aw, aN, i, c3, at, av, aY, aX, as, S, b0, a$, c2, bD, bm, bi, bj, Y, bW, $, W, bV, a7, ab, aa, e, bK, ah, be, y, K, d, T, O, L, r, b, B, z, E, F, u, b8, G, bf, a } from "./index-1a40b2a8.js";
1
+ import { b7, bL, A, aA, aC, ak, bn, aK, H, bB, bp, au, x, C, h, bP, an, aO, Z, bR, a1, a8, b_, ac, bq, bo, c1, aq, aU, v, ai, aZ, c0, bM, b1, D, aH, b3, b$, aI, ay, ba, bO, bQ, bz, al, a2, q, p, bS, I, aR, ax, s, br, bU, ap, aQ, ad, ae, U, af, aB, aj, a_, b2, V, M, bA, b6, N, J, c, az, Q, b9, aW, aV, bT, bl, f, bt, X, P, aM, t, _, bk, aJ, bY, bX, aF, aS, o, ao, aL, w, aT, aG, c5, bN, b4, bb, bc, am, R, a0, a6, a5, b5, a3, bZ, a4, a9, g, bG, bJ, bF, bE, bH, bI, bC, bu, bx, by, bw, bv, bs, bd, ar, aP, ag, l, bg, k, aD, c4, n, bh, aE, m, aw, aN, i, c3, at, av, aY, aX, as, S, b0, a$, c2, bD, bm, bi, bj, Y, bW, $, W, bV, a7, ab, aa, e, bK, ah, be, y, K, d, T, O, L, r, b, B, z, E, F, u, b8, G, bf, a } from "./index-8a299a91.js";
2
2
  import "@cloudtower/eagle";
3
3
  import "@refinedev/core";
4
4
  import "@cloudtower/icons-react";
@@ -1009,7 +1009,7 @@ var __publicField = (obj, key, value) => {
1009
1009
  }
1010
1010
  const copy$1 = "Copy";
1011
1011
  const reset_arguments$1 = "Reset";
1012
- const view_changes$1 = "Show Diff";
1012
+ const view_changes$1 = "Show diff";
1013
1013
  const back_to_edit$1 = "Edit";
1014
1014
  const configure_file$1 = "Configuration";
1015
1015
  const yaml_format_wrong$1 = "Configuration is in an invalid YAML format.";
@@ -1046,7 +1046,7 @@ var __publicField = (obj, key, value) => {
1046
1046
  const workload$1 = "Workload";
1047
1047
  const empty$1 = "No data available";
1048
1048
  const schedule$1 = "Schedule";
1049
- const lastScheduleTime$1 = "Last Schedule";
1049
+ const lastScheduleTime$1 = "Last schedule";
1050
1050
  const duration$1 = "Duration";
1051
1051
  const started$1 = "Start time";
1052
1052
  const container$1 = "Container";
@@ -1073,7 +1073,7 @@ var __publicField = (obj, key, value) => {
1073
1073
  const port$1 = "Port";
1074
1074
  const cert$1 = "Certificate";
1075
1075
  const ip_address$1 = "IP address";
1076
- const last_seen$1 = "Last Seen";
1076
+ const last_seen$1 = "Last seen";
1077
1077
  const node_port$1 = "NodePort";
1078
1078
  const protocol$1 = "Protocol";
1079
1079
  const key$1 = "Key";
@@ -1143,9 +1143,9 @@ var __publicField = (obj, key, value) => {
1143
1143
  const suspend$1 = "Suspend";
1144
1144
  const default_backend$1 = "Default backend";
1145
1145
  const ingress_class$1 = "IngressClass";
1146
- const pod_ready_num$1 = "Ready Pod";
1147
- const pod_complete_num$1 = "Completion Pod";
1148
- const pod_replicas_num$1 = "Desired Pod";
1146
+ const pod_ready_num$1 = "Ready pod";
1147
+ const pod_complete_num$1 = "Completion pod";
1148
+ const pod_replicas_num$1 = "Desired pod";
1149
1149
  const edit_replicas$1 = "Edit expected number of replicas";
1150
1150
  const dns_record$1 = "DNS record";
1151
1151
  const basic_info$1 = "Basic information";
@@ -23487,6 +23487,9 @@ var __publicField = (obj, key, value) => {
23487
23487
  errorNotification: false,
23488
23488
  transformInitValues,
23489
23489
  transformApplyValues,
23490
+ mutationMeta: {
23491
+ updateType: "put"
23492
+ },
23490
23493
  ...useFormProps
23491
23494
  });
23492
23495
  const kit = eagle.useUIKit();
@@ -24163,8 +24166,7 @@ var __publicField = (obj, key, value) => {
24163
24166
  width: 120,
24164
24167
  dataIndex,
24165
24168
  align: "right",
24166
- title: i18n2.t("dovetail.restarts"),
24167
- sortable: false
24169
+ title: i18n2.t("dovetail.restarts")
24168
24170
  };
24169
24171
  };
24170
24172
  const ReplicasColumnRenderer = (i18n2) => {
@@ -24174,7 +24176,7 @@ var __publicField = (obj, key, value) => {
24174
24176
  display: true,
24175
24177
  dataIndex,
24176
24178
  title: /* @__PURE__ */ jsxRuntimeExports.jsx(eagle.Tooltip, {
24177
- title: i18n2.t("dovetail.completion_num_tooltip"),
24179
+ title: i18n2.t("dovetail.ready_num_tooltip"),
24178
24180
  children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
24179
24181
  className: DashedTitleStyle,
24180
24182
  children: i18n2.t("dovetail.pod_num")
@@ -24195,6 +24197,7 @@ var __publicField = (obj, key, value) => {
24195
24197
  isRelativeTime = true
24196
24198
  } = {}) => {
24197
24199
  const dataIndex = ["metadata", "creationTimestamp"];
24200
+ const kit = eagle.useUIKit();
24198
24201
  return {
24199
24202
  key: "creationTimestamp",
24200
24203
  display: true,
@@ -24206,7 +24209,11 @@ var __publicField = (obj, key, value) => {
24206
24209
  return isRelativeTime ? /* @__PURE__ */ jsxRuntimeExports.jsx(Time, {
24207
24210
  date: new Date(value2)
24208
24211
  }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
24209
- value: dayjs(value2).format("YYYY-MM-DD hh:mm:ss")
24212
+ value: /* @__PURE__ */ jsxRuntimeExports.jsx(kit.time, {
24213
+ date: value2,
24214
+ timeTemplate: "HH:mm:ss",
24215
+ dateTemplate: "YYYY-MM-DD"
24216
+ })
24210
24217
  });
24211
24218
  },
24212
24219
  ...config
@@ -24547,8 +24554,8 @@ var __publicField = (obj, key, value) => {
24547
24554
  }),
24548
24555
  tooltip: `${v.servicePort} > ${v.targetPort}/${v.protocol}`
24549
24556
  }, v.servicePort));
24550
- return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {
24551
- children: content
24557
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
24558
+ value: content
24552
24559
  });
24553
24560
  }
24554
24561
  };
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ interface ModalInfo {
3
+ resource: string;
4
+ id?: string;
5
+ }
6
+ type ModalContextValue = ModalInfo & {
7
+ open: (info: ModalInfo) => void;
8
+ close: () => void;
9
+ };
10
+ export declare const ModalContext: React.Context<ModalContextValue>;
11
+ declare function ModalContextProvider(props: React.PropsWithChildren<Record<string, unknown>>): JSX.Element;
12
+ export default ModalContextProvider;
@@ -2,6 +2,7 @@ import type { NetworkPolicyIngressRule, NetworkPolicyEgressRule } from 'kubernet
2
2
  import React from 'react';
3
3
  type Props = {
4
4
  ingressOrEgress: NetworkPolicyIngressRule[] | NetworkPolicyEgressRule[];
5
+ kind?: string;
5
6
  };
6
- export declare const NetworkPolicyRulesTable: React.FC<Props>;
7
+ export declare const NetworkPolicyRulesViewer: React.FC<Props>;
7
8
  export {};
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { FormAction } from '@refinedev/core';
2
3
  import useEagleForm from 'src/hooks/useEagleForm';
3
4
  export declare enum SchemaStrategy {
4
5
  Required = "Required",
@@ -7,7 +8,9 @@ export declare enum SchemaStrategy {
7
8
  }
8
9
  export interface YamlFormProps {
9
10
  id?: string;
11
+ action?: FormAction;
10
12
  initialValues?: Record<string, unknown>;
13
+ transformValues?: (values: Record<string, unknown>) => Record<string, unknown>;
11
14
  schemaStrategy?: SchemaStrategy;
12
15
  isShowLayout?: boolean;
13
16
  useFormProps?: Parameters<typeof useEagleForm>[0];
@@ -15,6 +18,7 @@ export interface YamlFormProps {
15
18
  disabled?: boolean;
16
19
  onClick: () => void;
17
20
  }) => void;
21
+ onErrorsChange?: (errors: string[]) => void;
18
22
  onFinish?: () => void;
19
23
  }
20
24
  declare function YamlForm(props: YamlFormProps): JSX.Element;
@@ -20,6 +20,7 @@ export type UseFormProps<TQueryFnData extends BaseRecord = BaseRecord, TError ex
20
20
  isSkipSchema?: boolean;
21
21
  };
22
22
  initialValuesForCreate?: Record<string, unknown>;
23
+ transformValues?: (values: Record<string, unknown>) => Record<string, unknown>;
23
24
  };
24
25
  export type UseFormReturnType<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends object = object, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormReturnTypeCore<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError> & {
25
26
  form: FormInstance;
@@ -43,5 +44,5 @@ declare const useEagleForm: <TQueryFnData extends Unstructured = Unstructured &
43
44
  [prop: string]: unknown;
44
45
  } = {
45
46
  [prop: string]: unknown;
46
- }, TData extends Unstructured = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError>({ action, resource, onMutationSuccess: onMutationSuccessProp, onMutationError, submitOnEnter, warnWhenUnsavedChanges: warnWhenUnsavedChangesProp, redirect, successNotification, errorNotification, meta, metaData, queryMeta, mutationMeta, liveMode, liveParams, mutationMode, dataProviderName, onLiveEvent, invalidates, undoableTimeout, queryOptions, createMutationOptions, updateMutationOptions, id: idFromProps, overtimeOptions, editorOptions, initialValuesForCreate, }?: UseFormProps<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>) => UseFormReturnType<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>;
47
+ }, TData extends Unstructured = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError>({ action: actionFromProps, resource, onMutationSuccess: onMutationSuccessProp, onMutationError, submitOnEnter, warnWhenUnsavedChanges: warnWhenUnsavedChangesProp, redirect, successNotification, errorNotification, meta, metaData, queryMeta, mutationMeta, liveMode, liveParams, mutationMode, dataProviderName, onLiveEvent, invalidates, undoableTimeout, queryOptions, createMutationOptions, updateMutationOptions, id: idFromProps, overtimeOptions, editorOptions, initialValuesForCreate, transformValues, }?: UseFormProps<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>) => UseFormReturnType<TQueryFnData, TError, TVariables, TData, TResponse, TResponseError>;
47
48
  export default useEagleForm;
File without changes
@@ -0,0 +1,5 @@
1
+ import { CrudFilters } from '@refinedev/core';
2
+ declare function useNamespaceRefineFilter(): {
3
+ permanent: CrudFilters;
4
+ };
5
+ export default useNamespaceRefineFilter;
@@ -0,0 +1,9 @@
1
+ import { CronJob } from 'kubernetes-types/batch/v1';
2
+ import { WithId } from '../types';
3
+ import { WorkloadModel } from './workload-model';
4
+ export declare class CronJobModel extends WorkloadModel<CronJob> {
5
+ data: WithId<CronJob>;
6
+ constructor(data: WithId<CronJob>);
7
+ suspend(): WithId<CronJob>;
8
+ resume(): WithId<CronJob>;
9
+ }
@@ -0,0 +1,6 @@
1
+ export * from './job-model';
2
+ export * from './pod-model';
3
+ export * from './pod-metrics-model';
4
+ export * from './resource-model';
5
+ export * from './workload-model';
6
+ export * from './cronjob-model';
@@ -0,0 +1,10 @@
1
+ import { Job } from 'kubernetes-types/batch/v1';
2
+ import { WithId } from '../types';
3
+ import { WorkloadModel } from './workload-model';
4
+ export declare class JobModel extends WorkloadModel<Job> {
5
+ rawYaml: WithId<Job>;
6
+ constructor(rawYaml: WithId<Job>);
7
+ get duration(): number;
8
+ get durationDisplay(): string | undefined;
9
+ get completionsDisplay(): string;
10
+ }
@@ -0,0 +1,7 @@
1
+ import { PodMetrics, ResourceQuantity } from 'src/types/metric';
2
+ import { ResourceModel } from './resource-model';
3
+ export declare class PodMetricsModel extends ResourceModel {
4
+ data: PodMetrics;
5
+ usage: ResourceQuantity;
6
+ constructor(data: PodMetrics);
7
+ }
@@ -0,0 +1,15 @@
1
+ import type { Pod } from 'kubernetes-types/core/v1';
2
+ import { ResourceQuantity } from 'src/types/metric';
3
+ import { WithId } from '../types';
4
+ import { WorkloadModel } from './workload-model';
5
+ export declare class PodModel extends WorkloadModel<Pod> {
6
+ rawYaml: WithId<Pod>;
7
+ request: ResourceQuantity;
8
+ limit: ResourceQuantity;
9
+ constructor(rawYaml: WithId<Pod>);
10
+ get imageNames(): string[];
11
+ get restartCount(): number;
12
+ get readyDisplay(): string;
13
+ get readyContainerCount(): number | undefined;
14
+ get containerCount(): number | undefined;
15
+ }
@@ -0,0 +1,17 @@
1
+ import { Resource } from '../types';
2
+ export declare class ResourceModel implements Resource {
3
+ rawYaml: Resource;
4
+ id: Resource['id'];
5
+ apiVersion: Resource['apiVersion'];
6
+ kind: Resource['kind'];
7
+ metadata: Resource['metadata'];
8
+ constructor(rawYaml: Resource);
9
+ get name(): string | undefined;
10
+ get namespace(): string | undefined;
11
+ get labels(): {
12
+ [name: string]: string;
13
+ } | undefined;
14
+ get annotations(): {
15
+ [name: string]: string;
16
+ } | undefined;
17
+ }
@@ -0,0 +1,17 @@
1
+ import type { DaemonSet, Deployment, StatefulSet } from 'kubernetes-types/apps/v1';
2
+ import type { CronJob, Job } from 'kubernetes-types/batch/v1';
3
+ import { Pod } from 'kubernetes-types/core/v1';
4
+ import { WithId } from '../types';
5
+ import { ResourceModel } from './resource-model';
6
+ type WorkloadTypes = Deployment | StatefulSet | Job | DaemonSet | CronJob | Pod;
7
+ export declare class WorkloadModel<T extends WorkloadTypes = WorkloadTypes> extends ResourceModel {
8
+ rawYaml: WithId<T>;
9
+ constructor(rawYaml: WithId<T>);
10
+ get status(): T['status'];
11
+ get spec(): T['spec'];
12
+ get imageNames(): string[];
13
+ get restartCount(): number;
14
+ redeploy(): WithId<T>;
15
+ scale(value: number): WithId<T>;
16
+ }
17
+ export {};
@@ -0,0 +1,25 @@
1
+ import { Resource } from './resource';
2
+ type Quantity = string;
3
+ export type ContainerMetrics = {
4
+ name: string;
5
+ usage: {
6
+ cpu?: Quantity;
7
+ memory?: Quantity;
8
+ };
9
+ };
10
+ export type PodMetrics = {
11
+ timestamp: string;
12
+ window: string;
13
+ containers: ContainerMetrics[];
14
+ } & Resource;
15
+ export type ResourceQuantity = {
16
+ cpu: {
17
+ si: string;
18
+ value: number;
19
+ };
20
+ memory: {
21
+ si: string;
22
+ value: number;
23
+ };
24
+ };
25
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dovetail-v2/refine",
3
- "version": "0.0.47",
3
+ "version": "0.0.48",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -21,7 +21,7 @@
21
21
  "dayjs": "^1.11.10",
22
22
  "i18next": "^23.2.3",
23
23
  "js-yaml": "^4.1.0",
24
- "k8s-api-provider": "0.0.21",
24
+ "k8s-api-provider": "0.0.23",
25
25
  "ky": "^0.33.3",
26
26
  "lodash-es": "^4.17.21",
27
27
  "mitt": "^3.0.1",
package/lib/src/App.js DELETED
@@ -1,91 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { createBrowserHistory } from 'history';
3
- import { GlobalStore } from 'k8s-api-provider';
4
- import { useMemo } from 'react';
5
- import { I18nextProvider } from 'react-i18next';
6
- import { Route, Router } from 'react-router-dom';
7
- import { Layout } from './components';
8
- import { CRONJOB_INIT_VALUE, DAEMONSET_INIT_VALUE, STATEFULSET_INIT_VALUE, POD_INIT_VALUE, } from './constants/k8s';
9
- import { Dovetail } from './Dovetail';
10
- import i18n from './i18n';
11
- import { ConfigMapConfig } from './pages/configmaps';
12
- import { CronJobForm, CronJobList, CronJobShow } from './pages/cronjobs';
13
- import { DaemonSetForm, DaemonSetList, DaemonSetShow } from './pages/daemonsets';
14
- import { DeploymentForm, DeploymentList, DeploymentShow } from './pages/deployments';
15
- import { IngressConfig } from './pages/ingresses';
16
- import { JobConfig } from './pages/jobs';
17
- import { NetworkPolicyConfig } from './pages/networkPolicies';
18
- import { PodShow, PodList, PodForm } from './pages/pods';
19
- import { SecretsConfig } from './pages/secrets';
20
- import { ServicesConfig } from './pages/services';
21
- import { StatefulSetShow, StatefulSetList, StatefulSetForm } from './pages/statefulsets';
22
- import { ProviderPlugins } from './plugins';
23
- import { RESOURCE_GROUP, FormType } from './types';
24
- function App() {
25
- const histroy = createBrowserHistory();
26
- const resourcesConfig = useMemo(() => {
27
- return [
28
- {
29
- name: 'cronjobs',
30
- basePath: '/apis/batch/v1beta1',
31
- kind: 'CronJob',
32
- parent: RESOURCE_GROUP.WORKLOAD,
33
- label: 'CronJobs',
34
- initValue: CRONJOB_INIT_VALUE,
35
- isCustom: true,
36
- },
37
- {
38
- name: 'daemonsets',
39
- basePath: '/apis/apps/v1',
40
- kind: 'DaemonSet',
41
- parent: RESOURCE_GROUP.WORKLOAD,
42
- label: 'DaemonSets',
43
- initValue: DAEMONSET_INIT_VALUE,
44
- isCustom: true,
45
- },
46
- {
47
- name: 'deployments',
48
- basePath: '/apis/apps/v1',
49
- kind: 'Deployment',
50
- parent: RESOURCE_GROUP.WORKLOAD,
51
- label: 'Deployments',
52
- formType: FormType.MODAL,
53
- FormModal: DeploymentForm,
54
- isCustom: true,
55
- },
56
- {
57
- name: 'statefulsets',
58
- basePath: '/apis/apps/v1',
59
- kind: 'StatefulSet',
60
- parent: RESOURCE_GROUP.WORKLOAD,
61
- label: 'StatefulSets',
62
- initValue: STATEFULSET_INIT_VALUE,
63
- isCustom: true,
64
- },
65
- {
66
- name: 'pods',
67
- basePath: '/api/v1',
68
- kind: 'Pod',
69
- parent: RESOURCE_GROUP.WORKLOAD,
70
- label: 'Pods',
71
- initValue: POD_INIT_VALUE,
72
- isCustom: true,
73
- },
74
- JobConfig,
75
- IngressConfig,
76
- NetworkPolicyConfig,
77
- ConfigMapConfig,
78
- SecretsConfig,
79
- ServicesConfig,
80
- ];
81
- }, []);
82
- const globalStore = useMemo(() => {
83
- return new GlobalStore({
84
- apiUrl: '/api/k8s',
85
- watchWsApiUrl: 'api/sks-ws/k8s',
86
- prefix: 'default',
87
- }, ProviderPlugins);
88
- }, []);
89
- return (_jsx(I18nextProvider, { i18n: i18n, children: _jsx(Dovetail, { resourcesConfig: resourcesConfig, Layout: Layout, history: histroy, globalStore: globalStore, children: _jsxs(Router, { history: histroy, children: [_jsx(Route, { path: "/cronjobs", exact: true, children: _jsx(CronJobList, {}) }), _jsx(Route, { path: "/cronjobs/show", children: _jsx(CronJobShow, {}) }), _jsx(Route, { path: "/cronjobs/create", children: _jsx(CronJobForm, {}) }), _jsx(Route, { path: "/cronjobs/edit", children: _jsx(CronJobForm, {}) }), _jsx(Route, { path: "/daemonsets", exact: true, children: _jsx(DaemonSetList, {}) }), _jsx(Route, { path: "/daemonsets/show", children: _jsx(DaemonSetShow, {}) }), _jsx(Route, { path: "/daemonsets/create", children: _jsx(DaemonSetForm, {}) }), _jsx(Route, { path: "/daemonsets/edit", children: _jsx(DaemonSetForm, {}) }), _jsx(Route, { path: "/deployments", exact: true, children: _jsx(DeploymentList, {}) }), _jsx(Route, { path: "/deployments/show", children: _jsx(DeploymentShow, {}) }), _jsx(Route, { path: "/statefulsets", exact: true, children: _jsx(StatefulSetList, {}) }), _jsx(Route, { path: "/statefulsets/show", children: _jsx(StatefulSetShow, {}) }), _jsx(Route, { path: "/statefulsets/create", children: _jsx(StatefulSetForm, {}) }), _jsx(Route, { path: "/statefulsets/edit", children: _jsx(StatefulSetForm, {}) }), _jsx(Route, { path: "/pods", exact: true, children: _jsx(PodList, {}) }), _jsx(Route, { path: "/pods/show", children: _jsx(PodShow, {}) }), _jsx(Route, { path: "/pods/create", children: _jsx(PodForm, {}) }), _jsx(Route, { path: "/pods/edit", children: _jsx(PodForm, {}) })] }) }) }));
90
- }
91
- export default App;
@@ -1,45 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { KitStoreProvider, ModalStack } from '@cloudtower/eagle';
3
- import { Refine } from '@refinedev/core';
4
- import { dataProvider, liveProvider } from 'k8s-api-provider';
5
- import { keyBy } from 'lodash-es';
6
- import { useMemo } from 'react';
7
- import { Router } from 'react-router-dom';
8
- import ConfigsContext from 'src/contexts/configs';
9
- import { ResourceCRUD } from './components/ResourceCRUD';
10
- import GlobalStoreContext from './contexts/global-store';
11
- import { routerProvider } from './providers/router-provider';
12
- import './styles.css';
13
- export const Dovetail = props => {
14
- const { resourcesConfig, urlPrefix = '', Layout, history, globalStore } = props;
15
- const notCustomResources = useMemo(() => {
16
- return resourcesConfig.filter(c => !c.isCustom);
17
- }, [resourcesConfig]);
18
- const content = useMemo(() => {
19
- const _content = (_jsxs(_Fragment, { children: [_jsx(ModalStack, {}), _jsx(ResourceCRUD, { configs: notCustomResources, urlPrefix: urlPrefix }), props.children] }));
20
- if (Layout) {
21
- return _jsx(Layout, { children: _content });
22
- }
23
- return _content;
24
- }, [Layout, notCustomResources, props.children, urlPrefix]);
25
- return (_jsx(Router, { history: history, children: _jsx(KitStoreProvider, { children: _jsx(GlobalStoreContext.Provider, { value: { globalStore }, children: _jsx(ConfigsContext.Provider, { value: keyBy(resourcesConfig, 'name'), children: _jsx(Refine, { dataProvider: {
26
- default: dataProvider(globalStore),
27
- }, routerProvider: routerProvider, liveProvider: liveProvider(globalStore), options: {
28
- warnWhenUnsavedChanges: true,
29
- liveMode: 'auto',
30
- }, resources: resourcesConfig.map(c => {
31
- return {
32
- name: c.name,
33
- meta: {
34
- resourceBasePath: c.basePath,
35
- kind: c.kind,
36
- parent: c.parent,
37
- label: `${c.kind}s`,
38
- },
39
- list: `${urlPrefix}/${c.name}`,
40
- show: `${urlPrefix}/${c.name}/show`,
41
- create: `${urlPrefix}/${c.name}/create`,
42
- edit: `${urlPrefix}/${c.name}/edit`,
43
- };
44
- }), children: content }) }) }) }) }));
45
- };
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { css, cx } from '@linaria/core';
3
- import { useBreadcrumb } from '@refinedev/core';
4
- import { Link } from 'react-router-dom';
5
- const BreadcrumbStyle = css `
6
- display: flex;
7
-
8
- .breadcrumb-item {
9
- &:not(:last-of-type):after {
10
- content: '>';
11
- margin: 0 8px;
12
- }
13
- }
14
- `;
15
- export function Breadcrumb(props) {
16
- const { breadcrumbs } = useBreadcrumb();
17
- return (_jsx("ul", { className: cx(BreadcrumbStyle, props.className), children: breadcrumbs.map(breadcrumb => {
18
- return (_jsx("li", { className: "breadcrumb-item", children: breadcrumb.href ? (_jsx(Link, { to: breadcrumb.href, children: breadcrumb.label })) : (_jsx("span", { children: breadcrumb.label })) }, `breadcrumb-${breadcrumb.label}`));
19
- }) }));
20
- }
@@ -1,56 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useUIKit } from '@cloudtower/eagle';
3
- import { useD2Translation } from '../../i18n';
4
- import { addId } from '../../utils/addId';
5
- import ErrorContent from '../Table/ErrorContent';
6
- import Time from '../Time';
7
- export const ConditionsTable = ({ conditions = [] }) => {
8
- const kit = useUIKit();
9
- const { t } = useD2Translation();
10
- const conditionsWithId = addId(conditions, 'type');
11
- const columns = [
12
- {
13
- key: 'type',
14
- display: true,
15
- dataIndex: 'type',
16
- title: t('dovetail.condition'),
17
- sortable: true,
18
- },
19
- {
20
- key: 'status',
21
- display: true,
22
- dataIndex: 'status',
23
- title: t('dovetail.status'),
24
- sortable: true,
25
- },
26
- {
27
- key: 'reason',
28
- display: true,
29
- dataIndex: 'reason',
30
- title: t('dovetail.reason'),
31
- sortable: true,
32
- },
33
- {
34
- key: 'lastUpdateTime',
35
- display: true,
36
- dataIndex: 'lastUpdateTime',
37
- title: t('dovetail.updated_time'),
38
- sortable: true,
39
- render: (value, record) => {
40
- const time = value || record.lastTransitionTime;
41
- return _jsx(Time, { date: new Date(time) });
42
- },
43
- },
44
- {
45
- key: 'message',
46
- display: true,
47
- dataIndex: 'message',
48
- title: t('dovetail.message'),
49
- sortable: true,
50
- },
51
- ];
52
- if (conditionsWithId.length === 0) {
53
- return _jsx(ErrorContent, { errorText: t('dovetail.empty'), style: { padding: '15px 0' } });
54
- }
55
- return (_jsx(kit.table, { loading: false, dataSource: conditionsWithId, columns: columns, rowKey: "type", empty: t('dovetail.empty') }));
56
- };
@@ -1 +0,0 @@
1
- export * from './ConditionsTable';