drizzle-cube 0.4.40 → 0.4.42
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/cli/index.cjs +439 -0
- package/dist/client/charts/ChartLoader.d.ts +18 -3
- package/dist/client/charts/chartConfigRegistry.d.ts +11 -1
- package/dist/client/charts/chartPlugin.d.ts +74 -0
- package/dist/client/charts/lazyChartConfigRegistry.d.ts +10 -0
- package/dist/client/charts.js +13 -15
- package/dist/client/chunks/{DashboardEditModal-iGhIvNP6.js → DashboardEditModal-4zzjtZRR.js} +683 -685
- package/dist/client/chunks/DashboardEditModal-4zzjtZRR.js.map +1 -0
- package/dist/client/chunks/{FieldSearchModal-BxQ5JhWz.js → FieldSearchModal-trURu9Sa.js} +15 -16
- package/dist/client/chunks/{FieldSearchModal-BxQ5JhWz.js.map → FieldSearchModal-trURu9Sa.js.map} +1 -1
- package/dist/client/chunks/{RetentionCombinedChart-D4Yf1TnQ.js → RetentionCombinedChart-B1hUYaXt.js} +2 -2
- package/dist/client/chunks/{RetentionCombinedChart-D4Yf1TnQ.js.map → RetentionCombinedChart-B1hUYaXt.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-BoGY6mlZ.js → RetentionHeatmap-Dn2ocjVf.js} +2 -2
- package/dist/client/chunks/{RetentionHeatmap-BoGY6mlZ.js.map → RetentionHeatmap-Dn2ocjVf.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-DEGG5NwE.js → analysis-builder-B7XSIMkr.js} +1474 -1523
- package/dist/client/chunks/analysis-builder-B7XSIMkr.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-shared-BxHYfTzo.js → analysis-builder-shared-DaqtrLxd.js} +762 -778
- package/dist/client/chunks/analysis-builder-shared-DaqtrLxd.js.map +1 -0
- package/dist/client/chunks/{chart-bar-Bx4oKlqo.js → chart-bar-CPt67rLR.js} +1 -1
- package/dist/client/chunks/{chart-bar-Bx4oKlqo.js.map → chart-bar-CPt67rLR.js.map} +1 -1
- package/dist/client/chunks/{chart-box-plot-CVIi1aM5.js → chart-box-plot-Dp_nqQen.js} +1 -1
- package/dist/client/chunks/{chart-box-plot-CVIi1aM5.js.map → chart-box-plot-Dp_nqQen.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-DvyG15UB.js → chart-bubble-CYQ8loeS.js} +1 -1
- package/dist/client/chunks/{chart-bubble-DvyG15UB.js.map → chart-bubble-CYQ8loeS.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-caHyxB9O.js → chart-candlestick-DTeSf7C5.js} +1 -1
- package/dist/client/chunks/{chart-candlestick-caHyxB9O.js.map → chart-candlestick-DTeSf7C5.js.map} +1 -1
- package/dist/client/chunks/{chart-config-activity-grid-USo7JrPh.js → chart-config-activity-grid-BSWS08cI.js} +1 -1
- package/dist/client/chunks/{chart-config-activity-grid-USo7JrPh.js.map → chart-config-activity-grid-BSWS08cI.js.map} +1 -1
- package/dist/client/chunks/{chart-config-area-D_ZufYzg.js → chart-config-area-DKwgcHp4.js} +1 -1
- package/dist/client/chunks/{chart-config-area-D_ZufYzg.js.map → chart-config-area-DKwgcHp4.js.map} +1 -1
- package/dist/client/chunks/{chart-config-bar-BCi2Wmd6.js → chart-config-bar-deTjEhap.js} +1 -1
- package/dist/client/chunks/{chart-config-bar-BCi2Wmd6.js.map → chart-config-bar-deTjEhap.js.map} +1 -1
- package/dist/client/chunks/{chart-config-box-plot-afKLzJSp.js → chart-config-box-plot-DU4iWk3V.js} +1 -1
- package/dist/client/chunks/{chart-config-box-plot-afKLzJSp.js.map → chart-config-box-plot-DU4iWk3V.js.map} +1 -1
- package/dist/client/chunks/{chart-config-bubble-CgbBjPv8.js → chart-config-bubble-B8FSHSW-.js} +1 -1
- package/dist/client/chunks/{chart-config-bubble-CgbBjPv8.js.map → chart-config-bubble-B8FSHSW-.js.map} +1 -1
- package/dist/client/chunks/{chart-config-candlestick-7boGjZ-A.js → chart-config-candlestick-BGfyWFft.js} +1 -1
- package/dist/client/chunks/{chart-config-candlestick-7boGjZ-A.js.map → chart-config-candlestick-BGfyWFft.js.map} +1 -1
- package/dist/client/chunks/{chart-config-data-table-Cl7sBasW.js → chart-config-data-table-DKRcGa8t.js} +1 -1
- package/dist/client/chunks/{chart-config-data-table-Cl7sBasW.js.map → chart-config-data-table-DKRcGa8t.js.map} +1 -1
- package/dist/client/chunks/{chart-config-funnel-CXPYQtTl.js → chart-config-funnel-Bt4iGFo_.js} +1 -1
- package/dist/client/chunks/{chart-config-funnel-CXPYQtTl.js.map → chart-config-funnel-Bt4iGFo_.js.map} +1 -1
- package/dist/client/chunks/{chart-config-gauge-DUNEUCvh.js → chart-config-gauge-Bk4Jjp3W.js} +1 -1
- package/dist/client/chunks/{chart-config-gauge-DUNEUCvh.js.map → chart-config-gauge-Bk4Jjp3W.js.map} +1 -1
- package/dist/client/chunks/{chart-config-heat-map-BFf1tO11.js → chart-config-heat-map-CkHsqkrY.js} +1 -1
- package/dist/client/chunks/{chart-config-heat-map-BFf1tO11.js.map → chart-config-heat-map-CkHsqkrY.js.map} +1 -1
- package/dist/client/chunks/{chart-config-kpi-delta-C5k2waIJ.js → chart-config-kpi-delta-CkUX98JV.js} +1 -1
- package/dist/client/chunks/{chart-config-kpi-delta-C5k2waIJ.js.map → chart-config-kpi-delta-CkUX98JV.js.map} +1 -1
- package/dist/client/chunks/{chart-config-kpi-number-DptOyhk0.js → chart-config-kpi-number-DcxyiUgs.js} +1 -1
- package/dist/client/chunks/{chart-config-kpi-number-DptOyhk0.js.map → chart-config-kpi-number-DcxyiUgs.js.map} +1 -1
- package/dist/client/chunks/{chart-config-kpi-text-D9DdVWqd.js → chart-config-kpi-text-DI4mj8CN.js} +1 -1
- package/dist/client/chunks/{chart-config-kpi-text-D9DdVWqd.js.map → chart-config-kpi-text-DI4mj8CN.js.map} +1 -1
- package/dist/client/chunks/{chart-config-line-B3NgLF7K.js → chart-config-line--j7-dLue.js} +1 -1
- package/dist/client/chunks/{chart-config-line-B3NgLF7K.js.map → chart-config-line--j7-dLue.js.map} +1 -1
- package/dist/client/chunks/{chart-config-markdown-tlfivQTt.js → chart-config-markdown-DUjvVjV4.js} +1 -1
- package/dist/client/chunks/{chart-config-markdown-tlfivQTt.js.map → chart-config-markdown-DUjvVjV4.js.map} +1 -1
- package/dist/client/chunks/{chart-config-measure-profile-D7XDwrU2.js → chart-config-measure-profile-B9FKBNGc.js} +1 -1
- package/dist/client/chunks/{chart-config-measure-profile-D7XDwrU2.js.map → chart-config-measure-profile-B9FKBNGc.js.map} +1 -1
- package/dist/client/chunks/{chart-config-pie-wY0B52PC.js → chart-config-pie-yU4jipl9.js} +1 -1
- package/dist/client/chunks/{chart-config-pie-wY0B52PC.js.map → chart-config-pie-yU4jipl9.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radar-DRpJBy1M.js → chart-config-radar-R9Fkc8wL.js} +1 -1
- package/dist/client/chunks/{chart-config-radar-DRpJBy1M.js.map → chart-config-radar-R9Fkc8wL.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radial-bar-DCUpXv9G.js → chart-config-radial-bar-DeoXfpIp.js} +1 -1
- package/dist/client/chunks/{chart-config-radial-bar-DCUpXv9G.js.map → chart-config-radial-bar-DeoXfpIp.js.map} +1 -1
- package/dist/client/chunks/{chart-config-sankey-CdOhlm4h.js → chart-config-sankey-CXEsxo6s.js} +1 -1
- package/dist/client/chunks/{chart-config-sankey-CdOhlm4h.js.map → chart-config-sankey-CXEsxo6s.js.map} +1 -1
- package/dist/client/chunks/{chart-config-scatter-B2su_x8f.js → chart-config-scatter-MVUFupub.js} +1 -1
- package/dist/client/chunks/{chart-config-scatter-B2su_x8f.js.map → chart-config-scatter-MVUFupub.js.map} +1 -1
- package/dist/client/chunks/{chart-config-sunburst-BPdjbk18.js → chart-config-sunburst-Z_gqIY5u.js} +1 -1
- package/dist/client/chunks/{chart-config-sunburst-BPdjbk18.js.map → chart-config-sunburst-Z_gqIY5u.js.map} +1 -1
- package/dist/client/chunks/{chart-config-tree-map-Cbsh2fe2.js → chart-config-tree-map-BD-xAeIy.js} +1 -1
- package/dist/client/chunks/{chart-config-tree-map-Cbsh2fe2.js.map → chart-config-tree-map-BD-xAeIy.js.map} +1 -1
- package/dist/client/chunks/{chart-config-waterfall-DGmuZfQF.js → chart-config-waterfall-CHwVkXZc.js} +1 -1
- package/dist/client/chunks/{chart-config-waterfall-DGmuZfQF.js.map → chart-config-waterfall-CHwVkXZc.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-CW_qZDpt.js → chart-data-table-BZ7StNWv.js} +1452 -826
- package/dist/client/chunks/chart-data-table-BZ7StNWv.js.map +1 -0
- package/dist/client/chunks/{chart-gauge-BLLJqeXo.js → chart-gauge-_Xdgk_qI.js} +1 -1
- package/dist/client/chunks/{chart-gauge-BLLJqeXo.js.map → chart-gauge-_Xdgk_qI.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-f2fM2mDC.js → chart-heat-map-BOMQeUDL.js} +1 -1
- package/dist/client/chunks/{chart-heat-map-f2fM2mDC.js.map → chart-heat-map-BOMQeUDL.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-BPexzOe7.js → chart-kpi-delta-C2tdpWki.js} +4 -4
- package/dist/client/chunks/{chart-kpi-delta-BPexzOe7.js.map → chart-kpi-delta-C2tdpWki.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-number-BBtGBtZL.js → chart-kpi-number-BUNKM7yg.js} +5 -5
- package/dist/client/chunks/{chart-kpi-number-BBtGBtZL.js.map → chart-kpi-number-BUNKM7yg.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-text-BqHhmJEB.js → chart-kpi-text-COF8iN0K.js} +2 -2
- package/dist/client/chunks/{chart-kpi-text-BqHhmJEB.js.map → chart-kpi-text-COF8iN0K.js.map} +1 -1
- package/dist/client/chunks/{chart-line-CPhQRMZ7.js → chart-line-D3SEwXDS.js} +1 -1
- package/dist/client/chunks/{chart-line-CPhQRMZ7.js.map → chart-line-D3SEwXDS.js.map} +1 -1
- package/dist/client/chunks/{chart-markdown-B2X4IwLO.js → chart-markdown-DMekYkKz.js} +647 -644
- package/dist/client/chunks/chart-markdown-DMekYkKz.js.map +1 -0
- package/dist/client/chunks/{chart-measure-profile-CVlqGslU.js → chart-measure-profile-BPhI1Z9s.js} +1 -1
- package/dist/client/chunks/{chart-measure-profile-CVlqGslU.js.map → chart-measure-profile-BPhI1Z9s.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-DafSc9sE.js → chart-pie-COl3Rmdk.js} +1 -1
- package/dist/client/chunks/{chart-pie-DafSc9sE.js.map → chart-pie-COl3Rmdk.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-Dz9F5k-B.js → chart-radar-BKZXylBB.js} +1 -1
- package/dist/client/chunks/{chart-radar-Dz9F5k-B.js.map → chart-radar-BKZXylBB.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-N3MNUL7o.js → chart-radial-bar-CMfC7SPd.js} +1 -1
- package/dist/client/chunks/{chart-radial-bar-N3MNUL7o.js.map → chart-radial-bar-CMfC7SPd.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-J2JNi88S.js → chart-scatter-xQMa3dUt.js} +1 -1
- package/dist/client/chunks/{chart-scatter-J2JNi88S.js.map → chart-scatter-xQMa3dUt.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-D1NFQjqk.js → chart-sunburst-BGhJ4fui.js} +1 -1
- package/dist/client/chunks/{chart-sunburst-D1NFQjqk.js.map → chart-sunburst-BGhJ4fui.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-CbYjko2s.js → chart-tree-map-Cn1pmrAw.js} +1 -1
- package/dist/client/chunks/{chart-tree-map-CbYjko2s.js.map → chart-tree-map-Cn1pmrAw.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-Z65TGMUO.js → chart-waterfall-C2nVN4pn.js} +1 -1
- package/dist/client/chunks/{chart-waterfall-Z65TGMUO.js.map → chart-waterfall-C2nVN4pn.js.map} +1 -1
- package/dist/client/chunks/{charts-core-CJlGzwsW.js → charts-core-Cy3rHADX.js} +1 -1
- package/dist/client/chunks/{charts-core-CJlGzwsW.js.map → charts-core-Cy3rHADX.js.map} +1 -1
- package/dist/client/chunks/{core-DJrniqct.js → core-BdWfCZ3y.js} +1 -1
- package/dist/client/chunks/{core-DJrniqct.js.map → core-BdWfCZ3y.js.map} +1 -1
- package/dist/client/chunks/{dist-DDBeV_JI.js → dist-BWPE2m_X.js} +1 -1
- package/dist/client/chunks/{dist-DDBeV_JI.js.map → dist-BWPE2m_X.js.map} +1 -1
- package/dist/client/chunks/{javascript-BBwTSo6e.js → javascript-O1RIRkZr.js} +1 -1
- package/dist/client/chunks/{javascript-BBwTSo6e.js.map → javascript-O1RIRkZr.js.map} +1 -1
- package/dist/client/chunks/{json-BpTrLZSh.js → json-C5bX2tt1.js} +1 -1
- package/dist/client/chunks/{json-BpTrLZSh.js.map → json-C5bX2tt1.js.map} +1 -1
- package/dist/client/chunks/{retention-UEXlSdZ-.js → retention-YhT1Oohi.js} +1 -1
- package/dist/client/chunks/{retention-UEXlSdZ-.js.map → retention-YhT1Oohi.js.map} +1 -1
- package/dist/client/chunks/{schema-visualization-CwiEtwdu.js → schema-visualization-DVdfx6N8.js} +92 -96
- package/dist/client/chunks/schema-visualization-DVdfx6N8.js.map +1 -0
- package/dist/client/chunks/{sql-B0chxcEK.js → sql-D2qikO5q.js} +1 -1
- package/dist/client/chunks/{sql-B0chxcEK.js.map → sql-D2qikO5q.js.map} +1 -1
- package/dist/client/chunks/{syntaxHighlighting-BLl0ch4A.js → syntaxHighlighting-BYYWYmjr.js} +2 -2
- package/dist/client/chunks/{syntaxHighlighting-BLl0ch4A.js.map → syntaxHighlighting-BYYWYmjr.js.map} +1 -1
- package/dist/client/chunks/{useDebounce-C_wstEud.js → useDebounce-Bel8J05v.js} +12 -12
- package/dist/client/chunks/{useDebounce-C_wstEud.js.map → useDebounce-Bel8J05v.js.map} +1 -1
- package/dist/client/chunks/{useDirtyStateTracking-CgKZWkel.js → useDirtyStateTracking-KAjwj1Ht.js} +1 -1
- package/dist/client/chunks/{useDirtyStateTracking-CgKZWkel.js.map → useDirtyStateTracking-KAjwj1Ht.js.map} +1 -1
- package/dist/client/chunks/{useExplainAI-C9ytXRIC.js → useExplainAI-CxdzY2N0.js} +14 -14
- package/dist/client/chunks/{useExplainAI-C9ytXRIC.js.map → useExplainAI-CxdzY2N0.js.map} +1 -1
- package/dist/client/chunks/{useNotebookLayout-BFZ_33Kb.js → useNotebookLayout-DKkMenhj.js} +1 -1
- package/dist/client/chunks/{useNotebookLayout-BFZ_33Kb.js.map → useNotebookLayout-DKkMenhj.js.map} +1 -1
- package/dist/client/chunks/{utils-3FNmeZJR.js → utils-CMkS7h9x.js} +2 -2
- package/dist/client/chunks/{utils-3FNmeZJR.js.map → utils-CMkS7h9x.js.map} +1 -1
- package/dist/client/chunks/{vendor-BPRWulB7.js → vendor-BoWEubRu.js} +40 -40
- package/dist/client/chunks/{vendor-BPRWulB7.js.map → vendor-BoWEubRu.js.map} +1 -1
- package/dist/client/components.js +3 -3
- package/dist/client/hooks.js +5 -5
- package/dist/client/icons/registry.d.ts +6 -0
- package/dist/client/icons.js +2 -2
- package/dist/client/index.d.ts +3 -2
- package/dist/client/index.js +39 -41
- package/dist/client/index.js.map +1 -1
- package/dist/client/providers/CubeProvider.d.ts +4 -1
- package/dist/client/providers.js +2 -2
- package/dist/client/schema.d.ts +13 -0
- package/dist/client/schema.js +2 -0
- package/dist/client/styles.css +1 -1
- package/dist/client/types.d.ts +2 -1
- package/dist/client/utils.js +6 -6
- package/dist/client-bundle-stats.html +1 -1
- package/package.json +10 -2
- package/dist/client/chunks/DashboardEditModal-iGhIvNP6.js.map +0 -1
- package/dist/client/chunks/RetentionCombinedChart.config-DprbXd1N.js +0 -56
- package/dist/client/chunks/RetentionCombinedChart.config-DprbXd1N.js.map +0 -1
- package/dist/client/chunks/RetentionHeatmap.config-cbaNExVy.js +0 -25
- package/dist/client/chunks/RetentionHeatmap.config-cbaNExVy.js.map +0 -1
- package/dist/client/chunks/analysis-builder-DEGG5NwE.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-BxHYfTzo.js.map +0 -1
- package/dist/client/chunks/chart-data-table-CW_qZDpt.js.map +0 -1
- package/dist/client/chunks/chart-markdown-B2X4IwLO.js.map +0 -1
- package/dist/client/chunks/charts-loader-gZjOqZwG.js +0 -259
- package/dist/client/chunks/charts-loader-gZjOqZwG.js.map +0 -1
- package/dist/client/chunks/lazyChartConfigRegistry-BjhxDaSf.js +0 -149
- package/dist/client/chunks/lazyChartConfigRegistry-BjhxDaSf.js.map +0 -1
- package/dist/client/chunks/schema-visualization-CwiEtwdu.js.map +0 -1
package/dist/client/chunks/{DashboardEditModal-iGhIvNP6.js → DashboardEditModal-4zzjtZRR.js}
RENAMED
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
import { a as e, n as t, o as n, r, s as i, u as a } from "./vendor-
|
|
2
|
-
import {
|
|
3
|
-
import { C as
|
|
4
|
-
import { r as
|
|
5
|
-
import { n as
|
|
1
|
+
import { a as e, n as t, o as n, r, s as i, u as a } from "./vendor-BoWEubRu.js";
|
|
2
|
+
import { A as o, H as s, T as c, U as l, V as u, W as d, b as f, ot as p, x as m } from "./chart-data-table-BZ7StNWv.js";
|
|
3
|
+
import { C as h, D as g, E as _, O as v, S as y, T as b, a as x, b as S, c as C, l as w, n as T, r as E, s as D, t as ee, w as O, y as te } from "./useDebounce-Bel8J05v.js";
|
|
4
|
+
import { r as ne } from "./chart-sankey-8nRYnupt.js";
|
|
5
|
+
import { n as re, t as ie } from "./providers-DX3Vw5kc.js";
|
|
6
6
|
import { A as k } from "./chart-activity-grid-wR2Twpo7.js";
|
|
7
|
-
import { u as
|
|
8
|
-
import {
|
|
9
|
-
import { c as
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { n as fe, t as W } from "./useDirtyStateTracking-CgKZWkel.js";
|
|
14
|
-
import G, { Component as pe, Suspense as me, createContext as he, forwardRef as ge, lazy as _e, startTransition as ve, useCallback as K, useContext as ye, useEffect as q, useImperativeHandle as be, useMemo as J, useRef as Y, useState as X } from "react";
|
|
7
|
+
import { u as ae } from "./chart-area-e9ysnatQ.js";
|
|
8
|
+
import { l as A } from "./retention-YhT1Oohi.js";
|
|
9
|
+
import { S as j, _ as oe, a as se, b as M, c as ce, g as N, h as P, i as F, l as I, m as L, n as R, o as z, p as B, r as le, s as V, t as ue, v as de, y as fe } from "./FieldSearchModal-trURu9Sa.js";
|
|
10
|
+
import { t as H } from "./chart-markdown-DMekYkKz.js";
|
|
11
|
+
import { n as pe, t as U } from "./useDirtyStateTracking-KAjwj1Ht.js";
|
|
12
|
+
import W, { Component as me, Suspense as he, createContext as ge, forwardRef as _e, lazy as ve, startTransition as ye, useCallback as G, useContext as K, useEffect as q, useImperativeHandle as be, useMemo as J, useRef as Y, useState as X } from "react";
|
|
15
13
|
import { Fragment as Z, jsx as Q, jsxs as $ } from "react/jsx-runtime";
|
|
16
14
|
import { createPortal as xe } from "react-dom";
|
|
17
15
|
import Se, { verticalCompactor as Ce } from "react-grid-layout";
|
|
18
16
|
//#region src/client/components/ChartErrorBoundary.tsx
|
|
19
|
-
var we =
|
|
17
|
+
var we = o("refresh"), Te = class extends me {
|
|
20
18
|
constructor(e) {
|
|
21
19
|
super(e), this.state = {
|
|
22
20
|
hasError: !1,
|
|
@@ -422,7 +420,7 @@ function ze({ path: e, onNavigate: t, onLevelClick: n }) {
|
|
|
422
420
|
}),
|
|
423
421
|
e.map((t, r) => {
|
|
424
422
|
let i = Re(t.label);
|
|
425
|
-
return /* @__PURE__ */ $(
|
|
423
|
+
return /* @__PURE__ */ $(W.Fragment, { children: [/* @__PURE__ */ Q(Ie, { className: "dc:w-3 dc:h-3 text-dc-text-muted" }), r === e.length - 1 ? /* @__PURE__ */ Q("span", {
|
|
426
424
|
className: "dc:px-1.5 dc:py-1 text-dc-text dc:font-medium",
|
|
427
425
|
title: i,
|
|
428
426
|
children: i
|
|
@@ -773,7 +771,7 @@ function tt(e) {
|
|
|
773
771
|
t
|
|
774
772
|
]), D = J(() => !a || !o ? !1 : a.some((e) => e.isUniversalTime && o.includes(e.id)), [a, o]);
|
|
775
773
|
return {
|
|
776
|
-
handleDataPointClick:
|
|
774
|
+
handleDataPointClick: G((e) => {
|
|
777
775
|
if (!s || !n) return;
|
|
778
776
|
let r = Ge(e, t, n, a, o);
|
|
779
777
|
r.length !== 0 && (h(e), p(r), d(e.position), l(!0));
|
|
@@ -787,7 +785,7 @@ function tt(e) {
|
|
|
787
785
|
menuOpen: c,
|
|
788
786
|
menuPosition: u,
|
|
789
787
|
menuOptions: f,
|
|
790
|
-
handleOptionSelect:
|
|
788
|
+
handleOptionSelect: G((e) => {
|
|
791
789
|
if (!(!m || !n)) {
|
|
792
790
|
try {
|
|
793
791
|
if (e.targetGranularity && g.length > 0) {
|
|
@@ -841,11 +839,11 @@ function tt(e) {
|
|
|
841
839
|
i,
|
|
842
840
|
b
|
|
843
841
|
]),
|
|
844
|
-
closeMenu:
|
|
842
|
+
closeMenu: G(() => {
|
|
845
843
|
l(!1), d(null), p([]), h(null);
|
|
846
844
|
}, []),
|
|
847
845
|
drillPath: g,
|
|
848
|
-
navigateBack:
|
|
846
|
+
navigateBack: G(() => {
|
|
849
847
|
if (g.length !== 0) if (g.length === 1) {
|
|
850
848
|
let e = w || t;
|
|
851
849
|
_([]), C(b), x(null), y(null), T(null), r(e);
|
|
@@ -860,7 +858,7 @@ function tt(e) {
|
|
|
860
858
|
w,
|
|
861
859
|
t
|
|
862
860
|
]),
|
|
863
|
-
navigateToLevel:
|
|
861
|
+
navigateToLevel: G((e) => {
|
|
864
862
|
if (e <= 0) {
|
|
865
863
|
let e = w || t;
|
|
866
864
|
_([]), C(b), x(null), y(null), T(null), r(e);
|
|
@@ -890,19 +888,19 @@ function rt(e) {
|
|
|
890
888
|
}
|
|
891
889
|
//#endregion
|
|
892
890
|
//#region src/client/components/AnalyticsPortlet.tsx
|
|
893
|
-
var it =
|
|
894
|
-
let
|
|
895
|
-
root:
|
|
891
|
+
var it = W.memo(_e(({ query: e, chartType: t, chartConfig: n, displayConfig: r, dashboardFilters: i, dashboardFilterMapping: o, eagerLoad: s = !1, isVisible: l, height: u = 300, title: d, colorPalette: h, loadingComponent: g, onDebugDataReady: _ }, v) => {
|
|
892
|
+
let b = Y(_), { ref: T, inView: ee } = a({
|
|
893
|
+
root: re(),
|
|
896
894
|
rootMargin: "500px",
|
|
897
895
|
triggerOnce: !0,
|
|
898
896
|
initialInView: !1,
|
|
899
897
|
skip: s
|
|
900
|
-
}),
|
|
898
|
+
}), O = s || ee;
|
|
901
899
|
q(() => {
|
|
902
|
-
|
|
903
|
-
}, [
|
|
904
|
-
let { config:
|
|
905
|
-
if (
|
|
900
|
+
b.current = _;
|
|
901
|
+
}, [_]);
|
|
902
|
+
let { config: ie } = f(t), j = ie.skipQuery === !0, se = J(() => i?.filter((e) => !e.isUniversalTime), [i]), { queryObject: ce, multiQueryConfig: N, serverFunnelQuery: P, serverFlowQuery: F, serverRetentionQuery: I } = J(() => {
|
|
903
|
+
if (j) return {
|
|
906
904
|
queryObject: null,
|
|
907
905
|
multiQueryConfig: null,
|
|
908
906
|
serverFunnelQuery: null,
|
|
@@ -910,15 +908,15 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
910
908
|
serverRetentionQuery: null
|
|
911
909
|
};
|
|
912
910
|
try {
|
|
913
|
-
let t = JSON.parse(e), n =
|
|
914
|
-
if (
|
|
911
|
+
let t = JSON.parse(e), n = fe(se, o);
|
|
912
|
+
if (A(t)) return {
|
|
915
913
|
queryObject: null,
|
|
916
914
|
multiQueryConfig: null,
|
|
917
915
|
serverFunnelQuery: null,
|
|
918
916
|
serverFlowQuery: null,
|
|
919
917
|
serverRetentionQuery: t
|
|
920
918
|
};
|
|
921
|
-
if (
|
|
919
|
+
if (ne(t)) return {
|
|
922
920
|
queryObject: null,
|
|
923
921
|
multiQueryConfig: null,
|
|
924
922
|
serverFunnelQuery: null,
|
|
@@ -935,7 +933,7 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
935
933
|
};
|
|
936
934
|
if (n.length > 0 && r.funnel.steps.length > 0) {
|
|
937
935
|
let e = { ...r.funnel.steps[0] };
|
|
938
|
-
e.filter =
|
|
936
|
+
e.filter = M(n, e.filter ? Array.isArray(e.filter) ? e.filter : [e.filter] : []), r.funnel.steps[0] = e;
|
|
939
937
|
}
|
|
940
938
|
let a = i?.filter((e) => e.isUniversalTime && o?.includes(e.id));
|
|
941
939
|
if (a && a.length > 0 && r.funnel.steps.length > 0) {
|
|
@@ -975,15 +973,15 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
975
973
|
...t,
|
|
976
974
|
queries: t.queries.map((e) => ({
|
|
977
975
|
...e,
|
|
978
|
-
filters:
|
|
979
|
-
timeDimensions:
|
|
976
|
+
filters: M(n, e.filters),
|
|
977
|
+
timeDimensions: oe(i, o, e.timeDimensions)
|
|
980
978
|
}))
|
|
981
979
|
},
|
|
982
980
|
serverFunnelQuery: null,
|
|
983
981
|
serverFlowQuery: null,
|
|
984
982
|
serverRetentionQuery: null
|
|
985
983
|
};
|
|
986
|
-
let r =
|
|
984
|
+
let r = M(n, t.filters), a = oe(i, o, t.timeDimensions);
|
|
987
985
|
return {
|
|
988
986
|
queryObject: {
|
|
989
987
|
...t,
|
|
@@ -1006,108 +1004,108 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1006
1004
|
}
|
|
1007
1005
|
}, [
|
|
1008
1006
|
e,
|
|
1009
|
-
|
|
1010
|
-
|
|
1007
|
+
j,
|
|
1008
|
+
se,
|
|
1011
1009
|
i,
|
|
1012
1010
|
o
|
|
1013
|
-
]),
|
|
1011
|
+
]), L = N !== null, R = P !== null, z = F !== null, B = I !== null, [le, V] = X(null), ue = ce ? JSON.stringify(ce) : null, de = Y(null);
|
|
1014
1012
|
q(() => {
|
|
1015
|
-
|
|
1016
|
-
}, [
|
|
1017
|
-
let
|
|
1018
|
-
query:
|
|
1013
|
+
ue !== de.current && (de.current = ue, le && V(null));
|
|
1014
|
+
}, [ue, le]);
|
|
1015
|
+
let H = le || ce, { meta: pe } = k(), U = tt({
|
|
1016
|
+
query: H || {
|
|
1019
1017
|
measures: [],
|
|
1020
1018
|
dimensions: []
|
|
1021
1019
|
},
|
|
1022
|
-
metadata:
|
|
1020
|
+
metadata: pe,
|
|
1023
1021
|
onQueryChange: (e) => {
|
|
1024
|
-
|
|
1022
|
+
V(e);
|
|
1025
1023
|
},
|
|
1026
1024
|
chartConfig: n,
|
|
1027
1025
|
dashboardFilters: i,
|
|
1028
1026
|
dashboardFilterMapping: o,
|
|
1029
|
-
enabled: !
|
|
1030
|
-
}),
|
|
1031
|
-
|
|
1032
|
-
}, [
|
|
1033
|
-
e === 0 &&
|
|
1034
|
-
}, [
|
|
1035
|
-
skip:
|
|
1027
|
+
enabled: !L && !R && !z && !B && !!H
|
|
1028
|
+
}), W = G(() => {
|
|
1029
|
+
U.drillPath.length === 1 && V(null), U.navigateBack();
|
|
1030
|
+
}, [U]), me = G((e) => {
|
|
1031
|
+
e === 0 && V(null), U.navigateToLevel(e);
|
|
1032
|
+
}, [U]), he = !H || j || !s && !O || L || R || z || B, ge = !N || j || !s && !O || R || z || B, _e = !R || j || !s && !O, ve = !z || j || !s && !O, ye = !B || j || !s && !O, K = p(), Z = S(H, {
|
|
1033
|
+
skip: he,
|
|
1036
1034
|
resetResultSetOnChange: !0,
|
|
1037
1035
|
debounceMs: 100
|
|
1038
|
-
}), xe =
|
|
1039
|
-
skip:
|
|
1036
|
+
}), xe = w(N, {
|
|
1037
|
+
skip: ge,
|
|
1040
1038
|
resetResultSetOnChange: !0,
|
|
1041
1039
|
debounceMs: 100
|
|
1042
|
-
}), Se =
|
|
1043
|
-
skip:
|
|
1040
|
+
}), Se = D(null, {
|
|
1041
|
+
skip: _e || !P,
|
|
1044
1042
|
debounceMs: 100,
|
|
1045
|
-
prebuiltServerQuery:
|
|
1046
|
-
}), Ce =
|
|
1047
|
-
skip: _e,
|
|
1048
|
-
debounceMs: 100
|
|
1049
|
-
}), we = C(L, {
|
|
1043
|
+
prebuiltServerQuery: P
|
|
1044
|
+
}), Ce = x(F, {
|
|
1050
1045
|
skip: ve,
|
|
1051
1046
|
debounceMs: 100
|
|
1052
|
-
}),
|
|
1053
|
-
|
|
1047
|
+
}), we = E(I, {
|
|
1048
|
+
skip: ye,
|
|
1049
|
+
debounceMs: 100
|
|
1050
|
+
}), Ee = L ? null : Z.resultSet, De = B ? we.isLoading || we.isDebouncing : z ? Ce.isLoading || Ce.isDebouncing : R ? Se.isExecuting || Se.isDebouncing : L ? xe.isLoading : Z.isLoading, Oe = B ? we.isFetching : z ? Ce.isFetching : R ? Se.isExecuting : L ? xe.isFetching : Z.isFetching, ke = B ? we.error : z ? Ce.error : R ? Se.error : L ? xe.error : Z.error, Ae = B || z ? null : R ? Se.chartData : L ? xe.data : null, je = z ? Ce.data : null, Me = B ? we.chartData : null;
|
|
1051
|
+
be(v, () => ({ refresh: (e) => {
|
|
1054
1052
|
let t = e?.bustCache ?? !1;
|
|
1055
|
-
if (
|
|
1053
|
+
if (B && I) {
|
|
1056
1054
|
let e = [
|
|
1057
1055
|
"cube",
|
|
1058
1056
|
"retention",
|
|
1059
|
-
JSON.stringify(
|
|
1057
|
+
JSON.stringify(I)
|
|
1060
1058
|
];
|
|
1061
|
-
t ?
|
|
1062
|
-
} else if (
|
|
1059
|
+
t ? K.removeQueries({ queryKey: e }) : K.invalidateQueries({ queryKey: e }), we.refetch();
|
|
1060
|
+
} else if (z && F) {
|
|
1063
1061
|
let e = [
|
|
1064
1062
|
"cube",
|
|
1065
1063
|
"flow",
|
|
1066
|
-
JSON.stringify(
|
|
1064
|
+
JSON.stringify(F)
|
|
1067
1065
|
];
|
|
1068
|
-
t ?
|
|
1069
|
-
} else if (
|
|
1066
|
+
t ? K.removeQueries({ queryKey: e }) : K.invalidateQueries({ queryKey: e }), Ce.refetch({ bustCache: t });
|
|
1067
|
+
} else if (R && P) {
|
|
1070
1068
|
let e = [
|
|
1071
1069
|
"cube",
|
|
1072
1070
|
"funnel",
|
|
1073
|
-
|
|
1074
|
-
JSON.stringify(
|
|
1071
|
+
P.funnel?.steps?.length || 0,
|
|
1072
|
+
JSON.stringify(P)
|
|
1075
1073
|
];
|
|
1076
|
-
t ?
|
|
1077
|
-
} else if (
|
|
1074
|
+
t ? K.removeQueries({ queryKey: e }) : K.invalidateQueries({ queryKey: e }), Se.execute({ bustCache: t });
|
|
1075
|
+
} else if (L && N) {
|
|
1078
1076
|
let e = {
|
|
1079
|
-
...
|
|
1080
|
-
queries:
|
|
1077
|
+
...N,
|
|
1078
|
+
queries: N.queries.map((e) => y(e))
|
|
1081
1079
|
};
|
|
1082
|
-
t ?
|
|
1083
|
-
} else if (
|
|
1084
|
-
let e =
|
|
1085
|
-
t ?
|
|
1080
|
+
t ? K.removeQueries({ queryKey: C(e) }) : K.invalidateQueries({ queryKey: C(e) }), xe.refetch({ bustCache: t });
|
|
1081
|
+
} else if (H) {
|
|
1082
|
+
let e = y(H);
|
|
1083
|
+
t ? K.removeQueries({ queryKey: te(e) }) : K.invalidateQueries({ queryKey: te(e) }), Z.refetch({ bustCache: t });
|
|
1086
1084
|
}
|
|
1087
1085
|
} }), [
|
|
1088
|
-
V,
|
|
1089
1086
|
B,
|
|
1090
1087
|
z,
|
|
1091
1088
|
R,
|
|
1092
|
-
P,
|
|
1093
|
-
U,
|
|
1094
|
-
ye,
|
|
1095
1089
|
L,
|
|
1090
|
+
N,
|
|
1091
|
+
H,
|
|
1092
|
+
K,
|
|
1096
1093
|
I,
|
|
1097
1094
|
F,
|
|
1095
|
+
P,
|
|
1098
1096
|
we,
|
|
1099
1097
|
Ce,
|
|
1100
1098
|
Se,
|
|
1101
1099
|
xe,
|
|
1102
1100
|
Z
|
|
1103
1101
|
]);
|
|
1104
|
-
let Ne =
|
|
1105
|
-
|
|
1102
|
+
let Ne = G(() => {
|
|
1103
|
+
B ? we.refetch() : z ? Ce.refetch() : R ? Se.execute() : L ? xe.refetch() : Z.refetch();
|
|
1106
1104
|
}, [
|
|
1107
|
-
V,
|
|
1108
1105
|
B,
|
|
1109
1106
|
z,
|
|
1110
1107
|
R,
|
|
1108
|
+
L,
|
|
1111
1109
|
we,
|
|
1112
1110
|
Ce,
|
|
1113
1111
|
Se,
|
|
@@ -1115,41 +1113,41 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1115
1113
|
Z
|
|
1116
1114
|
]);
|
|
1117
1115
|
q(() => {
|
|
1118
|
-
if (!(!
|
|
1119
|
-
if (
|
|
1120
|
-
|
|
1116
|
+
if (!(!b.current || ke)) {
|
|
1117
|
+
if (R && Ae && Ae.length > 0) {
|
|
1118
|
+
b.current({
|
|
1121
1119
|
chartConfig: n || {},
|
|
1122
1120
|
displayConfig: r || {},
|
|
1123
|
-
queryObject:
|
|
1121
|
+
queryObject: P,
|
|
1124
1122
|
data: Ae,
|
|
1125
1123
|
chartType: t,
|
|
1126
1124
|
cacheInfo: Se.cacheInfo ?? void 0
|
|
1127
1125
|
});
|
|
1128
1126
|
return;
|
|
1129
1127
|
}
|
|
1130
|
-
if (
|
|
1131
|
-
|
|
1128
|
+
if (z && F && je) {
|
|
1129
|
+
b.current({
|
|
1132
1130
|
chartConfig: n || {},
|
|
1133
1131
|
displayConfig: r || {},
|
|
1134
|
-
queryObject:
|
|
1132
|
+
queryObject: F,
|
|
1135
1133
|
data: je,
|
|
1136
1134
|
chartType: t,
|
|
1137
1135
|
cacheInfo: Ce.cacheInfo
|
|
1138
1136
|
});
|
|
1139
1137
|
return;
|
|
1140
1138
|
}
|
|
1141
|
-
if (
|
|
1142
|
-
|
|
1139
|
+
if (B && I && Me) {
|
|
1140
|
+
b.current({
|
|
1143
1141
|
chartConfig: n || {},
|
|
1144
1142
|
displayConfig: r || {},
|
|
1145
|
-
queryObject:
|
|
1143
|
+
queryObject: I,
|
|
1146
1144
|
data: Me,
|
|
1147
1145
|
chartType: t,
|
|
1148
1146
|
cacheInfo: we.cacheInfo ?? void 0
|
|
1149
1147
|
});
|
|
1150
1148
|
return;
|
|
1151
1149
|
}
|
|
1152
|
-
if (n &&
|
|
1150
|
+
if (n && ce && Ee) {
|
|
1153
1151
|
let e = (() => {
|
|
1154
1152
|
switch (t) {
|
|
1155
1153
|
case "pie":
|
|
@@ -1158,9 +1156,9 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1158
1156
|
}
|
|
1159
1157
|
})();
|
|
1160
1158
|
if (e) {
|
|
1161
|
-
let i =
|
|
1159
|
+
let i = U.drillPath.length > 0 ? {
|
|
1162
1160
|
isDrilling: !0,
|
|
1163
|
-
drillPath:
|
|
1161
|
+
drillPath: U.drillPath.map((e) => ({
|
|
1164
1162
|
id: e.id,
|
|
1165
1163
|
label: e.label,
|
|
1166
1164
|
clickedValue: e.clickedValue,
|
|
@@ -1168,14 +1166,14 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1168
1166
|
granularity: e.granularity,
|
|
1169
1167
|
hierarchy: e.hierarchy
|
|
1170
1168
|
})),
|
|
1171
|
-
currentDrillDepth:
|
|
1172
|
-
originalQuery:
|
|
1173
|
-
activeQuery:
|
|
1169
|
+
currentDrillDepth: U.drillPath.length,
|
|
1170
|
+
originalQuery: ce,
|
|
1171
|
+
activeQuery: H
|
|
1174
1172
|
} : void 0;
|
|
1175
|
-
|
|
1176
|
-
chartConfig:
|
|
1173
|
+
b.current({
|
|
1174
|
+
chartConfig: U.currentChartConfig || n || {},
|
|
1177
1175
|
displayConfig: r || {},
|
|
1178
|
-
queryObject:
|
|
1176
|
+
queryObject: H || ce,
|
|
1179
1177
|
data: e,
|
|
1180
1178
|
chartType: t,
|
|
1181
1179
|
cacheInfo: Ee.cacheInfo?.(),
|
|
@@ -1187,29 +1185,29 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1187
1185
|
}, [
|
|
1188
1186
|
n,
|
|
1189
1187
|
r,
|
|
1190
|
-
|
|
1191
|
-
|
|
1188
|
+
ce,
|
|
1189
|
+
H,
|
|
1192
1190
|
Ee,
|
|
1193
1191
|
t,
|
|
1194
1192
|
ke,
|
|
1193
|
+
R,
|
|
1195
1194
|
z,
|
|
1196
1195
|
B,
|
|
1197
|
-
V,
|
|
1198
1196
|
Ae,
|
|
1197
|
+
P,
|
|
1199
1198
|
F,
|
|
1200
1199
|
I,
|
|
1201
|
-
L,
|
|
1202
1200
|
je,
|
|
1203
1201
|
Me,
|
|
1204
1202
|
Ce.cacheInfo,
|
|
1205
1203
|
Se.cacheInfo,
|
|
1206
1204
|
we.cacheInfo,
|
|
1207
|
-
|
|
1208
|
-
|
|
1205
|
+
U.drillPath,
|
|
1206
|
+
U.currentChartConfig
|
|
1209
1207
|
]);
|
|
1210
|
-
let Fe = !
|
|
1208
|
+
let Fe = !j && ie.dropZones.some((e) => e.mandatory === !0);
|
|
1211
1209
|
if (!n && Fe) return /* @__PURE__ */ Q("div", {
|
|
1212
|
-
ref:
|
|
1210
|
+
ref: T,
|
|
1213
1211
|
className: "dc:flex dc:items-center dc:justify-center dc:w-full text-dc-text-muted",
|
|
1214
1212
|
style: { height: u },
|
|
1215
1213
|
children: /* @__PURE__ */ $("div", {
|
|
@@ -1223,8 +1221,8 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1223
1221
|
})]
|
|
1224
1222
|
})
|
|
1225
1223
|
});
|
|
1226
|
-
if (!
|
|
1227
|
-
ref:
|
|
1224
|
+
if (!j && !s && !O) return /* @__PURE__ */ Q("div", {
|
|
1225
|
+
ref: T,
|
|
1228
1226
|
className: "dc:w-full dc:h-full",
|
|
1229
1227
|
style: { height: u },
|
|
1230
1228
|
children: /* @__PURE__ */ Q("div", {
|
|
@@ -1232,15 +1230,15 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1232
1230
|
style: { minHeight: "100px" }
|
|
1233
1231
|
})
|
|
1234
1232
|
});
|
|
1235
|
-
if (!
|
|
1236
|
-
if (De || Oe ||
|
|
1237
|
-
ref:
|
|
1233
|
+
if (!j) {
|
|
1234
|
+
if (De || Oe || ce && !Ee && !ke) return /* @__PURE__ */ Q("div", {
|
|
1235
|
+
ref: T,
|
|
1238
1236
|
className: "dc:flex dc:items-center dc:justify-center dc:w-full",
|
|
1239
1237
|
style: { height: u },
|
|
1240
|
-
children:
|
|
1238
|
+
children: g || /* @__PURE__ */ Q(ae, { size: "md" })
|
|
1241
1239
|
});
|
|
1242
1240
|
if (ke) return /* @__PURE__ */ $("div", {
|
|
1243
|
-
ref:
|
|
1241
|
+
ref: T,
|
|
1244
1242
|
className: "dc:p-4 dc:border dc:rounded-sm",
|
|
1245
1243
|
style: {
|
|
1246
1244
|
height: u,
|
|
@@ -1285,7 +1283,7 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1285
1283
|
}), /* @__PURE__ */ Q("pre", {
|
|
1286
1284
|
className: "dc:mt-1 dc:p-2 dc:rounded-sm dc:text-xs dc:overflow-auto dc:max-h-20",
|
|
1287
1285
|
style: { backgroundColor: "rgba(var(--dc-primary-rgb), 0.1)" },
|
|
1288
|
-
children:
|
|
1286
|
+
children: H ? JSON.stringify(H, null, 2) : e
|
|
1289
1287
|
})] }), /* @__PURE__ */ $("details", { children: [/* @__PURE__ */ Q("summary", {
|
|
1290
1288
|
className: "dc:cursor-pointer dc:font-medium",
|
|
1291
1289
|
style: { color: "var(--dc-text-secondary)" },
|
|
@@ -1295,25 +1293,25 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1295
1293
|
style: { backgroundColor: "rgba(var(--dc-primary-rgb), 0.05)" },
|
|
1296
1294
|
children: JSON.stringify({
|
|
1297
1295
|
chartType: t,
|
|
1298
|
-
chartConfig:
|
|
1296
|
+
chartConfig: U.currentChartConfig || n,
|
|
1299
1297
|
displayConfig: r
|
|
1300
1298
|
}, null, 2)
|
|
1301
1299
|
})] })]
|
|
1302
1300
|
})
|
|
1303
1301
|
]
|
|
1304
1302
|
});
|
|
1305
|
-
if (!(
|
|
1306
|
-
let e =
|
|
1303
|
+
if (!(B ? Me !== null && I !== null : z ? je !== null && F !== null : R ? Ae !== null && P !== null : L ? Ae !== null && N !== null : Ee !== null && ce !== null)) {
|
|
1304
|
+
let e = U.drillPath.length > 0;
|
|
1307
1305
|
return /* @__PURE__ */ $("div", {
|
|
1308
|
-
ref:
|
|
1306
|
+
ref: T,
|
|
1309
1307
|
className: "dc:flex dc:flex-col dc:w-full",
|
|
1310
1308
|
style: { height: u },
|
|
1311
1309
|
children: [e && /* @__PURE__ */ Q("div", {
|
|
1312
1310
|
className: "dc:mb-2 dc:flex-shrink-0",
|
|
1313
1311
|
children: /* @__PURE__ */ Q(ze, {
|
|
1314
|
-
path:
|
|
1315
|
-
onNavigate:
|
|
1316
|
-
onLevelClick:
|
|
1312
|
+
path: U.drillPath,
|
|
1313
|
+
onNavigate: W,
|
|
1314
|
+
onLevelClick: me
|
|
1317
1315
|
})
|
|
1318
1316
|
}), /* @__PURE__ */ Q("div", {
|
|
1319
1317
|
className: "dc:flex dc:items-center dc:justify-center dc:flex-1 text-dc-text-muted",
|
|
@@ -1332,16 +1330,16 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1332
1330
|
}
|
|
1333
1331
|
}
|
|
1334
1332
|
let Ie = (() => {
|
|
1335
|
-
if (
|
|
1336
|
-
if (
|
|
1333
|
+
if (j) return [];
|
|
1334
|
+
if (B) return Me || {
|
|
1337
1335
|
rows: [],
|
|
1338
1336
|
periods: []
|
|
1339
1337
|
};
|
|
1340
|
-
if (
|
|
1338
|
+
if (z) return je || {
|
|
1341
1339
|
nodes: [],
|
|
1342
1340
|
links: []
|
|
1343
1341
|
};
|
|
1344
|
-
if (
|
|
1342
|
+
if (R || L) return Ae || [];
|
|
1345
1343
|
if (!Ee) return [];
|
|
1346
1344
|
switch (t) {
|
|
1347
1345
|
case "pie":
|
|
@@ -1351,7 +1349,7 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1351
1349
|
})(), Le = () => {
|
|
1352
1350
|
try {
|
|
1353
1351
|
let e = u, i = t === "sankey" && r?.flowVisualization === "sunburst" ? "sunburst" : t;
|
|
1354
|
-
if (!
|
|
1352
|
+
if (!c(i)) return /* @__PURE__ */ Q("div", {
|
|
1355
1353
|
className: "dc:flex dc:items-center dc:justify-center dc:w-full",
|
|
1356
1354
|
style: { height: u },
|
|
1357
1355
|
children: /* @__PURE__ */ $("div", {
|
|
@@ -1365,16 +1363,16 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1365
1363
|
})]
|
|
1366
1364
|
})
|
|
1367
1365
|
});
|
|
1368
|
-
let a = i === "markdown" ? [] : Ie, o = !
|
|
1369
|
-
return /* @__PURE__ */ Q(
|
|
1366
|
+
let a = i === "markdown" ? [] : Ie, o = !L && !R && !z && !B && U.drillEnabled;
|
|
1367
|
+
return /* @__PURE__ */ Q(m, {
|
|
1370
1368
|
chartType: i,
|
|
1371
1369
|
data: a,
|
|
1372
|
-
chartConfig: o &&
|
|
1370
|
+
chartConfig: o && U.currentChartConfig ? U.currentChartConfig : n,
|
|
1373
1371
|
displayConfig: r,
|
|
1374
|
-
queryObject:
|
|
1372
|
+
queryObject: H ?? void 0,
|
|
1375
1373
|
height: e,
|
|
1376
|
-
colorPalette:
|
|
1377
|
-
onDataPointClick: o ?
|
|
1374
|
+
colorPalette: h,
|
|
1375
|
+
onDataPointClick: o ? U.handleDataPointClick : void 0,
|
|
1378
1376
|
drillEnabled: o,
|
|
1379
1377
|
fallback: /* @__PURE__ */ Q("div", {
|
|
1380
1378
|
className: "dc:flex dc:items-center dc:justify-center dc:w-full",
|
|
@@ -1398,9 +1396,9 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1398
1396
|
})
|
|
1399
1397
|
});
|
|
1400
1398
|
}
|
|
1401
|
-
}, Re = !
|
|
1399
|
+
}, Re = !L && !R && !z && !B && U.drillEnabled;
|
|
1402
1400
|
return /* @__PURE__ */ $("div", {
|
|
1403
|
-
ref:
|
|
1401
|
+
ref: T,
|
|
1404
1402
|
className: "dc:w-full dc:h-full dc:relative",
|
|
1405
1403
|
children: [/* @__PURE__ */ Q(Te, {
|
|
1406
1404
|
portletTitle: d,
|
|
@@ -1414,23 +1412,23 @@ var it = G.memo(ge(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
1414
1412
|
children: /* @__PURE__ */ $("div", {
|
|
1415
1413
|
className: "dc:w-full dc:h-full dc:flex dc:flex-col dc:flex-1",
|
|
1416
1414
|
style: { minHeight: t === "markdown" ? void 0 : "200px" },
|
|
1417
|
-
children: [Re &&
|
|
1415
|
+
children: [Re && U.drillPath.length > 0 && /* @__PURE__ */ Q("div", {
|
|
1418
1416
|
className: "dc:mb-2 dc:flex-shrink-0",
|
|
1419
1417
|
children: /* @__PURE__ */ Q(ze, {
|
|
1420
|
-
path:
|
|
1421
|
-
onNavigate:
|
|
1422
|
-
onLevelClick:
|
|
1418
|
+
path: U.drillPath,
|
|
1419
|
+
onNavigate: W,
|
|
1420
|
+
onLevelClick: me
|
|
1423
1421
|
})
|
|
1424
1422
|
}), /* @__PURE__ */ Q("div", {
|
|
1425
1423
|
className: "dc:flex-1 dc:min-h-0",
|
|
1426
1424
|
children: Le()
|
|
1427
1425
|
})]
|
|
1428
1426
|
})
|
|
1429
|
-
}), Re &&
|
|
1430
|
-
options:
|
|
1431
|
-
position:
|
|
1432
|
-
onSelect:
|
|
1433
|
-
onClose:
|
|
1427
|
+
}), Re && U.menuOpen && U.menuPosition && /* @__PURE__ */ Q(Pe, {
|
|
1428
|
+
options: U.menuOptions,
|
|
1429
|
+
position: U.menuPosition,
|
|
1430
|
+
onSelect: U.handleOptionSelect,
|
|
1431
|
+
onClose: U.closeMenu
|
|
1434
1432
|
})]
|
|
1435
1433
|
});
|
|
1436
1434
|
}));
|
|
@@ -1493,10 +1491,10 @@ function ot(e, { threshold: t = 80, debounceMs: n = 100, containerRef: r, contai
|
|
|
1493
1491
|
//#endregion
|
|
1494
1492
|
//#region src/client/hooks/useDragAutoScroll.ts
|
|
1495
1493
|
function st(e, t = {}) {
|
|
1496
|
-
let { edgeThreshold: n = 80, maxScrollSpeed: r = 15, enabled: i = !0 } = t, a = Y(null), o = Y(null), s = Y(0), c =
|
|
1494
|
+
let { edgeThreshold: n = 80, maxScrollSpeed: r = 15, enabled: i = !0 } = t, a = Y(null), o = Y(null), s = Y(0), c = G((e) => {
|
|
1497
1495
|
let t = Math.max(0, Math.min(1, 1 - e / n));
|
|
1498
1496
|
return Math.round(t * t * r);
|
|
1499
|
-
}, [n, r]), l =
|
|
1497
|
+
}, [n, r]), l = G(() => {
|
|
1500
1498
|
let t = e.current;
|
|
1501
1499
|
if (!t || !o.current) {
|
|
1502
1500
|
a.current = null;
|
|
@@ -1508,11 +1506,11 @@ function st(e, t = {}) {
|
|
|
1508
1506
|
t.scrollTop += e;
|
|
1509
1507
|
}
|
|
1510
1508
|
a.current = requestAnimationFrame(l);
|
|
1511
|
-
}, [e]), u =
|
|
1509
|
+
}, [e]), u = G((e, t) => {
|
|
1512
1510
|
o.current = e, s.current = t, a.current === null && (a.current = requestAnimationFrame(l));
|
|
1513
|
-
}, [l]), d =
|
|
1511
|
+
}, [l]), d = G(() => {
|
|
1514
1512
|
o.current = null, s.current = 0, a.current !== null && (cancelAnimationFrame(a.current), a.current = null);
|
|
1515
|
-
}, []), f =
|
|
1513
|
+
}, []), f = G((t) => {
|
|
1516
1514
|
let r = e.current;
|
|
1517
1515
|
if (!r) return;
|
|
1518
1516
|
let i = r.getBoundingClientRect(), a = t.clientY;
|
|
@@ -1528,7 +1526,7 @@ function st(e, t = {}) {
|
|
|
1528
1526
|
c,
|
|
1529
1527
|
u,
|
|
1530
1528
|
d
|
|
1531
|
-
]), p =
|
|
1529
|
+
]), p = G(() => {
|
|
1532
1530
|
d();
|
|
1533
1531
|
}, [d]);
|
|
1534
1532
|
q(() => {
|
|
@@ -1636,37 +1634,37 @@ function ct({ chartConfig: e, displayConfig: t, queryObject: n, data: r, chartTy
|
|
|
1636
1634
|
/* @__PURE__ */ $("div", {
|
|
1637
1635
|
className: "dc:grid dc:grid-cols-1 dc:lg:grid-cols-2 dc:gap-4 dc:flex-1 dc:overflow-auto",
|
|
1638
1636
|
children: [
|
|
1639
|
-
/* @__PURE__ */ Q(
|
|
1637
|
+
/* @__PURE__ */ Q(N, {
|
|
1640
1638
|
code: i,
|
|
1641
1639
|
language: "json",
|
|
1642
1640
|
title: "Chart Type",
|
|
1643
1641
|
maxHeight: "3rem"
|
|
1644
1642
|
}),
|
|
1645
|
-
/* @__PURE__ */ Q(
|
|
1643
|
+
/* @__PURE__ */ Q(N, {
|
|
1646
1644
|
code: c,
|
|
1647
1645
|
language: "json",
|
|
1648
1646
|
title: "Field Analysis",
|
|
1649
1647
|
maxHeight: "8rem"
|
|
1650
1648
|
}),
|
|
1651
|
-
/* @__PURE__ */ Q(
|
|
1649
|
+
/* @__PURE__ */ Q(N, {
|
|
1652
1650
|
code: JSON.stringify(e, null, 2),
|
|
1653
1651
|
language: "json",
|
|
1654
1652
|
title: "Chart Config",
|
|
1655
1653
|
className: "dc:lg:col-span-2"
|
|
1656
1654
|
}),
|
|
1657
|
-
/* @__PURE__ */ Q(
|
|
1655
|
+
/* @__PURE__ */ Q(N, {
|
|
1658
1656
|
code: JSON.stringify(t, null, 2),
|
|
1659
1657
|
language: "json",
|
|
1660
1658
|
title: "Display Config",
|
|
1661
1659
|
className: "dc:lg:col-span-2"
|
|
1662
1660
|
}),
|
|
1663
|
-
/* @__PURE__ */ Q(
|
|
1661
|
+
/* @__PURE__ */ Q(N, {
|
|
1664
1662
|
code: JSON.stringify(n, null, 2),
|
|
1665
1663
|
language: "json",
|
|
1666
1664
|
title: "Query Object",
|
|
1667
1665
|
className: "dc:lg:col-span-2"
|
|
1668
1666
|
}),
|
|
1669
|
-
/* @__PURE__ */ Q(
|
|
1667
|
+
/* @__PURE__ */ Q(N, {
|
|
1670
1668
|
code: JSON.stringify(Array.isArray(r) ? r.slice(0, 3) : r, null, 2),
|
|
1671
1669
|
language: "json",
|
|
1672
1670
|
title: "Data Sample (first 3 rows)",
|
|
@@ -1832,7 +1830,7 @@ var pt = null;
|
|
|
1832
1830
|
function mt() {
|
|
1833
1831
|
return pt ||= ft(), pt;
|
|
1834
1832
|
}
|
|
1835
|
-
var ht =
|
|
1833
|
+
var ht = ge(null);
|
|
1836
1834
|
function gt({ children: e, initialEditMode: t }) {
|
|
1837
1835
|
let n = Y(null);
|
|
1838
1836
|
return n.current ||= ft({ initialEditMode: t }), /* @__PURE__ */ Q(ht.Provider, {
|
|
@@ -1841,17 +1839,17 @@ function gt({ children: e, initialEditMode: t }) {
|
|
|
1841
1839
|
});
|
|
1842
1840
|
}
|
|
1843
1841
|
function _t(e) {
|
|
1844
|
-
let t =
|
|
1842
|
+
let t = K(ht);
|
|
1845
1843
|
if (!t) throw Error("useDashboardStore must be used within DashboardStoreProvider");
|
|
1846
1844
|
return n(t, e);
|
|
1847
1845
|
}
|
|
1848
1846
|
function vt() {
|
|
1849
|
-
let e =
|
|
1847
|
+
let e = K(ht);
|
|
1850
1848
|
if (!e) throw Error("useDashboardStoreApi must be used within DashboardStoreProvider");
|
|
1851
1849
|
return e;
|
|
1852
1850
|
}
|
|
1853
1851
|
function yt(e) {
|
|
1854
|
-
let t =
|
|
1852
|
+
let t = K(ht), r = n(t ?? mt(), e);
|
|
1855
1853
|
return t ? r : null;
|
|
1856
1854
|
}
|
|
1857
1855
|
var bt = (e) => ({
|
|
@@ -1936,7 +1934,7 @@ function Nt(e, t) {
|
|
|
1936
1934
|
for (let r of n) if (e[r] !== t[r]) return !1;
|
|
1937
1935
|
return !0;
|
|
1938
1936
|
}
|
|
1939
|
-
var Pt =
|
|
1937
|
+
var Pt = W.memo(function({ isTransparent: e, setChartContainerRef: t, setPortletComponentRef: n, renderQuery: r, renderChartType: i, renderChartConfig: a, renderDisplayConfig: o, dashboardFilters: s, dashboardFilterMapping: c, eagerLoad: l, title: u, isMarkdownAutoHeight: d, colorPalette: f, loadingComponent: p, onDebugDataReady: m }) {
|
|
1940
1938
|
return /* @__PURE__ */ Q("div", {
|
|
1941
1939
|
ref: t,
|
|
1942
1940
|
className: `dc:flex-1 dc:min-h-0 dc:flex dc:flex-col${e ? "" : " dc:px-2 dc:py-3 dc:md:px-4 dc:md:py-4"}`,
|
|
@@ -1956,65 +1954,65 @@ var Pt = G.memo(function({ isTransparent: e, setChartContainerRef: t, setPortlet
|
|
|
1956
1954
|
onDebugDataReady: m
|
|
1957
1955
|
})
|
|
1958
1956
|
});
|
|
1959
|
-
}), Ft =
|
|
1960
|
-
let { analysisConfig: _ } = J(() =>
|
|
1957
|
+
}), Ft = W.memo(function({ portlet: e, editable: t, layoutMode: n = "grid", dashboardFilters: r, configEagerLoad: i, loadingComponent: a, colorPalette: s, containerProps: c, headerProps: f, setPortletRef: p, setPortletComponentRef: m, callbacks: h, icons: g }) {
|
|
1958
|
+
let { analysisConfig: _ } = J(() => j(e), [e]), v = _.charts[_.analysisType], y = J(() => JSON.stringify(_.query), [_.query]), b = v?.chartType || "line", x = v?.chartConfig, S = v?.displayConfig, C = _t((e) => e.isEditMode), w = _t((e) => e.selectedFilterId), T = _t((t) => t.debugData[e.id]), E = b === "markdown", D = n !== "grid" && E && (S?.autoHeight ?? !0), ee = E && !!S?.transparentBackground, O = ee && !C, te = b === "markdown" ? (S?.hideHeader ?? !0) || !!S?.transparentBackground || !e.title : S?.hideHeader ?? !1, ne = _t((e) => e.setDebugData), { features: re } = u(), ie = o("camera"), k = o("check"), [ae, A] = X(!1), [oe, se] = X(!1), M = Y(null), [ce, N] = X(!1), [P, F] = X(!1);
|
|
1961
1959
|
q(() => {
|
|
1962
1960
|
let e = (e) => {
|
|
1963
|
-
e.key === "Shift" &&
|
|
1961
|
+
e.key === "Shift" && N(!0);
|
|
1964
1962
|
}, t = (e) => {
|
|
1965
|
-
e.key === "Shift" &&
|
|
1963
|
+
e.key === "Shift" && N(!1);
|
|
1966
1964
|
};
|
|
1967
1965
|
return window.addEventListener("keydown", e), window.addEventListener("keyup", t), () => {
|
|
1968
1966
|
window.removeEventListener("keydown", e), window.removeEventListener("keyup", t);
|
|
1969
1967
|
};
|
|
1970
1968
|
}, []);
|
|
1971
|
-
let
|
|
1969
|
+
let I = ce && P;
|
|
1972
1970
|
q(() => {
|
|
1973
|
-
|
|
1974
|
-
}, [
|
|
1975
|
-
let
|
|
1976
|
-
e.stopPropagation(),
|
|
1977
|
-
}, []),
|
|
1971
|
+
re.thumbnail?.enabled ? d().then(se) : se(!1);
|
|
1972
|
+
}, [re.thumbnail?.enabled]);
|
|
1973
|
+
let L = G(async (e) => {
|
|
1974
|
+
e.stopPropagation(), M.current && await l(M.current) && (A(!0), setTimeout(() => A(!1), 2e3));
|
|
1975
|
+
}, []), R = w ? (e.dashboardFilterMapping || []).includes(w) : !1, z = !!w, B = [
|
|
1978
1976
|
O ? "dc:flex dc:flex-col dc:transition-all" : "bg-dc-surface dc:border dc:rounded-lg dc:flex dc:flex-col dc:transition-all",
|
|
1979
1977
|
D ? "" : "dc:h-full",
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
].filter(Boolean).join(" "),
|
|
1978
|
+
z ? "dc:cursor-pointer" : "",
|
|
1979
|
+
c?.className
|
|
1980
|
+
].filter(Boolean).join(" "), le = [
|
|
1983
1981
|
"flex items-center justify-between px-3 py-1.5 md:px-4 md:py-1 border-b border-dc-border shrink-0 bg-dc-surface-secondary rounded-t-lg portlet-drag-handle",
|
|
1984
1982
|
C ? "cursor-move" : "cursor-default",
|
|
1985
1983
|
f?.className
|
|
1986
|
-
].filter(Boolean).join(" "), { onClick:
|
|
1987
|
-
|
|
1988
|
-
}, [e.id,
|
|
1984
|
+
].filter(Boolean).join(" "), { onClick: V, className: ue, style: de, ...fe } = c ?? {}, { onClick: H, className: pe, style: U, ...W } = f ?? {}, me = G((t) => {
|
|
1985
|
+
ne(e.id, t);
|
|
1986
|
+
}, [e.id, ne]), he = G((t) => {
|
|
1989
1987
|
p(e.id, t);
|
|
1990
|
-
}, [e.id, p]),
|
|
1988
|
+
}, [e.id, p]), ge = G((t) => {
|
|
1991
1989
|
m(e.id, t);
|
|
1992
|
-
}, [e.id, m]),
|
|
1993
|
-
|
|
1990
|
+
}, [e.id, m]), _e = G((e) => {
|
|
1991
|
+
M.current = e;
|
|
1994
1992
|
}, []);
|
|
1995
1993
|
return /* @__PURE__ */ $("div", {
|
|
1996
1994
|
"data-portlet-id": e.id,
|
|
1997
|
-
ref:
|
|
1998
|
-
className:
|
|
1995
|
+
ref: he,
|
|
1996
|
+
className: B,
|
|
1999
1997
|
style: {
|
|
2000
1998
|
boxShadow: O ? "none" : "var(--dc-shadow-sm)",
|
|
2001
|
-
borderColor: O ? "transparent" :
|
|
2002
|
-
borderWidth: O ? "0" :
|
|
2003
|
-
backgroundColor: O ? "transparent" :
|
|
2004
|
-
opacity:
|
|
2005
|
-
...
|
|
1999
|
+
borderColor: O ? "transparent" : z && R ? "var(--dc-primary)" : "var(--dc-border)",
|
|
2000
|
+
borderWidth: O ? "0" : z && R ? "2px" : "1px",
|
|
2001
|
+
backgroundColor: O ? "transparent" : z && R ? "rgba(var(--dc-primary-rgb), 0.05)" : "var(--dc-surface)",
|
|
2002
|
+
opacity: z && !R ? "0.5" : "1",
|
|
2003
|
+
...de
|
|
2006
2004
|
},
|
|
2007
2005
|
onClick: (t) => {
|
|
2008
|
-
|
|
2006
|
+
z && w && (t.stopPropagation(), h.onToggleFilter(e.id, w)), V?.(t);
|
|
2009
2007
|
},
|
|
2010
|
-
...
|
|
2008
|
+
...fe,
|
|
2011
2009
|
children: [(!te || C) && /* @__PURE__ */ $("div", {
|
|
2012
|
-
className:
|
|
2013
|
-
style:
|
|
2010
|
+
className: le,
|
|
2011
|
+
style: U,
|
|
2014
2012
|
onClick: (e) => {
|
|
2015
|
-
|
|
2013
|
+
H?.(e);
|
|
2016
2014
|
},
|
|
2017
|
-
...
|
|
2015
|
+
...W,
|
|
2018
2016
|
children: [/* @__PURE__ */ $("div", {
|
|
2019
2017
|
className: "dc:flex dc:items-center dc:gap-2 dc:flex-1 dc:min-w-0",
|
|
2020
2018
|
children: [/* @__PURE__ */ Q("h3", {
|
|
@@ -2080,23 +2078,23 @@ var Pt = G.memo(function({ isTransparent: e, setChartContainerRef: t, setPortlet
|
|
|
2080
2078
|
onTouchEnd: (t) => {
|
|
2081
2079
|
t.stopPropagation(), t.preventDefault(), h.onRefresh(e.id);
|
|
2082
2080
|
},
|
|
2083
|
-
onMouseEnter: () =>
|
|
2084
|
-
onMouseLeave: () =>
|
|
2085
|
-
disabled:
|
|
2086
|
-
className: `dc:p-1 bg-transparent dc:border-none dc:rounded-sm dc:transition-colors ${
|
|
2087
|
-
title:
|
|
2081
|
+
onMouseEnter: () => F(!0),
|
|
2082
|
+
onMouseLeave: () => F(!1),
|
|
2083
|
+
disabled: z,
|
|
2084
|
+
className: `dc:p-1 bg-transparent dc:border-none dc:rounded-sm dc:transition-colors ${z ? "dc:cursor-not-allowed dc:opacity-50 text-dc-text-secondary" : I ? "dc:cursor-pointer text-dc-warning bg-dc-warning-bg" : "dc:cursor-pointer text-dc-text-secondary hover:bg-dc-surface-hover"}`,
|
|
2085
|
+
title: I ? "Click to refresh and bypass cache" : "Refresh portlet data (Shift+click to bypass cache)",
|
|
2088
2086
|
children: /* @__PURE__ */ Q(g.RefreshIcon, { style: jt })
|
|
2089
2087
|
}),
|
|
2090
|
-
|
|
2091
|
-
onClick:
|
|
2088
|
+
oe && !z && /* @__PURE__ */ Q("button", {
|
|
2089
|
+
onClick: L,
|
|
2092
2090
|
onTouchEnd: (e) => {
|
|
2093
|
-
e.preventDefault(),
|
|
2091
|
+
e.preventDefault(), L(e);
|
|
2094
2092
|
},
|
|
2095
2093
|
className: "dc:p-1 bg-transparent dc:border-none dc:rounded-sm text-dc-text-secondary dc:cursor-pointer hover:bg-dc-surface-hover dc:transition-colors",
|
|
2096
|
-
title:
|
|
2097
|
-
children: Q(
|
|
2094
|
+
title: ae ? "Copied!" : "Copy chart to clipboard",
|
|
2095
|
+
children: Q(ae ? k : ie, { style: jt })
|
|
2098
2096
|
}),
|
|
2099
|
-
t && C && !
|
|
2097
|
+
t && C && !z && /* @__PURE__ */ $(Z, { children: [
|
|
2100
2098
|
/* @__PURE__ */ Q("button", {
|
|
2101
2099
|
onClick: (t) => {
|
|
2102
2100
|
t.stopPropagation(), h.onOpenFilterConfig(e);
|
|
@@ -2147,8 +2145,8 @@ var Pt = G.memo(function({ isTransparent: e, setChartContainerRef: t, setPortlet
|
|
|
2147
2145
|
})]
|
|
2148
2146
|
}), /* @__PURE__ */ Q(Pt, {
|
|
2149
2147
|
isTransparent: ee,
|
|
2150
|
-
setChartContainerRef:
|
|
2151
|
-
setPortletComponentRef:
|
|
2148
|
+
setChartContainerRef: _e,
|
|
2149
|
+
setPortletComponentRef: ge,
|
|
2152
2150
|
renderQuery: y,
|
|
2153
2151
|
renderChartType: b,
|
|
2154
2152
|
renderChartConfig: x,
|
|
@@ -2158,18 +2156,18 @@ var Pt = G.memo(function({ isTransparent: e, setChartContainerRef: t, setPortlet
|
|
|
2158
2156
|
eagerLoad: e.eagerLoad ?? i ?? !1,
|
|
2159
2157
|
title: e.title,
|
|
2160
2158
|
isMarkdownAutoHeight: D,
|
|
2161
|
-
colorPalette:
|
|
2159
|
+
colorPalette: s,
|
|
2162
2160
|
loadingComponent: a,
|
|
2163
|
-
onDebugDataReady:
|
|
2161
|
+
onDebugDataReady: me
|
|
2164
2162
|
})]
|
|
2165
2163
|
});
|
|
2166
2164
|
}, Mt), It = 16;
|
|
2167
2165
|
function Lt({ rows: e, portlets: t, gridSettings: n, gridWidth: r, canEdit: i, isDragging: a, onRowResize: o, onColumnResize: s, onPortletDragStart: c, onPortletDragEnd: l, onRowDrop: u, onNewRowDrop: d, renderPortlet: f }) {
|
|
2168
2166
|
let p = new Map(t.map((e) => [e.id, e])), [m, h] = X(null), g = (e) => {
|
|
2169
2167
|
h(e);
|
|
2170
|
-
}, _ = a || m !== null, v =
|
|
2168
|
+
}, _ = a || m !== null, v = G((e) => {
|
|
2171
2169
|
c(parseInt(e.currentTarget.dataset.rowIndex || "0", 10), parseInt(e.currentTarget.dataset.columnIndex || "0", 10), e.currentTarget.dataset.portletId || "", e);
|
|
2172
|
-
}, [c]), y =
|
|
2170
|
+
}, [c]), y = G(() => {
|
|
2173
2171
|
g(null), l();
|
|
2174
2172
|
}, [l]), b = m === "row-insert-0", x = m === "row-bottom";
|
|
2175
2173
|
return /* @__PURE__ */ $("div", {
|
|
@@ -2195,7 +2193,7 @@ function Lt({ rows: e, portlets: t, gridSettings: n, gridWidth: r, canEdit: i, i
|
|
|
2195
2193
|
let a = e.columns.length > 0 && e.columns.every((e) => {
|
|
2196
2194
|
let t = p.get(e.portletId);
|
|
2197
2195
|
if (!t) return !1;
|
|
2198
|
-
let n =
|
|
2196
|
+
let n = j(t), r = n.analysisConfig.charts[n.analysisConfig.analysisType];
|
|
2199
2197
|
return r?.chartType === "markdown" && (r.displayConfig?.autoHeight ?? !0);
|
|
2200
2198
|
}), c = a ? void 0 : e.h * n.rowHeight, l = r || n.cols * n.rowHeight, h = m === `row-${t}-insert-0` ? It : 0, _ = m === `row-${t}-insert-${e.columns.length}` ? It : 0, b = (l - (e.columns.length - 1) * It - h - _) / n.cols;
|
|
2201
2199
|
return /* @__PURE__ */ $("div", {
|
|
@@ -2290,7 +2288,7 @@ function Lt({ rows: e, portlets: t, gridSettings: n, gridWidth: r, canEdit: i, i
|
|
|
2290
2288
|
}
|
|
2291
2289
|
//#endregion
|
|
2292
2290
|
//#region src/client/components/FloatingEditToolbar.tsx
|
|
2293
|
-
var Rt =
|
|
2291
|
+
var Rt = o("edit"), zt = o("check"), Bt = o("segment"), Vt = o("table"), Ht = o("add");
|
|
2294
2292
|
function Ut({ className: e }) {
|
|
2295
2293
|
return /* @__PURE__ */ $("svg", {
|
|
2296
2294
|
className: e,
|
|
@@ -2314,7 +2312,7 @@ function Ut({ className: e }) {
|
|
|
2314
2312
|
})]
|
|
2315
2313
|
});
|
|
2316
2314
|
}
|
|
2317
|
-
var Wt =
|
|
2315
|
+
var Wt = o("swatch");
|
|
2318
2316
|
function Gt({ isEditBarVisible: e, position: t, isEditMode: n, onEditModeToggle: r, layoutMode: i, onLayoutModeChange: a, allowedModes: o, canChangeLayoutMode: s, currentPalette: c, onPaletteChange: l, onAddPortlet: u, onAddText: d }) {
|
|
2319
2317
|
let [f, p] = X(!1), m = Y(null);
|
|
2320
2318
|
q(() => {
|
|
@@ -2406,7 +2404,7 @@ function qt({ position: e, currentPalette: t, onPaletteChange: n }) {
|
|
|
2406
2404
|
style: { boxShadow: "var(--dc-shadow-lg)" },
|
|
2407
2405
|
children: /* @__PURE__ */ Q("div", {
|
|
2408
2406
|
className: "dc:py-1",
|
|
2409
|
-
children:
|
|
2407
|
+
children: L.slice().sort((e, t) => e.label.localeCompare(t.label)).map((e) => /* @__PURE__ */ Q("button", {
|
|
2410
2408
|
type: "button",
|
|
2411
2409
|
onClick: () => n(e.name),
|
|
2412
2410
|
className: `dc:w-full dc:px-3 dc:py-2 dc:text-left dc:text-sm hover:bg-dc-surface-hover dc:transition-colors ${e.name === t ? "bg-dc-surface-secondary text-dc-primary" : "text-dc-text-secondary"}`,
|
|
@@ -2433,10 +2431,10 @@ function qt({ position: e, currentPalette: t, onPaletteChange: n }) {
|
|
|
2433
2431
|
}
|
|
2434
2432
|
//#endregion
|
|
2435
2433
|
//#region src/client/components/AnalysisBuilderLazy.tsx
|
|
2436
|
-
var Jt =
|
|
2434
|
+
var Jt = ve(() => import("./analysis-builder-B7XSIMkr.js")), Yt = _e((e, t) => /* @__PURE__ */ Q(he, {
|
|
2437
2435
|
fallback: /* @__PURE__ */ Q("div", {
|
|
2438
2436
|
className: "dc:flex dc:items-center dc:justify-center dc:w-full dc:py-6",
|
|
2439
|
-
children: /* @__PURE__ */ Q(
|
|
2437
|
+
children: /* @__PURE__ */ Q(ae, {})
|
|
2440
2438
|
}),
|
|
2441
2439
|
children: /* @__PURE__ */ Q(Jt, {
|
|
2442
2440
|
...e,
|
|
@@ -2447,7 +2445,7 @@ Yt.displayName = "AnalysisBuilder";
|
|
|
2447
2445
|
//#endregion
|
|
2448
2446
|
//#region src/client/components/PortletAnalysisModal.tsx
|
|
2449
2447
|
function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, title: a, submitText: o, colorPalette: s }) {
|
|
2450
|
-
let c = Y(null), [l, u] = X(""), d = J(() => r ?
|
|
2448
|
+
let c = Y(null), [l, u] = X(""), d = J(() => r ? j(r).analysisConfig : null, [r]), f = J(() => {
|
|
2451
2449
|
if (!d) return;
|
|
2452
2450
|
let e = d.query;
|
|
2453
2451
|
if (e) return e;
|
|
@@ -2471,7 +2469,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
2471
2469
|
funnelDisplayConfig: r.funnelDisplayConfig
|
|
2472
2470
|
};
|
|
2473
2471
|
if (d.query && "funnel" in d.query) {
|
|
2474
|
-
let e =
|
|
2472
|
+
let e = V.load(d), t = d.charts?.funnel;
|
|
2475
2473
|
return {
|
|
2476
2474
|
...e,
|
|
2477
2475
|
funnelChartType: t?.chartType,
|
|
@@ -2482,7 +2480,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
2482
2480
|
}
|
|
2483
2481
|
}, [d, r]), g = J(() => {
|
|
2484
2482
|
if (d?.analysisType === "flow" && d.query && "flow" in d.query) {
|
|
2485
|
-
let e =
|
|
2483
|
+
let e = z.load(d), t = d.charts?.flow;
|
|
2486
2484
|
return {
|
|
2487
2485
|
...e,
|
|
2488
2486
|
flowChartType: t?.chartType,
|
|
@@ -2492,7 +2490,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
2492
2490
|
}
|
|
2493
2491
|
}, [d]), _ = J(() => {
|
|
2494
2492
|
if (d?.analysisType === "retention" && d.query && "retention" in d.query) {
|
|
2495
|
-
let e =
|
|
2493
|
+
let e = se.load(d), t = d.charts?.retention;
|
|
2496
2494
|
return {
|
|
2497
2495
|
...e,
|
|
2498
2496
|
retentionChartType: t?.chartType,
|
|
@@ -2504,7 +2502,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
2504
2502
|
q(() => {
|
|
2505
2503
|
e && u(r?.title || "");
|
|
2506
2504
|
}, [e, r]);
|
|
2507
|
-
let v =
|
|
2505
|
+
let v = G(() => {
|
|
2508
2506
|
if (!l.trim()) {
|
|
2509
2507
|
alert("Please enter a title for the portlet.");
|
|
2510
2508
|
return;
|
|
@@ -2545,7 +2543,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
2545
2543
|
n,
|
|
2546
2544
|
t
|
|
2547
2545
|
]);
|
|
2548
|
-
return /* @__PURE__ */ Q(
|
|
2546
|
+
return /* @__PURE__ */ Q(B, {
|
|
2549
2547
|
isOpen: e,
|
|
2550
2548
|
onClose: t,
|
|
2551
2549
|
title: a,
|
|
@@ -2556,7 +2554,7 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
2556
2554
|
noPadding: !0,
|
|
2557
2555
|
footer: /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q("button", {
|
|
2558
2556
|
type: "button",
|
|
2559
|
-
onClick:
|
|
2557
|
+
onClick: G(() => {
|
|
2560
2558
|
t();
|
|
2561
2559
|
}, [t]),
|
|
2562
2560
|
className: "dc:px-4 dc:py-2 dc:text-sm dc:font-medium text-dc-text-secondary hover:text-dc-text bg-dc-surface dc:border border-dc-border dc:rounded-md hover:bg-dc-surface-hover dc:transition-colors",
|
|
@@ -2610,9 +2608,9 @@ function Xt({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
2610
2608
|
}
|
|
2611
2609
|
//#endregion
|
|
2612
2610
|
//#region src/client/components/TextPortletModal.tsx
|
|
2613
|
-
var Zt =
|
|
2611
|
+
var Zt = o("close");
|
|
2614
2612
|
function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, existingTitles: a = [] }) {
|
|
2615
|
-
let [o, s] = X(J(() => r ?
|
|
2613
|
+
let [o, s] = X(J(() => r ? j(r).analysisConfig.charts.query?.displayConfig ?? {} : {
|
|
2616
2614
|
content: "",
|
|
2617
2615
|
hideHeader: !0,
|
|
2618
2616
|
autoHeight: !0,
|
|
@@ -2623,7 +2621,7 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
|
|
|
2623
2621
|
accentBorder: "none"
|
|
2624
2622
|
}, [r])), [c, l] = X(() => r?.title ?? ""), [u, d] = X(!1), [f, p] = X(r);
|
|
2625
2623
|
if (r !== f) if (p(r), d(!1), r) {
|
|
2626
|
-
let e =
|
|
2624
|
+
let e = j(r).analysisConfig.charts.query;
|
|
2627
2625
|
s(e?.displayConfig ?? {}), l(r.title ?? "");
|
|
2628
2626
|
} else s({
|
|
2629
2627
|
content: "",
|
|
@@ -2635,7 +2633,7 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
|
|
|
2635
2633
|
transparentBackground: !1,
|
|
2636
2634
|
accentBorder: "none"
|
|
2637
2635
|
}), l("");
|
|
2638
|
-
let m =
|
|
2636
|
+
let m = G((e) => {
|
|
2639
2637
|
l(e), d(!0);
|
|
2640
2638
|
}, []), h = J(() => {
|
|
2641
2639
|
if (u) return c;
|
|
@@ -2648,9 +2646,9 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
|
|
|
2648
2646
|
u,
|
|
2649
2647
|
r,
|
|
2650
2648
|
a
|
|
2651
|
-
]), g =
|
|
2649
|
+
]), g = G((e) => {
|
|
2652
2650
|
s(e);
|
|
2653
|
-
}, []), _ =
|
|
2651
|
+
}, []), _ = G(() => {
|
|
2654
2652
|
let e = {
|
|
2655
2653
|
...o,
|
|
2656
2654
|
autoHeight: o.autoHeight ?? !0,
|
|
@@ -2683,7 +2681,7 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
|
|
|
2683
2681
|
r,
|
|
2684
2682
|
h,
|
|
2685
2683
|
n
|
|
2686
|
-
]), v =
|
|
2684
|
+
]), v = G((e) => {
|
|
2687
2685
|
s((t) => ({
|
|
2688
2686
|
...t,
|
|
2689
2687
|
content: e
|
|
@@ -2751,7 +2749,7 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
|
|
|
2751
2749
|
}), /* @__PURE__ */ Q("div", {
|
|
2752
2750
|
className: "dc:overflow-hidden",
|
|
2753
2751
|
style: { minHeight: "200px" },
|
|
2754
|
-
children: /* @__PURE__ */ Q(
|
|
2752
|
+
children: /* @__PURE__ */ Q(H, {
|
|
2755
2753
|
data: [],
|
|
2756
2754
|
displayConfig: o,
|
|
2757
2755
|
colorPalette: i,
|
|
@@ -2762,7 +2760,7 @@ function Qt({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
|
|
|
2762
2760
|
]
|
|
2763
2761
|
}), /* @__PURE__ */ Q("div", {
|
|
2764
2762
|
className: "dc:w-72 dc:shrink-0",
|
|
2765
|
-
children: /* @__PURE__ */ Q(
|
|
2763
|
+
children: /* @__PURE__ */ Q(F, {
|
|
2766
2764
|
chartType: "markdown",
|
|
2767
2765
|
displayConfig: o,
|
|
2768
2766
|
colorPalette: i,
|
|
@@ -2931,87 +2929,87 @@ function $t({ isOpen: e, onClose: t, dashboardFilters: n = [], currentMapping: r
|
|
|
2931
2929
|
}
|
|
2932
2930
|
//#endregion
|
|
2933
2931
|
//#region src/client/components/DashboardFilters/DashboardFilterConfigModal.tsx
|
|
2934
|
-
var en =
|
|
2932
|
+
var en = o("close"), tn = o("chevronDown"), nn = o("dimension"), rn = o("timeDimension"), an = o("measure"), on = o("edit"), sn = o("eye"), cn = o("eyeOff");
|
|
2935
2933
|
function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i, onDelete: a, onClose: o }) {
|
|
2936
|
-
let [s, c] = X(e.label), [l, u] = X(e.filter), [d,
|
|
2934
|
+
let [s, c] = X(e.label), [l, u] = X(e.filter), [d, f] = X(!1), [p, m] = X(!1), [y, x] = X(!1), [S, C] = X(!1), [w, E] = X(!1), [D, O] = X("this_month"), [te, ne] = X(1), [re, ie] = X(""), k = Y(null), ae = d ? t : n;
|
|
2937
2935
|
q(() => {
|
|
2938
2936
|
r && (c(e.label), u(e.filter));
|
|
2939
2937
|
}, [e, r]);
|
|
2940
|
-
let
|
|
2938
|
+
let A = ee(re, 300), j = ce(l.member, ae), oe = j?.field.type || "string", se = oe === "time", M = j?.fieldType === "measure", N = j?.fieldType === "dimension", P = I(l.member, ae), F = v[l.operator], L = b(oe), R = se && l.operator === "inDateRange", z = [
|
|
2941
2939
|
"equals",
|
|
2942
2940
|
"notEquals",
|
|
2943
2941
|
"in",
|
|
2944
2942
|
"notIn"
|
|
2945
|
-
].includes(l.operator) &&
|
|
2943
|
+
].includes(l.operator) && N && !se, { values: B, loading: le, error: V, searchValues: de } = T(l.member, z);
|
|
2946
2944
|
q(() => {
|
|
2947
2945
|
let e = (e) => {
|
|
2948
|
-
|
|
2946
|
+
k.current && !k.current.contains(e.target) && (x(!1), C(!1), E(!1));
|
|
2949
2947
|
};
|
|
2950
2948
|
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
2951
2949
|
}, []), q(() => {
|
|
2952
|
-
|
|
2950
|
+
S && z && de && de("", !0);
|
|
2953
2951
|
}, [
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
2952
|
+
S,
|
|
2953
|
+
z,
|
|
2954
|
+
de
|
|
2957
2955
|
]), q(() => {
|
|
2958
|
-
|
|
2956
|
+
S && z && de && A !== void 0 && de(A);
|
|
2959
2957
|
}, [
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2958
|
+
A,
|
|
2959
|
+
S,
|
|
2960
|
+
z,
|
|
2961
|
+
de
|
|
2964
2962
|
]), q(() => {
|
|
2965
|
-
if (!(!
|
|
2963
|
+
if (!(!R || !l.dateRange)) if (Array.isArray(l.dateRange)) O("custom");
|
|
2966
2964
|
else {
|
|
2967
2965
|
let e = l.dateRange.match(/^last (\d+) (days|weeks|months|quarters|years)$/), t = !e && l.dateRange.match(/^last (day|week|month|quarter|year)$/);
|
|
2968
2966
|
if (e) {
|
|
2969
2967
|
let [, t, n] = e;
|
|
2970
|
-
O(`last_n_${n}`),
|
|
2968
|
+
O(`last_n_${n}`), ne(parseInt(t) || 1);
|
|
2971
2969
|
} else if (t) {
|
|
2972
2970
|
let [, e] = t;
|
|
2973
|
-
O(`last_n_${e === "day" ? "days" : e === "week" ? "weeks" : e === "month" ? "months" : e === "quarter" ? "quarters" : "years"}`),
|
|
2971
|
+
O(`last_n_${e === "day" ? "days" : e === "week" ? "weeks" : e === "month" ? "months" : e === "quarter" ? "quarters" : "years"}`), ne(1);
|
|
2974
2972
|
} else {
|
|
2975
2973
|
let e = !1;
|
|
2976
|
-
for (let t of
|
|
2974
|
+
for (let t of g) if (t.value !== "custom" && !_(t.value) && h(t.value) === l.dateRange) {
|
|
2977
2975
|
O(t.value), e = !0;
|
|
2978
2976
|
break;
|
|
2979
2977
|
}
|
|
2980
2978
|
e || O("custom");
|
|
2981
2979
|
}
|
|
2982
2980
|
}
|
|
2983
|
-
}, [l.dateRange,
|
|
2984
|
-
let
|
|
2985
|
-
let n = e.type, r =
|
|
2981
|
+
}, [l.dateRange, R]);
|
|
2982
|
+
let fe = G((e, t) => {
|
|
2983
|
+
let n = e.type, r = b(n)[0]?.operator || "equals";
|
|
2986
2984
|
u({
|
|
2987
2985
|
member: e.name,
|
|
2988
2986
|
operator: r,
|
|
2989
2987
|
values: []
|
|
2990
|
-
}),
|
|
2991
|
-
}, []),
|
|
2988
|
+
}), m(!1);
|
|
2989
|
+
}, []), H = G((e) => {
|
|
2992
2990
|
u({
|
|
2993
2991
|
member: l.member,
|
|
2994
2992
|
operator: e,
|
|
2995
2993
|
values: []
|
|
2996
2994
|
}), x(!1);
|
|
2997
|
-
}, [l.member]),
|
|
2995
|
+
}, [l.member]), pe = G((e) => {
|
|
2998
2996
|
let t = l.values || [];
|
|
2999
|
-
|
|
2997
|
+
F?.supportsMultipleValues ? t.includes(e) || u({
|
|
3000
2998
|
...l,
|
|
3001
2999
|
values: [...t, e]
|
|
3002
3000
|
}) : (u({
|
|
3003
3001
|
...l,
|
|
3004
3002
|
values: [e]
|
|
3005
|
-
}),
|
|
3006
|
-
}, [l,
|
|
3003
|
+
}), C(!1)), ie("");
|
|
3004
|
+
}, [l, F?.supportsMultipleValues]), U = G((e) => {
|
|
3007
3005
|
let t = (l.values || []).filter((t) => t !== e);
|
|
3008
3006
|
u({
|
|
3009
3007
|
...l,
|
|
3010
3008
|
values: t
|
|
3011
3009
|
});
|
|
3012
|
-
}, [l]),
|
|
3010
|
+
}, [l]), W = G((e) => {
|
|
3013
3011
|
let t = e.target.value;
|
|
3014
|
-
if (
|
|
3012
|
+
if (F?.valueType === "number") {
|
|
3015
3013
|
let e = parseFloat(t);
|
|
3016
3014
|
isNaN(e) ? (t === "" || t === "-") && u({
|
|
3017
3015
|
...l,
|
|
@@ -3024,56 +3022,56 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3024
3022
|
...l,
|
|
3025
3023
|
values: t ? [t] : []
|
|
3026
3024
|
});
|
|
3027
|
-
}, [l,
|
|
3025
|
+
}, [l, F?.valueType]), me = G((e) => {
|
|
3028
3026
|
let t = parseFloat(e.target.value), n = [isNaN(t) ? "" : t, (l.values?.length >= 2 ? l.values : ["", ""])[1]].filter((e) => e !== "");
|
|
3029
3027
|
u({
|
|
3030
3028
|
...l,
|
|
3031
3029
|
values: n
|
|
3032
3030
|
});
|
|
3033
|
-
}, [l]),
|
|
3031
|
+
}, [l]), he = G((e) => {
|
|
3034
3032
|
let t = parseFloat(e.target.value), n = [(l.values?.length >= 2 ? l.values : ["", ""])[0], isNaN(t) ? "" : t].filter((e) => e !== "");
|
|
3035
3033
|
u({
|
|
3036
3034
|
...l,
|
|
3037
3035
|
values: n
|
|
3038
3036
|
});
|
|
3039
|
-
}, [l]),
|
|
3037
|
+
}, [l]), ge = G((e) => {
|
|
3040
3038
|
let t = e.target.value;
|
|
3041
3039
|
u({
|
|
3042
3040
|
...l,
|
|
3043
3041
|
values: t ? [t] : []
|
|
3044
3042
|
});
|
|
3045
|
-
}, [l]),
|
|
3046
|
-
O(e),
|
|
3043
|
+
}, [l]), _e = G((e) => {
|
|
3044
|
+
O(e), E(!1);
|
|
3047
3045
|
let t;
|
|
3048
3046
|
if (e === "custom") {
|
|
3049
3047
|
let e = (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
|
|
3050
3048
|
t = [e, e];
|
|
3051
|
-
} else t =
|
|
3049
|
+
} else t = _(e) ? h(e, te) : h(e);
|
|
3052
3050
|
u({
|
|
3053
3051
|
...l,
|
|
3054
3052
|
dateRange: t
|
|
3055
3053
|
});
|
|
3056
|
-
}, [l, te]),
|
|
3057
|
-
if (
|
|
3058
|
-
let t =
|
|
3054
|
+
}, [l, te]), ve = G((e) => {
|
|
3055
|
+
if (ne(e), _(D)) {
|
|
3056
|
+
let t = h(D, e);
|
|
3059
3057
|
u({
|
|
3060
3058
|
...l,
|
|
3061
3059
|
dateRange: t
|
|
3062
3060
|
});
|
|
3063
3061
|
}
|
|
3064
|
-
}, [l,
|
|
3062
|
+
}, [l, D]), ye = G((e) => {
|
|
3065
3063
|
let t = e.target.value, n = (Array.isArray(l.dateRange) ? l.dateRange : [l.dateRange || "", ""])[1] || t;
|
|
3066
3064
|
u({
|
|
3067
3065
|
...l,
|
|
3068
3066
|
dateRange: [t, n]
|
|
3069
3067
|
});
|
|
3070
|
-
}, [l]),
|
|
3068
|
+
}, [l]), K = G((e) => {
|
|
3071
3069
|
let t = e.target.value, n = (Array.isArray(l.dateRange) ? l.dateRange : ["", l.dateRange || ""])[0] || t;
|
|
3072
3070
|
u({
|
|
3073
3071
|
...l,
|
|
3074
3072
|
dateRange: [n, t]
|
|
3075
3073
|
});
|
|
3076
|
-
}, [l]), be =
|
|
3074
|
+
}, [l]), be = G(() => {
|
|
3077
3075
|
if (!s.trim()) {
|
|
3078
3076
|
alert("Filter label is required");
|
|
3079
3077
|
return;
|
|
@@ -3094,13 +3092,13 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3094
3092
|
s,
|
|
3095
3093
|
l,
|
|
3096
3094
|
i
|
|
3097
|
-
]), J =
|
|
3095
|
+
]), J = L.find((e) => e.operator === l.operator)?.label || l.operator, xe = g.find((e) => e.value === D)?.label || "Select range", Se = se ? rn : M ? an : nn;
|
|
3098
3096
|
return r ? /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q("div", {
|
|
3099
3097
|
className: "dc:fixed dc:inset-0 dc:z-50 dc:flex dc:items-center dc:justify-center dc:p-4",
|
|
3100
3098
|
style: { backgroundColor: "var(--dc-overlay)" },
|
|
3101
3099
|
onClick: o,
|
|
3102
3100
|
children: /* @__PURE__ */ $("div", {
|
|
3103
|
-
ref:
|
|
3101
|
+
ref: k,
|
|
3104
3102
|
className: "bg-dc-surface dc:rounded-lg dc:border border-dc-border dc:max-w-md dc:w-full dc:max-h-[90vh] dc:overflow-auto",
|
|
3105
3103
|
style: { boxShadow: "var(--dc-shadow-xl)" },
|
|
3106
3104
|
onClick: (e) => e.stopPropagation(),
|
|
@@ -3145,20 +3143,20 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3145
3143
|
className: "dc:block dc:text-sm dc:font-medium text-dc-text-secondary",
|
|
3146
3144
|
children: "Field"
|
|
3147
3145
|
}), /* @__PURE__ */ Q("button", {
|
|
3148
|
-
onClick: () =>
|
|
3146
|
+
onClick: () => f(!d),
|
|
3149
3147
|
className: "dc:flex dc:items-center dc:gap-1 dc:text-xs dc:px-2 dc:py-1 dc:rounded hover:bg-dc-surface-hover text-dc-text-muted",
|
|
3150
3148
|
title: d ? "Show dashboard fields only" : "Show all fields",
|
|
3151
3149
|
children: d ? /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q(cn, { className: "dc:w-3.5 dc:h-3.5" }), /* @__PURE__ */ Q("span", { children: "Dashboard" })] }) : /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q(sn, { className: "dc:w-3.5 dc:h-3.5" }), /* @__PURE__ */ Q("span", { children: "All" })] })
|
|
3152
3150
|
})]
|
|
3153
3151
|
}), /* @__PURE__ */ $("button", {
|
|
3154
|
-
onClick: () =>
|
|
3152
|
+
onClick: () => m(!0),
|
|
3155
3153
|
className: "dc:w-full dc:flex dc:items-center dc:gap-2 dc:p-3 bg-dc-surface-secondary dc:rounded hover:bg-dc-surface-tertiary dc:transition-colors",
|
|
3156
3154
|
children: [l.member ? /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q("span", {
|
|
3157
|
-
className: `dc:w-6 dc:h-6 dc:flex dc:items-center dc:justify-center dc:rounded ${
|
|
3155
|
+
className: `dc:w-6 dc:h-6 dc:flex dc:items-center dc:justify-center dc:rounded ${se ? "bg-dc-time-dimension" : M ? "bg-dc-measure" : "bg-dc-dimension"} ${se ? "text-dc-time-dimension-text" : M ? "text-dc-measure-text" : "text-dc-dimension-text"}`,
|
|
3158
3156
|
children: Se && /* @__PURE__ */ Q(Se, { className: "dc:w-4 dc:h-4" })
|
|
3159
3157
|
}), /* @__PURE__ */ Q("span", {
|
|
3160
3158
|
className: "dc:flex-1 dc:text-sm dc:font-medium text-dc-text dc:text-left",
|
|
3161
|
-
children:
|
|
3159
|
+
children: P
|
|
3162
3160
|
})] }) : /* @__PURE__ */ $(Z, { children: [/* @__PURE__ */ Q("span", {
|
|
3163
3161
|
className: "dc:w-6 dc:h-6 dc:flex dc:items-center dc:justify-center dc:rounded bg-dc-surface-tertiary text-dc-text-muted",
|
|
3164
3162
|
children: /* @__PURE__ */ Q(nn, { className: "dc:w-4 dc:h-4" })
|
|
@@ -3174,17 +3172,17 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3174
3172
|
className: "dc:relative",
|
|
3175
3173
|
children: [/* @__PURE__ */ $("button", {
|
|
3176
3174
|
onClick: () => {
|
|
3177
|
-
|
|
3175
|
+
C(!1), E(!1), x(!y);
|
|
3178
3176
|
},
|
|
3179
3177
|
className: "dc:w-full dc:flex dc:items-center dc:justify-between dc:text-left dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text hover:bg-dc-surface-hover",
|
|
3180
3178
|
children: [/* @__PURE__ */ Q("span", {
|
|
3181
3179
|
className: "dc:truncate",
|
|
3182
3180
|
children: J
|
|
3183
|
-
}), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${
|
|
3184
|
-
}),
|
|
3181
|
+
}), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${y ? "dc:rotate-180" : ""}` })]
|
|
3182
|
+
}), y && /* @__PURE__ */ Q("div", {
|
|
3185
3183
|
className: "dc:absolute dc:z-[60] dc:left-0 dc:right-0 dc:mt-1 bg-dc-surface dc:border border-dc-border dc:rounded dc:shadow-lg dc:max-h-48 dc:overflow-y-auto",
|
|
3186
|
-
children:
|
|
3187
|
-
onClick: () =>
|
|
3184
|
+
children: L.map((e) => /* @__PURE__ */ Q("button", {
|
|
3185
|
+
onClick: () => H(e.operator),
|
|
3188
3186
|
className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${e.operator === l.operator ? "bg-dc-primary/10 text-dc-primary" : "text-dc-text"}`,
|
|
3189
3187
|
children: e.label
|
|
3190
3188
|
}, e.operator))
|
|
@@ -3193,50 +3191,50 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3193
3191
|
l.member && !e.isUniversalTime && /* @__PURE__ */ $("div", { children: [/* @__PURE__ */ Q("label", {
|
|
3194
3192
|
className: "dc:block dc:text-sm dc:font-medium text-dc-text-secondary dc:mb-2",
|
|
3195
3193
|
children: "Default Value"
|
|
3196
|
-
}),
|
|
3194
|
+
}), F?.requiresValues ? R ? /* @__PURE__ */ $("div", {
|
|
3197
3195
|
className: "dc:space-y-2",
|
|
3198
3196
|
children: [
|
|
3199
3197
|
/* @__PURE__ */ $("div", {
|
|
3200
3198
|
className: "dc:relative",
|
|
3201
3199
|
children: [/* @__PURE__ */ $("button", {
|
|
3202
3200
|
onClick: () => {
|
|
3203
|
-
x(!1),
|
|
3201
|
+
x(!1), C(!1), E(!w);
|
|
3204
3202
|
},
|
|
3205
3203
|
className: "dc:w-full dc:flex dc:items-center dc:justify-between dc:text-left dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text hover:bg-dc-surface-hover",
|
|
3206
3204
|
children: [/* @__PURE__ */ Q("span", {
|
|
3207
3205
|
className: "dc:truncate",
|
|
3208
3206
|
children: xe
|
|
3209
|
-
}), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${
|
|
3210
|
-
}),
|
|
3207
|
+
}), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${w ? "dc:rotate-180" : ""}` })]
|
|
3208
|
+
}), w && /* @__PURE__ */ Q("div", {
|
|
3211
3209
|
className: "dc:absolute dc:z-[60] dc:left-0 dc:right-0 dc:mt-1 bg-dc-surface dc:border border-dc-border dc:rounded dc:shadow-lg dc:max-h-48 dc:overflow-y-auto",
|
|
3212
|
-
children:
|
|
3213
|
-
onClick: () =>
|
|
3214
|
-
className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${e.value ===
|
|
3210
|
+
children: g.map((e) => /* @__PURE__ */ Q("button", {
|
|
3211
|
+
onClick: () => _e(e.value),
|
|
3212
|
+
className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${e.value === D ? "bg-dc-primary/10 text-dc-primary" : "text-dc-text"}`,
|
|
3215
3213
|
children: e.label
|
|
3216
3214
|
}, e.value))
|
|
3217
3215
|
})]
|
|
3218
3216
|
}),
|
|
3219
|
-
|
|
3217
|
+
_(D) && /* @__PURE__ */ $("div", {
|
|
3220
3218
|
className: "dc:flex dc:items-center dc:gap-2",
|
|
3221
3219
|
children: [/* @__PURE__ */ Q("input", {
|
|
3222
3220
|
type: "number",
|
|
3223
3221
|
min: "1",
|
|
3224
3222
|
max: "1000",
|
|
3225
3223
|
value: te,
|
|
3226
|
-
onChange: (e) =>
|
|
3224
|
+
onChange: (e) => ve(Math.max(1, parseInt(e.target.value) || 1)),
|
|
3227
3225
|
className: "dc:flex-1 dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text dc:w-20"
|
|
3228
3226
|
}), /* @__PURE__ */ Q("span", {
|
|
3229
3227
|
className: "dc:text-sm text-dc-text-muted",
|
|
3230
|
-
children:
|
|
3228
|
+
children: D.replace("last_n_", "")
|
|
3231
3229
|
})]
|
|
3232
3230
|
}),
|
|
3233
|
-
|
|
3231
|
+
D === "custom" && /* @__PURE__ */ $("div", {
|
|
3234
3232
|
className: "dc:flex dc:items-center dc:gap-2",
|
|
3235
3233
|
children: [
|
|
3236
3234
|
/* @__PURE__ */ Q("input", {
|
|
3237
3235
|
type: "date",
|
|
3238
3236
|
value: Array.isArray(l.dateRange) ? l.dateRange[0] : "",
|
|
3239
|
-
onChange:
|
|
3237
|
+
onChange: ye,
|
|
3240
3238
|
className: "dc:flex-1 dc:text-sm dc:border border-dc-border dc:rounded dc:px-2 dc:py-2 bg-dc-surface text-dc-text"
|
|
3241
3239
|
}),
|
|
3242
3240
|
/* @__PURE__ */ Q("span", {
|
|
@@ -3246,7 +3244,7 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3246
3244
|
/* @__PURE__ */ Q("input", {
|
|
3247
3245
|
type: "date",
|
|
3248
3246
|
value: Array.isArray(l.dateRange) ? l.dateRange[1] : "",
|
|
3249
|
-
onChange:
|
|
3247
|
+
onChange: K,
|
|
3250
3248
|
className: "dc:flex-1 dc:text-sm dc:border border-dc-border dc:rounded dc:px-2 dc:py-2 bg-dc-surface text-dc-text"
|
|
3251
3249
|
})
|
|
3252
3250
|
]
|
|
@@ -3258,7 +3256,7 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3258
3256
|
/* @__PURE__ */ Q("input", {
|
|
3259
3257
|
type: "number",
|
|
3260
3258
|
value: l.values?.[0] ?? "",
|
|
3261
|
-
onChange:
|
|
3259
|
+
onChange: me,
|
|
3262
3260
|
placeholder: "Min",
|
|
3263
3261
|
className: "dc:flex-1 dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text"
|
|
3264
3262
|
}),
|
|
@@ -3269,23 +3267,23 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3269
3267
|
/* @__PURE__ */ Q("input", {
|
|
3270
3268
|
type: "number",
|
|
3271
3269
|
value: l.values?.[1] ?? "",
|
|
3272
|
-
onChange:
|
|
3270
|
+
onChange: he,
|
|
3273
3271
|
placeholder: "Max",
|
|
3274
3272
|
className: "dc:flex-1 dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text"
|
|
3275
3273
|
})
|
|
3276
3274
|
]
|
|
3277
|
-
}) :
|
|
3275
|
+
}) : F?.valueType === "date" ? /* @__PURE__ */ Q("input", {
|
|
3278
3276
|
type: "date",
|
|
3279
3277
|
value: l.values?.[0] || "",
|
|
3280
|
-
onChange:
|
|
3278
|
+
onChange: ge,
|
|
3281
3279
|
className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text"
|
|
3282
|
-
}) :
|
|
3280
|
+
}) : F?.valueType === "number" ? /* @__PURE__ */ Q("input", {
|
|
3283
3281
|
type: "number",
|
|
3284
3282
|
value: l.values?.[0] ?? "",
|
|
3285
|
-
onChange:
|
|
3283
|
+
onChange: W,
|
|
3286
3284
|
placeholder: "Enter number",
|
|
3287
3285
|
className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text"
|
|
3288
|
-
}) :
|
|
3286
|
+
}) : z ? /* @__PURE__ */ $("div", {
|
|
3289
3287
|
className: "dc:space-y-2",
|
|
3290
3288
|
children: [l.values && l.values.length > 0 && /* @__PURE__ */ Q("div", {
|
|
3291
3289
|
className: "dc:flex dc:flex-wrap dc:gap-1.5",
|
|
@@ -3295,7 +3293,7 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3295
3293
|
className: "dc:max-w-[150px] dc:truncate",
|
|
3296
3294
|
children: String(e)
|
|
3297
3295
|
}), /* @__PURE__ */ Q("button", {
|
|
3298
|
-
onClick: () =>
|
|
3296
|
+
onClick: () => U(e),
|
|
3299
3297
|
className: "hover:text-dc-danger",
|
|
3300
3298
|
children: /* @__PURE__ */ Q(en, { className: "dc:w-3.5 dc:h-3.5" })
|
|
3301
3299
|
})]
|
|
@@ -3304,40 +3302,40 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3304
3302
|
className: "dc:relative",
|
|
3305
3303
|
children: [/* @__PURE__ */ $("button", {
|
|
3306
3304
|
onClick: () => {
|
|
3307
|
-
x(!1),
|
|
3305
|
+
x(!1), E(!1), C(!S);
|
|
3308
3306
|
},
|
|
3309
3307
|
className: "dc:w-full dc:flex dc:items-center dc:justify-between dc:text-left dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text hover:bg-dc-surface-hover",
|
|
3310
3308
|
children: [/* @__PURE__ */ Q("span", {
|
|
3311
3309
|
className: "text-dc-text-muted dc:truncate",
|
|
3312
|
-
children:
|
|
3313
|
-
}), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${
|
|
3314
|
-
}),
|
|
3310
|
+
children: le ? "Loading..." : "Select value..."
|
|
3311
|
+
}), /* @__PURE__ */ Q(tn, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${S ? "dc:rotate-180" : ""}` })]
|
|
3312
|
+
}), S && /* @__PURE__ */ $("div", {
|
|
3315
3313
|
className: "dc:absolute dc:z-[60] dc:left-0 dc:right-0 dc:mt-1 bg-dc-surface dc:border border-dc-border dc:rounded dc:shadow-lg dc:max-h-56 dc:overflow-hidden",
|
|
3316
3314
|
children: [/* @__PURE__ */ Q("div", {
|
|
3317
3315
|
className: "dc:p-2 dc:border-b border-dc-border",
|
|
3318
3316
|
children: /* @__PURE__ */ Q("input", {
|
|
3319
3317
|
type: "text",
|
|
3320
|
-
value:
|
|
3321
|
-
onChange: (e) =>
|
|
3318
|
+
value: re,
|
|
3319
|
+
onChange: (e) => ie(e.target.value),
|
|
3322
3320
|
placeholder: "Search...",
|
|
3323
3321
|
className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text",
|
|
3324
3322
|
autoFocus: !0
|
|
3325
3323
|
})
|
|
3326
3324
|
}), /* @__PURE__ */ Q("div", {
|
|
3327
3325
|
className: "dc:max-h-40 dc:overflow-y-auto",
|
|
3328
|
-
children:
|
|
3326
|
+
children: le ? /* @__PURE__ */ Q("div", {
|
|
3329
3327
|
className: "dc:px-3 dc:py-2 dc:text-sm text-dc-text-muted",
|
|
3330
3328
|
children: "Loading..."
|
|
3331
|
-
}) :
|
|
3329
|
+
}) : V ? /* @__PURE__ */ $("div", {
|
|
3332
3330
|
className: "dc:px-3 dc:py-2 dc:text-sm text-dc-error",
|
|
3333
|
-
children: ["Error: ",
|
|
3334
|
-
}) :
|
|
3331
|
+
children: ["Error: ", V]
|
|
3332
|
+
}) : B.length === 0 ? /* @__PURE__ */ Q("div", {
|
|
3335
3333
|
className: "dc:px-3 dc:py-2 dc:text-sm text-dc-text-muted",
|
|
3336
3334
|
children: "No values found"
|
|
3337
|
-
}) :
|
|
3335
|
+
}) : B.map((e, t) => {
|
|
3338
3336
|
let n = l.values?.includes(e);
|
|
3339
3337
|
return /* @__PURE__ */ $("button", {
|
|
3340
|
-
onClick: () =>
|
|
3338
|
+
onClick: () => pe(e),
|
|
3341
3339
|
className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${n ? "bg-dc-primary/10 text-dc-primary" : "text-dc-text"}`,
|
|
3342
3340
|
children: [String(e), n && /* @__PURE__ */ Q("span", {
|
|
3343
3341
|
className: "dc:float-right",
|
|
@@ -3351,7 +3349,7 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3351
3349
|
}) : /* @__PURE__ */ Q("input", {
|
|
3352
3350
|
type: "text",
|
|
3353
3351
|
value: l.values?.[0] ?? "",
|
|
3354
|
-
onChange:
|
|
3352
|
+
onChange: W,
|
|
3355
3353
|
placeholder: "Enter value...",
|
|
3356
3354
|
className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded dc:px-3 dc:py-2 bg-dc-surface text-dc-text placeholder-dc-text-muted"
|
|
3357
3355
|
}) : /* @__PURE__ */ Q("div", {
|
|
@@ -3381,19 +3379,19 @@ function ln({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
3381
3379
|
})
|
|
3382
3380
|
]
|
|
3383
3381
|
})
|
|
3384
|
-
}),
|
|
3385
|
-
isOpen:
|
|
3386
|
-
onClose: () =>
|
|
3387
|
-
onSelect:
|
|
3382
|
+
}), p && /* @__PURE__ */ Q(ue, {
|
|
3383
|
+
isOpen: p,
|
|
3384
|
+
onClose: () => m(!1),
|
|
3385
|
+
onSelect: fe,
|
|
3388
3386
|
mode: "filter",
|
|
3389
|
-
schema:
|
|
3387
|
+
schema: ae,
|
|
3390
3388
|
selectedFields: l.member ? [l.member] : []
|
|
3391
3389
|
})] }) : null;
|
|
3392
3390
|
}
|
|
3393
3391
|
//#endregion
|
|
3394
3392
|
//#region src/client/components/DashboardFilters/FilterEditModal.tsx
|
|
3395
3393
|
var un = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onClose: a, onDelete: o, convertToMetaResponse: s }) => {
|
|
3396
|
-
let c = J(() => s(t), [t, s]), l = J(() =>
|
|
3394
|
+
let c = J(() => s(t), [t, s]), l = J(() => de(n), [n]), u = J(() => {
|
|
3397
3395
|
if (!t) return null;
|
|
3398
3396
|
let e = t.cubes.map((e) => {
|
|
3399
3397
|
let t = e.name, n = e.measures.filter((e) => {
|
|
@@ -3417,7 +3415,7 @@ var un = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
3417
3415
|
t,
|
|
3418
3416
|
l,
|
|
3419
3417
|
s
|
|
3420
|
-
]), d =
|
|
3418
|
+
]), d = G(async (e) => {
|
|
3421
3419
|
try {
|
|
3422
3420
|
await i(e), a();
|
|
3423
3421
|
} catch (e) {
|
|
@@ -3433,8 +3431,8 @@ var un = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
3433
3431
|
onDelete: o,
|
|
3434
3432
|
onClose: a
|
|
3435
3433
|
}) : null;
|
|
3436
|
-
}, dn =
|
|
3437
|
-
let [s, c] =
|
|
3434
|
+
}, dn = o("filter"), fn = o("add"), pn = o("close"), mn = o("edit"), hn = o("chevronDown"), gn = o("timeDimension"), _n = ({ dashboardFilters: e, onAddFilter: t, onAddTimeFilter: n, onEditFilter: r, onRemoveFilter: i, selectedFilterId: a, onFilterSelect: o }) => {
|
|
3435
|
+
let [s, c] = W.useState(!1), l = (e) => {
|
|
3438
3436
|
let { id: t, label: n, isUniversalTime: s } = e, c = a === t;
|
|
3439
3437
|
return /* @__PURE__ */ $("div", {
|
|
3440
3438
|
className: "dc:inline-flex dc:items-center dc:gap-1.5 dc:px-2.5 dc:py-1 dc:rounded-md dc:border dc:text-xs dc:transition-all dc:cursor-pointer dc:hover:shadow-md",
|
|
@@ -3859,13 +3857,13 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
3859
3857
|
label: "Years"
|
|
3860
3858
|
}
|
|
3861
3859
|
], En = ({ isOpen: e, onClose: t, onDateRangeChange: n, currentDateRange: r }) => {
|
|
3862
|
-
let i = Y(null), [a, o] = X("fixed"), [s, c] = X(""), [l, u] = X(""), [d,
|
|
3860
|
+
let i = Y(null), [a, o] = X("fixed"), [s, c] = X(""), [l, u] = X(""), [d, f] = X(""), [p, m] = X(7), [g, _] = X("days");
|
|
3863
3861
|
q(() => {
|
|
3864
3862
|
if (r) if (Array.isArray(r)) o("fixed"), c(r[0] || ""), u(r[1] || r[0] || "");
|
|
3865
3863
|
else {
|
|
3866
3864
|
let e = r.match(/^last\s+(\d+)\s+(day|days|week|weeks|month|months|quarter|quarters|year|years)$/i);
|
|
3867
3865
|
if (e) {
|
|
3868
|
-
o("last"),
|
|
3866
|
+
o("last"), m(parseInt(e[1], 10));
|
|
3869
3867
|
let t = e[2].toLowerCase();
|
|
3870
3868
|
_(t === "day" ? "days" : t === "week" ? "weeks" : t === "month" ? "months" : t === "quarter" ? "quarters" : t === "year" ? "years" : t.endsWith("s") ? t : `${t}s`);
|
|
3871
3869
|
}
|
|
@@ -3883,18 +3881,18 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
3883
3881
|
clearTimeout(a), document.removeEventListener("mousedown", n), document.removeEventListener("keydown", r);
|
|
3884
3882
|
};
|
|
3885
3883
|
}, [e, t]);
|
|
3886
|
-
let v =
|
|
3884
|
+
let v = G(() => {
|
|
3887
3885
|
s && l ? n([s, l]) : s && n([s, s]);
|
|
3888
3886
|
}, [
|
|
3889
3887
|
s,
|
|
3890
3888
|
l,
|
|
3891
3889
|
n
|
|
3892
|
-
]), y =
|
|
3893
|
-
d && n([d,
|
|
3894
|
-
}, [d, n]), b =
|
|
3895
|
-
|
|
3890
|
+
]), y = G(() => {
|
|
3891
|
+
d && n([d, O(/* @__PURE__ */ new Date())]);
|
|
3892
|
+
}, [d, n]), b = G(() => {
|
|
3893
|
+
p > 0 && n(h(`last_n_${g}`, p));
|
|
3896
3894
|
}, [
|
|
3897
|
-
|
|
3895
|
+
p,
|
|
3898
3896
|
g,
|
|
3899
3897
|
n
|
|
3900
3898
|
]);
|
|
@@ -3991,7 +3989,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
3991
3989
|
}), /* @__PURE__ */ Q("input", {
|
|
3992
3990
|
type: "date",
|
|
3993
3991
|
value: d,
|
|
3994
|
-
onChange: (e) =>
|
|
3992
|
+
onChange: (e) => f(e.target.value),
|
|
3995
3993
|
className: "dc:w-full dc:px-3 dc:py-2 dc:text-sm dc:border dc:rounded dc:focus:outline-none dc:focus:ring-2",
|
|
3996
3994
|
style: {
|
|
3997
3995
|
borderColor: "var(--dc-border)",
|
|
@@ -4032,8 +4030,8 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4032
4030
|
type: "number",
|
|
4033
4031
|
min: "1",
|
|
4034
4032
|
max: "999",
|
|
4035
|
-
value:
|
|
4036
|
-
onChange: (e) =>
|
|
4033
|
+
value: p,
|
|
4034
|
+
onChange: (e) => m(Math.max(1, parseInt(e.target.value, 10) || 1)),
|
|
4037
4035
|
className: "dc:w-full dc:px-3 dc:py-2 dc:text-sm dc:border dc:rounded dc:focus:outline-none dc:focus:ring-2",
|
|
4038
4036
|
style: {
|
|
4039
4037
|
borderColor: "var(--dc-border)",
|
|
@@ -4068,15 +4066,15 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4068
4066
|
style: { color: "var(--dc-text-secondary)" },
|
|
4069
4067
|
children: [
|
|
4070
4068
|
"Last ",
|
|
4071
|
-
|
|
4069
|
+
p,
|
|
4072
4070
|
" ",
|
|
4073
|
-
|
|
4071
|
+
p === 1 ? g.slice(0, -1) : g
|
|
4074
4072
|
]
|
|
4075
4073
|
}),
|
|
4076
4074
|
/* @__PURE__ */ Q("button", {
|
|
4077
4075
|
type: "button",
|
|
4078
4076
|
onClick: b,
|
|
4079
|
-
disabled:
|
|
4077
|
+
disabled: p < 1,
|
|
4080
4078
|
className: "dc:w-full dc:py-2 dc:text-sm dc:font-medium dc:rounded dc:transition-colors dc:disabled:opacity-50 dc:disabled:cursor-not-allowed",
|
|
4081
4079
|
style: {
|
|
4082
4080
|
backgroundColor: "var(--dc-primary)",
|
|
@@ -4104,7 +4102,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4104
4102
|
})
|
|
4105
4103
|
]
|
|
4106
4104
|
});
|
|
4107
|
-
}, Dn =
|
|
4105
|
+
}, Dn = o("check"), On = ({ isOpen: e, onClose: t, onSelect: n, currentXTD: r }) => {
|
|
4108
4106
|
let i = Y(null);
|
|
4109
4107
|
if (q(() => {
|
|
4110
4108
|
if (!e) return;
|
|
@@ -4165,70 +4163,70 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4165
4163
|
}, e.id);
|
|
4166
4164
|
})
|
|
4167
4165
|
});
|
|
4168
|
-
}, kn =
|
|
4169
|
-
let a =
|
|
4166
|
+
}, kn = o("chevronDown"), An = o("close"), jn = ({ fieldName: e, operator: t, values: n, onValuesChange: r, schema: i }) => {
|
|
4167
|
+
let a = v[t], [o, s] = X(!1), [c, l] = X(""), [u, d] = X(!1), f = Y(null), p = Y(""), m = ee(c, 300), h = J(() => i ? i.cubes.some((t) => t.dimensions.some((t) => t.name === e)) : !1, [i, e]), g = J(() => i ? i.cubes.some((t) => t.dimensions.some((t) => t.name === e && t.type === "time")) : !1, [i, e]), _ = J(() => [
|
|
4170
4168
|
"equals",
|
|
4171
4169
|
"notEquals",
|
|
4172
4170
|
"in",
|
|
4173
4171
|
"notIn"
|
|
4174
|
-
].includes(t) &&
|
|
4172
|
+
].includes(t) && h && !g, [
|
|
4175
4173
|
t,
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
]), y =
|
|
4174
|
+
h,
|
|
4175
|
+
g
|
|
4176
|
+
]), y = _, { values: b, loading: x, error: S, searchValues: C } = T(e, _);
|
|
4179
4177
|
q(() => {
|
|
4180
4178
|
let e = (e) => {
|
|
4181
4179
|
f.current && !f.current.contains(e.target) && s(!1);
|
|
4182
4180
|
};
|
|
4183
4181
|
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
4184
4182
|
}, []), q(() => {
|
|
4185
|
-
o &&
|
|
4183
|
+
o && _ && C && (C("", !0), d(!0), p.current = "");
|
|
4186
4184
|
}, [
|
|
4187
4185
|
o,
|
|
4188
|
-
|
|
4189
|
-
|
|
4186
|
+
_,
|
|
4187
|
+
C
|
|
4190
4188
|
]), q(() => {
|
|
4191
|
-
u &&
|
|
4189
|
+
u && _ && C && m !== p.current && (p.current = m, C(m));
|
|
4192
4190
|
}, [
|
|
4193
4191
|
m,
|
|
4194
4192
|
u,
|
|
4195
|
-
|
|
4196
|
-
|
|
4193
|
+
_,
|
|
4194
|
+
C
|
|
4197
4195
|
]);
|
|
4198
|
-
let
|
|
4196
|
+
let w = G(() => {
|
|
4199
4197
|
let e = !o;
|
|
4200
4198
|
s(e), e || (l(""), p.current = "");
|
|
4201
|
-
}, [o]),
|
|
4199
|
+
}, [o]), E = G((e) => {
|
|
4202
4200
|
let t = e.target.value;
|
|
4203
4201
|
l(t);
|
|
4204
|
-
}, []),
|
|
4202
|
+
}, []), D = G((e) => {
|
|
4205
4203
|
a.supportsMultipleValues ? n.includes(e) || r([...n, e]) : (r([e]), s(!1)), l("");
|
|
4206
4204
|
}, [
|
|
4207
4205
|
a.supportsMultipleValues,
|
|
4208
4206
|
n,
|
|
4209
4207
|
r
|
|
4210
|
-
]), O =
|
|
4208
|
+
]), O = G((e) => {
|
|
4211
4209
|
r(n.filter((t) => t !== e));
|
|
4212
|
-
}, [n, r]), te =
|
|
4210
|
+
}, [n, r]), te = G((e) => {
|
|
4213
4211
|
let t = e.target.value;
|
|
4214
4212
|
if (a.valueType === "number") {
|
|
4215
4213
|
let e = parseFloat(t);
|
|
4216
4214
|
isNaN(e) ? (t === "" || t === "-") && r([]) : r([e]);
|
|
4217
4215
|
} else r(t ? [t] : []);
|
|
4218
|
-
}, [a.valueType, r]),
|
|
4216
|
+
}, [a.valueType, r]), ne = G((e) => {
|
|
4219
4217
|
let i = e.target.value;
|
|
4220
4218
|
r(t === "inDateRange" ? [i, (n.length >= 2 ? n : ["", ""])[1]] : i ? [i] : []);
|
|
4221
4219
|
}, [
|
|
4222
4220
|
t,
|
|
4223
4221
|
n,
|
|
4224
4222
|
r
|
|
4225
|
-
]),
|
|
4223
|
+
]), re = G((e) => {
|
|
4226
4224
|
let t = e.target.value;
|
|
4227
4225
|
r([(n.length >= 2 ? n : ["", ""])[0], t]);
|
|
4228
|
-
}, [n, r]),
|
|
4226
|
+
}, [n, r]), ie = G((e) => {
|
|
4229
4227
|
let t = parseFloat(e.target.value), i = n.length >= 2 ? n : ["", ""];
|
|
4230
4228
|
r([isNaN(t) ? e.target.value === "" ? "" : i[0] : t, i[1]].filter((e) => e !== ""));
|
|
4231
|
-
}, [n, r]),
|
|
4229
|
+
}, [n, r]), k = G((e) => {
|
|
4232
4230
|
let t = parseFloat(e.target.value), i = n.length >= 2 ? n : ["", ""];
|
|
4233
4231
|
r([i[0], isNaN(t) ? e.target.value === "" ? "" : i[1] : t].filter((e) => e !== ""));
|
|
4234
4232
|
}, [n, r]);
|
|
@@ -4238,7 +4236,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4238
4236
|
/* @__PURE__ */ Q("input", {
|
|
4239
4237
|
type: "date",
|
|
4240
4238
|
value: n[0] || "",
|
|
4241
|
-
onChange:
|
|
4239
|
+
onChange: ne,
|
|
4242
4240
|
className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
|
|
4243
4241
|
}),
|
|
4244
4242
|
/* @__PURE__ */ Q("span", {
|
|
@@ -4248,7 +4246,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4248
4246
|
/* @__PURE__ */ Q("input", {
|
|
4249
4247
|
type: "date",
|
|
4250
4248
|
value: n[1] || "",
|
|
4251
|
-
onChange:
|
|
4249
|
+
onChange: re,
|
|
4252
4250
|
className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
|
|
4253
4251
|
})
|
|
4254
4252
|
]
|
|
@@ -4258,7 +4256,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4258
4256
|
/* @__PURE__ */ Q("input", {
|
|
4259
4257
|
type: "number",
|
|
4260
4258
|
value: n[0] !== void 0 && n[0] !== null ? n[0] : "",
|
|
4261
|
-
onChange:
|
|
4259
|
+
onChange: ie,
|
|
4262
4260
|
placeholder: "Min",
|
|
4263
4261
|
className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
|
|
4264
4262
|
}),
|
|
@@ -4269,7 +4267,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4269
4267
|
/* @__PURE__ */ Q("input", {
|
|
4270
4268
|
type: "number",
|
|
4271
4269
|
value: n[1] !== void 0 && n[1] !== null ? n[1] : "",
|
|
4272
|
-
onChange:
|
|
4270
|
+
onChange: k,
|
|
4273
4271
|
placeholder: "Max",
|
|
4274
4272
|
className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
|
|
4275
4273
|
})
|
|
@@ -4277,7 +4275,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4277
4275
|
}) : a.valueType === "date" ? /* @__PURE__ */ Q("input", {
|
|
4278
4276
|
type: "date",
|
|
4279
4277
|
value: n[0] || "",
|
|
4280
|
-
onChange:
|
|
4278
|
+
onChange: ne,
|
|
4281
4279
|
className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
|
|
4282
4280
|
}) : a.valueType === "number" ? /* @__PURE__ */ Q("input", {
|
|
4283
4281
|
type: "number",
|
|
@@ -4285,7 +4283,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4285
4283
|
onChange: te,
|
|
4286
4284
|
placeholder: "Enter number",
|
|
4287
4285
|
className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
|
|
4288
|
-
}) :
|
|
4286
|
+
}) : g && [
|
|
4289
4287
|
"equals",
|
|
4290
4288
|
"notEquals",
|
|
4291
4289
|
"in",
|
|
@@ -4316,7 +4314,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4316
4314
|
}) : /* @__PURE__ */ Q("input", {
|
|
4317
4315
|
type: "date",
|
|
4318
4316
|
value: n[0] || "",
|
|
4319
|
-
onChange:
|
|
4317
|
+
onChange: ne,
|
|
4320
4318
|
className: "dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent"
|
|
4321
4319
|
}) : y ? /* @__PURE__ */ $("div", {
|
|
4322
4320
|
className: "dc:relative dc:min-w-0 dc:max-w-full",
|
|
@@ -4351,7 +4349,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4351
4349
|
})
|
|
4352
4350
|
}),
|
|
4353
4351
|
/* @__PURE__ */ $("button", {
|
|
4354
|
-
onClick:
|
|
4352
|
+
onClick: w,
|
|
4355
4353
|
className: "dc:w-full dc:text-left dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface hover:bg-dc-surface-hover dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent dc:flex dc:items-center dc:justify-between dc:min-w-0",
|
|
4356
4354
|
children: [/* @__PURE__ */ Q("span", {
|
|
4357
4355
|
className: "text-dc-text-muted dc:truncate",
|
|
@@ -4365,7 +4363,7 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4365
4363
|
children: /* @__PURE__ */ Q("input", {
|
|
4366
4364
|
type: "text",
|
|
4367
4365
|
value: c,
|
|
4368
|
-
onChange:
|
|
4366
|
+
onChange: E,
|
|
4369
4367
|
placeholder: "Search values...",
|
|
4370
4368
|
className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-2 dc:py-1 bg-dc-surface text-dc-text dc:focus:ring-2 focus:ring-dc-accent focus:border-dc-accent",
|
|
4371
4369
|
autoFocus: !0
|
|
@@ -4375,16 +4373,16 @@ var wn = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
4375
4373
|
children: x ? /* @__PURE__ */ Q("div", {
|
|
4376
4374
|
className: "dc:p-2 dc:text-sm text-dc-text-muted",
|
|
4377
4375
|
children: c ? "Searching..." : "Loading values..."
|
|
4378
|
-
}) :
|
|
4376
|
+
}) : S ? /* @__PURE__ */ $("div", {
|
|
4379
4377
|
className: "dc:p-2 dc:text-sm text-dc-error",
|
|
4380
|
-
children: ["Error loading values: ",
|
|
4378
|
+
children: ["Error loading values: ", S]
|
|
4381
4379
|
}) : b.length === 0 ? /* @__PURE__ */ Q("div", {
|
|
4382
4380
|
className: "dc:p-2 dc:text-sm text-dc-text-muted",
|
|
4383
4381
|
children: c ? "No matching values" : "No values available"
|
|
4384
4382
|
}) : b.map((e, t) => {
|
|
4385
4383
|
let r = n.includes(e);
|
|
4386
4384
|
return /* @__PURE__ */ $("button", {
|
|
4387
|
-
onClick: () =>
|
|
4385
|
+
onClick: () => D(e),
|
|
4388
4386
|
className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover focus:outline-hidden focus:bg-dc-surface-hover ${r ? "bg-dc-accent-bg text-dc-accent" : "text-dc-text-secondary"}`,
|
|
4389
4387
|
children: [String(e), r && /* @__PURE__ */ Q("span", {
|
|
4390
4388
|
className: "dc:float-right text-dc-accent",
|
|
@@ -4450,7 +4448,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4450
4448
|
clearTimeout(n), document.removeEventListener("mousedown", e), document.removeEventListener("keydown", t);
|
|
4451
4449
|
};
|
|
4452
4450
|
}, [r, i]);
|
|
4453
|
-
let o =
|
|
4451
|
+
let o = G((e) => {
|
|
4454
4452
|
n(e);
|
|
4455
4453
|
}, [n]), s = Mn(t);
|
|
4456
4454
|
return /* @__PURE__ */ $("div", {
|
|
@@ -4494,8 +4492,8 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4494
4492
|
})
|
|
4495
4493
|
]
|
|
4496
4494
|
});
|
|
4497
|
-
}, Pn =
|
|
4498
|
-
let [o, s] = X(!1), c = Y(null), l = e.filter, { label: u } = e, { operator: d, values: f } = l, p = Cn(f || [], d), m =
|
|
4495
|
+
}, Pn = o("close"), Fn = o("edit"), In = ({ filter: e, schema: t, isEditMode: n, onChange: r, onEdit: i, onRemove: a }) => {
|
|
4496
|
+
let [o, s] = X(!1), c = Y(null), l = e.filter, { label: u } = e, { operator: d, values: f } = l, p = Cn(f || [], d), m = G((t) => {
|
|
4499
4497
|
r({
|
|
4500
4498
|
...e,
|
|
4501
4499
|
filter: {
|
|
@@ -4507,7 +4505,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4507
4505
|
e,
|
|
4508
4506
|
l,
|
|
4509
4507
|
r
|
|
4510
|
-
]), h =
|
|
4508
|
+
]), h = G(() => {
|
|
4511
4509
|
n ? i?.() : s(!0);
|
|
4512
4510
|
}, [n, i]);
|
|
4513
4511
|
return "member" in e.filter ? /* @__PURE__ */ $("div", {
|
|
@@ -4579,7 +4577,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4579
4577
|
anchorRef: c
|
|
4580
4578
|
})]
|
|
4581
4579
|
}) : null;
|
|
4582
|
-
}, Ln =
|
|
4580
|
+
}, Ln = o("add"), Rn = o("timeDimension"), zn = o("chevronDown"), Bn = o("filter"), Vn = ({ dashboardFilters: e, schema: t, isEditMode: n, onDashboardFiltersChange: r, onAddFilter: i, onEditFilter: a, onRemoveFilter: o }) => {
|
|
4583
4581
|
let [s, c] = X(e);
|
|
4584
4582
|
q(() => {
|
|
4585
4583
|
c(e);
|
|
@@ -4592,7 +4590,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4592
4590
|
if (!g || Array.isArray(g)) return null;
|
|
4593
4591
|
let e = Sn(g);
|
|
4594
4592
|
return yn.find((t) => t.id === e)?.id || null;
|
|
4595
|
-
}, [g]), y = J(() => s.filter((e) => !e.isUniversalTime), [s]), b =
|
|
4593
|
+
}, [g]), y = J(() => s.filter((e) => !e.isUniversalTime), [s]), b = G(() => `df_${Date.now()}_${Math.random().toString(36).substring(7)}`, []), x = G((e) => {
|
|
4596
4594
|
if (h) {
|
|
4597
4595
|
let t = s.map((t) => t.id === h.id ? {
|
|
4598
4596
|
...t,
|
|
@@ -4622,13 +4620,13 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4622
4620
|
h,
|
|
4623
4621
|
r,
|
|
4624
4622
|
b
|
|
4625
|
-
]), S =
|
|
4623
|
+
]), S = G((e) => {
|
|
4626
4624
|
x(e);
|
|
4627
|
-
}, [x]), C =
|
|
4625
|
+
}, [x]), C = G((e) => {
|
|
4628
4626
|
x(e), f(!1);
|
|
4629
|
-
}, [x]), w =
|
|
4627
|
+
}, [x]), w = G((e) => {
|
|
4630
4628
|
x(e), u(!1);
|
|
4631
|
-
}, [x]), T =
|
|
4629
|
+
}, [x]), T = G((e, t) => {
|
|
4632
4630
|
let n = s.map((n) => n.id === e ? t : n);
|
|
4633
4631
|
c(n), r(n);
|
|
4634
4632
|
}, [s, r]), E = J(() => {
|
|
@@ -4833,7 +4831,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4833
4831
|
})]
|
|
4834
4832
|
});
|
|
4835
4833
|
}, Hn = ({ dashboardFilters: e, editable: t, schema: n, dashboardConfig: r, onDashboardFiltersChange: i, onSaveFilters: a, selectedFilterId: o, onFilterSelect: s, isEditMode: c = !1 }) => {
|
|
4836
|
-
let [l, u] = X(null), [d, f] = X(!1), p =
|
|
4834
|
+
let [l, u] = X(null), [d, f] = X(!1), p = G((e) => e ? { cubes: e.cubes.map((e) => ({
|
|
4837
4835
|
name: e.name,
|
|
4838
4836
|
title: e.title || e.name,
|
|
4839
4837
|
description: e.description || "",
|
|
@@ -4858,7 +4856,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4858
4856
|
description: "",
|
|
4859
4857
|
shortTitle: e.shortTitle
|
|
4860
4858
|
})) || []
|
|
4861
|
-
})) } : null, []), m =
|
|
4859
|
+
})) } : null, []), m = G(() => `df_${Date.now()}_${Math.random().toString(36).substring(7)}`, []), h = G(() => {
|
|
4862
4860
|
u({
|
|
4863
4861
|
id: m(),
|
|
4864
4862
|
label: `Filter ${e.length + 1}`,
|
|
@@ -4868,7 +4866,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4868
4866
|
values: []
|
|
4869
4867
|
}
|
|
4870
4868
|
}), f(!0);
|
|
4871
|
-
}, [e.length, m]), g =
|
|
4869
|
+
}, [e.length, m]), g = G(() => {
|
|
4872
4870
|
let t = {
|
|
4873
4871
|
id: m(),
|
|
4874
4872
|
label: "Date Range Filter",
|
|
@@ -4884,16 +4882,16 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4884
4882
|
m,
|
|
4885
4883
|
e,
|
|
4886
4884
|
i
|
|
4887
|
-
]), _ =
|
|
4885
|
+
]), _ = G((t) => {
|
|
4888
4886
|
let n = e.find((e) => e.id === t);
|
|
4889
4887
|
n && (u(n), f(!0));
|
|
4890
|
-
}, [e]), v =
|
|
4888
|
+
}, [e]), v = G((t) => {
|
|
4891
4889
|
i(e.filter((e) => e.id !== t)), l?.id === t && (u(null), f(!1));
|
|
4892
4890
|
}, [
|
|
4893
4891
|
e,
|
|
4894
4892
|
l,
|
|
4895
4893
|
i
|
|
4896
|
-
]), y =
|
|
4894
|
+
]), y = G(async (t) => {
|
|
4897
4895
|
let n = e.findIndex((e) => e.id === t.id), r;
|
|
4898
4896
|
if (r = n >= 0 ? e.map((e) => e.id === t.id ? t : e) : [...e, t], i(r), a) try {
|
|
4899
4897
|
await a(r);
|
|
@@ -4904,7 +4902,7 @@ var Nn = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
4904
4902
|
e,
|
|
4905
4903
|
i,
|
|
4906
4904
|
a
|
|
4907
|
-
]), b =
|
|
4905
|
+
]), b = G(() => {
|
|
4908
4906
|
u(null), f(!1);
|
|
4909
4907
|
}, []);
|
|
4910
4908
|
return !t || !c && e.length === 0 ? null : /* @__PURE__ */ $("div", {
|
|
@@ -4978,7 +4976,7 @@ function Un({ scaleFactor: e, designWidth: t, children: n }) {
|
|
|
4978
4976
|
}
|
|
4979
4977
|
//#endregion
|
|
4980
4978
|
//#region src/client/components/MobileStackedLayout.tsx
|
|
4981
|
-
var Wn =
|
|
4979
|
+
var Wn = o("refresh");
|
|
4982
4980
|
function Gn(e) {
|
|
4983
4981
|
if (!e) return null;
|
|
4984
4982
|
let t = e.parentElement;
|
|
@@ -4991,18 +4989,18 @@ function Gn(e) {
|
|
|
4991
4989
|
return null;
|
|
4992
4990
|
}
|
|
4993
4991
|
function Kn({ config: e, colorPalette: t, dashboardFilters: n, onPortletRefresh: r }) {
|
|
4994
|
-
let i = Y({}), [a, o] = X(null), s = Y(null), c =
|
|
4992
|
+
let i = Y({}), [a, o] = X(null), s = Y(null), c = G((e) => {
|
|
4995
4993
|
s.current = e, e && o(Gn(e));
|
|
4996
4994
|
}, []), l = J(() => [...e.portlets].sort((e, t) => e.y === t.y ? e.x - t.x : e.y - t.y), [e.portlets]), u = (e) => {
|
|
4997
4995
|
i.current[e]?.refresh(), r?.(e);
|
|
4998
4996
|
};
|
|
4999
|
-
return /* @__PURE__ */ Q(
|
|
4997
|
+
return /* @__PURE__ */ Q(ie, {
|
|
5000
4998
|
value: a,
|
|
5001
4999
|
children: /* @__PURE__ */ Q("div", {
|
|
5002
5000
|
ref: c,
|
|
5003
5001
|
className: "mobile-stacked-layout dc:space-y-4 dc:px-2",
|
|
5004
5002
|
children: l.map((r) => {
|
|
5005
|
-
let { analysisConfig: a } =
|
|
5003
|
+
let { analysisConfig: a } = j(r), o = a.charts[a.analysisType], s = JSON.stringify(a.query), c = o?.chartType || "line", l = o?.chartConfig, d = o?.displayConfig, f = c === "markdown" && !!d?.transparentBackground, p = c === "markdown" && (d?.autoHeight ?? !0), m = c === "markdown" ? (d?.hideHeader ?? !0) || !r.title : d?.hideHeader ?? !1, h = Math.max(300, r.h * 80), g = h - (m ? 0 : 40) - 24;
|
|
5006
5004
|
return /* @__PURE__ */ $("div", {
|
|
5007
5005
|
"data-portlet-id": r.id,
|
|
5008
5006
|
className: f ? "dc:flex dc:flex-col" : "bg-dc-surface dc:border border-dc-border dc:rounded-lg dc:flex dc:flex-col",
|
|
@@ -5058,7 +5056,7 @@ function Kn({ config: e, colorPalette: t, dashboardFilters: n, onPortletRefresh:
|
|
|
5058
5056
|
//#endregion
|
|
5059
5057
|
//#region src/client/hooks/dashboard/useGridLayoutEngine.ts
|
|
5060
5058
|
function qn({ storeApi: e }) {
|
|
5061
|
-
return { hasLayoutActuallyChanged:
|
|
5059
|
+
return { hasLayoutActuallyChanged: G((t) => {
|
|
5062
5060
|
let { isInitialized: n, lastKnownLayout: r } = e.getState();
|
|
5063
5061
|
if (!n || r.length === 0) return !1;
|
|
5064
5062
|
for (let e of t) {
|
|
@@ -5158,7 +5156,7 @@ function er({ layoutMode: e, draftRows: t, config: n, gridSettings: r, configRef
|
|
|
5158
5156
|
n.portlets,
|
|
5159
5157
|
r
|
|
5160
5158
|
]),
|
|
5161
|
-
updateRowLayout:
|
|
5159
|
+
updateRowLayout: G(async (e, t = !0, n) => {
|
|
5162
5160
|
if (!a.current) return;
|
|
5163
5161
|
let l = n ?? i.current.portlets, u = Qn(e, l, r), d = $n(u, l), f = {
|
|
5164
5162
|
...i.current,
|
|
@@ -5183,14 +5181,14 @@ function er({ layoutMode: e, draftRows: t, config: n, gridSettings: r, configRef
|
|
|
5183
5181
|
}
|
|
5184
5182
|
//#endregion
|
|
5185
5183
|
//#region src/client/hooks/dashboard/useDashboardController.ts
|
|
5186
|
-
function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n, layoutMode: r, resolvedRows: i, gridSettings: a, thumbnailConfig:
|
|
5184
|
+
function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n, layoutMode: r, resolvedRows: i, gridSettings: a, thumbnailConfig: o, dashboardRef: c, storeApi: l, storeActions: u, configRef: d, onConfigChangeRef: f, onSaveRef: p, onSaveThumbnailRef: m, updateRowLayout: h, portletComponentRefs: g, onPortletRefresh: _ }) {
|
|
5187
5185
|
let v = Y(r);
|
|
5188
5186
|
v.current = r;
|
|
5189
5187
|
let y = Y(t);
|
|
5190
5188
|
y.current = t;
|
|
5191
5189
|
let b = Y(i);
|
|
5192
5190
|
b.current = i;
|
|
5193
|
-
let x =
|
|
5191
|
+
let x = G(async (e, t) => {
|
|
5194
5192
|
if (f.current && (f.current(e), u.setThumbnailDirty(!0), p.current)) try {
|
|
5195
5193
|
await p.current(e);
|
|
5196
5194
|
} catch (e) {
|
|
@@ -5200,15 +5198,15 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
5200
5198
|
f,
|
|
5201
5199
|
p,
|
|
5202
5200
|
u
|
|
5203
|
-
]), S =
|
|
5204
|
-
|
|
5201
|
+
]), S = G(() => {
|
|
5202
|
+
ye(() => {
|
|
5205
5203
|
u.setEditMode(!0);
|
|
5206
5204
|
});
|
|
5207
|
-
}, [u]), C =
|
|
5208
|
-
|
|
5205
|
+
}, [u]), C = G(() => {
|
|
5206
|
+
ye(() => {
|
|
5209
5207
|
u.setEditMode(!1);
|
|
5210
|
-
}), l.getState().thumbnailDirty &&
|
|
5211
|
-
let e = await
|
|
5208
|
+
}), l.getState().thumbnailDirty && o?.enabled && c && setTimeout(async () => {
|
|
5209
|
+
let e = await s(c, o);
|
|
5212
5210
|
if (e && m.current) try {
|
|
5213
5211
|
let t = await m.current(e);
|
|
5214
5212
|
t && f.current && f.current({
|
|
@@ -5228,9 +5226,9 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
5228
5226
|
m,
|
|
5229
5227
|
l,
|
|
5230
5228
|
u,
|
|
5231
|
-
|
|
5232
|
-
]), w =
|
|
5233
|
-
n && (l.getState().isEditMode ? C() :
|
|
5229
|
+
o
|
|
5230
|
+
]), w = G(() => {
|
|
5231
|
+
n && (l.getState().isEditMode ? C() : ye(() => {
|
|
5234
5232
|
u.setEditMode(!0);
|
|
5235
5233
|
}));
|
|
5236
5234
|
}, [
|
|
@@ -5238,20 +5236,20 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
5238
5236
|
n,
|
|
5239
5237
|
u,
|
|
5240
5238
|
l
|
|
5241
|
-
]), T =
|
|
5239
|
+
]), T = G((e) => {
|
|
5242
5240
|
let t = l.getState().selectedFilterId;
|
|
5243
5241
|
l.getState().setSelectedFilterId(e === t ? null : e);
|
|
5244
|
-
}, [l]), E =
|
|
5242
|
+
}, [l]), E = G(() => {
|
|
5245
5243
|
u.openPortletModal(null);
|
|
5246
|
-
}, [u]), D =
|
|
5244
|
+
}, [u]), D = G((e) => {
|
|
5247
5245
|
u.openPortletModal(e);
|
|
5248
|
-
}, [u]), ee =
|
|
5246
|
+
}, [u]), ee = G(() => {
|
|
5249
5247
|
u.openTextModal(null);
|
|
5250
|
-
}, [u]), O =
|
|
5248
|
+
}, [u]), O = G((e) => {
|
|
5251
5249
|
u.openTextModal(e);
|
|
5252
|
-
}, [u]), te =
|
|
5250
|
+
}, [u]), te = G((e) => {
|
|
5253
5251
|
u.openFilterConfigModal(e);
|
|
5254
|
-
}, [u]),
|
|
5252
|
+
}, [u]), ne = G(async (t) => {
|
|
5255
5253
|
if (!f.current || t === v.current || !y.current || !e.includes(t)) return;
|
|
5256
5254
|
let n = d.current, r = Qn(n.rows && n.rows.length > 0 ? n.rows : Zn(n.portlets, a), n.portlets, a), i = $n(r, n.portlets);
|
|
5257
5255
|
await x({
|
|
@@ -5266,7 +5264,7 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
5266
5264
|
a,
|
|
5267
5265
|
f,
|
|
5268
5266
|
x
|
|
5269
|
-
]),
|
|
5267
|
+
]), re = G(async (e) => {
|
|
5270
5268
|
if (!f.current) return null;
|
|
5271
5269
|
let t = d.current, n = [...t.portlets], r = !1, i = null, o = l.getState(), s = o.editingPortlet || o.editingTextPortlet;
|
|
5272
5270
|
if (s) {
|
|
@@ -5310,7 +5308,7 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
5310
5308
|
u,
|
|
5311
5309
|
l,
|
|
5312
5310
|
h
|
|
5313
|
-
]),
|
|
5311
|
+
]), ie = G(async (e) => {
|
|
5314
5312
|
if (!f.current) return;
|
|
5315
5313
|
let t = d.current, n = t.portlets.filter((t) => t.id !== e);
|
|
5316
5314
|
v.current === "rows" ? await h(b.current.map((t) => ({
|
|
@@ -5341,20 +5339,20 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
5341
5339
|
openAddText: ee,
|
|
5342
5340
|
openEditText: O,
|
|
5343
5341
|
openFilterConfig: te,
|
|
5344
|
-
handleLayoutModeChange:
|
|
5345
|
-
savePortlet:
|
|
5346
|
-
deletePortlet:
|
|
5342
|
+
handleLayoutModeChange: ne,
|
|
5343
|
+
savePortlet: re,
|
|
5344
|
+
deletePortlet: G(async (e) => {
|
|
5347
5345
|
u.openDeleteConfirm(e);
|
|
5348
5346
|
}, [u]),
|
|
5349
|
-
confirmDelete:
|
|
5347
|
+
confirmDelete: G(async () => {
|
|
5350
5348
|
let e = l.getState().deleteConfirmPortletId;
|
|
5351
|
-
e && (await
|
|
5349
|
+
e && (await ie(e), u.closeDeleteConfirm());
|
|
5352
5350
|
}, [
|
|
5353
|
-
|
|
5351
|
+
ie,
|
|
5354
5352
|
u,
|
|
5355
5353
|
l
|
|
5356
5354
|
]),
|
|
5357
|
-
duplicatePortlet:
|
|
5355
|
+
duplicatePortlet: G(async (e) => {
|
|
5358
5356
|
if (!f.current) return;
|
|
5359
5357
|
let t = d.current, n = t.portlets.find((t) => t.id === e);
|
|
5360
5358
|
if (!n) return;
|
|
@@ -5388,11 +5386,11 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
5388
5386
|
x,
|
|
5389
5387
|
h
|
|
5390
5388
|
]),
|
|
5391
|
-
refreshPortlet:
|
|
5389
|
+
refreshPortlet: G((e, t) => {
|
|
5392
5390
|
let n = g?.current?.[e];
|
|
5393
5391
|
n?.refresh && n.refresh(t), _?.(e, t);
|
|
5394
5392
|
}, [_, g]),
|
|
5395
|
-
toggleFilterForPortlet:
|
|
5393
|
+
toggleFilterForPortlet: G(async (e, t) => {
|
|
5396
5394
|
if (!f.current) return;
|
|
5397
5395
|
let n = d.current, r = n.portlets.map((n) => {
|
|
5398
5396
|
if (n.id === e) {
|
|
@@ -5413,7 +5411,7 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
5413
5411
|
f,
|
|
5414
5412
|
x
|
|
5415
5413
|
]),
|
|
5416
|
-
selectAllForFilter:
|
|
5414
|
+
selectAllForFilter: G(async (e) => {
|
|
5417
5415
|
if (!f.current) return;
|
|
5418
5416
|
let t = d.current, n = t.portlets.map((t) => {
|
|
5419
5417
|
let n = t.dashboardFilterMapping || [];
|
|
@@ -5431,7 +5429,7 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
5431
5429
|
f,
|
|
5432
5430
|
x
|
|
5433
5431
|
]),
|
|
5434
|
-
saveFilterConfig:
|
|
5432
|
+
saveFilterConfig: G(async (e) => {
|
|
5435
5433
|
let t = l.getState().filterConfigPortlet;
|
|
5436
5434
|
if (!f.current || !t) return;
|
|
5437
5435
|
let n = d.current, r = n.portlets.map((n) => n.id === t.id ? {
|
|
@@ -5448,7 +5446,7 @@ function tr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
5448
5446
|
x,
|
|
5449
5447
|
l
|
|
5450
5448
|
]),
|
|
5451
|
-
handlePaletteChange:
|
|
5449
|
+
handlePaletteChange: G(async (e) => {
|
|
5452
5450
|
f.current && await x({
|
|
5453
5451
|
...d.current,
|
|
5454
5452
|
colorPalette: e
|
|
@@ -5500,26 +5498,26 @@ var nr = (e) => ({
|
|
|
5500
5498
|
setThumbnailDirty: e.setThumbnailDirty
|
|
5501
5499
|
});
|
|
5502
5500
|
function ir(e) {
|
|
5503
|
-
let { config: n, editable: r = !1, dashboardFilters: i, gridSettings: a, allowedModes: o, isResponsiveEditable:
|
|
5501
|
+
let { config: n, editable: r = !1, dashboardFilters: i, gridSettings: a, allowedModes: o, isResponsiveEditable: s = !0, onConfigChange: c, onSave: l, onSaveThumbnail: d, portletComponentRefs: f, onPortletRefresh: p, dashboardRef: m } = e, h = _t(t(nr)), g = _t(t(rr)), _ = vt(), { features: v } = u(), y = v.thumbnail, b = Y(n);
|
|
5504
5502
|
b.current = n;
|
|
5505
|
-
let x = Y(
|
|
5506
|
-
x.current =
|
|
5507
|
-
let S = Y(
|
|
5508
|
-
S.current =
|
|
5503
|
+
let x = Y(c);
|
|
5504
|
+
x.current = c;
|
|
5505
|
+
let S = Y(l);
|
|
5506
|
+
S.current = l;
|
|
5509
5507
|
let C = Y(d);
|
|
5510
5508
|
C.current = d;
|
|
5511
5509
|
let w = J(() => o && o.length > 0 ? o : ["rows", "grid"], [o]), T = J(() => {
|
|
5512
5510
|
let e = w.includes("rows") ? "rows" : w[0] ?? "grid", t = n.layoutMode ?? "grid";
|
|
5513
5511
|
return w.includes(t) ? t : e;
|
|
5514
|
-
}, [n.layoutMode, w]), E = J(() => r && h.isEditMode &&
|
|
5512
|
+
}, [n.layoutMode, w]), E = J(() => r && h.isEditMode && s && !h.selectedFilterId, [
|
|
5515
5513
|
r,
|
|
5516
5514
|
h.isEditMode,
|
|
5517
|
-
|
|
5515
|
+
s,
|
|
5518
5516
|
h.selectedFilterId
|
|
5519
|
-
]), D = J(() => r && h.isEditMode &&
|
|
5517
|
+
]), D = J(() => r && h.isEditMode && s && !h.selectedFilterId && w.length > 1, [
|
|
5520
5518
|
r,
|
|
5521
5519
|
h.isEditMode,
|
|
5522
|
-
|
|
5520
|
+
s,
|
|
5523
5521
|
h.selectedFilterId,
|
|
5524
5522
|
w.length
|
|
5525
5523
|
]), ee = J(() => !h.selectedFilterId || !i ? null : i.find((e) => e.id === h.selectedFilterId) ?? null, [h.selectedFilterId, i]), { resolvedRows: O, updateRowLayout: te } = er({
|
|
@@ -5532,10 +5530,10 @@ function ir(e) {
|
|
|
5532
5530
|
onSaveRef: S,
|
|
5533
5531
|
setDraftRows: g.setDraftRows,
|
|
5534
5532
|
setThumbnailDirty: g.setThumbnailDirty
|
|
5535
|
-
}), { hasLayoutActuallyChanged:
|
|
5533
|
+
}), { hasLayoutActuallyChanged: ne } = qn({ storeApi: _ }), { enterEditMode: re, exitEditMode: ie, toggleEditMode: k, selectFilter: ae, openAddPortlet: A, openEditPortlet: j, openAddText: oe, openEditText: se, openFilterConfig: M, handleLayoutModeChange: ce, savePortlet: N, deletePortlet: P, confirmDelete: F, duplicatePortlet: I, refreshPortlet: L, toggleFilterForPortlet: R, selectAllForFilter: z, saveFilterConfig: B, handlePaletteChange: le } = tr({
|
|
5536
5534
|
allowedModes: w,
|
|
5537
5535
|
canChangeLayoutMode: D,
|
|
5538
|
-
isResponsiveEditable:
|
|
5536
|
+
isResponsiveEditable: s,
|
|
5539
5537
|
layoutMode: T,
|
|
5540
5538
|
resolvedRows: O,
|
|
5541
5539
|
gridSettings: a,
|
|
@@ -5550,19 +5548,19 @@ function ir(e) {
|
|
|
5550
5548
|
updateRowLayout: te,
|
|
5551
5549
|
portletComponentRefs: f,
|
|
5552
5550
|
onPortletRefresh: p
|
|
5553
|
-
}),
|
|
5554
|
-
enterEditMode:
|
|
5555
|
-
exitEditMode:
|
|
5556
|
-
toggleEditMode:
|
|
5557
|
-
selectFilter:
|
|
5551
|
+
}), V = J(() => ({
|
|
5552
|
+
enterEditMode: re,
|
|
5553
|
+
exitEditMode: ie,
|
|
5554
|
+
toggleEditMode: k,
|
|
5555
|
+
selectFilter: ae,
|
|
5558
5556
|
exitFilterSelectionMode: g.exitFilterSelectionMode,
|
|
5559
|
-
openAddPortlet:
|
|
5560
|
-
openEditPortlet:
|
|
5557
|
+
openAddPortlet: A,
|
|
5558
|
+
openEditPortlet: j,
|
|
5561
5559
|
closePortletModal: g.closePortletModal,
|
|
5562
|
-
openAddText:
|
|
5563
|
-
openEditText:
|
|
5560
|
+
openAddText: oe,
|
|
5561
|
+
openEditText: se,
|
|
5564
5562
|
closeTextModal: g.closeTextModal,
|
|
5565
|
-
openFilterConfig:
|
|
5563
|
+
openFilterConfig: M,
|
|
5566
5564
|
closeFilterConfig: g.closeFilterConfigModal,
|
|
5567
5565
|
setDraftRows: g.setDraftRows,
|
|
5568
5566
|
setIsDraggingPortlet: g.setIsDraggingPortlet,
|
|
@@ -5570,45 +5568,45 @@ function ir(e) {
|
|
|
5570
5568
|
setIsInitialized: g.setIsInitialized,
|
|
5571
5569
|
setDragState: g.setDragState,
|
|
5572
5570
|
clearDragState: g.clearDragState,
|
|
5573
|
-
hasLayoutActuallyChanged:
|
|
5571
|
+
hasLayoutActuallyChanged: ne,
|
|
5574
5572
|
updateRowLayout: te,
|
|
5575
|
-
handleLayoutModeChange:
|
|
5576
|
-
savePortlet:
|
|
5577
|
-
deletePortlet:
|
|
5578
|
-
duplicatePortlet:
|
|
5579
|
-
refreshPortlet:
|
|
5580
|
-
toggleFilterForPortlet:
|
|
5581
|
-
selectAllForFilter:
|
|
5582
|
-
saveFilterConfig:
|
|
5583
|
-
handlePaletteChange:
|
|
5573
|
+
handleLayoutModeChange: ce,
|
|
5574
|
+
savePortlet: N,
|
|
5575
|
+
deletePortlet: P,
|
|
5576
|
+
duplicatePortlet: I,
|
|
5577
|
+
refreshPortlet: L,
|
|
5578
|
+
toggleFilterForPortlet: R,
|
|
5579
|
+
selectAllForFilter: z,
|
|
5580
|
+
saveFilterConfig: B,
|
|
5581
|
+
handlePaletteChange: le,
|
|
5584
5582
|
openDeleteConfirm: g.openDeleteConfirm,
|
|
5585
5583
|
closeDeleteConfirm: g.closeDeleteConfirm,
|
|
5586
|
-
confirmDelete:
|
|
5584
|
+
confirmDelete: F,
|
|
5587
5585
|
setDebugData: g.setDebugData,
|
|
5588
5586
|
clearDebugData: g.clearDebugData
|
|
5589
5587
|
}), [
|
|
5590
|
-
ne,
|
|
5591
5588
|
re,
|
|
5592
|
-
A,
|
|
5593
5589
|
ie,
|
|
5590
|
+
k,
|
|
5591
|
+
ae,
|
|
5594
5592
|
g,
|
|
5593
|
+
A,
|
|
5595
5594
|
j,
|
|
5596
|
-
M,
|
|
5597
|
-
ae,
|
|
5598
5595
|
oe,
|
|
5599
|
-
N,
|
|
5600
|
-
k,
|
|
5601
|
-
te,
|
|
5602
5596
|
se,
|
|
5597
|
+
M,
|
|
5598
|
+
ne,
|
|
5599
|
+
te,
|
|
5600
|
+
ce,
|
|
5601
|
+
N,
|
|
5603
5602
|
P,
|
|
5604
|
-
|
|
5603
|
+
I,
|
|
5605
5604
|
L,
|
|
5606
5605
|
R,
|
|
5607
5606
|
z,
|
|
5608
5607
|
B,
|
|
5609
|
-
|
|
5610
|
-
|
|
5611
|
-
I
|
|
5608
|
+
le,
|
|
5609
|
+
F
|
|
5612
5610
|
]);
|
|
5613
5611
|
return {
|
|
5614
5612
|
...h,
|
|
@@ -5618,12 +5616,12 @@ function ir(e) {
|
|
|
5618
5616
|
resolvedRows: O,
|
|
5619
5617
|
layoutMode: T,
|
|
5620
5618
|
allowedModes: w,
|
|
5621
|
-
actions:
|
|
5619
|
+
actions: V
|
|
5622
5620
|
};
|
|
5623
5621
|
}
|
|
5624
5622
|
//#endregion
|
|
5625
5623
|
//#region src/client/components/DashboardGrid.tsx
|
|
5626
|
-
var ar =
|
|
5624
|
+
var ar = o("measure"), or = o("refresh"), sr = o("edit"), cr = o("check"), lr = o("delete"), ur = o("add"), dr = o("copy"), fr = o("filter"), pr = o("desktop"), mr = o("segment"), hr = o("table");
|
|
5627
5625
|
function gr({ className: e, style: t }) {
|
|
5628
5626
|
return /* @__PURE__ */ $("svg", {
|
|
5629
5627
|
className: e,
|
|
@@ -5706,13 +5704,13 @@ var vr = {
|
|
|
5706
5704
|
}
|
|
5707
5705
|
return i;
|
|
5708
5706
|
};
|
|
5709
|
-
function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent: r, onConfigChange: i, onPortletRefresh: a, onSave: o, onSaveThumbnail:
|
|
5710
|
-
let { features: p } =
|
|
5707
|
+
function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent: r, onConfigChange: i, onPortletRefresh: a, onSave: o, onSaveThumbnail: s, colorPalette: c, schema: l, onDashboardFiltersChange: d, dashboardModes: f }) {
|
|
5708
|
+
let { features: p } = u(), { containerRef: m, containerWidth: h, displayMode: g, scaleFactor: _, isEditable: v, designWidth: y } = pe(), b = f && f.length > 0 ? f : ["rows", "grid"], x = J(() => br(e), [e]), [S, C] = X(null), w = Y(null), T = Y(null), E = Y(null), D = Y(null), ee = G((e) => {
|
|
5711
5709
|
if (w.current = e, m(e), e) {
|
|
5712
5710
|
let t = _r(e);
|
|
5713
5711
|
C(t), T.current = t;
|
|
5714
5712
|
}
|
|
5715
|
-
}, [m]), O = g === "desktop" ? h : y,
|
|
5713
|
+
}, [m]), O = g === "desktop" ? h : y, te = Y({}), ne = Y({}), re = Y(null), k = Y(null), ae = Y(null), { isEditMode: A, selectedFilterId: oe, isPortletModalOpen: se, editingPortlet: M, isTextModalOpen: ce, editingTextPortlet: N, isFilterConfigModalOpen: P, filterConfigPortlet: F, deleteConfirmPortletId: I, draftRows: L, isDraggingPortlet: z, isInitialized: B, canEdit: V, canChangeLayoutMode: ue, selectedFilter: de, resolvedRows: fe, layoutMode: H, actions: U } = ir({
|
|
5716
5714
|
config: e,
|
|
5717
5715
|
editable: t,
|
|
5718
5716
|
dashboardFilters: n,
|
|
@@ -5721,48 +5719,48 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5721
5719
|
isResponsiveEditable: v,
|
|
5722
5720
|
onConfigChange: i,
|
|
5723
5721
|
onSave: o,
|
|
5724
|
-
onSaveThumbnail:
|
|
5722
|
+
onSaveThumbnail: s,
|
|
5725
5723
|
gridWidth: O,
|
|
5726
5724
|
portletComponentRefs: ne,
|
|
5727
5725
|
onPortletRefresh: a,
|
|
5728
5726
|
dashboardRef: D
|
|
5729
|
-
}),
|
|
5730
|
-
|
|
5731
|
-
let
|
|
5732
|
-
|
|
5733
|
-
re.current =
|
|
5734
|
-
}, [
|
|
5735
|
-
(!
|
|
5727
|
+
}), W = Y(U);
|
|
5728
|
+
W.current = U;
|
|
5729
|
+
let me = Y(V);
|
|
5730
|
+
me.current = V, q(() => {
|
|
5731
|
+
re.current = L;
|
|
5732
|
+
}, [L]), q(() => {
|
|
5733
|
+
(!A || !v) && oe && U.exitFilterSelectionMode();
|
|
5736
5734
|
}, [
|
|
5737
|
-
|
|
5735
|
+
A,
|
|
5738
5736
|
v,
|
|
5739
|
-
|
|
5740
|
-
|
|
5737
|
+
oe,
|
|
5738
|
+
U
|
|
5741
5739
|
]), q(() => {
|
|
5742
|
-
!v &&
|
|
5740
|
+
!v && A && U.exitEditMode();
|
|
5743
5741
|
}, [
|
|
5744
5742
|
v,
|
|
5745
|
-
|
|
5746
|
-
|
|
5743
|
+
A,
|
|
5744
|
+
U
|
|
5747
5745
|
]);
|
|
5748
|
-
let
|
|
5746
|
+
let he = at(T, {
|
|
5749
5747
|
threshold: 20,
|
|
5750
5748
|
debounceMs: 150,
|
|
5751
5749
|
container: S
|
|
5752
|
-
}),
|
|
5750
|
+
}), ge = ot(E, {
|
|
5753
5751
|
threshold: 80,
|
|
5754
5752
|
debounceMs: 100,
|
|
5755
5753
|
containerRef: T,
|
|
5756
5754
|
container: S
|
|
5757
5755
|
});
|
|
5758
5756
|
st(T, {
|
|
5759
|
-
enabled:
|
|
5757
|
+
enabled: H === "rows" && z,
|
|
5760
5758
|
edgeThreshold: 80,
|
|
5761
5759
|
maxScrollSpeed: 15
|
|
5762
5760
|
}), q(() => {
|
|
5763
|
-
if (
|
|
5761
|
+
if (B) return;
|
|
5764
5762
|
let t = setTimeout(() => {
|
|
5765
|
-
|
|
5763
|
+
U.setIsInitialized(!0);
|
|
5766
5764
|
let t = e.portlets.map((e) => ({
|
|
5767
5765
|
i: e.id,
|
|
5768
5766
|
x: e.x,
|
|
@@ -5770,25 +5768,25 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5770
5768
|
w: e.w,
|
|
5771
5769
|
h: e.h
|
|
5772
5770
|
}));
|
|
5773
|
-
|
|
5771
|
+
U.setLastKnownLayout(t);
|
|
5774
5772
|
}, 200);
|
|
5775
5773
|
return () => clearTimeout(t);
|
|
5776
5774
|
}, [
|
|
5777
|
-
|
|
5775
|
+
B,
|
|
5778
5776
|
e.portlets,
|
|
5779
|
-
|
|
5777
|
+
U
|
|
5780
5778
|
]), q(() => {
|
|
5781
5779
|
let e = (e) => {
|
|
5782
|
-
e.key === "Escape" &&
|
|
5780
|
+
e.key === "Escape" && oe && U.exitFilterSelectionMode();
|
|
5783
5781
|
};
|
|
5784
5782
|
return window.addEventListener("keydown", e), () => {
|
|
5785
5783
|
window.removeEventListener("keydown", e);
|
|
5786
5784
|
};
|
|
5787
|
-
}, [
|
|
5788
|
-
let
|
|
5789
|
-
if (!t || !
|
|
5785
|
+
}, [oe, U]);
|
|
5786
|
+
let _e = G((e) => {}, []), ve = G(async (n, r, a, s, c, l) => {
|
|
5787
|
+
if (!t || !A || !o || !B) return;
|
|
5790
5788
|
let u = [...n];
|
|
5791
|
-
if (!
|
|
5789
|
+
if (!U.hasLayoutActuallyChanged(u)) return;
|
|
5792
5790
|
let d = e.portlets.map((e) => {
|
|
5793
5791
|
let t = u.find((t) => t.i === e.id);
|
|
5794
5792
|
return t ? {
|
|
@@ -5806,7 +5804,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5806
5804
|
lg: u
|
|
5807
5805
|
}
|
|
5808
5806
|
};
|
|
5809
|
-
|
|
5807
|
+
U.setLastKnownLayout(u), i?.(f);
|
|
5810
5808
|
try {
|
|
5811
5809
|
await o(f);
|
|
5812
5810
|
} catch (e) {
|
|
@@ -5815,15 +5813,15 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5815
5813
|
}, [
|
|
5816
5814
|
e,
|
|
5817
5815
|
t,
|
|
5818
|
-
|
|
5816
|
+
A,
|
|
5819
5817
|
i,
|
|
5820
5818
|
o,
|
|
5821
|
-
|
|
5822
|
-
|
|
5823
|
-
]),
|
|
5824
|
-
if (!t || !
|
|
5819
|
+
B,
|
|
5820
|
+
U
|
|
5821
|
+
]), ye = G(async (n, r, a, s, c, l) => {
|
|
5822
|
+
if (!t || !A || !i || !B) return;
|
|
5825
5823
|
let u = [...n];
|
|
5826
|
-
if (!
|
|
5824
|
+
if (!U.hasLayoutActuallyChanged(u)) return;
|
|
5827
5825
|
let d = e.portlets.map((e) => {
|
|
5828
5826
|
let t = u.find((t) => t.i === e.id);
|
|
5829
5827
|
return t ? {
|
|
@@ -5841,7 +5839,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5841
5839
|
lg: u
|
|
5842
5840
|
}
|
|
5843
5841
|
};
|
|
5844
|
-
if (
|
|
5842
|
+
if (U.setLastKnownLayout(u), i(f), o) try {
|
|
5845
5843
|
await o(f);
|
|
5846
5844
|
} catch (e) {
|
|
5847
5845
|
console.error("Auto-save failed after resize:", e);
|
|
@@ -5849,50 +5847,50 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5849
5847
|
}, [
|
|
5850
5848
|
e,
|
|
5851
5849
|
t,
|
|
5852
|
-
|
|
5850
|
+
A,
|
|
5853
5851
|
i,
|
|
5854
5852
|
o,
|
|
5855
|
-
|
|
5856
|
-
|
|
5857
|
-
]),
|
|
5858
|
-
if (!
|
|
5853
|
+
B,
|
|
5854
|
+
U
|
|
5855
|
+
]), K = G((e, t) => {
|
|
5856
|
+
if (!V) return;
|
|
5859
5857
|
t.preventDefault();
|
|
5860
|
-
let n = t.clientY, r =
|
|
5858
|
+
let n = t.clientY, r = fe.map((e) => ({
|
|
5861
5859
|
...e,
|
|
5862
5860
|
columns: e.columns.map((e) => ({ ...e }))
|
|
5863
5861
|
}));
|
|
5864
|
-
|
|
5862
|
+
k.current = null;
|
|
5865
5863
|
let i = (t) => {
|
|
5866
5864
|
let i = t.clientY - n, a = Math.round(i / x.rowHeight), o = r.map((t, n) => n === e ? {
|
|
5867
5865
|
...t,
|
|
5868
5866
|
h: Math.max(x.minH, t.h + a)
|
|
5869
5867
|
} : t);
|
|
5870
|
-
|
|
5868
|
+
k.current = o, U.setDraftRows(o);
|
|
5871
5869
|
}, a = () => {
|
|
5872
5870
|
document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", a);
|
|
5873
|
-
let e =
|
|
5874
|
-
|
|
5871
|
+
let e = k.current ?? r;
|
|
5872
|
+
k.current = null, U.updateRowLayout(e);
|
|
5875
5873
|
};
|
|
5876
5874
|
document.addEventListener("mousemove", i), document.addEventListener("mouseup", a);
|
|
5877
5875
|
}, [
|
|
5878
|
-
|
|
5876
|
+
V,
|
|
5879
5877
|
x,
|
|
5880
|
-
|
|
5881
|
-
|
|
5882
|
-
]), be =
|
|
5883
|
-
if (!
|
|
5878
|
+
fe,
|
|
5879
|
+
U
|
|
5880
|
+
]), be = G((e, t, n) => {
|
|
5881
|
+
if (!V) return;
|
|
5884
5882
|
n.preventDefault();
|
|
5885
|
-
let r = n.clientX, i =
|
|
5883
|
+
let r = n.clientX, i = fe.map((e) => ({
|
|
5886
5884
|
...e,
|
|
5887
5885
|
columns: e.columns.map((e) => ({ ...e }))
|
|
5888
5886
|
})), a = i[e], o = a?.columns[t], s = a?.columns[t + 1];
|
|
5889
5887
|
if (!a || !o || !s) return;
|
|
5890
5888
|
let c = (O - (a.columns.length - 1) * 16) / x.cols;
|
|
5891
|
-
|
|
5889
|
+
k.current = null;
|
|
5892
5890
|
let l = (n) => {
|
|
5893
5891
|
let a = n.clientX - r, l = Math.round(a / c);
|
|
5894
5892
|
if (l === 0) {
|
|
5895
|
-
|
|
5893
|
+
k.current = i, U.setDraftRows(i);
|
|
5896
5894
|
return;
|
|
5897
5895
|
}
|
|
5898
5896
|
let u = o.w + l, d = s.w - l;
|
|
@@ -5919,31 +5917,31 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5919
5917
|
columns: Sr(i, x)
|
|
5920
5918
|
};
|
|
5921
5919
|
});
|
|
5922
|
-
|
|
5920
|
+
k.current = f, U.setDraftRows(f);
|
|
5923
5921
|
}, u = () => {
|
|
5924
5922
|
document.removeEventListener("mousemove", l), document.removeEventListener("mouseup", u);
|
|
5925
|
-
let e =
|
|
5926
|
-
|
|
5923
|
+
let e = k.current ?? i;
|
|
5924
|
+
k.current = null, U.updateRowLayout(e);
|
|
5927
5925
|
};
|
|
5928
5926
|
document.addEventListener("mousemove", l), document.addEventListener("mouseup", u);
|
|
5929
5927
|
}, [
|
|
5930
|
-
|
|
5928
|
+
V,
|
|
5931
5929
|
x,
|
|
5932
5930
|
O,
|
|
5933
|
-
|
|
5934
|
-
|
|
5935
|
-
]), xe =
|
|
5936
|
-
|
|
5931
|
+
fe,
|
|
5932
|
+
U
|
|
5933
|
+
]), xe = G((e, t, n, r) => {
|
|
5934
|
+
me.current && (ae.current = {
|
|
5937
5935
|
rowIndex: e,
|
|
5938
5936
|
colIndex: t,
|
|
5939
5937
|
portletId: n
|
|
5940
|
-
},
|
|
5941
|
-
}, []), we =
|
|
5942
|
-
|
|
5943
|
-
}, []), Te =
|
|
5944
|
-
let n =
|
|
5938
|
+
}, W.current.setIsDraggingPortlet(!0), r.dataTransfer.effectAllowed = "move", r.dataTransfer.setData("text/plain", n));
|
|
5939
|
+
}, []), we = G(() => {
|
|
5940
|
+
ae.current = null, W.current.setIsDraggingPortlet(!1);
|
|
5941
|
+
}, []), Te = G((e, t) => {
|
|
5942
|
+
let n = ae.current;
|
|
5945
5943
|
if (!n) return;
|
|
5946
|
-
let r =
|
|
5944
|
+
let r = fe.map((e) => ({
|
|
5947
5945
|
...e,
|
|
5948
5946
|
columns: e.columns.map((e) => ({ ...e }))
|
|
5949
5947
|
})), i = n.rowIndex, a = r[i];
|
|
@@ -5961,15 +5959,15 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5961
5959
|
}), r[c] = {
|
|
5962
5960
|
...r[c],
|
|
5963
5961
|
columns: xr(r[c].columns.map((e) => e.portletId), x)
|
|
5964
|
-
}),
|
|
5962
|
+
}), U.updateRowLayout(r);
|
|
5965
5963
|
}, [
|
|
5966
5964
|
x,
|
|
5967
|
-
|
|
5968
|
-
|
|
5969
|
-
]), Ee =
|
|
5970
|
-
let t =
|
|
5965
|
+
fe,
|
|
5966
|
+
U
|
|
5967
|
+
]), Ee = G((e) => {
|
|
5968
|
+
let t = ae.current;
|
|
5971
5969
|
if (!t) return;
|
|
5972
|
-
let n =
|
|
5970
|
+
let n = fe.map((e) => ({
|
|
5973
5971
|
...e,
|
|
5974
5972
|
columns: e.columns.map((e) => ({ ...e }))
|
|
5975
5973
|
})), r = n[t.rowIndex];
|
|
@@ -5981,18 +5979,18 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5981
5979
|
h: Math.max(x.minH, 3),
|
|
5982
5980
|
columns: xr([i.portletId], x)
|
|
5983
5981
|
};
|
|
5984
|
-
n.splice(e, 0, a),
|
|
5982
|
+
n.splice(e, 0, a), U.updateRowLayout(n);
|
|
5985
5983
|
}, [
|
|
5986
5984
|
x,
|
|
5987
|
-
|
|
5988
|
-
|
|
5989
|
-
]), De =
|
|
5990
|
-
|
|
5991
|
-
}, []), Oe =
|
|
5992
|
-
let t = await
|
|
5993
|
-
|
|
5985
|
+
fe,
|
|
5986
|
+
U
|
|
5987
|
+
]), De = G((e, t) => {
|
|
5988
|
+
W.current.refreshPortlet(e, t);
|
|
5989
|
+
}, []), Oe = G(async (e) => {
|
|
5990
|
+
let t = await U.savePortlet(e);
|
|
5991
|
+
U.closePortletModal(), t && setTimeout(() => {
|
|
5994
5992
|
let e = () => {
|
|
5995
|
-
let e =
|
|
5993
|
+
let e = te.current[t];
|
|
5996
5994
|
return e ||= document.querySelector(`[data-portlet-id="${t}"]`), e ? (e.scrollIntoView({
|
|
5997
5995
|
behavior: "smooth",
|
|
5998
5996
|
block: "center",
|
|
@@ -6005,13 +6003,13 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6005
6003
|
}, 300);
|
|
6006
6004
|
}, 200);
|
|
6007
6005
|
}, 200);
|
|
6008
|
-
}, [
|
|
6009
|
-
await
|
|
6010
|
-
}, []), Ae =
|
|
6011
|
-
let t = await
|
|
6006
|
+
}, [U]), ke = G(async (e) => {
|
|
6007
|
+
await W.current.deletePortlet(e);
|
|
6008
|
+
}, []), Ae = G(async (e) => {
|
|
6009
|
+
let t = await W.current.duplicatePortlet(e);
|
|
6012
6010
|
t && setTimeout(() => {
|
|
6013
6011
|
let e = () => {
|
|
6014
|
-
let e =
|
|
6012
|
+
let e = te.current[t];
|
|
6015
6013
|
return e ||= document.querySelector(`[data-portlet-id="${t}"]`), e ? (e.scrollIntoView({
|
|
6016
6014
|
behavior: "smooth",
|
|
6017
6015
|
block: "center",
|
|
@@ -6024,22 +6022,22 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6024
6022
|
}, 300);
|
|
6025
6023
|
}, 200);
|
|
6026
6024
|
}, 200);
|
|
6027
|
-
}, []), je =
|
|
6028
|
-
|
|
6029
|
-
}, [
|
|
6030
|
-
|
|
6031
|
-
}, [
|
|
6032
|
-
let t =
|
|
6033
|
-
t.analysisConfig.charts[t.analysisConfig.analysisType]?.chartType === "markdown" ?
|
|
6034
|
-
}, []), Pe =
|
|
6035
|
-
await
|
|
6036
|
-
}, [
|
|
6037
|
-
|
|
6038
|
-
}, []), Ie =
|
|
6039
|
-
await
|
|
6040
|
-
}, [
|
|
6041
|
-
|
|
6042
|
-
}, []), Re =
|
|
6025
|
+
}, []), je = G(() => {
|
|
6026
|
+
U.openAddPortlet();
|
|
6027
|
+
}, [U]), Me = G(() => {
|
|
6028
|
+
U.openAddText();
|
|
6029
|
+
}, [U]), Ne = G((e) => {
|
|
6030
|
+
let t = j(e);
|
|
6031
|
+
t.analysisConfig.charts[t.analysisConfig.analysisType]?.chartType === "markdown" ? W.current.openEditText(e) : W.current.openEditPortlet(e);
|
|
6032
|
+
}, []), Pe = G(async (e) => {
|
|
6033
|
+
await U.handlePaletteChange(e);
|
|
6034
|
+
}, [U]), Fe = G((e) => {
|
|
6035
|
+
W.current.openFilterConfig(e);
|
|
6036
|
+
}, []), Ie = G(async (e) => {
|
|
6037
|
+
await U.saveFilterConfig(e);
|
|
6038
|
+
}, [U]), Le = G((e, t) => {
|
|
6039
|
+
te.current[e] = t;
|
|
6040
|
+
}, []), Re = G((e, t) => {
|
|
6043
6041
|
ne.current[e] = t;
|
|
6044
6042
|
}, []), ze = J(() => ({
|
|
6045
6043
|
RefreshIcon: or,
|
|
@@ -6047,13 +6045,13 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6047
6045
|
DeleteIcon: lr,
|
|
6048
6046
|
CopyIcon: dr,
|
|
6049
6047
|
FilterIcon: fr
|
|
6050
|
-
}), []), Be =
|
|
6051
|
-
await
|
|
6052
|
-
}, []), Ve =
|
|
6053
|
-
|
|
6054
|
-
}, [
|
|
6055
|
-
await
|
|
6056
|
-
}, [
|
|
6048
|
+
}), []), Be = G(async (e, t) => {
|
|
6049
|
+
await W.current.toggleFilterForPortlet(e, t);
|
|
6050
|
+
}, []), Ve = G((e) => {
|
|
6051
|
+
U.selectFilter(e);
|
|
6052
|
+
}, [U]), He = G(async (e) => {
|
|
6053
|
+
await U.selectAllForFilter(e);
|
|
6054
|
+
}, [U]), Ue = J(() => ({
|
|
6057
6055
|
onToggleFilter: Be,
|
|
6058
6056
|
onRefresh: De,
|
|
6059
6057
|
onDuplicate: Ae,
|
|
@@ -6067,14 +6065,14 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6067
6065
|
Ne,
|
|
6068
6066
|
ke,
|
|
6069
6067
|
Fe
|
|
6070
|
-
]), We =
|
|
6068
|
+
]), We = G((i, a, o) => /* @__PURE__ */ Q(Ft, {
|
|
6071
6069
|
portlet: i,
|
|
6072
6070
|
editable: t,
|
|
6073
|
-
layoutMode:
|
|
6071
|
+
layoutMode: H,
|
|
6074
6072
|
dashboardFilters: n,
|
|
6075
6073
|
configEagerLoad: e.eagerLoad,
|
|
6076
6074
|
loadingComponent: r,
|
|
6077
|
-
colorPalette:
|
|
6075
|
+
colorPalette: c,
|
|
6078
6076
|
containerProps: a,
|
|
6079
6077
|
headerProps: o,
|
|
6080
6078
|
callbacks: Ue,
|
|
@@ -6083,11 +6081,11 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6083
6081
|
icons: ze
|
|
6084
6082
|
}), [
|
|
6085
6083
|
t,
|
|
6086
|
-
|
|
6084
|
+
H,
|
|
6087
6085
|
n,
|
|
6088
6086
|
e.eagerLoad,
|
|
6089
6087
|
r,
|
|
6090
|
-
|
|
6088
|
+
c,
|
|
6091
6089
|
Ue,
|
|
6092
6090
|
Le,
|
|
6093
6091
|
Re,
|
|
@@ -6141,21 +6139,21 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6141
6139
|
})
|
|
6142
6140
|
}),
|
|
6143
6141
|
/* @__PURE__ */ Q(Xt, {
|
|
6144
|
-
isOpen:
|
|
6145
|
-
onClose:
|
|
6142
|
+
isOpen: se,
|
|
6143
|
+
onClose: U.closePortletModal,
|
|
6146
6144
|
onSave: Oe,
|
|
6147
|
-
portlet:
|
|
6148
|
-
title:
|
|
6149
|
-
submitText:
|
|
6150
|
-
colorPalette:
|
|
6145
|
+
portlet: M,
|
|
6146
|
+
title: M ? "Edit Portlet" : "Add New Portlet",
|
|
6147
|
+
submitText: M ? "Update Portlet" : "Add Portlet",
|
|
6148
|
+
colorPalette: c,
|
|
6151
6149
|
dashboardFilters: n
|
|
6152
6150
|
}),
|
|
6153
6151
|
/* @__PURE__ */ Q(Qt, {
|
|
6154
|
-
isOpen:
|
|
6155
|
-
onClose:
|
|
6152
|
+
isOpen: ce,
|
|
6153
|
+
onClose: U.closeTextModal,
|
|
6156
6154
|
onSave: Oe,
|
|
6157
|
-
portlet:
|
|
6158
|
-
colorPalette:
|
|
6155
|
+
portlet: N,
|
|
6156
|
+
colorPalette: c,
|
|
6159
6157
|
existingTitles: e.portlets.map((e) => e.title)
|
|
6160
6158
|
})
|
|
6161
6159
|
] });
|
|
@@ -6167,9 +6165,9 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6167
6165
|
h: e.h,
|
|
6168
6166
|
minW: x.minW,
|
|
6169
6167
|
minH: x.minH,
|
|
6170
|
-
isDraggable:
|
|
6171
|
-
isResizable:
|
|
6172
|
-
...
|
|
6168
|
+
isDraggable: V,
|
|
6169
|
+
isResizable: V,
|
|
6170
|
+
...V ? { resizeHandles: [
|
|
6173
6171
|
"s",
|
|
6174
6172
|
"w",
|
|
6175
6173
|
"e",
|
|
@@ -6179,14 +6177,14 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6179
6177
|
"ne",
|
|
6180
6178
|
"nw"
|
|
6181
6179
|
] } : {}
|
|
6182
|
-
})), Ke =
|
|
6183
|
-
rows:
|
|
6180
|
+
})), Ke = H === "rows" ? /* @__PURE__ */ Q(Lt, {
|
|
6181
|
+
rows: fe,
|
|
6184
6182
|
portlets: e.portlets,
|
|
6185
6183
|
gridSettings: x,
|
|
6186
6184
|
gridWidth: O,
|
|
6187
|
-
canEdit:
|
|
6188
|
-
isDragging:
|
|
6189
|
-
onRowResize:
|
|
6185
|
+
canEdit: V,
|
|
6186
|
+
isDragging: z,
|
|
6187
|
+
onRowResize: K,
|
|
6190
6188
|
onColumnResize: be,
|
|
6191
6189
|
onPortletDragStart: xe,
|
|
6192
6190
|
onPortletDragEnd: we,
|
|
@@ -6196,9 +6194,9 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6196
6194
|
}) : /* @__PURE__ */ Q(Se, {
|
|
6197
6195
|
className: "layout",
|
|
6198
6196
|
layout: Ge,
|
|
6199
|
-
onLayoutChange:
|
|
6200
|
-
onDragStop:
|
|
6201
|
-
onResizeStop:
|
|
6197
|
+
onLayoutChange: _e,
|
|
6198
|
+
onDragStop: ve,
|
|
6199
|
+
onResizeStop: ye,
|
|
6202
6200
|
width: O,
|
|
6203
6201
|
gridConfig: {
|
|
6204
6202
|
cols: x.cols,
|
|
@@ -6207,11 +6205,11 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6207
6205
|
containerPadding: [0, 0]
|
|
6208
6206
|
},
|
|
6209
6207
|
dragConfig: {
|
|
6210
|
-
enabled:
|
|
6208
|
+
enabled: V,
|
|
6211
6209
|
handle: ".portlet-drag-handle"
|
|
6212
6210
|
},
|
|
6213
6211
|
resizeConfig: {
|
|
6214
|
-
enabled:
|
|
6212
|
+
enabled: V,
|
|
6215
6213
|
handles: [
|
|
6216
6214
|
"s",
|
|
6217
6215
|
"w",
|
|
@@ -6231,7 +6229,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6231
6229
|
compactor: Ce,
|
|
6232
6230
|
children: e.portlets.filter((e) => e && e.id).map((e) => /* @__PURE__ */ Q("div", { children: We(e) }, e.id))
|
|
6233
6231
|
});
|
|
6234
|
-
return /* @__PURE__ */ Q(
|
|
6232
|
+
return /* @__PURE__ */ Q(ie, {
|
|
6235
6233
|
value: S,
|
|
6236
6234
|
children: /* @__PURE__ */ $("div", {
|
|
6237
6235
|
ref: ee,
|
|
@@ -6243,32 +6241,32 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6243
6241
|
children: [
|
|
6244
6242
|
t && p.editToolbar !== "floating" && /* @__PURE__ */ $("div", {
|
|
6245
6243
|
ref: E,
|
|
6246
|
-
className: `dc:mb-4 dc:flex dc:justify-between dc:items-center dc:sticky dc:top-0 dc:z-10 dc:px-4 dc:py-4 bg-dc-surface-tertiary dc:border border-dc-border dc:rounded-lg dc:transition-all dc:duration-200 ${
|
|
6247
|
-
style: { boxShadow:
|
|
6244
|
+
className: `dc:mb-4 dc:flex dc:justify-between dc:items-center dc:sticky dc:top-0 dc:z-10 dc:px-4 dc:py-4 bg-dc-surface-tertiary dc:border border-dc-border dc:rounded-lg dc:transition-all dc:duration-200 ${he ? "dc:border-b" : ""}`,
|
|
6245
|
+
style: { boxShadow: he ? "var(--dc-shadow-md)" : "var(--dc-shadow-sm)" },
|
|
6248
6246
|
children: [/* @__PURE__ */ $("div", {
|
|
6249
6247
|
className: "dc:flex dc:items-center dc:gap-4",
|
|
6250
6248
|
children: [
|
|
6251
6249
|
/* @__PURE__ */ $("button", {
|
|
6252
|
-
onClick: () => v &&
|
|
6250
|
+
onClick: () => v && U.toggleEditMode(),
|
|
6253
6251
|
disabled: !v,
|
|
6254
|
-
className: `dc:inline-flex dc:items-center dc:px-4 dc:py-2 dc:text-sm dc:font-medium dc:rounded-md dc:transition-colors focus:outline-hidden dc:focus:ring-2 dc:focus:ring-offset-2 ${v ?
|
|
6252
|
+
className: `dc:inline-flex dc:items-center dc:px-4 dc:py-2 dc:text-sm dc:font-medium dc:rounded-md dc:transition-colors focus:outline-hidden dc:focus:ring-2 dc:focus:ring-offset-2 ${v ? A ? "bg-dc-surface-secondary dc:border border-dc-border hover:bg-dc-surface-hover" : "bg-dc-surface dc:border border-dc-border hover:bg-dc-surface-hover" : "dc:opacity-50 dc:cursor-not-allowed bg-dc-surface-secondary dc:border border-dc-border"}`,
|
|
6255
6253
|
style: {
|
|
6256
6254
|
color: v ? "var(--dc-primary)" : "var(--dc-text-muted)",
|
|
6257
|
-
borderColor: v ?
|
|
6255
|
+
borderColor: v ? A ? "var(--dc-border)" : "var(--dc-primary)" : "var(--dc-border)"
|
|
6258
6256
|
},
|
|
6259
|
-
children: [Q(
|
|
6257
|
+
children: [Q(A ? cr : sr, { className: "dc:w-4 dc:h-4 dc:mr-1.5" }), A ? "Finish Editing" : "Edit"]
|
|
6260
6258
|
}),
|
|
6261
|
-
|
|
6259
|
+
A && b.length > 1 && /* @__PURE__ */ $("div", {
|
|
6262
6260
|
className: "dc:inline-flex dc:rounded-md dc:border border-dc-border dc:overflow-hidden dc:whitespace-nowrap",
|
|
6263
6261
|
children: [/* @__PURE__ */ $("button", {
|
|
6264
|
-
onClick: () =>
|
|
6265
|
-
disabled: !
|
|
6266
|
-
className: `dc:inline-flex dc:items-center dc:gap-2 dc:whitespace-nowrap dc:px-3 dc:py-1.5 dc:text-sm dc:font-medium dc:transition-colors dc:border-b-2 ${
|
|
6262
|
+
onClick: () => U.handleLayoutModeChange("grid"),
|
|
6263
|
+
disabled: !ue,
|
|
6264
|
+
className: `dc:inline-flex dc:items-center dc:gap-2 dc:whitespace-nowrap dc:px-3 dc:py-1.5 dc:text-sm dc:font-medium dc:transition-colors dc:border-b-2 ${H === "grid" ? "bg-dc-accent-bg text-dc-accent border-b-dc-accent" : "bg-dc-surface text-dc-text-secondary hover:bg-dc-surface-hover border-b-transparent"} ${ue ? "" : "dc:cursor-not-allowed dc:opacity-50"}`,
|
|
6267
6265
|
children: [/* @__PURE__ */ Q(mr, { className: "dc:w-4 dc:h-4 dc:shrink-0" }), "Grid"]
|
|
6268
6266
|
}), /* @__PURE__ */ $("button", {
|
|
6269
|
-
onClick: () =>
|
|
6270
|
-
disabled: !
|
|
6271
|
-
className: `dc:inline-flex dc:items-center dc:gap-2 dc:whitespace-nowrap dc:px-3 dc:py-1.5 dc:text-sm dc:font-medium dc:transition-colors dc:border-b-2 ${
|
|
6267
|
+
onClick: () => U.handleLayoutModeChange("rows"),
|
|
6268
|
+
disabled: !ue,
|
|
6269
|
+
className: `dc:inline-flex dc:items-center dc:gap-2 dc:whitespace-nowrap dc:px-3 dc:py-1.5 dc:text-sm dc:font-medium dc:transition-colors dc:border-b-2 ${H === "rows" ? "bg-dc-accent-bg text-dc-accent border-b-dc-accent" : "bg-dc-surface text-dc-text-secondary hover:bg-dc-surface-hover border-b-transparent"} ${ue ? "" : "dc:cursor-not-allowed dc:opacity-50"}`,
|
|
6272
6270
|
children: [/* @__PURE__ */ Q(hr, { className: "dc:w-4 dc:h-4 dc:shrink-0" }), "Rows"]
|
|
6273
6271
|
})]
|
|
6274
6272
|
}),
|
|
@@ -6276,15 +6274,15 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6276
6274
|
className: "dc:flex dc:items-center dc:gap-2 dc:text-sm text-dc-text-secondary",
|
|
6277
6275
|
children: [/* @__PURE__ */ Q(pr, { className: "dc:w-4 dc:h-4" }), /* @__PURE__ */ Q("span", { children: "Desktop view required for editing" })]
|
|
6278
6276
|
}),
|
|
6279
|
-
|
|
6277
|
+
A && v && /* @__PURE__ */ Q("p", {
|
|
6280
6278
|
className: "dc:hidden dc:md:block dc:text-sm text-dc-text-secondary",
|
|
6281
6279
|
children: "Drag • Resize • Auto-save"
|
|
6282
6280
|
})
|
|
6283
6281
|
]
|
|
6284
|
-
}),
|
|
6282
|
+
}), A && /* @__PURE__ */ $("div", {
|
|
6285
6283
|
className: "dc:flex dc:items-center dc:gap-3",
|
|
6286
6284
|
children: [
|
|
6287
|
-
/* @__PURE__ */ Q(
|
|
6285
|
+
/* @__PURE__ */ Q(R, {
|
|
6288
6286
|
currentPalette: e.colorPalette,
|
|
6289
6287
|
onPaletteChange: Pe,
|
|
6290
6288
|
className: "dc:shrink-0"
|
|
@@ -6311,23 +6309,23 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6311
6309
|
})]
|
|
6312
6310
|
}),
|
|
6313
6311
|
t && p.editToolbar !== "top" && g === "desktop" && /* @__PURE__ */ Q(Gt, {
|
|
6314
|
-
isEditBarVisible: p.editToolbar === "floating" ? !1 :
|
|
6312
|
+
isEditBarVisible: p.editToolbar === "floating" ? !1 : ge,
|
|
6315
6313
|
position: p.floatingToolbarPosition || "right",
|
|
6316
|
-
isEditMode:
|
|
6317
|
-
onEditModeToggle: () => v &&
|
|
6318
|
-
layoutMode:
|
|
6319
|
-
onLayoutModeChange:
|
|
6314
|
+
isEditMode: A,
|
|
6315
|
+
onEditModeToggle: () => v && U.toggleEditMode(),
|
|
6316
|
+
layoutMode: H,
|
|
6317
|
+
onLayoutModeChange: U.handleLayoutModeChange,
|
|
6320
6318
|
allowedModes: b,
|
|
6321
|
-
canChangeLayoutMode:
|
|
6319
|
+
canChangeLayoutMode: ue,
|
|
6322
6320
|
currentPalette: e.colorPalette || "default",
|
|
6323
|
-
onPaletteChange:
|
|
6324
|
-
onAddPortlet:
|
|
6325
|
-
onAddText:
|
|
6321
|
+
onPaletteChange: U.handlePaletteChange,
|
|
6322
|
+
onAddPortlet: U.openAddPortlet,
|
|
6323
|
+
onAddText: U.openAddText
|
|
6326
6324
|
}),
|
|
6327
6325
|
/* @__PURE__ */ Q(Hn, {
|
|
6328
6326
|
dashboardFilters: n || [],
|
|
6329
6327
|
editable: t,
|
|
6330
|
-
schema:
|
|
6328
|
+
schema: l || null,
|
|
6331
6329
|
dashboardConfig: e,
|
|
6332
6330
|
onDashboardFiltersChange: d || (() => {}),
|
|
6333
6331
|
onSaveFilters: o ? async (t) => {
|
|
@@ -6336,11 +6334,11 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6336
6334
|
filters: t
|
|
6337
6335
|
});
|
|
6338
6336
|
} : void 0,
|
|
6339
|
-
selectedFilterId:
|
|
6337
|
+
selectedFilterId: oe,
|
|
6340
6338
|
onFilterSelect: Ve,
|
|
6341
|
-
isEditMode:
|
|
6339
|
+
isEditMode: A
|
|
6342
6340
|
}),
|
|
6343
|
-
|
|
6341
|
+
oe && de && /* @__PURE__ */ Q("div", {
|
|
6344
6342
|
className: "dc:mb-4 dc:px-4 dc:py-3 dc:rounded-md dc:border-2 dc:transition-all",
|
|
6345
6343
|
style: {
|
|
6346
6344
|
backgroundColor: "var(--dc-primary)",
|
|
@@ -6357,7 +6355,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6357
6355
|
className: "dc:font-medium",
|
|
6358
6356
|
children: [
|
|
6359
6357
|
"Filter Selection Mode - Click portlets to toggle '",
|
|
6360
|
-
|
|
6358
|
+
de.label,
|
|
6361
6359
|
"'"
|
|
6362
6360
|
]
|
|
6363
6361
|
}),
|
|
@@ -6369,7 +6367,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6369
6367
|
}), /* @__PURE__ */ $("div", {
|
|
6370
6368
|
className: "dc:flex dc:items-center dc:gap-2",
|
|
6371
6369
|
children: [/* @__PURE__ */ Q("button", {
|
|
6372
|
-
onClick: () => He(
|
|
6370
|
+
onClick: () => He(oe),
|
|
6373
6371
|
className: "dc:px-3 dc:py-1 dc:rounded-md dc:transition-colors dc:text-sm dc:font-medium",
|
|
6374
6372
|
style: {
|
|
6375
6373
|
backgroundColor: "rgba(255, 255, 255, 0.2)",
|
|
@@ -6379,7 +6377,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6379
6377
|
onMouseLeave: (e) => e.currentTarget.style.backgroundColor = "rgba(255, 255, 255, 0.2)",
|
|
6380
6378
|
children: "Select All"
|
|
6381
6379
|
}), /* @__PURE__ */ Q("button", {
|
|
6382
|
-
onClick: () =>
|
|
6380
|
+
onClick: () => U.exitFilterSelectionMode(),
|
|
6383
6381
|
className: "dc:px-3 dc:py-1 dc:rounded-md dc:transition-colors dc:text-sm dc:font-medium",
|
|
6384
6382
|
style: {
|
|
6385
6383
|
backgroundColor: "rgba(255, 255, 255, 0.2)",
|
|
@@ -6396,7 +6394,7 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6396
6394
|
ref: D,
|
|
6397
6395
|
children: g === "mobile" ? /* @__PURE__ */ Q(Kn, {
|
|
6398
6396
|
config: e,
|
|
6399
|
-
colorPalette:
|
|
6397
|
+
colorPalette: c,
|
|
6400
6398
|
dashboardFilters: n,
|
|
6401
6399
|
onPortletRefresh: De
|
|
6402
6400
|
}) : g === "scaled" ? /* @__PURE__ */ Q(Un, {
|
|
@@ -6406,40 +6404,40 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6406
6404
|
}) : Ke
|
|
6407
6405
|
}),
|
|
6408
6406
|
/* @__PURE__ */ Q(Xt, {
|
|
6409
|
-
isOpen:
|
|
6410
|
-
onClose:
|
|
6407
|
+
isOpen: se,
|
|
6408
|
+
onClose: U.closePortletModal,
|
|
6411
6409
|
onSave: Oe,
|
|
6412
|
-
portlet:
|
|
6413
|
-
title:
|
|
6414
|
-
submitText:
|
|
6415
|
-
colorPalette:
|
|
6410
|
+
portlet: M,
|
|
6411
|
+
title: M ? "Edit Portlet" : "Add New Portlet",
|
|
6412
|
+
submitText: M ? "Update Portlet" : "Add Portlet",
|
|
6413
|
+
colorPalette: c,
|
|
6416
6414
|
dashboardFilters: n
|
|
6417
6415
|
}),
|
|
6418
6416
|
/* @__PURE__ */ Q(Qt, {
|
|
6419
|
-
isOpen:
|
|
6420
|
-
onClose:
|
|
6417
|
+
isOpen: ce,
|
|
6418
|
+
onClose: U.closeTextModal,
|
|
6421
6419
|
onSave: Oe,
|
|
6422
|
-
portlet:
|
|
6423
|
-
colorPalette:
|
|
6420
|
+
portlet: N,
|
|
6421
|
+
colorPalette: c,
|
|
6424
6422
|
existingTitles: e.portlets.map((e) => e.title)
|
|
6425
6423
|
}),
|
|
6426
6424
|
/* @__PURE__ */ Q($t, {
|
|
6427
|
-
isOpen:
|
|
6428
|
-
onClose:
|
|
6425
|
+
isOpen: P,
|
|
6426
|
+
onClose: U.closeFilterConfig,
|
|
6429
6427
|
dashboardFilters: n || [],
|
|
6430
|
-
currentMapping:
|
|
6428
|
+
currentMapping: F?.dashboardFilterMapping || [],
|
|
6431
6429
|
onSave: Ie,
|
|
6432
|
-
portletTitle:
|
|
6430
|
+
portletTitle: F?.title || ""
|
|
6433
6431
|
}),
|
|
6434
|
-
/* @__PURE__ */ Q(
|
|
6435
|
-
isOpen: !!
|
|
6436
|
-
onClose:
|
|
6437
|
-
onConfirm:
|
|
6432
|
+
/* @__PURE__ */ Q(le, {
|
|
6433
|
+
isOpen: !!I,
|
|
6434
|
+
onClose: U.closeDeleteConfirm,
|
|
6435
|
+
onConfirm: U.confirmDelete,
|
|
6438
6436
|
title: "Delete Portlet",
|
|
6439
6437
|
message: /* @__PURE__ */ $(Z, { children: [
|
|
6440
6438
|
"Are you sure you want to delete",
|
|
6441
6439
|
" ",
|
|
6442
|
-
/* @__PURE__ */ Q("strong", { children: e.portlets.find((e) => e.id ===
|
|
6440
|
+
/* @__PURE__ */ Q("strong", { children: e.portlets.find((e) => e.id === I)?.title || "this portlet" }),
|
|
6443
6441
|
"? This action cannot be undone."
|
|
6444
6442
|
] }),
|
|
6445
6443
|
confirmText: "Delete",
|
|
@@ -6451,12 +6449,12 @@ function Cr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6451
6449
|
}
|
|
6452
6450
|
//#endregion
|
|
6453
6451
|
//#region src/client/components/AnalyticsDashboard.tsx
|
|
6454
|
-
function wr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent: r, onConfigChange: i, onSave: a, onSaveThumbnail: o, onDirtyStateChange:
|
|
6455
|
-
let { meta:
|
|
6452
|
+
function wr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent: r, onConfigChange: i, onSave: a, onSaveThumbnail: o, onDirtyStateChange: s }) {
|
|
6453
|
+
let { meta: c } = k(), { dashboardModes: l } = u(), { handleConfigChange: d, handleSave: f } = U({
|
|
6456
6454
|
initialConfig: e,
|
|
6457
6455
|
onConfigChange: i,
|
|
6458
6456
|
onSave: a,
|
|
6459
|
-
onDirtyStateChange:
|
|
6457
|
+
onDirtyStateChange: s
|
|
6460
6458
|
}), p = J(() => {
|
|
6461
6459
|
let t = e.filters || [], r = n || [];
|
|
6462
6460
|
if (r.length === 0) return t;
|
|
@@ -6469,7 +6467,7 @@ function wr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6469
6467
|
} : e;
|
|
6470
6468
|
}), a = new Set(t.map((e) => e.id)), o = r.filter((e) => !a.has(e.id));
|
|
6471
6469
|
return [...i, ...o];
|
|
6472
|
-
}, [e.filters, n]), m =
|
|
6470
|
+
}, [e.filters, n]), m = G((t) => {
|
|
6473
6471
|
!n || n.length === 0 ? d({
|
|
6474
6472
|
...e,
|
|
6475
6473
|
filters: t
|
|
@@ -6491,10 +6489,10 @@ function wr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6491
6489
|
onSaveThumbnail: o,
|
|
6492
6490
|
colorPalette: J(() => {
|
|
6493
6491
|
let t = e.colorPalette;
|
|
6494
|
-
return
|
|
6492
|
+
return P(t);
|
|
6495
6493
|
}, [e.colorPalette]),
|
|
6496
|
-
schema:
|
|
6497
|
-
dashboardModes:
|
|
6494
|
+
schema: c,
|
|
6495
|
+
dashboardModes: l,
|
|
6498
6496
|
onDashboardFiltersChange: m
|
|
6499
6497
|
})
|
|
6500
6498
|
}) });
|
|
@@ -6502,7 +6500,7 @@ function wr({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
6502
6500
|
//#endregion
|
|
6503
6501
|
//#region src/client/components/PortletContainer.tsx
|
|
6504
6502
|
function Tr({ portlet: e, editable: t = !1, onEdit: n, onDelete: r, onRefresh: i }) {
|
|
6505
|
-
let { analysisConfig: a } = J(() =>
|
|
6503
|
+
let { analysisConfig: a } = J(() => j(e), [e]), o = a.charts[a.analysisType], s = J(() => JSON.stringify(a.query), [a.query]), c = o?.chartType || "line", l = o?.chartConfig, u = o?.displayConfig, [d, f] = X(null), p = G((e) => {
|
|
6506
6504
|
f(e);
|
|
6507
6505
|
}, []);
|
|
6508
6506
|
return /* @__PURE__ */ $("div", {
|
|
@@ -6622,7 +6620,7 @@ function Er({ isOpen: e, onClose: t, onSave: n, title: r, submitText: i, initial
|
|
|
6622
6620
|
}, m = () => {
|
|
6623
6621
|
c(""), u(""), f(!1), t();
|
|
6624
6622
|
};
|
|
6625
|
-
return /* @__PURE__ */ Q(
|
|
6623
|
+
return /* @__PURE__ */ Q(B, {
|
|
6626
6624
|
isOpen: e,
|
|
6627
6625
|
onClose: m,
|
|
6628
6626
|
title: r,
|
|
@@ -6675,4 +6673,4 @@ function Er({ isOpen: e, onClose: t, onSave: n, title: r, submitText: i, initial
|
|
|
6675
6673
|
//#endregion
|
|
6676
6674
|
export { tt as A, yt as C, it as D, at as E, Pe as M, Te as N, nt as O, vt as S, ot as T, Et as _, ir as a, kt as b, gt as c, Ct as d, Ot as f, St as g, Dt as h, Cr as i, ze as j, rt as k, ft as l, bt as m, Tr as n, Xt as o, Tt as p, wr as r, Yt as s, Er as t, At as u, xt as v, ct as w, _t as x, wt as y };
|
|
6677
6675
|
|
|
6678
|
-
//# sourceMappingURL=DashboardEditModal-
|
|
6676
|
+
//# sourceMappingURL=DashboardEditModal-4zzjtZRR.js.map
|