@embeddable.com/remarkable-pro 0.1.32 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BarChartDefaultHorizontalPro.js +1 -1
- package/dist/BarChartDefaultPro.js +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +1 -1
- package/dist/BarChartGroupedPro.js +1 -1
- package/dist/BarChartStackedHorizontalPro.js +1 -1
- package/dist/BarChartStackedPro.js +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
- package/dist/DateRangePickerCustomPro.js +1 -1
- package/dist/DateRangeSelectFieldPro.js +1 -1
- package/dist/DonutChartPro.js +1 -1
- package/dist/DonutLabelChartPro.js +1 -1
- package/dist/HeatMapPro.js +1 -1
- package/dist/KpiChartNumberComparisonPro.js +1 -1
- package/dist/LineChartComparisonDefaultPro.js +1 -1
- package/dist/LineChartDefaultPro.js +1 -1
- package/dist/LineChartGroupedPro.js +1 -1
- package/dist/PieChartPro.js +1 -1
- package/dist/PivotTablePro.js +1 -1
- package/dist/bars.loadData.utils-3BlUREY3.js +126 -0
- package/dist/bars.loadData.utils-3BlUREY3.js.map +1 -0
- package/dist/{bars.utils-jD7h2lii.js → bars.utils-CG7i6UTJ.js} +2 -2
- package/dist/{bars.utils-jD7h2lii.js.map → bars.utils-CG7i6UTJ.js.map} +1 -1
- package/dist/charts.fillGaps.hooks-B6T9882L.js +70 -0
- package/dist/charts.fillGaps.hooks-B6T9882L.js.map +1 -0
- package/dist/{charts.utils-N3kN-XFw.js → charts.utils-BMX0edl3.js} +3480 -3511
- package/dist/charts.utils-BMX0edl3.js.map +1 -0
- package/dist/clientContext.utils-DpB5KsfX.js +15 -0
- package/dist/clientContext.utils-DpB5KsfX.js.map +1 -0
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/definition.d.ts +4 -3
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/definition.d.ts +4 -3
- package/dist/components/charts/bars/BarChartDefaultPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/definition.d.ts +2 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/definition.d.ts +2 -1
- package/dist/components/charts/bars/BarChartGroupedPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/definition.d.ts +2 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/definition.d.ts +2 -1
- package/dist/components/charts/bars/BarChartStackedPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/bars.loadData.utils.d.ts +9 -5
- package/dist/components/charts/bars/bars.loadData.utils.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/definition.d.ts +6 -5
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/definition.d.ts +6 -5
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/definition.d.ts +4 -3
- package/dist/components/charts/lines/LineChartDefaultPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/definition.d.ts +4 -3
- package/dist/components/charts/lines/LineChartGroupedPro/definition.d.ts.map +1 -1
- package/dist/components/charts/tables/HeatMapPro/definition.d.ts +4 -3
- package/dist/components/charts/tables/HeatMapPro/definition.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/definition.d.ts +6 -5
- package/dist/components/charts/tables/PivotTablePro/definition.d.ts.map +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.types.d.ts +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.types.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.d.ts +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/dates.utils.d.ts +3 -3
- package/dist/components/editors/dates/dates.utils.d.ts.map +1 -1
- package/dist/{dates.utils-C3LPV893.js → dates.utils-D44sdrNs.js} +36 -36
- package/dist/{dates.utils-C3LPV893.js.map → dates.utils-D44sdrNs.js.map} +1 -1
- package/dist/definition-B1B71Q9P.js +164 -0
- package/dist/definition-B1B71Q9P.js.map +1 -0
- package/dist/{definition-B2mKjUhy.js → definition-B1t6-ToS.js} +87 -84
- package/dist/definition-B1t6-ToS.js.map +1 -0
- package/dist/{definition-Dizabfqb.js → definition-BejgCcXe.js} +94 -92
- package/dist/{definition-Dizabfqb.js.map → definition-BejgCcXe.js.map} +1 -1
- package/dist/definition-Bg3R-QHm.js +206 -0
- package/dist/definition-Bg3R-QHm.js.map +1 -0
- package/dist/{definition-Bdwvh471.js → definition-BomoMNHu.js} +19 -18
- package/dist/definition-BomoMNHu.js.map +1 -0
- package/dist/{definition-CN6Ieeer.js → definition-BxDRujfc.js} +65 -63
- package/dist/{definition-CN6Ieeer.js.map → definition-BxDRujfc.js.map} +1 -1
- package/dist/{definition-B5l2-yZu.js → definition-Bx_a3I-X.js} +66 -62
- package/dist/definition-Bx_a3I-X.js.map +1 -0
- package/dist/{definition-bvWr0LdF.js → definition-CLDcybuA.js} +56 -51
- package/dist/definition-CLDcybuA.js.map +1 -0
- package/dist/{definition-C8DCZNOR.js → definition-C_wdRHYX.js} +2 -2
- package/dist/{definition-C8DCZNOR.js.map → definition-C_wdRHYX.js.map} +1 -1
- package/dist/{definition-B9bfDi7Q.js → definition-DFEQMSrJ.js} +2 -2
- package/dist/{definition-B9bfDi7Q.js.map → definition-DFEQMSrJ.js.map} +1 -1
- package/dist/{definition-Dh9UNSfZ.js → definition-DqtPYFiz.js} +39 -30
- package/dist/definition-DqtPYFiz.js.map +1 -0
- package/dist/{definition-CkVv7VMQ.js → definition-MdprJNc9.js} +2 -2
- package/dist/{definition-CkVv7VMQ.js.map → definition-MdprJNc9.js.map} +1 -1
- package/dist/{definition-DnWIyPun.js → definition-NQQg5mwf.js} +80 -76
- package/dist/definition-NQQg5mwf.js.map +1 -0
- package/dist/{definition-SCQMKDEM.js → definition-OA_X18FK.js} +46 -44
- package/dist/definition-OA_X18FK.js.map +1 -0
- package/dist/definition-nSxl9weT.js +525 -0
- package/dist/definition-nSxl9weT.js.map +1 -0
- package/dist/definition-poLEt7kb.js +210 -0
- package/dist/definition-poLEt7kb.js.map +1 -0
- package/dist/{definition-DynupxEC.js → definition-uj4b0NtW.js} +82 -78
- package/dist/definition-uj4b0NtW.js.map +1 -0
- package/dist/definition-xkAbcSB6.js +166 -0
- package/dist/definition-xkAbcSB6.js.map +1 -0
- package/dist/embeddable-components.json +42 -42
- package/dist/embeddable-theme-0137e.js +4437 -4455
- package/dist/index.js +24 -24
- package/dist/{pies.utils-BlPQ76Jf.js → pies.utils-DvbvSz5H.js} +2 -2
- package/dist/{pies.utils-BlPQ76Jf.js.map → pies.utils-DvbvSz5H.js.map} +1 -1
- package/dist/theme/defaults/defaults.ComparisonPeriods.constants.d.ts.map +1 -1
- package/dist/theme/defaults/defaults.DateRanges.constants.d.ts +1 -1
- package/dist/theme/defaults/defaults.DateRanges.constants.d.ts.map +1 -1
- package/dist/theme/theme.constants.d.ts.map +1 -1
- package/dist/theme/theme.types.d.ts +4 -0
- package/dist/theme/theme.types.d.ts.map +1 -1
- package/dist/theme/utils/clientContext.utils.d.ts +2 -0
- package/dist/theme/utils/clientContext.utils.d.ts.map +1 -0
- package/dist/timeRange.utils-CcP33PfM.js +20 -0
- package/dist/timeRange.utils-CcP33PfM.js.map +1 -0
- package/package.json +1 -1
- package/dist/bars.loadData.utils-FxKnljYM.js +0 -116
- package/dist/bars.loadData.utils-FxKnljYM.js.map +0 -1
- package/dist/charts.fillGaps.hooks-CvKhAwUj.js +0 -70
- package/dist/charts.fillGaps.hooks-CvKhAwUj.js.map +0 -1
- package/dist/charts.utils-N3kN-XFw.js.map +0 -1
- package/dist/definition-2JaSZCXp.js +0 -206
- package/dist/definition-2JaSZCXp.js.map +0 -1
- package/dist/definition-B2mKjUhy.js.map +0 -1
- package/dist/definition-B5l2-yZu.js.map +0 -1
- package/dist/definition-Bdwvh471.js.map +0 -1
- package/dist/definition-Bn3Fi9C4.js +0 -515
- package/dist/definition-Bn3Fi9C4.js.map +0 -1
- package/dist/definition-BrVG5pTw.js +0 -162
- package/dist/definition-BrVG5pTw.js.map +0 -1
- package/dist/definition-Dh9UNSfZ.js.map +0 -1
- package/dist/definition-DnWIyPun.js.map +0 -1
- package/dist/definition-DynupxEC.js.map +0 -1
- package/dist/definition-EqCeNipq.js +0 -201
- package/dist/definition-EqCeNipq.js.map +0 -1
- package/dist/definition-SCQMKDEM.js.map +0 -1
- package/dist/definition-bvWr0LdF.js.map +0 -1
- package/dist/definition-pNCrIBqW.js +0 -164
- package/dist/definition-pNCrIBqW.js.map +0 -1
- package/dist/timeRange.utils-D1hjtzlU.js +0 -20
- package/dist/timeRange.utils-D1hjtzlU.js.map +0 -1
|
@@ -1,43 +1,44 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { useTheme as
|
|
3
|
-
import { a as
|
|
4
|
-
import { C as
|
|
5
|
-
import { useRef as
|
|
6
|
-
import { u as A } from "./charts.fillGaps.hooks-
|
|
1
|
+
import { j as x, O as ie, l as F } from "./index-CJYh9LRs.js";
|
|
2
|
+
import { useTheme as re, definePreview as le } from "@embeddable.com/react";
|
|
3
|
+
import { a as me, r as ue, i as de } from "./component.utils-Dua9clQJ.js";
|
|
4
|
+
import { C as ce } from "./ChartCard-Cqhxv7xl.js";
|
|
5
|
+
import { useRef as we, useState as C, useEffect as pe } from "react";
|
|
6
|
+
import { u as A } from "./charts.fillGaps.hooks-B6T9882L.js";
|
|
7
7
|
import { g as M } from "./formatter.utils-BLaKKpAa.js";
|
|
8
|
-
import { u as
|
|
8
|
+
import { u as be } from "./tables.hooks-fVC_4V5K.js";
|
|
9
9
|
import { i as a, s as f } from "./component.inputs.constants-C7tJAhsQ.js";
|
|
10
10
|
import { p } from "./preview.data.constants--FLtEcg5.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
import { g as B } from "./clientContext.utils-DpB5KsfX.js";
|
|
12
|
+
const Re = (e, o) => {
|
|
13
|
+
const s = M(o);
|
|
14
|
+
return e.measures.map((n) => {
|
|
14
15
|
var i, t;
|
|
15
16
|
return {
|
|
16
|
-
key:
|
|
17
|
-
label:
|
|
18
|
-
showAsPercentage: !!((i =
|
|
19
|
-
percentageDecimalPlaces: ((t =
|
|
20
|
-
accessor: (m) => m[
|
|
17
|
+
key: n.name,
|
|
18
|
+
label: s.dimensionOrMeasureTitle(n),
|
|
19
|
+
showAsPercentage: !!((i = n.inputs) != null && i.showAsPercentage),
|
|
20
|
+
percentageDecimalPlaces: ((t = n.inputs) == null ? void 0 : t.decimalPlaces) ?? 1,
|
|
21
|
+
accessor: (m) => m[n.name] == null ? e.displayNullAs : s.data(n, m[n.name])
|
|
21
22
|
};
|
|
22
23
|
});
|
|
23
24
|
}, h = (e, o) => {
|
|
24
|
-
const
|
|
25
|
+
const s = M(o);
|
|
25
26
|
return {
|
|
26
27
|
key: e.dimension.name,
|
|
27
|
-
label:
|
|
28
|
-
formatValue: (
|
|
28
|
+
label: s.dimensionOrMeasureTitle(e.dimension),
|
|
29
|
+
formatValue: (n) => s.data(e.dimension, n)
|
|
29
30
|
};
|
|
30
|
-
},
|
|
31
|
-
var
|
|
32
|
-
return (
|
|
33
|
-
}).map((o) => o.name),
|
|
34
|
-
var
|
|
35
|
-
return (
|
|
36
|
-
}).map((o) => o.name),
|
|
31
|
+
}, fe = (e) => e.filter((o) => {
|
|
32
|
+
var s;
|
|
33
|
+
return (s = o.inputs) == null ? void 0 : s.showColumnTotal;
|
|
34
|
+
}).map((o) => o.name), he = (e) => e.filter((o) => {
|
|
35
|
+
var s;
|
|
36
|
+
return (s = o.inputs) == null ? void 0 : s.showRowTotal;
|
|
37
|
+
}).map((o) => o.name), ge = (e, o, s = "asc") => [...e].sort((n, i) => n[o] < i[o] ? s === "asc" ? -1 : 1 : n[o] > i[o] ? s === "asc" ? 1 : -1 : 0), g = (e) => {
|
|
37
38
|
var v, y;
|
|
38
|
-
const o =
|
|
39
|
-
|
|
40
|
-
const { title:
|
|
39
|
+
const o = re();
|
|
40
|
+
me(o);
|
|
41
|
+
const { title: s, description: n, tooltip: i } = ue(e), {
|
|
41
42
|
resultsSubRows: t,
|
|
42
43
|
measures: m,
|
|
43
44
|
rowDimension: r,
|
|
@@ -59,17 +60,17 @@ const be = (e, o) => {
|
|
|
59
60
|
}), V = A({
|
|
60
61
|
results: q,
|
|
61
62
|
dimension: r
|
|
62
|
-
}),
|
|
63
|
+
}), H = be({
|
|
63
64
|
results: V,
|
|
64
65
|
columnOrder: K,
|
|
65
66
|
rowOrder: N,
|
|
66
67
|
columnDimension: c,
|
|
67
68
|
rowDimension: r,
|
|
68
69
|
measures: m
|
|
69
|
-
}),
|
|
70
|
+
}), J = we(null), Q = Re({ measures: m, displayNullAs: G }, o), U = h({ dimension: r }, o), X = u ? h({ dimension: u }, o) : void 0, Y = h({ dimension: c }, o), Z = fe(m), $ = he(m), [ee, D] = C(/* @__PURE__ */ new Set()), [oe, se] = C(/* @__PURE__ */ new Map()), ne = (l) => {
|
|
70
71
|
D((d) => new Set(d).add(l)), I(l);
|
|
71
72
|
};
|
|
72
|
-
|
|
73
|
+
pe(() => {
|
|
73
74
|
if (!t || !(t != null && t.data) || b.length === 0)
|
|
74
75
|
return;
|
|
75
76
|
const l = /* @__PURE__ */ new Map();
|
|
@@ -78,54 +79,54 @@ const be = (e, o) => {
|
|
|
78
79
|
if ((S = t.data) == null ? void 0 : S.some(
|
|
79
80
|
(w) => String(w[r.name]) === d
|
|
80
81
|
)) {
|
|
81
|
-
const w = ((T = t.data) == null ? void 0 : T.filter((R) => String(R[r.name]) === d)) ?? [],
|
|
82
|
-
l.set(d,
|
|
83
|
-
const
|
|
84
|
-
return
|
|
82
|
+
const w = ((T = t.data) == null ? void 0 : T.filter((R) => String(R[r.name]) === d)) ?? [], ae = u ? ge(w, u.name, "asc") : w;
|
|
83
|
+
l.set(d, ae), D((R) => {
|
|
84
|
+
const P = new Set(R);
|
|
85
|
+
return P.delete(d), P;
|
|
85
86
|
});
|
|
86
87
|
}
|
|
87
|
-
}),
|
|
88
|
+
}), se(l);
|
|
88
89
|
}, [t, b, r, u]);
|
|
89
|
-
const
|
|
90
|
+
const te = {
|
|
90
91
|
...e.results,
|
|
91
92
|
isLoading: !!((v = e.results) != null && v.isLoading || t != null && t.isLoading)
|
|
92
93
|
};
|
|
93
|
-
return /* @__PURE__ */
|
|
94
|
-
|
|
94
|
+
return /* @__PURE__ */ x.jsx(
|
|
95
|
+
ce,
|
|
95
96
|
{
|
|
96
|
-
ref:
|
|
97
|
-
title:
|
|
98
|
-
description:
|
|
97
|
+
ref: J,
|
|
98
|
+
title: s,
|
|
99
|
+
description: n,
|
|
99
100
|
tooltip: i,
|
|
100
|
-
data:
|
|
101
|
+
data: te,
|
|
101
102
|
dimensionsAndMeasures: [r, c, ...m],
|
|
102
103
|
errorMessage: (y = e.results) == null ? void 0 : y.error,
|
|
103
104
|
hideMenu: _,
|
|
104
|
-
children: /* @__PURE__ */
|
|
105
|
-
|
|
105
|
+
children: /* @__PURE__ */ x.jsx(
|
|
106
|
+
ie,
|
|
106
107
|
{
|
|
107
108
|
firstColumnWidth: k,
|
|
108
109
|
columnWidth: L,
|
|
109
|
-
totalLabel:
|
|
110
|
-
data:
|
|
111
|
-
measures:
|
|
112
|
-
rowDimension:
|
|
113
|
-
columnDimension:
|
|
114
|
-
columnTotalsFor:
|
|
115
|
-
rowTotalsFor:
|
|
110
|
+
totalLabel: de.t("charts.pivotTable.total"),
|
|
111
|
+
data: H,
|
|
112
|
+
measures: Q,
|
|
113
|
+
rowDimension: U,
|
|
114
|
+
columnDimension: Y,
|
|
115
|
+
columnTotalsFor: Z,
|
|
116
|
+
rowTotalsFor: $,
|
|
116
117
|
expandableRows: !!u,
|
|
117
|
-
subRowsByRow:
|
|
118
|
-
loadingRows:
|
|
118
|
+
subRowsByRow: oe,
|
|
119
|
+
loadingRows: ee,
|
|
119
120
|
onRowExpand: ne,
|
|
120
|
-
subRowDimension:
|
|
121
|
+
subRowDimension: X
|
|
121
122
|
}
|
|
122
123
|
)
|
|
123
124
|
}
|
|
124
125
|
);
|
|
125
|
-
},
|
|
126
|
+
}, je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
126
127
|
__proto__: null,
|
|
127
128
|
default: g
|
|
128
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
129
|
+
}, Symbol.toStringTag, { value: "Module" })), De = {
|
|
129
130
|
name: "PivotTablePro",
|
|
130
131
|
label: "Pivot Table",
|
|
131
132
|
category: "Table Charts",
|
|
@@ -192,7 +193,7 @@ const be = (e, o) => {
|
|
|
192
193
|
},
|
|
193
194
|
a.maxResults
|
|
194
195
|
]
|
|
195
|
-
},
|
|
196
|
+
}, E = {
|
|
196
197
|
measures: [{ ...p.measure, inputs: { showRowTotal: !0, showColumnTotal: !0 } }],
|
|
197
198
|
rowDimension: p.dimension,
|
|
198
199
|
columnDimension: p.dimensionGroup,
|
|
@@ -201,16 +202,18 @@ const be = (e, o) => {
|
|
|
201
202
|
expandedRowKeys: [],
|
|
202
203
|
setExpandedRowKey: () => {
|
|
203
204
|
}
|
|
204
|
-
},
|
|
205
|
+
}, ve = le(g, E), O = (e, o) => ({
|
|
205
206
|
from: e.dataset,
|
|
206
207
|
select: [e.rowDimension, e.columnDimension, ...e.measures],
|
|
207
208
|
limit: e.maxResults,
|
|
208
|
-
countRows: !0
|
|
209
|
-
|
|
209
|
+
countRows: !0,
|
|
210
|
+
timezone: B(o == null ? void 0 : o.timezone)
|
|
211
|
+
}), W = (e, o) => F(O(e, o)), j = (e, o, s) => ({
|
|
210
212
|
from: e.dataset,
|
|
211
213
|
select: [e.rowDimension, e.subRowDimension, e.columnDimension, ...e.measures],
|
|
212
214
|
limit: e.maxResults,
|
|
213
215
|
countRows: !0,
|
|
216
|
+
timezone: B(s == null ? void 0 : s.timezone),
|
|
214
217
|
filters: [
|
|
215
218
|
{
|
|
216
219
|
property: e.rowDimension,
|
|
@@ -218,42 +221,42 @@ const be = (e, o) => {
|
|
|
218
221
|
value: o
|
|
219
222
|
}
|
|
220
223
|
]
|
|
221
|
-
}),
|
|
224
|
+
}), z = (e, o, s) => {
|
|
222
225
|
if (o.length > 0)
|
|
223
|
-
return F(
|
|
224
|
-
},
|
|
225
|
-
const
|
|
226
|
+
return F(j(e, o, s));
|
|
227
|
+
}, ye = (e, [o, s], n) => {
|
|
228
|
+
const i = (o == null ? void 0 : o.expandedRowKeys) ?? [];
|
|
226
229
|
return {
|
|
227
230
|
...e,
|
|
228
231
|
state: o,
|
|
229
|
-
expandedRowKeys:
|
|
230
|
-
setExpandedRowKey: (
|
|
231
|
-
results:
|
|
232
|
-
resultsSubRows:
|
|
232
|
+
expandedRowKeys: i,
|
|
233
|
+
setExpandedRowKey: (t) => s({ expandedRowKeys: [...i, t] }),
|
|
234
|
+
results: W(e, n),
|
|
235
|
+
resultsSubRows: z(e, i, n)
|
|
233
236
|
};
|
|
234
|
-
},
|
|
237
|
+
}, ze = {
|
|
235
238
|
Component: g,
|
|
236
|
-
meta:
|
|
237
|
-
preview:
|
|
238
|
-
previewConfig:
|
|
239
|
+
meta: De,
|
|
240
|
+
preview: ve,
|
|
241
|
+
previewConfig: E,
|
|
239
242
|
config: {
|
|
240
|
-
props:
|
|
243
|
+
props: ye
|
|
241
244
|
},
|
|
242
245
|
results: {
|
|
243
|
-
loadDataArgs:
|
|
244
|
-
loadData:
|
|
246
|
+
loadDataArgs: O,
|
|
247
|
+
loadData: W
|
|
245
248
|
},
|
|
246
249
|
resultsSubRows: {
|
|
247
|
-
loadDataArgs:
|
|
248
|
-
loadData:
|
|
250
|
+
loadDataArgs: j,
|
|
251
|
+
loadData: z
|
|
249
252
|
}
|
|
250
253
|
};
|
|
251
254
|
export {
|
|
252
255
|
h as a,
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
256
|
+
Re as b,
|
|
257
|
+
he as c,
|
|
258
|
+
fe as g,
|
|
259
|
+
je as i,
|
|
260
|
+
ze as p
|
|
258
261
|
};
|
|
259
|
-
//# sourceMappingURL=definition-
|
|
262
|
+
//# sourceMappingURL=definition-B1t6-ToS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-B1t6-ToS.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/utils/array.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx","../src/components/charts/tables/PivotTablePro/definition.ts"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","export const sortArrayByProp = <T, K extends keyof T>(\n arr: T[],\n prop: K,\n order: 'asc' | 'desc' = 'asc',\n): T[] => {\n return [...arr].sort((a, b) => {\n if (a[prop] < b[prop]) return order === 'asc' ? -1 : 1;\n if (a[prop] > b[prop]) return order === 'asc' ? 1 : -1;\n return 0;\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useEffect, useRef, useState } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\nimport { useGetTableSortedResults } from '../tables.hooks';\nimport { sortArrayByProp } from '../../../../utils/array.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PivotTableProProps = {\n results: DataResponse;\n resultsSubRows?: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n subRowDimension?: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n expandedRowKeys: string[];\n setExpandedRowKey: (expandedRowKeys: string) => void;\n} & ChartCardHeaderProps;\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n resultsSubRows,\n measures,\n rowDimension,\n subRowDimension,\n columnDimension,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n hideMenu,\n expandedRowKeys,\n setExpandedRowKey,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotSubRowDimension = subRowDimension\n ? getPivotDimension({ dimension: subRowDimension }, theme)\n : undefined;\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n const [loadingRows, setLoadingRows] = useState(new Set<string>());\n const [subRowsByRow, setSubRowsByRow] = useState(new Map<string, any[]>());\n\n const handleRowExpand = (rowKey: string) => {\n setLoadingRows((prev) => new Set(prev).add(rowKey));\n setExpandedRowKey(rowKey);\n };\n\n useEffect(() => {\n // No results or no expandedRowKeys, nothing to load\n if (!resultsSubRows || !resultsSubRows?.data || expandedRowKeys.length === 0) {\n return;\n }\n\n const subRowsByRowData = new Map<string, any[]>();\n expandedRowKeys.forEach((rowKey) => {\n const containsSubRow = resultsSubRows.data?.some(\n (row) => String(row[rowDimension.name]) === rowKey,\n );\n\n if (containsSubRow) {\n const subRows =\n resultsSubRows.data?.filter((row) => String(row[rowDimension.name]) === rowKey) ?? [];\n const subRowsSorted = subRowDimension\n ? sortArrayByProp(subRows, subRowDimension.name, 'asc')\n : subRows;\n\n subRowsByRowData.set(rowKey, subRowsSorted);\n setLoadingRows((prev) => {\n const next = new Set(prev);\n next.delete(rowKey);\n return next;\n });\n }\n });\n setSubRowsByRow(subRowsByRowData);\n }, [resultsSubRows, expandedRowKeys, rowDimension, subRowDimension]);\n\n const data: DataResponse = {\n ...props.results,\n isLoading: Boolean(props.results?.isLoading || resultsSubRows?.isLoading),\n };\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={data}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n expandableRows={Boolean(subRowDimension)}\n subRowsByRow={subRowsByRow}\n loadingRows={loadingRows}\n onRowExpand={handleRowExpand}\n subRowDimension={pivotSubRowDimension}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'PivotTablePro',\n label: 'Pivot Table',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n label: 'Measures to display',\n inputs: [\n ...inputs.measures.inputs,\n {\n ...subInputs.boolean,\n name: 'showColumnTotal',\n label: 'Show column total',\n },\n {\n ...subInputs.boolean,\n name: 'showRowTotal',\n label: 'Show row total',\n },\n {\n ...subInputs.boolean,\n name: 'showAsPercentage',\n label: 'Show as percentage',\n description: 'If turned on, other measures may be ignored',\n defaultValue: false,\n },\n ],\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Primary row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimension,\n label: 'Secondary row dimension (optional)',\n name: 'subRowDimension',\n required: false,\n description:\n 'When set, each primary row becomes expandable. Clicking a row loads a breakdown by the second dimension.',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type PivotTableProState = {\n expandedRowKeys?: string[];\n};\n\nconst previewConfig = {\n measures: [{ ...previewData.measure, inputs: { showRowTotal: true, showColumnTotal: true } }],\n rowDimension: previewData.dimension,\n columnDimension: previewData.dimensionGroup,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n expandedRowKeys: [],\n setExpandedRowKey: () => {},\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst loadDataResultsSubRowsArgs = (\n inputs: Inputs<typeof meta>,\n expandedRowKeys: string[],\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.subRowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters: [\n {\n property: inputs.rowDimension,\n operator: 'equals',\n value: expandedRowKeys,\n },\n ],\n});\n\nconst loadDataResultsSubRows = (\n inputs: Inputs<typeof meta>,\n expandedRowKeys: string[],\n clientContext?: ThemeClientContext,\n): DataResponse | undefined => {\n if (expandedRowKeys.length > 0) {\n return loadData(loadDataResultsSubRowsArgs(inputs, expandedRowKeys, clientContext));\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [PivotTableProState, (state: PivotTableProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const expandedRowKeys = state?.expandedRowKeys ?? [];\n\n return {\n ...inputs,\n state,\n expandedRowKeys,\n setExpandedRowKey: (rowKey: string) =>\n setState({ expandedRowKeys: [...expandedRowKeys, rowKey] }),\n results: loadDataResults(inputs, clientContext),\n resultsSubRows: loadDataResultsSubRows(inputs, expandedRowKeys, clientContext),\n };\n};\n\nexport const pivotTablePro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsSubRows: {\n loadDataArgs: loadDataResultsSubRowsArgs,\n loadData: loadDataResultsSubRows,\n },\n} as const;\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","sortArrayByProp","arr","prop","order","a","b","PivotTablePro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","resultsSubRows","rowDimension","subRowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","hideMenu","expandedRowKeys","setExpandedRowKey","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotSubRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","loadingRows","setLoadingRows","useState","subRowsByRow","setSubRowsByRow","handleRowExpand","rowKey","prev","useEffect","subRowsByRowData","subRows","subRowsSorted","next","data","jsx","ChartCard","PivotTable","i18n","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","loadDataResultsSubRowsArgs","loadDataResultsSubRows","state","setState","pivotTablePro"],"mappings":"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"}
|
|
@@ -1,66 +1,67 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import { useTheme as
|
|
3
|
-
import { a as
|
|
1
|
+
import { t as O, y as v, m as j, j as L, L as z, V as _, l as B } from "./index-CJYh9LRs.js";
|
|
2
|
+
import { useTheme as I, definePreview as W } from "@embeddable.com/react";
|
|
3
|
+
import { a as X, r as N } from "./component.utils-Dua9clQJ.js";
|
|
4
4
|
import { C as U } from "./ChartCard-Cqhxv7xl.js";
|
|
5
5
|
import { g as R } from "./formatter.utils-BLaKKpAa.js";
|
|
6
6
|
import { g as k } from "./styles.utils-C8CnV0SB.js";
|
|
7
7
|
import { i as w, s as Y } from "./color.utils-BSg_DFOh.js";
|
|
8
|
-
import { u as $ } from "./charts.fillGaps.hooks-
|
|
8
|
+
import { u as $ } from "./charts.fillGaps.hooks-B6T9882L.js";
|
|
9
9
|
import { C as E, g as H } from "./granularity.utils-Hj10GihD.js";
|
|
10
10
|
import { i as t, s as C } from "./component.inputs.constants-C7tJAhsQ.js";
|
|
11
11
|
import { p as A } from "./preview.data.constants--FLtEcg5.js";
|
|
12
|
-
|
|
12
|
+
import { g as q } from "./clientContext.utils-DpB5KsfX.js";
|
|
13
|
+
const J = (e, s) => {
|
|
13
14
|
if (!e.data)
|
|
14
15
|
return {
|
|
15
16
|
labels: [],
|
|
16
17
|
datasets: [{ data: [] }]
|
|
17
18
|
};
|
|
18
|
-
const
|
|
19
|
+
const o = R(s), r = e.data;
|
|
19
20
|
return {
|
|
20
|
-
labels:
|
|
21
|
-
datasets: e.measures.map((a,
|
|
22
|
-
var
|
|
23
|
-
const
|
|
21
|
+
labels: r.map((a) => a[e.dimension.name]),
|
|
22
|
+
datasets: e.measures.map((a, c) => {
|
|
23
|
+
var l, p, g, h;
|
|
24
|
+
const m = !!((l = a.inputs) != null && l.connectGaps), b = r.map((x) => x[a.name] ?? (m ? 0 : null)), u = (p = a.inputs) == null ? void 0 : p.lineColor, d = O(), n = w(u) ? u : k({
|
|
24
25
|
dimensionOrMeasure: a,
|
|
25
26
|
theme: s,
|
|
26
27
|
color: "background",
|
|
27
28
|
value: a.name,
|
|
28
|
-
chartColors:
|
|
29
|
-
index:
|
|
30
|
-
}),
|
|
29
|
+
chartColors: d,
|
|
30
|
+
index: c
|
|
31
|
+
}), i = w(u) ? u : k({
|
|
31
32
|
dimensionOrMeasure: a,
|
|
32
33
|
theme: s,
|
|
33
34
|
color: "border",
|
|
34
35
|
value: a.name,
|
|
35
|
-
chartColors:
|
|
36
|
-
index:
|
|
36
|
+
chartColors: d,
|
|
37
|
+
index: c
|
|
37
38
|
});
|
|
38
39
|
return {
|
|
39
40
|
clip: e.hasMinMaxYAxisRange,
|
|
40
|
-
label:
|
|
41
|
+
label: o.dimensionOrMeasureTitle(a),
|
|
41
42
|
data: b,
|
|
42
43
|
backgroundColor: Y(n, 0.5),
|
|
43
44
|
pointBackgroundColor: n,
|
|
44
|
-
borderDash: (
|
|
45
|
+
borderDash: (g = a.inputs) != null && g.dashedLine ? [
|
|
45
46
|
v("--em-linechart-line-dash", "0.25rem"),
|
|
46
47
|
v("--em-linechart-line-gap", "0.25rem")
|
|
47
48
|
] : void 0,
|
|
48
|
-
borderColor:
|
|
49
|
-
fill: !!((
|
|
49
|
+
borderColor: i,
|
|
50
|
+
fill: !!((h = a.inputs) != null && h.fillUnderLine)
|
|
50
51
|
};
|
|
51
52
|
})
|
|
52
53
|
};
|
|
53
|
-
},
|
|
54
|
-
var
|
|
55
|
-
const { dimension:
|
|
54
|
+
}, K = (e, s) => {
|
|
55
|
+
var u, d;
|
|
56
|
+
const { dimension: o, data: r, measures: a, onLineClicked: c } = e, m = R(s);
|
|
56
57
|
return j({
|
|
57
58
|
plugins: {
|
|
58
59
|
datalabels: {
|
|
59
60
|
labels: {
|
|
60
61
|
value: {
|
|
61
|
-
formatter: (n,
|
|
62
|
-
const
|
|
63
|
-
return
|
|
62
|
+
formatter: (n, i) => {
|
|
63
|
+
const l = a[i.datasetIndex];
|
|
64
|
+
return m.data(l, n);
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
}
|
|
@@ -68,13 +69,13 @@ const q = (e, s) => {
|
|
|
68
69
|
tooltip: {
|
|
69
70
|
callbacks: {
|
|
70
71
|
title: (n) => {
|
|
71
|
-
var
|
|
72
|
-
const
|
|
73
|
-
return
|
|
72
|
+
var l;
|
|
73
|
+
const i = (l = n[0]) == null ? void 0 : l.label;
|
|
74
|
+
return m.data(o, i);
|
|
74
75
|
},
|
|
75
76
|
label: (n) => {
|
|
76
|
-
const
|
|
77
|
-
return `${
|
|
77
|
+
const i = a[n.datasetIndex], l = n.raw;
|
|
78
|
+
return `${m.data(o, n.dataset.label) || ""}: ${m.data(i, l)}`;
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
}
|
|
@@ -83,99 +84,99 @@ const q = (e, s) => {
|
|
|
83
84
|
x: {
|
|
84
85
|
ticks: {
|
|
85
86
|
callback: (n) => {
|
|
86
|
-
if (!
|
|
87
|
-
const
|
|
88
|
-
return
|
|
87
|
+
if (!r || !r.labels) return;
|
|
88
|
+
const i = r.labels[Number(n)];
|
|
89
|
+
return m.data(o, i);
|
|
89
90
|
}
|
|
90
91
|
}
|
|
91
92
|
},
|
|
92
93
|
y: {
|
|
93
94
|
ticks: {
|
|
94
|
-
callback: (n) =>
|
|
95
|
+
callback: (n) => m.data(a[0], n)
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
98
|
},
|
|
98
|
-
onClick: (n,
|
|
99
|
-
if (!
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
dimensionValue:
|
|
99
|
+
onClick: (n, i, l) => {
|
|
100
|
+
if (!c) return;
|
|
101
|
+
const p = i[0], g = p ? l.data.labels[p.index] : null;
|
|
102
|
+
c({
|
|
103
|
+
dimensionValue: g
|
|
103
104
|
});
|
|
104
105
|
}
|
|
105
|
-
}, ((
|
|
106
|
+
}, ((d = (u = s.charts) == null ? void 0 : u.lineChartDefaultPro) == null ? void 0 : d.options) || {});
|
|
106
107
|
}, y = (e) => {
|
|
107
|
-
const s =
|
|
108
|
-
|
|
109
|
-
const { title:
|
|
108
|
+
const s = I();
|
|
109
|
+
X(s);
|
|
110
|
+
const { title: o, description: r, tooltip: a, xAxisLabel: c, yAxisLabel: m } = N(e), {
|
|
110
111
|
hideMenu: b,
|
|
111
|
-
measures:
|
|
112
|
-
xAxis:
|
|
112
|
+
measures: u,
|
|
113
|
+
xAxis: d,
|
|
113
114
|
reverseXAxis: n,
|
|
114
|
-
showLegend:
|
|
115
|
-
showLogarithmicScale:
|
|
116
|
-
showTooltips:
|
|
117
|
-
showValueLabels:
|
|
118
|
-
yAxisRangeMax:
|
|
119
|
-
yAxisRangeMin:
|
|
115
|
+
showLegend: i,
|
|
116
|
+
showLogarithmicScale: l,
|
|
117
|
+
showTooltips: p,
|
|
118
|
+
showValueLabels: g,
|
|
119
|
+
yAxisRangeMax: h,
|
|
120
|
+
yAxisRangeMin: x,
|
|
120
121
|
setGranularity: M,
|
|
121
122
|
onLineClicked: P
|
|
122
123
|
} = e, f = $({
|
|
123
124
|
results: e.results,
|
|
124
|
-
dimension:
|
|
125
|
-
}), D =
|
|
125
|
+
dimension: d
|
|
126
|
+
}), D = J(
|
|
126
127
|
{
|
|
127
128
|
data: f.data,
|
|
128
|
-
dimension:
|
|
129
|
-
measures:
|
|
130
|
-
hasMinMaxYAxisRange:
|
|
129
|
+
dimension: d,
|
|
130
|
+
measures: u,
|
|
131
|
+
hasMinMaxYAxisRange: x != null || h != null
|
|
131
132
|
},
|
|
132
133
|
s
|
|
133
|
-
), S =
|
|
134
|
-
{ data: D, dimension:
|
|
134
|
+
), S = K(
|
|
135
|
+
{ data: D, dimension: d, measures: u, onLineClicked: P },
|
|
135
136
|
s
|
|
136
|
-
),
|
|
137
|
+
), T = !o && !r && !a;
|
|
137
138
|
return /* @__PURE__ */ L.jsxs(
|
|
138
139
|
U,
|
|
139
140
|
{
|
|
140
141
|
data: f,
|
|
141
|
-
dimensionsAndMeasures: [...
|
|
142
|
+
dimensionsAndMeasures: [...u, d],
|
|
142
143
|
errorMessage: f.error,
|
|
143
|
-
description:
|
|
144
|
-
title:
|
|
144
|
+
description: r,
|
|
145
|
+
title: o,
|
|
145
146
|
tooltip: a,
|
|
146
147
|
hideMenu: b,
|
|
147
148
|
children: [
|
|
148
149
|
M && /* @__PURE__ */ L.jsx(
|
|
149
150
|
E,
|
|
150
151
|
{
|
|
151
|
-
hasMarginTop:
|
|
152
|
-
dimension:
|
|
152
|
+
hasMarginTop: T,
|
|
153
|
+
dimension: d,
|
|
153
154
|
onChange: M
|
|
154
155
|
}
|
|
155
156
|
),
|
|
156
157
|
/* @__PURE__ */ L.jsx(
|
|
157
|
-
|
|
158
|
+
z,
|
|
158
159
|
{
|
|
159
160
|
data: D,
|
|
160
161
|
reverseXAxis: n,
|
|
161
|
-
showLegend:
|
|
162
|
-
showLogarithmicScale:
|
|
163
|
-
showTooltips:
|
|
164
|
-
showValueLabels:
|
|
165
|
-
xAxisLabel:
|
|
166
|
-
yAxisLabel:
|
|
167
|
-
yAxisRangeMax:
|
|
168
|
-
yAxisRangeMin:
|
|
162
|
+
showLegend: i,
|
|
163
|
+
showLogarithmicScale: l,
|
|
164
|
+
showTooltips: p,
|
|
165
|
+
showValueLabels: g,
|
|
166
|
+
xAxisLabel: c,
|
|
167
|
+
yAxisLabel: m,
|
|
168
|
+
yAxisRangeMax: h,
|
|
169
|
+
yAxisRangeMin: x,
|
|
169
170
|
options: S
|
|
170
171
|
}
|
|
171
172
|
)
|
|
172
173
|
]
|
|
173
174
|
}
|
|
174
175
|
);
|
|
175
|
-
},
|
|
176
|
+
}, ge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
176
177
|
__proto__: null,
|
|
177
178
|
default: y
|
|
178
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
179
|
+
}, Symbol.toStringTag, { value: "Module" })), Q = {
|
|
179
180
|
name: "LineChartDefaultPro",
|
|
180
181
|
label: "Line Chart - Default",
|
|
181
182
|
category: "Line Charts",
|
|
@@ -238,30 +239,31 @@ const q = (e, s) => {
|
|
|
238
239
|
measures: [A.measure],
|
|
239
240
|
results: A.results1Measure1Dimension,
|
|
240
241
|
hideMenu: !0
|
|
241
|
-
},
|
|
242
|
+
}, Z = W(y, V), F = (e, s, o) => ({
|
|
242
243
|
limit: e.maxResults,
|
|
243
244
|
from: e.dataset,
|
|
244
|
-
select: [...e.measures, s ?? e.xAxis]
|
|
245
|
-
|
|
245
|
+
select: [...e.measures, s ?? e.xAxis],
|
|
246
|
+
timezone: q(o == null ? void 0 : o.timezone)
|
|
247
|
+
}), G = (e, s, o) => B(F(e, s, o)), ee = {
|
|
246
248
|
onLineClicked: (e) => ({
|
|
247
|
-
axisDimensionValue: e.dimensionValue ??
|
|
249
|
+
axisDimensionValue: e.dimensionValue ?? _.noFilter()
|
|
248
250
|
})
|
|
249
|
-
},
|
|
250
|
-
const
|
|
251
|
+
}, ae = (e, [s, o], r) => {
|
|
252
|
+
const a = H(e.xAxis, s == null ? void 0 : s.granularity);
|
|
251
253
|
return {
|
|
252
254
|
...e,
|
|
253
|
-
xAxis:
|
|
254
|
-
setGranularity: (
|
|
255
|
-
results: G(e,
|
|
255
|
+
xAxis: a,
|
|
256
|
+
setGranularity: (c) => o({ granularity: c }),
|
|
257
|
+
results: G(e, a, r)
|
|
256
258
|
};
|
|
257
259
|
}, he = {
|
|
258
260
|
Component: y,
|
|
259
|
-
meta:
|
|
260
|
-
preview:
|
|
261
|
+
meta: Q,
|
|
262
|
+
preview: Z,
|
|
261
263
|
previewConfig: V,
|
|
262
264
|
config: {
|
|
263
|
-
props:
|
|
264
|
-
events:
|
|
265
|
+
props: ae,
|
|
266
|
+
events: ee
|
|
265
267
|
},
|
|
266
268
|
results: {
|
|
267
269
|
loadDataArgs: F,
|
|
@@ -269,9 +271,9 @@ const q = (e, s) => {
|
|
|
269
271
|
}
|
|
270
272
|
};
|
|
271
273
|
export {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
274
|
+
K as a,
|
|
275
|
+
J as g,
|
|
276
|
+
ge as i,
|
|
275
277
|
he as l
|
|
276
278
|
};
|
|
277
|
-
//# sourceMappingURL=definition-
|
|
279
|
+
//# sourceMappingURL=definition-BejgCcXe.js.map
|