@aintela/bi 0.2.0 → 0.2.1
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/GridCardPlaceHolder-DVVT3pqn.js +25 -0
- package/dist/GridCardPlaceHolder-DVVT3pqn.js.map +1 -0
- package/dist/GridLayout-BgPzzPiP.js +349 -0
- package/dist/GridLayout-BgPzzPiP.js.map +1 -0
- package/dist/ScriptDashboardViewerVertical-DKaHcL1o.js +713 -0
- package/dist/ScriptDashboardViewerVertical-DKaHcL1o.js.map +1 -0
- package/dist/biModuleSurface-dtnpBMtT.js +34 -0
- package/dist/biModuleSurface-dtnpBMtT.js.map +1 -0
- package/dist/cards.js +13 -12
- package/dist/cards.js.map +1 -1
- package/dist/composer.js +37 -37
- package/dist/filterFactory-Ysv0FOQ2.js +285 -0
- package/dist/filterFactory-Ysv0FOQ2.js.map +1 -0
- package/dist/filters.js +11 -10
- package/dist/filters.js.map +1 -1
- package/dist/grid.js +19 -16
- package/dist/grid.js.map +1 -1
- package/dist/index-7p-ogAPK.js +3631 -0
- package/dist/index-7p-ogAPK.js.map +1 -0
- package/dist/index-BRx4bRbe.js +73 -0
- package/dist/index-BRx4bRbe.js.map +1 -0
- package/dist/index-CPHaT2or.js +13 -0
- package/dist/index-CPHaT2or.js.map +1 -0
- package/dist/{index-wtSLspPh.js → index-DeiweWw8.js} +348 -368
- package/dist/index-DeiweWw8.js.map +1 -0
- package/dist/index-Dz2ulBiy.js +137 -0
- package/dist/index-Dz2ulBiy.js.map +1 -0
- package/dist/index.js +225 -218
- package/dist/index.js.map +1 -1
- package/dist/runtime/version.d.ts +1 -1
- package/dist/runtime.js +14 -13
- package/dist/runtime.js.map +1 -1
- package/dist/useContainerRectangle-D464wPFX.js +27 -0
- package/dist/useContainerRectangle-D464wPFX.js.map +1 -0
- package/dist/{version-DnqajORq.js → version-BgIpi4UM.js} +20 -19
- package/dist/{version-DnqajORq.js.map → version-BgIpi4UM.js.map} +1 -1
- package/dist/viewer.js +1 -1
- package/package.json +1 -1
- package/dist/index-C6JQ6770.js +0 -4545
- package/dist/index-C6JQ6770.js.map +0 -1
- package/dist/index-D7tVPX8d.js +0 -347
- package/dist/index-D7tVPX8d.js.map +0 -1
- package/dist/index-DGyvUtY3.js +0 -494
- package/dist/index-DGyvUtY3.js.map +0 -1
- package/dist/index-wtSLspPh.js.map +0 -1
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
var q = Object.defineProperty;
|
|
2
|
+
var i = (e, a) => q(e, "name", { value: a, configurable: !0 });
|
|
3
|
+
import { jsxs as v, jsx as o } from "react/jsx-runtime";
|
|
4
|
+
import { Stack as E, CircularProgress as W, Chip as z, Typography as S, Autocomplete as B, Box as L, TextField as U } from "@mui/material";
|
|
5
|
+
import { useState as w, useMemo as J, useEffect as k, createElement as K, useRef as Q } from "react";
|
|
6
|
+
import { u as F } from "./DashboardParametersContext-Clv--79U.js";
|
|
7
|
+
import { a as G } from "./BiClientProvider-CWJochvi.js";
|
|
8
|
+
import { DatePicker as H } from "@mui/x-date-pickers/DatePicker";
|
|
9
|
+
import P from "dayjs";
|
|
10
|
+
import { DateRangePicker as X } from "@mui/x-date-pickers-pro/DateRangePicker";
|
|
11
|
+
function M(e) {
|
|
12
|
+
if (!e) return "";
|
|
13
|
+
const a = e.split("_");
|
|
14
|
+
return a[0] && (a[0] = `${a[0][0].toLocaleUpperCase()}${a[0].slice(1)}`), a.join(" ");
|
|
15
|
+
}
|
|
16
|
+
i(M, "getFriendlyName");
|
|
17
|
+
let R = 0;
|
|
18
|
+
function Z() {
|
|
19
|
+
return R += 1, `bi-filter-${R}`;
|
|
20
|
+
}
|
|
21
|
+
i(Z, "nextFilterId");
|
|
22
|
+
const fe = `
|
|
23
|
+
Este componente necessita que você gere um datasource com a query para selecionar os valores.
|
|
24
|
+
Crie um datasource utilizando no parametro clientId o id(i) deste filtro para que o componente possa utilizá-lo. Neste datasource você não precisa enviar parametros, uma vez que o sistema executará a query sem enviar qualquer definição de parametros
|
|
25
|
+
Sua query deve retornar os campos {{filterName}} e {{filterName}}_display, um para ser enviado efetivamente para as queries do dashboard e o outro para apresentar para o usuário na listagem do auto complete.
|
|
26
|
+
`;
|
|
27
|
+
function p(e) {
|
|
28
|
+
var t;
|
|
29
|
+
const a = [];
|
|
30
|
+
for (const s of e.rows) {
|
|
31
|
+
const c = {};
|
|
32
|
+
for (let l = 0; l < e.headers.length; l++)
|
|
33
|
+
c[e.headers[l]] = ((t = s.values[l]) == null ? void 0 : t.v) ?? "";
|
|
34
|
+
a.push(c);
|
|
35
|
+
}
|
|
36
|
+
return a;
|
|
37
|
+
}
|
|
38
|
+
i(p, "responseToRows");
|
|
39
|
+
const ee = /* @__PURE__ */ i((e) => {
|
|
40
|
+
const [a, t] = w(null), [s, c] = w([]), [l, f] = w(e.options ?? null), [m, u] = w(!1), [h, D] = w(null), d = F(), x = G(), N = J(() => e.id ?? Z(), [e.id]), g = e.valueFieldName ?? e.displayFieldName, C = e.showAsText ?? !1, Y = JSON.stringify(e.selectedValues ?? []);
|
|
41
|
+
k(() => {
|
|
42
|
+
if (e.partial) return;
|
|
43
|
+
let n = !1;
|
|
44
|
+
const r = /* @__PURE__ */ i((b) => {
|
|
45
|
+
const y = e.selectedValues ?? [];
|
|
46
|
+
if (y.length === 0) return;
|
|
47
|
+
const V = b.filter((_) => y.some((j) => j === _[g]));
|
|
48
|
+
e.multipleSelection ? (c(V), t(null)) : (t(V[0] ?? null), c([]));
|
|
49
|
+
}, "applySelection");
|
|
50
|
+
if (e.options) {
|
|
51
|
+
f(e.options), r(e.options);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (!x) {
|
|
55
|
+
D("Error: BiClient não configurado");
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (!e.dashboardId) {
|
|
59
|
+
D("Error: dashboardId ausente");
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
return u(!0), D(null), x.getFilterOptions(e.dashboardId, N).then((b) => {
|
|
63
|
+
if (n) return;
|
|
64
|
+
if (!b) {
|
|
65
|
+
D("Error: Filtro não encontrado");
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const y = p(b);
|
|
69
|
+
f(y), r(y);
|
|
70
|
+
}).catch((b) => {
|
|
71
|
+
n || D(String(b));
|
|
72
|
+
}).finally(() => {
|
|
73
|
+
n || u(!1);
|
|
74
|
+
}), () => {
|
|
75
|
+
n = !0;
|
|
76
|
+
};
|
|
77
|
+
}, [e.parameterName, Y, e.partial, e.dashboardId, N, x, e.options]);
|
|
78
|
+
const T = /* @__PURE__ */ i((n) => {
|
|
79
|
+
var b;
|
|
80
|
+
let r = [];
|
|
81
|
+
if (n)
|
|
82
|
+
if (e.multipleSelection) {
|
|
83
|
+
const y = n;
|
|
84
|
+
c(y), r = y.map((V) => V[g]);
|
|
85
|
+
} else {
|
|
86
|
+
const y = n;
|
|
87
|
+
t(y), r = [y[g]];
|
|
88
|
+
}
|
|
89
|
+
else
|
|
90
|
+
t(null), c([]);
|
|
91
|
+
(b = e.onChange) == null || b.call(e, e.parameterName, r), d == null || d.setParameter(e.parameterName, r.length > 0 ? r : void 0);
|
|
92
|
+
}, "onChange"), $ = m ? "Loading..." : M(e.parameterName), O = e.multipleSelection ? s : a ? [a] : [];
|
|
93
|
+
return /* @__PURE__ */ v(E, { direction: "row", gap: 1, sx: { minWidth: C ? "unset" : "230px", display: "inline-flex", alignItems: "center" }, children: [
|
|
94
|
+
!C && m && /* @__PURE__ */ o(W, { size: 16 }),
|
|
95
|
+
C ? O.length > 0 ? /* @__PURE__ */ o(
|
|
96
|
+
z,
|
|
97
|
+
{
|
|
98
|
+
sx: { borderRadius: 1 },
|
|
99
|
+
label: /* @__PURE__ */ v(E, { direction: "row", gap: 1, children: [
|
|
100
|
+
/* @__PURE__ */ v(S, { variant: "body1", children: [
|
|
101
|
+
e.parameterName.replaceAll("_", " "),
|
|
102
|
+
":"
|
|
103
|
+
] }),
|
|
104
|
+
/* @__PURE__ */ o(S, { variant: "body1", children: O.map((n) => n[e.displayFieldName]).join(", ") })
|
|
105
|
+
] })
|
|
106
|
+
}
|
|
107
|
+
) : null : /* @__PURE__ */ o(
|
|
108
|
+
B,
|
|
109
|
+
{
|
|
110
|
+
size: "small",
|
|
111
|
+
sx: { minWidth: "230px", maxWidth: "500px", flex: 1, "& .MuiInputBase-root": { flexWrap: "wrap" } },
|
|
112
|
+
disabled: e.partial,
|
|
113
|
+
id: N,
|
|
114
|
+
multiple: e.multipleSelection,
|
|
115
|
+
options: l ?? [],
|
|
116
|
+
value: e.multipleSelection ? s : a,
|
|
117
|
+
onChange: /* @__PURE__ */ i((n, r) => T(r), "onChange"),
|
|
118
|
+
getOptionLabel: /* @__PURE__ */ i((n) => n[e.displayFieldName] ?? n[Object.keys(n)[0]] ?? "", "getOptionLabel"),
|
|
119
|
+
renderInput: /* @__PURE__ */ i((n) => /* @__PURE__ */ o(U, { ...n, label: h || $, placeholder: h || "...", multiline: !0 }), "renderInput"),
|
|
120
|
+
renderOption: /* @__PURE__ */ i((n, r) => /* @__PURE__ */ K("li", { ...n, key: r[g] }, /* @__PURE__ */ v(L, { children: [
|
|
121
|
+
/* @__PURE__ */ o(S, { variant: "body2", sx: { fontWeight: 500 }, children: r[e.displayFieldName] ?? r[Object.keys(r)[1]] }),
|
|
122
|
+
/* @__PURE__ */ o(S, { variant: "caption", sx: { padding: 0, color: "text.secondary" }, children: r[g] ?? r[Object.keys(r)[0]] })
|
|
123
|
+
] })), "renderOption"),
|
|
124
|
+
isOptionEqualToValue: /* @__PURE__ */ i((n, r) => (n[g] ?? n[Object.keys(n)[0]]) === (r[g] ?? r[Object.keys(r)[0]]), "isOptionEqualToValue"),
|
|
125
|
+
slotProps: { chip: { size: "small", color: "secondary", variant: "outlined" } }
|
|
126
|
+
},
|
|
127
|
+
N
|
|
128
|
+
)
|
|
129
|
+
] });
|
|
130
|
+
}, "VizAutoComplete"), ae = /* @__PURE__ */ i((e) => {
|
|
131
|
+
const a = F(), [t, s] = w(e.initialValue), c = /* @__PURE__ */ i((u, h) => {
|
|
132
|
+
var D;
|
|
133
|
+
(D = e.onChange) == null || D.call(e, u, h), a == null || a.setParameter(u, h);
|
|
134
|
+
}, "setParam");
|
|
135
|
+
if (k(() => {
|
|
136
|
+
if (!e.initialValue) {
|
|
137
|
+
const u = (/* @__PURE__ */ new Date()).toISOString();
|
|
138
|
+
s(u), c(e.parameterName, u);
|
|
139
|
+
}
|
|
140
|
+
}, [e.parameterName, e.initialValue]), !e.onChange && !a) return null;
|
|
141
|
+
const l = /* @__PURE__ */ i((u) => {
|
|
142
|
+
const h = (u == null ? void 0 : u.toISOString()) ?? "";
|
|
143
|
+
s(h), c(e.parameterName, h);
|
|
144
|
+
}, "handleChange"), f = a == null ? void 0 : a.getParameter(e.parameterName), m = typeof f == "string" && f ? f : t;
|
|
145
|
+
return /* @__PURE__ */ o(
|
|
146
|
+
H,
|
|
147
|
+
{
|
|
148
|
+
sx: { maxWidth: "150px" },
|
|
149
|
+
formatDensity: "dense",
|
|
150
|
+
label: M(e.parameterName),
|
|
151
|
+
slotProps: { textField: { size: "small" } },
|
|
152
|
+
value: P(m ?? /* @__PURE__ */ new Date()),
|
|
153
|
+
onChange: l
|
|
154
|
+
}
|
|
155
|
+
);
|
|
156
|
+
}, "VizDatePicker"), te = /* @__PURE__ */ i((e) => {
|
|
157
|
+
var h, D;
|
|
158
|
+
const a = F(), [t, s] = w(null), c = Q(null), l = /* @__PURE__ */ i((d, x) => {
|
|
159
|
+
var N;
|
|
160
|
+
(N = e.onChange) == null || N.call(e, d, x), a == null || a.setParameter(d, x);
|
|
161
|
+
}, "setParam"), f = e.showAsText ?? !1, m = /* @__PURE__ */ i((d) => {
|
|
162
|
+
s(d), c.current = d;
|
|
163
|
+
}, "onChange"), u = /* @__PURE__ */ i(() => {
|
|
164
|
+
const d = c.current;
|
|
165
|
+
d && d[0] && d[1] && (l(e.parameterStartDateName, d[0].format("YYYY-MM-DD")), l(e.parameterEndDateName, d[1].format("YYYY-MM-DD")));
|
|
166
|
+
}, "onClose");
|
|
167
|
+
return k(() => {
|
|
168
|
+
var C, Y;
|
|
169
|
+
const d = Date.now(), x = e.initialStartValue || new Date(d - 1e3 * 3600 * 24 * 30).toISOString(), N = e.initialEndValue || (/* @__PURE__ */ new Date()).toISOString(), g = [P(x), P(N)];
|
|
170
|
+
s(g), c.current = g, l(e.parameterStartDateName, ((C = g[0]) == null ? void 0 : C.format("YYYY-MM-DD")) ?? ""), l(e.parameterEndDateName, ((Y = g[1]) == null ? void 0 : Y.format("YYYY-MM-DD")) ?? "");
|
|
171
|
+
}, [e.parameterEndDateName, e.parameterStartDateName, e.initialStartValue, e.initialEndValue]), !a && !e.onChange ? /* @__PURE__ */ o(S, { color: "error", children: "Não foi possível obter o dashboardContext" }) : t == null ? null : /* @__PURE__ */ o("div", { children: f ? /* @__PURE__ */ o(
|
|
172
|
+
z,
|
|
173
|
+
{
|
|
174
|
+
sx: { borderRadius: 1 },
|
|
175
|
+
label: /* @__PURE__ */ v(E, { direction: "row", gap: 1, children: [
|
|
176
|
+
/* @__PURE__ */ v(S, { variant: "body1", children: [
|
|
177
|
+
e.parameterStartDateName.replaceAll("_", " "),
|
|
178
|
+
":"
|
|
179
|
+
] }),
|
|
180
|
+
/* @__PURE__ */ o(S, { variant: "body1", children: (h = t[0]) == null ? void 0 : h.format("DD MMM YYYY").toLocaleUpperCase() }),
|
|
181
|
+
/* @__PURE__ */ o("span", { children: "-" }),
|
|
182
|
+
/* @__PURE__ */ v(S, { variant: "body1", children: [
|
|
183
|
+
e.parameterEndDateName.replaceAll("_", " "),
|
|
184
|
+
":"
|
|
185
|
+
] }),
|
|
186
|
+
/* @__PURE__ */ o(S, { variant: "body1", children: (D = t[1]) == null ? void 0 : D.format("DD MMM YYYY").toLocaleUpperCase() })
|
|
187
|
+
] })
|
|
188
|
+
}
|
|
189
|
+
) : /* @__PURE__ */ o(
|
|
190
|
+
X,
|
|
191
|
+
{
|
|
192
|
+
disabled: e.partial,
|
|
193
|
+
sx: { maxWidth: "230px" },
|
|
194
|
+
closeOnSelect: !0,
|
|
195
|
+
format: "YYYY-MM-DD",
|
|
196
|
+
desktopModeMediaQuery: "@media (min-width: 720px)",
|
|
197
|
+
showDaysOutsideCurrentMonth: !0,
|
|
198
|
+
label: M(e.parameterStartDateName) + " - " + M(e.parameterEndDateName),
|
|
199
|
+
formatDensity: "dense",
|
|
200
|
+
slotProps: { textField: { size: "small" } },
|
|
201
|
+
value: t,
|
|
202
|
+
onChange: m,
|
|
203
|
+
onClose: u
|
|
204
|
+
},
|
|
205
|
+
e.id ?? e.parameterStartDateName + e.parameterEndDateName
|
|
206
|
+
) });
|
|
207
|
+
}, "VizDateRangePicker"), A = "_fim", I = "_inicio", ne = /* @__PURE__ */ i((e) => e.normalize("NFD").replace(/[̀-ͯ]/g, ""), "stripDiacritics");
|
|
208
|
+
function he(e, a, t = {}) {
|
|
209
|
+
const s = ne(a.name), c = s.toLocaleLowerCase();
|
|
210
|
+
let l;
|
|
211
|
+
const f = {};
|
|
212
|
+
for (const m of Object.keys(t.parameters ?? {}))
|
|
213
|
+
f[m.toLowerCase()] = t.parameters[m];
|
|
214
|
+
switch (a.filterType) {
|
|
215
|
+
case "AutoComplete": {
|
|
216
|
+
let m = f[c] ?? [];
|
|
217
|
+
Array.isArray(m) || (m = [m]), l = /* @__PURE__ */ o(
|
|
218
|
+
ee,
|
|
219
|
+
{
|
|
220
|
+
partial: t.partial,
|
|
221
|
+
showAsText: t.readonly,
|
|
222
|
+
dashboardId: e,
|
|
223
|
+
id: a.i,
|
|
224
|
+
selectedValues: m,
|
|
225
|
+
multipleSelection: a.multipleSelection ?? !0,
|
|
226
|
+
parameterName: s,
|
|
227
|
+
valueFieldName: a.name,
|
|
228
|
+
displayFieldName: `${s}_display`,
|
|
229
|
+
onChange: t.onChange
|
|
230
|
+
},
|
|
231
|
+
a.i
|
|
232
|
+
);
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
case "DateRangePicker":
|
|
236
|
+
l = /* @__PURE__ */ o(
|
|
237
|
+
te,
|
|
238
|
+
{
|
|
239
|
+
showAsText: t.readonly,
|
|
240
|
+
partial: t.partial,
|
|
241
|
+
id: a.i,
|
|
242
|
+
initialStartValue: f[`${c}${I}`],
|
|
243
|
+
initialEndValue: f[`${c}${A}`],
|
|
244
|
+
parameterStartDateName: `${s}${I}`,
|
|
245
|
+
parameterEndDateName: `${s}${A}`,
|
|
246
|
+
onChange: t.onChange
|
|
247
|
+
},
|
|
248
|
+
a.i
|
|
249
|
+
);
|
|
250
|
+
break;
|
|
251
|
+
case "DatePicker":
|
|
252
|
+
l = /* @__PURE__ */ o(ae, { parameterName: s, onChange: t.onChange }, a.i);
|
|
253
|
+
break;
|
|
254
|
+
default:
|
|
255
|
+
l = /* @__PURE__ */ v("div", { children: [
|
|
256
|
+
"Unsupported filter type: ",
|
|
257
|
+
a.filterType
|
|
258
|
+
] });
|
|
259
|
+
}
|
|
260
|
+
return /* @__PURE__ */ o(
|
|
261
|
+
L,
|
|
262
|
+
{
|
|
263
|
+
className: "llm-env-target llm-env-filter llm-env-filter-generated",
|
|
264
|
+
"data-env-id": a.i,
|
|
265
|
+
"data-env-key": a.i,
|
|
266
|
+
"data-env-name": a.name,
|
|
267
|
+
"data-env-kind": "generated-filter",
|
|
268
|
+
children: l
|
|
269
|
+
},
|
|
270
|
+
a.i
|
|
271
|
+
);
|
|
272
|
+
}
|
|
273
|
+
i(he, "createFilterComponent");
|
|
274
|
+
export {
|
|
275
|
+
fe as A,
|
|
276
|
+
I as D,
|
|
277
|
+
ee as V,
|
|
278
|
+
A as a,
|
|
279
|
+
ae as b,
|
|
280
|
+
te as c,
|
|
281
|
+
he as d,
|
|
282
|
+
M as g,
|
|
283
|
+
Z as n
|
|
284
|
+
};
|
|
285
|
+
//# sourceMappingURL=filterFactory-Ysv0FOQ2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterFactory-Ysv0FOQ2.js","sources":["../src/filters/friendlyName.ts","../src/filters/VizAutoComplete.tsx","../src/filters/VizDatePicker.tsx","../src/filters/VizDateRangePicker.tsx","../src/filters/filterFactory.tsx"],"sourcesContent":["/** `data_inicio` → `Data inicio` — the label the filter components show. */\nexport function getFriendlyName(key: string): string {\n if (!key) return '';\n const parts = key.split('_');\n if (parts[0]) parts[0] = `${parts[0][0].toLocaleUpperCase()}${parts[0].slice(1)}`;\n return parts.join(' ');\n}\n\nlet counter = 0;\n/** Stable-enough id for an uncontrolled filter element. */\nexport function nextFilterId(): string {\n counter += 1;\n return `bi-filter-${counter}`;\n}\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { Autocomplete, Box, Chip, CircularProgress, Stack, TextField, Typography } from '@mui/material';\nimport type { IRow, QueryResult } from '../data/queryModel';\nimport { useDashboardParameters } from '../hooks/DashboardParametersContext';\nimport { useBiClientOptional } from '../client';\nimport { getFriendlyName, nextFilterId } from './friendlyName';\n\nexport interface VizAutoCompleteProps {\n /** Filter id — also the id of the data source that serves its options. */\n id?: string;\n multipleSelection: boolean;\n /** Render the current selection as a read-only chip (print preview). */\n showAsText?: boolean;\n parameterName: string;\n dashboardId: string;\n selectedValues?: string[];\n valueFieldName?: string;\n displayFieldName: string;\n /** Called on every change; the value is also pushed to `DashboardParametersContext` when one is mounted. */\n onChange?: (parameterName: string, value: string | string[]) => void;\n /** When true, skip loading the options (placeholder mode). */\n partial?: boolean;\n /** Options supplied directly — skips the server fetch. */\n options?: IRow[];\n}\n\nexport const AutoCompleteInstructions = `\nEste componente necessita que você gere um datasource com a query para selecionar os valores.\nCrie um datasource utilizando no parametro clientId o id(i) deste filtro para que o componente possa utilizá-lo. Neste datasource você não precisa enviar parametros, uma vez que o sistema executará a query sem enviar qualquer definição de parametros\nSua query deve retornar os campos {{filterName}} e {{filterName}}_display, um para ser enviado efetivamente para as queries do dashboard e o outro para apresentar para o usuário na listagem do auto complete.\n`;\n\nfunction responseToRows(result: QueryResult): IRow[] {\n const rows: IRow[] = [];\n for (const generatedRow of result.rows) {\n const row: IRow = {};\n for (let i = 0; i < result.headers.length; i++) {\n row[result.headers[i]] = generatedRow.values[i]?.v ?? '';\n }\n rows.push(row);\n }\n return rows;\n}\n\nexport const VizAutoComplete: React.FC<VizAutoCompleteProps> = (props) => {\n const [selectedValue, setSelectedValue] = useState<IRow | null>(null);\n const [selectedValues, setSelectedValues] = useState<IRow[]>([]);\n const [allRows, setAllRows] = useState<IRow[] | null>(props.options ?? null);\n const [loading, setLoading] = useState(false);\n const [loadingError, setLoadingError] = useState<string | null>(null);\n const dashContext = useDashboardParameters();\n const client = useBiClientOptional();\n const calcId = useMemo(() => props.id ?? nextFilterId(), [props.id]);\n\n const calcValueFieldName = props.valueFieldName ?? props.displayFieldName;\n const showAsText = props.showAsText ?? false;\n const selectedKey = JSON.stringify(props.selectedValues ?? []);\n\n useEffect(() => {\n if (props.partial) return;\n let cancelled = false;\n\n const applySelection = (rows: IRow[]) => {\n const wanted = props.selectedValues ?? [];\n if (wanted.length === 0) return;\n const related = rows.filter((r) => wanted.some((v) => v === r[calcValueFieldName]));\n if (props.multipleSelection) {\n setSelectedValues(related);\n setSelectedValue(null);\n } else {\n setSelectedValue(related[0] ?? null);\n setSelectedValues([]);\n }\n };\n\n if (props.options) {\n setAllRows(props.options);\n applySelection(props.options);\n return;\n }\n if (!client) {\n setLoadingError('Error: BiClient não configurado');\n return;\n }\n if (!props.dashboardId) {\n setLoadingError('Error: dashboardId ausente');\n return;\n }\n\n setLoading(true);\n setLoadingError(null);\n client\n .getFilterOptions<QueryResult>(props.dashboardId, calcId)\n .then((json) => {\n if (cancelled) return;\n if (!json) {\n setLoadingError('Error: Filtro não encontrado');\n return;\n }\n const converted = responseToRows(json);\n setAllRows(converted);\n applySelection(converted);\n })\n .catch((error) => {\n if (!cancelled) setLoadingError(String(error));\n })\n .finally(() => {\n if (!cancelled) setLoading(false);\n });\n\n return () => {\n cancelled = true;\n };\n }, [props.parameterName, selectedKey, props.partial, props.dashboardId, calcId, client, props.options]);\n\n const onChange = (value: IRow | IRow[] | null) => {\n let valueList: string[] = [];\n if (value) {\n if (props.multipleSelection) {\n const valueRows = value as IRow[];\n setSelectedValues(valueRows);\n valueList = valueRows.map((r) => r[calcValueFieldName]);\n } else {\n const valueRow = value as IRow;\n setSelectedValue(valueRow);\n valueList = [valueRow[calcValueFieldName]];\n }\n } else {\n setSelectedValue(null);\n setSelectedValues([]);\n }\n props.onChange?.(props.parameterName, valueList);\n dashContext?.setParameter(props.parameterName, valueList.length > 0 ? valueList : undefined);\n };\n\n const name = loading ? 'Loading...' : getFriendlyName(props.parameterName);\n const toPrintValues = props.multipleSelection ? selectedValues : selectedValue ? [selectedValue] : [];\n\n return (\n <Stack direction=\"row\" gap={1} sx={{ minWidth: showAsText ? 'unset' : '230px', display: 'inline-flex', alignItems: 'center' }}>\n {!showAsText && loading && <CircularProgress size={16} />}\n {showAsText ? (\n toPrintValues.length > 0 ? (\n <Chip\n sx={{ borderRadius: 1 }}\n label={\n <Stack direction=\"row\" gap={1}>\n <Typography variant=\"body1\">{props.parameterName.replaceAll('_', ' ')}:</Typography>\n <Typography variant=\"body1\">{toPrintValues.map((r) => r[props.displayFieldName]).join(', ')}</Typography>\n </Stack>\n }\n />\n ) : null\n ) : (\n <Autocomplete\n key={calcId}\n size=\"small\"\n sx={{ minWidth: '230px', maxWidth: '500px', flex: 1, '& .MuiInputBase-root': { flexWrap: 'wrap' } }}\n disabled={props.partial}\n id={calcId}\n multiple={props.multipleSelection}\n options={allRows ?? []}\n value={(props.multipleSelection ? selectedValues : selectedValue) as any}\n onChange={(_, value) => onChange(value as IRow | IRow[] | null)}\n getOptionLabel={(option: IRow) => option[props.displayFieldName] ?? option[Object.keys(option)[0]] ?? ''}\n renderInput={(params) => (\n <TextField {...params} label={loadingError ? loadingError : name} placeholder={loadingError ? loadingError : '...'} multiline />\n )}\n renderOption={(localProps, option: IRow) => (\n <li {...localProps} key={option[calcValueFieldName]}>\n <Box>\n <Typography variant=\"body2\" sx={{ fontWeight: 500 }}>\n {option[props.displayFieldName] ?? option[Object.keys(option)[1]]}\n </Typography>\n <Typography variant=\"caption\" sx={{ padding: 0, color: 'text.secondary' }}>\n {option[calcValueFieldName] ?? option[Object.keys(option)[0]]}\n </Typography>\n </Box>\n </li>\n )}\n isOptionEqualToValue={(option: IRow, value: IRow) =>\n (option[calcValueFieldName] ?? option[Object.keys(option)[0]]) === (value[calcValueFieldName] ?? value[Object.keys(value)[0]])\n }\n slotProps={{ chip: { size: 'small', color: 'secondary', variant: 'outlined' } }}\n />\n )}\n </Stack>\n );\n};\n\nexport default VizAutoComplete;\n","import React, { useEffect, useState } from 'react';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport dayjs from 'dayjs';\nimport { useDashboardParameters } from '../hooks/DashboardParametersContext';\nimport { getFriendlyName } from './friendlyName';\n\nexport interface VizDatePickerProps {\n initialValue?: string;\n parameterName: string;\n onChange?: (parameterName: string, value: string) => void;\n}\n\n/** Single-date filter. Requires the host to mount `@mui/x-date-pickers`' `LocalizationProvider`. */\nexport const VizDatePicker: React.FC<VizDatePickerProps> = (props) => {\n const dashContext = useDashboardParameters();\n const [localValue, setLocalValue] = useState<string | undefined>(props.initialValue);\n\n const setParam = (key: string, value: string) => {\n props.onChange?.(key, value);\n dashContext?.setParameter(key, value);\n };\n\n useEffect(() => {\n if (!props.initialValue) {\n const today = new Date().toISOString();\n setLocalValue(today);\n setParam(props.parameterName, today);\n }\n }, [props.parameterName, props.initialValue]);\n\n if (!props.onChange && !dashContext) return null;\n\n const handleChange = (value: dayjs.Dayjs | null) => {\n const str = value?.toISOString() ?? '';\n setLocalValue(str);\n setParam(props.parameterName, str);\n };\n\n const current = dashContext?.getParameter(props.parameterName);\n const value = typeof current === 'string' && current ? current : localValue;\n\n return (\n <DatePicker\n sx={{ maxWidth: '150px' }}\n formatDensity=\"dense\"\n label={getFriendlyName(props.parameterName)}\n slotProps={{ textField: { size: 'small' } }}\n value={dayjs(value ?? new Date())}\n onChange={handleChange}\n />\n );\n};\n\nexport default VizDatePicker;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { DateRangePicker } from '@mui/x-date-pickers-pro/DateRangePicker';\nimport dayjs from 'dayjs';\nimport { Chip, Stack, Typography } from '@mui/material';\nimport { useDashboardParameters } from '../hooks/DashboardParametersContext';\nimport { getFriendlyName } from './friendlyName';\n\nexport interface VizDateRangePickerProps {\n id?: string;\n showAsText?: boolean;\n initialStartValue?: string;\n initialEndValue?: string;\n parameterStartDateName: string;\n parameterEndDateName: string;\n partial?: boolean;\n onChange?: (parameterName: string, value: string) => void;\n}\n\ntype Range = [dayjs.Dayjs | null, dayjs.Dayjs | null];\n\n/** Date-range filter (MUI X Pro). Requires the host's `LocalizationProvider`. */\nexport const VizDateRangePicker: React.FC<VizDateRangePickerProps> = (props) => {\n const dashContext = useDashboardParameters();\n const [dateRangeValue, setDateRangeValue] = useState<Range | null>(null);\n const dateRangeRef = useRef<Range | null>(null);\n\n const setParam = (key: string, value: string) => {\n props.onChange?.(key, value);\n dashContext?.setParameter(key, value);\n };\n\n const showAsText = props.showAsText ?? false;\n\n const onChange = (value: Range) => {\n setDateRangeValue(value);\n dateRangeRef.current = value;\n };\n\n const onClose = () => {\n const v = dateRangeRef.current;\n if (v && v[0] && v[1]) {\n setParam(props.parameterStartDateName, v[0].format('YYYY-MM-DD'));\n setParam(props.parameterEndDateName, v[1].format('YYYY-MM-DD'));\n }\n };\n\n useEffect(() => {\n const now = Date.now();\n const inicial = props.initialStartValue || new Date(now - 1000 * 3600 * 24 * 30).toISOString();\n const final = props.initialEndValue || new Date().toISOString();\n const value: Range = [dayjs(inicial), dayjs(final)];\n setDateRangeValue(value);\n dateRangeRef.current = value;\n setParam(props.parameterStartDateName, value[0]?.format('YYYY-MM-DD') ?? '');\n setParam(props.parameterEndDateName, value[1]?.format('YYYY-MM-DD') ?? '');\n }, [props.parameterEndDateName, props.parameterStartDateName, props.initialStartValue, props.initialEndValue]);\n\n if (!dashContext && !props.onChange) {\n return <Typography color=\"error\">Não foi possível obter o dashboardContext</Typography>;\n }\n if (dateRangeValue == null) return null;\n\n return (\n <div>\n {showAsText ? (\n <Chip\n sx={{ borderRadius: 1 }}\n label={\n <Stack direction=\"row\" gap={1}>\n <Typography variant=\"body1\">{props.parameterStartDateName.replaceAll('_', ' ')}:</Typography>\n <Typography variant=\"body1\">{dateRangeValue[0]?.format('DD MMM YYYY').toLocaleUpperCase()}</Typography>\n <span>-</span>\n <Typography variant=\"body1\">{props.parameterEndDateName.replaceAll('_', ' ')}:</Typography>\n <Typography variant=\"body1\">{dateRangeValue[1]?.format('DD MMM YYYY').toLocaleUpperCase()}</Typography>\n </Stack>\n }\n />\n ) : (\n <DateRangePicker\n disabled={props.partial}\n sx={{ maxWidth: '230px' }}\n key={props.id ?? props.parameterStartDateName + props.parameterEndDateName}\n closeOnSelect\n format=\"YYYY-MM-DD\"\n desktopModeMediaQuery=\"@media (min-width: 720px)\"\n showDaysOutsideCurrentMonth\n label={getFriendlyName(props.parameterStartDateName) + ' - ' + getFriendlyName(props.parameterEndDateName)}\n formatDensity=\"dense\"\n slotProps={{ textField: { size: 'small' } }}\n value={dateRangeValue}\n onChange={onChange}\n onClose={onClose}\n />\n )}\n </div>\n );\n};\n\nexport default VizDateRangePicker;\n","import React from 'react';\nimport { Box } from '@mui/material';\nimport { VizAutoComplete } from './VizAutoComplete';\nimport { VizDatePicker } from './VizDatePicker';\nimport { VizDateRangePicker } from './VizDateRangePicker';\n\nexport type FilterType = 'DateRangePicker' | 'DatePicker' | 'AutoComplete';\n\n/** A filter as described on a dashboard document (`Dashboard.filters[]`). */\nexport interface SketchedFilter {\n i: string;\n name: string;\n systemInstructions?: string;\n filterType: FilterType;\n mandatory: boolean;\n /** AutoComplete only — `VizAutoComplete.multipleSelection`. */\n multipleSelection?: boolean;\n}\n\nexport const DateRangeFilterEndSuffix = '_fim';\nexport const DateRangeFilterBeginSuffix = '_inicio';\n\nexport interface FilterFactoryOptions {\n /** When true the filter skips loading its data source (placeholder mode). */\n partial?: boolean;\n /** Direct callback invoked on value change (in addition to the parameters context). */\n onChange?: (parameterName: string, value: string | string[]) => void;\n /** Current parameter values, used to seed the filters' initial selection. */\n parameters?: Record<string, string | string[]>;\n /** Read-only rendering (print preview). */\n readonly?: boolean;\n}\n\nconst stripDiacritics = (s: string) => s.normalize('NFD').replace(/[̀-ͯ]/g, '');\n\n/**\n * Given a `SketchedFilter` descriptor, returns the matching filter component\n * wrapped in a `Box` carrying `data-env-*` attributes (the composer's\n * environment API targets them).\n */\nexport function createFilterComponent(dashboardId: string, filter: SketchedFilter, options: FilterFactoryOptions = {}): React.ReactElement {\n const paramName = stripDiacritics(filter.name);\n const lookupParamName = paramName.toLocaleLowerCase();\n let inner: React.ReactNode;\n\n const selectedParams: Record<string, string | string[]> = {};\n for (const k of Object.keys(options.parameters ?? {})) {\n selectedParams[k.toLowerCase()] = options.parameters![k];\n }\n\n switch (filter.filterType) {\n case 'AutoComplete': {\n let selectedValues = selectedParams[lookupParamName] ?? [];\n if (!Array.isArray(selectedValues)) selectedValues = [selectedValues];\n inner = (\n <VizAutoComplete\n partial={options.partial}\n showAsText={options.readonly}\n dashboardId={dashboardId}\n id={filter.i}\n key={filter.i}\n selectedValues={selectedValues}\n multipleSelection={filter.multipleSelection ?? true}\n parameterName={paramName}\n valueFieldName={filter.name}\n displayFieldName={`${paramName}_display`}\n onChange={options.onChange}\n />\n );\n break;\n }\n case 'DateRangePicker':\n inner = (\n <VizDateRangePicker\n showAsText={options.readonly}\n partial={options.partial}\n id={filter.i}\n key={filter.i}\n initialStartValue={selectedParams[`${lookupParamName}${DateRangeFilterBeginSuffix}`] as string}\n initialEndValue={selectedParams[`${lookupParamName}${DateRangeFilterEndSuffix}`] as string}\n parameterStartDateName={`${paramName}${DateRangeFilterBeginSuffix}`}\n parameterEndDateName={`${paramName}${DateRangeFilterEndSuffix}`}\n onChange={options.onChange}\n />\n );\n break;\n case 'DatePicker':\n inner = <VizDatePicker key={filter.i} parameterName={paramName} onChange={options.onChange} />;\n break;\n default:\n inner = <div>Unsupported filter type: {filter.filterType}</div>;\n }\n\n return (\n <Box\n key={filter.i}\n className=\"llm-env-target llm-env-filter llm-env-filter-generated\"\n data-env-id={filter.i}\n data-env-key={filter.i}\n data-env-name={filter.name}\n data-env-kind=\"generated-filter\"\n >\n {inner}\n </Box>\n );\n}\n"],"names":["getFriendlyName","key","parts","__name","counter","nextFilterId","AutoCompleteInstructions","responseToRows","result","rows","generatedRow","row","i","_a","VizAutoComplete","props","selectedValue","setSelectedValue","useState","selectedValues","setSelectedValues","allRows","setAllRows","loading","setLoading","loadingError","setLoadingError","dashContext","useDashboardParameters","client","useBiClientOptional","calcId","useMemo","calcValueFieldName","showAsText","selectedKey","useEffect","cancelled","applySelection","wanted","related","r","v","json","converted","error","onChange","value","valueList","valueRows","valueRow","name","toPrintValues","Stack","jsx","CircularProgress","Chip","jsxs","Typography","Autocomplete","_","option","params","TextField","localProps","createElement","Box","VizDatePicker","localValue","setLocalValue","setParam","today","handleChange","str","current","DatePicker","dayjs","VizDateRangePicker","dateRangeValue","setDateRangeValue","dateRangeRef","useRef","onClose","now","inicial","final","_b","DateRangePicker","DateRangeFilterEndSuffix","DateRangeFilterBeginSuffix","stripDiacritics","s","createFilterComponent","dashboardId","filter","options","paramName","lookupParamName","inner","selectedParams","k"],"mappings":"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"}
|
package/dist/filters.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { A as t, D as i, a as
|
|
1
|
+
import { A as t, D as i, a as r, V as s, b as o, c as n, d as g, g as l } from "./filterFactory-Ysv0FOQ2.js";
|
|
2
|
+
import { V as c, a as f, b as m } from "./index-BRx4bRbe.js";
|
|
2
3
|
export {
|
|
3
4
|
t as AutoCompleteInstructions,
|
|
4
5
|
i as DateRangeFilterBeginSuffix,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
r as DateRangeFilterEndSuffix,
|
|
7
|
+
s as VizAutoComplete,
|
|
8
|
+
o as VizDatePicker,
|
|
9
|
+
n as VizDateRangePicker,
|
|
10
|
+
c as VizSelect,
|
|
11
|
+
f as VizTextField,
|
|
12
|
+
m as VizTriggerButton,
|
|
13
|
+
g as createFilterComponent,
|
|
14
|
+
l as getFriendlyName
|
|
14
15
|
};
|
|
15
16
|
//# sourceMappingURL=filters.js.map
|
package/dist/filters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filters.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
package/dist/grid.js
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import "react-grid-layout/css/styles.css";
|
|
2
|
+
import { B as o, D as t, a as e, b as i, c as d, d as n, G as C, e as G } from "./GridLayout-BgPzzPiP.js";
|
|
3
|
+
import { G as L } from "./GridCardPlaceHolder-DVVT3pqn.js";
|
|
4
|
+
import { C as f, u as A } from "./ChartContext-C_f_6khG.js";
|
|
5
|
+
import { t as p, a as u, b as R, u as l } from "./index-Dz2ulBiy.js";
|
|
3
6
|
export {
|
|
4
|
-
|
|
7
|
+
o as BiErrorBoundary,
|
|
5
8
|
f as ChartContextProvider,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
t as DEFAULT_BREAKPOINTS,
|
|
10
|
+
e as DEFAULT_COLS,
|
|
11
|
+
i as DEFAULT_MAX_ROWS,
|
|
12
|
+
d as DEFAULT_ROW_HEIGHT,
|
|
13
|
+
n as DEFAULT_ROW_MULTIPLIER,
|
|
14
|
+
C as GridCard,
|
|
15
|
+
L as GridCardPlaceHolder,
|
|
16
|
+
G as GridLayout,
|
|
17
|
+
p as translateGridConfig,
|
|
18
|
+
u as translateGridConfigAutoResponsive,
|
|
19
|
+
R as translateResponsiveGridConfig,
|
|
20
|
+
A as useChartContext,
|
|
21
|
+
l as useGridConfigTranslator
|
|
19
22
|
};
|
|
20
23
|
//# sourceMappingURL=grid.js.map
|
package/dist/grid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grid.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|