@dovetail-v2/refine 0.0.37-bowen.3 → 0.0.38
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-bfd3b791.js → MonacoYamlDiffEditor-5aa83c05.js} +1 -1
- package/dist/{index-fd06f1a3.js → index-93ddd906.js} +13 -25
- package/dist/refine.js +1 -1
- package/dist/refine.umd.cjs +12 -24
- package/dist/style.css +1 -2
- package/lib/src/Dovetail.d.ts +0 -1
- package/lib/src/components/ModalContextProvider/index.d.ts +12 -0
- package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.d.ts +2 -1
- package/lib/src/components/ResourceCRUD/ResourceCRUD.d.ts +1 -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/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/lib/src/types/resource.d.ts +0 -2
- package/package.json +1 -1
- 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/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
|
@@ -10415,7 +10415,7 @@ const CronjobJobsTable = ({
|
|
|
10415
10415
|
hideCreate: true
|
|
10416
10416
|
}), /* @__PURE__ */ jsxRuntimeExports.jsx(Table$1, {
|
|
10417
10417
|
tableKey: "cronjobs",
|
|
10418
|
-
loading:
|
|
10418
|
+
loading: isLoading,
|
|
10419
10419
|
data: dataSource || [],
|
|
10420
10420
|
columns,
|
|
10421
10421
|
rowKey: "id",
|
|
@@ -22312,7 +22312,7 @@ const Separator = () => {
|
|
|
22312
22312
|
});
|
|
22313
22313
|
};
|
|
22314
22314
|
const MonacoYamlEditor = React__default.lazy(() => Promise.resolve().then(() => MonacoYamlEditor$2));
|
|
22315
|
-
const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-
|
|
22315
|
+
const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-5aa83c05.js"));
|
|
22316
22316
|
const YamlEditorComponent = forwardRef(
|
|
22317
22317
|
function YamlEditorComponent2(props, ref) {
|
|
22318
22318
|
const {
|
|
@@ -22985,12 +22985,11 @@ function YamlForm(props) {
|
|
|
22985
22985
|
})
|
|
22986
22986
|
});
|
|
22987
22987
|
}
|
|
22988
|
-
const
|
|
22988
|
+
const FormModal_fo4d8s = "";
|
|
22989
22989
|
const FullscreenModalStyle = "f1nltbcu";
|
|
22990
|
-
const
|
|
22991
|
-
const ErrorStyle = "e1tl3wq2";
|
|
22990
|
+
const ErrorStyle = "e1qgcca6";
|
|
22992
22991
|
function FormModal(props) {
|
|
22993
|
-
var _a
|
|
22992
|
+
var _a;
|
|
22994
22993
|
const {
|
|
22995
22994
|
resource: resourceFromProps,
|
|
22996
22995
|
id,
|
|
@@ -23011,12 +23010,12 @@ function FormModal(props) {
|
|
|
23011
23010
|
});
|
|
23012
23011
|
const okText = i18n2.t(id ? "dovetail.save" : "dovetail.create");
|
|
23013
23012
|
const yamlFormProps = useMemo(() => {
|
|
23014
|
-
var _a2,
|
|
23013
|
+
var _a2, _b, _c;
|
|
23015
23014
|
return {
|
|
23016
23015
|
...props.formProps,
|
|
23017
23016
|
transformInitValues: (_a2 = config.formConfig) == null ? void 0 : _a2.transformInitValues,
|
|
23018
|
-
transformApplyValues: (
|
|
23019
|
-
initialValues: ((
|
|
23017
|
+
transformApplyValues: (_b = config.formConfig) == null ? void 0 : _b.transformApplyValues,
|
|
23018
|
+
initialValues: ((_c = props.formProps) == null ? void 0 : _c.initialValues) || (config == null ? void 0 : config.initValue),
|
|
23020
23019
|
id,
|
|
23021
23020
|
action: id ? "edit" : "create",
|
|
23022
23021
|
isShowLayout: false,
|
|
@@ -23069,10 +23068,10 @@ function FormModal(props) {
|
|
|
23069
23068
|
return i18n2.t(id ? "dovetail.save_failed" : "dovetail.create_failed");
|
|
23070
23069
|
}
|
|
23071
23070
|
})();
|
|
23072
|
-
return /* @__PURE__ */ jsxRuntimeExports.
|
|
23071
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Modal, {
|
|
23073
23072
|
className: FullscreenModalStyle,
|
|
23074
23073
|
width: "calc(100vw - 16px)",
|
|
23075
|
-
title
|
|
23074
|
+
title,
|
|
23076
23075
|
error: errorText ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
23077
23076
|
className: ErrorStyle,
|
|
23078
23077
|
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(ExclamationErrorCircleFill16RedIcon, {}), " ", errorText]
|
|
@@ -23084,10 +23083,7 @@ function FormModal(props) {
|
|
|
23084
23083
|
onCancel,
|
|
23085
23084
|
destroyOnClose: true,
|
|
23086
23085
|
fullscreen: true,
|
|
23087
|
-
children:
|
|
23088
|
-
className: FormDescStyle,
|
|
23089
|
-
children: (_d = config.formConfig) == null ? void 0 : _d.formDesc
|
|
23090
|
-
}) : void 0, formEle]
|
|
23086
|
+
children: formEle
|
|
23091
23087
|
});
|
|
23092
23088
|
}
|
|
23093
23089
|
const RefineFormPage_aqoiay = "";
|
|
@@ -24059,15 +24055,7 @@ const useEagleTable = (params) => {
|
|
|
24059
24055
|
};
|
|
24060
24056
|
const styles = "";
|
|
24061
24057
|
const Dovetail = (props) => {
|
|
24062
|
-
const {
|
|
24063
|
-
resourcesConfig,
|
|
24064
|
-
urlPrefix = "",
|
|
24065
|
-
Layout: Layout2,
|
|
24066
|
-
history,
|
|
24067
|
-
globalStore,
|
|
24068
|
-
accessControlProvider,
|
|
24069
|
-
routerProvider: customRouterProvider
|
|
24070
|
-
} = props;
|
|
24058
|
+
const { resourcesConfig, urlPrefix = "", Layout: Layout2, history, globalStore, accessControlProvider } = props;
|
|
24071
24059
|
const msg = useMessage();
|
|
24072
24060
|
const notCustomResources = useMemo(() => {
|
|
24073
24061
|
return resourcesConfig.filter((c2) => !c2.isCustom);
|
|
@@ -24103,7 +24091,7 @@ const Dovetail = (props) => {
|
|
|
24103
24091
|
dataProvider: {
|
|
24104
24092
|
default: dataProvider(globalStore)
|
|
24105
24093
|
},
|
|
24106
|
-
routerProvider
|
|
24094
|
+
routerProvider,
|
|
24107
24095
|
liveProvider: liveProvider(globalStore),
|
|
24108
24096
|
notificationProvider,
|
|
24109
24097
|
options: {
|
package/dist/refine.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b5, bJ, A, ay, aA, ai, bl, aI, G, bz, bn, as, w, C, g, bN, al, aM, X, bP, $, a6, bY, aa, bo, bm, b$, ao, aS, t, ag, aX, b_, bK, a$, D, aF, b1, bZ, aG, aw, b8, bM, bO, bx, aj, a0, p, o, bQ, I, aP, av, q, bp, bS, an, aO, ab, ac, Q, ad, az, ah, aY, b0, T, by, b4, N, H, b, ax, M, b7, aU, aT, bR, bj, e, br, U, P, aK, s, Y, bi, aH, bW, bV, aD, aQ, n, am, aJ, v, aR, aE, c3, bL, b2, b9, ba, ak, R, _, a4, a3, b3, a1, bX, a2, a7, f, bE, bH, bD, bC, bF, bG, bA, bs, bv, bw, bu, bt, bq, bb, ap, aN, ae, k, be, i, aB, c2, m, bf, aC, l, au, aL, h, c1, ar, at, aW, aV, aq, S, a_, aZ, c0, bB, bk, bg, bh, V, bU, Z, W, bT, a5, a9, a8, c, bI, af, bc, x, J, d, O, L, K, r, a, z, y, B, E, b6, F, bd, u } from "./index-
|
|
1
|
+
import { b5, bJ, A, ay, aA, ai, bl, aI, G, bz, bn, as, w, C, g, bN, al, aM, X, bP, $, a6, bY, aa, bo, bm, b$, ao, aS, t, ag, aX, b_, bK, a$, D, aF, b1, bZ, aG, aw, b8, bM, bO, bx, aj, a0, p, o, bQ, I, aP, av, q, bp, bS, an, aO, ab, ac, Q, ad, az, ah, aY, b0, T, by, b4, N, H, b, ax, M, b7, aU, aT, bR, bj, e, br, U, P, aK, s, Y, bi, aH, bW, bV, aD, aQ, n, am, aJ, v, aR, aE, c3, bL, b2, b9, ba, ak, R, _, a4, a3, b3, a1, bX, a2, a7, f, bE, bH, bD, bC, bF, bG, bA, bs, bv, bw, bu, bt, bq, bb, ap, aN, ae, k, be, i, aB, c2, m, bf, aC, l, au, aL, h, c1, ar, at, aW, aV, aq, S, a_, aZ, c0, bB, bk, bg, bh, V, bU, Z, W, bT, a5, a9, a8, c, bI, af, bc, x, J, d, O, L, K, r, a, z, y, B, E, b6, F, bd, u } from "./index-93ddd906.js";
|
|
2
2
|
import "@cloudtower/eagle";
|
|
3
3
|
import "@refinedev/core";
|
|
4
4
|
import "@cloudtower/icons-react";
|
package/dist/refine.umd.cjs
CHANGED
|
@@ -10421,7 +10421,7 @@ var __publicField = (obj, key, value) => {
|
|
|
10421
10421
|
hideCreate: true
|
|
10422
10422
|
}), /* @__PURE__ */ jsxRuntimeExports.jsx(Table$1, {
|
|
10423
10423
|
tableKey: "cronjobs",
|
|
10424
|
-
loading:
|
|
10424
|
+
loading: isLoading,
|
|
10425
10425
|
data: dataSource || [],
|
|
10426
10426
|
columns,
|
|
10427
10427
|
rowKey: "id",
|
|
@@ -22991,12 +22991,11 @@ var __publicField = (obj, key, value) => {
|
|
|
22991
22991
|
})
|
|
22992
22992
|
});
|
|
22993
22993
|
}
|
|
22994
|
-
const
|
|
22994
|
+
const FormModal_fo4d8s = "";
|
|
22995
22995
|
const FullscreenModalStyle = "f1nltbcu";
|
|
22996
|
-
const
|
|
22997
|
-
const ErrorStyle = "e1tl3wq2";
|
|
22996
|
+
const ErrorStyle = "e1qgcca6";
|
|
22998
22997
|
function FormModal(props) {
|
|
22999
|
-
var _a
|
|
22998
|
+
var _a;
|
|
23000
22999
|
const {
|
|
23001
23000
|
resource: resourceFromProps,
|
|
23002
23001
|
id,
|
|
@@ -23017,12 +23016,12 @@ var __publicField = (obj, key, value) => {
|
|
|
23017
23016
|
});
|
|
23018
23017
|
const okText = i18n2.t(id ? "dovetail.save" : "dovetail.create");
|
|
23019
23018
|
const yamlFormProps = React.useMemo(() => {
|
|
23020
|
-
var _a2,
|
|
23019
|
+
var _a2, _b, _c;
|
|
23021
23020
|
return {
|
|
23022
23021
|
...props.formProps,
|
|
23023
23022
|
transformInitValues: (_a2 = config.formConfig) == null ? void 0 : _a2.transformInitValues,
|
|
23024
|
-
transformApplyValues: (
|
|
23025
|
-
initialValues: ((
|
|
23023
|
+
transformApplyValues: (_b = config.formConfig) == null ? void 0 : _b.transformApplyValues,
|
|
23024
|
+
initialValues: ((_c = props.formProps) == null ? void 0 : _c.initialValues) || (config == null ? void 0 : config.initValue),
|
|
23026
23025
|
id,
|
|
23027
23026
|
action: id ? "edit" : "create",
|
|
23028
23027
|
isShowLayout: false,
|
|
@@ -23075,10 +23074,10 @@ var __publicField = (obj, key, value) => {
|
|
|
23075
23074
|
return i18n2.t(id ? "dovetail.save_failed" : "dovetail.create_failed");
|
|
23076
23075
|
}
|
|
23077
23076
|
})();
|
|
23078
|
-
return /* @__PURE__ */ jsxRuntimeExports.
|
|
23077
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(eagle.Modal, {
|
|
23079
23078
|
className: FullscreenModalStyle,
|
|
23080
23079
|
width: "calc(100vw - 16px)",
|
|
23081
|
-
title
|
|
23080
|
+
title,
|
|
23082
23081
|
error: errorText ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
23083
23082
|
className: ErrorStyle,
|
|
23084
23083
|
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(iconsReact.ExclamationErrorCircleFill16RedIcon, {}), " ", errorText]
|
|
@@ -23090,10 +23089,7 @@ var __publicField = (obj, key, value) => {
|
|
|
23090
23089
|
onCancel,
|
|
23091
23090
|
destroyOnClose: true,
|
|
23092
23091
|
fullscreen: true,
|
|
23093
|
-
children:
|
|
23094
|
-
className: FormDescStyle,
|
|
23095
|
-
children: (_d = config.formConfig) == null ? void 0 : _d.formDesc
|
|
23096
|
-
}) : void 0, formEle]
|
|
23092
|
+
children: formEle
|
|
23097
23093
|
});
|
|
23098
23094
|
}
|
|
23099
23095
|
const RefineFormPage_aqoiay = "";
|
|
@@ -24065,15 +24061,7 @@ var __publicField = (obj, key, value) => {
|
|
|
24065
24061
|
};
|
|
24066
24062
|
const styles = "";
|
|
24067
24063
|
const Dovetail = (props) => {
|
|
24068
|
-
const {
|
|
24069
|
-
resourcesConfig,
|
|
24070
|
-
urlPrefix = "",
|
|
24071
|
-
Layout: Layout2,
|
|
24072
|
-
history,
|
|
24073
|
-
globalStore,
|
|
24074
|
-
accessControlProvider,
|
|
24075
|
-
routerProvider: customRouterProvider
|
|
24076
|
-
} = props;
|
|
24064
|
+
const { resourcesConfig, urlPrefix = "", Layout: Layout2, history, globalStore, accessControlProvider } = props;
|
|
24077
24065
|
const msg = eagle.useMessage();
|
|
24078
24066
|
const notCustomResources = React.useMemo(() => {
|
|
24079
24067
|
return resourcesConfig.filter((c2) => !c2.isCustom);
|
|
@@ -24109,7 +24097,7 @@ var __publicField = (obj, key, value) => {
|
|
|
24109
24097
|
dataProvider: {
|
|
24110
24098
|
default: k8sApiProvider.dataProvider(globalStore)
|
|
24111
24099
|
},
|
|
24112
|
-
routerProvider
|
|
24100
|
+
routerProvider,
|
|
24113
24101
|
liveProvider: k8sApiProvider.liveProvider(globalStore),
|
|
24114
24102
|
notificationProvider,
|
|
24115
24103
|
options: {
|
package/dist/style.css
CHANGED
|
@@ -1526,8 +1526,7 @@
|
|
|
1526
1526
|
|
|
1527
1527
|
.e1guqlj2{-webkit-flex:1;-ms-flex:1;flex:1;height:100%;margin-bottom:16px;}
|
|
1528
1528
|
.f1nltbcu.ant-modal.fullscreen .ant-modal-header{padding:60px 128px 32px 128px;}.f1nltbcu.ant-modal.fullscreen .ant-modal-body{padding:0 128px;}.f1nltbcu.ant-modal.fullscreen .ant-modal-footer{padding:15px 128px;}
|
|
1529
|
-
.
|
|
1530
|
-
.e1tl3wq2{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;}
|
|
1529
|
+
.e1qgcca6{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;}
|
|
1531
1530
|
.c1pvtlkp{width:100%;}
|
|
1532
1531
|
.wfg6u6g{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.wfg6u6g .usage-text{width:50px;text-align:right;}.wfg6u6g .usage-bar{height:12px;width:100px;position:relative;border-radius:2px;}.wfg6u6g .request-anchor{position:absolute;left:10%;top:-3px;height:18px;width:2px;background:#777;z-index:9;}.wfg6u6g .usage-fill-bar{position:absolute;left:0;top:0;height:100%;background:rgba(0,128,255,0.6);z-index:7;}.wfg6u6g .request-bar{position:absolute;left:0;top:0;height:100%;background:#d8deeb;z-index:5;}.wfg6u6g .request-to-limit-bar{position:absolute;right:0;top:0;height:100%;background:#d8deeb;z-index:5;}.wfg6u6g .request-to-limit-bar.no-limit{background:linear-gradient(to right,#d8deeb 50%,#d8deeb 50%);background-size:4px 100%;}.wfg6u6g .request-to-limit-bar.no-limit.exceed-request{background:linear-gradient(to right,#d8deeb 50%,rgba(0,128,255,0.6) 50%);background-size:4px 100%;}
|
|
1533
1532
|
.mdppgn0.ant-menu{background:#edf0f7;padding:8px;}.mdppgn0.ant-menu .ant-menu-item-selected{background:linear-gradient(90deg,#0080ff,#005ed1);border-radius:6px;box-shadow:0 1px 2px rgba(184,192,204,0.6);color:#fff;}.mdppgn0.ant-menu .ant-menu-item-selected a:hover{color:#fff;}.mdppgn0.ant-menu .ant-menu-item:not(.ant-menu-item-selected):hover{background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0.6));border-radius:6px;box-shadow:0 0 4px rgba(235,239,245,0.6),0 8px 16px rgba(129,138,153,0.18);}
|
package/lib/src/Dovetail.d.ts
CHANGED
|
@@ -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 {};
|
|
@@ -43,7 +43,5 @@ export type ResourceConfig<Model extends ResourceModel = ResourceModel> = {
|
|
|
43
43
|
formType?: FormType;
|
|
44
44
|
transformInitValues?: (values: Unstructured) => Unstructured;
|
|
45
45
|
transformApplyValues?: (values: Unstructured) => Unstructured;
|
|
46
|
-
formTitle?: string;
|
|
47
|
-
formDesc?: string;
|
|
48
46
|
};
|
|
49
47
|
};
|
package/package.json
CHANGED
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
|
-
}
|