@dhis2/analytics 26.0.8 → 26.0.10

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 (737) hide show
  1. package/build/cjs/__demo__/CalculationModal.stories.js +0 -5
  2. package/build/cjs/__demo__/DimensionsPanel.stories.js +0 -7
  3. package/build/cjs/__demo__/DynamicDimension.stories.js +0 -4
  4. package/build/cjs/__demo__/FileMenu.stories.js +2 -7
  5. package/build/cjs/__demo__/Filter.stories.js +0 -10
  6. package/build/cjs/__demo__/FixedPeriodSelect.stories.js +0 -6
  7. package/build/cjs/__demo__/OpenFileDialog.stories.js +1 -9
  8. package/build/cjs/__demo__/OrgUnitDimension.stories.js +1 -9
  9. package/build/cjs/__demo__/PeriodDimension.stories.js +0 -5
  10. package/build/cjs/__demo__/PivotTable.stories.js +100 -104
  11. package/build/cjs/__demo__/Toolbar.stories.js +0 -6
  12. package/build/cjs/__fixtures__/fixtures.js +0 -7
  13. package/build/cjs/api/__tests__/dimensions.spec.js +0 -3
  14. package/build/cjs/api/analytics/Analytics.js +1 -12
  15. package/build/cjs/api/analytics/AnalyticsAggregate.js +2 -9
  16. package/build/cjs/api/analytics/AnalyticsBase.js +8 -21
  17. package/build/cjs/api/analytics/AnalyticsEnrollments.js +0 -5
  18. package/build/cjs/api/analytics/AnalyticsEvents.js +3 -11
  19. package/build/cjs/api/analytics/AnalyticsRequest.js +15 -34
  20. package/build/cjs/api/analytics/AnalyticsRequestBase.js +7 -28
  21. package/build/cjs/api/analytics/AnalyticsRequestDimensionsMixin.js +3 -16
  22. package/build/cjs/api/analytics/AnalyticsRequestFiltersMixin.js +3 -16
  23. package/build/cjs/api/analytics/AnalyticsRequestPropertiesMixin.js +55 -140
  24. package/build/cjs/api/analytics/AnalyticsResponse.js +21 -45
  25. package/build/cjs/api/analytics/AnalyticsResponseHeader.js +0 -6
  26. package/build/cjs/api/analytics/__mocks__/DataEngine.js +0 -5
  27. package/build/cjs/api/analytics/__tests__/Analytics.spec.js +0 -5
  28. package/build/cjs/api/analytics/__tests__/AnalyticsAggregate.spec.js +11 -8
  29. package/build/cjs/api/analytics/__tests__/AnalyticsBase.spec.js +0 -2
  30. package/build/cjs/api/analytics/__tests__/AnalyticsEnrollments.spec.js +0 -7
  31. package/build/cjs/api/analytics/__tests__/AnalyticsEvents.spec.js +0 -7
  32. package/build/cjs/api/analytics/__tests__/AnalyticsRequest.spec.js +17 -19
  33. package/build/cjs/api/analytics/__tests__/AnalyticsRequestBase.spec.js +4 -9
  34. package/build/cjs/api/analytics/__tests__/AnalyticsResponse.spec.js +3 -5
  35. package/build/cjs/api/analytics/__tests__/AnalyticsResponseHeader.spec.js +2 -4
  36. package/build/cjs/api/analytics/utils.js +1 -3
  37. package/build/cjs/api/dimensions.js +41 -91
  38. package/build/cjs/api/index.js +1 -2
  39. package/build/cjs/api/organisationUnits.js +5 -16
  40. package/build/cjs/assets/AssignedCategoriesIcon.js +0 -4
  41. package/build/cjs/assets/DimensionItemIcons/CalculationIcon.js +0 -4
  42. package/build/cjs/assets/DimensionItemIcons/DataElementIcon.js +0 -4
  43. package/build/cjs/assets/DimensionItemIcons/GenericIcon.js +0 -4
  44. package/build/cjs/assets/DimensionItemIcons/PeriodIcon.js +0 -4
  45. package/build/cjs/assets/DynamicDimensionIcon.js +0 -4
  46. package/build/cjs/assets/FormulaIcon.js +0 -4
  47. package/build/cjs/components/AboutAOUnit/AboutAOUnit.js +19 -47
  48. package/build/cjs/components/AboutAOUnit/styles/AboutAOUnit.style.js +1 -3
  49. package/build/cjs/components/AboutAOUnit/utils.js +0 -5
  50. package/build/cjs/components/CachedDataQueryProvider.js +0 -17
  51. package/build/cjs/components/DataDimension/Calculation/CalculationModal.js +26 -73
  52. package/build/cjs/components/DataDimension/Calculation/DataElementOption.js +6 -19
  53. package/build/cjs/components/DataDimension/Calculation/DataElementSelector.js +16 -51
  54. package/build/cjs/components/DataDimension/Calculation/DndContext.js +6 -36
  55. package/build/cjs/components/DataDimension/Calculation/DragHandleIcon.js +0 -4
  56. package/build/cjs/components/DataDimension/Calculation/DraggingItem.js +3 -15
  57. package/build/cjs/components/DataDimension/Calculation/DropZone.js +1 -12
  58. package/build/cjs/components/DataDimension/Calculation/FormulaField.js +5 -21
  59. package/build/cjs/components/DataDimension/Calculation/FormulaItem.js +13 -41
  60. package/build/cjs/components/DataDimension/Calculation/MathOperatorSelector.js +4 -14
  61. package/build/cjs/components/DataDimension/Calculation/Operator.js +5 -18
  62. package/build/cjs/components/DataDimension/Calculation/styles/CalculationModal.style.js +1 -3
  63. package/build/cjs/components/DataDimension/Calculation/styles/DataElementOption.style.js +1 -3
  64. package/build/cjs/components/DataDimension/Calculation/styles/DataElementSelector.style.js +1 -3
  65. package/build/cjs/components/DataDimension/Calculation/styles/DraggingItem.style.js +1 -3
  66. package/build/cjs/components/DataDimension/Calculation/styles/DropZone.style.js +1 -3
  67. package/build/cjs/components/DataDimension/Calculation/styles/FormulaField.style.js +1 -3
  68. package/build/cjs/components/DataDimension/Calculation/styles/FormulaItem.style.js +1 -3
  69. package/build/cjs/components/DataDimension/Calculation/styles/MathOperatorSelector.style.js +1 -3
  70. package/build/cjs/components/DataDimension/Calculation/styles/Operator.style.js +1 -3
  71. package/build/cjs/components/DataDimension/DataDimension.js +1 -11
  72. package/build/cjs/components/DataDimension/DataTypeSelector.js +3 -14
  73. package/build/cjs/components/DataDimension/DetailSelector.js +2 -13
  74. package/build/cjs/components/DataDimension/GroupSelector.js +7 -26
  75. package/build/cjs/components/DataDimension/ItemSelector.js +45 -94
  76. package/build/cjs/components/DataDimension/MetricSelector.js +3 -14
  77. package/build/cjs/components/DataDimension/styles/DataTypeSelector.style.js +1 -3
  78. package/build/cjs/components/DataDimension/styles/DetailSelector.style.js +1 -3
  79. package/build/cjs/components/DataDimension/styles/GroupSelector.style.js +1 -3
  80. package/build/cjs/components/DataDimension/styles/MetricSelector.style.js +1 -3
  81. package/build/cjs/components/DimensionMenu.js +18 -35
  82. package/build/cjs/components/DimensionsPanel/DimensionsPanel.js +5 -19
  83. package/build/cjs/components/DimensionsPanel/List/DimensionItem.js +11 -32
  84. package/build/cjs/components/DimensionsPanel/List/DimensionList.js +11 -30
  85. package/build/cjs/components/DimensionsPanel/List/OptionsButton.js +0 -6
  86. package/build/cjs/components/DimensionsPanel/List/RecommendedIcon.js +0 -8
  87. package/build/cjs/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +0 -7
  88. package/build/cjs/components/DimensionsPanel/List/styles/DimensionItem.style.js +0 -2
  89. package/build/cjs/components/DimensionsPanel/List/styles/DimensionList.style.js +2 -4
  90. package/build/cjs/components/DimensionsPanel/List/styles/RecommendedIcon.style.js +0 -2
  91. package/build/cjs/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +0 -8
  92. package/build/cjs/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -3
  93. package/build/cjs/components/DynamicDimension/DynamicDimension.js +4 -23
  94. package/build/cjs/components/DynamicDimension/ItemSelector.js +15 -41
  95. package/build/cjs/components/DynamicDimension/styles/DynamicDimension.style.js +1 -3
  96. package/build/cjs/components/FileMenu/DeleteDialog.js +0 -12
  97. package/build/cjs/components/FileMenu/FileMenu.js +0 -29
  98. package/build/cjs/components/FileMenu/FileMenu.styles.js +2 -4
  99. package/build/cjs/components/FileMenu/GetLinkDialog.js +5 -15
  100. package/build/cjs/components/FileMenu/GetLinkDialog.styles.js +1 -3
  101. package/build/cjs/components/FileMenu/RenameDialog.js +1 -17
  102. package/build/cjs/components/FileMenu/SaveAsDialog.js +3 -16
  103. package/build/cjs/components/FileMenu/__tests__/DeleteDialog.spec.js +1 -9
  104. package/build/cjs/components/FileMenu/__tests__/FileMenu.spec.js +28 -51
  105. package/build/cjs/components/FileMenu/__tests__/GetLinkDialog.spec.js +0 -9
  106. package/build/cjs/components/FileMenu/__tests__/RenameDialog.spec.js +1 -9
  107. package/build/cjs/components/FileMenu/__tests__/SaveAsDialog.spec.js +1 -9
  108. package/build/cjs/components/FileMenu/utils.js +4 -19
  109. package/build/cjs/components/Filter/Filter.js +1 -9
  110. package/build/cjs/components/Filter/__tests__/Filter.spec.js +0 -8
  111. package/build/cjs/components/Filter/styles/Filter.style.js +1 -3
  112. package/build/cjs/components/Interpretations/InterpretationModal/Comment.js +0 -12
  113. package/build/cjs/components/Interpretations/InterpretationModal/CommentAddForm.js +1 -14
  114. package/build/cjs/components/Interpretations/InterpretationModal/CommentDeleteButton.js +1 -11
  115. package/build/cjs/components/Interpretations/InterpretationModal/CommentUpdateForm.js +2 -14
  116. package/build/cjs/components/Interpretations/InterpretationModal/InterpretationModal.js +2 -26
  117. package/build/cjs/components/Interpretations/InterpretationModal/InterpretationThread.js +0 -15
  118. package/build/cjs/components/Interpretations/InterpretationModal/index.js +0 -1
  119. package/build/cjs/components/Interpretations/InterpretationModal/useModalContentWidth.js +0 -7
  120. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationForm.js +2 -15
  121. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationList.js +1 -16
  122. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +2 -15
  123. package/build/cjs/components/Interpretations/InterpretationsUnit/index.js +0 -1
  124. package/build/cjs/components/Interpretations/common/Interpretation/Interpretation.js +0 -13
  125. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +0 -10
  126. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +1 -11
  127. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +1 -14
  128. package/build/cjs/components/Interpretations/common/Interpretation/index.js +0 -2
  129. package/build/cjs/components/Interpretations/common/Interpretation/useLike.js +1 -7
  130. package/build/cjs/components/Interpretations/common/Message/Message.js +1 -10
  131. package/build/cjs/components/Interpretations/common/Message/MessageButtonStrip.js +1 -8
  132. package/build/cjs/components/Interpretations/common/Message/MessageEditorContainer.js +1 -8
  133. package/build/cjs/components/Interpretations/common/Message/MessageIconButton.js +5 -13
  134. package/build/cjs/components/Interpretations/common/Message/MessageInput.js +2 -10
  135. package/build/cjs/components/Interpretations/common/Message/MessageStatsBar.js +1 -8
  136. package/build/cjs/components/Interpretations/common/Message/index.js +0 -6
  137. package/build/cjs/components/Interpretations/common/RichTextEditor/RichTextEditor.js +15 -35
  138. package/build/cjs/components/Interpretations/common/RichTextEditor/index.js +0 -1
  139. package/build/cjs/components/Interpretations/common/RichTextEditor/markdownHandler.js +4 -22
  140. package/build/cjs/components/Interpretations/common/RichTextEditor/styles/RichTextEditor.style.js +3 -5
  141. package/build/cjs/components/Interpretations/common/UserMention/UserList.js +1 -9
  142. package/build/cjs/components/Interpretations/common/UserMention/UserMentionWrapper.js +18 -46
  143. package/build/cjs/components/Interpretations/common/UserMention/styles/UserMentionWrapper.style.js +1 -6
  144. package/build/cjs/components/Interpretations/common/UserMention/useUserSearchResults.js +1 -9
  145. package/build/cjs/components/Interpretations/common/index.js +0 -6
  146. package/build/cjs/components/LegendKey/LegendKey.js +9 -17
  147. package/build/cjs/components/LegendKey/styles/LegendKey.style.js +1 -3
  148. package/build/cjs/components/OfflineTooltip.js +1 -12
  149. package/build/cjs/components/OpenFileDialog/CreatedByFilter.js +1 -8
  150. package/build/cjs/components/OpenFileDialog/CustomSelectOption.js +2 -13
  151. package/build/cjs/components/OpenFileDialog/DateField.js +0 -6
  152. package/build/cjs/components/OpenFileDialog/FileList.js +0 -8
  153. package/build/cjs/components/OpenFileDialog/NameFilter.js +0 -7
  154. package/build/cjs/components/OpenFileDialog/OpenFileDialog.js +29 -64
  155. package/build/cjs/components/OpenFileDialog/OpenFileDialog.styles.js +1 -3
  156. package/build/cjs/components/OpenFileDialog/PaginationControls.js +0 -7
  157. package/build/cjs/components/OpenFileDialog/VisTypeFilter.js +0 -10
  158. package/build/cjs/components/OpenFileDialog/styles/CustomSelectOption.style.js +1 -3
  159. package/build/cjs/components/OpenFileDialog/utils.js +0 -5
  160. package/build/cjs/components/Options/VisualizationOptions.js +0 -16
  161. package/build/cjs/components/Options/styles/VisualizationOptions.style.js +11 -14
  162. package/build/cjs/components/OrgUnitDimension/OrgUnitDimension.js +12 -47
  163. package/build/cjs/components/OrgUnitDimension/styles/OrgUnitDimension.style.js +1 -3
  164. package/build/cjs/components/PeriodDimension/FixedPeriodFilter.js +5 -16
  165. package/build/cjs/components/PeriodDimension/FixedPeriodSelect.js +5 -27
  166. package/build/cjs/components/PeriodDimension/PeriodDimension.js +0 -11
  167. package/build/cjs/components/PeriodDimension/PeriodTransfer.js +12 -41
  168. package/build/cjs/components/PeriodDimension/RelativePeriodFilter.js +2 -13
  169. package/build/cjs/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +0 -7
  170. package/build/cjs/components/PeriodDimension/__tests__/PeriodDimension.spec.js +0 -7
  171. package/build/cjs/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -7
  172. package/build/cjs/components/PeriodDimension/__tests__/fixedPeriods.spec.js +2 -2
  173. package/build/cjs/components/PeriodDimension/__tests__/utils.spec.js +0 -3
  174. package/build/cjs/components/PeriodDimension/styles/FixedPeriodSelect.style.js +1 -3
  175. package/build/cjs/components/PeriodDimension/styles/PeriodFilter.style.js +1 -3
  176. package/build/cjs/components/PeriodDimension/utils/fixedPeriods.js +2 -35
  177. package/build/cjs/components/PeriodDimension/utils/index.js +0 -2
  178. package/build/cjs/components/PeriodDimension/utils/relativePeriods.js +0 -19
  179. package/build/cjs/components/PivotTable/PivotTable.js +0 -15
  180. package/build/cjs/components/PivotTable/PivotTableBody.js +0 -8
  181. package/build/cjs/components/PivotTable/PivotTableCell.js +4 -14
  182. package/build/cjs/components/PivotTable/PivotTableClippedAxis.js +0 -5
  183. package/build/cjs/components/PivotTable/PivotTableColumnHeaderCell.js +4 -18
  184. package/build/cjs/components/PivotTable/PivotTableColumnHeaders.js +0 -11
  185. package/build/cjs/components/PivotTable/PivotTableContainer.js +2 -11
  186. package/build/cjs/components/PivotTable/PivotTableDimensionLabelCell.js +4 -16
  187. package/build/cjs/components/PivotTable/PivotTableEmptyCell.js +3 -10
  188. package/build/cjs/components/PivotTable/PivotTableEmptyRow.js +0 -7
  189. package/build/cjs/components/PivotTable/PivotTableEngineContext.js +0 -10
  190. package/build/cjs/components/PivotTable/PivotTableHead.js +0 -7
  191. package/build/cjs/components/PivotTable/PivotTableHeaderCell.js +0 -5
  192. package/build/cjs/components/PivotTable/PivotTableRow.js +0 -11
  193. package/build/cjs/components/PivotTable/PivotTableRowHeaderCell.js +2 -10
  194. package/build/cjs/components/PivotTable/PivotTableSortIcon.js +2 -14
  195. package/build/cjs/components/PivotTable/PivotTableTitleRow.js +2 -13
  196. package/build/cjs/components/PivotTable/PivotTableTitleRows.js +0 -9
  197. package/build/cjs/components/PivotTable/PivotTableValueCell.js +4 -19
  198. package/build/cjs/components/PivotTable/icons/SortIconAscending.js +0 -4
  199. package/build/cjs/components/PivotTable/icons/SortIconDescending.js +0 -4
  200. package/build/cjs/components/PivotTable/icons/SortIconIdle.js +0 -4
  201. package/build/cjs/components/PivotTable/styles/PivotTable.style.js +3 -6
  202. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuBar.js +0 -14
  203. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +1 -14
  204. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuList.js +1 -16
  205. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +4 -21
  206. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.styles.js +1 -3
  207. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +0 -50
  208. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +1 -4
  209. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +2 -6
  210. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +1 -6
  211. package/build/cjs/components/Toolbar/HoverMenuBar/index.js +0 -4
  212. package/build/cjs/components/Toolbar/InterpretationsAndDetailsToggler.js +1 -10
  213. package/build/cjs/components/Toolbar/MenuButton.styles.js +1 -3
  214. package/build/cjs/components/Toolbar/Toolbar.js +1 -8
  215. package/build/cjs/components/Toolbar/ToolbarSidebar.js +1 -9
  216. package/build/cjs/components/Toolbar/UpdateButton.js +2 -13
  217. package/build/cjs/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +0 -5
  218. package/build/cjs/components/Toolbar/__tests__/Toolbar.spec.js +0 -4
  219. package/build/cjs/components/Toolbar/__tests__/ToolbarSidebar.spec.js +0 -4
  220. package/build/cjs/components/Toolbar/__tests__/UpdateButton.spec.js +0 -5
  221. package/build/cjs/components/Toolbar/index.js +0 -6
  222. package/build/cjs/components/TransferOption.js +7 -20
  223. package/build/cjs/components/TranslationDialog/TranslationModal/LocalesSelect.js +2 -12
  224. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationForm.js +3 -27
  225. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModal.js +0 -12
  226. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModalActions.js +0 -11
  227. package/build/cjs/components/TranslationDialog/TranslationModal/useTranslationsResults.js +1 -7
  228. package/build/cjs/components/TranslationDialog/index.js +0 -1
  229. package/build/cjs/components/VisTypeIcon.js +0 -24
  230. package/build/cjs/components/styles/DimensionSelector.style.js +1 -3
  231. package/build/cjs/components/styles/DimensionsPanel.style.js +0 -2
  232. package/build/cjs/components/styles/TransferOption.style.js +1 -3
  233. package/build/cjs/index.js +0 -84
  234. package/build/cjs/locales/es/translations.json +34 -34
  235. package/build/cjs/locales/index.js +1 -74
  236. package/build/cjs/locales/nl/translations.json +1 -1
  237. package/build/cjs/modules/__tests__/expressions.spec.js +4 -4
  238. package/build/cjs/modules/__tests__/getAdaptedUiLayoutByType.spec.js +0 -4
  239. package/build/cjs/modules/__tests__/getColorByValueFromLegendSet.spec.js +1 -2
  240. package/build/cjs/modules/__tests__/getOuLevelAndGroupText.spec.js +0 -1
  241. package/build/cjs/modules/__tests__/hash.spec.js +0 -2
  242. package/build/cjs/modules/__tests__/parseExpression.spec.js +0 -1
  243. package/build/cjs/modules/__tests__/renderValue.spec.js +19 -13
  244. package/build/cjs/modules/axis.js +1 -17
  245. package/build/cjs/modules/dataSets.js +0 -3
  246. package/build/cjs/modules/dataTypes.js +0 -9
  247. package/build/cjs/modules/dimensionListItem.js +0 -24
  248. package/build/cjs/modules/expressions.js +2 -21
  249. package/build/cjs/modules/fontStyle.js +15 -27
  250. package/build/cjs/modules/getAdaptedUiLayoutByType.js +7 -39
  251. package/build/cjs/modules/getOuLevelAndGroupText.js +0 -18
  252. package/build/cjs/modules/hash.js +0 -10
  253. package/build/cjs/modules/layout/__tests__/axisGetAllItems.spec.js +0 -2
  254. package/build/cjs/modules/layout/__tests__/axisGetDimension.spec.js +0 -3
  255. package/build/cjs/modules/layout/__tests__/axisGetDimensionIds.spec.js +0 -5
  256. package/build/cjs/modules/layout/__tests__/axisHasDataDimension.spec.js +0 -2
  257. package/build/cjs/modules/layout/__tests__/axisHasDimension.spec.js +0 -3
  258. package/build/cjs/modules/layout/__tests__/axisHasOuDimension.spec.js +0 -2
  259. package/build/cjs/modules/layout/__tests__/axisHasPeriodDimension.spec.js +0 -2
  260. package/build/cjs/modules/layout/__tests__/axisIsEmpty.spec.js +0 -2
  261. package/build/cjs/modules/layout/__tests__/dimensionCreate.spec.js +0 -5
  262. package/build/cjs/modules/layout/__tests__/dimensionGetId.spec.js +0 -3
  263. package/build/cjs/modules/layout/__tests__/dimensionGetItemIds.spec.js +0 -4
  264. package/build/cjs/modules/layout/__tests__/dimensionGetItems.spec.js +0 -3
  265. package/build/cjs/modules/layout/__tests__/dimensionHasRelativeItems.spec.js +0 -2
  266. package/build/cjs/modules/layout/__tests__/dimensionIs.spec.js +0 -3
  267. package/build/cjs/modules/layout/__tests__/dimensionIsEmpty.spec.js +0 -2
  268. package/build/cjs/modules/layout/__tests__/dimensionIsValid.spec.js +0 -2
  269. package/build/cjs/modules/layout/__tests__/itemGetId.spec.js +0 -3
  270. package/build/cjs/modules/layout/__tests__/itemIsValid.spec.js +0 -2
  271. package/build/cjs/modules/layout/__tests__/layoutFilterDimensions.spec.js +0 -5
  272. package/build/cjs/modules/layout/__tests__/layoutGetAllAxes.spec.js +0 -2
  273. package/build/cjs/modules/layout/__tests__/layoutGetAllDimensions.spec.js +0 -2
  274. package/build/cjs/modules/layout/__tests__/layoutGetAllItemIds.spec.js +0 -3
  275. package/build/cjs/modules/layout/__tests__/layoutGetAllItems.spec.js +0 -2
  276. package/build/cjs/modules/layout/__tests__/layoutGetAxisIdDimensionIdsObject.spec.js +0 -4
  277. package/build/cjs/modules/layout/__tests__/layoutGetDimension.spec.js +0 -3
  278. package/build/cjs/modules/layout/__tests__/layoutGetDimensionIdItemIdsObject.spec.js +0 -6
  279. package/build/cjs/modules/layout/__tests__/layoutGetDimensionItems.spec.js +0 -3
  280. package/build/cjs/modules/layout/__tests__/layoutHasDataDimension.spec.js +2 -4
  281. package/build/cjs/modules/layout/__tests__/layoutHasDimension.spec.js +2 -5
  282. package/build/cjs/modules/layout/__tests__/layoutHasDynamicDimension.spec.js +2 -4
  283. package/build/cjs/modules/layout/__tests__/layoutHasPeriodDimension.spec.js +2 -4
  284. package/build/cjs/modules/layout/__tests__/layoutReplaceDimension.spec.js +0 -3
  285. package/build/cjs/modules/layout/axis.js +5 -3
  286. package/build/cjs/modules/layout/axisGetAllItems.js +0 -3
  287. package/build/cjs/modules/layout/axisGetDimension.js +0 -4
  288. package/build/cjs/modules/layout/axisGetDimensionIds.js +0 -4
  289. package/build/cjs/modules/layout/axisHasDataDimension.js +0 -4
  290. package/build/cjs/modules/layout/axisHasDimension.js +0 -3
  291. package/build/cjs/modules/layout/axisHasOuDimension.js +0 -4
  292. package/build/cjs/modules/layout/axisHasPeriodDimension.js +0 -4
  293. package/build/cjs/modules/layout/axisHasRelativeItems.js +0 -3
  294. package/build/cjs/modules/layout/axisIsEmpty.js +0 -2
  295. package/build/cjs/modules/layout/dimension.js +3 -5
  296. package/build/cjs/modules/layout/dimensionCreate.js +0 -3
  297. package/build/cjs/modules/layout/dimensionGetId.js +1 -5
  298. package/build/cjs/modules/layout/dimensionGetItemIds.js +0 -4
  299. package/build/cjs/modules/layout/dimensionGetItems.js +0 -4
  300. package/build/cjs/modules/layout/dimensionHasRelativeItems.js +0 -5
  301. package/build/cjs/modules/layout/dimensionIs.js +0 -3
  302. package/build/cjs/modules/layout/dimensionIsEmpty.js +0 -3
  303. package/build/cjs/modules/layout/dimensionIsValid.js +0 -9
  304. package/build/cjs/modules/layout/item.js +3 -5
  305. package/build/cjs/modules/layout/itemGetId.js +0 -3
  306. package/build/cjs/modules/layout/itemIsValid.js +0 -5
  307. package/build/cjs/modules/layout/layout.js +0 -3
  308. package/build/cjs/modules/layout/layoutFilterDimensions.js +0 -6
  309. package/build/cjs/modules/layout/layoutGetAllAxes.js +0 -3
  310. package/build/cjs/modules/layout/layoutGetAllDimensions.js +0 -3
  311. package/build/cjs/modules/layout/layoutGetAllItemIds.js +0 -4
  312. package/build/cjs/modules/layout/layoutGetAllItems.js +0 -4
  313. package/build/cjs/modules/layout/layoutGetAxisIdDimensionIdsObject.js +0 -5
  314. package/build/cjs/modules/layout/layoutGetDimension.js +0 -4
  315. package/build/cjs/modules/layout/layoutGetDimensionIdItemIdsObject.js +0 -5
  316. package/build/cjs/modules/layout/layoutGetDimensionItems.js +0 -4
  317. package/build/cjs/modules/layout/layoutHasDataDimension.js +0 -4
  318. package/build/cjs/modules/layout/layoutHasDimension.js +0 -3
  319. package/build/cjs/modules/layout/layoutHasDynamicDimension.js +0 -5
  320. package/build/cjs/modules/layout/layoutHasPeriodDimension.js +0 -4
  321. package/build/cjs/modules/layout/layoutReplaceDimension.js +0 -8
  322. package/build/cjs/modules/layout/testResources.js +7 -9
  323. package/build/cjs/modules/layoutUiRules/__tests__/rules.spec.js +6 -14
  324. package/build/cjs/modules/layoutUiRules/index.js +0 -2
  325. package/build/cjs/modules/layoutUiRules/rules.js +10 -26
  326. package/build/cjs/modules/layoutUiRules/rulesHelper.js +1 -11
  327. package/build/cjs/modules/layoutUiRules/rulesUtils.js +6 -16
  328. package/build/cjs/modules/legends.js +0 -8
  329. package/build/cjs/modules/list.js +0 -4
  330. package/build/cjs/modules/ouIdHelper/__tests__/index.spec.js +0 -1
  331. package/build/cjs/modules/ouIdHelper/index.js +2 -8
  332. package/build/cjs/modules/ouLevelUtils/__tests__/index.spec.js +0 -1
  333. package/build/cjs/modules/ouLevelUtils/index.js +0 -13
  334. package/build/cjs/modules/outliers/__tests__/index.spec.js +0 -1
  335. package/build/cjs/modules/outliers/__tests__/iqr.spec.js +0 -1
  336. package/build/cjs/modules/outliers/__tests__/modZScore.spec.js +0 -1
  337. package/build/cjs/modules/outliers/__tests__/xyStats.spec.js +0 -1
  338. package/build/cjs/modules/outliers/index.js +6 -28
  339. package/build/cjs/modules/outliers/iqr.js +0 -19
  340. package/build/cjs/modules/outliers/modZScore.js +10 -34
  341. package/build/cjs/modules/outliers/normalization.js +2 -9
  342. package/build/cjs/modules/outliers/xyStats.js +0 -4
  343. package/build/cjs/modules/outliers/zScore.js +0 -13
  344. package/build/cjs/modules/pivotTable/AdaptiveClippingController.js +4 -33
  345. package/build/cjs/modules/pivotTable/PivotTableEngine.js +20 -190
  346. package/build/cjs/modules/pivotTable/applyLegendSet.js +0 -23
  347. package/build/cjs/modules/pivotTable/clipAxis.js +3 -6
  348. package/build/cjs/modules/pivotTable/clipPartitionedAxis.js +0 -8
  349. package/build/cjs/modules/pivotTable/getHeaderForDisplay.js +0 -9
  350. package/build/cjs/modules/pivotTable/isColorBright.js +0 -6
  351. package/build/cjs/modules/pivotTable/measureText.js +5 -21
  352. package/build/cjs/modules/pivotTable/parseValue.js +0 -4
  353. package/build/cjs/modules/pivotTable/useParentSize.js +0 -11
  354. package/build/cjs/modules/pivotTable/useScrollPosition.js +0 -7
  355. package/build/cjs/modules/pivotTable/useSortableColumns.js +0 -7
  356. package/build/cjs/modules/pivotTable/useTableClipping.js +0 -6
  357. package/build/cjs/modules/predefinedDimensions.js +2 -18
  358. package/build/cjs/modules/relativeItems/__tests__/index.spec.js +0 -2
  359. package/build/cjs/modules/relativeItems/index.js +0 -5
  360. package/build/cjs/modules/renderValue.js +0 -18
  361. package/build/cjs/modules/utils.js +0 -5
  362. package/build/cjs/modules/valueTypes.js +1 -3
  363. package/build/cjs/modules/visTypeToLayoutType.js +0 -5
  364. package/build/cjs/modules/visTypes.js +1 -27
  365. package/build/cjs/visualizations/config/adapters/dhis_dhis/index.js +2 -8
  366. package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/index.spec.js +0 -3
  367. package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/singleValue.spec.js +0 -2
  368. package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/index.js +0 -11
  369. package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/singleValue.js +0 -3
  370. package/build/cjs/visualizations/config/adapters/dhis_dhis/title/__tests__/index.spec.js +0 -3
  371. package/build/cjs/visualizations/config/adapters/dhis_dhis/title/__tests__/singleValue.spec.js +0 -2
  372. package/build/cjs/visualizations/config/adapters/dhis_dhis/title/index.js +0 -10
  373. package/build/cjs/visualizations/config/adapters/dhis_dhis/title/singleValue.js +0 -4
  374. package/build/cjs/visualizations/config/adapters/dhis_dhis/type.js +0 -3
  375. package/build/cjs/visualizations/config/adapters/dhis_dhis/value/index.js +3 -7
  376. package/build/cjs/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +30 -113
  377. package/build/cjs/visualizations/config/adapters/dhis_highcharts/axis.js +6 -37
  378. package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart.js +0 -5
  379. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customAxes.js +8 -10
  380. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getAxisTitle.js +1 -8
  381. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getCategories.js +0 -3
  382. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getCumulativeData.js +6 -15
  383. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getFormatter.js +0 -3
  384. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getScatterData.js +0 -2
  385. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getSortedConfig.js +7 -19
  386. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getStackedData.js +0 -4
  387. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getSteps.js +0 -3
  388. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getTextAlignOption.js +0 -7
  389. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +4 -31
  390. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getTwoCategorySplitSerieData.js +0 -2
  391. package/build/cjs/visualizations/config/adapters/dhis_highcharts/index.js +21 -56
  392. package/build/cjs/visualizations/config/adapters/dhis_highcharts/legend.js +1 -8
  393. package/build/cjs/visualizations/config/adapters/dhis_highcharts/legendSet.js +5 -14
  394. package/build/cjs/visualizations/config/adapters/dhis_highcharts/noData.js +0 -1
  395. package/build/cjs/visualizations/config/adapters/dhis_highcharts/pane/gauge.js +0 -1
  396. package/build/cjs/visualizations/config/adapters/dhis_highcharts/pane/index.js +0 -5
  397. package/build/cjs/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -15
  398. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/gauge.js +0 -5
  399. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/index.js +13 -48
  400. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/pie.js +0 -1
  401. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/scatter.js +9 -11
  402. package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/gauge.js +0 -3
  403. package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +3 -18
  404. package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/index.js +1 -18
  405. package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/scatter.js +1 -5
  406. package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/yearOverYear.js +0 -6
  407. package/build/cjs/visualizations/config/adapters/dhis_highcharts/type.js +0 -9
  408. package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -28
  409. package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/radar.js +0 -11
  410. package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/scatter.js +0 -12
  411. package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/twoCategory.js +4 -11
  412. package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/yearOnYear.js +0 -11
  413. package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +3 -28
  414. package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +8 -37
  415. package/build/cjs/visualizations/config/adapters/index.js +0 -4
  416. package/build/cjs/visualizations/config/generators/dhis/index.js +0 -8
  417. package/build/cjs/visualizations/config/generators/dhis/singleValue.js +41 -70
  418. package/build/cjs/visualizations/config/generators/highcharts/index.js +9 -24
  419. package/build/cjs/visualizations/config/generators/index.js +0 -4
  420. package/build/cjs/visualizations/config/index.js +9 -22
  421. package/build/cjs/visualizations/config/validators/dhis/index.js +0 -1
  422. package/build/cjs/visualizations/config/validators/index.js +0 -4
  423. package/build/cjs/visualizations/index.js +0 -10
  424. package/build/cjs/visualizations/store/adapters/dhis_dhis/index.js +3 -13
  425. package/build/cjs/visualizations/store/adapters/dhis_dhis/singleValue.js +0 -1
  426. package/build/cjs/visualizations/store/adapters/dhis_highcharts/gauge.js +0 -1
  427. package/build/cjs/visualizations/store/adapters/dhis_highcharts/index.js +8 -26
  428. package/build/cjs/visualizations/store/adapters/dhis_highcharts/pie.js +0 -2
  429. package/build/cjs/visualizations/store/adapters/dhis_highcharts/twoCategory.js +3 -6
  430. package/build/cjs/visualizations/store/adapters/dhis_highcharts/yearOnYear.js +3 -4
  431. package/build/cjs/visualizations/store/adapters/index.js +0 -4
  432. package/build/cjs/visualizations/store/index.js +2 -12
  433. package/build/cjs/visualizations/store/validators/dhis/index.js +6 -22
  434. package/build/cjs/visualizations/store/validators/index.js +0 -4
  435. package/build/cjs/visualizations/util/__tests__/getFilterText.spec.js +0 -2
  436. package/build/cjs/visualizations/util/axes.js +0 -2
  437. package/build/cjs/visualizations/util/axisId.js +1 -3
  438. package/build/cjs/visualizations/util/colors/colorSets.js +0 -4
  439. package/build/cjs/visualizations/util/colors/gradientColorGenerator.js +3 -10
  440. package/build/cjs/visualizations/util/colors/index.js +0 -3
  441. package/build/cjs/visualizations/util/getFilterText.js +4 -13
  442. package/build/es/__demo__/DimensionsPanel.stories.js +0 -2
  443. package/build/es/__demo__/FileMenu.stories.js +2 -1
  444. package/build/es/__demo__/Filter.stories.js +0 -5
  445. package/build/es/__demo__/OpenFileDialog.stories.js +1 -3
  446. package/build/es/__demo__/OrgUnitDimension.stories.js +1 -3
  447. package/build/es/__demo__/PivotTable.stories.js +100 -57
  448. package/build/es/__demo__/Toolbar.stories.js +0 -2
  449. package/build/es/__fixtures__/fixtures.js +0 -5
  450. package/build/es/api/__tests__/dimensions.spec.js +0 -2
  451. package/build/es/api/analytics/Analytics.js +2 -6
  452. package/build/es/api/analytics/AnalyticsAggregate.js +3 -7
  453. package/build/es/api/analytics/AnalyticsBase.js +8 -17
  454. package/build/es/api/analytics/AnalyticsEnrollments.js +1 -3
  455. package/build/es/api/analytics/AnalyticsEvents.js +4 -9
  456. package/build/es/api/analytics/AnalyticsRequest.js +16 -27
  457. package/build/es/api/analytics/AnalyticsRequestBase.js +8 -25
  458. package/build/es/api/analytics/AnalyticsRequestDimensionsMixin.js +4 -14
  459. package/build/es/api/analytics/AnalyticsRequestFiltersMixin.js +4 -14
  460. package/build/es/api/analytics/AnalyticsRequestPropertiesMixin.js +57 -138
  461. package/build/es/api/analytics/AnalyticsResponse.js +21 -41
  462. package/build/es/api/analytics/AnalyticsResponseHeader.js +0 -5
  463. package/build/es/api/analytics/__mocks__/DataEngine.js +0 -4
  464. package/build/es/api/analytics/__tests__/AnalyticsAggregate.spec.js +11 -1
  465. package/build/es/api/analytics/__tests__/AnalyticsRequest.spec.js +17 -15
  466. package/build/es/api/analytics/__tests__/AnalyticsRequestBase.spec.js +4 -6
  467. package/build/es/api/analytics/__tests__/AnalyticsResponse.spec.js +3 -1
  468. package/build/es/api/analytics/__tests__/AnalyticsResponseHeader.spec.js +2 -1
  469. package/build/es/api/analytics/utils.js +1 -1
  470. package/build/es/api/dimensions.js +43 -78
  471. package/build/es/api/index.js +1 -0
  472. package/build/es/api/organisationUnits.js +5 -4
  473. package/build/es/assets/AssignedCategoriesIcon.js +0 -2
  474. package/build/es/assets/DynamicDimensionIcon.js +0 -2
  475. package/build/es/assets/FormulaIcon.js +0 -2
  476. package/build/es/components/AboutAOUnit/AboutAOUnit.js +19 -31
  477. package/build/es/components/AboutAOUnit/styles/AboutAOUnit.style.js +1 -1
  478. package/build/es/components/CachedDataQueryProvider.js +0 -7
  479. package/build/es/components/DataDimension/Calculation/CalculationModal.js +26 -54
  480. package/build/es/components/DataDimension/Calculation/DataElementOption.js +6 -10
  481. package/build/es/components/DataDimension/Calculation/DataElementSelector.js +16 -35
  482. package/build/es/components/DataDimension/Calculation/DndContext.js +6 -28
  483. package/build/es/components/DataDimension/Calculation/DraggingItem.js +3 -5
  484. package/build/es/components/DataDimension/Calculation/DropZone.js +1 -5
  485. package/build/es/components/DataDimension/Calculation/FormulaField.js +5 -8
  486. package/build/es/components/DataDimension/Calculation/FormulaItem.js +13 -26
  487. package/build/es/components/DataDimension/Calculation/MathOperatorSelector.js +4 -6
  488. package/build/es/components/DataDimension/Calculation/Operator.js +5 -9
  489. package/build/es/components/DataDimension/Calculation/styles/CalculationModal.style.js +1 -1
  490. package/build/es/components/DataDimension/Calculation/styles/DataElementOption.style.js +1 -1
  491. package/build/es/components/DataDimension/Calculation/styles/DataElementSelector.style.js +1 -1
  492. package/build/es/components/DataDimension/Calculation/styles/DraggingItem.style.js +1 -1
  493. package/build/es/components/DataDimension/Calculation/styles/DropZone.style.js +1 -1
  494. package/build/es/components/DataDimension/Calculation/styles/FormulaField.style.js +1 -1
  495. package/build/es/components/DataDimension/Calculation/styles/FormulaItem.style.js +1 -1
  496. package/build/es/components/DataDimension/Calculation/styles/MathOperatorSelector.style.js +1 -1
  497. package/build/es/components/DataDimension/Calculation/styles/Operator.style.js +1 -1
  498. package/build/es/components/DataDimension/DataDimension.js +1 -5
  499. package/build/es/components/DataDimension/DataTypeSelector.js +3 -6
  500. package/build/es/components/DataDimension/DetailSelector.js +2 -4
  501. package/build/es/components/DataDimension/GroupSelector.js +7 -12
  502. package/build/es/components/DataDimension/ItemSelector.js +45 -74
  503. package/build/es/components/DataDimension/MetricSelector.js +3 -3
  504. package/build/es/components/DataDimension/styles/DataTypeSelector.style.js +1 -1
  505. package/build/es/components/DataDimension/styles/DetailSelector.style.js +1 -1
  506. package/build/es/components/DataDimension/styles/GroupSelector.style.js +1 -1
  507. package/build/es/components/DataDimension/styles/MetricSelector.style.js +1 -1
  508. package/build/es/components/DimensionMenu.js +18 -24
  509. package/build/es/components/DimensionsPanel/DimensionsPanel.js +5 -10
  510. package/build/es/components/DimensionsPanel/List/DimensionItem.js +11 -21
  511. package/build/es/components/DimensionsPanel/List/DimensionList.js +11 -21
  512. package/build/es/components/DimensionsPanel/List/OptionsButton.js +0 -2
  513. package/build/es/components/DimensionsPanel/List/RecommendedIcon.js +0 -2
  514. package/build/es/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +0 -3
  515. package/build/es/components/DimensionsPanel/List/styles/DimensionList.style.js +2 -2
  516. package/build/es/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +0 -3
  517. package/build/es/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -1
  518. package/build/es/components/DynamicDimension/DynamicDimension.js +4 -10
  519. package/build/es/components/DynamicDimension/ItemSelector.js +15 -29
  520. package/build/es/components/DynamicDimension/styles/DynamicDimension.style.js +1 -1
  521. package/build/es/components/FileMenu/DeleteDialog.js +0 -2
  522. package/build/es/components/FileMenu/FileMenu.js +0 -12
  523. package/build/es/components/FileMenu/FileMenu.styles.js +2 -2
  524. package/build/es/components/FileMenu/GetLinkDialog.js +5 -4
  525. package/build/es/components/FileMenu/GetLinkDialog.styles.js +1 -1
  526. package/build/es/components/FileMenu/RenameDialog.js +1 -5
  527. package/build/es/components/FileMenu/SaveAsDialog.js +3 -3
  528. package/build/es/components/FileMenu/__tests__/DeleteDialog.spec.js +1 -4
  529. package/build/es/components/FileMenu/__tests__/FileMenu.spec.js +28 -20
  530. package/build/es/components/FileMenu/__tests__/GetLinkDialog.spec.js +0 -3
  531. package/build/es/components/FileMenu/__tests__/RenameDialog.spec.js +1 -4
  532. package/build/es/components/FileMenu/__tests__/SaveAsDialog.spec.js +1 -4
  533. package/build/es/components/FileMenu/utils.js +4 -10
  534. package/build/es/components/Filter/Filter.js +1 -3
  535. package/build/es/components/Filter/__tests__/Filter.spec.js +0 -3
  536. package/build/es/components/Filter/styles/Filter.style.js +1 -1
  537. package/build/es/components/Interpretations/InterpretationModal/Comment.js +0 -2
  538. package/build/es/components/Interpretations/InterpretationModal/CommentAddForm.js +1 -1
  539. package/build/es/components/Interpretations/InterpretationModal/CommentDeleteButton.js +1 -3
  540. package/build/es/components/Interpretations/InterpretationModal/CommentUpdateForm.js +2 -2
  541. package/build/es/components/Interpretations/InterpretationModal/InterpretationModal.js +2 -13
  542. package/build/es/components/Interpretations/InterpretationModal/InterpretationThread.js +0 -3
  543. package/build/es/components/Interpretations/InterpretationModal/useModalContentWidth.js +0 -3
  544. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationForm.js +2 -2
  545. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationList.js +1 -8
  546. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +2 -2
  547. package/build/es/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +0 -2
  548. package/build/es/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +1 -3
  549. package/build/es/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +1 -1
  550. package/build/es/components/Interpretations/common/Interpretation/useLike.js +1 -5
  551. package/build/es/components/Interpretations/common/Message/Message.js +1 -3
  552. package/build/es/components/Interpretations/common/Message/MessageButtonStrip.js +1 -3
  553. package/build/es/components/Interpretations/common/Message/MessageEditorContainer.js +1 -3
  554. package/build/es/components/Interpretations/common/Message/MessageIconButton.js +6 -8
  555. package/build/es/components/Interpretations/common/Message/MessageInput.js +2 -4
  556. package/build/es/components/Interpretations/common/Message/MessageStatsBar.js +1 -3
  557. package/build/es/components/Interpretations/common/RichTextEditor/RichTextEditor.js +15 -23
  558. package/build/es/components/Interpretations/common/RichTextEditor/markdownHandler.js +4 -19
  559. package/build/es/components/Interpretations/common/RichTextEditor/styles/RichTextEditor.style.js +3 -3
  560. package/build/es/components/Interpretations/common/UserMention/UserList.js +1 -2
  561. package/build/es/components/Interpretations/common/UserMention/UserMentionWrapper.js +18 -33
  562. package/build/es/components/Interpretations/common/UserMention/styles/UserMentionWrapper.style.js +1 -2
  563. package/build/es/components/Interpretations/common/UserMention/useUserSearchResults.js +1 -2
  564. package/build/es/components/LegendKey/LegendKey.js +9 -11
  565. package/build/es/components/LegendKey/styles/LegendKey.style.js +1 -1
  566. package/build/es/components/OfflineTooltip.js +1 -3
  567. package/build/es/components/OpenFileDialog/CreatedByFilter.js +3 -1
  568. package/build/es/components/OpenFileDialog/CustomSelectOption.js +2 -4
  569. package/build/es/components/OpenFileDialog/OpenFileDialog.js +29 -45
  570. package/build/es/components/OpenFileDialog/OpenFileDialog.styles.js +1 -1
  571. package/build/es/components/OpenFileDialog/styles/CustomSelectOption.style.js +1 -1
  572. package/build/es/components/Options/VisualizationOptions.js +0 -8
  573. package/build/es/components/Options/styles/VisualizationOptions.style.js +11 -12
  574. package/build/es/components/OrgUnitDimension/OrgUnitDimension.js +12 -31
  575. package/build/es/components/OrgUnitDimension/styles/OrgUnitDimension.style.js +1 -1
  576. package/build/es/components/PeriodDimension/FixedPeriodFilter.js +5 -7
  577. package/build/es/components/PeriodDimension/FixedPeriodSelect.js +5 -17
  578. package/build/es/components/PeriodDimension/PeriodDimension.js +0 -4
  579. package/build/es/components/PeriodDimension/PeriodTransfer.js +12 -25
  580. package/build/es/components/PeriodDimension/RelativePeriodFilter.js +2 -4
  581. package/build/es/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +0 -3
  582. package/build/es/components/PeriodDimension/__tests__/PeriodDimension.spec.js +0 -3
  583. package/build/es/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -3
  584. package/build/es/components/PeriodDimension/__tests__/fixedPeriods.spec.js +2 -1
  585. package/build/es/components/PeriodDimension/styles/FixedPeriodSelect.style.js +1 -1
  586. package/build/es/components/PeriodDimension/styles/PeriodFilter.style.js +1 -1
  587. package/build/es/components/PeriodDimension/utils/fixedPeriods.js +2 -23
  588. package/build/es/components/PeriodDimension/utils/relativePeriods.js +0 -11
  589. package/build/es/components/PivotTable/PivotTable.js +0 -2
  590. package/build/es/components/PivotTable/PivotTableCell.js +4 -6
  591. package/build/es/components/PivotTable/PivotTableColumnHeaderCell.js +4 -7
  592. package/build/es/components/PivotTable/PivotTableContainer.js +2 -2
  593. package/build/es/components/PivotTable/PivotTableDimensionLabelCell.js +4 -9
  594. package/build/es/components/PivotTable/PivotTableEmptyCell.js +3 -4
  595. package/build/es/components/PivotTable/PivotTableRowHeaderCell.js +2 -2
  596. package/build/es/components/PivotTable/PivotTableSortIcon.js +2 -2
  597. package/build/es/components/PivotTable/PivotTableTitleRow.js +2 -2
  598. package/build/es/components/PivotTable/PivotTableTitleRows.js +0 -1
  599. package/build/es/components/PivotTable/PivotTableValueCell.js +4 -6
  600. package/build/es/components/PivotTable/styles/PivotTable.style.js +3 -3
  601. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuBar.js +0 -7
  602. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +1 -1
  603. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuList.js +1 -7
  604. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +4 -9
  605. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.styles.js +1 -1
  606. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +0 -2
  607. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +1 -0
  608. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +2 -2
  609. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +1 -0
  610. package/build/es/components/Toolbar/InterpretationsAndDetailsToggler.js +1 -1
  611. package/build/es/components/Toolbar/MenuButton.styles.js +1 -1
  612. package/build/es/components/Toolbar/Toolbar.js +1 -1
  613. package/build/es/components/Toolbar/ToolbarSidebar.js +1 -1
  614. package/build/es/components/Toolbar/UpdateButton.js +2 -2
  615. package/build/es/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +0 -1
  616. package/build/es/components/Toolbar/__tests__/UpdateButton.spec.js +0 -1
  617. package/build/es/components/TransferOption.js +7 -11
  618. package/build/es/components/TranslationDialog/TranslationModal/LocalesSelect.js +2 -3
  619. package/build/es/components/TranslationDialog/TranslationModal/TranslationForm.js +3 -15
  620. package/build/es/components/TranslationDialog/TranslationModal/TranslationModalActions.js +0 -2
  621. package/build/es/components/TranslationDialog/TranslationModal/useTranslationsResults.js +1 -1
  622. package/build/es/components/VisTypeIcon.js +0 -17
  623. package/build/es/components/styles/DimensionSelector.style.js +1 -1
  624. package/build/es/components/styles/TransferOption.style.js +1 -1
  625. package/build/es/index.js +53 -19
  626. package/build/es/locales/es/translations.json +34 -34
  627. package/build/es/locales/nl/translations.json +1 -1
  628. package/build/es/modules/__tests__/expressions.spec.js +4 -3
  629. package/build/es/modules/__tests__/getColorByValueFromLegendSet.spec.js +1 -1
  630. package/build/es/modules/__tests__/renderValue.spec.js +19 -10
  631. package/build/es/modules/axis.js +1 -8
  632. package/build/es/modules/dataTypes.js +0 -3
  633. package/build/es/modules/dimensionListItem.js +0 -12
  634. package/build/es/modules/expressions.js +2 -6
  635. package/build/es/modules/fontStyle.js +16 -16
  636. package/build/es/modules/getAdaptedUiLayoutByType.js +7 -22
  637. package/build/es/modules/getOuLevelAndGroupText.js +0 -10
  638. package/build/es/modules/hash.js +0 -3
  639. package/build/es/modules/layout/__tests__/layoutHasDataDimension.spec.js +2 -1
  640. package/build/es/modules/layout/__tests__/layoutHasDimension.spec.js +2 -1
  641. package/build/es/modules/layout/__tests__/layoutHasDynamicDimension.spec.js +2 -1
  642. package/build/es/modules/layout/__tests__/layoutHasPeriodDimension.spec.js +2 -1
  643. package/build/es/modules/layout/axis.js +6 -2
  644. package/build/es/modules/layout/dimension.js +6 -2
  645. package/build/es/modules/layout/dimensionGetId.js +1 -2
  646. package/build/es/modules/layout/dimensionIsValid.js +0 -5
  647. package/build/es/modules/layout/item.js +6 -2
  648. package/build/es/modules/layout/itemIsValid.js +0 -1
  649. package/build/es/modules/layout/layoutGetAxisIdDimensionIdsObject.js +0 -1
  650. package/build/es/modules/layout/layoutReplaceDimension.js +0 -3
  651. package/build/es/modules/layout/testResources.js +12 -4
  652. package/build/es/modules/layoutUiRules/__tests__/rules.spec.js +8 -12
  653. package/build/es/modules/layoutUiRules/rules.js +11 -11
  654. package/build/es/modules/layoutUiRules/rulesHelper.js +3 -1
  655. package/build/es/modules/layoutUiRules/rulesUtils.js +6 -4
  656. package/build/es/modules/legends.js +0 -2
  657. package/build/es/modules/ouIdHelper/index.js +2 -8
  658. package/build/es/modules/ouLevelUtils/index.js +0 -7
  659. package/build/es/modules/outliers/index.js +6 -17
  660. package/build/es/modules/outliers/iqr.js +0 -9
  661. package/build/es/modules/outliers/modZScore.js +13 -9
  662. package/build/es/modules/outliers/normalization.js +3 -5
  663. package/build/es/modules/outliers/xyStats.js +0 -2
  664. package/build/es/modules/outliers/zScore.js +0 -2
  665. package/build/es/modules/pivotTable/AdaptiveClippingController.js +4 -29
  666. package/build/es/modules/pivotTable/PivotTableEngine.js +20 -179
  667. package/build/es/modules/pivotTable/applyLegendSet.js +0 -19
  668. package/build/es/modules/pivotTable/clipAxis.js +3 -2
  669. package/build/es/modules/pivotTable/clipPartitionedAxis.js +0 -6
  670. package/build/es/modules/pivotTable/getHeaderForDisplay.js +0 -7
  671. package/build/es/modules/pivotTable/isColorBright.js +0 -4
  672. package/build/es/modules/pivotTable/measureText.js +5 -18
  673. package/build/es/modules/pivotTable/parseValue.js +0 -2
  674. package/build/es/modules/pivotTable/useParentSize.js +0 -5
  675. package/build/es/modules/pivotTable/useScrollPosition.js +0 -2
  676. package/build/es/modules/pivotTable/useSortableColumns.js +0 -3
  677. package/build/es/modules/predefinedDimensions.js +2 -1
  678. package/build/es/modules/renderValue.js +0 -15
  679. package/build/es/modules/valueTypes.js +1 -0
  680. package/build/es/modules/visTypes.js +1 -3
  681. package/build/es/visualizations/config/adapters/dhis_dhis/index.js +2 -2
  682. package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/index.js +0 -7
  683. package/build/es/visualizations/config/adapters/dhis_dhis/title/index.js +0 -6
  684. package/build/es/visualizations/config/adapters/dhis_dhis/title/singleValue.js +0 -1
  685. package/build/es/visualizations/config/adapters/dhis_dhis/type.js +0 -1
  686. package/build/es/visualizations/config/adapters/dhis_dhis/value/index.js +3 -3
  687. package/build/es/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +30 -101
  688. package/build/es/visualizations/config/adapters/dhis_highcharts/axis.js +6 -19
  689. package/build/es/visualizations/config/adapters/dhis_highcharts/chart.js +0 -2
  690. package/build/es/visualizations/config/adapters/dhis_highcharts/customAxes.js +8 -7
  691. package/build/es/visualizations/config/adapters/dhis_highcharts/getAxisTitle.js +1 -3
  692. package/build/es/visualizations/config/adapters/dhis_highcharts/getCumulativeData.js +6 -11
  693. package/build/es/visualizations/config/adapters/dhis_highcharts/getScatterData.js +0 -1
  694. package/build/es/visualizations/config/adapters/dhis_highcharts/getSortedConfig.js +7 -12
  695. package/build/es/visualizations/config/adapters/dhis_highcharts/getStackedData.js +0 -2
  696. package/build/es/visualizations/config/adapters/dhis_highcharts/getTextAlignOption.js +0 -4
  697. package/build/es/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +4 -26
  698. package/build/es/visualizations/config/adapters/dhis_highcharts/getTwoCategorySplitSerieData.js +0 -1
  699. package/build/es/visualizations/config/adapters/dhis_highcharts/index.js +21 -32
  700. package/build/es/visualizations/config/adapters/dhis_highcharts/legend.js +1 -4
  701. package/build/es/visualizations/config/adapters/dhis_highcharts/legendSet.js +5 -6
  702. package/build/es/visualizations/config/adapters/dhis_highcharts/pane/index.js +0 -1
  703. package/build/es/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -9
  704. package/build/es/visualizations/config/adapters/dhis_highcharts/series/gauge.js +0 -1
  705. package/build/es/visualizations/config/adapters/dhis_highcharts/series/index.js +13 -32
  706. package/build/es/visualizations/config/adapters/dhis_highcharts/series/scatter.js +9 -6
  707. package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/gauge.js +2 -1
  708. package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +3 -10
  709. package/build/es/visualizations/config/adapters/dhis_highcharts/title/index.js +1 -9
  710. package/build/es/visualizations/config/adapters/dhis_highcharts/title/scatter.js +1 -2
  711. package/build/es/visualizations/config/adapters/dhis_highcharts/title/yearOverYear.js +0 -3
  712. package/build/es/visualizations/config/adapters/dhis_highcharts/type.js +0 -7
  713. package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -11
  714. package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/radar.js +0 -3
  715. package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/scatter.js +0 -1
  716. package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/twoCategory.js +4 -3
  717. package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/yearOnYear.js +0 -4
  718. package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +3 -14
  719. package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +8 -23
  720. package/build/es/visualizations/config/generators/dhis/index.js +0 -4
  721. package/build/es/visualizations/config/generators/dhis/singleValue.js +42 -67
  722. package/build/es/visualizations/config/generators/highcharts/index.js +11 -15
  723. package/build/es/visualizations/config/index.js +9 -15
  724. package/build/es/visualizations/config/validators/index.js +0 -2
  725. package/build/es/visualizations/index.js +0 -6
  726. package/build/es/visualizations/store/adapters/dhis_dhis/index.js +3 -9
  727. package/build/es/visualizations/store/adapters/dhis_highcharts/index.js +8 -17
  728. package/build/es/visualizations/store/adapters/dhis_highcharts/pie.js +0 -1
  729. package/build/es/visualizations/store/adapters/dhis_highcharts/twoCategory.js +5 -4
  730. package/build/es/visualizations/store/adapters/dhis_highcharts/yearOnYear.js +3 -3
  731. package/build/es/visualizations/store/index.js +2 -8
  732. package/build/es/visualizations/store/validators/dhis/index.js +6 -17
  733. package/build/es/visualizations/store/validators/index.js +0 -2
  734. package/build/es/visualizations/util/axisId.js +1 -1
  735. package/build/es/visualizations/util/colors/gradientColorGenerator.js +3 -8
  736. package/build/es/visualizations/util/getFilterText.js +4 -7
  737. package/package.json +6 -7
@@ -25,10 +25,8 @@ export default function (layout, series, isStacked) {
25
25
  return getDefaultTrendLines(layout, series, isStacked);
26
26
  }
27
27
  }
28
-
29
28
  function getDefaultTrendLines(layout, series, isStacked) {
30
29
  const newSeries = [];
31
-
32
30
  if (isStacked) {
33
31
  newSeries.push(...series, Object.assign({}, getRegressionObj(getStackedData(series, layout), layout.regressionType)));
34
32
  } else {
@@ -41,29 +39,25 @@ function getDefaultTrendLines(layout, series, isStacked) {
41
39
  }));
42
40
  });
43
41
  }
44
-
45
42
  return newSeries;
46
43
  }
47
-
48
44
  function getTwoCategoryTrendlineConfig(groupObj, groupIndex, groupRegressionObject, regressionType, trendlineId) {
49
45
  const trendlineConfig = getRegressionObj(groupObj, regressionType);
50
46
  groupRegressionObject.splice(groupIndex * groupObj.length, groupObj.length, ...trendlineConfig.data.map(point => point[1]));
51
- trendlineConfig.data = groupRegressionObject; // link trendlines
47
+ trendlineConfig.data = groupRegressionObject;
48
+
49
+ // link trendlines
52
50
  // so only 1 label in the legend is shown and all linked trendlines
53
51
  // can be toggled simultaneously
54
-
55
52
  if (groupIndex === 0) {
56
53
  trendlineConfig.id = trendlineId;
57
54
  } else {
58
55
  trendlineConfig.linkedTo = trendlineId;
59
56
  }
60
-
61
57
  return trendlineConfig;
62
58
  }
63
-
64
59
  function getTwoCategoryTrendLines(layout, series, isStacked) {
65
60
  const newSeries = [];
66
-
67
61
  if (isStacked) {
68
62
  newSeries.push(...series);
69
63
  const stackedData = getStackedData(series, layout);
@@ -76,9 +70,8 @@ function getTwoCategoryTrendLines(layout, series, isStacked) {
76
70
  });
77
71
  } else {
78
72
  series.forEach(seriesObj => {
79
- const trendlineSerieId = "trendline-".concat(seriesObj.id);
73
+ const trendlineSerieId = `trendline-${seriesObj.id}`;
80
74
  newSeries.push(seriesObj);
81
-
82
75
  if (!seriesObj.custom.isTwoCategoryFakeSerie) {
83
76
  const groupRegressionTemplate = Array.from({
84
77
  length: seriesObj.custom.data.flat().length
@@ -95,10 +88,8 @@ function getTwoCategoryTrendLines(layout, series, isStacked) {
95
88
  }
96
89
  });
97
90
  }
98
-
99
91
  return newSeries;
100
92
  }
101
-
102
93
  function getDarkerColor(color) {
103
94
  // For patterns, color is an object containing patternIndex.
104
95
  // patternIndex can be 0, thus the need to check for the presence of the key in the object.
@@ -107,16 +98,13 @@ function getDarkerColor(color) {
107
98
  const colorSetPatterns = colorSets[COLOR_SET_PATTERNS].patterns;
108
99
  color = colorSetPatterns[color.patternIndex].color || DEFAULT_TRENDLINE.color;
109
100
  }
110
-
111
101
  return rgb(color).darker(0.5).toString();
112
102
  }
113
-
114
103
  function getRegressionData(data) {
115
104
  return data.map((value, index) => {
116
105
  return [index, value];
117
106
  });
118
107
  }
119
-
120
108
  function getRegressionObj(data, regressionType) {
121
109
  // LINEAR:
122
110
  // - decimalPlaces (default = 2)
@@ -126,10 +114,10 @@ function getRegressionObj(data, regressionType) {
126
114
  // - order (default = 2)
127
115
  // - extrapolate (default = 0)
128
116
  // - decimalPlaces (default = 2)
117
+
129
118
  let regression;
130
119
  const regressionTypeOptions = {};
131
120
  const regressionData = data.some(i => Array.isArray(i)) ? data : getRegressionData(data);
132
-
133
121
  switch (regressionType) {
134
122
  case 'POLYNOMIAL':
135
123
  // polynomial(data, order, extrapolate)
@@ -141,14 +129,11 @@ function getRegressionObj(data, regressionType) {
141
129
  points: []
142
130
  };
143
131
  }
144
-
145
132
  break;
146
-
147
133
  case 'LOESS':
148
134
  // loess(data, smoothing)
149
135
  regression = loess(regressionData, 0.25);
150
136
  break;
151
-
152
137
  case 'LINEAR':
153
138
  default:
154
139
  // linear(data, decimalPlaces)
@@ -156,53 +141,46 @@ function getRegressionObj(data, regressionType) {
156
141
  regressionTypeOptions.type = 'line';
157
142
  break;
158
143
  }
159
-
160
144
  return Object.assign({}, DEFAULT_TRENDLINE, regressionTypeOptions, {
161
145
  data: regression.points
162
146
  });
163
- } // Code extracted from https://github.com/Tom-Alexander/regression-js/
164
-
147
+ }
165
148
 
149
+ // Code extracted from https://github.com/Tom-Alexander/regression-js/
166
150
  function gaussianElimination(a, o) {
167
151
  let maxrow = 0,
168
- tmp = 0;
152
+ tmp = 0;
169
153
  const n = a.length - 1,
170
- x = new Array(o);
171
-
154
+ x = new Array(o);
172
155
  for (let i = 0; i < n; i++) {
173
156
  maxrow = i;
174
-
175
157
  for (let j = i + 1; j < n; j++) {
176
158
  if (Math.abs(a[i][j]) > Math.abs(a[i][maxrow])) {
177
159
  maxrow = j;
178
160
  }
179
161
  }
180
-
181
162
  for (let k = i; k < n + 1; k++) {
182
163
  tmp = a[k][i];
183
164
  a[k][i] = a[k][maxrow];
184
165
  a[k][maxrow] = tmp;
185
166
  }
186
-
187
167
  for (let j = i + 1; j < n; j++) {
188
168
  for (let k = n; k >= i; k--) {
189
169
  a[k][j] -= a[k][i] * a[i][j] / a[i][i];
190
170
  }
191
171
  }
192
172
  }
193
-
194
173
  for (let j = n - 1; j >= 0; j--) {
195
174
  tmp = 0;
196
-
197
175
  for (let k = j + 1; k < n; k++) {
198
176
  tmp += a[k][j] * x[k];
199
177
  }
200
-
201
178
  x[j] = (a[n][j] - tmp) / a[j][j];
202
179
  }
203
-
204
180
  return x;
205
- } // Code extracted from https://github.com/Tom-Alexander/regression-js/
181
+ }
182
+
183
+ // Code extracted from https://github.com/Tom-Alexander/regression-js/
206
184
  // Human readable formulas:
207
185
  //
208
186
  // N * Σ(XY) - Σ(X)
@@ -210,58 +188,45 @@ function gaussianElimination(a, o) {
210
188
  // N * Σ(X^2) - Σ(X)^2
211
189
  //
212
190
  // correlation = N * Σ(XY) - Σ(X) * Σ (Y) / √ ( N * Σ(X^2) - Σ(X) ) * ( N * Σ(Y^2) - Σ(Y)^2 ) ) )
213
-
214
-
215
191
  export function linear(data) {
216
192
  let decimalPlaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
217
193
  const sum = [0, 0, 0, 0, 0],
218
- results = [];
194
+ results = [];
219
195
  let N = data.length;
220
-
221
196
  for (let n = 0, len = data.length; n < len; n++) {
222
197
  if (data[n]['x'] != null) {
223
198
  data[n][0] = data[n].x;
224
199
  data[n][1] = data[n].y;
225
200
  }
226
-
227
201
  if (data[n][1] != null) {
228
202
  sum[0] += data[n][0]; // Σ(X)
229
-
230
203
  sum[1] += data[n][1]; // Σ(Y)
231
-
232
204
  sum[2] += data[n][0] * data[n][0]; // Σ(X^2)
233
-
234
205
  sum[3] += data[n][0] * data[n][1]; // Σ(XY)
235
-
236
206
  sum[4] += data[n][1] * data[n][1]; // Σ(Y^2)
237
207
  } else {
238
208
  N -= 1;
239
209
  }
240
210
  }
241
-
242
211
  const gradient = (N * sum[3] - sum[0] * sum[1]) / (N * sum[2] - sum[0] * sum[0]);
243
- const intercept = sum[1] / N - gradient * sum[0] / N; // let correlation = (N * sum[3] - sum[0] * sum[1]) / Math.sqrt((N * sum[2] - sum[0] * sum[0]) * (N * sum[4] - sum[1] * sum[1]));
212
+ const intercept = sum[1] / N - gradient * sum[0] / N;
213
+ // let correlation = (N * sum[3] - sum[0] * sum[1]) / Math.sqrt((N * sum[2] - sum[0] * sum[0]) * (N * sum[4] - sum[1] * sum[1]));
244
214
 
245
215
  for (let i = 0, len = data.length; i < len; i++) {
246
216
  let coorY = data[i][0] * gradient + intercept;
247
-
248
217
  if (decimalPlaces) {
249
218
  coorY = parseFloat(coorY.toFixed(decimalPlaces));
250
219
  }
251
-
252
220
  const coordinate = [data[i][0], coorY];
253
221
  results.push(coordinate);
254
222
  }
255
-
256
223
  results.sort((a, b) => {
257
224
  if (a[0] > b[0]) {
258
225
  return 1;
259
226
  }
260
-
261
227
  if (a[0] < b[0]) {
262
228
  return -1;
263
229
  }
264
-
265
230
  return 0;
266
231
  });
267
232
  const string = 'y = ' + Math.round(gradient * 100) / 100 + 'x + ' + Math.round(intercept * 100) / 100;
@@ -270,88 +235,73 @@ export function linear(data) {
270
235
  points: results,
271
236
  string: string
272
237
  };
273
- } // Code extracted from https://github.com/Tom-Alexander/regression-js/
238
+ }
274
239
 
240
+ // Code extracted from https://github.com/Tom-Alexander/regression-js/
275
241
  function polynomial(data) {
276
242
  let order = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
277
243
  let extrapolate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
278
244
  let decimalPlaces = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 2;
279
245
  const lhs = [],
280
- rhs = [],
281
- results = [],
282
- k = order + 1;
246
+ rhs = [],
247
+ results = [],
248
+ k = order + 1;
283
249
  let a = 0,
284
- b = 0;
285
-
250
+ b = 0;
286
251
  for (let i = 0; i < k; i++) {
287
252
  for (let l = 0, len = data.length; l < len; l++) {
288
253
  if (data[l].x != null) {
289
254
  data[l][0] = data[l].x;
290
255
  data[l][1] = data[l].y;
291
256
  }
292
-
293
257
  if (data[l][1] != null) {
294
258
  a += Math.pow(data[l][0], i) * data[l][1];
295
259
  }
296
260
  }
297
-
298
261
  lhs.push(a);
299
262
  a = 0;
300
263
  const c = [];
301
-
302
264
  for (let j = 0; j < k; j++) {
303
265
  for (let l = 0, len = data.length; l < len; l++) {
304
266
  if (data[l][1]) {
305
267
  b += Math.pow(data[l][0], i + j);
306
268
  }
307
269
  }
308
-
309
270
  c.push(b);
310
271
  b = 0;
311
272
  }
312
-
313
273
  rhs.push(c);
314
274
  }
315
-
316
275
  rhs.push(lhs);
317
276
  const equation = gaussianElimination(rhs, k);
318
277
  const resultLength = data.length + extrapolate;
319
278
  const step = data[data.length - 1][0] - data[data.length - 2][0];
320
-
321
279
  for (let i = 0, len = resultLength; i < len; i++) {
322
280
  let answer = 0,
323
- x = 0;
324
-
281
+ x = 0;
325
282
  if (typeof data[i] !== 'undefined') {
326
283
  x = data[i][0];
327
284
  } else {
328
285
  x = data[data.length - 1][0] + (i - data.length) * step;
329
286
  }
330
-
331
287
  for (let w = 0; w < equation.length; w++) {
332
288
  answer += equation[w] * Math.pow(x, w);
333
-
334
289
  if (decimalPlaces) {
335
290
  answer = parseFloat(answer.toFixed(decimalPlaces));
336
291
  }
337
292
  }
338
-
339
293
  results.push([x, answer]);
340
294
  }
341
-
342
295
  results.sort((a, b) => {
343
296
  if (a[0] > b[0]) {
344
297
  return 1;
345
298
  }
346
-
347
299
  if (a[0] < b[0]) {
348
300
  return -1;
349
301
  }
350
-
351
302
  return 0;
352
303
  });
353
304
  let string = 'y = ';
354
-
355
305
  for (let i = equation.length - 1; i >= 0; i--) {
356
306
  if (i > 1) {
357
307
  string += Math.round(equation[i] * 100) / 100 + 'x^' + i + ' + ';
@@ -361,95 +311,78 @@ function polynomial(data) {
361
311
  string += Math.round(equation[i] * 100) / 100;
362
312
  }
363
313
  }
364
-
365
314
  return {
366
315
  equation: equation,
367
316
  points: results,
368
317
  string: string
369
318
  };
370
- } // @author: Ignacio Vazquez
319
+ }
320
+
321
+ // @author: Ignacio Vazquez
371
322
  // Based on
372
323
  // - http://commons.apache.org/proper/commons-math/download_math.cgi LoesInterpolator.java
373
324
  // - https://gist.github.com/avibryant/1151823
374
-
375
-
376
325
  function loess(data) {
377
326
  let bandwidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.25;
378
327
  const xval = data.map(pair => {
379
328
  return pair[0];
380
329
  });
381
330
  const distinctX = array_unique(xval);
382
-
383
331
  if (2 / distinctX.length > bandwidth) {
384
332
  bandwidth = Math.min(2 / distinctX.length, 1);
385
333
  }
386
-
387
334
  const yval = data.map(pair => {
388
335
  return pair[1];
389
336
  });
390
-
391
337
  function array_unique(values) {
392
338
  const o = {},
393
- l = values.length,
394
- r = [];
395
-
339
+ l = values.length,
340
+ r = [];
396
341
  for (let i = 0; i < l; i += 1) {
397
342
  o[values[i]] = values[i];
398
343
  }
399
-
400
344
  for (const i in o) {
401
345
  r.push(o[i]);
402
346
  }
403
-
404
347
  return r;
405
348
  }
406
-
407
349
  function tricube(x) {
408
350
  const tmp = 1 - x * x * x;
409
351
  return tmp * tmp * tmp;
410
352
  }
411
-
412
353
  const res = [];
413
354
  let left = 0;
414
355
  let right = Math.floor(bandwidth * xval.length) - 1;
415
-
416
356
  for (const i in xval) {
417
357
  const x = xval[i];
418
-
419
358
  if (i > 0) {
420
359
  if (right < xval.length - 1 && xval[right + 1] - xval[i] < xval[i] - xval[left]) {
421
360
  left++;
422
361
  right++;
423
362
  }
424
363
  }
425
-
426
364
  let edge;
427
-
428
365
  if (xval[i] - xval[left] > xval[right] - xval[i]) {
429
366
  edge = left;
430
367
  } else {
431
368
  edge = right;
432
369
  }
433
-
434
370
  const denom = Math.abs(1.0 / (xval[edge] - x));
435
371
  let sumWeights = 0;
436
372
  let sumX = 0,
437
- sumXSquared = 0,
438
- sumY = 0,
439
- sumXY = 0;
373
+ sumXSquared = 0,
374
+ sumY = 0,
375
+ sumXY = 0;
440
376
  let k = left;
441
-
442
377
  while (k <= right) {
443
378
  const xk = xval[k];
444
379
  const yk = yval[k];
445
380
  let dist;
446
-
447
381
  if (k < i) {
448
382
  dist = x - xk;
449
383
  } else {
450
384
  dist = xk - x;
451
385
  }
452
-
453
386
  const w = tricube(dist * denom);
454
387
  const xkw = xk * w;
455
388
  sumWeights += w;
@@ -459,23 +392,19 @@ function loess(data) {
459
392
  sumXY += yk * xkw;
460
393
  k++;
461
394
  }
462
-
463
395
  const meanX = sumX / sumWeights;
464
396
  const meanY = sumY / sumWeights;
465
397
  const meanXY = sumXY / sumWeights;
466
398
  const meanXSquared = sumXSquared / sumWeights;
467
399
  let beta;
468
-
469
400
  if (meanXSquared === meanX * meanX) {
470
401
  beta = 0;
471
402
  } else {
472
403
  beta = (meanXY - meanX * meanY) / (meanXSquared - meanX * meanX);
473
404
  }
474
-
475
405
  const alpha = meanY - beta * meanX;
476
406
  res[i] = beta * x + alpha;
477
407
  }
478
-
479
408
  return {
480
409
  equation: '',
481
410
  points: xval.map((x, i) => {
@@ -7,37 +7,31 @@ import getFormatter from './getFormatter.js';
7
7
  import { getTextAlignOption } from './getTextAlignOption.js';
8
8
  const DEFAULT_MIN_VALUE = 0;
9
9
  const DEFAULT_GRIDLINE_COLOR = '#F1F1F1';
10
-
11
10
  const getPlotLineStyle = fontStyle => ({
12
11
  color: fontStyle[FONT_STYLE_OPTION_TEXT_COLOR] || '#000',
13
12
  width: 2,
14
13
  zIndex: 4
15
14
  });
16
-
17
15
  const getPlotLineLabelStyle = fontStyle => ({
18
16
  y: -7,
19
17
  style: {
20
18
  color: fontStyle[FONT_STYLE_OPTION_TEXT_COLOR],
21
- fontSize: "".concat(fontStyle[FONT_STYLE_OPTION_FONT_SIZE], "px"),
19
+ fontSize: `${fontStyle[FONT_STYLE_OPTION_FONT_SIZE]}px`,
22
20
  fontWeight: fontStyle[FONT_STYLE_OPTION_BOLD] ? FONT_STYLE_OPTION_BOLD : 'normal',
23
21
  fontStyle: fontStyle[FONT_STYLE_OPTION_ITALIC] ? FONT_STYLE_OPTION_ITALIC : 'normal'
24
22
  }
25
23
  });
26
-
27
24
  const getLabelOffsetFromTextAlign = textAlign => {
28
25
  switch (textAlign) {
29
26
  case TEXT_ALIGN_LEFT:
30
27
  return 10;
31
-
32
28
  case TEXT_ALIGN_RIGHT:
33
29
  return -10;
34
-
35
30
  case TEXT_ALIGN_CENTER:
36
31
  default:
37
32
  return 0;
38
33
  }
39
34
  };
40
-
41
35
  const getLineLabelStyle = (textAlign, fontStyleType, isVertical) => {
42
36
  const alignKey = isVertical ? 'verticalAlign' : 'align';
43
37
  const alignValue = getTextAlignOption(textAlign, fontStyleType, isVertical);
@@ -47,41 +41,35 @@ const getLineLabelStyle = (textAlign, fontStyleType, isVertical) => {
47
41
  [alignKey]: alignValue,
48
42
  [offsetKey]: offsetValue
49
43
  };
50
-
51
44
  if (isVertical) {
52
45
  result.align = getTextAlignOption(textAlign, fontStyleType);
53
46
  }
54
-
55
47
  return result;
56
- }; // outlierLineMin: if there are lines with smaller x or y than the data
57
-
48
+ };
58
49
 
50
+ // outlierLineMin: if there are lines with smaller x or y than the data
59
51
  export const getMinValue = (minValue, dataValues, outlierLineMin) => {
60
52
  if (isNumeric(minValue)) {
61
53
  return minValue;
62
54
  }
63
-
64
55
  if (isNumeric(outlierLineMin)) {
65
56
  return outlierLineMin;
66
57
  }
67
-
68
58
  return dataValues !== null && dataValues !== void 0 && dataValues.some(value => value < DEFAULT_MIN_VALUE) ? undefined : DEFAULT_MIN_VALUE;
69
- }; // outlierLineMax: if there are lines with larger x or y than the data
59
+ };
70
60
 
61
+ // outlierLineMax: if there are lines with larger x or y than the data
71
62
  export const getMaxValue = (maxValue, dataValues, outlierLineMax) => {
72
63
  if (isNumeric(maxValue)) {
73
64
  return maxValue;
74
65
  }
75
-
76
66
  if (isNumeric(outlierLineMax)) {
77
67
  return outlierLineMax;
78
68
  }
79
-
80
69
  return dataValues !== null && dataValues !== void 0 && dataValues.every(value => value < DEFAULT_MIN_VALUE) ? DEFAULT_MIN_VALUE : undefined;
81
70
  };
82
71
  export const getRegressionLine = function () {
83
72
  var _regressionLine$title, _regressionLine$title2;
84
-
85
73
  let regressionLine = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
86
74
  let visType = arguments.length > 1 ? arguments[1] : undefined;
87
75
  let isVertical = arguments.length > 2 ? arguments[2] : undefined;
@@ -101,12 +89,11 @@ export const getRegressionLine = function () {
101
89
  };
102
90
  export const getLabels = axis => {
103
91
  var _axis$label;
104
-
105
92
  const fontStyle = mergeFontStyleWithDefault((_axis$label = axis.label) === null || _axis$label === void 0 ? void 0 : _axis$label.fontStyle, FONT_STYLE_AXIS_LABELS);
106
93
  return {
107
94
  style: {
108
95
  color: fontStyle[FONT_STYLE_OPTION_TEXT_COLOR],
109
- fontSize: "".concat(fontStyle[FONT_STYLE_OPTION_FONT_SIZE], "px"),
96
+ fontSize: `${fontStyle[FONT_STYLE_OPTION_FONT_SIZE]}px`,
110
97
  fontWeight: fontStyle[FONT_STYLE_OPTION_BOLD] ? FONT_STYLE_OPTION_BOLD : 'normal',
111
98
  fontStyle: fontStyle[FONT_STYLE_OPTION_ITALIC] ? FONT_STYLE_OPTION_ITALIC : 'normal'
112
99
  },
@@ -11,7 +11,6 @@ const DASHBOARD_CHART = {
11
11
  spacingBottom: 2,
12
12
  spacingLeft: 5
13
13
  };
14
-
15
14
  const getEvents = () => ({
16
15
  events: {
17
16
  load: function () {
@@ -26,7 +25,6 @@ const getEvents = () => ({
26
25
  }
27
26
  }
28
27
  });
29
-
30
28
  export default function (layout, el, dashboard) {
31
29
  return Object.assign({}, getType(layout.type), {
32
30
  renderTo: el || layout.el
@@ -1,10 +1,11 @@
1
1
  export const CUSTOM_AXES_DIMENSION_ITEM = 'dimensionItem';
2
- export const CUSTOM_AXES_AXIS = 'axis'; // returns:
2
+ export const CUSTOM_AXES_AXIS = 'axis';
3
+
4
+ // returns:
3
5
  // {
4
6
  // a: 1,
5
7
  // b: 1,
6
8
  // }
7
-
8
9
  export function getIdAxisMap(customAxes) {
9
10
  return customAxes.reduce((map, item) => {
10
11
  map[item[CUSTOM_AXES_DIMENSION_ITEM]] = item[CUSTOM_AXES_AXIS];
@@ -14,29 +15,29 @@ export function getIdAxisMap(customAxes) {
14
15
  export function getFullIdAxisMap() {
15
16
  let customAxes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
16
17
  let series = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
17
- const idAxisMap = getIdAxisMap(customAxes.filter(axisItem => series.find(seriesItem => seriesItem.id === axisItem.dimensionItem))); // adds first axis ids to seriesAxisMap
18
+ const idAxisMap = getIdAxisMap(customAxes.filter(axisItem => series.find(seriesItem => seriesItem.id === axisItem.dimensionItem)));
18
19
 
20
+ // adds first axis ids to seriesAxisMap
19
21
  series.forEach(s => {
20
22
  if (!(s.id in idAxisMap)) {
21
23
  idAxisMap[s.id] = 0;
22
24
  }
23
25
  });
24
26
  return idAxisMap;
25
- } // returns:
27
+ }
28
+
29
+ // returns:
26
30
  // {
27
31
  // 0: ['a', 'b'],
28
32
  // 1: ['c'],
29
33
  // }
30
-
31
34
  export function getAxisIdsMap(customAxes, series) {
32
35
  const fullIdAxisMap = getFullIdAxisMap(customAxes, series);
33
36
  return Object.entries(fullIdAxisMap).reduce((map, _ref) => {
34
37
  let [id, axis] = _ref;
35
-
36
38
  if (!(axis in map)) {
37
39
  map[axis] = [];
38
40
  }
39
-
40
41
  map[axis].push(id);
41
42
  return map;
42
43
  }, {});
@@ -2,18 +2,16 @@ import isString from 'd2-utilizr/lib/isString';
2
2
  import { FONT_STYLE_OPTION_FONT_SIZE, FONT_STYLE_OPTION_TEXT_COLOR, FONT_STYLE_OPTION_BOLD, FONT_STYLE_OPTION_ITALIC, FONT_STYLE_OPTION_TEXT_ALIGN } from '../../../../modules/fontStyle.js';
3
3
  import { isVerticalType } from '../../../../modules/visTypes.js';
4
4
  import { getTextAlignOption } from './getTextAlignOption.js';
5
-
6
5
  const getTitleStyle = (fontStyle, titleType, visType) => fontStyle ? {
7
6
  align: getTextAlignOption(fontStyle[FONT_STYLE_OPTION_TEXT_ALIGN], titleType, isVerticalType(visType)),
8
7
  margin: 15,
9
8
  style: {
10
9
  color: fontStyle[FONT_STYLE_OPTION_TEXT_COLOR],
11
- fontSize: "".concat(fontStyle[FONT_STYLE_OPTION_FONT_SIZE], "px"),
10
+ fontSize: `${fontStyle[FONT_STYLE_OPTION_FONT_SIZE]}px`,
12
11
  fontWeight: fontStyle[FONT_STYLE_OPTION_BOLD] ? FONT_STYLE_OPTION_BOLD : 'normal',
13
12
  fontStyle: fontStyle[FONT_STYLE_OPTION_ITALIC] ? FONT_STYLE_OPTION_ITALIC : 'normal'
14
13
  }
15
14
  } : {};
16
-
17
15
  export default function (title, fontStyle, titleType, visType) {
18
16
  return isString(title) ? Object.assign({}, getTitleStyle(fontStyle, titleType, visType), {
19
17
  text: title
@@ -1,24 +1,22 @@
1
1
  import numberDecimals from 'd2-utilizr/lib/numberDecimals';
2
2
  import { isTwoCategoryChartType } from '../../../../modules/visTypes.js';
3
3
  import getTwoCategorySplitSerieData from './getTwoCategorySplitSerieData.js';
4
-
5
4
  function getDefaultCumulativeData(series) {
6
5
  let decimals = 0;
7
6
  let cumulativeValues = [];
8
7
  series.forEach(seriesObj => {
9
8
  cumulativeValues = seriesObj.data.reduce((accumulator, value, index) => {
10
9
  decimals = Math.max(decimals, numberDecimals(value));
11
-
12
10
  if (index > 0) {
13
11
  value += accumulator[index - 1];
14
12
  }
15
-
16
13
  accumulator.push(value);
17
14
  return accumulator;
18
- }, []); // round values to the largest number of decimals found in the serie
15
+ }, []);
16
+
17
+ // round values to the largest number of decimals found in the serie
19
18
  // this is to avoid the floating-point problems in JavaScript
20
19
  // the condition in the return statement is because sometimes value can be null
21
-
22
20
  seriesObj.data = cumulativeValues.map(value => {
23
21
  return value ? parseFloat(value.toFixed(decimals)) : value;
24
22
  });
@@ -26,7 +24,6 @@ function getDefaultCumulativeData(series) {
26
24
  });
27
25
  return series;
28
26
  }
29
-
30
27
  function getTwoCategoryCumulativeData(series) {
31
28
  let decimals = 0;
32
29
  series.filter(seriesObj => !seriesObj.custom.isTwoCategoryFakeSerie).forEach(seriesObj => {
@@ -35,25 +32,23 @@ function getTwoCategoryCumulativeData(series) {
35
32
  const cumulativeGroupValues = [];
36
33
  groupObj.forEach((value, index) => {
37
34
  decimals = Math.max(decimals, numberDecimals(value));
38
-
39
35
  if (index > 0) {
40
36
  value += cumulativeGroupValues[index - 1];
41
37
  }
42
-
43
38
  cumulativeGroupValues.push(value);
44
39
  });
45
40
  cumulativeValues.push(cumulativeGroupValues);
46
- }); // round values to the largest number of decimals found in the serie
41
+ });
42
+
43
+ // round values to the largest number of decimals found in the serie
47
44
  // this is to avoid the floating-point problems in JavaScript
48
45
  // the condition in the return statement is because sometimes value can be null
49
-
50
46
  seriesObj.custom.data = cumulativeValues.map(groupObj => groupObj.map(value => value ? parseFloat(value.toFixed(decimals)) : value));
51
47
  seriesObj.data = getTwoCategorySplitSerieData(seriesObj.custom.data);
52
48
  decimals = 0;
53
49
  });
54
50
  return series;
55
51
  }
56
-
57
52
  export default function (series, layout) {
58
53
  if (isTwoCategoryChartType(layout.type) && layout.rows.length > 1) {
59
54
  return getTwoCategoryCumulativeData(series);