@hisptz/dhis2-scorecard 1.0.11 → 1.0.12
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/ScorecardHeader.js +9 -15
- package/dist/components/ScorecardHeader.js.map +1 -1
- package/dist/components/ScorecardPrint/components/ScorecardDownloadButton.js +1 -1
- package/dist/components/ScorecardPrint/components/ScorecardDownloadButton.js.map +1 -1
- package/dist/components/ScorecardPrint/components/ScorecardPreviewArea.js +31 -23
- package/dist/components/ScorecardPrint/components/ScorecardPreviewArea.js.map +1 -1
- package/dist/components/ScorecardTable/components/DataContainer.js +0 -4
- package/dist/components/ScorecardTable/components/DataContainer.js.map +1 -1
- package/dist/components/ScorecardTable/components/LinkedDataCell.js +0 -4
- package/dist/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
- package/dist/esm/components/ScorecardHeader.js +10 -16
- package/dist/esm/components/ScorecardHeader.js.map +1 -1
- package/dist/esm/components/ScorecardPrint/components/ScorecardDownloadButton.js +1 -1
- package/dist/esm/components/ScorecardPrint/components/ScorecardDownloadButton.js.map +1 -1
- package/dist/esm/components/ScorecardPrint/components/ScorecardPreviewArea.js +31 -23
- package/dist/esm/components/ScorecardPrint/components/ScorecardPreviewArea.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/DataContainer.js +0 -4
- package/dist/esm/components/ScorecardTable/components/DataContainer.js.map +1 -1
- package/dist/esm/components/ScorecardTable/components/LinkedDataCell.js +0 -4
- package/dist/esm/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
- package/dist/types/components/ScorecardHeader.d.ts.map +1 -1
- package/dist/types/components/ScorecardPrint/components/ScorecardDownloadButton.d.ts +1 -0
- package/dist/types/components/ScorecardPrint/components/ScorecardDownloadButton.d.ts.map +1 -1
- package/dist/types/components/ScorecardPrint/components/ScorecardPreviewArea.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/DataContainer.d.ts.map +1 -1
- package/dist/types/components/ScorecardTable/components/LinkedDataCell.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -31,9 +31,9 @@ function ScorecardHeader() {
|
|
|
31
31
|
if (!showTitle) {
|
|
32
32
|
return null;
|
|
33
33
|
}
|
|
34
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: customHeader ? (
|
|
35
35
|
/*
|
|
36
|
-
|
|
36
|
+
// @ts-ignore */
|
|
37
37
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
38
38
|
JsxParser__default.default,
|
|
39
39
|
{
|
|
@@ -56,25 +56,19 @@ function ScorecardHeader() {
|
|
|
56
56
|
flexDirection: "column",
|
|
57
57
|
alignItems: "center",
|
|
58
58
|
justifyContent: "center",
|
|
59
|
+
width: "100%",
|
|
59
60
|
gap: 16
|
|
60
61
|
},
|
|
61
62
|
children: [
|
|
62
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
children: [
|
|
68
|
-
title,
|
|
69
|
-
" ",
|
|
70
|
-
`${periods.length === 1 ? ` - ${period?.name}` : ""}`
|
|
71
|
-
]
|
|
72
|
-
}
|
|
73
|
-
),
|
|
63
|
+
/* @__PURE__ */ jsxRuntime.jsxs("h1", { style: { margin: 8 }, id: "data-test-score-card-title", children: [
|
|
64
|
+
title,
|
|
65
|
+
" ",
|
|
66
|
+
`${periods.length === 1 ? ` - ${period?.name}` : ""}`
|
|
67
|
+
] }),
|
|
74
68
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { style: { color: ui.colors.grey600, margin: 0 }, children: subtitle })
|
|
75
69
|
]
|
|
76
70
|
}
|
|
77
|
-
) })
|
|
71
|
+
) });
|
|
78
72
|
}
|
|
79
73
|
|
|
80
74
|
exports.ScorecardHeader = ScorecardHeader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":"AAkCE,mBAIE,KAsBC,YA1BH;AAlCF,SAAS,0BAA0B;AACnC,SAAS,eAAe;AACxB,SAAS,sCAAsC;AAE/C,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,OAAO,eAAe;AAEf,SAAS,kBAAkB;AACjC,QAAM,SAAS,mBAAmB;AAClC,QAAM,EAAE,cAAc,OAAO,SAAS,IAAI,UAAU,CAAC;AAErD,QAAM,kBACL,+BAAgD,iBAAiB;AAClE,QAAM,YAAY,+BAAwC;AAAA,IACzD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,UAAU,QAAQ,MAAM,gBAAgB,SAAS,CAAC,eAAe,CAAC;AAExE,QAAM,SAAS,QAAQ,MAAM;AAC5B,QAAI,QAAQ,SAAS,GAAG;AACvB;AAAA,IACD;AACA,WAAO,cAAc,cAAc,KAAK,OAAO,GAAG,EAAY;AAAA,EAC/D,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,CAAC,WAAW;AACf,WAAO;AAAA,EACR;AAEA,SACC,gCACE;AAAA;AAAA;AAAA,IAGA;AAAA,MAAC;AAAA;AAAA,QACA,uBAAqB;AAAA,QACrB,WAAU;AAAA,QACV,SAAS,QAAQ;AAAA,QACjB,UAAU;AAAA,UACT;AAAA,UACA;AAAA,UACA,QAAQ,QAAQ,WAAW,IAAI,QAAQ,OAAO;AAAA,QAC/C;AAAA,QACA,KAAK;AAAA;AAAA,IACN;AAAA,MAEA;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,SAAS;AAAA,QACT,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,KAAK;AAAA,MACN;AAAA,MAEA;AAAA,6BAAC,QAAG,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,8BAC5B;AAAA;AAAA,UAAO;AAAA,UACP,GAAG,QAAQ,WAAW,IAAI,MAAM,QAAQ,IAAI,KAAK,EAAE;AAAA,WACrD;AAAA,QACA,oBAAC,QAAG,OAAO,EAAE,OAAO,OAAO,SAAS,QAAQ,EAAE,GAC5C,oBACF;AAAA;AAAA;AAAA,EACD,GAEF;AAEF","sourcesContent":["import { useScorecardConfig } from \"./ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { useScorecardStateSelectorValue } from \"../state\";\nimport type { PeriodSelection } from \"../schemas/config\";\nimport { PeriodUtility } from \"@hisptz/dhis2-utils\";\nimport { head } from \"lodash\";\nimport { colors } from \"@dhis2/ui\";\nimport JsxParser from \"react-jsx-parser\";\n\nexport function ScorecardHeader() {\n\tconst config = useScorecardConfig();\n\tconst { customHeader, title, subtitle } = config ?? {};\n\n\tconst periodSelection =\n\t\tuseScorecardStateSelectorValue<PeriodSelection>(\"periodSelection\");\n\tconst showTitle = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"title\",\n\t]);\n\n\tconst periods = useMemo(() => periodSelection.periods, [periodSelection]);\n\n\tconst period = useMemo(() => {\n\t\tif (periods.length > 1) {\n\t\t\treturn;\n\t\t}\n\t\treturn PeriodUtility.getPeriodById(head(periods)?.id as string);\n\t}, [periods]);\n\n\tif (!showTitle) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{customHeader ? (\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\t<JsxParser\n\t\t\t\t\tautoCloseVoidElements\n\t\t\t\t\tclassName=\"w-100\"\n\t\t\t\t\tonError={console.error}\n\t\t\t\t\tbindings={{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tsubtitle,\n\t\t\t\t\t\tperiod: periods.length === 1 ? period?.name : \"\",\n\t\t\t\t\t}}\n\t\t\t\t\tjsx={customHeader}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<h1 style={{ margin: 8 }} id={\"data-test-score-card-title\"}>\n\t\t\t\t\t\t{title}{\" \"}\n\t\t\t\t\t\t{`${periods.length === 1 ? ` - ${period?.name}` : \"\"}`}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<h3 style={{ color: colors.grey600, margin: 0 }}>\n\t\t\t\t\t\t{subtitle}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -12,6 +12,7 @@ var xlsx = require('xlsx');
|
|
|
12
12
|
var MetaProvider = require('../../MetaProvider');
|
|
13
13
|
var download = require('../utils/download');
|
|
14
14
|
var appRuntime = require('@dhis2/app-runtime');
|
|
15
|
+
require('../print.css');
|
|
15
16
|
|
|
16
17
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
18
|
|
|
@@ -49,7 +50,6 @@ function DownloadMenu({
|
|
|
49
50
|
const meta = MetaProvider.useScorecardMeta();
|
|
50
51
|
const print = reactToPrint.useReactToPrint({
|
|
51
52
|
contentRef: previewRef,
|
|
52
|
-
preserveAfterPrint: false,
|
|
53
53
|
documentTitle: config.title,
|
|
54
54
|
onPrintError: (errorLocation, error) => {
|
|
55
55
|
console.error(`Error running ${errorLocation}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ScorecardPrint/components/ScorecardDownloadButton.tsx"],"names":[],"mappings":"AAkFE,mBAEE,KAMA,YARF;AAlFF;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,OAAO,UAAU;AACjB;AAAA,EAEC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AACnC,SAAS,4BAA4B;AACrC,YAAY,UAAU;AACtB,SAAS,wBAAwB;AACjC,SAAS,kBAAkB,wBAAwB;AACnD,SAAS,gBAAgB;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ScorecardPrint/components/ScorecardDownloadButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tDropdownButton,\n\tFlyoutMenu,\n\tIconDownload24,\n\tMenuItem,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport {\n\ttype RefObject,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tuseTransition,\n} from \"react\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { useReactToPrint } from \"react-to-print\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { ScorecardPreviewArea } from \"./ScorecardPreviewArea\";\nimport * as xlsx from \"xlsx\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { downloadALMAData, downloadALMAMeta } from \"../utils/download\";\nimport { useAlert } from \"@dhis2/app-runtime\";\nimport \"../print.css\";\n\nfunction DownloadMenu({\n\tpreviewRef,\n\tonClose,\n}: {\n\tpreviewRef: RefObject<HTMLDivElement>;\n\tonClose: () => void;\n}) {\n\tconst config = useScorecardConfig();\n\tconst { show } = useAlert(\n\t\t({ message }) => message,\n\t\t({ type }) => ({ ...type, duration: 3000 }),\n\t);\n\tconst { data: dataEngine } = useScorecardData();\n\tconst meta = useScorecardMeta();\n\tconst print = useReactToPrint({\n\t\tcontentRef: previewRef,\n\t\tdocumentTitle: config.title,\n\t\tonPrintError: (errorLocation, error) => {\n\t\t\tconsole.error(`Error running ${errorLocation}`);\n\t\t\tconsole.error(error);\n\t\t\tshow({\n\t\t\t\tmessage: `${i18n.t(\"Could not open the print dialog\")}: ${\n\t\t\t\t\terror.message ?? i18n.t(\"Unknown error\")\n\t\t\t\t}`,\n\t\t\t\ttype: { info: true },\n\t\t\t});\n\t\t},\n\t});\n\n\tconst onDownload =\n\t\t(type: \"excel\" | \"csv\" | \"alma\" | \"almaMeta\" | \"pdf\") => () => {\n\t\t\tonClose();\n\t\t\tswitch (type) {\n\t\t\t\tcase \"pdf\":\n\t\t\t\t\tprint();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"csv\":\n\t\t\t\tcase \"excel\":\n\t\t\t\t\tconst extension = type === \"csv\" ? \"csv\" : \"xlsx\";\n\t\t\t\t\tconst workbook = xlsx.utils.table_to_book(\n\t\t\t\t\t\tpreviewRef.current,\n\t\t\t\t\t);\n\t\t\t\t\txlsx.writeFile(workbook, `${config.title}.${extension}`);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"almaMeta\":\n\t\t\t\t\tdownloadALMAMeta({ config, meta: meta! });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"alma\":\n\t\t\t\t\tdownloadALMAData({\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tmeta: meta!,\n\t\t\t\t\t\tdata: dataEngine.data,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\treturn (\n\t\t<>\n\t\t\t<FlyoutMenu closeMenu={onClose}>\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={onDownload(\"excel\")}\n\t\t\t\t\tlabel={i18n.t(\"Excel\")}\n\t\t\t\t/>\n\t\t\t\t<MenuItem onClick={onDownload(\"csv\")} label={i18n.t(\"CSV\")} />\n\t\t\t\t<MenuItem onClick={onDownload(\"pdf\")} label={i18n.t(\"PDF\")} />\n\t\t\t\t<MenuItem label={i18n.t(\"ALMA\")}>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={onDownload(\"alma\")}\n\t\t\t\t\t\tlabel={i18n.t(\"Data(JSON)\")}\n\t\t\t\t\t/>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={onDownload(\"almaMeta\")}\n\t\t\t\t\t\tlabel={i18n.t(\"Metadata\")}\n\t\t\t\t\t/>\n\t\t\t\t</MenuItem>\n\t\t\t</FlyoutMenu>\n\t\t</>\n\t);\n}\n\nexport function ScorecardDownloadButton() {\n\tconst [isPending, startTransition] = useTransition();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst [openMenu, setOpenMenu] = useState<boolean>(false);\n\tconst [completed, setCompleted] = useState<boolean>(dataEngine.isDone);\n\tconst previewRef = useRef<HTMLDivElement | null>(null);\n\n\tuseEffect(() => {\n\t\treturn dataEngine.addOnCompleteListener(setCompleted);\n\t}, [dataEngine]);\n\n\treturn (\n\t\t<>\n\t\t\t{openMenu && <ScorecardPreviewArea previewRef={previewRef} />}\n\t\t\t<DropdownButton\n\t\t\t\ttype=\"button\"\n\t\t\t\tvalue=\"scorecard-download-button\"\n\t\t\t\tdisabled={!completed}\n\t\t\t\topen={openMenu}\n\t\t\t\tonClick={({ open }) => {\n\t\t\t\t\tstartTransition(() => {\n\t\t\t\t\t\tsetOpenMenu(open);\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ticon={<IconDownload24 />}\n\t\t\t\tcomponent={\n\t\t\t\t\tisPending ? (\n\t\t\t\t\t\t<div>Loading</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<DownloadMenu\n\t\t\t\t\t\t\tonClose={() => setOpenMenu(false)}\n\t\t\t\t\t\t\tpreviewRef={previewRef}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{!completed\n\t\t\t\t\t? i18n.t(\"Please wait...\")\n\t\t\t\t\t: isPending\n\t\t\t\t\t\t? i18n.t(\"Preparing...\")\n\t\t\t\t\t\t: i18n.t(\"Download\")}\n\t\t\t</DropdownButton>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -28,31 +28,39 @@ const ScorecardPreviewArea = react.memo(function ScorecardPreviewArea2({
|
|
|
28
28
|
printMode: true
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32
|
-
|
|
31
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32
|
+
StateProvider.ScorecardStateProvider,
|
|
33
33
|
{
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
34
|
+
withRecoilRoot: true,
|
|
35
|
+
initialState: updatedState,
|
|
36
|
+
config,
|
|
37
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { style: { display: "none" }, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
38
|
+
"div",
|
|
39
|
+
{
|
|
40
|
+
className: "print-preview",
|
|
41
|
+
style: {
|
|
42
|
+
height: "100%",
|
|
43
|
+
display: "flex",
|
|
44
|
+
gap: 16,
|
|
45
|
+
flexDirection: "column"
|
|
46
|
+
},
|
|
47
|
+
ref: previewRef,
|
|
48
|
+
children: [
|
|
49
|
+
/* @__PURE__ */ jsxRuntime.jsx(ScorecardHeader.ScorecardHeader, {}),
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx(ScorecardLegendsView.ScorecardLegendsView, {}),
|
|
51
|
+
/* @__PURE__ */ jsxRuntime.jsx(TableStateProvider.TableStateProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(reactDnd.DndProvider, { backend: reactDndHtml5Backend.HTML5Backend, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
52
|
+
ScorecardTable.ScorecardTable,
|
|
53
|
+
{
|
|
54
|
+
scrollHeight: "100%",
|
|
55
|
+
scrollWidth: "100%",
|
|
56
|
+
width: "100%"
|
|
57
|
+
}
|
|
58
|
+
) }) })
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
) })
|
|
54
62
|
}
|
|
55
|
-
)
|
|
63
|
+
);
|
|
56
64
|
});
|
|
57
65
|
|
|
58
66
|
exports.ScorecardPreviewArea = ScorecardPreviewArea;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ScorecardPrint/components/ScorecardPreviewArea.tsx"],"names":["ScorecardPreviewArea"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ScorecardPrint/components/ScorecardPreviewArea.tsx"],"names":["ScorecardPreviewArea"],"mappings":"AAuCI,SAUC,KAVD;AAvCJ,SAAgB,YAA4B;AAC5C,SAAS,0BAA0B;AACnC,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AACrC,SAAS,8BAA8B;AACvC,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AAEnC,OAAO;AAEA,MAAM,uBAAuB,KAAK,SAASA,sBAAqB;AAAA,EACtE;AACD,GAEG;AACF,QAAM,SAAS,mBAAmB;AAClC,QAAM,QAAQ,eAAe,kBAAkB;AAE/C,QAAM,eAAe;AAAA,IACpB,GAAI,SAAS,CAAC;AAAA,IACd,SAAS;AAAA,MACR,GAAI,OAAO,WAAW,CAAC;AAAA,MACvB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,WAAW;AAAA,IACZ;AAAA,EACD;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,gBAAc;AAAA,MACd,cAAc;AAAA,MACd;AAAA,MAEA,8BAAC,SAAI,OAAO,EAAE,SAAS,OAAO,GAC7B;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAO;AAAA,YACN,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,KAAK;AAAA,YACL,eAAe;AAAA,UAChB;AAAA,UACA,KAAK;AAAA,UAEL;AAAA,gCAAC,mBAAgB;AAAA,YACjB,oBAAC,wBAAqB;AAAA,YACtB,oBAAC,sBACA,8BAAC,eAAY,SAAS,cACrB;AAAA,cAAC;AAAA;AAAA,gBACA,cAAa;AAAA,gBACb,aAAY;AAAA,gBACZ,OAAM;AAAA;AAAA,YACP,GACD,GACD;AAAA;AAAA;AAAA,MACD,GACD;AAAA;AAAA,EACD;AAEF,CAAC","sourcesContent":["import React, { memo, type RefObject } from \"react\";\nimport { TableStateProvider } from \"../../TableStateProvider\";\nimport { DndProvider } from \"react-dnd\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport { ScorecardTable } from \"../../ScorecardTable\";\nimport { ScorecardHeader } from \"../../ScorecardHeader\";\nimport { ScorecardLegendsView } from \"../../ScorecardLegendsView\";\nimport { ScorecardStateProvider } from \"../../StateProvider\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useRecoilValue } from \"recoil\";\nimport { scorecardStateAtom } from \"../../../state\";\nimport type { ScorecardState } from \"../../../schemas/config\";\nimport \"../print.css\";\n\nexport const ScorecardPreviewArea = memo(function ScorecardPreviewArea({\n\tpreviewRef,\n}: {\n\tpreviewRef: RefObject<HTMLDivElement>;\n}) {\n\tconst config = useScorecardConfig();\n\tconst state = useRecoilValue(scorecardStateAtom);\n\n\tconst updatedState = {\n\t\t...(state ?? {}),\n\t\toptions: {\n\t\t\t...(state?.options ?? {}),\n\t\t\tdisableExpanding: true,\n\t\t\tdisablePagination: true,\n\t\t\tprintMode: true,\n\t\t},\n\t} as ScorecardState;\n\n\treturn (\n\t\t<ScorecardStateProvider\n\t\t\twithRecoilRoot\n\t\t\tinitialState={updatedState}\n\t\t\tconfig={config}\n\t\t>\n\t\t\t<div style={{ display: \"none\" }}>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"print-preview\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t}}\n\t\t\t\t\tref={previewRef}\n\t\t\t\t>\n\t\t\t\t\t<ScorecardHeader />\n\t\t\t\t\t<ScorecardLegendsView />\n\t\t\t\t\t<TableStateProvider>\n\t\t\t\t\t\t<DndProvider backend={HTML5Backend}>\n\t\t\t\t\t\t\t<ScorecardTable\n\t\t\t\t\t\t\t\tscrollHeight=\"100%\"\n\t\t\t\t\t\t\t\tscrollWidth=\"100%\"\n\t\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</DndProvider>\n\t\t\t\t\t</TableStateProvider>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</ScorecardStateProvider>\n\t);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":["DataContainer"],"mappings":"AAwBS;AApBT,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAE/B,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAE3B,SAAS,uBACR,OACC;AACD,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,MAAM,SAAS;AAClC,QAAM,SAAS,mBAAmB;AAClC,QAAM,OAAO,iBAAiB;AAC9B,QAAM,EAAE,SAAS,SAAS,IAAI,aAAa,MAAM,SAAS,CAAC;AAE3D,MAAI,CAAC,UAAU,CAAC,MAAM;AACrB,WAAO,oBAAC,iBAAc,OAAO,EAAE,OAAO,KAAK,GAAG,UAAQ,MAAC;AAAA,EACxD;AAEA,MAAI,SAAS;AACZ,WAAO,oBAAC,cAAW,MAAY;AAAA,EAChC;AAEA,MAAI,CAAC,YAAY;AAChB,WAAO,oBAAC,iBAAc,UAAQ,MAAC;AAAA,EAChC;AAEA,MAAI,UAAU,WAAW,GAAG;AAC3B,WACC;AAAA,MAAC;AAAA;AAAA,QACC,GAAG;AAAA,QACJ;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,aAAa;AAAA;AAAA,IACd;AAAA,EAEF;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":["DataContainer"],"mappings":"AAwBS;AApBT,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAE/B,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAE3B,SAAS,uBACR,OACC;AACD,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,MAAM,SAAS;AAClC,QAAM,SAAS,mBAAmB;AAClC,QAAM,OAAO,iBAAiB;AAC9B,QAAM,EAAE,SAAS,SAAS,IAAI,aAAa,MAAM,SAAS,CAAC;AAE3D,MAAI,CAAC,UAAU,CAAC,MAAM;AACrB,WAAO,oBAAC,iBAAc,OAAO,EAAE,OAAO,KAAK,GAAG,UAAQ,MAAC;AAAA,EACxD;AAEA,MAAI,SAAS;AACZ,WAAO,oBAAC,cAAW,MAAY;AAAA,EAChC;AAEA,MAAI,CAAC,YAAY;AAChB,WAAO,oBAAC,iBAAc,UAAQ,MAAC;AAAA,EAChC;AAEA,MAAI,UAAU,WAAW,GAAG;AAC3B,WACC;AAAA,MAAC;AAAA;AAAA,QACC,GAAG;AAAA,QACJ;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,aAAa;AAAA;AAAA,IACd;AAAA,EAEF;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACC,GAAG;AAAA,MACJ;AAAA,MACA,QAAQ,WAAW;AAAA,MACnB,aAAa;AAAA;AAAA,EACd;AAEF;AAEO,MAAM,gBAAgB,KAAK,SAASA,eAC1C,OACC;AACD,QAAM,SAAS,MAAM,SAAS;AAE9B,MAAI,CAAC,QAAQ;AACZ,WAAO,oBAAC,iBAAc,UAAQ,MAAC,KAAI,MAAK,OAAM,QAAO;AAAA,EACtD;AAEA,SAAO,oBAAC,0BAAwB,GAAG,OAAO;AAC3C,CAAC","sourcesContent":["import type {\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { SingleDataCell } from \"./SingleDataCell\";\nimport { LinkedDataCell } from \"./LinkedDataCell\";\nimport type { CellContext } from \"@tanstack/react-table\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo } from \"react\";\nimport { useCellValue } from \"../../../hooks/value\";\nimport { CellLoader } from \"./CellLoader\";\n\nfunction DataContainerComponent(\n\tprops: CellContext<ScorecardTableData, ScorecardTableCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = props.getValue();\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\tconst { loading, cellData } = useCellValue(props.getValue());\n\n\tif (!config || !meta) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!dataConfig) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\tif (cellData?.length === 1) {\n\t\treturn (\n\t\t\t<SingleDataCell\n\t\t\t\t{...dataConfig}\n\t\t\t\tsize={size}\n\t\t\t\tperiod={dataConfig.currentPeriod!}\n\t\t\t\tdataSources={cellData}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<LinkedDataCell\n\t\t\t{...dataConfig}\n\t\t\tsize={size}\n\t\t\tperiod={dataConfig.currentPeriod!}\n\t\t\tdataSources={cellData}\n\t\t/>\n\t);\n}\n\nexport const DataContainer = memo(function DataContainer(\n\tprops: CellContext<ScorecardTableData, ScorecardTableCellConfig>,\n) {\n\tconst config = props.getValue();\n\n\tif (!config) {\n\t\treturn <DataTableCell bordered tag=\"th\" width=\"auto\" />;\n\t}\n\n\treturn <DataContainerComponent {...props} />;\n});\n"]}
|
|
@@ -27,10 +27,6 @@ function LinkedDataCellComponent({
|
|
|
27
27
|
orgUnit,
|
|
28
28
|
period
|
|
29
29
|
});
|
|
30
|
-
console.log({
|
|
31
|
-
top,
|
|
32
|
-
bottom
|
|
33
|
-
});
|
|
34
30
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
35
31
|
!!furtherAnalysisConfig && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36
32
|
FurtherAnalysisModal.FurtherAnalysis,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":"AA0CE,mBAEE,KAFF;AAxCF,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,MAAM,gBAAgB;AAC/B,SAAS,2BAA2B;AACpC;AAAA,EACC;AAAA,OAEM;AACP,SAAS,eAAe;AASxB,SAAS,wBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAwB;AACvB,QAAM,CAAC,uBAAuB,wBAAwB,IACrD,SAAuC,IAAI;AAC5C,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,MAAS;AAE9D,QAAM,CAAC,KAAK,MAAM,IAAI,eAAe,CAAC;AACtC,QAAM,EAAE,kBAAkB,oBAAoB,IAAI,YAAY;AAAA,IAC7D,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,EAAE,kBAAkB,uBAAuB,IAAI,YAAY;AAAA,IAChE,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC,iCACE;AAAA,KAAC,CAAC,yBACF;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,MAAM;AACd,mCAAyB,IAAI;AAAA,QAC9B;AAAA,QACA,MAAM,CAAC;AAAA,QACP,QAAQ;AAAA;AAAA,IACT;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,eAAe,CAAC,MAAW;AAC1B,YAAE,eAAe;AACjB,4BAAkB,EAAE,MAAM;AAAA,QAC3B;AAAA,QACA,SAAS,CAAC,UAAsB;AAC/B,gBAAM,gBAAgB;AACtB,mCAAyB;AAAA,YACxB,iBAAiB;AAAA,cAChB,SAAS;AAAA,gBACR;AAAA,kBACC,IAAI;AAAA,gBACL;AAAA,cACD;AAAA,YACD;AAAA,YACA,kBAAkB;AAAA,cACjB,QAAQ,CAAC;AAAA,cACT,QAAQ,CAAC;AAAA,cACT,UAAU;AAAA,gBACT;AAAA,kBACC,IAAI,QAAQ;AAAA,gBACb;AAAA,cACD;AAAA,YACD;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,QACA,KAAK;AAAA,UACJ,kBAAkB;AAAA,UAClB,YAAY;AAAA,UACZ,OAAO,KAAK,MAAM;AAAA,QACnB;AAAA,QACA,QAAQ;AAAA,UACP,kBAAkB;AAAA,UAClB,YAAY;AAAA,UACZ,OAAO,QAAQ,MAAM;AAAA,QACtB;AAAA;AAAA,IACD;AAAA,IACC,kBACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,IACX;AAAA,KAEF;AAEF;AAEO,MAAM,iBAAiB;AAAA,EAC7B;AAAA,EACA,CAAC,WAAW,aAAa;AACxB,WAAO,QAAQ,WAAW,QAAQ;AAAA,EACnC;AACD","sourcesContent":["import type { ScorecardCellData } from \"../../../schemas/config\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport { memo, useState } from \"react\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\nimport { isEqual } from \"lodash\";\n\nexport interface LinkedDataCellProps {\n\tdataSources: ScorecardCellData[];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n\tsize: number;\n}\n\nfunction LinkedDataCellComponent({\n\tdataSources,\n\torgUnit,\n\tperiod,\n\tsize,\n}: LinkedDataCellProps) {\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst [top, bottom] = dataSources ?? [];\n\tconst { legendDefinition: topLegendDefinition } = useCellData({\n\t\tdataSource: top,\n\t\torgUnit,\n\t\tperiod,\n\t});\n\tconst { legendDefinition: bottomLegendDefinition } = useCellData({\n\t\tdataSource: bottom,\n\t\torgUnit,\n\t\tperiod,\n\t});\n\n\treturn (\n\t\t<>\n\t\t\t{!!furtherAnalysisConfig && (\n\t\t\t\t<FurtherAnalysis\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tsetFurtherAnalysisConfig(null);\n\t\t\t\t\t}}\n\t\t\t\t\thide={!furtherAnalysisConfig}\n\t\t\t\t\tconfig={furtherAnalysisConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<LinkedCell\n\t\t\t\tsize={size}\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t}}\n\t\t\t\tonClick={(event: MouseEvent) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: period,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdataSources,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ttop={{\n\t\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\t\tdataSource: top,\n\t\t\t\t\tvalue: top?.data?.current,\n\t\t\t\t}}\n\t\t\t\tbottom={{\n\t\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\t\tdataSource: bottom,\n\t\t\t\t\tvalue: bottom?.data?.current,\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const LinkedDataCell = memo(\n\tLinkedDataCellComponent,\n\t(prevProps, nowProps) => {\n\t\treturn isEqual(prevProps, nowProps);\n\t},\n);\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useScorecardConfig } from './ConfigProvider';
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
4
|
import { useScorecardStateSelectorValue } from '../state';
|
|
@@ -25,9 +25,9 @@ function ScorecardHeader() {
|
|
|
25
25
|
if (!showTitle) {
|
|
26
26
|
return null;
|
|
27
27
|
}
|
|
28
|
-
return /* @__PURE__ */ jsx(
|
|
28
|
+
return /* @__PURE__ */ jsx(Fragment, { children: customHeader ? (
|
|
29
29
|
/*
|
|
30
|
-
|
|
30
|
+
// @ts-ignore */
|
|
31
31
|
/* @__PURE__ */ jsx(
|
|
32
32
|
JsxParser,
|
|
33
33
|
{
|
|
@@ -50,25 +50,19 @@ function ScorecardHeader() {
|
|
|
50
50
|
flexDirection: "column",
|
|
51
51
|
alignItems: "center",
|
|
52
52
|
justifyContent: "center",
|
|
53
|
+
width: "100%",
|
|
53
54
|
gap: 16
|
|
54
55
|
},
|
|
55
56
|
children: [
|
|
56
|
-
/* @__PURE__ */ jsxs(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
children: [
|
|
62
|
-
title,
|
|
63
|
-
" ",
|
|
64
|
-
`${periods.length === 1 ? ` - ${period?.name}` : ""}`
|
|
65
|
-
]
|
|
66
|
-
}
|
|
67
|
-
),
|
|
57
|
+
/* @__PURE__ */ jsxs("h1", { style: { margin: 8 }, id: "data-test-score-card-title", children: [
|
|
58
|
+
title,
|
|
59
|
+
" ",
|
|
60
|
+
`${periods.length === 1 ? ` - ${period?.name}` : ""}`
|
|
61
|
+
] }),
|
|
68
62
|
/* @__PURE__ */ jsx("h3", { style: { color: colors.grey600, margin: 0 }, children: subtitle })
|
|
69
63
|
]
|
|
70
64
|
}
|
|
71
|
-
) })
|
|
65
|
+
) });
|
|
72
66
|
}
|
|
73
67
|
|
|
74
68
|
export { ScorecardHeader };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":"AAkCE,mBAIE,KAsBC,YA1BH;AAlCF,SAAS,0BAA0B;AACnC,SAAS,eAAe;AACxB,SAAS,sCAAsC;AAE/C,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,OAAO,eAAe;AAEf,SAAS,kBAAkB;AACjC,QAAM,SAAS,mBAAmB;AAClC,QAAM,EAAE,cAAc,OAAO,SAAS,IAAI,UAAU,CAAC;AAErD,QAAM,kBACL,+BAAgD,iBAAiB;AAClE,QAAM,YAAY,+BAAwC;AAAA,IACzD;AAAA,IACA;AAAA,EACD,CAAC;AAED,QAAM,UAAU,QAAQ,MAAM,gBAAgB,SAAS,CAAC,eAAe,CAAC;AAExE,QAAM,SAAS,QAAQ,MAAM;AAC5B,QAAI,QAAQ,SAAS,GAAG;AACvB;AAAA,IACD;AACA,WAAO,cAAc,cAAc,KAAK,OAAO,GAAG,EAAY;AAAA,EAC/D,GAAG,CAAC,OAAO,CAAC;AAEZ,MAAI,CAAC,WAAW;AACf,WAAO;AAAA,EACR;AAEA,SACC,gCACE;AAAA;AAAA;AAAA,IAGA;AAAA,MAAC;AAAA;AAAA,QACA,uBAAqB;AAAA,QACrB,WAAU;AAAA,QACV,SAAS,QAAQ;AAAA,QACjB,UAAU;AAAA,UACT;AAAA,UACA;AAAA,UACA,QAAQ,QAAQ,WAAW,IAAI,QAAQ,OAAO;AAAA,QAC/C;AAAA,QACA,KAAK;AAAA;AAAA,IACN;AAAA,MAEA;AAAA,IAAC;AAAA;AAAA,MACA,OAAO;AAAA,QACN,SAAS;AAAA,QACT,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,KAAK;AAAA,MACN;AAAA,MAEA;AAAA,6BAAC,QAAG,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,8BAC5B;AAAA;AAAA,UAAO;AAAA,UACP,GAAG,QAAQ,WAAW,IAAI,MAAM,QAAQ,IAAI,KAAK,EAAE;AAAA,WACrD;AAAA,QACA,oBAAC,QAAG,OAAO,EAAE,OAAO,OAAO,SAAS,QAAQ,EAAE,GAC5C,oBACF;AAAA;AAAA;AAAA,EACD,GAEF;AAEF","sourcesContent":["import { useScorecardConfig } from \"./ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { useScorecardStateSelectorValue } from \"../state\";\nimport type { PeriodSelection } from \"../schemas/config\";\nimport { PeriodUtility } from \"@hisptz/dhis2-utils\";\nimport { head } from \"lodash\";\nimport { colors } from \"@dhis2/ui\";\nimport JsxParser from \"react-jsx-parser\";\n\nexport function ScorecardHeader() {\n\tconst config = useScorecardConfig();\n\tconst { customHeader, title, subtitle } = config ?? {};\n\n\tconst periodSelection =\n\t\tuseScorecardStateSelectorValue<PeriodSelection>(\"periodSelection\");\n\tconst showTitle = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"title\",\n\t]);\n\n\tconst periods = useMemo(() => periodSelection.periods, [periodSelection]);\n\n\tconst period = useMemo(() => {\n\t\tif (periods.length > 1) {\n\t\t\treturn;\n\t\t}\n\t\treturn PeriodUtility.getPeriodById(head(periods)?.id as string);\n\t}, [periods]);\n\n\tif (!showTitle) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{customHeader ? (\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\t<JsxParser\n\t\t\t\t\tautoCloseVoidElements\n\t\t\t\t\tclassName=\"w-100\"\n\t\t\t\t\tonError={console.error}\n\t\t\t\t\tbindings={{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tsubtitle,\n\t\t\t\t\t\tperiod: periods.length === 1 ? period?.name : \"\",\n\t\t\t\t\t}}\n\t\t\t\t\tjsx={customHeader}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<h1 style={{ margin: 8 }} id={\"data-test-score-card-title\"}>\n\t\t\t\t\t\t{title}{\" \"}\n\t\t\t\t\t\t{`${periods.length === 1 ? ` - ${period?.name}` : \"\"}`}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<h3 style={{ color: colors.grey600, margin: 0 }}>\n\t\t\t\t\t\t{subtitle}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -10,6 +10,7 @@ import * as xlsx from 'xlsx';
|
|
|
10
10
|
import { useScorecardMeta } from '../../MetaProvider';
|
|
11
11
|
import { downloadALMAData, downloadALMAMeta } from '../utils/download';
|
|
12
12
|
import { useAlert } from '@dhis2/app-runtime';
|
|
13
|
+
import '../print.css';
|
|
13
14
|
|
|
14
15
|
function DownloadMenu({
|
|
15
16
|
previewRef,
|
|
@@ -24,7 +25,6 @@ function DownloadMenu({
|
|
|
24
25
|
const meta = useScorecardMeta();
|
|
25
26
|
const print = useReactToPrint({
|
|
26
27
|
contentRef: previewRef,
|
|
27
|
-
preserveAfterPrint: false,
|
|
28
28
|
documentTitle: config.title,
|
|
29
29
|
onPrintError: (errorLocation, error) => {
|
|
30
30
|
console.error(`Error running ${errorLocation}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardPrint/components/ScorecardDownloadButton.tsx"],"names":[],"mappings":"AAkFE,mBAEE,KAMA,YARF;AAlFF;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,OAAO,UAAU;AACjB;AAAA,EAEC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACM;AACP,SAAS,wBAAwB;AACjC,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AACnC,SAAS,4BAA4B;AACrC,YAAY,UAAU;AACtB,SAAS,wBAAwB;AACjC,SAAS,kBAAkB,wBAAwB;AACnD,SAAS,gBAAgB;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardPrint/components/ScorecardDownloadButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tDropdownButton,\n\tFlyoutMenu,\n\tIconDownload24,\n\tMenuItem,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport {\n\ttype RefObject,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tuseTransition,\n} from \"react\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { useReactToPrint } from \"react-to-print\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { ScorecardPreviewArea } from \"./ScorecardPreviewArea\";\nimport * as xlsx from \"xlsx\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { downloadALMAData, downloadALMAMeta } from \"../utils/download\";\nimport { useAlert } from \"@dhis2/app-runtime\";\nimport \"../print.css\";\n\nfunction DownloadMenu({\n\tpreviewRef,\n\tonClose,\n}: {\n\tpreviewRef: RefObject<HTMLDivElement>;\n\tonClose: () => void;\n}) {\n\tconst config = useScorecardConfig();\n\tconst { show } = useAlert(\n\t\t({ message }) => message,\n\t\t({ type }) => ({ ...type, duration: 3000 }),\n\t);\n\tconst { data: dataEngine } = useScorecardData();\n\tconst meta = useScorecardMeta();\n\tconst print = useReactToPrint({\n\t\tcontentRef: previewRef,\n\t\tdocumentTitle: config.title,\n\t\tonPrintError: (errorLocation, error) => {\n\t\t\tconsole.error(`Error running ${errorLocation}`);\n\t\t\tconsole.error(error);\n\t\t\tshow({\n\t\t\t\tmessage: `${i18n.t(\"Could not open the print dialog\")}: ${\n\t\t\t\t\terror.message ?? i18n.t(\"Unknown error\")\n\t\t\t\t}`,\n\t\t\t\ttype: { info: true },\n\t\t\t});\n\t\t},\n\t});\n\n\tconst onDownload =\n\t\t(type: \"excel\" | \"csv\" | \"alma\" | \"almaMeta\" | \"pdf\") => () => {\n\t\t\tonClose();\n\t\t\tswitch (type) {\n\t\t\t\tcase \"pdf\":\n\t\t\t\t\tprint();\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"csv\":\n\t\t\t\tcase \"excel\":\n\t\t\t\t\tconst extension = type === \"csv\" ? \"csv\" : \"xlsx\";\n\t\t\t\t\tconst workbook = xlsx.utils.table_to_book(\n\t\t\t\t\t\tpreviewRef.current,\n\t\t\t\t\t);\n\t\t\t\t\txlsx.writeFile(workbook, `${config.title}.${extension}`);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"almaMeta\":\n\t\t\t\t\tdownloadALMAMeta({ config, meta: meta! });\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"alma\":\n\t\t\t\t\tdownloadALMAData({\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tmeta: meta!,\n\t\t\t\t\t\tdata: dataEngine.data,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\treturn (\n\t\t<>\n\t\t\t<FlyoutMenu closeMenu={onClose}>\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={onDownload(\"excel\")}\n\t\t\t\t\tlabel={i18n.t(\"Excel\")}\n\t\t\t\t/>\n\t\t\t\t<MenuItem onClick={onDownload(\"csv\")} label={i18n.t(\"CSV\")} />\n\t\t\t\t<MenuItem onClick={onDownload(\"pdf\")} label={i18n.t(\"PDF\")} />\n\t\t\t\t<MenuItem label={i18n.t(\"ALMA\")}>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={onDownload(\"alma\")}\n\t\t\t\t\t\tlabel={i18n.t(\"Data(JSON)\")}\n\t\t\t\t\t/>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={onDownload(\"almaMeta\")}\n\t\t\t\t\t\tlabel={i18n.t(\"Metadata\")}\n\t\t\t\t\t/>\n\t\t\t\t</MenuItem>\n\t\t\t</FlyoutMenu>\n\t\t</>\n\t);\n}\n\nexport function ScorecardDownloadButton() {\n\tconst [isPending, startTransition] = useTransition();\n\tconst { data: dataEngine } = useScorecardData();\n\tconst [openMenu, setOpenMenu] = useState<boolean>(false);\n\tconst [completed, setCompleted] = useState<boolean>(dataEngine.isDone);\n\tconst previewRef = useRef<HTMLDivElement | null>(null);\n\n\tuseEffect(() => {\n\t\treturn dataEngine.addOnCompleteListener(setCompleted);\n\t}, [dataEngine]);\n\n\treturn (\n\t\t<>\n\t\t\t{openMenu && <ScorecardPreviewArea previewRef={previewRef} />}\n\t\t\t<DropdownButton\n\t\t\t\ttype=\"button\"\n\t\t\t\tvalue=\"scorecard-download-button\"\n\t\t\t\tdisabled={!completed}\n\t\t\t\topen={openMenu}\n\t\t\t\tonClick={({ open }) => {\n\t\t\t\t\tstartTransition(() => {\n\t\t\t\t\t\tsetOpenMenu(open);\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ticon={<IconDownload24 />}\n\t\t\t\tcomponent={\n\t\t\t\t\tisPending ? (\n\t\t\t\t\t\t<div>Loading</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<DownloadMenu\n\t\t\t\t\t\t\tonClose={() => setOpenMenu(false)}\n\t\t\t\t\t\t\tpreviewRef={previewRef}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{!completed\n\t\t\t\t\t? i18n.t(\"Please wait...\")\n\t\t\t\t\t: isPending\n\t\t\t\t\t\t? i18n.t(\"Preparing...\")\n\t\t\t\t\t\t: i18n.t(\"Download\")}\n\t\t\t</DropdownButton>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -26,31 +26,39 @@ const ScorecardPreviewArea = memo(function ScorecardPreviewArea2({
|
|
|
26
26
|
printMode: true
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
-
return /* @__PURE__ */ jsx(
|
|
30
|
-
|
|
29
|
+
return /* @__PURE__ */ jsx(
|
|
30
|
+
ScorecardStateProvider,
|
|
31
31
|
{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
32
|
+
withRecoilRoot: true,
|
|
33
|
+
initialState: updatedState,
|
|
34
|
+
config,
|
|
35
|
+
children: /* @__PURE__ */ jsx("div", { style: { display: "none" }, children: /* @__PURE__ */ jsxs(
|
|
36
|
+
"div",
|
|
37
|
+
{
|
|
38
|
+
className: "print-preview",
|
|
39
|
+
style: {
|
|
40
|
+
height: "100%",
|
|
41
|
+
display: "flex",
|
|
42
|
+
gap: 16,
|
|
43
|
+
flexDirection: "column"
|
|
44
|
+
},
|
|
45
|
+
ref: previewRef,
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ jsx(ScorecardHeader, {}),
|
|
48
|
+
/* @__PURE__ */ jsx(ScorecardLegendsView, {}),
|
|
49
|
+
/* @__PURE__ */ jsx(TableStateProvider, { children: /* @__PURE__ */ jsx(DndProvider, { backend: HTML5Backend, children: /* @__PURE__ */ jsx(
|
|
50
|
+
ScorecardTable,
|
|
51
|
+
{
|
|
52
|
+
scrollHeight: "100%",
|
|
53
|
+
scrollWidth: "100%",
|
|
54
|
+
width: "100%"
|
|
55
|
+
}
|
|
56
|
+
) }) })
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
) })
|
|
52
60
|
}
|
|
53
|
-
)
|
|
61
|
+
);
|
|
54
62
|
});
|
|
55
63
|
|
|
56
64
|
export { ScorecardPreviewArea };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardPrint/components/ScorecardPreviewArea.tsx"],"names":["ScorecardPreviewArea"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardPrint/components/ScorecardPreviewArea.tsx"],"names":["ScorecardPreviewArea"],"mappings":"AAuCI,SAUC,KAVD;AAvCJ,SAAgB,YAA4B;AAC5C,SAAS,0BAA0B;AACnC,SAAS,mBAAmB;AAC5B,SAAS,oBAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AACrC,SAAS,8BAA8B;AACvC,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AAEnC,OAAO;AAEA,MAAM,uBAAuB,KAAK,SAASA,sBAAqB;AAAA,EACtE;AACD,GAEG;AACF,QAAM,SAAS,mBAAmB;AAClC,QAAM,QAAQ,eAAe,kBAAkB;AAE/C,QAAM,eAAe;AAAA,IACpB,GAAI,SAAS,CAAC;AAAA,IACd,SAAS;AAAA,MACR,GAAI,OAAO,WAAW,CAAC;AAAA,MACvB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,WAAW;AAAA,IACZ;AAAA,EACD;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,gBAAc;AAAA,MACd,cAAc;AAAA,MACd;AAAA,MAEA,8BAAC,SAAI,OAAO,EAAE,SAAS,OAAO,GAC7B;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,OAAO;AAAA,YACN,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,KAAK;AAAA,YACL,eAAe;AAAA,UAChB;AAAA,UACA,KAAK;AAAA,UAEL;AAAA,gCAAC,mBAAgB;AAAA,YACjB,oBAAC,wBAAqB;AAAA,YACtB,oBAAC,sBACA,8BAAC,eAAY,SAAS,cACrB;AAAA,cAAC;AAAA;AAAA,gBACA,cAAa;AAAA,gBACb,aAAY;AAAA,gBACZ,OAAM;AAAA;AAAA,YACP,GACD,GACD;AAAA;AAAA;AAAA,MACD,GACD;AAAA;AAAA,EACD;AAEF,CAAC","sourcesContent":["import React, { memo, type RefObject } from \"react\";\nimport { TableStateProvider } from \"../../TableStateProvider\";\nimport { DndProvider } from \"react-dnd\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport { ScorecardTable } from \"../../ScorecardTable\";\nimport { ScorecardHeader } from \"../../ScorecardHeader\";\nimport { ScorecardLegendsView } from \"../../ScorecardLegendsView\";\nimport { ScorecardStateProvider } from \"../../StateProvider\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useRecoilValue } from \"recoil\";\nimport { scorecardStateAtom } from \"../../../state\";\nimport type { ScorecardState } from \"../../../schemas/config\";\nimport \"../print.css\";\n\nexport const ScorecardPreviewArea = memo(function ScorecardPreviewArea({\n\tpreviewRef,\n}: {\n\tpreviewRef: RefObject<HTMLDivElement>;\n}) {\n\tconst config = useScorecardConfig();\n\tconst state = useRecoilValue(scorecardStateAtom);\n\n\tconst updatedState = {\n\t\t...(state ?? {}),\n\t\toptions: {\n\t\t\t...(state?.options ?? {}),\n\t\t\tdisableExpanding: true,\n\t\t\tdisablePagination: true,\n\t\t\tprintMode: true,\n\t\t},\n\t} as ScorecardState;\n\n\treturn (\n\t\t<ScorecardStateProvider\n\t\t\twithRecoilRoot\n\t\t\tinitialState={updatedState}\n\t\t\tconfig={config}\n\t\t>\n\t\t\t<div style={{ display: \"none\" }}>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"print-preview\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t}}\n\t\t\t\t\tref={previewRef}\n\t\t\t\t>\n\t\t\t\t\t<ScorecardHeader />\n\t\t\t\t\t<ScorecardLegendsView />\n\t\t\t\t\t<TableStateProvider>\n\t\t\t\t\t\t<DndProvider backend={HTML5Backend}>\n\t\t\t\t\t\t\t<ScorecardTable\n\t\t\t\t\t\t\t\tscrollHeight=\"100%\"\n\t\t\t\t\t\t\t\tscrollWidth=\"100%\"\n\t\t\t\t\t\t\t\twidth=\"100%\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</DndProvider>\n\t\t\t\t\t</TableStateProvider>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</ScorecardStateProvider>\n\t);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":["DataContainer"],"mappings":"AAwBS;AApBT,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAE/B,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAE3B,SAAS,uBACR,OACC;AACD,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,MAAM,SAAS;AAClC,QAAM,SAAS,mBAAmB;AAClC,QAAM,OAAO,iBAAiB;AAC9B,QAAM,EAAE,SAAS,SAAS,IAAI,aAAa,MAAM,SAAS,CAAC;AAE3D,MAAI,CAAC,UAAU,CAAC,MAAM;AACrB,WAAO,oBAAC,iBAAc,OAAO,EAAE,OAAO,KAAK,GAAG,UAAQ,MAAC;AAAA,EACxD;AAEA,MAAI,SAAS;AACZ,WAAO,oBAAC,cAAW,MAAY;AAAA,EAChC;AAEA,MAAI,CAAC,YAAY;AAChB,WAAO,oBAAC,iBAAc,UAAQ,MAAC;AAAA,EAChC;AAEA,MAAI,UAAU,WAAW,GAAG;AAC3B,WACC;AAAA,MAAC;AAAA;AAAA,QACC,GAAG;AAAA,QACJ;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,aAAa;AAAA;AAAA,IACd;AAAA,EAEF;AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":["DataContainer"],"mappings":"AAwBS;AApBT,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAE/B,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAE3B,SAAS,uBACR,OACC;AACD,QAAM,OAAO,MAAM,KAAK,OAAO,QAAQ;AACvC,QAAM,aAAa,MAAM,SAAS;AAClC,QAAM,SAAS,mBAAmB;AAClC,QAAM,OAAO,iBAAiB;AAC9B,QAAM,EAAE,SAAS,SAAS,IAAI,aAAa,MAAM,SAAS,CAAC;AAE3D,MAAI,CAAC,UAAU,CAAC,MAAM;AACrB,WAAO,oBAAC,iBAAc,OAAO,EAAE,OAAO,KAAK,GAAG,UAAQ,MAAC;AAAA,EACxD;AAEA,MAAI,SAAS;AACZ,WAAO,oBAAC,cAAW,MAAY;AAAA,EAChC;AAEA,MAAI,CAAC,YAAY;AAChB,WAAO,oBAAC,iBAAc,UAAQ,MAAC;AAAA,EAChC;AAEA,MAAI,UAAU,WAAW,GAAG;AAC3B,WACC;AAAA,MAAC;AAAA;AAAA,QACC,GAAG;AAAA,QACJ;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,aAAa;AAAA;AAAA,IACd;AAAA,EAEF;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACC,GAAG;AAAA,MACJ;AAAA,MACA,QAAQ,WAAW;AAAA,MACnB,aAAa;AAAA;AAAA,EACd;AAEF;AAEO,MAAM,gBAAgB,KAAK,SAASA,eAC1C,OACC;AACD,QAAM,SAAS,MAAM,SAAS;AAE9B,MAAI,CAAC,QAAQ;AACZ,WAAO,oBAAC,iBAAc,UAAQ,MAAC,KAAI,MAAK,OAAM,QAAO;AAAA,EACtD;AAEA,SAAO,oBAAC,0BAAwB,GAAG,OAAO;AAC3C,CAAC","sourcesContent":["import type {\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { SingleDataCell } from \"./SingleDataCell\";\nimport { LinkedDataCell } from \"./LinkedDataCell\";\nimport type { CellContext } from \"@tanstack/react-table\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo } from \"react\";\nimport { useCellValue } from \"../../../hooks/value\";\nimport { CellLoader } from \"./CellLoader\";\n\nfunction DataContainerComponent(\n\tprops: CellContext<ScorecardTableData, ScorecardTableCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = props.getValue();\n\tconst config = useScorecardConfig();\n\tconst meta = useScorecardMeta();\n\tconst { loading, cellData } = useCellValue(props.getValue());\n\n\tif (!config || !meta) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!dataConfig) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\tif (cellData?.length === 1) {\n\t\treturn (\n\t\t\t<SingleDataCell\n\t\t\t\t{...dataConfig}\n\t\t\t\tsize={size}\n\t\t\t\tperiod={dataConfig.currentPeriod!}\n\t\t\t\tdataSources={cellData}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<LinkedDataCell\n\t\t\t{...dataConfig}\n\t\t\tsize={size}\n\t\t\tperiod={dataConfig.currentPeriod!}\n\t\t\tdataSources={cellData}\n\t\t/>\n\t);\n}\n\nexport const DataContainer = memo(function DataContainer(\n\tprops: CellContext<ScorecardTableData, ScorecardTableCellConfig>,\n) {\n\tconst config = props.getValue();\n\n\tif (!config) {\n\t\treturn <DataTableCell bordered tag=\"th\" width=\"auto\" />;\n\t}\n\n\treturn <DataContainerComponent {...props} />;\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":"AA0CE,mBAEE,KAFF;AAxCF,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,MAAM,gBAAgB;AAC/B,SAAS,2BAA2B;AACpC;AAAA,EACC;AAAA,OAEM;AACP,SAAS,eAAe;AASxB,SAAS,wBAAwB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAwB;AACvB,QAAM,CAAC,uBAAuB,wBAAwB,IACrD,SAAuC,IAAI;AAC5C,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,MAAS;AAE9D,QAAM,CAAC,KAAK,MAAM,IAAI,eAAe,CAAC;AACtC,QAAM,EAAE,kBAAkB,oBAAoB,IAAI,YAAY;AAAA,IAC7D,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACD,CAAC;AACD,QAAM,EAAE,kBAAkB,uBAAuB,IAAI,YAAY;AAAA,IAChE,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,EACD,CAAC;AAED,SACC,iCACE;AAAA,KAAC,CAAC,yBACF;AAAA,MAAC;AAAA;AAAA,QACA,SAAS,MAAM;AACd,mCAAyB,IAAI;AAAA,QAC9B;AAAA,QACA,MAAM,CAAC;AAAA,QACP,QAAQ;AAAA;AAAA,IACT;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,eAAe,CAAC,MAAW;AAC1B,YAAE,eAAe;AACjB,4BAAkB,EAAE,MAAM;AAAA,QAC3B;AAAA,QACA,SAAS,CAAC,UAAsB;AAC/B,gBAAM,gBAAgB;AACtB,mCAAyB;AAAA,YACxB,iBAAiB;AAAA,cAChB,SAAS;AAAA,gBACR;AAAA,kBACC,IAAI;AAAA,gBACL;AAAA,cACD;AAAA,YACD;AAAA,YACA,kBAAkB;AAAA,cACjB,QAAQ,CAAC;AAAA,cACT,QAAQ,CAAC;AAAA,cACT,UAAU;AAAA,gBACT;AAAA,kBACC,IAAI,QAAQ;AAAA,gBACb;AAAA,cACD;AAAA,YACD;AAAA,YACA;AAAA,UACD,CAAC;AAAA,QACF;AAAA,QACA,KAAK;AAAA,UACJ,kBAAkB;AAAA,UAClB,YAAY;AAAA,UACZ,OAAO,KAAK,MAAM;AAAA,QACnB;AAAA,QACA,QAAQ;AAAA,UACP,kBAAkB;AAAA,UAClB,YAAY;AAAA,UACZ,OAAO,QAAQ,MAAM;AAAA,QACtB;AAAA;AAAA,IACD;AAAA,IACC,kBACA;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU;AAAA;AAAA,IACX;AAAA,KAEF;AAEF;AAEO,MAAM,iBAAiB;AAAA,EAC7B;AAAA,EACA,CAAC,WAAW,aAAa;AACxB,WAAO,QAAQ,WAAW,QAAQ;AAAA,EACnC;AACD","sourcesContent":["import type { ScorecardCellData } from \"../../../schemas/config\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport { memo, useState } from \"react\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\nimport { isEqual } from \"lodash\";\n\nexport interface LinkedDataCellProps {\n\tdataSources: ScorecardCellData[];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n\tsize: number;\n}\n\nfunction LinkedDataCellComponent({\n\tdataSources,\n\torgUnit,\n\tperiod,\n\tsize,\n}: LinkedDataCellProps) {\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst [top, bottom] = dataSources ?? [];\n\tconst { legendDefinition: topLegendDefinition } = useCellData({\n\t\tdataSource: top,\n\t\torgUnit,\n\t\tperiod,\n\t});\n\tconst { legendDefinition: bottomLegendDefinition } = useCellData({\n\t\tdataSource: bottom,\n\t\torgUnit,\n\t\tperiod,\n\t});\n\n\treturn (\n\t\t<>\n\t\t\t{!!furtherAnalysisConfig && (\n\t\t\t\t<FurtherAnalysis\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tsetFurtherAnalysisConfig(null);\n\t\t\t\t\t}}\n\t\t\t\t\thide={!furtherAnalysisConfig}\n\t\t\t\t\tconfig={furtherAnalysisConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<LinkedCell\n\t\t\t\tsize={size}\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t}}\n\t\t\t\tonClick={(event: MouseEvent) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: period,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdataSources,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t\ttop={{\n\t\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\t\tdataSource: top,\n\t\t\t\t\tvalue: top?.data?.current,\n\t\t\t\t}}\n\t\t\t\tbottom={{\n\t\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\t\tdataSource: bottom,\n\t\t\t\t\tvalue: bottom?.data?.current,\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const LinkedDataCell = memo(\n\tLinkedDataCellComponent,\n\t(prevProps, nowProps) => {\n\t\treturn isEqual(prevProps, nowProps);\n\t},\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScorecardHeader.d.ts","sourceRoot":"","sources":["../../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":"AASA,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"ScorecardHeader.d.ts","sourceRoot":"","sources":["../../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":"AASA,wBAAgB,eAAe,mDA8D9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScorecardDownloadButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardPrint/components/ScorecardDownloadButton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScorecardDownloadButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardPrint/components/ScorecardDownloadButton.tsx"],"names":[],"mappings":"AAsBA,OAAO,cAAc,CAAC;AAmFtB,wBAAgB,uBAAuB,4CA4CtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScorecardPreviewArea.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardPrint/components/ScorecardPreviewArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAQ,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAYpD,OAAO,cAAc,CAAC;AAEtB,eAAO,MAAM,oBAAoB;gBAGpB,UAAU,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ScorecardPreviewArea.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardPrint/components/ScorecardPreviewArea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAQ,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAYpD,OAAO,cAAc,CAAC;AAEtB,eAAO,MAAM,oBAAoB;gBAGpB,UAAU,cAAc,CAAC;EA+CpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataContainer.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAgDzD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAUxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedDataCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAWxD,MAAM,WAAW,mBAAmB;IACnC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,OAAO,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACb;AAED,iBAAS,uBAAuB,CAAC,EAChC,WAAW,EACX,OAAO,EACP,MAAM,EACN,IAAI,GACJ,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"LinkedDataCell.d.ts","sourceRoot":"","sources":["../../../../../src/components/ScorecardTable/components/LinkedDataCell.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAWxD,MAAM,WAAW,mBAAmB;IACnC,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,OAAO,EAAE,QAAQ,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACb;AAED,iBAAS,uBAAuB,CAAC,EAChC,WAAW,EACX,OAAO,EACP,MAAM,EACN,IAAI,GACJ,EAAE,mBAAmB,2CA+ErB;AAED,eAAO,MAAM,cAAc,qEAK1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hisptz/dhis2-scorecard",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"types": "./dist/types/index.d.ts",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"recoil": "^0.7.7",
|
|
63
63
|
"xlsx": "^0.18.5",
|
|
64
64
|
"zod": "^3.23.8",
|
|
65
|
-
"@hisptz/dhis2-
|
|
65
|
+
"@hisptz/dhis2-ui": "2.0.27",
|
|
66
66
|
"@hisptz/dhis2-utils": "2.0.8",
|
|
67
|
-
"@hisptz/dhis2-
|
|
67
|
+
"@hisptz/dhis2-analytics": "2.0.46"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"@dhis2/app-runtime": "^3.10.2",
|