@dhis2/analytics 28.0.3 → 28.0.4

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 (444) 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__/OrgUnitDimension.stories.js +1 -2
  5. package/build/cjs/__demo__/PivotTable.stories.js +166 -224
  6. package/build/cjs/__demo__/ScatterPlotPdfExport.stories.js +1 -2
  7. package/build/cjs/__demo__/SingleValue.stories.js +1 -2
  8. package/build/cjs/__demo__/Toolbar.stories.js +1 -2
  9. package/build/cjs/api/__tests__/dimensions.spec.js +1 -2
  10. package/build/cjs/api/analytics/Analytics.js +8 -9
  11. package/build/cjs/api/analytics/AnalyticsBase.js +58 -77
  12. package/build/cjs/api/analytics/AnalyticsRequest.js +1 -2
  13. package/build/cjs/api/analytics/AnalyticsRequestBase.js +18 -21
  14. package/build/cjs/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -38
  15. package/build/cjs/api/analytics/AnalyticsResponseHeader.js +5 -7
  16. package/build/cjs/api/analytics/__tests__/AnalyticsBase.spec.js +9 -12
  17. package/build/cjs/api/analytics/__tests__/AnalyticsRequest.spec.js +8 -2
  18. package/build/cjs/api/analytics/utils.js +11 -17
  19. package/build/cjs/api/dimensions.js +119 -148
  20. package/build/cjs/api/expression.js +39 -60
  21. package/build/cjs/api/organisationUnits.js +23 -35
  22. package/build/cjs/components/AboutAOUnit/AboutAOUnit.js +12 -20
  23. package/build/cjs/components/CachedDataQueryProvider.js +7 -9
  24. package/build/cjs/components/DashboardPluginWrapper/DashboardPluginWrapper.js +18 -22
  25. package/build/cjs/components/DataDimension/Calculation/CalculationModal.js +44 -61
  26. package/build/cjs/components/DataDimension/Calculation/DataElementOption.js +5 -6
  27. package/build/cjs/components/DataDimension/Calculation/DataElementSelector.js +29 -38
  28. package/build/cjs/components/DataDimension/Calculation/DndContext.js +29 -37
  29. package/build/cjs/components/DataDimension/Calculation/DraggingItem.js +5 -6
  30. package/build/cjs/components/DataDimension/Calculation/DropZone.js +4 -5
  31. package/build/cjs/components/DataDimension/Calculation/FormulaField.js +29 -32
  32. package/build/cjs/components/DataDimension/Calculation/FormulaItem.js +14 -16
  33. package/build/cjs/components/DataDimension/Calculation/MathOperatorSelector.js +23 -29
  34. package/build/cjs/components/DataDimension/Calculation/Operator.js +6 -7
  35. package/build/cjs/components/DataDimension/DataDimension.js +20 -32
  36. package/build/cjs/components/DataDimension/Info/CalculationInfo.js +14 -22
  37. package/build/cjs/components/DataDimension/Info/DataElementInfo.js +23 -36
  38. package/build/cjs/components/DataDimension/Info/DataElementOperandInfo.js +30 -44
  39. package/build/cjs/components/DataDimension/Info/DataSetInfo.js +26 -39
  40. package/build/cjs/components/DataDimension/Info/EventDataItemInfo.js +21 -34
  41. package/build/cjs/components/DataDimension/Info/IndicatorInfo.js +21 -32
  42. package/build/cjs/components/DataDimension/Info/InfoPopover.js +6 -7
  43. package/build/cjs/components/DataDimension/Info/InfoTable.js +39 -52
  44. package/build/cjs/components/DataDimension/Info/OptionInfo.js +13 -20
  45. package/build/cjs/components/DataDimension/Info/ProgramIndicatorInfo.js +46 -58
  46. package/build/cjs/components/DataDimension/ItemOptionsSelector/ItemOptionsSelector.js +22 -32
  47. package/build/cjs/components/DataDimension/ItemSelector/DataTypeSelector.js +6 -7
  48. package/build/cjs/components/DataDimension/ItemSelector/DetailSelector.js +5 -6
  49. package/build/cjs/components/DataDimension/ItemSelector/GroupSelector.js +10 -12
  50. package/build/cjs/components/DataDimension/ItemSelector/ItemSelector.js +86 -104
  51. package/build/cjs/components/DataDimension/ItemSelector/MetricSelector.js +5 -6
  52. package/build/cjs/components/DataDimension/SourceEmptyPlaceholder.js +10 -13
  53. package/build/cjs/components/DataDimension/TransferOption.js +35 -39
  54. package/build/cjs/components/DimensionMenu.js +13 -14
  55. package/build/cjs/components/DimensionsPanel/DimensionsPanel.js +8 -9
  56. package/build/cjs/components/DimensionsPanel/List/DimensionItem.js +12 -13
  57. package/build/cjs/components/DimensionsPanel/List/DimensionList.js +9 -10
  58. package/build/cjs/components/DimensionsPanel/List/OptionsButton.js +8 -11
  59. package/build/cjs/components/DimensionsPanel/List/RecommendedIcon.js +10 -13
  60. package/build/cjs/components/DynamicDimension/DynamicDimension.js +9 -13
  61. package/build/cjs/components/DynamicDimension/ItemSelector.js +25 -38
  62. package/build/cjs/components/FileMenu/DeleteDialog.js +11 -16
  63. package/build/cjs/components/FileMenu/FileMenu.js +19 -30
  64. package/build/cjs/components/FileMenu/GetLinkDialog.js +7 -7
  65. package/build/cjs/components/FileMenu/RenameDialog.js +13 -21
  66. package/build/cjs/components/FileMenu/SaveAsDialog.js +13 -21
  67. package/build/cjs/components/FileMenu/__tests__/FileMenu.spec.js +6 -2
  68. package/build/cjs/components/FileMenu/__tests__/GetLinkDialog.spec.js +7 -8
  69. package/build/cjs/components/FileMenu/utils.js +10 -12
  70. package/build/cjs/components/Filter/Filter.js +21 -27
  71. package/build/cjs/components/Interpretations/InterpretationModal/Comment.js +8 -10
  72. package/build/cjs/components/Interpretations/InterpretationModal/CommentAddForm.js +10 -15
  73. package/build/cjs/components/Interpretations/InterpretationModal/CommentDeleteButton.js +10 -15
  74. package/build/cjs/components/Interpretations/InterpretationModal/CommentUpdateForm.js +12 -17
  75. package/build/cjs/components/Interpretations/InterpretationModal/InterpretationModal.js +19 -25
  76. package/build/cjs/components/Interpretations/InterpretationModal/InterpretationThread.js +12 -14
  77. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationForm.js +12 -17
  78. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationList.js +10 -11
  79. package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +23 -33
  80. package/build/cjs/components/Interpretations/common/Interpretation/Interpretation.js +13 -15
  81. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +7 -11
  82. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +5 -7
  83. package/build/cjs/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +15 -23
  84. package/build/cjs/components/Interpretations/common/Interpretation/useLike.js +5 -6
  85. package/build/cjs/components/Interpretations/common/Message/Message.js +6 -7
  86. package/build/cjs/components/Interpretations/common/Message/MessageButtonStrip.js +8 -11
  87. package/build/cjs/components/Interpretations/common/Message/MessageEditorContainer.js +18 -21
  88. package/build/cjs/components/Interpretations/common/Message/MessageIconButton.js +34 -40
  89. package/build/cjs/components/Interpretations/common/Message/MessageInput.js +1 -2
  90. package/build/cjs/components/Interpretations/common/Message/MessageStatsBar.js +8 -11
  91. package/build/cjs/components/LegendKey/LegendKey.js +3 -4
  92. package/build/cjs/components/OfflineTooltip.js +18 -26
  93. package/build/cjs/components/OpenFileDialog/CreatedByFilter.js +20 -26
  94. package/build/cjs/components/OpenFileDialog/CustomSelectOption.js +23 -26
  95. package/build/cjs/components/OpenFileDialog/DateField.js +3 -4
  96. package/build/cjs/components/OpenFileDialog/FileList.js +19 -22
  97. package/build/cjs/components/OpenFileDialog/NameFilter.js +15 -21
  98. package/build/cjs/components/OpenFileDialog/OpenFileDialog.js +36 -45
  99. package/build/cjs/components/OpenFileDialog/PaginationControls.js +22 -28
  100. package/build/cjs/components/OpenFileDialog/VisTypeFilter.js +28 -37
  101. package/build/cjs/components/Options/VisualizationOptions.js +35 -46
  102. package/build/cjs/components/OrgUnitDimension/OrgUnitDimension.js +38 -60
  103. package/build/cjs/components/PeriodDimension/FixedPeriodFilter.js +16 -25
  104. package/build/cjs/components/PeriodDimension/FixedPeriodSelect.js +15 -21
  105. package/build/cjs/components/PeriodDimension/PeriodDimension.js +9 -12
  106. package/build/cjs/components/PeriodDimension/PeriodTransfer.js +49 -63
  107. package/build/cjs/components/PeriodDimension/RelativePeriodFilter.js +24 -30
  108. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -1
  109. package/build/cjs/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +0 -1
  110. package/build/cjs/components/PeriodDimension/utils/fixedPeriods.js +6 -7
  111. package/build/cjs/components/PeriodDimension/utils/index.js +1 -5
  112. package/build/cjs/components/PivotTable/PivotTable.js +8 -10
  113. package/build/cjs/components/PivotTable/PivotTableBody.js +20 -29
  114. package/build/cjs/components/PivotTable/PivotTableCell.js +8 -12
  115. package/build/cjs/components/PivotTable/PivotTableClippedAxis.js +14 -17
  116. package/build/cjs/components/PivotTable/PivotTableColumnHeaderCell.js +7 -8
  117. package/build/cjs/components/PivotTable/PivotTableColumnHeaders.js +22 -29
  118. package/build/cjs/components/PivotTable/PivotTableContainer.js +5 -6
  119. package/build/cjs/components/PivotTable/PivotTableDimensionLabelCell.js +4 -5
  120. package/build/cjs/components/PivotTable/PivotTableEmptyCell.js +3 -4
  121. package/build/cjs/components/PivotTable/PivotTableEmptyRow.js +4 -5
  122. package/build/cjs/components/PivotTable/PivotTableEngineContext.js +5 -7
  123. package/build/cjs/components/PivotTable/PivotTableHead.js +13 -16
  124. package/build/cjs/components/PivotTable/PivotTableHeaderCell.js +8 -9
  125. package/build/cjs/components/PivotTable/PivotTableRow.js +20 -27
  126. package/build/cjs/components/PivotTable/PivotTableRowHeaderCell.js +5 -6
  127. package/build/cjs/components/PivotTable/PivotTableSortIcon.js +4 -5
  128. package/build/cjs/components/PivotTable/PivotTableTitleRow.js +19 -24
  129. package/build/cjs/components/PivotTable/PivotTableTitleRows.js +4 -5
  130. package/build/cjs/components/PivotTable/PivotTableValueCell.js +6 -8
  131. package/build/cjs/components/RichText/Editor/Editor.js +70 -85
  132. package/build/cjs/components/RichText/Parser/Parser.js +5 -10
  133. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuBar.js +20 -24
  134. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +8 -13
  135. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuList.js +9 -17
  136. package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +11 -16
  137. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +4 -5
  138. package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +13 -11
  139. package/build/cjs/components/Toolbar/InterpretationsAndDetailsToggler.js +15 -21
  140. package/build/cjs/components/Toolbar/Toolbar.js +10 -16
  141. package/build/cjs/components/Toolbar/ToolbarSidebar.js +12 -18
  142. package/build/cjs/components/Toolbar/UpdateButton.js +18 -24
  143. package/build/cjs/components/TransferOption.js +14 -15
  144. package/build/cjs/components/TranslationDialog/TranslationModal/LocalesSelect.js +19 -27
  145. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationForm.js +17 -25
  146. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModal.js +7 -9
  147. package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModalActions.js +18 -27
  148. package/build/cjs/components/TranslationDialog/TranslationModal/useTranslationsResults.js +3 -4
  149. package/build/cjs/components/UserMention/UserList.js +6 -7
  150. package/build/cjs/components/UserMention/UserMentionWrapper.js +13 -20
  151. package/build/cjs/components/UserMention/useUserSearchResults.js +12 -16
  152. package/build/cjs/components/VisTypeIcon.js +5 -6
  153. package/build/cjs/index.js +38 -39
  154. package/build/cjs/locales/ar_IQ/translations.json +20 -11
  155. package/build/cjs/locales/cs/translations.json +2 -0
  156. package/build/cjs/locales/en/translations.json +1 -0
  157. package/build/cjs/locales/es/translations.json +2 -0
  158. package/build/cjs/locales/fr/translations.json +2 -0
  159. package/build/cjs/locales/id/translations.json +20 -11
  160. package/build/cjs/locales/index.js +62 -62
  161. package/build/cjs/locales/lo/translations.json +2 -0
  162. package/build/cjs/locales/nb/translations.json +2 -0
  163. package/build/cjs/locales/prs/translations.json +2 -0
  164. package/build/cjs/locales/ps/translations.json +2 -0
  165. package/build/cjs/locales/pt/translations.json +2 -0
  166. package/build/cjs/locales/pt_BR/translations.json +2 -0
  167. package/build/cjs/locales/ru/translations.json +2 -0
  168. package/build/cjs/locales/si/translations.json +20 -11
  169. package/build/cjs/locales/sv/translations.json +20 -11
  170. package/build/cjs/locales/tet/translations.json +20 -11
  171. package/build/cjs/locales/tg/translations.json +2 -0
  172. package/build/cjs/locales/uk/translations.json +2 -0
  173. package/build/cjs/locales/ur/translations.json +2 -0
  174. package/build/cjs/locales/uz_UZ_Cyrl/translations.json +2 -0
  175. package/build/cjs/locales/uz_UZ_Latn/translations.json +4 -2
  176. package/build/cjs/locales/vi/translations.json +2 -0
  177. package/build/cjs/locales/zh/translations.json +2 -0
  178. package/build/cjs/locales/zh_CN/translations.json +17 -15
  179. package/build/cjs/modules/__tests__/expressions.spec.js +4 -5
  180. package/build/cjs/modules/__tests__/isNumeric.spec.js +33 -0
  181. package/build/cjs/modules/dimensionListItem.js +4 -5
  182. package/build/cjs/modules/expressions.js +3 -9
  183. package/build/cjs/modules/getPWAInstallationStatus.js +7 -9
  184. package/build/cjs/modules/layout/dimensionCreate.js +1 -3
  185. package/build/cjs/modules/layout/dimensionIsValid.js +3 -4
  186. package/build/cjs/modules/legends.js +5 -6
  187. package/build/cjs/modules/outliers/index.js +5 -6
  188. package/build/cjs/modules/outliers/iqr.js +4 -6
  189. package/build/cjs/modules/outliers/modZScore.js +6 -14
  190. package/build/cjs/modules/outliers/zScore.js +3 -4
  191. package/build/cjs/modules/pivotTable/AdaptiveClippingController.js +12 -16
  192. package/build/cjs/modules/pivotTable/PivotTableEngine.js +48 -59
  193. package/build/cjs/modules/pivotTable/clipAxis.js +7 -8
  194. package/build/cjs/modules/pivotTable/clipPartitionedAxis.js +9 -10
  195. package/build/cjs/modules/pivotTable/getHeaderForDisplay.js +8 -9
  196. package/build/cjs/modules/pivotTable/measureText.js +7 -9
  197. package/build/cjs/modules/pivotTable/useParentSize.js +1 -2
  198. package/build/cjs/modules/pivotTable/useScrollPosition.js +1 -2
  199. package/build/cjs/modules/pivotTable/useTableClipping.js +6 -7
  200. package/build/cjs/modules/relativeItems/index.js +1 -4
  201. package/build/cjs/modules/renderValue.js +1 -2
  202. package/build/cjs/modules/utils.js +11 -2
  203. package/build/cjs/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +3 -8
  204. package/build/cjs/visualizations/config/adapters/dhis_highcharts/axis.js +7 -10
  205. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customAxes.js +2 -5
  206. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/index.js +7 -8
  207. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueBackgroundColor.js +1 -2
  208. package/build/cjs/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/index.js +6 -7
  209. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getFormatter.js +2 -3
  210. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getSteps.js +2 -3
  211. package/build/cjs/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +3 -4
  212. package/build/cjs/visualizations/config/adapters/dhis_highcharts/index.js +8 -10
  213. package/build/cjs/visualizations/config/adapters/dhis_highcharts/legend.js +6 -7
  214. package/build/cjs/visualizations/config/adapters/dhis_highcharts/legendSet.js +22 -26
  215. package/build/cjs/visualizations/config/adapters/dhis_highcharts/plotOptions.js +8 -9
  216. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/index.js +18 -20
  217. package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/pie.js +1 -4
  218. package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +1 -2
  219. package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +1 -3
  220. package/build/cjs/visualizations/config/index.js +11 -12
  221. package/build/cjs/visualizations/config/validators/dhis/index.js +3 -4
  222. package/build/cjs/visualizations/index.js +1 -4
  223. package/build/cjs/visualizations/store/adapters/dhis_highcharts/index.js +7 -8
  224. package/build/cjs/visualizations/store/index.js +15 -17
  225. package/build/cjs/visualizations/store/validators/dhis/index.js +5 -6
  226. package/build/cjs/visualizations/util/getFilterText.js +3 -6
  227. package/build/cjs/visualizations/util/shouldUseContrastColor.js +1 -2
  228. package/build/es/__demo__/PivotTable.stories.js +165 -222
  229. package/build/es/api/__tests__/dimensions.spec.js +1 -2
  230. package/build/es/api/analytics/Analytics.js +8 -9
  231. package/build/es/api/analytics/AnalyticsBase.js +58 -77
  232. package/build/es/api/analytics/AnalyticsRequest.js +1 -2
  233. package/build/es/api/analytics/AnalyticsRequestBase.js +18 -21
  234. package/build/es/api/analytics/AnalyticsRequestPropertiesMixin.js +19 -38
  235. package/build/es/api/analytics/AnalyticsResponseHeader.js +5 -7
  236. package/build/es/api/analytics/__tests__/AnalyticsBase.spec.js +8 -10
  237. package/build/es/api/analytics/__tests__/AnalyticsRequest.spec.js +8 -2
  238. package/build/es/api/analytics/utils.js +11 -17
  239. package/build/es/api/dimensions.js +119 -148
  240. package/build/es/api/expression.js +39 -60
  241. package/build/es/api/organisationUnits.js +23 -35
  242. package/build/es/components/AboutAOUnit/AboutAOUnit.js +11 -18
  243. package/build/es/components/CachedDataQueryProvider.js +6 -7
  244. package/build/es/components/DashboardPluginWrapper/DashboardPluginWrapper.js +17 -20
  245. package/build/es/components/DataDimension/Calculation/CalculationModal.js +43 -59
  246. package/build/es/components/DataDimension/Calculation/DataElementOption.js +5 -6
  247. package/build/es/components/DataDimension/Calculation/DataElementSelector.js +28 -36
  248. package/build/es/components/DataDimension/Calculation/DndContext.js +28 -35
  249. package/build/es/components/DataDimension/Calculation/DraggingItem.js +5 -6
  250. package/build/es/components/DataDimension/Calculation/DropZone.js +4 -5
  251. package/build/es/components/DataDimension/Calculation/FormulaField.js +29 -32
  252. package/build/es/components/DataDimension/Calculation/FormulaItem.js +13 -14
  253. package/build/es/components/DataDimension/Calculation/MathOperatorSelector.js +23 -29
  254. package/build/es/components/DataDimension/Calculation/Operator.js +6 -7
  255. package/build/es/components/DataDimension/DataDimension.js +19 -30
  256. package/build/es/components/DataDimension/Info/CalculationInfo.js +13 -20
  257. package/build/es/components/DataDimension/Info/DataElementInfo.js +23 -36
  258. package/build/es/components/DataDimension/Info/DataElementOperandInfo.js +29 -42
  259. package/build/es/components/DataDimension/Info/DataSetInfo.js +26 -39
  260. package/build/es/components/DataDimension/Info/EventDataItemInfo.js +21 -34
  261. package/build/es/components/DataDimension/Info/IndicatorInfo.js +20 -30
  262. package/build/es/components/DataDimension/Info/InfoPopover.js +6 -7
  263. package/build/es/components/DataDimension/Info/InfoTable.js +39 -52
  264. package/build/es/components/DataDimension/Info/OptionInfo.js +13 -20
  265. package/build/es/components/DataDimension/Info/ProgramIndicatorInfo.js +45 -56
  266. package/build/es/components/DataDimension/ItemOptionsSelector/ItemOptionsSelector.js +21 -30
  267. package/build/es/components/DataDimension/ItemSelector/DataTypeSelector.js +6 -7
  268. package/build/es/components/DataDimension/ItemSelector/DetailSelector.js +5 -6
  269. package/build/es/components/DataDimension/ItemSelector/GroupSelector.js +9 -10
  270. package/build/es/components/DataDimension/ItemSelector/ItemSelector.js +85 -102
  271. package/build/es/components/DataDimension/ItemSelector/MetricSelector.js +5 -6
  272. package/build/es/components/DataDimension/SourceEmptyPlaceholder.js +10 -13
  273. package/build/es/components/DataDimension/TransferOption.js +35 -39
  274. package/build/es/components/DimensionMenu.js +13 -14
  275. package/build/es/components/DimensionsPanel/DimensionsPanel.js +7 -7
  276. package/build/es/components/DimensionsPanel/List/DimensionItem.js +11 -11
  277. package/build/es/components/DimensionsPanel/List/DimensionList.js +8 -8
  278. package/build/es/components/DimensionsPanel/List/OptionsButton.js +8 -11
  279. package/build/es/components/DimensionsPanel/List/RecommendedIcon.js +10 -13
  280. package/build/es/components/DynamicDimension/DynamicDimension.js +9 -13
  281. package/build/es/components/DynamicDimension/ItemSelector.js +24 -36
  282. package/build/es/components/FileMenu/DeleteDialog.js +10 -14
  283. package/build/es/components/FileMenu/FileMenu.js +18 -28
  284. package/build/es/components/FileMenu/GetLinkDialog.js +7 -7
  285. package/build/es/components/FileMenu/RenameDialog.js +12 -19
  286. package/build/es/components/FileMenu/SaveAsDialog.js +12 -19
  287. package/build/es/components/FileMenu/__tests__/FileMenu.spec.js +6 -2
  288. package/build/es/components/FileMenu/__tests__/GetLinkDialog.spec.js +7 -8
  289. package/build/es/components/FileMenu/utils.js +10 -12
  290. package/build/es/components/Filter/Filter.js +21 -27
  291. package/build/es/components/Interpretations/InterpretationModal/Comment.js +7 -8
  292. package/build/es/components/Interpretations/InterpretationModal/CommentAddForm.js +9 -13
  293. package/build/es/components/Interpretations/InterpretationModal/CommentDeleteButton.js +9 -13
  294. package/build/es/components/Interpretations/InterpretationModal/CommentUpdateForm.js +11 -15
  295. package/build/es/components/Interpretations/InterpretationModal/InterpretationModal.js +18 -23
  296. package/build/es/components/Interpretations/InterpretationModal/InterpretationThread.js +11 -12
  297. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationForm.js +11 -15
  298. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationList.js +10 -11
  299. package/build/es/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +22 -31
  300. package/build/es/components/Interpretations/common/Interpretation/Interpretation.js +12 -13
  301. package/build/es/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +7 -11
  302. package/build/es/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +4 -5
  303. package/build/es/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +14 -21
  304. package/build/es/components/Interpretations/common/Interpretation/useLike.js +5 -6
  305. package/build/es/components/Interpretations/common/Message/Message.js +6 -7
  306. package/build/es/components/Interpretations/common/Message/MessageButtonStrip.js +8 -11
  307. package/build/es/components/Interpretations/common/Message/MessageEditorContainer.js +18 -21
  308. package/build/es/components/Interpretations/common/Message/MessageIconButton.js +34 -40
  309. package/build/es/components/Interpretations/common/Message/MessageStatsBar.js +8 -11
  310. package/build/es/components/LegendKey/LegendKey.js +3 -4
  311. package/build/es/components/OfflineTooltip.js +18 -26
  312. package/build/es/components/OpenFileDialog/CreatedByFilter.js +20 -26
  313. package/build/es/components/OpenFileDialog/CustomSelectOption.js +23 -26
  314. package/build/es/components/OpenFileDialog/DateField.js +3 -4
  315. package/build/es/components/OpenFileDialog/FileList.js +19 -22
  316. package/build/es/components/OpenFileDialog/NameFilter.js +15 -21
  317. package/build/es/components/OpenFileDialog/OpenFileDialog.js +35 -43
  318. package/build/es/components/OpenFileDialog/PaginationControls.js +22 -28
  319. package/build/es/components/OpenFileDialog/VisTypeFilter.js +28 -37
  320. package/build/es/components/Options/VisualizationOptions.js +34 -44
  321. package/build/es/components/OrgUnitDimension/OrgUnitDimension.js +37 -58
  322. package/build/es/components/PeriodDimension/FixedPeriodFilter.js +16 -25
  323. package/build/es/components/PeriodDimension/FixedPeriodSelect.js +14 -19
  324. package/build/es/components/PeriodDimension/PeriodDimension.js +9 -12
  325. package/build/es/components/PeriodDimension/PeriodTransfer.js +48 -61
  326. package/build/es/components/PeriodDimension/RelativePeriodFilter.js +24 -30
  327. package/build/es/components/PeriodDimension/__tests__/__snapshots__/FixedPeriodSingleSelect.spec.js.snap +0 -1
  328. package/build/es/components/PeriodDimension/__tests__/__snapshots__/PeriodDimension.spec.js.snap +0 -1
  329. package/build/es/components/PeriodDimension/utils/fixedPeriods.js +6 -7
  330. package/build/es/components/PeriodDimension/utils/index.js +1 -5
  331. package/build/es/components/PivotTable/PivotTable.js +7 -8
  332. package/build/es/components/PivotTable/PivotTableBody.js +20 -29
  333. package/build/es/components/PivotTable/PivotTableCell.js +8 -12
  334. package/build/es/components/PivotTable/PivotTableClippedAxis.js +14 -17
  335. package/build/es/components/PivotTable/PivotTableColumnHeaderCell.js +7 -8
  336. package/build/es/components/PivotTable/PivotTableColumnHeaders.js +22 -29
  337. package/build/es/components/PivotTable/PivotTableContainer.js +5 -6
  338. package/build/es/components/PivotTable/PivotTableDimensionLabelCell.js +4 -5
  339. package/build/es/components/PivotTable/PivotTableEmptyCell.js +3 -4
  340. package/build/es/components/PivotTable/PivotTableEmptyRow.js +4 -5
  341. package/build/es/components/PivotTable/PivotTableEngineContext.js +4 -5
  342. package/build/es/components/PivotTable/PivotTableHead.js +13 -16
  343. package/build/es/components/PivotTable/PivotTableHeaderCell.js +8 -9
  344. package/build/es/components/PivotTable/PivotTableRow.js +20 -27
  345. package/build/es/components/PivotTable/PivotTableRowHeaderCell.js +5 -6
  346. package/build/es/components/PivotTable/PivotTableSortIcon.js +4 -5
  347. package/build/es/components/PivotTable/PivotTableTitleRow.js +18 -22
  348. package/build/es/components/PivotTable/PivotTableTitleRows.js +4 -5
  349. package/build/es/components/PivotTable/PivotTableValueCell.js +5 -6
  350. package/build/es/components/RichText/Editor/Editor.js +69 -83
  351. package/build/es/components/RichText/Parser/Parser.js +4 -8
  352. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuBar.js +20 -23
  353. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +7 -11
  354. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuList.js +8 -15
  355. package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +10 -14
  356. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +4 -5
  357. package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +6 -4
  358. package/build/es/components/Toolbar/InterpretationsAndDetailsToggler.js +15 -21
  359. package/build/es/components/Toolbar/Toolbar.js +10 -16
  360. package/build/es/components/Toolbar/ToolbarSidebar.js +12 -18
  361. package/build/es/components/Toolbar/UpdateButton.js +18 -24
  362. package/build/es/components/TransferOption.js +14 -15
  363. package/build/es/components/TranslationDialog/TranslationModal/LocalesSelect.js +19 -27
  364. package/build/es/components/TranslationDialog/TranslationModal/TranslationForm.js +16 -23
  365. package/build/es/components/TranslationDialog/TranslationModal/TranslationModal.js +6 -7
  366. package/build/es/components/TranslationDialog/TranslationModal/TranslationModalActions.js +18 -27
  367. package/build/es/components/TranslationDialog/TranslationModal/useTranslationsResults.js +3 -4
  368. package/build/es/components/UserMention/UserList.js +6 -7
  369. package/build/es/components/UserMention/UserMentionWrapper.js +12 -18
  370. package/build/es/components/UserMention/useUserSearchResults.js +12 -16
  371. package/build/es/components/VisTypeIcon.js +5 -6
  372. package/build/es/locales/ar_IQ/translations.json +20 -11
  373. package/build/es/locales/cs/translations.json +2 -0
  374. package/build/es/locales/en/translations.json +1 -0
  375. package/build/es/locales/es/translations.json +2 -0
  376. package/build/es/locales/fr/translations.json +2 -0
  377. package/build/es/locales/id/translations.json +20 -11
  378. package/build/es/locales/lo/translations.json +2 -0
  379. package/build/es/locales/nb/translations.json +2 -0
  380. package/build/es/locales/prs/translations.json +2 -0
  381. package/build/es/locales/ps/translations.json +2 -0
  382. package/build/es/locales/pt/translations.json +2 -0
  383. package/build/es/locales/pt_BR/translations.json +2 -0
  384. package/build/es/locales/ru/translations.json +2 -0
  385. package/build/es/locales/si/translations.json +20 -11
  386. package/build/es/locales/sv/translations.json +20 -11
  387. package/build/es/locales/tet/translations.json +20 -11
  388. package/build/es/locales/tg/translations.json +2 -0
  389. package/build/es/locales/uk/translations.json +2 -0
  390. package/build/es/locales/ur/translations.json +2 -0
  391. package/build/es/locales/uz_UZ_Cyrl/translations.json +2 -0
  392. package/build/es/locales/uz_UZ_Latn/translations.json +4 -2
  393. package/build/es/locales/vi/translations.json +2 -0
  394. package/build/es/locales/zh/translations.json +2 -0
  395. package/build/es/locales/zh_CN/translations.json +17 -15
  396. package/build/es/modules/__tests__/expressions.spec.js +4 -5
  397. package/build/es/modules/__tests__/isNumeric.spec.js +31 -0
  398. package/build/es/modules/dimensionListItem.js +4 -5
  399. package/build/es/modules/expressions.js +3 -9
  400. package/build/es/modules/getPWAInstallationStatus.js +7 -9
  401. package/build/es/modules/layout/dimensionCreate.js +1 -3
  402. package/build/es/modules/layout/dimensionIsValid.js +3 -4
  403. package/build/es/modules/legends.js +5 -6
  404. package/build/es/modules/outliers/index.js +2 -3
  405. package/build/es/modules/outliers/iqr.js +4 -6
  406. package/build/es/modules/outliers/modZScore.js +6 -14
  407. package/build/es/modules/outliers/zScore.js +3 -4
  408. package/build/es/modules/pivotTable/AdaptiveClippingController.js +12 -16
  409. package/build/es/modules/pivotTable/PivotTableEngine.js +48 -59
  410. package/build/es/modules/pivotTable/clipAxis.js +7 -8
  411. package/build/es/modules/pivotTable/clipPartitionedAxis.js +9 -10
  412. package/build/es/modules/pivotTable/getHeaderForDisplay.js +8 -9
  413. package/build/es/modules/pivotTable/measureText.js +7 -9
  414. package/build/es/modules/pivotTable/useParentSize.js +1 -2
  415. package/build/es/modules/pivotTable/useScrollPosition.js +1 -2
  416. package/build/es/modules/pivotTable/useTableClipping.js +6 -7
  417. package/build/es/modules/relativeItems/index.js +1 -4
  418. package/build/es/modules/renderValue.js +1 -2
  419. package/build/es/modules/utils.js +9 -1
  420. package/build/es/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +3 -8
  421. package/build/es/visualizations/config/adapters/dhis_highcharts/axis.js +2 -5
  422. package/build/es/visualizations/config/adapters/dhis_highcharts/customAxes.js +2 -5
  423. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/index.js +7 -8
  424. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/getSingleValueBackgroundColor.js +1 -2
  425. package/build/es/visualizations/config/adapters/dhis_highcharts/customSVGOptions/singleValue/index.js +6 -7
  426. package/build/es/visualizations/config/adapters/dhis_highcharts/getFormatter.js +1 -1
  427. package/build/es/visualizations/config/adapters/dhis_highcharts/getSteps.js +1 -1
  428. package/build/es/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +3 -4
  429. package/build/es/visualizations/config/adapters/dhis_highcharts/index.js +7 -8
  430. package/build/es/visualizations/config/adapters/dhis_highcharts/legend.js +6 -7
  431. package/build/es/visualizations/config/adapters/dhis_highcharts/legendSet.js +22 -26
  432. package/build/es/visualizations/config/adapters/dhis_highcharts/plotOptions.js +8 -9
  433. package/build/es/visualizations/config/adapters/dhis_highcharts/series/index.js +18 -20
  434. package/build/es/visualizations/config/adapters/dhis_highcharts/series/pie.js +1 -4
  435. package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +1 -3
  436. package/build/es/visualizations/config/index.js +11 -12
  437. package/build/es/visualizations/config/validators/dhis/index.js +3 -4
  438. package/build/es/visualizations/index.js +1 -4
  439. package/build/es/visualizations/store/adapters/dhis_highcharts/index.js +7 -8
  440. package/build/es/visualizations/store/index.js +15 -17
  441. package/build/es/visualizations/store/validators/dhis/index.js +5 -6
  442. package/build/es/visualizations/util/getFilterText.js +3 -6
  443. package/build/es/visualizations/util/shouldUseContrastColor.js +1 -2
  444. package/package.json +12 -12
@@ -161,6 +161,7 @@
161
161
  "line list": "行列表",
162
162
  "map": "地图",
163
163
  "visualization": "可视化",
164
+ "Untitled {{visualizationType}}, {{date}}": "无标题的{{visualizationType}} 、{{date}}",
164
165
  "Edit": "编辑",
165
166
  "Write a reply": "书写应答",
166
167
  "Post reply": "发表回复",
@@ -446,6 +447,7 @@
446
447
  "Single value": "单个值",
447
448
  "Outlier table": "异常值表",
448
449
  "All charts": "所有图表",
450
+ "Map": "地图",
449
451
  "{{seriesName}} (trend)": "{{seriesName}}(趋势)",
450
452
  "Trend": "趋势",
451
453
  "No legend for this series": "这个系列没有图例",
@@ -108,7 +108,7 @@
108
108
  "All available items are already selected": "",
109
109
  "Calculation": "",
110
110
  "Metric type": "",
111
- "All metrics": "",
111
+ "All metrics": "所有尺度",
112
112
  "No items selected": "",
113
113
  "No indicators found": "",
114
114
  "No data sets found": "",
@@ -126,19 +126,19 @@
126
126
  "Add to {{axisName}}": "添加到 {{axisName}}",
127
127
  "Not available for {{visualizationType}}": "",
128
128
  "Remove Assigned Categories": "",
129
- "Add Assigned Categories": "",
129
+ "Add Assigned Categories": "添加指定的分类",
130
130
  "Remove": "移除",
131
131
  "Filter dimensions": "过滤器维度",
132
132
  "Main dimensions": "主要维度",
133
133
  "Your dimensions": "你的维度",
134
134
  "Dimension recommended with selected data": "",
135
- "All items": "",
135
+ "All items": "所有条目",
136
136
  "Automatically include all items": "",
137
137
  "Select all {{- dimensionTitle}} items. With this option, new items added in the future will be automatically included.": "",
138
138
  "Manually select items...": "",
139
139
  "Nothing found in {{- dimensionTitle}}": "",
140
140
  "Search": "搜索",
141
- "Delete {{fileType}}": "",
141
+ "Delete {{fileType}}": "删除{{fileType}}",
142
142
  "This {{fileType}} and related interpretations will be deleted. Continue?": "",
143
143
  "Delete": "删除",
144
144
  "File": "文件",
@@ -161,6 +161,7 @@
161
161
  "line list": "",
162
162
  "map": "",
163
163
  "visualization": "",
164
+ "Untitled {{visualizationType}}, {{date}}": "",
164
165
  "Edit": "编辑",
165
166
  "Write a reply": "",
166
167
  "Post reply": "",
@@ -179,7 +180,7 @@
179
180
  "Reply": "回复",
180
181
  "{{count}} replies": "",
181
182
  "View replies": "",
182
- "Unlike": "",
183
+ "Unlike": "不喜欢",
183
184
  "Like": "Like",
184
185
  "See interpretation": "",
185
186
  "Open in app": "",
@@ -187,7 +188,7 @@
187
188
  "Manage sharing": "",
188
189
  "Could not update interpretation": "",
189
190
  "Enter interpretation text": "",
190
- "Not available offline": "",
191
+ "Not available offline": "离线不可用",
191
192
  "Anyone": "任何人",
192
193
  "Only you": "",
193
194
  "Others": "其它",
@@ -240,8 +241,8 @@
240
241
  "Select year": "选择年份",
241
242
  "Period": "周期",
242
243
  "Selected Periods": "",
243
- "Relative periods": "",
244
- "Fixed periods": "",
244
+ "Relative periods": "相对期间",
245
+ "Fixed periods": "固定期间",
245
246
  "No periods selected": "",
246
247
  "Daily": "每日",
247
248
  "Weekly": "每周",
@@ -306,8 +307,8 @@
306
307
  "Weeks": "周",
307
308
  "Bi-weeks": "",
308
309
  "Months": "月",
309
- "Bi-months": "",
310
- "Quarters": "",
310
+ "Bi-months": "俩月",
311
+ "Quarters": "季节",
311
312
  "Six-months": "",
312
313
  "Financial Years": "",
313
314
  "Years": "年",
@@ -328,12 +329,12 @@
328
329
  "Save translations": "",
329
330
  "Cannot save while offline": "",
330
331
  "Could not load translations": "",
331
- "Retry": "",
332
+ "Retry": "重试",
332
333
  "Too many results. Try refining the search.": "",
333
334
  "Search for a user": "",
334
335
  "Searching for \"{{- searchText}}\"": "",
335
336
  "No results found": "没有结果",
336
- "Series": "",
337
+ "Series": "系列",
337
338
  "Category": "分类",
338
339
  "Columns": "",
339
340
  "Rows": "",
@@ -379,7 +380,7 @@
379
380
  "Large": "较大",
380
381
  "Extra Large": "",
381
382
  "Left": "左",
382
- "Center": "",
383
+ "Center": "居中",
383
384
  "Right": "右",
384
385
  "Start": "开始",
385
386
  "Middle": "",
@@ -446,14 +447,15 @@
446
447
  "Single value": "",
447
448
  "Outlier table": "",
448
449
  "All charts": "",
450
+ "Map": "地图",
449
451
  "{{seriesName}} (trend)": "",
450
452
  "Trend": "",
451
453
  "No legend for this series": "",
452
454
  "and {{amount}} more...": "",
453
455
  "Linear Regression": "",
454
456
  "Target": "目标",
455
- "Base": "",
456
- "Axis {{axisId}}": "",
457
+ "Base": "",
458
+ "Axis {{axisId}}": "轴{{axisId}}",
457
459
  "{{count}} items": "",
458
460
  "Reset zoom": ""
459
461
  }
@@ -27,11 +27,10 @@ const invalidTestExpressions = [{
27
27
  }];
28
28
  const validTestExpressions = ['5+9', '((#{cYeuwXTCPkU}*#{Jtf34kNZhzP}))#{iKGjnOOaPlE}', '#{P3jJH5Tu5VC.S34ULMcHMca}*#{Jtf34kNZhzP}', '(5)+9', '(5+9)', '10/-5'];
29
29
  describe('validateExpression', () => {
30
- invalidTestExpressions.forEach(_ref => {
31
- let {
32
- expressions,
33
- message
34
- } = _ref;
30
+ invalidTestExpressions.forEach(({
31
+ expressions,
32
+ message
33
+ }) => {
35
34
  expressions.forEach(exp => {
36
35
  test(`Fails: ${message}`, () => {
37
36
  expect((0, _expressions.validateExpression)(exp)).toEqual({
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _utils = require("../utils.js");
4
+ describe('isNumeric', () => {
5
+ it('should return true for a number string', () => {
6
+ expect((0, _utils.isNumeric)('01')).toBe(true);
7
+ });
8
+ it('should return true for a regular number', () => {
9
+ expect((0, _utils.isNumeric)(10)).toBe(true);
10
+ });
11
+ it('should not regard infinity as a numeric', () => {
12
+ expect((0, _utils.isNumeric)(Infinity)).toBe(false);
13
+ expect((0, _utils.isNumeric)(-Infinity)).toBe(false);
14
+ });
15
+ it('should return false for NaN', () => {
16
+ expect((0, _utils.isNumeric)(NaN)).toBe(false);
17
+ });
18
+ it('should return false for things other than numbers', () => {
19
+ expect((0, _utils.isNumeric)(null)).toBe(false);
20
+ expect((0, _utils.isNumeric)([1, 2, 3])).toBe(false);
21
+ expect((0, _utils.isNumeric)(true)).toBe(false);
22
+ expect((0, _utils.isNumeric)(new Date())).toBe(false);
23
+ expect((0, _utils.isNumeric)(new Error())).toBe(false);
24
+ expect((0, _utils.isNumeric)(undefined)).toBe(false);
25
+ expect((0, _utils.isNumeric)(() => {})).toBe(false);
26
+ expect((0, _utils.isNumeric)({
27
+ a: 1
28
+ })).toBe(false);
29
+ expect((0, _utils.isNumeric)(/x/)).toBe(false);
30
+ expect((0, _utils.isNumeric)('a')).toBe(false);
31
+ expect((0, _utils.isNumeric)(Symbol())).toBe(false);
32
+ });
33
+ });
@@ -13,12 +13,11 @@ var _CalculationIcon = _interopRequireDefault(require("./../assets/DimensionItem
13
13
  var _dataSets = require("./dataSets.js");
14
14
  var _dataTypes = require("./dataTypes.js");
15
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- const getDimensionType = _ref => {
16
+ const getDimensionType = ({
17
+ type,
18
+ expression
19
+ }) => {
17
20
  var _dataTypes$type;
18
- let {
19
- type,
20
- expression
21
- } = _ref;
22
21
  if (type === _dataTypes.DIMENSION_TYPE_EXPRESSION_DIMENSION_ITEM && expression) {
23
22
  return _dataTypes.dataTypeMap[_dataTypes.DIMENSION_TYPE_EXPRESSION_DIMENSION_ITEM].getItemName();
24
23
  }
@@ -46,9 +46,7 @@ const parseExpression = input => {
46
46
  return input.match(regex) || [];
47
47
  };
48
48
  exports.parseExpression = parseExpression;
49
- const parseExpressionToArray = function () {
50
- let expression = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
51
- let metadata = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
49
+ const parseExpressionToArray = (expression = '', metadata = []) => {
52
50
  return parseExpression(expression).map(value => {
53
51
  if (value.startsWith('#{') && value.endsWith('}')) {
54
52
  var _metadata$find;
@@ -75,10 +73,7 @@ const parseExpressionToArray = function () {
75
73
  }) || [];
76
74
  };
77
75
  exports.parseExpressionToArray = parseExpressionToArray;
78
- const parseArrayToExpression = function () {
79
- let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
80
- return input.map(item => item.value).join('');
81
- };
76
+ const parseArrayToExpression = (input = []) => input.map(item => item.value).join('');
82
77
  exports.parseArrayToExpression = parseArrayToExpression;
83
78
  const validateExpression = expression => {
84
79
  let result;
@@ -131,8 +126,7 @@ const validateExpression = expression => {
131
126
  return result;
132
127
  };
133
128
  exports.validateExpression = validateExpression;
134
- const getItemIdsFromExpression = function () {
135
- let expression = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
129
+ const getItemIdsFromExpression = (expression = '') => {
136
130
  const regex = /#{([a-zA-Z0-9#]+.*?)}/g;
137
131
  const matches = expression.match(regex);
138
132
  return matches ? matches.map(match => match.slice(2, -1)) : [];
@@ -9,11 +9,10 @@ const INSTALLATION_STATES = exports.INSTALLATION_STATES = {
9
9
  READY: 'READY',
10
10
  INSTALLING: 'INSTALLING'
11
11
  };
12
- function handleInstallingWorker(_ref) {
13
- let {
14
- installingWorker,
15
- onStateChange
16
- } = _ref;
12
+ function handleInstallingWorker({
13
+ installingWorker,
14
+ onStateChange
15
+ }) {
17
16
  installingWorker.onstatechange = () => {
18
17
  if (installingWorker.state === 'activated') {
19
18
  // ... and update state to 'ready'
@@ -30,10 +29,9 @@ function handleInstallingWorker(_ref) {
30
29
  *
31
30
  * Returns either READY, INSTALLING, or `null` for not installed/won't install
32
31
  */
33
- async function getPWAInstallationStatus(_ref2) {
34
- let {
35
- onStateChange
36
- } = _ref2;
32
+ async function getPWAInstallationStatus({
33
+ onStateChange
34
+ }) {
37
35
  if (!navigator.serviceWorker) {
38
36
  // Nothing to do here
39
37
  return null;
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.dimensionCreate = void 0;
7
7
  var _dimension = require("./dimension.js");
8
- const dimensionCreate = function (dimensionId) {
9
- let itemIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
10
- let args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
8
+ const dimensionCreate = (dimensionId, itemIds = [], args = {}) => {
11
9
  const dimension = {
12
10
  [_dimension.DIMENSION_PROP_ID.name]: dimensionId,
13
11
  ...(itemIds.length && {
@@ -6,10 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.dimensionIsValid = void 0;
7
7
  var _dimension = require("./dimension.js");
8
8
  var _dimensionIsEmpty = require("./dimensionIsEmpty.js");
9
- const dimensionIsValid = function (dimension) {
10
- let {
11
- requireItems
12
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
9
+ const dimensionIsValid = (dimension, {
10
+ requireItems
11
+ } = {}) => {
13
12
  if (!_dimension.DIMENSION.isValid(dimension)) {
14
13
  return false;
15
14
  }
@@ -19,12 +19,11 @@ const getColorByValueFromLegendSet = (legendSet, value) => {
19
19
  return legend && legend.color;
20
20
  };
21
21
  exports.getColorByValueFromLegendSet = getColorByValueFromLegendSet;
22
- const getLegendSetByDisplayStrategy = _ref => {
23
- let {
24
- displayStrategy,
25
- legendSets,
26
- legendSetId
27
- } = _ref;
22
+ const getLegendSetByDisplayStrategy = ({
23
+ displayStrategy,
24
+ legendSets,
25
+ legendSetId
26
+ }) => {
28
27
  if (displayStrategy === LEGEND_DISPLAY_STRATEGY_FIXED && legendSets.length) {
29
28
  return legendSets[0];
30
29
  } else if (displayStrategy === LEGEND_DISPLAY_STRATEGY_BY_DATA_ITEM) {
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getOutlierHelper = exports.defaultConfig = exports.PROP_THRESHOLD_FACTOR = exports.PROP_OUTLIER_METHOD = exports.PROP_NORMALIZATION_METHOD = exports.PROP_EXTREME_LINES_VALUE = exports.PROP_EXTREME_LINES = exports.PROP_ENABLED = exports.DEFAULT_THRESHOLD_FACTOR = exports.DEFAULT_OUTLIER_METHOD = exports.DEFAULT_NORMALIZATION_METHOD = exports.DEFAULT_EXTREME_LINES_VALUE = exports.DEFAULT_ENABLED = void 0;
7
7
  var _isNumber = _interopRequireDefault(require("d2-utilizr/lib/isNumber"));
8
- var _isNumeric = _interopRequireDefault(require("d2-utilizr/lib/isNumeric"));
9
8
  var _index = _interopRequireDefault(require("../../locales/index.js"));
9
+ var _utils = require("../../modules/utils.js");
10
10
  var _iqr = require("./iqr.js");
11
11
  var _modZScore = require("./modZScore.js");
12
12
  var _normalization = require("./normalization.js");
@@ -36,7 +36,7 @@ const defaultConfig = exports.defaultConfig = {
36
36
  };
37
37
  const getExtremeLines = (percentage, xyStats) => {
38
38
  const lines = [];
39
- if (!(0, _isNumeric.default)(percentage)) {
39
+ if (!(0, _utils.isNumeric)(percentage)) {
40
40
  return lines;
41
41
  }
42
42
  const xExtremeValue = xyStats.xSum * (percentage / 100);
@@ -60,10 +60,9 @@ const getMinMaxValue = (outlierHelper, isVertical, isMax) => {
60
60
  const prop = (isVertical ? 'y' : 'x') + (isMax ? 'Max' : 'Min');
61
61
  const extremeValue = outlierHelper.extremeLines && outlierHelper.extremeLines[isVertical ? 1 : 0].value;
62
62
  const extremeFactor = (0, _isNumber.default)(extremeValue) && isMax ? extremeValue + Math.abs(extremeValue) * 0.1 : extremeValue - Math.abs(extremeValue) * 0.1;
63
- return [...outlierHelper.thresholds.map(t => (0, _xyStats.getXYStats)([t.line[0], t.line[t.line.length - 1]])[prop]), extremeFactor].filter(_isNumeric.default).sort(isMax ? (a, b) => b - a : (a, b) => a - b)[0];
63
+ return [...outlierHelper.thresholds.map(t => (0, _xyStats.getXYStats)([t.line[0], t.line[t.line.length - 1]])[prop]), extremeFactor].filter(_utils.isNumeric).sort(isMax ? (a, b) => b - a : (a, b) => a - b)[0];
64
64
  };
65
- const getOutlierHelper = function (data) {
66
- let userConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
65
+ const getOutlierHelper = (data, userConfig = {}) => {
67
66
  if (data.length < 3) {
68
67
  return null;
69
68
  }
@@ -94,7 +93,7 @@ const getOutlierHelper = function (data) {
94
93
  default:
95
94
  helper = (0, _iqr.getIQRHelper)(normalizationHelper, config, options);
96
95
  }
97
- if (config[PROP_EXTREME_LINES][PROP_ENABLED] && (0, _isNumeric.default)(config[PROP_EXTREME_LINES][PROP_EXTREME_LINES_VALUE])) {
96
+ if (config[PROP_EXTREME_LINES][PROP_ENABLED] && (0, _utils.isNumeric)(config[PROP_EXTREME_LINES][PROP_EXTREME_LINES_VALUE])) {
98
97
  helper.extremeLines = getExtremeLines(config[PROP_EXTREME_LINES][PROP_EXTREME_LINES_VALUE], options.xyStats);
99
98
  }
100
99
 
@@ -24,8 +24,7 @@ const getQuartilePosition = (data, quartile) => {
24
24
  }
25
25
  };
26
26
  exports.getQuartilePosition = getQuartilePosition;
27
- const getQuartileValue = function (data) {
28
- let quartile = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Q1;
27
+ const getQuartileValue = (data, quartile = Q1) => {
29
28
  if (data.length < 3) {
30
29
  return;
31
30
  }
@@ -39,10 +38,9 @@ const getQuartileValue = function (data) {
39
38
  return data[base - 1] + diff * rest;
40
39
  };
41
40
  exports.getQuartileValue = getQuartileValue;
42
- const getIQRHelper = (normalizationHelper, config, _ref) => {
43
- let {
44
- xyStats
45
- } = _ref;
41
+ const getIQRHelper = (normalizationHelper, config, {
42
+ xyStats
43
+ }) => {
46
44
  const sortedNormalized = normalizationHelper.normalized.slice().sort((a, b) => a - b);
47
45
  const q1 = getQuartileValue(sortedNormalized, Q1);
48
46
  const q3 = getQuartileValue(sortedNormalized, Q3);
@@ -20,15 +20,9 @@ const getMedian = values => {
20
20
 
21
21
  // Absolute deviation
22
22
  exports.getMedian = getMedian;
23
- const getMedianAbsoluteDeviation = function (values) {
24
- let median = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getMedian(values);
25
- return getMedian(values.map(value => Math.abs(value - median)).sort((a, b) => a - b));
26
- };
23
+ const getMedianAbsoluteDeviation = (values, median = getMedian(values)) => getMedian(values.map(value => Math.abs(value - median)).sort((a, b) => a - b));
27
24
  exports.getMedianAbsoluteDeviation = getMedianAbsoluteDeviation;
28
- const getMeanAbsoluteDeviation = function (values) {
29
- let mean = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getMean(values);
30
- return getMean(values.map(value => Math.abs(value - mean)));
31
- };
25
+ const getMeanAbsoluteDeviation = (values, mean = getMean(values)) => getMean(values.map(value => Math.abs(value - mean)));
32
26
 
33
27
  // Modified z-scores
34
28
  exports.getMeanAbsoluteDeviation = getMeanAbsoluteDeviation;
@@ -42,8 +36,7 @@ const getModZScoreThresholds = (thresholdFactor, medianAD, median) => [median -
42
36
  exports.getModZScoreThresholds = getModZScoreThresholds;
43
37
  const getModZScoreMAD0Thresholds = (thresholdFactor, meanAD, median) => [median - thresholdFactor * meanAD * MEAN_AD_CORRECTION, median + thresholdFactor * meanAD * MEAN_AD_CORRECTION];
44
38
  exports.getModZScoreMAD0Thresholds = getModZScoreMAD0Thresholds;
45
- const getDataWithZScore = function (dataWithNormalization) {
46
- let cache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
39
+ const getDataWithZScore = (dataWithNormalization, cache = {}) => {
47
40
  const normalizedData = cache.normalizedData || dataWithNormalization.map(obj => obj.normalized);
48
41
  const median = (0, _isNumber.default)(cache.median) ? cache.median : getMedian(normalizedData);
49
42
  const medianAD = (0, _isNumber.default)(cache.medianAD) ? cache.medianAD : getMedianAbsoluteDeviation();
@@ -63,10 +56,9 @@ const getDataWithZScore = function (dataWithNormalization) {
63
56
  return dataWithZScore;
64
57
  };
65
58
  exports.getDataWithZScore = getDataWithZScore;
66
- const getModZScoreHelper = (normalizationHelper, config, _ref) => {
67
- let {
68
- xyStats
69
- } = _ref;
59
+ const getModZScoreHelper = (normalizationHelper, config, {
60
+ xyStats
61
+ }) => {
70
62
  const sortedNormalized = normalizationHelper.normalized.slice().sort((a, b) => a - b);
71
63
  const median = getMedian(sortedNormalized);
72
64
  const medianAD = getMedianAbsoluteDeviation(sortedNormalized, median);
@@ -13,10 +13,9 @@ const getStdDev = data => (0, _mathjs.std)(data, 'unbiased');
13
13
  exports.getStdDev = getStdDev;
14
14
  const getMean = data => (0, _mathjs.mean)(data);
15
15
  exports.getMean = getMean;
16
- const getZScoreHelper = (normalizationHelper, config, _ref) => {
17
- let {
18
- xyStats
19
- } = _ref;
16
+ const getZScoreHelper = (normalizationHelper, config, {
17
+ xyStats
18
+ }) => {
20
19
  const sortedNormalized = normalizationHelper.normalized.slice().sort((a, b) => a - b);
21
20
  const stdDev = getStdDev(sortedNormalized);
22
21
  const zScoreThreshold = stdDev * config[_index2.PROP_THRESHOLD_FACTOR];
@@ -17,15 +17,13 @@ class AdaptiveClippingController {
17
17
  this.engine = engine;
18
18
  this.reset();
19
19
  }
20
- addSize(_ref, _ref2) {
21
- let {
22
- row,
23
- column
24
- } = _ref;
25
- let {
26
- width,
27
- height
28
- } = _ref2;
20
+ addSize({
21
+ row,
22
+ column
23
+ }, {
24
+ width,
25
+ height
26
+ }) {
29
27
  if (column >= 0) {
30
28
  const columnSize = this.columns.sizes[column] || {
31
29
  pre: 0,
@@ -49,18 +47,16 @@ class AdaptiveClippingController {
49
47
  this.rows.headerSizes[index] = Math.max(this.rows.headerSizes[index] || 0, height);
50
48
  }
51
49
  }
52
- add(_ref3, renderedValue) {
53
- let {
54
- row,
55
- column
56
- } = _ref3;
50
+ add({
51
+ row,
52
+ column
53
+ }, renderedValue) {
57
54
  this.addSize({
58
55
  row,
59
56
  column
60
57
  }, this.measureText(renderedValue));
61
58
  }
62
- measureText(renderedValue) {
63
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
59
+ measureText(renderedValue, options = {}) {
64
60
  return (0, _measureText.measureTextWithWrapping)(renderedValue, {
65
61
  fontSize: this.engine.fontSize,
66
62
  ...options
@@ -115,11 +115,10 @@ const buildDimensionLookup = (visualization, metadata, headers) => {
115
115
  dataHeaders
116
116
  };
117
117
  };
118
- const lookup = (dataRow, dimensionLookup, _ref) => {
119
- let {
120
- doColumnSubtotals,
121
- doRowSubtotals
122
- } = _ref;
118
+ const lookup = (dataRow, dimensionLookup, {
119
+ doColumnSubtotals,
120
+ doRowSubtotals
121
+ }) => {
123
122
  let row = 0;
124
123
  for (const headerIndex of dimensionLookup.rowHeaders) {
125
124
  const idx = dimensionLookup.headerDimensions[headerIndex].itemIds.indexOf(dataRow[headerIndex]);
@@ -149,15 +148,14 @@ const lookup = (dataRow, dimensionLookup, _ref) => {
149
148
  row
150
149
  };
151
150
  };
152
- const applyTotalAggregationType = (_ref2, overrideTotalAggregationType) => {
153
- let {
154
- totalAggregationType,
155
- value,
156
- numerator,
157
- denominator,
158
- multiplier,
159
- divisor
160
- } = _ref2;
151
+ const applyTotalAggregationType = ({
152
+ totalAggregationType,
153
+ value,
154
+ numerator,
155
+ denominator,
156
+ multiplier,
157
+ divisor
158
+ }, overrideTotalAggregationType) => {
161
159
  switch (overrideTotalAggregationType || totalAggregationType) {
162
160
  case _pivotTableConstants.AGGREGATE_TYPE_NA:
163
161
  return _pivotTableConstants.VALUE_NA;
@@ -216,12 +214,11 @@ class PivotTableEngine {
216
214
  this.rowDepth = this.dimensionLookup.rows.length || (this.visualization.showDimensionLabels ? 1 : 0);
217
215
  this.buildMatrix();
218
216
  }
219
- getRaw(_ref3) {
217
+ getRaw({
218
+ row,
219
+ column
220
+ }) {
220
221
  var _headers$find, _headers$find2;
221
- let {
222
- row,
223
- column
224
- } = _ref3;
225
222
  const cellType = this.getRawCellType({
226
223
  row,
227
224
  column
@@ -307,18 +304,16 @@ class PivotTableEngine {
307
304
  }
308
305
  return rawCell;
309
306
  }
310
- getCumulative(_ref4) {
311
- let {
312
- row,
313
- column
314
- } = _ref4;
307
+ getCumulative({
308
+ row,
309
+ column
310
+ }) {
315
311
  return this.accumulators.rows[row][column];
316
312
  }
317
- get(_ref5) {
318
- let {
319
- row,
320
- column
321
- } = _ref5;
313
+ get({
314
+ row,
315
+ column
316
+ }) {
322
317
  const mappedRow = this.rowMap[row],
323
318
  mappedColumn = this.columnMap[column];
324
319
  if (!mappedRow && mappedRow !== 0 || !mappedColumn && mappedColumn !== 0) {
@@ -329,11 +324,10 @@ class PivotTableEngine {
329
324
  column: mappedColumn
330
325
  });
331
326
  }
332
- getRawCellType(_ref6) {
333
- let {
334
- row,
335
- column
336
- } = _ref6;
327
+ getRawCellType({
328
+ row,
329
+ column
330
+ }) {
337
331
  const isRowTotal = this.doRowTotals && column === this.dataWidth - 1;
338
332
  const isColumnTotal = this.doColumnTotals && row === this.dataHeight - 1;
339
333
  if (isRowTotal || isColumnTotal) {
@@ -346,11 +340,10 @@ class PivotTableEngine {
346
340
  }
347
341
  return _pivotTableConstants.CELL_TYPE_VALUE;
348
342
  }
349
- getCellType(_ref7) {
350
- let {
351
- row,
352
- column
353
- } = _ref7;
343
+ getCellType({
344
+ row,
345
+ column
346
+ }) {
354
347
  row = this.rowMap[row];
355
348
  column = this.columnMap[column];
356
349
  return this.getRawCellType({
@@ -380,21 +373,19 @@ class PivotTableEngine {
380
373
  return _d2I18n.default.t(this.dimensionLookup.rows[rowLevel].meta.name);
381
374
  }
382
375
  }
383
- getCellDxDimension(_ref8) {
384
- let {
385
- row,
386
- column
387
- } = _ref8;
376
+ getCellDxDimension({
377
+ row,
378
+ column
379
+ }) {
388
380
  return this.getRawCellDxDimension({
389
381
  row: this.rowMap[row],
390
382
  column: this.columnMap[column]
391
383
  });
392
384
  }
393
- getRawCellDxDimension(_ref9) {
394
- let {
395
- row,
396
- column
397
- } = _ref9;
385
+ getRawCellDxDimension({
386
+ row,
387
+ column
388
+ }) {
398
389
  if (!this.data[row]) {
399
390
  return undefined;
400
391
  }
@@ -491,12 +482,11 @@ class PivotTableEngine {
491
482
  getRowHeader(row) {
492
483
  return this.getRawRowHeader(this.rowMap[row]);
493
484
  }
494
- getDependantTotalCells(_ref10) {
485
+ getDependantTotalCells({
486
+ row,
487
+ column
488
+ }) {
495
489
  var _this$dimensionLookup, _this$dimensionLookup2;
496
- let {
497
- row,
498
- column
499
- } = _ref10;
500
490
  const rowSubtotalSize = ((_this$dimensionLookup = this.dimensionLookup.columns[0]) === null || _this$dimensionLookup === void 0 ? void 0 : _this$dimensionLookup.size) + 1;
501
491
  const rowSubtotal = rowSubtotalSize && this.doRowSubtotals && {
502
492
  row,
@@ -694,11 +684,10 @@ class PivotTableEngine {
694
684
  // (numberType option default is VALUE)
695
685
  return visualization.numberType && visualization.numberType !== _pivotTableConstants.NUMBER_TYPE_VALUE && _pivotTableConstants.AGGREGATE_TYPE_SUM;
696
686
  }
697
- finalizeTotal(_ref11) {
698
- let {
699
- row,
700
- column
701
- } = _ref11;
687
+ finalizeTotal({
688
+ row,
689
+ column
690
+ }) {
702
691
  if (!this.data[row]) {
703
692
  return;
704
693
  }