@hisptz/dhis2-scorecard 1.2.22 → 1.2.24

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 (148) 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.map +1 -1
  84. package/dist/esm/components/ScorecardTable/components/DataRow.js.map +1 -1
  85. package/dist/esm/components/ScorecardTable/components/DataValue.js.map +1 -1
  86. package/dist/esm/components/ScorecardTable/components/DraggableCell.js.map +1 -1
  87. package/dist/esm/components/ScorecardTable/components/DroppableCell.js.map +1 -1
  88. package/dist/esm/components/ScorecardTable/components/EmptyFooterCell.js.map +1 -1
  89. package/dist/esm/components/ScorecardTable/components/ExpandedScorecardTable.js.map +1 -1
  90. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +1 -1
  91. package/dist/esm/components/ScorecardTable/components/FurtherAnalysisModal.js.map +1 -1
  92. package/dist/esm/components/ScorecardTable/components/LinkedCell.js.map +1 -1
  93. package/dist/esm/components/ScorecardTable/components/LinkedDataCell.js.map +1 -1
  94. package/dist/esm/components/ScorecardTable/components/MetaFooterCell.js.map +1 -1
  95. package/dist/esm/components/ScorecardTable/components/PaginatedToolbar.js.map +1 -1
  96. package/dist/esm/components/ScorecardTable/components/SingleDataCell.js.map +1 -1
  97. package/dist/esm/components/ScorecardTable/components/TableBody.js.map +1 -1
  98. package/dist/esm/components/ScorecardTable/components/TableFoot.js.map +1 -1
  99. package/dist/esm/components/ScorecardTable/components/TableHeader/TableHeader.js.map +1 -1
  100. package/dist/esm/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +1 -1
  101. package/dist/esm/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +1 -1
  102. package/dist/esm/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +1 -1
  103. package/dist/esm/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +1 -1
  104. package/dist/esm/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +1 -1
  105. package/dist/esm/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +1 -1
  106. package/dist/esm/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +1 -1
  107. package/dist/esm/components/StateProvider.js.map +1 -1
  108. package/dist/esm/components/TableStateProvider.js.map +1 -1
  109. package/dist/esm/hooks/cellData.js.map +1 -1
  110. package/dist/esm/hooks/columns.js.map +1 -1
  111. package/dist/esm/hooks/data.js.map +1 -1
  112. package/dist/esm/hooks/dataItem.js.map +1 -1
  113. package/dist/esm/hooks/metadata.js.map +1 -1
  114. package/dist/esm/hooks/orgUnit.js.map +1 -1
  115. package/dist/esm/hooks/table.js.map +1 -1
  116. package/dist/esm/hooks/value.js.map +1 -1
  117. package/dist/esm/schemas/config.js.map +1 -1
  118. package/dist/esm/utils/analytics.js.map +1 -1
  119. package/dist/esm/utils/columns.js.map +1 -1
  120. package/dist/esm/utils/data.js.map +1 -1
  121. package/dist/esm/utils/dataEngine.js.map +1 -1
  122. package/dist/esm/utils/dataSources.js.map +1 -1
  123. package/dist/esm/utils/dimensionState.js.map +1 -1
  124. package/dist/esm/utils/legends.js.map +1 -1
  125. package/dist/esm/utils/orgUnits.js.map +1 -1
  126. package/dist/esm/utils/state.js.map +1 -1
  127. package/dist/esm/utils/viewState.js.map +1 -1
  128. package/dist/hooks/cellData.js.map +1 -1
  129. package/dist/hooks/columns.js.map +1 -1
  130. package/dist/hooks/data.js.map +1 -1
  131. package/dist/hooks/dataItem.js.map +1 -1
  132. package/dist/hooks/metadata.js.map +1 -1
  133. package/dist/hooks/orgUnit.js.map +1 -1
  134. package/dist/hooks/table.js.map +1 -1
  135. package/dist/hooks/value.js.map +1 -1
  136. package/dist/package.json +59 -0
  137. package/dist/schemas/config.js.map +1 -1
  138. package/dist/utils/analytics.js.map +1 -1
  139. package/dist/utils/columns.js.map +1 -1
  140. package/dist/utils/data.js.map +1 -1
  141. package/dist/utils/dataEngine.js.map +1 -1
  142. package/dist/utils/dataSources.js.map +1 -1
  143. package/dist/utils/dimensionState.js.map +1 -1
  144. package/dist/utils/legends.js.map +1 -1
  145. package/dist/utils/orgUnits.js.map +1 -1
  146. package/dist/utils/state.js.map +1 -1
  147. package/dist/utils/viewState.js.map +1 -1
  148. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["useTransition","useTableState","useToggleTableLoadingState","page","pageSize","useUpdateEffect","jsx","DataTableToolbar","Pagination"],"mappings":";;;;;;;;AAQO,SAAS,gBAAmB,GAAA;AAClC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAIA,mBAAc,EAAA;AACnD,EAAA,MAAM,QAAQC,gCAAc,EAAA;AAC5B,EAAM,MAAA,QAAA,GAAW,MAAM,WAAY,EAAA;AACnC,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,WAAW,SAAY,GAAA,CAAA;AACrD,EAAA,MAAM,QAAW,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,UAAW,CAAA,QAAA;AAC7C,EAAM,MAAA,SAAA,GAAY,MAAM,YAAa,EAAA;AACrC,EAAA,MAAM,qBAAqBC,6CAA2B,EAAA;AAEtD,EAAM,MAAA,YAAA,GAAe,CAACC,KAAiB,KAAA;AACtC,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAM,KAAA,CAAA,YAAA,CAAaA,QAAO,CAAC,CAAA;AAAA,KAC3B,CAAA;AAAA,GACF;AACA,EAAM,MAAA,gBAAA,GAAmB,CAACC,SAAqB,KAAA;AAC9C,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAA,KAAA,CAAM,YAAYA,SAAQ,CAAA;AAAA,KAC1B,CAAA;AAAA,GACF;AAEA,EAAAC,0BAAA,CAAgB,MAAM;AACrB,IAAmB,kBAAA,EAAA;AAAA,GACpB,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,IACC,QAAY,IAAA,EAAA,IACX,KAAM,CAAA,OAAA,CAAQ,MACZ,iBACF,EAAA;AACD,IAAO,OAAA,IAAA;AAAA;AAGR,EACC,uBAAAC,cAAA;AAAA,IAACC,mBAAA;AAAA,IAAA;AAAA,MAGA,KAAA,EAAO,EAAE,QAAA,EAAU,OAAQ,EAAA;AAAA,MAC3B,QAAS,EAAA,QAAA;AAAA,MAET,yCAAC,KAAI,EAAA,EAAA,KAAA,EAAO,EAAE,KAAA,EAAO,WACpB,EAAA,QAAA,kBAAAD,cAAA;AAAA,QAACE,aAAA;AAAA,QAAA;AAAA,UACA,KAAO,EAAA,QAAA;AAAA,UACP,SAAA;AAAA,UACA,SAAA,EAAW,CAAC,EAAI,EAAA,EAAA,EAAI,IAAI,EAAI,EAAA,EAAA,EAAI,GAAG,CAAE,CAAA,GAAA;AAAA,YAAI,CAAC,IACzC,KAAA,IAAA,CAAK,QAAS;AAAA,WACf;AAAA,UACA,IAAA;AAAA,UACA,QAAA;AAAA,UACA,YAAA;AAAA,UACA;AAAA;AAAA,OAEF,EAAA;AAAA;AAAA,GACD;AAEF","file":"PaginatedToolbar.js","sourcesContent":["import { DataTableToolbar, Pagination } from \"@dhis2/ui\";\nimport {\n\tuseTableState,\n\tuseToggleTableLoadingState,\n} from \"../../TableStateProvider\";\nimport { useTransition } from \"react\";\nimport { useUpdateEffect } from \"usehooks-ts\";\n\nexport function PaginatedToolbar() {\n\tconst [isPending, startTransition] = useTransition();\n\tconst table = useTableState();\n\tconst rowCount = table.getRowCount();\n\tconst page = table.getState().pagination.pageIndex + 1;\n\tconst pageSize = table.getState().pagination.pageSize;\n\tconst pageCount = table.getPageCount();\n\tconst toggleTableLoading = useToggleTableLoadingState();\n\n\tconst onPageChange = (page: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageIndex(page - 1);\n\t\t});\n\t};\n\tconst onPageSizeChange = (pageSize: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageSize(pageSize);\n\t\t});\n\t};\n\n\tuseUpdateEffect(() => {\n\t\ttoggleTableLoading();\n\t}, [isPending]);\n\n\tif (\n\t\trowCount <= 50 ||\n\t\t(table.options.meta as { disablePagination?: boolean })\n\t\t\t?.disablePagination\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableToolbar\n\t\t\t/*\n\t\t\t// @ts-ignore */\n\t\t\tstyle={{ position: \"unset\" }}\n\t\t\tposition=\"bottom\"\n\t\t>\n\t\t\t<div style={{ width: \"stretch\" }}>\n\t\t\t\t<Pagination\n\t\t\t\t\ttotal={rowCount}\n\t\t\t\t\tpageCount={pageCount}\n\t\t\t\t\tpageSizes={[10, 20, 30, 40, 50, 100].map((size) =>\n\t\t\t\t\t\tsize.toString(),\n\t\t\t\t\t)}\n\t\t\t\t\tpage={page}\n\t\t\t\t\tpageSize={pageSize}\n\t\t\t\t\tonPageChange={onPageChange}\n\t\t\t\t\tonPageSizeChange={onPageSizeChange}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</DataTableToolbar>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/PaginatedToolbar.tsx"],"names":["useTransition","useTableState","useToggleTableLoadingState","page","pageSize","useUpdateEffect","jsx","DataTableToolbar","Pagination"],"mappings":";;;;;;;;AAQO,SAAS,gBAAA,GAAmB;AAClC,EAAA,MAAM,CAAC,SAAA,EAAW,eAAe,CAAA,GAAIA,mBAAA,EAAc;AACnD,EAAA,MAAM,QAAQC,gCAAA,EAAc;AAC5B,EAAA,MAAM,QAAA,GAAW,MAAM,WAAA,EAAY;AACnC,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,QAAA,EAAS,CAAE,WAAW,SAAA,GAAY,CAAA;AACrD,EAAA,MAAM,QAAA,GAAW,KAAA,CAAM,QAAA,EAAS,CAAE,UAAA,CAAW,QAAA;AAC7C,EAAA,MAAM,SAAA,GAAY,MAAM,YAAA,EAAa;AACrC,EAAA,MAAM,qBAAqBC,6CAAA,EAA2B;AAEtD,EAAA,MAAM,YAAA,GAAe,CAACC,KAAAA,KAAiB;AACtC,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAA,KAAA,CAAM,YAAA,CAAaA,QAAO,CAAC,CAAA;AAAA,IAC5B,CAAC,CAAA;AAAA,EACF,CAAA;AACA,EAAA,MAAM,gBAAA,GAAmB,CAACC,SAAAA,KAAqB;AAC9C,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAA,KAAA,CAAM,YAAYA,SAAQ,CAAA;AAAA,IAC3B,CAAC,CAAA;AAAA,EACF,CAAA;AAEA,EAAAC,0BAAA,CAAgB,MAAM;AACrB,IAAA,kBAAA,EAAmB;AAAA,EACpB,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,IACC,QAAA,IAAY,EAAA,IACX,KAAA,CAAM,OAAA,CAAQ,MACZ,iBAAA,EACF;AACD,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACCC,cAAA;AAAA,IAACC,mBAAA;AAAA,IAAA;AAAA,MAGA,KAAA,EAAO,EAAE,QAAA,EAAU,OAAA,EAAQ;AAAA,MAC3B,QAAA,EAAS,QAAA;AAAA,MAET,yCAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAA,EAAO,WAAU,EAC9B,QAAA,kBAAAD,cAAA;AAAA,QAACE,aAAA;AAAA,QAAA;AAAA,UACA,KAAA,EAAO,QAAA;AAAA,UACP,SAAA;AAAA,UACA,SAAA,EAAW,CAAC,EAAA,EAAI,EAAA,EAAI,IAAI,EAAA,EAAI,EAAA,EAAI,GAAG,CAAA,CAAE,GAAA;AAAA,YAAI,CAAC,IAAA,KACzC,IAAA,CAAK,QAAA;AAAS,WACf;AAAA,UACA,IAAA;AAAA,UACA,QAAA;AAAA,UACA,YAAA;AAAA,UACA;AAAA;AAAA,OACD,EACD;AAAA;AAAA,GACD;AAEF","file":"PaginatedToolbar.js","sourcesContent":["import { DataTableToolbar, Pagination } from \"@dhis2/ui\";\nimport {\n\tuseTableState,\n\tuseToggleTableLoadingState,\n} from \"../../TableStateProvider\";\nimport { useTransition } from \"react\";\nimport { useUpdateEffect } from \"usehooks-ts\";\n\nexport function PaginatedToolbar() {\n\tconst [isPending, startTransition] = useTransition();\n\tconst table = useTableState();\n\tconst rowCount = table.getRowCount();\n\tconst page = table.getState().pagination.pageIndex + 1;\n\tconst pageSize = table.getState().pagination.pageSize;\n\tconst pageCount = table.getPageCount();\n\tconst toggleTableLoading = useToggleTableLoadingState();\n\n\tconst onPageChange = (page: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageIndex(page - 1);\n\t\t});\n\t};\n\tconst onPageSizeChange = (pageSize: number) => {\n\t\tstartTransition(() => {\n\t\t\ttable.setPageSize(pageSize);\n\t\t});\n\t};\n\n\tuseUpdateEffect(() => {\n\t\ttoggleTableLoading();\n\t}, [isPending]);\n\n\tif (\n\t\trowCount <= 50 ||\n\t\t(table.options.meta as { disablePagination?: boolean })\n\t\t\t?.disablePagination\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableToolbar\n\t\t\t/*\n\t\t\t// @ts-ignore */\n\t\t\tstyle={{ position: \"unset\" }}\n\t\t\tposition=\"bottom\"\n\t\t>\n\t\t\t<div style={{ width: \"stretch\" }}>\n\t\t\t\t<Pagination\n\t\t\t\t\ttotal={rowCount}\n\t\t\t\t\tpageCount={pageCount}\n\t\t\t\t\tpageSizes={[10, 20, 30, 40, 50, 100].map((size) =>\n\t\t\t\t\t\tsize.toString(),\n\t\t\t\t\t)}\n\t\t\t\t\tpage={page}\n\t\t\t\t\tpageSize={pageSize}\n\t\t\t\t\tonPageChange={onPageChange}\n\t\t\t\t\tonPageSizeChange={onPageSizeChange}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</DataTableToolbar>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/SingleDataCell.tsx"],"names":["useScorecardViewStateValue","useState","head","useCellData","jsx","DataTableCell","jsxs","Fragment","FurtherAnalysis","getTextColorFromBackgroundColor","DataValue","FurtherAnalysisMenu","memo"],"mappings":";;;;;;;;;;;;;AAsBA,SAAS,uBAAwB,CAAA;AAAA,EAChC,WAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA;AACD,CAAmC,EAAA;AAClC,EAAA,MAAM,sBAAyB,GAAAA,gCAAA;AAAA,IAC9B;AAAA,GACD;AACA,EAAA,MAAM,CAAC,qBAAA,EAAuB,wBAAwB,CAAA,GACrDC,eAAuC,IAAI,CAAA;AAC5C,EAAM,MAAA,UAAA,GAAaC,YAAK,WAAW,CAAA;AACnC,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAID,eAAS,MAAS,CAAA;AAE9D,EAAM,MAAA,EAAE,gBAAiB,EAAA,GAAIE,oBAAY,CAAA;AAAA,IACxC,UAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,GACA,CAAA;AAED,EAAA,IAAI,CAAC,UAAA,IAAc,CAAC,UAAA,CAAW,IAAM,EAAA;AACpC,IAAO,uBAAAC,cAAA,CAACC,gBAAc,EAAA,EAAA,QAAA,EAAQ,IAAC,EAAA,CAAA;AAAA;AAGhC,EAAA,uBAEGC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,IAAA,CAAC,CAAC,qBACF,oBAAAH,cAAA;AAAA,MAACI,oCAAA;AAAA,MAAA;AAAA,QACA,SAAS,MAAM;AACd,UAAA,wBAAA,CAAyB,IAAI,CAAA;AAAA,SAC9B;AAAA,QACA,MAAM,CAAC,qBAAA;AAAA,QACP,MAAQ,EAAA;AAAA;AAAA,KACT;AAAA,oBAEDJ,cAAA;AAAA,MAACC,gBAAA;AAAA,MAAA;AAAA,QACA,OAAA,EAAS,CAAC,KAAU,KAAA;AACnB,UAAA,KAAA,CAAM,eAAgB,EAAA;AACtB,UAAA,IAAI,CAAC,sBAAwB,EAAA;AAC5B,YAAyB,wBAAA,CAAA;AAAA,cACxB,eAAiB,EAAA;AAAA,gBAChB,OAAS,EAAA;AAAA,kBACR;AAAA,oBACC,EAAI,EAAA;AAAA;AACL;AACD,eACD;AAAA,cACA,gBAAkB,EAAA;AAAA,gBACjB,QAAQ,EAAC;AAAA,gBACT,QAAQ,EAAC;AAAA,gBACT,QAAU,EAAA;AAAA,kBACT;AAAA,oBACC,IAAI,OAAQ,CAAA;AAAA;AACb;AACD,eACD;AAAA,cACA;AAAA,aACA,CAAA;AAAA;AACF,SACD;AAAA,QACA,aAAA,EAAe,CAAC,CAAW,KAAA;AAC1B,UAAA,CAAA,CAAE,cAAe,EAAA;AACjB,UAAA,IAAI,CAAC,sBAAwB,EAAA;AAC5B,YAAA,iBAAA,CAAkB,EAAE,MAAM,CAAA;AAAA;AAC3B,SACD;AAAA,QACA,QAAQ,EAAA,IAAA;AAAA,QACR,KAAO,EAAA;AAAA,UACN,YAAY,gBAAkB,EAAA,KAAA;AAAA,UAC9B,SAAW,EAAA,QAAA;AAAA,UACX,KAAO,EAAA,IAAA;AAAA,UACP,QAAU,EAAA,GAAA;AAAA,UACV,MAAQ,EAAA,EAAA;AAAA,UACR,OAAO,gBACJ,GAAAI,uCAAA;AAAA,YACA,gBAAkB,EAAA;AAAA,WAElB,GAAA;AAAA,SACJ;AAAA,QAEC,QAAA,EAAA,UAAA,oBAAeL,cAAA,CAAAM,mBAAA,EAAA,EAAU,UAAwB,EAAA;AAAA;AAAA,KACnD;AAAA,IAEC,cACA,oBAAAN,cAAA;AAAA,MAACO,uCAAA;AAAA,MAAA;AAAA,QACA,WAAA;AAAA,QACA,QAAU,EAAA,wBAAA;AAAA,QACV,cAAA;AAAA,QACA,iBAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAU,EAAA;AAAA;AAAA;AACX,GAEF,EAAA,CAAA;AAEF;AAEa,MAAA,cAAA,GAAiBC,WAAK,uBAAuB","file":"SingleDataCell.js","sourcesContent":["import { type ScorecardCellData } from \"../../../schemas/config\";\nimport { type ItemMeta } from \"../../../hooks/metadata\";\nimport { memo, type ReactNode, useState } from \"react\";\nimport { head } from \"lodash\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nexport interface SingleDataCellProps {\n\tdataSources: ScorecardCellData[];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n\tsize: number;\n}\n\nfunction SingleDataCellComponent({\n\tdataSources,\n\tperiod,\n\torgUnit,\n\tsize,\n}: SingleDataCellProps): ReactNode {\n\tconst disableFurtherAnalysis = useScorecardViewStateValue<boolean>(\n\t\t\"disableFurtherAnalysis\",\n\t);\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\tconst dataSource = head(dataSources);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst { legendDefinition } = useCellData({\n\t\tdataSource,\n\t\tperiod,\n\t\torgUnit,\n\t});\n\n\tif (!dataSource || !dataSource.data) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{!!furtherAnalysisConfig && (\n\t\t\t\t<FurtherAnalysis\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tsetFurtherAnalysisConfig(null);\n\t\t\t\t\t}}\n\t\t\t\t\thide={!furtherAnalysisConfig}\n\t\t\t\t\tconfig={furtherAnalysisConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<DataTableCell\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: period,\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},\n\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tbordered\n\t\t\t\tstyle={{\n\t\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\t\ttextAlign: \"center\",\n\t\t\t\t\twidth: size,\n\t\t\t\t\tminWidth: 100,\n\t\t\t\t\theight: 48,\n\t\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\tlegendDefinition?.color,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: undefined,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{dataSource && <DataValue dataSource={dataSource} />}\n\t\t\t</DataTableCell>\n\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const SingleDataCell = memo(SingleDataCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/SingleDataCell.tsx"],"names":["useScorecardViewStateValue","useState","head","useCellData","jsx","DataTableCell","jsxs","Fragment","FurtherAnalysis","getTextColorFromBackgroundColor","DataValue","FurtherAnalysisMenu","memo"],"mappings":"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","file":"SingleDataCell.js","sourcesContent":["import { type ScorecardCellData } from \"../../../schemas/config\";\nimport { type ItemMeta } from \"../../../hooks/metadata\";\nimport { memo, type ReactNode, useState } from \"react\";\nimport { head } from \"lodash\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { getTextColorFromBackgroundColor } from \"../../../utils/legends\";\nimport { DataValue } from \"./DataValue\";\nimport { useCellData } from \"../../../hooks/cellData\";\nimport { FurtherAnalysisMenu } from \"./FurtherAnalysisMenu\";\nimport {\n\tFurtherAnalysis,\n\ttype FurtherAnalysisConfig,\n} from \"./FurtherAnalysisModal\";\nimport { useScorecardViewStateValue } from \"../../../utils\";\n\nexport interface SingleDataCellProps {\n\tdataSources: ScorecardCellData[];\n\torgUnit: ItemMeta & { hierarchy: string };\n\tperiod: string;\n\tsize: number;\n}\n\nfunction SingleDataCellComponent({\n\tdataSources,\n\tperiod,\n\torgUnit,\n\tsize,\n}: SingleDataCellProps): ReactNode {\n\tconst disableFurtherAnalysis = useScorecardViewStateValue<boolean>(\n\t\t\"disableFurtherAnalysis\",\n\t);\n\tconst [furtherAnalysisConfig, setFurtherAnalysisConfig] =\n\t\tuseState<FurtherAnalysisConfig | null>(null);\n\tconst dataSource = head(dataSources);\n\tconst [stateActionRef, setStateActionRef] = useState(undefined);\n\n\tconst { legendDefinition } = useCellData({\n\t\tdataSource,\n\t\tperiod,\n\t\torgUnit,\n\t});\n\n\tif (!dataSource || !dataSource.data) {\n\t\treturn <DataTableCell bordered />;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{!!furtherAnalysisConfig && (\n\t\t\t\t<FurtherAnalysis\n\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\tsetFurtherAnalysisConfig(null);\n\t\t\t\t\t}}\n\t\t\t\t\thide={!furtherAnalysisConfig}\n\t\t\t\t\tconfig={furtherAnalysisConfig}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<DataTableCell\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\tsetFurtherAnalysisConfig({\n\t\t\t\t\t\t\tperiodSelection: {\n\t\t\t\t\t\t\t\tperiods: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: period,\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},\n\t\t\t\t\t\t\torgUnitSelection: {\n\t\t\t\t\t\t\t\tlevels: [],\n\t\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\t\torgUnits: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tid: orgUnit.uid,\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},\n\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tonContextMenu={(e: any) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tif (!disableFurtherAnalysis) {\n\t\t\t\t\t\tsetStateActionRef(e.target);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tbordered\n\t\t\t\tstyle={{\n\t\t\t\t\tbackground: legendDefinition?.color,\n\t\t\t\t\ttextAlign: \"center\",\n\t\t\t\t\twidth: size,\n\t\t\t\t\tminWidth: 100,\n\t\t\t\t\theight: 48,\n\t\t\t\t\tcolor: legendDefinition\n\t\t\t\t\t\t? getTextColorFromBackgroundColor(\n\t\t\t\t\t\t\t\tlegendDefinition?.color,\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t: undefined,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{dataSource && <DataValue dataSource={dataSource} />}\n\t\t\t</DataTableCell>\n\n\t\t\t{stateActionRef && (\n\t\t\t\t<FurtherAnalysisMenu\n\t\t\t\t\tdataSources={dataSources}\n\t\t\t\t\tonSelect={setFurtherAnalysisConfig}\n\t\t\t\t\tstateActionRef={stateActionRef}\n\t\t\t\t\tsetStateActionRef={setStateActionRef}\n\t\t\t\t\torgUnit={orgUnit}\n\t\t\t\t\tperiodId={period}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</>\n\t);\n}\n\nexport const SingleDataCell = memo(SingleDataCellComponent);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/TableBody.tsx"],"names":["memo","TableBody","useTableState","useTableLoadingState","useMemo","jsxs","Fragment","jsx","LoadingIndicator","DataTableBody","TableRow"],"mappings":";;;;;;;;;AAMa,MAAA,SAAA,GAAYA,UAAK,CAAA,SAASC,UAAU,CAAA;AAAA,EAChD;AACD,CAEG,EAAA;AACF,EAAA,MAAM,QAAQC,gCAAc,EAAA;AAC5B,EAAA,MAAM,UAAUC,uCAAqB,EAAA;AAErC,EAAA,MAAM,IAAO,GAAAC,aAAA;AAAA,IACZ,MAAM,KAAM,CAAA,WAAA,EAAc,CAAA,IAAA;AAAA,IAC1B,CAAC,KAAA,CAAM,WAAY,EAAA,CAAE,IAAI;AAAA,GAC1B;AAEA,EAAA,uBAEEC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,OACA,EAAA,EAAA,QAAA,kBAAAA,cAAA,CAACC,iCAAiB,EAAA,EAAA,QAAA,EAAoB,CACvC,EAAA,CAAA;AAAA,oBACCD,cAAA,CAAAE,gBAAA,EAAA,EAAc,OACb,EAAA,QAAA,EAAA,IAAA,CAAK,GAAI,CAAA,CAAC,GACV,qBAAAF,cAAA,CAACG,gBAAsB,EAAA,EAAA,GAAA,EAAA,EAAR,GAAI,CAAA,EAAc,CACjC,CACF,EAAA;AAAA,GACD,EAAA,CAAA;AAEF,CAAC","file":"TableBody.js","sourcesContent":["import { DataTableBody } from \"@dhis2/ui\";\nimport { useTableLoadingState, useTableState } from \"../../TableStateProvider\";\nimport { TableRow } from \"./DataRow\";\nimport { memo, type RefObject, useMemo } from \"react\";\nimport { LoadingIndicator } from \"../../LoadingIndicator\";\n\nexport const TableBody = memo(function TableBody({\n\ttableRef,\n}: {\n\ttableRef: RefObject<HTMLTableElement>;\n}) {\n\tconst table = useTableState();\n\tconst loading = useTableLoadingState();\n\n\tconst rows = useMemo(\n\t\t() => table.getRowModel().rows,\n\t\t[table.getRowModel().rows],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<thead>\n\t\t\t\t<LoadingIndicator tableRef={tableRef} />\n\t\t\t</thead>\n\t\t\t<DataTableBody loading={loading}>\n\t\t\t\t{rows.map((row) => (\n\t\t\t\t\t<TableRow key={row.id} row={row} />\n\t\t\t\t))}\n\t\t\t</DataTableBody>\n\t\t</>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/TableBody.tsx"],"names":["memo","TableBody","useTableState","useTableLoadingState","useMemo","jsxs","Fragment","jsx","LoadingIndicator","DataTableBody","TableRow"],"mappings":";;;;;;;;;AAMO,MAAM,SAAA,GAAYA,UAAA,CAAK,SAASC,UAAAA,CAAU;AAAA,EAChD;AACD,CAAA,EAEG;AACF,EAAA,MAAM,QAAQC,gCAAA,EAAc;AAC5B,EAAA,MAAM,UAAUC,uCAAA,EAAqB;AAErC,EAAA,MAAM,IAAA,GAAOC,aAAA;AAAA,IACZ,MAAM,KAAA,CAAM,WAAA,EAAY,CAAE,IAAA;AAAA,IAC1B,CAAC,KAAA,CAAM,WAAA,EAAY,CAAE,IAAI;AAAA,GAC1B;AAEA,EAAA,uBACCC,eAAA,CAAAC,mBAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,OAAA,EAAA,EACA,QAAA,kBAAAA,cAAA,CAACC,iCAAA,EAAA,EAAiB,QAAA,EAAoB,CAAA,EACvC,CAAA;AAAA,oBACAD,cAAA,CAACE,gBAAA,EAAA,EAAc,OAAA,EACb,QAAA,EAAA,IAAA,CAAK,GAAA,CAAI,CAAC,GAAA,qBACVF,cAAA,CAACG,gBAAA,EAAA,EAAsB,GAAA,EAAA,EAAR,GAAA,CAAI,EAAc,CACjC,CAAA,EACF;AAAA,GAAA,EACD,CAAA;AAEF,CAAC","file":"TableBody.js","sourcesContent":["import { DataTableBody } from \"@dhis2/ui\";\nimport { useTableLoadingState, useTableState } from \"../../TableStateProvider\";\nimport { TableRow } from \"./DataRow\";\nimport { memo, type RefObject, useMemo } from \"react\";\nimport { LoadingIndicator } from \"../../LoadingIndicator\";\n\nexport const TableBody = memo(function TableBody({\n\ttableRef,\n}: {\n\ttableRef: RefObject<HTMLTableElement>;\n}) {\n\tconst table = useTableState();\n\tconst loading = useTableLoadingState();\n\n\tconst rows = useMemo(\n\t\t() => table.getRowModel().rows,\n\t\t[table.getRowModel().rows],\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<thead>\n\t\t\t\t<LoadingIndicator tableRef={tableRef} />\n\t\t\t</thead>\n\t\t\t<DataTableBody loading={loading}>\n\t\t\t\t{rows.map((row) => (\n\t\t\t\t\t<TableRow key={row.id} row={row} />\n\t\t\t\t))}\n\t\t\t</DataTableBody>\n\t\t</>\n\t);\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardTable/components/TableFoot.tsx"],"names":["useTableState","useScorecardViewStateValue","DataTableFoot","DataTableRow","jsx","Fragment","flexRender"],"mappings":";;;;;;;;;AAMO,SAAS,SAAY,GAAA;AAC3B,EAAA,MAAM,QAAQA,gCAAc,EAAA;AAC5B,EAAM,MAAA,cAAA,GAAiBC,qCAAoC,YAAY,CAAA;AAEvE,EAAA,IAAI,CAAC,cAAgB,EAAA;AACpB,IAAO,OAAA,IAAA;AAAA;AAGR,EAAA,sCACEC,gBACC,EAAA,EAAA,QAAA,EAAA,KAAA,CAAM,iBAAkB,CAAA,GAAA,CAAI,CAAC,WAAgB,KAAA;AAC7C,IAAA,sCACEC,eACC,EAAA,EAAA,QAAA,EAAA,WAAA,CAAY,OAAQ,CAAA,GAAA,CAAI,CAAC,MAAW,KAAA;AACpC,MAAA,OAAO,MAAO,CAAA,aAAA,GAAgB,IAC7B,mBAAAC,cAAA,CAACC,cACC,EAAA,EAAA,QAAA,EAAAC,qBAAA;AAAA,QACA,MAAA,CAAO,OAAO,SAAU,CAAA,MAAA;AAAA,QACxB,OAAO,UAAW;AAAA,OACnB,EAAA,EAJc,OAAO,EAKtB,CAAA;AAAA,KAED,CAViB,EAAA,EAAA,WAAA,CAAY,EAW/B,CAAA;AAAA,GAED,CACF,EAAA,CAAA;AAEF","file":"TableFoot.js","sourcesContent":["import { DataTableFoot, DataTableRow } from \"@dhis2/ui\";\nimport { useTableState } from \"../../TableStateProvider\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { Fragment } from \"react\";\nimport { useScorecardViewStateValue } from \"../../../utils/viewState\";\n\nexport function TableFoot() {\n\tconst table = useTableState();\n\tconst showAverageRow = useScorecardViewStateValue<boolean>(\"averageRow\");\n\n\tif (!showAverageRow) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableFoot>\n\t\t\t{table.getFooterGroups().map((footerGroup) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DataTableRow key={footerGroup.id}>\n\t\t\t\t\t\t{footerGroup.headers.map((footer) => {\n\t\t\t\t\t\t\treturn footer.isPlaceholder ? null : (\n\t\t\t\t\t\t\t\t<Fragment key={footer.id}>\n\t\t\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\t\t\tfooter.column.columnDef.footer,\n\t\t\t\t\t\t\t\t\t\tfooter.getContext(),\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</DataTableRow>\n\t\t\t\t);\n\t\t\t})}\n\t\t</DataTableFoot>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardTable/components/TableFoot.tsx"],"names":["useTableState","useScorecardViewStateValue","DataTableFoot","DataTableRow","jsx","Fragment","flexRender"],"mappings":";;;;;;;;;AAMO,SAAS,SAAA,GAAY;AAC3B,EAAA,MAAM,QAAQA,gCAAA,EAAc;AAC5B,EAAA,MAAM,cAAA,GAAiBC,qCAAoC,YAAY,CAAA;AAEvE,EAAA,IAAI,CAAC,cAAA,EAAgB;AACpB,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,sCACEC,gBAAA,EAAA,EACC,QAAA,EAAA,KAAA,CAAM,iBAAgB,CAAE,GAAA,CAAI,CAAC,WAAA,KAAgB;AAC7C,IAAA,sCACEC,eAAA,EAAA,EACC,QAAA,EAAA,WAAA,CAAY,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW;AACpC,MAAA,OAAO,MAAA,CAAO,aAAA,GAAgB,IAAA,mBAC7BC,cAAA,CAACC,cAAA,EAAA,EACC,QAAA,EAAAC,qBAAA;AAAA,QACA,MAAA,CAAO,OAAO,SAAA,CAAU,MAAA;AAAA,QACxB,OAAO,UAAA;AAAW,OACnB,EAAA,EAJc,OAAO,EAKtB,CAAA;AAAA,IAEF,CAAC,CAAA,EAAA,EAViB,WAAA,CAAY,EAW/B,CAAA;AAAA,EAEF,CAAC,CAAA,EACF,CAAA;AAEF","file":"TableFoot.js","sourcesContent":["import { DataTableFoot, DataTableRow } from \"@dhis2/ui\";\nimport { useTableState } from \"../../TableStateProvider\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { Fragment } from \"react\";\nimport { useScorecardViewStateValue } from \"../../../utils/viewState\";\n\nexport function TableFoot() {\n\tconst table = useTableState();\n\tconst showAverageRow = useScorecardViewStateValue<boolean>(\"averageRow\");\n\n\tif (!showAverageRow) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataTableFoot>\n\t\t\t{table.getFooterGroups().map((footerGroup) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DataTableRow key={footerGroup.id}>\n\t\t\t\t\t\t{footerGroup.headers.map((footer) => {\n\t\t\t\t\t\t\treturn footer.isPlaceholder ? null : (\n\t\t\t\t\t\t\t\t<Fragment key={footer.id}>\n\t\t\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\t\t\tfooter.column.columnDef.footer,\n\t\t\t\t\t\t\t\t\t\tfooter.getContext(),\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</DataTableRow>\n\t\t\t\t);\n\t\t\t})}\n\t\t</DataTableFoot>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/TableHeader/TableHeader.tsx"],"names":["memo","useTableState","jsx","DataTableHead","styles","DataTableRow","Fragment","flexRender"],"mappings":";;;;;;;;;;;;;AAMa,MAAA,WAAA,GAAcA,UAAK,CAAA,SAAS,oBAAuB,GAAA;AAC/D,EAAA,MAAM,QAAQC,gCAAc,EAAA;AAE5B,EACC,uBAAAC,cAAA,CAACC,oBAAc,SAAW,EAAAC,uBAAA,CAAO,eAAe,CAC9C,EAAA,QAAA,EAAA,KAAA,CAAM,iBAAkB,CAAA,GAAA,CAAI,CAAC,WAC7B,qBAAAF,cAAA,CAACG,mBACC,QAAY,EAAA,WAAA,CAAA,OAAA,CAAQ,IAAI,CAAC,MAAA,oCACxBC,cACC,EAAA,EAAA,QAAA,EAAAC,qBAAA;AAAA,IACA,MAAA,CAAO,OAAO,SAAU,CAAA,MAAA;AAAA,IACxB,OAAO,UAAW;AAAA,GACnB,EAAA,EAJc,CAAG,EAAA,MAAA,CAAO,EAAE,CAAA,SAAA,CAK3B,CACA,CARiB,EAAA,EAAA,WAAA,CAAY,EAS/B,CACA,CACF,EAAA,CAAA;AAEF,CAAC","file":"TableHeader.js","sourcesContent":["import { useTableState } from \"../../../TableStateProvider\";\nimport { DataTableHead, DataTableRow } from \"@dhis2/ui\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { Fragment, memo } from \"react\";\nimport styles from \"./TableHeader.module.css\";\n\nexport const TableHeader = memo(function TableHeaderComponent() {\n\tconst table = useTableState();\n\n\treturn (\n\t\t<DataTableHead className={styles[\"sticky-header\"]}>\n\t\t\t{table.getHeaderGroups().map((headerGroup) => (\n\t\t\t\t<DataTableRow key={headerGroup.id}>\n\t\t\t\t\t{headerGroup.headers.map((header) => (\n\t\t\t\t\t\t<Fragment key={`${header.id}-fragment`}>\n\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\theader.column.columnDef.header,\n\t\t\t\t\t\t\t\theader.getContext(),\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t))}\n\t\t\t\t</DataTableRow>\n\t\t\t))}\n\t\t</DataTableHead>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardTable/components/TableHeader/TableHeader.tsx"],"names":["memo","useTableState","jsx","DataTableHead","styles","DataTableRow","Fragment","flexRender"],"mappings":";;;;;;;;;;;;;AAMO,MAAM,WAAA,GAAcA,UAAA,CAAK,SAAS,oBAAA,GAAuB;AAC/D,EAAA,MAAM,QAAQC,gCAAA,EAAc;AAE5B,EAAA,uBACCC,cAAA,CAACC,oBAAc,SAAA,EAAWC,uBAAA,CAAO,eAAe,CAAA,EAC9C,QAAA,EAAA,KAAA,CAAM,iBAAgB,CAAE,GAAA,CAAI,CAAC,WAAA,qBAC7BF,cAAA,CAACG,mBACC,QAAA,EAAA,WAAA,CAAY,OAAA,CAAQ,IAAI,CAAC,MAAA,oCACxBC,cAAA,EAAA,EACC,QAAA,EAAAC,qBAAA;AAAA,IACA,MAAA,CAAO,OAAO,SAAA,CAAU,MAAA;AAAA,IACxB,OAAO,UAAA;AAAW,GACnB,EAAA,EAJc,CAAA,EAAG,MAAA,CAAO,EAAE,CAAA,SAAA,CAK3B,CACA,CAAA,EAAA,EARiB,WAAA,CAAY,EAS/B,CACA,CAAA,EACF,CAAA;AAEF,CAAC","file":"TableHeader.js","sourcesContent":["import { useTableState } from \"../../../TableStateProvider\";\nimport { DataTableHead, DataTableRow } from \"@dhis2/ui\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { Fragment, memo } from \"react\";\nimport styles from \"./TableHeader.module.css\";\n\nexport const TableHeader = memo(function TableHeaderComponent() {\n\tconst table = useTableState();\n\n\treturn (\n\t\t<DataTableHead className={styles[\"sticky-header\"]}>\n\t\t\t{table.getHeaderGroups().map((headerGroup) => (\n\t\t\t\t<DataTableRow key={headerGroup.id}>\n\t\t\t\t\t{headerGroup.headers.map((header) => (\n\t\t\t\t\t\t<Fragment key={`${header.id}-fragment`}>\n\t\t\t\t\t\t\t{flexRender(\n\t\t\t\t\t\t\t\theader.column.columnDef.header,\n\t\t\t\t\t\t\t\theader.getContext(),\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t))}\n\t\t\t\t</DataTableRow>\n\t\t\t))}\n\t\t</DataTableHead>\n\t);\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.tsx"],"names":["useScorecardViewStateValue","useHasOnePeriod","jsx","DataTableColumnHeader","styles","i18n"],"mappings":";;;;;;;;;;;;;;AAQO,SAAS,iBAAkB,CAAA;AAAA,EACjC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,UAAA,GAAaA,qCAAoC,gBAAgB,CAAA;AACvE,EAAA,MAAM,eAAeC,8BAAgB,EAAA;AACrC,EAAA,MAAM,UAAU,UACb,GAAA,YAAA,GACC,GACA,GAAA,GAAA,GACD,eACC,GACA,GAAA,GAAA;AAEJ,EACC,uBAAAC,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MAEA,KAAM,EAAA,OAAA;AAAA,MACN,OAAA,EAAS,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAAA,MACjC,OAAA;AAAA,MACA,WAAWC,uBAAO,CAAA,UAAA;AAAA,MAElB,QAAC,kBAAAF,cAAA,CAAA,GAAA,EAAA,EAAG,QAAK,EAAAG,qBAAA,CAAA,CAAA,CAAE,SAAS,CAAE,EAAA;AAAA,KAAA;AAAA,IANjB,MAAO,CAAA;AAAA,GAOb;AAEF","file":"AverageHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { useScorecardViewStateValue } from \"../../../../../utils/viewState\";\nimport { useHasOnePeriod } from \"../../../../../utils/dimensionState\";\n\nexport function AverageHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst hasOnePeriod = useHasOnePeriod();\n\tconst rowSpan = dataInRows\n\t\t? hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"2\"\n\t\t: hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"3\";\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={header.id}\n\t\t\talign=\"right\"\n\t\t\tcolSpan={header.colSpan.toString()}\n\t\t\trowSpan={rowSpan}\n\t\t\tclassName={styles.metaHeader}\n\t\t>\n\t\t\t<b>{i18n.t(\"Average\")}</b>\n\t\t</DataTableColumnHeader>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.tsx"],"names":["useScorecardViewStateValue","useHasOnePeriod","jsx","DataTableColumnHeader","styles","i18n"],"mappings":";;;;;;;;;;;;;;AAQO,SAAS,iBAAA,CAAkB;AAAA,EACjC;AACD,CAAA,EAA2C;AAC1C,EAAA,MAAM,UAAA,GAAaA,qCAAoC,gBAAgB,CAAA;AACvE,EAAA,MAAM,eAAeC,8BAAA,EAAgB;AACrC,EAAA,MAAM,UAAU,UAAA,GACb,YAAA,GACC,GAAA,GACA,GAAA,GACD,eACC,GAAA,GACA,GAAA;AAEJ,EAAA,uBACCC,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MAEA,KAAA,EAAM,OAAA;AAAA,MACN,OAAA,EAAS,MAAA,CAAO,OAAA,CAAQ,QAAA,EAAS;AAAA,MACjC,OAAA;AAAA,MACA,WAAWC,uBAAA,CAAO,UAAA;AAAA,MAElB,QAAA,kBAAAF,cAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAAG,qBAAA,CAAK,CAAA,CAAE,SAAS,CAAA,EAAE;AAAA,KAAA;AAAA,IANjB,MAAA,CAAO;AAAA,GAOb;AAEF","file":"AverageHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { useScorecardViewStateValue } from \"../../../../../utils/viewState\";\nimport { useHasOnePeriod } from \"../../../../../utils/dimensionState\";\n\nexport function AverageHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst hasOnePeriod = useHasOnePeriod();\n\tconst rowSpan = dataInRows\n\t\t? hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"2\"\n\t\t: hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"3\";\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={header.id}\n\t\t\talign=\"right\"\n\t\t\tcolSpan={header.colSpan.toString()}\n\t\t\trowSpan={rowSpan}\n\t\t\tclassName={styles.metaHeader}\n\t\t>\n\t\t\t<b>{i18n.t(\"Average\")}</b>\n\t\t</DataTableColumnHeader>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":["jsx","DataTableColumnHeader","useScorecardViewStateValue","i18n","DroppableCell","ScorecardDraggableItems","DraggableCell"],"mappings":";;;;;;;;;;;;;;;AAWO,SAAS,mBAAoB,CAAA;AAAA,EACnC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AACxC,EAAO,uBAAAA,cAAA,CAACC,4BAAsB,OAAkB,EAAA,CAAA;AACjD;AAEO,SAAS,uBAAwB,CAAA;AAAA,EACvC,MAAA;AAAA,EACA;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,UAAA,GAAaC,iCAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,KAAA,GACJ,OAAO,MAAO,CAAA,SAAA,CAAU,KAA2B,KACnD,IAAA,MAAA,CAAO,UAAU,IAA2B,CAAA,KAAA;AAE9C,EAAM,MAAA,IAAA,GACJ,OAAO,MAAO,CAAA,SAAA,CAAU,KAA4B,IACpD,IAAA,MAAA,CAAO,UAAU,IAA4B,CAAA,IAAA;AAE/C,EAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAExC,EAAA,MAAM,gBAAgB,CAAC,MAAA,EAAQ,aAC5B,GAAA,SAAA,GACC,OAAQ,WAAY,EAAA;AACxB,EAAA,MAAM,eACL,MAAQ,EAAA,mBAAA,OAA0B,KAC/B,GAAAC,qBAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,QAAQ,mBAAoB,EAAA,KAAM,SACjCA,qBAAK,CAAA,CAAA,CAAE,qBAAqB,CAC5B,GAAAA,qBAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EACC,uBAAAH,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MAEA,eAAeE,qBAAK,CAAA,CAAA,CAAE,uBAAyB,EAAA,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EACC,MAAO,CAAA,MAAA,EAAQ,UAAW,EAAA,IAAK,OAAO,UAAW,EAAA,GAC9C,CAAC,CAAA,EAAG,CAAM,KAAA;AACV,QAAM,MAAA,IAAA,GAAO,OAAQ,uBAAwB,EAAA;AAC7C,QAAA,IAAI,IAAM,EAAA;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA;AACP,OAEA,GAAA,MAAA;AAAA,MAEJ,aAAA,EACC,OAAO,MAAQ,EAAA,UAAA,MAAgB,MAAO,CAAA,UAAA,KACnC,aACA,GAAA,MAAA;AAAA,MAEJ,KAAM,EAAA,QAAA;AAAA,MACN,OAAA;AAAA,MAEA,QAAA,kBAAAH,cAAA;AAAA,QAACI,8BAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAACC,8BAAA,CAAwB,IAAI,CAC7B,GAAA,CAACA,+BAAwB,EAAE,CAAA;AAAA,UAG/B,QAAA,kBAAAL,cAAA;AAAA,YAACM,2BAAA;AAAA,YAAA;AAAA,cACA,EAAI,EAAA,KAAA;AAAA,cACJ,IACC,EAAA,UAAA,GACGD,8BAAwB,CAAA,EAAA,GACxBA,8BAAwB,CAAA,IAAA;AAAA,cAG3B,QAAO,EAAA,IAAA,mBAAAL,cAAA,CAAC,GAAG,EAAA,EAAA,QAAA,EAAA,KAAA,EAAM,CAAO,GAAA;AAAA;AAAA;AAC1B;AAAA;AACD,KAAA;AAAA,IArCK,GAAG,KAAK,CAAA;AAAA,GAsCd;AAEF;AAEO,MAAM,cAAiB,GAAA","file":"DataHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\n\nexport function EmptyDataHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst colSpan = header.colSpan.toString();\n\treturn <DataTableColumnHeader colSpan={colSpan} />;\n}\n\nexport function DataHeaderCellComponent({\n\tcolumn,\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst label =\n\t\t(header.column.columnDef.meta as { label: string }).label ??\n\t\t(column.columnDef.meta as { label: string }).label;\n\n\tconst bold =\n\t\t(header.column.columnDef.meta as { bold?: boolean }).bold ??\n\t\t(column.columnDef.meta as { bold?: boolean }).bold;\n\n\tconst colSpan = header.colSpan.toString();\n\n\tconst sortDirection = !column?.getIsSorted()\n\t\t? \"default\"\n\t\t: (column!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tcolumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: column?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${label}`}\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? (_, e) => {\n\t\t\t\t\t\t\tconst sort = column!.getToggleSortingHandler();\n\t\t\t\t\t\t\tif (sort) {\n\t\t\t\t\t\t\t\tsort(e);\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\tsortDirection={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? sortDirection\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\talign=\"center\"\n\t\t\tcolSpan={colSpan}\n\t\t>\n\t\t\t<DroppableCell\n\t\t\t\taccept={\n\t\t\t\t\tdataInRows\n\t\t\t\t\t\t? [ScorecardDraggableItems.data]\n\t\t\t\t\t\t: [ScorecardDraggableItems.ou]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={label}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.ou\n\t\t\t\t\t\t\t: ScorecardDraggableItems.data\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{bold ? <b>{label}</b> : label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const DataHeaderCell = DataHeaderCellComponent;\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.tsx"],"names":["jsx","DataTableColumnHeader","useScorecardViewStateValue","i18n","DroppableCell","ScorecardDraggableItems","DraggableCell"],"mappings":";;;;;;;;;;;;;;;AAWO,SAAS,mBAAA,CAAoB;AAAA,EACnC;AACD,CAAA,EAA2C;AAC1C,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQ,QAAA,EAAS;AACxC,EAAA,uBAAOA,cAAA,CAACC,4BAAsB,OAAA,EAAkB,CAAA;AACjD;AAEO,SAAS,uBAAA,CAAwB;AAAA,EACvC,MAAA;AAAA,EACA;AACD,CAAA,EAA2C;AAC1C,EAAA,MAAM,UAAA,GAAaC,iCAAoC,gBAAgB,CAAA;AACvE,EAAA,MAAM,KAAA,GACJ,OAAO,MAAA,CAAO,SAAA,CAAU,KAA2B,KAAA,IACnD,MAAA,CAAO,UAAU,IAAA,CAA2B,KAAA;AAE9C,EAAA,MAAM,IAAA,GACJ,OAAO,MAAA,CAAO,SAAA,CAAU,KAA4B,IAAA,IACpD,MAAA,CAAO,UAAU,IAAA,CAA4B,IAAA;AAE/C,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQ,QAAA,EAAS;AAExC,EAAA,MAAM,gBAAgB,CAAC,MAAA,EAAQ,aAAY,GACxC,SAAA,GACC,OAAQ,WAAA,EAAY;AACxB,EAAA,MAAM,eACL,MAAA,EAAQ,mBAAA,OAA0B,KAAA,GAC/BC,qBAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,QAAQ,mBAAA,EAAoB,KAAM,SACjCA,qBAAA,CAAK,CAAA,CAAE,qBAAqB,CAAA,GAC5BA,qBAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EAAA,uBACCH,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MAEA,eAAeE,qBAAA,CAAK,CAAA,CAAE,uBAAA,EAAyB,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EACC,MAAA,CAAO,MAAA,EAAQ,UAAA,EAAW,IAAK,OAAO,UAAA,EAAW,GAC9C,CAAC,CAAA,EAAG,CAAA,KAAM;AACV,QAAA,MAAM,IAAA,GAAO,OAAQ,uBAAA,EAAwB;AAC7C,QAAA,IAAI,IAAA,EAAM;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA,QACP;AAAA,MACD,CAAA,GACC,MAAA;AAAA,MAEJ,aAAA,EACC,OAAO,MAAA,EAAQ,UAAA,MAAgB,MAAA,CAAO,UAAA,KACnC,aAAA,GACA,MAAA;AAAA,MAEJ,KAAA,EAAM,QAAA;AAAA,MACN,OAAA;AAAA,MAEA,QAAA,kBAAAH,cAAA;AAAA,QAACI,8BAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAACC,8BAAA,CAAwB,IAAI,CAAA,GAC7B,CAACA,+BAAwB,EAAE,CAAA;AAAA,UAG/B,QAAA,kBAAAL,cAAA;AAAA,YAACM,2BAAA;AAAA,YAAA;AAAA,cACA,EAAA,EAAI,KAAA;AAAA,cACJ,IAAA,EACC,UAAA,GACGD,8BAAA,CAAwB,EAAA,GACxBA,8BAAA,CAAwB,IAAA;AAAA,cAG3B,QAAA,EAAA,IAAA,mBAAOL,cAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA,KAAA,EAAM,CAAA,GAAO;AAAA;AAAA;AAC1B;AAAA;AACD,KAAA;AAAA,IArCK,GAAG,KAAK,CAAA;AAAA,GAsCd;AAEF;AAEO,MAAM,cAAA,GAAiB","file":"DataHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\n\nexport function EmptyDataHeaderCell({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst colSpan = header.colSpan.toString();\n\treturn <DataTableColumnHeader colSpan={colSpan} />;\n}\n\nexport function DataHeaderCellComponent({\n\tcolumn,\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst label =\n\t\t(header.column.columnDef.meta as { label: string }).label ??\n\t\t(column.columnDef.meta as { label: string }).label;\n\n\tconst bold =\n\t\t(header.column.columnDef.meta as { bold?: boolean }).bold ??\n\t\t(column.columnDef.meta as { bold?: boolean }).bold;\n\n\tconst colSpan = header.colSpan.toString();\n\n\tconst sortDirection = !column?.getIsSorted()\n\t\t? \"default\"\n\t\t: (column!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tcolumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: column?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${label}`}\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? (_, e) => {\n\t\t\t\t\t\t\tconst sort = column!.getToggleSortingHandler();\n\t\t\t\t\t\t\tif (sort) {\n\t\t\t\t\t\t\t\tsort(e);\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\tsortDirection={\n\t\t\t\theader.column?.getCanSort() || column.getCanSort()\n\t\t\t\t\t? sortDirection\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\talign=\"center\"\n\t\t\tcolSpan={colSpan}\n\t\t>\n\t\t\t<DroppableCell\n\t\t\t\taccept={\n\t\t\t\t\tdataInRows\n\t\t\t\t\t\t? [ScorecardDraggableItems.data]\n\t\t\t\t\t\t: [ScorecardDraggableItems.ou]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={label}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.ou\n\t\t\t\t\t\t\t: ScorecardDraggableItems.data\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{bold ? <b>{label}</b> : label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const DataHeaderCell = DataHeaderCellComponent;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/ExpandCell.tsx"],"names":["jsx","DataTableCell"],"mappings":";;;;;AAIO,SAAS,WAAW,KAAiD,EAAA;AAC3E,EAAM,MAAA,IAAA,GAAO,MAAM,QAAS,EAAA;AAC5B,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,OAAQ,EAAA;AAEvC,EAAA,IAAI,CAAC,IAAM,EAAA;AACV,IACC,uBAAAA,cAAA;AAAA,MAACC,gBAAA;AAAA,MAAA;AAAA,QACA,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,QACd,KAAO,EAAA,EAAE,KAAO,EAAA,IAAA,EAAM,UAAU,IAAK,EAAA;AAAA,QAErC,KAAK,EAAA,IAAA;AAAA,QAGL,IAAK,EAAA;AAAA,OAAA;AAAA,MAJA,MAAM,IAAK,CAAA;AAAA,KAKjB;AAAA;AAIF,EAAO,OAAA,IAAA;AACR","file":"ExpandCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\n\nexport function ExpandCell(props: CellContext<ScorecardTableData, boolean>) {\n\tconst data = props.getValue();\n\tconst size = props.cell.column.getSize();\n\n\tif (!data) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\twidth={`${size}px`}\n\t\t\t\tstyle={{ width: size, minWidth: size }}\n\t\t\t\tkey={props.cell.id}\n\t\t\t\tfixed\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\tleft=\"0\"\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/ExpandCell.tsx"],"names":["jsx","DataTableCell"],"mappings":";;;;;AAIO,SAAS,WAAW,KAAA,EAAiD;AAC3E,EAAA,MAAM,IAAA,GAAO,MAAM,QAAA,EAAS;AAC5B,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,OAAA,EAAQ;AAEvC,EAAA,IAAI,CAAC,IAAA,EAAM;AACV,IAAA,uBACCA,cAAA;AAAA,MAACC,gBAAA;AAAA,MAAA;AAAA,QACA,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,QACd,KAAA,EAAO,EAAE,KAAA,EAAO,IAAA,EAAM,UAAU,IAAA,EAAK;AAAA,QAErC,KAAA,EAAK,IAAA;AAAA,QAGL,IAAA,EAAK;AAAA,OAAA;AAAA,MAJA,MAAM,IAAA,CAAK;AAAA,KAKjB;AAAA,EAEF;AAEA,EAAA,OAAO,IAAA;AACR","file":"ExpandCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\n\nexport function ExpandCell(props: CellContext<ScorecardTableData, boolean>) {\n\tconst data = props.getValue();\n\tconst size = props.cell.column.getSize();\n\n\tif (!data) {\n\t\treturn (\n\t\t\t<DataTableCell\n\t\t\t\twidth={`${size}px`}\n\t\t\t\tstyle={{ width: size, minWidth: size }}\n\t\t\t\tkey={props.cell.id}\n\t\t\t\tfixed\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\tleft=\"0\"\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/FilterArea.tsx"],"names":["useState","useScorecardViewStateValue","i18n","useEffect","jsx","InputField","styles"],"mappings":";;;;;;;;;;;;;;AAYO,SAAS,UAAA,CAAW,EAAE,MAAA,EAA2B,EAAA;AACvD,EAAM,MAAA,YAAA,GAAe,OAAO,cAAe,EAAA;AAC3C,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,eAA6B,YAAY,CAAA;AACjE,EAAM,MAAA,UAAA,GAAaC,qCAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,iBAAA,GAAoB,aACvBC,qBAAK,CAAA,CAAA,CAAE,mBAAmB,CAC1B,GAAAA,qBAAA,CAAK,EAAE,2BAA2B,CAAA;AAErC,EAAAC,eAAA,CAAU,MAAM;AACf,IAAM,MAAA,OAAA,GAAU,WAAW,MAAM;AAChC,MAAA,MAAA,CAAO,eAAe,IAAI,CAAA;AAAA,OACxB,GAAG,CAAA;AAEN,IAAO,OAAA,MAAM,aAAa,OAAO,CAAA;AAAA,GAClC,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EACC,uBAAAC,cAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACA,SAAA,EAAWC,wBAAO,cAAc,CAAA;AAAA,MAChC,KAAO,EAAA,IAAA;AAAA,MACP,UAAU,CAAC,EAAE,KAAM,EAAA,KAAM,QAAQ,KAAK,CAAA;AAAA,MACtC,WAAa,EAAA;AAAA;AAAA,GACd;AAEF","file":"FilterArea.js","sourcesContent":["import type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport type { Column } from \"@tanstack/react-table\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { InputField } from \"@dhis2/ui\";\nimport styles from \"../TableHeader.module.css\";\nimport { useEffect, useState } from \"react\";\nimport { useScorecardViewStateValue } from \"../../../../../utils/viewState\";\n\nexport interface FilterAreaProps {\n\tcolumn: Column<ScorecardTableData, any>;\n}\n\nexport function FilterArea({ column }: FilterAreaProps) {\n\tconst defaultValue = column.getFilterValue() as string | undefined;\n\tconst [text, setText] = useState<string | undefined>(defaultValue);\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst searchPlaceholder = dataInRows\n\t\t? i18n.t(\"Search data items\")\n\t\t: i18n.t(\"Search organisation units\");\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tcolumn.setFilterValue(text);\n\t\t}, 700);\n\n\t\treturn () => clearTimeout(timeout);\n\t}, [text]);\n\n\treturn (\n\t\t<InputField\n\t\t\tclassName={styles[\"filter-input\"]}\n\t\t\tvalue={text}\n\t\t\tonChange={({ value }) => setText(value)}\n\t\t\tplaceholder={searchPlaceholder}\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/FilterArea.tsx"],"names":["useState","useScorecardViewStateValue","i18n","useEffect","jsx","InputField","styles"],"mappings":";;;;;;;;;;;;;;AAYO,SAAS,UAAA,CAAW,EAAE,MAAA,EAAO,EAAoB;AACvD,EAAA,MAAM,YAAA,GAAe,OAAO,cAAA,EAAe;AAC3C,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAIA,eAA6B,YAAY,CAAA;AACjE,EAAA,MAAM,UAAA,GAAaC,qCAAoC,gBAAgB,CAAA;AACvE,EAAA,MAAM,iBAAA,GAAoB,aACvBC,qBAAA,CAAK,CAAA,CAAE,mBAAmB,CAAA,GAC1BA,qBAAA,CAAK,EAAE,2BAA2B,CAAA;AAErC,EAAAC,eAAA,CAAU,MAAM;AACf,IAAA,MAAM,OAAA,GAAU,WAAW,MAAM;AAChC,MAAA,MAAA,CAAO,eAAe,IAAI,CAAA;AAAA,IAC3B,GAAG,GAAG,CAAA;AAEN,IAAA,OAAO,MAAM,aAAa,OAAO,CAAA;AAAA,EAClC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,uBACCC,cAAA;AAAA,IAACC,aAAA;AAAA,IAAA;AAAA,MACA,SAAA,EAAWC,wBAAO,cAAc,CAAA;AAAA,MAChC,KAAA,EAAO,IAAA;AAAA,MACP,UAAU,CAAC,EAAE,KAAA,EAAM,KAAM,QAAQ,KAAK,CAAA;AAAA,MACtC,WAAA,EAAa;AAAA;AAAA,GACd;AAEF","file":"FilterArea.js","sourcesContent":["import type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport type { Column } from \"@tanstack/react-table\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { InputField } from \"@dhis2/ui\";\nimport styles from \"../TableHeader.module.css\";\nimport { useEffect, useState } from \"react\";\nimport { useScorecardViewStateValue } from \"../../../../../utils/viewState\";\n\nexport interface FilterAreaProps {\n\tcolumn: Column<ScorecardTableData, any>;\n}\n\nexport function FilterArea({ column }: FilterAreaProps) {\n\tconst defaultValue = column.getFilterValue() as string | undefined;\n\tconst [text, setText] = useState<string | undefined>(defaultValue);\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst searchPlaceholder = dataInRows\n\t\t? i18n.t(\"Search data items\")\n\t\t: i18n.t(\"Search organisation units\");\n\n\tuseEffect(() => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tcolumn.setFilterValue(text);\n\t\t}, 700);\n\n\t\treturn () => clearTimeout(timeout);\n\t}, [text]);\n\n\treturn (\n\t\t<InputField\n\t\t\tclassName={styles[\"filter-input\"]}\n\t\t\tvalue={text}\n\t\t\tonChange={({ value }) => setText(value)}\n\t\t\tplaceholder={searchPlaceholder}\n\t\t/>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":["useScorecardViewStateValue","useMemo","isEmpty","jsx","DataTableCell","DroppableCell","ScorecardDraggableItems","DraggableCell"],"mappings":";;;;;;;;;;;;;;;AAYO,SAAS,mBACf,KAOC,EAAA;AACD,EAAM,MAAA,IAAA,GAAO,MAAM,QAAS,EAAA;AAC5B,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,OAAQ,EAAA;AACvC,EAAM,MAAA,UAAA,GAAaA,iCAAoC,gBAAgB,CAAA;AACvE,EAAM,MAAA,aAAA,GAAgBA,iCAAoC,eAAe,CAAA;AAEzE,EAAM,MAAA,WAAA,GAAcA,iCAAoC,WAAW,CAAA;AAEnE,EAAM,MAAA,IAAA,GAAOC,cAAQ,MAAM;AAC1B,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,GAClB,CAAA,eAAA,EACA,CAAA,SAAA,CAAU,CAAC,EAAE,EAAG,EAAA,KAAM,KAAM,CAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAC5C,IAAA,OAAO,KAAQ,GAAA,EAAA;AAAA,KACb,CAAC,KAAA,CAAM,KAAK,EAAI,EAAA,KAAA,CAAM,GAAG,CAAC,CAAA;AAE7B,EAAM,MAAA,KAAA,GAAQA,cAAQ,MAAM;AAC3B,IAAA,IAAI,UAAY,EAAA;AACf,MAAA,OAAO,KAAK,KAAS,IAAA,EAAA;AAAA;AAEtB,IAAA,IAAI,aAAe,EAAA;AAClB,MAAA,OACC,KAAK,OAAS,EAAA,SAAA,CACZ,KAAM,CAAA,GAAG,EACT,MAAO,CAAA,CAAC,GAAQ,KAAA,CAACC,eAAQ,GAAG,CAAC,CAC7B,CAAA,IAAA,CAAK,KAAK,CAAK,IAAA,EAAA;AAAA;AAGnB,IAAA,OAAO,KAAK,KAAS,IAAA,EAAA;AAAA,GACnB,EAAA,CAAC,IAAM,EAAA,aAAA,EAAe,UAAU,CAAC,CAAA;AAEpC,EACC,uBAAAC,cAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACA,SAAU,EAAA,YAAA;AAAA,MACV,KAAK,EAAA,IAAA;AAAA,MACL,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACd,KAAO,EAAA;AAAA,QACN,KAAA,EAAO,cAAc,MAAS,GAAA,IAAA;AAAA,QAC9B,QAAA,EAAU,cAAc,MAAY,GAAA;AAAA,OACrC;AAAA,MAGA,IAAA,EAAM,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACb,QAAQ,EAAA,IAAA;AAAA,MACR,KAAM,EAAA,MAAA;AAAA,MAEN,QAAA,kBAAAD,cAAA;AAAA,QAACE,8BAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAACC,8BAAA,CAAwB,EAAE,CAC3B,GAAA,CAACA,+BAAwB,IAAI,CAAA;AAAA,UAGjC,QAAA,kBAAAH,cAAA;AAAA,YAACI,2BAAA;AAAA,YAAA;AAAA,cACA,EAAI,EAAA,KAAA;AAAA,cACJ,IACC,EAAA,UAAA,GACGD,8BAAwB,CAAA,IAAA,GACxBA,8BAAwB,CAAA,EAAA;AAAA,cAG3B,QAAA,EAAA;AAAA;AAAA;AACF;AAAA;AACD;AAAA,GACD;AAEF;AAEO,MAAM,SAAY,GAAA","file":"LabelCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport { useMemo } from \"react\";\nimport { isEmpty } from \"lodash\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\n\nexport function LabelCellComponent(\n\tprops: CellContext<\n\t\tScorecardTableData,\n\t\t{\n\t\t\tlabel: string;\n\t\t\torgUnit?: { uid: string; hierarchy: string; name: string };\n\t\t}\n\t>,\n) {\n\tconst data = props.getValue();\n\tconst size = props.cell.column.getSize();\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst showHierarchy = useScorecardViewStateValue<boolean>(\"showHierarchy\");\n\n\tconst inPrintMode = useScorecardViewStateValue<boolean>(\"printMode\");\n\n\tconst left = useMemo(() => {\n\t\tconst index = props.row\n\t\t\t.getVisibleCells()\n\t\t\t.findIndex(({ id }) => props.cell.id === id);\n\t\treturn index * 48;\n\t}, [props.cell.id, props.row]);\n\n\tconst label = useMemo(() => {\n\t\tif (dataInRows) {\n\t\t\treturn data.label ?? \"\";\n\t\t}\n\t\tif (showHierarchy) {\n\t\t\treturn (\n\t\t\t\tdata.orgUnit?.hierarchy\n\t\t\t\t\t.split(\"/\")\n\t\t\t\t\t.filter((val) => !isEmpty(val))\n\t\t\t\t\t.join(\" / \") ?? \"\"\n\t\t\t);\n\t\t}\n\t\treturn data.label ?? \"\";\n\t}, [data, showHierarchy, dataInRows]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tclassName=\"label-cell\"\n\t\t\tfixed\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: inPrintMode ? \"auto\" : size,\n\t\t\t\tminWidth: inPrintMode ? undefined : size,\n\t\t\t}}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t\tbordered\n\t\t\talign=\"left\"\n\t\t>\n\t\t\t<DroppableCell\n\t\t\t\taccept={\n\t\t\t\t\tdataInRows\n\t\t\t\t\t\t? [ScorecardDraggableItems.ou]\n\t\t\t\t\t\t: [ScorecardDraggableItems.data]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={label}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.data\n\t\t\t\t\t\t\t: ScorecardDraggableItems.ou\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LabelCell = LabelCellComponent;\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/LabelCell.tsx"],"names":["useScorecardViewStateValue","useMemo","isEmpty","jsx","DataTableCell","DroppableCell","ScorecardDraggableItems","DraggableCell"],"mappings":";;;;;;;;;;;;;;;AAYO,SAAS,mBACf,KAAA,EAOC;AACD,EAAA,MAAM,IAAA,GAAO,MAAM,QAAA,EAAS;AAC5B,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,OAAA,EAAQ;AACvC,EAAA,MAAM,UAAA,GAAaA,iCAAoC,gBAAgB,CAAA;AACvE,EAAA,MAAM,aAAA,GAAgBA,iCAAoC,eAAe,CAAA;AAEzE,EAAA,MAAM,WAAA,GAAcA,iCAAoC,WAAW,CAAA;AAEnE,EAAA,MAAM,IAAA,GAAOC,cAAQ,MAAM;AAC1B,IAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,GAAA,CAClB,eAAA,EAAgB,CAChB,SAAA,CAAU,CAAC,EAAE,EAAA,EAAG,KAAM,KAAA,CAAM,IAAA,CAAK,OAAO,EAAE,CAAA;AAC5C,IAAA,OAAO,KAAA,GAAQ,EAAA;AAAA,EAChB,GAAG,CAAC,KAAA,CAAM,KAAK,EAAA,EAAI,KAAA,CAAM,GAAG,CAAC,CAAA;AAE7B,EAAA,MAAM,KAAA,GAAQA,cAAQ,MAAM;AAC3B,IAAA,IAAI,UAAA,EAAY;AACf,MAAA,OAAO,KAAK,KAAA,IAAS,EAAA;AAAA,IACtB;AACA,IAAA,IAAI,aAAA,EAAe;AAClB,MAAA,OACC,KAAK,OAAA,EAAS,SAAA,CACZ,KAAA,CAAM,GAAG,EACT,MAAA,CAAO,CAAC,GAAA,KAAQ,CAACC,eAAQ,GAAG,CAAC,CAAA,CAC7B,IAAA,CAAK,KAAK,CAAA,IAAK,EAAA;AAAA,IAEnB;AACA,IAAA,OAAO,KAAK,KAAA,IAAS,EAAA;AAAA,EACtB,CAAA,EAAG,CAAC,IAAA,EAAM,aAAA,EAAe,UAAU,CAAC,CAAA;AAEpC,EAAA,uBACCC,cAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACA,SAAA,EAAU,YAAA;AAAA,MACV,KAAA,EAAK,IAAA;AAAA,MACL,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACd,KAAA,EAAO;AAAA,QACN,KAAA,EAAO,cAAc,MAAA,GAAS,IAAA;AAAA,QAC9B,QAAA,EAAU,cAAc,MAAA,GAAY;AAAA,OACrC;AAAA,MAGA,IAAA,EAAM,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACb,QAAA,EAAQ,IAAA;AAAA,MACR,KAAA,EAAM,MAAA;AAAA,MAEN,QAAA,kBAAAD,cAAA;AAAA,QAACE,8BAAA;AAAA,QAAA;AAAA,UACA,MAAA,EACC,aACG,CAACC,8BAAA,CAAwB,EAAE,CAAA,GAC3B,CAACA,+BAAwB,IAAI,CAAA;AAAA,UAGjC,QAAA,kBAAAH,cAAA;AAAA,YAACI,2BAAA;AAAA,YAAA;AAAA,cACA,EAAA,EAAI,KAAA;AAAA,cACJ,IAAA,EACC,UAAA,GACGD,8BAAA,CAAwB,IAAA,GACxBA,8BAAA,CAAwB,EAAA;AAAA,cAG3B,QAAA,EAAA;AAAA;AAAA;AACF;AAAA;AACD;AAAA,GACD;AAEF;AAEO,MAAM,SAAA,GAAY","file":"LabelCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport {\n\tScorecardDraggableItems,\n\ttype ScorecardTableData,\n} from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport DroppableCell from \"../../DroppableCell\";\nimport { DraggableCell } from \"../../DraggableCell\";\nimport { useMemo } from \"react\";\nimport { isEmpty } from \"lodash\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\n\nexport function LabelCellComponent(\n\tprops: CellContext<\n\t\tScorecardTableData,\n\t\t{\n\t\t\tlabel: string;\n\t\t\torgUnit?: { uid: string; hierarchy: string; name: string };\n\t\t}\n\t>,\n) {\n\tconst data = props.getValue();\n\tconst size = props.cell.column.getSize();\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\tconst showHierarchy = useScorecardViewStateValue<boolean>(\"showHierarchy\");\n\n\tconst inPrintMode = useScorecardViewStateValue<boolean>(\"printMode\");\n\n\tconst left = useMemo(() => {\n\t\tconst index = props.row\n\t\t\t.getVisibleCells()\n\t\t\t.findIndex(({ id }) => props.cell.id === id);\n\t\treturn index * 48;\n\t}, [props.cell.id, props.row]);\n\n\tconst label = useMemo(() => {\n\t\tif (dataInRows) {\n\t\t\treturn data.label ?? \"\";\n\t\t}\n\t\tif (showHierarchy) {\n\t\t\treturn (\n\t\t\t\tdata.orgUnit?.hierarchy\n\t\t\t\t\t.split(\"/\")\n\t\t\t\t\t.filter((val) => !isEmpty(val))\n\t\t\t\t\t.join(\" / \") ?? \"\"\n\t\t\t);\n\t\t}\n\t\treturn data.label ?? \"\";\n\t}, [data, showHierarchy, dataInRows]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tclassName=\"label-cell\"\n\t\t\tfixed\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: inPrintMode ? \"auto\" : size,\n\t\t\t\tminWidth: inPrintMode ? undefined : size,\n\t\t\t}}\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t\tbordered\n\t\t\talign=\"left\"\n\t\t>\n\t\t\t<DroppableCell\n\t\t\t\taccept={\n\t\t\t\t\tdataInRows\n\t\t\t\t\t\t? [ScorecardDraggableItems.ou]\n\t\t\t\t\t\t: [ScorecardDraggableItems.data]\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DraggableCell\n\t\t\t\t\tid={label}\n\t\t\t\t\ttype={\n\t\t\t\t\t\tdataInRows\n\t\t\t\t\t\t\t? ScorecardDraggableItems.data\n\t\t\t\t\t\t\t: ScorecardDraggableItems.ou\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{label}\n\t\t\t\t</DraggableCell>\n\t\t\t</DroppableCell>\n\t\t</DataTableCell>\n\t);\n}\n\nexport const LabelCell = LabelCellComponent;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["useRef","uid","useHasOnePeriod","useScorecardViewStateValue","header","i18n","jsx","DataTableColumnHeader","styles","FilterArea","memo"],"mappings":";;;;;;;;;;;;;;;;AAWA,SAAS,uBAAwB,CAAA;AAAA,EAChC;AACD,CAA2C,EAAA;AAC1C,EAAM,MAAA,QAAA,GAAWA,YAAe,CAAAC,cAAA,EAAK,CAAA;AAErC,EAAA,MAAM,eAAeC,qBAAgB,EAAA;AACrC,EAAM,MAAA,UAAA,GAAaC,iCAAoC,gBAAgB,CAAA;AAEvE,EAAA,MAAM,UAAU,UACb,GAAA,YAAA,GACC,GACA,GAAA,GAAA,GACD,eACC,GACA,GAAA,GAAA;AAEJ,EAAM,MAAA,YAAA,GAAe,OAAO,UAAW,CAAA,IAAA;AAAA,IAAK,CAACC,OAAAA,KAC5CA,OAAO,CAAA,MAAA,CAAO,YAAa;AAAA,GACzB,EAAA,MAAA;AAEH,EAAA,MAAM,gBAAgB,CAAC,YAAA,EAAc,aAClC,GAAA,SAAA,GACC,aAAc,WAAY,EAAA;AAC9B,EAAA,MAAM,eACL,YAAc,EAAA,mBAAA,OAA0B,KACrC,GAAAC,qBAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,cAAc,mBAAoB,EAAA,KAAM,SACvCA,qBAAK,CAAA,CAAA,CAAE,qBAAqB,CAC5B,GAAAA,qBAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EACC,uBAAAC,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MAEA,KAAM,EAAA,QAAA;AAAA,MACN,eAAeF,qBAAK,CAAA,CAAA,CAAE,uBAAyB,EAAA,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EAAiB,CAAC,CAAA,EAAG,CAAM,KAAA;AAC1B,QAAM,MAAA,IAAA,GAAO,aAAc,uBAAwB,EAAA;AACnD,QAAA,IAAI,IAAM,EAAA;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA;AACP,OACD;AAAA,MACA,KAAK,EAAA,IAAA;AAAA,MAGL,IAAK,EAAA,GAAA;AAAA,MACL,aAAA;AAAA,MACA,OAAA,EAAS,MAAO,CAAA,OAAA,CAAQ,QAAS,EAAA;AAAA,MACjC,OAAA;AAAA,MACA,WAAWG,uBAAO,CAAA,UAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,CAAC,YACF,oBAAAF,cAAA;AAAA,QAACG,qBAAA;AAAA,QAAA;AAAA,UAEA,MAAQ,EAAA;AAAA,SAAA;AAAA,QADH,CAAA,EAAG,OAAO,EAAE,CAAA,YAAA;AAAA;AAElB,KAAA;AAAA,IAtBI,CAAG,EAAA,MAAA,CAAO,EAAE,CAAA,CAAA,EAAI,SAAS,OAAO,CAAA;AAAA,GAwBtC;AAEF;AAEa,MAAA,cAAA,GAAiBC,WAAK,uBAAuB","file":"MetaHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { FilterArea } from \"./FilterArea\";\nimport { uid } from \"@hisptz/dhis2-utils\";\nimport { memo, useRef } from \"react\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\nimport { useHasOnePeriod } from \"../../../../../utils\";\n\nfunction MetaHeaderCellComponent({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst randomId = useRef<string>(uid());\n\n\tconst hasOnePeriod = useHasOnePeriod();\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\n\tconst rowSpan = dataInRows\n\t\t? hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"2\"\n\t\t: hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"3\";\n\n\tconst filterColumn = header.subHeaders.find((header) =>\n\t\theader.column.getCanFilter(),\n\t)?.column;\n\n\tconst sortDirection = !filterColumn?.getIsSorted()\n\t\t? \"default\"\n\t\t: (filterColumn!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tfilterColumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: filterColumn?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${header.id}-${randomId.current}`}\n\t\t\talign=\"center\"\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={(_, e) => {\n\t\t\t\tconst sort = filterColumn!.getToggleSortingHandler();\n\t\t\t\tif (sort) {\n\t\t\t\t\tsort(e);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"0\"\n\t\t\tsortDirection={sortDirection}\n\t\t\tcolSpan={header.colSpan.toString()}\n\t\t\trowSpan={rowSpan}\n\t\t\tclassName={styles.metaHeader}\n\t\t>\n\t\t\t{!!filterColumn && (\n\t\t\t\t<FilterArea\n\t\t\t\t\tkey={`${header.id}-filter-area`}\n\t\t\t\t\tcolumn={filterColumn}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const MetaHeaderCell = memo(MetaHeaderCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.tsx"],"names":["useRef","uid","useHasOnePeriod","useScorecardViewStateValue","header","i18n","jsx","DataTableColumnHeader","styles","FilterArea","memo"],"mappings":";;;;;;;;;;;;;;;;AAWA,SAAS,uBAAA,CAAwB;AAAA,EAChC;AACD,CAAA,EAA2C;AAC1C,EAAA,MAAM,QAAA,GAAWA,YAAA,CAAeC,cAAA,EAAK,CAAA;AAErC,EAAA,MAAM,eAAeC,qBAAA,EAAgB;AACrC,EAAA,MAAM,UAAA,GAAaC,iCAAoC,gBAAgB,CAAA;AAEvE,EAAA,MAAM,UAAU,UAAA,GACb,YAAA,GACC,GAAA,GACA,GAAA,GACD,eACC,GAAA,GACA,GAAA;AAEJ,EAAA,MAAM,YAAA,GAAe,OAAO,UAAA,CAAW,IAAA;AAAA,IAAK,CAACC,OAAAA,KAC5CA,OAAAA,CAAO,MAAA,CAAO,YAAA;AAAa,GAC5B,EAAG,MAAA;AAEH,EAAA,MAAM,gBAAgB,CAAC,YAAA,EAAc,aAAY,GAC9C,SAAA,GACC,aAAc,WAAA,EAAY;AAC9B,EAAA,MAAM,eACL,YAAA,EAAc,mBAAA,OAA0B,KAAA,GACrCC,qBAAA,CAAK,EAAE,oBAAoB,CAAA,GAC3B,cAAc,mBAAA,EAAoB,KAAM,SACvCA,qBAAA,CAAK,CAAA,CAAE,qBAAqB,CAAA,GAC5BA,qBAAA,CAAK,EAAE,SAAS,CAAA;AAErB,EAAA,uBACCC,cAAA;AAAA,IAACC,wBAAA;AAAA,IAAA;AAAA,MAEA,KAAA,EAAM,QAAA;AAAA,MACN,eAAeF,qBAAA,CAAK,CAAA,CAAE,uBAAA,EAAyB,EAAE,cAAc,CAAA;AAAA,MAC/D,eAAA,EAAiB,CAAC,CAAA,EAAG,CAAA,KAAM;AAC1B,QAAA,MAAM,IAAA,GAAO,aAAc,uBAAA,EAAwB;AACnD,QAAA,IAAI,IAAA,EAAM;AACT,UAAA,IAAA,CAAK,CAAC,CAAA;AAAA,QACP;AAAA,MACD,CAAA;AAAA,MACA,KAAA,EAAK,IAAA;AAAA,MAGL,IAAA,EAAK,GAAA;AAAA,MACL,aAAA;AAAA,MACA,OAAA,EAAS,MAAA,CAAO,OAAA,CAAQ,QAAA,EAAS;AAAA,MACjC,OAAA;AAAA,MACA,WAAWG,uBAAA,CAAO,UAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,CAAC,YAAA,oBACFF,cAAA;AAAA,QAACG,qBAAA;AAAA,QAAA;AAAA,UAEA,MAAA,EAAQ;AAAA,SAAA;AAAA,QADH,CAAA,EAAG,OAAO,EAAE,CAAA,YAAA;AAAA;AAElB,KAAA;AAAA,IAtBI,CAAA,EAAG,MAAA,CAAO,EAAE,CAAA,CAAA,EAAI,SAAS,OAAO,CAAA;AAAA,GAwBtC;AAEF;AAEO,MAAM,cAAA,GAAiBC,WAAK,uBAAuB","file":"MetaHeaderCell.js","sourcesContent":["import type { HeaderContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableColumnHeader, type DataTableSortDirection } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport styles from \"../TableHeader.module.css\";\nimport { FilterArea } from \"./FilterArea\";\nimport { uid } from \"@hisptz/dhis2-utils\";\nimport { memo, useRef } from \"react\";\nimport { useScorecardViewStateValue } from \"../../../../../utils\";\nimport { useHasOnePeriod } from \"../../../../../utils\";\n\nfunction MetaHeaderCellComponent({\n\theader,\n}: HeaderContext<ScorecardTableData, any>) {\n\tconst randomId = useRef<string>(uid());\n\n\tconst hasOnePeriod = useHasOnePeriod();\n\tconst dataInRows = useScorecardViewStateValue<boolean>(\"showDataInRows\");\n\n\tconst rowSpan = dataInRows\n\t\t? hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"2\"\n\t\t: hasOnePeriod\n\t\t\t? \"2\"\n\t\t\t: \"3\";\n\n\tconst filterColumn = header.subHeaders.find((header) =>\n\t\theader.column.getCanFilter(),\n\t)?.column;\n\n\tconst sortDirection = !filterColumn?.getIsSorted()\n\t\t? \"default\"\n\t\t: (filterColumn!.getIsSorted() as DataTableSortDirection);\n\tconst nextSortType =\n\t\tfilterColumn?.getNextSortingOrder() === \"asc\"\n\t\t\t? i18n.t(\"in ascending order\")\n\t\t\t: filterColumn?.getNextSortingOrder() === \"desc\"\n\t\t\t\t? i18n.t(\"in descending order\")\n\t\t\t\t: i18n.t(\"disable\");\n\n\treturn (\n\t\t<DataTableColumnHeader\n\t\t\tkey={`${header.id}-${randomId.current}`}\n\t\t\talign=\"center\"\n\t\t\tsortIconTitle={i18n.t(\"Sort {{nextSortType}}\", { nextSortType })}\n\t\t\tonSortIconClick={(_, e) => {\n\t\t\t\tconst sort = filterColumn!.getToggleSortingHandler();\n\t\t\t\tif (sort) {\n\t\t\t\t\tsort(e);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft=\"0\"\n\t\t\tsortDirection={sortDirection}\n\t\t\tcolSpan={header.colSpan.toString()}\n\t\t\trowSpan={rowSpan}\n\t\t\tclassName={styles.metaHeader}\n\t\t>\n\t\t\t{!!filterColumn && (\n\t\t\t\t<FilterArea\n\t\t\t\t\tkey={`${header.id}-filter-area`}\n\t\t\t\t\tcolumn={filterColumn}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</DataTableColumnHeader>\n\t);\n}\n\nexport const MetaHeaderCell = memo(MetaHeaderCellComponent);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":["useMemo","jsx","DataTableCell","memo"],"mappings":";;;;;;AAKA,SAAS,oBACR,KACC,EAAA;AACD,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,QAAS,EAAA,CAAE,QAAS,EAAA;AACvC,EAAA,MAAM,IAAO,GAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAO,OAAQ,EAAA;AAEvC,EAAM,MAAA,IAAA,GAAOA,cAAQ,MAAM;AAC1B,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,GAClB,CAAA,eAAA,EACA,CAAA,SAAA,CAAU,CAAC,EAAE,EAAG,EAAA,KAAM,KAAM,CAAA,IAAA,CAAK,OAAO,EAAE,CAAA;AAC5C,IAAA,OAAO,KAAQ,GAAA,IAAA;AAAA,GACb,EAAA,CAAC,KAAM,CAAA,GAAA,EAAK,IAAI,CAAC,CAAA;AAEpB,EACC,uBAAAC,cAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACA,QAAQ,EAAA,IAAA;AAAA,MACR,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACd,KAAO,EAAA;AAAA,QACN,KAAO,EAAA,IAAA;AAAA,QACP,QAAU,EAAA,IAAA;AAAA,QACV,QAAU,EAAA,EAAA;AAAA,QACV,MAAQ,EAAA;AAAA,OACT;AAAA,MACA,KAAK,EAAA,IAAA;AAAA,MAGL,IAAA,EAAM,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MAEZ,QAAA,EAAA;AAAA;AAAA,GACF;AAEF;AAEa,MAAA,UAAA,GAAaC,WAAK,mBAAmB","file":"NumberCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\n\nfunction NumberCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst size = props.cell.column.getSize();\n\n\tconst left = useMemo(() => {\n\t\tconst index = props.row\n\t\t\t.getVisibleCells()\n\t\t\t.findIndex(({ id }) => props.cell.id === id);\n\t\treturn index * size;\n\t}, [props.row, size]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: size,\n\t\t\t\tmaxWidth: 48,\n\t\t\t\theight: 48,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t>\n\t\t\t{data}\n\t\t</DataTableCell>\n\t);\n}\n\nexport const NumberCell = memo(NumberCellComponent);\n"]}
1
+ {"version":3,"sources":["../../../../../../src/components/ScorecardTable/components/TableHeader/components/NumberCell.tsx"],"names":["useMemo","jsx","DataTableCell","memo"],"mappings":";;;;;;AAKA,SAAS,oBACR,KAAA,EACC;AACD,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,QAAA,EAAS,CAAE,QAAA,EAAS;AACvC,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,CAAK,MAAA,CAAO,OAAA,EAAQ;AAEvC,EAAA,MAAM,IAAA,GAAOA,cAAQ,MAAM;AAC1B,IAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,GAAA,CAClB,eAAA,EAAgB,CAChB,SAAA,CAAU,CAAC,EAAE,EAAA,EAAG,KAAM,KAAA,CAAM,IAAA,CAAK,OAAO,EAAE,CAAA;AAC5C,IAAA,OAAO,KAAA,GAAQ,IAAA;AAAA,EAChB,CAAA,EAAG,CAAC,KAAA,CAAM,GAAA,EAAK,IAAI,CAAC,CAAA;AAEpB,EAAA,uBACCC,cAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACA,QAAA,EAAQ,IAAA;AAAA,MACR,KAAA,EAAO,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACd,KAAA,EAAO;AAAA,QACN,KAAA,EAAO,IAAA;AAAA,QACP,QAAA,EAAU,IAAA;AAAA,QACV,QAAA,EAAU,EAAA;AAAA,QACV,MAAA,EAAQ;AAAA,OACT;AAAA,MACA,KAAA,EAAK,IAAA;AAAA,MAGL,IAAA,EAAM,GAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MAEZ,QAAA,EAAA;AAAA;AAAA,GACF;AAEF;AAEO,MAAM,UAAA,GAAaC,WAAK,mBAAmB","file":"NumberCell.js","sourcesContent":["import type { CellContext } from \"@tanstack/react-table\";\nimport type { ScorecardTableData } from \"../../../../../schemas/config\";\nimport { DataTableCell } from \"@dhis2/ui\";\nimport { memo, useMemo } from \"react\";\n\nfunction NumberCellComponent(\n\tprops: CellContext<ScorecardTableData, string | number>,\n) {\n\tconst data = props.getValue().toString();\n\tconst size = props.cell.column.getSize();\n\n\tconst left = useMemo(() => {\n\t\tconst index = props.row\n\t\t\t.getVisibleCells()\n\t\t\t.findIndex(({ id }) => props.cell.id === id);\n\t\treturn index * size;\n\t}, [props.row, size]);\n\n\treturn (\n\t\t<DataTableCell\n\t\t\tbordered\n\t\t\twidth={`${size}px`}\n\t\t\tstyle={{\n\t\t\t\twidth: size,\n\t\t\t\tminWidth: size,\n\t\t\t\tmaxWidth: 48,\n\t\t\t\theight: 48,\n\t\t\t}}\n\t\t\tfixed\n\t\t\t/*\n // @ts-ignore */\n\t\t\tleft={`${left}px`}\n\t\t>\n\t\t\t{data}\n\t\t</DataTableCell>\n\t);\n}\n\nexport const NumberCell = memo(NumberCellComponent);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/StateProvider.tsx"],"names":["createContext","useContext","useRef","createScorecardViewStateEngine","createDimensionStateEngine","jsx"],"mappings":";;;;;;;AAiBA,MAAM,qBAAA,GAAwBA,oBAGpB,IAAI,CAAA;AAEP,SAAS,2BAA8B,GAAA;AAC7C,EAAM,MAAA,OAAA,GAAUC,iBAAW,qBAAqB,CAAA;AAChD,EAAA,IAAI,CAAC,OAAS,EAAA;AACb,IAAM,MAAA,KAAA;AAAA,MACL;AAAA,KACD;AAAA;AAED,EAAA,OAAO,OAAQ,CAAA,OAAA;AAChB;AAEO,SAAS,gCAAmC,GAAA;AAClD,EAAM,MAAA,OAAA,GAAUA,iBAAW,qBAAqB,CAAA;AAChD,EAAA,IAAI,CAAC,OAAS,EAAA;AACb,IAAM,MAAA,KAAA;AAAA,MACL;AAAA,KACD;AAAA;AAED,EAAA,OAAO,OAAQ,CAAA,SAAA;AAChB;AAEO,SAAS,sBAAuB,CAAA;AAAA,EACtC,QAAA;AAAA,EACA,YAAA;AAAA,EACA;AACD,CAAgC,EAAA;AAC/B,EAAA,MAAM,eAAkB,GAAAC,YAAA;AAAA,IACvBC,wCAA+B,CAAA,YAAA,EAAc,OAAW,IAAA,MAAA,CAAO,OAAO;AAAA,GACvE;AACA,EAAA,MAAM,oBAAuB,GAAAD,YAAA;AAAA,IAC5BE,yCAA2B,CAAA;AAAA,MAC1B,gBAAA,EACC,YAAc,EAAA,gBAAA,IAAoB,MAAO,CAAA,gBAAA;AAAA,MAC1C,eAAA,EACC,YAAc,EAAA,eAAA,IAAmB,MAAO,CAAA;AAAA,KACzC;AAAA,GACF;AAEA,EACC,uBAAAC,cAAA;AAAA,IAAC,qBAAsB,CAAA,QAAA;AAAA,IAAtB;AAAA,MACA,KAAO,EAAA;AAAA,QACN,SAAS,eAAgB,CAAA,OAAA;AAAA,QACzB,WAAW,oBAAqB,CAAA;AAAA,OACjC;AAAA,MAEC;AAAA;AAAA,GACF;AAEF","file":"StateProvider.js","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"../schemas/config\";\nimport { createContext, type ReactNode, useContext, useRef } from \"react\";\nimport {\n\tcreateScorecardViewStateEngine,\n\ttype ScorecardViewStateEngine,\n} from \"../utils/viewState\";\nimport {\n\tcreateDimensionStateEngine,\n\ttype DimensionStateEngine,\n} from \"../utils/dimensionState\";\n\nexport interface ScorecardStateProviderProps {\n\tinitialState?: ScorecardState;\n\tconfig: ScorecardConfig;\n\tchildren: ReactNode;\n}\n\nconst ScorecardStateContext = createContext<{\n\toptions: ScorecardViewStateEngine;\n\tdimension: DimensionStateEngine;\n} | null>(null);\n\nexport function useScorecardViewStateEngine() {\n\tconst context = useContext(ScorecardStateContext);\n\tif (!context) {\n\t\tthrow Error(\n\t\t\t\"useScorecardViewStateEngine should be used inside a Scorecard Context\",\n\t\t);\n\t}\n\treturn context.options;\n}\n\nexport function useScorecardDimensionStateEngine() {\n\tconst context = useContext(ScorecardStateContext);\n\tif (!context) {\n\t\tthrow Error(\n\t\t\t\"useScorecardDimensionStateEngine should be used inside a Scorecard Context\",\n\t\t);\n\t}\n\treturn context.dimension;\n}\n\nexport function ScorecardStateProvider({\n\tchildren,\n\tinitialState,\n\tconfig,\n}: ScorecardStateProviderProps) {\n\tconst viewStateEngine = useRef<ScorecardViewStateEngine>(\n\t\tcreateScorecardViewStateEngine(initialState?.options ?? config.options),\n\t);\n\tconst dimensionStateEngine = useRef<DimensionStateEngine>(\n\t\tcreateDimensionStateEngine({\n\t\t\torgUnitSelection:\n\t\t\t\tinitialState?.orgUnitSelection ?? config.orgUnitSelection,\n\t\t\tperiodSelection:\n\t\t\t\tinitialState?.periodSelection ?? config.periodSelection,\n\t\t}),\n\t);\n\n\treturn (\n\t\t<ScorecardStateContext.Provider\n\t\t\tvalue={{\n\t\t\t\toptions: viewStateEngine.current,\n\t\t\t\tdimension: dimensionStateEngine.current,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</ScorecardStateContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../src/components/StateProvider.tsx"],"names":["createContext","useContext","useRef","createScorecardViewStateEngine","createDimensionStateEngine","jsx"],"mappings":";;;;;;;AAiBA,MAAM,qBAAA,GAAwBA,oBAGpB,IAAI,CAAA;AAEP,SAAS,2BAAA,GAA8B;AAC7C,EAAA,MAAM,OAAA,GAAUC,iBAAW,qBAAqB,CAAA;AAChD,EAAA,IAAI,CAAC,OAAA,EAAS;AACb,IAAA,MAAM,KAAA;AAAA,MACL;AAAA,KACD;AAAA,EACD;AACA,EAAA,OAAO,OAAA,CAAQ,OAAA;AAChB;AAEO,SAAS,gCAAA,GAAmC;AAClD,EAAA,MAAM,OAAA,GAAUA,iBAAW,qBAAqB,CAAA;AAChD,EAAA,IAAI,CAAC,OAAA,EAAS;AACb,IAAA,MAAM,KAAA;AAAA,MACL;AAAA,KACD;AAAA,EACD;AACA,EAAA,OAAO,OAAA,CAAQ,SAAA;AAChB;AAEO,SAAS,sBAAA,CAAuB;AAAA,EACtC,QAAA;AAAA,EACA,YAAA;AAAA,EACA;AACD,CAAA,EAAgC;AAC/B,EAAA,MAAM,eAAA,GAAkBC,YAAA;AAAA,IACvBC,wCAAA,CAA+B,YAAA,EAAc,OAAA,IAAW,MAAA,CAAO,OAAO;AAAA,GACvE;AACA,EAAA,MAAM,oBAAA,GAAuBD,YAAA;AAAA,IAC5BE,yCAAA,CAA2B;AAAA,MAC1B,gBAAA,EACC,YAAA,EAAc,gBAAA,IAAoB,MAAA,CAAO,gBAAA;AAAA,MAC1C,eAAA,EACC,YAAA,EAAc,eAAA,IAAmB,MAAA,CAAO;AAAA,KACzC;AAAA,GACF;AAEA,EAAA,uBACCC,cAAA;AAAA,IAAC,qBAAA,CAAsB,QAAA;AAAA,IAAtB;AAAA,MACA,KAAA,EAAO;AAAA,QACN,SAAS,eAAA,CAAgB,OAAA;AAAA,QACzB,WAAW,oBAAA,CAAqB;AAAA,OACjC;AAAA,MAEC;AAAA;AAAA,GACF;AAEF","file":"StateProvider.js","sourcesContent":["import type { ScorecardConfig, ScorecardState } from \"../schemas/config\";\nimport { createContext, type ReactNode, useContext, useRef } from \"react\";\nimport {\n\tcreateScorecardViewStateEngine,\n\ttype ScorecardViewStateEngine,\n} from \"../utils/viewState\";\nimport {\n\tcreateDimensionStateEngine,\n\ttype DimensionStateEngine,\n} from \"../utils/dimensionState\";\n\nexport interface ScorecardStateProviderProps {\n\tinitialState?: ScorecardState;\n\tconfig: ScorecardConfig;\n\tchildren: ReactNode;\n}\n\nconst ScorecardStateContext = createContext<{\n\toptions: ScorecardViewStateEngine;\n\tdimension: DimensionStateEngine;\n} | null>(null);\n\nexport function useScorecardViewStateEngine() {\n\tconst context = useContext(ScorecardStateContext);\n\tif (!context) {\n\t\tthrow Error(\n\t\t\t\"useScorecardViewStateEngine should be used inside a Scorecard Context\",\n\t\t);\n\t}\n\treturn context.options;\n}\n\nexport function useScorecardDimensionStateEngine() {\n\tconst context = useContext(ScorecardStateContext);\n\tif (!context) {\n\t\tthrow Error(\n\t\t\t\"useScorecardDimensionStateEngine should be used inside a Scorecard Context\",\n\t\t);\n\t}\n\treturn context.dimension;\n}\n\nexport function ScorecardStateProvider({\n\tchildren,\n\tinitialState,\n\tconfig,\n}: ScorecardStateProviderProps) {\n\tconst viewStateEngine = useRef<ScorecardViewStateEngine>(\n\t\tcreateScorecardViewStateEngine(initialState?.options ?? config.options),\n\t);\n\tconst dimensionStateEngine = useRef<DimensionStateEngine>(\n\t\tcreateDimensionStateEngine({\n\t\t\torgUnitSelection:\n\t\t\t\tinitialState?.orgUnitSelection ?? config.orgUnitSelection,\n\t\t\tperiodSelection:\n\t\t\t\tinitialState?.periodSelection ?? config.periodSelection,\n\t\t}),\n\t);\n\n\treturn (\n\t\t<ScorecardStateContext.Provider\n\t\t\tvalue={{\n\t\t\t\toptions: viewStateEngine.current,\n\t\t\t\tdimension: dimensionStateEngine.current,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</ScorecardStateContext.Provider>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/TableStateProvider.tsx"],"names":["createContext","getCoreRowModel","useContext","useDeferredValue","useReactTable","useBoolean","jsx","memo","TableStateProvider","useTableSetup"],"mappings":";;;;;;;;AAgBA,MAAM,oBAAoBA,mBAAgD,CAAA;AAAA,EACzE,OAAO,EAAC;AAAA,EACR,SAAS,EAAC;AAAA,EACV,iBAAiBC,0BAAgB,EAAA;AAAA,EACjC,MAAM;AACP,CAAC,CAAA;AAED,MAAM,wBAAA,GAA2BD,oBAAuB,KAAK,CAAA;AAC7D,MAAM,8BAAA,GAAiCA,oBAA0B,MAAM;AAAC,CAAC,CAAA;AAElE,SAAS,aAAgB,GAAA;AAC/B,EAAM,MAAA,OAAA,GAAUE,iBAAW,iBAAiB,CAAA;AAC5C,EAAM,MAAA,eAAA,GAAkBC,uBAAiB,OAAO,CAAA;AAChD,EAAA,OAAOC,yBAAkC,eAAe,CAAA;AACzD;AAEO,SAAS,0BAA6B,GAAA;AAC5C,EAAA,OAAOF,iBAAW,8BAA8B,CAAA;AACjD;AAEO,SAAS,oBAAuB,GAAA;AACtC,EAAA,OAAOA,iBAAW,wBAAwB,CAAA;AAC3C;AAEO,SAAS,yBAA0B,CAAA;AAAA,EACzC;AACD,CAEG,EAAA;AACF,EAAA,MAAM,EAAE,KAAO,EAAA,OAAA,EAAS,MAAO,EAAA,GAAIG,sBAAW,KAAK,CAAA;AAEnD,EAAA,uBACEC,cAAA,CAAA,8BAAA,CAA+B,QAA/B,EAAA,EAAwC,KAAO,EAAA,MAAA,EAC/C,QAAC,kBAAAA,cAAA,CAAA,wBAAA,CAAyB,QAAzB,EAAA,EAAkC,KAAO,EAAA,OAAA,EACxC,UACF,CACD,EAAA,CAAA;AAEF;AAEa,MAAA,kBAAA,GAAqBC,UAAK,CAAA,SAASC,mBAAmB,CAAA;AAAA,EAClE;AACD,CAEG,EAAA;AACF,EAAA,MAAM,UAAUC,mBAAc,EAAA;AAC9B,EACC,uBAAAH,cAAA,CAAC,kBAAkB,QAAlB,EAAA,EAA2B,OAAO,OAClC,EAAA,QAAA,kBAAAA,cAAA,CAAC,yBAA2B,EAAA,EAAA,QAAA,EAAS,CACtC,EAAA,CAAA;AAEF,CAAC","file":"TableStateProvider.js","sourcesContent":["import {\n\tcreateContext,\n\tmemo,\n\ttype ReactNode,\n\tuseContext,\n\tuseDeferredValue,\n} from \"react\";\nimport {\n\tgetCoreRowModel,\n\ttype TableOptions,\n\tuseReactTable,\n} from \"@tanstack/react-table\";\nimport { useTableSetup } from \"../hooks/table\";\nimport type { ScorecardTableData } from \"../schemas/config\";\nimport { useBoolean } from \"usehooks-ts\";\n\nconst TableStateContext = createContext<TableOptions<ScorecardTableData>>({\n\tstate: {},\n\tcolumns: [],\n\tgetCoreRowModel: getCoreRowModel(),\n\tdata: [],\n});\n\nconst TableLoadingStateContext = createContext<boolean>(false);\nconst TableLoadingStateToggleContext = createContext<() => void>(() => {});\n\nexport function useTableState() {\n\tconst context = useContext(TableStateContext);\n\tconst deferredContext = useDeferredValue(context);\n\treturn useReactTable<ScorecardTableData>(deferredContext);\n}\n\nexport function useToggleTableLoadingState() {\n\treturn useContext(TableLoadingStateToggleContext);\n}\n\nexport function useTableLoadingState() {\n\treturn useContext(TableLoadingStateContext);\n}\n\nexport function TableLoadingStateProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst { value: loading, toggle } = useBoolean(false);\n\n\treturn (\n\t\t<TableLoadingStateToggleContext.Provider value={toggle}>\n\t\t\t<TableLoadingStateContext.Provider value={loading}>\n\t\t\t\t{children}\n\t\t\t</TableLoadingStateContext.Provider>\n\t\t</TableLoadingStateToggleContext.Provider>\n\t);\n}\n\nexport const TableStateProvider = memo(function TableStateProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst options = useTableSetup();\n\treturn (\n\t\t<TableStateContext.Provider value={options}>\n\t\t\t<TableLoadingStateProvider>{children}</TableLoadingStateProvider>\n\t\t</TableStateContext.Provider>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../src/components/TableStateProvider.tsx"],"names":["createContext","getCoreRowModel","useContext","useDeferredValue","useReactTable","useBoolean","jsx","memo","TableStateProvider","useTableSetup"],"mappings":";;;;;;;;AAgBA,MAAM,oBAAoBA,mBAAA,CAAgD;AAAA,EACzE,OAAO,EAAC;AAAA,EACR,SAAS,EAAC;AAAA,EACV,iBAAiBC,0BAAA,EAAgB;AAAA,EACjC,MAAM;AACP,CAAC,CAAA;AAED,MAAM,wBAAA,GAA2BD,oBAAuB,KAAK,CAAA;AAC7D,MAAM,8BAAA,GAAiCA,oBAA0B,MAAM;AAAC,CAAC,CAAA;AAElE,SAAS,aAAA,GAAgB;AAC/B,EAAA,MAAM,OAAA,GAAUE,iBAAW,iBAAiB,CAAA;AAC5C,EAAA,MAAM,eAAA,GAAkBC,uBAAiB,OAAO,CAAA;AAChD,EAAA,OAAOC,yBAAkC,eAAe,CAAA;AACzD;AAEO,SAAS,0BAAA,GAA6B;AAC5C,EAAA,OAAOF,iBAAW,8BAA8B,CAAA;AACjD;AAEO,SAAS,oBAAA,GAAuB;AACtC,EAAA,OAAOA,iBAAW,wBAAwB,CAAA;AAC3C;AAEO,SAAS,yBAAA,CAA0B;AAAA,EACzC;AACD,CAAA,EAEG;AACF,EAAA,MAAM,EAAE,KAAA,EAAO,OAAA,EAAS,MAAA,EAAO,GAAIG,sBAAW,KAAK,CAAA;AAEnD,EAAA,uBACCC,cAAA,CAAC,8BAAA,CAA+B,QAAA,EAA/B,EAAwC,KAAA,EAAO,MAAA,EAC/C,QAAA,kBAAAA,cAAA,CAAC,wBAAA,CAAyB,QAAA,EAAzB,EAAkC,KAAA,EAAO,OAAA,EACxC,UACF,CAAA,EACD,CAAA;AAEF;AAEO,MAAM,kBAAA,GAAqBC,UAAA,CAAK,SAASC,mBAAAA,CAAmB;AAAA,EAClE;AACD,CAAA,EAEG;AACF,EAAA,MAAM,UAAUC,mBAAA,EAAc;AAC9B,EAAA,uBACCH,cAAA,CAAC,kBAAkB,QAAA,EAAlB,EAA2B,OAAO,OAAA,EAClC,QAAA,kBAAAA,cAAA,CAAC,yBAAA,EAAA,EAA2B,QAAA,EAAS,CAAA,EACtC,CAAA;AAEF,CAAC","file":"TableStateProvider.js","sourcesContent":["import {\n\tcreateContext,\n\tmemo,\n\ttype ReactNode,\n\tuseContext,\n\tuseDeferredValue,\n} from \"react\";\nimport {\n\tgetCoreRowModel,\n\ttype TableOptions,\n\tuseReactTable,\n} from \"@tanstack/react-table\";\nimport { useTableSetup } from \"../hooks/table\";\nimport type { ScorecardTableData } from \"../schemas/config\";\nimport { useBoolean } from \"usehooks-ts\";\n\nconst TableStateContext = createContext<TableOptions<ScorecardTableData>>({\n\tstate: {},\n\tcolumns: [],\n\tgetCoreRowModel: getCoreRowModel(),\n\tdata: [],\n});\n\nconst TableLoadingStateContext = createContext<boolean>(false);\nconst TableLoadingStateToggleContext = createContext<() => void>(() => {});\n\nexport function useTableState() {\n\tconst context = useContext(TableStateContext);\n\tconst deferredContext = useDeferredValue(context);\n\treturn useReactTable<ScorecardTableData>(deferredContext);\n}\n\nexport function useToggleTableLoadingState() {\n\treturn useContext(TableLoadingStateToggleContext);\n}\n\nexport function useTableLoadingState() {\n\treturn useContext(TableLoadingStateContext);\n}\n\nexport function TableLoadingStateProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst { value: loading, toggle } = useBoolean(false);\n\n\treturn (\n\t\t<TableLoadingStateToggleContext.Provider value={toggle}>\n\t\t\t<TableLoadingStateContext.Provider value={loading}>\n\t\t\t\t{children}\n\t\t\t</TableLoadingStateContext.Provider>\n\t\t</TableLoadingStateToggleContext.Provider>\n\t);\n}\n\nexport const TableStateProvider = memo(function TableStateProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst options = useTableSetup();\n\treturn (\n\t\t<TableStateContext.Provider value={options}>\n\t\t\t<TableLoadingStateProvider>{children}</TableLoadingStateProvider>\n\t\t</TableStateContext.Provider>\n\t);\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Scorecard.tsx"],"names":[],"mappings":";;;;;;AAaO,SAAS,SAAA,CAAU,EAAE,UAAA,EAA4C,EAAA;AACvE,EAAA,uBACE,GAAA,CAAA,kBAAA,EAAA,EACA,QAAC,kBAAA,GAAA,CAAA,WAAA,EAAA,EAAY,OAAS,EAAA,YAAA,EACrB,QAAC,kBAAA,GAAA,CAAA,cAAA,EAAA,EAAgB,GAAI,UAAA,IAAc,EAAC,EAAI,GACzC,CACD,EAAA,CAAA;AAEF","file":"Scorecard.js","sourcesContent":["import { ReactElement } from \"react\";\nimport { TableStateProvider } from \"./components\";\nimport {\n\tScorecardTable,\n\ttype ScorecardTableProps,\n} from \"./components/ScorecardTable\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport { DndProvider } from \"react-dnd\";\n\nexport interface ScorecardProps {\n\ttableProps?: ScorecardTableProps;\n}\n\nexport function Scorecard({ tableProps }: ScorecardProps): ReactElement {\n\treturn (\n\t\t<TableStateProvider>\n\t\t\t<DndProvider backend={HTML5Backend}>\n\t\t\t\t<ScorecardTable {...(tableProps ?? {})} />\n\t\t\t</DndProvider>\n\t\t</TableStateProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../src/Scorecard.tsx"],"names":[],"mappings":";;;;;;AAaO,SAAS,SAAA,CAAU,EAAE,UAAA,EAAW,EAAiC;AACvE,EAAA,uBACC,GAAA,CAAC,kBAAA,EAAA,EACA,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,OAAA,EAAS,YAAA,EACrB,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAgB,GAAI,UAAA,IAAc,EAAC,EAAI,GACzC,CAAA,EACD,CAAA;AAEF","file":"Scorecard.js","sourcesContent":["import { ReactElement } from \"react\";\nimport { TableStateProvider } from \"./components\";\nimport {\n\tScorecardTable,\n\ttype ScorecardTableProps,\n} from \"./components/ScorecardTable\";\nimport { HTML5Backend } from \"react-dnd-html5-backend\";\nimport { DndProvider } from \"react-dnd\";\n\nexport interface ScorecardProps {\n\ttableProps?: ScorecardTableProps;\n}\n\nexport function Scorecard({ tableProps }: ScorecardProps): ReactElement {\n\treturn (\n\t\t<TableStateProvider>\n\t\t\t<DndProvider backend={HTML5Backend}>\n\t\t\t\t<ScorecardTable {...(tableProps ?? {})} />\n\t\t\t</DndProvider>\n\t\t</TableStateProvider>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ColGroup.tsx"],"names":[],"mappings":";;;AAEO,SAAS,QAAW,GAAA;AAC1B,EAAM,MAAA,WAAA,GAAc,2BAAoC,WAAW,CAAA;AACnE,EAAM,MAAA,UAAA,GAAa,2BAAoC,YAAY,CAAA;AAEnE,EAAA,IAAI,CAAC,WAAa,EAAA;AACjB,IAAO,OAAA,IAAA;AAAA;AAGR,EAAA,4BACE,UACC,EAAA,EAAA,QAAA,EAAA;AAAA,IAAc,UAAA,oBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,KAAA,EAAO,EAAI,EAAA,CAAA;AAAA,oBAC/B,GAAA,CAAC,KAAI,EAAA,EAAA,KAAA,EAAM,MAAO,EAAA;AAAA,GACnB,EAAA,CAAA;AAEF","file":"ColGroup.js","sourcesContent":["import { useScorecardViewStateValue } from \"../utils/viewState\";\n\nexport function ColGroup() {\n\tconst inPrintMode = useScorecardViewStateValue<boolean>(\"printMode\");\n\tconst itemNumber = useScorecardViewStateValue<boolean>(\"itemNumber\");\n\n\tif (!inPrintMode) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<colgroup>\n\t\t\t{itemNumber && <col width={48} />}\n\t\t\t<col width=\"auto\" />\n\t\t</colgroup>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/ColGroup.tsx"],"names":[],"mappings":";;;AAEO,SAAS,QAAA,GAAW;AAC1B,EAAA,MAAM,WAAA,GAAc,2BAAoC,WAAW,CAAA;AACnE,EAAA,MAAM,UAAA,GAAa,2BAAoC,YAAY,CAAA;AAEnE,EAAA,IAAI,CAAC,WAAA,EAAa;AACjB,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,4BACE,UAAA,EAAA,EACC,QAAA,EAAA;AAAA,IAAA,UAAA,oBAAc,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAA,EAAI,CAAA;AAAA,oBAC/B,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,MAAA,EAAO;AAAA,GAAA,EACnB,CAAA;AAEF","file":"ColGroup.js","sourcesContent":["import { useScorecardViewStateValue } from \"../utils/viewState\";\n\nexport function ColGroup() {\n\tconst inPrintMode = useScorecardViewStateValue<boolean>(\"printMode\");\n\tconst itemNumber = useScorecardViewStateValue<boolean>(\"itemNumber\");\n\n\tif (!inPrintMode) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<colgroup>\n\t\t\t{itemNumber && <col width={48} />}\n\t\t\t<col width=\"auto\" />\n\t\t</colgroup>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ConfigProvider.tsx"],"names":[],"mappings":";;;;AAUA,MAAM,sBAAA,GAAyB,cAAsC,IAAI,CAAA;AAElE,SAAS,kBAAqB,GAAA;AACpC,EAAM,MAAA,MAAA,GAAS,WAAW,sBAAsB,CAAA;AAChD,EAAA,IAAI,CAAC,MAAQ,EAAA;AACZ,IAAM,MAAA,KAAA;AAAA,MACL,IAAK,CAAA,CAAA;AAAA,QACJ;AAAA;AACD,KACD;AAAA;AAED,EAAO,OAAA,MAAA;AACR;AAEO,MAAM,0BAGR,IAAK,CAAA,CAAC,EAAE,MAAA,EAAQ,UAAe,KAAA;AACnC,EAAA,2BACE,sBAAuB,CAAA,QAAA,EAAvB,EAAgC,KAAA,EAAO,QACtC,QACF,EAAA,CAAA;AAEF,CAAC","file":"ConfigProvider.js","sourcesContent":["import {\n\tcreateContext,\n\ttype FC,\n\tmemo,\n\ttype ReactNode,\n\tuseContext,\n} from \"react\";\nimport type { ScorecardConfig } from \"../schemas/config\";\nimport i18n from \"@dhis2/d2-i18n\";\n\nconst ScorecardConfigContext = createContext<ScorecardConfig | null>(null);\n\nexport function useScorecardConfig() {\n\tconst config = useContext(ScorecardConfigContext);\n\tif (!config) {\n\t\tthrow Error(\n\t\t\ti18n.t(\n\t\t\t\t\"useScorecardConfig should be used inside a Scorecard Context\",\n\t\t\t),\n\t\t);\n\t}\n\treturn config;\n}\n\nexport const ScorecardConfigProvider: FC<{\n\tconfig: ScorecardConfig;\n\tchildren: ReactNode;\n}> = memo(({ config, children }) => {\n\treturn (\n\t\t<ScorecardConfigContext.Provider value={config}>\n\t\t\t{children}\n\t\t</ScorecardConfigContext.Provider>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/ConfigProvider.tsx"],"names":[],"mappings":";;;;AAUA,MAAM,sBAAA,GAAyB,cAAsC,IAAI,CAAA;AAElE,SAAS,kBAAA,GAAqB;AACpC,EAAA,MAAM,MAAA,GAAS,WAAW,sBAAsB,CAAA;AAChD,EAAA,IAAI,CAAC,MAAA,EAAQ;AACZ,IAAA,MAAM,KAAA;AAAA,MACL,IAAA,CAAK,CAAA;AAAA,QACJ;AAAA;AACD,KACD;AAAA,EACD;AACA,EAAA,OAAO,MAAA;AACR;AAEO,MAAM,0BAGR,IAAA,CAAK,CAAC,EAAE,MAAA,EAAQ,UAAS,KAAM;AACnC,EAAA,2BACE,sBAAA,CAAuB,QAAA,EAAvB,EAAgC,KAAA,EAAO,QACtC,QAAA,EACF,CAAA;AAEF,CAAC","file":"ConfigProvider.js","sourcesContent":["import {\n\tcreateContext,\n\ttype FC,\n\tmemo,\n\ttype ReactNode,\n\tuseContext,\n} from \"react\";\nimport type { ScorecardConfig } from \"../schemas/config\";\nimport i18n from \"@dhis2/d2-i18n\";\n\nconst ScorecardConfigContext = createContext<ScorecardConfig | null>(null);\n\nexport function useScorecardConfig() {\n\tconst config = useContext(ScorecardConfigContext);\n\tif (!config) {\n\t\tthrow Error(\n\t\t\ti18n.t(\n\t\t\t\t\"useScorecardConfig should be used inside a Scorecard Context\",\n\t\t\t),\n\t\t);\n\t}\n\treturn config;\n}\n\nexport const ScorecardConfigProvider: FC<{\n\tconfig: ScorecardConfig;\n\tchildren: ReactNode;\n}> = memo(({ config, children }) => {\n\treturn (\n\t\t<ScorecardConfigContext.Provider value={config}>\n\t\t\t{children}\n\t\t</ScorecardConfigContext.Provider>\n\t);\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DataProvider.tsx"],"names":["ScorecardDataProvider"],"mappings":";;;;;AAWA,MAAM,uBAAuB,aAA6B,CAAA;AAAA,EACzD,MAAM,yBAA0B;AACjC,CAAC,CAAA;AAEM,SAAS,gBAAmB,GAAA;AAClC,EAAA,OAAO,WAAW,oBAAoB,CAAA;AACvC;AAEa,MAAA,qBAAA,GAAwB,IAAK,CAAA,SAASA,sBAAsB,CAAA;AAAA,EACxE;AACD,CAEG,EAAA;AACF,EAAM,MAAA,UAAA,GAAa,MAA4B,CAAA,yBAAA,EAA2B,CAAA;AAC1E,EAAA,mBAAA,CAAoB,WAAW,OAAO,CAAA;AAEtC,EACC,uBAAA,GAAA;AAAA,IAAC,oBAAqB,CAAA,QAAA;AAAA,IAArB;AAAA,MACA,KAAO,EAAA;AAAA,QACN,MAAM,UAAW,CAAA;AAAA,OAClB;AAAA,MAEC;AAAA;AAAA,GACF;AAEF,CAAC","file":"DataProvider.js","sourcesContent":["import { createContext, memo, type ReactNode, useContext, useRef } from \"react\";\nimport { useGetScorecardData } from \"../hooks/data\";\nimport {\n\tcreateScorecardDataEngine,\n\ttype ScorecardDataEngine,\n} from \"../utils/dataEngine\";\n\nexport interface ScorecardData {\n\tdata: ScorecardDataEngine;\n}\n\nconst ScorecardDataContext = createContext<ScorecardData>({\n\tdata: createScorecardDataEngine(),\n});\n\nexport function useScorecardData() {\n\treturn useContext(ScorecardDataContext);\n}\n\nexport const ScorecardDataProvider = memo(function ScorecardDataProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst dataEngine = useRef<ScorecardDataEngine>(createScorecardDataEngine());\n\tuseGetScorecardData(dataEngine.current);\n\n\treturn (\n\t\t<ScorecardDataContext.Provider\n\t\t\tvalue={{\n\t\t\t\tdata: dataEngine.current,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</ScorecardDataContext.Provider>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/DataProvider.tsx"],"names":["ScorecardDataProvider"],"mappings":";;;;;AAWA,MAAM,uBAAuB,aAAA,CAA6B;AAAA,EACzD,MAAM,yBAAA;AACP,CAAC,CAAA;AAEM,SAAS,gBAAA,GAAmB;AAClC,EAAA,OAAO,WAAW,oBAAoB,CAAA;AACvC;AAEO,MAAM,qBAAA,GAAwB,IAAA,CAAK,SAASA,sBAAAA,CAAsB;AAAA,EACxE;AACD,CAAA,EAEG;AACF,EAAA,MAAM,UAAA,GAAa,MAAA,CAA4B,yBAAA,EAA2B,CAAA;AAC1E,EAAA,mBAAA,CAAoB,WAAW,OAAO,CAAA;AAEtC,EAAA,uBACC,GAAA;AAAA,IAAC,oBAAA,CAAqB,QAAA;AAAA,IAArB;AAAA,MACA,KAAA,EAAO;AAAA,QACN,MAAM,UAAA,CAAW;AAAA,OAClB;AAAA,MAEC;AAAA;AAAA,GACF;AAEF,CAAC","file":"DataProvider.js","sourcesContent":["import { createContext, memo, type ReactNode, useContext, useRef } from \"react\";\nimport { useGetScorecardData } from \"../hooks/data\";\nimport {\n\tcreateScorecardDataEngine,\n\ttype ScorecardDataEngine,\n} from \"../utils/dataEngine\";\n\nexport interface ScorecardData {\n\tdata: ScorecardDataEngine;\n}\n\nconst ScorecardDataContext = createContext<ScorecardData>({\n\tdata: createScorecardDataEngine(),\n});\n\nexport function useScorecardData() {\n\treturn useContext(ScorecardDataContext);\n}\n\nexport const ScorecardDataProvider = memo(function ScorecardDataProvider({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst dataEngine = useRef<ScorecardDataEngine>(createScorecardDataEngine());\n\tuseGetScorecardData(dataEngine.current);\n\n\treturn (\n\t\t<ScorecardDataContext.Provider\n\t\t\tvalue={{\n\t\t\t\tdata: dataEngine.current,\n\t\t\t}}\n\t\t>\n\t\t\t{children}\n\t\t</ScorecardDataContext.Provider>\n\t);\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/LoadingIndicator.tsx"],"names":["LoadingIndicator"],"mappings":";;;;;;;AAMa,MAAA,gBAAA,GAAmB,IAAK,CAAA,SAASA,iBAAiB,CAAA;AAAA,EAC9D;AACD,CAEG,EAAA;AACF,EAAA,MAAM,EAAE,IAAA,EAAM,UAAW,EAAA,GAAI,gBAAiB,EAAA;AAC9C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAiB,CAAC,CAAA;AAClD,EAAA,MAAM,CAAC,SAAW,EAAA,YAAY,CAAI,GAAA,QAAA,CAAkB,WAAW,MAAM,CAAA;AACrE,EAAA,MAAM,QAAQ,aAAc,EAAA;AAC5B,EAAM,MAAA,OAAA,GAAU,KAAM,CAAA,qBAAA,EAAwB,CAAA,MAAA;AAE9C,EAAA,MAAM,KACL,GAAA,QAAA,CAAS,OAAS,EAAA,aAAA,EAAe,uBAAwB,CAAA,KAAA;AAE1D,EAAA,SAAA,CAAU,MAAM;AACf,IAAO,OAAA,UAAA,CAAW,sBAAsB,YAAY,CAAA;AAAA,GACrD,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,SAAA,CAAU,MAAM;AACf,IAAO,OAAA,UAAA,CAAW,mBAAoB,CAAA,CAAC,KAAU,KAAA;AAChD,MAAA,WAAA,CAAY,KAAK,CAAA;AAAA,KACjB,CAAA;AAAA,GACF,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,IAAI,QAAa,KAAA,CAAA,IAAK,KAAM,CAAA,QAAS,KAAK,SAAW,EAAA;AACpD,IAAO,OAAA,IAAA;AAAA;AAER,EAAA,2BACE,YACA,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACA,OAAO,EAAE,QAAA,EAAU,UAAU,IAAM,EAAA,CAAA,EAAG,KAAK,CAAE,EAAA;AAAA,MAC7C,OAAA;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACA,SAAA,EAAW,OAAO,QAAQ,CAAA;AAAA,UAC1B,MAAQ,EAAA,GAAA;AAAA,UACR,OAAO,KAAQ,GAAA,CAAA,EAAG,KAAK,KAAM,CAAA,KAAK,CAAC,CAAO,EAAA,CAAA,GAAA,MAAA;AAAA,UAC1C,MAAA,EAAA,CAAS,YAAY,CAAK,IAAA;AAAA;AAAA;AAC3B;AAAA,GAEF,EAAA,CAAA;AAEF,CAAC","file":"LoadingIndicator.js","sourcesContent":["import { useScorecardData } from \"./DataProvider\";\nimport { DataTableRow, LinearLoader } from \"@dhis2/ui\";\nimport { useTableState } from \"./TableStateProvider\";\nimport { memo, type RefObject, useEffect, useState } from \"react\";\nimport styles from \"./ScorecardTable/ScorecardTable.module.css\";\n\nexport const LoadingIndicator = memo(function LoadingIndicator({\n\ttableRef,\n}: {\n\ttableRef: RefObject<HTMLTableElement>;\n}) {\n\tconst { data: dataEngine } = useScorecardData();\n\tconst [progress, setProgress] = useState<number>(0);\n\tconst [completed, setCompleted] = useState<boolean>(dataEngine.isDone);\n\tconst table = useTableState();\n\tconst colSpan = table.getVisibleFlatColumns().length;\n\n\tconst width =\n\t\ttableRef.current?.parentElement?.getBoundingClientRect().width;\n\n\tuseEffect(() => {\n\t\treturn dataEngine.addOnCompleteListener(setCompleted);\n\t}, [dataEngine]);\n\n\tuseEffect(() => {\n\t\treturn dataEngine.addProgressListener((value) => {\n\t\t\tsetProgress(value);\n\t\t});\n\t}, [dataEngine]);\n\n\tif (progress === 1 || isNaN(progress!) || completed) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DataTableRow>\n\t\t\t<td\n\t\t\t\tstyle={{ position: \"static\", left: 0, top: 0 }}\n\t\t\t\tcolSpan={colSpan}\n\t\t\t>\n\t\t\t\t<LinearLoader\n\t\t\t\t\tclassName={styles[\"loader\"]}\n\t\t\t\t\tmargin={\"0\"}\n\t\t\t\t\twidth={width ? `${Math.trunc(width)}px` : \"100%\"}\n\t\t\t\t\tamount={(progress ?? 0) * 100}\n\t\t\t\t/>\n\t\t\t</td>\n\t\t</DataTableRow>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/LoadingIndicator.tsx"],"names":["LoadingIndicator"],"mappings":";;;;;;;AAMO,MAAM,gBAAA,GAAmB,IAAA,CAAK,SAASA,iBAAAA,CAAiB;AAAA,EAC9D;AACD,CAAA,EAEG;AACF,EAAA,MAAM,EAAE,IAAA,EAAM,UAAA,EAAW,GAAI,gBAAA,EAAiB;AAC9C,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAiB,CAAC,CAAA;AAClD,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,QAAA,CAAkB,WAAW,MAAM,CAAA;AACrE,EAAA,MAAM,QAAQ,aAAA,EAAc;AAC5B,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,qBAAA,EAAsB,CAAE,MAAA;AAE9C,EAAA,MAAM,KAAA,GACL,QAAA,CAAS,OAAA,EAAS,aAAA,EAAe,uBAAsB,CAAE,KAAA;AAE1D,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,OAAO,UAAA,CAAW,sBAAsB,YAAY,CAAA;AAAA,EACrD,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,SAAA,CAAU,MAAM;AACf,IAAA,OAAO,UAAA,CAAW,mBAAA,CAAoB,CAAC,KAAA,KAAU;AAChD,MAAA,WAAA,CAAY,KAAK,CAAA;AAAA,IAClB,CAAC,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,IAAI,QAAA,KAAa,CAAA,IAAK,KAAA,CAAM,QAAS,KAAK,SAAA,EAAW;AACpD,IAAA,OAAO,IAAA;AAAA,EACR;AACA,EAAA,2BACE,YAAA,EAAA,EACA,QAAA,kBAAA,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACA,OAAO,EAAE,QAAA,EAAU,UAAU,IAAA,EAAM,CAAA,EAAG,KAAK,CAAA,EAAE;AAAA,MAC7C,OAAA;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACA,SAAA,EAAW,OAAO,QAAQ,CAAA;AAAA,UAC1B,MAAA,EAAQ,GAAA;AAAA,UACR,OAAO,KAAA,GAAQ,CAAA,EAAG,KAAK,KAAA,CAAM,KAAK,CAAC,CAAA,EAAA,CAAA,GAAO,MAAA;AAAA,UAC1C,MAAA,EAAA,CAAS,YAAY,CAAA,IAAK;AAAA;AAAA;AAC3B;AAAA,GACD,EACD,CAAA;AAEF,CAAC","file":"LoadingIndicator.js","sourcesContent":["import { useScorecardData } from \"./DataProvider\";\nimport { DataTableRow, LinearLoader } from \"@dhis2/ui\";\nimport { useTableState } from \"./TableStateProvider\";\nimport { memo, type RefObject, useEffect, useState } from \"react\";\nimport styles from \"./ScorecardTable/ScorecardTable.module.css\";\n\nexport const LoadingIndicator = memo(function LoadingIndicator({\n\ttableRef,\n}: {\n\ttableRef: RefObject<HTMLTableElement>;\n}) {\n\tconst { data: dataEngine } = useScorecardData();\n\tconst [progress, setProgress] = useState<number>(0);\n\tconst [completed, setCompleted] = useState<boolean>(dataEngine.isDone);\n\tconst table = useTableState();\n\tconst colSpan = table.getVisibleFlatColumns().length;\n\n\tconst width =\n\t\ttableRef.current?.parentElement?.getBoundingClientRect().width;\n\n\tuseEffect(() => {\n\t\treturn dataEngine.addOnCompleteListener(setCompleted);\n\t}, [dataEngine]);\n\n\tuseEffect(() => {\n\t\treturn dataEngine.addProgressListener((value) => {\n\t\t\tsetProgress(value);\n\t\t});\n\t}, [dataEngine]);\n\n\tif (progress === 1 || isNaN(progress!) || completed) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DataTableRow>\n\t\t\t<td\n\t\t\t\tstyle={{ position: \"static\", left: 0, top: 0 }}\n\t\t\t\tcolSpan={colSpan}\n\t\t\t>\n\t\t\t\t<LinearLoader\n\t\t\t\t\tclassName={styles[\"loader\"]}\n\t\t\t\t\tmargin={\"0\"}\n\t\t\t\t\twidth={width ? `${Math.trunc(width)}px` : \"100%\"}\n\t\t\t\t\tamount={(progress ?? 0) * 100}\n\t\t\t\t/>\n\t\t\t</td>\n\t\t</DataTableRow>\n\t);\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MetaProvider.tsx"],"names":["ScorecardMetaGetter"],"mappings":";;;;;;;AAiBA,MAAM,oBAAA,GAAuB,cAAoC,IAAI,CAAA;AAE9D,SAAS,gBAAmB,GAAA;AAClC,EAAA,OAAO,WAAW,oBAAoB,CAAA;AACvC;AAEa,MAAA,mBAAA,GAAsB,IAAK,CAAA,SAASA,oBAAoB,CAAA;AAAA,EACpE;AACD,CAEG,EAAA;AACF,EAAA,MAAM,EAAE,OAAS,EAAA,MAAA,EAAQ,GAAG,IAAA,KAAS,mBAAoB,EAAA;AACzD,EAAI,IAAA,OAAA,IAAW,CAAC,MAAQ,EAAA;AACvB,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,EAAI,IAAA,CAAC,IAAK,CAAA,QAAA,IAAY,MAAQ,EAAA;AAC7B,IAAA,MAAM,KAAM,CAAA,IAAA,CAAK,CAAE,CAAA,0CAA0C,CAAC,CAAA;AAAA;AAG/D,EACC,uBAAA,GAAA,CAAC,qBAAsB,EAAA,EAAA,IAAA,EAAa,QAAS,EAAA,CAAA;AAE/C,CAAC;AAEM,MAAM,qBAAwB,GAAA,IAAA;AAAA,EACpC,CAAC,EAAE,QAAU,EAAA,IAAA,EAAyD,KAAA;AACrE,IACC,uBAAA,GAAA;AAAA,MAAC,oBAAqB,CAAA,QAAA;AAAA,MAArB;AAAA,QACA,KAAO,EAAA;AAAA,UACN,GAAG;AAAA,SACJ;AAAA,QAEC;AAAA;AAAA,KACF;AAAA,GAEF;AAAA,EACA,CAAC,SAAW,EAAA,SAAA,KAAc,QAAQ,SAAU,CAAA,IAAA,EAAM,UAAU,IAAI;AACjE","file":"MetaProvider.js","sourcesContent":["import { createContext, memo, type ReactNode, useContext } from \"react\";\nimport { type ItemMeta, useGetScorecardMeta } from \"../hooks/metadata\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { isEqual } from \"lodash\";\n\nexport interface ScorecardMeta {\n\tperiods: Array<ItemMeta>;\n\torgUnits: Array<ItemMeta & { hierarchy: string }>;\n\tdataItems: Array<ItemMeta>;\n\torgUnitLevels: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t\tdisplayName: string;\n\t}>;\n}\n\nconst ScorecardMetaContext = createContext<ScorecardMeta | null>(null);\n\nexport function useScorecardMeta() {\n\treturn useContext(ScorecardMetaContext);\n}\n\nexport const ScorecardMetaGetter = memo(function ScorecardMetaGetter({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst { loading, called, ...meta } = useGetScorecardMeta();\n\tif (loading || !called) {\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\tif (!meta.orgUnits && called) {\n\t\tthrow Error(i18n.t(\"Error getting metadata for the scorecard\"));\n\t}\n\n\treturn (\n\t\t<ScorecardMetaProvider meta={meta}>{children}</ScorecardMetaProvider>\n\t);\n});\n\nexport const ScorecardMetaProvider = memo(\n\t({ children, meta }: { children: ReactNode; meta: ScorecardMeta }) => {\n\t\treturn (\n\t\t\t<ScorecardMetaContext.Provider\n\t\t\t\tvalue={{\n\t\t\t\t\t...meta,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScorecardMetaContext.Provider>\n\t\t);\n\t},\n\t(prevProps, nextProps) => isEqual(prevProps.meta, nextProps.meta),\n);\n"]}
1
+ {"version":3,"sources":["../../../src/components/MetaProvider.tsx"],"names":["ScorecardMetaGetter"],"mappings":";;;;;;;AAiBA,MAAM,oBAAA,GAAuB,cAAoC,IAAI,CAAA;AAE9D,SAAS,gBAAA,GAAmB;AAClC,EAAA,OAAO,WAAW,oBAAoB,CAAA;AACvC;AAEO,MAAM,mBAAA,GAAsB,IAAA,CAAK,SAASA,oBAAAA,CAAoB;AAAA,EACpE;AACD,CAAA,EAEG;AACF,EAAA,MAAM,EAAE,OAAA,EAAS,MAAA,EAAQ,GAAG,IAAA,KAAS,mBAAA,EAAoB;AACzD,EAAA,IAAI,OAAA,IAAW,CAAC,MAAA,EAAQ;AACvB,IAAA,uBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAA,EAAO;AAAA,UACN,MAAA,EAAQ,MAAA;AAAA,UACR,KAAA,EAAO,MAAA;AAAA,UACP,OAAA,EAAS,MAAA;AAAA,UACT,UAAA,EAAY,QAAA;AAAA,UACZ,cAAA,EAAgB;AAAA,SACjB;AAAA,QAEA,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,KAAA,EAAK,IAAA,EAAC;AAAA;AAAA,KACvB;AAAA,EAEF;AAEA,EAAA,IAAI,CAAC,IAAA,CAAK,QAAA,IAAY,MAAA,EAAQ;AAC7B,IAAA,MAAM,KAAA,CAAM,IAAA,CAAK,CAAA,CAAE,0CAA0C,CAAC,CAAA;AAAA,EAC/D;AAEA,EAAA,uBACC,GAAA,CAAC,qBAAA,EAAA,EAAsB,IAAA,EAAa,QAAA,EAAS,CAAA;AAE/C,CAAC;AAEM,MAAM,qBAAA,GAAwB,IAAA;AAAA,EACpC,CAAC,EAAE,QAAA,EAAU,IAAA,EAAK,KAAoD;AACrE,IAAA,uBACC,GAAA;AAAA,MAAC,oBAAA,CAAqB,QAAA;AAAA,MAArB;AAAA,QACA,KAAA,EAAO;AAAA,UACN,GAAG;AAAA,SACJ;AAAA,QAEC;AAAA;AAAA,KACF;AAAA,EAEF,CAAA;AAAA,EACA,CAAC,SAAA,EAAW,SAAA,KAAc,QAAQ,SAAA,CAAU,IAAA,EAAM,UAAU,IAAI;AACjE","file":"MetaProvider.js","sourcesContent":["import { createContext, memo, type ReactNode, useContext } from \"react\";\nimport { type ItemMeta, useGetScorecardMeta } from \"../hooks/metadata\";\nimport { CircularLoader } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { isEqual } from \"lodash\";\n\nexport interface ScorecardMeta {\n\tperiods: Array<ItemMeta>;\n\torgUnits: Array<ItemMeta & { hierarchy: string }>;\n\tdataItems: Array<ItemMeta>;\n\torgUnitLevels: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t\tdisplayName: string;\n\t}>;\n}\n\nconst ScorecardMetaContext = createContext<ScorecardMeta | null>(null);\n\nexport function useScorecardMeta() {\n\treturn useContext(ScorecardMetaContext);\n}\n\nexport const ScorecardMetaGetter = memo(function ScorecardMetaGetter({\n\tchildren,\n}: {\n\tchildren: ReactNode;\n}) {\n\tconst { loading, called, ...meta } = useGetScorecardMeta();\n\tif (loading || !called) {\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\tif (!meta.orgUnits && called) {\n\t\tthrow Error(i18n.t(\"Error getting metadata for the scorecard\"));\n\t}\n\n\treturn (\n\t\t<ScorecardMetaProvider meta={meta}>{children}</ScorecardMetaProvider>\n\t);\n});\n\nexport const ScorecardMetaProvider = memo(\n\t({ children, meta }: { children: ReactNode; meta: ScorecardMeta }) => {\n\t\treturn (\n\t\t\t<ScorecardMetaContext.Provider\n\t\t\t\tvalue={{\n\t\t\t\t\t...meta,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScorecardMetaContext.Provider>\n\t\t);\n\t},\n\t(prevProps, nextProps) => isEqual(prevProps.meta, nextProps.meta),\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ScorecardContext.tsx"],"names":["ScorecardContext"],"mappings":";;;;;;;;AAaA,SAAS,aAAc,CAAA;AAAA,EACtB,KAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACD,CAAwC,EAAA;AACvC,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,KAAO,EAAA,MAAA;AAAA,QACP,SAAW,EAAA,QAAA;AAAA,QACX,QAAQ,MAAU,IAAA,GAAA;AAAA,QAClB,OAAS,EAAA,MAAA;AAAA,QACT,aAAe,EAAA,QAAA;AAAA,QACf,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA,QAAA;AAAA,QAChB,GAAK,EAAA,EAAA;AAAA,QACL,OAAS,EAAA;AAAA,OACV;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,WAAY,EAAA,EAAA,CAAA;AAAA,wBACb,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACA,KAAO,EAAA;AAAA,cACN,OAAO,MAAO,CAAA,OAAA;AAAA,cACd,MAAQ,EAAA;AAAA,aACT;AAAA,YAEC,QAAA,EAAA,IAAA,CAAK,EAAE,8BAA8B;AAAA;AAAA,SACvC;AAAA,wBACA,GAAA,CAAC,OAAE,KAAO,EAAA,EAAE,QAAQ,CAAE,EAAA,EAAI,gBAAM,OAAQ,EAAA,CAAA;AAAA,QACvC,kBAAA,oBACC,GAAA,CAAA,MAAA,EAAA,EAAO,OAAS,EAAA,kBAAA,EAAoB,OAAK,IACxC,EAAA,QAAA,EAAA,IAAA,CAAK,CAAE,CAAA,WAAW,CACpB,EAAA;AAAA;AAAA;AAAA,GAEF;AAEF;AAEO,MAAM,gBAAmB,GAAA,IAAA;AAAA,EAC/B,SAASA,iBAAAA,CAAiB,EAAE,MAAA,EAAQ,UAAmC,EAAA;AACtE,IACC,uBAAA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACA,SAAA,EAAW,CAAC,MAAM,CAAA;AAAA,QAClB,iBAAmB,EAAA,aAAA;AAAA,QAEnB,8BAAC,uBAAwB,EAAA,EAAA,MAAA,EACxB,QAAC,kBAAA,GAAA,CAAA,mBAAA,EAAA,EAAqB,UAAS,CAChC,EAAA;AAAA;AAAA,KACD;AAAA,GAEF;AAAA,EACA,CAAC,WAAW,SAAc,KAAA;AACzB,IAAO,OAAA,SAAA,CAAU,WAAW,SAAU,CAAA,MAAA;AAAA;AAExC","file":"ScorecardContext.js","sourcesContent":["import { ScorecardConfigProvider } from \"./ConfigProvider\";\nimport { ScorecardMetaGetter } from \"./MetaProvider\";\nimport { memo, type ReactNode } from \"react\";\nimport type { ScorecardConfig } from \"../schemas/config\";\nimport { ErrorBoundary, FallbackProps } from \"react-error-boundary\";\nimport { Button, colors, IconError24 } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\n\ninterface ScorecardContextProps {\n\tchildren: ReactNode;\n\tconfig: ScorecardConfig;\n}\n\nfunction ErrorFallback({\n\terror,\n\tresetErrorBoundary,\n\theight,\n}: FallbackProps & { height?: number }) {\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: \"100%\",\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\theight: height ?? 500,\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 16,\n\t\t\t\tpadding: 16,\n\t\t\t}}\n\t\t>\n\t\t\t<IconError24 />\n\t\t\t<h3\n\t\t\t\tstyle={{\n\t\t\t\t\tcolor: colors.grey800,\n\t\t\t\t\tmargin: 0,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{i18n.t(\"Could not load visualization\")}\n\t\t\t</h3>\n\t\t\t<p style={{ margin: 0 }}>{error.message}</p>\n\t\t\t{resetErrorBoundary && (\n\t\t\t\t<Button onClick={resetErrorBoundary} small>\n\t\t\t\t\t{i18n.t(\"Try again\")}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport const ScorecardContext = memo(\n\tfunction ScorecardContext({ config, children }: ScorecardContextProps) {\n\t\treturn (\n\t\t\t<ErrorBoundary\n\t\t\t\tresetKeys={[config]}\n\t\t\t\tFallbackComponent={ErrorFallback}\n\t\t\t>\n\t\t\t\t<ScorecardConfigProvider config={config}>\n\t\t\t\t\t<ScorecardMetaGetter>{children}</ScorecardMetaGetter>\n\t\t\t\t</ScorecardConfigProvider>\n\t\t\t</ErrorBoundary>\n\t\t);\n\t},\n\t(prevProps, nextProps) => {\n\t\treturn prevProps.config === nextProps.config;\n\t},\n);\n"]}
1
+ {"version":3,"sources":["../../../src/components/ScorecardContext.tsx"],"names":["ScorecardContext"],"mappings":";;;;;;;;AAaA,SAAS,aAAA,CAAc;AAAA,EACtB,KAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACD,CAAA,EAAwC;AACvC,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,KAAA,EAAO,MAAA;AAAA,QACP,SAAA,EAAW,QAAA;AAAA,QACX,QAAQ,MAAA,IAAU,GAAA;AAAA,QAClB,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,QAAA;AAAA,QACf,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,GAAA,EAAK,EAAA;AAAA,QACL,OAAA,EAAS;AAAA,OACV;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,CAAA;AAAA,wBACb,GAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACA,KAAA,EAAO;AAAA,cACN,OAAO,MAAA,CAAO,OAAA;AAAA,cACd,MAAA,EAAQ;AAAA,aACT;AAAA,YAEC,QAAA,EAAA,IAAA,CAAK,EAAE,8BAA8B;AAAA;AAAA,SACvC;AAAA,wBACA,GAAA,CAAC,OAAE,KAAA,EAAO,EAAE,QAAQ,CAAA,EAAE,EAAI,gBAAM,OAAA,EAAQ,CAAA;AAAA,QACvC,kBAAA,oBACA,GAAA,CAAC,MAAA,EAAA,EAAO,OAAA,EAAS,kBAAA,EAAoB,OAAK,IAAA,EACxC,QAAA,EAAA,IAAA,CAAK,CAAA,CAAE,WAAW,CAAA,EACpB;AAAA;AAAA;AAAA,GAEF;AAEF;AAEO,MAAM,gBAAA,GAAmB,IAAA;AAAA,EAC/B,SAASA,iBAAAA,CAAiB,EAAE,MAAA,EAAQ,UAAS,EAA0B;AACtE,IAAA,uBACC,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACA,SAAA,EAAW,CAAC,MAAM,CAAA;AAAA,QAClB,iBAAA,EAAmB,aAAA;AAAA,QAEnB,8BAAC,uBAAA,EAAA,EAAwB,MAAA,EACxB,QAAA,kBAAA,GAAA,CAAC,mBAAA,EAAA,EAAqB,UAAS,CAAA,EAChC;AAAA;AAAA,KACD;AAAA,EAEF,CAAA;AAAA,EACA,CAAC,WAAW,SAAA,KAAc;AACzB,IAAA,OAAO,SAAA,CAAU,WAAW,SAAA,CAAU,MAAA;AAAA,EACvC;AACD","file":"ScorecardContext.js","sourcesContent":["import { ScorecardConfigProvider } from \"./ConfigProvider\";\nimport { ScorecardMetaGetter } from \"./MetaProvider\";\nimport { memo, type ReactNode } from \"react\";\nimport type { ScorecardConfig } from \"../schemas/config\";\nimport { ErrorBoundary, FallbackProps } from \"react-error-boundary\";\nimport { Button, colors, IconError24 } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\n\ninterface ScorecardContextProps {\n\tchildren: ReactNode;\n\tconfig: ScorecardConfig;\n}\n\nfunction ErrorFallback({\n\terror,\n\tresetErrorBoundary,\n\theight,\n}: FallbackProps & { height?: number }) {\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: \"100%\",\n\t\t\t\ttextAlign: \"center\",\n\t\t\t\theight: height ?? 500,\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\tflexDirection: \"column\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"center\",\n\t\t\t\tgap: 16,\n\t\t\t\tpadding: 16,\n\t\t\t}}\n\t\t>\n\t\t\t<IconError24 />\n\t\t\t<h3\n\t\t\t\tstyle={{\n\t\t\t\t\tcolor: colors.grey800,\n\t\t\t\t\tmargin: 0,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{i18n.t(\"Could not load visualization\")}\n\t\t\t</h3>\n\t\t\t<p style={{ margin: 0 }}>{error.message}</p>\n\t\t\t{resetErrorBoundary && (\n\t\t\t\t<Button onClick={resetErrorBoundary} small>\n\t\t\t\t\t{i18n.t(\"Try again\")}\n\t\t\t\t</Button>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\nexport const ScorecardContext = memo(\n\tfunction ScorecardContext({ config, children }: ScorecardContextProps) {\n\t\treturn (\n\t\t\t<ErrorBoundary\n\t\t\t\tresetKeys={[config]}\n\t\t\t\tFallbackComponent={ErrorFallback}\n\t\t\t>\n\t\t\t\t<ScorecardConfigProvider config={config}>\n\t\t\t\t\t<ScorecardMetaGetter>{children}</ScorecardMetaGetter>\n\t\t\t\t</ScorecardConfigProvider>\n\t\t\t</ErrorBoundary>\n\t\t);\n\t},\n\t(prevProps, nextProps) => {\n\t\treturn prevProps.config === nextProps.config;\n\t},\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":";;;;;;;;;;AASO,SAAS,eAAkB,GAAA;AACjC,EAAA,MAAM,SAAS,kBAAmB,EAAA;AAClC,EAAA,MAAM,EAAE,YAAc,EAAA,KAAA,EAAO,QAAS,EAAA,GAAI,UAAU,EAAC;AAErD,EAAA,MAAM,kBAAkB,uBAAwB,EAAA;AAChD,EAAM,MAAA,SAAA,GAAY,2BAAoC,OAAO,CAAA;AAE7D,EAAA,MAAM,OAAU,GAAA,OAAA;AAAA,IACf,MAAM,eAAgB,CAAA,OAAA;AAAA,IACtB,CAAC,gBAAgB,OAAO;AAAA,GACzB;AAEA,EAAM,MAAA,MAAA,GAAS,QAAQ,MAAM;AAC5B,IAAI,IAAA,OAAA,CAAQ,SAAS,CAAG,EAAA;AACvB,MAAA;AAAA;AAED,IAAA,OAAO,aAAc,CAAA,aAAA,CAAc,IAAK,CAAA,OAAO,GAAG,EAAY,CAAA;AAAA,GAC/D,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,IAAI,CAAC,SAAW,EAAA;AACf,IAAO,OAAA,IAAA;AAAA;AAGR,EAAA,uBAEG,GAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA,YAAA;AAAA;AAAA;AAAA,oBAGA,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACA,qBAAqB,EAAA,IAAA;AAAA,QACrB,SAAU,EAAA,OAAA;AAAA,QACV,SAAS,OAAQ,CAAA,KAAA;AAAA,QACjB,QAAU,EAAA;AAAA,UACT,KAAA;AAAA,UACA,QAAA;AAAA,UACA,MAAQ,EAAA,OAAA,CAAQ,MAAW,KAAA,CAAA,GAAI,QAAQ,IAAO,GAAA;AAAA,SAC/C;AAAA,QACA,GAAK,EAAA;AAAA;AAAA;AACN,sBAEA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,OAAS,EAAA,MAAA;AAAA,QACT,aAAe,EAAA,QAAA;AAAA,QACf,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA,QAAA;AAAA,QAChB,KAAO,EAAA,MAAA;AAAA,QACP,GAAK,EAAA;AAAA,OACN;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,QAAG,KAAO,EAAA,EAAE,QAAQ,CAAE,EAAA,EAAG,IAAI,4BAC5B,EAAA,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UAAO,GAAA;AAAA,UACP,CAAA,EAAG,QAAQ,MAAW,KAAA,CAAA,GAAI,MAAM,MAAQ,EAAA,IAAI,KAAK,EAAE,CAAA;AAAA,SACrD,EAAA,CAAA;AAAA,wBACA,GAAA,CAAC,IAAG,EAAA,EAAA,KAAA,EAAO,EAAE,KAAA,EAAO,OAAO,OAAS,EAAA,MAAA,EAAQ,CAAE,EAAA,EAC5C,QACF,EAAA,QAAA,EAAA;AAAA;AAAA;AAAA,GAGH,EAAA,CAAA;AAEF","file":"ScorecardHeader.js","sourcesContent":["import { useScorecardConfig } from \"./ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { PeriodUtility } from \"@hisptz/dhis2-utils\";\nimport { head } from \"lodash\";\nimport { colors } from \"@dhis2/ui\";\nimport JsxParser from \"react-jsx-parser\";\nimport { useScorecardViewStateValue } from \"../utils/viewState\";\nimport { usePeriodSelectionValue } from \"../utils/dimensionState\";\n\nexport function ScorecardHeader() {\n\tconst config = useScorecardConfig();\n\tconst { customHeader, title, subtitle } = config ?? {};\n\n\tconst periodSelection = usePeriodSelectionValue();\n\tconst showTitle = useScorecardViewStateValue<boolean>(\"title\");\n\n\tconst periods = useMemo(\n\t\t() => periodSelection.periods,\n\t\t[periodSelection.periods],\n\t);\n\n\tconst period = useMemo(() => {\n\t\tif (periods.length > 1) {\n\t\t\treturn;\n\t\t}\n\t\treturn PeriodUtility.getPeriodById(head(periods)?.id as string);\n\t}, [periods]);\n\n\tif (!showTitle) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{customHeader ? (\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\t<JsxParser\n\t\t\t\t\tautoCloseVoidElements\n\t\t\t\t\tclassName=\"w-100\"\n\t\t\t\t\tonError={console.error}\n\t\t\t\t\tbindings={{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tsubtitle,\n\t\t\t\t\t\tperiod: periods.length === 1 ? period?.name : \"\",\n\t\t\t\t\t}}\n\t\t\t\t\tjsx={customHeader}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<h1 style={{ margin: 8 }} id={\"data-test-score-card-title\"}>\n\t\t\t\t\t\t{title}{\" \"}\n\t\t\t\t\t\t{`${periods.length === 1 ? ` - ${period?.name}` : \"\"}`}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<h3 style={{ color: colors.grey600, margin: 0 }}>\n\t\t\t\t\t\t{subtitle}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/ScorecardHeader.tsx"],"names":[],"mappings":";;;;;;;;;;AASO,SAAS,eAAA,GAAkB;AACjC,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM,EAAE,YAAA,EAAc,KAAA,EAAO,QAAA,EAAS,GAAI,UAAU,EAAC;AAErD,EAAA,MAAM,kBAAkB,uBAAA,EAAwB;AAChD,EAAA,MAAM,SAAA,GAAY,2BAAoC,OAAO,CAAA;AAE7D,EAAA,MAAM,OAAA,GAAU,OAAA;AAAA,IACf,MAAM,eAAA,CAAgB,OAAA;AAAA,IACtB,CAAC,gBAAgB,OAAO;AAAA,GACzB;AAEA,EAAA,MAAM,MAAA,GAAS,QAAQ,MAAM;AAC5B,IAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACvB,MAAA;AAAA,IACD;AACA,IAAA,OAAO,aAAA,CAAc,aAAA,CAAc,IAAA,CAAK,OAAO,GAAG,EAAY,CAAA;AAAA,EAC/D,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,IAAI,CAAC,SAAA,EAAW;AACf,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACC,GAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA,YAAA;AAAA;AAAA;AAAA,oBAGA,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACA,qBAAA,EAAqB,IAAA;AAAA,QACrB,SAAA,EAAU,OAAA;AAAA,QACV,SAAS,OAAA,CAAQ,KAAA;AAAA,QACjB,QAAA,EAAU;AAAA,UACT,KAAA;AAAA,UACA,QAAA;AAAA,UACA,MAAA,EAAQ,OAAA,CAAQ,MAAA,KAAW,CAAA,GAAI,QAAQ,IAAA,GAAO;AAAA,SAC/C;AAAA,QACA,GAAA,EAAK;AAAA;AAAA;AACN,sBAEA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,OAAA,EAAS,MAAA;AAAA,QACT,aAAA,EAAe,QAAA;AAAA,QACf,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB,QAAA;AAAA,QAChB,KAAA,EAAO,MAAA;AAAA,QACP,GAAA,EAAK;AAAA,OACN;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,QAAG,KAAA,EAAO,EAAE,QAAQ,CAAA,EAAE,EAAG,IAAI,4BAAA,EAC5B,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UAAO,GAAA;AAAA,UACP,CAAA,EAAG,QAAQ,MAAA,KAAW,CAAA,GAAI,MAAM,MAAA,EAAQ,IAAI,KAAK,EAAE,CAAA;AAAA,SAAA,EACrD,CAAA;AAAA,wBACA,GAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAO,EAAE,KAAA,EAAO,OAAO,OAAA,EAAS,MAAA,EAAQ,CAAA,EAAE,EAC5C,QAAA,EAAA,QAAA,EACF;AAAA;AAAA;AAAA,GACD,EAEF,CAAA;AAEF","file":"ScorecardHeader.js","sourcesContent":["import { useScorecardConfig } from \"./ConfigProvider\";\nimport { useMemo } from \"react\";\nimport { PeriodUtility } from \"@hisptz/dhis2-utils\";\nimport { head } from \"lodash\";\nimport { colors } from \"@dhis2/ui\";\nimport JsxParser from \"react-jsx-parser\";\nimport { useScorecardViewStateValue } from \"../utils/viewState\";\nimport { usePeriodSelectionValue } from \"../utils/dimensionState\";\n\nexport function ScorecardHeader() {\n\tconst config = useScorecardConfig();\n\tconst { customHeader, title, subtitle } = config ?? {};\n\n\tconst periodSelection = usePeriodSelectionValue();\n\tconst showTitle = useScorecardViewStateValue<boolean>(\"title\");\n\n\tconst periods = useMemo(\n\t\t() => periodSelection.periods,\n\t\t[periodSelection.periods],\n\t);\n\n\tconst period = useMemo(() => {\n\t\tif (periods.length > 1) {\n\t\t\treturn;\n\t\t}\n\t\treturn PeriodUtility.getPeriodById(head(periods)?.id as string);\n\t}, [periods]);\n\n\tif (!showTitle) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{customHeader ? (\n\t\t\t\t/*\n // @ts-ignore */\n\t\t\t\t<JsxParser\n\t\t\t\t\tautoCloseVoidElements\n\t\t\t\t\tclassName=\"w-100\"\n\t\t\t\t\tonError={console.error}\n\t\t\t\t\tbindings={{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tsubtitle,\n\t\t\t\t\t\tperiod: periods.length === 1 ? period?.name : \"\",\n\t\t\t\t\t}}\n\t\t\t\t\tjsx={customHeader}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\tflexDirection: \"column\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"center\",\n\t\t\t\t\t\twidth: \"100%\",\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<h1 style={{ margin: 8 }} id={\"data-test-score-card-title\"}>\n\t\t\t\t\t\t{title}{\" \"}\n\t\t\t\t\t\t{`${periods.length === 1 ? ` - ${period?.name}` : \"\"}`}\n\t\t\t\t\t</h1>\n\t\t\t\t\t<h3 style={{ color: colors.grey600, margin: 0 }}>\n\t\t\t\t\t\t{subtitle}\n\t\t\t\t\t</h3>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ScorecardLegendsView/ScorecardLegendsView.tsx"],"names":["ScorecardLegendsView"],"mappings":";;;;;;;;AAOa,MAAA,oBAAA,GAAuB,IAAK,CAAA,SAASA,qBAAuB,GAAA;AACxE,EAAA,MAAM,SAAS,kBAAmB,EAAA;AAClC,EAAA,MAAM,oBAAoB,MAAQ,CAAA,iBAAA;AAClC,EAAM,MAAA,WAAA,GAAc,2BAAoC,QAAQ,CAAA;AAEhE,EAAA,IAAI,CAAC,WAAa,EAAA;AACjB,IAAO,OAAA,IAAA;AAAA;AAGR,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,GAAK,EAAA,EAAA;AAAA,QACL,OAAS,EAAA,QAAA;AAAA,QACT,OAAS,EAAA,MAAA;AAAA,QACT,UAAY,EAAA,QAAA;AAAA,QACZ,cAAgB,EAAA;AAAA,OACjB;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAO,EAAA;AAAA,cACN,OAAS,EAAA,MAAA;AAAA,cACT,GAAK,EAAA,CAAA;AAAA,cACL,mBAAA,EAAqB,CAAU,OAAA,EAAA,iBAAA,CAAkB,MAAM,CAAA,OAAA;AAAA,aACxD;AAAA,YAEC,QAAA,EAAA,iBAAA,CAAkB,GAAI,CAAA,CAAC,IACvB,qBAAA,GAAA,CAAC,cAAW,MAAQ,EAAA,IAAA,EAAA,EAAW,IAAK,CAAA,EAAI,CACxC;AAAA;AAAA,SACF;AAAA,4BACC,KACA,EAAA,EAAA,QAAA,kBAAA,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAO,EAAA;AAAA,cACN,GAAK,EAAA,EAAA;AAAA,cACL,WAAa,EAAA,UAAA;AAAA,cACb,OAAS,EAAA,MAAA;AAAA,cACT,UAAY,EAAA,QAAA;AAAA,cACZ,cAAgB,EAAA;AAAA,aACjB;AAAA,YAEA,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,gBAAiB,EAAA,EAAA,CAAA;AAAA,kCACjB,yBAA0B,EAAA,EAAA;AAAA;AAAA;AAAA,SAE7B,EAAA;AAAA;AAAA;AAAA,GACD;AAEF,CAAC","file":"ScorecardLegendsView.js","sourcesContent":["import { ArrowLegendsView } from \"./components/ArrowLegendView\";\nimport { SpecificTargetLegendsView } from \"./components/SpecificTargetLegendsView\";\nimport { LegendView } from \"./components/LegendView\";\nimport { useScorecardConfig } from \"../ConfigProvider\";\nimport { memo } from \"react\";\nimport { useScorecardViewStateValue } from \"../../utils/viewState\";\n\nexport const ScorecardLegendsView = memo(function ScorecardLegendsView() {\n\tconst config = useScorecardConfig();\n\tconst legendDefinitions = config!.legendDefinitions;\n\tconst showLegends = useScorecardViewStateValue<boolean>(\"legend\");\n\n\tif (!showLegends) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tgap: 16,\n\t\t\t\tpadding: \"0 16px\",\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"grid\",\n\t\t\t\t\tgap: 8,\n\t\t\t\t\tgridTemplateColumns: `repeat(${legendDefinitions.length}, auto)`,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{legendDefinitions.map((item) => (\n\t\t\t\t\t<LegendView legend={item} key={item.id} />\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t\tjustifySelf: \"flex-end\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<ArrowLegendsView />\n\t\t\t\t\t<SpecificTargetLegendsView />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n"]}
1
+ {"version":3,"sources":["../../../../src/components/ScorecardLegendsView/ScorecardLegendsView.tsx"],"names":["ScorecardLegendsView"],"mappings":";;;;;;;;AAOO,MAAM,oBAAA,GAAuB,IAAA,CAAK,SAASA,qBAAAA,GAAuB;AACxE,EAAA,MAAM,SAAS,kBAAA,EAAmB;AAClC,EAAA,MAAM,oBAAoB,MAAA,CAAQ,iBAAA;AAClC,EAAA,MAAM,WAAA,GAAc,2BAAoC,QAAQ,CAAA;AAEhE,EAAA,IAAI,CAAC,WAAA,EAAa;AACjB,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,GAAA,EAAK,EAAA;AAAA,QACL,OAAA,EAAS,QAAA;AAAA,QACT,OAAA,EAAS,MAAA;AAAA,QACT,UAAA,EAAY,QAAA;AAAA,QACZ,cAAA,EAAgB;AAAA,OACjB;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAA,EAAO;AAAA,cACN,OAAA,EAAS,MAAA;AAAA,cACT,GAAA,EAAK,CAAA;AAAA,cACL,mBAAA,EAAqB,CAAA,OAAA,EAAU,iBAAA,CAAkB,MAAM,CAAA,OAAA;AAAA,aACxD;AAAA,YAEC,QAAA,EAAA,iBAAA,CAAkB,GAAA,CAAI,CAAC,IAAA,qBACvB,GAAA,CAAC,cAAW,MAAA,EAAQ,IAAA,EAAA,EAAW,IAAA,CAAK,EAAI,CACxC;AAAA;AAAA,SACF;AAAA,4BACC,KAAA,EAAA,EACA,QAAA,kBAAA,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACA,KAAA,EAAO;AAAA,cACN,GAAA,EAAK,EAAA;AAAA,cACL,WAAA,EAAa,UAAA;AAAA,cACb,OAAA,EAAS,MAAA;AAAA,cACT,UAAA,EAAY,QAAA;AAAA,cACZ,cAAA,EAAgB;AAAA,aACjB;AAAA,YAEA,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,CAAA;AAAA,kCACjB,yBAAA,EAAA,EAA0B;AAAA;AAAA;AAAA,SAC5B,EACD;AAAA;AAAA;AAAA,GACD;AAEF,CAAC","file":"ScorecardLegendsView.js","sourcesContent":["import { ArrowLegendsView } from \"./components/ArrowLegendView\";\nimport { SpecificTargetLegendsView } from \"./components/SpecificTargetLegendsView\";\nimport { LegendView } from \"./components/LegendView\";\nimport { useScorecardConfig } from \"../ConfigProvider\";\nimport { memo } from \"react\";\nimport { useScorecardViewStateValue } from \"../../utils/viewState\";\n\nexport const ScorecardLegendsView = memo(function ScorecardLegendsView() {\n\tconst config = useScorecardConfig();\n\tconst legendDefinitions = config!.legendDefinitions;\n\tconst showLegends = useScorecardViewStateValue<boolean>(\"legend\");\n\n\tif (!showLegends) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tgap: 16,\n\t\t\t\tpadding: \"0 16px\",\n\t\t\t\tdisplay: \"flex\",\n\t\t\t\talignItems: \"center\",\n\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tdisplay: \"grid\",\n\t\t\t\t\tgap: 8,\n\t\t\t\t\tgridTemplateColumns: `repeat(${legendDefinitions.length}, auto)`,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{legendDefinitions.map((item) => (\n\t\t\t\t\t<LegendView legend={item} key={item.id} />\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tgap: 16,\n\t\t\t\t\t\tjustifySelf: \"flex-end\",\n\t\t\t\t\t\tdisplay: \"flex\",\n\t\t\t\t\t\talignItems: \"center\",\n\t\t\t\t\t\tjustifyContent: \"space-between\",\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<ArrowLegendsView />\n\t\t\t\t\t<SpecificTargetLegendsView />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/ArrowLegendView.tsx"],"names":[],"mappings":";;;;;AAIO,SAAS,gBAAmB,GAAA;AAClC,EAAM,MAAA,UAAA,GAAa,2BAAoC,QAAQ,CAAA;AAE/D,EAAA,IAAI,CAAC,UAAY,EAAA;AAChB,IAAO,OAAA,IAAA;AAAA;AAGR,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,OAAO,EAAE,GAAA,EAAK,IAAI,OAAS,EAAA,MAAA,EAAQ,qBAAqB,SAAU,EAAA;AAAA,MAElE,QAAA,EAAA;AAAA,wBAAC,IAAA,CAAA,KAAA,EAAA,EAAI,OAAO,EAAE,GAAA,EAAK,GAAG,OAAS,EAAA,MAAA,EAAQ,UAAY,EAAA,QAAA,EAClD,EAAA,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,aAAc,EAAA,EAAA,CAAA;AAAA,UACd,IAAA,CAAK,EAAE,4BAA4B;AAAA,SACrC,EAAA,CAAA;AAAA,wBACA,IAAA,CAAC,KAAI,EAAA,EAAA,KAAA,EAAO,EAAE,GAAA,EAAK,GAAG,OAAS,EAAA,MAAA,EAAQ,UAAY,EAAA,QAAA,EAClD,EAAA,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,eAAgB,EAAA,EAAA,CAAA;AAAA,UAChB,IAAA,CAAK,EAAE,4BAA4B;AAAA,SACrC,EAAA;AAAA;AAAA;AAAA,GACD;AAEF","file":"ArrowLegendView.js","sourcesContent":["import { IconArrowDown24, IconArrowUp24 } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardViewStateValue } from \"../../../utils/viewState\";\n\nexport function ArrowLegendsView() {\n\tconst showArrows = useScorecardViewStateValue<boolean>(\"arrows\");\n\n\tif (!showArrows) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{ gap: 16, display: \"grid\", gridTemplateColumns: \"1fr 1fr\" }}\n\t\t>\n\t\t\t<div style={{ gap: 8, display: \"flex\", alignItems: \"center\" }}>\n\t\t\t\t<IconArrowUp24 />\n\t\t\t\t{i18n.t(\"Increased from last period\")}\n\t\t\t</div>\n\t\t\t<div style={{ gap: 8, display: \"flex\", alignItems: \"center\" }}>\n\t\t\t\t<IconArrowDown24 />\n\t\t\t\t{i18n.t(\"Decreased from last period\")}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/ArrowLegendView.tsx"],"names":[],"mappings":";;;;;AAIO,SAAS,gBAAA,GAAmB;AAClC,EAAA,MAAM,UAAA,GAAa,2BAAoC,QAAQ,CAAA;AAE/D,EAAA,IAAI,CAAC,UAAA,EAAY;AAChB,IAAA,OAAO,IAAA;AAAA,EACR;AAEA,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,OAAO,EAAE,GAAA,EAAK,IAAI,OAAA,EAAS,MAAA,EAAQ,qBAAqB,SAAA,EAAU;AAAA,MAElE,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAE,GAAA,EAAK,GAAG,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAS,EAC3D,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,aAAA,EAAA,EAAc,CAAA;AAAA,UACd,IAAA,CAAK,EAAE,4BAA4B;AAAA,SAAA,EACrC,CAAA;AAAA,wBACA,IAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,GAAA,EAAK,GAAG,OAAA,EAAS,MAAA,EAAQ,UAAA,EAAY,QAAA,EAAS,EAC3D,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,CAAA;AAAA,UAChB,IAAA,CAAK,EAAE,4BAA4B;AAAA,SAAA,EACrC;AAAA;AAAA;AAAA,GACD;AAEF","file":"ArrowLegendView.js","sourcesContent":["import { IconArrowDown24, IconArrowUp24 } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { useScorecardViewStateValue } from \"../../../utils/viewState\";\n\nexport function ArrowLegendsView() {\n\tconst showArrows = useScorecardViewStateValue<boolean>(\"arrows\");\n\n\tif (!showArrows) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{ gap: 16, display: \"grid\", gridTemplateColumns: \"1fr 1fr\" }}\n\t\t>\n\t\t\t<div style={{ gap: 8, display: \"flex\", alignItems: \"center\" }}>\n\t\t\t\t<IconArrowUp24 />\n\t\t\t\t{i18n.t(\"Increased from last period\")}\n\t\t\t</div>\n\t\t\t<div style={{ gap: 8, display: \"flex\", alignItems: \"center\" }}>\n\t\t\t\t<IconArrowDown24 />\n\t\t\t\t{i18n.t(\"Decreased from last period\")}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/LegendView.tsx"],"names":[],"mappings":"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","file":"LegendView.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { find } from \"lodash\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport type {\n\tLegendDefinition,\n\tScorecardLegend,\n} from \"../../../schemas/config\";\n\nexport interface LegendsViewProps {\n\tlegends: ScorecardLegend[];\n}\n\nexport function LegendsView({ legends }: LegendsViewProps) {\n\tconst config = useScorecardConfig();\n\tconst legendDefinitions = config.legendDefinitions ?? [];\n\n\treturn (\n\t\t<div className=\"column gap-8\">\n\t\t\t<table>\n\t\t\t\t<col width=\"60%\" />\n\t\t\t\t<col width=\"20%\" />\n\t\t\t\t<col width=\"20%\" />\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th align=\"left\">{i18n.t(\"Legend\")}</th>\n\t\t\t\t\t\t<th>{i18n.t(\"Min\")}</th>\n\t\t\t\t\t\t<th>{i18n.t(\"Max\")}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{legends?.map((legend) => {\n\t\t\t\t\t\tconst legendDefinition = find(legendDefinitions, {\n\t\t\t\t\t\t\tid: legend.legendDefinitionId,\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<tr key={`${legend.id}-view`}>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<col width=\"20%\" />\n\t\t\t\t\t\t\t\t\t\t<col width=\"80%\" />\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theight: 24,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: 32,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlegendDefinition?.color,\n\t\t\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\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{legendDefinition?.name}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align=\"center\">{legend?.startValue}</td>\n\t\t\t\t\t\t\t\t<td align=\"center\">{legend?.endValue}</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t);\n}\n\nexport interface LegendViewProps {\n\tlegend: LegendDefinition;\n}\n\nexport function LegendView({ legend }: LegendViewProps) {\n\tconst { color, name, id } = legend;\n\treturn (\n\t\t<div\n\t\t\tkey={id}\n\t\t\tstyle={{ display: \"grid\", gap: 8, gridTemplateColumns: \"auto 1fr\" }}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: 60,\n\t\t\t\t\theight: 25,\n\t\t\t\t\tbackground: color,\n\t\t\t\t\tborder: \"1px solid rgb(232, 237, 242)\",\n\t\t\t\t\tpadding: 16,\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<p style={{ paddingLeft: 8, marginRight: 8 }}>{name}</p>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/LegendView.tsx"],"names":[],"mappings":"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","file":"LegendView.js","sourcesContent":["import i18n from \"@dhis2/d2-i18n\";\nimport { find } from \"lodash\";\nimport { useScorecardConfig } from \"../../ConfigProvider\";\nimport type {\n\tLegendDefinition,\n\tScorecardLegend,\n} from \"../../../schemas/config\";\n\nexport interface LegendsViewProps {\n\tlegends: ScorecardLegend[];\n}\n\nexport function LegendsView({ legends }: LegendsViewProps) {\n\tconst config = useScorecardConfig();\n\tconst legendDefinitions = config.legendDefinitions ?? [];\n\n\treturn (\n\t\t<div className=\"column gap-8\">\n\t\t\t<table>\n\t\t\t\t<col width=\"60%\" />\n\t\t\t\t<col width=\"20%\" />\n\t\t\t\t<col width=\"20%\" />\n\t\t\t\t<thead>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th align=\"left\">{i18n.t(\"Legend\")}</th>\n\t\t\t\t\t\t<th>{i18n.t(\"Min\")}</th>\n\t\t\t\t\t\t<th>{i18n.t(\"Max\")}</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{legends?.map((legend) => {\n\t\t\t\t\t\tconst legendDefinition = find(legendDefinitions, {\n\t\t\t\t\t\t\tid: legend.legendDefinitionId,\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<tr key={`${legend.id}-view`}>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<col width=\"20%\" />\n\t\t\t\t\t\t\t\t\t\t<col width=\"80%\" />\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\theight: 24,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: 32,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlegendDefinition?.color,\n\t\t\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\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{legendDefinition?.name}\n\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td align=\"center\">{legend?.startValue}</td>\n\t\t\t\t\t\t\t\t<td align=\"center\">{legend?.endValue}</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t</div>\n\t);\n}\n\nexport interface LegendViewProps {\n\tlegend: LegendDefinition;\n}\n\nexport function LegendView({ legend }: LegendViewProps) {\n\tconst { color, name, id } = legend;\n\treturn (\n\t\t<div\n\t\t\tkey={id}\n\t\t\tstyle={{ display: \"grid\", gap: 8, gridTemplateColumns: \"auto 1fr\" }}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\twidth: 60,\n\t\t\t\t\theight: 25,\n\t\t\t\t\tbackground: color,\n\t\t\t\t\tborder: \"1px solid rgb(232, 237, 242)\",\n\t\t\t\t\tpadding: 16,\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<p style={{ paddingLeft: 8, marginRight: 8 }}>{name}</p>\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.tsx"],"names":[],"mappings":";;;;;;AAWO,SAAS,8BAA+B,CAAA;AAAA,EAC9C,cAAA;AAAA,EACA;AACD,CAAmC,EAAA;AAClC,EAAA,MAAM,OAAO,gBAAiB,EAAA;AAC9B,EAAM,MAAA,aAAA,GAAgB,IAAM,EAAA,aAAA,IAAiB,EAAC;AAE9C,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,QAAU,EAAA,GAAA;AAAA,QACV,MAAA,EAAQ,CAAa,UAAA,EAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,QACnC,YAAc,EAAA,CAAA;AAAA,QACd,GAAK,EAAA;AAAA,OACN;AAAA,MACA,SAAU,EAAA,oBAAA;AAAA,MAEV,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KACA,EAAA,EAAA,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,GAAG,EAAA,EAAA,QAAA,EAAA;AAAA,YAAA,IAAA,CAAK,EAAE,aAAa,CAAA;AAAA,YAAE;AAAA,WAAE,EAAA,CAAA;AAAA,UAC3B;AAAA,SACF,EAAA,CAAA;AAAA,wBACC,GAAA,CAAA,KAAA,EAAA,EAAI,KAAO,EAAA,EAAE,KAAK,EAAG,EAAA,EAAG,SAAU,EAAA,cAAA,EACjC,iBAAO,IAAK,CAAA,cAAc,CAAE,CAAA,GAAA,CAAI,CAAC,GAAQ,KAAA;AACzC,UAAA,MAAM,eAAe,aAAc,CAAA,IAAA;AAAA,YAClC,CAAC,KAAU,KAAA,KAAA,CAAM,EAAO,KAAA;AAAA,WACzB;AACA,UAAM,MAAA,OAAA,GAAU,eAAe,GAAG,CAAA;AAClC,UAAA,4BACE,KACA,EAAA,EAAA,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,SAAI,SAAU,EAAA,eAAA,EACd,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA,EACA,+BAAC,GACC,EAAA,EAAA,QAAA,EAAA;AAAA,cAAA,IAAA,CAAK,EAAE,yBAAyB,CAAA;AAAA,cAAE,GAAA;AAAA,cAAE,GAAA;AAAA,cACpC,YAAc,EAAA;AAAA,aAAA,EAChB,GACD,CACD,EAAA,CAAA;AAAA,4BACA,GAAA,CAAC,eAAY,OAAkB,EAAA;AAAA,WAChC,EAAA,CAAA;AAAA,SAED,CACF,EAAA;AAAA;AAAA;AAAA,GACD;AAEF","file":"OrgUnitLevelSpecificTargetView.js","sourcesContent":["import { colors } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { LegendsView } from \"./LegendView\";\nimport type { OrgUnitLevelLegend } from \"../../../schemas/config\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\n\nexport interface OrgUnitSpecificTargetViewProps {\n\tspecificTarget: OrgUnitLevelLegend;\n\tlabel: string;\n}\n\nexport function OrgUnitLevelSpecificTargetView({\n\tspecificTarget,\n\tlabel,\n}: OrgUnitSpecificTargetViewProps) {\n\tconst meta = useScorecardMeta();\n\tconst orgUnitLevels = meta?.orgUnitLevels ?? [];\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tmaxWidth: 350,\n\t\t\t\tborder: `1px solid ${colors.grey600}`,\n\t\t\t\tborderRadius: 4,\n\t\t\t\tgap: 8,\n\t\t\t}}\n\t\t\tclassName=\"column gap-16 p-16\"\n\t\t>\n\t\t\t<div>\n\t\t\t\t<b>{i18n.t(\"Data Source\")}: </b>\n\t\t\t\t{label}\n\t\t\t</div>\n\t\t\t<div style={{ gap: 16 }} className=\"column gap-8\">\n\t\t\t\t{Object.keys(specificTarget).map((key) => {\n\t\t\t\t\tconst orgUnitLevel = orgUnitLevels.find(\n\t\t\t\t\t\t(level) => level.id === key,\n\t\t\t\t\t);\n\t\t\t\t\tconst legends = specificTarget[key];\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"column gap-16\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<b>\n\t\t\t\t\t\t\t\t\t\t{i18n.t(\"Organisation Unit Level\")}:{\" \"}\n\t\t\t\t\t\t\t\t\t\t{orgUnitLevel?.displayName}\n\t\t\t\t\t\t\t\t\t</b>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<LegendsView legends={legends} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitLevelSpecificTargetView.tsx"],"names":[],"mappings":";;;;;;AAWO,SAAS,8BAAA,CAA+B;AAAA,EAC9C,cAAA;AAAA,EACA;AACD,CAAA,EAAmC;AAClC,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,MAAM,aAAA,GAAgB,IAAA,EAAM,aAAA,IAAiB,EAAC;AAE9C,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,QAAA,EAAU,GAAA;AAAA,QACV,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,QACnC,YAAA,EAAc,CAAA;AAAA,QACd,GAAA,EAAK;AAAA,OACN;AAAA,MACA,SAAA,EAAU,oBAAA;AAAA,MAEV,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA;AAAA,YAAA,IAAA,CAAK,EAAE,aAAa,CAAA;AAAA,YAAE;AAAA,WAAA,EAAE,CAAA;AAAA,UAC3B;AAAA,SAAA,EACF,CAAA;AAAA,wBACA,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,KAAK,EAAA,EAAG,EAAG,SAAA,EAAU,cAAA,EACjC,iBAAO,IAAA,CAAK,cAAc,CAAA,CAAE,GAAA,CAAI,CAAC,GAAA,KAAQ;AACzC,UAAA,MAAM,eAAe,aAAA,CAAc,IAAA;AAAA,YAClC,CAAC,KAAA,KAAU,KAAA,CAAM,EAAA,KAAO;AAAA,WACzB;AACA,UAAA,MAAM,OAAA,GAAU,eAAe,GAAG,CAAA;AAClC,UAAA,4BACE,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,SAAI,SAAA,EAAU,eAAA,EACd,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EACA,+BAAC,GAAA,EAAA,EACC,QAAA,EAAA;AAAA,cAAA,IAAA,CAAK,EAAE,yBAAyB,CAAA;AAAA,cAAE,GAAA;AAAA,cAAE,GAAA;AAAA,cACpC,YAAA,EAAc;AAAA,aAAA,EAChB,GACD,CAAA,EACD,CAAA;AAAA,4BACA,GAAA,CAAC,eAAY,OAAA,EAAkB;AAAA,WAAA,EAChC,CAAA;AAAA,QAEF,CAAC,CAAA,EACF;AAAA;AAAA;AAAA,GACD;AAEF","file":"OrgUnitLevelSpecificTargetView.js","sourcesContent":["import { colors } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { LegendsView } from \"./LegendView\";\nimport type { OrgUnitLevelLegend } from \"../../../schemas/config\";\nimport { useScorecardMeta } from \"../../MetaProvider\";\n\nexport interface OrgUnitSpecificTargetViewProps {\n\tspecificTarget: OrgUnitLevelLegend;\n\tlabel: string;\n}\n\nexport function OrgUnitLevelSpecificTargetView({\n\tspecificTarget,\n\tlabel,\n}: OrgUnitSpecificTargetViewProps) {\n\tconst meta = useScorecardMeta();\n\tconst orgUnitLevels = meta?.orgUnitLevels ?? [];\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tmaxWidth: 350,\n\t\t\t\tborder: `1px solid ${colors.grey600}`,\n\t\t\t\tborderRadius: 4,\n\t\t\t\tgap: 8,\n\t\t\t}}\n\t\t\tclassName=\"column gap-16 p-16\"\n\t\t>\n\t\t\t<div>\n\t\t\t\t<b>{i18n.t(\"Data Source\")}: </b>\n\t\t\t\t{label}\n\t\t\t</div>\n\t\t\t<div style={{ gap: 16 }} className=\"column gap-8\">\n\t\t\t\t{Object.keys(specificTarget).map((key) => {\n\t\t\t\t\tconst orgUnitLevel = orgUnitLevels.find(\n\t\t\t\t\t\t(level) => level.id === key,\n\t\t\t\t\t);\n\t\t\t\t\tconst legends = specificTarget[key];\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div className=\"column gap-16\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<b>\n\t\t\t\t\t\t\t\t\t\t{i18n.t(\"Organisation Unit Level\")}:{\" \"}\n\t\t\t\t\t\t\t\t\t\t{orgUnitLevel?.displayName}\n\t\t\t\t\t\t\t\t\t</b>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<LegendsView legends={legends} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.tsx"],"names":[],"mappings":";;;;;;AAWO,SAAS,yBAA0B,CAAA;AAAA,EACzC,cAAA;AAAA,EACA;AACD,CAAmC,EAAA;AAClC,EAAA,MAAM,QAAQ,cAAe,CAAA,KAAA;AAC7B,EAAA,MAAM,EAAE,OAAA,EAAS,QAAS,EAAA,GAAI,YAAY,KAAK,CAAA;AAE/C,EAAA,IAAI,OAAS,EAAA;AACZ,IACC,uBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAO,EAAA,EAAE,QAAU,EAAA,GAAA,EAAK,WAAW,GAAI,EAAA;AAAA,QACvC,SAAU,EAAA,kDAAA;AAAA,QAEV,QAAA,kBAAA,GAAA,CAAC,cAAe,EAAA,EAAA,UAAA,EAAU,IAAC,EAAA;AAAA;AAAA,KAC5B;AAAA;AAIF,EACC,uBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACN,QAAU,EAAA,GAAA;AAAA,QACV,MAAA,EAAQ,CAAa,UAAA,EAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,QACnC,YAAc,EAAA;AAAA,OACf;AAAA,MACA,SAAU,EAAA,oBAAA;AAAA,MAEV,QAAA,EAAA;AAAA,wBAAC,IAAA,CAAA,KAAA,EAAA,EAAI,WAAU,eACd,EAAA,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KACA,EAAA,EAAA,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,GAAG,EAAA,EAAA,QAAA,EAAA;AAAA,cAAA,IAAA,CAAK,EAAE,sBAAsB,CAAA;AAAA,cAAE;AAAA,aAAE,EAAA,CAAA;AAAA,YAAK,GAAA;AAAA,YACzC,QAAA,EAAU,IAAI,CAAC,EAAA,KAAO,GAAG,WAAW,CAAA,EAAG,KAAK,IAAI;AAAA,WAClD,EAAA,CAAA;AAAA,+BACC,KACA,EAAA,EAAA,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,GAAG,EAAA,EAAA,QAAA,EAAA;AAAA,cAAA,IAAA,CAAK,EAAE,aAAa,CAAA;AAAA,cAAE;AAAA,aAAE,EAAA,CAAA;AAAA,YAC3B;AAAA,WACF,EAAA;AAAA,SACD,EAAA,CAAA;AAAA,wBACC,GAAA,CAAA,WAAA,EAAA,EAAY,OAAS,EAAA,cAAA,CAAe,OAAS,EAAA;AAAA;AAAA;AAAA,GAC/C;AAEF","file":"OrgUnitSpecificTargetView.js","sourcesContent":["import type { SpecificTarget } from \"../../../schemas/config\";\nimport { CircularLoader, colors } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { LegendsView } from \"./LegendView\";\nimport { useOrgUnits } from \"../../../hooks/orgUnit\";\n\nexport interface OrgUnitSpecificTargetViewProps {\n\tspecificTarget: SpecificTarget;\n\tlabel: string;\n}\n\nexport function OrgUnitSpecificTargetView({\n\tspecificTarget,\n\tlabel,\n}: OrgUnitSpecificTargetViewProps) {\n\tconst items = specificTarget.items;\n\tconst { loading, orgUnits } = useOrgUnits(items);\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{ minWidth: 200, minHeight: 200 }}\n\t\t\t\tclassName=\"column align-items-center justify-content-center\"\n\t\t\t>\n\t\t\t\t<CircularLoader extrasmall />\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\tmaxWidth: 350,\n\t\t\t\tborder: `1px solid ${colors.grey600}`,\n\t\t\t\tborderRadius: 4,\n\t\t\t}}\n\t\t\tclassName=\"column gap-16 p-16\"\n\t\t>\n\t\t\t<div className=\"column gap-16\">\n\t\t\t\t<div>\n\t\t\t\t\t<b>{i18n.t(\"Organisation Unit(s)\")}: </b>{\" \"}\n\t\t\t\t\t{orgUnits?.map((ou) => ou.displayName)?.join(\", \")}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<b>{i18n.t(\"Data Source\")}: </b>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<LegendsView legends={specificTarget.legends} />\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["../../../../../src/components/ScorecardLegendsView/components/OrgUnitSpecificTargetView.tsx"],"names":[],"mappings":";;;;;;AAWO,SAAS,yBAAA,CAA0B;AAAA,EACzC,cAAA;AAAA,EACA;AACD,CAAA,EAAmC;AAClC,EAAA,MAAM,QAAQ,cAAA,CAAe,KAAA;AAC7B,EAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAS,GAAI,YAAY,KAAK,CAAA;AAE/C,EAAA,IAAI,OAAA,EAAS;AACZ,IAAA,uBACC,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACA,KAAA,EAAO,EAAE,QAAA,EAAU,GAAA,EAAK,WAAW,GAAA,EAAI;AAAA,QACvC,SAAA,EAAU,kDAAA;AAAA,QAEV,QAAA,kBAAA,GAAA,CAAC,cAAA,EAAA,EAAe,UAAA,EAAU,IAAA,EAAC;AAAA;AAAA,KAC5B;AAAA,EAEF;AAEA,EAAA,uBACC,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,KAAA,EAAO;AAAA,QACN,QAAA,EAAU,GAAA;AAAA,QACV,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,QACnC,YAAA,EAAc;AAAA,OACf;AAAA,MACA,SAAA,EAAU,oBAAA;AAAA,MAEV,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,eAAA,EACd,QAAA,EAAA;AAAA,0BAAA,IAAA,CAAC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA;AAAA,cAAA,IAAA,CAAK,EAAE,sBAAsB,CAAA;AAAA,cAAE;AAAA,aAAA,EAAE,CAAA;AAAA,YAAK,GAAA;AAAA,YACzC,QAAA,EAAU,IAAI,CAAC,EAAA,KAAO,GAAG,WAAW,CAAA,EAAG,KAAK,IAAI;AAAA,WAAA,EAClD,CAAA;AAAA,+BACC,KAAA,EAAA,EACA,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,GAAA,EAAA,EAAG,QAAA,EAAA;AAAA,cAAA,IAAA,CAAK,EAAE,aAAa,CAAA;AAAA,cAAE;AAAA,aAAA,EAAE,CAAA;AAAA,YAC3B;AAAA,WAAA,EACF;AAAA,SAAA,EACD,CAAA;AAAA,wBACA,GAAA,CAAC,WAAA,EAAA,EAAY,OAAA,EAAS,cAAA,CAAe,OAAA,EAAS;AAAA;AAAA;AAAA,GAC/C;AAEF","file":"OrgUnitSpecificTargetView.js","sourcesContent":["import type { SpecificTarget } from \"../../../schemas/config\";\nimport { CircularLoader, colors } from \"@dhis2/ui\";\nimport i18n from \"@dhis2/d2-i18n\";\nimport { LegendsView } from \"./LegendView\";\nimport { useOrgUnits } from \"../../../hooks/orgUnit\";\n\nexport interface OrgUnitSpecificTargetViewProps {\n\tspecificTarget: SpecificTarget;\n\tlabel: string;\n}\n\nexport function OrgUnitSpecificTargetView({\n\tspecificTarget,\n\tlabel,\n}: OrgUnitSpecificTargetViewProps) {\n\tconst items = specificTarget.items;\n\tconst { loading, orgUnits } = useOrgUnits(items);\n\n\tif (loading) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{ minWidth: 200, minHeight: 200 }}\n\t\t\t\tclassName=\"column align-items-center justify-content-center\"\n\t\t\t>\n\t\t\t\t<CircularLoader extrasmall />\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\tmaxWidth: 350,\n\t\t\t\tborder: `1px solid ${colors.grey600}`,\n\t\t\t\tborderRadius: 4,\n\t\t\t}}\n\t\t\tclassName=\"column gap-16 p-16\"\n\t\t>\n\t\t\t<div className=\"column gap-16\">\n\t\t\t\t<div>\n\t\t\t\t\t<b>{i18n.t(\"Organisation Unit(s)\")}: </b>{\" \"}\n\t\t\t\t\t{orgUnits?.map((ou) => ou.displayName)?.join(\", \")}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<b>{i18n.t(\"Data Source\")}: </b>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<LegendsView legends={specificTarget.legends} />\n\t\t</div>\n\t);\n}\n"]}