@kong-ui-public/dashboard-renderer 0.33.8 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dashboard-renderer.es.js +260 -236
- package/dist/dashboard-renderer.umd.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/DashboardTile.vue.d.ts +1 -1
- package/dist/types/components/DashboardTile.vue.d.ts.map +1 -1
- package/dist/types/components/QueryDataProvider.vue.d.ts.map +1 -1
- package/package.json +10 -10
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
1
|
+
import { ref as O, watchEffect as le, inject as B, defineComponent as k, onUnmounted as te, computed as g, watch as ue, resolveComponent as N, unref as l, openBlock as d, createBlock as _, withCtx as b, createTextVNode as U, toDisplayString as L, renderSlot as V, createCommentVNode as S, useCssVars as G, createElementVNode as K, createVNode as F, mergeProps as re, createSlots as ae, createElementBlock as R, normalizeProps as de, guardReactiveProps as pe, resolveDynamicComponent as ye, onMounted as he, Fragment as me, renderList as fe, normalizeClass as ve, normalizeStyle as Q } from "vue";
|
|
2
|
+
import { stripUnknownFilters as ge, Timeframe as _e, TimePeriods as ne, TIMEFRAME_LOOKUP as qe, formatTime as J, msToGranularity as be } from "@kong-ui-public/analytics-utilities";
|
|
3
|
+
import { SimpleChart as Ee, AnalyticsChart as Ce, TopNTable as Ie, CsvExportModal as Te } from "@kong-ui-public/analytics-chart";
|
|
4
|
+
import Se from "swrv";
|
|
4
5
|
import "axios";
|
|
5
|
-
import { createI18n as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const xe = (a) => {
|
|
6
|
+
import { createI18n as Re, i18nTComponent as ke } from "@kong-ui-public/i18n";
|
|
7
|
+
import { MetricsProvider as Ae, MetricsConsumer as De } from "@kong-ui-public/analytics-metric-provider";
|
|
8
|
+
import { EntityLink as xe } from "@kong-ui-public/entities-shared";
|
|
9
|
+
import { EditIcon as we, MoreIcon as Oe } from "@kong/icons";
|
|
10
|
+
import { useAnalyticsConfigStore as Fe } from "@kong-ui-public/analytics-config-store";
|
|
11
|
+
var oe = /* @__PURE__ */ ((a) => (a.VALIDATING = "VALIDATING", a.VALIDATING_HAS_DATA = "VALIDATING_HAS_DATA", a.PENDING = "PENDING", a.SUCCESS = "SUCCESS", a.SUCCESS_HAS_DATA = "SUCCESS_HAS_DATA", a.ERROR = "ERROR", a.STALE_IF_ERROR = "STALE_IF_ERROR", a))(oe || {});
|
|
12
|
+
const $e = (a) => {
|
|
13
13
|
var t, e, r, s, o;
|
|
14
14
|
return a ? !!// TODO: revisit: currently only the first check ever matters?
|
|
15
15
|
((t = Object.keys(a)) != null && t.length || (e = a.data) != null && e.length || (s = (r = a.data) == null ? void 0 : r.data) != null && s.length || !((o = a.data) != null && o.data) && typeof a.data == "object" && Object.keys(a == null ? void 0 : a.data).length) : !1;
|
|
16
16
|
};
|
|
17
|
-
function
|
|
18
|
-
const s =
|
|
17
|
+
function Le(a = O({}), t, e, r = $e) {
|
|
18
|
+
const s = O(
|
|
19
19
|
"PENDING"
|
|
20
20
|
/* PENDING */
|
|
21
21
|
);
|
|
22
|
-
return
|
|
22
|
+
return le(() => {
|
|
23
23
|
const o = r(a.value);
|
|
24
24
|
if (a.value && o && e.value) {
|
|
25
25
|
s.value = "VALIDATING_HAS_DATA";
|
|
@@ -48,10 +48,10 @@ function we(a = x({}), t, e, r = xe) {
|
|
|
48
48
|
a.value === void 0 && t && (s.value = "ERROR");
|
|
49
49
|
}), {
|
|
50
50
|
state: s,
|
|
51
|
-
swrvState:
|
|
51
|
+
swrvState: oe
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
|
-
const
|
|
54
|
+
const Ne = {
|
|
55
55
|
noQueryBridge: "No query bridge provided. Unable to render dashboard.",
|
|
56
56
|
trendRange: {
|
|
57
57
|
"24h": "Last 24-Hour Summary",
|
|
@@ -59,36 +59,36 @@ const Oe = {
|
|
|
59
59
|
"30d": "Last 30-Day Summary"
|
|
60
60
|
},
|
|
61
61
|
edit: "Edit"
|
|
62
|
-
},
|
|
62
|
+
}, ze = {
|
|
63
63
|
timeRangeExceeded: "The time range for this report is outside of your organization's data retention period"
|
|
64
|
-
},
|
|
64
|
+
}, Ke = {
|
|
65
65
|
defaultFilename: "Chart Export",
|
|
66
66
|
exportAsCsv: "Export as CSV"
|
|
67
|
-
},
|
|
68
|
-
renderer:
|
|
69
|
-
queryDataProvider:
|
|
70
|
-
csvExport:
|
|
71
|
-
jumpToExplore:
|
|
67
|
+
}, Be = "Explore", Pe = {
|
|
68
|
+
renderer: Ne,
|
|
69
|
+
queryDataProvider: ze,
|
|
70
|
+
csvExport: Ke,
|
|
71
|
+
jumpToExplore: Be
|
|
72
72
|
};
|
|
73
|
-
function
|
|
74
|
-
const a =
|
|
73
|
+
function Me() {
|
|
74
|
+
const a = Re("en-us", Pe);
|
|
75
75
|
return {
|
|
76
76
|
i18n: a,
|
|
77
|
-
i18nT:
|
|
77
|
+
i18nT: ke(a)
|
|
78
78
|
// Translation component <i18n-t>
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
|
-
const
|
|
82
|
-
function
|
|
83
|
-
const a =
|
|
81
|
+
const H = 170, P = "analytics-query-provider", Z = "{entity-id}", Ue = "{cp-id}", Ge = "{timeframe}", Ve = 30 * 1e3;
|
|
82
|
+
function He() {
|
|
83
|
+
const a = B(P);
|
|
84
84
|
return {
|
|
85
85
|
evaluateFeatureFlag: (e, r) => a ? a.evaluateFeatureFlagFn(e, r) : r
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
|
-
const
|
|
89
|
-
useI18n:
|
|
90
|
-
useEvaluateFeatureFlag:
|
|
91
|
-
},
|
|
88
|
+
const $ = {
|
|
89
|
+
useI18n: Me,
|
|
90
|
+
useEvaluateFeatureFlag: He
|
|
91
|
+
}, j = /* @__PURE__ */ k({
|
|
92
92
|
__name: "QueryDataProvider",
|
|
93
93
|
props: {
|
|
94
94
|
context: {},
|
|
@@ -98,67 +98,73 @@ const w = {
|
|
|
98
98
|
},
|
|
99
99
|
emits: ["chart-data", "queryComplete"],
|
|
100
100
|
setup(a, { emit: t }) {
|
|
101
|
-
const e = a, r = t, { i18n: s } =
|
|
102
|
-
|
|
101
|
+
const e = a, r = t, { i18n: s } = $.useI18n(), o = B(P), c = () => e.queryReady && o ? JSON.stringify([e.query, e.context, e.refreshCounter]) : null, i = new AbortController();
|
|
102
|
+
te(() => {
|
|
103
103
|
i.abort();
|
|
104
104
|
});
|
|
105
|
-
const u = (p,
|
|
106
|
-
const
|
|
107
|
-
return
|
|
108
|
-
}, { data: y, error:
|
|
109
|
-
var p,
|
|
105
|
+
const u = (p, v, T) => {
|
|
106
|
+
const C = [];
|
|
107
|
+
return v && C.push(...v), C.push(...ge(p, T)), C;
|
|
108
|
+
}, { data: y, error: D, isValidating: x } = Se(c, async () => {
|
|
109
|
+
var p, v, T, C;
|
|
110
110
|
try {
|
|
111
111
|
let {
|
|
112
|
-
datasource:
|
|
113
|
-
...
|
|
112
|
+
datasource: f,
|
|
113
|
+
...n
|
|
114
114
|
} = e.query;
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
|
|
115
|
+
f || (f = "basic");
|
|
116
|
+
const A = u(f, e.query.filters, e.context.filters);
|
|
117
|
+
let q = e.query.time_range;
|
|
118
|
+
q ? q.tz || (q = {
|
|
119
|
+
...q,
|
|
120
|
+
tz: e.context.tz
|
|
121
|
+
}) : q = {
|
|
122
|
+
...e.context.timeSpec,
|
|
123
|
+
tz: e.context.tz
|
|
124
|
+
};
|
|
125
|
+
const M = {
|
|
126
|
+
datasource: f,
|
|
118
127
|
query: {
|
|
119
|
-
...
|
|
120
|
-
time_range:
|
|
121
|
-
|
|
122
|
-
tz: e.context.tz
|
|
123
|
-
},
|
|
124
|
-
filters: P
|
|
128
|
+
...n,
|
|
129
|
+
time_range: q,
|
|
130
|
+
filters: A
|
|
125
131
|
}
|
|
126
132
|
};
|
|
127
|
-
return o == null ? void 0 : o.queryFn(
|
|
128
|
-
} catch (
|
|
129
|
-
|
|
133
|
+
return o == null ? void 0 : o.queryFn(M, i);
|
|
134
|
+
} catch (f) {
|
|
135
|
+
w.value = ((v = (p = f == null ? void 0 : f.response) == null ? void 0 : p.data) == null ? void 0 : v.message) === "Range not allowed for this tier" ? s.t("queryDataProvider.timeRangeExceeded") : ((C = (T = f == null ? void 0 : f.response) == null ? void 0 : T.data) == null ? void 0 : C.message) || (f == null ? void 0 : f.message);
|
|
130
136
|
} finally {
|
|
131
137
|
r("queryComplete");
|
|
132
138
|
}
|
|
133
139
|
}, {
|
|
134
140
|
refreshInterval: e.context.refreshInterval,
|
|
135
141
|
revalidateOnFocus: !1
|
|
136
|
-
}), { state: m, swrvState:
|
|
137
|
-
return
|
|
142
|
+
}), { state: m, swrvState: I } = Le(y, D, x), w = O(null), h = g(() => m.value === I.ERROR || !!w.value), E = g(() => !e.queryReady || m.value === I.PENDING);
|
|
143
|
+
return ue(y, (p) => {
|
|
138
144
|
p && r("chart-data", p);
|
|
139
|
-
}), (p,
|
|
140
|
-
const
|
|
141
|
-
return
|
|
145
|
+
}), (p, v) => {
|
|
146
|
+
const T = N("KSkeleton"), C = N("KEmptyState");
|
|
147
|
+
return E.value || !l(y) && !h.value ? (d(), _(T, {
|
|
142
148
|
key: 0,
|
|
143
149
|
class: "chart-skeleton",
|
|
144
150
|
type: "table"
|
|
145
|
-
})) : h.value ? (d(),
|
|
151
|
+
})) : h.value ? (d(), _(C, {
|
|
146
152
|
key: 1,
|
|
147
153
|
"action-button-visible": !1,
|
|
148
154
|
"data-testid": "chart-empty-state",
|
|
149
155
|
"icon-variant": "error"
|
|
150
156
|
}, {
|
|
151
|
-
default:
|
|
152
|
-
|
|
157
|
+
default: b(() => [
|
|
158
|
+
U(L(w.value), 1)
|
|
153
159
|
]),
|
|
154
160
|
_: 1
|
|
155
|
-
})) : l(y) ?
|
|
161
|
+
})) : l(y) ? V(p.$slots, "default", {
|
|
156
162
|
key: 2,
|
|
157
163
|
data: l(y)
|
|
158
|
-
}) :
|
|
164
|
+
}) : S("", !0);
|
|
159
165
|
};
|
|
160
166
|
}
|
|
161
|
-
}),
|
|
167
|
+
}), je = { class: "analytics-chart" }, Qe = /* @__PURE__ */ k({
|
|
162
168
|
__name: "SimpleChartRenderer",
|
|
163
169
|
props: {
|
|
164
170
|
query: {},
|
|
@@ -169,19 +175,19 @@ const w = {
|
|
|
169
175
|
refreshCounter: {}
|
|
170
176
|
},
|
|
171
177
|
setup(a) {
|
|
172
|
-
|
|
178
|
+
G((e) => ({
|
|
173
179
|
c40c0e86: `${e.height}px`
|
|
174
180
|
}));
|
|
175
181
|
const t = a;
|
|
176
|
-
return (e, r) => (d(),
|
|
182
|
+
return (e, r) => (d(), _(j, {
|
|
177
183
|
context: e.context,
|
|
178
184
|
query: e.query,
|
|
179
185
|
"query-ready": e.queryReady,
|
|
180
186
|
"refresh-counter": e.refreshCounter
|
|
181
187
|
}, {
|
|
182
|
-
default:
|
|
183
|
-
|
|
184
|
-
|
|
188
|
+
default: b(({ data: s }) => [
|
|
189
|
+
K("div", je, [
|
|
190
|
+
F(l(Ee), {
|
|
185
191
|
"chart-data": s,
|
|
186
192
|
"chart-options": t.chartOptions,
|
|
187
193
|
"synthetics-data-key": e.chartOptions.syntheticsDataKey
|
|
@@ -191,12 +197,12 @@ const w = {
|
|
|
191
197
|
_: 1
|
|
192
198
|
}, 8, ["context", "query", "query-ready", "refresh-counter"]));
|
|
193
199
|
}
|
|
194
|
-
}),
|
|
200
|
+
}), z = (a, t) => {
|
|
195
201
|
const e = a.__vccOpts || a;
|
|
196
202
|
for (const [r, s] of t)
|
|
197
203
|
e[r] = s;
|
|
198
204
|
return e;
|
|
199
|
-
},
|
|
205
|
+
}, Je = /* @__PURE__ */ z(Qe, [["__scopeId", "data-v-694cf637"]]), Ze = { class: "analytics-chart" }, We = /* @__PURE__ */ k({
|
|
200
206
|
__name: "BaseAnalyticsChartRenderer",
|
|
201
207
|
props: {
|
|
202
208
|
query: {},
|
|
@@ -209,39 +215,39 @@ const w = {
|
|
|
209
215
|
},
|
|
210
216
|
emits: ["edit-tile", "chart-data"],
|
|
211
217
|
setup(a, { emit: t }) {
|
|
212
|
-
const e = a, r = t, s =
|
|
218
|
+
const e = a, r = t, s = B(P), { i18n: o } = $.useI18n(), { evaluateFeatureFlag: c } = $.useEvaluateFeatureFlag(), i = c("ma-3043-analytics-chart-kebab-menu", !1), u = g(() => ({
|
|
213
219
|
type: e.chartOptions.type,
|
|
214
220
|
stacked: e.chartOptions.stacked ?? !1,
|
|
215
221
|
chartDatasetColors: e.chartOptions.chartDatasetColors,
|
|
216
222
|
threshold: e.chartOptions.threshold
|
|
217
|
-
})), y =
|
|
223
|
+
})), y = g(() => {
|
|
218
224
|
if (s && s.exploreBaseUrl) {
|
|
219
225
|
const m = {
|
|
220
226
|
filters: [...e.context.filters, ...e.query.filters ?? []],
|
|
221
227
|
metrics: e.query.metrics ?? [],
|
|
222
228
|
dimensions: e.query.dimensions ?? [],
|
|
223
229
|
time_range: e.query.time_range || e.context.timeSpec
|
|
224
|
-
},
|
|
225
|
-
return `${s.exploreBaseUrl()}?q=${JSON.stringify(m)}&d=${
|
|
230
|
+
}, I = ["advanced", "ai"].includes(e.query.datasource) ? e.query.datasource : "advanced";
|
|
231
|
+
return `${s.exploreBaseUrl()}?q=${JSON.stringify(m)}&d=${I}&c=${e.chartOptions.type}`;
|
|
226
232
|
}
|
|
227
233
|
return "";
|
|
228
|
-
}),
|
|
234
|
+
}), D = () => {
|
|
229
235
|
r("edit-tile");
|
|
230
|
-
},
|
|
236
|
+
}, x = (m) => {
|
|
231
237
|
r("chart-data", m);
|
|
232
238
|
};
|
|
233
|
-
return (m,
|
|
234
|
-
const
|
|
235
|
-
return d(),
|
|
239
|
+
return (m, I) => {
|
|
240
|
+
const w = N("KDropdownItem");
|
|
241
|
+
return d(), _(j, {
|
|
236
242
|
context: m.context,
|
|
237
243
|
query: m.query,
|
|
238
244
|
"query-ready": m.queryReady,
|
|
239
245
|
"refresh-counter": m.refreshCounter,
|
|
240
|
-
onChartData:
|
|
246
|
+
onChartData: x
|
|
241
247
|
}, {
|
|
242
|
-
default:
|
|
243
|
-
|
|
244
|
-
|
|
248
|
+
default: b(({ data: h }) => [
|
|
249
|
+
K("div", Ze, [
|
|
250
|
+
F(l(Ce), re({
|
|
245
251
|
"allow-csv-export": m.chartOptions.allowCsvExport,
|
|
246
252
|
"chart-data": h,
|
|
247
253
|
"chart-options": u.value,
|
|
@@ -251,13 +257,13 @@ const w = {
|
|
|
251
257
|
"show-menu": m.context.editable,
|
|
252
258
|
"synthetics-data-key": m.chartOptions.syntheticsDataKey,
|
|
253
259
|
"tooltip-title": ""
|
|
254
|
-
}, m.extraProps),
|
|
260
|
+
}, m.extraProps), ae({ _: 2 }, [
|
|
255
261
|
m.context.editable ? {
|
|
256
262
|
name: "menu-items",
|
|
257
|
-
fn:
|
|
258
|
-
|
|
259
|
-
default:
|
|
260
|
-
|
|
263
|
+
fn: b(() => [
|
|
264
|
+
F(w, { onClick: D }, {
|
|
265
|
+
default: b(() => [
|
|
266
|
+
U(L(l(o).t("renderer.edit")), 1)
|
|
261
267
|
]),
|
|
262
268
|
_: 1
|
|
263
269
|
})
|
|
@@ -271,7 +277,7 @@ const w = {
|
|
|
271
277
|
}, 8, ["context", "query", "query-ready", "refresh-counter"]);
|
|
272
278
|
};
|
|
273
279
|
}
|
|
274
|
-
}),
|
|
280
|
+
}), ie = /* @__PURE__ */ z(We, [["__scopeId", "data-v-1bc587d3"]]), W = /* @__PURE__ */ k({
|
|
275
281
|
__name: "BarChartRenderer",
|
|
276
282
|
props: {
|
|
277
283
|
query: {},
|
|
@@ -282,7 +288,7 @@ const w = {
|
|
|
282
288
|
refreshCounter: {}
|
|
283
289
|
},
|
|
284
290
|
setup(a) {
|
|
285
|
-
return (t, e) => (d(),
|
|
291
|
+
return (t, e) => (d(), _(ie, {
|
|
286
292
|
"chart-options": t.chartOptions,
|
|
287
293
|
context: t.context,
|
|
288
294
|
"extra-props": { showAnnotations: !1 },
|
|
@@ -292,7 +298,7 @@ const w = {
|
|
|
292
298
|
"refresh-counter": t.refreshCounter
|
|
293
299
|
}, null, 8, ["chart-options", "context", "height", "query", "query-ready", "refresh-counter"]));
|
|
294
300
|
}
|
|
295
|
-
}),
|
|
301
|
+
}), Y = /* @__PURE__ */ k({
|
|
296
302
|
__name: "TimeseriesChartRenderer",
|
|
297
303
|
props: {
|
|
298
304
|
query: {},
|
|
@@ -303,7 +309,7 @@ const w = {
|
|
|
303
309
|
refreshCounter: {}
|
|
304
310
|
},
|
|
305
311
|
setup(a) {
|
|
306
|
-
return (t, e) => (d(),
|
|
312
|
+
return (t, e) => (d(), _(ie, {
|
|
307
313
|
"chart-options": t.chartOptions,
|
|
308
314
|
context: t.context,
|
|
309
315
|
height: t.height,
|
|
@@ -312,7 +318,7 @@ const w = {
|
|
|
312
318
|
"refresh-counter": t.refreshCounter
|
|
313
319
|
}, null, 8, ["chart-options", "context", "height", "query", "query-ready", "refresh-counter"]));
|
|
314
320
|
}
|
|
315
|
-
}),
|
|
321
|
+
}), Ye = { class: "metric-card-tile-wrapper" }, Xe = /* @__PURE__ */ k({
|
|
316
322
|
__name: "GoldenSignalsRenderer",
|
|
317
323
|
props: {
|
|
318
324
|
query: {},
|
|
@@ -323,15 +329,15 @@ const w = {
|
|
|
323
329
|
refreshCounter: {}
|
|
324
330
|
},
|
|
325
331
|
setup(a) {
|
|
326
|
-
|
|
332
|
+
G((c) => ({
|
|
327
333
|
"926e3b48": l(r) ? "90%" : "100%",
|
|
328
334
|
"7be2893e": l(r) ? "auto" : "100%",
|
|
329
335
|
"0d55c162": l(r) ? "100%" : "none"
|
|
330
336
|
}));
|
|
331
|
-
const t = a, { evaluateFeatureFlag: e } =
|
|
337
|
+
const t = a, { evaluateFeatureFlag: e } = $.useEvaluateFeatureFlag(), r = e("ma-3043-analytics-chart-kebab-menu", !1), s = g(() => {
|
|
332
338
|
const c = t.context.timeSpec;
|
|
333
339
|
if (c.type === "absolute")
|
|
334
|
-
return new
|
|
340
|
+
return new _e({
|
|
335
341
|
key: "custom",
|
|
336
342
|
timeframeText: "custom",
|
|
337
343
|
display: "custom",
|
|
@@ -343,11 +349,11 @@ const w = {
|
|
|
343
349
|
isRelative: !1,
|
|
344
350
|
allowedTiers: ["free", "plus", "enterprise"]
|
|
345
351
|
});
|
|
346
|
-
const i =
|
|
352
|
+
const i = ne.get(c.time_range);
|
|
347
353
|
if (!i)
|
|
348
354
|
throw new Error("Unknown time range");
|
|
349
355
|
return i;
|
|
350
|
-
}), o =
|
|
356
|
+
}), o = g(() => {
|
|
351
357
|
var i, u;
|
|
352
358
|
const c = (i = t.query) == null ? void 0 : i.datasource;
|
|
353
359
|
if (c && c !== "advanced" && c !== "basic")
|
|
@@ -367,16 +373,16 @@ const w = {
|
|
|
367
373
|
refreshCounter: t.refreshCounter
|
|
368
374
|
};
|
|
369
375
|
});
|
|
370
|
-
return (c, i) => (d(),
|
|
371
|
-
|
|
372
|
-
default:
|
|
373
|
-
|
|
376
|
+
return (c, i) => (d(), R("div", Ye, [
|
|
377
|
+
F(l(Ae), de(pe(o.value)), {
|
|
378
|
+
default: b(() => [
|
|
379
|
+
F(l(De))
|
|
374
380
|
]),
|
|
375
381
|
_: 1
|
|
376
382
|
}, 16)
|
|
377
383
|
]));
|
|
378
384
|
}
|
|
379
|
-
}),
|
|
385
|
+
}), et = /* @__PURE__ */ z(Xe, [["__scopeId", "data-v-0f571079"]]), X = "#6c7489", ee = "20px", se = "20px", tt = /* @__PURE__ */ k({
|
|
380
386
|
__name: "TopNTableRenderer",
|
|
381
387
|
props: {
|
|
382
388
|
query: {},
|
|
@@ -387,33 +393,33 @@ const w = {
|
|
|
387
393
|
refreshCounter: {}
|
|
388
394
|
},
|
|
389
395
|
setup(a) {
|
|
390
|
-
const t = a, { evaluateFeatureFlag: e } =
|
|
396
|
+
const t = a, { evaluateFeatureFlag: e } = $.useEvaluateFeatureFlag(), r = e("ma-3043-analytics-chart-kebab-menu", !1), s = (o) => {
|
|
391
397
|
var c;
|
|
392
398
|
if ((c = t.chartOptions) != null && c.entityLink)
|
|
393
399
|
if (o.id.includes(":")) {
|
|
394
400
|
const [i, u] = o.id.split(":");
|
|
395
|
-
return t.chartOptions.entityLink.replace(
|
|
401
|
+
return t.chartOptions.entityLink.replace(Ue, i).replace(Z, u);
|
|
396
402
|
} else
|
|
397
|
-
return t.chartOptions.entityLink.replace(
|
|
403
|
+
return t.chartOptions.entityLink.replace(Z, o.id);
|
|
398
404
|
return "";
|
|
399
405
|
};
|
|
400
|
-
return (o, c) => (d(),
|
|
406
|
+
return (o, c) => (d(), _(j, {
|
|
401
407
|
context: o.context,
|
|
402
408
|
query: o.query,
|
|
403
409
|
"query-ready": o.queryReady,
|
|
404
410
|
"refresh-counter": o.refreshCounter
|
|
405
411
|
}, {
|
|
406
|
-
default:
|
|
407
|
-
|
|
412
|
+
default: b(({ data: i }) => [
|
|
413
|
+
F(l(Ie), {
|
|
408
414
|
data: i,
|
|
409
415
|
description: !l(r) && o.chartOptions.description || "",
|
|
410
416
|
"synthetics-data-key": o.chartOptions.syntheticsDataKey,
|
|
411
417
|
title: !l(r) && o.chartOptions.chartTitle || ""
|
|
412
|
-
},
|
|
418
|
+
}, ae({ _: 2 }, [
|
|
413
419
|
t.chartOptions.entityLink ? {
|
|
414
420
|
name: "name",
|
|
415
|
-
fn:
|
|
416
|
-
|
|
421
|
+
fn: b(({ record: u }) => [
|
|
422
|
+
F(l(xe), {
|
|
417
423
|
"entity-link-data": {
|
|
418
424
|
id: u.id,
|
|
419
425
|
label: u.name,
|
|
@@ -429,47 +435,47 @@ const w = {
|
|
|
429
435
|
_: 1
|
|
430
436
|
}, 8, ["context", "query", "query-ready", "refresh-counter"]));
|
|
431
437
|
}
|
|
432
|
-
}),
|
|
438
|
+
}), rt = ["data-testid"], at = {
|
|
433
439
|
key: 0,
|
|
434
440
|
class: "tile-header"
|
|
435
|
-
},
|
|
441
|
+
}, nt = ["data-testid"], ot = ["data-testid"], it = ["data-testid"], st = ["data-testid"], ct = ["data-testid"], lt = /* @__PURE__ */ k({
|
|
436
442
|
__name: "DashboardTile",
|
|
437
443
|
props: {
|
|
438
444
|
definition: {},
|
|
439
445
|
context: {},
|
|
440
|
-
height: { default:
|
|
446
|
+
height: { default: H },
|
|
441
447
|
queryReady: { type: Boolean },
|
|
442
448
|
refreshCounter: {},
|
|
443
449
|
tileId: {}
|
|
444
450
|
},
|
|
445
451
|
emits: ["edit-tile"],
|
|
446
452
|
setup(a, { emit: t }) {
|
|
447
|
-
|
|
448
|
-
|
|
453
|
+
G((n) => ({
|
|
454
|
+
"4fd5b2d2": `${n.height}px`
|
|
449
455
|
}));
|
|
450
|
-
const e = parseInt(
|
|
456
|
+
const e = parseInt(se, 10), r = a, s = t, o = B(P), { evaluateFeatureFlag: c } = $.useEvaluateFeatureFlag(), { i18n: i } = $.useI18n(), u = c("ma-3043-analytics-chart-kebab-menu", !1), y = O(), D = O(!1), x = g(() => {
|
|
451
457
|
if (o && o.exploreBaseUrl) {
|
|
452
458
|
const n = {
|
|
453
459
|
filters: [...r.context.filters, ...r.definition.query.filters ?? []],
|
|
454
460
|
metrics: r.definition.query.metrics ?? [],
|
|
455
461
|
dimensions: r.definition.query.dimensions ?? [],
|
|
456
462
|
time_range: r.definition.query.time_range || r.context.timeSpec,
|
|
457
|
-
granularity: r.definition.query.granularity ||
|
|
458
|
-
},
|
|
459
|
-
return `${o.exploreBaseUrl()}?q=${JSON.stringify(n)}&d=${
|
|
463
|
+
granularity: r.definition.query.granularity || p.value
|
|
464
|
+
}, A = ["advanced", "ai"].includes(r.definition.query.datasource) ? r.definition.query.datasource : "advanced";
|
|
465
|
+
return `${o.exploreBaseUrl()}?q=${JSON.stringify(n)}&d=${A}&c=${r.definition.chart.type}`;
|
|
460
466
|
}
|
|
461
467
|
return "";
|
|
462
|
-
}), m =
|
|
463
|
-
timeseries_line:
|
|
464
|
-
timeseries_bar:
|
|
465
|
-
horizontal_bar:
|
|
466
|
-
vertical_bar:
|
|
467
|
-
gauge:
|
|
468
|
-
golden_signals:
|
|
469
|
-
top_n:
|
|
468
|
+
}), m = g(() => i.t("csvExport.defaultFilename")), I = g(() => u && !["golden_signals", "top_n", "gauge"].includes(r.definition.chart.type)), w = {
|
|
469
|
+
timeseries_line: Y,
|
|
470
|
+
timeseries_bar: Y,
|
|
471
|
+
horizontal_bar: W,
|
|
472
|
+
vertical_bar: W,
|
|
473
|
+
gauge: Je,
|
|
474
|
+
golden_signals: et,
|
|
475
|
+
top_n: tt,
|
|
470
476
|
slottable: void 0
|
|
471
|
-
}, h =
|
|
472
|
-
const n =
|
|
477
|
+
}, h = g(() => {
|
|
478
|
+
const n = w[r.definition.chart.type];
|
|
473
479
|
return n && {
|
|
474
480
|
component: n,
|
|
475
481
|
rendererProps: {
|
|
@@ -481,98 +487,116 @@ const w = {
|
|
|
481
487
|
refreshCounter: r.refreshCounter
|
|
482
488
|
}
|
|
483
489
|
};
|
|
484
|
-
}),
|
|
490
|
+
}), E = g(() => {
|
|
491
|
+
var A;
|
|
492
|
+
const n = (A = r.definition.query) == null ? void 0 : A.time_range;
|
|
493
|
+
if ((n == null ? void 0 : n.type) === "relative") {
|
|
494
|
+
const q = ne.get(qe[n.time_range]);
|
|
495
|
+
return q ? q.display : (console.warn("Did not recognize the given relative time range:", n.time_range), n.time_range);
|
|
496
|
+
} else if ((n == null ? void 0 : n.type) === "absolute") {
|
|
497
|
+
const q = n.tz || "Etc/UTC";
|
|
498
|
+
return `${J(n.start, { short: !0, tz: q })} - ${J(n.end, { short: !0, tz: q })}`;
|
|
499
|
+
}
|
|
500
|
+
return null;
|
|
501
|
+
}), p = g(() => y.value ? be(y.value.meta.granularity_ms) : void 0), v = () => {
|
|
485
502
|
s("edit-tile", r.definition);
|
|
486
|
-
},
|
|
503
|
+
}, T = (n) => {
|
|
487
504
|
y.value = n;
|
|
488
|
-
},
|
|
489
|
-
|
|
490
|
-
},
|
|
491
|
-
|
|
505
|
+
}, C = (n) => {
|
|
506
|
+
D.value = n;
|
|
507
|
+
}, f = () => {
|
|
508
|
+
C(!0);
|
|
492
509
|
};
|
|
493
|
-
return (n,
|
|
494
|
-
const
|
|
495
|
-
return d(),
|
|
510
|
+
return (n, A) => {
|
|
511
|
+
const q = N("KBadge"), M = N("KDropdownItem"), ce = N("KDropdown");
|
|
512
|
+
return d(), R("div", {
|
|
496
513
|
class: "tile-boundary",
|
|
497
514
|
"data-testid": `tile-${n.tileId}`
|
|
498
515
|
}, [
|
|
499
|
-
l(u) && n.definition.chart.type !== "slottable" ? (d(),
|
|
500
|
-
|
|
516
|
+
l(u) && n.definition.chart.type !== "slottable" ? (d(), R("div", at, [
|
|
517
|
+
K("div", {
|
|
501
518
|
class: "title",
|
|
502
519
|
"data-testid": `tile-title-${n.tileId}`
|
|
503
|
-
},
|
|
504
|
-
|
|
520
|
+
}, L(n.definition.chart.chartTitle), 9, nt),
|
|
521
|
+
I.value || E.value ? (d(), R("div", {
|
|
505
522
|
key: 0,
|
|
506
523
|
class: "tile-actions",
|
|
507
524
|
"data-testid": `tile-actions-${n.tileId}`
|
|
508
525
|
}, [
|
|
509
|
-
|
|
510
|
-
|
|
526
|
+
E.value ? (d(), _(q, { key: 0 }, {
|
|
527
|
+
default: b(() => [
|
|
528
|
+
U(L(E.value), 1)
|
|
529
|
+
]),
|
|
530
|
+
_: 1
|
|
531
|
+
})) : S("", !0),
|
|
532
|
+
I.value && n.context.editable ? (d(), _(l(we), {
|
|
533
|
+
key: 1,
|
|
511
534
|
class: "edit-icon",
|
|
512
|
-
color: l(
|
|
535
|
+
color: l(X),
|
|
513
536
|
"data-testid": `edit-tile-${n.tileId}`,
|
|
514
|
-
size: l(
|
|
515
|
-
onClick:
|
|
516
|
-
}, null, 8, ["color", "data-testid", "size"])) :
|
|
517
|
-
|
|
537
|
+
size: l(ee),
|
|
538
|
+
onClick: v
|
|
539
|
+
}, null, 8, ["color", "data-testid", "size"])) : S("", !0),
|
|
540
|
+
I.value ? (d(), _(ce, {
|
|
541
|
+
key: 2,
|
|
518
542
|
class: "dropdown",
|
|
519
543
|
"data-testid": `chart-action-menu-${n.tileId}`,
|
|
520
544
|
"kpop-attributes": { placement: "bottom-end" }
|
|
521
545
|
}, {
|
|
522
|
-
items:
|
|
523
|
-
|
|
546
|
+
items: b(() => [
|
|
547
|
+
x.value ? (d(), _(M, {
|
|
524
548
|
key: 0,
|
|
525
549
|
"data-testid": `chart-jump-to-explore-${n.tileId}`,
|
|
526
|
-
item: { label: l(i).t("jumpToExplore"), to:
|
|
527
|
-
}, null, 8, ["data-testid", "item"])) :
|
|
528
|
-
"allowCsvExport" in n.definition.chart && n.definition.chart.allowCsvExport ? (d(),
|
|
550
|
+
item: { label: l(i).t("jumpToExplore"), to: x.value }
|
|
551
|
+
}, null, 8, ["data-testid", "item"])) : S("", !0),
|
|
552
|
+
"allowCsvExport" in n.definition.chart && n.definition.chart.allowCsvExport ? (d(), _(M, {
|
|
529
553
|
key: 1,
|
|
530
554
|
class: "chart-export-button",
|
|
531
555
|
"data-testid": `chart-csv-export-${n.tileId}`,
|
|
532
|
-
onClick:
|
|
556
|
+
onClick: A[0] || (A[0] = (vt) => f())
|
|
533
557
|
}, {
|
|
534
|
-
default:
|
|
535
|
-
|
|
558
|
+
default: b(() => [
|
|
559
|
+
K("span", {
|
|
536
560
|
class: "chart-export-trigger",
|
|
537
561
|
"data-testid": `csv-export-button-${n.tileId}`
|
|
538
|
-
},
|
|
562
|
+
}, L(l(i).t("csvExport.exportAsCsv")), 9, it)
|
|
539
563
|
]),
|
|
540
564
|
_: 1
|
|
541
|
-
}, 8, ["data-testid"])) :
|
|
565
|
+
}, 8, ["data-testid"])) : S("", !0)
|
|
542
566
|
]),
|
|
543
|
-
default:
|
|
544
|
-
|
|
567
|
+
default: b(() => [
|
|
568
|
+
F(l(Oe), {
|
|
545
569
|
class: "kebab-action-menu",
|
|
546
|
-
color: l(
|
|
570
|
+
color: l(X),
|
|
547
571
|
"data-testid": `kebab-action-menu-${n.tileId}`,
|
|
548
|
-
size: l(
|
|
572
|
+
size: l(ee)
|
|
549
573
|
}, null, 8, ["color", "data-testid", "size"])
|
|
550
574
|
]),
|
|
551
575
|
_: 1
|
|
552
|
-
}, 8, ["data-testid"])
|
|
553
|
-
], 8,
|
|
576
|
+
}, 8, ["data-testid"])) : S("", !0)
|
|
577
|
+
], 8, ot)) : "description" in n.definition.chart ? (d(), R("div", {
|
|
554
578
|
key: 1,
|
|
555
579
|
class: "header-description",
|
|
556
580
|
"data-testid": `tile-description-${n.tileId}`
|
|
557
|
-
},
|
|
558
|
-
|
|
581
|
+
}, L(n.definition.chart.description), 9, st)) : S("", !0),
|
|
582
|
+
D.value ? (d(), _(l(Te), {
|
|
559
583
|
key: 2,
|
|
560
584
|
"chart-data": y.value,
|
|
561
585
|
"data-testid": `csv-export-modal-${n.tileId}`,
|
|
562
586
|
filename: m.value,
|
|
563
|
-
onToggleModal:
|
|
564
|
-
}, null, 8, ["chart-data", "data-testid", "filename"])) :
|
|
565
|
-
])) :
|
|
566
|
-
|
|
587
|
+
onToggleModal: C
|
|
588
|
+
}, null, 8, ["chart-data", "data-testid", "filename"])) : S("", !0)
|
|
589
|
+
])) : S("", !0),
|
|
590
|
+
K("div", {
|
|
567
591
|
class: "tile-content",
|
|
568
592
|
"data-testid": `tile-content-${n.tileId}`
|
|
569
593
|
}, [
|
|
570
|
-
h.value ? (d(),
|
|
571
|
-
], 8,
|
|
572
|
-
], 8,
|
|
594
|
+
h.value ? (d(), _(ye(h.value.component), re({ key: 0 }, h.value.rendererProps, { onChartData: T }), null, 16)) : S("", !0)
|
|
595
|
+
], 8, ct)
|
|
596
|
+
], 8, rt);
|
|
573
597
|
};
|
|
574
598
|
}
|
|
575
|
-
}),
|
|
599
|
+
}), ut = /* @__PURE__ */ z(lt, [["__scopeId", "data-v-3031ac6e"]]), dt = (a, t, e) => {
|
|
576
600
|
const r = /* @__PURE__ */ new Map();
|
|
577
601
|
e.forEach((o) => {
|
|
578
602
|
const c = o.layout.position.row, i = r.get(c), u = o.layout.size.rows === 1 && !!o.layout.size.fitToContent;
|
|
@@ -582,7 +606,7 @@ const w = {
|
|
|
582
606
|
for (let o = 0; o < a; o++)
|
|
583
607
|
r.get(o) ? s.push("auto") : s.push(`${t}px`);
|
|
584
608
|
return s;
|
|
585
|
-
},
|
|
609
|
+
}, pt = /* @__PURE__ */ k({
|
|
586
610
|
__name: "GridLayout",
|
|
587
611
|
props: {
|
|
588
612
|
gridSize: {
|
|
@@ -592,7 +616,7 @@ const w = {
|
|
|
592
616
|
tileHeight: {
|
|
593
617
|
type: Number,
|
|
594
618
|
required: !1,
|
|
595
|
-
default: () =>
|
|
619
|
+
default: () => H
|
|
596
620
|
},
|
|
597
621
|
tiles: {
|
|
598
622
|
type: Array,
|
|
@@ -600,24 +624,24 @@ const w = {
|
|
|
600
624
|
}
|
|
601
625
|
},
|
|
602
626
|
setup(a) {
|
|
603
|
-
|
|
627
|
+
G((i) => ({
|
|
604
628
|
"3bc5e939": a.gridSize.cols,
|
|
605
629
|
"77aa3028": o.value
|
|
606
630
|
}));
|
|
607
|
-
const t = a, e =
|
|
631
|
+
const t = a, e = O(null), r = O(0), s = new ResizeObserver((i) => {
|
|
608
632
|
window.requestAnimationFrame(() => {
|
|
609
633
|
!Array.isArray(i) || !i.length || (r.value = i[0].contentRect.width);
|
|
610
634
|
});
|
|
611
635
|
});
|
|
612
|
-
|
|
636
|
+
he(() => {
|
|
613
637
|
e.value && s.observe(e.value);
|
|
614
|
-
}),
|
|
638
|
+
}), te(() => {
|
|
615
639
|
e.value && s.unobserve(e.value);
|
|
616
640
|
});
|
|
617
|
-
const o =
|
|
641
|
+
const o = g(() => {
|
|
618
642
|
var u;
|
|
619
|
-
return
|
|
620
|
-
}), c =
|
|
643
|
+
return dt((u = t.gridSize) == null ? void 0 : u.rows, t.tileHeight, t.tiles).join(" ");
|
|
644
|
+
}), c = g(() => t.tiles.map((i, u) => ({
|
|
621
645
|
key: `tile-${u}`,
|
|
622
646
|
tile: i,
|
|
623
647
|
style: {
|
|
@@ -627,29 +651,29 @@ const w = {
|
|
|
627
651
|
"grid-row-end": i.layout.position.row + 1 + i.layout.size.rows
|
|
628
652
|
}
|
|
629
653
|
})));
|
|
630
|
-
return (i, u) => (d(),
|
|
654
|
+
return (i, u) => (d(), R("div", {
|
|
631
655
|
ref_key: "gridContainer",
|
|
632
656
|
ref: e,
|
|
633
657
|
class: "kong-ui-public-grid-layout"
|
|
634
658
|
}, [
|
|
635
|
-
(d(!0),
|
|
659
|
+
(d(!0), R(me, null, fe(c.value, (y) => (d(), R("div", {
|
|
636
660
|
key: y.key,
|
|
637
|
-
class:
|
|
661
|
+
class: ve(["grid-cell", {
|
|
638
662
|
"empty-cell": !y.tile
|
|
639
663
|
}]),
|
|
640
|
-
style:
|
|
664
|
+
style: Q(y.style)
|
|
641
665
|
}, [
|
|
642
|
-
|
|
643
|
-
style:
|
|
666
|
+
V(i.$slots, "tile", {
|
|
667
|
+
style: Q(y.style),
|
|
644
668
|
tile: y.tile
|
|
645
669
|
}, void 0, !0)
|
|
646
670
|
], 6))), 128))
|
|
647
671
|
], 512));
|
|
648
672
|
}
|
|
649
|
-
}),
|
|
673
|
+
}), yt = /* @__PURE__ */ z(pt, [["__scopeId", "data-v-f43eb7b8"]]), ht = { class: "kong-ui-public-dashboard-renderer" }, mt = {
|
|
650
674
|
key: 0,
|
|
651
675
|
class: "tile-container"
|
|
652
|
-
},
|
|
676
|
+
}, ft = /* @__PURE__ */ k({
|
|
653
677
|
__name: "DashboardRenderer",
|
|
654
678
|
props: {
|
|
655
679
|
context: {},
|
|
@@ -657,24 +681,24 @@ const w = {
|
|
|
657
681
|
},
|
|
658
682
|
emits: ["edit-tile"],
|
|
659
683
|
setup(a, { expose: t, emit: e }) {
|
|
660
|
-
const r = a, s = e, { i18n: o } =
|
|
684
|
+
const r = a, s = e, { i18n: o } = $.useI18n(), c = O(0), i = B(P);
|
|
661
685
|
i || (console.warn("Analytics dashboards require a query bridge supplied via provide / inject."), console.warn("Please ensure your application has a query bridge provided under the key 'analytics-query-provider', as described in"), console.warn("https://github.com/Kong/public-ui-components/blob/main/packages/analytics/dashboard-renderer/README.md#requirements"));
|
|
662
|
-
const u =
|
|
686
|
+
const u = Fe(), y = g(() => r.context.timeSpec ? r.context.timeSpec : {
|
|
663
687
|
type: "relative",
|
|
664
688
|
time_range: u.defaultQueryTimeForOrg
|
|
665
|
-
}),
|
|
666
|
-
var
|
|
689
|
+
}), D = g(() => !!r.context.timeSpec || !u.loading), x = g(() => r.config.tiles.map((h, E) => {
|
|
690
|
+
var v;
|
|
667
691
|
let p = h.definition;
|
|
668
692
|
if ("description" in p.chart) {
|
|
669
|
-
const
|
|
670
|
-
const
|
|
671
|
-
return o.te(
|
|
693
|
+
const T = (v = p.chart.description) == null ? void 0 : v.replace(Ge, () => {
|
|
694
|
+
const f = `renderer.trendRange.${y.value.type === "absolute" ? "custom" : y.value.time_range}`;
|
|
695
|
+
return o.te(f) ? o.t(f) : "";
|
|
672
696
|
});
|
|
673
697
|
p = {
|
|
674
698
|
...p,
|
|
675
699
|
chart: {
|
|
676
700
|
...p.chart,
|
|
677
|
-
description:
|
|
701
|
+
description: T
|
|
678
702
|
}
|
|
679
703
|
};
|
|
680
704
|
}
|
|
@@ -682,67 +706,67 @@ const w = {
|
|
|
682
706
|
layout: h.layout,
|
|
683
707
|
meta: p,
|
|
684
708
|
// Add a unique key to each tile internally.
|
|
685
|
-
id:
|
|
709
|
+
id: E
|
|
686
710
|
};
|
|
687
|
-
})), m =
|
|
688
|
-
let { tz: h, refreshInterval:
|
|
689
|
-
return h || (h = new Intl.DateTimeFormat().resolvedOptions().timeZone),
|
|
711
|
+
})), m = g(() => {
|
|
712
|
+
let { tz: h, refreshInterval: E, editable: p } = r.context;
|
|
713
|
+
return h || (h = new Intl.DateTimeFormat().resolvedOptions().timeZone), E === void 0 && (E = Ve), p === void 0 && (p = !1), {
|
|
690
714
|
...r.context,
|
|
691
715
|
tz: h,
|
|
692
716
|
timeSpec: y.value,
|
|
693
|
-
refreshInterval:
|
|
717
|
+
refreshInterval: E,
|
|
694
718
|
editable: p
|
|
695
719
|
};
|
|
696
|
-
}),
|
|
720
|
+
}), I = (h) => {
|
|
697
721
|
s("edit-tile", h);
|
|
698
722
|
};
|
|
699
723
|
return t({ refresh: () => {
|
|
700
724
|
c.value++;
|
|
701
|
-
} }), (h,
|
|
702
|
-
const p =
|
|
703
|
-
return d(),
|
|
704
|
-
l(i) ? (d(),
|
|
725
|
+
} }), (h, E) => {
|
|
726
|
+
const p = N("KAlert");
|
|
727
|
+
return d(), R("div", ht, [
|
|
728
|
+
l(i) ? (d(), _(yt, {
|
|
705
729
|
key: 1,
|
|
706
730
|
"grid-size": h.config.gridSize,
|
|
707
731
|
"tile-height": h.config.tileHeight,
|
|
708
|
-
tiles:
|
|
732
|
+
tiles: x.value
|
|
709
733
|
}, {
|
|
710
|
-
tile:
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
])) : (d(),
|
|
734
|
+
tile: b(({ tile: v }) => [
|
|
735
|
+
v.meta.chart.type === "slottable" ? (d(), R("div", mt, [
|
|
736
|
+
V(h.$slots, v.meta.chart.id, {}, void 0, !0)
|
|
737
|
+
])) : (d(), _(ut, {
|
|
714
738
|
key: 1,
|
|
715
739
|
class: "tile-container",
|
|
716
740
|
context: m.value,
|
|
717
|
-
definition:
|
|
718
|
-
height:
|
|
719
|
-
"query-ready":
|
|
741
|
+
definition: v.meta,
|
|
742
|
+
height: v.layout.size.rows * (h.config.tileHeight || l(H)) + parseInt(l(se), 10),
|
|
743
|
+
"query-ready": D.value,
|
|
720
744
|
"refresh-counter": c.value,
|
|
721
|
-
"tile-id":
|
|
722
|
-
onEditTile: (
|
|
745
|
+
"tile-id": v.id,
|
|
746
|
+
onEditTile: (T) => I(v)
|
|
723
747
|
}, null, 8, ["context", "definition", "height", "query-ready", "refresh-counter", "tile-id", "onEditTile"]))
|
|
724
748
|
]),
|
|
725
749
|
_: 3
|
|
726
|
-
}, 8, ["grid-size", "tile-height", "tiles"])) : (d(),
|
|
750
|
+
}, 8, ["grid-size", "tile-height", "tiles"])) : (d(), _(p, {
|
|
727
751
|
key: 0,
|
|
728
752
|
appearance: "danger"
|
|
729
753
|
}, {
|
|
730
|
-
default:
|
|
731
|
-
|
|
754
|
+
default: b(() => [
|
|
755
|
+
U(L(l(o).t("renderer.noQueryBridge")), 1)
|
|
732
756
|
]),
|
|
733
757
|
_: 1
|
|
734
758
|
}))
|
|
735
759
|
]);
|
|
736
760
|
};
|
|
737
761
|
}
|
|
738
|
-
}),
|
|
762
|
+
}), kt = /* @__PURE__ */ z(ft, [["__scopeId", "data-v-6ee19c24"]]);
|
|
739
763
|
export {
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
764
|
+
Ue as CP_ID_TOKEN,
|
|
765
|
+
H as DEFAULT_TILE_HEIGHT,
|
|
766
|
+
Ve as DEFAULT_TILE_REFRESH_INTERVAL_MS,
|
|
767
|
+
kt as DashboardRenderer,
|
|
768
|
+
Z as ENTITY_ID_TOKEN,
|
|
769
|
+
yt as GridLayout,
|
|
770
|
+
P as INJECT_QUERY_PROVIDER,
|
|
771
|
+
Ge as TIMEFRAME_TOKEN
|
|
748
772
|
};
|