@dovetail-v2/refine 0.0.37 → 0.0.39

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 (202) hide show
  1. package/dist/{MonacoYamlDiffEditor-1aeca078.js → MonacoYamlDiffEditor-a74de414.js} +1 -1
  2. package/dist/{index-1003469d.js → index-a278c0e3.js} +199 -113
  3. package/dist/refine.js +1 -1
  4. package/dist/refine.umd.cjs +196 -110
  5. package/dist/style.css +23 -21
  6. package/lib/src/App.js +91 -0
  7. package/lib/src/Dovetail.d.ts +1 -0
  8. package/lib/src/Dovetail.js +45 -0
  9. package/lib/src/components/Breadcrumb/index.js +20 -0
  10. package/lib/src/components/ConditionsTable/ConditionsTable.js +56 -0
  11. package/lib/src/components/ConditionsTable/index.js +1 -0
  12. package/lib/src/components/CreateButton/index.js +10 -0
  13. package/lib/src/components/CronJobDropdown/index.js +26 -0
  14. package/lib/src/components/CronjobJobsTable/index.js +49 -0
  15. package/lib/src/components/DeleteButton/index.js +13 -0
  16. package/lib/src/components/DeleteManyButton/index.js +16 -0
  17. package/lib/src/components/DrawerShow/DrawerShow.js +13 -0
  18. package/lib/src/components/DrawerShow/index.js +1 -0
  19. package/lib/src/components/EditButton/index.js +13 -0
  20. package/lib/src/components/EditField/index.js +47 -0
  21. package/lib/src/components/ErrorContent/index.d.ts +6 -0
  22. package/lib/src/components/ErrorContent/index.js +36 -0
  23. package/lib/src/components/EventsTable/EventsTable.js +59 -0
  24. package/lib/src/components/EventsTable/index.js +1 -0
  25. package/lib/src/components/Form/KeyValueListWidget.js +56 -0
  26. package/lib/src/components/Form/MetadataForm.js +9 -0
  27. package/lib/src/components/Form/NameInputWidget.js +50 -0
  28. package/lib/src/components/Form/NamespaceSelectWidget.js +21 -0
  29. package/lib/src/components/Form/index.js +4 -0
  30. package/lib/src/components/Form/widget.js +1 -0
  31. package/lib/src/components/FormErrorAlert/index.js +8 -0
  32. package/lib/src/components/FormLayout/index.js +21 -0
  33. package/lib/src/components/FormModal/index.js +51 -0
  34. package/lib/src/components/ImageNames/index.js +14 -0
  35. package/lib/src/components/IngressRulesComponent/index.js +11 -0
  36. package/lib/src/components/IngressRulesTable/IngressRulesTable.js +51 -0
  37. package/lib/src/components/IngressRulesTable/index.js +1 -0
  38. package/lib/src/components/K8sDropdown/index.js +31 -0
  39. package/lib/src/components/KeyValue/KeyValue.js +27 -0
  40. package/lib/src/components/KeyValue/index.js +1 -0
  41. package/lib/src/components/KeyValueData/index.js +50 -0
  42. package/lib/src/components/Layout/index.js +39 -0
  43. package/lib/src/components/ListPage/index.js +25 -0
  44. package/lib/src/components/Menu/index.js +36 -0
  45. package/lib/src/components/NamespacesFilter/index.js +34 -0
  46. package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.d.ts +1 -2
  47. package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.js +77 -0
  48. package/lib/src/components/NetworkPolicyRulesTable/index.js +1 -0
  49. package/lib/src/components/PageShow/PageShow.js +11 -0
  50. package/lib/src/components/PageShow/index.js +1 -0
  51. package/lib/src/components/PodContainersTable/PodContainersTable.js +78 -0
  52. package/lib/src/components/PodContainersTable/index.js +1 -0
  53. package/lib/src/components/PodLog/index.js +136 -0
  54. package/lib/src/components/ReferenceLink/index.js +17 -0
  55. package/lib/src/components/RefineForm/RefineFormContent.d.ts +10 -0
  56. package/lib/src/components/RefineForm/RefineFormModal.d.ts +8 -0
  57. package/lib/src/components/RefineForm/RefineFormPage.d.ts +7 -0
  58. package/lib/src/components/RefineForm/index.d.ts +3 -0
  59. package/lib/src/components/RefineForm/type.d.ts +20 -0
  60. package/lib/src/components/RefineForm/useRefineForm.d.ts +10 -0
  61. package/lib/src/components/ResourceCRUD/ResourceCRUD.d.ts +1 -1
  62. package/lib/src/components/ResourceCRUD/ResourceCRUD.js +15 -0
  63. package/lib/src/components/ResourceCRUD/create/index.js +13 -0
  64. package/lib/src/components/ResourceCRUD/index.js +4 -0
  65. package/lib/src/components/ResourceCRUD/list/index.js +19 -0
  66. package/lib/src/components/ResourceCRUD/show/index.js +6 -0
  67. package/lib/src/components/ResourceLink/index.js +21 -0
  68. package/lib/src/components/ResourceUsageBar/index.js +81 -0
  69. package/lib/src/components/Separator/index.js +11 -0
  70. package/lib/src/components/ShowContent/ShowContent.js +157 -0
  71. package/lib/src/components/ShowContent/fields.js +157 -0
  72. package/lib/src/components/ShowContent/index.js +2 -0
  73. package/lib/src/components/StateTag/StateTag.js +22 -0
  74. package/lib/src/components/StateTag/index.js +1 -0
  75. package/lib/src/components/Table/ErrorContent.js +36 -0
  76. package/lib/src/components/Table/TableToolBar.js +14 -0
  77. package/lib/src/components/Table/TableWidgets.js +28 -0
  78. package/lib/src/components/Table/index.js +69 -0
  79. package/lib/src/components/Tags/index.js +22 -0
  80. package/lib/src/components/Time/index.js +14 -0
  81. package/lib/src/components/WorkloadDropdown/index.js +24 -0
  82. package/lib/src/components/WorkloadPodsTable/WorkloadPodsTable.js +39 -0
  83. package/lib/src/components/WorkloadPodsTable/index.js +1 -0
  84. package/lib/src/components/WorkloadReplicas/index.js +50 -0
  85. package/lib/src/components/YamlEditor/MonacoYamlDiffEditor.js +34 -0
  86. package/lib/src/components/YamlEditor/MonacoYamlEditor.js +149 -0
  87. package/lib/src/components/YamlEditor/YamlEditorComponent.js +90 -0
  88. package/lib/src/components/YamlEditor/index.js +1 -0
  89. package/lib/src/components/YamlEditor/style.js +102 -0
  90. package/lib/src/components/YamlEditor/yaml.worker.js +1 -0
  91. package/lib/src/components/YamlForm/index.d.ts +0 -4
  92. package/lib/src/components/YamlForm/index.js +61 -0
  93. package/lib/src/components/index.js +38 -0
  94. package/lib/src/constants/index.js +2 -0
  95. package/lib/src/constants/k8s.js +203 -0
  96. package/lib/src/constants/state.js +15 -0
  97. package/lib/src/contexts/component.js +3 -0
  98. package/lib/src/contexts/configs.js +3 -0
  99. package/lib/src/contexts/global-store.js +3 -0
  100. package/lib/src/contexts/index.js +3 -0
  101. package/lib/src/hooks/index.js +7 -0
  102. package/lib/src/hooks/useDeleteModal/index.js +1 -0
  103. package/lib/src/hooks/useDeleteModal/useDeleteManyModal.js +31 -0
  104. package/lib/src/hooks/useDeleteModal/useDeleteModal.js +38 -0
  105. package/lib/src/hooks/useDownloadYAML.js +10 -0
  106. package/lib/src/hooks/useEagleForm.d.ts +1 -2
  107. package/lib/src/hooks/useEagleForm.js +177 -0
  108. package/lib/src/hooks/useEagleTable/columns.js +246 -0
  109. package/lib/src/hooks/useEagleTable/index.js +2 -0
  110. package/lib/src/hooks/useEagleTable/useEagleTable.js +63 -0
  111. package/lib/src/hooks/useEdit.js +19 -0
  112. package/lib/src/hooks/useGlobalStore.js +5 -0
  113. package/lib/src/hooks/useK8sYamlEditor.js +37 -0
  114. package/lib/src/hooks/useOpenForm.js +43 -0
  115. package/lib/src/hooks/useSchema.js +37 -0
  116. package/lib/src/hooks/useSubmitForm.js +42 -0
  117. package/lib/src/i18n.js +19 -0
  118. package/lib/src/index.js +13 -0
  119. package/lib/src/locales/en-US/dovetail.json +18 -0
  120. package/lib/src/locales/en-US/index.js +4 -0
  121. package/lib/src/locales/index.js +6 -0
  122. package/lib/src/locales/zh-CN/dovetail.json +91 -0
  123. package/lib/src/locales/zh-CN/index.js +4 -0
  124. package/lib/src/main.js +12 -0
  125. package/lib/src/models/cronjob-model.js +32 -0
  126. package/lib/src/models/daemonset-model.js +17 -0
  127. package/lib/src/models/deployment-model.js +17 -0
  128. package/lib/src/models/event-model.js +11 -0
  129. package/lib/src/models/index.js +14 -0
  130. package/lib/src/models/ingress-model.js +24 -0
  131. package/lib/src/models/job-model.js +56 -0
  132. package/lib/src/models/network-policy-model.js +10 -0
  133. package/lib/src/models/pod-metrics-model.js +34 -0
  134. package/lib/src/models/pod-model.js +78 -0
  135. package/lib/src/models/resource-model.js +34 -0
  136. package/lib/src/models/service-model.js +17 -0
  137. package/lib/src/models/statefulset-model.js +17 -0
  138. package/lib/src/models/types/index.js +1 -0
  139. package/lib/src/models/types/metric.js +1 -0
  140. package/lib/src/models/workload-base-model.js +22 -0
  141. package/lib/src/models/workload-model.js +51 -0
  142. package/lib/src/pages/configmaps/index.js +15 -0
  143. package/lib/src/pages/cronjobs/create/index.js +6 -0
  144. package/lib/src/pages/cronjobs/index.js +3 -0
  145. package/lib/src/pages/cronjobs/list/index.js +42 -0
  146. package/lib/src/pages/cronjobs/show/index.js +16 -0
  147. package/lib/src/pages/daemonsets/create/index.js +6 -0
  148. package/lib/src/pages/daemonsets/index.js +3 -0
  149. package/lib/src/pages/daemonsets/list/index.js +32 -0
  150. package/lib/src/pages/daemonsets/show/index.js +16 -0
  151. package/lib/src/pages/deployments/create/index.js +7 -0
  152. package/lib/src/pages/deployments/index.js +3 -0
  153. package/lib/src/pages/deployments/list/index.js +26 -0
  154. package/lib/src/pages/deployments/show/index.js +16 -0
  155. package/lib/src/pages/ingresses/index.js +26 -0
  156. package/lib/src/pages/jobs/index.js +34 -0
  157. package/lib/src/pages/networkPolicies/index.js +67 -0
  158. package/lib/src/pages/pods/create/index.js +6 -0
  159. package/lib/src/pages/pods/index.js +3 -0
  160. package/lib/src/pages/pods/list/index.js +81 -0
  161. package/lib/src/pages/pods/show/index.js +54 -0
  162. package/lib/src/pages/secrets/index.js +15 -0
  163. package/lib/src/pages/services/index.js +26 -0
  164. package/lib/src/pages/statefulsets/create/index.js +6 -0
  165. package/lib/src/pages/statefulsets/index.js +3 -0
  166. package/lib/src/pages/statefulsets/list/index.js +26 -0
  167. package/lib/src/pages/statefulsets/show/index.js +16 -0
  168. package/lib/src/plugins/index.js +3 -0
  169. package/lib/src/plugins/model-plugin.js +46 -0
  170. package/lib/src/plugins/relation-plugin.js +81 -0
  171. package/lib/src/plugins/type.js +1 -0
  172. package/lib/src/providers/index.js +1 -0
  173. package/lib/src/providers/router-provider/index.js +100 -0
  174. package/lib/src/types/index.js +1 -0
  175. package/lib/src/types/resource.d.ts +2 -0
  176. package/lib/src/types/resource.js +12 -0
  177. package/lib/src/utils/addId.js +8 -0
  178. package/lib/src/utils/download.js +9 -0
  179. package/lib/src/utils/error.js +53 -0
  180. package/lib/src/utils/form.js +9 -0
  181. package/lib/src/utils/k8s.js +6 -0
  182. package/lib/src/utils/labels.js +15 -0
  183. package/lib/src/utils/match-selector.js +12 -0
  184. package/lib/src/utils/openapi.js +33 -0
  185. package/lib/src/utils/schema.js +117 -0
  186. package/lib/src/utils/selector.js +12 -0
  187. package/lib/src/utils/string.js +6 -0
  188. package/lib/src/utils/time.js +46 -0
  189. package/lib/src/utils/unit.js +69 -0
  190. package/lib/src/utils/yaml.js +44 -0
  191. package/lib/vite.config.js +60 -0
  192. package/package.json +3 -3
  193. package/lib/src/components/ModalContextProvider/index.d.ts +0 -12
  194. package/lib/src/hooks/useModal.d.ts +0 -0
  195. package/lib/src/model/cronjob-model.d.ts +0 -9
  196. package/lib/src/model/index.d.ts +0 -6
  197. package/lib/src/model/job-model.d.ts +0 -10
  198. package/lib/src/model/pod-metrics-model.d.ts +0 -7
  199. package/lib/src/model/pod-model.d.ts +0 -15
  200. package/lib/src/model/resource-model.d.ts +0 -17
  201. package/lib/src/model/workload-model.d.ts +0 -17
  202. package/lib/src/types/metric.d.ts +0 -25
@@ -1267,7 +1267,7 @@ var __publicField = (obj, key, value) => {
1267
1267
  const cancel = "取消";
1268
1268
  const create = "创建";
1269
1269
  const delete_resource = "删除 {{resource}}";
1270
- const confirm_delete_text = "确认删除 {{kind}} {{target}} 吗?";
1270
+ const confirm_delete_text = "确认删除 {{kind}} <0>{{target}}</0> 吗?";
1271
1271
  const delete_tip = "该操作无法被撤回。";
1272
1272
  const edit = "编辑";
1273
1273
  const namespace = "名字空间";
@@ -8040,10 +8040,11 @@ var __publicField = (obj, key, value) => {
8040
8040
  };
8041
8041
  var cx_default = cx;
8042
8042
  const ConfigsContext = React.createContext({});
8043
- const useDeleteModal_1qwlq4u = "";
8043
+ const useDeleteModal_1kqb6q3 = "";
8044
8044
  const TextStyle = "t1vq0ett";
8045
8045
  const TipStyle = "t139onst";
8046
- const ModalStyle = "m18lzor8";
8046
+ const NameStyle$1 = "n18lzor8";
8047
+ const ModalStyle = "mvvgkkc";
8047
8048
  const useDeleteModal = (resource) => {
8048
8049
  const configs = React.useContext(ConfigsContext);
8049
8050
  const config = configs[resource];
@@ -8071,12 +8072,17 @@ var __publicField = (obj, key, value) => {
8071
8072
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
8072
8073
  children: [/* @__PURE__ */ jsxRuntimeExports.jsx("div", {
8073
8074
  className: cx_default(eagle.Typo.Label.l2_regular, TextStyle),
8074
- children: t2("dovetail.confirm_delete_text", {
8075
- target: id,
8076
- kind: config.kind,
8077
- interpolation: {
8078
- escapeValue: false
8079
- }
8075
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Trans, {
8076
+ i18nKey: "dovetail.confirm_delete_text",
8077
+ tOptions: {
8078
+ target: id,
8079
+ kind: config.kind
8080
+ },
8081
+ shouldUnescape: true,
8082
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(eagle.Tag, {
8083
+ color: "gray",
8084
+ className: NameStyle$1
8085
+ })
8080
8086
  })
8081
8087
  }), /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
8082
8088
  className: cx_default(eagle.Typo.Label.l4_regular, TipStyle),
@@ -8523,32 +8529,54 @@ var __publicField = (obj, key, value) => {
8523
8529
  return o(prop);
8524
8530
  }
8525
8531
  }) : styled;
8526
- const index_1kmu85y = "";
8527
- const ErrorWrapper$1 = /* @__PURE__ */ styled_default("div")({
8532
+ const index_1rdsv5g = "";
8533
+ const ErrorWrapper = /* @__PURE__ */ styled_default("div")({
8528
8534
  name: "ErrorWrapper",
8529
8535
  class: "egn3dbn",
8530
8536
  propsAsIs: false
8531
8537
  });
8532
- const ErrorContent$1 = /* @__PURE__ */ styled_default("div")({
8538
+ const ErrorContent = /* @__PURE__ */ styled_default("div")({
8533
8539
  name: "ErrorContent",
8534
8540
  class: "e136jgy8",
8535
8541
  propsAsIs: false
8536
8542
  });
8537
- const WidgetErrorContent$1 = (props) => {
8543
+ var ErrorContentType = /* @__PURE__ */ ((ErrorContentType2) => {
8544
+ ErrorContentType2["List"] = "list";
8545
+ ErrorContentType2["Card"] = "card";
8546
+ ErrorContentType2["Widget"] = "widget";
8547
+ return ErrorContentType2;
8548
+ })(ErrorContentType || {});
8549
+ const WidgetErrorContent = (props) => {
8538
8550
  const {
8539
8551
  refetch,
8540
- errorText
8552
+ errorText,
8553
+ type: type2 = "list"
8554
+ /* List */
8541
8555
  } = props;
8542
8556
  const kit = React.useContext(eagle.kitContext);
8543
8557
  const {
8544
8558
  t: t2
8545
8559
  } = useTranslation();
8546
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ErrorWrapper$1, {
8560
+ const fontMap = {
8561
+ [
8562
+ "widget"
8563
+ /* Widget */
8564
+ ]: eagle.Typo.Label.l1_regular_title,
8565
+ [
8566
+ "card"
8567
+ /* Card */
8568
+ ]: eagle.Typo.Label.l1_bold,
8569
+ [
8570
+ "list"
8571
+ /* List */
8572
+ ]: eagle.Typo.Display.d2_bold_title
8573
+ };
8574
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(ErrorWrapper, {
8547
8575
  className: props.className,
8548
8576
  style: props.style,
8549
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs(ErrorContent$1, {
8577
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(ErrorContent, {
8550
8578
  children: [/* @__PURE__ */ jsxRuntimeExports.jsx("p", {
8551
- className: cx_default(eagle.Typo.Label.l1_regular_title, "title"),
8579
+ className: cx_default(fontMap[type2], "title", type2),
8552
8580
  children: errorText || t2("dovetail.obtain_data_error")
8553
8581
  }), !refetch ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(kit.button, {
8554
8582
  size: "small",
@@ -8562,36 +8590,6 @@ var __publicField = (obj, key, value) => {
8562
8590
  })
8563
8591
  });
8564
8592
  };
8565
- const ErrorContent_1t51xnx = "";
8566
- const ErrorWrapper = "eckm4od";
8567
- const ErrorContent = "e1hl982n";
8568
- const WidgetErrorContent = (props) => {
8569
- const {
8570
- refetch
8571
- } = props;
8572
- const kit = React.useContext(eagle.kitContext);
8573
- const {
8574
- t: t2
8575
- } = useTranslation();
8576
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
8577
- className: ErrorWrapper,
8578
- style: props.style,
8579
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
8580
- className: ErrorContent,
8581
- children: [/* @__PURE__ */ jsxRuntimeExports.jsx("p", {
8582
- className: cx_default(eagle.Typo.Label.l1_regular_title, "title"),
8583
- children: props.errorText || t2("dovetail.obtain_data_error")
8584
- }), refetch ? /* @__PURE__ */ jsxRuntimeExports.jsx(kit.button, {
8585
- type: "ordinary",
8586
- onClick: (e2) => {
8587
- e2.stopPropagation();
8588
- refetch == null ? void 0 : refetch();
8589
- },
8590
- children: t2("dovetail.retry")
8591
- }) : null]
8592
- })
8593
- });
8594
- };
8595
8593
  const TableWidgets_ny30pi = "";
8596
8594
  const AuxiliaryLine = /* @__PURE__ */ styled_default("div")({
8597
8595
  name: "AuxiliaryLine",
@@ -8715,10 +8713,11 @@ var __publicField = (obj, key, value) => {
8715
8713
  ];
8716
8714
  if (datas.length === 0) {
8717
8715
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
8718
- WidgetErrorContent$1,
8716
+ WidgetErrorContent,
8719
8717
  {
8720
8718
  errorText: t2("dovetail.no_resource", { kind: ` ${t2("dovetail.pod_selector")}` }),
8721
- style: { padding: "15px 0" }
8719
+ style: { padding: "15px 0" },
8720
+ type: ErrorContentType.Card
8722
8721
  }
8723
8722
  );
8724
8723
  }
@@ -8785,7 +8784,14 @@ var __publicField = (obj, key, value) => {
8785
8784
  id: port2.name || ""
8786
8785
  }));
8787
8786
  if ((ports == null ? void 0 : ports.length) === 0) {
8788
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, { errorText: t2("dovetail.no_resource", { kind: t2("dovetail.port") }), style: { padding: "15px 0" } });
8787
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
8788
+ WidgetErrorContent,
8789
+ {
8790
+ errorText: t2("dovetail.no_resource", { kind: t2("dovetail.port") }),
8791
+ style: { padding: "15px 0" },
8792
+ type: ErrorContentType.Card
8793
+ }
8794
+ );
8789
8795
  }
8790
8796
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
8791
8797
  Table$1,
@@ -9938,7 +9944,7 @@ var __publicField = (obj, key, value) => {
9938
9944
  children: content || "-"
9939
9945
  });
9940
9946
  };
9941
- const index_1ce2deq = "";
9947
+ const index_1wlqq0y = "";
9942
9948
  const TagWrapper = "t13a6vox";
9943
9949
  const TagStyle = "t12ikbmp";
9944
9950
  const Tags = (props) => {
@@ -10050,7 +10056,7 @@ var __publicField = (obj, key, value) => {
10050
10056
  })(relativeTime$1);
10051
10057
  var relativeTimeExports = relativeTime$1.exports;
10052
10058
  const relativeTime = /* @__PURE__ */ getDefaultExportFromCjs(relativeTimeExports);
10053
- const index_fmx695 = "";
10059
+ const index_1779z85 = "";
10054
10060
  dayjs.extend(relativeTime, {
10055
10061
  thresholds: [{
10056
10062
  l: "s",
@@ -10166,7 +10172,14 @@ var __publicField = (obj, key, value) => {
10166
10172
  }
10167
10173
  ];
10168
10174
  if (conditionsWithId.length === 0) {
10169
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, { errorText: t2("dovetail.no_resource", { kind: t2("dovetail.condition") }), style: { padding: "15px 0" } });
10175
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
10176
+ WidgetErrorContent,
10177
+ {
10178
+ errorText: t2("dovetail.no_resource", { kind: t2("dovetail.condition") }),
10179
+ style: { padding: "15px 0" },
10180
+ type: ErrorContentType.Card
10181
+ }
10182
+ );
10170
10183
  }
10171
10184
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
10172
10185
  Table$1,
@@ -10384,7 +10397,8 @@ var __publicField = (obj, key, value) => {
10384
10397
  const component = React.useContext(ComponentContext);
10385
10398
  const Table$1 = component.Table || Table;
10386
10399
  const {
10387
- data: data2
10400
+ data: data2,
10401
+ isLoading
10388
10402
  } = core.useList({
10389
10403
  resource: "jobs",
10390
10404
  meta: {
@@ -10398,6 +10412,14 @@ var __publicField = (obj, key, value) => {
10398
10412
  });
10399
10413
  }, [data2 == null ? void 0 : data2.data, owner]);
10400
10414
  const columns = [NameColumnRenderer(i18n2, "jobs"), StateDisplayColumnRenderer(i18n2), NameSpaceColumnRenderer(i18n2), WorkloadImageColumnRenderer(i18n2), CompletionsCountColumnRenderer(i18n2), DurationColumnRenderer(i18n2), AgeColumnRenderer(i18n2)];
10415
+ if (!(dataSource == null ? void 0 : dataSource.length) && !isLoading) {
10416
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
10417
+ errorText: i18n2.t("dovetail.no_resource", {
10418
+ kind: " Job"
10419
+ }),
10420
+ type: ErrorContentType.Card
10421
+ });
10422
+ }
10401
10423
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(kit.space, {
10402
10424
  direction: "vertical",
10403
10425
  className: WrapperStyle$5,
@@ -10406,7 +10428,7 @@ var __publicField = (obj, key, value) => {
10406
10428
  hideCreate: true
10407
10429
  }), /* @__PURE__ */ jsxRuntimeExports.jsx(Table$1, {
10408
10430
  tableKey: "cronjobs",
10409
- loading: !dataSource,
10431
+ loading: isLoading,
10410
10432
  data: dataSource || [],
10411
10433
  columns,
10412
10434
  rowKey: "id",
@@ -10474,7 +10496,7 @@ var __publicField = (obj, key, value) => {
10474
10496
  }, [data2 == null ? void 0 : data2.data, parsed]);
10475
10497
  if (!(dataSource == null ? void 0 : dataSource.length) && !isLoading) {
10476
10498
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
10477
- WidgetErrorContent$1,
10499
+ WidgetErrorContent,
10478
10500
  {
10479
10501
  errorText: i18n2.t("dovetail.no_resource", { kind: i18n2.t("dovetail.event") })
10480
10502
  }
@@ -10597,7 +10619,14 @@ var __publicField = (obj, key, value) => {
10597
10619
  }
10598
10620
  ];
10599
10621
  if ((rows == null ? void 0 : rows.length) === 0) {
10600
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, { errorText: t2("dovetail.no_resource", { kind: t2("dovetail.rule") }), style: { padding: "15px 0" } });
10622
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
10623
+ WidgetErrorContent,
10624
+ {
10625
+ errorText: t2("dovetail.no_resource", { kind: t2("dovetail.rule") }),
10626
+ style: { padding: "15px 0" },
10627
+ type: ErrorContentType.Card
10628
+ }
10629
+ );
10601
10630
  }
10602
10631
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
10603
10632
  Table$1,
@@ -10615,7 +10644,7 @@ var __publicField = (obj, key, value) => {
10615
10644
  }
10616
10645
  );
10617
10646
  };
10618
- const KeyValue_1vkf5y2 = "";
10647
+ const KeyValue_1ebh6uj = "";
10619
10648
  const ContentBlockStyle = "c8jy7dc";
10620
10649
  const KeyStyle = "k2sddxl";
10621
10650
  const ValueStyle$2 = "v16vicsr";
@@ -10639,8 +10668,9 @@ var __publicField = (obj, key, value) => {
10639
10668
  })]
10640
10669
  }, key2));
10641
10670
  if (!result.length) {
10642
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, {
10643
- errorText: empty2 || t2("dovetail.empty")
10671
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
10672
+ errorText: empty2 || t2("dovetail.empty"),
10673
+ type: ErrorContentType.Card
10644
10674
  });
10645
10675
  }
10646
10676
  return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, {
@@ -10798,7 +10828,7 @@ var __publicField = (obj, key, value) => {
10798
10828
  return /* @__PURE__ */ jsxRuntimeExports.jsx(kit.tabsTabPane, { tab: tab.title, children: tab.children }, tab.title);
10799
10829
  }) });
10800
10830
  }
10801
- const ShowContent_1947rqs = "";
10831
+ const ShowContent_fjwscu = "";
10802
10832
  const ShowContentWrapperStyle = "s9agep2";
10803
10833
  const BackButton = "bo89gfi";
10804
10834
  const ToolBarWrapper = "t1ohe42f";
@@ -10979,7 +11009,11 @@ var __publicField = (obj, key, value) => {
10979
11009
  children: [/* @__PURE__ */ jsxRuntimeExports.jsx(FieldContainer, {
10980
11010
  gutter: [24, 8],
10981
11011
  children: renderFields(area.fields, area.type, !!group.title)
10982
- }, index), index !== group.areas.length - 1 ? /* @__PURE__ */ jsxRuntimeExports.jsx(kit.divider, {}) : null]
11012
+ }, index), index !== group.areas.length - 1 ? /* @__PURE__ */ jsxRuntimeExports.jsx(kit.divider, {
11013
+ style: {
11014
+ margin: "8px 0 12px 0"
11015
+ }
11016
+ }) : null]
10983
11017
  }))
10984
11018
  }, group.title);
10985
11019
  })
@@ -10997,20 +11031,37 @@ var __publicField = (obj, key, value) => {
10997
11031
  }), tabs]
10998
11032
  });
10999
11033
  };
11034
+ const KeyValueSecret_1nzeh2v = "";
11035
+ const ButtonStyle = "b11tbgf7";
11000
11036
  function KeyValueSecret(props) {
11001
- const { data: data2 = {} } = props;
11002
- const { i18n: i18n2 } = useTranslation();
11037
+ const {
11038
+ data: data2 = {}
11039
+ } = props;
11040
+ const {
11041
+ i18n: i18n2
11042
+ } = useTranslation();
11003
11043
  const [hideSecret, setHideSecret] = React.useState(true);
11004
- const toggleButton = /* @__PURE__ */ jsxRuntimeExports.jsx(
11005
- eagle.Button,
11006
- {
11007
- type: "quiet",
11008
- prefixIcon: /* @__PURE__ */ jsxRuntimeExports.jsx(eagle.Icon, { src: hideSecret ? iconsReact.ViewEye16GrayIcon : iconsReact.EntityFilterIgnoreGradient16GrayIcon }),
11009
- onClick: () => setHideSecret((v) => !v),
11010
- children: hideSecret ? i18n2.t("dovetail.show_data_value") : i18n2.t("dovetail.hide_data_value")
11011
- }
11012
- );
11013
- return /* @__PURE__ */ jsxRuntimeExports.jsx(ShowGroupComponent, { title: i18n2.t("dovetail.data"), operationEle: toggleButton, children: /* @__PURE__ */ jsxRuntimeExports.jsx(KeyValue, { data: data2, hideSecret, empty: i18n2.t("dovetail.no_resource", { kind: i18n2.t("dovetail.data") }) }) });
11044
+ const toggleButton = /* @__PURE__ */ jsxRuntimeExports.jsx(eagle.Button, {
11045
+ type: "quiet",
11046
+ prefixIcon: /* @__PURE__ */ jsxRuntimeExports.jsx(eagle.Icon, {
11047
+ src: hideSecret ? iconsReact.ViewEye16GradientGrayIcon : iconsReact.EntityFilterIgnoreGradient16GrayIcon
11048
+ }),
11049
+ onClick: () => setHideSecret((v) => !v),
11050
+ className: ButtonStyle,
11051
+ size: "small",
11052
+ children: hideSecret ? i18n2.t("dovetail.show_data_value") : i18n2.t("dovetail.hide_data_value")
11053
+ });
11054
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(ShowGroupComponent, {
11055
+ title: i18n2.t("dovetail.data"),
11056
+ operationEle: toggleButton,
11057
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(KeyValue, {
11058
+ data: data2,
11059
+ hideSecret,
11060
+ empty: i18n2.t("dovetail.no_resource", {
11061
+ kind: i18n2.t("dovetail.data")
11062
+ })
11063
+ })
11064
+ });
11014
11065
  }
11015
11066
  const WorkloadPodsTable_1giuese = "";
11016
11067
  const WorkloadPodsTable = ({
@@ -11050,13 +11101,14 @@ var __publicField = (obj, key, value) => {
11050
11101
  sortable: true
11051
11102
  }, NodeNameColumnRenderer(i18n2), WorkloadImageColumnRenderer(i18n2), PodContainersNumColumnRenderer(i18n2), RestartCountColumnRenderer(i18n2), AgeColumnRenderer(i18n2)];
11052
11103
  if ((dataSource == null ? void 0 : dataSource.length) === 0) {
11053
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, {
11104
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
11054
11105
  errorText: i18n2.t("dovetail.no_resource", {
11055
11106
  kind: ` ${i18n2.t("dovetail.pod")}`
11056
11107
  }),
11057
11108
  style: {
11058
11109
  padding: "15px 0"
11059
- }
11110
+ },
11111
+ type: ErrorContentType.Card
11060
11112
  });
11061
11113
  }
11062
11114
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(kit.space, {
@@ -17433,7 +17485,7 @@ var __publicField = (obj, key, value) => {
17433
17485
  })]
17434
17486
  }), /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
17435
17487
  className: ContentStyle$1,
17436
- children: logType === "previous" && !logs.length ? /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, {
17488
+ children: logType === "previous" && !logs.length ? /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
17437
17489
  style: {
17438
17490
  height: "100%"
17439
17491
  },
@@ -17659,13 +17711,14 @@ var __publicField = (obj, key, value) => {
17659
17711
  t: t2
17660
17712
  } = useTranslation();
17661
17713
  if (!ingressOrEgress) {
17662
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, {
17714
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
17663
17715
  errorText: t2("dovetail.no_resource", {
17664
17716
  kind: kind || t2("dovetail.rule")
17665
17717
  }),
17666
17718
  style: {
17667
17719
  padding: "15px 0"
17668
- }
17720
+ },
17721
+ type: ErrorContentType.Card
17669
17722
  });
17670
17723
  }
17671
17724
  return /* @__PURE__ */ jsxRuntimeExports.jsx(MonacoYamlEditor$1, {
@@ -17746,7 +17799,14 @@ var __publicField = (obj, key, value) => {
17746
17799
  [containerStatuses, initContainerStatuses]
17747
17800
  );
17748
17801
  if (dataSource.length === 0) {
17749
- return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, { errorText: i18n2.t("dovetail.no_resource", { kind: i18n2.t("dovetail.container") }), style: { padding: "15px 0" } });
17802
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
17803
+ WidgetErrorContent,
17804
+ {
17805
+ errorText: i18n2.t("dovetail.no_resource", { kind: i18n2.t("dovetail.container") }),
17806
+ style: { padding: "15px 0" },
17807
+ type: ErrorContentType.Card
17808
+ }
17809
+ );
17750
17810
  }
17751
17811
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
17752
17812
  Table$1,
@@ -18203,16 +18263,17 @@ var __publicField = (obj, key, value) => {
18203
18263
  return void 0;
18204
18264
  }
18205
18265
  }
18206
- const index_ccf0kl = "";
18266
+ const index_1uuzt53 = "";
18207
18267
  const SelectStyle = "sj0ggy";
18208
- const SearchInputStyle = "s1eo8uqs";
18209
- const SelectContentStyle = "s64gojc";
18210
- const TokenStyle = "t16fqgtu";
18211
- const CountTokenStyle = "cgaujbg";
18212
- const SelectOptionGroupStyle = "s1vbd54v";
18213
- const LabelWrapperStyle = "lxzmtrx";
18214
- const AllNamespaceOptionStyle = "aqrghwd";
18215
- const OptionStyle = "opi7z1z";
18268
+ const DropdownStyle = "d1eo8uqs";
18269
+ const SearchInputStyle = "s64gojc";
18270
+ const SelectContentStyle = "s16fqgtu";
18271
+ const TokenStyle = "tgaujbg";
18272
+ const CountTokenStyle = "c1vbd54v";
18273
+ const SelectOptionGroupStyle = "sxzmtrx";
18274
+ const LabelWrapperStyle = "lqrghwd";
18275
+ const AllNamespaceOptionStyle = "api7z1z";
18276
+ const OptionStyle = "o38b23x";
18216
18277
  const NS_STORE_KEY = "namespace-filter";
18217
18278
  const ALL_NS = "_all";
18218
18279
  const useNamespacesFilter = () => {
@@ -18247,9 +18308,10 @@ var __publicField = (obj, key, value) => {
18247
18308
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(kit.select, {
18248
18309
  loading: isLoading,
18249
18310
  style: {
18250
- width: 256
18311
+ width: 278
18251
18312
  },
18252
18313
  className: cx_default(SelectStyle, className),
18314
+ dropdownClassName: DropdownStyle,
18253
18315
  searchValue: search,
18254
18316
  virtual: false,
18255
18317
  input: {
@@ -18283,12 +18345,13 @@ var __publicField = (obj, key, value) => {
18283
18345
  const isAll = value22 === ALL_NS;
18284
18346
  return isAll ? /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
18285
18347
  style: {
18286
- marginLeft: 12
18348
+ marginLeft: 8
18287
18349
  },
18288
18350
  children: label2
18289
18351
  }) : /* @__PURE__ */ jsxRuntimeExports.jsx(kit.token, {
18290
18352
  className: cx_default(isCountToken ? CountTokenStyle : TokenStyle, isCountToken ? "" : "closable-token"),
18291
18353
  closable,
18354
+ size: "medium",
18292
18355
  onClose,
18293
18356
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(kit.overflowTooltip, {
18294
18357
  content: isCountToken ? label2.replace(/[\s\.]/g, "") : label2
@@ -18358,7 +18421,9 @@ var __publicField = (obj, key, value) => {
18358
18421
  }), /* @__PURE__ */ jsxRuntimeExports.jsx(eagle.Divider, {
18359
18422
  style: {
18360
18423
  margin: 0,
18361
- minHeight: 1
18424
+ minHeight: 1,
18425
+ marginRight: 24,
18426
+ width: "calc(100% - 24px)"
18362
18427
  }
18363
18428
  }), /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
18364
18429
  className: ListContentStyle,
@@ -18366,7 +18431,7 @@ var __publicField = (obj, key, value) => {
18366
18431
  className: NamespaceFilterStyle
18367
18432
  }), /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
18368
18433
  className: TableStyle,
18369
- children: !(tableProps.data.length || tableProps.loading) ? /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, {
18434
+ children: !(tableProps.data.length || tableProps.loading) ? /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
18370
18435
  errorText: tableProps.empty || t2("dovetail.no_resource", {
18371
18436
  kind: ` ${config.kind}`
18372
18437
  })
@@ -21658,6 +21723,11 @@ var __publicField = (obj, key, value) => {
21658
21723
  meta: {}
21659
21724
  });
21660
21725
  }
21726
+ if (action === "edit" && c2.key === "name") {
21727
+ ele = /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
21728
+ children: value2
21729
+ });
21730
+ }
21661
21731
  return /* @__PURE__ */ jsxRuntimeExports.jsx(eagle.Form.Item, {
21662
21732
  label: c2.label,
21663
21733
  labelCol: {
@@ -22220,7 +22290,7 @@ var __publicField = (obj, key, value) => {
22220
22290
  message: i18n2.t(
22221
22291
  id ? "dovetail.edit_resource_success" : "dovetail.create_success_toast",
22222
22292
  {
22223
- resource: config.name,
22293
+ kind: formValue.kind,
22224
22294
  name: formValue.metadata.name,
22225
22295
  interpolation: { escapeValue: false }
22226
22296
  }
@@ -22920,7 +22990,7 @@ var __publicField = (obj, key, value) => {
22920
22990
  isEdit: action === "edit"
22921
22991
  })
22922
22992
  })]
22923
- }) : /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent$1, {
22993
+ }) : /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
22924
22994
  errorText: t2("dovetail.fetch_schema_fail"),
22925
22995
  refetch: fetchSchema
22926
22996
  });
@@ -22928,11 +22998,12 @@ var __publicField = (obj, key, value) => {
22928
22998
  })
22929
22999
  });
22930
23000
  }
22931
- const FormModal_fo4d8s = "";
23001
+ const FormModal_aey716 = "";
22932
23002
  const FullscreenModalStyle = "f1nltbcu";
22933
- const ErrorStyle = "e1qgcca6";
23003
+ const FormDescStyle = "f1qgcca6";
23004
+ const ErrorStyle = "e1tl3wq2";
22934
23005
  function FormModal(props) {
22935
- var _a;
23006
+ var _a, _b, _c, _d;
22936
23007
  const {
22937
23008
  resource: resourceFromProps,
22938
23009
  id,
@@ -22953,12 +23024,12 @@ var __publicField = (obj, key, value) => {
22953
23024
  });
22954
23025
  const okText = i18n2.t(id ? "dovetail.save" : "dovetail.create");
22955
23026
  const yamlFormProps = React.useMemo(() => {
22956
- var _a2, _b, _c;
23027
+ var _a2, _b2, _c2;
22957
23028
  return {
22958
23029
  ...props.formProps,
22959
23030
  transformInitValues: (_a2 = config.formConfig) == null ? void 0 : _a2.transformInitValues,
22960
- transformApplyValues: (_b = config.formConfig) == null ? void 0 : _b.transformApplyValues,
22961
- initialValues: ((_c = props.formProps) == null ? void 0 : _c.initialValues) || (config == null ? void 0 : config.initValue),
23031
+ transformApplyValues: (_b2 = config.formConfig) == null ? void 0 : _b2.transformApplyValues,
23032
+ initialValues: ((_c2 = props.formProps) == null ? void 0 : _c2.initialValues) || (config == null ? void 0 : config.initValue),
22962
23033
  id,
22963
23034
  action: id ? "edit" : "create",
22964
23035
  isShowLayout: false,
@@ -22978,7 +23049,8 @@ var __publicField = (obj, key, value) => {
22978
23049
  refineProps: {
22979
23050
  onMutationSuccess: () => {
22980
23051
  eagle.popModal();
22981
- }
23052
+ },
23053
+ redirect: false
22982
23054
  }
22983
23055
  });
22984
23056
  const isYamlForm = !((_a = config.formConfig) == null ? void 0 : _a.fields);
@@ -23010,10 +23082,10 @@ var __publicField = (obj, key, value) => {
23010
23082
  return i18n2.t(id ? "dovetail.save_failed" : "dovetail.create_failed");
23011
23083
  }
23012
23084
  })();
23013
- return /* @__PURE__ */ jsxRuntimeExports.jsx(eagle.Modal, {
23085
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(eagle.Modal, {
23014
23086
  className: FullscreenModalStyle,
23015
23087
  width: "calc(100vw - 16px)",
23016
- title,
23088
+ title: ((_b = config.formConfig) == null ? void 0 : _b.formTitle) || title,
23017
23089
  error: errorText ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
23018
23090
  className: ErrorStyle,
23019
23091
  children: [/* @__PURE__ */ jsxRuntimeExports.jsx(iconsReact.ExclamationErrorCircleFill16RedIcon, {}), " ", errorText]
@@ -23025,7 +23097,10 @@ var __publicField = (obj, key, value) => {
23025
23097
  onCancel,
23026
23098
  destroyOnClose: true,
23027
23099
  fullscreen: true,
23028
- children: formEle
23100
+ children: [((_c = config.formConfig) == null ? void 0 : _c.formDesc) ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
23101
+ className: FormDescStyle,
23102
+ children: (_d = config.formConfig) == null ? void 0 : _d.formDesc
23103
+ }) : void 0, formEle]
23029
23104
  });
23030
23105
  }
23031
23106
  const RefineFormPage_aqoiay = "";
@@ -23365,7 +23440,7 @@ var __publicField = (obj, key, value) => {
23365
23440
  const divider = " > ";
23366
23441
  let pre = /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: r2.fullPath });
23367
23442
  if (r2.fullPath.includes("http") && !r2.fullPath.includes("*")) {
23368
- pre = /* @__PURE__ */ jsxRuntimeExports.jsx(kit.Link, { href: r2.fullPath, children: r2.fullPath });
23443
+ pre = /* @__PURE__ */ jsxRuntimeExports.jsx(kit.Link, { href: r2.fullPath, target: "_blank", children: r2.fullPath });
23369
23444
  }
23370
23445
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
23371
23446
  kit.overflowTooltip,
@@ -23669,7 +23744,8 @@ var __publicField = (obj, key, value) => {
23669
23744
  children: i18n2.t("dovetail.in_cluster_ip_desc")
23670
23745
  }), /* @__PURE__ */ jsxRuntimeExports.jsx(eagle.Divider, {
23671
23746
  style: {
23672
- margin: "6px 0"
23747
+ margin: "6px 0",
23748
+ background: "rgba(107, 128, 167, 0.60)"
23673
23749
  }
23674
23750
  }), /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
23675
23751
  children: i18n2.t("dovetail.in_cluster_external_name_desc")
@@ -23716,7 +23792,9 @@ var __publicField = (obj, key, value) => {
23716
23792
  i18nKey: "dovetail.out_cluster_lb_desc"
23717
23793
  })
23718
23794
  }), /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
23719
- children: i18n2.t("dovetail.out_external_name_desc")
23795
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Trans, {
23796
+ i18nKey: "dovetail.out_external_name_desc"
23797
+ })
23720
23798
  })]
23721
23799
  }),
23722
23800
  children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
@@ -23994,7 +24072,15 @@ var __publicField = (obj, key, value) => {
23994
24072
  };
23995
24073
  const styles = "";
23996
24074
  const Dovetail = (props) => {
23997
- const { resourcesConfig, urlPrefix = "", Layout: Layout2, history, globalStore, accessControlProvider } = props;
24075
+ const {
24076
+ resourcesConfig,
24077
+ urlPrefix = "",
24078
+ Layout: Layout2,
24079
+ history,
24080
+ globalStore,
24081
+ accessControlProvider,
24082
+ routerProvider: customRouterProvider
24083
+ } = props;
23998
24084
  const msg = eagle.useMessage();
23999
24085
  const notCustomResources = React.useMemo(() => {
24000
24086
  return resourcesConfig.filter((c2) => !c2.isCustom);
@@ -24030,7 +24116,7 @@ var __publicField = (obj, key, value) => {
24030
24116
  dataProvider: {
24031
24117
  default: k8sApiProvider.dataProvider(globalStore)
24032
24118
  },
24033
- routerProvider,
24119
+ routerProvider: customRouterProvider || routerProvider,
24034
24120
  liveProvider: k8sApiProvider.liveProvider(globalStore),
24035
24121
  notificationProvider,
24036
24122
  options: {