@undp/data-viz 1.5.1 → 1.5.3
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/dist/AreaChart.cjs +1 -1
- package/dist/AreaChart.cjs.map +1 -1
- package/dist/AreaChart.js +3 -2
- package/dist/AreaChart.js.map +1 -1
- package/dist/BarGraph.cjs +1 -1
- package/dist/BarGraph.cjs.map +1 -1
- package/dist/BarGraph.js +1221 -1247
- package/dist/BarGraph.js.map +1 -1
- package/dist/BeeSwarmChart.cjs +1 -1
- package/dist/BeeSwarmChart.cjs.map +1 -1
- package/dist/BeeSwarmChart.js +130 -142
- package/dist/BeeSwarmChart.js.map +1 -1
- package/dist/BiVariateChoroplethMap.cjs +1 -1
- package/dist/BiVariateChoroplethMap.cjs.map +1 -1
- package/dist/BiVariateChoroplethMap.js +41 -41
- package/dist/BiVariateChoroplethMap.js.map +1 -1
- package/dist/BulletChart.cjs +1 -1
- package/dist/BulletChart.cjs.map +1 -1
- package/dist/BulletChart.js +483 -487
- package/dist/BulletChart.js.map +1 -1
- package/dist/ButterflyChart.cjs +1 -1
- package/dist/ButterflyChart.cjs.map +1 -1
- package/dist/ButterflyChart.js +99 -99
- package/dist/ButterflyChart.js.map +1 -1
- package/dist/ChoroplethMap.cjs +1 -1
- package/dist/ChoroplethMap.cjs.map +1 -1
- package/dist/ChoroplethMap.js +125 -125
- package/dist/ChoroplethMap.js.map +1 -1
- package/dist/CirclePackingGraph.cjs +1 -1
- package/dist/CirclePackingGraph.js +2 -2
- package/dist/Data/BureauPerformance.csv +8 -0
- package/dist/Data/EGDashboardData.csv +6 -0
- package/dist/DataCards.cjs +2 -2
- package/dist/DataCards.cjs.map +1 -1
- package/dist/DataCards.js +6 -6
- package/dist/DataCards.js.map +1 -1
- package/dist/DataTable.cjs +1 -1
- package/dist/DataTable.cjs.map +1 -1
- package/dist/DataTable.js +66 -68
- package/dist/DataTable.js.map +1 -1
- package/dist/DifferenceLineChart.cjs +1 -1
- package/dist/DifferenceLineChart.cjs.map +1 -1
- package/dist/DifferenceLineChart.js +3 -2
- package/dist/DifferenceLineChart.js.map +1 -1
- package/dist/DonutChart.cjs +1 -1
- package/dist/DonutChart.cjs.map +1 -1
- package/dist/DonutChart.js +205 -205
- package/dist/DonutChart.js.map +1 -1
- package/dist/DotDensityMap.cjs +1 -1
- package/dist/DotDensityMap.cjs.map +1 -1
- package/dist/DotDensityMap.js +78 -81
- package/dist/DotDensityMap.js.map +1 -1
- package/dist/DualAxisLineChart.cjs +1 -1
- package/dist/DualAxisLineChart.cjs.map +1 -1
- package/dist/DualAxisLineChart.js +3 -2
- package/dist/DualAxisLineChart.js.map +1 -1
- package/dist/DumbbellChart.cjs +1 -1
- package/dist/DumbbellChart.cjs.map +1 -1
- package/dist/DumbbellChart.js +64 -65
- package/dist/DumbbellChart.js.map +1 -1
- package/dist/GeoHubMap.cjs +1 -1
- package/dist/GeoHubMap.js +1 -1
- package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
- package/dist/GeoHubMapWithLayerSelection.js +1 -1
- package/dist/{GraphEl-4RUlclvW.cjs → GraphEl-BcYgMnN2.cjs} +2 -2
- package/dist/{GraphEl-4RUlclvW.cjs.map → GraphEl-BcYgMnN2.cjs.map} +1 -1
- package/dist/{GraphEl-ClIxlWa3.js → GraphEl-CMWeARJ3.js} +2 -2
- package/dist/{GraphEl-ClIxlWa3.js.map → GraphEl-CMWeARJ3.js.map} +1 -1
- package/dist/GriddedGraphs.cjs +1 -1
- package/dist/GriddedGraphs.js +4 -4
- package/dist/GriddedGraphsFromConfig.cjs +1 -1
- package/dist/GriddedGraphsFromConfig.js +1 -1
- package/dist/HeatMap.cjs +1 -1
- package/dist/HeatMap.cjs.map +1 -1
- package/dist/HeatMap.js +83 -83
- package/dist/HeatMap.js.map +1 -1
- package/dist/Histogram.cjs +1 -1
- package/dist/Histogram.js +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs +1 -1
- package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
- package/dist/LineChartWithConfidenceInterval.js +7 -6
- package/dist/LineChartWithConfidenceInterval.js.map +1 -1
- package/dist/MultiGraphDashboard.cjs +1 -1
- package/dist/MultiGraphDashboard.js +2 -2
- package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardFromConfig.js +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormat.js +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
- package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +1 -1
- package/dist/MultiLineAltChart.cjs +1 -1
- package/dist/MultiLineAltChart.cjs.map +1 -1
- package/dist/MultiLineAltChart.js +82 -91
- package/dist/MultiLineAltChart.js.map +1 -1
- package/dist/MultiLineChart.cjs +1 -1
- package/dist/MultiLineChart.cjs.map +1 -1
- package/dist/MultiLineChart.js +3 -2
- package/dist/MultiLineChart.js.map +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboard.js +2 -2
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
- package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +1 -1
- package/dist/RadarChart.cjs +1 -1
- package/dist/RadarChart.cjs.map +1 -1
- package/dist/RadarChart.js +124 -130
- package/dist/RadarChart.js.map +1 -1
- package/dist/SankeyChart.cjs +1 -1
- package/dist/SankeyChart.cjs.map +1 -1
- package/dist/SankeyChart.js +200 -200
- package/dist/SankeyChart.js.map +1 -1
- package/dist/ScatterPlot.cjs +1 -1
- package/dist/ScatterPlot.cjs.map +1 -1
- package/dist/ScatterPlot.js +149 -155
- package/dist/ScatterPlot.js.map +1 -1
- package/dist/SimpleLineChart.cjs +1 -1
- package/dist/SimpleLineChart.cjs.map +1 -1
- package/dist/SimpleLineChart.js +44 -43
- package/dist/SimpleLineChart.js.map +1 -1
- package/dist/SingleGraphDashboard.cjs +1 -1
- package/dist/SingleGraphDashboard.js +4 -4
- package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardFromConfig.js +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphs.js +3 -3
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
- package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +1 -1
- package/dist/SlopeChart.cjs +1 -1
- package/dist/SlopeChart.cjs.map +1 -1
- package/dist/SlopeChart.js +107 -113
- package/dist/SlopeChart.js.map +1 -1
- package/dist/SparkLine.cjs +1 -1
- package/dist/SparkLine.cjs.map +1 -1
- package/dist/SparkLine.js +3 -2
- package/dist/SparkLine.js.map +1 -1
- package/dist/StripChart.cjs +1 -1
- package/dist/StripChart.cjs.map +1 -1
- package/dist/StripChart.js +159 -159
- package/dist/StripChart.js.map +1 -1
- package/dist/ThreeDGlobe.cjs +1 -1
- package/dist/ThreeDGlobe.cjs.map +1 -1
- package/dist/ThreeDGlobe.js +3 -3
- package/dist/ThreeDGlobe.js.map +1 -1
- package/dist/TreeMapGraph.cjs +1 -1
- package/dist/TreeMapGraph.cjs.map +1 -1
- package/dist/TreeMapGraph.js +194 -200
- package/dist/TreeMapGraph.js.map +1 -1
- package/dist/ensureCompleteData-DkQYPeDa.cjs +2 -0
- package/dist/ensureCompleteData-DkQYPeDa.cjs.map +1 -0
- package/dist/{ensureCompleteData-BALdOrsS.js → ensureCompleteData-DlmibgaI.js} +28 -8
- package/dist/ensureCompleteData-DlmibgaI.js.map +1 -0
- package/dist/fetchAndParseData-Ba-_CgxS.cjs +16 -0
- package/dist/fetchAndParseData-Ba-_CgxS.cjs.map +1 -0
- package/dist/fetchAndParseData-sapWbnYk.js +583 -0
- package/dist/fetchAndParseData-sapWbnYk.js.map +1 -0
- package/dist/fetchAndParseData.cjs +1 -1
- package/dist/fetchAndParseData.js +1 -1
- package/dist/getJenks-BbngDoBQ.js +19 -0
- package/dist/getJenks-BbngDoBQ.js.map +1 -0
- package/dist/getJenks-GYmdwBqm.cjs +2 -0
- package/dist/getJenks-GYmdwBqm.cjs.map +1 -0
- package/dist/getSliderMarks-9cNoRkDx.js +1023 -0
- package/dist/getSliderMarks-9cNoRkDx.js.map +1 -0
- package/dist/getSliderMarks-CRIbTGYV.cjs +6 -0
- package/dist/getSliderMarks-CRIbTGYV.cjs.map +1 -0
- package/dist/getUniqValue-DiCh_MOD.js +13 -0
- package/dist/getUniqValue-DiCh_MOD.js.map +1 -0
- package/dist/getUniqValue-RViz8tTw.cjs +2 -0
- package/dist/getUniqValue-RViz8tTw.cjs.map +1 -0
- package/dist/{index-BMgDMxKJ.js → index-37q0ULNQ.js} +44 -50
- package/dist/index-37q0ULNQ.js.map +1 -0
- package/dist/index-CVlCtJbC.cjs +2 -0
- package/dist/index-CVlCtJbC.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -6
- package/dist/sort-DfK1b0F5.js +34 -0
- package/dist/sort-DfK1b0F5.js.map +1 -0
- package/dist/sort-O96oMZLb.cjs +2 -0
- package/dist/sort-O96oMZLb.cjs.map +1 -0
- package/dist/transformData.cjs +1 -1
- package/dist/transformData.js +3 -3
- package/dist/transformDataForAggregation-KXGm6flX.cjs +2 -0
- package/dist/{transformDataForAggregation-BVxVu4yY.cjs.map → transformDataForAggregation-KXGm6flX.cjs.map} +1 -1
- package/dist/{transformDataForAggregation-1BYVFqvF.js → transformDataForAggregation-sBpdlX8n.js} +40 -44
- package/dist/{transformDataForAggregation-1BYVFqvF.js.map → transformDataForAggregation-sBpdlX8n.js.map} +1 -1
- package/dist/{transformDataForGraphFromFile-BC9Ha8hF.js → transformDataForGraphFromFile-ComYvzuz.js} +3 -3
- package/dist/{transformDataForGraphFromFile-BC9Ha8hF.js.map → transformDataForGraphFromFile-ComYvzuz.js.map} +1 -1
- package/dist/{transformDataForGraphFromFile-b41aNQYY.cjs → transformDataForGraphFromFile-DVZodTHd.cjs} +2 -2
- package/dist/{transformDataForGraphFromFile-b41aNQYY.cjs.map → transformDataForGraphFromFile-DVZodTHd.cjs.map} +1 -1
- package/dist/uniqBy-BHy4I8PK.js +8 -0
- package/dist/uniqBy-BHy4I8PK.js.map +1 -0
- package/dist/uniqBy-O05lp2S5.cjs +2 -0
- package/dist/uniqBy-O05lp2S5.cjs.map +1 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +2 -2
- package/package.json +1 -7
- package/dist/ensureCompleteData-BALdOrsS.js.map +0 -1
- package/dist/ensureCompleteData-BU5Zlccy.cjs +0 -2
- package/dist/ensureCompleteData-BU5Zlccy.cjs.map +0 -1
- package/dist/fetchAndParseData-DBOl1Icl.js +0 -1196
- package/dist/fetchAndParseData-DBOl1Icl.js.map +0 -1
- package/dist/fetchAndParseData-Dcy7AS_0.cjs +0 -16
- package/dist/fetchAndParseData-Dcy7AS_0.cjs.map +0 -1
- package/dist/getJenks-DW96UYNE.js +0 -23
- package/dist/getJenks-DW96UYNE.js.map +0 -1
- package/dist/getJenks-vofIZmeb.cjs +0 -2
- package/dist/getJenks-vofIZmeb.cjs.map +0 -1
- package/dist/getSliderMarks-C0jptXeP.js +0 -1054
- package/dist/getSliderMarks-C0jptXeP.js.map +0 -1
- package/dist/getSliderMarks-CtsEXiLV.cjs +0 -6
- package/dist/getSliderMarks-CtsEXiLV.cjs.map +0 -1
- package/dist/getUniqValue-CfuE_l9c.cjs +0 -2
- package/dist/getUniqValue-CfuE_l9c.cjs.map +0 -1
- package/dist/getUniqValue-CttuU_wn.js +0 -20
- package/dist/getUniqValue-CttuU_wn.js.map +0 -1
- package/dist/index-AqnpA7_O.js +0 -631
- package/dist/index-AqnpA7_O.js.map +0 -1
- package/dist/index-BJOeaYTk.cjs +0 -2
- package/dist/index-BJOeaYTk.cjs.map +0 -1
- package/dist/index-BMgDMxKJ.js.map +0 -1
- package/dist/index-DYH8g9WA.cjs +0 -2
- package/dist/index-DYH8g9WA.cjs.map +0 -1
- package/dist/index-Da2GUKrr.cjs +0 -2
- package/dist/index-Da2GUKrr.cjs.map +0 -1
- package/dist/index-fwdktvAS.js +0 -707
- package/dist/index-fwdktvAS.js.map +0 -1
- package/dist/transformDataForAggregation-BVxVu4yY.cjs +0 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { c as s } from "./init-BhZylTFx.js";
|
|
2
|
+
function m(r, n) {
|
|
3
|
+
return Array.from(n, (t) => r[t]);
|
|
4
|
+
}
|
|
5
|
+
function d(r, ...n) {
|
|
6
|
+
if (typeof r[Symbol.iterator] != "function") throw new TypeError("values is not iterable");
|
|
7
|
+
r = Array.from(r);
|
|
8
|
+
let [t] = n;
|
|
9
|
+
if (t && t.length !== 2 || n.length > 1) {
|
|
10
|
+
const o = Uint32Array.from(r, (e, f) => f);
|
|
11
|
+
return n.length > 1 ? (n = n.map((e) => r.map(e)), o.sort((e, f) => {
|
|
12
|
+
for (const c of n) {
|
|
13
|
+
const u = i(c[e], c[f]);
|
|
14
|
+
if (u) return u;
|
|
15
|
+
}
|
|
16
|
+
})) : (t = r.map(t), o.sort((e, f) => i(t[e], t[f]))), m(r, o);
|
|
17
|
+
}
|
|
18
|
+
return r.sort(p(t));
|
|
19
|
+
}
|
|
20
|
+
function p(r = s) {
|
|
21
|
+
if (r === s) return i;
|
|
22
|
+
if (typeof r != "function") throw new TypeError("compare is not a function");
|
|
23
|
+
return (n, t) => {
|
|
24
|
+
const o = r(n, t);
|
|
25
|
+
return o || o === 0 ? o : (r(t, t) === 0) - (r(n, n) === 0);
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function i(r, n) {
|
|
29
|
+
return (r == null || !(r >= r)) - (n == null || !(n >= n)) || (r < n ? -1 : r > n ? 1 : 0);
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
d as s
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=sort-DfK1b0F5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-DfK1b0F5.js","sources":["../node_modules/d3-array/src/permute.js","../node_modules/d3-array/src/sort.js"],"sourcesContent":["export default function permute(source, keys) {\n return Array.from(keys, key => source[key]);\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n"],"names":["permute","source","keys","key","sort","values","F","f","index","d","i","j","c","ascendingDefined","compareDefined","compare","ascending","a","b","x"],"mappings":";AAAe,SAASA,EAAQC,GAAQC,GAAM;AAC5C,SAAO,MAAM,KAAKA,GAAM,CAAAC,MAAOF,EAAOE,CAAG,CAAC;AAC5C;ACCe,SAASC,EAAKC,MAAWC,GAAG;AACzC,MAAI,OAAOD,EAAO,OAAO,QAAQ,KAAM,WAAY,OAAM,IAAI,UAAU,wBAAwB;AAC/F,EAAAA,IAAS,MAAM,KAAKA,CAAM;AAC1B,MAAI,CAACE,CAAC,IAAID;AACV,MAAKC,KAAKA,EAAE,WAAW,KAAMD,EAAE,SAAS,GAAG;AACzC,UAAME,IAAQ,YAAY,KAAKH,GAAQ,CAACI,GAAGC,MAAMA,CAAC;AAClD,WAAIJ,EAAE,SAAS,KACbA,IAAIA,EAAE,IAAI,CAAAC,MAAKF,EAAO,IAAIE,CAAC,CAAC,GAC5BC,EAAM,KAAK,CAACE,GAAGC,MAAM;AACnB,iBAAWJ,KAAKD,GAAG;AACjB,cAAMM,IAAIC,EAAiBN,EAAEG,CAAC,GAAGH,EAAEI,CAAC,CAAC;AACrC,YAAIC,EAAG,QAAOA;AAAA,MAChB;AAAA,IACF,CAAC,MAEDL,IAAIF,EAAO,IAAIE,CAAC,GAChBC,EAAM,KAAK,CAACE,GAAGC,MAAME,EAAiBN,EAAEG,CAAC,GAAGH,EAAEI,CAAC,CAAC,CAAC,IAE5CX,EAAQK,GAAQG,CAAK;AAAA,EAC9B;AACA,SAAOH,EAAO,KAAKS,EAAeP,CAAC,CAAC;AACtC;AAEO,SAASO,EAAeC,IAAUC,GAAW;AAClD,MAAID,MAAYC,EAAW,QAAOH;AAClC,MAAI,OAAOE,KAAY,WAAY,OAAM,IAAI,UAAU,2BAA2B;AAClF,SAAO,CAACE,GAAGC,MAAM;AACf,UAAMC,IAAIJ,EAAQE,GAAGC,CAAC;AACtB,WAAIC,KAAKA,MAAM,IAAUA,KACjBJ,EAAQG,GAAGA,CAAC,MAAM,MAAMH,EAAQE,GAAGA,CAAC,MAAM;AAAA,EACpD;AACF;AAEO,SAASJ,EAAiBI,GAAGC,GAAG;AACrC,UAAQD,KAAK,QAAQ,EAAEA,KAAKA,OAAOC,KAAK,QAAQ,EAAEA,KAAKA,QAAQD,IAAIC,IAAI,KAAKD,IAAIC,IAAI,IAAI;AAC1F;","x_google_ignoreList":[0,1]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const s=require("./init-DU0ybBc_.cjs");function y(n,r){return Array.from(r,t=>n[t])}function d(n,...r){if(typeof n[Symbol.iterator]!="function")throw new TypeError("values is not iterable");n=Array.from(n);let[t]=r;if(t&&t.length!==2||r.length>1){const o=Uint32Array.from(n,(e,i)=>i);return r.length>1?(r=r.map(e=>n.map(e)),o.sort((e,i)=>{for(const c of r){const u=f(c[e],c[i]);if(u)return u}})):(t=n.map(t),o.sort((e,i)=>f(t[e],t[i]))),y(n,o)}return n.sort(g(t))}function g(n=s.ascending){if(n===s.ascending)return f;if(typeof n!="function")throw new TypeError("compare is not a function");return(r,t)=>{const o=n(r,t);return o||o===0?o:(n(t,t)===0)-(n(r,r)===0)}}function f(n,r){return(n==null||!(n>=n))-(r==null||!(r>=r))||(n<r?-1:n>r?1:0)}exports.sort=d;
|
|
2
|
+
//# sourceMappingURL=sort-O96oMZLb.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-O96oMZLb.cjs","sources":["../node_modules/d3-array/src/permute.js","../node_modules/d3-array/src/sort.js"],"sourcesContent":["export default function permute(source, keys) {\n return Array.from(keys, key => source[key]);\n}\n","import ascending from \"./ascending.js\";\nimport permute from \"./permute.js\";\n\nexport default function sort(values, ...F) {\n if (typeof values[Symbol.iterator] !== \"function\") throw new TypeError(\"values is not iterable\");\n values = Array.from(values);\n let [f] = F;\n if ((f && f.length !== 2) || F.length > 1) {\n const index = Uint32Array.from(values, (d, i) => i);\n if (F.length > 1) {\n F = F.map(f => values.map(f));\n index.sort((i, j) => {\n for (const f of F) {\n const c = ascendingDefined(f[i], f[j]);\n if (c) return c;\n }\n });\n } else {\n f = values.map(f);\n index.sort((i, j) => ascendingDefined(f[i], f[j]));\n }\n return permute(values, index);\n }\n return values.sort(compareDefined(f));\n}\n\nexport function compareDefined(compare = ascending) {\n if (compare === ascending) return ascendingDefined;\n if (typeof compare !== \"function\") throw new TypeError(\"compare is not a function\");\n return (a, b) => {\n const x = compare(a, b);\n if (x || x === 0) return x;\n return (compare(b, b) === 0) - (compare(a, a) === 0);\n };\n}\n\nexport function ascendingDefined(a, b) {\n return (a == null || !(a >= a)) - (b == null || !(b >= b)) || (a < b ? -1 : a > b ? 1 : 0);\n}\n"],"names":["permute","source","keys","key","sort","values","F","f","index","d","i","j","c","ascendingDefined","compareDefined","compare","ascending","a","b","x"],"mappings":"oDAAe,SAASA,EAAQC,EAAQC,EAAM,CAC5C,OAAO,MAAM,KAAKA,EAAMC,GAAOF,EAAOE,CAAG,CAAC,CAC5C,CCCe,SAASC,EAAKC,KAAWC,EAAG,CACzC,GAAI,OAAOD,EAAO,OAAO,QAAQ,GAAM,WAAY,MAAM,IAAI,UAAU,wBAAwB,EAC/FA,EAAS,MAAM,KAAKA,CAAM,EAC1B,GAAI,CAACE,CAAC,EAAID,EACV,GAAKC,GAAKA,EAAE,SAAW,GAAMD,EAAE,OAAS,EAAG,CACzC,MAAME,EAAQ,YAAY,KAAKH,EAAQ,CAACI,EAAG,IAAM,CAAC,EAClD,OAAIH,EAAE,OAAS,GACbA,EAAIA,EAAE,IAAIC,GAAKF,EAAO,IAAIE,CAAC,CAAC,EAC5BC,EAAM,KAAK,CAACE,EAAGC,IAAM,CACnB,UAAWJ,KAAKD,EAAG,CACjB,MAAMM,EAAIC,EAAiBN,EAAEG,CAAC,EAAGH,EAAEI,CAAC,CAAC,EACrC,GAAIC,EAAG,OAAOA,CAChB,CACF,CAAC,IAEDL,EAAIF,EAAO,IAAIE,CAAC,EAChBC,EAAM,KAAK,CAACE,EAAGC,IAAME,EAAiBN,EAAEG,CAAC,EAAGH,EAAEI,CAAC,CAAC,CAAC,GAE5CX,EAAQK,EAAQG,CAAK,CAC9B,CACA,OAAOH,EAAO,KAAKS,EAAeP,CAAC,CAAC,CACtC,CAEO,SAASO,EAAeC,EAAUC,YAAW,CAClD,GAAID,IAAYC,EAAAA,UAAW,OAAOH,EAClC,GAAI,OAAOE,GAAY,WAAY,MAAM,IAAI,UAAU,2BAA2B,EAClF,MAAO,CAACE,EAAGC,IAAM,CACf,MAAMC,EAAIJ,EAAQE,EAAGC,CAAC,EACtB,OAAIC,GAAKA,IAAM,EAAUA,GACjBJ,EAAQG,EAAGA,CAAC,IAAM,IAAMH,EAAQE,EAAGA,CAAC,IAAM,EACpD,CACF,CAEO,SAASJ,EAAiBI,EAAGC,EAAG,CACrC,OAAQD,GAAK,MAAQ,EAAEA,GAAKA,KAAOC,GAAK,MAAQ,EAAEA,GAAKA,MAAQD,EAAIC,EAAI,GAAKD,EAAIC,EAAI,EAAI,EAC1F","x_google_ignoreList":[0,1]}
|
package/dist/transformData.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./transformDataForAggregation-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./transformDataForAggregation-KXGm6flX.cjs"),a=require("./fetchAndParseData-Ba-_CgxS.cjs"),o=require("./transformDataForGraphFromFile-DVZodTHd.cjs");exports.transformDataForAggregation=r.transformDataForAggregation;exports.transformDataForGraph=r.transformDataForGraph;exports.transformColumnsToArray=a.transformColumnsToArray;exports.transformDataForGraphFromFile=o.transformDataForGraphFromFile;
|
|
2
2
|
//# sourceMappingURL=transformData.cjs.map
|
package/dist/transformData.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as o, a as t } from "./transformDataForAggregation-
|
|
2
|
-
import { t as s } from "./fetchAndParseData-
|
|
3
|
-
import { t as n } from "./transformDataForGraphFromFile-
|
|
1
|
+
import { t as o, a as t } from "./transformDataForAggregation-sBpdlX8n.js";
|
|
2
|
+
import { t as s } from "./fetchAndParseData-sapWbnYk.js";
|
|
3
|
+
import { t as n } from "./transformDataForGraphFromFile-ComYvzuz.js";
|
|
4
4
|
export {
|
|
5
5
|
s as transformColumnsToArray,
|
|
6
6
|
o as transformDataForAggregation,
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const q=require("./index-BS2TADPj.cjs"),m=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),h=require("./getGraphList-gf02xgT2.cjs"),f=require("./index-CSNtgibC.cjs"),g=require("./uniqBy-O05lp2S5.cjs"),c=[{chartID:"barChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"bulletChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1},{id:"target",required:!1,multiple:!1},{id:"qualitativeRange",required:!1,multiple:!0}]},{chartID:"radarChart",configuration:[{id:"label",required:!1,multiple:!1},{id:"values",required:!0,multiple:!0},{id:"color",required:!1,multiple:!1}]},{chartID:"stackedBarChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",multiple:!0,required:!0},{id:"date",required:!1,multiple:!1}]},{chartID:"groupedBarChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",multiple:!0,required:!0},{id:"date",required:!1,multiple:!1}]},{chartID:"lineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1}]},{chartID:"dualAxisLineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y1",multiple:!1,required:!0},{id:"y2",multiple:!1,required:!0}]},{chartID:"differenceLineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y1",multiple:!1,required:!0},{id:"y2",multiple:!1,required:!0}]},{chartID:"multiLineChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",multiple:!0,required:!0}]},{chartID:"multiLineAltChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",multiple:!1,required:!0},{id:"label",multiple:!1,required:!0},{id:"color",multiple:!1,required:!1}]},{chartID:"stackedAreaChart",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",multiple:!0,required:!0}]},{chartID:"threeDGlobe",configuration:[{id:"id",required:!0,multiple:!1},{id:"x",required:!0,multiple:!1}]},{chartID:"choroplethMap",configuration:[{id:"id",required:!0,multiple:!1},{id:"x",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"biVariateChoroplethMap",configuration:[{id:"id",required:!0,multiple:!1},{id:"x",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"dotDensityMap",configuration:[{id:"lat",required:!0,multiple:!1},{id:"long",required:!0,multiple:!1},{id:"label",multiple:!1,required:!1},{id:"color",multiple:!1,required:!1},{id:"radius",required:!1,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"donutChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1}]},{chartID:"slopeChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"y1",required:!0,multiple:!1},{id:"y2",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"scatterPlot",configuration:[{id:"x",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1},{id:"radius",required:!1,multiple:!1},{id:"color",required:!1,multiple:!1},{id:"label",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"dumbbellChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"x",multiple:!0,required:!0},{id:"date",required:!1,multiple:!1}]},{chartID:"treeMap",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"circlePacking",configuration:[{id:"label",required:!0,multiple:!1},{id:"size",required:!1,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"sankeyChart",configuration:[{id:"source",required:!0,multiple:!1},{id:"target",required:!0,multiple:!1},{id:"value",required:!1,multiple:!1}]},{chartID:"heatMap",configuration:[{id:"row",required:!0,multiple:!1},{id:"column",required:!0,multiple:!1},{id:"value",required:!0,multiple:!1}]},{chartID:"stripChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"position",required:!0,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"statCard",configuration:[{id:"value",required:!0,multiple:!1}]},{chartID:"beeSwarmChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"position",required:!0,multiple:!1},{id:"radius",required:!1,multiple:!1},{id:"color",required:!1,multiple:!1}]},{chartID:"butterflyChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"leftBar",required:!0,multiple:!1},{id:"rightBar",required:!0,multiple:!1},{id:"date",required:!1,multiple:!1}]},{chartID:"lineChartWithConfidenceInterval",configuration:[{id:"date",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1},{id:"yMin",required:!1,multiple:!1},{id:"yMax",required:!1,multiple:!1}]},{chartID:"histogram",configuration:[{id:"value",required:!0,multiple:!1}]},{chartID:"sparkLine",configuration:[{id:"dale",required:!0,multiple:!1},{id:"y",required:!0,multiple:!1}]},{chartID:"paretoChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"bar",required:!0,multiple:!1},{id:"line",required:!0,multiple:!1}]},{chartID:"unitChart",configuration:[{id:"label",required:!0,multiple:!1},{id:"value",required:!0,multiple:!1}]}];function p(t,a){return a.filter(d=>!t.includes(d))}function I(t,a,d){const s=q.flattenDeep(t.map(e=>e.columnId)),u=p(d,s);if(u.length!==0)return{isValid:!1,err:`Key(s) in configuration that don't match keys in the data: ${u.join(", ")}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`};const o=t.map(e=>e.chartConfigId),l=c[c.findIndex(e=>e.chartID===a)].configuration.filter(e=>e.required).map(e=>e.id),i=p(o,l);return{isValid:i.length===0,err:i.length===0?void 0:`Missing required ID(s) in configuration: ${i.join(", ")}`}}function D(t,a,d){if(h.graphList.filter(u=>u.geoHubMapPresentation).map(u=>u.graphID).indexOf(a)!==-1)return t;if(!t)return"Cannot fetch data";if(a==="dataTable"||a==="dataCards"||t.length===0)return t;if(!d)return console.error("Your data configuration is not accurate"),"No graph configuration is provided";const s=I(d,a,Object.keys(t[0]));if(s.isValid){const u=c[c.findIndex(l=>l.chartID===a)].configuration;return t.map(l=>{const i={};return d.filter(e=>e.columnId).forEach(e=>{u[u.findIndex(r=>r.id===e.chartConfigId)].multiple?(i[u[u.findIndex(r=>r.id===e.chartConfigId)].id]=[],e.columnId.forEach(r=>{i[u[u.findIndex(n=>n.id===e.chartConfigId)].id].push(m.checkIfNullOrUndefined(l[r])?null:l[r])})):i[u[u.findIndex(r=>r.id===e.chartConfigId)].id]=m.checkIfNullOrUndefined(l[e.columnId])?null:l[e.columnId],i[`${e.chartConfigId}Columns`]=e.columnId}),i.data=l,i})}return console.error(s.err),s.err}function b(t,a,d){return t.length===0?[]:typeof t[0][a]!="object"?g.uniqBy(t,a).map(l=>{const i={};i[a]=l;const e=t.filter(r=>r[a]===l);return i.count=e.length,i.rollUpData=e,d?.forEach(r=>{i[r.column]=r.aggregationMethod==="average"?parseFloat((f.sum(e.map(n=>n[r.column]))/e.length).toFixed(2)):r.aggregationMethod==="max"?Math.max(...e.map(n=>n[r.column])):r.aggregationMethod==="min"?Math.min(...e.map(n=>n[r.column])):f.sum(e.map(n=>n[r.column]))}),i}):[...new Set(q.flattenDeep(t.map(o=>o[a])))].map(o=>{const l={};l[a]=o;const i=t.filter(e=>e[a].indexOf(o)!==-1);return l.rollUpData=i,l.count=i.length,d?.forEach(e=>{l[e.column]=e.aggregationMethod==="average"?parseFloat((f.sum(i.map(r=>r[e.column]))/i.length).toFixed(2)):e.aggregationMethod==="max"?Math.max(...i.map(r=>r[e.column])):e.aggregationMethod==="min"?Math.min(...i.map(r=>r[e.column])):f.sum(i.map(r=>r[e.column]))}),l})}exports.transformDataForAggregation=b;exports.transformDataForGraph=D;
|
|
2
|
+
//# sourceMappingURL=transformDataForAggregation-KXGm6flX.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformDataForAggregation-BVxVu4yY.cjs","sources":["../src/Utils/transformData/graphConfig.ts","../src/Utils/checkDataValidity.ts","../src/Utils/transformData/transformDataForGraph.ts","../src/Utils/transformData/transformDataForAggregation.ts"],"sourcesContent":["import { GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nexport const ChartConfiguration: {\r\n chartID: GraphType | ThreeDGraphType;\r\n configuration: { id: string; required: boolean; multiple: boolean }[];\r\n}[] = [\r\n {\r\n chartID: 'barChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'bulletChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'qualitativeRange',\r\n required: false,\r\n multiple: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'radarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'values',\r\n required: true,\r\n multiple: true,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'groupedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dualAxisLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'differenceLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineAltChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedAreaChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'threeDGlobe',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'choroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'biVariateChoroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dotDensityMap',\r\n configuration: [\r\n {\r\n id: 'lat',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'long',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'donutChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'slopeChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y2',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'scatterPlot',\r\n configuration: [\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dumbbellChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'treeMap',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'circlePacking',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sankeyChart',\r\n configuration: [\r\n {\r\n id: 'source',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'heatMap',\r\n configuration: [\r\n {\r\n id: 'row',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'column',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stripChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'statCard',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'beeSwarmChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'butterflyChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'leftBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'rightBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChartWithConfidenceInterval',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMin',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMax',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'histogram',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sparkLine',\r\n configuration: [\r\n {\r\n id: 'dale',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'paretoChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'bar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'line',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'unitChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n];\r\n","import flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { ChartConfiguration } from './transformData/graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nfunction missingValuesInArray(superset: string[], subset: string[]): string[] {\r\n return subset.filter(value => !superset.includes(value));\r\n}\r\n\r\nexport function checkDataConfigValidity(\r\n dataConfig: GraphConfigurationDataType[],\r\n graph: GraphType | ThreeDGraphType,\r\n dataKeys: string[],\r\n) {\r\n const dataKeyFromDataConfig = flattenDeep(dataConfig.map(d => d.columnId));\r\n const checkDataKeys = missingValuesInArray(dataKeys, dataKeyFromDataConfig);\r\n if (checkDataKeys.length !== 0)\r\n return {\r\n isValid: false,\r\n err: `Key(s) in configuration that don't match keys in the data: ${checkDataKeys.join(\r\n ', ',\r\n )}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`,\r\n };\r\n const ids = dataConfig.map(el => el.chartConfigId);\r\n const requiredIds = ChartConfiguration[\r\n ChartConfiguration.findIndex(el => el.chartID === graph)\r\n ].configuration\r\n .filter(el => el.required)\r\n .map(el => el.id);\r\n const ifRequiredIdsPresent = missingValuesInArray(ids, requiredIds);\r\n return {\r\n isValid: ifRequiredIdsPresent.length === 0,\r\n err:\r\n ifRequiredIdsPresent.length === 0\r\n ? undefined\r\n : `Missing required ID(s) in configuration: ${ifRequiredIdsPresent.join(', ')}`,\r\n };\r\n}\r\n","import { checkDataConfigValidity } from '../checkDataValidity';\r\nimport { checkIfNullOrUndefined } from '../checkIfNullOrUndefined';\r\nimport { graphList } from '../getGraphList';\r\n\r\nimport { ChartConfiguration } from './graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n/**\r\n * Transforms the input data into a format suitable for graph visualization based on the given graph type and configuration.\r\n *\r\n * The function formats the data according to the specified graph configuration and checks the validity of the configuration.\r\n * It also handles cases for graphs like \"dataTable\" and \"dataCards\" without additional processing, and it processes\r\n * more complex graphs (e.g., charts) with a specific configuration.\r\n *\r\n * @param data - The data to be transformed, typically an array of objects representing rows of data.\r\n * @param graph - The type of graph to transform the data for (e.g., lineChart, barChart, etc.).\r\n * @param config - An optional array of configuration objects that define how the data should be mapped to the graph.\r\n * Each object in the array should define column mappings and how data should be grouped or aggregated.\r\n *\r\n * @returns The transformed data in the format required by the graph. If no valid configuration is provided, or if\r\n * data is invalid, an error message is returned.\r\n * - If the graph type is \"dataTable\" or \"dataCards\", the original data is returned unchanged.\r\n * - If data is invalid, an error message will be returned.\r\n *\r\n * @throws {string} If the configuration is invalid or the data can't be processed, an error message is logged and\r\n * returned.\r\n *\r\n * @example\r\n * const graphData = [\r\n * { category: 'A', value: 10 },\r\n * { category: 'B', value: 15 },\r\n * ];\r\n * const graph = 'barChart';\r\n * const config = [\r\n * { columnId: 'category', chartConfigId: 'label' },\r\n * { columnId: 'value', chartConfigId: 'size' },\r\n * ];\r\n * const transformedData = transformDataForGraph(graphData, graph, config);\r\n * console.log(transformedData);\r\n */\r\nexport function transformDataForGraph(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n graph: GraphType | ThreeDGraphType,\r\n config?: GraphConfigurationDataType[],\r\n) {\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return data;\r\n if (!data) return 'Cannot fetch data';\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0) return data;\r\n if (!config) {\r\n console.error('Your data configuration is not accurate');\r\n return 'No graph configuration is provided';\r\n }\r\n const dataConfigValidity = checkDataConfigValidity(config, graph, Object.keys(data[0]));\r\n if (dataConfigValidity.isValid) {\r\n const chartConfig =\r\n ChartConfiguration[ChartConfiguration.findIndex(d => d.chartID === graph)].configuration;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataFormatted = data.map((d: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const obj: any = {};\r\n config\r\n .filter(el => el.columnId)\r\n .forEach(el => {\r\n if (chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].multiple) {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] = [];\r\n (el.columnId as string[]).forEach(l => {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id].push(\r\n checkIfNullOrUndefined(d[l]) ? null : d[l],\r\n );\r\n });\r\n } else {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] =\r\n checkIfNullOrUndefined(d[el.columnId as string]) ? null : d[el.columnId as string];\r\n }\r\n obj[`${el.chartConfigId}Columns`] = el.columnId;\r\n });\r\n obj.data = d;\r\n return obj;\r\n });\r\n return dataFormatted;\r\n }\r\n console.error(dataConfigValidity.err);\r\n return dataConfigValidity.err;\r\n}\r\n","import uniqBy from 'lodash.uniqby';\r\nimport sum from 'lodash.sum';\r\nimport flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { AggregationSettingsDataType } from '@/Types';\r\n/**\r\n * Transforms the data for aggregation based on a key column and specified aggregation settings.\r\n * It groups the data by unique values in the key column and applies the aggregation methods to each group.\r\n *\r\n * @param data - The input data to be aggregated. Can be an array of objects, where each object represents a data row.\r\n * @param keyColumn - The name of the column to group the data by (key column).\r\n * @param aggregationSettings - Optional settings for the aggregation, specifying the column and aggregation method (e.g., 'average', 'max', 'min', 'sum').\r\n * Each setting can define a column and a corresponding aggregation method to apply to that column.\r\n *\r\n * @returns An array of objects where each object contains the aggregated values for each unique value in the key column.\r\n * Each object includes the key column value, count of occurrences, and the aggregated values for each specified column.\r\n *\r\n * @example\r\n * const data = [\r\n * { category: 'A', value: 10, amount: 5 },\r\n * { category: 'A', value: 20, amount: 10 },\r\n * { category: 'B', value: 15, amount: 7 },\r\n * ];\r\n * const aggregationSettings = [\r\n * { column: 'value', aggregationMethod: 'average' },\r\n * { column: 'amount', aggregationMethod: 'sum' },\r\n * ];\r\n * const transformedData = transformDataForAggregation(data, 'category', aggregationSettings);\r\n * console.log(transformedData);\r\n * // Output:\r\n * // [\r\n * // { category: 'A', count: 2, value: 15, amount: 15 },\r\n * // { category: 'B', count: 1, value: 15, amount: 7 },\r\n * // ]\r\n */\r\nexport function transformDataForAggregation(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n keyColumn: string,\r\n aggregationSettings?: AggregationSettingsDataType[],\r\n) {\r\n if (data.length === 0) return [];\r\n if (typeof data[0][keyColumn] !== 'object') {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const uniqValues = uniqBy(data, (d: any) => d[keyColumn]).map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d[keyColumn];\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn] === d[keyColumn],\r\n );\r\n dataObj.count = filteredData.length;\r\n dataObj.rollUpData = filteredData;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n }\r\n const values = uniqBy(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n flattenDeep(data.map((d: any) => d[keyColumn])),\r\n el => el,\r\n );\r\n const uniqValues = values.map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn].indexOf(d) !== -1,\r\n );\r\n dataObj.rollUpData = filteredData;\r\n dataObj.count = filteredData.length;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n}\r\n"],"names":["ChartConfiguration","missingValuesInArray","superset","subset","value","checkDataConfigValidity","dataConfig","graph","dataKeys","dataKeyFromDataConfig","flattenDeep","d","checkDataKeys","ids","el","requiredIds","ifRequiredIdsPresent","transformDataForGraph","data","config","graphList","dataConfigValidity","chartConfig","obj","k","l","checkIfNullOrUndefined","transformDataForAggregation","keyColumn","aggregationSettings","uniqBy","dataObj","filteredData","j","sum"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transformDataForAggregation-KXGm6flX.cjs","sources":["../src/Utils/transformData/graphConfig.ts","../src/Utils/checkDataValidity.ts","../src/Utils/transformData/transformDataForGraph.ts","../src/Utils/transformData/transformDataForAggregation.ts"],"sourcesContent":["import { GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nexport const ChartConfiguration: {\r\n chartID: GraphType | ThreeDGraphType;\r\n configuration: { id: string; required: boolean; multiple: boolean }[];\r\n}[] = [\r\n {\r\n chartID: 'barChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'bulletChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'qualitativeRange',\r\n required: false,\r\n multiple: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'radarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'values',\r\n required: true,\r\n multiple: true,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'groupedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dualAxisLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'differenceLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineAltChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedAreaChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'threeDGlobe',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'choroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'biVariateChoroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dotDensityMap',\r\n configuration: [\r\n {\r\n id: 'lat',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'long',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'donutChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'slopeChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y2',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'scatterPlot',\r\n configuration: [\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dumbbellChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'treeMap',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'circlePacking',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sankeyChart',\r\n configuration: [\r\n {\r\n id: 'source',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'heatMap',\r\n configuration: [\r\n {\r\n id: 'row',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'column',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stripChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'statCard',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'beeSwarmChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'butterflyChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'leftBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'rightBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChartWithConfidenceInterval',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMin',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMax',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'histogram',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sparkLine',\r\n configuration: [\r\n {\r\n id: 'dale',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'paretoChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'bar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'line',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'unitChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n];\r\n","import flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { ChartConfiguration } from './transformData/graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nfunction missingValuesInArray(superset: string[], subset: string[]): string[] {\r\n return subset.filter(value => !superset.includes(value));\r\n}\r\n\r\nexport function checkDataConfigValidity(\r\n dataConfig: GraphConfigurationDataType[],\r\n graph: GraphType | ThreeDGraphType,\r\n dataKeys: string[],\r\n) {\r\n const dataKeyFromDataConfig = flattenDeep(dataConfig.map(d => d.columnId));\r\n const checkDataKeys = missingValuesInArray(dataKeys, dataKeyFromDataConfig);\r\n if (checkDataKeys.length !== 0)\r\n return {\r\n isValid: false,\r\n err: `Key(s) in configuration that don't match keys in the data: ${checkDataKeys.join(\r\n ', ',\r\n )}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`,\r\n };\r\n const ids = dataConfig.map(el => el.chartConfigId);\r\n const requiredIds = ChartConfiguration[\r\n ChartConfiguration.findIndex(el => el.chartID === graph)\r\n ].configuration\r\n .filter(el => el.required)\r\n .map(el => el.id);\r\n const ifRequiredIdsPresent = missingValuesInArray(ids, requiredIds);\r\n return {\r\n isValid: ifRequiredIdsPresent.length === 0,\r\n err:\r\n ifRequiredIdsPresent.length === 0\r\n ? undefined\r\n : `Missing required ID(s) in configuration: ${ifRequiredIdsPresent.join(', ')}`,\r\n };\r\n}\r\n","import { checkDataConfigValidity } from '../checkDataValidity';\r\nimport { checkIfNullOrUndefined } from '../checkIfNullOrUndefined';\r\nimport { graphList } from '../getGraphList';\r\n\r\nimport { ChartConfiguration } from './graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n/**\r\n * Transforms the input data into a format suitable for graph visualization based on the given graph type and configuration.\r\n *\r\n * The function formats the data according to the specified graph configuration and checks the validity of the configuration.\r\n * It also handles cases for graphs like \"dataTable\" and \"dataCards\" without additional processing, and it processes\r\n * more complex graphs (e.g., charts) with a specific configuration.\r\n *\r\n * @param data - The data to be transformed, typically an array of objects representing rows of data.\r\n * @param graph - The type of graph to transform the data for (e.g., lineChart, barChart, etc.).\r\n * @param config - An optional array of configuration objects that define how the data should be mapped to the graph.\r\n * Each object in the array should define column mappings and how data should be grouped or aggregated.\r\n *\r\n * @returns The transformed data in the format required by the graph. If no valid configuration is provided, or if\r\n * data is invalid, an error message is returned.\r\n * - If the graph type is \"dataTable\" or \"dataCards\", the original data is returned unchanged.\r\n * - If data is invalid, an error message will be returned.\r\n *\r\n * @throws {string} If the configuration is invalid or the data can't be processed, an error message is logged and\r\n * returned.\r\n *\r\n * @example\r\n * const graphData = [\r\n * { category: 'A', value: 10 },\r\n * { category: 'B', value: 15 },\r\n * ];\r\n * const graph = 'barChart';\r\n * const config = [\r\n * { columnId: 'category', chartConfigId: 'label' },\r\n * { columnId: 'value', chartConfigId: 'size' },\r\n * ];\r\n * const transformedData = transformDataForGraph(graphData, graph, config);\r\n * console.log(transformedData);\r\n */\r\nexport function transformDataForGraph(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n graph: GraphType | ThreeDGraphType,\r\n config?: GraphConfigurationDataType[],\r\n) {\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return data;\r\n if (!data) return 'Cannot fetch data';\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0) return data;\r\n if (!config) {\r\n console.error('Your data configuration is not accurate');\r\n return 'No graph configuration is provided';\r\n }\r\n const dataConfigValidity = checkDataConfigValidity(config, graph, Object.keys(data[0]));\r\n if (dataConfigValidity.isValid) {\r\n const chartConfig =\r\n ChartConfiguration[ChartConfiguration.findIndex(d => d.chartID === graph)].configuration;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataFormatted = data.map((d: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const obj: any = {};\r\n config\r\n .filter(el => el.columnId)\r\n .forEach(el => {\r\n if (chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].multiple) {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] = [];\r\n (el.columnId as string[]).forEach(l => {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id].push(\r\n checkIfNullOrUndefined(d[l]) ? null : d[l],\r\n );\r\n });\r\n } else {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] =\r\n checkIfNullOrUndefined(d[el.columnId as string]) ? null : d[el.columnId as string];\r\n }\r\n obj[`${el.chartConfigId}Columns`] = el.columnId;\r\n });\r\n obj.data = d;\r\n return obj;\r\n });\r\n return dataFormatted;\r\n }\r\n console.error(dataConfigValidity.err);\r\n return dataConfigValidity.err;\r\n}\r\n","import sum from 'lodash.sum';\r\nimport flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { uniqBy } from '../uniqBy';\r\n\r\nimport { AggregationSettingsDataType } from '@/Types';\r\n/**\r\n * Transforms the data for aggregation based on a key column and specified aggregation settings.\r\n * It groups the data by unique values in the key column and applies the aggregation methods to each group.\r\n *\r\n * @param data - The input data to be aggregated. Can be an array of objects, where each object represents a data row.\r\n * @param keyColumn - The name of the column to group the data by (key column).\r\n * @param aggregationSettings - Optional settings for the aggregation, specifying the column and aggregation method (e.g., 'average', 'max', 'min', 'sum').\r\n * Each setting can define a column and a corresponding aggregation method to apply to that column.\r\n *\r\n * @returns An array of objects where each object contains the aggregated values for each unique value in the key column.\r\n * Each object includes the key column value, count of occurrences, and the aggregated values for each specified column.\r\n *\r\n * @example\r\n * const data = [\r\n * { category: 'A', value: 10, amount: 5 },\r\n * { category: 'A', value: 20, amount: 10 },\r\n * { category: 'B', value: 15, amount: 7 },\r\n * ];\r\n * const aggregationSettings = [\r\n * { column: 'value', aggregationMethod: 'average' },\r\n * { column: 'amount', aggregationMethod: 'sum' },\r\n * ];\r\n * const transformedData = transformDataForAggregation(data, 'category', aggregationSettings);\r\n * console.log(transformedData);\r\n * // Output:\r\n * // [\r\n * // { category: 'A', count: 2, value: 15, amount: 15 },\r\n * // { category: 'B', count: 1, value: 15, amount: 7 },\r\n * // ]\r\n */\r\nexport function transformDataForAggregation(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n keyColumn: string,\r\n aggregationSettings?: AggregationSettingsDataType[],\r\n) {\r\n if (data.length === 0) return [];\r\n if (typeof data[0][keyColumn] !== 'object') {\r\n const uniqValues = uniqBy(data, keyColumn).map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn] === d,\r\n );\r\n dataObj.count = filteredData.length;\r\n dataObj.rollUpData = filteredData;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const values = [...new Set(flattenDeep(data.map((d: any) => d[keyColumn])))];\r\n const uniqValues = values.map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn].indexOf(d) !== -1,\r\n );\r\n dataObj.rollUpData = filteredData;\r\n dataObj.count = filteredData.length;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n}\r\n"],"names":["ChartConfiguration","missingValuesInArray","superset","subset","value","checkDataConfigValidity","dataConfig","graph","dataKeys","dataKeyFromDataConfig","flattenDeep","d","checkDataKeys","ids","el","requiredIds","ifRequiredIdsPresent","transformDataForGraph","data","config","graphList","dataConfigValidity","chartConfig","obj","k","l","checkIfNullOrUndefined","transformDataForAggregation","keyColumn","aggregationSettings","uniqBy","dataObj","filteredData","j","sum"],"mappings":"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"}
|
package/dist/{transformDataForAggregation-1BYVFqvF.js → transformDataForAggregation-sBpdlX8n.js}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { f as
|
|
2
|
-
import { c
|
|
3
|
-
import { g } from "./getGraphList-DuColTJM.js";
|
|
4
|
-
import { u as p } from "./index-AqnpA7_O.js";
|
|
1
|
+
import { f as q } from "./index-EArKRVKg.js";
|
|
2
|
+
import { c } from "./checkIfNullOrUndefined-DmfiKkNw.js";
|
|
3
|
+
import { g as h } from "./getGraphList-DuColTJM.js";
|
|
5
4
|
import { s } from "./index-CeVNqhMO.js";
|
|
6
|
-
|
|
5
|
+
import { u as g } from "./uniqBy-BHy4I8PK.js";
|
|
6
|
+
const m = [
|
|
7
7
|
{
|
|
8
8
|
chartID: "barChart",
|
|
9
9
|
configuration: [
|
|
@@ -660,11 +660,11 @@ const c = [
|
|
|
660
660
|
]
|
|
661
661
|
}
|
|
662
662
|
];
|
|
663
|
-
function
|
|
664
|
-
return
|
|
663
|
+
function p(t, a) {
|
|
664
|
+
return a.filter((d) => !t.includes(d));
|
|
665
665
|
}
|
|
666
|
-
function I(
|
|
667
|
-
const f =
|
|
666
|
+
function I(t, a, d) {
|
|
667
|
+
const f = q(t.map((e) => e.columnId)), u = p(d, f);
|
|
668
668
|
if (u.length !== 0)
|
|
669
669
|
return {
|
|
670
670
|
isValid: !1,
|
|
@@ -672,71 +672,67 @@ function I(a, l, d) {
|
|
|
672
672
|
", "
|
|
673
673
|
)}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`
|
|
674
674
|
};
|
|
675
|
-
const
|
|
675
|
+
const o = t.map((e) => e.chartConfigId), l = m[m.findIndex((e) => e.chartID === a)].configuration.filter((e) => e.required).map((e) => e.id), i = p(o, l);
|
|
676
676
|
return {
|
|
677
677
|
isValid: i.length === 0,
|
|
678
678
|
err: i.length === 0 ? void 0 : `Missing required ID(s) in configuration: ${i.join(", ")}`
|
|
679
679
|
};
|
|
680
680
|
}
|
|
681
|
-
function M(
|
|
682
|
-
if (
|
|
683
|
-
return
|
|
684
|
-
if (!
|
|
685
|
-
if (
|
|
681
|
+
function M(t, a, d) {
|
|
682
|
+
if (h.filter((u) => u.geoHubMapPresentation).map((u) => u.graphID).indexOf(a) !== -1)
|
|
683
|
+
return t;
|
|
684
|
+
if (!t) return "Cannot fetch data";
|
|
685
|
+
if (a === "dataTable" || a === "dataCards" || t.length === 0) return t;
|
|
686
686
|
if (!d)
|
|
687
687
|
return console.error("Your data configuration is not accurate"), "No graph configuration is provided";
|
|
688
|
-
const f = I(d,
|
|
688
|
+
const f = I(d, a, Object.keys(t[0]));
|
|
689
689
|
if (f.isValid) {
|
|
690
|
-
const u =
|
|
691
|
-
return
|
|
690
|
+
const u = m[m.findIndex((l) => l.chartID === a)].configuration;
|
|
691
|
+
return t.map((l) => {
|
|
692
692
|
const i = {};
|
|
693
693
|
return d.filter((e) => e.columnId).forEach((e) => {
|
|
694
694
|
u[u.findIndex((r) => r.id === e.chartConfigId)].multiple ? (i[u[u.findIndex((r) => r.id === e.chartConfigId)].id] = [], e.columnId.forEach((r) => {
|
|
695
|
-
i[u[u.findIndex((
|
|
696
|
-
|
|
695
|
+
i[u[u.findIndex((n) => n.id === e.chartConfigId)].id].push(
|
|
696
|
+
c(l[r]) ? null : l[r]
|
|
697
697
|
);
|
|
698
|
-
})) : i[u[u.findIndex((r) => r.id === e.chartConfigId)].id] =
|
|
699
|
-
}), i.data =
|
|
698
|
+
})) : i[u[u.findIndex((r) => r.id === e.chartConfigId)].id] = c(l[e.columnId]) ? null : l[e.columnId], i[`${e.chartConfigId}Columns`] = e.columnId;
|
|
699
|
+
}), i.data = l, i;
|
|
700
700
|
});
|
|
701
701
|
}
|
|
702
702
|
return console.error(f.err), f.err;
|
|
703
703
|
}
|
|
704
|
-
function v(
|
|
705
|
-
return
|
|
704
|
+
function v(t, a, d) {
|
|
705
|
+
return t.length === 0 ? [] : typeof t[0][a] != "object" ? g(t, a).map((l) => {
|
|
706
706
|
const i = {};
|
|
707
|
-
i[
|
|
708
|
-
const e =
|
|
707
|
+
i[a] = l;
|
|
708
|
+
const e = t.filter(
|
|
709
709
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
710
|
-
(r) => r[
|
|
710
|
+
(r) => r[a] === l
|
|
711
711
|
);
|
|
712
712
|
return i.count = e.length, i.rollUpData = e, d?.forEach((r) => {
|
|
713
713
|
i[r.column] = r.aggregationMethod === "average" ? parseFloat(
|
|
714
714
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
715
|
-
(s(e.map((
|
|
715
|
+
(s(e.map((n) => n[r.column])) / e.length).toFixed(2)
|
|
716
716
|
) : r.aggregationMethod === "max" ? (
|
|
717
717
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
718
|
-
Math.max(...e.map((
|
|
718
|
+
Math.max(...e.map((n) => n[r.column]))
|
|
719
719
|
) : r.aggregationMethod === "min" ? (
|
|
720
720
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
721
|
-
Math.min(...e.map((
|
|
721
|
+
Math.min(...e.map((n) => n[r.column]))
|
|
722
722
|
) : (
|
|
723
723
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
724
|
-
s(e.map((
|
|
724
|
+
s(e.map((n) => n[r.column]))
|
|
725
725
|
);
|
|
726
726
|
}), i;
|
|
727
|
-
}) :
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
).map((n) => {
|
|
732
|
-
const t = {};
|
|
733
|
-
t[l] = n;
|
|
734
|
-
const i = a.filter(
|
|
727
|
+
}) : [...new Set(q(t.map((o) => o[a])))].map((o) => {
|
|
728
|
+
const l = {};
|
|
729
|
+
l[a] = o;
|
|
730
|
+
const i = t.filter(
|
|
735
731
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
736
|
-
(e) => e[
|
|
732
|
+
(e) => e[a].indexOf(o) !== -1
|
|
737
733
|
);
|
|
738
|
-
return
|
|
739
|
-
|
|
734
|
+
return l.rollUpData = i, l.count = i.length, d?.forEach((e) => {
|
|
735
|
+
l[e.column] = e.aggregationMethod === "average" ? parseFloat(
|
|
740
736
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
741
737
|
(s(i.map((r) => r[e.column])) / i.length).toFixed(2)
|
|
742
738
|
) : e.aggregationMethod === "max" ? (
|
|
@@ -749,11 +745,11 @@ function v(a, l, d) {
|
|
|
749
745
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
750
746
|
s(i.map((r) => r[e.column]))
|
|
751
747
|
);
|
|
752
|
-
}),
|
|
748
|
+
}), l;
|
|
753
749
|
});
|
|
754
750
|
}
|
|
755
751
|
export {
|
|
756
752
|
M as a,
|
|
757
753
|
v as t
|
|
758
754
|
};
|
|
759
|
-
//# sourceMappingURL=transformDataForAggregation-
|
|
755
|
+
//# sourceMappingURL=transformDataForAggregation-sBpdlX8n.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformDataForAggregation-1BYVFqvF.js","sources":["../src/Utils/transformData/graphConfig.ts","../src/Utils/checkDataValidity.ts","../src/Utils/transformData/transformDataForGraph.ts","../src/Utils/transformData/transformDataForAggregation.ts"],"sourcesContent":["import { GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nexport const ChartConfiguration: {\r\n chartID: GraphType | ThreeDGraphType;\r\n configuration: { id: string; required: boolean; multiple: boolean }[];\r\n}[] = [\r\n {\r\n chartID: 'barChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'bulletChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'qualitativeRange',\r\n required: false,\r\n multiple: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'radarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'values',\r\n required: true,\r\n multiple: true,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'groupedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dualAxisLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'differenceLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineAltChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedAreaChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'threeDGlobe',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'choroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'biVariateChoroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dotDensityMap',\r\n configuration: [\r\n {\r\n id: 'lat',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'long',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'donutChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'slopeChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y2',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'scatterPlot',\r\n configuration: [\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dumbbellChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'treeMap',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'circlePacking',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sankeyChart',\r\n configuration: [\r\n {\r\n id: 'source',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'heatMap',\r\n configuration: [\r\n {\r\n id: 'row',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'column',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stripChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'statCard',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'beeSwarmChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'butterflyChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'leftBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'rightBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChartWithConfidenceInterval',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMin',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMax',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'histogram',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sparkLine',\r\n configuration: [\r\n {\r\n id: 'dale',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'paretoChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'bar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'line',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'unitChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n];\r\n","import flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { ChartConfiguration } from './transformData/graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nfunction missingValuesInArray(superset: string[], subset: string[]): string[] {\r\n return subset.filter(value => !superset.includes(value));\r\n}\r\n\r\nexport function checkDataConfigValidity(\r\n dataConfig: GraphConfigurationDataType[],\r\n graph: GraphType | ThreeDGraphType,\r\n dataKeys: string[],\r\n) {\r\n const dataKeyFromDataConfig = flattenDeep(dataConfig.map(d => d.columnId));\r\n const checkDataKeys = missingValuesInArray(dataKeys, dataKeyFromDataConfig);\r\n if (checkDataKeys.length !== 0)\r\n return {\r\n isValid: false,\r\n err: `Key(s) in configuration that don't match keys in the data: ${checkDataKeys.join(\r\n ', ',\r\n )}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`,\r\n };\r\n const ids = dataConfig.map(el => el.chartConfigId);\r\n const requiredIds = ChartConfiguration[\r\n ChartConfiguration.findIndex(el => el.chartID === graph)\r\n ].configuration\r\n .filter(el => el.required)\r\n .map(el => el.id);\r\n const ifRequiredIdsPresent = missingValuesInArray(ids, requiredIds);\r\n return {\r\n isValid: ifRequiredIdsPresent.length === 0,\r\n err:\r\n ifRequiredIdsPresent.length === 0\r\n ? undefined\r\n : `Missing required ID(s) in configuration: ${ifRequiredIdsPresent.join(', ')}`,\r\n };\r\n}\r\n","import { checkDataConfigValidity } from '../checkDataValidity';\r\nimport { checkIfNullOrUndefined } from '../checkIfNullOrUndefined';\r\nimport { graphList } from '../getGraphList';\r\n\r\nimport { ChartConfiguration } from './graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n/**\r\n * Transforms the input data into a format suitable for graph visualization based on the given graph type and configuration.\r\n *\r\n * The function formats the data according to the specified graph configuration and checks the validity of the configuration.\r\n * It also handles cases for graphs like \"dataTable\" and \"dataCards\" without additional processing, and it processes\r\n * more complex graphs (e.g., charts) with a specific configuration.\r\n *\r\n * @param data - The data to be transformed, typically an array of objects representing rows of data.\r\n * @param graph - The type of graph to transform the data for (e.g., lineChart, barChart, etc.).\r\n * @param config - An optional array of configuration objects that define how the data should be mapped to the graph.\r\n * Each object in the array should define column mappings and how data should be grouped or aggregated.\r\n *\r\n * @returns The transformed data in the format required by the graph. If no valid configuration is provided, or if\r\n * data is invalid, an error message is returned.\r\n * - If the graph type is \"dataTable\" or \"dataCards\", the original data is returned unchanged.\r\n * - If data is invalid, an error message will be returned.\r\n *\r\n * @throws {string} If the configuration is invalid or the data can't be processed, an error message is logged and\r\n * returned.\r\n *\r\n * @example\r\n * const graphData = [\r\n * { category: 'A', value: 10 },\r\n * { category: 'B', value: 15 },\r\n * ];\r\n * const graph = 'barChart';\r\n * const config = [\r\n * { columnId: 'category', chartConfigId: 'label' },\r\n * { columnId: 'value', chartConfigId: 'size' },\r\n * ];\r\n * const transformedData = transformDataForGraph(graphData, graph, config);\r\n * console.log(transformedData);\r\n */\r\nexport function transformDataForGraph(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n graph: GraphType | ThreeDGraphType,\r\n config?: GraphConfigurationDataType[],\r\n) {\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return data;\r\n if (!data) return 'Cannot fetch data';\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0) return data;\r\n if (!config) {\r\n console.error('Your data configuration is not accurate');\r\n return 'No graph configuration is provided';\r\n }\r\n const dataConfigValidity = checkDataConfigValidity(config, graph, Object.keys(data[0]));\r\n if (dataConfigValidity.isValid) {\r\n const chartConfig =\r\n ChartConfiguration[ChartConfiguration.findIndex(d => d.chartID === graph)].configuration;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataFormatted = data.map((d: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const obj: any = {};\r\n config\r\n .filter(el => el.columnId)\r\n .forEach(el => {\r\n if (chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].multiple) {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] = [];\r\n (el.columnId as string[]).forEach(l => {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id].push(\r\n checkIfNullOrUndefined(d[l]) ? null : d[l],\r\n );\r\n });\r\n } else {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] =\r\n checkIfNullOrUndefined(d[el.columnId as string]) ? null : d[el.columnId as string];\r\n }\r\n obj[`${el.chartConfigId}Columns`] = el.columnId;\r\n });\r\n obj.data = d;\r\n return obj;\r\n });\r\n return dataFormatted;\r\n }\r\n console.error(dataConfigValidity.err);\r\n return dataConfigValidity.err;\r\n}\r\n","import uniqBy from 'lodash.uniqby';\r\nimport sum from 'lodash.sum';\r\nimport flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { AggregationSettingsDataType } from '@/Types';\r\n/**\r\n * Transforms the data for aggregation based on a key column and specified aggregation settings.\r\n * It groups the data by unique values in the key column and applies the aggregation methods to each group.\r\n *\r\n * @param data - The input data to be aggregated. Can be an array of objects, where each object represents a data row.\r\n * @param keyColumn - The name of the column to group the data by (key column).\r\n * @param aggregationSettings - Optional settings for the aggregation, specifying the column and aggregation method (e.g., 'average', 'max', 'min', 'sum').\r\n * Each setting can define a column and a corresponding aggregation method to apply to that column.\r\n *\r\n * @returns An array of objects where each object contains the aggregated values for each unique value in the key column.\r\n * Each object includes the key column value, count of occurrences, and the aggregated values for each specified column.\r\n *\r\n * @example\r\n * const data = [\r\n * { category: 'A', value: 10, amount: 5 },\r\n * { category: 'A', value: 20, amount: 10 },\r\n * { category: 'B', value: 15, amount: 7 },\r\n * ];\r\n * const aggregationSettings = [\r\n * { column: 'value', aggregationMethod: 'average' },\r\n * { column: 'amount', aggregationMethod: 'sum' },\r\n * ];\r\n * const transformedData = transformDataForAggregation(data, 'category', aggregationSettings);\r\n * console.log(transformedData);\r\n * // Output:\r\n * // [\r\n * // { category: 'A', count: 2, value: 15, amount: 15 },\r\n * // { category: 'B', count: 1, value: 15, amount: 7 },\r\n * // ]\r\n */\r\nexport function transformDataForAggregation(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n keyColumn: string,\r\n aggregationSettings?: AggregationSettingsDataType[],\r\n) {\r\n if (data.length === 0) return [];\r\n if (typeof data[0][keyColumn] !== 'object') {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const uniqValues = uniqBy(data, (d: any) => d[keyColumn]).map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d[keyColumn];\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn] === d[keyColumn],\r\n );\r\n dataObj.count = filteredData.length;\r\n dataObj.rollUpData = filteredData;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n }\r\n const values = uniqBy(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n flattenDeep(data.map((d: any) => d[keyColumn])),\r\n el => el,\r\n );\r\n const uniqValues = values.map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn].indexOf(d) !== -1,\r\n );\r\n dataObj.rollUpData = filteredData;\r\n dataObj.count = filteredData.length;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n}\r\n"],"names":["ChartConfiguration","missingValuesInArray","superset","subset","value","checkDataConfigValidity","dataConfig","graph","dataKeys","dataKeyFromDataConfig","flattenDeep","d","checkDataKeys","ids","el","requiredIds","ifRequiredIdsPresent","transformDataForGraph","data","config","graphList","dataConfigValidity","chartConfig","obj","k","l","checkIfNullOrUndefined","transformDataForAggregation","keyColumn","aggregationSettings","uniqBy","dataObj","filteredData","j","sum"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transformDataForAggregation-sBpdlX8n.js","sources":["../src/Utils/transformData/graphConfig.ts","../src/Utils/checkDataValidity.ts","../src/Utils/transformData/transformDataForGraph.ts","../src/Utils/transformData/transformDataForAggregation.ts"],"sourcesContent":["import { GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nexport const ChartConfiguration: {\r\n chartID: GraphType | ThreeDGraphType;\r\n configuration: { id: string; required: boolean; multiple: boolean }[];\r\n}[] = [\r\n {\r\n chartID: 'barChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'bulletChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'qualitativeRange',\r\n required: false,\r\n multiple: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'radarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'values',\r\n required: true,\r\n multiple: true,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'groupedBarChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dualAxisLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'differenceLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'y2',\r\n multiple: false,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'multiLineAltChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: true,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stackedAreaChart',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n multiple: true,\r\n required: true,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'threeDGlobe',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'choroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'biVariateChoroplethMap',\r\n configuration: [\r\n {\r\n id: 'id',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dotDensityMap',\r\n configuration: [\r\n {\r\n id: 'lat',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'long',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'color',\r\n multiple: false,\r\n required: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'donutChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'slopeChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y1',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y2',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'scatterPlot',\r\n configuration: [\r\n {\r\n id: 'x',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'dumbbellChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'x',\r\n multiple: true,\r\n required: true,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'treeMap',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'circlePacking',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'size',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sankeyChart',\r\n configuration: [\r\n {\r\n id: 'source',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'target',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'heatMap',\r\n configuration: [\r\n {\r\n id: 'row',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'column',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'stripChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'statCard',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'beeSwarmChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'position',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'radius',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'color',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'butterflyChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'leftBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'rightBar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'date',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'lineChartWithConfidenceInterval',\r\n configuration: [\r\n {\r\n id: 'date',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMin',\r\n required: false,\r\n multiple: false,\r\n },\r\n {\r\n id: 'yMax',\r\n required: false,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'histogram',\r\n configuration: [\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'sparkLine',\r\n configuration: [\r\n {\r\n id: 'dale',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'y',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'paretoChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'bar',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'line',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n {\r\n chartID: 'unitChart',\r\n configuration: [\r\n {\r\n id: 'label',\r\n required: true,\r\n multiple: false,\r\n },\r\n {\r\n id: 'value',\r\n required: true,\r\n multiple: false,\r\n },\r\n ],\r\n },\r\n];\r\n","import flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { ChartConfiguration } from './transformData/graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n\r\nfunction missingValuesInArray(superset: string[], subset: string[]): string[] {\r\n return subset.filter(value => !superset.includes(value));\r\n}\r\n\r\nexport function checkDataConfigValidity(\r\n dataConfig: GraphConfigurationDataType[],\r\n graph: GraphType | ThreeDGraphType,\r\n dataKeys: string[],\r\n) {\r\n const dataKeyFromDataConfig = flattenDeep(dataConfig.map(d => d.columnId));\r\n const checkDataKeys = missingValuesInArray(dataKeys, dataKeyFromDataConfig);\r\n if (checkDataKeys.length !== 0)\r\n return {\r\n isValid: false,\r\n err: `Key(s) in configuration that don't match keys in the data: ${checkDataKeys.join(\r\n ', ',\r\n )}. Possible reason: If you are using 'dataTransform' then the allowed keys (columns) are only the one present in 'aggregationColumnsSetting' array in 'dataTransform' object plus an additional key called 'count'.`,\r\n };\r\n const ids = dataConfig.map(el => el.chartConfigId);\r\n const requiredIds = ChartConfiguration[\r\n ChartConfiguration.findIndex(el => el.chartID === graph)\r\n ].configuration\r\n .filter(el => el.required)\r\n .map(el => el.id);\r\n const ifRequiredIdsPresent = missingValuesInArray(ids, requiredIds);\r\n return {\r\n isValid: ifRequiredIdsPresent.length === 0,\r\n err:\r\n ifRequiredIdsPresent.length === 0\r\n ? undefined\r\n : `Missing required ID(s) in configuration: ${ifRequiredIdsPresent.join(', ')}`,\r\n };\r\n}\r\n","import { checkDataConfigValidity } from '../checkDataValidity';\r\nimport { checkIfNullOrUndefined } from '../checkIfNullOrUndefined';\r\nimport { graphList } from '../getGraphList';\r\n\r\nimport { ChartConfiguration } from './graphConfig';\r\n\r\nimport { GraphConfigurationDataType, GraphType, ThreeDGraphType } from '@/Types';\r\n/**\r\n * Transforms the input data into a format suitable for graph visualization based on the given graph type and configuration.\r\n *\r\n * The function formats the data according to the specified graph configuration and checks the validity of the configuration.\r\n * It also handles cases for graphs like \"dataTable\" and \"dataCards\" without additional processing, and it processes\r\n * more complex graphs (e.g., charts) with a specific configuration.\r\n *\r\n * @param data - The data to be transformed, typically an array of objects representing rows of data.\r\n * @param graph - The type of graph to transform the data for (e.g., lineChart, barChart, etc.).\r\n * @param config - An optional array of configuration objects that define how the data should be mapped to the graph.\r\n * Each object in the array should define column mappings and how data should be grouped or aggregated.\r\n *\r\n * @returns The transformed data in the format required by the graph. If no valid configuration is provided, or if\r\n * data is invalid, an error message is returned.\r\n * - If the graph type is \"dataTable\" or \"dataCards\", the original data is returned unchanged.\r\n * - If data is invalid, an error message will be returned.\r\n *\r\n * @throws {string} If the configuration is invalid or the data can't be processed, an error message is logged and\r\n * returned.\r\n *\r\n * @example\r\n * const graphData = [\r\n * { category: 'A', value: 10 },\r\n * { category: 'B', value: 15 },\r\n * ];\r\n * const graph = 'barChart';\r\n * const config = [\r\n * { columnId: 'category', chartConfigId: 'label' },\r\n * { columnId: 'value', chartConfigId: 'size' },\r\n * ];\r\n * const transformedData = transformDataForGraph(graphData, graph, config);\r\n * console.log(transformedData);\r\n */\r\nexport function transformDataForGraph(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n graph: GraphType | ThreeDGraphType,\r\n config?: GraphConfigurationDataType[],\r\n) {\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return data;\r\n if (!data) return 'Cannot fetch data';\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0) return data;\r\n if (!config) {\r\n console.error('Your data configuration is not accurate');\r\n return 'No graph configuration is provided';\r\n }\r\n const dataConfigValidity = checkDataConfigValidity(config, graph, Object.keys(data[0]));\r\n if (dataConfigValidity.isValid) {\r\n const chartConfig =\r\n ChartConfiguration[ChartConfiguration.findIndex(d => d.chartID === graph)].configuration;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataFormatted = data.map((d: any) => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const obj: any = {};\r\n config\r\n .filter(el => el.columnId)\r\n .forEach(el => {\r\n if (chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].multiple) {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] = [];\r\n (el.columnId as string[]).forEach(l => {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id].push(\r\n checkIfNullOrUndefined(d[l]) ? null : d[l],\r\n );\r\n });\r\n } else {\r\n obj[chartConfig[chartConfig.findIndex(k => k.id === el.chartConfigId)].id] =\r\n checkIfNullOrUndefined(d[el.columnId as string]) ? null : d[el.columnId as string];\r\n }\r\n obj[`${el.chartConfigId}Columns`] = el.columnId;\r\n });\r\n obj.data = d;\r\n return obj;\r\n });\r\n return dataFormatted;\r\n }\r\n console.error(dataConfigValidity.err);\r\n return dataConfigValidity.err;\r\n}\r\n","import sum from 'lodash.sum';\r\nimport flattenDeep from 'lodash.flattendeep';\r\n\r\nimport { uniqBy } from '../uniqBy';\r\n\r\nimport { AggregationSettingsDataType } from '@/Types';\r\n/**\r\n * Transforms the data for aggregation based on a key column and specified aggregation settings.\r\n * It groups the data by unique values in the key column and applies the aggregation methods to each group.\r\n *\r\n * @param data - The input data to be aggregated. Can be an array of objects, where each object represents a data row.\r\n * @param keyColumn - The name of the column to group the data by (key column).\r\n * @param aggregationSettings - Optional settings for the aggregation, specifying the column and aggregation method (e.g., 'average', 'max', 'min', 'sum').\r\n * Each setting can define a column and a corresponding aggregation method to apply to that column.\r\n *\r\n * @returns An array of objects where each object contains the aggregated values for each unique value in the key column.\r\n * Each object includes the key column value, count of occurrences, and the aggregated values for each specified column.\r\n *\r\n * @example\r\n * const data = [\r\n * { category: 'A', value: 10, amount: 5 },\r\n * { category: 'A', value: 20, amount: 10 },\r\n * { category: 'B', value: 15, amount: 7 },\r\n * ];\r\n * const aggregationSettings = [\r\n * { column: 'value', aggregationMethod: 'average' },\r\n * { column: 'amount', aggregationMethod: 'sum' },\r\n * ];\r\n * const transformedData = transformDataForAggregation(data, 'category', aggregationSettings);\r\n * console.log(transformedData);\r\n * // Output:\r\n * // [\r\n * // { category: 'A', count: 2, value: 15, amount: 15 },\r\n * // { category: 'B', count: 1, value: 15, amount: 7 },\r\n * // ]\r\n */\r\nexport function transformDataForAggregation(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n data: any,\r\n keyColumn: string,\r\n aggregationSettings?: AggregationSettingsDataType[],\r\n) {\r\n if (data.length === 0) return [];\r\n if (typeof data[0][keyColumn] !== 'object') {\r\n const uniqValues = uniqBy(data, keyColumn).map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn] === d,\r\n );\r\n dataObj.count = filteredData.length;\r\n dataObj.rollUpData = filteredData;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const values = [...new Set(flattenDeep(data.map((d: any) => d[keyColumn])))];\r\n const uniqValues = values.map(d => {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const dataObj: any = {};\r\n dataObj[keyColumn] = d;\r\n const filteredData = data.filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (j: any) => j[keyColumn].indexOf(d) !== -1,\r\n );\r\n dataObj.rollUpData = filteredData;\r\n dataObj.count = filteredData.length;\r\n aggregationSettings?.forEach(el => {\r\n dataObj[el.column] =\r\n el.aggregationMethod === 'average'\r\n ? parseFloat(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (sum(filteredData.map((j: any) => j[el.column])) / filteredData.length).toFixed(2),\r\n )\r\n : el.aggregationMethod === 'max'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.max(...filteredData.map((j: any) => j[el.column]))\r\n : el.aggregationMethod === 'min'\r\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n Math.min(...filteredData.map((j: any) => j[el.column]))\r\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sum(filteredData.map((j: any) => j[el.column]));\r\n });\r\n return dataObj;\r\n });\r\n return uniqValues;\r\n}\r\n"],"names":["ChartConfiguration","missingValuesInArray","superset","subset","value","checkDataConfigValidity","dataConfig","graph","dataKeys","dataKeyFromDataConfig","flattenDeep","d","checkDataKeys","ids","el","requiredIds","ifRequiredIdsPresent","transformDataForGraph","data","config","graphList","dataConfigValidity","chartConfig","obj","k","l","checkIfNullOrUndefined","transformDataForAggregation","keyColumn","aggregationSettings","uniqBy","dataObj","filteredData","j","sum"],"mappings":"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"}
|