@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.
- package/dist/{MonacoYamlDiffEditor-9ad1c844.js → MonacoYamlDiffEditor-3fa57025.js} +1 -1
- package/dist/{index-1a40b2a8.js → index-8a299a91.js} +20 -13
- package/dist/refine.js +1 -1
- package/dist/refine.umd.cjs +19 -12
- package/lib/src/components/ModalContextProvider/index.d.ts +12 -0
- package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.d.ts +2 -1
- package/lib/src/components/YamlForm/index.d.ts +4 -0
- package/lib/src/hooks/useEagleForm.d.ts +2 -1
- package/lib/src/hooks/useModal.d.ts +0 -0
- package/lib/src/hooks/useNamespaceFilter.d.ts +5 -0
- package/lib/src/model/cronjob-model.d.ts +9 -0
- package/lib/src/model/index.d.ts +6 -0
- package/lib/src/model/job-model.d.ts +10 -0
- package/lib/src/model/pod-metrics-model.d.ts +7 -0
- package/lib/src/model/pod-model.d.ts +15 -0
- package/lib/src/model/resource-model.d.ts +17 -0
- package/lib/src/model/workload-model.d.ts +17 -0
- package/lib/src/types/metric.d.ts +25 -0
- package/package.json +2 -2
- package/lib/src/App.js +0 -91
- package/lib/src/Dovetail.js +0 -45
- package/lib/src/components/Breadcrumb/index.js +0 -20
- package/lib/src/components/ConditionsTable/ConditionsTable.js +0 -56
- package/lib/src/components/ConditionsTable/index.js +0 -1
- package/lib/src/components/CreateButton/index.js +0 -10
- package/lib/src/components/CronJobDropdown/index.js +0 -26
- package/lib/src/components/CronjobJobsTable/index.js +0 -49
- package/lib/src/components/DeleteButton/index.js +0 -13
- package/lib/src/components/DeleteManyButton/index.js +0 -16
- package/lib/src/components/DrawerShow/DrawerShow.js +0 -13
- package/lib/src/components/DrawerShow/index.js +0 -1
- package/lib/src/components/EditButton/index.js +0 -13
- package/lib/src/components/EditField/index.js +0 -47
- package/lib/src/components/ErrorContent/index.js +0 -36
- package/lib/src/components/EventsTable/EventsTable.js +0 -59
- package/lib/src/components/EventsTable/index.js +0 -1
- package/lib/src/components/Form/KeyValueListWidget.js +0 -56
- package/lib/src/components/Form/MetadataForm.js +0 -9
- package/lib/src/components/Form/NameInputWidget.js +0 -50
- package/lib/src/components/Form/NamespaceSelectWidget.js +0 -21
- package/lib/src/components/Form/index.js +0 -4
- package/lib/src/components/Form/widget.js +0 -1
- package/lib/src/components/FormErrorAlert/index.js +0 -8
- package/lib/src/components/FormLayout/index.js +0 -21
- package/lib/src/components/FormModal/index.js +0 -51
- package/lib/src/components/ImageNames/index.js +0 -14
- package/lib/src/components/IngressRulesComponent/index.js +0 -11
- package/lib/src/components/IngressRulesTable/IngressRulesTable.js +0 -51
- package/lib/src/components/IngressRulesTable/index.js +0 -1
- package/lib/src/components/K8sDropdown/index.js +0 -31
- package/lib/src/components/KeyValue/KeyValue.js +0 -27
- package/lib/src/components/KeyValue/index.js +0 -1
- package/lib/src/components/KeyValueData/index.js +0 -50
- package/lib/src/components/Layout/index.js +0 -39
- package/lib/src/components/ListPage/index.js +0 -25
- package/lib/src/components/Menu/index.js +0 -36
- package/lib/src/components/NamespacesFilter/index.js +0 -34
- package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.js +0 -77
- package/lib/src/components/NetworkPolicyRulesTable/index.js +0 -1
- package/lib/src/components/PageShow/PageShow.js +0 -11
- package/lib/src/components/PageShow/index.js +0 -1
- package/lib/src/components/PodContainersTable/PodContainersTable.js +0 -78
- package/lib/src/components/PodContainersTable/index.js +0 -1
- package/lib/src/components/PodLog/index.js +0 -136
- package/lib/src/components/ReferenceLink/index.js +0 -17
- package/lib/src/components/RefineForm/RefineFormContent.d.ts +0 -10
- package/lib/src/components/RefineForm/RefineFormModal.d.ts +0 -8
- package/lib/src/components/RefineForm/RefineFormPage.d.ts +0 -7
- package/lib/src/components/RefineForm/index.d.ts +0 -3
- package/lib/src/components/RefineForm/type.d.ts +0 -20
- package/lib/src/components/RefineForm/useRefineForm.d.ts +0 -10
- package/lib/src/components/ResourceCRUD/ResourceCRUD.js +0 -15
- package/lib/src/components/ResourceCRUD/create/index.js +0 -13
- package/lib/src/components/ResourceCRUD/index.js +0 -4
- package/lib/src/components/ResourceCRUD/list/index.js +0 -19
- package/lib/src/components/ResourceCRUD/show/index.js +0 -6
- package/lib/src/components/ResourceLink/index.js +0 -21
- package/lib/src/components/ResourceUsageBar/index.js +0 -81
- package/lib/src/components/Separator/index.js +0 -11
- package/lib/src/components/ShowContent/ShowContent.js +0 -157
- package/lib/src/components/ShowContent/fields.js +0 -157
- package/lib/src/components/ShowContent/index.js +0 -2
- package/lib/src/components/StateTag/StateTag.js +0 -22
- package/lib/src/components/StateTag/index.js +0 -1
- package/lib/src/components/Table/ErrorContent.js +0 -36
- package/lib/src/components/Table/TableToolBar.js +0 -14
- package/lib/src/components/Table/TableWidgets.js +0 -28
- package/lib/src/components/Table/index.js +0 -69
- package/lib/src/components/Tags/index.js +0 -22
- package/lib/src/components/Time/index.js +0 -14
- package/lib/src/components/WorkloadDropdown/index.js +0 -24
- package/lib/src/components/WorkloadPodsTable/WorkloadPodsTable.js +0 -39
- package/lib/src/components/WorkloadPodsTable/index.js +0 -1
- package/lib/src/components/WorkloadReplicas/index.js +0 -50
- package/lib/src/components/YamlEditor/MonacoYamlDiffEditor.js +0 -34
- package/lib/src/components/YamlEditor/MonacoYamlEditor.js +0 -149
- package/lib/src/components/YamlEditor/YamlEditorComponent.js +0 -90
- package/lib/src/components/YamlEditor/index.js +0 -1
- package/lib/src/components/YamlEditor/style.js +0 -102
- package/lib/src/components/YamlEditor/yaml.worker.js +0 -1
- package/lib/src/components/YamlForm/index.js +0 -61
- package/lib/src/components/index.js +0 -38
- package/lib/src/constants/index.js +0 -2
- package/lib/src/constants/k8s.js +0 -203
- package/lib/src/constants/state.js +0 -15
- package/lib/src/contexts/component.js +0 -3
- package/lib/src/contexts/configs.js +0 -3
- package/lib/src/contexts/global-store.js +0 -3
- package/lib/src/contexts/index.js +0 -3
- package/lib/src/hooks/index.js +0 -7
- package/lib/src/hooks/useDeleteModal/index.js +0 -1
- package/lib/src/hooks/useDeleteModal/useDeleteManyModal.js +0 -31
- package/lib/src/hooks/useDeleteModal/useDeleteModal.js +0 -38
- package/lib/src/hooks/useDownloadYAML.js +0 -10
- package/lib/src/hooks/useEagleForm.js +0 -177
- package/lib/src/hooks/useEagleTable/columns.js +0 -246
- package/lib/src/hooks/useEagleTable/index.js +0 -2
- package/lib/src/hooks/useEagleTable/useEagleTable.js +0 -63
- package/lib/src/hooks/useEdit.js +0 -19
- package/lib/src/hooks/useGlobalStore.js +0 -5
- package/lib/src/hooks/useK8sYamlEditor.js +0 -37
- package/lib/src/hooks/useOpenForm.js +0 -43
- package/lib/src/hooks/useSchema.js +0 -37
- package/lib/src/hooks/useSubmitForm.js +0 -42
- package/lib/src/i18n.js +0 -19
- package/lib/src/index.js +0 -13
- package/lib/src/locales/en-US/dovetail.json +0 -18
- package/lib/src/locales/en-US/index.js +0 -4
- package/lib/src/locales/index.js +0 -6
- package/lib/src/locales/zh-CN/dovetail.json +0 -91
- package/lib/src/locales/zh-CN/index.js +0 -4
- package/lib/src/main.js +0 -12
- package/lib/src/models/cronjob-model.js +0 -32
- package/lib/src/models/daemonset-model.js +0 -17
- package/lib/src/models/deployment-model.js +0 -17
- package/lib/src/models/event-model.js +0 -11
- package/lib/src/models/index.js +0 -14
- package/lib/src/models/ingress-model.js +0 -24
- package/lib/src/models/job-model.js +0 -56
- package/lib/src/models/network-policy-model.js +0 -10
- package/lib/src/models/pod-metrics-model.js +0 -34
- package/lib/src/models/pod-model.js +0 -78
- package/lib/src/models/resource-model.js +0 -34
- package/lib/src/models/server-instance-model.d.ts +0 -10
- package/lib/src/models/service-model.js +0 -17
- package/lib/src/models/statefulset-model.js +0 -17
- package/lib/src/models/types/index.js +0 -1
- package/lib/src/models/types/metric.js +0 -1
- package/lib/src/models/workload-base-model.js +0 -22
- package/lib/src/models/workload-model.js +0 -51
- package/lib/src/pages/configmaps/index.js +0 -15
- package/lib/src/pages/cronjobs/create/index.js +0 -6
- package/lib/src/pages/cronjobs/index.js +0 -3
- package/lib/src/pages/cronjobs/list/index.js +0 -42
- package/lib/src/pages/cronjobs/show/index.js +0 -16
- package/lib/src/pages/daemonsets/create/index.js +0 -6
- package/lib/src/pages/daemonsets/index.js +0 -3
- package/lib/src/pages/daemonsets/list/index.js +0 -32
- package/lib/src/pages/daemonsets/show/index.js +0 -16
- package/lib/src/pages/deployments/create/index.js +0 -7
- package/lib/src/pages/deployments/index.js +0 -3
- package/lib/src/pages/deployments/list/index.js +0 -26
- package/lib/src/pages/deployments/show/index.js +0 -16
- package/lib/src/pages/ingresses/index.js +0 -26
- package/lib/src/pages/jobs/index.js +0 -34
- package/lib/src/pages/networkPolicies/index.js +0 -67
- package/lib/src/pages/pods/create/index.js +0 -6
- package/lib/src/pages/pods/index.js +0 -3
- package/lib/src/pages/pods/list/index.js +0 -81
- package/lib/src/pages/pods/show/index.js +0 -54
- package/lib/src/pages/secrets/index.js +0 -15
- package/lib/src/pages/services/index.js +0 -26
- package/lib/src/pages/statefulsets/create/index.js +0 -6
- package/lib/src/pages/statefulsets/index.js +0 -3
- package/lib/src/pages/statefulsets/list/index.js +0 -26
- package/lib/src/pages/statefulsets/show/index.js +0 -16
- package/lib/src/plugins/index.js +0 -3
- package/lib/src/plugins/model-plugin.js +0 -46
- package/lib/src/plugins/relation-plugin.js +0 -81
- package/lib/src/plugins/type.js +0 -1
- package/lib/src/providers/index.js +0 -1
- package/lib/src/providers/router-provider/index.js +0 -100
- package/lib/src/types/index.js +0 -1
- package/lib/src/types/resource.js +0 -12
- package/lib/src/utils/addId.js +0 -8
- package/lib/src/utils/download.js +0 -9
- package/lib/src/utils/error.js +0 -53
- package/lib/src/utils/form.js +0 -9
- package/lib/src/utils/k8s.js +0 -6
- package/lib/src/utils/labels.js +0 -15
- package/lib/src/utils/match-selector.js +0 -12
- package/lib/src/utils/openapi.js +0 -33
- package/lib/src/utils/schema.js +0 -117
- package/lib/src/utils/selector.js +0 -12
- package/lib/src/utils/string.js +0 -6
- package/lib/src/utils/time.js +0 -46
- package/lib/src/utils/unit.js +0 -69
- package/lib/src/utils/yaml.js +0 -44
- package/lib/vite.config.js +0 -60
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
1141
|
-
const pod_complete_num$1 = "Completion
|
|
1142
|
-
const pod_replicas_num$1 = "Desired
|
|
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-
|
|
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.
|
|
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:
|
|
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(
|
|
24545
|
-
|
|
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-
|
|
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";
|
package/dist/refine.umd.cjs
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
1147
|
-
const pod_complete_num$1 = "Completion
|
|
1148
|
-
const pod_replicas_num$1 = "Desired
|
|
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.
|
|
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:
|
|
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(
|
|
24551
|
-
|
|
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
|
|
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,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,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,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.
|
|
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.
|
|
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;
|
package/lib/src/Dovetail.js
DELETED
|
@@ -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';
|