@kong-ui-public/entities-key-sets 3.7.30-pr.2114.d6a8378f0.0 → 3.7.30
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
|
|
2
|
-
import { BookIcon as
|
|
3
|
-
import { useRouter as
|
|
4
|
-
import { createI18n as
|
|
5
|
-
import { useAxios as
|
|
6
|
-
const
|
|
1
|
+
import { defineComponent as W, computed as v, ref as C, watch as Ie, onBeforeMount as we, resolveComponent as T, openBlock as K, createElementBlock as Q, createVNode as i, unref as n, createSlots as te, withCtx as l, createBlock as J, Teleport as ae, createElementVNode as z, createCommentVNode as Ee, createTextVNode as F, toDisplayString as $, reactive as ne } from "vue";
|
|
2
|
+
import { BookIcon as oe, AddIcon as $e, KeyIcon as Ke } from "@kong/icons";
|
|
3
|
+
import { useRouter as ie } from "vue-router";
|
|
4
|
+
import { createI18n as _e, i18nTComponent as Me } from "@kong-ui-public/i18n";
|
|
5
|
+
import { useAxios as re, useTableState as De, useFetcher as Re, useDeleteUrlBuilder as Fe, FetcherStatus as Te, EntityBaseTable as Be, EntityFilter as Ve, PermissionsWrapper as U, TableTags as Oe, EntityEmptyState as xe, EntityDeleteModal as Ae, EntityTypes as Ue, useErrors as qe, EntityBaseFormType as se, EntityBaseForm as Ne, SupportedEntityType as le, EntityFormSection as Pe, EntityBaseConfigCard as je } from "@kong-ui-public/entities-shared";
|
|
6
|
+
const Le = {
|
|
7
7
|
title: "Key Sets",
|
|
8
8
|
list: {
|
|
9
9
|
toolbar_actions: {
|
|
@@ -71,34 +71,34 @@ const je = {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
}, Je = {
|
|
74
|
-
keySets:
|
|
74
|
+
keySets: Le
|
|
75
75
|
};
|
|
76
|
-
function
|
|
77
|
-
const e =
|
|
76
|
+
function ze() {
|
|
77
|
+
const e = _e("en-us", Je);
|
|
78
78
|
return {
|
|
79
79
|
i18n: e,
|
|
80
|
-
i18nT:
|
|
80
|
+
i18nT: Me(e)
|
|
81
81
|
// Translation component <i18n-t>
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
|
-
const
|
|
85
|
-
useI18n:
|
|
86
|
-
},
|
|
84
|
+
const X = {
|
|
85
|
+
useI18n: ze
|
|
86
|
+
}, H = "/v2/control-planes/{controlPlaneId}/core-entities", G = "/{workspace}", q = {
|
|
87
87
|
list: {
|
|
88
|
-
konnect: `${
|
|
88
|
+
konnect: `${H}/key-sets`,
|
|
89
89
|
kongManager: `${G}/key-sets`
|
|
90
90
|
},
|
|
91
91
|
form: {
|
|
92
92
|
konnect: {
|
|
93
|
-
create: `${
|
|
94
|
-
edit: `${
|
|
93
|
+
create: `${H}/key-sets`,
|
|
94
|
+
edit: `${H}/key-sets/{id}`
|
|
95
95
|
},
|
|
96
96
|
kongManager: {
|
|
97
97
|
create: `${G}/key-sets`,
|
|
98
98
|
edit: `${G}/key-sets/{id}`
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
-
},
|
|
101
|
+
}, He = "#00abd2", Ge = "24px", We = { class: "kong-ui-entities-key-sets-list" }, Qe = { class: "button-row" }, Xe = { class: "empty-state-icon-gateway" }, Ze = /* @__PURE__ */ W({
|
|
102
102
|
__name: "KeySetList",
|
|
103
103
|
props: {
|
|
104
104
|
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
@@ -140,49 +140,57 @@ const Q = {
|
|
|
140
140
|
useActionOutside: {
|
|
141
141
|
type: Boolean,
|
|
142
142
|
default: !1
|
|
143
|
+
},
|
|
144
|
+
/**
|
|
145
|
+
* Enables the new empty state design, this prop can be removed when
|
|
146
|
+
* the khcp-14756-empty-states-m2 FF is removed.
|
|
147
|
+
*/
|
|
148
|
+
enableV2EmptyStates: {
|
|
149
|
+
type: Boolean,
|
|
150
|
+
default: !1
|
|
143
151
|
}
|
|
144
152
|
},
|
|
145
153
|
emits: ["error", "click:learn-more", "copy:success", "copy:error", "delete:success"],
|
|
146
154
|
setup(e, { emit: I }) {
|
|
147
|
-
var
|
|
148
|
-
const m = I, t = e, { i18n: { t: o } } =
|
|
155
|
+
var Y;
|
|
156
|
+
const m = I, t = e, { i18n: { t: o } } = X.useI18n(), g = ie(), { axiosInstance: h } = re((Y = t.config) == null ? void 0 : Y.axiosRequestConfig), { hasRecords: k, handleStateChange: N } = De(() => b.value), _ = v(() => k.value && t.config.app === "konnect"), c = v(() => !t.enableV2EmptyStates && t.config.app === "konnect"), M = v(() => t.config.app !== "kongManager" || !!t.config.disableSorting), B = {
|
|
149
157
|
// the Name column is non-hidable
|
|
150
158
|
name: { label: o("keySets.list.table_headers.name"), searchable: !0, sortable: !0, hidable: !1 },
|
|
151
159
|
tags: { label: o("keySets.list.table_headers.tags") },
|
|
152
160
|
id: { label: o("keySets.list.table_headers.id"), sortable: !0 }
|
|
153
|
-
}, P =
|
|
161
|
+
}, P = B, V = v(() => {
|
|
154
162
|
var s, p;
|
|
155
|
-
let a = `${t.config.apiBaseUrl}${
|
|
163
|
+
let a = `${t.config.apiBaseUrl}${q.list[t.config.app]}`;
|
|
156
164
|
return t.config.app === "konnect" ? a = a.replace(/{controlPlaneId}/gi, ((s = t.config) == null ? void 0 : s.controlPlaneId) || "") : t.config.app === "kongManager" && (a = a.replace(/\/{workspace}/gi, (p = t.config) != null && p.workspace ? `/${t.config.workspace}` : "")), a;
|
|
157
|
-
}),
|
|
165
|
+
}), b = C(""), E = v(() => {
|
|
158
166
|
const a = t.config.app === "konnect" || t.config.isExactMatch;
|
|
159
167
|
if (a)
|
|
160
168
|
return {
|
|
161
169
|
isExactMatch: a,
|
|
162
170
|
placeholder: o("keySets.search.placeholder")
|
|
163
171
|
};
|
|
164
|
-
const s = { name:
|
|
172
|
+
const s = { name: B.name };
|
|
165
173
|
return {
|
|
166
174
|
isExactMatch: a,
|
|
167
175
|
fields: s,
|
|
168
176
|
schema: t.config.filterSchema
|
|
169
177
|
};
|
|
170
178
|
}), {
|
|
171
|
-
fetcher:
|
|
172
|
-
fetcherState:
|
|
173
|
-
fetcherCacheKey:
|
|
174
|
-
} =
|
|
175
|
-
|
|
176
|
-
},
|
|
177
|
-
|
|
178
|
-
},
|
|
179
|
+
fetcher: j,
|
|
180
|
+
fetcherState: O,
|
|
181
|
+
fetcherCacheKey: r
|
|
182
|
+
} = Re(v(() => ({ ...t.config, cacheIdentifier: t.cacheIdentifier })), V), y = () => {
|
|
183
|
+
b.value = "";
|
|
184
|
+
}, f = () => {
|
|
185
|
+
r.value++;
|
|
186
|
+
}, d = C(null), de = async (a, s) => {
|
|
179
187
|
const p = a.id;
|
|
180
188
|
if (!await s(p)) {
|
|
181
|
-
|
|
189
|
+
fe(a, "id");
|
|
182
190
|
return;
|
|
183
191
|
}
|
|
184
|
-
|
|
185
|
-
},
|
|
192
|
+
ye(a, "id");
|
|
193
|
+
}, ue = async (a, s) => {
|
|
186
194
|
const p = JSON.stringify(a);
|
|
187
195
|
if (!await s(p)) {
|
|
188
196
|
m("copy:error", {
|
|
@@ -195,98 +203,98 @@ const Q = {
|
|
|
195
203
|
entity: a,
|
|
196
204
|
message: o("keySets.copy.success_brief")
|
|
197
205
|
});
|
|
198
|
-
},
|
|
206
|
+
}, ye = (a, s) => {
|
|
199
207
|
m("copy:success", {
|
|
200
208
|
entity: a,
|
|
201
209
|
field: s,
|
|
202
210
|
message: o("keySets.copy.success", { val: a[s] })
|
|
203
211
|
});
|
|
204
|
-
},
|
|
212
|
+
}, fe = (a, s) => {
|
|
205
213
|
m("copy:error", {
|
|
206
214
|
entity: a,
|
|
207
215
|
field: s,
|
|
208
216
|
message: o("keySets.errors.copy")
|
|
209
217
|
});
|
|
210
|
-
},
|
|
218
|
+
}, pe = async (a) => {
|
|
211
219
|
var p;
|
|
212
220
|
await ((p = t.canRetrieve) == null ? void 0 : p.call(t, a)) && g.push(t.config.getViewRoute(a.id));
|
|
213
|
-
},
|
|
221
|
+
}, me = (a) => ({
|
|
214
222
|
label: o("keySets.actions.view"),
|
|
215
223
|
to: t.config.getViewRoute(a)
|
|
216
|
-
}),
|
|
224
|
+
}), ge = (a) => ({
|
|
217
225
|
label: o("keySets.actions.edit"),
|
|
218
226
|
to: t.config.getEditRoute(a)
|
|
219
|
-
}), w = C(void 0), x = C(!1),
|
|
227
|
+
}), w = C(void 0), x = C(!1), A = C(!1), Z = C(""), ke = Fe(t.config, V.value), ve = (a) => {
|
|
220
228
|
w.value = a, x.value = !0;
|
|
221
|
-
},
|
|
229
|
+
}, he = () => {
|
|
222
230
|
x.value = !1;
|
|
223
|
-
},
|
|
231
|
+
}, be = async () => {
|
|
224
232
|
var a, s, p;
|
|
225
233
|
if ((a = w.value) != null && a.id) {
|
|
226
|
-
|
|
234
|
+
A.value = !0;
|
|
227
235
|
try {
|
|
228
|
-
await
|
|
229
|
-
} catch (
|
|
230
|
-
|
|
236
|
+
await h.delete(ke(w.value.id)), A.value = !1, x.value = !1, r.value++, m("delete:success", w.value);
|
|
237
|
+
} catch (S) {
|
|
238
|
+
Z.value = ((p = (s = S.response) == null ? void 0 : s.data) == null ? void 0 : p.message) || S.message || o("keySets.errors.delete"), m("error", S);
|
|
231
239
|
} finally {
|
|
232
|
-
|
|
240
|
+
A.value = !1;
|
|
233
241
|
}
|
|
234
242
|
}
|
|
235
|
-
},
|
|
243
|
+
}, Se = () => {
|
|
236
244
|
g.push(t.config.createRoute);
|
|
237
245
|
};
|
|
238
|
-
|
|
239
|
-
var s, p,
|
|
240
|
-
if (a.status ===
|
|
241
|
-
|
|
246
|
+
Ie(O, (a) => {
|
|
247
|
+
var s, p, S;
|
|
248
|
+
if (a.status === Te.Error) {
|
|
249
|
+
d.value = {
|
|
242
250
|
title: o("keySets.errors.general")
|
|
243
|
-
}, (
|
|
251
|
+
}, (S = (p = (s = a.error) == null ? void 0 : s.response) == null ? void 0 : p.data) != null && S.message && (d.value.message = a.error.response.data.message), m("error", a.error);
|
|
244
252
|
return;
|
|
245
253
|
}
|
|
246
|
-
|
|
254
|
+
d.value = null;
|
|
247
255
|
});
|
|
248
|
-
const
|
|
256
|
+
const L = C({
|
|
249
257
|
ctaPath: t.config.createRoute,
|
|
250
258
|
ctaText: void 0,
|
|
251
259
|
message: `${o("keySets.list.empty_state.description")}${t.config.additionMessageForEmptyState ? ` ${t.config.additionMessageForEmptyState}` : ""}`,
|
|
252
260
|
title: o("keySets.title")
|
|
253
261
|
});
|
|
254
|
-
return
|
|
255
|
-
await t.canCreate() && (
|
|
262
|
+
return we(async () => {
|
|
263
|
+
await t.canCreate() && (L.value.title = o("keySets.list.empty_state.title"), L.value.ctaText = o("keySets.actions.create"));
|
|
256
264
|
}), (a, s) => {
|
|
257
|
-
const p =
|
|
258
|
-
return
|
|
259
|
-
i(n(
|
|
265
|
+
const p = T("KButton"), S = T("KCopy"), D = T("KDropdownItem"), ee = T("KClipboardProvider");
|
|
266
|
+
return K(), Q("div", We, [
|
|
267
|
+
i(n(Be), {
|
|
260
268
|
"cache-identifier": e.cacheIdentifier,
|
|
261
|
-
"disable-sorting":
|
|
262
|
-
"empty-state-options":
|
|
269
|
+
"disable-sorting": M.value,
|
|
270
|
+
"empty-state-options": L.value,
|
|
263
271
|
"enable-entity-actions": "",
|
|
264
|
-
"error-message":
|
|
265
|
-
fetcher: n(
|
|
266
|
-
"fetcher-cache-key": n(
|
|
272
|
+
"error-message": d.value,
|
|
273
|
+
fetcher: n(j),
|
|
274
|
+
"fetcher-cache-key": n(r),
|
|
267
275
|
"pagination-type": "offset",
|
|
268
276
|
"preferences-storage-key": "kong-ui-entities-key-sets-list",
|
|
269
|
-
query:
|
|
277
|
+
query: b.value,
|
|
270
278
|
"table-headers": n(P),
|
|
271
|
-
onClearSearchInput:
|
|
272
|
-
"onClick:row": s[
|
|
273
|
-
onSort:
|
|
279
|
+
onClearSearchInput: y,
|
|
280
|
+
"onClick:row": s[4] || (s[4] = (u) => pe(u)),
|
|
281
|
+
onSort: f,
|
|
274
282
|
onState: n(N)
|
|
275
|
-
},
|
|
276
|
-
"toolbar-filter":
|
|
277
|
-
i(n(
|
|
278
|
-
modelValue:
|
|
279
|
-
"onUpdate:modelValue": s[0] || (s[0] = (u) =>
|
|
280
|
-
config:
|
|
283
|
+
}, te({
|
|
284
|
+
"toolbar-filter": l(() => [
|
|
285
|
+
i(n(Ve), {
|
|
286
|
+
modelValue: b.value,
|
|
287
|
+
"onUpdate:modelValue": s[0] || (s[0] = (u) => b.value = u),
|
|
288
|
+
config: E.value
|
|
281
289
|
}, null, 8, ["modelValue", "config"])
|
|
282
290
|
]),
|
|
283
|
-
"toolbar-button":
|
|
284
|
-
(
|
|
291
|
+
"toolbar-button": l(() => [
|
|
292
|
+
(K(), J(ae, {
|
|
285
293
|
disabled: !e.useActionOutside,
|
|
286
294
|
to: "#kong-ui-app-page-header-action-button"
|
|
287
295
|
}, [
|
|
288
|
-
|
|
289
|
-
|
|
296
|
+
z("div", Qe, [
|
|
297
|
+
_.value ? (K(), J(p, {
|
|
290
298
|
key: 0,
|
|
291
299
|
appearance: "secondary",
|
|
292
300
|
class: "open-learning-hub",
|
|
@@ -294,24 +302,24 @@ const Q = {
|
|
|
294
302
|
icon: "",
|
|
295
303
|
onClick: s[1] || (s[1] = (u) => a.$emit("click:learn-more"))
|
|
296
304
|
}, {
|
|
297
|
-
default:
|
|
298
|
-
i(n(
|
|
305
|
+
default: l(() => [
|
|
306
|
+
i(n(oe), { decorative: "" })
|
|
299
307
|
]),
|
|
300
308
|
_: 1
|
|
301
|
-
})) :
|
|
302
|
-
i(n(
|
|
309
|
+
})) : Ee("", !0),
|
|
310
|
+
i(n(U), {
|
|
303
311
|
"auth-function": () => e.canCreate()
|
|
304
312
|
}, {
|
|
305
|
-
default:
|
|
313
|
+
default: l(() => [
|
|
306
314
|
i(p, {
|
|
307
315
|
appearance: "primary",
|
|
308
316
|
"data-testid": "toolbar-add-key-set",
|
|
309
317
|
size: e.useActionOutside ? "medium" : "large",
|
|
310
318
|
to: e.config.createRoute
|
|
311
319
|
}, {
|
|
312
|
-
default:
|
|
313
|
-
i(n(
|
|
314
|
-
|
|
320
|
+
default: l(() => [
|
|
321
|
+
i(n($e)),
|
|
322
|
+
F(" " + $(n(o)("keySets.list.toolbar_actions.new_key_set")), 1)
|
|
315
323
|
]),
|
|
316
324
|
_: 1
|
|
317
325
|
}, 8, ["size", "to"])
|
|
@@ -321,82 +329,82 @@ const Q = {
|
|
|
321
329
|
])
|
|
322
330
|
], 8, ["disabled"]))
|
|
323
331
|
]),
|
|
324
|
-
name:
|
|
325
|
-
|
|
332
|
+
name: l(({ rowValue: u }) => [
|
|
333
|
+
z("b", null, $(u ?? "-"), 1)
|
|
326
334
|
]),
|
|
327
|
-
tags:
|
|
335
|
+
tags: l(({ rowValue: u }) => [
|
|
328
336
|
i(n(Oe), { tags: u }, null, 8, ["tags"])
|
|
329
337
|
]),
|
|
330
|
-
id:
|
|
331
|
-
i(
|
|
338
|
+
id: l(({ rowValue: u }) => [
|
|
339
|
+
i(S, {
|
|
332
340
|
text: u,
|
|
333
341
|
truncate: ""
|
|
334
342
|
}, null, 8, ["text"])
|
|
335
343
|
]),
|
|
336
|
-
actions:
|
|
337
|
-
i(
|
|
338
|
-
default:
|
|
339
|
-
i(
|
|
344
|
+
actions: l(({ row: u }) => [
|
|
345
|
+
i(ee, null, {
|
|
346
|
+
default: l(({ copyToClipboard: R }) => [
|
|
347
|
+
i(D, {
|
|
340
348
|
"data-testid": "action-entity-copy-id",
|
|
341
|
-
onClick: (
|
|
349
|
+
onClick: (Ce) => de(u, R)
|
|
342
350
|
}, {
|
|
343
|
-
default:
|
|
344
|
-
|
|
351
|
+
default: l(() => [
|
|
352
|
+
F($(n(o)("keySets.actions.copy_id")), 1)
|
|
345
353
|
]),
|
|
346
354
|
_: 2
|
|
347
355
|
}, 1032, ["onClick"])
|
|
348
356
|
]),
|
|
349
357
|
_: 2
|
|
350
358
|
}, 1024),
|
|
351
|
-
i(
|
|
352
|
-
default:
|
|
353
|
-
i(
|
|
359
|
+
i(ee, null, {
|
|
360
|
+
default: l(({ copyToClipboard: R }) => [
|
|
361
|
+
i(D, {
|
|
354
362
|
"data-testid": "action-entity-copy-json",
|
|
355
|
-
onClick: (
|
|
363
|
+
onClick: (Ce) => ue(u, R)
|
|
356
364
|
}, {
|
|
357
|
-
default:
|
|
358
|
-
|
|
365
|
+
default: l(() => [
|
|
366
|
+
F($(n(o)("keySets.actions.copy_json")), 1)
|
|
359
367
|
]),
|
|
360
368
|
_: 2
|
|
361
369
|
}, 1032, ["onClick"])
|
|
362
370
|
]),
|
|
363
371
|
_: 2
|
|
364
372
|
}, 1024),
|
|
365
|
-
i(n(
|
|
373
|
+
i(n(U), {
|
|
366
374
|
"auth-function": () => e.canRetrieve(u)
|
|
367
375
|
}, {
|
|
368
|
-
default:
|
|
369
|
-
i(
|
|
376
|
+
default: l(() => [
|
|
377
|
+
i(D, {
|
|
370
378
|
"data-testid": "action-entity-view",
|
|
371
379
|
"has-divider": "",
|
|
372
|
-
item:
|
|
380
|
+
item: me(u.id)
|
|
373
381
|
}, null, 8, ["item"])
|
|
374
382
|
]),
|
|
375
383
|
_: 2
|
|
376
384
|
}, 1032, ["auth-function"]),
|
|
377
|
-
i(n(
|
|
385
|
+
i(n(U), {
|
|
378
386
|
"auth-function": () => e.canEdit(u)
|
|
379
387
|
}, {
|
|
380
|
-
default:
|
|
381
|
-
i(
|
|
388
|
+
default: l(() => [
|
|
389
|
+
i(D, {
|
|
382
390
|
"data-testid": "action-entity-edit",
|
|
383
|
-
item:
|
|
391
|
+
item: ge(u.id)
|
|
384
392
|
}, null, 8, ["item"])
|
|
385
393
|
]),
|
|
386
394
|
_: 2
|
|
387
395
|
}, 1032, ["auth-function"]),
|
|
388
|
-
i(n(
|
|
396
|
+
i(n(U), {
|
|
389
397
|
"auth-function": () => e.canDelete(u)
|
|
390
398
|
}, {
|
|
391
|
-
default:
|
|
392
|
-
i(
|
|
399
|
+
default: l(() => [
|
|
400
|
+
i(D, {
|
|
393
401
|
danger: "",
|
|
394
402
|
"data-testid": "action-entity-delete",
|
|
395
403
|
"has-divider": "",
|
|
396
|
-
onClick: (
|
|
404
|
+
onClick: (R) => ve(u)
|
|
397
405
|
}, {
|
|
398
|
-
default:
|
|
399
|
-
|
|
406
|
+
default: l(() => [
|
|
407
|
+
F($(n(o)("keySets.actions.delete")), 1)
|
|
400
408
|
]),
|
|
401
409
|
_: 2
|
|
402
410
|
}, 1032, ["onClick"])
|
|
@@ -406,12 +414,35 @@ const Q = {
|
|
|
406
414
|
]),
|
|
407
415
|
_: 2
|
|
408
416
|
}, [
|
|
409
|
-
!
|
|
417
|
+
!n(k) && c.value ? {
|
|
418
|
+
name: "outside-actions",
|
|
419
|
+
fn: l(() => [
|
|
420
|
+
(K(), J(ae, {
|
|
421
|
+
disabled: !e.useActionOutside,
|
|
422
|
+
to: "#kong-ui-app-page-header-action-button"
|
|
423
|
+
}, [
|
|
424
|
+
i(p, {
|
|
425
|
+
appearance: "secondary",
|
|
426
|
+
class: "open-learning-hub",
|
|
427
|
+
"data-testid": "keys-set-learn-more-button",
|
|
428
|
+
icon: "",
|
|
429
|
+
onClick: s[2] || (s[2] = (u) => a.$emit("click:learn-more"))
|
|
430
|
+
}, {
|
|
431
|
+
default: l(() => [
|
|
432
|
+
i(n(oe), { decorative: "" })
|
|
433
|
+
]),
|
|
434
|
+
_: 1
|
|
435
|
+
})
|
|
436
|
+
], 8, ["disabled"]))
|
|
437
|
+
]),
|
|
438
|
+
key: "0"
|
|
439
|
+
} : void 0,
|
|
440
|
+
!b.value && e.enableV2EmptyStates && e.config.app === "konnect" ? {
|
|
410
441
|
name: "empty-state",
|
|
411
|
-
fn:
|
|
442
|
+
fn: l(() => {
|
|
412
443
|
var u;
|
|
413
444
|
return [
|
|
414
|
-
i(n(
|
|
445
|
+
i(n(xe), {
|
|
415
446
|
"action-button-text": n(o)("keySets.list.empty_state_v2.create_cta"),
|
|
416
447
|
appearance: "secondary",
|
|
417
448
|
"can-create": () => e.canCreate(),
|
|
@@ -419,13 +450,13 @@ const Q = {
|
|
|
419
450
|
description: n(o)("keySets.list.empty_state_v2.description"),
|
|
420
451
|
"learn-more": e.config.app === "konnect",
|
|
421
452
|
title: n(o)("keySets.list.empty_state_v2.title"),
|
|
422
|
-
"onClick:create":
|
|
423
|
-
"onClick:learnMore": s[
|
|
424
|
-
},
|
|
425
|
-
image:
|
|
426
|
-
|
|
427
|
-
i(n(
|
|
428
|
-
color: n(
|
|
453
|
+
"onClick:create": Se,
|
|
454
|
+
"onClick:learnMore": s[3] || (s[3] = (R) => a.$emit("click:learn-more"))
|
|
455
|
+
}, te({
|
|
456
|
+
image: l(() => [
|
|
457
|
+
z("div", Xe, [
|
|
458
|
+
i(n(Ke), {
|
|
459
|
+
color: n(He),
|
|
429
460
|
size: n(Ge)
|
|
430
461
|
}, null, 8, ["color", "size"])
|
|
431
462
|
])
|
|
@@ -434,37 +465,37 @@ const Q = {
|
|
|
434
465
|
}, [
|
|
435
466
|
(u = e.config) != null && u.isControlPlaneGroup ? {
|
|
436
467
|
name: "message",
|
|
437
|
-
fn:
|
|
438
|
-
|
|
468
|
+
fn: l(() => [
|
|
469
|
+
F($(n(o)("keySets.list.empty_state_v2.group")), 1)
|
|
439
470
|
]),
|
|
440
471
|
key: "0"
|
|
441
472
|
} : void 0
|
|
442
473
|
]), 1032, ["action-button-text", "can-create", "description", "learn-more", "title"])
|
|
443
474
|
];
|
|
444
475
|
}),
|
|
445
|
-
key: "
|
|
476
|
+
key: "1"
|
|
446
477
|
} : void 0
|
|
447
478
|
]), 1032, ["cache-identifier", "disable-sorting", "empty-state-options", "error-message", "fetcher", "fetcher-cache-key", "query", "table-headers", "onState"]),
|
|
448
|
-
i(n(
|
|
449
|
-
"action-pending":
|
|
479
|
+
i(n(Ae), {
|
|
480
|
+
"action-pending": A.value,
|
|
450
481
|
description: n(o)("keySets.delete.description"),
|
|
451
482
|
"entity-name": w.value && (w.value.name || w.value.id),
|
|
452
483
|
"entity-type": n(Ue).KeySet,
|
|
453
|
-
error:
|
|
484
|
+
error: Z.value,
|
|
454
485
|
title: n(o)("keySets.delete.title"),
|
|
455
486
|
visible: x.value,
|
|
456
|
-
onCancel:
|
|
457
|
-
onProceed:
|
|
487
|
+
onCancel: he,
|
|
488
|
+
onProceed: be
|
|
458
489
|
}, null, 8, ["action-pending", "description", "entity-name", "entity-type", "error", "title", "visible"])
|
|
459
490
|
]);
|
|
460
491
|
};
|
|
461
492
|
}
|
|
462
|
-
}),
|
|
493
|
+
}), ce = (e, I) => {
|
|
463
494
|
const m = e.__vccOpts || e;
|
|
464
495
|
for (const [t, o] of I)
|
|
465
496
|
m[t] = o;
|
|
466
497
|
return m;
|
|
467
|
-
},
|
|
498
|
+
}, rt = /* @__PURE__ */ ce(Ze, [["__scopeId", "data-v-33db902d"]]), Ye = { class: "kong-ui-entities-key-sets-form" }, et = /* @__PURE__ */ W({
|
|
468
499
|
__name: "KeySetForm",
|
|
469
500
|
props: {
|
|
470
501
|
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
@@ -482,75 +513,75 @@ const Q = {
|
|
|
482
513
|
},
|
|
483
514
|
emits: ["update", "error", "loading"],
|
|
484
515
|
setup(e, { emit: I }) {
|
|
485
|
-
var
|
|
486
|
-
const m = I, t = e, o =
|
|
516
|
+
var O;
|
|
517
|
+
const m = I, t = e, o = ie(), { i18n: { t: g } } = X.useI18n(), { getMessageFromError: h } = qe(), { axiosInstance: k } = re((O = t.config) == null ? void 0 : O.axiosRequestConfig), N = v(() => q.form[t.config.app].edit), _ = v(() => t.keySetId ? se.Edit : se.Create), c = ne({
|
|
487
518
|
fields: {
|
|
488
519
|
name: "",
|
|
489
520
|
tags: ""
|
|
490
521
|
},
|
|
491
522
|
isReadonly: !1,
|
|
492
523
|
errorMessage: ""
|
|
493
|
-
}),
|
|
524
|
+
}), M = ne({
|
|
494
525
|
name: "",
|
|
495
526
|
tags: ""
|
|
496
|
-
}),
|
|
497
|
-
var
|
|
498
|
-
c.fields.name = (r == null ? void 0 : r.name) || "", c.fields.tags = ((
|
|
499
|
-
},
|
|
527
|
+
}), B = v(() => JSON.stringify(c.fields) !== JSON.stringify(M) && !!c.fields.name), P = (r) => {
|
|
528
|
+
var y;
|
|
529
|
+
c.fields.name = (r == null ? void 0 : r.name) || "", c.fields.tags = ((y = r == null ? void 0 : r.tags) == null ? void 0 : y.join(", ")) || "", Object.assign(M, c.fields);
|
|
530
|
+
}, V = () => {
|
|
500
531
|
o.push(t.config.cancelRoute);
|
|
501
|
-
},
|
|
502
|
-
var
|
|
503
|
-
let r = `${t.config.apiBaseUrl}${
|
|
504
|
-
return t.config.app === "konnect" ? r = r.replace(/{controlPlaneId}/gi, ((
|
|
505
|
-
}), E =
|
|
506
|
-
var r,
|
|
532
|
+
}, b = v(() => {
|
|
533
|
+
var y, f;
|
|
534
|
+
let r = `${t.config.apiBaseUrl}${q.form[t.config.app][_.value]}`;
|
|
535
|
+
return t.config.app === "konnect" ? r = r.replace(/{controlPlaneId}/gi, ((y = t.config) == null ? void 0 : y.controlPlaneId) || "") : t.config.app === "kongManager" && (r = r.replace(/\/{workspace}/gi, (f = t.config) != null && f.workspace ? `/${t.config.workspace}` : "")), r = r.replace(/{id}/gi, t.keySetId), r;
|
|
536
|
+
}), E = v(() => {
|
|
537
|
+
var r, y, f;
|
|
507
538
|
return {
|
|
508
539
|
name: c.fields.name,
|
|
509
|
-
tags: ((
|
|
540
|
+
tags: ((f = (y = (r = c.fields.tags) == null ? void 0 : r.split(",")) == null ? void 0 : y.map((d) => String(d || "").trim())) == null ? void 0 : f.filter((d) => d !== "")) || ""
|
|
510
541
|
};
|
|
511
542
|
}), j = async () => {
|
|
512
|
-
var r,
|
|
543
|
+
var r, y;
|
|
513
544
|
try {
|
|
514
545
|
c.isReadonly = !0;
|
|
515
|
-
let
|
|
516
|
-
if (
|
|
517
|
-
const { data:
|
|
518
|
-
c.fields.name = (
|
|
546
|
+
let f;
|
|
547
|
+
if (_.value === "create" ? f = await k.post(b.value, E.value) : _.value === "edit" && (f = ((r = t.config) == null ? void 0 : r.app) === "konnect" ? await k.put(b.value, E.value) : await k.patch(b.value, E.value)), f) {
|
|
548
|
+
const { data: d } = f;
|
|
549
|
+
c.fields.name = (d == null ? void 0 : d.name) || "", c.fields.tags = ((y = d == null ? void 0 : d.tags) == null ? void 0 : y.join(", ")) || "", Object.assign(M, c.fields), m("update", f == null ? void 0 : f.data);
|
|
519
550
|
}
|
|
520
|
-
} catch (
|
|
521
|
-
c.errorMessage =
|
|
551
|
+
} catch (f) {
|
|
552
|
+
c.errorMessage = h(f), m("error", f);
|
|
522
553
|
} finally {
|
|
523
554
|
c.isReadonly = !1;
|
|
524
555
|
}
|
|
525
556
|
};
|
|
526
|
-
return (r,
|
|
527
|
-
const
|
|
528
|
-
return
|
|
529
|
-
i(n(
|
|
530
|
-
"can-submit":
|
|
557
|
+
return (r, y) => {
|
|
558
|
+
const f = T("KInput");
|
|
559
|
+
return K(), Q("div", Ye, [
|
|
560
|
+
i(n(Ne), {
|
|
561
|
+
"can-submit": B.value,
|
|
531
562
|
config: e.config,
|
|
532
563
|
"edit-id": e.keySetId,
|
|
533
|
-
"entity-type": n(
|
|
564
|
+
"entity-type": n(le).KeySet,
|
|
534
565
|
"error-message": c.errorMessage,
|
|
535
566
|
"fetch-url": N.value,
|
|
536
567
|
"form-fields": E.value,
|
|
537
568
|
"is-readonly": c.isReadonly,
|
|
538
|
-
onCancel:
|
|
539
|
-
"onFetch:error":
|
|
540
|
-
"onFetch:success":
|
|
541
|
-
onLoading:
|
|
569
|
+
onCancel: V,
|
|
570
|
+
"onFetch:error": y[2] || (y[2] = (d) => r.$emit("error", d)),
|
|
571
|
+
"onFetch:success": P,
|
|
572
|
+
onLoading: y[3] || (y[3] = (d) => r.$emit("loading", d)),
|
|
542
573
|
onSubmit: j
|
|
543
574
|
}, {
|
|
544
|
-
default:
|
|
545
|
-
i(n(
|
|
575
|
+
default: l(() => [
|
|
576
|
+
i(n(Pe), {
|
|
546
577
|
description: n(g)("keySets.form.sections.general.description"),
|
|
547
578
|
"has-divider": "",
|
|
548
579
|
title: n(g)("keySets.form.sections.general.title")
|
|
549
580
|
}, {
|
|
550
|
-
default:
|
|
551
|
-
i(
|
|
581
|
+
default: l(() => [
|
|
582
|
+
i(f, {
|
|
552
583
|
modelValue: c.fields.name,
|
|
553
|
-
"onUpdate:modelValue":
|
|
584
|
+
"onUpdate:modelValue": y[0] || (y[0] = (d) => c.fields.name = d),
|
|
554
585
|
modelModifiers: { trim: !0 },
|
|
555
586
|
autocomplete: "off",
|
|
556
587
|
"data-testid": "key-set-form-name",
|
|
@@ -559,9 +590,9 @@ const Q = {
|
|
|
559
590
|
readonly: c.isReadonly,
|
|
560
591
|
type: "text"
|
|
561
592
|
}, null, 8, ["modelValue", "label", "placeholder", "readonly"]),
|
|
562
|
-
i(
|
|
593
|
+
i(f, {
|
|
563
594
|
modelValue: c.fields.tags,
|
|
564
|
-
"onUpdate:modelValue":
|
|
595
|
+
"onUpdate:modelValue": y[1] || (y[1] = (d) => c.fields.tags = d),
|
|
565
596
|
modelModifiers: { trim: !0 },
|
|
566
597
|
autocomplete: "off",
|
|
567
598
|
"data-testid": "key-set-form-tags",
|
|
@@ -584,7 +615,7 @@ const Q = {
|
|
|
584
615
|
]);
|
|
585
616
|
};
|
|
586
617
|
}
|
|
587
|
-
}),
|
|
618
|
+
}), lt = /* @__PURE__ */ ce(et, [["__scopeId", "data-v-a4b01cc5"]]), tt = { class: "kong-ui-entities-keys-entity-config-card" }, ct = /* @__PURE__ */ W({
|
|
588
619
|
__name: "KeySetConfigCard",
|
|
589
620
|
props: {
|
|
590
621
|
/** The base konnect or kongManger config. Pass additional config props in the shared entity component as needed. */
|
|
@@ -611,7 +642,7 @@ const Q = {
|
|
|
611
642
|
},
|
|
612
643
|
emits: ["loading", "fetch:error", "fetch:success"],
|
|
613
644
|
setup(e) {
|
|
614
|
-
const I = e, { i18n: { t: m } } =
|
|
645
|
+
const I = e, { i18n: { t: m } } = X.useI18n(), t = v(() => q.form[I.config.app].edit), o = C({
|
|
615
646
|
id: {},
|
|
616
647
|
name: {},
|
|
617
648
|
last_updated: {},
|
|
@@ -620,23 +651,23 @@ const Q = {
|
|
|
620
651
|
tooltip: m("keySets.form.fields.tags.tooltip")
|
|
621
652
|
}
|
|
622
653
|
});
|
|
623
|
-
return (g,
|
|
624
|
-
i(n(
|
|
654
|
+
return (g, h) => (K(), Q("div", tt, [
|
|
655
|
+
i(n(je), {
|
|
625
656
|
config: e.config,
|
|
626
657
|
"config-card-doc": e.configCardDoc,
|
|
627
658
|
"config-schema": o.value,
|
|
628
|
-
"entity-type": n(
|
|
659
|
+
"entity-type": n(le).KeySet,
|
|
629
660
|
"fetch-url": t.value,
|
|
630
661
|
"hide-title": e.hideTitle,
|
|
631
|
-
"onFetch:error":
|
|
632
|
-
"onFetch:success":
|
|
633
|
-
onLoading:
|
|
662
|
+
"onFetch:error": h[0] || (h[0] = (k) => g.$emit("fetch:error", k)),
|
|
663
|
+
"onFetch:success": h[1] || (h[1] = (k) => g.$emit("fetch:success", k)),
|
|
664
|
+
onLoading: h[2] || (h[2] = (k) => g.$emit("loading", k))
|
|
634
665
|
}, null, 8, ["config", "config-card-doc", "config-schema", "entity-type", "fetch-url", "hide-title"])
|
|
635
666
|
]));
|
|
636
667
|
}
|
|
637
668
|
});
|
|
638
669
|
export {
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
670
|
+
ct as KeySetConfigCard,
|
|
671
|
+
lt as KeySetForm,
|
|
672
|
+
rt as KeySetList
|
|
642
673
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(g,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@kong/icons"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","@kong/icons","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-shared"],e):(g=typeof globalThis<"u"?globalThis:g||self,e(g["kong-ui-public-entities-key-sets"]={},g.Vue,g.KongIcons,g.VueRouter,g["kong-ui-public-i18n"],g["kong-ui-public-entities-shared"]))})(this,function(g,e,B,j,L,i){"use strict";const H={keySets:{title:"Key Sets",list:{toolbar_actions:{new_key_set:"New key set"},table_headers:{name:"Name",id:"ID",tags:"Tags"},empty_state:{title:"Configure a New Key Set",description:"A Key Set object holds a collection of asymmetric key objects. This entity allows to logically group keys by their purpose."},empty_state_v2:{title:"Configure your first key set",group:"Key sets created in gateways within this group will automatically appear here.",description:"Key sets centrally manage asymmetric keys for plugins like OpenID Connect and JWT, simplifying configuration and security across services.",create_cta:"New key set"}},actions:{create:"New Key Set",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",view:"View Details"},search:{placeholder:"Filter by exact name or ID"},delete:{title:"Delete a Key Set",description:"Deleting this key set will also delete keys associated. This action cannot be reversed so make sure to check the key set usage before deleting."},errors:{general:"Key sets could not be retrieved",delete:"The key set could not be deleted at this time.",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this key set."}},fields:{name:{label:"Name",placeholder:"Enter a unique name for this key set"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."}}}}};function Q(){const t=L.createI18n("en-us",H);return{i18n:t,i18nT:L.i18nTComponent(t)}}const F={useI18n:Q},R="/v2/control-planes/{controlPlaneId}/core-entities",O="/{workspace}",T={list:{konnect:`${R}/key-sets`,kongManager:`${O}/key-sets`},form:{konnect:{create:`${R}/key-sets`,edit:`${R}/key-sets/{id}`},kongManager:{create:`${O}/key-sets`,edit:`${O}/key-sets/{id}`}}},X="#00abd2",Z="24px",Y={class:"kong-ui-entities-key-sets-list"},v={class:"button-row"},ee={class:"empty-state-icon-gateway"},te=e.defineComponent({__name:"KeySetList",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.createRoute||!t.getViewRoute||!t.getEditRoute||t.app==="kongManager"&&!t.isExactMatch&&!t.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(t,{emit:S}){var z;const u=S,n=t,{i18n:{t:a}}=F.useI18n(),m=j.useRouter(),{axiosInstance:h}=i.useAxios((z=n.config)==null?void 0:z.axiosRequestConfig),{hasRecords:k,handleStateChange:q}=i.useTableState(()=>b.value),x=e.computed(()=>k.value&&n.config.app==="konnect"),c=e.computed(()=>n.config.app!=="kongManager"||!!n.config.disableSorting),V={name:{label:a("keySets.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},tags:{label:a("keySets.list.table_headers.tags")},id:{label:a("keySets.list.table_headers.id"),sortable:!0}},P=V,$=e.computed(()=>{var s,y;let o=`${n.config.apiBaseUrl}${T.list[n.config.app]}`;return n.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((s=n.config)==null?void 0:s.controlPlaneId)||""):n.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(y=n.config)!=null&&y.workspace?`/${n.config.workspace}`:"")),o}),b=e.ref(""),E=e.computed(()=>{const o=n.config.app==="konnect"||n.config.isExactMatch;if(o)return{isExactMatch:o,placeholder:a("keySets.search.placeholder")};const s={name:V.name};return{isExactMatch:o,fields:s,schema:n.config.filterSchema}}),{fetcher:I,fetcherState:A,fetcherCacheKey:N}=i.useFetcher(e.computed(()=>({...n.config,cacheIdentifier:n.cacheIdentifier})),$),r=()=>{b.value=""},d=()=>{N.value++},l=e.ref(null),p=async(o,s)=>{const y=o.id;if(!await s(y)){ce(o,"id");return}le(o,"id")},ie=async(o,s)=>{const y=JSON.stringify(o);if(!await s(y)){u("copy:error",{entity:o,message:a("keySets.errors.copy")});return}u("copy:success",{entity:o,message:a("keySets.copy.success_brief")})},le=(o,s)=>{u("copy:success",{entity:o,field:s,message:a("keySets.copy.success",{val:o[s]})})},ce=(o,s)=>{u("copy:error",{entity:o,field:s,message:a("keySets.errors.copy")})},de=async o=>{var y;await((y=n.canRetrieve)==null?void 0:y.call(n,o))&&m.push(n.config.getViewRoute(o.id))},fe=o=>({label:a("keySets.actions.view"),to:n.config.getViewRoute(o)}),pe=o=>({label:a("keySets.actions.edit"),to:n.config.getEditRoute(o)}),w=e.ref(void 0),D=e.ref(!1),M=e.ref(!1),W=e.ref(""),ye=i.useDeleteUrlBuilder(n.config,$.value),ue=o=>{w.value=o,D.value=!0},me=()=>{D.value=!1},ge=async()=>{var o,s,y;if((o=w.value)!=null&&o.id){M.value=!0;try{await h.delete(ye(w.value.id)),M.value=!1,D.value=!1,N.value++,u("delete:success",w.value)}catch(C){W.value=((y=(s=C.response)==null?void 0:s.data)==null?void 0:y.message)||C.message||a("keySets.errors.delete"),u("error",C)}finally{M.value=!1}}},ke=()=>{m.push(n.config.createRoute)};e.watch(A,o=>{var s,y,C;if(o.status===i.FetcherStatus.Error){l.value={title:a("keySets.errors.general")},(C=(y=(s=o.error)==null?void 0:s.response)==null?void 0:y.data)!=null&&C.message&&(l.value.message=o.error.response.data.message),u("error",o.error);return}l.value=null});const U=e.ref({ctaPath:n.config.createRoute,ctaText:void 0,message:`${a("keySets.list.empty_state.description")}${n.config.additionMessageForEmptyState?` ${n.config.additionMessageForEmptyState}`:""}`,title:a("keySets.title")});return e.onBeforeMount(async()=>{await n.canCreate()&&(U.value.title=a("keySets.list.empty_state.title"),U.value.ctaText=a("keySets.actions.create"))}),(o,s)=>{const y=e.resolveComponent("KButton"),C=e.resolveComponent("KCopy"),_=e.resolveComponent("KDropdownItem"),G=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",Y,[e.createVNode(e.unref(i.EntityBaseTable),{"cache-identifier":t.cacheIdentifier,"disable-sorting":c.value,"empty-state-options":U.value,"enable-entity-actions":"","error-message":l.value,fetcher:e.unref(I),"fetcher-cache-key":e.unref(N),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-key-sets-list",query:b.value,"table-headers":e.unref(P),onClearSearchInput:r,"onClick:row":s[3]||(s[3]=f=>de(f)),onSort:d,onState:e.unref(q)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(i.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":s[0]||(s[0]=f=>b.value=f),config:E.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!t.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",v,[x.value?(e.openBlock(),e.createBlock(y,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"keys-set-learn-more-button",icon:"",onClick:s[1]||(s[1]=f=>o.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(B.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(i.PermissionsWrapper),{"auth-function":()=>t.canCreate()},{default:e.withCtx(()=>[e.createVNode(y,{appearance:"primary","data-testid":"toolbar-add-key-set",size:t.useActionOutside?"medium":"large",to:t.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(B.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("keySets.list.toolbar_actions.new_key_set")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:f})=>[e.createElementVNode("b",null,e.toDisplayString(f??"-"),1)]),tags:e.withCtx(({rowValue:f})=>[e.createVNode(e.unref(i.TableTags),{tags:f},null,8,["tags"])]),id:e.withCtx(({rowValue:f})=>[e.createVNode(C,{text:f,truncate:""},null,8,["text"])]),actions:e.withCtx(({row:f})=>[e.createVNode(G,null,{default:e.withCtx(({copyToClipboard:K})=>[e.createVNode(_,{"data-testid":"action-entity-copy-id",onClick:he=>p(f,K)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("keySets.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(G,null,{default:e.withCtx(({copyToClipboard:K})=>[e.createVNode(_,{"data-testid":"action-entity-copy-json",onClick:he=>ie(f,K)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("keySets.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(i.PermissionsWrapper),{"auth-function":()=>t.canRetrieve(f)},{default:e.withCtx(()=>[e.createVNode(_,{"data-testid":"action-entity-view","has-divider":"",item:fe(f.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(i.PermissionsWrapper),{"auth-function":()=>t.canEdit(f)},{default:e.withCtx(()=>[e.createVNode(_,{"data-testid":"action-entity-edit",item:pe(f.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(i.PermissionsWrapper),{"auth-function":()=>t.canDelete(f)},{default:e.withCtx(()=>[e.createVNode(_,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:K=>ue(f)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("keySets.actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&t.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var f;return[e.createVNode(e.unref(i.EntityEmptyState),{"action-button-text":e.unref(a)("keySets.list.empty_state_v2.create_cta"),appearance:"secondary","can-create":()=>t.canCreate(),"data-testid":"key-sets-entity-empty-state",description:e.unref(a)("keySets.list.empty_state_v2.description"),"learn-more":t.config.app==="konnect",title:e.unref(a)("keySets.list.empty_state_v2.title"),"onClick:create":ke,"onClick:learnMore":s[2]||(s[2]=K=>o.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",ee,[e.createVNode(e.unref(B.KeyIcon),{color:e.unref(X),size:e.unref(Z)},null,8,["color","size"])])]),_:2},[(f=t.config)!=null&&f.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("keySets.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(i.EntityDeleteModal),{"action-pending":M.value,description:e.unref(a)("keySets.delete.description"),"entity-name":w.value&&(w.value.name||w.value.id),"entity-type":e.unref(i.EntityTypes).KeySet,error:W.value,title:e.unref(a)("keySets.delete.title"),visible:D.value,onCancel:me,onProceed:ge},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),J=(t,S)=>{const u=t.__vccOpts||t;for(const[n,a]of S)u[n]=a;return u},ne=J(te,[["__scopeId","data-v-aeb4b6e1"]]),oe={class:"kong-ui-entities-key-sets-form"},ae=J(e.defineComponent({__name:"KeySetForm",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.workspace!="string"||!t.cancelRoute)},keySetId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(t,{emit:S}){var N;const u=S,n=t,a=j.useRouter(),{i18n:{t:m}}=F.useI18n(),{getMessageFromError:h}=i.useErrors(),{axiosInstance:k}=i.useAxios((N=n.config)==null?void 0:N.axiosRequestConfig),q=e.computed(()=>T.form[n.config.app].edit),x=e.computed(()=>n.keySetId?i.EntityBaseFormType.Edit:i.EntityBaseFormType.Create),c=e.reactive({fields:{name:"",tags:""},isReadonly:!1,errorMessage:""}),V=e.reactive({name:"",tags:""}),P=e.computed(()=>JSON.stringify(c.fields)!==JSON.stringify(V)&&!!c.fields.name),$=r=>{var d;c.fields.name=(r==null?void 0:r.name)||"",c.fields.tags=((d=r==null?void 0:r.tags)==null?void 0:d.join(", "))||"",Object.assign(V,c.fields)},b=()=>{a.push(n.config.cancelRoute)},E=e.computed(()=>{var d,l;let r=`${n.config.apiBaseUrl}${T.form[n.config.app][x.value]}`;return n.config.app==="konnect"?r=r.replace(/{controlPlaneId}/gi,((d=n.config)==null?void 0:d.controlPlaneId)||""):n.config.app==="kongManager"&&(r=r.replace(/\/{workspace}/gi,(l=n.config)!=null&&l.workspace?`/${n.config.workspace}`:"")),r=r.replace(/{id}/gi,n.keySetId),r}),I=e.computed(()=>{var r,d,l;return{name:c.fields.name,tags:((l=(d=(r=c.fields.tags)==null?void 0:r.split(","))==null?void 0:d.map(p=>String(p||"").trim()))==null?void 0:l.filter(p=>p!==""))||""}}),A=async()=>{var r,d;try{c.isReadonly=!0;let l;if(x.value==="create"?l=await k.post(E.value,I.value):x.value==="edit"&&(l=((r=n.config)==null?void 0:r.app)==="konnect"?await k.put(E.value,I.value):await k.patch(E.value,I.value)),l){const{data:p}=l;c.fields.name=(p==null?void 0:p.name)||"",c.fields.tags=((d=p==null?void 0:p.tags)==null?void 0:d.join(", "))||"",Object.assign(V,c.fields),u("update",l==null?void 0:l.data)}}catch(l){c.errorMessage=h(l),u("error",l)}finally{c.isReadonly=!1}};return(r,d)=>{const l=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",oe,[e.createVNode(e.unref(i.EntityBaseForm),{"can-submit":P.value,config:t.config,"edit-id":t.keySetId,"entity-type":e.unref(i.SupportedEntityType).KeySet,"error-message":c.errorMessage,"fetch-url":q.value,"form-fields":I.value,"is-readonly":c.isReadonly,onCancel:b,"onFetch:error":d[2]||(d[2]=p=>r.$emit("error",p)),"onFetch:success":$,onLoading:d[3]||(d[3]=p=>r.$emit("loading",p)),onSubmit:A},{default:e.withCtx(()=>[e.createVNode(e.unref(i.EntityFormSection),{description:e.unref(m)("keySets.form.sections.general.description"),"has-divider":"",title:e.unref(m)("keySets.form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(l,{modelValue:c.fields.name,"onUpdate:modelValue":d[0]||(d[0]=p=>c.fields.name=p),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"key-set-form-name",label:e.unref(m)("keySets.form.fields.name.label"),placeholder:e.unref(m)("keySets.form.fields.name.placeholder"),readonly:c.isReadonly,type:"text"},null,8,["modelValue","label","placeholder","readonly"]),e.createVNode(l,{modelValue:c.fields.tags,"onUpdate:modelValue":d[1]||(d[1]=p=>c.fields.tags=p),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"key-set-form-tags",help:e.unref(m)("keySets.form.fields.tags.help"),label:e.unref(m)("keySets.form.fields.tags.label"),"label-attributes":{info:e.unref(m)("keySets.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(m)("keySets.form.fields.tags.placeholder"),readonly:c.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-a4b01cc5"]]),se={class:"kong-ui-entities-keys-entity-config-card"},re=e.defineComponent({__name:"KeySetConfigCard",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.workspace!="string"||!t.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(t){const S=t,{i18n:{t:u}}=F.useI18n(),n=e.computed(()=>T.form[S.config.app].edit),a=e.ref({id:{},name:{},last_updated:{},created:{},tags:{tooltip:u("keySets.form.fields.tags.tooltip")}});return(m,h)=>(e.openBlock(),e.createElementBlock("div",se,[e.createVNode(e.unref(i.EntityBaseConfigCard),{config:t.config,"config-card-doc":t.configCardDoc,"config-schema":a.value,"entity-type":e.unref(i.SupportedEntityType).KeySet,"fetch-url":n.value,"hide-title":t.hideTitle,"onFetch:error":h[0]||(h[0]=k=>m.$emit("fetch:error",k)),"onFetch:success":h[1]||(h[1]=k=>m.$emit("fetch:success",k)),onLoading:h[2]||(h[2]=k=>m.$emit("loading",k))},null,8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])]))}});g.KeySetConfigCard=re,g.KeySetForm=ae,g.KeySetList=ne,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(g,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@kong/icons"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","@kong/icons","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-shared"],e):(g=typeof globalThis<"u"?globalThis:g||self,e(g["kong-ui-public-entities-key-sets"]={},g.Vue,g.KongIcons,g.VueRouter,g["kong-ui-public-i18n"],g["kong-ui-public-entities-shared"]))})(this,function(g,e,T,j,L,r){"use strict";const G={keySets:{title:"Key Sets",list:{toolbar_actions:{new_key_set:"New key set"},table_headers:{name:"Name",id:"ID",tags:"Tags"},empty_state:{title:"Configure a New Key Set",description:"A Key Set object holds a collection of asymmetric key objects. This entity allows to logically group keys by their purpose."},empty_state_v2:{title:"Configure your first key set",group:"Key sets created in gateways within this group will automatically appear here.",description:"Key sets centrally manage asymmetric keys for plugins like OpenID Connect and JWT, simplifying configuration and security across services.",create_cta:"New key set"}},actions:{create:"New Key Set",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",view:"View Details"},search:{placeholder:"Filter by exact name or ID"},delete:{title:"Delete a Key Set",description:"Deleting this key set will also delete keys associated. This action cannot be reversed so make sure to check the key set usage before deleting."},errors:{general:"Key sets could not be retrieved",delete:"The key set could not be deleted at this time.",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},form:{sections:{general:{title:"General Information",description:"General information will help identify and manage this key set."}},fields:{name:{label:"Name",placeholder:"Enter a unique name for this key set"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."}}}}};function Q(){const t=L.createI18n("en-us",G);return{i18n:t,i18nT:L.i18nTComponent(t)}}const F={useI18n:Q},R="/v2/control-planes/{controlPlaneId}/core-entities",O="/{workspace}",B={list:{konnect:`${R}/key-sets`,kongManager:`${O}/key-sets`},form:{konnect:{create:`${R}/key-sets`,edit:`${R}/key-sets/{id}`},kongManager:{create:`${O}/key-sets`,edit:`${O}/key-sets/{id}`}}},X="#00abd2",Z="24px",Y={class:"kong-ui-entities-key-sets-list"},v={class:"button-row"},ee={class:"empty-state-icon-gateway"},te=e.defineComponent({__name:"KeySetList",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.createRoute||!t.getViewRoute||!t.getEditRoute||t.app==="kongManager"&&!t.isExactMatch&&!t.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},enableV2EmptyStates:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(t,{emit:S}){var z;const u=S,n=t,{i18n:{t:a}}=F.useI18n(),m=j.useRouter(),{axiosInstance:h}=r.useAxios((z=n.config)==null?void 0:z.axiosRequestConfig),{hasRecords:k,handleStateChange:q}=r.useTableState(()=>b.value),I=e.computed(()=>k.value&&n.config.app==="konnect"),l=e.computed(()=>!n.enableV2EmptyStates&&n.config.app==="konnect"),N=e.computed(()=>n.config.app!=="kongManager"||!!n.config.disableSorting),K={name:{label:a("keySets.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1},tags:{label:a("keySets.list.table_headers.tags")},id:{label:a("keySets.list.table_headers.id"),sortable:!0}},P=K,$=e.computed(()=>{var s,y;let o=`${n.config.apiBaseUrl}${B.list[n.config.app]}`;return n.config.app==="konnect"?o=o.replace(/{controlPlaneId}/gi,((s=n.config)==null?void 0:s.controlPlaneId)||""):n.config.app==="kongManager"&&(o=o.replace(/\/{workspace}/gi,(y=n.config)!=null&&y.workspace?`/${n.config.workspace}`:"")),o}),b=e.ref(""),V=e.computed(()=>{const o=n.config.app==="konnect"||n.config.isExactMatch;if(o)return{isExactMatch:o,placeholder:a("keySets.search.placeholder")};const s={name:K.name};return{isExactMatch:o,fields:s,schema:n.config.filterSchema}}),{fetcher:A,fetcherState:_,fetcherCacheKey:i}=r.useFetcher(e.computed(()=>({...n.config,cacheIdentifier:n.cacheIdentifier})),$),f=()=>{b.value=""},p=()=>{i.value++},c=e.ref(null),re=async(o,s)=>{const y=o.id;if(!await s(y)){de(o,"id");return}ce(o,"id")},le=async(o,s)=>{const y=JSON.stringify(o);if(!await s(y)){u("copy:error",{entity:o,message:a("keySets.errors.copy")});return}u("copy:success",{entity:o,message:a("keySets.copy.success_brief")})},ce=(o,s)=>{u("copy:success",{entity:o,field:s,message:a("keySets.copy.success",{val:o[s]})})},de=(o,s)=>{u("copy:error",{entity:o,field:s,message:a("keySets.errors.copy")})},fe=async o=>{var y;await((y=n.canRetrieve)==null?void 0:y.call(n,o))&&m.push(n.config.getViewRoute(o.id))},pe=o=>({label:a("keySets.actions.view"),to:n.config.getViewRoute(o)}),ye=o=>({label:a("keySets.actions.edit"),to:n.config.getEditRoute(o)}),w=e.ref(void 0),D=e.ref(!1),M=e.ref(!1),W=e.ref(""),ue=r.useDeleteUrlBuilder(n.config,$.value),me=o=>{w.value=o,D.value=!0},ge=()=>{D.value=!1},ke=async()=>{var o,s,y;if((o=w.value)!=null&&o.id){M.value=!0;try{await h.delete(ue(w.value.id)),M.value=!1,D.value=!1,i.value++,u("delete:success",w.value)}catch(C){W.value=((y=(s=C.response)==null?void 0:s.data)==null?void 0:y.message)||C.message||a("keySets.errors.delete"),u("error",C)}finally{M.value=!1}}},he=()=>{m.push(n.config.createRoute)};e.watch(_,o=>{var s,y,C;if(o.status===r.FetcherStatus.Error){c.value={title:a("keySets.errors.general")},(C=(y=(s=o.error)==null?void 0:s.response)==null?void 0:y.data)!=null&&C.message&&(c.value.message=o.error.response.data.message),u("error",o.error);return}c.value=null});const U=e.ref({ctaPath:n.config.createRoute,ctaText:void 0,message:`${a("keySets.list.empty_state.description")}${n.config.additionMessageForEmptyState?` ${n.config.additionMessageForEmptyState}`:""}`,title:a("keySets.title")});return e.onBeforeMount(async()=>{await n.canCreate()&&(U.value.title=a("keySets.list.empty_state.title"),U.value.ctaText=a("keySets.actions.create"))}),(o,s)=>{const y=e.resolveComponent("KButton"),C=e.resolveComponent("KCopy"),x=e.resolveComponent("KDropdownItem"),H=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",Y,[e.createVNode(e.unref(r.EntityBaseTable),{"cache-identifier":t.cacheIdentifier,"disable-sorting":N.value,"empty-state-options":U.value,"enable-entity-actions":"","error-message":c.value,fetcher:e.unref(A),"fetcher-cache-key":e.unref(i),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-key-sets-list",query:b.value,"table-headers":e.unref(P),onClearSearchInput:f,"onClick:row":s[4]||(s[4]=d=>fe(d)),onSort:p,onState:e.unref(q)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(r.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":s[0]||(s[0]=d=>b.value=d),config:V.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!t.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",v,[I.value?(e.openBlock(),e.createBlock(y,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"keys-set-learn-more-button",icon:"",onClick:s[1]||(s[1]=d=>o.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(T.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(r.PermissionsWrapper),{"auth-function":()=>t.canCreate()},{default:e.withCtx(()=>[e.createVNode(y,{appearance:"primary","data-testid":"toolbar-add-key-set",size:t.useActionOutside?"medium":"large",to:t.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(T.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("keySets.list.toolbar_actions.new_key_set")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({rowValue:d})=>[e.createElementVNode("b",null,e.toDisplayString(d??"-"),1)]),tags:e.withCtx(({rowValue:d})=>[e.createVNode(e.unref(r.TableTags),{tags:d},null,8,["tags"])]),id:e.withCtx(({rowValue:d})=>[e.createVNode(C,{text:d,truncate:""},null,8,["text"])]),actions:e.withCtx(({row:d})=>[e.createVNode(H,null,{default:e.withCtx(({copyToClipboard:E})=>[e.createVNode(x,{"data-testid":"action-entity-copy-id",onClick:be=>re(d,E)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("keySets.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(H,null,{default:e.withCtx(({copyToClipboard:E})=>[e.createVNode(x,{"data-testid":"action-entity-copy-json",onClick:be=>le(d,E)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("keySets.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),e.createVNode(e.unref(r.PermissionsWrapper),{"auth-function":()=>t.canRetrieve(d)},{default:e.withCtx(()=>[e.createVNode(x,{"data-testid":"action-entity-view","has-divider":"",item:pe(d.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(r.PermissionsWrapper),{"auth-function":()=>t.canEdit(d)},{default:e.withCtx(()=>[e.createVNode(x,{"data-testid":"action-entity-edit",item:ye(d.id)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(r.PermissionsWrapper),{"auth-function":()=>t.canDelete(d)},{default:e.withCtx(()=>[e.createVNode(x,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:E=>me(d)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("keySets.actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!e.unref(k)&&l.value?{name:"outside-actions",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!t.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createVNode(y,{appearance:"secondary",class:"open-learning-hub","data-testid":"keys-set-learn-more-button",icon:"",onClick:s[2]||(s[2]=d=>o.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(T.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,!b.value&&t.enableV2EmptyStates&&t.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var d;return[e.createVNode(e.unref(r.EntityEmptyState),{"action-button-text":e.unref(a)("keySets.list.empty_state_v2.create_cta"),appearance:"secondary","can-create":()=>t.canCreate(),"data-testid":"key-sets-entity-empty-state",description:e.unref(a)("keySets.list.empty_state_v2.description"),"learn-more":t.config.app==="konnect",title:e.unref(a)("keySets.list.empty_state_v2.title"),"onClick:create":he,"onClick:learnMore":s[3]||(s[3]=E=>o.$emit("click:learn-more"))},e.createSlots({image:e.withCtx(()=>[e.createElementVNode("div",ee,[e.createVNode(e.unref(T.KeyIcon),{color:e.unref(X),size:e.unref(Z)},null,8,["color","size"])])]),_:2},[(d=t.config)!=null&&d.isControlPlaneGroup?{name:"message",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("keySets.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"1"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),e.createVNode(e.unref(r.EntityDeleteModal),{"action-pending":M.value,description:e.unref(a)("keySets.delete.description"),"entity-name":w.value&&(w.value.name||w.value.id),"entity-type":e.unref(r.EntityTypes).KeySet,error:W.value,title:e.unref(a)("keySets.delete.title"),visible:D.value,onCancel:ge,onProceed:ke},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),J=(t,S)=>{const u=t.__vccOpts||t;for(const[n,a]of S)u[n]=a;return u},ne=J(te,[["__scopeId","data-v-33db902d"]]),oe={class:"kong-ui-entities-key-sets-form"},ae=J(e.defineComponent({__name:"KeySetForm",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.workspace!="string"||!t.cancelRoute)},keySetId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(t,{emit:S}){var _;const u=S,n=t,a=j.useRouter(),{i18n:{t:m}}=F.useI18n(),{getMessageFromError:h}=r.useErrors(),{axiosInstance:k}=r.useAxios((_=n.config)==null?void 0:_.axiosRequestConfig),q=e.computed(()=>B.form[n.config.app].edit),I=e.computed(()=>n.keySetId?r.EntityBaseFormType.Edit:r.EntityBaseFormType.Create),l=e.reactive({fields:{name:"",tags:""},isReadonly:!1,errorMessage:""}),N=e.reactive({name:"",tags:""}),K=e.computed(()=>JSON.stringify(l.fields)!==JSON.stringify(N)&&!!l.fields.name),P=i=>{var f;l.fields.name=(i==null?void 0:i.name)||"",l.fields.tags=((f=i==null?void 0:i.tags)==null?void 0:f.join(", "))||"",Object.assign(N,l.fields)},$=()=>{a.push(n.config.cancelRoute)},b=e.computed(()=>{var f,p;let i=`${n.config.apiBaseUrl}${B.form[n.config.app][I.value]}`;return n.config.app==="konnect"?i=i.replace(/{controlPlaneId}/gi,((f=n.config)==null?void 0:f.controlPlaneId)||""):n.config.app==="kongManager"&&(i=i.replace(/\/{workspace}/gi,(p=n.config)!=null&&p.workspace?`/${n.config.workspace}`:"")),i=i.replace(/{id}/gi,n.keySetId),i}),V=e.computed(()=>{var i,f,p;return{name:l.fields.name,tags:((p=(f=(i=l.fields.tags)==null?void 0:i.split(","))==null?void 0:f.map(c=>String(c||"").trim()))==null?void 0:p.filter(c=>c!==""))||""}}),A=async()=>{var i,f;try{l.isReadonly=!0;let p;if(I.value==="create"?p=await k.post(b.value,V.value):I.value==="edit"&&(p=((i=n.config)==null?void 0:i.app)==="konnect"?await k.put(b.value,V.value):await k.patch(b.value,V.value)),p){const{data:c}=p;l.fields.name=(c==null?void 0:c.name)||"",l.fields.tags=((f=c==null?void 0:c.tags)==null?void 0:f.join(", "))||"",Object.assign(N,l.fields),u("update",p==null?void 0:p.data)}}catch(p){l.errorMessage=h(p),u("error",p)}finally{l.isReadonly=!1}};return(i,f)=>{const p=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock("div",oe,[e.createVNode(e.unref(r.EntityBaseForm),{"can-submit":K.value,config:t.config,"edit-id":t.keySetId,"entity-type":e.unref(r.SupportedEntityType).KeySet,"error-message":l.errorMessage,"fetch-url":q.value,"form-fields":V.value,"is-readonly":l.isReadonly,onCancel:$,"onFetch:error":f[2]||(f[2]=c=>i.$emit("error",c)),"onFetch:success":P,onLoading:f[3]||(f[3]=c=>i.$emit("loading",c)),onSubmit:A},{default:e.withCtx(()=>[e.createVNode(e.unref(r.EntityFormSection),{description:e.unref(m)("keySets.form.sections.general.description"),"has-divider":"",title:e.unref(m)("keySets.form.sections.general.title")},{default:e.withCtx(()=>[e.createVNode(p,{modelValue:l.fields.name,"onUpdate:modelValue":f[0]||(f[0]=c=>l.fields.name=c),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"key-set-form-name",label:e.unref(m)("keySets.form.fields.name.label"),placeholder:e.unref(m)("keySets.form.fields.name.placeholder"),readonly:l.isReadonly,type:"text"},null,8,["modelValue","label","placeholder","readonly"]),e.createVNode(p,{modelValue:l.fields.tags,"onUpdate:modelValue":f[1]||(f[1]=c=>l.fields.tags=c),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"key-set-form-tags",help:e.unref(m)("keySets.form.fields.tags.help"),label:e.unref(m)("keySets.form.fields.tags.label"),"label-attributes":{info:e.unref(m)("keySets.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:e.unref(m)("keySets.form.fields.tags.placeholder"),readonly:l.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-a4b01cc5"]]),se={class:"kong-ui-entities-keys-entity-config-card"},ie=e.defineComponent({__name:"KeySetConfigCard",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.workspace!="string"||!t.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(t){const S=t,{i18n:{t:u}}=F.useI18n(),n=e.computed(()=>B.form[S.config.app].edit),a=e.ref({id:{},name:{},last_updated:{},created:{},tags:{tooltip:u("keySets.form.fields.tags.tooltip")}});return(m,h)=>(e.openBlock(),e.createElementBlock("div",se,[e.createVNode(e.unref(r.EntityBaseConfigCard),{config:t.config,"config-card-doc":t.configCardDoc,"config-schema":a.value,"entity-type":e.unref(r.SupportedEntityType).KeySet,"fetch-url":n.value,"hide-title":t.hideTitle,"onFetch:error":h[0]||(h[0]=k=>m.$emit("fetch:error",k)),"onFetch:success":h[1]||(h[1]=k=>m.$emit("fetch:success",k)),onLoading:h[2]||(h[2]=k=>m.$emit("loading",k))},null,8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])]))}});g.KeySetConfigCard=ie,g.KeySetForm=ae,g.KeySetList=ne,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.config-card-fieldset[data-v-f7096c33]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-f7096c33]{font-size:14px;padding:0 8px;width:auto}fieldset.config-card-fieldset .config-card-details-row{width:unset}.config-card-json-item .config-card-details-row,fieldset.config-card-fieldset .config-card-details-row{margin:0 16px}.config-card-json-item .config-card-details-row:last-of-type,fieldset.config-card-fieldset .config-card-details-row:last-of-type{border-bottom:none}[data-v-2feb8c2e] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-5f9aa0e8]{align-items:center;border-bottom:var(--2f90d7f7);box-sizing:border-box;display:var(--668a792a);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-5f9aa0e8]{box-sizing:border-box;padding-right:16px;width:var(--5bc9ad14)}.config-card-details-row .config-card-details-label label[data-v-5f9aa0e8]{color:#3a3f51;display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-5f9aa0e8]{line-height:initial;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-label label .k-popover[data-v-5f9aa0e8]{min-width:0}.config-card-details-row .config-card-details-value[data-v-5f9aa0e8]{box-sizing:border-box;width:var(--5bc5215e)}.config-card-details-row .config-card-details-value .truncated[data-v-5f9aa0e8]{display:inline-block;line-height:initial;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-value span.attrs-data-text[data-v-5f9aa0e8]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-5f9aa0e8] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-5f9aa0e8]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-5f9aa0e8]{margin-right:4px}.config-card-details-row[data-v-5f9aa0e8] .k-label{margin-bottom:0}.config-card-details-row[data-v-5f9aa0e8] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-5f9aa0e8] .config-card-details-row{width:auto}.json-content.k-code-block{border-top-left-radius:0;border-top-right-radius:0}.json-endpoint{align-items:baseline;background-color:#000933;border-bottom:1px solid rgba(255,255,255,.2);border-top-left-radius:8px;border-top-right-radius:8px;display:flex;padding:8px 0 8px 12px}.json-endpoint .k-code-block{flex:auto;z-index:2}.json-endpoint .k-code-block .code-block-content{padding-bottom:0;padding-top:0}.json-endpoint .k-code-block .code-block-secondary-actions{margin-top:0!important}.json-endpoint code{direction:rtl;max-width:var(--54aebfa2);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-d67757a9]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card .config-card-actions[data-v-dd0edd92]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-dd0edd92]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-dd0edd92]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-dd0edd92] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-dd0edd92]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-b073d014]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-b073d014] .k-slideout-title{color:#000933!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;margin-bottom:16px!important}.kong-ui-entity-base-form[data-v-b073d014] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-b073d014] .tab-item>div.tab-link.has-panels{color:#6c7489!important;font-size:14px!important;font-weight:700!important;line-height:24px!important}.kong-ui-entity-base-form[data-v-b073d014] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.form-actions[data-v-b073d014]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-b073d014] .k-button:last-of-type,.form-actions[data-v-b073d014] .k-button:nth-last-of-type(2){margin-left:16px}.content-wrapper[data-v-a3a65cac] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-01e745ef]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-01e745ef]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-01e745ef]{display:none}.kong-ui-entity-base-table[data-v-01e745ef] .empty-state-icon-gateway{background-color:#ecfcff;border-radius:4px;padding:8px}.kong-ui-entity-base-table :deep(.k-table){table-layout:fixed}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-cebb2dd7]{width:100%}.kong-ui-entity-filter-clear[data-v-cebb2dd7]{cursor:pointer}.kong-ui-entity-filter[data-v-cebb2dd7]{display:flex;position:relative}.kong-ui-entity-filter[data-v-cebb2dd7] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-cebb2dd7] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-cebb2dd7]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-cebb2dd7]{background-color:#fff;border:1px solid #afb7c5;border-radius:4px;box-shadow:0 4px 20px #e0e4ea;left:0;margin-top:16px;padding:8px 0 12px;position:absolute;top:100%;width:300px;z-index:1060}.kong-ui-entity-filter-menu-item[data-v-cebb2dd7]{border-bottom:1px solid #e0e4ea;color:#6c7489;font-size:12px;font-weight:400;line-height:16px;list-style:none;margin:0 20px;padding:16px 0;position:relative;white-space:nowrap}.menu-item-title[data-v-cebb2dd7]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-cebb2dd7]{color:#232633}.menu-item-expand-icon[data-v-cebb2dd7]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-cebb2dd7]{transform:rotate(180deg)}.menu-item-indicator[data-v-cebb2dd7]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-cebb2dd7]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-cebb2dd7] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-cebb2dd7] .k-input{width:100%}.menu-item-body[data-v-cebb2dd7] .k-select-input .input{font-size:12px}.menu-item-body[data-v-cebb2dd7] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-cebb2dd7]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-cebb2dd7]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-cebb2dd7]{padding:12px 20px 0}fieldset[data-v-b1f74200]{margin:0;min-width:0;padding:0}.kong-ui-entity-form-section[data-v-b1f74200]{border:0}.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{column-gap:16px;display:flex;flex-direction:column;padding-bottom:64px;row-gap:12px;width:100%}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{flex-direction:row}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{flex:1}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{max-width:350px}.kong-ui-entity-form-section .form-section-wrapper .form-section-info.sticky[data-v-b1f74200]{height:fit-content;margin-bottom:16px;position:sticky;top:16px}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-title[data-v-b1f74200]{color:#000933;font-size:16px;font-weight:700;line-height:20px;margin-bottom:8px;margin-top:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description p[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200] p{color:#000933;font-size:14px;font-weight:400;line-height:20px;margin:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-footer[data-v-b1f74200]{margin-top:32px}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]{flex:1}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]>*:not(:first-child){margin-top:24px}.kong-ui-entity-form-section.has-divider .form-section-wrapper[data-v-b1f74200]{border-bottom:1px solid #e0e4ea}.kong-ui-public-entity-link[data-v-96efdfa5]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-96efdfa5]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5]{display:flex;flex:1}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-96efdfa5]{display:inline-block;font-weight:400;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-96efdfa5]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-96efdfa5]{margin-left:2px}.kong-ui-public-entity-empty-state[data-v-b6376b66]{align-items:center;background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;font-family:Inter,Roboto,Helvetica,sans-serif;gap:24px;padding:64px 0;width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state[data-v-b6376b66]{padding:64px 96px}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-b6376b66]{margin-bottom:8px}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-b6376b66]{align-items:center;display:flex;flex-direction:column;gap:8px;text-align:center;width:100%}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1[data-v-b6376b66]{align-items:center;color:#000933;display:flex;font-size:24px;font-weight:700;gap:8px;line-height:32px;margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1.secondary[data-v-b6376b66]{font-size:18px}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-b6376b66],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-b6376b66]{color:#52596e;font-size:14px;font-weight:400;line-height:20px;max-width:640px}.kong-ui-public-entity-empty-state .entity-empty-state-description p[data-v-b6376b66],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-b6376b66]{margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-b6376b66]{margin-top:16px}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-b6376b66]{color:#52596e}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-b6376b66]{align-items:center;display:flex;gap:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-b6376b66]{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-around;margin-top:8px;width:312px}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-b6376b66]{width:640px}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-b6376b66]{background-color:#f9fafb;border:1px solid #e0e4ea;border-radius:6px;color:#afb7c5;gap:8px;height:160px;padding:20px;width:312px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-b6376b66]{color:#3a3f51;display:flex;margin-bottom:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-b6376b66] .kui-icon{height:20px!important;width:20px!important}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-b6376b66] .card-title{font-size:14px;font-weight:600}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-b6376b66] .card-content{-webkit-box-orient:vertical;color:#6c7489;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-b6376b66]{border-top:1px solid #e0e4ea;display:flex;flex-direction:column;gap:16px;padding-top:48px;width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-b6376b66]{width:640px}}.button-row[data-v-aeb4b6e1]{align-items:center;display:flex;gap:12px}.kong-ui-entities-key-sets-list[data-v-aeb4b6e1]{width:100%}.kong-ui-entities-key-sets-list .kong-ui-entity-filter-input[data-v-aeb4b6e1]{margin-right:12px}.kong-ui-entities-key-sets-form[data-v-a4b01cc5]{width:100%}
|
|
1
|
+
.config-card-fieldset[data-v-f7096c33]{border:solid 1px #e0e4ea;border-radius:4px;margin-bottom:8px;margin-top:4px}.config-card-fieldset-title[data-v-f7096c33]{font-size:14px;padding:0 8px;width:auto}fieldset.config-card-fieldset .config-card-details-row{width:unset}.config-card-json-item .config-card-details-row,fieldset.config-card-fieldset .config-card-details-row{margin:0 16px}.config-card-json-item .config-card-details-row:last-of-type,fieldset.config-card-fieldset .config-card-details-row:last-of-type{border-bottom:none}[data-v-2feb8c2e] .k-button.navigation-button{font-size:14px;font-weight:400}.config-card-details-row[data-v-5f9aa0e8]{align-items:center;border-bottom:var(--2f90d7f7);box-sizing:border-box;display:var(--668a792a);padding:16px 16px 16px 0;width:100%}.config-card-details-row .config-card-details-label[data-v-5f9aa0e8]{box-sizing:border-box;padding-right:16px;width:var(--5bc9ad14)}.config-card-details-row .config-card-details-label label[data-v-5f9aa0e8]{color:#3a3f51;display:inline-flex;max-width:100%}.config-card-details-row .config-card-details-label label .label-content[data-v-5f9aa0e8]{line-height:initial;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-label label .k-popover[data-v-5f9aa0e8]{min-width:0}.config-card-details-row .config-card-details-value[data-v-5f9aa0e8]{box-sizing:border-box;width:var(--5bc5215e)}.config-card-details-row .config-card-details-value .truncated[data-v-5f9aa0e8]{display:inline-block;line-height:initial;max-width:20ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-card-details-row .config-card-details-value span.attrs-data-text[data-v-5f9aa0e8]{overflow-wrap:anywhere}.config-card-details-row .config-card-details-value .copy-uuid-array[data-v-5f9aa0e8] .k-copy:not(:last-of-type){margin-bottom:8px}.config-card-details-row .config-card-details-value .method-badge-array[data-v-5f9aa0e8]{display:flex;flex-wrap:wrap;row-gap:10px}.config-card-details-row .config-badge[data-v-5f9aa0e8]{margin-right:4px}.config-card-details-row[data-v-5f9aa0e8] .k-label{margin-bottom:0}.config-card-details-row[data-v-5f9aa0e8] .k-label .kong-icon-infoFilled{display:flex}.config-card-details-row[data-v-5f9aa0e8] .config-card-details-row{width:auto}.json-content.k-code-block{border-top-left-radius:0;border-top-right-radius:0}.json-endpoint{align-items:baseline;background-color:#000933;border-bottom:1px solid rgba(255,255,255,.2);border-top-left-radius:8px;border-top-right-radius:8px;display:flex;padding:8px 0 8px 12px}.json-endpoint .k-code-block{flex:auto;z-index:2}.json-endpoint .k-code-block .code-block-content{padding-bottom:0;padding-top:0}.json-endpoint .k-code-block .code-block-secondary-actions{margin-top:0!important}.json-endpoint code{direction:rtl;max-width:var(--54aebfa2);overflow:hidden!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.config-card-prop-section-title[data-v-d67757a9]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card .config-card-actions[data-v-dd0edd92]{align-items:center;display:flex}.kong-ui-entity-base-config-card .config-card-actions .config-format-select-label[data-v-dd0edd92]{margin-bottom:0;margin-right:8px}.kong-ui-entity-base-config-card .config-card-prop-section-title[data-v-dd0edd92]{color:#000933;font-size:16px;font-weight:600;margin-bottom:16px;margin-top:48px}.kong-ui-entity-base-config-card[data-v-dd0edd92] .config-card-details-row:last-of-type{border-bottom:none}.kong-ui-entity-base-config-card .book-icon[data-v-dd0edd92]{margin-left:8px;padding:0}.kong-ui-entity-base-form[data-v-b073d014]{box-sizing:border-box;max-width:1536px;width:100%}.kong-ui-entity-base-form[data-v-b073d014] .k-slideout-title{color:#000933!important;font-size:24px!important;font-weight:700!important;line-height:32px!important;margin-bottom:16px!important}.kong-ui-entity-base-form[data-v-b073d014] .k-card.content-card{padding:0 16px!important}.kong-ui-entity-base-form[data-v-b073d014] .tab-item>div.tab-link.has-panels{color:#6c7489!important;font-size:14px!important;font-weight:700!important;line-height:24px!important}.kong-ui-entity-base-form[data-v-b073d014] .tab-item.active>div.tab-link.has-panels{color:#000933!important;font-weight:600!important}.form-actions[data-v-b073d014]{align-items:center;display:flex;justify-content:flex-end;margin-top:24px}.form-actions[data-v-b073d014] .k-button:last-of-type,.form-actions[data-v-b073d014] .k-button:nth-last-of-type(2){margin-left:16px}.content-wrapper[data-v-a3a65cac] .k-tooltip{word-break:break-all}.kong-ui-entity-base-table .toolbar-container[data-v-01e745ef]{align-items:center;display:flex;width:100%}.kong-ui-entity-base-table .toolbar-button-container[data-v-01e745ef]{margin-left:auto}.kong-ui-entity-base-table .hidden[data-v-01e745ef]{display:none}.kong-ui-entity-base-table[data-v-01e745ef] .empty-state-icon-gateway{background-color:#ecfcff;border-radius:4px;padding:8px}.kong-ui-entity-base-table :deep(.k-table){table-layout:fixed}.kong-ui-entity-delete-modal .message[data-v-4361d622],.kong-ui-entity-delete-modal .description[data-v-4361d622]{line-height:24px;margin:0}.kong-ui-entity-delete-modal .message strong[data-v-4361d622]{font-weight:600}.kong-ui-entity-delete-modal .description[data-v-4361d622]{margin-top:32px}.kong-ui-entity-delete-error[data-v-4361d622]{margin-bottom:16px}.kong-ui-entity-filter-input[data-v-a1d0ad30]{width:100%}.kong-ui-entity-filter-clear[data-v-a1d0ad30]{cursor:pointer}.kong-ui-entity-filter[data-v-a1d0ad30]{display:flex;position:relative}.kong-ui-entity-filter[data-v-a1d0ad30] .menu-content{flex-direction:column}.kong-ui-entity-filter[data-v-a1d0ad30] .k-menu-item-divider hr{margin:12px 0}.kong-ui-entity-filter-backdrop[data-v-a1d0ad30]{bottom:0;left:0;position:fixed;right:0;top:0;z-index:1050}.kong-ui-entity-filter-menu[data-v-a1d0ad30]{background-color:#fff;border:1px solid #afb7c5;border-radius:4px;box-shadow:0 4px 20px #e0e4ea;left:0;margin-top:16px;padding:8px 0 12px;position:absolute;top:100%;width:300px;z-index:1060}.kong-ui-entity-filter-menu-item[data-v-a1d0ad30]{border-bottom:1px solid #e0e4ea;color:#6c7489;font-size:12px;font-weight:400;line-height:16px;list-style:none;margin:0 20px;padding:16px 0;position:relative;white-space:nowrap}.menu-item-title[data-v-a1d0ad30]{align-items:center;cursor:pointer;display:flex;line-height:24px}.menu-item-title.expanded[data-v-a1d0ad30]{color:#232633}.menu-item-expand-icon[data-v-a1d0ad30]{margin-left:auto}.menu-item-expand-icon.expanded[data-v-a1d0ad30]{transform:rotate(180deg)}.menu-item-indicator[data-v-a1d0ad30]{background-color:#0044f4;border-radius:50%;height:4px;margin-left:4px;width:4px}.menu-item-body[data-v-a1d0ad30]{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.menu-item-body[data-v-a1d0ad30] .input{padding-bottom:4px!important;padding-top:4px!important}.menu-item-body[data-v-a1d0ad30] .k-input{width:100%}.menu-item-body[data-v-a1d0ad30] .k-select-input .input{font-size:12px}.menu-item-body[data-v-a1d0ad30] .k-select-input .input::placeholder{color:#00000073!important;font-size:12px}.menu-item-label[data-v-a1d0ad30]{margin-bottom:0;margin-right:12px}.menu-item-buttons[data-v-a1d0ad30]{display:flex;justify-content:space-between;margin:10px 0 6px}.filter-clear-button-container[data-v-a1d0ad30]{padding:12px 20px 0}fieldset[data-v-b1f74200]{margin:0;min-width:0;padding:0}.kong-ui-entity-form-section[data-v-b1f74200]{border:0}.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{column-gap:16px;display:flex;flex-direction:column;padding-bottom:64px;row-gap:12px;width:100%}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper[data-v-b1f74200]{flex-direction:row}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{flex:1}@media (min-width: 1024px){.kong-ui-entity-form-section .form-section-wrapper .form-section-info[data-v-b1f74200]{max-width:350px}.kong-ui-entity-form-section .form-section-wrapper .form-section-info.sticky[data-v-b1f74200]{height:fit-content;margin-bottom:16px;position:sticky;top:16px}}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-title[data-v-b1f74200]{color:#000933;font-size:16px;font-weight:700;line-height:20px;margin-bottom:8px;margin-top:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description p[data-v-b1f74200],.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-description[data-v-b1f74200] p{color:#000933;font-size:14px;font-weight:400;line-height:20px;margin:0}.kong-ui-entity-form-section .form-section-wrapper .form-section-info .form-section-footer[data-v-b1f74200]{margin-top:32px}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]{flex:1}.kong-ui-entity-form-section .form-section-wrapper .form-section-content[data-v-b1f74200]>*:not(:first-child){margin-top:24px}.kong-ui-entity-form-section.has-divider .form-section-wrapper[data-v-b1f74200]{border-bottom:1px solid #e0e4ea}.kong-ui-public-entity-link[data-v-96efdfa5]{align-items:center;display:flex}.kong-ui-public-entity-link .deleted-entity[data-v-96efdfa5]{font-style:italic}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5]{display:flex;flex:1}.kong-ui-public-entity-link .entity-link[data-v-96efdfa5] .external-link-icon{color:#0044f4;margin-left:4px;padding:2px}.kong-ui-public-entity-link .entity-link-label[data-v-96efdfa5]{display:inline-block;font-weight:400;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kong-ui-public-entity-link .copy-uuid-tooltip[data-v-96efdfa5]{align-items:center;cursor:pointer;display:flex}.kong-ui-public-entity-link .copy-uuid-tooltip .entity-link-copy-id[data-v-96efdfa5]{margin-left:2px}.kong-ui-public-entity-empty-state[data-v-b6376b66]{align-items:center;background-color:#fff;box-sizing:border-box;display:flex;flex-direction:column;font-family:Inter,Roboto,Helvetica,sans-serif;gap:24px;padding:64px 0;width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state[data-v-b6376b66]{padding:64px 96px}}.kong-ui-public-entity-empty-state .empty-state-image[data-v-b6376b66]{margin-bottom:8px}.kong-ui-public-entity-empty-state .entity-empty-state-content[data-v-b6376b66]{align-items:center;display:flex;flex-direction:column;gap:8px;text-align:center;width:100%}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1[data-v-b6376b66]{align-items:center;color:#000933;display:flex;font-size:24px;font-weight:700;gap:8px;line-height:32px;margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-content .entity-empty-state-title h1.secondary[data-v-b6376b66]{font-size:18px}.kong-ui-public-entity-empty-state .entity-empty-state-description[data-v-b6376b66],.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-b6376b66]{color:#52596e;font-size:14px;font-weight:400;line-height:20px;max-width:640px}.kong-ui-public-entity-empty-state .entity-empty-state-description p[data-v-b6376b66],.kong-ui-public-entity-empty-state .entity-empty-state-pricing p[data-v-b6376b66]{margin:0}.kong-ui-public-entity-empty-state .entity-empty-state-pricing[data-v-b6376b66]{margin-top:16px}.kong-ui-public-entity-empty-state .entity-empty-state-message[data-v-b6376b66]{color:#52596e}.kong-ui-public-entity-empty-state .entity-empty-state-action[data-v-b6376b66]{align-items:center;display:flex;gap:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-b6376b66]{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-around;margin-top:8px;width:312px}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-card-container[data-v-b6376b66]{width:640px}}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-b6376b66]{background-color:#f9fafb;border:1px solid #e0e4ea;border-radius:6px;color:#afb7c5;gap:8px;height:160px;padding:20px;width:312px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-b6376b66]{color:#3a3f51;display:flex;margin-bottom:12px}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card .feature-icon[data-v-b6376b66] .kui-icon{height:20px!important;width:20px!important}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-b6376b66] .card-title{font-size:14px;font-weight:600}.kong-ui-public-entity-empty-state .entity-empty-state-card-container .entity-empty-state-card[data-v-b6376b66] .card-content{-webkit-box-orient:vertical;color:#6c7489;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-b6376b66]{border-top:1px solid #e0e4ea;display:flex;flex-direction:column;gap:16px;padding-top:48px;width:100%}@media (min-width: 640px){.kong-ui-public-entity-empty-state .entity-empty-state-bottom-container[data-v-b6376b66]{width:640px}}.button-row[data-v-33db902d]{align-items:center;display:flex;gap:12px}.kong-ui-entities-key-sets-list[data-v-33db902d]{width:100%}.kong-ui-entities-key-sets-list .kong-ui-entity-filter-input[data-v-33db902d]{margin-right:12px}.kong-ui-entities-key-sets-form[data-v-a4b01cc5]{width:100%}
|
|
@@ -42,6 +42,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
42
42
|
type: BooleanConstructor;
|
|
43
43
|
default: boolean;
|
|
44
44
|
};
|
|
45
|
+
/**
|
|
46
|
+
* Enables the new empty state design, this prop can be removed when
|
|
47
|
+
* the khcp-14756-empty-states-m2 FF is removed.
|
|
48
|
+
*/
|
|
49
|
+
enableV2EmptyStates: {
|
|
50
|
+
type: BooleanConstructor;
|
|
51
|
+
default: boolean;
|
|
52
|
+
};
|
|
45
53
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
46
54
|
error: (error: AxiosError<unknown, any>) => any;
|
|
47
55
|
"click:learn-more": () => any;
|
|
@@ -88,6 +96,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
88
96
|
type: BooleanConstructor;
|
|
89
97
|
default: boolean;
|
|
90
98
|
};
|
|
99
|
+
/**
|
|
100
|
+
* Enables the new empty state design, this prop can be removed when
|
|
101
|
+
* the khcp-14756-empty-states-m2 FF is removed.
|
|
102
|
+
*/
|
|
103
|
+
enableV2EmptyStates: {
|
|
104
|
+
type: BooleanConstructor;
|
|
105
|
+
default: boolean;
|
|
106
|
+
};
|
|
91
107
|
}>> & Readonly<{
|
|
92
108
|
onError?: ((error: AxiosError<unknown, any>) => any) | undefined;
|
|
93
109
|
"onClick:learn-more"?: (() => any) | undefined;
|
|
@@ -101,6 +117,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
101
117
|
canEdit: (row: EntityRow) => boolean | Promise<boolean>;
|
|
102
118
|
canRetrieve: (row: EntityRow) => boolean | Promise<boolean>;
|
|
103
119
|
useActionOutside: boolean;
|
|
120
|
+
enableV2EmptyStates: boolean;
|
|
104
121
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
105
122
|
export default _default;
|
|
106
123
|
//# sourceMappingURL=KeySetList.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeySetList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/KeySetList.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KeySetList.vue.d.ts","sourceRoot":"","sources":["../../../src/components/KeySetList.vue"],"names":[],"mappings":"AAsjBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAoBvC,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,SAAS,EACT,gBAAgB,EACjB,MAAM,UAAU,CAAA;AASjB,OAAO,gDAAgD,CAAA;;IAq+BrD,oHAAoH;;cAElG,QAAQ,CAAC,uBAAuB,GAAG,2BAA2B,CAAC;;4BAE3D,uBAAuB,GAAG,2BAA2B,KAAG,OAAO;;;;;;IAYrF,yHAAyH;;cAErG,QAAQ,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI9D,2HAA2H;;cAEvG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,yHAAyH;;cAErG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,4IAA4I;;cAExH,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,iHAAiH;;;;;IAKjH;;;OAGG;;;;;;;;;;;;IAhDH,oHAAoH;;cAElG,QAAQ,CAAC,uBAAuB,GAAG,2BAA2B,CAAC;;4BAE3D,uBAAuB,GAAG,2BAA2B,KAAG,OAAO;;;;;;IAYrF,yHAAyH;;cAErG,QAAQ,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI9D,2HAA2H;;cAEvG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,yHAAyH;;cAErG,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,4IAA4I;;cAExH,QAAQ,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;;;;IAI5E,iHAAiH;;;;;IAKjH;;;OAGG;;;;;;;;;;;;;qBA9BgC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;qBAM1B,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;mBAMxC,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;uBAMxC,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;;;;AAjD7E,wBAmEG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kong-ui-public/entities-key-sets",
|
|
3
|
-
"version": "3.7.30
|
|
3
|
+
"version": "3.7.30",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/entities-key-sets.umd.js",
|
|
6
6
|
"module": "./dist/entities-key-sets.es.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"axios": "^1.7.7",
|
|
27
27
|
"vue": ">= 3.3.13 < 4",
|
|
28
28
|
"vue-router": "^4.4.5",
|
|
29
|
-
"@kong-ui-public/entities-shared": "^3.
|
|
29
|
+
"@kong-ui-public/entities-shared": "^3.25.0",
|
|
30
30
|
"@kong-ui-public/i18n": "^2.3.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"axios": "^1.7.7",
|
|
36
36
|
"vue": "^3.5.13",
|
|
37
37
|
"vue-router": "^4.4.5",
|
|
38
|
-
"@kong-ui-public/
|
|
39
|
-
"@kong-ui-public/
|
|
38
|
+
"@kong-ui-public/i18n": "^2.3.0",
|
|
39
|
+
"@kong-ui-public/entities-shared": "^3.25.0"
|
|
40
40
|
},
|
|
41
41
|
"repository": {
|
|
42
42
|
"type": "git",
|