@astrato-io/visualizations 0.6.4 → 0.6.5

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 (149) hide show
  1. package/CHANGELOG.md +0 -0
  2. package/THIRD_PARTY_NOTICES.md +94 -4
  3. package/chunks/ClickAwayListener-BbeNMAvj.js +52 -0
  4. package/chunks/{LinearProgress-CUZ0D8_t.js → LinearProgress-B1FeWaen.js} +54 -54
  5. package/chunks/app-filter-bar.compiler-BGJ7HAbr.js +64 -0
  6. package/chunks/bar.compiler-CT0ZbQKc.js +374 -0
  7. package/chunks/{src-Cum_2NLV.js → builder-B6dWSIdD.js} +5779 -5635
  8. package/chunks/{coloring-C16AUZEi.js → coloring-B1XAfg6b.js} +234 -233
  9. package/chunks/{src-BC7cGcJ-.js → definitions-D3OVqmXl.js} +438 -360
  10. package/chunks/{escobar-BGqT1EsE.js → escobar-eDjtGpkC.js} +4645 -4619
  11. package/chunks/filter.compiler-DBsyRBJt.js +70 -0
  12. package/chunks/{filtering-Yq4DEa0t.js → filtering-tqjAyJH5.js} +432 -313
  13. package/chunks/{grouping-type-BX_9Ix5q.js → grouping-type-On4s9Thj.js} +1 -1
  14. package/chunks/handlers-VTBfIZYZ.js +13072 -0
  15. package/chunks/isEqual-BDxAhUo8.js +7514 -0
  16. package/chunks/line.compiler-CzdM5Ld0.js +198 -0
  17. package/chunks/{metadata-CPXdYoln.js → metadata-BGElBy5Z.js} +1 -1
  18. package/chunks/number.compiler-G-R7y16P.js +53 -0
  19. package/chunks/{src-C0LgoUWY.js → operations-CTNUX6Sy.js} +9576 -9432
  20. package/chunks/{range-DrzdfBX4.js → range-CiwTbMig.js} +2 -2
  21. package/chunks/{registry-CExpGJ1N.js → registry-CsQQzukD.js} +153 -153
  22. package/chunks/{requirements-DNhuShLS.js → requirements-DYjZCFyf.js} +1 -1
  23. package/chunks/{shared-CKDL4hx9.js → shared-CBvcC5YV.js} +460 -413
  24. package/chunks/{standalone-D5vnf-9y.js → standalone-0M4HlmDW2.js} +823 -822
  25. package/chunks/standalone-0ashe9w1.js +411 -0
  26. package/chunks/{standalone-C85u7U6I.js → standalone-B7jax8wa.js} +93 -94
  27. package/chunks/standalone-BK0VYU-l.js +463 -0
  28. package/chunks/{standalone-BDCwI6Hn.js → standalone-BMIbT1b2.js} +815 -815
  29. package/chunks/standalone-BZV5vOwA.js +6 -0
  30. package/chunks/standalone-BhDrWj4p.js +1980 -0
  31. package/chunks/{standalone-CNyNHKVx.js → standalone-BtSHCp2U2.js} +97 -98
  32. package/chunks/{standalone-CDQnr6qT.js → standalone-BvaKdky9.js} +95 -96
  33. package/chunks/standalone-BwtM31-f.js +2 -0
  34. package/chunks/{standalone-CY57qwZ-.js → standalone-C3gg736V.js} +153 -153
  35. package/chunks/{standalone-DFPva_ku.js → standalone-CC1VUjO32.js} +60 -60
  36. package/chunks/{standalone-CCNtaJ7s.js → standalone-C_rYnZ0N.js} +41 -41
  37. package/chunks/{standalone-CZynjFG7.js → standalone-CoLrAxRV.js} +3701 -3482
  38. package/chunks/{standalone-jiz0L2Dg.js → standalone-DC-aUgXC.js} +104 -104
  39. package/chunks/standalone-DCtRoTWg.js +675 -0
  40. package/chunks/standalone-DUDFTBqL.js +833 -0
  41. package/chunks/standalone-DhZkX9Td.js +2 -0
  42. package/chunks/{standalone-Dx3MLlrO.js → standalone-DtLElfuM.js} +141 -141
  43. package/chunks/{standalone-BmfMt74U.js → standalone-G9Q4Uczu.js} +192 -192
  44. package/chunks/{standalone-BH5NqDwp.js → standalone-JuLF-OoH.js} +390 -391
  45. package/chunks/standalone-_DeX21JJ.js +383 -0
  46. package/chunks/{standalone-lBm9hQ-q.js → standalone-gFhKZh8m.js} +34 -34
  47. package/chunks/standalone-tDNy-SFH.js +281 -0
  48. package/chunks/{standalone-rJ45Zfl1.js → standalone-v1oxfU20.js} +10 -10
  49. package/chunks/{standalone-BYm1UjLr.js → standalone-vzBY6q0I2.js} +18 -18
  50. package/chunks/table.compiler-tb914oj3.js +222 -0
  51. package/chunks/{ui-D1HQNIBy.js → ui-DQWtv2iM.js} +13485 -3973
  52. package/chunks/{useFieldName-oqQ3bvnO.js → useFieldName-BvdcoJRl.js} +1 -1
  53. package/chunks/{utils-Ba9T0TqC.js → utils-Bg7K-t6K.js} +7306 -6024
  54. package/chunks/{src-DvX5LU9T.js → view-Bn83C8d9.js} +2555 -4831
  55. package/definitions.js +3 -3
  56. package/docs/operations/astrato-app-filter-bar.md +17 -17
  57. package/docs/operations/bar.md +989 -1071
  58. package/docs/operations/combo.md +717 -738
  59. package/docs/operations/date-picker.md +25 -25
  60. package/docs/operations/distribution-gauge.md +471 -607
  61. package/docs/operations/dot.md +787 -879
  62. package/docs/operations/filter.md +139 -163
  63. package/docs/operations/gauge.md +491 -627
  64. package/docs/operations/heatMap.md +834 -916
  65. package/docs/operations/histogram.md +166 -180
  66. package/docs/operations/iframe.md +5 -5
  67. package/docs/operations/image.md +16 -16
  68. package/docs/operations/index.md +12 -12
  69. package/docs/operations/line.md +811 -888
  70. package/docs/operations/number.md +470 -536
  71. package/docs/operations/pie.md +825 -958
  72. package/docs/operations/radar.md +599 -679
  73. package/docs/operations/sankey.md +462 -584
  74. package/docs/operations/scatter.md +823 -929
  75. package/docs/operations/shape.md +34 -34
  76. package/docs/operations/simpleTextObject.md +18 -25
  77. package/docs/operations/slider.md +33 -43
  78. package/docs/operations/table.md +1160 -1150
  79. package/docs/operations/tree.md +354 -361
  80. package/docs/operations/treemap.md +545 -637
  81. package/docs/operations/waterfall.md +369 -379
  82. package/docs/operations/word-cloud.md +512 -583
  83. package/getters.js +3 -3
  84. package/index.js +51 -51
  85. package/metadata.js +3 -3
  86. package/operations.js +7 -7
  87. package/package.json +80 -86
  88. package/src/definitions/index.d.ts +2 -2
  89. package/src/definitions/{shared/lib → model/definitions}/available-fields.d.ts +0 -1
  90. package/src/definitions/{shared/lib/compilers/index.d.ts → model/definitions/compilers/compile.d.ts} +1 -1
  91. package/src/definitions/model/definitions/data-item-resolution.d.ts +19 -0
  92. package/src/definitions/model/definitions/descriptors/descriptor-metadata.d.ts +1341 -0
  93. package/src/definitions/model/definitions/descriptors/json-schema.d.ts +2 -0
  94. package/src/definitions/model/definitions/diagnostics.d.ts +5 -0
  95. package/src/definitions/model/definitions/field-suggestions.d.ts +2 -0
  96. package/src/definitions/model/definitions/index.d.ts +23 -0
  97. package/src/definitions/{shared/lib → model/definitions}/registry/compile.d.ts +1 -1
  98. package/src/definitions/model/definitions/registry/descriptor-registry.d.ts +3 -0
  99. package/src/definitions/model/definitions/schema-registry.d.ts +660 -0
  100. package/src/definitions/{shared/lib → model/definitions}/schemas/broad-chart.schema.d.ts +1 -1
  101. package/src/definitions/{shared/lib → model/definitions}/schemas/common.schema.d.ts +0 -1
  102. package/src/definitions/model/definitions/schemas/index.d.ts +9 -0
  103. package/src/definitions/{shared/lib → model/definitions}/schemas/object.schema.d.ts +6 -6
  104. package/src/definitions/{shared/lib → model/definitions}/types/definition.types.d.ts +1 -1
  105. package/src/definitions/model/definitions/types/index.d.ts +3 -0
  106. package/src/definitions/{shared/lib/registry → model/definitions}/validation.d.ts +1 -1
  107. package/chunks/Radio-Ciu-F4CU.js +0 -957
  108. package/chunks/ToggleButton-BCJc3Jlc.js +0 -153
  109. package/chunks/_baseFlatten-DPXPOrea.js +0 -7076
  110. package/chunks/app-filter-bar.compiler-j_CVoWTa.js +0 -55
  111. package/chunks/bar.compiler-oqaPzIut.js +0 -370
  112. package/chunks/data-item-resolution-1lvYB5ln.js +0 -53
  113. package/chunks/event-bus-KiSiCJrC.js +0 -2683
  114. package/chunks/filter.compiler-CuLtc_02.js +0 -60
  115. package/chunks/gauge-target-type-BkKXAqkX.js +0 -4
  116. package/chunks/interfaces-VUY4_yVO.js +0 -8742
  117. package/chunks/line-settings-DfYTUyPz.js +0 -4
  118. package/chunks/line.compiler-BpA_6Tc7.js +0 -188
  119. package/chunks/number.compiler-DbkWcG4S.js +0 -44
  120. package/chunks/pie-uv42Eqal.js +0 -10
  121. package/chunks/src-Dun_jXtz.js +0 -10295
  122. package/chunks/standalone-87YV_m9n.js +0 -687
  123. package/chunks/standalone-BLVAWLNJ.js +0 -385
  124. package/chunks/standalone-BPomtAVs.js +0 -2
  125. package/chunks/standalone-BXyBcUOQ.js +0 -2
  126. package/chunks/standalone-BllF4rDp.js +0 -383
  127. package/chunks/standalone-BqWyrnZI.js +0 -281
  128. package/chunks/standalone-DQxxNwF8.js +0 -675
  129. package/chunks/standalone-DS9T0FZ-.js +0 -830
  130. package/chunks/standalone-DzixzZAL.js +0 -411
  131. package/chunks/standalone-QJ1kKMnO.js +0 -6
  132. package/chunks/table.compiler-BrXkm4Fz.js +0 -213
  133. package/chunks/toInteger-DVZr-D1j.js +0 -11
  134. package/chunks/treemap-x_zmJoG7.js +0 -23
  135. package/chunks/types-dVVCsDWD.js +0 -4
  136. package/chunks/view-CLqWMV7Z.js +0 -156
  137. package/src/definitions/shared/index.d.ts +0 -5
  138. package/src/definitions/shared/lib/registry/descriptor-registry.d.ts +0 -587
  139. package/src/definitions/shared/lib/registry/index.d.ts +0 -3
  140. package/src/definitions/shared/lib/schemas/index.d.ts +0 -9
  141. package/src/definitions/shared/lib/types/index.d.ts +0 -3
  142. package/src/definitions/{shared/lib → model/definitions}/schemas/app-filter-bar.schema.d.ts +0 -0
  143. package/src/definitions/{shared/lib → model/definitions}/schemas/bar.schema.d.ts +0 -0
  144. package/src/definitions/{shared/lib → model/definitions}/schemas/filter.schema.d.ts +0 -0
  145. package/src/definitions/{shared/lib → model/definitions}/schemas/line.schema.d.ts +0 -0
  146. package/src/definitions/{shared/lib → model/definitions}/schemas/number.schema.d.ts +0 -0
  147. package/src/definitions/{shared/lib → model/definitions}/schemas/table.schema.d.ts +4 -4
  148. /package/src/definitions/{shared/lib → model/definitions}/types/compilation.types.d.ts +0 -0
  149. /package/src/definitions/{shared/lib → model/definitions}/types/descriptor.types.d.ts +0 -0
@@ -1,2683 +0,0 @@
1
- import { o as e } from "./rolldown-runtime-DleVn1XH.js";
2
- import { $s as t, Cs as n, D as r, Da as i, Dc as a, Do as o, Ds as s, Eo as c, Es as l, Fn as u, Gc as d, Ia as f, Io as p, J as m, Jo as h, Ki as g, La as _, Lo as v, Ma as y, Mn as b, Mo as x, Mr as S, Ns as C, Oo as ee, Rn as w, Ro as te, Ti as T, To as ne, Ts as E, Wc as D, Wn as O, X as k, Xo as re, Xs as ie, Y as ae, Ya as oe, Yo as se, Ys as ce, _o as le, as as ue, bo as de, cs as fe, ct as pe, d as me, ds as he, ec as ge, ei as A, es as _e, ft as ve, go as ye, ho as be, is as xe, js as Se, la as j, mo as Ce, mt as we, nc as Te, ni as M, oc as N, os as Ee, ot as De, pc as P, ps as Oe, qa as ke, qo as Ae, qs as je, si as Me, st as Ne, tc as Pe, u as Fe, ui as Ie, us as Le, xs as Re, yn as ze, yo as Be, zi as Ve, zn as He } from "./interfaces-VUY4_yVO.js";
3
- import { a as Ue, i as We, t as Ge } from "./color-settings-ZIvgNTq1.js";
4
- import { z as F } from "zod";
5
- import { Subject as Ke } from "rxjs";
6
- var qe = /* @__PURE__ */ function(e) {
7
- return e.Linear = "linear", e.Log = "log", e;
8
- }({}), Je = /* @__PURE__ */ function(e) {
9
- return e.None = "none", e.Diverging = "diverging", e.Silhouette = "silhouette", e.Expand = "expand", e.Wiggle = "wiggle", e;
10
- }({}), Ye = /* @__PURE__ */ function(e) {
11
- return e.Measure = "measure", e.Dimension = "dimension", e.DimensionAndMeasure = "dimensionAndMeasure", e;
12
- }({}), Xe = /* @__PURE__ */ function(e) {
13
- return e.Value = "value", e.Percentage = "percentage", e.ValueAndPercentage = "valueAndPercentage", e;
14
- }({}), Ze = /* @__PURE__ */ function(e) {
15
- return e.Default = "default", e.First = "first", e.Last = "last", e;
16
- }({}), Qe = /* @__PURE__ */ function(e) {
17
- return e.Dimension = "dimension", e.Measure = "measure", e;
18
- }({}), $e = /* @__PURE__ */ function(e) {
19
- return e.Inside = "inside", e.Outside = "outside", e.Opposite = "opposite", e;
20
- }({}), I = d(), et = F.object({
21
- label: F.string(),
22
- funcName: F.string(),
23
- requiredExtraParams: F.boolean(),
24
- disabled: F.boolean().optional(),
25
- resultType: F.union([F.enum(I.FieldType), F.literal("incoming")]).optional()
26
- }), tt = F.object({
27
- enableMeasureLimit: F.boolean(),
28
- measureLimitType: F.enum(Le),
29
- minMeasureLimit: F.number().optional(),
30
- maxMeasureLimit: F.number().optional()
31
- }), nt = F.object({
32
- type: F.literal(fe.VARIABLE),
33
- variableName: F.string()
34
- }), L = F.union([F.string(), nt]), R = F.union([F.number(), nt]), rt = F.union([F.boolean(), nt]), it = F.union([
35
- L,
36
- R,
37
- rt
38
- ]), z = (e = (e) => e) => F.union([e(F.number()), nt]), at = (e = (e) => e) => F.union([e(F.string()), nt]), B = F.string().regex(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/), ot = F.object({ value: it }), st = F.object({
39
- type: F.literal(Ge.SUPPORTING_MEASURE),
40
- dataItemId: F.string()
41
- }), ct = F.union([L, st]), lt = F.union([R, st]), ut = F.object({
42
- id: F.string().describe("Palette identifier"),
43
- name: F.string().optional().describe("Palette name"),
44
- colors: F.array(F.string()).describe("Palette colors")
45
- }), dt = F.object({
46
- type: F.enum(Ue),
47
- color: B.nullable().describe("Color code (hex, with optional alpha)"),
48
- dataItemId: F.string(),
49
- operator: F.enum(We).describe("Operator (equals, less etc.)"),
50
- delimiter: L.optional().describe("Delimiter for list operators"),
51
- value: ct.or(lt),
52
- secondValue: ct.or(lt),
53
- highlightedColumnIds: F.array(F.string()).optional().nullable().describe("Column ids to highlight when rule condition is met"),
54
- backgroundColor: B.nullable().describe("Background color code (hex, with optional alpha)").optional(),
55
- customGradient: ut.optional().describe("Custom gradient"),
56
- usedGradientId: F.string().optional().describe("Used gradient identifier"),
57
- applyToTotalRow: F.boolean().optional().describe("Apply rule to the table total row"),
58
- skipColoringZeroValues: F.boolean().optional().describe("Skip coloring zero values")
59
- }), ft = F.object({
60
- color: B.nullable().describe("Color code (hex, with optional alpha)"),
61
- value: ct.or(lt),
62
- delimiter: L.optional().nullable().describe("Delimiter for list operators"),
63
- secondValue: ct.or(lt).optional().nullable(),
64
- highlightedColumnIds: F.array(F.string()).optional().nullable().describe("Column ids to highlight when rule condition is met"),
65
- backgroundColor: B.nullable().describe("Background color code (hex, with optional alpha)"),
66
- dataItemId: F.string().optional().describe("Data item identifier"),
67
- operator: F.enum([
68
- "equals",
69
- "contains",
70
- "startsWith",
71
- "endsWith",
72
- "greater",
73
- "less",
74
- "greater-equals",
75
- "less-equals",
76
- "between",
77
- "not-equals",
78
- "inList",
79
- "notInList"
80
- ]).nullable().optional()
81
- }), pt = F.object({
82
- type: F.enum(ie),
83
- palette: F.string().optional().nullable().describe("Palette identifier"),
84
- customPalette: ut.optional().describe("Custom palette"),
85
- customGradient: ut.optional().describe("Custom gradient"),
86
- gradientMin: F.number().optional().describe("Minimum value for gradient"),
87
- gradientMax: F.number().optional().describe("Maximum value for gradient"),
88
- color: B.optional().nullable().describe("Color code (hex, with optional alpha)"),
89
- fieldId: F.string().optional().nullable().describe("Field identifier for coloring"),
90
- measureAggregation: F.string().optional().nullable().describe("Measure aggregation for coloring"),
91
- rules: F.array(dt).optional(),
92
- overwrites: F.array(ft).optional(),
93
- persistentColors: F.boolean().optional().describe("Enable persistent colors"),
94
- categoricalColorTransparency: F.number().optional().describe("Categorical color transparency"),
95
- parameters: F.record(F.string(), ot).optional().nullable(),
96
- sortOrder: F.enum(["alpha-asc", "data"]).optional().describe("Coloring sort order")
97
- }), mt = F.enum([
98
- "primaryMeasure",
99
- "secondaryMeasure",
100
- "dimension"
101
- ]), ht = F.enum(["primaryMeasure", "secondaryMeasure"]), gt = F.enum([
102
- "primaryMeasure",
103
- "secondaryMeasure",
104
- "dimension",
105
- "secondaryDimension"
106
- ]), _t = F.object({
107
- start: R.optional(),
108
- end: R.optional(),
109
- color: B,
110
- label: F.string().optional()
111
- }), vt = F.object({
112
- disabled: F.boolean().optional(),
113
- showAxisName: F.boolean().optional(),
114
- showLabels: F.boolean().optional(),
115
- showLine: F.boolean().optional(),
116
- showTicks: F.boolean().optional(),
117
- showAxisTooltip: F.boolean().optional(),
118
- continuousAxis: F.boolean().optional(),
119
- invertAxis: F.boolean().optional(),
120
- labelOverlap: F.enum(re).optional(),
121
- labels: F.object({
122
- tiltAngle: F.number().min(-90).max(90).optional(),
123
- tiltThreshold: F.number().min(0).max(1).optional()
124
- }).optional(),
125
- labelFontSize: z((e) => e.min(0).max(50)).nullable().optional(),
126
- labelWrap: F.boolean().optional(),
127
- labelWrapLines: F.number().min(1).max(10).optional(),
128
- titleFontSize: z((e) => e.min(0).max(50)).nullable().optional(),
129
- axisRange: F.object({
130
- axisRangeOption: F.enum(xe).optional(),
131
- startsAtZero: F.boolean().optional(),
132
- minValue: R.optional(),
133
- maxValue: R.optional()
134
- }).optional(),
135
- scale: F.enum(qe).optional(),
136
- axisTitle: F.string().optional(),
137
- colors: F.object({
138
- title: B.optional().nullable(),
139
- tick: B.optional().nullable(),
140
- label: B.optional().nullable(),
141
- line: B.optional().nullable()
142
- }).optional(),
143
- axisBands: F.array(_t).optional(),
144
- maxGlyphCount: F.number().min(0).max(50).optional(),
145
- axisLabelDisplay: F.enum(ue).optional()
146
- }), yt = vt.extend({ secondaryAxis: F.boolean().optional() }), bt = F.object({
147
- dimension: yt.optional(),
148
- primaryMeasure: vt.optional(),
149
- secondaryMeasure: vt.optional(),
150
- secondaryDimension: yt.optional()
151
- }), xt = F.object({
152
- showTotal: F.boolean().optional(),
153
- stacked: F.boolean().optional(),
154
- grouped: F.boolean().optional(),
155
- offset: F.object({
156
- enabled: F.boolean().optional(),
157
- showTotal: F.boolean().optional(),
158
- totalLabel: F.string().optional(),
159
- showLine: F.boolean().optional(),
160
- lineColor: B.nullable().optional()
161
- }).optional(),
162
- barPadding: F.number().min(0).max(1).step(.01).optional(),
163
- groupPadding: F.number().min(0).max(1).optional(),
164
- translucentBars: F.boolean().optional(),
165
- barRadius: z((e) => e.min(0).max(20)).optional(),
166
- strokeEnabled: F.boolean().optional(),
167
- strokeWidth: F.number().min(1).max(20).optional(),
168
- strokeColor: B.optional(),
169
- stackedOffset: F.enum(Je).nullable().optional(),
170
- roundAllEdges: F.boolean().optional(),
171
- useCustomBoxRounding: F.boolean().optional(),
172
- ignoreOutOfBounds: F.boolean().optional()
173
- }), V = F.string().nonempty(), St = F.object({
174
- schema: F.string().optional(),
175
- view: F.string(),
176
- name: F.string()
177
- }), H = F.object({
178
- value: F.string(),
179
- name: F.string(),
180
- dataType: F.enum([
181
- "string",
182
- "int",
183
- "float",
184
- "boolean",
185
- "date",
186
- "millisec",
187
- "millisec_tz",
188
- "timestamp",
189
- "timestamp_tz"
190
- ])
191
- }), Ct = F.object({
192
- formula: F.record(F.string(), F.union([
193
- F.string(),
194
- F.number(),
195
- F.boolean()
196
- ])),
197
- filter: F.record(F.string(), F.union([
198
- F.string(),
199
- F.number(),
200
- F.boolean()
201
- ]))
202
- }), wt = F.object({
203
- internalKey: F.string(),
204
- uniqueSignature: F.string(),
205
- type: F.enum(D),
206
- name: F.string(),
207
- aggregation: et.optional()
208
- }), Tt = wt.extend({
209
- schema: F.string().optional(),
210
- view: F.string(),
211
- dataType: F.enum(I.FieldType),
212
- isManualData: F.boolean().optional()
213
- }), Et = wt.extend({
214
- id: F.string(),
215
- dimension: F.object({
216
- itemName: F.string().optional(),
217
- label: F.string().optional(),
218
- resultType: F.enum(I.ResultType).optional(),
219
- group: F.object({ fieldKeys: F.array(F.string()) }).optional()
220
- }).passthrough().optional(),
221
- measure: F.object({
222
- aggregation: F.string(),
223
- fieldKeys: F.array(F.string()).optional(),
224
- fields: F.array(St.extend({ fieldKey: F.string() })).optional(),
225
- itemName: F.string().optional(),
226
- label: F.string().optional(),
227
- resultType: F.enum(I.ResultType).optional(),
228
- params: F.array(H).optional()
229
- }).passthrough().optional(),
230
- calculation: F.object({
231
- calculation: F.string().optional(),
232
- itemName: F.string().optional(),
233
- label: F.string().optional(),
234
- resultType: F.enum(I.ResultType).optional(),
235
- namedParameters: Ct.optional(),
236
- params: F.array(H).optional(),
237
- filterParams: F.array(H).optional()
238
- }).passthrough().optional(),
239
- itemName: F.string().optional()
240
- }), Dt = F.union([Tt, Et]), Ot = F.object({
241
- key: F.string(),
242
- name: F.string(),
243
- disabled: F.boolean().optional(),
244
- aggregators: F.array(et),
245
- itemName: F.string().optional(),
246
- predefinedLabel: F.string().optional(),
247
- inheritFormatting: F.boolean().optional()
248
- }), kt = Ot.extend({
249
- schema: F.string().optional(),
250
- view: F.string(),
251
- dataType: F.enum(I.FieldType),
252
- isManualData: F.boolean().optional(),
253
- type: F.enum(Qe).optional()
254
- }), At = Ot.extend({
255
- id: F.string(),
256
- type: F.enum(I.DatabaseItemType),
257
- dimension: F.object({
258
- itemName: F.string().optional(),
259
- label: F.string().optional(),
260
- resultType: F.enum(I.ResultType).optional(),
261
- group: F.object({ fieldKeys: F.array(F.string()) }).optional()
262
- }).passthrough().optional(),
263
- measure: F.object({
264
- aggregation: F.string(),
265
- fieldKeys: F.array(F.string()).optional(),
266
- fields: F.array(St.extend({ fieldKey: F.string() })).optional(),
267
- itemName: F.string().optional(),
268
- label: F.string().optional(),
269
- resultType: F.enum(I.ResultType).optional(),
270
- params: F.array(H).optional()
271
- }).passthrough().optional(),
272
- calculation: F.object({
273
- calculation: F.string().optional(),
274
- itemName: F.string().optional(),
275
- label: F.string().optional(),
276
- resultType: F.enum(I.ResultType).optional(),
277
- namedParameters: Ct.optional(),
278
- params: F.array(H).optional(),
279
- filterParams: F.array(H).optional()
280
- }).passthrough().optional(),
281
- format: F.string().optional(),
282
- description: F.string().optional()
283
- }), jt = F.union([kt, At]), Mt = F.object({ handling: F.enum(_e) }), Nt = F.object({
284
- formatString: L.optional(),
285
- formatType: F.enum(v).or(F.enum(p)),
286
- isDateTime: F.boolean().optional(),
287
- thousandSeparator: F.string().optional(),
288
- decimalSeparator: F.string().optional(),
289
- currency: F.string().optional(),
290
- negativeType: F.enum(te).optional(),
291
- currencyIsPrefix: F.boolean().optional(),
292
- numAbbreviations: F.record(F.string(), F.string()).optional(),
293
- timezone: F.string().optional()
294
- }), Pt = F.object({
295
- type: F.enum([
296
- "d3-time",
297
- "d3-number",
298
- "excel-format",
299
- "string",
300
- "referenced-field"
301
- ]),
302
- format: Nt,
303
- dataItemId: F.string().optional()
304
- }), Ft = {
305
- pointPxSizeMinLowerLimit: 1,
306
- pointPxSizeMinUpperLimit: 100,
307
- pointPxSizeMaxLowerLimit: 1,
308
- pointPxSizeMaxUpperLimit: 1e3,
309
- pointSizeMin: 0,
310
- pointSizeMax: 1
311
- }, It = 1e3, Lt = F.object({
312
- width: F.number(),
313
- space: F.number()
314
- }), Rt = F.object({
315
- regressionType: F.enum(ye),
316
- strokeWidth: F.number().optional(),
317
- strokeDash: Lt.optional().nullable(),
318
- color: F.string().optional().nullable(),
319
- labelType: F.enum(be).optional(),
320
- label: F.string().optional(),
321
- showEquation: F.boolean().optional(),
322
- polynomialOrder: F.number().optional(),
323
- precision: F.number().optional(),
324
- pointsPerPeriod: F.number().optional(),
325
- growthPerPeriod: F.number().optional()
326
- }), zt = Rt.extend({ type: F.literal("trend") }), Bt = Rt.extend({
327
- type: F.literal("forecast"),
328
- previousDataPoints: F.number().min(j.minDataPoints).max(j.maxDataPoints).optional(),
329
- forecastedDataPoints: F.number().min(j.minDataPoints).max(j.maxDataPoints).optional(),
330
- pointsPerPeriod: F.number().min(j.minPointsPerPeriod).max(j.maxPointsPerPeriod).optional(),
331
- growthPerPeriod: F.number().min(j.minGrowthPerPeriod).max(j.maxGrowthPerPeriod).optional(),
332
- dataPointShape: F.enum(o).optional(),
333
- dataPointSize: F.number().optional(),
334
- showDataPoints: F.boolean().optional(),
335
- showForecastStart: F.boolean().optional(),
336
- inheritColor: F.enum(Ce).optional(),
337
- refLineLabel: F.string().optional()
338
- }), U = F.object({
339
- dataItem: Dt,
340
- label: F.string().optional(),
341
- description: F.string().optional(),
342
- customLabel: F.object({
343
- enabled: F.boolean(),
344
- value: L.optional()
345
- }).optional(),
346
- formatter: Pt.optional(),
347
- showNullValues: F.boolean().optional(),
348
- topDimension: F.boolean().optional(),
349
- imageFit: F.enum(y).optional(),
350
- trendLine: zt.optional().nullable(),
351
- dateLevel: F.enum(I.DateLevel).optional().nullable(),
352
- datePart: F.enum(I.DatePart).optional().nullable(),
353
- isImported: F.boolean().optional(),
354
- coloring: F.object({
355
- type: F.enum(ie),
356
- palette: F.string().nullable().optional(),
357
- customPalette: ut.optional(),
358
- color: F.string().nullable().optional(),
359
- persistentColors: F.boolean().optional()
360
- }).optional(),
361
- enabled: F.boolean().optional(),
362
- group: F.string().optional(),
363
- role: F.enum(oe).optional()
364
- }), Vt = F.object({
365
- weight: F.number().optional().nullable().describe("Font weight"),
366
- bold: F.boolean().optional().describe("Bold font. Should take precedence over weight"),
367
- italic: F.boolean().optional(),
368
- underlined: F.boolean().optional(),
369
- strikethrough: F.boolean().optional()
370
- }).extend({
371
- fontFamily: F.string().optional().nullable(),
372
- fontSize: F.number().optional(),
373
- fontColor: B.optional().nullable().describe("Font color (hex, with optional alpha)")
374
- }), Ht = F.object({
375
- width: F.number().min(1).max(10),
376
- space: F.number().min(1).max(10)
377
- }), Ut = F.object({
378
- enabled: F.boolean().optional(),
379
- dataItem: Dt,
380
- stroke: B.optional().nullable(),
381
- strokeWidth: F.number().optional(),
382
- strokeDash: Ht.optional()
383
- }), Wt = F.object({
384
- wordBreak: F.enum([
385
- "none",
386
- "break-word",
387
- "break-all"
388
- ]).optional().describe("Word break rule"),
389
- maxLines: F.number().optional().describe("Maximum number of lines allowed if label is broken into multiple lines"),
390
- maxWidth: F.number().optional().describe("Maximum width of label, in px"),
391
- fontSize: F.string().regex(/^\d+px$/).optional().describe("Legend item label font size (eg. \"12px\")"),
392
- fontFamily: F.string().optional().describe("Legend item label font family"),
393
- fill: B.optional().nullable().describe("Legend item label font color (hexadecimal color code)"),
394
- maxGlyphCount: F.number().optional().nullable().describe("Maximum number of glyphs in the legend item label"),
395
- limitCharacters: F.boolean().optional().describe("Limit characters by maxGlyphCount")
396
- }), Gt = F.object({
397
- showTitle: F.boolean().optional().describe("Show legend title"),
398
- titleText: F.string().nullable().optional().describe("Legend title text"),
399
- alignText: F.enum([
400
- "start",
401
- "middle",
402
- "end"
403
- ]).optional().describe("Horizontal alignment of the text"),
404
- wordBreak: F.enum([
405
- "none",
406
- "break-word",
407
- "break-all"
408
- ]).optional().describe("Word break rule"),
409
- maxLines: F.number().optional().describe("Maximum number of lines allowed if label is broken into multiple lines"),
410
- maxWidth: F.number().optional().describe("Maximum width of title, in px"),
411
- fontSize: F.number().optional().describe("Legend title font size in pixels (eg. 12)"),
412
- fontFamily: F.string().optional().describe("Legend title font family")
413
- }), Kt = F.object({
414
- position: F.enum(x).describe("Legend position"),
415
- direction: F.enum(["ltr", "rtl"]).optional().describe("Legend direction (left to right or right to left)"),
416
- size: F.number().optional().describe("Maximum number of columns (vertical) or rows (horizontal)"),
417
- showItems: F.boolean().optional().describe("Show legend items"),
418
- enabled: F.boolean().describe("Enable legend"),
419
- itemLabel: Wt.optional().describe("Legend item label settings"),
420
- title: Gt.optional().describe("Legend title settings"),
421
- layoutMode: F.enum([
422
- "grid",
423
- "flex",
424
- "masonry"
425
- ]).optional().describe("Layout mode for legend items"),
426
- align: F.nativeEnum(Ee).optional().describe("Alignment of legend items (applicable only when dock is top or bottom)")
427
- }), qt = F.object({
428
- chartType: F.enum(se).optional(),
429
- lineCurve: F.enum(h).optional()
430
- }), Jt = F.object({
431
- value: L.optional(),
432
- valueFrom: L.optional(),
433
- valueTo: L.optional(),
434
- secondValue: L.optional()
435
- }), Yt = F.object({
436
- id: F.string(),
437
- dataFieldId: F.string(),
438
- operator: F.enum(ke).or(F.enum(I.DynamicDateCalcRangeType)),
439
- values: Jt,
440
- dateFilter: F.enum(I.DynamicDateCalcRangeType).or(F.null()).optional().describe("Predefined date filter"),
441
- isApplied: F.boolean().optional().describe("Is filter applied")
442
- }), Xt = F.enum(["and", "or"]), Zt = F.lazy(() => F.object({
443
- id: F.string(),
444
- operator: Xt,
445
- filters: F.array(F.union([Yt, Zt]))
446
- })), Qt = F.object({
447
- ignoreGlobalFilters: F.boolean().optional().describe("Ignore global filters"),
448
- disableInteraction: F.boolean().optional().describe("Disable interaction (selections etc.) on the chart"),
449
- ignoredFilters: F.array(F.object({
450
- fieldId: F.string(),
451
- name: F.string()
452
- })).optional().describe("Ignored filters"),
453
- ignoreFiltersType: F.enum(le).optional().describe("Ignore filters type"),
454
- filters: F.array(Yt).optional().describe("Filters"),
455
- filterGroup: Zt.optional().describe("Nested filters"),
456
- showGlobalFiltersEffect: F.boolean().optional().describe("Show effects of global filters on the chart")
457
- }), $t = F.object({
458
- icon: F.string().optional(),
459
- iconColor: B.optional().nullable(),
460
- numberColor: B.optional().nullable(),
461
- comparisonColor: B.optional().nullable(),
462
- backgroundColor: B.optional().nullable()
463
- }), en = F.object({
464
- target: R,
465
- targetTolerance: F.number().min(0).max(1),
466
- aboveTargetColorAndIcon: $t,
467
- targetColorAndIcon: $t,
468
- belowTargetColorAndIcon: $t
469
- }), tn = F.object({
470
- value: it,
471
- dataType: F.enum([
472
- "string",
473
- "int",
474
- "float",
475
- "boolean",
476
- "date",
477
- "millisec",
478
- "millisec_tz",
479
- "timestamp",
480
- "timestamp_tz"
481
- ]).optional()
482
- }), nn = F.enum([
483
- "low",
484
- "medium",
485
- "high"
486
- ]), rn = F.object({
487
- itemKey: F.string(),
488
- itemName: F.string().optional()
489
- }), an = F.object({
490
- value: it,
491
- dataType: F.enum([
492
- "string",
493
- "int",
494
- "float",
495
- "boolean",
496
- "date"
497
- ]),
498
- sourceType: F.enum([ne.STATIC, ne.VARIABLE])
499
- }), on = F.object({
500
- selectedUdf: rn,
501
- parameters: F.record(F.string(), an).optional(),
502
- arrayParameterDimensionDataFieldIds: F.record(F.string(), F.array(F.string())).optional()
503
- }), sn = F.object({
504
- type: F.enum([
505
- "none",
506
- "movingCalculation",
507
- "runningTotal",
508
- "runningRate",
509
- "accumulatedGrowth",
510
- "rank",
511
- "total",
512
- "shareTotal",
513
- "nestedCalculation",
514
- "nestedRatio",
515
- "nestedCorrelation",
516
- "value",
517
- "diff",
518
- "ratio",
519
- "growth",
520
- "apg",
521
- "cagr",
522
- "periodOverCorrelation",
523
- "udf",
524
- "customUdf"
525
- ]),
526
- aggregation: F.enum([
527
- "SUM",
528
- "AVG",
529
- "MIN",
530
- "MAX",
531
- "PERCENTILE",
532
- "OUTLIERS",
533
- "CONTROL_VALUE"
534
- ]).optional(),
535
- additionalAggregation: F.enum([
536
- "SUM",
537
- "AVG",
538
- "MIN",
539
- "MAX"
540
- ]).optional(),
541
- dense: F.boolean().optional(),
542
- rankSortDirection: F.enum(["asc", "desc"]).optional(),
543
- groupType: F.enum([
544
- "value",
545
- "diff",
546
- "ratio",
547
- "growth"
548
- ]).optional(),
549
- dimensionDataFieldIds: F.array(F.string()).optional(),
550
- additionalDimensionDataFieldIds: F.array(F.string()).optional(),
551
- nestedOutputType: F.enum([
552
- "default",
553
- "dimensionValue",
554
- "seriesValue"
555
- ]).optional(),
556
- nestedOutputPosition: F.enum(["first", "last"]).optional(),
557
- nestedOutputTransform: F.enum(["percentRank", "standardScore"]).optional(),
558
- dimensionsIds: F.array(F.string()).optional(),
559
- offset: R.optional(),
560
- startFromZero: F.boolean().optional(),
561
- periodsPerYear: R.optional(),
562
- windowBegin: R.optional(),
563
- windowEnd: R.optional(),
564
- nullIfNotEnoughValues: F.boolean().optional(),
565
- compareMeasureDataFieldId: F.string().optional().nullable(),
566
- sortingOrder: F.array(F.object({
567
- id: F.string(),
568
- sortDirection: F.enum(c)
569
- })).optional(),
570
- percentileValue: R.optional(),
571
- percentileContinuous: F.boolean().optional(),
572
- percentileApprox: F.boolean().optional(),
573
- standardDeviations: R.optional(),
574
- parameters: F.record(F.string(), tn).optional().nullable(),
575
- comparisonType: F.enum([
576
- "absolute",
577
- "percentage",
578
- "naturalLog"
579
- ]).optional(),
580
- rangesComparison: F.object({
581
- enabled: F.boolean(),
582
- type: F.enum(["absolute", "percentage"]),
583
- firstRangeStart: R,
584
- firstRangeEnd: R,
585
- secondRangeStart: R,
586
- secondRangeEnd: R
587
- }).optional(),
588
- udf: on.optional(),
589
- customUdfFunctionName: F.string().optional(),
590
- customUdfFunctionParam: R.optional(),
591
- nonTimePeriod: F.boolean().optional(),
592
- nonTimePeriodGranularity: F.enum([
593
- "day",
594
- "week",
595
- "month",
596
- "quarter",
597
- "year"
598
- ]).optional()
599
- }), cn = F.enum(["measures", "supportingMeasures"]), ln = F.enum(["advancedCalculation", "nestedCalculation"]), un = F.object({
600
- key: F.string(),
601
- enabled: F.boolean().optional(),
602
- _enabled: F.boolean().optional(),
603
- source: F.enum(["variable", "field"]).optional(),
604
- propertyValue: it.optional().nullable(),
605
- indicator: F.enum([
606
- "none",
607
- "inverse",
608
- "custom"
609
- ]).optional().nullable(),
610
- indicatorThreshold: F.object({
611
- thresholdType: F.enum(["target"]),
612
- targetThreshold: en.nullable().optional()
613
- }).nullable().optional()
614
- }).strict(), dn = F.object({
615
- id: F.string(),
616
- dataFieldId: F.string(),
617
- operator: F.enum(ke).or(F.enum(I.DynamicDateCalcRangeType)),
618
- values: Jt,
619
- dateFilter: F.enum(I.DynamicDateCalcRangeType).optional().nullable(),
620
- isApplied: F.boolean().optional(),
621
- isPostFilter: F.boolean().optional(),
622
- protected: F.boolean().optional()
623
- }), W = F.object({
624
- dataItem: Dt,
625
- aggregation: et.optional(),
626
- filters: F.array(dn).optional(),
627
- parameters: F.record(F.string(), tn).optional(),
628
- postFilters: F.array(dn).optional(),
629
- label: F.string().optional(),
630
- description: F.string().optional(),
631
- customLabel: F.object({
632
- enabled: F.boolean(),
633
- value: L.optional()
634
- }).optional(),
635
- filterValueLabel: F.string().optional(),
636
- formatter: Pt.optional(),
637
- graphType: F.enum(je).optional(),
638
- strokeWidth: F.number().optional(),
639
- strokeDash: Lt.optional().nullable(),
640
- graphColor: F.string().optional().nullable(),
641
- showDataPoints: F.boolean().optional(),
642
- hideLineArea: F.boolean().optional(),
643
- lineCurve: F.enum(h).optional().nullable(),
644
- dataLabels: F.object({
645
- show: F.boolean().optional(),
646
- rotate: F.boolean().optional(),
647
- size: R.optional(),
648
- showBackdrop: F.boolean().optional(),
649
- isColored: F.boolean().optional(),
650
- backdropColor: B.optional().nullable(),
651
- textColor: B.optional().nullable(),
652
- displayParts: F.array(F.enum(f)).optional(),
653
- density: F.enum(de).optional(),
654
- labelFormat: F.enum(Ye).optional(),
655
- measureLabelFormat: F.enum(Xe).optional(),
656
- barLabelPlacements: F.array(F.object({
657
- position: F.enum($e).optional(),
658
- justify: F.number().min(0).max(1).optional()
659
- })).optional()
660
- }).optional(),
661
- dataPointShape: F.enum(o).optional().nullable().describe("Shape marking the data points"),
662
- dataPointSize: F.number().min(Ft.pointSizeMin).max(Ft.pointSizeMax).optional().describe("Adaptive size (in percent)"),
663
- dataPointSizeMinPx: F.number().min(Ft.pointPxSizeMinLowerLimit).max(Ft.pointPxSizeMinUpperLimit).optional().describe("Min size of the datapoint (in pixels)"),
664
- dataPointSizeMaxPx: F.number().min(Ft.pointPxSizeMaxLowerLimit).max(Ft.pointPxSizeMaxUpperLimit).optional().describe("Max size of the datapoint (in pixels)"),
665
- secondaryAxis: F.boolean().optional(),
666
- targetValue: F.number().optional(),
667
- trendLine: zt.optional().nullable(),
668
- showNullValues: F.boolean().optional(),
669
- forecasts: F.array(Bt).optional(),
670
- replaceNullWith: F.object({
671
- enabled: F.boolean().optional(),
672
- value: F.number().nullable().optional()
673
- }).optional(),
674
- isImported: F.boolean().optional(),
675
- advancedCalculation: sn.optional(),
676
- nestedCalculation: sn.optional(),
677
- enabled: F.boolean().optional(),
678
- group: F.string().optional(),
679
- geoSimplify: F.object({
680
- enabled: F.boolean(),
681
- tolerance: F.number()
682
- }).optional(),
683
- includeInTotal: F.boolean().optional(),
684
- parentId: F.string().optional().nullable(),
685
- role: F.enum(_).optional(),
686
- slots: F.array(un).optional().nullable()
687
- }), fn = F.object({
688
- schema: F.string().optional(),
689
- view: F.string(),
690
- showAll: F.enum(I.ViewStateShowAll).optional(),
691
- compatibleTypeFlags: F.object({ associativeListFilter: F.boolean().optional() }).optional()
692
- }), pn = F.object({
693
- dataItem: Dt.nullable(),
694
- sortDirection: F.enum(c),
695
- enabled: F.boolean().optional(),
696
- fieldType: F.enum([
697
- "dimension",
698
- "measure",
699
- "calculated-column",
700
- "calculated-conditional-column"
701
- ]),
702
- customSortMeasuresIdx: F.number().optional(),
703
- calculatedColumnId: F.string().optional(),
704
- calculatedConditionalColumnId: F.string().optional(),
705
- isSupportingMeasure: F.boolean().optional()
706
- }), mn = F.object({
707
- stringLabel: F.string().optional(),
708
- booleanLabel: F.boolean().optional(),
709
- numberLabel: F.number().optional()
710
- }), hn = F.object({
711
- enabled: F.boolean(),
712
- timeout: z((e) => e.min(120).max(600)).optional()
713
- }), gn = F.object({
714
- enabled: F.boolean(),
715
- ruleCreated: F.boolean().optional(),
716
- numberOfValues: R.optional(),
717
- showOthers: F.boolean().optional().describe("Group other values into one \"Others\" item"),
718
- othersPosition: F.nativeEnum(Ze).optional().describe("Position of \"Others\" item - first (at the beginning), last (at the end) or default (let engine decide)"),
719
- othersLabel: mn.optional().describe("Custom label for \"Others\" item"),
720
- rankMeasureDataFieldId: F.string().optional(),
721
- rankMeasureAggregation: F.string().optional(),
722
- sortOrder: F.enum(["asc", "desc"]).optional().describe("Sort order (ascending or descending) to determine whether to show top or bottom N values"),
723
- dimensionIdx: F.number().optional().nullable(),
724
- parameters: F.record(F.string(), tn).optional().nullable(),
725
- sortByRank: F.boolean().optional().describe("Sort chart by rank when Top N is applied")
726
- }), _n = F.array(pn).optional(), vn = F.object({
727
- enabled: F.boolean(),
728
- createdAt: F.boolean().optional(),
729
- createdBy: F.boolean().optional(),
730
- sql: F.boolean().optional(),
731
- semanticLayer: F.boolean().optional(),
732
- title: F.boolean().optional(),
733
- subtitle: F.boolean().optional(),
734
- footnote: F.boolean().optional(),
735
- custom: F.object({
736
- enabled: F.boolean(),
737
- name: L.optional().nullable(),
738
- value: L.optional().nullable()
739
- }).nullable().optional()
740
- }), G = F.object({
741
- limitQuery: F.number().optional().nullable(),
742
- pageSize: F.number().optional().nullable(),
743
- limitType: F.enum(["top", "bottom"]).optional(),
744
- exportLimit: F.number().optional().nullable(),
745
- exportTopDimLimit: F.number().optional().nullable(),
746
- csvFormatValues: F.boolean().optional(),
747
- sortingOrder: _n,
748
- viewStates: F.array(fn).optional(),
749
- topN: gn.optional(),
750
- hideZeroValues: F.boolean().optional(),
751
- enableCustomNullValue: F.boolean().optional(),
752
- nullAs: L.optional().nullable(),
753
- queryTimeout: hn.optional(),
754
- withMetadata: vn.or(F.boolean()).optional(),
755
- viewStatesParameters: F.record(F.string(), tn.optional().nullable()).optional().nullable()
756
- }), yn = F.record(F.string(), F.string()), bn = F.object({
757
- text: F.string().optional(),
758
- padding: F.number().min(0).max(50).optional(),
759
- fontSize: F.number().min(0).max(50).optional(),
760
- vAlign: F.enum([
761
- "top",
762
- "middle",
763
- "bottom"
764
- ]).optional(),
765
- align: F.enum([
766
- "left",
767
- "center",
768
- "right"
769
- ]).optional(),
770
- showValue: F.boolean().optional(),
771
- fill: B.optional()
772
- }), xn = F.object({
773
- value: F.union([L, R]).nullable(),
774
- stroke: B.nullable().optional(),
775
- strokeWidth: F.number().min(0).max(50).optional(),
776
- label: bn.optional(),
777
- isSecondaryAxis: F.boolean().optional(),
778
- showOob: F.boolean().optional()
779
- }), Sn = F.object({
780
- x: F.array(xn).optional(),
781
- y: F.array(xn).optional()
782
- }), Cn = W.extend({ includeInExport: F.boolean().optional() }), wn = F.object({
783
- type: F.enum([
784
- "timestamp",
785
- "offset",
786
- "none"
787
- ]).describe("Time travel type"),
788
- month: F.string().optional().describe("Month"),
789
- day: F.string().optional().describe("Day"),
790
- time: F.string().optional().describe("Time"),
791
- offsetDays: F.string().optional().describe("Offset days"),
792
- offsetHours: F.string().optional().describe("Offset hours"),
793
- offsetMinutes: F.string().optional().describe("Offset minutes")
794
- }), Tn = F.object({
795
- show: F.boolean().optional(),
796
- hideTotal: F.boolean().optional(),
797
- showFullNumberValues: F.boolean().optional(),
798
- supportingMeasuresDataItemIds: F.array(F.string()).optional()
799
- }), En = F.object({
800
- variableName: F.string().min(1),
801
- separator: F.string().max(50).optional(),
802
- useVariableValueOnInitialLoad: F.boolean().optional()
803
- }).strict();
804
- F.object({
805
- allItems: En.optional(),
806
- enabledItems: En.optional()
807
- }).strict().refine((e) => e.allItems || e.enabledItems, { message: "At least one assignment must be provided" });
808
- var K = F.object({
809
- allItems: En.nullable().optional(),
810
- enabledItems: En.nullable().optional()
811
- }).strict(), Dn = F.object({
812
- dimensions: K.optional(),
813
- measuresSlice: K.optional(),
814
- measuresLength: K.optional(),
815
- supportingMeasures: K.optional()
816
- }).strict().nullable(), On = F.object({
817
- dimensions: K.optional(),
818
- measures: K.optional(),
819
- supportingMeasures: K.optional()
820
- }).strict().nullable(), kn = F.object({
821
- dimensions: K.optional(),
822
- measures: K.optional(),
823
- supportingMeasures: K.optional()
824
- }).strict().nullable(), An = F.object({
825
- dimensions: K.optional(),
826
- measures: K.optional(),
827
- supportingMeasures: K.optional()
828
- }).strict().nullable(), jn = F.object({
829
- dimensions: K.optional(),
830
- measuresValue: K.optional(),
831
- measuresTarget: K.optional(),
832
- supportingMeasures: K.optional()
833
- }).strict().nullable(), Mn = F.object({
834
- dimensions: K.optional(),
835
- measuresValue: K.optional(),
836
- supportingMeasures: K.optional()
837
- }).strict().nullable(), Nn = F.object({
838
- dimensionsHorizontal: K.optional(),
839
- dimensionsVertical: K.optional(),
840
- measuresColor: K.optional(),
841
- measuresSize: K.optional(),
842
- supportingMeasures: K.optional()
843
- }).strict().nullable(), Pn = F.object({ dimensions: K.optional() }).strict().nullable(), Fn = F.object({
844
- dimensions: K.optional(),
845
- measures: K.optional(),
846
- supportingMeasures: K.optional()
847
- }).strict().nullable(), In = F.object({
848
- measures: K.optional(),
849
- comparison: K.optional()
850
- }).strict().nullable(), Ln = F.object({
851
- dimensions: K.optional(),
852
- measures: K.optional()
853
- }).strict().nullable(), Rn = F.object({
854
- dimensions: K.optional(),
855
- measures: K.optional()
856
- }).strict().nullable(), zn = F.object({
857
- dimensions: K.optional(),
858
- dimensionsImage: K.optional(),
859
- measuresHorizontal: K.optional(),
860
- measuresVertical: K.optional(),
861
- measuresSize: K.optional(),
862
- supportingMeasures: K.optional()
863
- }).strict().nullable(), Bn = F.object({
864
- dimensions: K.optional(),
865
- measures: K.optional(),
866
- supportingMeasures: K.optional()
867
- }).strict().nullable(), Vn = F.object({
868
- measures: K.optional(),
869
- supportingMeasures: K.optional()
870
- }).strict().nullable(), Hn = F.object({
871
- dimensions: K.optional(),
872
- measures: K.optional(),
873
- supportingMeasures: K.optional()
874
- }).strict().nullable(), Un = F.object({
875
- dimensions: K.optional(),
876
- measures: K.optional(),
877
- supportingMeasures: K.optional()
878
- }).strict().nullable(), Wn = F.object({
879
- dimensions: K.optional(),
880
- measures: K.optional()
881
- }).strict().nullable(), Gn = F.object({
882
- enabled: F.boolean(),
883
- limitBy: F.enum(["size", "count"]),
884
- minCount: F.number().min(5).max(It).optional(),
885
- minSize: F.number().min(1).max(128).optional(),
886
- fixateLayout: F.boolean().optional(),
887
- startFromEnd: F.boolean().optional(),
888
- miniChart: F.boolean().optional(),
889
- offset: F.number().optional(),
890
- limit: F.number().optional()
891
- }), Kn = F.object({
892
- enabled: F.boolean(),
893
- density: F.enum(de),
894
- isColored: F.boolean().optional(),
895
- colorType: F.enum(Be).optional(),
896
- textColor: B.optional().nullable(),
897
- backdropColor: B.optional().nullable(),
898
- fontSize: z((e) => e.min(0)).optional().nullable(),
899
- maxLength: z((e) => e.int().min(1)).optional().nullable()
900
- }), qn = F.string().regex(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/).describe("vSpec version"), Jn = /* @__PURE__ */ e(r()), Yn = (e) => e.aggregators.filter((e) => !e.disabled && !e.requiredExtraParams).map((e) => e.funcName), Xn = (e) => {
901
- let t = Yn(e);
902
- return t.length > 0 ? t.join(", ") : "none";
903
- }, Zn = (e, t) => t ? Yn(e).find((e) => e === t) ?? null : null;
904
- function q(e, t) {
905
- e.next({
906
- action: me.UpdateVSpecPartial,
907
- payload: { vSpecChange: t }
908
- });
909
- }
910
- var Qn = (e) => {
911
- try {
912
- let t = e.flatten();
913
- return [...t.formErrors, ...Object.values(t.fieldErrors).flat()].join("\n");
914
- } catch {
915
- return "Incorrect input";
916
- }
917
- }, J = (e, t, n, r) => {
918
- let i = e.safeParse(t);
919
- if (!i.success) {
920
- let e = Qn(i.error);
921
- return n.warn(`[${r}] validation failed`, {
922
- payload: t,
923
- error: i.error.issues
924
- }), {
925
- success: !1,
926
- errorMessage: e
927
- };
928
- }
929
- return {
930
- success: !0,
931
- errorMessage: void 0
932
- };
933
- }, $n = (e, t) => ({
934
- dataItem: e.dataItem,
935
- sortDirection: c.Asc,
936
- fieldType: "dimension",
937
- ...t === void 0 ? {} : { enabled: t }
938
- }), er = (e, t = !1, n = [], r) => {
939
- let i = {
940
- dataItem: e.dataItem,
941
- sortDirection: c.Desc,
942
- fieldType: "measure",
943
- ...r === void 0 ? {} : { enabled: r }
944
- };
945
- return t && (i.customSortMeasuresIdx = n.length), i;
946
- };
947
- function tr(e, t) {
948
- return {
949
- type: "excel-format",
950
- format: rr(Te(e), e, !1, t)
951
- };
952
- }
953
- function nr(e) {
954
- return {
955
- type: "excel-format",
956
- format: rr(Te(e), e, !0)
957
- };
958
- }
959
- function rr(e, t, n = !1, r = "") {
960
- let i = e;
961
- e === I.FieldType.GROUPED_DIMENSION && N(t) && (i = a[t.dimension.resultType]);
962
- let o = { ...S }, s = ir(i, t, r);
963
- switch (!0) {
964
- case !!ge(t): return o.formatType = v.Inherit, o;
965
- case n && (i === I.FieldType.TIMESTAMP || i === I.FieldType.TIMESTAMP_TZ): return o.formatType = p.DefaultDatetime, o;
966
- case n && He(i): return o.formatType = p.DefaultDate, o;
967
- case s === I.FieldType.TIME: return o.formatType = p.DefaultTime, o;
968
- case s === I.FieldType.INT: return o.formatType = v.AbbreviationAuto, o;
969
- case s === I.FieldType.DECIMAL || s === I.FieldType.FLOAT: return o.formatType = v.DefaultNumber, o;
970
- default: return o;
971
- }
972
- }
973
- function ir(e, t, n) {
974
- let r = (t?.aggregators ?? []).find((e) => e.funcName === n);
975
- return r ? r.resultType === "incoming" ? e : r.resultType : null;
976
- }
977
- var ar = (e, n, r, i, a, o) => {
978
- let { key: s, newReferencedData: c } = Se(r, e), l = {
979
- dataItem: Oe(e, s),
980
- label: Pe(e),
981
- description: t(e),
982
- formatter: o ?? nr(e),
983
- showNullValues: !0,
984
- enabled: !1,
985
- role: n
986
- }, u = $n(l, (i ?? []).length === 0), d = [...i ?? [], u];
987
- return {
988
- newReferencedData: c,
989
- newDimension: l,
990
- newDimensions: [...Me(a), l],
991
- newSorting: d
992
- };
993
- }, or = (e) => {
994
- let t = e.querySettings?.pageSize, n = O(e);
995
- return t ?? n;
996
- }, sr = (e) => e.querySettings?.limitQuery ?? or(e), cr = () => ({ segmentSettings: {
997
- position: ee.Absolute,
998
- segments: []
999
- } }), lr = (e, t, n, r, i) => e.map((e) => {
1000
- if (e.id === t && b(e)) {
1001
- let t = e.indicatorSettings ?? cr(), a = t.segmentSettings ?? cr().segmentSettings;
1002
- return {
1003
- ...e,
1004
- indicatorSettings: {
1005
- ...t,
1006
- segmentSettings: {
1007
- ...a,
1008
- segments: (a.segments ?? []).map((e, t) => t === n ? {
1009
- ...e,
1010
- [r]: i
1011
- } : e)
1012
- }
1013
- }
1014
- };
1015
- }
1016
- return e;
1017
- }), ur = (e, t, n = {}) => {
1018
- let r = t === "button" ? ce.Button : ce.Text;
1019
- return {
1020
- ...Me(Ve),
1021
- id: C(),
1022
- columnType: t,
1023
- dataItem: e.dataItem,
1024
- label: e.label,
1025
- description: e.description,
1026
- formatter: e.formatter,
1027
- representation: r,
1028
- parameters: "parameters" in e ? e.parameters : void 0,
1029
- ...dr(t, n),
1030
- ...e.showNullValues !== void 0 && { showNullValues: e.showNullValues }
1031
- };
1032
- }, dr = (e, t) => ({
1033
- horizontalAlign: t?.horizontalAlign ?? g.horizontalAlign,
1034
- fontColor: { code: t?.fontColor ?? g.fontColor },
1035
- backgroundColor: { code: t?.backgroundColor ?? g.backgroundColor },
1036
- verticalAlign: t?.verticalAlign ?? g.verticalAlign,
1037
- border: t?.border ?? g.border,
1038
- filterIconBehavior: t?.filterIconBehavior ?? g.filterIconBehavior,
1039
- sortIconBehavior: t?.sortIconBehavior ?? g.sortIconBehavior,
1040
- drillThroughIconBehaviour: t?.drillThroughIconBehaviour ?? g.drillThroughIconBehaviour,
1041
- freezeIconBehaviour: t?.freezeIconBehaviour ?? g.freezeIconBehaviour,
1042
- ...t?.fontStyle && { fontStyle: t.fontStyle }
1043
- }), fr = (e, t, n) => {
1044
- let r = t.find((t) => P(t.dataItem) === P(e));
1045
- if (!r) throw Error("Data item not found");
1046
- let i = Me(r);
1047
- return i.dataItem.uniqueSignature = E(), n.push(i), i.dataItem;
1048
- }, pr = /* @__PURE__ */ e(ze()), mr = (e, r, a, o, s, c, l) => {
1049
- let { key: d, newReferencedData: f } = Se(o, e), p = {
1050
- dataItem: Re(e, r, d),
1051
- label: Pe(e),
1052
- description: t(e),
1053
- formatter: l ?? tr(e, r),
1054
- showNullValues: !0,
1055
- aggregation: n(r),
1056
- advancedCalculation: i,
1057
- nestedCalculation: i,
1058
- forecasts: [],
1059
- enabled: !1,
1060
- role: a
1061
- }, m = u(e, c);
1062
- m && (p.parameters = {
1063
- ...p.parameters,
1064
- ...m
1065
- });
1066
- let h = er(p, !1, [], (s ?? []).length === 0);
1067
- return {
1068
- newReferencedData: f,
1069
- newMeasure: p,
1070
- newSorting: [...s ?? [], h]
1071
- };
1072
- };
1073
- function Y(e) {
1074
- let t = {}, n = new Ke();
1075
- n.subscribe((e) => {
1076
- "payload" in e && typeof e.payload == "object" && e.payload !== null && "vSpecChange" in e.payload && e.payload.vSpecChange && (t = (0, Jn.default)(t, e.payload.vSpecChange, (e, t) => Array.isArray(t) ? t : void 0));
1077
- });
1078
- let r = e.map((e) => e(n, t)), i = r.find((e) => !e.success);
1079
- return n.complete(), i ? {
1080
- vSpecPartial: t,
1081
- results: r,
1082
- success: !1,
1083
- errorMessage: i.errorMessage
1084
- } : {
1085
- vSpecPartial: t,
1086
- results: r,
1087
- success: !0
1088
- };
1089
- }
1090
- var hr = he(), gr = (e) => N(e) ? e.type === hr.DatabaseItemType.MEASURE ? "measure" : e.type === hr.DatabaseItemType.CALCULATION ? "calculation" : null : "field", _r = (e, t, n) => {
1091
- if (!t) return null;
1092
- let r = gr(e);
1093
- return r ? r === t ? null : {
1094
- success: !1,
1095
- errorMessage: `Selected item ${e.name ?? e.key} is a ${r}, not a ${t}`
1096
- } : {
1097
- success: !1,
1098
- errorMessage: `Selected item ${e.name ?? e.key} cannot be added as a ${n}`
1099
- };
1100
- }, vr = (e, t) => N(e) && e.type !== hr.DatabaseItemType.MEASURE && e.type !== hr.DatabaseItemType.CALCULATION ? {
1101
- success: !1,
1102
- errorMessage: `When using DVE-defined items, only measure or calculation can be added as the ${t}`
1103
- } : null, yr = (e, t) => N(e) ? void 0 : t, br = (e, t, n) => ({
1104
- success: !1,
1105
- errorMessage: `Aggregation "${t}" is not supported for ${n} ${e.name ?? e.key}. Supported aggregations: ${Xn(e)}`
1106
- }), xr = (e, t, n, r) => {
1107
- if (N(e)) return { result: null };
1108
- if (!t) return { result: {
1109
- success: !1,
1110
- errorMessage: n
1111
- } };
1112
- let i = Zn(e, t);
1113
- return i ? {
1114
- result: null,
1115
- resolvedAggregation: i
1116
- } : { result: br(e, t, r) };
1117
- }, Sr = (e, t, n) => {
1118
- if (!e) return {
1119
- result: null,
1120
- resolvedAggregation: t
1121
- };
1122
- let r = Zn(e, t);
1123
- return r ? {
1124
- result: null,
1125
- resolvedAggregation: r
1126
- } : {
1127
- result: br(e, t, n),
1128
- resolvedAggregation: t
1129
- };
1130
- };
1131
- function Cr(e, t, n, r, i) {
1132
- return q(e, { [t]: De(n, r, i) }), { success: !0 };
1133
- }
1134
- function X(e, t, n, r) {
1135
- return Cr(e, "measures", t, n, r);
1136
- }
1137
- var Z = Ie("measure-handlers", "#76ff03"), wr = (e, t, n, r, i = [], a, o, s, c = [], l, u, d, f, p, m) => {
1138
- Z.info("[handleMeasureAdd] input", {
1139
- field: o,
1140
- aggregation: l,
1141
- dimensions: n,
1142
- measures: t,
1143
- sortingOrder: i
1144
- });
1145
- let { success: h, errorMessage: g } = J(F.object({
1146
- dimensions: F.array(U),
1147
- measures: F.array(W),
1148
- chartType: F.string(),
1149
- referencedData: yn,
1150
- sortingOrder: G.shape.sortingOrder,
1151
- field: jt,
1152
- aggregation: F.string().optional(),
1153
- role: F.enum(_).optional()
1154
- }), {
1155
- dimensions: n,
1156
- measures: t,
1157
- chartType: r,
1158
- referencedData: a,
1159
- sortingOrder: i,
1160
- field: o,
1161
- aggregation: l,
1162
- role: s
1163
- }, Z, "handleMeasureAdd");
1164
- if (!h) return {
1165
- success: !1,
1166
- errorMessage: g
1167
- };
1168
- let v = _r(o, m, "measure");
1169
- if (v) return v;
1170
- let y = N(o), b = vr(o, "measure");
1171
- if (b) return Z.error("[handleMeasureAdd] When using DVE-defined items, only measure or calculation can be added", {
1172
- field: o,
1173
- aggregation: l,
1174
- isCustomMeasure: y
1175
- }), b;
1176
- let { result: x, resolvedAggregation: S } = xr(o, l, "Aggregation is required for non-DVE-defined measures", "measure field");
1177
- if (x?.success === !1) return Z.error("[handleMeasureAdd] invalid aggregation for measure", {
1178
- field: o,
1179
- aggregation: l,
1180
- isCustomMeasure: y,
1181
- errorMessage: x.errorMessage
1182
- }), x;
1183
- let C = i ?? [], { newReferencedData: ee, newMeasure: w, newSorting: te } = mr(o, yr(o, S), s, a, C, c, u), T = w;
1184
- f && (T = f(w));
1185
- let ne = [...structuredClone(t), T], { dimensions: E, measures: D } = A(n, ne, r, {
1186
- type: M.ENABLE,
1187
- dataItemId: P(T.dataItem)
1188
- }, { alternateSettings: p }), O = d?.({
1189
- dimensions: E,
1190
- measures: D
1191
- });
1192
- return Z.debug("[handleMeasureAdd] adding new measure", {
1193
- finalMeasure: T,
1194
- newMeasures: ne,
1195
- adjustedDimensions: E,
1196
- adjustedMeasures: D,
1197
- oldSorting: C,
1198
- newSorting: te,
1199
- newColoring: O
1200
- }), q(e, {
1201
- referencedData: ee,
1202
- dimensions: E,
1203
- measures: D,
1204
- querySettings: { sortingOrder: te },
1205
- ...O ? { coloring: O } : {}
1206
- }), {
1207
- success: !0,
1208
- data: T
1209
- };
1210
- }, Tr = (e, t, n, r, i = [], a, o, s, c, u = [], d, f, p, m, h, g) => {
1211
- Z.info("[handleMeasureAddForEngineKey] input", {
1212
- measures: t,
1213
- dimensions: n,
1214
- chartType: r,
1215
- referencedData: o,
1216
- sortingOrder: i,
1217
- engineKey: s,
1218
- aggregation: d,
1219
- role: c,
1220
- coloringSideEffectsFn: p,
1221
- availableFields: a
1222
- });
1223
- let { success: v, errorMessage: y } = J(F.object({
1224
- dimensions: F.array(U),
1225
- measures: F.array(W),
1226
- chartType: F.string(),
1227
- referencedData: yn,
1228
- sortingOrder: G.shape.sortingOrder,
1229
- engineKey: F.string(),
1230
- aggregation: F.string().optional(),
1231
- role: F.enum(_).optional()
1232
- }), {
1233
- dimensions: n,
1234
- measures: t,
1235
- chartType: r,
1236
- referencedData: o,
1237
- sortingOrder: i,
1238
- engineKey: s,
1239
- aggregation: d,
1240
- role: c
1241
- }, Z, "handleMeasureAddForEngineKey");
1242
- if (!v) return {
1243
- success: !1,
1244
- errorMessage: y
1245
- };
1246
- let b = l(a, s);
1247
- if (!b) return {
1248
- success: !1,
1249
- errorMessage: `Field with engine key ${s} not found`
1250
- };
1251
- let x = _r(b, h, "measure");
1252
- if (x) return x;
1253
- let S = N(b), { result: C, resolvedAggregation: ee } = xr(b, d, "Aggregation is required for non-DVE-defined measures", "measure field");
1254
- if (C?.success === !1) return Z.error("[handleMeasureAddForEngineKey] invalid aggregation for measure", {
1255
- field: b,
1256
- aggregation: d,
1257
- isCustomMeasure: S,
1258
- errorMessage: C.errorMessage
1259
- }), C;
1260
- let w = vr(b, "measure");
1261
- if (w) return Z.error("[handleMeasureAddForEngineKey] When using DVE-defined items, only measure or calculation can be added", {
1262
- field: b,
1263
- aggregation: d,
1264
- isCustomMeasure: S
1265
- }), w;
1266
- let te = yr(b, ee), T = i ?? [], { newReferencedData: ne, newMeasure: E, newSorting: D } = mr(b, te, c, o, T, u, f), O = E;
1267
- g && (O = g(E));
1268
- let k = [...structuredClone(t), O], { dimensions: re, measures: ie } = A(n, k, r, {
1269
- type: M.ENABLE,
1270
- dataItemId: P(E.dataItem)
1271
- }, { alternateSettings: m }), ae = p?.({
1272
- dimensions: re,
1273
- measures: ie
1274
- });
1275
- return Z.debug("[handleMeasureAdd] adding new measure", {
1276
- newMeasure: E,
1277
- newMeasures: k,
1278
- adjustedDimensions: re,
1279
- adjustedMeasures: ie,
1280
- oldSorting: T,
1281
- newSorting: D,
1282
- newColoring: ae
1283
- }), q(e, {
1284
- referencedData: ne,
1285
- dimensions: re,
1286
- measures: ie,
1287
- querySettings: { sortingOrder: D },
1288
- ...ae ? { coloring: ae } : {}
1289
- }), {
1290
- success: !0,
1291
- data: O
1292
- };
1293
- }, Er = (e, t, n, r, i, a = [], o, s, c, l) => {
1294
- Z.info("handleMeasureRemove input", {
1295
- measures: t,
1296
- dataItemId: i,
1297
- sortingOrder: a
1298
- });
1299
- let { success: u, errorMessage: d } = J(F.object({
1300
- measures: F.array(W),
1301
- dataItemId: Array.isArray(i) ? F.array(V) : V,
1302
- sortingOrder: _n
1303
- }), {
1304
- measures: t,
1305
- dataItemId: i,
1306
- sortingOrder: a
1307
- }, Z, "handleMeasureRemove");
1308
- if (!u) return {
1309
- success: !1,
1310
- errorMessage: d
1311
- };
1312
- let f = Array.isArray(i) ? i : [i], p = structuredClone(t).filter((e) => !f.includes(P(e.dataItem))), m = structuredClone(a).filter((e) => e.dataItem === null || !f.includes(P(e.dataItem))), h = pe(p, o), g = structuredClone(c ?? []).filter((e) => !f.includes(P(e.dataItem))), { dimensions: _, measures: v } = A(n, p, r, { type: M.FIX_STATE }, { alternateSettings: l }), y = s?.({
1313
- dimensions: _,
1314
- measures: v
1315
- });
1316
- return Z.debug("[handleMeasureRemove] removing measure(s)", {
1317
- newMeasures: p,
1318
- adjustedDimensions: _,
1319
- adjustedMeasures: v,
1320
- newSorting: m,
1321
- newRefLines: h,
1322
- newColoring: y
1323
- }), q(e, {
1324
- dimensions: _,
1325
- measures: v,
1326
- querySettings: { sortingOrder: m },
1327
- refLines: h,
1328
- ...y ? { coloring: y } : {},
1329
- grid: g
1330
- }), { success: !0 };
1331
- }, Dr = (e, t, n, r, i) => {
1332
- Z.info("handleMeasureChangeForDataItemId input", {
1333
- measures: t,
1334
- dataItemId: n,
1335
- changes: r
1336
- });
1337
- let { success: a, errorMessage: o } = J(F.object({
1338
- measures: F.array(W),
1339
- dataItemId: V,
1340
- changes: F.object({ customLabel: F.object({
1341
- enabled: F.boolean(),
1342
- value: F.string().optional()
1343
- }).optional() })
1344
- }), {
1345
- measures: t,
1346
- dataItemId: n,
1347
- changes: r
1348
- }, Z, "handleMeasureChangeForDataItemId");
1349
- if (!a) return {
1350
- success: !1,
1351
- errorMessage: o
1352
- };
1353
- let s = Ne(t, n, (e) => (r.customLabel !== void 0 && r.customLabel !== null && (e.customLabel = {
1354
- enabled: r.customLabel.enabled,
1355
- value: r.customLabel.value
1356
- }), e)), c = i?.({ measures: s });
1357
- return Z.debug("[handleMeasureChangeForDataItemId] updating measure", {
1358
- newMeasures: s,
1359
- newColoring: c
1360
- }), q(e, {
1361
- measures: s,
1362
- ...c ? { coloring: c } : {}
1363
- }), { success: !0 };
1364
- }, Or = (e, t, n, r, i, a, o, s, c = !1, l) => {
1365
- Z.info("handleMeasureToggle input", {
1366
- measures: t,
1367
- dimensions: n,
1368
- chartType: r,
1369
- dataItemId: a,
1370
- enabled: o
1371
- });
1372
- let { success: u, errorMessage: d } = J(F.object({
1373
- measures: F.array(W),
1374
- dimensions: F.array(U),
1375
- chartType: F.string(),
1376
- dataItemId: V,
1377
- enabled: F.boolean()
1378
- }), {
1379
- measures: t,
1380
- dimensions: n,
1381
- chartType: r,
1382
- dataItemId: a,
1383
- enabled: o
1384
- }, Z, "handleMeasureToggle");
1385
- if (!u) return {
1386
- success: !1,
1387
- errorMessage: d
1388
- };
1389
- if (a === null) return {
1390
- success: !1,
1391
- errorMessage: "Data item ID is required"
1392
- };
1393
- let f = structuredClone(t), { dimensions: p, measures: m } = A(n, f, r, {
1394
- type: o ? M.ENABLE : M.DISABLE,
1395
- dataItemId: a
1396
- }, {
1397
- fixStateOnDisable: c,
1398
- alternateSettings: l
1399
- }), h = s?.({
1400
- dimensions: p,
1401
- measures: m
1402
- }), g = pe(m, i);
1403
- return Z.debug("[handleMeasureToggle] updating measure", {
1404
- newMeasures: f,
1405
- adjustedDimensions: p,
1406
- adjustedMeasures: m,
1407
- newColoring: h,
1408
- newRefLines: g
1409
- }), q(e, {
1410
- dimensions: p,
1411
- measures: m,
1412
- ...h ? { coloring: h } : {},
1413
- refLines: g
1414
- }), { success: !0 };
1415
- }, kr = (e, t, n, r, i, a, o, s, c) => {
1416
- Z.info("handleToggleMeasuresByNames input", {
1417
- measures: t,
1418
- name: a,
1419
- enabled: o,
1420
- coloringSideEffectsFn: s
1421
- });
1422
- let l = t.filter((e) => e.label === a);
1423
- if (l.length === 0) return Z.info("[handleToggleMeasuresByNames] No matching measures found, nothing to toggle", { name: a }), { success: !0 };
1424
- let u = [];
1425
- l.forEach((e) => {
1426
- let a = P(e.dataItem), l = o === void 0 ? !e.enabled : o;
1427
- u.push((e, o) => Or(e, o.measures ?? t, o.dimensions ?? n, r, i, a, l, s, !1, c));
1428
- });
1429
- let d = Y(u);
1430
- return d.success ? (Z.debug("[handleToggleMeasuresByNames] updated measures", { newMeasures: d.vSpecPartial.measures }), q(e, d.vSpecPartial), { success: !0 }) : {
1431
- success: !1,
1432
- errorMessage: d?.errorMessage
1433
- };
1434
- }, Ar = (e, t, n, r, i, a, o, s) => {
1435
- Z.info("handleMeasureDuplicate input", {
1436
- measures: t,
1437
- dataItemId: i,
1438
- sortingOrder: s
1439
- });
1440
- let { success: c, errorMessage: l } = J(F.object({
1441
- measures: F.array(W),
1442
- dataItemId: V,
1443
- sortingOrder: G.shape.sortingOrder.optional()
1444
- }), {
1445
- measures: t,
1446
- dataItemId: i,
1447
- sortingOrder: s
1448
- }, Z, "handleMeasureDuplicate");
1449
- if (!c) return {
1450
- success: !1,
1451
- errorMessage: l
1452
- };
1453
- let u = Array.isArray(i) ? i : [i], d = structuredClone(t), f = u.map((e) => d.find((t) => P(t.dataItem) === e)).filter((e) => e !== void 0).map((e) => {
1454
- let t = structuredClone(e);
1455
- return t.dataItem.uniqueSignature = E(), t;
1456
- }), p = [...d, ...f], m = s ? [...s, ...f.map((e, t) => er(e, !1, [], s.length === 0 && t === 0))] : void 0, h = structuredClone(n), g = structuredClone(p);
1457
- for (let e of f) {
1458
- let { dimensions: t, measures: i } = A(n, g, r, {
1459
- type: M.ENABLE,
1460
- dataItemId: P(e.dataItem)
1461
- }, { alternateSettings: o });
1462
- h = t, g = i;
1463
- }
1464
- let _ = a?.({
1465
- dimensions: h,
1466
- measures: g
1467
- });
1468
- return Z.debug("[handleMeasureDuplicate] duplicating measure(s)", {
1469
- newMeasures: p,
1470
- adjustedDimensionsResult: h,
1471
- adjustedMeasuresResult: g,
1472
- newSorting: m,
1473
- newColoring: _
1474
- }), q(e, {
1475
- dimensions: h,
1476
- measures: g,
1477
- ...m ? { querySettings: { sortingOrder: m } } : {},
1478
- ..._ ? { coloring: _ } : {}
1479
- }), {
1480
- data: f,
1481
- success: !0
1482
- };
1483
- }, jr = (e, r, i, a = [], o, s, c, l, u, d) => {
1484
- Z.info("handleMeasureFieldChange input", {
1485
- measures: r,
1486
- dataItemId: i,
1487
- newField: s,
1488
- aggregation: l,
1489
- uniqueSignature: u,
1490
- sourceKind: d
1491
- });
1492
- let { success: f, errorMessage: p } = J(F.object({
1493
- measures: F.array(W),
1494
- dataItemId: V,
1495
- newField: jt,
1496
- aggregation: F.string().optional(),
1497
- uniqueSignature: F.string().optional()
1498
- }), {
1499
- measures: r,
1500
- dataItemId: i,
1501
- newField: s,
1502
- aggregation: l,
1503
- uniqueSignature: u
1504
- }, Z, "handleMeasureFieldChange");
1505
- if (!f) return {
1506
- success: !1,
1507
- errorMessage: p
1508
- };
1509
- let m = _r(s, d, "measure");
1510
- if (m) return m;
1511
- if (!gr(s)) return {
1512
- success: !1,
1513
- errorMessage: `Selected item ${s.name ?? s.key} cannot be used as a measure`
1514
- };
1515
- let { result: h, resolvedAggregation: g } = xr(s, l, "Aggregation is required for raw fields used as measures", "measure field");
1516
- if (h) return h;
1517
- let _ = yr(s, g), v = r.findIndex((e) => P(e.dataItem) === i);
1518
- if (v === -1) return {
1519
- success: !1,
1520
- errorMessage: `Measure with data item ID ${i} not found`
1521
- };
1522
- let y = a?.findIndex((e) => P(e.dataItem) === i), { key: b, newReferencedData: x } = Se(o, s), S = we(Ne(r, i, (e) => ({
1523
- ...e,
1524
- label: Pe(s),
1525
- description: t(s),
1526
- dataItem: Re(s, _, b, u),
1527
- aggregation: n(_)
1528
- }))), C = S[v], ee = [...a];
1529
- y > -1 && (ee[y] = er(C, !1, [], a[y]?.enabled));
1530
- let w = c?.({ measures: S });
1531
- return Z.debug("[handleMeasureFieldChange] updating measure", {
1532
- newReferencedData: x,
1533
- newMeasures: S,
1534
- newColoring: w
1535
- }), q(e, {
1536
- referencedData: x,
1537
- measures: S,
1538
- ...w ? { coloring: w } : {},
1539
- querySettings: { sortingOrder: ee }
1540
- }), {
1541
- data: C,
1542
- success: !0
1543
- };
1544
- }, Mr = (e, t, r, i, a, o) => {
1545
- Z.info("handleMeasureAggregationChange input", {
1546
- measures: t,
1547
- dataItemId: r,
1548
- aggregation: i
1549
- });
1550
- let { success: s, errorMessage: c } = J(F.object({
1551
- measures: F.array(W),
1552
- dataItemId: V,
1553
- aggregation: F.string()
1554
- }), {
1555
- measures: t,
1556
- dataItemId: r,
1557
- aggregation: i
1558
- }, Z, "handleMeasureAggregationChange");
1559
- if (!s) return {
1560
- success: !1,
1561
- errorMessage: c
1562
- };
1563
- let { result: l, resolvedAggregation: u } = Sr(o, i, "measure");
1564
- if (l) return l;
1565
- let d = n(u);
1566
- if (!d) return {
1567
- success: !1,
1568
- errorMessage: `Aggregation "${u}" is not recognized`
1569
- };
1570
- let f = Ne(t, r, (e) => ({
1571
- ...e,
1572
- aggregation: d,
1573
- dataItem: {
1574
- ...e.dataItem,
1575
- aggregation: d
1576
- }
1577
- })), p = a?.({ measures: f });
1578
- return q(e, {
1579
- measures: f,
1580
- ...p ? { coloring: p } : {}
1581
- }), { success: !0 };
1582
- }, Nr = (e, t, n, r) => {
1583
- Z.info("handleMeasureStrokeWidthChange input", {
1584
- measures: t,
1585
- dataItemId: n,
1586
- strokeWidth: r
1587
- });
1588
- let { success: i, errorMessage: a } = J(F.object({
1589
- measures: F.array(W),
1590
- dataItemId: V,
1591
- strokeWidth: W.shape.strokeWidth
1592
- }), {
1593
- measures: t,
1594
- dataItemId: n,
1595
- strokeWidth: r
1596
- }, Z, "handleMeasureStrokeWidthChange");
1597
- return i ? X(e, t, n, (e) => ({
1598
- ...e,
1599
- strokeWidth: r,
1600
- ...e.strokeDash ? { strokeDash: {
1601
- width: r * 3,
1602
- space: r * 3
1603
- } } : {}
1604
- })) : {
1605
- success: !1,
1606
- errorMessage: a
1607
- };
1608
- }, Pr = (e, t, n, r, i = 1) => {
1609
- Z.info("handleMeasureLineStyleChange input", {
1610
- measures: t,
1611
- dataItemId: n,
1612
- lineStyle: r,
1613
- strokeWidth: i
1614
- });
1615
- let { success: a, errorMessage: o } = J(F.object({
1616
- measures: F.array(W),
1617
- dataItemId: V,
1618
- lineStyle: F.enum(Ae),
1619
- strokeWidth: W.shape.strokeWidth.optional()
1620
- }), {
1621
- measures: t,
1622
- dataItemId: n,
1623
- lineStyle: r,
1624
- strokeWidth: i
1625
- }, Z, "handleMeasureLineStyleChange");
1626
- if (!a) return {
1627
- success: !1,
1628
- errorMessage: o
1629
- };
1630
- let s = r === Ae.Dashed ? {
1631
- width: i * 3,
1632
- space: i * 3
1633
- } : null;
1634
- return X(e, t, n, (e) => ({
1635
- ...e,
1636
- strokeDash: s
1637
- }));
1638
- }, Fr = (e, t, n, r) => {
1639
- Z.info("handleMeasureDataPointShapeChange input", {
1640
- measures: t,
1641
- dataItemId: n,
1642
- dataPointShape: r
1643
- });
1644
- let { success: i, errorMessage: a } = J(F.object({
1645
- measures: F.array(W),
1646
- dataItemId: V,
1647
- dataPointShape: W.shape.dataPointShape
1648
- }), {
1649
- measures: t,
1650
- dataItemId: n,
1651
- dataPointShape: r
1652
- }, Z, "handleMeasureDataPointShapeChange");
1653
- if (!i) return {
1654
- success: !1,
1655
- errorMessage: a
1656
- };
1657
- let o = {};
1658
- return (0, pr.default)(r) ? (o.dataPointShape = null, o.showDataPoints = !1) : (o.dataPointShape = r, o.showDataPoints = !0), X(e, t, n, (e) => ({
1659
- ...e,
1660
- ...o
1661
- }));
1662
- }, Ir = (e, t, n, r) => {
1663
- Z.info("handleMeasureDataPointSizeChange input", {
1664
- measures: t,
1665
- dataItemId: n,
1666
- dataPointSize: r
1667
- });
1668
- let { success: i, errorMessage: a } = J(F.object({
1669
- measures: F.array(W),
1670
- dataItemId: V,
1671
- dataPointSize: W.shape.dataPointSize
1672
- }), {
1673
- measures: t,
1674
- dataItemId: n,
1675
- dataPointSize: r
1676
- }, Z, "handleMeasureDataPointSizeChange");
1677
- return i ? X(e, t, n, (e) => ({
1678
- ...e,
1679
- dataPointSize: r
1680
- })) : {
1681
- success: !1,
1682
- errorMessage: a
1683
- };
1684
- }, Lr = (e, t, n, r) => {
1685
- Z.info("handleMeasureDataPointSizeMinChange input", {
1686
- measures: t,
1687
- dataItemId: n,
1688
- dataPointSizeMinPx: r
1689
- });
1690
- let { success: i, errorMessage: a } = J(F.object({
1691
- measures: F.array(W),
1692
- dataItemId: V,
1693
- dataPointSizeMinPx: W.shape.dataPointSizeMinPx
1694
- }), {
1695
- measures: t,
1696
- dataItemId: n,
1697
- dataPointSizeMinPx: r
1698
- }, Z, "handleMeasureDataPointSizeMinChange");
1699
- return i ? X(e, t, n, (e) => ({
1700
- ...e,
1701
- dataPointSizeMinPx: r
1702
- })) : {
1703
- success: !1,
1704
- errorMessage: a
1705
- };
1706
- }, Rr = (e, t, n, r) => {
1707
- Z.info("handleMeasureDataPointSizeMaxChange input", {
1708
- measures: t,
1709
- dataItemId: n,
1710
- dataPointSizeMaxPx: r
1711
- });
1712
- let { success: i, errorMessage: a } = J(F.object({
1713
- measures: F.array(W),
1714
- dataItemId: V,
1715
- dataPointSizeMaxPx: W.shape.dataPointSizeMaxPx
1716
- }), {
1717
- measures: t,
1718
- dataItemId: n,
1719
- dataPointSizeMaxPx: r
1720
- }, Z, "handleMeasureDataPointSizeMaxChange");
1721
- return i ? X(e, t, n, (e) => ({
1722
- ...e,
1723
- dataPointSizeMaxPx: r
1724
- })) : {
1725
- success: !1,
1726
- errorMessage: a
1727
- };
1728
- };
1729
- function zr(e, t, n, r, i) {
1730
- Z.info("handleMeasureSecondaryAxis input", {
1731
- measureDataItemId: n,
1732
- secondaryAxis: i
1733
- });
1734
- let { success: a, errorMessage: o } = J(F.object({
1735
- measures: F.array(W),
1736
- measureDataItemId: V,
1737
- secondaryAxis: W.shape.secondaryAxis
1738
- }), {
1739
- measures: t,
1740
- measureDataItemId: n,
1741
- secondaryAxis: i
1742
- }, Z, "handleMeasureSecondaryAxis");
1743
- if (!a) return {
1744
- success: !1,
1745
- errorMessage: o
1746
- };
1747
- let s = Ne(t, n, (e) => ({
1748
- ...e,
1749
- secondaryAxis: i
1750
- }));
1751
- return q(e, {
1752
- measures: s,
1753
- refLines: pe(s, r)
1754
- }), { success: !0 };
1755
- }
1756
- function Br(e, t, n, r) {
1757
- Z.info("handleDataLabelsBackdropColor input", {
1758
- measureDataItemId: n,
1759
- backdropColor: r
1760
- });
1761
- let { success: i, errorMessage: a } = J(F.object({
1762
- measures: F.array(W),
1763
- measureDataItemId: V,
1764
- backdropColor: W.shape.dataLabels.unwrap().shape.backdropColor
1765
- }), {
1766
- measures: t,
1767
- measureDataItemId: n,
1768
- backdropColor: r
1769
- }, Z, "handleDataLabelsBackdropColor");
1770
- return i ? X(e, t, n, (e) => ({
1771
- ...e,
1772
- dataLabels: {
1773
- ...e.dataLabels,
1774
- backdropColor: r
1775
- }
1776
- })) : {
1777
- success: !1,
1778
- errorMessage: a
1779
- };
1780
- }
1781
- function Vr(e, t, n, r) {
1782
- Z.info("handleDataLabelsShowBackdrop input", {
1783
- measureDataItemId: n,
1784
- showBackdrop: r
1785
- });
1786
- let { success: i, errorMessage: a } = J(F.object({
1787
- measures: F.array(W),
1788
- measureDataItemId: V,
1789
- showBackdrop: W.shape.dataLabels.unwrap().shape.showBackdrop
1790
- }), {
1791
- measures: t,
1792
- measureDataItemId: n,
1793
- showBackdrop: r
1794
- }, Z, "handleDataLabelsShowBackdrop");
1795
- return i ? X(e, t, n, (e) => ({
1796
- ...e,
1797
- dataLabels: {
1798
- ...e.dataLabels,
1799
- showBackdrop: r
1800
- }
1801
- })) : {
1802
- success: !1,
1803
- errorMessage: a
1804
- };
1805
- }
1806
- function Hr(e, t, n, r) {
1807
- Z.info("handleMeasureDataLabelsTextColor input", {
1808
- measureDataItemId: n,
1809
- textColor: r
1810
- });
1811
- let { success: i, errorMessage: a } = J(F.object({
1812
- measures: F.array(W),
1813
- measureDataItemId: V,
1814
- textColor: W.shape.dataLabels.unwrap().shape.textColor
1815
- }), {
1816
- measures: t,
1817
- measureDataItemId: n,
1818
- textColor: r
1819
- }, Z, "handleMeasureDataLabelsTextColor");
1820
- return i ? X(e, t, n, (e) => ({
1821
- ...e,
1822
- dataLabels: {
1823
- ...e.dataLabels,
1824
- textColor: r
1825
- }
1826
- })) : {
1827
- success: !1,
1828
- errorMessage: a
1829
- };
1830
- }
1831
- function Ur(e, t, n, r) {
1832
- Z.info("handleMeasureDataLabelsIsColored input", {
1833
- measureDataItemId: n,
1834
- isColored: r
1835
- });
1836
- let { success: i, errorMessage: a } = J(F.object({
1837
- measures: F.array(W),
1838
- measureDataItemId: V,
1839
- isColored: W.shape.dataLabels.unwrap().shape.isColored
1840
- }), {
1841
- measures: t,
1842
- measureDataItemId: n,
1843
- isColored: r
1844
- }, Z, "handleMeasureDataLabelsIsColored");
1845
- return i ? X(e, t, n, (e) => ({
1846
- ...e,
1847
- dataLabels: {
1848
- ...e.dataLabels,
1849
- isColored: r
1850
- }
1851
- })) : {
1852
- success: !1,
1853
- errorMessage: a
1854
- };
1855
- }
1856
- function Wr(e, t, n, r) {
1857
- Z.info("handleMeasureDataLabelsDensity input", {
1858
- measureDataItemId: n,
1859
- density: r
1860
- });
1861
- let { success: i, errorMessage: a } = J(F.object({
1862
- measures: F.array(W),
1863
- measureDataItemId: V,
1864
- density: W.shape.dataLabels.unwrap().shape.density
1865
- }), {
1866
- measures: t,
1867
- measureDataItemId: n,
1868
- density: r
1869
- }, Z, "handleMeasureDataLabelsDensity");
1870
- return i ? X(e, t, n, (e) => ({
1871
- ...e,
1872
- dataLabels: {
1873
- ...e.dataLabels,
1874
- density: r
1875
- }
1876
- })) : {
1877
- success: !1,
1878
- errorMessage: a
1879
- };
1880
- }
1881
- function Gr(e, t, n, r) {
1882
- Z.info("handleDataLabelsDisplayParts input", {
1883
- measureDataItemId: n,
1884
- displayParts: r
1885
- });
1886
- let i = [];
1887
- switch (r) {
1888
- case "Value":
1889
- i = [f.Value];
1890
- break;
1891
- case "Ratio":
1892
- i = [f.Ratio];
1893
- break;
1894
- case "Both":
1895
- i = [f.Value, f.Ratio];
1896
- break;
1897
- }
1898
- let { success: a, errorMessage: o } = J(F.object({
1899
- measures: F.array(W),
1900
- measureDataItemId: V,
1901
- displayParts: W.shape.dataLabels.unwrap().shape.displayParts
1902
- }), {
1903
- measures: t,
1904
- measureDataItemId: n,
1905
- displayParts: i
1906
- }, Z, "handleDataLabelsDisplayParts");
1907
- return a ? X(e, t, n, (e) => ({
1908
- ...e,
1909
- dataLabels: {
1910
- ...e.dataLabels,
1911
- displayParts: i
1912
- }
1913
- })) : {
1914
- success: !1,
1915
- errorMessage: o
1916
- };
1917
- }
1918
- function Kr(e, t, n, r) {
1919
- Z.info("handleMeasureDataLabelsBarPlacementsChange input", {
1920
- measure: n,
1921
- placements: r
1922
- });
1923
- let { success: i, errorMessage: a } = J(F.object({ placements: W.shape.dataLabels.unwrap().shape.barLabelPlacements }), { placements: r }, Z, "handleMeasureDataLabelsBarPlacementsChange");
1924
- return i ? X(e, t, P(n.dataItem), (e) => ({
1925
- ...e,
1926
- dataLabels: {
1927
- ...e.dataLabels,
1928
- barLabelPlacements: r
1929
- }
1930
- })) : {
1931
- success: !1,
1932
- errorMessage: a
1933
- };
1934
- }
1935
- function qr(e, t, n, r) {
1936
- Z.info("handleMeasureGraphColor input", {
1937
- measureDataItemId: n,
1938
- graphColor: r
1939
- });
1940
- let { success: i, errorMessage: a } = J(F.object({
1941
- measures: F.array(W),
1942
- measureDataItemId: V,
1943
- graphColor: W.shape.graphColor
1944
- }), {
1945
- measures: t,
1946
- measureDataItemId: n,
1947
- graphColor: r
1948
- }, Z, "handleMeasureGraphColor");
1949
- return i ? X(e, t, n, (e) => ({
1950
- ...e,
1951
- graphColor: r
1952
- })) : {
1953
- success: !1,
1954
- errorMessage: a
1955
- };
1956
- }
1957
- function Jr(e, t, n, r, i) {
1958
- Z.info("handleMeasuresParameterChange input", {
1959
- measureDataItemId: n,
1960
- variableName: r,
1961
- value: i
1962
- });
1963
- let { success: a, errorMessage: o } = J(F.object({
1964
- measures: F.array(W),
1965
- measureDataItemId: V,
1966
- variableName: F.string(),
1967
- value: tn.optional()
1968
- }), {
1969
- measures: t,
1970
- measureDataItemId: n,
1971
- variableName: r,
1972
- value: i
1973
- }, Z, "handleMeasuresParameterChange");
1974
- return a ? X(e, t, n, (e) => {
1975
- let { [r]: t, ...n } = e.parameters || {};
1976
- return i === void 0 ? {
1977
- ...e,
1978
- parameters: n
1979
- } : {
1980
- ...e,
1981
- parameters: {
1982
- ...n,
1983
- [r]: i
1984
- }
1985
- };
1986
- }) : {
1987
- success: !1,
1988
- errorMessage: o
1989
- };
1990
- }
1991
- function Yr(e, t, n, r) {
1992
- Z.info("handleMeasureGraphType input", {
1993
- measure: n,
1994
- graphType: r
1995
- });
1996
- let { success: i, errorMessage: a } = J(F.object({ graphType: W.shape.graphType }), { graphType: r }, Z, "handleMeasureGraphType");
1997
- if (!i) return {
1998
- success: !1,
1999
- errorMessage: a
2000
- };
2001
- let o = Ne(t, P(n.dataItem), (e) => ({
2002
- ...e,
2003
- graphType: r
2004
- }));
2005
- if (r === je.Bar) {
2006
- let e = o.find((e) => e.graphType === je.Bar), t = e?.secondaryAxis ?? !1, n = o.filter((n) => n.graphType === je.Bar && n !== e && n.secondaryAxis !== t).map((e) => P(e.dataItem));
2007
- n?.length && (o = o.map((e) => n.includes(P(e.dataItem)) ? {
2008
- ...e,
2009
- secondaryAxis: t
2010
- } : e));
2011
- }
2012
- return X(e, o, null, (e) => e);
2013
- }
2014
- var Xr = /* @__PURE__ */ e(Fe()), Q = Ie("dimension-handlers", "#aaa69d"), Zr = (e, t, n, r, i, a = [], o, s, c, l, u) => {
2015
- Q.info("handleDimensionAdd input", {
2016
- field: o,
2017
- dimensions: t,
2018
- measures: n,
2019
- chartType: r,
2020
- referencedData: i,
2021
- sortingOrder: a,
2022
- role: s,
2023
- coloringSideEffectsFn: l
2024
- });
2025
- let { success: d, errorMessage: f } = J(F.object({
2026
- dimensions: F.array(U),
2027
- measures: F.array(W),
2028
- chartType: F.string(),
2029
- referencedData: yn,
2030
- sortingOrder: G.shape.sortingOrder,
2031
- field: jt,
2032
- role: F.enum(oe).optional()
2033
- }), {
2034
- dimensions: t,
2035
- measures: n,
2036
- chartType: r,
2037
- referencedData: i,
2038
- sortingOrder: a,
2039
- field: o,
2040
- role: s
2041
- }, Q, "handleDimensionAdd");
2042
- if (!d) return {
2043
- success: !1,
2044
- errorMessage: f
2045
- };
2046
- let { newReferencedData: p, newDimension: m, newSorting: h } = ar(o, s, i, a ?? [], t, c);
2047
- Q.debug("[handleDimensionAdd] adding new dimension", {
2048
- newDimension: m,
2049
- oldSorting: a,
2050
- newSorting: h,
2051
- newReferencedData: p
2052
- });
2053
- let g = [...structuredClone(t), m], { dimensions: _, measures: v } = A(g, n, r, {
2054
- type: M.ENABLE,
2055
- dataItemId: P(m.dataItem)
2056
- }, { alternateSettings: u }), y = l?.({
2057
- dimensions: _,
2058
- measures: v
2059
- });
2060
- return Q.debug("[handleDimensionAdd] new dimension created", {
2061
- newDimension: m,
2062
- newDimensions: g,
2063
- adjustedDimensions: _,
2064
- adjustedMeasures: v,
2065
- newColoring: y
2066
- }), q(e, {
2067
- referencedData: p,
2068
- dimensions: _,
2069
- measures: v,
2070
- querySettings: { sortingOrder: h },
2071
- ...y ? { coloring: y } : {}
2072
- }), {
2073
- success: !0,
2074
- data: m
2075
- };
2076
- }, Qr = (e, t, n, r, i = [], a, o, s, c, u, d, f) => {
2077
- Q.info("handleDimensionAddForEngineKey input", {
2078
- dimensions: t,
2079
- measures: n,
2080
- chartType: r,
2081
- referencedData: o,
2082
- sortingOrder: i,
2083
- engineKey: s,
2084
- role: c,
2085
- coloringSideEffectsFn: d,
2086
- availableFields: a
2087
- });
2088
- let { success: p, errorMessage: m } = J(F.object({
2089
- dimensions: F.array(U),
2090
- measures: F.array(W),
2091
- chartType: F.string(),
2092
- referencedData: yn,
2093
- sortingOrder: G.shape.sortingOrder,
2094
- engineKey: F.string(),
2095
- role: F.enum(oe).optional()
2096
- }), {
2097
- dimensions: t,
2098
- measures: n,
2099
- chartType: r,
2100
- referencedData: o,
2101
- sortingOrder: i,
2102
- engineKey: s,
2103
- role: c
2104
- }, Q, "handleDimensionAddForEngineKey");
2105
- if (!p) return {
2106
- success: !1,
2107
- errorMessage: m
2108
- };
2109
- let h = l(a, s);
2110
- if (!h) return {
2111
- success: !1,
2112
- errorMessage: `Field with engine key ${s} not found`
2113
- };
2114
- let g = i ?? [], { newReferencedData: _, newDimension: v, newSorting: y } = ar(h, c, o, g, t, u);
2115
- Q.debug("[handleDimensionAddForEngineKey] adding new dimension", {
2116
- newDimension: v,
2117
- oldSorting: g,
2118
- newSorting: y,
2119
- newReferencedData: _
2120
- });
2121
- let b = [...structuredClone(t), v], { dimensions: x, measures: S } = A(b, n, r, {
2122
- type: M.ENABLE,
2123
- dataItemId: P(v.dataItem)
2124
- }, { alternateSettings: f }), C = d?.({
2125
- dimensions: x,
2126
- measures: S
2127
- });
2128
- return Q.debug("[handleDimensionAddForEngineKey] new dimension created", {
2129
- newDimension: v,
2130
- newDimensions: b,
2131
- adjustedDimensions: x,
2132
- adjustedMeasures: S,
2133
- newColoring: C
2134
- }), q(e, {
2135
- referencedData: _,
2136
- dimensions: x,
2137
- measures: S,
2138
- querySettings: { sortingOrder: y },
2139
- ...C ? { coloring: C } : {}
2140
- }), {
2141
- success: !0,
2142
- data: v
2143
- };
2144
- }, $r = (e, t, n, r, i, a = [], o, s, c, l) => {
2145
- Q.info("handleDimensionRemove input", {
2146
- dimensions: t,
2147
- dataItemId: i,
2148
- sortingOrder: a,
2149
- coloringSideEffectsFn: s
2150
- });
2151
- let { success: u, errorMessage: d } = J(F.object({
2152
- dimensions: F.array(U),
2153
- measures: F.array(W),
2154
- chartType: F.string(),
2155
- dataItemId: Array.isArray(i) ? F.array(V) : V,
2156
- sortingOrder: G.shape.sortingOrder
2157
- }), {
2158
- dimensions: t,
2159
- measures: n,
2160
- chartType: r,
2161
- dataItemId: i,
2162
- sortingOrder: a
2163
- }, Q, "handleDimensionRemove");
2164
- if (!u) return {
2165
- success: !1,
2166
- errorMessage: d
2167
- };
2168
- let f = Array.isArray(i) ? i : [i], p = structuredClone(t).filter((e) => !f.includes(P(e.dataItem))), m = structuredClone(a).filter((e) => e.dataItem === null || !f.includes(P(e.dataItem))), h = structuredClone(c)?.filter((e) => !f.includes(P(e.dataItem))), g = o?.dimensionIdx ?? null;
2169
- if (g !== null) {
2170
- let e = t[g];
2171
- if (!(0, Xr.default)(e, p[g])) {
2172
- let t = p.findIndex((t) => (0, Xr.default)(t, e));
2173
- g = t === -1 ? null : t;
2174
- }
2175
- }
2176
- let { dimensions: _, measures: v } = A(p, n, r, { type: M.FIX_STATE }, { alternateSettings: l }), y = s?.({
2177
- dimensions: _,
2178
- measures: v
2179
- });
2180
- return Q.debug("[handleDimensionRemove] removing dimension(s)", {
2181
- newDimensions: p,
2182
- adjustedDimensions: _,
2183
- adjustedMeasures: v,
2184
- newSorting: m,
2185
- newColoring: y
2186
- }), q(e, {
2187
- dimensions: _,
2188
- measures: v,
2189
- querySettings: {
2190
- sortingOrder: m,
2191
- topN: {
2192
- ...o,
2193
- dimensionIdx: g
2194
- }
2195
- },
2196
- ...y ? { coloring: y } : {},
2197
- grid: h
2198
- }), { success: !0 };
2199
- }, ei = (e, t, n, r, i) => {
2200
- Q.info("handleDimensionChangeForDataItemId input", {
2201
- dimensions: t,
2202
- dataItemId: n,
2203
- changes: r,
2204
- coloringSideEffectsFn: i
2205
- });
2206
- let { success: a, errorMessage: o } = J(F.object({
2207
- dimensions: F.array(U),
2208
- dataItemId: V,
2209
- changes: F.object({
2210
- customLabel: F.object({
2211
- enabled: F.boolean(),
2212
- value: F.string().optional()
2213
- }).optional(),
2214
- showNullValues: F.boolean().optional()
2215
- })
2216
- }), {
2217
- dimensions: t,
2218
- dataItemId: n,
2219
- changes: r
2220
- }, Q, "handleDimensionChangeForDataItemId");
2221
- if (!a) return {
2222
- success: !1,
2223
- errorMessage: o
2224
- };
2225
- let s = structuredClone(t).map((e) => {
2226
- if (P(e.dataItem) === n) {
2227
- let t = structuredClone(e);
2228
- return r.customLabel !== void 0 && r.customLabel !== null && (t.customLabel = {
2229
- enabled: r.customLabel.enabled,
2230
- value: r.customLabel.value
2231
- }), r.showNullValues !== void 0 && r.showNullValues !== null && (t.showNullValues = r.showNullValues), t;
2232
- }
2233
- return e;
2234
- }), c = i?.({ dimensions: s });
2235
- return Q.debug("[handleDimensionChangeForDataItemId] updating dimension", {
2236
- newDimensions: s,
2237
- newColoring: c
2238
- }), q(e, {
2239
- dimensions: s,
2240
- ...c ? { coloring: c } : {}
2241
- }), { success: !0 };
2242
- }, ti = (e, t, n, r, i, a, o, s = !1, c) => {
2243
- Q.info("handleDimensionToggle input", {
2244
- dimensions: t,
2245
- dataItemId: i,
2246
- enabled: a,
2247
- coloringSideEffectsFn: o,
2248
- fixStateOnDisable: s
2249
- });
2250
- let { success: l, errorMessage: u } = J(F.object({
2251
- dimensions: F.array(U),
2252
- measures: F.array(W),
2253
- chartType: F.string(),
2254
- dataItemId: V,
2255
- enabled: F.boolean()
2256
- }), {
2257
- dimensions: t,
2258
- measures: n,
2259
- chartType: r,
2260
- dataItemId: i,
2261
- enabled: a
2262
- }, Q, "handleDimensionToggle");
2263
- if (!l) return {
2264
- success: !1,
2265
- errorMessage: u
2266
- };
2267
- if (i === null) return {
2268
- success: !1,
2269
- errorMessage: "Data item ID is required"
2270
- };
2271
- let d = structuredClone(t), { dimensions: f, measures: p } = A(d, n, r, {
2272
- type: a ? M.ENABLE : M.DISABLE,
2273
- dataItemId: i
2274
- }, {
2275
- fixStateOnDisable: s,
2276
- alternateSettings: c
2277
- }), m = o?.({
2278
- dimensions: f,
2279
- measures: p
2280
- });
2281
- return Q.debug("[handleDimensionToggle] updating dimension", {
2282
- newDimensions: d,
2283
- adjustedDimensions: f,
2284
- adjustedMeasures: p,
2285
- newColoring: m
2286
- }), q(e, {
2287
- dimensions: f,
2288
- measures: p,
2289
- ...m ? { coloring: m } : {}
2290
- }), { success: !0 };
2291
- }, ni = (e, t, n, r, i, a, o, s) => {
2292
- Q.info("handleToggleDimensionsByNames input", {
2293
- dimensions: t,
2294
- name: i,
2295
- enabled: a,
2296
- coloringSideEffectsFn: o
2297
- });
2298
- let c = t.filter((e) => e.label === i);
2299
- if (c.length === 0) return Q.info("[handleToggleDimensionsByNames] No matching dimensions found, nothing to toggle", { name: i }), { success: !0 };
2300
- let l = [];
2301
- c.forEach((e) => {
2302
- let i = P(e.dataItem), c = a === void 0 ? !e.enabled : a;
2303
- l.push((e, a) => ti(e, a.dimensions ?? t, a.measures ?? n, r, i, c, o, !1, s));
2304
- });
2305
- let u = Y(l);
2306
- return u.success ? (Q.debug("[handleToggleDimensionsByNames] updated dimensions", { newDimensions: u.vSpecPartial.dimensions }), q(e, u.vSpecPartial), { success: !0 }) : {
2307
- success: !1,
2308
- errorMessage: u?.errorMessage
2309
- };
2310
- }, ri = (e, t, n, r, i, a, o, s) => {
2311
- Q.info("handleDimensionDuplicate input", {
2312
- dimensions: t,
2313
- dataItemId: i,
2314
- coloringSideEffectsFn: a,
2315
- sortingOrder: s
2316
- });
2317
- let { success: c, errorMessage: l } = J(F.object({
2318
- dimensions: F.array(U),
2319
- measures: F.array(W),
2320
- chartType: F.string(),
2321
- dataItemId: Array.isArray(i) ? F.array(V) : V,
2322
- sortingOrder: G.shape.sortingOrder.optional()
2323
- }), {
2324
- dimensions: t,
2325
- measures: n,
2326
- chartType: r,
2327
- dataItemId: i,
2328
- sortingOrder: s
2329
- }, Q, "handleDimensionDuplicate");
2330
- if (!c) return {
2331
- success: !1,
2332
- errorMessage: l
2333
- };
2334
- let u = Array.isArray(i) ? i : [i], d = structuredClone(t), f = u.map((e) => d.find((t) => P(t.dataItem) === e)).filter((e) => e !== void 0).map((e) => {
2335
- let t = structuredClone(e);
2336
- return t.dataItem.uniqueSignature = E(), t;
2337
- }), p = [...d, ...f], m = s ? [...s, ...f.map((e, t) => $n(e, s.length === 0 && t === 0))] : void 0;
2338
- Q.debug("[handleDimensionDuplicate] duplicating dimension(s)", {
2339
- newDimensions: p,
2340
- newSorting: m
2341
- });
2342
- let h = structuredClone(p), g = structuredClone(n);
2343
- for (let e of f) {
2344
- let { dimensions: t, measures: i } = A(h, n, r, {
2345
- type: M.ENABLE,
2346
- dataItemId: P(e.dataItem)
2347
- }, { alternateSettings: o });
2348
- h = t, g = i;
2349
- }
2350
- let _ = a?.({
2351
- dimensions: h,
2352
- measures: g
2353
- });
2354
- return Q.debug("[handleDimensionDuplicate] adjusted dimensions", {
2355
- newDimensions: p,
2356
- newDimensionsAfterAdjustment: h,
2357
- newColoring: _
2358
- }), q(e, {
2359
- dimensions: h,
2360
- measures: g,
2361
- ...m ? { querySettings: { sortingOrder: m } } : {},
2362
- ..._ ? { coloring: _ } : {}
2363
- }), { success: !0 };
2364
- }, ii = (e, n, r, i = [], a, o, s) => {
2365
- Q.info("handleDimensionFieldChange input", {
2366
- dimensions: n,
2367
- dataItemId: r,
2368
- newField: o,
2369
- sortingOrder: i,
2370
- coloringSideEffectsFn: s
2371
- });
2372
- let { success: c, errorMessage: l } = J(F.object({
2373
- dimensions: F.array(U),
2374
- dataItemId: V,
2375
- newField: jt
2376
- }), {
2377
- dimensions: n,
2378
- dataItemId: r,
2379
- newField: o
2380
- }, Q, "handleDimensionFieldChange");
2381
- if (!c) return {
2382
- success: !1,
2383
- errorMessage: l
2384
- };
2385
- let u = n.findIndex((e) => P(e.dataItem) === r), d = i.findIndex((e) => P(e.dataItem) === r), { key: f, newReferencedData: p } = Se(a, o), m = ve(structuredClone(n).map((e) => P(e.dataItem) === r ? {
2386
- ...e,
2387
- label: Pe(o),
2388
- description: t(o),
2389
- dataItem: Oe(o, f)
2390
- } : e)), h = s?.({ dimensions: m }), g = m[u], _ = [...i];
2391
- return d > -1 && (_[d] = $n(g, i[d]?.enabled)), Q.debug("[handleDimensionFieldChange] updating dimension", {
2392
- newReferencedData: p,
2393
- newDimensions: m,
2394
- newColoring: h
2395
- }), q(e, {
2396
- referencedData: p,
2397
- dimensions: m,
2398
- ...h ? { coloring: h } : {},
2399
- querySettings: { sortingOrder: _ }
2400
- }), {
2401
- success: !0,
2402
- data: g
2403
- };
2404
- }, ai = Ie("histogram-data-handlers", "#76ff03");
2405
- function oi(e, t, n, r, i, o, s, c, l) {
2406
- ai.info("handleHistogramDimensionAdd input", { field: s });
2407
- let { success: u, errorMessage: d } = J(F.object({
2408
- dimensions: F.array(U),
2409
- measures: F.array(W),
2410
- sortingOrder: G.shape.sortingOrder,
2411
- field: jt
2412
- }), {
2413
- dimensions: t,
2414
- measures: n,
2415
- sortingOrder: o,
2416
- field: s
2417
- }, ai, "handleHistogramDimensionAdd");
2418
- if (!u) return {
2419
- success: !1,
2420
- errorMessage: d
2421
- };
2422
- let f = s;
2423
- if (N(s)) {
2424
- let { fieldKey: e, schema: t = "", view: n, name: r, resultType: i } = s.dimension ?? {};
2425
- f = {
2426
- key: e,
2427
- schema: t,
2428
- view: n,
2429
- name: r,
2430
- dataType: i === void 0 ? void 0 : a[i],
2431
- aggregators: []
2432
- };
2433
- }
2434
- let p = [(e, a) => Zr(e, t, n, r, i, a.querySettings?.sortingOrder ?? o ?? [], s, void 0, nr(s), l)], h = Y(p);
2435
- if (!h.success) return {
2436
- success: !1,
2437
- errorMessage: h.errorMessage
2438
- };
2439
- let g = h.results[0], _ = g?.success ? g.data : void 0;
2440
- p = [(e) => wr(e, [], h.vSpecPartial?.dimensions, r, h.vSpecPartial?.querySettings?.sortingOrder ?? o ?? [], h.vSpecPartial?.referencedData ?? i, m(f), void 0, c, "COUNT", void 0, l)];
2441
- let v = Y(p);
2442
- return v.success ? (q(e, v.vSpecPartial), {
2443
- success: !0,
2444
- data: _
2445
- }) : {
2446
- success: !1,
2447
- errorMessage: v.errorMessage
2448
- };
2449
- }
2450
- function si(e, t, n, r, i, a, o, c, l, u, d, f) {
2451
- ai.info("handleHistogramDimensionRemove input", { dataItemId: i });
2452
- let { success: p, errorMessage: h } = J(F.object({ dataItemId: Array.isArray(i) ? F.array(V) : V }), { dataItemId: i }, ai, "handleHistogramDimensionRemove");
2453
- if (!p) return {
2454
- success: !1,
2455
- errorMessage: h
2456
- };
2457
- let g = [];
2458
- g.push((e, a) => $r(e, t, n, r, i, a.querySettings?.sortingOrder ?? l ?? [], u, d, a.grid ?? f));
2459
- let _ = Y(g), v = _.vSpecPartial.dimensions, y = _.vSpecPartial.measures;
2460
- if (!v || !y) return {
2461
- success: !1,
2462
- errorMessage: "Removing the dimension did not produce updated dimensions and measures"
2463
- };
2464
- if (g = [], v.length > 0) {
2465
- let e = v.find((e) => T(e));
2466
- if (e) {
2467
- let t = s(a, o, e.dataItem.internalKey);
2468
- if (!t) return {
2469
- success: !1,
2470
- errorMessage: `No data field found for internal key ${e.dataItem.internalKey}`
2471
- };
2472
- g.push((e) => wr(e, [], v, r, _.vSpecPartial?.querySettings?.sortingOrder ?? l ?? [], o, m(t), void 0, c, "COUNT", void 0, d));
2473
- } else {
2474
- let e = y.map((e) => P(e.dataItem));
2475
- g.push((t) => Er(t, y, v, r, e, _.vSpecPartial?.querySettings?.sortingOrder ?? l ?? [], void 0, d, f));
2476
- }
2477
- } else {
2478
- let e = y.map((e) => P(e.dataItem));
2479
- g.push((t) => Er(t, y, v, r, e, _.vSpecPartial?.querySettings?.sortingOrder ?? l ?? [], void 0, d, f));
2480
- }
2481
- let b = Y(g);
2482
- return b.success ? (q(e, b.vSpecPartial), { success: !0 }) : {
2483
- success: !1,
2484
- errorMessage: b.errorMessage
2485
- };
2486
- }
2487
- var ci = (e, t, n, r, i, a, o, c, l, u) => {
2488
- ai.info("handleHistogramDimensionToggle input", {
2489
- dataItemId: i,
2490
- enabled: a
2491
- });
2492
- let { success: d, errorMessage: f } = J(F.object({
2493
- dimensions: F.array(U),
2494
- measures: F.array(W),
2495
- chartType: F.string(),
2496
- dataItemId: V,
2497
- enabled: F.boolean()
2498
- }), {
2499
- dimensions: t,
2500
- measures: n,
2501
- chartType: r,
2502
- dataItemId: i,
2503
- enabled: a
2504
- }, ai, "handleHistogramDimensionToggle");
2505
- if (!d) return {
2506
- success: !1,
2507
- errorMessage: f
2508
- };
2509
- let p = [];
2510
- p.push((e) => ti(e, t, n, r, i, a, u));
2511
- let h = Y(p);
2512
- if (!h.success) return {
2513
- success: !1,
2514
- errorMessage: h.errorMessage
2515
- };
2516
- let g = h.vSpecPartial.dimensions, _ = h.vSpecPartial.measures;
2517
- if (!g || !_) return {
2518
- success: !1,
2519
- errorMessage: "Toggling the dimension did not produce updated dimensions and measures"
2520
- };
2521
- p = [];
2522
- let v = g.find((e) => T(e));
2523
- if (v) {
2524
- let e = s(o, c, v.dataItem.internalKey);
2525
- if (!e) return {
2526
- success: !1,
2527
- errorMessage: `No data field found for internal key ${v.dataItem.internalKey}`
2528
- };
2529
- p.push((t) => wr(t, [], g, r, h.vSpecPartial?.querySettings?.sortingOrder ?? [], c, m(e), void 0, l, "COUNT", void 0, u));
2530
- } else {
2531
- let e = _.map((e) => P(e.dataItem));
2532
- p.push((i) => Er(i, n, t, r, e, h.vSpecPartial?.querySettings?.sortingOrder ?? [], void 0, u));
2533
- }
2534
- let y = Y(p);
2535
- return y.success ? (q(e, y.vSpecPartial), { success: !0 }) : {
2536
- success: !1,
2537
- errorMessage: y.errorMessage
2538
- };
2539
- }, $ = Ie("line-chart-data-handlers", "#76ff03"), li = (e, t, n, r, i, a, o, s, c, l, u, d) => {
2540
- $.info("handleLineChartDimensionAddForEngineKey input", { engineKey: s });
2541
- let f = Y([(e) => Qr(e, t, n, r, i, a, o, s, c, l, u, d)]);
2542
- if (!f.success) return {
2543
- success: !1,
2544
- errorMessage: f.errorMessage
2545
- };
2546
- let p = f.vSpecPartial?.dimensions ?? t;
2547
- if (!w(p.filter(T))) {
2548
- let e = k(f.vSpecPartial?.measures ?? n);
2549
- f.vSpecPartial = {
2550
- ...f.vSpecPartial,
2551
- measures: e
2552
- };
2553
- }
2554
- q(e, f.vSpecPartial);
2555
- let m = new Set(t.map((e) => P(e.dataItem))), h = p.find((e) => !m.has(P(e.dataItem)));
2556
- return h ? {
2557
- success: !0,
2558
- data: h
2559
- } : {
2560
- success: !1,
2561
- errorMessage: "Line dimension add did not create a dimension."
2562
- };
2563
- }, ui = (e, t, n, r, i, a, o, s, c, l) => {
2564
- $.info("handleLineChartDimensionRemove input", { dataItemId: i });
2565
- let u = Y([(e) => $r(e, t, n, r, i, a, o, s, c, l)]);
2566
- if (!u.success) return {
2567
- success: !1,
2568
- errorMessage: u.errorMessage
2569
- };
2570
- if (!w((u.vSpecPartial?.dimensions ?? t).filter(T))) {
2571
- let e = k(u.vSpecPartial?.measures ?? n);
2572
- u.vSpecPartial = {
2573
- ...u.vSpecPartial,
2574
- measures: e
2575
- };
2576
- }
2577
- return q(e, u.vSpecPartial), { success: !0 };
2578
- }, di = (e, t, n, r, i, a, o, s = !1, c) => {
2579
- $.info("handleLineChartDimensionToggle input", {
2580
- dataItemId: i,
2581
- enabled: a
2582
- });
2583
- let l = Y([(e) => ti(e, t, n, r, i, a, o, s, c)]);
2584
- if (!l.success) return {
2585
- success: !1,
2586
- errorMessage: l.errorMessage
2587
- };
2588
- if (!w((l.vSpecPartial?.dimensions ?? t).filter(T))) {
2589
- let e = k(l.vSpecPartial?.measures ?? n);
2590
- l.vSpecPartial = {
2591
- ...l.vSpecPartial,
2592
- measures: e
2593
- };
2594
- }
2595
- return q(e, l.vSpecPartial), { success: !0 };
2596
- }, fi = (e, t, n, r, i, a, o, s) => {
2597
- $.info("handleLineChartDimensionDuplicate input", { dataItemId: i });
2598
- let c = Y([(e) => ri(e, t, n, r, i, a, o, s)]);
2599
- if (!c.success) return {
2600
- success: !1,
2601
- errorMessage: c.errorMessage
2602
- };
2603
- if (!w((c.vSpecPartial?.dimensions ?? t).filter(T))) {
2604
- let e = k(c.vSpecPartial?.measures ?? n);
2605
- c.vSpecPartial = {
2606
- ...c.vSpecPartial,
2607
- measures: e
2608
- };
2609
- }
2610
- return q(e, c.vSpecPartial), { success: !0 };
2611
- }, pi = (e, t, n, r, i, a, o, s, c, l, u, d, f, p, m) => {
2612
- $.info("handleLineChartMeasureAddForEngineKey input", { engineKey: s });
2613
- let h = Y([(e) => Tr(e, t, n, r, i, a, o, s, c, l, u, d, f, p, m, ae)]);
2614
- if (!h.success) return {
2615
- success: !1,
2616
- errorMessage: h.errorMessage
2617
- };
2618
- if (!w((h.vSpecPartial?.dimensions ?? n).filter(T))) {
2619
- let e = k(h.vSpecPartial?.measures ?? t);
2620
- h.vSpecPartial = {
2621
- ...h.vSpecPartial,
2622
- measures: e
2623
- };
2624
- }
2625
- q(e, h.vSpecPartial);
2626
- let g = h.vSpecPartial?.measures ?? t, _ = new Set(t.map((e) => P(e.dataItem))), v = g.find((e) => !_.has(P(e.dataItem)));
2627
- return v ? {
2628
- success: !0,
2629
- data: v
2630
- } : {
2631
- success: !1,
2632
- errorMessage: "Line measure add did not create a measure."
2633
- };
2634
- }, mi = (e, t, n, r, i, a, o, s, c, l) => {
2635
- $.info("handleLineChartMeasureRemove input", { dataItemId: i });
2636
- let u = Y([(e) => Er(e, t, n, r, i, a, o, s, c, l)]);
2637
- if (!u.success) return {
2638
- success: !1,
2639
- errorMessage: u.errorMessage
2640
- };
2641
- if (!w((u.vSpecPartial?.dimensions ?? n).filter(T))) {
2642
- let e = k(u.vSpecPartial?.measures ?? t);
2643
- u.vSpecPartial = {
2644
- ...u.vSpecPartial,
2645
- measures: e
2646
- };
2647
- }
2648
- return q(e, u.vSpecPartial), { success: !0 };
2649
- }, hi = (e, t, n, r, i, a, o, s, c = !1, l) => {
2650
- $.info("handleLineChartMeasureToggle input", {
2651
- dataItemId: a,
2652
- enabled: o
2653
- });
2654
- let u = Y([(e) => Or(e, t, n, r, i, a, o, s, c, l)]);
2655
- if (!u.success) return {
2656
- success: !1,
2657
- errorMessage: u.errorMessage
2658
- };
2659
- if (!w((u.vSpecPartial?.dimensions ?? n).filter(T))) {
2660
- let e = k(u.vSpecPartial?.measures ?? t);
2661
- u.vSpecPartial = {
2662
- ...u.vSpecPartial,
2663
- measures: e
2664
- };
2665
- }
2666
- return q(e, u.vSpecPartial), { success: !0 };
2667
- }, gi = (e, t, n, r, i, a, o, s) => {
2668
- $.info("handleLineChartMeasureDuplicate input", { dataItemId: i });
2669
- let c = Y([(e) => Ar(e, t, n, r, i, a, o, s)]);
2670
- if (!c.success) return {
2671
- success: !1,
2672
- errorMessage: c.errorMessage
2673
- };
2674
- if (!w((c.vSpecPartial?.dimensions ?? n).filter(T))) {
2675
- let e = k(c.vSpecPartial?.measures ?? t);
2676
- c.vSpecPartial = {
2677
- ...c.vSpecPartial,
2678
- measures: e
2679
- };
2680
- }
2681
- return q(e, c.vSpecPartial), { success: !0 };
2682
- }, _i = class extends Ke {};
2683
- export { _r as $, en as $t, Vr as A, dt as An, Bn as At, Pr as B, Xe as Bn, hn as Bt, Mr as C, vt as Cn, In as Ct, Wr as D, ht as Dn, zn as Dt, Kr as E, gt as En, Rn as Et, Lr as F, R as Fn, Cn as Ft, Jr as G, cn as Gt, zr as H, Je as Hn, _n as Ht, Ar as I, L as In, Sn as It, X as J, sn as Jt, kr as K, ln as Kt, jr as L, tt as Ln, yn as Lt, Fr as M, z as Mn, Hn as Mt, Ir as N, at as Nn, Tn as Nt, Gr as O, B as On, Un as Ot, Rr as P, it as Pn, wn as Pt, vr as Q, $t as Qt, qr as R, $e as Rn, vn as Rt, Tr as S, _t as Sn, Fn as St, Br as T, yt as Tn, Ln as Tt, Nr as U, qe as Un, mn as Ut, Er as V, Ye as Vn, pn as Vt, Or as W, gn as Wt, xr as X, W as Xt, yr as Y, tn as Yt, Sr as Z, on as Zt, ii as _, V as _n, Mn as _t, di as a, Kt as an, sr as at, ni as b, xt as bn, Nn as bt, mi as c, Ht as cn, $n as ct, si as d, It as dn, q as dt, Zt as en, Y as et, ci as f, Pt as fn, qn as ft, ri as g, wt as gn, kn as gt, ei as h, jt as hn, On as ht, ui as i, Wt as in, lr as it, Hr as j, pt as jn, Vn as jt, Ur as k, ft as kn, Wn as kt, hi as l, Vt as ln, er as lt, Qr as m, Mt as mn, Gn as mt, li as n, Jt as nn, ur as nt, pi as o, Gt as on, ar as ot, Zr as p, Nt as pn, Kn as pt, Cr as q, nn as qt, fi as r, qt as rn, fr as rt, gi as s, Ut as sn, nr as st, _i as t, Qt as tn, mr as tt, oi as u, U as un, J as ut, $r as v, Dt as vn, An as vt, Dr as w, mt as wn, Dn as wt, wr as x, bt as xn, Pn as xt, ti as y, Tt as yn, jn as yt, Yr as z, Ze as zn, G as zt };