@dhis2/analytics 28.0.4 → 28.1.0

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 (257) hide show
  1. package/build/cjs/__demo__/OpenFileDialog.stories.js +19 -1
  2. package/build/cjs/__demo__/{PivotTable.stories.js → PivotTable.aggregate.stories.js} +38 -38
  3. package/build/cjs/__demo__/PivotTable.event.stories.js +440 -0
  4. package/build/cjs/__demo__/data/event/boolean.data.hidena.json +115 -0
  5. package/build/cjs/__demo__/data/event/boolean.data.json +125 -0
  6. package/build/cjs/__demo__/data/event/boolean.data.org.json +106 -0
  7. package/build/cjs/__demo__/data/event/boolean.visualization.json +160 -0
  8. package/build/cjs/__demo__/data/event/date.data.hidena.json +205 -0
  9. package/build/cjs/__demo__/data/event/date.data.json +215 -0
  10. package/build/cjs/__demo__/data/event/date.data.org.json +123 -0
  11. package/build/cjs/__demo__/data/event/date.visualization.json +160 -0
  12. package/build/cjs/__demo__/data/event/datetime.data.hidena.json +215 -0
  13. package/build/cjs/__demo__/data/event/datetime.data.json +225 -0
  14. package/build/cjs/__demo__/data/event/datetime.data.org.json +124 -0
  15. package/build/cjs/__demo__/data/event/datetime.visualization.json +148 -0
  16. package/build/cjs/__demo__/data/event/email.data.hidena.json +192 -0
  17. package/build/cjs/__demo__/data/event/email.data.json +202 -0
  18. package/build/cjs/__demo__/data/event/email.data.org.json +123 -0
  19. package/build/cjs/__demo__/data/event/email.visualization.json +148 -0
  20. package/build/cjs/__demo__/data/event/integer.data.hidena.json +165 -0
  21. package/build/cjs/__demo__/data/event/integer.data.json +175 -0
  22. package/build/cjs/__demo__/data/event/integer.data.org.json +120 -0
  23. package/build/cjs/__demo__/data/event/integer.visualization.json +163 -0
  24. package/build/cjs/__demo__/data/event/legendset.data.hidena.json +154 -0
  25. package/build/cjs/__demo__/data/event/legendset.data.json +164 -0
  26. package/build/cjs/__demo__/data/event/legendset.visualization.json +166 -0
  27. package/build/cjs/__demo__/data/event/optionset.data.hidena.json +125 -0
  28. package/build/cjs/__demo__/data/event/optionset.data.json +134 -0
  29. package/build/cjs/__demo__/data/event/optionset.data.org.json +125 -0
  30. package/build/cjs/__demo__/data/event/optionset.visualization.json +158 -0
  31. package/build/cjs/__demo__/data/event/time.data.hidena.json +165 -0
  32. package/build/cjs/__demo__/data/event/time.data.json +175 -0
  33. package/build/cjs/__demo__/data/event/time.data.org.json +128 -0
  34. package/build/cjs/__demo__/data/event/time.visualization.json +148 -0
  35. package/build/cjs/__demo__/data/event/yesonly.data.hidena.json +127 -0
  36. package/build/cjs/__demo__/data/event/yesonly.data.json +136 -0
  37. package/build/cjs/__demo__/data/event/yesonly.data.org.json +124 -0
  38. package/build/cjs/__demo__/data/event/yesonly.visualization.json +161 -0
  39. package/build/cjs/components/DataDimension/ItemSelector/ItemSelector.js +19 -22
  40. package/build/cjs/components/DimensionsPanel/List/DimensionList.js +3 -1
  41. package/build/cjs/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +48 -41
  42. package/build/cjs/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +110 -114
  43. package/build/cjs/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +36 -33
  44. package/build/cjs/components/FileMenu/__tests__/DeleteDialog.spec.js +24 -27
  45. package/build/cjs/components/FileMenu/__tests__/FileMenu.spec.js +51 -31
  46. package/build/cjs/components/FileMenu/__tests__/GetLinkDialog.spec.js +28 -31
  47. package/build/cjs/components/FileMenu/__tests__/RenameDialog.spec.js +17 -11
  48. package/build/cjs/components/FileMenu/__tests__/SaveAsDialog.spec.js +44 -37
  49. package/build/cjs/components/Filter/__tests__/Filter.spec.js +29 -34
  50. package/build/cjs/components/OpenFileDialog/CreatedByFilter.js +9 -1
  51. package/build/cjs/components/OpenFileDialog/OpenFileDialog.js +14 -34
  52. package/build/cjs/components/OpenFileDialog/VisTypeFilter.js +39 -1
  53. package/build/cjs/components/OpenFileDialog/__tests__/OpenFileDialog.spec.js +51 -0
  54. package/build/cjs/components/OrgUnitDimension/__tests__/OrgUnitDimension.spec.js +78 -44
  55. package/build/cjs/components/PeriodDimension/FixedPeriodFilter.js +1 -0
  56. package/build/cjs/components/PeriodDimension/RelativePeriodFilter.js +3 -2
  57. package/build/cjs/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +14 -21
  58. package/build/cjs/components/PeriodDimension/__tests__/PeriodDimension.spec.js +27 -23
  59. package/build/cjs/components/PivotTable/PivotTableColumnHeaderCell.js +3 -0
  60. package/build/cjs/components/PivotTable/PivotTableRowHeaderCell.js +2 -1
  61. package/build/cjs/components/RichText/Editor/__tests__/Editor.spec.js +6 -7
  62. package/build/cjs/components/RichText/Parser/__tests__/MdParser.spec.js +1 -1
  63. package/build/cjs/components/RichText/Parser/__tests__/Parser.spec.js +22 -23
  64. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +52 -42
  65. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +8 -8
  66. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +23 -18
  67. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +23 -17
  68. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/__snapshots__/HoverMenuList.spec.js.snap +63 -0
  69. package/build/cjs/components/Toolbar/InterpretationsAndDetailsToggler.js +3 -1
  70. package/build/cjs/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +19 -18
  71. package/build/cjs/components/Toolbar/__tests__/Toolbar.spec.js +8 -8
  72. package/build/cjs/components/Toolbar/__tests__/ToolbarSidebar.spec.js +14 -11
  73. package/build/cjs/components/Toolbar/__tests__/UpdateButton.spec.js +16 -14
  74. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModal.js +2 -1
  75. package/build/cjs/components/TranslationDialog/TranslationModal/__tests__/TranslationModal.spec.js +25 -16
  76. package/build/cjs/index.js +8 -0
  77. package/build/cjs/locales/en/translations.json +1 -0
  78. package/build/cjs/modules/pivotTable/AdaptiveClippingController.js +2 -1
  79. package/build/cjs/modules/pivotTable/getHeaderForDisplay.js +4 -1
  80. package/build/cjs/modules/pivotTable/measureText.js +7 -6
  81. package/build/cjs/modules/response/event/__tests__/default.spec.js +77 -0
  82. package/build/cjs/modules/response/event/__tests__/optionSet.spec.js +35 -0
  83. package/build/cjs/modules/response/event/__tests__/response.spec.js +125 -0
  84. package/build/cjs/modules/response/event/default.js +65 -0
  85. package/build/cjs/modules/response/event/optionSet.js +36 -0
  86. package/build/cjs/modules/response/event/response.js +95 -0
  87. package/build/es/__demo__/OpenFileDialog.stories.js +17 -0
  88. package/build/es/__demo__/{PivotTable.stories.js → PivotTable.aggregate.stories.js} +38 -38
  89. package/build/es/__demo__/PivotTable.event.stories.js +414 -0
  90. package/build/es/__demo__/data/event/boolean.data.hidena.json +115 -0
  91. package/build/es/__demo__/data/event/boolean.data.json +125 -0
  92. package/build/es/__demo__/data/event/boolean.data.org.json +106 -0
  93. package/build/es/__demo__/data/event/boolean.visualization.json +160 -0
  94. package/build/es/__demo__/data/event/date.data.hidena.json +205 -0
  95. package/build/es/__demo__/data/event/date.data.json +215 -0
  96. package/build/es/__demo__/data/event/date.data.org.json +123 -0
  97. package/build/es/__demo__/data/event/date.visualization.json +160 -0
  98. package/build/es/__demo__/data/event/datetime.data.hidena.json +215 -0
  99. package/build/es/__demo__/data/event/datetime.data.json +225 -0
  100. package/build/es/__demo__/data/event/datetime.data.org.json +124 -0
  101. package/build/es/__demo__/data/event/datetime.visualization.json +148 -0
  102. package/build/es/__demo__/data/event/email.data.hidena.json +192 -0
  103. package/build/es/__demo__/data/event/email.data.json +202 -0
  104. package/build/es/__demo__/data/event/email.data.org.json +123 -0
  105. package/build/es/__demo__/data/event/email.visualization.json +148 -0
  106. package/build/es/__demo__/data/event/integer.data.hidena.json +165 -0
  107. package/build/es/__demo__/data/event/integer.data.json +175 -0
  108. package/build/es/__demo__/data/event/integer.data.org.json +120 -0
  109. package/build/es/__demo__/data/event/integer.visualization.json +163 -0
  110. package/build/es/__demo__/data/event/legendset.data.hidena.json +154 -0
  111. package/build/es/__demo__/data/event/legendset.data.json +164 -0
  112. package/build/es/__demo__/data/event/legendset.visualization.json +166 -0
  113. package/build/es/__demo__/data/event/optionset.data.hidena.json +125 -0
  114. package/build/es/__demo__/data/event/optionset.data.json +134 -0
  115. package/build/es/__demo__/data/event/optionset.data.org.json +125 -0
  116. package/build/es/__demo__/data/event/optionset.visualization.json +158 -0
  117. package/build/es/__demo__/data/event/time.data.hidena.json +165 -0
  118. package/build/es/__demo__/data/event/time.data.json +175 -0
  119. package/build/es/__demo__/data/event/time.data.org.json +128 -0
  120. package/build/es/__demo__/data/event/time.visualization.json +148 -0
  121. package/build/es/__demo__/data/event/yesonly.data.hidena.json +127 -0
  122. package/build/es/__demo__/data/event/yesonly.data.json +136 -0
  123. package/build/es/__demo__/data/event/yesonly.data.org.json +124 -0
  124. package/build/es/__demo__/data/event/yesonly.visualization.json +161 -0
  125. package/build/es/components/DataDimension/ItemSelector/ItemSelector.js +19 -22
  126. package/build/es/components/DimensionsPanel/List/DimensionList.js +3 -1
  127. package/build/es/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +47 -40
  128. package/build/es/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +110 -114
  129. package/build/es/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +35 -32
  130. package/build/es/components/FileMenu/__tests__/DeleteDialog.spec.js +23 -26
  131. package/build/es/components/FileMenu/__tests__/FileMenu.spec.js +52 -32
  132. package/build/es/components/FileMenu/__tests__/GetLinkDialog.spec.js +27 -30
  133. package/build/es/components/FileMenu/__tests__/RenameDialog.spec.js +18 -12
  134. package/build/es/components/FileMenu/__tests__/SaveAsDialog.spec.js +43 -36
  135. package/build/es/components/Filter/__tests__/Filter.spec.js +28 -33
  136. package/build/es/components/OpenFileDialog/CreatedByFilter.js +7 -0
  137. package/build/es/components/OpenFileDialog/OpenFileDialog.js +14 -35
  138. package/build/es/components/OpenFileDialog/VisTypeFilter.js +38 -1
  139. package/build/es/components/OpenFileDialog/__tests__/OpenFileDialog.spec.js +49 -0
  140. package/build/es/components/OrgUnitDimension/__tests__/OrgUnitDimension.spec.js +77 -43
  141. package/build/es/components/PeriodDimension/FixedPeriodFilter.js +1 -0
  142. package/build/es/components/PeriodDimension/RelativePeriodFilter.js +3 -2
  143. package/build/es/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +13 -20
  144. package/build/es/components/PeriodDimension/__tests__/PeriodDimension.spec.js +26 -22
  145. package/build/es/components/PivotTable/PivotTableColumnHeaderCell.js +3 -0
  146. package/build/es/components/PivotTable/PivotTableRowHeaderCell.js +2 -1
  147. package/build/es/components/RichText/Editor/__tests__/Editor.spec.js +7 -8
  148. package/build/es/components/RichText/Parser/__tests__/MdParser.spec.js +1 -1
  149. package/build/es/components/RichText/Parser/__tests__/Parser.spec.js +21 -22
  150. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +53 -43
  151. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +7 -7
  152. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +23 -18
  153. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +21 -15
  154. package/build/es/components/Toolbar/HoverMenuBar/__tests__/__snapshots__/HoverMenuList.spec.js.snap +63 -0
  155. package/build/es/components/Toolbar/InterpretationsAndDetailsToggler.js +3 -1
  156. package/build/es/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +18 -17
  157. package/build/es/components/Toolbar/__tests__/Toolbar.spec.js +7 -7
  158. package/build/es/components/Toolbar/__tests__/ToolbarSidebar.spec.js +13 -10
  159. package/build/es/components/Toolbar/__tests__/UpdateButton.spec.js +15 -13
  160. package/build/es/components/TranslationDialog/TranslationModal/TranslationModal.js +2 -1
  161. package/build/es/components/TranslationDialog/TranslationModal/__tests__/TranslationModal.spec.js +24 -15
  162. package/build/es/index.js +4 -0
  163. package/build/es/locales/en/translations.json +1 -0
  164. package/build/es/modules/pivotTable/AdaptiveClippingController.js +2 -1
  165. package/build/es/modules/pivotTable/getHeaderForDisplay.js +4 -1
  166. package/build/es/modules/pivotTable/measureText.js +7 -6
  167. package/build/es/modules/response/event/__tests__/default.spec.js +75 -0
  168. package/build/es/modules/response/event/__tests__/optionSet.spec.js +32 -0
  169. package/build/es/modules/response/event/__tests__/response.spec.js +122 -0
  170. package/build/es/modules/response/event/default.js +52 -0
  171. package/build/es/modules/response/event/optionSet.js +27 -0
  172. package/build/es/modules/response/event/response.js +86 -0
  173. package/package.json +2 -4
  174. package/build/cjs/components/OrgUnitDimension/__tests__/__snapshots__/OrgUnitDimension.spec.js.snap +0 -89
  175. package/build/cjs/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -29
  176. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -92
  177. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +0 -16
  178. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +0 -89
  179. package/build/es/components/OrgUnitDimension/__tests__/__snapshots__/OrgUnitDimension.spec.js.snap +0 -89
  180. package/build/es/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -26
  181. package/build/es/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -92
  182. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +0 -16
  183. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +0 -89
  184. /package/build/cjs/__demo__/data/{avgTotalAggregationType.data.json → aggregate/avgTotalAggregationType.data.json} +0 -0
  185. /package/build/cjs/__demo__/data/{avgTotalAggregationType.metadata.json → aggregate/avgTotalAggregationType.metadata.json} +0 -0
  186. /package/build/cjs/__demo__/data/{avgTotalAggregationType.visualization.json → aggregate/avgTotalAggregationType.visualization.json} +0 -0
  187. /package/build/cjs/__demo__/data/{deep.data.json → aggregate/deep.data.json} +0 -0
  188. /package/build/cjs/__demo__/data/{deep.visualization.json → aggregate/deep.visualization.json} +0 -0
  189. /package/build/cjs/__demo__/data/{deepWithFilters.data.json → aggregate/deepWithFilters.data.json} +0 -0
  190. /package/build/cjs/__demo__/data/{deepWithFilters.visualization.json → aggregate/deepWithFilters.visualization.json} +0 -0
  191. /package/build/cjs/__demo__/data/{degs.data.json → aggregate/degs.data.json} +0 -0
  192. /package/build/cjs/__demo__/data/{degs.metadata.json → aggregate/degs.metadata.json} +0 -0
  193. /package/build/cjs/__demo__/data/{degs.visualization.json → aggregate/degs.visualization.json} +0 -0
  194. /package/build/cjs/__demo__/data/{diseaseWeeks.data.json → aggregate/diseaseWeeks.data.json} +0 -0
  195. /package/build/cjs/__demo__/data/{diseaseWeeks.metadata.json → aggregate/diseaseWeeks.metadata.json} +0 -0
  196. /package/build/cjs/__demo__/data/{diseaseWeeks.visualization.json → aggregate/diseaseWeeks.visualization.json} +0 -0
  197. /package/build/cjs/__demo__/data/{emptyColumns.data.json → aggregate/emptyColumns.data.json} +0 -0
  198. /package/build/cjs/__demo__/data/{emptyColumns.metadata.json → aggregate/emptyColumns.metadata.json} +0 -0
  199. /package/build/cjs/__demo__/data/{emptyColumns.visualization.json → aggregate/emptyColumns.visualization.json} +0 -0
  200. /package/build/cjs/__demo__/data/{emptyRows.data.json → aggregate/emptyRows.data.json} +0 -0
  201. /package/build/cjs/__demo__/data/{emptyRows.visualization.json → aggregate/emptyRows.visualization.json} +0 -0
  202. /package/build/cjs/__demo__/data/{hierarchy.data.json → aggregate/hierarchy.data.json} +0 -0
  203. /package/build/cjs/__demo__/data/{hierarchy.metadata.json → aggregate/hierarchy.metadata.json} +0 -0
  204. /package/build/cjs/__demo__/data/{hierarchy.visualization.json → aggregate/hierarchy.visualization.json} +0 -0
  205. /package/build/cjs/__demo__/data/{lastFiveYears.data.json → aggregate/lastFiveYears.data.json} +0 -0
  206. /package/build/cjs/__demo__/data/{lastFiveYears.metadata.json → aggregate/lastFiveYears.metadata.json} +0 -0
  207. /package/build/cjs/__demo__/data/{lastFiveYears.visualization.json → aggregate/lastFiveYears.visualization.json} +0 -0
  208. /package/build/cjs/__demo__/data/{narrative.data.json → aggregate/narrative.data.json} +0 -0
  209. /package/build/cjs/__demo__/data/{narrative.metadata.json → aggregate/narrative.metadata.json} +0 -0
  210. /package/build/cjs/__demo__/data/{narrative.visualization.json → aggregate/narrative.visualization.json} +0 -0
  211. /package/build/cjs/__demo__/data/{simple.data.json → aggregate/simple.data.json} +0 -0
  212. /package/build/cjs/__demo__/data/{simple.metadata.json → aggregate/simple.metadata.json} +0 -0
  213. /package/build/cjs/__demo__/data/{simple.visualization.json → aggregate/simple.visualization.json} +0 -0
  214. /package/build/cjs/__demo__/data/{target-with-legend.data.json → aggregate/target-with-legend.data.json} +0 -0
  215. /package/build/cjs/__demo__/data/{target-with-legend.metadata.json → aggregate/target-with-legend.metadata.json} +0 -0
  216. /package/build/cjs/__demo__/data/{target-with-legend.visualization.json → aggregate/target-with-legend.visualization.json} +0 -0
  217. /package/build/cjs/__demo__/data/{under-above-100.legendSet.json → aggregate/under-above-100.legendSet.json} +0 -0
  218. /package/build/cjs/__demo__/data/{weeklyColumns.data.json → aggregate/weeklyColumns.data.json} +0 -0
  219. /package/build/cjs/__demo__/data/{weeklyColumns.metadata.json → aggregate/weeklyColumns.metadata.json} +0 -0
  220. /package/build/cjs/__demo__/data/{weeklyColumns.visualization.json → aggregate/weeklyColumns.visualization.json} +0 -0
  221. /package/build/es/__demo__/data/{avgTotalAggregationType.data.json → aggregate/avgTotalAggregationType.data.json} +0 -0
  222. /package/build/es/__demo__/data/{avgTotalAggregationType.metadata.json → aggregate/avgTotalAggregationType.metadata.json} +0 -0
  223. /package/build/es/__demo__/data/{avgTotalAggregationType.visualization.json → aggregate/avgTotalAggregationType.visualization.json} +0 -0
  224. /package/build/es/__demo__/data/{deep.data.json → aggregate/deep.data.json} +0 -0
  225. /package/build/es/__demo__/data/{deep.visualization.json → aggregate/deep.visualization.json} +0 -0
  226. /package/build/es/__demo__/data/{deepWithFilters.data.json → aggregate/deepWithFilters.data.json} +0 -0
  227. /package/build/es/__demo__/data/{deepWithFilters.visualization.json → aggregate/deepWithFilters.visualization.json} +0 -0
  228. /package/build/es/__demo__/data/{degs.data.json → aggregate/degs.data.json} +0 -0
  229. /package/build/es/__demo__/data/{degs.metadata.json → aggregate/degs.metadata.json} +0 -0
  230. /package/build/es/__demo__/data/{degs.visualization.json → aggregate/degs.visualization.json} +0 -0
  231. /package/build/es/__demo__/data/{diseaseWeeks.data.json → aggregate/diseaseWeeks.data.json} +0 -0
  232. /package/build/es/__demo__/data/{diseaseWeeks.metadata.json → aggregate/diseaseWeeks.metadata.json} +0 -0
  233. /package/build/es/__demo__/data/{diseaseWeeks.visualization.json → aggregate/diseaseWeeks.visualization.json} +0 -0
  234. /package/build/es/__demo__/data/{emptyColumns.data.json → aggregate/emptyColumns.data.json} +0 -0
  235. /package/build/es/__demo__/data/{emptyColumns.metadata.json → aggregate/emptyColumns.metadata.json} +0 -0
  236. /package/build/es/__demo__/data/{emptyColumns.visualization.json → aggregate/emptyColumns.visualization.json} +0 -0
  237. /package/build/es/__demo__/data/{emptyRows.data.json → aggregate/emptyRows.data.json} +0 -0
  238. /package/build/es/__demo__/data/{emptyRows.visualization.json → aggregate/emptyRows.visualization.json} +0 -0
  239. /package/build/es/__demo__/data/{hierarchy.data.json → aggregate/hierarchy.data.json} +0 -0
  240. /package/build/es/__demo__/data/{hierarchy.metadata.json → aggregate/hierarchy.metadata.json} +0 -0
  241. /package/build/es/__demo__/data/{hierarchy.visualization.json → aggregate/hierarchy.visualization.json} +0 -0
  242. /package/build/es/__demo__/data/{lastFiveYears.data.json → aggregate/lastFiveYears.data.json} +0 -0
  243. /package/build/es/__demo__/data/{lastFiveYears.metadata.json → aggregate/lastFiveYears.metadata.json} +0 -0
  244. /package/build/es/__demo__/data/{lastFiveYears.visualization.json → aggregate/lastFiveYears.visualization.json} +0 -0
  245. /package/build/es/__demo__/data/{narrative.data.json → aggregate/narrative.data.json} +0 -0
  246. /package/build/es/__demo__/data/{narrative.metadata.json → aggregate/narrative.metadata.json} +0 -0
  247. /package/build/es/__demo__/data/{narrative.visualization.json → aggregate/narrative.visualization.json} +0 -0
  248. /package/build/es/__demo__/data/{simple.data.json → aggregate/simple.data.json} +0 -0
  249. /package/build/es/__demo__/data/{simple.metadata.json → aggregate/simple.metadata.json} +0 -0
  250. /package/build/es/__demo__/data/{simple.visualization.json → aggregate/simple.visualization.json} +0 -0
  251. /package/build/es/__demo__/data/{target-with-legend.data.json → aggregate/target-with-legend.data.json} +0 -0
  252. /package/build/es/__demo__/data/{target-with-legend.metadata.json → aggregate/target-with-legend.metadata.json} +0 -0
  253. /package/build/es/__demo__/data/{target-with-legend.visualization.json → aggregate/target-with-legend.visualization.json} +0 -0
  254. /package/build/es/__demo__/data/{under-above-100.legendSet.json → aggregate/under-above-100.legendSet.json} +0 -0
  255. /package/build/es/__demo__/data/{weeklyColumns.data.json → aggregate/weeklyColumns.data.json} +0 -0
  256. /package/build/es/__demo__/data/{weeklyColumns.metadata.json → aggregate/weeklyColumns.metadata.json} +0 -0
  257. /package/build/es/__demo__/data/{weeklyColumns.visualization.json → aggregate/weeklyColumns.visualization.json} +0 -0
@@ -1,43 +1,50 @@
1
- import { shallow } from 'enzyme';
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import { render } from '@testing-library/react';
2
3
  import React from 'react';
3
4
  import DimensionItem from '../DimensionItem.js';
4
- describe('DimensionItem', () => {
5
- let props;
6
- let shallowItem;
7
- const dimensionItem = () => {
8
- if (!shallowItem) {
9
- shallowItem = shallow(/*#__PURE__*/React.createElement(DimensionItem, props));
10
- }
11
- return shallowItem;
12
- };
13
- beforeEach(() => {
14
- props = {
15
- id: 'pe',
16
- name: 'Period',
17
- isDeactivated: false,
18
- isSelected: false,
19
- isRecommended: false,
20
- isLocked: false
21
- };
22
- shallowItem = undefined;
23
- });
24
- it('matches the snapshot', () => {
25
- expect(dimensionItem()).toMatchSnapshot();
26
- });
27
- it('matches the snapshot with recommended', () => {
28
- props.isRecommended = true;
29
- expect(dimensionItem()).toMatchSnapshot();
30
- });
31
- it('matches the snapshot with selected', () => {
32
- props.isSelected = true;
33
- expect(dimensionItem()).toMatchSnapshot();
34
- });
35
- it('matches the snapshot with locked', () => {
36
- props.isLocked = true;
37
- expect(dimensionItem()).toMatchSnapshot();
38
- });
39
- it('matches the snapshot with onOptionsClick', () => {
40
- props.onOptionsClick = jest.fn();
41
- expect(dimensionItem()).toMatchSnapshot();
42
- });
5
+ const props = {
6
+ id: 'pe',
7
+ name: 'Period',
8
+ isDeactivated: false,
9
+ isSelected: false,
10
+ isRecommended: false,
11
+ isLocked: false
12
+ };
13
+ test('DimensionItem matches the snapshot', () => {
14
+ const {
15
+ container
16
+ } = render(/*#__PURE__*/React.createElement(DimensionItem, props));
17
+ expect(container).toMatchSnapshot();
18
+ });
19
+ test('DimensionItem matches the snapshot with recommended', () => {
20
+ const {
21
+ container
22
+ } = render(/*#__PURE__*/React.createElement(DimensionItem, _extends({}, props, {
23
+ isRecommended: true
24
+ })));
25
+ expect(container).toMatchSnapshot();
26
+ });
27
+ test('DimensionItem matches the snapshot with selected', () => {
28
+ const {
29
+ container
30
+ } = render(/*#__PURE__*/React.createElement(DimensionItem, _extends({}, props, {
31
+ isSelected: true
32
+ })));
33
+ expect(container).toMatchSnapshot();
34
+ });
35
+ test('DimensionItem matches the snapshot with locked', () => {
36
+ const {
37
+ container
38
+ } = render(/*#__PURE__*/React.createElement(DimensionItem, _extends({}, props, {
39
+ isLocked: true
40
+ })));
41
+ expect(container).toMatchSnapshot();
42
+ });
43
+ test('DimensionItem matches the snapshot with onOptionsClick', () => {
44
+ const {
45
+ container
46
+ } = render(/*#__PURE__*/React.createElement(DimensionItem, _extends({}, props, {
47
+ onOptionsClick: jest.fn()
48
+ })));
49
+ expect(container).toMatchSnapshot();
43
50
  });
@@ -1,35 +1,36 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`DimensionItem matches the snapshot 1`] = `
4
- <Fragment>
5
- <CssVariables
6
- colors={true}
7
- />
4
+ <div>
8
5
  <li
9
- className="item"
6
+ class="item"
10
7
  name="Period"
11
- onClick={[Function]}
12
- onMouseLeave={[Function]}
13
- onMouseOver={[Function]}
14
- style={Object {}}
15
8
  >
16
9
  <div
17
- className="label"
10
+ class="label"
18
11
  data-test="undefined-button-pe"
19
- tabIndex={0}
12
+ tabindex="0"
20
13
  >
21
14
  <div
22
- className="iconWrapper"
15
+ class="iconWrapper"
23
16
  >
24
- <SvgClock16
25
- className="fixedDimensionIcon"
26
- />
17
+ <svg
18
+ height="16"
19
+ viewBox="0 0 16 16"
20
+ width="16"
21
+ xmlns="http://www.w3.org/2000/svg"
22
+ >
23
+ <path
24
+ d="M8 1a7 7 0 110 14A7 7 0 018 1zm0 1a6 6 0 100 12A6 6 0 008 2zm.5 1.5v4.293l2.854 2.853-.708.708L7.5 8.207V3.5z"
25
+ fill="currentColor"
26
+ />
27
+ </svg>
27
28
  </div>
28
29
  <div
29
- className="labelWrapper"
30
+ class="labelWrapper"
30
31
  >
31
32
  <span
32
- className="labelText"
33
+ class="labelText"
33
34
  >
34
35
  <span
35
36
  data-dimensionid="pe"
@@ -37,47 +38,44 @@ exports[`DimensionItem matches the snapshot 1`] = `
37
38
  Period
38
39
  </span>
39
40
  </span>
40
- <RecommendedIcon
41
- dataTest="undefined-recommended-icon"
42
- isRecommended={false}
43
- />
44
41
  </div>
45
42
  </div>
46
43
  </li>
47
44
  <style />
48
- </Fragment>
45
+ </div>
49
46
  `;
50
47
 
51
48
  exports[`DimensionItem matches the snapshot with locked 1`] = `
52
- <Fragment>
53
- <CssVariables
54
- colors={true}
55
- />
49
+ <div>
56
50
  <li
57
- className="item"
51
+ class="item"
58
52
  name="Period"
59
- onClick={[Function]}
60
- onMouseLeave={[Function]}
61
- onMouseOver={[Function]}
62
- style={Object {}}
63
53
  >
64
54
  <div
65
- className="label"
55
+ class="label"
66
56
  data-test="undefined-button-pe"
67
- tabIndex={0}
57
+ tabindex="0"
68
58
  >
69
59
  <div
70
- className="iconWrapper"
60
+ class="iconWrapper"
71
61
  >
72
- <SvgClock16
73
- className="fixedDimensionIcon"
74
- />
62
+ <svg
63
+ height="16"
64
+ viewBox="0 0 16 16"
65
+ width="16"
66
+ xmlns="http://www.w3.org/2000/svg"
67
+ >
68
+ <path
69
+ d="M8 1a7 7 0 110 14A7 7 0 018 1zm0 1a6 6 0 100 12A6 6 0 008 2zm.5 1.5v4.293l2.854 2.853-.708.708L7.5 8.207V3.5z"
70
+ fill="currentColor"
71
+ />
72
+ </svg>
75
73
  </div>
76
74
  <div
77
- className="labelWrapper"
75
+ class="labelWrapper"
78
76
  >
79
77
  <span
80
- className="labelText"
78
+ class="labelText"
81
79
  >
82
80
  <span
83
81
  data-dimensionid="pe"
@@ -85,14 +83,10 @@ exports[`DimensionItem matches the snapshot with locked 1`] = `
85
83
  Period
86
84
  </span>
87
85
  </span>
88
- <RecommendedIcon
89
- dataTest="undefined-recommended-icon"
90
- isRecommended={false}
91
- />
92
86
  </div>
93
87
  </div>
94
88
  <div
95
- className="lockWrapper"
89
+ class="lockWrapper"
96
90
  >
97
91
  <svg
98
92
  fill="none"
@@ -101,49 +95,50 @@ exports[`DimensionItem matches the snapshot with locked 1`] = `
101
95
  xmlns="http://www.w3.org/2000/svg"
102
96
  >
103
97
  <path
104
- clipRule="evenodd"
98
+ clip-rule="evenodd"
105
99
  d="M3.5 1A1.5 1.5 0 0 0 2 2.5V3h3v-.5A1.5 1.5 0 0 0 3.5 1ZM1 2.5V3H0v6h7V3H6v-.5a2.5 2.5 0 0 0-5 0ZM1 8V4h5v4H1Zm3-1V5H3v2h1Z"
106
100
  fill="none"
107
- fillRule="evenodd"
101
+ fill-rule="evenodd"
108
102
  />
109
103
  </svg>
110
104
  </div>
111
105
  <style />
112
106
  </li>
113
107
  <style />
114
- </Fragment>
108
+ </div>
115
109
  `;
116
110
 
117
111
  exports[`DimensionItem matches the snapshot with onOptionsClick 1`] = `
118
- <Fragment>
119
- <CssVariables
120
- colors={true}
121
- />
112
+ <div>
122
113
  <li
123
- className="item"
114
+ class="item"
124
115
  name="Period"
125
- onClick={[Function]}
126
- onMouseLeave={[Function]}
127
- onMouseOver={[Function]}
128
- style={Object {}}
129
116
  >
130
117
  <div
131
- className="label"
118
+ class="label"
132
119
  data-test="undefined-button-pe"
133
- tabIndex={0}
120
+ tabindex="0"
134
121
  >
135
122
  <div
136
- className="iconWrapper"
123
+ class="iconWrapper"
137
124
  >
138
- <SvgClock16
139
- className="fixedDimensionIcon"
140
- />
125
+ <svg
126
+ height="16"
127
+ viewBox="0 0 16 16"
128
+ width="16"
129
+ xmlns="http://www.w3.org/2000/svg"
130
+ >
131
+ <path
132
+ d="M8 1a7 7 0 110 14A7 7 0 018 1zm0 1a6 6 0 100 12A6 6 0 008 2zm.5 1.5v4.293l2.854 2.853-.708.708L7.5 8.207V3.5z"
133
+ fill="currentColor"
134
+ />
135
+ </svg>
141
136
  </div>
142
137
  <div
143
- className="labelWrapper"
138
+ class="labelWrapper"
144
139
  >
145
140
  <span
146
- className="labelText"
141
+ class="labelText"
147
142
  >
148
143
  <span
149
144
  data-dimensionid="pe"
@@ -151,51 +146,48 @@ exports[`DimensionItem matches the snapshot with onOptionsClick 1`] = `
151
146
  Period
152
147
  </span>
153
148
  </span>
154
- <RecommendedIcon
155
- dataTest="undefined-recommended-icon"
156
- isRecommended={false}
157
- />
158
149
  </div>
159
150
  </div>
160
151
  <div
161
- className="optionsWrapper"
152
+ class="optionsWrapper"
162
153
  data-test="undefined-menu-pe"
163
154
  />
164
155
  </li>
165
156
  <style />
166
- </Fragment>
157
+ </div>
167
158
  `;
168
159
 
169
160
  exports[`DimensionItem matches the snapshot with recommended 1`] = `
170
- <Fragment>
171
- <CssVariables
172
- colors={true}
173
- />
161
+ <div>
174
162
  <li
175
- className="item"
163
+ class="item"
176
164
  name="Period"
177
- onClick={[Function]}
178
- onMouseLeave={[Function]}
179
- onMouseOver={[Function]}
180
- style={Object {}}
181
165
  >
182
166
  <div
183
- className="label"
167
+ class="label"
184
168
  data-test="undefined-button-pe"
185
- tabIndex={0}
169
+ tabindex="0"
186
170
  >
187
171
  <div
188
- className="iconWrapper"
172
+ class="iconWrapper"
189
173
  >
190
- <SvgClock16
191
- className="fixedDimensionIcon"
192
- />
174
+ <svg
175
+ height="16"
176
+ viewBox="0 0 16 16"
177
+ width="16"
178
+ xmlns="http://www.w3.org/2000/svg"
179
+ >
180
+ <path
181
+ d="M8 1a7 7 0 110 14A7 7 0 018 1zm0 1a6 6 0 100 12A6 6 0 008 2zm.5 1.5v4.293l2.854 2.853-.708.708L7.5 8.207V3.5z"
182
+ fill="currentColor"
183
+ />
184
+ </svg>
193
185
  </div>
194
186
  <div
195
- className="labelWrapper"
187
+ class="labelWrapper"
196
188
  >
197
189
  <span
198
- className="labelText"
190
+ class="labelText"
199
191
  >
200
192
  <span
201
193
  data-dimensionid="pe"
@@ -203,47 +195,55 @@ exports[`DimensionItem matches the snapshot with recommended 1`] = `
203
195
  Period
204
196
  </span>
205
197
  </span>
206
- <RecommendedIcon
207
- dataTest="undefined-recommended-icon"
208
- isRecommended={true}
209
- />
198
+ <span
199
+ aria-describedby=""
200
+ class="jsx-237564060"
201
+ data-test="dhis2-uicore-tooltip-reference"
202
+ tabindex="0"
203
+ >
204
+ <div
205
+ data-test="undefined-recommended-icon"
206
+ style="background-color: rgb(0, 150, 136); height: 6px; width: 6px; border-radius: 4px; margin-left: 6px; display: inline-block; cursor: pointer;"
207
+ />
208
+ </span>
210
209
  </div>
211
210
  </div>
212
211
  </li>
213
212
  <style />
214
- </Fragment>
213
+ </div>
215
214
  `;
216
215
 
217
216
  exports[`DimensionItem matches the snapshot with selected 1`] = `
218
- <Fragment>
219
- <CssVariables
220
- colors={true}
221
- />
217
+ <div>
222
218
  <li
223
- className="item selected"
219
+ class="item selected"
224
220
  name="Period"
225
- onClick={[Function]}
226
- onMouseLeave={[Function]}
227
- onMouseOver={[Function]}
228
- style={Object {}}
229
221
  >
230
222
  <div
231
- className="label"
223
+ class="label"
232
224
  data-test="undefined-button-pe"
233
- tabIndex={0}
225
+ tabindex="0"
234
226
  >
235
227
  <div
236
- className="iconWrapper"
228
+ class="iconWrapper"
237
229
  >
238
- <SvgClock16
239
- className="fixedDimensionIcon"
240
- />
230
+ <svg
231
+ height="16"
232
+ viewBox="0 0 16 16"
233
+ width="16"
234
+ xmlns="http://www.w3.org/2000/svg"
235
+ >
236
+ <path
237
+ d="M8 1a7 7 0 110 14A7 7 0 018 1zm0 1a6 6 0 100 12A6 6 0 008 2zm.5 1.5v4.293l2.854 2.853-.708.708L7.5 8.207V3.5z"
238
+ fill="currentColor"
239
+ />
240
+ </svg>
241
241
  </div>
242
242
  <div
243
- className="labelWrapper"
243
+ class="labelWrapper"
244
244
  >
245
245
  <span
246
- className="labelText"
246
+ class="labelText"
247
247
  >
248
248
  <span
249
249
  data-dimensionid="pe"
@@ -251,13 +251,9 @@ exports[`DimensionItem matches the snapshot with selected 1`] = `
251
251
  Period
252
252
  </span>
253
253
  </span>
254
- <RecommendedIcon
255
- dataTest="undefined-recommended-icon"
256
- isRecommended={false}
257
- />
258
254
  </div>
259
255
  </div>
260
256
  </li>
261
257
  <style />
262
- </Fragment>
258
+ </div>
263
259
  `;
@@ -1,35 +1,38 @@
1
- import { shallow } from 'enzyme';
1
+ import { render, screen } from '@testing-library/react';
2
+ import userEvent from '@testing-library/user-event';
2
3
  import React from 'react';
3
4
  import DimensionsPanel from '../DimensionsPanel.js';
4
- import DimensionList from '../List/DimensionList.js';
5
- describe('The Dimensions component ', () => {
6
- let shallowDimensions;
7
- let props;
8
- const dimensionsComponent = () => {
9
- if (!shallowDimensions) {
10
- shallowDimensions = shallow(/*#__PURE__*/React.createElement(DimensionsPanel, props));
11
- }
12
- return shallowDimensions;
13
- };
14
- beforeEach(() => {
15
- shallowDimensions = undefined;
16
- props = {
17
- dimensions: []
18
- };
19
- });
20
- it('renders a div', () => {
21
- expect(dimensionsComponent().find('div').length).toEqual(1);
22
- });
23
- it('renders a div containing everything else', () => {
24
- const wrappingDiv = dimensionsComponent().find('div').first();
25
- expect(wrappingDiv.children()).toEqual(dimensionsComponent().children());
26
- });
27
- it('renders a DimensionList with the correct prop', () => {
28
- const dimensionsComp = dimensionsComponent();
29
- dimensionsComp.setState({
30
- filterText: 'filteredText'
31
- });
32
- const filteredList = dimensionsComp.find(DimensionList).first();
33
- expect(filteredList.props().filterText).toEqual(dimensionsComp.state().filterText);
34
- });
5
+ const props = {
6
+ dimensions: [{
7
+ id: 'id1',
8
+ name: 'Dimension 1'
9
+ }, {
10
+ id: 'id2',
11
+ name: 'Dimension 2'
12
+ }]
13
+ };
14
+ test('DimensionsPanel renders a DimensionList component', () => {
15
+ render(/*#__PURE__*/React.createElement(DimensionsPanel, props));
16
+ const dimensionListComponent = screen.getByTestId('dhis2-analytics-dimension-list');
17
+ expect(dimensionListComponent).toBeInTheDocument();
18
+ const liElements = screen.getAllByTestId('dimension-item');
19
+ expect(liElements).toHaveLength(2);
20
+ const dim1Element = screen.getByText(props.dimensions[0].name);
21
+ expect(dim1Element).toBeInTheDocument();
22
+ const dim2Element = screen.getByText(props.dimensions[1].name);
23
+ expect(dim2Element).toBeInTheDocument();
24
+ });
25
+ test('DimensionsPanel can filter the dimension list', async () => {
26
+ const user = userEvent.setup();
27
+ render(/*#__PURE__*/React.createElement(DimensionsPanel, props));
28
+ const filterComponent = screen.getByPlaceholderText('Filter dimensions');
29
+ expect(filterComponent).toBeInTheDocument();
30
+ await user.click(filterComponent);
31
+ await user.keyboard('1');
32
+ const liElements = screen.getAllByTestId('dimension-item');
33
+ expect(liElements).toHaveLength(1);
34
+ const dim1Element = screen.getByText(props.dimensions[0].name);
35
+ expect(dim1Element).toBeInTheDocument();
36
+ const dim2Element = screen.queryByText(props.dimensions[1].name);
37
+ expect(dim2Element).not.toBeInTheDocument();
35
38
  });
@@ -1,33 +1,30 @@
1
- import { Button, Modal, ModalTitle } from '@dhis2/ui';
2
- import { shallow } from 'enzyme';
1
+ import { render, screen } from '@testing-library/react';
2
+ import userEvent from '@testing-library/user-event';
3
3
  import React from 'react';
4
4
  import { DeleteDialog } from '../DeleteDialog.js';
5
- describe('The FileMenu - DeleteDialog component', () => {
6
- let shallowDeleteDialog;
7
- let props;
8
- const onClose = jest.fn();
9
- const getDeleteDialogComponent = props => {
10
- if (!shallowDeleteDialog) {
11
- shallowDeleteDialog = shallow(/*#__PURE__*/React.createElement(DeleteDialog, props));
12
- }
13
- return shallowDeleteDialog;
5
+ describe('FileMenu - DeleteDialog component', () => {
6
+ const props = {
7
+ type: 'visualization',
8
+ id: 'delete-test',
9
+ onClose: jest.fn()
14
10
  };
15
- beforeEach(() => {
16
- shallowDeleteDialog = undefined;
17
- props = {
18
- type: 'visualization',
19
- id: 'delete-test',
20
- onClose
21
- };
11
+ test('renders a Modal component', () => {
12
+ render(/*#__PURE__*/React.createElement(DeleteDialog, props));
13
+ const modalComponent = screen.getByTestId('file-menu-delete-modal');
14
+ expect(modalComponent).toBeInTheDocument();
22
15
  });
23
- it('renders a Modal component', () => {
24
- expect(getDeleteDialogComponent(props).find(Modal)).toHaveLength(1);
16
+ test('renders a ModalTitle containing the type prop', () => {
17
+ render(/*#__PURE__*/React.createElement(DeleteDialog, props));
18
+ const modalTitleComponent = screen.getByText(`Delete ${props.type}`);
19
+ expect(modalTitleComponent).toBeInTheDocument();
25
20
  });
26
- it('renders a ModalTitle containing the type prop', () => {
27
- expect(getDeleteDialogComponent(props).find(ModalTitle).childAt(0).text()).toEqual(`Delete ${props.type}`);
28
- });
29
- it('calls the onClose callback when the Cancel button is clicked', () => {
30
- getDeleteDialogComponent(props).find(Button).first().simulate('click');
31
- expect(onClose).toHaveBeenCalled();
21
+ test('calls the onClose callback when the Cancel button is clicked', async () => {
22
+ const user = userEvent.setup();
23
+ render(/*#__PURE__*/React.createElement(DeleteDialog, props));
24
+ const cancelButton = screen.getByRole('button', {
25
+ name: 'Cancel'
26
+ });
27
+ await user.click(cancelButton);
28
+ expect(props.onClose).toHaveBeenCalledTimes(1);
32
29
  });
33
30
  });