@dovetail-v2/refine 0.1.32 → 0.2.0-alpha.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.
@@ -11,7 +11,7 @@ import { ResourceContext, matchResourceFromRoute, useResource, useDelete, useNav
11
11
  import { parse, stringify } from "qs";
12
12
  import { useLocation, useHistory, useParams, matchPath, Link, Route, NavLink, Router } from "react-router-dom";
13
13
  import { Typo, Tag, Input, Select, AntdOption, Button, Form, Space, TextArea, kitContext, Loading, Table as Table$2, Pagination, Alert, usePopModal, Modal, usePushModal, 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, DropdownMenu, SearchInput, Token, AntdSelectOptGroup, MenuItemGroup, Layout as Layout$1, Time as Time$1, ModalStack, KitStoreProvider, ConfigProvider } from "@cloudtower/eagle";
14
- import { first, get as get$3, cloneDeep, set as set$1, omit as omit$1, merge, debounce, last, isObject as isObject$4, uniq, keyBy } from "lodash-es";
14
+ import { first, get as get$3, cloneDeep, set as set$1, omit as omit$1, merge, debounce, last, setWith, clone, isObject as isObject$4, uniq, keyBy } from "lodash-es";
15
15
  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";
16
16
  import yaml$2 from "js-yaml";
17
17
  import { paginateData, sortData, dataProvider, liveProvider } from "k8s-api-provider";
@@ -25,301 +25,308 @@ function getDefaultExportFromCjs(x) {
25
25
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
26
26
  }
27
27
  var dayjs_min = { exports: {} };
28
- (function(module, exports) {
29
- !function(t2, e2) {
30
- module.exports = e2();
31
- }(commonjsGlobal, function() {
32
- var t2 = 1e3, e2 = 6e4, n2 = 36e5, r2 = "millisecond", i = "second", s2 = "minute", u = "hour", a2 = "day", o = "week", c2 = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t3) {
33
- var e3 = ["th", "st", "nd", "rd"], n3 = t3 % 100;
34
- return "[" + t3 + (e3[(n3 - 20) % 10] || e3[n3] || e3[0]) + "]";
35
- } }, m = function(t3, e3, n3) {
36
- var r3 = String(t3);
37
- return !r3 || r3.length >= e3 ? t3 : "" + Array(e3 + 1 - r3.length).join(n3) + t3;
38
- }, v = { s: m, z: function(t3) {
39
- var e3 = -t3.utcOffset(), n3 = Math.abs(e3), r3 = Math.floor(n3 / 60), i2 = n3 % 60;
40
- return (e3 <= 0 ? "+" : "-") + m(r3, 2, "0") + ":" + m(i2, 2, "0");
41
- }, m: function t3(e3, n3) {
42
- if (e3.date() < n3.date())
43
- return -t3(n3, e3);
44
- var r3 = 12 * (n3.year() - e3.year()) + (n3.month() - e3.month()), i2 = e3.clone().add(r3, c2), s3 = n3 - i2 < 0, u2 = e3.clone().add(r3 + (s3 ? -1 : 1), c2);
45
- return +(-(r3 + (n3 - i2) / (s3 ? i2 - u2 : u2 - i2)) || 0);
46
- }, a: function(t3) {
47
- return t3 < 0 ? Math.ceil(t3) || 0 : Math.floor(t3);
48
- }, p: function(t3) {
49
- return { M: c2, y: h, w: o, d: a2, D: d, h: u, m: s2, s: i, ms: r2, Q: f }[t3] || String(t3 || "").toLowerCase().replace(/s$/, "");
50
- }, u: function(t3) {
51
- return void 0 === t3;
52
- } }, g = "en", D = {};
53
- D[g] = M;
54
- var p = "$isDayjsObject", S = function(t3) {
55
- return t3 instanceof _ || !(!t3 || !t3[p]);
56
- }, w = function t3(e3, n3, r3) {
57
- var i2;
58
- if (!e3)
59
- return g;
60
- if ("string" == typeof e3) {
61
- var s3 = e3.toLowerCase();
62
- D[s3] && (i2 = s3), n3 && (D[s3] = n3, i2 = s3);
63
- var u2 = e3.split("-");
64
- if (!i2 && u2.length > 1)
65
- return t3(u2[0]);
66
- } else {
67
- var a3 = e3.name;
68
- D[a3] = e3, i2 = a3;
69
- }
70
- return !r3 && i2 && (g = i2), i2 || !r3 && g;
71
- }, O = function(t3, e3) {
72
- if (S(t3))
73
- return t3.clone();
74
- var n3 = "object" == typeof e3 ? e3 : {};
75
- return n3.date = t3, n3.args = arguments, new _(n3);
76
- }, b = v;
77
- b.l = w, b.i = S, b.w = function(t3, e3) {
78
- return O(t3, { locale: e3.$L, utc: e3.$u, x: e3.$x, $offset: e3.$offset });
79
- };
80
- var _ = function() {
81
- function M2(t3) {
82
- this.$L = w(t3.locale, null, true), this.parse(t3), this.$x = this.$x || t3.x || {}, this[p] = true;
83
- }
84
- var m2 = M2.prototype;
85
- return m2.parse = function(t3) {
86
- this.$d = function(t4) {
87
- var e3 = t4.date, n3 = t4.utc;
88
- if (null === e3)
89
- return /* @__PURE__ */ new Date(NaN);
90
- if (b.u(e3))
91
- return /* @__PURE__ */ new Date();
92
- if (e3 instanceof Date)
93
- return new Date(e3);
94
- if ("string" == typeof e3 && !/Z$/i.test(e3)) {
95
- var r3 = e3.match($);
96
- if (r3) {
97
- var i2 = r3[2] - 1 || 0, s3 = (r3[7] || "0").substring(0, 3);
98
- return n3 ? new Date(Date.UTC(r3[1], i2, r3[3] || 1, r3[4] || 0, r3[5] || 0, r3[6] || 0, s3)) : new Date(r3[1], i2, r3[3] || 1, r3[4] || 0, r3[5] || 0, r3[6] || 0, s3);
99
- }
100
- }
101
- return new Date(e3);
102
- }(t3), this.init();
103
- }, m2.init = function() {
104
- var t3 = this.$d;
105
- this.$y = t3.getFullYear(), this.$M = t3.getMonth(), this.$D = t3.getDate(), this.$W = t3.getDay(), this.$H = t3.getHours(), this.$m = t3.getMinutes(), this.$s = t3.getSeconds(), this.$ms = t3.getMilliseconds();
106
- }, m2.$utils = function() {
107
- return b;
108
- }, m2.isValid = function() {
109
- return !(this.$d.toString() === l);
110
- }, m2.isSame = function(t3, e3) {
111
- var n3 = O(t3);
112
- return this.startOf(e3) <= n3 && n3 <= this.endOf(e3);
113
- }, m2.isAfter = function(t3, e3) {
114
- return O(t3) < this.startOf(e3);
115
- }, m2.isBefore = function(t3, e3) {
116
- return this.endOf(e3) < O(t3);
117
- }, m2.$g = function(t3, e3, n3) {
118
- return b.u(t3) ? this[e3] : this.set(n3, t3);
119
- }, m2.unix = function() {
120
- return Math.floor(this.valueOf() / 1e3);
121
- }, m2.valueOf = function() {
122
- return this.$d.getTime();
123
- }, m2.startOf = function(t3, e3) {
124
- var n3 = this, r3 = !!b.u(e3) || e3, f2 = b.p(t3), l2 = function(t4, e4) {
125
- var i2 = b.w(n3.$u ? Date.UTC(n3.$y, e4, t4) : new Date(n3.$y, e4, t4), n3);
126
- return r3 ? i2 : i2.endOf(a2);
127
- }, $2 = function(t4, e4) {
128
- return b.w(n3.toDate()[t4].apply(n3.toDate("s"), (r3 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e4)), n3);
129
- }, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
130
- switch (f2) {
131
- case h:
132
- return r3 ? l2(1, 0) : l2(31, 11);
133
- case c2:
134
- return r3 ? l2(1, M3) : l2(0, M3 + 1);
135
- case o:
136
- var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
137
- return l2(r3 ? m3 - D2 : m3 + (6 - D2), M3);
138
- case a2:
139
- case d:
140
- return $2(v2 + "Hours", 0);
141
- case u:
142
- return $2(v2 + "Minutes", 1);
143
- case s2:
144
- return $2(v2 + "Seconds", 2);
145
- case i:
146
- return $2(v2 + "Milliseconds", 3);
147
- default:
148
- return this.clone();
149
- }
150
- }, m2.endOf = function(t3) {
151
- return this.startOf(t3, false);
152
- }, m2.$set = function(t3, e3) {
153
- var n3, o2 = b.p(t3), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n3 = {}, n3[a2] = f2 + "Date", n3[d] = f2 + "Date", n3[c2] = f2 + "Month", n3[h] = f2 + "FullYear", n3[u] = f2 + "Hours", n3[s2] = f2 + "Minutes", n3[i] = f2 + "Seconds", n3[r2] = f2 + "Milliseconds", n3)[o2], $2 = o2 === a2 ? this.$D + (e3 - this.$W) : e3;
154
- if (o2 === c2 || o2 === h) {
155
- var y2 = this.clone().set(d, 1);
156
- y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
157
- } else
158
- l2 && this.$d[l2]($2);
159
- return this.init(), this;
160
- }, m2.set = function(t3, e3) {
161
- return this.clone().$set(t3, e3);
162
- }, m2.get = function(t3) {
163
- return this[b.p(t3)]();
164
- }, m2.add = function(r3, f2) {
165
- var d2, l2 = this;
166
- r3 = Number(r3);
167
- var $2 = b.p(f2), y2 = function(t3) {
168
- var e3 = O(l2);
169
- return b.w(e3.date(e3.date() + Math.round(t3 * r3)), l2);
170
- };
171
- if ($2 === c2)
172
- return this.set(c2, this.$M + r3);
173
- if ($2 === h)
174
- return this.set(h, this.$y + r3);
175
- if ($2 === a2)
176
- return y2(1);
177
- if ($2 === o)
178
- return y2(7);
179
- var M3 = (d2 = {}, d2[s2] = e2, d2[u] = n2, d2[i] = t2, d2)[$2] || 1, m3 = this.$d.getTime() + r3 * M3;
180
- return b.w(m3, this);
181
- }, m2.subtract = function(t3, e3) {
182
- return this.add(-1 * t3, e3);
183
- }, m2.format = function(t3) {
184
- var e3 = this, n3 = this.$locale();
185
- if (!this.isValid())
186
- return n3.invalidDate || l;
187
- var r3 = t3 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s3 = this.$H, u2 = this.$m, a3 = this.$M, o2 = n3.weekdays, c3 = n3.months, f2 = n3.meridiem, h2 = function(t4, n4, i3, s4) {
188
- return t4 && (t4[n4] || t4(e3, r3)) || i3[n4].slice(0, s4);
189
- }, d2 = function(t4) {
190
- return b.s(s3 % 12 || 12, t4, "0");
191
- }, $2 = f2 || function(t4, e4, n4) {
192
- var r4 = t4 < 12 ? "AM" : "PM";
193
- return n4 ? r4.toLowerCase() : r4;
194
- };
195
- return r3.replace(y, function(t4, r4) {
196
- return r4 || function(t5) {
197
- switch (t5) {
198
- case "YY":
199
- return String(e3.$y).slice(-2);
200
- case "YYYY":
201
- return b.s(e3.$y, 4, "0");
202
- case "M":
203
- return a3 + 1;
204
- case "MM":
205
- return b.s(a3 + 1, 2, "0");
206
- case "MMM":
207
- return h2(n3.monthsShort, a3, c3, 3);
208
- case "MMMM":
209
- return h2(c3, a3);
210
- case "D":
211
- return e3.$D;
212
- case "DD":
213
- return b.s(e3.$D, 2, "0");
214
- case "d":
215
- return String(e3.$W);
216
- case "dd":
217
- return h2(n3.weekdaysMin, e3.$W, o2, 2);
218
- case "ddd":
219
- return h2(n3.weekdaysShort, e3.$W, o2, 3);
220
- case "dddd":
221
- return o2[e3.$W];
222
- case "H":
223
- return String(s3);
224
- case "HH":
225
- return b.s(s3, 2, "0");
226
- case "h":
227
- return d2(1);
228
- case "hh":
229
- return d2(2);
230
- case "a":
231
- return $2(s3, u2, true);
232
- case "A":
233
- return $2(s3, u2, false);
234
- case "m":
235
- return String(u2);
236
- case "mm":
237
- return b.s(u2, 2, "0");
238
- case "s":
239
- return String(e3.$s);
240
- case "ss":
241
- return b.s(e3.$s, 2, "0");
242
- case "SSS":
243
- return b.s(e3.$ms, 3, "0");
244
- case "Z":
245
- return i2;
28
+ var hasRequiredDayjs_min;
29
+ function requireDayjs_min() {
30
+ if (hasRequiredDayjs_min)
31
+ return dayjs_min.exports;
32
+ hasRequiredDayjs_min = 1;
33
+ (function(module, exports) {
34
+ !function(t2, e2) {
35
+ module.exports = e2();
36
+ }(commonjsGlobal, function() {
37
+ var t2 = 1e3, e2 = 6e4, n2 = 36e5, r2 = "millisecond", i = "second", s2 = "minute", u = "hour", a2 = "day", o = "week", c2 = "month", f = "quarter", h = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t3) {
38
+ var e3 = ["th", "st", "nd", "rd"], n3 = t3 % 100;
39
+ return "[" + t3 + (e3[(n3 - 20) % 10] || e3[n3] || e3[0]) + "]";
40
+ } }, m = function(t3, e3, n3) {
41
+ var r3 = String(t3);
42
+ return !r3 || r3.length >= e3 ? t3 : "" + Array(e3 + 1 - r3.length).join(n3) + t3;
43
+ }, v = { s: m, z: function(t3) {
44
+ var e3 = -t3.utcOffset(), n3 = Math.abs(e3), r3 = Math.floor(n3 / 60), i2 = n3 % 60;
45
+ return (e3 <= 0 ? "+" : "-") + m(r3, 2, "0") + ":" + m(i2, 2, "0");
46
+ }, m: function t3(e3, n3) {
47
+ if (e3.date() < n3.date())
48
+ return -t3(n3, e3);
49
+ var r3 = 12 * (n3.year() - e3.year()) + (n3.month() - e3.month()), i2 = e3.clone().add(r3, c2), s3 = n3 - i2 < 0, u2 = e3.clone().add(r3 + (s3 ? -1 : 1), c2);
50
+ return +(-(r3 + (n3 - i2) / (s3 ? i2 - u2 : u2 - i2)) || 0);
51
+ }, a: function(t3) {
52
+ return t3 < 0 ? Math.ceil(t3) || 0 : Math.floor(t3);
53
+ }, p: function(t3) {
54
+ return { M: c2, y: h, w: o, d: a2, D: d, h: u, m: s2, s: i, ms: r2, Q: f }[t3] || String(t3 || "").toLowerCase().replace(/s$/, "");
55
+ }, u: function(t3) {
56
+ return void 0 === t3;
57
+ } }, g = "en", D = {};
58
+ D[g] = M;
59
+ var p = "$isDayjsObject", S = function(t3) {
60
+ return t3 instanceof _ || !(!t3 || !t3[p]);
61
+ }, w = function t3(e3, n3, r3) {
62
+ var i2;
63
+ if (!e3)
64
+ return g;
65
+ if ("string" == typeof e3) {
66
+ var s3 = e3.toLowerCase();
67
+ D[s3] && (i2 = s3), n3 && (D[s3] = n3, i2 = s3);
68
+ var u2 = e3.split("-");
69
+ if (!i2 && u2.length > 1)
70
+ return t3(u2[0]);
71
+ } else {
72
+ var a3 = e3.name;
73
+ D[a3] = e3, i2 = a3;
74
+ }
75
+ return !r3 && i2 && (g = i2), i2 || !r3 && g;
76
+ }, O = function(t3, e3) {
77
+ if (S(t3))
78
+ return t3.clone();
79
+ var n3 = "object" == typeof e3 ? e3 : {};
80
+ return n3.date = t3, n3.args = arguments, new _(n3);
81
+ }, b = v;
82
+ b.l = w, b.i = S, b.w = function(t3, e3) {
83
+ return O(t3, { locale: e3.$L, utc: e3.$u, x: e3.$x, $offset: e3.$offset });
84
+ };
85
+ var _ = function() {
86
+ function M2(t3) {
87
+ this.$L = w(t3.locale, null, true), this.parse(t3), this.$x = this.$x || t3.x || {}, this[p] = true;
88
+ }
89
+ var m2 = M2.prototype;
90
+ return m2.parse = function(t3) {
91
+ this.$d = function(t4) {
92
+ var e3 = t4.date, n3 = t4.utc;
93
+ if (null === e3)
94
+ return /* @__PURE__ */ new Date(NaN);
95
+ if (b.u(e3))
96
+ return /* @__PURE__ */ new Date();
97
+ if (e3 instanceof Date)
98
+ return new Date(e3);
99
+ if ("string" == typeof e3 && !/Z$/i.test(e3)) {
100
+ var r3 = e3.match($);
101
+ if (r3) {
102
+ var i2 = r3[2] - 1 || 0, s3 = (r3[7] || "0").substring(0, 3);
103
+ return n3 ? new Date(Date.UTC(r3[1], i2, r3[3] || 1, r3[4] || 0, r3[5] || 0, r3[6] || 0, s3)) : new Date(r3[1], i2, r3[3] || 1, r3[4] || 0, r3[5] || 0, r3[6] || 0, s3);
104
+ }
246
105
  }
247
- return null;
248
- }(t4) || i2.replace(":", "");
249
- });
250
- }, m2.utcOffset = function() {
251
- return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
252
- }, m2.diff = function(r3, d2, l2) {
253
- var $2, y2 = this, M3 = b.p(d2), m3 = O(r3), v2 = (m3.utcOffset() - this.utcOffset()) * e2, g2 = this - m3, D2 = function() {
254
- return b.m(y2, m3);
106
+ return new Date(e3);
107
+ }(t3), this.init();
108
+ }, m2.init = function() {
109
+ var t3 = this.$d;
110
+ this.$y = t3.getFullYear(), this.$M = t3.getMonth(), this.$D = t3.getDate(), this.$W = t3.getDay(), this.$H = t3.getHours(), this.$m = t3.getMinutes(), this.$s = t3.getSeconds(), this.$ms = t3.getMilliseconds();
111
+ }, m2.$utils = function() {
112
+ return b;
113
+ }, m2.isValid = function() {
114
+ return !(this.$d.toString() === l);
115
+ }, m2.isSame = function(t3, e3) {
116
+ var n3 = O(t3);
117
+ return this.startOf(e3) <= n3 && n3 <= this.endOf(e3);
118
+ }, m2.isAfter = function(t3, e3) {
119
+ return O(t3) < this.startOf(e3);
120
+ }, m2.isBefore = function(t3, e3) {
121
+ return this.endOf(e3) < O(t3);
122
+ }, m2.$g = function(t3, e3, n3) {
123
+ return b.u(t3) ? this[e3] : this.set(n3, t3);
124
+ }, m2.unix = function() {
125
+ return Math.floor(this.valueOf() / 1e3);
126
+ }, m2.valueOf = function() {
127
+ return this.$d.getTime();
128
+ }, m2.startOf = function(t3, e3) {
129
+ var n3 = this, r3 = !!b.u(e3) || e3, f2 = b.p(t3), l2 = function(t4, e4) {
130
+ var i2 = b.w(n3.$u ? Date.UTC(n3.$y, e4, t4) : new Date(n3.$y, e4, t4), n3);
131
+ return r3 ? i2 : i2.endOf(a2);
132
+ }, $2 = function(t4, e4) {
133
+ return b.w(n3.toDate()[t4].apply(n3.toDate("s"), (r3 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e4)), n3);
134
+ }, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
135
+ switch (f2) {
136
+ case h:
137
+ return r3 ? l2(1, 0) : l2(31, 11);
138
+ case c2:
139
+ return r3 ? l2(1, M3) : l2(0, M3 + 1);
140
+ case o:
141
+ var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
142
+ return l2(r3 ? m3 - D2 : m3 + (6 - D2), M3);
143
+ case a2:
144
+ case d:
145
+ return $2(v2 + "Hours", 0);
146
+ case u:
147
+ return $2(v2 + "Minutes", 1);
148
+ case s2:
149
+ return $2(v2 + "Seconds", 2);
150
+ case i:
151
+ return $2(v2 + "Milliseconds", 3);
152
+ default:
153
+ return this.clone();
154
+ }
155
+ }, m2.endOf = function(t3) {
156
+ return this.startOf(t3, false);
157
+ }, m2.$set = function(t3, e3) {
158
+ var n3, o2 = b.p(t3), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n3 = {}, n3[a2] = f2 + "Date", n3[d] = f2 + "Date", n3[c2] = f2 + "Month", n3[h] = f2 + "FullYear", n3[u] = f2 + "Hours", n3[s2] = f2 + "Minutes", n3[i] = f2 + "Seconds", n3[r2] = f2 + "Milliseconds", n3)[o2], $2 = o2 === a2 ? this.$D + (e3 - this.$W) : e3;
159
+ if (o2 === c2 || o2 === h) {
160
+ var y2 = this.clone().set(d, 1);
161
+ y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
162
+ } else
163
+ l2 && this.$d[l2]($2);
164
+ return this.init(), this;
165
+ }, m2.set = function(t3, e3) {
166
+ return this.clone().$set(t3, e3);
167
+ }, m2.get = function(t3) {
168
+ return this[b.p(t3)]();
169
+ }, m2.add = function(r3, f2) {
170
+ var d2, l2 = this;
171
+ r3 = Number(r3);
172
+ var $2 = b.p(f2), y2 = function(t3) {
173
+ var e3 = O(l2);
174
+ return b.w(e3.date(e3.date() + Math.round(t3 * r3)), l2);
175
+ };
176
+ if ($2 === c2)
177
+ return this.set(c2, this.$M + r3);
178
+ if ($2 === h)
179
+ return this.set(h, this.$y + r3);
180
+ if ($2 === a2)
181
+ return y2(1);
182
+ if ($2 === o)
183
+ return y2(7);
184
+ var M3 = (d2 = {}, d2[s2] = e2, d2[u] = n2, d2[i] = t2, d2)[$2] || 1, m3 = this.$d.getTime() + r3 * M3;
185
+ return b.w(m3, this);
186
+ }, m2.subtract = function(t3, e3) {
187
+ return this.add(-1 * t3, e3);
188
+ }, m2.format = function(t3) {
189
+ var e3 = this, n3 = this.$locale();
190
+ if (!this.isValid())
191
+ return n3.invalidDate || l;
192
+ var r3 = t3 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s3 = this.$H, u2 = this.$m, a3 = this.$M, o2 = n3.weekdays, c3 = n3.months, f2 = n3.meridiem, h2 = function(t4, n4, i3, s4) {
193
+ return t4 && (t4[n4] || t4(e3, r3)) || i3[n4].slice(0, s4);
194
+ }, d2 = function(t4) {
195
+ return b.s(s3 % 12 || 12, t4, "0");
196
+ }, $2 = f2 || function(t4, e4, n4) {
197
+ var r4 = t4 < 12 ? "AM" : "PM";
198
+ return n4 ? r4.toLowerCase() : r4;
199
+ };
200
+ return r3.replace(y, function(t4, r4) {
201
+ return r4 || function(t5) {
202
+ switch (t5) {
203
+ case "YY":
204
+ return String(e3.$y).slice(-2);
205
+ case "YYYY":
206
+ return b.s(e3.$y, 4, "0");
207
+ case "M":
208
+ return a3 + 1;
209
+ case "MM":
210
+ return b.s(a3 + 1, 2, "0");
211
+ case "MMM":
212
+ return h2(n3.monthsShort, a3, c3, 3);
213
+ case "MMMM":
214
+ return h2(c3, a3);
215
+ case "D":
216
+ return e3.$D;
217
+ case "DD":
218
+ return b.s(e3.$D, 2, "0");
219
+ case "d":
220
+ return String(e3.$W);
221
+ case "dd":
222
+ return h2(n3.weekdaysMin, e3.$W, o2, 2);
223
+ case "ddd":
224
+ return h2(n3.weekdaysShort, e3.$W, o2, 3);
225
+ case "dddd":
226
+ return o2[e3.$W];
227
+ case "H":
228
+ return String(s3);
229
+ case "HH":
230
+ return b.s(s3, 2, "0");
231
+ case "h":
232
+ return d2(1);
233
+ case "hh":
234
+ return d2(2);
235
+ case "a":
236
+ return $2(s3, u2, true);
237
+ case "A":
238
+ return $2(s3, u2, false);
239
+ case "m":
240
+ return String(u2);
241
+ case "mm":
242
+ return b.s(u2, 2, "0");
243
+ case "s":
244
+ return String(e3.$s);
245
+ case "ss":
246
+ return b.s(e3.$s, 2, "0");
247
+ case "SSS":
248
+ return b.s(e3.$ms, 3, "0");
249
+ case "Z":
250
+ return i2;
251
+ }
252
+ return null;
253
+ }(t4) || i2.replace(":", "");
254
+ });
255
+ }, m2.utcOffset = function() {
256
+ return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
257
+ }, m2.diff = function(r3, d2, l2) {
258
+ var $2, y2 = this, M3 = b.p(d2), m3 = O(r3), v2 = (m3.utcOffset() - this.utcOffset()) * e2, g2 = this - m3, D2 = function() {
259
+ return b.m(y2, m3);
260
+ };
261
+ switch (M3) {
262
+ case h:
263
+ $2 = D2() / 12;
264
+ break;
265
+ case c2:
266
+ $2 = D2();
267
+ break;
268
+ case f:
269
+ $2 = D2() / 3;
270
+ break;
271
+ case o:
272
+ $2 = (g2 - v2) / 6048e5;
273
+ break;
274
+ case a2:
275
+ $2 = (g2 - v2) / 864e5;
276
+ break;
277
+ case u:
278
+ $2 = g2 / n2;
279
+ break;
280
+ case s2:
281
+ $2 = g2 / e2;
282
+ break;
283
+ case i:
284
+ $2 = g2 / t2;
285
+ break;
286
+ default:
287
+ $2 = g2;
288
+ }
289
+ return l2 ? $2 : b.a($2);
290
+ }, m2.daysInMonth = function() {
291
+ return this.endOf(c2).$D;
292
+ }, m2.$locale = function() {
293
+ return D[this.$L];
294
+ }, m2.locale = function(t3, e3) {
295
+ if (!t3)
296
+ return this.$L;
297
+ var n3 = this.clone(), r3 = w(t3, e3, true);
298
+ return r3 && (n3.$L = r3), n3;
299
+ }, m2.clone = function() {
300
+ return b.w(this.$d, this);
301
+ }, m2.toDate = function() {
302
+ return new Date(this.valueOf());
303
+ }, m2.toJSON = function() {
304
+ return this.isValid() ? this.toISOString() : null;
305
+ }, m2.toISOString = function() {
306
+ return this.$d.toISOString();
307
+ }, m2.toString = function() {
308
+ return this.$d.toUTCString();
309
+ }, M2;
310
+ }(), k = _.prototype;
311
+ return O.prototype = k, [["$ms", r2], ["$s", i], ["$m", s2], ["$H", u], ["$W", a2], ["$M", c2], ["$y", h], ["$D", d]].forEach(function(t3) {
312
+ k[t3[1]] = function(e3) {
313
+ return this.$g(e3, t3[0], t3[1]);
255
314
  };
256
- switch (M3) {
257
- case h:
258
- $2 = D2() / 12;
259
- break;
260
- case c2:
261
- $2 = D2();
262
- break;
263
- case f:
264
- $2 = D2() / 3;
265
- break;
266
- case o:
267
- $2 = (g2 - v2) / 6048e5;
268
- break;
269
- case a2:
270
- $2 = (g2 - v2) / 864e5;
271
- break;
272
- case u:
273
- $2 = g2 / n2;
274
- break;
275
- case s2:
276
- $2 = g2 / e2;
277
- break;
278
- case i:
279
- $2 = g2 / t2;
280
- break;
281
- default:
282
- $2 = g2;
283
- }
284
- return l2 ? $2 : b.a($2);
285
- }, m2.daysInMonth = function() {
286
- return this.endOf(c2).$D;
287
- }, m2.$locale = function() {
288
- return D[this.$L];
289
- }, m2.locale = function(t3, e3) {
290
- if (!t3)
291
- return this.$L;
292
- var n3 = this.clone(), r3 = w(t3, e3, true);
293
- return r3 && (n3.$L = r3), n3;
294
- }, m2.clone = function() {
295
- return b.w(this.$d, this);
296
- }, m2.toDate = function() {
297
- return new Date(this.valueOf());
298
- }, m2.toJSON = function() {
299
- return this.isValid() ? this.toISOString() : null;
300
- }, m2.toISOString = function() {
301
- return this.$d.toISOString();
302
- }, m2.toString = function() {
303
- return this.$d.toUTCString();
304
- }, M2;
305
- }(), k = _.prototype;
306
- return O.prototype = k, [["$ms", r2], ["$s", i], ["$m", s2], ["$H", u], ["$W", a2], ["$M", c2], ["$y", h], ["$D", d]].forEach(function(t3) {
307
- k[t3[1]] = function(e3) {
308
- return this.$g(e3, t3[0], t3[1]);
309
- };
310
- }), O.extend = function(t3, e3) {
311
- return t3.$i || (t3(e3, _, O), t3.$i = true), O;
312
- }, O.locale = w, O.isDayjs = S, O.unix = function(t3) {
313
- return O(1e3 * t3);
314
- }, O.en = D[g], O.Ls = D, O.p = {}, O;
315
- });
316
- })(dayjs_min);
317
- var dayjs_minExports = dayjs_min.exports;
315
+ }), O.extend = function(t3, e3) {
316
+ return t3.$i || (t3(e3, _, O), t3.$i = true), O;
317
+ }, O.locale = w, O.isDayjs = S, O.unix = function(t3) {
318
+ return O(1e3 * t3);
319
+ }, O.en = D[g], O.Ls = D, O.p = {}, O;
320
+ });
321
+ })(dayjs_min);
322
+ return dayjs_min.exports;
323
+ }
324
+ var dayjs_minExports = requireDayjs_min();
318
325
  const dayjs = /* @__PURE__ */ getDefaultExportFromCjs(dayjs_minExports);
319
326
  var zh = { exports: {} };
320
327
  (function(module, exports) {
321
328
  !function(e2, _) {
322
- module.exports = _(dayjs_minExports);
329
+ module.exports = _(requireDayjs_min());
323
330
  }(commonjsGlobal, function(e2) {
324
331
  function _(e3) {
325
332
  return e3 && "object" == typeof e3 && "default" in e3 ? e3 : { default: e3 };
@@ -621,9 +628,9 @@ function nodesToString(children, i18nOptions) {
621
628
  } else if (typeof child === "object") {
622
629
  const {
623
630
  format: format2,
624
- ...clone
631
+ ...clone2
625
632
  } = child;
626
- const keys = Object.keys(clone);
633
+ const keys = Object.keys(clone2);
627
634
  if (keys.length === 1) {
628
635
  const value2 = format2 ? `${keys[0]}, ${format2}` : keys[0];
629
636
  stringNode += `{{${value2}}}`;
@@ -6326,15 +6333,15 @@ lodash.exports;
6326
6333
  function wrapperPlant(value2) {
6327
6334
  var result2, parent2 = this;
6328
6335
  while (parent2 instanceof baseLodash) {
6329
- var clone2 = wrapperClone(parent2);
6330
- clone2.__index__ = 0;
6331
- clone2.__values__ = undefined$1;
6336
+ var clone3 = wrapperClone(parent2);
6337
+ clone3.__index__ = 0;
6338
+ clone3.__values__ = undefined$1;
6332
6339
  if (result2) {
6333
- previous.__wrapped__ = clone2;
6340
+ previous.__wrapped__ = clone3;
6334
6341
  } else {
6335
- result2 = clone2;
6342
+ result2 = clone3;
6336
6343
  }
6337
- var previous = clone2;
6344
+ var previous = clone3;
6338
6345
  parent2 = parent2.__wrapped__;
6339
6346
  }
6340
6347
  previous.__wrapped__ = value2;
@@ -6769,7 +6776,7 @@ lodash.exports;
6769
6776
  var value2 = arguments[0];
6770
6777
  return isArray2(value2) ? value2 : [value2];
6771
6778
  }
6772
- function clone(value2) {
6779
+ function clone2(value2) {
6773
6780
  return baseClone(value2, CLONE_SYMBOLS_FLAG);
6774
6781
  }
6775
6782
  function cloneWith(value2, customizer) {
@@ -7183,7 +7190,7 @@ lodash.exports;
7183
7190
  function set2(object2, path2, value2) {
7184
7191
  return object2 == null ? object2 : baseSet(object2, path2, value2);
7185
7192
  }
7186
- function setWith(object2, path2, value2, customizer) {
7193
+ function setWith2(object2, path2, value2, customizer) {
7187
7194
  customizer = typeof customizer == "function" ? customizer : undefined$1;
7188
7195
  return object2 == null ? object2 : baseSet(object2, path2, value2, customizer);
7189
7196
  }
@@ -7844,7 +7851,7 @@ lodash.exports;
7844
7851
  lodash2.reverse = reverse;
7845
7852
  lodash2.sampleSize = sampleSize;
7846
7853
  lodash2.set = set2;
7847
- lodash2.setWith = setWith;
7854
+ lodash2.setWith = setWith2;
7848
7855
  lodash2.shuffle = shuffle;
7849
7856
  lodash2.slice = slice;
7850
7857
  lodash2.sortBy = sortBy;
@@ -7901,7 +7908,7 @@ lodash.exports;
7901
7908
  lodash2.capitalize = capitalize;
7902
7909
  lodash2.ceil = ceil;
7903
7910
  lodash2.clamp = clamp;
7904
- lodash2.clone = clone;
7911
+ lodash2.clone = clone2;
7905
7912
  lodash2.cloneDeep = cloneDeep2;
7906
7913
  lodash2.cloneDeepWith = cloneDeepWith;
7907
7914
  lodash2.cloneWith = cloneWith;
@@ -9884,21 +9891,25 @@ class ResourceModel {
9884
9891
  class IngressModel extends ResourceModel {
9885
9892
  constructor(_rawYaml, _globalStore) {
9886
9893
  super(_rawYaml, _globalStore);
9887
- __publicField(this, "flattenedRules", []);
9888
9894
  this._rawYaml = _rawYaml;
9889
9895
  }
9890
- async init() {
9896
+ getFullPath(rule2, path2 = "", port2) {
9897
+ if (!rule2.host) {
9898
+ return path2 || "";
9899
+ }
9900
+ const hostValue = rule2.host || "";
9901
+ const protocal = this._rawYaml.spec.tls ? "https://" : "http://";
9902
+ const portText = port2 ? `:${port2}` : "";
9903
+ return `${protocal}${hostValue}${portText}${path2}`;
9904
+ }
9905
+ getFlattenedRules(services) {
9891
9906
  var _a, _b, _c, _d;
9892
- const services = await this._globalStore.get("services", {
9893
- resourceBasePath: "/api/v1",
9894
- kind: "Service"
9895
- });
9896
9907
  const protocal = !!this._rawYaml.spec.tls ? "https" : "http";
9897
- const servicePort = (_c = (_b = (_a = services.items.find((s2) => {
9908
+ const servicePort = (_c = (_b = (_a = services.find((s2) => {
9898
9909
  var _a2, _b2;
9899
9910
  return ((_a2 = s2.metadata) == null ? void 0 : _a2.name) === "contour-envoy" && ((_b2 = s2.spec) == null ? void 0 : _b2.type) === "NodePort";
9900
9911
  })) == null ? void 0 : _a.spec) == null ? void 0 : _b.ports) == null ? void 0 : _c.find((p) => p.name === protocal);
9901
- this.flattenedRules = ((_d = this._rawYaml.spec.rules) == null ? void 0 : _d.reduce((res, rule2) => {
9912
+ return ((_d = this._rawYaml.spec.rules) == null ? void 0 : _d.reduce((res, rule2) => {
9902
9913
  var _a2;
9903
9914
  const paths = (_a2 = rule2.http) == null ? void 0 : _a2.paths.map((p) => {
9904
9915
  var _a3, _b2, _c2, _d2, _e, _f;
@@ -9914,15 +9925,6 @@ class IngressModel extends ResourceModel {
9914
9925
  return [...res, ...paths || []];
9915
9926
  }, [])) || [];
9916
9927
  }
9917
- getFullPath(rule2, path2 = "", port2) {
9918
- if (!rule2.host) {
9919
- return path2 || "";
9920
- }
9921
- const hostValue = rule2.host || "";
9922
- const protocal = this._rawYaml.spec.tls ? "https://" : "http://";
9923
- const portText = port2 ? `:${port2}` : "";
9924
- return `${protocal}${hostValue}${portText}${path2}`;
9925
- }
9926
9928
  }
9927
9929
  class NetworkPolicyModel extends ResourceModel {
9928
9930
  constructor(_rawYaml, _globalStore) {
@@ -11432,11 +11434,21 @@ var RESOURCE_GROUP = /* @__PURE__ */ ((RESOURCE_GROUP2) => {
11432
11434
  RESOURCE_GROUP2["PROJECT"] = "PROJECT";
11433
11435
  return RESOURCE_GROUP2;
11434
11436
  })(RESOURCE_GROUP || {});
11437
+ var FormContainerType = /* @__PURE__ */ ((FormContainerType2) => {
11438
+ FormContainerType2["PAGE"] = "PAGE";
11439
+ FormContainerType2["MODAL"] = "MODAL";
11440
+ return FormContainerType2;
11441
+ })(FormContainerType || {});
11435
11442
  var FormType = /* @__PURE__ */ ((FormType2) => {
11436
- FormType2["PAGE"] = "PAGE";
11437
- FormType2["MODAL"] = "MODAL";
11443
+ FormType2["YAML"] = "YAML";
11444
+ FormType2["FORM"] = "FORM";
11438
11445
  return FormType2;
11439
11446
  })(FormType || {});
11447
+ var FormMode = /* @__PURE__ */ ((FormMode2) => {
11448
+ FormMode2["FORM"] = "FORM";
11449
+ FormMode2["YAML"] = "YAML";
11450
+ return FormMode2;
11451
+ })(FormMode || {});
11440
11452
  function getInitialValues(config) {
11441
11453
  return config.initValue || {
11442
11454
  apiVersion: config.apiVersion,
@@ -11453,11 +11465,11 @@ function useOpenForm(options) {
11453
11465
  const pushModal = usePushModal();
11454
11466
  const go = useGo();
11455
11467
  return function openForm() {
11456
- var _a, _b, _c;
11468
+ var _a, _b;
11457
11469
  if (resource == null ? void 0 : resource.name) {
11458
11470
  const config = configs[resource.name];
11459
- const formType = (_a = config.formConfig) == null ? void 0 : _a.formType;
11460
- if (formType === void 0 || formType === FormType.MODAL) {
11471
+ const formType = (_a = config.formConfig) == null ? void 0 : _a.formContainerType;
11472
+ if (formType === void 0 || formType === FormContainerType.MODAL) {
11461
11473
  pushModal({
11462
11474
  component: ((_b = config.formConfig) == null ? void 0 : _b.CustomFormModal) || FormModal,
11463
11475
  props: {
@@ -11465,8 +11477,7 @@ function useOpenForm(options) {
11465
11477
  id: options == null ? void 0 : options.id,
11466
11478
  formProps: {
11467
11479
  initialValues: getInitialValues(config)
11468
- },
11469
- renderForm: (options == null ? void 0 : options.renderForm) || ((_c = config.formConfig) == null ? void 0 : _c.renderForm)
11480
+ }
11470
11481
  }
11471
11482
  });
11472
11483
  } else if (options == null ? void 0 : options.id) {
@@ -11514,12 +11525,13 @@ function K8sDropdown(props) {
11514
11525
  resource: resource == null ? void 0 : resource.name,
11515
11526
  action: AccessControlAuth.Delete
11516
11527
  });
11528
+ const formType = ((_a = config.formConfig) == null ? void 0 : _a.formType) || FormType.FORM;
11517
11529
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
11518
11530
  /* @__PURE__ */ jsxRuntimeExports.jsx(
11519
11531
  Dropdown,
11520
11532
  {
11521
11533
  overlay: /* @__PURE__ */ jsxRuntimeExports.jsxs(Menu$1, { children: [
11522
- 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: ((_a = config.formConfig) == null ? void 0 : _a.fields) ? t2("dovetail.edit") : t2("dovetail.edit_yaml") }) }),
11534
+ 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") }) }),
11523
11535
  /* @__PURE__ */ jsxRuntimeExports.jsx(
11524
11536
  Menu$1.Item,
11525
11537
  {
@@ -11989,9 +12001,17 @@ const ResourceLink = (props) => {
11989
12001
  };
11990
12002
  const IngressRulesTable = ({ ingress }) => {
11991
12003
  const { t: t2 } = useTranslation();
12004
+ const { data: serviceData } = useList({
12005
+ resource: "services",
12006
+ meta: {
12007
+ kind: "Service",
12008
+ apiVersion: "v1"
12009
+ }
12010
+ });
12011
+ const flattenedRules = useMemo(() => (serviceData == null ? void 0 : serviceData.data) ? ingress.getFlattenedRules(serviceData == null ? void 0 : serviceData.data) : [], [serviceData == null ? void 0 : serviceData.data, ingress]);
11992
12012
  const rows = useMemo(() => {
11993
- return addId(ingress.flattenedRules || [], "fullPath");
11994
- }, [ingress.flattenedRules]);
12013
+ return addId(flattenedRules || [], "fullPath");
12014
+ }, [flattenedRules]);
11995
12015
  const component = useContext(ComponentContext);
11996
12016
  const Table2 = component.Table || Table$1;
11997
12017
  const currentSize = 10;
@@ -12377,7 +12397,7 @@ const ShowContent = (props) => {
12377
12397
  marginRight: 8
12378
12398
  },
12379
12399
  onClick: openForm,
12380
- children: ((_e = config.formConfig) == null ? void 0 : _e.fields) ? t2("dovetail.edit") : t2("dovetail.edit_yaml")
12400
+ children: ((_e = config.formConfig) == null ? void 0 : _e.formType) === FormType.FORM ? t2("dovetail.edit") : t2("dovetail.edit_yaml")
12381
12401
  })
12382
12402
  }) : null, /* @__PURE__ */ jsxRuntimeExports.jsx(Dropdown2, {
12383
12403
  record,
@@ -20588,7 +20608,7 @@ var tinycolor = { exports: {} };
20588
20608
  }
20589
20609
  return formattedString || this.toHexString();
20590
20610
  },
20591
- clone: function clone() {
20611
+ clone: function clone2() {
20592
20612
  return tinycolor2(this.toString());
20593
20613
  },
20594
20614
  _applyModification: function _applyModification(fn, args) {
@@ -36317,6 +36337,86 @@ function ResourceShow(props) {
36317
36337
  }
36318
36338
  );
36319
36339
  }
36340
+ function FormModeSegmentControl({
36341
+ formConfig,
36342
+ mode,
36343
+ onChangeMode
36344
+ }) {
36345
+ const { isDisabledChangeMode } = formConfig;
36346
+ return !isDisabledChangeMode ? /* @__PURE__ */ jsxRuntimeExports.jsx(
36347
+ SegmentControl,
36348
+ {
36349
+ style: { fontWeight: "normal" },
36350
+ value: mode,
36351
+ options: [
36352
+ {
36353
+ value: FormMode.FORM,
36354
+ label: i18n.t("dovetail.form")
36355
+ },
36356
+ {
36357
+ value: FormMode.YAML,
36358
+ label: i18n.t("dovetail.yaml")
36359
+ }
36360
+ ],
36361
+ onChange: (val) => {
36362
+ onChangeMode(val);
36363
+ }
36364
+ }
36365
+ ) : null;
36366
+ }
36367
+ function immutableSet(obj, path2, value2) {
36368
+ return setWith(clone(obj), path2, value2, clone);
36369
+ }
36370
+ function usePathMap(options) {
36371
+ const { pathMap, transformInitValues, transformApplyValues } = options;
36372
+ return {
36373
+ /**
36374
+ * Transforms initial values by mapping paths from source to target structure
36375
+ * @param values Initial values to transform
36376
+ * @returns Transformed values with updated paths
36377
+ */
36378
+ transformInitValues(values) {
36379
+ const initValues = values._rawYaml || values;
36380
+ let result = initValues;
36381
+ for (const { from, to } of pathMap || []) {
36382
+ result = immutableSet(initValues, to, get$3(initValues, from));
36383
+ const fromPath = [...from];
36384
+ const lastKey = fromPath.pop();
36385
+ if (lastKey) {
36386
+ const obj = get$3(result, fromPath);
36387
+ if (obj && typeof obj === "object") {
36388
+ delete obj[lastKey];
36389
+ }
36390
+ }
36391
+ }
36392
+ return (transformInitValues == null ? void 0 : transformInitValues(result)) || result;
36393
+ },
36394
+ /**
36395
+ * Transforms values back to original structure before applying/saving
36396
+ * @param values Values to transform back
36397
+ * @returns Transformed values in original structure
36398
+ */
36399
+ transformApplyValues(values) {
36400
+ let result = values;
36401
+ for (const { from, to } of pathMap || []) {
36402
+ result = immutableSet(
36403
+ values,
36404
+ from,
36405
+ get$3(result, to)
36406
+ );
36407
+ const toPath = [...to];
36408
+ const lastKey = toPath.pop();
36409
+ if (lastKey) {
36410
+ const obj = get$3(result, toPath);
36411
+ if (obj && typeof obj === "object") {
36412
+ delete obj[lastKey];
36413
+ }
36414
+ }
36415
+ }
36416
+ return (transformApplyValues == null ? void 0 : transformApplyValues(result)) || result;
36417
+ }
36418
+ };
36419
+ }
36320
36420
  var isCheckBoxInput = (element) => element.type === "checkbox";
36321
36421
  var isDateObject = (value2) => value2 instanceof Date;
36322
36422
  var isNullOrUndefined = (value2) => value2 == null;
@@ -37894,8 +37994,8 @@ function useForm$1(props = {}) {
37894
37994
  _formControl.current.formState = getProxyFormState(formState, control);
37895
37995
  return _formControl.current;
37896
37996
  }
37897
- function useFieldsConfig(config, resourceId) {
37898
- var _a, _b, _c, _d;
37997
+ function useFieldsConfig(config, formConfig, resourceId) {
37998
+ var _a, _b, _c;
37899
37999
  const action = resourceId ? "edit" : "create";
37900
38000
  const listQuery = useList({
37901
38001
  resource: config == null ? void 0 : config.name,
@@ -37909,40 +38009,91 @@ function useFieldsConfig(config, resourceId) {
37909
38009
  meta: { resourceBasePath: config == null ? void 0 : config.basePath, kind: config == null ? void 0 : config.kind },
37910
38010
  id: resourceId
37911
38011
  });
37912
- return (_d = (_a = config == null ? void 0 : config.formConfig) == null ? void 0 : _a.fields) == null ? void 0 : _d.call(_a, {
37913
- record: (_b = showQuery.queryResult.data) == null ? void 0 : _b.data,
37914
- records: ((_c = listQuery.data) == null ? void 0 : _c.data) || [],
38012
+ return (_c = formConfig == null ? void 0 : formConfig.fields) == null ? void 0 : _c.call(formConfig, {
38013
+ record: (_a = showQuery.queryResult.data) == null ? void 0 : _a.data,
38014
+ records: ((_b = listQuery.data) == null ? void 0 : _b.data) || [],
37915
38015
  action
37916
38016
  });
37917
38017
  }
37918
- const RefineFormContent_7gh3uw = "";
38018
+ const RefineFormContent_ahna8x = "";
38019
+ function renderCommonFormFiled(props) {
38020
+ const {
38021
+ field,
38022
+ fieldConfig,
38023
+ action
38024
+ } = props;
38025
+ const {
38026
+ value: value2,
38027
+ onChange,
38028
+ onBlur,
38029
+ name: name2
38030
+ } = field;
38031
+ let ele = /* @__PURE__ */ jsxRuntimeExports.jsx(Fields.String, {
38032
+ placeholder: fieldConfig.placeholder,
38033
+ input: {
38034
+ value: value2,
38035
+ onChange,
38036
+ onBlur,
38037
+ name: name2,
38038
+ onFocus: () => null
38039
+ },
38040
+ meta: {}
38041
+ });
38042
+ switch (fieldConfig.type) {
38043
+ case "number":
38044
+ ele = /* @__PURE__ */ jsxRuntimeExports.jsx(Fields.Integer, {
38045
+ className: "c154n7ie",
38046
+ placeholder: fieldConfig.placeholder,
38047
+ input: {
38048
+ value: value2,
38049
+ onChange,
38050
+ onBlur,
38051
+ name: name2,
38052
+ onFocus: () => null
38053
+ },
38054
+ meta: {}
38055
+ });
38056
+ }
38057
+ if (action === "edit" && fieldConfig.disabledWhenEdit) {
38058
+ ele = /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
38059
+ children: value2
38060
+ });
38061
+ }
38062
+ return ele;
38063
+ }
37919
38064
  const RefineFormContent = (props) => {
37920
38065
  const {
37921
38066
  config,
37922
38067
  formResult,
37923
38068
  resourceId,
37924
- errorMsgs
38069
+ errorMsgs,
38070
+ formConfig
37925
38071
  } = props;
37926
38072
  const {
37927
38073
  control,
37928
- getValues
38074
+ getValues,
38075
+ watch,
38076
+ trigger
37929
38077
  } = formResult;
37930
38078
  const action = resourceId ? "edit" : "create";
37931
- const formFieldsConfig = useFieldsConfig(config, resourceId);
37932
- const fields = formFieldsConfig == null ? void 0 : formFieldsConfig.map((c2) => {
37933
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Controller, {
38079
+ const formValues = watch();
38080
+ const formFieldsConfig = useFieldsConfig(config, formConfig, resourceId);
38081
+ const fields = formFieldsConfig == null ? void 0 : formFieldsConfig.map((fieldConfig) => {
38082
+ var _a;
38083
+ const isDisplay = ((_a = fieldConfig.condition) == null ? void 0 : _a.call(fieldConfig, formValues, get$3(formValues, fieldConfig.path.join(".")))) !== false;
38084
+ return isDisplay ? /* @__PURE__ */ jsxRuntimeExports.jsx(Controller, {
37934
38085
  control,
37935
- name: c2.path.join("."),
38086
+ name: fieldConfig.path.join("."),
37936
38087
  rules: {
37937
38088
  validate(value2) {
37938
38089
  const formValue = getValues();
37939
- if (!c2.validators || c2.validators.length === 0)
38090
+ if (!fieldConfig.validators || fieldConfig.validators.length === 0)
37940
38091
  return true;
37941
- for (const func of c2.validators) {
38092
+ for (const func of fieldConfig.validators) {
37942
38093
  const {
37943
38094
  isValid,
37944
38095
  errorMsg
37945
- } = func(value2, formValue);
38096
+ } = func(value2, formValue, FormType.FORM);
37946
38097
  if (!isValid)
37947
38098
  return errorMsg;
37948
38099
  }
@@ -37950,79 +38101,42 @@ const RefineFormContent = (props) => {
37950
38101
  }
37951
38102
  },
37952
38103
  render: ({
37953
- field: {
37954
- onChange,
37955
- onBlur,
37956
- value: value2,
37957
- name: name2
37958
- },
38104
+ field,
37959
38105
  fieldState
37960
38106
  }) => {
37961
- var _a, _b;
37962
- const formValue = getValues();
37963
- let ele = /* @__PURE__ */ jsxRuntimeExports.jsx(Fields.String, {
37964
- placeholder: c2.placeholder,
37965
- input: {
37966
- value: value2,
37967
- onChange,
37968
- onBlur,
37969
- name: name2,
37970
- onFocus: () => null
37971
- },
37972
- meta: {}
37973
- });
37974
- switch (c2.type) {
37975
- case "number":
37976
- ele = /* @__PURE__ */ jsxRuntimeExports.jsx(Fields.Integer, {
37977
- className: "c154n7ie",
37978
- placeholder: c2.placeholder,
37979
- input: {
37980
- value: value2,
37981
- onChange,
37982
- onBlur,
37983
- name: name2,
37984
- onFocus: () => null
37985
- },
37986
- meta: {}
37987
- });
37988
- }
37989
- if (action === "edit" && c2.disabledWhenEdit) {
37990
- ele = /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
37991
- children: value2
37992
- });
37993
- }
37994
- if (c2 == null ? void 0 : c2.render) {
37995
- ele = c2.render(value2, onChange, formValue, onBlur, action, control);
37996
- }
37997
- if (c2.helperText) {
37998
- ele = /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
37999
- size: 4,
38000
- direction: "vertical",
38001
- className: "c1c9j4da",
38002
- children: [ele, /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
38003
- className: cx_default(Typo.Footnote.f2_regular, "cjxv8cf"),
38004
- children: c2.helperText
38005
- })]
38006
- });
38107
+ var _a2;
38108
+ const renderProps = {
38109
+ field,
38110
+ fieldConfig,
38111
+ action,
38112
+ control,
38113
+ trigger
38114
+ };
38115
+ let ele = null;
38116
+ if (fieldConfig == null ? void 0 : fieldConfig.render) {
38117
+ ele = fieldConfig.render(renderProps);
38118
+ } else {
38119
+ ele = renderCommonFormFiled(renderProps);
38007
38120
  }
38008
38121
  return /* @__PURE__ */ jsxRuntimeExports.jsx(Form.Item, {
38009
- label: c2.label,
38122
+ label: fieldConfig.label,
38010
38123
  colon: false,
38011
38124
  labelCol: {
38012
- flex: `0 0 ${((_a = config == null ? void 0 : config.formConfig) == null ? void 0 : _a.labelWidth) || "216px"}`
38125
+ flex: `0 0 ${(formConfig == null ? void 0 : formConfig.labelWidth) || "216px"}`
38013
38126
  },
38014
- help: (_b = fieldState.error) == null ? void 0 : _b.message,
38127
+ help: (_a2 = fieldState.error) == null ? void 0 : _a2.message,
38128
+ extra: fieldConfig.helperText,
38015
38129
  validateStatus: fieldState.invalid ? "error" : void 0,
38016
- "data-test-id": c2.key,
38130
+ "data-test-id": fieldConfig.key,
38017
38131
  children: ele
38018
- }, c2.key);
38132
+ }, fieldConfig.key);
38019
38133
  }
38020
- }, c2.key);
38134
+ }, fieldConfig.key) : null;
38021
38135
  });
38022
38136
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(Space, {
38023
38137
  direction: "vertical",
38024
38138
  size: 16,
38025
- className: "c1xsnuvk",
38139
+ className: "c1c9j4da",
38026
38140
  children: [fields, /* @__PURE__ */ jsxRuntimeExports.jsx(FormErrorAlert, {
38027
38141
  errorMsgs: errorMsgs || [],
38028
38142
  style: {
@@ -38633,7 +38747,7 @@ const useForm = ({
38633
38747
  });
38634
38748
  return () => subscription.unsubscribe();
38635
38749
  }, [watch]);
38636
- const onValuesChange = (changeValues) => {
38750
+ const onValuesChange = useCallback((changeValues) => {
38637
38751
  var _a;
38638
38752
  if (warnWhenUnsavedChanges) {
38639
38753
  setWarnWhen(true);
@@ -38647,20 +38761,22 @@ const useForm = ({
38647
38761
  return onFinishAutoSave(changeValues);
38648
38762
  }
38649
38763
  return changeValues;
38650
- };
38651
- const handleSubmit = (onValid, onInvalid) => async (e2) => {
38764
+ }, [warnWhenUnsavedChanges, refineCoreProps == null ? void 0 : refineCoreProps.autoSave, setWarnWhen, onFinishAutoSave]);
38765
+ const handleSubmit = useCallback((onValid, onInvalid) => async (e2) => {
38652
38766
  setWarnWhen(false);
38653
38767
  return handleSubmitReactHookForm(onValid, onInvalid)(e2);
38654
- };
38655
- const saveButtonProps = {
38656
- disabled: formLoading,
38657
- onClick: (e2) => {
38658
- handleSubmit(
38659
- (v) => onFinish(transformApplyValues ? transformApplyValues(v) : v),
38660
- () => false
38661
- )(e2);
38662
- }
38663
- };
38768
+ }, [handleSubmitReactHookForm, setWarnWhen]);
38769
+ const saveButtonProps = useMemo(() => {
38770
+ return {
38771
+ disabled: formLoading,
38772
+ onClick: (e2) => {
38773
+ handleSubmit(
38774
+ (v) => onFinish(transformApplyValues ? transformApplyValues(v) : v),
38775
+ () => false
38776
+ )(e2);
38777
+ }
38778
+ };
38779
+ }, [formLoading, handleSubmit, onFinish, transformApplyValues]);
38664
38780
  return {
38665
38781
  ...useHookFormResult,
38666
38782
  handleSubmit,
@@ -38669,8 +38785,12 @@ const useForm = ({
38669
38785
  };
38670
38786
  };
38671
38787
  const useRefineForm = (props) => {
38672
- var _a, _b, _c;
38673
- const { config, id, refineProps } = props;
38788
+ const { formConfig, config, id, refineProps } = props;
38789
+ const { transformInitValues, transformApplyValues } = usePathMap({
38790
+ pathMap: formConfig == null ? void 0 : formConfig.pathMap,
38791
+ transformInitValues: formConfig == null ? void 0 : formConfig.transformInitValues,
38792
+ transformApplyValues: formConfig == null ? void 0 : formConfig.transformApplyValues
38793
+ });
38674
38794
  const [responseErrorMsgs, setResponseErrorMsgs] = useState([]);
38675
38795
  const { i18n: i18n2 } = useTranslation();
38676
38796
  const result = useForm({
@@ -38679,14 +38799,14 @@ const useRefineForm = (props) => {
38679
38799
  refineCoreProps: {
38680
38800
  errorNotification: false,
38681
38801
  successNotification: () => {
38682
- var _a2;
38802
+ var _a;
38683
38803
  const formValue = result.getValues();
38684
38804
  return {
38685
38805
  message: i18n2.t(
38686
38806
  id ? "dovetail.edit_resource_success" : "dovetail.create_success_toast",
38687
38807
  {
38688
38808
  kind: transformResourceKindInSentence(config.displayName || config.kind, i18n2.language),
38689
- name: (_a2 = formValue.metadata) == null ? void 0 : _a2.name,
38809
+ name: (_a = formValue.metadata) == null ? void 0 : _a.name,
38690
38810
  interpolation: { escapeValue: false }
38691
38811
  }
38692
38812
  ).trim(),
@@ -38701,20 +38821,20 @@ const useRefineForm = (props) => {
38701
38821
  ...refineProps
38702
38822
  },
38703
38823
  defaultValues: config == null ? void 0 : config.initValue,
38704
- transformApplyValues: (_a = config.formConfig) == null ? void 0 : _a.transformApplyValues,
38705
- transformInitValues: (_b = config.formConfig) == null ? void 0 : _b.transformInitValues,
38706
- ...(_c = config.formConfig) == null ? void 0 : _c.useFormProps
38824
+ transformApplyValues,
38825
+ transformInitValues,
38826
+ ...formConfig == null ? void 0 : formConfig.useFormProps
38707
38827
  });
38708
38828
  useEffect(() => {
38709
- var _a2, _b2;
38710
- const response = (_a2 = result.refineCore.mutationResult.error) == null ? void 0 : _a2.response;
38829
+ var _a, _b;
38830
+ const response = (_a = result.refineCore.mutationResult.error) == null ? void 0 : _a.response;
38711
38831
  if (response && !(response == null ? void 0 : response.bodyUsed)) {
38712
- (_b2 = response.json) == null ? void 0 : _b2.call(response).then((body) => {
38713
- var _a3, _b3;
38714
- setResponseErrorMsgs([].concat(((_b3 = (_a3 = config.formConfig) == null ? void 0 : _a3.formatError) == null ? void 0 : _b3.call(_a3, body)) || getCommonErrors(body, i18n2)));
38832
+ (_b = response.json) == null ? void 0 : _b.call(response).then((body) => {
38833
+ var _a2;
38834
+ setResponseErrorMsgs([].concat(((_a2 = formConfig == null ? void 0 : formConfig.formatError) == null ? void 0 : _a2.call(formConfig, body)) || getCommonErrors(body, i18n2)));
38715
38835
  });
38716
38836
  }
38717
- }, [config.formConfig, result, i18n2]);
38837
+ }, [formConfig, result, i18n2]);
38718
38838
  return { formResult: result, responseErrorMsgs };
38719
38839
  };
38720
38840
  const index_2ivb33 = "";
@@ -38725,7 +38845,7 @@ const Separator = () => {
38725
38845
  });
38726
38846
  };
38727
38847
  const MonacoYamlEditor = React__default.lazy(() => Promise.resolve().then(() => MonacoYamlEditor$2));
38728
- const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-286ba95e.js"));
38848
+ const MonacoYamlDiffEditor = React__default.lazy(() => import("./MonacoYamlDiffEditor-97cade84.js"));
38729
38849
  const YamlEditorComponent = forwardRef(
38730
38850
  function YamlEditorComponent2(props, ref) {
38731
38851
  const {
@@ -39099,7 +39219,6 @@ const useYamlForm = ({
39099
39219
  var _a;
39100
39220
  const editor = useRef(null);
39101
39221
  const { t: t2 } = useTranslation();
39102
- const [enableEditor, setEnableEditor] = useState(false);
39103
39222
  const [isYamlValid, setIsYamlValid] = useState(true);
39104
39223
  const [isSchemaValid, setIsSchemaValid] = useState(true);
39105
39224
  const [editorErrors, setEditorErrors] = useState([]);
@@ -39173,36 +39292,9 @@ const useYamlForm = ({
39173
39292
  const finalErrors = useMemo(() => {
39174
39293
  return uniq([...editorErrors, ...rulesErrors]);
39175
39294
  }, [editorErrors, rulesErrors]);
39176
- const onKeyUp = (event2) => {
39177
- if (submitOnEnter && event2.key === "Enter") {
39178
- form2.submit();
39179
- }
39180
- };
39181
- const onValuesChange = (changeValues) => {
39182
- if (changeValues && warnWhenUnsavedChanges) {
39183
- setWarnWhen(true);
39184
- }
39185
- return changeValues;
39186
- };
39187
- const validateYaml = (yamlValue) => {
39188
- const errorMap = {};
39189
- if (rules && isYamlValid && isSchemaValid) {
39190
- const formValue = yaml$2.load(yamlValue || "");
39191
- rules.forEach((rule2) => {
39192
- const { path: path2, validators } = rule2;
39193
- const value2 = get$3(formValue, path2);
39194
- for (const validator of validators || []) {
39195
- const { isValid, errorMsg } = validator(value2, formValue);
39196
- if (!isValid) {
39197
- errorMap[path2.join(".")] = `${errorMsg}(${path2.join(".")})`;
39198
- break;
39199
- }
39200
- }
39201
- });
39202
- }
39203
- setRulesErrors(uniq(Object.values(errorMap)));
39204
- return errorMap;
39205
- };
39295
+ const schemas = useMemo(() => {
39296
+ return schema ? [schema] : [];
39297
+ }, [schema]);
39206
39298
  const saveButtonProps = useMemo(
39207
39299
  () => ({
39208
39300
  loading: formLoading,
@@ -39212,15 +39304,15 @@ const useYamlForm = ({
39212
39304
  }),
39213
39305
  [formLoading, form2]
39214
39306
  );
39215
- const schemas = useMemo(() => {
39216
- return schema ? [schema] : [];
39217
- }, [schema]);
39307
+ const emptySchemas = useMemo(() => {
39308
+ return [];
39309
+ }, []);
39218
39310
  const editorProps = useMemo(() => {
39219
39311
  var _a2;
39220
39312
  return {
39221
39313
  ref: editor,
39222
39314
  defaultValue: schema && (editorOptions == null ? void 0 : editorOptions.isGenerateAnnotations) ? generateYamlBySchema(initialValues || {}, schema) : yaml$2.dump(initialValues),
39223
- schemas,
39315
+ schemas: schemas || emptySchemas,
39224
39316
  id: ((_a2 = useResourceResult.resource) == null ? void 0 : _a2.name) || "",
39225
39317
  errorMsgs: finalErrors,
39226
39318
  onValidate(yamlValid, schemaValid) {
@@ -39242,6 +39334,7 @@ const useYamlForm = ({
39242
39334
  };
39243
39335
  }, [
39244
39336
  schema,
39337
+ emptySchemas,
39245
39338
  editorOptions == null ? void 0 : editorOptions.isGenerateAnnotations,
39246
39339
  initialValues,
39247
39340
  schemas,
@@ -39250,6 +39343,36 @@ const useYamlForm = ({
39250
39343
  finalErrors,
39251
39344
  fold2
39252
39345
  ]);
39346
+ const onKeyUp = (event2) => {
39347
+ if (submitOnEnter && event2.key === "Enter") {
39348
+ form2.submit();
39349
+ }
39350
+ };
39351
+ const onValuesChange = (changeValues) => {
39352
+ if (changeValues && warnWhenUnsavedChanges) {
39353
+ setWarnWhen(true);
39354
+ }
39355
+ return changeValues;
39356
+ };
39357
+ const validateRules = (yamlValue) => {
39358
+ const errorMap = {};
39359
+ if (rules && isYamlValid && isSchemaValid) {
39360
+ const formValue = yaml$2.load(yamlValue || "");
39361
+ rules.forEach((rule2) => {
39362
+ const { path: path2, validators } = rule2;
39363
+ const value2 = get$3(formValue, path2);
39364
+ for (const validator of validators || []) {
39365
+ const { isValid, errorMsg } = validator(value2, formValue, FormType.YAML);
39366
+ if (!isValid) {
39367
+ errorMap[path2.join(".")] = `${errorMsg}(${path2.join(".")})`;
39368
+ break;
39369
+ }
39370
+ }
39371
+ });
39372
+ }
39373
+ setRulesErrors(uniq(Object.values(errorMap)));
39374
+ return errorMap;
39375
+ };
39253
39376
  return {
39254
39377
  form: formSF.form,
39255
39378
  formProps: {
@@ -39265,7 +39388,7 @@ const useYamlForm = ({
39265
39388
  setRulesErrors([]);
39266
39389
  return;
39267
39390
  }
39268
- const rulesErrors2 = validateYaml(((_a2 = editor.current) == null ? void 0 : _a2.getEditorValue()) || "");
39391
+ const rulesErrors2 = validateRules(((_a2 = editor.current) == null ? void 0 : _a2.getEditorValue()) || "");
39269
39392
  if (Object.keys(rulesErrors2).length) {
39270
39393
  setRulesErrors(Object.values(rulesErrors2));
39271
39394
  return;
@@ -39291,26 +39414,12 @@ const useYamlForm = ({
39291
39414
  },
39292
39415
  saveButtonProps,
39293
39416
  ...useFormCoreResult,
39294
- editorProps,
39295
- enableEditor,
39296
39417
  errorResponseBody,
39418
+ editorProps,
39297
39419
  schemas: schema ? [schema] : [],
39298
39420
  isLoadingSchema,
39299
39421
  loadSchemaError,
39300
- fetchSchema,
39301
- switchEditor() {
39302
- var _a2, _b;
39303
- if (enableEditor && ((_a2 = editor.current) == null ? void 0 : _a2.getEditorValue())) {
39304
- const value2 = yaml$2.load((_b = editor.current) == null ? void 0 : _b.getEditorValue());
39305
- form2 == null ? void 0 : form2.setFieldsValue(value2);
39306
- }
39307
- setEnableEditor(!enableEditor);
39308
- },
39309
- onFinish: async (values) => {
39310
- var _a2;
39311
- const finalValues = enableEditor ? yaml$2.load(((_a2 = editor.current) == null ? void 0 : _a2.getEditorValue()) || "") : values ?? formSF.form.getFieldsValue(true);
39312
- return await onFinish(finalValues);
39313
- }
39422
+ fetchSchema
39314
39423
  };
39315
39424
  };
39316
39425
  const YamlForm_1lo4xcc = "";
@@ -39329,6 +39438,7 @@ function YamlForm(props) {
39329
39438
  schemaStrategy = "Optional",
39330
39439
  isShowLayout = true,
39331
39440
  useFormProps,
39441
+ config,
39332
39442
  transformInitValues,
39333
39443
  transformApplyValues,
39334
39444
  onSaveButtonPropsChange,
@@ -39340,8 +39450,6 @@ function YamlForm(props) {
39340
39450
  resource
39341
39451
  } = useResource();
39342
39452
  const action = actionFromProps || actionFromResource;
39343
- const configs = useContext(ConfigsContext);
39344
- const config = configs[(resource == null ? void 0 : resource.name) || ""];
39345
39453
  const {
39346
39454
  t: t2,
39347
39455
  i18n: i18n2
@@ -39392,9 +39500,6 @@ function YamlForm(props) {
39392
39500
  const formWrapperProps = isShowLayout ? {
39393
39501
  saveButtonProps
39394
39502
  } : {};
39395
- const schemas = useMemo(() => {
39396
- return editorProps.schemas || [];
39397
- }, [editorProps.schemas]);
39398
39503
  const responseErrors = useMemo(() => errorResponseBody ? getCommonErrors(errorResponseBody, i18n2) : [], [errorResponseBody, i18n2]);
39399
39504
  const onFinish = useCallback(async (store) => {
39400
39505
  var _a, _b;
@@ -39437,7 +39542,6 @@ function YamlForm(props) {
39437
39542
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(YamlEditorComponent, {
39438
39543
  ...editorProps,
39439
39544
  className: EditorStyle,
39440
- schemas,
39441
39545
  collapsable: false
39442
39546
  })
39443
39547
  }), /* @__PURE__ */ jsxRuntimeExports.jsx(Form.Item, {
@@ -39457,6 +39561,172 @@ function YamlForm(props) {
39457
39561
  })
39458
39562
  });
39459
39563
  }
39564
+ function RefineFormContainer({
39565
+ id,
39566
+ config,
39567
+ customYamlFormProps,
39568
+ formConfig,
39569
+ isYamlMode,
39570
+ onSuccess,
39571
+ onError,
39572
+ onSaveButtonPropsChange
39573
+ }) {
39574
+ const action = id ? "edit" : "create";
39575
+ const fieldsConfig = useFieldsConfig(config, formConfig, id);
39576
+ const refineFormResult = useRefineForm({
39577
+ config,
39578
+ id,
39579
+ refineProps: {
39580
+ onMutationSuccess: () => {
39581
+ onSuccess == null ? void 0 : onSuccess();
39582
+ },
39583
+ onMutationError() {
39584
+ onError == null ? void 0 : onError();
39585
+ },
39586
+ redirect: false,
39587
+ ...formConfig == null ? void 0 : formConfig.refineCoreProps
39588
+ },
39589
+ formConfig
39590
+ });
39591
+ const {
39592
+ transformApplyValues
39593
+ } = usePathMap({
39594
+ pathMap: formConfig == null ? void 0 : formConfig.pathMap,
39595
+ transformInitValues: formConfig == null ? void 0 : formConfig.transformInitValues,
39596
+ transformApplyValues: (formConfig == null ? void 0 : formConfig.transformApplyValues) || ((v) => v)
39597
+ });
39598
+ const yamlFormProps = useMemo(() => {
39599
+ if (isYamlMode) {
39600
+ return {
39601
+ ...customYamlFormProps,
39602
+ config,
39603
+ transformInitValues: void 0,
39604
+ transformApplyValues: void 0,
39605
+ initialValuesForCreate: transformApplyValues(
39606
+ refineFormResult.formResult.getValues()
39607
+ ),
39608
+ initialValuesForEdit: transformApplyValues(refineFormResult.formResult.getValues()),
39609
+ id,
39610
+ action,
39611
+ isShowLayout: false,
39612
+ useFormProps: {
39613
+ redirect: false
39614
+ },
39615
+ rules: fieldsConfig == null ? void 0 : fieldsConfig.map((config2) => ({
39616
+ path: config2.path,
39617
+ validators: config2.validators
39618
+ })),
39619
+ onSaveButtonPropsChange,
39620
+ onErrorsChange(errors) {
39621
+ if (errors.length) {
39622
+ onError == null ? void 0 : onError();
39623
+ }
39624
+ },
39625
+ onFinish: onSuccess
39626
+ };
39627
+ }
39628
+ return {
39629
+ config
39630
+ };
39631
+ }, [
39632
+ action,
39633
+ isYamlMode,
39634
+ customYamlFormProps,
39635
+ fieldsConfig,
39636
+ config,
39637
+ id,
39638
+ refineFormResult,
39639
+ transformApplyValues,
39640
+ onSaveButtonPropsChange,
39641
+ onSuccess,
39642
+ onError
39643
+ ]);
39644
+ useEffect(() => {
39645
+ if (!isYamlMode) {
39646
+ onSaveButtonPropsChange == null ? void 0 : onSaveButtonPropsChange(refineFormResult.formResult.saveButtonProps);
39647
+ }
39648
+ }, [isYamlMode, refineFormResult.formResult.saveButtonProps, onSaveButtonPropsChange]);
39649
+ if (isYamlMode) {
39650
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(YamlForm, { ...yamlFormProps });
39651
+ }
39652
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
39653
+ !(formConfig == null ? void 0 : formConfig.isDisabledChangeMode) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
39654
+ Alert,
39655
+ {
39656
+ type: "warning",
39657
+ message: i18n.t("dovetail.change_form_mode_alert"),
39658
+ style: { marginBottom: "16px" }
39659
+ }
39660
+ ) : void 0,
39661
+ (formConfig == null ? void 0 : formConfig.renderForm) ? formConfig == null ? void 0 : formConfig.renderForm() : /* @__PURE__ */ jsxRuntimeExports.jsx(
39662
+ RefineFormContent,
39663
+ {
39664
+ formResult: refineFormResult.formResult,
39665
+ config,
39666
+ formConfig,
39667
+ errorMsgs: refineFormResult.responseErrorMsgs,
39668
+ resourceId: id
39669
+ }
39670
+ )
39671
+ ] });
39672
+ }
39673
+ function YamlFormContainer({
39674
+ id,
39675
+ customYamlFormProps,
39676
+ config,
39677
+ formConfig,
39678
+ onSuccess,
39679
+ onError,
39680
+ onSaveButtonPropsChange
39681
+ }) {
39682
+ const action = id ? "edit" : "create";
39683
+ const {
39684
+ transformInitValues,
39685
+ transformApplyValues
39686
+ } = usePathMap({
39687
+ pathMap: formConfig == null ? void 0 : formConfig.pathMap,
39688
+ transformInitValues: formConfig == null ? void 0 : formConfig.transformInitValues,
39689
+ transformApplyValues: (formConfig == null ? void 0 : formConfig.transformApplyValues) || ((v) => v)
39690
+ });
39691
+ const yamlFormProps = useMemo(
39692
+ () => {
39693
+ return {
39694
+ ...customYamlFormProps,
39695
+ config,
39696
+ transformInitValues,
39697
+ transformApplyValues,
39698
+ initialValuesForCreate: (customYamlFormProps == null ? void 0 : customYamlFormProps.initialValuesForCreate) || config.initValue,
39699
+ initialValuesForEdit: void 0,
39700
+ id,
39701
+ action,
39702
+ isShowLayout: false,
39703
+ useFormProps: {
39704
+ redirect: false
39705
+ },
39706
+ rules: void 0,
39707
+ onSaveButtonPropsChange,
39708
+ onErrorsChange(errors) {
39709
+ if (errors.length) {
39710
+ onError == null ? void 0 : onError();
39711
+ }
39712
+ },
39713
+ onFinish: onSuccess
39714
+ };
39715
+ },
39716
+ [
39717
+ id,
39718
+ action,
39719
+ customYamlFormProps,
39720
+ config,
39721
+ transformInitValues,
39722
+ transformApplyValues,
39723
+ onSuccess,
39724
+ onError,
39725
+ onSaveButtonPropsChange
39726
+ ]
39727
+ );
39728
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(YamlForm, { ...yamlFormProps });
39729
+ }
39460
39730
  const FormModal_64brhp = "";
39461
39731
  const FormDescStyle = "f1nltbcu";
39462
39732
  const ErrorStyle = "e1qgcca6";
@@ -39490,11 +39760,11 @@ function ConfirmModal({
39490
39760
  });
39491
39761
  }
39492
39762
  function FormModal(props) {
39493
- var _a, _b, _c, _d, _e, _f;
39763
+ var _a, _b, _c;
39494
39764
  const {
39495
39765
  resource: resourceFromProps,
39496
39766
  id,
39497
- renderForm
39767
+ yamlFormProps: customYamlFormProps
39498
39768
  } = props;
39499
39769
  const {
39500
39770
  i18n: i18n2
@@ -39503,74 +39773,17 @@ function FormModal(props) {
39503
39773
  resource
39504
39774
  } = useResource();
39505
39775
  const configs = useContext(ConfigsContext);
39506
- const [yamlSaveButtonProps, setYamlSaveButtonProps] = useState({});
39776
+ const [saveButtonProps, setSaveButtonProps] = useState({});
39507
39777
  const [isError, setIsError] = useState(false);
39508
- const [mode, setMode] = useState(
39509
- "form"
39510
- /* Form */
39511
- );
39512
- const isYamlMode = mode === "yaml";
39778
+ const [mode, setMode] = useState(FormMode.FORM);
39779
+ const isYamlMode = mode === FormMode.YAML;
39513
39780
  const popModal = usePopModal();
39514
39781
  const pushModal = usePushModal();
39515
39782
  const config = configs[resourceFromProps || (resource == null ? void 0 : resource.name) || ""];
39516
- const isDisabledChangeMode = (_a = config.formConfig) == null ? void 0 : _a.isDisabledChangeMode;
39783
+ const isDisabledChangeMode = config.formConfig && "isDisabledChangeMode" in config.formConfig && config.formConfig.isDisabledChangeMode;
39517
39784
  const okText = i18n2.t(id ? "dovetail.save" : "dovetail.create");
39518
39785
  const action = id ? "edit" : "create";
39519
- const fieldsConfig = useFieldsConfig(config, id);
39520
- const refineFormResult = useRefineForm({
39521
- config,
39522
- id,
39523
- refineProps: {
39524
- onMutationSuccess: () => {
39525
- popModal();
39526
- },
39527
- redirect: false,
39528
- ...(_b = config.formConfig) == null ? void 0 : _b.refineCoreProps
39529
- }
39530
- });
39531
- const yamlFormProps = useMemo(() => {
39532
- var _a2, _b2, _c2;
39533
- const transformApplyValues = ((_a2 = config.formConfig) == null ? void 0 : _a2.transformApplyValues) || ((v) => v);
39534
- return {
39535
- ...props.formProps,
39536
- transformInitValues: isYamlMode ? void 0 : (_b2 = config.formConfig) == null ? void 0 : _b2.transformInitValues,
39537
- transformApplyValues: isYamlMode ? void 0 : transformApplyValues,
39538
- initialValuesForCreate: isYamlMode ? transformApplyValues(refineFormResult.formResult.getValues()) : ((_c2 = props.formProps) == null ? void 0 : _c2.initialValuesForCreate) || (config == null ? void 0 : config.initValue),
39539
- initialValuesForEdit: isYamlMode ? transformApplyValues(refineFormResult.formResult.getValues()) : void 0,
39540
- id,
39541
- action,
39542
- isShowLayout: false,
39543
- useFormProps: {
39544
- redirect: false
39545
- },
39546
- rules: isYamlMode ? fieldsConfig == null ? void 0 : fieldsConfig.map((config2) => ({
39547
- path: config2.path,
39548
- validators: config2.validators
39549
- })) : void 0,
39550
- onSaveButtonPropsChange: setYamlSaveButtonProps,
39551
- onErrorsChange(errors) {
39552
- setIsError(!!errors.length);
39553
- },
39554
- onFinish: popModal
39555
- };
39556
- }, [props.formProps, (_c = config.formConfig) == null ? void 0 : _c.transformInitValues, (_d = config.formConfig) == null ? void 0 : _d.transformApplyValues, config == null ? void 0 : config.initValue, id, action, refineFormResult.formResult, isYamlMode, fieldsConfig, popModal]);
39557
- const isYamlForm = !((_e = config.formConfig) == null ? void 0 : _e.fields);
39558
- const formEle = (() => {
39559
- if (renderForm) {
39560
- return renderForm(yamlFormProps);
39561
- }
39562
- if (isYamlForm || isYamlMode)
39563
- return /* @__PURE__ */ jsxRuntimeExports.jsx(YamlForm, {
39564
- ...yamlFormProps
39565
- });
39566
- return /* @__PURE__ */ jsxRuntimeExports.jsx(RefineFormContent, {
39567
- formResult: refineFormResult.formResult,
39568
- config,
39569
- errorMsgs: refineFormResult.responseErrorMsgs,
39570
- resourceId: id
39571
- });
39572
- })();
39573
- const saveButtonProps = isYamlForm || isYamlMode ? yamlSaveButtonProps : refineFormResult.formResult.saveButtonProps;
39786
+ const isYamlForm = ((_a = config.formConfig) == null ? void 0 : _a.formType) === FormType.YAML;
39574
39787
  const onCancel = useCallback(() => {
39575
39788
  popModal();
39576
39789
  }, [popModal]);
@@ -39580,15 +39793,12 @@ function FormModal(props) {
39580
39793
  (_a2 = saveButtonProps.onClick) == null ? void 0 : _a2.call(saveButtonProps, e2);
39581
39794
  }, [saveButtonProps]);
39582
39795
  const onChangeMode = useCallback((value2) => {
39583
- if (value2 === "form") {
39796
+ if (value2 === FormMode.FORM) {
39584
39797
  pushModal({
39585
39798
  component: ConfirmModal,
39586
39799
  props: {
39587
39800
  onOk: () => {
39588
- setMode(
39589
- "form"
39590
- /* Form */
39591
- );
39801
+ setMode(FormMode.FORM);
39592
39802
  }
39593
39803
  }
39594
39804
  });
@@ -39596,17 +39806,18 @@ function FormModal(props) {
39596
39806
  setMode(value2);
39597
39807
  }
39598
39808
  }, [pushModal]);
39599
- const errorText = (() => {
39600
- if (!!refineFormResult.responseErrorMsgs.length || isError) {
39809
+ const errorText = useMemo(() => {
39810
+ if (isError) {
39601
39811
  return i18n2.t(id ? "dovetail.save_failed" : "dovetail.create_failed");
39602
39812
  }
39603
- })();
39813
+ return "";
39814
+ }, [isError, id, i18n2]);
39604
39815
  const title = useMemo(() => {
39605
- var _a2, _b2, _c2, _d2;
39816
+ var _a2, _b2, _c2, _d;
39606
39817
  if (typeof ((_a2 = config.formConfig) == null ? void 0 : _a2.formTitle) === "string")
39607
39818
  return (_b2 = config.formConfig) == null ? void 0 : _b2.formTitle;
39608
39819
  if (typeof ((_c2 = config.formConfig) == null ? void 0 : _c2.formTitle) === "function") {
39609
- return (_d2 = config.formConfig) == null ? void 0 : _d2.formTitle(action);
39820
+ return (_d = config.formConfig) == null ? void 0 : _d.formTitle(action);
39610
39821
  }
39611
39822
  const label2 = config.displayName || (config == null ? void 0 : config.kind);
39612
39823
  return i18n2.t(id ? "dovetail.edit_resource" : "dovetail.create_resource", {
@@ -39614,14 +39825,41 @@ function FormModal(props) {
39614
39825
  });
39615
39826
  }, [action, config.formConfig, config.displayName, config == null ? void 0 : config.kind, i18n2, id]);
39616
39827
  const desc = useMemo(() => {
39617
- var _a2, _b2, _c2, _d2;
39828
+ var _a2, _b2, _c2, _d;
39618
39829
  if (typeof ((_a2 = config.formConfig) == null ? void 0 : _a2.formDesc) === "string")
39619
39830
  return (_b2 = config.formConfig) == null ? void 0 : _b2.formDesc;
39620
39831
  if (typeof ((_c2 = config.formConfig) == null ? void 0 : _c2.formDesc) === "function") {
39621
- return (_d2 = config.formConfig) == null ? void 0 : _d2.formDesc(action);
39832
+ return (_d = config.formConfig) == null ? void 0 : _d.formDesc(action);
39622
39833
  }
39623
39834
  return "";
39624
39835
  }, [action, config.formConfig]);
39836
+ const formEle = useMemo(() => {
39837
+ var _a2;
39838
+ const commonFormProps = {
39839
+ id,
39840
+ config,
39841
+ customYamlFormProps,
39842
+ onSaveButtonPropsChange: setSaveButtonProps,
39843
+ onError: () => {
39844
+ setIsError(true);
39845
+ },
39846
+ onSuccess: () => {
39847
+ setIsError(false);
39848
+ popModal();
39849
+ }
39850
+ };
39851
+ if (config.formConfig && (((_a2 = config.formConfig) == null ? void 0 : _a2.formType) === FormType.FORM || "fields" in config.formConfig)) {
39852
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(RefineFormContainer, {
39853
+ ...commonFormProps,
39854
+ isYamlMode,
39855
+ formConfig: config.formConfig
39856
+ });
39857
+ }
39858
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(YamlFormContainer, {
39859
+ ...commonFormProps,
39860
+ formConfig: config.formConfig
39861
+ });
39862
+ }, [id, customYamlFormProps, config, isYamlMode, popModal, setSaveButtonProps]);
39625
39863
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(Modal, {
39626
39864
  className: cx_default(FullscreenModalStyle),
39627
39865
  style: {
@@ -39632,21 +39870,10 @@ function FormModal(props) {
39632
39870
  className: TitleWrapperStyle,
39633
39871
  children: [/* @__PURE__ */ jsxRuntimeExports.jsx("span", {
39634
39872
  children: title
39635
- }), !(isYamlForm || isDisabledChangeMode) ? /* @__PURE__ */ jsxRuntimeExports.jsx(SegmentControl, {
39636
- style: {
39637
- fontWeight: "normal"
39638
- },
39639
- value: mode,
39640
- options: [{
39641
- value: "form",
39642
- label: i18n2.t("dovetail.form")
39643
- }, {
39644
- value: "yaml",
39645
- label: i18n2.t("dovetail.yaml")
39646
- }],
39647
- onChange: (val) => {
39648
- onChangeMode(val);
39649
- }
39873
+ }), ((_b = config.formConfig) == null ? void 0 : _b.formType) === FormType.FORM ? /* @__PURE__ */ jsxRuntimeExports.jsx(FormModeSegmentControl, {
39874
+ formConfig: config.formConfig,
39875
+ mode,
39876
+ onChangeMode
39650
39877
  }) : null]
39651
39878
  }),
39652
39879
  error: errorText ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", {
@@ -39655,7 +39882,7 @@ function FormModal(props) {
39655
39882
  }) : "",
39656
39883
  okButtonProps: {
39657
39884
  ...saveButtonProps,
39658
- children: (_f = config.formConfig) == null ? void 0 : _f.saveButtonText,
39885
+ children: (_c = config.formConfig) == null ? void 0 : _c.saveButtonText,
39659
39886
  onClick: onOk
39660
39887
  },
39661
39888
  closeIcon: /* @__PURE__ */ jsxRuntimeExports.jsx(CloseCircleFilled$1, {}),
@@ -39666,12 +39893,6 @@ function FormModal(props) {
39666
39893
  children: [desc ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", {
39667
39894
  className: FormDescStyle,
39668
39895
  children: desc
39669
- }) : void 0, !isYamlForm && mode === "form" && !isDisabledChangeMode ? /* @__PURE__ */ jsxRuntimeExports.jsx(Alert, {
39670
- type: "warning",
39671
- message: i18n2.t("dovetail.change_form_mode_alert"),
39672
- style: {
39673
- marginBottom: "16px"
39674
- }
39675
39896
  }) : void 0, formEle]
39676
39897
  });
39677
39898
  }
@@ -39726,10 +39947,11 @@ function ResourceForm(props) {
39726
39947
  return {
39727
39948
  initialValues: getInitialValues(config),
39728
39949
  transformInitValues: (_a2 = config.formConfig) == null ? void 0 : _a2.transformInitValues,
39729
- transformApplyValues: (_b = config.formConfig) == null ? void 0 : _b.transformApplyValues
39950
+ transformApplyValues: (_b = config.formConfig) == null ? void 0 : _b.transformApplyValues,
39951
+ config
39730
39952
  };
39731
39953
  }, [config]);
39732
- if ((_a = config.formConfig) == null ? void 0 : _a.fields) {
39954
+ if (((_a = config.formConfig) == null ? void 0 : _a.formType) === FormType.FORM) {
39733
39955
  return /* @__PURE__ */ jsxRuntimeExports.jsx(RefineFormPage, { config });
39734
39956
  }
39735
39957
  return /* @__PURE__ */ jsxRuntimeExports.jsx(YamlForm, { ...formProps });
@@ -39742,7 +39964,7 @@ function ResourceCRUD(props) {
39742
39964
  /* @__PURE__ */ jsxRuntimeExports.jsx(Route, { path: `${urlPrefix}/${config.name}`, exact: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ResourceList, { config }) }),
39743
39965
  !config.noShow ? /* @__PURE__ */ jsxRuntimeExports.jsx(Route, { path: `${urlPrefix}/${config.name}/show`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ResourceShow, { config }) }) : null,
39744
39966
  // the modals would render in ModalStack
39745
- ((_a = config.formConfig) == null ? void 0 : _a.formType) === FormType.PAGE ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
39967
+ ((_a = config.formConfig) == null ? void 0 : _a.formContainerType) === FormContainerType.PAGE ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
39746
39968
  /* @__PURE__ */ jsxRuntimeExports.jsx(Route, { path: `${urlPrefix}/${config.name}/create`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ResourceForm, { config }) }),
39747
39969
  /* @__PURE__ */ jsxRuntimeExports.jsx(Route, { path: `${urlPrefix}/${config.name}/edit`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ResourceForm, { config }) })
39748
39970
  ] }) : null
@@ -40229,7 +40451,15 @@ function ResourceSelect(props) {
40229
40451
  );
40230
40452
  }
40231
40453
  const IngressRulesComponent = ({ ingress }) => {
40232
- const result = ingress.flattenedRules.map((r2) => {
40454
+ const { data: serviceData } = useList({
40455
+ resource: "services",
40456
+ meta: {
40457
+ kind: "Service",
40458
+ apiVersion: "v1"
40459
+ }
40460
+ });
40461
+ const flattenedRules = (serviceData == null ? void 0 : serviceData.data) ? ingress.getFlattenedRules(serviceData == null ? void 0 : serviceData.data) : [];
40462
+ const result = flattenedRules.map((r2) => {
40233
40463
  const divider = " > ";
40234
40464
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
40235
40465
  OverflowTooltip,
@@ -41319,7 +41549,7 @@ export {
41319
41549
  CronjobJobsTable as ay,
41320
41550
  KeyValue as az,
41321
41551
  useSchema as b,
41322
- PodLog as b$,
41552
+ TextTags as b$,
41323
41553
  PodSelectorField as b0,
41324
41554
  PortsTableField as b1,
41325
41555
  DurationField as b2,
@@ -41348,15 +41578,15 @@ export {
41348
41578
  useNamespacesFilter as bP,
41349
41579
  NamespacesFilter as bQ,
41350
41580
  FormModal as bR,
41351
- RefineFormContent as bS,
41352
- RefineFormPage as bT,
41353
- SchemaStrategy as bU,
41354
- YamlForm as bV,
41355
- useRefineForm as bW,
41356
- ServiceInClusterAccessComponent as bX,
41357
- ServiceOutClusterAccessComponent as bY,
41358
- Tags as bZ,
41359
- TextTags as b_,
41581
+ renderCommonFormFiled as bS,
41582
+ RefineFormContent as bT,
41583
+ RefineFormPage as bU,
41584
+ SchemaStrategy as bV,
41585
+ YamlForm as bW,
41586
+ useRefineForm as bX,
41587
+ ServiceInClusterAccessComponent as bY,
41588
+ ServiceOutClusterAccessComponent as bZ,
41589
+ Tags as b_,
41360
41590
  PVVolumeModeField as ba,
41361
41591
  PVAccessModeField as bb,
41362
41592
  PVCPodsField as bc,
@@ -41384,83 +41614,86 @@ export {
41384
41614
  NetworkPolicyIngressRulesGroup as by,
41385
41615
  NetworkPolicyEgressRulesGroup as bz,
41386
41616
  useDeleteModal as c,
41387
- StorageClassModel as c$,
41388
- NetworkPolicyRulesViewer as c0,
41389
- PVVolumeModeDisplay as c1,
41390
- Tabs as c2,
41391
- ResourceSelect as c3,
41392
- SocketStatus as c4,
41393
- Shell as c5,
41394
- PodShellModal as c6,
41395
- PodShell as c7,
41396
- ResourceTable as c8,
41397
- ErrorWrapper as c9,
41398
- PV_INIT_VALUE as cA,
41399
- PVC_INIT_VALUE as cB,
41400
- ResourceState as cC,
41401
- AccessControlAuth as cD,
41402
- Dovetail as cE,
41403
- RESOURCE_GROUP as cF,
41404
- FormType as cG,
41405
- ComponentContext as cH,
41406
- GlobalStoreContext as cI,
41407
- ConfigsContext as cJ,
41408
- IngressModel as cK,
41409
- NetworkPolicyModel as cL,
41410
- JobModel as cM,
41411
- WorkloadModel as cN,
41412
- WorkloadBaseModel as cO,
41413
- PodModel as cP,
41414
- PodMetricsModel as cQ,
41415
- ResourceModel as cR,
41416
- CronJobModel as cS,
41417
- EventModel as cT,
41418
- DeploymentModel as cU,
41419
- DaemonSetModel as cV,
41420
- StatefulSetModel as cW,
41421
- ServiceTypeEnum as cX,
41422
- ServiceModel as cY,
41423
- NodeRole as cZ,
41424
- NodeModel as c_,
41425
- ErrorContentType as ca,
41426
- BASE_INIT_VALUE as cb,
41427
- DEPLOYMENT_INIT_VALUE as cc,
41428
- CRONJOB_INIT_VALUE as cd,
41429
- DAEMONSET_INIT_VALUE as ce,
41430
- JOB_INIT_VALUE as cf,
41431
- STATEFULSET_INIT_VALUE as cg,
41432
- POD_INIT_VALUE as ch,
41433
- SERVICE_CLUSTER_IP_INIT_VALUE as ci,
41434
- SERVICE_NODE_PORT_INIT_VALUE as cj,
41435
- SERVICE_LOAD_BALANCER_INIT_VALUE as ck,
41436
- SERVICE_EXTERNAL_NAME_INIT_VALUE as cl,
41437
- SERVICE_HEADLESS_INIT_VALUE as cm,
41438
- INGRESS_INIT_VALUE as cn,
41439
- NETWORK_POLICY_INIT_VALUE as co,
41440
- CONFIG_MAP_INIT_VALUE as cp,
41441
- SERVER_INSTANCE_INIT_VALUE as cq,
41442
- REDEPLOY_TIMESTAMP_KEY as cr,
41443
- SECRET_OPAQUE_INIT_VALUE as cs,
41444
- SECRET_IMAGE_REPO_INIT_VALUE as ct,
41445
- SECRET_BASIC_AUTH_INIT_VALUE as cu,
41446
- SECRET_SSH_AUTH_INIT_VALUE as cv,
41447
- SECRET_TLS_INIT_VALUE as cw,
41448
- SECRET_CUSTOM_INIT_VALUE as cx,
41449
- NODE_INIT_VALUE as cy,
41450
- STORAGE_CLASS_INIT_VALUE as cz,
41617
+ ServiceModel as c$,
41618
+ PodLog as c0,
41619
+ NetworkPolicyRulesViewer as c1,
41620
+ PVVolumeModeDisplay as c2,
41621
+ Tabs as c3,
41622
+ ResourceSelect as c4,
41623
+ SocketStatus as c5,
41624
+ Shell as c6,
41625
+ PodShellModal as c7,
41626
+ PodShell as c8,
41627
+ ResourceTable as c9,
41628
+ STORAGE_CLASS_INIT_VALUE as cA,
41629
+ PV_INIT_VALUE as cB,
41630
+ PVC_INIT_VALUE as cC,
41631
+ ResourceState as cD,
41632
+ AccessControlAuth as cE,
41633
+ Dovetail as cF,
41634
+ RESOURCE_GROUP as cG,
41635
+ FormContainerType as cH,
41636
+ FormType as cI,
41637
+ FormMode as cJ,
41638
+ ComponentContext as cK,
41639
+ GlobalStoreContext as cL,
41640
+ ConfigsContext as cM,
41641
+ IngressModel as cN,
41642
+ NetworkPolicyModel as cO,
41643
+ JobModel as cP,
41644
+ WorkloadModel as cQ,
41645
+ WorkloadBaseModel as cR,
41646
+ PodModel as cS,
41647
+ PodMetricsModel as cT,
41648
+ ResourceModel as cU,
41649
+ CronJobModel as cV,
41650
+ EventModel as cW,
41651
+ DeploymentModel as cX,
41652
+ DaemonSetModel as cY,
41653
+ StatefulSetModel as cZ,
41654
+ ServiceTypeEnum as c_,
41655
+ ErrorWrapper as ca,
41656
+ ErrorContentType as cb,
41657
+ BASE_INIT_VALUE as cc,
41658
+ DEPLOYMENT_INIT_VALUE as cd,
41659
+ CRONJOB_INIT_VALUE as ce,
41660
+ DAEMONSET_INIT_VALUE as cf,
41661
+ JOB_INIT_VALUE as cg,
41662
+ STATEFULSET_INIT_VALUE as ch,
41663
+ POD_INIT_VALUE as ci,
41664
+ SERVICE_CLUSTER_IP_INIT_VALUE as cj,
41665
+ SERVICE_NODE_PORT_INIT_VALUE as ck,
41666
+ SERVICE_LOAD_BALANCER_INIT_VALUE as cl,
41667
+ SERVICE_EXTERNAL_NAME_INIT_VALUE as cm,
41668
+ SERVICE_HEADLESS_INIT_VALUE as cn,
41669
+ INGRESS_INIT_VALUE as co,
41670
+ NETWORK_POLICY_INIT_VALUE as cp,
41671
+ CONFIG_MAP_INIT_VALUE as cq,
41672
+ SERVER_INSTANCE_INIT_VALUE as cr,
41673
+ REDEPLOY_TIMESTAMP_KEY as cs,
41674
+ SECRET_OPAQUE_INIT_VALUE as ct,
41675
+ SECRET_IMAGE_REPO_INIT_VALUE as cu,
41676
+ SECRET_BASIC_AUTH_INIT_VALUE as cv,
41677
+ SECRET_SSH_AUTH_INIT_VALUE as cw,
41678
+ SECRET_TLS_INIT_VALUE as cx,
41679
+ SECRET_CUSTOM_INIT_VALUE as cy,
41680
+ NODE_INIT_VALUE as cz,
41451
41681
  dovetailRefineI18n as d,
41452
- PersistentVolumeModel as d0,
41453
- PersistentVolumeClaimModel as d1,
41454
- ProviderPlugins as d2,
41455
- ModelPlugin as d3,
41456
- modelPlugin as d4,
41457
- RelationPlugin as d5,
41458
- relationPlugin as d6,
41459
- generateValueFromSchema as d7,
41460
- generateSchemaTypeValue as d8,
41461
- resolveRef as d9,
41462
- getApiVersion as da,
41463
- pruneBeforeEdit as db,
41682
+ NodeRole as d0,
41683
+ NodeModel as d1,
41684
+ StorageClassModel as d2,
41685
+ PersistentVolumeModel as d3,
41686
+ PersistentVolumeClaimModel as d4,
41687
+ ProviderPlugins as d5,
41688
+ ModelPlugin as d6,
41689
+ modelPlugin as d7,
41690
+ RelationPlugin as d8,
41691
+ relationPlugin as d9,
41692
+ generateValueFromSchema as da,
41693
+ generateSchemaTypeValue as db,
41694
+ resolveRef as dc,
41695
+ getApiVersion as dd,
41696
+ pruneBeforeEdit as de,
41464
41697
  useFailedModal as e,
41465
41698
  NameSpaceColumnRenderer as f,
41466
41699
  WorkloadRestartsColumnRenderer as g,