@hisptz/dhis2-scorecard 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/Scorecard.js.map +1 -1
  2. package/dist/components/ColGroup.js.map +1 -1
  3. package/dist/components/ConfigProvider.js.map +1 -1
  4. package/dist/components/DataProvider.js.map +1 -1
  5. package/dist/components/LoadingIndicator.js.map +1 -1
  6. package/dist/components/MetaProvider.js.map +1 -1
  7. package/dist/components/ScorecardContext.js.map +1 -1
  8. package/dist/components/ScorecardHeader.js.map +1 -1
  9. package/dist/components/ScorecardLegendsView/ScorecardLegendsView.js.map +1 -1
  10. package/dist/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
  11. package/dist/components/ScorecardLegendsView/components/LegendView.js.map +1 -1
  12. package/dist/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map +1 -1
  13. package/dist/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map +1 -1
  14. package/dist/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js.map +1 -1
  15. package/dist/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map +1 -1
  16. package/dist/components/ScorecardPrint/ScorecardPrint.js.map +1 -1
  17. package/dist/components/ScorecardPrint/components/ScorecardDownloadButton.js.map +1 -1
  18. package/dist/components/ScorecardPrint/components/ScorecardPreviewArea.js.map +1 -1
  19. package/dist/components/ScorecardPrint/utils/download.js.map +1 -1
  20. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -1
  21. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -1
  22. package/dist/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -1
  23. package/dist/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -1
  24. package/dist/components/ScorecardTable/ScorecardTable.js.map +1 -1
  25. package/dist/components/ScorecardTable/components/AverageCell.js.map +1 -1
  26. package/dist/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
  27. package/dist/components/ScorecardTable/components/CellLoader.js.map +1 -1
  28. package/dist/components/ScorecardTable/components/DataContainer.js.map +1 -1
  29. package/dist/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  30. package/dist/components/ScorecardTable/components/DataRow.js.map +1 -1
  31. package/dist/components/ScorecardTable/components/DataValue.js.map +1 -1
  32. package/dist/components/ScorecardTable/components/DraggableCell.js.map +1 -1
  33. package/dist/components/ScorecardTable/components/DroppableCell.js.map +1 -1
  34. package/dist/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
  35. package/dist/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  36. package/dist/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
  37. package/dist/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -1
  38. package/dist/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  39. package/dist/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
  40. package/dist/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  41. package/dist/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  42. package/dist/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  43. package/dist/components/ScorecardTable/components/TableBody.js.map +1 -1
  44. package/dist/components/ScorecardTable/components/TableFoot.js.map +1 -1
  45. package/dist/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
  46. package/dist/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  47. package/dist/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  48. package/dist/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  49. package/dist/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  50. package/dist/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  51. package/dist/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  52. package/dist/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  53. package/dist/components/StateProvider.js.map +1 -1
  54. package/dist/components/TableStateProvider.js.map +1 -1
  55. package/dist/esm/Scorecard.js.map +1 -1
  56. package/dist/esm/components/ColGroup.js.map +1 -1
  57. package/dist/esm/components/ConfigProvider.js.map +1 -1
  58. package/dist/esm/components/DataProvider.js.map +1 -1
  59. package/dist/esm/components/LoadingIndicator.js.map +1 -1
  60. package/dist/esm/components/MetaProvider.js.map +1 -1
  61. package/dist/esm/components/ScorecardContext.js.map +1 -1
  62. package/dist/esm/components/ScorecardHeader.js.map +1 -1
  63. package/dist/esm/components/ScorecardLegendsView/ScorecardLegendsView.js.map +1 -1
  64. package/dist/esm/components/ScorecardLegendsView/components/ArrowLegendView.js.map +1 -1
  65. package/dist/esm/components/ScorecardLegendsView/components/LegendView.js.map +1 -1
  66. package/dist/esm/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.js.map +1 -1
  67. package/dist/esm/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.js.map +1 -1
  68. package/dist/esm/components/ScorecardLegendsView/components/PeriodSpecificTargetView.js.map +1 -1
  69. package/dist/esm/components/ScorecardLegendsView/components/SpecificTargetLegendsView.js.map +1 -1
  70. package/dist/esm/components/ScorecardPrint/ScorecardPrint.js.map +1 -1
  71. package/dist/esm/components/ScorecardPrint/components/ScorecardDownloadButton.js.map +1 -1
  72. package/dist/esm/components/ScorecardPrint/components/ScorecardPreviewArea.js.map +1 -1
  73. package/dist/esm/components/ScorecardPrint/utils/download.js.map +1 -1
  74. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +1 -1
  75. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +1 -1
  76. package/dist/esm/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +1 -1
  77. package/dist/esm/components/ScorecardTable/FurtherAnalysisVisualization.js.map +1 -1
  78. package/dist/esm/components/ScorecardTable/ScorecardTable.js.map +1 -1
  79. package/dist/esm/components/ScorecardTable/components/AverageCell.js.map +1 -1
  80. package/dist/esm/components/ScorecardTable/components/AverageFooterCell.js.map +1 -1
  81. package/dist/esm/components/ScorecardTable/components/CellLoader.js.map +1 -1
  82. package/dist/esm/components/ScorecardTable/components/DataContainer.js.map +1 -1
  83. package/dist/esm/components/ScorecardTable/components/DataFooterCell.js +1 -1
  84. package/dist/esm/components/ScorecardTable/components/DataFooterCell.js.map +1 -1
  85. package/dist/esm/components/ScorecardTable/components/DataRow.js.map +1 -1
  86. package/dist/esm/components/ScorecardTable/components/DataValue.js.map +1 -1
  87. package/dist/esm/components/ScorecardTable/components/DraggableCell.js.map +1 -1
  88. package/dist/esm/components/ScorecardTable/components/DroppableCell.js.map +1 -1
  89. package/dist/esm/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
  90. package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  91. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisMenu.js +1 -1
  92. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
  93. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -1
  94. package/dist/esm/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  95. package/dist/esm/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
  96. package/dist/esm/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  97. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  98. package/dist/esm/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  99. package/dist/esm/components/ScorecardTable/components/TableBody.js.map +1 -1
  100. package/dist/esm/components/ScorecardTable/components/TableFoot.js.map +1 -1
  101. package/dist/esm/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
  102. package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  103. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  104. package/dist/esm/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  105. package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  106. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  107. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  108. package/dist/esm/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  109. package/dist/esm/components/StateProvider.js.map +1 -1
  110. package/dist/esm/components/TableStateProvider.js.map +1 -1
  111. package/dist/esm/hooks/cellData.js.map +1 -1
  112. package/dist/esm/hooks/columns.js.map +1 -1
  113. package/dist/esm/hooks/data.js.map +1 -1
  114. package/dist/esm/hooks/dataItem.js.map +1 -1
  115. package/dist/esm/hooks/metadata.js.map +1 -1
  116. package/dist/esm/hooks/orgUnit.js.map +1 -1
  117. package/dist/esm/hooks/period.js.map +1 -1
  118. package/dist/esm/hooks/table.js +1 -1
  119. package/dist/esm/hooks/table.js.map +1 -1
  120. package/dist/esm/hooks/value.js.map +1 -1
  121. package/dist/esm/schemas/config.js.map +1 -1
  122. package/dist/esm/state/index.js +1 -1
  123. package/dist/esm/state/index.js.map +1 -1
  124. package/dist/esm/utils/analytics.js.map +1 -1
  125. package/dist/esm/utils/columns.js.map +1 -1
  126. package/dist/esm/utils/data.js.map +1 -1
  127. package/dist/esm/utils/dataEngine.js.map +1 -1
  128. package/dist/esm/utils/dataSources.js.map +1 -1
  129. package/dist/esm/utils/engine.js.map +1 -1
  130. package/dist/esm/utils/legends.js.map +1 -1
  131. package/dist/esm/utils/orgUnits.js.map +1 -1
  132. package/dist/esm/utils/state.js.map +1 -1
  133. package/dist/hooks/cellData.js.map +1 -1
  134. package/dist/hooks/columns.js.map +1 -1
  135. package/dist/hooks/data.js.map +1 -1
  136. package/dist/hooks/dataItem.js.map +1 -1
  137. package/dist/hooks/metadata.js.map +1 -1
  138. package/dist/hooks/orgUnit.js.map +1 -1
  139. package/dist/hooks/period.js.map +1 -1
  140. package/dist/hooks/table.js.map +1 -1
  141. package/dist/hooks/value.js.map +1 -1
  142. package/dist/schemas/config.js.map +1 -1
  143. package/dist/state/index.js.map +1 -1
  144. package/dist/utils/analytics.js.map +1 -1
  145. package/dist/utils/columns.js.map +1 -1
  146. package/dist/utils/data.js.map +1 -1
  147. package/dist/utils/dataEngine.js.map +1 -1
  148. package/dist/utils/dataSources.js.map +1 -1
  149. package/dist/utils/engine.js.map +1 -1
  150. package/dist/utils/legends.js.map +1 -1
  151. package/dist/utils/orgUnits.js.map +1 -1
  152. package/dist/utils/state.js.map +1 -1
  153. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardPrint/utils/download.ts"],"names":["orgUnits","dataSources","periods"],"mappings":"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","file":"download.js","sourcesContent":["import { find, flatten, mapValues, set } from \"lodash\";\nimport type { ScorecardMeta } from \"../../MetaProvider\";\nimport type {\n\tOrgUnitLevelLegend,\n\tScorecardConfig,\n\tScorecardDataSource,\n} from \"../../../schemas/config\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport {\n\tgetDataSourcesFromGroups,\n\tgetHoldersFromGroups,\n} from \"../../../utils/dataSources\";\nimport { saveAs } from \"file-saver\";\nimport type { AnalyticsData } from \"../../../utils/data\";\n\nexport const ALMA_HEADERS = [\n\t{\n\t\tname: \"dx\",\n\t\tcolumn: \"Data\",\n\t\tvalueType: \"TEXT\",\n\t\ttype: \"java.lang.String\",\n\t\thidden: false,\n\t\tmeta: true,\n\t},\n\t{\n\t\tname: \"pe\",\n\t\tcolumn: \"Period\",\n\t\tvalueType: \"TEXT\",\n\t\ttype: \"java.lang.String\",\n\t\thidden: false,\n\t\tmeta: true,\n\t},\n\t{\n\t\tname: \"ou\",\n\t\tcolumn: \"Organisation unit\",\n\t\tvalueType: \"TEXT\",\n\t\ttype: \"java.lang.String\",\n\t\thidden: false,\n\t\tmeta: true,\n\t},\n\t{\n\t\tname: \"value\",\n\t\tcolumn: \"Value\",\n\t\tvalueType: \"NUMBER\",\n\t\ttype: \"java.lang.Double\",\n\t\thidden: false,\n\t\tmeta: false,\n\t},\n];\n\nexport function getALMAMetadata({\n\tconfig,\n\tmeta,\n}: {\n\tmeta: ScorecardMeta;\n\tconfig: ScorecardConfig;\n}) {\n\tconst legendDefinitions = config.legendDefinitions;\n\n\tfunction getMetadataDimensions(\n\t\torgUnits: ItemMeta[],\n\t\tdataSources: ItemMeta[],\n\t\tperiods: ItemMeta[],\n\t) {\n\t\treturn {\n\t\t\tou: orgUnits?.map(({ uid }) => uid),\n\t\t\tpe: periods?.map(({ uid }) => uid),\n\t\t\tdx: dataSources?.map(({ uid }) => uid),\n\t\t\tco: [],\n\t\t};\n\t}\n\n\tfunction getAllLegends(legends: ScorecardDataSource[\"legends\"]) {\n\t\tif (Array.isArray(legends)) {\n\t\t\treturn legends?.map(\n\t\t\t\t({ startValue, endValue, legendDefinitionId }) => ({\n\t\t\t\t\tmin: startValue,\n\t\t\t\t\tmax: endValue,\n\t\t\t\t\tcolor: find(legendDefinitions, [\"id\", legendDefinitionId])\n\t\t\t\t\t\t?.color,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\treturn mapValues(legends as OrgUnitLevelLegend, (value) => {\n\t\t\t\treturn value.map(\n\t\t\t\t\t({ startValue, endValue, legendDefinitionId }) => ({\n\t\t\t\t\t\tmin: startValue,\n\t\t\t\t\t\tmax: endValue,\n\t\t\t\t\t\tcolor: find(legendDefinitions, [\n\t\t\t\t\t\t\t\"id\",\n\t\t\t\t\t\t\tlegendDefinitionId,\n\t\t\t\t\t\t])?.color,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction getMetadataItems(\n\t\torgUnits: ItemMeta[],\n\t\tdataSources: ScorecardDataSource[],\n\t) {\n\t\tconst items = {};\n\n\t\tfor (const dataSource of dataSources) {\n\t\t\tconst { label, id, legends } = dataSource ?? {};\n\t\t\tset(items, [id], {\n\t\t\t\tname: label,\n\t\t\t\tlegendSet: getAllLegends(legends),\n\t\t\t});\n\t\t}\n\n\t\tfor (const orgUnit of orgUnits) {\n\t\t\tconst { uid, name } = orgUnit ?? {};\n\t\t\tset(items, [uid], {\n\t\t\t\tname,\n\t\t\t\tid: uid,\n\t\t\t});\n\t\t}\n\n\t\tset(items, \"dx\", { name: i18n.t(\"Data\") });\n\t\tset(items, \"pe\", { name: i18n.t(\"Period\") });\n\t\tset(items, \"ou\", { name: i18n.t(\"Organisation Unit\") });\n\n\t\treturn items;\n\t}\n\n\tconst { orgUnits, dataItems, periods } = meta;\n\tconst dataSources = getDataSourcesFromGroups(\n\t\tconfig.dataSelection.dataGroups,\n\t);\n\treturn {\n\t\tdimensions: getMetadataDimensions(orgUnits, dataItems, periods),\n\t\titems: getMetadataItems(orgUnits, dataSources),\n\t};\n}\n\nexport function downloadALMAMeta({\n\tconfig,\n\tmeta,\n}: {\n\tconfig: ScorecardConfig;\n\tmeta: ScorecardMeta;\n}) {\n\ttry {\n\t\tconst json = JSON.stringify({\n\t\t\torganisationUnits: meta.orgUnits?.map(\n\t\t\t\t({ uid, level, name, hierarchy }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: uid,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tlevel: level ?? hierarchy?.split(\"/\")?.length - 1,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t),\n\t\t\tindicators: flatten(\n\t\t\t\tgetHoldersFromGroups(config.dataSelection.dataGroups)?.map(\n\t\t\t\t\t({ dataSources }) =>\n\t\t\t\t\t\tdataSources?.map(({ id, label }) => ({\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tname: label,\n\t\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t),\n\t\t});\n\t\tconst blob = new Blob([json], { type: \"application/json\" });\n\t\tsaveAs(blob, `${config.title}-metadata.json`);\n\t} catch (e) {\n\t\tconsole.error(e);\n\t\treturn e;\n\t}\n}\n\nfunction getALMAData(data: AnalyticsData[]) {\n\treturn Object.values(data);\n}\n\nexport function downloadALMAData({\n\tconfig,\n\tmeta,\n\tdata,\n}: {\n\tconfig: ScorecardConfig;\n\tmeta: ScorecardMeta;\n\tdata: AnalyticsData[];\n}) {\n\ttry {\n\t\tconst json = JSON.stringify({\n\t\t\tdataValues: [\n\t\t\t\t{\n\t\t\t\t\theaders: ALMA_HEADERS,\n\t\t\t\t\tmetaData: getALMAMetadata({\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t}),\n\t\t\t\t\trows: getALMAData(data),\n\t\t\t\t},\n\t\t\t],\n\t\t});\n\t\tconst blob = new Blob([json], { type: \"application/json\" });\n\t\tsaveAs(blob, `${config.title}.json`);\n\t} catch (e) {\n\t\treturn e;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardPrint/utils/download.ts"],"names":["orgUnits","dataSources","periods"],"mappings":"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","file":"download.js","sourcesContent":["import { find, flatten, mapValues, set } from \"lodash\";\nimport type { ScorecardMeta } from \"../../MetaProvider\";\nimport type {\n\tOrgUnitLevelLegend,\n\tScorecardConfig,\n\tScorecardDataSource,\n} from \"../../../schemas/config\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport {\n\tgetDataSourcesFromGroups,\n\tgetHoldersFromGroups,\n} from \"../../../utils/dataSources\";\nimport { saveAs } from \"file-saver\";\nimport type { AnalyticsData } from \"../../../utils/data\";\n\nexport const ALMA_HEADERS = [\n\t{\n\t\tname: \"dx\",\n\t\tcolumn: \"Data\",\n\t\tvalueType: \"TEXT\",\n\t\ttype: \"java.lang.String\",\n\t\thidden: false,\n\t\tmeta: true,\n\t},\n\t{\n\t\tname: \"pe\",\n\t\tcolumn: \"Period\",\n\t\tvalueType: \"TEXT\",\n\t\ttype: \"java.lang.String\",\n\t\thidden: false,\n\t\tmeta: true,\n\t},\n\t{\n\t\tname: \"ou\",\n\t\tcolumn: \"Organisation unit\",\n\t\tvalueType: \"TEXT\",\n\t\ttype: \"java.lang.String\",\n\t\thidden: false,\n\t\tmeta: true,\n\t},\n\t{\n\t\tname: \"value\",\n\t\tcolumn: \"Value\",\n\t\tvalueType: \"NUMBER\",\n\t\ttype: \"java.lang.Double\",\n\t\thidden: false,\n\t\tmeta: false,\n\t},\n];\n\nexport function getALMAMetadata({\n\tconfig,\n\tmeta,\n}: {\n\tmeta: ScorecardMeta;\n\tconfig: ScorecardConfig;\n}) {\n\tconst legendDefinitions = config.legendDefinitions;\n\n\tfunction getMetadataDimensions(\n\t\torgUnits: ItemMeta[],\n\t\tdataSources: ItemMeta[],\n\t\tperiods: ItemMeta[],\n\t) {\n\t\treturn {\n\t\t\tou: orgUnits?.map(({ uid }) => uid),\n\t\t\tpe: periods?.map(({ uid }) => uid),\n\t\t\tdx: dataSources?.map(({ uid }) => uid),\n\t\t\tco: [],\n\t\t};\n\t}\n\n\tfunction getAllLegends(legends: ScorecardDataSource[\"legends\"]) {\n\t\tif (Array.isArray(legends)) {\n\t\t\treturn legends?.map(\n\t\t\t\t({ startValue, endValue, legendDefinitionId }) => ({\n\t\t\t\t\tmin: startValue,\n\t\t\t\t\tmax: endValue,\n\t\t\t\t\tcolor: find(legendDefinitions, [\"id\", legendDefinitionId])\n\t\t\t\t\t\t?.color,\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\treturn mapValues(legends as OrgUnitLevelLegend, (value) => {\n\t\t\t\treturn value.map(\n\t\t\t\t\t({ startValue, endValue, legendDefinitionId }) => ({\n\t\t\t\t\t\tmin: startValue,\n\t\t\t\t\t\tmax: endValue,\n\t\t\t\t\t\tcolor: find(legendDefinitions, [\n\t\t\t\t\t\t\t\"id\",\n\t\t\t\t\t\t\tlegendDefinitionId,\n\t\t\t\t\t\t])?.color,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction getMetadataItems(\n\t\torgUnits: ItemMeta[],\n\t\tdataSources: ScorecardDataSource[],\n\t) {\n\t\tconst items = {};\n\n\t\tfor (const dataSource of dataSources) {\n\t\t\tconst { label, id, legends } = dataSource ?? {};\n\t\t\tset(items, [id], {\n\t\t\t\tname: label,\n\t\t\t\tlegendSet: getAllLegends(legends),\n\t\t\t});\n\t\t}\n\n\t\tfor (const orgUnit of orgUnits) {\n\t\t\tconst { uid, name } = orgUnit ?? {};\n\t\t\tset(items, [uid], {\n\t\t\t\tname,\n\t\t\t\tid: uid,\n\t\t\t});\n\t\t}\n\n\t\tset(items, \"dx\", { name: i18n.t(\"Data\") });\n\t\tset(items, \"pe\", { name: i18n.t(\"Period\") });\n\t\tset(items, \"ou\", { name: i18n.t(\"Organisation Unit\") });\n\n\t\treturn items;\n\t}\n\n\tconst { orgUnits, dataItems, periods } = meta;\n\tconst dataSources = getDataSourcesFromGroups(\n\t\tconfig.dataSelection.dataGroups,\n\t);\n\treturn {\n\t\tdimensions: getMetadataDimensions(orgUnits, dataItems, periods),\n\t\titems: getMetadataItems(orgUnits, dataSources),\n\t};\n}\n\nexport function downloadALMAMeta({\n\tconfig,\n\tmeta,\n}: {\n\tconfig: ScorecardConfig;\n\tmeta: ScorecardMeta;\n}) {\n\ttry {\n\t\tconst json = JSON.stringify({\n\t\t\torganisationUnits: meta.orgUnits?.map(\n\t\t\t\t({ uid, level, name, hierarchy }) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: uid,\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tlevel: level ?? hierarchy?.split(\"/\")?.length - 1,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t),\n\t\t\tindicators: flatten(\n\t\t\t\tgetHoldersFromGroups(config.dataSelection.dataGroups)?.map(\n\t\t\t\t\t({ dataSources }) =>\n\t\t\t\t\t\tdataSources?.map(({ id, label }) => ({\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tname: label,\n\t\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t),\n\t\t});\n\t\tconst blob = new Blob([json], { type: \"application/json\" });\n\t\tsaveAs(blob, `${config.title}-metadata.json`);\n\t} catch (e) {\n\t\tconsole.error(e);\n\t\treturn e;\n\t}\n}\n\nfunction getALMAData(data: AnalyticsData[]) {\n\treturn Object.values(data);\n}\n\nexport function downloadALMAData({\n\tconfig,\n\tmeta,\n\tdata,\n}: {\n\tconfig: ScorecardConfig;\n\tmeta: ScorecardMeta;\n\tdata: AnalyticsData[];\n}) {\n\ttry {\n\t\tconst json = JSON.stringify({\n\t\t\tdataValues: [\n\t\t\t\t{\n\t\t\t\t\theaders: ALMA_HEADERS,\n\t\t\t\t\tmetaData: getALMAMetadata({\n\t\t\t\t\t\tconfig,\n\t\t\t\t\t\tmeta,\n\t\t\t\t\t}),\n\t\t\t\t\trows: getALMAData(data),\n\t\t\t\t},\n\t\t\t],\n\t\t});\n\t\tconst blob = new Blob([json], { type: \"application/json\" });\n\t\tsaveAs(blob, `${config.title}.json`);\n\t} catch (e) {\n\t\treturn e;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.tsx"],"names":[],"mappings":";;;AAOO,SAAS,yBAA0B,CAAA;AAAA,EACzC,MAAA;AACD,CAAsC,EAAA;AACrC,EACC,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,KAAO,EAAA,MAAA;AAAA,QACP,OAAS,EAAA,EAAA;AAAA,QACT,SAAW,EAAA,GAAA;AAAA,QACX,SAAW,EAAA,OAAA;AAAA,OACZ;AAAA,MAEC,QAAA,EAAA,IAAA,CAAK,EAAE,mBAAmB,CAAA;AAAA,KAAA;AAAA,GAC5B,CAAA;AAEF","file":"FurtherAnalysisDictionary.js","sourcesContent":["import type { FurtherAnalysisConfig } from \"../components/FurtherAnalysisModal\";\nimport i18n from \"@dhis2/d2-i18n\";\n\nexport interface FurtherAnalysisVisualizationProps {\n\tconfig: FurtherAnalysisConfig;\n}\n\nexport function FurtherAnalysisDictionary({\n\tconfig,\n}: FurtherAnalysisVisualizationProps) {\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: \"100%\",\n\t\t\t\tpadding: 32,\n\t\t\t\tminHeight: 500,\n\t\t\t\tmaxHeight: \"80dvh\",\n\t\t\t}}\n\t\t>\n\t\t\t{i18n.t(\"To be implemented\")}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.tsx"],"names":[],"mappings":";;;AAOO,SAAS,yBAA0B,CAAA;AAAA,EACzC;AACD,CAAsC,EAAA;AACrC,EACC,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,KAAO,EAAA,MAAA;AAAA,QACP,OAAS,EAAA,EAAA;AAAA,QACT,SAAW,EAAA,GAAA;AAAA,QACX,SAAW,EAAA;AAAA,OACZ;AAAA,MAEC,QAAA,EAAA,IAAA,CAAK,EAAE,mBAAmB;AAAA;AAAA,GAC5B;AAEF","file":"FurtherAnalysisDictionary.js","sourcesContent":["import type { FurtherAnalysisConfig } from \"../components/FurtherAnalysisModal\";\nimport i18n from \"@dhis2/d2-i18n\";\n\nexport interface FurtherAnalysisVisualizationProps {\n\tconfig: FurtherAnalysisConfig;\n}\n\nexport function FurtherAnalysisDictionary({\n\tconfig,\n}: FurtherAnalysisVisualizationProps) {\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: \"100%\",\n\t\t\t\tpadding: 32,\n\t\t\t\tminHeight: 500,\n\t\t\t\tmaxHeight: \"80dvh\",\n\t\t\t}}\n\t\t>\n\t\t\t{i18n.t(\"To be implemented\")}\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.tsx"],"names":[],"mappings":";;;AAcA,MAAM,uBAAA,GAA0B,cAE9B,IAAI,CAAA,CAAA;AAEC,SAAS,wBAA2B,GAAA;AAC1C,EAAM,MAAA,OAAA,GAAU,WAAW,uBAAuB,CAAA,CAAA;AAClD,EAAA,IAAI,CAAC,OAAS,EAAA;AACb,IAAM,MAAA,KAAA;AAAA,MACL,8EAAA;AAAA,KACD,CAAA;AAAA,GACD;AACA,EAAA,OAAO,WAAW,uBAAuB,CAAA,CAAA;AAC1C,CAAA;AAEO,SAAS,wBAAyB,CAAA;AAAA,EACxC,aAAA;AAAA,EACA,QAAA;AACD,CAGG,EAAA;AACF,EAAM,MAAA,KAAA,GAAQ,SAA2B,aAAa,CAAA,CAAA;AAEtD,EAAA,IAAI,SAAS,IAAM,EAAA;AAClB,IAAO,OAAA,IAAA,CAAA;AAAA,GACR;AAEA,EAAA,uBACE,GAAA,CAAA,uBAAA,CAAwB,QAAxB,EAAA,EAAiC,OAChC,QACF,EAAA,CAAA,CAAA;AAEF","file":"ConfigProvider.js","sourcesContent":["import React, {\n\tcreateContext,\n\ttype Dispatch,\n\ttype SetStateAction,\n\tuseContext,\n\tuseState,\n} from \"react\";\nimport type { ScorecardDataSource } from \"../../../../schemas/config\";\n\nexport interface DictionaryConfig {\n\tselectedDataSource?: ScorecardDataSource;\n\tdataSources: ScorecardDataSource[];\n}\n\nconst DictionaryConfigContext = createContext<\n\t[DictionaryConfig, Dispatch<SetStateAction<DictionaryConfig>>] | null\n>(null);\n\nexport function useDictionaryConfigState() {\n\tconst context = useContext(DictionaryConfigContext);\n\tif (!context) {\n\t\tthrow Error(\n\t\t\t\"The useDictionaryConfigState must be used within the DictionaryConfigContext\",\n\t\t);\n\t}\n\treturn useContext(DictionaryConfigContext)!;\n}\n\nexport function DictionaryConfigProvider({\n\tinitialConfig,\n\tchildren,\n}: {\n\tinitialConfig: DictionaryConfig;\n\tchildren: React.ReactNode;\n}) {\n\tconst value = useState<DictionaryConfig>(initialConfig);\n\n\tif (value == null) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DictionaryConfigContext.Provider value={value}>\n\t\t\t{children}\n\t\t</DictionaryConfigContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.tsx"],"names":[],"mappings":";;;AAcA,MAAM,uBAAA,GAA0B,cAE9B,IAAI,CAAA;AAEC,SAAS,wBAA2B,GAAA;AAC1C,EAAM,MAAA,OAAA,GAAU,WAAW,uBAAuB,CAAA;AAClD,EAAA,IAAI,CAAC,OAAS,EAAA;AACb,IAAM,MAAA,KAAA;AAAA,MACL;AAAA,KACD;AAAA;AAED,EAAA,OAAO,WAAW,uBAAuB,CAAA;AAC1C;AAEO,SAAS,wBAAyB,CAAA;AAAA,EACxC,aAAA;AAAA,EACA;AACD,CAGG,EAAA;AACF,EAAM,MAAA,KAAA,GAAQ,SAA2B,aAAa,CAAA;AAEtD,EAAA,IAAI,SAAS,IAAM,EAAA;AAClB,IAAO,OAAA,IAAA;AAAA;AAGR,EAAA,uBACE,GAAA,CAAA,uBAAA,CAAwB,QAAxB,EAAA,EAAiC,OAChC,QACF,EAAA,CAAA;AAEF","file":"ConfigProvider.js","sourcesContent":["import React, {\n\tcreateContext,\n\ttype Dispatch,\n\ttype SetStateAction,\n\tuseContext,\n\tuseState,\n} from \"react\";\nimport type { ScorecardDataSource } from \"../../../../schemas/config\";\n\nexport interface DictionaryConfig {\n\tselectedDataSource?: ScorecardDataSource;\n\tdataSources: ScorecardDataSource[];\n}\n\nconst DictionaryConfigContext = createContext<\n\t[DictionaryConfig, Dispatch<SetStateAction<DictionaryConfig>>] | null\n>(null);\n\nexport function useDictionaryConfigState() {\n\tconst context = useContext(DictionaryConfigContext);\n\tif (!context) {\n\t\tthrow Error(\n\t\t\t\"The useDictionaryConfigState must be used within the DictionaryConfigContext\",\n\t\t);\n\t}\n\treturn useContext(DictionaryConfigContext)!;\n}\n\nexport function DictionaryConfigProvider({\n\tinitialConfig,\n\tchildren,\n}: {\n\tinitialConfig: DictionaryConfig;\n\tchildren: React.ReactNode;\n}) {\n\tconst value = useState<DictionaryConfig>(initialConfig);\n\n\tif (value == null) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DictionaryConfigContext.Provider value={value}>\n\t\t\t{children}\n\t\t</DictionaryConfigContext.Provider>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.tsx"],"names":[],"mappings":";;;;;AAQA,SAAS,oBAAoB,IAA4B,EAAA;AACxD,EAAA,QAAQ,IAAM;AAAA,IACb,KAAK,aAAA;AACJ,MAAO,OAAA,cAAA,CAAA;AAAA,IACR,KAAK,WAAA;AACJ,MAAO,OAAA,YAAA,CAAA;AAAA,IACR,KAAK,SAAA;AACJ,MAAO,OAAA,UAAA,CAAA;AAAA,GACT;AACD,CAAA;AAEA,SAAS,aACR,CAAA,IAAA,EACA,EAAE,MAAA,EACI,EAAA;AACN,EAAM,MAAA,QAAA,GAAW,oBAAoB,IAAI,CAAA,CAAA;AACzC,EAAO,OAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACR,QAAA;AAAA,MACA,EAAI,EAAA,CAAC,EAAE,EAAA,EAAyB,KAAA,EAAA;AAAA,MAChC,MAAQ,EAAA;AAAA,QACP,MAAA,EAAQ,MAAU,IAAA,CAAC,GAAG,CAAA;AAAA,OACvB;AAAA,KACD;AAAA,GACD,CAAA;AACD,CAAA;AAEA,MAAM,sBAAA,GAAyB,cAErB,IAAI,CAAA,CAAA;AAEP,SAAS,kBAAwB,GAAA;AACvC,EAAM,MAAA,OAAA,GAAU,WAAW,sBAAsB,CAAA,CAAA;AACjD,EAAA,OAAO,OAAS,EAAA,OAAA,CAAA;AACjB,CAAA;AAEO,SAAS,eAAgB,CAAA;AAAA,EAC/B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA;AACD,CAIG,EAAA;AACF,EAAA,MAAM,EAAE,OAAA,EAAS,IAAM,EAAA,KAAA,EAAU,GAAA,YAAA,CAE9B,aAAc,CAAA,QAAA,CAAS,IAAM,EAAA,EAAE,MAAO,EAAC,CAAG,EAAA;AAAA,IAC5C,SAAW,EAAA,EAAE,EAAI,EAAA,QAAA,CAAS,EAAG,EAAA;AAAA,GAC7B,CAAA,CAAA;AAED,EAAA,IAAI,OAAS,EAAA;AACZ,IAAA,uBAAU,GAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA,IAAA,CAAK,CAAE,CAAA,YAAY,CAAE,EAAA,CAAA,CAAA;AAAA,GAChC;AAEA,EAAA,IAAI,KAAO,EAAA;AACV,IAAO,uBAAA,GAAA,CAAC,KAAK,EAAA,EAAA,QAAA,EAAA,KAAA,CAAM,OAAQ,EAAA,CAAA,CAAA;AAAA,GAC5B;AAEA,EAAA,IAAI,CAAC,IAAM,EAAA;AACV,IAAA,uBAAQ,GAAA,CAAA,KAAA,EAAA,EAAK,QAAK,EAAA,IAAA,CAAA,CAAA,CAAE,oBAAoB,CAAE,EAAA,CAAA,CAAA;AAAA,GAC3C;AAEA,EAAA,2BACE,sBAAuB,CAAA,QAAA,EAAvB,EAAgC,KAAA,EAAO,MACtC,QACF,EAAA,CAAA,CAAA;AAEF","file":"DetailsProvider.js","sourcesContent":["import { createContext, type ReactNode, useContext } from \"react\";\nimport type {\n\tScorecardDataSource,\n\tSupportedDataSources,\n} from \"../../../../schemas/config\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport i18n from \"@dhis2/d2-i18n\";\n\nfunction getResourceFromType(type: SupportedDataSources) {\n\tswitch (type) {\n\t\tcase \"dataElement\":\n\t\t\treturn \"dataElements\";\n\t\tcase \"indicator\":\n\t\t\treturn \"indicators\";\n\t\tcase \"dataSet\":\n\t\t\treturn \"dataSets\";\n\t}\n}\n\nfunction generateQuery(\n\ttype: SupportedDataSources,\n\t{ fields }: { fields?: string[] },\n): any {\n\tconst resource = getResourceFromType(type);\n\treturn {\n\t\tdetails: {\n\t\t\tresource,\n\t\t\tid: ({ id }: { id: string }) => id,\n\t\t\tparams: {\n\t\t\t\tfields: fields ?? [\"*\"],\n\t\t\t},\n\t\t},\n\t};\n}\n\nconst DataItemDetailsContext = createContext<{\n\tdetails: Record<string, any>;\n} | null>(null);\n\nexport function useDataItemDetails<T>() {\n\tconst context = useContext(DataItemDetailsContext);\n\treturn context?.details as T;\n}\n\nexport function DetailsProvider({\n\tchildren,\n\tdataItem,\n\tfields,\n}: {\n\tdataItem: ScorecardDataSource;\n\tchildren: ReactNode;\n\tfields?: string[];\n}) {\n\tconst { loading, data, error } = useDataQuery<{\n\t\tdetails: Record<string, unknown>;\n\t}>(generateQuery(dataItem.type, { fields }), {\n\t\tvariables: { id: dataItem.id },\n\t});\n\n\tif (loading) {\n\t\treturn <>{i18n.t(\"Loading...\")}</>;\n\t}\n\n\tif (error) {\n\t\treturn <div>{error.message}</div>;\n\t}\n\n\tif (!data) {\n\t\treturn <div>{i18n.t(\"Could not get data\")}</div>;\n\t}\n\n\treturn (\n\t\t<DataItemDetailsContext.Provider value={data}>\n\t\t\t{children}\n\t\t</DataItemDetailsContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.tsx"],"names":[],"mappings":";;;;;AAQA,SAAS,oBAAoB,IAA4B,EAAA;AACxD,EAAA,QAAQ,IAAM;AAAA,IACb,KAAK,aAAA;AACJ,MAAO,OAAA,cAAA;AAAA,IACR,KAAK,WAAA;AACJ,MAAO,OAAA,YAAA;AAAA,IACR,KAAK,SAAA;AACJ,MAAO,OAAA,UAAA;AAAA;AAEV;AAEA,SAAS,aACR,CAAA,IAAA,EACA,EAAE,MAAA,EACI,EAAA;AACN,EAAM,MAAA,QAAA,GAAW,oBAAoB,IAAI,CAAA;AACzC,EAAO,OAAA;AAAA,IACN,OAAS,EAAA;AAAA,MACR,QAAA;AAAA,MACA,EAAI,EAAA,CAAC,EAAE,EAAA,EAAyB,KAAA,EAAA;AAAA,MAChC,MAAQ,EAAA;AAAA,QACP,MAAA,EAAQ,MAAU,IAAA,CAAC,GAAG;AAAA;AACvB;AACD,GACD;AACD;AAEA,MAAM,sBAAA,GAAyB,cAErB,IAAI,CAAA;AAEP,SAAS,kBAAwB,GAAA;AACvC,EAAM,MAAA,OAAA,GAAU,WAAW,sBAAsB,CAAA;AACjD,EAAA,OAAO,OAAS,EAAA,OAAA;AACjB;AAEO,SAAS,eAAgB,CAAA;AAAA,EAC/B,QAAA;AAAA,EACA,QAAA;AAAA,EACA;AACD,CAIG,EAAA;AACF,EAAA,MAAM,EAAE,OAAA,EAAS,IAAM,EAAA,KAAA,EAAU,GAAA,YAAA,CAE9B,aAAc,CAAA,QAAA,CAAS,IAAM,EAAA,EAAE,MAAO,EAAC,CAAG,EAAA;AAAA,IAC5C,SAAW,EAAA,EAAE,EAAI,EAAA,QAAA,CAAS,EAAG;AAAA,GAC7B,CAAA;AAED,EAAA,IAAI,OAAS,EAAA;AACZ,IAAA,uBAAU,GAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA,IAAA,CAAK,CAAE,CAAA,YAAY,CAAE,EAAA,CAAA;AAAA;AAGhC,EAAA,IAAI,KAAO,EAAA;AACV,IAAO,uBAAA,GAAA,CAAC,KAAK,EAAA,EAAA,QAAA,EAAA,KAAA,CAAM,OAAQ,EAAA,CAAA;AAAA;AAG5B,EAAA,IAAI,CAAC,IAAM,EAAA;AACV,IAAA,uBAAQ,GAAA,CAAA,KAAA,EAAA,EAAK,QAAK,EAAA,IAAA,CAAA,CAAA,CAAE,oBAAoB,CAAE,EAAA,CAAA;AAAA;AAG3C,EAAA,2BACE,sBAAuB,CAAA,QAAA,EAAvB,EAAgC,KAAA,EAAO,MACtC,QACF,EAAA,CAAA;AAEF","file":"DetailsProvider.js","sourcesContent":["import { createContext, type ReactNode, useContext } from \"react\";\nimport type {\n\tScorecardDataSource,\n\tSupportedDataSources,\n} from \"../../../../schemas/config\";\nimport { useDataQuery } from \"@dhis2/app-runtime\";\nimport i18n from \"@dhis2/d2-i18n\";\n\nfunction getResourceFromType(type: SupportedDataSources) {\n\tswitch (type) {\n\t\tcase \"dataElement\":\n\t\t\treturn \"dataElements\";\n\t\tcase \"indicator\":\n\t\t\treturn \"indicators\";\n\t\tcase \"dataSet\":\n\t\t\treturn \"dataSets\";\n\t}\n}\n\nfunction generateQuery(\n\ttype: SupportedDataSources,\n\t{ fields }: { fields?: string[] },\n): any {\n\tconst resource = getResourceFromType(type);\n\treturn {\n\t\tdetails: {\n\t\t\tresource,\n\t\t\tid: ({ id }: { id: string }) => id,\n\t\t\tparams: {\n\t\t\t\tfields: fields ?? [\"*\"],\n\t\t\t},\n\t\t},\n\t};\n}\n\nconst DataItemDetailsContext = createContext<{\n\tdetails: Record<string, any>;\n} | null>(null);\n\nexport function useDataItemDetails<T>() {\n\tconst context = useContext(DataItemDetailsContext);\n\treturn context?.details as T;\n}\n\nexport function DetailsProvider({\n\tchildren,\n\tdataItem,\n\tfields,\n}: {\n\tdataItem: ScorecardDataSource;\n\tchildren: ReactNode;\n\tfields?: string[];\n}) {\n\tconst { loading, data, error } = useDataQuery<{\n\t\tdetails: Record<string, unknown>;\n\t}>(generateQuery(dataItem.type, { fields }), {\n\t\tvariables: { id: dataItem.id },\n\t});\n\n\tif (loading) {\n\t\treturn <>{i18n.t(\"Loading...\")}</>;\n\t}\n\n\tif (error) {\n\t\treturn <div>{error.message}</div>;\n\t}\n\n\tif (!data) {\n\t\treturn <div>{i18n.t(\"Could not get data\")}</div>;\n\t}\n\n\treturn (\n\t\t<DataItemDetailsContext.Provider value={data}>\n\t\t\t{children}\n\t\t</DataItemDetailsContext.Provider>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/FurtherAnalysisVisualization.tsx"],"names":[],"mappings":";;;;AAUO,SAAS,4BAA6B,CAAA;AAAA,EAC5C,MAAA;AACD,CAAsC,EAAA;AACrC,EAAM,MAAA,QAAA,GAAW,uBAAwB,CAAA,MAAA,CAAO,gBAAgB,CAAA,CAAA;AAChE,EAAM,MAAA,OAAA,GAAU,OAAO,eAAgB,CAAA,OAAA,CAAQ,IAAI,CAAC,EAAE,EAAG,EAAA,KAAM,EAAE,CAAA,CAAA;AACjE,EAAM,MAAA,SAAA,GAAY,OAAO,WAAY,CAAA,GAAA,CAAI,CAAC,EAAE,EAAA,OAAS,EAAE,CAAA,CAAA;AACvD,EACC,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,KAAO,EAAA,MAAA;AAAA,QACP,MAAQ,EAAA,GAAA;AAAA,QACR,OAAS,EAAA,EAAA;AAAA,QACT,SAAW,EAAA,GAAA;AAAA,QACX,SAAW,EAAA,OAAA;AAAA,OACZ;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACA,MAAQ,EAAA,GAAA;AAAA,UACR,MAAQ,EAAA;AAAA,YACP,OAAA,EAAS,CAAC,IAAI,CAAA;AAAA,YACd,OAAA,EAAS,CAAC,IAAI,CAAA;AAAA,YACd,IAAA,EAAM,CAAC,IAAI,CAAA;AAAA,WACZ;AAAA,UACA,WAAW,EAAA,IAAA;AAAA,UACX,mBAAmB,EAAA,IAAA;AAAA,UACnB,kBAAkB,EAAA,IAAA;AAAA,UAClB,wBAA0B,EAAA,OAAA;AAAA,UAC1B,UAAY,EAAA;AAAA,YACX,EAAI,EAAA,QAAA;AAAA,YACJ,EAAI,EAAA,OAAA;AAAA,YACJ,EAAI,EAAA,SAAA;AAAA,WACL;AAAA,UACA,MAAQ,EAAA;AAAA,YACP,KAAO,EAAA;AAAA,cACN,IAAM,EAAA,QAAA;AAAA,cACN,MAAQ,EAAA;AAAA,gBACP,MAAA,EAAQ,CAAC,IAAI,CAAA;AAAA,gBACb,QAAA,EAAU,CAAC,IAAI,CAAA;AAAA,gBACf,MAAA,EAAQ,CAAC,IAAI,CAAA;AAAA,eACd;AAAA,aACD;AAAA,YACA,YAAY,EAAC;AAAA,YACb,GAAK,EAAA;AAAA,cACJ,cAAgB,EAAA,MAAA,CAAO,WAAY,CAAA,GAAA,CAAI,CAAC,IAAU,MAAA;AAAA,gBACjD,OAAS,EAAA,IAAA;AAAA,gBACT,MAAM,IAAK,CAAA,KAAA;AAAA,gBACX,IAAI,IAAK,CAAA,EAAA;AAAA,gBACT,IAAM,EAAA,YAAA;AAAA,gBACN,QAAU,EAAA;AAAA,kBACT,MAAM,IAAK,CAAA,IAAA;AAAA,kBACX,aAAa,IAAK,CAAA,KAAA;AAAA,kBAClB,IAAI,IAAK,CAAA,EAAA;AAAA,kBACT,YAAc,EAAA;AAAA,oBACb,UAAY,EAAA,QAAA;AAAA,oBACZ,KAAO,EAAA,CAAA;AAAA,mBACR;AAAA,iBACD;AAAA,eACC,CAAA,CAAA;AAAA,aACH;AAAA,WACD;AAAA,SAAA;AAAA,OACD;AAAA,KAAA;AAAA,GACD,CAAA;AAEF","file":"FurtherAnalysisVisualization.js","sourcesContent":["import { getOrgUnitsForAnalytics } from \"../../utils/orgUnits\";\nimport type { FurtherAnalysisConfig } from \"./components/FurtherAnalysisModal\";\nimport { Visualization } from \"@hisptz/dhis2-analytics\";\n\nexport type DataItemType = \"dataElement\" | \"indicator\" | \"programIndicator\";\n\nexport interface FurtherAnalysisVisualizationProps {\n\tconfig: FurtherAnalysisConfig;\n}\n\nexport function FurtherAnalysisVisualization({\n\tconfig,\n}: FurtherAnalysisVisualizationProps) {\n\tconst orgUnits = getOrgUnitsForAnalytics(config.orgUnitSelection);\n\tconst periods = config.periodSelection.periods.map(({ id }) => id);\n\tconst dataItems = config.dataSources.map(({ id }) => id);\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: 400,\n\t\t\t\tpadding: 32,\n\t\t\t\tminHeight: 500,\n\t\t\t\tmaxHeight: \"80dvh\",\n\t\t\t}}\n\t\t>\n\t\t\t<Visualization\n\t\t\t\theight={400}\n\t\t\t\tlayout={{\n\t\t\t\t\tcolumns: [\"dx\"],\n\t\t\t\t\tfilters: [\"pe\"],\n\t\t\t\t\trows: [\"ou\"],\n\t\t\t\t}}\n\t\t\t\tshowToolbar\n\t\t\t\tshowOrgUnitSelector\n\t\t\t\tshowPeriodSelector\n\t\t\t\tdefaultVisualizationType={\"chart\"}\n\t\t\t\tdimensions={{\n\t\t\t\t\tou: orgUnits,\n\t\t\t\t\tpe: periods,\n\t\t\t\t\tdx: dataItems,\n\t\t\t\t}}\n\t\t\t\tconfig={{\n\t\t\t\t\tchart: {\n\t\t\t\t\t\ttype: \"column\",\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tfilter: [\"pe\"],\n\t\t\t\t\t\t\tcategory: [\"ou\"],\n\t\t\t\t\t\t\tseries: [\"dx\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tpivotTable: {},\n\t\t\t\t\tmap: {\n\t\t\t\t\t\tthematicLayers: config.dataSources.map((item) => ({\n\t\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\t\tname: item.label,\n\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\ttype: \"choropleth\",\n\t\t\t\t\t\t\tdataItem: {\n\t\t\t\t\t\t\t\ttype: item.type as DataItemType,\n\t\t\t\t\t\t\t\tdisplayName: item.label!,\n\t\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t\tlegendConfig: {\n\t\t\t\t\t\t\t\t\tcolorClass: \"YlOrBr\",\n\t\t\t\t\t\t\t\t\tscale: 7,\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},\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/FurtherAnalysisVisualization.tsx"],"names":[],"mappings":";;;;AAUO,SAAS,4BAA6B,CAAA;AAAA,EAC5C;AACD,CAAsC,EAAA;AACrC,EAAM,MAAA,QAAA,GAAW,uBAAwB,CAAA,MAAA,CAAO,gBAAgB,CAAA;AAChE,EAAM,MAAA,OAAA,GAAU,OAAO,eAAgB,CAAA,OAAA,CAAQ,IAAI,CAAC,EAAE,EAAG,EAAA,KAAM,EAAE,CAAA;AACjE,EAAM,MAAA,SAAA,GAAY,OAAO,WAAY,CAAA,GAAA,CAAI,CAAC,EAAE,EAAA,OAAS,EAAE,CAAA;AACvD,EACC,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,KAAO,EAAA,MAAA;AAAA,QACP,MAAQ,EAAA,GAAA;AAAA,QACR,OAAS,EAAA,EAAA;AAAA,QACT,SAAW,EAAA,GAAA;AAAA,QACX,SAAW,EAAA;AAAA,OACZ;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACA,MAAQ,EAAA,GAAA;AAAA,UACR,MAAQ,EAAA;AAAA,YACP,OAAA,EAAS,CAAC,IAAI,CAAA;AAAA,YACd,OAAA,EAAS,CAAC,IAAI,CAAA;AAAA,YACd,IAAA,EAAM,CAAC,IAAI;AAAA,WACZ;AAAA,UACA,WAAW,EAAA,IAAA;AAAA,UACX,mBAAmB,EAAA,IAAA;AAAA,UACnB,kBAAkB,EAAA,IAAA;AAAA,UAClB,wBAA0B,EAAA,OAAA;AAAA,UAC1B,UAAY,EAAA;AAAA,YACX,EAAI,EAAA,QAAA;AAAA,YACJ,EAAI,EAAA,OAAA;AAAA,YACJ,EAAI,EAAA;AAAA,WACL;AAAA,UACA,MAAQ,EAAA;AAAA,YACP,KAAO,EAAA;AAAA,cACN,IAAM,EAAA,QAAA;AAAA,cACN,MAAQ,EAAA;AAAA,gBACP,MAAA,EAAQ,CAAC,IAAI,CAAA;AAAA,gBACb,QAAA,EAAU,CAAC,IAAI,CAAA;AAAA,gBACf,MAAA,EAAQ,CAAC,IAAI;AAAA;AACd,aACD;AAAA,YACA,YAAY,EAAC;AAAA,YACb,GAAK,EAAA;AAAA,cACJ,cAAgB,EAAA,MAAA,CAAO,WAAY,CAAA,GAAA,CAAI,CAAC,IAAU,MAAA;AAAA,gBACjD,OAAS,EAAA,IAAA;AAAA,gBACT,MAAM,IAAK,CAAA,KAAA;AAAA,gBACX,IAAI,IAAK,CAAA,EAAA;AAAA,gBACT,IAAM,EAAA,YAAA;AAAA,gBACN,QAAU,EAAA;AAAA,kBACT,MAAM,IAAK,CAAA,IAAA;AAAA,kBACX,aAAa,IAAK,CAAA,KAAA;AAAA,kBAClB,IAAI,IAAK,CAAA,EAAA;AAAA,kBACT,YAAc,EAAA;AAAA,oBACb,UAAY,EAAA,QAAA;AAAA,oBACZ,KAAO,EAAA;AAAA;AACR;AACD,eACC,CAAA;AAAA;AACH;AACD;AAAA;AACD;AAAA,GACD;AAEF","file":"FurtherAnalysisVisualization.js","sourcesContent":["import { getOrgUnitsForAnalytics } from \"../../utils/orgUnits\";\nimport type { FurtherAnalysisConfig } from \"./components/FurtherAnalysisModal\";\nimport { Visualization } from \"@hisptz/dhis2-analytics\";\n\nexport type DataItemType = \"dataElement\" | \"indicator\" | \"programIndicator\";\n\nexport interface FurtherAnalysisVisualizationProps {\n\tconfig: FurtherAnalysisConfig;\n}\n\nexport function FurtherAnalysisVisualization({\n\tconfig,\n}: FurtherAnalysisVisualizationProps) {\n\tconst orgUnits = getOrgUnitsForAnalytics(config.orgUnitSelection);\n\tconst periods = config.periodSelection.periods.map(({ id }) => id);\n\tconst dataItems = config.dataSources.map(({ id }) => id);\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: 400,\n\t\t\t\tpadding: 32,\n\t\t\t\tminHeight: 500,\n\t\t\t\tmaxHeight: \"80dvh\",\n\t\t\t}}\n\t\t>\n\t\t\t<Visualization\n\t\t\t\theight={400}\n\t\t\t\tlayout={{\n\t\t\t\t\tcolumns: [\"dx\"],\n\t\t\t\t\tfilters: [\"pe\"],\n\t\t\t\t\trows: [\"ou\"],\n\t\t\t\t}}\n\t\t\t\tshowToolbar\n\t\t\t\tshowOrgUnitSelector\n\t\t\t\tshowPeriodSelector\n\t\t\t\tdefaultVisualizationType={\"chart\"}\n\t\t\t\tdimensions={{\n\t\t\t\t\tou: orgUnits,\n\t\t\t\t\tpe: periods,\n\t\t\t\t\tdx: dataItems,\n\t\t\t\t}}\n\t\t\t\tconfig={{\n\t\t\t\t\tchart: {\n\t\t\t\t\t\ttype: \"column\",\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\tfilter: [\"pe\"],\n\t\t\t\t\t\t\tcategory: [\"ou\"],\n\t\t\t\t\t\t\tseries: [\"dx\"],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tpivotTable: {},\n\t\t\t\t\tmap: {\n\t\t\t\t\t\tthematicLayers: config.dataSources.map((item) => ({\n\t\t\t\t\t\t\tenabled: true,\n\t\t\t\t\t\t\tname: item.label,\n\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\ttype: \"choropleth\",\n\t\t\t\t\t\t\tdataItem: {\n\t\t\t\t\t\t\t\ttype: item.type as DataItemType,\n\t\t\t\t\t\t\t\tdisplayName: item.label!,\n\t\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t\tlegendConfig: {\n\t\t\t\t\t\t\t\t\tcolorClass: \"YlOrBr\",\n\t\t\t\t\t\t\t\t\tscale: 7,\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},\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/ScorecardTable.tsx"],"names":[],"mappings":";;;;;;;;;;;AAYO,MAAM,cAAiB,GAAA,IAAA,CAAK,SAAS,cAAA,CAC3C,KACC,EAAA;AACD,EAAM,MAAA,QAAA,GAAW,OAAyB,IAAI,CAAA,CAAA;AAC9C,EAAA,MAAM,UAAU,kBAAmB,EAAA,CAAA;AACnC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAI,aAAc,EAAA,CAAA;AACnD,EAAA,MAAM,WAAW,4BAA6B,CAAA;AAAA,IAC7C,SAAA;AAAA,IACA,gBAAA;AAAA,GACA,CAAA,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,OAAO,OAAQ,CAAA,UAAA,EAAa,CAAA,sBAAA,CAAuB,MAAM;AACxD,MAAA,MAAM,UAAa,GAAA,OAAA,CAAQ,UAAW,EAAA,CAAE,aAAc,EAAA,CAAA;AACtD,MAAA,IAAI,UAAY,EAAA;AACf,QAAA,eAAA,CAAgB,MAAM;AACrB,UAAA,QAAA,CAAS,CAAC,SAAuB,KAAA;AAChC,YAAA,OAAO,CAAC,SAAA,CAAA;AAAA,WACR,CAAA,CAAA;AAAA,SACD,CAAA,CAAA;AAAA,OACF;AAAA,KACA,CAAA,CAAA;AAAA,GACF,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAEZ,EAAA,IAAI,SAAW,EAAA;AACd,IACC,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,MAAQ,EAAA,MAAA;AAAA,UACR,KAAO,EAAA,MAAA;AAAA,UACP,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,SACjB;AAAA,QAEA,QAAA,kBAAA,GAAA,CAAC,cAAe,EAAA,EAAA,KAAA,EAAK,IAAC,EAAA,CAAA;AAAA,OAAA;AAAA,KACvB,CAAA;AAAA,GAEF;AAEA,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,KAAA,EAAO,KAAM,CAAA,KAAA,IAAS,KAAM,CAAA,WAAA;AAAA,QAC5B,QAAQ,KAAM,CAAA,YAAA;AAAA,OACf;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACA,MAAO,EAAA,MAAA;AAAA,YACN,GAAG,KAAA;AAAA,YAEJ,GAAK,EAAA,QAAA;AAAA,YAEL,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,QAAS,EAAA,EAAA,CAAA;AAAA,kCACT,WAAY,EAAA,EAAA,CAAA;AAAA,8BACb,GAAA,CAAC,aAAU,QAAoB,EAAA,CAAA;AAAA,kCAC9B,SAAU,EAAA,EAAA,CAAA;AAAA,aAAA;AAAA,WAAA;AAAA,SACZ;AAAA,4BACC,gBAAiB,EAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GACnB,CAAA;AAEF,CAAC","file":"ScorecardTable.js","sourcesContent":["import { CircularLoader, DataTable, type DataTableProps } from \"@dhis2/ui\";\nimport { TableHeader } from \"./components/TableHeader\";\nimport { TableBody } from \"./components/TableBody\";\nimport { TableFoot } from \"./components/TableFoot\";\nimport { memo, useEffect, useRef, useTransition } from \"react\";\nimport { PaginatedToolbar } from \"./components/PaginatedToolbar\";\nimport { useDragDropManager } from \"react-dnd\";\nimport { useSetScorecardStateSelector } from \"../../state\";\nimport { ColGroup } from \"../ColGroup\";\n\nexport interface ScorecardTableProps extends Omit<DataTableProps, \"children\"> {}\n\nexport const ScorecardTable = memo(function TableComponent(\n\tprops: ScorecardTableProps,\n) {\n\tconst tableRef = useRef<HTMLTableElement>(null);\n\tconst manager = useDragDropManager();\n\tconst [isPending, startTransition] = useTransition();\n\tconst setState = useSetScorecardStateSelector([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tuseEffect(() => {\n\t\treturn manager.getMonitor().subscribeToStateChange(() => {\n\t\t\tconst dropResult = manager.getMonitor().getDropResult();\n\t\t\tif (dropResult) {\n\t\t\t\tstartTransition(() => {\n\t\t\t\t\tsetState((prevState: boolean) => {\n\t\t\t\t\t\treturn !prevState;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}, [manager]);\n\n\tif (isPending) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<CircularLoader small />\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: props.width ?? props.scrollWidth,\n\t\t\t\theight: props.scrollHeight,\n\t\t\t}}\n\t\t>\n\t\t\t<DataTable\n\t\t\t\tlayout=\"auto\"\n\t\t\t\t{...props} /*\n // @ts-ignore */\n\t\t\t\tref={tableRef}\n\t\t\t>\n\t\t\t\t<ColGroup />\n\t\t\t\t<TableHeader />\n\t\t\t\t<TableBody tableRef={tableRef} />\n\t\t\t\t<TableFoot />\n\t\t\t</DataTable>\n\t\t\t<PaginatedToolbar />\n\t\t</div>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/ScorecardTable.tsx"],"names":[],"mappings":";;;;;;;;;;;AAYO,MAAM,cAAiB,GAAA,IAAA,CAAK,SAAS,cAAA,CAC3C,KACC,EAAA;AACD,EAAM,MAAA,QAAA,GAAW,OAAyB,IAAI,CAAA;AAC9C,EAAA,MAAM,UAAU,kBAAmB,EAAA;AACnC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAI,aAAc,EAAA;AACnD,EAAA,MAAM,WAAW,4BAA6B,CAAA;AAAA,IAC7C,SAAA;AAAA,IACA;AAAA,GACA,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,OAAO,OAAQ,CAAA,UAAA,EAAa,CAAA,sBAAA,CAAuB,MAAM;AACxD,MAAA,MAAM,UAAa,GAAA,OAAA,CAAQ,UAAW,EAAA,CAAE,aAAc,EAAA;AACtD,MAAA,IAAI,UAAY,EAAA;AACf,QAAA,eAAA,CAAgB,MAAM;AACrB,UAAA,QAAA,CAAS,CAAC,SAAuB,KAAA;AAChC,YAAA,OAAO,CAAC,SAAA;AAAA,WACR,CAAA;AAAA,SACD,CAAA;AAAA;AACF,KACA,CAAA;AAAA,GACF,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,IAAI,SAAW,EAAA;AACd,IACC,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,MAAQ,EAAA,MAAA;AAAA,UACR,KAAO,EAAA,MAAA;AAAA,UACP,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA;AAAA,SACjB;AAAA,QAEA,QAAA,kBAAA,GAAA,CAAC,cAAe,EAAA,EAAA,KAAA,EAAK,IAAC,EAAA;AAAA;AAAA,KACvB;AAAA;AAIF,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,KAAA,EAAO,KAAM,CAAA,KAAA,IAAS,KAAM,CAAA,WAAA;AAAA,QAC5B,QAAQ,KAAM,CAAA;AAAA,OACf;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA;AAAA,UAAC,SAAA;AAAA,UAAA;AAAA,YACA,MAAO,EAAA,MAAA;AAAA,YACN,GAAG,KAAA;AAAA,YAEJ,GAAK,EAAA,QAAA;AAAA,YAEL,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,QAAS,EAAA,EAAA,CAAA;AAAA,kCACT,WAAY,EAAA,EAAA,CAAA;AAAA,8BACb,GAAA,CAAC,aAAU,QAAoB,EAAA,CAAA;AAAA,kCAC9B,SAAU,EAAA,EAAA;AAAA;AAAA;AAAA,SACZ;AAAA,4BACC,gBAAiB,EAAA,EAAA;AAAA;AAAA;AAAA,GACnB;AAEF,CAAC","file":"ScorecardTable.js","sourcesContent":["import { CircularLoader, DataTable, type DataTableProps } from \"@dhis2/ui\";\nimport { TableHeader } from \"./components/TableHeader\";\nimport { TableBody } from \"./components/TableBody\";\nimport { TableFoot } from \"./components/TableFoot\";\nimport { memo, useEffect, useRef, useTransition } from \"react\";\nimport { PaginatedToolbar } from \"./components/PaginatedToolbar\";\nimport { useDragDropManager } from \"react-dnd\";\nimport { useSetScorecardStateSelector } from \"../../state\";\nimport { ColGroup } from \"../ColGroup\";\n\nexport interface ScorecardTableProps extends Omit<DataTableProps, \"children\"> {}\n\nexport const ScorecardTable = memo(function TableComponent(\n\tprops: ScorecardTableProps,\n) {\n\tconst tableRef = useRef<HTMLTableElement>(null);\n\tconst manager = useDragDropManager();\n\tconst [isPending, startTransition] = useTransition();\n\tconst setState = useSetScorecardStateSelector([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tuseEffect(() => {\n\t\treturn manager.getMonitor().subscribeToStateChange(() => {\n\t\t\tconst dropResult = manager.getMonitor().getDropResult();\n\t\t\tif (dropResult) {\n\t\t\t\tstartTransition(() => {\n\t\t\t\t\tsetState((prevState: boolean) => {\n\t\t\t\t\t\treturn !prevState;\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}, [manager]);\n\n\tif (isPending) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\theight: \"100%\",\n\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<CircularLoader small />\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: props.width ?? props.scrollWidth,\n\t\t\t\theight: props.scrollHeight,\n\t\t\t}}\n\t\t>\n\t\t\t<DataTable\n\t\t\t\tlayout=\"auto\"\n\t\t\t\t{...props} /*\n // @ts-ignore */\n\t\t\t\tref={tableRef}\n\t\t\t>\n\t\t\t\t<ColGroup />\n\t\t\t\t<TableHeader />\n\t\t\t\t<TableBody tableRef={tableRef} />\n\t\t\t\t<TableFoot />\n\t\t\t</DataTable>\n\t\t\t<PaginatedToolbar />\n\t\t</div>\n\t);\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/AverageCell.tsx"],"names":[],"mappings":"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","file":"AverageCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { head, isEmpty } from \"lodash\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useMemo } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport {\n\tuseDataHolderAverageCellValue,\n\tuseOrgUnitAverageCellValue,\n} from \"../../../hooks/value\";\nimport { CellLoader } from \"./CellLoader\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nexport function SingleAverageCell({\n\tdataSource,\n\tsize,\n}: {\n\tdataSource: ScorecardAverageCellData;\n\tsize: number;\n}) {\n\tconst config = useScorecardConfig();\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tconfig: config!,\n\t\t\tvalue: dataSource.data.average,\n\t\t});\n\t}, [dataSource]);\n\n\tif (!dataSource.data.average || isNaN(dataSource.data.average)) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\tstyle={{\n\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\tminWidth: 100,\n\t\t\t\twidth: size,\n\t\t\t\theight: 48,\n\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t? getTextColorFromBackgroundColor(legendDefinition?.color)\n\t\t\t\t\t: undefined,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t>\n\t\t\t<b>{dataSource.data.average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function LinkedAverageCell({\n\tdataSources,\n\tsize,\n}: {\n\tdataSources: Array<ScorecardAverageCellData>;\n\tsize: number;\n}) {\n\tconst [top, bottom] = dataSources ?? [];\n\tconst config = useScorecardConfig();\n\tconst topLegendDefinition = useMemo(() => {\n\t\tif (!top) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: top,\n\t\t\tconfig: config!,\n\t\t\tvalue: top.data.average,\n\t\t});\n\t}, [top]);\n\tconst bottomLegendDefinition = useMemo(() => {\n\t\tif (!bottom) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: bottom,\n\t\t\tconfig: config!,\n\t\t\tvalue: bottom.data.average,\n\t\t});\n\t}, [bottom]);\n\n\treturn (\n\t\t<LinkedCell\n\t\t\tbold\n\t\t\tsize={size}\n\t\t\ttop={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...top,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: top.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\tvalue: top.data.average,\n\t\t\t}}\n\t\t\tbottom={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...bottom,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: bottom.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\tvalue: bottom.data.average,\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nfunction DataSourceAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { cellData: dataSources, loading } =\n\t\tuseDataHolderAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!isEmpty(dataSources)) {\n\t\tif (dataSources?.length === 1) {\n\t\t\treturn (\n\t\t\t\t<SingleAverageCell\n\t\t\t\t\tsize={size}\n\t\t\t\t\tdataSource={head(dataSources)!}\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\treturn <LinkedAverageCell size={size} dataSources={dataSources!} />;\n\t\t}\n\t}\n\n\treturn <DataTableCell bordered style={{ width: size }} />;\n}\n\nfunction OrgUnitAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { loading, average } = useOrgUnitAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isNaN(average as number)) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\tstyle={{ width: size }}\n\t\t\t\tbordered\n\t\t\t\talign=\"center\"\n\t\t\t\tkey={props.row.id}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tstyle={{ width: size }}\n\t\t\tbordered\n\t\t\talign=\"center\"\n\t\t\tkey={props.row.id}\n\t\t>\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function AverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tif (showDataInRows) {\n\t\treturn <DataSourceAverageCell {...props} />;\n\t}\n\n\treturn <OrgUnitAverageCell {...props} />;\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/AverageCell.tsx"],"names":[],"mappings":"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","file":"AverageCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { head, isEmpty } from \"lodash\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport { useMemo } from \"react\";\nimport {\n\tgetLegend,\n\tgetTextColorFromBackgroundColor,\n} from \"../../../utils/legends\";\nimport { LinkedCell } from \"./LinkedCell\";\nimport {\n\tuseDataHolderAverageCellValue,\n\tuseOrgUnitAverageCellValue,\n} from \"../../../hooks/value\";\nimport { CellLoader } from \"./CellLoader\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nexport function SingleAverageCell({\n\tdataSource,\n\tsize,\n}: {\n\tdataSource: ScorecardAverageCellData;\n\tsize: number;\n}) {\n\tconst config = useScorecardConfig();\n\tconst legendDefinition = useMemo(() => {\n\t\tif (!dataSource) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource,\n\t\t\tconfig: config!,\n\t\t\tvalue: dataSource.data.average,\n\t\t});\n\t}, [dataSource]);\n\n\tif (!dataSource.data.average || isNaN(dataSource.data.average)) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\tstyle={{\n\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\tminWidth: 100,\n\t\t\t\twidth: size,\n\t\t\t\theight: 48,\n\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t? getTextColorFromBackgroundColor(legendDefinition?.color)\n\t\t\t\t\t: undefined,\n\t\t\t}}\n\t\t\talign=\"center\"\n\t\t>\n\t\t\t<b>{dataSource.data.average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function LinkedAverageCell({\n\tdataSources,\n\tsize,\n}: {\n\tdataSources: Array<ScorecardAverageCellData>;\n\tsize: number;\n}) {\n\tconst [top, bottom] = dataSources ?? [];\n\tconst config = useScorecardConfig();\n\tconst topLegendDefinition = useMemo(() => {\n\t\tif (!top) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: top,\n\t\t\tconfig: config!,\n\t\t\tvalue: top.data.average,\n\t\t});\n\t}, [top]);\n\tconst bottomLegendDefinition = useMemo(() => {\n\t\tif (!bottom) {\n\t\t\treturn;\n\t\t}\n\t\treturn getLegend({\n\t\t\tdataSource: bottom,\n\t\t\tconfig: config!,\n\t\t\tvalue: bottom.data.average,\n\t\t});\n\t}, [bottom]);\n\n\treturn (\n\t\t<LinkedCell\n\t\t\tbold\n\t\t\tsize={size}\n\t\t\ttop={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...top,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: top.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: topLegendDefinition,\n\t\t\t\tvalue: top.data.average,\n\t\t\t}}\n\t\t\tbottom={{\n\t\t\t\tdataSource: {\n\t\t\t\t\t...bottom,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tcurrent: bottom.data.average,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlegendDefinition: bottomLegendDefinition,\n\t\t\t\tvalue: bottom.data.average,\n\t\t\t}}\n\t\t/>\n\t);\n}\n\nfunction DataSourceAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { cellData: dataSources, loading } =\n\t\tuseDataHolderAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!isEmpty(dataSources)) {\n\t\tif (dataSources?.length === 1) {\n\t\t\treturn (\n\t\t\t\t<SingleAverageCell\n\t\t\t\t\tsize={size}\n\t\t\t\t\tdataSource={head(dataSources)!}\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\treturn <LinkedAverageCell size={size} dataSources={dataSources!} />;\n\t\t}\n\t}\n\n\treturn <DataTableCell bordered style={{ width: size }} />;\n}\n\nfunction OrgUnitAverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst size = props.cell.column.getSize();\n\tconst dataConfig = useMemo(() => props.getValue(), [props.getValue()]);\n\tconst { loading, average } = useOrgUnitAverageCellValue(dataConfig);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isNaN(average as number)) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\tstyle={{ width: size }}\n\t\t\t\tbordered\n\t\t\t\talign=\"center\"\n\t\t\t\tkey={props.row.id}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tstyle={{ width: size }}\n\t\t\tbordered\n\t\t\talign=\"center\"\n\t\t\tkey={props.row.id}\n\t\t>\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function AverageCell(\n\tprops: CellContext<ScorecardTableData, ScorecardTableAverageCellConfig>,\n) {\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\n\tif (showDataInRows) {\n\t\treturn <DataSourceAverageCell {...props} />;\n\t}\n\n\treturn <OrgUnitAverageCell {...props} />;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/AverageFooterCell.tsx"],"names":[],"mappings":";;;;;;;;AASO,SAAS,iBAAkB,CAAA;AAAA,EACjC,MAAA;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,IAAA,GAAO,OAAO,OAAQ,EAAA,CAAA;AAC5B,EAAA,MAAM,OAAO,gBAAiB,EAAA,CAAA;AAC9B,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAkB,KAAK,CAAA,CAAA;AACrD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,QAAiB,EAAA,CAAA;AAC/C,EAAA,MAAM,EAAE,IAAA,EAAM,eAAgB,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEnD,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AACf,IAAM,MAAA,QAAA,GAAW,CAAC,SAAuB,KAAA;AACxC,MAAA,IAAI,SAAW,EAAA;AACd,QAAA,UAAA;AAAA,UACC,eAAgB,CAAA;AAAA,YACf,YAAY,eAAgB,CAAA,IAAA;AAAA,YAC5B,IAAA;AAAA,WACA,CAAA;AAAA,SACF,CAAA;AACA,QAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,OACjB;AAAA,KACD,CAAA;AACA,IAAA,IAAI,gBAAgB,MAAQ,EAAA;AAC3B,MAAA,UAAA;AAAA,QACC,eAAgB,CAAA;AAAA,UACf,YAAY,eAAgB,CAAA,IAAA;AAAA,UAC5B,IAAA;AAAA,SACA,CAAA;AAAA,OACF,CAAA;AACA,MAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KACV,MAAA;AACN,MAAO,OAAA,eAAA,CAAgB,sBAAsB,QAAQ,CAAA,CAAA;AAAA,KACtD;AAAA,GACD,EAAG,EAAE,CAAA,CAAA;AAEL,EAAA,IAAI,OAAS,EAAA;AACZ,IAAO,uBAAA,GAAA,CAAC,cAAW,IAAY,EAAA,CAAA,CAAA;AAAA,GAChC;AAEA,EAAA,IAAI,CAAC,OAAA,IAAW,KAAM,CAAA,OAAO,CAAG,EAAA;AAC/B,IAAO,uBAAA,GAAA,CAAC,iBAAc,KAAO,EAAA,EAAE,OAAO,IAAK,EAAA,EAAG,UAAQ,IAAC,EAAA,CAAA,CAAA;AAAA,GACxD;AAEA,EAAA,2BACE,aAAc,EAAA,EAAA,KAAA,EAAO,EAAE,KAAO,EAAA,IAAA,IAAQ,QAAQ,EAAA,IAAA,EAAC,OAAM,QACrD,EAAA,QAAA,kBAAA,GAAA,CAAC,OAAG,QAAS,EAAA,OAAA,EAAA,OAAA,CAAQ,CAAC,CAAE,CAAA,QAAA,IAAW,CACpC,EAAA,CAAA,CAAA;AAEF","file":"AverageFooterCell.js","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../schemas/config\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { useEffect, useState } from \"react\";\nimport { getAverageValue } from \"../../../utils/columns\";\nimport { CellLoader } from \"./CellLoader\";\n\nexport function AverageFooterCell({\n\tcolumn,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst size = column.getSize();\n\tconst meta = useScorecardMeta();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number>();\n\tconst { data: scorecardEngine } = useScorecardData();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetAverage(\n\t\t\t\t\tgetAverageValue({\n\t\t\t\t\t\tdataValues: scorecardEngine.data,\n\t\t\t\t\t\tmeta: meta!,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetAverage(\n\t\t\t\tgetAverageValue({\n\t\t\t\t\tdataValues: scorecardEngine.data,\n\t\t\t\t\tmeta: meta!,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, []);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!average || isNaN(average)) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\treturn (\n\t\t<DataTableCell style={{ width: size }} bordered align=\"center\">\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/AverageFooterCell.tsx"],"names":[],"mappings":";;;;;;;;AASO,SAAS,iBAAkB,CAAA;AAAA,EACjC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,IAAA,GAAO,OAAO,OAAQ,EAAA;AAC5B,EAAA,MAAM,OAAO,gBAAiB,EAAA;AAC9B,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAkB,KAAK,CAAA;AACrD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,QAAiB,EAAA;AAC/C,EAAA,MAAM,EAAE,IAAA,EAAM,eAAgB,EAAA,GAAI,gBAAiB,EAAA;AAEnD,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,UAAA,CAAW,IAAI,CAAA;AACf,IAAM,MAAA,QAAA,GAAW,CAAC,SAAuB,KAAA;AACxC,MAAA,IAAI,SAAW,EAAA;AACd,QAAA,UAAA;AAAA,UACC,eAAgB,CAAA;AAAA,YACf,YAAY,eAAgB,CAAA,IAAA;AAAA,YAC5B;AAAA,WACA;AAAA,SACF;AACA,QAAA,UAAA,CAAW,KAAK,CAAA;AAAA;AACjB,KACD;AACA,IAAA,IAAI,gBAAgB,MAAQ,EAAA;AAC3B,MAAA,UAAA;AAAA,QACC,eAAgB,CAAA;AAAA,UACf,YAAY,eAAgB,CAAA,IAAA;AAAA,UAC5B;AAAA,SACA;AAAA,OACF;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,KACV,MAAA;AACN,MAAO,OAAA,eAAA,CAAgB,sBAAsB,QAAQ,CAAA;AAAA;AACtD,GACD,EAAG,EAAE,CAAA;AAEL,EAAA,IAAI,OAAS,EAAA;AACZ,IAAO,uBAAA,GAAA,CAAC,cAAW,IAAY,EAAA,CAAA;AAAA;AAGhC,EAAA,IAAI,CAAC,OAAA,IAAW,KAAM,CAAA,OAAO,CAAG,EAAA;AAC/B,IAAO,uBAAA,GAAA,CAAC,iBAAc,KAAO,EAAA,EAAE,OAAO,IAAK,EAAA,EAAG,UAAQ,IAAC,EAAA,CAAA;AAAA;AAGxD,EAAA,2BACE,aAAc,EAAA,EAAA,KAAA,EAAO,EAAE,KAAO,EAAA,IAAA,IAAQ,QAAQ,EAAA,IAAA,EAAC,OAAM,QACrD,EAAA,QAAA,kBAAA,GAAA,CAAC,OAAG,QAAS,EAAA,OAAA,EAAA,OAAA,CAAQ,CAAC,CAAE,CAAA,QAAA,IAAW,CACpC,EAAA,CAAA;AAEF","file":"AverageFooterCell.js","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../schemas/config\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { useEffect, useState } from \"react\";\nimport { getAverageValue } from \"../../../utils/columns\";\nimport { CellLoader } from \"./CellLoader\";\n\nexport function AverageFooterCell({\n\tcolumn,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst size = column.getSize();\n\tconst meta = useScorecardMeta();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number>();\n\tconst { data: scorecardEngine } = useScorecardData();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetAverage(\n\t\t\t\t\tgetAverageValue({\n\t\t\t\t\t\tdataValues: scorecardEngine.data,\n\t\t\t\t\t\tmeta: meta!,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetAverage(\n\t\t\t\tgetAverageValue({\n\t\t\t\t\tdataValues: scorecardEngine.data,\n\t\t\t\t\tmeta: meta!,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, []);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (!average || isNaN(average)) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\treturn (\n\t\t<DataTableCell style={{ width: size }} bordered align=\"center\">\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/CellLoader.tsx"],"names":[],"mappings":";;;AAEO,SAAS,UAAA,CAAW,EAAE,IAAA,EAA0B,EAAA;AACtD,EAAO,uBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,KAAA,EAAO,EAAE,KAAA,EAAO,MAAQ,EAAA,KAAA,EAAM,QAAS,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA,CAAA;AACvE","file":"CellLoader.js","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\n\nexport function CellLoader({ size }: { size: number }) {\n\treturn <DataTableCell style={{ width: size }} align=\"center\" bordered />;\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/CellLoader.tsx"],"names":[],"mappings":";;;AAEO,SAAS,UAAA,CAAW,EAAE,IAAA,EAA0B,EAAA;AACtD,EAAO,uBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,KAAA,EAAO,EAAE,KAAA,EAAO,MAAQ,EAAA,KAAA,EAAM,QAAS,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA;AACvE","file":"CellLoader.js","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\n\nexport function CellLoader({ size }: { size: number }) {\n\treturn <DataTableCell style={{ width: size }} align=\"center\" bordered />;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":["DataContainer"],"mappings":";;;;;;;;;;AAcA,SAAS,uBACR,KACC,EAAA;AACD,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,OAAQ,EAAA,CAAA;AACvC,EAAM,MAAA,UAAA,GAAa,MAAM,QAAS,EAAA,CAAA;AAClC,EAAA,MAAM,SAAS,kBAAmB,EAAA,CAAA;AAClC,EAAA,MAAM,OAAO,gBAAiB,EAAA,CAAA;AAC9B,EAAA,MAAM,EAAE,OAAS,EAAA,QAAA,KAAa,YAAa,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAE3D,EAAI,IAAA,CAAC,MAAU,IAAA,CAAC,IAAM,EAAA;AACrB,IAAO,uBAAA,GAAA,CAAC,iBAAc,KAAO,EAAA,EAAE,OAAO,IAAK,EAAA,EAAG,UAAQ,IAAC,EAAA,CAAA,CAAA;AAAA,GACxD;AAEA,EAAA,IAAI,OAAS,EAAA;AACZ,IAAO,uBAAA,GAAA,CAAC,cAAW,IAAY,EAAA,CAAA,CAAA;AAAA,GAChC;AAEA,EAAA,IAAI,CAAC,UAAY,EAAA;AAChB,IAAO,uBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA,CAAA;AAAA,GAChC;AAEA,EAAI,IAAA,QAAA,EAAU,WAAW,CAAG,EAAA;AAC3B,IACC,uBAAA,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,GAAG,UAAA;AAAA,QACJ,IAAA;AAAA,QACA,QAAQ,UAAW,CAAA,aAAA;AAAA,QACnB,WAAa,EAAA,QAAA;AAAA,OAAA;AAAA,KACd,CAAA;AAAA,GAEF;AAEA,EACC,uBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,GAAG,UAAA;AAAA,MACJ,IAAA;AAAA,MACA,QAAQ,UAAW,CAAA,aAAA;AAAA,MACnB,WAAa,EAAA,QAAA;AAAA,KAAA;AAAA,GACd,CAAA;AAEF,CAAA;AAEO,MAAM,aAAgB,GAAA,IAAA,CAAK,SAASA,cAAAA,CAC1C,KACC,EAAA;AACD,EAAM,MAAA,MAAA,GAAS,MAAM,QAAS,EAAA,CAAA;AAE9B,EAAA,IAAI,CAAC,MAAQ,EAAA;AACZ,IAAA,2BAAQ,aAAc,EAAA,EAAA,QAAA,EAAQ,MAAC,GAAI,EAAA,IAAA,EAAK,OAAM,MAAO,EAAA,CAAA,CAAA;AAAA,GACtD;AAEA,EAAO,uBAAA,GAAA,CAAC,sBAAwB,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA,CAAA;AAC3C,CAAC","file":"DataContainer.js","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
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataContainer.tsx"],"names":["DataContainer"],"mappings":";;;;;;;;;;AAcA,SAAS,uBACR,KACC,EAAA;AACD,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,OAAQ,EAAA;AACvC,EAAM,MAAA,UAAA,GAAa,MAAM,QAAS,EAAA;AAClC,EAAA,MAAM,SAAS,kBAAmB,EAAA;AAClC,EAAA,MAAM,OAAO,gBAAiB,EAAA;AAC9B,EAAA,MAAM,EAAE,OAAS,EAAA,QAAA,KAAa,YAAa,CAAA,KAAA,CAAM,UAAU,CAAA;AAE3D,EAAI,IAAA,CAAC,MAAU,IAAA,CAAC,IAAM,EAAA;AACrB,IAAO,uBAAA,GAAA,CAAC,iBAAc,KAAO,EAAA,EAAE,OAAO,IAAK,EAAA,EAAG,UAAQ,IAAC,EAAA,CAAA;AAAA;AAGxD,EAAA,IAAI,OAAS,EAAA;AACZ,IAAO,uBAAA,GAAA,CAAC,cAAW,IAAY,EAAA,CAAA;AAAA;AAGhC,EAAA,IAAI,CAAC,UAAY,EAAA;AAChB,IAAO,uBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA;AAAA;AAGhC,EAAI,IAAA,QAAA,EAAU,WAAW,CAAG,EAAA;AAC3B,IACC,uBAAA,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACC,GAAG,UAAA;AAAA,QACJ,IAAA;AAAA,QACA,QAAQ,UAAW,CAAA,aAAA;AAAA,QACnB,WAAa,EAAA;AAAA;AAAA,KACd;AAAA;AAIF,EACC,uBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,GAAG,UAAA;AAAA,MACJ,IAAA;AAAA,MACA,QAAQ,UAAW,CAAA,aAAA;AAAA,MACnB,WAAa,EAAA;AAAA;AAAA,GACd;AAEF;AAEO,MAAM,aAAgB,GAAA,IAAA,CAAK,SAASA,cAAAA,CAC1C,KACC,EAAA;AACD,EAAM,MAAA,MAAA,GAAS,MAAM,QAAS,EAAA;AAE9B,EAAA,IAAI,CAAC,MAAQ,EAAA;AACZ,IAAA,2BAAQ,aAAc,EAAA,EAAA,QAAA,EAAQ,MAAC,GAAI,EAAA,IAAA,EAAK,OAAM,MAAO,EAAA,CAAA;AAAA;AAGtD,EAAO,uBAAA,GAAA,CAAC,sBAAwB,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA;AAC3C,CAAC","file":"DataContainer.js","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"]}
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { useMemo, useState, useEffect } from 'react';
3
3
  import { DataTableCell } from '@dhis2/ui';
4
4
  import { useScorecardData } from '../../DataProvider';
5
- import { isEmpty, head, meanBy } from 'lodash';
5
+ import { head, meanBy, isEmpty } from 'lodash';
6
6
  import { CellLoader } from './CellLoader';
7
7
  import { SingleAverageCell, LinkedAverageCell } from './AverageCell';
8
8
  import { useScorecardStateSelectorValue } from '../../../state';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataFooterCell.tsx"],"names":["average"],"mappings":"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","file":"DataFooterCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport type { AnalyticsData } from \"../../../utils/data\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { head, isEmpty, meanBy } from \"lodash\";\nimport { CellLoader } from \"./CellLoader\";\nimport { LinkedAverageCell, SingleAverageCell } from \"./AverageCell\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nfunction getOrgUnitAverage({\n\tdataSourcesConfig,\n\tdata,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tdata: AnalyticsData[];\n}): ScorecardAverageCellData[] {\n\tconst dataSourceConfig = head(dataSourcesConfig)!;\n\n\treturn dataSourceConfig?.dataSources?.map((config) => {\n\t\tconst period = dataSourceConfig.currentPeriod!;\n\t\tconst dataValues = data.filter(\n\t\t\t(datum) => datum.pe === period && datum.dx === config.id,\n\t\t);\n\t\tconst average = meanBy(dataValues, (value) => parseFloat(value.value!));\n\n\t\treturn {\n\t\t\t...config,\n\t\t\tdata: {\n\t\t\t\taverage,\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction OrgUnitFooterCell({\n\tdataSourcesConfig,\n\tsize,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tsize: number;\n}) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [averageValues, setAverageValues] =\n\t\tuseState<ScorecardAverageCellData[]>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetAverageValues(\n\t\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetAverageValues(\n\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isEmpty(averageValues)) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\tif (averageValues?.length === 1) {\n\t\treturn (\n\t\t\t<SingleAverageCell size={size} dataSource={head(averageValues)!} />\n\t\t);\n\t} else {\n\t\treturn <LinkedAverageCell size={size} dataSources={averageValues!} />;\n\t}\n}\n\nfunction DataHolderFooterCell({\n\tdataSourcesConfig,\n\tsize,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tsize: number;\n}) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetLoading(false);\n\t\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t\t);\n\t\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\t\tparseFloat(value.value!),\n\t\t\t\t);\n\t\t\t\tsetAverage(average);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t);\n\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\tparseFloat(value.value!),\n\t\t\t);\n\t\t\tsetAverage(average);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isNaN(average as number)) {\n\t\treturn (\n\t\t\t<DataTableCell style={{ width: size }} bordered align=\"center\" />\n\t\t);\n\t}\n\treturn (\n\t\t<DataTableCell style={{ width: size }} bordered align=\"center\">\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function DataFooterCell({\n\ttable,\n\tcolumn,\n}: HeaderContext<ScorecardTableData, ScorecardTableCellConfig>) {\n\tconst size = column.getSize();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst dataSourceConfig = useMemo(() => {\n\t\treturn table\n\t\t\t.getRowModel()\n\t\t\t.rows.map((row) =>\n\t\t\t\trow.getValue(column.id),\n\t\t\t) as ScorecardTableCellConfig[];\n\t}, [table.getRowModel().rows]);\n\n\tif (showDataInRows) {\n\t\treturn (\n\t\t\t<DataHolderFooterCell\n\t\t\t\tsize={size}\n\t\t\t\tdataSourcesConfig={dataSourceConfig}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<OrgUnitFooterCell size={size} dataSourcesConfig={dataSourceConfig} />\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataFooterCell.tsx"],"names":["average"],"mappings":"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","file":"DataFooterCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type {\n\tScorecardAverageCellData,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport type { AnalyticsData } from \"../../../utils/data\";\nimport { useScorecardData } from \"../../DataProvider\";\nimport { head, isEmpty, meanBy } from \"lodash\";\nimport { CellLoader } from \"./CellLoader\";\nimport { LinkedAverageCell, SingleAverageCell } from \"./AverageCell\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nfunction getOrgUnitAverage({\n\tdataSourcesConfig,\n\tdata,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tdata: AnalyticsData[];\n}): ScorecardAverageCellData[] {\n\tconst dataSourceConfig = head(dataSourcesConfig)!;\n\n\treturn dataSourceConfig?.dataSources?.map((config) => {\n\t\tconst period = dataSourceConfig.currentPeriod!;\n\t\tconst dataValues = data.filter(\n\t\t\t(datum) => datum.pe === period && datum.dx === config.id,\n\t\t);\n\t\tconst average = meanBy(dataValues, (value) => parseFloat(value.value!));\n\n\t\treturn {\n\t\t\t...config,\n\t\t\tdata: {\n\t\t\t\taverage,\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction OrgUnitFooterCell({\n\tdataSourcesConfig,\n\tsize,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tsize: number;\n}) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [averageValues, setAverageValues] =\n\t\tuseState<ScorecardAverageCellData[]>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetAverageValues(\n\t\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tsetAverageValues(\n\t\t\t\tgetOrgUnitAverage({\n\t\t\t\t\tdataSourcesConfig,\n\t\t\t\t\tdata: scorecardEngine.data,\n\t\t\t\t}),\n\t\t\t);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isEmpty(averageValues)) {\n\t\treturn <DataTableCell style={{ width: size }} bordered />;\n\t}\n\n\tif (averageValues?.length === 1) {\n\t\treturn (\n\t\t\t<SingleAverageCell size={size} dataSource={head(averageValues)!} />\n\t\t);\n\t} else {\n\t\treturn <LinkedAverageCell size={size} dataSources={averageValues!} />;\n\t}\n}\n\nfunction DataHolderFooterCell({\n\tdataSourcesConfig,\n\tsize,\n}: {\n\tdataSourcesConfig: ScorecardTableCellConfig[];\n\tsize: number;\n}) {\n\tconst { data: scorecardEngine } = useScorecardData();\n\tconst [loading, setLoading] = useState<boolean>(false);\n\tconst [average, setAverage] = useState<number>();\n\n\tuseEffect(() => {\n\t\tsetLoading(true);\n\t\tconst listener = (completed: boolean) => {\n\t\t\tif (completed) {\n\t\t\t\tsetLoading(false);\n\t\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t\t);\n\t\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\t\tparseFloat(value.value!),\n\t\t\t\t);\n\t\t\t\tsetAverage(average);\n\t\t\t}\n\t\t};\n\t\tif (scorecardEngine.isDone) {\n\t\t\tconst orgUnitId = head(dataSourcesConfig)!;\n\t\t\tconst dataValues = scorecardEngine.data.filter(\n\t\t\t\t(datum) => datum.ou === orgUnitId.orgUnit.uid,\n\t\t\t);\n\t\t\tconst average = meanBy(dataValues, (value) =>\n\t\t\t\tparseFloat(value.value!),\n\t\t\t);\n\t\t\tsetAverage(average);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\treturn scorecardEngine.addOnCompleteListener(listener);\n\t\t}\n\t}, [dataSourcesConfig]);\n\n\tif (loading) {\n\t\treturn <CellLoader size={size} />;\n\t}\n\n\tif (isNaN(average as number)) {\n\t\treturn (\n\t\t\t<DataTableCell style={{ width: size }} bordered align=\"center\" />\n\t\t);\n\t}\n\treturn (\n\t\t<DataTableCell style={{ width: size }} bordered align=\"center\">\n\t\t\t<b>{average?.toFixed(2).toString()}</b>\n\t\t</DataTableCell>\n\t);\n}\n\nexport function DataFooterCell({\n\ttable,\n\tcolumn,\n}: HeaderContext<ScorecardTableData, ScorecardTableCellConfig>) {\n\tconst size = column.getSize();\n\tconst showDataInRows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"showDataInRows\",\n\t]);\n\tconst dataSourceConfig = useMemo(() => {\n\t\treturn table\n\t\t\t.getRowModel()\n\t\t\t.rows.map((row) =>\n\t\t\t\trow.getValue(column.id),\n\t\t\t) as ScorecardTableCellConfig[];\n\t}, [table.getRowModel().rows]);\n\n\tif (showDataInRows) {\n\t\treturn (\n\t\t\t<DataHolderFooterCell\n\t\t\t\tsize={size}\n\t\t\t\tdataSourcesConfig={dataSourceConfig}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<OrgUnitFooterCell size={size} dataSourcesConfig={dataSourceConfig} />\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataRow.tsx"],"names":["expanded"],"mappings":";;;;;;;AAUA,SAAS,iBAAA,CAAkB,EAAE,GAAA,EAAyC,EAAA;AACrE,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAI,aAAc,EAAA,CAAA;AACnD,EAAM,MAAA,OAAA,GAAU,QAAQ,MAAM;AAC7B,IAAA,MAAM,WAAW,GAAI,CAAA,eAAA,EAAkB,CAAA,IAAA,CAAK,CAAC,IAAS,KAAA;AACrD,MAAM,MAAA,IAAA,GAAO,KAAK,QAAS,EAAA,CAAA;AAC3B,MAAO,OAAA,CAAC,CAAC,IAAM,EAAA,OAAA,CAAA;AAAA,KACf,CAAA,CAAA;AACD,IAAQ,OAAA,QAAA,EAAU,UAAyC,EAAA,OAAA,CAAA;AAAA,GAC5D,EAAG,CAAC,GAAG,CAAC,CAAA,CAAA;AACR,EAAM,MAAA,SAAA,GAAY,QAAQ,MAAM;AAC/B,IAAA,OAAO,IAAI,YAAa,EAAA,CAAA;AAAA,GACzB,EAAG,CAAC,GAAG,CAAC,CAAA,CAAA;AAER,EAAM,MAAA,QAAA,GAAW,IAAI,aAAc,EAAA,CAAA;AAEnC,EACC,uBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACA,WAAW,MAAO,CAAA,UAAA;AAAA,MAClB,gBACC,SACG,GAAA,CAAC,EAAE,QAAA,EAAAA,WAAe,KAAA;AAClB,QAAA,eAAA,CAAgB,MAAM;AACrB,UAAA,GAAA,CAAI,eAAeA,SAAQ,CAAA,CAAA;AAAA,SAC3B,CAAA,CAAA;AAAA,OAED,GAAA,KAAA,CAAA;AAAA,MAEJ,mBACC,SACC,mBAAA,GAAA;AAAA,QAAC,sBAAA;AAAA,QAAA;AAAA,UACA,OAAS,EAAA,SAAA;AAAA,UACT,OAAA;AAAA,SAAA;AAAA,OAEE,GAAA,KAAA,CAAA;AAAA,MAEL,QAAA;AAAA,MAGC,QAAI,EAAA,GAAA,CAAA,eAAA,EAAkB,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AACpC,QAAA,2BACE,QACC,EAAA,EAAA,QAAA,EAAA,UAAA;AAAA,UACA,IAAA,CAAK,OAAO,SAAU,CAAA,IAAA;AAAA,UACtB,KAAK,UAAW,EAAA;AAAA,SACjB,EAAA,EAJc,KAAK,EAKpB,CAAA,CAAA;AAAA,OAED,CAAA;AAAA,KAAA;AAAA,IAXI,GAAI,CAAA,EAAA;AAAA,GAYV,CAAA;AAEF,CAAA;AAEO,MAAM,QAAW,GAAA","file":"DataRow.js","sourcesContent":["import { flexRender, type Row } from \"@tanstack/react-table\";\nimport type {\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { DataTableRow } from \"@dhis2/ui\";\nimport styles from \"../ScorecardTable.module.css\";\nimport { ExpandedScorecardTable } from \"./ExpandedScorecardTable\";\nimport { Fragment, useMemo, useTransition } from \"react\";\n\nfunction TableRowComponent({ row }: { row: Row<ScorecardTableData> }) {\n\tconst [isPending, startTransition] = useTransition();\n\tconst orgUnit = useMemo(() => {\n\t\tconst dataCell = row.getVisibleCells().find((cell) => {\n\t\t\tconst data = cell.getValue() as ScorecardTableCellConfig;\n\t\t\treturn !!data?.orgUnit;\n\t\t});\n\t\treturn (dataCell?.getValue() as ScorecardTableCellConfig)?.orgUnit;\n\t}, [row]);\n\tconst canExpand = useMemo(() => {\n\t\treturn row.getCanExpand();\n\t}, [row]);\n\n\tconst expanded = row.getIsExpanded();\n\n\treturn (\n\t\t<DataTableRow\n\t\t\tclassName={styles.expandCell}\n\t\t\tonExpandToggle={\n\t\t\t\tcanExpand\n\t\t\t\t\t? ({ expanded }) => {\n\t\t\t\t\t\t\tstartTransition(() => {\n\t\t\t\t\t\t\t\trow.toggleExpanded(expanded);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\texpandableContent={\n\t\t\t\tcanExpand ? (\n\t\t\t\t\t<ExpandedScorecardTable\n\t\t\t\t\t\tpending={isPending}\n\t\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\t/>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\texpanded={expanded}\n\t\t\tkey={row.id}\n\t\t>\n\t\t\t{row.getVisibleCells().map((cell) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment key={cell.id}>\n\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\tcell.column.columnDef.cell,\n\t\t\t\t\t\t\tcell.getContext(),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t})}\n\t\t</DataTableRow>\n\t);\n}\n\nexport const TableRow = TableRowComponent;\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataRow.tsx"],"names":["expanded"],"mappings":";;;;;;;AAUA,SAAS,iBAAA,CAAkB,EAAE,GAAA,EAAyC,EAAA;AACrE,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAI,aAAc,EAAA;AACnD,EAAM,MAAA,OAAA,GAAU,QAAQ,MAAM;AAC7B,IAAA,MAAM,WAAW,GAAI,CAAA,eAAA,EAAkB,CAAA,IAAA,CAAK,CAAC,IAAS,KAAA;AACrD,MAAM,MAAA,IAAA,GAAO,KAAK,QAAS,EAAA;AAC3B,MAAO,OAAA,CAAC,CAAC,IAAM,EAAA,OAAA;AAAA,KACf,CAAA;AACD,IAAQ,OAAA,QAAA,EAAU,UAAyC,EAAA,OAAA;AAAA,GAC5D,EAAG,CAAC,GAAG,CAAC,CAAA;AACR,EAAM,MAAA,SAAA,GAAY,QAAQ,MAAM;AAC/B,IAAA,OAAO,IAAI,YAAa,EAAA;AAAA,GACzB,EAAG,CAAC,GAAG,CAAC,CAAA;AAER,EAAM,MAAA,QAAA,GAAW,IAAI,aAAc,EAAA;AAEnC,EACC,uBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACA,WAAW,MAAO,CAAA,UAAA;AAAA,MAClB,gBACC,SACG,GAAA,CAAC,EAAE,QAAA,EAAAA,WAAe,KAAA;AAClB,QAAA,eAAA,CAAgB,MAAM;AACrB,UAAA,GAAA,CAAI,eAAeA,SAAQ,CAAA;AAAA,SAC3B,CAAA;AAAA,OAED,GAAA,MAAA;AAAA,MAEJ,mBACC,SACC,mBAAA,GAAA;AAAA,QAAC,sBAAA;AAAA,QAAA;AAAA,UACA,OAAS,EAAA,SAAA;AAAA,UACT;AAAA;AAAA,OAEE,GAAA,MAAA;AAAA,MAEL,QAAA;AAAA,MAGC,QAAI,EAAA,GAAA,CAAA,eAAA,EAAkB,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA;AACpC,QAAA,2BACE,QACC,EAAA,EAAA,QAAA,EAAA,UAAA;AAAA,UACA,IAAA,CAAK,OAAO,SAAU,CAAA,IAAA;AAAA,UACtB,KAAK,UAAW;AAAA,SACjB,EAAA,EAJc,KAAK,EAKpB,CAAA;AAAA,OAED;AAAA,KAAA;AAAA,IAXI,GAAI,CAAA;AAAA,GAYV;AAEF;AAEO,MAAM,QAAW,GAAA","file":"DataRow.js","sourcesContent":["import { flexRender, type Row } from \"@tanstack/react-table\";\nimport type {\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../../../schemas/config\";\nimport { DataTableRow } from \"@dhis2/ui\";\nimport styles from \"../ScorecardTable.module.css\";\nimport { ExpandedScorecardTable } from \"./ExpandedScorecardTable\";\nimport { Fragment, useMemo, useTransition } from \"react\";\n\nfunction TableRowComponent({ row }: { row: Row<ScorecardTableData> }) {\n\tconst [isPending, startTransition] = useTransition();\n\tconst orgUnit = useMemo(() => {\n\t\tconst dataCell = row.getVisibleCells().find((cell) => {\n\t\t\tconst data = cell.getValue() as ScorecardTableCellConfig;\n\t\t\treturn !!data?.orgUnit;\n\t\t});\n\t\treturn (dataCell?.getValue() as ScorecardTableCellConfig)?.orgUnit;\n\t}, [row]);\n\tconst canExpand = useMemo(() => {\n\t\treturn row.getCanExpand();\n\t}, [row]);\n\n\tconst expanded = row.getIsExpanded();\n\n\treturn (\n\t\t<DataTableRow\n\t\t\tclassName={styles.expandCell}\n\t\t\tonExpandToggle={\n\t\t\t\tcanExpand\n\t\t\t\t\t? ({ expanded }) => {\n\t\t\t\t\t\t\tstartTransition(() => {\n\t\t\t\t\t\t\t\trow.toggleExpanded(expanded);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\texpandableContent={\n\t\t\t\tcanExpand ? (\n\t\t\t\t\t<ExpandedScorecardTable\n\t\t\t\t\t\tpending={isPending}\n\t\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\t/>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\texpanded={expanded}\n\t\t\tkey={row.id}\n\t\t>\n\t\t\t{row.getVisibleCells().map((cell) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Fragment key={cell.id}>\n\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\tcell.column.columnDef.cell,\n\t\t\t\t\t\t\tcell.getContext(),\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Fragment>\n\t\t\t\t);\n\t\t\t})}\n\t\t</DataTableRow>\n\t);\n}\n\nexport const TableRow = TableRowComponent;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":["DataValue"],"mappings":";;;;;AAKa,MAAA,SAAA,GAAY,IAAK,CAAA,SAASA,UAAU,CAAA;AAAA,EAChD,UAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AACD,CAIG,EAAA;AACF,EAAA,MAAM,aAAa,8BAAwC,CAAA;AAAA,IAC1D,SAAA;AAAA,IACA,QAAA;AAAA,GACA,CAAA,CAAA;AACD,EAAM,MAAA,YAAA,GAAe,WAAW,IAAK,CAAA,OAAA,CAAA;AACrC,EAAM,MAAA,aAAA,GAAgB,WAAW,IAAK,CAAA,QAAA,CAAA;AACtC,EAAM,MAAA,SAAA,GAAqD,QAAQ,MAAM;AACxE,IAAA,IAAI,CAAC,UAAY,EAAA;AAChB,MAAA,OAAA;AAAA,KACD;AAEA,IAAI,IAAA,CAAC,aAAiB,IAAA,CAAC,YAAc,EAAA;AACpC,MAAA,OAAA;AAAA,KACD;AAEA,IAAA,MAAM,eAAe,UAAW,CAAA,YAAA,CAAA;AAChC,IAAA,MAAM,GAAM,GAAA,IAAA,CAAK,GAAI,CAAA,aAAA,GAAgB,YAAY,CAAA,CAAA;AACjD,IAAA,IAAI,MAAM,YAAc,EAAA;AACvB,MAAA,OAAA;AAAA,KACD;AAEA,IAAA,IAAI,kBAAkB,YAAc,EAAA;AACnC,MAAA,OAAA;AAAA,KACD;AAEA,IAAO,OAAA,YAAA,GAAe,gBAAgB,YAAe,GAAA,YAAA,CAAA;AAAA,KACnD,CAAC,YAAA,EAAc,UAAW,CAAA,YAAA,EAAc,UAAU,CAAC,CAAA,CAAA;AAEtD,EAAA,IAAI,KAAO,EAAA;AACV,IAAI,IAAA,KAAA,CAAM,KAAe,CAAG,EAAA;AAC3B,MAAO,OAAA,EAAA,CAAA;AAAA,KACR;AACA,IACC,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,UAChB,GAAK,EAAA,CAAA;AAAA,SACN;AAAA,QAEC,iCACC,GAAA,CAAA,GAAA,EAAA,EAAG,QAAO,EAAA,KAAA,EAAA,OAAA,CAAQ,CAAC,CAAE,CAAA,QAAA,EAAc,IAAA,EAAA,EAAG,IAEvC,KAAO,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,UAAc,IAAA,EAAA;AAAA,OAAA;AAAA,KAElC,CAAA;AAAA,GAEF;AAEA,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,OAAS,EAAA,MAAA;AAAA,QACT,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA,QAAA;AAAA,QAChB,GAAK,EAAA,CAAA;AAAA,OACN;AAAA,MAEC,QAAA,EAAA;AAAA,QAAc,SAAA,KAAA,YAAA,wBAAiB,eAAgB,EAAA,EAAA,CAAA;AAAA,QAC/C,SAAA,KAAc,YAAgB,oBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,CAAA;AAAA,QAC7C,YAAc,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,UAAc,IAAA,EAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GACzC,CAAA;AAEF,CAAC","file":"DataValue.js","sourcesContent":["import { IconArrowDown16, IconArrowUp16 } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\nimport type { ScorecardCellData } from \"../../../schemas/config\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nexport const DataValue = memo(function DataValue({\n\tdataSource,\n\tvalue,\n\tbold,\n}: {\n\tdataSource: ScorecardCellData;\n\tvalue?: number;\n\tbold?: boolean;\n}) {\n\tconst showArrows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"arrows\",\n\t]);\n\tconst currentValue = dataSource.data.current;\n\tconst previousValue = dataSource.data.previous;\n\tconst showArrow: \"decreasing\" | \"increasing\" | undefined = useMemo(() => {\n\t\tif (!showArrows) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!previousValue || !currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst effectiveGap = dataSource.effectiveGap;\n\t\tconst gap = Math.abs(previousValue - currentValue);\n\t\tif (gap < effectiveGap) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousValue === currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn currentValue > previousValue ? \"increasing\" : \"decreasing\";\n\t}, [currentValue, dataSource.effectiveGap, showArrows]);\n\n\tif (value) {\n\t\tif (isNaN(value as number)) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\tgap: 4,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{bold ? (\n\t\t\t\t\t<b>{value?.toFixed(2).toString() ?? \"\"}</b>\n\t\t\t\t) : (\n\t\t\t\t\tvalue?.toFixed(2).toString() ?? \"\"\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 2,\n\t\t\t}}\n\t\t>\n\t\t\t{showArrow === \"decreasing\" && <IconArrowDown16 />}\n\t\t\t{showArrow === \"increasing\" && <IconArrowUp16 />}\n\t\t\t{currentValue?.toFixed(2).toString() ?? \"\"}\n\t\t</div>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DataValue.tsx"],"names":["DataValue"],"mappings":";;;;;AAKa,MAAA,SAAA,GAAY,IAAK,CAAA,SAASA,UAAU,CAAA;AAAA,EAChD,UAAA;AAAA,EACA,KAAA;AAAA,EACA;AACD,CAIG,EAAA;AACF,EAAA,MAAM,aAAa,8BAAwC,CAAA;AAAA,IAC1D,SAAA;AAAA,IACA;AAAA,GACA,CAAA;AACD,EAAM,MAAA,YAAA,GAAe,WAAW,IAAK,CAAA,OAAA;AACrC,EAAM,MAAA,aAAA,GAAgB,WAAW,IAAK,CAAA,QAAA;AACtC,EAAM,MAAA,SAAA,GAAqD,QAAQ,MAAM;AACxE,IAAA,IAAI,CAAC,UAAY,EAAA;AAChB,MAAA;AAAA;AAGD,IAAI,IAAA,CAAC,aAAiB,IAAA,CAAC,YAAc,EAAA;AACpC,MAAA;AAAA;AAGD,IAAA,MAAM,eAAe,UAAW,CAAA,YAAA;AAChC,IAAA,MAAM,GAAM,GAAA,IAAA,CAAK,GAAI,CAAA,aAAA,GAAgB,YAAY,CAAA;AACjD,IAAA,IAAI,MAAM,YAAc,EAAA;AACvB,MAAA;AAAA;AAGD,IAAA,IAAI,kBAAkB,YAAc,EAAA;AACnC,MAAA;AAAA;AAGD,IAAO,OAAA,YAAA,GAAe,gBAAgB,YAAe,GAAA,YAAA;AAAA,KACnD,CAAC,YAAA,EAAc,UAAW,CAAA,YAAA,EAAc,UAAU,CAAC,CAAA;AAEtD,EAAA,IAAI,KAAO,EAAA;AACV,IAAI,IAAA,KAAA,CAAM,KAAe,CAAG,EAAA;AAC3B,MAAO,OAAA,EAAA;AAAA;AAER,IACC,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,UAChB,GAAK,EAAA;AAAA,SACN;AAAA,QAEC,iCACC,GAAA,CAAA,GAAA,EAAA,EAAG,QAAO,EAAA,KAAA,EAAA,OAAA,CAAQ,CAAC,CAAE,CAAA,QAAA,EAAc,IAAA,EAAA,EAAG,IAEvC,KAAO,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,UAAc,IAAA;AAAA;AAAA,KAElC;AAAA;AAIF,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,OAAS,EAAA,MAAA;AAAA,QACT,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA,QAAA;AAAA,QAChB,GAAK,EAAA;AAAA,OACN;AAAA,MAEC,QAAA,EAAA;AAAA,QAAc,SAAA,KAAA,YAAA,wBAAiB,eAAgB,EAAA,EAAA,CAAA;AAAA,QAC/C,SAAA,KAAc,YAAgB,oBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,CAAA;AAAA,QAC7C,YAAc,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAE,UAAc,IAAA;AAAA;AAAA;AAAA,GACzC;AAEF,CAAC","file":"DataValue.js","sourcesContent":["import { IconArrowDown16, IconArrowUp16 } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\nimport type { ScorecardCellData } from \"../../../schemas/config\";\nimport { useScorecardStateSelectorValue } from \"../../../state\";\n\nexport const DataValue = memo(function DataValue({\n\tdataSource,\n\tvalue,\n\tbold,\n}: {\n\tdataSource: ScorecardCellData;\n\tvalue?: number;\n\tbold?: boolean;\n}) {\n\tconst showArrows = useScorecardStateSelectorValue<boolean>([\n\t\t\"options\",\n\t\t\"arrows\",\n\t]);\n\tconst currentValue = dataSource.data.current;\n\tconst previousValue = dataSource.data.previous;\n\tconst showArrow: \"decreasing\" | \"increasing\" | undefined = useMemo(() => {\n\t\tif (!showArrows) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!previousValue || !currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst effectiveGap = dataSource.effectiveGap;\n\t\tconst gap = Math.abs(previousValue - currentValue);\n\t\tif (gap < effectiveGap) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (previousValue === currentValue) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn currentValue > previousValue ? \"increasing\" : \"decreasing\";\n\t}, [currentValue, dataSource.effectiveGap, showArrows]);\n\n\tif (value) {\n\t\tif (isNaN(value as number)) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\tgap: 4,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{bold ? (\n\t\t\t\t\t<b>{value?.toFixed(2).toString() ?? \"\"}</b>\n\t\t\t\t) : (\n\t\t\t\t\tvalue?.toFixed(2).toString() ?? \"\"\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 2,\n\t\t\t}}\n\t\t>\n\t\t\t{showArrow === \"decreasing\" && <IconArrowDown16 />}\n\t\t\t{showArrow === \"increasing\" && <IconArrowUp16 />}\n\t\t\t{currentValue?.toFixed(2).toString() ?? \"\"}\n\t\t</div>\n\t);\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DraggableCell.tsx"],"names":[],"mappings":";;;;AAKO,SAAS,aAAc,CAAA;AAAA,EAC7B,QAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAG,KAAA;AACJ,CAKG,EAAA;AACF,EAAA,MAAM,CAAC,SAAW,EAAA,IAAA,EAAM,WAAW,CAAA,GAAI,QAAQ,MAAM;AACpD,IAAO,OAAA;AAAA,MACN,IAAA;AAAA,MACA,IAAM,EAAA;AAAA,QACL,EAAA;AAAA,OACD;AAAA,MACA,OAAA,EAAS,CAAC,OAAY,KAAA;AACrB,QAAO,OAAA;AAAA,UACN,UAAA,EAAY,QAAQ,UAAW,EAAA;AAAA,SAChC,CAAA;AAAA,OACD;AAAA,KACD,CAAA;AAAA,GACA,CAAA,CAAA;AAED,EAAA,IAAI,UAAU,UAAY,EAAA;AACzB,IACC,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,GAAK,EAAA,WAAA;AAAA,QACL,KAAO,EAAA;AAAA,UACN,iBAAiB,MAAO,CAAA,OAAA;AAAA,UACxB,OAAS,EAAA,GAAA;AAAA,UACT,MAAQ,EAAA,MAAA;AAAA,SACT;AAAA,QAEC,QAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAEF;AAEA,EACC,uBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,KAAA,EAAO,EAAE,MAAA,EAAQ,MAAO,EAAA,EAAG,EAAI,EAAA,IAAA,EAAM,GAAK,EAAA,IAAA,EAC7C,QACF,EAAA,CAAA,CAAA;AAEF","file":"DraggableCell.js","sourcesContent":["import { colors } from \"@dhis2/ui\";\nimport React from \"react\";\nimport type { ScorecardDraggableItems } from \"../../../schemas/config\";\nimport { useDrag } from \"react-dnd\";\n\nexport function DraggableCell({\n\tchildren,\n\ttype,\n\tstyle,\n\tid,\n\t...props\n}: {\n\tchildren: React.ReactNode;\n\ttype: ScorecardDraggableItems;\n\tid: string;\n\tstyle?: React.CSSProperties;\n}) {\n\tconst [collected, drag, dragPreview] = useDrag(() => {\n\t\treturn {\n\t\t\ttype,\n\t\t\titem: {\n\t\t\t\tid,\n\t\t\t},\n\t\t\tcollect: (monitor) => {\n\t\t\t\treturn {\n\t\t\t\t\tisDragging: monitor.isDragging(),\n\t\t\t\t};\n\t\t\t},\n\t\t};\n\t});\n\n\tif (collected.isDragging) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={dragPreview}\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: colors.grey400,\n\t\t\t\t\topacity: 0.5,\n\t\t\t\t\tcursor: \"move\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div style={{ cursor: \"move\" }} id={type} ref={drag}>\n\t\t\t{children}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DraggableCell.tsx"],"names":[],"mappings":";;;;AAKO,SAAS,aAAc,CAAA;AAAA,EAC7B,QAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAG;AACJ,CAKG,EAAA;AACF,EAAA,MAAM,CAAC,SAAW,EAAA,IAAA,EAAM,WAAW,CAAA,GAAI,QAAQ,MAAM;AACpD,IAAO,OAAA;AAAA,MACN,IAAA;AAAA,MACA,IAAM,EAAA;AAAA,QACL;AAAA,OACD;AAAA,MACA,OAAA,EAAS,CAAC,OAAY,KAAA;AACrB,QAAO,OAAA;AAAA,UACN,UAAA,EAAY,QAAQ,UAAW;AAAA,SAChC;AAAA;AACD,KACD;AAAA,GACA,CAAA;AAED,EAAA,IAAI,UAAU,UAAY,EAAA;AACzB,IACC,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,GAAK,EAAA,WAAA;AAAA,QACL,KAAO,EAAA;AAAA,UACN,iBAAiB,MAAO,CAAA,OAAA;AAAA,UACxB,OAAS,EAAA,GAAA;AAAA,UACT,MAAQ,EAAA;AAAA,SACT;AAAA,QAEC;AAAA;AAAA,KACF;AAAA;AAIF,EACC,uBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,KAAA,EAAO,EAAE,MAAA,EAAQ,MAAO,EAAA,EAAG,EAAI,EAAA,IAAA,EAAM,GAAK,EAAA,IAAA,EAC7C,QACF,EAAA,CAAA;AAEF","file":"DraggableCell.js","sourcesContent":["import { colors } from \"@dhis2/ui\";\nimport React from \"react\";\nimport type { ScorecardDraggableItems } from \"../../../schemas/config\";\nimport { useDrag } from \"react-dnd\";\n\nexport function DraggableCell({\n\tchildren,\n\ttype,\n\tstyle,\n\tid,\n\t...props\n}: {\n\tchildren: React.ReactNode;\n\ttype: ScorecardDraggableItems;\n\tid: string;\n\tstyle?: React.CSSProperties;\n}) {\n\tconst [collected, drag, dragPreview] = useDrag(() => {\n\t\treturn {\n\t\t\ttype,\n\t\t\titem: {\n\t\t\t\tid,\n\t\t\t},\n\t\t\tcollect: (monitor) => {\n\t\t\t\treturn {\n\t\t\t\t\tisDragging: monitor.isDragging(),\n\t\t\t\t};\n\t\t\t},\n\t\t};\n\t});\n\n\tif (collected.isDragging) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={dragPreview}\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: colors.grey400,\n\t\t\t\t\topacity: 0.5,\n\t\t\t\t\tcursor: \"move\",\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div style={{ cursor: \"move\" }} id={type} ref={drag}>\n\t\t\t{children}\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DroppableCell.tsx"],"names":[],"mappings":";;;;AAKe,SAAR,aAA+B,CAAA;AAAA,EACrC,MAAA;AAAA,EACA,QAAA;AACD,CAGG,EAAA;AACF,EAAA,MAAM,CAAC,cAAA,EAAgB,IAAI,CAAA,GAAI,QAAQ,MAAM;AAC5C,IAAO,OAAA;AAAA,MACN,MAAA;AAAA,MACA,OAAA,EAAS,CAAC,OAAY,KAAA;AACrB,QAAI,IAAA,OAAA,CAAQ,SAAW,EAAA;AACtB,UAAO,OAAA;AAAA,YACN,KAAO,EAAA;AAAA,cACN,MAAA,EAAQ,CAAc,WAAA,EAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,cACpC,UAAA,EAAY,CAAG,EAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,cAC7B,KAAO,EAAA,MAAA;AAAA,aACR;AAAA,WACD,CAAA;AAAA,SACM,MAAA;AACN,UAAO,OAAA;AAAA,YACN,KAAO,EAAA;AAAA,cACN,KAAO,EAAA,MAAA;AAAA,cACP,MAAQ,EAAA,CAAA,qBAAA,CAAA;AAAA,aACT;AAAA,WACD,CAAA;AAAA,SACD;AAAA,OACD;AAAA,MACA,IAAA,EAAM,CAAC,OAA4B,KAAA;AAClC,QAAO,OAAA,OAAA,CAAA;AAAA,OACR;AAAA,KACD,CAAA;AAAA,GACA,CAAA,CAAA;AAED,EACC,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,GAAK,EAAA,IAAA;AAAA,MACL,SAAU,EAAA,kCAAA;AAAA,MACT,GAAG,cAAA;AAAA,MAEH,QAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEF","file":"DroppableCell.js","sourcesContent":["import { colors } from \"@dhis2/ui\";\nimport React from \"react\";\nimport type { ScorecardDraggableItems } from \"../../../schemas/config\";\nimport { useDrop } from \"react-dnd\";\n\nexport default function DroppableCell({\n\taccept,\n\tchildren,\n}: {\n\taccept: ScorecardDraggableItems[];\n\tchildren: React.ReactNode;\n}) {\n\tconst [collectedProps, drop] = useDrop(() => {\n\t\treturn {\n\t\t\taccept,\n\t\t\tcollect: (monitor) => {\n\t\t\t\tif (monitor.canDrop()) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tborder: `2px dashed ${colors.grey700}`,\n\t\t\t\t\t\t\tbackground: `${colors.grey100}`,\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\tborder: `2px solid transparent`,\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\tdrop: (results: { id: string }) => {\n\t\t\t\treturn results;\n\t\t\t},\n\t\t};\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tref={drop}\n\t\t\tclassName=\"column center align-items-center\"\n\t\t\t{...collectedProps}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/DroppableCell.tsx"],"names":[],"mappings":";;;;AAKe,SAAR,aAA+B,CAAA;AAAA,EACrC,MAAA;AAAA,EACA;AACD,CAGG,EAAA;AACF,EAAA,MAAM,CAAC,cAAA,EAAgB,IAAI,CAAA,GAAI,QAAQ,MAAM;AAC5C,IAAO,OAAA;AAAA,MACN,MAAA;AAAA,MACA,OAAA,EAAS,CAAC,OAAY,KAAA;AACrB,QAAI,IAAA,OAAA,CAAQ,SAAW,EAAA;AACtB,UAAO,OAAA;AAAA,YACN,KAAO,EAAA;AAAA,cACN,MAAA,EAAQ,CAAc,WAAA,EAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,cACpC,UAAA,EAAY,CAAG,EAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,cAC7B,KAAO,EAAA;AAAA;AACR,WACD;AAAA,SACM,MAAA;AACN,UAAO,OAAA;AAAA,YACN,KAAO,EAAA;AAAA,cACN,KAAO,EAAA,MAAA;AAAA,cACP,MAAQ,EAAA,CAAA,qBAAA;AAAA;AACT,WACD;AAAA;AACD,OACD;AAAA,MACA,IAAA,EAAM,CAAC,OAA4B,KAAA;AAClC,QAAO,OAAA,OAAA;AAAA;AACR,KACD;AAAA,GACA,CAAA;AAED,EACC,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,GAAK,EAAA,IAAA;AAAA,MACL,SAAU,EAAA,kCAAA;AAAA,MACT,GAAG,cAAA;AAAA,MAEH;AAAA;AAAA,GACF;AAEF","file":"DroppableCell.js","sourcesContent":["import { colors } from \"@dhis2/ui\";\nimport React from \"react\";\nimport type { ScorecardDraggableItems } from \"../../../schemas/config\";\nimport { useDrop } from \"react-dnd\";\n\nexport default function DroppableCell({\n\taccept,\n\tchildren,\n}: {\n\taccept: ScorecardDraggableItems[];\n\tchildren: React.ReactNode;\n}) {\n\tconst [collectedProps, drop] = useDrop(() => {\n\t\treturn {\n\t\t\taccept,\n\t\t\tcollect: (monitor) => {\n\t\t\t\tif (monitor.canDrop()) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tborder: `2px dashed ${colors.grey700}`,\n\t\t\t\t\t\t\tbackground: `${colors.grey100}`,\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\tborder: `2px solid transparent`,\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\tdrop: (results: { id: string }) => {\n\t\t\t\treturn results;\n\t\t\t},\n\t\t};\n\t});\n\n\treturn (\n\t\t<div\n\t\t\tref={drop}\n\t\t\tclassName=\"column center align-items-center\"\n\t\t\t{...collectedProps}\n\t\t>\n\t\t\t{children}\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/EmptyFooterCell.tsx"],"names":[],"mappings":";;;AAIO,SAAS,gBACf,KACC,EAAA;AACD,EAAO,uBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA,CAAA;AAChC","file":"EmptyFooterCell.js","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../schemas/config\";\n\nexport function EmptyFooterCell(\n\tprops: HeaderContext<ScorecardTableData, unknown>,\n) {\n\treturn <DataTableCell bordered />;\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/EmptyFooterCell.tsx"],"names":[],"mappings":";;;AAIO,SAAS,gBACf,KACC,EAAA;AACD,EAAO,uBAAA,GAAA,CAAC,aAAc,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA;AAChC","file":"EmptyFooterCell.js","sourcesContent":["import { DataTableCell } from \"@dhis2/ui\";\nimport type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../schemas/config\";\n\nexport function EmptyFooterCell(\n\tprops: HeaderContext<ScorecardTableData, unknown>,\n) {\n\treturn <DataTableCell bordered />;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/ExpandedScorecardTable.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAaO,SAAS,sBAAuB,CAAA;AAAA,EACtC,OAAA;AAAA,EACA,OAAA;AACD,CAGG,EAAA;AACF,EAAA,MAAM,SAAS,kBAAmB,EAAA,CAAA;AAClC,EAAA,MAAM,QAAQ,sBAAuB,EAAA,CAAA;AAErC,EAAM,MAAA,gBAAA,GAAqC,QAAQ,MAAM;AACxD,IAAA,MAAM,YAAY,OAAQ,CAAA,GAAA,CAAA;AAC1B,IAAM,MAAA,KAAA,GAAQ,eAAgB,CAAA,OAAO,CAAI,GAAA,CAAA,CAAA;AAEzC,IAAO,OAAA;AAAA,MACN,QAAU,EAAA;AAAA,QACT;AAAA,UACC,EAAI,EAAA,SAAA;AAAA,SACL;AAAA,OACD;AAAA,MACA,MAAQ,EAAA,CAAC,KAAM,CAAA,QAAA,EAAU,CAAA;AAAA,MACzB,QAAQ,EAAC;AAAA,KACV,CAAA;AAAA,GACD,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAEZ,EAAA,IAAI,CAAC,MAAQ,EAAA;AACZ,IAAO,OAAA,IAAA,CAAA;AAAA,GACR;AAEA,EACC,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,MAAQ,EAAA,MAAA;AAAA,QACR,KAAO,EAAA,MAAA;AAAA,QACP,SAAW,EAAA,GAAA;AAAA,QACX,OAAS,EAAA,EAAA;AAAA,OACV;AAAA,MAEC,QACA,EAAA,OAAA,mBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACA,KAAO,EAAA;AAAA,YACN,MAAQ,EAAA,MAAA;AAAA,YACR,KAAO,EAAA,MAAA;AAAA,YACP,SAAW,EAAA,GAAA;AAAA,YACX,OAAS,EAAA,EAAA;AAAA,WACV;AAAA,UAEA,QAAA,kBAAA,GAAA,CAAC,cAAe,EAAA,EAAA,KAAA,EAAK,IAAC,EAAA,CAAA;AAAA,SAAA;AAAA,OAGvB,mBAAA,GAAA;AAAA,QAAC,sBAAA;AAAA,QAAA;AAAA,UACA,MAAQ,EAAA;AAAA,YACP,GAAG,MAAA;AAAA,YACH,gBAAA;AAAA,WACD;AAAA,UACA,cAAc,EAAA,IAAA;AAAA,UACd,YACC,EAAA;AAAA,YACC,GAAG,KAAA;AAAA,YACH,gBAAA;AAAA,WACD;AAAA,UAGD,QAAA,kBAAA,GAAA;AAAA,YAAC,gBAAA;AAAA,YAAA;AAAA,cAEA,MAAQ,EAAA;AAAA,gBACP,GAAG,MAAA;AAAA,gBACH,gBAAA;AAAA,eACD;AAAA,cAEA,QAAA,kBAAA,GAAA,CAAC,qBACA,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,kBACA,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,gBAAC,cAAA;AAAA,gBAAA;AAAA,kBACA,YAAa,EAAA,MAAA;AAAA,kBACb,WAAY,EAAA,MAAA;AAAA,kBACZ,KAAM,EAAA,MAAA;AAAA,iBAAA;AAAA,iBAER,CACD,EAAA,CAAA;AAAA,aAAA;AAAA,YAdK,CAAA,EAAG,QAAQ,GAAG,CAAA,SAAA,CAAA;AAAA,WAepB;AAAA,SAAA;AAAA,OACD;AAAA,KAAA;AAAA,GAEF,CAAA;AAEF","file":"ExpandedScorecardTable.js","sourcesContent":["import { useScorecardConfig } from \"../../ConfigProvider\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useMemo } from \"react\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { OrgUnitSelection, ScorecardState } from \"../../../schemas/config\";\nimport { ScorecardContext } from \"../../ScorecardContext\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport { useScorecardStateValue } from \"../../../state\";\nimport { TableStateProvider } from \"../../TableStateProvider\";\nimport { ScorecardTable } from \"../ScorecardTable\";\nimport { ScorecardDataProvider } from \"../../DataProvider\";\nimport { ScorecardStateProvider } from \"../../StateProvider\";\n\nexport function ExpandedScorecardTable({\n\torgUnit,\n\tpending,\n}: {\n\torgUnit: ItemMeta & { hierarchy: string };\n\tpending: boolean;\n}) {\n\tconst config = useScorecardConfig();\n\tconst state = useScorecardStateValue();\n\n\tconst orgUnitSelection: OrgUnitSelection = useMemo(() => {\n\t\tconst orgUnitId = orgUnit.uid;\n\t\tconst level = getOrgUnitLevel(orgUnit) + 1;\n\n\t\treturn {\n\t\t\torgUnits: [\n\t\t\t\t{\n\t\t\t\t\tid: orgUnitId,\n\t\t\t\t},\n\t\t\t],\n\t\t\tlevels: [level.toString()],\n\t\t\tgroups: [],\n\t\t};\n\t}, [orgUnit]);\n\n\tif (!config) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\theight: \"100%\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\tminHeight: 500,\n\t\t\t\tpadding: 32,\n\t\t\t}}\n\t\t>\n\t\t\t{pending ? (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tminHeight: 500,\n\t\t\t\t\t\tpadding: 32,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CircularLoader small />\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<ScorecardStateProvider\n\t\t\t\t\tconfig={{\n\t\t\t\t\t\t...config,\n\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t}}\n\t\t\t\t\twithRecoilRoot\n\t\t\t\t\tinitialState={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\t} as ScorecardState\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ScorecardContext\n\t\t\t\t\t\tkey={`${orgUnit.uid}-expanded`}\n\t\t\t\t\t\tconfig={{\n\t\t\t\t\t\t\t...config,\n\t\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ScorecardDataProvider>\n\t\t\t\t\t\t\t<TableStateProvider>\n\t\t\t\t\t\t\t\t<ScorecardTable\n\t\t\t\t\t\t\t\t\tscrollHeight=\"100%\"\n\t\t\t\t\t\t\t\t\tscrollWidth=\"100%\"\n\t\t\t\t\t\t\t\t\twidth=\"auto\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</TableStateProvider>\n\t\t\t\t\t\t</ScorecardDataProvider>\n\t\t\t\t\t</ScorecardContext>\n\t\t\t\t</ScorecardStateProvider>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/ExpandedScorecardTable.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAaO,SAAS,sBAAuB,CAAA;AAAA,EACtC,OAAA;AAAA,EACA;AACD,CAGG,EAAA;AACF,EAAA,MAAM,SAAS,kBAAmB,EAAA;AAClC,EAAA,MAAM,QAAQ,sBAAuB,EAAA;AAErC,EAAM,MAAA,gBAAA,GAAqC,QAAQ,MAAM;AACxD,IAAA,MAAM,YAAY,OAAQ,CAAA,GAAA;AAC1B,IAAM,MAAA,KAAA,GAAQ,eAAgB,CAAA,OAAO,CAAI,GAAA,CAAA;AAEzC,IAAO,OAAA;AAAA,MACN,QAAU,EAAA;AAAA,QACT;AAAA,UACC,EAAI,EAAA;AAAA;AACL,OACD;AAAA,MACA,MAAQ,EAAA,CAAC,KAAM,CAAA,QAAA,EAAU,CAAA;AAAA,MACzB,QAAQ;AAAC,KACV;AAAA,GACD,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,IAAI,CAAC,MAAQ,EAAA;AACZ,IAAO,OAAA,IAAA;AAAA;AAGR,EACC,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,MAAQ,EAAA,MAAA;AAAA,QACR,KAAO,EAAA,MAAA;AAAA,QACP,SAAW,EAAA,GAAA;AAAA,QACX,OAAS,EAAA;AAAA,OACV;AAAA,MAEC,QACA,EAAA,OAAA,mBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACA,KAAO,EAAA;AAAA,YACN,MAAQ,EAAA,MAAA;AAAA,YACR,KAAO,EAAA,MAAA;AAAA,YACP,SAAW,EAAA,GAAA;AAAA,YACX,OAAS,EAAA;AAAA,WACV;AAAA,UAEA,QAAA,kBAAA,GAAA,CAAC,cAAe,EAAA,EAAA,KAAA,EAAK,IAAC,EAAA;AAAA;AAAA,OAGvB,mBAAA,GAAA;AAAA,QAAC,sBAAA;AAAA,QAAA;AAAA,UACA,MAAQ,EAAA;AAAA,YACP,GAAG,MAAA;AAAA,YACH;AAAA,WACD;AAAA,UACA,cAAc,EAAA,IAAA;AAAA,UACd,YACC,EAAA;AAAA,YACC,GAAG,KAAA;AAAA,YACH;AAAA,WACD;AAAA,UAGD,QAAA,kBAAA,GAAA;AAAA,YAAC,gBAAA;AAAA,YAAA;AAAA,cAEA,MAAQ,EAAA;AAAA,gBACP,GAAG,MAAA;AAAA,gBACH;AAAA,eACD;AAAA,cAEA,QAAA,kBAAA,GAAA,CAAC,qBACA,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,kBACA,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,gBAAC,cAAA;AAAA,gBAAA;AAAA,kBACA,YAAa,EAAA,MAAA;AAAA,kBACb,WAAY,EAAA,MAAA;AAAA,kBACZ,KAAM,EAAA;AAAA;AAAA,iBAER,CACD,EAAA;AAAA,aAAA;AAAA,YAdK,CAAA,EAAG,QAAQ,GAAG,CAAA,SAAA;AAAA;AAepB;AAAA;AACD;AAAA,GAEF;AAEF","file":"ExpandedScorecardTable.js","sourcesContent":["import { useScorecardConfig } from \"../../ConfigProvider\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { useMemo } from \"react\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { OrgUnitSelection, ScorecardState } from \"../../../schemas/config\";\nimport { ScorecardContext } from \"../../ScorecardContext\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport { useScorecardStateValue } from \"../../../state\";\nimport { TableStateProvider } from \"../../TableStateProvider\";\nimport { ScorecardTable } from \"../ScorecardTable\";\nimport { ScorecardDataProvider } from \"../../DataProvider\";\nimport { ScorecardStateProvider } from \"../../StateProvider\";\n\nexport function ExpandedScorecardTable({\n\torgUnit,\n\tpending,\n}: {\n\torgUnit: ItemMeta & { hierarchy: string };\n\tpending: boolean;\n}) {\n\tconst config = useScorecardConfig();\n\tconst state = useScorecardStateValue();\n\n\tconst orgUnitSelection: OrgUnitSelection = useMemo(() => {\n\t\tconst orgUnitId = orgUnit.uid;\n\t\tconst level = getOrgUnitLevel(orgUnit) + 1;\n\n\t\treturn {\n\t\t\torgUnits: [\n\t\t\t\t{\n\t\t\t\t\tid: orgUnitId,\n\t\t\t\t},\n\t\t\t],\n\t\t\tlevels: [level.toString()],\n\t\t\tgroups: [],\n\t\t};\n\t}, [orgUnit]);\n\n\tif (!config) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\theight: \"100%\",\n\t\t\t\twidth: \"100%\",\n\t\t\t\tminHeight: 500,\n\t\t\t\tpadding: 32,\n\t\t\t}}\n\t\t>\n\t\t\t{pending ? (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tminHeight: 500,\n\t\t\t\t\t\tpadding: 32,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<CircularLoader small />\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\t<ScorecardStateProvider\n\t\t\t\t\tconfig={{\n\t\t\t\t\t\t...config,\n\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t}}\n\t\t\t\t\twithRecoilRoot\n\t\t\t\t\tinitialState={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\t} as ScorecardState\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ScorecardContext\n\t\t\t\t\t\tkey={`${orgUnit.uid}-expanded`}\n\t\t\t\t\t\tconfig={{\n\t\t\t\t\t\t\t...config,\n\t\t\t\t\t\t\torgUnitSelection,\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ScorecardDataProvider>\n\t\t\t\t\t\t\t<TableStateProvider>\n\t\t\t\t\t\t\t\t<ScorecardTable\n\t\t\t\t\t\t\t\t\tscrollHeight=\"100%\"\n\t\t\t\t\t\t\t\t\tscrollWidth=\"100%\"\n\t\t\t\t\t\t\t\t\twidth=\"auto\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</TableStateProvider>\n\t\t\t\t\t\t</ScorecardDataProvider>\n\t\t\t\t\t</ScorecardContext>\n\t\t\t\t</ScorecardStateProvider>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { useMemo, useState } from 'react';
3
- import { Popover, Menu, MenuItem, IconVisualizationColumnStacked16, IconDimensionOrgUnit16, IconVisualizationLine24, IconVisualizationColumnStacked24 } from '@dhis2/ui';
3
+ import { Popover, Menu, MenuItem, IconVisualizationColumnStacked16, IconDimensionOrgUnit16, IconVisualizationColumnStacked24, IconVisualizationLine24 } from '@dhis2/ui';
4
4
  import i18n from '@dhis2/d2-i18n';
5
5
  import { useLowestOrgUnitLevel } from '../../../hooks/orgUnit';
6
6
  import { getOrgUnitLevel } from '../../../utils/orgUnits';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/FurtherAnalysisMenu.tsx"],"names":[],"mappings":"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","file":"FurtherAnalysisMenu.js","sourcesContent":["import { useMemo, useState } from \"react\";\nimport {\n\tIconDimensionOrgUnit16,\n\tIconVisualizationColumnStacked16,\n\tIconVisualizationColumnStacked24,\n\tIconVisualizationLine24,\n\tMenu,\n\tMenuItem,\n\tPopover,\n\ttype ReferenceElement,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useLowestOrgUnitLevel } from \"../../../hooks/orgUnit\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { FurtherAnalysisConfig } from \"./FurtherAnalysisModal\";\nimport type { ScorecardDataSource } from \"../../../schemas/config\";\n\nexport function FurtherAnalysisMenu({\n\tstateActionRef,\n\tsetStateActionRef,\n\torgUnit,\n\tonSelect,\n\tperiodId,\n\tdataSources,\n}: {\n\tstateActionRef: ReferenceElement;\n\tsetStateActionRef: (val: undefined) => void;\n\torgUnit: ItemMeta & { hierarchy: string };\n\tonSelect: (config: FurtherAnalysisConfig) => void;\n\tperiodId: string;\n\tdataSources: ScorecardDataSource[];\n}) {\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\tconst orgUnitInLowestLevel = useMemo(() => {\n\t\treturn getOrgUnitLevel(orgUnit) === lowestLevel?.level;\n\t}, [lowestLevel, orgUnit]);\n\tconst [showSubMenu, setShowSubMenu] = useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Popover\n\t\t\t\tonClickOutside={() => setStateActionRef(undefined)}\n\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\treference={stateActionRef}\n\t\t\t>\n\t\t\t\t<Menu>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: periodId,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Further Analysis\")}\n\t\t\t\t\t\ticon={<IconVisualizationColumnStacked16 />}\n\t\t\t\t\t/>\n\t\t\t\t\t{!orgUnitInLowestLevel && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: periodId,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [\n\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t+(\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetOrgUnitLevel(orgUnit) ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t\t) + 1\n\t\t\t\t\t\t\t\t\t\t\t).toString(),\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Lower Organisation Unit Levels\")}\n\t\t\t\t\t\t\ticon={<IconDimensionOrgUnit16 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tshowSubMenu={showSubMenu}\n\t\t\t\t\t\tactive={showSubMenu}\n\t\t\t\t\t\ttoggleSubMenu={() => {\n\t\t\t\t\t\t\tsetShowSubMenu((prevState) => !prevState);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Trend Analysis \")}\n\t\t\t\t\t\ticon={<IconVisualizationLine24 />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_3_MONTHS\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 3 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_6_MONTHS\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 6 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_12_MONTHS\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 12 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_4_QUARTERS\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 4 Quarters\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_5_YEARS\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 5 Years\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</Menu>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/FurtherAnalysisMenu.tsx"],"names":[],"mappings":"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","file":"FurtherAnalysisMenu.js","sourcesContent":["import { useMemo, useState } from \"react\";\nimport {\n\tIconDimensionOrgUnit16,\n\tIconVisualizationColumnStacked16,\n\tIconVisualizationColumnStacked24,\n\tIconVisualizationLine24,\n\tMenu,\n\tMenuItem,\n\tPopover,\n\ttype ReferenceElement,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useLowestOrgUnitLevel } from \"../../../hooks/orgUnit\";\nimport type { ItemMeta } from \"../../../hooks/metadata\";\nimport { getOrgUnitLevel } from \"../../../utils/orgUnits\";\nimport type { FurtherAnalysisConfig } from \"./FurtherAnalysisModal\";\nimport type { ScorecardDataSource } from \"../../../schemas/config\";\n\nexport function FurtherAnalysisMenu({\n\tstateActionRef,\n\tsetStateActionRef,\n\torgUnit,\n\tonSelect,\n\tperiodId,\n\tdataSources,\n}: {\n\tstateActionRef: ReferenceElement;\n\tsetStateActionRef: (val: undefined) => void;\n\torgUnit: ItemMeta & { hierarchy: string };\n\tonSelect: (config: FurtherAnalysisConfig) => void;\n\tperiodId: string;\n\tdataSources: ScorecardDataSource[];\n}) {\n\tconst lowestLevel = useLowestOrgUnitLevel();\n\tconst orgUnitInLowestLevel = useMemo(() => {\n\t\treturn getOrgUnitLevel(orgUnit) === lowestLevel?.level;\n\t}, [lowestLevel, orgUnit]);\n\tconst [showSubMenu, setShowSubMenu] = useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t<Popover\n\t\t\t\tonClickOutside={() => setStateActionRef(undefined)}\n\t\t\t\tplacement=\"bottom-start\"\n\t\t\t\treference={stateActionRef}\n\t\t\t>\n\t\t\t\t<Menu>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: periodId,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Further Analysis\")}\n\t\t\t\t\t\ticon={<IconVisualizationColumnStacked16 />}\n\t\t\t\t\t/>\n\t\t\t\t\t{!orgUnitInLowestLevel && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: periodId,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [\n\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t+(\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetOrgUnitLevel(orgUnit) ??\n\t\t\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\t\t) + 1\n\t\t\t\t\t\t\t\t\t\t\t).toString(),\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Lower Organisation Unit Levels\")}\n\t\t\t\t\t\t\ticon={<IconDimensionOrgUnit16 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tdense\n\t\t\t\t\t\tshowSubMenu={showSubMenu}\n\t\t\t\t\t\tactive={showSubMenu}\n\t\t\t\t\t\ttoggleSubMenu={() => {\n\t\t\t\t\t\t\tsetShowSubMenu((prevState) => !prevState);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabel={i18n.t(\"Trend Analysis \")}\n\t\t\t\t\t\ticon={<IconVisualizationLine24 />}\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_3_MONTHS\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 3 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_6_MONTHS\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 6 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_12_MONTHS\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 12 Months\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_4_QUARTERS\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 4 Quarters\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tsetStateActionRef(undefined);\n\t\t\t\t\t\t\t\tonSelect({\n\t\t\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"LAST_5_YEARS\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tlabel={i18n.t(\"Last 5 Years\")}\n\t\t\t\t\t\t\ticon={<IconVisualizationColumnStacked24 />}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</Menu>\n\t\t\t</Popover>\n\t\t</>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/FurtherAnalysisModal.tsx"],"names":[],"mappings":";;;;;;;AA6BO,SAAS,eAAgB,CAAA;AAAA,EAC/B,IAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AACD,CAAyB,EAAA;AACxB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,SAExC,eAAe,CAAA,CAAA;AAEjB,EAAA,4BACE,KAAM,EAAA,EAAA,OAAA,EAAkB,MAAY,KAAK,EAAA,IAAA,EAAC,UAAS,QACnD,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAY,EAAA,EAAA,QAAA,EAAA,IAAA,CAAK,CAAE,CAAA,kBAAkB,CAAE,EAAA,CAAA;AAAA,wBACvC,YAmBA,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,KAAO,EAAA,MAAA;AAAA,UACP,MAAQ,EAAA,MAAA;AAAA,UACR,aAAe,EAAA,QAAA;AAAA,UACf,OAAS,EAAA,MAAA;AAAA,SACV;AAAA,QAEA,QAAA,kBAAA,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAO,EAAA;AAAA,cACN,IAAM,EAAA,CAAA;AAAA,cACN,KAAO,EAAA,MAAA;AAAA,cACP,MAAQ,EAAA,MAAA;AAAA,aACT;AAAA,YAEC,QAAA,EAAA;AAAA,cAAA,aAAA,KAAkB,YAClB,oBAAA,GAAA;AAAA,gBAAC,yBAAA;AAAA,gBAAA;AAAA,kBACA,MAAA;AAAA,iBAAA;AAAA,eACA;AAAA,cAED,aAAkB,KAAA,eAAA,oBACjB,GAAA,CAAA,4BAAA,EAAA,EAA6B,MAAgB,EAAA,CAAA;AAAA,aAAA;AAAA,WAAA;AAAA,SAEhD;AAAA,OAAA;AAAA,KAEF,EAAA,CAAA;AAAA,oBACA,GAAA,CAAC,YACA,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,MAAO,EAAA,EAAA,OAAA,EAAS,SAAU,QAAK,EAAA,IAAA,CAAA,CAAA,CAAE,OAAO,CAAA,EAAE,CAC5C,EAAA,CAAA;AAAA,GACD,EAAA,CAAA,CAAA;AAEF","file":"FurtherAnalysisModal.js","sourcesContent":["import type {\n\tOrgUnitSelection,\n\tPeriodSelection,\n\tScorecardDataSource,\n} from \"../../../schemas/config\";\nimport {\n\tButton,\n\tModal,\n\tModalActions,\n\tModalContent,\n\tModalTitle,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useState } from \"react\";\nimport { FurtherAnalysisVisualization } from \"../FurtherAnalysisVisualization\";\nimport { FurtherAnalysisDictionary } from \"../FurtherAnalysisDictionary\";\n\nexport interface FurtherAnalysisConfig {\n\torgUnitSelection: OrgUnitSelection;\n\tperiodSelection: PeriodSelection;\n\tdataSources: ScorecardDataSource[];\n}\n\nexport interface FurtherAnalysisProps {\n\thide: boolean;\n\tonClose: () => void;\n\tconfig: FurtherAnalysisConfig;\n}\n\nexport function FurtherAnalysis({\n\thide,\n\tonClose,\n\tconfig,\n}: FurtherAnalysisProps) {\n\tconst [activeElement, setActiveElement] = useState<\n\t\t\"visualization\" | \"dictionary\" | undefined\n\t>(\"visualization\");\n\n\treturn (\n\t\t<Modal onClose={onClose} hide={hide} large position=\"middle\">\n\t\t\t<ModalTitle>{i18n.t(\"Further Analysis\")}</ModalTitle>\n\t\t\t<ModalContent>\n\t\t\t\t{/*<SegmentedControl*/}\n\t\t\t\t{/*\toptions={[*/}\n\t\t\t\t{/*\t\t{*/}\n\t\t\t\t{/*\t\t\tvalue: \"visualization\",*/}\n\t\t\t\t{/*\t\t\tlabel: i18n.t(\"Visualization\"),*/}\n\t\t\t\t{/*\t\t},*/}\n\t\t\t\t{/*\t\t{*/}\n\t\t\t\t{/*\t\t\tvalue: \"dictionary\",*/}\n\t\t\t\t{/*\t\t\tlabel: i18n.t(\"Dictionary\"),*/}\n\t\t\t\t{/*\t\t},*/}\n\t\t\t\t{/*\t]}*/}\n\t\t\t\t{/*\tselected={activeElement!}*/}\n\t\t\t\t{/*\tonChange={({ value }) =>*/}\n\t\t\t\t{/*\t\tsetActiveElement(*/}\n\t\t\t\t{/*\t\t\tvalue as \"visualization\" | \"dictionary\",*/}\n\t\t\t\t{/*\t\t)*/}\n\t\t\t\t{/*\t}*/}\n\t\t\t\t{/*/>*/}\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{activeElement === \"dictionary\" && (\n\t\t\t\t\t\t\t<FurtherAnalysisDictionary\n\t\t\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\t\t></FurtherAnalysisDictionary>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{activeElement === \"visualization\" && (\n\t\t\t\t\t\t\t<FurtherAnalysisVisualization config={config} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ModalContent>\n\t\t\t<ModalActions>\n\t\t\t\t<Button onClick={onClose}>{i18n.t(\"Close\")}</Button>\n\t\t\t</ModalActions>\n\t\t</Modal>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/FurtherAnalysisModal.tsx"],"names":[],"mappings":";;;;;;;AA6BO,SAAS,eAAgB,CAAA;AAAA,EAC/B,IAAA;AAAA,EACA,OAAA;AAAA,EACA;AACD,CAAyB,EAAA;AACxB,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,SAExC,eAAe,CAAA;AAEjB,EAAA,4BACE,KAAM,EAAA,EAAA,OAAA,EAAkB,MAAY,KAAK,EAAA,IAAA,EAAC,UAAS,QACnD,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAY,EAAA,EAAA,QAAA,EAAA,IAAA,CAAK,CAAE,CAAA,kBAAkB,CAAE,EAAA,CAAA;AAAA,wBACvC,YAmBA,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACN,KAAO,EAAA,MAAA;AAAA,UACP,MAAQ,EAAA,MAAA;AAAA,UACR,aAAe,EAAA,QAAA;AAAA,UACf,OAAS,EAAA;AAAA,SACV;AAAA,QAEA,QAAA,kBAAA,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAO,EAAA;AAAA,cACN,IAAM,EAAA,CAAA;AAAA,cACN,KAAO,EAAA,MAAA;AAAA,cACP,MAAQ,EAAA;AAAA,aACT;AAAA,YAEC,QAAA,EAAA;AAAA,cAAA,aAAA,KAAkB,YAClB,oBAAA,GAAA;AAAA,gBAAC,yBAAA;AAAA,gBAAA;AAAA,kBACA;AAAA;AAAA,eACA;AAAA,cAED,aAAkB,KAAA,eAAA,oBACjB,GAAA,CAAA,4BAAA,EAAA,EAA6B,MAAgB,EAAA;AAAA;AAAA;AAAA;AAEhD;AAAA,KAEF,EAAA,CAAA;AAAA,oBACA,GAAA,CAAC,YACA,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,MAAO,EAAA,EAAA,OAAA,EAAS,SAAU,QAAK,EAAA,IAAA,CAAA,CAAA,CAAE,OAAO,CAAA,EAAE,CAC5C,EAAA;AAAA,GACD,EAAA,CAAA;AAEF","file":"FurtherAnalysisModal.js","sourcesContent":["import type {\n\tOrgUnitSelection,\n\tPeriodSelection,\n\tScorecardDataSource,\n} from \"../../../schemas/config\";\nimport {\n\tButton,\n\tModal,\n\tModalActions,\n\tModalContent,\n\tModalTitle,\n} from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useState } from \"react\";\nimport { FurtherAnalysisVisualization } from \"../FurtherAnalysisVisualization\";\nimport { FurtherAnalysisDictionary } from \"../FurtherAnalysisDictionary\";\n\nexport interface FurtherAnalysisConfig {\n\torgUnitSelection: OrgUnitSelection;\n\tperiodSelection: PeriodSelection;\n\tdataSources: ScorecardDataSource[];\n}\n\nexport interface FurtherAnalysisProps {\n\thide: boolean;\n\tonClose: () => void;\n\tconfig: FurtherAnalysisConfig;\n}\n\nexport function FurtherAnalysis({\n\thide,\n\tonClose,\n\tconfig,\n}: FurtherAnalysisProps) {\n\tconst [activeElement, setActiveElement] = useState<\n\t\t\"visualization\" | \"dictionary\" | undefined\n\t>(\"visualization\");\n\n\treturn (\n\t\t<Modal onClose={onClose} hide={hide} large position=\"middle\">\n\t\t\t<ModalTitle>{i18n.t(\"Further Analysis\")}</ModalTitle>\n\t\t\t<ModalContent>\n\t\t\t\t{/*<SegmentedControl*/}\n\t\t\t\t{/*\toptions={[*/}\n\t\t\t\t{/*\t\t{*/}\n\t\t\t\t{/*\t\t\tvalue: \"visualization\",*/}\n\t\t\t\t{/*\t\t\tlabel: i18n.t(\"Visualization\"),*/}\n\t\t\t\t{/*\t\t},*/}\n\t\t\t\t{/*\t\t{*/}\n\t\t\t\t{/*\t\t\tvalue: \"dictionary\",*/}\n\t\t\t\t{/*\t\t\tlabel: i18n.t(\"Dictionary\"),*/}\n\t\t\t\t{/*\t\t},*/}\n\t\t\t\t{/*\t]}*/}\n\t\t\t\t{/*\tselected={activeElement!}*/}\n\t\t\t\t{/*\tonChange={({ value }) =>*/}\n\t\t\t\t{/*\t\tsetActiveElement(*/}\n\t\t\t\t{/*\t\t\tvalue as \"visualization\" | \"dictionary\",*/}\n\t\t\t\t{/*\t\t)*/}\n\t\t\t\t{/*\t}*/}\n\t\t\t\t{/*/>*/}\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tflex: 1,\n\t\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\t\theight: \"100%\",\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{activeElement === \"dictionary\" && (\n\t\t\t\t\t\t\t<FurtherAnalysisDictionary\n\t\t\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\t\t></FurtherAnalysisDictionary>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{activeElement === \"visualization\" && (\n\t\t\t\t\t\t\t<FurtherAnalysisVisualization config={config} />\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ModalContent>\n\t\t\t<ModalActions>\n\t\t\t\t<Button onClick={onClose}>{i18n.t(\"Close\")}</Button>\n\t\t\t</ModalActions>\n\t\t</Modal>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/LinkedCell.tsx"],"names":[],"mappings":"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","file":"LinkedCell.js","sourcesContent":["import { colors, DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useResizeObserver } from \"usehooks-ts\";\nimport React, { useMemo, useRef } from \"react\";\nimport type {\n\tLegendDefinition,\n\tScorecardCellData,\n} from \"../../../schemas/config\";\n\nexport interface LinkedCellProps {\n\ttop: {\n\t\tdataSource: ScorecardCellData;\n\t\tlegendDefinition?: LegendDefinition;\n\t\tvalue?: number;\n\t};\n\tbottom: {\n\t\tdataSource: ScorecardCellData;\n\t\tlegendDefinition?: LegendDefinition;\n\t\tvalue?: number;\n\t};\n\tsize: number;\n\tbold?: boolean;\n\n\t[key: string]: unknown;\n}\n\nfunction LinkedCellComponent({\n\ttop,\n\tbottom,\n\tsize,\n\tbold,\n\t...props\n}: LinkedCellProps) {\n\tconst ref = useRef<HTMLDivElement>(null);\n\tconst { height, width } = useResizeObserver<HTMLDivElement>({\n\t\tref: ref,\n\t});\n\n\tconst {\n\t\tlegendDefinition: topLegendDefinition,\n\t\tdataSource: topDataSource,\n\t\tvalue: topValue,\n\t} = top;\n\tconst {\n\t\tlegendDefinition: bottomLegendDefinition,\n\t\tdataSource: bottomDataSource,\n\t\tvalue: bottomValue,\n\t} = bottom;\n\n\tconst angle = useMemo(() => {\n\t\tif (!height || !width) {\n\t\t\treturn Math.tan(Math.PI / 2);\n\t\t}\n\t\treturn Math.tan(height / width);\n\t}, [height, width]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\t{...props}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tref={ref}\n\t\t\tstyle={{\n\t\t\t\tpadding: 8,\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: 120,\n\t\t\t\tbackground: `linear-gradient(-${angle}rad, ${\n\t\t\t\t\tbottomLegendDefinition?.color ?? colors.white\n\t\t\t\t} 0%, ${bottomLegendDefinition?.color ?? colors.white} 49%, ${\n\t\t\t\t\tcolors.white\n\t\t\t\t} 49%, ${colors.white} 50%, ${\n\t\t\t\t\ttopLegendDefinition?.color ?? colors.white\n\t\t\t\t} 50%, ${topLegendDefinition?.color ?? colors.white} 100%)`,\n\t\t\t}}\n\t\t\tbordered\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\theight: \"100%\",\n\t\t\t\t\tflexDirection: \"column\",\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\tbackground: \"inherit\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\talignItems: \"flex-start\",\n\t\t\t\t\t\tjustifyContent: \"flex-start\",\n\t\t\t\t\t\tcolor: topLegendDefinition\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\ttopLegendDefinition?.color ?? \"#FFFFFF\",\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{topDataSource && (\n\t\t\t\t\t\t<DataValue\n\t\t\t\t\t\t\tbold={bold}\n\t\t\t\t\t\t\tvalue={topValue}\n\t\t\t\t\t\t\tdataSource={topDataSource}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: \"inherit\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\talignItems: \"flex-end\",\n\t\t\t\t\t\tjustifyContent: \"flex-end\",\n\t\t\t\t\t\tcolor: bottomLegendDefinition\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\tbottomLegendDefinition?.color ?? \"#FFFFFF\",\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{bottomDataSource && (\n\t\t\t\t\t\t<DataValue\n\t\t\t\t\t\t\tbold={bold}\n\t\t\t\t\t\t\tvalue={bottomValue}\n\t\t\t\t\t\t\tdataSource={bottomDataSource}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LinkedCell = React.memo(LinkedCellComponent, (prev, next) => {\n\treturn (\n\t\tprev.top.value === next.top.value &&\n\t\tprev.bottom.value === next.bottom.value\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/LinkedCell.tsx"],"names":[],"mappings":"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","file":"LinkedCell.js","sourcesContent":["import { colors, DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useResizeObserver } from \"usehooks-ts\";\nimport React, { useMemo, useRef } from \"react\";\nimport type {\n\tLegendDefinition,\n\tScorecardCellData,\n} from \"../../../schemas/config\";\n\nexport interface LinkedCellProps {\n\ttop: {\n\t\tdataSource: ScorecardCellData;\n\t\tlegendDefinition?: LegendDefinition;\n\t\tvalue?: number;\n\t};\n\tbottom: {\n\t\tdataSource: ScorecardCellData;\n\t\tlegendDefinition?: LegendDefinition;\n\t\tvalue?: number;\n\t};\n\tsize: number;\n\tbold?: boolean;\n\n\t[key: string]: unknown;\n}\n\nfunction LinkedCellComponent({\n\ttop,\n\tbottom,\n\tsize,\n\tbold,\n\t...props\n}: LinkedCellProps) {\n\tconst ref = useRef<HTMLDivElement>(null);\n\tconst { height, width } = useResizeObserver<HTMLDivElement>({\n\t\tref: ref,\n\t});\n\n\tconst {\n\t\tlegendDefinition: topLegendDefinition,\n\t\tdataSource: topDataSource,\n\t\tvalue: topValue,\n\t} = top;\n\tconst {\n\t\tlegendDefinition: bottomLegendDefinition,\n\t\tdataSource: bottomDataSource,\n\t\tvalue: bottomValue,\n\t} = bottom;\n\n\tconst angle = useMemo(() => {\n\t\tif (!height || !width) {\n\t\t\treturn Math.tan(Math.PI / 2);\n\t\t}\n\t\treturn Math.tan(height / width);\n\t}, [height, width]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\t{...props}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tref={ref}\n\t\t\tstyle={{\n\t\t\t\tpadding: 8,\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: 120,\n\t\t\t\tbackground: `linear-gradient(-${angle}rad, ${\n\t\t\t\t\tbottomLegendDefinition?.color ?? colors.white\n\t\t\t\t} 0%, ${bottomLegendDefinition?.color ?? colors.white} 49%, ${\n\t\t\t\t\tcolors.white\n\t\t\t\t} 49%, ${colors.white} 50%, ${\n\t\t\t\t\ttopLegendDefinition?.color ?? colors.white\n\t\t\t\t} 50%, ${topLegendDefinition?.color ?? colors.white} 100%)`,\n\t\t\t}}\n\t\t\tbordered\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\theight: \"100%\",\n\t\t\t\t\tflexDirection: \"column\",\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\tbackground: \"inherit\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\talignItems: \"flex-start\",\n\t\t\t\t\t\tjustifyContent: \"flex-start\",\n\t\t\t\t\t\tcolor: topLegendDefinition\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\ttopLegendDefinition?.color ?? \"#FFFFFF\",\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{topDataSource && (\n\t\t\t\t\t\t<DataValue\n\t\t\t\t\t\t\tbold={bold}\n\t\t\t\t\t\t\tvalue={topValue}\n\t\t\t\t\t\t\tdataSource={topDataSource}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: \"inherit\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\talignItems: \"flex-end\",\n\t\t\t\t\t\tjustifyContent: \"flex-end\",\n\t\t\t\t\t\tcolor: bottomLegendDefinition\n\t\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\t\tbottomLegendDefinition?.color ?? \"#FFFFFF\",\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{bottomDataSource && (\n\t\t\t\t\t\t<DataValue\n\t\t\t\t\t\t\tbold={bold}\n\t\t\t\t\t\t\tvalue={bottomValue}\n\t\t\t\t\t\t\tdataSource={bottomDataSource}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LinkedCell = React.memo(LinkedCellComponent, (prev, next) => {\n\treturn (\n\t\tprev.top.value === next.top.value &&\n\t\tprev.bottom.value === next.bottom.value\n\t);\n});\n"]}