@sisense/sdk-ui 2.1.1 → 2.3.0

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 (94) hide show
  1. package/dist/ai.cjs +39 -27
  2. package/dist/ai.js +1650 -1266
  3. package/dist/analytics-composer.cjs +24 -24
  4. package/dist/analytics-composer.js +131 -127
  5. package/dist/derive-chart-family-BtTi3OxL.js +90465 -0
  6. package/dist/derive-chart-family-DeTlU_Wm.cjs +669 -0
  7. package/dist/{dimensions-BBfnA6e8.cjs → dimensions-DpBTdNJ_.cjs} +1 -1
  8. package/dist/{dimensions-DOWF8q44.js → dimensions-Xxab6o5s.js} +13 -13
  9. package/dist/index.cjs +22 -22
  10. package/dist/index.js +12682 -12517
  11. package/dist/index.umd.js +1578 -0
  12. package/dist/packages/sdk-ui/src/ai/api/types.d.ts +2 -0
  13. package/dist/packages/sdk-ui/src/ai/common/icon-button.d.ts +1 -1
  14. package/dist/packages/sdk-ui/src/analytics-composer/index.d.ts +1 -0
  15. package/dist/packages/sdk-ui/src/analytics-composer/widget/chart-options/get-widget-options.d.ts +23 -7
  16. package/dist/packages/sdk-ui/src/api/rest-api.d.ts +1 -0
  17. package/dist/packages/sdk-ui/src/api/types/dashboard-dto.d.ts +7 -0
  18. package/dist/packages/sdk-ui/src/app/client-application.d.ts +16 -0
  19. package/dist/packages/sdk-ui/src/chart/restructured-charts/chart-builder-factory.d.ts +3 -1
  20. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/alerts.d.ts +3 -0
  21. package/dist/packages/sdk-ui/src/chart/restructured-charts/{helpers/cartesians → highchart-based-charts/cartesians/helpers}/data-options.d.ts +2 -2
  22. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/data.d.ts +4 -0
  23. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/get-legacy-cartesian-chart-options.d.ts +3 -0
  24. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/bar-chart/bar-chart-builder.d.ts +2 -0
  25. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/bar-chart/highcharts-options-builder.d.ts +2 -0
  26. package/dist/packages/sdk-ui/src/chart/restructured-charts/{column-chart → highchart-based-charts/cartesians/stackable/column-chart}/column-chart-builder.d.ts +1 -1
  27. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/column-chart/highcharts-options-builder.d.ts +2 -0
  28. package/dist/packages/sdk-ui/src/chart/restructured-charts/{helpers/cartesians/stackable → highchart-based-charts/cartesians/stackable/helpers}/design-options.d.ts +3 -3
  29. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/types.d.ts +1 -0
  30. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/build-highchart-options.d.ts +20 -0
  31. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/highcharts-based-chart-renderer.d.ts +39 -0
  32. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/utils.d.ts +2 -0
  33. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/types.d.ts +28 -0
  34. package/dist/packages/sdk-ui/src/chart/restructured-charts/types.d.ts +2 -2
  35. package/dist/packages/sdk-ui/src/chart/types.d.ts +0 -1
  36. package/dist/packages/sdk-ui/src/chart-options-processor/apply-event-handlers.d.ts +15 -0
  37. package/dist/packages/sdk-ui/src/chart-options-processor/common-highcharts-option-service.d.ts +9 -0
  38. package/dist/packages/sdk-ui/src/chart-options-processor/subtype-to-design-options.d.ts +2 -1
  39. package/dist/packages/sdk-ui/src/chart-options-processor/theme-option-service.d.ts +8 -0
  40. package/dist/packages/sdk-ui/src/chart-options-processor/translations/design-options.d.ts +4 -1
  41. package/dist/packages/sdk-ui/src/common/components/grouped-items-browser/group.d.ts +1 -0
  42. package/dist/packages/sdk-ui/src/common/components/grouped-items-browser/types.d.ts +3 -0
  43. package/dist/packages/sdk-ui/src/common/components/loading-overlay.d.ts +1 -3
  44. package/dist/packages/sdk-ui/src/common/components/menu/menu-ids.d.ts +10 -1
  45. package/dist/packages/sdk-ui/src/common/components/menu/types.d.ts +2 -0
  46. package/dist/packages/sdk-ui/src/common/components/modal/index.d.ts +2 -0
  47. package/dist/packages/sdk-ui/src/common/components/modal/modal-context.d.ts +39 -0
  48. package/dist/packages/sdk-ui/src/common/components/modal/modal-provider.d.ts +19 -0
  49. package/dist/packages/sdk-ui/src/common/components/popover.d.ts +10 -0
  50. package/dist/packages/sdk-ui/src/common/hooks/use-combined-menu.d.ts +4 -8
  51. package/dist/packages/sdk-ui/src/common/hooks/use-state-with-history.d.ts +64 -0
  52. package/dist/packages/sdk-ui/src/dashboard/components/dashboard-header.d.ts +1 -1
  53. package/dist/packages/sdk-ui/src/dashboard/components/jtd-dashboard.d.ts +15 -0
  54. package/dist/packages/sdk-ui/src/dashboard/dashboard.d.ts +7 -1
  55. package/dist/packages/sdk-ui/src/dashboard/hooks/use-dashboard-header-toolbar.d.ts +17 -0
  56. package/dist/packages/sdk-ui/src/dashboard/hooks/use-edit-mode-toolbar.d.ts +52 -0
  57. package/dist/packages/sdk-ui/src/dashboard/hooks/use-jtd.d.ts +113 -0
  58. package/dist/packages/sdk-ui/src/dashboard/types.d.ts +11 -2
  59. package/dist/packages/sdk-ui/src/data-browser/data-schema-browser/data-schema-browser.d.ts +14 -0
  60. package/dist/packages/sdk-ui/src/data-browser/data-schema-browser/data-schema-browser.styles.d.ts +6 -0
  61. package/dist/packages/sdk-ui/src/data-browser/dimensions-browser/types.d.ts +5 -0
  62. package/dist/packages/sdk-ui/src/decorators/component-decorators/as-sisense-component.d.ts +2 -0
  63. package/dist/packages/sdk-ui/src/decorators/component-decorators/with-modal.d.ts +6 -0
  64. package/dist/packages/sdk-ui/src/error-boundary/error-boundary.d.ts +6 -2
  65. package/dist/packages/sdk-ui/src/index.d.ts +2 -1
  66. package/dist/packages/sdk-ui/src/models/dashboard/dashboard-model.d.ts +7 -0
  67. package/dist/packages/sdk-ui/src/models/dashboard/index.d.ts +1 -0
  68. package/dist/packages/sdk-ui/src/models/dashboard/translate-dashboard-dto-utils.d.ts +3 -1
  69. package/dist/packages/sdk-ui/src/models/dashboard/types.d.ts +7 -1
  70. package/dist/packages/sdk-ui/src/models/dashboard/use-dashboard-model/use-dashboard-model-reducer.d.ts +14 -5
  71. package/dist/packages/sdk-ui/src/models/dashboard/use-dashboard-model/use-dashboard-model.d.ts +18 -17
  72. package/dist/packages/sdk-ui/src/models/dashboard/use-dashboard-model/use-dashboard-persistence.d.ts +34 -0
  73. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-render-pivot.d.ts +4 -4
  74. package/dist/packages/sdk-ui/src/plugins-provider/types.d.ts +2 -2
  75. package/dist/packages/sdk-ui/src/props.d.ts +7 -4
  76. package/dist/packages/sdk-ui/src/translation/resources/en.d.ts +16 -0
  77. package/dist/packages/sdk-ui/src/translation/resources/index.d.ts +32 -0
  78. package/dist/packages/sdk-ui/src/types.d.ts +26 -3
  79. package/dist/packages/sdk-ui/src/utils/filter-relations.d.ts +4 -4
  80. package/dist/packages/sdk-ui/src/widget-by-id/types.d.ts +72 -0
  81. package/dist/packages/sdk-ui/src/widgets/common/drilldown-breadcrumbs/styled-buttons.d.ts +2 -2
  82. package/dist/packages/sdk-ui/src/widgets/tabber-widget.d.ts +2 -1
  83. package/dist/use-common-filters-B2N7j9H-.cjs +350 -0
  84. package/dist/use-common-filters-BC4Vg9wu.js +32068 -0
  85. package/dist/{widget-composer-BZwsi1mW.js → widget-composer-Bj5DrCSm.js} +111 -98
  86. package/dist/{widget-composer-Bv_aqjLX.cjs → widget-composer-DjREvygd.cjs} +7 -7
  87. package/package.json +23 -19
  88. package/dist/derive-chart-family-C8duLtwv.js +0 -102033
  89. package/dist/derive-chart-family-CQ1Myy0A.cjs +0 -758
  90. package/dist/packages/sdk-ui/src/chart/restructured-charts/bar-chart/bar-chart-builder.d.ts +0 -2
  91. package/dist/packages/sdk-ui/src/chart/restructured-charts/helpers/cartesians/data.d.ts +0 -4
  92. package/dist/packages/sdk-ui/src/widget-by-id/use-get-dashboard-model-and-widget-model.d.ts +0 -14
  93. package/dist/use-common-filters--6cyMg9O.js +0 -28797
  94. package/dist/use-common-filters-NTIrYvRs.cjs +0 -271
@@ -10,8 +10,8 @@ var $ = (t, e, r) => e in t ? tt(t, e, { enumerable: !0, configurable: !0, writa
10
10
  at.call(e, r) && $(t, r, e[r]);
11
11
  return t;
12
12
  }, u = (t, e) => et(t, rt(e));
13
- import { ek as _, a3 as st, eq as nt, er as ot, es as lt, M as C, T as S, et as dt, bd as R, e6 as ct, eu as O, em as z, aY as ut, bj as pt, bi as mt, m as M, ev as gt, b4 as I, aO as yt, ay as ft, c4 as P, ew as ht } from "./derive-chart-family-C8duLtwv.js";
14
- class J extends _ {
13
+ import { dW as N, w as st, e0 as nt, ap as ot, e1 as lt, e2 as dt, m as C, T as S, e3 as ct, aP as _, dI as ut, e4 as O, dY as z, ay as pt, aW as mt, aV as gt, aG as M, ao as yt, n as I, e5 as ft, a8 as ht, bG as P, e6 as St } from "./derive-chart-family-BtTi3OxL.js";
14
+ class J extends N {
15
15
  constructor(e, r) {
16
16
  var i;
17
17
  super((i = e.jaql.title) !== null && i !== void 0 ? i : "", r), this.expression = e.jaql.dim || e.jaql.formula, this.metadataItem = e, e.jaql.agg ? this.aggregation = e.jaql.agg : delete this.aggregation, e.jaql.formula ? this.formula = e.jaql.formula : delete this.formula, e.jaql.sort ? this.sortType = st(e.jaql.sort) : delete this.sortType, this.skipValidation = !0;
@@ -30,37 +30,40 @@ class J extends _ {
30
30
  return e.__serializable = "JaqlElement", e.metadataItem = this.metadataItem, e.type = this.type, e;
31
31
  }
32
32
  }
33
- const St = {
33
+ const Ot = {
34
34
  text: C.TextAttribute,
35
35
  numeric: C.NumericAttribute,
36
36
  datetime: C.DateLevel
37
37
  };
38
- function Ot(t) {
38
+ function Tt(t) {
39
39
  var e;
40
- return new J(t, (e = St[t.jaql.datatype]) !== null && e !== void 0 ? e : "numeric");
40
+ return new J(t, (e = Ot[t.jaql.datatype]) !== null && e !== void 0 ? e : "numeric");
41
41
  }
42
42
  function Y(t) {
43
43
  const { jaql: e } = t;
44
- return e.formula ? nt(e) : "agg" in e && e.dim && e.datatype ? ot({
44
+ if (e.formula)
45
+ return nt(e);
46
+ const r = ot.translateJaqlToGranularity(e);
47
+ return "agg" in e && e.dim && e.datatype ? lt({
45
48
  expression: e.dim,
46
49
  dataType: e.datatype,
47
50
  agg: e.agg || "",
48
- granularity: e.level,
51
+ granularity: r,
49
52
  format: void 0,
50
53
  sort: e.sort,
51
54
  title: e.title,
52
55
  dataSource: e.datasource
53
- }) : e.dim && e.datatype ? lt({
56
+ }) : e.dim && e.datatype ? dt({
54
57
  expression: e.dim,
55
58
  dataType: e.datatype,
56
- granularity: e.level,
59
+ granularity: r,
57
60
  sort: e.sort,
58
61
  title: e.title,
59
62
  panel: t.panel,
60
63
  dataSource: e.datasource
61
- }) : Ot(t);
64
+ }) : Tt(t);
62
65
  }
63
- const ee = {
66
+ const ie = {
64
67
  jaql: {
65
68
  datasource: {
66
69
  title: "",
@@ -70,23 +73,23 @@ const ee = {
70
73
  },
71
74
  queryTitle: "",
72
75
  chartRecommendations: {}
73
- }, re = {
76
+ }, ae = {
74
77
  model: "",
75
78
  metadata: [],
76
79
  chart: {},
77
80
  queryTitle: ""
78
- }, ie = (t) => "widgetProps" in t, Tt = (t) => "dashboardOid" in t && "widgetOid" in t, ae = (t) => "dashboardProps" in t, se = (t) => "dashboardOid" in t;
79
- function bt(t) {
81
+ }, se = (t) => "widgetProps" in t, bt = (t) => "dashboardOid" in t && "widgetOid" in t, ne = (t) => "dashboardProps" in t, oe = (t) => "dashboardOid" in t;
82
+ function vt(t) {
80
83
  return t.replace(/\s+/g, "-").replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
81
84
  }
82
- function ne(t) {
85
+ function le(t) {
83
86
  return t.charAt(0).toUpperCase() + t.slice(1);
84
87
  }
85
- function oe(t) {
88
+ function de(t) {
86
89
  const e = /\[(.+?)\s\(Calendar\)\]/;
87
90
  return t.replace(e, "[$1]").trim();
88
91
  }
89
- function le(t) {
92
+ function ce(t) {
90
93
  if (t)
91
94
  if (t.metadata) {
92
95
  if (!t.model)
@@ -97,12 +100,12 @@ function le(t) {
97
100
  throw new S("errors.emptyModel");
98
101
  return t;
99
102
  }
100
- function vt(t) {
103
+ function xt(t) {
101
104
  return !t || !t.jaql.datasource.title || !t.jaql.metadata.length;
102
105
  }
103
106
  function U(t) {
104
107
  if (![
105
- ...dt,
108
+ ...ct,
106
109
  "pivot",
107
110
  "pivot2"
108
111
  ].includes(t))
@@ -110,7 +113,7 @@ function U(t) {
110
113
  chartType: t
111
114
  });
112
115
  }
113
- function xt(t) {
116
+ function Et(t) {
114
117
  return "widgetType" in t && t.widgetType === "pivot";
115
118
  }
116
119
  function h(t) {
@@ -119,12 +122,12 @@ function h(t) {
119
122
  }
120
123
  function L(t) {
121
124
  const e = "measures" in t && c(t.measures) || "values" in t && c(t.values);
122
- return xt(t) ? "values" in t.dataOptions && c(t.dataOptions.values) : "chartType" in t ? t.chartType === "indicator" ? "value" in t.dataOptions && c(t.dataOptions.value) || "secondary" in t.dataOptions && c(t.dataOptions.secondary) : t.chartType === "table" ? !("columns" in t.dataOptions) || !c(t.dataOptions.columns) ? !1 : t.dataOptions.columns.some((i) => h(i)) : t.chartType === "boxplot" ? !1 : t.chartType === "scatter" ? "x" in t.dataOptions && t.dataOptions.x !== void 0 && h(t.dataOptions.x) || "y" in t.dataOptions && t.dataOptions.y !== void 0 && h(t.dataOptions.y) || "size" in t.dataOptions && t.dataOptions.size !== void 0 : t.chartType === "scattermap" ? "colorBy" in t.dataOptions && t.dataOptions.colorBy !== void 0 && h(t.dataOptions.colorBy) || "details" in t.dataOptions && t.dataOptions.details !== void 0 && h(t.dataOptions.details) || "size" in t.dataOptions && t.dataOptions.size !== void 0 && h(t.dataOptions.size) : t.chartType === "areamap" ? "geo" in t.dataOptions && c(t.dataOptions.geo) && "color" in t.dataOptions && c(t.dataOptions.color) : "value" in t.dataOptions && c(t.dataOptions.value) : e;
125
+ return Et(t) ? "values" in t.dataOptions && c(t.dataOptions.values) : "chartType" in t ? t.chartType === "indicator" ? "value" in t.dataOptions && c(t.dataOptions.value) || "secondary" in t.dataOptions && c(t.dataOptions.secondary) : t.chartType === "table" ? !("columns" in t.dataOptions) || !c(t.dataOptions.columns) ? !1 : t.dataOptions.columns.some((i) => h(i)) : t.chartType === "boxplot" ? !1 : t.chartType === "scatter" ? "x" in t.dataOptions && t.dataOptions.x !== void 0 && h(t.dataOptions.x) || "y" in t.dataOptions && t.dataOptions.y !== void 0 && h(t.dataOptions.y) || "size" in t.dataOptions && t.dataOptions.size !== void 0 : t.chartType === "scattermap" ? "colorBy" in t.dataOptions && t.dataOptions.colorBy !== void 0 && h(t.dataOptions.colorBy) || "details" in t.dataOptions && t.dataOptions.details !== void 0 && h(t.dataOptions.details) || "size" in t.dataOptions && t.dataOptions.size !== void 0 && h(t.dataOptions.size) : t.chartType === "areamap" ? "geo" in t.dataOptions && c(t.dataOptions.geo) && "color" in t.dataOptions && c(t.dataOptions.color) : "value" in t.dataOptions && c(t.dataOptions.value) : e;
123
126
  }
124
127
  function c(t) {
125
128
  return Array.isArray(t) && t.length > 0;
126
129
  }
127
- function Et(t) {
130
+ function Dt(t) {
128
131
  const e = t.split(`
129
132
  `);
130
133
  for (let r = 0; r < e.length - 1; r++)
@@ -138,7 +141,7 @@ function Et(t) {
138
141
  return e.join(`
139
142
  `);
140
143
  }
141
- const Dt = {
144
+ const wt = {
142
145
  react: {
143
146
  baseChartTmpl: `import { {{componentString}} } from '@sisense/sdk-ui';
144
147
  {{extraImportsString}}
@@ -597,10 +600,10 @@ import { DashboardById } from '@sisense/sdk-ui-vue';
597
600
  </template>`,
598
601
  dashboardTmpl: "/** COMING SOON */"
599
602
  }
600
- }, K = (t, e) => Dt[e][t].replace(/{{(.*?)Tmpl}}/g, (i, a) => K(`${a}Tmpl`, e)), wt = (t, e) => t.replace(/{{(.*?)}}/g, (r, i) => i in e ? e[i] : (console.warn(`Placeholder ${i} not found in data`), r)), q = (t, e, r = "react") => {
603
+ }, K = (t, e) => wt[e][t].replace(/{{(.*?)Tmpl}}/g, (i, a) => K(`${a}Tmpl`, e)), Ct = (t, e) => t.replace(/{{(.*?)}}/g, (r, i) => i in e ? e[i] : (console.warn(`Placeholder ${i} not found in data`), r)), q = (t, e, r = "react") => {
601
604
  const i = K(t, r);
602
- return Et(wt(i, e));
603
- }, Ct = () => Object.values(ct).map((e) => R.aggregationToJAQL(e)).join("|"), V = (t) => {
605
+ return Dt(Ct(i, e));
606
+ }, It = () => Object.values(ut).map((e) => _.aggregationToJAQL(e)).join("|"), V = (t) => {
604
607
  const { formula: e, context: r, filter: i } = t;
605
608
  if (!r || !e)
606
609
  return t;
@@ -610,7 +613,7 @@ import { DashboardById } from '@sisense/sdk-ui-vue';
610
613
  const s = a[0];
611
614
  if (typeof s != "string")
612
615
  return t;
613
- const n = r[`${s}`], l = Ct(), m = new RegExp(`^\\s*(${l})\\(\\[\\w+\\]\\)$`), y = e.match(m);
616
+ const n = r[`${s}`], m = It(), l = new RegExp(`^\\s*(${m})\\(\\[\\w+\\]\\)$`), y = e.match(l);
614
617
  if (y && e.includes(s)) {
615
618
  const d = y[1];
616
619
  return o({
@@ -643,7 +646,7 @@ import { DashboardById } from '@sisense/sdk-ui-vue';
643
646
  return (i = r.filter) != null && i.by && (r.filter.by = V(r.filter.by)), u(o({}, e), {
644
647
  jaql: r
645
648
  });
646
- }, It = (t) => {
649
+ }, qt = (t) => {
647
650
  let e = t;
648
651
  e = Mt(e);
649
652
  const { jaql: r, measure: i, by: a } = e;
@@ -655,7 +658,7 @@ import { DashboardById } from '@sisense/sdk-ui-vue';
655
658
  measure: D(i)
656
659
  } : {});
657
660
  }, w = 6, E = `
658
- `, W = "UNKNOWN", qt = (t, e) => {
661
+ `, W = "UNKNOWN", Wt = (t, e) => {
659
662
  let r = "";
660
663
  return r += `measureFactory.customFormula(
661
664
  `, r += " ".repeat(e), r += ` '${O(t.title)}',
@@ -667,21 +670,21 @@ import { DashboardById } from '@sisense/sdk-ui-vue';
667
670
  `;
668
671
  }), r += " ".repeat(e), r += ` }
669
672
  `, r += " ".repeat(e), r += ")", r;
670
- }, Wt = (t) => {
673
+ }, jt = (t) => {
671
674
  const { level: e, table: r, column: i, agg: a, title: s } = t;
672
675
  let n;
673
- return r && i && (n = z(r, i, e, "DM")), a && r && i && s && (n = `measureFactory.${R.aggregationFromJAQL(a)}(${n}, '${O(s)}')`), n || W;
674
- }, jt = (t, e) => {
676
+ return r && i && (n = z(r, i, e, "DM")), a && r && i && s && (n = `measureFactory.${_.aggregationFromJAQL(a)}(${n}, '${O(s)}')`), n || W;
677
+ }, $t = (t, e) => {
675
678
  const r = t.jaql(!1).jaql;
676
- return "formula" in r ? qt(r, e) : Wt(r);
679
+ return "formula" in r ? Wt(r, e) : jt(r);
677
680
  }, p = (t, e = 0, r = !1) => {
678
681
  if (!t)
679
682
  return "";
680
683
  if (typeof t == "string")
681
684
  return `'${O(t)}'`;
682
685
  if (t instanceof J)
683
- return jt(t, e);
684
- if (t instanceof _)
686
+ return $t(t, e);
687
+ if (t instanceof N)
685
688
  return t.composeCode || "";
686
689
  let i = "";
687
690
  return Array.isArray(t) ? i += `[${t.map((a) => p(a, e + 2))}${t.length ? E + " ".repeat(e + 2) : ""}]` : (i += `{${E}`, Object.entries(t).forEach(([a, s]) => {
@@ -692,51 +695,51 @@ import { DashboardById } from '@sisense/sdk-ui-vue';
692
695
  ].includes(typeof s) || s === null ? i += `${a}: ${s}` : typeof s == "string" ? i += `${a}: '${O(s)}'` : i += `${a}: ${s}`, i += `,${E}`;
693
696
  }), i += " ".repeat(e), i += "}"), i;
694
697
  };
695
- function $t(t) {
698
+ function Pt(t) {
696
699
  return p(t, w);
697
700
  }
698
701
  function Q(t, e = "data-source-placeholder") {
699
702
  if (!t)
700
703
  return e;
701
704
  const r = typeof t == "object" && "title" in t ? t.title : t;
702
- return bt(r);
705
+ return vt(r);
703
706
  }
704
707
  function A(t, e = !0) {
705
708
  const r = [];
706
709
  return e && r.push("measureFactory"), c(t) && r.push("filterFactory"), r.length > 0 ? `import { ${r.join(", ")} } from '@sisense/sdk-data';` : "";
707
710
  }
708
711
  const k = `
709
- `, Pt = (t, e) => {
712
+ `, Lt = (t, e) => {
710
713
  if (t.composeCode)
711
714
  return `${k}${" ".repeat(e)}${t.composeCode}`;
712
715
  const r = t.jaql().jaql;
713
716
  return `${k}${" ".repeat(e)}filterFactory.customFilter(${p(r, e, !0)})`;
714
- }, Lt = (t, e = 0) => {
717
+ }, Qt = (t, e = 0) => {
715
718
  if (!t)
716
719
  return "";
717
720
  let r = "";
718
- return r += `[${t.map((i) => Pt(i, e + 2))}${t.length ? `
721
+ return r += `[${t.map((i) => Lt(i, e + 2))}${t.length ? `
719
722
  ` + " ".repeat(e + 2) : ""}]`, r;
720
- }, B = (t) => t ? Array.isArray(t) ? Lt(t, 6) : "/** Filter relations not supported yet */" : "[]", Qt = [
723
+ }, B = (t) => t ? Array.isArray(t) ? Qt(t, 6) : "/** Filter relations not supported yet */" : "[]", At = [
721
724
  "executeQueryByWidgetIdTmpl",
722
725
  "widgetByIdTmpl"
723
- ], At = "chartWidgetTmpl", kt = "pivotTableWidgetTmpl", Bt = (t) => t, Ft = ({ dashboardOid: t, widgetOid: e, uiFramework: r = "react", chartType: i = "table", includeChart: a = !0 }) => {
726
+ ], kt = "chartWidgetTmpl", Bt = "pivotTableWidgetTmpl", Rt = (t) => t, Ft = ({ dashboardOid: t, widgetOid: e, uiFramework: r = "react", chartType: i = "table", includeChart: a = !0 }) => {
724
727
  U(i);
725
728
  const s = {
726
729
  dashboardOid: t,
727
730
  widgetOid: e
728
- }, n = Qt[Number(a)];
731
+ }, n = At[Number(a)];
729
732
  return q(n, s, r);
730
733
  }, Nt = (t, e, r) => {
731
- if (ut(t)) {
734
+ if (pt(t)) {
732
735
  U(t.chartType);
733
736
  const i = L(t), a = {
734
737
  idString: t.id,
735
738
  widgetTypeString: "chart",
736
739
  titleString: t.title,
737
740
  dataSourceString: Q(t.dataSource),
738
- chartTypeString: Bt(t.chartType),
739
- dataOptionsString: $t(t.dataOptions),
741
+ chartTypeString: Rt(t.chartType),
742
+ dataOptionsString: Pt(t.dataOptions),
740
743
  filtersString: B(t.filters),
741
744
  componentString: "ChartWidget",
742
745
  extraImportsString: A(t.filters || [], i),
@@ -745,7 +748,7 @@ const k = `
745
748
  };
746
749
  return q(r.chart, a, e);
747
750
  }
748
- if (pt(t)) {
751
+ if (mt(t)) {
749
752
  const i = L(t), a = {
750
753
  idString: t.id,
751
754
  widgetTypeString: "pivot",
@@ -759,17 +762,21 @@ const k = `
759
762
  };
760
763
  return q(r.pivot, a, e);
761
764
  }
762
- if (mt(t))
765
+ if (gt(t))
763
766
  return "/** Plugin widget code not supported yet */";
764
767
  throw new S("errors.otherWidgetTypesNotSupported");
765
768
  }, _t = ({ widgetProps: t, uiFramework: e = "react" }) => Nt(t, e, {
766
- chart: At,
767
- pivot: kt
768
- }), Rt = (t) => ({
769
+ chart: kt,
770
+ pivot: Bt
771
+ }), ue = (t) => "chartType" in t.chartRecommendations ? t.chartRecommendations : {
772
+ chartType: "table",
773
+ chartFamily: "table",
774
+ axesMapping: {}
775
+ }, zt = (t) => ({
769
776
  dataOptions: {
770
777
  columns: t.map(Y)
771
778
  }
772
- }), zt = Object.freeze({
779
+ }), Jt = Object.freeze({
773
780
  convolution: {
774
781
  enabled: !0,
775
782
  selectedConvolutionType: "bySlicesCount",
@@ -790,17 +797,17 @@ const k = `
790
797
  xAxis: {
791
798
  gridLines: !1
792
799
  }
793
- }), F = Object.freeze({
800
+ }), R = Object.freeze({
794
801
  line: "line/spline",
795
802
  pie: "pie/donut",
796
803
  bar: "bar/stacked",
797
804
  column: "column/stackedcolumn"
798
- }), Jt = (t, e, r) => {
805
+ }), Yt = (t, e, r) => {
799
806
  const i = t.reduce((s, n) => (s[n.jaql.title] = n, s), {}), a = Object.entries(r).reduce((s, n) => {
800
- const [l, m] = n;
801
- return s[`${l}`] = Array.isArray(m) ? m.map((y) => {
807
+ const [m, l] = n;
808
+ return s[`${m}`] = Array.isArray(l) ? l.map((y) => {
802
809
  var T, b;
803
- const d = I(y);
810
+ const d = M(y);
804
811
  delete d.enabled;
805
812
  const g = i[d.column.name];
806
813
  if (!g)
@@ -826,7 +833,7 @@ const k = `
826
833
  return u(o({}, d), {
827
834
  column: f
828
835
  });
829
- }) : m, s;
836
+ }) : l, s;
830
837
  }, {});
831
838
  switch (e) {
832
839
  case "cartesian":
@@ -849,21 +856,20 @@ const k = `
849
856
  s !== "geo" && (a[`${s}`] = a[`${s}`][0]);
850
857
  }), a;
851
858
  case "table":
852
- return Object.keys(a).length === 0 ? Rt(t).dataOptions : a;
859
+ return Object.keys(a).length === 0 ? zt(t).dataOptions : a;
853
860
  case "boxplot":
854
861
  case "areamap":
855
862
  case "indicator":
856
863
  default:
857
864
  return a;
858
865
  }
859
- }, N = (t, e) => {
866
+ }, F = (t, e) => {
860
867
  var r, i, a, s;
861
- return e === "x" ? (i = (r = t.axesMapping.category) != null ? r : t.axesMapping.x) == null ? void 0 : i.map((n) => I(n).column.name).join(", ") : (s = (a = t.axesMapping.value) != null ? a : t.axesMapping.y) == null ? void 0 : s.map((n) => I(n).column.name).join(", ");
862
- }, Yt = (t, e, r = !0) => {
863
- const { chartFamily: i, axesMapping: a = {}, styleOptions: s = {} } = e, n = Jt(t, i, a);
864
- let l;
865
- return r && e.chartType in F ? l = M(M(zt, {
866
- subtype: F[e.chartType]
868
+ return e === "x" ? (i = (r = t.category) != null ? r : t.x) == null ? void 0 : i.map((n) => M(n).column.name).join(", ") : (s = (a = t.value) != null ? a : t.y) == null ? void 0 : s.map((n) => M(n).column.name).join(", ");
869
+ }, Ut = (t, e, r, i) => {
870
+ let a;
871
+ return i && t in R ? a = I(I(Jt, {
872
+ subtype: R[`${t}`]
867
873
  }), {
868
874
  legend: {
869
875
  enabled: !0,
@@ -872,24 +878,27 @@ const k = `
872
878
  yAxis: {
873
879
  title: {
874
880
  enabled: !0,
875
- text: N(e, "y")
881
+ text: F(e, "y")
876
882
  }
877
883
  },
878
884
  xAxis: {
879
885
  title: {
880
886
  enabled: !0,
881
- text: N(e, "x")
887
+ text: F(e, "x")
882
888
  }
883
889
  }
884
- }, s) : l = M(gt(), s), {
885
- dataOptions: n,
890
+ }, r) : a = I(ft(), r), a;
891
+ }, Kt = (t, e, r = !0) => {
892
+ const { chartFamily: i, chartType: a, axesMapping: s = {}, styleOptions: n = {} } = e, m = Yt(t, i, s), l = Ut(a, s, n, r);
893
+ return {
894
+ dataOptions: m,
886
895
  chartStyleOptions: l
887
896
  };
888
- }, Ut = (t) => "chartType" in t ? t : {
897
+ }, Vt = (t) => "chartType" in t ? t : {
889
898
  chartType: "table",
890
899
  chartFamily: "table",
891
900
  axesMapping: {}
892
- }, Kt = (t) => t.map((e) => ft(e.jaql)), Vt = (t) => t.reduce((e, r) => {
901
+ }, Gt = (t) => t.map((e) => ht(e.jaql)), Ht = (t) => t.reduce((e, r) => {
893
902
  if ((r.panel === "scope" || r.jaql.filter) && e.metadataFilters.push(P(r)), r.panel !== "scope") {
894
903
  const i = P(r);
895
904
  delete i.jaql.filter, e.metadataColumns.push(i);
@@ -898,62 +907,66 @@ const k = `
898
907
  }, {
899
908
  metadataColumns: [],
900
909
  metadataFilters: []
901
- }), Ht = (t, e) => {
902
- if (!vt(t))
910
+ }), Xt = (t, e) => {
911
+ if (!xt(t))
903
912
  try {
904
- const { useCustomizedStyleOptions: r = !1 } = e || {}, { jaql: i, chartRecommendations: a, queryTitle: s } = t, { metadata: n, datasource: l } = i, m = u(o({}, l), {
905
- type: l.type || "elasticube"
906
- }), y = ht(m), d = n.map((x) => It(x)).map((x) => u(o({}, x), {
913
+ const { useCustomizedStyleOptions: r = !1 } = e || {}, { jaql: i, chartRecommendations: a, queryTitle: s } = t, { metadata: n, datasource: m } = i, l = u(o({}, m), {
914
+ type: m.type || "elasticube"
915
+ }), y = St(l), d = n.map((x) => qt(x)).map((x) => u(o({}, x), {
907
916
  jaql: u(o({}, x.jaql), {
908
917
  datasource: y
909
918
  })
910
- })), g = Ut(a), f = g.chartType.toLowerCase(), T = {
919
+ })), g = Vt(a), f = g.chartType.toLowerCase(), T = {
911
920
  cornerRadius: "Small",
912
921
  header: {
913
922
  // remove info button and render empty toolbar instead
914
923
  renderToolbar: () => null
915
924
  }
916
- }, { metadataColumns: b, metadataFilters: v } = Vt(d), H = Kt(v), { dataOptions: G, chartStyleOptions: X } = Yt(b, g, r), Z = o(o({}, X), T);
925
+ }, { metadataColumns: b, metadataFilters: v } = Ht(d), G = Gt(v), { dataOptions: H, chartStyleOptions: X } = Kt(b, g, r), Z = o(o({}, X), T);
917
926
  return {
918
927
  widgetType: "chart",
919
928
  id: s,
920
929
  title: s,
921
930
  chartType: f,
922
- dataSource: m,
923
- dataOptions: G,
924
- filters: H,
931
+ dataSource: l,
932
+ dataOptions: H,
933
+ filters: G,
925
934
  styleOptions: Z
926
935
  };
927
936
  } catch (r) {
928
937
  console.error(r);
929
938
  return;
930
939
  }
931
- }, Gt = (t, e) => Ht(t, e), Xt = (t) => Tt(t) ? Ft(t) : _t(t), de = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
940
+ }, Zt = (t, e) => Xt(t, e), te = (t) => bt(t) ? Ft(t) : _t(t), pe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
932
941
  __proto__: null,
933
- toWidgetCode: Xt,
934
- toWidgetProps: Gt
942
+ toWidgetCode: te,
943
+ toWidgetProps: Zt
935
944
  }, Symbol.toStringTag, { value: "Module" }));
936
945
  export {
937
946
  w as C,
938
- re as E,
947
+ ae as E,
939
948
  J,
940
949
  q as a,
941
950
  L as b,
942
- ne as c,
951
+ le as c,
943
952
  Q as d,
944
953
  B as e,
945
954
  A as f,
946
955
  Nt as g,
947
956
  p as h,
948
- se as i,
949
- ee as j,
950
- ie as k,
951
- Tt as l,
952
- ae as m,
953
- It as n,
954
- wt as p,
955
- oe as s,
956
- Gt as t,
957
- le as v,
958
- de as w
957
+ oe as i,
958
+ ie as j,
959
+ se as k,
960
+ bt as l,
961
+ ne as m,
962
+ qt as n,
963
+ ue as o,
964
+ Ct as p,
965
+ Yt as q,
966
+ Ut as r,
967
+ de as s,
968
+ Zt as t,
969
+ Kt as u,
970
+ ce as v,
971
+ pe as w
959
972
  };
@@ -1,6 +1,6 @@
1
- "use strict";var G=Object.defineProperty,X=Object.defineProperties;var Z=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols;var tt=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable;var L=(t,e,r)=>e in t?G(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,l=(t,e)=>{for(var r in e||(e={}))tt.call(e,r)&&L(t,r,e[r]);if(j)for(var r of j(e))et.call(e,r)&&L(t,r,e[r]);return t},m=(t,e)=>X(t,Z(e));const n=require("./derive-chart-family-CQ1Myy0A.cjs");class P extends n.DimensionalElement{constructor(e,r){var i;super((i=e.jaql.title)!==null&&i!==void 0?i:"",r),this.expression=e.jaql.dim||e.jaql.formula,this.metadataItem=e,e.jaql.agg?this.aggregation=e.jaql.agg:delete this.aggregation,e.jaql.formula?this.formula=e.jaql.formula:delete this.formula,e.jaql.sort?this.sortType=n.getSortType(e.jaql.sort):delete this.sortType,this.skipValidation=!0}get id(){return this.expression}jaql(e){return e===!0?this.metadataItem.jaql:this.metadataItem}serialize(){const e=super.serialize();return e.__serializable="JaqlElement",e.metadataItem=this.metadataItem,e.type=this.type,e}}const rt={text:n.MetadataTypes.TextAttribute,numeric:n.MetadataTypes.NumericAttribute,datetime:n.MetadataTypes.DateLevel};function it(t){var e;return new P(t,(e=rt[t.jaql.datatype])!==null&&e!==void 0?e:"numeric")}function B(t){const{jaql:e}=t;return e.formula?n.createCalculatedMeasureHelper(e):"agg"in e&&e.dim&&e.datatype?n.createMeasureHelper({expression:e.dim,dataType:e.datatype,agg:e.agg||"",granularity:e.level,format:void 0,sort:e.sort,title:e.title,dataSource:e.datasource}):e.dim&&e.datatype?n.createAttributeHelper({expression:e.dim,dataType:e.datatype,granularity:e.level,sort:e.sort,title:e.title,panel:t.panel,dataSource:e.datasource}):it(t)}const at={jaql:{datasource:{title:"",type:"elasticube"},metadata:[]},queryTitle:"",chartRecommendations:{}},st={model:"",metadata:[],chart:{},queryTitle:""},nt=t=>"widgetProps"in t,k=t=>"dashboardOid"in t&&"widgetOid"in t,ot=t=>"dashboardProps"in t,lt=t=>"dashboardOid"in t;function dt(t){return t.replace(/\s+/g,"-").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function ut(t){return t.charAt(0).toUpperCase()+t.slice(1)}function ct(t){const e=/\[(.+?)\s\(Calendar\)\]/;return t.replace(e,"[$1]").trim()}function pt(t){if(t)if(t.metadata){if(!t.model)throw new n.TranslatableError("errors.missingModelTitle")}else throw new n.TranslatableError("errors.missingMetadata");else throw new n.TranslatableError("errors.emptyModel");return t}function mt(t){return!t||!t.jaql.datasource.title||!t.jaql.metadata.length}function _(t){if(![...n.ALL_CHART_TYPES,"pivot","pivot2"].includes(t))throw new n.TranslatableError("errors.chartTypeNotSupported",{chartType:t})}function gt(t){return"widgetType"in t&&t.widgetType==="pivot"}function h(t){var e;return"column"in t&&((e=t.column)==null?void 0:e.expression)&&/\(.*\)/.test(t.column.expression)}function w(t){const e="measures"in t&&c(t.measures)||"values"in t&&c(t.values);return gt(t)?"values"in t.dataOptions&&c(t.dataOptions.values):"chartType"in t?t.chartType==="indicator"?"value"in t.dataOptions&&c(t.dataOptions.value)||"secondary"in t.dataOptions&&c(t.dataOptions.secondary):t.chartType==="table"?!("columns"in t.dataOptions)||!c(t.dataOptions.columns)?!1:t.dataOptions.columns.some(i=>h(i)):t.chartType==="boxplot"?!1:t.chartType==="scatter"?"x"in t.dataOptions&&t.dataOptions.x!==void 0&&h(t.dataOptions.x)||"y"in t.dataOptions&&t.dataOptions.y!==void 0&&h(t.dataOptions.y)||"size"in t.dataOptions&&t.dataOptions.size!==void 0:t.chartType==="scattermap"?"colorBy"in t.dataOptions&&t.dataOptions.colorBy!==void 0&&h(t.dataOptions.colorBy)||"details"in t.dataOptions&&t.dataOptions.details!==void 0&&h(t.dataOptions.details)||"size"in t.dataOptions&&t.dataOptions.size!==void 0&&h(t.dataOptions.size):t.chartType==="areamap"?"geo"in t.dataOptions&&c(t.dataOptions.geo)&&"color"in t.dataOptions&&c(t.dataOptions.color):"value"in t.dataOptions&&c(t.dataOptions.value):e}function c(t){return Array.isArray(t)&&t.length>0}function yt(t){const e=t.split(`
1
+ "use strict";var tt=Object.defineProperty,et=Object.defineProperties;var rt=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols;var it=Object.prototype.hasOwnProperty,at=Object.prototype.propertyIsEnumerable;var $=(t,e,r)=>e in t?tt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,l=(t,e)=>{for(var r in e||(e={}))it.call(e,r)&&$(t,r,e[r]);if(j)for(var r of j(e))at.call(e,r)&&$(t,r,e[r]);return t},m=(t,e)=>et(t,rt(e));const n=require("./derive-chart-family-DeTlU_Wm.cjs");class P extends n.DimensionalElement{constructor(e,r){var i;super((i=e.jaql.title)!==null&&i!==void 0?i:"",r),this.expression=e.jaql.dim||e.jaql.formula,this.metadataItem=e,e.jaql.agg?this.aggregation=e.jaql.agg:delete this.aggregation,e.jaql.formula?this.formula=e.jaql.formula:delete this.formula,e.jaql.sort?this.sortType=n.getSortType(e.jaql.sort):delete this.sortType,this.skipValidation=!0}get id(){return this.expression}jaql(e){return e===!0?this.metadataItem.jaql:this.metadataItem}serialize(){const e=super.serialize();return e.__serializable="JaqlElement",e.metadataItem=this.metadataItem,e.type=this.type,e}}const st={text:n.MetadataTypes.TextAttribute,numeric:n.MetadataTypes.NumericAttribute,datetime:n.MetadataTypes.DateLevel};function nt(t){var e;return new P(t,(e=st[t.jaql.datatype])!==null&&e!==void 0?e:"numeric")}function B(t){const{jaql:e}=t;if(e.formula)return n.createCalculatedMeasureHelper(e);const r=n.DimensionalLevelAttribute.translateJaqlToGranularity(e);return"agg"in e&&e.dim&&e.datatype?n.createMeasureHelper({expression:e.dim,dataType:e.datatype,agg:e.agg||"",granularity:r,format:void 0,sort:e.sort,title:e.title,dataSource:e.datasource}):e.dim&&e.datatype?n.createAttributeHelper({expression:e.dim,dataType:e.datatype,granularity:r,sort:e.sort,title:e.title,panel:t.panel,dataSource:e.datasource}):nt(t)}const ot={jaql:{datasource:{title:"",type:"elasticube"},metadata:[]},queryTitle:"",chartRecommendations:{}},lt={model:"",metadata:[],chart:{},queryTitle:""},dt=t=>"widgetProps"in t,R=t=>"dashboardOid"in t&&"widgetOid"in t,ct=t=>"dashboardProps"in t,ut=t=>"dashboardOid"in t;function pt(t){return t.replace(/\s+/g,"-").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function mt(t){return t.charAt(0).toUpperCase()+t.slice(1)}function gt(t){const e=/\[(.+?)\s\(Calendar\)\]/;return t.replace(e,"[$1]").trim()}function yt(t){if(t)if(t.metadata){if(!t.model)throw new n.TranslatableError("errors.missingModelTitle")}else throw new n.TranslatableError("errors.missingMetadata");else throw new n.TranslatableError("errors.emptyModel");return t}function ft(t){return!t||!t.jaql.datasource.title||!t.jaql.metadata.length}function k(t){if(![...n.ALL_CHART_TYPES,"pivot","pivot2"].includes(t))throw new n.TranslatableError("errors.chartTypeNotSupported",{chartType:t})}function ht(t){return"widgetType"in t&&t.widgetType==="pivot"}function S(t){var e;return"column"in t&&((e=t.column)==null?void 0:e.expression)&&/\(.*\)/.test(t.column.expression)}function w(t){const e="measures"in t&&u(t.measures)||"values"in t&&u(t.values);return ht(t)?"values"in t.dataOptions&&u(t.dataOptions.values):"chartType"in t?t.chartType==="indicator"?"value"in t.dataOptions&&u(t.dataOptions.value)||"secondary"in t.dataOptions&&u(t.dataOptions.secondary):t.chartType==="table"?!("columns"in t.dataOptions)||!u(t.dataOptions.columns)?!1:t.dataOptions.columns.some(i=>S(i)):t.chartType==="boxplot"?!1:t.chartType==="scatter"?"x"in t.dataOptions&&t.dataOptions.x!==void 0&&S(t.dataOptions.x)||"y"in t.dataOptions&&t.dataOptions.y!==void 0&&S(t.dataOptions.y)||"size"in t.dataOptions&&t.dataOptions.size!==void 0:t.chartType==="scattermap"?"colorBy"in t.dataOptions&&t.dataOptions.colorBy!==void 0&&S(t.dataOptions.colorBy)||"details"in t.dataOptions&&t.dataOptions.details!==void 0&&S(t.dataOptions.details)||"size"in t.dataOptions&&t.dataOptions.size!==void 0&&S(t.dataOptions.size):t.chartType==="areamap"?"geo"in t.dataOptions&&u(t.dataOptions.geo)&&"color"in t.dataOptions&&u(t.dataOptions.color):"value"in t.dataOptions&&u(t.dataOptions.value):e}function u(t){return Array.isArray(t)&&t.length>0}function St(t){const e=t.split(`
2
2
  `);for(let r=0;r<e.length-1;r++)if(e[r].trim()===""){const i=e[r+1].trim();if(i.startsWith("import *")||i.startsWith("import {")){e.splice(r,1);break}}return e.join(`
3
- `)}const ft={react:{baseChartTmpl:`import { {{componentString}} } from '@sisense/sdk-ui';
3
+ `)}const Ot={react:{baseChartTmpl:`import { {{componentString}} } from '@sisense/sdk-ui';
4
4
  {{extraImportsString}}
5
5
  import * as DM from './{{dataSourceString}}'; // generated with @sisense/sdk-cli
6
6
 
@@ -416,13 +416,13 @@ import { DashboardById } from '@sisense/sdk-ui-vue';
416
416
  <\/script>
417
417
  <template>
418
418
  <DashboardById :dashboardOid="'{{dashboardOid}}'" />
419
- </template>`,dashboardTmpl:"/** COMING SOON */"}},F=(t,e)=>ft[e][t].replace(/{{(.*?)Tmpl}}/g,(i,a)=>F(`${a}Tmpl`,e)),N=(t,e)=>t.replace(/{{(.*?)}}/g,(r,i)=>i in e?e[i]:(console.warn(`Placeholder ${i} not found in data`),r)),C=(t,e,r="react")=>{const i=F(t,r);return yt(N(i,e))},St=()=>Object.values(n.AggregationTypes).map(e=>n.DimensionalBaseMeasure.aggregationToJAQL(e)).join("|"),R=t=>{const{formula:e,context:r,filter:i}=t;if(!r||!e)return t;const a=Object.keys(r);if(a.length!==1)return t;const s=a[0];if(typeof s!="string")return t;const o=r[`${s}`],d=St(),g=new RegExp(`^\\s*(${d})\\(\\[\\w+\\]\\)$`),f=e.match(g);if(f&&e.includes(s)){const u=f[1];return l({dim:o.dim,table:o.table,column:o.column,datatype:o.datatype,agg:u,title:t.title},i?{filter:l({},i)}:{})}return t},D=t=>{let e=t;if("formula"in t&&(e=R(t)),"context"in e){const r=l({},e.context);Object.keys(r).forEach(i=>{r[`${i}`]=D(r[`${i}`])}),e.context=r}return e},ht=t=>{var i;const e=t;if(e.panel!=="scope")return e;const{jaql:r}=e;return(i=r.filter)!=null&&i.by&&(r.filter.by=R(r.filter.by)),m(l({},e),{jaql:r})},z=t=>{let e=t;e=ht(e);const{jaql:r,measure:i,by:a}=e;return l(l(m(l({},e),{jaql:D(r)}),a?{by:D(a)}:{}),i?{measure:D(i)}:{})},O=6,E=`
420
- `,M="UNKNOWN",Ot=(t,e)=>{let r="";return r+=`measureFactory.customFormula(
419
+ </template>`,dashboardTmpl:"/** COMING SOON */"}},F=(t,e)=>Ot[e][t].replace(/{{(.*?)Tmpl}}/g,(i,a)=>F(`${a}Tmpl`,e)),_=(t,e)=>t.replace(/{{(.*?)}}/g,(r,i)=>i in e?e[i]:(console.warn(`Placeholder ${i} not found in data`),r)),C=(t,e,r="react")=>{const i=F(t,r);return St(_(i,e))},Tt=()=>Object.values(n.AggregationTypes).map(e=>n.DimensionalBaseMeasure.aggregationToJAQL(e)).join("|"),N=t=>{const{formula:e,context:r,filter:i}=t;if(!r||!e)return t;const a=Object.keys(r);if(a.length!==1)return t;const s=a[0];if(typeof s!="string")return t;const o=r[`${s}`],g=Tt(),d=new RegExp(`^\\s*(${g})\\(\\[\\w+\\]\\)$`),f=e.match(d);if(f&&e.includes(s)){const c=f[1];return l({dim:o.dim,table:o.table,column:o.column,datatype:o.datatype,agg:c,title:t.title},i?{filter:l({},i)}:{})}return t},D=t=>{let e=t;if("formula"in t&&(e=N(t)),"context"in e){const r=l({},e.context);Object.keys(r).forEach(i=>{r[`${i}`]=D(r[`${i}`])}),e.context=r}return e},bt=t=>{var i;const e=t;if(e.panel!=="scope")return e;const{jaql:r}=e;return(i=r.filter)!=null&&i.by&&(r.filter.by=N(r.filter.by)),m(l({},e),{jaql:r})},z=t=>{let e=t;e=bt(e);const{jaql:r,measure:i,by:a}=e;return l(l(m(l({},e),{jaql:D(r)}),a?{by:D(a)}:{}),i?{measure:D(i)}:{})},O=6,x=`
420
+ `,M="UNKNOWN",vt=(t,e)=>{let r="";return r+=`measureFactory.customFormula(
421
421
  `,r+=" ".repeat(e),r+=` '${n.escapeSingleQuotes(t.title)}',
422
422
  `,r+=" ".repeat(e),r+=` '${t.formula}',
423
423
  `,r+=" ".repeat(e),r+=` {
424
424
  `,Object.entries(t.context).forEach(([i,a])=>{const s=n.normalizeAttributeName(a.table||M,a.column||M,void 0,"DM");r+=" ".repeat(e),r+=` '${i.slice(1,-1)}': ${s},
425
425
  `}),r+=" ".repeat(e),r+=` }
426
- `,r+=" ".repeat(e),r+=")",r},Tt=t=>{const{level:e,table:r,column:i,agg:a,title:s}=t;let o;return r&&i&&(o=n.normalizeAttributeName(r,i,e,"DM")),a&&r&&i&&s&&(o=`measureFactory.${n.DimensionalBaseMeasure.aggregationFromJAQL(a)}(${o}, '${n.escapeSingleQuotes(s)}')`),o||M},bt=(t,e)=>{const r=t.jaql(!1).jaql;return"formula"in r?Ot(r,e):Tt(r)},p=(t,e=0,r=!1)=>{if(!t)return"";if(typeof t=="string")return`'${n.escapeSingleQuotes(t)}'`;if(t instanceof P)return bt(t,e);if(t instanceof n.DimensionalElement)return t.composeCode||"";let i="";return Array.isArray(t)?i+=`[${t.map(a=>p(a,e+2))}${t.length?E+" ".repeat(e+2):""}]`:(i+=`{${E}`,Object.entries(t).forEach(([a,s])=>{r&&typeof a=="string"&&(a=`'${n.escapeSingleQuotes(a)}'`),i+=" ".repeat(e+2),Array.isArray(s)?i+=`${a}: [${s.map(o=>p(o,e+4,r))}${s.length?E+" ".repeat(e+2):""}]`:typeof s=="object"&&s!==null?i+=`${a}: ${p(s,e+2,r)}`:["number","boolean","undefined"].includes(typeof s)||s===null?i+=`${a}: ${s}`:typeof s=="string"?i+=`${a}: '${n.escapeSingleQuotes(s)}'`:i+=`${a}: ${s}`,i+=`,${E}`}),i+=" ".repeat(e),i+="}"),i};function vt(t){return p(t,O)}function I(t,e="data-source-placeholder"){if(!t)return e;const r=typeof t=="object"&&"title"in t?t.title:t;return dt(r)}function W(t,e=!0){const r=[];return e&&r.push("measureFactory"),c(t)&&r.push("filterFactory"),r.length>0?`import { ${r.join(", ")} } from '@sisense/sdk-data';`:""}const Q=`
427
- `,xt=(t,e)=>{if(t.composeCode)return`${Q}${" ".repeat(e)}${t.composeCode}`;const r=t.jaql().jaql;return`${Q}${" ".repeat(e)}filterFactory.customFilter(${p(r,e,!0)})`},Et=(t,e=0)=>{if(!t)return"";let r="";return r+=`[${t.map(i=>xt(i,e+2))}${t.length?`
428
- `+" ".repeat(e+2):""}]`,r},q=t=>t?Array.isArray(t)?Et(t,6):"/** Filter relations not supported yet */":"[]",Dt=["executeQueryByWidgetIdTmpl","widgetByIdTmpl"],Ct="chartWidgetTmpl",wt="pivotTableWidgetTmpl",Mt=t=>t,It=({dashboardOid:t,widgetOid:e,uiFramework:r="react",chartType:i="table",includeChart:a=!0})=>{_(i);const s={dashboardOid:t,widgetOid:e},o=Dt[Number(a)];return C(o,s,r)},Y=(t,e,r)=>{if(n.isChartWidgetProps(t)){_(t.chartType);const i=w(t),a={idString:t.id,widgetTypeString:"chart",titleString:t.title,dataSourceString:I(t.dataSource),chartTypeString:Mt(t.chartType),dataOptionsString:vt(t.dataOptions),filtersString:q(t.filters),componentString:"ChartWidget",extraImportsString:W(t.filters||[],i),styleOptionsString:p(t.styleOptions||{},O),drilldownOptionsString:p(t.drilldownOptions||{},O)};return C(r.chart,a,e)}if(n.isPivotTableWidgetProps(t)){const i=w(t),a={idString:t.id,widgetTypeString:"pivot",titleString:t.title,dataSourceString:I(t.dataSource),dataOptionsString:p(t.dataOptions),filtersString:q(t.filters),componentString:"PivotTableWidget",extraImportsString:W(t.filters||[],i),styleOptionsString:p(t.styleOptions||{},O)};return C(r.pivot,a,e)}if(n.isPluginWidgetProps(t))return"/** Plugin widget code not supported yet */";throw new n.TranslatableError("errors.otherWidgetTypesNotSupported")},Wt=({widgetProps:t,uiFramework:e="react"})=>Y(t,e,{chart:Ct,pivot:wt}),qt=t=>({dataOptions:{columns:t.map(B)}}),Pt=Object.freeze({convolution:{enabled:!0,selectedConvolutionType:"bySlicesCount",independentSlicesCount:7},lineWidth:{width:"bold"},markers:{enabled:!1},legend:{enabled:!1},yAxis:{gridLines:!1},xAxis:{gridLines:!1}}),$=Object.freeze({line:"line/spline",pie:"pie/donut",bar:"bar/stacked",column:"column/stackedcolumn"}),jt=(t,e,r)=>{const i=t.reduce((s,o)=>(s[o.jaql.title]=o,s),{}),a=Object.entries(r).reduce((s,o)=>{const[d,g]=o;return s[`${d}`]=Array.isArray(g)?g.map(f=>{var T,b;const u=n.normalizeAnyColumn(f);delete u.enabled;const y=i[u.column.name];if(!y)return{column:{type:"",name:u.column.name}};const S=B(y);if(y.panel==="measures")return m(l({},u),{column:S});if(n.isDatetime(S.type)){const v=(b=(T=y.format)==null?void 0:T.mask)==null?void 0:b[y.jaql.level];if(v)return m(l({},u),{column:S,dateFormat:v})}return m(l({},u),{column:S})}):g,s},{});switch(e){case"cartesian":return l({category:[],value:[],breakBy:[]},a);case"categorical":return l({category:[],value:[]},a);case"scatter":return Object.keys(a).forEach(s=>{a[`${s}`]=a[`${s}`][0]}),a;case"scattermap":return Object.keys(a).forEach(s=>{s!=="geo"&&(a[`${s}`]=a[`${s}`][0])}),a;case"table":return Object.keys(a).length===0?qt(t).dataOptions:a;case"boxplot":case"areamap":case"indicator":default:return a}},A=(t,e)=>{var r,i,a,s;return e==="x"?(i=(r=t.axesMapping.category)!=null?r:t.axesMapping.x)==null?void 0:i.map(o=>n.normalizeAnyColumn(o).column.name).join(", "):(s=(a=t.axesMapping.value)!=null?a:t.axesMapping.y)==null?void 0:s.map(o=>n.normalizeAnyColumn(o).column.name).join(", ")},Lt=(t,e,r=!0)=>{const{chartFamily:i,axesMapping:a={},styleOptions:s={}}=e,o=jt(t,i,a);let d;return r&&e.chartType in $?d=n.merge(n.merge(Pt,{subtype:$[e.chartType]}),{legend:{enabled:!0,position:"right"},yAxis:{title:{enabled:!0,text:A(e,"y")}},xAxis:{title:{enabled:!0,text:A(e,"x")}}},s):d=n.merge(n.getDefaultStyleOptions(),s),{dataOptions:o,chartStyleOptions:d}},Qt=t=>"chartType"in t?t:{chartType:"table",chartFamily:"table",axesMapping:{}},$t=t=>t.map(e=>n.createFilterFromJaql(e.jaql)),At=t=>t.reduce((e,r)=>{if((r.panel==="scope"||r.jaql.filter)&&e.metadataFilters.push(n.cloneDeep(r)),r.panel!=="scope"){const i=n.cloneDeep(r);delete i.jaql.filter,e.metadataColumns.push(i)}return e},{metadataColumns:[],metadataFilters:[]}),Bt=(t,e)=>{if(!mt(t))try{const{useCustomizedStyleOptions:r=!1}=e||{},{jaql:i,chartRecommendations:a,queryTitle:s}=t,{metadata:o,datasource:d}=i,g=m(l({},d),{type:d.type||"elasticube"}),f=n.convertJaqlDataSourceForDto(g),u=o.map(x=>z(x)).map(x=>m(l({},x),{jaql:m(l({},x.jaql),{datasource:f})})),y=Qt(a),S=y.chartType.toLowerCase(),T={cornerRadius:"Small",header:{renderToolbar:()=>null}},{metadataColumns:b,metadataFilters:v}=At(u),U=$t(v),{dataOptions:K,chartStyleOptions:V}=Lt(b,y,r),H=l(l({},V),T);return{widgetType:"chart",id:s,title:s,chartType:S,dataSource:g,dataOptions:K,filters:U,styleOptions:H}}catch(r){console.error(r);return}},J=(t,e)=>Bt(t,e),kt=t=>k(t)?It(t):Wt(t),_t=Object.freeze(Object.defineProperty({__proto__:null,toWidgetCode:kt,toWidgetProps:J},Symbol.toStringTag,{value:"Module"}));exports.CODE_TEMPLATES_INDENT=O;exports.EMPTY_EXPANDED_QUERY_MODEL=at;exports.EMPTY_SIMPLE_QUERY_MODEL=st;exports.JaqlElement=P;exports.capitalizeFirstLetter=ut;exports.checkIfMeasuresExist=w;exports.generateCode=C;exports.getWidgetCode=Y;exports.isByIdDashboardCodeParams=lt;exports.isByIdWidgetCodeParams=k;exports.isClientSideDashboardCodeParams=ot;exports.isClientSideWidgetCodeParams=nt;exports.populatePlaceholders=N;exports.sanitizeDimensionId=ct;exports.simplifyMetadataItem=z;exports.stringifyDataSource=I;exports.stringifyExtraImports=W;exports.stringifyFilters=q;exports.stringifyProps=p;exports.toWidgetProps=J;exports.validateQueryModel=pt;exports.widgetComposer=_t;
426
+ `,r+=" ".repeat(e),r+=")",r},Et=t=>{const{level:e,table:r,column:i,agg:a,title:s}=t;let o;return r&&i&&(o=n.normalizeAttributeName(r,i,e,"DM")),a&&r&&i&&s&&(o=`measureFactory.${n.DimensionalBaseMeasure.aggregationFromJAQL(a)}(${o}, '${n.escapeSingleQuotes(s)}')`),o||M},xt=(t,e)=>{const r=t.jaql(!1).jaql;return"formula"in r?vt(r,e):Et(r)},p=(t,e=0,r=!1)=>{if(!t)return"";if(typeof t=="string")return`'${n.escapeSingleQuotes(t)}'`;if(t instanceof P)return xt(t,e);if(t instanceof n.DimensionalElement)return t.composeCode||"";let i="";return Array.isArray(t)?i+=`[${t.map(a=>p(a,e+2))}${t.length?x+" ".repeat(e+2):""}]`:(i+=`{${x}`,Object.entries(t).forEach(([a,s])=>{r&&typeof a=="string"&&(a=`'${n.escapeSingleQuotes(a)}'`),i+=" ".repeat(e+2),Array.isArray(s)?i+=`${a}: [${s.map(o=>p(o,e+4,r))}${s.length?x+" ".repeat(e+2):""}]`:typeof s=="object"&&s!==null?i+=`${a}: ${p(s,e+2,r)}`:["number","boolean","undefined"].includes(typeof s)||s===null?i+=`${a}: ${s}`:typeof s=="string"?i+=`${a}: '${n.escapeSingleQuotes(s)}'`:i+=`${a}: ${s}`,i+=`,${x}`}),i+=" ".repeat(e),i+="}"),i};function Dt(t){return p(t,O)}function I(t,e="data-source-placeholder"){if(!t)return e;const r=typeof t=="object"&&"title"in t?t.title:t;return pt(r)}function W(t,e=!0){const r=[];return e&&r.push("measureFactory"),u(t)&&r.push("filterFactory"),r.length>0?`import { ${r.join(", ")} } from '@sisense/sdk-data';`:""}const L=`
427
+ `,Ct=(t,e)=>{if(t.composeCode)return`${L}${" ".repeat(e)}${t.composeCode}`;const r=t.jaql().jaql;return`${L}${" ".repeat(e)}filterFactory.customFilter(${p(r,e,!0)})`},wt=(t,e=0)=>{if(!t)return"";let r="";return r+=`[${t.map(i=>Ct(i,e+2))}${t.length?`
428
+ `+" ".repeat(e+2):""}]`,r},q=t=>t?Array.isArray(t)?wt(t,6):"/** Filter relations not supported yet */":"[]",Mt=["executeQueryByWidgetIdTmpl","widgetByIdTmpl"],It="chartWidgetTmpl",Wt="pivotTableWidgetTmpl",qt=t=>t,Pt=({dashboardOid:t,widgetOid:e,uiFramework:r="react",chartType:i="table",includeChart:a=!0})=>{k(i);const s={dashboardOid:t,widgetOid:e},o=Mt[Number(a)];return C(o,s,r)},Y=(t,e,r)=>{if(n.isChartWidgetProps(t)){k(t.chartType);const i=w(t),a={idString:t.id,widgetTypeString:"chart",titleString:t.title,dataSourceString:I(t.dataSource),chartTypeString:qt(t.chartType),dataOptionsString:Dt(t.dataOptions),filtersString:q(t.filters),componentString:"ChartWidget",extraImportsString:W(t.filters||[],i),styleOptionsString:p(t.styleOptions||{},O),drilldownOptionsString:p(t.drilldownOptions||{},O)};return C(r.chart,a,e)}if(n.isPivotTableWidgetProps(t)){const i=w(t),a={idString:t.id,widgetTypeString:"pivot",titleString:t.title,dataSourceString:I(t.dataSource),dataOptionsString:p(t.dataOptions),filtersString:q(t.filters),componentString:"PivotTableWidget",extraImportsString:W(t.filters||[],i),styleOptionsString:p(t.styleOptions||{},O)};return C(r.pivot,a,e)}if(n.isPluginWidgetProps(t))return"/** Plugin widget code not supported yet */";throw new n.TranslatableError("errors.otherWidgetTypesNotSupported")},jt=({widgetProps:t,uiFramework:e="react"})=>Y(t,e,{chart:It,pivot:Wt}),$t=t=>"chartType"in t.chartRecommendations?t.chartRecommendations:{chartType:"table",chartFamily:"table",axesMapping:{}},Lt=t=>({dataOptions:{columns:t.map(B)}}),Qt=Object.freeze({convolution:{enabled:!0,selectedConvolutionType:"bySlicesCount",independentSlicesCount:7},lineWidth:{width:"bold"},markers:{enabled:!1},legend:{enabled:!1},yAxis:{gridLines:!1},xAxis:{gridLines:!1}}),Q=Object.freeze({line:"line/spline",pie:"pie/donut",bar:"bar/stacked",column:"column/stackedcolumn"}),J=(t,e,r)=>{const i=t.reduce((s,o)=>(s[o.jaql.title]=o,s),{}),a=Object.entries(r).reduce((s,o)=>{const[g,d]=o;return s[`${g}`]=Array.isArray(d)?d.map(f=>{var T,b;const c=n.normalizeAnyColumn(f);delete c.enabled;const y=i[c.column.name];if(!y)return{column:{type:"",name:c.column.name}};const h=B(y);if(y.panel==="measures")return m(l({},c),{column:h});if(n.isDatetime(h.type)){const v=(b=(T=y.format)==null?void 0:T.mask)==null?void 0:b[y.jaql.level];if(v)return m(l({},c),{column:h,dateFormat:v})}return m(l({},c),{column:h})}):d,s},{});switch(e){case"cartesian":return l({category:[],value:[],breakBy:[]},a);case"categorical":return l({category:[],value:[]},a);case"scatter":return Object.keys(a).forEach(s=>{a[`${s}`]=a[`${s}`][0]}),a;case"scattermap":return Object.keys(a).forEach(s=>{s!=="geo"&&(a[`${s}`]=a[`${s}`][0])}),a;case"table":return Object.keys(a).length===0?Lt(t).dataOptions:a;case"boxplot":case"areamap":case"indicator":default:return a}},A=(t,e)=>{var r,i,a,s;return e==="x"?(i=(r=t.category)!=null?r:t.x)==null?void 0:i.map(o=>n.normalizeAnyColumn(o).column.name).join(", "):(s=(a=t.value)!=null?a:t.y)==null?void 0:s.map(o=>n.normalizeAnyColumn(o).column.name).join(", ")},U=(t,e,r,i)=>{let a;return i&&t in Q?a=n.merge(n.merge(Qt,{subtype:Q[`${t}`]}),{legend:{enabled:!0,position:"right"},yAxis:{title:{enabled:!0,text:A(e,"y")}},xAxis:{title:{enabled:!0,text:A(e,"x")}}},r):a=n.merge(n.getDefaultStyleOptions(),r),a},K=(t,e,r=!0)=>{const{chartFamily:i,chartType:a,axesMapping:s={},styleOptions:o={}}=e,g=J(t,i,s),d=U(a,s,o,r);return{dataOptions:g,chartStyleOptions:d}},At=t=>"chartType"in t?t:{chartType:"table",chartFamily:"table",axesMapping:{}},Bt=t=>t.map(e=>n.createFilterFromJaql(e.jaql)),Rt=t=>t.reduce((e,r)=>{if((r.panel==="scope"||r.jaql.filter)&&e.metadataFilters.push(n.cloneDeep(r)),r.panel!=="scope"){const i=n.cloneDeep(r);delete i.jaql.filter,e.metadataColumns.push(i)}return e},{metadataColumns:[],metadataFilters:[]}),kt=(t,e)=>{if(!ft(t))try{const{useCustomizedStyleOptions:r=!1}=e||{},{jaql:i,chartRecommendations:a,queryTitle:s}=t,{metadata:o,datasource:g}=i,d=m(l({},g),{type:g.type||"elasticube"}),f=n.convertJaqlDataSourceForDto(d),c=o.map(E=>z(E)).map(E=>m(l({},E),{jaql:m(l({},E.jaql),{datasource:f})})),y=At(a),h=y.chartType.toLowerCase(),T={cornerRadius:"Small",header:{renderToolbar:()=>null}},{metadataColumns:b,metadataFilters:v}=Rt(c),H=Bt(v),{dataOptions:G,chartStyleOptions:X}=K(b,y,r),Z=l(l({},X),T);return{widgetType:"chart",id:s,title:s,chartType:h,dataSource:d,dataOptions:G,filters:H,styleOptions:Z}}catch(r){console.error(r);return}},V=(t,e)=>kt(t,e),Ft=t=>R(t)?Pt(t):jt(t),_t=Object.freeze(Object.defineProperty({__proto__:null,toWidgetCode:Ft,toWidgetProps:V},Symbol.toStringTag,{value:"Module"}));exports.CODE_TEMPLATES_INDENT=O;exports.EMPTY_EXPANDED_QUERY_MODEL=ot;exports.EMPTY_SIMPLE_QUERY_MODEL=lt;exports.JaqlElement=P;exports.capitalizeFirstLetter=mt;exports.checkIfMeasuresExist=w;exports.generateCode=C;exports.getChartDataOptions=J;exports.getChartOptions=K;exports.getChartRecommendationsOrDefault=$t;exports.getChartStyleOptions=U;exports.getWidgetCode=Y;exports.isByIdDashboardCodeParams=ut;exports.isByIdWidgetCodeParams=R;exports.isClientSideDashboardCodeParams=ct;exports.isClientSideWidgetCodeParams=dt;exports.populatePlaceholders=_;exports.sanitizeDimensionId=gt;exports.simplifyMetadataItem=z;exports.stringifyDataSource=I;exports.stringifyExtraImports=W;exports.stringifyFilters=q;exports.stringifyProps=p;exports.toWidgetProps=V;exports.validateQueryModel=yt;exports.widgetComposer=_t;