@dovetail-v2/refine 0.3.0 → 0.3.1
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-74ecf0d5.js → MonacoYamlEditor-5e4c98ce.js} +1 -1
- package/dist/{MonacoYamlEditor-1ed09191.cjs → MonacoYamlEditor-9b8b7cef.cjs} +1 -1
- package/dist/components/Form/FormModal.d.ts +2 -0
- package/dist/components/Form/RefineFormContainer.d.ts +2 -1
- package/dist/components/Form/YamlForm.d.ts +2 -2
- package/dist/components/Form/YamlFormContainer.d.ts +3 -2
- package/dist/components/Form/type.d.ts +11 -1
- package/dist/components/KeyValueTableForm/index.d.ts +34 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/hooks/useOpenForm.d.ts +5 -2
- package/dist/i18n.d.ts +1 -0
- package/dist/{index-23ef5f69.js → index-c4f4f337.js} +393 -252
- package/dist/{index-7c78ef6f.cjs → index-e9523181.cjs} +306 -165
- package/dist/locales/zh-CN/index.d.ts +1 -0
- package/dist/refine.cjs +6 -1
- package/dist/refine.js +90 -85
- package/dist/style.css +9 -4
- package/dist/utils/file.d.ts +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/validation.d.ts +5 -1
- package/package.json +1 -1
- package/dist/components/EditMetadataForm/KeyValueTableForm.d.ts +0 -16
|
@@ -12,9 +12,9 @@ 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, Tabs as Tabs$1, TabsTabPane, Row, Col, Popover, AntdTable, TableForm, getOptions, DonutChart, SegmentControl, Checkbox, useMessage, SearchInput, Token, AntdSelectOptGroup, MenuItemGroup, Layout as Layout$1, Time as Time$1, ModalStack, KitStoreProvider, ConfigProvider } from "@cloudtower/eagle";
|
|
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, Tabs as Tabs$1, TabsTabPane, Row, Col, Popover, AntdTable, TableForm, Upload, getOptions, DonutChart, SegmentControl, Checkbox, useMessage, SearchInput, Token, AntdSelectOptGroup, MenuItemGroup, Layout as Layout$1, Time as Time$1, ModalStack, KitStoreProvider, ConfigProvider } from "@cloudtower/eagle";
|
|
16
16
|
import { EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, PlusAddCreateNew16BoldOntintIcon, ArrowChevronLeft16BoldTertiaryIcon, ArrowChevronLeftSmall16BoldBlueIcon, ViewEye16GradientGrayIcon, EntityFilterIgnoreGradient16GrayIcon, InfoICircleFill16GrayIcon, InfoICircleFill16Gray70Icon, RecoverContinue16GradientBlueIcon, SuspendedPause16GradientBlueIcon, Retry16GradientBlueIcon, OpenTerminal16GradientBlueIcon, HierarchyTriangleRight16GrayIcon, HierarchyTriangleRight16BlueIcon, ClipboardCopy16GradientGrayIcon, ClipboardCopy16GradientBlueIcon, Retry16GradientGrayIcon, EditPen16GradientGrayIcon, EditPen16GradientBlueIcon, Showdiff16GradientGrayIcon, Showdiff16GradientBlueIcon, XmarkFailedSeriousWarningFill16RedIcon, ExclamationErrorCircleFill16RedIcon, Pause16GradientBlueIcon, EditPen16BlueIcon } from "@cloudtower/icons-react";
|
|
17
|
-
import { first, get as get$2, cloneDeep, set, omit as omit$1, merge, debounce, last, setWith, clone, isObject as isObject$3, uniq, keyBy } from "lodash-es";
|
|
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";
|
|
20
20
|
import { paginateData, sortData, dataProvider, liveProvider } from "k8s-api-provider";
|
|
@@ -1163,6 +1163,7 @@ const confirm = "确认";
|
|
|
1163
1163
|
const cant_delete_resource = "无法删除{{resource}}";
|
|
1164
1164
|
const cant_delete_resource_with_name = "无法删除{{resource}} <0>{{name}}</0> 。";
|
|
1165
1165
|
const close = "关闭";
|
|
1166
|
+
const import_from_file = "从文件读取";
|
|
1166
1167
|
const dovetail = {
|
|
1167
1168
|
copy,
|
|
1168
1169
|
reset_arguments,
|
|
@@ -1404,7 +1405,8 @@ const dovetail = {
|
|
|
1404
1405
|
confirm,
|
|
1405
1406
|
cant_delete_resource,
|
|
1406
1407
|
cant_delete_resource_with_name,
|
|
1407
|
-
close
|
|
1408
|
+
close,
|
|
1409
|
+
import_from_file
|
|
1408
1410
|
};
|
|
1409
1411
|
const ZH = {
|
|
1410
1412
|
dovetail
|
|
@@ -5615,7 +5617,7 @@ lodash.exports;
|
|
|
5615
5617
|
}
|
|
5616
5618
|
return true;
|
|
5617
5619
|
}
|
|
5618
|
-
function
|
|
5620
|
+
function isEqual2(value2, other) {
|
|
5619
5621
|
return baseIsEqual(value2, other);
|
|
5620
5622
|
}
|
|
5621
5623
|
function isEqualWith(value2, other, customizer) {
|
|
@@ -6728,7 +6730,7 @@ lodash.exports;
|
|
|
6728
6730
|
lodash2.isDate = isDate;
|
|
6729
6731
|
lodash2.isElement = isElement;
|
|
6730
6732
|
lodash2.isEmpty = isEmpty;
|
|
6731
|
-
lodash2.isEqual =
|
|
6733
|
+
lodash2.isEqual = isEqual2;
|
|
6732
6734
|
lodash2.isEqualWith = isEqualWith;
|
|
6733
6735
|
lodash2.isError = isError;
|
|
6734
6736
|
lodash2.isFinite = isFinite2;
|
|
@@ -10176,29 +10178,38 @@ function getInitialValues(config) {
|
|
|
10176
10178
|
spec: {}
|
|
10177
10179
|
};
|
|
10178
10180
|
}
|
|
10179
|
-
function useOpenForm(
|
|
10181
|
+
function useOpenForm() {
|
|
10180
10182
|
const { resource } = useResource();
|
|
10181
10183
|
const configs = useContext(ConfigsContext);
|
|
10182
10184
|
const { edit: edit2 } = useEdit();
|
|
10183
10185
|
const navigation = useNavigation();
|
|
10184
10186
|
const pushModal = usePushModal();
|
|
10185
10187
|
const go = useGo();
|
|
10186
|
-
return function openForm(
|
|
10187
|
-
var _a
|
|
10188
|
-
const finalResourceName = resourceName || (resource == null ? void 0 : resource.name);
|
|
10188
|
+
return function openForm(options) {
|
|
10189
|
+
var _a;
|
|
10190
|
+
const finalResourceName = (options == null ? void 0 : options.resourceName) || (resource == null ? void 0 : resource.name);
|
|
10189
10191
|
if (finalResourceName) {
|
|
10190
10192
|
const config = configs[finalResourceName];
|
|
10191
10193
|
const formType = (_a = config.formConfig) == null ? void 0 : _a.formContainerType;
|
|
10192
10194
|
if (formType === void 0 || formType === FormContainerType.MODAL) {
|
|
10193
10195
|
pushModal({
|
|
10194
|
-
component: (
|
|
10195
|
-
|
|
10196
|
-
|
|
10197
|
-
|
|
10198
|
-
|
|
10199
|
-
|
|
10200
|
-
|
|
10201
|
-
|
|
10196
|
+
component: () => {
|
|
10197
|
+
var _a2;
|
|
10198
|
+
const ModalComponent = ((_a2 = config.formConfig) == null ? void 0 : _a2.CustomFormModal) || FormModal;
|
|
10199
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
10200
|
+
ModalComponent,
|
|
10201
|
+
{
|
|
10202
|
+
resource: finalResourceName,
|
|
10203
|
+
id: options == null ? void 0 : options.id,
|
|
10204
|
+
yamlFormProps: {
|
|
10205
|
+
config,
|
|
10206
|
+
initialValuesForCreate: getInitialValues(config)
|
|
10207
|
+
},
|
|
10208
|
+
onSuccess: options == null ? void 0 : options.onSuccess
|
|
10209
|
+
}
|
|
10210
|
+
);
|
|
10211
|
+
},
|
|
10212
|
+
props: {}
|
|
10202
10213
|
});
|
|
10203
10214
|
} else if (options == null ? void 0 : options.id) {
|
|
10204
10215
|
edit2(options.id);
|
|
@@ -10217,6 +10228,52 @@ function getResourceNameByKind(kind, configs) {
|
|
|
10217
10228
|
var _a;
|
|
10218
10229
|
return (_a = Object.values(configs).find((config) => config.kind === kind)) == null ? void 0 : _a.name;
|
|
10219
10230
|
}
|
|
10231
|
+
function validateDnsSubdomain(subdomain) {
|
|
10232
|
+
const regex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.\-\_]*[a-zA-Z0-9]$)/;
|
|
10233
|
+
if (!regex.test(subdomain)) {
|
|
10234
|
+
return { isValid: false };
|
|
10235
|
+
}
|
|
10236
|
+
if (subdomain && subdomain.length > 63) {
|
|
10237
|
+
return { isValid: false };
|
|
10238
|
+
}
|
|
10239
|
+
return { isValid: true };
|
|
10240
|
+
}
|
|
10241
|
+
function validateLabelKey(key2) {
|
|
10242
|
+
const labelRegex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.\-\_]*[a-zA-Z0-9]$)/;
|
|
10243
|
+
let prefix2, name2;
|
|
10244
|
+
const splitResult = key2.split("/");
|
|
10245
|
+
if (splitResult.length === 1) {
|
|
10246
|
+
name2 = splitResult[0];
|
|
10247
|
+
} else {
|
|
10248
|
+
prefix2 = splitResult[0];
|
|
10249
|
+
name2 = splitResult[1];
|
|
10250
|
+
}
|
|
10251
|
+
if (prefix2 === "") {
|
|
10252
|
+
return { isValid: false };
|
|
10253
|
+
}
|
|
10254
|
+
if (prefix2 && !labelRegex.test(prefix2)) {
|
|
10255
|
+
return { isValid: false };
|
|
10256
|
+
}
|
|
10257
|
+
if (prefix2 && prefix2.length > 253) {
|
|
10258
|
+
return { isValid: false };
|
|
10259
|
+
}
|
|
10260
|
+
return validateDnsSubdomain(name2);
|
|
10261
|
+
}
|
|
10262
|
+
function validateLabelValue(value2, isOptional) {
|
|
10263
|
+
const labelValueRegex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.\-\_]*[a-zA-Z0-9]$)/;
|
|
10264
|
+
if (isOptional && value2 === "") {
|
|
10265
|
+
return { isValid: true };
|
|
10266
|
+
} else if (value2 === "") {
|
|
10267
|
+
return { isValid: false };
|
|
10268
|
+
}
|
|
10269
|
+
if (value2.length > 63) {
|
|
10270
|
+
return { isValid: false };
|
|
10271
|
+
}
|
|
10272
|
+
if (!labelValueRegex.test(value2)) {
|
|
10273
|
+
return { isValid: false };
|
|
10274
|
+
}
|
|
10275
|
+
return { isValid: true };
|
|
10276
|
+
}
|
|
10220
10277
|
function K8sDropdown(props) {
|
|
10221
10278
|
var _a;
|
|
10222
10279
|
const { record, size = "normal" } = props;
|
|
@@ -10228,7 +10285,7 @@ function K8sDropdown(props) {
|
|
|
10228
10285
|
const { t: t2 } = useTranslation();
|
|
10229
10286
|
const { openDeleteConfirmModal } = useDeleteModal({ resourceName: resourceName || "" });
|
|
10230
10287
|
const download2 = useDownloadYAML();
|
|
10231
|
-
const openForm = useOpenForm(
|
|
10288
|
+
const openForm = useOpenForm();
|
|
10232
10289
|
const isInShowPage = useResourceResult.action === "show";
|
|
10233
10290
|
const { data: canEditData } = useCan({
|
|
10234
10291
|
resource: resourceName,
|
|
@@ -10249,7 +10306,7 @@ function K8sDropdown(props) {
|
|
|
10249
10306
|
Dropdown,
|
|
10250
10307
|
{
|
|
10251
10308
|
overlay: /* @__PURE__ */ jsxRuntimeExports.jsxs(Menu$1, { children: [
|
|
10252
|
-
isInShowPage || (canEditData == null ? void 0 : canEditData.can) === false || config.hideEdit ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(Menu$1.Item, { onClick: () => openForm(), children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, { src: EditPen16PrimaryIcon, children: formType === FormType.FORM ? t2("dovetail.edit") : t2("dovetail.edit_yaml") }) }),
|
|
10309
|
+
isInShowPage || (canEditData == null ? void 0 : canEditData.can) === false || config.hideEdit ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(Menu$1.Item, { onClick: () => openForm({ id: record.id }), children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon$1, { src: EditPen16PrimaryIcon, children: formType === FormType.FORM ? t2("dovetail.edit") : t2("dovetail.edit_yaml") }) }),
|
|
10253
10310
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
10254
10311
|
Menu$1.Item,
|
|
10255
10312
|
{
|
|
@@ -11027,9 +11084,7 @@ const ShowContent = (props) => {
|
|
|
11027
11084
|
} = queryResult;
|
|
11028
11085
|
const navigation = useNavigation();
|
|
11029
11086
|
const go = useGo();
|
|
11030
|
-
const openForm = useOpenForm(
|
|
11031
|
-
id
|
|
11032
|
-
});
|
|
11087
|
+
const openForm = useOpenForm();
|
|
11033
11088
|
const Component = useContext(ComponentContext);
|
|
11034
11089
|
const configs = useContext(ConfigsContext);
|
|
11035
11090
|
const config = configs[(resource == null ? void 0 : resource.name) || ""];
|
|
@@ -11132,7 +11187,9 @@ const ShowContent = (props) => {
|
|
|
11132
11187
|
style: {
|
|
11133
11188
|
marginRight: 8
|
|
11134
11189
|
},
|
|
11135
|
-
onClick: () => openForm(
|
|
11190
|
+
onClick: () => openForm({
|
|
11191
|
+
id
|
|
11192
|
+
}),
|
|
11136
11193
|
children: ((_f = config.formConfig) == null ? void 0 : _f.formType) === FormType.FORM ? t2("dovetail.edit") : t2("dovetail.edit_yaml")
|
|
11137
11194
|
})
|
|
11138
11195
|
}) : null, /* @__PURE__ */ jsxRuntimeExports.jsx(Dropdown2, {
|
|
@@ -11221,45 +11278,36 @@ function KeyValueSecret(props) {
|
|
|
11221
11278
|
})
|
|
11222
11279
|
});
|
|
11223
11280
|
}
|
|
11224
|
-
function
|
|
11225
|
-
|
|
11226
|
-
|
|
11227
|
-
|
|
11228
|
-
|
|
11229
|
-
|
|
11230
|
-
|
|
11231
|
-
prefix2 = splitResult[0];
|
|
11232
|
-
name2 = splitResult[1];
|
|
11233
|
-
}
|
|
11234
|
-
if (prefix2 === "") {
|
|
11235
|
-
return { isValid: false, errorMessage: "EMPTY_PREFIX" };
|
|
11236
|
-
}
|
|
11237
|
-
if (prefix2 && !labelRegex.test(prefix2)) {
|
|
11238
|
-
return { isValid: false, errorMessage: "INVALID_PREFIX" };
|
|
11239
|
-
}
|
|
11240
|
-
if (!labelRegex.test(name2)) {
|
|
11241
|
-
return { isValid: false, errorMessage: "INVALID_NAME" };
|
|
11242
|
-
}
|
|
11243
|
-
if (prefix2 && prefix2.length > 253) {
|
|
11244
|
-
return { isValid: false, errorMessage: "MAX_253" };
|
|
11245
|
-
}
|
|
11246
|
-
if (name2 && name2.length > 63) {
|
|
11247
|
-
return { isValid: false, errorMessage: "MAX_63" };
|
|
11281
|
+
function isUtf8(buffer) {
|
|
11282
|
+
try {
|
|
11283
|
+
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
11284
|
+
decoder.decode(buffer);
|
|
11285
|
+
return true;
|
|
11286
|
+
} catch (e2) {
|
|
11287
|
+
return false;
|
|
11248
11288
|
}
|
|
11249
|
-
return { isValid: true };
|
|
11250
11289
|
}
|
|
11251
|
-
function
|
|
11252
|
-
|
|
11253
|
-
|
|
11254
|
-
|
|
11255
|
-
|
|
11256
|
-
|
|
11257
|
-
|
|
11258
|
-
|
|
11259
|
-
|
|
11260
|
-
|
|
11261
|
-
|
|
11262
|
-
|
|
11290
|
+
function readFileAsBase64(file) {
|
|
11291
|
+
return new Promise((resolve, reject) => {
|
|
11292
|
+
const reader = new FileReader();
|
|
11293
|
+
reader.onload = async () => {
|
|
11294
|
+
const arrayBuffer = reader.result;
|
|
11295
|
+
if (arrayBuffer instanceof ArrayBuffer) {
|
|
11296
|
+
if (isUtf8(arrayBuffer)) {
|
|
11297
|
+
resolve(await file.text());
|
|
11298
|
+
} else {
|
|
11299
|
+
const base64String = btoa(
|
|
11300
|
+
String.fromCharCode(...new Uint8Array(arrayBuffer))
|
|
11301
|
+
);
|
|
11302
|
+
resolve(base64String);
|
|
11303
|
+
}
|
|
11304
|
+
return;
|
|
11305
|
+
}
|
|
11306
|
+
reject(new Error("Failed to read file"));
|
|
11307
|
+
};
|
|
11308
|
+
reader.onerror = reject;
|
|
11309
|
+
reader.readAsArrayBuffer(file);
|
|
11310
|
+
});
|
|
11263
11311
|
}
|
|
11264
11312
|
const LabelFormatPopover_piveun = "";
|
|
11265
11313
|
const PodLabelFormatRulePopoverStyle = "p5jt6nm";
|
|
@@ -11347,59 +11395,86 @@ const LabelFormatPopover = ({
|
|
|
11347
11395
|
})
|
|
11348
11396
|
});
|
|
11349
11397
|
};
|
|
11350
|
-
const
|
|
11351
|
-
function
|
|
11398
|
+
const index_t3zi07 = "";
|
|
11399
|
+
function _KeyValueTableForm(props, ref) {
|
|
11352
11400
|
const {
|
|
11401
|
+
value: value2,
|
|
11353
11402
|
defaultValue,
|
|
11354
|
-
|
|
11403
|
+
onChange,
|
|
11355
11404
|
extraColumns,
|
|
11356
11405
|
addButtonText,
|
|
11357
|
-
noValueValidation
|
|
11406
|
+
noValueValidation,
|
|
11407
|
+
isHideLabelFormatPopover,
|
|
11408
|
+
isValueOptional = true,
|
|
11409
|
+
canImportFromFile,
|
|
11410
|
+
minSize,
|
|
11411
|
+
validateKey,
|
|
11412
|
+
validateValue,
|
|
11413
|
+
onSubmit
|
|
11358
11414
|
} = props;
|
|
11359
11415
|
const {
|
|
11360
11416
|
t: t2
|
|
11361
11417
|
} = useTranslation();
|
|
11362
|
-
const [value2, setValue] = useState([]);
|
|
11363
11418
|
const tableFormRef = useRef(null);
|
|
11419
|
+
const [_value, _setValue] = useState(value2 || defaultValue);
|
|
11420
|
+
const [forceUpdateCount, setForceUpdateCount] = useState(0);
|
|
11421
|
+
const validate = useCallback(() => {
|
|
11422
|
+
return new Promise((resolve) => {
|
|
11423
|
+
var _a;
|
|
11424
|
+
(_a = tableFormRef.current) == null ? void 0 : _a.validateWholeFields();
|
|
11425
|
+
setForceUpdateCount(forceUpdateCount + 1);
|
|
11426
|
+
setTimeout(() => {
|
|
11427
|
+
var _a2;
|
|
11428
|
+
const isValid = (_a2 = tableFormRef.current) == null ? void 0 : _a2.isValid();
|
|
11429
|
+
resolve(isValid || false);
|
|
11430
|
+
}, 0);
|
|
11431
|
+
});
|
|
11432
|
+
}, [forceUpdateCount]);
|
|
11364
11433
|
useImperativeHandle(ref, () => ({
|
|
11365
|
-
|
|
11366
|
-
|
|
11367
|
-
|
|
11368
|
-
|
|
11369
|
-
|
|
11370
|
-
|
|
11371
|
-
|
|
11372
|
-
|
|
11373
|
-
|
|
11374
|
-
|
|
11375
|
-
|
|
11376
|
-
|
|
11377
|
-
|
|
11378
|
-
|
|
11434
|
+
validate,
|
|
11435
|
+
submit: async () => {
|
|
11436
|
+
const isValid = await validate();
|
|
11437
|
+
if (isValid) {
|
|
11438
|
+
return onSubmit == null ? void 0 : onSubmit(_value);
|
|
11439
|
+
}
|
|
11440
|
+
return Promise.reject();
|
|
11441
|
+
},
|
|
11442
|
+
setValue: (value22) => {
|
|
11443
|
+
var _a;
|
|
11444
|
+
_setValue(value22);
|
|
11445
|
+
(_a = tableFormRef.current) == null ? void 0 : _a.setData(value22);
|
|
11446
|
+
}
|
|
11447
|
+
}), [validate, onSubmit, _value]);
|
|
11448
|
+
useEffect(() => {
|
|
11449
|
+
var _a;
|
|
11450
|
+
if (value2 && !isEqual(value2, _value)) {
|
|
11451
|
+
_setValue(value2);
|
|
11452
|
+
(_a = tableFormRef.current) == null ? void 0 : _a.setData(value2);
|
|
11379
11453
|
}
|
|
11380
|
-
}
|
|
11454
|
+
}, [value2]);
|
|
11381
11455
|
const renderTextAreaFunc = ({
|
|
11382
11456
|
value: value22,
|
|
11383
|
-
onChange
|
|
11457
|
+
onChange: onChange2
|
|
11384
11458
|
}) => {
|
|
11385
11459
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(TextArea, {
|
|
11386
11460
|
autoSize: true,
|
|
11387
|
-
className: "
|
|
11461
|
+
className: "c17gq8cd",
|
|
11388
11462
|
size: "small",
|
|
11389
11463
|
value: value22,
|
|
11390
11464
|
onChange: (e2) => {
|
|
11391
|
-
|
|
11465
|
+
onChange2(e2.target.value);
|
|
11392
11466
|
}
|
|
11393
11467
|
});
|
|
11394
11468
|
};
|
|
11395
11469
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
|
|
11396
11470
|
size: 8,
|
|
11397
11471
|
direction: "vertical",
|
|
11398
|
-
className: "
|
|
11472
|
+
className: "c1n7fiws",
|
|
11399
11473
|
children: [/* @__PURE__ */ jsxRuntimeExports.jsx(TableForm, {
|
|
11400
11474
|
ref: tableFormRef,
|
|
11401
|
-
onBodyChange: (
|
|
11402
|
-
|
|
11475
|
+
onBodyChange: (newValue) => {
|
|
11476
|
+
_setValue(newValue);
|
|
11477
|
+
onChange == null ? void 0 : onChange(newValue);
|
|
11403
11478
|
},
|
|
11404
11479
|
columns: [{
|
|
11405
11480
|
key: "key",
|
|
@@ -11410,46 +11485,72 @@ function _KeyValueTableFormForm(props, ref) {
|
|
|
11410
11485
|
}) => {
|
|
11411
11486
|
if (!value22)
|
|
11412
11487
|
return t2("dovetail.key_empty_text");
|
|
11488
|
+
const validate2 = validateKey || validateLabelKey;
|
|
11413
11489
|
const {
|
|
11414
|
-
isValid
|
|
11415
|
-
|
|
11490
|
+
isValid,
|
|
11491
|
+
errorMessage
|
|
11492
|
+
} = validate2(value22 || "");
|
|
11416
11493
|
if (!isValid)
|
|
11417
|
-
return t2("dovetail.format_error");
|
|
11494
|
+
return errorMessage || t2("dovetail.format_error");
|
|
11418
11495
|
},
|
|
11419
11496
|
render: renderTextAreaFunc
|
|
11420
11497
|
}, {
|
|
11421
11498
|
key: "value",
|
|
11422
|
-
title: t2("dovetail.value_optional"),
|
|
11499
|
+
title: isValueOptional ? t2("dovetail.value_optional") : t2("dovetail.value"),
|
|
11423
11500
|
type: "input",
|
|
11424
11501
|
validator: ({
|
|
11425
11502
|
value: value22
|
|
11426
11503
|
}) => {
|
|
11427
11504
|
if (noValueValidation)
|
|
11428
11505
|
return;
|
|
11506
|
+
const validate2 = validateValue || validateLabelValue;
|
|
11429
11507
|
const {
|
|
11430
|
-
isValid
|
|
11431
|
-
|
|
11508
|
+
isValid,
|
|
11509
|
+
errorMessage
|
|
11510
|
+
} = validate2(value22 || "", isValueOptional);
|
|
11432
11511
|
if (!isValid)
|
|
11433
|
-
return t2("dovetail.format_error");
|
|
11512
|
+
return errorMessage || t2("dovetail.format_error");
|
|
11434
11513
|
},
|
|
11435
11514
|
render: renderTextAreaFunc
|
|
11436
11515
|
}, ...extraColumns || []],
|
|
11437
|
-
disableBatchFilling: true,
|
|
11438
|
-
hideEmptyTable: true,
|
|
11439
11516
|
rowAddConfig: {
|
|
11440
11517
|
addible: true,
|
|
11441
11518
|
text: () => addButtonText
|
|
11442
11519
|
},
|
|
11443
11520
|
defaultData: defaultValue,
|
|
11444
11521
|
row: {
|
|
11445
|
-
deletable:
|
|
11446
|
-
}
|
|
11447
|
-
|
|
11522
|
+
deletable: _value.length > (minSize || 0)
|
|
11523
|
+
},
|
|
11524
|
+
disableBatchFilling: true,
|
|
11525
|
+
hideEmptyTable: true
|
|
11526
|
+
}), isHideLabelFormatPopover ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(LabelFormatPopover, {
|
|
11448
11527
|
noValueValidation
|
|
11449
|
-
})
|
|
11528
|
+
}), canImportFromFile ? /* @__PURE__ */ jsxRuntimeExports.jsx(Upload, {
|
|
11529
|
+
multiple: false,
|
|
11530
|
+
showUploadList: false,
|
|
11531
|
+
onChange: async (e2) => {
|
|
11532
|
+
var _a;
|
|
11533
|
+
const fileValue = {
|
|
11534
|
+
key: e2.file.name,
|
|
11535
|
+
value: await readFileAsBase64(e2.file.originFileObj)
|
|
11536
|
+
};
|
|
11537
|
+
let newValue = [..._value, fileValue];
|
|
11538
|
+
if (_value.some((v) => v.key === fileValue.key)) {
|
|
11539
|
+
newValue = _value.map((v) => v.key === fileValue.key ? fileValue : v);
|
|
11540
|
+
}
|
|
11541
|
+
_setValue(newValue);
|
|
11542
|
+
(_a = tableFormRef.current) == null ? void 0 : _a.setData(newValue);
|
|
11543
|
+
onChange == null ? void 0 : onChange(newValue);
|
|
11544
|
+
},
|
|
11545
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Button, {
|
|
11546
|
+
type: "link",
|
|
11547
|
+
size: "small",
|
|
11548
|
+
children: t2("dovetail.import_from_file")
|
|
11549
|
+
})
|
|
11550
|
+
}) : null]
|
|
11450
11551
|
});
|
|
11451
11552
|
}
|
|
11452
|
-
const
|
|
11553
|
+
const KeyValueTableForm = React__default.forwardRef(_KeyValueTableForm);
|
|
11453
11554
|
const EditNodeTaintForm_cgov7z = "";
|
|
11454
11555
|
const UlStyle = "u19jcs7t";
|
|
11455
11556
|
const EditNodeTaintForm = React__default.forwardRef(function EditNodeTaintForm2(props, ref) {
|
|
@@ -11462,6 +11563,7 @@ const EditNodeTaintForm = React__default.forwardRef(function EditNodeTaintForm2(
|
|
|
11462
11563
|
const {
|
|
11463
11564
|
t: t2
|
|
11464
11565
|
} = useTranslation();
|
|
11566
|
+
const tableFormRef = useRef(null);
|
|
11465
11567
|
const defaultValue = useMemo(() => {
|
|
11466
11568
|
var _a;
|
|
11467
11569
|
return ((_a = nodeModel._rawYaml.spec) == null ? void 0 : _a.taints) || [];
|
|
@@ -11497,8 +11599,14 @@ const EditNodeTaintForm = React__default.forwardRef(function EditNodeTaintForm2(
|
|
|
11497
11599
|
errorNotification: false
|
|
11498
11600
|
});
|
|
11499
11601
|
}, [nodeModel, mutateAsync, t2]);
|
|
11500
|
-
|
|
11501
|
-
|
|
11602
|
+
useImperativeHandle(ref, () => ({
|
|
11603
|
+
submit: () => {
|
|
11604
|
+
var _a;
|
|
11605
|
+
return (_a = tableFormRef.current) == null ? void 0 : _a.submit();
|
|
11606
|
+
}
|
|
11607
|
+
}), []);
|
|
11608
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(KeyValueTableForm, {
|
|
11609
|
+
ref: tableFormRef,
|
|
11502
11610
|
defaultValue,
|
|
11503
11611
|
onSubmit,
|
|
11504
11612
|
addButtonText: t2("dovetail.add_taint"),
|
|
@@ -12690,7 +12798,7 @@ const PodLogTab = (i18n2) => ({
|
|
|
12690
12798
|
]
|
|
12691
12799
|
});
|
|
12692
12800
|
const NetworkPolicyRulesViewer_r6jity = "";
|
|
12693
|
-
const MonacoYamlEditor$1 = lazy(() => import("./MonacoYamlEditor-
|
|
12801
|
+
const MonacoYamlEditor$1 = lazy(() => import("./MonacoYamlEditor-5e4c98ce.js"));
|
|
12694
12802
|
const EditorStyle$1 = "e1cjl2b8";
|
|
12695
12803
|
const NetworkPolicyRulesViewer = ({
|
|
12696
12804
|
ingressOrEgress,
|
|
@@ -15261,6 +15369,11 @@ function usePathMap(options) {
|
|
|
15261
15369
|
transformApplyValues
|
|
15262
15370
|
};
|
|
15263
15371
|
}
|
|
15372
|
+
var FormItemLayout = /* @__PURE__ */ ((FormItemLayout2) => {
|
|
15373
|
+
FormItemLayout2["VERTICAL"] = "VERTICAL";
|
|
15374
|
+
FormItemLayout2["HORIZONTAL"] = "HORIZONTAL";
|
|
15375
|
+
return FormItemLayout2;
|
|
15376
|
+
})(FormItemLayout || {});
|
|
15264
15377
|
function useFieldsConfig(config, formConfig, resourceId) {
|
|
15265
15378
|
var _a, _b, _c;
|
|
15266
15379
|
const action = resourceId ? "edit" : "create";
|
|
@@ -15282,7 +15395,8 @@ function useFieldsConfig(config, formConfig, resourceId) {
|
|
|
15282
15395
|
action
|
|
15283
15396
|
});
|
|
15284
15397
|
}
|
|
15285
|
-
const
|
|
15398
|
+
const RefineFormContent_lnhybh = "";
|
|
15399
|
+
const VerticalFormItemStyle = "v154n7ie";
|
|
15286
15400
|
function renderCommonFormFiled(props) {
|
|
15287
15401
|
const {
|
|
15288
15402
|
field,
|
|
@@ -15309,7 +15423,7 @@ function renderCommonFormFiled(props) {
|
|
|
15309
15423
|
switch (fieldConfig.type) {
|
|
15310
15424
|
case "number":
|
|
15311
15425
|
ele = /* @__PURE__ */ jsxRuntimeExports.jsx(Fields.Integer, {
|
|
15312
|
-
className: "
|
|
15426
|
+
className: "c1c9j4da",
|
|
15313
15427
|
placeholder: fieldConfig.placeholder,
|
|
15314
15428
|
input: {
|
|
15315
15429
|
value: value2,
|
|
@@ -15352,7 +15466,7 @@ const RefineFormContent = (props) => {
|
|
|
15352
15466
|
control,
|
|
15353
15467
|
name: fieldConfig.path.join("."),
|
|
15354
15468
|
rules: {
|
|
15355
|
-
validate(value2) {
|
|
15469
|
+
async validate(value2) {
|
|
15356
15470
|
const formValue = getValues();
|
|
15357
15471
|
if (!fieldConfig.validators || fieldConfig.validators.length === 0)
|
|
15358
15472
|
return true;
|
|
@@ -15360,7 +15474,7 @@ const RefineFormContent = (props) => {
|
|
|
15360
15474
|
const {
|
|
15361
15475
|
isValid,
|
|
15362
15476
|
errorMsg
|
|
15363
|
-
} = func(value2, formValue, FormType.FORM);
|
|
15477
|
+
} = await func(value2, formValue, FormType.FORM);
|
|
15364
15478
|
if (!isValid)
|
|
15365
15479
|
return errorMsg;
|
|
15366
15480
|
}
|
|
@@ -15388,13 +15502,14 @@ const RefineFormContent = (props) => {
|
|
|
15388
15502
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Form.Item, {
|
|
15389
15503
|
label: fieldConfig.label,
|
|
15390
15504
|
colon: false,
|
|
15391
|
-
labelCol: {
|
|
15505
|
+
labelCol: fieldConfig.layout === FormItemLayout.VERTICAL ? {} : {
|
|
15392
15506
|
flex: `0 0 ${(formConfig == null ? void 0 : formConfig.labelWidth) || "216px"}`
|
|
15393
15507
|
},
|
|
15394
|
-
help: (_a2 = fieldState.error) == null ? void 0 : _a2.message,
|
|
15508
|
+
help: fieldConfig.isHideErrorStatus ? "" : (_a2 = fieldState.error) == null ? void 0 : _a2.message,
|
|
15395
15509
|
extra: fieldConfig.helperText,
|
|
15396
|
-
validateStatus: fieldState.invalid ? "error" : void 0,
|
|
15510
|
+
validateStatus: fieldState.invalid && !fieldConfig.isHideErrorStatus ? "error" : void 0,
|
|
15397
15511
|
"data-test-id": fieldConfig.key,
|
|
15512
|
+
className: fieldConfig.layout === FormItemLayout.VERTICAL ? VerticalFormItemStyle : "",
|
|
15398
15513
|
children: ele
|
|
15399
15514
|
}, fieldConfig.key);
|
|
15400
15515
|
}
|
|
@@ -15403,7 +15518,7 @@ const RefineFormContent = (props) => {
|
|
|
15403
15518
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
|
|
15404
15519
|
direction: "vertical",
|
|
15405
15520
|
size: 16,
|
|
15406
|
-
className: "
|
|
15521
|
+
className: "cjxv8cf",
|
|
15407
15522
|
children: [fields, /* @__PURE__ */ jsxRuntimeExports.jsx(FormErrorAlert, {
|
|
15408
15523
|
errorMsgs: errorMsgs || [],
|
|
15409
15524
|
style: {
|
|
@@ -16122,7 +16237,7 @@ const PlainCodeStyle = "pqch97v";
|
|
|
16122
16237
|
const ErrorMsgStyle = "eh2qjnl";
|
|
16123
16238
|
const ErrorWrapperStyle = "e19q2bnp";
|
|
16124
16239
|
const YamlEditorStyle = "y16u5v3w";
|
|
16125
|
-
const MonacoYamlEditor = React__default.lazy(() => import("./MonacoYamlEditor-
|
|
16240
|
+
const MonacoYamlEditor = React__default.lazy(() => import("./MonacoYamlEditor-5e4c98ce.js"));
|
|
16126
16241
|
const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-7de94ad2.js"));
|
|
16127
16242
|
const YamlEditorComponent = forwardRef(
|
|
16128
16243
|
function YamlEditorComponent2(props, ref) {
|
|
@@ -16647,21 +16762,21 @@ const useYamlForm = ({
|
|
|
16647
16762
|
}
|
|
16648
16763
|
return changeValues;
|
|
16649
16764
|
};
|
|
16650
|
-
const validateRules = (yamlValue) => {
|
|
16765
|
+
const validateRules = async (yamlValue) => {
|
|
16651
16766
|
const errorMap = {};
|
|
16652
16767
|
if (rules && isYamlValid && isSchemaValid) {
|
|
16653
16768
|
const formValue = yaml$2.load(yamlValue || "");
|
|
16654
|
-
|
|
16769
|
+
for (const rule2 of rules) {
|
|
16655
16770
|
const { path: path2, validators } = rule2;
|
|
16656
16771
|
const value2 = get$2(formValue, path2);
|
|
16657
16772
|
for (const validator of validators || []) {
|
|
16658
|
-
const { isValid, errorMsg } = validator(value2, formValue, FormType.YAML);
|
|
16773
|
+
const { isValid, errorMsg } = await validator(value2, formValue, FormType.YAML);
|
|
16659
16774
|
if (!isValid) {
|
|
16660
16775
|
errorMap[path2.join(".")] = `${errorMsg}(${path2.join(".")})`;
|
|
16661
16776
|
break;
|
|
16662
16777
|
}
|
|
16663
16778
|
}
|
|
16664
|
-
}
|
|
16779
|
+
}
|
|
16665
16780
|
}
|
|
16666
16781
|
setRulesErrors(uniq(Object.values(errorMap)));
|
|
16667
16782
|
return errorMap;
|
|
@@ -16799,7 +16914,7 @@ function YamlForm(props) {
|
|
|
16799
16914
|
try {
|
|
16800
16915
|
const result = await ((_a = formProps.onFinish) == null ? void 0 : _a.call(formProps, store));
|
|
16801
16916
|
if (result) {
|
|
16802
|
-
(_b = props.onFinish) == null ? void 0 : _b.call(props);
|
|
16917
|
+
(_b = props.onFinish) == null ? void 0 : _b.call(props, result);
|
|
16803
16918
|
}
|
|
16804
16919
|
} catch {
|
|
16805
16920
|
} finally {
|
|
@@ -16870,20 +16985,21 @@ function RefineFormContainer({
|
|
|
16870
16985
|
config,
|
|
16871
16986
|
id,
|
|
16872
16987
|
refineProps: {
|
|
16873
|
-
onMutationSuccess: () => {
|
|
16874
|
-
onSuccess == null ? void 0 : onSuccess();
|
|
16988
|
+
onMutationSuccess: (data2) => {
|
|
16989
|
+
onSuccess == null ? void 0 : onSuccess(data2);
|
|
16875
16990
|
},
|
|
16876
16991
|
onMutationError() {
|
|
16877
16992
|
onError == null ? void 0 : onError();
|
|
16878
16993
|
},
|
|
16879
16994
|
redirect: false,
|
|
16995
|
+
mutationMeta: {
|
|
16996
|
+
updateType: "put"
|
|
16997
|
+
},
|
|
16880
16998
|
...formConfig == null ? void 0 : formConfig.refineCoreProps
|
|
16881
16999
|
},
|
|
16882
17000
|
formConfig
|
|
16883
17001
|
});
|
|
16884
|
-
const {
|
|
16885
|
-
transformApplyValues
|
|
16886
|
-
} = usePathMap({
|
|
17002
|
+
const { transformApplyValues } = usePathMap({
|
|
16887
17003
|
pathMap: formConfig == null ? void 0 : formConfig.pathMap,
|
|
16888
17004
|
transformInitValues: formConfig == null ? void 0 : formConfig.transformInitValues,
|
|
16889
17005
|
transformApplyValues: (formConfig == null ? void 0 : formConfig.transformApplyValues) || ((v) => v)
|
|
@@ -16898,14 +17014,16 @@ function RefineFormContainer({
|
|
|
16898
17014
|
initialValuesForCreate: transformApplyValues(
|
|
16899
17015
|
refineFormResult.formResult.getValues()
|
|
16900
17016
|
),
|
|
16901
|
-
initialValuesForEdit: transformApplyValues(
|
|
17017
|
+
initialValuesForEdit: transformApplyValues(
|
|
17018
|
+
refineFormResult.formResult.getValues()
|
|
17019
|
+
),
|
|
16902
17020
|
id,
|
|
16903
17021
|
action,
|
|
16904
17022
|
isShowLayout: false,
|
|
16905
17023
|
useFormProps: {
|
|
16906
17024
|
redirect: false
|
|
16907
17025
|
},
|
|
16908
|
-
rules: fieldsConfig == null ? void 0 : fieldsConfig.map((config2) => ({
|
|
17026
|
+
rules: fieldsConfig == null ? void 0 : fieldsConfig.filter((config2) => !config2.isSkipValidationInYaml).map((config2) => ({
|
|
16909
17027
|
path: config2.path,
|
|
16910
17028
|
validators: config2.validators
|
|
16911
17029
|
})),
|
|
@@ -16973,51 +17091,45 @@ function YamlFormContainer({
|
|
|
16973
17091
|
onSaveButtonPropsChange
|
|
16974
17092
|
}) {
|
|
16975
17093
|
const action = id ? "edit" : "create";
|
|
16976
|
-
const {
|
|
16977
|
-
transformInitValues,
|
|
16978
|
-
transformApplyValues
|
|
16979
|
-
} = usePathMap({
|
|
17094
|
+
const { transformInitValues, transformApplyValues } = usePathMap({
|
|
16980
17095
|
pathMap: formConfig == null ? void 0 : formConfig.pathMap,
|
|
16981
17096
|
transformInitValues: formConfig == null ? void 0 : formConfig.transformInitValues,
|
|
16982
17097
|
transformApplyValues: (formConfig == null ? void 0 : formConfig.transformApplyValues) || ((v) => v)
|
|
16983
17098
|
});
|
|
16984
|
-
const yamlFormProps = useMemo(
|
|
16985
|
-
|
|
16986
|
-
|
|
16987
|
-
...customYamlFormProps,
|
|
16988
|
-
config,
|
|
16989
|
-
transformInitValues,
|
|
16990
|
-
transformApplyValues,
|
|
16991
|
-
initialValuesForCreate: (customYamlFormProps == null ? void 0 : customYamlFormProps.initialValuesForCreate) || config.initValue,
|
|
16992
|
-
initialValuesForEdit: void 0,
|
|
16993
|
-
id,
|
|
16994
|
-
action,
|
|
16995
|
-
isShowLayout: false,
|
|
16996
|
-
useFormProps: {
|
|
16997
|
-
redirect: false
|
|
16998
|
-
},
|
|
16999
|
-
rules: void 0,
|
|
17000
|
-
onSaveButtonPropsChange,
|
|
17001
|
-
onErrorsChange(errors) {
|
|
17002
|
-
if (errors.length) {
|
|
17003
|
-
onError == null ? void 0 : onError();
|
|
17004
|
-
}
|
|
17005
|
-
},
|
|
17006
|
-
onFinish: onSuccess
|
|
17007
|
-
};
|
|
17008
|
-
},
|
|
17009
|
-
[
|
|
17010
|
-
id,
|
|
17011
|
-
action,
|
|
17012
|
-
customYamlFormProps,
|
|
17099
|
+
const yamlFormProps = useMemo(() => {
|
|
17100
|
+
return {
|
|
17101
|
+
...customYamlFormProps,
|
|
17013
17102
|
config,
|
|
17014
17103
|
transformInitValues,
|
|
17015
17104
|
transformApplyValues,
|
|
17016
|
-
|
|
17017
|
-
|
|
17018
|
-
|
|
17019
|
-
|
|
17020
|
-
|
|
17105
|
+
initialValuesForCreate: (customYamlFormProps == null ? void 0 : customYamlFormProps.initialValuesForCreate) || config.initValue,
|
|
17106
|
+
initialValuesForEdit: void 0,
|
|
17107
|
+
id,
|
|
17108
|
+
action,
|
|
17109
|
+
isShowLayout: false,
|
|
17110
|
+
useFormProps: {
|
|
17111
|
+
redirect: false
|
|
17112
|
+
},
|
|
17113
|
+
rules: void 0,
|
|
17114
|
+
onSaveButtonPropsChange,
|
|
17115
|
+
onErrorsChange(errors) {
|
|
17116
|
+
if (errors.length) {
|
|
17117
|
+
onError == null ? void 0 : onError();
|
|
17118
|
+
}
|
|
17119
|
+
},
|
|
17120
|
+
onFinish: onSuccess
|
|
17121
|
+
};
|
|
17122
|
+
}, [
|
|
17123
|
+
id,
|
|
17124
|
+
action,
|
|
17125
|
+
customYamlFormProps,
|
|
17126
|
+
config,
|
|
17127
|
+
transformInitValues,
|
|
17128
|
+
transformApplyValues,
|
|
17129
|
+
onSuccess,
|
|
17130
|
+
onError,
|
|
17131
|
+
onSaveButtonPropsChange
|
|
17132
|
+
]);
|
|
17021
17133
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(YamlForm, { ...yamlFormProps });
|
|
17022
17134
|
}
|
|
17023
17135
|
const FormModal_64brhp = "";
|
|
@@ -17057,7 +17169,8 @@ function FormModal(props) {
|
|
|
17057
17169
|
const {
|
|
17058
17170
|
resource: resourceFromProps,
|
|
17059
17171
|
id,
|
|
17060
|
-
yamlFormProps: customYamlFormProps
|
|
17172
|
+
yamlFormProps: customYamlFormProps,
|
|
17173
|
+
onSuccess
|
|
17061
17174
|
} = props;
|
|
17062
17175
|
const {
|
|
17063
17176
|
i18n: i18n2
|
|
@@ -17136,9 +17249,10 @@ function FormModal(props) {
|
|
|
17136
17249
|
onError: () => {
|
|
17137
17250
|
setIsError(true);
|
|
17138
17251
|
},
|
|
17139
|
-
onSuccess: () => {
|
|
17252
|
+
onSuccess: (data2) => {
|
|
17140
17253
|
setIsError(false);
|
|
17141
17254
|
popModal();
|
|
17255
|
+
onSuccess == null ? void 0 : onSuccess(data2);
|
|
17142
17256
|
}
|
|
17143
17257
|
};
|
|
17144
17258
|
if (config.formConfig && (((_a2 = config.formConfig) == null ? void 0 : _a2.formType) === FormType.FORM || "fields" in config.formConfig)) {
|
|
@@ -17152,7 +17266,7 @@ function FormModal(props) {
|
|
|
17152
17266
|
...commonFormProps,
|
|
17153
17267
|
formConfig: config.formConfig
|
|
17154
17268
|
});
|
|
17155
|
-
}, [id, customYamlFormProps, config, isYamlMode, popModal, setSaveButtonProps]);
|
|
17269
|
+
}, [id, customYamlFormProps, config, isYamlMode, popModal, setSaveButtonProps, onSuccess]);
|
|
17156
17270
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Modal, {
|
|
17157
17271
|
className: cx_default(FullscreenModalStyle),
|
|
17158
17272
|
style: {
|
|
@@ -17325,6 +17439,7 @@ const EditLabelForm = React__default.forwardRef(
|
|
|
17325
17439
|
const { resourceModel } = props;
|
|
17326
17440
|
const { mutateAsync } = useUpdate();
|
|
17327
17441
|
const { t: t2 } = useTranslation();
|
|
17442
|
+
const tableFormRef = useRef(null);
|
|
17328
17443
|
const defaultValue = useMemo(() => {
|
|
17329
17444
|
var _a2;
|
|
17330
17445
|
return Object.keys(((_a2 = resourceModel.metadata) == null ? void 0 : _a2.labels) || {}).map((key2) => {
|
|
@@ -17366,10 +17481,20 @@ const EditLabelForm = React__default.forwardRef(
|
|
|
17366
17481
|
},
|
|
17367
17482
|
[resourceModel, mutateAsync, t2]
|
|
17368
17483
|
);
|
|
17484
|
+
useImperativeHandle(
|
|
17485
|
+
ref,
|
|
17486
|
+
() => ({
|
|
17487
|
+
submit: () => {
|
|
17488
|
+
var _a2;
|
|
17489
|
+
return (_a2 = tableFormRef.current) == null ? void 0 : _a2.submit();
|
|
17490
|
+
}
|
|
17491
|
+
}),
|
|
17492
|
+
[]
|
|
17493
|
+
);
|
|
17369
17494
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
17370
|
-
|
|
17495
|
+
KeyValueTableForm,
|
|
17371
17496
|
{
|
|
17372
|
-
ref,
|
|
17497
|
+
ref: tableFormRef,
|
|
17373
17498
|
defaultValue,
|
|
17374
17499
|
onSubmit,
|
|
17375
17500
|
addButtonText: t2("dovetail.add_label")
|
|
@@ -17412,6 +17537,7 @@ const EditAnnotationForm = React__default.forwardRef(function EditAnnotationForm
|
|
|
17412
17537
|
const { resourceModel } = props;
|
|
17413
17538
|
const { mutateAsync } = useUpdate();
|
|
17414
17539
|
const { t: t2 } = useTranslation();
|
|
17540
|
+
const tableFormRef = useRef(null);
|
|
17415
17541
|
const defaultValue = useMemo(() => {
|
|
17416
17542
|
var _a2;
|
|
17417
17543
|
return Object.keys(((_a2 = resourceModel.metadata) == null ? void 0 : _a2.annotations) || {}).map((key2) => {
|
|
@@ -17453,10 +17579,20 @@ const EditAnnotationForm = React__default.forwardRef(function EditAnnotationForm
|
|
|
17453
17579
|
},
|
|
17454
17580
|
[resourceModel, mutateAsync, t2]
|
|
17455
17581
|
);
|
|
17582
|
+
useImperativeHandle(
|
|
17583
|
+
ref,
|
|
17584
|
+
() => ({
|
|
17585
|
+
submit: () => {
|
|
17586
|
+
var _a2;
|
|
17587
|
+
return (_a2 = tableFormRef.current) == null ? void 0 : _a2.submit();
|
|
17588
|
+
}
|
|
17589
|
+
}),
|
|
17590
|
+
[]
|
|
17591
|
+
);
|
|
17456
17592
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
17457
|
-
|
|
17593
|
+
KeyValueTableForm,
|
|
17458
17594
|
{
|
|
17459
|
-
ref,
|
|
17595
|
+
ref: tableFormRef,
|
|
17460
17596
|
defaultValue,
|
|
17461
17597
|
onSubmit,
|
|
17462
17598
|
addButtonText: t2("dovetail.add_annotation"),
|
|
@@ -18846,7 +18982,7 @@ export {
|
|
|
18846
18982
|
CronjobJobsTable as ay,
|
|
18847
18983
|
KeyValue as az,
|
|
18848
18984
|
useSchema as b,
|
|
18849
|
-
|
|
18985
|
+
Tags as b$,
|
|
18850
18986
|
PodSelectorField as b0,
|
|
18851
18987
|
PortsTableField as b1,
|
|
18852
18988
|
DurationField as b2,
|
|
@@ -18881,9 +19017,9 @@ export {
|
|
|
18881
19017
|
SchemaStrategy as bV,
|
|
18882
19018
|
YamlForm as bW,
|
|
18883
19019
|
useRefineForm as bX,
|
|
18884
|
-
|
|
18885
|
-
|
|
18886
|
-
|
|
19020
|
+
FormItemLayout as bY,
|
|
19021
|
+
ServiceInClusterAccessComponent as bZ,
|
|
19022
|
+
ServiceOutClusterAccessComponent as b_,
|
|
18887
19023
|
PVVolumeModeField as ba,
|
|
18888
19024
|
PVAccessModeField as bb,
|
|
18889
19025
|
PVCPodsField as bc,
|
|
@@ -18911,86 +19047,91 @@ export {
|
|
|
18911
19047
|
NetworkPolicyIngressRulesGroup as by,
|
|
18912
19048
|
NetworkPolicyEgressRulesGroup as bz,
|
|
18913
19049
|
useDeleteModal as c,
|
|
18914
|
-
|
|
18915
|
-
|
|
18916
|
-
|
|
18917
|
-
|
|
18918
|
-
|
|
18919
|
-
|
|
18920
|
-
|
|
18921
|
-
|
|
18922
|
-
|
|
18923
|
-
|
|
18924
|
-
|
|
18925
|
-
|
|
18926
|
-
|
|
18927
|
-
|
|
18928
|
-
|
|
18929
|
-
|
|
18930
|
-
|
|
18931
|
-
|
|
18932
|
-
|
|
18933
|
-
|
|
18934
|
-
|
|
18935
|
-
|
|
18936
|
-
|
|
18937
|
-
|
|
18938
|
-
|
|
18939
|
-
|
|
18940
|
-
|
|
18941
|
-
|
|
18942
|
-
|
|
18943
|
-
|
|
18944
|
-
|
|
18945
|
-
|
|
18946
|
-
|
|
18947
|
-
|
|
18948
|
-
|
|
18949
|
-
|
|
18950
|
-
|
|
18951
|
-
|
|
18952
|
-
|
|
18953
|
-
|
|
18954
|
-
|
|
18955
|
-
|
|
18956
|
-
|
|
18957
|
-
|
|
18958
|
-
|
|
18959
|
-
|
|
18960
|
-
|
|
18961
|
-
|
|
18962
|
-
|
|
18963
|
-
|
|
18964
|
-
|
|
18965
|
-
|
|
18966
|
-
|
|
18967
|
-
|
|
18968
|
-
|
|
18969
|
-
|
|
18970
|
-
|
|
18971
|
-
|
|
18972
|
-
|
|
18973
|
-
|
|
18974
|
-
|
|
18975
|
-
|
|
18976
|
-
|
|
18977
|
-
|
|
19050
|
+
ServiceModel as c$,
|
|
19051
|
+
TextTags as c0,
|
|
19052
|
+
PodLog as c1,
|
|
19053
|
+
NetworkPolicyRulesViewer as c2,
|
|
19054
|
+
PVVolumeModeDisplay as c3,
|
|
19055
|
+
Tabs as c4,
|
|
19056
|
+
ResourceSelect as c5,
|
|
19057
|
+
PodShellModal as c6,
|
|
19058
|
+
PodShell as c7,
|
|
19059
|
+
ResourceTable as c8,
|
|
19060
|
+
ErrorWrapper as c9,
|
|
19061
|
+
STORAGE_CLASS_INIT_VALUE as cA,
|
|
19062
|
+
PV_INIT_VALUE as cB,
|
|
19063
|
+
PVC_INIT_VALUE as cC,
|
|
19064
|
+
ResourceState as cD,
|
|
19065
|
+
AccessControlAuth as cE,
|
|
19066
|
+
Dovetail as cF,
|
|
19067
|
+
RESOURCE_GROUP as cG,
|
|
19068
|
+
FormContainerType as cH,
|
|
19069
|
+
FormType as cI,
|
|
19070
|
+
FormMode as cJ,
|
|
19071
|
+
ComponentContext as cK,
|
|
19072
|
+
GlobalStoreContext as cL,
|
|
19073
|
+
ConfigsContext as cM,
|
|
19074
|
+
IngressModel as cN,
|
|
19075
|
+
NetworkPolicyModel as cO,
|
|
19076
|
+
JobModel as cP,
|
|
19077
|
+
WorkloadModel as cQ,
|
|
19078
|
+
WorkloadBaseModel as cR,
|
|
19079
|
+
PodModel as cS,
|
|
19080
|
+
PodMetricsModel as cT,
|
|
19081
|
+
ResourceModel as cU,
|
|
19082
|
+
CronJobModel as cV,
|
|
19083
|
+
EventModel as cW,
|
|
19084
|
+
DeploymentModel as cX,
|
|
19085
|
+
DaemonSetModel as cY,
|
|
19086
|
+
StatefulSetModel as cZ,
|
|
19087
|
+
ServiceTypeEnum as c_,
|
|
19088
|
+
ErrorContentType as ca,
|
|
19089
|
+
KeyValueTableForm as cb,
|
|
19090
|
+
BASE_INIT_VALUE as cc,
|
|
19091
|
+
DEPLOYMENT_INIT_VALUE as cd,
|
|
19092
|
+
CRONJOB_INIT_VALUE as ce,
|
|
19093
|
+
DAEMONSET_INIT_VALUE as cf,
|
|
19094
|
+
JOB_INIT_VALUE as cg,
|
|
19095
|
+
STATEFULSET_INIT_VALUE as ch,
|
|
19096
|
+
POD_INIT_VALUE as ci,
|
|
19097
|
+
SERVICE_CLUSTER_IP_INIT_VALUE as cj,
|
|
19098
|
+
SERVICE_NODE_PORT_INIT_VALUE as ck,
|
|
19099
|
+
SERVICE_LOAD_BALANCER_INIT_VALUE as cl,
|
|
19100
|
+
SERVICE_EXTERNAL_NAME_INIT_VALUE as cm,
|
|
19101
|
+
SERVICE_HEADLESS_INIT_VALUE as cn,
|
|
19102
|
+
INGRESS_INIT_VALUE as co,
|
|
19103
|
+
NETWORK_POLICY_INIT_VALUE as cp,
|
|
19104
|
+
CONFIG_MAP_INIT_VALUE as cq,
|
|
19105
|
+
SERVER_INSTANCE_INIT_VALUE as cr,
|
|
19106
|
+
REDEPLOY_TIMESTAMP_KEY as cs,
|
|
19107
|
+
SECRET_OPAQUE_INIT_VALUE as ct,
|
|
19108
|
+
SECRET_IMAGE_REPO_INIT_VALUE as cu,
|
|
19109
|
+
SECRET_BASIC_AUTH_INIT_VALUE as cv,
|
|
19110
|
+
SECRET_SSH_AUTH_INIT_VALUE as cw,
|
|
19111
|
+
SECRET_TLS_INIT_VALUE as cx,
|
|
19112
|
+
SECRET_CUSTOM_INIT_VALUE as cy,
|
|
19113
|
+
NODE_INIT_VALUE as cz,
|
|
18978
19114
|
dovetailRefineI18n as d,
|
|
18979
|
-
|
|
18980
|
-
|
|
18981
|
-
|
|
18982
|
-
|
|
18983
|
-
|
|
18984
|
-
|
|
18985
|
-
|
|
18986
|
-
|
|
18987
|
-
|
|
18988
|
-
|
|
18989
|
-
|
|
18990
|
-
|
|
18991
|
-
|
|
18992
|
-
|
|
18993
|
-
|
|
19115
|
+
NodeRole as d0,
|
|
19116
|
+
NodeModel as d1,
|
|
19117
|
+
StorageClassModel as d2,
|
|
19118
|
+
PersistentVolumeModel as d3,
|
|
19119
|
+
PersistentVolumeClaimModel as d4,
|
|
19120
|
+
ProviderPlugins as d5,
|
|
19121
|
+
ModelPlugin as d6,
|
|
19122
|
+
modelPlugin as d7,
|
|
19123
|
+
RelationPlugin as d8,
|
|
19124
|
+
relationPlugin as d9,
|
|
19125
|
+
generateValueFromSchema as da,
|
|
19126
|
+
generateSchemaTypeValue as db,
|
|
19127
|
+
resolveRef as dc,
|
|
19128
|
+
getApiVersion as dd,
|
|
19129
|
+
pruneBeforeEdit as de,
|
|
19130
|
+
matchSelector as df,
|
|
19131
|
+
getResourceNameByKind as dg,
|
|
19132
|
+
validateDnsSubdomain as dh,
|
|
19133
|
+
validateLabelKey as di,
|
|
19134
|
+
validateLabelValue as dj,
|
|
18994
19135
|
useDeleteModalOnly as e,
|
|
18995
19136
|
useFailedModal as f,
|
|
18996
19137
|
NameSpaceColumnRenderer as g,
|