@kong-ui-public/entities-consumer-groups 1.1.27 → 1.1.28
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.
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent as te, ref as A, computed as
|
|
1
|
+
import { defineComponent as te, ref as A, computed as C, watch as he, renderSlot as X, createCommentVNode as Z, unref as s, useSlots as Oe, onBeforeMount as Te, resolveComponent as R, openBlock as u, createBlock as H, createSlots as Ce, withCtx as c, createElementVNode as V, createVNode as B, createTextVNode as W, toDisplayString as T, createElementBlock as P, Fragment as de, renderList as ue, normalizeClass as we, withModifiers as Ee, withDirectives as Ae, vShow as Pe, useCssVars as yt, resolveDynamicComponent as Ue, normalizeProps as vt, guardReactiveProps as ht, mergeProps as Ve, onMounted as bt, onUnmounted as _t, inject as kt, reactive as We } from "vue";
|
|
2
2
|
import { useRouter as je } from "vue-router";
|
|
3
|
-
import { createI18n as
|
|
3
|
+
import { createI18n as Le, i18nTComponent as rt } from "@kong-ui-public/i18n";
|
|
4
4
|
import Ct from "axios";
|
|
5
|
-
import { MethodsArray as
|
|
6
|
-
const
|
|
5
|
+
import { MethodsArray as wt } from "@kong/kongponents";
|
|
6
|
+
const It = {
|
|
7
7
|
list: {
|
|
8
8
|
table_headers: {
|
|
9
9
|
name: "Name",
|
|
@@ -96,10 +96,10 @@ const wt = {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}, St = {
|
|
99
|
-
consumer_groups:
|
|
99
|
+
consumer_groups: It
|
|
100
100
|
};
|
|
101
101
|
function $t() {
|
|
102
|
-
const e =
|
|
102
|
+
const e = Le("en-us", St);
|
|
103
103
|
return {
|
|
104
104
|
i18n: e,
|
|
105
105
|
i18nT: rt(e)
|
|
@@ -108,7 +108,7 @@ function $t() {
|
|
|
108
108
|
}
|
|
109
109
|
const qe = {
|
|
110
110
|
useI18n: $t
|
|
111
|
-
}, me = "/api/runtime_groups/{controlPlaneId}",
|
|
111
|
+
}, me = "/api/runtime_groups/{controlPlaneId}", fe = "/{workspace}", ge = {
|
|
112
112
|
list: {
|
|
113
113
|
konnect: {
|
|
114
114
|
all: `${me}/consumer_groups`,
|
|
@@ -116,9 +116,9 @@ const qe = {
|
|
|
116
116
|
oneForConsumer: `${me}/consumers/{consumerId}/consumer_groups/{consumerGroupId}`
|
|
117
117
|
},
|
|
118
118
|
kongManager: {
|
|
119
|
-
all: `${
|
|
120
|
-
forConsumer: `${
|
|
121
|
-
oneForConsumer: `${
|
|
119
|
+
all: `${fe}/consumer_groups?counter=true`,
|
|
120
|
+
forConsumer: `${fe}/consumers/{consumerId}/consumer_groups`,
|
|
121
|
+
oneForConsumer: `${fe}/consumers/{consumerId}/consumer_groups/{consumerGroupId}`
|
|
122
122
|
}
|
|
123
123
|
},
|
|
124
124
|
form: {
|
|
@@ -131,17 +131,17 @@ const qe = {
|
|
|
131
131
|
getConsumers: `${me}/consumer_groups/{id}/consumers`
|
|
132
132
|
},
|
|
133
133
|
kongManager: {
|
|
134
|
-
consumersList: `${
|
|
135
|
-
create: `${
|
|
136
|
-
edit: `${
|
|
137
|
-
addConsumer: `${
|
|
138
|
-
removeConsumer: `${
|
|
139
|
-
getConsumers: `${
|
|
134
|
+
consumersList: `${fe}/consumers`,
|
|
135
|
+
create: `${fe}/consumer_groups`,
|
|
136
|
+
edit: `${fe}/consumer_groups/{id}`,
|
|
137
|
+
addConsumer: `${fe}/consumer_groups/{id}/consumers`,
|
|
138
|
+
removeConsumer: `${fe}/consumer_groups/{id}/consumers/{consumerId}`,
|
|
139
|
+
getConsumers: `${fe}/consumer_groups/{id}/consumers`
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
143
|
var nt = /* @__PURE__ */ ((e) => (e.GatewayService = "service", e.Route = "route", e.Consumer = "consumer", e.ConsumerGroup = "consumer group", e.Plugin = "plugin", e.Upstream = "upstream", e.Certificate = "certificate", e.CACertificate = "ca certificate", e.SNI = "SNI", e.Key = "key", e.KeySet = "key set", e.Vault = "vault", e.Application = "application", e.Developer = "developer", e.acls = "ACL Credential", e["basic-auth"] = "Basic Auth Credential", e["key-auth"] = "Key Auth Credential", e["key-auth-enc"] = "Key Auth Encrypted Credential", e.oauth2 = "OAuth 2.0 Credential", e["hmac-auth"] = "HMAC Credential", e.jwt = "JWT Credential", e.Target = "target", e.Policy = "policy", e))(nt || {}), Me = /* @__PURE__ */ ((e) => (e.Edit = "edit", e.Create = "create", e))(Me || {}), ve = /* @__PURE__ */ ((e) => (e[e.Loading = 0] = "Loading", e[e.Idle = 1] = "Idle", e[e.NoResults = 2] = "NoResults", e[e.Error = 3] = "Error", e))(ve || {}), Q = /* @__PURE__ */ ((e) => (e.ID = "id", e.IdArray = "id-array", e.Text = "plain-text", e.Date = "date", e.Redacted = "redacted", e.RedactedArray = "redacted-array", e.Json = "json", e.JsonArray = "json-array", e.BadgeTag = "badge-tag", e.BadgeStatus = "badge-status", e.BadgeMethod = "badge-method", e.LinkInternal = "link-internal", e.LinkExternal = "link-external", e))(Q || {}), le = /* @__PURE__ */ ((e) => (e.Basic = "basic", e.Advanced = "advanced", e.Plugin = "plugin", e))(le || {});
|
|
144
|
-
function
|
|
144
|
+
function Ge(e = {}) {
|
|
145
145
|
return {
|
|
146
146
|
axiosInstance: Ct.create({
|
|
147
147
|
withCredentials: !0,
|
|
@@ -162,7 +162,7 @@ function xt() {
|
|
|
162
162
|
}
|
|
163
163
|
};
|
|
164
164
|
}
|
|
165
|
-
const
|
|
165
|
+
const Re = "khcp-user-table-preferences", Tt = {
|
|
166
166
|
pageSize: 30,
|
|
167
167
|
sortColumnKey: void 0,
|
|
168
168
|
sortColumnOrder: void 0
|
|
@@ -177,14 +177,14 @@ function Kt() {
|
|
|
177
177
|
return;
|
|
178
178
|
}
|
|
179
179
|
}, o = () => {
|
|
180
|
-
const t = e(localStorage.getItem(
|
|
180
|
+
const t = e(localStorage.getItem(Re));
|
|
181
181
|
return !t || !Object.keys(t).length ? /* @__PURE__ */ new Map() : new Map(Object.entries(t));
|
|
182
182
|
};
|
|
183
183
|
return {
|
|
184
184
|
setTablePreferences: (t, a) => {
|
|
185
185
|
try {
|
|
186
186
|
const n = o();
|
|
187
|
-
n.set(t, a), localStorage.setItem(
|
|
187
|
+
n.set(t, a), localStorage.setItem(Re, JSON.stringify(Object.fromEntries(n.entries())));
|
|
188
188
|
} catch (n) {
|
|
189
189
|
console.error("useTablePreferences(setTablePreferences)", n);
|
|
190
190
|
}
|
|
@@ -194,7 +194,7 @@ function Kt() {
|
|
|
194
194
|
return (a == null ? void 0 : a.get(t)) || void 0 || Tt;
|
|
195
195
|
},
|
|
196
196
|
deleteAllTablePreferences: () => {
|
|
197
|
-
localStorage.removeItem(
|
|
197
|
+
localStorage.removeItem(Re);
|
|
198
198
|
}
|
|
199
199
|
};
|
|
200
200
|
}
|
|
@@ -258,15 +258,15 @@ const Bt = {
|
|
|
258
258
|
applyButtonText: "Apply",
|
|
259
259
|
clearButtonText: "Clear",
|
|
260
260
|
clearAllButtonText: "Clear all filters"
|
|
261
|
-
},
|
|
261
|
+
}, Ut = {
|
|
262
262
|
errors: {
|
|
263
263
|
fetch: "Could not fetch available items",
|
|
264
264
|
invalid: "Please select a valid value"
|
|
265
265
|
}
|
|
266
|
-
},
|
|
266
|
+
}, qt = {
|
|
267
267
|
unexpected: "An unexpected error has occurred",
|
|
268
268
|
dataKeyUndefined: 'The data key "{dataKey}" does not exist in the response.'
|
|
269
|
-
},
|
|
269
|
+
}, Ft = {
|
|
270
270
|
enable: {
|
|
271
271
|
title: "Enable {entityType}",
|
|
272
272
|
message: "Are you sure you want to enable the {entityType} {entityName}?",
|
|
@@ -277,18 +277,18 @@ const Bt = {
|
|
|
277
277
|
message: "Are you sure you want to disable the {entityType} {entityName}?",
|
|
278
278
|
confirmText: "Yes, disable"
|
|
279
279
|
}
|
|
280
|
-
},
|
|
280
|
+
}, Rt = {
|
|
281
281
|
deleteModal: Bt,
|
|
282
282
|
baseForm: At,
|
|
283
283
|
baseTable: Pt,
|
|
284
284
|
baseConfigCard: Mt,
|
|
285
285
|
filter: Et,
|
|
286
|
-
debouncedFilter:
|
|
287
|
-
errors:
|
|
288
|
-
toggleModal:
|
|
286
|
+
debouncedFilter: Ut,
|
|
287
|
+
errors: qt,
|
|
288
|
+
toggleModal: Ft
|
|
289
289
|
};
|
|
290
|
-
function
|
|
291
|
-
const e =
|
|
290
|
+
function Ne() {
|
|
291
|
+
const e = Le("en-us", Rt);
|
|
292
292
|
return {
|
|
293
293
|
i18n: e,
|
|
294
294
|
i18nT: rt(e)
|
|
@@ -300,67 +300,67 @@ function Vt(e, o, t, a = {
|
|
|
300
300
|
searchKeys: ["id"]
|
|
301
301
|
}) {
|
|
302
302
|
t || (t = "100");
|
|
303
|
-
const { axiosInstance: n } =
|
|
303
|
+
const { axiosInstance: n } = Ge({
|
|
304
304
|
headers: e.requestHeaders
|
|
305
|
-
}), { i18n: { t: r } } =
|
|
306
|
-
await
|
|
307
|
-
}, 200),
|
|
305
|
+
}), { i18n: { t: r } } = Ne(), { debounce: m } = xt(), w = m(async (b) => {
|
|
306
|
+
await g(b);
|
|
307
|
+
}, 200), y = A(!1), $ = A(""), v = A(""), I = A([]), E = A(void 0), S = s(o);
|
|
308
308
|
let O = `${e.apiBaseUrl}${S}`;
|
|
309
309
|
e.app === "konnect" ? O = O.replace(/{controlPlaneId}/gi, (e == null ? void 0 : e.controlPlaneId) || "") : e.app === "kongManager" && (O = O.replace(/\/{workspace}/gi, e != null && e.workspace ? `/${e.workspace}` : ""));
|
|
310
|
-
const
|
|
310
|
+
const U = async () => {
|
|
311
311
|
try {
|
|
312
|
-
|
|
312
|
+
y.value = !0;
|
|
313
313
|
const { data: b } = await n.get(`${O}?size=${t}`);
|
|
314
|
-
b != null && b.next || (
|
|
314
|
+
b != null && b.next || (E.value = a.fetchedItemsKey in b ? b[a.fetchedItemsKey] : []), I.value = a.fetchedItemsKey in b ? b[a.fetchedItemsKey] : [];
|
|
315
315
|
} catch {
|
|
316
|
-
|
|
316
|
+
I.value = [], $.value = r("debouncedFilter.errors.fetch");
|
|
317
317
|
} finally {
|
|
318
|
-
|
|
318
|
+
y.value = !1;
|
|
319
319
|
}
|
|
320
|
-
}, l = A(""),
|
|
321
|
-
var
|
|
320
|
+
}, l = A(""), g = async (b) => {
|
|
321
|
+
var f, L;
|
|
322
322
|
if (l.value !== b)
|
|
323
|
-
if (l.value = b || "",
|
|
323
|
+
if (l.value = b || "", E.value === void 0)
|
|
324
324
|
try {
|
|
325
|
-
|
|
326
|
-
let
|
|
327
|
-
b && (
|
|
328
|
-
const { data: q } = await n.get(`${
|
|
329
|
-
a.fetchedItemsKey in q ?
|
|
330
|
-
} catch (
|
|
331
|
-
((
|
|
325
|
+
y.value = !0, $.value = "", v.value = "";
|
|
326
|
+
let p = O + "";
|
|
327
|
+
b && (p += `/${b}`);
|
|
328
|
+
const { data: q } = await n.get(`${p}?size=${t}`);
|
|
329
|
+
a.fetchedItemsKey in q ? I.value = q[a.fetchedItemsKey] : q != null && q.id ? I.value = [q] : I.value = [];
|
|
330
|
+
} catch (p) {
|
|
331
|
+
((f = p == null ? void 0 : p.response) == null ? void 0 : f.status) === 404 ? v.value = r("debouncedFilter.errors.invalid") : (I.value = [], $.value = r("debouncedFilter.errors.fetch"));
|
|
332
332
|
} finally {
|
|
333
|
-
|
|
333
|
+
y.value = !1;
|
|
334
334
|
}
|
|
335
335
|
else
|
|
336
|
-
|
|
336
|
+
y.value = !0, v.value = "", b ? (I.value = (L = E.value) == null ? void 0 : L.filter((p) => {
|
|
337
337
|
var q;
|
|
338
338
|
let x = !1;
|
|
339
339
|
for (const G of a.searchKeys) {
|
|
340
|
-
const D = typeof
|
|
340
|
+
const D = typeof p[G] == "string" ? (q = p[G]) == null ? void 0 : q.toLowerCase() : p[G];
|
|
341
341
|
D != null && D.includes(b.toLowerCase()) && (x = !0);
|
|
342
342
|
}
|
|
343
343
|
return x;
|
|
344
|
-
}), (!
|
|
344
|
+
}), (!I.value || !I.value.length) && (v.value = r("debouncedFilter.errors.invalid"))) : I.value = E.value, y.value = !1;
|
|
345
345
|
};
|
|
346
346
|
return {
|
|
347
|
-
loading:
|
|
347
|
+
loading: y,
|
|
348
348
|
error: $,
|
|
349
|
-
validationError:
|
|
350
|
-
results:
|
|
351
|
-
allRecords:
|
|
352
|
-
loadItems:
|
|
349
|
+
validationError: v,
|
|
350
|
+
results: I,
|
|
351
|
+
allRecords: E,
|
|
352
|
+
loadItems: U,
|
|
353
353
|
debouncedQueryChange: w
|
|
354
354
|
};
|
|
355
355
|
}
|
|
356
|
-
function
|
|
357
|
-
const t = s(o), a =
|
|
356
|
+
function Ot(e, o) {
|
|
357
|
+
const t = s(o), a = C(
|
|
358
358
|
() => e.apiBaseUrl.startsWith("/") ? new URL(`${window.location.origin}${t}`) : new URL(t)
|
|
359
359
|
);
|
|
360
360
|
return a.value.search = "", (n) => `${a.value.href}/${n}`;
|
|
361
361
|
}
|
|
362
|
-
function
|
|
363
|
-
const { i18n: { t: e } } =
|
|
362
|
+
function jt() {
|
|
363
|
+
const { i18n: { t: e } } = Ne();
|
|
364
364
|
return {
|
|
365
365
|
getMessageFromError: (o) => {
|
|
366
366
|
var t, a, n;
|
|
@@ -371,8 +371,8 @@ function Ot() {
|
|
|
371
371
|
return o.response.data.detail;
|
|
372
372
|
if ((a = o.response.data.details) != null && a.length)
|
|
373
373
|
return o.response.data.details.map((r) => {
|
|
374
|
-
let
|
|
375
|
-
return r.messages && typeof r.messages == "object" && r.messages.length && (
|
|
374
|
+
let m = e("errors.unexpected");
|
|
375
|
+
return r.messages && typeof r.messages == "object" && r.messages.length && (m = r.messages.join(", ")), r.field ? `${r.field} - ${m}` : m;
|
|
376
376
|
}).join("; ");
|
|
377
377
|
if (o.response.data.message) {
|
|
378
378
|
const { message: r } = o.response.data;
|
|
@@ -388,86 +388,86 @@ function Ot() {
|
|
|
388
388
|
};
|
|
389
389
|
}
|
|
390
390
|
function st(e, o) {
|
|
391
|
-
const t = A(s(e)), a = A(s(o)), n =
|
|
391
|
+
const t = A(s(e)), a = A(s(o)), n = C(
|
|
392
392
|
() => !!(t.value.app === "konnect" || t.value.isExactMatch)
|
|
393
|
-
), r =
|
|
393
|
+
), r = C(
|
|
394
394
|
() => a.value.startsWith("/") ? new URL(`${window.location.origin}${a.value}`) : new URL(a.value)
|
|
395
395
|
);
|
|
396
|
-
return (
|
|
397
|
-
const { page: w, pageSize:
|
|
396
|
+
return (m) => {
|
|
397
|
+
const { page: w, pageSize: y, offset: $, sortColumnKey: v, sortColumnOrder: I, query: E } = m;
|
|
398
398
|
try {
|
|
399
399
|
let S = new URL(r.value.href);
|
|
400
|
-
return n.value &&
|
|
401
|
-
S.searchParams.append(
|
|
402
|
-
}),
|
|
400
|
+
return n.value && E ? (S.search = "", S = new URL(`${S.href}/${E}/`)) : (n.value || new URLSearchParams(E).forEach((O, U) => {
|
|
401
|
+
S.searchParams.append(U, O);
|
|
402
|
+
}), v && S.searchParams.append("sort_by", v), I === "desc" && S.searchParams.append("sort_desc", "1"), S.searchParams.append("size", String(y))), $ && w !== 1 && S.searchParams.append("offset", String($)), S.href;
|
|
403
403
|
} catch (S) {
|
|
404
404
|
return console.error("RouteList(fetcher)", S), a.value;
|
|
405
405
|
}
|
|
406
406
|
};
|
|
407
407
|
}
|
|
408
408
|
function Lt(e, o, t = "data") {
|
|
409
|
-
const a = s(o), { axiosInstance: n } =
|
|
409
|
+
const a = s(o), { axiosInstance: n } = Ge({
|
|
410
410
|
headers: e.requestHeaders
|
|
411
|
-
}), r = st(e, a),
|
|
411
|
+
}), r = st(e, a), m = A({
|
|
412
412
|
status: ve.Idle
|
|
413
413
|
});
|
|
414
414
|
return { fetcher: async (w) => {
|
|
415
415
|
try {
|
|
416
|
-
|
|
417
|
-
const
|
|
418
|
-
let
|
|
419
|
-
$[
|
|
420
|
-
const
|
|
421
|
-
data:
|
|
422
|
-
total:
|
|
416
|
+
m.value = { status: ve.Loading };
|
|
417
|
+
const y = r(w), { data: $ } = await n.get(y), v = t && t.replace(/[^\w-_]/gi, "");
|
|
418
|
+
let I;
|
|
419
|
+
$[v] && Array.isArray($[v]) ? I = $[v] : I = Object.keys($).length ? [$] : [];
|
|
420
|
+
const E = {
|
|
421
|
+
data: I,
|
|
422
|
+
total: I.length,
|
|
423
423
|
...$.offset ? {
|
|
424
424
|
pagination: {
|
|
425
425
|
offset: $.offset
|
|
426
426
|
}
|
|
427
427
|
} : null
|
|
428
428
|
};
|
|
429
|
-
return
|
|
429
|
+
return m.value = {
|
|
430
430
|
status: ve.Idle,
|
|
431
|
-
response:
|
|
432
|
-
},
|
|
433
|
-
} catch (
|
|
431
|
+
response: E
|
|
432
|
+
}, E;
|
|
433
|
+
} catch (y) {
|
|
434
434
|
const $ = {
|
|
435
435
|
data: [],
|
|
436
436
|
total: 0
|
|
437
437
|
};
|
|
438
|
-
return w.query &&
|
|
438
|
+
return w.query && y.response.status === 404 ? (m.value = {
|
|
439
439
|
status: ve.NoResults,
|
|
440
440
|
response: $,
|
|
441
|
-
error:
|
|
442
|
-
}, $) : (
|
|
441
|
+
error: y
|
|
442
|
+
}, $) : (m.value = {
|
|
443
443
|
status: ve.Error,
|
|
444
444
|
response: $,
|
|
445
|
-
error:
|
|
445
|
+
error: y
|
|
446
446
|
}, $);
|
|
447
447
|
}
|
|
448
|
-
}, fetcherState:
|
|
448
|
+
}, fetcherState: m };
|
|
449
449
|
}
|
|
450
450
|
function Gt() {
|
|
451
451
|
return {
|
|
452
452
|
convertKeyToTitle: (e, o = "_") => e ? e.split(o).map((t) => t.toLowerCase() === "id" ? t.toUpperCase() : t.charAt(0).toUpperCase() + t.substring(1)).join(" ") : ""
|
|
453
453
|
};
|
|
454
454
|
}
|
|
455
|
-
const lt = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,
|
|
455
|
+
const lt = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i, Qe = (e) => {
|
|
456
456
|
if (typeof e != "string")
|
|
457
457
|
throw new TypeError("Invalid argument expected string");
|
|
458
458
|
const o = e.match(lt);
|
|
459
459
|
if (!o)
|
|
460
460
|
throw new Error(`Invalid argument not valid semver ('${e}' received)`);
|
|
461
461
|
return o.shift(), o;
|
|
462
|
-
},
|
|
462
|
+
}, Ze = (e) => e === "*" || e === "x" || e === "X", Xe = (e) => {
|
|
463
463
|
const o = parseInt(e, 10);
|
|
464
464
|
return isNaN(o) ? e : o;
|
|
465
465
|
}, Nt = (e, o) => typeof e != typeof o ? [String(e), String(o)] : [e, o], Dt = (e, o) => {
|
|
466
|
-
if (
|
|
466
|
+
if (Ze(e) || Ze(o))
|
|
467
467
|
return 0;
|
|
468
|
-
const [t, a] = Nt(
|
|
468
|
+
const [t, a] = Nt(Xe(e), Xe(o));
|
|
469
469
|
return t > a ? 1 : t < a ? -1 : 0;
|
|
470
|
-
},
|
|
470
|
+
}, Ye = (e, o) => {
|
|
471
471
|
for (let t = 0; t < Math.max(e.length, o.length); t++) {
|
|
472
472
|
const a = Dt(e[t] || "0", o[t] || "0");
|
|
473
473
|
if (a !== 0)
|
|
@@ -475,9 +475,9 @@ const lt = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-(
|
|
|
475
475
|
}
|
|
476
476
|
return 0;
|
|
477
477
|
}, Ht = (e, o) => {
|
|
478
|
-
const t =
|
|
479
|
-
return
|
|
480
|
-
},
|
|
478
|
+
const t = Qe(e), a = Qe(o), n = t.pop(), r = a.pop(), m = Ye(t, a);
|
|
479
|
+
return m !== 0 ? m : n && r ? Ye(n.split("."), r.split(".")) : n || r ? n ? -1 : 1 : 0;
|
|
480
|
+
}, et = (e, o, t) => {
|
|
481
481
|
Jt(t);
|
|
482
482
|
const a = Ht(e, o);
|
|
483
483
|
return it[t].includes(a);
|
|
@@ -488,11 +488,11 @@ const lt = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-(
|
|
|
488
488
|
"<=": [-1, 0],
|
|
489
489
|
"<": [-1],
|
|
490
490
|
"!=": [-1, 1]
|
|
491
|
-
},
|
|
491
|
+
}, tt = Object.keys(it), Jt = (e) => {
|
|
492
492
|
if (typeof e != "string")
|
|
493
493
|
throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);
|
|
494
|
-
if (
|
|
495
|
-
throw new Error(`Invalid operator, expected one of ${
|
|
494
|
+
if (tt.indexOf(e) === -1)
|
|
495
|
+
throw new Error(`Invalid operator, expected one of ${tt.join("|")}`);
|
|
496
496
|
}, zt = (e) => typeof e == "string" && /^[v\d]/.test(e) && lt.test(e);
|
|
497
497
|
function Wt(e) {
|
|
498
498
|
const { gatewayInfo: o, supportedRange: t } = e;
|
|
@@ -504,18 +504,18 @@ function Wt(e) {
|
|
|
504
504
|
const r = t[a];
|
|
505
505
|
if (!r)
|
|
506
506
|
return !1;
|
|
507
|
-
const [
|
|
508
|
-
return !(
|
|
507
|
+
const [m, w] = r;
|
|
508
|
+
return !(m && et(n, m, "<") || w && et(n, w, ">"));
|
|
509
509
|
}
|
|
510
510
|
const re = {
|
|
511
|
-
useAxios:
|
|
511
|
+
useAxios: Ge,
|
|
512
512
|
useDebouncedFilter: Vt,
|
|
513
|
-
useDeleteUrlBuilder:
|
|
514
|
-
useErrors:
|
|
513
|
+
useDeleteUrlBuilder: Ot,
|
|
514
|
+
useErrors: jt,
|
|
515
515
|
useFetcher: Lt,
|
|
516
516
|
useFetchUrlBuilder: st,
|
|
517
517
|
useStringHelpers: Gt,
|
|
518
|
-
useI18n:
|
|
518
|
+
useI18n: Ne,
|
|
519
519
|
useGatewayFeatureSupported: Wt
|
|
520
520
|
}, Qt = {
|
|
521
521
|
fail: "Failed to copy id to clipboard",
|
|
@@ -526,13 +526,17 @@ const re = {
|
|
|
526
526
|
}, Zt = "Copy to clipboard", Xt = {
|
|
527
527
|
message: Qt,
|
|
528
528
|
iconTitle: Zt
|
|
529
|
-
}, Yt = "kong-ui-copy-uuid-notify", ea = { class: "kong-ui-copy-uuid" }, ta = ["
|
|
529
|
+
}, Yt = "kong-ui-copy-uuid-notify", ea = { class: "kong-ui-copy-uuid" }, ta = ["onClick"], at = 15, aa = /* @__PURE__ */ te({
|
|
530
530
|
__name: "CopyUuid",
|
|
531
531
|
props: {
|
|
532
532
|
uuid: {
|
|
533
533
|
type: String,
|
|
534
534
|
required: !0
|
|
535
535
|
},
|
|
536
|
+
idTooltip: {
|
|
537
|
+
type: String,
|
|
538
|
+
default: ""
|
|
539
|
+
},
|
|
536
540
|
truncated: {
|
|
537
541
|
type: Boolean,
|
|
538
542
|
default: !0
|
|
@@ -566,57 +570,62 @@ const re = {
|
|
|
566
570
|
},
|
|
567
571
|
emits: ["success", "error"],
|
|
568
572
|
setup(e, { emit: o }) {
|
|
569
|
-
const t = e, { t: a } =
|
|
570
|
-
}), r =
|
|
571
|
-
label:
|
|
573
|
+
const t = e, { t: a } = Le("en-us", Xt), n = t.notify || kt(Yt, () => {
|
|
574
|
+
}), r = C(() => t.idTooltip ? {
|
|
575
|
+
label: t.idTooltip,
|
|
576
|
+
positionFixed: !0,
|
|
577
|
+
placement: "bottomStart"
|
|
578
|
+
} : {
|
|
579
|
+
title: t.uuid
|
|
580
|
+
}), m = C(() => !!(t.tooltip && t.successTooltip)), w = A(t.tooltip), y = C(() => t.tooltip ? {
|
|
581
|
+
label: w.value,
|
|
572
582
|
positionFixed: !0,
|
|
573
583
|
maxWidth: "500px",
|
|
574
584
|
placement: "bottomStart"
|
|
575
|
-
} : {}),
|
|
576
|
-
|
|
577
|
-
|
|
585
|
+
} : {}), $ = C(() => t.format === "redacted" ? "*****" : t.format === "deleted" ? `*${t.uuid.substring(0, 5)}` : t.uuid), v = (E) => {
|
|
586
|
+
w.value = E, setTimeout(() => {
|
|
587
|
+
w.value = t.tooltip;
|
|
578
588
|
}, 1800);
|
|
579
|
-
},
|
|
580
|
-
if (!
|
|
589
|
+
}, I = (E) => {
|
|
590
|
+
if (!E(t.uuid)) {
|
|
581
591
|
typeof n == "function" && n({
|
|
582
592
|
type: "error",
|
|
583
593
|
message: a("message.fail")
|
|
584
|
-
}),
|
|
594
|
+
}), m.value ? v(a("message.fail")) : o("error", t.uuid);
|
|
585
595
|
return;
|
|
586
596
|
}
|
|
587
|
-
const
|
|
597
|
+
const S = t.uuid.length > at, O = t.format === "hidden" || t.format === "redacted" ? a("message.success.prefix") : `"${t.uuid.substring(0, at) + (S ? "..." : "")}"`;
|
|
588
598
|
typeof n == "function" && n({
|
|
589
599
|
type: "success",
|
|
590
|
-
message: `${
|
|
591
|
-
}),
|
|
600
|
+
message: `${O}${a("message.success.content")}`
|
|
601
|
+
}), m.value ? v(t.successTooltip) : o("success", t.uuid);
|
|
592
602
|
};
|
|
593
|
-
return (
|
|
594
|
-
const
|
|
603
|
+
return (E, S) => {
|
|
604
|
+
const O = R("KIcon"), U = R("KClipboardProvider");
|
|
595
605
|
return u(), P("div", ea, [
|
|
596
|
-
e.format !== "hidden" ? (u(),
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
(u(), H(Ve(e.tooltip ? "KTooltip" : "div"), ot(w.value, { class: "uuid-icon-wrapper" }), {
|
|
606
|
+
e.format !== "hidden" ? (u(), H(Ue(e.idTooltip ? "KTooltip" : "div"), Ve({ key: 0 }, r.value, { "data-testid": "copy-id" }), {
|
|
607
|
+
default: c(() => [
|
|
608
|
+
V("div", {
|
|
609
|
+
class: we([
|
|
610
|
+
"uuid-container",
|
|
611
|
+
e.truncated ? "truncated-uuid" : null,
|
|
612
|
+
e.useMono ? "mono" : null
|
|
613
|
+
])
|
|
614
|
+
}, T($.value), 3)
|
|
615
|
+
]),
|
|
616
|
+
_: 1
|
|
617
|
+
}, 16)) : Z("", !0),
|
|
618
|
+
(u(), H(Ue(e.tooltip ? "KTooltip" : "div"), Ve(y.value, { class: "uuid-icon-wrapper" }), {
|
|
610
619
|
default: c(() => [
|
|
611
|
-
B(
|
|
612
|
-
default: c(({ copyToClipboard:
|
|
620
|
+
B(U, null, {
|
|
621
|
+
default: c(({ copyToClipboard: l }) => [
|
|
613
622
|
V("span", {
|
|
614
623
|
"data-testid": "copy-to-clipboard",
|
|
615
624
|
role: "button",
|
|
616
625
|
tabindex: "0",
|
|
617
|
-
onClick: Ee((
|
|
626
|
+
onClick: Ee((g) => I(l), ["stop"])
|
|
618
627
|
}, [
|
|
619
|
-
B(
|
|
628
|
+
B(O, {
|
|
620
629
|
class: "uuid-icon",
|
|
621
630
|
color: e.iconColor,
|
|
622
631
|
"hide-title": !!e.tooltip || void 0,
|
|
@@ -624,7 +633,7 @@ const re = {
|
|
|
624
633
|
size: "16",
|
|
625
634
|
title: s(a)("iconTitle")
|
|
626
635
|
}, null, 8, ["color", "hide-title", "title"])
|
|
627
|
-
], 8,
|
|
636
|
+
], 8, ta)
|
|
628
637
|
]),
|
|
629
638
|
_: 1
|
|
630
639
|
})
|
|
@@ -634,15 +643,15 @@ const re = {
|
|
|
634
643
|
]);
|
|
635
644
|
};
|
|
636
645
|
}
|
|
637
|
-
}),
|
|
646
|
+
}), oa = (e, o) => {
|
|
638
647
|
const t = e.__vccOpts || e;
|
|
639
648
|
for (const [a, n] of o)
|
|
640
649
|
t[a] = n;
|
|
641
650
|
return t;
|
|
642
|
-
}, ut = /* @__PURE__ */
|
|
651
|
+
}, ut = /* @__PURE__ */ oa(aa, [["__scopeId", "data-v-bfdaf6f7"]]), ra = {
|
|
643
652
|
key: 0,
|
|
644
653
|
class: "config-card-fieldset-title"
|
|
645
|
-
},
|
|
654
|
+
}, na = /* @__PURE__ */ te({
|
|
646
655
|
__name: "JsonCardItem",
|
|
647
656
|
props: {
|
|
648
657
|
item: {
|
|
@@ -659,26 +668,26 @@ const re = {
|
|
|
659
668
|
}
|
|
660
669
|
},
|
|
661
670
|
setup(e) {
|
|
662
|
-
const o = e, { i18n: { t } } = re.useI18n(), { convertKeyToTitle: a } = re.useStringHelpers(), n =
|
|
663
|
-
const
|
|
664
|
-
return o.isArrayItem && delete
|
|
665
|
-
}), w =
|
|
666
|
-
var
|
|
667
|
-
return o.isArrayItem ? (
|
|
671
|
+
const o = e, { i18n: { t } } = re.useI18n(), { convertKeyToTitle: a } = re.useStringHelpers(), n = C(() => o.item.key ?? "json-array-item"), r = C(() => o.item.value ?? o.item), m = C(() => {
|
|
672
|
+
const y = JSON.parse(JSON.stringify(r.value));
|
|
673
|
+
return o.isArrayItem && delete y.name, y;
|
|
674
|
+
}), w = C(() => {
|
|
675
|
+
var y;
|
|
676
|
+
return o.isArrayItem ? (y = r.value) != null && y.name ? a(r.value.name, "_") : t("baseConfigCard.general.entryTitle", { index: o.index }) : "";
|
|
668
677
|
});
|
|
669
|
-
return (
|
|
670
|
-
class:
|
|
678
|
+
return (y, $) => (u(), H(Ue(e.isArrayItem ? "fieldset" : "div"), {
|
|
679
|
+
class: we(e.isArrayItem ? "config-card-fieldset" : "config-card-json-item")
|
|
671
680
|
}, {
|
|
672
681
|
default: c(() => [
|
|
673
|
-
e.isArrayItem ? (u(), P("legend",
|
|
682
|
+
e.isArrayItem ? (u(), P("legend", ra, [
|
|
674
683
|
V("b", null, T(w.value), 1)
|
|
675
684
|
])) : Z("", !0),
|
|
676
|
-
(u(!0), P(de, null, ue(Object.keys(
|
|
677
|
-
key: `${n.value}-property-${
|
|
685
|
+
(u(!0), P(de, null, ue(Object.keys(m.value), (v, I) => (u(), H(dt, {
|
|
686
|
+
key: `${n.value}-property-${I}`,
|
|
678
687
|
item: {
|
|
679
|
-
key:
|
|
680
|
-
label: s(a)(
|
|
681
|
-
value:
|
|
688
|
+
key: v,
|
|
689
|
+
label: s(a)(v),
|
|
690
|
+
value: m.value[v]
|
|
682
691
|
}
|
|
683
692
|
}, null, 8, ["item"]))), 128))
|
|
684
693
|
]),
|
|
@@ -690,7 +699,7 @@ const re = {
|
|
|
690
699
|
for (const [a, n] of o)
|
|
691
700
|
t[a] = n;
|
|
692
701
|
return t;
|
|
693
|
-
}, ct = /* @__PURE__ */ pe(
|
|
702
|
+
}, ct = /* @__PURE__ */ pe(na, [["__scopeId", "data-v-68ca83ec"]]), sa = /* @__PURE__ */ te({
|
|
694
703
|
__name: "InternalLinkItem",
|
|
695
704
|
props: {
|
|
696
705
|
item: {
|
|
@@ -702,7 +711,7 @@ const re = {
|
|
|
702
711
|
setup(e) {
|
|
703
712
|
const { i18n: { t: o } } = re.useI18n();
|
|
704
713
|
return (t, a) => {
|
|
705
|
-
const n =
|
|
714
|
+
const n = R("KButton");
|
|
706
715
|
return u(), P("div", null, [
|
|
707
716
|
B(n, {
|
|
708
717
|
appearance: "btn-link",
|
|
@@ -717,7 +726,7 @@ const re = {
|
|
|
717
726
|
]);
|
|
718
727
|
};
|
|
719
728
|
}
|
|
720
|
-
}),
|
|
729
|
+
}), la = /* @__PURE__ */ pe(sa, [["__scopeId", "data-v-7410504d"]]), ia = /* @__PURE__ */ te({
|
|
721
730
|
__name: "StatusBadge",
|
|
722
731
|
props: {
|
|
723
732
|
status: {
|
|
@@ -728,7 +737,7 @@ const re = {
|
|
|
728
737
|
setup(e) {
|
|
729
738
|
const { i18n: { t: o } } = re.useI18n();
|
|
730
739
|
return (t, a) => {
|
|
731
|
-
const n =
|
|
740
|
+
const n = R("KBadge");
|
|
732
741
|
return u(), H(n, {
|
|
733
742
|
appearance: e.status ? "success" : "neutral"
|
|
734
743
|
}, {
|
|
@@ -739,11 +748,11 @@ const re = {
|
|
|
739
748
|
}, 8, ["appearance"]);
|
|
740
749
|
};
|
|
741
750
|
}
|
|
742
|
-
}),
|
|
751
|
+
}), ua = "#0044f4", ca = "#e0e4ea", da = "#3a3f51", pa = "1px", ma = { class: "config-card-details-row" }, fa = ["data-testid"], ga = ["data-testid"], ya = ["data-testid"], va = ["data-testid"], ha = { key: 1 }, ba = ["data-testid"], _a = ["data-testid"], ka = ["data-testid"], Ca = ["data-testid"], wa = ["title"], Ia = {
|
|
743
752
|
name: "ConfigCardItem",
|
|
744
|
-
components: { CopyUuid: ut, JsonCardItem: ct, StatusBadge:
|
|
745
|
-
},
|
|
746
|
-
...
|
|
753
|
+
components: { CopyUuid: ut, JsonCardItem: ct, StatusBadge: ia, InternalLinkItem: la }
|
|
754
|
+
}, Sa = /* @__PURE__ */ te({
|
|
755
|
+
...Ia,
|
|
747
756
|
props: {
|
|
748
757
|
item: {
|
|
749
758
|
type: Object,
|
|
@@ -763,13 +772,13 @@ const re = {
|
|
|
763
772
|
emits: ["navigation-click"],
|
|
764
773
|
setup(e, { emit: o }) {
|
|
765
774
|
const t = e;
|
|
766
|
-
yt((
|
|
767
|
-
"2c6ac268": $.value ? "none" : `solid ${s(
|
|
768
|
-
c7a65802:
|
|
769
|
-
"778426fe":
|
|
770
|
-
"777f9b48":
|
|
775
|
+
yt((I) => ({
|
|
776
|
+
"2c6ac268": $.value ? "none" : `solid ${s(pa)} ${s(ca)}`,
|
|
777
|
+
c7a65802: y.value && m.value ? "block" : "flex",
|
|
778
|
+
"778426fe": y.value && m.value ? "100%" : t.slim ? "50%" : "25%",
|
|
779
|
+
"777f9b48": y.value && m.value ? "100%" : t.slim ? "50%" : "75%"
|
|
771
780
|
}));
|
|
772
|
-
const a =
|
|
781
|
+
const a = Oe(), { i18n: { t: n, formatUnixTimeStamp: r } } = re.useI18n(), m = C(() => t.item.value !== void 0 && t.item.value !== null && t.item.value !== ""), w = C(() => !!(t.item.tooltip || a["label-tooltip"])), y = C(() => t.item.type === Q.Json || t.item.type === Q.JsonArray), $ = C(() => t.item.type === Q.JsonArray), v = C(() => {
|
|
773
782
|
switch (t.item.type) {
|
|
774
783
|
case Q.ID:
|
|
775
784
|
return {
|
|
@@ -855,8 +864,8 @@ const re = {
|
|
|
855
864
|
attrs: {
|
|
856
865
|
"data-testid": `${t.item.key}-internal-link`,
|
|
857
866
|
item: t.item,
|
|
858
|
-
onNavigationClick: (
|
|
859
|
-
o("navigation-click",
|
|
867
|
+
onNavigationClick: (I) => {
|
|
868
|
+
o("navigation-click", I);
|
|
860
869
|
}
|
|
861
870
|
}
|
|
862
871
|
};
|
|
@@ -896,14 +905,14 @@ const re = {
|
|
|
896
905
|
};
|
|
897
906
|
}
|
|
898
907
|
});
|
|
899
|
-
return (
|
|
900
|
-
const S =
|
|
901
|
-
return u(), P("div",
|
|
908
|
+
return (I, E) => {
|
|
909
|
+
const S = R("KLabel"), O = R("KBadge"), U = R("KMethodBadge");
|
|
910
|
+
return u(), P("div", ma, [
|
|
902
911
|
V("div", {
|
|
903
912
|
class: "config-card-details-label",
|
|
904
913
|
"data-testid": `${e.item.key}-label`
|
|
905
914
|
}, [
|
|
906
|
-
X(
|
|
915
|
+
X(I.$slots, "label", { item: e.item }, () => [
|
|
907
916
|
B(S, { "tooltip-attributes": { maxWidth: "500px" } }, Ce({
|
|
908
917
|
default: c(() => [
|
|
909
918
|
W(T(e.item.label) + " ", 1)
|
|
@@ -916,10 +925,10 @@ const re = {
|
|
|
916
925
|
V("div", {
|
|
917
926
|
"data-testid": `${e.item.key}-label-tooltip`
|
|
918
927
|
}, [
|
|
919
|
-
X(
|
|
928
|
+
X(I.$slots, "label-tooltip", {}, () => [
|
|
920
929
|
W(T(e.item.tooltip), 1)
|
|
921
930
|
], !0)
|
|
922
|
-
], 8,
|
|
931
|
+
], 8, ga)
|
|
923
932
|
]),
|
|
924
933
|
key: "0"
|
|
925
934
|
} : void 0
|
|
@@ -930,20 +939,20 @@ const re = {
|
|
|
930
939
|
class: "config-card-details-value",
|
|
931
940
|
"data-testid": `${e.item.key}-property-value`
|
|
932
941
|
}, [
|
|
933
|
-
X(
|
|
942
|
+
X(I.$slots, e.item.key, {
|
|
934
943
|
rowValue: e.item.value
|
|
935
944
|
}, () => [
|
|
936
|
-
|
|
937
|
-
(u(), H(
|
|
945
|
+
m.value ? (u(), P("div", ha, [
|
|
946
|
+
(u(), H(Ue(v.value.tag), vt(ht(v.value.attrs)), {
|
|
938
947
|
default: c(() => [
|
|
939
|
-
|
|
948
|
+
v.value.additionalComponent === "KBadge" ? (u(), P("div", {
|
|
940
949
|
key: 0,
|
|
941
950
|
"data-testid": `${e.item.key}-badge-tags`
|
|
942
951
|
}, [
|
|
943
|
-
(u(!0), P(de, null, ue(e.item.value, (l,
|
|
944
|
-
key: `${e.item.key}-badge-tag-${
|
|
952
|
+
(u(!0), P(de, null, ue(e.item.value, (l, g) => (u(), H(O, {
|
|
953
|
+
key: `${e.item.key}-badge-tag-${g}`,
|
|
945
954
|
class: "config-badge",
|
|
946
|
-
"data-testid": `${e.item.key}-badge-tag-${
|
|
955
|
+
"data-testid": `${e.item.key}-badge-tag-${g}`,
|
|
947
956
|
"truncation-tooltip": l
|
|
948
957
|
}, {
|
|
949
958
|
default: c(() => [
|
|
@@ -951,67 +960,67 @@ const re = {
|
|
|
951
960
|
]),
|
|
952
961
|
_: 2
|
|
953
962
|
}, 1032, ["data-testid", "truncation-tooltip"]))), 128))
|
|
954
|
-
], 8,
|
|
955
|
-
|
|
963
|
+
], 8, ba)) : Z("", !0),
|
|
964
|
+
v.value.additionalComponent === "CopyUuid" ? (u(), P("div", {
|
|
956
965
|
key: 1,
|
|
957
966
|
class: "copy-uuid-array",
|
|
958
967
|
"data-testid": `${e.item.key}-copy-uuid-array`
|
|
959
968
|
}, [
|
|
960
|
-
(u(!0), P(de, null, ue(e.item.value, (l,
|
|
961
|
-
key: `${e.item.key}-copy-uuid-${
|
|
962
|
-
"data-testid": `${e.item.key}-copy-uuid-${
|
|
969
|
+
(u(!0), P(de, null, ue(e.item.value, (l, g) => (u(), H(s(ut), Ve(v.value.childAttrs, {
|
|
970
|
+
key: `${e.item.key}-copy-uuid-${g}`,
|
|
971
|
+
"data-testid": `${e.item.key}-copy-uuid-${g}`,
|
|
963
972
|
uuid: l
|
|
964
973
|
}), null, 16, ["data-testid", "uuid"]))), 128))
|
|
965
|
-
], 8,
|
|
974
|
+
], 8, _a)) : v.value.additionalComponent === "KMethodBadge" ? (u(), P("div", {
|
|
966
975
|
key: 2,
|
|
967
976
|
class: "method-badge-array",
|
|
968
977
|
"data-testid": `${e.item.key}-badge-methods`
|
|
969
978
|
}, [
|
|
970
|
-
(u(!0), P(de, null, ue(e.item.value, (l,
|
|
971
|
-
key: `${e.item.key}-badge-method-${
|
|
979
|
+
(u(!0), P(de, null, ue(e.item.value, (l, g) => (u(), H(U, {
|
|
980
|
+
key: `${e.item.key}-badge-method-${g}`,
|
|
972
981
|
class: "config-badge",
|
|
973
|
-
"data-testid": `${e.item.key}-badge-method-${
|
|
982
|
+
"data-testid": `${e.item.key}-badge-method-${g}`,
|
|
974
983
|
"is-rounded": "",
|
|
975
984
|
label: l,
|
|
976
|
-
method: s(
|
|
985
|
+
method: s(wt).includes(l.toLowerCase()) ? l.toLowerCase() : "custom"
|
|
977
986
|
}, {
|
|
978
987
|
default: c(() => [
|
|
979
988
|
W(T(l), 1)
|
|
980
989
|
]),
|
|
981
990
|
_: 2
|
|
982
991
|
}, 1032, ["data-testid", "label", "method"]))), 128))
|
|
983
|
-
], 8,
|
|
984
|
-
|
|
992
|
+
], 8, ka)) : Z("", !0),
|
|
993
|
+
v.value.additionalComponent === "JsonCardItem" ? (u(), P("div", {
|
|
985
994
|
key: 3,
|
|
986
995
|
"data-testid": `${t.item.key}-json-array-content`
|
|
987
996
|
}, [
|
|
988
|
-
(u(!0), P(de, null, ue(e.item.value, (l,
|
|
989
|
-
key: `json-array-item-${
|
|
990
|
-
index:
|
|
997
|
+
(u(!0), P(de, null, ue(e.item.value, (l, g) => (u(), H(ct, {
|
|
998
|
+
key: `json-array-item-${g}`,
|
|
999
|
+
index: g,
|
|
991
1000
|
"is-array-item": "",
|
|
992
1001
|
item: l
|
|
993
1002
|
}, null, 8, ["index", "item"]))), 128))
|
|
994
|
-
], 8,
|
|
1003
|
+
], 8, Ca)) : (u(), P("span", {
|
|
995
1004
|
key: 4,
|
|
996
|
-
class:
|
|
1005
|
+
class: we(["attrs-data-text", { truncated: e.truncated }]),
|
|
997
1006
|
title: e.truncated ? e.item.value : void 0
|
|
998
|
-
}, T(
|
|
1007
|
+
}, T(v.value.text), 11, wa))
|
|
999
1008
|
]),
|
|
1000
1009
|
_: 1
|
|
1001
1010
|
}, 16))
|
|
1002
1011
|
])) : (u(), P("div", {
|
|
1003
1012
|
key: 0,
|
|
1004
1013
|
"data-testid": `${e.item.key}-no-value`
|
|
1005
|
-
}, " – ", 8,
|
|
1014
|
+
}, " – ", 8, va))
|
|
1006
1015
|
], !0)
|
|
1007
|
-
], 8,
|
|
1016
|
+
], 8, ya)
|
|
1008
1017
|
]);
|
|
1009
1018
|
};
|
|
1010
1019
|
}
|
|
1011
|
-
}), dt = /* @__PURE__ */ pe(
|
|
1020
|
+
}), dt = /* @__PURE__ */ pe(Sa, [["__scopeId", "data-v-a3c5ab01"]]), $a = { "data-testid": "config-card-title" }, xa = { class: "config-card-actions" }, Ta = { class: "config-card-details-section" }, Ka = ["data-testid"], Ba = {
|
|
1012
1021
|
key: 0,
|
|
1013
1022
|
class: "config-card-prop-section-title"
|
|
1014
|
-
},
|
|
1023
|
+
}, Aa = /* @__PURE__ */ te({
|
|
1015
1024
|
__name: "EntityBaseConfigCard",
|
|
1016
1025
|
props: {
|
|
1017
1026
|
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
@@ -1070,7 +1079,7 @@ const re = {
|
|
|
1070
1079
|
emits: ["loading", "fetch:success", "fetch:error", "copy:success", "copy:error"],
|
|
1071
1080
|
setup(e, { emit: o }) {
|
|
1072
1081
|
var t;
|
|
1073
|
-
const a = e, n =
|
|
1082
|
+
const a = e, n = Oe(), { i18n: { t: r } } = re.useI18n(), { getMessageFromError: m } = re.useErrors(), { convertKeyToTitle: w } = re.useStringHelpers(), { axiosInstance: y } = re.useAxios({
|
|
1074
1083
|
headers: (t = a.config) == null ? void 0 : t.requestHeaders
|
|
1075
1084
|
}), $ = {
|
|
1076
1085
|
id: {
|
|
@@ -1106,21 +1115,21 @@ const re = {
|
|
|
1106
1115
|
// the last property displayed
|
|
1107
1116
|
section: le.Basic
|
|
1108
1117
|
}
|
|
1109
|
-
},
|
|
1110
|
-
var
|
|
1118
|
+
}, v = A(!1), I = A(!1), E = A(""), S = A(), O = C(() => {
|
|
1119
|
+
var p, q, x;
|
|
1111
1120
|
if (!S.value)
|
|
1112
1121
|
return [];
|
|
1113
1122
|
const G = [], D = Object.keys(S.value).length;
|
|
1114
|
-
for (const
|
|
1115
|
-
const d = (q = (
|
|
1123
|
+
for (const F in S.value) {
|
|
1124
|
+
const d = (q = (p = a.configSchema) == null ? void 0 : p[F]) == null ? void 0 : q.order, h = (x = $[F]) == null ? void 0 : x.order;
|
|
1116
1125
|
let _ = D;
|
|
1117
|
-
(
|
|
1126
|
+
(h || h === 0) && (_ = h === -1 ? D + 1 : h), d && (_ = d === -1 ? D + 1 : d), G.push([F, _]);
|
|
1118
1127
|
}
|
|
1119
|
-
return G.sort(function(
|
|
1120
|
-
return
|
|
1121
|
-
}), G.map((
|
|
1122
|
-
var d,
|
|
1123
|
-
const _ =
|
|
1128
|
+
return G.sort(function(F, d) {
|
|
1129
|
+
return F[1] - d[1];
|
|
1130
|
+
}), G.map((F) => {
|
|
1131
|
+
var d, h;
|
|
1132
|
+
const _ = F[0], N = (d = S.value) == null ? void 0 : d[_], ne = ((h = a.configSchema) == null ? void 0 : h[_]) || {}, oe = $[_];
|
|
1124
1133
|
return {
|
|
1125
1134
|
key: _,
|
|
1126
1135
|
value: N,
|
|
@@ -1130,87 +1139,87 @@ const re = {
|
|
|
1130
1139
|
tooltip: ne.tooltip ?? ((oe == null ? void 0 : oe.tooltip) || void 0),
|
|
1131
1140
|
section: ne.section ?? ((oe == null ? void 0 : oe.section) || le.Advanced)
|
|
1132
1141
|
};
|
|
1133
|
-
}).filter((
|
|
1134
|
-
}),
|
|
1135
|
-
var
|
|
1142
|
+
}).filter((F) => !F.hidden && F.key !== a.pluginConfigKey);
|
|
1143
|
+
}), U = C(() => {
|
|
1144
|
+
var p, q;
|
|
1136
1145
|
if (!S.value || !a.pluginConfigKey)
|
|
1137
1146
|
return [];
|
|
1138
1147
|
const x = S.value[a.pluginConfigKey] || {}, G = Object.keys(x).length, D = [];
|
|
1139
|
-
for (const
|
|
1140
|
-
const d = (q = (
|
|
1141
|
-
let _ =
|
|
1142
|
-
d && (_ = d === -1 ? G + 1 : d), D.push([
|
|
1148
|
+
for (const F in x) {
|
|
1149
|
+
const d = (q = (p = a.pluginConfigSchema) == null ? void 0 : p[F]) == null ? void 0 : q.order, h = x[F];
|
|
1150
|
+
let _ = h != null && h !== "" ? G - 1 : G;
|
|
1151
|
+
d && (_ = d === -1 ? G + 1 : d), D.push([F, _]);
|
|
1143
1152
|
}
|
|
1144
|
-
return D.sort(function(
|
|
1145
|
-
return
|
|
1146
|
-
}), D.map((
|
|
1153
|
+
return D.sort(function(F, d) {
|
|
1154
|
+
return F[1] - d[1];
|
|
1155
|
+
}), D.map((F) => {
|
|
1147
1156
|
var d;
|
|
1148
|
-
const
|
|
1157
|
+
const h = F[0], _ = x[h], N = ((d = a.pluginConfigSchema) == null ? void 0 : d[h]) || {};
|
|
1149
1158
|
return {
|
|
1150
|
-
key:
|
|
1159
|
+
key: h,
|
|
1151
1160
|
value: _,
|
|
1152
1161
|
hidden: N.hidden || !1,
|
|
1153
1162
|
type: N.type ?? Q.Text,
|
|
1154
|
-
label: N.label ?? w(
|
|
1163
|
+
label: N.label ?? w(h),
|
|
1155
1164
|
tooltip: N.tooltip ?? void 0,
|
|
1156
1165
|
section: le.Plugin
|
|
1157
1166
|
};
|
|
1158
|
-
}).filter((
|
|
1159
|
-
}), l =
|
|
1160
|
-
var
|
|
1167
|
+
}).filter((F) => !F.hidden);
|
|
1168
|
+
}), l = C(() => {
|
|
1169
|
+
var p, q, x, G;
|
|
1161
1170
|
return {
|
|
1162
|
-
basic: (
|
|
1171
|
+
basic: (p = O.value) == null ? void 0 : p.filter((D) => D.section === le.Basic),
|
|
1163
1172
|
advanced: (q = O.value) == null ? void 0 : q.filter((D) => D.section === le.Advanced),
|
|
1164
|
-
plugin: (G =
|
|
1173
|
+
plugin: (G = U.value) == null ? void 0 : G.concat((x = O.value) == null ? void 0 : x.filter((D) => D.section === le.Plugin))
|
|
1165
1174
|
};
|
|
1166
|
-
}),
|
|
1167
|
-
const
|
|
1168
|
-
return l.value.basic.length &&
|
|
1169
|
-
}), b = (
|
|
1170
|
-
var
|
|
1175
|
+
}), g = C(() => {
|
|
1176
|
+
const p = [];
|
|
1177
|
+
return l.value.basic.length && p.push("basic"), l.value.advanced.length && p.push("advanced"), l.value.plugin.length && p.push("plugin"), p;
|
|
1178
|
+
}), b = (p) => !!(p.tooltip || n[`${p.key}-label-tooltip`]), f = C(() => {
|
|
1179
|
+
var p, q;
|
|
1171
1180
|
let x = `${a.config.apiBaseUrl}${a.fetchUrl}`;
|
|
1172
|
-
return a.config.app === "konnect" ? x = x.replace(/{controlPlaneId}/gi, ((
|
|
1173
|
-
}), L = (
|
|
1174
|
-
S.value &&
|
|
1181
|
+
return a.config.app === "konnect" ? x = x.replace(/{controlPlaneId}/gi, ((p = a.config) == null ? void 0 : p.controlPlaneId) || "") : a.config.app === "kongManager" && (x = x.replace(/\/{workspace}/gi, (q = a.config) != null && q.workspace ? `/${a.config.workspace}` : "")), x = x.replace(/{id}/gi, a.config.entityId), x;
|
|
1182
|
+
}), L = (p) => {
|
|
1183
|
+
S.value && p(JSON.stringify(S.value)) ? o("copy:success", S.value) : o("copy:error");
|
|
1175
1184
|
};
|
|
1176
|
-
return he(
|
|
1177
|
-
o("loading",
|
|
1185
|
+
return he(v, (p) => {
|
|
1186
|
+
o("loading", p);
|
|
1178
1187
|
}, { immediate: !0 }), Te(async () => {
|
|
1179
|
-
|
|
1188
|
+
I.value = !1, v.value = !0;
|
|
1180
1189
|
try {
|
|
1181
|
-
const { data:
|
|
1190
|
+
const { data: p } = await y.get(f.value);
|
|
1182
1191
|
if (a.dataKey)
|
|
1183
|
-
if (typeof
|
|
1184
|
-
S.value = { ...
|
|
1192
|
+
if (typeof p[a.dataKey] < "u")
|
|
1193
|
+
S.value = { ...p[a.dataKey] };
|
|
1185
1194
|
else
|
|
1186
1195
|
throw new Error(r("errors.dataKeyUndefined", { dataKey: a.dataKey }));
|
|
1187
1196
|
else
|
|
1188
|
-
S.value = { ...
|
|
1197
|
+
S.value = { ...p };
|
|
1189
1198
|
Object.keys(a.configSchema).filter((q) => a.configSchema[q].forceShow).forEach((q) => {
|
|
1190
1199
|
S.value && typeof S.value[q] > "u" && (S.value[q] = null);
|
|
1191
|
-
}), o("fetch:success",
|
|
1192
|
-
} catch (
|
|
1193
|
-
const q = p
|
|
1194
|
-
|
|
1200
|
+
}), o("fetch:success", p);
|
|
1201
|
+
} catch (p) {
|
|
1202
|
+
const q = m(p);
|
|
1203
|
+
E.value = q.startsWith("code") ? r("baseConfigCard.errors.load") : q, I.value = !0, o("fetch:error", p);
|
|
1195
1204
|
} finally {
|
|
1196
|
-
|
|
1205
|
+
v.value = !1;
|
|
1197
1206
|
}
|
|
1198
|
-
}), (
|
|
1199
|
-
const x =
|
|
1207
|
+
}), (p, q) => {
|
|
1208
|
+
const x = R("KButton"), G = R("KClipboardProvider"), D = R("KSkeleton"), F = R("KEmptyState"), d = R("KCard");
|
|
1200
1209
|
return u(), H(d, {
|
|
1201
1210
|
"border-variant": "noBorder",
|
|
1202
1211
|
class: "kong-ui-entity-base-config-card"
|
|
1203
1212
|
}, Ce({
|
|
1204
1213
|
actions: c(() => [
|
|
1205
|
-
V("div",
|
|
1206
|
-
X(
|
|
1214
|
+
V("div", xa, [
|
|
1215
|
+
X(p.$slots, "actions", {}, void 0, !0),
|
|
1207
1216
|
B(G, null, {
|
|
1208
|
-
default: c(({ copyToClipboard:
|
|
1209
|
-
!
|
|
1217
|
+
default: c(({ copyToClipboard: h }) => [
|
|
1218
|
+
!v.value && !I.value ? (u(), H(x, {
|
|
1210
1219
|
key: 0,
|
|
1211
1220
|
appearance: "btn-link",
|
|
1212
1221
|
"data-testid": "json-copy-button",
|
|
1213
|
-
onClick: (_) => L(
|
|
1222
|
+
onClick: (_) => L(h)
|
|
1214
1223
|
}, {
|
|
1215
1224
|
default: c(() => [
|
|
1216
1225
|
W(T(s(r)("baseConfigCard.actions.copy")), 1)
|
|
@@ -1223,37 +1232,37 @@ const re = {
|
|
|
1223
1232
|
])
|
|
1224
1233
|
]),
|
|
1225
1234
|
body: c(() => [
|
|
1226
|
-
|
|
1235
|
+
v.value ? (u(), H(D, {
|
|
1227
1236
|
key: 0,
|
|
1228
1237
|
"data-testid": "config-card-loader",
|
|
1229
1238
|
"table-columns": 2,
|
|
1230
1239
|
type: "table"
|
|
1231
|
-
})) :
|
|
1240
|
+
})) : I.value ? (u(), H(F, {
|
|
1232
1241
|
key: 1,
|
|
1233
1242
|
"data-testid": "config-card-fetch-error",
|
|
1234
1243
|
"is-error": ""
|
|
1235
1244
|
}, {
|
|
1236
1245
|
message: c(() => [
|
|
1237
|
-
V("h3", null, T(
|
|
1246
|
+
V("h3", null, T(E.value), 1)
|
|
1238
1247
|
]),
|
|
1239
1248
|
_: 1
|
|
1240
1249
|
})) : Z("", !0),
|
|
1241
|
-
V("div",
|
|
1242
|
-
(u(!0), P(de, null, ue(
|
|
1243
|
-
key: `config-card-details-${
|
|
1244
|
-
class:
|
|
1245
|
-
"data-testid": `config-card-details-${
|
|
1250
|
+
V("div", Ta, [
|
|
1251
|
+
(u(!0), P(de, null, ue(g.value, (h) => (u(), P("div", {
|
|
1252
|
+
key: `config-card-details-${h}-props`,
|
|
1253
|
+
class: we(`config-card-details-${h}-props`),
|
|
1254
|
+
"data-testid": `config-card-details-${h}-props`
|
|
1246
1255
|
}, [
|
|
1247
|
-
|
|
1248
|
-
(u(!0), P(de, null, ue(l.value[
|
|
1256
|
+
h !== "basic" ? (u(), P("div", Ba, T(h === "advanced" ? s(r)("baseConfigCard.sections.advanced") : s(r)("baseConfigCard.sections.plugin")), 1)) : Z("", !0),
|
|
1257
|
+
(u(!0), P(de, null, ue(l.value[h], (_) => (u(), H(dt, {
|
|
1249
1258
|
key: _.key,
|
|
1250
1259
|
item: _
|
|
1251
1260
|
}, Ce({
|
|
1252
1261
|
label: c(() => [
|
|
1253
|
-
X(
|
|
1262
|
+
X(p.$slots, `${_.key}-label`, { row: _ }, void 0, !0)
|
|
1254
1263
|
]),
|
|
1255
1264
|
[_.key]: c(({ rowValue: N }) => [
|
|
1256
|
-
X(
|
|
1265
|
+
X(p.$slots, _.key, {
|
|
1257
1266
|
row: _,
|
|
1258
1267
|
rowValue: N
|
|
1259
1268
|
}, void 0, !0)
|
|
@@ -1263,12 +1272,12 @@ const re = {
|
|
|
1263
1272
|
b(_) ? {
|
|
1264
1273
|
name: "label-tooltip",
|
|
1265
1274
|
fn: c(() => [
|
|
1266
|
-
X(
|
|
1275
|
+
X(p.$slots, `${_.key}-label-tooltip`, { row: _ }, void 0, !0)
|
|
1267
1276
|
]),
|
|
1268
1277
|
key: "0"
|
|
1269
1278
|
} : void 0
|
|
1270
1279
|
]), 1032, ["item"]))), 128))
|
|
1271
|
-
], 10,
|
|
1280
|
+
], 10, Ka))), 128))
|
|
1272
1281
|
])
|
|
1273
1282
|
]),
|
|
1274
1283
|
_: 2
|
|
@@ -1276,8 +1285,8 @@ const re = {
|
|
|
1276
1285
|
e.hideTitle ? void 0 : {
|
|
1277
1286
|
name: "title",
|
|
1278
1287
|
fn: c(() => [
|
|
1279
|
-
V("div",
|
|
1280
|
-
X(
|
|
1288
|
+
V("div", $a, [
|
|
1289
|
+
X(p.$slots, "title", {}, () => [
|
|
1281
1290
|
W(T(s(r)("baseConfigCard.title")), 1)
|
|
1282
1291
|
], !0)
|
|
1283
1292
|
])
|
|
@@ -1287,10 +1296,10 @@ const re = {
|
|
|
1287
1296
|
]), 1024);
|
|
1288
1297
|
};
|
|
1289
1298
|
}
|
|
1290
|
-
}),
|
|
1299
|
+
}), Pa = /* @__PURE__ */ pe(Aa, [["__scopeId", "data-v-b72bbdde"]]), Ma = ["onReset", "onSubmit"], Ea = {
|
|
1291
1300
|
class: "form-actions",
|
|
1292
1301
|
"data-testid": "form-actions"
|
|
1293
|
-
},
|
|
1302
|
+
}, Ua = /* @__PURE__ */ te({
|
|
1294
1303
|
__name: "EntityBaseForm",
|
|
1295
1304
|
props: {
|
|
1296
1305
|
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
@@ -1340,43 +1349,43 @@ const re = {
|
|
|
1340
1349
|
emits: ["loading", "fetch:success", "fetch:error", "submit", "cancel"],
|
|
1341
1350
|
setup(e, { emit: o }) {
|
|
1342
1351
|
var t;
|
|
1343
|
-
const a = e, n = je(), { i18n: { t: r } } = re.useI18n(), { getMessageFromError:
|
|
1352
|
+
const a = e, n = je(), { i18n: { t: r } } = re.useI18n(), { getMessageFromError: m } = re.useErrors(), { axiosInstance: w } = re.useAxios({
|
|
1344
1353
|
headers: (t = a.config) == null ? void 0 : t.requestHeaders
|
|
1345
|
-
}),
|
|
1346
|
-
var l,
|
|
1354
|
+
}), y = A(!1), $ = A(!1), v = A(""), I = C(() => a.canSubmit === !1 || a.isReadonly), E = C(() => {
|
|
1355
|
+
var l, g;
|
|
1347
1356
|
if (!a.editId)
|
|
1348
1357
|
return "";
|
|
1349
1358
|
let b = `${a.config.apiBaseUrl}${a.fetchUrl}`;
|
|
1350
|
-
return a.config.app === "konnect" ? b = b.replace(/{controlPlaneId}/gi, ((l = a.config) == null ? void 0 : l.controlPlaneId) || "") : a.config.app === "kongManager" && (b = b.replace(/\/{workspace}/gi, (
|
|
1359
|
+
return a.config.app === "konnect" ? b = b.replace(/{controlPlaneId}/gi, ((l = a.config) == null ? void 0 : l.controlPlaneId) || "") : a.config.app === "kongManager" && (b = b.replace(/\/{workspace}/gi, (g = a.config) != null && g.workspace ? `/${a.config.workspace}` : "")), b = b.replace(/{id}/gi, a.editId), b;
|
|
1351
1360
|
}), S = () => {
|
|
1352
1361
|
a.config.cancelRoute ? n.push(a.config.cancelRoute) : O();
|
|
1353
1362
|
}, O = () => {
|
|
1354
1363
|
o("cancel");
|
|
1355
|
-
},
|
|
1356
|
-
|
|
1364
|
+
}, U = () => {
|
|
1365
|
+
I.value || o("submit");
|
|
1357
1366
|
};
|
|
1358
|
-
return he(() =>
|
|
1367
|
+
return he(() => y.value, (l) => {
|
|
1359
1368
|
o("loading", l);
|
|
1360
1369
|
}, { immediate: !0 }), Te(async () => {
|
|
1361
1370
|
if (a.editId)
|
|
1362
1371
|
try {
|
|
1363
|
-
$.value = !1,
|
|
1364
|
-
const { data: l } = await w.get(
|
|
1372
|
+
$.value = !1, y.value = !0;
|
|
1373
|
+
const { data: l } = await w.get(E.value);
|
|
1365
1374
|
o("fetch:success", l);
|
|
1366
1375
|
} catch (l) {
|
|
1367
|
-
const
|
|
1368
|
-
|
|
1376
|
+
const g = m(l);
|
|
1377
|
+
v.value = g.startsWith("code") ? r("baseForm.errors.edit") : g, $.value = !0, o("fetch:error", l);
|
|
1369
1378
|
} finally {
|
|
1370
|
-
|
|
1379
|
+
y.value = !1;
|
|
1371
1380
|
}
|
|
1372
|
-
}), (l,
|
|
1373
|
-
const b =
|
|
1381
|
+
}), (l, g) => {
|
|
1382
|
+
const b = R("KSkeleton"), f = R("KEmptyState"), L = R("KAlert"), p = R("KButton"), q = R("KCard");
|
|
1374
1383
|
return u(), H(q, { class: "kong-ui-entity-base-form" }, {
|
|
1375
1384
|
body: c(() => [
|
|
1376
|
-
|
|
1385
|
+
y.value ? (u(), H(b, {
|
|
1377
1386
|
key: 0,
|
|
1378
1387
|
type: "form"
|
|
1379
|
-
})) : $.value ? (u(), H(
|
|
1388
|
+
})) : $.value ? (u(), H(f, {
|
|
1380
1389
|
key: 1,
|
|
1381
1390
|
"cta-text": s(r)("baseForm.actions.back"),
|
|
1382
1391
|
"data-testid": "form-fetch-error",
|
|
@@ -1384,14 +1393,14 @@ const re = {
|
|
|
1384
1393
|
"is-error": !0
|
|
1385
1394
|
}, {
|
|
1386
1395
|
message: c(() => [
|
|
1387
|
-
V("h3", null, T(
|
|
1396
|
+
V("h3", null, T(v.value), 1)
|
|
1388
1397
|
]),
|
|
1389
1398
|
_: 1
|
|
1390
1399
|
}, 8, ["cta-text"])) : (u(), P("form", {
|
|
1391
1400
|
key: 2,
|
|
1392
1401
|
"data-testid": "form-content",
|
|
1393
1402
|
onReset: Ee(O, ["prevent"]),
|
|
1394
|
-
onSubmit: Ee(
|
|
1403
|
+
onSubmit: Ee(U, ["prevent"])
|
|
1395
1404
|
}, [
|
|
1396
1405
|
X(l.$slots, "default", {}, void 0, !0),
|
|
1397
1406
|
e.errorMessage ? (u(), H(L, {
|
|
@@ -1400,9 +1409,9 @@ const re = {
|
|
|
1400
1409
|
appearance: "danger",
|
|
1401
1410
|
"data-testid": "form-error"
|
|
1402
1411
|
}, null, 8, ["alert-message"])) : Z("", !0),
|
|
1403
|
-
V("div",
|
|
1412
|
+
V("div", Ea, [
|
|
1404
1413
|
X(l.$slots, "form-actions", {}, () => [
|
|
1405
|
-
B(
|
|
1414
|
+
B(p, {
|
|
1406
1415
|
appearance: "outline",
|
|
1407
1416
|
"data-testid": "form-cancel",
|
|
1408
1417
|
disabled: e.isReadonly,
|
|
@@ -1413,10 +1422,10 @@ const re = {
|
|
|
1413
1422
|
]),
|
|
1414
1423
|
_: 1
|
|
1415
1424
|
}, 8, ["disabled"]),
|
|
1416
|
-
B(
|
|
1425
|
+
B(p, {
|
|
1417
1426
|
appearance: "primary",
|
|
1418
1427
|
"data-testid": "form-submit",
|
|
1419
|
-
disabled:
|
|
1428
|
+
disabled: I.value,
|
|
1420
1429
|
type: "submit"
|
|
1421
1430
|
}, {
|
|
1422
1431
|
default: c(() => [
|
|
@@ -1426,13 +1435,13 @@ const re = {
|
|
|
1426
1435
|
}, 8, ["disabled"])
|
|
1427
1436
|
], !0)
|
|
1428
1437
|
])
|
|
1429
|
-
], 40,
|
|
1438
|
+
], 40, Ma))
|
|
1430
1439
|
]),
|
|
1431
1440
|
_: 3
|
|
1432
1441
|
});
|
|
1433
1442
|
};
|
|
1434
1443
|
}
|
|
1435
|
-
}),
|
|
1444
|
+
}), qa = /* @__PURE__ */ pe(Ua, [["__scopeId", "data-v-2286e5f2"]]), Fa = { key: 0 }, Ra = /* @__PURE__ */ te({
|
|
1436
1445
|
__name: "EntityBaseTableCell",
|
|
1437
1446
|
props: {
|
|
1438
1447
|
keyName: {
|
|
@@ -1445,69 +1454,69 @@ const re = {
|
|
|
1445
1454
|
}
|
|
1446
1455
|
},
|
|
1447
1456
|
setup(e) {
|
|
1448
|
-
const o = e, t =
|
|
1449
|
-
var
|
|
1450
|
-
return ((
|
|
1451
|
-
}), a =
|
|
1452
|
-
var
|
|
1453
|
-
return ((
|
|
1454
|
-
}), n =
|
|
1455
|
-
var
|
|
1456
|
-
const
|
|
1457
|
-
return
|
|
1457
|
+
const o = e, t = C(() => {
|
|
1458
|
+
var U;
|
|
1459
|
+
return ((U = o.rowEl) == null ? void 0 : U.querySelector(`[data-testid="${o.keyName}"]`)) || null;
|
|
1460
|
+
}), a = C(() => {
|
|
1461
|
+
var U;
|
|
1462
|
+
return ((U = t.value) == null ? void 0 : U.querySelector('[role="button"]')) || null;
|
|
1463
|
+
}), n = C(() => {
|
|
1464
|
+
var U, l;
|
|
1465
|
+
const g = (U = o.rowEl) == null ? void 0 : U.querySelectorAll("td");
|
|
1466
|
+
return g ? ((l = g[0]) == null ? void 0 : l.getAttribute("data-testid")) === o.keyName : !1;
|
|
1458
1467
|
});
|
|
1459
1468
|
let r;
|
|
1460
|
-
const
|
|
1469
|
+
const m = () => {
|
|
1461
1470
|
r && (r.disconnect(), r = void 0);
|
|
1462
1471
|
}, w = () => {
|
|
1463
|
-
var
|
|
1464
|
-
$.value = ((
|
|
1465
|
-
},
|
|
1466
|
-
|
|
1467
|
-
(
|
|
1468
|
-
if (n.value && (
|
|
1472
|
+
var U, l, g;
|
|
1473
|
+
$.value = ((U = a.value) == null ? void 0 : U.getBoundingClientRect().width) || 0, v.value = ((l = t.value) == null ? void 0 : l.clientWidth) || 0, I.value = ((g = y.value) == null ? void 0 : g.innerText) || "";
|
|
1474
|
+
}, y = A({}), $ = A(0), v = A(0), I = A(""), E = C(() => [a.value, t.value]), S = he(
|
|
1475
|
+
E,
|
|
1476
|
+
(U) => {
|
|
1477
|
+
if (n.value && (m(), "ResizeObserver" in window && window)) {
|
|
1469
1478
|
r = new ResizeObserver((l) => {
|
|
1470
1479
|
window.requestAnimationFrame(() => {
|
|
1471
1480
|
!Array.isArray(l) || !l.length || w();
|
|
1472
1481
|
});
|
|
1473
1482
|
});
|
|
1474
|
-
for (const l of
|
|
1483
|
+
for (const l of U)
|
|
1475
1484
|
l && r.observe(l);
|
|
1476
1485
|
}
|
|
1477
1486
|
},
|
|
1478
1487
|
{ immediate: !0, flush: "post", deep: !0 }
|
|
1479
|
-
), O =
|
|
1488
|
+
), O = C(() => n.value ? $.value > v.value : !1);
|
|
1480
1489
|
return bt(() => {
|
|
1481
1490
|
w();
|
|
1482
1491
|
}), _t(() => {
|
|
1483
1492
|
S();
|
|
1484
|
-
}), (
|
|
1485
|
-
const
|
|
1493
|
+
}), (U, l) => {
|
|
1494
|
+
const g = R("KTooltip");
|
|
1486
1495
|
return u(), P("span", {
|
|
1487
1496
|
ref_key: "contentRef",
|
|
1488
|
-
ref:
|
|
1497
|
+
ref: y,
|
|
1489
1498
|
class: "content-wrapper"
|
|
1490
1499
|
}, [
|
|
1491
1500
|
n.value ? (u(), P("span", Fa, [
|
|
1492
|
-
B(
|
|
1501
|
+
B(g, {
|
|
1493
1502
|
disabled: !O.value,
|
|
1494
|
-
label:
|
|
1503
|
+
label: I.value,
|
|
1495
1504
|
"max-width": "300",
|
|
1496
1505
|
placement: "bottomStart"
|
|
1497
1506
|
}, {
|
|
1498
1507
|
default: c(() => [
|
|
1499
|
-
X(
|
|
1508
|
+
X(U.$slots, "default", {}, void 0, !0)
|
|
1500
1509
|
]),
|
|
1501
1510
|
_: 3
|
|
1502
1511
|
}, 8, ["disabled", "label"])
|
|
1503
|
-
])) : X(
|
|
1512
|
+
])) : X(U.$slots, "default", { key: 1 }, void 0, !0)
|
|
1504
1513
|
], 512);
|
|
1505
1514
|
};
|
|
1506
1515
|
}
|
|
1507
|
-
}),
|
|
1516
|
+
}), Va = /* @__PURE__ */ pe(Ra, [["__scopeId", "data-v-f8a220e9"]]), Oa = { class: "toolbar-container" }, ja = {
|
|
1508
1517
|
key: 0,
|
|
1509
1518
|
class: "toolbar-button-container"
|
|
1510
|
-
},
|
|
1519
|
+
}, La = ["data-testid"], Ga = /* @__PURE__ */ te({
|
|
1511
1520
|
__name: "EntityBaseTable",
|
|
1512
1521
|
props: {
|
|
1513
1522
|
// table header configuration
|
|
@@ -1611,55 +1620,55 @@ const re = {
|
|
|
1611
1620
|
},
|
|
1612
1621
|
emits: ["click:row", "sort", "clear-search-input", "empty-state-cta-clicked"],
|
|
1613
1622
|
setup(e, { emit: o }) {
|
|
1614
|
-
const t = e, { i18n: { t: a } } = re.useI18n(), n =
|
|
1615
|
-
const
|
|
1623
|
+
const t = e, { i18n: { t: a } } = re.useI18n(), n = C(() => t.cacheIdentifier || t.preferencesStorageKey), r = (f) => f.hasData || !!t.query, m = C(() => {
|
|
1624
|
+
const f = [];
|
|
1616
1625
|
return Object.keys(t.tableHeaders).forEach((L) => {
|
|
1617
|
-
const
|
|
1618
|
-
|
|
1619
|
-
label:
|
|
1626
|
+
const p = t.tableHeaders[L];
|
|
1627
|
+
f.push({
|
|
1628
|
+
label: p.label ?? L,
|
|
1620
1629
|
key: L,
|
|
1621
|
-
sortable:
|
|
1630
|
+
sortable: p.sortable ?? !1
|
|
1622
1631
|
});
|
|
1623
|
-
}), t.enableEntityActions &&
|
|
1632
|
+
}), t.enableEntityActions && f.push({
|
|
1624
1633
|
key: "actions",
|
|
1625
1634
|
hideLabel: !0
|
|
1626
|
-
}),
|
|
1627
|
-
}), w = (
|
|
1628
|
-
"data-rowid":
|
|
1629
|
-
"data-testid":
|
|
1630
|
-
...t.rowAttributes(
|
|
1631
|
-
}),
|
|
1635
|
+
}), f;
|
|
1636
|
+
}), w = (f) => ({
|
|
1637
|
+
"data-rowid": f.id,
|
|
1638
|
+
"data-testid": f.name,
|
|
1639
|
+
...t.rowAttributes(f)
|
|
1640
|
+
}), y = A({}), $ = (f) => {
|
|
1632
1641
|
var L;
|
|
1633
|
-
return (L =
|
|
1634
|
-
},
|
|
1642
|
+
return (L = y.value) == null ? void 0 : L.$el.querySelector(`[data-rowid="${f.id}"]`);
|
|
1643
|
+
}, v = (f) => {
|
|
1635
1644
|
const L = {
|
|
1636
|
-
"data-testid":
|
|
1637
|
-
...t.cellAttributes(
|
|
1645
|
+
"data-testid": f.headerKey,
|
|
1646
|
+
...t.cellAttributes(f)
|
|
1638
1647
|
};
|
|
1639
|
-
return
|
|
1648
|
+
return f.colIndex === 0 && (L.style = {
|
|
1640
1649
|
maxWidth: "250px",
|
|
1641
1650
|
overflowX: "hidden",
|
|
1642
1651
|
textOverflow: "ellipsis"
|
|
1643
1652
|
}), L;
|
|
1644
|
-
},
|
|
1645
|
-
o("empty-state-cta-clicked"),
|
|
1646
|
-
},
|
|
1653
|
+
}, I = () => {
|
|
1654
|
+
o("empty-state-cta-clicked"), E();
|
|
1655
|
+
}, E = () => {
|
|
1647
1656
|
o("clear-search-input");
|
|
1648
|
-
}, S = (
|
|
1657
|
+
}, S = (f, L) => {
|
|
1649
1658
|
o("click:row", L);
|
|
1650
|
-
}, O = (
|
|
1651
|
-
o("sort",
|
|
1652
|
-
}, { setTablePreferences:
|
|
1653
|
-
const
|
|
1659
|
+
}, O = (f) => {
|
|
1660
|
+
o("sort", f);
|
|
1661
|
+
}, { setTablePreferences: U, getTablePreferences: l } = Kt(), g = C(() => {
|
|
1662
|
+
const f = l(t.preferencesStorageKey);
|
|
1654
1663
|
return {
|
|
1655
1664
|
...t.initialFetcherParams,
|
|
1656
|
-
...
|
|
1665
|
+
...f
|
|
1657
1666
|
};
|
|
1658
|
-
}), b = (
|
|
1659
|
-
t.preferencesStorageKey &&
|
|
1667
|
+
}), b = (f) => {
|
|
1668
|
+
t.preferencesStorageKey && U(t.preferencesStorageKey, f);
|
|
1660
1669
|
};
|
|
1661
|
-
return (
|
|
1662
|
-
const
|
|
1670
|
+
return (f, L) => {
|
|
1671
|
+
const p = R("KIcon"), q = R("KButton"), x = R("KDropdownMenu"), G = R("KTable"), D = R("KCard");
|
|
1663
1672
|
return u(), H(D, {
|
|
1664
1673
|
class: "kong-ui-entity-base-table",
|
|
1665
1674
|
title: e.title
|
|
@@ -1667,9 +1676,9 @@ const re = {
|
|
|
1667
1676
|
body: c(() => [
|
|
1668
1677
|
B(G, {
|
|
1669
1678
|
ref_key: "tableRefs",
|
|
1670
|
-
ref:
|
|
1679
|
+
ref: y,
|
|
1671
1680
|
"cache-identifier": n.value,
|
|
1672
|
-
"cell-attrs":
|
|
1681
|
+
"cell-attrs": v,
|
|
1673
1682
|
"disable-pagination-page-jump": e.disablePaginationPageJump,
|
|
1674
1683
|
"disable-sorting": e.disableSorting,
|
|
1675
1684
|
"empty-state-action-button-icon": e.query ? "" : "plus",
|
|
@@ -1684,42 +1693,42 @@ const re = {
|
|
|
1684
1693
|
fetcher: e.fetcher,
|
|
1685
1694
|
"fetcher-cache-key": String(e.fetcherCacheKey),
|
|
1686
1695
|
"has-error": !!e.errorMessage,
|
|
1687
|
-
headers:
|
|
1696
|
+
headers: m.value,
|
|
1688
1697
|
"hide-pagination-when-optional": "",
|
|
1689
|
-
"initial-fetcher-params":
|
|
1698
|
+
"initial-fetcher-params": g.value,
|
|
1690
1699
|
"is-loading": e.isLoading,
|
|
1691
1700
|
"pagination-type": e.paginationType,
|
|
1692
1701
|
"row-attrs": w,
|
|
1693
1702
|
"search-input": e.query,
|
|
1694
|
-
onKtableEmptyStateCtaClicked:
|
|
1703
|
+
onKtableEmptyStateCtaClicked: I,
|
|
1695
1704
|
"onRow:click": S,
|
|
1696
|
-
onSort: L[0] || (L[0] = (
|
|
1705
|
+
onSort: L[0] || (L[0] = (F) => O(F)),
|
|
1697
1706
|
"onUpdate:tablePreferences": b
|
|
1698
1707
|
}, Ce({
|
|
1699
|
-
toolbar: c(({ state:
|
|
1708
|
+
toolbar: c(({ state: F }) => [
|
|
1700
1709
|
Ae(V("div", Oa, [
|
|
1701
|
-
X(
|
|
1702
|
-
|
|
1703
|
-
X(
|
|
1710
|
+
X(f.$slots, "toolbar-filter", {}, void 0, !0),
|
|
1711
|
+
f.$slots["toolbar-button"] ? (u(), P("div", ja, [
|
|
1712
|
+
X(f.$slots, "toolbar-button", {}, void 0, !0)
|
|
1704
1713
|
])) : Z("", !0)
|
|
1705
1714
|
], 512), [
|
|
1706
|
-
[Pe, r(
|
|
1715
|
+
[Pe, r(F)]
|
|
1707
1716
|
])
|
|
1708
1717
|
]),
|
|
1709
|
-
actions: c(({ row:
|
|
1718
|
+
actions: c(({ row: F, rowKey: d, rowValue: h }) => [
|
|
1710
1719
|
V("div", {
|
|
1711
1720
|
class: "actions-container",
|
|
1712
|
-
"data-testid":
|
|
1721
|
+
"data-testid": F.name
|
|
1713
1722
|
}, [
|
|
1714
1723
|
B(x, {
|
|
1715
1724
|
"kpop-attributes": { placement: "bottomEnd" },
|
|
1716
1725
|
width: e.dropdownMenuWidth
|
|
1717
1726
|
}, {
|
|
1718
1727
|
items: c(() => [
|
|
1719
|
-
X(
|
|
1720
|
-
row:
|
|
1728
|
+
X(f.$slots, "actions", {
|
|
1729
|
+
row: F,
|
|
1721
1730
|
rowKey: d,
|
|
1722
|
-
rowValue:
|
|
1731
|
+
rowValue: h
|
|
1723
1732
|
}, void 0, !0)
|
|
1724
1733
|
]),
|
|
1725
1734
|
default: c(() => [
|
|
@@ -1729,8 +1738,8 @@ const re = {
|
|
|
1729
1738
|
size: "small"
|
|
1730
1739
|
}, {
|
|
1731
1740
|
icon: c(() => [
|
|
1732
|
-
B(
|
|
1733
|
-
color: s(
|
|
1741
|
+
B(p, {
|
|
1742
|
+
color: s(da),
|
|
1734
1743
|
icon: "more",
|
|
1735
1744
|
size: "16"
|
|
1736
1745
|
}, null, 8, ["color"])
|
|
@@ -1740,20 +1749,20 @@ const re = {
|
|
|
1740
1749
|
]),
|
|
1741
1750
|
_: 2
|
|
1742
1751
|
}, 1032, ["width"])
|
|
1743
|
-
], 8,
|
|
1752
|
+
], 8, La)
|
|
1744
1753
|
]),
|
|
1745
1754
|
_: 2
|
|
1746
1755
|
}, [
|
|
1747
|
-
ue(e.tableHeaders, (
|
|
1756
|
+
ue(e.tableHeaders, (F, d) => ({
|
|
1748
1757
|
name: d,
|
|
1749
|
-
fn: c(({ row:
|
|
1750
|
-
B(
|
|
1758
|
+
fn: c(({ row: h, rowKey: _, rowValue: N }) => [
|
|
1759
|
+
B(Va, {
|
|
1751
1760
|
"key-name": String(d),
|
|
1752
|
-
"row-el": $(
|
|
1761
|
+
"row-el": $(h)
|
|
1753
1762
|
}, {
|
|
1754
1763
|
default: c(() => [
|
|
1755
|
-
X(
|
|
1756
|
-
row:
|
|
1764
|
+
X(f.$slots, d, {
|
|
1765
|
+
row: h,
|
|
1757
1766
|
rowKey: _,
|
|
1758
1767
|
rowValue: N
|
|
1759
1768
|
}, () => [
|
|
@@ -1770,13 +1779,13 @@ const re = {
|
|
|
1770
1779
|
}, 8, ["title"]);
|
|
1771
1780
|
};
|
|
1772
1781
|
}
|
|
1773
|
-
}),
|
|
1782
|
+
}), Na = /* @__PURE__ */ pe(Ga, [["__scopeId", "data-v-a598b1d9"]]), Da = {
|
|
1774
1783
|
key: 0,
|
|
1775
1784
|
class: "kong-ui-entity-delete-error"
|
|
1776
|
-
},
|
|
1785
|
+
}, Ha = {
|
|
1777
1786
|
key: 1,
|
|
1778
1787
|
class: "description"
|
|
1779
|
-
},
|
|
1788
|
+
}, Ja = /* @__PURE__ */ te({
|
|
1780
1789
|
__name: "EntityDeleteModal",
|
|
1781
1790
|
props: {
|
|
1782
1791
|
visible: {
|
|
@@ -1815,14 +1824,14 @@ const re = {
|
|
|
1815
1824
|
},
|
|
1816
1825
|
emits: ["cancel", "proceed"],
|
|
1817
1826
|
setup(e, { emit: o }) {
|
|
1818
|
-
const t = e, { i18nT: a } = re.useI18n(), n =
|
|
1827
|
+
const t = e, { i18nT: a } = re.useI18n(), n = C(() => t.needConfirm ? t.entityName : ""), r = () => {
|
|
1819
1828
|
o("cancel");
|
|
1820
|
-
},
|
|
1829
|
+
}, m = () => {
|
|
1821
1830
|
o("proceed");
|
|
1822
1831
|
};
|
|
1823
|
-
return (w,
|
|
1824
|
-
const $ =
|
|
1825
|
-
return u(), H(
|
|
1832
|
+
return (w, y) => {
|
|
1833
|
+
const $ = R("KAlert"), v = R("KPrompt");
|
|
1834
|
+
return u(), H(v, {
|
|
1826
1835
|
"action-button-text": "Yes, delete",
|
|
1827
1836
|
"action-pending": e.actionPending,
|
|
1828
1837
|
class: "kong-ui-entity-delete-modal",
|
|
@@ -1831,10 +1840,10 @@ const re = {
|
|
|
1831
1840
|
title: e.title,
|
|
1832
1841
|
type: "danger",
|
|
1833
1842
|
onCanceled: r,
|
|
1834
|
-
onProceed:
|
|
1843
|
+
onProceed: m
|
|
1835
1844
|
}, {
|
|
1836
1845
|
"body-content": c(() => [
|
|
1837
|
-
e.error ? (u(), P("div",
|
|
1846
|
+
e.error ? (u(), P("div", Da, [
|
|
1838
1847
|
B($, { appearance: "danger" }, {
|
|
1839
1848
|
alertMessage: c(() => [
|
|
1840
1849
|
W(T(e.error), 1)
|
|
@@ -1860,7 +1869,7 @@ const re = {
|
|
|
1860
1869
|
key: "0"
|
|
1861
1870
|
} : void 0
|
|
1862
1871
|
]), 1032, ["keypath"]),
|
|
1863
|
-
t.description || w.$slots.description ? (u(), P("div",
|
|
1872
|
+
t.description || w.$slots.description ? (u(), P("div", Ha, [
|
|
1864
1873
|
X(w.$slots, "description", {}, () => [
|
|
1865
1874
|
V("p", null, T(t.description), 1)
|
|
1866
1875
|
], !0)
|
|
@@ -1870,13 +1879,13 @@ const re = {
|
|
|
1870
1879
|
}, 8, ["action-pending", "confirmation-text", "is-visible", "title"]);
|
|
1871
1880
|
};
|
|
1872
1881
|
}
|
|
1873
|
-
}),
|
|
1882
|
+
}), za = /* @__PURE__ */ pe(Ja, [["__scopeId", "data-v-1c9a2a07"]]), Wa = {
|
|
1874
1883
|
fill: "none",
|
|
1875
1884
|
height: "20",
|
|
1876
1885
|
viewBox: "0 0 20 20",
|
|
1877
1886
|
width: "20",
|
|
1878
1887
|
xmlns: "http://www.w3.org/2000/svg"
|
|
1879
|
-
},
|
|
1888
|
+
}, Qa = {
|
|
1880
1889
|
id: "mask0_180_20349",
|
|
1881
1890
|
height: "20",
|
|
1882
1891
|
maskUnits: "userSpaceOnUse",
|
|
@@ -1884,35 +1893,35 @@ const re = {
|
|
|
1884
1893
|
width: "20",
|
|
1885
1894
|
x: "0",
|
|
1886
1895
|
y: "0"
|
|
1887
|
-
},
|
|
1896
|
+
}, Za = ["fill"], Xa = { mask: "url(#mask0_180_20349)" }, Ya = ["fill"], eo = /* @__PURE__ */ te({
|
|
1888
1897
|
__name: "IconFilter",
|
|
1889
1898
|
props: {
|
|
1890
1899
|
color: {
|
|
1891
1900
|
type: String,
|
|
1892
|
-
default: `var(--kong-ui-entity-filter-color, ${
|
|
1901
|
+
default: `var(--kong-ui-entity-filter-color, ${ua})`
|
|
1893
1902
|
}
|
|
1894
1903
|
},
|
|
1895
1904
|
setup(e) {
|
|
1896
|
-
return (o, t) => (u(), P("svg",
|
|
1897
|
-
V("mask",
|
|
1905
|
+
return (o, t) => (u(), P("svg", Wa, [
|
|
1906
|
+
V("mask", Qa, [
|
|
1898
1907
|
V("rect", {
|
|
1899
1908
|
fill: e.color,
|
|
1900
1909
|
height: "20",
|
|
1901
1910
|
width: "20"
|
|
1902
|
-
}, null, 8,
|
|
1911
|
+
}, null, 8, Za)
|
|
1903
1912
|
]),
|
|
1904
|
-
V("g",
|
|
1913
|
+
V("g", Xa, [
|
|
1905
1914
|
V("path", {
|
|
1906
1915
|
d: "M8 14.5V13H12V14.5H8ZM5 10.75V9.25H15V10.75H5ZM3 7V5.5H17V7H3Z",
|
|
1907
1916
|
fill: e.color
|
|
1908
|
-
}, null, 8,
|
|
1917
|
+
}, null, 8, Ya)
|
|
1909
1918
|
])
|
|
1910
1919
|
]));
|
|
1911
1920
|
}
|
|
1912
|
-
}),
|
|
1921
|
+
}), to = {
|
|
1913
1922
|
key: 1,
|
|
1914
1923
|
class: "kong-ui-entity-filter"
|
|
1915
|
-
},
|
|
1924
|
+
}, ao = { class: "menu-item-title" }, oo = { class: "menu-item-indicator" }, ro = { class: "menu-item-body" }, no = ["for"], so = { class: "menu-item-buttons" }, lo = /* @__PURE__ */ te({
|
|
1916
1925
|
__name: "EntityFilter",
|
|
1917
1926
|
props: {
|
|
1918
1927
|
// filter config, either exact match or fuzzy match
|
|
@@ -1932,49 +1941,49 @@ const re = {
|
|
|
1932
1941
|
},
|
|
1933
1942
|
emits: ["update:modelValue"],
|
|
1934
1943
|
setup(e, { emit: o }) {
|
|
1935
|
-
const t = e, { i18n: { t: a } } = re.useI18n(), n = A(!1), r = A({}),
|
|
1944
|
+
const t = e, { i18n: { t: a } } = re.useI18n(), n = A(!1), r = A({}), m = C(() => {
|
|
1936
1945
|
const l = [];
|
|
1937
|
-
return new URLSearchParams(t.modelValue).forEach((
|
|
1938
|
-
|
|
1946
|
+
return new URLSearchParams(t.modelValue).forEach((g, b) => {
|
|
1947
|
+
g !== "" && l.push(b);
|
|
1939
1948
|
}), l;
|
|
1940
|
-
}), w =
|
|
1949
|
+
}), w = C(() => {
|
|
1941
1950
|
const l = t.config.fields;
|
|
1942
|
-
return Object.keys(l).filter((
|
|
1943
|
-
label: l[
|
|
1944
|
-
value:
|
|
1951
|
+
return Object.keys(l).filter((g) => l[g].searchable).map((g) => ({
|
|
1952
|
+
label: l[g].label || g,
|
|
1953
|
+
value: g
|
|
1945
1954
|
}));
|
|
1946
1955
|
});
|
|
1947
1956
|
he(() => t.modelValue, (l) => {
|
|
1948
|
-
r.value = {}, new URLSearchParams(l).forEach((
|
|
1949
|
-
r.value[b] =
|
|
1957
|
+
r.value = {}, new URLSearchParams(l).forEach((g, b) => {
|
|
1958
|
+
r.value[b] = g;
|
|
1950
1959
|
});
|
|
1951
1960
|
});
|
|
1952
|
-
const
|
|
1961
|
+
const y = () => {
|
|
1953
1962
|
n.value = !n.value;
|
|
1954
1963
|
}, $ = (l) => {
|
|
1955
1964
|
o("update:modelValue", l);
|
|
1956
|
-
},
|
|
1957
|
-
var
|
|
1958
|
-
return (((b = (
|
|
1959
|
-
value:
|
|
1960
|
-
label:
|
|
1965
|
+
}, v = (l) => `filter-${l}`, I = (l) => {
|
|
1966
|
+
var g, b;
|
|
1967
|
+
return (((b = (g = t.config.schema) == null ? void 0 : g[l]) == null ? void 0 : b.values) ?? []).map((f) => ({
|
|
1968
|
+
value: f,
|
|
1969
|
+
label: f
|
|
1961
1970
|
}));
|
|
1962
|
-
},
|
|
1963
|
-
var
|
|
1964
|
-
return ((b = (
|
|
1971
|
+
}, E = (l) => {
|
|
1972
|
+
var g, b;
|
|
1973
|
+
return ((b = (g = t.config.schema) == null ? void 0 : g[l]) == null ? void 0 : b.type) ?? "text";
|
|
1965
1974
|
}, S = (l) => {
|
|
1966
1975
|
r.value = {
|
|
1967
1976
|
...r.value,
|
|
1968
1977
|
[l]: ""
|
|
1969
|
-
},
|
|
1978
|
+
}, U();
|
|
1970
1979
|
}, O = () => {
|
|
1971
|
-
r.value = {},
|
|
1972
|
-
},
|
|
1973
|
-
const
|
|
1974
|
-
l && (n.value = !1), o("update:modelValue", new URLSearchParams(
|
|
1980
|
+
r.value = {}, U(!0);
|
|
1981
|
+
}, U = (l = !1) => {
|
|
1982
|
+
const g = Object.keys(r.value).reduce((b, f) => (r.value[f] && (b[f] = `${r.value[f]}`), b), {});
|
|
1983
|
+
l && (n.value = !1), o("update:modelValue", new URLSearchParams(g).toString());
|
|
1975
1984
|
};
|
|
1976
|
-
return (l,
|
|
1977
|
-
const b =
|
|
1985
|
+
return (l, g) => {
|
|
1986
|
+
const b = R("KInput"), f = R("KButton"), L = R("KSelect"), p = R("KMenuItem"), q = R("KMenu");
|
|
1978
1987
|
return e.config.isExactMatch ? (u(), H(b, {
|
|
1979
1988
|
key: 0,
|
|
1980
1989
|
autocomplete: "off",
|
|
@@ -1985,83 +1994,83 @@ const re = {
|
|
|
1985
1994
|
"onUpdate:modelValue": $
|
|
1986
1995
|
}, {
|
|
1987
1996
|
icon: c(() => [
|
|
1988
|
-
B(
|
|
1997
|
+
B(eo)
|
|
1989
1998
|
]),
|
|
1990
1999
|
_: 1
|
|
1991
|
-
}, 8, ["model-value", "placeholder"])) : (u(), P("div",
|
|
1992
|
-
B(
|
|
2000
|
+
}, 8, ["model-value", "placeholder"])) : (u(), P("div", to, [
|
|
2001
|
+
B(f, {
|
|
1993
2002
|
appearance: "btn-link",
|
|
1994
2003
|
"data-testid": "filter-button",
|
|
1995
2004
|
icon: "filter",
|
|
1996
|
-
onClick:
|
|
2005
|
+
onClick: y
|
|
1997
2006
|
}, {
|
|
1998
2007
|
default: c(() => [
|
|
1999
|
-
W(T(s(a)("filter.filterButtonText")) + " " + T(
|
|
2008
|
+
W(T(s(a)("filter.filterButtonText")) + " " + T(m.value.length > 0 ? `(${m.value.length})` : ""), 1)
|
|
2000
2009
|
]),
|
|
2001
2010
|
_: 1
|
|
2002
2011
|
}),
|
|
2003
2012
|
Ae(V("div", {
|
|
2004
2013
|
class: "kong-ui-entity-filter-backdrop",
|
|
2005
|
-
onClick:
|
|
2014
|
+
onClick: y
|
|
2006
2015
|
}, null, 512), [
|
|
2007
2016
|
[Pe, n.value]
|
|
2008
2017
|
]),
|
|
2009
2018
|
Ae(B(q, { class: "kong-ui-entity-filter-menu" }, {
|
|
2010
2019
|
body: c(() => [
|
|
2011
|
-
(u(!0), P(de, null, ue(w.value, (x, G) => (u(), H(
|
|
2020
|
+
(u(!0), P(de, null, ue(w.value, (x, G) => (u(), H(p, {
|
|
2012
2021
|
key: x.value,
|
|
2013
2022
|
"data-testid": x.value,
|
|
2014
2023
|
expandable: "",
|
|
2015
2024
|
"last-menu-item": G === w.value.length - 1
|
|
2016
2025
|
}, {
|
|
2017
2026
|
itemTitle: c(() => [
|
|
2018
|
-
V("span",
|
|
2027
|
+
V("span", ao, [
|
|
2019
2028
|
W(T(x.label) + " ", 1),
|
|
2020
|
-
Ae(V("span",
|
|
2021
|
-
[Pe,
|
|
2029
|
+
Ae(V("span", oo, null, 512), [
|
|
2030
|
+
[Pe, m.value.includes(x.value)]
|
|
2022
2031
|
])
|
|
2023
2032
|
])
|
|
2024
2033
|
]),
|
|
2025
2034
|
itemBody: c(() => {
|
|
2026
|
-
var D,
|
|
2035
|
+
var D, F;
|
|
2027
2036
|
return [
|
|
2028
|
-
V("div",
|
|
2037
|
+
V("div", ro, [
|
|
2029
2038
|
V("label", {
|
|
2030
2039
|
class: "menu-item-label",
|
|
2031
|
-
for:
|
|
2032
|
-
}, T(s(a)("filter.fieldLabel")), 9,
|
|
2033
|
-
((
|
|
2040
|
+
for: v(x.value)
|
|
2041
|
+
}, T(s(a)("filter.fieldLabel")), 9, no),
|
|
2042
|
+
((F = (D = e.config.schema) == null ? void 0 : D[x.value]) == null ? void 0 : F.type) === "select" ? (u(), H(L, {
|
|
2034
2043
|
key: 0,
|
|
2035
|
-
id:
|
|
2044
|
+
id: v(x.value),
|
|
2036
2045
|
modelValue: r.value[x.value],
|
|
2037
2046
|
"onUpdate:modelValue": (d) => r.value[x.value] = d,
|
|
2038
2047
|
appearance: "select",
|
|
2039
|
-
items:
|
|
2048
|
+
items: I(x.value),
|
|
2040
2049
|
placeholder: s(a)("filter.selectPlaceholder")
|
|
2041
2050
|
}, null, 8, ["id", "modelValue", "onUpdate:modelValue", "items", "placeholder"])) : (u(), H(b, {
|
|
2042
2051
|
key: 1,
|
|
2043
|
-
id:
|
|
2052
|
+
id: v(x.value),
|
|
2044
2053
|
modelValue: r.value[x.value],
|
|
2045
2054
|
"onUpdate:modelValue": (d) => r.value[x.value] = d,
|
|
2046
2055
|
autocomplete: "off",
|
|
2047
2056
|
placeholder: s(a)("filter.inputPlaceholder"),
|
|
2048
2057
|
size: "small",
|
|
2049
|
-
type:
|
|
2058
|
+
type: E(x.value)
|
|
2050
2059
|
}, null, 8, ["id", "modelValue", "onUpdate:modelValue", "placeholder", "type"]))
|
|
2051
2060
|
]),
|
|
2052
|
-
V("div",
|
|
2053
|
-
B(
|
|
2061
|
+
V("div", so, [
|
|
2062
|
+
B(f, {
|
|
2054
2063
|
appearance: "btn-link",
|
|
2055
2064
|
"data-testid": "apply-filter",
|
|
2056
2065
|
size: "small",
|
|
2057
|
-
onClick:
|
|
2066
|
+
onClick: g[0] || (g[0] = (d) => U(!0))
|
|
2058
2067
|
}, {
|
|
2059
2068
|
default: c(() => [
|
|
2060
2069
|
W(T(s(a)("filter.applyButtonText")), 1)
|
|
2061
2070
|
]),
|
|
2062
2071
|
_: 1
|
|
2063
2072
|
}),
|
|
2064
|
-
B(
|
|
2073
|
+
B(f, {
|
|
2065
2074
|
appearance: "btn-link",
|
|
2066
2075
|
"data-testid": "clear-filter",
|
|
2067
2076
|
size: "small",
|
|
@@ -2079,7 +2088,7 @@ const re = {
|
|
|
2079
2088
|
}, 1032, ["data-testid", "last-menu-item"]))), 128))
|
|
2080
2089
|
]),
|
|
2081
2090
|
actionButton: c(() => [
|
|
2082
|
-
B(
|
|
2091
|
+
B(f, { onClick: O }, {
|
|
2083
2092
|
default: c(() => [
|
|
2084
2093
|
W(T(s(a)("filter.clearAllButtonText")), 1)
|
|
2085
2094
|
]),
|
|
@@ -2093,7 +2102,7 @@ const re = {
|
|
|
2093
2102
|
]));
|
|
2094
2103
|
};
|
|
2095
2104
|
}
|
|
2096
|
-
}),
|
|
2105
|
+
}), io = /* @__PURE__ */ pe(lo, [["__scopeId", "data-v-745f38c0"]]), Be = /* @__PURE__ */ te({
|
|
2097
2106
|
__name: "PermissionsWrapper",
|
|
2098
2107
|
props: {
|
|
2099
2108
|
/**
|
|
@@ -2115,7 +2124,7 @@ const re = {
|
|
|
2115
2124
|
}
|
|
2116
2125
|
},
|
|
2117
2126
|
setup(e) {
|
|
2118
|
-
const o = e, t = A(void 0), a =
|
|
2127
|
+
const o = e, t = A(void 0), a = C(() => t.value === !0 || t.value !== void 0 && o.forceShow === !0);
|
|
2119
2128
|
return he(() => o.authFunction, async () => {
|
|
2120
2129
|
t.value = await o.authFunction();
|
|
2121
2130
|
}, { immediate: !0 }), (n, r) => a.value ? X(n.$slots, "default", {
|
|
@@ -2123,16 +2132,16 @@ const re = {
|
|
|
2123
2132
|
isAllowed: t.value
|
|
2124
2133
|
}) : Z("", !0);
|
|
2125
2134
|
}
|
|
2126
|
-
}),
|
|
2135
|
+
}), uo = { class: "form-section-wrapper" }, co = {
|
|
2127
2136
|
key: 0,
|
|
2128
2137
|
class: "form-section-title"
|
|
2129
|
-
},
|
|
2138
|
+
}, po = {
|
|
2130
2139
|
key: 1,
|
|
2131
2140
|
class: "form-section-description"
|
|
2132
|
-
},
|
|
2141
|
+
}, mo = {
|
|
2133
2142
|
key: 2,
|
|
2134
2143
|
class: "form-section-footer"
|
|
2135
|
-
}, fo = { class: "form-section-content" },
|
|
2144
|
+
}, fo = { class: "form-section-content" }, go = /* @__PURE__ */ te({
|
|
2136
2145
|
__name: "EntityFormSection",
|
|
2137
2146
|
props: {
|
|
2138
2147
|
title: {
|
|
@@ -2157,22 +2166,22 @@ const re = {
|
|
|
2157
2166
|
}
|
|
2158
2167
|
},
|
|
2159
2168
|
setup(e) {
|
|
2160
|
-
const o =
|
|
2169
|
+
const o = Oe();
|
|
2161
2170
|
return (t, a) => (u(), P("fieldset", {
|
|
2162
|
-
class:
|
|
2171
|
+
class: we(["kong-ui-entity-form-section", { "has-divider": e.hasDivider }])
|
|
2163
2172
|
}, [
|
|
2164
|
-
V("div",
|
|
2173
|
+
V("div", uo, [
|
|
2165
2174
|
e.hideInfoHeader ? Z("", !0) : (u(), P("div", {
|
|
2166
2175
|
key: 0,
|
|
2167
|
-
class:
|
|
2176
|
+
class: we(["form-section-info", { sticky: e.stickyInfoHeader }])
|
|
2168
2177
|
}, [
|
|
2169
|
-
e.title ? (u(), P("h4",
|
|
2170
|
-
e.description || s(o).description ? (u(), P("div",
|
|
2178
|
+
e.title ? (u(), P("h4", co, T(e.title), 1)) : Z("", !0),
|
|
2179
|
+
e.description || s(o).description ? (u(), P("div", po, [
|
|
2171
2180
|
X(t.$slots, "description", {}, () => [
|
|
2172
2181
|
V("p", null, T(e.description), 1)
|
|
2173
2182
|
], !0)
|
|
2174
2183
|
])) : Z("", !0),
|
|
2175
|
-
s(o).footer ? (u(), P("div",
|
|
2184
|
+
s(o).footer ? (u(), P("div", mo, [
|
|
2176
2185
|
X(t.$slots, "footer", {}, void 0, !0)
|
|
2177
2186
|
])) : Z("", !0)
|
|
2178
2187
|
], 2)),
|
|
@@ -2182,11 +2191,11 @@ const re = {
|
|
|
2182
2191
|
])
|
|
2183
2192
|
], 2));
|
|
2184
2193
|
}
|
|
2185
|
-
}),
|
|
2186
|
-
const
|
|
2194
|
+
}), ot = /* @__PURE__ */ pe(go, [["__scopeId", "data-v-8b6dc312"]]), { useAxios: De, useDeleteUrlBuilder: yo, useErrors: vo, useFetchUrlBuilder: Ro, useFetcher: ho, useDebouncedFilter: pt, useStringHelpers: Vo, useGatewayFeatureSupported: Oo } = re;
|
|
2195
|
+
const bo = { class: "add-to-group-form-container" }, _o = { class: "add-to-group-cta-text" }, ko = {
|
|
2187
2196
|
key: 0,
|
|
2188
2197
|
class: "kong-ui-entity-add-to-groups-error"
|
|
2189
|
-
},
|
|
2198
|
+
}, Co = { key: 0 }, wo = /* @__PURE__ */ te({
|
|
2190
2199
|
__name: "AddToGroupModal",
|
|
2191
2200
|
props: {
|
|
2192
2201
|
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
@@ -2203,25 +2212,25 @@ const _o = { class: "add-to-group-form-container" }, ko = { class: "add-to-group
|
|
|
2203
2212
|
},
|
|
2204
2213
|
emits: ["cancel", "add:success", "add:partial-success", "error"],
|
|
2205
2214
|
setup(e, { emit: o }) {
|
|
2206
|
-
var
|
|
2207
|
-
const t = e, { i18n: { t: a } } = qe.useI18n(), { axiosInstance: n } =
|
|
2208
|
-
headers: (
|
|
2215
|
+
var F;
|
|
2216
|
+
const t = e, { i18n: { t: a } } = qe.useI18n(), { axiosInstance: n } = De({
|
|
2217
|
+
headers: (F = t.config) == null ? void 0 : F.requestHeaders
|
|
2209
2218
|
}), r = A([]), {
|
|
2210
|
-
debouncedQueryChange:
|
|
2219
|
+
debouncedQueryChange: m,
|
|
2211
2220
|
loading: w,
|
|
2212
|
-
allRecords:
|
|
2221
|
+
allRecords: y,
|
|
2213
2222
|
error: $,
|
|
2214
|
-
loadItems:
|
|
2215
|
-
results:
|
|
2223
|
+
loadItems: v,
|
|
2224
|
+
results: I
|
|
2216
2225
|
} = pt(
|
|
2217
2226
|
t.config,
|
|
2218
|
-
|
|
2227
|
+
ge.list[t.config.app].all,
|
|
2219
2228
|
"",
|
|
2220
2229
|
{
|
|
2221
2230
|
fetchedItemsKey: "data",
|
|
2222
2231
|
searchKeys: ["name", "id"]
|
|
2223
2232
|
}
|
|
2224
|
-
),
|
|
2233
|
+
), E = C(() => $.value ? a("consumer_groups.errors.general") : ""), S = A(0), O = C(() => y.value === void 0), U = C(() => I.value.map((d) => ({
|
|
2225
2234
|
label: d.name,
|
|
2226
2235
|
value: d.id,
|
|
2227
2236
|
selected: r.value.includes(d.id),
|
|
@@ -2229,89 +2238,89 @@ const _o = { class: "add-to-group-form-container" }, ko = { class: "add-to-group
|
|
|
2229
2238
|
// we need this to determine whether or not to show the description text
|
|
2230
2239
|
}))), l = (d) => {
|
|
2231
2240
|
var _;
|
|
2232
|
-
const
|
|
2233
|
-
return
|
|
2234
|
-
},
|
|
2241
|
+
const h = O.value ? I.value.find((N) => N.id === d) : (_ = y.value) == null ? void 0 : _.find((N) => N.id === d);
|
|
2242
|
+
return h ? h.name : d;
|
|
2243
|
+
}, g = () => {
|
|
2235
2244
|
L.value = "", b.value = [], G.value = [], o("cancel");
|
|
2236
|
-
}, b = A([]),
|
|
2245
|
+
}, b = A([]), f = A(!1), L = A(""), p = async () => {
|
|
2237
2246
|
if (!r.value.length) {
|
|
2238
2247
|
L.value = "", G.value = [], o("cancel");
|
|
2239
2248
|
return;
|
|
2240
2249
|
}
|
|
2241
|
-
|
|
2250
|
+
f.value = !0, L.value = "", b.value = [], G.value = [];
|
|
2242
2251
|
try {
|
|
2243
|
-
const d = r.value.map((N) => x(N)),
|
|
2252
|
+
const d = r.value.map((N) => x(N)), h = await Promise.allSettled(d);
|
|
2244
2253
|
let _ = !0;
|
|
2245
|
-
|
|
2254
|
+
h.forEach((N) => {
|
|
2246
2255
|
N.status !== "fulfilled" && (_ = !1);
|
|
2247
|
-
}), _ ? (b.value = [], G.value = [], o("add:success", r.value), r.value = []) : (b.value.length && o("add:partial-success", b.value), r.value = [], D(
|
|
2256
|
+
}), _ ? (b.value = [], G.value = [], o("add:success", r.value), r.value = []) : (b.value.length && o("add:partial-success", b.value), r.value = [], D(h));
|
|
2248
2257
|
} catch {
|
|
2249
2258
|
L.value = a("consumer_groups.errors.add"), o("error", L.value);
|
|
2250
2259
|
} finally {
|
|
2251
|
-
|
|
2260
|
+
f.value = !1;
|
|
2252
2261
|
}
|
|
2253
|
-
}, q =
|
|
2254
|
-
var
|
|
2255
|
-
let d = `${t.config.apiBaseUrl}${
|
|
2256
|
-
return t.config.app === "konnect" ? d = d.replace(/{controlPlaneId}/gi, ((
|
|
2262
|
+
}, q = C(() => {
|
|
2263
|
+
var h, _, N, ne;
|
|
2264
|
+
let d = `${t.config.apiBaseUrl}${ge.list[t.config.app].forConsumer}`;
|
|
2265
|
+
return t.config.app === "konnect" ? d = d.replace(/{controlPlaneId}/gi, ((h = t.config) == null ? void 0 : h.controlPlaneId) || "").replace(/{consumerId}/gi, ((_ = t.config) == null ? void 0 : _.consumerId) || "") : t.config.app === "kongManager" && (d = d.replace(/\/{workspace}/gi, (N = t.config) != null && N.workspace ? `/${t.config.workspace}` : "").replace(/{consumerId}/gi, ((ne = t.config) == null ? void 0 : ne.consumerId) || "")), d;
|
|
2257
2266
|
}), x = async (d) => {
|
|
2258
|
-
const
|
|
2267
|
+
const h = {
|
|
2259
2268
|
group: d
|
|
2260
2269
|
};
|
|
2261
2270
|
try {
|
|
2262
|
-
const _ = await n.post(q.value,
|
|
2271
|
+
const _ = await n.post(q.value, h);
|
|
2263
2272
|
return b.value.push(d), _;
|
|
2264
2273
|
} catch (_) {
|
|
2265
2274
|
let N = `${l(d)} - ${_.message}`;
|
|
2266
2275
|
return _.response.status === 409 && (N = `${l(d)} - ${a("consumer_groups.errors.already_added")}`), Promise.reject(Error(N));
|
|
2267
2276
|
}
|
|
2268
2277
|
}, G = A([]), D = (d) => {
|
|
2269
|
-
G.value = d.map((
|
|
2278
|
+
G.value = d.map((h) => {
|
|
2270
2279
|
var _;
|
|
2271
|
-
return (_ =
|
|
2280
|
+
return (_ = h.reason) == null ? void 0 : _.message;
|
|
2272
2281
|
}).filter(Boolean);
|
|
2273
2282
|
};
|
|
2274
|
-
return he(
|
|
2283
|
+
return he(U, () => {
|
|
2275
2284
|
S.value++;
|
|
2276
2285
|
}, { immediate: !0, deep: !0 }), Te(async () => {
|
|
2277
|
-
await
|
|
2278
|
-
}), (d,
|
|
2279
|
-
const _ =
|
|
2286
|
+
await v();
|
|
2287
|
+
}), (d, h) => {
|
|
2288
|
+
const _ = R("KMultiselect"), N = R("KAlert"), ne = R("KPrompt");
|
|
2280
2289
|
return u(), H(ne, {
|
|
2281
|
-
"action-pending":
|
|
2290
|
+
"action-pending": f.value,
|
|
2282
2291
|
class: "kong-ui-entities-add-to-groups-modal",
|
|
2283
2292
|
"data-testid": "add-to-group-modal",
|
|
2284
2293
|
"is-visible": e.visible,
|
|
2285
2294
|
title: s(a)("consumer_groups.consumers.add.title"),
|
|
2286
|
-
onCanceled:
|
|
2287
|
-
onProceed:
|
|
2295
|
+
onCanceled: g,
|
|
2296
|
+
onProceed: p
|
|
2288
2297
|
}, {
|
|
2289
2298
|
"body-content": c(() => [
|
|
2290
|
-
V("div",
|
|
2291
|
-
V("p",
|
|
2299
|
+
V("div", bo, [
|
|
2300
|
+
V("p", _o, T(s(a)("consumer_groups.consumers.add.ctaText")), 1),
|
|
2292
2301
|
B(_, {
|
|
2293
2302
|
modelValue: r.value,
|
|
2294
|
-
"onUpdate:modelValue":
|
|
2303
|
+
"onUpdate:modelValue": h[0] || (h[0] = (oe) => r.value = oe),
|
|
2295
2304
|
autosuggest: "",
|
|
2296
2305
|
"data-testid": "add-to-groups-multiselect",
|
|
2297
2306
|
"dropdown-footer-text": O.value ? s(a)("consumer_groups.consumers.add.footer") : void 0,
|
|
2298
|
-
items:
|
|
2307
|
+
items: U.value,
|
|
2299
2308
|
label: s(a)("consumer_groups.consumers.add.consumer_groups_label"),
|
|
2300
2309
|
loading: s(w),
|
|
2301
2310
|
placeholder: s(a)("consumer_groups.consumers.add.consumer_group_placeholder"),
|
|
2302
|
-
readonly:
|
|
2311
|
+
readonly: f.value,
|
|
2303
2312
|
required: "",
|
|
2304
2313
|
width: "100%",
|
|
2305
|
-
onQueryChange: s(
|
|
2314
|
+
onQueryChange: s(m)
|
|
2306
2315
|
}, null, 8, ["modelValue", "dropdown-footer-text", "items", "label", "loading", "placeholder", "readonly", "onQueryChange"]),
|
|
2307
|
-
L.value ||
|
|
2316
|
+
L.value || E.value || G.value.length ? (u(), P("div", ko, [
|
|
2308
2317
|
B(N, { appearance: "danger" }, {
|
|
2309
2318
|
alertMessage: c(() => [
|
|
2310
2319
|
V("p", null, T(s(a)("consumer_groups.errors.add")), 1),
|
|
2311
|
-
G.value.length ? (u(), P("ul",
|
|
2312
|
-
(u(!0), P(de, null, ue(G.value, (oe,
|
|
2320
|
+
G.value.length ? (u(), P("ul", Co, [
|
|
2321
|
+
(u(!0), P(de, null, ue(G.value, (oe, Ie) => (u(), P("li", { key: Ie }, T(oe), 1))), 128))
|
|
2313
2322
|
])) : Z("", !0),
|
|
2314
|
-
V("div", null, T(L.value ||
|
|
2323
|
+
V("div", null, T(L.value || E.value), 1)
|
|
2315
2324
|
]),
|
|
2316
2325
|
_: 1
|
|
2317
2326
|
})
|
|
@@ -2323,12 +2332,12 @@ const _o = { class: "add-to-group-form-container" }, ko = { class: "add-to-group
|
|
|
2323
2332
|
};
|
|
2324
2333
|
}
|
|
2325
2334
|
});
|
|
2326
|
-
const
|
|
2335
|
+
const He = (e, o) => {
|
|
2327
2336
|
const t = e.__vccOpts || e;
|
|
2328
2337
|
for (const [a, n] of o)
|
|
2329
2338
|
t[a] = n;
|
|
2330
2339
|
return t;
|
|
2331
|
-
},
|
|
2340
|
+
}, Io = /* @__PURE__ */ He(wo, [["__scopeId", "data-v-4d30f3c5"]]), So = { class: "kong-ui-entities-consumer-groups-list" }, $o = { key: 1 }, xo = /* @__PURE__ */ te({
|
|
2332
2341
|
__name: "ConsumerGroupList",
|
|
2333
2342
|
props: {
|
|
2334
2343
|
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
@@ -2369,86 +2378,86 @@ const De = (e, o) => {
|
|
|
2369
2378
|
},
|
|
2370
2379
|
emits: ["error", "copy:success", "copy:error", "delete:success", "add:success", "remove:success"],
|
|
2371
2380
|
setup(e, { emit: o }) {
|
|
2372
|
-
var
|
|
2373
|
-
const t = e, { i18nT: a, i18n: { t: n } } = qe.useI18n(), r = je(), { axiosInstance:
|
|
2374
|
-
headers: (
|
|
2375
|
-
}), w = A(1),
|
|
2381
|
+
var Je;
|
|
2382
|
+
const t = e, { i18nT: a, i18n: { t: n } } = qe.useI18n(), r = je(), { axiosInstance: m } = De({
|
|
2383
|
+
headers: (Je = t.config) == null ? void 0 : Je.requestHeaders
|
|
2384
|
+
}), w = A(1), y = C(() => !!t.config.consumerId), $ = C(() => t.config.app !== "kongManager" || !!t.config.disableSorting), v = {
|
|
2376
2385
|
name: { label: n("consumer_groups.list.table_headers.name"), searchable: !0, sortable: !0 }
|
|
2377
2386
|
};
|
|
2378
|
-
t.config.app === "kongManager" && (
|
|
2379
|
-
const
|
|
2380
|
-
"data-testid":
|
|
2381
|
-
}), S =
|
|
2387
|
+
t.config.app === "kongManager" && (v.consumers_count = { label: n("consumer_groups.list.table_headers.consumers_count"), searchable: !1, sortable: !1 }), v.tags = { label: n("consumer_groups.list.table_headers.tags"), sortable: !1 };
|
|
2388
|
+
const I = v, E = (k) => ({
|
|
2389
|
+
"data-testid": k.username ?? k.custom_id ?? k.id
|
|
2390
|
+
}), S = C(() => {
|
|
2382
2391
|
var J, ee, ie, ye;
|
|
2383
|
-
let
|
|
2384
|
-
return t.config.app === "konnect" ?
|
|
2385
|
-
}), O = A(""),
|
|
2386
|
-
const
|
|
2387
|
-
return
|
|
2388
|
-
isExactMatch:
|
|
2392
|
+
let k = `${t.config.apiBaseUrl}${ge.list[t.config.app][y.value ? "forConsumer" : "all"]}`;
|
|
2393
|
+
return t.config.app === "konnect" ? k = k.replace(/{controlPlaneId}/gi, ((J = t.config) == null ? void 0 : J.controlPlaneId) || "").replace(/{consumerId}/gi, ((ee = t.config) == null ? void 0 : ee.consumerId) || "") : t.config.app === "kongManager" && (k = k.replace(/\/{workspace}/gi, (ie = t.config) != null && ie.workspace ? `/${t.config.workspace}` : "").replace(/{consumerId}/gi, ((ye = t.config) == null ? void 0 : ye.consumerId) || "")), k;
|
|
2394
|
+
}), O = A(""), U = C(() => {
|
|
2395
|
+
const k = t.config.app === "konnect" || t.config.isExactMatch;
|
|
2396
|
+
return k ? {
|
|
2397
|
+
isExactMatch: k,
|
|
2389
2398
|
fields: {
|
|
2390
|
-
username:
|
|
2399
|
+
username: v.name,
|
|
2391
2400
|
id: { label: n("consumer_groups.list.table_headers.id") }
|
|
2392
2401
|
},
|
|
2393
2402
|
placeholder: n("consumer_groups.search.placeholder")
|
|
2394
2403
|
} : {
|
|
2395
|
-
isExactMatch:
|
|
2404
|
+
isExactMatch: k,
|
|
2396
2405
|
fields: {
|
|
2397
|
-
name:
|
|
2406
|
+
name: v.name
|
|
2398
2407
|
},
|
|
2399
2408
|
schema: t.config.filterSchema
|
|
2400
2409
|
};
|
|
2401
|
-
}), l =
|
|
2410
|
+
}), l = C(() => y.value ? "consumer_groups" : void 0), { fetcher: g, fetcherState: b } = ho(t.config, S.value, l.value), f = () => {
|
|
2402
2411
|
O.value = "";
|
|
2403
2412
|
}, L = () => {
|
|
2404
2413
|
w.value++;
|
|
2405
|
-
},
|
|
2406
|
-
const ee =
|
|
2414
|
+
}, p = A(""), q = (k, J) => {
|
|
2415
|
+
const ee = k.id;
|
|
2407
2416
|
if (!J(ee)) {
|
|
2408
2417
|
o("copy:error", {
|
|
2409
|
-
entity:
|
|
2418
|
+
entity: k,
|
|
2410
2419
|
field: "id",
|
|
2411
2420
|
message: n("consumer_groups.errors.copy")
|
|
2412
2421
|
});
|
|
2413
2422
|
return;
|
|
2414
2423
|
}
|
|
2415
2424
|
o("copy:success", {
|
|
2416
|
-
entity:
|
|
2425
|
+
entity: k,
|
|
2417
2426
|
field: "id",
|
|
2418
2427
|
message: n("consumer_groups.copy.success", { val: ee })
|
|
2419
2428
|
});
|
|
2420
|
-
}, x = (
|
|
2421
|
-
const ee = JSON.stringify(
|
|
2429
|
+
}, x = (k, J) => {
|
|
2430
|
+
const ee = JSON.stringify(k);
|
|
2422
2431
|
if (!J(ee)) {
|
|
2423
2432
|
o("copy:error", {
|
|
2424
|
-
entity:
|
|
2433
|
+
entity: k,
|
|
2425
2434
|
message: n("consumer_groups.errors.copy")
|
|
2426
2435
|
});
|
|
2427
2436
|
return;
|
|
2428
2437
|
}
|
|
2429
2438
|
o("copy:success", {
|
|
2430
|
-
entity:
|
|
2439
|
+
entity: k,
|
|
2431
2440
|
message: n("consumer_groups.copy.success_brief")
|
|
2432
2441
|
});
|
|
2433
|
-
}, G = async (
|
|
2442
|
+
}, G = async (k) => {
|
|
2434
2443
|
var ee;
|
|
2435
|
-
await ((ee = t.canRetrieve) == null ? void 0 : ee.call(t,
|
|
2436
|
-
}, D = (
|
|
2444
|
+
await ((ee = t.canRetrieve) == null ? void 0 : ee.call(t, k)) && r.push(t.config.getViewRoute(k.id));
|
|
2445
|
+
}, D = (k) => ({
|
|
2437
2446
|
label: n("consumer_groups.actions.view"),
|
|
2438
|
-
to: t.config.getViewRoute(
|
|
2439
|
-
}),
|
|
2447
|
+
to: t.config.getViewRoute(k)
|
|
2448
|
+
}), F = (k) => ({
|
|
2440
2449
|
label: n("consumer_groups.actions.edit"),
|
|
2441
|
-
to: t.config.getEditRoute(
|
|
2442
|
-
}), d = A(void 0),
|
|
2443
|
-
d.value =
|
|
2444
|
-
},
|
|
2445
|
-
|
|
2450
|
+
to: t.config.getEditRoute(k)
|
|
2451
|
+
}), d = A(void 0), h = A(!1), _ = A(!1), N = A(""), ne = yo(t.config, S.value), oe = (k) => {
|
|
2452
|
+
d.value = k, h.value = !0;
|
|
2453
|
+
}, Ie = () => {
|
|
2454
|
+
h.value = !1;
|
|
2446
2455
|
}, Ke = async () => {
|
|
2447
|
-
var
|
|
2448
|
-
if ((
|
|
2456
|
+
var k, J, ee;
|
|
2457
|
+
if ((k = d.value) != null && k.id) {
|
|
2449
2458
|
_.value = !0;
|
|
2450
2459
|
try {
|
|
2451
|
-
await
|
|
2460
|
+
await m.delete(ne(d.value.id)), _.value = !1, h.value = !1, w.value++, o("delete:success", d.value);
|
|
2452
2461
|
} catch (ie) {
|
|
2453
2462
|
N.value = ((ee = (J = ie.response) == null ? void 0 : J.data) == null ? void 0 : ee.message) || ie.message || n("consumer_groups.errors.delete"), o("error", ie);
|
|
2454
2463
|
} finally {
|
|
@@ -2459,75 +2468,75 @@ const De = (e, o) => {
|
|
|
2459
2468
|
be.value = !0;
|
|
2460
2469
|
}, i = () => {
|
|
2461
2470
|
be.value = !1;
|
|
2462
|
-
}, K = (
|
|
2463
|
-
J || i(), w.value++, o("add:success",
|
|
2471
|
+
}, K = (k, J) => {
|
|
2472
|
+
J || i(), w.value++, o("add:success", k);
|
|
2464
2473
|
}, Y = () => {
|
|
2465
|
-
|
|
2466
|
-
}, M = A(void 0), j = A(!1), se = A(""), ce = (
|
|
2467
|
-
M.value =
|
|
2474
|
+
y.value && Se();
|
|
2475
|
+
}, M = A(void 0), j = A(!1), se = A(""), ce = (k) => {
|
|
2476
|
+
M.value = k, j.value = !0;
|
|
2468
2477
|
}, ae = () => {
|
|
2469
2478
|
j.value = !1, M.value = void 0;
|
|
2470
|
-
}, _e =
|
|
2479
|
+
}, _e = C(() => {
|
|
2471
2480
|
var J, ee, ie, ye;
|
|
2472
|
-
let
|
|
2473
|
-
return t.config.app === "konnect" ?
|
|
2481
|
+
let k = `${t.config.apiBaseUrl}${ge.list[t.config.app].oneForConsumer}`;
|
|
2482
|
+
return t.config.app === "konnect" ? k = k.replace(/{controlPlaneId}/gi, ((J = t.config) == null ? void 0 : J.controlPlaneId) || "").replace(/{consumerId}/gi, ((ee = t.config) == null ? void 0 : ee.consumerId) || "") : t.config.app === "kongManager" && (k = k.replace(/\/{workspace}/gi, (ie = t.config) != null && ie.workspace ? `/${t.config.workspace}` : "").replace(/{consumerId}/gi, ((ye = t.config) == null ? void 0 : ye.consumerId) || "")), k;
|
|
2474
2483
|
}), $e = A(!1), mt = async () => {
|
|
2475
2484
|
if (M.value) {
|
|
2476
2485
|
$e.value = !0;
|
|
2477
2486
|
try {
|
|
2478
|
-
const
|
|
2479
|
-
await
|
|
2480
|
-
} catch (
|
|
2481
|
-
se.value =
|
|
2487
|
+
const k = _e.value.replace(/{consumerGroupId}/gi, M.value.id);
|
|
2488
|
+
await m.delete(k), o("remove:success", M.value), ae(), w.value++;
|
|
2489
|
+
} catch (k) {
|
|
2490
|
+
se.value = k.message || n("consumer_groups.errors.delete"), o("error", k);
|
|
2482
2491
|
} finally {
|
|
2483
2492
|
$e.value = !1;
|
|
2484
2493
|
}
|
|
2485
2494
|
}
|
|
2486
2495
|
};
|
|
2487
|
-
he(b, (
|
|
2488
|
-
if (
|
|
2489
|
-
|
|
2496
|
+
he(b, (k) => {
|
|
2497
|
+
if (k.status === ve.Error) {
|
|
2498
|
+
p.value = n("consumer_groups.errors.general"), o("error", k.error);
|
|
2490
2499
|
return;
|
|
2491
2500
|
}
|
|
2492
|
-
|
|
2501
|
+
p.value = "";
|
|
2493
2502
|
});
|
|
2494
|
-
const
|
|
2495
|
-
ctaPath:
|
|
2503
|
+
const Fe = A({
|
|
2504
|
+
ctaPath: y.value ? void 0 : t.config.createRoute,
|
|
2496
2505
|
ctaText: void 0,
|
|
2497
2506
|
message: n("consumer_groups.list.empty_state.description"),
|
|
2498
2507
|
title: n("consumer_groups.title")
|
|
2499
2508
|
});
|
|
2500
2509
|
return Te(async () => {
|
|
2501
|
-
await t.canCreate() && (
|
|
2502
|
-
}), (
|
|
2503
|
-
const ee =
|
|
2504
|
-
return u(), P("div",
|
|
2505
|
-
B(s(
|
|
2510
|
+
await t.canCreate() && (Fe.value.title = y.value ? n("consumer_groups.list.empty_state.title_for_consumer") : n("consumer_groups.list.empty_state.title"), Fe.value.ctaText = y.value ? n("consumer_groups.actions.add_to_group") : n("consumer_groups.actions.create"));
|
|
2511
|
+
}), (k, J) => {
|
|
2512
|
+
const ee = R("KButton"), ie = R("KBadge"), ye = R("KTruncate"), xe = R("KDropdownItem"), ze = R("KClipboardProvider"), ft = R("KPrompt");
|
|
2513
|
+
return u(), P("div", So, [
|
|
2514
|
+
B(s(Na), {
|
|
2506
2515
|
"cache-identifier": e.cacheIdentifier,
|
|
2507
|
-
"disable-pagination":
|
|
2516
|
+
"disable-pagination": y.value,
|
|
2508
2517
|
"disable-pagination-page-jump": "",
|
|
2509
2518
|
"disable-sorting": $.value,
|
|
2510
|
-
"empty-state-options":
|
|
2519
|
+
"empty-state-options": Fe.value,
|
|
2511
2520
|
"enable-entity-actions": "",
|
|
2512
|
-
"error-message":
|
|
2513
|
-
fetcher: s(
|
|
2521
|
+
"error-message": p.value,
|
|
2522
|
+
fetcher: s(g),
|
|
2514
2523
|
"fetcher-cache-key": w.value,
|
|
2515
2524
|
"pagination-type": "offset",
|
|
2516
2525
|
"preferences-storage-key": "kong-ui-entities-consumer-groups-list",
|
|
2517
2526
|
query: O.value,
|
|
2518
|
-
"row-attributes":
|
|
2519
|
-
"table-headers": s(
|
|
2520
|
-
onClearSearchInput:
|
|
2527
|
+
"row-attributes": E,
|
|
2528
|
+
"table-headers": s(I),
|
|
2529
|
+
onClearSearchInput: f,
|
|
2521
2530
|
"onClick:row": J[3] || (J[3] = (z) => G(z)),
|
|
2522
2531
|
onEmptyStateCtaClicked: Y,
|
|
2523
2532
|
onSort: L
|
|
2524
2533
|
}, {
|
|
2525
2534
|
"toolbar-filter": c(() => [
|
|
2526
|
-
|
|
2535
|
+
y.value ? Z("", !0) : (u(), H(s(io), {
|
|
2527
2536
|
key: 0,
|
|
2528
2537
|
modelValue: O.value,
|
|
2529
2538
|
"onUpdate:modelValue": J[0] || (J[0] = (z) => O.value = z),
|
|
2530
|
-
config:
|
|
2539
|
+
config: U.value
|
|
2531
2540
|
}, null, 8, ["modelValue", "config"]))
|
|
2532
2541
|
]),
|
|
2533
2542
|
"toolbar-button": c(() => [
|
|
@@ -2572,14 +2581,14 @@ const De = (e, o) => {
|
|
|
2572
2581
|
}, 1024))), 128))
|
|
2573
2582
|
]),
|
|
2574
2583
|
_: 2
|
|
2575
|
-
}, 1024)) : (u(), P("span",
|
|
2584
|
+
}, 1024)) : (u(), P("span", $o, "-"))
|
|
2576
2585
|
]),
|
|
2577
2586
|
actions: c(({ row: z }) => [
|
|
2578
|
-
B(
|
|
2587
|
+
B(ze, null, {
|
|
2579
2588
|
default: c(({ copyToClipboard: ke }) => [
|
|
2580
2589
|
B(xe, {
|
|
2581
2590
|
"data-testid": "action-entity-copy-id",
|
|
2582
|
-
onClick: (
|
|
2591
|
+
onClick: (gt) => q(z, ke)
|
|
2583
2592
|
}, {
|
|
2584
2593
|
default: c(() => [
|
|
2585
2594
|
W(T(s(n)("consumer_groups.actions.copy_id")), 1)
|
|
@@ -2589,11 +2598,11 @@ const De = (e, o) => {
|
|
|
2589
2598
|
]),
|
|
2590
2599
|
_: 2
|
|
2591
2600
|
}, 1024),
|
|
2592
|
-
B(
|
|
2601
|
+
B(ze, null, {
|
|
2593
2602
|
default: c(({ copyToClipboard: ke }) => [
|
|
2594
2603
|
B(xe, {
|
|
2595
2604
|
"data-testid": "action-entity-copy-json",
|
|
2596
|
-
onClick: (
|
|
2605
|
+
onClick: (gt) => x(z, ke)
|
|
2597
2606
|
}, {
|
|
2598
2607
|
default: c(() => [
|
|
2599
2608
|
W(T(s(n)("consumer_groups.actions.copy_json")), 1)
|
|
@@ -2621,7 +2630,7 @@ const De = (e, o) => {
|
|
|
2621
2630
|
default: c(() => [
|
|
2622
2631
|
B(xe, {
|
|
2623
2632
|
"data-testid": "action-entity-edit",
|
|
2624
|
-
item:
|
|
2633
|
+
item: F(z.id)
|
|
2625
2634
|
}, null, 8, ["item"])
|
|
2626
2635
|
]),
|
|
2627
2636
|
_: 2
|
|
@@ -2647,7 +2656,7 @@ const De = (e, o) => {
|
|
|
2647
2656
|
]),
|
|
2648
2657
|
_: 1
|
|
2649
2658
|
}, 8, ["cache-identifier", "disable-pagination", "disable-sorting", "empty-state-options", "error-message", "fetcher", "fetcher-cache-key", "query", "table-headers"]),
|
|
2650
|
-
B(s(
|
|
2659
|
+
B(s(za), {
|
|
2651
2660
|
"action-pending": _.value,
|
|
2652
2661
|
"data-testid": "delete-consumer-group-modal",
|
|
2653
2662
|
description: s(n)("consumer_groups.delete.description"),
|
|
@@ -2655,11 +2664,11 @@ const De = (e, o) => {
|
|
|
2655
2664
|
"entity-type": s(nt).ConsumerGroup,
|
|
2656
2665
|
error: N.value,
|
|
2657
2666
|
title: s(n)("consumer_groups.delete.title"),
|
|
2658
|
-
visible:
|
|
2659
|
-
onCancel:
|
|
2667
|
+
visible: h.value,
|
|
2668
|
+
onCancel: Ie,
|
|
2660
2669
|
onProceed: Ke
|
|
2661
2670
|
}, null, 8, ["action-pending", "description", "entity-name", "entity-type", "error", "title", "visible"]),
|
|
2662
|
-
e.config.consumerId ? (u(), H(
|
|
2671
|
+
e.config.consumerId ? (u(), H(Io, {
|
|
2663
2672
|
key: 0,
|
|
2664
2673
|
config: e.config,
|
|
2665
2674
|
"data-testid": "add-to-group-modal",
|
|
@@ -2668,7 +2677,7 @@ const De = (e, o) => {
|
|
|
2668
2677
|
"onAdd:success": J[5] || (J[5] = (z) => K(z)),
|
|
2669
2678
|
onCancel: i
|
|
2670
2679
|
}, null, 8, ["config", "visible"])) : Z("", !0),
|
|
2671
|
-
e.config.consumerId && M.value ? (u(), H(
|
|
2680
|
+
e.config.consumerId && M.value ? (u(), H(ft, {
|
|
2672
2681
|
key: 1,
|
|
2673
2682
|
"data-testid": "exit-group-modal",
|
|
2674
2683
|
"is-visible": j.value,
|
|
@@ -2704,10 +2713,10 @@ const De = (e, o) => {
|
|
|
2704
2713
|
};
|
|
2705
2714
|
}
|
|
2706
2715
|
});
|
|
2707
|
-
const
|
|
2716
|
+
const jo = /* @__PURE__ */ He(xo, [["__scopeId", "data-v-80c4522c"]]), To = { class: "kong-ui-entities-consumer-group-form" }, Ko = { class: "select-item-label" }, Bo = {
|
|
2708
2717
|
key: 0,
|
|
2709
2718
|
class: "select-item-desc"
|
|
2710
|
-
},
|
|
2719
|
+
}, Ao = /* @__PURE__ */ te({
|
|
2711
2720
|
__name: "ConsumerGroupForm",
|
|
2712
2721
|
props: {
|
|
2713
2722
|
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
@@ -2726,7 +2735,7 @@ const Lo = /* @__PURE__ */ De(To, [["__scopeId", "data-v-80c4522c"]]), Ko = { cl
|
|
|
2726
2735
|
emits: ["update", "error", "loading"],
|
|
2727
2736
|
setup(e, { emit: o }) {
|
|
2728
2737
|
var Ke, be, Se;
|
|
2729
|
-
const t = e, { i18n: { t: a } } = qe.useI18n(), n = je(), r =
|
|
2738
|
+
const t = e, { i18n: { t: a } } = qe.useI18n(), n = je(), r = We({
|
|
2730
2739
|
fields: {
|
|
2731
2740
|
name: "",
|
|
2732
2741
|
tags: "",
|
|
@@ -2734,38 +2743,38 @@ const Lo = /* @__PURE__ */ De(To, [["__scopeId", "data-v-80c4522c"]]), Ko = { cl
|
|
|
2734
2743
|
},
|
|
2735
2744
|
errorMessage: "",
|
|
2736
2745
|
readonly: !1
|
|
2737
|
-
}),
|
|
2746
|
+
}), m = We({
|
|
2738
2747
|
name: "",
|
|
2739
2748
|
tags: "",
|
|
2740
2749
|
consumers: []
|
|
2741
2750
|
}), {
|
|
2742
2751
|
debouncedQueryChange: w,
|
|
2743
|
-
loading:
|
|
2752
|
+
loading: y,
|
|
2744
2753
|
error: $,
|
|
2745
|
-
loadItems:
|
|
2746
|
-
results:
|
|
2747
|
-
} = pt(t.config, (be =
|
|
2754
|
+
loadItems: v,
|
|
2755
|
+
results: I
|
|
2756
|
+
} = pt(t.config, (be = ge.form[(Ke = t.config) == null ? void 0 : Ke.app]) == null ? void 0 : be.consumersList, "", {
|
|
2748
2757
|
fetchedItemsKey: "data",
|
|
2749
2758
|
searchKeys: ["username", "custom_id"]
|
|
2750
|
-
}), { axiosInstance:
|
|
2759
|
+
}), { axiosInstance: E } = De({
|
|
2751
2760
|
headers: (Se = t.config) == null ? void 0 : Se.requestHeaders
|
|
2752
|
-
}), { getMessageFromError: S } =
|
|
2761
|
+
}), { getMessageFromError: S } = vo(), O = C(() => I.value.map((i) => ({
|
|
2753
2762
|
label: i.username || i.custom_id,
|
|
2754
2763
|
value: i.id,
|
|
2755
2764
|
selected: r.fields.consumers.includes(i.id),
|
|
2756
2765
|
data: i
|
|
2757
2766
|
// we need this to determine whether or not to show the description text
|
|
2758
|
-
}))),
|
|
2767
|
+
}))), U = C(() => {
|
|
2759
2768
|
var i, K;
|
|
2760
|
-
return (K =
|
|
2761
|
-
}), l =
|
|
2769
|
+
return (K = ge.form[(i = t.config) == null ? void 0 : i.app]) == null ? void 0 : K.edit;
|
|
2770
|
+
}), l = C(() => t.consumerGroupId ? Me.Edit : Me.Create), g = C(() => !!r.fields.name && !G.value), b = C(() => JSON.stringify(r.fields) !== JSON.stringify(m)), f = (i, K = "", Y = "") => {
|
|
2762
2771
|
var j, se, ce, ae, _e, $e;
|
|
2763
|
-
let M = `${(j = t.config) == null ? void 0 : j.apiBaseUrl}${
|
|
2772
|
+
let M = `${(j = t.config) == null ? void 0 : j.apiBaseUrl}${ge.form[(se = t.config) == null ? void 0 : se.app][i]}`;
|
|
2764
2773
|
return ((ce = t.config) == null ? void 0 : ce.app) === "konnect" ? M = M.replace(/{controlPlaneId}/gi, ((ae = t.config) == null ? void 0 : ae.controlPlaneId) || "") : ((_e = t.config) == null ? void 0 : _e.app) === "kongManager" && (M = M.replace(/\/{workspace}/gi, ($e = t.config) != null && $e.workspace ? `/${t.config.workspace}` : "")), M = M.replace(/{id}/gi, K || t.consumerGroupId), (i === "addConsumer" || i === "removeConsumer") && (M = M.replace(/{consumerId}/gi, Y)), M;
|
|
2765
2774
|
}, L = () => {
|
|
2766
2775
|
var i;
|
|
2767
2776
|
n.push(((i = t.config) == null ? void 0 : i.cancelRoute) || { name: "consumer-group-list" });
|
|
2768
|
-
},
|
|
2777
|
+
}, p = (i) => {
|
|
2769
2778
|
o("error", i);
|
|
2770
2779
|
}, q = (i) => {
|
|
2771
2780
|
o("loading", i);
|
|
@@ -2777,53 +2786,53 @@ const Lo = /* @__PURE__ */ De(To, [["__scopeId", "data-v-80c4522c"]]), Ko = { cl
|
|
|
2777
2786
|
r.fields.consumers = ((se = i == null ? void 0 : i.consumers) == null ? void 0 : se.map((ae) => ae.id)) || [];
|
|
2778
2787
|
else
|
|
2779
2788
|
try {
|
|
2780
|
-
const { data: ae } = await
|
|
2789
|
+
const { data: ae } = await E.get(f("getConsumers"));
|
|
2781
2790
|
r.fields.consumers = "consumers" in ae ? (ce = ae == null ? void 0 : ae.consumers) == null ? void 0 : ce.map((_e) => _e.id) : [];
|
|
2782
2791
|
} catch (ae) {
|
|
2783
|
-
|
|
2792
|
+
h(ae);
|
|
2784
2793
|
}
|
|
2785
|
-
Object.assign(
|
|
2786
|
-
}, G =
|
|
2794
|
+
Object.assign(m, r.fields);
|
|
2795
|
+
}, G = C(() => /^[0-9a-zA-Z.\-_~]*$/.test(r.fields.name) ? "" : a("consumer_groups.form.validation_errors.name")), D = () => {
|
|
2787
2796
|
var i, K;
|
|
2788
2797
|
return {
|
|
2789
2798
|
name: r.fields.name,
|
|
2790
2799
|
tags: (K = (i = r.fields.tags.split(",")) == null ? void 0 : i.map((Y) => String(Y || "").trim())) == null ? void 0 : K.filter((Y) => Y !== "")
|
|
2791
2800
|
};
|
|
2792
|
-
},
|
|
2801
|
+
}, F = async (i, K = "") => await E.post(f("addConsumer", K, i), { consumer: i }), d = async (i, K = "") => await E.delete(f("removeConsumer", K, i)), h = (i) => {
|
|
2793
2802
|
r.errorMessage = S(i), o("error", i);
|
|
2794
2803
|
}, _ = (i = t.consumerGroupId) => {
|
|
2795
|
-
Object.assign(
|
|
2804
|
+
Object.assign(m, r.fields), o("update", { ...r.fields, id: i });
|
|
2796
2805
|
}, N = (i, K, Y = t.consumerGroupId) => {
|
|
2797
2806
|
const M = i == null ? void 0 : i.find((j) => j.status !== "fulfilled");
|
|
2798
|
-
M ?
|
|
2807
|
+
M ? h({
|
|
2799
2808
|
code: M.status,
|
|
2800
2809
|
message: K
|
|
2801
2810
|
}) : _(Y);
|
|
2802
2811
|
}, ne = async () => {
|
|
2803
2812
|
let i = "";
|
|
2804
2813
|
try {
|
|
2805
|
-
const { data: K } = await
|
|
2814
|
+
const { data: K } = await E.post(f("create"), D());
|
|
2806
2815
|
i = "item" in K ? K.item.id : K.id;
|
|
2807
2816
|
} catch (K) {
|
|
2808
|
-
|
|
2817
|
+
h(K);
|
|
2809
2818
|
}
|
|
2810
2819
|
if (r.fields.consumers.length > 0 && i)
|
|
2811
2820
|
try {
|
|
2812
|
-
const K = r.fields.consumers.map((M) =>
|
|
2821
|
+
const K = r.fields.consumers.map((M) => F(M, i)), Y = await Promise.allSettled(K);
|
|
2813
2822
|
N(Y, a("consumer_groups.errors.add_consumer"), i);
|
|
2814
2823
|
} catch (K) {
|
|
2815
|
-
|
|
2824
|
+
h(K);
|
|
2816
2825
|
}
|
|
2817
2826
|
else
|
|
2818
2827
|
r.fields.consumers.length === 0 && i && _(i);
|
|
2819
2828
|
}, oe = async () => {
|
|
2820
2829
|
var Y;
|
|
2821
2830
|
try {
|
|
2822
|
-
((Y = t.config) == null ? void 0 : Y.app) === "konnect" ? await
|
|
2831
|
+
((Y = t.config) == null ? void 0 : Y.app) === "konnect" ? await E.put(f("edit"), D()) : await E.patch(f("edit"), D());
|
|
2823
2832
|
} catch (M) {
|
|
2824
|
-
|
|
2833
|
+
h(M);
|
|
2825
2834
|
}
|
|
2826
|
-
const i = r.fields.consumers.filter((M) => !
|
|
2835
|
+
const i = r.fields.consumers.filter((M) => !m.consumers.includes(M)), K = m.consumers.filter((M) => !r.fields.consumers.includes(M));
|
|
2827
2836
|
if (K.length === 0 && i.length === 0)
|
|
2828
2837
|
_();
|
|
2829
2838
|
else {
|
|
@@ -2832,17 +2841,17 @@ const Lo = /* @__PURE__ */ De(To, [["__scopeId", "data-v-80c4522c"]]), Ko = { cl
|
|
|
2832
2841
|
const M = K.map((se) => d(se)), j = await Promise.allSettled(M);
|
|
2833
2842
|
N(j, a("consumer_groups.errors.remove_consumer"));
|
|
2834
2843
|
} catch (M) {
|
|
2835
|
-
|
|
2844
|
+
h(M);
|
|
2836
2845
|
}
|
|
2837
2846
|
if (i.length > 0)
|
|
2838
2847
|
try {
|
|
2839
|
-
const M = i.map((se) =>
|
|
2848
|
+
const M = i.map((se) => F(se)), j = await Promise.allSettled(M);
|
|
2840
2849
|
N(j, a("consumer_groups.errors.add_consumer"));
|
|
2841
2850
|
} catch (M) {
|
|
2842
|
-
|
|
2851
|
+
h(M);
|
|
2843
2852
|
}
|
|
2844
2853
|
}
|
|
2845
|
-
},
|
|
2854
|
+
}, Ie = async () => {
|
|
2846
2855
|
try {
|
|
2847
2856
|
r.readonly = !0, l.value === Me.Create ? await ne() : await oe();
|
|
2848
2857
|
} finally {
|
|
@@ -2850,25 +2859,25 @@ const Lo = /* @__PURE__ */ De(To, [["__scopeId", "data-v-80c4522c"]]), Ko = { cl
|
|
|
2850
2859
|
}
|
|
2851
2860
|
};
|
|
2852
2861
|
return Te(async () => {
|
|
2853
|
-
await
|
|
2862
|
+
await v();
|
|
2854
2863
|
}), (i, K) => {
|
|
2855
|
-
const Y =
|
|
2856
|
-
return u(), P("div",
|
|
2857
|
-
B(s(
|
|
2858
|
-
"can-submit":
|
|
2864
|
+
const Y = R("KInput"), M = R("KMultiselect");
|
|
2865
|
+
return u(), P("div", To, [
|
|
2866
|
+
B(s(qa), {
|
|
2867
|
+
"can-submit": g.value && b.value,
|
|
2859
2868
|
config: e.config,
|
|
2860
2869
|
"edit-id": e.consumerGroupId,
|
|
2861
2870
|
"error-message": r.errorMessage || s($) || G.value,
|
|
2862
|
-
"fetch-url":
|
|
2871
|
+
"fetch-url": U.value,
|
|
2863
2872
|
"is-readonly": r.readonly,
|
|
2864
2873
|
onCancel: L,
|
|
2865
|
-
"onFetch:error": K[3] || (K[3] = (j) =>
|
|
2874
|
+
"onFetch:error": K[3] || (K[3] = (j) => p(j)),
|
|
2866
2875
|
"onFetch:success": x,
|
|
2867
2876
|
onLoading: K[4] || (K[4] = (j) => q(j)),
|
|
2868
|
-
onSubmit:
|
|
2877
|
+
onSubmit: Ie
|
|
2869
2878
|
}, {
|
|
2870
2879
|
default: c(() => [
|
|
2871
|
-
B(s(
|
|
2880
|
+
B(s(ot), {
|
|
2872
2881
|
description: s(a)("consumer_groups.form.general_info.description"),
|
|
2873
2882
|
title: s(a)("consumer_groups.form.general_info.title")
|
|
2874
2883
|
}, {
|
|
@@ -2902,7 +2911,7 @@ const Lo = /* @__PURE__ */ De(To, [["__scopeId", "data-v-80c4522c"]]), Ko = { cl
|
|
|
2902
2911
|
]),
|
|
2903
2912
|
_: 1
|
|
2904
2913
|
}, 8, ["description", "title"]),
|
|
2905
|
-
B(s(
|
|
2914
|
+
B(s(ot), {
|
|
2906
2915
|
description: s(a)("consumer_groups.form.consumers.description"),
|
|
2907
2916
|
"has-divider": "",
|
|
2908
2917
|
title: s(a)("consumer_groups.form.consumers.title")
|
|
@@ -2916,7 +2925,7 @@ const Lo = /* @__PURE__ */ De(To, [["__scopeId", "data-v-80c4522c"]]), Ko = { cl
|
|
|
2916
2925
|
"expand-selected": "",
|
|
2917
2926
|
items: O.value,
|
|
2918
2927
|
label: s(a)("consumer_groups.form.fields.consumers.label"),
|
|
2919
|
-
loading: s(
|
|
2928
|
+
loading: s(y),
|
|
2920
2929
|
placeholder: s(a)("consumer_groups.form.fields.consumers.placeholder"),
|
|
2921
2930
|
width: "auto",
|
|
2922
2931
|
onQueryChange: s(w)
|
|
@@ -2924,8 +2933,8 @@ const Lo = /* @__PURE__ */ De(To, [["__scopeId", "data-v-80c4522c"]]), Ko = { cl
|
|
|
2924
2933
|
"item-template": c(({ item: j }) => {
|
|
2925
2934
|
var se, ce, ae;
|
|
2926
2935
|
return [
|
|
2927
|
-
V("div",
|
|
2928
|
-
(se = j == null ? void 0 : j.data) != null && se.username && ((ce = j == null ? void 0 : j.data) != null && ce.custom_id) ? (u(), P("div",
|
|
2936
|
+
V("div", Ko, T(j.label), 1),
|
|
2937
|
+
(se = j == null ? void 0 : j.data) != null && se.username && ((ce = j == null ? void 0 : j.data) != null && ce.custom_id) ? (u(), P("div", Bo, T((ae = j == null ? void 0 : j.data) == null ? void 0 : ae.custom_id), 1)) : Z("", !0)
|
|
2929
2938
|
];
|
|
2930
2939
|
}),
|
|
2931
2940
|
_: 1
|
|
@@ -2940,7 +2949,7 @@ const Lo = /* @__PURE__ */ De(To, [["__scopeId", "data-v-80c4522c"]]), Ko = { cl
|
|
|
2940
2949
|
};
|
|
2941
2950
|
}
|
|
2942
2951
|
});
|
|
2943
|
-
const
|
|
2952
|
+
const Lo = /* @__PURE__ */ He(Ao, [["__scopeId", "data-v-2da12897"]]), Po = { class: "kong-ui-consumer-group-entity-config-card" }, Go = /* @__PURE__ */ te({
|
|
2944
2953
|
__name: "ConsumerGroupConfigCard",
|
|
2945
2954
|
props: {
|
|
2946
2955
|
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
@@ -2959,7 +2968,7 @@ const Go = /* @__PURE__ */ De(Po, [["__scopeId", "data-v-2da12897"]]), Mo = { cl
|
|
|
2959
2968
|
},
|
|
2960
2969
|
emits: ["loading", "fetch:error", "fetch:success", "copy:success"],
|
|
2961
2970
|
setup(e) {
|
|
2962
|
-
const o = e, { i18n: { t } } = qe.useI18n(), a =
|
|
2971
|
+
const o = e, { i18n: { t } } = qe.useI18n(), a = C(() => ge.form[o.config.app].edit), n = A({
|
|
2963
2972
|
id: {},
|
|
2964
2973
|
name: {},
|
|
2965
2974
|
created_at: {},
|
|
@@ -2968,23 +2977,23 @@ const Go = /* @__PURE__ */ De(Po, [["__scopeId", "data-v-2da12897"]]), Mo = { cl
|
|
|
2968
2977
|
tooltip: t("consumer_groups.form.fields.tags.tooltip")
|
|
2969
2978
|
}
|
|
2970
2979
|
});
|
|
2971
|
-
return (r,
|
|
2972
|
-
B(s(
|
|
2980
|
+
return (r, m) => (u(), P("div", Po, [
|
|
2981
|
+
B(s(Pa), {
|
|
2973
2982
|
config: e.config,
|
|
2974
2983
|
"config-schema": n.value,
|
|
2975
2984
|
"data-key": "consumer_group",
|
|
2976
2985
|
"fetch-url": a.value,
|
|
2977
2986
|
"hide-title": e.hideTitle,
|
|
2978
|
-
"onCopy:success":
|
|
2979
|
-
"onFetch:error":
|
|
2980
|
-
"onFetch:success":
|
|
2981
|
-
onLoading:
|
|
2987
|
+
"onCopy:success": m[0] || (m[0] = (w) => r.$emit("copy:success", w)),
|
|
2988
|
+
"onFetch:error": m[1] || (m[1] = (w) => r.$emit("fetch:error", w)),
|
|
2989
|
+
"onFetch:success": m[2] || (m[2] = (w) => r.$emit("fetch:success", w)),
|
|
2990
|
+
onLoading: m[3] || (m[3] = (w) => r.$emit("loading", w))
|
|
2982
2991
|
}, null, 8, ["config", "config-schema", "fetch-url", "hide-title"])
|
|
2983
2992
|
]));
|
|
2984
2993
|
}
|
|
2985
2994
|
});
|
|
2986
2995
|
export {
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
2996
|
+
Go as ConsumerGroupConfigCard,
|
|
2997
|
+
Lo as ConsumerGroupForm,
|
|
2998
|
+
jo as ConsumerGroupList
|
|
2990
2999
|
};
|