@dhis2/analytics 28.0.3 → 28.0.5

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 (496) hide show
  1. package/build/cjs/__demo__/DataDimension.stories.js +1 -2
  2. package/build/cjs/__demo__/Filter.stories.js +1 -2
  3. package/build/cjs/__demo__/FixedPeriodSelect.stories.js +1 -2
  4. package/build/cjs/__demo__/OpenFileDialog.stories.js +19 -1
  5. package/build/cjs/__demo__/OrgUnitDimension.stories.js +1 -2
  6. package/build/cjs/__demo__/PivotTable.stories.js +166 -224
  7. package/build/cjs/__demo__/ScatterPlotPdfExport.stories.js +1 -2
  8. package/build/cjs/__demo__/SingleValue.stories.js +1 -2
  9. package/build/cjs/__demo__/Toolbar.stories.js +1 -2
  10. package/build/cjs/api/__tests__/dimensions.spec.js +1 -2
  11. package/build/cjs/api/analytics/Analytics.js +8 -9
  12. package/build/cjs/api/analytics/AnalyticsBase.js +58 -77
  13. package/build/cjs/api/analytics/AnalyticsRequest.js +1 -2
  14. package/build/cjs/api/analytics/AnalyticsRequestBase.js +18 -21
  15. package/build/cjs/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -38
  16. package/build/cjs/api/analytics/AnalyticsResponseHeader.js +5 -7
  17. package/build/cjs/api/analytics/__tests__/AnalyticsBase.spec.js +9 -12
  18. package/build/cjs/api/analytics/__tests__/AnalyticsRequest.spec.js +8 -2
  19. package/build/cjs/api/analytics/utils.js +11 -17
  20. package/build/cjs/api/dimensions.js +119 -148
  21. package/build/cjs/api/expression.js +39 -60
  22. package/build/cjs/api/organisationUnits.js +23 -35
  23. package/build/cjs/components/AboutAOUnit/AboutAOUnit.js +12 -20
  24. package/build/cjs/components/CachedDataQueryProvider.js +7 -9
  25. package/build/cjs/components/DashboardPluginWrapper/DashboardPluginWrapper.js +18 -22
  26. package/build/cjs/components/DataDimension/Calculation/CalculationModal.js +44 -61
  27. package/build/cjs/components/DataDimension/Calculation/DataElementOption.js +5 -6
  28. package/build/cjs/components/DataDimension/Calculation/DataElementSelector.js +29 -38
  29. package/build/cjs/components/DataDimension/Calculation/DndContext.js +29 -37
  30. package/build/cjs/components/DataDimension/Calculation/DraggingItem.js +5 -6
  31. package/build/cjs/components/DataDimension/Calculation/DropZone.js +4 -5
  32. package/build/cjs/components/DataDimension/Calculation/FormulaField.js +29 -32
  33. package/build/cjs/components/DataDimension/Calculation/FormulaItem.js +14 -16
  34. package/build/cjs/components/DataDimension/Calculation/MathOperatorSelector.js +23 -29
  35. package/build/cjs/components/DataDimension/Calculation/Operator.js +6 -7
  36. package/build/cjs/components/DataDimension/DataDimension.js +20 -32
  37. package/build/cjs/components/DataDimension/Info/CalculationInfo.js +14 -22
  38. package/build/cjs/components/DataDimension/Info/DataElementInfo.js +23 -36
  39. package/build/cjs/components/DataDimension/Info/DataElementOperandInfo.js +30 -44
  40. package/build/cjs/components/DataDimension/Info/DataSetInfo.js +26 -39
  41. package/build/cjs/components/DataDimension/Info/EventDataItemInfo.js +21 -34
  42. package/build/cjs/components/DataDimension/Info/IndicatorInfo.js +21 -32
  43. package/build/cjs/components/DataDimension/Info/InfoPopover.js +6 -7
  44. package/build/cjs/components/DataDimension/Info/InfoTable.js +39 -52
  45. package/build/cjs/components/DataDimension/Info/OptionInfo.js +13 -20
  46. package/build/cjs/components/DataDimension/Info/ProgramIndicatorInfo.js +46 -58
  47. package/build/cjs/components/DataDimension/ItemOptionsSelector/ItemOptionsSelector.js +22 -32
  48. package/build/cjs/components/DataDimension/ItemSelector/DataTypeSelector.js +6 -7
  49. package/build/cjs/components/DataDimension/ItemSelector/DetailSelector.js +5 -6
  50. package/build/cjs/components/DataDimension/ItemSelector/GroupSelector.js +10 -12
  51. package/build/cjs/components/DataDimension/ItemSelector/ItemSelector.js +86 -104
  52. package/build/cjs/components/DataDimension/ItemSelector/MetricSelector.js +5 -6
  53. package/build/cjs/components/DataDimension/SourceEmptyPlaceholder.js +10 -13
  54. package/build/cjs/components/DataDimension/TransferOption.js +35 -39
  55. package/build/cjs/components/DimensionMenu.js +13 -14
  56. package/build/cjs/components/DimensionsPanel/DimensionsPanel.js +8 -9
  57. package/build/cjs/components/DimensionsPanel/List/DimensionItem.js +12 -13
  58. package/build/cjs/components/DimensionsPanel/List/DimensionList.js +12 -11
  59. package/build/cjs/components/DimensionsPanel/List/OptionsButton.js +8 -11
  60. package/build/cjs/components/DimensionsPanel/List/RecommendedIcon.js +10 -13
  61. package/build/cjs/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +48 -41
  62. package/build/cjs/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +110 -114
  63. package/build/cjs/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +36 -33
  64. package/build/cjs/components/DynamicDimension/DynamicDimension.js +9 -13
  65. package/build/cjs/components/DynamicDimension/ItemSelector.js +25 -38
  66. package/build/cjs/components/FileMenu/DeleteDialog.js +11 -16
  67. package/build/cjs/components/FileMenu/FileMenu.js +19 -30
  68. package/build/cjs/components/FileMenu/GetLinkDialog.js +7 -7
  69. package/build/cjs/components/FileMenu/RenameDialog.js +13 -21
  70. package/build/cjs/components/FileMenu/SaveAsDialog.js +13 -21
  71. package/build/cjs/components/FileMenu/__tests__/DeleteDialog.spec.js +24 -27
  72. package/build/cjs/components/FileMenu/__tests__/FileMenu.spec.js +55 -31
  73. package/build/cjs/components/FileMenu/__tests__/GetLinkDialog.spec.js +35 -39
  74. package/build/cjs/components/FileMenu/__tests__/RenameDialog.spec.js +17 -11
  75. package/build/cjs/components/FileMenu/__tests__/SaveAsDialog.spec.js +44 -37
  76. package/build/cjs/components/FileMenu/utils.js +10 -12
  77. package/build/cjs/components/Filter/Filter.js +21 -27
  78. package/build/cjs/components/Filter/__tests__/Filter.spec.js +29 -34
  79. package/build/cjs/components/Interpretations/InterpretationModal/Comment.js +8 -10
  80. package/build/cjs/components/Interpretations/InterpretationModal/CommentAddForm.js +10 -15
  81. package/build/cjs/components/Interpretations/InterpretationModal/CommentDeleteButton.js +10 -15
  82. package/build/cjs/components/Interpretations/InterpretationModal/CommentUpdateForm.js +12 -17
  83. package/build/cjs/components/Interpretations/InterpretationModal/InterpretationModal.js +19 -25
  84. package/build/cjs/components/Interpretations/InterpretationModal/InterpretationThread.js +12 -14
  85. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationForm.js +12 -17
  86. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationList.js +10 -11
  87. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +23 -33
  88. package/build/cjs/components/Interpretations/common/Interpretation/Interpretation.js +13 -15
  89. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +7 -11
  90. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +5 -7
  91. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +15 -23
  92. package/build/cjs/components/Interpretations/common/Interpretation/useLike.js +5 -6
  93. package/build/cjs/components/Interpretations/common/Message/Message.js +6 -7
  94. package/build/cjs/components/Interpretations/common/Message/MessageButtonStrip.js +8 -11
  95. package/build/cjs/components/Interpretations/common/Message/MessageEditorContainer.js +18 -21
  96. package/build/cjs/components/Interpretations/common/Message/MessageIconButton.js +34 -40
  97. package/build/cjs/components/Interpretations/common/Message/MessageInput.js +1 -2
  98. package/build/cjs/components/Interpretations/common/Message/MessageStatsBar.js +8 -11
  99. package/build/cjs/components/LegendKey/LegendKey.js +3 -4
  100. package/build/cjs/components/OfflineTooltip.js +18 -26
  101. package/build/cjs/components/OpenFileDialog/CreatedByFilter.js +28 -26
  102. package/build/cjs/components/OpenFileDialog/CustomSelectOption.js +23 -26
  103. package/build/cjs/components/OpenFileDialog/DateField.js +3 -4
  104. package/build/cjs/components/OpenFileDialog/FileList.js +19 -22
  105. package/build/cjs/components/OpenFileDialog/NameFilter.js +15 -21
  106. package/build/cjs/components/OpenFileDialog/OpenFileDialog.js +50 -79
  107. package/build/cjs/components/OpenFileDialog/PaginationControls.js +22 -28
  108. package/build/cjs/components/OpenFileDialog/VisTypeFilter.js +65 -36
  109. package/build/cjs/components/OpenFileDialog/__tests__/OpenFileDialog.spec.js +51 -0
  110. package/build/cjs/components/Options/VisualizationOptions.js +35 -46
  111. package/build/cjs/components/OrgUnitDimension/OrgUnitDimension.js +38 -60
  112. package/build/cjs/components/OrgUnitDimension/__tests__/OrgUnitDimension.spec.js +78 -44
  113. package/build/cjs/components/PeriodDimension/FixedPeriodFilter.js +17 -25
  114. package/build/cjs/components/PeriodDimension/FixedPeriodSelect.js +15 -21
  115. package/build/cjs/components/PeriodDimension/PeriodDimension.js +9 -12
  116. package/build/cjs/components/PeriodDimension/PeriodTransfer.js +49 -63
  117. package/build/cjs/components/PeriodDimension/RelativePeriodFilter.js +25 -30
  118. package/build/cjs/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +14 -21
  119. package/build/cjs/components/PeriodDimension/__tests__/PeriodDimension.spec.js +27 -23
  120. package/build/cjs/components/PeriodDimension/utils/fixedPeriods.js +6 -7
  121. package/build/cjs/components/PeriodDimension/utils/index.js +1 -5
  122. package/build/cjs/components/PivotTable/PivotTable.js +8 -10
  123. package/build/cjs/components/PivotTable/PivotTableBody.js +20 -29
  124. package/build/cjs/components/PivotTable/PivotTableCell.js +8 -12
  125. package/build/cjs/components/PivotTable/PivotTableClippedAxis.js +14 -17
  126. package/build/cjs/components/PivotTable/PivotTableColumnHeaderCell.js +7 -8
  127. package/build/cjs/components/PivotTable/PivotTableColumnHeaders.js +22 -29
  128. package/build/cjs/components/PivotTable/PivotTableContainer.js +5 -6
  129. package/build/cjs/components/PivotTable/PivotTableDimensionLabelCell.js +4 -5
  130. package/build/cjs/components/PivotTable/PivotTableEmptyCell.js +3 -4
  131. package/build/cjs/components/PivotTable/PivotTableEmptyRow.js +4 -5
  132. package/build/cjs/components/PivotTable/PivotTableEngineContext.js +5 -7
  133. package/build/cjs/components/PivotTable/PivotTableHead.js +13 -16
  134. package/build/cjs/components/PivotTable/PivotTableHeaderCell.js +8 -9
  135. package/build/cjs/components/PivotTable/PivotTableRow.js +20 -27
  136. package/build/cjs/components/PivotTable/PivotTableRowHeaderCell.js +5 -6
  137. package/build/cjs/components/PivotTable/PivotTableSortIcon.js +4 -5
  138. package/build/cjs/components/PivotTable/PivotTableTitleRow.js +19 -24
  139. package/build/cjs/components/PivotTable/PivotTableTitleRows.js +4 -5
  140. package/build/cjs/components/PivotTable/PivotTableValueCell.js +6 -8
  141. package/build/cjs/components/RichText/Editor/Editor.js +70 -85
  142. package/build/cjs/components/RichText/Editor/__tests__/Editor.spec.js +6 -7
  143. package/build/cjs/components/RichText/Parser/Parser.js +5 -10
  144. package/build/cjs/components/RichText/Parser/__tests__/MdParser.spec.js +1 -1
  145. package/build/cjs/components/RichText/Parser/__tests__/Parser.spec.js +22 -23
  146. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuBar.js +20 -24
  147. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +8 -13
  148. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuList.js +9 -17
  149. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +11 -16
  150. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +56 -47
  151. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +8 -8
  152. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +30 -23
  153. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +23 -17
  154. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/__snapshots__/HoverMenuList.spec.js.snap +63 -0
  155. package/build/cjs/components/Toolbar/InterpretationsAndDetailsToggler.js +17 -21
  156. package/build/cjs/components/Toolbar/Toolbar.js +10 -16
  157. package/build/cjs/components/Toolbar/ToolbarSidebar.js +12 -18
  158. package/build/cjs/components/Toolbar/UpdateButton.js +18 -24
  159. package/build/cjs/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +19 -18
  160. package/build/cjs/components/Toolbar/__tests__/Toolbar.spec.js +8 -8
  161. package/build/cjs/components/Toolbar/__tests__/ToolbarSidebar.spec.js +14 -11
  162. package/build/cjs/components/Toolbar/__tests__/UpdateButton.spec.js +16 -14
  163. package/build/cjs/components/TransferOption.js +14 -15
  164. package/build/cjs/components/TranslationDialog/TranslationModal/LocalesSelect.js +19 -27
  165. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationForm.js +17 -25
  166. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModal.js +9 -10
  167. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModalActions.js +18 -27
  168. package/build/cjs/components/TranslationDialog/TranslationModal/__tests__/TranslationModal.spec.js +25 -16
  169. package/build/cjs/components/TranslationDialog/TranslationModal/useTranslationsResults.js +3 -4
  170. package/build/cjs/components/UserMention/UserList.js +6 -7
  171. package/build/cjs/components/UserMention/UserMentionWrapper.js +13 -20
  172. package/build/cjs/components/UserMention/useUserSearchResults.js +12 -16
  173. package/build/cjs/components/VisTypeIcon.js +5 -6
  174. package/build/cjs/index.js +38 -39
  175. package/build/cjs/locales/ar_IQ/translations.json +20 -11
  176. package/build/cjs/locales/cs/translations.json +2 -0
  177. package/build/cjs/locales/en/translations.json +1 -0
  178. package/build/cjs/locales/es/translations.json +2 -0
  179. package/build/cjs/locales/fr/translations.json +2 -0
  180. package/build/cjs/locales/id/translations.json +20 -11
  181. package/build/cjs/locales/index.js +62 -62
  182. package/build/cjs/locales/lo/translations.json +2 -0
  183. package/build/cjs/locales/nb/translations.json +2 -0
  184. package/build/cjs/locales/prs/translations.json +2 -0
  185. package/build/cjs/locales/ps/translations.json +2 -0
  186. package/build/cjs/locales/pt/translations.json +2 -0
  187. package/build/cjs/locales/pt_BR/translations.json +2 -0
  188. package/build/cjs/locales/ru/translations.json +2 -0
  189. package/build/cjs/locales/si/translations.json +20 -11
  190. package/build/cjs/locales/sv/translations.json +20 -11
  191. package/build/cjs/locales/tet/translations.json +20 -11
  192. package/build/cjs/locales/tg/translations.json +2 -0
  193. package/build/cjs/locales/uk/translations.json +2 -0
  194. package/build/cjs/locales/ur/translations.json +2 -0
  195. package/build/cjs/locales/uz_UZ_Cyrl/translations.json +2 -0
  196. package/build/cjs/locales/uz_UZ_Latn/translations.json +4 -2
  197. package/build/cjs/locales/vi/translations.json +2 -0
  198. package/build/cjs/locales/zh/translations.json +2 -0
  199. package/build/cjs/locales/zh_CN/translations.json +17 -15
  200. package/build/cjs/modules/__tests__/expressions.spec.js +4 -5
  201. package/build/cjs/modules/__tests__/isNumeric.spec.js +33 -0
  202. package/build/cjs/modules/dimensionListItem.js +4 -5
  203. package/build/cjs/modules/expressions.js +3 -9
  204. package/build/cjs/modules/getPWAInstallationStatus.js +7 -9
  205. package/build/cjs/modules/layout/dimensionCreate.js +1 -3
  206. package/build/cjs/modules/layout/dimensionIsValid.js +3 -4
  207. package/build/cjs/modules/legends.js +5 -6
  208. package/build/cjs/modules/outliers/index.js +5 -6
  209. package/build/cjs/modules/outliers/iqr.js +4 -6
  210. package/build/cjs/modules/outliers/modZScore.js +6 -14
  211. package/build/cjs/modules/outliers/zScore.js +3 -4
  212. package/build/cjs/modules/pivotTable/AdaptiveClippingController.js +12 -16
  213. package/build/cjs/modules/pivotTable/PivotTableEngine.js +48 -59
  214. package/build/cjs/modules/pivotTable/clipAxis.js +7 -8
  215. package/build/cjs/modules/pivotTable/clipPartitionedAxis.js +9 -10
  216. package/build/cjs/modules/pivotTable/getHeaderForDisplay.js +8 -9
  217. package/build/cjs/modules/pivotTable/measureText.js +7 -9
  218. package/build/cjs/modules/pivotTable/useParentSize.js +1 -2
  219. package/build/cjs/modules/pivotTable/useScrollPosition.js +1 -2
  220. package/build/cjs/modules/pivotTable/useTableClipping.js +6 -7
  221. package/build/cjs/modules/relativeItems/index.js +1 -4
  222. package/build/cjs/modules/renderValue.js +1 -2
  223. package/build/cjs/modules/utils.js +11 -2
  224. package/build/cjs/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +3 -8
  225. package/build/cjs/visualizations/config/adapters/dhis_highcharts/axis.js +7 -10
  226. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customAxes.js +2 -5
  227. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/index.js +7 -8
  228. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueBackgroundColor.js +1 -2
  229. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/index.js +6 -7
  230. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getFormatter.js +2 -3
  231. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getSteps.js +2 -3
  232. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +3 -4
  233. package/build/cjs/visualizations/config/adapters/dhis_highcharts/index.js +8 -10
  234. package/build/cjs/visualizations/config/adapters/dhis_highcharts/legend.js +6 -7
  235. package/build/cjs/visualizations/config/adapters/dhis_highcharts/legendSet.js +22 -26
  236. package/build/cjs/visualizations/config/adapters/dhis_highcharts/plotOptions.js +8 -9
  237. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/index.js +18 -20
  238. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/pie.js +1 -4
  239. package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +1 -2
  240. package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +1 -3
  241. package/build/cjs/visualizations/config/index.js +11 -12
  242. package/build/cjs/visualizations/config/validators/dhis/index.js +3 -4
  243. package/build/cjs/visualizations/index.js +1 -4
  244. package/build/cjs/visualizations/store/adapters/dhis_highcharts/index.js +7 -8
  245. package/build/cjs/visualizations/store/index.js +15 -17
  246. package/build/cjs/visualizations/store/validators/dhis/index.js +5 -6
  247. package/build/cjs/visualizations/util/getFilterText.js +3 -6
  248. package/build/cjs/visualizations/util/shouldUseContrastColor.js +1 -2
  249. package/build/es/__demo__/OpenFileDialog.stories.js +17 -0
  250. package/build/es/__demo__/PivotTable.stories.js +165 -222
  251. package/build/es/api/__tests__/dimensions.spec.js +1 -2
  252. package/build/es/api/analytics/Analytics.js +8 -9
  253. package/build/es/api/analytics/AnalyticsBase.js +58 -77
  254. package/build/es/api/analytics/AnalyticsRequest.js +1 -2
  255. package/build/es/api/analytics/AnalyticsRequestBase.js +18 -21
  256. package/build/es/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -38
  257. package/build/es/api/analytics/AnalyticsResponseHeader.js +5 -7
  258. package/build/es/api/analytics/__tests__/AnalyticsBase.spec.js +8 -10
  259. package/build/es/api/analytics/__tests__/AnalyticsRequest.spec.js +8 -2
  260. package/build/es/api/analytics/utils.js +11 -17
  261. package/build/es/api/dimensions.js +119 -148
  262. package/build/es/api/expression.js +39 -60
  263. package/build/es/api/organisationUnits.js +23 -35
  264. package/build/es/components/AboutAOUnit/AboutAOUnit.js +11 -18
  265. package/build/es/components/CachedDataQueryProvider.js +6 -7
  266. package/build/es/components/DashboardPluginWrapper/DashboardPluginWrapper.js +17 -20
  267. package/build/es/components/DataDimension/Calculation/CalculationModal.js +43 -59
  268. package/build/es/components/DataDimension/Calculation/DataElementOption.js +5 -6
  269. package/build/es/components/DataDimension/Calculation/DataElementSelector.js +28 -36
  270. package/build/es/components/DataDimension/Calculation/DndContext.js +28 -35
  271. package/build/es/components/DataDimension/Calculation/DraggingItem.js +5 -6
  272. package/build/es/components/DataDimension/Calculation/DropZone.js +4 -5
  273. package/build/es/components/DataDimension/Calculation/FormulaField.js +29 -32
  274. package/build/es/components/DataDimension/Calculation/FormulaItem.js +13 -14
  275. package/build/es/components/DataDimension/Calculation/MathOperatorSelector.js +23 -29
  276. package/build/es/components/DataDimension/Calculation/Operator.js +6 -7
  277. package/build/es/components/DataDimension/DataDimension.js +19 -30
  278. package/build/es/components/DataDimension/Info/CalculationInfo.js +13 -20
  279. package/build/es/components/DataDimension/Info/DataElementInfo.js +23 -36
  280. package/build/es/components/DataDimension/Info/DataElementOperandInfo.js +29 -42
  281. package/build/es/components/DataDimension/Info/DataSetInfo.js +26 -39
  282. package/build/es/components/DataDimension/Info/EventDataItemInfo.js +21 -34
  283. package/build/es/components/DataDimension/Info/IndicatorInfo.js +20 -30
  284. package/build/es/components/DataDimension/Info/InfoPopover.js +6 -7
  285. package/build/es/components/DataDimension/Info/InfoTable.js +39 -52
  286. package/build/es/components/DataDimension/Info/OptionInfo.js +13 -20
  287. package/build/es/components/DataDimension/Info/ProgramIndicatorInfo.js +45 -56
  288. package/build/es/components/DataDimension/ItemOptionsSelector/ItemOptionsSelector.js +21 -30
  289. package/build/es/components/DataDimension/ItemSelector/DataTypeSelector.js +6 -7
  290. package/build/es/components/DataDimension/ItemSelector/DetailSelector.js +5 -6
  291. package/build/es/components/DataDimension/ItemSelector/GroupSelector.js +9 -10
  292. package/build/es/components/DataDimension/ItemSelector/ItemSelector.js +85 -102
  293. package/build/es/components/DataDimension/ItemSelector/MetricSelector.js +5 -6
  294. package/build/es/components/DataDimension/SourceEmptyPlaceholder.js +10 -13
  295. package/build/es/components/DataDimension/TransferOption.js +35 -39
  296. package/build/es/components/DimensionMenu.js +13 -14
  297. package/build/es/components/DimensionsPanel/DimensionsPanel.js +7 -7
  298. package/build/es/components/DimensionsPanel/List/DimensionItem.js +11 -11
  299. package/build/es/components/DimensionsPanel/List/DimensionList.js +11 -9
  300. package/build/es/components/DimensionsPanel/List/OptionsButton.js +8 -11
  301. package/build/es/components/DimensionsPanel/List/RecommendedIcon.js +10 -13
  302. package/build/es/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +47 -40
  303. package/build/es/components/DimensionsPanel/List/__tests__/__snapshots__/DimensionItem.spec.js.snap +110 -114
  304. package/build/es/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +35 -32
  305. package/build/es/components/DynamicDimension/DynamicDimension.js +9 -13
  306. package/build/es/components/DynamicDimension/ItemSelector.js +24 -36
  307. package/build/es/components/FileMenu/DeleteDialog.js +10 -14
  308. package/build/es/components/FileMenu/FileMenu.js +18 -28
  309. package/build/es/components/FileMenu/GetLinkDialog.js +7 -7
  310. package/build/es/components/FileMenu/RenameDialog.js +12 -19
  311. package/build/es/components/FileMenu/SaveAsDialog.js +12 -19
  312. package/build/es/components/FileMenu/__tests__/DeleteDialog.spec.js +23 -26
  313. package/build/es/components/FileMenu/__tests__/FileMenu.spec.js +56 -32
  314. package/build/es/components/FileMenu/__tests__/GetLinkDialog.spec.js +34 -38
  315. package/build/es/components/FileMenu/__tests__/RenameDialog.spec.js +18 -12
  316. package/build/es/components/FileMenu/__tests__/SaveAsDialog.spec.js +43 -36
  317. package/build/es/components/FileMenu/utils.js +10 -12
  318. package/build/es/components/Filter/Filter.js +21 -27
  319. package/build/es/components/Filter/__tests__/Filter.spec.js +28 -33
  320. package/build/es/components/Interpretations/InterpretationModal/Comment.js +7 -8
  321. package/build/es/components/Interpretations/InterpretationModal/CommentAddForm.js +9 -13
  322. package/build/es/components/Interpretations/InterpretationModal/CommentDeleteButton.js +9 -13
  323. package/build/es/components/Interpretations/InterpretationModal/CommentUpdateForm.js +11 -15
  324. package/build/es/components/Interpretations/InterpretationModal/InterpretationModal.js +18 -23
  325. package/build/es/components/Interpretations/InterpretationModal/InterpretationThread.js +11 -12
  326. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationForm.js +11 -15
  327. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationList.js +10 -11
  328. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +22 -31
  329. package/build/es/components/Interpretations/common/Interpretation/Interpretation.js +12 -13
  330. package/build/es/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +7 -11
  331. package/build/es/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +4 -5
  332. package/build/es/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +14 -21
  333. package/build/es/components/Interpretations/common/Interpretation/useLike.js +5 -6
  334. package/build/es/components/Interpretations/common/Message/Message.js +6 -7
  335. package/build/es/components/Interpretations/common/Message/MessageButtonStrip.js +8 -11
  336. package/build/es/components/Interpretations/common/Message/MessageEditorContainer.js +18 -21
  337. package/build/es/components/Interpretations/common/Message/MessageIconButton.js +34 -40
  338. package/build/es/components/Interpretations/common/Message/MessageStatsBar.js +8 -11
  339. package/build/es/components/LegendKey/LegendKey.js +3 -4
  340. package/build/es/components/OfflineTooltip.js +18 -26
  341. package/build/es/components/OpenFileDialog/CreatedByFilter.js +26 -25
  342. package/build/es/components/OpenFileDialog/CustomSelectOption.js +23 -26
  343. package/build/es/components/OpenFileDialog/DateField.js +3 -4
  344. package/build/es/components/OpenFileDialog/FileList.js +19 -22
  345. package/build/es/components/OpenFileDialog/NameFilter.js +15 -21
  346. package/build/es/components/OpenFileDialog/OpenFileDialog.js +49 -78
  347. package/build/es/components/OpenFileDialog/PaginationControls.js +22 -28
  348. package/build/es/components/OpenFileDialog/VisTypeFilter.js +64 -36
  349. package/build/es/components/OpenFileDialog/__tests__/OpenFileDialog.spec.js +49 -0
  350. package/build/es/components/Options/VisualizationOptions.js +34 -44
  351. package/build/es/components/OrgUnitDimension/OrgUnitDimension.js +37 -58
  352. package/build/es/components/OrgUnitDimension/__tests__/OrgUnitDimension.spec.js +77 -43
  353. package/build/es/components/PeriodDimension/FixedPeriodFilter.js +17 -25
  354. package/build/es/components/PeriodDimension/FixedPeriodSelect.js +14 -19
  355. package/build/es/components/PeriodDimension/PeriodDimension.js +9 -12
  356. package/build/es/components/PeriodDimension/PeriodTransfer.js +48 -61
  357. package/build/es/components/PeriodDimension/RelativePeriodFilter.js +25 -30
  358. package/build/es/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +13 -20
  359. package/build/es/components/PeriodDimension/__tests__/PeriodDimension.spec.js +26 -22
  360. package/build/es/components/PeriodDimension/utils/fixedPeriods.js +6 -7
  361. package/build/es/components/PeriodDimension/utils/index.js +1 -5
  362. package/build/es/components/PivotTable/PivotTable.js +7 -8
  363. package/build/es/components/PivotTable/PivotTableBody.js +20 -29
  364. package/build/es/components/PivotTable/PivotTableCell.js +8 -12
  365. package/build/es/components/PivotTable/PivotTableClippedAxis.js +14 -17
  366. package/build/es/components/PivotTable/PivotTableColumnHeaderCell.js +7 -8
  367. package/build/es/components/PivotTable/PivotTableColumnHeaders.js +22 -29
  368. package/build/es/components/PivotTable/PivotTableContainer.js +5 -6
  369. package/build/es/components/PivotTable/PivotTableDimensionLabelCell.js +4 -5
  370. package/build/es/components/PivotTable/PivotTableEmptyCell.js +3 -4
  371. package/build/es/components/PivotTable/PivotTableEmptyRow.js +4 -5
  372. package/build/es/components/PivotTable/PivotTableEngineContext.js +4 -5
  373. package/build/es/components/PivotTable/PivotTableHead.js +13 -16
  374. package/build/es/components/PivotTable/PivotTableHeaderCell.js +8 -9
  375. package/build/es/components/PivotTable/PivotTableRow.js +20 -27
  376. package/build/es/components/PivotTable/PivotTableRowHeaderCell.js +5 -6
  377. package/build/es/components/PivotTable/PivotTableSortIcon.js +4 -5
  378. package/build/es/components/PivotTable/PivotTableTitleRow.js +18 -22
  379. package/build/es/components/PivotTable/PivotTableTitleRows.js +4 -5
  380. package/build/es/components/PivotTable/PivotTableValueCell.js +5 -6
  381. package/build/es/components/RichText/Editor/Editor.js +69 -83
  382. package/build/es/components/RichText/Editor/__tests__/Editor.spec.js +7 -8
  383. package/build/es/components/RichText/Parser/Parser.js +4 -8
  384. package/build/es/components/RichText/Parser/__tests__/MdParser.spec.js +1 -1
  385. package/build/es/components/RichText/Parser/__tests__/Parser.spec.js +21 -22
  386. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuBar.js +20 -23
  387. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +7 -11
  388. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuList.js +8 -15
  389. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +10 -14
  390. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +57 -48
  391. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +7 -7
  392. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +27 -20
  393. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +21 -15
  394. package/build/es/components/Toolbar/HoverMenuBar/__tests__/__snapshots__/HoverMenuList.spec.js.snap +63 -0
  395. package/build/es/components/Toolbar/InterpretationsAndDetailsToggler.js +17 -21
  396. package/build/es/components/Toolbar/Toolbar.js +10 -16
  397. package/build/es/components/Toolbar/ToolbarSidebar.js +12 -18
  398. package/build/es/components/Toolbar/UpdateButton.js +18 -24
  399. package/build/es/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +18 -17
  400. package/build/es/components/Toolbar/__tests__/Toolbar.spec.js +7 -7
  401. package/build/es/components/Toolbar/__tests__/ToolbarSidebar.spec.js +13 -10
  402. package/build/es/components/Toolbar/__tests__/UpdateButton.spec.js +15 -13
  403. package/build/es/components/TransferOption.js +14 -15
  404. package/build/es/components/TranslationDialog/TranslationModal/LocalesSelect.js +19 -27
  405. package/build/es/components/TranslationDialog/TranslationModal/TranslationForm.js +16 -23
  406. package/build/es/components/TranslationDialog/TranslationModal/TranslationModal.js +8 -8
  407. package/build/es/components/TranslationDialog/TranslationModal/TranslationModalActions.js +18 -27
  408. package/build/es/components/TranslationDialog/TranslationModal/__tests__/TranslationModal.spec.js +24 -15
  409. package/build/es/components/TranslationDialog/TranslationModal/useTranslationsResults.js +3 -4
  410. package/build/es/components/UserMention/UserList.js +6 -7
  411. package/build/es/components/UserMention/UserMentionWrapper.js +12 -18
  412. package/build/es/components/UserMention/useUserSearchResults.js +12 -16
  413. package/build/es/components/VisTypeIcon.js +5 -6
  414. package/build/es/locales/ar_IQ/translations.json +20 -11
  415. package/build/es/locales/cs/translations.json +2 -0
  416. package/build/es/locales/en/translations.json +1 -0
  417. package/build/es/locales/es/translations.json +2 -0
  418. package/build/es/locales/fr/translations.json +2 -0
  419. package/build/es/locales/id/translations.json +20 -11
  420. package/build/es/locales/lo/translations.json +2 -0
  421. package/build/es/locales/nb/translations.json +2 -0
  422. package/build/es/locales/prs/translations.json +2 -0
  423. package/build/es/locales/ps/translations.json +2 -0
  424. package/build/es/locales/pt/translations.json +2 -0
  425. package/build/es/locales/pt_BR/translations.json +2 -0
  426. package/build/es/locales/ru/translations.json +2 -0
  427. package/build/es/locales/si/translations.json +20 -11
  428. package/build/es/locales/sv/translations.json +20 -11
  429. package/build/es/locales/tet/translations.json +20 -11
  430. package/build/es/locales/tg/translations.json +2 -0
  431. package/build/es/locales/uk/translations.json +2 -0
  432. package/build/es/locales/ur/translations.json +2 -0
  433. package/build/es/locales/uz_UZ_Cyrl/translations.json +2 -0
  434. package/build/es/locales/uz_UZ_Latn/translations.json +4 -2
  435. package/build/es/locales/vi/translations.json +2 -0
  436. package/build/es/locales/zh/translations.json +2 -0
  437. package/build/es/locales/zh_CN/translations.json +17 -15
  438. package/build/es/modules/__tests__/expressions.spec.js +4 -5
  439. package/build/es/modules/__tests__/isNumeric.spec.js +31 -0
  440. package/build/es/modules/dimensionListItem.js +4 -5
  441. package/build/es/modules/expressions.js +3 -9
  442. package/build/es/modules/getPWAInstallationStatus.js +7 -9
  443. package/build/es/modules/layout/dimensionCreate.js +1 -3
  444. package/build/es/modules/layout/dimensionIsValid.js +3 -4
  445. package/build/es/modules/legends.js +5 -6
  446. package/build/es/modules/outliers/index.js +2 -3
  447. package/build/es/modules/outliers/iqr.js +4 -6
  448. package/build/es/modules/outliers/modZScore.js +6 -14
  449. package/build/es/modules/outliers/zScore.js +3 -4
  450. package/build/es/modules/pivotTable/AdaptiveClippingController.js +12 -16
  451. package/build/es/modules/pivotTable/PivotTableEngine.js +48 -59
  452. package/build/es/modules/pivotTable/clipAxis.js +7 -8
  453. package/build/es/modules/pivotTable/clipPartitionedAxis.js +9 -10
  454. package/build/es/modules/pivotTable/getHeaderForDisplay.js +8 -9
  455. package/build/es/modules/pivotTable/measureText.js +7 -9
  456. package/build/es/modules/pivotTable/useParentSize.js +1 -2
  457. package/build/es/modules/pivotTable/useScrollPosition.js +1 -2
  458. package/build/es/modules/pivotTable/useTableClipping.js +6 -7
  459. package/build/es/modules/relativeItems/index.js +1 -4
  460. package/build/es/modules/renderValue.js +1 -2
  461. package/build/es/modules/utils.js +9 -1
  462. package/build/es/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +3 -8
  463. package/build/es/visualizations/config/adapters/dhis_highcharts/axis.js +2 -5
  464. package/build/es/visualizations/config/adapters/dhis_highcharts/customAxes.js +2 -5
  465. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/index.js +7 -8
  466. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueBackgroundColor.js +1 -2
  467. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/index.js +6 -7
  468. package/build/es/visualizations/config/adapters/dhis_highcharts/getFormatter.js +1 -1
  469. package/build/es/visualizations/config/adapters/dhis_highcharts/getSteps.js +1 -1
  470. package/build/es/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +3 -4
  471. package/build/es/visualizations/config/adapters/dhis_highcharts/index.js +7 -8
  472. package/build/es/visualizations/config/adapters/dhis_highcharts/legend.js +6 -7
  473. package/build/es/visualizations/config/adapters/dhis_highcharts/legendSet.js +22 -26
  474. package/build/es/visualizations/config/adapters/dhis_highcharts/plotOptions.js +8 -9
  475. package/build/es/visualizations/config/adapters/dhis_highcharts/series/index.js +18 -20
  476. package/build/es/visualizations/config/adapters/dhis_highcharts/series/pie.js +1 -4
  477. package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +1 -3
  478. package/build/es/visualizations/config/index.js +11 -12
  479. package/build/es/visualizations/config/validators/dhis/index.js +3 -4
  480. package/build/es/visualizations/index.js +1 -4
  481. package/build/es/visualizations/store/adapters/dhis_highcharts/index.js +7 -8
  482. package/build/es/visualizations/store/index.js +15 -17
  483. package/build/es/visualizations/store/validators/dhis/index.js +5 -6
  484. package/build/es/visualizations/util/getFilterText.js +3 -6
  485. package/build/es/visualizations/util/shouldUseContrastColor.js +1 -2
  486. package/package.json +13 -15
  487. package/build/cjs/components/OrgUnitDimension/__tests__/__snapshots__/OrgUnitDimension.spec.js.snap +0 -89
  488. package/build/cjs/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -29
  489. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -93
  490. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +0 -17
  491. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +0 -89
  492. package/build/es/components/OrgUnitDimension/__tests__/__snapshots__/OrgUnitDimension.spec.js.snap +0 -89
  493. package/build/es/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -26
  494. package/build/es/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -93
  495. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +0 -17
  496. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodSelector.spec.js.snap +0 -89
@@ -1,8 +1,7 @@
1
1
  import { dimensionsQuery, apiFetchDimensions } from '../dimensions.js';
2
2
  let mockDataEngine;
3
3
  let mockQueryFn;
4
- const asyncCheckMatches = (_ref, done) => {
5
- let [queryDefinition, queryVariables, callCount = 1, callIndex = 0] = _ref;
4
+ const asyncCheckMatches = ([queryDefinition, queryVariables, callCount = 1, callIndex = 0], done) => {
6
5
  setTimeout(() => {
7
6
  expect(mockQueryFn).toHaveBeenCalledTimes(callCount);
8
7
  expect(mockQueryFn.mock.calls[callIndex][0]).toEqual(queryDefinition);
@@ -40,15 +40,14 @@ class Analytics {
40
40
  * @param {!module:analytics.AnalyticsRequest} analyticsRequest The AnalyticsRequest class
41
41
  * @param {!module:analytics.AnalyticsResponse} analyticsResponse The AnalyticsResponse class
42
42
  */
43
- constructor(_ref) {
44
- let {
45
- aggregate,
46
- trackedEntities,
47
- enrollments,
48
- events,
49
- request,
50
- response
51
- } = _ref;
43
+ constructor({
44
+ aggregate,
45
+ trackedEntities,
46
+ enrollments,
47
+ events,
48
+ request,
49
+ response
50
+ }) {
52
51
  this.aggregate = aggregate;
53
52
  this.trackedEntities = trackedEntities;
54
53
  this.enrollments = enrollments;
@@ -3,51 +3,41 @@ import AnalyticsRequest from './AnalyticsRequest.js';
3
3
  import { formatRequestPath } from './utils.js';
4
4
  const analyticsQuery = {
5
5
  resource: 'analytics',
6
- id: _ref => {
7
- let {
8
- path,
9
- program,
10
- trackedEntityType
11
- } = _ref;
12
- return formatRequestPath({
13
- path,
14
- program,
15
- trackedEntityType
16
- });
17
- },
18
- params: _ref2 => {
19
- let {
20
- dimensions,
21
- filters,
22
- parameters
23
- } = _ref2;
24
- return {
25
- dimension: dimensions.length ? dimensions : undefined,
26
- filter: filters.length ? filters : undefined,
27
- ...parameters
28
- };
29
- }
6
+ id: ({
7
+ path,
8
+ program,
9
+ trackedEntityType
10
+ }) => formatRequestPath({
11
+ path,
12
+ program,
13
+ trackedEntityType
14
+ }),
15
+ params: ({
16
+ dimensions,
17
+ filters,
18
+ parameters
19
+ }) => ({
20
+ dimension: dimensions.length ? dimensions : undefined,
21
+ filter: filters.length ? filters : undefined,
22
+ ...parameters
23
+ })
30
24
  };
31
25
  const analyticsDataQuery = {
32
26
  resource: 'analytics',
33
- id: _ref3 => {
34
- let {
35
- path,
36
- program,
37
- trackedEntityType
38
- } = _ref3;
39
- return formatRequestPath({
40
- path,
41
- program,
42
- trackedEntityType
43
- });
44
- },
45
- params: _ref4 => {
46
- let {
47
- dimensions,
48
- filters,
49
- parameters
50
- } = _ref4;
27
+ id: ({
28
+ path,
29
+ program,
30
+ trackedEntityType
31
+ }) => formatRequestPath({
32
+ path,
33
+ program,
34
+ trackedEntityType
35
+ }),
36
+ params: ({
37
+ dimensions,
38
+ filters,
39
+ parameters
40
+ }) => {
51
41
  return {
52
42
  dimension: dimensions.length ? generateDimensionStrings(dimensions, {
53
43
  sorted: true
@@ -63,43 +53,34 @@ const analyticsDataQuery = {
63
53
  };
64
54
  const analyticsMetaDataQuery = {
65
55
  resource: 'analytics',
66
- id: _ref5 => {
67
- let {
68
- path,
69
- program,
70
- trackedEntityType
71
- } = _ref5;
72
- return formatRequestPath({
73
- path,
74
- program,
75
- trackedEntityType
76
- });
77
- },
78
- params: _ref6 => {
79
- let {
80
- dimensions,
81
- filters,
82
- parameters
83
- } = _ref6;
84
- return {
85
- dimension: dimensions.length ? generateDimensionStrings(dimensions) : undefined,
86
- filter: filters.length ? generateDimensionStrings(filters) : undefined,
87
- ...parameters,
88
- skipMeta: false,
89
- skipData: true,
90
- includeMetadataDetails: true
91
- };
92
- }
56
+ id: ({
57
+ path,
58
+ program,
59
+ trackedEntityType
60
+ }) => formatRequestPath({
61
+ path,
62
+ program,
63
+ trackedEntityType
64
+ }),
65
+ params: ({
66
+ dimensions,
67
+ filters,
68
+ parameters
69
+ }) => ({
70
+ dimension: dimensions.length ? generateDimensionStrings(dimensions) : undefined,
71
+ filter: filters.length ? generateDimensionStrings(filters) : undefined,
72
+ ...parameters,
73
+ skipMeta: false,
74
+ skipData: true,
75
+ includeMetadataDetails: true
76
+ })
93
77
  };
94
- export const generateDimensionStrings = function () {
95
- let dimensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
96
- let options = arguments.length > 1 ? arguments[1] : undefined;
78
+ export const generateDimensionStrings = (dimensions = [], options) => {
97
79
  const sortedDimensions = sortBy(dimensions, 'dimension');
98
- return sortedDimensions.map(_ref7 => {
99
- let {
100
- dimension,
101
- items
102
- } = _ref7;
80
+ return sortedDimensions.map(({
81
+ dimension,
82
+ items
83
+ }) => {
103
84
  if (Array.isArray(items) && items.length) {
104
85
  if (options && options.sorted) {
105
86
  items = items.slice().sort();
@@ -39,8 +39,7 @@ class AnalyticsRequest extends AnalyticsRequestDimensionsMixin(AnalyticsRequestF
39
39
  *
40
40
  * // dimension=pe:last_12_month&dimension=dx:fbfjhsppuqd;cyeuwxtcpku;jtf34knzhzp;hfdmmspbglg&dimension=ou:imsptqpwcqd
41
41
  */
42
- fromVisualization(visualization) {
43
- let passFilterAsDimension = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
42
+ fromVisualization(visualization, passFilterAsDimension = false) {
44
43
  let request = this;
45
44
  const outputType = visualization.outputType;
46
45
 
@@ -12,17 +12,16 @@ import { customEncodeURIComponent } from './utils.js';
12
12
  * @abstract
13
13
  */
14
14
  class AnalyticsRequestBase {
15
- constructor() {
16
- let {
17
- endPoint = 'analytics',
18
- format = 'json',
19
- path,
20
- program,
21
- trackedEntityType,
22
- dimensions = [],
23
- filters = [],
24
- parameters = {}
25
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
15
+ constructor({
16
+ endPoint = 'analytics',
17
+ format = 'json',
18
+ path,
19
+ program,
20
+ trackedEntityType,
21
+ dimensions = [],
22
+ filters = [],
23
+ parameters = {}
24
+ } = {}) {
26
25
  this.endPoint = endPoint;
27
26
  this.format = format.toLowerCase();
28
27
  this.path = path;
@@ -52,11 +51,10 @@ class AnalyticsRequestBase {
52
51
  if (dimensions.length && options !== null && options !== void 0 && options.sorted) {
53
52
  dimensions = sortBy(dimensions, 'dimension');
54
53
  }
55
- const encodedDimensions = dimensions.map(_ref => {
56
- let {
57
- dimension,
58
- items
59
- } = _ref;
54
+ const encodedDimensions = dimensions.map(({
55
+ dimension,
56
+ items
57
+ }) => {
60
58
  if (Array.isArray(items) && items.length) {
61
59
  const encodedItems = items.map(customEncodeURIComponent);
62
60
  if (options !== null && options !== void 0 && options.sorted) {
@@ -92,11 +90,10 @@ class AnalyticsRequestBase {
92
90
  if (filters.length && options !== null && options !== void 0 && options.sorted) {
93
91
  filters = sortBy(filters, 'dimension');
94
92
  }
95
- const encodedFilters = filters.map(_ref2 => {
96
- let {
97
- dimension,
98
- items
99
- } = _ref2;
93
+ const encodedFilters = filters.map(({
94
+ dimension,
95
+ items
96
+ }) => {
100
97
  if (Array.isArray(items) && items.length) {
101
98
  const encodedItems = items.map(customEncodeURIComponent);
102
99
  if (options !== null && options !== void 0 && options.sorted) {
@@ -71,8 +71,7 @@ class extends base {
71
71
  * const req = new analytics.request()
72
72
  * .withFormat('xml');
73
73
  */
74
- withFormat() {
75
- let format = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'json';
74
+ withFormat(format = 'json') {
76
75
  this.format = format;
77
76
  return new AnalyticsRequest(this);
78
77
  }
@@ -147,8 +146,7 @@ class extends base {
147
146
  * const req = new analytics.request()
148
147
  * .withSkipMeta();
149
148
  */
150
- withSkipMeta() {
151
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
149
+ withSkipMeta(flag = true) {
152
150
  this.parameters.skipMeta = flag;
153
151
  return new AnalyticsRequest(this);
154
152
  }
@@ -164,8 +162,7 @@ class extends base {
164
162
  * const req = new analytics.request()
165
163
  * .withSkipData();
166
164
  */
167
- withSkipData() {
168
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
165
+ withSkipData(flag = true) {
169
166
  this.parameters.skipData = flag;
170
167
  return new AnalyticsRequest(this);
171
168
  }
@@ -181,8 +178,7 @@ class extends base {
181
178
  * const req = new analytics.request()
182
179
  * .withHierarchyMeta();
183
180
  */
184
- withHierarchyMeta() {
185
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
181
+ withHierarchyMeta(flag = true) {
186
182
  this.parameters.hierarchyMeta = flag;
187
183
  return new AnalyticsRequest(this);
188
184
  }
@@ -198,8 +194,7 @@ class extends base {
198
194
  * const req = new analytics.request()
199
195
  * .withIgnoreLimit();
200
196
  */
201
- withIgnoreLimit() {
202
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
197
+ withIgnoreLimit(flag = true) {
203
198
  this.parameters.ignoreLimit = flag;
204
199
  return new AnalyticsRequest(this);
205
200
  }
@@ -215,8 +210,7 @@ class extends base {
215
210
  * const req = new analytics.request()
216
211
  * .withTableLayout();
217
212
  */
218
- withTableLayout() {
219
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
213
+ withTableLayout(flag = true) {
220
214
  this.parameters.tableLayout = flag;
221
215
  return new AnalyticsRequest(this);
222
216
  }
@@ -232,8 +226,7 @@ class extends base {
232
226
  * const req = new analytics.request()
233
227
  * .withHideEmptyRows();
234
228
  */
235
- withHideEmptyRows() {
236
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
229
+ withHideEmptyRows(flag = true) {
237
230
  this.parameters.hideEmptyRows = flag;
238
231
  return new AnalyticsRequest(this);
239
232
  }
@@ -249,8 +242,7 @@ class extends base {
249
242
  * const req = new analytics.request()
250
243
  * .withHideEmptyColumns();
251
244
  */
252
- withHideEmptyColumns() {
253
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
245
+ withHideEmptyColumns(flag = true) {
254
246
  this.parameters.hideEmptyColumns = flag;
255
247
  return new AnalyticsRequest(this);
256
248
  }
@@ -266,8 +258,7 @@ class extends base {
266
258
  * const req = new analytics.request()
267
259
  * .withShowHierarchy();
268
260
  */
269
- withShowHierarchy() {
270
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
261
+ withShowHierarchy(flag = true) {
271
262
  this.parameters.showHierarchy = flag;
272
263
  return new AnalyticsRequest(this);
273
264
  }
@@ -283,8 +274,7 @@ class extends base {
283
274
  * const req = new analytics.request()
284
275
  * .withIncludeNumDen();
285
276
  */
286
- withIncludeNumDen() {
287
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
277
+ withIncludeNumDen(flag = true) {
288
278
  this.parameters.includeNumDen = flag;
289
279
  return new AnalyticsRequest(this);
290
280
  }
@@ -300,8 +290,7 @@ class extends base {
300
290
  * const req = new analytics.request()
301
291
  * .withIncludeMetadataDetails();
302
292
  */
303
- withIncludeMetadataDetails() {
304
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
293
+ withIncludeMetadataDetails(flag = true) {
305
294
  this.parameters.includeMetadataDetails = flag;
306
295
  return new AnalyticsRequest(this);
307
296
  }
@@ -663,8 +652,7 @@ class extends base {
663
652
  * const req = new analytics.request()
664
653
  * .withCoordinatesOnly();
665
654
  */
666
- withCoordinatesOnly() {
667
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
655
+ withCoordinatesOnly(flag = true) {
668
656
  this.parameters.coordinatesOnly = flag;
669
657
  return new AnalyticsRequest(this);
670
658
  }
@@ -680,8 +668,7 @@ class extends base {
680
668
  * const req = new analytics.request()
681
669
  * .withPage(2);
682
670
  */
683
- withPage() {
684
- let page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
671
+ withPage(page = 1) {
685
672
  this.parameters.page = page;
686
673
  return new AnalyticsRequest(this);
687
674
  }
@@ -697,8 +684,7 @@ class extends base {
697
684
  * const req = new analytics.request()
698
685
  * .withPageSize(10);
699
686
  */
700
- withPageSize() {
701
- let size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 50;
687
+ withPageSize(size = 50) {
702
688
  this.parameters.pageSize = size;
703
689
  return new AnalyticsRequest(this);
704
690
  }
@@ -798,8 +784,7 @@ class extends base {
798
784
  * const req = new analytics.request()
799
785
  * .withCollapseDataDimensions();
800
786
  */
801
- withCollapseDataDimensions() {
802
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
787
+ withCollapseDataDimensions(flag = true) {
803
788
  this.parameters.collapseDataDimensions = flag;
804
789
  return new AnalyticsRequest(this);
805
790
  }
@@ -815,8 +800,7 @@ class extends base {
815
800
  * const req = new analytics.request()
816
801
  * .withSkipRounding();
817
802
  */
818
- withSkipRounding() {
819
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
803
+ withSkipRounding(flag = true) {
820
804
  this.parameters.skipRounding = flag;
821
805
  return new AnalyticsRequest(this);
822
806
  }
@@ -832,8 +816,7 @@ class extends base {
832
816
  * const req = new analytics.request()
833
817
  * .withAggregateData();
834
818
  */
835
- withAggregateData() {
836
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
819
+ withAggregateData(flag = true) {
837
820
  this.parameters.aggregateData = flag;
838
821
  return new AnalyticsRequest(this);
839
822
  }
@@ -867,8 +850,7 @@ class extends base {
867
850
  * const req = new analytics.request()
868
851
  * .withCoordinateField('<attribute-id>');
869
852
  */
870
- withCoordinateField() {
871
- let field = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'EVENT';
853
+ withCoordinateField(field = 'EVENT') {
872
854
  // EVENT, <attribute-id>, <dataelement-id>
873
855
  this.parameters.coordinateField = field;
874
856
  return new AnalyticsRequest(this);
@@ -903,8 +885,7 @@ class extends base {
903
885
  * const req = new analytics.request()
904
886
  * .withIncludeClusterPoints();
905
887
  */
906
- withIncludeClusterPoints() {
907
- let flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
888
+ withIncludeClusterPoints(flag = true) {
908
889
  this.parameters.includeClusterPoints = flag;
909
890
  return new AnalyticsRequest(this);
910
891
  }
@@ -1,11 +1,9 @@
1
1
  class AnalyticsResponseHeader {
2
- constructor() {
3
- let header = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
5
- isPrefix: false,
6
- isCollect: false,
7
- index: undefined
8
- };
2
+ constructor(header = {}, options = {
3
+ isPrefix: false,
4
+ isCollect: false,
5
+ index: undefined
6
+ }) {
9
7
  Object.assign(this, header, options);
10
8
  }
11
9
  getIndex() {
@@ -26,20 +26,18 @@ describe('generateDimensionString', () => {
26
26
  outputSorted: ['dim1:item1', 'dim2:item1;item2']
27
27
  }];
28
28
  it('should return dimension strings correctly formatted', () => {
29
- tests.forEach(_ref => {
30
- let {
31
- input,
32
- output
33
- } = _ref;
29
+ tests.forEach(({
30
+ input,
31
+ output
32
+ }) => {
34
33
  expect(generateDimensionStrings(input)).toEqual(output);
35
34
  });
36
35
  });
37
36
  it('should return dimension strings correctly formatted and sorted', () => {
38
- tests.forEach(_ref2 => {
39
- let {
40
- input,
41
- outputSorted
42
- } = _ref2;
37
+ tests.forEach(({
38
+ input,
39
+ outputSorted
40
+ }) => {
43
41
  expect(generateDimensionStrings(input, {
44
42
  sorted: true
45
43
  })).toEqual(outputSorted);
@@ -2,11 +2,18 @@ import fixtures from '../../../__fixtures__/fixtures.js';
2
2
  import AnalyticsRequest from '../AnalyticsRequest.js';
3
3
  let request;
4
4
  let expectedParameters;
5
+ let warnMock;
5
6
  const getFuncName = parameter => `with${parameter.charAt(0).toUpperCase()}${parameter.slice(1)}`;
6
7
  describe('AnalyticsRequest', () => {
7
8
  beforeEach(() => {
8
9
  request = new AnalyticsRequest();
9
10
  expectedParameters = {};
11
+ // Prevent console warnings like below from cluttering the test output:
12
+ // "analytics.request.withAggregationType(): "new-constant" not listed as possible value"
13
+ warnMock = jest.spyOn(console, 'warn').mockImplementation(() => {});
14
+ });
15
+ afterEach(() => {
16
+ warnMock.mockReset();
10
17
  });
11
18
  describe('constructor', () => {
12
19
  it('should not be allowed to be called without new', () => {
@@ -280,8 +287,7 @@ describe('AnalyticsRequest', () => {
280
287
  page: 1,
281
288
  pageSize: 50
282
289
  };
283
- Object.entries(params).forEach(_ref => {
284
- let [key, value] = _ref;
290
+ Object.entries(params).forEach(([key, value]) => {
285
291
  const parameter = key;
286
292
  const funcName = getFuncName(parameter);
287
293
  it(`should add the ${parameter} parameter with the default value`, () => {
@@ -3,20 +3,14 @@ const whitelistURI = ',&$=/;:';
3
3
  const whitelistURICodes = whitelistURI.split('').map(c => encodeURIComponent(c));
4
4
  const whitelistRegExp = new RegExp(`(?:${whitelistURICodes.join('|')})`, 'g');
5
5
  export const customEncodeURIComponent = uri => encodeURIComponent(uri).replace(whitelistRegExp, decodeURIComponent);
6
- export const formatRequestPath = _ref => {
7
- let {
8
- path,
9
- program,
10
- trackedEntityType
11
- } = _ref;
12
- return [path, program, trackedEntityType].filter(Boolean).join('/');
13
- };
14
- export const formatDimension = _ref2 => {
15
- let {
16
- outputType,
17
- programId,
18
- programStageId,
19
- dimension
20
- } = _ref2;
21
- return [outputType === 'TRACKED_ENTITY_INSTANCE' ? programId : undefined, programStageId, dimension].filter(Boolean).join('.');
22
- };
6
+ export const formatRequestPath = ({
7
+ path,
8
+ program,
9
+ trackedEntityType
10
+ }) => [path, program, trackedEntityType].filter(Boolean).join('/');
11
+ export const formatDimension = ({
12
+ outputType,
13
+ programId,
14
+ programStageId,
15
+ dimension
16
+ }) => [outputType === 'TRACKED_ENTITY_INSTANCE' ? programId : undefined, programStageId, dimension].filter(Boolean).join('.');