@dhis2/analytics 26.0.7 → 26.0.9
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 +7 -7
- package/build/cjs/locales/index.js +1 -74
- package/build/cjs/locales/km/translations.json +4 -3
- 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 +7 -7
- package/build/es/locales/km/translations.json +4 -3
- 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
|
@@ -4,27 +4,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.PivotTableEngine = void 0;
|
|
7
|
-
|
|
8
7
|
var _times = _interopRequireDefault(require("lodash/times"));
|
|
9
|
-
|
|
10
8
|
var _dataTypes = require("../dataTypes.js");
|
|
11
|
-
|
|
12
9
|
var _predefinedDimensions = require("../predefinedDimensions.js");
|
|
13
|
-
|
|
14
10
|
var _renderValue = require("../renderValue.js");
|
|
15
|
-
|
|
16
11
|
var _valueTypes = require("../valueTypes.js");
|
|
17
|
-
|
|
18
12
|
var _AdaptiveClippingController = require("./AdaptiveClippingController.js");
|
|
19
|
-
|
|
20
13
|
var _parseValue = require("./parseValue.js");
|
|
21
|
-
|
|
22
14
|
var _pivotTableConstants = require("./pivotTableConstants.js");
|
|
23
|
-
|
|
24
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
|
-
function
|
|
27
|
-
|
|
16
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
18
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
28
19
|
const dataFields = ['value', 'numerator', 'denominator', 'factor', 'multiplier', 'divisor'];
|
|
29
20
|
const defaultOptions = {
|
|
30
21
|
hideEmptyColumns: false,
|
|
@@ -40,9 +31,7 @@ const defaultVisualizationProps = {
|
|
|
40
31
|
fontSize: _pivotTableConstants.FONT_SIZE_OPTION_NORMAL,
|
|
41
32
|
displayDensity: _pivotTableConstants.DISPLAY_DENSITY_OPTION_NORMAL
|
|
42
33
|
};
|
|
43
|
-
|
|
44
34
|
const isDxDimension = dimensionItem => [_dataTypes.DIMENSION_TYPE_DATA, _dataTypes.DIMENSION_TYPE_DATA_ELEMENT_GROUP_SET].includes(dimensionItem.dimensionType);
|
|
45
|
-
|
|
46
35
|
const countFromDisaggregates = list => {
|
|
47
36
|
let count = 1;
|
|
48
37
|
list.forEach(x => {
|
|
@@ -50,7 +39,6 @@ const countFromDisaggregates = list => {
|
|
|
50
39
|
});
|
|
51
40
|
return count;
|
|
52
41
|
};
|
|
53
|
-
|
|
54
42
|
const addSize = list => {
|
|
55
43
|
const reversedList = list.slice().reverse();
|
|
56
44
|
reversedList.forEach((level, idx) => {
|
|
@@ -59,22 +47,18 @@ const addSize = list => {
|
|
|
59
47
|
level.size = lastLevel ? lastLevel.count * lastLevel.size : 1;
|
|
60
48
|
});
|
|
61
49
|
};
|
|
62
|
-
|
|
63
50
|
const listByDimension = list => list.reduce((all, item) => {
|
|
64
51
|
all[item.dimension] = item;
|
|
65
52
|
return all;
|
|
66
53
|
}, {});
|
|
67
|
-
|
|
68
54
|
const sortByHierarchy = items => {
|
|
69
55
|
items.sort((a, b) => {
|
|
70
56
|
if (!a.hierarchy || !b.hierarchy) {
|
|
71
57
|
return 0;
|
|
72
58
|
}
|
|
73
|
-
|
|
74
59
|
return a.hierarchy.join('/').localeCompare(b.hierarchy.join('/'));
|
|
75
60
|
});
|
|
76
61
|
};
|
|
77
|
-
|
|
78
62
|
const buildDimensionLookup = (visualization, metadata, headers) => {
|
|
79
63
|
const rows = visualization.rows.map(row => ({
|
|
80
64
|
dimension: row.dimension,
|
|
@@ -96,7 +80,8 @@ const buildDimensionLookup = (visualization, metadata, headers) => {
|
|
|
96
80
|
}));
|
|
97
81
|
addSize(rows);
|
|
98
82
|
addSize(columns);
|
|
99
|
-
const allByDimension = {
|
|
83
|
+
const allByDimension = {
|
|
84
|
+
...listByDimension(rows),
|
|
100
85
|
...listByDimension(columns)
|
|
101
86
|
};
|
|
102
87
|
const headerDimensions = headers.map(header => allByDimension[header.name]);
|
|
@@ -107,11 +92,9 @@ const buildDimensionLookup = (visualization, metadata, headers) => {
|
|
|
107
92
|
return out;
|
|
108
93
|
}, {});
|
|
109
94
|
const ouDimension = allByDimension[_predefinedDimensions.DIMENSION_ID_ORGUNIT];
|
|
110
|
-
|
|
111
95
|
if (visualization.showHierarchy && metadata.ouNameHierarchy && ouDimension) {
|
|
112
96
|
ouDimension.items.forEach(ou => {
|
|
113
97
|
const hierarchy = metadata.ouNameHierarchy[ou.uid];
|
|
114
|
-
|
|
115
98
|
if (hierarchy) {
|
|
116
99
|
ou.hierarchy = hierarchy.split('/').filter(x => x.length);
|
|
117
100
|
}
|
|
@@ -119,7 +102,6 @@ const buildDimensionLookup = (visualization, metadata, headers) => {
|
|
|
119
102
|
sortByHierarchy(ouDimension.items);
|
|
120
103
|
ouDimension.itemIds = ouDimension.items.map(item => item.uid);
|
|
121
104
|
}
|
|
122
|
-
|
|
123
105
|
return {
|
|
124
106
|
rows,
|
|
125
107
|
columns,
|
|
@@ -130,52 +112,40 @@ const buildDimensionLookup = (visualization, metadata, headers) => {
|
|
|
130
112
|
dataHeaders
|
|
131
113
|
};
|
|
132
114
|
};
|
|
133
|
-
|
|
134
115
|
const lookup = (dataRow, dimensionLookup, _ref) => {
|
|
135
116
|
let {
|
|
136
117
|
doColumnSubtotals,
|
|
137
118
|
doRowSubtotals
|
|
138
119
|
} = _ref;
|
|
139
120
|
let row = 0;
|
|
140
|
-
|
|
141
121
|
for (const headerIndex of dimensionLookup.rowHeaders) {
|
|
142
122
|
const idx = dimensionLookup.headerDimensions[headerIndex].itemIds.indexOf(dataRow[headerIndex]);
|
|
143
|
-
|
|
144
123
|
if (idx === -1) {
|
|
145
124
|
return undefined;
|
|
146
125
|
}
|
|
147
|
-
|
|
148
126
|
const size = dimensionLookup.headerDimensions[headerIndex].size;
|
|
149
127
|
row += idx * size;
|
|
150
128
|
}
|
|
151
|
-
|
|
152
129
|
if (doColumnSubtotals) {
|
|
153
130
|
row += Math.floor(row / dimensionLookup.rows[0].size);
|
|
154
131
|
}
|
|
155
|
-
|
|
156
132
|
let column = 0;
|
|
157
|
-
|
|
158
133
|
for (const headerIndex of dimensionLookup.columnHeaders) {
|
|
159
134
|
const idx = dimensionLookup.headerDimensions[headerIndex].itemIds.indexOf(dataRow[headerIndex]);
|
|
160
|
-
|
|
161
135
|
if (idx === -1) {
|
|
162
136
|
return undefined;
|
|
163
137
|
}
|
|
164
|
-
|
|
165
138
|
const size = dimensionLookup.headerDimensions[headerIndex].size;
|
|
166
139
|
column += idx * size;
|
|
167
140
|
}
|
|
168
|
-
|
|
169
141
|
if (doRowSubtotals) {
|
|
170
142
|
column += Math.floor(column / dimensionLookup.columns[0].size);
|
|
171
143
|
}
|
|
172
|
-
|
|
173
144
|
return {
|
|
174
145
|
column,
|
|
175
146
|
row
|
|
176
147
|
};
|
|
177
148
|
};
|
|
178
|
-
|
|
179
149
|
const applyTotalAggregationType = (_ref2, overrideTotalAggregationType) => {
|
|
180
150
|
let {
|
|
181
151
|
totalAggregationType,
|
|
@@ -185,48 +155,31 @@ const applyTotalAggregationType = (_ref2, overrideTotalAggregationType) => {
|
|
|
185
155
|
multiplier,
|
|
186
156
|
divisor
|
|
187
157
|
} = _ref2;
|
|
188
|
-
|
|
189
158
|
switch (overrideTotalAggregationType || totalAggregationType) {
|
|
190
159
|
case _pivotTableConstants.AGGREGATE_TYPE_NA:
|
|
191
160
|
return 'N/A';
|
|
192
|
-
|
|
193
161
|
case _pivotTableConstants.AGGREGATE_TYPE_AVERAGE:
|
|
194
162
|
return (numerator || value) * multiplier / (denominator * divisor || 1);
|
|
195
|
-
|
|
196
163
|
case _pivotTableConstants.AGGREGATE_TYPE_SUM:
|
|
197
164
|
default:
|
|
198
165
|
return value;
|
|
199
166
|
}
|
|
200
167
|
};
|
|
201
|
-
|
|
202
168
|
class PivotTableEngine {
|
|
203
169
|
constructor(visualization, data, legendSets) {
|
|
204
170
|
_defineProperty(this, "visualization", void 0);
|
|
205
|
-
|
|
206
171
|
_defineProperty(this, "rawData", void 0);
|
|
207
|
-
|
|
208
172
|
_defineProperty(this, "options", void 0);
|
|
209
|
-
|
|
210
173
|
_defineProperty(this, "legendSets", void 0);
|
|
211
|
-
|
|
212
174
|
_defineProperty(this, "dimensionLookup", void 0);
|
|
213
|
-
|
|
214
175
|
_defineProperty(this, "adaptiveClippingController", void 0);
|
|
215
|
-
|
|
216
176
|
_defineProperty(this, "columnDepth", 0);
|
|
217
|
-
|
|
218
177
|
_defineProperty(this, "rowDepth", 0);
|
|
219
|
-
|
|
220
178
|
_defineProperty(this, "height", 0);
|
|
221
|
-
|
|
222
179
|
_defineProperty(this, "width", 0);
|
|
223
|
-
|
|
224
180
|
_defineProperty(this, "data", []);
|
|
225
|
-
|
|
226
181
|
_defineProperty(this, "rowMap", []);
|
|
227
|
-
|
|
228
182
|
_defineProperty(this, "columnMap", []);
|
|
229
|
-
|
|
230
183
|
this.visualization = Object.assign({}, defaultVisualizationProps, visualization);
|
|
231
184
|
this.legendSets = (legendSets || []).reduce((sets, set) => {
|
|
232
185
|
sets[set.id] = set;
|
|
@@ -234,7 +187,8 @@ class PivotTableEngine {
|
|
|
234
187
|
}, {});
|
|
235
188
|
this.rawData = data;
|
|
236
189
|
this.dimensionLookup = buildDimensionLookup(this.visualization, this.rawData.metaData, this.rawData.headers);
|
|
237
|
-
this.options = {
|
|
190
|
+
this.options = {
|
|
191
|
+
...defaultOptions,
|
|
238
192
|
showColumnTotals: visualization.colTotals,
|
|
239
193
|
showRowTotals: visualization.rowTotals,
|
|
240
194
|
showColumnSubtotals: visualization.colSubTotals,
|
|
@@ -255,10 +209,8 @@ class PivotTableEngine {
|
|
|
255
209
|
this.rowDepth = this.dimensionLookup.rows.length || (this.visualization.showDimensionLabels ? 1 : 0);
|
|
256
210
|
this.buildMatrix();
|
|
257
211
|
}
|
|
258
|
-
|
|
259
212
|
getRaw(_ref3) {
|
|
260
213
|
var _headers$find, _headers$find2;
|
|
261
|
-
|
|
262
214
|
let {
|
|
263
215
|
row,
|
|
264
216
|
column
|
|
@@ -274,7 +226,6 @@ class PivotTableEngine {
|
|
|
274
226
|
const headers = [...this.getRawRowHeader(row), ...this.getRawColumnHeader(column)];
|
|
275
227
|
const peId = (_headers$find = headers.find(header => (header === null || header === void 0 ? void 0 : header.dimensionItemType) === _dataTypes.DIMENSION_TYPE_PERIOD)) === null || _headers$find === void 0 ? void 0 : _headers$find.uid;
|
|
276
228
|
const ouId = (_headers$find2 = headers.find(header => (header === null || header === void 0 ? void 0 : header.dimensionItemType) === _dataTypes.DIMENSION_TYPE_ORGANISATION_UNIT)) === null || _headers$find2 === void 0 ? void 0 : _headers$find2.uid;
|
|
277
|
-
|
|
278
229
|
if (!this.data[row] || !this.data[row][column]) {
|
|
279
230
|
return {
|
|
280
231
|
cellType,
|
|
@@ -283,29 +234,23 @@ class PivotTableEngine {
|
|
|
283
234
|
peId
|
|
284
235
|
};
|
|
285
236
|
}
|
|
286
|
-
|
|
287
237
|
const dataRow = this.data[row][column];
|
|
288
238
|
let rawValue = cellType === _pivotTableConstants.CELL_TYPE_VALUE ? dataRow[this.dimensionLookup.dataHeaders.value] : dataRow.value;
|
|
289
239
|
let renderedValue = rawValue;
|
|
290
240
|
const valueType = (dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) || _valueTypes.VALUE_TYPE_TEXT;
|
|
291
|
-
|
|
292
241
|
if (valueType === _valueTypes.VALUE_TYPE_NUMBER) {
|
|
293
242
|
rawValue = (0, _parseValue.parseValue)(rawValue);
|
|
294
|
-
|
|
295
243
|
switch (this.visualization.numberType) {
|
|
296
244
|
case _pivotTableConstants.NUMBER_TYPE_ROW_PERCENTAGE:
|
|
297
245
|
renderedValue = rawValue / this.percentageTotals[row].value;
|
|
298
246
|
break;
|
|
299
|
-
|
|
300
247
|
case _pivotTableConstants.NUMBER_TYPE_COLUMN_PERCENTAGE:
|
|
301
248
|
renderedValue = rawValue / this.percentageTotals[column].value;
|
|
302
249
|
break;
|
|
303
|
-
|
|
304
250
|
default:
|
|
305
251
|
break;
|
|
306
252
|
}
|
|
307
253
|
}
|
|
308
|
-
|
|
309
254
|
renderedValue = (0, _renderValue.renderValue)(renderedValue, valueType, this.visualization);
|
|
310
255
|
return {
|
|
311
256
|
cellType,
|
|
@@ -318,25 +263,21 @@ class PivotTableEngine {
|
|
|
318
263
|
peId
|
|
319
264
|
};
|
|
320
265
|
}
|
|
321
|
-
|
|
322
266
|
get(_ref4) {
|
|
323
267
|
let {
|
|
324
268
|
row,
|
|
325
269
|
column
|
|
326
270
|
} = _ref4;
|
|
327
271
|
const mappedRow = this.rowMap[row],
|
|
328
|
-
|
|
329
|
-
|
|
272
|
+
mappedColumn = this.columnMap[column];
|
|
330
273
|
if (!mappedRow && mappedRow !== 0 || !mappedColumn && mappedColumn !== 0) {
|
|
331
274
|
return undefined;
|
|
332
275
|
}
|
|
333
|
-
|
|
334
276
|
return this.getRaw({
|
|
335
277
|
row: mappedRow,
|
|
336
278
|
column: mappedColumn
|
|
337
279
|
});
|
|
338
280
|
}
|
|
339
|
-
|
|
340
281
|
getRawCellType(_ref5) {
|
|
341
282
|
let {
|
|
342
283
|
row,
|
|
@@ -344,21 +285,16 @@ class PivotTableEngine {
|
|
|
344
285
|
} = _ref5;
|
|
345
286
|
const isRowTotal = this.doRowTotals && column === this.dataWidth - 1;
|
|
346
287
|
const isColumnTotal = this.doColumnTotals && row === this.dataHeight - 1;
|
|
347
|
-
|
|
348
288
|
if (isRowTotal || isColumnTotal) {
|
|
349
289
|
return _pivotTableConstants.CELL_TYPE_TOTAL;
|
|
350
290
|
}
|
|
351
|
-
|
|
352
291
|
const isRowSubtotal = this.doRowSubtotals && (column + 1) % (this.dimensionLookup.columns[0].size + 1) === 0;
|
|
353
292
|
const isColumnSubtotal = this.doColumnSubtotals && (row + 1) % (this.dimensionLookup.rows[0].size + 1) === 0;
|
|
354
|
-
|
|
355
293
|
if (isRowSubtotal || isColumnSubtotal) {
|
|
356
294
|
return _pivotTableConstants.CELL_TYPE_SUBTOTAL;
|
|
357
295
|
}
|
|
358
|
-
|
|
359
296
|
return _pivotTableConstants.CELL_TYPE_VALUE;
|
|
360
297
|
}
|
|
361
|
-
|
|
362
298
|
getCellType(_ref6) {
|
|
363
299
|
let {
|
|
364
300
|
row,
|
|
@@ -371,36 +307,28 @@ class PivotTableEngine {
|
|
|
371
307
|
column
|
|
372
308
|
});
|
|
373
309
|
}
|
|
374
|
-
|
|
375
310
|
getDimensionLabel(rowLevel, columnLevel) {
|
|
376
311
|
const lastRowLevel = this.rowDepth - 1;
|
|
377
312
|
const lastColumnLevel = this.columnDepth - 1;
|
|
378
|
-
|
|
379
313
|
if (rowLevel !== lastRowLevel && columnLevel !== lastColumnLevel) {
|
|
380
314
|
return null;
|
|
381
315
|
}
|
|
382
|
-
|
|
383
316
|
if (rowLevel === lastRowLevel && this.dimensionLookup.rows[lastRowLevel] && columnLevel === lastColumnLevel && this.dimensionLookup.columns[lastColumnLevel]) {
|
|
384
|
-
return
|
|
317
|
+
return `${this.dimensionLookup.rows[lastRowLevel].meta.name} / ${this.dimensionLookup.columns[lastColumnLevel].meta.name}`;
|
|
385
318
|
}
|
|
386
|
-
|
|
387
319
|
if (lastRowLevel === -1) {
|
|
388
320
|
return this.dimensionLookup.columns[columnLevel].meta.name;
|
|
389
321
|
}
|
|
390
|
-
|
|
391
322
|
if (lastColumnLevel === -1) {
|
|
392
323
|
return this.dimensionLookup.rows[rowLevel].meta.name;
|
|
393
324
|
}
|
|
394
|
-
|
|
395
325
|
if (rowLevel === lastRowLevel && this.dimensionLookup.columns[columnLevel]) {
|
|
396
326
|
return this.dimensionLookup.columns[columnLevel].meta.name;
|
|
397
327
|
}
|
|
398
|
-
|
|
399
328
|
if (columnLevel === lastColumnLevel && this.dimensionLookup.rows[rowLevel]) {
|
|
400
329
|
return this.dimensionLookup.rows[rowLevel].meta.name;
|
|
401
330
|
}
|
|
402
331
|
}
|
|
403
|
-
|
|
404
332
|
getCellDxDimension(_ref7) {
|
|
405
333
|
let {
|
|
406
334
|
row,
|
|
@@ -411,23 +339,18 @@ class PivotTableEngine {
|
|
|
411
339
|
column: this.columnMap[column]
|
|
412
340
|
});
|
|
413
341
|
}
|
|
414
|
-
|
|
415
342
|
getRawCellDxDimension(_ref8) {
|
|
416
343
|
let {
|
|
417
344
|
row,
|
|
418
345
|
column
|
|
419
346
|
} = _ref8;
|
|
420
|
-
|
|
421
347
|
if (!this.data[row]) {
|
|
422
348
|
return undefined;
|
|
423
349
|
}
|
|
424
|
-
|
|
425
350
|
const cellValue = this.data[row][column];
|
|
426
|
-
|
|
427
351
|
if (!cellValue) {
|
|
428
352
|
return undefined;
|
|
429
353
|
}
|
|
430
|
-
|
|
431
354
|
if (!Array.isArray(cellValue)) {
|
|
432
355
|
// This is a total cell
|
|
433
356
|
return {
|
|
@@ -436,11 +359,9 @@ class PivotTableEngine {
|
|
|
436
359
|
legendSet: undefined
|
|
437
360
|
};
|
|
438
361
|
}
|
|
439
|
-
|
|
440
362
|
const rowHeaders = this.getRawRowHeader(row);
|
|
441
363
|
const columnHeaders = this.getRawColumnHeader(column);
|
|
442
364
|
const dxRowIndex = this.dimensionLookup.rows.findIndex(dim => dim.isDxDimension);
|
|
443
|
-
|
|
444
365
|
if (rowHeaders.length && dxRowIndex !== -1) {
|
|
445
366
|
return {
|
|
446
367
|
valueType: rowHeaders[dxRowIndex].valueType,
|
|
@@ -448,90 +369,74 @@ class PivotTableEngine {
|
|
|
448
369
|
legendSet: rowHeaders[dxRowIndex].legendSet
|
|
449
370
|
};
|
|
450
371
|
}
|
|
451
|
-
|
|
452
372
|
const dxColumnIndex = this.dimensionLookup.columns.findIndex(dim => dim.isDxDimension);
|
|
453
|
-
|
|
454
373
|
if (columnHeaders.length && dxColumnIndex !== -1) {
|
|
455
374
|
return {
|
|
456
375
|
valueType: columnHeaders[dxColumnIndex].valueType,
|
|
457
376
|
totalAggregationType: columnHeaders[dxColumnIndex].totalAggregationType,
|
|
458
377
|
legendSet: columnHeaders[dxColumnIndex].legendSet
|
|
459
378
|
};
|
|
460
|
-
}
|
|
461
|
-
// TODO : This assumes the server ignores text types, we should confirm this is the case
|
|
462
|
-
|
|
379
|
+
}
|
|
463
380
|
|
|
381
|
+
// Data is in Filter
|
|
382
|
+
// TODO : This assumes the server ignores text types, we should confirm this is the case
|
|
464
383
|
return {
|
|
465
384
|
valueType: _valueTypes.VALUE_TYPE_NUMBER,
|
|
466
385
|
totalAggregationType: _pivotTableConstants.AGGREGATE_TYPE_SUM
|
|
467
386
|
};
|
|
468
387
|
}
|
|
469
|
-
|
|
470
388
|
rowIsEmpty(row) {
|
|
471
389
|
return !this.data[row] || this.data[row].length === 0;
|
|
472
390
|
}
|
|
473
|
-
|
|
474
391
|
columnIsEmpty(column) {
|
|
475
392
|
return !this.adaptiveClippingController.columns.sizes[column];
|
|
476
393
|
}
|
|
477
|
-
|
|
478
394
|
getRawColumnHeader(column) {
|
|
479
395
|
if (this.doRowTotals && column === this.dataWidth - 1) {
|
|
480
396
|
return (0, _times.default)(this.columnDepth - 1, () => undefined).concat([{
|
|
481
397
|
name: 'Total'
|
|
482
398
|
}]);
|
|
483
399
|
}
|
|
484
|
-
|
|
485
400
|
if (this.doRowSubtotals) {
|
|
486
401
|
if ((column + 1) % (this.dimensionLookup.columns[0].size + 1) === 0) {
|
|
487
402
|
return (0, _times.default)(this.columnDepth - 1, () => undefined).concat([{
|
|
488
403
|
name: 'Subtotal'
|
|
489
404
|
}]);
|
|
490
405
|
}
|
|
491
|
-
|
|
492
406
|
column -= Math.floor(column / (this.dimensionLookup.columns[0].size + 1));
|
|
493
407
|
}
|
|
494
|
-
|
|
495
408
|
return this.dimensionLookup.columns.map(dimension => {
|
|
496
409
|
const itemIndex = Math.floor(column / dimension.size) % dimension.count;
|
|
497
410
|
return dimension.items[itemIndex];
|
|
498
411
|
});
|
|
499
412
|
}
|
|
500
|
-
|
|
501
413
|
getColumnHeader(column) {
|
|
502
414
|
return this.getRawColumnHeader(this.columnMap[column]);
|
|
503
415
|
}
|
|
504
|
-
|
|
505
416
|
getRawRowHeader(row) {
|
|
506
417
|
if (this.doColumnTotals && row === this.dataHeight - 1) {
|
|
507
418
|
return (0, _times.default)(this.rowDepth - 1, () => undefined).concat([{
|
|
508
419
|
name: 'Total'
|
|
509
420
|
}]);
|
|
510
421
|
}
|
|
511
|
-
|
|
512
422
|
if (this.doColumnSubtotals) {
|
|
513
423
|
if ((row + 1) % (this.dimensionLookup.rows[0].size + 1) === 0) {
|
|
514
424
|
return (0, _times.default)(this.rowDepth - 1, () => undefined).concat([{
|
|
515
425
|
name: 'Subtotal'
|
|
516
426
|
}]);
|
|
517
427
|
}
|
|
518
|
-
|
|
519
428
|
row -= Math.floor(row / (this.dimensionLookup.rows[0].size + 1));
|
|
520
429
|
}
|
|
521
|
-
|
|
522
430
|
return this.dimensionLookup.rows.map(dimension => {
|
|
523
431
|
const itemIndex = Math.floor(row / dimension.size) % dimension.count;
|
|
524
432
|
return dimension.items[itemIndex];
|
|
525
433
|
});
|
|
526
434
|
}
|
|
527
|
-
|
|
528
435
|
getRowHeader(row) {
|
|
529
436
|
return this.getRawRowHeader(this.rowMap[row]);
|
|
530
437
|
}
|
|
531
|
-
|
|
532
438
|
getDependantTotalCells(_ref9) {
|
|
533
439
|
var _this$dimensionLookup, _this$dimensionLookup2;
|
|
534
|
-
|
|
535
440
|
let {
|
|
536
441
|
row,
|
|
537
442
|
column
|
|
@@ -589,7 +494,6 @@ class PivotTableEngine {
|
|
|
589
494
|
combinedTotal
|
|
590
495
|
};
|
|
591
496
|
}
|
|
592
|
-
|
|
593
497
|
addCellValueToTotals(pos, dataRow) {
|
|
594
498
|
const totals = this.getDependantTotalCells(pos);
|
|
595
499
|
const dxDimension = this.getRawCellDxDimension(pos);
|
|
@@ -597,7 +501,6 @@ class PivotTableEngine {
|
|
|
597
501
|
if (!totalItem) {
|
|
598
502
|
return;
|
|
599
503
|
}
|
|
600
|
-
|
|
601
504
|
this.data[totalItem.row] = this.data[totalItem.row] || [];
|
|
602
505
|
this.data[totalItem.row][totalItem.column] = this.data[totalItem.row][totalItem.column] || {
|
|
603
506
|
count: 0,
|
|
@@ -606,36 +509,29 @@ class PivotTableEngine {
|
|
|
606
509
|
const totalCell = this.data[totalItem.row][totalItem.column];
|
|
607
510
|
const currentAggType = dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.totalAggregationType;
|
|
608
511
|
const previousAggType = totalCell.totalAggregationType || currentAggType;
|
|
609
|
-
|
|
610
512
|
if (previousAggType && currentAggType !== previousAggType) {
|
|
611
513
|
totalCell.totalAggregationType = _pivotTableConstants.AGGREGATE_TYPE_NA;
|
|
612
514
|
} else {
|
|
613
515
|
totalCell.totalAggregationType = currentAggType;
|
|
614
516
|
}
|
|
615
|
-
|
|
616
517
|
const currentValueType = dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType;
|
|
617
518
|
const previousValueType = totalCell.valueType;
|
|
618
|
-
|
|
619
519
|
if (previousValueType && currentValueType !== previousValueType) {
|
|
620
520
|
totalCell.valueType = _pivotTableConstants.AGGREGATE_TYPE_NA;
|
|
621
521
|
} else {
|
|
622
522
|
totalCell.valueType = currentValueType;
|
|
623
523
|
}
|
|
624
|
-
|
|
625
524
|
if ((dxDimension === null || dxDimension === void 0 ? void 0 : dxDimension.valueType) === _valueTypes.VALUE_TYPE_NUMBER) {
|
|
626
525
|
dataFields.forEach(field => {
|
|
627
526
|
const headerIndex = this.dimensionLookup.dataHeaders[field];
|
|
628
527
|
const value = (0, _parseValue.parseValue)(dataRow[headerIndex]);
|
|
629
|
-
|
|
630
528
|
if (value && !isNaN(value)) {
|
|
631
529
|
totalCell[field] = (totalCell[field] || 0) + value;
|
|
632
530
|
}
|
|
633
531
|
});
|
|
634
532
|
}
|
|
635
|
-
|
|
636
533
|
totalCell.count += 1;
|
|
637
534
|
});
|
|
638
|
-
|
|
639
535
|
if (this.visualization.numberType === _pivotTableConstants.NUMBER_TYPE_ROW_PERCENTAGE) {
|
|
640
536
|
if (!this.percentageTotals[pos.row]) {
|
|
641
537
|
this.percentageTotals[pos.row] = {
|
|
@@ -643,17 +539,14 @@ class PivotTableEngine {
|
|
|
643
539
|
totalCount: this.rawDataWidth
|
|
644
540
|
};
|
|
645
541
|
}
|
|
646
|
-
|
|
647
542
|
const percentageTotal = this.percentageTotals[pos.row];
|
|
648
543
|
dataFields.forEach(field => {
|
|
649
544
|
const headerIndex = this.dimensionLookup.dataHeaders[field];
|
|
650
545
|
const value = (0, _parseValue.parseValue)(dataRow[headerIndex]);
|
|
651
|
-
|
|
652
546
|
if (value && !isNaN(value)) {
|
|
653
547
|
percentageTotal[field] = (percentageTotal[field] || 0) + value;
|
|
654
548
|
}
|
|
655
549
|
});
|
|
656
|
-
|
|
657
550
|
if (totals.columnSubtotal) {
|
|
658
551
|
if (!this.percentageTotals[totals.columnSubtotal.row]) {
|
|
659
552
|
this.percentageTotals[totals.columnSubtotal.row] = {
|
|
@@ -661,18 +554,15 @@ class PivotTableEngine {
|
|
|
661
554
|
totalCount: this.rawDataWidth
|
|
662
555
|
};
|
|
663
556
|
}
|
|
664
|
-
|
|
665
557
|
const percentageTotal = this.percentageTotals[totals.columnSubtotal.row];
|
|
666
558
|
dataFields.forEach(field => {
|
|
667
559
|
const headerIndex = this.dimensionLookup.dataHeaders[field];
|
|
668
560
|
const value = (0, _parseValue.parseValue)(dataRow[headerIndex]);
|
|
669
|
-
|
|
670
561
|
if (value && !isNaN(value)) {
|
|
671
562
|
percentageTotal[field] = (percentageTotal[field] || 0) + value;
|
|
672
563
|
}
|
|
673
564
|
});
|
|
674
565
|
}
|
|
675
|
-
|
|
676
566
|
if (totals.columnTotal) {
|
|
677
567
|
if (!this.percentageTotals[totals.columnTotal.row]) {
|
|
678
568
|
this.percentageTotals[totals.columnTotal.row] = {
|
|
@@ -680,19 +570,16 @@ class PivotTableEngine {
|
|
|
680
570
|
totalCount: this.rawDataWidth
|
|
681
571
|
};
|
|
682
572
|
}
|
|
683
|
-
|
|
684
573
|
const percentageTotal = this.percentageTotals[totals.columnTotal.row];
|
|
685
574
|
dataFields.forEach(field => {
|
|
686
575
|
const headerIndex = this.dimensionLookup.dataHeaders[field];
|
|
687
576
|
const value = (0, _parseValue.parseValue)(dataRow[headerIndex]);
|
|
688
|
-
|
|
689
577
|
if (value && !isNaN(value)) {
|
|
690
578
|
percentageTotal[field] = (percentageTotal[field] || 0) + value;
|
|
691
579
|
}
|
|
692
580
|
});
|
|
693
581
|
}
|
|
694
582
|
}
|
|
695
|
-
|
|
696
583
|
if (this.visualization.numberType === _pivotTableConstants.NUMBER_TYPE_COLUMN_PERCENTAGE) {
|
|
697
584
|
if (!this.percentageTotals[pos.column]) {
|
|
698
585
|
this.percentageTotals[pos.column] = {
|
|
@@ -700,17 +587,14 @@ class PivotTableEngine {
|
|
|
700
587
|
totalCount: this.rawDataHeight
|
|
701
588
|
};
|
|
702
589
|
}
|
|
703
|
-
|
|
704
590
|
const percentageTotal = this.percentageTotals[pos.column];
|
|
705
591
|
dataFields.forEach(field => {
|
|
706
592
|
const headerIndex = this.dimensionLookup.dataHeaders[field];
|
|
707
593
|
const value = (0, _parseValue.parseValue)(dataRow[headerIndex]);
|
|
708
|
-
|
|
709
594
|
if (value && !isNaN(value)) {
|
|
710
595
|
percentageTotal[field] = (percentageTotal[field] || 0) + value;
|
|
711
596
|
}
|
|
712
597
|
});
|
|
713
|
-
|
|
714
598
|
if (totals.rowSubtotal) {
|
|
715
599
|
if (!this.percentageTotals[totals.rowSubtotal.column]) {
|
|
716
600
|
this.percentageTotals[totals.rowSubtotal.column] = {
|
|
@@ -718,18 +602,15 @@ class PivotTableEngine {
|
|
|
718
602
|
totalCount: this.rawDataHeight
|
|
719
603
|
};
|
|
720
604
|
}
|
|
721
|
-
|
|
722
605
|
const percentageTotal = this.percentageTotals[totals.rowSubtotal.column];
|
|
723
606
|
dataFields.forEach(field => {
|
|
724
607
|
const headerIndex = this.dimensionLookup.dataHeaders[field];
|
|
725
608
|
const value = (0, _parseValue.parseValue)(dataRow[headerIndex]);
|
|
726
|
-
|
|
727
609
|
if (value && !isNaN(value)) {
|
|
728
610
|
percentageTotal[field] = (percentageTotal[field] || 0) + value;
|
|
729
611
|
}
|
|
730
612
|
});
|
|
731
613
|
}
|
|
732
|
-
|
|
733
614
|
if (totals.rowTotal) {
|
|
734
615
|
if (!this.percentageTotals[totals.rowTotal.column]) {
|
|
735
616
|
this.percentageTotals[totals.rowTotal.column] = {
|
|
@@ -737,12 +618,10 @@ class PivotTableEngine {
|
|
|
737
618
|
totalCount: this.rawDataHeight
|
|
738
619
|
};
|
|
739
620
|
}
|
|
740
|
-
|
|
741
621
|
const percentageTotal = this.percentageTotals[totals.rowTotal.column];
|
|
742
622
|
dataFields.forEach(field => {
|
|
743
623
|
const headerIndex = this.dimensionLookup.dataHeaders[field];
|
|
744
624
|
const value = (0, _parseValue.parseValue)(dataRow[headerIndex]);
|
|
745
|
-
|
|
746
625
|
if (value && !isNaN(value)) {
|
|
747
626
|
percentageTotal[field] = (percentageTotal[field] || 0) + value;
|
|
748
627
|
}
|
|
@@ -750,19 +629,15 @@ class PivotTableEngine {
|
|
|
750
629
|
}
|
|
751
630
|
}
|
|
752
631
|
}
|
|
753
|
-
|
|
754
632
|
finalizeTotal(_ref10) {
|
|
755
633
|
let {
|
|
756
634
|
row,
|
|
757
635
|
column
|
|
758
636
|
} = _ref10;
|
|
759
|
-
|
|
760
637
|
if (!this.data[row]) {
|
|
761
638
|
return;
|
|
762
639
|
}
|
|
763
|
-
|
|
764
640
|
const totalCell = this.data[row][column];
|
|
765
|
-
|
|
766
641
|
if (totalCell && totalCell.count) {
|
|
767
642
|
totalCell.value = applyTotalAggregationType(totalCell, this.visualization.numberType !== _pivotTableConstants.NUMBER_TYPE_VALUE && _pivotTableConstants.AGGREGATE_TYPE_SUM);
|
|
768
643
|
this.adaptiveClippingController.add({
|
|
@@ -771,13 +646,10 @@ class PivotTableEngine {
|
|
|
771
646
|
}, (0, _renderValue.renderValue)(totalCell.value, totalCell.valueType, this.visualization));
|
|
772
647
|
}
|
|
773
648
|
}
|
|
774
|
-
|
|
775
649
|
finalizeTotals() {
|
|
776
650
|
var _this$dimensionLookup3, _this$dimensionLookup4;
|
|
777
|
-
|
|
778
651
|
const columnSubtotalSize = ((_this$dimensionLookup3 = this.dimensionLookup.rows[0]) === null || _this$dimensionLookup3 === void 0 ? void 0 : _this$dimensionLookup3.size) + 1;
|
|
779
652
|
const rowSubtotalSize = ((_this$dimensionLookup4 = this.dimensionLookup.columns[0]) === null || _this$dimensionLookup4 === void 0 ? void 0 : _this$dimensionLookup4.size) + 1;
|
|
780
|
-
|
|
781
653
|
if (this.doRowSubtotals && rowSubtotalSize) {
|
|
782
654
|
(0, _times.default)(this.dimensionLookup.columns[0].count, n => (n + 1) * rowSubtotalSize - 1).forEach(column => {
|
|
783
655
|
(0, _times.default)(this.dataHeight - (this.doColumnTotals ? 1 : 0), n => n).forEach(row => {
|
|
@@ -791,7 +663,6 @@ class PivotTableEngine {
|
|
|
791
663
|
});
|
|
792
664
|
});
|
|
793
665
|
}
|
|
794
|
-
|
|
795
666
|
if (this.doColumnSubtotals && columnSubtotalSize) {
|
|
796
667
|
(0, _times.default)(this.dimensionLookup.rows[0].count, n => (n + 1) * columnSubtotalSize - 1).forEach(row => {
|
|
797
668
|
(0, _times.default)(this.dataWidth - (this.doRowTotals ? 1 : 0), n => n).forEach(column => {
|
|
@@ -804,9 +675,9 @@ class PivotTableEngine {
|
|
|
804
675
|
}
|
|
805
676
|
});
|
|
806
677
|
});
|
|
807
|
-
}
|
|
808
|
-
|
|
678
|
+
}
|
|
809
679
|
|
|
680
|
+
// Combined subtotal cells
|
|
810
681
|
if (this.doRowSubtotals && this.doColumnSubtotals && rowSubtotalSize && columnSubtotalSize) {
|
|
811
682
|
(0, _times.default)(this.dimensionLookup.rows[0].count, n => (n + 1) * columnSubtotalSize - 1).forEach(row => {
|
|
812
683
|
(0, _times.default)(this.dimensionLookup.columns[0].count, n => (n + 1) * rowSubtotalSize - 1).forEach(column => {
|
|
@@ -817,7 +688,6 @@ class PivotTableEngine {
|
|
|
817
688
|
});
|
|
818
689
|
});
|
|
819
690
|
}
|
|
820
|
-
|
|
821
691
|
if (this.doRowTotals) {
|
|
822
692
|
const column = this.dataWidth - 1;
|
|
823
693
|
const rowCount = this.doColumnTotals ? this.dataHeight - 1 : this.dataHeight;
|
|
@@ -828,7 +698,6 @@ class PivotTableEngine {
|
|
|
828
698
|
});
|
|
829
699
|
});
|
|
830
700
|
}
|
|
831
|
-
|
|
832
701
|
if (this.doColumnTotals) {
|
|
833
702
|
const row = this.dataHeight - 1;
|
|
834
703
|
const colCount = this.doRowTotals ? this.dataWidth - 1 : this.dataWidth;
|
|
@@ -839,106 +708,87 @@ class PivotTableEngine {
|
|
|
839
708
|
});
|
|
840
709
|
});
|
|
841
710
|
}
|
|
842
|
-
|
|
843
711
|
if (this.doRowTotals && this.doColumnTotals) {
|
|
844
712
|
this.finalizeTotal({
|
|
845
713
|
row: this.dataHeight - 1,
|
|
846
714
|
column: this.dataWidth - 1
|
|
847
715
|
});
|
|
848
716
|
}
|
|
849
|
-
|
|
850
717
|
if (this.percentageTotals) {
|
|
851
718
|
this.percentageTotals.forEach(item => {
|
|
852
719
|
item.value = applyTotalAggregationType(item);
|
|
853
720
|
});
|
|
854
721
|
}
|
|
855
722
|
}
|
|
856
|
-
|
|
857
723
|
resetRowMap() {
|
|
858
724
|
this.rowMap = this.options.hideEmptyRows ? (0, _times.default)(this.dataHeight, n => n).filter(idx => !!this.data[idx]) : (0, _times.default)(this.dataHeight, n => n);
|
|
859
725
|
}
|
|
860
|
-
|
|
861
726
|
resetColumnMap() {
|
|
862
727
|
this.columnMap = this.options.hideEmptyColumns ? (0, _times.default)(this.dataWidth, n => n).filter(idx => !this.columnIsEmpty(idx)) : (0, _times.default)(this.dataWidth, n => n);
|
|
863
728
|
}
|
|
864
|
-
|
|
865
729
|
get cellPadding() {
|
|
866
730
|
switch (this.visualization.displayDensity) {
|
|
867
731
|
case _pivotTableConstants.DISPLAY_DENSITY_OPTION_COMPACT:
|
|
868
732
|
return _pivotTableConstants.DISPLAY_DENSITY_PADDING_COMPACT;
|
|
869
|
-
|
|
870
733
|
case _pivotTableConstants.DISPLAY_DENSITY_OPTION_COMFORTABLE:
|
|
871
734
|
return _pivotTableConstants.DISPLAY_DENSITY_PADDING_COMFORTABLE;
|
|
872
|
-
|
|
873
735
|
case _pivotTableConstants.DISPLAY_DENSITY_OPTION_NORMAL:
|
|
874
736
|
default:
|
|
875
737
|
return _pivotTableConstants.DISPLAY_DENSITY_PADDING_NORMAL;
|
|
876
738
|
}
|
|
877
739
|
}
|
|
878
|
-
|
|
879
740
|
get fontSize() {
|
|
880
741
|
switch (this.visualization.fontSize) {
|
|
881
742
|
case _pivotTableConstants.FONT_SIZE_OPTION_SMALL:
|
|
882
743
|
return _pivotTableConstants.FONT_SIZE_SMALL;
|
|
883
|
-
|
|
884
744
|
case _pivotTableConstants.FONT_SIZE_OPTION_LARGE:
|
|
885
745
|
return _pivotTableConstants.FONT_SIZE_LARGE;
|
|
886
|
-
|
|
887
746
|
case _pivotTableConstants.FONT_SIZE_OPTION_NORMAL:
|
|
888
747
|
default:
|
|
889
748
|
return _pivotTableConstants.FONT_SIZE_NORMAL;
|
|
890
749
|
}
|
|
891
750
|
}
|
|
892
|
-
|
|
893
751
|
get scrollIconBuffer() {
|
|
894
752
|
switch (this.visualization.fontSize) {
|
|
895
753
|
case _pivotTableConstants.FONT_SIZE_OPTION_SMALL:
|
|
896
754
|
return 11;
|
|
897
|
-
|
|
898
755
|
case _pivotTableConstants.FONT_SIZE_OPTION_LARGE:
|
|
899
756
|
return 15;
|
|
900
|
-
|
|
901
757
|
case _pivotTableConstants.FONT_SIZE_OPTION_NORMAL:
|
|
902
758
|
default:
|
|
903
759
|
return 13;
|
|
904
760
|
}
|
|
905
761
|
}
|
|
906
|
-
|
|
907
762
|
buildMatrix() {
|
|
908
763
|
this.data = [];
|
|
909
764
|
this.adaptiveClippingController.reset();
|
|
910
765
|
this.dataHeight = this.rawDataHeight = countFromDisaggregates(this.dimensionLookup.rows);
|
|
911
|
-
this.dataWidth = this.rawDataWidth = countFromDisaggregates(this.dimensionLookup.columns);
|
|
766
|
+
this.dataWidth = this.rawDataWidth = countFromDisaggregates(this.dimensionLookup.columns);
|
|
912
767
|
|
|
768
|
+
// TODO: Check last row/col dimension for size===1, skip redundant sub-totals
|
|
913
769
|
this.doRowSubtotals = this.options.showRowSubtotals && this.columnDepth > 1;
|
|
914
770
|
this.doColumnSubtotals = this.options.showColumnSubtotals && this.rowDepth > 1;
|
|
915
771
|
this.doRowTotals = this.options.showRowTotals && this.dataWidth > 1;
|
|
916
772
|
this.doColumnTotals = this.options.showColumnTotals && this.dataHeight > 1;
|
|
917
|
-
|
|
918
773
|
if (this.doRowSubtotals) {
|
|
919
774
|
this.dataWidth += this.dimensionLookup.columns[0].count;
|
|
920
775
|
}
|
|
921
|
-
|
|
922
776
|
if (this.doColumnSubtotals) {
|
|
923
777
|
this.dataHeight += this.dimensionLookup.rows[0].count;
|
|
924
778
|
}
|
|
925
|
-
|
|
926
779
|
if (this.doRowTotals) {
|
|
927
780
|
this.dataWidth += 1;
|
|
928
781
|
}
|
|
929
|
-
|
|
930
782
|
if (this.doColumnTotals) {
|
|
931
783
|
this.dataHeight += 1;
|
|
932
|
-
}
|
|
933
|
-
|
|
784
|
+
}
|
|
934
785
|
|
|
786
|
+
// TODO: Use total cell calculation, don't duplicate here
|
|
935
787
|
if (this.visualization.numberType === _pivotTableConstants.NUMBER_TYPE_ROW_PERCENTAGE || this.visualization.numberType === _pivotTableConstants.NUMBER_TYPE_COLUMN_PERCENTAGE) {
|
|
936
788
|
this.percentageTotals = [];
|
|
937
789
|
}
|
|
938
|
-
|
|
939
790
|
this.rawData.rows.forEach(dataRow => {
|
|
940
791
|
const pos = lookup(dataRow, this.dimensionLookup, this);
|
|
941
|
-
|
|
942
792
|
if (pos) {
|
|
943
793
|
this.data[pos.row] = this.data[pos.row] || [];
|
|
944
794
|
this.data[pos.row][pos.column] = dataRow;
|
|
@@ -948,7 +798,6 @@ class PivotTableEngine {
|
|
|
948
798
|
this.finalizeTotals();
|
|
949
799
|
this.rawData.rows.forEach(dataRow => {
|
|
950
800
|
const pos = lookup(dataRow, this.dimensionLookup, this);
|
|
951
|
-
|
|
952
801
|
if (pos) {
|
|
953
802
|
this.adaptiveClippingController.add(pos, this.getRaw(pos).renderedValue);
|
|
954
803
|
}
|
|
@@ -959,50 +808,39 @@ class PivotTableEngine {
|
|
|
959
808
|
this.width = this.columnMap.length;
|
|
960
809
|
this.adaptiveClippingController.finalize();
|
|
961
810
|
}
|
|
962
|
-
|
|
963
811
|
getColumnType(column) {
|
|
964
812
|
column = this.columnMap[column];
|
|
965
|
-
|
|
966
813
|
if (!column && column !== 0) {
|
|
967
814
|
return undefined;
|
|
968
815
|
}
|
|
969
|
-
|
|
970
816
|
if (this.doRowSubtotals && (column + 1) % (this.dimensionLookup.columns[0].size + 1) === 0) {
|
|
971
817
|
return _pivotTableConstants.CELL_TYPE_SUBTOTAL;
|
|
972
818
|
}
|
|
973
|
-
|
|
974
819
|
if (this.doRowTotals && column === this.dataWidth - 1) {
|
|
975
820
|
return _pivotTableConstants.CELL_TYPE_TOTAL;
|
|
976
821
|
}
|
|
977
|
-
|
|
978
822
|
return _pivotTableConstants.CELL_TYPE_VALUE;
|
|
979
823
|
}
|
|
980
|
-
|
|
981
824
|
isSortable(column) {
|
|
982
825
|
return this.dataHeight > 1 && !this.doColumnSubtotals && this.getColumnType(column) !== undefined;
|
|
983
826
|
}
|
|
984
|
-
|
|
985
827
|
sort(column, order) {
|
|
986
828
|
if (order !== _pivotTableConstants.SORT_ORDER_ASCENDING && order !== _pivotTableConstants.SORT_ORDER_DESCENDING) {
|
|
987
|
-
console.warn(
|
|
829
|
+
console.warn(`Invalid sort order ${order}`);
|
|
988
830
|
return;
|
|
989
831
|
}
|
|
990
|
-
|
|
991
832
|
if (!this.isSortable(column)) {
|
|
992
|
-
console.warn(
|
|
833
|
+
console.warn(`Invalid sort column ${column}`);
|
|
993
834
|
return;
|
|
994
835
|
}
|
|
995
|
-
|
|
996
836
|
const mappedColumn = this.columnMap[column];
|
|
997
837
|
this.rowMap.sort((rowA, rowB) => {
|
|
998
838
|
if (this.doColumnTotals && rowA === this.dataHeight - 1) {
|
|
999
839
|
return 1;
|
|
1000
840
|
}
|
|
1001
|
-
|
|
1002
841
|
if (this.doColumnTotals && rowB === this.dataHeight - 1) {
|
|
1003
842
|
return -1;
|
|
1004
843
|
}
|
|
1005
|
-
|
|
1006
844
|
const valueA = this.getRaw({
|
|
1007
845
|
row: rowA,
|
|
1008
846
|
column: mappedColumn
|
|
@@ -1011,33 +849,25 @@ class PivotTableEngine {
|
|
|
1011
849
|
row: rowB,
|
|
1012
850
|
column: mappedColumn
|
|
1013
851
|
});
|
|
1014
|
-
|
|
1015
852
|
if ((!valueA || valueA.empty) && (!valueB || valueB.empty)) {
|
|
1016
853
|
return 0;
|
|
1017
854
|
}
|
|
1018
|
-
|
|
1019
855
|
if (!valueA || valueA.empty) {
|
|
1020
856
|
return -1 * order;
|
|
1021
857
|
}
|
|
1022
|
-
|
|
1023
858
|
if (!valueB || valueB.empty) {
|
|
1024
859
|
return 1 * order;
|
|
1025
860
|
}
|
|
1026
|
-
|
|
1027
861
|
if (valueA.valueType === _valueTypes.VALUE_TYPE_NUMBER && valueB.valueType === _valueTypes.VALUE_TYPE_NUMBER) {
|
|
1028
862
|
return (valueA.rawValue - valueB.rawValue) * order;
|
|
1029
863
|
}
|
|
1030
|
-
|
|
1031
864
|
return valueA.renderedValue.localeCompare(valueB.renderedValue) * order;
|
|
1032
865
|
});
|
|
1033
866
|
this.adaptiveClippingController.resetRowPartitions();
|
|
1034
867
|
}
|
|
1035
|
-
|
|
1036
868
|
clearSort() {
|
|
1037
869
|
this.resetRowMap();
|
|
1038
870
|
this.adaptiveClippingController.resetRowPartitions();
|
|
1039
871
|
}
|
|
1040
|
-
|
|
1041
872
|
}
|
|
1042
|
-
|
|
1043
873
|
exports.PivotTableEngine = PivotTableEngine;
|