@dovetail-v2/refine 0.3.1 → 0.3.3
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/{MonacoYamlEditor-9b8b7cef.cjs → MonacoYamlEditor-1554bc96.cjs} +15 -7
- package/dist/{MonacoYamlEditor-5e4c98ce.js → MonacoYamlEditor-be20caed.js} +15 -7
- package/dist/components/PageShow/PageShow.d.ts +2 -2
- package/dist/components/PodLog/index.d.ts +1 -0
- package/dist/components/ShowContent/ShowContent.d.ts +3 -15
- package/dist/components/ShowContent/ShowContentView.d.ts +23 -0
- package/dist/components/ShowContent/fields.d.ts +1 -0
- package/dist/components/ShowContent/index.d.ts +1 -0
- package/dist/components/ShowContent/tabs.d.ts +1 -1
- package/dist/components/YamlEditor/MonacoYamlEditor.d.ts +5 -5
- package/dist/components/YamlEditor/YamlEditorComponent.d.ts +9 -7
- package/dist/hooks/useEagleTable/columns.d.ts +1 -1
- package/dist/i18n.d.ts +2 -0
- package/dist/{index-c4f4f337.js → index-96fcca10.js} +653 -425
- package/dist/{index-e9523181.cjs → index-c1aada44.cjs} +540 -312
- package/dist/locales/zh-CN/index.d.ts +2 -0
- package/dist/models/deployment-model.d.ts +5 -1
- package/dist/models/index.d.ts +1 -1
- package/dist/models/replicaset-model.d.ts +17 -0
- package/dist/models/service-model.d.ts +4 -0
- package/dist/models/workload-model.d.ts +6 -0
- package/dist/refine.cjs +4 -1
- package/dist/refine.js +114 -111
- package/dist/style.css +175 -159
- package/dist/utils/match-selector.d.ts +2 -2
- package/package.json +1 -1
|
@@ -7,13 +7,13 @@ var __publicField = (obj, key2, value2) => {
|
|
|
7
7
|
import dayjs from "dayjs";
|
|
8
8
|
import i18n from "i18next";
|
|
9
9
|
import { w as warnOnce, g as getDefaults, a as warn, b as getI18n, s as setDefaults, d as setI18n, I as I18nContext, j as jsxRuntimeExports, u as useTranslation, c as cx_default, S as SocketStatus } from "./common-feae5742.js";
|
|
10
|
-
import { ResourceContext, matchResourceFromRoute, useResource, useDelete, useNavigation, useBreadcrumb, useList, CanAccess, useUpdate, useParsed, useGo, useCan, useTable, useDeleteMany, useShow,
|
|
10
|
+
import { ResourceContext, matchResourceFromRoute, useResource, useDelete, useNavigation, useBreadcrumb, useList, CanAccess, useUpdate, useParsed, useGo, useCan, useTable, useDeleteMany, useShow, useRefineContext, useTranslate, useWarnAboutChange, useForm as useForm$2, flattenObjectKeys, pickNotDeprecated, useMenu, Refine } from "@refinedev/core";
|
|
11
11
|
import { parse, stringify } from "qs";
|
|
12
12
|
import * as React from "react";
|
|
13
13
|
import React__default, { createElement, isValidElement, cloneElement, Children, useContext, useCallback, createContext, useState, useEffect, useMemo, useRef, useImperativeHandle, lazy, Suspense, forwardRef } from "react";
|
|
14
14
|
import { useLocation, useHistory, useParams, matchPath, Link, Route, NavLink, Router } from "react-router-dom";
|
|
15
|
-
import { usePushModal, usePopModal, DeleteDialog, Tag, RejectDialog, RejectDialogType, Input, Select, AntdOption, Button, Form, Space, TextArea, kitContext, Typo, Loading, Table as Table$2, Pagination, Alert, Modal, Fields, Units, Link as Link$1, OverflowTooltip, Tooltip, Dropdown, Menu as Menu$1, Icon as Icon$1, Divider, StatusCapsule,
|
|
16
|
-
import { EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, PlusAddCreateNew16BoldOntintIcon,
|
|
15
|
+
import { usePushModal, usePopModal, DeleteDialog, Tag, RejectDialog, RejectDialogType, Input, Select, AntdOption, Button, Form, Space, TextArea, kitContext, Typo, Loading, Table as Table$2, Pagination, Alert, Modal, Fields, Units, Link as Link$1, OverflowTooltip, Tooltip, Dropdown, Menu as Menu$1, Icon as Icon$1, Divider, StatusCapsule, Popover, AntdTable, TableForm, Upload, getOptions, DonutChart, SegmentControl, Checkbox, Tabs as Tabs$1, TabsTabPane, Row, Col, useMessage, SearchInput, Token, AntdSelectOptGroup, MenuItemGroup, Layout as Layout$1, Time as Time$1, ModalStack, KitStoreProvider, ConfigProvider } from "@cloudtower/eagle";
|
|
16
|
+
import { EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, PlusAddCreateNew16BoldOntintIcon, ViewEye16GradientGrayIcon, EntityFilterIgnoreGradient16GrayIcon, InfoICircleFill16GrayIcon, InfoICircleFill16Gray70Icon, RecoverContinue16GradientBlueIcon, SuspendedPause16GradientBlueIcon, ArrowChevronLeft16BoldTertiaryIcon, ArrowChevronLeftSmall16BoldBlueIcon, ArrowChevronUp16BoldSecondaryIcon, ArrowBoldDown16Icon, Retry16GradientBlueIcon, OpenTerminal16GradientBlueIcon, HierarchyTriangleRight16GrayIcon, HierarchyTriangleRight16BlueIcon, ClipboardCopy16GradientGrayIcon, ClipboardCopy16GradientBlueIcon, Retry16GradientGrayIcon, EditPen16GradientGrayIcon, EditPen16GradientBlueIcon, Showdiff16GradientGrayIcon, Showdiff16GradientBlueIcon, XmarkFailedSeriousWarningFill16RedIcon, ExclamationErrorCircleFill16RedIcon, Pause16GradientBlueIcon, EditPen16BlueIcon } from "@cloudtower/icons-react";
|
|
17
17
|
import { first, get as get$2, cloneDeep, set, omit as omit$1, merge, isEqual, debounce, last, setWith, clone, isObject as isObject$3, uniq, keyBy } from "lodash-es";
|
|
18
18
|
import yaml$2 from "js-yaml";
|
|
19
19
|
import { useLocalStorage } from "usehooks-ts";
|
|
@@ -1164,6 +1164,8 @@ const cant_delete_resource = "无法删除{{resource}}";
|
|
|
1164
1164
|
const cant_delete_resource_with_name = "无法删除{{resource}} <0>{{name}}</0> 。";
|
|
1165
1165
|
const close = "关闭";
|
|
1166
1166
|
const import_from_file = "从文件读取";
|
|
1167
|
+
const view_all_info = "查看全部信息";
|
|
1168
|
+
const collapse = "收起";
|
|
1167
1169
|
const dovetail = {
|
|
1168
1170
|
copy,
|
|
1169
1171
|
reset_arguments,
|
|
@@ -1406,7 +1408,9 @@ const dovetail = {
|
|
|
1406
1408
|
cant_delete_resource,
|
|
1407
1409
|
cant_delete_resource_with_name,
|
|
1408
1410
|
close,
|
|
1409
|
-
import_from_file
|
|
1411
|
+
import_from_file,
|
|
1412
|
+
view_all_info,
|
|
1413
|
+
collapse
|
|
1410
1414
|
};
|
|
1411
1415
|
const ZH = {
|
|
1412
1416
|
dovetail
|
|
@@ -9254,7 +9258,7 @@ var ResourceState = /* @__PURE__ */ ((ResourceState2) => {
|
|
|
9254
9258
|
return ResourceState2;
|
|
9255
9259
|
})(ResourceState || {});
|
|
9256
9260
|
function matchSelector(pod2, selector, namespace2 = "default") {
|
|
9257
|
-
var _a, _b, _c;
|
|
9261
|
+
var _a, _b, _c, _d;
|
|
9258
9262
|
let match = true;
|
|
9259
9263
|
if (selector) {
|
|
9260
9264
|
for (const key2 in selector.matchLabels) {
|
|
@@ -9263,7 +9267,7 @@ function matchSelector(pod2, selector, namespace2 = "default") {
|
|
|
9263
9267
|
}
|
|
9264
9268
|
}
|
|
9265
9269
|
}
|
|
9266
|
-
return match && pod2.metadata.namespace === namespace2;
|
|
9270
|
+
return match && ((_d = pod2.metadata) == null ? void 0 : _d.namespace) === namespace2;
|
|
9267
9271
|
}
|
|
9268
9272
|
class WorkloadBaseModel extends ResourceModel {
|
|
9269
9273
|
constructor(_rawYaml, _globalStore) {
|
|
@@ -9353,10 +9357,14 @@ class WorkloadModel extends WorkloadBaseModel {
|
|
|
9353
9357
|
constructor(_rawYaml, _globalStore) {
|
|
9354
9358
|
super(_rawYaml, _globalStore);
|
|
9355
9359
|
__publicField(this, "restarts", 0);
|
|
9360
|
+
__publicField(this, "services", []);
|
|
9361
|
+
__publicField(this, "ingresses", []);
|
|
9356
9362
|
this._rawYaml = _rawYaml;
|
|
9357
9363
|
}
|
|
9358
9364
|
async init() {
|
|
9359
9365
|
await this.getRestarts();
|
|
9366
|
+
await this.getServices();
|
|
9367
|
+
await this.getIngresses();
|
|
9360
9368
|
}
|
|
9361
9369
|
async getRestarts() {
|
|
9362
9370
|
const pods = await this._globalStore.get("pods", {
|
|
@@ -9372,6 +9380,29 @@ class WorkloadModel extends WorkloadBaseModel {
|
|
|
9372
9380
|
const result = lodashExports.sumBy(myPods, "restarts");
|
|
9373
9381
|
this.restarts = result;
|
|
9374
9382
|
}
|
|
9383
|
+
async getServices() {
|
|
9384
|
+
const services = await this._globalStore.get("services", {
|
|
9385
|
+
resourceBasePath: "/api/v1",
|
|
9386
|
+
kind: "Service"
|
|
9387
|
+
});
|
|
9388
|
+
const myServices = services.items.filter(
|
|
9389
|
+
(p) => {
|
|
9390
|
+
var _a;
|
|
9391
|
+
return matchSelector(p, (_a = this.spec) == null ? void 0 : _a.selector, this.metadata.namespace);
|
|
9392
|
+
}
|
|
9393
|
+
);
|
|
9394
|
+
this.services = myServices;
|
|
9395
|
+
}
|
|
9396
|
+
async getIngresses() {
|
|
9397
|
+
const allIngresses = /* @__PURE__ */ new Map();
|
|
9398
|
+
for (const service of this.services) {
|
|
9399
|
+
for (const ingress of service.ingresses) {
|
|
9400
|
+
const key2 = `${ingress.namespace}-${ingress.name}`;
|
|
9401
|
+
allIngresses.set(key2, ingress);
|
|
9402
|
+
}
|
|
9403
|
+
}
|
|
9404
|
+
this.ingresses = Array.from(allIngresses.values());
|
|
9405
|
+
}
|
|
9375
9406
|
get replicas() {
|
|
9376
9407
|
return this.spec && "replicas" in this.spec ? this.spec.replicas : 0;
|
|
9377
9408
|
}
|
|
@@ -9512,6 +9543,38 @@ class PodMetricsModel extends ResourceModel {
|
|
|
9512
9543
|
};
|
|
9513
9544
|
}
|
|
9514
9545
|
}
|
|
9546
|
+
class ReplicaSetModel extends ResourceModel {
|
|
9547
|
+
constructor(_rawYaml, _globalStore) {
|
|
9548
|
+
super(_rawYaml, _globalStore);
|
|
9549
|
+
__publicField(this, "pods", []);
|
|
9550
|
+
__publicField(this, "restarts", 0);
|
|
9551
|
+
this._rawYaml = _rawYaml;
|
|
9552
|
+
}
|
|
9553
|
+
async init() {
|
|
9554
|
+
await this.getPods();
|
|
9555
|
+
}
|
|
9556
|
+
async getPods() {
|
|
9557
|
+
const pods = await this._globalStore.get("pods", {
|
|
9558
|
+
resourceBasePath: "/api/v1",
|
|
9559
|
+
kind: "Pod"
|
|
9560
|
+
});
|
|
9561
|
+
const myPods = pods.items.filter(
|
|
9562
|
+
(pod2) => {
|
|
9563
|
+
var _a;
|
|
9564
|
+
return matchSelector(pod2, (_a = this.spec) == null ? void 0 : _a.selector, this.metadata.namespace);
|
|
9565
|
+
}
|
|
9566
|
+
);
|
|
9567
|
+
this.pods = myPods;
|
|
9568
|
+
this.restarts = lodashExports.sumBy(this.pods, (pod2) => pod2.restarts || 0);
|
|
9569
|
+
}
|
|
9570
|
+
get ownerDeploymentName() {
|
|
9571
|
+
var _a;
|
|
9572
|
+
const ownerRef = (_a = this.metadata.ownerReferences) == null ? void 0 : _a.find(
|
|
9573
|
+
(ref) => ref.kind === "Deployment" && ref.apiVersion === "apps/v1"
|
|
9574
|
+
);
|
|
9575
|
+
return ownerRef == null ? void 0 : ownerRef.name;
|
|
9576
|
+
}
|
|
9577
|
+
}
|
|
9515
9578
|
class CronJobModel extends WorkloadBaseModel {
|
|
9516
9579
|
constructor(_rawYaml, _globalStore) {
|
|
9517
9580
|
super(_rawYaml, _globalStore);
|
|
@@ -9554,8 +9617,27 @@ class EventModel extends ResourceModel {
|
|
|
9554
9617
|
class DeploymentModel extends WorkloadModel {
|
|
9555
9618
|
constructor(_rawYaml, _globalStore) {
|
|
9556
9619
|
super(_rawYaml, _globalStore);
|
|
9620
|
+
__publicField(this, "replicaSets", []);
|
|
9557
9621
|
this._rawYaml = _rawYaml;
|
|
9558
9622
|
}
|
|
9623
|
+
async init() {
|
|
9624
|
+
await super.init();
|
|
9625
|
+
await this.getReplicaSets();
|
|
9626
|
+
}
|
|
9627
|
+
async getReplicaSets() {
|
|
9628
|
+
const replicaSets = await this._globalStore.get("replicasets", {
|
|
9629
|
+
resourceBasePath: "/apis/apps/v1",
|
|
9630
|
+
kind: "ReplicaSet"
|
|
9631
|
+
});
|
|
9632
|
+
const myReplicaSets = replicaSets.items.filter((rs) => {
|
|
9633
|
+
var _a, _b, _c;
|
|
9634
|
+
const ownerRef = (_b = (_a = rs.metadata) == null ? void 0 : _a.ownerReferences) == null ? void 0 : _b.find(
|
|
9635
|
+
(ref) => ref.kind === "Deployment" && ref.apiVersion === "apps/v1" && ref.name === this.name && ref.uid === this.metadata.uid
|
|
9636
|
+
);
|
|
9637
|
+
return !!ownerRef && ((_c = rs.metadata) == null ? void 0 : _c.namespace) === this.metadata.namespace;
|
|
9638
|
+
});
|
|
9639
|
+
this.replicaSets = myReplicaSets;
|
|
9640
|
+
}
|
|
9559
9641
|
get stateDisplay() {
|
|
9560
9642
|
var _a, _b, _c;
|
|
9561
9643
|
if (((_a = this.spec) == null ? void 0 : _a.replicas) === 0) {
|
|
@@ -9611,8 +9693,25 @@ var ServiceTypeEnum = /* @__PURE__ */ ((ServiceTypeEnum2) => {
|
|
|
9611
9693
|
class ServiceModel extends ResourceModel {
|
|
9612
9694
|
constructor(_rawYaml, _globalStore) {
|
|
9613
9695
|
super(_rawYaml, _globalStore);
|
|
9696
|
+
__publicField(this, "ingresses", []);
|
|
9614
9697
|
this._rawYaml = _rawYaml;
|
|
9615
9698
|
}
|
|
9699
|
+
async init() {
|
|
9700
|
+
await this.getIngresses();
|
|
9701
|
+
}
|
|
9702
|
+
async getIngresses() {
|
|
9703
|
+
const ingresses = await this._globalStore.get("ingresses", {
|
|
9704
|
+
resourceBasePath: "/apis/networking.k8s.io/v1",
|
|
9705
|
+
kind: "Ingress"
|
|
9706
|
+
});
|
|
9707
|
+
const myIngresses = ingresses.items.filter((ingress) => {
|
|
9708
|
+
const rules = ingress.getFlattenedRules([]);
|
|
9709
|
+
return rules.some(
|
|
9710
|
+
(rule2) => rule2.serviceName === this.name
|
|
9711
|
+
);
|
|
9712
|
+
});
|
|
9713
|
+
this.ingresses = myIngresses;
|
|
9714
|
+
}
|
|
9616
9715
|
get displayType() {
|
|
9617
9716
|
const spec = this._rawYaml.spec;
|
|
9618
9717
|
const type2 = spec.type;
|
|
@@ -10980,273 +11079,9 @@ function KeyValueAnnotation(props) {
|
|
|
10980
11079
|
}) : null]
|
|
10981
11080
|
});
|
|
10982
11081
|
}
|
|
10983
|
-
function Tabs(props) {
|
|
10984
|
-
const { tabs, className } = props;
|
|
10985
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Tabs$1, { className, children: tabs.map((tab) => {
|
|
10986
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(TabsTabPane, { tab: tab.title, children: tab.children }, tab.title);
|
|
10987
|
-
}) });
|
|
10988
|
-
}
|
|
10989
|
-
const StateTag = (props) => {
|
|
10990
|
-
const {
|
|
10991
|
-
state: state2 = ResourceState.UPDATING,
|
|
10992
|
-
hideBackground,
|
|
10993
|
-
className,
|
|
10994
|
-
customResourceStateMap
|
|
10995
|
-
} = props;
|
|
10996
|
-
const { t: t2 } = useTranslation();
|
|
10997
|
-
const defaultStateMap = {
|
|
10998
|
-
[ResourceState.UPDATING]: "loading",
|
|
10999
|
-
[ResourceState.READY]: "green",
|
|
11000
|
-
[ResourceState.COMPLETED]: "gray",
|
|
11001
|
-
[ResourceState.FAILED]: "red",
|
|
11002
|
-
[ResourceState.SUSPENDED]: "warning",
|
|
11003
|
-
[ResourceState.RUNNING]: "green",
|
|
11004
|
-
[ResourceState.SUCCEEDED]: "blue",
|
|
11005
|
-
[ResourceState.UNKNOWN]: "gray",
|
|
11006
|
-
[ResourceState.TERMINATING]: "loading",
|
|
11007
|
-
[ResourceState.PENDING]: "warning",
|
|
11008
|
-
[ResourceState.WAITING]: "warning",
|
|
11009
|
-
[ResourceState.TERMINATED]: "gray",
|
|
11010
|
-
[ResourceState.STOPPED]: "gray",
|
|
11011
|
-
[ResourceState.AVAILABLE]: "blue",
|
|
11012
|
-
[ResourceState.BOUND]: "green",
|
|
11013
|
-
[ResourceState.RELEASED]: "gray",
|
|
11014
|
-
[ResourceState.LOST]: "red",
|
|
11015
|
-
[ResourceState.ACTIVE]: "green",
|
|
11016
|
-
[ResourceState.DELETING]: "loading"
|
|
11017
|
-
};
|
|
11018
|
-
const finalColorMap = (customResourceStateMap == null ? void 0 : customResourceStateMap.color) || defaultStateMap;
|
|
11019
|
-
const finalTextMap = customResourceStateMap == null ? void 0 : customResourceStateMap.text;
|
|
11020
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11021
|
-
StatusCapsule,
|
|
11022
|
-
{
|
|
11023
|
-
className: cx_default(className, StateTagStyle, hideBackground && "no-background"),
|
|
11024
|
-
color: finalColorMap[state2] !== "loading" ? finalColorMap[state2] : void 0,
|
|
11025
|
-
loading: finalColorMap[state2] === "loading",
|
|
11026
|
-
children: finalTextMap ? finalTextMap[state2] : t2(`dovetail.${state2 || "updating"}_state`)
|
|
11027
|
-
}
|
|
11028
|
-
);
|
|
11029
|
-
};
|
|
11030
|
-
const ShowContent_1g0ejph = "";
|
|
11031
|
-
const ShowContentWrapperStyle = "s9agep2";
|
|
11032
|
-
const BackButton = "bo89gfi";
|
|
11033
|
-
const ToolBarWrapper = "t1ohe42f";
|
|
11034
|
-
const NameStyle = "nqm4qz0";
|
|
11035
|
-
const TopBarStyle = "ticl0qc";
|
|
11036
|
-
const ShowContentHeaderStyle = "so9uwk1";
|
|
11037
|
-
const GroupStyle$1 = "ge26ou0";
|
|
11038
|
-
const GroupTitleStyle = "g17f8vl9";
|
|
11039
|
-
const FullTabContentStyle = "fykgn2i";
|
|
11040
|
-
const FieldWrapperStyle = "fngr745";
|
|
11041
|
-
const TabContentStyle = "t11wg61l";
|
|
11042
|
-
const ValueStyle$1 = "v1x3rivf";
|
|
11043
|
-
const TabsStyle = "tf5s6s";
|
|
11044
|
-
function ShowGroupComponent(props) {
|
|
11045
|
-
const {
|
|
11046
|
-
title,
|
|
11047
|
-
className,
|
|
11048
|
-
children,
|
|
11049
|
-
operationEle
|
|
11050
|
-
} = props;
|
|
11051
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
11052
|
-
className: cx_default(GroupStyle$1, className),
|
|
11053
|
-
children: [/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
11054
|
-
className: cx_default(Typo.Heading.h2_bold_title, GroupTitleStyle),
|
|
11055
|
-
children: [/* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
11056
|
-
children: title
|
|
11057
|
-
}), operationEle]
|
|
11058
|
-
}), children]
|
|
11059
|
-
});
|
|
11060
|
-
}
|
|
11061
|
-
const ShowContent = (props) => {
|
|
11062
|
-
var _a, _b, _c, _d, _e, _f;
|
|
11063
|
-
const {
|
|
11064
|
-
showConfig,
|
|
11065
|
-
formatter,
|
|
11066
|
-
Dropdown: Dropdown2 = K8sDropdown
|
|
11067
|
-
} = props;
|
|
11068
|
-
const parsed = useParsed();
|
|
11069
|
-
const {
|
|
11070
|
-
resource
|
|
11071
|
-
} = useResource();
|
|
11072
|
-
const id = (_a = parsed == null ? void 0 : parsed.params) == null ? void 0 : _a.id;
|
|
11073
|
-
const {
|
|
11074
|
-
queryResult
|
|
11075
|
-
} = useShow({
|
|
11076
|
-
id,
|
|
11077
|
-
errorNotification: false
|
|
11078
|
-
});
|
|
11079
|
-
const {
|
|
11080
|
-
t: t2
|
|
11081
|
-
} = useTranslation();
|
|
11082
|
-
const {
|
|
11083
|
-
data: data2
|
|
11084
|
-
} = queryResult;
|
|
11085
|
-
const navigation = useNavigation();
|
|
11086
|
-
const go = useGo();
|
|
11087
|
-
const openForm = useOpenForm();
|
|
11088
|
-
const Component = useContext(ComponentContext);
|
|
11089
|
-
const configs = useContext(ConfigsContext);
|
|
11090
|
-
const config = configs[(resource == null ? void 0 : resource.name) || ""];
|
|
11091
|
-
const Tabs$12 = Component.Tabs || Tabs;
|
|
11092
|
-
if (!(data2 == null ? void 0 : data2.data)) {
|
|
11093
|
-
return null;
|
|
11094
|
-
}
|
|
11095
|
-
const model = data2.data;
|
|
11096
|
-
const record = formatter ? formatter(model) : data2 == null ? void 0 : data2.data;
|
|
11097
|
-
function renderFields(fields, areaType, hasCol = true) {
|
|
11098
|
-
if (!record)
|
|
11099
|
-
return null;
|
|
11100
|
-
return fields.map((field) => {
|
|
11101
|
-
if (field.hidden)
|
|
11102
|
-
return null;
|
|
11103
|
-
let content;
|
|
11104
|
-
const value2 = get$2(record, field.path);
|
|
11105
|
-
if (field.renderContent) {
|
|
11106
|
-
content = field.renderContent(value2, record, field);
|
|
11107
|
-
} else {
|
|
11108
|
-
content = get$2(record, field.path);
|
|
11109
|
-
}
|
|
11110
|
-
return hasCol ? /* @__PURE__ */ jsxRuntimeExports.jsx(Col, {
|
|
11111
|
-
flex: areaType === AreaType.Inline ? "none" : "",
|
|
11112
|
-
span: field.col || 24,
|
|
11113
|
-
children: field.render ? field.render(value2, record, field) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
11114
|
-
className: FieldWrapperStyle,
|
|
11115
|
-
children: [field.title && /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
11116
|
-
className: Typo.Label.l4_regular_title,
|
|
11117
|
-
style: {
|
|
11118
|
-
width: field.labelWidth || "165px",
|
|
11119
|
-
marginRight: 8,
|
|
11120
|
-
flexShrink: 0,
|
|
11121
|
-
color: "#2C385299"
|
|
11122
|
-
},
|
|
11123
|
-
children: field.title
|
|
11124
|
-
}), /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
11125
|
-
style: {
|
|
11126
|
-
flex: 1,
|
|
11127
|
-
minWidth: 0
|
|
11128
|
-
},
|
|
11129
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
|
|
11130
|
-
className: cx_default(Typo.Label.l4_regular_title, ValueStyle$1),
|
|
11131
|
-
value: content,
|
|
11132
|
-
useOverflow: false
|
|
11133
|
-
})
|
|
11134
|
-
})]
|
|
11135
|
-
})
|
|
11136
|
-
}, field.key) : /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
|
|
11137
|
-
style: {
|
|
11138
|
-
height: "100%"
|
|
11139
|
-
},
|
|
11140
|
-
value: content,
|
|
11141
|
-
useOverflow: false
|
|
11142
|
-
});
|
|
11143
|
-
});
|
|
11144
|
-
}
|
|
11145
|
-
const stateDisplay = get$2(record, "stateDisplay");
|
|
11146
|
-
const topBar = /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
11147
|
-
className: ToolBarWrapper,
|
|
11148
|
-
children: [/* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
11149
|
-
className: cx_default(Typo.Label.l4_bold, BackButton),
|
|
11150
|
-
onClick: () => {
|
|
11151
|
-
go({
|
|
11152
|
-
to: navigation.listUrl((resource == null ? void 0 : resource.name) || "")
|
|
11153
|
-
});
|
|
11154
|
-
},
|
|
11155
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, {
|
|
11156
|
-
src: ArrowChevronLeft16BoldTertiaryIcon,
|
|
11157
|
-
hoverSrc: ArrowChevronLeftSmall16BoldBlueIcon,
|
|
11158
|
-
style: {
|
|
11159
|
-
marginRight: 4
|
|
11160
|
-
},
|
|
11161
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
11162
|
-
className: "button-text",
|
|
11163
|
-
children: (config == null ? void 0 : config.displayName) || ((_b = resource == null ? void 0 : resource.meta) == null ? void 0 : _b.kind)
|
|
11164
|
-
})
|
|
11165
|
-
})
|
|
11166
|
-
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
|
|
11167
|
-
className: TopBarStyle,
|
|
11168
|
-
children: [/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
11169
|
-
style: {
|
|
11170
|
-
display: "flex"
|
|
11171
|
-
},
|
|
11172
|
-
children: [/* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
11173
|
-
className: cx_default(Typo.Display.d2_regular_title, NameStyle),
|
|
11174
|
-
children: ((_c = showConfig.displayName) == null ? void 0 : _c.call(showConfig, record)) || ((_d = record == null ? void 0 : record.metadata) == null ? void 0 : _d.name)
|
|
11175
|
-
}), stateDisplay ? /* @__PURE__ */ jsxRuntimeExports.jsx(StateTag, {
|
|
11176
|
-
state: stateDisplay,
|
|
11177
|
-
customResourceStateMap: showConfig.resourceStateMap
|
|
11178
|
-
}) : void 0]
|
|
11179
|
-
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
|
|
11180
|
-
children: [(_e = showConfig.renderExtraButton) == null ? void 0 : _e.call(showConfig, record), !config.hideEdit ? /* @__PURE__ */ jsxRuntimeExports.jsx(CanAccess, {
|
|
11181
|
-
resource: resource == null ? void 0 : resource.name,
|
|
11182
|
-
action: AccessControlAuth.Edit,
|
|
11183
|
-
params: {
|
|
11184
|
-
namespace: record.namespace
|
|
11185
|
-
},
|
|
11186
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
|
|
11187
|
-
style: {
|
|
11188
|
-
marginRight: 8
|
|
11189
|
-
},
|
|
11190
|
-
onClick: () => openForm({
|
|
11191
|
-
id
|
|
11192
|
-
}),
|
|
11193
|
-
children: ((_f = config.formConfig) == null ? void 0 : _f.formType) === FormType.FORM ? t2("dovetail.edit") : t2("dovetail.edit_yaml")
|
|
11194
|
-
})
|
|
11195
|
-
}) : null, /* @__PURE__ */ jsxRuntimeExports.jsx(Dropdown2, {
|
|
11196
|
-
record,
|
|
11197
|
-
size: "large"
|
|
11198
|
-
})]
|
|
11199
|
-
})]
|
|
11200
|
-
})]
|
|
11201
|
-
});
|
|
11202
|
-
const tabs = /* @__PURE__ */ jsxRuntimeExports.jsx(Tabs$12, {
|
|
11203
|
-
tabs: (showConfig.tabs || []).map((tab, tabIndex) => {
|
|
11204
|
-
var _a2;
|
|
11205
|
-
return {
|
|
11206
|
-
title: tab.title,
|
|
11207
|
-
key: tab.key,
|
|
11208
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
11209
|
-
className: cx_default(TabContentStyle, tab.groups.length <= 1 && tabIndex !== 0 && FullTabContentStyle),
|
|
11210
|
-
children: (_a2 = tab.groups) == null ? void 0 : _a2.map((group) => {
|
|
11211
|
-
const GroupContainer = group.title ? ShowGroupComponent : React__default.Fragment;
|
|
11212
|
-
const FieldContainer = group.title ? Row : React__default.Fragment;
|
|
11213
|
-
const groupContainerProps = group.title ? {
|
|
11214
|
-
title: group.title || ""
|
|
11215
|
-
} : {};
|
|
11216
|
-
const fieldContainerProps = group.title ? {
|
|
11217
|
-
gutter: [24, 8]
|
|
11218
|
-
} : {};
|
|
11219
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(GroupContainer, {
|
|
11220
|
-
...groupContainerProps,
|
|
11221
|
-
children: group.areas.map((area, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
11222
|
-
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(FieldContainer, {
|
|
11223
|
-
...fieldContainerProps,
|
|
11224
|
-
children: renderFields(area.fields, area.type, !!group.title)
|
|
11225
|
-
}, index2), index2 !== group.areas.length - 1 ? /* @__PURE__ */ jsxRuntimeExports.jsx(Divider, {
|
|
11226
|
-
style: {
|
|
11227
|
-
margin: "8px 0 12px 0"
|
|
11228
|
-
}
|
|
11229
|
-
}) : null]
|
|
11230
|
-
}))
|
|
11231
|
-
}, group.title);
|
|
11232
|
-
})
|
|
11233
|
-
})
|
|
11234
|
-
};
|
|
11235
|
-
}),
|
|
11236
|
-
className: TabsStyle
|
|
11237
|
-
});
|
|
11238
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
11239
|
-
className: ShowContentWrapperStyle,
|
|
11240
|
-
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Space, {
|
|
11241
|
-
direction: "vertical",
|
|
11242
|
-
className: ShowContentHeaderStyle,
|
|
11243
|
-
children: topBar
|
|
11244
|
-
}), tabs]
|
|
11245
|
-
});
|
|
11246
|
-
};
|
|
11247
11082
|
const KeyValueSecret_c3ji18 = "";
|
|
11248
11083
|
const ButtonStyle = "b11tbgf7";
|
|
11249
|
-
const GroupStyle = "gtbyh5g";
|
|
11084
|
+
const GroupStyle$1 = "gtbyh5g";
|
|
11250
11085
|
function KeyValueSecret(props) {
|
|
11251
11086
|
const {
|
|
11252
11087
|
data: data2 = {}
|
|
@@ -11268,7 +11103,7 @@ function KeyValueSecret(props) {
|
|
|
11268
11103
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(ShowGroupComponent, {
|
|
11269
11104
|
title: i18n2.t("dovetail.data"),
|
|
11270
11105
|
operationEle: toggleButton,
|
|
11271
|
-
className: GroupStyle,
|
|
11106
|
+
className: GroupStyle$1,
|
|
11272
11107
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(KeyValue, {
|
|
11273
11108
|
data: data2,
|
|
11274
11109
|
hideSecret,
|
|
@@ -11849,16 +11684,57 @@ function ResourceTable(props) {
|
|
|
11849
11684
|
tableProps.onPageChange(1);
|
|
11850
11685
|
}, []);
|
|
11851
11686
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11852
|
-
Table,
|
|
11687
|
+
Table,
|
|
11688
|
+
{
|
|
11689
|
+
tableProps,
|
|
11690
|
+
displayName: config.displayName || config.kind,
|
|
11691
|
+
errorContentProps: {
|
|
11692
|
+
type: ErrorContentType.Card
|
|
11693
|
+
}
|
|
11694
|
+
}
|
|
11695
|
+
);
|
|
11696
|
+
}
|
|
11697
|
+
const StateTag = (props) => {
|
|
11698
|
+
const {
|
|
11699
|
+
state: state2 = ResourceState.UPDATING,
|
|
11700
|
+
hideBackground,
|
|
11701
|
+
className,
|
|
11702
|
+
customResourceStateMap
|
|
11703
|
+
} = props;
|
|
11704
|
+
const { t: t2 } = useTranslation();
|
|
11705
|
+
const defaultStateMap = {
|
|
11706
|
+
[ResourceState.UPDATING]: "loading",
|
|
11707
|
+
[ResourceState.READY]: "green",
|
|
11708
|
+
[ResourceState.COMPLETED]: "gray",
|
|
11709
|
+
[ResourceState.FAILED]: "red",
|
|
11710
|
+
[ResourceState.SUSPENDED]: "warning",
|
|
11711
|
+
[ResourceState.RUNNING]: "green",
|
|
11712
|
+
[ResourceState.SUCCEEDED]: "blue",
|
|
11713
|
+
[ResourceState.UNKNOWN]: "gray",
|
|
11714
|
+
[ResourceState.TERMINATING]: "loading",
|
|
11715
|
+
[ResourceState.PENDING]: "warning",
|
|
11716
|
+
[ResourceState.WAITING]: "warning",
|
|
11717
|
+
[ResourceState.TERMINATED]: "gray",
|
|
11718
|
+
[ResourceState.STOPPED]: "gray",
|
|
11719
|
+
[ResourceState.AVAILABLE]: "blue",
|
|
11720
|
+
[ResourceState.BOUND]: "green",
|
|
11721
|
+
[ResourceState.RELEASED]: "gray",
|
|
11722
|
+
[ResourceState.LOST]: "red",
|
|
11723
|
+
[ResourceState.ACTIVE]: "green",
|
|
11724
|
+
[ResourceState.DELETING]: "loading"
|
|
11725
|
+
};
|
|
11726
|
+
const finalColorMap = (customResourceStateMap == null ? void 0 : customResourceStateMap.color) || defaultStateMap;
|
|
11727
|
+
const finalTextMap = customResourceStateMap == null ? void 0 : customResourceStateMap.text;
|
|
11728
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11729
|
+
StatusCapsule,
|
|
11853
11730
|
{
|
|
11854
|
-
|
|
11855
|
-
|
|
11856
|
-
|
|
11857
|
-
|
|
11858
|
-
}
|
|
11731
|
+
className: cx_default(className, StateTagStyle, hideBackground && "no-background"),
|
|
11732
|
+
color: finalColorMap[state2] !== "loading" ? finalColorMap[state2] : void 0,
|
|
11733
|
+
loading: finalColorMap[state2] === "loading",
|
|
11734
|
+
children: finalTextMap ? finalTextMap[state2] : t2(`dovetail.${state2 || "updating"}_state`)
|
|
11859
11735
|
}
|
|
11860
11736
|
);
|
|
11861
|
-
}
|
|
11737
|
+
};
|
|
11862
11738
|
const WorkloadPodsTable_975j2t = "";
|
|
11863
11739
|
const WorkloadPodsTable = ({
|
|
11864
11740
|
namespace: namespace2,
|
|
@@ -11940,7 +11816,7 @@ const ReadyValueStyle = "r1bm8olw";
|
|
|
11940
11816
|
const ReplicasValueStyle = "r1oqudbh";
|
|
11941
11817
|
const ContentWrapperStyle = "c18i6jtg";
|
|
11942
11818
|
const LabelStyle = "lpm22il";
|
|
11943
|
-
const ValueStyle = "v1ixr1me";
|
|
11819
|
+
const ValueStyle$1 = "v1ixr1me";
|
|
11944
11820
|
const WorkloadReplicasForm = React__default.forwardRef(function WorkloadReplicasForm2(props, ref) {
|
|
11945
11821
|
const {
|
|
11946
11822
|
defaultValue,
|
|
@@ -12070,7 +11946,7 @@ function WorkloadReplicas({
|
|
|
12070
11946
|
className: cx_default(LabelStyle, Typo.Label.l3_regular),
|
|
12071
11947
|
children: record.kind === "Job" ? t2("dovetail.pod_complete_num") : t2("dovetail.pod_ready_num")
|
|
12072
11948
|
}), /* @__PURE__ */ jsxRuntimeExports.jsx("td", {
|
|
12073
|
-
className: cx_default(ValueStyle, Typo.Label.l3_regular),
|
|
11949
|
+
className: cx_default(ValueStyle$1, Typo.Label.l3_regular),
|
|
12074
11950
|
children: readyReplicas
|
|
12075
11951
|
})]
|
|
12076
11952
|
}), /* @__PURE__ */ jsxRuntimeExports.jsxs("tr", {
|
|
@@ -12078,7 +11954,7 @@ function WorkloadReplicas({
|
|
|
12078
11954
|
className: cx_default(LabelStyle, Typo.Label.l3_regular),
|
|
12079
11955
|
children: t2("dovetail.pod_replicas_num")
|
|
12080
11956
|
}), /* @__PURE__ */ jsxRuntimeExports.jsx("td", {
|
|
12081
|
-
className: cx_default(ValueStyle, Typo.Label.l3_regular),
|
|
11957
|
+
className: cx_default(ValueStyle$1, Typo.Label.l3_regular),
|
|
12082
11958
|
children: replicas
|
|
12083
11959
|
}), /* @__PURE__ */ jsxRuntimeExports.jsx("td", {
|
|
12084
11960
|
children: editable && canScale && /* @__PURE__ */ jsxRuntimeExports.jsx(EditField, {
|
|
@@ -12109,6 +11985,7 @@ var AreaType = /* @__PURE__ */ ((AreaType2) => {
|
|
|
12109
11985
|
const ImageField = (i18n2) => {
|
|
12110
11986
|
return {
|
|
12111
11987
|
key: "Image",
|
|
11988
|
+
col: 12,
|
|
12112
11989
|
title: i18n2.t("dovetail.image"),
|
|
12113
11990
|
path: ["imageNames"],
|
|
12114
11991
|
renderContent(value2) {
|
|
@@ -12215,6 +12092,7 @@ const SecretDataField = () => {
|
|
|
12215
12092
|
const StartTimeField = (i18n2) => {
|
|
12216
12093
|
return {
|
|
12217
12094
|
key: "started",
|
|
12095
|
+
col: 12,
|
|
12218
12096
|
title: i18n2.t("dovetail.started"),
|
|
12219
12097
|
path: ["status", "startTime"],
|
|
12220
12098
|
renderContent(value2) {
|
|
@@ -12225,6 +12103,7 @@ const StartTimeField = (i18n2) => {
|
|
|
12225
12103
|
const ServiceTypeField = (i18n2) => {
|
|
12226
12104
|
return {
|
|
12227
12105
|
key: "type",
|
|
12106
|
+
col: 12,
|
|
12228
12107
|
title: i18n2.t("dovetail.type"),
|
|
12229
12108
|
path: ["displayType"]
|
|
12230
12109
|
};
|
|
@@ -12232,6 +12111,7 @@ const ServiceTypeField = (i18n2) => {
|
|
|
12232
12111
|
const ClusterIpField = (i18n2) => {
|
|
12233
12112
|
return {
|
|
12234
12113
|
key: "clusterIp",
|
|
12114
|
+
col: 12,
|
|
12235
12115
|
title: i18n2.t("dovetail.clusterIp"),
|
|
12236
12116
|
path: ["spec", "clusterIP"]
|
|
12237
12117
|
};
|
|
@@ -12239,6 +12119,7 @@ const ClusterIpField = (i18n2) => {
|
|
|
12239
12119
|
const SessionAffinityField = (i18n2) => {
|
|
12240
12120
|
return {
|
|
12241
12121
|
key: "clusterIp",
|
|
12122
|
+
col: 12,
|
|
12242
12123
|
title: i18n2.t("dovetail.sessionAffinity"),
|
|
12243
12124
|
path: ["spec", "sessionAffinity"]
|
|
12244
12125
|
};
|
|
@@ -12283,11 +12164,13 @@ const EventsTableTabField = () => {
|
|
|
12283
12164
|
};
|
|
12284
12165
|
const NamespaceField = (i18n2) => ({
|
|
12285
12166
|
key: "NameSpace",
|
|
12167
|
+
col: 12,
|
|
12286
12168
|
title: i18n2.t("dovetail.namespace"),
|
|
12287
12169
|
path: ["metadata", "namespace"]
|
|
12288
12170
|
});
|
|
12289
12171
|
const AgeField = (i18n2) => ({
|
|
12290
12172
|
key: "Age",
|
|
12173
|
+
col: 12,
|
|
12291
12174
|
title: i18n2.t("dovetail.created_time"),
|
|
12292
12175
|
path: ["metadata", "creationTimestamp"],
|
|
12293
12176
|
renderContent(value2) {
|
|
@@ -12315,6 +12198,7 @@ const AnnotationsField = (i18n2) => ({
|
|
|
12315
12198
|
});
|
|
12316
12199
|
const ServiceInnerClusterAccessField = () => ({
|
|
12317
12200
|
key: "innerClusterAccess",
|
|
12201
|
+
col: 12,
|
|
12318
12202
|
title: /* @__PURE__ */ jsxRuntimeExports.jsx(ServiceInClusterAccessTitle, {}),
|
|
12319
12203
|
path: [],
|
|
12320
12204
|
renderContent: (_, record) => {
|
|
@@ -12323,6 +12207,7 @@ const ServiceInnerClusterAccessField = () => ({
|
|
|
12323
12207
|
});
|
|
12324
12208
|
const ServiceOutClusterAccessField = (clusterVip) => ({
|
|
12325
12209
|
key: "innerClusterAccess",
|
|
12210
|
+
col: 12,
|
|
12326
12211
|
title: /* @__PURE__ */ jsxRuntimeExports.jsx(ServiceOutClusterAccessTitle, {}),
|
|
12327
12212
|
path: [],
|
|
12328
12213
|
renderContent: (_, record) => {
|
|
@@ -12355,6 +12240,7 @@ const PortsTableField = () => ({
|
|
|
12355
12240
|
const DurationField = (i18n2) => {
|
|
12356
12241
|
return {
|
|
12357
12242
|
key: "duration",
|
|
12243
|
+
col: 12,
|
|
12358
12244
|
path: ["duration"],
|
|
12359
12245
|
title: i18n2.t("dovetail.duration"),
|
|
12360
12246
|
renderContent: (v) => {
|
|
@@ -12365,6 +12251,7 @@ const DurationField = (i18n2) => {
|
|
|
12365
12251
|
const StorageClassProvisionerField = (i18n2) => {
|
|
12366
12252
|
return {
|
|
12367
12253
|
key: "provisioner",
|
|
12254
|
+
col: 12,
|
|
12368
12255
|
path: ["provisioner"],
|
|
12369
12256
|
title: i18n2.t("dovetail.provisioner")
|
|
12370
12257
|
};
|
|
@@ -12400,6 +12287,7 @@ const StorageClassPvField = () => {
|
|
|
12400
12287
|
const PVCapacityField = (i18n2) => {
|
|
12401
12288
|
return {
|
|
12402
12289
|
key: "capacity",
|
|
12290
|
+
col: 12,
|
|
12403
12291
|
path: ["spec", "capacity", "storage"],
|
|
12404
12292
|
title: i18n2.t("dovetail.capacity"),
|
|
12405
12293
|
renderContent(value2) {
|
|
@@ -12410,6 +12298,7 @@ const PVCapacityField = (i18n2) => {
|
|
|
12410
12298
|
const PVCStorageField = (i18n2) => {
|
|
12411
12299
|
return {
|
|
12412
12300
|
key: "storage",
|
|
12301
|
+
col: 12,
|
|
12413
12302
|
path: ["spec", "resources", "requests", "storage"],
|
|
12414
12303
|
title: i18n2.t("dovetail.distributed"),
|
|
12415
12304
|
renderContent(value2, pvc2) {
|
|
@@ -12420,6 +12309,7 @@ const PVCStorageField = (i18n2) => {
|
|
|
12420
12309
|
const PVRefField = (i18n2) => {
|
|
12421
12310
|
return {
|
|
12422
12311
|
key: "pv",
|
|
12312
|
+
col: 12,
|
|
12423
12313
|
path: ["pv"],
|
|
12424
12314
|
title: i18n2.t("dovetail.pv"),
|
|
12425
12315
|
renderContent(value2) {
|
|
@@ -12437,6 +12327,7 @@ const PVRefField = (i18n2) => {
|
|
|
12437
12327
|
const PVStorageClassField = (i18n2) => {
|
|
12438
12328
|
return {
|
|
12439
12329
|
key: "storageClass",
|
|
12330
|
+
col: 12,
|
|
12440
12331
|
path: ["spec", "storageClassName"],
|
|
12441
12332
|
title: i18n2.t("dovetail.storage_class"),
|
|
12442
12333
|
renderContent(value2) {
|
|
@@ -12447,6 +12338,7 @@ const PVStorageClassField = (i18n2) => {
|
|
|
12447
12338
|
const PVPhaseField = (i18n2) => {
|
|
12448
12339
|
return {
|
|
12449
12340
|
key: "phase",
|
|
12341
|
+
col: 12,
|
|
12450
12342
|
path: ["stateDisplay"],
|
|
12451
12343
|
title: i18n2.t("dovetail.state"),
|
|
12452
12344
|
renderContent(value2) {
|
|
@@ -12457,6 +12349,7 @@ const PVPhaseField = (i18n2) => {
|
|
|
12457
12349
|
const PVVolumeModeField = (i18n2) => {
|
|
12458
12350
|
return {
|
|
12459
12351
|
key: "mode",
|
|
12352
|
+
col: 12,
|
|
12460
12353
|
path: ["spec", "volumeMode"],
|
|
12461
12354
|
title: i18n2.t("dovetail.volume_mode"),
|
|
12462
12355
|
renderContent(value2) {
|
|
@@ -12467,6 +12360,7 @@ const PVVolumeModeField = (i18n2) => {
|
|
|
12467
12360
|
const PVAccessModeField = (i18n2) => {
|
|
12468
12361
|
return {
|
|
12469
12362
|
key: "accessMode",
|
|
12363
|
+
col: 12,
|
|
12470
12364
|
path: ["spec", "accessModes"],
|
|
12471
12365
|
title: i18n2.t("dovetail.access_mode"),
|
|
12472
12366
|
renderContent(value2) {
|
|
@@ -12502,6 +12396,7 @@ const PVCPodsField = () => {
|
|
|
12502
12396
|
const PVCRefField = (i18n2) => {
|
|
12503
12397
|
return {
|
|
12504
12398
|
key: "pvc",
|
|
12399
|
+
col: 12,
|
|
12505
12400
|
path: ["pvc"],
|
|
12506
12401
|
title: i18n2.t("dovetail.pvc"),
|
|
12507
12402
|
renderContent(value2, pv2) {
|
|
@@ -12520,6 +12415,7 @@ const PVCRefField = (i18n2) => {
|
|
|
12520
12415
|
const PVCSIRefField = (i18n2) => {
|
|
12521
12416
|
return {
|
|
12522
12417
|
key: "csi",
|
|
12418
|
+
col: 12,
|
|
12523
12419
|
path: ["csi"],
|
|
12524
12420
|
title: i18n2.t("dovetail.csi")
|
|
12525
12421
|
};
|
|
@@ -12527,6 +12423,7 @@ const PVCSIRefField = (i18n2) => {
|
|
|
12527
12423
|
const IsDefaultSCField = (i18n2) => {
|
|
12528
12424
|
return {
|
|
12529
12425
|
key: "isDefaultSC",
|
|
12426
|
+
col: 12,
|
|
12530
12427
|
path: ["isDefaultSC"],
|
|
12531
12428
|
title: i18n2.t("dovetail.default_sc"),
|
|
12532
12429
|
renderContent(val) {
|
|
@@ -12537,6 +12434,7 @@ const IsDefaultSCField = (i18n2) => {
|
|
|
12537
12434
|
const SCReclaimPolicyField = (i18n2) => {
|
|
12538
12435
|
return {
|
|
12539
12436
|
key: "reclaimPolicy",
|
|
12437
|
+
col: 12,
|
|
12540
12438
|
path: ["reclaimPolicy"],
|
|
12541
12439
|
title: i18n2.t("dovetail.reclaim_policy"),
|
|
12542
12440
|
renderContent(val) {
|
|
@@ -12551,6 +12449,7 @@ const SCReclaimPolicyField = (i18n2) => {
|
|
|
12551
12449
|
const IsSCAllowVolumeExpansionField = (i18n2) => {
|
|
12552
12450
|
return {
|
|
12553
12451
|
key: "allowVolumeExpansion",
|
|
12452
|
+
col: 12,
|
|
12554
12453
|
path: ["allowVolumeExpansion"],
|
|
12555
12454
|
title: i18n2.t("dovetail.allow_expand"),
|
|
12556
12455
|
renderContent(val) {
|
|
@@ -12568,13 +12467,14 @@ const ResourceTableField = (resource, useTableParams) => {
|
|
|
12568
12467
|
};
|
|
12569
12468
|
};
|
|
12570
12469
|
const baseNoReset = "";
|
|
12571
|
-
const
|
|
12470
|
+
const index_14irc29 = "";
|
|
12572
12471
|
const WrapperStyle$3 = "wve7dfm";
|
|
12573
12472
|
const ToolbarStyle = "t9oeh3c";
|
|
12574
12473
|
const ToolbarAreaStyle = "t1u2zqn6";
|
|
12575
12474
|
const ContentStyle$1 = "c8wrcus";
|
|
12576
12475
|
const PodLog = ({
|
|
12577
|
-
pod: pod2
|
|
12476
|
+
pod: pod2,
|
|
12477
|
+
apiUrl
|
|
12578
12478
|
}) => {
|
|
12579
12479
|
var _a, _b, _c, _d, _e;
|
|
12580
12480
|
const [selectedContainer, setSelectedContainer] = useState(((_b = (_a = pod2.spec) == null ? void 0 : _a.containers[0]) == null ? void 0 : _b.name) || "");
|
|
@@ -12585,8 +12485,6 @@ const PodLog = ({
|
|
|
12585
12485
|
const [wrap, setWrap] = useState(false);
|
|
12586
12486
|
const logViewerRef = useRef(null);
|
|
12587
12487
|
const abortControllerRef = useRef(null);
|
|
12588
|
-
const dataProvider2 = useDataProvider();
|
|
12589
|
-
const apiUrl = dataProvider2()["getApiUrl"]();
|
|
12590
12488
|
const {
|
|
12591
12489
|
t: t2
|
|
12592
12490
|
} = useTranslation();
|
|
@@ -12776,7 +12674,7 @@ const EventsTab = (i18n2) => ({
|
|
|
12776
12674
|
}
|
|
12777
12675
|
]
|
|
12778
12676
|
});
|
|
12779
|
-
const PodLogTab = (i18n2) => ({
|
|
12677
|
+
const PodLogTab = (i18n2, apiUrl) => ({
|
|
12780
12678
|
title: i18n2.t("dovetail.log"),
|
|
12781
12679
|
key: "pod-log",
|
|
12782
12680
|
groups: [
|
|
@@ -12788,7 +12686,7 @@ const PodLogTab = (i18n2) => ({
|
|
|
12788
12686
|
key: "log",
|
|
12789
12687
|
path: [],
|
|
12790
12688
|
renderContent: (_, record) => {
|
|
12791
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(PodLog, { pod: record });
|
|
12689
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(PodLog, { pod: record, apiUrl });
|
|
12792
12690
|
}
|
|
12793
12691
|
}
|
|
12794
12692
|
]
|
|
@@ -12798,7 +12696,7 @@ const PodLogTab = (i18n2) => ({
|
|
|
12798
12696
|
]
|
|
12799
12697
|
});
|
|
12800
12698
|
const NetworkPolicyRulesViewer_r6jity = "";
|
|
12801
|
-
const MonacoYamlEditor$1 = lazy(() => import("./MonacoYamlEditor-
|
|
12699
|
+
const MonacoYamlEditor$1 = lazy(() => import("./MonacoYamlEditor-be20caed.js"));
|
|
12802
12700
|
const EditorStyle$1 = "e1cjl2b8";
|
|
12803
12701
|
const NetworkPolicyRulesViewer = ({
|
|
12804
12702
|
ingressOrEgress,
|
|
@@ -13136,6 +13034,318 @@ const ResourceTableGroup = (resource, title) => ({
|
|
|
13136
13034
|
}
|
|
13137
13035
|
]
|
|
13138
13036
|
});
|
|
13037
|
+
function Tabs(props) {
|
|
13038
|
+
const { tabs, className } = props;
|
|
13039
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Tabs$1, { className, children: tabs.map((tab) => {
|
|
13040
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(TabsTabPane, { tab: tab.title, children: tab.children }, tab.title);
|
|
13041
|
+
}) });
|
|
13042
|
+
}
|
|
13043
|
+
const ShowContentView_19saq6u = "";
|
|
13044
|
+
const ShowContentWrapperStyle = "soapvs9";
|
|
13045
|
+
const BackButton = "b13d603q";
|
|
13046
|
+
const ToolBarWrapper = "tm8eaia";
|
|
13047
|
+
const NameStyle = "nhnus27";
|
|
13048
|
+
const TopBarStyle = "t16t20f5";
|
|
13049
|
+
const ShowContentHeaderStyle = "s97y2wr";
|
|
13050
|
+
const GroupStyle = "g1rhnxqx";
|
|
13051
|
+
const BasicGroupStyle = "b1f1s2pc";
|
|
13052
|
+
const GroupTitleStyle = "g1qw3bxx";
|
|
13053
|
+
const FullTabContentStyle = "flfewds";
|
|
13054
|
+
const FieldWrapperStyle = "f1c7cta8";
|
|
13055
|
+
const TabContentStyle = "t1pt61xk";
|
|
13056
|
+
const ValueStyle = "v1to6fie";
|
|
13057
|
+
const TabsStyle = "tca5959";
|
|
13058
|
+
const KindTagStyle = "k3dcesi";
|
|
13059
|
+
function ShowGroupComponent(props) {
|
|
13060
|
+
const {
|
|
13061
|
+
title,
|
|
13062
|
+
className,
|
|
13063
|
+
children,
|
|
13064
|
+
operationEle
|
|
13065
|
+
} = props;
|
|
13066
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
13067
|
+
className: cx_default(GroupStyle, className),
|
|
13068
|
+
children: [/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
13069
|
+
className: cx_default(Typo.Heading.h2_bold_title, GroupTitleStyle),
|
|
13070
|
+
children: [/* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
13071
|
+
children: title
|
|
13072
|
+
}), operationEle]
|
|
13073
|
+
}), children]
|
|
13074
|
+
});
|
|
13075
|
+
}
|
|
13076
|
+
function BasicShowGroupComponent(props) {
|
|
13077
|
+
const {
|
|
13078
|
+
children
|
|
13079
|
+
} = props;
|
|
13080
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
13081
|
+
className: BasicGroupStyle,
|
|
13082
|
+
children
|
|
13083
|
+
});
|
|
13084
|
+
}
|
|
13085
|
+
const ShowContentView = (props) => {
|
|
13086
|
+
var _a, _b, _c, _d;
|
|
13087
|
+
const {
|
|
13088
|
+
id,
|
|
13089
|
+
resourceName,
|
|
13090
|
+
showConfig,
|
|
13091
|
+
formatter,
|
|
13092
|
+
children,
|
|
13093
|
+
Dropdown: Dropdown2 = K8sDropdown,
|
|
13094
|
+
hideBackButton = false,
|
|
13095
|
+
canCollapseTabs = false
|
|
13096
|
+
} = props;
|
|
13097
|
+
const {
|
|
13098
|
+
queryResult
|
|
13099
|
+
} = useShow({
|
|
13100
|
+
id,
|
|
13101
|
+
resource: resourceName,
|
|
13102
|
+
errorNotification: false
|
|
13103
|
+
});
|
|
13104
|
+
const {
|
|
13105
|
+
t: t2
|
|
13106
|
+
} = useTranslation();
|
|
13107
|
+
const {
|
|
13108
|
+
data: data2
|
|
13109
|
+
} = queryResult;
|
|
13110
|
+
const navigation = useNavigation();
|
|
13111
|
+
const go = useGo();
|
|
13112
|
+
const openForm = useOpenForm();
|
|
13113
|
+
const Component = useContext(ComponentContext);
|
|
13114
|
+
const configs = useContext(ConfigsContext);
|
|
13115
|
+
const config = configs[resourceName];
|
|
13116
|
+
const Tabs$12 = Component.Tabs || Tabs;
|
|
13117
|
+
if (!(data2 == null ? void 0 : data2.data)) {
|
|
13118
|
+
return null;
|
|
13119
|
+
}
|
|
13120
|
+
const model = data2.data;
|
|
13121
|
+
const record = formatter ? formatter(model) : data2 == null ? void 0 : data2.data;
|
|
13122
|
+
function renderFields(fields, areaType, hasCol = true) {
|
|
13123
|
+
if (!record)
|
|
13124
|
+
return null;
|
|
13125
|
+
return fields.map((field) => {
|
|
13126
|
+
if (field.hidden)
|
|
13127
|
+
return null;
|
|
13128
|
+
let content;
|
|
13129
|
+
const value2 = get$2(record, field.path);
|
|
13130
|
+
if (field.renderContent) {
|
|
13131
|
+
content = field.renderContent(value2, record, field);
|
|
13132
|
+
} else {
|
|
13133
|
+
content = get$2(record, field.path);
|
|
13134
|
+
}
|
|
13135
|
+
return hasCol ? /* @__PURE__ */ jsxRuntimeExports.jsx(Col, {
|
|
13136
|
+
flex: areaType === AreaType.Inline ? "none" : "",
|
|
13137
|
+
span: field.col || 24,
|
|
13138
|
+
className: "czyzuo8",
|
|
13139
|
+
children: field.render ? field.render(value2, record, field) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
13140
|
+
className: FieldWrapperStyle,
|
|
13141
|
+
children: [field.title && /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
13142
|
+
className: Typo.Label.l4_regular_title,
|
|
13143
|
+
style: {
|
|
13144
|
+
width: field.labelWidth || "165px",
|
|
13145
|
+
marginRight: 8,
|
|
13146
|
+
flexShrink: 0,
|
|
13147
|
+
color: "#2C385299"
|
|
13148
|
+
},
|
|
13149
|
+
children: field.title
|
|
13150
|
+
}), /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
13151
|
+
style: {
|
|
13152
|
+
flex: 1,
|
|
13153
|
+
minWidth: 0
|
|
13154
|
+
},
|
|
13155
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
|
|
13156
|
+
className: cx_default(Typo.Label.l4_regular_title, ValueStyle),
|
|
13157
|
+
value: content,
|
|
13158
|
+
useOverflow: false
|
|
13159
|
+
})
|
|
13160
|
+
})]
|
|
13161
|
+
})
|
|
13162
|
+
}, field.key) : /* @__PURE__ */ jsxRuntimeExports.jsx(ValueDisplay, {
|
|
13163
|
+
style: {
|
|
13164
|
+
height: "100%"
|
|
13165
|
+
},
|
|
13166
|
+
value: content,
|
|
13167
|
+
useOverflow: false
|
|
13168
|
+
});
|
|
13169
|
+
});
|
|
13170
|
+
}
|
|
13171
|
+
function renderGroup(group, isBasicGroup = false) {
|
|
13172
|
+
let GroupContainer = React__default.Fragment;
|
|
13173
|
+
if (isBasicGroup) {
|
|
13174
|
+
GroupContainer = BasicShowGroupComponent;
|
|
13175
|
+
} else if (group.title) {
|
|
13176
|
+
GroupContainer = ShowGroupComponent;
|
|
13177
|
+
}
|
|
13178
|
+
const FieldContainer = group.title ? Row : React__default.Fragment;
|
|
13179
|
+
const groupContainerProps = group.title ? {
|
|
13180
|
+
title: group.title || ""
|
|
13181
|
+
} : {};
|
|
13182
|
+
const fieldContainerProps = group.title ? {
|
|
13183
|
+
gutter: [24, 8]
|
|
13184
|
+
} : {};
|
|
13185
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(GroupContainer, {
|
|
13186
|
+
...groupContainerProps,
|
|
13187
|
+
children: group.areas.map((area, index2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
13188
|
+
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(FieldContainer, {
|
|
13189
|
+
...fieldContainerProps,
|
|
13190
|
+
children: renderFields(area.fields, area.type, !!group.title)
|
|
13191
|
+
}, index2), index2 !== group.areas.length - 1 ? /* @__PURE__ */ jsxRuntimeExports.jsx(Divider, {
|
|
13192
|
+
style: {
|
|
13193
|
+
margin: "8px 0 12px 0"
|
|
13194
|
+
}
|
|
13195
|
+
}) : null]
|
|
13196
|
+
}))
|
|
13197
|
+
}, group.title);
|
|
13198
|
+
}
|
|
13199
|
+
const stateDisplay = get$2(record, "stateDisplay");
|
|
13200
|
+
const topBar = /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
13201
|
+
className: ToolBarWrapper,
|
|
13202
|
+
children: [!hideBackButton && /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
13203
|
+
className: cx_default(Typo.Label.l4_bold, BackButton),
|
|
13204
|
+
onClick: () => {
|
|
13205
|
+
go({
|
|
13206
|
+
to: navigation.listUrl(resourceName)
|
|
13207
|
+
});
|
|
13208
|
+
},
|
|
13209
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, {
|
|
13210
|
+
src: ArrowChevronLeft16BoldTertiaryIcon,
|
|
13211
|
+
hoverSrc: ArrowChevronLeftSmall16BoldBlueIcon,
|
|
13212
|
+
style: {
|
|
13213
|
+
marginRight: 4
|
|
13214
|
+
},
|
|
13215
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
13216
|
+
className: "button-text",
|
|
13217
|
+
children: (config == null ? void 0 : config.displayName) || resourceName
|
|
13218
|
+
})
|
|
13219
|
+
})
|
|
13220
|
+
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
|
|
13221
|
+
className: TopBarStyle,
|
|
13222
|
+
children: [/* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
13223
|
+
style: {
|
|
13224
|
+
display: "flex"
|
|
13225
|
+
},
|
|
13226
|
+
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Tag.NameTag, {
|
|
13227
|
+
className: KindTagStyle,
|
|
13228
|
+
children: config.kind
|
|
13229
|
+
}), /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
13230
|
+
className: cx_default(Typo.Display.d2_regular_title, NameStyle),
|
|
13231
|
+
children: ((_a = showConfig.displayName) == null ? void 0 : _a.call(showConfig, record)) || ((_b = record == null ? void 0 : record.metadata) == null ? void 0 : _b.name)
|
|
13232
|
+
}), stateDisplay ? /* @__PURE__ */ jsxRuntimeExports.jsx(StateTag, {
|
|
13233
|
+
state: stateDisplay,
|
|
13234
|
+
customResourceStateMap: showConfig.resourceStateMap
|
|
13235
|
+
}) : void 0]
|
|
13236
|
+
}), /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
|
|
13237
|
+
children: [(_c = showConfig.renderExtraButton) == null ? void 0 : _c.call(showConfig, record), !config.hideEdit ? /* @__PURE__ */ jsxRuntimeExports.jsx(CanAccess, {
|
|
13238
|
+
resource: resourceName,
|
|
13239
|
+
action: AccessControlAuth.Edit,
|
|
13240
|
+
params: {
|
|
13241
|
+
namespace: record.namespace
|
|
13242
|
+
},
|
|
13243
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
|
|
13244
|
+
style: {
|
|
13245
|
+
marginRight: 8
|
|
13246
|
+
},
|
|
13247
|
+
onClick: () => openForm({
|
|
13248
|
+
id
|
|
13249
|
+
}),
|
|
13250
|
+
children: ((_d = config.formConfig) == null ? void 0 : _d.formType) === FormType.FORM ? t2("dovetail.edit") : t2("dovetail.edit_yaml")
|
|
13251
|
+
})
|
|
13252
|
+
}) : null, /* @__PURE__ */ jsxRuntimeExports.jsx(Dropdown2, {
|
|
13253
|
+
record,
|
|
13254
|
+
size: "large"
|
|
13255
|
+
})]
|
|
13256
|
+
})]
|
|
13257
|
+
})]
|
|
13258
|
+
});
|
|
13259
|
+
const tabs = /* @__PURE__ */ jsxRuntimeExports.jsx(Tabs$12, {
|
|
13260
|
+
tabs: (showConfig.tabs || []).map((tab, tabIndex) => {
|
|
13261
|
+
var _a2;
|
|
13262
|
+
return {
|
|
13263
|
+
title: tab.title,
|
|
13264
|
+
key: tab.key,
|
|
13265
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
13266
|
+
className: cx_default(TabContentStyle, tab.groups.length <= 1 && tabIndex !== 0 && FullTabContentStyle),
|
|
13267
|
+
children: (_a2 = tab.groups) == null ? void 0 : _a2.map((group) => renderGroup(group, false))
|
|
13268
|
+
})
|
|
13269
|
+
};
|
|
13270
|
+
}),
|
|
13271
|
+
className: TabsStyle
|
|
13272
|
+
});
|
|
13273
|
+
const basicInfo = showConfig.basicGroup ? renderGroup(showConfig.basicGroup, true) : null;
|
|
13274
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
13275
|
+
className: ShowContentWrapperStyle,
|
|
13276
|
+
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(Space, {
|
|
13277
|
+
direction: "vertical",
|
|
13278
|
+
className: ShowContentHeaderStyle,
|
|
13279
|
+
children: topBar
|
|
13280
|
+
}), basicInfo, canCollapseTabs ? /* @__PURE__ */ jsxRuntimeExports.jsx(CollapseTabs, {
|
|
13281
|
+
children: tabs
|
|
13282
|
+
}) : tabs, children]
|
|
13283
|
+
});
|
|
13284
|
+
};
|
|
13285
|
+
const CollapseTabs = (props) => {
|
|
13286
|
+
const [isCollapsed, setIsCollapsed] = useState(true);
|
|
13287
|
+
const {
|
|
13288
|
+
t: t2
|
|
13289
|
+
} = useTranslation();
|
|
13290
|
+
if (isCollapsed) {
|
|
13291
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
13292
|
+
style: {
|
|
13293
|
+
display: "flex"
|
|
13294
|
+
},
|
|
13295
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
|
|
13296
|
+
style: {
|
|
13297
|
+
margin: "auto",
|
|
13298
|
+
cursor: "pointer"
|
|
13299
|
+
},
|
|
13300
|
+
type: "quiet",
|
|
13301
|
+
onClick: () => setIsCollapsed((v) => !v),
|
|
13302
|
+
suffixIcon: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, {
|
|
13303
|
+
src: ArrowChevronUp16BoldSecondaryIcon
|
|
13304
|
+
}),
|
|
13305
|
+
children: t2("dovetail.view_all_info")
|
|
13306
|
+
})
|
|
13307
|
+
});
|
|
13308
|
+
} else {
|
|
13309
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, {
|
|
13310
|
+
children: [props.children, /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
|
|
13311
|
+
style: {
|
|
13312
|
+
display: "flex"
|
|
13313
|
+
},
|
|
13314
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
|
|
13315
|
+
style: {
|
|
13316
|
+
margin: "auto",
|
|
13317
|
+
cursor: "pointer"
|
|
13318
|
+
},
|
|
13319
|
+
type: "quiet",
|
|
13320
|
+
onClick: () => setIsCollapsed((v) => !v),
|
|
13321
|
+
suffixIcon: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, {
|
|
13322
|
+
src: ArrowBoldDown16Icon
|
|
13323
|
+
}),
|
|
13324
|
+
children: t2("dovetail.collapse")
|
|
13325
|
+
})
|
|
13326
|
+
})]
|
|
13327
|
+
});
|
|
13328
|
+
}
|
|
13329
|
+
};
|
|
13330
|
+
const ShowContent = (props) => {
|
|
13331
|
+
var _a;
|
|
13332
|
+
const { showConfig, formatter, Dropdown: Dropdown2 = K8sDropdown, children, canCollapseTabs } = props;
|
|
13333
|
+
const parsed = useParsed();
|
|
13334
|
+
const { resource } = useResource();
|
|
13335
|
+
const id = (_a = parsed == null ? void 0 : parsed.params) == null ? void 0 : _a.id;
|
|
13336
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
13337
|
+
ShowContentView,
|
|
13338
|
+
{
|
|
13339
|
+
id,
|
|
13340
|
+
resourceName: (resource == null ? void 0 : resource.name) || "",
|
|
13341
|
+
showConfig,
|
|
13342
|
+
formatter,
|
|
13343
|
+
Dropdown: Dropdown2,
|
|
13344
|
+
canCollapseTabs,
|
|
13345
|
+
children
|
|
13346
|
+
}
|
|
13347
|
+
);
|
|
13348
|
+
};
|
|
13139
13349
|
const PageShow = (props) => {
|
|
13140
13350
|
var _a;
|
|
13141
13351
|
const parsed = useParsed();
|
|
@@ -13185,7 +13395,7 @@ const PageShow = (props) => {
|
|
|
13185
13395
|
nav.list(resource);
|
|
13186
13396
|
}
|
|
13187
13397
|
}, [isError, nav, resource, queryResult, parsed, msg, notExistMsg, isLoading]);
|
|
13188
|
-
return isLoading ? /* @__PURE__ */ jsxRuntimeExports.jsx(Loading, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(ShowContent, { ...props });
|
|
13398
|
+
return isLoading ? /* @__PURE__ */ jsxRuntimeExports.jsx(Loading, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(ShowContent, { ...props, children: props.children });
|
|
13189
13399
|
};
|
|
13190
13400
|
const index_az4wrx = "";
|
|
13191
13401
|
const WrapperStyle$2 = "w1akirqw";
|
|
@@ -16237,7 +16447,7 @@ const PlainCodeStyle = "pqch97v";
|
|
|
16237
16447
|
const ErrorMsgStyle = "eh2qjnl";
|
|
16238
16448
|
const ErrorWrapperStyle = "e19q2bnp";
|
|
16239
16449
|
const YamlEditorStyle = "y16u5v3w";
|
|
16240
|
-
const MonacoYamlEditor = React__default.lazy(() => import("./MonacoYamlEditor-
|
|
16450
|
+
const MonacoYamlEditor = React__default.lazy(() => import("./MonacoYamlEditor-be20caed.js"));
|
|
16241
16451
|
const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-7de94ad2.js"));
|
|
16242
16452
|
const YamlEditorComponent = forwardRef(
|
|
16243
16453
|
function YamlEditorComponent2(props, ref) {
|
|
@@ -16265,20 +16475,18 @@ const YamlEditorComponent = forwardRef(
|
|
|
16265
16475
|
const editorInstance = useRef();
|
|
16266
16476
|
const [copyTooltip, setCopyTooltip] = useState(t2("dovetail.copy"));
|
|
16267
16477
|
const [resetTooltip, setResetTooltip] = useState(t2("dovetail.reset_arguments"));
|
|
16268
|
-
|
|
16269
|
-
|
|
16270
|
-
|
|
16271
|
-
|
|
16272
|
-
|
|
16273
|
-
|
|
16274
|
-
|
|
16275
|
-
|
|
16276
|
-
|
|
16277
|
-
|
|
16278
|
-
|
|
16279
|
-
|
|
16280
|
-
};
|
|
16281
|
-
});
|
|
16478
|
+
const defaultValueString = useMemo(() => {
|
|
16479
|
+
if (typeof defaultValue === "string") {
|
|
16480
|
+
return defaultValue;
|
|
16481
|
+
}
|
|
16482
|
+
return yaml$2.dump(defaultValue);
|
|
16483
|
+
}, [defaultValue]);
|
|
16484
|
+
const _valueString = useMemo(() => {
|
|
16485
|
+
if (typeof _value === "string") {
|
|
16486
|
+
return _value;
|
|
16487
|
+
}
|
|
16488
|
+
return yaml$2.dump(_value);
|
|
16489
|
+
}, [_value]);
|
|
16282
16490
|
const onChange = useCallback(
|
|
16283
16491
|
(newVal) => {
|
|
16284
16492
|
var _a;
|
|
@@ -16301,7 +16509,7 @@ const YamlEditorComponent = forwardRef(
|
|
|
16301
16509
|
(editor) => {
|
|
16302
16510
|
var _a, _b, _c;
|
|
16303
16511
|
if (editor.getValue() !== _value) {
|
|
16304
|
-
(_b = (_a = editorInstance.current) == null ? void 0 : _a.getModel()) == null ? void 0 : _b.setValue(
|
|
16512
|
+
(_b = (_a = editorInstance.current) == null ? void 0 : _a.getModel()) == null ? void 0 : _b.setValue(_valueString);
|
|
16305
16513
|
}
|
|
16306
16514
|
(_c = props.onEditorCreate) == null ? void 0 : _c.call(props, editor);
|
|
16307
16515
|
},
|
|
@@ -16310,13 +16518,29 @@ const YamlEditorComponent = forwardRef(
|
|
|
16310
16518
|
const getInstance = useCallback((ins) => {
|
|
16311
16519
|
editorInstance.current = ins;
|
|
16312
16520
|
}, []);
|
|
16521
|
+
const getEditorValue = useCallback(() => {
|
|
16522
|
+
var _a;
|
|
16523
|
+
return ((_a = editorInstance.current) == null ? void 0 : _a.getValue()) ?? "";
|
|
16524
|
+
}, []);
|
|
16313
16525
|
useEffect(() => {
|
|
16314
16526
|
var _a, _b;
|
|
16315
|
-
if (value2 !== void 0 && value2
|
|
16527
|
+
if (value2 !== void 0 && !isEqual(value2, _value)) {
|
|
16528
|
+
const valueString = typeof value2 === "string" ? value2 : yaml$2.dump(value2);
|
|
16316
16529
|
_setValue(value2);
|
|
16317
|
-
(_b = (_a = editorInstance.current) == null ? void 0 : _a.getModel()) == null ? void 0 : _b.setValue(
|
|
16530
|
+
(_b = (_a = editorInstance.current) == null ? void 0 : _a.getModel()) == null ? void 0 : _b.setValue(valueString);
|
|
16318
16531
|
}
|
|
16319
16532
|
}, [value2]);
|
|
16533
|
+
useImperativeHandle(ref, () => {
|
|
16534
|
+
return {
|
|
16535
|
+
setValue: _setValue,
|
|
16536
|
+
setEditorValue: (value22) => {
|
|
16537
|
+
var _a, _b;
|
|
16538
|
+
(_b = (_a = editorInstance.current) == null ? void 0 : _a.getModel()) == null ? void 0 : _b.setValue(value22);
|
|
16539
|
+
},
|
|
16540
|
+
getEditorValue,
|
|
16541
|
+
getEditorInstance: () => editorInstance.current || null
|
|
16542
|
+
};
|
|
16543
|
+
});
|
|
16320
16544
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
16321
16545
|
"div",
|
|
16322
16546
|
{
|
|
@@ -16370,7 +16594,7 @@ const YamlEditorComponent = forwardRef(
|
|
|
16370
16594
|
iconHeight: 16,
|
|
16371
16595
|
onClick: () => {
|
|
16372
16596
|
if (!isCollapsed) {
|
|
16373
|
-
copyToClipboard(
|
|
16597
|
+
copyToClipboard(getEditorValue());
|
|
16374
16598
|
setCopyTooltip(t2("dovetail.copied"));
|
|
16375
16599
|
}
|
|
16376
16600
|
}
|
|
@@ -16402,7 +16626,7 @@ const YamlEditorComponent = forwardRef(
|
|
|
16402
16626
|
onClick: () => {
|
|
16403
16627
|
var _a;
|
|
16404
16628
|
if (!isCollapsed) {
|
|
16405
|
-
(_a = editorInstance.current) == null ? void 0 : _a.setValue(
|
|
16629
|
+
(_a = editorInstance.current) == null ? void 0 : _a.setValue(defaultValueString);
|
|
16406
16630
|
setResetTooltip(t2("dovetail.already_reset"));
|
|
16407
16631
|
}
|
|
16408
16632
|
}
|
|
@@ -16463,7 +16687,7 @@ const YamlEditorComponent = forwardRef(
|
|
|
16463
16687
|
zIndex: 1
|
|
16464
16688
|
},
|
|
16465
16689
|
children: [
|
|
16466
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("pre", { className: PlainCodeStyle, children:
|
|
16690
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("pre", { className: PlainCodeStyle, children: _valueString }), children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: isDiff ? "none" : "block" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
16467
16691
|
MonacoYamlEditor,
|
|
16468
16692
|
{
|
|
16469
16693
|
id: props.id,
|
|
@@ -16479,12 +16703,12 @@ const YamlEditorComponent = forwardRef(
|
|
|
16479
16703
|
isScrollOnFocus
|
|
16480
16704
|
}
|
|
16481
16705
|
) }) }),
|
|
16482
|
-
isDiff ? /* @__PURE__ */ jsxRuntimeExports.jsx(Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("pre", { className: PlainCodeStyle, children:
|
|
16706
|
+
isDiff ? /* @__PURE__ */ jsxRuntimeExports.jsx(Suspense, { fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("pre", { className: PlainCodeStyle, children: _valueString }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
16483
16707
|
MonacoYamlDiffEditor,
|
|
16484
16708
|
{
|
|
16485
16709
|
id: props.id,
|
|
16486
|
-
origin:
|
|
16487
|
-
modified:
|
|
16710
|
+
origin: defaultValueString,
|
|
16711
|
+
modified: _valueString,
|
|
16488
16712
|
height
|
|
16489
16713
|
}
|
|
16490
16714
|
) }) : null
|
|
@@ -18761,7 +18985,8 @@ class ModelPlugin {
|
|
|
18761
18985
|
Node: NodeModel,
|
|
18762
18986
|
StorageClass: StorageClassModel,
|
|
18763
18987
|
PersistentVolume: PersistentVolumeModel,
|
|
18764
|
-
PersistentVolumeClaim: PersistentVolumeClaimModel
|
|
18988
|
+
PersistentVolumeClaim: PersistentVolumeClaimModel,
|
|
18989
|
+
ReplicaSet: ReplicaSetModel
|
|
18765
18990
|
})
|
|
18766
18991
|
));
|
|
18767
18992
|
}
|
|
@@ -18982,7 +19207,7 @@ export {
|
|
|
18982
19207
|
CronjobJobsTable as ay,
|
|
18983
19208
|
KeyValue as az,
|
|
18984
19209
|
useSchema as b,
|
|
18985
|
-
|
|
19210
|
+
ServiceInClusterAccessComponent as b$,
|
|
18986
19211
|
PodSelectorField as b0,
|
|
18987
19212
|
PortsTableField as b1,
|
|
18988
19213
|
DurationField as b2,
|
|
@@ -18995,31 +19220,31 @@ export {
|
|
|
18995
19220
|
PVPhaseField as b9,
|
|
18996
19221
|
StorageClassPvGroup as bA,
|
|
18997
19222
|
ResourceTableGroup as bB,
|
|
18998
|
-
|
|
18999
|
-
|
|
19000
|
-
|
|
19001
|
-
|
|
19002
|
-
|
|
19003
|
-
|
|
19004
|
-
|
|
19005
|
-
|
|
19006
|
-
|
|
19007
|
-
|
|
19008
|
-
|
|
19009
|
-
|
|
19010
|
-
|
|
19011
|
-
|
|
19012
|
-
|
|
19013
|
-
|
|
19014
|
-
|
|
19015
|
-
|
|
19016
|
-
|
|
19017
|
-
|
|
19018
|
-
|
|
19019
|
-
|
|
19020
|
-
|
|
19021
|
-
|
|
19022
|
-
|
|
19223
|
+
ShowContent as bC,
|
|
19224
|
+
ShowGroupComponent as bD,
|
|
19225
|
+
BasicShowGroupComponent as bE,
|
|
19226
|
+
ShowContentView as bF,
|
|
19227
|
+
DeleteManyButton as bG,
|
|
19228
|
+
ListPage as bH,
|
|
19229
|
+
StateTag as bI,
|
|
19230
|
+
DrawerShow as bJ,
|
|
19231
|
+
Menu as bK,
|
|
19232
|
+
Table as bL,
|
|
19233
|
+
EditButton as bM,
|
|
19234
|
+
ReferenceLink as bN,
|
|
19235
|
+
ResourceLink as bO,
|
|
19236
|
+
NS_STORE_KEY as bP,
|
|
19237
|
+
ALL_NS as bQ,
|
|
19238
|
+
useNamespacesFilter as bR,
|
|
19239
|
+
NamespacesFilter as bS,
|
|
19240
|
+
FormModal as bT,
|
|
19241
|
+
renderCommonFormFiled as bU,
|
|
19242
|
+
RefineFormContent as bV,
|
|
19243
|
+
RefineFormPage as bW,
|
|
19244
|
+
SchemaStrategy as bX,
|
|
19245
|
+
YamlForm as bY,
|
|
19246
|
+
useRefineForm as bZ,
|
|
19247
|
+
FormItemLayout as b_,
|
|
19023
19248
|
PVVolumeModeField as ba,
|
|
19024
19249
|
PVAccessModeField as bb,
|
|
19025
19250
|
PVCPodsField as bc,
|
|
@@ -19047,91 +19272,94 @@ export {
|
|
|
19047
19272
|
NetworkPolicyIngressRulesGroup as by,
|
|
19048
19273
|
NetworkPolicyEgressRulesGroup as bz,
|
|
19049
19274
|
useDeleteModal as c,
|
|
19050
|
-
|
|
19051
|
-
|
|
19052
|
-
|
|
19053
|
-
|
|
19054
|
-
|
|
19055
|
-
|
|
19056
|
-
|
|
19057
|
-
|
|
19058
|
-
|
|
19059
|
-
|
|
19060
|
-
|
|
19061
|
-
|
|
19062
|
-
|
|
19063
|
-
|
|
19064
|
-
|
|
19065
|
-
|
|
19066
|
-
|
|
19067
|
-
|
|
19068
|
-
|
|
19069
|
-
|
|
19070
|
-
|
|
19071
|
-
|
|
19072
|
-
|
|
19073
|
-
|
|
19074
|
-
|
|
19075
|
-
|
|
19076
|
-
|
|
19077
|
-
|
|
19078
|
-
|
|
19079
|
-
|
|
19080
|
-
|
|
19081
|
-
|
|
19082
|
-
|
|
19083
|
-
|
|
19084
|
-
|
|
19085
|
-
|
|
19086
|
-
|
|
19087
|
-
|
|
19088
|
-
|
|
19089
|
-
|
|
19090
|
-
|
|
19091
|
-
|
|
19092
|
-
|
|
19093
|
-
|
|
19094
|
-
|
|
19095
|
-
|
|
19096
|
-
|
|
19097
|
-
|
|
19098
|
-
|
|
19099
|
-
|
|
19100
|
-
|
|
19101
|
-
|
|
19102
|
-
|
|
19103
|
-
|
|
19104
|
-
|
|
19105
|
-
|
|
19106
|
-
|
|
19107
|
-
|
|
19108
|
-
|
|
19109
|
-
|
|
19110
|
-
|
|
19111
|
-
|
|
19112
|
-
|
|
19113
|
-
|
|
19275
|
+
DaemonSetModel as c$,
|
|
19276
|
+
ServiceOutClusterAccessComponent as c0,
|
|
19277
|
+
Tags as c1,
|
|
19278
|
+
TextTags as c2,
|
|
19279
|
+
PodLog as c3,
|
|
19280
|
+
NetworkPolicyRulesViewer as c4,
|
|
19281
|
+
PVVolumeModeDisplay as c5,
|
|
19282
|
+
Tabs as c6,
|
|
19283
|
+
ResourceSelect as c7,
|
|
19284
|
+
PodShellModal as c8,
|
|
19285
|
+
PodShell as c9,
|
|
19286
|
+
SECRET_CUSTOM_INIT_VALUE as cA,
|
|
19287
|
+
NODE_INIT_VALUE as cB,
|
|
19288
|
+
STORAGE_CLASS_INIT_VALUE as cC,
|
|
19289
|
+
PV_INIT_VALUE as cD,
|
|
19290
|
+
PVC_INIT_VALUE as cE,
|
|
19291
|
+
ResourceState as cF,
|
|
19292
|
+
AccessControlAuth as cG,
|
|
19293
|
+
Dovetail as cH,
|
|
19294
|
+
RESOURCE_GROUP as cI,
|
|
19295
|
+
FormContainerType as cJ,
|
|
19296
|
+
FormType as cK,
|
|
19297
|
+
FormMode as cL,
|
|
19298
|
+
ComponentContext as cM,
|
|
19299
|
+
GlobalStoreContext as cN,
|
|
19300
|
+
ConfigsContext as cO,
|
|
19301
|
+
IngressModel as cP,
|
|
19302
|
+
NetworkPolicyModel as cQ,
|
|
19303
|
+
JobModel as cR,
|
|
19304
|
+
WorkloadModel as cS,
|
|
19305
|
+
WorkloadBaseModel as cT,
|
|
19306
|
+
PodModel as cU,
|
|
19307
|
+
PodMetricsModel as cV,
|
|
19308
|
+
ResourceModel as cW,
|
|
19309
|
+
ReplicaSetModel as cX,
|
|
19310
|
+
CronJobModel as cY,
|
|
19311
|
+
EventModel as cZ,
|
|
19312
|
+
DeploymentModel as c_,
|
|
19313
|
+
ResourceTable as ca,
|
|
19314
|
+
ErrorWrapper as cb,
|
|
19315
|
+
ErrorContentType as cc,
|
|
19316
|
+
KeyValueTableForm as cd,
|
|
19317
|
+
BASE_INIT_VALUE as ce,
|
|
19318
|
+
DEPLOYMENT_INIT_VALUE as cf,
|
|
19319
|
+
CRONJOB_INIT_VALUE as cg,
|
|
19320
|
+
DAEMONSET_INIT_VALUE as ch,
|
|
19321
|
+
JOB_INIT_VALUE as ci,
|
|
19322
|
+
STATEFULSET_INIT_VALUE as cj,
|
|
19323
|
+
POD_INIT_VALUE as ck,
|
|
19324
|
+
SERVICE_CLUSTER_IP_INIT_VALUE as cl,
|
|
19325
|
+
SERVICE_NODE_PORT_INIT_VALUE as cm,
|
|
19326
|
+
SERVICE_LOAD_BALANCER_INIT_VALUE as cn,
|
|
19327
|
+
SERVICE_EXTERNAL_NAME_INIT_VALUE as co,
|
|
19328
|
+
SERVICE_HEADLESS_INIT_VALUE as cp,
|
|
19329
|
+
INGRESS_INIT_VALUE as cq,
|
|
19330
|
+
NETWORK_POLICY_INIT_VALUE as cr,
|
|
19331
|
+
CONFIG_MAP_INIT_VALUE as cs,
|
|
19332
|
+
SERVER_INSTANCE_INIT_VALUE as ct,
|
|
19333
|
+
REDEPLOY_TIMESTAMP_KEY as cu,
|
|
19334
|
+
SECRET_OPAQUE_INIT_VALUE as cv,
|
|
19335
|
+
SECRET_IMAGE_REPO_INIT_VALUE as cw,
|
|
19336
|
+
SECRET_BASIC_AUTH_INIT_VALUE as cx,
|
|
19337
|
+
SECRET_SSH_AUTH_INIT_VALUE as cy,
|
|
19338
|
+
SECRET_TLS_INIT_VALUE as cz,
|
|
19114
19339
|
dovetailRefineI18n as d,
|
|
19115
|
-
|
|
19116
|
-
|
|
19117
|
-
|
|
19118
|
-
|
|
19119
|
-
|
|
19120
|
-
|
|
19121
|
-
|
|
19122
|
-
|
|
19123
|
-
|
|
19124
|
-
|
|
19125
|
-
|
|
19126
|
-
|
|
19127
|
-
|
|
19128
|
-
|
|
19129
|
-
|
|
19130
|
-
|
|
19131
|
-
|
|
19132
|
-
|
|
19133
|
-
|
|
19134
|
-
|
|
19340
|
+
StatefulSetModel as d0,
|
|
19341
|
+
ServiceTypeEnum as d1,
|
|
19342
|
+
ServiceModel as d2,
|
|
19343
|
+
NodeRole as d3,
|
|
19344
|
+
NodeModel as d4,
|
|
19345
|
+
StorageClassModel as d5,
|
|
19346
|
+
PersistentVolumeModel as d6,
|
|
19347
|
+
PersistentVolumeClaimModel as d7,
|
|
19348
|
+
ProviderPlugins as d8,
|
|
19349
|
+
ModelPlugin as d9,
|
|
19350
|
+
modelPlugin as da,
|
|
19351
|
+
RelationPlugin as db,
|
|
19352
|
+
relationPlugin as dc,
|
|
19353
|
+
generateValueFromSchema as dd,
|
|
19354
|
+
generateSchemaTypeValue as de,
|
|
19355
|
+
resolveRef as df,
|
|
19356
|
+
getApiVersion as dg,
|
|
19357
|
+
pruneBeforeEdit as dh,
|
|
19358
|
+
matchSelector as di,
|
|
19359
|
+
getResourceNameByKind as dj,
|
|
19360
|
+
validateDnsSubdomain as dk,
|
|
19361
|
+
validateLabelKey as dl,
|
|
19362
|
+
validateLabelValue as dm,
|
|
19135
19363
|
useDeleteModalOnly as e,
|
|
19136
19364
|
useFailedModal as f,
|
|
19137
19365
|
NameSpaceColumnRenderer as g,
|