@dovetail-v2/refine 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{MonacoYamlDiffEditor-10d71161.js → MonacoYamlDiffEditor-814adc94.js} +1 -1
- package/dist/{index-bf5bacd7.js → index-e1bd1c74.js} +684 -494
- package/dist/refine.js +175 -174
- package/dist/refine.umd.cjs +508 -318
- package/dist/style.css +234 -135
- package/lib/components/DropdownMenuItems/EditAnnotationDropdownMenuItem.d.ts +2 -1
- package/lib/components/DropdownMenuItems/EditLabelDropdownMenuItem.d.ts +2 -1
- package/lib/components/DropdownMenuItems/EditNodeTaintDropdownMenuItem.d.ts +2 -1
- package/lib/components/DropdownMenuItems/index.d.ts +1 -0
- package/lib/components/EditMetadataForm/EditNodeTaintForm.d.ts +8 -0
- package/lib/components/Form/useYamlForm.d.ts +1 -1
- package/lib/i18n.d.ts +6 -0
- package/lib/locales/zh-CN/index.d.ts +6 -0
- package/lib/types/resource.d.ts +1 -1
- package/lib/utils/schema-store.d.ts +13 -0
- package/package.json +3 -3
|
@@ -10,8 +10,8 @@ import React__default, { createElement, isValidElement, cloneElement, Children,
|
|
|
10
10
|
import { ResourceContext, matchResourceFromRoute, useResource, useDelete, useNavigation, useBreadcrumb, useList, CanAccess, useUpdate, useParsed, useGo, useCan, useTable, useDeleteMany, useShow, useDataProvider, useRefineContext, useTranslate, useWarnAboutChange, useForm as useForm$2, flattenObjectKeys, pickNotDeprecated, useMenu, Refine } from "@refinedev/core";
|
|
11
11
|
import { parse, stringify } from "qs";
|
|
12
12
|
import { useLocation, useHistory, useParams, matchPath, Link, Route, NavLink, Router } from "react-router-dom";
|
|
13
|
-
import { Typo, Tag, Input, Select, AntdOption, Button, Form, Space, TextArea, kitContext, Loading, Table as Table$2, Pagination, Alert, usePopModal, Modal, usePushModal, Fields, Units, OverflowTooltip, Tooltip, StatusCapsule, Dropdown, Menu as Menu$1, Icon as Icon$1, Divider, Link as Link$1, Tabs as Tabs$1, TabsTabPane, Row, Col, DonutChart, SegmentControl, Checkbox, DropdownMenu, SearchInput, Token, AntdSelectOptGroup,
|
|
14
|
-
import { EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, PlusAddCreateNew16BoldOntintIcon, ArrowChevronLeft16BoldTertiaryIcon, ArrowChevronLeftSmall16BoldBlueIcon, ViewEye16GradientGrayIcon, EntityFilterIgnoreGradient16GrayIcon, RecoverContinue16GradientBlueIcon, SuspendedPause16GradientBlueIcon, Retry16GradientBlueIcon, FontSize16GrayIcon, FontSize16BlueIcon, LogCollection16GrayIcon, LogCollection16GradientBlueIcon, TrashBinDeletePermanently16GrayIcon, TrashBinDeletePermanently16BlueIcon, Loading24GradientBlueIcon, OpenTerminal16GradientBlueIcon, HierarchyTriangleRight16GrayIcon, HierarchyTriangleRight16BlueIcon, ClipboardCopy16GradientGrayIcon, ClipboardCopy16GradientBlueIcon, Retry16GradientGrayIcon, EditPen16GradientGrayIcon, EditPen16GradientBlueIcon, Showdiff16GradientGrayIcon, Showdiff16GradientBlueIcon, XmarkFailedSeriousWarningFill16RedIcon, ExclamationErrorCircleFill16RedIcon, Pause16GradientBlueIcon, EditPen16BlueIcon } from "@cloudtower/icons-react";
|
|
13
|
+
import { Typo, Tag, Input, Select, AntdOption, Button, Form, Space, TextArea, kitContext, Loading, Table as Table$2, Pagination, Alert, usePopModal, Modal, usePushModal, Fields, Units, OverflowTooltip, Tooltip, StatusCapsule, Dropdown, Menu as Menu$1, Icon as Icon$1, Divider, Link as Link$1, Tabs as Tabs$1, TabsTabPane, Row, Col, Popover, AntdTable, TableForm, getOptions, DonutChart, SegmentControl, Checkbox, DropdownMenu, SearchInput, Token, AntdSelectOptGroup, MenuItemGroup, Layout as Layout$1, Time as Time$1, useMessage, ModalStack, KitStoreProvider, ConfigProvider } from "@cloudtower/eagle";
|
|
14
|
+
import { EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, PlusAddCreateNew16BoldOntintIcon, ArrowChevronLeft16BoldTertiaryIcon, ArrowChevronLeftSmall16BoldBlueIcon, ViewEye16GradientGrayIcon, EntityFilterIgnoreGradient16GrayIcon, InfoICircleFill16GrayIcon, InfoICircleFill16Gray70Icon, RecoverContinue16GradientBlueIcon, SuspendedPause16GradientBlueIcon, Retry16GradientBlueIcon, FontSize16GrayIcon, FontSize16BlueIcon, LogCollection16GrayIcon, LogCollection16GradientBlueIcon, TrashBinDeletePermanently16GrayIcon, TrashBinDeletePermanently16BlueIcon, Loading24GradientBlueIcon, OpenTerminal16GradientBlueIcon, HierarchyTriangleRight16GrayIcon, HierarchyTriangleRight16BlueIcon, ClipboardCopy16GradientGrayIcon, ClipboardCopy16GradientBlueIcon, Retry16GradientGrayIcon, EditPen16GradientGrayIcon, EditPen16GradientBlueIcon, Showdiff16GradientGrayIcon, Showdiff16GradientBlueIcon, XmarkFailedSeriousWarningFill16RedIcon, ExclamationErrorCircleFill16RedIcon, Pause16GradientBlueIcon, EditPen16BlueIcon } from "@cloudtower/icons-react";
|
|
15
15
|
import { first, cloneDeep, set as set$1, omit as omit$1, merge, get as get$3, debounce, last, isObject as isObject$4, uniq, keyBy } from "lodash-es";
|
|
16
16
|
import yaml$1 from "js-yaml";
|
|
17
17
|
import { paginateData, sortData, dataProvider, liveProvider } from "k8s-api-provider";
|
|
@@ -1569,6 +1569,12 @@ const suffix_format_rule_3 = "后跟斜杠 (/),即第一个 (/) 前的内容
|
|
|
1569
1569
|
const name_format_rule_1 = "由字母、数字、连字符 (-)、下划线(_) 或点 (.) 组成";
|
|
1570
1570
|
const name_format_rule_2 = "以字母或数字开头和结尾";
|
|
1571
1571
|
const name_format_rule_3 = "不超过 63 个字符";
|
|
1572
|
+
const taint_effect_NoSchedule_tooltip_1 = "正在节点上运行的 Pod 不会被驱逐。";
|
|
1573
|
+
const taint_effect_NoSchedule_tooltip_2 = "新 Pod 不会调度到污点节点,除非有匹配的容忍度。";
|
|
1574
|
+
const taint_effect_PreferNoSchedule_tooltip_1 = "不容忍污点的 Pod 将被立即驱逐。";
|
|
1575
|
+
const taint_effect_PreferNoSchedule_tooltip_2 = "容忍污点但未设置容忍时长的 Pod 将继续运行。";
|
|
1576
|
+
const taint_effect_PreferNoSchedule_tooltip_3 = "容忍污点并设置了容忍时长的 Pod 将按指定时间运行,时间结束后被驱逐。";
|
|
1577
|
+
const taint_effect_NoExecute_tooltip_3 = "控制平面将尝试避免将不能容忍污点的 Pod 调度到节点上,但无法保证完全避免。";
|
|
1572
1578
|
const dovetail = {
|
|
1573
1579
|
copy: copy$1,
|
|
1574
1580
|
reset_arguments,
|
|
@@ -1796,7 +1802,13 @@ const dovetail = {
|
|
|
1796
1802
|
suffix_format_rule_3,
|
|
1797
1803
|
name_format_rule_1,
|
|
1798
1804
|
name_format_rule_2,
|
|
1799
|
-
name_format_rule_3
|
|
1805
|
+
name_format_rule_3,
|
|
1806
|
+
taint_effect_NoSchedule_tooltip_1,
|
|
1807
|
+
taint_effect_NoSchedule_tooltip_2,
|
|
1808
|
+
taint_effect_PreferNoSchedule_tooltip_1,
|
|
1809
|
+
taint_effect_PreferNoSchedule_tooltip_2,
|
|
1810
|
+
taint_effect_PreferNoSchedule_tooltip_3,
|
|
1811
|
+
taint_effect_NoExecute_tooltip_3
|
|
1800
1812
|
};
|
|
1801
1813
|
const ZH = {
|
|
1802
1814
|
dovetail
|
|
@@ -8189,6 +8201,9 @@ class K8sOpenAPI {
|
|
|
8189
8201
|
}
|
|
8190
8202
|
// Fetch and process OpenAPI schemas
|
|
8191
8203
|
async fetch() {
|
|
8204
|
+
if (this.schemas) {
|
|
8205
|
+
return this.schemas;
|
|
8206
|
+
}
|
|
8192
8207
|
try {
|
|
8193
8208
|
const response = await fetch(
|
|
8194
8209
|
`${this.pathPrefix}${this.resourceBasePath}`
|
|
@@ -8236,6 +8251,24 @@ class K8sOpenAPI {
|
|
|
8236
8251
|
});
|
|
8237
8252
|
}
|
|
8238
8253
|
}
|
|
8254
|
+
class SchemaStore {
|
|
8255
|
+
constructor() {
|
|
8256
|
+
__publicField(this, "openapiMap", {});
|
|
8257
|
+
}
|
|
8258
|
+
async fetchSchemas(resourceBasePath, pathPrefix) {
|
|
8259
|
+
const openapi = this.openapiMap[`${resourceBasePath}-${pathPrefix}`] || new K8sOpenAPI(resourceBasePath, pathPrefix);
|
|
8260
|
+
this.openapiMap[`${resourceBasePath}-${pathPrefix}`] = openapi;
|
|
8261
|
+
const schemas = await openapi.fetch();
|
|
8262
|
+
return schemas;
|
|
8263
|
+
}
|
|
8264
|
+
async fetchSchema(resourceBasePath, pathPrefix, kind) {
|
|
8265
|
+
const openapi = this.openapiMap[`${resourceBasePath}-${pathPrefix}`] || new K8sOpenAPI(resourceBasePath, pathPrefix);
|
|
8266
|
+
this.openapiMap[`${resourceBasePath}-${pathPrefix}`] = openapi;
|
|
8267
|
+
await openapi.fetch();
|
|
8268
|
+
return openapi.findSchema(kind);
|
|
8269
|
+
}
|
|
8270
|
+
}
|
|
8271
|
+
const schemaStore = new SchemaStore();
|
|
8239
8272
|
const ConstantsContext = createContext({
|
|
8240
8273
|
schemaUrlPrefix: ""
|
|
8241
8274
|
});
|
|
@@ -8254,8 +8287,7 @@ function useApiGroupSchema() {
|
|
|
8254
8287
|
if (state2.schemasMap[apiGroup]) {
|
|
8255
8288
|
return { apiGroup, schemas: state2.schemasMap[apiGroup] };
|
|
8256
8289
|
}
|
|
8257
|
-
const
|
|
8258
|
-
const groupSchemas = await openapi.fetch();
|
|
8290
|
+
const groupSchemas = await schemaStore.fetchSchemas(apiGroup, schemaUrlPrefix);
|
|
8259
8291
|
return { apiGroup, schemas: groupSchemas || [] };
|
|
8260
8292
|
})
|
|
8261
8293
|
);
|
|
@@ -8284,20 +8316,12 @@ function useSchema(options) {
|
|
|
8284
8316
|
const useResourceResult = useResource();
|
|
8285
8317
|
const resource = (options == null ? void 0 : options.resource) || useResourceResult.resource;
|
|
8286
8318
|
const { schemaUrlPrefix } = useContext(ConstantsContext);
|
|
8287
|
-
const openapi = useMemo(
|
|
8288
|
-
() => {
|
|
8289
|
-
var _a2;
|
|
8290
|
-
return new K8sOpenAPI((_a2 = resource == null ? void 0 : resource.meta) == null ? void 0 : _a2.resourceBasePath, schemaUrlPrefix);
|
|
8291
|
-
},
|
|
8292
|
-
[(_a = resource == null ? void 0 : resource.meta) == null ? void 0 : _a.resourceBasePath, schemaUrlPrefix]
|
|
8293
|
-
);
|
|
8294
8319
|
const fetchSchema = useCallback(async () => {
|
|
8295
|
-
var _a2;
|
|
8320
|
+
var _a2, _b2;
|
|
8296
8321
|
setLoading(true);
|
|
8297
8322
|
setError(null);
|
|
8298
8323
|
try {
|
|
8299
|
-
await
|
|
8300
|
-
const schema2 = await openapi.findSchema((_a2 = resource == null ? void 0 : resource.meta) == null ? void 0 : _a2.kind);
|
|
8324
|
+
const schema2 = await schemaStore.fetchSchema((_a2 = resource == null ? void 0 : resource.meta) == null ? void 0 : _a2.resourceBasePath, schemaUrlPrefix, (_b2 = resource == null ? void 0 : resource.meta) == null ? void 0 : _b2.kind);
|
|
8301
8325
|
setSchema(schema2 || null);
|
|
8302
8326
|
setError(null);
|
|
8303
8327
|
} catch (e2) {
|
|
@@ -8305,7 +8329,7 @@ function useSchema(options) {
|
|
|
8305
8329
|
} finally {
|
|
8306
8330
|
setLoading(false);
|
|
8307
8331
|
}
|
|
8308
|
-
}, [(_b = resource == null ? void 0 : resource.meta) == null ? void 0 : _b.
|
|
8332
|
+
}, [(_a = resource == null ? void 0 : resource.meta) == null ? void 0 : _a.kind, (_b = resource == null ? void 0 : resource.meta) == null ? void 0 : _b.resourceBasePath, schemaUrlPrefix]);
|
|
8309
8333
|
useEffect(() => {
|
|
8310
8334
|
if (options == null ? void 0 : options.skip)
|
|
8311
8335
|
return;
|
|
@@ -8930,11 +8954,6 @@ function Table$1(props) {
|
|
|
8930
8954
|
} = props;
|
|
8931
8955
|
const auxiliaryLineRef = useRef(null);
|
|
8932
8956
|
const wrapperRef = useRef(null);
|
|
8933
|
-
useMemo(() => ({
|
|
8934
|
-
current: currentPage,
|
|
8935
|
-
pageSize: defaultSize,
|
|
8936
|
-
onChange: onPageChange
|
|
8937
|
-
}), [currentPage, defaultSize, onPageChange]);
|
|
8938
8957
|
const finalColumns = useMemo(() => {
|
|
8939
8958
|
if (RowMenu) {
|
|
8940
8959
|
const actionColumn = {
|
|
@@ -9532,10 +9551,8 @@ const DistributeStorageForm = React__default.forwardRef(function DistributeStora
|
|
|
9532
9551
|
distributeStorage: validators.distributeStorage(v)
|
|
9533
9552
|
});
|
|
9534
9553
|
},
|
|
9535
|
-
onBlur: () =>
|
|
9536
|
-
|
|
9537
|
-
onFocus: () => {
|
|
9538
|
-
}
|
|
9554
|
+
onBlur: () => void 0,
|
|
9555
|
+
onFocus: () => void 0
|
|
9539
9556
|
},
|
|
9540
9557
|
min: 1,
|
|
9541
9558
|
meta: {},
|
|
@@ -11557,7 +11574,7 @@ const EventsTable = ({ uid }) => {
|
|
|
11557
11574
|
width: 120,
|
|
11558
11575
|
render(value2) {
|
|
11559
11576
|
const colorMap = {
|
|
11560
|
-
"Warning": "
|
|
11577
|
+
"Warning": "warning",
|
|
11561
11578
|
"Normal": "green"
|
|
11562
11579
|
};
|
|
11563
11580
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(StatusCapsule, { color: colorMap[value2], className: cx_default(StateTagStyle, "no-background"), children: i18n2.t(`dovetail.${value2.toLowerCase()}`) });
|
|
@@ -12158,40 +12175,413 @@ function KeyValueSecret(props) {
|
|
|
12158
12175
|
})
|
|
12159
12176
|
});
|
|
12160
12177
|
}
|
|
12161
|
-
|
|
12162
|
-
const
|
|
12163
|
-
const
|
|
12164
|
-
|
|
12165
|
-
const
|
|
12166
|
-
|
|
12167
|
-
|
|
12168
|
-
|
|
12169
|
-
|
|
12170
|
-
|
|
12171
|
-
|
|
12172
|
-
|
|
12173
|
-
|
|
12174
|
-
|
|
12175
|
-
|
|
12176
|
-
|
|
12177
|
-
|
|
12178
|
-
|
|
12179
|
-
|
|
12180
|
-
|
|
12181
|
-
|
|
12182
|
-
}
|
|
12183
|
-
|
|
12178
|
+
function validateLabelKey(key2) {
|
|
12179
|
+
const labelPrefixRegex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.]*[a-zA-Z0-9]$)/;
|
|
12180
|
+
const labelNameRegex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.\-]*[a-zA-Z0-9]$)/;
|
|
12181
|
+
let prefix, name2;
|
|
12182
|
+
const splitResult = key2.split("/");
|
|
12183
|
+
if (splitResult.length === 1) {
|
|
12184
|
+
name2 = splitResult[0];
|
|
12185
|
+
} else {
|
|
12186
|
+
prefix = splitResult[0];
|
|
12187
|
+
name2 = splitResult[1];
|
|
12188
|
+
}
|
|
12189
|
+
if (prefix === "") {
|
|
12190
|
+
return { isValid: false, errorMessage: "EMPTY_PREFIX" };
|
|
12191
|
+
}
|
|
12192
|
+
if (prefix && !labelPrefixRegex.test(prefix)) {
|
|
12193
|
+
return { isValid: false, errorMessage: "INVALID_PREFIX" };
|
|
12194
|
+
}
|
|
12195
|
+
if (!labelNameRegex.test(name2)) {
|
|
12196
|
+
return { isValid: false, errorMessage: "INVALID_NAME" };
|
|
12197
|
+
}
|
|
12198
|
+
if (prefix && prefix.length > 253) {
|
|
12199
|
+
return { isValid: false, errorMessage: "MAX_253" };
|
|
12200
|
+
}
|
|
12201
|
+
if (name2 && name2.length > 63) {
|
|
12202
|
+
return { isValid: false, errorMessage: "MAX_63" };
|
|
12203
|
+
}
|
|
12204
|
+
return { isValid: true };
|
|
12205
|
+
}
|
|
12206
|
+
function validateLabelValue(value2) {
|
|
12207
|
+
const labelValueRegex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.\-]*[a-zA-Z0-9]$)/;
|
|
12208
|
+
if (value2 === "") {
|
|
12209
|
+
return { isValid: true };
|
|
12210
|
+
}
|
|
12211
|
+
if (value2.length > 63) {
|
|
12212
|
+
return { isValid: false, errorMessage: "MAX_63" };
|
|
12213
|
+
}
|
|
12214
|
+
if (!labelValueRegex.test(value2)) {
|
|
12215
|
+
return { isValid: false, errorMessage: "INVALID_VALUE" };
|
|
12216
|
+
}
|
|
12217
|
+
return { isValid: true };
|
|
12218
|
+
}
|
|
12219
|
+
const LabelFormatPopover_105yfzn = "";
|
|
12220
|
+
const PodLabelFormatRulePopoverStyle = "p5jt6nm";
|
|
12221
|
+
const LabelFormatPopover = () => {
|
|
12222
|
+
const {
|
|
12223
|
+
t: t2
|
|
12224
|
+
} = useTranslation();
|
|
12225
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Popover, {
|
|
12226
|
+
overlayClassName: PodLabelFormatRulePopoverStyle,
|
|
12227
|
+
placement: "bottomRight",
|
|
12228
|
+
content: /* @__PURE__ */ jsxRuntimeExports.jsx(AntdTable, {
|
|
12229
|
+
bordered: true,
|
|
12230
|
+
dataSource: [{
|
|
12231
|
+
object: t2("dovetail.key"),
|
|
12232
|
+
contains: t2("dovetail.suffix"),
|
|
12233
|
+
optional: t2("dovetail.no"),
|
|
12234
|
+
rule: [t2("dovetail.suffix_format_rule_1"), t2("dovetail.suffix_format_rule_2"), t2("dovetail.suffix_format_rule_3")]
|
|
12235
|
+
}, {
|
|
12236
|
+
object: t2("dovetail.key"),
|
|
12237
|
+
contains: t2("dovetail.name"),
|
|
12238
|
+
optional: t2("dovetail.yes"),
|
|
12239
|
+
rule: [t2("dovetail.name_format_rule_1"), t2("dovetail.name_format_rule_2"), t2("dovetail.name_format_rule_3")]
|
|
12240
|
+
}, {
|
|
12241
|
+
object: t2("dovetail.value"),
|
|
12242
|
+
contains: t2("dovetail.name"),
|
|
12243
|
+
optional: t2("dovetail.no"),
|
|
12244
|
+
rule: [t2("dovetail.name_format_rule_1"), t2("dovetail.name_format_rule_2"), t2("dovetail.name_format_rule_3")]
|
|
12245
|
+
}],
|
|
12246
|
+
columns: [{
|
|
12247
|
+
key: "object",
|
|
12248
|
+
title: t2("dovetail.object"),
|
|
12249
|
+
dataIndex: "object",
|
|
12250
|
+
render: (cell, record, index2) => {
|
|
12251
|
+
return {
|
|
12252
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
12253
|
+
className: Typo.Label.l4_bold,
|
|
12254
|
+
children: cell
|
|
12255
|
+
}),
|
|
12256
|
+
props: {
|
|
12257
|
+
rowSpan: index2 === 0 ? 2 : index2 === 1 ? 0 : 1
|
|
12258
|
+
}
|
|
12259
|
+
};
|
|
12260
|
+
}
|
|
12261
|
+
}, {
|
|
12262
|
+
key: "contains",
|
|
12263
|
+
title: t2("dovetail.contains"),
|
|
12264
|
+
dataIndex: "contains"
|
|
12265
|
+
}, {
|
|
12266
|
+
key: "optional",
|
|
12267
|
+
title: t2("dovetail.optional"),
|
|
12268
|
+
dataIndex: "optional"
|
|
12269
|
+
}, {
|
|
12270
|
+
key: "rule",
|
|
12271
|
+
title: t2("dovetail.format_requirements"),
|
|
12272
|
+
dataIndex: "rule",
|
|
12273
|
+
render: (cell) => {
|
|
12274
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("ul", {
|
|
12275
|
+
className: "rule-list",
|
|
12276
|
+
children: cell.map((rule2, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx("li", {
|
|
12277
|
+
children: rule2
|
|
12278
|
+
}, index2))
|
|
12279
|
+
});
|
|
12280
|
+
}
|
|
12281
|
+
}],
|
|
12282
|
+
pagination: false
|
|
12283
|
+
}),
|
|
12284
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
|
|
12285
|
+
size: "small",
|
|
12286
|
+
type: "link",
|
|
12287
|
+
children: t2("dovetail.look_format_requirement")
|
|
12288
|
+
})
|
|
12289
|
+
});
|
|
12290
|
+
};
|
|
12291
|
+
const KeyValueTableForm_1eydq7y = "";
|
|
12292
|
+
function _KeyValueTableFormForm(props, ref) {
|
|
12293
|
+
const {
|
|
12294
|
+
defaultValue,
|
|
12295
|
+
onSubmit,
|
|
12296
|
+
extraColumns,
|
|
12297
|
+
addButtonText
|
|
12298
|
+
} = props;
|
|
12299
|
+
const {
|
|
12300
|
+
t: t2
|
|
12301
|
+
} = useTranslation();
|
|
12302
|
+
const [value2, setValue] = useState([]);
|
|
12303
|
+
const tableFormRef = useRef(null);
|
|
12304
|
+
useImperativeHandle(ref, () => ({
|
|
12305
|
+
submit: () => {
|
|
12306
|
+
return new Promise((res, rej) => {
|
|
12307
|
+
var _a;
|
|
12308
|
+
(_a = tableFormRef.current) == null ? void 0 : _a.validateWholeFields();
|
|
12309
|
+
setTimeout(() => {
|
|
12310
|
+
var _a2;
|
|
12311
|
+
const isValid = (_a2 = tableFormRef.current) == null ? void 0 : _a2.isValid();
|
|
12312
|
+
if (isValid) {
|
|
12313
|
+
res(onSubmit(value2));
|
|
12314
|
+
} else {
|
|
12315
|
+
rej();
|
|
12316
|
+
}
|
|
12317
|
+
}, 0);
|
|
12318
|
+
});
|
|
12319
|
+
}
|
|
12320
|
+
}), [onSubmit, value2]);
|
|
12321
|
+
const renderTextAreaFunc = ({
|
|
12322
|
+
value: value22,
|
|
12323
|
+
onChange
|
|
12324
|
+
}) => {
|
|
12325
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(TextArea, {
|
|
12326
|
+
autoSize: true,
|
|
12327
|
+
className: "clsjtk2",
|
|
12328
|
+
size: "small",
|
|
12329
|
+
value: value22,
|
|
12330
|
+
onChange: (e2) => {
|
|
12331
|
+
onChange(e2.target.value);
|
|
12332
|
+
}
|
|
12333
|
+
});
|
|
12334
|
+
};
|
|
12335
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
|
|
12336
|
+
size: 8,
|
|
12337
|
+
direction: "vertical",
|
|
12338
|
+
className: "cq3mbby",
|
|
12339
|
+
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(TableForm, {
|
|
12340
|
+
ref: tableFormRef,
|
|
12341
|
+
onBodyChange: (value22) => {
|
|
12342
|
+
setValue(value22);
|
|
12343
|
+
},
|
|
12344
|
+
columns: [{
|
|
12345
|
+
key: "key",
|
|
12346
|
+
title: t2("dovetail.key"),
|
|
12347
|
+
type: "input",
|
|
12348
|
+
validator: ({
|
|
12349
|
+
value: value22
|
|
12350
|
+
}) => {
|
|
12351
|
+
if (!value22)
|
|
12352
|
+
return t2("dovetail.key_empty_text");
|
|
12353
|
+
const {
|
|
12354
|
+
isValid
|
|
12355
|
+
} = validateLabelKey(value22 || "");
|
|
12356
|
+
if (!isValid)
|
|
12357
|
+
return t2("dovetail.format_error");
|
|
12358
|
+
},
|
|
12359
|
+
render: renderTextAreaFunc
|
|
12360
|
+
}, {
|
|
12361
|
+
key: "value",
|
|
12362
|
+
title: t2("dovetail.value_optional"),
|
|
12363
|
+
type: "input",
|
|
12364
|
+
validator: ({
|
|
12365
|
+
value: value22
|
|
12366
|
+
}) => {
|
|
12367
|
+
const {
|
|
12368
|
+
isValid
|
|
12369
|
+
} = validateLabelValue(value22 || "");
|
|
12370
|
+
if (!isValid)
|
|
12371
|
+
return t2("dovetail.format_error");
|
|
12372
|
+
},
|
|
12373
|
+
render: renderTextAreaFunc
|
|
12374
|
+
}, ...extraColumns || []],
|
|
12375
|
+
disableBatchFilling: true,
|
|
12376
|
+
hideEmptyTable: true,
|
|
12377
|
+
rowAddConfig: {
|
|
12378
|
+
addible: true,
|
|
12379
|
+
text: () => addButtonText
|
|
12380
|
+
},
|
|
12381
|
+
defaultData: defaultValue,
|
|
12382
|
+
row: {
|
|
12383
|
+
deletable: true
|
|
12384
|
+
}
|
|
12385
|
+
}), /* @__PURE__ */ jsxRuntimeExports.jsx(LabelFormatPopover, {})]
|
|
12386
|
+
});
|
|
12387
|
+
}
|
|
12388
|
+
const KeyValueTableFormForm = React__default.forwardRef(_KeyValueTableFormForm);
|
|
12389
|
+
const EditNodeTaintForm_cgov7z = "";
|
|
12390
|
+
const UlStyle = "u19jcs7t";
|
|
12391
|
+
const EditNodeTaintForm = React__default.forwardRef(function EditNodeTaintForm2(props, ref) {
|
|
12392
|
+
const {
|
|
12393
|
+
nodeModel
|
|
12394
|
+
} = props;
|
|
12395
|
+
const {
|
|
12396
|
+
mutateAsync
|
|
12397
|
+
} = useUpdate();
|
|
12398
|
+
const {
|
|
12399
|
+
t: t2
|
|
12400
|
+
} = useTranslation();
|
|
12401
|
+
const defaultValue = useMemo(() => {
|
|
12402
|
+
var _a;
|
|
12403
|
+
return ((_a = nodeModel._rawYaml.spec) == null ? void 0 : _a.taints) || [];
|
|
12404
|
+
}, [nodeModel]);
|
|
12405
|
+
const onSubmit = useCallback((_value) => {
|
|
12406
|
+
const value2 = _value;
|
|
12407
|
+
const newYaml = nodeModel._globalStore.restoreItem(nodeModel);
|
|
12408
|
+
if (newYaml.spec) {
|
|
12409
|
+
newYaml.spec.taints = value2;
|
|
12410
|
+
}
|
|
12411
|
+
pruneBeforeEdit(newYaml);
|
|
12412
|
+
return mutateAsync({
|
|
12413
|
+
id: nodeModel.id,
|
|
12414
|
+
resource: nodeModel.name || "",
|
|
12415
|
+
values: newYaml,
|
|
12416
|
+
meta: {
|
|
12417
|
+
resourceBasePath: nodeModel.apiVersion,
|
|
12418
|
+
kind: nodeModel.kind
|
|
12419
|
+
},
|
|
12420
|
+
successNotification() {
|
|
12421
|
+
return {
|
|
12422
|
+
message: t2("dovetail.edit_node_taint_success_toast", {
|
|
12423
|
+
kind: nodeModel.kind,
|
|
12424
|
+
name: nodeModel.metadata.name,
|
|
12425
|
+
interpolation: {
|
|
12426
|
+
escapeValue: false
|
|
12427
|
+
}
|
|
12428
|
+
}),
|
|
12429
|
+
type: "success"
|
|
12430
|
+
};
|
|
12431
|
+
},
|
|
12432
|
+
errorNotification: false
|
|
12433
|
+
});
|
|
12434
|
+
}, [nodeModel, mutateAsync, t2]);
|
|
12435
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(KeyValueTableFormForm, {
|
|
12436
|
+
ref,
|
|
12437
|
+
defaultValue,
|
|
12438
|
+
onSubmit,
|
|
12439
|
+
addButtonText: t2("dovetail.add_taint"),
|
|
12440
|
+
extraColumns: [{
|
|
12184
12441
|
key: "effect",
|
|
12185
|
-
display: true,
|
|
12186
|
-
dataIndex: "effect",
|
|
12187
12442
|
title: t2("dovetail.effect"),
|
|
12188
|
-
|
|
12189
|
-
|
|
12190
|
-
|
|
12191
|
-
|
|
12443
|
+
render: ({
|
|
12444
|
+
value: value2,
|
|
12445
|
+
onChange
|
|
12446
|
+
}) => {
|
|
12447
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Select, {
|
|
12448
|
+
input: {},
|
|
12449
|
+
value: value2,
|
|
12450
|
+
onChange,
|
|
12451
|
+
size: "small",
|
|
12452
|
+
children: getOptions([{
|
|
12453
|
+
value: "NoSchedule",
|
|
12454
|
+
children: t2(`dovetail.node_taint_${"NoSchedule"}`),
|
|
12455
|
+
suffix: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, {
|
|
12456
|
+
title: /* @__PURE__ */ jsxRuntimeExports.jsx(TaintEffectTooltip, {
|
|
12457
|
+
effect: "NoSchedule"
|
|
12458
|
+
/* NoSchedule */
|
|
12459
|
+
}),
|
|
12460
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, {
|
|
12461
|
+
src: InfoICircleFill16GrayIcon,
|
|
12462
|
+
hoverSrc: InfoICircleFill16Gray70Icon
|
|
12463
|
+
})
|
|
12464
|
+
})
|
|
12465
|
+
}, {
|
|
12466
|
+
value: "PreferNoSchedule",
|
|
12467
|
+
children: t2(`dovetail.node_taint_${"PreferNoSchedule"}`),
|
|
12468
|
+
suffix: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, {
|
|
12469
|
+
title: /* @__PURE__ */ jsxRuntimeExports.jsx(TaintEffectTooltip, {
|
|
12470
|
+
effect: "PreferNoSchedule"
|
|
12471
|
+
/* PreferNoSchedule */
|
|
12472
|
+
}),
|
|
12473
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, {
|
|
12474
|
+
src: InfoICircleFill16GrayIcon,
|
|
12475
|
+
hoverSrc: InfoICircleFill16Gray70Icon
|
|
12476
|
+
})
|
|
12477
|
+
})
|
|
12478
|
+
}, {
|
|
12479
|
+
value: "NoExecute",
|
|
12480
|
+
children: t2(`dovetail.node_taint_${"NoExecute"}`),
|
|
12481
|
+
suffix: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, {
|
|
12482
|
+
title: /* @__PURE__ */ jsxRuntimeExports.jsx(TaintEffectTooltip, {
|
|
12483
|
+
effect: "NoExecute"
|
|
12484
|
+
/* NoExecute */
|
|
12485
|
+
}),
|
|
12486
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, {
|
|
12487
|
+
src: InfoICircleFill16GrayIcon,
|
|
12488
|
+
hoverSrc: InfoICircleFill16Gray70Icon
|
|
12489
|
+
})
|
|
12490
|
+
})
|
|
12491
|
+
}])
|
|
12492
|
+
});
|
|
12493
|
+
},
|
|
12494
|
+
validator: ({
|
|
12495
|
+
value: value2
|
|
12496
|
+
}) => {
|
|
12497
|
+
if (!value2)
|
|
12498
|
+
return t2("dovetail.taint_effect_empty_text");
|
|
12192
12499
|
}
|
|
12500
|
+
}]
|
|
12501
|
+
});
|
|
12502
|
+
});
|
|
12503
|
+
const TaintEffectTooltip = ({
|
|
12504
|
+
effect: effect2
|
|
12505
|
+
}) => {
|
|
12506
|
+
const {
|
|
12507
|
+
t: t2
|
|
12508
|
+
} = useTranslation();
|
|
12509
|
+
const TaintEffectTooltipTextConfig = {
|
|
12510
|
+
[
|
|
12511
|
+
"NoSchedule"
|
|
12512
|
+
/* NoSchedule */
|
|
12513
|
+
]: {
|
|
12514
|
+
title: "NoSchedule",
|
|
12515
|
+
tooltips: [t2("dovetail.taint_effect_NoSchedule_tooltip_1"), t2("dovetail.taint_effect_NoSchedule_tooltip_2")]
|
|
12516
|
+
},
|
|
12517
|
+
[
|
|
12518
|
+
"PreferNoSchedule"
|
|
12519
|
+
/* PreferNoSchedule */
|
|
12520
|
+
]: {
|
|
12521
|
+
title: "PreferNoSchedule",
|
|
12522
|
+
tooltips: [t2("dovetail.taint_effect_PreferNoSchedule_tooltip_1"), t2("dovetail.taint_effect_PreferNoSchedule_tooltip_2"), t2("dovetail.taint_effect_PreferNoSchedule_tooltip_3")]
|
|
12523
|
+
},
|
|
12524
|
+
[
|
|
12525
|
+
"NoExecute"
|
|
12526
|
+
/* NoExecute */
|
|
12527
|
+
]: {
|
|
12528
|
+
title: "NoExecute",
|
|
12529
|
+
tooltips: [t2("dovetail.taint_effect_NoExecute_tooltip_3")]
|
|
12193
12530
|
}
|
|
12194
|
-
|
|
12531
|
+
};
|
|
12532
|
+
const config = TaintEffectTooltipTextConfig[effect2];
|
|
12533
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
|
|
12534
|
+
children: [/* @__PURE__ */ jsxRuntimeExports.jsx("b", {
|
|
12535
|
+
children: config.title
|
|
12536
|
+
}), /* @__PURE__ */ jsxRuntimeExports.jsx("ul", {
|
|
12537
|
+
className: UlStyle,
|
|
12538
|
+
children: config.tooltips.map((tooltip, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx("li", {
|
|
12539
|
+
children: tooltip
|
|
12540
|
+
}, index2))
|
|
12541
|
+
})]
|
|
12542
|
+
});
|
|
12543
|
+
};
|
|
12544
|
+
const NodeTaintsTable_wrxeox = "";
|
|
12545
|
+
const EffectStyle = "evoxbc1";
|
|
12546
|
+
const NodeTaintsTable = ({
|
|
12547
|
+
taints = []
|
|
12548
|
+
}) => {
|
|
12549
|
+
const {
|
|
12550
|
+
t: t2
|
|
12551
|
+
} = useTranslation();
|
|
12552
|
+
const component = useContext(ComponentContext);
|
|
12553
|
+
const Table2 = component.Table || Table$1;
|
|
12554
|
+
const taintsWithId = addId(taints, "key");
|
|
12555
|
+
const columns = [{
|
|
12556
|
+
key: "key",
|
|
12557
|
+
display: true,
|
|
12558
|
+
dataIndex: "key",
|
|
12559
|
+
title: t2("dovetail.key"),
|
|
12560
|
+
sortable: true
|
|
12561
|
+
}, {
|
|
12562
|
+
key: "value",
|
|
12563
|
+
display: true,
|
|
12564
|
+
dataIndex: "value",
|
|
12565
|
+
title: t2("dovetail.value"),
|
|
12566
|
+
sortable: true
|
|
12567
|
+
}, {
|
|
12568
|
+
key: "effect",
|
|
12569
|
+
display: true,
|
|
12570
|
+
dataIndex: "effect",
|
|
12571
|
+
title: t2("dovetail.effect"),
|
|
12572
|
+
sortable: true,
|
|
12573
|
+
render: (value2) => {
|
|
12574
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, {
|
|
12575
|
+
title: /* @__PURE__ */ jsxRuntimeExports.jsx(TaintEffectTooltip, {
|
|
12576
|
+
effect: value2
|
|
12577
|
+
}),
|
|
12578
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
12579
|
+
className: EffectStyle,
|
|
12580
|
+
children: t2(`dovetail.node_taint_${value2}`)
|
|
12581
|
+
})
|
|
12582
|
+
});
|
|
12583
|
+
}
|
|
12584
|
+
}];
|
|
12195
12585
|
const {
|
|
12196
12586
|
data: finalData,
|
|
12197
12587
|
currentPage,
|
|
@@ -12200,40 +12590,34 @@ const NodeTaintsTable = ({ taints = [] }) => {
|
|
|
12200
12590
|
} = useTableData({
|
|
12201
12591
|
data: taintsWithId,
|
|
12202
12592
|
columns,
|
|
12203
|
-
defaultSorters: [
|
|
12204
|
-
|
|
12205
|
-
|
|
12206
|
-
|
|
12207
|
-
}
|
|
12208
|
-
]
|
|
12593
|
+
defaultSorters: [{
|
|
12594
|
+
field: "lastUpdateTime",
|
|
12595
|
+
order: "desc"
|
|
12596
|
+
}]
|
|
12209
12597
|
});
|
|
12210
12598
|
const currentSize = 10;
|
|
12211
12599
|
if (taintsWithId.length === 0) {
|
|
12212
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
12213
|
-
|
|
12214
|
-
|
|
12215
|
-
|
|
12216
|
-
|
|
12217
|
-
|
|
12218
|
-
);
|
|
12600
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(WidgetErrorContent, {
|
|
12601
|
+
errorText: t2("dovetail.no_resource", {
|
|
12602
|
+
kind: t2("dovetail.taint")
|
|
12603
|
+
}),
|
|
12604
|
+
type: ErrorContentType.Card
|
|
12605
|
+
});
|
|
12219
12606
|
}
|
|
12220
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
12221
|
-
|
|
12222
|
-
|
|
12223
|
-
|
|
12224
|
-
|
|
12225
|
-
|
|
12226
|
-
|
|
12227
|
-
|
|
12228
|
-
|
|
12229
|
-
|
|
12230
|
-
|
|
12231
|
-
|
|
12232
|
-
|
|
12233
|
-
|
|
12234
|
-
showMenuColumn: false
|
|
12235
|
-
}
|
|
12236
|
-
);
|
|
12607
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Table2, {
|
|
12608
|
+
tableKey: "condition",
|
|
12609
|
+
loading: false,
|
|
12610
|
+
data: finalData,
|
|
12611
|
+
total: taintsWithId.length,
|
|
12612
|
+
columns: addDefaultRenderToColumns(columns),
|
|
12613
|
+
rowKey: "key",
|
|
12614
|
+
empty: t2("dovetail.empty"),
|
|
12615
|
+
defaultSize: currentSize,
|
|
12616
|
+
currentPage,
|
|
12617
|
+
onPageChange,
|
|
12618
|
+
onSorterChange,
|
|
12619
|
+
showMenuColumn: false
|
|
12620
|
+
});
|
|
12237
12621
|
};
|
|
12238
12622
|
function PVVolumeModeDisplay(props) {
|
|
12239
12623
|
const { value: value2 } = props;
|
|
@@ -18606,7 +18990,6 @@ const PodLog = ({
|
|
|
18606
18990
|
const [currentItemCount, setCurrentItemCount] = useState(0);
|
|
18607
18991
|
const [paused, setPaused] = useState(false);
|
|
18608
18992
|
const [wrap, setWrap] = useState(false);
|
|
18609
|
-
const [linesBehind, setLinesBehind] = useState(0);
|
|
18610
18993
|
const logViewerRef = useRef(null);
|
|
18611
18994
|
const abortControllerRef = useRef(null);
|
|
18612
18995
|
const dataProvider2 = useDataProvider();
|
|
@@ -18620,10 +19003,6 @@ const PodLog = ({
|
|
|
18620
19003
|
if (logViewerRef && logViewerRef.current) {
|
|
18621
19004
|
logViewerRef.current.scrollToBottom();
|
|
18622
19005
|
}
|
|
18623
|
-
} else if (logs.length !== currentItemCount) {
|
|
18624
|
-
setLinesBehind(logs.length - currentItemCount);
|
|
18625
|
-
} else {
|
|
18626
|
-
setLinesBehind(0);
|
|
18627
19006
|
}
|
|
18628
19007
|
}, [paused, logs, currentItemCount]);
|
|
18629
19008
|
const onScroll = (params) => {
|
|
@@ -18742,7 +19121,6 @@ const PodLog = ({
|
|
|
18742
19121
|
setSelectedContainer(newValue);
|
|
18743
19122
|
setLogs([]);
|
|
18744
19123
|
setPaused(false);
|
|
18745
|
-
setLinesBehind(0);
|
|
18746
19124
|
},
|
|
18747
19125
|
value: selectedContainer
|
|
18748
19126
|
},
|
|
@@ -37997,7 +38375,7 @@ const Separator = () => {
|
|
|
37997
38375
|
});
|
|
37998
38376
|
};
|
|
37999
38377
|
const MonacoYamlEditor = React__default.lazy(() => Promise.resolve().then(() => MonacoYamlEditor$2));
|
|
38000
|
-
const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-
|
|
38378
|
+
const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-814adc94.js"));
|
|
38001
38379
|
const YamlEditorComponent = forwardRef(
|
|
38002
38380
|
function YamlEditorComponent2(props, ref) {
|
|
38003
38381
|
const {
|
|
@@ -39056,218 +39434,6 @@ function CronJobDropdown(props) {
|
|
|
39056
39434
|
}
|
|
39057
39435
|
) : null });
|
|
39058
39436
|
}
|
|
39059
|
-
function validateLabelKey(key2) {
|
|
39060
|
-
const labelPrefixRegex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.]*[a-zA-Z0-9]$)/;
|
|
39061
|
-
const labelNameRegex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.\-]*[a-zA-Z0-9]$)/;
|
|
39062
|
-
let prefix, name2;
|
|
39063
|
-
const splitResult = key2.split("/");
|
|
39064
|
-
if (splitResult.length === 1) {
|
|
39065
|
-
name2 = splitResult[0];
|
|
39066
|
-
} else {
|
|
39067
|
-
prefix = splitResult[0];
|
|
39068
|
-
name2 = splitResult[1];
|
|
39069
|
-
}
|
|
39070
|
-
if (prefix === "") {
|
|
39071
|
-
return { isValid: false, errorMessage: "EMPTY_PREFIX" };
|
|
39072
|
-
}
|
|
39073
|
-
if (prefix && !labelPrefixRegex.test(prefix)) {
|
|
39074
|
-
return { isValid: false, errorMessage: "INVALID_PREFIX" };
|
|
39075
|
-
}
|
|
39076
|
-
if (!labelNameRegex.test(name2)) {
|
|
39077
|
-
return { isValid: false, errorMessage: "INVALID_NAME" };
|
|
39078
|
-
}
|
|
39079
|
-
if (prefix && prefix.length > 253) {
|
|
39080
|
-
return { isValid: false, errorMessage: "MAX_253" };
|
|
39081
|
-
}
|
|
39082
|
-
if (name2 && name2.length > 63) {
|
|
39083
|
-
return { isValid: false, errorMessage: "MAX_63" };
|
|
39084
|
-
}
|
|
39085
|
-
return { isValid: true };
|
|
39086
|
-
}
|
|
39087
|
-
function validateLabelValue(value2) {
|
|
39088
|
-
const labelValueRegex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.\-]*[a-zA-Z0-9]$)/;
|
|
39089
|
-
if (value2 === "") {
|
|
39090
|
-
return { isValid: true };
|
|
39091
|
-
}
|
|
39092
|
-
if (value2.length > 63) {
|
|
39093
|
-
return { isValid: false, errorMessage: "MAX_63" };
|
|
39094
|
-
}
|
|
39095
|
-
if (!labelValueRegex.test(value2)) {
|
|
39096
|
-
return { isValid: false, errorMessage: "INVALID_VALUE" };
|
|
39097
|
-
}
|
|
39098
|
-
return { isValid: true };
|
|
39099
|
-
}
|
|
39100
|
-
const LabelFormatPopover_105yfzn = "";
|
|
39101
|
-
const PodLabelFormatRulePopoverStyle = "p5jt6nm";
|
|
39102
|
-
const LabelFormatPopover = () => {
|
|
39103
|
-
const {
|
|
39104
|
-
t: t2
|
|
39105
|
-
} = useTranslation();
|
|
39106
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Popover, {
|
|
39107
|
-
overlayClassName: PodLabelFormatRulePopoverStyle,
|
|
39108
|
-
placement: "bottomRight",
|
|
39109
|
-
content: /* @__PURE__ */ jsxRuntimeExports.jsx(AntdTable, {
|
|
39110
|
-
bordered: true,
|
|
39111
|
-
dataSource: [{
|
|
39112
|
-
object: t2("dovetail.key"),
|
|
39113
|
-
contains: t2("dovetail.suffix"),
|
|
39114
|
-
optional: t2("dovetail.no"),
|
|
39115
|
-
rule: [t2("dovetail.suffix_format_rule_1"), t2("dovetail.suffix_format_rule_2"), t2("dovetail.suffix_format_rule_3")]
|
|
39116
|
-
}, {
|
|
39117
|
-
object: t2("dovetail.key"),
|
|
39118
|
-
contains: t2("dovetail.name"),
|
|
39119
|
-
optional: t2("dovetail.yes"),
|
|
39120
|
-
rule: [t2("dovetail.name_format_rule_1"), t2("dovetail.name_format_rule_2"), t2("dovetail.name_format_rule_3")]
|
|
39121
|
-
}, {
|
|
39122
|
-
object: t2("dovetail.value"),
|
|
39123
|
-
contains: t2("dovetail.name"),
|
|
39124
|
-
optional: t2("dovetail.no"),
|
|
39125
|
-
rule: [t2("dovetail.name_format_rule_1"), t2("dovetail.name_format_rule_2"), t2("dovetail.name_format_rule_3")]
|
|
39126
|
-
}],
|
|
39127
|
-
columns: [{
|
|
39128
|
-
key: "object",
|
|
39129
|
-
title: t2("dovetail.object"),
|
|
39130
|
-
dataIndex: "object",
|
|
39131
|
-
render: (cell, record, index2) => {
|
|
39132
|
-
return {
|
|
39133
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", {
|
|
39134
|
-
className: Typo.Label.l4_bold,
|
|
39135
|
-
children: cell
|
|
39136
|
-
}),
|
|
39137
|
-
props: {
|
|
39138
|
-
rowSpan: index2 === 0 ? 2 : index2 === 1 ? 0 : 1
|
|
39139
|
-
}
|
|
39140
|
-
};
|
|
39141
|
-
}
|
|
39142
|
-
}, {
|
|
39143
|
-
key: "contains",
|
|
39144
|
-
title: t2("dovetail.contains"),
|
|
39145
|
-
dataIndex: "contains"
|
|
39146
|
-
}, {
|
|
39147
|
-
key: "optional",
|
|
39148
|
-
title: t2("dovetail.optional"),
|
|
39149
|
-
dataIndex: "optional"
|
|
39150
|
-
}, {
|
|
39151
|
-
key: "rule",
|
|
39152
|
-
title: t2("dovetail.format_requirements"),
|
|
39153
|
-
dataIndex: "rule",
|
|
39154
|
-
render: (cell) => {
|
|
39155
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("ul", {
|
|
39156
|
-
className: "rule-list",
|
|
39157
|
-
children: cell.map((rule2, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx("li", {
|
|
39158
|
-
children: rule2
|
|
39159
|
-
}, index2))
|
|
39160
|
-
});
|
|
39161
|
-
}
|
|
39162
|
-
}],
|
|
39163
|
-
pagination: false
|
|
39164
|
-
}),
|
|
39165
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
|
|
39166
|
-
size: "small",
|
|
39167
|
-
type: "link",
|
|
39168
|
-
children: t2("dovetail.look_format_requirement")
|
|
39169
|
-
})
|
|
39170
|
-
});
|
|
39171
|
-
};
|
|
39172
|
-
const KeyValueTableForm_1eydq7y = "";
|
|
39173
|
-
function _KeyValueTableFormForm(props, ref) {
|
|
39174
|
-
const {
|
|
39175
|
-
defaultValue,
|
|
39176
|
-
onSubmit,
|
|
39177
|
-
extraColumns,
|
|
39178
|
-
addButtonText
|
|
39179
|
-
} = props;
|
|
39180
|
-
const {
|
|
39181
|
-
t: t2
|
|
39182
|
-
} = useTranslation();
|
|
39183
|
-
const [value2, setValue] = useState([]);
|
|
39184
|
-
const tableFormRef = useRef(null);
|
|
39185
|
-
useImperativeHandle(ref, () => ({
|
|
39186
|
-
submit: () => {
|
|
39187
|
-
return new Promise((res, rej) => {
|
|
39188
|
-
var _a;
|
|
39189
|
-
(_a = tableFormRef.current) == null ? void 0 : _a.validateWholeFields();
|
|
39190
|
-
setTimeout(() => {
|
|
39191
|
-
var _a2;
|
|
39192
|
-
const isValid = (_a2 = tableFormRef.current) == null ? void 0 : _a2.isValid();
|
|
39193
|
-
if (isValid) {
|
|
39194
|
-
res(onSubmit(value2));
|
|
39195
|
-
} else {
|
|
39196
|
-
rej();
|
|
39197
|
-
}
|
|
39198
|
-
}, 0);
|
|
39199
|
-
});
|
|
39200
|
-
}
|
|
39201
|
-
}), [onSubmit, value2]);
|
|
39202
|
-
const renderTextAreaFunc = ({
|
|
39203
|
-
value: value22,
|
|
39204
|
-
onChange
|
|
39205
|
-
}) => {
|
|
39206
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(TextArea, {
|
|
39207
|
-
autoSize: true,
|
|
39208
|
-
className: "clsjtk2",
|
|
39209
|
-
size: "small",
|
|
39210
|
-
value: value22,
|
|
39211
|
-
onChange: (e2) => {
|
|
39212
|
-
onChange(e2.target.value);
|
|
39213
|
-
}
|
|
39214
|
-
});
|
|
39215
|
-
};
|
|
39216
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
|
|
39217
|
-
size: 8,
|
|
39218
|
-
direction: "vertical",
|
|
39219
|
-
className: "cq3mbby",
|
|
39220
|
-
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(TableForm, {
|
|
39221
|
-
ref: tableFormRef,
|
|
39222
|
-
onBodyChange: (value22) => {
|
|
39223
|
-
setValue(value22);
|
|
39224
|
-
},
|
|
39225
|
-
columns: [{
|
|
39226
|
-
key: "key",
|
|
39227
|
-
title: t2("dovetail.key"),
|
|
39228
|
-
type: "input",
|
|
39229
|
-
validator: ({
|
|
39230
|
-
value: value22
|
|
39231
|
-
}) => {
|
|
39232
|
-
if (!value22)
|
|
39233
|
-
return t2("dovetail.key_empty_text");
|
|
39234
|
-
const {
|
|
39235
|
-
isValid,
|
|
39236
|
-
errorMessage
|
|
39237
|
-
} = validateLabelKey(value22 || "");
|
|
39238
|
-
if (!isValid)
|
|
39239
|
-
return t2("dovetail.format_error");
|
|
39240
|
-
},
|
|
39241
|
-
render: renderTextAreaFunc
|
|
39242
|
-
}, {
|
|
39243
|
-
key: "value",
|
|
39244
|
-
title: t2("dovetail.value_optional"),
|
|
39245
|
-
type: "input",
|
|
39246
|
-
validator: ({
|
|
39247
|
-
value: value22
|
|
39248
|
-
}) => {
|
|
39249
|
-
const {
|
|
39250
|
-
isValid
|
|
39251
|
-
} = validateLabelValue(value22 || "");
|
|
39252
|
-
if (!isValid)
|
|
39253
|
-
return t2("dovetail.format_error");
|
|
39254
|
-
},
|
|
39255
|
-
render: renderTextAreaFunc
|
|
39256
|
-
}, ...extraColumns || []],
|
|
39257
|
-
disableBatchFilling: true,
|
|
39258
|
-
hideEmptyTable: true,
|
|
39259
|
-
rowAddConfig: {
|
|
39260
|
-
addible: true,
|
|
39261
|
-
text: () => addButtonText
|
|
39262
|
-
},
|
|
39263
|
-
defaultData: defaultValue,
|
|
39264
|
-
row: {
|
|
39265
|
-
deletable: true
|
|
39266
|
-
}
|
|
39267
|
-
}), /* @__PURE__ */ jsxRuntimeExports.jsx(LabelFormatPopover, {})]
|
|
39268
|
-
});
|
|
39269
|
-
}
|
|
39270
|
-
const KeyValueTableFormForm = React__default.forwardRef(_KeyValueTableFormForm);
|
|
39271
39437
|
const EditLabelForm = React__default.forwardRef(
|
|
39272
39438
|
function EditLabelForm2(props, ref) {
|
|
39273
39439
|
var _a;
|
|
@@ -39332,26 +39498,23 @@ function EditLabelDropdownMenuItem(props) {
|
|
|
39332
39498
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
39333
39499
|
Menu$1.Item,
|
|
39334
39500
|
{
|
|
39501
|
+
...props,
|
|
39335
39502
|
className: "ant-dropdown-menu-item",
|
|
39336
|
-
onClick: () => {
|
|
39503
|
+
onClick: (e2) => {
|
|
39504
|
+
var _a;
|
|
39337
39505
|
const modalProps = {
|
|
39338
39506
|
formRef,
|
|
39339
39507
|
title: t2("dovetail.edit_label"),
|
|
39340
39508
|
fullscreen: true,
|
|
39341
39509
|
renderContent() {
|
|
39342
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
39343
|
-
EditLabelForm,
|
|
39344
|
-
{
|
|
39345
|
-
ref: formRef,
|
|
39346
|
-
resourceModel
|
|
39347
|
-
}
|
|
39348
|
-
);
|
|
39510
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(EditLabelForm, { ref: formRef, resourceModel });
|
|
39349
39511
|
}
|
|
39350
39512
|
};
|
|
39351
39513
|
pushModal({
|
|
39352
39514
|
component: EditFieldModal,
|
|
39353
39515
|
props: modalProps
|
|
39354
39516
|
});
|
|
39517
|
+
(_a = props.onClick) == null ? void 0 : _a.call(props, e2);
|
|
39355
39518
|
},
|
|
39356
39519
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, { src: EditPen16BlueIcon, children: t2("dovetail.edit_label") })
|
|
39357
39520
|
}
|
|
@@ -39419,31 +39582,57 @@ function EditAnnotationDropdownMenuItem(props) {
|
|
|
39419
39582
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
39420
39583
|
Menu$1.Item,
|
|
39421
39584
|
{
|
|
39585
|
+
...props,
|
|
39422
39586
|
className: "ant-dropdown-menu-item",
|
|
39423
|
-
onClick: () => {
|
|
39587
|
+
onClick: (e2) => {
|
|
39588
|
+
var _a;
|
|
39424
39589
|
const modalProps = {
|
|
39425
39590
|
formRef,
|
|
39426
39591
|
title: t2("dovetail.edit_annotation"),
|
|
39427
39592
|
fullscreen: true,
|
|
39428
39593
|
renderContent() {
|
|
39429
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
39430
|
-
EditAnnotationForm,
|
|
39431
|
-
{
|
|
39432
|
-
ref: formRef,
|
|
39433
|
-
resourceModel
|
|
39434
|
-
}
|
|
39435
|
-
);
|
|
39594
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(EditAnnotationForm, { ref: formRef, resourceModel });
|
|
39436
39595
|
}
|
|
39437
39596
|
};
|
|
39438
39597
|
pushModal({
|
|
39439
39598
|
component: EditFieldModal,
|
|
39440
39599
|
props: modalProps
|
|
39441
39600
|
});
|
|
39601
|
+
(_a = props.onClick) == null ? void 0 : _a.call(props, e2);
|
|
39442
39602
|
},
|
|
39443
39603
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, { src: EditPen16BlueIcon, children: t2("dovetail.edit_annotation") })
|
|
39444
39604
|
}
|
|
39445
39605
|
);
|
|
39446
39606
|
}
|
|
39607
|
+
function EditNodeTaintDropdownMenuItem(props) {
|
|
39608
|
+
const { formRef, resourceModel } = props;
|
|
39609
|
+
const { t: t2 } = useTranslation();
|
|
39610
|
+
const pushModal = usePushModal();
|
|
39611
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
39612
|
+
Menu$1.Item,
|
|
39613
|
+
{
|
|
39614
|
+
...props,
|
|
39615
|
+
className: "ant-dropdown-menu-item",
|
|
39616
|
+
onClick: (e2) => {
|
|
39617
|
+
var _a;
|
|
39618
|
+
const modalProps = {
|
|
39619
|
+
formRef,
|
|
39620
|
+
title: t2("dovetail.edit_node_taint"),
|
|
39621
|
+
fullscreen: true,
|
|
39622
|
+
renderContent() {
|
|
39623
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(EditNodeTaintForm, { ref: formRef, nodeModel: resourceModel });
|
|
39624
|
+
}
|
|
39625
|
+
};
|
|
39626
|
+
pushModal({
|
|
39627
|
+
component: EditFieldModal,
|
|
39628
|
+
props: modalProps
|
|
39629
|
+
});
|
|
39630
|
+
(_a = props.onClick) == null ? void 0 : _a.call(props, e2);
|
|
39631
|
+
},
|
|
39632
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, { src: EditPen16BlueIcon, children: t2("dovetail.edit_node_taint") })
|
|
39633
|
+
}
|
|
39634
|
+
);
|
|
39635
|
+
}
|
|
39447
39636
|
const index_sazpyf = "";
|
|
39448
39637
|
const WrapperStyle = "wfg6u6g";
|
|
39449
39638
|
const InnerBar = ({
|
|
@@ -40683,7 +40872,7 @@ export {
|
|
|
40683
40872
|
useGlobalStore as Z,
|
|
40684
40873
|
useOpenForm as _,
|
|
40685
40874
|
useApiGroupSchema as a,
|
|
40686
|
-
|
|
40875
|
+
PodSelectorField as a$,
|
|
40687
40876
|
WidgetErrorContent as a0,
|
|
40688
40877
|
Breadcrumb as a1,
|
|
40689
40878
|
NameInputWidget as a2,
|
|
@@ -40694,33 +40883,33 @@ export {
|
|
|
40694
40883
|
namespaceRules as a7,
|
|
40695
40884
|
KeyValueListWidget as a8,
|
|
40696
40885
|
MetadataForm as a9,
|
|
40697
|
-
|
|
40698
|
-
|
|
40699
|
-
|
|
40700
|
-
|
|
40701
|
-
|
|
40702
|
-
|
|
40703
|
-
|
|
40704
|
-
|
|
40705
|
-
|
|
40706
|
-
|
|
40707
|
-
|
|
40708
|
-
|
|
40709
|
-
|
|
40710
|
-
|
|
40711
|
-
|
|
40712
|
-
|
|
40713
|
-
|
|
40714
|
-
|
|
40715
|
-
|
|
40716
|
-
|
|
40717
|
-
|
|
40718
|
-
|
|
40719
|
-
|
|
40720
|
-
|
|
40721
|
-
|
|
40722
|
-
|
|
40723
|
-
|
|
40886
|
+
KeyValueSecret as aA,
|
|
40887
|
+
Separator as aB,
|
|
40888
|
+
YamlEditorComponent as aC,
|
|
40889
|
+
DeleteButton as aD,
|
|
40890
|
+
Layout as aE,
|
|
40891
|
+
AreaType as aF,
|
|
40892
|
+
ImageField as aG,
|
|
40893
|
+
ReplicaField as aH,
|
|
40894
|
+
ConditionsField as aI,
|
|
40895
|
+
NodeTaintsField as aJ,
|
|
40896
|
+
PodsField as aK,
|
|
40897
|
+
JobsField as aL,
|
|
40898
|
+
DataField as aM,
|
|
40899
|
+
SecretDataField as aN,
|
|
40900
|
+
StartTimeField as aO,
|
|
40901
|
+
ServiceTypeField as aP,
|
|
40902
|
+
ClusterIpField as aQ,
|
|
40903
|
+
SessionAffinityField as aR,
|
|
40904
|
+
ServicePodsField as aS,
|
|
40905
|
+
IngressRulesTableTabField as aT,
|
|
40906
|
+
EventsTableTabField as aU,
|
|
40907
|
+
NamespaceField as aV,
|
|
40908
|
+
AgeField as aW,
|
|
40909
|
+
LabelsField as aX,
|
|
40910
|
+
AnnotationsField as aY,
|
|
40911
|
+
ServiceInnerClusterAccessField as aZ,
|
|
40912
|
+
ServiceOutClusterAccessField as a_,
|
|
40724
40913
|
PageShow as aa,
|
|
40725
40914
|
Time as ab,
|
|
40726
40915
|
ConditionsTable as ac,
|
|
@@ -40740,154 +40929,155 @@ export {
|
|
|
40740
40929
|
K8sDropdown as aq,
|
|
40741
40930
|
EditLabelDropdownMenuItem as ar,
|
|
40742
40931
|
EditAnnotationDropdownMenuItem as as,
|
|
40743
|
-
|
|
40744
|
-
|
|
40745
|
-
|
|
40746
|
-
|
|
40747
|
-
|
|
40748
|
-
|
|
40749
|
-
|
|
40932
|
+
EditNodeTaintDropdownMenuItem as at,
|
|
40933
|
+
ResourceUsageBar as au,
|
|
40934
|
+
WorkloadReplicasForm as av,
|
|
40935
|
+
WorkloadReplicas as aw,
|
|
40936
|
+
CronjobJobsTable as ax,
|
|
40937
|
+
KeyValue as ay,
|
|
40938
|
+
KeyValueAnnotation as az,
|
|
40750
40939
|
useSchema as b,
|
|
40751
|
-
|
|
40752
|
-
|
|
40753
|
-
|
|
40754
|
-
|
|
40755
|
-
|
|
40756
|
-
|
|
40757
|
-
|
|
40758
|
-
|
|
40759
|
-
|
|
40760
|
-
|
|
40761
|
-
|
|
40762
|
-
|
|
40763
|
-
|
|
40764
|
-
|
|
40765
|
-
|
|
40766
|
-
|
|
40767
|
-
|
|
40768
|
-
|
|
40769
|
-
|
|
40770
|
-
|
|
40771
|
-
|
|
40772
|
-
|
|
40773
|
-
|
|
40774
|
-
|
|
40775
|
-
|
|
40776
|
-
|
|
40777
|
-
|
|
40778
|
-
|
|
40779
|
-
|
|
40780
|
-
|
|
40781
|
-
|
|
40782
|
-
|
|
40783
|
-
|
|
40784
|
-
|
|
40785
|
-
|
|
40786
|
-
|
|
40787
|
-
|
|
40788
|
-
|
|
40789
|
-
|
|
40790
|
-
|
|
40791
|
-
|
|
40792
|
-
|
|
40793
|
-
|
|
40794
|
-
|
|
40795
|
-
|
|
40796
|
-
|
|
40797
|
-
|
|
40798
|
-
|
|
40799
|
-
|
|
40800
|
-
|
|
40801
|
-
|
|
40802
|
-
|
|
40803
|
-
|
|
40804
|
-
|
|
40805
|
-
|
|
40806
|
-
|
|
40807
|
-
|
|
40808
|
-
|
|
40809
|
-
|
|
40810
|
-
|
|
40811
|
-
|
|
40812
|
-
|
|
40813
|
-
|
|
40814
|
-
|
|
40940
|
+
NetworkPolicyRulesViewer as b$,
|
|
40941
|
+
PortsTableField as b0,
|
|
40942
|
+
DurationField as b1,
|
|
40943
|
+
StorageClassProvisionerField as b2,
|
|
40944
|
+
StorageClassPvField as b3,
|
|
40945
|
+
PVCapacityField as b4,
|
|
40946
|
+
PVCStorageField as b5,
|
|
40947
|
+
PVRefField as b6,
|
|
40948
|
+
PVStorageClassField as b7,
|
|
40949
|
+
PVPhaseField as b8,
|
|
40950
|
+
PVVolumeModeField as b9,
|
|
40951
|
+
ResourceTableGroup as bA,
|
|
40952
|
+
ShowGroupComponent as bB,
|
|
40953
|
+
ShowContent as bC,
|
|
40954
|
+
DeleteManyButton as bD,
|
|
40955
|
+
ListPage as bE,
|
|
40956
|
+
StateTag as bF,
|
|
40957
|
+
DrawerShow as bG,
|
|
40958
|
+
Menu as bH,
|
|
40959
|
+
Table as bI,
|
|
40960
|
+
EditButton as bJ,
|
|
40961
|
+
ReferenceLink as bK,
|
|
40962
|
+
ResourceLink as bL,
|
|
40963
|
+
NS_STORE_KEY as bM,
|
|
40964
|
+
ALL_NS as bN,
|
|
40965
|
+
useNamespacesFilter as bO,
|
|
40966
|
+
NamespacesFilter as bP,
|
|
40967
|
+
FormModal as bQ,
|
|
40968
|
+
RefineFormContent as bR,
|
|
40969
|
+
RefineFormPage as bS,
|
|
40970
|
+
SchemaStrategy as bT,
|
|
40971
|
+
YamlForm as bU,
|
|
40972
|
+
useRefineForm as bV,
|
|
40973
|
+
ServiceInClusterAccessComponent as bW,
|
|
40974
|
+
ServiceOutClusterAccessComponent as bX,
|
|
40975
|
+
Tags as bY,
|
|
40976
|
+
TextTags as bZ,
|
|
40977
|
+
PodLog as b_,
|
|
40978
|
+
PVAccessModeField as ba,
|
|
40979
|
+
PVCPodsField as bb,
|
|
40980
|
+
PVCRefField as bc,
|
|
40981
|
+
PVCSIRefField as bd,
|
|
40982
|
+
IsDefaultSCField as be,
|
|
40983
|
+
SCReclaimPolicyField as bf,
|
|
40984
|
+
IsSCAllowVolumeExpansionField as bg,
|
|
40985
|
+
ResourceTableField as bh,
|
|
40986
|
+
EventsTab as bi,
|
|
40987
|
+
PodLogTab as bj,
|
|
40988
|
+
BasicGroup as bk,
|
|
40989
|
+
PodsGroup as bl,
|
|
40990
|
+
PodContainersGroup as bm,
|
|
40991
|
+
ServicePodsGroup as bn,
|
|
40992
|
+
PVCPodsGroup as bo,
|
|
40993
|
+
ConditionsGroup as bp,
|
|
40994
|
+
NodeTaintsGroup as bq,
|
|
40995
|
+
SecretDataGroup as br,
|
|
40996
|
+
JobsGroup as bs,
|
|
40997
|
+
IngressRulesGroup as bt,
|
|
40998
|
+
PodSelectorGroup as bu,
|
|
40999
|
+
PortsGroup as bv,
|
|
41000
|
+
DataGroup as bw,
|
|
41001
|
+
NetworkPolicyIngressRulesGroup as bx,
|
|
41002
|
+
NetworkPolicyEgressRulesGroup as by,
|
|
41003
|
+
StorageClassPvGroup as bz,
|
|
40815
41004
|
useDeleteModal as c,
|
|
40816
|
-
|
|
40817
|
-
|
|
40818
|
-
|
|
40819
|
-
|
|
40820
|
-
|
|
40821
|
-
|
|
40822
|
-
|
|
40823
|
-
|
|
40824
|
-
|
|
40825
|
-
|
|
40826
|
-
|
|
40827
|
-
|
|
40828
|
-
|
|
40829
|
-
|
|
40830
|
-
|
|
40831
|
-
|
|
40832
|
-
|
|
40833
|
-
|
|
40834
|
-
|
|
40835
|
-
|
|
40836
|
-
|
|
40837
|
-
|
|
40838
|
-
|
|
40839
|
-
|
|
40840
|
-
|
|
40841
|
-
|
|
40842
|
-
|
|
40843
|
-
|
|
40844
|
-
|
|
40845
|
-
|
|
40846
|
-
|
|
40847
|
-
|
|
40848
|
-
|
|
40849
|
-
|
|
40850
|
-
|
|
40851
|
-
|
|
40852
|
-
|
|
40853
|
-
|
|
40854
|
-
|
|
40855
|
-
|
|
40856
|
-
|
|
40857
|
-
|
|
40858
|
-
|
|
40859
|
-
|
|
40860
|
-
|
|
40861
|
-
|
|
40862
|
-
|
|
40863
|
-
|
|
40864
|
-
|
|
40865
|
-
|
|
40866
|
-
|
|
40867
|
-
|
|
40868
|
-
|
|
40869
|
-
|
|
40870
|
-
|
|
40871
|
-
|
|
40872
|
-
|
|
40873
|
-
|
|
40874
|
-
|
|
40875
|
-
|
|
40876
|
-
|
|
40877
|
-
|
|
40878
|
-
|
|
40879
|
-
|
|
41005
|
+
PersistentVolumeModel as c$,
|
|
41006
|
+
PVVolumeModeDisplay as c0,
|
|
41007
|
+
Tabs as c1,
|
|
41008
|
+
ResourceSelect as c2,
|
|
41009
|
+
SocketStatus as c3,
|
|
41010
|
+
Shell as c4,
|
|
41011
|
+
PodShellModal as c5,
|
|
41012
|
+
PodShell as c6,
|
|
41013
|
+
ResourceTable as c7,
|
|
41014
|
+
ErrorWrapper as c8,
|
|
41015
|
+
ErrorContentType as c9,
|
|
41016
|
+
PVC_INIT_VALUE as cA,
|
|
41017
|
+
ResourceState as cB,
|
|
41018
|
+
AccessControlAuth as cC,
|
|
41019
|
+
Dovetail as cD,
|
|
41020
|
+
RESOURCE_GROUP as cE,
|
|
41021
|
+
FormType as cF,
|
|
41022
|
+
ComponentContext as cG,
|
|
41023
|
+
GlobalStoreContext as cH,
|
|
41024
|
+
ConfigsContext as cI,
|
|
41025
|
+
IngressModel as cJ,
|
|
41026
|
+
NetworkPolicyModel as cK,
|
|
41027
|
+
JobModel as cL,
|
|
41028
|
+
WorkloadModel as cM,
|
|
41029
|
+
WorkloadBaseModel as cN,
|
|
41030
|
+
PodModel as cO,
|
|
41031
|
+
PodMetricsModel as cP,
|
|
41032
|
+
ResourceModel as cQ,
|
|
41033
|
+
CronJobModel as cR,
|
|
41034
|
+
EventModel as cS,
|
|
41035
|
+
DeploymentModel as cT,
|
|
41036
|
+
DaemonSetModel as cU,
|
|
41037
|
+
StatefulSetModel as cV,
|
|
41038
|
+
ServiceTypeEnum as cW,
|
|
41039
|
+
ServiceModel as cX,
|
|
41040
|
+
NodeRole as cY,
|
|
41041
|
+
NodeModel as cZ,
|
|
41042
|
+
StorageClassModel as c_,
|
|
41043
|
+
BASE_INIT_VALUE as ca,
|
|
41044
|
+
DEPLOYMENT_INIT_VALUE as cb,
|
|
41045
|
+
CRONJOB_INIT_VALUE as cc,
|
|
41046
|
+
DAEMONSET_INIT_VALUE as cd,
|
|
41047
|
+
JOB_INIT_VALUE as ce,
|
|
41048
|
+
STATEFULSET_INIT_VALUE as cf,
|
|
41049
|
+
POD_INIT_VALUE as cg,
|
|
41050
|
+
SERVICE_CLUSTER_IP_INIT_VALUE as ch,
|
|
41051
|
+
SERVICE_NODE_PORT_INIT_VALUE as ci,
|
|
41052
|
+
SERVICE_LOAD_BALANCER_INIT_VALUE as cj,
|
|
41053
|
+
SERVICE_EXTERNAL_NAME_INIT_VALUE as ck,
|
|
41054
|
+
SERVICE_HEADLESS_INIT_VALUE as cl,
|
|
41055
|
+
INGRESS_INIT_VALUE as cm,
|
|
41056
|
+
NETWORK_POLICY_INIT_VALUE as cn,
|
|
41057
|
+
CONFIG_MAP_INIT_VALUE as co,
|
|
41058
|
+
SERVER_INSTANCE_INIT_VALUE as cp,
|
|
41059
|
+
REDEPLOY_TIMESTAMP_KEY as cq,
|
|
41060
|
+
SECRET_OPAQUE_INIT_VALUE as cr,
|
|
41061
|
+
SECRET_IMAGE_REPO_INIT_VALUE as cs,
|
|
41062
|
+
SECRET_BASIC_AUTH_INIT_VALUE as ct,
|
|
41063
|
+
SECRET_SSH_AUTH_INIT_VALUE as cu,
|
|
41064
|
+
SECRET_TLS_INIT_VALUE as cv,
|
|
41065
|
+
SECRET_CUSTOM_INIT_VALUE as cw,
|
|
41066
|
+
NODE_INIT_VALUE as cx,
|
|
41067
|
+
STORAGE_CLASS_INIT_VALUE as cy,
|
|
41068
|
+
PV_INIT_VALUE as cz,
|
|
40880
41069
|
dovetailRefineI18n as d,
|
|
40881
|
-
|
|
40882
|
-
|
|
40883
|
-
|
|
40884
|
-
|
|
40885
|
-
|
|
40886
|
-
|
|
40887
|
-
|
|
40888
|
-
|
|
40889
|
-
|
|
40890
|
-
|
|
41070
|
+
PersistentVolumeClaimModel as d0,
|
|
41071
|
+
ProviderPlugins as d1,
|
|
41072
|
+
ModelPlugin as d2,
|
|
41073
|
+
modelPlugin as d3,
|
|
41074
|
+
RelationPlugin as d4,
|
|
41075
|
+
relationPlugin as d5,
|
|
41076
|
+
generateValueFromSchema as d6,
|
|
41077
|
+
generateSchemaTypeValue as d7,
|
|
41078
|
+
resolveRef as d8,
|
|
41079
|
+
getApiVersion as d9,
|
|
41080
|
+
pruneBeforeEdit as da,
|
|
40891
41081
|
NameSpaceColumnRenderer as e,
|
|
40892
41082
|
WorkloadRestartsColumnRenderer as f,
|
|
40893
41083
|
NodeNameColumnRenderer as g,
|