drizzle-cube 0.8.2 → 0.8.3
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/adapters/ActivityGridChart.config-Bu5lf3M0.js +2 -0
- package/dist/adapters/ActivityGridChart.config-NSLCFzvM.cjs +1 -0
- package/dist/adapters/AreaChart.config-Bv7qJYd0.cjs +1 -0
- package/dist/adapters/AreaChart.config-DexPQDQp.js +2 -0
- package/dist/adapters/BarChart.config-Br0vyPO0.js +2 -0
- package/dist/adapters/BarChart.config-Dc1FHoux.cjs +1 -0
- package/dist/adapters/BoxPlotChart.config-C_j-wp0l.cjs +1 -0
- package/dist/adapters/BoxPlotChart.config-Dz9P8ck_.js +2 -0
- package/dist/adapters/BubbleChart.config-e6hABmpk.js +2 -0
- package/dist/adapters/BubbleChart.config-ro80CWd_.cjs +1 -0
- package/dist/adapters/CandlestickChart.config-Btzcen-6.cjs +1 -0
- package/dist/adapters/CandlestickChart.config-BzAPnbp4.js +2 -0
- package/dist/adapters/DataTable.config-RNGMSueS.cjs +1 -0
- package/dist/adapters/DataTable.config-enzxzWhP.js +2 -0
- package/dist/adapters/DotStripChart.config-C3FEV6Ys.js +2 -0
- package/dist/adapters/DotStripChart.config-DhODtwbu.cjs +1 -0
- package/dist/adapters/FunnelChart.config-CX1DFABr.cjs +1 -0
- package/dist/adapters/FunnelChart.config-DXg1N0FP.js +2 -0
- package/dist/adapters/GaugeChart.config-Dl2DrFSl.cjs +1 -0
- package/dist/adapters/GaugeChart.config-oiPzrfGx.js +2 -0
- package/dist/adapters/HeatMapChart.config-B9SrePWx.js +2 -0
- package/dist/adapters/HeatMapChart.config-CTwcA2aU.cjs +1 -0
- package/dist/adapters/KpiDelta.config-CgZQueiY.js +2 -0
- package/dist/adapters/KpiDelta.config-eybdn0eH.cjs +1 -0
- package/dist/adapters/KpiNumber.config-Ce2piJuC.js +2 -0
- package/dist/adapters/KpiNumber.config-h_KXh89X.cjs +1 -0
- package/dist/adapters/KpiText.config-CLk6a0TW.cjs +1 -0
- package/dist/adapters/KpiText.config-_g2gpg2d.js +2 -0
- package/dist/adapters/LineChart.config-C3MQKW5U.cjs +1 -0
- package/dist/adapters/LineChart.config-CA4b1Xt-.js +2 -0
- package/dist/adapters/MarkdownChart.config-B4lCc0_v.js +2 -0
- package/dist/adapters/MarkdownChart.config-waq3gxEs.cjs +1 -0
- package/dist/adapters/MeasureProfileChart.config-B1LrfeP-.js +2 -0
- package/dist/adapters/MeasureProfileChart.config-Djka_dSU.cjs +1 -0
- package/dist/adapters/PieChart.config-BfSLFe9d.js +2 -0
- package/dist/adapters/PieChart.config-D5ixLlYJ.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-CRWy5aME.cjs +1 -0
- package/dist/adapters/ProportionBarChart.config-nyP6m6i0.js +2 -0
- package/dist/adapters/RadarChart.config-B7C-0wYa.cjs +1 -0
- package/dist/adapters/RadarChart.config-COzBFXrA.js +2 -0
- package/dist/adapters/RadialBarChart.config-C50IqzNQ.js +2 -0
- package/dist/adapters/RadialBarChart.config-LTSl-xoA.cjs +1 -0
- package/dist/adapters/RecordsTable.config-BHWD9CBE.js +2 -0
- package/dist/adapters/RecordsTable.config-DnY_PByk.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-CObWpIId.cjs +1 -0
- package/dist/adapters/RetentionCombinedChart.config-DxPk1BaI.js +2 -0
- package/dist/adapters/RetentionHeatmap.config-CHZiVXVo.cjs +1 -0
- package/dist/adapters/RetentionHeatmap.config-Ckoiq5Jo.js +2 -0
- package/dist/adapters/SankeyChart.config-CVoAarnp.cjs +1 -0
- package/dist/adapters/SankeyChart.config-D2R8E5Ss.js +2 -0
- package/dist/adapters/ScatterChart.config-BE_J_t4r.js +2 -0
- package/dist/adapters/ScatterChart.config-DsVSbcSc.cjs +1 -0
- package/dist/adapters/SunburstChart.config-BLtPPPli.cjs +1 -0
- package/dist/adapters/SunburstChart.config-DrnmHxNQ.js +2 -0
- package/dist/adapters/TreeMapChart.config-4p3cVWIy.js +2 -0
- package/dist/adapters/TreeMapChart.config-DkRO8LYG.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-CKi4zg3x.cjs +1 -0
- package/dist/adapters/WaterfallChart.config-DuUXmAyw.js +2 -0
- package/dist/adapters/core/index.cjs +1 -1
- package/dist/adapters/core/index.js +1 -1
- package/dist/adapters/{core-l3KMTu9u.js → core-BBtbwMwR.js} +1 -1
- package/dist/adapters/{core-CrJu6vJY.cjs → core-DnUv8WiY.cjs} +1 -1
- package/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +3 -3
- package/dist/adapters/fastify/index.cjs +1 -1
- package/dist/adapters/fastify/index.js +3 -3
- package/dist/adapters/{handler-DESp4wPg.js → handler-_xh4X1OO.js} +30 -30
- package/dist/adapters/{handler-CRGZ8gd2.cjs → handler-l75Hbzv3.cjs} +2 -2
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +3 -3
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/mcp-tools.js +1 -1
- package/dist/adapters/{mcp-transport-BqdBHmXL.js → mcp-transport-BOfhj01O.js} +1 -1
- package/dist/adapters/{mcp-transport-D8xZJLPD.cjs → mcp-transport-Dl5bn6h4.cjs} +1 -1
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +3 -3
- package/dist/cjs/client/components/PortletGroupCard.d.ts +3 -1
- package/dist/cjs/client/components/RowManagedLayout.d.ts +5 -2
- package/dist/cjs/client/components/dashboardPortletCard/cardStyles.d.ts +7 -3
- package/dist/cjs/client/components/rowManagedLayout/sections.d.ts +46 -0
- package/dist/client/charts.js +1 -1
- package/dist/client/chunks/{DashboardEditModal-BliiIHcI.js → DashboardEditModal-B-0eV6vd.js} +870 -777
- package/dist/client/chunks/DashboardEditModal-B-0eV6vd.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-C0gJ3kDD.js → analysis-builder-DnDw164v.js} +4 -4
- package/dist/client/chunks/{analysis-builder-C0gJ3kDD.js.map → analysis-builder-DnDw164v.js.map} +1 -1
- package/dist/client/chunks/{analysis-builder-shared-dqcpl_WL.js → analysis-builder-shared-D7eA0iW7.js} +2 -2
- package/dist/client/chunks/{analysis-builder-shared-dqcpl_WL.js.map → analysis-builder-shared-D7eA0iW7.js.map} +1 -1
- package/dist/client/chunks/{chart-markdown-yxN_xBP9.js → chart-markdown-BhLRzK_W.js} +2 -2
- package/dist/client/chunks/chart-markdown-BhLRzK_W.js.map +1 -0
- package/dist/client/chunks/{charts-loader-tCSbqT7H.js → charts-loader-D_yEsIpH.js} +2 -2
- package/dist/client/chunks/{charts-loader-tCSbqT7H.js.map → charts-loader-D_yEsIpH.js.map} +1 -1
- package/dist/client/components/PortletGroupCard.d.ts +3 -1
- package/dist/client/components/RowManagedLayout.d.ts +5 -2
- package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +7 -3
- package/dist/client/components/rowManagedLayout/sections.d.ts +46 -0
- package/dist/client/components.js +1 -1
- package/dist/client/index.js +4 -4
- package/dist/client/styles.css +1 -1
- package/dist/client-bundle-stats.html +1 -1
- package/dist/mcp-app/mcp-app.html +1 -1
- package/package.json +1 -1
- package/dist/adapters/ActivityGridChart.config-Bc7mPqcf.cjs +0 -1
- package/dist/adapters/ActivityGridChart.config-Dd2YDeaM.js +0 -2
- package/dist/adapters/AreaChart.config-BqNusnpg.js +0 -2
- package/dist/adapters/AreaChart.config-dI84V34B.cjs +0 -1
- package/dist/adapters/BarChart.config-B9MQjgLJ.cjs +0 -1
- package/dist/adapters/BarChart.config-Cq_qcxBA.js +0 -2
- package/dist/adapters/BoxPlotChart.config-XmtRN2xq.cjs +0 -1
- package/dist/adapters/BoxPlotChart.config-Zc-JGV-W.js +0 -2
- package/dist/adapters/BubbleChart.config-CU_18uxb.js +0 -2
- package/dist/adapters/BubbleChart.config-CbhOzA6-.cjs +0 -1
- package/dist/adapters/CandlestickChart.config-Bwo3uaa-.js +0 -2
- package/dist/adapters/CandlestickChart.config-CmRBlWFv.cjs +0 -1
- package/dist/adapters/DataTable.config-7JNSj6qQ.js +0 -2
- package/dist/adapters/DataTable.config-DNxm1sYk.cjs +0 -1
- package/dist/adapters/DotStripChart.config-B7Dl-T1h.js +0 -2
- package/dist/adapters/DotStripChart.config-Co4g1fpZ.cjs +0 -1
- package/dist/adapters/FunnelChart.config-D1TpuGtL.cjs +0 -1
- package/dist/adapters/FunnelChart.config-vuZScOHQ.js +0 -2
- package/dist/adapters/GaugeChart.config-BMgUHKhC.cjs +0 -1
- package/dist/adapters/GaugeChart.config-zdpFydo6.js +0 -2
- package/dist/adapters/HeatMapChart.config-4XMab1zq.js +0 -2
- package/dist/adapters/HeatMapChart.config-C-Ns6QBq.cjs +0 -1
- package/dist/adapters/KpiDelta.config-BGdqsHcc.js +0 -2
- package/dist/adapters/KpiDelta.config-DuNxrGIi.cjs +0 -1
- package/dist/adapters/KpiNumber.config-CkPWpcSz.js +0 -2
- package/dist/adapters/KpiNumber.config-DMGmuA3i.cjs +0 -1
- package/dist/adapters/KpiText.config-Bvtuv8vE.js +0 -2
- package/dist/adapters/KpiText.config-DOMLO16U.cjs +0 -1
- package/dist/adapters/LineChart.config-CJmTSmZ1.js +0 -2
- package/dist/adapters/LineChart.config-CrkGu0aa.cjs +0 -1
- package/dist/adapters/MarkdownChart.config-BgY5Xc97.cjs +0 -1
- package/dist/adapters/MarkdownChart.config-Cm6G4Yuh.js +0 -2
- package/dist/adapters/MeasureProfileChart.config-BYwDo_ox.cjs +0 -1
- package/dist/adapters/MeasureProfileChart.config-Dt7npubZ.js +0 -2
- package/dist/adapters/PieChart.config-BRbPctBN.cjs +0 -1
- package/dist/adapters/PieChart.config-HZofeody.js +0 -2
- package/dist/adapters/ProportionBarChart.config-B_rTtGZr.cjs +0 -1
- package/dist/adapters/ProportionBarChart.config-ChCSoM0L.js +0 -2
- package/dist/adapters/RadarChart.config-B9OdMEib.js +0 -2
- package/dist/adapters/RadarChart.config-BOgPD2Kz.cjs +0 -1
- package/dist/adapters/RadialBarChart.config-CeP7jEbq.js +0 -2
- package/dist/adapters/RadialBarChart.config-sivA1Jmo.cjs +0 -1
- package/dist/adapters/RecordsTable.config-BInSgo-G.js +0 -2
- package/dist/adapters/RecordsTable.config-CVmxLdjz.cjs +0 -1
- package/dist/adapters/RetentionCombinedChart.config-8ry7gh6X.cjs +0 -1
- package/dist/adapters/RetentionCombinedChart.config-Bxtxnlcf.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-DCtOD8dO.js +0 -2
- package/dist/adapters/RetentionHeatmap.config-i-LgmmIT.cjs +0 -1
- package/dist/adapters/SankeyChart.config-DfpeHfNT.cjs +0 -1
- package/dist/adapters/SankeyChart.config-hfM0ACm1.js +0 -2
- package/dist/adapters/ScatterChart.config-BD2vfOZ6.js +0 -2
- package/dist/adapters/ScatterChart.config-CdpvRueF.cjs +0 -1
- package/dist/adapters/SunburstChart.config-Boyt88L_.cjs +0 -1
- package/dist/adapters/SunburstChart.config-BvrofzMv.js +0 -2
- package/dist/adapters/TreeMapChart.config-DBrqwtqT.js +0 -2
- package/dist/adapters/TreeMapChart.config-KcRLlZAG.cjs +0 -1
- package/dist/adapters/WaterfallChart.config-CuCGaIl5.cjs +0 -1
- package/dist/adapters/WaterfallChart.config-DZ8H0V2L.js +0 -2
- package/dist/client/chunks/DashboardEditModal-BliiIHcI.js.map +0 -1
- package/dist/client/chunks/chart-markdown-yxN_xBP9.js.map +0 -1
package/dist/client/chunks/{DashboardEditModal-BliiIHcI.js → DashboardEditModal-B-0eV6vd.js}
RENAMED
|
@@ -5,13 +5,13 @@ import { r as y } from "./chart-sankey-MRCoWFd4.js";
|
|
|
5
5
|
import { a as b, l as x, s as S } from "./retention-ChW9jYdy.js";
|
|
6
6
|
import { A as C, D as w, E as T, L as E, S as D, T as O, a as k, d as A, i as j, l as M, n as N, r as P, s as ee, t as te, u as F, w as I, x as ne } from "./useDirtyStateTracking-DTYbmRBn.js";
|
|
7
7
|
import { B as L, F as R, R as z } from "./chart-activity-grid-CJzxC18G.js";
|
|
8
|
-
import { a as B, t as re } from "./charts-loader-
|
|
8
|
+
import { a as B, t as re } from "./charts-loader-D_yEsIpH.js";
|
|
9
9
|
import { H as ie } from "./chart-area-C66dgy84.js";
|
|
10
10
|
import { a as ae, t as oe } from "./syntaxHighlighting-Cm43as8i.js";
|
|
11
11
|
import { n as se, t as ce } from "./charts-core-DnirPG1F.js";
|
|
12
12
|
import { n as le } from "./chart-gauge-pf-2E8w9.js";
|
|
13
|
-
import { t as ue } from "./chart-markdown-
|
|
14
|
-
import de, { Component as fe, Fragment as pe, Suspense as
|
|
13
|
+
import { t as ue } from "./chart-markdown-BhLRzK_W.js";
|
|
14
|
+
import de, { Component as fe, Fragment as pe, Suspense as V, createContext as H, forwardRef as me, lazy as he, memo as U, startTransition as ge, useCallback as W, useContext as _e, useEffect as G, useImperativeHandle as ve, useMemo as K, useRef as q, useState as J } from "react";
|
|
15
15
|
import { Fragment as Y, jsx as X, jsxs as Z } from "react/jsx-runtime";
|
|
16
16
|
import { createPortal as ye } from "react-dom";
|
|
17
17
|
import be, { verticalCompactor as xe } from "react-grid-layout";
|
|
@@ -2334,7 +2334,7 @@ function Sn(e) {
|
|
|
2334
2334
|
}
|
|
2335
2335
|
//#endregion
|
|
2336
2336
|
//#region src/client/components/AnalyticsPortlet.tsx
|
|
2337
|
-
var Cn = de.memo(
|
|
2337
|
+
var Cn = de.memo(me(({ query: e, chartType: t, chartConfig: n, displayConfig: r, dashboardFilters: i, dashboardFilterMapping: s, eagerLoad: c = !1, isVisible: l, height: u = 300, title: d, colorPalette: f, loadingComponent: p, onDebugDataReady: m }, g) => {
|
|
2338
2338
|
let _ = o(), { ref: v, inView: y } = a({
|
|
2339
2339
|
root: _,
|
|
2340
2340
|
rootMargin: "500px",
|
|
@@ -2386,7 +2386,7 @@ var Cn = de.memo(he(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
2386
2386
|
G(() => {
|
|
2387
2387
|
P(ae ?? null);
|
|
2388
2388
|
}, [ae]), ve(g, () => ({ refresh: fe }), [fe]);
|
|
2389
|
-
let
|
|
2389
|
+
let V = K(() => z ? {
|
|
2390
2390
|
...z,
|
|
2391
2391
|
total: B?.totalCount?.()
|
|
2392
2392
|
} : void 0, [z, B]);
|
|
@@ -2414,9 +2414,9 @@ var Cn = de.memo(he(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
2414
2414
|
drillPath: F.drillPath,
|
|
2415
2415
|
currentChartConfig: F.currentChartConfig
|
|
2416
2416
|
});
|
|
2417
|
-
let
|
|
2417
|
+
let H = !S && x.dropZones.some((e) => e.mandatory === !0), me = qt({
|
|
2418
2418
|
hasChartConfig: !!n,
|
|
2419
|
-
hasMandatoryFields:
|
|
2419
|
+
hasMandatoryFields: H,
|
|
2420
2420
|
shouldSkipQuery: S,
|
|
2421
2421
|
eagerLoad: c,
|
|
2422
2422
|
isVisible: b,
|
|
@@ -2437,7 +2437,7 @@ var Cn = de.memo(he(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
2437
2437
|
flowChartData: se,
|
|
2438
2438
|
retentionChartData: ce
|
|
2439
2439
|
});
|
|
2440
|
-
return
|
|
2440
|
+
return me === "chart" ? /* @__PURE__ */ X("div", {
|
|
2441
2441
|
ref: v,
|
|
2442
2442
|
className: "dc:w-full dc:h-full dc:relative",
|
|
2443
2443
|
children: /* @__PURE__ */ X(gn, {
|
|
@@ -2458,7 +2458,7 @@ var Cn = de.memo(he(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
2458
2458
|
flowChartData: se,
|
|
2459
2459
|
retentionChartData: ce,
|
|
2460
2460
|
activeQuery: R,
|
|
2461
|
-
pagination:
|
|
2461
|
+
pagination: V,
|
|
2462
2462
|
droppedMembers: te,
|
|
2463
2463
|
drill: F,
|
|
2464
2464
|
isDrillEnabled: !k && !A && !j && !M && F.drillEnabled,
|
|
@@ -2466,7 +2466,7 @@ var Cn = de.memo(he(({ query: e, chartType: t, chartConfig: n, displayConfig: r,
|
|
|
2466
2466
|
onNavigateToLevel: L
|
|
2467
2467
|
})
|
|
2468
2468
|
}) : /* @__PURE__ */ X(Sn, {
|
|
2469
|
-
kind:
|
|
2469
|
+
kind: me,
|
|
2470
2470
|
inViewRef: v,
|
|
2471
2471
|
height: u,
|
|
2472
2472
|
loadingComponent: p,
|
|
@@ -2595,7 +2595,7 @@ var On = null;
|
|
|
2595
2595
|
function kn() {
|
|
2596
2596
|
return On ||= Dn(), On;
|
|
2597
2597
|
}
|
|
2598
|
-
var An =
|
|
2598
|
+
var An = H(null);
|
|
2599
2599
|
function jn({ children: e, initialEditMode: t }) {
|
|
2600
2600
|
let n = q(null);
|
|
2601
2601
|
return n.current ||= Dn({ initialEditMode: t }), /* @__PURE__ */ X(An.Provider, {
|
|
@@ -3443,12 +3443,19 @@ function pr(e) {
|
|
|
3443
3443
|
isTransparent: !0,
|
|
3444
3444
|
shouldHideHeader: !0
|
|
3445
3445
|
};
|
|
3446
|
-
let s = t === "markdown", c = r !== "grid" && s && (n?.autoHeight ?? !0), l = s
|
|
3446
|
+
let s = t === "markdown", c = r !== "grid" && s && (n?.autoHeight ?? !0), l = s ? (n?.hideHeader ?? !0) || !!n?.transparentBackground || !a : n?.hideHeader ?? !1;
|
|
3447
|
+
if (o === "sectionChild") return {
|
|
3448
|
+
isMarkdownAutoHeight: c,
|
|
3449
|
+
isTransparentContent: !1,
|
|
3450
|
+
isTransparent: !0,
|
|
3451
|
+
shouldHideHeader: l
|
|
3452
|
+
};
|
|
3453
|
+
let u = s && !!n?.transparentBackground;
|
|
3447
3454
|
return {
|
|
3448
3455
|
isMarkdownAutoHeight: c,
|
|
3449
|
-
isTransparentContent:
|
|
3450
|
-
isTransparent:
|
|
3451
|
-
shouldHideHeader:
|
|
3456
|
+
isTransparentContent: u,
|
|
3457
|
+
isTransparent: u && !i,
|
|
3458
|
+
shouldHideHeader: l
|
|
3452
3459
|
};
|
|
3453
3460
|
}
|
|
3454
3461
|
function mr(e) {
|
|
@@ -3458,22 +3465,24 @@ function mr(e) {
|
|
|
3458
3465
|
r ? "dc:cursor-pointer" : "",
|
|
3459
3466
|
i
|
|
3460
3467
|
].filter(Boolean).join(" ") : [
|
|
3468
|
+
a === "sectionChild" ? "dc-portlet-section-child" : "",
|
|
3461
3469
|
t ? "dc:flex dc:flex-col dc:transition-all" : "bg-dc-surface dc:border dc:rounded-lg dc:flex dc:flex-col dc:transition-all",
|
|
3462
3470
|
n ? "" : "dc:h-full",
|
|
3463
3471
|
r ? "dc:cursor-pointer dc:relative" : "",
|
|
3464
3472
|
i
|
|
3465
3473
|
].filter(Boolean).join(" ");
|
|
3466
3474
|
}
|
|
3467
|
-
function hr(e, t) {
|
|
3475
|
+
function hr(e, t, n) {
|
|
3468
3476
|
return [
|
|
3469
|
-
"dc:flex dc:items-center dc:justify-between dc:px-3 dc:
|
|
3477
|
+
"dc:flex dc:items-center dc:justify-between dc:px-3 dc:md:px-4 dc:shrink-0 portlet-drag-handle",
|
|
3478
|
+
n === "sectionChild" ? "dc:py-3 dc:md:py-3" : "dc:py-1.5 dc:md:py-1 dc:border-b border-dc-border bg-dc-surface-secondary dc:rounded-t-lg",
|
|
3470
3479
|
e ? "dc:cursor-move" : "dc:cursor-default",
|
|
3471
3480
|
t
|
|
3472
3481
|
].filter(Boolean).join(" ");
|
|
3473
3482
|
}
|
|
3474
3483
|
function gr(e) {
|
|
3475
3484
|
let { isTransparent: t, isInSelectionMode: n, hasSelectedFilter: r, containerStyle: i, variant: a } = e, o = n && r;
|
|
3476
|
-
return a === "groupChild" ? {
|
|
3485
|
+
return a === "groupChild" || a === "sectionChild" ? {
|
|
3477
3486
|
boxShadow: o ? "inset 0 0 0 2px var(--dc-primary)" : "none",
|
|
3478
3487
|
borderWidth: 0,
|
|
3479
3488
|
backgroundColor: o ? "color-mix(in srgb, var(--dc-primary) 5%, transparent)" : "transparent",
|
|
@@ -3493,7 +3502,7 @@ function gr(e) {
|
|
|
3493
3502
|
var _r = de.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 }) {
|
|
3494
3503
|
return /* @__PURE__ */ X("div", {
|
|
3495
3504
|
ref: t,
|
|
3496
|
-
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"}`,
|
|
3505
|
+
className: `dc-portlet-card-body 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"}`,
|
|
3497
3506
|
children: /* @__PURE__ */ X(Cn, {
|
|
3498
3507
|
ref: n,
|
|
3499
3508
|
query: r,
|
|
@@ -3539,7 +3548,7 @@ var _r = de.memo(function({ isTransparent: e, setChartContainerRef: t, setPortle
|
|
|
3539
3548
|
isInSelectionMode: I,
|
|
3540
3549
|
extraClassName: s?.className,
|
|
3541
3550
|
variant: l
|
|
3542
|
-
}), R = hr(b, c?.className), { onClick: z, className: B, style: re, ...ie } = s ?? {}, { onClick: ae, className: oe, style: se, ...ce } = c ?? {}, le = W((t) => {
|
|
3551
|
+
}), R = hr(b, c?.className, l), { onClick: z, className: B, style: re, ...ie } = s ?? {}, { onClick: ae, className: oe, style: se, ...ce } = c ?? {}, le = W((t) => {
|
|
3543
3552
|
D(e.id, t);
|
|
3544
3553
|
}, [e.id, D]), ue = W((t) => {
|
|
3545
3554
|
u(e.id, t);
|
|
@@ -3629,20 +3638,73 @@ var _r = de.memo(function({ isTransparent: e, setChartContainerRef: t, setPortle
|
|
|
3629
3638
|
})
|
|
3630
3639
|
]
|
|
3631
3640
|
});
|
|
3632
|
-
}, Qn)
|
|
3641
|
+
}, Qn);
|
|
3642
|
+
//#endregion
|
|
3643
|
+
//#region src/client/components/rowManagedLayout/sections.ts
|
|
3644
|
+
function yr(e) {
|
|
3645
|
+
let t = Ke(e), n = t.analysisConfig.charts[t.analysisConfig.analysisType];
|
|
3646
|
+
return n?.chartType === "markdown" && (n.displayConfig?.autoHeight ?? !0);
|
|
3647
|
+
}
|
|
3648
|
+
function br(e, t) {
|
|
3649
|
+
return e.columns.length > 0 && e.columns.every((e) => {
|
|
3650
|
+
if (e.groupId) return !1;
|
|
3651
|
+
let n = e.portletId ? t.get(e.portletId) : void 0;
|
|
3652
|
+
return !!n && yr(n);
|
|
3653
|
+
});
|
|
3654
|
+
}
|
|
3655
|
+
function xr(e, t, n) {
|
|
3656
|
+
if (e.columns.length !== 1) return !1;
|
|
3657
|
+
let [r] = e.columns;
|
|
3658
|
+
return r.groupId || !r.portletId || Math.abs(r.w - n) > 1e-6 ? !1 : br(e, t);
|
|
3659
|
+
}
|
|
3660
|
+
var Sr = /^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/;
|
|
3661
|
+
function Cr(e) {
|
|
3662
|
+
let t = Ke(e), n = t.analysisConfig.charts[t.analysisConfig.analysisType]?.displayConfig;
|
|
3663
|
+
if (n?.accentBorder === "bottom") return !0;
|
|
3664
|
+
let r = n?.content;
|
|
3665
|
+
if (typeof r != "string") return !1;
|
|
3666
|
+
let i = r.trimEnd().split("\n");
|
|
3667
|
+
return Sr.test(i[i.length - 1] ?? "");
|
|
3668
|
+
}
|
|
3669
|
+
function wr(e, t, n) {
|
|
3670
|
+
let r = [], i = 0;
|
|
3671
|
+
for (; i < e.length;) {
|
|
3672
|
+
if (!xr(e[i], t, n)) {
|
|
3673
|
+
r.push({
|
|
3674
|
+
kind: "loose",
|
|
3675
|
+
rowIndex: i
|
|
3676
|
+
}), i += 1;
|
|
3677
|
+
continue;
|
|
3678
|
+
}
|
|
3679
|
+
let a = i, o = [];
|
|
3680
|
+
for (i += 1; i < e.length && !xr(e[i], t, n);) o.push(i), i += 1;
|
|
3681
|
+
r.push(o.length === 0 ? {
|
|
3682
|
+
kind: "loose",
|
|
3683
|
+
rowIndex: a
|
|
3684
|
+
} : {
|
|
3685
|
+
kind: "section",
|
|
3686
|
+
headerRowIndex: a,
|
|
3687
|
+
bodyRowIndices: o
|
|
3688
|
+
});
|
|
3689
|
+
}
|
|
3690
|
+
return r;
|
|
3691
|
+
}
|
|
3692
|
+
//#endregion
|
|
3693
|
+
//#region src/client/components/RowManagedLayout.tsx
|
|
3694
|
+
var Tr = [
|
|
3633
3695
|
"top",
|
|
3634
3696
|
"right",
|
|
3635
3697
|
"bottom",
|
|
3636
3698
|
"left"
|
|
3637
|
-
],
|
|
3638
|
-
function
|
|
3699
|
+
], Er = 16;
|
|
3700
|
+
function Dr({ rows: e, portlets: t, groups: n = [], gridSettings: r, gridWidth: i, canEdit: a, isDragging: o, onRowResize: s, onColumnResize: c, onPortletDragStart: l, onPortletDragEnd: u, onRowDrop: d, onNewRowDrop: f, onSnapDrop: p, draggingPortletId: m, draggingGroupId: h, renderPortlet: g, renderGroup: _ }) {
|
|
3639
3701
|
let v = new Map(t.map((e) => [e.id, e])), y = new Map(n.map((e) => [e.id, e])), [b, x] = J(null), S = (e) => {
|
|
3640
3702
|
x(e);
|
|
3641
3703
|
}, C = o || b !== null, w = W((e) => {
|
|
3642
3704
|
l(parseInt(e.currentTarget.dataset.rowIndex || "0", 10), parseInt(e.currentTarget.dataset.columnIndex || "0", 10), e.currentTarget.dataset.portletId || "", e, e.currentTarget.dataset.groupId || void 0);
|
|
3643
3705
|
}, [l]), T = W(() => {
|
|
3644
3706
|
S(null), u();
|
|
3645
|
-
}, [u]), E = W((e) => !a || !p || !o || h || m === e ? null :
|
|
3707
|
+
}, [u]), E = W((e) => !a || !p || !o || h || m === e ? null : Tr.map((t) => {
|
|
3646
3708
|
let n = `snap-${e}-${t}`, r = b === n;
|
|
3647
3709
|
return /* @__PURE__ */ Z(pe, { children: [/* @__PURE__ */ X("div", {
|
|
3648
3710
|
"data-snap-edge": t,
|
|
@@ -3663,14 +3725,96 @@ function xr({ rows: e, portlets: t, groups: n = [], gridSettings: r, gridWidth:
|
|
|
3663
3725
|
m,
|
|
3664
3726
|
o,
|
|
3665
3727
|
p
|
|
3666
|
-
]), D =
|
|
3728
|
+
]), D = a ? null : wr(e, v, r.cols), O = (t) => {
|
|
3729
|
+
let n = e[t]?.columns[0]?.portletId, r = n ? v.get(n) : void 0;
|
|
3730
|
+
return !!r && Cr(r);
|
|
3731
|
+
}, k = (e, t, n) => {
|
|
3732
|
+
let o = br(e, v), l = o ? void 0 : e.h * r.rowHeight, u = i || r.cols * r.rowHeight, p = b === `row-${t}-insert-0` ? Er : 0, x = b === `row-${t}-insert-${e.columns.length}` ? Er : 0, C = (u - (e.columns.length - 1) * Er - p - x) / r.cols;
|
|
3733
|
+
return /* @__PURE__ */ Z("div", {
|
|
3734
|
+
className: "dc-row-layout-row-wrapper",
|
|
3735
|
+
children: [
|
|
3736
|
+
/* @__PURE__ */ X("div", {
|
|
3737
|
+
className: "dc-row-layout-row",
|
|
3738
|
+
style: {
|
|
3739
|
+
height: l ?? "auto",
|
|
3740
|
+
paddingLeft: p,
|
|
3741
|
+
paddingRight: x
|
|
3742
|
+
},
|
|
3743
|
+
children: e.columns.map((r, i) => {
|
|
3744
|
+
let o = r.groupId ? y.get(r.groupId) : void 0, s = !o && r.portletId ? v.get(r.portletId) : void 0;
|
|
3745
|
+
if (!o && !s) return null;
|
|
3746
|
+
let l = o ? o.id : s.id, u = r.w * C;
|
|
3747
|
+
return /* @__PURE__ */ Z("div", {
|
|
3748
|
+
className: `dc-row-layout-column-wrapper dc-row-layout-column${(o ? h === o.id : m === s.id) ? " dc-row-layout-column-dragging" : ""}`,
|
|
3749
|
+
draggable: a,
|
|
3750
|
+
"data-row-index": t.toString(),
|
|
3751
|
+
"data-column-index": i.toString(),
|
|
3752
|
+
"data-portlet-id": s?.id,
|
|
3753
|
+
"data-group-id": o?.id,
|
|
3754
|
+
onDragStart: w,
|
|
3755
|
+
onDragEnd: T,
|
|
3756
|
+
style: {
|
|
3757
|
+
flex: `0 0 ${u}px`,
|
|
3758
|
+
maxWidth: `${u}px`
|
|
3759
|
+
},
|
|
3760
|
+
children: [o ? _?.(o, E, n) : /* @__PURE__ */ Z(Y, { children: [g(s, void 0, void 0, n ? "sectionChild" : "standalone"), E(s.id)] }), i < e.columns.length - 1 && /* @__PURE__ */ X("div", {
|
|
3761
|
+
className: `dc-column-resize-handle dc-split-handle${b === `row-${t}-insert-${i + 1}` ? " dc-drop-zone-active" : ""}`,
|
|
3762
|
+
onMouseDown: (e) => c(t, i, e),
|
|
3763
|
+
onDragOver: (e) => {
|
|
3764
|
+
a && (e.preventDefault(), S(`row-${t}-insert-${i + 1}`));
|
|
3765
|
+
},
|
|
3766
|
+
onDragLeave: () => S(null),
|
|
3767
|
+
onDrop: (e) => {
|
|
3768
|
+
a && (e.preventDefault(), e.stopPropagation(), S(null), d(t, i + 1));
|
|
3769
|
+
}
|
|
3770
|
+
})]
|
|
3771
|
+
}, l);
|
|
3772
|
+
})
|
|
3773
|
+
}),
|
|
3774
|
+
a && /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X("div", {
|
|
3775
|
+
className: `dc-row-edge-drop dc-row-edge-drop-left dc-split-handle${b === `row-${t}-insert-0` ? " dc-drop-zone-active" : ""}`,
|
|
3776
|
+
onDragOver: (e) => {
|
|
3777
|
+
e.preventDefault(), S(`row-${t}-insert-0`);
|
|
3778
|
+
},
|
|
3779
|
+
onDragLeave: () => {
|
|
3780
|
+
S(null);
|
|
3781
|
+
},
|
|
3782
|
+
onDrop: (e) => {
|
|
3783
|
+
e.preventDefault(), S(null), d(t, 0);
|
|
3784
|
+
}
|
|
3785
|
+
}), /* @__PURE__ */ X("div", {
|
|
3786
|
+
className: `dc-row-edge-drop dc-row-edge-drop-right dc-split-handle${b === `row-${t}-insert-${e.columns.length}` ? " dc-drop-zone-active" : ""}`,
|
|
3787
|
+
onDragOver: (n) => {
|
|
3788
|
+
n.preventDefault(), S(`row-${t}-insert-${e.columns.length}`);
|
|
3789
|
+
},
|
|
3790
|
+
onDragLeave: () => {
|
|
3791
|
+
S(null);
|
|
3792
|
+
},
|
|
3793
|
+
onDrop: (n) => {
|
|
3794
|
+
n.preventDefault(), S(null), d(t, e.columns.length);
|
|
3795
|
+
}
|
|
3796
|
+
})] }),
|
|
3797
|
+
a && /* @__PURE__ */ X("div", {
|
|
3798
|
+
className: `dc-row-resize-handle dc-split-handle${o ? " dc-row-resize-handle-drop-only" : ""}${b === `row-insert-${t + 1}` ? " dc-drop-zone-active" : ""}`,
|
|
3799
|
+
onMouseDown: o ? void 0 : (e) => s(t, e),
|
|
3800
|
+
onDragOver: (e) => {
|
|
3801
|
+
e.preventDefault(), S(`row-insert-${t + 1}`);
|
|
3802
|
+
},
|
|
3803
|
+
onDragLeave: () => S(null),
|
|
3804
|
+
onDrop: (e) => {
|
|
3805
|
+
e.preventDefault(), S(null), f(t + 1);
|
|
3806
|
+
}
|
|
3807
|
+
})
|
|
3808
|
+
]
|
|
3809
|
+
}, e.id);
|
|
3810
|
+
}, A = b === "row-insert-0", j = b === "row-bottom";
|
|
3667
3811
|
return /* @__PURE__ */ Z("div", {
|
|
3668
3812
|
className: `dc-row-layout${a ? " dc-row-layout-editable" : ""}${C ? " dc-row-layout-dragging" : ""}`,
|
|
3669
3813
|
style: {
|
|
3670
3814
|
"--dc-row-gap": "24px",
|
|
3671
|
-
"--dc-column-gap": `${
|
|
3672
|
-
"--dc-top-drop-space":
|
|
3673
|
-
"--dc-bottom-drop-space":
|
|
3815
|
+
"--dc-column-gap": `${Er}px`,
|
|
3816
|
+
"--dc-top-drop-space": A ? "24px" : "0px",
|
|
3817
|
+
"--dc-bottom-drop-space": j ? "24px" : "0px"
|
|
3674
3818
|
},
|
|
3675
3819
|
children: [
|
|
3676
3820
|
a && /* @__PURE__ */ X("div", {
|
|
@@ -3683,92 +3827,10 @@ function xr({ rows: e, portlets: t, groups: n = [], gridSettings: r, gridWidth:
|
|
|
3683
3827
|
e.preventDefault(), S(null), f(0);
|
|
3684
3828
|
}
|
|
3685
3829
|
}),
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
if (!t) return !1;
|
|
3691
|
-
let n = Ke(t), r = n.analysisConfig.charts[n.analysisConfig.analysisType];
|
|
3692
|
-
return r?.chartType === "markdown" && (r.displayConfig?.autoHeight ?? !0);
|
|
3693
|
-
}), o = n ? void 0 : e.h * r.rowHeight, l = i || r.cols * r.rowHeight, u = b === `row-${t}-insert-0` ? br : 0, p = b === `row-${t}-insert-${e.columns.length}` ? br : 0, x = (l - (e.columns.length - 1) * br - u - p) / r.cols;
|
|
3694
|
-
return /* @__PURE__ */ Z("div", {
|
|
3695
|
-
className: "dc-row-layout-row-wrapper",
|
|
3696
|
-
children: [
|
|
3697
|
-
/* @__PURE__ */ X("div", {
|
|
3698
|
-
className: "dc-row-layout-row",
|
|
3699
|
-
style: {
|
|
3700
|
-
height: o ?? "auto",
|
|
3701
|
-
paddingLeft: u,
|
|
3702
|
-
paddingRight: p
|
|
3703
|
-
},
|
|
3704
|
-
children: e.columns.map((n, r) => {
|
|
3705
|
-
let i = n.groupId ? y.get(n.groupId) : void 0, o = !i && n.portletId ? v.get(n.portletId) : void 0;
|
|
3706
|
-
if (!i && !o) return null;
|
|
3707
|
-
let s = i ? i.id : o.id, l = n.w * x;
|
|
3708
|
-
return /* @__PURE__ */ Z("div", {
|
|
3709
|
-
className: `dc-row-layout-column-wrapper dc-row-layout-column${(i ? h === i.id : m === o.id) ? " dc-row-layout-column-dragging" : ""}`,
|
|
3710
|
-
draggable: a,
|
|
3711
|
-
"data-row-index": t.toString(),
|
|
3712
|
-
"data-column-index": r.toString(),
|
|
3713
|
-
"data-portlet-id": o?.id,
|
|
3714
|
-
"data-group-id": i?.id,
|
|
3715
|
-
onDragStart: w,
|
|
3716
|
-
onDragEnd: T,
|
|
3717
|
-
style: {
|
|
3718
|
-
flex: `0 0 ${l}px`,
|
|
3719
|
-
maxWidth: `${l}px`
|
|
3720
|
-
},
|
|
3721
|
-
children: [i ? _?.(i, E) : /* @__PURE__ */ Z(Y, { children: [g(o), E(o.id)] }), r < e.columns.length - 1 && /* @__PURE__ */ X("div", {
|
|
3722
|
-
className: `dc-column-resize-handle dc-split-handle${b === `row-${t}-insert-${r + 1}` ? " dc-drop-zone-active" : ""}`,
|
|
3723
|
-
onMouseDown: (e) => c(t, r, e),
|
|
3724
|
-
onDragOver: (e) => {
|
|
3725
|
-
a && (e.preventDefault(), S(`row-${t}-insert-${r + 1}`));
|
|
3726
|
-
},
|
|
3727
|
-
onDragLeave: () => S(null),
|
|
3728
|
-
onDrop: (e) => {
|
|
3729
|
-
a && (e.preventDefault(), e.stopPropagation(), S(null), d(t, r + 1));
|
|
3730
|
-
}
|
|
3731
|
-
})]
|
|
3732
|
-
}, s);
|
|
3733
|
-
})
|
|
3734
|
-
}),
|
|
3735
|
-
a && /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X("div", {
|
|
3736
|
-
className: `dc-row-edge-drop dc-row-edge-drop-left dc-split-handle${b === `row-${t}-insert-0` ? " dc-drop-zone-active" : ""}`,
|
|
3737
|
-
onDragOver: (e) => {
|
|
3738
|
-
e.preventDefault(), S(`row-${t}-insert-0`);
|
|
3739
|
-
},
|
|
3740
|
-
onDragLeave: () => {
|
|
3741
|
-
S(null);
|
|
3742
|
-
},
|
|
3743
|
-
onDrop: (e) => {
|
|
3744
|
-
e.preventDefault(), S(null), d(t, 0);
|
|
3745
|
-
}
|
|
3746
|
-
}), /* @__PURE__ */ X("div", {
|
|
3747
|
-
className: `dc-row-edge-drop dc-row-edge-drop-right dc-split-handle${b === `row-${t}-insert-${e.columns.length}` ? " dc-drop-zone-active" : ""}`,
|
|
3748
|
-
onDragOver: (n) => {
|
|
3749
|
-
n.preventDefault(), S(`row-${t}-insert-${e.columns.length}`);
|
|
3750
|
-
},
|
|
3751
|
-
onDragLeave: () => {
|
|
3752
|
-
S(null);
|
|
3753
|
-
},
|
|
3754
|
-
onDrop: (n) => {
|
|
3755
|
-
n.preventDefault(), S(null), d(t, e.columns.length);
|
|
3756
|
-
}
|
|
3757
|
-
})] }),
|
|
3758
|
-
a && /* @__PURE__ */ X("div", {
|
|
3759
|
-
className: `dc-row-resize-handle dc-split-handle${n ? " dc-row-resize-handle-drop-only" : ""}${b === `row-insert-${t + 1}` ? " dc-drop-zone-active" : ""}`,
|
|
3760
|
-
onMouseDown: n ? void 0 : (e) => s(t, e),
|
|
3761
|
-
onDragOver: (e) => {
|
|
3762
|
-
e.preventDefault(), S(`row-insert-${t + 1}`);
|
|
3763
|
-
},
|
|
3764
|
-
onDragLeave: () => S(null),
|
|
3765
|
-
onDrop: (e) => {
|
|
3766
|
-
e.preventDefault(), S(null), f(t + 1);
|
|
3767
|
-
}
|
|
3768
|
-
})
|
|
3769
|
-
]
|
|
3770
|
-
}, e.id);
|
|
3771
|
-
}),
|
|
3830
|
+
D ? D.map((t) => t.kind === "loose" ? k(e[t.rowIndex], t.rowIndex, !1) : /* @__PURE__ */ Z("div", {
|
|
3831
|
+
className: `dc-dashboard-section${O(t.headerRowIndex) ? " dc-dashboard-section-ruled" : ""}`,
|
|
3832
|
+
children: [k(e[t.headerRowIndex], t.headerRowIndex, !0), t.bodyRowIndices.map((t) => k(e[t], t, !0))]
|
|
3833
|
+
}, `section-${e[t.headerRowIndex].id}`)) : e.map((e, t) => k(e, t, !1)),
|
|
3772
3834
|
a && /* @__PURE__ */ X("div", {
|
|
3773
3835
|
className: `dc-row-boundary-drop dc-row-boundary-drop-bottom dc-split-handle${b === "row-bottom" ? " dc-drop-zone-active" : ""}`,
|
|
3774
3836
|
onDragOver: (e) => {
|
|
@@ -3784,7 +3846,7 @@ function xr({ rows: e, portlets: t, groups: n = [], gridSettings: r, gridWidth:
|
|
|
3784
3846
|
}
|
|
3785
3847
|
//#endregion
|
|
3786
3848
|
//#region src/client/components/PortletGroupCard.tsx
|
|
3787
|
-
function
|
|
3849
|
+
function Or() {
|
|
3788
3850
|
return /* @__PURE__ */ Z("svg", {
|
|
3789
3851
|
style: {
|
|
3790
3852
|
width: "14px",
|
|
@@ -3828,18 +3890,18 @@ function Sr() {
|
|
|
3828
3890
|
]
|
|
3829
3891
|
});
|
|
3830
3892
|
}
|
|
3831
|
-
var
|
|
3832
|
-
function
|
|
3833
|
-
let { t:
|
|
3834
|
-
|
|
3893
|
+
var kr = v("edit"), Ar = v("delete"), jr = v("segment");
|
|
3894
|
+
function Mr({ group: e, portlets: t, canEdit: n, renderChild: r, onRename: i, onUngroup: a, onDelete: o, onChildDragStart: s, onChildDragEnd: c, renderSnapBands: l, frameless: u = !1 }) {
|
|
3895
|
+
let { t: d } = R(), [f, p] = J(!1), [m, h] = J(e.title ?? ""), g = e.direction === "row", _ = !!(e.title && e.title.trim()), v = W(() => {
|
|
3896
|
+
p(!1), m !== (e.title ?? "") && i(e.id, m);
|
|
3835
3897
|
}, [
|
|
3836
3898
|
e.id,
|
|
3837
3899
|
e.title,
|
|
3838
3900
|
i,
|
|
3839
|
-
|
|
3840
|
-
]),
|
|
3841
|
-
|
|
3842
|
-
}, [e.title]),
|
|
3901
|
+
m
|
|
3902
|
+
]), y = W(() => {
|
|
3903
|
+
h(e.title ?? ""), p(!0);
|
|
3904
|
+
}, [e.title]), b = n ? /* @__PURE__ */ Z("div", {
|
|
3843
3905
|
className: "dc-portlet-group-toolbar dc:flex dc:items-center dc:gap-0.5 dc:shrink-0",
|
|
3844
3906
|
onMouseDown: (e) => {
|
|
3845
3907
|
e.stopPropagation(), e.preventDefault();
|
|
@@ -3848,10 +3910,10 @@ function Er({ group: e, portlets: t, canEdit: n, renderChild: r, onRename: i, on
|
|
|
3848
3910
|
children: [
|
|
3849
3911
|
/* @__PURE__ */ X("button", {
|
|
3850
3912
|
draggable: !1,
|
|
3851
|
-
onClick:
|
|
3913
|
+
onClick: y,
|
|
3852
3914
|
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",
|
|
3853
|
-
title:
|
|
3854
|
-
children: /* @__PURE__ */ X(
|
|
3915
|
+
title: d("dashboard.group.rename"),
|
|
3916
|
+
children: /* @__PURE__ */ X(kr, { style: {
|
|
3855
3917
|
width: "14px",
|
|
3856
3918
|
height: "14px",
|
|
3857
3919
|
color: "currentColor"
|
|
@@ -3861,8 +3923,8 @@ function Er({ group: e, portlets: t, canEdit: n, renderChild: r, onRename: i, on
|
|
|
3861
3923
|
draggable: !1,
|
|
3862
3924
|
onClick: () => a(e.id),
|
|
3863
3925
|
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",
|
|
3864
|
-
title:
|
|
3865
|
-
children: /* @__PURE__ */ X(
|
|
3926
|
+
title: d("dashboard.group.ungroup"),
|
|
3927
|
+
children: /* @__PURE__ */ X(jr, { style: {
|
|
3866
3928
|
width: "14px",
|
|
3867
3929
|
height: "14px",
|
|
3868
3930
|
color: "currentColor"
|
|
@@ -3872,53 +3934,53 @@ function Er({ group: e, portlets: t, canEdit: n, renderChild: r, onRename: i, on
|
|
|
3872
3934
|
draggable: !1,
|
|
3873
3935
|
onClick: () => o(e.id),
|
|
3874
3936
|
className: "dc:p-1 bg-transparent dc:border-none dc:rounded-sm text-dc-danger dc:cursor-pointer hover:bg-dc-danger-bg dc:transition-colors",
|
|
3875
|
-
title:
|
|
3876
|
-
children: /* @__PURE__ */ X(
|
|
3937
|
+
title: d("dashboard.group.delete"),
|
|
3938
|
+
children: /* @__PURE__ */ X(Ar, { style: {
|
|
3877
3939
|
width: "14px",
|
|
3878
3940
|
height: "14px",
|
|
3879
3941
|
color: "currentColor"
|
|
3880
3942
|
} })
|
|
3881
3943
|
})
|
|
3882
3944
|
]
|
|
3883
|
-
}) : null,
|
|
3945
|
+
}) : null, x = n ? /* @__PURE__ */ X("span", {
|
|
3884
3946
|
className: "dc-portlet-group-drag-grip dc:inline-flex dc:items-center dc:p-1 text-dc-text-muted dc:cursor-move dc:shrink-0",
|
|
3885
|
-
title:
|
|
3886
|
-
children: /* @__PURE__ */ X(
|
|
3947
|
+
title: d("dashboard.group.drag"),
|
|
3948
|
+
children: /* @__PURE__ */ X(Or, {})
|
|
3887
3949
|
}) : null;
|
|
3888
3950
|
return /* @__PURE__ */ Z("div", {
|
|
3889
|
-
className: "dc-portlet-group bg-dc-surface dc:border border-dc-border dc:rounded-lg dc:flex dc:flex-col dc:h-full dc:min-h-0 dc:relative
|
|
3890
|
-
style: { boxShadow: "var(--dc-shadow-sm)" },
|
|
3951
|
+
className: `dc-portlet-group${u ? " dc-portlet-group-frameless" : " bg-dc-surface dc:border border-dc-border dc:rounded-lg"} dc:flex dc:flex-col dc:h-full dc:min-h-0 dc:relative`,
|
|
3952
|
+
style: { boxShadow: u ? "none" : "var(--dc-shadow-sm)" },
|
|
3891
3953
|
"data-group-id": e.id,
|
|
3892
3954
|
children: [
|
|
3893
|
-
(
|
|
3955
|
+
(_ || f) && /* @__PURE__ */ Z("div", {
|
|
3894
3956
|
className: "dc-portlet-group-title portlet-drag-handle dc:flex dc:items-center dc:justify-between dc:gap-2 dc:px-2 dc:py-1 dc:border-b border-dc-border dc:shrink-0 bg-dc-surface-secondary dc:rounded-t-lg",
|
|
3895
3957
|
children: [/* @__PURE__ */ Z("div", {
|
|
3896
3958
|
className: "dc:flex dc:items-center dc:gap-1 dc:min-w-0 dc:flex-1",
|
|
3897
|
-
children: [
|
|
3959
|
+
children: [x, f ? /* @__PURE__ */ X("input", {
|
|
3898
3960
|
autoFocus: !0,
|
|
3899
|
-
value:
|
|
3900
|
-
onChange: (e) =>
|
|
3901
|
-
onBlur:
|
|
3961
|
+
value: m,
|
|
3962
|
+
onChange: (e) => h(e.target.value),
|
|
3963
|
+
onBlur: v,
|
|
3902
3964
|
onKeyDown: (e) => {
|
|
3903
|
-
e.key === "Enter" &&
|
|
3965
|
+
e.key === "Enter" && v(), e.key === "Escape" && p(!1);
|
|
3904
3966
|
},
|
|
3905
3967
|
onMouseDown: (e) => e.stopPropagation(),
|
|
3906
|
-
placeholder:
|
|
3968
|
+
placeholder: d("dashboard.group.titlePlaceholder"),
|
|
3907
3969
|
className: "dc:flex-1 dc:min-w-0 dc:text-sm dc:font-semibold text-dc-text bg-transparent dc:border-none dc:outline-hidden"
|
|
3908
3970
|
}) : /* @__PURE__ */ X("h3", {
|
|
3909
3971
|
className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
|
|
3910
3972
|
children: e.title
|
|
3911
3973
|
})]
|
|
3912
|
-
}),
|
|
3974
|
+
}), b]
|
|
3913
3975
|
}),
|
|
3914
|
-
!
|
|
3976
|
+
!_ && !f && n && /* @__PURE__ */ Z("div", {
|
|
3915
3977
|
className: "dc-portlet-group-floating-toolbar dc:flex dc:items-center dc:px-1 dc:py-0.5 dc:rounded-sm dc:border border-dc-border bg-dc-surface",
|
|
3916
|
-
children: [
|
|
3978
|
+
children: [x, b]
|
|
3917
3979
|
}),
|
|
3918
3980
|
/* @__PURE__ */ X("div", {
|
|
3919
3981
|
className: "dc-portlet-group-body dc:flex dc:flex-1 dc:min-h-0 dc:p-1",
|
|
3920
3982
|
style: {
|
|
3921
|
-
flexDirection:
|
|
3983
|
+
flexDirection: g ? "row" : "column",
|
|
3922
3984
|
gap: "var(--dc-group-gap, 4px)"
|
|
3923
3985
|
},
|
|
3924
3986
|
children: e.cells.map((i, a) => /* @__PURE__ */ X("div", {
|
|
@@ -3927,7 +3989,7 @@ function Er({ group: e, portlets: t, canEdit: n, renderChild: r, onRename: i, on
|
|
|
3927
3989
|
flexGrow: 1,
|
|
3928
3990
|
flexShrink: 1,
|
|
3929
3991
|
flexBasis: 0,
|
|
3930
|
-
flexDirection:
|
|
3992
|
+
flexDirection: g ? "column" : "row",
|
|
3931
3993
|
gap: "var(--dc-group-gap, 4px)"
|
|
3932
3994
|
},
|
|
3933
3995
|
children: i.portletIds.map((i) => {
|
|
@@ -3951,7 +4013,7 @@ function Er({ group: e, portlets: t, canEdit: n, renderChild: r, onRename: i, on
|
|
|
3951
4013
|
}
|
|
3952
4014
|
//#endregion
|
|
3953
4015
|
//#region src/client/hooks/dashboard/groupGeometry.ts
|
|
3954
|
-
function
|
|
4016
|
+
function Nr(e, t) {
|
|
3955
4017
|
let n = t.length;
|
|
3956
4018
|
if (n === 0) return [];
|
|
3957
4019
|
if (e <= n) return t.map(() => 1);
|
|
@@ -3970,12 +4032,12 @@ function Dr(e, t) {
|
|
|
3970
4032
|
}
|
|
3971
4033
|
return a;
|
|
3972
4034
|
}
|
|
3973
|
-
function
|
|
4035
|
+
function Pr(e, t, n, r, i) {
|
|
3974
4036
|
let a = e.cells.filter((e) => e.portletIds.length > 0);
|
|
3975
4037
|
if (a.length === 0) return [];
|
|
3976
|
-
let o = a.map(() => 1), s = e.direction === "row", c =
|
|
4038
|
+
let o = a.map(() => 1), s = e.direction === "row", c = Nr(s ? r : i, o), l = [], u = s ? t : n;
|
|
3977
4039
|
return a.forEach((e, a) => {
|
|
3978
|
-
let o = c[a], d =
|
|
4040
|
+
let o = c[a], d = Nr(s ? i : r, e.portletIds.map(() => 1)), f = s ? n : t;
|
|
3979
4041
|
e.portletIds.forEach((e, t) => {
|
|
3980
4042
|
let n = d[t];
|
|
3981
4043
|
l.push(s ? {
|
|
@@ -3996,7 +4058,7 @@ function Or(e, t, n, r, i) {
|
|
|
3996
4058
|
}
|
|
3997
4059
|
//#endregion
|
|
3998
4060
|
//#region src/client/hooks/dashboard/layoutUtils.ts
|
|
3999
|
-
var
|
|
4061
|
+
var Fr = () => `row-${Date.now()}`, Ir = (e, t, n) => n && t < e ? e - 1 : e, $ = (e, t) => {
|
|
4000
4062
|
let n = e.length;
|
|
4001
4063
|
if (n === 0) return [];
|
|
4002
4064
|
let { cols: r, minW: i } = t, a = i * n;
|
|
@@ -4012,7 +4074,7 @@ var kr = () => `row-${Date.now()}`, Ar = (e, t, n) => n && t < e ? e - 1 : e, $
|
|
|
4012
4074
|
...e,
|
|
4013
4075
|
w: i + s + +(t < c)
|
|
4014
4076
|
}));
|
|
4015
|
-
},
|
|
4077
|
+
}, Lr = (e, t) => {
|
|
4016
4078
|
if (e.length === 0) return [];
|
|
4017
4079
|
let { cols: n, minW: r } = t, i = e.map((e) => ({
|
|
4018
4080
|
...e,
|
|
@@ -4032,7 +4094,7 @@ var kr = () => `row-${Date.now()}`, Ar = (e, t, n) => n && t < e ? e - 1 : e, $
|
|
|
4032
4094
|
t.w -= a, o -= a;
|
|
4033
4095
|
}
|
|
4034
4096
|
return i;
|
|
4035
|
-
},
|
|
4097
|
+
}, Rr = (e, t) => {
|
|
4036
4098
|
if (e.length === 0) return [];
|
|
4037
4099
|
let n = [...e].sort((e, t) => e.y === t.y ? e.x - t.x : e.y - t.y), r = /* @__PURE__ */ new Map();
|
|
4038
4100
|
return n.forEach((e) => {
|
|
@@ -4049,14 +4111,14 @@ var kr = () => `row-${Date.now()}`, Ar = (e, t, n) => n && t < e ? e - 1 : e, $
|
|
|
4049
4111
|
})), t)
|
|
4050
4112
|
};
|
|
4051
4113
|
});
|
|
4052
|
-
},
|
|
4114
|
+
}, zr = (e, t, n, r = []) => {
|
|
4053
4115
|
let i = new Set(t.map((e) => e.id)), a = new Set(r.map((e) => e.id)), o = (e) => e.groupId ? a.has(e.groupId) : !!e.portletId && i.has(e.portletId);
|
|
4054
4116
|
return e.map((e) => ({
|
|
4055
4117
|
...e,
|
|
4056
4118
|
h: Math.max(n.minH, e.h),
|
|
4057
|
-
columns:
|
|
4119
|
+
columns: Lr(e.columns.filter(o), n)
|
|
4058
4120
|
})).filter((e) => e.columns.length > 0);
|
|
4059
|
-
},
|
|
4121
|
+
}, Br = (e, t, n = []) => {
|
|
4060
4122
|
let r = new Map(t.map((e) => [e.id, e])), i = new Map(n.map((e) => [e.id, e])), a = 0, o = [];
|
|
4061
4123
|
e.forEach((e) => {
|
|
4062
4124
|
let t = Math.max(1, Math.round(e.h)), n = 0;
|
|
@@ -4064,7 +4126,7 @@ var kr = () => `row-${Date.now()}`, Ar = (e, t, n) => n && t < e ? e - 1 : e, $
|
|
|
4064
4126
|
let s = Math.round(n), c = Math.max(1, Math.round(n + e.w) - s);
|
|
4065
4127
|
if (e.groupId) {
|
|
4066
4128
|
let l = i.get(e.groupId);
|
|
4067
|
-
l &&
|
|
4129
|
+
l && Pr(l, s, a, c, t).forEach((e) => {
|
|
4068
4130
|
let t = r.get(e.portletId);
|
|
4069
4131
|
t && o.push({
|
|
4070
4132
|
...t,
|
|
@@ -4090,17 +4152,17 @@ var kr = () => `row-${Date.now()}`, Ar = (e, t, n) => n && t < e ? e - 1 : e, $
|
|
|
4090
4152
|
return t.forEach((e) => {
|
|
4091
4153
|
s.has(e.id) || o.push(e);
|
|
4092
4154
|
}), o;
|
|
4093
|
-
},
|
|
4155
|
+
}, Vr = 0, Hr = () => `group-${Date.now()}-${Vr += 1}`, Ur = (e) => e.cells.flatMap((e) => e.portletIds), Wr = (e) => ({
|
|
4094
4156
|
...e,
|
|
4095
4157
|
cells: e.cells.map((e) => ({
|
|
4096
4158
|
...e,
|
|
4097
4159
|
portletIds: [...e.portletIds]
|
|
4098
4160
|
}))
|
|
4099
|
-
}),
|
|
4161
|
+
}), Gr = (e) => e.map((e) => ({
|
|
4100
4162
|
...e,
|
|
4101
4163
|
columns: e.columns.map((e) => ({ ...e }))
|
|
4102
4164
|
}));
|
|
4103
|
-
function
|
|
4165
|
+
function Kr(e, t, n) {
|
|
4104
4166
|
let r = new Map(t.map((e) => [e.id, e]));
|
|
4105
4167
|
for (let t = 0; t < e.length; t += 1) {
|
|
4106
4168
|
let { columns: i } = e[t];
|
|
@@ -4126,11 +4188,11 @@ function Br(e, t, n) {
|
|
|
4126
4188
|
}
|
|
4127
4189
|
return null;
|
|
4128
4190
|
}
|
|
4129
|
-
function
|
|
4191
|
+
function qr(e, t) {
|
|
4130
4192
|
let n = null;
|
|
4131
4193
|
return {
|
|
4132
4194
|
groups: e.flatMap((e) => {
|
|
4133
|
-
if (!
|
|
4195
|
+
if (!Ur(e).includes(t)) return [e];
|
|
4134
4196
|
n = e.id;
|
|
4135
4197
|
let r = e.cells.map((e) => ({
|
|
4136
4198
|
...e,
|
|
@@ -4144,7 +4206,7 @@ function Vr(e, t) {
|
|
|
4144
4206
|
groupId: n
|
|
4145
4207
|
};
|
|
4146
4208
|
}
|
|
4147
|
-
function
|
|
4209
|
+
function Jr(e, t, n, r) {
|
|
4148
4210
|
let i = new Set(t.map((e) => e.id)), a = /* @__PURE__ */ new Map(), o = [];
|
|
4149
4211
|
for (let t of e ?? []) {
|
|
4150
4212
|
let e = t.cells.map((e) => ({ portletIds: e.portletIds.filter((e) => i.has(e) && !a.has(e)) })).filter((e) => e.portletIds.length > 0);
|
|
@@ -4163,7 +4225,7 @@ function Hr(e, t, n, r) {
|
|
|
4163
4225
|
let e = s.get(t.groupId);
|
|
4164
4226
|
!e || c.has(e.id) || (c.add(e.id), e.cells.length === 1 && e.cells[0].portletIds.length === 1 && l.add(e.id));
|
|
4165
4227
|
}
|
|
4166
|
-
let u = o.filter((e) => c.has(e.id) && !l.has(e.id)), d = new Set(u.map((e) => e.id)), f = new Set(u.flatMap(
|
|
4228
|
+
let u = o.filter((e) => c.has(e.id) && !l.has(e.id)), d = new Set(u.map((e) => e.id)), f = new Set(u.flatMap(Ur)), p = /* @__PURE__ */ new Set(), m = n.map((e) => ({
|
|
4167
4229
|
...e,
|
|
4168
4230
|
columns: e.columns.flatMap((e) => {
|
|
4169
4231
|
if (e.groupId) {
|
|
@@ -4181,7 +4243,7 @@ function Hr(e, t, n, r) {
|
|
|
4181
4243
|
w: e.w
|
|
4182
4244
|
}];
|
|
4183
4245
|
})
|
|
4184
|
-
})), h = new Set(m.flatMap((e) => e.columns.map((e) => e.portletId).filter(Boolean))), g = o.filter((e) => !c.has(e.id)).flatMap(
|
|
4246
|
+
})), h = new Set(m.flatMap((e) => e.columns.map((e) => e.portletId).filter(Boolean))), g = o.filter((e) => !c.has(e.id)).flatMap(Ur).filter((e) => !h.has(e));
|
|
4185
4247
|
return g.length > 0 && (m = [...m, {
|
|
4186
4248
|
id: `row-orphans-${Date.now()}`,
|
|
4187
4249
|
h: Math.max(r.minH, 3),
|
|
@@ -4191,23 +4253,23 @@ function Hr(e, t, n, r) {
|
|
|
4191
4253
|
})), r)
|
|
4192
4254
|
}]), m = m.map((e) => ({
|
|
4193
4255
|
...e,
|
|
4194
|
-
columns:
|
|
4256
|
+
columns: Lr(e.columns, r)
|
|
4195
4257
|
})).filter((e) => e.columns.length > 0), {
|
|
4196
4258
|
groups: u,
|
|
4197
4259
|
rows: m
|
|
4198
4260
|
};
|
|
4199
4261
|
}
|
|
4200
|
-
var
|
|
4262
|
+
var Yr = {
|
|
4201
4263
|
left: "row",
|
|
4202
4264
|
right: "row",
|
|
4203
4265
|
top: "column",
|
|
4204
4266
|
bottom: "column"
|
|
4205
|
-
},
|
|
4206
|
-
function
|
|
4207
|
-
let r =
|
|
4267
|
+
}, Xr = (e) => e === "left" || e === "top";
|
|
4268
|
+
function Zr(e, t, n) {
|
|
4269
|
+
let r = Kr(e.rows, e.groups, t);
|
|
4208
4270
|
return r ? r.groupId ? {
|
|
4209
4271
|
rows: e.rows,
|
|
4210
|
-
groups:
|
|
4272
|
+
groups: qr(e.groups, t).groups
|
|
4211
4273
|
} : {
|
|
4212
4274
|
rows: e.rows.map((e, t) => {
|
|
4213
4275
|
if (t !== r.rowIndex) return e;
|
|
@@ -4220,17 +4282,17 @@ function Gr(e, t, n) {
|
|
|
4220
4282
|
groups: e.groups
|
|
4221
4283
|
} : e;
|
|
4222
4284
|
}
|
|
4223
|
-
function
|
|
4224
|
-
if (t === n || !
|
|
4225
|
-
let a =
|
|
4226
|
-
rows:
|
|
4227
|
-
groups: e.groups.map(
|
|
4228
|
-
}, t, i), o =
|
|
4285
|
+
function Qr(e, t, n, r, i) {
|
|
4286
|
+
if (t === n || !Kr(e.rows, e.groups, n)) return null;
|
|
4287
|
+
let a = Zr({
|
|
4288
|
+
rows: Gr(e.rows),
|
|
4289
|
+
groups: e.groups.map(Wr)
|
|
4290
|
+
}, t, i), o = Kr(a.rows, a.groups, n);
|
|
4229
4291
|
if (!o) return null;
|
|
4230
|
-
let s =
|
|
4292
|
+
let s = Yr[r], c = Xr(r);
|
|
4231
4293
|
if (!o.groupId) {
|
|
4232
4294
|
let e = {
|
|
4233
|
-
id:
|
|
4295
|
+
id: Hr(),
|
|
4234
4296
|
direction: s,
|
|
4235
4297
|
cells: (c ? [t, n] : [n, t]).map((e) => ({ portletIds: [e] }))
|
|
4236
4298
|
};
|
|
@@ -4265,10 +4327,10 @@ function Kr(e, t, n, r, i) {
|
|
|
4265
4327
|
groups: l
|
|
4266
4328
|
};
|
|
4267
4329
|
}
|
|
4268
|
-
function
|
|
4330
|
+
function $r(e, t, n) {
|
|
4269
4331
|
let r = e.groups.find((e) => e.id === t);
|
|
4270
4332
|
if (!r) return e;
|
|
4271
|
-
let i =
|
|
4333
|
+
let i = Ur(r);
|
|
4272
4334
|
return {
|
|
4273
4335
|
rows: e.rows.map((e) => {
|
|
4274
4336
|
if (!e.columns.some((e) => e.groupId === t)) return e;
|
|
@@ -4284,7 +4346,7 @@ function qr(e, t, n) {
|
|
|
4284
4346
|
groups: e.groups.filter((e) => e.id !== t)
|
|
4285
4347
|
};
|
|
4286
4348
|
}
|
|
4287
|
-
function
|
|
4349
|
+
function ei(e, t, n) {
|
|
4288
4350
|
let r = e.groups.find((e) => e.id === t);
|
|
4289
4351
|
return r ? {
|
|
4290
4352
|
state: {
|
|
@@ -4298,7 +4360,7 @@ function Jr(e, t, n) {
|
|
|
4298
4360
|
}).filter((e) => e.columns.length > 0),
|
|
4299
4361
|
groups: e.groups.filter((e) => e.id !== t)
|
|
4300
4362
|
},
|
|
4301
|
-
removedPortletIds:
|
|
4363
|
+
removedPortletIds: Ur(r)
|
|
4302
4364
|
} : {
|
|
4303
4365
|
state: e,
|
|
4304
4366
|
removedPortletIds: []
|
|
@@ -4306,7 +4368,7 @@ function Jr(e, t, n) {
|
|
|
4306
4368
|
}
|
|
4307
4369
|
//#endregion
|
|
4308
4370
|
//#region src/client/hooks/dashboard/useGridLayoutEngine.ts
|
|
4309
|
-
function
|
|
4371
|
+
function ti({ storeApi: e }) {
|
|
4310
4372
|
return { hasLayoutActuallyChanged: W((t) => {
|
|
4311
4373
|
let { isInitialized: n, lastKnownLayout: r } = e.getState();
|
|
4312
4374
|
if (!n || r.length === 0) return !1;
|
|
@@ -4319,16 +4381,16 @@ function Yr({ storeApi: e }) {
|
|
|
4319
4381
|
}
|
|
4320
4382
|
//#endregion
|
|
4321
4383
|
//#region src/client/hooks/dashboard/useRowLayoutEngine.ts
|
|
4322
|
-
function
|
|
4384
|
+
function ni({ layoutMode: e, draftRows: t, draftGroups: n, config: r, gridSettings: i, configRef: a, onConfigChangeRef: o, onSaveRef: s, setDraftRows: c, setDraftGroups: l, setThumbnailDirty: u }) {
|
|
4323
4385
|
let d = K(() => {
|
|
4324
4386
|
if (e !== "rows") return {
|
|
4325
4387
|
rows: [],
|
|
4326
4388
|
groups: []
|
|
4327
4389
|
};
|
|
4328
|
-
let a = !!(t ?? r.rows), o = t ?? r.rows ??
|
|
4390
|
+
let a = !!(t ?? r.rows), o = t ?? r.rows ?? Rr(r.portlets, i), s = Jr(a ? n ?? r.groups : void 0, r.portlets, o, i);
|
|
4329
4391
|
return {
|
|
4330
4392
|
groups: s.groups,
|
|
4331
|
-
rows:
|
|
4393
|
+
rows: zr(s.rows, r.portlets, i, s.groups)
|
|
4332
4394
|
};
|
|
4333
4395
|
}, [
|
|
4334
4396
|
e,
|
|
@@ -4340,7 +4402,7 @@ function Xr({ layoutMode: e, draftRows: t, draftGroups: n, config: r, gridSettin
|
|
|
4340
4402
|
i
|
|
4341
4403
|
]), f = d.rows, p = d.groups, m = W(async (e, t = !0) => {
|
|
4342
4404
|
if (!o.current) return;
|
|
4343
|
-
let n = e.portlets ?? a.current.portlets, r =
|
|
4405
|
+
let n = e.portlets ?? a.current.portlets, r = Jr(e.groups ?? a.current.groups, n, e.rows, i), d = zr(r.rows, n, i, r.groups), f = Br(d, n, r.groups), p = {
|
|
4344
4406
|
...a.current,
|
|
4345
4407
|
layoutMode: "rows",
|
|
4346
4408
|
rows: d,
|
|
@@ -4373,7 +4435,7 @@ function Xr({ layoutMode: e, draftRows: t, draftGroups: n, config: r, gridSettin
|
|
|
4373
4435
|
}
|
|
4374
4436
|
//#endregion
|
|
4375
4437
|
//#region src/client/hooks/dashboard/useDashboardController.ts
|
|
4376
|
-
function
|
|
4438
|
+
function ri({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n, layoutMode: r, resolvedRows: i, resolvedGroups: a, gridSettings: o, thumbnailConfig: s, dashboardRef: c, storeApi: l, storeActions: u, configRef: d, onConfigChangeRef: f, onSaveRef: m, onSaveThumbnailRef: h, updateLayout: g, updateRowLayout: _, portletComponentRefs: v, onPortletRefresh: y }) {
|
|
4377
4439
|
let b = q(r);
|
|
4378
4440
|
b.current = r;
|
|
4379
4441
|
let x = q(t);
|
|
@@ -4393,11 +4455,11 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4393
4455
|
m,
|
|
4394
4456
|
u
|
|
4395
4457
|
]), T = W(() => {
|
|
4396
|
-
|
|
4458
|
+
ge(() => {
|
|
4397
4459
|
u.setEditMode(!0);
|
|
4398
4460
|
});
|
|
4399
4461
|
}, [u]), E = W(() => {
|
|
4400
|
-
|
|
4462
|
+
ge(() => {
|
|
4401
4463
|
u.setEditMode(!1);
|
|
4402
4464
|
}), l.getState().thumbnailDirty && s?.enabled && c && setTimeout(async () => {
|
|
4403
4465
|
let e = await p(c, s);
|
|
@@ -4422,7 +4484,7 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4422
4484
|
u,
|
|
4423
4485
|
s
|
|
4424
4486
|
]), D = W(() => {
|
|
4425
|
-
n && (l.getState().isEditMode ? E() :
|
|
4487
|
+
n && (l.getState().isEditMode ? E() : ge(() => {
|
|
4426
4488
|
u.setEditMode(!0);
|
|
4427
4489
|
}));
|
|
4428
4490
|
}, [
|
|
@@ -4445,7 +4507,7 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4445
4507
|
u.openFilterConfigModal(e);
|
|
4446
4508
|
}, [u]), P = W(async (t) => {
|
|
4447
4509
|
if (!f.current || t === b.current || !x.current || !e.includes(t)) return;
|
|
4448
|
-
let n = d.current, r = !!(n.rows && n.rows.length > 0), i = r ? n.rows :
|
|
4510
|
+
let n = d.current, r = !!(n.rows && n.rows.length > 0), i = r ? n.rows : Rr(n.portlets, o), a = Jr(r ? n.groups : void 0, n.portlets, i, o), s = zr(a.rows, n.portlets, o, a.groups), c = Br(s, n.portlets, a.groups);
|
|
4449
4511
|
await w({
|
|
4450
4512
|
...n,
|
|
4451
4513
|
layoutMode: t,
|
|
@@ -4483,9 +4545,9 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4483
4545
|
let e = S.current, a = e.length > 0 ? e.map((e) => ({
|
|
4484
4546
|
...e,
|
|
4485
4547
|
columns: e.columns.map((e) => ({ ...e }))
|
|
4486
|
-
})) :
|
|
4548
|
+
})) : zr(t.rows ?? Rr(t.portlets, o), n, o);
|
|
4487
4549
|
await _(r && i ? [...a, {
|
|
4488
|
-
id:
|
|
4550
|
+
id: Fr(),
|
|
4489
4551
|
h: Math.max(o.minH, 3),
|
|
4490
4552
|
columns: $([{
|
|
4491
4553
|
portletId: i,
|
|
@@ -4510,7 +4572,7 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4510
4572
|
if (!f.current) return;
|
|
4511
4573
|
let t = d.current, n = t.portlets.filter((t) => t.id !== e);
|
|
4512
4574
|
if (b.current === "rows") {
|
|
4513
|
-
let t =
|
|
4575
|
+
let t = qr(C.current, e).groups;
|
|
4514
4576
|
await g({
|
|
4515
4577
|
rows: S.current.map((t) => ({
|
|
4516
4578
|
...t,
|
|
@@ -4538,7 +4600,7 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4538
4600
|
u.openDeleteConfirm(e);
|
|
4539
4601
|
}, [u]), I = W(async (e, t, n) => {
|
|
4540
4602
|
if (b.current !== "rows") return;
|
|
4541
|
-
let r =
|
|
4603
|
+
let r = Qr({
|
|
4542
4604
|
rows: S.current,
|
|
4543
4605
|
groups: C.current
|
|
4544
4606
|
}, e, t, n, o);
|
|
@@ -4553,7 +4615,7 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4553
4615
|
g
|
|
4554
4616
|
]), ne = W(async (e) => {
|
|
4555
4617
|
if (b.current !== "rows") return;
|
|
4556
|
-
let t =
|
|
4618
|
+
let t = $r({
|
|
4557
4619
|
rows: S.current,
|
|
4558
4620
|
groups: C.current
|
|
4559
4621
|
}, e, o);
|
|
@@ -4570,7 +4632,7 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4570
4632
|
u.openDeleteGroupConfirm(e);
|
|
4571
4633
|
}, [u]), R = W(async (e) => {
|
|
4572
4634
|
if (b.current !== "rows") return;
|
|
4573
|
-
let { state: t, removedPortletIds: n } =
|
|
4635
|
+
let { state: t, removedPortletIds: n } = ei({
|
|
4574
4636
|
rows: S.current,
|
|
4575
4637
|
groups: C.current
|
|
4576
4638
|
}, e, o), r = new Set(n), i = d.current.portlets.filter((e) => !r.has(e.id));
|
|
@@ -4644,7 +4706,7 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4644
4706
|
let t = S.current.map((e) => ({
|
|
4645
4707
|
...e,
|
|
4646
4708
|
columns: e.columns.map((e) => ({ ...e }))
|
|
4647
|
-
})), n =
|
|
4709
|
+
})), n = Kr(t, C.current, e);
|
|
4648
4710
|
if (n?.groupId) return await g({
|
|
4649
4711
|
rows: t,
|
|
4650
4712
|
groups: C.current.map((e) => {
|
|
@@ -4665,7 +4727,7 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4665
4727
|
portlets: a
|
|
4666
4728
|
}), r.id;
|
|
4667
4729
|
await _([...t, {
|
|
4668
|
-
id:
|
|
4730
|
+
id: Fr(),
|
|
4669
4731
|
h: Math.max(o.minH, 3),
|
|
4670
4732
|
columns: $([{
|
|
4671
4733
|
portletId: r.id,
|
|
@@ -4765,7 +4827,7 @@ function Zr({ allowedModes: e, canChangeLayoutMode: t, isResponsiveEditable: n,
|
|
|
4765
4827
|
}
|
|
4766
4828
|
//#endregion
|
|
4767
4829
|
//#region src/client/hooks/useDashboardHook.ts
|
|
4768
|
-
var
|
|
4830
|
+
var ii = (e) => ({
|
|
4769
4831
|
isEditMode: e.isEditMode,
|
|
4770
4832
|
selectedFilterId: e.selectedFilterId,
|
|
4771
4833
|
isPortletModalOpen: e.isPortletModalOpen,
|
|
@@ -4781,7 +4843,7 @@ var Qr = (e) => ({
|
|
|
4781
4843
|
isDraggingPortlet: e.isDraggingPortlet,
|
|
4782
4844
|
lastKnownLayout: e.lastKnownLayout,
|
|
4783
4845
|
isInitialized: e.isInitialized
|
|
4784
|
-
}),
|
|
4846
|
+
}), ai = (e) => ({
|
|
4785
4847
|
setEditMode: e.setEditMode,
|
|
4786
4848
|
toggleEditMode: e.toggleEditMode,
|
|
4787
4849
|
setSelectedFilterId: e.setSelectedFilterId,
|
|
@@ -4806,8 +4868,8 @@ var Qr = (e) => ({
|
|
|
4806
4868
|
clearDebugData: e.clearDebugData,
|
|
4807
4869
|
setThumbnailDirty: e.setThumbnailDirty
|
|
4808
4870
|
});
|
|
4809
|
-
function
|
|
4810
|
-
let { config: n, editable: r = !1, dashboardFilters: i, gridSettings: a, allowedModes: o, isResponsiveEditable: s = !0, onConfigChange: l, onSave: u, onSaveThumbnail: d, portletComponentRefs: f, onPortletRefresh: p, dashboardRef: m } = e, h = Mn(t(
|
|
4871
|
+
function oi(e) {
|
|
4872
|
+
let { config: n, editable: r = !1, dashboardFilters: i, gridSettings: a, allowedModes: o, isResponsiveEditable: s = !0, onConfigChange: l, onSave: u, onSaveThumbnail: d, portletComponentRefs: f, onPortletRefresh: p, dashboardRef: m } = e, h = Mn(t(ii)), g = Mn(t(ai)), _ = Nn(), { features: v } = c(), y = v.thumbnail, b = q(n);
|
|
4811
4873
|
b.current = n;
|
|
4812
4874
|
let x = q(l);
|
|
4813
4875
|
x.current = l;
|
|
@@ -4833,7 +4895,7 @@ function ei(e) {
|
|
|
4833
4895
|
s,
|
|
4834
4896
|
h.selectedFilterId,
|
|
4835
4897
|
D.length
|
|
4836
|
-
]), k = K(() => !h.selectedFilterId || !i ? null : i.find((e) => e.id === h.selectedFilterId) ?? null, [h.selectedFilterId, i]), { resolvedRows: A, resolvedGroups: j, updateLayout: M, updateRowLayout: N } =
|
|
4898
|
+
]), k = K(() => !h.selectedFilterId || !i ? null : i.find((e) => e.id === h.selectedFilterId) ?? null, [h.selectedFilterId, i]), { resolvedRows: A, resolvedGroups: j, updateLayout: M, updateRowLayout: N } = ni({
|
|
4837
4899
|
layoutMode: T,
|
|
4838
4900
|
draftRows: h.draftRows,
|
|
4839
4901
|
draftGroups: h.draftGroups,
|
|
@@ -4845,7 +4907,7 @@ function ei(e) {
|
|
|
4845
4907
|
setDraftRows: g.setDraftRows,
|
|
4846
4908
|
setDraftGroups: g.setDraftGroups,
|
|
4847
4909
|
setThumbnailDirty: g.setThumbnailDirty
|
|
4848
|
-
}), { hasLayoutActuallyChanged: P } =
|
|
4910
|
+
}), { hasLayoutActuallyChanged: P } = ti({ storeApi: _ }), { enterEditMode: ee, exitEditMode: te, toggleEditMode: F, selectFilter: I, openAddPortlet: ne, openEditPortlet: L, openAddText: R, openEditText: z, openFilterConfig: B, handleLayoutModeChange: re, savePortlet: ie, deletePortlet: ae, confirmDelete: oe, duplicatePortlet: se, refreshPortlet: ce, toggleFilterForPortlet: le, selectAllForFilter: ue, saveFilterConfig: de, handlePaletteChange: fe, snapPortletIntoGroup: pe, ungroupGroup: V, deleteGroup: H, renameGroup: me } = ri({
|
|
4849
4911
|
allowedModes: w,
|
|
4850
4912
|
canChangeLayoutMode: O,
|
|
4851
4913
|
isResponsiveEditable: s,
|
|
@@ -4865,7 +4927,7 @@ function ei(e) {
|
|
|
4865
4927
|
updateRowLayout: N,
|
|
4866
4928
|
portletComponentRefs: f,
|
|
4867
4929
|
onPortletRefresh: p
|
|
4868
|
-
}),
|
|
4930
|
+
}), he = K(() => ({
|
|
4869
4931
|
enterEditMode: ee,
|
|
4870
4932
|
exitEditMode: te,
|
|
4871
4933
|
toggleEditMode: F,
|
|
@@ -4899,9 +4961,9 @@ function ei(e) {
|
|
|
4899
4961
|
saveFilterConfig: de,
|
|
4900
4962
|
handlePaletteChange: fe,
|
|
4901
4963
|
snapPortletIntoGroup: pe,
|
|
4902
|
-
ungroupGroup:
|
|
4903
|
-
deleteGroup:
|
|
4904
|
-
renameGroup:
|
|
4964
|
+
ungroupGroup: V,
|
|
4965
|
+
deleteGroup: H,
|
|
4966
|
+
renameGroup: me,
|
|
4905
4967
|
openDeleteConfirm: g.openDeleteConfirm,
|
|
4906
4968
|
openDeleteGroupConfirm: g.openDeleteGroupConfirm,
|
|
4907
4969
|
closeDeleteConfirm: g.closeDeleteConfirm,
|
|
@@ -4932,9 +4994,9 @@ function ei(e) {
|
|
|
4932
4994
|
de,
|
|
4933
4995
|
fe,
|
|
4934
4996
|
pe,
|
|
4935
|
-
me,
|
|
4936
4997
|
V,
|
|
4937
|
-
|
|
4998
|
+
H,
|
|
4999
|
+
me,
|
|
4938
5000
|
oe
|
|
4939
5001
|
]);
|
|
4940
5002
|
return {
|
|
@@ -4947,23 +5009,23 @@ function ei(e) {
|
|
|
4947
5009
|
layoutMode: T,
|
|
4948
5010
|
allowedModes: w,
|
|
4949
5011
|
selectableModes: D,
|
|
4950
|
-
actions:
|
|
5012
|
+
actions: he
|
|
4951
5013
|
};
|
|
4952
5014
|
}
|
|
4953
5015
|
//#endregion
|
|
4954
5016
|
//#region src/client/components/dashboard/dashboardGridUtils.tsx
|
|
4955
|
-
var
|
|
5017
|
+
var si = {
|
|
4956
5018
|
cols: 12,
|
|
4957
5019
|
rowHeight: 80,
|
|
4958
5020
|
minW: 2,
|
|
4959
5021
|
minH: 1
|
|
4960
|
-
},
|
|
4961
|
-
cols: e.grid?.cols ??
|
|
4962
|
-
rowHeight: e.grid?.rowHeight ??
|
|
4963
|
-
minW: e.grid?.minW ??
|
|
4964
|
-
minH: e.grid?.minH ??
|
|
5022
|
+
}, ci = (e) => ({
|
|
5023
|
+
cols: e.grid?.cols ?? si.cols,
|
|
5024
|
+
rowHeight: e.grid?.rowHeight ?? si.rowHeight,
|
|
5025
|
+
minW: e.grid?.minW ?? si.minW,
|
|
5026
|
+
minH: e.grid?.minH ?? si.minH
|
|
4965
5027
|
});
|
|
4966
|
-
function
|
|
5028
|
+
function li(e) {
|
|
4967
5029
|
if (!e) return null;
|
|
4968
5030
|
let t = null, n = e.parentElement;
|
|
4969
5031
|
for (; n;) {
|
|
@@ -4974,7 +5036,7 @@ function ri(e) {
|
|
|
4974
5036
|
}
|
|
4975
5037
|
return t;
|
|
4976
5038
|
}
|
|
4977
|
-
function
|
|
5039
|
+
function ui({ className: e, style: t }) {
|
|
4978
5040
|
return /* @__PURE__ */ Z("svg", {
|
|
4979
5041
|
className: e,
|
|
4980
5042
|
style: t,
|
|
@@ -5000,22 +5062,22 @@ function ii({ className: e, style: t }) {
|
|
|
5000
5062
|
}
|
|
5001
5063
|
//#endregion
|
|
5002
5064
|
//#region src/client/components/dashboard/DashboardContext.tsx
|
|
5003
|
-
var
|
|
5004
|
-
function
|
|
5005
|
-
let e = _e(
|
|
5065
|
+
var di = H(null);
|
|
5066
|
+
function fi() {
|
|
5067
|
+
let e = _e(di);
|
|
5006
5068
|
if (!e) throw Error("useDashboardContext must be used within a DashboardProvider");
|
|
5007
5069
|
return e;
|
|
5008
5070
|
}
|
|
5009
5071
|
//#endregion
|
|
5010
5072
|
//#region src/client/components/dashboard/DashboardCoordinator.tsx
|
|
5011
|
-
var
|
|
5012
|
-
function
|
|
5013
|
-
let { features: g } = c(), { containerRef: _, containerWidth: v, displayMode: y, scaleFactor: b, isEditable: x, designWidth: S } = j(), C = p && p.length > 0 ? p : ["rows", "grid"], w = K(() =>
|
|
5073
|
+
var pi = v("refresh"), mi = v("edit"), hi = v("delete"), gi = v("copy"), _i = v("filter");
|
|
5074
|
+
function vi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent: r, onConfigChange: i, onPortletRefresh: a, onSave: o, onSaveThumbnail: l, colorPalette: u, schema: d, onDashboardFiltersChange: f, dashboardModes: p, hideToolbar: m, children: h }) {
|
|
5075
|
+
let { features: g } = c(), { containerRef: _, containerWidth: v, displayMode: y, scaleFactor: b, isEditable: x, designWidth: S } = j(), C = p && p.length > 0 ? p : ["rows", "grid"], w = K(() => ci(e), [e]), [T, E] = J(null), D = q(null), O = q(null), k = q(null), A = q(null), M = W((e) => {
|
|
5014
5076
|
if (D.current = e, _(e), e) {
|
|
5015
|
-
let t =
|
|
5077
|
+
let t = li(e);
|
|
5016
5078
|
E(t), O.current = t;
|
|
5017
5079
|
}
|
|
5018
|
-
}, [_]), N = y === "desktop" ? v : S, P = q({}), ee = q({}), te = q(null), F = q(null), I = q(null), [ne, L] = J(null), [R, z] = J(null), { isEditMode: B, selectedFilterId: re, isPortletModalOpen: ie, editingPortlet: ae, isTextModalOpen: oe, editingTextPortlet: se, isFilterConfigModalOpen: ce, filterConfigPortlet: le, deleteConfirmPortletId: ue, deleteConfirmGroupId: de, draftRows: fe, isDraggingPortlet: pe, isInitialized:
|
|
5080
|
+
}, [_]), N = y === "desktop" ? v : S, P = q({}), ee = q({}), te = q(null), F = q(null), I = q(null), [ne, L] = J(null), [R, z] = J(null), { isEditMode: B, selectedFilterId: re, isPortletModalOpen: ie, editingPortlet: ae, isTextModalOpen: oe, editingTextPortlet: se, isFilterConfigModalOpen: ce, filterConfigPortlet: le, deleteConfirmPortletId: ue, deleteConfirmGroupId: de, draftRows: fe, isDraggingPortlet: pe, isInitialized: V, canEdit: H, canChangeLayoutMode: me, selectedFilter: he, resolvedRows: U, resolvedGroups: ge, layoutMode: _e, selectableModes: ve, actions: Y } = oi({
|
|
5019
5081
|
config: e,
|
|
5020
5082
|
editable: t,
|
|
5021
5083
|
dashboardFilters: n,
|
|
@@ -5031,12 +5093,12 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5031
5093
|
dashboardRef: A
|
|
5032
5094
|
}), Z = q(Y);
|
|
5033
5095
|
Z.current = Y;
|
|
5034
|
-
let ye = q(
|
|
5035
|
-
ye.current =
|
|
5036
|
-
let Se = q(
|
|
5037
|
-
Se.current =
|
|
5038
|
-
let Ce = q(
|
|
5039
|
-
Ce.current =
|
|
5096
|
+
let ye = q(H);
|
|
5097
|
+
ye.current = H;
|
|
5098
|
+
let Se = q(U);
|
|
5099
|
+
Se.current = U;
|
|
5100
|
+
let Ce = q(ge);
|
|
5101
|
+
Ce.current = ge, G(() => {
|
|
5040
5102
|
te.current = fe;
|
|
5041
5103
|
}, [fe]), G(() => {
|
|
5042
5104
|
(!B || !x) && re && Y.exitFilterSelectionMode();
|
|
@@ -5067,7 +5129,7 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5067
5129
|
edgeThreshold: 80,
|
|
5068
5130
|
maxScrollSpeed: 15
|
|
5069
5131
|
}), G(() => {
|
|
5070
|
-
if (
|
|
5132
|
+
if (V) return;
|
|
5071
5133
|
let t = setTimeout(() => {
|
|
5072
5134
|
Y.setIsInitialized(!0);
|
|
5073
5135
|
let t = e.portlets.map((e) => ({
|
|
@@ -5081,7 +5143,7 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5081
5143
|
}, 200);
|
|
5082
5144
|
return () => clearTimeout(t);
|
|
5083
5145
|
}, [
|
|
5084
|
-
|
|
5146
|
+
V,
|
|
5085
5147
|
e.portlets,
|
|
5086
5148
|
Y
|
|
5087
5149
|
]);
|
|
@@ -5105,7 +5167,7 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5105
5167
|
Y
|
|
5106
5168
|
]);
|
|
5107
5169
|
let De = W((e) => {}, []), Oe = W(async (n, r, a, s, c, l) => {
|
|
5108
|
-
if (!t || !B || !o || !
|
|
5170
|
+
if (!t || !B || !o || !V) return;
|
|
5109
5171
|
let u = [...n];
|
|
5110
5172
|
if (!Y.hasLayoutActuallyChanged(u)) return;
|
|
5111
5173
|
let d = e.portlets.map((e) => {
|
|
@@ -5137,10 +5199,10 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5137
5199
|
B,
|
|
5138
5200
|
i,
|
|
5139
5201
|
o,
|
|
5140
|
-
|
|
5202
|
+
V,
|
|
5141
5203
|
Y
|
|
5142
5204
|
]), ke = W(async (n, r, a, s, c, l) => {
|
|
5143
|
-
if (!t || !B || !i || !
|
|
5205
|
+
if (!t || !B || !i || !V) return;
|
|
5144
5206
|
let u = [...n];
|
|
5145
5207
|
if (!Y.hasLayoutActuallyChanged(u)) return;
|
|
5146
5208
|
let d = e.portlets.map((e) => {
|
|
@@ -5171,12 +5233,12 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5171
5233
|
B,
|
|
5172
5234
|
i,
|
|
5173
5235
|
o,
|
|
5174
|
-
|
|
5236
|
+
V,
|
|
5175
5237
|
Y
|
|
5176
5238
|
]), Ae = (e, t) => t ? e : Math.round(e * 2) / 2, je = W((e, t) => {
|
|
5177
|
-
if (!
|
|
5239
|
+
if (!H) return;
|
|
5178
5240
|
t.preventDefault();
|
|
5179
|
-
let n = t.clientY, r =
|
|
5241
|
+
let n = t.clientY, r = U.map((e) => ({
|
|
5180
5242
|
...e,
|
|
5181
5243
|
columns: e.columns.map((e) => ({ ...e }))
|
|
5182
5244
|
}));
|
|
@@ -5194,14 +5256,14 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5194
5256
|
};
|
|
5195
5257
|
document.addEventListener("mousemove", i), document.addEventListener("mouseup", a);
|
|
5196
5258
|
}, [
|
|
5197
|
-
V,
|
|
5198
|
-
w,
|
|
5199
5259
|
H,
|
|
5260
|
+
w,
|
|
5261
|
+
U,
|
|
5200
5262
|
Y
|
|
5201
5263
|
]), Me = W((e, t, n) => {
|
|
5202
|
-
if (!
|
|
5264
|
+
if (!H) return;
|
|
5203
5265
|
n.preventDefault();
|
|
5204
|
-
let r = n.clientX, i =
|
|
5266
|
+
let r = n.clientX, i = U.map((e) => ({
|
|
5205
5267
|
...e,
|
|
5206
5268
|
columns: e.columns.map((e) => ({ ...e }))
|
|
5207
5269
|
})), a = i[e], o = a?.columns[t], s = a?.columns[t + 1];
|
|
@@ -5235,7 +5297,7 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5235
5297
|
} : e);
|
|
5236
5298
|
return {
|
|
5237
5299
|
...n,
|
|
5238
|
-
columns:
|
|
5300
|
+
columns: Lr(i, w)
|
|
5239
5301
|
};
|
|
5240
5302
|
});
|
|
5241
5303
|
F.current = f, Y.setDraftRows(f);
|
|
@@ -5246,10 +5308,10 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5246
5308
|
};
|
|
5247
5309
|
document.addEventListener("mousemove", l), document.addEventListener("mouseup", u);
|
|
5248
5310
|
}, [
|
|
5249
|
-
|
|
5311
|
+
H,
|
|
5250
5312
|
w,
|
|
5251
5313
|
N,
|
|
5252
|
-
|
|
5314
|
+
U,
|
|
5253
5315
|
Y
|
|
5254
5316
|
]), Ne = W((e, t, n, r, i) => {
|
|
5255
5317
|
r.dataTransfer.effectAllowed = "move", r.dataTransfer.setData("text/plain", i ?? n), ye.current && (I.current = i ? {
|
|
@@ -5265,7 +5327,7 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5265
5327
|
}, L(i ? null : n), z(i ?? null), Z.current.setIsDraggingPortlet(!0));
|
|
5266
5328
|
}, []), Pe = W((e, t, n) => {
|
|
5267
5329
|
if (n.dataTransfer.effectAllowed = "move", n.dataTransfer.setData("text/plain", t), !ye.current) return;
|
|
5268
|
-
let r =
|
|
5330
|
+
let r = Kr(Se.current, Ce.current, t);
|
|
5269
5331
|
I.current = {
|
|
5270
5332
|
kind: "groupChild",
|
|
5271
5333
|
rowIndex: r?.rowIndex ?? 0,
|
|
@@ -5279,13 +5341,13 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5279
5341
|
let n = I.current;
|
|
5280
5342
|
if (!n) return;
|
|
5281
5343
|
Q();
|
|
5282
|
-
let r =
|
|
5344
|
+
let r = U.map((e) => ({
|
|
5283
5345
|
...e,
|
|
5284
5346
|
columns: e.columns.map((e) => ({ ...e }))
|
|
5285
5347
|
})), i = n.rowIndex, a = r[i];
|
|
5286
5348
|
if (!a) return;
|
|
5287
5349
|
if (n.kind === "groupChild") {
|
|
5288
|
-
let { groups: i } =
|
|
5350
|
+
let { groups: i } = qr(ge, n.portletId), a = r[e];
|
|
5289
5351
|
if (!a) return;
|
|
5290
5352
|
a.columns.splice(t ?? a.columns.length, 0, {
|
|
5291
5353
|
portletId: n.portletId,
|
|
@@ -5312,24 +5374,24 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5312
5374
|
}), Y.updateRowLayout(r);
|
|
5313
5375
|
}, [
|
|
5314
5376
|
w,
|
|
5377
|
+
ge,
|
|
5315
5378
|
U,
|
|
5316
|
-
H,
|
|
5317
5379
|
Y,
|
|
5318
5380
|
Q
|
|
5319
5381
|
]), Ie = W((e) => {
|
|
5320
5382
|
let t = I.current;
|
|
5321
5383
|
if (!t) return;
|
|
5322
5384
|
Q();
|
|
5323
|
-
let n =
|
|
5385
|
+
let n = U.map((e) => ({
|
|
5324
5386
|
...e,
|
|
5325
5387
|
columns: e.columns.map((e) => ({ ...e }))
|
|
5326
5388
|
})), r = n[t.rowIndex];
|
|
5327
5389
|
if (!r) return;
|
|
5328
5390
|
let i = Math.max(r.h || 0, w.minH, 1);
|
|
5329
5391
|
if (t.kind === "groupChild") {
|
|
5330
|
-
let { groups: r } =
|
|
5392
|
+
let { groups: r } = qr(ge, t.portletId);
|
|
5331
5393
|
n.splice(e, 0, {
|
|
5332
|
-
id:
|
|
5394
|
+
id: Fr(),
|
|
5333
5395
|
h: i,
|
|
5334
5396
|
columns: $([{
|
|
5335
5397
|
portletId: t.portletId,
|
|
@@ -5343,16 +5405,16 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5343
5405
|
}
|
|
5344
5406
|
let [a] = r.columns.splice(t.colIndex, 1), o = r.columns.length === 0;
|
|
5345
5407
|
o ? n.splice(t.rowIndex, 1) : r.columns = $(r.columns, w);
|
|
5346
|
-
let s =
|
|
5347
|
-
id:
|
|
5408
|
+
let s = Ir(e, t.rowIndex, o), c = {
|
|
5409
|
+
id: Fr(),
|
|
5348
5410
|
h: i,
|
|
5349
5411
|
columns: $([a], w)
|
|
5350
5412
|
};
|
|
5351
5413
|
n.splice(s, 0, c), Y.updateRowLayout(n);
|
|
5352
5414
|
}, [
|
|
5353
5415
|
w,
|
|
5416
|
+
ge,
|
|
5354
5417
|
U,
|
|
5355
|
-
H,
|
|
5356
5418
|
Y,
|
|
5357
5419
|
Q
|
|
5358
5420
|
]), Le = W((e, t) => {
|
|
@@ -5417,11 +5479,11 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5417
5479
|
}, []), Xe = W((e, t) => {
|
|
5418
5480
|
ee.current[e] = t;
|
|
5419
5481
|
}, []), Ze = K(() => ({
|
|
5420
|
-
RefreshIcon:
|
|
5421
|
-
EditIcon:
|
|
5422
|
-
DeleteIcon:
|
|
5423
|
-
CopyIcon:
|
|
5424
|
-
FilterIcon:
|
|
5482
|
+
RefreshIcon: pi,
|
|
5483
|
+
EditIcon: mi,
|
|
5484
|
+
DeleteIcon: hi,
|
|
5485
|
+
CopyIcon: gi,
|
|
5486
|
+
FilterIcon: _i
|
|
5425
5487
|
}), []), Qe = W(async (e, t) => {
|
|
5426
5488
|
await Z.current.toggleFilterForPortlet(e, t);
|
|
5427
5489
|
}, []), $e = W((e) => {
|
|
@@ -5476,9 +5538,9 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5476
5538
|
h: e.h,
|
|
5477
5539
|
minW: Math.min(w.minW, e.w),
|
|
5478
5540
|
minH: Math.min(w.minH, e.h),
|
|
5479
|
-
isDraggable:
|
|
5480
|
-
isResizable:
|
|
5481
|
-
...
|
|
5541
|
+
isDraggable: H,
|
|
5542
|
+
isResizable: H,
|
|
5543
|
+
...H ? { resizeHandles: [
|
|
5482
5544
|
"s",
|
|
5483
5545
|
"w",
|
|
5484
5546
|
"e",
|
|
@@ -5502,11 +5564,11 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5502
5564
|
containerPadding: [0, 0]
|
|
5503
5565
|
},
|
|
5504
5566
|
dragConfig: {
|
|
5505
|
-
enabled:
|
|
5567
|
+
enabled: H,
|
|
5506
5568
|
handle: ".portlet-drag-handle"
|
|
5507
5569
|
},
|
|
5508
5570
|
resizeConfig: {
|
|
5509
|
-
enabled:
|
|
5571
|
+
enabled: H,
|
|
5510
5572
|
handles: [
|
|
5511
5573
|
"s",
|
|
5512
5574
|
"w",
|
|
@@ -5532,13 +5594,14 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5532
5594
|
ke,
|
|
5533
5595
|
N,
|
|
5534
5596
|
w,
|
|
5535
|
-
|
|
5597
|
+
H,
|
|
5536
5598
|
e.portlets,
|
|
5537
5599
|
nt
|
|
5538
|
-
]), at = K(() => new Map(e.portlets.map((e) => [e.id, e])), [e.portlets]), ot = W((e, t) => /* @__PURE__ */ X(
|
|
5600
|
+
]), at = K(() => new Map(e.portlets.map((e) => [e.id, e])), [e.portlets]), ot = W((e, t, n) => /* @__PURE__ */ X(Mr, {
|
|
5539
5601
|
group: e,
|
|
5540
5602
|
portlets: at,
|
|
5541
|
-
canEdit:
|
|
5603
|
+
canEdit: H,
|
|
5604
|
+
frameless: n,
|
|
5542
5605
|
renderChild: (e, t) => nt(e, t, void 0, "groupChild"),
|
|
5543
5606
|
onRename: (e, t) => {
|
|
5544
5607
|
Z.current.renameGroup(e, t);
|
|
@@ -5551,18 +5614,18 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5551
5614
|
onChildDragEnd: Q,
|
|
5552
5615
|
renderSnapBands: t
|
|
5553
5616
|
}), [
|
|
5554
|
-
|
|
5617
|
+
H,
|
|
5555
5618
|
Pe,
|
|
5556
5619
|
Q,
|
|
5557
5620
|
at,
|
|
5558
5621
|
nt
|
|
5559
|
-
]), st = W(() => /* @__PURE__ */ X(
|
|
5560
|
-
rows:
|
|
5622
|
+
]), st = W(() => /* @__PURE__ */ X(Dr, {
|
|
5623
|
+
rows: U,
|
|
5561
5624
|
portlets: e.portlets,
|
|
5562
|
-
groups:
|
|
5625
|
+
groups: ge,
|
|
5563
5626
|
gridSettings: w,
|
|
5564
5627
|
gridWidth: N,
|
|
5565
|
-
canEdit:
|
|
5628
|
+
canEdit: H,
|
|
5566
5629
|
isDragging: pe,
|
|
5567
5630
|
onRowResize: je,
|
|
5568
5631
|
onColumnResize: Me,
|
|
@@ -5576,12 +5639,12 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5576
5639
|
renderPortlet: nt,
|
|
5577
5640
|
renderGroup: ot
|
|
5578
5641
|
}), [
|
|
5579
|
-
H,
|
|
5580
5642
|
U,
|
|
5643
|
+
ge,
|
|
5581
5644
|
e.portlets,
|
|
5582
5645
|
w,
|
|
5583
5646
|
N,
|
|
5584
|
-
|
|
5647
|
+
H,
|
|
5585
5648
|
pe,
|
|
5586
5649
|
je,
|
|
5587
5650
|
Me,
|
|
@@ -5617,12 +5680,12 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5617
5680
|
deleteConfirmGroupId: de,
|
|
5618
5681
|
draftRows: fe,
|
|
5619
5682
|
isDraggingPortlet: pe,
|
|
5620
|
-
isInitialized:
|
|
5621
|
-
canEdit:
|
|
5622
|
-
canChangeLayoutMode:
|
|
5623
|
-
selectedFilter:
|
|
5624
|
-
resolvedRows:
|
|
5625
|
-
resolvedGroups:
|
|
5683
|
+
isInitialized: V,
|
|
5684
|
+
canEdit: H,
|
|
5685
|
+
canChangeLayoutMode: me,
|
|
5686
|
+
selectedFilter: he,
|
|
5687
|
+
resolvedRows: U,
|
|
5688
|
+
resolvedGroups: ge,
|
|
5626
5689
|
layoutMode: _e,
|
|
5627
5690
|
allowedModes: C,
|
|
5628
5691
|
selectableModes: ve,
|
|
@@ -5664,7 +5727,7 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5664
5727
|
handleRowDrop: Fe,
|
|
5665
5728
|
handleNewRowDrop: Ie
|
|
5666
5729
|
};
|
|
5667
|
-
return /* @__PURE__ */ X(
|
|
5730
|
+
return /* @__PURE__ */ X(di.Provider, {
|
|
5668
5731
|
value: ct,
|
|
5669
5732
|
children: /* @__PURE__ */ X(s, {
|
|
5670
5733
|
value: T,
|
|
@@ -5682,15 +5745,15 @@ function fi({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
5682
5745
|
}
|
|
5683
5746
|
//#endregion
|
|
5684
5747
|
//#region src/client/components/dashboard/DashboardProvider.tsx
|
|
5685
|
-
function
|
|
5686
|
-
return /* @__PURE__ */ X(jn, { children: /* @__PURE__ */ X(
|
|
5748
|
+
function yi({ children: e, ...t }) {
|
|
5749
|
+
return /* @__PURE__ */ X(jn, { children: /* @__PURE__ */ X(vi, {
|
|
5687
5750
|
...t,
|
|
5688
5751
|
children: e
|
|
5689
5752
|
}) });
|
|
5690
5753
|
}
|
|
5691
5754
|
//#endregion
|
|
5692
5755
|
//#region src/client/utils/colorPalettes.ts
|
|
5693
|
-
var
|
|
5756
|
+
var bi = [
|
|
5694
5757
|
{
|
|
5695
5758
|
name: "default",
|
|
5696
5759
|
label: "Default",
|
|
@@ -6373,13 +6436,13 @@ var mi = [
|
|
|
6373
6436
|
]
|
|
6374
6437
|
}
|
|
6375
6438
|
];
|
|
6376
|
-
function
|
|
6377
|
-
return e &&
|
|
6439
|
+
function xi(e) {
|
|
6440
|
+
return e && bi.find((t) => t.name === e) || bi[0];
|
|
6378
6441
|
}
|
|
6379
6442
|
//#endregion
|
|
6380
6443
|
//#region src/client/components/FloatingEditToolbar.tsx
|
|
6381
|
-
var
|
|
6382
|
-
function
|
|
6444
|
+
var Si = v("edit"), Ci = v("check"), wi = v("segment"), Ti = v("table"), Ei = v("add");
|
|
6445
|
+
function Di({ className: e }) {
|
|
6383
6446
|
return /* @__PURE__ */ Z("svg", {
|
|
6384
6447
|
className: e,
|
|
6385
6448
|
viewBox: "0 0 24 24",
|
|
@@ -6402,8 +6465,8 @@ function xi({ className: e }) {
|
|
|
6402
6465
|
})]
|
|
6403
6466
|
});
|
|
6404
6467
|
}
|
|
6405
|
-
var
|
|
6406
|
-
function
|
|
6468
|
+
var Oi = v("swatch");
|
|
6469
|
+
function ki({ isEditBarVisible: e, position: t, isEditMode: n, onEditModeToggle: r, layoutMode: i, onLayoutModeChange: a, allowedModes: o, canChangeLayoutMode: s, currentPalette: c, onPaletteChange: l, onAddPortlet: u, onAddText: d }) {
|
|
6407
6470
|
let [f, p] = J(!1), m = q(null);
|
|
6408
6471
|
G(() => {
|
|
6409
6472
|
if (!f) return;
|
|
@@ -6421,23 +6484,23 @@ function Ci({ isEditBarVisible: e, position: t, isEditMode: n, onEditModeToggle:
|
|
|
6421
6484
|
${h} ${t === "left" ? g ? "dc:-translate-x-16 dc:opacity-0 dc:pointer-events-none" : "dc:translate-x-0 dc:opacity-100" : g ? "dc:translate-x-16 dc:opacity-0 dc:pointer-events-none" : "dc:translate-x-0 dc:opacity-100"}`,
|
|
6422
6485
|
style: { boxShadow: "var(--dc-shadow-lg)" },
|
|
6423
6486
|
children: [
|
|
6424
|
-
/* @__PURE__ */ X(
|
|
6425
|
-
icon: n ?
|
|
6487
|
+
/* @__PURE__ */ X(Ai, {
|
|
6488
|
+
icon: n ? Ci : Si,
|
|
6426
6489
|
tooltip: n ? "Finish Editing" : "Edit Dashboard",
|
|
6427
6490
|
isActive: n,
|
|
6428
6491
|
onClick: r
|
|
6429
6492
|
}),
|
|
6430
6493
|
n && o.length > 1 && /* @__PURE__ */ Z(Y, { children: [
|
|
6431
6494
|
/* @__PURE__ */ X("div", { className: "dc:w-full dc:h-px bg-dc-border dc:my-0.5" }),
|
|
6432
|
-
/* @__PURE__ */ X(
|
|
6433
|
-
icon:
|
|
6495
|
+
/* @__PURE__ */ X(Ai, {
|
|
6496
|
+
icon: wi,
|
|
6434
6497
|
tooltip: "Grid Layout",
|
|
6435
6498
|
isActive: i === "grid",
|
|
6436
6499
|
disabled: !s,
|
|
6437
6500
|
onClick: () => a("grid")
|
|
6438
6501
|
}),
|
|
6439
|
-
/* @__PURE__ */ X(
|
|
6440
|
-
icon:
|
|
6502
|
+
/* @__PURE__ */ X(Ai, {
|
|
6503
|
+
icon: Ti,
|
|
6441
6504
|
tooltip: "Rows Layout",
|
|
6442
6505
|
isActive: i === "rows",
|
|
6443
6506
|
disabled: !s,
|
|
@@ -6447,12 +6510,12 @@ function Ci({ isEditBarVisible: e, position: t, isEditMode: n, onEditModeToggle:
|
|
|
6447
6510
|
n && /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X("div", { className: "dc:w-full dc:h-px bg-dc-border dc:my-0.5" }), /* @__PURE__ */ Z("div", {
|
|
6448
6511
|
ref: m,
|
|
6449
6512
|
className: "dc:relative",
|
|
6450
|
-
children: [/* @__PURE__ */ X(
|
|
6451
|
-
icon:
|
|
6513
|
+
children: [/* @__PURE__ */ X(Ai, {
|
|
6514
|
+
icon: Oi,
|
|
6452
6515
|
tooltip: "Color Palette",
|
|
6453
6516
|
isActive: f,
|
|
6454
6517
|
onClick: () => p(!f)
|
|
6455
|
-
}), f && /* @__PURE__ */ X(
|
|
6518
|
+
}), f && /* @__PURE__ */ X(ji, {
|
|
6456
6519
|
position: t,
|
|
6457
6520
|
currentPalette: c,
|
|
6458
6521
|
onPaletteChange: (e) => {
|
|
@@ -6462,13 +6525,13 @@ function Ci({ isEditBarVisible: e, position: t, isEditMode: n, onEditModeToggle:
|
|
|
6462
6525
|
})] }),
|
|
6463
6526
|
n && /* @__PURE__ */ Z(Y, { children: [
|
|
6464
6527
|
/* @__PURE__ */ X("div", { className: "dc:w-full dc:h-px bg-dc-border dc:my-0.5" }),
|
|
6465
|
-
d && /* @__PURE__ */ X(
|
|
6466
|
-
icon:
|
|
6528
|
+
d && /* @__PURE__ */ X(Ai, {
|
|
6529
|
+
icon: Di,
|
|
6467
6530
|
tooltip: "Add Text",
|
|
6468
6531
|
onClick: d
|
|
6469
6532
|
}),
|
|
6470
|
-
/* @__PURE__ */ X(
|
|
6471
|
-
icon:
|
|
6533
|
+
/* @__PURE__ */ X(Ai, {
|
|
6534
|
+
icon: Ei,
|
|
6472
6535
|
tooltip: "Add Portlet",
|
|
6473
6536
|
onClick: u
|
|
6474
6537
|
})
|
|
@@ -6477,7 +6540,7 @@ function Ci({ isEditBarVisible: e, position: t, isEditMode: n, onEditModeToggle:
|
|
|
6477
6540
|
});
|
|
6478
6541
|
return typeof document > "u" ? null : ye(_, document.body);
|
|
6479
6542
|
}
|
|
6480
|
-
function
|
|
6543
|
+
function Ai({ icon: e, tooltip: t, isActive: n, disabled: r, onClick: i }) {
|
|
6481
6544
|
return /* @__PURE__ */ X("button", {
|
|
6482
6545
|
type: "button",
|
|
6483
6546
|
onClick: i,
|
|
@@ -6488,13 +6551,13 @@ function wi({ icon: e, tooltip: t, isActive: n, disabled: r, onClick: i }) {
|
|
|
6488
6551
|
children: /* @__PURE__ */ X(e, { className: "dc:w-5 dc:h-5" })
|
|
6489
6552
|
});
|
|
6490
6553
|
}
|
|
6491
|
-
function
|
|
6554
|
+
function ji({ position: e, currentPalette: t, onPaletteChange: n }) {
|
|
6492
6555
|
return /* @__PURE__ */ X("div", {
|
|
6493
6556
|
className: `dc:absolute dc:top-0 ${e === "left" ? "dc:left-full dc:ml-2" : "dc:right-full dc:mr-2"} dc:w-52 bg-dc-surface dc:border border-dc-border dc:rounded-md dc:z-50 dc:max-h-72 dc:overflow-y-auto`,
|
|
6494
6557
|
style: { boxShadow: "var(--dc-shadow-lg)" },
|
|
6495
6558
|
children: /* @__PURE__ */ X("div", {
|
|
6496
6559
|
className: "dc:py-1",
|
|
6497
|
-
children:
|
|
6560
|
+
children: bi.slice().sort((e, t) => e.label.localeCompare(t.label)).map((e) => /* @__PURE__ */ X("button", {
|
|
6498
6561
|
type: "button",
|
|
6499
6562
|
onClick: () => n(e.name),
|
|
6500
6563
|
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"}`,
|
|
@@ -6521,9 +6584,9 @@ function Ti({ position: e, currentPalette: t, onPaletteChange: n }) {
|
|
|
6521
6584
|
}
|
|
6522
6585
|
//#endregion
|
|
6523
6586
|
//#region src/client/components/ColorPaletteSelector.tsx
|
|
6524
|
-
var
|
|
6525
|
-
function
|
|
6526
|
-
let [r, i] = J(!1), a = q(null), o =
|
|
6587
|
+
var Mi = v("chevronDown");
|
|
6588
|
+
function Ni({ currentPalette: e = "default", onPaletteChange: t, className: n = "" }) {
|
|
6589
|
+
let [r, i] = J(!1), a = q(null), o = xi(e);
|
|
6527
6590
|
G(() => {
|
|
6528
6591
|
function e(e) {
|
|
6529
6592
|
a.current && !a.current.contains(e.target) && i(!1);
|
|
@@ -6570,13 +6633,13 @@ function Di({ currentPalette: e = "default", onPaletteChange: t, className: n =
|
|
|
6570
6633
|
]
|
|
6571
6634
|
}),
|
|
6572
6635
|
/* @__PURE__ */ X("span", { children: o.label }),
|
|
6573
|
-
/* @__PURE__ */ X(
|
|
6636
|
+
/* @__PURE__ */ X(Mi, { className: `dc:w-4 dc:h-4 dc:transition-transform ${r ? "dc:rotate-180" : ""}` })
|
|
6574
6637
|
]
|
|
6575
6638
|
}), r && /* @__PURE__ */ X("div", {
|
|
6576
6639
|
className: "dc:absolute dc:top-full dc:left-0 dc:mt-1 dc:w-72 dc:md:w-80 dc:lg:w-96 bg-dc-surface dc:border border-dc-border dc:rounded-md dc:shadow-lg dc:z-50 dc:max-h-80 dc:overflow-y-auto",
|
|
6577
6640
|
children: /* @__PURE__ */ X("div", {
|
|
6578
6641
|
className: "dc:py-1",
|
|
6579
|
-
children:
|
|
6642
|
+
children: bi.slice().sort((e, t) => e.label.localeCompare(t.label)).map((t) => /* @__PURE__ */ X("button", {
|
|
6580
6643
|
type: "button",
|
|
6581
6644
|
onClick: () => s(t.name),
|
|
6582
6645
|
className: `dc:w-full dc:px-3 dc:py-2 dc:text-left dc:text-sm hover:bg-dc-surface-hover focus:outline-hidden focus:bg-dc-surface-hover ${t.name === e ? "bg-dc-surface-secondary" : "text-dc-text-secondary"}`,
|
|
@@ -6624,8 +6687,8 @@ function Di({ currentPalette: e = "default", onPaletteChange: t, className: n =
|
|
|
6624
6687
|
}
|
|
6625
6688
|
//#endregion
|
|
6626
6689
|
//#region src/client/components/dashboard/LayoutModeToggle.tsx
|
|
6627
|
-
var
|
|
6628
|
-
function
|
|
6690
|
+
var Pi = v("segment"), Fi = v("table");
|
|
6691
|
+
function Ii({ active: e, disabled: t, onClick: n, icon: r, label: i }) {
|
|
6629
6692
|
return /* @__PURE__ */ Z("button", {
|
|
6630
6693
|
onClick: n,
|
|
6631
6694
|
disabled: t,
|
|
@@ -6633,29 +6696,29 @@ function Ai({ active: e, disabled: t, onClick: n, icon: r, label: i }) {
|
|
|
6633
6696
|
children: [r, i]
|
|
6634
6697
|
});
|
|
6635
6698
|
}
|
|
6636
|
-
function
|
|
6699
|
+
function Li({ layoutMode: e, canChangeLayoutMode: t, onLayoutModeChange: n }) {
|
|
6637
6700
|
let { t: r } = R();
|
|
6638
6701
|
return /* @__PURE__ */ Z("div", {
|
|
6639
6702
|
className: "dc:inline-flex dc:rounded-md dc:border border-dc-border dc:overflow-hidden dc:whitespace-nowrap",
|
|
6640
|
-
children: [/* @__PURE__ */ X(
|
|
6703
|
+
children: [/* @__PURE__ */ X(Ii, {
|
|
6641
6704
|
active: e === "grid",
|
|
6642
6705
|
disabled: !t,
|
|
6643
6706
|
onClick: () => n("grid"),
|
|
6644
|
-
icon: /* @__PURE__ */ X(
|
|
6707
|
+
icon: /* @__PURE__ */ X(Pi, { className: "dc:w-4 dc:h-4 dc:shrink-0" }),
|
|
6645
6708
|
label: r("dashboard.grid")
|
|
6646
|
-
}), /* @__PURE__ */ X(
|
|
6709
|
+
}), /* @__PURE__ */ X(Ii, {
|
|
6647
6710
|
active: e === "rows",
|
|
6648
6711
|
disabled: !t,
|
|
6649
6712
|
onClick: () => n("rows"),
|
|
6650
|
-
icon: /* @__PURE__ */ X(
|
|
6713
|
+
icon: /* @__PURE__ */ X(Fi, { className: "dc:w-4 dc:h-4 dc:shrink-0" }),
|
|
6651
6714
|
label: r("dashboard.rows")
|
|
6652
6715
|
})]
|
|
6653
6716
|
});
|
|
6654
6717
|
}
|
|
6655
6718
|
//#endregion
|
|
6656
6719
|
//#region src/client/components/dashboard/DashboardEditBar.tsx
|
|
6657
|
-
var
|
|
6658
|
-
function
|
|
6720
|
+
var Ri = v("edit"), zi = v("check"), Bi = v("add"), Vi = v("desktop");
|
|
6721
|
+
function Hi({ isEditMode: e, isResponsiveEditable: t, onToggle: n }) {
|
|
6659
6722
|
let { t: r } = R();
|
|
6660
6723
|
return /* @__PURE__ */ Z("button", {
|
|
6661
6724
|
onClick: () => t && n(),
|
|
@@ -6665,15 +6728,15 @@ function Ii({ isEditMode: e, isResponsiveEditable: t, onToggle: n }) {
|
|
|
6665
6728
|
color: t ? "var(--dc-primary)" : "var(--dc-text-muted)",
|
|
6666
6729
|
borderColor: t ? e ? "var(--dc-border)" : "var(--dc-primary)" : "var(--dc-border)"
|
|
6667
6730
|
},
|
|
6668
|
-
children: [X(e ?
|
|
6731
|
+
children: [X(e ? zi : Ri, { className: "dc:w-4 dc:h-4 dc:mr-1.5" }), r(e ? "dashboard.finishEditing" : "dashboard.edit")]
|
|
6669
6732
|
});
|
|
6670
6733
|
}
|
|
6671
|
-
function
|
|
6734
|
+
function Ui({ colorPalette: e, onPaletteChange: t, onAddText: n, onAddPortlet: r }) {
|
|
6672
6735
|
let { t: i } = R();
|
|
6673
6736
|
return /* @__PURE__ */ Z("div", {
|
|
6674
6737
|
className: "dc:flex dc:items-center dc:gap-3",
|
|
6675
6738
|
children: [
|
|
6676
|
-
/* @__PURE__ */ X(
|
|
6739
|
+
/* @__PURE__ */ X(Ni, {
|
|
6677
6740
|
currentPalette: e,
|
|
6678
6741
|
onPaletteChange: t,
|
|
6679
6742
|
className: "dc:shrink-0"
|
|
@@ -6685,7 +6748,7 @@ function Li({ colorPalette: e, onPaletteChange: t, onAddText: n, onAddPortlet: r
|
|
|
6685
6748
|
color: "var(--dc-text-secondary)",
|
|
6686
6749
|
borderColor: "var(--dc-border)"
|
|
6687
6750
|
},
|
|
6688
|
-
children: [/* @__PURE__ */ X(
|
|
6751
|
+
children: [/* @__PURE__ */ X(ui, { className: "dc:w-5 dc:h-5 dc:mr-2" }), i("dashboard.addText")]
|
|
6689
6752
|
}),
|
|
6690
6753
|
/* @__PURE__ */ Z("button", {
|
|
6691
6754
|
onClick: r,
|
|
@@ -6694,13 +6757,13 @@ function Li({ colorPalette: e, onPaletteChange: t, onAddText: n, onAddPortlet: r
|
|
|
6694
6757
|
color: "var(--dc-primary)",
|
|
6695
6758
|
borderColor: "var(--dc-primary)"
|
|
6696
6759
|
},
|
|
6697
|
-
children: [/* @__PURE__ */ X(
|
|
6760
|
+
children: [/* @__PURE__ */ X(Bi, { className: "dc:w-5 dc:h-5 dc:mr-2" }), i("dashboard.addPortlet")]
|
|
6698
6761
|
})
|
|
6699
6762
|
]
|
|
6700
6763
|
});
|
|
6701
6764
|
}
|
|
6702
|
-
function
|
|
6703
|
-
let { t: e } = R(), { isEditMode: t, isResponsiveEditable: n, layoutMode: r, selectableModes: i, canChangeLayoutMode: a, isScrolled: o, editBarRef: s, config: c, actions: l, handleAddText: u, handleAddPortlet: d, handlePaletteChange: f } =
|
|
6765
|
+
function Wi() {
|
|
6766
|
+
let { t: e } = R(), { isEditMode: t, isResponsiveEditable: n, layoutMode: r, selectableModes: i, canChangeLayoutMode: a, isScrolled: o, editBarRef: s, config: c, actions: l, handleAddText: u, handleAddPortlet: d, handlePaletteChange: f } = fi();
|
|
6704
6767
|
return /* @__PURE__ */ Z("div", {
|
|
6705
6768
|
ref: s,
|
|
6706
6769
|
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 ${o ? "dc:border-b" : ""}`,
|
|
@@ -6708,26 +6771,26 @@ function Ri() {
|
|
|
6708
6771
|
children: [/* @__PURE__ */ Z("div", {
|
|
6709
6772
|
className: "dc:flex dc:items-center dc:gap-4",
|
|
6710
6773
|
children: [
|
|
6711
|
-
/* @__PURE__ */ X(
|
|
6774
|
+
/* @__PURE__ */ X(Hi, {
|
|
6712
6775
|
isEditMode: t,
|
|
6713
6776
|
isResponsiveEditable: n,
|
|
6714
6777
|
onToggle: l.toggleEditMode
|
|
6715
6778
|
}),
|
|
6716
|
-
t && i.length > 1 && /* @__PURE__ */ X(
|
|
6779
|
+
t && i.length > 1 && /* @__PURE__ */ X(Li, {
|
|
6717
6780
|
layoutMode: r,
|
|
6718
6781
|
canChangeLayoutMode: a,
|
|
6719
6782
|
onLayoutModeChange: l.handleLayoutModeChange
|
|
6720
6783
|
}),
|
|
6721
6784
|
!n && /* @__PURE__ */ Z("div", {
|
|
6722
6785
|
className: "dc:flex dc:items-center dc:gap-2 dc:text-sm text-dc-text-secondary",
|
|
6723
|
-
children: [/* @__PURE__ */ X(
|
|
6786
|
+
children: [/* @__PURE__ */ X(Vi, { className: "dc:w-4 dc:h-4" }), /* @__PURE__ */ X("span", { children: e("dashboard.desktopRequired") })]
|
|
6724
6787
|
}),
|
|
6725
6788
|
t && n && /* @__PURE__ */ X("p", {
|
|
6726
6789
|
className: "dc:hidden dc:md:block dc:text-sm text-dc-text-secondary",
|
|
6727
6790
|
children: e("dashboard.editModeHint")
|
|
6728
6791
|
})
|
|
6729
6792
|
]
|
|
6730
|
-
}), t && /* @__PURE__ */ X(
|
|
6793
|
+
}), t && /* @__PURE__ */ X(Ui, {
|
|
6731
6794
|
colorPalette: c.colorPalette,
|
|
6732
6795
|
onPaletteChange: f,
|
|
6733
6796
|
onAddText: u,
|
|
@@ -6737,9 +6800,9 @@ function Ri() {
|
|
|
6737
6800
|
}
|
|
6738
6801
|
//#endregion
|
|
6739
6802
|
//#region src/client/components/dashboard/DashboardToolbar.tsx
|
|
6740
|
-
function
|
|
6741
|
-
let { editable: e, hideToolbar: t, features: n, displayMode: r, isEditMode: i, isResponsiveEditable: a, layoutMode: o, selectableModes: s, canChangeLayoutMode: c, isEditBarVisible: l, config: u, actions: d } =
|
|
6742
|
-
return !e || t ? null : /* @__PURE__ */ Z(Y, { children: [n.editToolbar !== "floating" && /* @__PURE__ */ X(
|
|
6803
|
+
function Gi() {
|
|
6804
|
+
let { editable: e, hideToolbar: t, features: n, displayMode: r, isEditMode: i, isResponsiveEditable: a, layoutMode: o, selectableModes: s, canChangeLayoutMode: c, isEditBarVisible: l, config: u, actions: d } = fi();
|
|
6805
|
+
return !e || t ? null : /* @__PURE__ */ Z(Y, { children: [n.editToolbar !== "floating" && /* @__PURE__ */ X(Wi, {}), n.editToolbar !== "top" && r === "desktop" && /* @__PURE__ */ X(ki, {
|
|
6743
6806
|
isEditBarVisible: n.editToolbar !== "floating" && l,
|
|
6744
6807
|
position: n.floatingToolbarPosition || "right",
|
|
6745
6808
|
isEditMode: i,
|
|
@@ -6756,10 +6819,10 @@ function zi() {
|
|
|
6756
6819
|
}
|
|
6757
6820
|
//#endregion
|
|
6758
6821
|
//#region src/client/components/AnalysisBuilder/utils/idUtils.ts
|
|
6759
|
-
function
|
|
6822
|
+
function Ki() {
|
|
6760
6823
|
return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
6761
6824
|
}
|
|
6762
|
-
function
|
|
6825
|
+
function qi(e) {
|
|
6763
6826
|
let t = "", n = e;
|
|
6764
6827
|
do
|
|
6765
6828
|
t = String.fromCharCode(65 + n % 26) + t, n = Math.floor(n / 26) - 1;
|
|
@@ -6768,7 +6831,7 @@ function Vi(e) {
|
|
|
6768
6831
|
}
|
|
6769
6832
|
//#endregion
|
|
6770
6833
|
//#region src/client/components/AnalysisBuilder/utils/fieldUtils.ts
|
|
6771
|
-
function
|
|
6834
|
+
function Ji(e, t) {
|
|
6772
6835
|
if (!t) return null;
|
|
6773
6836
|
for (let n of t.cubes) {
|
|
6774
6837
|
let t = n.measures.find((t) => t.name === e);
|
|
@@ -6786,11 +6849,11 @@ function Hi(e, t) {
|
|
|
6786
6849
|
}
|
|
6787
6850
|
return null;
|
|
6788
6851
|
}
|
|
6789
|
-
function
|
|
6790
|
-
let n =
|
|
6852
|
+
function Yi(e, t) {
|
|
6853
|
+
let n = Ji(e, t);
|
|
6791
6854
|
return n && (n.field.title || n.field.shortTitle) || e;
|
|
6792
6855
|
}
|
|
6793
|
-
function
|
|
6856
|
+
function Xi(e, t) {
|
|
6794
6857
|
return {
|
|
6795
6858
|
name: t.name,
|
|
6796
6859
|
title: t.title || t.shortTitle || t.name,
|
|
@@ -6801,7 +6864,7 @@ function Wi(e, t) {
|
|
|
6801
6864
|
fieldType: "measure"
|
|
6802
6865
|
};
|
|
6803
6866
|
}
|
|
6804
|
-
function
|
|
6867
|
+
function Zi(e, t) {
|
|
6805
6868
|
return {
|
|
6806
6869
|
name: t.name,
|
|
6807
6870
|
title: t.title || t.shortTitle || t.name,
|
|
@@ -6812,16 +6875,16 @@ function Gi(e, t) {
|
|
|
6812
6875
|
fieldType: t.type === "time" ? "timeDimension" : "dimension"
|
|
6813
6876
|
};
|
|
6814
6877
|
}
|
|
6815
|
-
function
|
|
6878
|
+
function Qi(e, t) {
|
|
6816
6879
|
if (!e) return [];
|
|
6817
6880
|
let n = t === "metrics" || t === "filter", r = t !== "metrics", i = [];
|
|
6818
6881
|
for (let t of e.cubes) {
|
|
6819
|
-
if (n) for (let e of t.measures) i.push(
|
|
6820
|
-
if (r) for (let e of t.dimensions) i.push(
|
|
6882
|
+
if (n) for (let e of t.measures) i.push(Xi(t.name, e));
|
|
6883
|
+
if (r) for (let e of t.dimensions) i.push(Zi(t.name, e));
|
|
6821
6884
|
}
|
|
6822
6885
|
return i;
|
|
6823
6886
|
}
|
|
6824
|
-
function
|
|
6887
|
+
function $i(e, t, n) {
|
|
6825
6888
|
let r = e;
|
|
6826
6889
|
if (n && n !== "all" && (r = r.filter((e) => e.cubeName === n)), t.trim()) {
|
|
6827
6890
|
let e = t.toLowerCase();
|
|
@@ -6829,7 +6892,7 @@ function qi(e, t, n) {
|
|
|
6829
6892
|
}
|
|
6830
6893
|
return r;
|
|
6831
6894
|
}
|
|
6832
|
-
function
|
|
6895
|
+
function ea(e) {
|
|
6833
6896
|
let t = /* @__PURE__ */ new Map();
|
|
6834
6897
|
for (let n of e) {
|
|
6835
6898
|
let e = t.get(n.cubeName) || [];
|
|
@@ -6837,13 +6900,13 @@ function Ji(e) {
|
|
|
6837
6900
|
}
|
|
6838
6901
|
return t;
|
|
6839
6902
|
}
|
|
6840
|
-
function
|
|
6903
|
+
function ta(e) {
|
|
6841
6904
|
return e ? e.cubes.map((e) => e.name) : [];
|
|
6842
6905
|
}
|
|
6843
|
-
function
|
|
6906
|
+
function na(e, t) {
|
|
6844
6907
|
return t && t.cubes.find((t) => t.name === e)?.title || e;
|
|
6845
6908
|
}
|
|
6846
|
-
function
|
|
6909
|
+
function ra(e, t) {
|
|
6847
6910
|
let n = /* @__PURE__ */ new Set();
|
|
6848
6911
|
if (!t) return n;
|
|
6849
6912
|
n.add(e);
|
|
@@ -6852,9 +6915,9 @@ function Zi(e, t) {
|
|
|
6852
6915
|
for (let e of r.relationships) n.add(e.targetCube);
|
|
6853
6916
|
return n;
|
|
6854
6917
|
}
|
|
6855
|
-
function
|
|
6918
|
+
function ia(e, t) {
|
|
6856
6919
|
if (!t) return null;
|
|
6857
|
-
let n =
|
|
6920
|
+
let n = ra(e, t);
|
|
6858
6921
|
return { cubes: t.cubes.filter((e) => n.has(e.name)).map((e) => ({
|
|
6859
6922
|
...e,
|
|
6860
6923
|
description: e.description || ""
|
|
@@ -6862,10 +6925,10 @@ function Qi(e, t) {
|
|
|
6862
6925
|
}
|
|
6863
6926
|
//#endregion
|
|
6864
6927
|
//#region src/client/components/AnalysisBuilder/utils/recentFieldsUtils.ts
|
|
6865
|
-
var
|
|
6866
|
-
function
|
|
6928
|
+
var aa = "drizzle-cube-recent-fields", oa = 10;
|
|
6929
|
+
function sa() {
|
|
6867
6930
|
try {
|
|
6868
|
-
let e = localStorage.getItem(
|
|
6931
|
+
let e = localStorage.getItem(aa);
|
|
6869
6932
|
if (e) return JSON.parse(e);
|
|
6870
6933
|
} catch {}
|
|
6871
6934
|
return {
|
|
@@ -6873,15 +6936,15 @@ function ta() {
|
|
|
6873
6936
|
breakdowns: []
|
|
6874
6937
|
};
|
|
6875
6938
|
}
|
|
6876
|
-
function
|
|
6939
|
+
function ca(e, t) {
|
|
6877
6940
|
try {
|
|
6878
|
-
let n =
|
|
6879
|
-
r.unshift(e), n[t] = r.slice(0,
|
|
6941
|
+
let n = sa(), r = n[t].filter((t) => t !== e);
|
|
6942
|
+
r.unshift(e), n[t] = r.slice(0, oa), localStorage.setItem(aa, JSON.stringify(n));
|
|
6880
6943
|
} catch {}
|
|
6881
6944
|
}
|
|
6882
|
-
function
|
|
6945
|
+
function la(e, t, n) {
|
|
6883
6946
|
if (!e || n.length === 0) return [];
|
|
6884
|
-
let r =
|
|
6947
|
+
let r = Qi(e, t), i = [];
|
|
6885
6948
|
for (let e of n) {
|
|
6886
6949
|
let t = r.find((t) => t.name === e);
|
|
6887
6950
|
t && i.push(t);
|
|
@@ -6890,7 +6953,7 @@ function ra(e, t, n) {
|
|
|
6890
6953
|
}
|
|
6891
6954
|
//#endregion
|
|
6892
6955
|
//#region src/client/components/AnalysisBuilder/FieldDetailPanel.tsx
|
|
6893
|
-
function
|
|
6956
|
+
function ua({ field: e }) {
|
|
6894
6957
|
let { t } = R();
|
|
6895
6958
|
return e ? /* @__PURE__ */ Z("div", {
|
|
6896
6959
|
className: "dc:p-4",
|
|
@@ -6997,8 +7060,8 @@ function ia({ field: e }) {
|
|
|
6997
7060
|
})
|
|
6998
7061
|
});
|
|
6999
7062
|
}
|
|
7000
|
-
var
|
|
7001
|
-
function
|
|
7063
|
+
var da = U(ua), fa = v("check");
|
|
7064
|
+
function pa({ field: e, isSelected: t, isFocused: n, onClick: r, onMouseEnter: i, ...a }) {
|
|
7002
7065
|
let o = () => {
|
|
7003
7066
|
if (e.fieldType === "measure") {
|
|
7004
7067
|
let t = l(e.type);
|
|
@@ -7039,19 +7102,19 @@ function sa({ field: e, isSelected: t, isFocused: n, onClick: r, onMouseEnter: i
|
|
|
7039
7102
|
}),
|
|
7040
7103
|
t && /* @__PURE__ */ X("span", {
|
|
7041
7104
|
className: "dc:shrink-0 dc:w-5 dc:h-5 dc:flex dc:items-center dc:justify-center dc:rounded-full bg-dc-success text-white",
|
|
7042
|
-
children: /* @__PURE__ */ X(
|
|
7105
|
+
children: /* @__PURE__ */ X(fa, { className: "dc:w-3 dc:h-3" })
|
|
7043
7106
|
})
|
|
7044
7107
|
]
|
|
7045
7108
|
});
|
|
7046
7109
|
}
|
|
7047
|
-
var
|
|
7110
|
+
var ma = U(pa);
|
|
7048
7111
|
//#endregion
|
|
7049
7112
|
//#region src/client/components/AnalysisBuilder/FieldSearchResults.tsx
|
|
7050
|
-
function
|
|
7113
|
+
function ha(e, t, n, r, i) {
|
|
7051
7114
|
let a = Array.from(e.entries()), o = Array.from(e.keys()).indexOf(n);
|
|
7052
7115
|
return t + a.slice(0, o).reduce((e, [, t]) => e + t.length, 0) + r.indexOf(i);
|
|
7053
7116
|
}
|
|
7054
|
-
var
|
|
7117
|
+
var ga = U(function({ mode: e, schema: t, searchTerm: n, recentOptions: r, groupedFields: i, filteredCount: a, selectedFields: o, focusedIndex: s, onSelectField: c, onFocusField: l }) {
|
|
7055
7118
|
let { t: u } = R();
|
|
7056
7119
|
if (a === 0 && r.length === 0) {
|
|
7057
7120
|
let t;
|
|
@@ -7066,7 +7129,7 @@ var ua = H(function({ mode: e, schema: t, searchTerm: n, recentOptions: r, group
|
|
|
7066
7129
|
})]
|
|
7067
7130
|
});
|
|
7068
7131
|
}
|
|
7069
|
-
let d = (e, t, n = "") => /* @__PURE__ */ X(
|
|
7132
|
+
let d = (e, t, n = "") => /* @__PURE__ */ X(ma, {
|
|
7070
7133
|
field: e,
|
|
7071
7134
|
isSelected: o.includes(e.name),
|
|
7072
7135
|
isFocused: s === t,
|
|
@@ -7084,16 +7147,16 @@ var ua = H(function({ mode: e, schema: t, searchTerm: n, recentOptions: r, group
|
|
|
7084
7147
|
children: r.map((e, t) => d(e, t, "recent-"))
|
|
7085
7148
|
})] }), Array.from(i.entries()).map(([e, n]) => /* @__PURE__ */ Z("div", { children: [/* @__PURE__ */ X("h3", {
|
|
7086
7149
|
className: "dc:text-xs dc:font-semibold text-dc-text-muted dc:uppercase dc:tracking-wider dc:mb-2",
|
|
7087
|
-
children:
|
|
7150
|
+
children: na(e, t)
|
|
7088
7151
|
}), /* @__PURE__ */ X("div", {
|
|
7089
7152
|
className: "dc:space-y-1",
|
|
7090
|
-
children: n.map((t) => d(t,
|
|
7153
|
+
children: n.map((t) => d(t, ha(i, r.length, e, n, t)))
|
|
7091
7154
|
})] }, e))]
|
|
7092
7155
|
});
|
|
7093
7156
|
});
|
|
7094
7157
|
//#endregion
|
|
7095
7158
|
//#region src/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.ts
|
|
7096
|
-
function
|
|
7159
|
+
function _a(e, t, n) {
|
|
7097
7160
|
let [r, i] = J(null), [a, o] = J(-1), s = q(null), c = W((t) => {
|
|
7098
7161
|
o((n) => {
|
|
7099
7162
|
let r = t > 0 ? Math.min(n + 1, e.length - 1) : Math.max(n - 1, 0);
|
|
@@ -7138,17 +7201,17 @@ function da(e, t, n) {
|
|
|
7138
7201
|
}
|
|
7139
7202
|
//#endregion
|
|
7140
7203
|
//#region src/client/components/AnalysisBuilder/FieldSearchModal.tsx
|
|
7141
|
-
var
|
|
7142
|
-
function
|
|
7204
|
+
var va = v("search"), ya = v("close");
|
|
7205
|
+
function ba({ isOpen: e, onClose: t, onSelect: n, mode: r, schema: i, selectedFields: a, recentFields: o }) {
|
|
7143
7206
|
let { t: s } = R(), [c, l] = J(""), [u, d] = J(null), [f, p] = J(null), m = q(null), h = K(() => {
|
|
7144
7207
|
if (o) return o;
|
|
7145
|
-
let e =
|
|
7208
|
+
let e = sa();
|
|
7146
7209
|
return r === "metrics" ? e.metrics : e.breakdowns;
|
|
7147
|
-
}, [o, r]), g = r, _ = K(() =>
|
|
7210
|
+
}, [o, r]), g = r, _ = K(() => Qi(i, g), [i, g]), v = K(() => ta(i), [i]), y = K(() => $i(_, c, u), [
|
|
7148
7211
|
_,
|
|
7149
7212
|
c,
|
|
7150
7213
|
u
|
|
7151
|
-
]), b = K(() =>
|
|
7214
|
+
]), b = K(() => ea(y), [y]), x = K(() => c.trim() ? [] : la(i, g, h).filter((e) => !u || e.cubeName === u), [
|
|
7152
7215
|
i,
|
|
7153
7216
|
g,
|
|
7154
7217
|
h,
|
|
@@ -7164,7 +7227,7 @@ function ma({ isOpen: e, onClose: t, onSelect: n, mode: r, schema: i, selectedFi
|
|
|
7164
7227
|
e && m.current && m.current.focus();
|
|
7165
7228
|
}, [e]);
|
|
7166
7229
|
let C = W((e, t = !1) => {
|
|
7167
|
-
|
|
7230
|
+
ca(e.name, r === "metrics" ? "metrics" : "breakdowns"), n({
|
|
7168
7231
|
name: e.name,
|
|
7169
7232
|
title: e.title,
|
|
7170
7233
|
shortTitle: e.shortTitle,
|
|
@@ -7185,7 +7248,7 @@ function ma({ isOpen: e, onClose: t, onSelect: n, mode: r, schema: i, selectedFi
|
|
|
7185
7248
|
f,
|
|
7186
7249
|
C,
|
|
7187
7250
|
a
|
|
7188
|
-
]), { focusedField: T, setFocusedField: E, focusedIndex: D, setFocusedIndex: O, resultsContainerRef: k, handleKeyDown: A } =
|
|
7251
|
+
]), { focusedField: T, setFocusedField: E, focusedIndex: D, setFocusedIndex: O, resultsContainerRef: k, handleKeyDown: A } = _a(S, w, t), j = W((e, t) => {
|
|
7189
7252
|
E(e), O(t);
|
|
7190
7253
|
}, [E, O]);
|
|
7191
7254
|
if (G(() => {
|
|
@@ -7214,7 +7277,7 @@ function ma({ isOpen: e, onClose: t, onSelect: n, mode: r, schema: i, selectedFi
|
|
|
7214
7277
|
children: [/* @__PURE__ */ Z("div", {
|
|
7215
7278
|
className: "dc:flex dc:items-center dc:px-4 dc:py-3 dc:gap-3",
|
|
7216
7279
|
children: [
|
|
7217
|
-
/* @__PURE__ */ X(
|
|
7280
|
+
/* @__PURE__ */ X(va, {
|
|
7218
7281
|
className: "dc:w-5 dc:h-5 text-dc-text-muted",
|
|
7219
7282
|
"aria-hidden": !0
|
|
7220
7283
|
}),
|
|
@@ -7238,7 +7301,7 @@ function ma({ isOpen: e, onClose: t, onSelect: n, mode: r, schema: i, selectedFi
|
|
|
7238
7301
|
onClick: t,
|
|
7239
7302
|
className: "dc:p-1 text-dc-text-secondary hover:text-dc-text dc:rounded-sm",
|
|
7240
7303
|
"aria-label": "Close dialog",
|
|
7241
|
-
children: /* @__PURE__ */ X(
|
|
7304
|
+
children: /* @__PURE__ */ X(ya, {
|
|
7242
7305
|
className: "dc:w-5 dc:h-5",
|
|
7243
7306
|
"aria-hidden": !0
|
|
7244
7307
|
})
|
|
@@ -7256,7 +7319,7 @@ function ma({ isOpen: e, onClose: t, onSelect: n, mode: r, schema: i, selectedFi
|
|
|
7256
7319
|
children: s("fieldSearch.filter.allCubes")
|
|
7257
7320
|
}), v.map((e) => /* @__PURE__ */ X("option", {
|
|
7258
7321
|
value: e,
|
|
7259
|
-
children:
|
|
7322
|
+
children: na(e, i)
|
|
7260
7323
|
}, e))]
|
|
7261
7324
|
})
|
|
7262
7325
|
})]
|
|
@@ -7279,9 +7342,9 @@ function ma({ isOpen: e, onClose: t, onSelect: n, mode: r, schema: i, selectedFi
|
|
|
7279
7342
|
}), v.map((e) => /* @__PURE__ */ X("button", {
|
|
7280
7343
|
onClick: () => d(e),
|
|
7281
7344
|
className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:rounded-md dc:text-sm dc:transition-colors dc:truncate ${u === e ? "bg-dc-primary/10 text-dc-primary dc:font-medium" : "text-dc-text hover:bg-dc-surface-hover"}`,
|
|
7282
|
-
title:
|
|
7345
|
+
title: na(e, i),
|
|
7283
7346
|
"aria-pressed": u === e,
|
|
7284
|
-
children:
|
|
7347
|
+
children: na(e, i)
|
|
7285
7348
|
}, e))]
|
|
7286
7349
|
})
|
|
7287
7350
|
}),
|
|
@@ -7291,7 +7354,7 @@ function ma({ isOpen: e, onClose: t, onSelect: n, mode: r, schema: i, selectedFi
|
|
|
7291
7354
|
className: "dc:flex-1 dc:overflow-y-auto dc:p-4",
|
|
7292
7355
|
role: "listbox",
|
|
7293
7356
|
"aria-label": "Available fields",
|
|
7294
|
-
children: /* @__PURE__ */ X(
|
|
7357
|
+
children: /* @__PURE__ */ X(ga, {
|
|
7295
7358
|
mode: r,
|
|
7296
7359
|
schema: i,
|
|
7297
7360
|
searchTerm: c,
|
|
@@ -7306,7 +7369,7 @@ function ma({ isOpen: e, onClose: t, onSelect: n, mode: r, schema: i, selectedFi
|
|
|
7306
7369
|
}),
|
|
7307
7370
|
/* @__PURE__ */ X("div", {
|
|
7308
7371
|
className: "dc:hidden dc:md:block dc:w-72 dc:shrink-0 dc:border-l border-dc-border bg-dc-surface-secondary dc:overflow-y-auto",
|
|
7309
|
-
children: /* @__PURE__ */ X(
|
|
7372
|
+
children: /* @__PURE__ */ X(da, { field: T })
|
|
7310
7373
|
})
|
|
7311
7374
|
]
|
|
7312
7375
|
}),
|
|
@@ -7364,7 +7427,7 @@ function ma({ isOpen: e, onClose: t, onSelect: n, mode: r, schema: i, selectedFi
|
|
|
7364
7427
|
}
|
|
7365
7428
|
//#endregion
|
|
7366
7429
|
//#region src/client/shared/types.ts
|
|
7367
|
-
var
|
|
7430
|
+
var xa = [
|
|
7368
7431
|
{
|
|
7369
7432
|
value: "custom",
|
|
7370
7433
|
label: "dateRange.custom"
|
|
@@ -7441,7 +7504,7 @@ var ha = [
|
|
|
7441
7504
|
value: "last_n_years",
|
|
7442
7505
|
label: "dateRange.lastNYears"
|
|
7443
7506
|
}
|
|
7444
|
-
],
|
|
7507
|
+
], Sa = [
|
|
7445
7508
|
{
|
|
7446
7509
|
id: "today",
|
|
7447
7510
|
label: "Today",
|
|
@@ -7477,7 +7540,7 @@ var ha = [
|
|
|
7477
7540
|
label: "12M",
|
|
7478
7541
|
value: "last 12 months"
|
|
7479
7542
|
}
|
|
7480
|
-
],
|
|
7543
|
+
], Ca = [
|
|
7481
7544
|
{
|
|
7482
7545
|
id: "wtd",
|
|
7483
7546
|
label: "Week to Date",
|
|
@@ -7499,11 +7562,11 @@ var ha = [
|
|
|
7499
7562
|
value: "this year"
|
|
7500
7563
|
}
|
|
7501
7564
|
];
|
|
7502
|
-
function
|
|
7565
|
+
function wa(e) {
|
|
7503
7566
|
let t = new Date(e), n = t.getDay(), r = n === 0 ? 6 : n - 1;
|
|
7504
7567
|
return t.setDate(t.getDate() - r), t;
|
|
7505
7568
|
}
|
|
7506
|
-
function
|
|
7569
|
+
function Ta(e, t, n) {
|
|
7507
7570
|
switch (e) {
|
|
7508
7571
|
case "today": return {
|
|
7509
7572
|
start: t,
|
|
@@ -7519,7 +7582,7 @@ function ya(e, t, n) {
|
|
|
7519
7582
|
};
|
|
7520
7583
|
}
|
|
7521
7584
|
case "this week": return {
|
|
7522
|
-
start:
|
|
7585
|
+
start: wa(t),
|
|
7523
7586
|
end: n
|
|
7524
7587
|
};
|
|
7525
7588
|
case "this month": return {
|
|
@@ -7540,7 +7603,7 @@ function ya(e, t, n) {
|
|
|
7540
7603
|
default: return null;
|
|
7541
7604
|
}
|
|
7542
7605
|
}
|
|
7543
|
-
function
|
|
7606
|
+
function Ea(e, t, n) {
|
|
7544
7607
|
let r = e.match(/^last\s+(\d+)\s+(day|days|week|weeks|month|months|quarter|quarters|year|years)$/i);
|
|
7545
7608
|
if (!r) return null;
|
|
7546
7609
|
let i = parseInt(r[1], 10), a = r[2].toLowerCase(), o = new Date(t);
|
|
@@ -7549,7 +7612,7 @@ function ba(e, t, n) {
|
|
|
7549
7612
|
end: n
|
|
7550
7613
|
};
|
|
7551
7614
|
}
|
|
7552
|
-
function
|
|
7615
|
+
function Da(e, t) {
|
|
7553
7616
|
let n = e.match(/^last\s+(week|month|quarter|year)$/i);
|
|
7554
7617
|
if (!n) return null;
|
|
7555
7618
|
let r = n[1].toLowerCase();
|
|
@@ -7582,13 +7645,13 @@ function xa(e, t) {
|
|
|
7582
7645
|
end: a
|
|
7583
7646
|
};
|
|
7584
7647
|
}
|
|
7585
|
-
function
|
|
7648
|
+
function Oa(e) {
|
|
7586
7649
|
let t = /* @__PURE__ */ new Date();
|
|
7587
7650
|
t.setHours(0, 0, 0, 0);
|
|
7588
7651
|
let n = new Date(t);
|
|
7589
|
-
return n.setHours(23, 59, 59, 999),
|
|
7652
|
+
return n.setHours(23, 59, 59, 999), Ta(e.toLowerCase(), t, n) ?? Ea(e, t, n) ?? Da(e, t);
|
|
7590
7653
|
}
|
|
7591
|
-
function
|
|
7654
|
+
function ka(e, t) {
|
|
7592
7655
|
let n = {
|
|
7593
7656
|
month: "short",
|
|
7594
7657
|
day: "numeric",
|
|
@@ -7599,20 +7662,20 @@ function Ca(e, t) {
|
|
|
7599
7662
|
day: "numeric"
|
|
7600
7663
|
})} - ${i}` : `${r} - ${i}`;
|
|
7601
7664
|
}
|
|
7602
|
-
function
|
|
7665
|
+
function Aa(e) {
|
|
7603
7666
|
if (!e) return null;
|
|
7604
7667
|
if (Array.isArray(e)) return "custom";
|
|
7605
|
-
let t = e.toLowerCase().trim(), n = [...
|
|
7668
|
+
let t = e.toLowerCase().trim(), n = [...Sa, ...Ca].find((e) => e.value.toLowerCase() === t);
|
|
7606
7669
|
return n ? n.id : "custom";
|
|
7607
7670
|
}
|
|
7608
|
-
var
|
|
7671
|
+
var ja = {
|
|
7609
7672
|
day: "days",
|
|
7610
7673
|
week: "weeks",
|
|
7611
7674
|
month: "months",
|
|
7612
7675
|
quarter: "quarters",
|
|
7613
7676
|
year: "years"
|
|
7614
7677
|
};
|
|
7615
|
-
function
|
|
7678
|
+
function Ma(e) {
|
|
7616
7679
|
if (!e) return null;
|
|
7617
7680
|
if (Array.isArray(e)) return { rangeType: "custom" };
|
|
7618
7681
|
let t = e.match(/^last (\d+) (days|weeks|months|quarters|years)$/);
|
|
@@ -7627,16 +7690,16 @@ function Ea(e) {
|
|
|
7627
7690
|
if (n) {
|
|
7628
7691
|
let [, e] = n;
|
|
7629
7692
|
return {
|
|
7630
|
-
rangeType: `last_n_${
|
|
7693
|
+
rangeType: `last_n_${ja[e] ?? "years"}`,
|
|
7631
7694
|
numberValue: 1
|
|
7632
7695
|
};
|
|
7633
7696
|
}
|
|
7634
|
-
for (let t of
|
|
7697
|
+
for (let t of xa) if (t.value !== "custom" && !w(t.value) && O(t.value) === e) return { rangeType: t.value };
|
|
7635
7698
|
return { rangeType: "custom" };
|
|
7636
7699
|
}
|
|
7637
7700
|
//#endregion
|
|
7638
7701
|
//#region src/client/components/DashboardFilters/dashboardFilterConfigModalUtils.ts
|
|
7639
|
-
function
|
|
7702
|
+
function Na(e, t) {
|
|
7640
7703
|
if (t === "number") {
|
|
7641
7704
|
let t = parseFloat(e);
|
|
7642
7705
|
return isNaN(t) ? e === "" || e === "-" ? [] : null : [t];
|
|
@@ -7645,7 +7708,7 @@ function Da(e, t) {
|
|
|
7645
7708
|
}
|
|
7646
7709
|
//#endregion
|
|
7647
7710
|
//#region src/client/components/DashboardFilters/useFilterDropdowns.ts
|
|
7648
|
-
function
|
|
7711
|
+
function Pa() {
|
|
7649
7712
|
let e = q(null), [t, n] = J(!1), [r, i] = J(!1), [a, o] = J(!1);
|
|
7650
7713
|
return G(() => {
|
|
7651
7714
|
let t = (t) => {
|
|
@@ -7664,7 +7727,7 @@ function Oa() {
|
|
|
7664
7727
|
}
|
|
7665
7728
|
//#endregion
|
|
7666
7729
|
//#region src/client/components/DashboardFilters/useFilterValueFetch.ts
|
|
7667
|
-
function
|
|
7730
|
+
function Fa({ localFilter: e, setLocalFilter: t, operatorMeta: n, shouldShowComboBox: r, isValueDropdownOpen: i, setIsValueDropdownOpen: a }) {
|
|
7668
7731
|
let [o, s] = J(""), c = N(o, 300), { values: l, loading: u, error: d, searchValues: f } = P(e.member, r);
|
|
7669
7732
|
return G(() => {
|
|
7670
7733
|
i && r && f && f("", !0);
|
|
@@ -7711,11 +7774,11 @@ function ka({ localFilter: e, setLocalFilter: t, operatorMeta: n, shouldShowComb
|
|
|
7711
7774
|
}
|
|
7712
7775
|
//#endregion
|
|
7713
7776
|
//#region src/client/components/DashboardFilters/useDateRangeState.ts
|
|
7714
|
-
function
|
|
7777
|
+
function Ia({ localFilter: e, setLocalFilter: t, shouldShowDateRange: n, setIsDateRangeDropdownOpen: r }) {
|
|
7715
7778
|
let [i, a] = J("this_month"), [o, s] = J(1);
|
|
7716
7779
|
return G(() => {
|
|
7717
7780
|
if (!n) return;
|
|
7718
|
-
let t =
|
|
7781
|
+
let t = Ma(e.dateRange);
|
|
7719
7782
|
t && (a(t.rangeType), t.numberValue !== void 0 && s(t.numberValue));
|
|
7720
7783
|
}, [e.dateRange, n]), {
|
|
7721
7784
|
rangeType: i,
|
|
@@ -7768,24 +7831,24 @@ function Aa({ localFilter: e, setLocalFilter: t, shouldShowDateRange: n, setIsDa
|
|
|
7768
7831
|
}
|
|
7769
7832
|
//#endregion
|
|
7770
7833
|
//#region src/client/components/DashboardFilters/useDashboardFilterConfigModal.ts
|
|
7771
|
-
function
|
|
7772
|
-
let { t: a } = R(), [o, s] = J(e.label), [c, l] = J(e.filter), [u, d] = J(!1), [f, p] = J(!1), m =
|
|
7834
|
+
function La({ initialFilter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i }) {
|
|
7835
|
+
let { t: a } = R(), [o, s] = J(e.label), [c, l] = J(e.filter), [u, d] = J(!1), [f, p] = J(!1), m = Pa(), { setIsOperatorDropdownOpen: h, setIsValueDropdownOpen: g, setIsDateRangeDropdownOpen: _ } = m, v = u ? t : n;
|
|
7773
7836
|
G(() => {
|
|
7774
7837
|
r && (s(e.label), l(e.filter));
|
|
7775
7838
|
}, [e, r]);
|
|
7776
|
-
let y =
|
|
7839
|
+
let y = Ji(c.member, v), b = y?.field.type || "string", x = b === "time", S = y?.fieldType === "measure", C = y?.fieldType === "dimension", w = Yi(c.member, v), T = qe[c.operator], E = Xe(b), D = x && c.operator === "inDateRange", O = [
|
|
7777
7840
|
"equals",
|
|
7778
7841
|
"notEquals",
|
|
7779
7842
|
"in",
|
|
7780
7843
|
"notIn"
|
|
7781
|
-
].includes(c.operator) && C && !x, k =
|
|
7844
|
+
].includes(c.operator) && C && !x, k = Fa({
|
|
7782
7845
|
localFilter: c,
|
|
7783
7846
|
setLocalFilter: l,
|
|
7784
7847
|
operatorMeta: T,
|
|
7785
7848
|
shouldShowComboBox: O,
|
|
7786
7849
|
isValueDropdownOpen: m.isValueDropdownOpen,
|
|
7787
7850
|
setIsValueDropdownOpen: g
|
|
7788
|
-
}), A =
|
|
7851
|
+
}), A = Ia({
|
|
7789
7852
|
localFilter: c,
|
|
7790
7853
|
setLocalFilter: l,
|
|
7791
7854
|
shouldShowDateRange: D,
|
|
@@ -7804,7 +7867,7 @@ function ja({ initialFilter: e, fullSchema: t, filteredSchema: n, isOpen: r, onS
|
|
|
7804
7867
|
values: []
|
|
7805
7868
|
}), h(!1);
|
|
7806
7869
|
}, [c.member, h]), N = W((e) => {
|
|
7807
|
-
let t =
|
|
7870
|
+
let t = Na(e.target.value, T?.valueType);
|
|
7808
7871
|
t !== null && l({
|
|
7809
7872
|
...c,
|
|
7810
7873
|
values: t
|
|
@@ -7849,7 +7912,7 @@ function ja({ initialFilter: e, fullSchema: t, filteredSchema: n, isOpen: r, onS
|
|
|
7849
7912
|
c,
|
|
7850
7913
|
i,
|
|
7851
7914
|
a
|
|
7852
|
-
]), I = a(E.find((e) => e.operator === c.operator)?.label || c.operator), ne = a(
|
|
7915
|
+
]), I = a(E.find((e) => e.operator === c.operator)?.label || c.operator), ne = a(xa.find((e) => e.value === A.rangeType)?.label || "filter.modal.selectRange");
|
|
7853
7916
|
return {
|
|
7854
7917
|
localLabel: o,
|
|
7855
7918
|
setLocalLabel: s,
|
|
@@ -7886,8 +7949,8 @@ function ja({ initialFilter: e, fullSchema: t, filteredSchema: n, isOpen: r, onS
|
|
|
7886
7949
|
}
|
|
7887
7950
|
//#endregion
|
|
7888
7951
|
//#region src/client/components/DashboardFilters/DashboardFilterValueInput.tsx
|
|
7889
|
-
var
|
|
7890
|
-
function
|
|
7952
|
+
var Ra = v("close"), za = v("chevronDown");
|
|
7953
|
+
function Ba(e) {
|
|
7891
7954
|
let { t } = R(), { filter: n, rangeType: r, numberValue: i, dateRangeLabel: a, isDateRangeDropdownOpen: o, setIsOperatorDropdownOpen: s, setIsValueDropdownOpen: c, setIsDateRangeDropdownOpen: l, handleRangeTypeChange: u, handleNumberValueChange: d, handleCustomStartDate: f, handleCustomEndDate: p } = e;
|
|
7892
7955
|
return /* @__PURE__ */ Z("div", {
|
|
7893
7956
|
className: "dc:space-y-2",
|
|
@@ -7902,10 +7965,10 @@ function Pa(e) {
|
|
|
7902
7965
|
children: [/* @__PURE__ */ X("span", {
|
|
7903
7966
|
className: "dc:truncate",
|
|
7904
7967
|
children: a
|
|
7905
|
-
}), /* @__PURE__ */ X(
|
|
7968
|
+
}), /* @__PURE__ */ X(za, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${o ? "dc:rotate-180" : ""}` })]
|
|
7906
7969
|
}), o && /* @__PURE__ */ X("div", {
|
|
7907
7970
|
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-sm dc:shadow-lg dc:max-h-48 dc:overflow-y-auto",
|
|
7908
|
-
children:
|
|
7971
|
+
children: xa.map((e) => /* @__PURE__ */ X("button", {
|
|
7909
7972
|
onClick: () => u(e.value),
|
|
7910
7973
|
className: `dc:w-full dc:text-left dc:px-3 dc:py-2 dc:text-sm hover:bg-dc-surface-hover ${e.value === r ? "bg-dc-primary/10 text-dc-primary" : "text-dc-text"}`,
|
|
7911
7974
|
children: t(e.label)
|
|
@@ -7950,7 +8013,7 @@ function Pa(e) {
|
|
|
7950
8013
|
]
|
|
7951
8014
|
});
|
|
7952
8015
|
}
|
|
7953
|
-
function
|
|
8016
|
+
function Va(e) {
|
|
7954
8017
|
let { t } = R(), { filter: n, distinctValues: r, valuesLoading: i, valuesError: a, handleValueSelect: o } = e;
|
|
7955
8018
|
return i ? /* @__PURE__ */ X("div", {
|
|
7956
8019
|
className: "dc:px-3 dc:py-2 dc:text-sm text-dc-text-muted",
|
|
@@ -7976,7 +8039,7 @@ function Fa(e) {
|
|
|
7976
8039
|
})
|
|
7977
8040
|
});
|
|
7978
8041
|
}
|
|
7979
|
-
function
|
|
8042
|
+
function Ha(e) {
|
|
7980
8043
|
let { t } = R(), { filter: n, isValueDropdownOpen: r, valuesLoading: i, searchText: a, setSearchText: o, setIsOperatorDropdownOpen: s, setIsValueDropdownOpen: c, setIsDateRangeDropdownOpen: l, handleValueRemove: u } = e;
|
|
7981
8044
|
return /* @__PURE__ */ Z("div", {
|
|
7982
8045
|
className: "dc:space-y-2",
|
|
@@ -7990,7 +8053,7 @@ function Ia(e) {
|
|
|
7990
8053
|
}), /* @__PURE__ */ X("button", {
|
|
7991
8054
|
onClick: () => u(e),
|
|
7992
8055
|
className: "hover:text-dc-danger",
|
|
7993
|
-
children: /* @__PURE__ */ X(
|
|
8056
|
+
children: /* @__PURE__ */ X(Ra, { className: "dc:w-3.5 dc:h-3.5" })
|
|
7994
8057
|
})]
|
|
7995
8058
|
}, t))
|
|
7996
8059
|
}), /* @__PURE__ */ Z("div", {
|
|
@@ -8003,7 +8066,7 @@ function Ia(e) {
|
|
|
8003
8066
|
children: [/* @__PURE__ */ X("span", {
|
|
8004
8067
|
className: "text-dc-text-muted dc:truncate",
|
|
8005
8068
|
children: i ? "Loading..." : "Select value..."
|
|
8006
|
-
}), /* @__PURE__ */ X(
|
|
8069
|
+
}), /* @__PURE__ */ X(za, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${r ? "dc:rotate-180" : ""}` })]
|
|
8007
8070
|
}), r && /* @__PURE__ */ Z("div", {
|
|
8008
8071
|
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-sm dc:shadow-lg dc:max-h-56 dc:overflow-hidden",
|
|
8009
8072
|
children: [/* @__PURE__ */ X("div", {
|
|
@@ -8016,14 +8079,14 @@ function Ia(e) {
|
|
|
8016
8079
|
className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-3 dc:py-2 bg-dc-surface text-dc-text",
|
|
8017
8080
|
autoFocus: !0
|
|
8018
8081
|
})
|
|
8019
|
-
}), /* @__PURE__ */ X(
|
|
8082
|
+
}), /* @__PURE__ */ X(Va, { ...e })]
|
|
8020
8083
|
})]
|
|
8021
8084
|
})]
|
|
8022
8085
|
});
|
|
8023
8086
|
}
|
|
8024
|
-
function
|
|
8087
|
+
function Ua(e) {
|
|
8025
8088
|
let { t } = R(), { filter: n, operatorMeta: r, shouldShowDateRange: i, shouldShowComboBox: a, handleBetweenStartInput: o, handleBetweenEndInput: s, handleDateInput: c, handleDirectInput: l } = e;
|
|
8026
|
-
return r?.requiresValues ? i ? /* @__PURE__ */ X(
|
|
8089
|
+
return r?.requiresValues ? i ? /* @__PURE__ */ X(Ba, { ...e }) : n.operator === "between" || n.operator === "notBetween" ? /* @__PURE__ */ Z("div", {
|
|
8027
8090
|
className: "dc:flex dc:items-center dc:gap-2",
|
|
8028
8091
|
children: [
|
|
8029
8092
|
/* @__PURE__ */ X("input", {
|
|
@@ -8056,7 +8119,7 @@ function La(e) {
|
|
|
8056
8119
|
onChange: l,
|
|
8057
8120
|
placeholder: "Enter number",
|
|
8058
8121
|
className: "dc:w-full dc:text-sm dc:border border-dc-border dc:rounded-sm dc:px-3 dc:py-2 bg-dc-surface text-dc-text"
|
|
8059
|
-
}) : a ? /* @__PURE__ */ X(
|
|
8122
|
+
}) : a ? /* @__PURE__ */ X(Ha, { ...e }) : /* @__PURE__ */ X("input", {
|
|
8060
8123
|
type: "text",
|
|
8061
8124
|
value: n.values?.[0] ?? "",
|
|
8062
8125
|
onChange: l,
|
|
@@ -8069,9 +8132,9 @@ function La(e) {
|
|
|
8069
8132
|
}
|
|
8070
8133
|
//#endregion
|
|
8071
8134
|
//#region src/client/components/DashboardFilters/DashboardFilterConfigModalParts.tsx
|
|
8072
|
-
var
|
|
8073
|
-
function
|
|
8074
|
-
let { t: s } = R(), c =
|
|
8135
|
+
var Wa = v("chevronDown"), Ga = v("dimension"), Ka = v("timeDimension"), qa = v("measure"), Ja = v("edit"), Ya = v("eye"), Xa = v("eyeOff");
|
|
8136
|
+
function Za({ localFilter: e, activeSchema: t, isTimeField: n, isMeasureField: r, showAllFields: i, setShowAllFields: a, setShowFieldSearch: o }) {
|
|
8137
|
+
let { t: s } = R(), c = Yi(e.member, t), l = n ? Ka : r ? qa : Ga, u = n ? "bg-dc-time-dimension" : r ? "bg-dc-measure" : "bg-dc-dimension", d = n ? "text-dc-time-dimension-text" : r ? "text-dc-measure-text" : "text-dc-dimension-text";
|
|
8075
8138
|
return /* @__PURE__ */ Z("div", { children: [/* @__PURE__ */ Z("div", {
|
|
8076
8139
|
className: "dc:flex dc:items-center dc:justify-between dc:mb-2",
|
|
8077
8140
|
children: [/* @__PURE__ */ X("label", {
|
|
@@ -8081,7 +8144,7 @@ function Ga({ localFilter: e, activeSchema: t, isTimeField: n, isMeasureField: r
|
|
|
8081
8144
|
onClick: () => a(!i),
|
|
8082
8145
|
className: "dc:flex dc:items-center dc:gap-1 dc:text-xs dc:px-2 dc:py-1 dc:rounded-sm hover:bg-dc-surface-hover text-dc-text-muted",
|
|
8083
8146
|
title: i ? "Show dashboard fields only" : "Show all fields",
|
|
8084
|
-
children: i ? /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X(
|
|
8147
|
+
children: i ? /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X(Xa, { className: "dc:w-3.5 dc:h-3.5" }), /* @__PURE__ */ X("span", { children: s("dashboardFilter.dashboard") })] }) : /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X(Ya, { className: "dc:w-3.5 dc:h-3.5" }), /* @__PURE__ */ X("span", { children: s("dashboardFilter.all") })] })
|
|
8085
8148
|
})]
|
|
8086
8149
|
}), /* @__PURE__ */ Z("button", {
|
|
8087
8150
|
onClick: () => o(!0),
|
|
@@ -8094,14 +8157,14 @@ function Ga({ localFilter: e, activeSchema: t, isTimeField: n, isMeasureField: r
|
|
|
8094
8157
|
children: c
|
|
8095
8158
|
})] }) : /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X("span", {
|
|
8096
8159
|
className: "dc:w-6 dc:h-6 dc:flex dc:items-center dc:justify-center dc:rounded-sm bg-dc-surface-tertiary text-dc-text-muted",
|
|
8097
|
-
children: /* @__PURE__ */ X(
|
|
8160
|
+
children: /* @__PURE__ */ X(Ga, { className: "dc:w-4 dc:h-4" })
|
|
8098
8161
|
}), /* @__PURE__ */ X("span", {
|
|
8099
8162
|
className: "dc:flex-1 dc:text-sm text-dc-text-muted dc:text-left",
|
|
8100
8163
|
children: s("dashboardFilter.clickToSelectField")
|
|
8101
|
-
})] }), /* @__PURE__ */ X(
|
|
8164
|
+
})] }), /* @__PURE__ */ X(Ja, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })]
|
|
8102
8165
|
})] });
|
|
8103
8166
|
}
|
|
8104
|
-
function
|
|
8167
|
+
function Qa({ localFilter: e, operatorLabel: t, availableOperators: n, isOperatorDropdownOpen: r, setIsOperatorDropdownOpen: i, setIsValueDropdownOpen: a, setIsDateRangeDropdownOpen: o, handleOperatorChange: s }) {
|
|
8105
8168
|
let { t: c } = R();
|
|
8106
8169
|
return /* @__PURE__ */ Z("div", { children: [/* @__PURE__ */ X("label", {
|
|
8107
8170
|
className: "dc:block dc:text-sm dc:font-medium text-dc-text-secondary dc:mb-2",
|
|
@@ -8116,7 +8179,7 @@ function Ka({ localFilter: e, operatorLabel: t, availableOperators: n, isOperato
|
|
|
8116
8179
|
children: [/* @__PURE__ */ X("span", {
|
|
8117
8180
|
className: "dc:truncate",
|
|
8118
8181
|
children: t
|
|
8119
|
-
}), /* @__PURE__ */ X(
|
|
8182
|
+
}), /* @__PURE__ */ X(Wa, { className: `dc:w-4 dc:h-4 text-dc-text-muted dc:shrink-0 dc:ml-2 dc:transition-transform ${r ? "dc:rotate-180" : ""}` })]
|
|
8120
8183
|
}), r && /* @__PURE__ */ X("div", {
|
|
8121
8184
|
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-sm dc:shadow-lg dc:max-h-48 dc:overflow-y-auto",
|
|
8122
8185
|
children: n.map((t) => /* @__PURE__ */ X("button", {
|
|
@@ -8129,9 +8192,9 @@ function Ka({ localFilter: e, operatorLabel: t, availableOperators: n, isOperato
|
|
|
8129
8192
|
}
|
|
8130
8193
|
//#endregion
|
|
8131
8194
|
//#region src/client/components/DashboardFilters/DashboardFilterConfigModal.tsx
|
|
8132
|
-
var
|
|
8133
|
-
function
|
|
8134
|
-
let { t: s } = R(), c =
|
|
8195
|
+
var $a = v("close");
|
|
8196
|
+
function eo({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i, onDelete: a, onClose: o }) {
|
|
8197
|
+
let { t: s } = R(), c = La({
|
|
8135
8198
|
initialFilter: e,
|
|
8136
8199
|
fullSchema: t,
|
|
8137
8200
|
filteredSchema: n,
|
|
@@ -8139,7 +8202,7 @@ function Ja({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
8139
8202
|
onSave: i
|
|
8140
8203
|
});
|
|
8141
8204
|
if (!r) return null;
|
|
8142
|
-
let { localLabel: l, setLocalLabel: u, localFilter: d, showAllFields: f, setShowAllFields: p, showFieldSearch: m, setShowFieldSearch: h, field: g, dropdowns: _, values: v, dateRange: y, handleFieldSelected: b, handleOperatorChange: x, handleDirectInput: S, handleBetweenStartInput: C, handleBetweenEndInput: w, handleDateInput: T, handleSave: E } = c, { containerRef: D, isOperatorDropdownOpen: O, setIsOperatorDropdownOpen: k, isValueDropdownOpen: A, setIsValueDropdownOpen: j, isDateRangeDropdownOpen: M, setIsDateRangeDropdownOpen: N } = _, { activeSchema: P, isTimeField: ee, isMeasureField: te, operatorMeta: F, availableOperators: I, operatorLabel: ne, shouldShowDateRange: L, shouldShowComboBox: z } = g, { distinctValues: B, valuesLoading: re, valuesError: ie, searchText: ae, setSearchText: oe, handleValueSelect: se, handleValueRemove: ce } = v, { rangeType: le, numberValue: ue, dateRangeLabel: de, handleRangeTypeChange: fe, handleNumberValueChange: pe, handleCustomStartDate:
|
|
8205
|
+
let { localLabel: l, setLocalLabel: u, localFilter: d, showAllFields: f, setShowAllFields: p, showFieldSearch: m, setShowFieldSearch: h, field: g, dropdowns: _, values: v, dateRange: y, handleFieldSelected: b, handleOperatorChange: x, handleDirectInput: S, handleBetweenStartInput: C, handleBetweenEndInput: w, handleDateInput: T, handleSave: E } = c, { containerRef: D, isOperatorDropdownOpen: O, setIsOperatorDropdownOpen: k, isValueDropdownOpen: A, setIsValueDropdownOpen: j, isDateRangeDropdownOpen: M, setIsDateRangeDropdownOpen: N } = _, { activeSchema: P, isTimeField: ee, isMeasureField: te, operatorMeta: F, availableOperators: I, operatorLabel: ne, shouldShowDateRange: L, shouldShowComboBox: z } = g, { distinctValues: B, valuesLoading: re, valuesError: ie, searchText: ae, setSearchText: oe, handleValueSelect: se, handleValueRemove: ce } = v, { rangeType: le, numberValue: ue, dateRangeLabel: de, handleRangeTypeChange: fe, handleNumberValueChange: pe, handleCustomStartDate: V, handleCustomEndDate: H } = y, me = !e.isUniversalTime, he = d.member && !e.isUniversalTime, U = d.member && !e.isUniversalTime;
|
|
8143
8206
|
return /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X("div", {
|
|
8144
8207
|
className: "dc:fixed dc:inset-0 dc:z-50 dc:flex dc:items-center dc:justify-center dc:p-4",
|
|
8145
8208
|
style: { backgroundColor: "var(--dc-overlay)" },
|
|
@@ -8158,7 +8221,7 @@ function Ja({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
8158
8221
|
}), /* @__PURE__ */ X("button", {
|
|
8159
8222
|
onClick: o,
|
|
8160
8223
|
className: "dc:p-1 text-dc-text-muted hover:text-dc-text dc:transition-colors",
|
|
8161
|
-
children: /* @__PURE__ */ X(
|
|
8224
|
+
children: /* @__PURE__ */ X($a, { className: "dc:w-5 dc:h-5" })
|
|
8162
8225
|
})]
|
|
8163
8226
|
}),
|
|
8164
8227
|
/* @__PURE__ */ Z("div", {
|
|
@@ -8184,7 +8247,7 @@ function Ja({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
8184
8247
|
children: s("dashboardFilter.universalTimeDescription")
|
|
8185
8248
|
})]
|
|
8186
8249
|
}),
|
|
8187
|
-
|
|
8250
|
+
me && /* @__PURE__ */ X(Za, {
|
|
8188
8251
|
localFilter: d,
|
|
8189
8252
|
activeSchema: P,
|
|
8190
8253
|
isTimeField: ee,
|
|
@@ -8193,7 +8256,7 @@ function Ja({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
8193
8256
|
setShowAllFields: p,
|
|
8194
8257
|
setShowFieldSearch: h
|
|
8195
8258
|
}),
|
|
8196
|
-
|
|
8259
|
+
he && /* @__PURE__ */ X(Qa, {
|
|
8197
8260
|
localFilter: d,
|
|
8198
8261
|
operatorLabel: ne,
|
|
8199
8262
|
availableOperators: I,
|
|
@@ -8203,10 +8266,10 @@ function Ja({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
8203
8266
|
setIsDateRangeDropdownOpen: N,
|
|
8204
8267
|
handleOperatorChange: x
|
|
8205
8268
|
}),
|
|
8206
|
-
|
|
8269
|
+
U && /* @__PURE__ */ Z("div", { children: [/* @__PURE__ */ X("label", {
|
|
8207
8270
|
className: "dc:block dc:text-sm dc:font-medium text-dc-text-secondary dc:mb-2",
|
|
8208
8271
|
children: s("dashboardFilter.defaultValue")
|
|
8209
|
-
}), /* @__PURE__ */ X(
|
|
8272
|
+
}), /* @__PURE__ */ X(Ua, {
|
|
8210
8273
|
filter: d,
|
|
8211
8274
|
operatorMeta: F,
|
|
8212
8275
|
shouldShowDateRange: L,
|
|
@@ -8220,8 +8283,8 @@ function Ja({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
8220
8283
|
setIsDateRangeDropdownOpen: N,
|
|
8221
8284
|
handleRangeTypeChange: fe,
|
|
8222
8285
|
handleNumberValueChange: pe,
|
|
8223
|
-
handleCustomStartDate:
|
|
8224
|
-
handleCustomEndDate:
|
|
8286
|
+
handleCustomStartDate: V,
|
|
8287
|
+
handleCustomEndDate: H,
|
|
8225
8288
|
handleBetweenStartInput: C,
|
|
8226
8289
|
handleBetweenEndInput: w,
|
|
8227
8290
|
handleDateInput: T,
|
|
@@ -8258,7 +8321,7 @@ function Ja({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
8258
8321
|
})
|
|
8259
8322
|
]
|
|
8260
8323
|
})
|
|
8261
|
-
}), m && /* @__PURE__ */ X(
|
|
8324
|
+
}), m && /* @__PURE__ */ X(ba, {
|
|
8262
8325
|
isOpen: m,
|
|
8263
8326
|
onClose: () => h(!1),
|
|
8264
8327
|
onSelect: b,
|
|
@@ -8269,7 +8332,7 @@ function Ja({ filter: e, fullSchema: t, filteredSchema: n, isOpen: r, onSave: i,
|
|
|
8269
8332
|
}
|
|
8270
8333
|
//#endregion
|
|
8271
8334
|
//#region src/client/components/DashboardFilters/FilterEditModal.tsx
|
|
8272
|
-
var
|
|
8335
|
+
var to = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onClose: a, onDelete: o, convertToMetaResponse: s }) => {
|
|
8273
8336
|
let c = K(() => s(t), [t, s]), l = K(() => at(n), [n]), u = K(() => {
|
|
8274
8337
|
if (!t) return null;
|
|
8275
8338
|
let e = t.cubes.map((e) => {
|
|
@@ -8301,7 +8364,7 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8301
8364
|
console.error("Failed to save filter:", e), alert("Failed to save filter. Please try again.");
|
|
8302
8365
|
}
|
|
8303
8366
|
}, [i, a]);
|
|
8304
|
-
return r ? /* @__PURE__ */ X(
|
|
8367
|
+
return r ? /* @__PURE__ */ X(eo, {
|
|
8305
8368
|
filter: e,
|
|
8306
8369
|
fullSchema: c,
|
|
8307
8370
|
filteredSchema: u,
|
|
@@ -8310,7 +8373,7 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8310
8373
|
onDelete: o,
|
|
8311
8374
|
onClose: a
|
|
8312
8375
|
}) : null;
|
|
8313
|
-
},
|
|
8376
|
+
}, no = v("filter"), ro = v("add"), io = v("close"), ao = v("edit"), oo = v("chevronDown"), so = v("timeDimension"), co = ({ dashboardFilters: e, onAddFilter: t, onAddTimeFilter: n, onEditFilter: r, onRemoveFilter: i, selectedFilterId: a, onFilterSelect: o }) => {
|
|
8314
8377
|
let { t: s } = R(), [c, l] = de.useState(!1), u = (e) => {
|
|
8315
8378
|
let { id: t, label: n, isUniversalTime: s } = e, c = a === t;
|
|
8316
8379
|
return /* @__PURE__ */ Z("div", {
|
|
@@ -8326,7 +8389,7 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8326
8389
|
o && o(t);
|
|
8327
8390
|
},
|
|
8328
8391
|
children: [
|
|
8329
|
-
/* @__PURE__ */ X(s ?
|
|
8392
|
+
/* @__PURE__ */ X(s ? so : no, {
|
|
8330
8393
|
className: "dc:w-3.5 dc:h-3.5 dc:shrink-0",
|
|
8331
8394
|
style: { color: c ? "white" : "var(--dc-primary)" }
|
|
8332
8395
|
}),
|
|
@@ -8341,12 +8404,12 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8341
8404
|
onClick: () => r(t),
|
|
8342
8405
|
className: "dc:p-0.5 hover:bg-dc-hover dc:rounded-sm dc:transition-colors",
|
|
8343
8406
|
title: "Edit filter",
|
|
8344
|
-
children: /* @__PURE__ */ X(
|
|
8407
|
+
children: /* @__PURE__ */ X(ao, { className: "dc:w-3 dc:h-3" })
|
|
8345
8408
|
}), /* @__PURE__ */ X("button", {
|
|
8346
8409
|
onClick: () => i(t),
|
|
8347
8410
|
className: "dc:p-0.5 hover:bg-dc-danger-bg hover:text-dc-danger dc:rounded-sm dc:transition-colors",
|
|
8348
8411
|
title: "Remove filter",
|
|
8349
|
-
children: /* @__PURE__ */ X(
|
|
8412
|
+
children: /* @__PURE__ */ X(io, { className: "dc:w-3 dc:h-3" })
|
|
8350
8413
|
})]
|
|
8351
8414
|
})
|
|
8352
8415
|
]
|
|
@@ -8361,7 +8424,7 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8361
8424
|
children: [/* @__PURE__ */ Z("div", {
|
|
8362
8425
|
className: "dc:flex dc:items-center dc:gap-2",
|
|
8363
8426
|
children: [
|
|
8364
|
-
/* @__PURE__ */ X(
|
|
8427
|
+
/* @__PURE__ */ X(no, {
|
|
8365
8428
|
className: "dc:w-4 dc:h-4 dc:shrink-0",
|
|
8366
8429
|
style: { color: "var(--dc-primary)" }
|
|
8367
8430
|
}),
|
|
@@ -8378,7 +8441,7 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8378
8441
|
},
|
|
8379
8442
|
children: e.length
|
|
8380
8443
|
}),
|
|
8381
|
-
/* @__PURE__ */ X(
|
|
8444
|
+
/* @__PURE__ */ X(oo, {
|
|
8382
8445
|
className: `dc:w-4 dc:h-4 dc:transition-transform ${c ? "" : "dc:rotate-180"}`,
|
|
8383
8446
|
style: { color: "var(--dc-text-secondary)" }
|
|
8384
8447
|
})
|
|
@@ -8396,7 +8459,7 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8396
8459
|
border: "1px solid var(--dc-border)"
|
|
8397
8460
|
},
|
|
8398
8461
|
title: "Add date range filter (applies to all time dimensions)",
|
|
8399
|
-
children: [/* @__PURE__ */ X(
|
|
8462
|
+
children: [/* @__PURE__ */ X(ro, { className: "dc:w-3.5 dc:h-3.5" }), /* @__PURE__ */ X(so, { className: "dc:w-3.5 dc:h-3.5" })]
|
|
8400
8463
|
}), /* @__PURE__ */ X("button", {
|
|
8401
8464
|
onClick: (e) => {
|
|
8402
8465
|
e.stopPropagation(), t();
|
|
@@ -8406,7 +8469,7 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8406
8469
|
backgroundColor: "var(--dc-primary)",
|
|
8407
8470
|
color: "white"
|
|
8408
8471
|
},
|
|
8409
|
-
children: /* @__PURE__ */ X(
|
|
8472
|
+
children: /* @__PURE__ */ X(ro, { className: "dc:w-3.5 dc:h-3.5" })
|
|
8410
8473
|
})]
|
|
8411
8474
|
})]
|
|
8412
8475
|
}),
|
|
@@ -8432,7 +8495,7 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8432
8495
|
/* @__PURE__ */ Z("div", {
|
|
8433
8496
|
className: "dc:flex dc:items-center dc:gap-2 dc:shrink-0",
|
|
8434
8497
|
children: [
|
|
8435
|
-
/* @__PURE__ */ X(
|
|
8498
|
+
/* @__PURE__ */ X(no, {
|
|
8436
8499
|
className: "dc:w-4 dc:h-4 dc:shrink-0",
|
|
8437
8500
|
style: { color: "var(--dc-primary)" }
|
|
8438
8501
|
}),
|
|
@@ -8476,7 +8539,7 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8476
8539
|
border: "1px solid var(--dc-border)"
|
|
8477
8540
|
},
|
|
8478
8541
|
title: "Add date range filter (applies to all time dimensions)",
|
|
8479
|
-
children: [/* @__PURE__ */ X(
|
|
8542
|
+
children: [/* @__PURE__ */ X(ro, { className: "dc:w-3.5 dc:h-3.5" }), /* @__PURE__ */ X("span", { children: s("dashboardFilter.editMode.dateRange") })]
|
|
8480
8543
|
}), /* @__PURE__ */ Z("button", {
|
|
8481
8544
|
onClick: t,
|
|
8482
8545
|
className: "dc:inline-flex dc:items-center dc:gap-1 dc:px-2 dc:py-1 dc:rounded-md dc:text-xs dc:font-medium dc:transition-colors dc:hover:opacity-80",
|
|
@@ -8484,35 +8547,35 @@ var Ya = ({ filter: e, schema: t, dashboardConfig: n, isOpen: r, onSave: i, onCl
|
|
|
8484
8547
|
backgroundColor: "var(--dc-primary)",
|
|
8485
8548
|
color: "white"
|
|
8486
8549
|
},
|
|
8487
|
-
children: [/* @__PURE__ */ X(
|
|
8550
|
+
children: [/* @__PURE__ */ X(ro, { className: "dc:w-3.5 dc:h-3.5" }), /* @__PURE__ */ X("span", { children: s("dashboardFilter.editMode.filter") })]
|
|
8488
8551
|
})]
|
|
8489
8552
|
})
|
|
8490
8553
|
]
|
|
8491
8554
|
})] });
|
|
8492
|
-
},
|
|
8555
|
+
}, lo = {
|
|
8493
8556
|
set: "is set",
|
|
8494
8557
|
notSet: "is not set",
|
|
8495
8558
|
isEmpty: "is empty",
|
|
8496
8559
|
isNotEmpty: "is not empty"
|
|
8497
|
-
},
|
|
8560
|
+
}, uo = {
|
|
8498
8561
|
gt: ">",
|
|
8499
8562
|
gte: ">=",
|
|
8500
8563
|
lt: "<",
|
|
8501
8564
|
lte: "<="
|
|
8502
|
-
},
|
|
8565
|
+
}, fo = {
|
|
8503
8566
|
contains: "contains",
|
|
8504
8567
|
notContains: "!contains",
|
|
8505
8568
|
startsWith: "starts with",
|
|
8506
8569
|
endsWith: "ends with"
|
|
8507
8570
|
};
|
|
8508
|
-
function
|
|
8571
|
+
function po(e) {
|
|
8509
8572
|
return e === !0 ? "true" : e === !1 ? "false" : e == null ? "null" : String(e);
|
|
8510
8573
|
}
|
|
8511
|
-
function
|
|
8512
|
-
if (!e || e.length === 0) return
|
|
8513
|
-
let n = e.map(
|
|
8514
|
-
if (
|
|
8515
|
-
if (
|
|
8574
|
+
function mo(e, t) {
|
|
8575
|
+
if (!e || e.length === 0) return lo[t] ?? "";
|
|
8576
|
+
let n = e.map(po);
|
|
8577
|
+
if (uo[t]) return `${uo[t]} ${n[0]}`;
|
|
8578
|
+
if (fo[t]) return `${fo[t]} "${n[0]}"`;
|
|
8516
8579
|
switch (t) {
|
|
8517
8580
|
case "equals": return n.length === 1 ? `= ${n[0]}` : `in (${n.join(", ")})`;
|
|
8518
8581
|
case "notEquals": return n.length === 1 ? `!= ${n[0]}` : `not in (${n.join(", ")})`;
|
|
@@ -8526,7 +8589,7 @@ function so(e, t) {
|
|
|
8526
8589
|
}
|
|
8527
8590
|
//#endregion
|
|
8528
8591
|
//#region src/client/components/DashboardFilters/useCompactFilterBar.ts
|
|
8529
|
-
function
|
|
8592
|
+
function ho(e, t) {
|
|
8530
8593
|
let [n, r] = J(e);
|
|
8531
8594
|
G(() => {
|
|
8532
8595
|
r(e);
|
|
@@ -8535,10 +8598,10 @@ function co(e, t) {
|
|
|
8535
8598
|
if (!u) return null;
|
|
8536
8599
|
let e = u.filter;
|
|
8537
8600
|
return e.dateRange ? e.dateRange : e.values && e.values.length > 0 ? e.values.length === 1 && typeof e.values[0] == "string" ? e.values[0] : e.values : null;
|
|
8538
|
-
}, [u]), f = K(() =>
|
|
8601
|
+
}, [u]), f = K(() => Aa(d), [d]), p = K(() => {
|
|
8539
8602
|
if (!d || Array.isArray(d)) return null;
|
|
8540
|
-
let e =
|
|
8541
|
-
return
|
|
8603
|
+
let e = Aa(d);
|
|
8604
|
+
return Ca.find((t) => t.id === e)?.id || null;
|
|
8542
8605
|
}, [d]), m = K(() => n.filter((e) => !e.isUniversalTime), [n]), h = W(() => `df_${Date.now()}_${Math.random().toString(36).substring(7)}`, []), g = W((e) => {
|
|
8543
8606
|
if (u) {
|
|
8544
8607
|
let i = n.map((t) => t.id === u.id ? {
|
|
@@ -8597,26 +8660,26 @@ function co(e, t) {
|
|
|
8597
8660
|
}, [n, t]),
|
|
8598
8661
|
dateRangeTooltip: K(() => {
|
|
8599
8662
|
if (!d) return null;
|
|
8600
|
-
if (Array.isArray(d)) return
|
|
8601
|
-
let e =
|
|
8602
|
-
return e ?
|
|
8663
|
+
if (Array.isArray(d)) return ka(new Date(d[0]), new Date(d[1] || d[0]));
|
|
8664
|
+
let e = Oa(d);
|
|
8665
|
+
return e ? ka(e.start, e.end) : d;
|
|
8603
8666
|
}, [d])
|
|
8604
8667
|
};
|
|
8605
8668
|
}
|
|
8606
8669
|
//#endregion
|
|
8607
8670
|
//#region src/client/components/DashboardFilters/DatePresetChips.tsx
|
|
8608
|
-
var
|
|
8671
|
+
var go = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
8609
8672
|
let r = K(() => {
|
|
8610
8673
|
let e = {};
|
|
8611
|
-
for (let t of
|
|
8612
|
-
let n =
|
|
8613
|
-
n && (e[t.id] =
|
|
8674
|
+
for (let t of Sa) {
|
|
8675
|
+
let n = Oa(t.value);
|
|
8676
|
+
n && (e[t.id] = ka(n.start, n.end));
|
|
8614
8677
|
}
|
|
8615
8678
|
return e;
|
|
8616
8679
|
}, []);
|
|
8617
8680
|
return /* @__PURE__ */ X("div", {
|
|
8618
8681
|
className: "dc:flex dc:items-center dc:gap-1",
|
|
8619
|
-
children:
|
|
8682
|
+
children: Sa.map((i) => {
|
|
8620
8683
|
let a = e === i.id, o = r[i.id];
|
|
8621
8684
|
return /* @__PURE__ */ X("button", {
|
|
8622
8685
|
type: "button",
|
|
@@ -8645,7 +8708,7 @@ var lo = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
8645
8708
|
}, i.id);
|
|
8646
8709
|
})
|
|
8647
8710
|
});
|
|
8648
|
-
},
|
|
8711
|
+
}, _o = [
|
|
8649
8712
|
{
|
|
8650
8713
|
value: "days",
|
|
8651
8714
|
label: "Days"
|
|
@@ -8666,7 +8729,7 @@ var lo = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
8666
8729
|
value: "years",
|
|
8667
8730
|
label: "Years"
|
|
8668
8731
|
}
|
|
8669
|
-
],
|
|
8732
|
+
], vo = ({ isOpen: e, onClose: t, onDateRangeChange: n, currentDateRange: r }) => {
|
|
8670
8733
|
let { t: i } = R(), a = q(null), [o, s] = J("fixed"), [c, l] = J(""), [u, d] = J(""), [f, p] = J(""), [m, h] = J(7), [g, _] = J("days");
|
|
8671
8734
|
G(() => {
|
|
8672
8735
|
if (r) {
|
|
@@ -8872,7 +8935,7 @@ var lo = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
8872
8935
|
backgroundColor: "var(--dc-bg)",
|
|
8873
8936
|
color: "var(--dc-text)"
|
|
8874
8937
|
},
|
|
8875
|
-
children:
|
|
8938
|
+
children: _o.map((e) => /* @__PURE__ */ X("option", {
|
|
8876
8939
|
value: e.value,
|
|
8877
8940
|
children: e.label
|
|
8878
8941
|
}, e.value))
|
|
@@ -8918,7 +8981,7 @@ var lo = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
8918
8981
|
})
|
|
8919
8982
|
]
|
|
8920
8983
|
});
|
|
8921
|
-
},
|
|
8984
|
+
}, yo = v("check"), bo = ({ isOpen: e, onClose: t, onSelect: n, currentXTD: r }) => {
|
|
8922
8985
|
let i = q(null);
|
|
8923
8986
|
if (G(() => {
|
|
8924
8987
|
if (!e) return;
|
|
@@ -8946,8 +9009,8 @@ var lo = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
8946
9009
|
},
|
|
8947
9010
|
onClick: a,
|
|
8948
9011
|
onMouseDown: a,
|
|
8949
|
-
children:
|
|
8950
|
-
let t = r === e.id, i =
|
|
9012
|
+
children: Ca.map((e) => {
|
|
9013
|
+
let t = r === e.id, i = Oa(e.value), a = i ? ka(i.start, i.end) : "";
|
|
8951
9014
|
return /* @__PURE__ */ Z("button", {
|
|
8952
9015
|
type: "button",
|
|
8953
9016
|
onClick: () => n(e.value),
|
|
@@ -8972,21 +9035,21 @@ var lo = ({ activePreset: e, onPresetSelect: t, disabled: n = !1 }) => {
|
|
|
8972
9035
|
style: { color: "var(--dc-text-secondary)" },
|
|
8973
9036
|
children: a
|
|
8974
9037
|
})]
|
|
8975
|
-
}), t && /* @__PURE__ */ X(
|
|
9038
|
+
}), t && /* @__PURE__ */ X(yo, {
|
|
8976
9039
|
className: "dc:w-4 dc:h-4 dc:shrink-0",
|
|
8977
9040
|
style: { color: "var(--dc-primary)" }
|
|
8978
9041
|
})]
|
|
8979
9042
|
}, e.id);
|
|
8980
9043
|
})
|
|
8981
9044
|
});
|
|
8982
|
-
},
|
|
9045
|
+
}, xo = [
|
|
8983
9046
|
"equals",
|
|
8984
9047
|
"notEquals",
|
|
8985
9048
|
"in",
|
|
8986
9049
|
"notIn"
|
|
8987
9050
|
];
|
|
8988
|
-
function
|
|
8989
|
-
let a = qe[t], [o, s] = J(!1), [c, l] = J(""), [u, d] = J(!1), f = q(null), p = q(""), m = N(c, 300), h = K(() => i ? i.cubes.some((t) => t.dimensions.some((t) => t.name === e)) : !1, [i, e]), g = K(() => i ? i.cubes.some((t) => t.dimensions.some((t) => t.name === e && t.type === "time")) : !1, [i, e]), _ = K(() =>
|
|
9051
|
+
function So({ fieldName: e, operator: t, values: n, onValuesChange: r, schema: i }) {
|
|
9052
|
+
let a = qe[t], [o, s] = J(!1), [c, l] = J(""), [u, d] = J(!1), f = q(null), p = q(""), m = N(c, 300), h = K(() => i ? i.cubes.some((t) => t.dimensions.some((t) => t.name === e)) : !1, [i, e]), g = K(() => i ? i.cubes.some((t) => t.dimensions.some((t) => t.name === e && t.type === "time")) : !1, [i, e]), _ = K(() => xo.includes(t) && h && !g, [
|
|
8990
9053
|
t,
|
|
8991
9054
|
h,
|
|
8992
9055
|
g
|
|
@@ -9068,14 +9131,14 @@ function go({ fieldName: e, operator: t, values: n, onValuesChange: r, schema: i
|
|
|
9068
9131
|
}
|
|
9069
9132
|
//#endregion
|
|
9070
9133
|
//#region src/client/components/shared/filterValueSelector/FilterValueInputs.tsx
|
|
9071
|
-
var
|
|
9072
|
-
function
|
|
9134
|
+
var Co = v("chevronDown"), wo = v("close"), To = "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";
|
|
9135
|
+
function Eo() {
|
|
9073
9136
|
return /* @__PURE__ */ X("div", {
|
|
9074
9137
|
className: "dc:text-sm text-dc-text-muted dc:italic",
|
|
9075
9138
|
children: "No value required"
|
|
9076
9139
|
});
|
|
9077
9140
|
}
|
|
9078
|
-
function
|
|
9141
|
+
function Do({ values: e, onStartChange: t, onEndChange: n }) {
|
|
9079
9142
|
return /* @__PURE__ */ Z("div", {
|
|
9080
9143
|
className: "dc:flex dc:items-center dc:space-x-2",
|
|
9081
9144
|
children: [
|
|
@@ -9083,7 +9146,7 @@ function xo({ values: e, onStartChange: t, onEndChange: n }) {
|
|
|
9083
9146
|
type: "date",
|
|
9084
9147
|
value: e[0] || "",
|
|
9085
9148
|
onChange: t,
|
|
9086
|
-
className:
|
|
9149
|
+
className: To
|
|
9087
9150
|
}),
|
|
9088
9151
|
/* @__PURE__ */ X("span", {
|
|
9089
9152
|
className: "dc:text-sm text-dc-text-muted",
|
|
@@ -9093,12 +9156,12 @@ function xo({ values: e, onStartChange: t, onEndChange: n }) {
|
|
|
9093
9156
|
type: "date",
|
|
9094
9157
|
value: e[1] || "",
|
|
9095
9158
|
onChange: n,
|
|
9096
|
-
className:
|
|
9159
|
+
className: To
|
|
9097
9160
|
})
|
|
9098
9161
|
]
|
|
9099
9162
|
});
|
|
9100
9163
|
}
|
|
9101
|
-
function
|
|
9164
|
+
function Oo({ values: e, onStartChange: t, onEndChange: n }) {
|
|
9102
9165
|
return /* @__PURE__ */ Z("div", {
|
|
9103
9166
|
className: "dc:flex dc:items-center dc:space-x-2",
|
|
9104
9167
|
children: [
|
|
@@ -9107,7 +9170,7 @@ function So({ values: e, onStartChange: t, onEndChange: n }) {
|
|
|
9107
9170
|
value: e[0] !== void 0 && e[0] !== null ? e[0] : "",
|
|
9108
9171
|
onChange: t,
|
|
9109
9172
|
placeholder: "Min",
|
|
9110
|
-
className:
|
|
9173
|
+
className: To
|
|
9111
9174
|
}),
|
|
9112
9175
|
/* @__PURE__ */ X("span", {
|
|
9113
9176
|
className: "dc:text-sm text-dc-text-muted",
|
|
@@ -9118,38 +9181,38 @@ function So({ values: e, onStartChange: t, onEndChange: n }) {
|
|
|
9118
9181
|
value: e[1] !== void 0 && e[1] !== null ? e[1] : "",
|
|
9119
9182
|
onChange: n,
|
|
9120
9183
|
placeholder: "Max",
|
|
9121
|
-
className:
|
|
9184
|
+
className: To
|
|
9122
9185
|
})
|
|
9123
9186
|
]
|
|
9124
9187
|
});
|
|
9125
9188
|
}
|
|
9126
|
-
function
|
|
9189
|
+
function ko({ values: e, onChange: t }) {
|
|
9127
9190
|
return /* @__PURE__ */ X("input", {
|
|
9128
9191
|
type: "date",
|
|
9129
9192
|
value: e[0] || "",
|
|
9130
9193
|
onChange: t,
|
|
9131
|
-
className:
|
|
9194
|
+
className: To
|
|
9132
9195
|
});
|
|
9133
9196
|
}
|
|
9134
|
-
function
|
|
9197
|
+
function Ao({ values: e, onChange: t }) {
|
|
9135
9198
|
return /* @__PURE__ */ X("input", {
|
|
9136
9199
|
type: "number",
|
|
9137
9200
|
value: e[0] !== void 0 && e[0] !== null ? e[0] : "",
|
|
9138
9201
|
onChange: t,
|
|
9139
9202
|
placeholder: "Enter number",
|
|
9140
|
-
className:
|
|
9203
|
+
className: To
|
|
9141
9204
|
});
|
|
9142
9205
|
}
|
|
9143
|
-
function
|
|
9206
|
+
function jo({ values: e, onChange: t, valueType: n }) {
|
|
9144
9207
|
return /* @__PURE__ */ X("input", {
|
|
9145
9208
|
type: "text",
|
|
9146
9209
|
value: e[0] !== void 0 && e[0] !== null ? e[0] : "",
|
|
9147
9210
|
onChange: t,
|
|
9148
9211
|
placeholder: `Enter ${n} value`,
|
|
9149
|
-
className:
|
|
9212
|
+
className: To
|
|
9150
9213
|
});
|
|
9151
9214
|
}
|
|
9152
|
-
function
|
|
9215
|
+
function Mo({ value: e, onRemove: t }) {
|
|
9153
9216
|
return /* @__PURE__ */ Z("div", {
|
|
9154
9217
|
className: "dc:inline-flex dc:items-center bg-dc-time-dimension text-dc-time-dimension dc:text-xs dc:px-2 dc:py-1 dc:rounded-sm dc:border border-dc-time-dimension",
|
|
9155
9218
|
children: [/* @__PURE__ */ X("span", {
|
|
@@ -9158,16 +9221,16 @@ function Eo({ value: e, onRemove: t }) {
|
|
|
9158
9221
|
}), /* @__PURE__ */ X("button", {
|
|
9159
9222
|
onClick: t,
|
|
9160
9223
|
className: "text-dc-accent hover:text-dc-accent focus:outline-hidden",
|
|
9161
|
-
children: /* @__PURE__ */ X(
|
|
9224
|
+
children: /* @__PURE__ */ X(wo, { className: "dc:w-3 dc:h-3" })
|
|
9162
9225
|
})]
|
|
9163
9226
|
});
|
|
9164
9227
|
}
|
|
9165
|
-
function
|
|
9228
|
+
function No({ values: e, onValuesChange: t, onValueRemove: n }) {
|
|
9166
9229
|
return /* @__PURE__ */ Z("div", {
|
|
9167
9230
|
className: "dc:space-y-2 dc:min-w-0 dc:max-w-full",
|
|
9168
9231
|
children: [e.length > 0 && /* @__PURE__ */ X("div", {
|
|
9169
9232
|
className: "dc:flex dc:flex-wrap dc:gap-1 dc:max-w-full",
|
|
9170
|
-
children: e.map((e, t) => /* @__PURE__ */ X(
|
|
9233
|
+
children: e.map((e, t) => /* @__PURE__ */ X(Mo, {
|
|
9171
9234
|
value: e,
|
|
9172
9235
|
onRemove: () => n(e)
|
|
9173
9236
|
}, t))
|
|
@@ -9176,27 +9239,27 @@ function Do({ values: e, onValuesChange: t, onValueRemove: n }) {
|
|
|
9176
9239
|
onChange: (n) => {
|
|
9177
9240
|
n.target.value && !e.includes(n.target.value) && (t([...e, n.target.value]), n.target.value = "");
|
|
9178
9241
|
},
|
|
9179
|
-
className:
|
|
9242
|
+
className: To,
|
|
9180
9243
|
placeholder: "Add date..."
|
|
9181
9244
|
})]
|
|
9182
9245
|
});
|
|
9183
9246
|
}
|
|
9184
|
-
function
|
|
9247
|
+
function Po({ supportsMultipleValues: e, values: t, onValueRemove: n, onClear: r }) {
|
|
9185
9248
|
return t.length === 0 ? null : e ? /* @__PURE__ */ X("div", {
|
|
9186
9249
|
className: "dc:flex dc:flex-wrap dc:gap-1 dc:mb-2 dc:max-w-full",
|
|
9187
|
-
children: t.map((e, t) => /* @__PURE__ */ X(
|
|
9250
|
+
children: t.map((e, t) => /* @__PURE__ */ X(Mo, {
|
|
9188
9251
|
value: e,
|
|
9189
9252
|
onRemove: () => n(e)
|
|
9190
9253
|
}, t))
|
|
9191
9254
|
}) : /* @__PURE__ */ X("div", {
|
|
9192
9255
|
className: "dc:mb-2",
|
|
9193
|
-
children: /* @__PURE__ */ X(
|
|
9256
|
+
children: /* @__PURE__ */ X(Mo, {
|
|
9194
9257
|
value: t[0],
|
|
9195
9258
|
onRemove: r
|
|
9196
9259
|
})
|
|
9197
9260
|
});
|
|
9198
9261
|
}
|
|
9199
|
-
function
|
|
9262
|
+
function Fo({ searchText: e, valuesLoading: t, valuesError: n, distinctValues: r, values: i, onValueSelect: a, onSearchChange: o }) {
|
|
9200
9263
|
let { t: s } = R();
|
|
9201
9264
|
return /* @__PURE__ */ Z("div", {
|
|
9202
9265
|
className: "dc:absolute dc:z-30 dc:left-0 dc:right-0 dc:mt-1 bg-dc-surface dc:border border-dc-border dc:rounded-md dc:shadow-lg dc:max-h-60 dc:overflow-y-auto",
|
|
@@ -9235,13 +9298,13 @@ function ko({ searchText: e, valuesLoading: t, valuesError: n, distinctValues: r
|
|
|
9235
9298
|
})]
|
|
9236
9299
|
});
|
|
9237
9300
|
}
|
|
9238
|
-
function
|
|
9301
|
+
function Io({ dropdownRef: e, supportsMultipleValues: t, values: n, isOpen: r, searchText: i, hasLoadedInitial: a, valuesLoading: o, valuesError: s, distinctValues: c, onValuesChange: l, onValueRemove: u, onValueSelect: d, onToggle: f, onSearchChange: p }) {
|
|
9239
9302
|
let { t: m } = R();
|
|
9240
9303
|
return /* @__PURE__ */ Z("div", {
|
|
9241
9304
|
className: "dc:relative dc:min-w-0 dc:max-w-full",
|
|
9242
9305
|
ref: e,
|
|
9243
9306
|
children: [
|
|
9244
|
-
/* @__PURE__ */ X(
|
|
9307
|
+
/* @__PURE__ */ X(Po, {
|
|
9245
9308
|
supportsMultipleValues: t,
|
|
9246
9309
|
values: n,
|
|
9247
9310
|
onValueRemove: u,
|
|
@@ -9253,9 +9316,9 @@ function Ao({ dropdownRef: e, supportsMultipleValues: t, values: n, isOpen: r, s
|
|
|
9253
9316
|
children: [/* @__PURE__ */ X("span", {
|
|
9254
9317
|
className: "text-dc-text-muted dc:truncate",
|
|
9255
9318
|
children: m(o && !a ? "filter.shared.valueSelector.loadingValues" : "filter.shared.valueSelector.selectValue")
|
|
9256
|
-
}), /* @__PURE__ */ X(
|
|
9319
|
+
}), /* @__PURE__ */ X(Co, { className: "dc:w-4 dc:h-4 text-dc-text-muted" })]
|
|
9257
9320
|
}),
|
|
9258
|
-
r && /* @__PURE__ */ X(
|
|
9321
|
+
r && /* @__PURE__ */ X(Fo, {
|
|
9259
9322
|
searchText: i,
|
|
9260
9323
|
valuesLoading: o,
|
|
9261
9324
|
valuesError: s,
|
|
@@ -9269,30 +9332,30 @@ function Ao({ dropdownRef: e, supportsMultipleValues: t, values: n, isOpen: r, s
|
|
|
9269
9332
|
}
|
|
9270
9333
|
//#endregion
|
|
9271
9334
|
//#region src/client/components/shared/FilterValueSelector.tsx
|
|
9272
|
-
var
|
|
9273
|
-
let { operator: t, values: n, onValuesChange: r } = e, { operatorMeta: i, isOpen: a, searchText: o, hasLoadedInitial: s, dropdownRef: c, isTimeDimension: l, shouldShowComboBox: u, distinctValues: d, valuesLoading: f, valuesError: p, handleDropdownToggle: m, handleSearchChange: h, handleValueSelect: g, handleValueRemove: _, handleDirectInput: v, handleDateInput: y, handleDateRangeEndInput: b, handleBetweenStartInput: x, handleBetweenEndInput: S } =
|
|
9274
|
-
return i.requiresValues ? t === "inDateRange" ? /* @__PURE__ */ X(
|
|
9335
|
+
var Lo = (e) => {
|
|
9336
|
+
let { operator: t, values: n, onValuesChange: r } = e, { operatorMeta: i, isOpen: a, searchText: o, hasLoadedInitial: s, dropdownRef: c, isTimeDimension: l, shouldShowComboBox: u, distinctValues: d, valuesLoading: f, valuesError: p, handleDropdownToggle: m, handleSearchChange: h, handleValueSelect: g, handleValueRemove: _, handleDirectInput: v, handleDateInput: y, handleDateRangeEndInput: b, handleBetweenStartInput: x, handleBetweenEndInput: S } = So(e);
|
|
9337
|
+
return i.requiresValues ? t === "inDateRange" ? /* @__PURE__ */ X(Do, {
|
|
9275
9338
|
values: n,
|
|
9276
9339
|
onStartChange: y,
|
|
9277
9340
|
onEndChange: b
|
|
9278
|
-
}) : t === "between" || t === "notBetween" ? /* @__PURE__ */ X(
|
|
9341
|
+
}) : t === "between" || t === "notBetween" ? /* @__PURE__ */ X(Oo, {
|
|
9279
9342
|
values: n,
|
|
9280
9343
|
onStartChange: x,
|
|
9281
9344
|
onEndChange: S
|
|
9282
|
-
}) : i.valueType === "date" ? /* @__PURE__ */ X(
|
|
9345
|
+
}) : i.valueType === "date" ? /* @__PURE__ */ X(ko, {
|
|
9283
9346
|
values: n,
|
|
9284
9347
|
onChange: y
|
|
9285
|
-
}) : i.valueType === "number" ? /* @__PURE__ */ X(
|
|
9348
|
+
}) : i.valueType === "number" ? /* @__PURE__ */ X(Ao, {
|
|
9286
9349
|
values: n,
|
|
9287
9350
|
onChange: v
|
|
9288
|
-
}) : l &&
|
|
9351
|
+
}) : l && xo.includes(t) ? i.supportsMultipleValues ? /* @__PURE__ */ X(No, {
|
|
9289
9352
|
values: n,
|
|
9290
9353
|
onValuesChange: r,
|
|
9291
9354
|
onValueRemove: _
|
|
9292
|
-
}) : /* @__PURE__ */ X(
|
|
9355
|
+
}) : /* @__PURE__ */ X(ko, {
|
|
9293
9356
|
values: n,
|
|
9294
9357
|
onChange: y
|
|
9295
|
-
}) : u ? /* @__PURE__ */ X(
|
|
9358
|
+
}) : u ? /* @__PURE__ */ X(Io, {
|
|
9296
9359
|
dropdownRef: c,
|
|
9297
9360
|
supportsMultipleValues: i.supportsMultipleValues,
|
|
9298
9361
|
values: n,
|
|
@@ -9307,15 +9370,15 @@ var jo = (e) => {
|
|
|
9307
9370
|
onValueSelect: g,
|
|
9308
9371
|
onToggle: m,
|
|
9309
9372
|
onSearchChange: h
|
|
9310
|
-
}) : /* @__PURE__ */ X(
|
|
9373
|
+
}) : /* @__PURE__ */ X(jo, {
|
|
9311
9374
|
values: n,
|
|
9312
9375
|
onChange: v,
|
|
9313
9376
|
valueType: i.valueType
|
|
9314
|
-
}) : /* @__PURE__ */ X(
|
|
9377
|
+
}) : /* @__PURE__ */ X(Eo, {});
|
|
9315
9378
|
};
|
|
9316
9379
|
//#endregion
|
|
9317
9380
|
//#region src/client/components/DashboardFilters/FilterValuePopover.tsx
|
|
9318
|
-
function
|
|
9381
|
+
function Ro(e) {
|
|
9319
9382
|
return e ? { cubes: e.cubes.map((e) => ({
|
|
9320
9383
|
name: e.name,
|
|
9321
9384
|
title: e.title || e.name,
|
|
@@ -9343,7 +9406,7 @@ function Mo(e) {
|
|
|
9343
9406
|
})) || []
|
|
9344
9407
|
})) } : null;
|
|
9345
9408
|
}
|
|
9346
|
-
var
|
|
9409
|
+
var zo = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i }) => {
|
|
9347
9410
|
let { t: a } = R(), o = q(null);
|
|
9348
9411
|
G(() => {
|
|
9349
9412
|
let e = (e) => {
|
|
@@ -9359,7 +9422,7 @@ var No = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
9359
9422
|
}, [r, i]);
|
|
9360
9423
|
let s = W((e) => {
|
|
9361
9424
|
n(e);
|
|
9362
|
-
}, [n]), c =
|
|
9425
|
+
}, [n]), c = Ro(t);
|
|
9363
9426
|
return /* @__PURE__ */ Z("div", {
|
|
9364
9427
|
ref: o,
|
|
9365
9428
|
className: "dc:absolute dc:top-full dc:left-0 dc:mt-1 dc:z-50 dc:border dc:rounded-lg dc:shadow-lg dc:p-3 dc:min-w-[220px]",
|
|
@@ -9376,7 +9439,7 @@ var No = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
9376
9439
|
}),
|
|
9377
9440
|
/* @__PURE__ */ X("div", {
|
|
9378
9441
|
className: "dc:min-w-[180px]",
|
|
9379
|
-
children: /* @__PURE__ */ X(
|
|
9442
|
+
children: /* @__PURE__ */ X(Lo, {
|
|
9380
9443
|
fieldName: e.member,
|
|
9381
9444
|
operator: e.operator,
|
|
9382
9445
|
values: e.values || [],
|
|
@@ -9401,8 +9464,8 @@ var No = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
9401
9464
|
})
|
|
9402
9465
|
]
|
|
9403
9466
|
});
|
|
9404
|
-
},
|
|
9405
|
-
let [o, s] = J(!1), c = q(null), l = e.filter, { label: u } = e, { operator: d, values: f } = l, p =
|
|
9467
|
+
}, Bo = v("close"), Vo = v("edit"), Ho = ({ filter: e, schema: t, isEditMode: n, onChange: r, onEdit: i, onRemove: a }) => {
|
|
9468
|
+
let [o, s] = J(!1), c = q(null), l = e.filter, { label: u } = e, { operator: d, values: f } = l, p = mo(f || [], d), m = W((t) => {
|
|
9406
9469
|
r({
|
|
9407
9470
|
...e,
|
|
9408
9471
|
filter: {
|
|
@@ -9461,7 +9524,7 @@ var No = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
9461
9524
|
onMouseLeave: (e) => {
|
|
9462
9525
|
e.currentTarget.style.color = "var(--dc-text-secondary)";
|
|
9463
9526
|
},
|
|
9464
|
-
children: /* @__PURE__ */ X(
|
|
9527
|
+
children: /* @__PURE__ */ X(Vo, { className: "dc:w-3 dc:h-3" })
|
|
9465
9528
|
}), /* @__PURE__ */ X("button", {
|
|
9466
9529
|
type: "button",
|
|
9467
9530
|
onClick: (e) => {
|
|
@@ -9475,10 +9538,10 @@ var No = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
9475
9538
|
onMouseLeave: (e) => {
|
|
9476
9539
|
e.currentTarget.style.color = "var(--dc-text-secondary)";
|
|
9477
9540
|
},
|
|
9478
|
-
children: /* @__PURE__ */ X(
|
|
9541
|
+
children: /* @__PURE__ */ X(Bo, { className: "dc:w-3 dc:h-3" })
|
|
9479
9542
|
})] })
|
|
9480
9543
|
]
|
|
9481
|
-
}), o && !n && /* @__PURE__ */ X(
|
|
9544
|
+
}), o && !n && /* @__PURE__ */ X(zo, {
|
|
9482
9545
|
filter: l,
|
|
9483
9546
|
schema: t,
|
|
9484
9547
|
onValuesChange: m,
|
|
@@ -9486,8 +9549,8 @@ var No = ({ filter: e, schema: t, onValuesChange: n, onClose: r, anchorRef: i })
|
|
|
9486
9549
|
anchorRef: c
|
|
9487
9550
|
})]
|
|
9488
9551
|
}) : null;
|
|
9489
|
-
},
|
|
9490
|
-
function
|
|
9552
|
+
}, Uo = v("add"), Wo = v("timeDimension"), Go = v("chevronDown"), Ko = v("filter");
|
|
9553
|
+
function qo({ isEditMode: e, onAddFilter: t, withHoverHandlers: n }) {
|
|
9491
9554
|
return !e || !t ? null : /* @__PURE__ */ X("button", {
|
|
9492
9555
|
type: "button",
|
|
9493
9556
|
onClick: t,
|
|
@@ -9503,11 +9566,11 @@ function Vo({ isEditMode: e, onAddFilter: t, withHoverHandlers: n }) {
|
|
|
9503
9566
|
onMouseLeave: n ? (e) => {
|
|
9504
9567
|
e.currentTarget.style.backgroundColor = "transparent";
|
|
9505
9568
|
} : void 0,
|
|
9506
|
-
children: /* @__PURE__ */ X(
|
|
9569
|
+
children: /* @__PURE__ */ X(Uo, { className: "dc:w-3.5 dc:h-3.5" })
|
|
9507
9570
|
});
|
|
9508
9571
|
}
|
|
9509
|
-
function
|
|
9510
|
-
return /* @__PURE__ */ X(Y, { children: e.map((e) => /* @__PURE__ */ X(
|
|
9572
|
+
function Jo({ nonDateFilters: e, schema: t, isEditMode: n, onEditFilter: r, onRemoveFilter: i, handleFilterChange: a }) {
|
|
9573
|
+
return /* @__PURE__ */ X(Y, { children: e.map((e) => /* @__PURE__ */ X(Ho, {
|
|
9511
9574
|
filter: e,
|
|
9512
9575
|
schema: t,
|
|
9513
9576
|
isEditMode: n,
|
|
@@ -9516,7 +9579,7 @@ function Ho({ nonDateFilters: e, schema: t, isEditMode: n, onEditFilter: r, onRe
|
|
|
9516
9579
|
onRemove: () => i?.(e.id)
|
|
9517
9580
|
}, e.id)) });
|
|
9518
9581
|
}
|
|
9519
|
-
function
|
|
9582
|
+
function Yo({ props: e, showLabel: t, withTitle: n }) {
|
|
9520
9583
|
let { t: r } = R(), { activePresetId: i, dateRangeTooltip: a, showCustomDropdown: o, setShowCustomDropdown: s, setShowXTDDropdown: c, customButtonRef: l, currentDateRange: u, handleCustomDateSelect: d } = e;
|
|
9521
9584
|
return /* @__PURE__ */ Z("div", {
|
|
9522
9585
|
className: "dc:relative",
|
|
@@ -9537,11 +9600,11 @@ function Uo({ props: e, showLabel: t, withTitle: n }) {
|
|
|
9537
9600
|
borderColor: i === "custom" ? "transparent" : "var(--dc-border)"
|
|
9538
9601
|
},
|
|
9539
9602
|
children: [
|
|
9540
|
-
/* @__PURE__ */ X(
|
|
9603
|
+
/* @__PURE__ */ X(Wo, { className: "dc:w-3 dc:h-3" }),
|
|
9541
9604
|
/* @__PURE__ */ X("span", { children: r("dateRange.custom") }),
|
|
9542
|
-
t && /* @__PURE__ */ X(
|
|
9605
|
+
t && /* @__PURE__ */ X(Go, { className: "dc:w-3 dc:h-3" })
|
|
9543
9606
|
]
|
|
9544
|
-
}), o && /* @__PURE__ */ X(
|
|
9607
|
+
}), o && /* @__PURE__ */ X(vo, {
|
|
9545
9608
|
isOpen: o,
|
|
9546
9609
|
onClose: () => s(!1),
|
|
9547
9610
|
onDateRangeChange: d,
|
|
@@ -9550,7 +9613,7 @@ function Uo({ props: e, showLabel: t, withTitle: n }) {
|
|
|
9550
9613
|
})]
|
|
9551
9614
|
});
|
|
9552
9615
|
}
|
|
9553
|
-
function
|
|
9616
|
+
function Xo({ props: e, withTitle: t }) {
|
|
9554
9617
|
let { activeXTDId: n, dateRangeTooltip: r, showXTDDropdown: i, setShowXTDDropdown: a, setShowCustomDropdown: o, xtdButtonRef: s, handleXTDSelect: c } = e;
|
|
9555
9618
|
return /* @__PURE__ */ Z("div", {
|
|
9556
9619
|
className: "dc:relative",
|
|
@@ -9570,8 +9633,8 @@ function Wo({ props: e, withTitle: t }) {
|
|
|
9570
9633
|
color: n ? "white" : "var(--dc-text)",
|
|
9571
9634
|
borderColor: n ? "transparent" : "var(--dc-border)"
|
|
9572
9635
|
},
|
|
9573
|
-
children: [/* @__PURE__ */ X("span", { children: "XTD" }), /* @__PURE__ */ X(
|
|
9574
|
-
}), i && /* @__PURE__ */ X(
|
|
9636
|
+
children: [/* @__PURE__ */ X("span", { children: "XTD" }), /* @__PURE__ */ X(Go, { className: "dc:w-3 dc:h-3" })]
|
|
9637
|
+
}), i && /* @__PURE__ */ X(bo, {
|
|
9575
9638
|
isOpen: i,
|
|
9576
9639
|
onClose: () => a(!1),
|
|
9577
9640
|
onSelect: c,
|
|
@@ -9580,25 +9643,25 @@ function Wo({ props: e, withTitle: t }) {
|
|
|
9580
9643
|
})]
|
|
9581
9644
|
});
|
|
9582
9645
|
}
|
|
9583
|
-
function
|
|
9646
|
+
function Zo(e) {
|
|
9584
9647
|
let { activePresetId: t, activeXTDId: n, nonDateFilters: r, handlePresetSelect: i, isEditMode: a, onAddFilter: o } = e;
|
|
9585
9648
|
return /* @__PURE__ */ Z("div", {
|
|
9586
9649
|
className: "dc:hidden dc:md:flex dc:items-center dc:gap-2 dc:px-3 dc:py-2",
|
|
9587
9650
|
children: [
|
|
9588
|
-
/* @__PURE__ */ X(
|
|
9651
|
+
/* @__PURE__ */ X(Ko, {
|
|
9589
9652
|
className: "dc:w-4 dc:h-4 dc:shrink-0",
|
|
9590
9653
|
style: { color: "var(--dc-text-secondary)" }
|
|
9591
9654
|
}),
|
|
9592
|
-
/* @__PURE__ */ X(
|
|
9655
|
+
/* @__PURE__ */ X(go, {
|
|
9593
9656
|
activePreset: t !== "custom" && !n ? t : null,
|
|
9594
9657
|
onPresetSelect: i
|
|
9595
9658
|
}),
|
|
9596
|
-
/* @__PURE__ */ X(
|
|
9659
|
+
/* @__PURE__ */ X(Yo, {
|
|
9597
9660
|
props: e,
|
|
9598
9661
|
showLabel: !0,
|
|
9599
9662
|
withTitle: !0
|
|
9600
9663
|
}),
|
|
9601
|
-
/* @__PURE__ */ X(
|
|
9664
|
+
/* @__PURE__ */ X(Xo, {
|
|
9602
9665
|
props: e,
|
|
9603
9666
|
withTitle: !0
|
|
9604
9667
|
}),
|
|
@@ -9608,9 +9671,9 @@ function Go(e) {
|
|
|
9608
9671
|
}),
|
|
9609
9672
|
/* @__PURE__ */ X("div", {
|
|
9610
9673
|
className: "dc:flex dc:items-center dc:gap-1.5 dc:flex-wrap",
|
|
9611
|
-
children: /* @__PURE__ */ X(
|
|
9674
|
+
children: /* @__PURE__ */ X(Jo, { ...e })
|
|
9612
9675
|
}),
|
|
9613
|
-
/* @__PURE__ */ X(
|
|
9676
|
+
/* @__PURE__ */ X(qo, {
|
|
9614
9677
|
isEditMode: a,
|
|
9615
9678
|
onAddFilter: o,
|
|
9616
9679
|
withHoverHandlers: !0
|
|
@@ -9618,17 +9681,17 @@ function Go(e) {
|
|
|
9618
9681
|
]
|
|
9619
9682
|
});
|
|
9620
9683
|
}
|
|
9621
|
-
function
|
|
9684
|
+
function Qo(e) {
|
|
9622
9685
|
let { activePresetId: t, activeXTDId: n, nonDateFilters: r, handlePresetSelect: i, isEditMode: a, onAddFilter: o } = e;
|
|
9623
9686
|
return /* @__PURE__ */ Z("div", {
|
|
9624
9687
|
className: "dc:md:hidden",
|
|
9625
9688
|
children: [
|
|
9626
9689
|
/* @__PURE__ */ Z("div", {
|
|
9627
9690
|
className: "dc:flex dc:items-center dc:gap-2 dc:overflow-x-auto dc:px-3 dc:py-2 scrollbar-thin",
|
|
9628
|
-
children: [/* @__PURE__ */ X(
|
|
9691
|
+
children: [/* @__PURE__ */ X(Ko, {
|
|
9629
9692
|
className: "dc:w-4 dc:h-4 dc:shrink-0",
|
|
9630
9693
|
style: { color: "var(--dc-text-secondary)" }
|
|
9631
|
-
}), /* @__PURE__ */ X(
|
|
9694
|
+
}), /* @__PURE__ */ X(go, {
|
|
9632
9695
|
activePreset: t !== "custom" && !n ? t : null,
|
|
9633
9696
|
onPresetSelect: i
|
|
9634
9697
|
})]
|
|
@@ -9638,15 +9701,15 @@ function Ko(e) {
|
|
|
9638
9701
|
style: { borderColor: "var(--dc-border)" },
|
|
9639
9702
|
children: [/* @__PURE__ */ Z("div", {
|
|
9640
9703
|
className: "dc:flex dc:items-center dc:gap-2",
|
|
9641
|
-
children: [/* @__PURE__ */ X(
|
|
9704
|
+
children: [/* @__PURE__ */ X(Yo, {
|
|
9642
9705
|
props: e,
|
|
9643
9706
|
showLabel: !1,
|
|
9644
9707
|
withTitle: !1
|
|
9645
|
-
}), /* @__PURE__ */ X(
|
|
9708
|
+
}), /* @__PURE__ */ X(Xo, {
|
|
9646
9709
|
props: e,
|
|
9647
9710
|
withTitle: !1
|
|
9648
9711
|
})]
|
|
9649
|
-
}), /* @__PURE__ */ X(
|
|
9712
|
+
}), /* @__PURE__ */ X(qo, {
|
|
9650
9713
|
isEditMode: a,
|
|
9651
9714
|
onAddFilter: o,
|
|
9652
9715
|
withHoverHandlers: !1
|
|
@@ -9657,7 +9720,7 @@ function Ko(e) {
|
|
|
9657
9720
|
style: { borderColor: "var(--dc-border)" },
|
|
9658
9721
|
children: /* @__PURE__ */ X("div", {
|
|
9659
9722
|
className: "dc:flex dc:items-center dc:gap-1.5 dc:flex-wrap",
|
|
9660
|
-
children: /* @__PURE__ */ X(
|
|
9723
|
+
children: /* @__PURE__ */ X(Jo, { ...e })
|
|
9661
9724
|
})
|
|
9662
9725
|
})
|
|
9663
9726
|
]
|
|
@@ -9665,8 +9728,8 @@ function Ko(e) {
|
|
|
9665
9728
|
}
|
|
9666
9729
|
//#endregion
|
|
9667
9730
|
//#region src/client/components/DashboardFilters/CompactFilterBar.tsx
|
|
9668
|
-
var
|
|
9669
|
-
let s =
|
|
9731
|
+
var $o = ({ dashboardFilters: e, schema: t, isEditMode: n, onDashboardFiltersChange: r, onAddFilter: i, onEditFilter: a, onRemoveFilter: o }) => {
|
|
9732
|
+
let s = ho(e, r);
|
|
9670
9733
|
if (!n && s.localFilters.length === 0) return null;
|
|
9671
9734
|
let c = {
|
|
9672
9735
|
schema: t,
|
|
@@ -9696,9 +9759,9 @@ var qo = ({ dashboardFilters: e, schema: t, isEditMode: n, onDashboardFiltersCha
|
|
|
9696
9759
|
borderColor: "var(--dc-border)",
|
|
9697
9760
|
backgroundColor: "var(--dc-surface)"
|
|
9698
9761
|
},
|
|
9699
|
-
children: [/* @__PURE__ */ X(
|
|
9762
|
+
children: [/* @__PURE__ */ X(Zo, { ...c }), /* @__PURE__ */ X(Qo, { ...c })]
|
|
9700
9763
|
});
|
|
9701
|
-
},
|
|
9764
|
+
}, es = ({ dashboardFilters: e, editable: t, schema: n, dashboardConfig: r, onDashboardFiltersChange: i, onSaveFilters: a, selectedFilterId: o, onFilterSelect: s, isEditMode: c = !1 }) => {
|
|
9702
9765
|
let [l, u] = J(null), [d, f] = J(!1), p = W((e) => e ? { cubes: e.cubes.map((e) => ({
|
|
9703
9766
|
name: e.name,
|
|
9704
9767
|
title: e.title || e.name,
|
|
@@ -9787,7 +9850,7 @@ var qo = ({ dashboardFilters: e, schema: t, isEditMode: n, onDashboardFiltersCha
|
|
|
9787
9850
|
backgroundColor: "var(--dc-surface)",
|
|
9788
9851
|
boxShadow: "var(--dc-shadow-sm)"
|
|
9789
9852
|
},
|
|
9790
|
-
children: /* @__PURE__ */ X(
|
|
9853
|
+
children: /* @__PURE__ */ X(co, {
|
|
9791
9854
|
dashboardFilters: e,
|
|
9792
9855
|
onAddFilter: g,
|
|
9793
9856
|
onAddTimeFilter: _,
|
|
@@ -9796,7 +9859,7 @@ var qo = ({ dashboardFilters: e, schema: t, isEditMode: n, onDashboardFiltersCha
|
|
|
9796
9859
|
selectedFilterId: o,
|
|
9797
9860
|
onFilterSelect: s
|
|
9798
9861
|
})
|
|
9799
|
-
}) : /* @__PURE__ */ X(
|
|
9862
|
+
}) : /* @__PURE__ */ X($o, {
|
|
9800
9863
|
dashboardFilters: e,
|
|
9801
9864
|
schema: n,
|
|
9802
9865
|
isEditMode: !1,
|
|
@@ -9804,7 +9867,7 @@ var qo = ({ dashboardFilters: e, schema: t, isEditMode: n, onDashboardFiltersCha
|
|
|
9804
9867
|
onAddFilter: g,
|
|
9805
9868
|
onEditFilter: v,
|
|
9806
9869
|
onRemoveFilter: y
|
|
9807
|
-
}), d && l && /* @__PURE__ */ X(
|
|
9870
|
+
}), d && l && /* @__PURE__ */ X(to, {
|
|
9808
9871
|
filter: l,
|
|
9809
9872
|
schema: n,
|
|
9810
9873
|
dashboardConfig: r,
|
|
@@ -9815,10 +9878,10 @@ var qo = ({ dashboardFilters: e, schema: t, isEditMode: n, onDashboardFiltersCha
|
|
|
9815
9878
|
convertToMetaResponse: p
|
|
9816
9879
|
})]
|
|
9817
9880
|
});
|
|
9818
|
-
},
|
|
9819
|
-
function
|
|
9820
|
-
let { t: e } = R(), { dashboardFilters: t, editable: n, schema: r, config: i, onDashboardFiltersChange: a, onSave: o, selectedFilterId: s, selectedFilter: c, isEditMode: l, handleFilterSelect: u, handleSelectAllForFilter: d, actions: f } =
|
|
9821
|
-
return /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X(
|
|
9881
|
+
}, ts = v("filter");
|
|
9882
|
+
function ns() {
|
|
9883
|
+
let { t: e } = R(), { dashboardFilters: t, editable: n, schema: r, config: i, onDashboardFiltersChange: a, onSave: o, selectedFilterId: s, selectedFilter: c, isEditMode: l, handleFilterSelect: u, handleSelectAllForFilter: d, actions: f } = fi();
|
|
9884
|
+
return /* @__PURE__ */ Z(Y, { children: [/* @__PURE__ */ X(es, {
|
|
9822
9885
|
dashboardFilters: t || [],
|
|
9823
9886
|
editable: n,
|
|
9824
9887
|
schema: r || null,
|
|
@@ -9845,7 +9908,7 @@ function Xo() {
|
|
|
9845
9908
|
children: [/* @__PURE__ */ Z("div", {
|
|
9846
9909
|
className: "dc:flex dc:items-center dc:gap-2 dc:flex-wrap",
|
|
9847
9910
|
children: [
|
|
9848
|
-
/* @__PURE__ */ X(
|
|
9911
|
+
/* @__PURE__ */ X(ts, { className: "dc:w-5 dc:h-5 dc:shrink-0" }),
|
|
9849
9912
|
/* @__PURE__ */ X("span", {
|
|
9850
9913
|
className: "dc:font-medium",
|
|
9851
9914
|
children: e("dashboard.filterSelectionMode", { filterLabel: c.label })
|
|
@@ -9884,10 +9947,10 @@ function Xo() {
|
|
|
9884
9947
|
}
|
|
9885
9948
|
//#endregion
|
|
9886
9949
|
//#region src/client/components/mobileStackedLayout/memberDisplay.ts
|
|
9887
|
-
var
|
|
9888
|
-
function
|
|
9950
|
+
var rs = ["kpiNumber", "kpiDelta"];
|
|
9951
|
+
function is(e) {
|
|
9889
9952
|
let { portlet: t, framed: n, memberCount: r } = e, { analysisConfig: i } = Ke(t), a = i.charts[i.analysisType], o = a?.chartType || "line", s = a?.displayConfig;
|
|
9890
|
-
!n &&
|
|
9953
|
+
!n && rs.includes(o) && (s = {
|
|
9891
9954
|
...s,
|
|
9892
9955
|
layout: "compact"
|
|
9893
9956
|
});
|
|
@@ -9906,10 +9969,10 @@ function Qo(e) {
|
|
|
9906
9969
|
}
|
|
9907
9970
|
//#endregion
|
|
9908
9971
|
//#region src/client/components/MobileStackedLayout.tsx
|
|
9909
|
-
var
|
|
9910
|
-
function
|
|
9972
|
+
var as = v("refresh");
|
|
9973
|
+
function os({ config: e, colorPalette: t, dashboardFilters: n, onPortletRefresh: r }) {
|
|
9911
9974
|
let { t: i } = R(), a = q({}), [o, c] = J(null), l = q(null), u = W((e) => {
|
|
9912
|
-
l.current = e, e && c(
|
|
9975
|
+
l.current = e, e && c(li(e));
|
|
9913
9976
|
}, []), d = K(() => {
|
|
9914
9977
|
let t = new Map(e.portlets.map((e) => [e.id, e])), n = /* @__PURE__ */ new Set(), r = [];
|
|
9915
9978
|
for (let i of e.groups ?? []) {
|
|
@@ -9930,36 +9993,63 @@ function es({ config: e, colorPalette: t, dashboardFilters: n, onPortletRefresh:
|
|
|
9930
9993
|
portlet: t
|
|
9931
9994
|
});
|
|
9932
9995
|
return r.sort((e, t) => e.sort[0] === t.sort[0] ? e.sort[1] - t.sort[1] : e.sort[0] - t.sort[0]);
|
|
9933
|
-
}, [e.groups, e.portlets]), f = (
|
|
9996
|
+
}, [e.groups, e.portlets]), f = K(() => {
|
|
9997
|
+
if (e.layoutMode !== "rows") return null;
|
|
9998
|
+
let t = /* @__PURE__ */ new Map();
|
|
9999
|
+
d.forEach((e) => {
|
|
10000
|
+
t.set(e.sort[0], (t.get(e.sort[0]) ?? 0) + 1);
|
|
10001
|
+
});
|
|
10002
|
+
let n = (e) => e.kind === "portlet" && t.get(e.sort[0]) === 1 && yr(e.portlet), r = [], i = 0;
|
|
10003
|
+
for (; i < d.length;) {
|
|
10004
|
+
if (!n(d[i])) {
|
|
10005
|
+
r.push({
|
|
10006
|
+
kind: "loose",
|
|
10007
|
+
block: d[i]
|
|
10008
|
+
}), i += 1;
|
|
10009
|
+
continue;
|
|
10010
|
+
}
|
|
10011
|
+
let e = d[i], t = [];
|
|
10012
|
+
for (i += 1; i < d.length && !n(d[i]);) t.push(d[i]), i += 1;
|
|
10013
|
+
r.push(t.length === 0 ? {
|
|
10014
|
+
kind: "loose",
|
|
10015
|
+
block: e
|
|
10016
|
+
} : {
|
|
10017
|
+
kind: "section",
|
|
10018
|
+
header: e,
|
|
10019
|
+
body: t
|
|
10020
|
+
});
|
|
10021
|
+
}
|
|
10022
|
+
return r.some((e) => e.kind === "section") ? r : null;
|
|
10023
|
+
}, [d, e.layoutMode]), p = (e) => {
|
|
9934
10024
|
a.current[e]?.refresh(), r?.(e);
|
|
9935
|
-
},
|
|
9936
|
-
let
|
|
10025
|
+
}, m = (r, o, s = 1, c = !1) => {
|
|
10026
|
+
let l = is({
|
|
9937
10027
|
portlet: r,
|
|
9938
10028
|
framed: o,
|
|
9939
10029
|
memberCount: s
|
|
9940
|
-
}), { isTransparent:
|
|
10030
|
+
}), { isTransparent: u, isAutoHeight: d, shouldHideHeader: f, contentHeight: m } = l, h = u || !o || c;
|
|
9941
10031
|
return /* @__PURE__ */ Z("div", {
|
|
9942
10032
|
"data-portlet-id": r.id,
|
|
9943
|
-
className:
|
|
10033
|
+
className: h ? "dc:flex dc:flex-col" : "bg-dc-surface dc:border border-dc-border dc:rounded-lg dc:flex dc:flex-col",
|
|
9944
10034
|
style: {
|
|
9945
|
-
height:
|
|
9946
|
-
boxShadow:
|
|
9947
|
-
borderColor:
|
|
9948
|
-
borderWidth:
|
|
9949
|
-
backgroundColor:
|
|
10035
|
+
height: d ? "auto" : l.height,
|
|
10036
|
+
boxShadow: h ? "none" : "var(--dc-shadow-sm)",
|
|
10037
|
+
borderColor: u ? "transparent" : void 0,
|
|
10038
|
+
borderWidth: u ? "0" : void 0,
|
|
10039
|
+
backgroundColor: u ? "transparent" : void 0
|
|
9950
10040
|
},
|
|
9951
|
-
children: [!
|
|
9952
|
-
className:
|
|
10041
|
+
children: [!f && /* @__PURE__ */ Z("div", {
|
|
10042
|
+
className: `dc:flex dc:items-center dc:justify-between dc:px-3 dc:shrink-0${c ? " dc:py-3" : " dc:py-2 dc:border-b border-dc-border bg-dc-surface-secondary dc:rounded-t-lg"}`,
|
|
9953
10043
|
children: [/* @__PURE__ */ X("h3", {
|
|
9954
10044
|
className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate dc:flex-1",
|
|
9955
10045
|
children: r.title
|
|
9956
10046
|
}), /* @__PURE__ */ X("div", {
|
|
9957
10047
|
className: "dc:flex dc:items-center dc:gap-1 dc:shrink-0 dc:ml-2",
|
|
9958
10048
|
children: /* @__PURE__ */ X("button", {
|
|
9959
|
-
onClick: () =>
|
|
10049
|
+
onClick: () => p(r.id),
|
|
9960
10050
|
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",
|
|
9961
10051
|
title: i("dashboard.portlet.action.refresh"),
|
|
9962
|
-
children: /* @__PURE__ */ X(
|
|
10052
|
+
children: /* @__PURE__ */ X(as, { style: {
|
|
9963
10053
|
width: "16px",
|
|
9964
10054
|
height: "16px",
|
|
9965
10055
|
color: "currentColor"
|
|
@@ -9967,52 +10057,55 @@ function es({ config: e, colorPalette: t, dashboardFilters: n, onPortletRefresh:
|
|
|
9967
10057
|
})
|
|
9968
10058
|
})]
|
|
9969
10059
|
}), /* @__PURE__ */ X("div", {
|
|
9970
|
-
className: `dc:overflow-visible dc:flex dc:flex-col${
|
|
9971
|
-
style: { height:
|
|
10060
|
+
className: `dc-portlet-card-body dc:overflow-visible dc:flex dc:flex-col${u && !c ? "" : " dc:px-2 dc:py-3"}`,
|
|
10061
|
+
style: { height: d ? "auto" : m },
|
|
9972
10062
|
children: /* @__PURE__ */ X(Cn, {
|
|
9973
10063
|
ref: (e) => {
|
|
9974
10064
|
a.current[r.id] = e;
|
|
9975
10065
|
},
|
|
9976
|
-
query:
|
|
9977
|
-
chartType:
|
|
9978
|
-
chartConfig:
|
|
9979
|
-
displayConfig:
|
|
10066
|
+
query: l.query,
|
|
10067
|
+
chartType: l.chartType,
|
|
10068
|
+
chartConfig: l.chartConfig,
|
|
10069
|
+
displayConfig: l.displayConfig,
|
|
9980
10070
|
dashboardFilters: n,
|
|
9981
10071
|
dashboardFilterMapping: r.dashboardFilterMapping,
|
|
9982
10072
|
eagerLoad: r.eagerLoad ?? e.eagerLoad ?? !1,
|
|
9983
10073
|
title: r.title,
|
|
9984
|
-
height:
|
|
10074
|
+
height: d ? "auto" : m,
|
|
9985
10075
|
colorPalette: t
|
|
9986
10076
|
})
|
|
9987
10077
|
})]
|
|
9988
10078
|
}, r.id);
|
|
9989
|
-
}
|
|
10079
|
+
}, h = (e) => e.kind === "group" ? e.group.id : e.portlet.id, g = (e, t) => e.kind === "portlet" ? m(e.portlet, !0, 1, t) : /* @__PURE__ */ Z("div", {
|
|
10080
|
+
"data-group-id": e.group.id,
|
|
10081
|
+
className: `dc:flex dc:flex-col${t ? "" : " bg-dc-surface dc:border border-dc-border dc:rounded-lg"}`,
|
|
10082
|
+
style: { boxShadow: t ? "none" : "var(--dc-shadow-sm)" },
|
|
10083
|
+
children: [e.group.title && e.group.title.trim() && /* @__PURE__ */ X("div", {
|
|
10084
|
+
className: "dc:flex dc:items-center dc:px-3 dc:py-2 dc:border-b border-dc-border dc:shrink-0 bg-dc-surface-secondary dc:rounded-t-lg",
|
|
10085
|
+
children: /* @__PURE__ */ X("h3", {
|
|
10086
|
+
className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
|
|
10087
|
+
children: e.group.title
|
|
10088
|
+
})
|
|
10089
|
+
}), /* @__PURE__ */ X("div", {
|
|
10090
|
+
className: "dc:flex dc:flex-col dc:p-1 dc:gap-1",
|
|
10091
|
+
children: e.portlets.map((t) => m(t, !1, e.portlets.length))
|
|
10092
|
+
})]
|
|
10093
|
+
}, e.group.id);
|
|
9990
10094
|
return /* @__PURE__ */ X(s, {
|
|
9991
10095
|
value: o,
|
|
9992
10096
|
children: /* @__PURE__ */ X("div", {
|
|
9993
10097
|
ref: u,
|
|
9994
10098
|
className: "mobile-stacked-layout dc:space-y-4 dc:px-2",
|
|
9995
|
-
children:
|
|
9996
|
-
|
|
9997
|
-
|
|
9998
|
-
|
|
9999
|
-
children: [e.group.title && e.group.title.trim() && /* @__PURE__ */ X("div", {
|
|
10000
|
-
className: "dc:flex dc:items-center dc:px-3 dc:py-2 dc:border-b border-dc-border dc:shrink-0 bg-dc-surface-secondary dc:rounded-t-lg",
|
|
10001
|
-
children: /* @__PURE__ */ X("h3", {
|
|
10002
|
-
className: "dc:font-semibold dc:text-sm text-dc-text dc:truncate",
|
|
10003
|
-
children: e.group.title
|
|
10004
|
-
})
|
|
10005
|
-
}), /* @__PURE__ */ X("div", {
|
|
10006
|
-
className: "dc:flex dc:flex-col dc:p-1 dc:gap-1",
|
|
10007
|
-
children: e.portlets.map((t) => p(t, !1, e.portlets.length))
|
|
10008
|
-
})]
|
|
10009
|
-
}, e.group.id))
|
|
10099
|
+
children: f ? f.map((e) => e.kind === "loose" ? g(e.block, !1) : /* @__PURE__ */ Z("div", {
|
|
10100
|
+
className: `dc-dashboard-section${e.header.kind === "portlet" && Cr(e.header.portlet) ? " dc-dashboard-section-ruled" : ""}`,
|
|
10101
|
+
children: [g(e.header, !0), e.body.map((e) => g(e, !0))]
|
|
10102
|
+
}, `section-${h(e.header)}`)) : d.map((e) => g(e, !1))
|
|
10010
10103
|
})
|
|
10011
10104
|
});
|
|
10012
10105
|
}
|
|
10013
10106
|
//#endregion
|
|
10014
10107
|
//#region src/client/components/ScaledGridWrapper.tsx
|
|
10015
|
-
function
|
|
10108
|
+
function ss({ scaleFactor: e, designWidth: t, children: n }) {
|
|
10016
10109
|
let [r, i] = J(0), a = q(null);
|
|
10017
10110
|
G(() => {
|
|
10018
10111
|
if (!a.current) return;
|
|
@@ -10043,15 +10136,15 @@ function ts({ scaleFactor: e, designWidth: t, children: n }) {
|
|
|
10043
10136
|
}
|
|
10044
10137
|
//#endregion
|
|
10045
10138
|
//#region src/client/components/dashboard/DashboardGridSurface.tsx
|
|
10046
|
-
var
|
|
10047
|
-
function
|
|
10048
|
-
let { t: e } = R(), { config: t, gridContentRef: n, displayMode: r, scaleFactor: i, designWidth: a, colorPalette: o, dashboardFilters: s, handlePortletRefresh: c, renderActiveLayout: l, editable: u, handleAddText: d, handleAddPortlet: f } =
|
|
10139
|
+
var cs = v("measure"), ls = v("add");
|
|
10140
|
+
function us() {
|
|
10141
|
+
let { t: e } = R(), { config: t, gridContentRef: n, displayMode: r, scaleFactor: i, designWidth: a, colorPalette: o, dashboardFilters: s, handlePortletRefresh: c, renderActiveLayout: l, editable: u, handleAddText: d, handleAddPortlet: f } = fi();
|
|
10049
10142
|
return !t.portlets || t.portlets.length === 0 ? /* @__PURE__ */ X("div", {
|
|
10050
10143
|
className: "dc:flex dc:justify-center dc:items-center dc:min-h-[50vh]",
|
|
10051
10144
|
children: /* @__PURE__ */ Z("div", {
|
|
10052
10145
|
className: "dc:text-center",
|
|
10053
10146
|
children: [
|
|
10054
|
-
/* @__PURE__ */ X(
|
|
10147
|
+
/* @__PURE__ */ X(cs, { style: {
|
|
10055
10148
|
width: "64px",
|
|
10056
10149
|
height: "64px",
|
|
10057
10150
|
color: "var(--dc-text-muted)",
|
|
@@ -10076,7 +10169,7 @@ function is() {
|
|
|
10076
10169
|
},
|
|
10077
10170
|
onMouseEnter: (e) => e.currentTarget.style.backgroundColor = "var(--dc-surface-hover)",
|
|
10078
10171
|
onMouseLeave: (e) => e.currentTarget.style.backgroundColor = "var(--dc-surface)",
|
|
10079
|
-
children: [/* @__PURE__ */ X(
|
|
10172
|
+
children: [/* @__PURE__ */ X(ui, { className: "dc:w-5 dc:h-5 dc:mr-2" }), e("dashboard.addText")]
|
|
10080
10173
|
}), /* @__PURE__ */ Z("button", {
|
|
10081
10174
|
onClick: f,
|
|
10082
10175
|
className: "dc:inline-flex dc:items-center dc:px-4 dc:py-2 dc:border border-dc-border bg-dc-surface dc:rounded-md focus:outline-hidden dc:focus:ring-2",
|
|
@@ -10086,19 +10179,19 @@ function is() {
|
|
|
10086
10179
|
},
|
|
10087
10180
|
onMouseEnter: (e) => e.currentTarget.style.backgroundColor = "var(--dc-surface-hover)",
|
|
10088
10181
|
onMouseLeave: (e) => e.currentTarget.style.backgroundColor = "var(--dc-surface)",
|
|
10089
|
-
children: [/* @__PURE__ */ X(
|
|
10182
|
+
children: [/* @__PURE__ */ X(ls, { className: "dc:w-5 dc:h-5 dc:mr-2" }), e("dashboard.addPortlet")]
|
|
10090
10183
|
})]
|
|
10091
10184
|
})
|
|
10092
10185
|
]
|
|
10093
10186
|
})
|
|
10094
10187
|
}) : /* @__PURE__ */ X("div", {
|
|
10095
10188
|
ref: n,
|
|
10096
|
-
children: r === "mobile" ? /* @__PURE__ */ X(
|
|
10189
|
+
children: r === "mobile" ? /* @__PURE__ */ X(os, {
|
|
10097
10190
|
config: t,
|
|
10098
10191
|
colorPalette: o,
|
|
10099
10192
|
dashboardFilters: s,
|
|
10100
10193
|
onPortletRefresh: c
|
|
10101
|
-
}) : r === "scaled" ? /* @__PURE__ */ X(
|
|
10194
|
+
}) : r === "scaled" ? /* @__PURE__ */ X(ss, {
|
|
10102
10195
|
scaleFactor: i,
|
|
10103
10196
|
designWidth: a,
|
|
10104
10197
|
children: l()
|
|
@@ -10107,7 +10200,7 @@ function is() {
|
|
|
10107
10200
|
}
|
|
10108
10201
|
//#endregion
|
|
10109
10202
|
//#region src/client/components/Modal.tsx
|
|
10110
|
-
var
|
|
10203
|
+
var ds = ({ isOpen: e, onClose: t, title: n, size: r = "md", closeOnBackdropClick: i = !0, closeOnEscape: a = !0, showCloseButton: o = !0, children: s, footer: c, noPadding: l = !1 }) => {
|
|
10111
10204
|
let u = W((e) => {
|
|
10112
10205
|
e.key === "Escape" && a && t();
|
|
10113
10206
|
}, [a, t]);
|
|
@@ -10178,20 +10271,20 @@ var as = ({ isOpen: e, onClose: t, title: n, size: r = "md", closeOnBackdropClic
|
|
|
10178
10271
|
]
|
|
10179
10272
|
})
|
|
10180
10273
|
}) : null;
|
|
10181
|
-
},
|
|
10274
|
+
}, fs = he(() => import("./analysis-builder-DnDw164v.js")), ps = me((e, t) => /* @__PURE__ */ X(V, {
|
|
10182
10275
|
fallback: /* @__PURE__ */ X("div", {
|
|
10183
10276
|
className: "dc:flex dc:items-center dc:justify-center dc:w-full dc:py-6",
|
|
10184
10277
|
children: /* @__PURE__ */ X(ie, {})
|
|
10185
10278
|
}),
|
|
10186
|
-
children: /* @__PURE__ */ X(
|
|
10279
|
+
children: /* @__PURE__ */ X(fs, {
|
|
10187
10280
|
...e,
|
|
10188
10281
|
ref: t
|
|
10189
10282
|
})
|
|
10190
10283
|
}));
|
|
10191
|
-
|
|
10284
|
+
ps.displayName = "AnalysisBuilder";
|
|
10192
10285
|
//#endregion
|
|
10193
10286
|
//#region src/client/adapters/funnelModeAdapter.ts
|
|
10194
|
-
function
|
|
10287
|
+
function ms(e) {
|
|
10195
10288
|
let t = "";
|
|
10196
10289
|
e.funnelBindingKey && (typeof e.funnelBindingKey.dimension == "string" ? t = e.funnelBindingKey.dimension : Array.isArray(e.funnelBindingKey.dimension) && (t = e.funnelBindingKey.dimension.map((e) => ({
|
|
10197
10290
|
cube: e.cube,
|
|
@@ -10208,7 +10301,7 @@ function cs(e) {
|
|
|
10208
10301
|
includeTimeMetrics: !0
|
|
10209
10302
|
} };
|
|
10210
10303
|
}
|
|
10211
|
-
function
|
|
10304
|
+
function hs(e) {
|
|
10212
10305
|
let { funnel: t } = e, n = null;
|
|
10213
10306
|
if (t.steps.length > 0 && t.steps[0].cube) n = t.steps[0].cube;
|
|
10214
10307
|
else if (typeof t.bindingKey == "string") {
|
|
@@ -10225,7 +10318,7 @@ function ls(e) {
|
|
|
10225
10318
|
let a = t.steps.map((e) => {
|
|
10226
10319
|
let t = [];
|
|
10227
10320
|
return e.filter && (t = Array.isArray(e.filter) ? e.filter : typeof e.filter == "object" && "and" in e.filter ? e.filter.and : [e.filter]), {
|
|
10228
|
-
id:
|
|
10321
|
+
id: Ki(),
|
|
10229
10322
|
name: e.name,
|
|
10230
10323
|
cube: e.cube || n || "",
|
|
10231
10324
|
filters: t,
|
|
@@ -10240,14 +10333,14 @@ function ls(e) {
|
|
|
10240
10333
|
funnelBindingKey: r
|
|
10241
10334
|
};
|
|
10242
10335
|
}
|
|
10243
|
-
function
|
|
10336
|
+
function gs(e) {
|
|
10244
10337
|
if (!e || typeof e != "object") return !1;
|
|
10245
10338
|
let t = e;
|
|
10246
10339
|
if (t.version !== 1 || t.analysisType !== "funnel" || !t.query || typeof t.query != "object") return !1;
|
|
10247
10340
|
let n = t.query;
|
|
10248
10341
|
return !(!n.funnel || typeof n.funnel != "object");
|
|
10249
10342
|
}
|
|
10250
|
-
var
|
|
10343
|
+
var _s = {
|
|
10251
10344
|
type: "funnel",
|
|
10252
10345
|
createInitial() {
|
|
10253
10346
|
return {
|
|
@@ -10268,11 +10361,11 @@ var ds = {
|
|
|
10268
10361
|
};
|
|
10269
10362
|
},
|
|
10270
10363
|
canLoad(e) {
|
|
10271
|
-
return
|
|
10364
|
+
return gs(e);
|
|
10272
10365
|
},
|
|
10273
10366
|
load(e) {
|
|
10274
10367
|
if (e.analysisType !== "funnel") throw Error(`Cannot load ${e.analysisType} config with funnel adapter`);
|
|
10275
|
-
return
|
|
10368
|
+
return hs(e.query);
|
|
10276
10369
|
},
|
|
10277
10370
|
save(e, t, n) {
|
|
10278
10371
|
return {
|
|
@@ -10280,7 +10373,7 @@ var ds = {
|
|
|
10280
10373
|
analysisType: "funnel",
|
|
10281
10374
|
activeView: n,
|
|
10282
10375
|
charts: { funnel: t.funnel || this.getDefaultChartConfig() },
|
|
10283
|
-
query:
|
|
10376
|
+
query: ms(e)
|
|
10284
10377
|
};
|
|
10285
10378
|
},
|
|
10286
10379
|
validate(e) {
|
|
@@ -10315,7 +10408,7 @@ var ds = {
|
|
|
10315
10408
|
};
|
|
10316
10409
|
//#endregion
|
|
10317
10410
|
//#region src/client/adapters/flowModeAdapter.ts
|
|
10318
|
-
function
|
|
10411
|
+
function vs(e) {
|
|
10319
10412
|
let t = "";
|
|
10320
10413
|
return e.flowBindingKey && (typeof e.flowBindingKey.dimension == "string" ? t = e.flowBindingKey.dimension : Array.isArray(e.flowBindingKey.dimension) && (t = e.flowBindingKey.dimension.map((e) => ({
|
|
10321
10414
|
cube: e.cube,
|
|
@@ -10333,7 +10426,7 @@ function fs(e) {
|
|
|
10333
10426
|
joinStrategy: e.joinStrategy
|
|
10334
10427
|
} };
|
|
10335
10428
|
}
|
|
10336
|
-
function
|
|
10429
|
+
function ys(e) {
|
|
10337
10430
|
let { flow: t } = e, n = null;
|
|
10338
10431
|
if (typeof t.bindingKey == "string") {
|
|
10339
10432
|
let e = t.bindingKey.split(".");
|
|
@@ -10361,14 +10454,14 @@ function ps(e) {
|
|
|
10361
10454
|
joinStrategy: t.joinStrategy || "auto"
|
|
10362
10455
|
};
|
|
10363
10456
|
}
|
|
10364
|
-
function
|
|
10457
|
+
function bs(e) {
|
|
10365
10458
|
if (!e || typeof e != "object") return !1;
|
|
10366
10459
|
let t = e;
|
|
10367
10460
|
if (t.version !== 1 || t.analysisType !== "flow" || !t.query || typeof t.query != "object") return !1;
|
|
10368
10461
|
let n = t.query;
|
|
10369
10462
|
return !(!n.flow || typeof n.flow != "object");
|
|
10370
10463
|
}
|
|
10371
|
-
var
|
|
10464
|
+
var xs = {
|
|
10372
10465
|
type: "flow",
|
|
10373
10466
|
createInitial() {
|
|
10374
10467
|
return {
|
|
@@ -10398,11 +10491,11 @@ var hs = {
|
|
|
10398
10491
|
};
|
|
10399
10492
|
},
|
|
10400
10493
|
canLoad(e) {
|
|
10401
|
-
return
|
|
10494
|
+
return bs(e);
|
|
10402
10495
|
},
|
|
10403
10496
|
load(e) {
|
|
10404
10497
|
if (e.analysisType !== "flow") throw Error(`Cannot load ${e.analysisType} config with flow adapter`);
|
|
10405
|
-
return
|
|
10498
|
+
return ys(e.query);
|
|
10406
10499
|
},
|
|
10407
10500
|
save(e, t, n) {
|
|
10408
10501
|
return {
|
|
@@ -10410,7 +10503,7 @@ var hs = {
|
|
|
10410
10503
|
analysisType: "flow",
|
|
10411
10504
|
activeView: n,
|
|
10412
10505
|
charts: { flow: t.flow || this.getDefaultChartConfig() },
|
|
10413
|
-
query:
|
|
10506
|
+
query: vs(e)
|
|
10414
10507
|
};
|
|
10415
10508
|
},
|
|
10416
10509
|
validate(e) {
|
|
@@ -10445,7 +10538,7 @@ var hs = {
|
|
|
10445
10538
|
};
|
|
10446
10539
|
//#endregion
|
|
10447
10540
|
//#region src/client/adapters/retentionModeAdapter.ts
|
|
10448
|
-
function
|
|
10541
|
+
function Ss(e) {
|
|
10449
10542
|
let t = "";
|
|
10450
10543
|
e.retentionBindingKey && (typeof e.retentionBindingKey.dimension == "string" ? t = e.retentionBindingKey.dimension : Array.isArray(e.retentionBindingKey.dimension) && (t = e.retentionBindingKey.dimension.map((e) => ({
|
|
10451
10544
|
cube: e.cube,
|
|
@@ -10461,7 +10554,7 @@ function gs(e) {
|
|
|
10461
10554
|
} };
|
|
10462
10555
|
return e.retentionCohortFilters.length > 0 && (n.retention.cohortFilters = e.retentionCohortFilters.length === 1 ? e.retentionCohortFilters[0] : e.retentionCohortFilters), e.retentionActivityFilters.length > 0 && (n.retention.activityFilters = e.retentionActivityFilters.length === 1 ? e.retentionActivityFilters[0] : e.retentionActivityFilters), e.retentionBreakdowns && e.retentionBreakdowns.length > 0 && (n.retention.breakdownDimensions = e.retentionBreakdowns.map((e) => e.field)), n;
|
|
10463
10556
|
}
|
|
10464
|
-
function
|
|
10557
|
+
function Cs(e) {
|
|
10465
10558
|
let { retention: t } = e, n = null;
|
|
10466
10559
|
if (typeof t.timeDimension == "string") {
|
|
10467
10560
|
let e = t.timeDimension.split(".");
|
|
@@ -10497,14 +10590,14 @@ function _s(e) {
|
|
|
10497
10590
|
retentionBreakdowns: s
|
|
10498
10591
|
};
|
|
10499
10592
|
}
|
|
10500
|
-
function
|
|
10593
|
+
function ws(e) {
|
|
10501
10594
|
if (!e || typeof e != "object") return !1;
|
|
10502
10595
|
let t = e;
|
|
10503
10596
|
if (t.version !== 1 || t.analysisType !== "retention" || !t.query || typeof t.query != "object") return !1;
|
|
10504
10597
|
let n = t.query;
|
|
10505
10598
|
return !(!n.retention || typeof n.retention != "object");
|
|
10506
10599
|
}
|
|
10507
|
-
var
|
|
10600
|
+
var Ts = {
|
|
10508
10601
|
type: "retention",
|
|
10509
10602
|
createInitial() {
|
|
10510
10603
|
return { ...b };
|
|
@@ -10524,11 +10617,11 @@ var ys = {
|
|
|
10524
10617
|
};
|
|
10525
10618
|
},
|
|
10526
10619
|
canLoad(e) {
|
|
10527
|
-
return
|
|
10620
|
+
return ws(e);
|
|
10528
10621
|
},
|
|
10529
10622
|
load(e) {
|
|
10530
10623
|
if (e.analysisType !== "retention") throw Error(`Cannot load ${e.analysisType} config with retention adapter`);
|
|
10531
|
-
return
|
|
10624
|
+
return Cs(e.query);
|
|
10532
10625
|
},
|
|
10533
10626
|
save(e, t, n) {
|
|
10534
10627
|
return {
|
|
@@ -10536,7 +10629,7 @@ var ys = {
|
|
|
10536
10629
|
analysisType: "retention",
|
|
10537
10630
|
activeView: n,
|
|
10538
10631
|
charts: { retention: t.retention || this.getDefaultChartConfig() },
|
|
10539
|
-
query:
|
|
10632
|
+
query: Ss(e)
|
|
10540
10633
|
};
|
|
10541
10634
|
},
|
|
10542
10635
|
validate(e) {
|
|
@@ -10574,13 +10667,13 @@ var ys = {
|
|
|
10574
10667
|
};
|
|
10575
10668
|
//#endregion
|
|
10576
10669
|
//#region src/client/components/portletAnalysisModal/saveValidation.ts
|
|
10577
|
-
function
|
|
10578
|
-
return "flow" in e && e.flow ? !!(e.flow.bindingKey && e.flow.timeDimension && e.flow.eventDimension && e.flow.startingStep?.filter) : "retention" in e && e.retention ? !!(e.retention.bindingKey && e.retention.timeDimension && e.retention.dateRange?.start && e.retention.dateRange?.end) : "funnel" in e && e.funnel ? !!(e.funnel.steps && e.funnel.steps.length >= 2) : "queries" in e ?
|
|
10670
|
+
function Es(e) {
|
|
10671
|
+
return "flow" in e && e.flow ? !!(e.flow.bindingKey && e.flow.timeDimension && e.flow.eventDimension && e.flow.startingStep?.filter) : "retention" in e && e.retention ? !!(e.retention.bindingKey && e.retention.timeDimension && e.retention.dateRange?.start && e.retention.dateRange?.end) : "funnel" in e && e.funnel ? !!(e.funnel.steps && e.funnel.steps.length >= 2) : "queries" in e ? Ds(e.queries[0]) : Ds(e);
|
|
10579
10672
|
}
|
|
10580
|
-
function
|
|
10673
|
+
function Ds(e) {
|
|
10581
10674
|
return !!(e?.measures && e.measures.length > 0 || e?.dimensions && e.dimensions.length > 0 || e?.timeDimensions && e.timeDimensions.length > 0);
|
|
10582
10675
|
}
|
|
10583
|
-
function
|
|
10676
|
+
function Os(e) {
|
|
10584
10677
|
switch (e) {
|
|
10585
10678
|
case "flow": return "Please configure the flow analysis (binding key, time dimension, event dimension, and starting step filter).";
|
|
10586
10679
|
case "retention": return "Please configure the retention analysis (binding key, time dimension, and date range).";
|
|
@@ -10590,7 +10683,7 @@ function Ss(e) {
|
|
|
10590
10683
|
}
|
|
10591
10684
|
//#endregion
|
|
10592
10685
|
//#region src/client/components/PortletAnalysisModal.tsx
|
|
10593
|
-
function
|
|
10686
|
+
function ks({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, title: a, submitText: o, colorPalette: s }) {
|
|
10594
10687
|
let { t: c } = R(), l = q(null), [u, d] = J(""), f = K(() => r ? Ke(r).analysisConfig : null, [r]), p = K(() => {
|
|
10595
10688
|
if (!f) return;
|
|
10596
10689
|
let e = f.query;
|
|
@@ -10615,7 +10708,7 @@ function Cs({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
10615
10708
|
funnelDisplayConfig: r.funnelDisplayConfig
|
|
10616
10709
|
};
|
|
10617
10710
|
if (f.query && "funnel" in f.query) {
|
|
10618
|
-
let e =
|
|
10711
|
+
let e = _s.load(f), t = f.charts?.funnel;
|
|
10619
10712
|
return {
|
|
10620
10713
|
...e,
|
|
10621
10714
|
funnelChartType: t?.chartType,
|
|
@@ -10626,7 +10719,7 @@ function Cs({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
10626
10719
|
}
|
|
10627
10720
|
}, [f, r]), _ = K(() => {
|
|
10628
10721
|
if (f?.analysisType === "flow" && f.query && "flow" in f.query) {
|
|
10629
|
-
let e =
|
|
10722
|
+
let e = xs.load(f), t = f.charts?.flow;
|
|
10630
10723
|
return {
|
|
10631
10724
|
...e,
|
|
10632
10725
|
flowChartType: t?.chartType,
|
|
@@ -10636,7 +10729,7 @@ function Cs({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
10636
10729
|
}
|
|
10637
10730
|
}, [f]), v = K(() => {
|
|
10638
10731
|
if (f?.analysisType === "retention" && f.query && "retention" in f.query) {
|
|
10639
|
-
let e =
|
|
10732
|
+
let e = Ts.load(f), t = f.charts?.retention;
|
|
10640
10733
|
return {
|
|
10641
10734
|
...e,
|
|
10642
10735
|
retentionChartType: t?.chartType,
|
|
@@ -10659,8 +10752,8 @@ function Cs({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
10659
10752
|
return;
|
|
10660
10753
|
}
|
|
10661
10754
|
let { query: i, analysisType: a } = e;
|
|
10662
|
-
if (!
|
|
10663
|
-
alert(
|
|
10755
|
+
if (!Es(i)) {
|
|
10756
|
+
alert(Os(a));
|
|
10664
10757
|
return;
|
|
10665
10758
|
}
|
|
10666
10759
|
n({
|
|
@@ -10690,7 +10783,7 @@ function Cs({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
10690
10783
|
className: "dc:px-4 dc:py-2 dc:text-sm dc:font-medium text-white bg-dc-accent hover:bg-dc-accent-hover dc:rounded-md dc:transition-colors",
|
|
10691
10784
|
children: o
|
|
10692
10785
|
})] });
|
|
10693
|
-
return /* @__PURE__ */ X(
|
|
10786
|
+
return /* @__PURE__ */ X(ds, {
|
|
10694
10787
|
isOpen: e,
|
|
10695
10788
|
onClose: t,
|
|
10696
10789
|
title: a,
|
|
@@ -10723,7 +10816,7 @@ function Cs({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
10723
10816
|
})
|
|
10724
10817
|
}), /* @__PURE__ */ X("div", {
|
|
10725
10818
|
className: "dc:flex-1 dc:min-h-0",
|
|
10726
|
-
children: /* @__PURE__ */ X(
|
|
10819
|
+
children: /* @__PURE__ */ X(ps, {
|
|
10727
10820
|
ref: l,
|
|
10728
10821
|
maxHeight: "100%",
|
|
10729
10822
|
initialQuery: p,
|
|
@@ -10743,7 +10836,7 @@ function Cs({ isOpen: e, onClose: t, onSave: n, portlet: r, initialData: i, titl
|
|
|
10743
10836
|
}
|
|
10744
10837
|
//#endregion
|
|
10745
10838
|
//#region src/client/components/AnalysisBuilder/StringArrayInput.tsx
|
|
10746
|
-
function
|
|
10839
|
+
function As({ label: e, value: t, onChange: n, placeholder: r, description: i }) {
|
|
10747
10840
|
let [a, o] = J(() => t.join("\n"));
|
|
10748
10841
|
G(() => {
|
|
10749
10842
|
o(t.join("\n"));
|
|
@@ -10775,13 +10868,13 @@ function ws({ label: e, value: t, onChange: n, placeholder: r, description: i })
|
|
|
10775
10868
|
}
|
|
10776
10869
|
//#endregion
|
|
10777
10870
|
//#region src/client/components/AnalysisBuilder/ColumnFormatsEditor.tsx
|
|
10778
|
-
var
|
|
10871
|
+
var js = [
|
|
10779
10872
|
"text",
|
|
10780
10873
|
"number",
|
|
10781
10874
|
"date",
|
|
10782
10875
|
"badge",
|
|
10783
10876
|
"progress"
|
|
10784
|
-
],
|
|
10877
|
+
], Ms = ["bar", "circle"], Ns = [
|
|
10785
10878
|
"hour",
|
|
10786
10879
|
"day",
|
|
10787
10880
|
"week",
|
|
@@ -10789,7 +10882,7 @@ var Ts = [
|
|
|
10789
10882
|
"quarter",
|
|
10790
10883
|
"year"
|
|
10791
10884
|
];
|
|
10792
|
-
function
|
|
10885
|
+
function Ps({ value: e, chartConfig: t, colorPalette: n, onChange: r, t: i }) {
|
|
10793
10886
|
let { getFieldLabel: a } = L(), [o, s] = J(null), c = t?.columns ?? [];
|
|
10794
10887
|
if (c.length === 0) return /* @__PURE__ */ X("p", {
|
|
10795
10888
|
className: "dc:text-xs text-dc-text-muted",
|
|
@@ -10801,7 +10894,7 @@ function Os({ value: e, chartConfig: t, colorPalette: n, onChange: r, t: i }) {
|
|
|
10801
10894
|
};
|
|
10802
10895
|
return /* @__PURE__ */ X("div", {
|
|
10803
10896
|
className: "dc:space-y-1",
|
|
10804
|
-
children: c.map((t) => /* @__PURE__ */ X(
|
|
10897
|
+
children: c.map((t) => /* @__PURE__ */ X(Fs, {
|
|
10805
10898
|
column: t,
|
|
10806
10899
|
format: e[t] ?? { kind: "text" },
|
|
10807
10900
|
fallbackLabel: a(t),
|
|
@@ -10813,7 +10906,7 @@ function Os({ value: e, chartConfig: t, colorPalette: n, onChange: r, t: i }) {
|
|
|
10813
10906
|
}, t))
|
|
10814
10907
|
});
|
|
10815
10908
|
}
|
|
10816
|
-
function
|
|
10909
|
+
function Fs({ format: e, fallbackLabel: t, isOpen: n, colorPalette: r, onToggle: i, onChange: a, t: o }) {
|
|
10817
10910
|
return /* @__PURE__ */ Z("div", {
|
|
10818
10911
|
className: "dc:border border-dc-border dc:rounded-sm",
|
|
10819
10912
|
children: [/* @__PURE__ */ Z("button", {
|
|
@@ -10830,7 +10923,7 @@ function ks({ format: e, fallbackLabel: t, isOpen: n, colorPalette: r, onToggle:
|
|
|
10830
10923
|
}), n && /* @__PURE__ */ Z("div", {
|
|
10831
10924
|
className: "dc:px-2 dc:py-2 dc:space-y-2 dc:border-t border-dc-border",
|
|
10832
10925
|
children: [
|
|
10833
|
-
/* @__PURE__ */ X(
|
|
10926
|
+
/* @__PURE__ */ X(Rs, {
|
|
10834
10927
|
kind: e.kind,
|
|
10835
10928
|
onSelect: (t) => a({
|
|
10836
10929
|
...e,
|
|
@@ -10838,7 +10931,7 @@ function ks({ format: e, fallbackLabel: t, isOpen: n, colorPalette: r, onToggle:
|
|
|
10838
10931
|
}),
|
|
10839
10932
|
t: o
|
|
10840
10933
|
}),
|
|
10841
|
-
/* @__PURE__ */ X(
|
|
10934
|
+
/* @__PURE__ */ X(Is, {
|
|
10842
10935
|
format: e,
|
|
10843
10936
|
colorPalette: r,
|
|
10844
10937
|
onChange: a,
|
|
@@ -10864,7 +10957,7 @@ function ks({ format: e, fallbackLabel: t, isOpen: n, colorPalette: r, onToggle:
|
|
|
10864
10957
|
})]
|
|
10865
10958
|
});
|
|
10866
10959
|
}
|
|
10867
|
-
function
|
|
10960
|
+
function Is({ format: e, colorPalette: t, onChange: n, t: r }) {
|
|
10868
10961
|
return e.kind === "number" ? /* @__PURE__ */ X(ce, {
|
|
10869
10962
|
axisLabel: r("chart.recordsTable.columnFormats.numberFormat"),
|
|
10870
10963
|
value: e.numberFormat ?? {},
|
|
@@ -10885,23 +10978,23 @@ function As({ format: e, colorPalette: t, onChange: n, t: r }) {
|
|
|
10885
10978
|
dateGranularity: t.target.value
|
|
10886
10979
|
}),
|
|
10887
10980
|
className: "dc:w-full dc:px-2 dc:py-1 dc:text-sm dc:border border-dc-border dc:rounded-sm bg-dc-surface text-dc-text",
|
|
10888
|
-
children:
|
|
10981
|
+
children: Ns.map((e) => /* @__PURE__ */ X("option", {
|
|
10889
10982
|
value: e,
|
|
10890
10983
|
children: r(`timeGranularity.${e}`)
|
|
10891
10984
|
}, e))
|
|
10892
10985
|
})]
|
|
10893
|
-
}) : e.kind === "badge" ? /* @__PURE__ */ X(
|
|
10986
|
+
}) : e.kind === "badge" ? /* @__PURE__ */ X(Bs, {
|
|
10894
10987
|
format: e,
|
|
10895
10988
|
colorPalette: t,
|
|
10896
10989
|
onChange: n,
|
|
10897
10990
|
t: r
|
|
10898
|
-
}) : e.kind === "progress" ? /* @__PURE__ */ X(
|
|
10991
|
+
}) : e.kind === "progress" ? /* @__PURE__ */ X(Ls, {
|
|
10899
10992
|
format: e,
|
|
10900
10993
|
onChange: n,
|
|
10901
10994
|
t: r
|
|
10902
10995
|
}) : null;
|
|
10903
10996
|
}
|
|
10904
|
-
function
|
|
10997
|
+
function Ls({ format: e, onChange: t, t: n }) {
|
|
10905
10998
|
return /* @__PURE__ */ Z("div", {
|
|
10906
10999
|
className: "dc:space-y-2",
|
|
10907
11000
|
children: [/* @__PURE__ */ Z("div", {
|
|
@@ -10909,7 +11002,7 @@ function js({ format: e, onChange: t, t: n }) {
|
|
|
10909
11002
|
children: [/* @__PURE__ */ X("span", {
|
|
10910
11003
|
className: "dc:block dc:text-xs text-dc-text-secondary",
|
|
10911
11004
|
children: n("chart.recordsTable.columnFormats.progressStyle")
|
|
10912
|
-
}), /* @__PURE__ */ X(
|
|
11005
|
+
}), /* @__PURE__ */ X(zs, {
|
|
10913
11006
|
style: e.progressStyle ?? "bar",
|
|
10914
11007
|
onSelect: (n) => t({
|
|
10915
11008
|
...e,
|
|
@@ -10919,14 +11012,14 @@ function js({ format: e, onChange: t, t: n }) {
|
|
|
10919
11012
|
})]
|
|
10920
11013
|
}), /* @__PURE__ */ Z("div", {
|
|
10921
11014
|
className: "dc:flex dc:gap-2",
|
|
10922
|
-
children: [/* @__PURE__ */ X(
|
|
11015
|
+
children: [/* @__PURE__ */ X(Vs, {
|
|
10923
11016
|
label: n("chart.recordsTable.columnFormats.progressMin"),
|
|
10924
11017
|
value: e.progressMin ?? 0,
|
|
10925
11018
|
onChange: (n) => t({
|
|
10926
11019
|
...e,
|
|
10927
11020
|
progressMin: n
|
|
10928
11021
|
})
|
|
10929
|
-
}), /* @__PURE__ */ X(
|
|
11022
|
+
}), /* @__PURE__ */ X(Vs, {
|
|
10930
11023
|
label: n("chart.recordsTable.columnFormats.progressMax"),
|
|
10931
11024
|
value: e.progressMax ?? 100,
|
|
10932
11025
|
onChange: (n) => t({
|
|
@@ -10937,10 +11030,10 @@ function js({ format: e, onChange: t, t: n }) {
|
|
|
10937
11030
|
})]
|
|
10938
11031
|
});
|
|
10939
11032
|
}
|
|
10940
|
-
function
|
|
11033
|
+
function Rs({ kind: e, onSelect: t, t: n }) {
|
|
10941
11034
|
return /* @__PURE__ */ X("div", {
|
|
10942
11035
|
className: "dc:flex dc:border border-dc-border dc:rounded-sm dc:overflow-hidden",
|
|
10943
|
-
children:
|
|
11036
|
+
children: js.map((r) => /* @__PURE__ */ X("button", {
|
|
10944
11037
|
type: "button",
|
|
10945
11038
|
onClick: () => t(r),
|
|
10946
11039
|
className: `dc:flex-1 dc:px-1 dc:py-1 dc:text-xs dc:font-medium dc:transition-colors dc:cursor-pointer ${e === r ? "bg-dc-primary text-white" : "bg-dc-surface text-dc-text hover:bg-dc-border"}`,
|
|
@@ -10948,10 +11041,10 @@ function Ms({ kind: e, onSelect: t, t: n }) {
|
|
|
10948
11041
|
}, r))
|
|
10949
11042
|
});
|
|
10950
11043
|
}
|
|
10951
|
-
function
|
|
11044
|
+
function zs({ style: e, onSelect: t, t: n }) {
|
|
10952
11045
|
return /* @__PURE__ */ X("div", {
|
|
10953
11046
|
className: "dc:flex dc:border border-dc-border dc:rounded-sm dc:overflow-hidden",
|
|
10954
|
-
children:
|
|
11047
|
+
children: Ms.map((r) => /* @__PURE__ */ X("button", {
|
|
10955
11048
|
type: "button",
|
|
10956
11049
|
onClick: () => t(r),
|
|
10957
11050
|
className: `dc:flex-1 dc:px-1 dc:py-1 dc:text-xs dc:font-medium dc:transition-colors dc:cursor-pointer ${e === r ? "bg-dc-primary text-white" : "bg-dc-surface text-dc-text hover:bg-dc-border"}`,
|
|
@@ -10959,7 +11052,7 @@ function Ns({ style: e, onSelect: t, t: n }) {
|
|
|
10959
11052
|
}, r))
|
|
10960
11053
|
});
|
|
10961
11054
|
}
|
|
10962
|
-
function
|
|
11055
|
+
function Bs({ format: e, colorPalette: t, onChange: n, t: r }) {
|
|
10963
11056
|
let i = Array.isArray(e.badgeColors) ? e.badgeColors : [], a = t?.colors ?? [], o = (t) => n({
|
|
10964
11057
|
...e,
|
|
10965
11058
|
badgeColors: t.length > 0 ? t : void 0
|
|
@@ -11023,7 +11116,7 @@ function Ps({ format: e, colorPalette: t, onChange: n, t: r }) {
|
|
|
11023
11116
|
]
|
|
11024
11117
|
});
|
|
11025
11118
|
}
|
|
11026
|
-
function
|
|
11119
|
+
function Vs({ label: e, value: t, onChange: n }) {
|
|
11027
11120
|
return /* @__PURE__ */ Z("label", {
|
|
11028
11121
|
className: "dc:flex-1 dc:space-y-1",
|
|
11029
11122
|
children: [/* @__PURE__ */ X("span", {
|
|
@@ -11043,14 +11136,14 @@ function Fs({ label: e, value: t, onChange: n }) {
|
|
|
11043
11136
|
}
|
|
11044
11137
|
//#endregion
|
|
11045
11138
|
//#region src/client/components/AnalysisBuilder/DisplayOptionControl.tsx
|
|
11046
|
-
var
|
|
11047
|
-
function
|
|
11139
|
+
var Hs = "#22c55e";
|
|
11140
|
+
function Us({ description: e, t }) {
|
|
11048
11141
|
return e ? /* @__PURE__ */ X("p", {
|
|
11049
11142
|
className: "dc:text-xs text-dc-text-muted",
|
|
11050
11143
|
children: t(e)
|
|
11051
11144
|
}) : null;
|
|
11052
11145
|
}
|
|
11053
|
-
function
|
|
11146
|
+
function Ws({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
11054
11147
|
let i = e.key;
|
|
11055
11148
|
return /* @__PURE__ */ Z("label", {
|
|
11056
11149
|
className: "dc:flex dc:items-center dc:space-x-2",
|
|
@@ -11066,7 +11159,7 @@ function Rs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
|
11066
11159
|
})]
|
|
11067
11160
|
});
|
|
11068
11161
|
}
|
|
11069
|
-
function
|
|
11162
|
+
function Gs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
11070
11163
|
let i = t[e.key] ?? e.defaultValue ?? "";
|
|
11071
11164
|
return /* @__PURE__ */ Z("div", {
|
|
11072
11165
|
className: "dc:space-y-1",
|
|
@@ -11091,14 +11184,14 @@ function zs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
|
11091
11184
|
placeholder: e.placeholder,
|
|
11092
11185
|
className: "dc:w-full dc:px-2 dc:py-1 dc:text-sm dc:border border-dc-border dc:rounded-sm focus:ring-dc-accent focus:border-dc-accent bg-dc-surface text-dc-text"
|
|
11093
11186
|
}),
|
|
11094
|
-
/* @__PURE__ */ X(
|
|
11187
|
+
/* @__PURE__ */ X(Us, {
|
|
11095
11188
|
description: e.description,
|
|
11096
11189
|
t: r
|
|
11097
11190
|
})
|
|
11098
11191
|
]
|
|
11099
11192
|
});
|
|
11100
11193
|
}
|
|
11101
|
-
function
|
|
11194
|
+
function Ks({ option: e, displayConfig: t, colorPalette: n, setValue: r, t: i }) {
|
|
11102
11195
|
let a = t[e.key] ?? e.defaultValue ?? 0;
|
|
11103
11196
|
return /* @__PURE__ */ Z("div", {
|
|
11104
11197
|
className: "dc:space-y-1",
|
|
@@ -11130,14 +11223,14 @@ function Bs({ option: e, displayConfig: t, colorPalette: n, setValue: r, t: i })
|
|
|
11130
11223
|
title: "Default Color"
|
|
11131
11224
|
}, 0)]
|
|
11132
11225
|
}),
|
|
11133
|
-
/* @__PURE__ */ X(
|
|
11226
|
+
/* @__PURE__ */ X(Us, {
|
|
11134
11227
|
description: e.description,
|
|
11135
11228
|
t: i
|
|
11136
11229
|
})
|
|
11137
11230
|
]
|
|
11138
11231
|
});
|
|
11139
11232
|
}
|
|
11140
|
-
function
|
|
11233
|
+
function qs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
11141
11234
|
let i = e.key;
|
|
11142
11235
|
return /* @__PURE__ */ Z("div", {
|
|
11143
11236
|
className: "dc:space-y-1",
|
|
@@ -11156,14 +11249,14 @@ function Vs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
|
11156
11249
|
step: e.step,
|
|
11157
11250
|
className: "dc:w-full dc:px-2 dc:py-1 dc:text-sm dc:border border-dc-border dc:rounded-sm focus:ring-dc-accent focus:border-dc-accent bg-dc-surface text-dc-text"
|
|
11158
11251
|
}),
|
|
11159
|
-
/* @__PURE__ */ X(
|
|
11252
|
+
/* @__PURE__ */ X(Us, {
|
|
11160
11253
|
description: e.description,
|
|
11161
11254
|
t: r
|
|
11162
11255
|
})
|
|
11163
11256
|
]
|
|
11164
11257
|
});
|
|
11165
11258
|
}
|
|
11166
|
-
function
|
|
11259
|
+
function Js({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
11167
11260
|
let i = e.key;
|
|
11168
11261
|
return /* @__PURE__ */ Z("div", {
|
|
11169
11262
|
className: "dc:space-y-1",
|
|
@@ -11181,14 +11274,14 @@ function Hs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
|
11181
11274
|
children: r(e.label)
|
|
11182
11275
|
}, e.value))
|
|
11183
11276
|
}),
|
|
11184
|
-
/* @__PURE__ */ X(
|
|
11277
|
+
/* @__PURE__ */ X(Us, {
|
|
11185
11278
|
description: e.description,
|
|
11186
11279
|
t: r
|
|
11187
11280
|
})
|
|
11188
11281
|
]
|
|
11189
11282
|
});
|
|
11190
11283
|
}
|
|
11191
|
-
function
|
|
11284
|
+
function Ys({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
11192
11285
|
let i = t[e.key] ?? e.defaultValue ?? "#8884d8";
|
|
11193
11286
|
return /* @__PURE__ */ Z("div", {
|
|
11194
11287
|
className: "dc:space-y-1",
|
|
@@ -11212,14 +11305,14 @@ function Us({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
|
11212
11305
|
className: "dc:flex-1 dc:px-2 dc:py-1 dc:text-sm dc:border border-dc-border dc:rounded-sm focus:ring-dc-accent focus:border-dc-accent bg-dc-surface text-dc-text"
|
|
11213
11306
|
})]
|
|
11214
11307
|
}),
|
|
11215
|
-
/* @__PURE__ */ X(
|
|
11308
|
+
/* @__PURE__ */ X(Us, {
|
|
11216
11309
|
description: e.description,
|
|
11217
11310
|
t: r
|
|
11218
11311
|
})
|
|
11219
11312
|
]
|
|
11220
11313
|
});
|
|
11221
11314
|
}
|
|
11222
|
-
function
|
|
11315
|
+
function Xs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
11223
11316
|
let i = e.key;
|
|
11224
11317
|
return /* @__PURE__ */ X(ce, {
|
|
11225
11318
|
axisLabel: r(e.label),
|
|
@@ -11227,9 +11320,9 @@ function Ws({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
|
11227
11320
|
onChange: (e) => n(Object.keys(e).length > 0 ? e : void 0)
|
|
11228
11321
|
});
|
|
11229
11322
|
}
|
|
11230
|
-
function
|
|
11323
|
+
function Zs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
11231
11324
|
let i = e.key;
|
|
11232
|
-
return /* @__PURE__ */ X(
|
|
11325
|
+
return /* @__PURE__ */ X(As, {
|
|
11233
11326
|
label: r(e.label),
|
|
11234
11327
|
value: t[i] ?? [],
|
|
11235
11328
|
onChange: (e) => n(e.length > 0 ? e : void 0),
|
|
@@ -11237,7 +11330,7 @@ function Gs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
|
11237
11330
|
description: e.description ? r(e.description) : void 0
|
|
11238
11331
|
});
|
|
11239
11332
|
}
|
|
11240
|
-
function
|
|
11333
|
+
function Qs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
11241
11334
|
let i = e.key;
|
|
11242
11335
|
return /* @__PURE__ */ Z("div", {
|
|
11243
11336
|
className: "dc:space-y-1",
|
|
@@ -11255,14 +11348,14 @@ function Ks({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
|
11255
11348
|
children: r(a.label)
|
|
11256
11349
|
}, a.value))
|
|
11257
11350
|
}),
|
|
11258
|
-
/* @__PURE__ */ X(
|
|
11351
|
+
/* @__PURE__ */ X(Us, {
|
|
11259
11352
|
description: e.description,
|
|
11260
11353
|
t: r
|
|
11261
11354
|
})
|
|
11262
11355
|
]
|
|
11263
11356
|
});
|
|
11264
11357
|
}
|
|
11265
|
-
function
|
|
11358
|
+
function $s({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
11266
11359
|
let i = t[e.key], a = le(i), o = Number(t.minValue ?? 0), s = Number(t.maxValue ?? 100) - o, c = Number.isFinite(s) && s !== 0, l = (e) => c ? o + e * s : e, u = (e) => c ? (e - o) / s : e, d = (e) => {
|
|
11267
11360
|
let t = [...e].sort((e, t) => e.value - t.value);
|
|
11268
11361
|
n(t.length > 0 ? t : void 0);
|
|
@@ -11315,20 +11408,20 @@ function qs({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
|
11315
11408
|
let e = a[a.length - 1], t = e ? Math.min(1, (e.value + 1) / 2) : 0;
|
|
11316
11409
|
d([...a, {
|
|
11317
11410
|
value: t,
|
|
11318
|
-
color:
|
|
11411
|
+
color: Hs
|
|
11319
11412
|
}]);
|
|
11320
11413
|
},
|
|
11321
11414
|
className: "dc:text-xs dc:px-2 dc:py-1 dc:rounded-sm dc:border border-dc-border text-dc-text-secondary hover:bg-dc-surface-hover dc:cursor-pointer",
|
|
11322
11415
|
children: r("chart.gauge.thresholds.add")
|
|
11323
11416
|
}),
|
|
11324
|
-
/* @__PURE__ */ X(
|
|
11417
|
+
/* @__PURE__ */ X(Us, {
|
|
11325
11418
|
description: e.description,
|
|
11326
11419
|
t: r
|
|
11327
11420
|
})
|
|
11328
11421
|
]
|
|
11329
11422
|
});
|
|
11330
11423
|
}
|
|
11331
|
-
function
|
|
11424
|
+
function ec({ option: e, displayConfig: t, chartConfig: n, colorPalette: r, setValue: i, t: a }) {
|
|
11332
11425
|
let o = e.key;
|
|
11333
11426
|
return /* @__PURE__ */ Z("div", {
|
|
11334
11427
|
className: "dc:space-y-1",
|
|
@@ -11337,21 +11430,21 @@ function Js({ option: e, displayConfig: t, chartConfig: n, colorPalette: r, setV
|
|
|
11337
11430
|
className: "dc:text-sm text-dc-text-secondary",
|
|
11338
11431
|
children: a(e.label)
|
|
11339
11432
|
}),
|
|
11340
|
-
/* @__PURE__ */ X(
|
|
11433
|
+
/* @__PURE__ */ X(Ps, {
|
|
11341
11434
|
value: t[o] ?? {},
|
|
11342
11435
|
chartConfig: n,
|
|
11343
11436
|
colorPalette: r,
|
|
11344
11437
|
onChange: i,
|
|
11345
11438
|
t: a
|
|
11346
11439
|
}),
|
|
11347
|
-
/* @__PURE__ */ X(
|
|
11440
|
+
/* @__PURE__ */ X(Us, {
|
|
11348
11441
|
description: e.description,
|
|
11349
11442
|
t: a
|
|
11350
11443
|
})
|
|
11351
11444
|
]
|
|
11352
11445
|
});
|
|
11353
11446
|
}
|
|
11354
|
-
function
|
|
11447
|
+
function tc({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
11355
11448
|
let i = t[e.key] ?? { urlTemplate: "" }, a = (e) => n(e.urlTemplate.trim() ? e : void 0);
|
|
11356
11449
|
return /* @__PURE__ */ Z("div", {
|
|
11357
11450
|
className: "dc:space-y-1",
|
|
@@ -11383,32 +11476,32 @@ function Ys({ option: e, displayConfig: t, setValue: n, t: r }) {
|
|
|
11383
11476
|
children: r(`chart.recordsTable.rowLink.target.${e}`)
|
|
11384
11477
|
}, e))
|
|
11385
11478
|
}),
|
|
11386
|
-
/* @__PURE__ */ X(
|
|
11479
|
+
/* @__PURE__ */ X(Us, {
|
|
11387
11480
|
description: e.description,
|
|
11388
11481
|
t: r
|
|
11389
11482
|
})
|
|
11390
11483
|
]
|
|
11391
11484
|
});
|
|
11392
11485
|
}
|
|
11393
|
-
var
|
|
11394
|
-
boolean:
|
|
11395
|
-
string:
|
|
11396
|
-
paletteColor:
|
|
11397
|
-
number:
|
|
11398
|
-
select:
|
|
11399
|
-
color:
|
|
11400
|
-
axisFormat:
|
|
11401
|
-
stringArray:
|
|
11402
|
-
buttonGroup:
|
|
11403
|
-
thresholdBands:
|
|
11404
|
-
columnFormats:
|
|
11405
|
-
rowLink:
|
|
11486
|
+
var nc = {
|
|
11487
|
+
boolean: Ws,
|
|
11488
|
+
string: Gs,
|
|
11489
|
+
paletteColor: Ks,
|
|
11490
|
+
number: qs,
|
|
11491
|
+
select: Js,
|
|
11492
|
+
color: Ys,
|
|
11493
|
+
axisFormat: Xs,
|
|
11494
|
+
stringArray: Zs,
|
|
11495
|
+
buttonGroup: Qs,
|
|
11496
|
+
thresholdBands: $s,
|
|
11497
|
+
columnFormats: ec,
|
|
11498
|
+
rowLink: tc
|
|
11406
11499
|
};
|
|
11407
|
-
function
|
|
11500
|
+
function rc({ option: e, displayConfig: t, colorPalette: n, chartConfig: r, onDisplayConfigChange: i }) {
|
|
11408
11501
|
let { t: a } = R(), o = (n) => i({
|
|
11409
11502
|
...t,
|
|
11410
11503
|
[e.key]: n
|
|
11411
|
-
}), s =
|
|
11504
|
+
}), s = nc[e.type];
|
|
11412
11505
|
return s ? /* @__PURE__ */ X(s, {
|
|
11413
11506
|
option: e,
|
|
11414
11507
|
displayConfig: t,
|
|
@@ -11420,7 +11513,7 @@ function Zs({ option: e, displayConfig: t, colorPalette: n, chartConfig: r, onDi
|
|
|
11420
11513
|
}
|
|
11421
11514
|
//#endregion
|
|
11422
11515
|
//#region src/client/components/AnalysisBuilder/LegacyBooleanOptions.tsx
|
|
11423
|
-
var
|
|
11516
|
+
var ic = [
|
|
11424
11517
|
{
|
|
11425
11518
|
key: "showLegend",
|
|
11426
11519
|
labelKey: "display.showLegend",
|
|
@@ -11451,9 +11544,9 @@ var Qs = [
|
|
|
11451
11544
|
labelKey: "display.hideHeader",
|
|
11452
11545
|
defaultChecked: !1
|
|
11453
11546
|
}
|
|
11454
|
-
],
|
|
11547
|
+
], ac = U(function({ displayOptions: e, displayConfig: t, onDisplayConfigChange: n }) {
|
|
11455
11548
|
let { t: r } = R();
|
|
11456
|
-
return !e || e.length === 0 ? null : /* @__PURE__ */ X(Y, { children:
|
|
11549
|
+
return !e || e.length === 0 ? null : /* @__PURE__ */ X(Y, { children: ic.filter((t) => e.includes(t.key)).map((e) => /* @__PURE__ */ Z("label", {
|
|
11457
11550
|
className: "dc:flex dc:items-center dc:space-x-2",
|
|
11458
11551
|
children: [/* @__PURE__ */ X("input", {
|
|
11459
11552
|
type: "checkbox",
|
|
@@ -11472,7 +11565,7 @@ var Qs = [
|
|
|
11472
11565
|
});
|
|
11473
11566
|
//#endregion
|
|
11474
11567
|
//#region src/client/components/AnalysisBuilder/AnalysisDisplayConfigPanel.tsx
|
|
11475
|
-
function
|
|
11568
|
+
function oc({ chartType: e, displayConfig: t, colorPalette: n, chartConfig: r, onDisplayConfigChange: i, excludeKeys: a }) {
|
|
11476
11569
|
let { t: o } = R(), { config: s, loaded: c } = h(e);
|
|
11477
11570
|
return c ? s.displayOptions && s.displayOptions.length > 0 || s.displayOptionsConfig && s.displayOptionsConfig.length > 0 ? /* @__PURE__ */ X("div", {
|
|
11478
11571
|
className: "dc:space-y-6",
|
|
@@ -11481,13 +11574,13 @@ function ec({ chartType: e, displayConfig: t, colorPalette: n, chartConfig: r, o
|
|
|
11481
11574
|
children: o("display.heading")
|
|
11482
11575
|
}), /* @__PURE__ */ Z("div", {
|
|
11483
11576
|
className: "dc:space-y-2",
|
|
11484
|
-
children: [/* @__PURE__ */ X(
|
|
11577
|
+
children: [/* @__PURE__ */ X(ac, {
|
|
11485
11578
|
displayOptions: s.displayOptions,
|
|
11486
11579
|
displayConfig: t,
|
|
11487
11580
|
onDisplayConfigChange: i
|
|
11488
11581
|
}), s.displayOptionsConfig?.filter((e) => !a?.includes(e.key)).map((e) => /* @__PURE__ */ X("div", {
|
|
11489
11582
|
className: `dc:space-y-1 ${e.type === "axisFormat" ? "dc:mt-6 dc:pt-2" : ""}`,
|
|
11490
|
-
children: /* @__PURE__ */ X(
|
|
11583
|
+
children: /* @__PURE__ */ X(rc, {
|
|
11491
11584
|
option: e,
|
|
11492
11585
|
displayConfig: t,
|
|
11493
11586
|
colorPalette: n,
|
|
@@ -11506,8 +11599,8 @@ function ec({ chartType: e, displayConfig: t, colorPalette: n, chartConfig: r, o
|
|
|
11506
11599
|
}
|
|
11507
11600
|
//#endregion
|
|
11508
11601
|
//#region src/client/components/TextPortletModal.tsx
|
|
11509
|
-
var
|
|
11510
|
-
function
|
|
11602
|
+
var sc = v("close");
|
|
11603
|
+
function cc({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, existingTitles: a = [] }) {
|
|
11511
11604
|
let { t: o } = R(), s = K(() => r ? Ke(r).analysisConfig.charts.query?.displayConfig ?? {} : {
|
|
11512
11605
|
content: "",
|
|
11513
11606
|
hideHeader: !0,
|
|
@@ -11603,7 +11696,7 @@ function nc({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
|
|
|
11603
11696
|
}), /* @__PURE__ */ X("button", {
|
|
11604
11697
|
onClick: t,
|
|
11605
11698
|
className: "dc:p-1 dc:rounded-md text-dc-text-secondary dc:hover:bg-dc-surface-hover dc:transition-colors",
|
|
11606
|
-
children: /* @__PURE__ */ X(
|
|
11699
|
+
children: /* @__PURE__ */ X(sc, { className: "dc:w-5 dc:h-5" })
|
|
11607
11700
|
})]
|
|
11608
11701
|
}),
|
|
11609
11702
|
/* @__PURE__ */ X("div", {
|
|
@@ -11660,7 +11753,7 @@ function nc({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
|
|
|
11660
11753
|
]
|
|
11661
11754
|
}), /* @__PURE__ */ X("div", {
|
|
11662
11755
|
className: "dc:w-72 dc:shrink-0",
|
|
11663
|
-
children: /* @__PURE__ */ X(
|
|
11756
|
+
children: /* @__PURE__ */ X(oc, {
|
|
11664
11757
|
chartType: "markdown",
|
|
11665
11758
|
displayConfig: c,
|
|
11666
11759
|
colorPalette: i,
|
|
@@ -11689,7 +11782,7 @@ function nc({ isOpen: e, onClose: t, onSave: n, portlet: r, colorPalette: i, exi
|
|
|
11689
11782
|
}
|
|
11690
11783
|
//#endregion
|
|
11691
11784
|
//#region src/client/utils/joinReachability.ts
|
|
11692
|
-
function
|
|
11785
|
+
function lc(e, t) {
|
|
11693
11786
|
let n = new Set(t);
|
|
11694
11787
|
if (!e?.cubes || t.length === 0) return n;
|
|
11695
11788
|
let r = /* @__PURE__ */ new Map(), i = (e, t) => {
|
|
@@ -11707,14 +11800,14 @@ function rc(e, t) {
|
|
|
11707
11800
|
}
|
|
11708
11801
|
return n;
|
|
11709
11802
|
}
|
|
11710
|
-
function
|
|
11803
|
+
function uc(e) {
|
|
11711
11804
|
let t = e.indexOf(".");
|
|
11712
11805
|
return t > 0 ? e.substring(0, t) : null;
|
|
11713
11806
|
}
|
|
11714
|
-
function
|
|
11807
|
+
function dc(e) {
|
|
11715
11808
|
let t = /* @__PURE__ */ new Set(), n = (e) => {
|
|
11716
11809
|
if (typeof e == "string") {
|
|
11717
|
-
let n =
|
|
11810
|
+
let n = uc(e);
|
|
11718
11811
|
n && t.add(n);
|
|
11719
11812
|
}
|
|
11720
11813
|
}, r = (e) => {
|
|
@@ -11732,11 +11825,11 @@ function ac(e) {
|
|
|
11732
11825
|
}
|
|
11733
11826
|
return [...t];
|
|
11734
11827
|
}
|
|
11735
|
-
function
|
|
11828
|
+
function fc(e, t, n) {
|
|
11736
11829
|
if (!e?.cubes) return [];
|
|
11737
|
-
let r =
|
|
11830
|
+
let r = dc(t);
|
|
11738
11831
|
if (r.length === 0) return [];
|
|
11739
|
-
let i =
|
|
11832
|
+
let i = lc(e, r), a;
|
|
11740
11833
|
if (n?.sameTypeAs) for (let t of e.cubes) {
|
|
11741
11834
|
let e = t.dimensions?.find((e) => e.name === n.sameTypeAs);
|
|
11742
11835
|
if (e) {
|
|
@@ -11752,7 +11845,7 @@ function oc(e, t, n) {
|
|
|
11752
11845
|
}
|
|
11753
11846
|
//#endregion
|
|
11754
11847
|
//#region src/client/components/PortletFilterConfigModal.tsx
|
|
11755
|
-
function
|
|
11848
|
+
function pc({ isOpen: e, onClose: t, dashboardFilters: n = [], currentMapping: r = [], onSave: i, portletTitle: a, schema: o = null, portlet: s = null }) {
|
|
11756
11849
|
let { t: c } = R(), [l, u] = J(() => Ze(r));
|
|
11757
11850
|
G(() => {
|
|
11758
11851
|
u((e) => {
|
|
@@ -11774,7 +11867,7 @@ function sc({ isOpen: e, onClose: t, dashboardFilters: n = [], currentMapping: r
|
|
|
11774
11867
|
}, h = K(() => {
|
|
11775
11868
|
let e = /* @__PURE__ */ new Map();
|
|
11776
11869
|
return !o || !s || n.forEach((t) => {
|
|
11777
|
-
t.isUniversalTime || !("member" in t.filter) || !t.filter.member || e.has(t.filter.member) || e.set(t.filter.member,
|
|
11870
|
+
t.isUniversalTime || !("member" in t.filter) || !t.filter.member || e.has(t.filter.member) || e.set(t.filter.member, fc(o, s, { sameTypeAs: t.filter.member }));
|
|
11778
11871
|
}), e;
|
|
11779
11872
|
}, [
|
|
11780
11873
|
o,
|
|
@@ -11953,9 +12046,9 @@ function sc({ isOpen: e, onClose: t, dashboardFilters: n = [], currentMapping: r
|
|
|
11953
12046
|
}
|
|
11954
12047
|
//#endregion
|
|
11955
12048
|
//#region src/client/components/ConfirmModal.tsx
|
|
11956
|
-
var
|
|
12049
|
+
var mc = ({ isOpen: e, onClose: t, onConfirm: n, title: r, message: i, confirmText: a, cancelText: o, confirmVariant: s = "primary", isLoading: c = !1 }) => {
|
|
11957
12050
|
let { t: l } = R(), u = r ?? l("common.actions.confirm"), d = a ?? l("common.actions.confirm"), f = o ?? l("common.actions.cancel");
|
|
11958
|
-
return /* @__PURE__ */ X(
|
|
12051
|
+
return /* @__PURE__ */ X(ds, {
|
|
11959
12052
|
isOpen: e,
|
|
11960
12053
|
onClose: t,
|
|
11961
12054
|
title: u,
|
|
@@ -12012,10 +12105,10 @@ var cc = ({ isOpen: e, onClose: t, onConfirm: n, title: r, message: i, confirmTe
|
|
|
12012
12105
|
};
|
|
12013
12106
|
//#endregion
|
|
12014
12107
|
//#region src/client/components/dashboard/DashboardModals.tsx
|
|
12015
|
-
function
|
|
12016
|
-
let { t: e } = R(), { config: t, colorPalette: n, dashboardFilters: r, schema: i, isPortletModalOpen: a, editingPortlet: o, isTextModalOpen: s, editingTextPortlet: c, isFilterConfigModalOpen: l, filterConfigPortlet: u, deleteConfirmPortletId: d, deleteConfirmGroupId: f, handlePortletSave: p, handleSaveFilterConfig: m, actions: h } =
|
|
12108
|
+
function hc() {
|
|
12109
|
+
let { t: e } = R(), { config: t, colorPalette: n, dashboardFilters: r, schema: i, isPortletModalOpen: a, editingPortlet: o, isTextModalOpen: s, editingTextPortlet: c, isFilterConfigModalOpen: l, filterConfigPortlet: u, deleteConfirmPortletId: d, deleteConfirmGroupId: f, handlePortletSave: p, handleSaveFilterConfig: m, actions: h } = fi(), g = t.portlets.find((e) => e.id === d)?.title || e("dashboard.thisPortlet"), _ = (t.groups?.find((e) => e.id === f))?.cells.reduce((e, t) => e + t.portletIds.length, 0) ?? 0;
|
|
12017
12110
|
return /* @__PURE__ */ Z(Y, { children: [
|
|
12018
|
-
/* @__PURE__ */ X(
|
|
12111
|
+
/* @__PURE__ */ X(ks, {
|
|
12019
12112
|
isOpen: a,
|
|
12020
12113
|
onClose: h.closePortletModal,
|
|
12021
12114
|
onSave: p,
|
|
@@ -12025,7 +12118,7 @@ function lc() {
|
|
|
12025
12118
|
colorPalette: n,
|
|
12026
12119
|
dashboardFilters: r
|
|
12027
12120
|
}),
|
|
12028
|
-
/* @__PURE__ */ X(
|
|
12121
|
+
/* @__PURE__ */ X(cc, {
|
|
12029
12122
|
isOpen: s,
|
|
12030
12123
|
onClose: h.closeTextModal,
|
|
12031
12124
|
onSave: p,
|
|
@@ -12033,7 +12126,7 @@ function lc() {
|
|
|
12033
12126
|
colorPalette: n,
|
|
12034
12127
|
existingTitles: t.portlets.map((e) => e.title)
|
|
12035
12128
|
}),
|
|
12036
|
-
/* @__PURE__ */ X(
|
|
12129
|
+
/* @__PURE__ */ X(pc, {
|
|
12037
12130
|
isOpen: l,
|
|
12038
12131
|
onClose: h.closeFilterConfig,
|
|
12039
12132
|
dashboardFilters: r || [],
|
|
@@ -12043,7 +12136,7 @@ function lc() {
|
|
|
12043
12136
|
schema: i || null,
|
|
12044
12137
|
portlet: u
|
|
12045
12138
|
}),
|
|
12046
|
-
/* @__PURE__ */ X(
|
|
12139
|
+
/* @__PURE__ */ X(mc, {
|
|
12047
12140
|
isOpen: !!f,
|
|
12048
12141
|
onClose: h.closeDeleteConfirm,
|
|
12049
12142
|
onConfirm: h.confirmDelete,
|
|
@@ -12052,7 +12145,7 @@ function lc() {
|
|
|
12052
12145
|
confirmText: e("common.actions.delete"),
|
|
12053
12146
|
confirmVariant: "danger"
|
|
12054
12147
|
}),
|
|
12055
|
-
/* @__PURE__ */ X(
|
|
12148
|
+
/* @__PURE__ */ X(mc, {
|
|
12056
12149
|
isOpen: !!d,
|
|
12057
12150
|
onClose: h.closeDeleteConfirm,
|
|
12058
12151
|
onConfirm: h.confirmDelete,
|
|
@@ -12070,21 +12163,21 @@ function lc() {
|
|
|
12070
12163
|
}
|
|
12071
12164
|
//#endregion
|
|
12072
12165
|
//#region src/client/components/DashboardGrid.tsx
|
|
12073
|
-
function
|
|
12166
|
+
function gc(e) {
|
|
12074
12167
|
let t = !e.config.portlets || e.config.portlets.length === 0;
|
|
12075
|
-
return /* @__PURE__ */ Z(
|
|
12168
|
+
return /* @__PURE__ */ Z(yi, {
|
|
12076
12169
|
...e,
|
|
12077
12170
|
children: [
|
|
12078
|
-
!t && !e.hideToolbar && /* @__PURE__ */ X(
|
|
12079
|
-
!t && /* @__PURE__ */ X(
|
|
12080
|
-
/* @__PURE__ */ X(
|
|
12081
|
-
/* @__PURE__ */ X(
|
|
12171
|
+
!t && !e.hideToolbar && /* @__PURE__ */ X(Gi, {}),
|
|
12172
|
+
!t && /* @__PURE__ */ X(ns, {}),
|
|
12173
|
+
/* @__PURE__ */ X(us, {}),
|
|
12174
|
+
/* @__PURE__ */ X(hc, {})
|
|
12082
12175
|
]
|
|
12083
12176
|
});
|
|
12084
12177
|
}
|
|
12085
12178
|
//#endregion
|
|
12086
12179
|
//#region src/client/components/AnalyticsDashboard.tsx
|
|
12087
|
-
function
|
|
12180
|
+
function _c({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent: r, onConfigChange: i, onSave: a, onSaveThumbnail: o, onDirtyStateChange: s }) {
|
|
12088
12181
|
let { meta: l } = L(), { dashboardModes: u } = c(), { handleConfigChange: d, handleSave: f } = te({
|
|
12089
12182
|
initialConfig: e,
|
|
12090
12183
|
onConfigChange: i,
|
|
@@ -12113,11 +12206,11 @@ function dc({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
12113
12206
|
d
|
|
12114
12207
|
]), h = K(() => {
|
|
12115
12208
|
let t = e.colorPalette;
|
|
12116
|
-
return
|
|
12209
|
+
return xi(t);
|
|
12117
12210
|
}, [e.colorPalette]);
|
|
12118
12211
|
return /* @__PURE__ */ X("div", {
|
|
12119
12212
|
className: "dc:w-full",
|
|
12120
|
-
children: /* @__PURE__ */ X(
|
|
12213
|
+
children: /* @__PURE__ */ X(gc, {
|
|
12121
12214
|
config: e,
|
|
12122
12215
|
editable: t,
|
|
12123
12216
|
dashboardFilters: p,
|
|
@@ -12134,7 +12227,7 @@ function dc({ config: e, editable: t = !1, dashboardFilters: n, loadingComponent
|
|
|
12134
12227
|
}
|
|
12135
12228
|
//#endregion
|
|
12136
12229
|
//#region src/client/components/PortletContainer.tsx
|
|
12137
|
-
function
|
|
12230
|
+
function vc({ portlet: e, editable: t = !1, onEdit: n, onDelete: r, onRefresh: i }) {
|
|
12138
12231
|
let { analysisConfig: a } = K(() => Ke(e), [e]), o = a.charts[a.analysisType], s = K(() => JSON.stringify(a.query), [a.query]), c = o?.chartType || "line", l = o?.chartConfig, u = o?.displayConfig, [d, f] = J(null), p = W((e) => {
|
|
12139
12232
|
f(e);
|
|
12140
12233
|
}, []);
|
|
@@ -12231,7 +12324,7 @@ function fc({ portlet: e, editable: t = !1, onEdit: n, onDelete: r, onRefresh: i
|
|
|
12231
12324
|
}
|
|
12232
12325
|
//#endregion
|
|
12233
12326
|
//#region src/client/components/DashboardEditModal.tsx
|
|
12234
|
-
function
|
|
12327
|
+
function yc({ isOpen: e, onClose: t, onSave: n, title: r, submitText: i, initialName: a = "", initialDescription: o = "" }) {
|
|
12235
12328
|
let { t: s } = R(), [c, l] = J(""), [u, d] = J(""), [f, p] = J(!1);
|
|
12236
12329
|
G(() => {
|
|
12237
12330
|
e && (l(a), d(o));
|
|
@@ -12267,7 +12360,7 @@ function pc({ isOpen: e, onClose: t, onSave: n, title: r, submitText: i, initial
|
|
|
12267
12360
|
className: "dc:px-4 dc:py-2 dc:text-sm dc:font-medium text-white bg-dc-primary dc:border border-transparent dc:rounded-md hover:bg-dc-primary-hover dc:disabled:opacity-50 dc:disabled:cursor-not-allowed",
|
|
12268
12361
|
children: f ? "Saving..." : i
|
|
12269
12362
|
})] });
|
|
12270
|
-
return /* @__PURE__ */ X(
|
|
12363
|
+
return /* @__PURE__ */ X(ds, {
|
|
12271
12364
|
isOpen: e,
|
|
12272
12365
|
onClose: h,
|
|
12273
12366
|
title: r,
|
|
@@ -12306,6 +12399,6 @@ function pc({ isOpen: e, onClose: t, onSave: n, title: r, submitText: i, initial
|
|
|
12306
12399
|
});
|
|
12307
12400
|
}
|
|
12308
12401
|
//#endregion
|
|
12309
|
-
export { Yt as $, nr as A, Fn as B,
|
|
12402
|
+
export { Yt as $, nr as A, Fn as B, qi as C, yi as D, xi as E, Dn as F, zn as G, Ln as H, Gn as I, Nn as J, Wn as K, Rn as L, qn as M, Kn as N, fi as O, jn as P, an as Q, Un as R, Ki as S, Ce as St, Ni as T, Vn as U, Hn as V, In as W, Cn as X, Pn as Y, un as Z, xa as _, De as _t, hc as a, We as at, Yi as b, Fe as bt, ks as c, Ne as ct, _s as d, Pe as dt, jt as et, ps as f, Ie as ft, Ma as g, we as gt, ns as h, Oe as ht, gc as i, Ke as it, tr as j, oi as k, Ts as l, Me as lt, us as m, Te as mt, vc as n, qe as nt, mc as o, He as ot, ds as p, Ee as pt, Mn as q, _c as r, Xe as rt, oc as s, Q as st, yc as t, nt as tt, xs as u, je as ut, ba as v, ke as vt, Gi as w, ia as x, Se as xt, Ji as y, Ae as yt, Bn as z };
|
|
12310
12403
|
|
|
12311
|
-
//# sourceMappingURL=DashboardEditModal-
|
|
12404
|
+
//# sourceMappingURL=DashboardEditModal-B-0eV6vd.js.map
|