@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.
- package/build/cjs/__demo__/CalculationModal.stories.js +0 -5
- package/build/cjs/__demo__/DimensionsPanel.stories.js +0 -7
- package/build/cjs/__demo__/DynamicDimension.stories.js +0 -4
- package/build/cjs/__demo__/FileMenu.stories.js +2 -7
- package/build/cjs/__demo__/Filter.stories.js +0 -10
- package/build/cjs/__demo__/FixedPeriodSelect.stories.js +0 -6
- package/build/cjs/__demo__/OpenFileDialog.stories.js +1 -9
- package/build/cjs/__demo__/OrgUnitDimension.stories.js +1 -9
- package/build/cjs/__demo__/PeriodDimension.stories.js +0 -5
- package/build/cjs/__demo__/PivotTable.stories.js +100 -104
- package/build/cjs/__demo__/Toolbar.stories.js +0 -6
- package/build/cjs/__fixtures__/fixtures.js +0 -7
- package/build/cjs/api/__tests__/dimensions.spec.js +0 -3
- package/build/cjs/api/analytics/Analytics.js +1 -12
- package/build/cjs/api/analytics/AnalyticsAggregate.js +2 -9
- package/build/cjs/api/analytics/AnalyticsBase.js +8 -21
- package/build/cjs/api/analytics/AnalyticsEnrollments.js +0 -5
- package/build/cjs/api/analytics/AnalyticsEvents.js +3 -11
- package/build/cjs/api/analytics/AnalyticsRequest.js +15 -34
- package/build/cjs/api/analytics/AnalyticsRequestBase.js +7 -28
- package/build/cjs/api/analytics/AnalyticsRequestDimensionsMixin.js +3 -16
- package/build/cjs/api/analytics/AnalyticsRequestFiltersMixin.js +3 -16
- package/build/cjs/api/analytics/AnalyticsRequestPropertiesMixin.js +55 -140
- package/build/cjs/api/analytics/AnalyticsResponse.js +21 -45
- package/build/cjs/api/analytics/AnalyticsResponseHeader.js +0 -6
- package/build/cjs/api/analytics/__mocks__/DataEngine.js +0 -5
- package/build/cjs/api/analytics/__tests__/Analytics.spec.js +0 -5
- package/build/cjs/api/analytics/__tests__/AnalyticsAggregate.spec.js +11 -8
- package/build/cjs/api/analytics/__tests__/AnalyticsBase.spec.js +0 -2
- package/build/cjs/api/analytics/__tests__/AnalyticsEnrollments.spec.js +0 -7
- package/build/cjs/api/analytics/__tests__/AnalyticsEvents.spec.js +0 -7
- package/build/cjs/api/analytics/__tests__/AnalyticsRequest.spec.js +17 -19
- package/build/cjs/api/analytics/__tests__/AnalyticsRequestBase.spec.js +4 -9
- package/build/cjs/api/analytics/__tests__/AnalyticsResponse.spec.js +3 -5
- package/build/cjs/api/analytics/__tests__/AnalyticsResponseHeader.spec.js +2 -4
- package/build/cjs/api/analytics/utils.js +1 -3
- package/build/cjs/api/dimensions.js +41 -91
- package/build/cjs/api/index.js +1 -2
- package/build/cjs/api/organisationUnits.js +5 -16
- package/build/cjs/assets/AssignedCategoriesIcon.js +0 -4
- package/build/cjs/assets/DimensionItemIcons/CalculationIcon.js +0 -4
- package/build/cjs/assets/DimensionItemIcons/DataElementIcon.js +0 -4
- package/build/cjs/assets/DimensionItemIcons/GenericIcon.js +0 -4
- package/build/cjs/assets/DimensionItemIcons/PeriodIcon.js +0 -4
- package/build/cjs/assets/DynamicDimensionIcon.js +0 -4
- package/build/cjs/assets/FormulaIcon.js +0 -4
- package/build/cjs/components/AboutAOUnit/AboutAOUnit.js +19 -47
- package/build/cjs/components/AboutAOUnit/styles/AboutAOUnit.style.js +1 -3
- package/build/cjs/components/AboutAOUnit/utils.js +0 -5
- package/build/cjs/components/CachedDataQueryProvider.js +0 -17
- package/build/cjs/components/DataDimension/Calculation/CalculationModal.js +26 -73
- package/build/cjs/components/DataDimension/Calculation/DataElementOption.js +6 -19
- package/build/cjs/components/DataDimension/Calculation/DataElementSelector.js +16 -51
- package/build/cjs/components/DataDimension/Calculation/DndContext.js +6 -36
- package/build/cjs/components/DataDimension/Calculation/DragHandleIcon.js +0 -4
- package/build/cjs/components/DataDimension/Calculation/DraggingItem.js +3 -15
- package/build/cjs/components/DataDimension/Calculation/DropZone.js +1 -12
- package/build/cjs/components/DataDimension/Calculation/FormulaField.js +5 -21
- package/build/cjs/components/DataDimension/Calculation/FormulaItem.js +13 -41
- package/build/cjs/components/DataDimension/Calculation/MathOperatorSelector.js +4 -14
- package/build/cjs/components/DataDimension/Calculation/Operator.js +5 -18
- package/build/cjs/components/DataDimension/Calculation/styles/CalculationModal.style.js +1 -3
- package/build/cjs/components/DataDimension/Calculation/styles/DataElementOption.style.js +1 -3
- package/build/cjs/components/DataDimension/Calculation/styles/DataElementSelector.style.js +1 -3
- package/build/cjs/components/DataDimension/Calculation/styles/DraggingItem.style.js +1 -3
- package/build/cjs/components/DataDimension/Calculation/styles/DropZone.style.js +1 -3
- package/build/cjs/components/DataDimension/Calculation/styles/FormulaField.style.js +1 -3
- package/build/cjs/components/DataDimension/Calculation/styles/FormulaItem.style.js +1 -3
- package/build/cjs/components/DataDimension/Calculation/styles/MathOperatorSelector.style.js +1 -3
- package/build/cjs/components/DataDimension/Calculation/styles/Operator.style.js +1 -3
- package/build/cjs/components/DataDimension/DataDimension.js +1 -11
- package/build/cjs/components/DataDimension/DataTypeSelector.js +3 -14
- package/build/cjs/components/DataDimension/DetailSelector.js +2 -13
- package/build/cjs/components/DataDimension/GroupSelector.js +7 -26
- package/build/cjs/components/DataDimension/ItemSelector.js +45 -94
- package/build/cjs/components/DataDimension/MetricSelector.js +3 -14
- package/build/cjs/components/DataDimension/styles/DataTypeSelector.style.js +1 -3
- package/build/cjs/components/DataDimension/styles/DetailSelector.style.js +1 -3
- package/build/cjs/components/DataDimension/styles/GroupSelector.style.js +1 -3
- package/build/cjs/components/DataDimension/styles/MetricSelector.style.js +1 -3
- package/build/cjs/components/DimensionMenu.js +18 -35
- package/build/cjs/components/DimensionsPanel/DimensionsPanel.js +5 -19
- package/build/cjs/components/DimensionsPanel/List/DimensionItem.js +11 -32
- package/build/cjs/components/DimensionsPanel/List/DimensionList.js +11 -30
- package/build/cjs/components/DimensionsPanel/List/OptionsButton.js +0 -6
- package/build/cjs/components/DimensionsPanel/List/RecommendedIcon.js +0 -8
- package/build/cjs/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +0 -7
- package/build/cjs/components/DimensionsPanel/List/styles/DimensionItem.style.js +0 -2
- package/build/cjs/components/DimensionsPanel/List/styles/DimensionList.style.js +2 -4
- package/build/cjs/components/DimensionsPanel/List/styles/RecommendedIcon.style.js +0 -2
- package/build/cjs/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +0 -8
- package/build/cjs/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -3
- package/build/cjs/components/DynamicDimension/DynamicDimension.js +4 -23
- package/build/cjs/components/DynamicDimension/ItemSelector.js +15 -41
- package/build/cjs/components/DynamicDimension/styles/DynamicDimension.style.js +1 -3
- package/build/cjs/components/FileMenu/DeleteDialog.js +0 -12
- package/build/cjs/components/FileMenu/FileMenu.js +0 -29
- package/build/cjs/components/FileMenu/FileMenu.styles.js +2 -4
- package/build/cjs/components/FileMenu/GetLinkDialog.js +5 -15
- package/build/cjs/components/FileMenu/GetLinkDialog.styles.js +1 -3
- package/build/cjs/components/FileMenu/RenameDialog.js +1 -17
- package/build/cjs/components/FileMenu/SaveAsDialog.js +3 -16
- package/build/cjs/components/FileMenu/__tests__/DeleteDialog.spec.js +1 -9
- package/build/cjs/components/FileMenu/__tests__/FileMenu.spec.js +28 -51
- package/build/cjs/components/FileMenu/__tests__/GetLinkDialog.spec.js +0 -9
- package/build/cjs/components/FileMenu/__tests__/RenameDialog.spec.js +1 -9
- package/build/cjs/components/FileMenu/__tests__/SaveAsDialog.spec.js +1 -9
- package/build/cjs/components/FileMenu/utils.js +4 -19
- package/build/cjs/components/Filter/Filter.js +1 -9
- package/build/cjs/components/Filter/__tests__/Filter.spec.js +0 -8
- package/build/cjs/components/Filter/styles/Filter.style.js +1 -3
- package/build/cjs/components/Interpretations/InterpretationModal/Comment.js +0 -12
- package/build/cjs/components/Interpretations/InterpretationModal/CommentAddForm.js +1 -14
- package/build/cjs/components/Interpretations/InterpretationModal/CommentDeleteButton.js +1 -11
- package/build/cjs/components/Interpretations/InterpretationModal/CommentUpdateForm.js +2 -14
- package/build/cjs/components/Interpretations/InterpretationModal/InterpretationModal.js +2 -26
- package/build/cjs/components/Interpretations/InterpretationModal/InterpretationThread.js +0 -15
- package/build/cjs/components/Interpretations/InterpretationModal/index.js +0 -1
- package/build/cjs/components/Interpretations/InterpretationModal/useModalContentWidth.js +0 -7
- package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationForm.js +2 -15
- package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationList.js +1 -16
- package/build/cjs/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +2 -15
- package/build/cjs/components/Interpretations/InterpretationsUnit/index.js +0 -1
- package/build/cjs/components/Interpretations/common/Interpretation/Interpretation.js +0 -13
- package/build/cjs/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +0 -10
- package/build/cjs/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +1 -11
- package/build/cjs/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +1 -14
- package/build/cjs/components/Interpretations/common/Interpretation/index.js +0 -2
- package/build/cjs/components/Interpretations/common/Interpretation/useLike.js +1 -7
- package/build/cjs/components/Interpretations/common/Message/Message.js +1 -10
- package/build/cjs/components/Interpretations/common/Message/MessageButtonStrip.js +1 -8
- package/build/cjs/components/Interpretations/common/Message/MessageEditorContainer.js +1 -8
- package/build/cjs/components/Interpretations/common/Message/MessageIconButton.js +5 -13
- package/build/cjs/components/Interpretations/common/Message/MessageInput.js +2 -10
- package/build/cjs/components/Interpretations/common/Message/MessageStatsBar.js +1 -8
- package/build/cjs/components/Interpretations/common/Message/index.js +0 -6
- package/build/cjs/components/Interpretations/common/RichTextEditor/RichTextEditor.js +15 -35
- package/build/cjs/components/Interpretations/common/RichTextEditor/index.js +0 -1
- package/build/cjs/components/Interpretations/common/RichTextEditor/markdownHandler.js +4 -22
- package/build/cjs/components/Interpretations/common/RichTextEditor/styles/RichTextEditor.style.js +3 -5
- package/build/cjs/components/Interpretations/common/UserMention/UserList.js +1 -9
- package/build/cjs/components/Interpretations/common/UserMention/UserMentionWrapper.js +18 -46
- package/build/cjs/components/Interpretations/common/UserMention/styles/UserMentionWrapper.style.js +1 -6
- package/build/cjs/components/Interpretations/common/UserMention/useUserSearchResults.js +1 -9
- package/build/cjs/components/Interpretations/common/index.js +0 -6
- package/build/cjs/components/LegendKey/LegendKey.js +9 -17
- package/build/cjs/components/LegendKey/styles/LegendKey.style.js +1 -3
- package/build/cjs/components/OfflineTooltip.js +1 -12
- package/build/cjs/components/OpenFileDialog/CreatedByFilter.js +1 -8
- package/build/cjs/components/OpenFileDialog/CustomSelectOption.js +2 -13
- package/build/cjs/components/OpenFileDialog/DateField.js +0 -6
- package/build/cjs/components/OpenFileDialog/FileList.js +0 -8
- package/build/cjs/components/OpenFileDialog/NameFilter.js +0 -7
- package/build/cjs/components/OpenFileDialog/OpenFileDialog.js +29 -64
- package/build/cjs/components/OpenFileDialog/OpenFileDialog.styles.js +1 -3
- package/build/cjs/components/OpenFileDialog/PaginationControls.js +0 -7
- package/build/cjs/components/OpenFileDialog/VisTypeFilter.js +0 -10
- package/build/cjs/components/OpenFileDialog/styles/CustomSelectOption.style.js +1 -3
- package/build/cjs/components/OpenFileDialog/utils.js +0 -5
- package/build/cjs/components/Options/VisualizationOptions.js +0 -16
- package/build/cjs/components/Options/styles/VisualizationOptions.style.js +11 -14
- package/build/cjs/components/OrgUnitDimension/OrgUnitDimension.js +12 -47
- package/build/cjs/components/OrgUnitDimension/styles/OrgUnitDimension.style.js +1 -3
- package/build/cjs/components/PeriodDimension/FixedPeriodFilter.js +5 -16
- package/build/cjs/components/PeriodDimension/FixedPeriodSelect.js +5 -27
- package/build/cjs/components/PeriodDimension/PeriodDimension.js +0 -11
- package/build/cjs/components/PeriodDimension/PeriodTransfer.js +12 -41
- package/build/cjs/components/PeriodDimension/RelativePeriodFilter.js +2 -13
- package/build/cjs/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +0 -7
- package/build/cjs/components/PeriodDimension/__tests__/PeriodDimension.spec.js +0 -7
- package/build/cjs/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -7
- package/build/cjs/components/PeriodDimension/__tests__/fixedPeriods.spec.js +2 -2
- package/build/cjs/components/PeriodDimension/__tests__/utils.spec.js +0 -3
- package/build/cjs/components/PeriodDimension/styles/FixedPeriodSelect.style.js +1 -3
- package/build/cjs/components/PeriodDimension/styles/PeriodFilter.style.js +1 -3
- package/build/cjs/components/PeriodDimension/utils/fixedPeriods.js +2 -35
- package/build/cjs/components/PeriodDimension/utils/index.js +0 -2
- package/build/cjs/components/PeriodDimension/utils/relativePeriods.js +0 -19
- package/build/cjs/components/PivotTable/PivotTable.js +0 -15
- package/build/cjs/components/PivotTable/PivotTableBody.js +0 -8
- package/build/cjs/components/PivotTable/PivotTableCell.js +4 -14
- package/build/cjs/components/PivotTable/PivotTableClippedAxis.js +0 -5
- package/build/cjs/components/PivotTable/PivotTableColumnHeaderCell.js +4 -18
- package/build/cjs/components/PivotTable/PivotTableColumnHeaders.js +0 -11
- package/build/cjs/components/PivotTable/PivotTableContainer.js +2 -11
- package/build/cjs/components/PivotTable/PivotTableDimensionLabelCell.js +4 -16
- package/build/cjs/components/PivotTable/PivotTableEmptyCell.js +3 -10
- package/build/cjs/components/PivotTable/PivotTableEmptyRow.js +0 -7
- package/build/cjs/components/PivotTable/PivotTableEngineContext.js +0 -10
- package/build/cjs/components/PivotTable/PivotTableHead.js +0 -7
- package/build/cjs/components/PivotTable/PivotTableHeaderCell.js +0 -5
- package/build/cjs/components/PivotTable/PivotTableRow.js +0 -11
- package/build/cjs/components/PivotTable/PivotTableRowHeaderCell.js +2 -10
- package/build/cjs/components/PivotTable/PivotTableSortIcon.js +2 -14
- package/build/cjs/components/PivotTable/PivotTableTitleRow.js +2 -13
- package/build/cjs/components/PivotTable/PivotTableTitleRows.js +0 -9
- package/build/cjs/components/PivotTable/PivotTableValueCell.js +4 -19
- package/build/cjs/components/PivotTable/icons/SortIconAscending.js +0 -4
- package/build/cjs/components/PivotTable/icons/SortIconDescending.js +0 -4
- package/build/cjs/components/PivotTable/icons/SortIconIdle.js +0 -4
- package/build/cjs/components/PivotTable/styles/PivotTable.style.js +3 -6
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuBar.js +0 -14
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +1 -14
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuList.js +1 -16
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +4 -21
- package/build/cjs/components/Toolbar/HoverMenuBar/HoverMenuListItem.styles.js +1 -3
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +0 -50
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +1 -4
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +2 -6
- package/build/cjs/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +1 -6
- package/build/cjs/components/Toolbar/HoverMenuBar/index.js +0 -4
- package/build/cjs/components/Toolbar/InterpretationsAndDetailsToggler.js +1 -10
- package/build/cjs/components/Toolbar/MenuButton.styles.js +1 -3
- package/build/cjs/components/Toolbar/Toolbar.js +1 -8
- package/build/cjs/components/Toolbar/ToolbarSidebar.js +1 -9
- package/build/cjs/components/Toolbar/UpdateButton.js +2 -13
- package/build/cjs/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +0 -5
- package/build/cjs/components/Toolbar/__tests__/Toolbar.spec.js +0 -4
- package/build/cjs/components/Toolbar/__tests__/ToolbarSidebar.spec.js +0 -4
- package/build/cjs/components/Toolbar/__tests__/UpdateButton.spec.js +0 -5
- package/build/cjs/components/Toolbar/index.js +0 -6
- package/build/cjs/components/TransferOption.js +7 -20
- package/build/cjs/components/TranslationDialog/TranslationModal/LocalesSelect.js +2 -12
- package/build/cjs/components/TranslationDialog/TranslationModal/TranslationForm.js +3 -27
- package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModal.js +0 -12
- package/build/cjs/components/TranslationDialog/TranslationModal/TranslationModalActions.js +0 -11
- package/build/cjs/components/TranslationDialog/TranslationModal/useTranslationsResults.js +1 -7
- package/build/cjs/components/TranslationDialog/index.js +0 -1
- package/build/cjs/components/VisTypeIcon.js +0 -24
- package/build/cjs/components/styles/DimensionSelector.style.js +1 -3
- package/build/cjs/components/styles/DimensionsPanel.style.js +0 -2
- package/build/cjs/components/styles/TransferOption.style.js +1 -3
- package/build/cjs/index.js +0 -84
- package/build/cjs/locales/es/translations.json +34 -34
- package/build/cjs/locales/index.js +1 -74
- package/build/cjs/locales/nl/translations.json +1 -1
- package/build/cjs/modules/__tests__/expressions.spec.js +4 -4
- package/build/cjs/modules/__tests__/getAdaptedUiLayoutByType.spec.js +0 -4
- package/build/cjs/modules/__tests__/getColorByValueFromLegendSet.spec.js +1 -2
- package/build/cjs/modules/__tests__/getOuLevelAndGroupText.spec.js +0 -1
- package/build/cjs/modules/__tests__/hash.spec.js +0 -2
- package/build/cjs/modules/__tests__/parseExpression.spec.js +0 -1
- package/build/cjs/modules/__tests__/renderValue.spec.js +19 -13
- package/build/cjs/modules/axis.js +1 -17
- package/build/cjs/modules/dataSets.js +0 -3
- package/build/cjs/modules/dataTypes.js +0 -9
- package/build/cjs/modules/dimensionListItem.js +0 -24
- package/build/cjs/modules/expressions.js +2 -21
- package/build/cjs/modules/fontStyle.js +15 -27
- package/build/cjs/modules/getAdaptedUiLayoutByType.js +7 -39
- package/build/cjs/modules/getOuLevelAndGroupText.js +0 -18
- package/build/cjs/modules/hash.js +0 -10
- package/build/cjs/modules/layout/__tests__/axisGetAllItems.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/axisGetDimension.spec.js +0 -3
- package/build/cjs/modules/layout/__tests__/axisGetDimensionIds.spec.js +0 -5
- package/build/cjs/modules/layout/__tests__/axisHasDataDimension.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/axisHasDimension.spec.js +0 -3
- package/build/cjs/modules/layout/__tests__/axisHasOuDimension.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/axisHasPeriodDimension.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/axisIsEmpty.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/dimensionCreate.spec.js +0 -5
- package/build/cjs/modules/layout/__tests__/dimensionGetId.spec.js +0 -3
- package/build/cjs/modules/layout/__tests__/dimensionGetItemIds.spec.js +0 -4
- package/build/cjs/modules/layout/__tests__/dimensionGetItems.spec.js +0 -3
- package/build/cjs/modules/layout/__tests__/dimensionHasRelativeItems.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/dimensionIs.spec.js +0 -3
- package/build/cjs/modules/layout/__tests__/dimensionIsEmpty.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/dimensionIsValid.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/itemGetId.spec.js +0 -3
- package/build/cjs/modules/layout/__tests__/itemIsValid.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/layoutFilterDimensions.spec.js +0 -5
- package/build/cjs/modules/layout/__tests__/layoutGetAllAxes.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/layoutGetAllDimensions.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/layoutGetAllItemIds.spec.js +0 -3
- package/build/cjs/modules/layout/__tests__/layoutGetAllItems.spec.js +0 -2
- package/build/cjs/modules/layout/__tests__/layoutGetAxisIdDimensionIdsObject.spec.js +0 -4
- package/build/cjs/modules/layout/__tests__/layoutGetDimension.spec.js +0 -3
- package/build/cjs/modules/layout/__tests__/layoutGetDimensionIdItemIdsObject.spec.js +0 -6
- package/build/cjs/modules/layout/__tests__/layoutGetDimensionItems.spec.js +0 -3
- package/build/cjs/modules/layout/__tests__/layoutHasDataDimension.spec.js +2 -4
- package/build/cjs/modules/layout/__tests__/layoutHasDimension.spec.js +2 -5
- package/build/cjs/modules/layout/__tests__/layoutHasDynamicDimension.spec.js +2 -4
- package/build/cjs/modules/layout/__tests__/layoutHasPeriodDimension.spec.js +2 -4
- package/build/cjs/modules/layout/__tests__/layoutReplaceDimension.spec.js +0 -3
- package/build/cjs/modules/layout/axis.js +5 -3
- package/build/cjs/modules/layout/axisGetAllItems.js +0 -3
- package/build/cjs/modules/layout/axisGetDimension.js +0 -4
- package/build/cjs/modules/layout/axisGetDimensionIds.js +0 -4
- package/build/cjs/modules/layout/axisHasDataDimension.js +0 -4
- package/build/cjs/modules/layout/axisHasDimension.js +0 -3
- package/build/cjs/modules/layout/axisHasOuDimension.js +0 -4
- package/build/cjs/modules/layout/axisHasPeriodDimension.js +0 -4
- package/build/cjs/modules/layout/axisHasRelativeItems.js +0 -3
- package/build/cjs/modules/layout/axisIsEmpty.js +0 -2
- package/build/cjs/modules/layout/dimension.js +3 -5
- package/build/cjs/modules/layout/dimensionCreate.js +0 -3
- package/build/cjs/modules/layout/dimensionGetId.js +1 -5
- package/build/cjs/modules/layout/dimensionGetItemIds.js +0 -4
- package/build/cjs/modules/layout/dimensionGetItems.js +0 -4
- package/build/cjs/modules/layout/dimensionHasRelativeItems.js +0 -5
- package/build/cjs/modules/layout/dimensionIs.js +0 -3
- package/build/cjs/modules/layout/dimensionIsEmpty.js +0 -3
- package/build/cjs/modules/layout/dimensionIsValid.js +0 -9
- package/build/cjs/modules/layout/item.js +3 -5
- package/build/cjs/modules/layout/itemGetId.js +0 -3
- package/build/cjs/modules/layout/itemIsValid.js +0 -5
- package/build/cjs/modules/layout/layout.js +0 -3
- package/build/cjs/modules/layout/layoutFilterDimensions.js +0 -6
- package/build/cjs/modules/layout/layoutGetAllAxes.js +0 -3
- package/build/cjs/modules/layout/layoutGetAllDimensions.js +0 -3
- package/build/cjs/modules/layout/layoutGetAllItemIds.js +0 -4
- package/build/cjs/modules/layout/layoutGetAllItems.js +0 -4
- package/build/cjs/modules/layout/layoutGetAxisIdDimensionIdsObject.js +0 -5
- package/build/cjs/modules/layout/layoutGetDimension.js +0 -4
- package/build/cjs/modules/layout/layoutGetDimensionIdItemIdsObject.js +0 -5
- package/build/cjs/modules/layout/layoutGetDimensionItems.js +0 -4
- package/build/cjs/modules/layout/layoutHasDataDimension.js +0 -4
- package/build/cjs/modules/layout/layoutHasDimension.js +0 -3
- package/build/cjs/modules/layout/layoutHasDynamicDimension.js +0 -5
- package/build/cjs/modules/layout/layoutHasPeriodDimension.js +0 -4
- package/build/cjs/modules/layout/layoutReplaceDimension.js +0 -8
- package/build/cjs/modules/layout/testResources.js +7 -9
- package/build/cjs/modules/layoutUiRules/__tests__/rules.spec.js +6 -14
- package/build/cjs/modules/layoutUiRules/index.js +0 -2
- package/build/cjs/modules/layoutUiRules/rules.js +10 -26
- package/build/cjs/modules/layoutUiRules/rulesHelper.js +1 -11
- package/build/cjs/modules/layoutUiRules/rulesUtils.js +6 -16
- package/build/cjs/modules/legends.js +0 -8
- package/build/cjs/modules/list.js +0 -4
- package/build/cjs/modules/ouIdHelper/__tests__/index.spec.js +0 -1
- package/build/cjs/modules/ouIdHelper/index.js +2 -8
- package/build/cjs/modules/ouLevelUtils/__tests__/index.spec.js +0 -1
- package/build/cjs/modules/ouLevelUtils/index.js +0 -13
- package/build/cjs/modules/outliers/__tests__/index.spec.js +0 -1
- package/build/cjs/modules/outliers/__tests__/iqr.spec.js +0 -1
- package/build/cjs/modules/outliers/__tests__/modZScore.spec.js +0 -1
- package/build/cjs/modules/outliers/__tests__/xyStats.spec.js +0 -1
- package/build/cjs/modules/outliers/index.js +6 -28
- package/build/cjs/modules/outliers/iqr.js +0 -19
- package/build/cjs/modules/outliers/modZScore.js +10 -34
- package/build/cjs/modules/outliers/normalization.js +2 -9
- package/build/cjs/modules/outliers/xyStats.js +0 -4
- package/build/cjs/modules/outliers/zScore.js +0 -13
- package/build/cjs/modules/pivotTable/AdaptiveClippingController.js +4 -33
- package/build/cjs/modules/pivotTable/PivotTableEngine.js +20 -190
- package/build/cjs/modules/pivotTable/applyLegendSet.js +0 -23
- package/build/cjs/modules/pivotTable/clipAxis.js +3 -6
- package/build/cjs/modules/pivotTable/clipPartitionedAxis.js +0 -8
- package/build/cjs/modules/pivotTable/getHeaderForDisplay.js +0 -9
- package/build/cjs/modules/pivotTable/isColorBright.js +0 -6
- package/build/cjs/modules/pivotTable/measureText.js +5 -21
- package/build/cjs/modules/pivotTable/parseValue.js +0 -4
- package/build/cjs/modules/pivotTable/useParentSize.js +0 -11
- package/build/cjs/modules/pivotTable/useScrollPosition.js +0 -7
- package/build/cjs/modules/pivotTable/useSortableColumns.js +0 -7
- package/build/cjs/modules/pivotTable/useTableClipping.js +0 -6
- package/build/cjs/modules/predefinedDimensions.js +2 -18
- package/build/cjs/modules/relativeItems/__tests__/index.spec.js +0 -2
- package/build/cjs/modules/relativeItems/index.js +0 -5
- package/build/cjs/modules/renderValue.js +0 -18
- package/build/cjs/modules/utils.js +0 -5
- package/build/cjs/modules/valueTypes.js +1 -3
- package/build/cjs/modules/visTypeToLayoutType.js +0 -5
- package/build/cjs/modules/visTypes.js +1 -27
- package/build/cjs/visualizations/config/adapters/dhis_dhis/index.js +2 -8
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/index.spec.js +0 -3
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/__tests__/singleValue.spec.js +0 -2
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/index.js +0 -11
- package/build/cjs/visualizations/config/adapters/dhis_dhis/subtitle/singleValue.js +0 -3
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/__tests__/index.spec.js +0 -3
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/__tests__/singleValue.spec.js +0 -2
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/index.js +0 -10
- package/build/cjs/visualizations/config/adapters/dhis_dhis/title/singleValue.js +0 -4
- package/build/cjs/visualizations/config/adapters/dhis_dhis/type.js +0 -3
- package/build/cjs/visualizations/config/adapters/dhis_dhis/value/index.js +3 -7
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +30 -113
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/axis.js +6 -37
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/chart.js +0 -5
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/customAxes.js +8 -10
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getAxisTitle.js +1 -8
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getCategories.js +0 -3
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getCumulativeData.js +6 -15
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getFormatter.js +0 -3
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getScatterData.js +0 -2
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getSortedConfig.js +7 -19
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getStackedData.js +0 -4
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getSteps.js +0 -3
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getTextAlignOption.js +0 -7
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +4 -31
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/getTwoCategorySplitSerieData.js +0 -2
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/index.js +21 -56
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/legend.js +1 -8
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/legendSet.js +5 -14
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/noData.js +0 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/pane/gauge.js +0 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/pane/index.js +0 -5
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -15
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/gauge.js +0 -5
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/index.js +13 -48
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/pie.js +0 -1
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/series/scatter.js +9 -11
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/gauge.js +0 -3
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +3 -18
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/index.js +1 -18
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/scatter.js +1 -5
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/title/yearOverYear.js +0 -6
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/type.js +0 -9
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -28
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/radar.js +0 -11
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/scatter.js +0 -12
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/twoCategory.js +4 -11
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/xAxis/yearOnYear.js +0 -11
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +3 -28
- package/build/cjs/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +8 -37
- package/build/cjs/visualizations/config/adapters/index.js +0 -4
- package/build/cjs/visualizations/config/generators/dhis/index.js +0 -8
- package/build/cjs/visualizations/config/generators/dhis/singleValue.js +41 -70
- package/build/cjs/visualizations/config/generators/highcharts/index.js +9 -24
- package/build/cjs/visualizations/config/generators/index.js +0 -4
- package/build/cjs/visualizations/config/index.js +9 -22
- package/build/cjs/visualizations/config/validators/dhis/index.js +0 -1
- package/build/cjs/visualizations/config/validators/index.js +0 -4
- package/build/cjs/visualizations/index.js +0 -10
- package/build/cjs/visualizations/store/adapters/dhis_dhis/index.js +3 -13
- package/build/cjs/visualizations/store/adapters/dhis_dhis/singleValue.js +0 -1
- package/build/cjs/visualizations/store/adapters/dhis_highcharts/gauge.js +0 -1
- package/build/cjs/visualizations/store/adapters/dhis_highcharts/index.js +8 -26
- package/build/cjs/visualizations/store/adapters/dhis_highcharts/pie.js +0 -2
- package/build/cjs/visualizations/store/adapters/dhis_highcharts/twoCategory.js +3 -6
- package/build/cjs/visualizations/store/adapters/dhis_highcharts/yearOnYear.js +3 -4
- package/build/cjs/visualizations/store/adapters/index.js +0 -4
- package/build/cjs/visualizations/store/index.js +2 -12
- package/build/cjs/visualizations/store/validators/dhis/index.js +6 -22
- package/build/cjs/visualizations/store/validators/index.js +0 -4
- package/build/cjs/visualizations/util/__tests__/getFilterText.spec.js +0 -2
- package/build/cjs/visualizations/util/axes.js +0 -2
- package/build/cjs/visualizations/util/axisId.js +1 -3
- package/build/cjs/visualizations/util/colors/colorSets.js +0 -4
- package/build/cjs/visualizations/util/colors/gradientColorGenerator.js +3 -10
- package/build/cjs/visualizations/util/colors/index.js +0 -3
- package/build/cjs/visualizations/util/getFilterText.js +4 -13
- package/build/es/__demo__/DimensionsPanel.stories.js +0 -2
- package/build/es/__demo__/FileMenu.stories.js +2 -1
- package/build/es/__demo__/Filter.stories.js +0 -5
- package/build/es/__demo__/OpenFileDialog.stories.js +1 -3
- package/build/es/__demo__/OrgUnitDimension.stories.js +1 -3
- package/build/es/__demo__/PivotTable.stories.js +100 -57
- package/build/es/__demo__/Toolbar.stories.js +0 -2
- package/build/es/__fixtures__/fixtures.js +0 -5
- package/build/es/api/__tests__/dimensions.spec.js +0 -2
- package/build/es/api/analytics/Analytics.js +2 -6
- package/build/es/api/analytics/AnalyticsAggregate.js +3 -7
- package/build/es/api/analytics/AnalyticsBase.js +8 -17
- package/build/es/api/analytics/AnalyticsEnrollments.js +1 -3
- package/build/es/api/analytics/AnalyticsEvents.js +4 -9
- package/build/es/api/analytics/AnalyticsRequest.js +16 -27
- package/build/es/api/analytics/AnalyticsRequestBase.js +8 -25
- package/build/es/api/analytics/AnalyticsRequestDimensionsMixin.js +4 -14
- package/build/es/api/analytics/AnalyticsRequestFiltersMixin.js +4 -14
- package/build/es/api/analytics/AnalyticsRequestPropertiesMixin.js +57 -138
- package/build/es/api/analytics/AnalyticsResponse.js +21 -41
- package/build/es/api/analytics/AnalyticsResponseHeader.js +0 -5
- package/build/es/api/analytics/__mocks__/DataEngine.js +0 -4
- package/build/es/api/analytics/__tests__/AnalyticsAggregate.spec.js +11 -1
- package/build/es/api/analytics/__tests__/AnalyticsRequest.spec.js +17 -15
- package/build/es/api/analytics/__tests__/AnalyticsRequestBase.spec.js +4 -6
- package/build/es/api/analytics/__tests__/AnalyticsResponse.spec.js +3 -1
- package/build/es/api/analytics/__tests__/AnalyticsResponseHeader.spec.js +2 -1
- package/build/es/api/analytics/utils.js +1 -1
- package/build/es/api/dimensions.js +43 -78
- package/build/es/api/index.js +1 -0
- package/build/es/api/organisationUnits.js +5 -4
- package/build/es/assets/AssignedCategoriesIcon.js +0 -2
- package/build/es/assets/DynamicDimensionIcon.js +0 -2
- package/build/es/assets/FormulaIcon.js +0 -2
- package/build/es/components/AboutAOUnit/AboutAOUnit.js +19 -31
- package/build/es/components/AboutAOUnit/styles/AboutAOUnit.style.js +1 -1
- package/build/es/components/CachedDataQueryProvider.js +0 -7
- package/build/es/components/DataDimension/Calculation/CalculationModal.js +26 -54
- package/build/es/components/DataDimension/Calculation/DataElementOption.js +6 -10
- package/build/es/components/DataDimension/Calculation/DataElementSelector.js +16 -35
- package/build/es/components/DataDimension/Calculation/DndContext.js +6 -28
- package/build/es/components/DataDimension/Calculation/DraggingItem.js +3 -5
- package/build/es/components/DataDimension/Calculation/DropZone.js +1 -5
- package/build/es/components/DataDimension/Calculation/FormulaField.js +5 -8
- package/build/es/components/DataDimension/Calculation/FormulaItem.js +13 -26
- package/build/es/components/DataDimension/Calculation/MathOperatorSelector.js +4 -6
- package/build/es/components/DataDimension/Calculation/Operator.js +5 -9
- package/build/es/components/DataDimension/Calculation/styles/CalculationModal.style.js +1 -1
- package/build/es/components/DataDimension/Calculation/styles/DataElementOption.style.js +1 -1
- package/build/es/components/DataDimension/Calculation/styles/DataElementSelector.style.js +1 -1
- package/build/es/components/DataDimension/Calculation/styles/DraggingItem.style.js +1 -1
- package/build/es/components/DataDimension/Calculation/styles/DropZone.style.js +1 -1
- package/build/es/components/DataDimension/Calculation/styles/FormulaField.style.js +1 -1
- package/build/es/components/DataDimension/Calculation/styles/FormulaItem.style.js +1 -1
- package/build/es/components/DataDimension/Calculation/styles/MathOperatorSelector.style.js +1 -1
- package/build/es/components/DataDimension/Calculation/styles/Operator.style.js +1 -1
- package/build/es/components/DataDimension/DataDimension.js +1 -5
- package/build/es/components/DataDimension/DataTypeSelector.js +3 -6
- package/build/es/components/DataDimension/DetailSelector.js +2 -4
- package/build/es/components/DataDimension/GroupSelector.js +7 -12
- package/build/es/components/DataDimension/ItemSelector.js +45 -74
- package/build/es/components/DataDimension/MetricSelector.js +3 -3
- package/build/es/components/DataDimension/styles/DataTypeSelector.style.js +1 -1
- package/build/es/components/DataDimension/styles/DetailSelector.style.js +1 -1
- package/build/es/components/DataDimension/styles/GroupSelector.style.js +1 -1
- package/build/es/components/DataDimension/styles/MetricSelector.style.js +1 -1
- package/build/es/components/DimensionMenu.js +18 -24
- package/build/es/components/DimensionsPanel/DimensionsPanel.js +5 -10
- package/build/es/components/DimensionsPanel/List/DimensionItem.js +11 -21
- package/build/es/components/DimensionsPanel/List/DimensionList.js +11 -21
- package/build/es/components/DimensionsPanel/List/OptionsButton.js +0 -2
- package/build/es/components/DimensionsPanel/List/RecommendedIcon.js +0 -2
- package/build/es/components/DimensionsPanel/List/__tests__/DimensionItem.spec.js +0 -3
- package/build/es/components/DimensionsPanel/List/styles/DimensionList.style.js +2 -2
- package/build/es/components/DimensionsPanel/__tests__/DimensionsPanel.spec.js +0 -3
- package/build/es/components/DimensionsPanel/styles/DimensionsPanel.style.js +1 -1
- package/build/es/components/DynamicDimension/DynamicDimension.js +4 -10
- package/build/es/components/DynamicDimension/ItemSelector.js +15 -29
- package/build/es/components/DynamicDimension/styles/DynamicDimension.style.js +1 -1
- package/build/es/components/FileMenu/DeleteDialog.js +0 -2
- package/build/es/components/FileMenu/FileMenu.js +0 -12
- package/build/es/components/FileMenu/FileMenu.styles.js +2 -2
- package/build/es/components/FileMenu/GetLinkDialog.js +5 -4
- package/build/es/components/FileMenu/GetLinkDialog.styles.js +1 -1
- package/build/es/components/FileMenu/RenameDialog.js +1 -5
- package/build/es/components/FileMenu/SaveAsDialog.js +3 -3
- package/build/es/components/FileMenu/__tests__/DeleteDialog.spec.js +1 -4
- package/build/es/components/FileMenu/__tests__/FileMenu.spec.js +28 -20
- package/build/es/components/FileMenu/__tests__/GetLinkDialog.spec.js +0 -3
- package/build/es/components/FileMenu/__tests__/RenameDialog.spec.js +1 -4
- package/build/es/components/FileMenu/__tests__/SaveAsDialog.spec.js +1 -4
- package/build/es/components/FileMenu/utils.js +4 -10
- package/build/es/components/Filter/Filter.js +1 -3
- package/build/es/components/Filter/__tests__/Filter.spec.js +0 -3
- package/build/es/components/Filter/styles/Filter.style.js +1 -1
- package/build/es/components/Interpretations/InterpretationModal/Comment.js +0 -2
- package/build/es/components/Interpretations/InterpretationModal/CommentAddForm.js +1 -1
- package/build/es/components/Interpretations/InterpretationModal/CommentDeleteButton.js +1 -3
- package/build/es/components/Interpretations/InterpretationModal/CommentUpdateForm.js +2 -2
- package/build/es/components/Interpretations/InterpretationModal/InterpretationModal.js +2 -13
- package/build/es/components/Interpretations/InterpretationModal/InterpretationThread.js +0 -3
- package/build/es/components/Interpretations/InterpretationModal/useModalContentWidth.js +0 -3
- package/build/es/components/Interpretations/InterpretationsUnit/InterpretationForm.js +2 -2
- package/build/es/components/Interpretations/InterpretationsUnit/InterpretationList.js +1 -8
- package/build/es/components/Interpretations/InterpretationsUnit/InterpretationsUnit.js +2 -2
- package/build/es/components/Interpretations/common/Interpretation/InterpretationDeleteButton.js +0 -2
- package/build/es/components/Interpretations/common/Interpretation/InterpretationSharingLink.js +1 -3
- package/build/es/components/Interpretations/common/Interpretation/InterpretationUpdateForm.js +1 -1
- package/build/es/components/Interpretations/common/Interpretation/useLike.js +1 -5
- package/build/es/components/Interpretations/common/Message/Message.js +1 -3
- package/build/es/components/Interpretations/common/Message/MessageButtonStrip.js +1 -3
- package/build/es/components/Interpretations/common/Message/MessageEditorContainer.js +1 -3
- package/build/es/components/Interpretations/common/Message/MessageIconButton.js +6 -8
- package/build/es/components/Interpretations/common/Message/MessageInput.js +2 -4
- package/build/es/components/Interpretations/common/Message/MessageStatsBar.js +1 -3
- package/build/es/components/Interpretations/common/RichTextEditor/RichTextEditor.js +15 -23
- package/build/es/components/Interpretations/common/RichTextEditor/markdownHandler.js +4 -19
- package/build/es/components/Interpretations/common/RichTextEditor/styles/RichTextEditor.style.js +3 -3
- package/build/es/components/Interpretations/common/UserMention/UserList.js +1 -2
- package/build/es/components/Interpretations/common/UserMention/UserMentionWrapper.js +18 -33
- package/build/es/components/Interpretations/common/UserMention/styles/UserMentionWrapper.style.js +1 -2
- package/build/es/components/Interpretations/common/UserMention/useUserSearchResults.js +1 -2
- package/build/es/components/LegendKey/LegendKey.js +9 -11
- package/build/es/components/LegendKey/styles/LegendKey.style.js +1 -1
- package/build/es/components/OfflineTooltip.js +1 -3
- package/build/es/components/OpenFileDialog/CreatedByFilter.js +3 -1
- package/build/es/components/OpenFileDialog/CustomSelectOption.js +2 -4
- package/build/es/components/OpenFileDialog/OpenFileDialog.js +29 -45
- package/build/es/components/OpenFileDialog/OpenFileDialog.styles.js +1 -1
- package/build/es/components/OpenFileDialog/styles/CustomSelectOption.style.js +1 -1
- package/build/es/components/Options/VisualizationOptions.js +0 -8
- package/build/es/components/Options/styles/VisualizationOptions.style.js +11 -12
- package/build/es/components/OrgUnitDimension/OrgUnitDimension.js +12 -31
- package/build/es/components/OrgUnitDimension/styles/OrgUnitDimension.style.js +1 -1
- package/build/es/components/PeriodDimension/FixedPeriodFilter.js +5 -7
- package/build/es/components/PeriodDimension/FixedPeriodSelect.js +5 -17
- package/build/es/components/PeriodDimension/PeriodDimension.js +0 -4
- package/build/es/components/PeriodDimension/PeriodTransfer.js +12 -25
- package/build/es/components/PeriodDimension/RelativePeriodFilter.js +2 -4
- package/build/es/components/PeriodDimension/__tests__/FixedPeriodSingleSelect.spec.js +0 -3
- package/build/es/components/PeriodDimension/__tests__/PeriodDimension.spec.js +0 -3
- package/build/es/components/PeriodDimension/__tests__/PeriodSelector.spec.js +0 -3
- package/build/es/components/PeriodDimension/__tests__/fixedPeriods.spec.js +2 -1
- package/build/es/components/PeriodDimension/styles/FixedPeriodSelect.style.js +1 -1
- package/build/es/components/PeriodDimension/styles/PeriodFilter.style.js +1 -1
- package/build/es/components/PeriodDimension/utils/fixedPeriods.js +2 -23
- package/build/es/components/PeriodDimension/utils/relativePeriods.js +0 -11
- package/build/es/components/PivotTable/PivotTable.js +0 -2
- package/build/es/components/PivotTable/PivotTableCell.js +4 -6
- package/build/es/components/PivotTable/PivotTableColumnHeaderCell.js +4 -7
- package/build/es/components/PivotTable/PivotTableContainer.js +2 -2
- package/build/es/components/PivotTable/PivotTableDimensionLabelCell.js +4 -9
- package/build/es/components/PivotTable/PivotTableEmptyCell.js +3 -4
- package/build/es/components/PivotTable/PivotTableRowHeaderCell.js +2 -2
- package/build/es/components/PivotTable/PivotTableSortIcon.js +2 -2
- package/build/es/components/PivotTable/PivotTableTitleRow.js +2 -2
- package/build/es/components/PivotTable/PivotTableTitleRows.js +0 -1
- package/build/es/components/PivotTable/PivotTableValueCell.js +4 -6
- package/build/es/components/PivotTable/styles/PivotTable.style.js +3 -3
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuBar.js +0 -7
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuDropdown.js +1 -1
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuList.js +1 -7
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.js +4 -9
- package/build/es/components/Toolbar/HoverMenuBar/HoverMenuListItem.styles.js +1 -1
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuBar.spec.js +0 -2
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuDropdown.spec.js +1 -0
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuList.spec.js +2 -2
- package/build/es/components/Toolbar/HoverMenuBar/__tests__/HoverMenuListItem.spec.js +1 -0
- package/build/es/components/Toolbar/InterpretationsAndDetailsToggler.js +1 -1
- package/build/es/components/Toolbar/MenuButton.styles.js +1 -1
- package/build/es/components/Toolbar/Toolbar.js +1 -1
- package/build/es/components/Toolbar/ToolbarSidebar.js +1 -1
- package/build/es/components/Toolbar/UpdateButton.js +2 -2
- package/build/es/components/Toolbar/__tests__/InterpretationsAndDetailsToggler.spec.js +0 -1
- package/build/es/components/Toolbar/__tests__/UpdateButton.spec.js +0 -1
- package/build/es/components/TransferOption.js +7 -11
- package/build/es/components/TranslationDialog/TranslationModal/LocalesSelect.js +2 -3
- package/build/es/components/TranslationDialog/TranslationModal/TranslationForm.js +3 -15
- package/build/es/components/TranslationDialog/TranslationModal/TranslationModalActions.js +0 -2
- package/build/es/components/TranslationDialog/TranslationModal/useTranslationsResults.js +1 -1
- package/build/es/components/VisTypeIcon.js +0 -17
- package/build/es/components/styles/DimensionSelector.style.js +1 -1
- package/build/es/components/styles/TransferOption.style.js +1 -1
- package/build/es/index.js +53 -19
- package/build/es/locales/es/translations.json +34 -34
- package/build/es/locales/nl/translations.json +1 -1
- package/build/es/modules/__tests__/expressions.spec.js +4 -3
- package/build/es/modules/__tests__/getColorByValueFromLegendSet.spec.js +1 -1
- package/build/es/modules/__tests__/renderValue.spec.js +19 -10
- package/build/es/modules/axis.js +1 -8
- package/build/es/modules/dataTypes.js +0 -3
- package/build/es/modules/dimensionListItem.js +0 -12
- package/build/es/modules/expressions.js +2 -6
- package/build/es/modules/fontStyle.js +16 -16
- package/build/es/modules/getAdaptedUiLayoutByType.js +7 -22
- package/build/es/modules/getOuLevelAndGroupText.js +0 -10
- package/build/es/modules/hash.js +0 -3
- package/build/es/modules/layout/__tests__/layoutHasDataDimension.spec.js +2 -1
- package/build/es/modules/layout/__tests__/layoutHasDimension.spec.js +2 -1
- package/build/es/modules/layout/__tests__/layoutHasDynamicDimension.spec.js +2 -1
- package/build/es/modules/layout/__tests__/layoutHasPeriodDimension.spec.js +2 -1
- package/build/es/modules/layout/axis.js +6 -2
- package/build/es/modules/layout/dimension.js +6 -2
- package/build/es/modules/layout/dimensionGetId.js +1 -2
- package/build/es/modules/layout/dimensionIsValid.js +0 -5
- package/build/es/modules/layout/item.js +6 -2
- package/build/es/modules/layout/itemIsValid.js +0 -1
- package/build/es/modules/layout/layoutGetAxisIdDimensionIdsObject.js +0 -1
- package/build/es/modules/layout/layoutReplaceDimension.js +0 -3
- package/build/es/modules/layout/testResources.js +12 -4
- package/build/es/modules/layoutUiRules/__tests__/rules.spec.js +8 -12
- package/build/es/modules/layoutUiRules/rules.js +11 -11
- package/build/es/modules/layoutUiRules/rulesHelper.js +3 -1
- package/build/es/modules/layoutUiRules/rulesUtils.js +6 -4
- package/build/es/modules/legends.js +0 -2
- package/build/es/modules/ouIdHelper/index.js +2 -8
- package/build/es/modules/ouLevelUtils/index.js +0 -7
- package/build/es/modules/outliers/index.js +6 -17
- package/build/es/modules/outliers/iqr.js +0 -9
- package/build/es/modules/outliers/modZScore.js +13 -9
- package/build/es/modules/outliers/normalization.js +3 -5
- package/build/es/modules/outliers/xyStats.js +0 -2
- package/build/es/modules/outliers/zScore.js +0 -2
- package/build/es/modules/pivotTable/AdaptiveClippingController.js +4 -29
- package/build/es/modules/pivotTable/PivotTableEngine.js +20 -179
- package/build/es/modules/pivotTable/applyLegendSet.js +0 -19
- package/build/es/modules/pivotTable/clipAxis.js +3 -2
- package/build/es/modules/pivotTable/clipPartitionedAxis.js +0 -6
- package/build/es/modules/pivotTable/getHeaderForDisplay.js +0 -7
- package/build/es/modules/pivotTable/isColorBright.js +0 -4
- package/build/es/modules/pivotTable/measureText.js +5 -18
- package/build/es/modules/pivotTable/parseValue.js +0 -2
- package/build/es/modules/pivotTable/useParentSize.js +0 -5
- package/build/es/modules/pivotTable/useScrollPosition.js +0 -2
- package/build/es/modules/pivotTable/useSortableColumns.js +0 -3
- package/build/es/modules/predefinedDimensions.js +2 -1
- package/build/es/modules/renderValue.js +0 -15
- package/build/es/modules/valueTypes.js +1 -0
- package/build/es/modules/visTypes.js +1 -3
- package/build/es/visualizations/config/adapters/dhis_dhis/index.js +2 -2
- package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/index.js +0 -7
- package/build/es/visualizations/config/adapters/dhis_dhis/title/index.js +0 -6
- package/build/es/visualizations/config/adapters/dhis_dhis/title/singleValue.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_dhis/type.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_dhis/value/index.js +3 -3
- package/build/es/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +30 -101
- package/build/es/visualizations/config/adapters/dhis_highcharts/axis.js +6 -19
- package/build/es/visualizations/config/adapters/dhis_highcharts/chart.js +0 -2
- package/build/es/visualizations/config/adapters/dhis_highcharts/customAxes.js +8 -7
- package/build/es/visualizations/config/adapters/dhis_highcharts/getAxisTitle.js +1 -3
- package/build/es/visualizations/config/adapters/dhis_highcharts/getCumulativeData.js +6 -11
- package/build/es/visualizations/config/adapters/dhis_highcharts/getScatterData.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/getSortedConfig.js +7 -12
- package/build/es/visualizations/config/adapters/dhis_highcharts/getStackedData.js +0 -2
- package/build/es/visualizations/config/adapters/dhis_highcharts/getTextAlignOption.js +0 -4
- package/build/es/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +4 -26
- package/build/es/visualizations/config/adapters/dhis_highcharts/getTwoCategorySplitSerieData.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/index.js +21 -32
- package/build/es/visualizations/config/adapters/dhis_highcharts/legend.js +1 -4
- package/build/es/visualizations/config/adapters/dhis_highcharts/legendSet.js +5 -6
- package/build/es/visualizations/config/adapters/dhis_highcharts/pane/index.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -9
- package/build/es/visualizations/config/adapters/dhis_highcharts/series/gauge.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/series/index.js +13 -32
- package/build/es/visualizations/config/adapters/dhis_highcharts/series/scatter.js +9 -6
- package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/gauge.js +2 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +3 -10
- package/build/es/visualizations/config/adapters/dhis_highcharts/title/index.js +1 -9
- package/build/es/visualizations/config/adapters/dhis_highcharts/title/scatter.js +1 -2
- package/build/es/visualizations/config/adapters/dhis_highcharts/title/yearOverYear.js +0 -3
- package/build/es/visualizations/config/adapters/dhis_highcharts/type.js +0 -7
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -11
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/radar.js +0 -3
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/scatter.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/twoCategory.js +4 -3
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/yearOnYear.js +0 -4
- package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +3 -14
- package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +8 -23
- package/build/es/visualizations/config/generators/dhis/index.js +0 -4
- package/build/es/visualizations/config/generators/dhis/singleValue.js +42 -67
- package/build/es/visualizations/config/generators/highcharts/index.js +11 -15
- package/build/es/visualizations/config/index.js +9 -15
- package/build/es/visualizations/config/validators/index.js +0 -2
- package/build/es/visualizations/index.js +0 -6
- package/build/es/visualizations/store/adapters/dhis_dhis/index.js +3 -9
- package/build/es/visualizations/store/adapters/dhis_highcharts/index.js +8 -17
- package/build/es/visualizations/store/adapters/dhis_highcharts/pie.js +0 -1
- package/build/es/visualizations/store/adapters/dhis_highcharts/twoCategory.js +5 -4
- package/build/es/visualizations/store/adapters/dhis_highcharts/yearOnYear.js +3 -3
- package/build/es/visualizations/store/index.js +2 -8
- package/build/es/visualizations/store/validators/dhis/index.js +6 -17
- package/build/es/visualizations/store/validators/index.js +0 -2
- package/build/es/visualizations/util/axisId.js +1 -1
- package/build/es/visualizations/util/colors/gradientColorGenerator.js +3 -8
- package/build/es/visualizations/util/getFilterText.js +4 -7
- package/package.json +6 -7
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
export default (function x() {
|
|
2
2
|
const fixtures = {};
|
|
3
|
-
|
|
4
3
|
function getFixture(fixtureName) {
|
|
5
4
|
if (fixtures && fixtures[fixtureName]) {
|
|
6
5
|
// Make sure we return a new object
|
|
7
6
|
return JSON.parse(JSON.stringify(fixtures[fixtureName]));
|
|
8
7
|
}
|
|
9
|
-
|
|
10
8
|
throw new Error(['Fixture', fixtureName, 'does not exist'].join(' '));
|
|
11
9
|
}
|
|
12
|
-
|
|
13
10
|
function addFixture(fixtureName, fixtureData) {
|
|
14
11
|
if (fixtureName && fixtureData && typeof fixtureName === 'string') {
|
|
15
12
|
fixtures[fixtureName] = fixtureData;
|
|
@@ -81,8 +78,6 @@ export default (function x() {
|
|
|
81
78
|
require('./json/api/legendSets/k1JHPfXsJND.json')
|
|
82
79
|
)
|
|
83
80
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
86
81
|
addFixture('/chartAllFields', require('./json/chartAllFields.json'));
|
|
87
82
|
addFixture('/api/analytics/dataValueSet', require('./json/api/analytics/dataValueSet.json'));
|
|
88
83
|
addFixture('/api/analytics/rawData', require('./json/api/analytics/rawData.json'));
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { dimensionsQuery, apiFetchDimensions } from '../dimensions.js';
|
|
2
2
|
let mockDataEngine;
|
|
3
3
|
let mockQueryFn;
|
|
4
|
-
|
|
5
4
|
const asyncCheckMatches = (_ref, done) => {
|
|
6
5
|
let [queryDefinition, queryVariables, callCount = 1, callIndex = 0] = _ref;
|
|
7
6
|
setTimeout(() => {
|
|
@@ -11,7 +10,6 @@ const asyncCheckMatches = (_ref, done) => {
|
|
|
11
10
|
done();
|
|
12
11
|
});
|
|
13
12
|
};
|
|
14
|
-
|
|
15
13
|
describe('api: dimensions', () => {
|
|
16
14
|
beforeEach(() => {
|
|
17
15
|
mockQueryFn = jest.fn().mockResolvedValue({
|
|
@@ -6,6 +6,7 @@ import AnalyticsEnrollments from './AnalyticsEnrollments.js';
|
|
|
6
6
|
import AnalyticsEvents from './AnalyticsEvents.js';
|
|
7
7
|
import AnalyticsRequest from './AnalyticsRequest.js';
|
|
8
8
|
import AnalyticsResponse from './AnalyticsResponse.js';
|
|
9
|
+
|
|
9
10
|
/**
|
|
10
11
|
* @description
|
|
11
12
|
* Analytics class used to request analytics data from Web API.
|
|
@@ -27,7 +28,6 @@ import AnalyticsResponse from './AnalyticsResponse.js';
|
|
|
27
28
|
* @see {@link https://docs.dhis2.org/master/en/developer/html/webapi_analytics.html} Analytics API documentation
|
|
28
29
|
* @see {@link https://docs.dhis2.org/master/en/developer/html/webapi_event_analytics.html} Event analytics API documentation
|
|
29
30
|
*/
|
|
30
|
-
|
|
31
31
|
class Analytics {
|
|
32
32
|
/**
|
|
33
33
|
* @param {!module:analytics.AnalyticsAggregate} analyticsAggregate The AnalyticsAggregate instance
|
|
@@ -50,6 +50,7 @@ class Analytics {
|
|
|
50
50
|
this.request = request;
|
|
51
51
|
this.response = response;
|
|
52
52
|
}
|
|
53
|
+
|
|
53
54
|
/**
|
|
54
55
|
* @static
|
|
55
56
|
*
|
|
@@ -62,8 +63,6 @@ class Analytics {
|
|
|
62
63
|
* @example
|
|
63
64
|
* const analytics = Analytics.getAnalytics();
|
|
64
65
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
66
|
static getAnalytics(dataEngine) {
|
|
68
67
|
if (!Analytics.getAnalytics.analytics) {
|
|
69
68
|
Analytics.getAnalytics.analytics = new Analytics({
|
|
@@ -74,10 +73,7 @@ class Analytics {
|
|
|
74
73
|
response: AnalyticsResponse
|
|
75
74
|
});
|
|
76
75
|
}
|
|
77
|
-
|
|
78
76
|
return Analytics.getAnalytics.analytics;
|
|
79
77
|
}
|
|
80
|
-
|
|
81
78
|
}
|
|
82
|
-
|
|
83
79
|
export default Analytics;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import AnalyticsBase from './AnalyticsBase.js';
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* @extends module:analytics.AnalyticsBase
|
|
4
5
|
*
|
|
@@ -9,7 +10,6 @@ import AnalyticsBase from './AnalyticsBase.js';
|
|
|
9
10
|
*
|
|
10
11
|
* @see https://docs.dhis2.org/master/en/developer/html/webapi_analytics.html
|
|
11
12
|
*/
|
|
12
|
-
|
|
13
13
|
class AnalyticsAggregate extends AnalyticsBase {
|
|
14
14
|
/**
|
|
15
15
|
* @param {!AnalyticsRequest} req Request object
|
|
@@ -31,6 +31,7 @@ class AnalyticsAggregate extends AnalyticsBase {
|
|
|
31
31
|
getDataValueSet(req) {
|
|
32
32
|
return this.fetch(req.withPath('dataValueSet'));
|
|
33
33
|
}
|
|
34
|
+
|
|
34
35
|
/**
|
|
35
36
|
* @param {!AnalyticsRequest} req Request object
|
|
36
37
|
*
|
|
@@ -49,11 +50,10 @@ class AnalyticsAggregate extends AnalyticsBase {
|
|
|
49
50
|
* analytics.aggregate.getRawData(req)
|
|
50
51
|
* .then(console.log);
|
|
51
52
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
53
|
getRawData(req) {
|
|
55
54
|
return this.fetch(req.withPath('rawData'));
|
|
56
55
|
}
|
|
56
|
+
|
|
57
57
|
/**
|
|
58
58
|
* @param {!AnalyticsRequest} req Request object
|
|
59
59
|
*
|
|
@@ -71,12 +71,8 @@ class AnalyticsAggregate extends AnalyticsBase {
|
|
|
71
71
|
* analytics.aggregate.getDebugSql(req);
|
|
72
72
|
* .then(console.log);
|
|
73
73
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
74
|
getDebugSql(req) {
|
|
77
75
|
return this.fetch(req.withPath('debug/sql'));
|
|
78
76
|
}
|
|
79
|
-
|
|
80
77
|
}
|
|
81
|
-
|
|
82
78
|
export default AnalyticsAggregate;
|
|
@@ -71,32 +71,27 @@ const analyticsMetaDataQuery = {
|
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
|
-
|
|
75
74
|
const generateDimensionStrings = function () {
|
|
76
75
|
let dimensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
77
76
|
let options = arguments.length > 1 ? arguments[1] : undefined;
|
|
78
|
-
|
|
79
77
|
if (options && options.sorted) {
|
|
80
78
|
dimensions = sortBy(dimensions, 'dimension');
|
|
81
79
|
}
|
|
82
|
-
|
|
83
80
|
return dimensions.map(_ref7 => {
|
|
84
81
|
let {
|
|
85
82
|
dimension,
|
|
86
83
|
items
|
|
87
84
|
} = _ref7;
|
|
88
|
-
|
|
89
85
|
if (Array.isArray(items) && items.length) {
|
|
90
86
|
if (options && options.sorted) {
|
|
91
87
|
items.sort();
|
|
92
88
|
}
|
|
93
|
-
|
|
94
|
-
return "".concat(dimension, ":").concat(items.join(';'));
|
|
89
|
+
return `${dimension}:${items.join(';')}`;
|
|
95
90
|
}
|
|
96
|
-
|
|
97
91
|
return dimension;
|
|
98
92
|
});
|
|
99
93
|
};
|
|
94
|
+
|
|
100
95
|
/**
|
|
101
96
|
* @private
|
|
102
97
|
* @description
|
|
@@ -108,12 +103,11 @@ const generateDimensionStrings = function () {
|
|
|
108
103
|
* @memberof module:analytics
|
|
109
104
|
* @abstract
|
|
110
105
|
*/
|
|
111
|
-
|
|
112
|
-
|
|
113
106
|
class AnalyticsBase {
|
|
114
107
|
constructor(dataEngine) {
|
|
115
108
|
this.dataEngine = dataEngine;
|
|
116
109
|
}
|
|
110
|
+
|
|
117
111
|
/**
|
|
118
112
|
* Loads the analytics data and returns them as an object from the promise.
|
|
119
113
|
* Two parallel requests are made against the analytics api.
|
|
@@ -138,13 +132,12 @@ class AnalyticsBase {
|
|
|
138
132
|
*
|
|
139
133
|
* // { metaData: { ... }, rows: [ ... ], headers: [ ... ], height: 0, width: 0 }
|
|
140
134
|
*/
|
|
141
|
-
|
|
142
|
-
|
|
143
135
|
async get(req) {
|
|
144
136
|
// keep metaData and data requests separate for caching purposes
|
|
145
137
|
const metaDataReq = new AnalyticsRequest(req).withSkipMeta(false).withSkipData(true).withIncludeMetadataDetails(true);
|
|
146
|
-
const dataReq = new AnalyticsRequest(req).withSkipData(false).withSkipMeta(true);
|
|
138
|
+
const dataReq = new AnalyticsRequest(req).withSkipData(false).withSkipMeta(true);
|
|
147
139
|
|
|
140
|
+
// but run them in parallel
|
|
148
141
|
const response = await this.dataEngine.query({
|
|
149
142
|
data: analyticsDataQuery,
|
|
150
143
|
metaData: analyticsMetaDataQuery
|
|
@@ -159,10 +152,12 @@ class AnalyticsBase {
|
|
|
159
152
|
metaDataParams: metaDataReq.parameters
|
|
160
153
|
}
|
|
161
154
|
});
|
|
162
|
-
return {
|
|
155
|
+
return {
|
|
156
|
+
...response.data,
|
|
163
157
|
metaData: response.metaData.metaData
|
|
164
158
|
};
|
|
165
159
|
}
|
|
160
|
+
|
|
166
161
|
/**
|
|
167
162
|
* @private
|
|
168
163
|
* @description
|
|
@@ -185,8 +180,6 @@ class AnalyticsBase {
|
|
|
185
180
|
*
|
|
186
181
|
* // { metaData: { ... }, rows: [], height: 0, width: 0 }
|
|
187
182
|
*/
|
|
188
|
-
|
|
189
|
-
|
|
190
183
|
async fetch(req, options) {
|
|
191
184
|
const response = await this.dataEngine.query({
|
|
192
185
|
data: analyticsQuery
|
|
@@ -201,7 +194,5 @@ class AnalyticsBase {
|
|
|
201
194
|
});
|
|
202
195
|
return response.data;
|
|
203
196
|
}
|
|
204
|
-
|
|
205
197
|
}
|
|
206
|
-
|
|
207
198
|
export default AnalyticsBase;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import AnalyticsBase from './AnalyticsBase.js';
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* @extends module:analytics.AnalyticsBase
|
|
4
5
|
*
|
|
@@ -9,7 +10,6 @@ import AnalyticsBase from './AnalyticsBase.js';
|
|
|
9
10
|
*
|
|
10
11
|
* @see https://docs.dhis2.org/en/develop/using-the-api/dhis-core-version-236/analytics.html#webapi_enrollment_analytics
|
|
11
12
|
*/
|
|
12
|
-
|
|
13
13
|
class AnalyticsEnrollments extends AnalyticsBase {
|
|
14
14
|
/**
|
|
15
15
|
* @param {!AnalyticsRequest} req Request object
|
|
@@ -32,7 +32,5 @@ class AnalyticsEnrollments extends AnalyticsBase {
|
|
|
32
32
|
getQuery(req) {
|
|
33
33
|
return this.fetch(req.withPath('enrollments/query'));
|
|
34
34
|
}
|
|
35
|
-
|
|
36
35
|
}
|
|
37
|
-
|
|
38
36
|
export default AnalyticsEnrollments;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import AnalyticsBase from './AnalyticsBase.js';
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* @extends module:analytics.AnalyticsBase
|
|
4
5
|
*
|
|
@@ -9,7 +10,6 @@ import AnalyticsBase from './AnalyticsBase.js';
|
|
|
9
10
|
*
|
|
10
11
|
* @see https://docs.dhis2.org/master/en/developer/html/webapi_event_analytics.html
|
|
11
12
|
*/
|
|
12
|
-
|
|
13
13
|
class AnalyticsEvents extends AnalyticsBase {
|
|
14
14
|
/**
|
|
15
15
|
* @param {!AnalyticsRequest} req Request object
|
|
@@ -32,6 +32,7 @@ class AnalyticsEvents extends AnalyticsBase {
|
|
|
32
32
|
getAggregate(req) {
|
|
33
33
|
return this.fetch(req.withPath('events/aggregate'));
|
|
34
34
|
}
|
|
35
|
+
|
|
35
36
|
/**
|
|
36
37
|
* @param {!AnalyticsRequest} req Request object
|
|
37
38
|
*
|
|
@@ -50,11 +51,10 @@ class AnalyticsEvents extends AnalyticsBase {
|
|
|
50
51
|
* analytics.events.getCount(req)
|
|
51
52
|
* .then(console.log);
|
|
52
53
|
*/
|
|
53
|
-
|
|
54
|
-
|
|
55
54
|
getCount(req) {
|
|
56
55
|
return this.fetch(req.withPath('events/count'));
|
|
57
56
|
}
|
|
57
|
+
|
|
58
58
|
/**
|
|
59
59
|
* @param {!AnalyticsRequest} req Request object
|
|
60
60
|
* Must contain clusterSize and bbox parameters.
|
|
@@ -76,11 +76,10 @@ class AnalyticsEvents extends AnalyticsBase {
|
|
|
76
76
|
* analytics.events.getCluster(req)
|
|
77
77
|
* .then(console.log);
|
|
78
78
|
*/
|
|
79
|
-
|
|
80
|
-
|
|
81
79
|
getCluster(req) {
|
|
82
80
|
return this.fetch(req.withPath('events/cluster'));
|
|
83
81
|
}
|
|
82
|
+
|
|
84
83
|
/**
|
|
85
84
|
* @param {!AnalyticsRequest} req Request object
|
|
86
85
|
*
|
|
@@ -99,12 +98,8 @@ class AnalyticsEvents extends AnalyticsBase {
|
|
|
99
98
|
* analytics.events.getQuery(req)
|
|
100
99
|
* .then(console.log);
|
|
101
100
|
*/
|
|
102
|
-
|
|
103
|
-
|
|
104
101
|
getQuery(req) {
|
|
105
102
|
return this.fetch(req.withPath('events/query'));
|
|
106
103
|
}
|
|
107
|
-
|
|
108
104
|
}
|
|
109
|
-
|
|
110
105
|
export default AnalyticsEvents;
|
|
@@ -4,6 +4,7 @@ import AnalyticsRequestBase from './AnalyticsRequestBase.js';
|
|
|
4
4
|
import AnalyticsRequestDimensionsMixin from './AnalyticsRequestDimensionsMixin.js';
|
|
5
5
|
import AnalyticsRequestFiltersMixin from './AnalyticsRequestFiltersMixin.js';
|
|
6
6
|
import AnalyticsRequestPropertiesMixin from './AnalyticsRequestPropertiesMixin.js';
|
|
7
|
+
|
|
7
8
|
/**
|
|
8
9
|
* @description
|
|
9
10
|
* Class for constructing a request object to use for communicating with the analytics API endpoint.
|
|
@@ -17,7 +18,6 @@ import AnalyticsRequestPropertiesMixin from './AnalyticsRequestPropertiesMixin.j
|
|
|
17
18
|
* @extends module:analytics.AnalyticsRequestPropertiesMixin
|
|
18
19
|
* @extends module:analytics.AnalyticsRequestBase
|
|
19
20
|
*/
|
|
20
|
-
|
|
21
21
|
class AnalyticsRequest extends AnalyticsRequestDimensionsMixin(AnalyticsRequestFiltersMixin(AnalyticsRequestPropertiesMixin(AnalyticsRequestBase))) {
|
|
22
22
|
/**
|
|
23
23
|
* Extracts dimensions and filters from an analytic object visualization and add them to the request
|
|
@@ -40,78 +40,67 @@ class AnalyticsRequest extends AnalyticsRequestDimensionsMixin(AnalyticsRequestF
|
|
|
40
40
|
*/
|
|
41
41
|
fromVisualization(visualization) {
|
|
42
42
|
let passFilterAsDimension = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
43
|
-
let request = this;
|
|
43
|
+
let request = this;
|
|
44
44
|
|
|
45
|
+
// extract dimensions from visualization
|
|
45
46
|
const columns = visualization.columns || [];
|
|
46
47
|
const rows = visualization.rows || [];
|
|
47
48
|
columns.concat(rows).forEach(d => {
|
|
48
49
|
var _d$legendSet, _d$programStage, _d$repetition, _d$repetition$indexes;
|
|
49
|
-
|
|
50
50
|
let dimension = d.dimension;
|
|
51
|
-
|
|
52
51
|
if ((_d$legendSet = d.legendSet) !== null && _d$legendSet !== void 0 && _d$legendSet.id) {
|
|
53
|
-
dimension +=
|
|
52
|
+
dimension += `-${d.legendSet.id}`;
|
|
54
53
|
}
|
|
55
|
-
|
|
56
54
|
if ((_d$programStage = d.programStage) !== null && _d$programStage !== void 0 && _d$programStage.id) {
|
|
57
|
-
dimension =
|
|
55
|
+
dimension = `${d.programStage.id}.${dimension}`;
|
|
58
56
|
}
|
|
59
|
-
|
|
60
57
|
if (d.filter) {
|
|
61
|
-
dimension +=
|
|
58
|
+
dimension += `:${d.filter}`;
|
|
62
59
|
}
|
|
63
|
-
|
|
64
60
|
if ((_d$repetition = d.repetition) !== null && _d$repetition !== void 0 && (_d$repetition$indexes = _d$repetition.indexes) !== null && _d$repetition$indexes !== void 0 && _d$repetition$indexes.length) {
|
|
65
61
|
d.repetition.indexes.forEach(index => {
|
|
66
|
-
request = request.addDimension(dimension.replace(/\./,
|
|
62
|
+
request = request.addDimension(dimension.replace(/\./, `[${index}].`));
|
|
67
63
|
});
|
|
68
64
|
} else {
|
|
69
65
|
var _d$items;
|
|
70
|
-
|
|
71
66
|
request = request.addDimension(dimension, (_d$items = d.items) === null || _d$items === void 0 ? void 0 : _d$items.map(item => item.id));
|
|
72
67
|
}
|
|
73
|
-
});
|
|
68
|
+
});
|
|
74
69
|
|
|
75
|
-
|
|
70
|
+
// extract filters from visualization
|
|
71
|
+
const filters = visualization.filters || [];
|
|
76
72
|
|
|
73
|
+
// only pass dx/pe/ou as dimension
|
|
77
74
|
const fixedIds = Object.keys(getFixedDimensions());
|
|
78
75
|
filters.forEach(f => {
|
|
79
76
|
if (passFilterAsDimension && fixedIds.includes(f.dimension)) {
|
|
80
77
|
var _f$items;
|
|
81
|
-
|
|
82
78
|
request = request.addDimension(f.dimension, (_f$items = f.items) === null || _f$items === void 0 ? void 0 : _f$items.map(item => item.id));
|
|
83
79
|
} else {
|
|
84
80
|
var _f$programStage, _f$repetition, _f$repetition$indexes;
|
|
85
|
-
|
|
86
|
-
let filterString = (_f$programStage = f.programStage) !== null && _f$programStage !== void 0 && _f$programStage.id ? "".concat(f.programStage.id, ".").concat(f.dimension) : f.dimension;
|
|
87
|
-
|
|
81
|
+
let filterString = (_f$programStage = f.programStage) !== null && _f$programStage !== void 0 && _f$programStage.id ? `${f.programStage.id}.${f.dimension}` : f.dimension;
|
|
88
82
|
if (f.filter) {
|
|
89
|
-
filterString +=
|
|
83
|
+
filterString += `:${f.filter}`;
|
|
90
84
|
}
|
|
91
|
-
|
|
92
85
|
if ((_f$repetition = f.repetition) !== null && _f$repetition !== void 0 && (_f$repetition$indexes = _f$repetition.indexes) !== null && _f$repetition$indexes !== void 0 && _f$repetition$indexes.length) {
|
|
93
86
|
f.repetition.indexes.forEach(index => {
|
|
94
|
-
request = request.addFilter(filterString.replace(/\./,
|
|
87
|
+
request = request.addFilter(filterString.replace(/\./, `[${index}].`));
|
|
95
88
|
});
|
|
96
89
|
} else {
|
|
97
90
|
var _f$items2;
|
|
98
|
-
|
|
99
91
|
request = request.addFilter(filterString, (_f$items2 = f.items) === null || _f$items2 === void 0 ? void 0 : _f$items2.map(item => item.id));
|
|
100
92
|
}
|
|
101
93
|
}
|
|
102
|
-
});
|
|
94
|
+
});
|
|
103
95
|
|
|
96
|
+
// add cache param for expression dimension items
|
|
104
97
|
const expressionHash = getExpressionHashFromVisualization(visualization);
|
|
105
|
-
|
|
106
98
|
if (expressionHash) {
|
|
107
99
|
request.withParameters({
|
|
108
100
|
edi_cache: expressionHash
|
|
109
101
|
});
|
|
110
102
|
}
|
|
111
|
-
|
|
112
103
|
return request;
|
|
113
104
|
}
|
|
114
|
-
|
|
115
105
|
}
|
|
116
|
-
|
|
117
106
|
export default AnalyticsRequest;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import sortBy from 'lodash/sortBy';
|
|
2
2
|
import { customEncodeURIComponent } from './utils.js';
|
|
3
|
+
|
|
3
4
|
/**
|
|
4
5
|
* @private
|
|
5
6
|
* @description
|
|
@@ -10,7 +11,6 @@ import { customEncodeURIComponent } from './utils.js';
|
|
|
10
11
|
* @memberof module:analytics
|
|
11
12
|
* @abstract
|
|
12
13
|
*/
|
|
13
|
-
|
|
14
14
|
class AnalyticsRequestBase {
|
|
15
15
|
constructor() {
|
|
16
16
|
let {
|
|
@@ -28,9 +28,11 @@ class AnalyticsRequestBase {
|
|
|
28
28
|
this.program = program;
|
|
29
29
|
this.dimensions = dimensions;
|
|
30
30
|
this.filters = filters;
|
|
31
|
-
this.parameters = {
|
|
31
|
+
this.parameters = {
|
|
32
|
+
...parameters
|
|
32
33
|
};
|
|
33
34
|
}
|
|
35
|
+
|
|
34
36
|
/**
|
|
35
37
|
* @private
|
|
36
38
|
* @description
|
|
@@ -42,37 +44,30 @@ class AnalyticsRequestBase {
|
|
|
42
44
|
*
|
|
43
45
|
* @returns {String} URL URL for the request with dimensions included
|
|
44
46
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
47
47
|
buildUrl(options) {
|
|
48
48
|
// at least 1 dimension is required
|
|
49
49
|
let dimensions = this.dimensions;
|
|
50
|
-
|
|
51
50
|
if (options && options.sorted) {
|
|
52
51
|
dimensions = sortBy(dimensions, 'dimension');
|
|
53
52
|
}
|
|
54
|
-
|
|
55
53
|
const encodedDimensions = dimensions.map(_ref => {
|
|
56
54
|
let {
|
|
57
55
|
dimension,
|
|
58
56
|
items
|
|
59
57
|
} = _ref;
|
|
60
|
-
|
|
61
58
|
if (Array.isArray(items) && items.length) {
|
|
62
59
|
const encodedItems = items.map(customEncodeURIComponent);
|
|
63
|
-
|
|
64
60
|
if (options && options.sorted) {
|
|
65
61
|
encodedItems.sort();
|
|
66
62
|
}
|
|
67
|
-
|
|
68
|
-
return "".concat(dimension, ":").concat(encodedItems.join(';'));
|
|
63
|
+
return `${dimension}:${encodedItems.join(';')}`;
|
|
69
64
|
}
|
|
70
|
-
|
|
71
65
|
return dimension;
|
|
72
66
|
});
|
|
73
67
|
const endPoint = [this.endPoint, this.path, this.program].filter(e => !!e).join('/');
|
|
74
|
-
return
|
|
68
|
+
return `${endPoint}.${this.format}?dimension=${encodedDimensions.join('&dimension=')}`;
|
|
75
69
|
}
|
|
70
|
+
|
|
76
71
|
/**
|
|
77
72
|
* @private
|
|
78
73
|
* @description
|
|
@@ -86,41 +81,29 @@ class AnalyticsRequestBase {
|
|
|
86
81
|
*
|
|
87
82
|
* @returns {Object} Query parameters
|
|
88
83
|
*/
|
|
89
|
-
|
|
90
|
-
|
|
91
84
|
buildQuery(options) {
|
|
92
85
|
let filters = this.filters;
|
|
93
|
-
|
|
94
86
|
if (options && options.sorted) {
|
|
95
87
|
filters = sortBy(filters, 'dimension');
|
|
96
88
|
}
|
|
97
|
-
|
|
98
89
|
const encodedFilters = filters.map(_ref2 => {
|
|
99
90
|
let {
|
|
100
91
|
dimension,
|
|
101
92
|
items
|
|
102
93
|
} = _ref2;
|
|
103
|
-
|
|
104
94
|
if (Array.isArray(items) && items.length) {
|
|
105
95
|
const encodedItems = items.map(customEncodeURIComponent);
|
|
106
|
-
|
|
107
96
|
if (options && options.sorted) {
|
|
108
97
|
encodedItems.sort();
|
|
109
98
|
}
|
|
110
|
-
|
|
111
|
-
return "".concat(dimension, ":").concat(encodedItems.join(';'));
|
|
99
|
+
return `${dimension}:${encodedItems.join(';')}`;
|
|
112
100
|
}
|
|
113
|
-
|
|
114
101
|
return dimension;
|
|
115
102
|
});
|
|
116
|
-
|
|
117
103
|
if (filters.length) {
|
|
118
104
|
this.parameters.filter = encodedFilters;
|
|
119
105
|
}
|
|
120
|
-
|
|
121
106
|
return this.parameters;
|
|
122
107
|
}
|
|
123
|
-
|
|
124
108
|
}
|
|
125
|
-
|
|
126
109
|
export default AnalyticsRequestBase;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import AnalyticsRequest from './AnalyticsRequest.js';
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* @private
|
|
4
5
|
* @description
|
|
@@ -7,7 +8,6 @@ import AnalyticsRequest from './AnalyticsRequest.js';
|
|
|
7
8
|
* @param {*} base The base class to mix onto
|
|
8
9
|
* @return {module:analytics.AnalyticsRequestDimensionsMixin} The mixin class
|
|
9
10
|
*/
|
|
10
|
-
|
|
11
11
|
const AnalyticsRequestDimensionsMixin = base =>
|
|
12
12
|
/**
|
|
13
13
|
* @private
|
|
@@ -35,6 +35,7 @@ class extends base {
|
|
|
35
35
|
addDataDimension(items) {
|
|
36
36
|
return this.addDimension('dx', items);
|
|
37
37
|
}
|
|
38
|
+
|
|
38
39
|
/**
|
|
39
40
|
* Adds/updates the pe dimension to use in the request.
|
|
40
41
|
*
|
|
@@ -49,11 +50,10 @@ class extends base {
|
|
|
49
50
|
*
|
|
50
51
|
* // dimension=pe:201701;201702;LAST_4_QUARTERS
|
|
51
52
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
53
|
addPeriodDimension(items) {
|
|
55
54
|
return this.addDimension('pe', items);
|
|
56
55
|
}
|
|
56
|
+
|
|
57
57
|
/**
|
|
58
58
|
* Adds/updates the ou dimension to use in the request.
|
|
59
59
|
*
|
|
@@ -68,11 +68,10 @@ class extends base {
|
|
|
68
68
|
*
|
|
69
69
|
* // dimension=ou:O6uvpzGd5pu;lc3eMKXaEfw;OU_GROUP-w0gFTTmsUcF
|
|
70
70
|
*/
|
|
71
|
-
|
|
72
|
-
|
|
73
71
|
addOrgUnitDimension(items) {
|
|
74
72
|
return this.addDimension('ou', items);
|
|
75
73
|
}
|
|
74
|
+
|
|
76
75
|
/**
|
|
77
76
|
* Adds a new dimension or updates an existing one to use in the request.
|
|
78
77
|
*
|
|
@@ -88,8 +87,6 @@ class extends base {
|
|
|
88
87
|
*
|
|
89
88
|
* // dimension=Bpx0589u8y0:oRVt7g429ZO;MAs88nJc9nL&dimension=qrur9Dvnyt5-Yf6UHoPkdS6
|
|
90
89
|
*/
|
|
91
|
-
|
|
92
|
-
|
|
93
90
|
addDimension(dimension, items) {
|
|
94
91
|
let dimensionIndex = 0;
|
|
95
92
|
const existingDimension = this.dimensions.find((item, index) => {
|
|
@@ -97,22 +94,18 @@ class extends base {
|
|
|
97
94
|
dimensionIndex = index;
|
|
98
95
|
return item;
|
|
99
96
|
}
|
|
100
|
-
|
|
101
97
|
return false;
|
|
102
98
|
});
|
|
103
99
|
let updatedItems = [];
|
|
104
100
|
let existingItems = [];
|
|
105
|
-
|
|
106
101
|
if (existingDimension) {
|
|
107
102
|
existingItems = existingDimension.items || [];
|
|
108
103
|
}
|
|
109
|
-
|
|
110
104
|
if (typeof items === 'string') {
|
|
111
105
|
updatedItems = [...new Set([...existingItems, items])];
|
|
112
106
|
} else if (Array.isArray(items)) {
|
|
113
107
|
updatedItems = [...new Set([...existingItems, ...items])];
|
|
114
108
|
}
|
|
115
|
-
|
|
116
109
|
if (existingDimension) {
|
|
117
110
|
this.dimensions.splice(dimensionIndex, 1, {
|
|
118
111
|
dimension,
|
|
@@ -128,10 +121,7 @@ class extends base {
|
|
|
128
121
|
})
|
|
129
122
|
});
|
|
130
123
|
}
|
|
131
|
-
|
|
132
124
|
return new AnalyticsRequest(this);
|
|
133
125
|
}
|
|
134
|
-
|
|
135
126
|
};
|
|
136
|
-
|
|
137
127
|
export default AnalyticsRequestDimensionsMixin;
|