@hisptz/dhis2-analytics 2.0.56 → 2.0.58
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/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +23 -5
- package/dist/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +2 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -1
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css +1 -2
- package/dist/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js +24 -6
- package/dist/esm/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js +2 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.js.map +1 -1
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css +1 -2
- package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.d.ts.map +1 -1
- package/dist/types/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -3,25 +3,43 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var ui = require('@dhis2/ui');
|
|
5
5
|
var lodash = require('lodash');
|
|
6
|
+
var hooks = require('../../../../../MapProvider/hooks');
|
|
6
7
|
|
|
7
8
|
function LegendCardHeader({
|
|
8
9
|
title,
|
|
9
10
|
collapsible,
|
|
10
11
|
onCollapse
|
|
11
12
|
}) {
|
|
13
|
+
const { periods } = hooks.useMapPeriods() ?? {};
|
|
14
|
+
const periodLabel = periods?.map((period) => period.name).join(", ");
|
|
12
15
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
13
16
|
"div",
|
|
14
17
|
{
|
|
15
18
|
style: {
|
|
16
19
|
display: "flex",
|
|
20
|
+
flexDirection: "column",
|
|
21
|
+
gap: 2,
|
|
17
22
|
width: "100%",
|
|
18
|
-
|
|
19
|
-
alignItems: "center",
|
|
20
|
-
padding: 8
|
|
23
|
+
padding: 4
|
|
21
24
|
},
|
|
22
25
|
children: [
|
|
23
|
-
/* @__PURE__ */ jsxRuntime.
|
|
24
|
-
|
|
26
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
27
|
+
"div",
|
|
28
|
+
{
|
|
29
|
+
style: {
|
|
30
|
+
display: "flex",
|
|
31
|
+
width: "100%",
|
|
32
|
+
justifyContent: "space-between",
|
|
33
|
+
alignItems: "center",
|
|
34
|
+
gap: 8
|
|
35
|
+
},
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { style: { margin: 0 }, className: "legend-header", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { content: title, children: lodash.truncate(title, { length: 20, omission: "..." }) }) }),
|
|
38
|
+
collapsible && /* @__PURE__ */ jsxRuntime.jsx("div", { onClick: onCollapse, children: /* @__PURE__ */ jsxRuntime.jsx(ui.IconLaunch16, {}) })
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
periodLabel && /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { content: periodLabel, children: /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: ui.colors.grey700 }, children: lodash.truncate(periodLabel, { length: 20, omission: "..." }) }) })
|
|
25
43
|
]
|
|
26
44
|
}
|
|
27
45
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.tsx"],"names":["jsxs","jsx","Tooltip","truncate","IconLaunch16"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.tsx"],"names":["useMapPeriods","jsxs","jsx","Tooltip","truncate","IconLaunch16","colors"],"mappings":";;;;;;;AAKe,SAAR,gBAAkC,CAAA;AAAA,EACxC,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AACD,CAIG,EAAA;AACF,EAAA,MAAM,EAAE,OAAA,EAAY,GAAAA,mBAAA,MAAmB,EAAC,CAAA;AACxC,EAAM,MAAA,WAAA,GAAc,SAAS,GAAI,CAAA,CAAC,WAAW,MAAO,CAAA,IAAI,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AACnE,EACC,uBAAAC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,OAAS,EAAA,MAAA;AAAA,QACT,aAAe,EAAA,QAAA;AAAA,QACf,GAAK,EAAA,CAAA;AAAA,QACL,KAAO,EAAA,MAAA;AAAA,QACP,OAAS,EAAA,CAAA;AAAA,OACV;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAA,eAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAO,EAAA;AAAA,cACN,OAAS,EAAA,MAAA;AAAA,cACT,KAAO,EAAA,MAAA;AAAA,cACP,cAAgB,EAAA,eAAA;AAAA,cAChB,UAAY,EAAA,QAAA;AAAA,cACZ,GAAK,EAAA,CAAA;AAAA,aACN;AAAA,YAEA,QAAA,EAAA;AAAA,8BAACC,cAAA,CAAA,IAAA,EAAA,EAAG,OAAO,EAAE,MAAA,EAAQ,GAAK,EAAA,SAAA,EAAU,iBACnC,QAAC,kBAAAA,cAAA,CAAAC,UAAA,EAAA,EAAQ,SAAS,KAChB,EAAA,QAAA,EAAAC,eAAA,CAAS,OAAO,EAAE,MAAA,EAAQ,IAAI,QAAU,EAAA,KAAA,EAAO,CAAA,EACjD,CACD,EAAA,CAAA;AAAA,cACC,+BACCF,cAAA,CAAA,KAAA,EAAA,EAAI,SAAS,UACb,EAAA,QAAA,kBAAAA,cAAA,CAACG,mBAAa,CACf,EAAA,CAAA;AAAA,aAAA;AAAA,WAAA;AAAA,SAEF;AAAA,QACC,WAAA,mCACCF,UAAQ,EAAA,EAAA,OAAA,EAAS,aACjB,QAAC,kBAAAD,cAAA,CAAA,MAAA,EAAA,EAAK,KAAO,EAAA,EAAE,KAAO,EAAAI,SAAA,CAAO,SAC3B,EAAA,QAAA,EAAAF,eAAA,CAAS,aAAa,EAAE,MAAA,EAAQ,IAAI,QAAU,EAAA,KAAA,EAAO,CAAA,EACvD,CACD,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GAEF,CAAA;AAEF","file":"index.js","sourcesContent":["import { colors, IconLaunch16, Tooltip } from \"@dhis2/ui\";\nimport React from \"react\";\nimport { truncate } from \"lodash\";\nimport { useMapPeriods } from \"../../../../../MapProvider/hooks\";\n\nexport default function LegendCardHeader({\n\ttitle,\n\tcollapsible,\n\tonCollapse,\n}: {\n\ttitle: string;\n\tonCollapse?: () => void;\n\tcollapsible?: boolean;\n}) {\n\tconst { periods } = useMapPeriods() ?? {};\n\tconst periodLabel = periods?.map((period) => period.name).join(\", \");\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\tgap: 2,\n\t\t\t\twidth: \"100%\",\n\t\t\t\tpadding: 4,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tgap: 8,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<h4 style={{ margin: 0 }} className=\"legend-header\">\n\t\t\t\t\t<Tooltip content={title}>\n\t\t\t\t\t\t{truncate(title, { length: 20, omission: \"...\" })}\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</h4>\n\t\t\t\t{collapsible && (\n\t\t\t\t\t<div onClick={onCollapse}>\n\t\t\t\t\t\t<IconLaunch16 />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{periodLabel && (\n\t\t\t\t<Tooltip content={periodLabel}>\n\t\t\t\t\t<span style={{ color: colors.grey700 }}>\n\t\t\t\t\t\t{truncate(periodLabel, { length: 20, omission: \"...\" })}\n\t\t\t\t\t</span>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.tsx"],"names":["scaleSqrt","getContrastColor","i18n","getLongestTextLength","reduce","smallestGap","jsx","Bubble","memo"],"mappings":"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","file":"Bubbles.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { scaleSqrt } from \"d3-scale\";\nimport { reduce } from \"lodash\";\nimport React, { memo } from \"react\";\nimport { getContrastColor } from \"../../../../../../../../../utils/colors.js\";\nimport { getLongestTextLength } from \"../../../../../../../../../utils/helpers.js\";\nimport Bubble, { BubbleProps } from \"./Bubble.js\";\n\nconst style = {\n\tpaddingTop: 10,\n\tdisplay: \"flex\",\n\talignItems: \"center\",\n\tjustifyContent: \"center\",\n};\n\nconst legendWidth =
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.tsx"],"names":["scaleSqrt","getContrastColor","i18n","getLongestTextLength","reduce","smallestGap","jsx","Bubble","memo"],"mappings":"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","file":"Bubbles.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { scaleSqrt } from \"d3-scale\";\nimport { reduce } from \"lodash\";\nimport React, { memo } from \"react\";\nimport { getContrastColor } from \"../../../../../../../../../utils/colors.js\";\nimport { getLongestTextLength } from \"../../../../../../../../../utils/helpers.js\";\nimport Bubble, { BubbleProps } from \"./Bubble.js\";\n\nconst style = {\n\tpaddingTop: 10,\n\tdisplay: \"flex\",\n\talignItems: \"center\",\n\tjustifyContent: \"center\",\n};\n\nconst legendWidth = 180;\nconst digitWidth = 6.8;\nexport const guideLength = 16;\nexport const textPadding = 4;\n\nconst Bubbles = ({\n\tradiusLow,\n\tradiusHigh,\n\tcolor,\n\tclasses,\n}: {\n\tradiusLow: number;\n\tradiusHigh: number;\n\tcolor?: string;\n\tclasses: Array<any>;\n}) => {\n\tconst height = radiusHigh * 2 + 4;\n\tconst scale = scaleSqrt().range([radiusLow, radiusHigh]);\n\tconst radiusMid = scale(0.5);\n\n\tif (isNaN(radiusLow) || isNaN(radiusHigh)) {\n\t\treturn null;\n\t}\n\n\tlet bubbles: Array<BubbleProps> = [];\n\n\t// If color legend\n\tif (Array.isArray(classes) && classes.length) {\n\t\tconst startValue = classes[0].startValue;\n\t\tconst endValue = classes[classes.length - 1].endValue;\n\t\tconst itemScale = scale.domain([startValue, endValue]);\n\n\t\tbubbles = [...classes].reverse().map((c) => ({\n\t\t\tradius: itemScale(c.endValue),\n\t\t\tmaxRadius: radiusHigh,\n\t\t\tcolor: c.color,\n\t\t\ttext: String(c.endValue),\n\t\t}));\n\n\t\t// Add the smallest bubble for the lowest value\n\t\tbubbles.push({\n\t\t\tradius: itemScale(startValue),\n\t\t\tmaxRadius: radiusHigh,\n\t\t\ttext: String(startValue),\n\t\t});\n\t} else {\n\t\t// If single color\n\t\tconst stroke = color && getContrastColor(color);\n\n\t\tbubbles = [\n\t\t\t{\n\t\t\t\tradius: radiusHigh,\n\t\t\t\tmaxRadius: radiusHigh,\n\t\t\t\tcolor,\n\t\t\t\tstroke,\n\t\t\t\ttext: i18n.t(\"Max\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tradius: radiusMid,\n\t\t\t\tmaxRadius: radiusHigh,\n\t\t\t\tcolor,\n\t\t\t\tstroke,\n\t\t\t\ttext: i18n.t(\"Mid\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tradius: radiusLow,\n\t\t\t\tmaxRadius: radiusHigh,\n\t\t\t\tcolor,\n\t\t\t\tstroke,\n\t\t\t\ttext: i18n.t(\"Min\"),\n\t\t\t},\n\t\t];\n\t}\n\n\t// Calculate the pixel length of the longest number\n\tlet textLength = Math.ceil(\n\t\tMath.max(\n\t\t\tgetLongestTextLength(classes, \"startValue\"),\n\t\t\tgetLongestTextLength(classes, \"endValue\"),\n\t\t) * digitWidth,\n\t);\n\n\t// Calculate the total length if numbers are alternate on each side\n\tconst alternateLength =\n\t\t(radiusHigh + guideLength + textPadding + textLength) * 2;\n\n\tlet smallestGap = reduce(bubbles, (prev, curr: any, i) => {\n\t\tconst gap = prev.radius - curr.radius;\n\t\tconst smallestGap =\n\t\t\tprev.gap === undefined || gap < prev.gap ? gap : prev.gap;\n\n\t\treturn i === bubbles.length - 1\n\t\t\t? Math.round(smallestGap * 2)\n\t\t\t: {\n\t\t\t\t\tradius: curr.radius,\n\t\t\t\t\tgap: smallestGap,\n\t\t\t\t};\n\t});\n\n\tconst alternateFit = alternateLength < legendWidth;\n\n\tconst alternate = alternateFit && smallestGap > 5 && smallestGap < 12;\n\n\tif (!alternateFit) {\n\t\tsmallestGap = smallestGap / 2;\n\t}\n\n\t// Too cramped to show number for each bubble\n\tif (smallestGap < 4) {\n\t\tconst [maxBubble] = bubbles;\n\t\tconst minBubble = bubbles[bubbles.length - 1];\n\t\tconst gap = maxBubble.radius - minBubble.radius;\n\t\tconst showNumbers = [0]; // Always show the largest number\n\n\t\tif (gap > 4) {\n\t\t\tshowNumbers.push(bubbles.length - 1);\n\t\t}\n\n\t\tif (gap > 15) {\n\t\t\tconst midRadius = minBubble.radius + gap / 2;\n\n\t\t\t// Find the closest bubble above the mid-radius\n\t\t\tconst midBubble = bubbles.reduce((prev, curr) =>\n\t\t\t\tcurr.radius >= midRadius &&\n\t\t\t\tcurr.radius - midRadius < prev.radius - midRadius\n\t\t\t\t\t? curr\n\t\t\t\t\t: prev,\n\t\t\t);\n\n\t\t\tshowNumbers.push(bubbles.indexOf(midBubble));\n\t\t}\n\n\t\tbubbles.forEach((b, i) => {\n\t\t\tif (!showNumbers.includes(i)) {\n\t\t\t\tdelete b.text;\n\t\t\t}\n\t\t});\n\t}\n\n\ttextLength = Math.ceil(getLongestTextLength(bubbles, \"text\") * digitWidth);\n\n\tconst offset = textLength + guideLength + textPadding;\n\n\treturn (\n\t\t<div style={style}>\n\t\t\t<svg width={legendWidth} height={height + 50}>\n\t\t\t\t<g transform={`translate(${alternate ? offset : \"16\"} 24)`}>\n\t\t\t\t\t{bubbles.map((bubble, i) => (\n\t\t\t\t\t\t<Bubble\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t{...bubble}\n\t\t\t\t\t\t\ttextAlign={\n\t\t\t\t\t\t\t\talternate && i % 2 == 0 ? \"left\" : \"right\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</g>\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\nexport default memo(Bubbles);\n"]}
|
|
@@ -8,6 +8,7 @@ var ui = require('@dhis2/ui');
|
|
|
8
8
|
var react = require('react');
|
|
9
9
|
var map_js = require('../../../../../../../utils/map.js');
|
|
10
10
|
var LegendCardHeader = require('../../../../LegendArea/components/LegendCardHeader/index.js');
|
|
11
|
+
var lodash = require('lodash');
|
|
11
12
|
|
|
12
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
|
|
@@ -49,7 +50,7 @@ function ChoroplethLegend({
|
|
|
49
50
|
}
|
|
50
51
|
),
|
|
51
52
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Divider, { margin: "0" }),
|
|
52
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { paddingTop:
|
|
53
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { paddingTop: 4 }, className: "legend-list", children: lodash.sortBy(legends, "startValue").map((legend) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
53
54
|
LegendItem,
|
|
54
55
|
{
|
|
55
56
|
legend,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx"],"names":["jsxs","jsx","LegendCardHeader","Divider","getLegendCount","forwardRef"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx"],"names":["jsxs","jsx","LegendCardHeader","Divider","getLegendCount","forwardRef"],"mappings":";;;;;;;;;;;;;;;;AAYA,MAAM,YAAA,GAAe,IAAK,CAAA,YAAA,CAAa,OAAS,EAAA;AAAA,EAC/C,QAAU,EAAA,UAAA;AACX,CAAC,CAAE,CAAA,MAAA,CAAA;AAEI,SAAS,UAAW,CAAA;AAAA,EAC1B,MAAA;AAAA,EACA,KAAA;AACD,CAGG,EAAA;AACF,EACC,uBAAAA,eAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,aACd,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,SAAU,EAAA,mBAAA;AAAA,QACV,KAAO,EAAA,EAAE,eAAiB,EAAA,MAAA,CAAO,KAAM,EAAA;AAAA,OAAA;AAAA,KACxC;AAAA,mCACC,KAAI,EAAA,EAAA,SAAA,EAAU,mBAAqB,EAAA,QAAA,EAAA,CAAA,EAAG,aAAa,MAAO,CAAA,UAAA,IAAc,CAAC,CAAC,MAAM,YAAa,CAAA,MAAA,CAAO,QAAY,IAAA,CAAC,CAAC,CAAG,CAAA,EAAA,CAAA;AAAA,oBACtHA,cAAA,CAAC,SAAI,SAAU,EAAA,mBAAA,EAAqB,cAAI,YAAa,CAAA,KAAA,IAAS,CAAC,CAAC,CAAI,CAAA,CAAA,EAAA,CAAA;AAAA,GACrE,EAAA,CAAA,CAAA;AAEF,CAAA;AAEA,SAAS,gBACR,CAAA;AAAA,EACC,QAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AACD,CAAA,EAQA,GACC,EAAA;AACD,EAAA,uBACED,eAAA,CAAA,KAAA,EAAA,EAAI,SAAU,EAAA,aAAA,EAAc,GAC5B,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAACC,iCAAA;AAAA,MAAA;AAAA,QACA,OAAO,QAAS,CAAA,WAAA;AAAA,QAChB,WAAA;AAAA,QACA,UAAA;AAAA,OAAA;AAAA,KACD;AAAA,oBACAD,cAAA,CAACE,UAAQ,EAAA,EAAA,MAAA,EAAQ,GAAK,EAAA,CAAA;AAAA,oBACrBF,cAAA,CAAA,KAAA,EAAA,EAAI,KAAO,EAAA,EAAE,YAAY,CAAE,EAAA,EAAG,SAAU,EAAA,aAAA,EACvC,wBAAO,OAAS,EAAA,YAAY,CAAE,CAAA,GAAA,CAAI,CAAC,MACnC,qBAAAA,cAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QAEA,MAAA;AAAA,QACA,KAAA,EAAOG,qBAAe,CAAA,MAAA,EAAQ,IAAI,CAAA;AAAA,OAAA;AAAA,MAF7B,CAAA,EAAG,QAAQ,KAAK,CAAA,YAAA,CAAA;AAAA,KAItB,CACF,EAAA,CAAA;AAAA,GACD,EAAA,CAAA,CAAA;AAEF,CAAA;AAEO,IAAA,wBAAA,GAAQC,iBAAW,gBAAgB","file":"ChoroplethLegend.js","sourcesContent":["import \"../../../styles/legends.css\";\nimport { Divider } from \"@dhis2/ui\";\nimport type { Legend } from \"@hisptz/dhis2-utils\";\nimport React, { forwardRef } from \"react\";\nimport { getLegendCount } from \"../../../../../../../utils/map.js\";\nimport {\n\tThematicLayerData,\n\tThematicLayerDataItem,\n} from \"../../../../../interfaces\";\nimport LegendCardHeader from \"../../../../LegendArea/components/LegendCardHeader/index.js\";\nimport { sortBy } from \"lodash\";\n\nconst formatNumber = Intl.NumberFormat(\"en-GB\", {\n\tnotation: \"standard\",\n}).format;\n\nexport function LegendItem({\n\tlegend,\n\tvalue,\n}: {\n\tlegend: { startValue: number; endValue: number; color: string };\n\tvalue: number;\n}) {\n\treturn (\n\t\t<div className=\"legend-item\">\n\t\t\t<div\n\t\t\t\tclassName=\"legend-item-color\"\n\t\t\t\tstyle={{ backgroundColor: legend.color }}\n\t\t\t/>\n\t\t\t<div className=\"legend-item-label\">{`${formatNumber(legend.startValue ?? 1)} - ${formatNumber(legend.endValue ?? 1)}`}</div>\n\t\t\t<div className=\"legend-item-value\">{`(${formatNumber(value ?? 0)})`}</div>\n\t\t</div>\n\t);\n}\n\nfunction ChoroplethLegend(\n\t{\n\t\tdataItem,\n\t\tdata,\n\t\tcollapsible,\n\t\tonCollapse,\n\t\tlegends,\n\t}: {\n\t\tdata: ThematicLayerData[];\n\t\tdataItem: ThematicLayerDataItem;\n\t\tname?: string;\n\t\tcollapsible?: boolean;\n\t\tonCollapse?: () => void;\n\t\tlegends: Legend[];\n\t},\n\tref: React.LegacyRef<HTMLDivElement> | undefined,\n) {\n\treturn (\n\t\t<div className=\"legend-card\" ref={ref}>\n\t\t\t<LegendCardHeader\n\t\t\t\ttitle={dataItem.displayName}\n\t\t\t\tcollapsible={collapsible}\n\t\t\t\tonCollapse={onCollapse}\n\t\t\t/>\n\t\t\t<Divider margin={\"0\"} />\n\t\t\t<div style={{ paddingTop: 4 }} className=\"legend-list\">\n\t\t\t\t{sortBy(legends, \"startValue\").map((legend) => (\n\t\t\t\t\t<LegendItem\n\t\t\t\t\t\tkey={`${legend?.color}-legend-list`}\n\t\t\t\t\t\tlegend={legend}\n\t\t\t\t\t\tvalue={getLegendCount(legend, data)}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default forwardRef(ChoroplethLegend);\n"]}
|
package/dist/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css"],"sourcesContent":[".legend-card {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n padding: 0.5rem;\n border-radius: 0.2rem;\n background-color: #fff;\n box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);\n border: 2px solid rgba(0, 0, 0, 0.2);\n}\n\n.legend-card.collapsed {\n padding: 0 !important;\n float: right;\n}\n\n.legend-header {\n font-weight: bold;\n margin-bottom: 0.5rem;\n}\n\n.legend-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: start;\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css"],"sourcesContent":[".legend-card {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n padding: 0.5rem;\n border-radius: 0.2rem;\n background-color: #fff;\n box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);\n border: 2px solid rgba(0, 0, 0, 0.2);\n}\n\n.legend-card.collapsed {\n padding: 0 !important;\n float: right;\n}\n\n.legend-header {\n font-weight: bold;\n margin-bottom: 0.5rem;\n}\n\n.legend-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: start;\n gap: 8px;\n width: 100%;\n}\n\n.legend-item-color {\n width: 1rem;\n height: 1rem;\n border-radius: 1px;\n}\n\n.legend-item-label {\n}\n\n.source-url {\n background: none !important;\n line-height: inherit !important;\n text-align: inherit !important;\n width: auto !important;\n height: auto !important;\n text-decoration: underline !important;\n color: #0078A8 !important;\n}\n\n.legend-list {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n height: 100%;\n background-color: #fff;\n gap: 4px;\n}\n"],"mappings":"AAAA,CAAC;AACG,WAAS;AACT,kBAAgB;AAChB,mBAAiB;AACjB,eAAa;AACb,UAAQ;AACR,WAAS;AACT,iBAAe;AACf,oBAAkB;AAClB,cAAY,EAAE,QAAQ,OAAO,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC3C,UAAQ,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACpC;AAEA,CAbC,WAaW,CAAC;AACT,WAAS;AACT,SAAO;AACX;AAEA,CAAC;AACG,eAAa;AACb,iBAAe;AACnB;AAEA,CAAC;AACG,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,mBAAiB;AACjB,OAAK;AACL,SAAO;AACX;AAEA,CAAC;AACG,SAAO;AACP,UAAQ;AACR,iBAAe;AACnB;AAEA,CAAC;AACD;AAEA,CAAC;AACG,cAAY;AACZ,eAAa;AACb,cAAY;AACZ,SAAO;AACP,UAAQ;AACR,mBAAiB;AACjB,SAAO;AACX;AAEA,CAAC;AACG,WAAS;AACT,kBAAgB;AAChB,mBAAiB;AACjB,eAAa;AACb,SAAO;AACP,UAAQ;AACR,oBAAkB;AAClB,OAAK;AACT;","names":[]}
|
|
@@ -1,25 +1,43 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { Tooltip, IconLaunch16 } from '@dhis2/ui';
|
|
2
|
+
import { Tooltip, IconLaunch16, colors } from '@dhis2/ui';
|
|
3
3
|
import { truncate } from 'lodash';
|
|
4
|
+
import { useMapPeriods } from '../../../../../MapProvider/hooks';
|
|
4
5
|
|
|
5
6
|
function LegendCardHeader({
|
|
6
7
|
title,
|
|
7
8
|
collapsible,
|
|
8
9
|
onCollapse
|
|
9
10
|
}) {
|
|
11
|
+
const { periods } = useMapPeriods() ?? {};
|
|
12
|
+
const periodLabel = periods?.map((period) => period.name).join(", ");
|
|
10
13
|
return /* @__PURE__ */ jsxs(
|
|
11
14
|
"div",
|
|
12
15
|
{
|
|
13
16
|
style: {
|
|
14
17
|
display: "flex",
|
|
18
|
+
flexDirection: "column",
|
|
19
|
+
gap: 2,
|
|
15
20
|
width: "100%",
|
|
16
|
-
|
|
17
|
-
alignItems: "center",
|
|
18
|
-
padding: 8
|
|
21
|
+
padding: 4
|
|
19
22
|
},
|
|
20
23
|
children: [
|
|
21
|
-
/* @__PURE__ */
|
|
22
|
-
|
|
24
|
+
/* @__PURE__ */ jsxs(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
style: {
|
|
28
|
+
display: "flex",
|
|
29
|
+
width: "100%",
|
|
30
|
+
justifyContent: "space-between",
|
|
31
|
+
alignItems: "center",
|
|
32
|
+
gap: 8
|
|
33
|
+
},
|
|
34
|
+
children: [
|
|
35
|
+
/* @__PURE__ */ jsx("h4", { style: { margin: 0 }, className: "legend-header", children: /* @__PURE__ */ jsx(Tooltip, { content: title, children: truncate(title, { length: 20, omission: "..." }) }) }),
|
|
36
|
+
collapsible && /* @__PURE__ */ jsx("div", { onClick: onCollapse, children: /* @__PURE__ */ jsx(IconLaunch16, {}) })
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
),
|
|
40
|
+
periodLabel && /* @__PURE__ */ jsx(Tooltip, { content: periodLabel, children: /* @__PURE__ */ jsx("span", { style: { color: colors.grey700 }, children: truncate(periodLabel, { length: 20, omission: "..." }) }) })
|
|
23
41
|
]
|
|
24
42
|
}
|
|
25
43
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.tsx"],"names":[],"mappings":";;;;;AAKe,SAAR,gBAAkC,CAAA;AAAA,EACxC,KAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AACD,CAIG,EAAA;AACF,EAAA,MAAM,EAAE,OAAA,EAAY,GAAA,aAAA,MAAmB,EAAC,CAAA;AACxC,EAAM,MAAA,WAAA,GAAc,SAAS,GAAI,CAAA,CAAC,WAAW,MAAO,CAAA,IAAI,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AACnE,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,OAAS,EAAA,MAAA;AAAA,QACT,aAAe,EAAA,QAAA;AAAA,QACf,GAAK,EAAA,CAAA;AAAA,QACL,KAAO,EAAA,MAAA;AAAA,QACP,OAAS,EAAA,CAAA;AAAA,OACV;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAO,EAAA;AAAA,cACN,OAAS,EAAA,MAAA;AAAA,cACT,KAAO,EAAA,MAAA;AAAA,cACP,cAAgB,EAAA,eAAA;AAAA,cAChB,UAAY,EAAA,QAAA;AAAA,cACZ,GAAK,EAAA,CAAA;AAAA,aACN;AAAA,YAEA,QAAA,EAAA;AAAA,8BAAC,GAAA,CAAA,IAAA,EAAA,EAAG,OAAO,EAAE,MAAA,EAAQ,GAAK,EAAA,SAAA,EAAU,iBACnC,QAAC,kBAAA,GAAA,CAAA,OAAA,EAAA,EAAQ,SAAS,KAChB,EAAA,QAAA,EAAA,QAAA,CAAS,OAAO,EAAE,MAAA,EAAQ,IAAI,QAAU,EAAA,KAAA,EAAO,CAAA,EACjD,CACD,EAAA,CAAA;AAAA,cACC,+BACC,GAAA,CAAA,KAAA,EAAA,EAAI,SAAS,UACb,EAAA,QAAA,kBAAA,GAAA,CAAC,gBAAa,CACf,EAAA,CAAA;AAAA,aAAA;AAAA,WAAA;AAAA,SAEF;AAAA,QACC,WAAA,wBACC,OAAQ,EAAA,EAAA,OAAA,EAAS,aACjB,QAAC,kBAAA,GAAA,CAAA,MAAA,EAAA,EAAK,KAAO,EAAA,EAAE,KAAO,EAAA,MAAA,CAAO,SAC3B,EAAA,QAAA,EAAA,QAAA,CAAS,aAAa,EAAE,MAAA,EAAQ,IAAI,QAAU,EAAA,KAAA,EAAO,CAAA,EACvD,CACD,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GAEF,CAAA;AAEF","file":"index.js","sourcesContent":["import { colors, IconLaunch16, Tooltip } from \"@dhis2/ui\";\nimport React from \"react\";\nimport { truncate } from \"lodash\";\nimport { useMapPeriods } from \"../../../../../MapProvider/hooks\";\n\nexport default function LegendCardHeader({\n\ttitle,\n\tcollapsible,\n\tonCollapse,\n}: {\n\ttitle: string;\n\tonCollapse?: () => void;\n\tcollapsible?: boolean;\n}) {\n\tconst { periods } = useMapPeriods() ?? {};\n\tconst periodLabel = periods?.map((period) => period.name).join(\", \");\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\tgap: 2,\n\t\t\t\twidth: \"100%\",\n\t\t\t\tpadding: 4,\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tgap: 8,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<h4 style={{ margin: 0 }} className=\"legend-header\">\n\t\t\t\t\t<Tooltip content={title}>\n\t\t\t\t\t\t{truncate(title, { length: 20, omission: \"...\" })}\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</h4>\n\t\t\t\t{collapsible && (\n\t\t\t\t\t<div onClick={onCollapse}>\n\t\t\t\t\t\t<IconLaunch16 />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{periodLabel && (\n\t\t\t\t<Tooltip content={periodLabel}>\n\t\t\t\t\t<span style={{ color: colors.grey700 }}>\n\t\t\t\t\t\t{truncate(periodLabel, { length: 20, omission: \"...\" })}\n\t\t\t\t\t</span>\n\t\t\t\t</Tooltip>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.tsx"],"names":["smallestGap"],"mappings":"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","file":"Bubbles.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { scaleSqrt } from \"d3-scale\";\nimport { reduce } from \"lodash\";\nimport React, { memo } from \"react\";\nimport { getContrastColor } from \"../../../../../../../../../utils/colors.js\";\nimport { getLongestTextLength } from \"../../../../../../../../../utils/helpers.js\";\nimport Bubble, { BubbleProps } from \"./Bubble.js\";\n\nconst style = {\n\tpaddingTop: 10,\n\tdisplay: \"flex\",\n\talignItems: \"center\",\n\tjustifyContent: \"center\",\n};\n\nconst legendWidth =
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Bubble/components/BubbleLegend/components/Bubbles.tsx"],"names":["smallestGap"],"mappings":"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","file":"Bubbles.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { scaleSqrt } from \"d3-scale\";\nimport { reduce } from \"lodash\";\nimport React, { memo } from \"react\";\nimport { getContrastColor } from \"../../../../../../../../../utils/colors.js\";\nimport { getLongestTextLength } from \"../../../../../../../../../utils/helpers.js\";\nimport Bubble, { BubbleProps } from \"./Bubble.js\";\n\nconst style = {\n\tpaddingTop: 10,\n\tdisplay: \"flex\",\n\talignItems: \"center\",\n\tjustifyContent: \"center\",\n};\n\nconst legendWidth = 180;\nconst digitWidth = 6.8;\nexport const guideLength = 16;\nexport const textPadding = 4;\n\nconst Bubbles = ({\n\tradiusLow,\n\tradiusHigh,\n\tcolor,\n\tclasses,\n}: {\n\tradiusLow: number;\n\tradiusHigh: number;\n\tcolor?: string;\n\tclasses: Array<any>;\n}) => {\n\tconst height = radiusHigh * 2 + 4;\n\tconst scale = scaleSqrt().range([radiusLow, radiusHigh]);\n\tconst radiusMid = scale(0.5);\n\n\tif (isNaN(radiusLow) || isNaN(radiusHigh)) {\n\t\treturn null;\n\t}\n\n\tlet bubbles: Array<BubbleProps> = [];\n\n\t// If color legend\n\tif (Array.isArray(classes) && classes.length) {\n\t\tconst startValue = classes[0].startValue;\n\t\tconst endValue = classes[classes.length - 1].endValue;\n\t\tconst itemScale = scale.domain([startValue, endValue]);\n\n\t\tbubbles = [...classes].reverse().map((c) => ({\n\t\t\tradius: itemScale(c.endValue),\n\t\t\tmaxRadius: radiusHigh,\n\t\t\tcolor: c.color,\n\t\t\ttext: String(c.endValue),\n\t\t}));\n\n\t\t// Add the smallest bubble for the lowest value\n\t\tbubbles.push({\n\t\t\tradius: itemScale(startValue),\n\t\t\tmaxRadius: radiusHigh,\n\t\t\ttext: String(startValue),\n\t\t});\n\t} else {\n\t\t// If single color\n\t\tconst stroke = color && getContrastColor(color);\n\n\t\tbubbles = [\n\t\t\t{\n\t\t\t\tradius: radiusHigh,\n\t\t\t\tmaxRadius: radiusHigh,\n\t\t\t\tcolor,\n\t\t\t\tstroke,\n\t\t\t\ttext: i18n.t(\"Max\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tradius: radiusMid,\n\t\t\t\tmaxRadius: radiusHigh,\n\t\t\t\tcolor,\n\t\t\t\tstroke,\n\t\t\t\ttext: i18n.t(\"Mid\"),\n\t\t\t},\n\t\t\t{\n\t\t\t\tradius: radiusLow,\n\t\t\t\tmaxRadius: radiusHigh,\n\t\t\t\tcolor,\n\t\t\t\tstroke,\n\t\t\t\ttext: i18n.t(\"Min\"),\n\t\t\t},\n\t\t];\n\t}\n\n\t// Calculate the pixel length of the longest number\n\tlet textLength = Math.ceil(\n\t\tMath.max(\n\t\t\tgetLongestTextLength(classes, \"startValue\"),\n\t\t\tgetLongestTextLength(classes, \"endValue\"),\n\t\t) * digitWidth,\n\t);\n\n\t// Calculate the total length if numbers are alternate on each side\n\tconst alternateLength =\n\t\t(radiusHigh + guideLength + textPadding + textLength) * 2;\n\n\tlet smallestGap = reduce(bubbles, (prev, curr: any, i) => {\n\t\tconst gap = prev.radius - curr.radius;\n\t\tconst smallestGap =\n\t\t\tprev.gap === undefined || gap < prev.gap ? gap : prev.gap;\n\n\t\treturn i === bubbles.length - 1\n\t\t\t? Math.round(smallestGap * 2)\n\t\t\t: {\n\t\t\t\t\tradius: curr.radius,\n\t\t\t\t\tgap: smallestGap,\n\t\t\t\t};\n\t});\n\n\tconst alternateFit = alternateLength < legendWidth;\n\n\tconst alternate = alternateFit && smallestGap > 5 && smallestGap < 12;\n\n\tif (!alternateFit) {\n\t\tsmallestGap = smallestGap / 2;\n\t}\n\n\t// Too cramped to show number for each bubble\n\tif (smallestGap < 4) {\n\t\tconst [maxBubble] = bubbles;\n\t\tconst minBubble = bubbles[bubbles.length - 1];\n\t\tconst gap = maxBubble.radius - minBubble.radius;\n\t\tconst showNumbers = [0]; // Always show the largest number\n\n\t\tif (gap > 4) {\n\t\t\tshowNumbers.push(bubbles.length - 1);\n\t\t}\n\n\t\tif (gap > 15) {\n\t\t\tconst midRadius = minBubble.radius + gap / 2;\n\n\t\t\t// Find the closest bubble above the mid-radius\n\t\t\tconst midBubble = bubbles.reduce((prev, curr) =>\n\t\t\t\tcurr.radius >= midRadius &&\n\t\t\t\tcurr.radius - midRadius < prev.radius - midRadius\n\t\t\t\t\t? curr\n\t\t\t\t\t: prev,\n\t\t\t);\n\n\t\t\tshowNumbers.push(bubbles.indexOf(midBubble));\n\t\t}\n\n\t\tbubbles.forEach((b, i) => {\n\t\t\tif (!showNumbers.includes(i)) {\n\t\t\t\tdelete b.text;\n\t\t\t}\n\t\t});\n\t}\n\n\ttextLength = Math.ceil(getLongestTextLength(bubbles, \"text\") * digitWidth);\n\n\tconst offset = textLength + guideLength + textPadding;\n\n\treturn (\n\t\t<div style={style}>\n\t\t\t<svg width={legendWidth} height={height + 50}>\n\t\t\t\t<g transform={`translate(${alternate ? offset : \"16\"} 24)`}>\n\t\t\t\t\t{bubbles.map((bubble, i) => (\n\t\t\t\t\t\t<Bubble\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t{...bubble}\n\t\t\t\t\t\t\ttextAlign={\n\t\t\t\t\t\t\t\talternate && i % 2 == 0 ? \"left\" : \"right\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t</g>\n\t\t\t</svg>\n\t\t</div>\n\t);\n};\n\nexport default memo(Bubbles);\n"]}
|
|
@@ -4,6 +4,7 @@ import { Divider } from '@dhis2/ui';
|
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
5
|
import { getLegendCount } from '../../../../../../../utils/map.js';
|
|
6
6
|
import LegendCardHeader from '../../../../LegendArea/components/LegendCardHeader/index.js';
|
|
7
|
+
import { sortBy } from 'lodash';
|
|
7
8
|
|
|
8
9
|
const formatNumber = Intl.NumberFormat("en-GB", {
|
|
9
10
|
notation: "standard"
|
|
@@ -41,7 +42,7 @@ function ChoroplethLegend({
|
|
|
41
42
|
}
|
|
42
43
|
),
|
|
43
44
|
/* @__PURE__ */ jsx(Divider, { margin: "0" }),
|
|
44
|
-
/* @__PURE__ */ jsx("div", { style: { paddingTop:
|
|
45
|
+
/* @__PURE__ */ jsx("div", { style: { paddingTop: 4 }, className: "legend-list", children: sortBy(legends, "startValue").map((legend) => /* @__PURE__ */ jsx(
|
|
45
46
|
LegendItem,
|
|
46
47
|
{
|
|
47
48
|
legend,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx"],"names":[],"mappings":";;;;;;;;AAYA,MAAM,YAAA,GAAe,IAAK,CAAA,YAAA,CAAa,OAAS,EAAA;AAAA,EAC/C,QAAU,EAAA,UAAA;AACX,CAAC,CAAE,CAAA,MAAA,CAAA;AAEI,SAAS,UAAW,CAAA;AAAA,EAC1B,MAAA;AAAA,EACA,KAAA;AACD,CAGG,EAAA;AACF,EACC,uBAAA,IAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,aACd,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,SAAU,EAAA,mBAAA;AAAA,QACV,KAAO,EAAA,EAAE,eAAiB,EAAA,MAAA,CAAO,KAAM,EAAA;AAAA,OAAA;AAAA,KACxC;AAAA,wBACC,KAAI,EAAA,EAAA,SAAA,EAAU,mBAAqB,EAAA,QAAA,EAAA,CAAA,EAAG,aAAa,MAAO,CAAA,UAAA,IAAc,CAAC,CAAC,MAAM,YAAa,CAAA,MAAA,CAAO,QAAY,IAAA,CAAC,CAAC,CAAG,CAAA,EAAA,CAAA;AAAA,oBACtH,GAAA,CAAC,SAAI,SAAU,EAAA,mBAAA,EAAqB,cAAI,YAAa,CAAA,KAAA,IAAS,CAAC,CAAC,CAAI,CAAA,CAAA,EAAA,CAAA;AAAA,GACrE,EAAA,CAAA,CAAA;AAEF,CAAA;AAEA,SAAS,gBACR,CAAA;AAAA,EACC,QAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AACD,CAAA,EAQA,GACC,EAAA;AACD,EAAA,uBACE,IAAA,CAAA,KAAA,EAAA,EAAI,SAAU,EAAA,aAAA,EAAc,GAC5B,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QACA,OAAO,QAAS,CAAA,WAAA;AAAA,QAChB,WAAA;AAAA,QACA,UAAA;AAAA,OAAA;AAAA,KACD;AAAA,oBACA,GAAA,CAAC,OAAQ,EAAA,EAAA,MAAA,EAAQ,GAAK,EAAA,CAAA;AAAA,oBACrB,GAAA,CAAA,KAAA,EAAA,EAAI,KAAO,EAAA,EAAE,YAAY,CAAE,EAAA,EAAG,SAAU,EAAA,aAAA,EACvC,iBAAO,OAAS,EAAA,YAAY,CAAE,CAAA,GAAA,CAAI,CAAC,MACnC,qBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QAEA,MAAA;AAAA,QACA,KAAA,EAAO,cAAe,CAAA,MAAA,EAAQ,IAAI,CAAA;AAAA,OAAA;AAAA,MAF7B,CAAA,EAAG,QAAQ,KAAK,CAAA,YAAA,CAAA;AAAA,KAItB,CACF,EAAA,CAAA;AAAA,GACD,EAAA,CAAA,CAAA;AAEF,CAAA;AAEO,IAAA,wBAAA,GAAQ,WAAW,gBAAgB","file":"ChoroplethLegend.js","sourcesContent":["import \"../../../styles/legends.css\";\nimport { Divider } from \"@dhis2/ui\";\nimport type { Legend } from \"@hisptz/dhis2-utils\";\nimport React, { forwardRef } from \"react\";\nimport { getLegendCount } from \"../../../../../../../utils/map.js\";\nimport {\n\tThematicLayerData,\n\tThematicLayerDataItem,\n} from \"../../../../../interfaces\";\nimport LegendCardHeader from \"../../../../LegendArea/components/LegendCardHeader/index.js\";\nimport { sortBy } from \"lodash\";\n\nconst formatNumber = Intl.NumberFormat(\"en-GB\", {\n\tnotation: \"standard\",\n}).format;\n\nexport function LegendItem({\n\tlegend,\n\tvalue,\n}: {\n\tlegend: { startValue: number; endValue: number; color: string };\n\tvalue: number;\n}) {\n\treturn (\n\t\t<div className=\"legend-item\">\n\t\t\t<div\n\t\t\t\tclassName=\"legend-item-color\"\n\t\t\t\tstyle={{ backgroundColor: legend.color }}\n\t\t\t/>\n\t\t\t<div className=\"legend-item-label\">{`${formatNumber(legend.startValue ?? 1)} - ${formatNumber(legend.endValue ?? 1)}`}</div>\n\t\t\t<div className=\"legend-item-value\">{`(${formatNumber(value ?? 0)})`}</div>\n\t\t</div>\n\t);\n}\n\nfunction ChoroplethLegend(\n\t{\n\t\tdataItem,\n\t\tdata,\n\t\tcollapsible,\n\t\tonCollapse,\n\t\tlegends,\n\t}: {\n\t\tdata: ThematicLayerData[];\n\t\tdataItem: ThematicLayerDataItem;\n\t\tname?: string;\n\t\tcollapsible?: boolean;\n\t\tonCollapse?: () => void;\n\t\tlegends: Legend[];\n\t},\n\tref: React.LegacyRef<HTMLDivElement> | undefined,\n) {\n\treturn (\n\t\t<div className=\"legend-card\" ref={ref}>\n\t\t\t<LegendCardHeader\n\t\t\t\ttitle={dataItem.displayName}\n\t\t\t\tcollapsible={collapsible}\n\t\t\t\tonCollapse={onCollapse}\n\t\t\t/>\n\t\t\t<Divider margin={\"0\"} />\n\t\t\t<div style={{ paddingTop: 4 }} className=\"legend-list\">\n\t\t\t\t{sortBy(legends, \"startValue\").map((legend) => (\n\t\t\t\t\t<LegendItem\n\t\t\t\t\t\tkey={`${legend?.color}-legend-list`}\n\t\t\t\t\t\tlegend={legend}\n\t\t\t\t\t\tvalue={getLegendCount(legend, data)}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default forwardRef(ChoroplethLegend);\n"]}
|
package/dist/esm/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css"],"sourcesContent":[".legend-card {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n padding: 0.5rem;\n border-radius: 0.2rem;\n background-color: #fff;\n box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);\n border: 2px solid rgba(0, 0, 0, 0.2);\n}\n\n.legend-card.collapsed {\n padding: 0 !important;\n float: right;\n}\n\n.legend-header {\n font-weight: bold;\n margin-bottom: 0.5rem;\n}\n\n.legend-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: start;\n
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/styles/legends.css"],"sourcesContent":[".legend-card {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n padding: 0.5rem;\n border-radius: 0.2rem;\n background-color: #fff;\n box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);\n border: 2px solid rgba(0, 0, 0, 0.2);\n}\n\n.legend-card.collapsed {\n padding: 0 !important;\n float: right;\n}\n\n.legend-header {\n font-weight: bold;\n margin-bottom: 0.5rem;\n}\n\n.legend-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: start;\n gap: 8px;\n width: 100%;\n}\n\n.legend-item-color {\n width: 1rem;\n height: 1rem;\n border-radius: 1px;\n}\n\n.legend-item-label {\n}\n\n.source-url {\n background: none !important;\n line-height: inherit !important;\n text-align: inherit !important;\n width: auto !important;\n height: auto !important;\n text-decoration: underline !important;\n color: #0078A8 !important;\n}\n\n.legend-list {\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n height: 100%;\n background-color: #fff;\n gap: 4px;\n}\n"],"mappings":"AAAA,CAAC;AACG,WAAS;AACT,kBAAgB;AAChB,mBAAiB;AACjB,eAAa;AACb,UAAQ;AACR,WAAS;AACT,iBAAe;AACf,oBAAkB;AAClB,cAAY,EAAE,QAAQ,OAAO,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC3C,UAAQ,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACpC;AAEA,CAbC,WAaW,CAAC;AACT,WAAS;AACT,SAAO;AACX;AAEA,CAAC;AACG,eAAa;AACb,iBAAe;AACnB;AAEA,CAAC;AACG,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,mBAAiB;AACjB,OAAK;AACL,SAAO;AACX;AAEA,CAAC;AACG,SAAO;AACP,UAAQ;AACR,iBAAe;AACnB;AAEA,CAAC;AACD;AAEA,CAAC;AACG,cAAY;AACZ,eAAa;AACb,cAAY;AACZ,SAAO;AACP,UAAQ;AACR,mBAAiB;AACjB,SAAO;AACX;AAEA,CAAC;AACG,WAAS;AACT,kBAAgB;AAChB,mBAAiB;AACjB,eAAa;AACb,SAAO;AACP,UAAQ;AACR,oBAAkB;AAClB,OAAK;AACT;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/components/Map/components/MapLayer/components/LegendArea/components/LegendCardHeader/index.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACxC,KAAK,EACL,WAAW,EACX,UAAU,GACV,EAAE;IACF,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,2CA0CA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoroplethLegend.d.ts","sourceRoot":"","sources":["../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EACN,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoroplethLegend.d.ts","sourceRoot":"","sources":["../../../../../../../../../../../src/components/Map/components/MapLayer/components/ThematicLayer/components/Choropleth/components/ChoroplethLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EACN,iBAAiB,EACjB,qBAAqB,EACrB,MAAM,2BAA2B,CAAC;AAQnC,wBAAgB,UAAU,CAAC,EAC1B,MAAM,EACN,KAAK,GACL,EAAE;IACF,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,KAAK,EAAE,MAAM,CAAC;CACd,2CAWA;;UAUO,iBAAiB,EAAE;cACf,qBAAqB;WACxB,MAAM;kBACC,OAAO;iBACR,MAAM,IAAI;aACd,MAAM,EAAE;;AAyBnB,wBAA4C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hisptz/dhis2-analytics",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.58",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"types": "./dist/types/index.d.ts",
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
"screenfull": "^6.0.2",
|
|
79
79
|
"xlsx": "^0.18.5",
|
|
80
80
|
"zod": "^3.23.8",
|
|
81
|
-
"@hisptz/dhis2-
|
|
82
|
-
"@hisptz/dhis2-
|
|
81
|
+
"@hisptz/dhis2-ui": "2.0.35",
|
|
82
|
+
"@hisptz/dhis2-utils": "2.0.15"
|
|
83
83
|
},
|
|
84
84
|
"peerDependencies": {
|
|
85
85
|
"@dhis2/app-runtime": "^3.10.2",
|