@dhis2/analytics 26.0.8 → 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/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/modules/__tests__/expressions.spec.js +4 -3
- package/build/es/modules/__tests__/getColorByValueFromLegendSet.spec.js +1 -1
- package/build/es/modules/__tests__/renderValue.spec.js +19 -10
- package/build/es/modules/axis.js +1 -8
- package/build/es/modules/dataTypes.js +0 -3
- package/build/es/modules/dimensionListItem.js +0 -12
- package/build/es/modules/expressions.js +2 -6
- package/build/es/modules/fontStyle.js +16 -16
- package/build/es/modules/getAdaptedUiLayoutByType.js +7 -22
- package/build/es/modules/getOuLevelAndGroupText.js +0 -10
- package/build/es/modules/hash.js +0 -3
- package/build/es/modules/layout/__tests__/layoutHasDataDimension.spec.js +2 -1
- package/build/es/modules/layout/__tests__/layoutHasDimension.spec.js +2 -1
- package/build/es/modules/layout/__tests__/layoutHasDynamicDimension.spec.js +2 -1
- package/build/es/modules/layout/__tests__/layoutHasPeriodDimension.spec.js +2 -1
- package/build/es/modules/layout/axis.js +6 -2
- package/build/es/modules/layout/dimension.js +6 -2
- package/build/es/modules/layout/dimensionGetId.js +1 -2
- package/build/es/modules/layout/dimensionIsValid.js +0 -5
- package/build/es/modules/layout/item.js +6 -2
- package/build/es/modules/layout/itemIsValid.js +0 -1
- package/build/es/modules/layout/layoutGetAxisIdDimensionIdsObject.js +0 -1
- package/build/es/modules/layout/layoutReplaceDimension.js +0 -3
- package/build/es/modules/layout/testResources.js +12 -4
- package/build/es/modules/layoutUiRules/__tests__/rules.spec.js +8 -12
- package/build/es/modules/layoutUiRules/rules.js +11 -11
- package/build/es/modules/layoutUiRules/rulesHelper.js +3 -1
- package/build/es/modules/layoutUiRules/rulesUtils.js +6 -4
- package/build/es/modules/legends.js +0 -2
- package/build/es/modules/ouIdHelper/index.js +2 -8
- package/build/es/modules/ouLevelUtils/index.js +0 -7
- package/build/es/modules/outliers/index.js +6 -17
- package/build/es/modules/outliers/iqr.js +0 -9
- package/build/es/modules/outliers/modZScore.js +13 -9
- package/build/es/modules/outliers/normalization.js +3 -5
- package/build/es/modules/outliers/xyStats.js +0 -2
- package/build/es/modules/outliers/zScore.js +0 -2
- package/build/es/modules/pivotTable/AdaptiveClippingController.js +4 -29
- package/build/es/modules/pivotTable/PivotTableEngine.js +20 -179
- package/build/es/modules/pivotTable/applyLegendSet.js +0 -19
- package/build/es/modules/pivotTable/clipAxis.js +3 -2
- package/build/es/modules/pivotTable/clipPartitionedAxis.js +0 -6
- package/build/es/modules/pivotTable/getHeaderForDisplay.js +0 -7
- package/build/es/modules/pivotTable/isColorBright.js +0 -4
- package/build/es/modules/pivotTable/measureText.js +5 -18
- package/build/es/modules/pivotTable/parseValue.js +0 -2
- package/build/es/modules/pivotTable/useParentSize.js +0 -5
- package/build/es/modules/pivotTable/useScrollPosition.js +0 -2
- package/build/es/modules/pivotTable/useSortableColumns.js +0 -3
- package/build/es/modules/predefinedDimensions.js +2 -1
- package/build/es/modules/renderValue.js +0 -15
- package/build/es/modules/valueTypes.js +1 -0
- package/build/es/modules/visTypes.js +1 -3
- package/build/es/visualizations/config/adapters/dhis_dhis/index.js +2 -2
- package/build/es/visualizations/config/adapters/dhis_dhis/subtitle/index.js +0 -7
- package/build/es/visualizations/config/adapters/dhis_dhis/title/index.js +0 -6
- package/build/es/visualizations/config/adapters/dhis_dhis/title/singleValue.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_dhis/type.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_dhis/value/index.js +3 -3
- package/build/es/visualizations/config/adapters/dhis_highcharts/addTrendLines.js +30 -101
- package/build/es/visualizations/config/adapters/dhis_highcharts/axis.js +6 -19
- package/build/es/visualizations/config/adapters/dhis_highcharts/chart.js +0 -2
- package/build/es/visualizations/config/adapters/dhis_highcharts/customAxes.js +8 -7
- package/build/es/visualizations/config/adapters/dhis_highcharts/getAxisTitle.js +1 -3
- package/build/es/visualizations/config/adapters/dhis_highcharts/getCumulativeData.js +6 -11
- package/build/es/visualizations/config/adapters/dhis_highcharts/getScatterData.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/getSortedConfig.js +7 -12
- package/build/es/visualizations/config/adapters/dhis_highcharts/getStackedData.js +0 -2
- package/build/es/visualizations/config/adapters/dhis_highcharts/getTextAlignOption.js +0 -4
- package/build/es/visualizations/config/adapters/dhis_highcharts/getTrimmedConfig.js +4 -26
- package/build/es/visualizations/config/adapters/dhis_highcharts/getTwoCategorySplitSerieData.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/index.js +21 -32
- package/build/es/visualizations/config/adapters/dhis_highcharts/legend.js +1 -4
- package/build/es/visualizations/config/adapters/dhis_highcharts/legendSet.js +5 -6
- package/build/es/visualizations/config/adapters/dhis_highcharts/pane/index.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/plotOptions.js +1 -9
- package/build/es/visualizations/config/adapters/dhis_highcharts/series/gauge.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/series/index.js +13 -32
- package/build/es/visualizations/config/adapters/dhis_highcharts/series/scatter.js +9 -6
- package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/gauge.js +2 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/subtitle/index.js +3 -10
- package/build/es/visualizations/config/adapters/dhis_highcharts/title/index.js +1 -9
- package/build/es/visualizations/config/adapters/dhis_highcharts/title/scatter.js +1 -2
- package/build/es/visualizations/config/adapters/dhis_highcharts/title/yearOverYear.js +0 -3
- package/build/es/visualizations/config/adapters/dhis_highcharts/type.js +0 -7
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/index.js +1 -11
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/radar.js +0 -3
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/scatter.js +0 -1
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/twoCategory.js +4 -3
- package/build/es/visualizations/config/adapters/dhis_highcharts/xAxis/yearOnYear.js +0 -4
- package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/gauge.js +3 -14
- package/build/es/visualizations/config/adapters/dhis_highcharts/yAxis/index.js +8 -23
- package/build/es/visualizations/config/generators/dhis/index.js +0 -4
- package/build/es/visualizations/config/generators/dhis/singleValue.js +42 -67
- package/build/es/visualizations/config/generators/highcharts/index.js +11 -15
- package/build/es/visualizations/config/index.js +9 -15
- package/build/es/visualizations/config/validators/index.js +0 -2
- package/build/es/visualizations/index.js +0 -6
- package/build/es/visualizations/store/adapters/dhis_dhis/index.js +3 -9
- package/build/es/visualizations/store/adapters/dhis_highcharts/index.js +8 -17
- package/build/es/visualizations/store/adapters/dhis_highcharts/pie.js +0 -1
- package/build/es/visualizations/store/adapters/dhis_highcharts/twoCategory.js +5 -4
- package/build/es/visualizations/store/adapters/dhis_highcharts/yearOnYear.js +3 -3
- package/build/es/visualizations/store/index.js +2 -8
- package/build/es/visualizations/store/validators/dhis/index.js +6 -17
- package/build/es/visualizations/store/validators/index.js +0 -2
- package/build/es/visualizations/util/axisId.js +1 -1
- package/build/es/visualizations/util/colors/gradientColorGenerator.js +3 -8
- package/build/es/visualizations/util/getFilterText.js +4 -7
- package/package.json +6 -7
|
@@ -1,38 +1,34 @@
|
|
|
1
1
|
import { ALL_AXIS_IDS } from '../../layout/axis.js';
|
|
2
2
|
import { DIMENSION_ID_DATA, DIMENSION_ID_ORGUNIT, DIMENSION_ID_PERIOD } from '../../predefinedDimensions.js';
|
|
3
|
-
import { testResourceRules, testResourceRequiredProps, testResourceAllRuleProps } from '../rules.js';
|
|
3
|
+
import { testResourceRules, testResourceRequiredProps, testResourceAllRuleProps } from '../rules.js';
|
|
4
4
|
|
|
5
|
+
// Consts
|
|
5
6
|
const lockableDims = [DIMENSION_ID_DATA, DIMENSION_ID_PERIOD, DIMENSION_ID_ORGUNIT];
|
|
6
|
-
const disallowableDims = [DIMENSION_ID_DATA, DIMENSION_ID_PERIOD];
|
|
7
|
+
const disallowableDims = [DIMENSION_ID_DATA, DIMENSION_ID_PERIOD];
|
|
7
8
|
|
|
9
|
+
// Helper fns
|
|
8
10
|
const allArrayItemsAreValid = (allItems, validItems) => allItems.every(value => validItems.includes(value));
|
|
9
|
-
|
|
10
11
|
const allArrayItemsAreValidAxisIds = array => allArrayItemsAreValid(array, ALL_AXIS_IDS);
|
|
12
|
+
const onlyRulesWithProp = ruleProp => testResourceRules.filter(rule => rule[ruleProp]);
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
// Partial tests
|
|
15
15
|
const testPropHasKeysAndValues = ruleProp => it('has keys and values', () => {
|
|
16
16
|
expect(onlyRulesWithProp(ruleProp).every(rule => Object.keys(rule[ruleProp]).length && Object.values(rule[ruleProp]).length)).toBe(true);
|
|
17
17
|
});
|
|
18
|
-
|
|
19
18
|
const testPropIsArray = ruleProp => it('is an array', () => {
|
|
20
19
|
expect(onlyRulesWithProp(ruleProp).every(rule => Array.isArray(rule[ruleProp]))).toBe(true);
|
|
21
20
|
});
|
|
22
|
-
|
|
23
21
|
const testKeysAreValidAxisIds = ruleProp => it('keys should be valid axis ids', () => {
|
|
24
22
|
expect(onlyRulesWithProp(ruleProp).every(rule => allArrayItemsAreValidAxisIds(Object.keys(rule[ruleProp])))).toBe(true);
|
|
25
23
|
});
|
|
26
|
-
|
|
27
24
|
const testNoValuesZero = ruleProp => it('values should not be 0', () => {
|
|
28
25
|
expect(onlyRulesWithProp(ruleProp).every(rule => Object.values(rule[ruleProp]).every(value => value !== 0))).toBe(true);
|
|
29
26
|
});
|
|
30
|
-
|
|
31
27
|
const testNoValuesNegative = ruleProp => it('values should not be negative', () => {
|
|
32
28
|
expect(onlyRulesWithProp(ruleProp).every(rule => Object.values(rule[ruleProp]).every(value => value >= 0))).toBe(true);
|
|
33
|
-
});
|
|
34
|
-
|
|
29
|
+
});
|
|
35
30
|
|
|
31
|
+
// Test implementations
|
|
36
32
|
describe('verify test resource', () => {
|
|
37
33
|
it('testResourceRules is array', () => {
|
|
38
34
|
expect(Array.isArray(testResourceRules)).toBe(true);
|
|
@@ -2,11 +2,11 @@ import { AXIS_ID_COLUMNS, AXIS_ID_ROWS, AXIS_ID_FILTERS } from '../layout/axis.j
|
|
|
2
2
|
import { DIMENSION_ID_PERIOD, DIMENSION_ID_DATA, DIMENSION_ID_ORGUNIT } from '../predefinedDimensions.js';
|
|
3
3
|
import { VIS_TYPE_COLUMN, VIS_TYPE_STACKED_COLUMN, VIS_TYPE_BAR, VIS_TYPE_STACKED_BAR, VIS_TYPE_LINE, VIS_TYPE_AREA, VIS_TYPE_STACKED_AREA, VIS_TYPE_RADAR, VIS_TYPE_GAUGE, VIS_TYPE_PIE, VIS_TYPE_SINGLE_VALUE, VIS_TYPE_YEAR_OVER_YEAR_LINE, VIS_TYPE_YEAR_OVER_YEAR_COLUMN, VIS_TYPE_PIVOT_TABLE, VIS_TYPE_SCATTER, VIS_TYPE_LINE_LIST } from '../visTypes.js';
|
|
4
4
|
const RULE_PROP_AVAILABLE_AXES = 'availableAxes',
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
RULE_PROP_MAX_DIMS_PER_AXIS = 'maxNumberOfDimsPerAxis',
|
|
6
|
+
RULE_PROP_MIN_DIMS_PER_AXIS = 'minNumberOfDimsPerAxis',
|
|
7
|
+
RULE_PROP_MAX_ITEMS_PER_AXIS = 'maxNumberOfItemsPerAxis',
|
|
8
|
+
RULE_PROP_DISALLOWED_DIMS = 'disallowedDims',
|
|
9
|
+
RULE_PROP_LOCKED_DIMS = 'lockedDims';
|
|
10
10
|
const defaultRules = {
|
|
11
11
|
[RULE_PROP_AVAILABLE_AXES]: [AXIS_ID_COLUMNS, AXIS_ID_ROWS, AXIS_ID_FILTERS],
|
|
12
12
|
[RULE_PROP_MAX_DIMS_PER_AXIS]: {
|
|
@@ -100,24 +100,24 @@ const visTypeToRules = {
|
|
|
100
100
|
[VIS_TYPE_SCATTER]: scatterRules,
|
|
101
101
|
[VIS_TYPE_LINE_LIST]: lineListRules
|
|
102
102
|
};
|
|
103
|
-
|
|
104
103
|
const getRulesByVisType = visType => {
|
|
105
104
|
const rules = visTypeToRules[visType];
|
|
106
|
-
|
|
107
105
|
if (!rules) {
|
|
108
|
-
throw new Error(
|
|
106
|
+
throw new Error(`${visType} is not a known visualization type`);
|
|
109
107
|
}
|
|
110
|
-
|
|
111
108
|
return rules;
|
|
112
|
-
};
|
|
109
|
+
};
|
|
113
110
|
|
|
111
|
+
// Selectors
|
|
114
112
|
|
|
115
113
|
export const getAvailableAxesByVisType = visType => getRulesByVisType(visType)[RULE_PROP_AVAILABLE_AXES] || [];
|
|
116
114
|
export const getMaxNumberOfDimsPerAxisByVisType = visType => getRulesByVisType(visType)[RULE_PROP_MAX_DIMS_PER_AXIS] || {};
|
|
117
115
|
export const getMinNumberOfDimsPerAxisByVisType = visType => getRulesByVisType(visType)[RULE_PROP_MIN_DIMS_PER_AXIS] || {};
|
|
118
116
|
export const getMaxNumberOfItemsPerAxisByVisType = visType => getRulesByVisType(visType)[RULE_PROP_MAX_ITEMS_PER_AXIS] || {};
|
|
119
117
|
export const getDisallowedDimsByVisType = visType => getRulesByVisType(visType)[RULE_PROP_DISALLOWED_DIMS] || [];
|
|
120
|
-
export const getLockedDimsByVisType = visType => getRulesByVisType(visType)[RULE_PROP_LOCKED_DIMS] || {};
|
|
118
|
+
export const getLockedDimsByVisType = visType => getRulesByVisType(visType)[RULE_PROP_LOCKED_DIMS] || {};
|
|
119
|
+
|
|
120
|
+
// Test exports
|
|
121
121
|
|
|
122
122
|
export const testResourceRequiredProps = [RULE_PROP_AVAILABLE_AXES];
|
|
123
123
|
export const testResourceRules = [...new Set(Object.values(visTypeToRules))];
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { getMaxNumberOfItemsPerAxisByVisType, getMaxNumberOfDimsPerAxisByVisType, getMinNumberOfDimsPerAxisByVisType, getLockedDimsByVisType } from './rules.js';
|
|
1
|
+
import { getMaxNumberOfItemsPerAxisByVisType, getMaxNumberOfDimsPerAxisByVisType, getMinNumberOfDimsPerAxisByVisType, getLockedDimsByVisType } from './rules.js';
|
|
2
|
+
|
|
3
|
+
// Selectors
|
|
2
4
|
|
|
3
5
|
export { getAvailableAxesByVisType, getDisallowedDimsByVisType } from './rules.js';
|
|
4
6
|
export const getAxisMaxNumberOfItemsByVisType = (visType, axisId) => getMaxNumberOfItemsPerAxisByVisType(visType)[axisId];
|
|
@@ -8,18 +8,20 @@ export const isDimensionLockedByVisType = (visType, dimensionId) => getAllLocked
|
|
|
8
8
|
export const isAxisFullByVisType = (visType, axisId, axisDimensionsCount) => axisDimensionsCount >= getAxisMaxNumberOfDimsByVisType(visType, axisId);
|
|
9
9
|
export const canDimensionBeAddedToAxisByVisType = (visType, axis, axisId) => {
|
|
10
10
|
const axisIsFull = isAxisFullByVisType(visType, axisId, axis.length);
|
|
11
|
-
const transferableDimension = getTransferableDimensionPerAxisByVisType(visType, axisId, axis);
|
|
11
|
+
const transferableDimension = getTransferableDimensionPerAxisByVisType(visType, axisId, axis);
|
|
12
|
+
|
|
13
|
+
// 1 dimension allowed in axis
|
|
12
14
|
// 1 dimension is already present and not locked
|
|
13
15
|
// the dragged one can be added and will cause the old one to be moved to filters
|
|
14
16
|
// what happens with max limit > 1, axis full and 1 or more locked dimensions?
|
|
15
|
-
|
|
16
17
|
return !(axisIsFull && !transferableDimension);
|
|
17
18
|
};
|
|
18
19
|
export const getTransferableDimensionPerAxisByVisType = (visType, axisId, axis) => {
|
|
19
20
|
const lockedDimsByVisType = getLockedDimsByVisType(visType);
|
|
20
|
-
const lockedDimIdsByAxis = Object.keys(lockedDimsByVisType).filter(dimId => lockedDimsByVisType[dimId] === axisId);
|
|
21
|
+
const lockedDimIdsByAxis = Object.keys(lockedDimsByVisType).filter(dimId => lockedDimsByVisType[dimId] === axisId);
|
|
22
|
+
|
|
23
|
+
// return the last "transferable" dimension, this needs to be adjusted
|
|
21
24
|
// if we allow a defined max limit > 1 and the DND wants to drop the new
|
|
22
25
|
// dimension in a specific position
|
|
23
|
-
|
|
24
26
|
return axis.filter(dimId => !lockedDimIdsByAxis.includes(dimId)).pop();
|
|
25
27
|
};
|
|
@@ -4,7 +4,6 @@ export const LEGEND_DISPLAY_STYLE_FILL = 'FILL';
|
|
|
4
4
|
export const LEGEND_DISPLAY_STYLE_TEXT = 'TEXT';
|
|
5
5
|
export const getLegendByValueFromLegendSet = (legendSet, value) => {
|
|
6
6
|
var _legendSet$legends;
|
|
7
|
-
|
|
8
7
|
return Number.isInteger(parseInt(value)) ? legendSet === null || legendSet === void 0 ? void 0 : (_legendSet$legends = legendSet.legends) === null || _legendSet$legends === void 0 ? void 0 : _legendSet$legends.find(legend => value >= legend.startValue && value < legend.endValue // TODO: Confirm inclusive/exclusive bounds
|
|
9
8
|
) : null;
|
|
10
9
|
};
|
|
@@ -18,7 +17,6 @@ export const getLegendSetByDisplayStrategy = _ref => {
|
|
|
18
17
|
legendSets,
|
|
19
18
|
legendSetId
|
|
20
19
|
} = _ref;
|
|
21
|
-
|
|
22
20
|
if (displayStrategy === LEGEND_DISPLAY_STRATEGY_FIXED && legendSets.length) {
|
|
23
21
|
return legendSets[0];
|
|
24
22
|
} else if (displayStrategy === LEGEND_DISPLAY_STRATEGY_BY_DATA_ITEM) {
|
|
@@ -3,20 +3,14 @@ const GROUP_ID_PREFIX = 'OU_GROUP';
|
|
|
3
3
|
export const USER_ORG_UNIT = 'USER_ORGUNIT';
|
|
4
4
|
export const USER_ORG_UNIT_CHILDREN = 'USER_ORGUNIT_CHILDREN';
|
|
5
5
|
export const USER_ORG_UNIT_GRANDCHILDREN = 'USER_ORGUNIT_GRANDCHILDREN';
|
|
6
|
-
|
|
7
6
|
const hasGroupPrefix = id => id.substr(0, GROUP_ID_PREFIX.length) === GROUP_ID_PREFIX;
|
|
8
|
-
|
|
9
7
|
const hasLevelPrefix = id => id.substr(0, LEVEL_ID_PREFIX.length) === LEVEL_ID_PREFIX;
|
|
10
|
-
|
|
11
8
|
const stripLevelPrefix = id => hasLevelPrefix(id) ? id.substr(LEVEL_ID_PREFIX.length + 1) : id;
|
|
12
|
-
|
|
13
9
|
const stripGroupPrefix = id => hasGroupPrefix(id) ? id.substr(GROUP_ID_PREFIX.length + 1) : id;
|
|
14
|
-
|
|
15
10
|
const removePrefix = id => stripGroupPrefix(stripLevelPrefix(id));
|
|
16
|
-
|
|
17
11
|
export const ouIdHelper = Object.freeze({
|
|
18
|
-
addLevelPrefix: id =>
|
|
19
|
-
addGroupPrefix: id =>
|
|
12
|
+
addLevelPrefix: id => `${LEVEL_ID_PREFIX}-${removePrefix(id)}`,
|
|
13
|
+
addGroupPrefix: id => `${GROUP_ID_PREFIX}-${removePrefix(id)}`,
|
|
20
14
|
removePrefix,
|
|
21
15
|
hasGroupPrefix,
|
|
22
16
|
hasLevelPrefix
|
|
@@ -3,32 +3,25 @@ import { layoutGetDimension } from '../layout/layoutGetDimension.js';
|
|
|
3
3
|
import { layoutReplaceDimension } from '../layout/layoutReplaceDimension.js';
|
|
4
4
|
import { ouIdHelper } from '../ouIdHelper/index.js';
|
|
5
5
|
import { DIMENSION_ID_ORGUNIT } from '../predefinedDimensions.js';
|
|
6
|
-
|
|
7
6
|
const isOuLevelIntId = id => ouIdHelper.hasLevelPrefix(id) ? Number.isInteger(parseInt(ouIdHelper.removePrefix(id), 10)) : false;
|
|
8
|
-
|
|
9
7
|
const replaceNumericOuLevelWithUid = ouLevels => item => {
|
|
10
8
|
var _ouLevels$find;
|
|
11
|
-
|
|
12
9
|
if (!isOuLevelIntId(item.id)) {
|
|
13
10
|
return item;
|
|
14
11
|
}
|
|
15
|
-
|
|
16
12
|
const ouIntId = parseInt(ouIdHelper.removePrefix(item.id), 10);
|
|
17
13
|
const ouUid = (_ouLevels$find = ouLevels.find(l => parseInt(l.level, 10) === ouIntId)) === null || _ouLevels$find === void 0 ? void 0 : _ouLevels$find.id;
|
|
18
14
|
return ouUid ? Object.assign({}, item, {
|
|
19
15
|
id: ouIdHelper.addLevelPrefix(ouUid)
|
|
20
16
|
}) : item;
|
|
21
17
|
};
|
|
22
|
-
|
|
23
18
|
export const convertOuLevelsToUids = (ouLevels, layout) => {
|
|
24
19
|
const ouDimension = layoutGetDimension(layout, DIMENSION_ID_ORGUNIT);
|
|
25
20
|
const hasNumericOuLevels = ouDimension && dimensionGetItems(ouDimension).some(item => isOuLevelIntId(item.id));
|
|
26
|
-
|
|
27
21
|
if (hasNumericOuLevels) {
|
|
28
22
|
const replaceNumericOuLevel = replaceNumericOuLevelWithUid(ouLevels);
|
|
29
23
|
const updatedOuItems = dimensionGetItems(ouDimension).map(replaceNumericOuLevel);
|
|
30
24
|
return layoutReplaceDimension(layout, DIMENSION_ID_ORGUNIT, updatedOuItems);
|
|
31
25
|
}
|
|
32
|
-
|
|
33
26
|
return layout;
|
|
34
27
|
};
|
|
@@ -27,14 +27,11 @@ export const defaultConfig = {
|
|
|
27
27
|
[PROP_EXTREME_LINES_VALUE]: DEFAULT_EXTREME_LINES_VALUE
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
|
-
|
|
31
30
|
const getExtremeLines = (percentage, xyStats) => {
|
|
32
31
|
const lines = [];
|
|
33
|
-
|
|
34
32
|
if (!isNumeric(percentage)) {
|
|
35
33
|
return lines;
|
|
36
34
|
}
|
|
37
|
-
|
|
38
35
|
const xExtremeValue = xyStats.xSum * (percentage / 100);
|
|
39
36
|
const yExtremeValue = xyStats.ySum * (percentage / 100);
|
|
40
37
|
lines.push({
|
|
@@ -52,57 +49,49 @@ const getExtremeLines = (percentage, xyStats) => {
|
|
|
52
49
|
});
|
|
53
50
|
return lines;
|
|
54
51
|
};
|
|
55
|
-
|
|
56
52
|
const getMinMaxValue = (outlierHelper, isVertical, isMax) => {
|
|
57
53
|
const prop = (isVertical ? 'y' : 'x') + (isMax ? 'Max' : 'Min');
|
|
58
54
|
const extremeValue = outlierHelper.extremeLines && outlierHelper.extremeLines[isVertical ? 1 : 0].value;
|
|
59
55
|
const extremeFactor = isNumber(extremeValue) && isMax ? extremeValue + Math.abs(extremeValue) * 0.1 : extremeValue - Math.abs(extremeValue) * 0.1;
|
|
60
56
|
return [...outlierHelper.thresholds.map(t => getXYStats([t.line[0], t.line[t.line.length - 1]])[prop]), extremeFactor].filter(isNumeric).sort(isMax ? (a, b) => b - a : (a, b) => a - b)[0];
|
|
61
57
|
};
|
|
62
|
-
|
|
63
58
|
export const getOutlierHelper = function (data) {
|
|
64
59
|
let userConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
65
|
-
|
|
66
60
|
if (data.length < 3) {
|
|
67
61
|
return null;
|
|
68
62
|
}
|
|
69
|
-
|
|
70
|
-
|
|
63
|
+
const config = {
|
|
64
|
+
...defaultConfig,
|
|
71
65
|
...userConfig,
|
|
72
|
-
[PROP_EXTREME_LINES]: {
|
|
66
|
+
[PROP_EXTREME_LINES]: {
|
|
67
|
+
...defaultConfig[PROP_EXTREME_LINES],
|
|
73
68
|
...userConfig[PROP_EXTREME_LINES]
|
|
74
69
|
}
|
|
75
70
|
};
|
|
76
|
-
|
|
77
71
|
if (config[PROP_THRESHOLD_FACTOR] <= 0 && [STANDARD_Z_SCORE, MODIFIED_Z_SCORE].includes(config[PROP_OUTLIER_METHOD])) {
|
|
78
72
|
return null;
|
|
79
73
|
}
|
|
80
|
-
|
|
81
74
|
const normalizationHelper = getNormalizationHelper(data, config.normalizationMethod);
|
|
82
75
|
const options = {
|
|
83
76
|
xyStats: getXYStats(data)
|
|
84
77
|
};
|
|
85
78
|
let helper;
|
|
86
|
-
|
|
87
79
|
switch (config[PROP_OUTLIER_METHOD]) {
|
|
88
80
|
case STANDARD_Z_SCORE:
|
|
89
81
|
helper = getZScoreHelper(normalizationHelper, config, options);
|
|
90
82
|
break;
|
|
91
|
-
|
|
92
83
|
case MODIFIED_Z_SCORE:
|
|
93
84
|
helper = getModZScoreHelper(normalizationHelper, config, options);
|
|
94
85
|
break;
|
|
95
|
-
|
|
96
86
|
case IQR:
|
|
97
87
|
default:
|
|
98
88
|
helper = getIQRHelper(normalizationHelper, config, options);
|
|
99
89
|
}
|
|
100
|
-
|
|
101
90
|
if (config[PROP_EXTREME_LINES][PROP_ENABLED] && isNumeric(config[PROP_EXTREME_LINES][PROP_EXTREME_LINES_VALUE])) {
|
|
102
91
|
helper.extremeLines = getExtremeLines(config[PROP_EXTREME_LINES][PROP_EXTREME_LINES_VALUE], options.xyStats);
|
|
103
|
-
}
|
|
104
|
-
|
|
92
|
+
}
|
|
105
93
|
|
|
94
|
+
// undefined means let highcharts decide
|
|
106
95
|
const lineXMin = getMinMaxValue(helper, false, false);
|
|
107
96
|
helper.xAxisMin = lineXMin < 0 && lineXMin < options.xyStats.xMin ? lineXMin : undefined;
|
|
108
97
|
const lineYMin = getMinMaxValue(helper, true, false);
|
|
@@ -6,14 +6,11 @@ export const Q2 = 0.5;
|
|
|
6
6
|
export const Q3 = 0.75;
|
|
7
7
|
export const getQuartilePosition = (data, quartile) => {
|
|
8
8
|
const pos = (data.length + 1) / 4;
|
|
9
|
-
|
|
10
9
|
switch (quartile) {
|
|
11
10
|
case Q3:
|
|
12
11
|
return pos * 3;
|
|
13
|
-
|
|
14
12
|
case Q2:
|
|
15
13
|
return pos * 2;
|
|
16
|
-
|
|
17
14
|
case Q1:
|
|
18
15
|
default:
|
|
19
16
|
return pos;
|
|
@@ -21,18 +18,14 @@ export const getQuartilePosition = (data, quartile) => {
|
|
|
21
18
|
};
|
|
22
19
|
export const getQuartileValue = function (data) {
|
|
23
20
|
let quartile = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Q1;
|
|
24
|
-
|
|
25
21
|
if (data.length < 3) {
|
|
26
22
|
return;
|
|
27
23
|
}
|
|
28
|
-
|
|
29
24
|
const pos = getQuartilePosition(data, quartile);
|
|
30
25
|
const rest = pos % 1;
|
|
31
|
-
|
|
32
26
|
if (rest === 0) {
|
|
33
27
|
return data[pos - 1];
|
|
34
28
|
}
|
|
35
|
-
|
|
36
29
|
var base = Math.floor(pos);
|
|
37
30
|
var diff = data[base] - data[base - 1];
|
|
38
31
|
return data[base - 1] + diff * rest;
|
|
@@ -51,11 +44,9 @@ export const getIQRHelper = (normalizationHelper, config, _ref) => {
|
|
|
51
44
|
const [q1ThresholdLine, q3ThresholdLine] = normalizationHelper.getThresholdLines(q1Threshold, q3Threshold);
|
|
52
45
|
const outlierPoints = [];
|
|
53
46
|
const inlierPoints = [];
|
|
54
|
-
|
|
55
47
|
const detectOutliers = () => normalizationHelper.data.forEach((point, idx) => {
|
|
56
48
|
normalizationHelper.isOutlierByIndex(idx, q1Threshold, q3Threshold) ? outlierPoints.push(point) : inlierPoints.push(point);
|
|
57
49
|
});
|
|
58
|
-
|
|
59
50
|
return {
|
|
60
51
|
name: IQR,
|
|
61
52
|
thresholds: [{
|
|
@@ -8,7 +8,9 @@ export const getMean = values => values.reduce((total, value) => total + value,
|
|
|
8
8
|
export const getMedian = values => {
|
|
9
9
|
const hl = values.length / 2;
|
|
10
10
|
return hl % 1 ? values[Math.floor(hl)] : getMean([values[hl - 1], values[hl]]);
|
|
11
|
-
};
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// Absolute deviation
|
|
12
14
|
|
|
13
15
|
export const getMedianAbsoluteDeviation = function (values) {
|
|
14
16
|
let median = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getMedian(values);
|
|
@@ -17,10 +19,14 @@ export const getMedianAbsoluteDeviation = function (values) {
|
|
|
17
19
|
export const getMeanAbsoluteDeviation = function (values) {
|
|
18
20
|
let mean = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getMean(values);
|
|
19
21
|
return getMean(values.map(value => Math.abs(value - mean)));
|
|
20
|
-
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
// Modified z-scores
|
|
21
25
|
|
|
22
26
|
export const getModZScore = (value, median, medianAD) => MEDIAN_AD_CORRECTION * (value - median) / medianAD;
|
|
23
|
-
export const getModZScoreMAD0 = (value, median, meanAD) => (value - median) / (meanAD * MEAN_AD_CORRECTION);
|
|
27
|
+
export const getModZScoreMAD0 = (value, median, meanAD) => (value - median) / (meanAD * MEAN_AD_CORRECTION);
|
|
28
|
+
|
|
29
|
+
// Thresholds
|
|
24
30
|
|
|
25
31
|
export const getModZScoreThresholds = (thresholdFactor, medianAD, median) => [median - medianAD * thresholdFactor / MEDIAN_AD_CORRECTION, median + medianAD * thresholdFactor / MEDIAN_AD_CORRECTION];
|
|
26
32
|
export const getModZScoreMAD0Thresholds = (thresholdFactor, meanAD, median) => [median - thresholdFactor * meanAD * MEAN_AD_CORRECTION, median + thresholdFactor * meanAD * MEAN_AD_CORRECTION];
|
|
@@ -30,18 +36,18 @@ export const getDataWithZScore = function (dataWithNormalization) {
|
|
|
30
36
|
const median = isNumber(cache.median) ? cache.median : getMedian(normalizedData);
|
|
31
37
|
const medianAD = isNumber(cache.medianAD) ? cache.medianAD : getMedianAbsoluteDeviation();
|
|
32
38
|
let dataWithZScore;
|
|
33
|
-
|
|
34
39
|
if (medianAD === 0) {
|
|
35
40
|
const meanAD = isNumber(cache.meanAD) ? cache.meanAD : getMeanAbsoluteDeviation(normalizedData);
|
|
36
|
-
dataWithZScore = dataWithNormalization.map(obj => ({
|
|
41
|
+
dataWithZScore = dataWithNormalization.map(obj => ({
|
|
42
|
+
...obj,
|
|
37
43
|
zScore: getModZScoreMAD0(obj.normalized, median, meanAD)
|
|
38
44
|
}));
|
|
39
45
|
} else {
|
|
40
|
-
dataWithZScore = dataWithNormalization.map(obj => ({
|
|
46
|
+
dataWithZScore = dataWithNormalization.map(obj => ({
|
|
47
|
+
...obj,
|
|
41
48
|
zScore: getModZScore(obj.normalized, median, medianAD)
|
|
42
49
|
}));
|
|
43
50
|
}
|
|
44
|
-
|
|
45
51
|
return dataWithZScore;
|
|
46
52
|
};
|
|
47
53
|
export const getModZScoreHelper = (normalizationHelper, config, _ref) => {
|
|
@@ -56,11 +62,9 @@ export const getModZScoreHelper = (normalizationHelper, config, _ref) => {
|
|
|
56
62
|
const [lowThresholdLine, highThresholdLine] = normalizationHelper.getThresholdLines(lowThreshold, highThreshold);
|
|
57
63
|
const outlierPoints = [];
|
|
58
64
|
const inlierPoints = [];
|
|
59
|
-
|
|
60
65
|
const detectOutliers = () => normalizationHelper.data.forEach((point, idx) => {
|
|
61
66
|
normalizationHelper.isOutlierByIndex(idx, lowThreshold, highThreshold) ? outlierPoints.push(point) : inlierPoints.push(point);
|
|
62
67
|
});
|
|
63
|
-
|
|
64
68
|
return {
|
|
65
69
|
name: MODIFIED_Z_SCORE,
|
|
66
70
|
thresholds: [{
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { linear } from '../../visualizations/config/adapters/dhis_highcharts/addTrendLines.js';
|
|
2
|
-
export const Y_RESIDUALS_LINEAR = 'Y_RESIDUALS_LINEAR';
|
|
2
|
+
export const Y_RESIDUALS_LINEAR = 'Y_RESIDUALS_LINEAR';
|
|
3
|
+
|
|
4
|
+
// Y residuals
|
|
3
5
|
|
|
4
6
|
const getYResidualsHelper = sortedData => {
|
|
5
7
|
const regression = linear(sortedData);
|
|
@@ -18,15 +20,11 @@ const getYResidualsHelper = sortedData => {
|
|
|
18
20
|
return [low, high];
|
|
19
21
|
}
|
|
20
22
|
};
|
|
21
|
-
|
|
22
23
|
helper.isOutlierByIndex = (idx, lowThreshold, highThreshold) => helper.normalized[idx] < lowThreshold || helper.normalized[idx] > highThreshold;
|
|
23
|
-
|
|
24
24
|
return helper;
|
|
25
25
|
};
|
|
26
|
-
|
|
27
26
|
export const getNormalizationHelper = (data, normalizationMethod) => {
|
|
28
27
|
const sortedData = data.slice().sort((a, b) => a[0] - b[0]);
|
|
29
|
-
|
|
30
28
|
switch (normalizationMethod) {
|
|
31
29
|
case Y_RESIDUALS_LINEAR:
|
|
32
30
|
default:
|
|
@@ -9,7 +9,6 @@ export const getXYStats = points => {
|
|
|
9
9
|
let i;
|
|
10
10
|
let x;
|
|
11
11
|
let y;
|
|
12
|
-
|
|
13
12
|
for (i = 1; i < points.length; i++) {
|
|
14
13
|
x = points[i][0];
|
|
15
14
|
y = points[i][1];
|
|
@@ -20,7 +19,6 @@ export const getXYStats = points => {
|
|
|
20
19
|
yMin = y < yMin ? y : yMin;
|
|
21
20
|
yMax = y > yMax ? y : yMax;
|
|
22
21
|
}
|
|
23
|
-
|
|
24
22
|
return {
|
|
25
23
|
xSum,
|
|
26
24
|
ySum,
|
|
@@ -17,11 +17,9 @@ export const getZScoreHelper = (normalizationHelper, config, _ref) => {
|
|
|
17
17
|
const [lowThresholdLine, highThresholdLine] = normalizationHelper.getThresholdLines(lowZScoreThreshold, highZScoreThreshold);
|
|
18
18
|
const outlierPoints = [];
|
|
19
19
|
const inlierPoints = [];
|
|
20
|
-
|
|
21
20
|
const detectOutliers = () => normalizationHelper.data.forEach((point, idx) => {
|
|
22
21
|
normalizationHelper.isOutlierByIndex(idx, lowZScoreThreshold, highZScoreThreshold) ? outlierPoints.push(point) : inlierPoints.push(point);
|
|
23
22
|
});
|
|
24
|
-
|
|
25
23
|
return {
|
|
26
24
|
name: STANDARD_Z_SCORE,
|
|
27
25
|
thresholds: [{
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
1
|
+
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; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
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); }
|
|
3
4
|
import { measureTextWithWrapping } from './measureText.js';
|
|
4
5
|
import { CLIPPED_AXIS_PARTITION_SIZE_PX, CLIPPED_CELL_MIN_SIZE } from './pivotTableConstants.js';
|
|
5
6
|
export class AdaptiveClippingController {
|
|
6
7
|
constructor(engine) {
|
|
7
8
|
_defineProperty(this, "columns", void 0);
|
|
8
|
-
|
|
9
9
|
_defineProperty(this, "rows", void 0);
|
|
10
|
-
|
|
11
10
|
_defineProperty(this, "engine", void 0);
|
|
12
|
-
|
|
13
11
|
this.engine = engine;
|
|
14
12
|
this.reset();
|
|
15
13
|
}
|
|
16
|
-
|
|
17
14
|
addSize(_ref, _ref2) {
|
|
18
15
|
let {
|
|
19
16
|
row,
|
|
@@ -23,7 +20,6 @@ export class AdaptiveClippingController {
|
|
|
23
20
|
width,
|
|
24
21
|
height
|
|
25
22
|
} = _ref2;
|
|
26
|
-
|
|
27
23
|
if (column >= 0) {
|
|
28
24
|
const columnSize = this.columns.sizes[column] || {
|
|
29
25
|
pre: 0,
|
|
@@ -35,7 +31,6 @@ export class AdaptiveClippingController {
|
|
|
35
31
|
const index = this.engine.rowDepth + column;
|
|
36
32
|
this.columns.headerSizes[index] = Math.max(this.columns.headerSizes[index] || 0, width);
|
|
37
33
|
}
|
|
38
|
-
|
|
39
34
|
if (row >= 0) {
|
|
40
35
|
const rowSize = this.rows.sizes[row] || {
|
|
41
36
|
pre: 0,
|
|
@@ -48,7 +43,6 @@ export class AdaptiveClippingController {
|
|
|
48
43
|
this.rows.headerSizes[index] = Math.max(this.rows.headerSizes[index] || 0, height);
|
|
49
44
|
}
|
|
50
45
|
}
|
|
51
|
-
|
|
52
46
|
add(_ref3, renderedValue) {
|
|
53
47
|
let {
|
|
54
48
|
row,
|
|
@@ -59,7 +53,6 @@ export class AdaptiveClippingController {
|
|
|
59
53
|
column
|
|
60
54
|
}, this.measureText(renderedValue));
|
|
61
55
|
}
|
|
62
|
-
|
|
63
56
|
measureText(renderedValue) {
|
|
64
57
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
65
58
|
return measureTextWithWrapping(renderedValue, {
|
|
@@ -67,33 +60,23 @@ export class AdaptiveClippingController {
|
|
|
67
60
|
...options
|
|
68
61
|
});
|
|
69
62
|
}
|
|
70
|
-
|
|
71
63
|
getCellSize(contentSize) {
|
|
72
|
-
return Math.ceil(contentSize) + this.engine.cellPadding * 2 +
|
|
73
|
-
/*border*/
|
|
74
|
-
2;
|
|
64
|
+
return Math.ceil(contentSize) + this.engine.cellPadding * 2 + /*border*/2;
|
|
75
65
|
}
|
|
76
|
-
|
|
77
66
|
finalizeAxis(axis) {
|
|
78
67
|
axis.headerSize = 0;
|
|
79
68
|
const isColumn = axis.orientation === 'column';
|
|
80
69
|
const map = isColumn ? this.engine.columnMap : this.engine.rowMap;
|
|
81
|
-
|
|
82
70
|
const getHeader = index => isColumn ? this.engine.getRawColumnHeader(index) : this.engine.getRawRowHeader(index);
|
|
83
|
-
|
|
84
71
|
map.forEach((index, mapIndex) => {
|
|
85
72
|
var _axis$sizes$index2;
|
|
86
|
-
|
|
87
73
|
const headerStack = getHeader(index);
|
|
88
74
|
headerStack.forEach((header, level) => {
|
|
89
75
|
const label = this.engine.visualization.showHierarchy && header !== null && header !== void 0 && header.hierarchy ? header.hierarchy.join(' / ') : header === null || header === void 0 ? void 0 : header.name;
|
|
90
|
-
|
|
91
76
|
if (label) {
|
|
92
77
|
const isLeafHeader = level === headerStack.length - 1;
|
|
93
|
-
|
|
94
78
|
if (isColumn) {
|
|
95
79
|
var _axis$sizes$index;
|
|
96
|
-
|
|
97
80
|
const headerSize = this.measureText(label, {
|
|
98
81
|
maxWidth: isLeafHeader ? Math.max(CLIPPED_CELL_MIN_SIZE, ((_axis$sizes$index = axis.sizes[index]) === null || _axis$sizes$index === void 0 ? void 0 : _axis$sizes$index.size) || 0) : 0
|
|
99
82
|
});
|
|
@@ -123,7 +106,6 @@ export class AdaptiveClippingController {
|
|
|
123
106
|
});
|
|
124
107
|
this.populateAxisPartitions(axis);
|
|
125
108
|
}
|
|
126
|
-
|
|
127
109
|
populateAxisPartitions(axis) {
|
|
128
110
|
axis.totalSize = 0;
|
|
129
111
|
axis.partitions = [];
|
|
@@ -135,16 +117,13 @@ export class AdaptiveClippingController {
|
|
|
135
117
|
axis.partitions.push(mapIndex);
|
|
136
118
|
nextPartitionPx += CLIPPED_AXIS_PARTITION_SIZE_PX;
|
|
137
119
|
}
|
|
138
|
-
|
|
139
120
|
axis.sizes[index].pre = axis.totalSize;
|
|
140
121
|
axis.totalSize += axis.sizes[index].size;
|
|
141
122
|
});
|
|
142
123
|
}
|
|
143
|
-
|
|
144
124
|
resetRowPartitions() {
|
|
145
125
|
this.populateAxisPartitions(this.rows);
|
|
146
126
|
}
|
|
147
|
-
|
|
148
127
|
finalize() {
|
|
149
128
|
if (this.engine.visualization.showDimensionLabels) {
|
|
150
129
|
const columnDimensionCount = this.engine.dimensionLookup.columnHeaders.length;
|
|
@@ -152,7 +131,6 @@ export class AdaptiveClippingController {
|
|
|
152
131
|
this.engine.dimensionLookup.columnHeaders.forEach((_, columnLevel) => {
|
|
153
132
|
this.engine.dimensionLookup.rowHeaders.forEach((_, rowLevel) => {
|
|
154
133
|
const label = this.engine.getDimensionLabel(rowLevel, columnLevel);
|
|
155
|
-
|
|
156
134
|
if (label) {
|
|
157
135
|
this.add({
|
|
158
136
|
row: -rowDimensionCount + rowLevel,
|
|
@@ -162,7 +140,6 @@ export class AdaptiveClippingController {
|
|
|
162
140
|
});
|
|
163
141
|
});
|
|
164
142
|
}
|
|
165
|
-
|
|
166
143
|
this.finalizeAxis(this.columns);
|
|
167
144
|
this.finalizeAxis(this.rows);
|
|
168
145
|
this.columns.headerSize = 0;
|
|
@@ -178,7 +155,6 @@ export class AdaptiveClippingController {
|
|
|
178
155
|
return paddedSize;
|
|
179
156
|
});
|
|
180
157
|
}
|
|
181
|
-
|
|
182
158
|
reset() {
|
|
183
159
|
this.columns = {
|
|
184
160
|
orientation: 'column',
|
|
@@ -197,5 +173,4 @@ export class AdaptiveClippingController {
|
|
|
197
173
|
headerSizes: []
|
|
198
174
|
};
|
|
199
175
|
}
|
|
200
|
-
|
|
201
176
|
}
|