@trilogy-data/trilogy-studio-components 0.1.17 → 0.1.19

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.
Files changed (46) hide show
  1. package/README.md +36 -0
  2. package/dist/{AssetAutoImporter-COld6ovI.js → AssetAutoImporter-CUqhhNvb.js} +14 -14
  3. package/dist/{CommunityModels-B5DGmouF.js → CommunityModels-BKBxewjm.js} +2 -2
  4. package/dist/{ConnectionView-C9-aVTdE.js → ConnectionView-Dyqm2oeV.js} +14 -14
  5. package/dist/{Dashboard-C8vFmGcL.js → Dashboard-Bsoj1oUW.js} +169 -169
  6. package/dist/{DashboardCreatorInline-DheLBs4U.js → DashboardCreatorInline-BLbkDxBF.js} +1 -1
  7. package/dist/{DashboardMobile-B7HffPju.js → DashboardMobile-Ao8NtF1f.js} +16 -16
  8. package/dist/{DrilldownPane-S2dy0Wvj.js → DrilldownPane-OZMttRBx.js} +2691 -2666
  9. package/dist/{Editor-DKEg-QmG.js → Editor-N40lTR0s.js} +1 -1
  10. package/dist/{IDE-4OJAmj7h.js → IDE-kbUDZPcL.js} +5 -5
  11. package/dist/{JobsView-DE0m37jI.js → JobsView-AYNUDnKG.js} +1 -1
  12. package/dist/{LLMChat-DvoCO2NW.js → LLMChat-CZTQUh53.js} +2 -2
  13. package/dist/{LLMConnectionList-cXc3m9rK.js → LLMConnectionList-BkvCZP5Q.js} +1 -1
  14. package/dist/{LLMView-DzEvz9u4.js → LLMView-CaTlmLGb.js} +2 -2
  15. package/dist/{MobileIDE-w2cNPXWA.js → MobileIDE-Bi7GNE2X.js} +10 -10
  16. package/dist/{ModelCard-DPtVjIMJ.js → ModelCard-Cd6OxExX.js} +2 -2
  17. package/dist/{ModelCreator-gJ86t8SP.js → ModelCreator-DeI-n86Z.js} +1 -1
  18. package/dist/{ModelView-C5y1IU22.js → ModelView-Surdb5KW.js} +2 -2
  19. package/dist/{ResultComponent-DV46CwMw.js → ResultComponent-CXkTwZFS.js} +1 -1
  20. package/dist/{Sidebar-C6FJOAJk.js → Sidebar-CfOATms_.js} +60 -60
  21. package/dist/{TutorialPage-BF9ao6-m.js → TutorialPage-IisHiPL6.js} +8 -8
  22. package/dist/{UserProfile-DPc9-B3S.js → UserProfile-CQAUnKyQ.js} +1 -1
  23. package/dist/components/dashboard/useDashboard.d.ts.map +1 -1
  24. package/dist/composables/useCrossFilterEligibility.d.ts +18 -0
  25. package/dist/composables/useCrossFilterEligibility.d.ts.map +1 -0
  26. package/dist/composables/useEmbeddedDashboardGroup.d.ts +78 -0
  27. package/dist/composables/useEmbeddedDashboardGroup.d.ts.map +1 -0
  28. package/dist/composables/useResolvedCrossFilterController.d.ts +30 -0
  29. package/dist/composables/useResolvedCrossFilterController.d.ts.map +1 -0
  30. package/dist/dashboard.js +313 -82
  31. package/dist/dashboards/barChartSpec.d.ts +39 -0
  32. package/dist/dashboards/barChartSpec.d.ts.map +1 -1
  33. package/dist/dashboards/crossFilters.d.ts +3 -0
  34. package/dist/dashboards/crossFilters.d.ts.map +1 -1
  35. package/dist/entry.dashboard.d.ts +8 -2
  36. package/dist/entry.dashboard.d.ts.map +1 -1
  37. package/dist/main.d.ts +8 -2
  38. package/dist/main.d.ts.map +1 -1
  39. package/dist/{queryExecutionService-obvMrWcu.js → queryExecutionService-KrjL0UCa.js} +167 -128
  40. package/dist/stores/queryExecutionService.d.ts +9 -0
  41. package/dist/stores/queryExecutionService.d.ts.map +1 -1
  42. package/dist/stores.js +1 -1
  43. package/dist/trilogy-studio-components.css +1 -1
  44. package/dist/{useDashboard-B_MH66Yb.js → useDashboard-CtX3sEag.js} +275 -275
  45. package/dist/views.js +2 -2
  46. package/package.json +1 -1
@@ -1,16 +1,16 @@
1
1
  import { defineComponent as A, ref as I, computed as R, createElementBlock as s, openBlock as i, createElementVNode as n, createCommentVNode as k, toDisplayString as a, Fragment as x, renderList as H, normalizeClass as S, renderSlot as W, inject as _, watch as F, resolveComponent as l, createTextVNode as g, createVNode as C, createBlock as y, withCtx as N } from "vue";
2
2
  import { _ as P } from "./_plugin-vue_export-helper-BzkwV_Yn.js";
3
3
  import J from "./LoadingButton-BdM3Rygq.js";
4
- import { M as X } from "./ModelCard-DPtVjIMJ.js";
5
- import { E as Y, L as Z, C as $, d as K } from "./LLMConnectionList-cXc3m9rK.js";
6
- import { s as tt } from "./UserProfile-DPc9-B3S.js";
7
- import q from "./Editor-DKEg-QmG.js";
4
+ import { M as X } from "./ModelCard-Cd6OxExX.js";
5
+ import { E as Y, L as Z, C as $, d as K } from "./LLMConnectionList-BkvCZP5Q.js";
6
+ import { s as tt } from "./UserProfile-CQAUnKyQ.js";
7
+ import q from "./Editor-N40lTR0s.js";
8
8
  import { K as V } from "./constants-BXXolEur.js";
9
9
  import { M as et } from "./MarkdownRenderer-cdaHKql1.js";
10
- import "./queryExecutionService-obvMrWcu.js";
11
- import Q from "./ResultComponent-DV46CwMw.js";
12
- import ot from "./CommunityModels-B5DGmouF.js";
13
- import nt from "./Dashboard-C8vFmGcL.js";
10
+ import "./queryExecutionService-KrjL0UCa.js";
11
+ import Q from "./ResultComponent-CXkTwZFS.js";
12
+ import ot from "./CommunityModels-BKBxewjm.js";
13
+ import nt from "./Dashboard-Bsoj1oUW.js";
14
14
  import { C as O } from "./CodeBlock-CDWXUAiQ.js";
15
15
  const it = A({
16
16
  name: "FunctionDoc",
@@ -3,7 +3,7 @@ var P = (t, e, r) => e in t ? M(t, e, { enumerable: !0, configurable: !0, writab
3
3
  var w = (t, e, r) => P(t, typeof e != "symbol" ? e + "" : e, r);
4
4
  import { a as R } from "./snowflake-CY1Gnu3y.js";
5
5
  import { E as $, n as T, M as O } from "./editorStore-BTPcljeQ.js";
6
- import { q as L, f as j } from "./queryExecutionService-obvMrWcu.js";
6
+ import { n as L, j } from "./queryExecutionService-KrjL0UCa.js";
7
7
  import { defineComponent as D, inject as q, onMounted as B, nextTick as E, createElementBlock as m, openBlock as p, createElementVNode as u, Fragment as V, renderList as k, withDirectives as v, createCommentVNode as U, toDisplayString as b, vModelCheckbox as z, vModelSelect as N, vModelText as A, reactive as F, createTextVNode as C } from "vue";
8
8
  import { storeToRefs as J } from "pinia";
9
9
  import { _ as I } from "./_plugin-vue_export-helper-BzkwV_Yn.js";
@@ -1 +1 @@
1
- {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../components/dashboard/useDashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAOjB,MAAM,KAAK,CAAA;AAEZ,OAAO,EACL,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAEb,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,qBAAqB,MAAM,oCAAoC,CAAA;AAGtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAG3D,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,CAAA;IAC7C,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CACvC;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,WAAW,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC,EACzD,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,iBAAiB,EACvB,6BAA6B,CAAC,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA4IR,MAAM;;qCAuFL,eAAe,EAAE;6BAlDzB,MAAM;gCA4WT,KAAK,KAAG,IAAI;wBAlTpB,cAAc;iCAWL,GAAG;4BAOV,IAAI;qBAIV,QAAQ,KAAsB,IAAI;sBAoBlC,IAAI;yBAKC,MAAM,KAAG,IAAI;uBAKf,MAAM,KAAG,IAAI;yBAKb,IAAI;uBAKJ,UAAU,KAAG,IAAI;2BAuBb,MAAM,KAAG,IAAI;wBAOlB,IAAI;6CAkMmB,MAAM,KAAG,sBAAsB;0BA3LlD,MAAM,eAAe,MAAM,KAAG,oBAAoB;0BAyHlD,MAAM,eAAe,MAAM,QAAQ,GAAG,KAAG,IAAI;6BAiG1C,MAAM,KAAG,IAAI;2BAgBf,cAAc,KAAG,IAAI;2BAqBrB,MAAM,gBAAgB,MAAM,KAAG,IAAI;uBAMvC,MAAM,KAAG,IAAI;2BAMT,MAAM,KAAG,IAAI;4BAzUZ,MAAM,KAAG,IAAI;EA0X7C"}
1
+ {"version":3,"file":"useDashboard.d.ts","sourceRoot":"","sources":["../../../components/dashboard/useDashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAOjB,MAAM,KAAK,CAAA;AAEZ,OAAO,EACL,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EAEb,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,qBAAqB,MAAM,oCAAoC,CAAA;AAGtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAM3D,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,IAAI,CAAA;IAC7C,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;CACvC;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,WAAW,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC,EACzD,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,iBAAiB,EACvB,6BAA6B,CAAC,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA4IR,MAAM;;qCAuFL,eAAe,EAAE;6BAlDzB,MAAM;gCA4WT,KAAK,KAAG,IAAI;wBAlTpB,cAAc;iCAWL,GAAG;4BAOV,IAAI;qBAIV,QAAQ,KAAsB,IAAI;sBAoBlC,IAAI;yBAKC,MAAM,KAAG,IAAI;uBAKf,MAAM,KAAG,IAAI;yBAKb,IAAI;uBAKJ,UAAU,KAAG,IAAI;2BAuBb,MAAM,KAAG,IAAI;wBAOlB,IAAI;6CAkMmB,MAAM,KAAG,sBAAsB;0BA3LlD,MAAM,eAAe,MAAM,KAAG,oBAAoB;0BAyHlD,MAAM,eAAe,MAAM,QAAQ,GAAG,KAAG,IAAI;6BAiG1C,MAAM,KAAG,IAAI;2BAgBf,cAAc,KAAG,IAAI;2BAqBrB,MAAM,gBAAgB,MAAM,KAAG,IAAI;uBAMvC,MAAM,KAAG,IAAI;2BAMT,MAAM,KAAG,IAAI;4BAzUZ,MAAM,KAAG,IAAI;EA0X7C"}
@@ -0,0 +1,18 @@
1
+ import { MaybeRefOrGetter } from 'vue';
2
+ import { EligibleCrossFilterFieldsOptions } from '../stores/queryExecutionService';
3
+ export interface CrossFilterEligibilityService {
4
+ getEligibleCrossFilterFields(connectionId: string, options?: EligibleCrossFilterFieldsOptions): Promise<string[]>;
5
+ }
6
+ export interface UseCrossFilterEligibilityOptions extends EligibleCrossFilterFieldsOptions {
7
+ queryExecutionService: CrossFilterEligibilityService;
8
+ connectionId: MaybeRefOrGetter<string>;
9
+ enabled?: MaybeRefOrGetter<boolean>;
10
+ immediate?: boolean;
11
+ }
12
+ export declare function useCrossFilterEligibility(options: UseCrossFilterEligibilityOptions): {
13
+ eligibleFields: import('vue').ComputedRef<string[]>;
14
+ loading: import('vue').ComputedRef<boolean>;
15
+ error: import('vue').ComputedRef<string | null>;
16
+ refresh: () => Promise<string[]>;
17
+ };
18
+ //# sourceMappingURL=useCrossFilterEligibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCrossFilterEligibility.d.ts","sourceRoot":"","sources":["../../composables/useCrossFilterEligibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAC1E,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAA;AAEvF,MAAM,WAAW,6BAA6B;IAC5C,4BAA4B,CAC1B,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,gCAAgC,GACzC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACrB;AAED,MAAM,WAAW,gCAAiC,SAAQ,gCAAgC;IACxF,qBAAqB,EAAE,6BAA6B,CAAA;IACpD,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACtC,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gCAAgC;;;;;EAoElF"}
@@ -0,0 +1,78 @@
1
+ import { ChartConfig } from '../editors/results';
2
+ import { DashboardImport, GridItemDataResponse } from '../dashboards/base';
3
+ import { DashboardQueryExecutor } from '../dashboards/dashboardQueryExecutor';
4
+ import { ContentInput } from '../stores/resolver';
5
+ import { DashboardExecutionService } from '../stores/queryExecutionService';
6
+ type DashboardFilterEntry = Array<{
7
+ source: string;
8
+ value: string;
9
+ }>;
10
+ type DashboardValueFilterEntry = Array<{
11
+ source: string;
12
+ value: Record<string, string>;
13
+ }>;
14
+ export interface EmbeddedDashboardGroupItemOptions {
15
+ itemId: string;
16
+ title: string;
17
+ query: string;
18
+ priority?: number;
19
+ width?: number;
20
+ height?: number;
21
+ chartConfig?: ChartConfig;
22
+ allowCrossFilter?: boolean;
23
+ filters?: DashboardFilterEntry;
24
+ chartFilters?: DashboardValueFilterEntry;
25
+ conceptFilters?: DashboardValueFilterEntry;
26
+ parameters?: Record<string, unknown>;
27
+ rootContent?: ContentInput[];
28
+ }
29
+ export interface UseEmbeddedDashboardGroupOptions {
30
+ dashboardId: string;
31
+ connectionId: string;
32
+ queryExecutionService: DashboardExecutionService;
33
+ imports?: DashboardImport[];
34
+ batchDelay?: number;
35
+ maxConcurrentQueries?: number;
36
+ }
37
+ export declare function useEmbeddedDashboardGroup(options: UseEmbeddedDashboardGroupOptions): {
38
+ dashboard: {
39
+ id: string;
40
+ name: string;
41
+ storage: "local" | "remote";
42
+ connection: string;
43
+ layout: {
44
+ x: number;
45
+ y: number;
46
+ w: number;
47
+ h: number;
48
+ i: string;
49
+ static: boolean;
50
+ }[];
51
+ gridItems: Record<string, import('../entry.dashboard').GridItemData>;
52
+ nextId: number;
53
+ createdAt: Date;
54
+ updatedAt: Date;
55
+ filter: string | null;
56
+ imports: {
57
+ id: string;
58
+ name: string;
59
+ alias: string;
60
+ }[];
61
+ version: number;
62
+ description: string;
63
+ state: import('../entry.dashboard').DashboardState;
64
+ };
65
+ executor: DashboardQueryExecutor;
66
+ registerItem: (itemOptions: EmbeddedDashboardGroupItemOptions) => void;
67
+ scheduleRun: (itemId: string) => void;
68
+ runBatch: (itemIds: string[]) => void;
69
+ setImports: (imports: DashboardImport[]) => void;
70
+ setConnection: (connectionId: string) => void;
71
+ getItemData: (itemId: string, dashboardId: string) => GridItemDataResponse;
72
+ setItemData: (itemId: string, dashboardId: string, data: Record<string, unknown>) => void;
73
+ getDashboardQueryExecutor: (dashboardId: string) => DashboardQueryExecutor;
74
+ dispose: () => void;
75
+ };
76
+ export type EmbeddedDashboardGroup = ReturnType<typeof useEmbeddedDashboardGroup>;
77
+ export {};
78
+ //# sourceMappingURL=useEmbeddedDashboardGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEmbeddedDashboardGroup.d.ts","sourceRoot":"","sources":["../../composables/useEmbeddedDashboardGroup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAA8B,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAChH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAEhF,KAAK,oBAAoB,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AACpE,KAAK,yBAAyB,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAAA;AAuBzF,MAAM,WAAW,iCAAiC;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,YAAY,CAAC,EAAE,yBAAyB,CAAA;IACxC,cAAc,CAAC,EAAE,yBAAyB,CAAA;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,WAAW,CAAC,EAAE,YAAY,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,gCAAgC;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,qBAAqB,EAAE,yBAAyB,CAAA;IAChD,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAyBD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAqD9C,iCAAiC;0BA6BvC,MAAM;wBAkBR,MAAM,EAAE;0BA3BN,eAAe,EAAE;kCAIT,MAAM;0BAoCd,MAAM,eAAe,MAAM,KAAG,oBAAoB;0BA0ClD,MAAM,eAAe,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;6CA2CvC,MAAM;;EA6BvD;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { MaybeRefOrGetter } from 'vue';
2
+ import { CrossFilterOperation, CrossFilterSelection } from '../dashboards/crossFilters';
3
+ import { CrossFilterEligibilityService } from './useCrossFilterEligibility';
4
+ import { EligibleCrossFilterFieldsOptions } from '../stores/queryExecutionService';
5
+ export interface UseResolvedCrossFilterControllerOptions extends EligibleCrossFilterFieldsOptions {
6
+ queryExecutionService: CrossFilterEligibilityService;
7
+ connectionId: MaybeRefOrGetter<string>;
8
+ enabled?: MaybeRefOrGetter<boolean>;
9
+ immediate?: boolean;
10
+ normalizeLocalFields?: boolean;
11
+ staticValidFields?: MaybeRefOrGetter<Iterable<string>>;
12
+ }
13
+ export declare function useResolvedCrossFilterController(options: UseResolvedCrossFilterControllerOptions): {
14
+ version: import('vue').ComputedRef<number>;
15
+ eligibleFields: import('vue').ComputedRef<string[]>;
16
+ eligibilityLoading: import('vue').ComputedRef<boolean>;
17
+ eligibilityError: import('vue').ComputedRef<string | null>;
18
+ refreshEligibility: () => Promise<string[]>;
19
+ applyDimensionClick(selection: CrossFilterSelection, operation?: CrossFilterOperation): import('../entry.dashboard').CrossFilterValueMap;
20
+ clearSource: (source: string) => void;
21
+ clearAll: () => void;
22
+ hasSelectionFrom: (source: string) => boolean;
23
+ getSelections: () => CrossFilterSelection[];
24
+ getSelectionSources: () => string[];
25
+ getSqlFilterInputsFor: (itemId: string) => import('../entry.dashboard').CrossFilterInputLike[];
26
+ getChartSelectionsFor: (itemId: string) => import('../entry.dashboard').CrossFilterValueMap[];
27
+ getFilterExpressionFor: (itemId: string) => string;
28
+ getSqlFiltersFor: (itemId: string, baseFilters?: string[]) => string[];
29
+ };
30
+ //# sourceMappingURL=useResolvedCrossFilterController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResolvedCrossFilterController.d.ts","sourceRoot":"","sources":["../../composables/useResolvedCrossFilterController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAA;AAC9D,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAE1B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAA;AAEvF,MAAM,WAAW,uCACf,SAAQ,gCAAgC;IACxC,qBAAqB,EAAE,6BAA6B,CAAA;IACpD,YAAY,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACtC,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;CACvD;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,uCAAuC;;;;;;mCAuBf,oBAAoB,cAAc,oBAAoB;;;;;;;;;;EAgBxF"}
package/dist/dashboard.js CHANGED
@@ -1,96 +1,327 @@
1
1
  import "./_plugin-vue_export-helper-BzkwV_Yn.js";
2
- import { T as L } from "./TrilogyEmbedProvider-scDWYeoJ.js";
3
- import { default as w } from "./Dashboard-C8vFmGcL.js";
4
- import { D as Q, d as q, b as N, c as _, a as k } from "./useDashboard-B_MH66Yb.js";
5
- import { D as O } from "./DataTable-Bf7xeKSf.js";
6
- import { M as Y } from "./MarkdownRenderer-cdaHKql1.js";
7
- import { V as H } from "./DrilldownPane-S2dy0Wvj.js";
8
- import { u, d, e as S, Q as C, T as h } from "./queryExecutionService-obvMrWcu.js";
9
- import { g as U, f as j, D as B, h as K, i as W, j as J, k as X, l as Z, r as $, m as ee, s as oe, n as re } from "./queryExecutionService-obvMrWcu.js";
10
- import { a as p, u as v } from "./editorStore-BTPcljeQ.js";
11
- import { u as T } from "./toolLoopCore-CK_KVuAS.js";
12
- import { u as f } from "./useChatWithTools-DX7D4xOq.js";
13
- import { T as se, n as ae, p as ie, r as ne, a as le, u as ce, b as me } from "./config-AzVcp1pU.js";
14
- import { C as de, R as Se } from "./snowflake-CY1Gnu3y.js";
15
- function g(a = {}) {
16
- const { storeQueryHistory: i = !0, resolverCacheSize: n = 100 } = a, l = u(), o = p(), r = v(), c = d(), t = T(), e = S(), s = new h(t, n), m = new C(
17
- s,
18
- o,
19
- i
2
+ import { T as Z } from "./TrilogyEmbedProvider-scDWYeoJ.js";
3
+ import { default as ee } from "./Dashboard-Bsoj1oUW.js";
4
+ import { c as te, g as oe, e as le, f as ie, d as ne } from "./useDashboard-CtX3sEag.js";
5
+ import { D as ae } from "./DataTable-Bf7xeKSf.js";
6
+ import { M as ue } from "./MarkdownRenderer-cdaHKql1.js";
7
+ import { V as fe } from "./DrilldownPane-OZMttRBx.js";
8
+ import { u as E, d as p, e as D, Q as q, T as A, D as R, h as v, i as L } from "./queryExecutionService-KrjL0UCa.js";
9
+ import { j as he, k as ge, l as Ce, m as Fe, o as Se, p as ve, q as ye, s as be, t as we, v as xe } from "./queryExecutionService-KrjL0UCa.js";
10
+ import { a as N, u as Q } from "./editorStore-BTPcljeQ.js";
11
+ import { u as B } from "./toolLoopCore-CK_KVuAS.js";
12
+ import { u as M } from "./useChatWithTools-DX7D4xOq.js";
13
+ import { ref as S, watch as k, toValue as d, computed as g, reactive as w } from "vue";
14
+ import { T as Te, n as Ee, p as pe, r as De, a as qe, u as Ae, b as Re } from "./config-AzVcp1pU.js";
15
+ import { C as Ne, R as Qe } from "./snowflake-CY1Gnu3y.js";
16
+ function G(r = {}) {
17
+ const { storeQueryHistory: l = !0, resolverCacheSize: s = 100 } = r, i = E(), n = N(), f = Q(), m = p(), h = B(), c = D(), u = new A(h, s), F = new q(
18
+ u,
19
+ n,
20
+ l
20
21
  );
21
22
  return {
22
23
  // Stores
23
- llmConnectionStore: l,
24
- connectionStore: o,
25
- editorStore: r,
26
- chatStore: c,
27
- navigationStore: e,
28
- userSettingsStore: t,
24
+ llmConnectionStore: i,
25
+ connectionStore: n,
26
+ editorStore: f,
27
+ chatStore: m,
28
+ navigationStore: c,
29
+ userSettingsStore: h,
29
30
  // Services
30
- queryExecutionService: m,
31
- resolver: s
31
+ queryExecutionService: F,
32
+ resolver: u
32
33
  };
33
34
  }
34
- function F(a = {}) {
35
+ function $(r = {}) {
35
36
  const {
36
37
  // TrilogyCoreOptions
37
- storeQueryHistory: i,
38
- resolverCacheSize: n,
38
+ storeQueryHistory: l,
39
+ resolverCacheSize: s,
39
40
  // TrilogyChatOptions
40
- dataConnectionName: l,
41
- initialTitle: o = "Chat",
42
- persistChat: r = !0,
43
- onTitleUpdate: c,
44
- navigationStore: t
45
- } = a, e = g({
46
- storeQueryHistory: i,
47
- resolverCacheSize: n
48
- }), s = t ?? e.navigationStore;
49
- return f({
50
- llmConnectionStore: e.llmConnectionStore,
51
- connectionStore: e.connectionStore,
52
- queryExecutionService: e.queryExecutionService,
53
- editorStore: e.editorStore,
54
- chatStore: r ? e.chatStore : null,
55
- navigationStore: r ? s : null,
56
- dataConnectionName: l,
57
- initialTitle: o,
58
- onTitleUpdate: c
41
+ dataConnectionName: i,
42
+ initialTitle: n = "Chat",
43
+ persistChat: f = !0,
44
+ onTitleUpdate: m,
45
+ navigationStore: h
46
+ } = r, c = G({
47
+ storeQueryHistory: l,
48
+ resolverCacheSize: s
49
+ }), u = h ?? c.navigationStore;
50
+ return M({
51
+ llmConnectionStore: c.llmConnectionStore,
52
+ connectionStore: c.connectionStore,
53
+ queryExecutionService: c.queryExecutionService,
54
+ editorStore: c.editorStore,
55
+ chatStore: f ? c.chatStore : null,
56
+ navigationStore: f ? u : null,
57
+ dataConnectionName: i,
58
+ initialTitle: n,
59
+ onTitleUpdate: m
59
60
  });
60
61
  }
62
+ function V(r) {
63
+ const l = S([]), s = S(!1), i = S(null);
64
+ let n = 0;
65
+ async function f() {
66
+ const m = d(r.connectionId);
67
+ if (!d(r.enabled ?? !0) || !m)
68
+ return l.value = [], i.value = null, s.value = !1, [];
69
+ const c = ++n;
70
+ s.value = !0, i.value = null;
71
+ try {
72
+ const u = await r.queryExecutionService.getEligibleCrossFilterFields(m, {
73
+ imports: d(r.imports) ?? [],
74
+ extraFilters: d(r.extraFilters) ?? [],
75
+ extraContent: d(r.extraContent) ?? [],
76
+ currentFilename: d(r.currentFilename) ?? void 0
77
+ });
78
+ return c === n && (l.value = u), u;
79
+ } catch (u) {
80
+ return c === n && (l.value = [], i.value = u instanceof Error ? u.message : String(u)), [];
81
+ } finally {
82
+ c === n && (s.value = !1);
83
+ }
84
+ }
85
+ return k(
86
+ () => ({
87
+ connectionId: d(r.connectionId),
88
+ enabled: d(r.enabled ?? !0),
89
+ imports: JSON.stringify(d(r.imports) ?? []),
90
+ extraFilters: JSON.stringify(d(r.extraFilters) ?? []),
91
+ extraContent: JSON.stringify(d(r.extraContent) ?? []),
92
+ currentFilename: d(r.currentFilename) ?? null
93
+ }),
94
+ () => {
95
+ f();
96
+ },
97
+ { immediate: r.immediate ?? !0 }
98
+ ), {
99
+ eligibleFields: g(() => l.value),
100
+ loading: g(() => s.value),
101
+ error: g(() => i.value),
102
+ refresh: f
103
+ };
104
+ }
105
+ function _(r) {
106
+ return w({
107
+ type: v.CHART,
108
+ content: r.query,
109
+ drilldown: null,
110
+ name: r.title,
111
+ allowCrossFilter: r.allowCrossFilter ?? !0,
112
+ width: r.width ?? 0,
113
+ height: r.height ?? 320,
114
+ chartConfig: r.chartConfig,
115
+ drilldownChartConfig: null,
116
+ conceptFilters: r.conceptFilters ?? [],
117
+ chartFilters: r.chartFilters ?? [],
118
+ filters: r.filters ?? [],
119
+ parameters: r.parameters ?? {},
120
+ rootContent: r.rootContent ?? [],
121
+ results: null,
122
+ loading: !1,
123
+ error: null,
124
+ loadStartTime: null
125
+ });
126
+ }
127
+ function j(r) {
128
+ const l = w({
129
+ id: r.dashboardId,
130
+ name: r.dashboardId,
131
+ storage: "local",
132
+ connection: r.connectionId,
133
+ layout: [],
134
+ gridItems: {},
135
+ nextId: 1,
136
+ createdAt: /* @__PURE__ */ new Date(),
137
+ updatedAt: /* @__PURE__ */ new Date(),
138
+ filter: null,
139
+ imports: r.imports ?? [],
140
+ version: 1,
141
+ description: "",
142
+ state: "published"
143
+ }), s = new R(
144
+ r.queryExecutionService,
145
+ r.connectionId,
146
+ r.dashboardId,
147
+ () => l,
148
+ y,
149
+ b,
150
+ {
151
+ batchDelay: r.batchDelay ?? 10,
152
+ maxConcurrentQueries: r.maxConcurrentQueries
153
+ }
154
+ ), i = /* @__PURE__ */ new Set();
155
+ let n = null;
156
+ function f(t, a, e = 12, o = 10) {
157
+ const C = l.layout.find((T) => T.i === t);
158
+ if (C) {
159
+ C.y = a, C.w = e, C.h = o;
160
+ return;
161
+ }
162
+ l.layout.push({
163
+ x: 0,
164
+ y: a,
165
+ w: e,
166
+ h: o,
167
+ i: t,
168
+ static: !0
169
+ });
170
+ }
171
+ function m(t) {
172
+ const a = t.priority ?? 0;
173
+ f(t.itemId, a);
174
+ const e = l.gridItems[t.itemId];
175
+ if (!e) {
176
+ l.gridItems[t.itemId] = _(t);
177
+ return;
178
+ }
179
+ e.name = t.title, e.content = t.query, e.chartConfig = t.chartConfig, e.allowCrossFilter = t.allowCrossFilter ?? !0, e.filters = t.filters ?? [], e.chartFilters = t.chartFilters ?? [], e.conceptFilters = t.conceptFilters ?? [], e.parameters = t.parameters ?? {}, e.rootContent = t.rootContent ?? [];
180
+ }
181
+ function h(t) {
182
+ l.imports = t;
183
+ }
184
+ function c(t) {
185
+ l.connection = t, s.setConnection(t);
186
+ }
187
+ function u(t) {
188
+ i.add(t), !n && (n = setTimeout(() => {
189
+ const a = Array.from(i);
190
+ i.clear(), n = null, a.length === 1 ? s.runSingle(a[0]) : a.length > 1 && s.runBatch(a);
191
+ }, r.batchDelay ?? 10));
192
+ }
193
+ function F(t) {
194
+ t.forEach((e) => i.add(e)), n && (clearTimeout(n), n = null);
195
+ const a = Array.from(i);
196
+ i.clear(), a.length > 0 && s.runBatch(a);
197
+ }
198
+ function y(t, a) {
199
+ if (a !== r.dashboardId)
200
+ throw new Error(`Unexpected dashboard id ${a}`);
201
+ const e = l.gridItems[t];
202
+ return e ? {
203
+ type: v.CHART,
204
+ content: e.content,
205
+ structured_content: { markdown: "", query: e.drilldown || e.content },
206
+ rootContent: e.rootContent,
207
+ name: e.name,
208
+ allowCrossFilter: e.allowCrossFilter,
209
+ width: e.width,
210
+ height: e.height,
211
+ chartConfig: e.drilldown ? e.drilldownChartConfig || void 0 : e.chartConfig,
212
+ connectionName: l.connection,
213
+ imports: l.imports,
214
+ conceptFilters: e.conceptFilters,
215
+ chartFilters: e.chartFilters,
216
+ filters: e.filters,
217
+ parameters: e.parameters,
218
+ results: e.results,
219
+ loading: e.loading,
220
+ error: e.error,
221
+ loadStartTime: e.loadStartTime,
222
+ hasDrilldown: !!e.drilldown
223
+ } : {
224
+ type: v.CHART,
225
+ content: "",
226
+ structured_content: { markdown: "", query: "" },
227
+ rootContent: [],
228
+ name: "",
229
+ allowCrossFilter: !0,
230
+ hasDrilldown: !1
231
+ };
232
+ }
233
+ function b(t, a, e) {
234
+ if (a !== r.dashboardId)
235
+ return;
236
+ const o = l.gridItems[t];
237
+ o && ("name" in e && (o.name = e.name ?? o.name), "content" in e && (o.content = e.content ?? o.content), "chartConfig" in e && (o.chartConfig = e.chartConfig ?? void 0), "drilldown" in e && (o.drilldown = e.drilldown ?? null), "drilldownChartConfig" in e && (o.drilldownChartConfig = e.drilldownChartConfig ?? null), "allowCrossFilter" in e && (o.allowCrossFilter = !!e.allowCrossFilter), "width" in e && (o.width = Number(e.width ?? o.width)), "height" in e && (o.height = Number(e.height ?? o.height)), "filters" in e && (o.filters = e.filters ?? []), "chartFilters" in e && (o.chartFilters = e.chartFilters ?? []), "conceptFilters" in e && (o.conceptFilters = e.conceptFilters ?? []), "parameters" in e && (o.parameters = e.parameters ?? {}), "results" in e && (o.results = e.results, o.loading = !1, o.error = null, o.loadStartTime = null), "loading" in e && (o.loading = !!e.loading, o.loadStartTime = o.loading ? Date.now() : null), "error" in e && (o.error = e.error ?? null, o.error && (o.loading = !1, o.loadStartTime = null)));
238
+ }
239
+ function x(t) {
240
+ if (t !== r.dashboardId)
241
+ throw new Error(`Unexpected dashboard id ${t}`);
242
+ return s;
243
+ }
244
+ function I() {
245
+ n && (clearTimeout(n), n = null), i.clear(), s.clearQueue();
246
+ }
247
+ return {
248
+ dashboard: l,
249
+ executor: s,
250
+ registerItem: m,
251
+ scheduleRun: u,
252
+ runBatch: F,
253
+ setImports: h,
254
+ setConnection: c,
255
+ getItemData: y,
256
+ setItemData: b,
257
+ getDashboardQueryExecutor: x,
258
+ dispose: I
259
+ };
260
+ }
261
+ function K(r) {
262
+ const l = V(r), s = g(() => Array.from(d(r.staticValidFields ?? []) ?? [])), i = L({
263
+ validFields: () => [...l.eligibleFields.value, ...s.value],
264
+ normalizeLocalFields: r.normalizeLocalFields ?? !0
265
+ }), n = g(
266
+ () => !l.loading.value || l.eligibleFields.value.length > 0 || s.value.length > 0
267
+ );
268
+ return {
269
+ version: i.version,
270
+ eligibleFields: l.eligibleFields,
271
+ eligibilityLoading: l.loading,
272
+ eligibilityError: l.error,
273
+ refreshEligibility: l.refresh,
274
+ applyDimensionClick(f, m) {
275
+ return n.value ? i.applyDimensionClick(f, m) : {};
276
+ },
277
+ clearSource: i.clearSource,
278
+ clearAll: i.clearAll,
279
+ hasSelectionFrom: i.hasSelectionFrom,
280
+ getSelections: i.getSelections,
281
+ getSelectionSources: i.getSelectionSources,
282
+ getSqlFilterInputsFor: i.getSqlFilterInputsFor,
283
+ getChartSelectionsFor: i.getChartSelectionsFor,
284
+ getFilterExpressionFor: i.getFilterExpressionFor,
285
+ getSqlFiltersFor: i.getSqlFiltersFor
286
+ };
287
+ }
61
288
  export {
62
- U as CELL_TYPES,
63
- de as ColumnType,
64
- w as Dashboard,
65
- Q as DashboardChart,
66
- q as DashboardDataSelector,
67
- N as DashboardFilter,
68
- _ as DashboardMarkdown,
69
- j as DashboardModel,
70
- B as DashboardQueryExecutor,
71
- k as DashboardTable,
72
- O as DataTable,
73
- Y as MarkdownRenderer,
74
- C as QueryExecutionService,
75
- Se as Results,
76
- se as TRILOGY_EMBED_CONFIG_KEY,
77
- L as TrilogyEmbedProvider,
78
- H as VegaLiteChart,
79
- K as applyCrossFilterOperationToGridItems,
80
- W as buildCrossFilterExpression,
81
- J as clearAllCrossFiltersFromGridItems,
82
- X as createCrossFilterController,
83
- Z as filterAllowedDimensionFilters,
84
- ae as normalizeEmbedTheme,
85
- ie as provideTrilogyEmbedConfig,
86
- $ as removeCrossFilterFromItem,
87
- ee as removeCrossFilterSourceFromGridItems,
88
- ne as resolveThemeMode,
89
- le as resolveThemeVariables,
90
- oe as syncCrossFilterSqlForItem,
91
- re as useCrossFilterController,
92
- ce as useResolvedThemeMode,
93
- F as useTrilogyChat,
94
- g as useTrilogyCore,
95
- me as useTrilogyEmbedConfig
289
+ v as CELL_TYPES,
290
+ Ne as ColumnType,
291
+ ee as Dashboard,
292
+ te as DashboardChart,
293
+ oe as DashboardDataSelector,
294
+ le as DashboardFilter,
295
+ ie as DashboardMarkdown,
296
+ he as DashboardModel,
297
+ R as DashboardQueryExecutor,
298
+ ne as DashboardTable,
299
+ ae as DataTable,
300
+ ue as MarkdownRenderer,
301
+ q as QueryExecutionService,
302
+ Qe as Results,
303
+ Te as TRILOGY_EMBED_CONFIG_KEY,
304
+ Z as TrilogyEmbedProvider,
305
+ fe as VegaLiteChart,
306
+ ge as applyCrossFilterOperationToGridItems,
307
+ Ce as buildCrossFilterExpression,
308
+ Fe as clearAllCrossFiltersFromGridItems,
309
+ Se as createCrossFilterController,
310
+ ve as extractEligibleCrossFilterFields,
311
+ ye as filterAllowedDimensionFilters,
312
+ Ee as normalizeEmbedTheme,
313
+ pe as provideTrilogyEmbedConfig,
314
+ be as removeCrossFilterFromItem,
315
+ we as removeCrossFilterSourceFromGridItems,
316
+ De as resolveThemeMode,
317
+ qe as resolveThemeVariables,
318
+ xe as syncCrossFilterSqlForItem,
319
+ L as useCrossFilterController,
320
+ V as useCrossFilterEligibility,
321
+ j as useEmbeddedDashboardGroup,
322
+ K as useResolvedCrossFilterController,
323
+ Ae as useResolvedThemeMode,
324
+ $ as useTrilogyChat,
325
+ G as useTrilogyCore,
326
+ Re as useTrilogyEmbedConfig
96
327
  };
@@ -24,5 +24,44 @@ export declare const createBarChartSpec: (config: ChartConfig, columns: Map<stri
24
24
  color: string;
25
25
  };
26
26
  encoding: any;
27
+ } | {
28
+ layer: ({
29
+ params: ({
30
+ name: string;
31
+ select: {
32
+ type: string;
33
+ on: string;
34
+ clear: string;
35
+ };
36
+ value?: undefined;
37
+ nearest?: undefined;
38
+ } | {
39
+ name: string;
40
+ select: {
41
+ type: string;
42
+ on: string;
43
+ clear?: undefined;
44
+ };
45
+ value: Partial<ChartConfig>[];
46
+ nearest: boolean;
47
+ })[];
48
+ mark: {
49
+ type: string;
50
+ color: string;
51
+ };
52
+ encoding: any;
53
+ } | {
54
+ mark: {
55
+ type: string;
56
+ point: boolean;
57
+ color: string;
58
+ strokeWidth: number;
59
+ };
60
+ encoding: {
61
+ x: any;
62
+ y: import('./types').FieldEncodingOutput;
63
+ tooltip: any[];
64
+ };
65
+ })[];
27
66
  };
28
67
  //# sourceMappingURL=barChartSpec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"barChartSpec.d.ts","sourceRoot":"","sources":["../../dashboards/barChartSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AASrD,eAAO,MAAM,kBAAkB,WACrB,WAAW,WACV,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,iBACnB,GAAG,EAAE,YACV,GAAG,QACP,SAAS,GAAG,EAAE,GAAG,IAAI,YACjB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,iBACvB,OAAO,GAAG,MAAM,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAwDpC,CAAA"}
1
+ {"version":3,"file":"barChartSpec.d.ts","sourceRoot":"","sources":["../../dashboards/barChartSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AASrD,eAAO,MAAM,kBAAkB,WACrB,WAAW,WACV,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,iBACnB,GAAG,EAAE,YACV,GAAG,QACP,SAAS,GAAG,EAAE,GAAG,IAAI,YACjB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,iBACvB,OAAO,GAAG,MAAM,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFpC,CAAA"}
@@ -25,6 +25,9 @@ export interface CreateCrossFilterControllerOptions {
25
25
  validFields?: Iterable<string> | (() => Iterable<string>);
26
26
  normalizeLocalFields?: boolean;
27
27
  }
28
+ export declare function extractEligibleCrossFilterFields(completionItems?: Iterable<{
29
+ label: string;
30
+ }>): string[];
28
31
  export interface CrossFilterController {
29
32
  getSelections(): CrossFilterSelection[];
30
33
  getSelectionSources(): string[];