@databrainhq/plugin 0.17.9-beta.54 → 0.17.9-beta.56
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/{Accordion-CYthA7hI.mjs → Accordion-ChukdUTN.mjs} +1 -1
- package/dist/{CardChartSlot-ClaGH_WG.mjs → CardChartSlot-B56mnvX_.mjs} +5 -5
- package/dist/{Chart-9Kbc5GWj.mjs → Chart-C_38h0oW.mjs} +8 -8
- package/dist/{ChartTypePanel-CnEEFdIE.mjs → ChartTypePanel-efKLrW0l.mjs} +8 -8
- package/dist/{CreateGlobalFilter-CMThk9X8.mjs → CreateGlobalFilter-b52KPIHA.mjs} +2 -2
- package/dist/{CreateMetricV2-CyxOYjFh.mjs → CreateMetricV2-BcYDuFO7.mjs} +11 -11
- package/dist/{HorizontalStackTable-wOyYw_HM.mjs → HorizontalStackTable-mg6k5CmN.mjs} +3 -3
- package/dist/{ManageMetricsV2-Cvou21vJ.mjs → ManageMetricsV2-CEmTsPEF.mjs} +3 -3
- package/dist/{MetricCardV2-ChpKWOJy.mjs → MetricCardV2-CLl6-gu5.mjs} +752 -700
- package/dist/{NoDataFound-CFZ240jh.mjs → NoDataFound-Cowe6WJQ.mjs} +1 -1
- package/dist/{Panel-BpAIfmDU.mjs → Panel-C9f6SPjQ.mjs} +1 -1
- package/dist/{PivotTableV2-Dis6siW9.mjs → PivotTableV2-BAH-e_t2.mjs} +2 -2
- package/dist/{PivotTableV3-Cgs_jTEA.mjs → PivotTableV3-BlYdjypT.mjs} +4 -4
- package/dist/{Portal-CEuy4Zyk.mjs → Portal-5FJ1yAWh.mjs} +2 -2
- package/dist/{RadioButton-3MAAKvzv.mjs → RadioButton-Bv9S4V21.mjs} +1 -1
- package/dist/{ScheduleEmail-CjaXkLiS.mjs → ScheduleEmail-DpH7b_6-.mjs} +6 -6
- package/dist/{SearchMetricData-DcNwcJYI.mjs → SearchMetricData-BplGNchb.mjs} +13 -13
- package/dist/{SortPanel-DLuZnhbs.mjs → SortPanel-BgNFd7aa.mjs} +8 -8
- package/dist/{Table-BIHNbx03.mjs → Table-BqEdMmgl.mjs} +4 -4
- package/dist/{TagInputField-CzLeqr3G.mjs → TagInputField-Bx4SMhHq.mjs} +4 -4
- package/dist/{TextAreaField-AXMe-Vuo.mjs → TextAreaField-CzTAQPoh.mjs} +2 -2
- package/dist/{TimeSeriesSettings-CwLUyfrk.mjs → TimeSeriesSettings-CgzlCKvy.mjs} +2 -2
- package/dist/cardQueryError-D9JvTAXs.mjs +5247 -0
- package/dist/{conditionalFormatting-Dwh1zp-l.mjs → conditionalFormatting-9nsQwtpu.mjs} +1 -1
- package/dist/{createGlobalFilter.module-CcqSTCtL.mjs → createGlobalFilter.module-B1MhKvKM.mjs} +1 -1
- package/dist/data.cjs +1 -1
- package/dist/data.mjs +1 -1
- package/dist/{echarts-DKgzxZiu.mjs → echarts-zgjEVbyp.mjs} +2 -2
- package/dist/{metric.mutation-BhHdNmVR.mjs → metric.mutation-cYDbHPa2.mjs} +1 -1
- package/dist/{permissions-CRnV7dKB.mjs → permissions-DYV8g5UE.mjs} +5 -5
- package/dist/{pluginV3Request-CeA8XQxB.mjs → pluginV3Request-D9WChXJv.mjs} +1 -1
- package/dist/{renderer-x8Z7Mxc5.mjs → renderer-BFVSDnMA.mjs} +1 -1
- package/dist/{timeseries-Dto8IAO0.mjs → timeseries-Bi-JmLH9.mjs} +1 -1
- package/dist/{toTasteAppearance-DhoxgFyx.mjs → toTasteAppearance-BPeS91-D.mjs} +3 -3
- package/dist/{useGuesTokenUsageLog-BXov_YU2.mjs → useGuesTokenUsageLog-CcA5-Uur.mjs} +1 -1
- package/dist/{usePublishArchivedMetrics-DxgRTJLo.mjs → usePublishArchivedMetrics-DYrn8_6z.mjs} +2 -2
- package/dist/{useQuery-DLS92E5D.mjs → useQuery-k8wewYC0.mjs} +1 -1
- package/dist/webcomponents.css +2 -2
- package/dist/webcomponents.es.js +2923 -4216
- package/dist/webcomponents.umd.js +177 -177
- package/package.json +1 -1
- package/dist/cardQueryError-CLU0EPLv.mjs +0 -3954
|
@@ -2,21 +2,21 @@ import "react";
|
|
|
2
2
|
import "react-dom";
|
|
3
3
|
import "react-dom/client";
|
|
4
4
|
import { l as e } from "./cardStates-pxkuDK8H.mjs";
|
|
5
|
-
import { ht as t } from "./pluginV3Request-
|
|
6
|
-
import { $a as n, U as r, Va as i, _ as a, _r as o, er as s, uo as c, vr as l } from "./Portal-
|
|
7
|
-
import { s as u } from "./toTasteAppearance-
|
|
5
|
+
import { ht as t } from "./pluginV3Request-D9WChXJv.mjs";
|
|
6
|
+
import { $a as n, U as r, Va as i, _ as a, _r as o, er as s, uo as c, vr as l } from "./Portal-5FJ1yAWh.mjs";
|
|
7
|
+
import { s as u } from "./toTasteAppearance-BPeS91-D.mjs";
|
|
8
8
|
import { n as d } from "./arrayToCsvString-Bj2E5XgM.mjs";
|
|
9
|
-
import { C as f, E as p, T as m, _ as h, a as g, d as _, g as ee, h as v, o as y, t as te, w as b, x } from "./permissions-
|
|
10
|
-
import { C as ne,
|
|
9
|
+
import { C as f, E as p, T as m, _ as h, a as g, d as _, g as ee, h as v, o as y, t as te, w as b, x } from "./permissions-DYV8g5UE.mjs";
|
|
10
|
+
import { C as ne, D as re, I as ie, S as ae, T as oe, a as se, b as ce, c as le, i as ue, n as de, o as fe, r as pe, s as me, t as he, w as ge, x as _e } from "./cardQueryError-D9JvTAXs.mjs";
|
|
11
11
|
import { t as S } from "./createLucideIcon-C-N26TaJ.mjs";
|
|
12
|
-
import { A as
|
|
13
|
-
import { c as E, d as
|
|
14
|
-
import { n as
|
|
12
|
+
import { A as ve, B as ye, C as be, D as xe, E as C, F as Se, I as Ce, L as we, M as Te, N as Ee, O as w, P as De, S as Oe, _ as ke, a as T, b as Ae, c as je, d as Me, f as Ne, g as Pe, h as Fe, i as Ie, j as Le, k as Re, m as ze, n as Be, p as Ve, s as He, t as Ue, u as We, v as Ge, w as Ke, x as qe, y as Je } from "./CardChartSlot-B56mnvX_.mjs";
|
|
13
|
+
import { c as E, d as Ye, f as Xe, h as D, l as Ze, o as Qe, p as $e, s as et, u as tt } from "./qaSelectors-CqSLYZ9l.mjs";
|
|
14
|
+
import { n as nt, t as rt } from "./x-DDC7VFx5.mjs";
|
|
15
15
|
import { t as O } from "./dist-C0uxSp1k.mjs";
|
|
16
|
-
import { n as
|
|
16
|
+
import { n as it } from "./cardActions-DEbl3R_a.mjs";
|
|
17
17
|
import * as k from "react";
|
|
18
|
-
import { Fragment as
|
|
19
|
-
var
|
|
18
|
+
import { Fragment as at, jsx as A, jsxs as j } from "react/jsx-runtime";
|
|
19
|
+
var ot = S("copy", [["rect", {
|
|
20
20
|
width: "14",
|
|
21
21
|
height: "14",
|
|
22
22
|
x: "8",
|
|
@@ -27,19 +27,19 @@ var at = S("copy", [["rect", {
|
|
|
27
27
|
}], ["path", {
|
|
28
28
|
d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
|
|
29
29
|
key: "zix9uf"
|
|
30
|
-
}]]),
|
|
30
|
+
}]]), st = S("corner-down-right", [["path", {
|
|
31
31
|
d: "m15 10 5 5-5 5",
|
|
32
32
|
key: "qqa56n"
|
|
33
33
|
}], ["path", {
|
|
34
34
|
d: "M4 4v7a4 4 0 0 0 4 4h12",
|
|
35
35
|
key: "z08zvw"
|
|
36
|
-
}]]),
|
|
36
|
+
}]]), ct = S("corner-left-up", [["path", {
|
|
37
37
|
d: "M14 9 9 4 4 9",
|
|
38
38
|
key: "1af5af"
|
|
39
39
|
}], ["path", {
|
|
40
40
|
d: "M20 20h-7a4 4 0 0 1-4-4V4",
|
|
41
41
|
key: "1blwi3"
|
|
42
|
-
}]]),
|
|
42
|
+
}]]), lt = S("download", [
|
|
43
43
|
["path", {
|
|
44
44
|
d: "M12 15V3",
|
|
45
45
|
key: "m9g1x1"
|
|
@@ -52,7 +52,7 @@ var at = S("copy", [["rect", {
|
|
|
52
52
|
d: "m7 10 5 5 5-5",
|
|
53
53
|
key: "brsn70"
|
|
54
54
|
}]
|
|
55
|
-
]),
|
|
55
|
+
]), ut = S("ellipsis-vertical", [
|
|
56
56
|
["circle", {
|
|
57
57
|
cx: "12",
|
|
58
58
|
cy: "12",
|
|
@@ -71,7 +71,7 @@ var at = S("copy", [["rect", {
|
|
|
71
71
|
r: "1",
|
|
72
72
|
key: "lyex9k"
|
|
73
73
|
}]
|
|
74
|
-
]),
|
|
74
|
+
]), dt = S("git-merge", [
|
|
75
75
|
["circle", {
|
|
76
76
|
cx: "18",
|
|
77
77
|
cy: "18",
|
|
@@ -88,7 +88,7 @@ var at = S("copy", [["rect", {
|
|
|
88
88
|
d: "M6 21V9a9 9 0 0 0 9 9",
|
|
89
89
|
key: "7kw0sc"
|
|
90
90
|
}]
|
|
91
|
-
]),
|
|
91
|
+
]), ft = S("image", [
|
|
92
92
|
["rect", {
|
|
93
93
|
width: "18",
|
|
94
94
|
height: "18",
|
|
@@ -108,7 +108,7 @@ var at = S("copy", [["rect", {
|
|
|
108
108
|
d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",
|
|
109
109
|
key: "1xmnt7"
|
|
110
110
|
}]
|
|
111
|
-
]),
|
|
111
|
+
]), pt = S("mail", [["path", {
|
|
112
112
|
d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",
|
|
113
113
|
key: "132q7q"
|
|
114
114
|
}], ["rect", {
|
|
@@ -118,7 +118,7 @@ var at = S("copy", [["rect", {
|
|
|
118
118
|
height: "16",
|
|
119
119
|
rx: "2",
|
|
120
120
|
key: "izxlao"
|
|
121
|
-
}]]),
|
|
121
|
+
}]]), mt = S("settings", [["path", {
|
|
122
122
|
d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",
|
|
123
123
|
key: "1i5ecw"
|
|
124
124
|
}], ["circle", {
|
|
@@ -126,12 +126,12 @@ var at = S("copy", [["rect", {
|
|
|
126
126
|
cy: "12",
|
|
127
127
|
r: "3",
|
|
128
128
|
key: "1v7zrd"
|
|
129
|
-
}]]),
|
|
129
|
+
}]]), ht = (e) => e === "contextmenu" ? "secondary" : "primary", gt = ({ route: e, canCrossFilter: t }) => !!t && e === "drill", _t = ({ gesture: e, route: t, canCrossFilter: n, canDrillInto: r, hasPointMenu: i }) => {
|
|
130
130
|
if (t === "terminal") return {
|
|
131
131
|
drillDown: !1,
|
|
132
132
|
adhocMenu: !1
|
|
133
133
|
};
|
|
134
|
-
let a =
|
|
134
|
+
let a = gt({
|
|
135
135
|
route: t,
|
|
136
136
|
canCrossFilter: n
|
|
137
137
|
}), o = !!r;
|
|
@@ -144,7 +144,7 @@ var at = S("copy", [["rect", {
|
|
|
144
144
|
};
|
|
145
145
|
};
|
|
146
146
|
_.map((e) => e.value), Object.fromEntries(_.map((e) => [e.value, e.label]));
|
|
147
|
-
var
|
|
147
|
+
var vt = (e) => {
|
|
148
148
|
let t = e?.levels || [], n = t.findIndex((e) => e?.isEnable), r = n >= 0 ? n + 1 : 0, i = t.slice(0, Math.max(r, 0)).some((e) => (e?.dimensions || []).some((e) => !!e?.timeGrain)), a = n >= 0 ? t[n] : void 0;
|
|
149
149
|
return {
|
|
150
150
|
activeIndex: n,
|
|
@@ -153,8 +153,8 @@ var _t = (e) => {
|
|
|
153
153
|
usedAliases: h(a?.dimensions),
|
|
154
154
|
activeLevel: a
|
|
155
155
|
};
|
|
156
|
-
},
|
|
157
|
-
let t =
|
|
156
|
+
}, yt = (e) => {
|
|
157
|
+
let t = vt(e.config), n = v({
|
|
158
158
|
subset: e.subset,
|
|
159
159
|
configuration: e.configuration,
|
|
160
160
|
usedAliases: t.usedAliases,
|
|
@@ -166,7 +166,7 @@ var _t = (e) => {
|
|
|
166
166
|
selectedDims: e.selectedDims,
|
|
167
167
|
usedAliases: t.usedAliases
|
|
168
168
|
});
|
|
169
|
-
},
|
|
169
|
+
}, bt = "inline-flex min-h-7 max-w-full shrink-0 items-center rounded-(--radius-xs) px-2 text-(--muted-foreground) hover:text-(--foreground) hover:underline focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--ring)", xt = 4, St = () => {
|
|
170
170
|
let e = k.useRef(null);
|
|
171
171
|
return {
|
|
172
172
|
navRef: e,
|
|
@@ -184,10 +184,10 @@ var _t = (e) => {
|
|
|
184
184
|
a = Math.min(Math.max(a, 0), r.length - 1), a !== i && (t.preventDefault(), r[a]?.focus());
|
|
185
185
|
}
|
|
186
186
|
};
|
|
187
|
-
},
|
|
188
|
-
let a = `${k.useId()}-drill-up-reason`, { navRef: o, onKeyDown: s } =
|
|
187
|
+
}, Ct = ({ crumbs: e, onDrillLevelClick: t, onResetDrill: n, onUp: r, className: i }) => {
|
|
188
|
+
let a = `${k.useId()}-drill-up-reason`, { navRef: o, onKeyDown: s } = St(), c = e.length, [l, u] = k.useState(null), d = l === c;
|
|
189
189
|
if (!e.length) return null;
|
|
190
|
-
let f = !d && e.length >
|
|
190
|
+
let f = !d && e.length > xt, p = f ? e.length - 3 : 0, m = f ? [
|
|
191
191
|
{
|
|
192
192
|
kind: "crumb",
|
|
193
193
|
crumb: e[0],
|
|
@@ -212,7 +212,7 @@ var _t = (e) => {
|
|
|
212
212
|
className: O("flex min-w-0 flex-wrap items-center gap-1 pb-1.5 text-xs", i),
|
|
213
213
|
children: [/* @__PURE__ */ j("div", {
|
|
214
214
|
className: "sticky left-0 z-10 flex shrink-0 items-center gap-1 bg-(--card) pr-1",
|
|
215
|
-
children: [r ? /* @__PURE__ */ j(
|
|
215
|
+
children: [r ? /* @__PURE__ */ j(at, { children: [
|
|
216
216
|
/* @__PURE__ */ j("button", {
|
|
217
217
|
type: "button",
|
|
218
218
|
"aria-disabled": g || void 0,
|
|
@@ -222,9 +222,9 @@ var _t = (e) => {
|
|
|
222
222
|
h && r(h);
|
|
223
223
|
},
|
|
224
224
|
"data-testid": "metric-card-drill-crumb-up",
|
|
225
|
-
className: O(
|
|
225
|
+
className: O(bt, "inline-flex max-w-none items-center gap-1", g && "cursor-not-allowed opacity-60 hover:text-(--muted-foreground) hover:no-underline"),
|
|
226
226
|
children: [
|
|
227
|
-
/* @__PURE__ */ A(
|
|
227
|
+
/* @__PURE__ */ A(ct, {
|
|
228
228
|
className: "size-3",
|
|
229
229
|
"aria-hidden": "true"
|
|
230
230
|
}),
|
|
@@ -249,7 +249,7 @@ var _t = (e) => {
|
|
|
249
249
|
type: "button",
|
|
250
250
|
onClick: n,
|
|
251
251
|
"data-testid": "metric-card-drill-crumb-reset",
|
|
252
|
-
className:
|
|
252
|
+
className: bt,
|
|
253
253
|
children: "All"
|
|
254
254
|
})]
|
|
255
255
|
}), m.map((n, r) => {
|
|
@@ -263,7 +263,7 @@ var _t = (e) => {
|
|
|
263
263
|
"data-testid": "metric-card-drill-crumb-expand",
|
|
264
264
|
"aria-label": `Show ${p} hidden levels`,
|
|
265
265
|
title: `Show ${p} hidden levels`,
|
|
266
|
-
className: O(
|
|
266
|
+
className: O(bt, "max-w-none"),
|
|
267
267
|
children: "..."
|
|
268
268
|
})] }, "ellipsis");
|
|
269
269
|
let { crumb: i, position: a } = n, o = a === e.length - 1, s = i.value !== void 0 && i.value !== null && i.value !== "" ? `${i.label}: ${String(i.value)}` : i.label;
|
|
@@ -282,7 +282,7 @@ var _t = (e) => {
|
|
|
282
282
|
title: s,
|
|
283
283
|
onClick: () => t(i.index),
|
|
284
284
|
"data-testid": `metric-card-drill-crumb-${i.index}`,
|
|
285
|
-
className:
|
|
285
|
+
className: bt,
|
|
286
286
|
children: /* @__PURE__ */ A("span", {
|
|
287
287
|
className: "max-w-48 truncate",
|
|
288
288
|
children: s
|
|
@@ -290,7 +290,7 @@ var _t = (e) => {
|
|
|
290
290
|
})] }, i.index || `${i.label}-${a}-${r}`);
|
|
291
291
|
})]
|
|
292
292
|
});
|
|
293
|
-
},
|
|
293
|
+
}, wt = ({ longDescription: e, meta: t, className: n }) => !e && !t ? null : /* @__PURE__ */ j("div", {
|
|
294
294
|
"data-testid": "metric-card-footer",
|
|
295
295
|
className: O("flex flex-col gap-1 text-xs text-(--muted-foreground)", n),
|
|
296
296
|
children: [t ? /* @__PURE__ */ A("div", {
|
|
@@ -301,14 +301,14 @@ var _t = (e) => {
|
|
|
301
301
|
className: "text-(--muted-foreground)",
|
|
302
302
|
dangerouslySetInnerHTML: { __html: r(e) }
|
|
303
303
|
}) : null]
|
|
304
|
-
}),
|
|
304
|
+
}), Tt = ({ title: e, description: t, isDisableCardTitle: n, infoContent: r, actions: i, onTitleClick: a, className: o }) => {
|
|
305
305
|
let s = !n && (e != null || t != null);
|
|
306
306
|
return /* @__PURE__ */ j("div", {
|
|
307
307
|
"data-slot": "metric-card-header",
|
|
308
308
|
className: O("flex w-full items-start gap-2", o),
|
|
309
309
|
children: [/* @__PURE__ */ A("div", {
|
|
310
310
|
className: "flex min-w-0 flex-1 flex-col gap-0.5",
|
|
311
|
-
children: s ? /* @__PURE__ */ j(
|
|
311
|
+
children: s ? /* @__PURE__ */ j(at, { children: [e == null ? null : /* @__PURE__ */ j("div", {
|
|
312
312
|
className: "flex min-w-0 items-center gap-1",
|
|
313
313
|
children: [a ? /* @__PURE__ */ A("h2", {
|
|
314
314
|
className: "min-w-0 truncate text-sm font-semibold",
|
|
@@ -323,7 +323,7 @@ var _t = (e) => {
|
|
|
323
323
|
"data-testid": "metric-card-title",
|
|
324
324
|
className: "truncate text-sm font-semibold text-(--foreground)",
|
|
325
325
|
children: e
|
|
326
|
-
}), r == null ? null : /* @__PURE__ */ A(
|
|
326
|
+
}), r == null ? null : /* @__PURE__ */ A(Ve, { children: /* @__PURE__ */ j(Me, { children: [/* @__PURE__ */ A(ze, {
|
|
327
327
|
asChild: !0,
|
|
328
328
|
children: /* @__PURE__ */ A(E, {
|
|
329
329
|
type: "button",
|
|
@@ -331,12 +331,12 @@ var _t = (e) => {
|
|
|
331
331
|
size: "icon-sm",
|
|
332
332
|
"data-testid": "metric-card-info-trigger",
|
|
333
333
|
"aria-label": "More information",
|
|
334
|
-
children: /* @__PURE__ */ A(
|
|
334
|
+
children: /* @__PURE__ */ A(we, {
|
|
335
335
|
className: "size-3.5",
|
|
336
336
|
"aria-hidden": "true"
|
|
337
337
|
})
|
|
338
338
|
})
|
|
339
|
-
}), /* @__PURE__ */ A(
|
|
339
|
+
}), /* @__PURE__ */ A(Ne, {
|
|
340
340
|
"data-testid": "metric-card-info-content",
|
|
341
341
|
children: r
|
|
342
342
|
})] }) })]
|
|
@@ -351,11 +351,11 @@ var _t = (e) => {
|
|
|
351
351
|
children: i
|
|
352
352
|
})]
|
|
353
353
|
});
|
|
354
|
-
},
|
|
354
|
+
}, Et = ({ flags: e = {}, onDownloadCsv: t, onDownloadPng: n, onEmailCsv: r, onFullscreen: i, onUnderlyingData: a, onSettings: o, splitBySubmenu: s, optionsIcon: c, settingsIcon: l, defaultOpen: u, className: d }) => {
|
|
355
355
|
let { enableDownloadCsv: f, enableEmailCsv: p, disableDownloadPng: m, disableDownloadDataNoFilters: h = !1, disableUnderlyingData: g, disableDownloadUnderlyingDataNoFilters: _ = !1, disableFullscreen: ee } = e, v = !!f && !!t, y = !m && !!n, te = !!p && !!r, b = v || y || te, x = !ee && !!i, ne = !g && !!a, re = x || ne, ie = !!o, ae = !!s;
|
|
356
|
-
return !b && !re && !ie && !ae ? null : /* @__PURE__ */ j(
|
|
356
|
+
return !b && !re && !ie && !ae ? null : /* @__PURE__ */ j(be, {
|
|
357
357
|
defaultOpen: u,
|
|
358
|
-
children: [/* @__PURE__ */ A(
|
|
358
|
+
children: [/* @__PURE__ */ A(Te, {
|
|
359
359
|
asChild: !0,
|
|
360
360
|
children: /* @__PURE__ */ A(E, {
|
|
361
361
|
type: "button",
|
|
@@ -364,9 +364,9 @@ var _t = (e) => {
|
|
|
364
364
|
className: O("size-8", d),
|
|
365
365
|
"aria-label": "Card options",
|
|
366
366
|
"data-testid": "metric-card-options-trigger",
|
|
367
|
-
children: c ?? /* @__PURE__ */ A(
|
|
367
|
+
children: c ?? /* @__PURE__ */ A(ut, {})
|
|
368
368
|
})
|
|
369
|
-
}), /* @__PURE__ */ j(
|
|
369
|
+
}), /* @__PURE__ */ j(Ke, {
|
|
370
370
|
align: "end",
|
|
371
371
|
children: [
|
|
372
372
|
ae && s,
|
|
@@ -375,32 +375,32 @@ var _t = (e) => {
|
|
|
375
375
|
className: "min-h-8",
|
|
376
376
|
"data-testid": "metric-card-option-download-csv",
|
|
377
377
|
onSelect: () => t?.({ withoutFilters: !1 }),
|
|
378
|
-
children: [/* @__PURE__ */ A(
|
|
378
|
+
children: [/* @__PURE__ */ A(lt, {}), "Download CSV"]
|
|
379
379
|
}),
|
|
380
380
|
v && !h && /* @__PURE__ */ j(C, {
|
|
381
381
|
className: "min-h-8",
|
|
382
382
|
"data-testid": "metric-card-option-download-csv-nofilter",
|
|
383
383
|
onSelect: () => t?.({ withoutFilters: !0 }),
|
|
384
|
-
children: [/* @__PURE__ */ A(
|
|
384
|
+
children: [/* @__PURE__ */ A(lt, {}), "Download CSV without filters"]
|
|
385
385
|
}),
|
|
386
386
|
y && /* @__PURE__ */ j(C, {
|
|
387
387
|
className: "min-h-8",
|
|
388
388
|
"data-testid": "metric-card-option-download-png",
|
|
389
389
|
onSelect: () => n?.(),
|
|
390
|
-
children: [/* @__PURE__ */ A(
|
|
390
|
+
children: [/* @__PURE__ */ A(ft, {}), "Download PNG"]
|
|
391
391
|
}),
|
|
392
392
|
te && /* @__PURE__ */ j(C, {
|
|
393
393
|
className: "min-h-8",
|
|
394
394
|
"data-testid": "metric-card-option-email-csv",
|
|
395
395
|
onSelect: () => r?.(),
|
|
396
|
-
children: [/* @__PURE__ */ A(
|
|
396
|
+
children: [/* @__PURE__ */ A(pt, {}), "Email CSV"]
|
|
397
397
|
}),
|
|
398
398
|
b && re && /* @__PURE__ */ A(w, {}),
|
|
399
399
|
x && /* @__PURE__ */ j(C, {
|
|
400
400
|
className: "min-h-8",
|
|
401
401
|
"data-testid": "metric-card-option-fullscreen",
|
|
402
402
|
onSelect: () => i?.(),
|
|
403
|
-
children: [/* @__PURE__ */ A(
|
|
403
|
+
children: [/* @__PURE__ */ A(Ce, {}), "Fullscreen"]
|
|
404
404
|
}),
|
|
405
405
|
ne && /* @__PURE__ */ j(C, {
|
|
406
406
|
className: "min-h-8",
|
|
@@ -419,12 +419,12 @@ var _t = (e) => {
|
|
|
419
419
|
className: "min-h-8",
|
|
420
420
|
"data-testid": "metric-card-option-settings",
|
|
421
421
|
onSelect: () => o?.(),
|
|
422
|
-
children: [l ?? /* @__PURE__ */ A(
|
|
422
|
+
children: [l ?? /* @__PURE__ */ A(mt, {}), "Edit metric"]
|
|
423
423
|
})
|
|
424
424
|
]
|
|
425
425
|
})]
|
|
426
426
|
});
|
|
427
|
-
},
|
|
427
|
+
}, Dt = k.lazy(() => import("./DatePickerCalendar-uant91M3.mjs")), Ot = [
|
|
428
428
|
{
|
|
429
429
|
type: "day",
|
|
430
430
|
label: "Today",
|
|
@@ -491,44 +491,44 @@ var _t = (e) => {
|
|
|
491
491
|
startOffset: 0,
|
|
492
492
|
endOffset: 0
|
|
493
493
|
}
|
|
494
|
-
],
|
|
494
|
+
], kt = ({ type: e, label: t, startOffset: n, endOffset: r }) => {
|
|
495
495
|
let i = /* @__PURE__ */ new Date(), a = /* @__PURE__ */ new Date(), o = /* @__PURE__ */ new Date();
|
|
496
496
|
return e === "all_time" ? (a = new Date(1, 0, 1), o = new Date(9999, 11, 31)) : e === "month" ? t === "Last 6 Months" ? (a.setMonth(i.getMonth() - 6), a.setDate(1), o.setMonth(i.getMonth()), o.setDate(0)) : t === "Last 3 Months" ? (a.setMonth(i.getMonth() - 3), a.setDate(1), o.setMonth(i.getMonth()), o.setDate(0)) : t === "Last Month" ? (a = new Date(i.getFullYear(), i.getMonth() - 1, 1), o = new Date(i.getFullYear(), i.getMonth(), 0)) : (a = new Date(i.getFullYear(), i.getMonth() + n, 1), n === 0 && (a.setDate(1), o = new Date(i.getFullYear(), i.getMonth() + 1, 0))) : e === "year" ? (a = new Date(i.getFullYear() + n, 0, 1), n === 0 && (a.setMonth(0), a.setDate(1)), o = t === "Last Year" ? new Date(i.getFullYear() + n, 11, 31) : new Date(i.getFullYear(), 11, 31)) : (a = new Date(i.getFullYear(), i.getMonth(), i.getDate() + n), o = new Date(i.getFullYear(), i.getMonth(), i.getDate() + r)), {
|
|
497
497
|
start: a,
|
|
498
498
|
end: o
|
|
499
499
|
};
|
|
500
|
-
},
|
|
500
|
+
}, At = (e) => e ? `${e.getFullYear()}-${`0${e.getMonth() + 1}`.slice(-2)}-${`0${e.getDate()}`.slice(-2)}` : "", M = (e) => new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds())), jt = (e, t, n) => {
|
|
501
501
|
if (!e || !t) return null;
|
|
502
|
-
let r =
|
|
502
|
+
let r = At(e), i = At(t);
|
|
503
503
|
return {
|
|
504
504
|
value: `${r} - ${i}`,
|
|
505
|
-
startDate:
|
|
506
|
-
endDate:
|
|
505
|
+
startDate: M(e),
|
|
506
|
+
endDate: M(t),
|
|
507
507
|
timeGrainValue: n || `${r} - ${i}`
|
|
508
508
|
};
|
|
509
|
-
},
|
|
509
|
+
}, Mt = (e) => e.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/(^-|-$)/g, ""), Nt = new Intl.DateTimeFormat("en-US", {
|
|
510
510
|
year: "numeric",
|
|
511
511
|
month: "short",
|
|
512
512
|
day: "numeric"
|
|
513
|
-
}),
|
|
514
|
-
let [d, f] = k.useState(e?.startDate ?? n?.startDate), [p, m] = k.useState(e?.endDate ?? n?.endDate), [h, g] = k.useState(n?.timeGrainValue ?? ""), _ = k.useMemo(() => new Set((o ?? []).map((e) => e.toLowerCase())), [o]), ee = k.useMemo(() =>
|
|
513
|
+
}), Pt = (e) => Nt.format(e), Ft = (e) => Ot.some((t) => t.label === e), It = (e, t, n) => !e || !t ? "Select date range" : n && Ft(n) ? n : `${Pt(e)} - ${Pt(t)}`, Lt = ({ value: e, onChange: t, defaultOption: n, minDate: r, maxDate: i, hideDatePickerOptions: o, calendarType: s = "default", hidden: c, defaultOpen: l, className: u }) => {
|
|
514
|
+
let [d, f] = k.useState(e?.startDate ?? n?.startDate), [p, m] = k.useState(e?.endDate ?? n?.endDate), [h, g] = k.useState(n?.timeGrainValue ?? ""), _ = k.useMemo(() => new Set((o ?? []).map((e) => e.toLowerCase())), [o]), ee = k.useMemo(() => Ot.filter((e) => !_.has(e.label.toLowerCase())), [_]);
|
|
515
515
|
if (c) return null;
|
|
516
516
|
let v = s === "ind", y = (e, n, r) => {
|
|
517
|
-
let i =
|
|
517
|
+
let i = jt(e, n, r);
|
|
518
518
|
i && t(i);
|
|
519
519
|
}, te = (e) => {
|
|
520
|
-
let { start: t, end: n } =
|
|
520
|
+
let { start: t, end: n } = kt(e);
|
|
521
521
|
f(t), m(n), g(e.label), y(t, n, e.label);
|
|
522
522
|
}, b = (e) => {
|
|
523
523
|
let [t, n] = e;
|
|
524
524
|
if (f(t ?? void 0), m(n ?? void 0), t && n) {
|
|
525
|
-
let e = `${
|
|
525
|
+
let e = `${At(t)} - ${At(n)}`;
|
|
526
526
|
g(e), y(t, n, e);
|
|
527
527
|
}
|
|
528
|
-
}, x =
|
|
529
|
-
return /* @__PURE__ */ j(
|
|
528
|
+
}, x = It(d, p, h);
|
|
529
|
+
return /* @__PURE__ */ j(Ae, {
|
|
530
530
|
defaultOpen: l,
|
|
531
|
-
children: [/* @__PURE__ */ A(
|
|
531
|
+
children: [/* @__PURE__ */ A(Oe, {
|
|
532
532
|
asChild: !0,
|
|
533
533
|
children: /* @__PURE__ */ j(E, {
|
|
534
534
|
type: "button",
|
|
@@ -539,7 +539,7 @@ var _t = (e) => {
|
|
|
539
539
|
"data-testid": "date-picker-control-trigger",
|
|
540
540
|
children: [/* @__PURE__ */ A(a, {}), x]
|
|
541
541
|
})
|
|
542
|
-
}), /* @__PURE__ */ j(
|
|
542
|
+
}), /* @__PURE__ */ j(qe, {
|
|
543
543
|
align: "end",
|
|
544
544
|
padding: "form",
|
|
545
545
|
className: O("flex w-auto gap-3", "[&_.react-datepicker]:border-none [&_.react-datepicker]:bg-(--popover) [&_.react-datepicker]:font-sans [&_.react-datepicker]:text-(--foreground) [&_.react-datepicker]:shadow-none", "[&_.react-datepicker__month-container]:bg-(--popover)", "[&_.react-datepicker__header]:border-b [&_.react-datepicker__header]:border-(--border) [&_.react-datepicker__header]:bg-(--muted)", "[&_.react-datepicker__current-month]:text-(--foreground)", "[&_.react-datepicker__day-name]:text-(--muted-foreground)", "[&_.react-datepicker__day]:text-(--foreground)", "[&_.react-datepicker__day:hover]:bg-(--accent)", "[&_.react-datepicker__day--outside-month]:text-(--muted-foreground)", "[&_.react-datepicker__day--selected]:bg-(--primary) [&_.react-datepicker__day--selected]:text-(--primary-foreground)", "[&_.react-datepicker__day--range-start]:bg-(--primary) [&_.react-datepicker__day--range-start]:text-(--primary-foreground)", "[&_.react-datepicker__day--range-end]:bg-(--primary) [&_.react-datepicker__day--range-end]:text-(--primary-foreground)", "[&_.react-datepicker__day--in-range]:bg-(--accent) [&_.react-datepicker__day--in-range]:text-(--foreground)", "[&_.react-datepicker__day--in-selecting-range]:bg-(--accent) [&_.react-datepicker__day--in-selecting-range]:text-(--foreground)", "[&_.react-datepicker__day--keyboard-selected]:bg-(--accent) [&_.react-datepicker__day--keyboard-selected]:text-(--foreground)", "[&_.react-datepicker__day:focus-visible]:outline [&_.react-datepicker__day:focus-visible]:outline-2 [&_.react-datepicker__day:focus-visible]:outline-(--ring)", "[&_.react-datepicker__navigation-icon::before]:border-(--border)", "[&_.react-datepicker__triangle]:hidden"),
|
|
@@ -557,7 +557,7 @@ var _t = (e) => {
|
|
|
557
557
|
size: "sm",
|
|
558
558
|
className: "justify-start",
|
|
559
559
|
"aria-pressed": t,
|
|
560
|
-
"data-testid": `date-picker-preset-${
|
|
560
|
+
"data-testid": `date-picker-preset-${Mt(e.label)}`,
|
|
561
561
|
onClick: () => te(e),
|
|
562
562
|
children: e.label
|
|
563
563
|
}, e.label);
|
|
@@ -567,7 +567,7 @@ var _t = (e) => {
|
|
|
567
567
|
className: "h-64 w-xl",
|
|
568
568
|
"aria-hidden": "true"
|
|
569
569
|
}),
|
|
570
|
-
children: /* @__PURE__ */ A(
|
|
570
|
+
children: /* @__PURE__ */ A(Dt, {
|
|
571
571
|
startDate: d,
|
|
572
572
|
endDate: p,
|
|
573
573
|
onChange: b,
|
|
@@ -577,25 +577,25 @@ var _t = (e) => {
|
|
|
577
577
|
})]
|
|
578
578
|
})]
|
|
579
579
|
});
|
|
580
|
-
},
|
|
580
|
+
}, Rt = 12, zt = (e) => e.groups.reduce((e, t) => e + t.options.length, 0), Bt = (e) => {
|
|
581
581
|
switch (e.unavailableReason) {
|
|
582
582
|
case "all-dimensions-used": return "This chart already uses every field you can split by.";
|
|
583
583
|
case "max-depth-reached": return "Go back a step to split by something else.";
|
|
584
584
|
case "custom-sql": return "This chart cannot be split by another field. You can still view its underlying data.";
|
|
585
585
|
default: return "No other fields to split by.";
|
|
586
586
|
}
|
|
587
|
-
},
|
|
588
|
-
let [i, a] = k.useState(""), o =
|
|
587
|
+
}, Vt = ({ pool: e, onDrillInto: t, testIdPrefix: n = "metric-card-drill", gestureHint: r }) => {
|
|
588
|
+
let [i, a] = k.useState(""), o = zt(e) > Rt, s = k.useMemo(() => {
|
|
589
589
|
let t = i.trim().toLowerCase();
|
|
590
590
|
return t ? e.groups.map((e) => ({
|
|
591
591
|
...e,
|
|
592
592
|
options: e.options.filter((e) => e.label.toLowerCase().includes(t))
|
|
593
593
|
})).filter((e) => e.options.length > 0) : e.groups;
|
|
594
594
|
}, [e.groups, i]);
|
|
595
|
-
return /* @__PURE__ */ j(
|
|
595
|
+
return /* @__PURE__ */ j(Re, { children: [/* @__PURE__ */ j(Le, {
|
|
596
596
|
"data-testid": `${n}-trigger`,
|
|
597
597
|
children: [
|
|
598
|
-
/* @__PURE__ */ A(
|
|
598
|
+
/* @__PURE__ */ A(st, {}),
|
|
599
599
|
"Split by",
|
|
600
600
|
r ? /* @__PURE__ */ A("span", {
|
|
601
601
|
"data-testid": `${n}-gesture-hint`,
|
|
@@ -603,8 +603,8 @@ var _t = (e) => {
|
|
|
603
603
|
children: r
|
|
604
604
|
}) : null
|
|
605
605
|
]
|
|
606
|
-
}), /* @__PURE__ */ j(
|
|
607
|
-
className: O("min-w-50",
|
|
606
|
+
}), /* @__PURE__ */ j(ve, {
|
|
607
|
+
className: O("min-w-50", Se),
|
|
608
608
|
"data-testid": `${n}-submenu`,
|
|
609
609
|
children: [o ? /* @__PURE__ */ A("div", {
|
|
610
610
|
className: "p-1",
|
|
@@ -621,11 +621,11 @@ var _t = (e) => {
|
|
|
621
621
|
className: "h-7 w-full rounded-(--radius-xs) border border-(--border) bg-(--muted) px-2 text-sm text-(--foreground) outline-hidden placeholder:text-(--muted-foreground) focus-visible:ring-2 focus-visible:ring-(--ring)/20"
|
|
622
622
|
})
|
|
623
623
|
}) : null, s.length === 0 ? /* @__PURE__ */ A("div", {
|
|
624
|
-
className:
|
|
624
|
+
className: Ee,
|
|
625
625
|
"data-testid": `${n}-empty`,
|
|
626
626
|
"data-reason": i.trim() ? "no-search-match" : e.unavailableReason ?? "none",
|
|
627
|
-
children: i.trim() ? `No field matches "${i.trim()}".` :
|
|
628
|
-
}) : s.map((e) => /* @__PURE__ */ j(k.Fragment, { children: [e.label ? /* @__PURE__ */ j(
|
|
627
|
+
children: i.trim() ? `No field matches "${i.trim()}".` : Bt(e)
|
|
628
|
+
}) : s.map((e) => /* @__PURE__ */ j(k.Fragment, { children: [e.label ? /* @__PURE__ */ j(xe, {
|
|
629
629
|
className: "flex items-center gap-1.5",
|
|
630
630
|
"data-testid": `${n}-group-${e.tableName}`,
|
|
631
631
|
children: [
|
|
@@ -639,7 +639,7 @@ var _t = (e) => {
|
|
|
639
639
|
children: "joined"
|
|
640
640
|
})
|
|
641
641
|
]
|
|
642
|
-
}) : null, e.options.map((e) => e.isDate ? /* @__PURE__ */ j(
|
|
642
|
+
}) : null, e.options.map((e) => e.isDate ? /* @__PURE__ */ j(Re, { children: [/* @__PURE__ */ j(Le, {
|
|
643
643
|
"data-testid": `${n}-option-${e.key}`,
|
|
644
644
|
children: [/* @__PURE__ */ A("span", {
|
|
645
645
|
className: "truncate",
|
|
@@ -648,7 +648,7 @@ var _t = (e) => {
|
|
|
648
648
|
className: "ml-auto shrink-0 pr-1 text-caption text-(--muted-foreground)",
|
|
649
649
|
children: ["by ", e.column?.timeGrain ?? "month"]
|
|
650
650
|
})]
|
|
651
|
-
}), /* @__PURE__ */ A(
|
|
651
|
+
}), /* @__PURE__ */ A(ve, {
|
|
652
652
|
"data-testid": `${n}-grains-${e.key}`,
|
|
653
653
|
children: _.map((r) => /* @__PURE__ */ A(C, {
|
|
654
654
|
onSelect: () => t({
|
|
@@ -670,10 +670,10 @@ var _t = (e) => {
|
|
|
670
670
|
})]
|
|
671
671
|
}, e.key))] }, e.tableName || "metric"))]
|
|
672
672
|
})] });
|
|
673
|
-
},
|
|
673
|
+
}, N = ({ point: e }) => {
|
|
674
674
|
let t = f(e), n = e.measure, r = n?.formatted ?? (n?.value === void 0 ? void 0 : String(n.value));
|
|
675
675
|
return t.length === 0 && !r ? null : /* @__PURE__ */ j("div", {
|
|
676
|
-
className:
|
|
676
|
+
className: De,
|
|
677
677
|
"data-testid": "metric-card-drill-context",
|
|
678
678
|
children: [t.map((e) => /* @__PURE__ */ j("div", {
|
|
679
679
|
className: "flex items-baseline gap-3",
|
|
@@ -697,7 +697,7 @@ var _t = (e) => {
|
|
|
697
697
|
})]
|
|
698
698
|
}) : null]
|
|
699
699
|
});
|
|
700
|
-
},
|
|
700
|
+
}, P = ({ point: e, onFilterTo: t, canExcludeValues: n, canFilterThisMetric: r, canFilterDashboard: i, isFilterableColumn: a }) => {
|
|
701
701
|
let o = e.dimensions.filter((e) => !!e.columnName && e.value !== void 0 && (a?.(e.columnName) ?? !0));
|
|
702
702
|
if (o.length === 0) return null;
|
|
703
703
|
let s = (e) => e.formatted ?? (e.value === null ? "Empty" : String(e.value)), c = (e, r, i, a) => {
|
|
@@ -706,7 +706,7 @@ var _t = (e) => {
|
|
|
706
706
|
return /* @__PURE__ */ j(C, {
|
|
707
707
|
onSelect: () => t(e, r, i),
|
|
708
708
|
"data-testid": `metric-card-filter-${i}-${r}-${e.columnName}`,
|
|
709
|
-
children: [A(r === "exclude" ?
|
|
709
|
+
children: [A(r === "exclude" ? ye : nt, {}), /* @__PURE__ */ j("span", {
|
|
710
710
|
className: "truncate",
|
|
711
711
|
children: [
|
|
712
712
|
a ? `${e.label || e.columnName}: ` : "",
|
|
@@ -716,10 +716,10 @@ var _t = (e) => {
|
|
|
716
716
|
]
|
|
717
717
|
})]
|
|
718
718
|
}, `${i}-${r}-${e.columnName}`);
|
|
719
|
-
}, l = (e, t, n) => [c(e, "only", t, n), c(e, "exclude", t, n)], u = (e) => o.length === 1 ? l(o[0], e, !1) : o.map((t) => /* @__PURE__ */ j(
|
|
719
|
+
}, l = (e, t, n) => [c(e, "only", t, n), c(e, "exclude", t, n)], u = (e) => o.length === 1 ? l(o[0], e, !1) : o.map((t) => /* @__PURE__ */ j(Re, { children: [/* @__PURE__ */ j(Le, {
|
|
720
720
|
"data-testid": `metric-card-filter-${e}-dim-${t.columnName}`,
|
|
721
721
|
children: [
|
|
722
|
-
/* @__PURE__ */ A(
|
|
722
|
+
/* @__PURE__ */ A(nt, {}),
|
|
723
723
|
/* @__PURE__ */ A("span", {
|
|
724
724
|
className: "truncate",
|
|
725
725
|
children: t.label || t.columnName
|
|
@@ -729,29 +729,29 @@ var _t = (e) => {
|
|
|
729
729
|
children: s(t)
|
|
730
730
|
})
|
|
731
731
|
]
|
|
732
|
-
}), /* @__PURE__ */ A(
|
|
733
|
-
return /* @__PURE__ */ j(
|
|
732
|
+
}), /* @__PURE__ */ A(ve, { children: l(t, e, !1) })] }, `${e}-${t.columnName}`));
|
|
733
|
+
return /* @__PURE__ */ j(at, { children: [r ? /* @__PURE__ */ j(at, { children: [
|
|
734
734
|
/* @__PURE__ */ A(w, {}),
|
|
735
|
-
/* @__PURE__ */ A(
|
|
735
|
+
/* @__PURE__ */ A(xe, {
|
|
736
736
|
"data-testid": "metric-card-filter-metric-label",
|
|
737
737
|
children: "Filter this chart"
|
|
738
738
|
}),
|
|
739
739
|
u("metric")
|
|
740
|
-
] }) : null, i ? /* @__PURE__ */ j(
|
|
740
|
+
] }) : null, i ? /* @__PURE__ */ j(at, { children: [
|
|
741
741
|
/* @__PURE__ */ A(w, {}),
|
|
742
|
-
/* @__PURE__ */ A(
|
|
742
|
+
/* @__PURE__ */ A(xe, {
|
|
743
743
|
"data-testid": "metric-card-filter-label",
|
|
744
744
|
children: "Filter this dashboard"
|
|
745
745
|
}),
|
|
746
746
|
u("dashboard")
|
|
747
747
|
] }) : null] });
|
|
748
|
-
},
|
|
748
|
+
}, Ht = ({ open: e, onOpenChange: t, anchor: n, point: r, pool: i, onDrillInto: a, canSplitBy: o = !0, onViewUnderlyingData: s, onCopyValue: c, onFilterTo: l, canExcludeValues: u = !1, canFilterThisMetric: d = !1, canFilterDashboard: f = !1, isFilterableColumn: p, defaultOpen: m, className: h }) => {
|
|
749
749
|
let g = b(r);
|
|
750
|
-
return /* @__PURE__ */ j(
|
|
750
|
+
return /* @__PURE__ */ j(be, {
|
|
751
751
|
open: e,
|
|
752
752
|
onOpenChange: t,
|
|
753
753
|
defaultOpen: m,
|
|
754
|
-
children: [/* @__PURE__ */ A(
|
|
754
|
+
children: [/* @__PURE__ */ A(Te, {
|
|
755
755
|
asChild: !0,
|
|
756
756
|
children: /* @__PURE__ */ A("span", {
|
|
757
757
|
"aria-hidden": "true",
|
|
@@ -762,19 +762,19 @@ var _t = (e) => {
|
|
|
762
762
|
"--drill-anchor-y": `${n?.y ?? 0}px`
|
|
763
763
|
}
|
|
764
764
|
})
|
|
765
|
-
}), /* @__PURE__ */ j(
|
|
765
|
+
}), /* @__PURE__ */ j(Ke, {
|
|
766
766
|
align: "start",
|
|
767
767
|
size: "sm",
|
|
768
768
|
className: O("dbn-v2-above-chart-tip min-w-56 max-w-80", h),
|
|
769
769
|
"data-testid": "metric-card-drill-menu",
|
|
770
770
|
children: [
|
|
771
|
-
r ? /* @__PURE__ */ A(
|
|
771
|
+
r ? /* @__PURE__ */ A(N, { point: r }) : null,
|
|
772
772
|
c && g ? /* @__PURE__ */ j(C, {
|
|
773
773
|
onSelect: () => c(g),
|
|
774
774
|
"data-testid": "metric-card-drill-copy",
|
|
775
|
-
children: [/* @__PURE__ */ A(
|
|
775
|
+
children: [/* @__PURE__ */ A(ot, {}), "Copy value"]
|
|
776
776
|
}) : null,
|
|
777
|
-
o ? /* @__PURE__ */ A(
|
|
777
|
+
o ? /* @__PURE__ */ A(Vt, {
|
|
778
778
|
pool: i,
|
|
779
779
|
onDrillInto: a
|
|
780
780
|
}) : null,
|
|
@@ -783,7 +783,7 @@ var _t = (e) => {
|
|
|
783
783
|
"data-testid": "metric-card-drill-underlying-data",
|
|
784
784
|
children: [/* @__PURE__ */ A(D, {}), "View underlying data"]
|
|
785
785
|
}) : null,
|
|
786
|
-
r && l ? /* @__PURE__ */ A(
|
|
786
|
+
r && l ? /* @__PURE__ */ A(P, {
|
|
787
787
|
point: r,
|
|
788
788
|
onFilterTo: l,
|
|
789
789
|
canExcludeValues: u,
|
|
@@ -794,15 +794,15 @@ var _t = (e) => {
|
|
|
794
794
|
]
|
|
795
795
|
})]
|
|
796
796
|
});
|
|
797
|
-
},
|
|
797
|
+
}, Ut = ({ open: e, onOpenChange: t, onDownload: n, onEmail: r, rows: i, customMessages: a = {} }) => {
|
|
798
798
|
let { downloadCsvTitle: o = "Download CSV", downloadCsvBody: s, downloadCsvConfirmLabel: c = "Download", emailCsvLabel: l = "Email", cancelLabel: u = "Cancel" } = a, d = i?.length, f = s ?? (typeof d == "number" ? `Export ${d} row${d === 1 ? "" : "s"} as a CSV file.` : "Export the current data as a CSV file.");
|
|
799
|
-
return /* @__PURE__ */ A(
|
|
799
|
+
return /* @__PURE__ */ A(Qe, {
|
|
800
800
|
open: e,
|
|
801
801
|
onOpenChange: t,
|
|
802
|
-
children: /* @__PURE__ */ j(
|
|
803
|
-
/* @__PURE__ */ A(
|
|
804
|
-
/* @__PURE__ */ A(
|
|
805
|
-
/* @__PURE__ */ j(
|
|
802
|
+
children: /* @__PURE__ */ j(Ze, { children: [
|
|
803
|
+
/* @__PURE__ */ A(Xe, { children: /* @__PURE__ */ A($e, { children: o }) }),
|
|
804
|
+
/* @__PURE__ */ A(tt, { children: f }),
|
|
805
|
+
/* @__PURE__ */ j(Ye, { children: [
|
|
806
806
|
/* @__PURE__ */ A(E, {
|
|
807
807
|
type: "button",
|
|
808
808
|
variant: "outline",
|
|
@@ -823,37 +823,37 @@ var _t = (e) => {
|
|
|
823
823
|
] })
|
|
824
824
|
] })
|
|
825
825
|
});
|
|
826
|
-
},
|
|
826
|
+
}, Wt = ({ open: t, onOpenChange: n, metric: r, chartSettings: a, data: o, chartColors: s, chartAppearance: c, chartRendererType: l, title: u, isLoading: d = !1, error: f, isJoinMismatch: p = !1, hasActiveFilters: m, onRetry: h, copyProps: g = {}, tablePaging: _, tableSearch: ee, underlyingData: v }) => {
|
|
827
827
|
let y = f ? e(f, { resourceKind: "metric" }) : void 0, te = y?.retryable !== !1, b = a?.chartType === i.singleValue, x = !o?.length || !a?.chartType;
|
|
828
|
-
return /* @__PURE__ */ A(
|
|
828
|
+
return /* @__PURE__ */ A(Qe, {
|
|
829
829
|
open: t,
|
|
830
830
|
onOpenChange: n,
|
|
831
|
-
children: /* @__PURE__ */ j(
|
|
831
|
+
children: /* @__PURE__ */ j(Ze, {
|
|
832
832
|
"data-testid": "fullscreen-dialog-content",
|
|
833
833
|
showCloseButton: !1,
|
|
834
834
|
className: "flex h-9/10 max-h-9/10 w-19/20 max-w-19/20 flex-col sm:max-w-19/20",
|
|
835
835
|
children: [
|
|
836
|
-
/* @__PURE__ */ A(
|
|
836
|
+
/* @__PURE__ */ A(Xe, { children: /* @__PURE__ */ A($e, { children: u ?? r?.name ?? r?.metricName ?? "Metric" }) }),
|
|
837
837
|
/* @__PURE__ */ j("div", {
|
|
838
838
|
className: "flex min-h-0 w-full flex-1 flex-col gap-3",
|
|
839
839
|
children: [/* @__PURE__ */ A("div", {
|
|
840
840
|
className: b ? "h-44 w-full shrink-0" : "min-h-0 w-full flex-1",
|
|
841
841
|
"data-testid": "fullscreen-dialog-chart-region",
|
|
842
|
-
children: d ? /* @__PURE__ */ A(
|
|
842
|
+
children: d ? /* @__PURE__ */ A(We, { className: "h-full" }) : f ? /* @__PURE__ */ A(je, {
|
|
843
843
|
error: y,
|
|
844
844
|
onRetry: te ? h : void 0,
|
|
845
845
|
...g
|
|
846
846
|
}) : p ? /* @__PURE__ */ A("div", {
|
|
847
847
|
"data-testid": "card-join-mismatch-state",
|
|
848
848
|
"data-slot": "metric-card-join-mismatch",
|
|
849
|
-
children: /* @__PURE__ */ A(
|
|
850
|
-
error: e(
|
|
849
|
+
children: /* @__PURE__ */ A(je, {
|
|
850
|
+
error: e(he("column")),
|
|
851
851
|
...g
|
|
852
852
|
})
|
|
853
|
-
}) : x ? /* @__PURE__ */ A(
|
|
853
|
+
}) : x ? /* @__PURE__ */ A(He, {
|
|
854
854
|
className: "h-full",
|
|
855
855
|
hasActiveFilters: m
|
|
856
|
-
}) : /* @__PURE__ */ A(
|
|
856
|
+
}) : /* @__PURE__ */ A(Ue, {
|
|
857
857
|
hasActiveFilters: m,
|
|
858
858
|
tablePaging: _,
|
|
859
859
|
tableSearch: ee,
|
|
@@ -886,7 +886,7 @@ var _t = (e) => {
|
|
|
886
886
|
ariaLabel: "Underlying data rows",
|
|
887
887
|
qaEntity: "metric-card-fullscreen-underlying-data",
|
|
888
888
|
className: "h-full"
|
|
889
|
-
}) : v.isLoading ? /* @__PURE__ */ A(
|
|
889
|
+
}) : v.isLoading ? /* @__PURE__ */ A(We, { className: "h-full" }) : v.error ? /* @__PURE__ */ j("div", {
|
|
890
890
|
role: "alert",
|
|
891
891
|
className: "flex h-full flex-col items-center justify-center gap-3 rounded-(--radius-md) border border-(--border) p-6 text-center",
|
|
892
892
|
children: [/* @__PURE__ */ A("span", {
|
|
@@ -905,7 +905,7 @@ var _t = (e) => {
|
|
|
905
905
|
})]
|
|
906
906
|
}) : null]
|
|
907
907
|
}),
|
|
908
|
-
/* @__PURE__ */ A(
|
|
908
|
+
/* @__PURE__ */ A(Ye, { children: /* @__PURE__ */ A(E, {
|
|
909
909
|
type: "button",
|
|
910
910
|
variant: "outline",
|
|
911
911
|
onClick: () => n(!1),
|
|
@@ -914,26 +914,26 @@ var _t = (e) => {
|
|
|
914
914
|
]
|
|
915
915
|
})
|
|
916
916
|
});
|
|
917
|
-
},
|
|
918
|
-
let [
|
|
919
|
-
if (!e?.length) return null;
|
|
920
|
-
let
|
|
921
|
-
|
|
922
|
-
},
|
|
923
|
-
|
|
924
|
-
...
|
|
917
|
+
}, Gt = ({ filters: e, onChange: t, position: n = "inside", multi: r = !1, defaultOpen: i, className: a, children: o, childActiveCount: s = 0, onClearAll: c }) => {
|
|
918
|
+
let [l, u] = k.useState({}), d = k.useMemo(() => Object.values(l).filter((e) => Array.isArray(e) ? e.length > 0 : !!e).length + s, [l, s]), f = k.useMemo(() => Object.fromEntries(e.map((e) => [e.id, new Set(l[e.id] ?? [])])), [e, l]);
|
|
919
|
+
if (!e?.length && !o) return null;
|
|
920
|
+
let p = (e) => {
|
|
921
|
+
u(e), t(e);
|
|
922
|
+
}, m = (e, t) => {
|
|
923
|
+
p({
|
|
924
|
+
...l,
|
|
925
925
|
[e]: t
|
|
926
926
|
});
|
|
927
|
-
},
|
|
928
|
-
let r =
|
|
929
|
-
|
|
930
|
-
...
|
|
927
|
+
}, h = (e, t, n) => {
|
|
928
|
+
let r = l[e] ?? [], i = n ? [...r, t] : r.filter((e) => e !== t);
|
|
929
|
+
p({
|
|
930
|
+
...l,
|
|
931
931
|
[e]: i
|
|
932
932
|
});
|
|
933
933
|
};
|
|
934
|
-
return /* @__PURE__ */ j(
|
|
934
|
+
return /* @__PURE__ */ j(Ae, {
|
|
935
935
|
defaultOpen: i,
|
|
936
|
-
children: [/* @__PURE__ */ A(
|
|
936
|
+
children: [/* @__PURE__ */ A(Oe, {
|
|
937
937
|
asChild: !0,
|
|
938
938
|
children: /* @__PURE__ */ j(E, {
|
|
939
939
|
type: "button",
|
|
@@ -944,62 +944,78 @@ var _t = (e) => {
|
|
|
944
944
|
"data-testid": "metric-filter-control-trigger",
|
|
945
945
|
"data-position": n,
|
|
946
946
|
children: [
|
|
947
|
-
/* @__PURE__ */ A(
|
|
947
|
+
/* @__PURE__ */ A(nt, {}),
|
|
948
948
|
"Filters",
|
|
949
|
-
|
|
949
|
+
d ? ` (${d})` : ""
|
|
950
950
|
]
|
|
951
951
|
})
|
|
952
|
-
}), /* @__PURE__ */ A(
|
|
952
|
+
}), /* @__PURE__ */ A(qe, {
|
|
953
953
|
align: n === "outside" ? "start" : "end",
|
|
954
954
|
size: "lg",
|
|
955
955
|
padding: "form",
|
|
956
956
|
"data-testid": "metric-filter-control-content",
|
|
957
|
-
children: /* @__PURE__ */
|
|
957
|
+
children: /* @__PURE__ */ j("div", {
|
|
958
958
|
className: "flex flex-col gap-4",
|
|
959
|
-
children:
|
|
960
|
-
|
|
961
|
-
children: [/* @__PURE__ */ A("span", {
|
|
962
|
-
className: "text-xs font-medium text-(--muted-foreground)",
|
|
963
|
-
children: e.label
|
|
964
|
-
}), r ? /* @__PURE__ */ A("div", {
|
|
959
|
+
children: [
|
|
960
|
+
e.map((e) => /* @__PURE__ */ j("div", {
|
|
965
961
|
className: "flex flex-col gap-1.5",
|
|
966
|
-
children:
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
962
|
+
children: [/* @__PURE__ */ A("span", {
|
|
963
|
+
className: "text-xs font-medium text-(--muted-foreground)",
|
|
964
|
+
children: e.label
|
|
965
|
+
}), r ? /* @__PURE__ */ A("div", {
|
|
966
|
+
className: "flex flex-col gap-1.5",
|
|
967
|
+
children: e.options.map((t) => {
|
|
968
|
+
let n = f[e.id]?.has(t);
|
|
969
|
+
return /* @__PURE__ */ j("label", {
|
|
970
|
+
className: "flex cursor-pointer items-center gap-2 text-sm text-(--foreground)",
|
|
971
|
+
children: [/* @__PURE__ */ A(et, {
|
|
972
|
+
checked: n,
|
|
973
|
+
onCheckedChange: (n) => h(e.id, t, n === !0),
|
|
974
|
+
"data-testid": `metric-filter-option-${e.id}-${t}`
|
|
975
|
+
}), t]
|
|
976
|
+
}, t);
|
|
977
|
+
})
|
|
978
|
+
}) : /* @__PURE__ */ j(Fe, {
|
|
979
|
+
value: l[e.id] ?? "",
|
|
980
|
+
onValueChange: (t) => m(e.id, t),
|
|
981
|
+
children: [/* @__PURE__ */ A(Ge, {
|
|
982
|
+
size: "sm",
|
|
983
|
+
className: "w-full",
|
|
984
|
+
"data-testid": `metric-filter-select-${e.id}`,
|
|
985
|
+
children: /* @__PURE__ */ A(Je, { placeholder: "All" })
|
|
986
|
+
}), /* @__PURE__ */ A(Pe, { children: e.options.map((e) => /* @__PURE__ */ A(ke, {
|
|
987
|
+
value: e,
|
|
988
|
+
children: e
|
|
989
|
+
}, e)) })]
|
|
990
|
+
})]
|
|
991
|
+
}, e.id)),
|
|
992
|
+
o,
|
|
993
|
+
c && d ? /* @__PURE__ */ A("div", {
|
|
994
|
+
className: "flex justify-end border-t border-(--border) pt-3",
|
|
995
|
+
children: /* @__PURE__ */ A(E, {
|
|
996
|
+
type: "button",
|
|
997
|
+
variant: "ghost",
|
|
981
998
|
size: "sm",
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
}, e.id))
|
|
999
|
+
"data-testid": "metric-filter-control-clear-all",
|
|
1000
|
+
onClick: () => {
|
|
1001
|
+
u({}), c();
|
|
1002
|
+
},
|
|
1003
|
+
children: "Clear all"
|
|
1004
|
+
})
|
|
1005
|
+
}) : null
|
|
1006
|
+
]
|
|
991
1007
|
})
|
|
992
1008
|
})]
|
|
993
1009
|
});
|
|
994
|
-
},
|
|
1010
|
+
}, Kt = (e) => {
|
|
995
1011
|
let t = e.target;
|
|
996
1012
|
t instanceof Element && t.closest("table") || e.preventDefault();
|
|
997
1013
|
};
|
|
998
|
-
function
|
|
1014
|
+
function F(...e) {
|
|
999
1015
|
return e.find((e) => e !== void 0);
|
|
1000
1016
|
}
|
|
1001
|
-
var
|
|
1002
|
-
function
|
|
1017
|
+
var qt = "__dbnMetricDrillMenu", Jt = "STRING";
|
|
1018
|
+
function Yt(e) {
|
|
1003
1019
|
return e ? e.getConnectedDataURL({
|
|
1004
1020
|
type: "png",
|
|
1005
1021
|
pixelRatio: 2,
|
|
@@ -1007,35 +1023,39 @@ function Wt(e) {
|
|
|
1007
1023
|
backgroundColor: "#fff"
|
|
1008
1024
|
}) : "#";
|
|
1009
1025
|
}
|
|
1010
|
-
var
|
|
1011
|
-
function
|
|
1026
|
+
var Xt = 5e3, Zt = {}, Qt = 2e5;
|
|
1027
|
+
function $t(e, t) {
|
|
1012
1028
|
let n = d(e), r = new Blob(["", n], { type: "text/csv;charset=utf-8;" }), i = URL.createObjectURL(r);
|
|
1013
1029
|
try {
|
|
1014
|
-
|
|
1030
|
+
en(i, t);
|
|
1015
1031
|
} finally {
|
|
1016
1032
|
setTimeout(() => URL.revokeObjectURL(i), 0);
|
|
1017
1033
|
}
|
|
1018
1034
|
}
|
|
1019
|
-
function
|
|
1035
|
+
function en(e, t) {
|
|
1020
1036
|
if (!e || e === "#") return;
|
|
1021
1037
|
let n = document.createElement("a");
|
|
1022
1038
|
n.href = e, n.download = t, n.style.display = "none", document.body.appendChild(n), n.click(), document.body.removeChild(n);
|
|
1023
1039
|
}
|
|
1024
|
-
function
|
|
1040
|
+
function tn(e) {
|
|
1025
1041
|
if (e == null) return "";
|
|
1026
1042
|
if (typeof e == "string") return e;
|
|
1027
1043
|
if (typeof e == "number") return String(e);
|
|
1028
1044
|
let t = e;
|
|
1029
1045
|
return String(t.label ?? t.value ?? t.name ?? "");
|
|
1030
1046
|
}
|
|
1031
|
-
function
|
|
1047
|
+
function nn(e) {
|
|
1032
1048
|
return e?.length ? e.filter((e) => e && !e.isHiddenInUi).map((e) => ({
|
|
1033
1049
|
id: String(e.name),
|
|
1034
1050
|
label: String(e.name),
|
|
1035
|
-
options: Array.isArray(e.options) ? e.options.map(
|
|
1051
|
+
options: Array.isArray(e.options) ? e.options.map(tn).filter(Boolean) : []
|
|
1036
1052
|
})) : [];
|
|
1037
1053
|
}
|
|
1038
|
-
|
|
1054
|
+
var rn = "opacity-0 transition-opacity group-focus-within/metric-card:opacity-100 group-hover/metric-card:opacity-100 focus-visible:opacity-100 [@media(hover:none)]:opacity-100 [@media(pointer:coarse)]:opacity-100";
|
|
1055
|
+
function an(e) {
|
|
1056
|
+
return e?.filterType === "manual" && !e.isVariableFilter && e.filterVariant?.value !== "like";
|
|
1057
|
+
}
|
|
1058
|
+
function on(e) {
|
|
1039
1059
|
let t = (Array.isArray(e?.options) ? e.options : []).find((e) => e?.range === "Date Range");
|
|
1040
1060
|
if (t?.startDate && t?.endDate && e?.value) return {
|
|
1041
1061
|
startDate: l(t.startDate),
|
|
@@ -1044,133 +1064,133 @@ function Zt(e) {
|
|
|
1044
1064
|
value: ""
|
|
1045
1065
|
};
|
|
1046
1066
|
}
|
|
1047
|
-
function
|
|
1048
|
-
if (e != null) return typeof e == "string" ? e === "download" ? /* @__PURE__ */ A(
|
|
1067
|
+
function sn(e) {
|
|
1068
|
+
if (e != null) return typeof e == "string" ? e === "download" ? /* @__PURE__ */ A(lt, {}) : e === "kebab-menu-vertical" ? void 0 : e.trimStart().startsWith("<") ? /* @__PURE__ */ A("span", { dangerouslySetInnerHTML: { __html: r(e) } }) : void 0 : e;
|
|
1049
1069
|
}
|
|
1050
|
-
var
|
|
1051
|
-
let { metricItem: l, metric: d, isDisableCardTitle: f, isShadowDisableOnHover: h, hideMetricCardShadow: _, disableBorder: ee, disableMetricCardBorder: v, isMergedMetric: b, colors: x, chartColors: S, chartRendererType:
|
|
1070
|
+
var I = (a) => {
|
|
1071
|
+
let { metricItem: l, metric: d, isDisableCardTitle: f, isShadowDisableOnHover: h, hideMetricCardShadow: _, disableBorder: ee, disableMetricCardBorder: v, isMergedMetric: b, colors: x, chartColors: S, chartRendererType: ve, chartAppearance: ye, appearanceOptions: be, chartColumns: xe, chartHeight: C, width: Se, optionsIcon: we, settingsIcon: Te, noDataImg: Ee, noDataFoundSvg: w, enableDownloadCsv: De, enableEmailCsv: Oe, onDownloadRawCsv: ke, onServerEvent: T, disableDownloadPng: Ae, disableDownloadDataNoFilters: Me, disableDownloadUnderlyingDataNoFilters: Ne, disableUnderlyingData: Pe, isAllowedToSeeUnderlyingData: Fe, disableFullscreen: Le, enableTitleClickFullscreen: Re, canEditMetric: ze, onEditMetric: Ve, language: Ge, translationDictionary: Ke, customMessages: qe, className: Je, metricFilterPosition: Ye, enableMultiMetricFilters: Xe, clientColumnType: D, hideDatePickerOptions: Ze, dropdownTheme: Qe, isFrontendApp: $e, token: et, datasourceId: tt, isAllClient: nt, workspaceId: ot, globalFilters: st, calendarType: ct, enableAdhocDrill: lt, enableExcludeFilter: ut, enableCrossFilter: ft, enableCrossFilterBeforeDrill: pt, enableTablePaging: mt, enableFormattedUnderlyingData: gt, enableCoverageTruncation: bt, enableFilteredEmptyState: xt, onClearAllFilters: St, isEditLayoutEnabled: Dt, isDisableMerge: Ot, setOpenMergeModal: kt, knownCause: At } = a, M = l ?? d, { data: jt } = n(), Mt = jt?.clientSubsetData, { client: Nt, param: Pt, companyTenancyType: Ft, encryptedClient: It, isJoinMismatch: Rt, userProvidedDashboardId: zt } = a, Bt = {
|
|
1052
1072
|
...a,
|
|
1053
1073
|
metric: M,
|
|
1054
|
-
clientId:
|
|
1055
|
-
encryptedClientId:
|
|
1056
|
-
tenancyLevel:
|
|
1057
|
-
rlsFilters:
|
|
1058
|
-
isDisableQuery: !!
|
|
1059
|
-
dashboardId:
|
|
1060
|
-
}, N =
|
|
1061
|
-
c("card",
|
|
1062
|
-
let { emptyCard:
|
|
1063
|
-
customMessages:
|
|
1064
|
-
translationDictionary:
|
|
1065
|
-
selectedLanguage:
|
|
1066
|
-
},
|
|
1074
|
+
clientId: Nt,
|
|
1075
|
+
encryptedClientId: It,
|
|
1076
|
+
tenancyLevel: Ft,
|
|
1077
|
+
rlsFilters: Pt,
|
|
1078
|
+
isDisableQuery: !!Rt,
|
|
1079
|
+
dashboardId: zt
|
|
1080
|
+
}, N = le(Bt), P = !!F(N.isQueryLoading, N.isLoading), tn = !!N.isMetricUpdating && !P, I = k.useMemo(() => F(N.dataDb, N.data) ?? [], [N.dataDb, N.data]), L = F(N.queryError, N.error), cn = ze && s(L) ? L.message : void 0, ln = F(N.refetchMetricData, N.refetch), R = N.chartSettings ?? M?.chartOptions, z = !!N.isSingleValueNull, un = F(N.metricName, M?.name, M?.metricName), dn = F(N.description, M?.description), fn = N.longDescription, pn = N.footNote, mn = fn ? /* @__PURE__ */ A("span", { dangerouslySetInnerHTML: { __html: r(fn) } }) : void 0, hn = k.useMemo(() => L ? de(L) : void 0, [L]);
|
|
1081
|
+
c("card", hn, { metricId: M?.metricId ?? M?.id });
|
|
1082
|
+
let { emptyCard: gn } = ie(), _n = {
|
|
1083
|
+
customMessages: qe,
|
|
1084
|
+
translationDictionary: Ke,
|
|
1085
|
+
selectedLanguage: Ge
|
|
1086
|
+
}, vn = !!(F(ee, v) || b), yn = !!F(h, _) || vn, bn = F(x, S), [xn, Sn] = k.useState(!1), [Cn, wn] = k.useState(!1), [Tn, En] = k.useState(!1), [B, Dn] = k.useState(!1), [On, V] = k.useState(null), kn = k.useCallback(() => V(null), []), An = k.useRef(!1);
|
|
1067
1087
|
k.useEffect(() => {
|
|
1068
1088
|
V(null);
|
|
1069
1089
|
}, [M?.id]);
|
|
1070
|
-
let [
|
|
1090
|
+
let [jn, H] = k.useState([]), [Mn, U] = k.useState(!1), Nn = k.useMemo(() => Object.keys(jn[0] ?? {}).map((e) => ({
|
|
1071
1091
|
key: e,
|
|
1072
1092
|
label: e
|
|
1073
|
-
})), [
|
|
1093
|
+
})), [jn]), [W, Pn] = k.useState({
|
|
1074
1094
|
limit: 100,
|
|
1075
1095
|
offset: 0
|
|
1076
|
-
}), [
|
|
1096
|
+
}), [Fn, In] = k.useState(0), [Ln, Rn] = k.useState({
|
|
1077
1097
|
isRunning: !1,
|
|
1078
1098
|
fetchedRows: 0
|
|
1079
|
-
}),
|
|
1080
|
-
enableAdhocDrill:
|
|
1081
|
-
enableExcludeFilter:
|
|
1082
|
-
enableCrossFilter:
|
|
1083
|
-
disableUnderlyingData:
|
|
1084
|
-
enableTablePaging:
|
|
1085
|
-
enableFormattedUnderlyingData:
|
|
1099
|
+
}), zn = k.useRef(!1), [Bn, Vn] = k.useState(null), Hn = N.handleChartClick, Un = k.useMemo(() => te(jt, {
|
|
1100
|
+
enableAdhocDrill: lt,
|
|
1101
|
+
enableExcludeFilter: ut,
|
|
1102
|
+
enableCrossFilter: ft,
|
|
1103
|
+
disableUnderlyingData: Pe,
|
|
1104
|
+
enableTablePaging: mt,
|
|
1105
|
+
enableFormattedUnderlyingData: gt
|
|
1086
1106
|
}), [
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
]),
|
|
1095
|
-
enableDownloadCsv:
|
|
1096
|
-
enableEmailCsv: !!
|
|
1097
|
-
disableDownloadPng:
|
|
1098
|
-
disableDownloadDataNoFilters: !!
|
|
1099
|
-
disableDownloadUnderlyingDataNoFilters: !!
|
|
1100
|
-
disableUnderlyingData:
|
|
1101
|
-
disableFullscreen: !!
|
|
1102
|
-
},
|
|
1107
|
+
jt,
|
|
1108
|
+
lt,
|
|
1109
|
+
ut,
|
|
1110
|
+
ft,
|
|
1111
|
+
Pe,
|
|
1112
|
+
mt,
|
|
1113
|
+
gt
|
|
1114
|
+
]), G = Un.canDrillIntoAnyDimension, Wn = Un.canCrossFilter, Gn = {
|
|
1115
|
+
enableDownloadCsv: De,
|
|
1116
|
+
enableEmailCsv: !!F(Oe, ke ? !0 : void 0),
|
|
1117
|
+
disableDownloadPng: Ae,
|
|
1118
|
+
disableDownloadDataNoFilters: !!Me,
|
|
1119
|
+
disableDownloadUnderlyingDataNoFilters: !!Ne,
|
|
1120
|
+
disableUnderlyingData: F(Pe, Fe === void 0 ? void 0 : !Fe),
|
|
1121
|
+
disableFullscreen: !!Le
|
|
1122
|
+
}, Kn = !Le, K = !Gn.disableUnderlyingData, qn = G || K, Jn = Un.canPageThroughLargeTables, q = Un.canReadFormattedUnderlyingData, [Yn, Xn] = k.useState({
|
|
1103
1123
|
open: !1,
|
|
1104
1124
|
anchor: null,
|
|
1105
1125
|
params: null
|
|
1106
|
-
}),
|
|
1107
|
-
typeof window < "u" && !
|
|
1126
|
+
}), Zn = k.useId(), Qn = k.useRef(!1), $n = k.useCallback((e) => {
|
|
1127
|
+
typeof window < "u" && !Yn.open && window.history.state?.[qt] !== Zn && (Qn.current = !1, window.history.pushState({
|
|
1108
1128
|
...window.history.state,
|
|
1109
|
-
[
|
|
1110
|
-
}, "")),
|
|
1111
|
-
}, [
|
|
1112
|
-
|
|
1129
|
+
[qt]: Zn
|
|
1130
|
+
}, "")), Xn(e);
|
|
1131
|
+
}, [Yn.open, Zn]), er = k.useCallback(() => {
|
|
1132
|
+
Xn((e) => ({
|
|
1113
1133
|
...e,
|
|
1114
1134
|
open: !1
|
|
1115
|
-
})), typeof window < "u" && !
|
|
1116
|
-
}, [
|
|
1135
|
+
})), typeof window < "u" && !Qn.current && window.history.state?.[qt] === Zn && (Qn.current = !0, window.history.back());
|
|
1136
|
+
}, [Zn]);
|
|
1117
1137
|
k.useEffect(() => {
|
|
1118
1138
|
if (typeof window > "u") return;
|
|
1119
1139
|
let e = () => {
|
|
1120
|
-
|
|
1140
|
+
Qn.current = !1, Xn((e) => ({
|
|
1121
1141
|
...e,
|
|
1122
1142
|
open: !1
|
|
1123
1143
|
}));
|
|
1124
1144
|
};
|
|
1125
1145
|
return window.addEventListener("popstate", e), () => window.removeEventListener("popstate", e);
|
|
1126
1146
|
}, []);
|
|
1127
|
-
let
|
|
1128
|
-
subset:
|
|
1147
|
+
let tr = N.drillDownSettings, J = k.useMemo(() => tr?.configV2?.levels ?? [], [tr?.configV2?.levels]), nr = vt(tr?.configV2), rr = nr.activeLevel, ir = rr?.dimensions?.[0]?.alias || R?.xAxis || M?.datasetMetricSettings?.newDatasetSettings?.selectedDims?.[0]?.alias, ar = k.useMemo(() => G ? yt({
|
|
1148
|
+
subset: Mt,
|
|
1129
1149
|
configuration: M?.datasetMetricSettings?.newDatasetSettings?.configuration,
|
|
1130
1150
|
selectedDims: M?.datasetMetricSettings?.newDatasetSettings?.selectedDims,
|
|
1131
|
-
config:
|
|
1151
|
+
config: tr?.configV2,
|
|
1132
1152
|
isCustomSql: !!M?.datasetMetricSettings?.isUseRawSQL
|
|
1133
1153
|
}) : { groups: [] }, [
|
|
1134
|
-
|
|
1135
|
-
|
|
1154
|
+
G,
|
|
1155
|
+
Mt,
|
|
1136
1156
|
M,
|
|
1137
|
-
|
|
1138
|
-
]),
|
|
1139
|
-
chartType:
|
|
1157
|
+
tr?.configV2
|
|
1158
|
+
]), or = ar.groups.some((e) => e.options.length > 0), sr = N.onDrillIntoDimension, cr = N.onDrillLevelClick, lr = N.onDrillDown, ur = N.onFilterDashboardTo, dr = N.onFilterMetricTo, fr = k.useMemo(() => oe({
|
|
1159
|
+
chartType: R?.chartType,
|
|
1140
1160
|
isDrillEnabled: M?.drillDownSettings?.isEnableGroupBy,
|
|
1141
1161
|
dimensions: N.dimensions,
|
|
1142
1162
|
drilledLevel: N.drilledLevel,
|
|
1143
|
-
drillLevels:
|
|
1163
|
+
drillLevels: J
|
|
1144
1164
|
}), [
|
|
1145
|
-
|
|
1165
|
+
R?.chartType,
|
|
1146
1166
|
M?.drillDownSettings?.isEnableGroupBy,
|
|
1147
1167
|
N.dimensions,
|
|
1148
1168
|
N.drilledLevel,
|
|
1149
|
-
|
|
1150
|
-
]),
|
|
1151
|
-
if (!
|
|
1152
|
-
let t =
|
|
1153
|
-
columnName:
|
|
1154
|
-
value:
|
|
1155
|
-
}] : e?.rowFilters, c = t === i.table || t === i.singleValue || o && r === n ? s : e, l =
|
|
1156
|
-
chart:
|
|
1157
|
-
chartWithMetric:
|
|
1158
|
-
chartWithDashboard:
|
|
1169
|
+
J
|
|
1170
|
+
]), pr = a.enableClickActions, Y = k.useMemo(() => M?.clickActions ?? {}, [M?.clickActions]), mr = a.onMaximize, hr = a.chartClickFunction, gr = k.useCallback((e) => {
|
|
1171
|
+
if (!pr) return;
|
|
1172
|
+
let t = R?.chartType, n = N.dimensions?.length, r = N.drilledLevel, o = !!M?.drillDownSettings?.isEnableGroupBy, s = t === i.singleValue ? [{
|
|
1173
|
+
columnName: R?.singleValue,
|
|
1174
|
+
value: I?.[0]?.[R?.singleValue || ""]
|
|
1175
|
+
}] : e?.rowFilters, c = t === i.table || t === i.singleValue || o && r === n ? s : e, l = pe({
|
|
1176
|
+
chart: Y.chart,
|
|
1177
|
+
chartWithMetric: Y.chartWithMetric,
|
|
1178
|
+
chartWithDashboard: Y.chartWithDashboard,
|
|
1159
1179
|
isDrillEnabled: o,
|
|
1160
1180
|
drilledLevel: r,
|
|
1161
1181
|
dimensionCount: n,
|
|
1162
|
-
isLastConfiguredDrillLevel: !!
|
|
1163
|
-
isTableRedirectAllowed: !
|
|
1164
|
-
}), u = (e, t) =>
|
|
1165
|
-
chart:
|
|
1182
|
+
isLastConfiguredDrillLevel: !!J[J.length - 1]?.isEnable,
|
|
1183
|
+
isTableRedirectAllowed: !Be.has(t) || !!R?.tableSettings?.chartAction?.isEnableColumnRedirection
|
|
1184
|
+
}), u = (e, t) => ue({
|
|
1185
|
+
chart: R,
|
|
1166
1186
|
valueColumn: e,
|
|
1167
1187
|
isDrillEnabled: o,
|
|
1168
1188
|
drilledLevel: r,
|
|
1169
1189
|
dimensionCount: n,
|
|
1170
1190
|
params: c,
|
|
1171
1191
|
passAllData: t
|
|
1172
|
-
}), d =
|
|
1173
|
-
if (l.host ?
|
|
1192
|
+
}), d = Y.chart?.valueColumn, f = Y.chartWithDashboard?.valueColumn ?? R?.xAxis;
|
|
1193
|
+
if (l.host ? hr?.(u(d, Y.chart?.isPassAllData) || void 0) : l.navigate && it(Y.chart, u(d) || void 0), l.openNestedMetric && mr?.({
|
|
1174
1194
|
metric: M,
|
|
1175
1195
|
rlsFilters: a.param,
|
|
1176
1196
|
appFilters: a.appFilters,
|
|
@@ -1178,42 +1198,42 @@ var $t = (a) => {
|
|
|
1178
1198
|
isClickOnChart: !0
|
|
1179
1199
|
}), l.openDashboard) {
|
|
1180
1200
|
let e = y({
|
|
1181
|
-
config:
|
|
1201
|
+
config: Y.chartWithDashboard,
|
|
1182
1202
|
value: u(f)
|
|
1183
1203
|
});
|
|
1184
|
-
e.ok &&
|
|
1204
|
+
e.ok && hr?.(e.intent);
|
|
1185
1205
|
}
|
|
1186
1206
|
}, [
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1207
|
+
pr,
|
|
1208
|
+
Y,
|
|
1209
|
+
R,
|
|
1210
|
+
I,
|
|
1191
1211
|
N.dimensions,
|
|
1192
1212
|
N.drilledLevel,
|
|
1193
1213
|
M,
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1214
|
+
J,
|
|
1215
|
+
hr,
|
|
1216
|
+
mr,
|
|
1197
1217
|
a
|
|
1198
|
-
]),
|
|
1199
|
-
|
|
1200
|
-
let n = e?.event?.event ?? e?.event, r = t ??
|
|
1218
|
+
]), _r = k.useCallback((e, t) => {
|
|
1219
|
+
Hn?.(e);
|
|
1220
|
+
let n = e?.event?.event ?? e?.event, r = t ?? ht(n?.type), i = _t({
|
|
1201
1221
|
gesture: r,
|
|
1202
|
-
route:
|
|
1203
|
-
canCrossFilter:
|
|
1204
|
-
canDrillInto:
|
|
1205
|
-
hasPointMenu:
|
|
1222
|
+
route: fr,
|
|
1223
|
+
canCrossFilter: Wn,
|
|
1224
|
+
canDrillInto: G,
|
|
1225
|
+
hasPointMenu: qn
|
|
1206
1226
|
});
|
|
1207
|
-
r === "primary" &&
|
|
1208
|
-
columnName:
|
|
1227
|
+
r === "primary" && gr(e), i.drillDown && (pt === !0 && !a.isInternalApp && ir && e?.name !== void 0 && !Be.has(R?.chartType) && ur?.({
|
|
1228
|
+
columnName: ir,
|
|
1209
1229
|
value: e.name,
|
|
1210
1230
|
mode: "only"
|
|
1211
|
-
}),
|
|
1212
|
-
chartType:
|
|
1231
|
+
}), lr?.(ae({
|
|
1232
|
+
chartType: R?.chartType,
|
|
1213
1233
|
params: e,
|
|
1214
1234
|
rowFilters: e?.rowFilters,
|
|
1215
1235
|
dimensions: N.dimensions
|
|
1216
|
-
}))), i.adhocMenu && (r === "secondary" && n?.preventDefault?.(),
|
|
1236
|
+
}))), i.adhocMenu && (r === "secondary" && n?.preventDefault?.(), $n({
|
|
1217
1237
|
open: !0,
|
|
1218
1238
|
anchor: {
|
|
1219
1239
|
x: n?.offsetX ?? 0,
|
|
@@ -1222,29 +1242,29 @@ var $t = (a) => {
|
|
|
1222
1242
|
params: e
|
|
1223
1243
|
}));
|
|
1224
1244
|
}, [
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1245
|
+
Hn,
|
|
1246
|
+
gr,
|
|
1247
|
+
G,
|
|
1248
|
+
qn,
|
|
1249
|
+
Wn,
|
|
1250
|
+
fr,
|
|
1251
|
+
lr,
|
|
1252
|
+
ur,
|
|
1253
|
+
pt,
|
|
1234
1254
|
a.isInternalApp,
|
|
1235
|
-
|
|
1236
|
-
|
|
1255
|
+
ir,
|
|
1256
|
+
R?.chartType,
|
|
1237
1257
|
N.dimensions,
|
|
1238
|
-
|
|
1239
|
-
]),
|
|
1240
|
-
let t =
|
|
1241
|
-
t !== e && (t?.removeEventListener("contextmenu",
|
|
1242
|
-
}, []),
|
|
1243
|
-
let t =
|
|
1258
|
+
$n
|
|
1259
|
+
]), vr = k.useRef(null), yr = k.useRef(null), br = k.useCallback((e) => {
|
|
1260
|
+
let t = yr.current;
|
|
1261
|
+
t !== e && (t?.removeEventListener("contextmenu", Kt), e?.addEventListener("contextmenu", Kt), yr.current = e);
|
|
1262
|
+
}, []), xr = k.useCallback((e) => {
|
|
1263
|
+
let t = yr.current, n = e.anchor.getBoundingClientRect(), r = t?.getBoundingClientRect(), i = Object.keys(e.row || {}).map((t) => ({
|
|
1244
1264
|
columnName: t,
|
|
1245
1265
|
value: e.row?.[t]
|
|
1246
1266
|
}));
|
|
1247
|
-
|
|
1267
|
+
$n({
|
|
1248
1268
|
open: !0,
|
|
1249
1269
|
anchor: r ? {
|
|
1250
1270
|
x: n.left - r.left,
|
|
@@ -1255,13 +1275,13 @@ var $t = (a) => {
|
|
|
1255
1275
|
},
|
|
1256
1276
|
params: { rowFilters: i }
|
|
1257
1277
|
});
|
|
1258
|
-
}, [
|
|
1259
|
-
let e =
|
|
1278
|
+
}, [$n]), Sr = k.useMemo(() => u(R), [R]), Cr = k.useMemo(() => {
|
|
1279
|
+
let e = rr?.dimensions?.[0]?.alias || R?.xAxis || M?.datasetMetricSettings?.newDatasetSettings?.selectedDims?.[0]?.alias, t = (R?.isMultiDimension || R?.isDynamicSeries) && R?.seriesField && R.seriesField !== "ungrouped" ? R.seriesField : void 0;
|
|
1260
1280
|
return p({
|
|
1261
|
-
params:
|
|
1281
|
+
params: Yn.params,
|
|
1262
1282
|
axisDimension: e ? {
|
|
1263
1283
|
columnName: e,
|
|
1264
|
-
label:
|
|
1284
|
+
label: rr?.dimensions?.[0]?.label || e
|
|
1265
1285
|
} : void 0,
|
|
1266
1286
|
seriesDimension: t ? {
|
|
1267
1287
|
columnName: t,
|
|
@@ -1271,19 +1291,19 @@ var $t = (a) => {
|
|
|
1271
1291
|
columnName: M?.datasetMetricSettings?.newDatasetSettings?.selectedMetrics?.[0]?.alias,
|
|
1272
1292
|
label: M?.datasetMetricSettings?.newDatasetSettings?.selectedMetrics?.[0]?.label
|
|
1273
1293
|
},
|
|
1274
|
-
formatMeasure:
|
|
1294
|
+
formatMeasure: Sr
|
|
1275
1295
|
});
|
|
1276
1296
|
}, [
|
|
1277
|
-
|
|
1278
|
-
|
|
1297
|
+
Yn.params,
|
|
1298
|
+
rr,
|
|
1279
1299
|
M,
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
]), [
|
|
1286
|
-
let e =
|
|
1300
|
+
R?.isMultiDimension,
|
|
1301
|
+
R?.isDynamicSeries,
|
|
1302
|
+
R?.seriesField,
|
|
1303
|
+
R?.xAxis,
|
|
1304
|
+
Sr
|
|
1305
|
+
]), [wr, Tr] = k.useState([]), Er = k.useMemo(() => {
|
|
1306
|
+
let e = rr?.filters || [], t = new Set(wr.map((e) => e.columnName)), n = [...e.filter((e) => !t.has(e.columnName)), ...wr];
|
|
1287
1307
|
if (!n.length) return;
|
|
1288
1308
|
let r = M?.datasetMetricSettings?.newDatasetSettings?.selectedDims || [];
|
|
1289
1309
|
return n.filter((e) => !!e?.columnName && e?.value !== void 0).map((e) => ({
|
|
@@ -1291,32 +1311,32 @@ var $t = (a) => {
|
|
|
1291
1311
|
value: e.value === null ? "Empty" : String(e.value)
|
|
1292
1312
|
}));
|
|
1293
1313
|
}, [
|
|
1294
|
-
|
|
1314
|
+
rr,
|
|
1295
1315
|
M,
|
|
1296
|
-
|
|
1297
|
-
]),
|
|
1298
|
-
|
|
1299
|
-
}, [
|
|
1300
|
-
runtimeEnabled:
|
|
1301
|
-
metricEnabled:
|
|
1302
|
-
}),
|
|
1303
|
-
|
|
1316
|
+
wr
|
|
1317
|
+
]), Dr = k.useCallback((e) => {
|
|
1318
|
+
er(), navigator?.clipboard?.writeText?.(e)?.catch?.(() => void 0);
|
|
1319
|
+
}, [er]), Or = ge({
|
|
1320
|
+
runtimeEnabled: ft,
|
|
1321
|
+
metricEnabled: tr?.isEnableCrossFilter
|
|
1322
|
+
}), kr = !!ur && Un.canCrossFilter && Or, Ar = k.useCallback((e) => ne(e, M?.datasetMetricSettings?.newDatasetSettings?.selectedDims), [M]), jr = k.useCallback((e, t, n) => {
|
|
1323
|
+
er(), (n === "metric" ? dr : ur)?.({
|
|
1304
1324
|
columnName: e.columnName,
|
|
1305
1325
|
value: e.value,
|
|
1306
1326
|
mode: t
|
|
1307
1327
|
});
|
|
1308
1328
|
}, [
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
]),
|
|
1313
|
-
let e = { click: (e) =>
|
|
1314
|
-
return
|
|
1315
|
-
}, [
|
|
1316
|
-
if (!
|
|
1317
|
-
let e =
|
|
1318
|
-
return e < 0 ? [] :
|
|
1319
|
-
let r =
|
|
1329
|
+
er,
|
|
1330
|
+
ur,
|
|
1331
|
+
dr
|
|
1332
|
+
]), Mr = k.useMemo(() => {
|
|
1333
|
+
let e = { click: (e) => _r(e) };
|
|
1334
|
+
return qn && (e.contextmenu = (e) => _r(e, "secondary")), e;
|
|
1335
|
+
}, [qn, _r]), X = k.useMemo(() => {
|
|
1336
|
+
if (!G && !Wn) return [];
|
|
1337
|
+
let e = J.findIndex((e) => e?.isEnable);
|
|
1338
|
+
return e < 0 ? [] : J.slice(0, e + 1).map((t, n) => {
|
|
1339
|
+
let r = J[n + 1], i = t?.dimensions?.[0], a = i?.alias ?? t?.name ?? "", o = String(t?.name ?? "").trim(), s = (o && !/drill level/i.test(o) && o !== i?.alias ? o : "") || i?.label || a, c = n < e ? r?.filters?.find((e) => e?.columnName === a)?.value : void 0;
|
|
1320
1340
|
return {
|
|
1321
1341
|
index: t?.index ?? String(n),
|
|
1322
1342
|
label: s,
|
|
@@ -1324,55 +1344,55 @@ var $t = (a) => {
|
|
|
1324
1344
|
};
|
|
1325
1345
|
});
|
|
1326
1346
|
}, [
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
]),
|
|
1331
|
-
|
|
1332
|
-
}, [
|
|
1347
|
+
G,
|
|
1348
|
+
Wn,
|
|
1349
|
+
J
|
|
1350
|
+
]), Nr = k.useRef(null), Pr = N.containerRef, Fr = k.useCallback((e) => {
|
|
1351
|
+
Nr.current = e, Pr && (Pr.current = e);
|
|
1352
|
+
}, [Pr]), Ir = X.length > 1 ? X[X.length - 2]?.index : "";
|
|
1333
1353
|
k.useEffect(() => {
|
|
1334
|
-
let e =
|
|
1335
|
-
if (!e || !
|
|
1354
|
+
let e = Nr.current;
|
|
1355
|
+
if (!e || !Ir) return;
|
|
1336
1356
|
let t = (e) => {
|
|
1337
1357
|
if (e.key !== "Escape" || e.defaultPrevented || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) return;
|
|
1338
1358
|
let t = e.target, n = t?.tagName;
|
|
1339
|
-
n === "INPUT" || n === "TEXTAREA" || n === "SELECT" || t?.isContentEditable || (e.preventDefault(), e.stopPropagation(),
|
|
1359
|
+
n === "INPUT" || n === "TEXTAREA" || n === "SELECT" || t?.isContentEditable || (e.preventDefault(), e.stopPropagation(), cr?.(Ir));
|
|
1340
1360
|
};
|
|
1341
1361
|
return e.addEventListener("keydown", t), () => e.removeEventListener("keydown", t);
|
|
1342
|
-
}, [
|
|
1343
|
-
let
|
|
1344
|
-
|
|
1345
|
-
}, [
|
|
1346
|
-
let e =
|
|
1362
|
+
}, [Ir, cr]);
|
|
1363
|
+
let Z = typeof un == "string" && un || typeof N.metricName == "string" && N.metricName || "metric", Lr = k.useMemo(() => F(N.tableResultsDownloadData, I) ?? [], [N.tableResultsDownloadData, I]), Rr = Be.has(R?.chartType), zr = k.useCallback((e, t = Z) => {
|
|
1364
|
+
$t(e ?? [], `${t}.csv`);
|
|
1365
|
+
}, [Z]), Br = k.useCallback(() => {
|
|
1366
|
+
let e = Yt(vr.current);
|
|
1347
1367
|
if (!e || e === "#") {
|
|
1348
|
-
V(
|
|
1368
|
+
V(Rr ? "PNG export is only available for charts. Use Download CSV for this card." : "The chart is still drawing. Try Download PNG again in a moment.");
|
|
1349
1369
|
return;
|
|
1350
1370
|
}
|
|
1351
|
-
V(null),
|
|
1352
|
-
}, [
|
|
1353
|
-
|
|
1354
|
-
}, []),
|
|
1355
|
-
|
|
1371
|
+
V(null), en(e, `${Z}.png`);
|
|
1372
|
+
}, [Z, Rr]), Q = N.getUnderlyingData, Vr = k.useCallback(() => {
|
|
1373
|
+
wn(!0);
|
|
1374
|
+
}, []), Hr = k.useCallback(() => {
|
|
1375
|
+
zr(Lr, Z), T?.(t, M?.id), wn(!1);
|
|
1356
1376
|
}, [
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1377
|
+
zr,
|
|
1378
|
+
Lr,
|
|
1379
|
+
Z,
|
|
1360
1380
|
T,
|
|
1361
1381
|
M?.id
|
|
1362
|
-
]),
|
|
1363
|
-
if (!
|
|
1364
|
-
|
|
1382
|
+
]), Ur = k.useCallback(() => {
|
|
1383
|
+
if (!Q || An.current) return;
|
|
1384
|
+
An.current = !0, V(null);
|
|
1365
1385
|
let e = M?.dataSecuritySettings?.csvColumns || [], n = new Set(e), r = [], a = !1;
|
|
1366
|
-
|
|
1386
|
+
Q({
|
|
1367
1387
|
columnName: void 0,
|
|
1368
1388
|
value: void 0,
|
|
1369
|
-
isSingleValueChart:
|
|
1389
|
+
isSingleValueChart: R?.chartType === i.singleValue,
|
|
1370
1390
|
setData: (e) => {
|
|
1371
1391
|
r = e || [];
|
|
1372
1392
|
},
|
|
1373
1393
|
setLoading: (i) => {
|
|
1374
1394
|
if (i) return;
|
|
1375
|
-
if (
|
|
1395
|
+
if (An.current = !1, a) {
|
|
1376
1396
|
V("Failed to download CSV without filters. Please try again.");
|
|
1377
1397
|
return;
|
|
1378
1398
|
}
|
|
@@ -1382,130 +1402,140 @@ var $t = (a) => {
|
|
|
1382
1402
|
n.has(r) || (t[r] = e[r]);
|
|
1383
1403
|
}), t;
|
|
1384
1404
|
}) : r;
|
|
1385
|
-
|
|
1405
|
+
zr(o, Z), T?.(t, M?.id);
|
|
1386
1406
|
},
|
|
1387
1407
|
onError: () => {
|
|
1388
1408
|
a = !0;
|
|
1389
1409
|
},
|
|
1390
|
-
clientColumnType: D ??
|
|
1410
|
+
clientColumnType: D ?? Jt,
|
|
1391
1411
|
withoutFilters: !0
|
|
1392
1412
|
});
|
|
1393
1413
|
}, [
|
|
1394
|
-
|
|
1395
|
-
|
|
1414
|
+
Q,
|
|
1415
|
+
R?.chartType,
|
|
1396
1416
|
D,
|
|
1397
|
-
|
|
1398
|
-
|
|
1417
|
+
zr,
|
|
1418
|
+
Z,
|
|
1399
1419
|
T,
|
|
1400
1420
|
M
|
|
1401
|
-
]),
|
|
1402
|
-
|
|
1403
|
-
Array.isArray(
|
|
1421
|
+
]), $ = N.onChangeFilterValue, Wr = k.useMemo(() => (N.metricFilters ?? []).filter((e) => e && !e.isHiddenInUi && e.datatype === "date"), [N.metricFilters]), Gr = k.useMemo(() => nn(N.metricFilters?.filter((e) => e && e.datatype !== "date" && an(e))), [N.metricFilters]), Kr = k.useMemo(() => (N.metricFilters ?? []).filter((e) => e && !e.isHiddenInUi && e.datatype !== "date" && !an(e)), [N.metricFilters]), qr = Kr.filter((e) => Array.isArray(e.value) ? e.value.length > 0 : !!e.value).length, Jr = k.useCallback(() => {
|
|
1422
|
+
$ && (N.metricFilters ?? []).forEach((e) => {
|
|
1423
|
+
e && !e.isHiddenInUi && e.datatype !== "date" && (Array.isArray(e.value) ? e.value.length && $(e.name, "", void 0, void 0, []) : e.value && $(e.name, ""));
|
|
1424
|
+
});
|
|
1425
|
+
}, [$, N.metricFilters]), Yr = k.useMemo(() => ({
|
|
1426
|
+
...Qe,
|
|
1427
|
+
width: "100%"
|
|
1428
|
+
}), [Qe]), Xr = k.useMemo(() => st && {
|
|
1429
|
+
...st,
|
|
1430
|
+
filters: st.filters?.filter((e) => !e?.restrictedMetrics?.some((e) => e.value === M?.id))
|
|
1431
|
+
}, [st, M?.id]), Zr = k.useCallback((e) => {
|
|
1432
|
+
$ && Object.entries(e).forEach(([e, t]) => {
|
|
1433
|
+
Array.isArray(t) ? $(e, "", void 0, void 0, t.map((e) => ({
|
|
1404
1434
|
value: e,
|
|
1405
1435
|
label: e
|
|
1406
|
-
}))) :
|
|
1436
|
+
}))) : $(e, t);
|
|
1407
1437
|
});
|
|
1408
|
-
}, [
|
|
1409
|
-
|
|
1438
|
+
}, [$]), Qr = k.useCallback((e) => (t) => {
|
|
1439
|
+
$?.(e, t.value, "", {
|
|
1410
1440
|
startDate: t.startDate,
|
|
1411
1441
|
endDate: t.endDate
|
|
1412
1442
|
}, void 0, t.timeGrainValue);
|
|
1413
|
-
}, [
|
|
1414
|
-
if (
|
|
1443
|
+
}, [$]), $r = k.useCallback((e) => {
|
|
1444
|
+
if (Dn(!!e?.withoutFilters), U(!0), En(!0), Tr(e?.withoutFilters ? [] : e?.pointFilters ?? []), Pn({
|
|
1415
1445
|
limit: 100,
|
|
1416
1446
|
offset: 0
|
|
1417
|
-
}),
|
|
1418
|
-
if (!P && !
|
|
1419
|
-
|
|
1447
|
+
}), In(0), Vn(null), !q) {
|
|
1448
|
+
if (!P && !L && (!I.length || z)) {
|
|
1449
|
+
H([]), U(!1);
|
|
1420
1450
|
return;
|
|
1421
1451
|
}
|
|
1422
|
-
|
|
1452
|
+
Q?.({
|
|
1423
1453
|
columnName: void 0,
|
|
1424
1454
|
value: void 0,
|
|
1425
|
-
isSingleValueChart:
|
|
1426
|
-
setData:
|
|
1427
|
-
setLoading:
|
|
1428
|
-
clientColumnType: D ??
|
|
1455
|
+
isSingleValueChart: R?.chartType === i.singleValue,
|
|
1456
|
+
setData: H,
|
|
1457
|
+
setLoading: U,
|
|
1458
|
+
clientColumnType: D ?? Jt,
|
|
1429
1459
|
withoutFilters: !!e?.withoutFilters,
|
|
1430
1460
|
pointFilters: e?.withoutFilters ? void 0 : e?.pointFilters
|
|
1431
1461
|
}), T?.(t, M?.id);
|
|
1432
1462
|
}
|
|
1433
1463
|
}, [
|
|
1434
|
-
|
|
1435
|
-
|
|
1464
|
+
Q,
|
|
1465
|
+
R?.chartType,
|
|
1436
1466
|
D,
|
|
1437
1467
|
T,
|
|
1438
1468
|
M?.id,
|
|
1439
1469
|
P,
|
|
1470
|
+
L,
|
|
1440
1471
|
I,
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
if (
|
|
1446
|
-
if (!Br && !G) return Kt;
|
|
1472
|
+
z,
|
|
1473
|
+
q
|
|
1474
|
+
]), ei = !!(pr && (Y.chart?.isEnable || Y.chartWithMetric?.isEnable || Y.chartWithDashboard?.isEnable)), ti = k.useMemo(() => {
|
|
1475
|
+
if (R?.chartType !== i.singleValue) return;
|
|
1476
|
+
if (!ei && !K) return Zt;
|
|
1447
1477
|
let e = (e, t) => {
|
|
1448
|
-
if (t === "primary" &&
|
|
1449
|
-
|
|
1478
|
+
if (t === "primary" && ei) {
|
|
1479
|
+
gr(e);
|
|
1450
1480
|
return;
|
|
1451
1481
|
}
|
|
1452
|
-
|
|
1482
|
+
K && $r();
|
|
1453
1483
|
};
|
|
1454
1484
|
return {
|
|
1455
1485
|
click: (t) => e(t, "primary"),
|
|
1456
1486
|
contextmenu: (t) => e(t, "secondary")
|
|
1457
1487
|
};
|
|
1458
1488
|
}, [
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
]),
|
|
1465
|
-
if (!
|
|
1466
|
-
if (
|
|
1489
|
+
R?.chartType,
|
|
1490
|
+
ei,
|
|
1491
|
+
gr,
|
|
1492
|
+
K,
|
|
1493
|
+
$r
|
|
1494
|
+
]), ni = k.useMemo(() => q ? u(R) : void 0, [q, R]), ri = k.useCallback((e, t) => {
|
|
1495
|
+
if (!Q) return;
|
|
1496
|
+
if (Pn({
|
|
1467
1497
|
limit: e.limit,
|
|
1468
1498
|
offset: e.offset
|
|
1469
|
-
}),
|
|
1470
|
-
|
|
1499
|
+
}), Vn(null), !P && !L && (!I.length || z)) {
|
|
1500
|
+
H([]), In(0), U(!1);
|
|
1471
1501
|
return;
|
|
1472
1502
|
}
|
|
1473
|
-
let n = t?.withoutFilters ??
|
|
1474
|
-
|
|
1503
|
+
let n = t?.withoutFilters ?? B, r = t?.pointFilters ?? wr;
|
|
1504
|
+
Q({
|
|
1475
1505
|
pointFilters: n ? void 0 : r,
|
|
1476
1506
|
withoutFilters: n,
|
|
1477
1507
|
columnName: void 0,
|
|
1478
1508
|
value: void 0,
|
|
1479
|
-
isSingleValueChart:
|
|
1480
|
-
setData:
|
|
1481
|
-
setLoading:
|
|
1482
|
-
setTotalRecords:
|
|
1483
|
-
clientColumnType: D ??
|
|
1509
|
+
isSingleValueChart: R?.chartType === i.singleValue,
|
|
1510
|
+
setData: H,
|
|
1511
|
+
setLoading: U,
|
|
1512
|
+
setTotalRecords: In,
|
|
1513
|
+
clientColumnType: D ?? Jt,
|
|
1484
1514
|
limit: String(e.limit),
|
|
1485
1515
|
offset: String(e.offset),
|
|
1486
1516
|
search: e.search,
|
|
1487
1517
|
searchColumns: e.searchColumns,
|
|
1488
1518
|
onError: () => {
|
|
1489
|
-
|
|
1519
|
+
Vn("We couldn't load these rows. Check your connection and try again."), U(!1);
|
|
1490
1520
|
}
|
|
1491
1521
|
});
|
|
1492
1522
|
}, [
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1523
|
+
Q,
|
|
1524
|
+
wr,
|
|
1525
|
+
B,
|
|
1526
|
+
R?.chartType,
|
|
1497
1527
|
D,
|
|
1498
1528
|
P,
|
|
1529
|
+
L,
|
|
1499
1530
|
I,
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
if (_n(!1), gr([]), Sn([]), Tn({
|
|
1531
|
+
z
|
|
1532
|
+
]), ii = k.useCallback(() => {
|
|
1533
|
+
if (Sn(!0), K && R?.chartType === i.singleValue) {
|
|
1534
|
+
if (Dn(!1), Tr([]), H([]), Pn({
|
|
1505
1535
|
limit: 100,
|
|
1506
1536
|
offset: 0
|
|
1507
|
-
}),
|
|
1508
|
-
|
|
1537
|
+
}), In(0), Vn(null), q) {
|
|
1538
|
+
ri({
|
|
1509
1539
|
limit: 100,
|
|
1510
1540
|
offset: 0
|
|
1511
1541
|
}, {
|
|
@@ -1514,49 +1544,49 @@ var $t = (a) => {
|
|
|
1514
1544
|
});
|
|
1515
1545
|
return;
|
|
1516
1546
|
}
|
|
1517
|
-
if (!P && !
|
|
1518
|
-
|
|
1547
|
+
if (!P && !L && (!I.length || z)) {
|
|
1548
|
+
H([]), U(!1);
|
|
1519
1549
|
return;
|
|
1520
1550
|
}
|
|
1521
|
-
|
|
1551
|
+
Q && (U(!0), Q({
|
|
1522
1552
|
columnName: void 0,
|
|
1523
1553
|
value: void 0,
|
|
1524
1554
|
isSingleValueChart: !0,
|
|
1525
|
-
setData:
|
|
1526
|
-
setLoading:
|
|
1527
|
-
clientColumnType: D ??
|
|
1555
|
+
setData: H,
|
|
1556
|
+
setLoading: U,
|
|
1557
|
+
clientColumnType: D ?? Jt,
|
|
1528
1558
|
withoutFilters: !1,
|
|
1529
1559
|
pointFilters: void 0,
|
|
1530
1560
|
onError: () => {
|
|
1531
|
-
|
|
1561
|
+
Vn("We couldn't load these rows. Check your connection and try again."), U(!1);
|
|
1532
1562
|
}
|
|
1533
1563
|
}), T?.(t, M?.id));
|
|
1534
1564
|
}
|
|
1535
1565
|
}, [
|
|
1536
|
-
G,
|
|
1537
|
-
L?.chartType,
|
|
1538
1566
|
K,
|
|
1539
|
-
|
|
1567
|
+
R?.chartType,
|
|
1568
|
+
q,
|
|
1569
|
+
ri,
|
|
1540
1570
|
P,
|
|
1571
|
+
L,
|
|
1541
1572
|
I,
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
Z,
|
|
1573
|
+
z,
|
|
1574
|
+
Q,
|
|
1545
1575
|
D,
|
|
1546
1576
|
T,
|
|
1547
1577
|
M?.id
|
|
1548
|
-
]),
|
|
1549
|
-
if (!
|
|
1578
|
+
]), ai = k.useCallback((e) => new Promise((t, n) => {
|
|
1579
|
+
if (!Q) {
|
|
1550
1580
|
n(/* @__PURE__ */ Error("Underlying data is not available for this card."));
|
|
1551
1581
|
return;
|
|
1552
1582
|
}
|
|
1553
1583
|
let r = [], a = !1;
|
|
1554
|
-
|
|
1555
|
-
pointFilters:
|
|
1556
|
-
withoutFilters:
|
|
1584
|
+
Q({
|
|
1585
|
+
pointFilters: B ? void 0 : wr,
|
|
1586
|
+
withoutFilters: B,
|
|
1557
1587
|
columnName: void 0,
|
|
1558
1588
|
value: void 0,
|
|
1559
|
-
isSingleValueChart:
|
|
1589
|
+
isSingleValueChart: R?.chartType === i.singleValue,
|
|
1560
1590
|
setData: (e) => {
|
|
1561
1591
|
r = Array.isArray(e) ? e : [];
|
|
1562
1592
|
},
|
|
@@ -1569,7 +1599,7 @@ var $t = (a) => {
|
|
|
1569
1599
|
t(r);
|
|
1570
1600
|
}
|
|
1571
1601
|
},
|
|
1572
|
-
clientColumnType: D ??
|
|
1602
|
+
clientColumnType: D ?? Jt,
|
|
1573
1603
|
limit: String(e.limit),
|
|
1574
1604
|
offset: String(e.offset),
|
|
1575
1605
|
search: e.search,
|
|
@@ -1579,135 +1609,157 @@ var $t = (a) => {
|
|
|
1579
1609
|
}
|
|
1580
1610
|
});
|
|
1581
1611
|
}), [
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1612
|
+
Q,
|
|
1613
|
+
wr,
|
|
1614
|
+
B,
|
|
1615
|
+
R?.chartType,
|
|
1586
1616
|
D
|
|
1587
|
-
]),
|
|
1588
|
-
if (!
|
|
1589
|
-
|
|
1617
|
+
]), oi = k.useCallback(async (e) => {
|
|
1618
|
+
if (!Q || zn.current) return;
|
|
1619
|
+
zn.current = !0, V(null), Rn({
|
|
1590
1620
|
isRunning: !0,
|
|
1591
1621
|
fetchedRows: 0
|
|
1592
1622
|
});
|
|
1593
1623
|
let n = [], r = 0, i = !1;
|
|
1594
1624
|
try {
|
|
1595
1625
|
for (;;) {
|
|
1596
|
-
let t = await
|
|
1597
|
-
limit:
|
|
1626
|
+
let t = await ai({
|
|
1627
|
+
limit: Xt,
|
|
1598
1628
|
offset: r,
|
|
1599
1629
|
search: e.search,
|
|
1600
1630
|
searchColumns: e.searchColumns
|
|
1601
1631
|
});
|
|
1602
1632
|
for (let e of t) n.push(e);
|
|
1603
|
-
if (
|
|
1633
|
+
if (Rn({
|
|
1604
1634
|
isRunning: !0,
|
|
1605
1635
|
fetchedRows: n.length
|
|
1606
|
-
}), t.length <
|
|
1607
|
-
if (n.length >=
|
|
1636
|
+
}), t.length < Xt || e.total > 0 && n.length >= e.total) break;
|
|
1637
|
+
if (n.length >= Qt) {
|
|
1608
1638
|
i = !0;
|
|
1609
1639
|
break;
|
|
1610
1640
|
}
|
|
1611
|
-
r +=
|
|
1641
|
+
r += Xt;
|
|
1612
1642
|
}
|
|
1613
|
-
|
|
1643
|
+
$t(n, `${Z}.csv`), T?.(t, M?.id), i && V(`This export stopped at the first ${Qt.toLocaleString()} rows. Narrow the metric or use a scheduled report for the full result.`);
|
|
1614
1644
|
} catch {
|
|
1615
1645
|
V("We couldn't download every row. Check your connection and try again, or download this page instead.");
|
|
1616
1646
|
} finally {
|
|
1617
|
-
|
|
1647
|
+
zn.current = !1, Rn({
|
|
1618
1648
|
isRunning: !1,
|
|
1619
1649
|
fetchedRows: 0
|
|
1620
1650
|
});
|
|
1621
1651
|
}
|
|
1622
1652
|
}, [
|
|
1653
|
+
Q,
|
|
1654
|
+
ai,
|
|
1623
1655
|
Z,
|
|
1624
|
-
Gr,
|
|
1625
|
-
X,
|
|
1626
1656
|
T,
|
|
1627
1657
|
M?.id
|
|
1628
|
-
]),
|
|
1629
|
-
position:
|
|
1630
|
-
hasAuthoredNextLevel:
|
|
1631
|
-
pool:
|
|
1632
|
-
clickActions:
|
|
1633
|
-
canViewUnderlyingData:
|
|
1634
|
-
canDrillIntoAnyDimension:
|
|
1635
|
-
resultState:
|
|
1658
|
+
]), si = k.useMemo(() => ce({
|
|
1659
|
+
position: nr,
|
|
1660
|
+
hasAuthoredNextLevel: fr === "drill",
|
|
1661
|
+
pool: G ? ar : void 0,
|
|
1662
|
+
clickActions: Y,
|
|
1663
|
+
canViewUnderlyingData: K,
|
|
1664
|
+
canDrillIntoAnyDimension: G,
|
|
1665
|
+
resultState: L ? "failed" : I?.length ? "ok" : "empty"
|
|
1636
1666
|
}), [
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
W,
|
|
1640
|
-
Xn,
|
|
1641
|
-
J,
|
|
1667
|
+
nr,
|
|
1668
|
+
fr,
|
|
1642
1669
|
G,
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1670
|
+
ar,
|
|
1671
|
+
Y,
|
|
1672
|
+
K,
|
|
1673
|
+
L,
|
|
1674
|
+
I
|
|
1675
|
+
]), ci = !!(ze && Ve), li = !!(Dt && kt && !Ot), ui = G && fr !== "terminal" ? /* @__PURE__ */ A(Vt, {
|
|
1676
|
+
pool: ar,
|
|
1647
1677
|
testIdPrefix: "metric-card-options-drill",
|
|
1648
|
-
gestureHint:
|
|
1678
|
+
gestureHint: or ? "Right-click chart" : void 0,
|
|
1649
1679
|
onDrillInto: (e) => {
|
|
1650
|
-
|
|
1680
|
+
sr?.({ dimension: e.column });
|
|
1651
1681
|
}
|
|
1652
|
-
}) : void 0,
|
|
1653
|
-
flags:
|
|
1654
|
-
optionsIcon:
|
|
1655
|
-
settingsIcon:
|
|
1656
|
-
onDownloadCsv:
|
|
1657
|
-
onDownloadPng:
|
|
1658
|
-
onEmailCsv:
|
|
1659
|
-
onFullscreen:
|
|
1660
|
-
onUnderlyingData:
|
|
1661
|
-
onSettings:
|
|
1662
|
-
splitBySubmenu:
|
|
1663
|
-
}),
|
|
1682
|
+
}) : void 0, di = /* @__PURE__ */ A(Et, {
|
|
1683
|
+
flags: Gn,
|
|
1684
|
+
optionsIcon: sn(we),
|
|
1685
|
+
settingsIcon: sn(Te),
|
|
1686
|
+
onDownloadCsv: De ? (e) => e?.withoutFilters ? Ur() : Vr() : void 0,
|
|
1687
|
+
onDownloadPng: Ae ? void 0 : Br,
|
|
1688
|
+
onEmailCsv: ke ? () => ke() : void 0,
|
|
1689
|
+
onFullscreen: Kn ? ii : void 0,
|
|
1690
|
+
onUnderlyingData: K ? $r : void 0,
|
|
1691
|
+
onSettings: ci ? () => Ve?.(M) : void 0,
|
|
1692
|
+
splitBySubmenu: ui
|
|
1693
|
+
}), fi = /* @__PURE__ */ j("span", {
|
|
1664
1694
|
"data-testid": "metric-card-filter-slot",
|
|
1665
1695
|
className: "flex items-center gap-1",
|
|
1666
1696
|
children: [
|
|
1667
|
-
|
|
1668
|
-
defaultOption:
|
|
1669
|
-
onChange:
|
|
1670
|
-
hideDatePickerOptions:
|
|
1671
|
-
calendarType:
|
|
1697
|
+
Wr.map((e) => /* @__PURE__ */ A(Lt, {
|
|
1698
|
+
defaultOption: on(e),
|
|
1699
|
+
onChange: Qr(String(e.name)),
|
|
1700
|
+
hideDatePickerOptions: Ze,
|
|
1701
|
+
calendarType: ct
|
|
1672
1702
|
}, String(e.name))),
|
|
1673
|
-
/* @__PURE__ */ A(
|
|
1674
|
-
filters:
|
|
1675
|
-
onChange:
|
|
1676
|
-
position:
|
|
1677
|
-
multi:
|
|
1703
|
+
/* @__PURE__ */ A(Gt, {
|
|
1704
|
+
filters: Gr,
|
|
1705
|
+
onChange: Zr,
|
|
1706
|
+
position: Ye,
|
|
1707
|
+
multi: Xe,
|
|
1708
|
+
childActiveCount: qr,
|
|
1709
|
+
className: O(rn, "data-[state=open]:opacity-100"),
|
|
1710
|
+
onClearAll: $ ? Jr : void 0,
|
|
1711
|
+
children: Kr.length ? Kr.map((e) => /* @__PURE__ */ A(me, {
|
|
1712
|
+
externalMetricId: M?.rlsConditions?.length ? M?.id : void 0,
|
|
1713
|
+
encryptedClientId: $e ? It || "" : Nt || "",
|
|
1714
|
+
isFrontendApp: !!$e,
|
|
1715
|
+
token: et || "",
|
|
1716
|
+
defaultFilter: N.savedMetricFilters?.find((t) => t.name === e.name),
|
|
1717
|
+
globalFilters: Xr,
|
|
1718
|
+
datasourceId: tt || "",
|
|
1719
|
+
isAllClient: nt,
|
|
1720
|
+
hideDatePickerOptions: Ze,
|
|
1721
|
+
dropdownTheme: Yr,
|
|
1722
|
+
workspaceId: ot || "",
|
|
1723
|
+
rlsConditions: e,
|
|
1724
|
+
onChangeFilterValue: $,
|
|
1725
|
+
clientId: Nt,
|
|
1726
|
+
rlsConditionList: N.rlsConditions ?? [],
|
|
1727
|
+
tenancyLevel: Ft,
|
|
1728
|
+
clientColumnType: D
|
|
1729
|
+
}, String(e.name))) : null
|
|
1678
1730
|
}),
|
|
1679
|
-
|
|
1731
|
+
li ? /* @__PURE__ */ A(E, {
|
|
1680
1732
|
type: "button",
|
|
1681
1733
|
variant: "outline",
|
|
1682
1734
|
size: "icon-sm",
|
|
1683
1735
|
"aria-label": "Merge metrics",
|
|
1684
1736
|
"data-testid": "metric-card-merge",
|
|
1685
|
-
onClick: () =>
|
|
1737
|
+
onClick: () => kt?.({
|
|
1686
1738
|
isOpen: !0,
|
|
1687
|
-
chartOptions:
|
|
1739
|
+
chartOptions: R,
|
|
1688
1740
|
id: M?.id
|
|
1689
1741
|
}),
|
|
1690
|
-
children: /* @__PURE__ */ A(
|
|
1742
|
+
children: /* @__PURE__ */ A(dt, { "aria-hidden": "true" })
|
|
1691
1743
|
}) : null,
|
|
1692
|
-
|
|
1744
|
+
Kn ? /* @__PURE__ */ A(E, {
|
|
1693
1745
|
type: "button",
|
|
1694
1746
|
variant: "ghost",
|
|
1695
1747
|
size: "icon-sm",
|
|
1696
|
-
className: "size-8
|
|
1748
|
+
className: O("size-8", rn),
|
|
1697
1749
|
"aria-label": "Fullscreen",
|
|
1698
1750
|
title: "Fullscreen",
|
|
1699
1751
|
"data-testid": "metric-card-fullscreen",
|
|
1700
|
-
onClick:
|
|
1701
|
-
children: /* @__PURE__ */ A(
|
|
1752
|
+
onClick: ii,
|
|
1753
|
+
children: /* @__PURE__ */ A(Ce, { "aria-hidden": "true" })
|
|
1702
1754
|
}) : null,
|
|
1703
|
-
|
|
1755
|
+
di
|
|
1704
1756
|
]
|
|
1705
|
-
}),
|
|
1706
|
-
if (!
|
|
1707
|
-
if (
|
|
1757
|
+
}), pi = !!N.isExternalChart, mi = R?.tableSettings, hi = R?.chartType === i.table && mi?.disablePagination !== !0, gi = Number(mi?.defaultRowSize) || 100, _i = R?.chartType === i.table && !!mi?.enableTableSearch, vi = k.useMemo(() => {
|
|
1758
|
+
if (!Rr || !(Jn || hi)) return;
|
|
1759
|
+
if (!pi) return Jn ? { mode: "client" } : {
|
|
1708
1760
|
mode: "client",
|
|
1709
|
-
pageSize:
|
|
1710
|
-
autoPageAbove:
|
|
1761
|
+
pageSize: gi,
|
|
1762
|
+
autoPageAbove: gi
|
|
1711
1763
|
};
|
|
1712
1764
|
let e = N.paginationInfo;
|
|
1713
1765
|
return {
|
|
@@ -1720,24 +1772,24 @@ var $t = (a) => {
|
|
|
1720
1772
|
isEnablePrevBtn: !!N.isEnablePrevBtn
|
|
1721
1773
|
};
|
|
1722
1774
|
}, [
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1775
|
+
Jn,
|
|
1776
|
+
hi,
|
|
1777
|
+
gi,
|
|
1778
|
+
Rr,
|
|
1779
|
+
pi,
|
|
1728
1780
|
N.paginationInfo,
|
|
1729
1781
|
N.onChangePage,
|
|
1730
1782
|
N.isEnableNextBtn,
|
|
1731
1783
|
N.isEnablePrevBtn
|
|
1732
|
-
]),
|
|
1733
|
-
if (
|
|
1784
|
+
]), yi = k.useMemo(() => {
|
|
1785
|
+
if (q) return {
|
|
1734
1786
|
mode: "server",
|
|
1735
|
-
limit:
|
|
1736
|
-
offset:
|
|
1737
|
-
totalRows:
|
|
1787
|
+
limit: W.limit,
|
|
1788
|
+
offset: W.offset,
|
|
1789
|
+
totalRows: Fn,
|
|
1738
1790
|
onChangePage: (e, t, n) => {
|
|
1739
|
-
let r = t ??
|
|
1740
|
-
|
|
1791
|
+
let r = t ?? W.limit, i = t === void 0 ? n ?? (e ? Math.max(0, W.offset - r) : W.offset + r) : 0;
|
|
1792
|
+
ri({
|
|
1741
1793
|
limit: r,
|
|
1742
1794
|
offset: i
|
|
1743
1795
|
}, {
|
|
@@ -1747,209 +1799,209 @@ var $t = (a) => {
|
|
|
1747
1799
|
}
|
|
1748
1800
|
};
|
|
1749
1801
|
}, [
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
]),
|
|
1802
|
+
q,
|
|
1803
|
+
W.limit,
|
|
1804
|
+
W.offset,
|
|
1805
|
+
Fn,
|
|
1806
|
+
ri
|
|
1807
|
+
]), bi = !P && !L && (!I.length || z), xi = (e) => {
|
|
1756
1808
|
let t = e?.value;
|
|
1757
1809
|
return Array.isArray(t) ? t.length > 0 : typeof t == "string" ? t.trim() !== "" : t != null;
|
|
1758
|
-
},
|
|
1810
|
+
}, Si = (N.metricFilters ?? []).filter((e) => e && !e.isHiddenInUi && xi(e)), Ci = Si.length > 0 || !!a.globalFilters?.filters?.length || !!a.crossDashboardFilters?.length || (N.rlsConditions ?? []).some((e) => e.isAppFilter && e.isAddOnMetrics && xi({ value: a.appFilters?.values?.[e.name] ?? e.value })), wi = se({
|
|
1759
1811
|
isCustomSqlMetric: !!M?.datasetMetricSettings?.isUseRawSQL,
|
|
1760
1812
|
query: M?.query,
|
|
1761
1813
|
metricId: M?.id,
|
|
1762
|
-
filters: [...
|
|
1763
|
-
}),
|
|
1764
|
-
|
|
1765
|
-
Array.isArray(e.value) ?
|
|
1766
|
-
}),
|
|
1814
|
+
filters: [...Si, ...a.globalFilters?.filters || []]
|
|
1815
|
+
}), Ti = k.useCallback(() => {
|
|
1816
|
+
$ && Si.forEach((e) => {
|
|
1817
|
+
Array.isArray(e.value) ? $(e.name, "", void 0, void 0, []) : $(e.name, "");
|
|
1818
|
+
}), St?.(), N.refetchMetricData();
|
|
1767
1819
|
}, [
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1820
|
+
$,
|
|
1821
|
+
Si,
|
|
1822
|
+
St,
|
|
1771
1823
|
N.refetchMetricData
|
|
1772
|
-
]),
|
|
1824
|
+
]), Ei = !!$ && Si.length > 0 || !!St, Di = xt === !0 || o() && xt !== !1, Oi = _e({
|
|
1773
1825
|
kind: "none",
|
|
1774
1826
|
reason: "empty-result"
|
|
1775
|
-
}),
|
|
1827
|
+
}), ki = X.length > 0 ? /* @__PURE__ */ A("div", {
|
|
1776
1828
|
"data-testid": "card-drill-empty-state",
|
|
1777
1829
|
"data-slot": "metric-card-drill-empty",
|
|
1778
1830
|
className: "flex min-h-0 w-full flex-1 flex-col",
|
|
1779
|
-
children: /* @__PURE__ */ A(
|
|
1780
|
-
hasActiveFilters:
|
|
1781
|
-
noDataImg:
|
|
1831
|
+
children: /* @__PURE__ */ A(He, {
|
|
1832
|
+
hasActiveFilters: Ci,
|
|
1833
|
+
noDataImg: Ee,
|
|
1782
1834
|
noDataFoundSvg: w,
|
|
1783
|
-
message: `${
|
|
1784
|
-
...
|
|
1835
|
+
message: `${Oi.title}. ${Oi.body}`,
|
|
1836
|
+
..._n
|
|
1785
1837
|
})
|
|
1786
|
-
}) :
|
|
1787
|
-
hasActiveFilters:
|
|
1788
|
-
noDataImg:
|
|
1838
|
+
}) : Di ? /* @__PURE__ */ A(He, {
|
|
1839
|
+
hasActiveFilters: Ci,
|
|
1840
|
+
noDataImg: Ee,
|
|
1789
1841
|
noDataFoundSvg: w,
|
|
1790
|
-
message:
|
|
1791
|
-
action:
|
|
1842
|
+
message: gn,
|
|
1843
|
+
action: Ci && Ei ? /* @__PURE__ */ A(E, {
|
|
1792
1844
|
type: "button",
|
|
1793
1845
|
"data-testid": "card-clear-filters",
|
|
1794
1846
|
variant: "outline",
|
|
1795
1847
|
size: "sm",
|
|
1796
|
-
onClick:
|
|
1797
|
-
children:
|
|
1848
|
+
onClick: Ti,
|
|
1849
|
+
children: St ? "Clear all filters" : "Clear card filters"
|
|
1798
1850
|
}) : void 0,
|
|
1799
|
-
...
|
|
1800
|
-
}) : null,
|
|
1801
|
-
crumbs:
|
|
1851
|
+
..._n
|
|
1852
|
+
}) : null, Ai = !!vi && vi.mode === "server" && !!P && !L && I.length > 0, ji = (G || Wn) && X.length ? /* @__PURE__ */ A(Ct, {
|
|
1853
|
+
crumbs: X,
|
|
1802
1854
|
onDrillLevelClick: (e) => {
|
|
1803
|
-
|
|
1855
|
+
cr?.(e);
|
|
1804
1856
|
},
|
|
1805
1857
|
onUp: (e) => {
|
|
1806
|
-
|
|
1858
|
+
cr?.(e);
|
|
1807
1859
|
},
|
|
1808
1860
|
onResetDrill: () => {
|
|
1809
|
-
|
|
1861
|
+
cr?.("", !0);
|
|
1810
1862
|
}
|
|
1811
|
-
}) : void 0,
|
|
1863
|
+
}) : void 0, Mi = P && !Ai, Ni = bi && X.length > 0, Pi = Mi || Ni ? void 0 : N.drillBlockedNotice ? /* @__PURE__ */ A("span", {
|
|
1812
1864
|
className: "text-caption text-(--muted-foreground)",
|
|
1813
1865
|
"data-testid": "metric-card-drill-blocked-notice",
|
|
1814
1866
|
"data-reason": "blank-value",
|
|
1815
1867
|
children: N.drillBlockedNotice.title
|
|
1816
|
-
}) :
|
|
1868
|
+
}) : X.length && si.kind === "none" ? /* @__PURE__ */ A("span", {
|
|
1817
1869
|
className: "text-caption text-(--muted-foreground)",
|
|
1818
1870
|
"data-testid": "metric-card-terminal-notice",
|
|
1819
|
-
"data-reason":
|
|
1820
|
-
children:
|
|
1821
|
-
}) : void 0,
|
|
1871
|
+
"data-reason": si.reason,
|
|
1872
|
+
children: _e(si).title
|
|
1873
|
+
}) : void 0, Fi = ji != null || Pi != null ? /* @__PURE__ */ j("div", {
|
|
1822
1874
|
"data-testid": "metric-card-drill-breadcrumb",
|
|
1823
1875
|
"data-slot": "metric-card-drill-chrome",
|
|
1824
1876
|
className: "mb-2 flex shrink-0 flex-wrap items-center gap-x-3 gap-y-1",
|
|
1825
|
-
children: [
|
|
1826
|
-
}) : null,
|
|
1827
|
-
if (P && !
|
|
1828
|
-
else if (
|
|
1829
|
-
message: s(
|
|
1830
|
-
error: s(
|
|
1831
|
-
widgetName: typeof
|
|
1832
|
-
chartType:
|
|
1833
|
-
onRetry:
|
|
1834
|
-
knownCause:
|
|
1835
|
-
...
|
|
1877
|
+
children: [ji, Pi]
|
|
1878
|
+
}) : null, Ii;
|
|
1879
|
+
if (P && !Ai) Ii = /* @__PURE__ */ A(We, { className: "flex-1" });
|
|
1880
|
+
else if (L) Ii = /* @__PURE__ */ A(je, {
|
|
1881
|
+
message: s(L) ? cn : void 0,
|
|
1882
|
+
error: s(L) ? void 0 : hn,
|
|
1883
|
+
widgetName: typeof un == "string" ? un : void 0,
|
|
1884
|
+
chartType: R?.chartType,
|
|
1885
|
+
onRetry: cn || hn?.retryable === !1 ? void 0 : ln,
|
|
1886
|
+
knownCause: At,
|
|
1887
|
+
..._n
|
|
1836
1888
|
});
|
|
1837
|
-
else if (
|
|
1889
|
+
else if (Rt) Ii = /* @__PURE__ */ A("div", {
|
|
1838
1890
|
"data-testid": "card-join-mismatch-state",
|
|
1839
1891
|
"data-slot": "metric-card-join-mismatch",
|
|
1840
|
-
children: /* @__PURE__ */ A(
|
|
1841
|
-
error: e(
|
|
1842
|
-
...
|
|
1892
|
+
children: /* @__PURE__ */ A(je, {
|
|
1893
|
+
error: e(he(a.mismatchReason === "column" ? "column" : "join")),
|
|
1894
|
+
..._n
|
|
1843
1895
|
})
|
|
1844
1896
|
});
|
|
1845
|
-
else if (
|
|
1846
|
-
hasActiveFilters:
|
|
1847
|
-
noDataImg:
|
|
1897
|
+
else if (bi) Ii = ki ?? /* @__PURE__ */ A(He, {
|
|
1898
|
+
hasActiveFilters: Ci,
|
|
1899
|
+
noDataImg: Ee,
|
|
1848
1900
|
noDataFoundSvg: w,
|
|
1849
|
-
message:
|
|
1850
|
-
...
|
|
1901
|
+
message: gn,
|
|
1902
|
+
..._n
|
|
1851
1903
|
});
|
|
1852
1904
|
else {
|
|
1853
|
-
let e = /* @__PURE__ */ A(
|
|
1854
|
-
hasActiveFilters:
|
|
1855
|
-
canOpenDataPointMenu:
|
|
1905
|
+
let e = /* @__PURE__ */ A(Ue, {
|
|
1906
|
+
hasActiveFilters: Ci,
|
|
1907
|
+
canOpenDataPointMenu: qn,
|
|
1856
1908
|
metric: M,
|
|
1857
|
-
chartSettings:
|
|
1858
|
-
data:
|
|
1909
|
+
chartSettings: R,
|
|
1910
|
+
data: I,
|
|
1859
1911
|
serverTruncation: N.truncation ?? null,
|
|
1860
1912
|
isLoading: !1,
|
|
1861
|
-
tablePaging:
|
|
1862
|
-
tableSearch:
|
|
1863
|
-
isTableRefreshing:
|
|
1864
|
-
enableCoverageTruncation:
|
|
1865
|
-
emptyState:
|
|
1866
|
-
chartColors:
|
|
1867
|
-
chartRendererType:
|
|
1868
|
-
chartAppearance:
|
|
1869
|
-
appearanceOptions:
|
|
1870
|
-
chartColumns:
|
|
1913
|
+
tablePaging: vi,
|
|
1914
|
+
tableSearch: _i,
|
|
1915
|
+
isTableRefreshing: Ai,
|
|
1916
|
+
enableCoverageTruncation: bt,
|
|
1917
|
+
emptyState: ki ?? void 0,
|
|
1918
|
+
chartColors: bn,
|
|
1919
|
+
chartRendererType: ve,
|
|
1920
|
+
chartAppearance: ye,
|
|
1921
|
+
appearanceOptions: be,
|
|
1922
|
+
chartColumns: xe,
|
|
1871
1923
|
height: C,
|
|
1872
|
-
width:
|
|
1873
|
-
onEvents:
|
|
1874
|
-
onTableCellClick:
|
|
1875
|
-
onOpenSection:
|
|
1924
|
+
width: Se,
|
|
1925
|
+
onEvents: ti ?? Mr,
|
|
1926
|
+
onTableCellClick: G ? xr : void 0,
|
|
1927
|
+
onOpenSection: ci ? () => Ve?.(M) : void 0,
|
|
1876
1928
|
openSectionLabel: "Edit metric",
|
|
1877
1929
|
onChartReady: (e) => {
|
|
1878
|
-
|
|
1930
|
+
vr.current = e;
|
|
1879
1931
|
}
|
|
1880
1932
|
});
|
|
1881
|
-
|
|
1882
|
-
ref:
|
|
1933
|
+
Ii = qn ? /* @__PURE__ */ j("div", {
|
|
1934
|
+
ref: br,
|
|
1883
1935
|
className: "relative flex min-h-0 w-full flex-1 flex-col",
|
|
1884
|
-
children: [e, /* @__PURE__ */ A(
|
|
1885
|
-
open:
|
|
1936
|
+
children: [e, /* @__PURE__ */ A(Ht, {
|
|
1937
|
+
open: Yn.open,
|
|
1886
1938
|
onOpenChange: (e) => {
|
|
1887
|
-
e ||
|
|
1939
|
+
e || er();
|
|
1888
1940
|
},
|
|
1889
|
-
anchor:
|
|
1890
|
-
point:
|
|
1891
|
-
onCopyValue:
|
|
1892
|
-
onFilterTo:
|
|
1893
|
-
canFilterThisMetric: !!
|
|
1894
|
-
canFilterDashboard:
|
|
1895
|
-
isFilterableColumn:
|
|
1896
|
-
canExcludeValues:
|
|
1897
|
-
pool:
|
|
1898
|
-
canSplitBy:
|
|
1941
|
+
anchor: Yn.anchor,
|
|
1942
|
+
point: Cr,
|
|
1943
|
+
onCopyValue: Dr,
|
|
1944
|
+
onFilterTo: G && (dr && N.onMetricFiltersChange || kr) ? jr : void 0,
|
|
1945
|
+
canFilterThisMetric: !!dr && !!N.onMetricFiltersChange,
|
|
1946
|
+
canFilterDashboard: kr,
|
|
1947
|
+
isFilterableColumn: Ar,
|
|
1948
|
+
canExcludeValues: Un.canExcludeFilterValues,
|
|
1949
|
+
pool: ar,
|
|
1950
|
+
canSplitBy: G,
|
|
1899
1951
|
onDrillInto: (e) => {
|
|
1900
|
-
|
|
1952
|
+
er(), sr?.({
|
|
1901
1953
|
dimension: e.column,
|
|
1902
|
-
params:
|
|
1903
|
-
point:
|
|
1954
|
+
params: Yn.params,
|
|
1955
|
+
point: Cr
|
|
1904
1956
|
});
|
|
1905
1957
|
},
|
|
1906
|
-
onViewUnderlyingData:
|
|
1907
|
-
|
|
1958
|
+
onViewUnderlyingData: K ? () => {
|
|
1959
|
+
er(), $r({ pointFilters: m(Cr).filters });
|
|
1908
1960
|
} : void 0
|
|
1909
1961
|
})]
|
|
1910
1962
|
}) : e;
|
|
1911
1963
|
}
|
|
1912
|
-
let
|
|
1913
|
-
return /* @__PURE__ */ j(
|
|
1964
|
+
let Li = !!(Re && Kn);
|
|
1965
|
+
return /* @__PURE__ */ j(at, { children: [
|
|
1914
1966
|
/* @__PURE__ */ j("div", {
|
|
1915
|
-
ref:
|
|
1967
|
+
ref: Fr,
|
|
1916
1968
|
"data-testid": "metric-card-v2",
|
|
1917
1969
|
"data-slot": "metric-card",
|
|
1918
|
-
"data-fullscreen-open":
|
|
1919
|
-
"data-download-open":
|
|
1920
|
-
"data-underlying-open":
|
|
1921
|
-
"data-title-click-fullscreen":
|
|
1922
|
-
className: O("group/metric-card flex h-full w-full flex-col gap-3 bg-(--card) text-(--card-foreground) rounded-(--radius-lg) p-4", "overflow-clip", !
|
|
1970
|
+
"data-fullscreen-open": xn || void 0,
|
|
1971
|
+
"data-download-open": Cn || void 0,
|
|
1972
|
+
"data-underlying-open": Tn || void 0,
|
|
1973
|
+
"data-title-click-fullscreen": Li ? "" : void 0,
|
|
1974
|
+
className: O("group/metric-card flex h-full w-full flex-col gap-3 bg-(--card) text-(--card-foreground) rounded-(--radius-lg) p-4", "overflow-clip", !vn && "border border-border-strong", !yn && "transition-shadow hover:ring-1 hover:ring-border-strong motion-reduce:transition-none", Je),
|
|
1923
1975
|
children: [
|
|
1924
|
-
/* @__PURE__ */ A(
|
|
1925
|
-
title:
|
|
1926
|
-
description:
|
|
1976
|
+
/* @__PURE__ */ A(Tt, {
|
|
1977
|
+
title: un,
|
|
1978
|
+
description: dn,
|
|
1927
1979
|
isDisableCardTitle: f,
|
|
1928
|
-
infoContent:
|
|
1929
|
-
actions:
|
|
1930
|
-
onTitleClick:
|
|
1980
|
+
infoContent: mn,
|
|
1981
|
+
actions: fi,
|
|
1982
|
+
onTitleClick: Li ? ii : void 0
|
|
1931
1983
|
}),
|
|
1932
1984
|
/* @__PURE__ */ j("div", {
|
|
1933
|
-
className: O("flex min-h-0 w-full flex-1 flex-col",
|
|
1934
|
-
"aria-busy":
|
|
1985
|
+
className: O("flex min-h-0 w-full flex-1 flex-col", tn && "relative opacity-60 transition-opacity motion-reduce:transition-none"),
|
|
1986
|
+
"aria-busy": tn || void 0,
|
|
1935
1987
|
children: [
|
|
1936
|
-
|
|
1988
|
+
tn ? /* @__PURE__ */ A("div", {
|
|
1937
1989
|
"data-testid": "metric-card-updating",
|
|
1938
1990
|
"aria-hidden": "true",
|
|
1939
1991
|
className: "pointer-events-none absolute inset-x-0 top-0 z-2 h-0.5 animate-pulse bg-(--primary) motion-reduce:animate-none"
|
|
1940
1992
|
}) : null,
|
|
1941
|
-
/* @__PURE__ */ A(
|
|
1993
|
+
/* @__PURE__ */ A(fe, { text: wi }),
|
|
1942
1994
|
N.filterNotAppliedNotice ? /* @__PURE__ */ A("div", {
|
|
1943
1995
|
role: "status",
|
|
1944
1996
|
className: "mb-2 text-caption text-(--muted-foreground)",
|
|
1945
1997
|
"data-testid": "metric-card-filter-not-applied-notice",
|
|
1946
1998
|
children: N.filterNotAppliedNotice
|
|
1947
1999
|
}) : null,
|
|
1948
|
-
|
|
1949
|
-
|
|
2000
|
+
Fi,
|
|
2001
|
+
Ii
|
|
1950
2002
|
]
|
|
1951
2003
|
}),
|
|
1952
|
-
|
|
2004
|
+
On ? /* @__PURE__ */ j("div", {
|
|
1953
2005
|
role: "alert",
|
|
1954
2006
|
"data-testid": "card-download-error",
|
|
1955
2007
|
"data-slot": "metric-card-download-error",
|
|
@@ -1961,7 +2013,7 @@ var $t = (a) => {
|
|
|
1961
2013
|
}),
|
|
1962
2014
|
/* @__PURE__ */ A("span", {
|
|
1963
2015
|
className: "flex-1",
|
|
1964
|
-
children:
|
|
2016
|
+
children: On
|
|
1965
2017
|
}),
|
|
1966
2018
|
/* @__PURE__ */ A(E, {
|
|
1967
2019
|
type: "button",
|
|
@@ -1970,78 +2022,78 @@ var $t = (a) => {
|
|
|
1970
2022
|
"aria-label": "Dismiss",
|
|
1971
2023
|
"data-testid": "card-download-error-dismiss",
|
|
1972
2024
|
className: "text-(--destructive) hover:bg-(--destructive)/15 hover:text-(--destructive)",
|
|
1973
|
-
onClick:
|
|
1974
|
-
children: /* @__PURE__ */ A(
|
|
2025
|
+
onClick: kn,
|
|
2026
|
+
children: /* @__PURE__ */ A(rt, { "aria-hidden": "true" })
|
|
1975
2027
|
})
|
|
1976
2028
|
]
|
|
1977
2029
|
}) : null,
|
|
1978
|
-
/* @__PURE__ */ A(
|
|
2030
|
+
/* @__PURE__ */ A(wt, { longDescription: pn })
|
|
1979
2031
|
]
|
|
1980
2032
|
}),
|
|
1981
|
-
/* @__PURE__ */ A(
|
|
1982
|
-
open:
|
|
1983
|
-
onOpenChange:
|
|
1984
|
-
rows:
|
|
1985
|
-
onDownload:
|
|
1986
|
-
onEmail:
|
|
2033
|
+
/* @__PURE__ */ A(Ut, {
|
|
2034
|
+
open: Cn,
|
|
2035
|
+
onOpenChange: wn,
|
|
2036
|
+
rows: Lr,
|
|
2037
|
+
onDownload: Hr,
|
|
2038
|
+
onEmail: ke ? () => ke() : void 0
|
|
1987
2039
|
}),
|
|
1988
|
-
/* @__PURE__ */ A(
|
|
1989
|
-
hasActiveFilters: !
|
|
1990
|
-
open:
|
|
1991
|
-
onOpenChange:
|
|
1992
|
-
title:
|
|
1993
|
-
columns:
|
|
1994
|
-
rows:
|
|
1995
|
-
presentation:
|
|
2040
|
+
/* @__PURE__ */ A(Ie, {
|
|
2041
|
+
hasActiveFilters: !B && Ci,
|
|
2042
|
+
open: Tn,
|
|
2043
|
+
onOpenChange: En,
|
|
2044
|
+
title: B ? "Underlying data (filters ignored)" : "Underlying data",
|
|
2045
|
+
columns: Nn,
|
|
2046
|
+
rows: jn,
|
|
2047
|
+
presentation: q ? {
|
|
1996
2048
|
selectedDims: M?.datasetMetricSettings?.newDatasetSettings?.selectedDims,
|
|
1997
2049
|
selectedMetrics: M?.datasetMetricSettings?.newDatasetSettings?.selectedMetrics,
|
|
1998
|
-
measureFormatter:
|
|
1999
|
-
scope:
|
|
2000
|
-
isLoading:
|
|
2001
|
-
error:
|
|
2050
|
+
measureFormatter: ni,
|
|
2051
|
+
scope: Er,
|
|
2052
|
+
isLoading: Mn,
|
|
2053
|
+
error: Bn,
|
|
2002
2054
|
paging: {
|
|
2003
|
-
limit:
|
|
2004
|
-
offset:
|
|
2005
|
-
totalRows:
|
|
2006
|
-
onRequestPage:
|
|
2055
|
+
limit: W.limit,
|
|
2056
|
+
offset: W.offset,
|
|
2057
|
+
totalRows: Fn,
|
|
2058
|
+
onRequestPage: ri,
|
|
2007
2059
|
canSearch: re({
|
|
2008
|
-
language:
|
|
2009
|
-
translationDictionary:
|
|
2060
|
+
language: Ge,
|
|
2061
|
+
translationDictionary: Ke
|
|
2010
2062
|
})
|
|
2011
2063
|
}
|
|
2012
2064
|
} : void 0,
|
|
2013
|
-
onDownload: () =>
|
|
2014
|
-
onDownloadAll:
|
|
2015
|
-
downloadAllState:
|
|
2065
|
+
onDownload: () => zr(jn),
|
|
2066
|
+
onDownloadAll: q ? oi : void 0,
|
|
2067
|
+
downloadAllState: Ln
|
|
2016
2068
|
}),
|
|
2017
|
-
/* @__PURE__ */ A(
|
|
2018
|
-
hasActiveFilters:
|
|
2019
|
-
open:
|
|
2020
|
-
onOpenChange:
|
|
2069
|
+
/* @__PURE__ */ A(Wt, {
|
|
2070
|
+
hasActiveFilters: Ci,
|
|
2071
|
+
open: xn,
|
|
2072
|
+
onOpenChange: Sn,
|
|
2021
2073
|
metric: M,
|
|
2022
|
-
chartSettings:
|
|
2023
|
-
data:
|
|
2024
|
-
chartColors:
|
|
2025
|
-
chartAppearance:
|
|
2026
|
-
chartRendererType:
|
|
2027
|
-
title:
|
|
2028
|
-
isLoading: P && !
|
|
2029
|
-
error:
|
|
2030
|
-
isJoinMismatch: !!
|
|
2031
|
-
onRetry:
|
|
2032
|
-
copyProps:
|
|
2033
|
-
tablePaging:
|
|
2034
|
-
tableSearch:
|
|
2035
|
-
underlyingData:
|
|
2036
|
-
rows:
|
|
2037
|
-
columns:
|
|
2038
|
-
isLoading:
|
|
2039
|
-
error:
|
|
2040
|
-
onRetry:
|
|
2041
|
-
paging:
|
|
2074
|
+
chartSettings: R,
|
|
2075
|
+
data: I,
|
|
2076
|
+
chartColors: bn,
|
|
2077
|
+
chartAppearance: ye,
|
|
2078
|
+
chartRendererType: ve,
|
|
2079
|
+
title: un,
|
|
2080
|
+
isLoading: P && !Ai,
|
|
2081
|
+
error: L,
|
|
2082
|
+
isJoinMismatch: !!Rt,
|
|
2083
|
+
onRetry: ln,
|
|
2084
|
+
copyProps: _n,
|
|
2085
|
+
tablePaging: vi,
|
|
2086
|
+
tableSearch: _i,
|
|
2087
|
+
underlyingData: K && R?.chartType === i.singleValue ? {
|
|
2088
|
+
rows: jn,
|
|
2089
|
+
columns: Nn,
|
|
2090
|
+
isLoading: Mn,
|
|
2091
|
+
error: Bn,
|
|
2092
|
+
onRetry: ii,
|
|
2093
|
+
paging: yi
|
|
2042
2094
|
} : void 0
|
|
2043
2095
|
})
|
|
2044
2096
|
] });
|
|
2045
2097
|
};
|
|
2046
2098
|
//#endregion
|
|
2047
|
-
export {
|
|
2099
|
+
export { I as MetricCardV2, I as default };
|