@hisptz/dhis2-analytics 2.0.43 → 2.0.44

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 (427) hide show
  1. package/dist/esm/index.js +0 -1
  2. package/dist/esm/index.js.map +1 -1
  3. package/dist/index.js +0 -7
  4. package/dist/index.js.map +1 -1
  5. package/dist/types/components/Map/interfaces/index.d.ts +2 -2
  6. package/dist/types/components/Map/interfaces/index.d.ts.map +1 -1
  7. package/dist/types/index.d.ts +0 -1
  8. package/dist/types/index.d.ts.map +1 -1
  9. package/package.json +11 -3
  10. package/dist/components/Scorecard/Scorecard.js +0 -16
  11. package/dist/components/Scorecard/Scorecard.js.map +0 -1
  12. package/dist/components/Scorecard/Scorecard.stories.js +0 -483
  13. package/dist/components/Scorecard/Scorecard.stories.js.map +0 -1
  14. package/dist/components/Scorecard/ScorecardContext.stories.js +0 -422
  15. package/dist/components/Scorecard/ScorecardContext.stories.js.map +0 -1
  16. package/dist/components/Scorecard/components/ConfigProvider.js +0 -30
  17. package/dist/components/Scorecard/components/ConfigProvider.js.map +0 -1
  18. package/dist/components/Scorecard/components/DataProvider.js +0 -45
  19. package/dist/components/Scorecard/components/DataProvider.js.map +0 -1
  20. package/dist/components/Scorecard/components/LoadingIndicator.js +0 -43
  21. package/dist/components/Scorecard/components/LoadingIndicator.js.map +0 -1
  22. package/dist/components/Scorecard/components/MetaProvider.js +0 -53
  23. package/dist/components/Scorecard/components/MetaProvider.js.map +0 -1
  24. package/dist/components/Scorecard/components/ScorecardContext.js +0 -69
  25. package/dist/components/Scorecard/components/ScorecardContext.js.map +0 -1
  26. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +0 -29
  27. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +0 -1
  28. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +0 -30
  29. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +0 -1
  30. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +0 -62
  31. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +0 -1
  32. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js +0 -14
  33. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +0 -1
  34. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js +0 -77
  35. package/dist/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js.map +0 -1
  36. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js +0 -80
  37. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +0 -1
  38. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +0 -33
  39. package/dist/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +0 -1
  40. package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js +0 -157
  41. package/dist/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +0 -1
  42. package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +0 -58
  43. package/dist/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +0 -1
  44. package/dist/components/Scorecard/components/ScorecardTable/components/CellLoader.js +0 -12
  45. package/dist/components/Scorecard/components/ScorecardTable/components/CellLoader.js.map +0 -1
  46. package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js +0 -59
  47. package/dist/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +0 -1
  48. package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +0 -152
  49. package/dist/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +0 -1
  50. package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js +0 -60
  51. package/dist/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +0 -1
  52. package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js +0 -69
  53. package/dist/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +0 -1
  54. package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +0 -46
  55. package/dist/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +0 -1
  56. package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +0 -50
  57. package/dist/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +0 -1
  58. package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +0 -12
  59. package/dist/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +0 -1
  60. package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +0 -84
  61. package/dist/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +0 -1
  62. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js +0 -152
  63. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +0 -1
  64. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js +0 -58
  65. package/dist/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js.map +0 -1
  66. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +0 -107
  67. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +0 -1
  68. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +0 -97
  69. package/dist/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +0 -1
  70. package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +0 -37
  71. package/dist/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +0 -1
  72. package/dist/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js +0 -58
  73. package/dist/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js.map +0 -1
  74. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +0 -101
  75. package/dist/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +0 -1
  76. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js +0 -28
  77. package/dist/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +0 -1
  78. package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js +0 -31
  79. package/dist/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +0 -1
  80. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +0 -24
  81. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +0 -1
  82. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +0 -32
  83. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +0 -1
  84. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +0 -38
  85. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +0 -1
  86. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +0 -72
  87. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +0 -1
  88. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +0 -26
  89. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +0 -1
  90. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +0 -42
  91. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +0 -1
  92. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +0 -71
  93. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +0 -1
  94. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +0 -64
  95. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +0 -1
  96. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +0 -31
  97. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +0 -1
  98. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js +0 -14
  99. package/dist/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js.map +0 -1
  100. package/dist/components/Scorecard/components/ScorecardTable/index.js +0 -14
  101. package/dist/components/Scorecard/components/ScorecardTable/index.js.map +0 -1
  102. package/dist/components/Scorecard/components/StateProvider.js +0 -66
  103. package/dist/components/Scorecard/components/StateProvider.js.map +0 -1
  104. package/dist/components/Scorecard/components/TableStateProvider.js +0 -45
  105. package/dist/components/Scorecard/components/TableStateProvider.js.map +0 -1
  106. package/dist/components/Scorecard/components/index.js +0 -35
  107. package/dist/components/Scorecard/components/index.js.map +0 -1
  108. package/dist/components/Scorecard/hooks/cellData.js +0 -35
  109. package/dist/components/Scorecard/hooks/cellData.js.map +0 -1
  110. package/dist/components/Scorecard/hooks/columns.js +0 -173
  111. package/dist/components/Scorecard/hooks/columns.js.map +0 -1
  112. package/dist/components/Scorecard/hooks/data.js +0 -212
  113. package/dist/components/Scorecard/hooks/data.js.map +0 -1
  114. package/dist/components/Scorecard/hooks/dataEngine.js +0 -8
  115. package/dist/components/Scorecard/hooks/dataEngine.js.map +0 -1
  116. package/dist/components/Scorecard/hooks/dataItem.js +0 -20
  117. package/dist/components/Scorecard/hooks/dataItem.js.map +0 -1
  118. package/dist/components/Scorecard/hooks/index.js +0 -14
  119. package/dist/components/Scorecard/hooks/index.js.map +0 -1
  120. package/dist/components/Scorecard/hooks/metadata.js +0 -128
  121. package/dist/components/Scorecard/hooks/metadata.js.map +0 -1
  122. package/dist/components/Scorecard/hooks/orgUnit.js +0 -17
  123. package/dist/components/Scorecard/hooks/orgUnit.js.map +0 -1
  124. package/dist/components/Scorecard/hooks/period.js +0 -15
  125. package/dist/components/Scorecard/hooks/period.js.map +0 -1
  126. package/dist/components/Scorecard/hooks/table.js +0 -181
  127. package/dist/components/Scorecard/hooks/table.js.map +0 -1
  128. package/dist/components/Scorecard/hooks/value.js +0 -190
  129. package/dist/components/Scorecard/hooks/value.js.map +0 -1
  130. package/dist/components/Scorecard/index.js +0 -35
  131. package/dist/components/Scorecard/index.js.map +0 -1
  132. package/dist/components/Scorecard/schemas/config.js +0 -216
  133. package/dist/components/Scorecard/schemas/config.js.map +0 -1
  134. package/dist/components/Scorecard/utils/analytics.js +0 -39
  135. package/dist/components/Scorecard/utils/analytics.js.map +0 -1
  136. package/dist/components/Scorecard/utils/columns.js +0 -309
  137. package/dist/components/Scorecard/utils/columns.js.map +0 -1
  138. package/dist/components/Scorecard/utils/data.js +0 -57
  139. package/dist/components/Scorecard/utils/data.js.map +0 -1
  140. package/dist/components/Scorecard/utils/dataEngine.js +0 -35
  141. package/dist/components/Scorecard/utils/dataEngine.js.map +0 -1
  142. package/dist/components/Scorecard/utils/dataSources.js +0 -16
  143. package/dist/components/Scorecard/utils/dataSources.js.map +0 -1
  144. package/dist/components/Scorecard/utils/engine.js +0 -20
  145. package/dist/components/Scorecard/utils/engine.js.map +0 -1
  146. package/dist/components/Scorecard/utils/legends.js +0 -118
  147. package/dist/components/Scorecard/utils/legends.js.map +0 -1
  148. package/dist/components/Scorecard/utils/orgUnits.js +0 -40
  149. package/dist/components/Scorecard/utils/orgUnits.js.map +0 -1
  150. package/dist/components/Scorecard/utils/state.js +0 -15
  151. package/dist/components/Scorecard/utils/state.js.map +0 -1
  152. package/dist/esm/components/Scorecard/Scorecard.js +0 -14
  153. package/dist/esm/components/Scorecard/Scorecard.js.map +0 -1
  154. package/dist/esm/components/Scorecard/Scorecard.stories.js +0 -474
  155. package/dist/esm/components/Scorecard/Scorecard.stories.js.map +0 -1
  156. package/dist/esm/components/Scorecard/ScorecardContext.stories.js +0 -417
  157. package/dist/esm/components/Scorecard/ScorecardContext.stories.js.map +0 -1
  158. package/dist/esm/components/Scorecard/components/ConfigProvider.js +0 -23
  159. package/dist/esm/components/Scorecard/components/ConfigProvider.js.map +0 -1
  160. package/dist/esm/components/Scorecard/components/DataProvider.js +0 -40
  161. package/dist/esm/components/Scorecard/components/DataProvider.js.map +0 -1
  162. package/dist/esm/components/Scorecard/components/LoadingIndicator.js +0 -37
  163. package/dist/esm/components/Scorecard/components/LoadingIndicator.js.map +0 -1
  164. package/dist/esm/components/Scorecard/components/MetaProvider.js +0 -46
  165. package/dist/esm/components/Scorecard/components/MetaProvider.js.map +0 -1
  166. package/dist/esm/components/Scorecard/components/ScorecardContext.js +0 -63
  167. package/dist/esm/components/Scorecard/components/ScorecardContext.js.map +0 -1
  168. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js +0 -23
  169. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.js.map +0 -1
  170. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js +0 -27
  171. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.js.map +0 -1
  172. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js +0 -55
  173. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.js.map +0 -1
  174. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js +0 -3
  175. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.js.map +0 -1
  176. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js +0 -75
  177. package/dist/esm/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.js.map +0 -1
  178. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js +0 -78
  179. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.js.map +0 -1
  180. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css +0 -33
  181. package/dist/esm/components/Scorecard/components/ScorecardTable/ScorecardTable.module.css.map +0 -1
  182. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js +0 -153
  183. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageCell.js.map +0 -1
  184. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js +0 -56
  185. package/dist/esm/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.js.map +0 -1
  186. package/dist/esm/components/Scorecard/components/ScorecardTable/components/CellLoader.js +0 -10
  187. package/dist/esm/components/Scorecard/components/ScorecardTable/components/CellLoader.js.map +0 -1
  188. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js +0 -57
  189. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataContainer.js.map +0 -1
  190. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js +0 -150
  191. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataFooterCell.js.map +0 -1
  192. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js +0 -54
  193. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataRow.js.map +0 -1
  194. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js +0 -67
  195. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DataValue.js.map +0 -1
  196. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js +0 -44
  197. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DraggableCell.js.map +0 -1
  198. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js +0 -48
  199. package/dist/esm/components/Scorecard/components/ScorecardTable/components/DroppableCell.js.map +0 -1
  200. package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js +0 -10
  201. package/dist/esm/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.js.map +0 -1
  202. package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js +0 -82
  203. package/dist/esm/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.js.map +0 -1
  204. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js +0 -146
  205. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.js.map +0 -1
  206. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js +0 -52
  207. package/dist/esm/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.js.map +0 -1
  208. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js +0 -101
  209. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedCell.js.map +0 -1
  210. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js +0 -95
  211. package/dist/esm/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.js.map +0 -1
  212. package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js +0 -31
  213. package/dist/esm/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.js.map +0 -1
  214. package/dist/esm/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js +0 -56
  215. package/dist/esm/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.js.map +0 -1
  216. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js +0 -99
  217. package/dist/esm/components/Scorecard/components/ScorecardTable/components/SingleDataCell.js.map +0 -1
  218. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js +0 -26
  219. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableBody.js.map +0 -1
  220. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js +0 -29
  221. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableFoot.js.map +0 -1
  222. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js +0 -18
  223. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.js.map +0 -1
  224. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css +0 -32
  225. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.module.css.map +0 -1
  226. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js +0 -31
  227. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.js.map +0 -1
  228. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js +0 -63
  229. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.js.map +0 -1
  230. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js +0 -24
  231. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.js.map +0 -1
  232. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js +0 -35
  233. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.js.map +0 -1
  234. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js +0 -64
  235. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.js.map +0 -1
  236. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js +0 -57
  237. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.js.map +0 -1
  238. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js +0 -29
  239. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.js.map +0 -1
  240. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js +0 -3
  241. package/dist/esm/components/Scorecard/components/ScorecardTable/components/TableHeader/index.js.map +0 -1
  242. package/dist/esm/components/Scorecard/components/ScorecardTable/index.js +0 -3
  243. package/dist/esm/components/Scorecard/components/ScorecardTable/index.js.map +0 -1
  244. package/dist/esm/components/Scorecard/components/StateProvider.js +0 -57
  245. package/dist/esm/components/Scorecard/components/StateProvider.js.map +0 -1
  246. package/dist/esm/components/Scorecard/components/TableStateProvider.js +0 -39
  247. package/dist/esm/components/Scorecard/components/TableStateProvider.js.map +0 -1
  248. package/dist/esm/components/Scorecard/components/index.js +0 -6
  249. package/dist/esm/components/Scorecard/components/index.js.map +0 -1
  250. package/dist/esm/components/Scorecard/hooks/cellData.js +0 -33
  251. package/dist/esm/components/Scorecard/hooks/cellData.js.map +0 -1
  252. package/dist/esm/components/Scorecard/hooks/columns.js +0 -170
  253. package/dist/esm/components/Scorecard/hooks/columns.js.map +0 -1
  254. package/dist/esm/components/Scorecard/hooks/data.js +0 -206
  255. package/dist/esm/components/Scorecard/hooks/data.js.map +0 -1
  256. package/dist/esm/components/Scorecard/hooks/dataEngine.js +0 -6
  257. package/dist/esm/components/Scorecard/hooks/dataEngine.js.map +0 -1
  258. package/dist/esm/components/Scorecard/hooks/dataItem.js +0 -18
  259. package/dist/esm/components/Scorecard/hooks/dataItem.js.map +0 -1
  260. package/dist/esm/components/Scorecard/hooks/index.js +0 -3
  261. package/dist/esm/components/Scorecard/hooks/index.js.map +0 -1
  262. package/dist/esm/components/Scorecard/hooks/metadata.js +0 -121
  263. package/dist/esm/components/Scorecard/hooks/metadata.js.map +0 -1
  264. package/dist/esm/components/Scorecard/hooks/orgUnit.js +0 -15
  265. package/dist/esm/components/Scorecard/hooks/orgUnit.js.map +0 -1
  266. package/dist/esm/components/Scorecard/hooks/period.js +0 -13
  267. package/dist/esm/components/Scorecard/hooks/period.js.map +0 -1
  268. package/dist/esm/components/Scorecard/hooks/table.js +0 -179
  269. package/dist/esm/components/Scorecard/hooks/table.js.map +0 -1
  270. package/dist/esm/components/Scorecard/hooks/value.js +0 -186
  271. package/dist/esm/components/Scorecard/hooks/value.js.map +0 -1
  272. package/dist/esm/components/Scorecard/index.js +0 -6
  273. package/dist/esm/components/Scorecard/index.js.map +0 -1
  274. package/dist/esm/components/Scorecard/schemas/config.js +0 -193
  275. package/dist/esm/components/Scorecard/schemas/config.js.map +0 -1
  276. package/dist/esm/components/Scorecard/utils/analytics.js +0 -36
  277. package/dist/esm/components/Scorecard/utils/analytics.js.map +0 -1
  278. package/dist/esm/components/Scorecard/utils/columns.js +0 -303
  279. package/dist/esm/components/Scorecard/utils/columns.js.map +0 -1
  280. package/dist/esm/components/Scorecard/utils/data.js +0 -54
  281. package/dist/esm/components/Scorecard/utils/data.js.map +0 -1
  282. package/dist/esm/components/Scorecard/utils/dataEngine.js +0 -33
  283. package/dist/esm/components/Scorecard/utils/dataEngine.js.map +0 -1
  284. package/dist/esm/components/Scorecard/utils/dataSources.js +0 -13
  285. package/dist/esm/components/Scorecard/utils/dataSources.js.map +0 -1
  286. package/dist/esm/components/Scorecard/utils/engine.js +0 -18
  287. package/dist/esm/components/Scorecard/utils/engine.js.map +0 -1
  288. package/dist/esm/components/Scorecard/utils/legends.js +0 -115
  289. package/dist/esm/components/Scorecard/utils/legends.js.map +0 -1
  290. package/dist/esm/components/Scorecard/utils/orgUnits.js +0 -37
  291. package/dist/esm/components/Scorecard/utils/orgUnits.js.map +0 -1
  292. package/dist/esm/components/Scorecard/utils/state.js +0 -13
  293. package/dist/esm/components/Scorecard/utils/state.js.map +0 -1
  294. package/dist/types/components/Scorecard/Scorecard.d.ts +0 -7
  295. package/dist/types/components/Scorecard/Scorecard.d.ts.map +0 -1
  296. package/dist/types/components/Scorecard/components/ConfigProvider.d.ts +0 -142
  297. package/dist/types/components/Scorecard/components/ConfigProvider.d.ts.map +0 -1
  298. package/dist/types/components/Scorecard/components/DataProvider.d.ts +0 -16
  299. package/dist/types/components/Scorecard/components/DataProvider.d.ts.map +0 -1
  300. package/dist/types/components/Scorecard/components/LoadingIndicator.d.ts +0 -5
  301. package/dist/types/components/Scorecard/components/LoadingIndicator.d.ts.map +0 -1
  302. package/dist/types/components/Scorecard/components/MetaProvider.d.ts +0 -19
  303. package/dist/types/components/Scorecard/components/MetaProvider.d.ts.map +0 -1
  304. package/dist/types/components/Scorecard/components/ScorecardContext.d.ts +0 -10
  305. package/dist/types/components/Scorecard/components/ScorecardContext.d.ts.map +0 -1
  306. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.d.ts +0 -6
  307. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/FurtherAnalysisDictionary.d.ts.map +0 -1
  308. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.d.ts +0 -12
  309. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/ConfigProvider.d.ts.map +0 -1
  310. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts +0 -9
  311. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/components/DetailsProvider.d.ts.map +0 -1
  312. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.d.ts +0 -2
  313. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisDictionary/index.d.ts.map +0 -1
  314. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.d.ts +0 -6
  315. package/dist/types/components/Scorecard/components/ScorecardTable/FurtherAnalysisVisualization.d.ts.map +0 -1
  316. package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts +0 -6
  317. package/dist/types/components/Scorecard/components/ScorecardTable/ScorecardTable.d.ts.map +0 -1
  318. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts +0 -12
  319. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageCell.d.ts.map +0 -1
  320. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts +0 -4
  321. package/dist/types/components/Scorecard/components/ScorecardTable/components/AverageFooterCell.d.ts.map +0 -1
  322. package/dist/types/components/Scorecard/components/ScorecardTable/components/CellLoader.d.ts +0 -4
  323. package/dist/types/components/Scorecard/components/ScorecardTable/components/CellLoader.d.ts.map +0 -1
  324. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts +0 -91
  325. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataContainer.d.ts.map +0 -1
  326. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts +0 -4
  327. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataFooterCell.d.ts.map +0 -1
  328. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts +0 -9
  329. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataRow.d.ts.map +0 -1
  330. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts +0 -7
  331. package/dist/types/components/Scorecard/components/ScorecardTable/components/DataValue.d.ts.map +0 -1
  332. package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts +0 -9
  333. package/dist/types/components/Scorecard/components/ScorecardTable/components/DraggableCell.d.ts.map +0 -1
  334. package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts +0 -7
  335. package/dist/types/components/Scorecard/components/ScorecardTable/components/DroppableCell.d.ts.map +0 -1
  336. package/dist/types/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.d.ts +0 -4
  337. package/dist/types/components/Scorecard/components/ScorecardTable/components/EmptyFooterCell.d.ts.map +0 -1
  338. package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts +0 -8
  339. package/dist/types/components/Scorecard/components/ScorecardTable/components/ExpandedScorecardTable.d.ts.map +0 -1
  340. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts +0 -15
  341. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisMenu.d.ts.map +0 -1
  342. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.d.ts +0 -13
  343. package/dist/types/components/Scorecard/components/ScorecardTable/components/FurtherAnalysisModal.d.ts.map +0 -1
  344. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts +0 -20
  345. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedCell.d.ts.map +0 -1
  346. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts +0 -15
  347. package/dist/types/components/Scorecard/components/ScorecardTable/components/LinkedDataCell.d.ts.map +0 -1
  348. package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts +0 -2
  349. package/dist/types/components/Scorecard/components/ScorecardTable/components/MetaFooterCell.d.ts.map +0 -1
  350. package/dist/types/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.d.ts +0 -2
  351. package/dist/types/components/Scorecard/components/ScorecardTable/components/PaginatedToolbar.d.ts.map +0 -1
  352. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts +0 -15
  353. package/dist/types/components/Scorecard/components/ScorecardTable/components/SingleDataCell.d.ts.map +0 -1
  354. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts +0 -5
  355. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableBody.d.ts.map +0 -1
  356. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts +0 -2
  357. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableFoot.d.ts.map +0 -1
  358. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts +0 -3
  359. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/TableHeader.d.ts.map +0 -1
  360. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts +0 -4
  361. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/AverageHeaderCell.d.ts.map +0 -1
  362. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts +0 -6
  363. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/DataHeaderCell.d.ts.map +0 -1
  364. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts +0 -4
  365. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/ExpandCell.d.ts.map +0 -1
  366. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts +0 -7
  367. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/FilterArea.d.ts.map +0 -1
  368. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts +0 -6
  369. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/LabelCell.d.ts.map +0 -1
  370. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts +0 -7
  371. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/MetaHeaderCell.d.ts.map +0 -1
  372. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts +0 -7
  373. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/components/NumberCell.d.ts.map +0 -1
  374. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/index.d.ts +0 -2
  375. package/dist/types/components/Scorecard/components/ScorecardTable/components/TableHeader/index.d.ts.map +0 -1
  376. package/dist/types/components/Scorecard/components/ScorecardTable/index.d.ts +0 -2
  377. package/dist/types/components/Scorecard/components/ScorecardTable/index.d.ts.map +0 -1
  378. package/dist/types/components/Scorecard/components/StateProvider.d.ts +0 -44
  379. package/dist/types/components/Scorecard/components/StateProvider.d.ts.map +0 -1
  380. package/dist/types/components/Scorecard/components/TableStateProvider.d.ts +0 -56
  381. package/dist/types/components/Scorecard/components/TableStateProvider.d.ts.map +0 -1
  382. package/dist/types/components/Scorecard/components/index.d.ts +0 -5
  383. package/dist/types/components/Scorecard/components/index.d.ts.map +0 -1
  384. package/dist/types/components/Scorecard/hooks/cellData.d.ts +0 -18
  385. package/dist/types/components/Scorecard/hooks/cellData.d.ts.map +0 -1
  386. package/dist/types/components/Scorecard/hooks/columns.d.ts +0 -50
  387. package/dist/types/components/Scorecard/hooks/columns.d.ts.map +0 -1
  388. package/dist/types/components/Scorecard/hooks/data.d.ts +0 -21
  389. package/dist/types/components/Scorecard/hooks/data.d.ts.map +0 -1
  390. package/dist/types/components/Scorecard/hooks/dataEngine.d.ts +0 -2
  391. package/dist/types/components/Scorecard/hooks/dataEngine.d.ts.map +0 -1
  392. package/dist/types/components/Scorecard/hooks/dataItem.d.ts +0 -3
  393. package/dist/types/components/Scorecard/hooks/dataItem.d.ts.map +0 -1
  394. package/dist/types/components/Scorecard/hooks/index.d.ts +0 -2
  395. package/dist/types/components/Scorecard/hooks/index.d.ts.map +0 -1
  396. package/dist/types/components/Scorecard/hooks/metadata.d.ts +0 -41
  397. package/dist/types/components/Scorecard/hooks/metadata.d.ts.map +0 -1
  398. package/dist/types/components/Scorecard/hooks/orgUnit.d.ts +0 -6
  399. package/dist/types/components/Scorecard/hooks/orgUnit.d.ts.map +0 -1
  400. package/dist/types/components/Scorecard/hooks/period.d.ts +0 -2
  401. package/dist/types/components/Scorecard/hooks/period.d.ts.map +0 -1
  402. package/dist/types/components/Scorecard/hooks/table.d.ts +0 -4
  403. package/dist/types/components/Scorecard/hooks/table.d.ts.map +0 -1
  404. package/dist/types/components/Scorecard/hooks/value.d.ts +0 -87
  405. package/dist/types/components/Scorecard/hooks/value.d.ts.map +0 -1
  406. package/dist/types/components/Scorecard/index.d.ts +0 -5
  407. package/dist/types/components/Scorecard/index.d.ts.map +0 -1
  408. package/dist/types/components/Scorecard/schemas/config.d.ts +0 -3337
  409. package/dist/types/components/Scorecard/schemas/config.d.ts.map +0 -1
  410. package/dist/types/components/Scorecard/utils/analytics.d.ts +0 -19
  411. package/dist/types/components/Scorecard/utils/analytics.d.ts.map +0 -1
  412. package/dist/types/components/Scorecard/utils/columns.d.ts +0 -33
  413. package/dist/types/components/Scorecard/utils/columns.d.ts.map +0 -1
  414. package/dist/types/components/Scorecard/utils/data.d.ts +0 -18
  415. package/dist/types/components/Scorecard/utils/data.d.ts.map +0 -1
  416. package/dist/types/components/Scorecard/utils/dataEngine.d.ts +0 -14
  417. package/dist/types/components/Scorecard/utils/dataEngine.d.ts.map +0 -1
  418. package/dist/types/components/Scorecard/utils/dataSources.d.ts +0 -37
  419. package/dist/types/components/Scorecard/utils/dataSources.d.ts.map +0 -1
  420. package/dist/types/components/Scorecard/utils/engine.d.ts +0 -14
  421. package/dist/types/components/Scorecard/utils/engine.d.ts.map +0 -1
  422. package/dist/types/components/Scorecard/utils/legends.d.ts +0 -22
  423. package/dist/types/components/Scorecard/utils/legends.d.ts.map +0 -1
  424. package/dist/types/components/Scorecard/utils/orgUnits.d.ts +0 -7
  425. package/dist/types/components/Scorecard/utils/orgUnits.d.ts.map +0 -1
  426. package/dist/types/components/Scorecard/utils/state.d.ts +0 -5
  427. package/dist/types/components/Scorecard/utils/state.d.ts.map +0 -1
@@ -1,303 +0,0 @@
1
- import { createColumnHelper } from '@tanstack/react-table';
2
- import { sum, head } from 'lodash';
3
- import { DataContainer } from '../components/ScorecardTable/components/DataContainer';
4
- import { DataHeaderCell, EmptyDataHeaderCell } from '../components/ScorecardTable/components/TableHeader/components/DataHeaderCell';
5
- import { getAdjacentFixedPeriods, createFixedPeriodFromPeriodId } from '@dhis2/multi-calendar-dates';
6
- import { AverageCell } from '../components/ScorecardTable/components/AverageCell';
7
- import { AverageHeaderCell } from '../components/ScorecardTable/components/TableHeader/components/AverageHeaderCell';
8
- import { DataFooterCell } from '../components/ScorecardTable/components/DataFooterCell';
9
- import { AverageFooterCell } from '../components/ScorecardTable/components/AverageFooterCell';
10
-
11
- const columnHelper = createColumnHelper();
12
- function getValueFromConfig({
13
- config,
14
- data
15
- }) {
16
- const dataValues = data.filter((datum) => {
17
- return config.orgUnit.uid === datum.ou && config.currentPeriod === datum.pe && datum.dx === head(config.dataSources).id;
18
- });
19
- return {
20
- ...head(config.dataSources),
21
- data: getValues({
22
- values: dataValues,
23
- currentPeriod: config.currentPeriod,
24
- previousPeriod: config.previousPeriod
25
- })
26
- };
27
- }
28
- function getSortingFunction(dataEngine) {
29
- return function sortingFunction(rowA, rowB, columnId) {
30
- if (!dataEngine.isDone) {
31
- return 0;
32
- }
33
- const dataA = rowA.getValue(columnId);
34
- const dataB = rowB.getValue(columnId);
35
- const dataAValue = getValueFromConfig({
36
- config: dataA,
37
- data: dataEngine.data
38
- });
39
- const dataBValue = getValueFromConfig({
40
- config: dataB,
41
- data: dataEngine.data
42
- });
43
- const valueA = dataAValue.data.current ?? 0;
44
- const valueB = dataBValue.data.current ?? 0;
45
- if (valueA === valueB) {
46
- return 0;
47
- }
48
- return valueA > valueB ? 1 : -1;
49
- };
50
- }
51
- function getAverageValue({
52
- dataValues,
53
- meta
54
- }) {
55
- const currentPeriodValues = dataValues.filter(({ pe }) => {
56
- return !!meta.periods.find(({ uid }) => uid === pe);
57
- });
58
- const values = currentPeriodValues.map(({ value }) => value ? +value : 0);
59
- return Math.round(sum(values) / values.length * 100) / 100;
60
- }
61
- function getValues({
62
- values,
63
- currentPeriod,
64
- previousPeriod
65
- }) {
66
- const currentValueData = values.find(({ pe }) => {
67
- return pe === currentPeriod;
68
- });
69
- const previousValueData = values.find(({ pe }) => {
70
- return pe === previousPeriod;
71
- });
72
- const previousValue = parseFloat(previousValueData?.value ?? "");
73
- const currentValue = parseFloat(currentValueData?.value ?? "");
74
- return {
75
- previous: isNaN(previousValue) ? void 0 : previousValue,
76
- current: isNaN(currentValue) ? void 0 : currentValue
77
- };
78
- }
79
- function getOrgUnitColumnHeaders({
80
- meta,
81
- calendar,
82
- dataEngine
83
- }) {
84
- const orgUnits = meta.orgUnits ?? [];
85
- const periods = meta.periods ?? [];
86
- return orgUnits.map((orgUnit) => {
87
- return columnHelper.group({
88
- id: orgUnit.uid,
89
- header: DataHeaderCell,
90
- meta: {
91
- label: orgUnit.name
92
- },
93
- columns: periods.map(
94
- ({ name, uid }) => columnHelper.accessor(
95
- (rowData) => {
96
- const currentPeriod = uid;
97
- const previousPeriod = head(
98
- getAdjacentFixedPeriods({
99
- calendar,
100
- period: createFixedPeriodFromPeriodId({
101
- calendar,
102
- periodId: currentPeriod
103
- }),
104
- steps: -1
105
- })
106
- )?.id;
107
- const dataSources = rowData.dataHolder?.dataSources;
108
- return {
109
- currentPeriod,
110
- previousPeriod,
111
- dataSources,
112
- orgUnit
113
- };
114
- },
115
- {
116
- header: DataHeaderCell,
117
- meta: {
118
- label: name
119
- },
120
- cell: DataContainer,
121
- size: 120,
122
- id: `${orgUnit.uid}-${uid}`,
123
- enableSorting: true,
124
- sortingFn: getSortingFunction(dataEngine),
125
- footer: DataFooterCell
126
- }
127
- )
128
- )
129
- });
130
- });
131
- }
132
- function getAverageColumn({}) {
133
- return columnHelper.group({
134
- id: "average-header",
135
- header: AverageHeaderCell,
136
- columns: [
137
- columnHelper.accessor(
138
- (rowData) => {
139
- return {
140
- ...rowData
141
- };
142
- },
143
- {
144
- id: `average`,
145
- header: () => null,
146
- cell: AverageCell,
147
- enableHiding: true,
148
- size: 120,
149
- footer: AverageFooterCell
150
- }
151
- )
152
- ]
153
- });
154
- }
155
- function getDataHolderColumn({
156
- hasOnePeriod,
157
- dataHolder,
158
- periods,
159
- calendar,
160
- dataEngine
161
- }) {
162
- const { id, dataSources } = dataHolder;
163
- const header = dataSources.length === 1 ? head(dataSources)?.label : dataSources.reduce((acc, { label }) => `${acc} / ${label}`, "");
164
- if (hasOnePeriod) {
165
- return columnHelper.accessor(
166
- (rowData) => {
167
- const currentPeriod = head(periods).uid;
168
- const previousPeriod = head(
169
- getAdjacentFixedPeriods({
170
- calendar,
171
- period: createFixedPeriodFromPeriodId({
172
- calendar,
173
- periodId: currentPeriod
174
- }),
175
- steps: -1
176
- })
177
- )?.id;
178
- return {
179
- ...rowData,
180
- dataSources,
181
- previousPeriod,
182
- currentPeriod
183
- };
184
- },
185
- {
186
- header: DataHeaderCell,
187
- meta: {
188
- label: header
189
- },
190
- id: id.toString(),
191
- cell: DataContainer,
192
- size: 120,
193
- enableSorting: true,
194
- sortingFn: getSortingFunction(dataEngine),
195
- footer: DataFooterCell
196
- }
197
- );
198
- }
199
- return columnHelper.group({
200
- id: id.toString(),
201
- columns: periods.map(
202
- ({ name, uid }) => columnHelper.accessor(
203
- (rowData) => {
204
- const currentPeriod = uid;
205
- const previousPeriod = head(
206
- getAdjacentFixedPeriods({
207
- calendar,
208
- period: createFixedPeriodFromPeriodId({
209
- calendar,
210
- periodId: currentPeriod
211
- }),
212
- steps: -1
213
- })
214
- )?.id;
215
- return {
216
- ...rowData,
217
- dataSources,
218
- currentPeriod,
219
- previousPeriod
220
- };
221
- },
222
- {
223
- header: DataHeaderCell,
224
- meta: {
225
- label: name
226
- },
227
- cell: DataContainer,
228
- size: 120,
229
- id: `${id.toString()}-${uid}`,
230
- enableSorting: true,
231
- sortingFn: getSortingFunction(dataEngine),
232
- footer: DataFooterCell
233
- }
234
- )
235
- ),
236
- meta: {
237
- label: header
238
- },
239
- header: DataHeaderCell,
240
- enableSorting: true,
241
- sortingFn: getSortingFunction(dataEngine)
242
- });
243
- }
244
- function getDataColumnHeaders({
245
- meta,
246
- config,
247
- calendar,
248
- dataEngine
249
- }) {
250
- const dataGroups = config.dataSelection.dataGroups ?? [];
251
- const hasOneGroup = dataGroups.length === 1;
252
- const periods = meta.periods ?? [];
253
- const hasOnePeriod = periods.length === 1;
254
- if (hasOneGroup) {
255
- return dataGroups.map(({ title, dataHolders, id }) => {
256
- return columnHelper.group({
257
- id: id.toString(),
258
- header: EmptyDataHeaderCell,
259
- meta: {
260
- label: title,
261
- bold: true
262
- },
263
- columns: dataHolders.map((dataHolder) => {
264
- return getDataHolderColumn({
265
- hasOnePeriod,
266
- dataHolder,
267
- periods,
268
- calendar,
269
- dataEngine
270
- });
271
- }),
272
- enableSorting: false,
273
- footer: () => null
274
- });
275
- });
276
- } else {
277
- return dataGroups.map(({ title, dataHolders, id }) => {
278
- return columnHelper.group({
279
- id: id.toString(),
280
- header: DataHeaderCell,
281
- meta: {
282
- label: title,
283
- bold: true
284
- },
285
- columns: dataHolders.map((dataHolder) => {
286
- return getDataHolderColumn({
287
- hasOnePeriod,
288
- dataHolder,
289
- periods,
290
- calendar,
291
- dataEngine
292
- });
293
- }),
294
- enableSorting: false,
295
- footer: () => null
296
- });
297
- });
298
- }
299
- }
300
-
301
- export { getAverageColumn, getAverageValue, getDataColumnHeaders, getOrgUnitColumnHeaders, getValues };
302
- //# sourceMappingURL=out.js.map
303
- //# sourceMappingURL=columns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/utils/columns.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ScorecardMeta } from \"../components\";\nimport type {\n\tScorecardAnalyticsData,\n\tScorecardCellData,\n\tScorecardConfig,\n\tScorecardDataHolder,\n\tScorecardTableAverageCellConfig,\n\tScorecardTableCellConfig,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport {\n\ttype ColumnDef,\n\tcreateColumnHelper,\n\ttype Row,\n} from \"@tanstack/react-table\";\nimport { head, sum } from \"lodash\";\nimport type { ItemMeta } from \"../hooks/metadata\";\nimport { DataContainer } from \"../components/ScorecardTable/components/DataContainer\";\nimport {\n\tDataHeaderCell,\n\tEmptyDataHeaderCell,\n} from \"../components/ScorecardTable/components/TableHeader/components/DataHeaderCell\";\nimport {\n\tcreateFixedPeriodFromPeriodId,\n\tgetAdjacentFixedPeriods,\n} from \"@dhis2/multi-calendar-dates\";\nimport type { SupportedCalendar } from \"@dhis2/multi-calendar-dates/build/types/types\";\nimport { AverageCell } from \"../components/ScorecardTable/components/AverageCell\";\nimport { AverageHeaderCell } from \"../components/ScorecardTable/components/TableHeader/components/AverageHeaderCell\";\nimport { DataFooterCell } from \"../components/ScorecardTable/components/DataFooterCell\";\nimport { AverageFooterCell } from \"../components/ScorecardTable/components/AverageFooterCell\";\nimport type { ScorecardDataEngine } from \"./dataEngine\";\nimport type { AnalyticsData } from \"./data\";\n\nconst columnHelper = createColumnHelper<ScorecardTableData>();\n\nfunction getValueFromConfig({\n\tconfig,\n\tdata,\n}: {\n\tconfig: ScorecardTableCellConfig;\n\tdata: AnalyticsData[];\n}): ScorecardCellData {\n\tconst dataValues = data.filter((datum) => {\n\t\treturn (\n\t\t\tconfig.orgUnit.uid === datum.ou &&\n\t\t\tconfig.currentPeriod === datum.pe &&\n\t\t\tdatum.dx === head(config.dataSources)!.id\n\t\t);\n\t});\n\n\treturn {\n\t\t...head(config.dataSources)!,\n\t\tdata: getValues({\n\t\t\tvalues: dataValues,\n\t\t\tcurrentPeriod: config.currentPeriod!,\n\t\t\tpreviousPeriod: config.previousPeriod,\n\t\t}),\n\t};\n}\n\nfunction getSortingFunction(dataEngine: ScorecardDataEngine) {\n\treturn function sortingFunction(\n\t\trowA: Row<ScorecardTableData>,\n\t\trowB: Row<ScorecardTableData>,\n\t\tcolumnId: string,\n\t) {\n\t\tif (!dataEngine.isDone) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst dataA = rowA.getValue(columnId) as ScorecardTableCellConfig;\n\t\tconst dataB = rowB.getValue(columnId) as ScorecardTableCellConfig;\n\n\t\tconst dataAValue = getValueFromConfig({\n\t\t\tconfig: dataA,\n\t\t\tdata: dataEngine.data,\n\t\t});\n\n\t\tconst dataBValue = getValueFromConfig({\n\t\t\tconfig: dataB,\n\t\t\tdata: dataEngine.data,\n\t\t});\n\n\t\tconst valueA = dataAValue.data.current ?? 0;\n\t\tconst valueB = dataBValue.data.current ?? 0;\n\n\t\tif (valueA === valueB) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn valueA > valueB ? 1 : -1;\n\t};\n}\n\nexport function getAverageValue({\n\tdataValues,\n\tmeta,\n}: {\n\tdataValues: ScorecardAnalyticsData[];\n\tmeta: ScorecardMeta;\n}) {\n\tconst currentPeriodValues = dataValues.filter(({ pe }) => {\n\t\treturn !!meta.periods.find(({ uid }) => uid === pe);\n\t});\n\tconst values = currentPeriodValues.map(({ value }) => (value ? +value : 0));\n\n\treturn Math.round((sum(values) / values.length) * 100) / 100;\n}\n\nexport function getValues({\n\tvalues,\n\tcurrentPeriod,\n\tpreviousPeriod,\n}: {\n\tvalues: ScorecardAnalyticsData[];\n\tcurrentPeriod: string;\n\tpreviousPeriod?: string;\n}) {\n\tconst currentValueData = values.find(({ pe }) => {\n\t\treturn pe === currentPeriod;\n\t});\n\n\tconst previousValueData = values.find(({ pe }) => {\n\t\treturn pe === previousPeriod;\n\t});\n\n\tconst previousValue = parseFloat(previousValueData?.value ?? \"\");\n\tconst currentValue = parseFloat(currentValueData?.value ?? \"\");\n\n\treturn {\n\t\tprevious: isNaN(previousValue) ? undefined : previousValue,\n\t\tcurrent: isNaN(currentValue) ? undefined : currentValue,\n\t};\n}\n\nexport function getOrgUnitColumnHeaders({\n\tmeta,\n\tcalendar,\n\tdataEngine,\n}: {\n\tmeta: ScorecardMeta;\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}): ColumnDef<ScorecardTableData, ScorecardTableCellConfig>[] {\n\tconst orgUnits = meta.orgUnits ?? [];\n\tconst periods = meta.periods ?? [];\n\treturn orgUnits.map((orgUnit) => {\n\t\treturn columnHelper.group({\n\t\t\tid: orgUnit.uid,\n\t\t\theader: DataHeaderCell,\n\t\t\tmeta: {\n\t\t\t\tlabel: orgUnit.name,\n\t\t\t},\n\t\t\tcolumns: periods.map(({ name, uid }) =>\n\t\t\t\tcolumnHelper.accessor(\n\t\t\t\t\t(rowData) => {\n\t\t\t\t\t\tconst currentPeriod = uid;\n\t\t\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t)?.id;\n\t\t\t\t\t\tconst dataSources = rowData.dataHolder?.dataSources;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tcurrentPeriod,\n\t\t\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\t\torgUnit: orgUnit,\n\t\t\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\theader: DataHeaderCell,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcell: DataContainer,\n\t\t\t\t\t\tsize: 120,\n\t\t\t\t\t\tid: `${orgUnit.uid}-${uid}`,\n\t\t\t\t\t\tenableSorting: true,\n\t\t\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\t\t\tfooter: DataFooterCell,\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t),\n\t\t});\n\t});\n}\n\nexport function getAverageColumn({}: {\n\tmeta: ScorecardMeta;\n\tconfig: ScorecardConfig;\n}): ColumnDef<ScorecardTableData, ScorecardTableAverageCellConfig> {\n\treturn columnHelper.group({\n\t\tid: \"average-header\",\n\t\theader: AverageHeaderCell,\n\t\tcolumns: [\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...rowData,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: `average`,\n\t\t\t\t\theader: () => null,\n\t\t\t\t\tcell: AverageCell,\n\t\t\t\t\tenableHiding: true,\n\t\t\t\t\tsize: 120,\n\t\t\t\t\tfooter: AverageFooterCell,\n\t\t\t\t},\n\t\t\t),\n\t\t],\n\t});\n}\n\nfunction getDataHolderColumn({\n\thasOnePeriod,\n\tdataHolder,\n\tperiods,\n\tcalendar,\n\tdataEngine,\n}: {\n\thasOnePeriod: boolean;\n\tdataHolder: ScorecardDataHolder;\n\tperiods: ItemMeta[];\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}) {\n\tconst { id, dataSources } = dataHolder;\n\n\tconst header =\n\t\tdataSources.length === 1\n\t\t\t? head(dataSources)?.label\n\t\t\t: dataSources.reduce((acc, { label }) => `${acc} / ${label}`, \"\");\n\n\tif (hasOnePeriod) {\n\t\treturn columnHelper.accessor(\n\t\t\t(rowData) => {\n\t\t\t\tconst currentPeriod = head(periods)!.uid;\n\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t}),\n\t\t\t\t)?.id;\n\n\t\t\t\treturn {\n\t\t\t\t\t...rowData,\n\t\t\t\t\tdataSources,\n\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\tcurrentPeriod,\n\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: DataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: header,\n\t\t\t\t},\n\t\t\t\tid: id.toString(),\n\t\t\t\tcell: DataContainer,\n\t\t\t\tsize: 120,\n\t\t\t\tenableSorting: true,\n\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\tfooter: DataFooterCell,\n\t\t\t},\n\t\t);\n\t}\n\n\treturn columnHelper.group({\n\t\tid: id.toString(),\n\t\tcolumns: periods.map(({ name, uid }) =>\n\t\t\tcolumnHelper.accessor(\n\t\t\t\t(rowData) => {\n\t\t\t\t\tconst currentPeriod = uid;\n\t\t\t\t\tconst previousPeriod = head(\n\t\t\t\t\t\tgetAdjacentFixedPeriods({\n\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\tperiod: createFixedPeriodFromPeriodId({\n\t\t\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\t\t\tperiodId: currentPeriod,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tsteps: -1,\n\t\t\t\t\t\t}),\n\t\t\t\t\t)?.id;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...rowData,\n\t\t\t\t\t\tdataSources,\n\t\t\t\t\t\tcurrentPeriod,\n\t\t\t\t\t\tpreviousPeriod,\n\t\t\t\t\t} as ScorecardTableCellConfig;\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\theader: DataHeaderCell,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t},\n\t\t\t\t\tcell: DataContainer,\n\t\t\t\t\tsize: 120,\n\t\t\t\t\tid: `${id.toString()}-${uid}`,\n\t\t\t\t\tenableSorting: true,\n\t\t\t\t\tsortingFn: getSortingFunction(dataEngine),\n\t\t\t\t\tfooter: DataFooterCell,\n\t\t\t\t},\n\t\t\t),\n\t\t),\n\t\tmeta: {\n\t\t\tlabel: header,\n\t\t},\n\t\theader: DataHeaderCell,\n\t\tenableSorting: true,\n\t\tsortingFn: getSortingFunction(dataEngine),\n\t});\n}\n\nexport function getDataColumnHeaders({\n\tmeta,\n\tconfig,\n\tcalendar,\n\tdataEngine,\n}: {\n\tmeta: ScorecardMeta;\n\tconfig: ScorecardConfig;\n\tcalendar: SupportedCalendar;\n\tdataEngine: ScorecardDataEngine;\n}): ColumnDef<ScorecardTableData, ScorecardTableCellConfig>[] {\n\tconst dataGroups = config.dataSelection.dataGroups ?? [];\n\tconst hasOneGroup = dataGroups.length === 1;\n\tconst periods = meta.periods ?? [];\n\tconst hasOnePeriod = periods.length === 1;\n\n\tif (hasOneGroup) {\n\t\treturn dataGroups.map(({ title, dataHolders, id }) => {\n\t\t\treturn columnHelper.group({\n\t\t\t\tid: id.toString(),\n\t\t\t\theader: EmptyDataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: title,\n\t\t\t\t\tbold: true,\n\t\t\t\t},\n\t\t\t\tcolumns: dataHolders.map((dataHolder) => {\n\t\t\t\t\treturn getDataHolderColumn({\n\t\t\t\t\t\thasOnePeriod,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t});\n\t\t\t\t}),\n\n\t\t\t\tenableSorting: false,\n\t\t\t\tfooter: () => null,\n\t\t\t});\n\t\t});\n\t} else {\n\t\treturn dataGroups.map(({ title, dataHolders, id }) => {\n\t\t\treturn columnHelper.group({\n\t\t\t\tid: id.toString(),\n\t\t\t\theader: DataHeaderCell,\n\t\t\t\tmeta: {\n\t\t\t\t\tlabel: title,\n\t\t\t\t\tbold: true,\n\t\t\t\t},\n\t\t\t\tcolumns: dataHolders.map((dataHolder) => {\n\t\t\t\t\treturn getDataHolderColumn({\n\t\t\t\t\t\thasOnePeriod,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t\tperiods,\n\t\t\t\t\t\tcalendar,\n\t\t\t\t\t\tdataEngine,\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\tenableSorting: false,\n\t\t\t\tfooter: () => null,\n\t\t\t});\n\t\t});\n\t}\n}\n"]}
@@ -1,54 +0,0 @@
1
- import { fromPairs, head } from 'lodash';
2
-
3
- function sanitizeAnalyticsData(data) {
4
- const { headers, rows } = data.data;
5
- return rows.map((row) => {
6
- return fromPairs(
7
- row.map((value, index) => {
8
- const key = headers[index].name;
9
- return [key, value];
10
- })
11
- );
12
- });
13
- }
14
- function getRowsFromMeta({
15
- meta,
16
- config,
17
- showHierarchy,
18
- showDataInRows
19
- }) {
20
- function getOrgUnitData() {
21
- return meta.orgUnits.map((orgUnit) => {
22
- const label = showHierarchy ? orgUnit.hierarchy.replace("/", "") ?? "" : orgUnit.name ?? "";
23
- return {
24
- label,
25
- orgUnit
26
- };
27
- }).flat();
28
- }
29
- function getDataGroupsData(dataGroups) {
30
- return dataGroups.map(({ dataHolders }) => {
31
- return dataHolders.map((dataHolder) => {
32
- const { dataSources, id } = dataHolder;
33
- const label = (dataSources.length === 1 ? head(dataSources)?.label : dataSources.reduce(
34
- (acc, { label: label2 }) => `${acc} / ${label2}`,
35
- ""
36
- )) ?? "";
37
- return {
38
- id,
39
- label,
40
- dataHolder
41
- };
42
- });
43
- }).flat();
44
- }
45
- if (showDataInRows) {
46
- const dataGroups = config.dataSelection.dataGroups;
47
- return getDataGroupsData(dataGroups);
48
- }
49
- return getOrgUnitData();
50
- }
51
-
52
- export { getRowsFromMeta, sanitizeAnalyticsData };
53
- //# sourceMappingURL=out.js.map
54
- //# sourceMappingURL=data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/utils/data.ts"],"names":["label"],"mappings":"AAOA,SAAS,WAAW,YAAY;AAWzB,SAAS,sBAAsB,MAAkC;AACvE,QAAM,EAAE,SAAS,KAAK,IAAI,KAAK;AAC/B,SAAO,KAAK,IAAI,CAAC,QAAQ;AACxB,WAAO;AAAA,MACN,IAAI,IAAI,CAAC,OAAO,UAAU;AACzB,cAAM,MAAM,QAAQ,KAAK,EAAE;AAC3B,eAAO,CAAC,KAAK,KAAK;AAAA,MACnB,CAAC;AAAA,IACF;AAAA,EACD,CAAC;AACF;AAEO,SAAS,gBAAgB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAKyB;AACxB,WAAS,iBAAiB;AACzB,WAAO,KAAK,SACV,IAAI,CAAC,YAAY;AACjB,YAAM,QAAQ,gBACX,QAAQ,UAAU,QAAQ,KAAK,EAAE,KAAK,KACtC,QAAQ,QAAQ;AAEnB,aAAO;AAAA,QACN;AAAA,QACA;AAAA,MACD;AAAA,IACD,CAAC,EACA,KAAK;AAAA,EACR;AAEA,WAAS,kBAAkB,YAAkC;AAC5D,WAAO,WACL,IAAI,CAAC,EAAE,YAAY,MAAM;AACzB,aAAO,YAAY,IAAI,CAAC,eAAe;AACtC,cAAM,EAAE,aAAa,GAAG,IAAI;AAC5B,cAAM,SACJ,YAAY,WAAW,IACrB,KAAK,WAAW,GAAG,QACnB,YAAY;AAAA,UACZ,CAAC,KAAK,EAAE,OAAAA,OAAM,MAAM,GAAG,GAAG,MAAMA,MAAK;AAAA,UACrC;AAAA,QACD,MAAM;AAET,eAAO;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACF,CAAC,EACA,KAAK;AAAA,EACR;AAGA,MAAI,gBAAgB;AAEnB,UAAM,aAAa,OAAO,cAAc;AACxC,WAAO,kBAAkB,UAAU;AAAA,EACpC;AACA,SAAO,eAAe;AACvB","sourcesContent":["import type { ScorecardDataQueryResponse } from \"../hooks/data\";\nimport type { ScorecardMeta } from \"../components\";\nimport type {\n\tScorecardConfig,\n\tScorecardDataGroup,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport { fromPairs, head } from \"lodash\";\n\nexport interface AnalyticsData {\n\tdx?: string;\n\tpe?: string;\n\tou?: string;\n\tvalue?: string;\n\n\t[key: string]: string | undefined;\n}\n\nexport function sanitizeAnalyticsData(data: ScorecardDataQueryResponse) {\n\tconst { headers, rows } = data.data;\n\treturn rows.map((row) => {\n\t\treturn fromPairs(\n\t\t\trow.map((value, index) => {\n\t\t\t\tconst key = headers[index].name as \"dx\" | \"ou\" | \"pe\";\n\t\t\t\treturn [key, value];\n\t\t\t}),\n\t\t) as AnalyticsData;\n\t});\n}\n\nexport function getRowsFromMeta({\n\tmeta,\n\tconfig,\n\tshowHierarchy,\n\tshowDataInRows,\n}: {\n\tmeta: ScorecardMeta;\n\tshowDataInRows: boolean;\n\tshowHierarchy: boolean;\n\tconfig: ScorecardConfig;\n}): ScorecardTableData[] {\n\tfunction getOrgUnitData() {\n\t\treturn meta.orgUnits\n\t\t\t.map((orgUnit) => {\n\t\t\t\tconst label = showHierarchy\n\t\t\t\t\t? orgUnit.hierarchy.replace(\"/\", \"\") ?? \"\"\n\t\t\t\t\t: orgUnit.name ?? \"\";\n\n\t\t\t\treturn {\n\t\t\t\t\tlabel,\n\t\t\t\t\torgUnit,\n\t\t\t\t};\n\t\t\t})\n\t\t\t.flat();\n\t}\n\n\tfunction getDataGroupsData(dataGroups: ScorecardDataGroup[]) {\n\t\treturn dataGroups\n\t\t\t.map(({ dataHolders }) => {\n\t\t\t\treturn dataHolders.map((dataHolder) => {\n\t\t\t\t\tconst { dataSources, id } = dataHolder;\n\t\t\t\t\tconst label =\n\t\t\t\t\t\t(dataSources.length === 1\n\t\t\t\t\t\t\t? head(dataSources)?.label\n\t\t\t\t\t\t\t: dataSources.reduce(\n\t\t\t\t\t\t\t\t\t(acc, { label }) => `${acc} / ${label}`,\n\t\t\t\t\t\t\t\t\t\"\",\n\t\t\t\t\t\t\t\t)) ?? \"\";\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tdataHolder,\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t})\n\t\t\t.flat();\n\t}\n\n\t//No need of computing the average of each row\n\tif (showDataInRows) {\n\t\t//Rows are derived from groups\n\t\tconst dataGroups = config.dataSelection.dataGroups;\n\t\treturn getDataGroupsData(dataGroups);\n\t}\n\treturn getOrgUnitData();\n}\n"]}
@@ -1,33 +0,0 @@
1
- function createScorecardDataEngine() {
2
- return {
3
- data: [],
4
- isDone: false,
5
- listeners: [],
6
- addListener(listener) {
7
- this.listeners.push(listener);
8
- },
9
- removeListener(listener) {
10
- return this.listeners.filter((l) => l !== listener);
11
- },
12
- updateData(data) {
13
- this.data = [...this.data, ...data];
14
- for (const listener of this.listeners) {
15
- listener(this.data);
16
- }
17
- },
18
- complete() {
19
- for (const listener of this.listeners) {
20
- this.isDone = true;
21
- listener("done");
22
- }
23
- },
24
- clear() {
25
- this.data = [];
26
- this.isDone = false;
27
- }
28
- };
29
- }
30
-
31
- export { createScorecardDataEngine };
32
- //# sourceMappingURL=out.js.map
33
- //# sourceMappingURL=dataEngine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/utils/dataEngine.ts"],"names":[],"mappings":"AAMO,SAAS,4BAA4B;AAC3C,SAAO;AAAA,IACN,MAAM,CAAC;AAAA,IACP,QAAQ;AAAA,IACR,WAAW,CAAC;AAAA,IACZ,YAAY,UAA8B;AACzC,WAAK,UAAU,KAAK,QAAQ;AAAA,IAC7B;AAAA,IACA,eAAe,UAA8B;AAC5C,aAAO,KAAK,UAAU,OAAO,CAAC,MAAM,MAAM,QAAQ;AAAA,IACnD;AAAA,IACA,WAAW,MAAuB;AACjC,WAAK,OAAO,CAAC,GAAG,KAAK,MAAM,GAAG,IAAI;AAClC,iBAAW,YAAY,KAAK,WAAW;AACtC,iBAAS,KAAK,IAAI;AAAA,MACnB;AAAA,IACD;AAAA,IACA,WAAW;AACV,iBAAW,YAAY,KAAK,WAAW;AACtC,aAAK,SAAS;AACd,iBAAS,MAAM;AAAA,MAChB;AAAA,IACD;AAAA,IACA,QAAQ;AACP,WAAK,OAAO,CAAC;AACb,WAAK,SAAS;AAAA,IACf;AAAA,EACD;AACD","sourcesContent":["import type { AnalyticsData } from \"./data\";\n\nexport type DataEngineListener = (data: AnalyticsData[] | \"done\") => void;\n\nexport type ScorecardDataEngine = ReturnType<typeof createScorecardDataEngine>;\n\nexport function createScorecardDataEngine() {\n\treturn {\n\t\tdata: [] as AnalyticsData[],\n\t\tisDone: false,\n\t\tlisteners: [] as DataEngineListener[],\n\t\taddListener(listener: DataEngineListener) {\n\t\t\tthis.listeners.push(listener);\n\t\t},\n\t\tremoveListener(listener: DataEngineListener) {\n\t\t\treturn this.listeners.filter((l) => l !== listener);\n\t\t},\n\t\tupdateData(data: AnalyticsData[]) {\n\t\t\tthis.data = [...this.data, ...data];\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tlistener(this.data);\n\t\t\t}\n\t\t},\n\t\tcomplete() {\n\t\t\tfor (const listener of this.listeners) {\n\t\t\t\tthis.isDone = true;\n\t\t\t\tlistener(\"done\");\n\t\t\t}\n\t\t},\n\t\tclear() {\n\t\t\tthis.data = [];\n\t\t\tthis.isDone = false;\n\t\t},\n\t};\n}\n"]}
@@ -1,13 +0,0 @@
1
- import { flattenDeep, compact } from 'lodash';
2
-
3
- function getHoldersFromGroups(dataGroups) {
4
- return flattenDeep(dataGroups?.map(({ dataHolders }) => dataHolders) ?? []);
5
- }
6
- function getDataSourcesFromGroups(dataGroups) {
7
- const dataHolders = compact(getHoldersFromGroups(dataGroups));
8
- return flattenDeep(dataHolders?.map(({ dataSources }) => dataSources));
9
- }
10
-
11
- export { getDataSourcesFromGroups, getHoldersFromGroups };
12
- //# sourceMappingURL=out.js.map
13
- //# sourceMappingURL=dataSources.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/utils/dataSources.ts"],"names":[],"mappings":"AAAA,SAAS,SAAS,mBAAmB;AAM9B,SAAS,qBACf,YACwB;AACxB,SAAO,YAAY,YAAY,IAAI,CAAC,EAAE,YAAY,MAAM,WAAW,KAAK,CAAC,CAAC;AAC3E;AAEO,SAAS,yBAAyB,YAAkC;AAC1E,QAAM,cAAc,QAAQ,qBAAqB,UAAU,CAAC;AAC5D,SAAO,YAAY,aAAa,IAAI,CAAC,EAAE,YAAY,MAAM,WAAW,CAAC;AACtE","sourcesContent":["import { compact, flattenDeep } from \"lodash\";\nimport type {\n\tScorecardDataGroup,\n\tScorecardDataHolder,\n} from \"../schemas/config\";\n\nexport function getHoldersFromGroups(\n\tdataGroups: ScorecardDataGroup[],\n): ScorecardDataHolder[] {\n\treturn flattenDeep(dataGroups?.map(({ dataHolders }) => dataHolders) ?? []);\n}\n\nexport function getDataSourcesFromGroups(dataGroups: ScorecardDataGroup[]) {\n\tconst dataHolders = compact(getHoldersFromGroups(dataGroups));\n\treturn flattenDeep(dataHolders?.map(({ dataSources }) => dataSources));\n}\n"]}
@@ -1,18 +0,0 @@
1
- class ScorecardEngine {
2
- constructor({
3
- config,
4
- meta,
5
- state
6
- }) {
7
- this.config = config;
8
- this.meta = meta;
9
- this.state = state;
10
- }
11
- getRows() {
12
- return [];
13
- }
14
- }
15
-
16
- export { ScorecardEngine };
17
- //# sourceMappingURL=out.js.map
18
- //# sourceMappingURL=engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/utils/engine.ts"],"names":[],"mappings":"AAOO,MAAM,gBAAgB;AAAA,EAK5B,YAAY;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,EACD,GAIG;AACF,SAAK,SAAS;AACd,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACd;AAAA,EAEA,UAAgC;AAC/B,WAAO,CAAC;AAAA,EACT;AACD","sourcesContent":["import type {\n\tScorecardConfig,\n\tScorecardState,\n\tScorecardTableData,\n} from \"../schemas/config\";\nimport type { ScorecardMeta } from \"../components/MetaProvider\";\n\nexport class ScorecardEngine {\n\tconfig: ScorecardConfig;\n\tstate: ScorecardState;\n\tmeta: ScorecardMeta;\n\n\tconstructor({\n\t\tconfig,\n\t\tmeta,\n\t\tstate,\n\t}: {\n\t\tconfig: ScorecardConfig;\n\t\tstate: ScorecardState;\n\t\tmeta: ScorecardMeta;\n\t}) {\n\t\tthis.config = config;\n\t\tthis.meta = meta;\n\t\tthis.state = state;\n\t}\n\n\tgetRows(): ScorecardTableData[] {\n\t\treturn [];\n\t}\n}\n"]}
@@ -1,115 +0,0 @@
1
- import { isEmpty, head, find } from 'lodash';
2
-
3
- function findLegend({
4
- max,
5
- legendDefinitions,
6
- value,
7
- legends
8
- }) {
9
- if (!value) {
10
- return find(legendDefinitions, { id: "No Data" });
11
- }
12
- const numericValue = value;
13
- if (numericValue > max) {
14
- return find(legendDefinitions, { id: "N/A" });
15
- }
16
- if (isNaN(numericValue)) {
17
- return find(legendDefinitions, { id: "No Data" });
18
- }
19
- const { legendDefinitionId } = find(legends, (legend) => {
20
- if (legend) {
21
- const { startValue, endValue } = legend;
22
- if (+endValue === max) {
23
- return +startValue <= numericValue && +endValue >= numericValue;
24
- }
25
- return +startValue <= numericValue && +endValue > numericValue;
26
- }
27
- return false;
28
- }) ?? {};
29
- return find(legendDefinitions, ["id", legendDefinitionId]);
30
- }
31
- function getSpecificTargetLegends(specificTarget, id) {
32
- if (specificTarget.items.includes(id)) {
33
- return specificTarget.legends;
34
- }
35
- }
36
- function getLegendByOrgUnitLevel({
37
- orgUnit,
38
- orgUnitLevels,
39
- legends
40
- }) {
41
- const orgUnitLevel = orgUnitLevels.find(({ id, level }) => {
42
- const ouLevel = orgUnit.hierarchy.split("/").filter(Boolean).length;
43
- return level === ouLevel;
44
- });
45
- if (!orgUnitLevel) {
46
- throw new Error("Invalid orgUnitId");
47
- }
48
- return legends[orgUnitLevel.id];
49
- }
50
- function getLegend({
51
- dataSource,
52
- config,
53
- value,
54
- periodId,
55
- orgUnit,
56
- orgUnitLevels
57
- }) {
58
- let legends = [];
59
- if (periodId && orgUnit && orgUnitLevels) {
60
- if (!Array.isArray(dataSource.legends)) {
61
- legends = getLegendByOrgUnitLevel({
62
- orgUnit,
63
- orgUnitLevels,
64
- legends: dataSource.legends
65
- });
66
- } else {
67
- const specificTargets = dataSource.specificTargets;
68
- if (!isEmpty(specificTargets)) {
69
- const specificTarget = head(specificTargets);
70
- switch (specificTarget.type) {
71
- case "periods":
72
- const targetLegends = getSpecificTargetLegends(
73
- specificTarget,
74
- periodId
75
- );
76
- legends = targetLegends ?? dataSource.legends;
77
- break;
78
- case "orgUnit":
79
- const targetOrgUnitLegends = getSpecificTargetLegends(
80
- specificTarget,
81
- orgUnit.uid
82
- );
83
- legends = targetOrgUnitLegends ?? dataSource.legends;
84
- break;
85
- default:
86
- legends = dataSource.legends;
87
- }
88
- } else {
89
- legends = dataSource.legends;
90
- }
91
- }
92
- } else {
93
- if (Array.isArray(dataSource.legends)) {
94
- legends = dataSource.legends;
95
- }
96
- }
97
- return findLegend({
98
- legends,
99
- value,
100
- max: dataSource.weight,
101
- legendDefinitions: config.legendDefinitions
102
- });
103
- }
104
- function getTextColorFromBackgroundColor(background) {
105
- background = background.replace(/^#/, "");
106
- let r = parseInt(background.substring(0, 2), 16);
107
- let g = parseInt(background.substring(2, 4), 16);
108
- let b = parseInt(background.substring(4, 6), 16);
109
- let yiq = (r * 299 + g * 587 + b * 114) / 1e3;
110
- return yiq >= 128 ? "#000000" : "#FFFFFF";
111
- }
112
-
113
- export { getLegend, getTextColorFromBackgroundColor };
114
- //# sourceMappingURL=out.js.map
115
- //# sourceMappingURL=legends.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/utils/legends.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tLegendDefinition,\n\tOrgUnitLevelLegend,\n\tScorecardConfig,\n\tScorecardDataSource,\n\tScorecardLegend,\n\tSpecificTarget,\n} from \"../schemas/config\";\nimport { find, head, isEmpty } from \"lodash\";\nimport type { ItemMeta } from \"../hooks/metadata\";\n\nfunction findLegend({\n\tmax,\n\tlegendDefinitions,\n\tvalue,\n\tlegends,\n}: {\n\tmax: number;\n\tlegendDefinitions: LegendDefinition[];\n\tlegends: ScorecardLegend[];\n\tvalue?: number;\n}): LegendDefinition | undefined {\n\tif (!value) {\n\t\treturn find(legendDefinitions, { id: \"No Data\" });\n\t}\n\tconst numericValue = value;\n\tif (numericValue > max) {\n\t\treturn find(legendDefinitions, { id: \"N/A\" });\n\t}\n\tif (isNaN(numericValue)) {\n\t\treturn find(legendDefinitions, { id: \"No Data\" });\n\t}\n\n\tconst { legendDefinitionId } =\n\t\tfind(legends, (legend) => {\n\t\t\tif (legend) {\n\t\t\t\tconst { startValue, endValue } = legend;\n\t\t\t\tif (+endValue === max) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t+startValue <= numericValue && +endValue >= numericValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn +startValue <= numericValue && +endValue > numericValue;\n\t\t\t}\n\t\t\treturn false;\n\t\t}) ?? {};\n\n\treturn find(legendDefinitions, [\"id\", legendDefinitionId]);\n}\n\nfunction getSpecificTargetLegends(specificTarget: SpecificTarget, id: string) {\n\tif (specificTarget.items.includes(id)) {\n\t\treturn specificTarget.legends;\n\t}\n}\n\nfunction getLegendByOrgUnitLevel({\n\torgUnit,\n\torgUnitLevels,\n\tlegends,\n}: {\n\torgUnit: ItemMeta & { hierarchy: string };\n\tlegends: Record<string, ScorecardLegend[]>;\n\torgUnitLevels: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t}>;\n}): ScorecardLegend[] {\n\tconst orgUnitLevel = orgUnitLevels.find(({ id, level }) => {\n\t\tconst ouLevel = orgUnit.hierarchy.split(\"/\").filter(Boolean).length;\n\t\treturn level === ouLevel;\n\t});\n\n\tif (!orgUnitLevel) {\n\t\tthrow new Error(\"Invalid orgUnitId\");\n\t}\n\n\treturn legends[orgUnitLevel.id];\n}\n\nexport function getLegend({\n\tdataSource,\n\tconfig,\n\tvalue,\n\tperiodId,\n\torgUnit,\n\torgUnitLevels,\n}: {\n\tdataSource: ScorecardDataSource;\n\tvalue?: number;\n\tconfig: ScorecardConfig;\n\tperiodId?: string;\n\torgUnit?: ItemMeta & { hierarchy: string };\n\torgUnitLevels?: Array<{\n\t\tid: string;\n\t\tlevel: number;\n\t}>;\n}) {\n\tlet legends: ScorecardLegend[] = [];\n\n\tif (periodId && orgUnit && orgUnitLevels) {\n\t\tif (!Array.isArray(dataSource.legends)) {\n\t\t\tlegends = getLegendByOrgUnitLevel({\n\t\t\t\torgUnit,\n\t\t\t\torgUnitLevels,\n\t\t\t\tlegends: dataSource.legends as OrgUnitLevelLegend,\n\t\t\t});\n\t\t} else {\n\t\t\tconst specificTargets = dataSource.specificTargets;\n\t\t\tif (!isEmpty(specificTargets)) {\n\t\t\t\tconst specificTarget = head(specificTargets)!;\n\t\t\t\tswitch (specificTarget.type) {\n\t\t\t\t\tcase \"periods\":\n\t\t\t\t\t\tconst targetLegends = getSpecificTargetLegends(\n\t\t\t\t\t\t\tspecificTarget,\n\t\t\t\t\t\t\tperiodId,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlegends = targetLegends ?? dataSource.legends;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"orgUnit\":\n\t\t\t\t\t\tconst targetOrgUnitLegends = getSpecificTargetLegends(\n\t\t\t\t\t\t\tspecificTarget,\n\t\t\t\t\t\t\torgUnit.uid,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tlegends = targetOrgUnitLegends ?? dataSource.legends;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tlegends = dataSource.legends;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlegends = dataSource.legends;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tif (Array.isArray(dataSource.legends)) {\n\t\t\tlegends = dataSource.legends;\n\t\t}\n\t}\n\n\treturn findLegend({\n\t\tlegends,\n\t\tvalue: value,\n\t\tmax: dataSource.weight,\n\t\tlegendDefinitions: config.legendDefinitions,\n\t});\n}\n\nexport function getTextColorFromBackgroundColor(background: string): string {\n\t// Remove the hash at the start if it's there\n\tbackground = background.replace(/^#/, \"\");\n\n\t// Convert hex to RGB\n\tlet r = parseInt(background.substring(0, 2), 16);\n\tlet g = parseInt(background.substring(2, 4), 16);\n\tlet b = parseInt(background.substring(4, 6), 16);\n\n\t// Calculate the YIQ value\n\tlet yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\n\t// Return black for light backgrounds and white for dark backgrounds\n\treturn yiq >= 128 ? \"#000000\" : \"#FFFFFF\";\n}\n"]}
@@ -1,37 +0,0 @@
1
- function getOrgUnitsForAnalytics(orgUnitSelection) {
2
- const {
3
- userOrgUnit,
4
- orgUnits,
5
- userSubUnit,
6
- userSubX2Unit,
7
- levels,
8
- groups
9
- } = orgUnitSelection ?? {};
10
- const results = [];
11
- if (userOrgUnit) {
12
- results.push("USER_ORGUNIT");
13
- }
14
- if (userSubUnit) {
15
- results.push("USER_ORGUNIT_CHILDREN");
16
- }
17
- if (userSubX2Unit) {
18
- results.push("USER_ORGUNIT_GRANDCHILDREN");
19
- }
20
- if (orgUnits) {
21
- results.push(...orgUnits.map((orgUnit) => orgUnit.id));
22
- }
23
- if (groups) {
24
- results.push(...groups.map((group) => `OU_GROUP-${group}`));
25
- }
26
- if (levels) {
27
- results.push(...levels.map((level) => `LEVEL-${level}`));
28
- }
29
- return results;
30
- }
31
- function getOrgUnitLevel(orgUnit) {
32
- return orgUnit.hierarchy.split("/").filter(Boolean).length;
33
- }
34
-
35
- export { getOrgUnitLevel, getOrgUnitsForAnalytics };
36
- //# sourceMappingURL=out.js.map
37
- //# sourceMappingURL=orgUnits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/components/Scorecard/utils/orgUnits.ts"],"names":[],"mappings":"AAGO,SAAS,wBACf,kBACW;AACX,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI,oBAAoB,CAAC;AACzB,QAAM,UAAU,CAAC;AAEjB,MAAI,aAAa;AAChB,YAAQ,KAAK,cAAc;AAAA,EAC5B;AACA,MAAI,aAAa;AAChB,YAAQ,KAAK,uBAAuB;AAAA,EACrC;AACA,MAAI,eAAe;AAClB,YAAQ,KAAK,4BAA4B;AAAA,EAC1C;AAEA,MAAI,UAAU;AACb,YAAQ,KAAK,GAAG,SAAS,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC;AAAA,EACtD;AACA,MAAI,QAAQ;AACX,YAAQ,KAAK,GAAG,OAAO,IAAI,CAAC,UAAU,YAAY,KAAK,EAAE,CAAC;AAAA,EAC3D;AACA,MAAI,QAAQ;AACX,YAAQ,KAAK,GAAG,OAAO,IAAI,CAAC,UAAU,SAAS,KAAK,EAAE,CAAC;AAAA,EACxD;AACA,SAAO;AACR;AAEO,SAAS,gBAAgB,SAA2C;AAC1E,SAAO,QAAQ,UAAU,MAAM,GAAG,EAAE,OAAO,OAAO,EAAE;AACrD","sourcesContent":["import type { OrgUnitSelection } from \"../schemas/config\";\nimport type { ItemMeta } from \"../hooks/metadata\";\n\nexport function getOrgUnitsForAnalytics(\n\torgUnitSelection: OrgUnitSelection,\n): string[] {\n\tconst {\n\t\tuserOrgUnit,\n\t\torgUnits,\n\t\tuserSubUnit,\n\t\tuserSubX2Unit,\n\t\tlevels,\n\t\tgroups,\n\t} = orgUnitSelection ?? {};\n\tconst results = [];\n\n\tif (userOrgUnit) {\n\t\tresults.push(\"USER_ORGUNIT\");\n\t}\n\tif (userSubUnit) {\n\t\tresults.push(\"USER_ORGUNIT_CHILDREN\");\n\t}\n\tif (userSubX2Unit) {\n\t\tresults.push(\"USER_ORGUNIT_GRANDCHILDREN\");\n\t}\n\n\tif (orgUnits) {\n\t\tresults.push(...orgUnits.map((orgUnit) => orgUnit.id));\n\t}\n\tif (groups) {\n\t\tresults.push(...groups.map((group) => `OU_GROUP-${group}`));\n\t}\n\tif (levels) {\n\t\tresults.push(...levels.map((level) => `LEVEL-${level}`));\n\t}\n\treturn results;\n}\n\nexport function getOrgUnitLevel(orgUnit: ItemMeta & { hierarchy: string }) {\n\treturn orgUnit.hierarchy.split(\"/\").filter(Boolean).length;\n}\n"]}
@@ -1,13 +0,0 @@
1
- function getInitialStateFromConfig(config, options) {
2
- return {
3
- periodSelection: config.periodSelection,
4
- orgUnitSelection: config.orgUnitSelection,
5
- options: config.options,
6
- nested: options?.nested ?? false,
7
- hasOnePeriod: config.periodSelection.periods.length === 1
8
- };
9
- }
10
-
11
- export { getInitialStateFromConfig };
12
- //# sourceMappingURL=out.js.map
13
- //# sourceMappingURL=state.js.map