@gooddata/sdk-code-convertors 11.28.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -0
- package/README.md +42 -0
- package/esm/configs/areaChart.d.ts +113 -0
- package/esm/configs/areaChart.d.ts.map +1 -0
- package/esm/configs/areaChart.js +232 -0
- package/esm/configs/areaChart.js.map +1 -0
- package/esm/configs/barChart.d.ts +101 -0
- package/esm/configs/barChart.d.ts.map +1 -0
- package/esm/configs/barChart.js +210 -0
- package/esm/configs/barChart.js.map +1 -0
- package/esm/configs/bubbleChart.d.ts +93 -0
- package/esm/configs/bubbleChart.d.ts.map +1 -0
- package/esm/configs/bubbleChart.js +186 -0
- package/esm/configs/bubbleChart.js.map +1 -0
- package/esm/configs/bulletChart.d.ts +87 -0
- package/esm/configs/bulletChart.d.ts.map +1 -0
- package/esm/configs/bulletChart.js +174 -0
- package/esm/configs/bulletChart.js.map +1 -0
- package/esm/configs/columnChart.d.ts +101 -0
- package/esm/configs/columnChart.d.ts.map +1 -0
- package/esm/configs/columnChart.js +210 -0
- package/esm/configs/columnChart.js.map +1 -0
- package/esm/configs/comboChart.d.ts +155 -0
- package/esm/configs/comboChart.d.ts.map +1 -0
- package/esm/configs/comboChart.js +355 -0
- package/esm/configs/comboChart.js.map +1 -0
- package/esm/configs/dependencyWheelChart.d.ts +37 -0
- package/esm/configs/dependencyWheelChart.d.ts.map +1 -0
- package/esm/configs/dependencyWheelChart.js +81 -0
- package/esm/configs/dependencyWheelChart.js.map +1 -0
- package/esm/configs/donutChart.d.ts +47 -0
- package/esm/configs/donutChart.d.ts.map +1 -0
- package/esm/configs/donutChart.js +96 -0
- package/esm/configs/donutChart.js.map +1 -0
- package/esm/configs/funnelChart.d.ts +47 -0
- package/esm/configs/funnelChart.d.ts.map +1 -0
- package/esm/configs/funnelChart.js +96 -0
- package/esm/configs/funnelChart.js.map +1 -0
- package/esm/configs/geoAreaChart.d.ts +62 -0
- package/esm/configs/geoAreaChart.d.ts.map +1 -0
- package/esm/configs/geoAreaChart.js +123 -0
- package/esm/configs/geoAreaChart.js.map +1 -0
- package/esm/configs/geoChart.d.ts +49 -0
- package/esm/configs/geoChart.d.ts.map +1 -0
- package/esm/configs/geoChart.js +157 -0
- package/esm/configs/geoChart.js.map +1 -0
- package/esm/configs/headlineChart.d.ts +89 -0
- package/esm/configs/headlineChart.d.ts.map +1 -0
- package/esm/configs/headlineChart.js +124 -0
- package/esm/configs/headlineChart.js.map +1 -0
- package/esm/configs/heatmapChart.d.ts +75 -0
- package/esm/configs/heatmapChart.d.ts.map +1 -0
- package/esm/configs/heatmapChart.js +158 -0
- package/esm/configs/heatmapChart.js.map +1 -0
- package/esm/configs/lineChart.d.ts +135 -0
- package/esm/configs/lineChart.d.ts.map +1 -0
- package/esm/configs/lineChart.js +294 -0
- package/esm/configs/lineChart.js.map +1 -0
- package/esm/configs/pieChart.d.ts +47 -0
- package/esm/configs/pieChart.d.ts.map +1 -0
- package/esm/configs/pieChart.js +96 -0
- package/esm/configs/pieChart.js.map +1 -0
- package/esm/configs/pyramidChart.d.ts +47 -0
- package/esm/configs/pyramidChart.d.ts.map +1 -0
- package/esm/configs/pyramidChart.js +96 -0
- package/esm/configs/pyramidChart.js.map +1 -0
- package/esm/configs/repeaterChart.d.ts +36 -0
- package/esm/configs/repeaterChart.d.ts.map +1 -0
- package/esm/configs/repeaterChart.js +104 -0
- package/esm/configs/repeaterChart.js.map +1 -0
- package/esm/configs/sankeyChart.d.ts +39 -0
- package/esm/configs/sankeyChart.d.ts.map +1 -0
- package/esm/configs/sankeyChart.js +84 -0
- package/esm/configs/sankeyChart.js.map +1 -0
- package/esm/configs/scatterChart.d.ts +95 -0
- package/esm/configs/scatterChart.d.ts.map +1 -0
- package/esm/configs/scatterChart.js +198 -0
- package/esm/configs/scatterChart.js.map +1 -0
- package/esm/configs/table.d.ts +61 -0
- package/esm/configs/table.d.ts.map +1 -0
- package/esm/configs/table.js +169 -0
- package/esm/configs/table.js.map +1 -0
- package/esm/configs/treemapChart.d.ts +47 -0
- package/esm/configs/treemapChart.d.ts.map +1 -0
- package/esm/configs/treemapChart.js +96 -0
- package/esm/configs/treemapChart.js.map +1 -0
- package/esm/configs/types.d.ts +93 -0
- package/esm/configs/types.d.ts.map +1 -0
- package/esm/configs/types.js +3 -0
- package/esm/configs/types.js.map +1 -0
- package/esm/configs/utils.d.ts +12 -0
- package/esm/configs/utils.d.ts.map +1 -0
- package/esm/configs/utils.js +76 -0
- package/esm/configs/utils.js.map +1 -0
- package/esm/configs/waterfallChart.d.ts +109 -0
- package/esm/configs/waterfallChart.d.ts.map +1 -0
- package/esm/configs/waterfallChart.js +214 -0
- package/esm/configs/waterfallChart.js.map +1 -0
- package/esm/conts.d.ts +9 -0
- package/esm/conts.d.ts.map +1 -0
- package/esm/conts.js +41 -0
- package/esm/conts.js.map +1 -0
- package/esm/execution/buildAfmExecution.d.ts +5 -0
- package/esm/execution/buildAfmExecution.d.ts.map +1 -0
- package/esm/execution/buildAfmExecution.js +374 -0
- package/esm/execution/buildAfmExecution.js.map +1 -0
- package/esm/from/declarativeAttributeHierarchyToYaml.d.ts +12 -0
- package/esm/from/declarativeAttributeHierarchyToYaml.d.ts.map +1 -0
- package/esm/from/declarativeAttributeHierarchyToYaml.js +26 -0
- package/esm/from/declarativeAttributeHierarchyToYaml.js.map +1 -0
- package/esm/from/declarativeDashboardToYaml.d.ts +59 -0
- package/esm/from/declarativeDashboardToYaml.d.ts.map +1 -0
- package/esm/from/declarativeDashboardToYaml.js +771 -0
- package/esm/from/declarativeDashboardToYaml.js.map +1 -0
- package/esm/from/declarativeDatasetToYaml.d.ts +9 -0
- package/esm/from/declarativeDatasetToYaml.d.ts.map +1 -0
- package/esm/from/declarativeDatasetToYaml.js +239 -0
- package/esm/from/declarativeDatasetToYaml.js.map +1 -0
- package/esm/from/declarativeDateInstanceToYaml.d.ts +8 -0
- package/esm/from/declarativeDateInstanceToYaml.d.ts.map +1 -0
- package/esm/from/declarativeDateInstanceToYaml.js +30 -0
- package/esm/from/declarativeDateInstanceToYaml.js.map +1 -0
- package/esm/from/declarativeMetricToYaml.d.ts +8 -0
- package/esm/from/declarativeMetricToYaml.d.ts.map +1 -0
- package/esm/from/declarativeMetricToYaml.js +34 -0
- package/esm/from/declarativeMetricToYaml.js.map +1 -0
- package/esm/from/declarativePluginToYaml.d.ts +10 -0
- package/esm/from/declarativePluginToYaml.d.ts.map +1 -0
- package/esm/from/declarativePluginToYaml.js +26 -0
- package/esm/from/declarativePluginToYaml.js.map +1 -0
- package/esm/from/declarativeVisualisationToYaml.d.ts +64 -0
- package/esm/from/declarativeVisualisationToYaml.d.ts.map +1 -0
- package/esm/from/declarativeVisualisationToYaml.js +1513 -0
- package/esm/from/declarativeVisualisationToYaml.js.map +1 -0
- package/esm/index.d.ts +18 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +22 -0
- package/esm/index.js.map +1 -0
- package/esm/schemas/types.d.ts +32 -0
- package/esm/schemas/types.d.ts.map +1 -0
- package/esm/schemas/types.js +3 -0
- package/esm/schemas/types.js.map +1 -0
- package/esm/schemas/v1/metadata.d.ts +7277 -0
- package/esm/schemas/v1/metadata.d.ts.map +1 -0
- package/esm/schemas/v1/metadata.js +3 -0
- package/esm/schemas/v1/metadata.js.map +1 -0
- package/esm/sdk-code-convertors.d.ts +7861 -0
- package/esm/to/yamlAttributeHierarchyToDeclarative.d.ts +5 -0
- package/esm/to/yamlAttributeHierarchyToDeclarative.d.ts.map +1 -0
- package/esm/to/yamlAttributeHierarchyToDeclarative.js +16 -0
- package/esm/to/yamlAttributeHierarchyToDeclarative.js.map +1 -0
- package/esm/to/yamlDashboardToDeclarative.d.ts +29 -0
- package/esm/to/yamlDashboardToDeclarative.d.ts.map +1 -0
- package/esm/to/yamlDashboardToDeclarative.js +732 -0
- package/esm/to/yamlDashboardToDeclarative.js.map +1 -0
- package/esm/to/yamlDatasetToDeclarative.d.ts +41 -0
- package/esm/to/yamlDatasetToDeclarative.d.ts.map +1 -0
- package/esm/to/yamlDatasetToDeclarative.js +346 -0
- package/esm/to/yamlDatasetToDeclarative.js.map +1 -0
- package/esm/to/yamlDateDatasetToDeclarative.d.ts +5 -0
- package/esm/to/yamlDateDatasetToDeclarative.d.ts.map +1 -0
- package/esm/to/yamlDateDatasetToDeclarative.js +21 -0
- package/esm/to/yamlDateDatasetToDeclarative.js.map +1 -0
- package/esm/to/yamlMetricToDeclarative.d.ts +5 -0
- package/esm/to/yamlMetricToDeclarative.d.ts.map +1 -0
- package/esm/to/yamlMetricToDeclarative.js +24 -0
- package/esm/to/yamlMetricToDeclarative.js.map +1 -0
- package/esm/to/yamlPluginToDeclarative.d.ts +5 -0
- package/esm/to/yamlPluginToDeclarative.d.ts.map +1 -0
- package/esm/to/yamlPluginToDeclarative.js +17 -0
- package/esm/to/yamlPluginToDeclarative.js.map +1 -0
- package/esm/to/yamlVisualisationToDeclarative.d.ts +31 -0
- package/esm/to/yamlVisualisationToDeclarative.d.ts.map +1 -0
- package/esm/to/yamlVisualisationToDeclarative.js +1048 -0
- package/esm/to/yamlVisualisationToDeclarative.js.map +1 -0
- package/esm/tsdoc-metadata.json +11 -0
- package/esm/types.d.ts +66 -0
- package/esm/types.d.ts.map +1 -0
- package/esm/types.js +22 -0
- package/esm/types.js.map +1 -0
- package/esm/utils/configUtils.d.ts +20 -0
- package/esm/utils/configUtils.d.ts.map +1 -0
- package/esm/utils/configUtils.js +312 -0
- package/esm/utils/configUtils.js.map +1 -0
- package/esm/utils/convertBucketToTitle.d.ts +116 -0
- package/esm/utils/convertBucketToTitle.d.ts.map +1 -0
- package/esm/utils/convertBucketToTitle.js +370 -0
- package/esm/utils/convertBucketToTitle.js.map +1 -0
- package/esm/utils/customUrl.d.ts +4 -0
- package/esm/utils/customUrl.d.ts.map +1 -0
- package/esm/utils/customUrl.js +31 -0
- package/esm/utils/customUrl.js.map +1 -0
- package/esm/utils/dateUtils.d.ts +5 -0
- package/esm/utils/dateUtils.d.ts.map +1 -0
- package/esm/utils/dateUtils.js +43 -0
- package/esm/utils/dateUtils.js.map +1 -0
- package/esm/utils/errors.d.ts +35 -0
- package/esm/utils/errors.d.ts.map +1 -0
- package/esm/utils/errors.js +65 -0
- package/esm/utils/errors.js.map +1 -0
- package/esm/utils/filterUtils.d.ts +3 -0
- package/esm/utils/filterUtils.d.ts.map +1 -0
- package/esm/utils/filterUtils.js +26 -0
- package/esm/utils/filterUtils.js.map +1 -0
- package/esm/utils/granularityUtils.d.ts +17 -0
- package/esm/utils/granularityUtils.d.ts.map +1 -0
- package/esm/utils/granularityUtils.js +1434 -0
- package/esm/utils/granularityUtils.js.map +1 -0
- package/esm/utils/locationUtils.d.ts +11 -0
- package/esm/utils/locationUtils.d.ts.map +1 -0
- package/esm/utils/locationUtils.js +75 -0
- package/esm/utils/locationUtils.js.map +1 -0
- package/esm/utils/nameUtils.d.ts +7 -0
- package/esm/utils/nameUtils.d.ts.map +1 -0
- package/esm/utils/nameUtils.js +37 -0
- package/esm/utils/nameUtils.js.map +1 -0
- package/esm/utils/permissionUtils.d.ts +29 -0
- package/esm/utils/permissionUtils.d.ts.map +1 -0
- package/esm/utils/permissionUtils.js +82 -0
- package/esm/utils/permissionUtils.js.map +1 -0
- package/esm/utils/sharedUtils.d.ts +21 -0
- package/esm/utils/sharedUtils.d.ts.map +1 -0
- package/esm/utils/sharedUtils.js +63 -0
- package/esm/utils/sharedUtils.js.map +1 -0
- package/esm/utils/texts.d.ts +8 -0
- package/esm/utils/texts.d.ts.map +1 -0
- package/esm/utils/texts.js +47 -0
- package/esm/utils/texts.js.map +1 -0
- package/esm/utils/typeGuards.d.ts +51 -0
- package/esm/utils/typeGuards.d.ts.map +1 -0
- package/esm/utils/typeGuards.js +286 -0
- package/esm/utils/typeGuards.js.map +1 -0
- package/esm/utils/yamlUtils.d.ts +28 -0
- package/esm/utils/yamlUtils.d.ts.map +1 -0
- package/esm/utils/yamlUtils.js +163 -0
- package/esm/utils/yamlUtils.js.map +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waterfallChart.d.ts","sourceRoot":"","sources":["../../src/configs/waterfallChart.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzF,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAI3B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAQ/D,KAAK,iBAAiB,GAAG;IACrB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,UAAU,EAAE;QACR,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC;KAC/B,CAAC;IACF,SAAS,EAAE;QACP,IAAI,EAAE,aAAa,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;KAC1D,CAAC;IACF,WAAW,EAAE;QACT,QAAQ,EAAE,YAAY,GAAG,UAAU,CAAC;KACvC,CAAC;IACF,KAAK,EAAE;QACH,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,EAAE;QACJ,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;KAC1D,CAAC;IACF,KAAK,EAAE;QACH,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;QAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,EAAE;YACF,OAAO,EAAE,OAAO,CAAC;YACjB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;SAClD,CAAC;QACF,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;QAC5C,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACH,IAAI,EAAE;YACF,OAAO,EAAE,OAAO,CAAC;YACjB,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;SAClD,CAAC;QACF,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;QAC5C,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACF,OAAO,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,uBAAuB,EAAE,OAAO,CAAC;CACpC,CAAC;AAmDF,iBAAS,IAAI,CAAC,KAAK,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,kEAyG1D;AAED,iBAAS,IAAI,CACT,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,EACrD,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwD9C;AAED,eAAO,MAAM,cAAc;;;;CAI1B,CAAC"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
// (C) 2023-2026 GoodData Corporation
|
|
2
|
+
import { getValueOrDefault, loadConfig, saveConfigObject, } from "./utils.js";
|
|
3
|
+
import { loadChartFill, loadColorDefinitions, saveChartFill, saveColorDefinitions, } from "../utils/configUtils.js";
|
|
4
|
+
const DEFAULTS = {
|
|
5
|
+
colorMapping: [],
|
|
6
|
+
dataLabels: {
|
|
7
|
+
visible: "auto",
|
|
8
|
+
style: "auto",
|
|
9
|
+
},
|
|
10
|
+
chartFill: {
|
|
11
|
+
type: "solid",
|
|
12
|
+
},
|
|
13
|
+
orientation: {
|
|
14
|
+
position: "horizontal",
|
|
15
|
+
},
|
|
16
|
+
total: {
|
|
17
|
+
enabled: true,
|
|
18
|
+
name: "",
|
|
19
|
+
},
|
|
20
|
+
legend: {
|
|
21
|
+
enabled: false,
|
|
22
|
+
position: "auto",
|
|
23
|
+
},
|
|
24
|
+
xaxis: {
|
|
25
|
+
format: "auto",
|
|
26
|
+
max: "",
|
|
27
|
+
min: "",
|
|
28
|
+
name: {
|
|
29
|
+
visible: true,
|
|
30
|
+
position: "auto",
|
|
31
|
+
},
|
|
32
|
+
labelsEnabled: true,
|
|
33
|
+
rotation: "auto",
|
|
34
|
+
visible: false,
|
|
35
|
+
},
|
|
36
|
+
yaxis: {
|
|
37
|
+
name: {
|
|
38
|
+
visible: true,
|
|
39
|
+
position: "auto",
|
|
40
|
+
},
|
|
41
|
+
labelsEnabled: true,
|
|
42
|
+
rotation: "auto",
|
|
43
|
+
visible: false,
|
|
44
|
+
},
|
|
45
|
+
grid: {
|
|
46
|
+
enabled: true,
|
|
47
|
+
},
|
|
48
|
+
disableDrillDown: false,
|
|
49
|
+
disableAlerts: false,
|
|
50
|
+
disableScheduledExports: false,
|
|
51
|
+
};
|
|
52
|
+
function load(props) {
|
|
53
|
+
return loadConfig(props, (key, value) => {
|
|
54
|
+
switch (key) {
|
|
55
|
+
case "colorMapping":
|
|
56
|
+
return [["color", loadColorDefinitions(value)]];
|
|
57
|
+
case "dataLabels": {
|
|
58
|
+
const val = value;
|
|
59
|
+
return [
|
|
60
|
+
["data_labels", getValueOrDefault(val.visible, DEFAULTS.dataLabels.visible, "bool_auto")],
|
|
61
|
+
["data_labels_style", getValueOrDefault(val.style, DEFAULTS.dataLabels.style)],
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
case "chartFill": {
|
|
65
|
+
return [
|
|
66
|
+
[
|
|
67
|
+
"chart_fill",
|
|
68
|
+
loadChartFill(value, DEFAULTS.chartFill),
|
|
69
|
+
],
|
|
70
|
+
];
|
|
71
|
+
}
|
|
72
|
+
case "orientation": {
|
|
73
|
+
const val = value;
|
|
74
|
+
return [["orientation", getValueOrDefault(val.position, DEFAULTS.orientation.position)]];
|
|
75
|
+
}
|
|
76
|
+
case "total": {
|
|
77
|
+
const val = value;
|
|
78
|
+
return [
|
|
79
|
+
["total_enabled", getValueOrDefault(val.enabled, DEFAULTS.total.enabled, "bool")],
|
|
80
|
+
["total_name", getValueOrDefault(val.name, DEFAULTS.total.name)],
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
case "legend": {
|
|
84
|
+
const val = value;
|
|
85
|
+
return [
|
|
86
|
+
["legend_enabled", getValueOrDefault(val.enabled, DEFAULTS.legend.enabled, "bool")],
|
|
87
|
+
["legend_position", getValueOrDefault(val.position, DEFAULTS.legend.position)],
|
|
88
|
+
];
|
|
89
|
+
}
|
|
90
|
+
case "xaxis": {
|
|
91
|
+
const val = value;
|
|
92
|
+
return [
|
|
93
|
+
["xaxis_format", getValueOrDefault(val.format, DEFAULTS.xaxis.format)],
|
|
94
|
+
["xaxis_max", getValueOrDefault(val.max, DEFAULTS.xaxis.max, "number")],
|
|
95
|
+
["xaxis_min", getValueOrDefault(val.min, DEFAULTS.xaxis.min, "number")],
|
|
96
|
+
[
|
|
97
|
+
"xaxis_name_position",
|
|
98
|
+
getValueOrDefault(val.name?.position, DEFAULTS.xaxis.name.position),
|
|
99
|
+
],
|
|
100
|
+
[
|
|
101
|
+
"xaxis_name_visible",
|
|
102
|
+
getValueOrDefault(val.name?.visible, DEFAULTS.xaxis.name.visible, "bool"),
|
|
103
|
+
],
|
|
104
|
+
["xaxis_rotation", getValueOrDefault(val.rotation, DEFAULTS.xaxis.rotation)],
|
|
105
|
+
["xaxis_visible", getValueOrDefault(val.visible, DEFAULTS.xaxis.visible, "bool")],
|
|
106
|
+
[
|
|
107
|
+
"xaxis_labels",
|
|
108
|
+
getValueOrDefault(val.labelsEnabled, DEFAULTS.xaxis.labelsEnabled, "bool"),
|
|
109
|
+
],
|
|
110
|
+
];
|
|
111
|
+
}
|
|
112
|
+
case "yaxis": {
|
|
113
|
+
const val = value;
|
|
114
|
+
return [
|
|
115
|
+
[
|
|
116
|
+
"yaxis_name_position",
|
|
117
|
+
getValueOrDefault(val.name?.position, DEFAULTS.yaxis.name.position),
|
|
118
|
+
],
|
|
119
|
+
[
|
|
120
|
+
"yaxis_name_visible",
|
|
121
|
+
getValueOrDefault(val.name?.visible, DEFAULTS.yaxis.name.visible, "bool"),
|
|
122
|
+
],
|
|
123
|
+
[
|
|
124
|
+
"yaxis_labels",
|
|
125
|
+
getValueOrDefault(val.labelsEnabled, DEFAULTS.yaxis.labelsEnabled, "bool"),
|
|
126
|
+
],
|
|
127
|
+
["yaxis_rotation", getValueOrDefault(val.rotation, DEFAULTS.yaxis.rotation)],
|
|
128
|
+
["yaxis_visible", getValueOrDefault(val.visible, DEFAULTS.yaxis.visible, "bool")],
|
|
129
|
+
];
|
|
130
|
+
}
|
|
131
|
+
case "grid": {
|
|
132
|
+
const val = value;
|
|
133
|
+
return [["grid_enabled", getValueOrDefault(val.enabled, DEFAULTS.grid.enabled, "bool")]];
|
|
134
|
+
}
|
|
135
|
+
case "disableDrillDown":
|
|
136
|
+
return [
|
|
137
|
+
[
|
|
138
|
+
"disable_drill_down",
|
|
139
|
+
getValueOrDefault(value, DEFAULTS.disableDrillDown, "bool"),
|
|
140
|
+
],
|
|
141
|
+
];
|
|
142
|
+
case "disableAlerts":
|
|
143
|
+
return [
|
|
144
|
+
["disable_alerts", getValueOrDefault(value, DEFAULTS.disableAlerts, "bool")],
|
|
145
|
+
];
|
|
146
|
+
case "disableScheduledExports":
|
|
147
|
+
return [
|
|
148
|
+
[
|
|
149
|
+
"disable_scheduled_exports",
|
|
150
|
+
getValueOrDefault(value, DEFAULTS.disableScheduledExports, "bool"),
|
|
151
|
+
],
|
|
152
|
+
];
|
|
153
|
+
default:
|
|
154
|
+
return [];
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function save(_fields, config) {
|
|
159
|
+
if (!config) {
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
return saveConfigObject({
|
|
163
|
+
colorMapping: saveConfigObject(saveColorDefinitions(config.color ?? {})),
|
|
164
|
+
dataLabels: saveConfigObject({
|
|
165
|
+
visible: getValueOrDefault(config.data_labels, DEFAULTS.dataLabels.visible, "bool_auto"),
|
|
166
|
+
style: getValueOrDefault(config.data_labels_style, DEFAULTS.dataLabels.style),
|
|
167
|
+
}),
|
|
168
|
+
chartFill: saveConfigObject(saveChartFill(config, DEFAULTS.chartFill)),
|
|
169
|
+
orientation: saveConfigObject({
|
|
170
|
+
position: getValueOrDefault(config.orientation, DEFAULTS.orientation.position),
|
|
171
|
+
}),
|
|
172
|
+
total: saveConfigObject({
|
|
173
|
+
enabled: getValueOrDefault(config.total_enabled, DEFAULTS.total.enabled, "bool"),
|
|
174
|
+
name: getValueOrDefault(config.total_name, DEFAULTS.total.name),
|
|
175
|
+
}),
|
|
176
|
+
legend: saveConfigObject({
|
|
177
|
+
enabled: getValueOrDefault(config.legend_enabled, DEFAULTS.legend.enabled, "bool"),
|
|
178
|
+
position: getValueOrDefault(config.legend_position, DEFAULTS.legend.position),
|
|
179
|
+
}),
|
|
180
|
+
xaxis: saveConfigObject({
|
|
181
|
+
format: getValueOrDefault(config.xaxis_format, DEFAULTS.xaxis.format),
|
|
182
|
+
max: getValueOrDefault(config.xaxis_max, DEFAULTS.xaxis.max),
|
|
183
|
+
min: getValueOrDefault(config.xaxis_min, DEFAULTS.xaxis.min),
|
|
184
|
+
name: saveConfigObject({
|
|
185
|
+
position: getValueOrDefault(config.xaxis_name_position, DEFAULTS.xaxis.name.position),
|
|
186
|
+
visible: getValueOrDefault(config.xaxis_name_visible, DEFAULTS.xaxis.name.visible, "bool"),
|
|
187
|
+
}),
|
|
188
|
+
rotation: getValueOrDefault(config.xaxis_rotation, DEFAULTS.xaxis.rotation),
|
|
189
|
+
visible: getValueOrDefault(config.xaxis_visible, DEFAULTS.xaxis.visible, "bool"),
|
|
190
|
+
labelsEnabled: getValueOrDefault(config.xaxis_labels, DEFAULTS.xaxis.labelsEnabled, "bool"),
|
|
191
|
+
}),
|
|
192
|
+
yaxis: saveConfigObject({
|
|
193
|
+
name: saveConfigObject({
|
|
194
|
+
position: getValueOrDefault(config.yaxis_name_position, DEFAULTS.yaxis.name.position),
|
|
195
|
+
visible: getValueOrDefault(config.yaxis_name_visible, DEFAULTS.yaxis.name.visible, "bool"),
|
|
196
|
+
}),
|
|
197
|
+
rotation: getValueOrDefault(config.yaxis_rotation, DEFAULTS.yaxis.rotation),
|
|
198
|
+
visible: getValueOrDefault(config.yaxis_visible, DEFAULTS.yaxis.visible, "bool"),
|
|
199
|
+
labelsEnabled: getValueOrDefault(config.yaxis_labels, DEFAULTS.yaxis.labelsEnabled, "bool"),
|
|
200
|
+
}),
|
|
201
|
+
grid: saveConfigObject({
|
|
202
|
+
enabled: getValueOrDefault(config.grid_enabled, DEFAULTS.grid.enabled, "bool"),
|
|
203
|
+
}),
|
|
204
|
+
disableDrillDown: getValueOrDefault(config.disable_drill_down, DEFAULTS.disableDrillDown, "bool"),
|
|
205
|
+
disableAlerts: getValueOrDefault(config.disable_alerts, DEFAULTS.disableAlerts, "bool"),
|
|
206
|
+
disableScheduledExports: getValueOrDefault(config.disable_scheduled_exports, DEFAULTS.disableScheduledExports, "bool"),
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
export const waterfallChart = {
|
|
210
|
+
load,
|
|
211
|
+
save,
|
|
212
|
+
DEFAULTS,
|
|
213
|
+
};
|
|
214
|
+
//# sourceMappingURL=waterfallChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waterfallChart.js","sourceRoot":"","sources":["../../src/configs/waterfallChart.ts"],"names":[],"mappings":"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"}
|
package/esm/conts.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const DatasetTypes: string[];
|
|
2
|
+
export declare const DateDatasetTypes: string[];
|
|
3
|
+
export declare const MetricTypes: string[];
|
|
4
|
+
export declare const DashboardTypes: string[];
|
|
5
|
+
export declare const PluginTypes: string[];
|
|
6
|
+
export declare const AttributeHierarchyTypes: string[];
|
|
7
|
+
export declare const VisualisationsTypes: string[];
|
|
8
|
+
export declare const AllTypes: string[];
|
|
9
|
+
//# sourceMappingURL=conts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conts.d.ts","sourceRoot":"","sources":["../src/conts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,UAAc,CAAC;AAExC,eAAO,MAAM,gBAAgB,UAAW,CAAC;AAEzC,eAAO,MAAM,WAAW,UAAa,CAAC;AAEtC,eAAO,MAAM,cAAc,UAAgB,CAAC;AAE5C,eAAO,MAAM,WAAW,UAAa,CAAC;AAEtC,eAAO,MAAM,uBAAuB,UAA0B,CAAC;AAE/D,eAAO,MAAM,mBAAmB,UAuB/B,CAAC;AAEF,eAAO,MAAM,QAAQ,UAQpB,CAAC"}
|
package/esm/conts.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// (C) 2024-2026 GoodData Corporation
|
|
2
|
+
export const DatasetTypes = ["dataset"];
|
|
3
|
+
export const DateDatasetTypes = ["date"];
|
|
4
|
+
export const MetricTypes = ["metric"];
|
|
5
|
+
export const DashboardTypes = ["dashboard"];
|
|
6
|
+
export const PluginTypes = ["plugin"];
|
|
7
|
+
export const AttributeHierarchyTypes = ["attribute_hierarchy"];
|
|
8
|
+
export const VisualisationsTypes = [
|
|
9
|
+
"table",
|
|
10
|
+
"bar_chart",
|
|
11
|
+
"column_chart",
|
|
12
|
+
"line_chart",
|
|
13
|
+
"area_chart",
|
|
14
|
+
"scatter_chart",
|
|
15
|
+
"bubble_chart",
|
|
16
|
+
"pie_chart",
|
|
17
|
+
"donut_chart",
|
|
18
|
+
"treemap_chart",
|
|
19
|
+
"pyramid_chart",
|
|
20
|
+
"funnel_chart",
|
|
21
|
+
"heatmap_chart",
|
|
22
|
+
"bullet_chart",
|
|
23
|
+
"waterfall_chart",
|
|
24
|
+
"dependency_wheel_chart",
|
|
25
|
+
"sankey_chart",
|
|
26
|
+
"headline_chart",
|
|
27
|
+
"combo_chart",
|
|
28
|
+
"geo_chart",
|
|
29
|
+
"geo_area_chart",
|
|
30
|
+
"repeater_chart",
|
|
31
|
+
];
|
|
32
|
+
export const AllTypes = [
|
|
33
|
+
...DatasetTypes,
|
|
34
|
+
...DateDatasetTypes,
|
|
35
|
+
...MetricTypes,
|
|
36
|
+
...DashboardTypes,
|
|
37
|
+
...PluginTypes,
|
|
38
|
+
...VisualisationsTypes,
|
|
39
|
+
...AttributeHierarchyTypes,
|
|
40
|
+
];
|
|
41
|
+
//# sourceMappingURL=conts.js.map
|
package/esm/conts.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conts.js","sourceRoot":"","sources":["../src/conts.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAW,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,qBAAqB,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,OAAO;IACP,WAAW;IACX,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,cAAc;IACd,WAAW;IACX,aAAa;IACb,eAAe;IACf,eAAe;IACf,cAAc;IACd,eAAe;IACf,cAAc;IACd,iBAAiB;IACjB,wBAAwB;IACxB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,gBAAgB;IAChB,gBAAgB;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,GAAG,YAAY;IACf,GAAG,gBAAgB;IACnB,GAAG,WAAW;IACd,GAAG,cAAc;IACjB,GAAG,WAAW;IACd,GAAG,mBAAmB;IACtB,GAAG,uBAAuB;CAC7B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Query } from "../schemas/v1/metadata.js";
|
|
2
|
+
import { type ExportEntities, type ToExecutionResults } from "../types.js";
|
|
3
|
+
/** @public */
|
|
4
|
+
export declare function buildAfmExecution(entities: ExportEntities, query: Query): ToExecutionResults;
|
|
5
|
+
//# sourceMappingURL=buildAfmExecution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildAfmExecution.d.ts","sourceRoot":"","sources":["../../src/execution/buildAfmExecution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAER,KAAK,EAIR,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA8B3E,cAAc;AACd,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAkB5F"}
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
// (C) 2024-2026 GoodData Corporation
|
|
2
|
+
import { convertBucketToTitle } from "../utils/convertBucketToTitle.js";
|
|
3
|
+
import { mapDateAttribute, mapDateDataset } from "../utils/dateUtils.js";
|
|
4
|
+
import { parseDateValues } from "../utils/filterUtils.js";
|
|
5
|
+
import { getFullField } from "../utils/sharedUtils.js";
|
|
6
|
+
import { isAbsoluteDateFilter, isArithmeticMetricField, isAttributeField, isAttributeSort, isCalculatedMetricField, isInlineMetricField, isMetricAllValueFilter, isMetricComparisonValueFilter, isMetricField, isMetricRangeValueFilter, isMetricValueFilterWithConditions, isNegativeAttributeFilter, isPoPMetricField, isPositiveAttributeFilter, isPreviousPeriodField, isRankingFilter, isRelativeDateFilter, isSimpleMetricSort, } from "../utils/typeGuards.js";
|
|
7
|
+
import { createIdentifier, createLocalIdentifier } from "../utils/yamlUtils.js";
|
|
8
|
+
const ATTRIBUTES_DIMENSION = `dim_0`;
|
|
9
|
+
const MEASURES_DIMENSION = `dim_1`;
|
|
10
|
+
/** @public */
|
|
11
|
+
export function buildAfmExecution(entities, query) {
|
|
12
|
+
const execution = buildExecution(entities, query);
|
|
13
|
+
const { items: dimensions, sorting } = buildDimensions(query, execution);
|
|
14
|
+
const fields = buildFields(entities, query);
|
|
15
|
+
return {
|
|
16
|
+
execution: {
|
|
17
|
+
execution,
|
|
18
|
+
resultSpec: {
|
|
19
|
+
dimensions,
|
|
20
|
+
//NOTE: For now we are not supporting totals, because there are no part of the query
|
|
21
|
+
totals: [],
|
|
22
|
+
},
|
|
23
|
+
settings: {},
|
|
24
|
+
},
|
|
25
|
+
fields,
|
|
26
|
+
sorting,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function buildFields(entities, query) {
|
|
30
|
+
return Object.keys(query.fields || {}).reduce((acc, field) => {
|
|
31
|
+
const fieldDef = getFullField(query.fields[field]);
|
|
32
|
+
acc[field] = {
|
|
33
|
+
title: convertBucketToTitle(entities, query, fieldDef) || undefined,
|
|
34
|
+
};
|
|
35
|
+
return acc;
|
|
36
|
+
}, {});
|
|
37
|
+
}
|
|
38
|
+
function buildExecution(entities, query) {
|
|
39
|
+
const fields = query.fields || {};
|
|
40
|
+
return {
|
|
41
|
+
attributes: Object.keys(fields)
|
|
42
|
+
.map((field) => {
|
|
43
|
+
const fieldDef = getFullField(fields[field]);
|
|
44
|
+
if (isAttributeField(fieldDef)) {
|
|
45
|
+
return {
|
|
46
|
+
localIdentifier: field,
|
|
47
|
+
label: createIdentifier(fieldDef.using, { forceType: "label" }),
|
|
48
|
+
showAllValues: fieldDef.show_all_values,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
})
|
|
53
|
+
.filter((a) => a !== null),
|
|
54
|
+
measures: Object.keys(fields)
|
|
55
|
+
.map((field) => {
|
|
56
|
+
const fieldDef = getFullField(fields[field]);
|
|
57
|
+
if (isInlineMetricField(fieldDef)) {
|
|
58
|
+
return {
|
|
59
|
+
localIdentifier: field,
|
|
60
|
+
definition: {
|
|
61
|
+
inline: {
|
|
62
|
+
maql: fieldDef.maql,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
if (isCalculatedMetricField(fieldDef)) {
|
|
68
|
+
const item = createIdentifier(fieldDef.using, { forceMetric: true });
|
|
69
|
+
if (item) {
|
|
70
|
+
return {
|
|
71
|
+
localIdentifier: field,
|
|
72
|
+
definition: {
|
|
73
|
+
measure: {
|
|
74
|
+
item,
|
|
75
|
+
aggregation: fieldDef.aggregation,
|
|
76
|
+
computeRatio: fieldDef.compute_ratio,
|
|
77
|
+
filters: buildFilters(entities, fieldDef.filter_by),
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
if (isMetricField(fieldDef)) {
|
|
85
|
+
const item = createIdentifier(fieldDef.using, { forceMetric: true });
|
|
86
|
+
if (item) {
|
|
87
|
+
return {
|
|
88
|
+
localIdentifier: field,
|
|
89
|
+
definition: {
|
|
90
|
+
measure: {
|
|
91
|
+
item,
|
|
92
|
+
computeRatio: fieldDef.compute_ratio,
|
|
93
|
+
filters: buildFilters(entities, fieldDef.filter_by),
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
if (isArithmeticMetricField(fieldDef)) {
|
|
101
|
+
const measureIdentifiers = fieldDef.using;
|
|
102
|
+
if (measureIdentifiers.length >= 2) {
|
|
103
|
+
return {
|
|
104
|
+
localIdentifier: field,
|
|
105
|
+
definition: {
|
|
106
|
+
arithmeticMeasure: {
|
|
107
|
+
measureIdentifiers: measureIdentifiers.map((id) => createLocalIdentifier(id)),
|
|
108
|
+
operator: fieldDef.operator,
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
if (isPoPMetricField(fieldDef)) {
|
|
116
|
+
const popAttribute = mapDateAttribute(query, fieldDef);
|
|
117
|
+
if (popAttribute) {
|
|
118
|
+
return {
|
|
119
|
+
localIdentifier: field,
|
|
120
|
+
definition: {
|
|
121
|
+
overPeriodMeasure: {
|
|
122
|
+
measureIdentifier: createLocalIdentifier(fieldDef.using),
|
|
123
|
+
dateAttributes: [
|
|
124
|
+
{
|
|
125
|
+
attribute: popAttribute,
|
|
126
|
+
periodsAgo: 1,
|
|
127
|
+
},
|
|
128
|
+
],
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
if (isPreviousPeriodField(fieldDef)) {
|
|
136
|
+
const dataset = mapDateDataset(query, fieldDef);
|
|
137
|
+
if (dataset) {
|
|
138
|
+
return {
|
|
139
|
+
localIdentifier: field,
|
|
140
|
+
definition: {
|
|
141
|
+
previousPeriodMeasure: {
|
|
142
|
+
measureIdentifier: createLocalIdentifier(fieldDef.using),
|
|
143
|
+
dateDatasets: [
|
|
144
|
+
{
|
|
145
|
+
dataset: dataset,
|
|
146
|
+
periodsAgo: fieldDef.period ?? 1,
|
|
147
|
+
},
|
|
148
|
+
],
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
return null;
|
|
156
|
+
})
|
|
157
|
+
.filter((a) => a !== null),
|
|
158
|
+
filters: buildFilters(entities, query.filter_by),
|
|
159
|
+
auxMeasures: [],
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function buildDimensions(query, execution) {
|
|
163
|
+
const { items, sorting } = buildSorting(query.sort_by);
|
|
164
|
+
return {
|
|
165
|
+
items: [
|
|
166
|
+
{
|
|
167
|
+
localIdentifier: ATTRIBUTES_DIMENSION,
|
|
168
|
+
itemIdentifiers: execution.attributes.map((a) => a.localIdentifier),
|
|
169
|
+
sorting: items,
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
localIdentifier: MEASURES_DIMENSION,
|
|
173
|
+
itemIdentifiers: ["measureGroup"],
|
|
174
|
+
},
|
|
175
|
+
],
|
|
176
|
+
sorting,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
function buildFilters(entities, filters_by) {
|
|
180
|
+
if (!filters_by) {
|
|
181
|
+
return [];
|
|
182
|
+
}
|
|
183
|
+
// TODO
|
|
184
|
+
const filters = [];
|
|
185
|
+
Object.keys(filters_by ?? {}).forEach((key) => {
|
|
186
|
+
const filter = filters_by[key];
|
|
187
|
+
if (isAbsoluteDateFilter(filter)) {
|
|
188
|
+
filters.push({
|
|
189
|
+
absoluteDateFilter: {
|
|
190
|
+
dataset: createIdentifier(filter.using, { forceType: "dataset" }),
|
|
191
|
+
from: filter.from,
|
|
192
|
+
to: filter.to,
|
|
193
|
+
},
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
if (isRelativeDateFilter(filter)) {
|
|
197
|
+
filters.push({
|
|
198
|
+
relativeDateFilter: {
|
|
199
|
+
dataset: createIdentifier(filter.using, { forceType: "dataset" }),
|
|
200
|
+
granularity: (filter.granularity ??
|
|
201
|
+
undefined),
|
|
202
|
+
from: filter.from,
|
|
203
|
+
to: filter.to,
|
|
204
|
+
},
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
if (isPositiveAttributeFilter(filter)) {
|
|
208
|
+
filters.push({
|
|
209
|
+
positiveAttributeFilter: {
|
|
210
|
+
label: createIdentifier(filter.using),
|
|
211
|
+
in: {
|
|
212
|
+
values: parseDateValues(entities, filter.using, filter.state?.include ?? []),
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
if (isNegativeAttributeFilter(filter)) {
|
|
218
|
+
filters.push({
|
|
219
|
+
negativeAttributeFilter: {
|
|
220
|
+
label: createIdentifier(filter.using),
|
|
221
|
+
notIn: {
|
|
222
|
+
values: parseDateValues(entities, filter.using, filter.state?.exclude ?? []),
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
if (isMetricValueFilterWithConditions(filter)) {
|
|
228
|
+
// TypeScript narrows to MultipleConditions via type guard
|
|
229
|
+
const conditions = filter.conditions ?? [];
|
|
230
|
+
// Any ALL condition makes this filter a no-op at execution time.
|
|
231
|
+
const hasAllCondition = conditions.some((c) => !c || typeof c !== "object" || !("condition" in c) || c.condition == null);
|
|
232
|
+
if (hasAllCondition) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
// Build AFM conditions array
|
|
236
|
+
const afmConditions = [];
|
|
237
|
+
conditions.forEach((c) => {
|
|
238
|
+
if ("condition" in c && c.condition) {
|
|
239
|
+
if (c.condition === "BETWEEN" || c.condition === "NOT_BETWEEN") {
|
|
240
|
+
const rangeCondition = c;
|
|
241
|
+
afmConditions.push({
|
|
242
|
+
range: {
|
|
243
|
+
operator: rangeCondition.condition,
|
|
244
|
+
from: rangeCondition.from,
|
|
245
|
+
to: rangeCondition.to,
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
const comparisonCondition = c;
|
|
251
|
+
afmConditions.push({
|
|
252
|
+
comparison: {
|
|
253
|
+
operator: comparisonCondition.condition,
|
|
254
|
+
value: comparisonCondition.value,
|
|
255
|
+
},
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
if (afmConditions.length > 0) {
|
|
261
|
+
const compoundMeasureValueFilter = {
|
|
262
|
+
compoundMeasureValueFilter: {
|
|
263
|
+
measure: createIdentifier(filter.using) || createLocalIdentifier(filter.using),
|
|
264
|
+
conditions: afmConditions,
|
|
265
|
+
treatNullValuesAs: filter.null_values_as_zero ? 0 : undefined,
|
|
266
|
+
},
|
|
267
|
+
};
|
|
268
|
+
if (filter.dimensionality &&
|
|
269
|
+
Array.isArray(filter.dimensionality) &&
|
|
270
|
+
filter.dimensionality.length > 0) {
|
|
271
|
+
compoundMeasureValueFilter.compoundMeasureValueFilter.dimensionality =
|
|
272
|
+
filter.dimensionality.map((item) => createIdentifier(item) || createLocalIdentifier(item));
|
|
273
|
+
}
|
|
274
|
+
filters.push(compoundMeasureValueFilter);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
// MVF with operator "All" (no condition) - no-op at execution time.
|
|
278
|
+
if (isMetricAllValueFilter(filter)) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
if (isMetricRangeValueFilter(filter)) {
|
|
282
|
+
const rangeMeasureValueFilter = {
|
|
283
|
+
rangeMeasureValueFilter: {
|
|
284
|
+
measure: createIdentifier(filter.using) || createLocalIdentifier(filter.using),
|
|
285
|
+
operator: filter.condition,
|
|
286
|
+
from: filter.from,
|
|
287
|
+
to: filter.to,
|
|
288
|
+
treatNullValuesAs: filter.null_values_as_zero ? 0 : undefined,
|
|
289
|
+
},
|
|
290
|
+
};
|
|
291
|
+
if (filter.dimensionality &&
|
|
292
|
+
Array.isArray(filter.dimensionality) &&
|
|
293
|
+
filter.dimensionality.length > 0) {
|
|
294
|
+
rangeMeasureValueFilter.rangeMeasureValueFilter.dimensionality = filter.dimensionality.map((item) => createIdentifier(item) || createLocalIdentifier(item));
|
|
295
|
+
}
|
|
296
|
+
filters.push(rangeMeasureValueFilter);
|
|
297
|
+
}
|
|
298
|
+
if (isMetricComparisonValueFilter(filter)) {
|
|
299
|
+
const comparisonMeasureValueFilter = {
|
|
300
|
+
comparisonMeasureValueFilter: {
|
|
301
|
+
measure: createIdentifier(filter.using) || createLocalIdentifier(filter.using),
|
|
302
|
+
operator: filter.condition,
|
|
303
|
+
value: filter.value,
|
|
304
|
+
treatNullValuesAs: filter.null_values_as_zero ? 0 : undefined,
|
|
305
|
+
},
|
|
306
|
+
};
|
|
307
|
+
if (filter.dimensionality &&
|
|
308
|
+
Array.isArray(filter.dimensionality) &&
|
|
309
|
+
filter.dimensionality.length > 0) {
|
|
310
|
+
comparisonMeasureValueFilter.comparisonMeasureValueFilter.dimensionality =
|
|
311
|
+
filter.dimensionality.map((item) => createIdentifier(item) || createLocalIdentifier(item));
|
|
312
|
+
}
|
|
313
|
+
filters.push(comparisonMeasureValueFilter);
|
|
314
|
+
}
|
|
315
|
+
if (isRankingFilter(filter)) {
|
|
316
|
+
filters.push({
|
|
317
|
+
rankingFilter: {
|
|
318
|
+
measures: [
|
|
319
|
+
createIdentifier(filter.using) || createLocalIdentifier(filter.using),
|
|
320
|
+
...(filter.attribute
|
|
321
|
+
? [createIdentifier(filter.attribute) || createLocalIdentifier(filter.attribute)]
|
|
322
|
+
: []),
|
|
323
|
+
],
|
|
324
|
+
operator: filter.top === undefined ? "BOTTOM" : "TOP",
|
|
325
|
+
value: filter.top === undefined ? filter.bottom : filter.top,
|
|
326
|
+
},
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
return filters;
|
|
331
|
+
}
|
|
332
|
+
function buildSorting(sort_by) {
|
|
333
|
+
if (!sort_by) {
|
|
334
|
+
return {
|
|
335
|
+
items: [],
|
|
336
|
+
sorting: {},
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
const sorting = {};
|
|
340
|
+
const items = sort_by
|
|
341
|
+
.map((sort) => {
|
|
342
|
+
if (isAttributeSort(sort)) {
|
|
343
|
+
sorting[sort.by] = sort.direction;
|
|
344
|
+
return {
|
|
345
|
+
attribute: {
|
|
346
|
+
attributeIdentifier: sort.by,
|
|
347
|
+
direction: sort.direction,
|
|
348
|
+
sortType: sort.aggregation === "SUM" ? "AREA" : "DEFAULT",
|
|
349
|
+
},
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
if (isSimpleMetricSort(sort)) {
|
|
353
|
+
const metric = sort.metrics[0];
|
|
354
|
+
sorting[metric] = sort.direction;
|
|
355
|
+
return {
|
|
356
|
+
value: {
|
|
357
|
+
dataColumnLocators: {
|
|
358
|
+
[MEASURES_DIMENSION]: {
|
|
359
|
+
measureGroup: metric,
|
|
360
|
+
},
|
|
361
|
+
},
|
|
362
|
+
direction: sort.direction,
|
|
363
|
+
},
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
return null;
|
|
367
|
+
})
|
|
368
|
+
.filter(Boolean);
|
|
369
|
+
return {
|
|
370
|
+
items,
|
|
371
|
+
sorting,
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
//# sourceMappingURL=buildAfmExecution.js.map
|