drizzle-cube 0.4.41 → 0.4.43
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/README.md +1 -1
- package/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +2 -2
- package/dist/adapters/fastify/index.cjs +1 -1
- package/dist/adapters/fastify/index.js +2 -2
- package/dist/adapters/{handler-dHHEEbG9.cjs → handler-BneUGY0k.cjs} +1 -1
- package/dist/adapters/{handler-fto6TSVn.js → handler-CiQoQsnP.js} +1 -1
- package/dist/adapters/hono/index.cjs +1 -1
- package/dist/adapters/hono/index.js +5 -5
- package/dist/adapters/{mcp-transport-tB5a7Het.js → mcp-transport-CC3hQOnb.js} +1099 -1338
- package/dist/adapters/mcp-transport-mmuPvjfR.cjs +255 -0
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +2 -2
- package/dist/adapters/{openai-Ckpe7iU7.js → openai-CQfaz257.js} +1 -1
- package/dist/{server/openai-DKpZPCay.cjs → adapters/openai-CZ74gWd4.cjs} +1 -1
- package/dist/adapters/{openai-Bc8qwEKW.cjs → openai-DLfardui.cjs} +1 -1
- package/dist/adapters/{openai-DxeVtl8X.js → openai-DaxuhJLS.js} +1 -1
- package/dist/client/charts.js +12 -12
- package/dist/client/chunks/{DashboardEditModal-D_7J62sG.js → DashboardEditModal-BTdV528l.js} +1421 -1396
- package/dist/client/chunks/DashboardEditModal-BTdV528l.js.map +1 -0
- package/dist/client/chunks/{FieldSearchModal-5Qz6vvTz.js → FieldSearchModal-D75vy4Wb.js} +4 -4
- package/dist/client/chunks/{FieldSearchModal-5Qz6vvTz.js.map → FieldSearchModal-D75vy4Wb.js.map} +1 -1
- package/dist/client/chunks/KpiDelta-Bk8bzKYM.js +2 -0
- package/dist/client/chunks/KpiNumber-CKF-8e_T.js +2 -0
- package/dist/client/chunks/KpiText-Iz1vIvu_.js +2 -0
- package/dist/client/chunks/{RetentionCombinedChart-B1hUYaXt.js → RetentionCombinedChart-DIhK5pD8.js} +3 -3
- package/dist/client/chunks/{RetentionCombinedChart-B1hUYaXt.js.map → RetentionCombinedChart-DIhK5pD8.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-Dn2ocjVf.js → RetentionHeatmap-CyREolyP.js} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-Dn2ocjVf.js.map → RetentionHeatmap-CyREolyP.js.map} +1 -1
- package/dist/client/chunks/SchemaVisualization-B1GUT-FM.js +2 -0
- package/dist/client/chunks/SchemaVisualizationLazy-DymwT34e.js +2 -0
- package/dist/client/chunks/{analysis-builder-DPJJiHVx.js → analysis-builder-C1CJ0c7L.js} +415 -406
- package/dist/client/chunks/analysis-builder-C1CJ0c7L.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-shared-C-C-rOgu.js → analysis-builder-shared-rkjJfWLT.js} +9 -9
- package/dist/client/chunks/{analysis-builder-shared-C-C-rOgu.js.map → analysis-builder-shared-rkjJfWLT.js.map} +1 -1
- package/dist/client/chunks/{chart-activity-grid-wR2Twpo7.js → chart-activity-grid-DLktOINm.js} +2 -2
- package/dist/client/chunks/{chart-activity-grid-wR2Twpo7.js.map → chart-activity-grid-DLktOINm.js.map} +1 -1
- package/dist/client/chunks/{chart-area-e9ysnatQ.js → chart-area-BwYaflNk.js} +3 -3
- package/dist/client/chunks/{chart-area-e9ysnatQ.js.map → chart-area-BwYaflNk.js.map} +1 -1
- package/dist/client/chunks/{chart-bar-DVzmau1G.js → chart-bar-BiENfFgE.js} +4 -4
- package/dist/client/chunks/{chart-bar-DVzmau1G.js.map → chart-bar-BiENfFgE.js.map} +1 -1
- package/dist/client/chunks/{chart-box-plot-CCmbHv1Y.js → chart-box-plot-BJF1tBXC.js} +3 -3
- package/dist/client/chunks/{chart-box-plot-CCmbHv1Y.js.map → chart-box-plot-BJF1tBXC.js.map} +1 -1
- package/dist/client/chunks/{chart-bubble-S6qSwWdK.js → chart-bubble-DQQhGVDJ.js} +3 -3
- package/dist/client/chunks/{chart-bubble-S6qSwWdK.js.map → chart-bubble-DQQhGVDJ.js.map} +1 -1
- package/dist/client/chunks/{chart-candlestick-BNKbDruo.js → chart-candlestick-C2UuXbLe.js} +3 -3
- package/dist/client/chunks/{chart-candlestick-BNKbDruo.js.map → chart-candlestick-C2UuXbLe.js.map} +1 -1
- package/dist/client/chunks/{chart-config-activity-grid-BSWS08cI.js → chart-config-activity-grid-DJOU3TEz.js} +2 -2
- package/dist/client/chunks/{chart-config-activity-grid-BSWS08cI.js.map → chart-config-activity-grid-DJOU3TEz.js.map} +1 -1
- package/dist/client/chunks/{chart-config-area-DKwgcHp4.js → chart-config-area-CWnWVT6a.js} +2 -2
- package/dist/client/chunks/{chart-config-area-DKwgcHp4.js.map → chart-config-area-CWnWVT6a.js.map} +1 -1
- package/dist/client/chunks/{chart-config-bar-deTjEhap.js → chart-config-bar-C-7Dr1Ho.js} +2 -2
- package/dist/client/chunks/{chart-config-bar-deTjEhap.js.map → chart-config-bar-C-7Dr1Ho.js.map} +1 -1
- package/dist/client/chunks/{chart-config-box-plot-DU4iWk3V.js → chart-config-box-plot-mVOwmLdu.js} +2 -2
- package/dist/client/chunks/{chart-config-box-plot-DU4iWk3V.js.map → chart-config-box-plot-mVOwmLdu.js.map} +1 -1
- package/dist/client/chunks/{chart-config-bubble-B8FSHSW-.js → chart-config-bubble-BPE2CeiD.js} +2 -2
- package/dist/client/chunks/{chart-config-bubble-B8FSHSW-.js.map → chart-config-bubble-BPE2CeiD.js.map} +1 -1
- package/dist/client/chunks/{chart-config-candlestick-BGfyWFft.js → chart-config-candlestick-BSB9DRy2.js} +2 -2
- package/dist/client/chunks/{chart-config-candlestick-BGfyWFft.js.map → chart-config-candlestick-BSB9DRy2.js.map} +1 -1
- package/dist/client/chunks/{chart-config-data-table-DKRcGa8t.js → chart-config-data-table-Bhdx5Hem.js} +2 -2
- package/dist/client/chunks/{chart-config-data-table-DKRcGa8t.js.map → chart-config-data-table-Bhdx5Hem.js.map} +1 -1
- package/dist/client/chunks/{chart-config-funnel-Bt4iGFo_.js → chart-config-funnel-Cl-v-bm1.js} +2 -2
- package/dist/client/chunks/{chart-config-funnel-Bt4iGFo_.js.map → chart-config-funnel-Cl-v-bm1.js.map} +1 -1
- package/dist/client/chunks/{chart-config-gauge-Bk4Jjp3W.js → chart-config-gauge-CdrUTJMJ.js} +2 -2
- package/dist/client/chunks/{chart-config-gauge-Bk4Jjp3W.js.map → chart-config-gauge-CdrUTJMJ.js.map} +1 -1
- package/dist/client/chunks/{chart-config-heat-map-CkHsqkrY.js → chart-config-heat-map-DGE3NzoF.js} +2 -2
- package/dist/client/chunks/{chart-config-heat-map-CkHsqkrY.js.map → chart-config-heat-map-DGE3NzoF.js.map} +1 -1
- package/dist/client/chunks/{chart-config-kpi-delta-CkUX98JV.js → chart-config-kpi-delta-DMrQerUW.js} +2 -2
- package/dist/client/chunks/{chart-config-kpi-delta-CkUX98JV.js.map → chart-config-kpi-delta-DMrQerUW.js.map} +1 -1
- package/dist/client/chunks/{chart-config-kpi-number-DcxyiUgs.js → chart-config-kpi-number-DCytCytn.js} +2 -2
- package/dist/client/chunks/{chart-config-kpi-number-DcxyiUgs.js.map → chart-config-kpi-number-DCytCytn.js.map} +1 -1
- package/dist/client/chunks/{chart-config-kpi-text-DI4mj8CN.js → chart-config-kpi-text-KdKQUvHo.js} +2 -2
- package/dist/client/chunks/{chart-config-kpi-text-DI4mj8CN.js.map → chart-config-kpi-text-KdKQUvHo.js.map} +1 -1
- package/dist/client/chunks/{chart-config-line--j7-dLue.js → chart-config-line-Bl9VDAdz.js} +2 -2
- package/dist/client/chunks/{chart-config-line--j7-dLue.js.map → chart-config-line-Bl9VDAdz.js.map} +1 -1
- package/dist/client/chunks/{chart-config-markdown-DUjvVjV4.js → chart-config-markdown-BX26b94i.js} +2 -2
- package/dist/client/chunks/{chart-config-markdown-DUjvVjV4.js.map → chart-config-markdown-BX26b94i.js.map} +1 -1
- package/dist/client/chunks/{chart-config-measure-profile-B9FKBNGc.js → chart-config-measure-profile-DwtRhEFh.js} +2 -2
- package/dist/client/chunks/{chart-config-measure-profile-B9FKBNGc.js.map → chart-config-measure-profile-DwtRhEFh.js.map} +1 -1
- package/dist/client/chunks/{chart-config-pie-yU4jipl9.js → chart-config-pie-BzBcqPMJ.js} +2 -2
- package/dist/client/chunks/{chart-config-pie-yU4jipl9.js.map → chart-config-pie-BzBcqPMJ.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radar-R9Fkc8wL.js → chart-config-radar-6ZOgt__z.js} +2 -2
- package/dist/client/chunks/{chart-config-radar-R9Fkc8wL.js.map → chart-config-radar-6ZOgt__z.js.map} +1 -1
- package/dist/client/chunks/{chart-config-radial-bar-DeoXfpIp.js → chart-config-radial-bar-Df6Eta7N.js} +2 -2
- package/dist/client/chunks/{chart-config-radial-bar-DeoXfpIp.js.map → chart-config-radial-bar-Df6Eta7N.js.map} +1 -1
- package/dist/client/chunks/{chart-config-sankey-CXEsxo6s.js → chart-config-sankey-DgqKBFvN.js} +2 -2
- package/dist/client/chunks/{chart-config-sankey-CXEsxo6s.js.map → chart-config-sankey-DgqKBFvN.js.map} +1 -1
- package/dist/client/chunks/{chart-config-scatter-MVUFupub.js → chart-config-scatter-D5nVLDvi.js} +2 -2
- package/dist/client/chunks/{chart-config-scatter-MVUFupub.js.map → chart-config-scatter-D5nVLDvi.js.map} +1 -1
- package/dist/client/chunks/{chart-config-sunburst-Z_gqIY5u.js → chart-config-sunburst-Ca3FX9nW.js} +2 -2
- package/dist/client/chunks/{chart-config-sunburst-Z_gqIY5u.js.map → chart-config-sunburst-Ca3FX9nW.js.map} +1 -1
- package/dist/client/chunks/{chart-config-tree-map-BD-xAeIy.js → chart-config-tree-map-Bjy4QNa3.js} +2 -2
- package/dist/client/chunks/{chart-config-tree-map-BD-xAeIy.js.map → chart-config-tree-map-Bjy4QNa3.js.map} +1 -1
- package/dist/client/chunks/{chart-config-waterfall-CHwVkXZc.js → chart-config-waterfall-C5K2eqR7.js} +2 -2
- package/dist/client/chunks/{chart-config-waterfall-CHwVkXZc.js.map → chart-config-waterfall-C5K2eqR7.js.map} +1 -1
- package/dist/client/chunks/{chart-data-table-D4s27-U3.js → chart-data-table-2iCsn0CF.js} +1099 -933
- package/dist/client/chunks/chart-data-table-2iCsn0CF.js.map +1 -0
- package/dist/client/chunks/{chart-funnel-C9JRW79j.js → chart-funnel-poyOf7-e.js} +3 -3
- package/dist/client/chunks/{chart-funnel-C9JRW79j.js.map → chart-funnel-poyOf7-e.js.map} +1 -1
- package/dist/client/chunks/{chart-gauge-BFhc4i_f.js → chart-gauge-D5J4gRky.js} +3 -3
- package/dist/client/chunks/{chart-gauge-BFhc4i_f.js.map → chart-gauge-D5J4gRky.js.map} +1 -1
- package/dist/client/chunks/{chart-heat-map-BOMQeUDL.js → chart-heat-map-BAMVhLGG.js} +3 -3
- package/dist/client/chunks/{chart-heat-map-BOMQeUDL.js.map → chart-heat-map-BAMVhLGG.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-delta-DzGNnIcW.js → chart-kpi-delta-KQjUIeal.js} +71 -73
- package/dist/client/chunks/{chart-kpi-delta-DzGNnIcW.js.map → chart-kpi-delta-KQjUIeal.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-number-sHtgbE_f.js → chart-kpi-number-CsQgV_x3.js} +62 -63
- package/dist/client/chunks/{chart-kpi-number-sHtgbE_f.js.map → chart-kpi-number-CsQgV_x3.js.map} +1 -1
- package/dist/client/chunks/{chart-kpi-text-Bmk-GzVJ.js → chart-kpi-text-BR0IyeUU.js} +26 -27
- package/dist/client/chunks/{chart-kpi-text-Bmk-GzVJ.js.map → chart-kpi-text-BR0IyeUU.js.map} +1 -1
- package/dist/client/chunks/{chart-line-Bkl5WQAw.js → chart-line-B5_WntY5.js} +4 -4
- package/dist/client/chunks/{chart-line-Bkl5WQAw.js.map → chart-line-B5_WntY5.js.map} +1 -1
- package/dist/client/chunks/{chart-markdown-7MNetRtX.js → chart-markdown-B6bENbel.js} +648 -645
- package/dist/client/chunks/chart-markdown-B6bENbel.js.map +1 -0
- package/dist/client/chunks/{chart-measure-profile-B7h6vQo4.js → chart-measure-profile-yWk-obNb.js} +4 -4
- package/dist/client/chunks/{chart-measure-profile-B7h6vQo4.js.map → chart-measure-profile-yWk-obNb.js.map} +1 -1
- package/dist/client/chunks/{chart-pie-Do2YnCxl.js → chart-pie-BodrUoHv.js} +4 -4
- package/dist/client/chunks/{chart-pie-Do2YnCxl.js.map → chart-pie-BodrUoHv.js.map} +1 -1
- package/dist/client/chunks/{chart-radar-C7gQkH70.js → chart-radar-gG3zfLud.js} +4 -4
- package/dist/client/chunks/{chart-radar-C7gQkH70.js.map → chart-radar-gG3zfLud.js.map} +1 -1
- package/dist/client/chunks/{chart-radial-bar-DHqCck3x.js → chart-radial-bar-C2IPCV8c.js} +4 -4
- package/dist/client/chunks/{chart-radial-bar-DHqCck3x.js.map → chart-radial-bar-C2IPCV8c.js.map} +1 -1
- package/dist/client/chunks/{chart-sankey-8nRYnupt.js → chart-sankey-BOyxfG1Q.js} +3 -3
- package/dist/client/chunks/{chart-sankey-8nRYnupt.js.map → chart-sankey-BOyxfG1Q.js.map} +1 -1
- package/dist/client/chunks/{chart-scatter-YSHOUfXf.js → chart-scatter-B8OwlsAX.js} +4 -4
- package/dist/client/chunks/{chart-scatter-YSHOUfXf.js.map → chart-scatter-B8OwlsAX.js.map} +1 -1
- package/dist/client/chunks/{chart-sunburst-BGhJ4fui.js → chart-sunburst-D9lGEOCc.js} +4 -4
- package/dist/client/chunks/{chart-sunburst-BGhJ4fui.js.map → chart-sunburst-D9lGEOCc.js.map} +1 -1
- package/dist/client/chunks/{chart-tree-map-BlhcXK1F.js → chart-tree-map-DZaKy9he.js} +4 -4
- package/dist/client/chunks/{chart-tree-map-BlhcXK1F.js.map → chart-tree-map-DZaKy9he.js.map} +1 -1
- package/dist/client/chunks/{chart-waterfall-BWCAzlPq.js → chart-waterfall-BCdUx4DC.js} +4 -4
- package/dist/client/chunks/{chart-waterfall-BWCAzlPq.js.map → chart-waterfall-BCdUx4DC.js.map} +1 -1
- package/dist/client/chunks/{charts-core-Cy3rHADX.js → charts-core-C5Yokk-x.js} +2 -2
- package/dist/client/chunks/{charts-core-Cy3rHADX.js.map → charts-core-C5Yokk-x.js.map} +1 -1
- package/dist/client/chunks/{core-BdWfCZ3y.js → core-DcfMGTVa.js} +2 -2
- package/dist/client/chunks/{core-BdWfCZ3y.js.map → core-DcfMGTVa.js.map} +1 -1
- package/dist/client/chunks/{dist-BWPE2m_X.js → dist-eZurnOde.js} +1 -1
- package/dist/client/chunks/{dist-BWPE2m_X.js.map → dist-eZurnOde.js.map} +1 -1
- package/dist/client/chunks/exceljs.min-CcjgM-qg.js +31986 -0
- package/dist/client/chunks/exceljs.min-CcjgM-qg.js.map +1 -0
- package/dist/client/chunks/{javascript-O1RIRkZr.js → javascript-DFvvCuoP.js} +1 -1
- package/dist/client/chunks/{javascript-O1RIRkZr.js.map → javascript-DFvvCuoP.js.map} +1 -1
- package/dist/client/chunks/{json-C5bX2tt1.js → json-BBm9TlrA.js} +1 -1
- package/dist/client/chunks/{json-C5bX2tt1.js.map → json-BBm9TlrA.js.map} +1 -1
- package/dist/client/chunks/{rolldown-runtime-lc2dmIiU.js → rolldown-runtime-CCl2IeXn.js} +5 -2
- package/dist/client/chunks/{schema-visualization-BJ8HrNqB.js → schema-visualization-t1KiOORo.js} +259 -267
- package/dist/client/chunks/schema-visualization-t1KiOORo.js.map +1 -0
- package/dist/client/chunks/{sql-D2qikO5q.js → sql-k0GA6oZ_.js} +1 -1
- package/dist/client/chunks/{sql-D2qikO5q.js.map → sql-k0GA6oZ_.js.map} +1 -1
- package/dist/client/chunks/{syntaxHighlighting-BYYWYmjr.js → syntaxHighlighting-CnDujqwg.js} +2 -2
- package/dist/client/chunks/{syntaxHighlighting-BYYWYmjr.js.map → syntaxHighlighting-CnDujqwg.js.map} +1 -1
- package/dist/client/chunks/{useDebounce-EWynD0lC.js → useDebounce-CKqkM42n.js} +11 -14
- package/dist/client/chunks/{useDebounce-EWynD0lC.js.map → useDebounce-CKqkM42n.js.map} +1 -1
- package/dist/client/chunks/{useExplainAI-BBTJWQVu.js → useExplainAI-DBIfYwz-.js} +12 -12
- package/dist/client/chunks/{useExplainAI-BBTJWQVu.js.map → useExplainAI-DBIfYwz-.js.map} +1 -1
- package/dist/client/chunks/{utils-DMyRayr_.js → utils--qCr8Yn5.js} +2 -2
- package/dist/client/chunks/utils--qCr8Yn5.js.map +1 -0
- package/dist/client/chunks/{vendor-iY25ogTA.js → vendor-BRlsCGnK.js} +46 -46
- package/dist/client/chunks/{vendor-iY25ogTA.js.map → vendor-BRlsCGnK.js.map} +1 -1
- package/dist/client/components.js +3 -3
- package/dist/client/hooks.js +3 -3
- package/dist/client/icons/types.d.ts +1 -0
- package/dist/client/icons.js +1 -1
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.js +168 -169
- package/dist/client/index.js.map +1 -1
- package/dist/client/providers.js +1 -1
- package/dist/client/schema.d.ts +13 -0
- package/dist/client/schema.js +2 -0
- package/dist/client/styles.css +1 -1
- package/dist/client/types.d.ts +6 -0
- package/dist/client/utils/exportXlsx.d.ts +20 -0
- package/dist/client/utils/index.d.ts +1 -0
- package/dist/client/utils.js +7 -7
- package/dist/client-bundle-stats.html +1 -1
- package/dist/server/index.cjs +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/{openai-DqCEogm0.js → openai-CqZg6zYL.js} +1 -1
- package/dist/server/{openai-0HbLlZq6.cjs → openai-D9Zjuby1.cjs} +1 -1
- package/dist/{adapters/openai-C96O8M75.cjs → server/openai-DmuEbFd6.cjs} +1 -1
- package/dist/server/{openai-DnGeU9PT.js → openai-rwauPzCT.js} +1 -1
- package/package.json +10 -1
- package/dist/adapters/mcp-transport-ro4OL4BW.cjs +0 -255
- package/dist/client/chunks/DashboardEditModal-D_7J62sG.js.map +0 -1
- package/dist/client/chunks/analysis-builder-DPJJiHVx.js.map +0 -1
- package/dist/client/chunks/chart-data-table-D4s27-U3.js.map +0 -1
- package/dist/client/chunks/chart-markdown-7MNetRtX.js.map +0 -1
- package/dist/client/chunks/schema-visualization-BJ8HrNqB.js.map +0 -1
- package/dist/client/chunks/utils-DMyRayr_.js.map +0 -1
package/dist/client/chunks/{schema-visualization-BJ8HrNqB.js → schema-visualization-t1KiOORo.js}
RENAMED
|
@@ -1,36 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
1
|
+
import { A as e, c as t } from "./chart-data-table-2iCsn0CF.js";
|
|
2
|
+
import { Suspense as n, createContext as r, lazy as i, useCallback as a, useContext as o, useEffect as s, useMemo as c, useRef as l, useState as u } from "react";
|
|
3
|
+
import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
5
4
|
//#region src/client/components/SchemaVisualization/xyflowContext.tsx
|
|
6
|
-
var
|
|
7
|
-
function
|
|
8
|
-
let e =
|
|
5
|
+
var m = r(null), h = m.Provider;
|
|
6
|
+
function g() {
|
|
7
|
+
let e = o(m);
|
|
9
8
|
if (!e) throw Error("useXyflow must be used within XyflowProvider");
|
|
10
9
|
return e;
|
|
11
10
|
}
|
|
12
11
|
//#endregion
|
|
13
12
|
//#region src/client/components/SchemaVisualization/SchemaVisualizationLazy.tsx
|
|
14
|
-
var
|
|
15
|
-
function
|
|
16
|
-
return /* @__PURE__ */
|
|
13
|
+
var _ = !1;
|
|
14
|
+
function v(e) {
|
|
15
|
+
return /* @__PURE__ */ f("div", {
|
|
17
16
|
className: "dc:flex dc:items-center dc:justify-center dc:h-full dc:p-8",
|
|
18
|
-
children: /* @__PURE__ */
|
|
17
|
+
children: /* @__PURE__ */ p("div", {
|
|
19
18
|
className: "dc:text-center dc:max-w-md",
|
|
20
19
|
children: [
|
|
21
|
-
/* @__PURE__ */
|
|
20
|
+
/* @__PURE__ */ f("div", {
|
|
22
21
|
className: "dc:text-4xl dc:mb-4",
|
|
23
22
|
children: "🔍"
|
|
24
23
|
}),
|
|
25
|
-
/* @__PURE__ */
|
|
24
|
+
/* @__PURE__ */ f("h3", {
|
|
26
25
|
className: "dc:text-lg dc:font-semibold text-dc-text dc:mb-2",
|
|
27
26
|
children: "Schema Visualization requires additional packages"
|
|
28
27
|
}),
|
|
29
|
-
/* @__PURE__ */
|
|
28
|
+
/* @__PURE__ */ f("p", {
|
|
30
29
|
className: "dc:text-sm text-dc-text-secondary dc:mb-4",
|
|
31
30
|
children: "Install the required dependencies to enable the interactive schema diagram:"
|
|
32
31
|
}),
|
|
33
|
-
/* @__PURE__ */
|
|
32
|
+
/* @__PURE__ */ f("code", {
|
|
34
33
|
className: "dc:block dc:px-4 dc:py-2 dc:rounded bg-dc-surface-secondary dc:text-sm dc:font-mono text-dc-text dc:border border-dc-border",
|
|
35
34
|
children: "npm install @xyflow/react elkjs"
|
|
36
35
|
})
|
|
@@ -38,61 +37,61 @@ function y(e) {
|
|
|
38
37
|
})
|
|
39
38
|
});
|
|
40
39
|
}
|
|
41
|
-
function
|
|
42
|
-
return /* @__PURE__ */
|
|
40
|
+
function y() {
|
|
41
|
+
return /* @__PURE__ */ f("div", {
|
|
43
42
|
className: "dc:flex dc:items-center dc:justify-center dc:h-full",
|
|
44
|
-
children: /* @__PURE__ */
|
|
43
|
+
children: /* @__PURE__ */ p("div", {
|
|
45
44
|
className: "dc:text-center",
|
|
46
|
-
children: [/* @__PURE__ */
|
|
45
|
+
children: [/* @__PURE__ */ f("div", { className: "dc:animate-spin dc:rounded-full dc:h-8 dc:w-8 dc:border-b-2 border-dc-accent dc:mx-auto dc:mb-2" }), /* @__PURE__ */ f("p", {
|
|
47
46
|
className: "dc:text-sm text-dc-text-muted",
|
|
48
47
|
children: "Loading schema visualization..."
|
|
49
48
|
})]
|
|
50
49
|
})
|
|
51
50
|
});
|
|
52
51
|
}
|
|
53
|
-
var
|
|
54
|
-
function
|
|
55
|
-
let [t,
|
|
56
|
-
return
|
|
57
|
-
if (
|
|
52
|
+
var b = i(async () => ({ default: (await import("./SchemaVisualization-B1GUT-FM.js")).SchemaVisualization }));
|
|
53
|
+
function x(e) {
|
|
54
|
+
let [t, r] = u(null), [i, a] = u(_);
|
|
55
|
+
return s(() => {
|
|
56
|
+
if (_) return;
|
|
58
57
|
let e = !1;
|
|
59
|
-
return import(
|
|
60
|
-
e ||
|
|
58
|
+
return import("@xyflow/react").then((t) => {
|
|
59
|
+
e || r(t);
|
|
61
60
|
}).catch(() => {
|
|
62
|
-
|
|
61
|
+
_ = !0, e || a(!0);
|
|
63
62
|
}), () => {
|
|
64
63
|
e = !0;
|
|
65
64
|
};
|
|
66
|
-
}, []), i ? /* @__PURE__ */
|
|
65
|
+
}, []), i ? /* @__PURE__ */ f(v, { ...e }) : t ? /* @__PURE__ */ f(h, {
|
|
67
66
|
value: t,
|
|
68
|
-
children: /* @__PURE__ */
|
|
69
|
-
fallback: /* @__PURE__ */
|
|
70
|
-
children: /* @__PURE__ */
|
|
67
|
+
children: /* @__PURE__ */ f(n, {
|
|
68
|
+
fallback: /* @__PURE__ */ f(y, {}),
|
|
69
|
+
children: /* @__PURE__ */ f(b, { ...e })
|
|
71
70
|
})
|
|
72
|
-
}) : /* @__PURE__ */
|
|
71
|
+
}) : /* @__PURE__ */ f(y, {});
|
|
73
72
|
}
|
|
74
73
|
//#endregion
|
|
75
74
|
//#region src/client/components/SchemaVisualization/CubeNode.tsx
|
|
76
|
-
function
|
|
77
|
-
let { Handle: n, Position: r } =
|
|
75
|
+
function S({ data: t }) {
|
|
76
|
+
let { Handle: n, Position: r } = g(), { cube: i, onFieldClick: a, onCubeClick: o, isHighlighted: s, highlightedFields: c, searchTerm: l, selectedField: u } = t, d = (e, t, n) => {
|
|
78
77
|
a && a(i.name, t, n, {
|
|
79
78
|
x: e.clientX,
|
|
80
79
|
y: e.clientY
|
|
81
80
|
});
|
|
82
|
-
},
|
|
81
|
+
}, m = e("info"), h = (e) => {
|
|
83
82
|
e.stopPropagation(), o && o(i.name, {
|
|
84
83
|
x: e.clientX,
|
|
85
84
|
y: e.clientY
|
|
86
85
|
});
|
|
87
|
-
},
|
|
86
|
+
}, _ = (e) => u ? u.cubeName === i.name && u.fieldName === e : !1, v = u?.cubeName === i.name && u?.fieldName === null, y = (e) => c.includes(e), b = (e) => {
|
|
88
87
|
if (!l?.trim()) return !0;
|
|
89
88
|
let t = l.toLowerCase();
|
|
90
89
|
return e.name.toLowerCase().includes(t) || e.title && e.title.toLowerCase().includes(t);
|
|
91
90
|
}, x = l?.trim() ? i.measures.some((e) => b(e)) || i.dimensions.some((e) => b(e)) : !0, S = (e, t, n) => {
|
|
92
|
-
let r =
|
|
91
|
+
let r = _(e.name.split(".")[1] || e.name), i = "dc:px-4 dc:py-2 dc:text-xs dc:cursor-pointer dc:transition-all dc:border-b border-dc-border last:dc:border-b-0 nodrag nopan";
|
|
93
92
|
return r ? `${i} bg-dc-accent-bg text-dc-accent dc:font-semibold dc:ring-1 dc:ring-inset ring-dc-accent` : !x && l?.trim() ? t ? `${i} bg-dc-accent-bg text-dc-accent dc:font-semibold` : `${i} dc:hover:bg-dc-surface-hover text-dc-text-secondary` : l?.trim() && !b(e) ? `${i} dc:opacity-40 dc:hover:opacity-60 text-dc-text-muted` : l?.trim() && b(e) && !t ? `${i} dc:font-bold dc:hover:bg-dc-accent-bg` : t ? `${i} bg-dc-accent-bg text-dc-accent dc:font-semibold` : `${i} dc:hover:bg-dc-surface-hover text-dc-text-secondary`;
|
|
94
93
|
}, C = i.dimensions.filter((e) => e.type === "time"), w = i.dimensions.filter((e) => e.type !== "time");
|
|
95
|
-
return /* @__PURE__ */
|
|
94
|
+
return /* @__PURE__ */ p("div", {
|
|
96
95
|
className: `
|
|
97
96
|
dc:border-2 dc:rounded-lg dc:shadow-lg dc:min-w-[280px] dc:overflow-hidden dc:transition-all
|
|
98
97
|
${!x && l?.trim() ? "dc:opacity-30 dc:grayscale" : ""}
|
|
@@ -100,59 +99,59 @@ function C({ data: e }) {
|
|
|
100
99
|
`,
|
|
101
100
|
style: { backgroundColor: "var(--dc-surface)" },
|
|
102
101
|
children: [
|
|
103
|
-
/* @__PURE__ */
|
|
102
|
+
/* @__PURE__ */ f("div", {
|
|
104
103
|
className: `dc:px-4 dc:py-3 dc:transition-colors ${s ? "bg-dc-accent-bg" : "bg-dc-surface-secondary"}`,
|
|
105
|
-
children: /* @__PURE__ */
|
|
104
|
+
children: /* @__PURE__ */ p("div", {
|
|
106
105
|
className: "dc:flex dc:items-center dc:justify-between",
|
|
107
106
|
children: [
|
|
108
|
-
/* @__PURE__ */
|
|
107
|
+
/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("h3", {
|
|
109
108
|
className: "dc:font-semibold text-dc-text dc:text-sm",
|
|
110
109
|
children: i.title || i.name
|
|
111
|
-
}), i.description && /* @__PURE__ */
|
|
110
|
+
}), i.description && /* @__PURE__ */ f("p", {
|
|
112
111
|
className: "dc:text-xs text-dc-text-muted dc:mt-1 dc:line-clamp-2",
|
|
113
112
|
children: i.description
|
|
114
113
|
})] }),
|
|
115
|
-
o && /* @__PURE__ */
|
|
114
|
+
o && /* @__PURE__ */ f("button", {
|
|
116
115
|
className: `dc:ml-2 dc:p-1 dc:rounded dc:transition-colors nodrag nopan ${v ? "bg-dc-accent-bg text-dc-accent" : "text-dc-text-muted dc:hover:text-dc-text dc:hover:bg-dc-surface-hover"}`,
|
|
117
116
|
onClick: h,
|
|
118
117
|
title: "Cube info",
|
|
119
|
-
children: /* @__PURE__ */
|
|
118
|
+
children: /* @__PURE__ */ f(m, { className: "dc:w-5 dc:h-5" })
|
|
120
119
|
}),
|
|
121
|
-
!o && /* @__PURE__ */
|
|
120
|
+
!o && /* @__PURE__ */ p("div", {
|
|
122
121
|
className: "dc:text-xs text-dc-text-muted dc:ml-2",
|
|
123
|
-
children: [/* @__PURE__ */
|
|
122
|
+
children: [/* @__PURE__ */ p("div", { children: [i.measures.length, "M"] }), /* @__PURE__ */ p("div", { children: [i.dimensions.length, "D"] })]
|
|
124
123
|
})
|
|
125
124
|
]
|
|
126
125
|
})
|
|
127
126
|
}),
|
|
128
|
-
i.measures.length > 0 && /* @__PURE__ */
|
|
127
|
+
i.measures.length > 0 && /* @__PURE__ */ p("div", {
|
|
129
128
|
className: "dc:border-t border-dc-border",
|
|
130
|
-
children: [/* @__PURE__ */
|
|
129
|
+
children: [/* @__PURE__ */ f("div", {
|
|
131
130
|
className: "dc:px-4 dc:py-1.5 dc:border-b border-dc-border",
|
|
132
131
|
style: { backgroundColor: "color-mix(in srgb, var(--dc-warning) 10%, var(--dc-surface))" },
|
|
133
|
-
children: /* @__PURE__ */
|
|
132
|
+
children: /* @__PURE__ */ p("h4", {
|
|
134
133
|
className: "dc:text-xs dc:font-medium text-dc-text-secondary dc:flex dc:items-center",
|
|
135
134
|
children: [
|
|
136
|
-
/* @__PURE__ */
|
|
135
|
+
/* @__PURE__ */ f("span", { className: "dc:w-2 dc:h-2 bg-dc-warning dc:rounded-full dc:mr-2" }),
|
|
137
136
|
"Measures (",
|
|
138
137
|
i.measures.length,
|
|
139
138
|
")"
|
|
140
139
|
]
|
|
141
140
|
})
|
|
142
|
-
}), /* @__PURE__ */
|
|
141
|
+
}), /* @__PURE__ */ f("div", {
|
|
143
142
|
className: "dc:max-h-64 dc:overflow-y-auto nowheel",
|
|
144
143
|
children: i.measures.map((e) => {
|
|
145
144
|
let t = e.name.split(".")[1] || e.name;
|
|
146
|
-
return /* @__PURE__ */
|
|
145
|
+
return /* @__PURE__ */ f("div", {
|
|
147
146
|
className: S(e, y(e.name), "measure"),
|
|
148
147
|
onClick: (e) => d(e, t, "measure"),
|
|
149
148
|
title: e.title,
|
|
150
|
-
children: /* @__PURE__ */
|
|
149
|
+
children: /* @__PURE__ */ p("div", {
|
|
151
150
|
className: "dc:flex dc:items-center dc:justify-between",
|
|
152
|
-
children: [/* @__PURE__ */
|
|
151
|
+
children: [/* @__PURE__ */ f("span", {
|
|
153
152
|
className: "dc:font-mono dc:truncate",
|
|
154
153
|
children: e.shortTitle || e.title || t
|
|
155
|
-
}), /* @__PURE__ */
|
|
154
|
+
}), /* @__PURE__ */ f("span", {
|
|
156
155
|
className: "text-dc-text-muted dc:ml-2 dc:text-[10px] dc:uppercase",
|
|
157
156
|
children: e.type
|
|
158
157
|
})]
|
|
@@ -161,34 +160,34 @@ function C({ data: e }) {
|
|
|
161
160
|
})
|
|
162
161
|
})]
|
|
163
162
|
}),
|
|
164
|
-
C.length > 0 && /* @__PURE__ */
|
|
163
|
+
C.length > 0 && /* @__PURE__ */ p("div", {
|
|
165
164
|
className: "dc:border-t border-dc-border",
|
|
166
|
-
children: [/* @__PURE__ */
|
|
165
|
+
children: [/* @__PURE__ */ f("div", {
|
|
167
166
|
className: "dc:px-4 dc:py-1.5 dc:border-b border-dc-border",
|
|
168
167
|
style: { backgroundColor: "color-mix(in srgb, var(--dc-accent) 10%, var(--dc-surface))" },
|
|
169
|
-
children: /* @__PURE__ */
|
|
168
|
+
children: /* @__PURE__ */ p("h4", {
|
|
170
169
|
className: "dc:text-xs dc:font-medium text-dc-text-secondary dc:flex dc:items-center",
|
|
171
170
|
children: [
|
|
172
|
-
/* @__PURE__ */
|
|
171
|
+
/* @__PURE__ */ f("span", { className: "dc:w-2 dc:h-2 bg-dc-accent dc:rounded-full dc:mr-2" }),
|
|
173
172
|
"Time Dimensions (",
|
|
174
173
|
C.length,
|
|
175
174
|
")"
|
|
176
175
|
]
|
|
177
176
|
})
|
|
178
|
-
}), /* @__PURE__ */
|
|
177
|
+
}), /* @__PURE__ */ f("div", {
|
|
179
178
|
className: "dc:max-h-64 dc:overflow-y-auto nowheel",
|
|
180
179
|
children: C.map((e) => {
|
|
181
180
|
let t = e.name.split(".")[1] || e.name;
|
|
182
|
-
return /* @__PURE__ */
|
|
181
|
+
return /* @__PURE__ */ f("div", {
|
|
183
182
|
className: S(e, y(e.name), "dimension"),
|
|
184
183
|
onClick: (e) => d(e, t, "dimension"),
|
|
185
184
|
title: e.title,
|
|
186
|
-
children: /* @__PURE__ */
|
|
185
|
+
children: /* @__PURE__ */ p("div", {
|
|
187
186
|
className: "dc:flex dc:items-center dc:justify-between",
|
|
188
|
-
children: [/* @__PURE__ */
|
|
187
|
+
children: [/* @__PURE__ */ f("span", {
|
|
189
188
|
className: "dc:font-mono dc:truncate",
|
|
190
189
|
children: e.shortTitle || e.title || t
|
|
191
|
-
}), /* @__PURE__ */
|
|
190
|
+
}), /* @__PURE__ */ f("span", {
|
|
192
191
|
className: "text-dc-text-muted dc:ml-2 dc:text-[10px] dc:uppercase",
|
|
193
192
|
children: e.type
|
|
194
193
|
})]
|
|
@@ -197,34 +196,34 @@ function C({ data: e }) {
|
|
|
197
196
|
})
|
|
198
197
|
})]
|
|
199
198
|
}),
|
|
200
|
-
w.length > 0 && /* @__PURE__ */
|
|
199
|
+
w.length > 0 && /* @__PURE__ */ p("div", {
|
|
201
200
|
className: "dc:border-t border-dc-border",
|
|
202
|
-
children: [/* @__PURE__ */
|
|
201
|
+
children: [/* @__PURE__ */ f("div", {
|
|
203
202
|
className: "dc:px-4 dc:py-1.5 dc:border-b border-dc-border",
|
|
204
203
|
style: { backgroundColor: "color-mix(in srgb, var(--dc-success) 10%, var(--dc-surface))" },
|
|
205
|
-
children: /* @__PURE__ */
|
|
204
|
+
children: /* @__PURE__ */ p("h4", {
|
|
206
205
|
className: "dc:text-xs dc:font-medium text-dc-text-secondary dc:flex dc:items-center",
|
|
207
206
|
children: [
|
|
208
|
-
/* @__PURE__ */
|
|
207
|
+
/* @__PURE__ */ f("span", { className: "dc:w-2 dc:h-2 bg-dc-success dc:rounded-full dc:mr-2" }),
|
|
209
208
|
"Dimensions (",
|
|
210
209
|
w.length,
|
|
211
210
|
")"
|
|
212
211
|
]
|
|
213
212
|
})
|
|
214
|
-
}), /* @__PURE__ */
|
|
213
|
+
}), /* @__PURE__ */ f("div", {
|
|
215
214
|
className: "dc:max-h-64 dc:overflow-y-auto nowheel",
|
|
216
215
|
children: w.map((e) => {
|
|
217
216
|
let t = e.name.split(".")[1] || e.name;
|
|
218
|
-
return /* @__PURE__ */
|
|
217
|
+
return /* @__PURE__ */ f("div", {
|
|
219
218
|
className: S(e, y(e.name), "dimension"),
|
|
220
219
|
onClick: (e) => d(e, t, "dimension"),
|
|
221
220
|
title: e.title,
|
|
222
|
-
children: /* @__PURE__ */
|
|
221
|
+
children: /* @__PURE__ */ p("div", {
|
|
223
222
|
className: "dc:flex dc:items-center dc:justify-between",
|
|
224
|
-
children: [/* @__PURE__ */
|
|
223
|
+
children: [/* @__PURE__ */ f("span", {
|
|
225
224
|
className: "dc:font-mono dc:truncate",
|
|
226
225
|
children: e.shortTitle || e.title || t
|
|
227
|
-
}), /* @__PURE__ */
|
|
226
|
+
}), /* @__PURE__ */ f("span", {
|
|
228
227
|
className: "text-dc-text-muted dc:ml-2 dc:text-[10px] dc:uppercase",
|
|
229
228
|
children: e.type
|
|
230
229
|
})]
|
|
@@ -233,28 +232,28 @@ function C({ data: e }) {
|
|
|
233
232
|
})
|
|
234
233
|
})]
|
|
235
234
|
}),
|
|
236
|
-
/* @__PURE__ */
|
|
235
|
+
/* @__PURE__ */ f(n, {
|
|
237
236
|
type: "source",
|
|
238
237
|
position: r.Right,
|
|
239
238
|
id: "right",
|
|
240
239
|
className: "dc:opacity-0",
|
|
241
240
|
isConnectable: !1
|
|
242
241
|
}),
|
|
243
|
-
/* @__PURE__ */
|
|
242
|
+
/* @__PURE__ */ f(n, {
|
|
244
243
|
type: "target",
|
|
245
244
|
position: r.Left,
|
|
246
245
|
id: "left",
|
|
247
246
|
className: "dc:opacity-0",
|
|
248
247
|
isConnectable: !1
|
|
249
248
|
}),
|
|
250
|
-
/* @__PURE__ */
|
|
249
|
+
/* @__PURE__ */ f(n, {
|
|
251
250
|
type: "source",
|
|
252
251
|
position: r.Bottom,
|
|
253
252
|
id: "bottom",
|
|
254
253
|
className: "dc:opacity-0",
|
|
255
254
|
isConnectable: !1
|
|
256
255
|
}),
|
|
257
|
-
/* @__PURE__ */
|
|
256
|
+
/* @__PURE__ */ f(n, {
|
|
258
257
|
type: "target",
|
|
259
258
|
position: r.Top,
|
|
260
259
|
id: "top",
|
|
@@ -266,8 +265,8 @@ function C({ data: e }) {
|
|
|
266
265
|
}
|
|
267
266
|
//#endregion
|
|
268
267
|
//#region src/client/components/SchemaVisualization/RelationshipEdge.tsx
|
|
269
|
-
function
|
|
270
|
-
let { getBezierPath: l, BaseEdge: u, EdgeLabelRenderer:
|
|
268
|
+
function C({ sourceX: e, sourceY: t, targetX: n, targetY: r, sourcePosition: i, targetPosition: a, style: o = {}, data: s, markerEnd: c }) {
|
|
269
|
+
let { getBezierPath: l, BaseEdge: u, EdgeLabelRenderer: m } = g(), [h, _, v] = l({
|
|
271
270
|
sourceX: e,
|
|
272
271
|
sourceY: t,
|
|
273
272
|
sourcePosition: i,
|
|
@@ -293,36 +292,36 @@ function w({ sourceX: e, sourceY: t, targetX: n, targetY: r, sourcePosition: i,
|
|
|
293
292
|
default: return "#6b7280";
|
|
294
293
|
}
|
|
295
294
|
})(y.relationship), C = x(y.relationship);
|
|
296
|
-
return /* @__PURE__ */
|
|
295
|
+
return /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(u, {
|
|
297
296
|
path: h,
|
|
298
297
|
markerEnd: c,
|
|
299
298
|
style: {
|
|
300
299
|
...o,
|
|
301
300
|
stroke: S
|
|
302
301
|
}
|
|
303
|
-
}), /* @__PURE__ */
|
|
302
|
+
}), /* @__PURE__ */ f(m, { children: /* @__PURE__ */ f("div", {
|
|
304
303
|
style: {
|
|
305
304
|
position: "absolute",
|
|
306
|
-
transform: `translate(-50%, -50%) translate(${
|
|
305
|
+
transform: `translate(-50%, -50%) translate(${_}px,${v}px)`,
|
|
307
306
|
fontSize: 10,
|
|
308
307
|
pointerEvents: "all"
|
|
309
308
|
},
|
|
310
309
|
className: "nodrag nopan",
|
|
311
|
-
children: /* @__PURE__ */
|
|
310
|
+
children: /* @__PURE__ */ f("div", {
|
|
312
311
|
className: "dc:border-2 dc:rounded-md dc:px-2 dc:py-1 dc:shadow-xs",
|
|
313
312
|
style: {
|
|
314
313
|
backgroundColor: "var(--dc-surface)",
|
|
315
314
|
borderColor: S
|
|
316
315
|
},
|
|
317
|
-
children: /* @__PURE__ */
|
|
316
|
+
children: /* @__PURE__ */ p("div", {
|
|
318
317
|
className: "dc:text-center",
|
|
319
|
-
children: [/* @__PURE__ */
|
|
318
|
+
children: [/* @__PURE__ */ f("div", {
|
|
320
319
|
className: "dc:font-bold dc:text-xs dc:mb-1",
|
|
321
320
|
style: { color: S },
|
|
322
321
|
children: C
|
|
323
|
-
}), /* @__PURE__ */
|
|
322
|
+
}), /* @__PURE__ */ f("div", {
|
|
324
323
|
className: "dc:text-[9px] text-dc-text-muted dc:leading-tight",
|
|
325
|
-
children: b.map((e, t) => /* @__PURE__ */
|
|
324
|
+
children: b.map((e, t) => /* @__PURE__ */ p("div", {
|
|
326
325
|
className: "dc:font-mono",
|
|
327
326
|
children: [
|
|
328
327
|
e.sourceField,
|
|
@@ -337,20 +336,20 @@ function w({ sourceX: e, sourceY: t, targetX: n, targetY: r, sourcePosition: i,
|
|
|
337
336
|
}
|
|
338
337
|
//#endregion
|
|
339
338
|
//#region src/client/components/SchemaVisualization/FieldDetailPanel.tsx
|
|
340
|
-
function
|
|
341
|
-
return /* @__PURE__ */
|
|
339
|
+
function w({ label: e, children: t }) {
|
|
340
|
+
return /* @__PURE__ */ p("div", {
|
|
342
341
|
className: "dc:flex dc:items-start dc:gap-2 dc:text-xs",
|
|
343
|
-
children: [/* @__PURE__ */
|
|
342
|
+
children: [/* @__PURE__ */ f("span", {
|
|
344
343
|
className: "text-dc-text-muted dc:w-20 dc:flex-shrink-0 dc:font-medium",
|
|
345
344
|
children: e
|
|
346
|
-
}), /* @__PURE__ */
|
|
345
|
+
}), /* @__PURE__ */ f("span", {
|
|
347
346
|
className: "text-dc-text dc:flex-1 dc:min-w-0",
|
|
348
347
|
children: t
|
|
349
348
|
})]
|
|
350
349
|
});
|
|
351
350
|
}
|
|
352
|
-
function
|
|
353
|
-
return /* @__PURE__ */
|
|
351
|
+
function T({ type: e, color: t }) {
|
|
352
|
+
return /* @__PURE__ */ f("span", {
|
|
354
353
|
className: "dc:inline-flex dc:items-center dc:px-1.5 dc:py-0.5 dc:rounded dc:text-[10px] dc:font-medium dc:uppercase",
|
|
355
354
|
style: {
|
|
356
355
|
backgroundColor: `color-mix(in srgb, ${t} 15%, var(--dc-surface))`,
|
|
@@ -359,17 +358,17 @@ function E({ type: e, color: t }) {
|
|
|
359
358
|
children: e
|
|
360
359
|
});
|
|
361
360
|
}
|
|
362
|
-
function
|
|
363
|
-
return /* @__PURE__ */
|
|
361
|
+
function E({ measure: e, cube: t }) {
|
|
362
|
+
return /* @__PURE__ */ p("div", {
|
|
364
363
|
className: "dc:flex dc:flex-col dc:gap-2",
|
|
365
364
|
children: [
|
|
366
|
-
/* @__PURE__ */
|
|
365
|
+
/* @__PURE__ */ f(w, {
|
|
367
366
|
label: "Cube",
|
|
368
367
|
children: t.title || t.name
|
|
369
368
|
}),
|
|
370
|
-
/* @__PURE__ */
|
|
369
|
+
/* @__PURE__ */ f(w, {
|
|
371
370
|
label: "Type",
|
|
372
|
-
children: /* @__PURE__ */
|
|
371
|
+
children: /* @__PURE__ */ f(T, {
|
|
373
372
|
type: e.type,
|
|
374
373
|
color: {
|
|
375
374
|
count: "#f59e0b",
|
|
@@ -384,15 +383,15 @@ function D({ measure: e, cube: t }) {
|
|
|
384
383
|
}[e.type] || "#6b7280"
|
|
385
384
|
})
|
|
386
385
|
}),
|
|
387
|
-
e.title && e.title !== e.shortTitle && /* @__PURE__ */
|
|
386
|
+
e.title && e.title !== e.shortTitle && /* @__PURE__ */ f(w, {
|
|
388
387
|
label: "Title",
|
|
389
388
|
children: e.title
|
|
390
389
|
}),
|
|
391
|
-
e.drillMembers && e.drillMembers.length > 0 && /* @__PURE__ */
|
|
390
|
+
e.drillMembers && e.drillMembers.length > 0 && /* @__PURE__ */ f(w, {
|
|
392
391
|
label: "Drill into",
|
|
393
|
-
children: /* @__PURE__ */
|
|
392
|
+
children: /* @__PURE__ */ f("div", {
|
|
394
393
|
className: "dc:flex dc:flex-wrap dc:gap-1",
|
|
395
|
-
children: e.drillMembers.map((e) => /* @__PURE__ */
|
|
394
|
+
children: e.drillMembers.map((e) => /* @__PURE__ */ f("span", {
|
|
396
395
|
className: "dc:font-mono dc:text-[10px] dc:px-1 dc:py-0.5 dc:rounded bg-dc-surface-secondary border-dc-border dc:border",
|
|
397
396
|
children: e.split(".")[1] || e
|
|
398
397
|
}, e))
|
|
@@ -401,44 +400,44 @@ function D({ measure: e, cube: t }) {
|
|
|
401
400
|
]
|
|
402
401
|
});
|
|
403
402
|
}
|
|
404
|
-
function
|
|
403
|
+
function D({ dimension: e, cube: t }) {
|
|
405
404
|
let n = e.type === "time" ? "#3b82f6" : "#10b981", r = t.hierarchies?.filter((n) => n.levels.some((n) => n === e.name || n === `${t.name}.${e.name.split(".")[1]}`)) || [];
|
|
406
|
-
return /* @__PURE__ */
|
|
405
|
+
return /* @__PURE__ */ p("div", {
|
|
407
406
|
className: "dc:flex dc:flex-col dc:gap-2",
|
|
408
407
|
children: [
|
|
409
|
-
/* @__PURE__ */
|
|
408
|
+
/* @__PURE__ */ f(w, {
|
|
410
409
|
label: "Cube",
|
|
411
410
|
children: t.title || t.name
|
|
412
411
|
}),
|
|
413
|
-
/* @__PURE__ */
|
|
412
|
+
/* @__PURE__ */ f(w, {
|
|
414
413
|
label: "Type",
|
|
415
|
-
children: /* @__PURE__ */
|
|
414
|
+
children: /* @__PURE__ */ f(T, {
|
|
416
415
|
type: e.type,
|
|
417
416
|
color: n
|
|
418
417
|
})
|
|
419
418
|
}),
|
|
420
|
-
e.title && e.title !== e.shortTitle && /* @__PURE__ */
|
|
419
|
+
e.title && e.title !== e.shortTitle && /* @__PURE__ */ f(w, {
|
|
421
420
|
label: "Title",
|
|
422
421
|
children: e.title
|
|
423
422
|
}),
|
|
424
|
-
e.type === "time" && e.granularities && e.granularities.length > 0 && /* @__PURE__ */
|
|
423
|
+
e.type === "time" && e.granularities && e.granularities.length > 0 && /* @__PURE__ */ f(w, {
|
|
425
424
|
label: "Granularity",
|
|
426
|
-
children: /* @__PURE__ */
|
|
425
|
+
children: /* @__PURE__ */ f("div", {
|
|
427
426
|
className: "dc:flex dc:flex-wrap dc:gap-1",
|
|
428
|
-
children: e.granularities.map((e) => /* @__PURE__ */
|
|
427
|
+
children: e.granularities.map((e) => /* @__PURE__ */ f("span", {
|
|
429
428
|
className: "dc:font-mono dc:text-[10px] dc:px-1 dc:py-0.5 dc:rounded bg-dc-surface-secondary border-dc-border dc:border",
|
|
430
429
|
children: e
|
|
431
430
|
}, e))
|
|
432
431
|
})
|
|
433
432
|
}),
|
|
434
|
-
r.length > 0 && /* @__PURE__ */
|
|
433
|
+
r.length > 0 && /* @__PURE__ */ f(w, {
|
|
435
434
|
label: "Hierarchy",
|
|
436
|
-
children: r.map((e) => /* @__PURE__ */
|
|
435
|
+
children: r.map((e) => /* @__PURE__ */ p("div", {
|
|
437
436
|
className: "dc:text-[10px]",
|
|
438
|
-
children: [/* @__PURE__ */
|
|
437
|
+
children: [/* @__PURE__ */ f("span", {
|
|
439
438
|
className: "dc:font-medium",
|
|
440
439
|
children: e.title
|
|
441
|
-
}), /* @__PURE__ */
|
|
440
|
+
}), /* @__PURE__ */ p("span", {
|
|
442
441
|
className: "text-dc-text-muted dc:ml-1",
|
|
443
442
|
children: [
|
|
444
443
|
"(",
|
|
@@ -451,26 +450,26 @@ function O({ dimension: e, cube: t }) {
|
|
|
451
450
|
]
|
|
452
451
|
});
|
|
453
452
|
}
|
|
454
|
-
function
|
|
453
|
+
function O({ cube: e }) {
|
|
455
454
|
let t = {
|
|
456
455
|
belongsTo: "#10b981",
|
|
457
456
|
hasOne: "#3b82f6",
|
|
458
457
|
hasMany: "#f59e0b",
|
|
459
458
|
belongsToMany: "#8b5cf6"
|
|
460
459
|
};
|
|
461
|
-
return /* @__PURE__ */
|
|
460
|
+
return /* @__PURE__ */ p("div", {
|
|
462
461
|
className: "dc:flex dc:flex-col dc:gap-2",
|
|
463
462
|
children: [
|
|
464
|
-
e.description && /* @__PURE__ */
|
|
463
|
+
e.description && /* @__PURE__ */ f(w, {
|
|
465
464
|
label: "Description",
|
|
466
465
|
children: e.description
|
|
467
466
|
}),
|
|
468
|
-
/* @__PURE__ */
|
|
467
|
+
/* @__PURE__ */ p(w, {
|
|
469
468
|
label: "Measures",
|
|
470
|
-
children: [/* @__PURE__ */
|
|
469
|
+
children: [/* @__PURE__ */ f("span", {
|
|
471
470
|
className: "dc:font-mono",
|
|
472
471
|
children: e.measures.length
|
|
473
|
-
}), e.measures.length > 0 && /* @__PURE__ */
|
|
472
|
+
}), e.measures.length > 0 && /* @__PURE__ */ p("span", {
|
|
474
473
|
className: "text-dc-text-muted dc:ml-1",
|
|
475
474
|
children: [
|
|
476
475
|
"(",
|
|
@@ -479,12 +478,12 @@ function k({ cube: e }) {
|
|
|
479
478
|
]
|
|
480
479
|
})]
|
|
481
480
|
}),
|
|
482
|
-
/* @__PURE__ */
|
|
481
|
+
/* @__PURE__ */ p(w, {
|
|
483
482
|
label: "Dimensions",
|
|
484
|
-
children: [/* @__PURE__ */
|
|
483
|
+
children: [/* @__PURE__ */ f("span", {
|
|
485
484
|
className: "dc:font-mono",
|
|
486
485
|
children: e.dimensions.length
|
|
487
|
-
}), e.dimensions.some((e) => e.type === "time") && /* @__PURE__ */
|
|
486
|
+
}), e.dimensions.some((e) => e.type === "time") && /* @__PURE__ */ p("span", {
|
|
488
487
|
className: "text-dc-text-muted dc:ml-1",
|
|
489
488
|
children: [
|
|
490
489
|
"(",
|
|
@@ -493,32 +492,32 @@ function k({ cube: e }) {
|
|
|
493
492
|
]
|
|
494
493
|
})]
|
|
495
494
|
}),
|
|
496
|
-
e.relationships && e.relationships.length > 0 && /* @__PURE__ */
|
|
495
|
+
e.relationships && e.relationships.length > 0 && /* @__PURE__ */ f(w, {
|
|
497
496
|
label: "Joins",
|
|
498
|
-
children: /* @__PURE__ */
|
|
497
|
+
children: /* @__PURE__ */ f("div", {
|
|
499
498
|
className: "dc:flex dc:flex-col dc:gap-1",
|
|
500
|
-
children: e.relationships.map((e, n) => /* @__PURE__ */
|
|
499
|
+
children: e.relationships.map((e, n) => /* @__PURE__ */ p("div", {
|
|
501
500
|
className: "dc:flex dc:items-center dc:gap-1.5 dc:text-[10px]",
|
|
502
|
-
children: [/* @__PURE__ */
|
|
501
|
+
children: [/* @__PURE__ */ f(T, {
|
|
503
502
|
type: e.relationship,
|
|
504
503
|
color: t[e.relationship] || "#6b7280"
|
|
505
|
-
}), /* @__PURE__ */
|
|
504
|
+
}), /* @__PURE__ */ f("span", {
|
|
506
505
|
className: "dc:font-mono",
|
|
507
506
|
children: e.targetCube
|
|
508
507
|
})]
|
|
509
508
|
}, n))
|
|
510
509
|
})
|
|
511
510
|
}),
|
|
512
|
-
e.hierarchies && e.hierarchies.length > 0 && /* @__PURE__ */
|
|
511
|
+
e.hierarchies && e.hierarchies.length > 0 && /* @__PURE__ */ f(w, {
|
|
513
512
|
label: "Hierarchies",
|
|
514
|
-
children: /* @__PURE__ */
|
|
513
|
+
children: /* @__PURE__ */ f("div", {
|
|
515
514
|
className: "dc:flex dc:flex-col dc:gap-1",
|
|
516
|
-
children: e.hierarchies.map((e) => /* @__PURE__ */
|
|
515
|
+
children: e.hierarchies.map((e) => /* @__PURE__ */ p("div", {
|
|
517
516
|
className: "dc:text-[10px]",
|
|
518
|
-
children: [/* @__PURE__ */
|
|
517
|
+
children: [/* @__PURE__ */ f("span", {
|
|
519
518
|
className: "dc:font-medium",
|
|
520
519
|
children: e.title
|
|
521
|
-
}), /* @__PURE__ */
|
|
520
|
+
}), /* @__PURE__ */ p("span", {
|
|
522
521
|
className: "text-dc-text-muted dc:ml-1",
|
|
523
522
|
children: [
|
|
524
523
|
"(",
|
|
@@ -529,24 +528,24 @@ function k({ cube: e }) {
|
|
|
529
528
|
}, e.name))
|
|
530
529
|
})
|
|
531
530
|
}),
|
|
532
|
-
e.meta?.eventStream && /* @__PURE__ */
|
|
531
|
+
e.meta?.eventStream && /* @__PURE__ */ f(w, {
|
|
533
532
|
label: "Event Stream",
|
|
534
|
-
children: /* @__PURE__ */
|
|
533
|
+
children: /* @__PURE__ */ p("div", {
|
|
535
534
|
className: "dc:text-[10px]",
|
|
536
535
|
children: [
|
|
537
|
-
/* @__PURE__ */
|
|
536
|
+
/* @__PURE__ */ f("span", {
|
|
538
537
|
className: "text-dc-text-muted",
|
|
539
538
|
children: "binding: "
|
|
540
539
|
}),
|
|
541
|
-
/* @__PURE__ */
|
|
540
|
+
/* @__PURE__ */ f("span", {
|
|
542
541
|
className: "dc:font-mono",
|
|
543
542
|
children: e.meta.eventStream.bindingKey.split(".")[1] || e.meta.eventStream.bindingKey
|
|
544
543
|
}),
|
|
545
|
-
/* @__PURE__ */
|
|
544
|
+
/* @__PURE__ */ f("span", {
|
|
546
545
|
className: "text-dc-text-muted dc:ml-2",
|
|
547
546
|
children: "time: "
|
|
548
547
|
}),
|
|
549
|
-
/* @__PURE__ */
|
|
548
|
+
/* @__PURE__ */ f("span", {
|
|
550
549
|
className: "dc:font-mono",
|
|
551
550
|
children: e.meta.eventStream.timeDimension.split(".")[1] || e.meta.eventStream.timeDimension
|
|
552
551
|
})
|
|
@@ -556,47 +555,47 @@ function k({ cube: e }) {
|
|
|
556
555
|
]
|
|
557
556
|
});
|
|
558
557
|
}
|
|
559
|
-
function ee({ selection:
|
|
560
|
-
let i =
|
|
558
|
+
function ee({ selection: t, meta: n, onClose: r }) {
|
|
559
|
+
let i = e("close"), a = n.cubes.find((e) => e.name === t.cubeName);
|
|
561
560
|
if (!a) return null;
|
|
562
561
|
let o, s, c, l;
|
|
563
|
-
if (
|
|
564
|
-
else if (
|
|
565
|
-
let
|
|
566
|
-
if (!
|
|
567
|
-
o =
|
|
568
|
-
measure:
|
|
562
|
+
if (t.fieldType === "cube" || !t.fieldName) o = a.title || a.name, s = "var(--dc-accent)", c = "color-mix(in srgb, var(--dc-accent) 10%, var(--dc-surface))", l = /* @__PURE__ */ f(O, { cube: a });
|
|
563
|
+
else if (t.fieldType === "measure") {
|
|
564
|
+
let e = a.measures.find((e) => (e.name.split(".")[1] || e.name) === t.fieldName || e.name === t.fieldName);
|
|
565
|
+
if (!e) return null;
|
|
566
|
+
o = e.shortTitle || e.title || t.fieldName, s = "var(--dc-warning)", c = "color-mix(in srgb, var(--dc-warning) 10%, var(--dc-surface))", l = /* @__PURE__ */ f(E, {
|
|
567
|
+
measure: e,
|
|
569
568
|
cube: a
|
|
570
569
|
});
|
|
571
570
|
} else {
|
|
572
|
-
let
|
|
573
|
-
if (!
|
|
574
|
-
o =
|
|
575
|
-
dimension:
|
|
571
|
+
let e = a.dimensions.find((e) => (e.name.split(".")[1] || e.name) === t.fieldName || e.name === t.fieldName);
|
|
572
|
+
if (!e) return null;
|
|
573
|
+
o = e.shortTitle || e.title || t.fieldName, s = e.type === "time" ? "var(--dc-accent)" : "var(--dc-success)", c = e.type === "time" ? "color-mix(in srgb, var(--dc-accent) 10%, var(--dc-surface))" : "color-mix(in srgb, var(--dc-success) 10%, var(--dc-surface))", l = /* @__PURE__ */ f(D, {
|
|
574
|
+
dimension: e,
|
|
576
575
|
cube: a
|
|
577
576
|
});
|
|
578
577
|
}
|
|
579
|
-
return /* @__PURE__ */
|
|
578
|
+
return /* @__PURE__ */ p("div", {
|
|
580
579
|
className: "dc:border-2 dc:rounded-lg dc:shadow-lg dc:min-w-[260px] dc:max-w-[320px] dc:overflow-hidden dc:transition-all border-dc-border",
|
|
581
580
|
style: { backgroundColor: "var(--dc-surface)" },
|
|
582
|
-
children: [/* @__PURE__ */
|
|
581
|
+
children: [/* @__PURE__ */ p("div", {
|
|
583
582
|
className: "dc:px-4 dc:py-2.5 dc:border-b border-dc-border dc:flex dc:items-center dc:justify-between",
|
|
584
583
|
style: { backgroundColor: c },
|
|
585
|
-
children: [/* @__PURE__ */
|
|
584
|
+
children: [/* @__PURE__ */ p("div", {
|
|
586
585
|
className: "dc:flex dc:items-center dc:gap-2 dc:min-w-0",
|
|
587
|
-
children: [/* @__PURE__ */
|
|
586
|
+
children: [/* @__PURE__ */ f("span", {
|
|
588
587
|
className: "dc:w-2 dc:h-2 dc:rounded-full dc:flex-shrink-0",
|
|
589
588
|
style: { backgroundColor: s }
|
|
590
|
-
}), /* @__PURE__ */
|
|
589
|
+
}), /* @__PURE__ */ f("h4", {
|
|
591
590
|
className: "dc:text-sm dc:font-semibold text-dc-text dc:truncate",
|
|
592
591
|
children: o
|
|
593
592
|
})]
|
|
594
|
-
}), /* @__PURE__ */
|
|
593
|
+
}), /* @__PURE__ */ f("button", {
|
|
595
594
|
onClick: r,
|
|
596
595
|
className: "dc:ml-2 dc:flex-shrink-0 text-dc-text-muted dc:hover:text-dc-text dc:transition-colors",
|
|
597
|
-
children: /* @__PURE__ */
|
|
596
|
+
children: /* @__PURE__ */ f(i, { className: "dc:w-3.5 dc:h-3.5" })
|
|
598
597
|
})]
|
|
599
|
-
}), /* @__PURE__ */
|
|
598
|
+
}), /* @__PURE__ */ f("div", {
|
|
600
599
|
className: "dc:px-4 dc:py-3",
|
|
601
600
|
children: l
|
|
602
601
|
})]
|
|
@@ -604,7 +603,7 @@ function ee({ selection: e, meta: n, onClose: r }) {
|
|
|
604
603
|
}
|
|
605
604
|
//#endregion
|
|
606
605
|
//#region src/client/components/SchemaVisualization/useERDLayout.ts
|
|
607
|
-
var
|
|
606
|
+
var k = {
|
|
608
607
|
direction: "LR",
|
|
609
608
|
nodeWidth: 340,
|
|
610
609
|
nodeSep: 150,
|
|
@@ -632,11 +631,7 @@ function M(e) {
|
|
|
632
631
|
}
|
|
633
632
|
var N = null, P = null;
|
|
634
633
|
function F() {
|
|
635
|
-
return P || (P = import(
|
|
636
|
-
"elkjs",
|
|
637
|
-
"lib",
|
|
638
|
-
"elk.bundled.js"
|
|
639
|
-
].join("/")).then((e) => (N = new (e.default || e)(), N)).catch(() => null), P);
|
|
634
|
+
return P || (P = import("elkjs/lib/elk.bundled.js").then((e) => (N = new (e.default || e)(), N)).catch(() => null), P);
|
|
640
635
|
}
|
|
641
636
|
async function I(e, t, n) {
|
|
642
637
|
if (await F(), !N) return {
|
|
@@ -666,7 +661,7 @@ async function I(e, t, n) {
|
|
|
666
661
|
id: e.id,
|
|
667
662
|
sources: [`${e.source}__src__${e.id}`],
|
|
668
663
|
targets: [`${e.target}__tgt__${e.id}`]
|
|
669
|
-
})), l = n.direction === "LR" ? "RIGHT" : "DOWN", u = {
|
|
664
|
+
})), l = n.direction === "LR" ? "RIGHT" : "DOWN", u = await N.layout({
|
|
670
665
|
id: "root",
|
|
671
666
|
layoutOptions: {
|
|
672
667
|
"elk.algorithm": "layered",
|
|
@@ -683,15 +678,15 @@ async function I(e, t, n) {
|
|
|
683
678
|
},
|
|
684
679
|
children: s,
|
|
685
680
|
edges: c
|
|
686
|
-
}, d =
|
|
687
|
-
if (
|
|
681
|
+
}), d = /* @__PURE__ */ new Map();
|
|
682
|
+
if (u.children) for (let e of u.children) d.set(e.id, {
|
|
688
683
|
x: e.x,
|
|
689
684
|
y: e.y
|
|
690
685
|
});
|
|
691
686
|
return {
|
|
692
687
|
nodes: e.map((e) => ({
|
|
693
688
|
...e,
|
|
694
|
-
position:
|
|
689
|
+
position: d.get(e.id) || e.position,
|
|
695
690
|
targetPosition: A(n.direction),
|
|
696
691
|
sourcePosition: j(n.direction)
|
|
697
692
|
})),
|
|
@@ -715,29 +710,29 @@ function L(e, t) {
|
|
|
715
710
|
};
|
|
716
711
|
});
|
|
717
712
|
}
|
|
718
|
-
function
|
|
719
|
-
let r =
|
|
720
|
-
...
|
|
713
|
+
function te(e, t, n = {}) {
|
|
714
|
+
let r = c(() => ({
|
|
715
|
+
...k,
|
|
721
716
|
...n
|
|
722
717
|
}), [
|
|
723
718
|
n.direction,
|
|
724
719
|
n.nodeWidth,
|
|
725
720
|
n.nodeSep,
|
|
726
721
|
n.rankSep
|
|
727
|
-
]), i =
|
|
728
|
-
a.current = e, o.current = t,
|
|
729
|
-
let [f, p] =
|
|
730
|
-
return
|
|
722
|
+
]), i = c(() => e.length === 0 ? "" : e.map((e) => e.id).sort().join(",") + "|" + t.map((e) => e.id).sort().join(","), [e, t]), a = l(e), o = l(t), d = l(r);
|
|
723
|
+
a.current = e, o.current = t, d.current = r;
|
|
724
|
+
let [f, p] = u("waiting"), [m, h] = u(null), [g, _] = u(""), v = l(0);
|
|
725
|
+
return s(() => {
|
|
731
726
|
if (!i) {
|
|
732
727
|
p("ready"), h(null), _("");
|
|
733
728
|
return;
|
|
734
729
|
}
|
|
735
730
|
let e = ++v.current;
|
|
736
|
-
p("computing"), I(a.current, o.current,
|
|
731
|
+
p("computing"), I(a.current, o.current, d.current).then((t) => {
|
|
737
732
|
e === v.current && (h(t), _(i), p("ready"));
|
|
738
733
|
}).catch(() => {
|
|
739
734
|
e === v.current && (h({
|
|
740
|
-
nodes: L(a.current,
|
|
735
|
+
nodes: L(a.current, d.current),
|
|
741
736
|
edges: o.current
|
|
742
737
|
}), _(i), p("ready"));
|
|
743
738
|
});
|
|
@@ -753,13 +748,10 @@ function ne(e, t, n = {}) {
|
|
|
753
748
|
}
|
|
754
749
|
//#endregion
|
|
755
750
|
//#region src/client/components/SchemaVisualization/index.tsx
|
|
756
|
-
var
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
function ae({ token: e }) {
|
|
761
|
-
let { useNodesInitialized: t, useReactFlow: n } = _(), r = t(), { fitView: i } = n(), a = u(0);
|
|
762
|
-
return c(() => {
|
|
751
|
+
var ne = { cubeNode: S }, re = { relationshipEdge: C };
|
|
752
|
+
function ie({ token: e }) {
|
|
753
|
+
let { useNodesInitialized: t, useReactFlow: n } = g(), r = t(), { fitView: i } = n(), a = l(0);
|
|
754
|
+
return s(() => {
|
|
763
755
|
e === 0 || e === a.current || r && (a.current = e, i({ padding: .1 }));
|
|
764
756
|
}, [
|
|
765
757
|
e,
|
|
@@ -767,7 +759,7 @@ function ae({ token: e }) {
|
|
|
767
759
|
i
|
|
768
760
|
]), null;
|
|
769
761
|
}
|
|
770
|
-
var
|
|
762
|
+
var ae = [];
|
|
771
763
|
function oe(e) {
|
|
772
764
|
switch (e) {
|
|
773
765
|
case "belongsTo": return "#10b981";
|
|
@@ -777,16 +769,16 @@ function oe(e) {
|
|
|
777
769
|
default: return "#6b7280";
|
|
778
770
|
}
|
|
779
771
|
}
|
|
780
|
-
function
|
|
781
|
-
let { ReactFlow: h, Controls:
|
|
782
|
-
|
|
772
|
+
function R({ className: n = "", onFieldClick: r, highlightedCubes: i, highlightedFields: o, searchTerm: d, height: m = "100%" }) {
|
|
773
|
+
let { ReactFlow: h, Controls: _, MiniMap: v, Background: y, applyNodeChanges: b } = g(), { meta: x, metaLoading: S, metaError: C } = t(), w = i || ae, T = o || ae, [E, D] = u(null), [O, k] = u(d || ""), [A, j] = u(0), [M, N] = u(null), [P, F] = u(null), I = l(null), L = !r, [R, z] = u({}), [B, se] = u(!1), ce = e("search"), le = e("close"), V = d === void 0 ? O : d;
|
|
774
|
+
s(() => {
|
|
783
775
|
try {
|
|
784
776
|
let e = localStorage.getItem("drizzle-cube-erd-node-positions");
|
|
785
|
-
e &&
|
|
777
|
+
e && z(JSON.parse(e));
|
|
786
778
|
} catch {}
|
|
787
779
|
se(!0);
|
|
788
780
|
}, []);
|
|
789
|
-
let { structuralNodes: H, structuralEdges: U } =
|
|
781
|
+
let { structuralNodes: H, structuralEdges: U } = c(() => {
|
|
790
782
|
if (!x) return {
|
|
791
783
|
structuralNodes: [],
|
|
792
784
|
structuralEdges: []
|
|
@@ -822,13 +814,13 @@ function B({ className: e = "", onFieldClick: r, highlightedCubes: i, highlighte
|
|
|
822
814
|
structuralNodes: e,
|
|
823
815
|
structuralEdges: t
|
|
824
816
|
};
|
|
825
|
-
}, [x]), W =
|
|
817
|
+
}, [x]), W = A > 0 || B && Object.keys(R).length === 0, { nodes: G, edges: K, phase: ue } = te(W ? H : [], W ? U : [], {
|
|
826
818
|
direction: "LR",
|
|
827
819
|
nodeWidth: 340,
|
|
828
820
|
nodeSep: 150,
|
|
829
821
|
rankSep: 350
|
|
830
|
-
}), q =
|
|
831
|
-
let n =
|
|
822
|
+
}), q = a((e, t) => {
|
|
823
|
+
let n = I.current?.getBoundingClientRect();
|
|
832
824
|
if (!n) return {
|
|
833
825
|
x: e,
|
|
834
826
|
y: t
|
|
@@ -838,40 +830,40 @@ function B({ className: e = "", onFieldClick: r, highlightedCubes: i, highlighte
|
|
|
838
830
|
x: r,
|
|
839
831
|
y: i
|
|
840
832
|
};
|
|
841
|
-
}, []), de =
|
|
842
|
-
|
|
833
|
+
}, []), de = a((e, t, n, r) => {
|
|
834
|
+
N((i) => i && i.cubeName === e && i.fieldName === t ? (F(null), null) : (r && F(q(r.x, r.y)), {
|
|
843
835
|
cubeName: e,
|
|
844
836
|
fieldName: t,
|
|
845
837
|
fieldType: n
|
|
846
838
|
}));
|
|
847
|
-
}, [q]), fe =
|
|
848
|
-
|
|
839
|
+
}, [q]), fe = a((e, t) => {
|
|
840
|
+
N((n) => n && n.cubeName === e && n.fieldName === null ? (F(null), null) : (t && F(q(t.x, t.y)), {
|
|
849
841
|
cubeName: e,
|
|
850
842
|
fieldName: null,
|
|
851
843
|
fieldType: "cube"
|
|
852
844
|
}));
|
|
853
|
-
}, [q]), pe =
|
|
845
|
+
}, [q]), pe = L ? de : r, me = L ? fe : void 0, J = a((e) => ({
|
|
854
846
|
cube: e,
|
|
855
847
|
onFieldClick: pe,
|
|
856
848
|
onCubeClick: me,
|
|
857
849
|
isHighlighted: w.includes(e.name),
|
|
858
850
|
highlightedFields: T,
|
|
859
851
|
searchTerm: V,
|
|
860
|
-
selectedField:
|
|
852
|
+
selectedField: L ? M : null
|
|
861
853
|
}), [
|
|
862
854
|
pe,
|
|
863
855
|
me,
|
|
864
856
|
w,
|
|
865
857
|
T,
|
|
866
858
|
V,
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
]), Y = !W || ue === "ready", X =
|
|
859
|
+
L,
|
|
860
|
+
M
|
|
861
|
+
]), Y = !W || ue === "ready", X = c(() => !x || !Y || !B ? [] : W && G.length > 0 ? G.map((e) => ({
|
|
870
862
|
...e,
|
|
871
863
|
data: J(e.data?.cube || x.cubes.find((t) => t.name === e.id))
|
|
872
864
|
})) : H.map((e) => ({
|
|
873
865
|
...e,
|
|
874
|
-
position:
|
|
866
|
+
position: R[e.id] || e.position,
|
|
875
867
|
data: J(e.data?.cube)
|
|
876
868
|
})), [
|
|
877
869
|
x,
|
|
@@ -880,25 +872,25 @@ function B({ className: e = "", onFieldClick: r, highlightedCubes: i, highlighte
|
|
|
880
872
|
W,
|
|
881
873
|
G,
|
|
882
874
|
H,
|
|
883
|
-
|
|
875
|
+
R,
|
|
884
876
|
J
|
|
885
|
-
]), he =
|
|
877
|
+
]), he = c(() => !x || !Y ? [] : W && K.length > 0 ? K : U, [
|
|
886
878
|
x,
|
|
887
879
|
Y,
|
|
888
880
|
W,
|
|
889
881
|
K,
|
|
890
882
|
U
|
|
891
|
-
]), [Z, Q] =
|
|
892
|
-
|
|
883
|
+
]), [Z, Q] = u([]), [ge, _e] = u([]), $ = l(""), [ve, ye] = u(0);
|
|
884
|
+
s(() => {
|
|
893
885
|
if (X.length === 0) return;
|
|
894
886
|
let e = X.map((e) => `${e.id}:${Math.round(e.position.x)},${Math.round(e.position.y)}`).join("|");
|
|
895
887
|
if (e === $.current) return;
|
|
896
888
|
let t = $.current === "";
|
|
897
889
|
$.current = e, Q(X), _e(he), t && ye((e) => e + 1);
|
|
898
890
|
}, [X, he]);
|
|
899
|
-
let be =
|
|
900
|
-
|
|
901
|
-
let e =
|
|
891
|
+
let be = l("");
|
|
892
|
+
s(() => {
|
|
893
|
+
let e = M ? `${M.cubeName}.${M.fieldName}` : "", t = `${w.join(",")}|${T.join(",")}|${V}|${String(r)}|${e}`;
|
|
902
894
|
t !== be.current && (be.current = t, !(Z.length === 0 || !x) && Q((e) => e.map((e) => {
|
|
903
895
|
let t = x.cubes.find((t) => t.name === e.id);
|
|
904
896
|
return t ? {
|
|
@@ -911,12 +903,12 @@ function B({ className: e = "", onFieldClick: r, highlightedCubes: i, highlighte
|
|
|
911
903
|
T,
|
|
912
904
|
V,
|
|
913
905
|
r,
|
|
914
|
-
|
|
906
|
+
M,
|
|
915
907
|
Z.length,
|
|
916
908
|
x,
|
|
917
909
|
J
|
|
918
910
|
]);
|
|
919
|
-
let xe =
|
|
911
|
+
let xe = a((e) => {
|
|
920
912
|
Q((t) => b(e, t)), e.filter((e) => e.type === "position" && "dragging" in e && e.dragging === !1).length > 0 && Q((e) => {
|
|
921
913
|
let t = {};
|
|
922
914
|
e.forEach((e) => {
|
|
@@ -925,95 +917,95 @@ function B({ className: e = "", onFieldClick: r, highlightedCubes: i, highlighte
|
|
|
925
917
|
try {
|
|
926
918
|
localStorage.setItem("drizzle-cube-erd-node-positions", JSON.stringify(t));
|
|
927
919
|
} catch {}
|
|
928
|
-
return
|
|
920
|
+
return z(t), e;
|
|
929
921
|
});
|
|
930
|
-
}, []), Se =
|
|
922
|
+
}, []), Se = a((e) => {}, []), Ce = a((e) => {
|
|
931
923
|
e.preventDefault(), e.stopPropagation(), D({
|
|
932
924
|
x: e.clientX,
|
|
933
925
|
y: e.clientY
|
|
934
926
|
});
|
|
935
|
-
}, []), we =
|
|
936
|
-
E && D(null),
|
|
937
|
-
}, [E,
|
|
938
|
-
|
|
927
|
+
}, []), we = a(() => {
|
|
928
|
+
E && D(null), M && (N(null), F(null));
|
|
929
|
+
}, [E, M]), Te = a(() => {
|
|
930
|
+
z({}), $.current = "";
|
|
939
931
|
try {
|
|
940
932
|
localStorage.removeItem("drizzle-cube-erd-node-positions");
|
|
941
933
|
} catch {}
|
|
942
|
-
|
|
934
|
+
j((e) => e + 1), D(null);
|
|
943
935
|
}, []);
|
|
944
|
-
return S ? /* @__PURE__ */
|
|
945
|
-
className: `dc:flex dc:items-center dc:justify-center dc:h-96 ${
|
|
946
|
-
children: /* @__PURE__ */
|
|
936
|
+
return S ? /* @__PURE__ */ f("div", {
|
|
937
|
+
className: `dc:flex dc:items-center dc:justify-center dc:h-96 ${n}`,
|
|
938
|
+
children: /* @__PURE__ */ p("div", {
|
|
947
939
|
className: "dc:text-center",
|
|
948
|
-
children: [/* @__PURE__ */
|
|
940
|
+
children: [/* @__PURE__ */ f("div", { className: "dc:animate-spin dc:rounded-full dc:h-8 dc:w-8 dc:border-b-2 border-dc-accent dc:mx-auto dc:mb-2" }), /* @__PURE__ */ f("p", {
|
|
949
941
|
className: "text-dc-text-muted",
|
|
950
942
|
children: "Loading cube schema..."
|
|
951
943
|
})]
|
|
952
944
|
})
|
|
953
|
-
}) : C ? /* @__PURE__ */
|
|
954
|
-
className: `dc:flex dc:items-center dc:justify-center dc:h-96 ${
|
|
955
|
-
children: /* @__PURE__ */
|
|
945
|
+
}) : C ? /* @__PURE__ */ f("div", {
|
|
946
|
+
className: `dc:flex dc:items-center dc:justify-center dc:h-96 ${n}`,
|
|
947
|
+
children: /* @__PURE__ */ p("div", {
|
|
956
948
|
className: "dc:text-center text-dc-error",
|
|
957
|
-
children: [/* @__PURE__ */
|
|
949
|
+
children: [/* @__PURE__ */ f("p", {
|
|
958
950
|
className: "dc:font-medium",
|
|
959
951
|
children: "Failed to load cube schema"
|
|
960
|
-
}), /* @__PURE__ */
|
|
952
|
+
}), /* @__PURE__ */ f("p", {
|
|
961
953
|
className: "dc:text-sm dc:mt-1",
|
|
962
954
|
children: C
|
|
963
955
|
})]
|
|
964
956
|
})
|
|
965
|
-
}) : !x || x.cubes.length === 0 ? /* @__PURE__ */
|
|
966
|
-
className: `dc:flex dc:items-center dc:justify-center dc:h-96 ${
|
|
967
|
-
children: /* @__PURE__ */
|
|
957
|
+
}) : !x || x.cubes.length === 0 ? /* @__PURE__ */ f("div", {
|
|
958
|
+
className: `dc:flex dc:items-center dc:justify-center dc:h-96 ${n}`,
|
|
959
|
+
children: /* @__PURE__ */ p("div", {
|
|
968
960
|
className: "dc:text-center text-dc-text-muted",
|
|
969
|
-
children: [/* @__PURE__ */
|
|
961
|
+
children: [/* @__PURE__ */ f("p", {
|
|
970
962
|
className: "dc:font-medium",
|
|
971
963
|
children: "No cubes found"
|
|
972
|
-
}), /* @__PURE__ */
|
|
964
|
+
}), /* @__PURE__ */ f("p", {
|
|
973
965
|
className: "dc:text-sm dc:mt-1",
|
|
974
966
|
children: "Register some cubes to see the relationship diagram"
|
|
975
967
|
})]
|
|
976
968
|
})
|
|
977
|
-
}) : Y ? /* @__PURE__ */
|
|
978
|
-
className: `dc:flex dc:flex-col ${
|
|
969
|
+
}) : Y ? /* @__PURE__ */ p("div", {
|
|
970
|
+
className: `dc:flex dc:flex-col ${n}`,
|
|
979
971
|
style: {
|
|
980
|
-
height:
|
|
972
|
+
height: m,
|
|
981
973
|
minHeight: 400
|
|
982
974
|
},
|
|
983
975
|
children: [
|
|
984
|
-
|
|
976
|
+
d === void 0 && /* @__PURE__ */ p("div", {
|
|
985
977
|
className: "dc:px-3 dc:py-2 dc:border-b border-dc-border bg-dc-surface dc:flex dc:items-center dc:gap-2 dc:flex-shrink-0",
|
|
986
978
|
children: [
|
|
987
|
-
/* @__PURE__ */
|
|
988
|
-
/* @__PURE__ */
|
|
979
|
+
/* @__PURE__ */ f(ce, { className: "dc:w-4 dc:h-4 text-dc-text-muted" }),
|
|
980
|
+
/* @__PURE__ */ f("input", {
|
|
989
981
|
type: "text",
|
|
990
982
|
value: O,
|
|
991
983
|
onChange: (e) => k(e.target.value),
|
|
992
984
|
placeholder: "Search cubes and fields...",
|
|
993
985
|
className: "dc:flex-1 dc:text-sm dc:bg-transparent dc:outline-none text-dc-text dc:placeholder:text-dc-text-muted"
|
|
994
986
|
}),
|
|
995
|
-
O && /* @__PURE__ */
|
|
987
|
+
O && /* @__PURE__ */ f("button", {
|
|
996
988
|
onClick: () => k(""),
|
|
997
989
|
className: "text-dc-text-muted dc:hover:text-dc-text",
|
|
998
|
-
children: /* @__PURE__ */
|
|
990
|
+
children: /* @__PURE__ */ f(le, { className: "dc:w-3 dc:h-3" })
|
|
999
991
|
})
|
|
1000
992
|
]
|
|
1001
993
|
}),
|
|
1002
|
-
/* @__PURE__ */
|
|
1003
|
-
ref:
|
|
994
|
+
/* @__PURE__ */ p("div", {
|
|
995
|
+
ref: I,
|
|
1004
996
|
className: "dc:relative dc:flex-1 dc:min-h-0",
|
|
1005
|
-
children: [/* @__PURE__ */
|
|
997
|
+
children: [/* @__PURE__ */ f("div", {
|
|
1006
998
|
style: {
|
|
1007
999
|
position: "absolute",
|
|
1008
1000
|
inset: 0
|
|
1009
1001
|
},
|
|
1010
|
-
children: /* @__PURE__ */
|
|
1002
|
+
children: /* @__PURE__ */ p(h, {
|
|
1011
1003
|
nodes: Z,
|
|
1012
1004
|
edges: ge,
|
|
1013
1005
|
onNodesChange: xe,
|
|
1014
1006
|
onEdgesChange: Se,
|
|
1015
|
-
nodeTypes:
|
|
1016
|
-
edgeTypes:
|
|
1007
|
+
nodeTypes: ne,
|
|
1008
|
+
edgeTypes: re,
|
|
1017
1009
|
connectionMode: "loose",
|
|
1018
1010
|
minZoom: .1,
|
|
1019
1011
|
maxZoom: 2,
|
|
@@ -1021,52 +1013,52 @@ function B({ className: e = "", onFieldClick: r, highlightedCubes: i, highlighte
|
|
|
1021
1013
|
onPaneContextMenu: Ce,
|
|
1022
1014
|
onPaneClick: we,
|
|
1023
1015
|
children: [
|
|
1024
|
-
/* @__PURE__ */
|
|
1025
|
-
/* @__PURE__ */
|
|
1016
|
+
/* @__PURE__ */ f(_, {}),
|
|
1017
|
+
/* @__PURE__ */ f(v, {
|
|
1026
1018
|
nodeColor: (e) => w.includes(e.id) ? "#8b5cf6" : "#e5e7eb",
|
|
1027
1019
|
maskColor: "rgb(240, 242, 246, 0.7)"
|
|
1028
1020
|
}),
|
|
1029
|
-
/* @__PURE__ */
|
|
1021
|
+
/* @__PURE__ */ f(y, {
|
|
1030
1022
|
variant: "dots",
|
|
1031
1023
|
gap: 12,
|
|
1032
1024
|
size: 1
|
|
1033
1025
|
}),
|
|
1034
|
-
/* @__PURE__ */
|
|
1026
|
+
/* @__PURE__ */ f(ie, { token: ve })
|
|
1035
1027
|
]
|
|
1036
1028
|
})
|
|
1037
|
-
}),
|
|
1029
|
+
}), L && M && P && x && /* @__PURE__ */ f("div", {
|
|
1038
1030
|
className: "dc:absolute dc:z-20",
|
|
1039
1031
|
style: {
|
|
1040
|
-
left:
|
|
1041
|
-
top:
|
|
1032
|
+
left: P.x,
|
|
1033
|
+
top: P.y
|
|
1042
1034
|
},
|
|
1043
|
-
children: /* @__PURE__ */
|
|
1044
|
-
selection:
|
|
1035
|
+
children: /* @__PURE__ */ f(ee, {
|
|
1036
|
+
selection: M,
|
|
1045
1037
|
meta: x,
|
|
1046
1038
|
onClose: () => {
|
|
1047
|
-
|
|
1039
|
+
N(null), F(null);
|
|
1048
1040
|
}
|
|
1049
1041
|
})
|
|
1050
1042
|
})]
|
|
1051
1043
|
}),
|
|
1052
|
-
E && /* @__PURE__ */
|
|
1044
|
+
E && /* @__PURE__ */ f("div", {
|
|
1053
1045
|
className: "dc:fixed dc:z-50 bg-dc-surface dc:rounded-md dc:shadow-lg dc:border border-dc-border dc:py-1 dc:min-w-[120px]",
|
|
1054
1046
|
style: {
|
|
1055
1047
|
left: E.x,
|
|
1056
1048
|
top: E.y
|
|
1057
1049
|
},
|
|
1058
|
-
children: /* @__PURE__ */
|
|
1050
|
+
children: /* @__PURE__ */ f("button", {
|
|
1059
1051
|
onClick: Te,
|
|
1060
1052
|
className: "dc:w-full dc:px-3 dc:py-2 dc:text-sm text-dc-text-secondary dc:hover:bg-dc-surface-hover dc:text-left",
|
|
1061
1053
|
children: "Auto Layout"
|
|
1062
1054
|
})
|
|
1063
1055
|
})
|
|
1064
1056
|
]
|
|
1065
|
-
}) : /* @__PURE__ */
|
|
1066
|
-
className: `dc:flex dc:items-center dc:justify-center dc:h-96 ${
|
|
1067
|
-
children: /* @__PURE__ */
|
|
1057
|
+
}) : /* @__PURE__ */ f("div", {
|
|
1058
|
+
className: `dc:flex dc:items-center dc:justify-center dc:h-96 ${n}`,
|
|
1059
|
+
children: /* @__PURE__ */ p("div", {
|
|
1068
1060
|
className: "dc:text-center",
|
|
1069
|
-
children: [/* @__PURE__ */
|
|
1061
|
+
children: [/* @__PURE__ */ f("div", { className: "dc:animate-spin dc:rounded-full dc:h-8 dc:w-8 dc:border-b-2 border-dc-accent dc:mx-auto dc:mb-2" }), /* @__PURE__ */ f("p", {
|
|
1070
1062
|
className: "text-dc-text-muted",
|
|
1071
1063
|
children: "Computing layout..."
|
|
1072
1064
|
})]
|
|
@@ -1074,6 +1066,6 @@ function B({ className: e = "", onFieldClick: r, highlightedCubes: i, highlighte
|
|
|
1074
1066
|
});
|
|
1075
1067
|
}
|
|
1076
1068
|
//#endregion
|
|
1077
|
-
export {
|
|
1069
|
+
export { x as n, R as t };
|
|
1078
1070
|
|
|
1079
|
-
//# sourceMappingURL=schema-visualization-
|
|
1071
|
+
//# sourceMappingURL=schema-visualization-t1KiOORo.js.map
|