@adaptabletools/adaptable-cjs 23.0.4-canary.0 → 23.0.5-canary.0
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/agGrid.js +0 -31
- package/index.js +0 -31
- package/package.json +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -2
- package/src/AdaptableOptions/AdaptablePlugin.js +1 -9
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -39
- package/src/AdaptableOptions/SettingsPanelOptions.d.ts +44 -16
- package/src/AdaptableState/Aggregations/only.js +0 -11
- package/src/AdaptableState/Aggregations/weightedAverage.js +0 -26
- package/src/AdaptableState/Common/AdaptableColumn.js +0 -1
- package/src/AdaptableState/Common/AdaptableForm.js +0 -49
- package/src/AdaptableState/Common/AdaptableFormatPresets.js +0 -13
- package/src/AdaptableState/Common/AdaptablePredicate.js +3 -125
- package/src/AdaptableState/Common/AggregationColumns.js +0 -10
- package/src/AdaptableState/Common/Enums.js +0 -3
- package/src/AdaptableState/Common/Menu.js +1 -7
- package/src/AdaptableState/Common/MenuItem.js +0 -2
- package/src/AdaptableState/Common/Types.js +2 -5
- package/src/AdaptableState/StatusBarState.js +0 -3
- package/src/AdaptableState/StyledColumns/BadgeStyle.js +0 -1
- package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.js +0 -4
- package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +0 -5
- package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +0 -8
- package/src/AdaptableState/Uuid.js +0 -1
- package/src/Api/Implementation/AdaptableApiImpl.js +0 -4
- package/src/Api/Implementation/AlertApiImpl.js +0 -21
- package/src/Api/Implementation/ApiBase.js +0 -24
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +0 -1
- package/src/Api/Implementation/ChartingApiImpl.js +0 -3
- package/src/Api/Implementation/ColumnApiImpl.js +1 -15
- package/src/Api/Implementation/ColumnFilterApiImpl.js +0 -9
- package/src/Api/Implementation/ColumnScopeApiImpl.js +0 -21
- package/src/Api/Implementation/DashboardApiImpl.js +0 -1
- package/src/Api/Implementation/EntitlementApiImpl.js +0 -1
- package/src/Api/Implementation/ExportApiImpl.js +0 -10
- package/src/Api/Implementation/ExpressionApiImpl.js +0 -1
- package/src/Api/Implementation/FormatColumnApiImpl.js +0 -3
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -2
- package/src/Api/Implementation/GridApiImpl.js +1 -22
- package/src/Api/Implementation/GridFilterApiImpl.js +0 -2
- package/src/Api/Implementation/LayoutApiImpl.js +0 -18
- package/src/Api/Implementation/LayoutHelpers.js +0 -16
- package/src/Api/Implementation/NamedQueryApiImpl.js +0 -1
- package/src/Api/Implementation/PredicateApiImpl.js +0 -5
- package/src/Api/Implementation/RowFormApiImpl.js +0 -2
- package/src/Api/Implementation/StateApiImpl.js +0 -7
- package/src/Api/Implementation/SystemStatusApiImpl.js +0 -2
- package/src/Api/Implementation/TeamSharingApiImpl.js +0 -3
- package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -1
- package/src/Api/Internal/ActionColumnInternalApi.js +0 -1
- package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -2
- package/src/Api/Internal/AdaptableInternalApi.js +1 -39
- package/src/Api/Internal/AlertInternalApi.js +1 -102
- package/src/Api/Internal/CalculatedColumnInternalApi.js +0 -17
- package/src/Api/Internal/ChartingInternalApi.js +0 -1
- package/src/Api/Internal/ColumnFilterInternalApi.js +0 -52
- package/src/Api/Internal/ColumnInternalApi.js +0 -32
- package/src/Api/Internal/CustomSortInternalApi.js +0 -5
- package/src/Api/Internal/DashboardInternalApi.js +0 -23
- package/src/Api/Internal/DataImportInternalApi.js +0 -1
- package/src/Api/Internal/EventInternalApi.js +0 -2
- package/src/Api/Internal/ExportInternalApi.js +1 -16
- package/src/Api/Internal/ExpressionInternalApi.js +0 -23
- package/src/Api/Internal/Fdc3InternalApi.js +0 -9
- package/src/Api/Internal/FlashingCellInternalApi.js +0 -5
- package/src/Api/Internal/FormatColumnInternalApi.js +5 -107
- package/src/Api/Internal/FreeTextColumnInternalApi.js +0 -8
- package/src/Api/Internal/GridFilterInternalApi.js +0 -3
- package/src/Api/Internal/GridInternalApi.js +0 -37
- package/src/Api/Internal/LayoutInternalApi.js +0 -18
- package/src/Api/Internal/NamedQueryInternalApi.js +0 -9
- package/src/Api/Internal/PredicateInternalApi.js +0 -23
- package/src/Api/Internal/RowFormInternalApi.js +0 -18
- package/src/Api/Internal/StateInternalApi.js +0 -25
- package/src/Api/Internal/StyledColumnInternalApi.js +0 -62
- package/src/Api/Internal/TeamSharingInternalApi.js +0 -9
- package/src/Redux/ActionsReducers/AlertRedux.js +0 -24
- package/src/Redux/ActionsReducers/ApplicationRedux.js +0 -9
- package/src/Redux/ActionsReducers/BulkUpdateRedux.js +0 -6
- package/src/Redux/ActionsReducers/CalculatedColumnRedux.js +1 -16
- package/src/Redux/ActionsReducers/ChartingRedux.js +0 -24
- package/src/Redux/ActionsReducers/CommentsRedux.js +0 -24
- package/src/Redux/ActionsReducers/CustomSortRedux.js +0 -24
- package/src/Redux/ActionsReducers/DashboardRedux.js +0 -33
- package/src/Redux/ActionsReducers/ExportRedux.js +0 -36
- package/src/Redux/ActionsReducers/FlashingCellRedux.js +0 -24
- package/src/Redux/ActionsReducers/FormatColumnRedux.js +0 -36
- package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +1 -20
- package/src/Redux/ActionsReducers/InternalRedux.js +0 -42
- package/src/Redux/ActionsReducers/LayoutRedux.js +1 -67
- package/src/Redux/ActionsReducers/NamedQueryRedux.js +0 -15
- package/src/Redux/ActionsReducers/NoteRedux.js +0 -14
- package/src/Redux/ActionsReducers/PluginsRedux.js +0 -3
- package/src/Redux/ActionsReducers/PlusMinusRedux.js +0 -34
- package/src/Redux/ActionsReducers/PopupRedux.js +2 -6
- package/src/Redux/ActionsReducers/QuickSearchRedux.js +0 -15
- package/src/Redux/ActionsReducers/ShortcutRedux.js +0 -24
- package/src/Redux/ActionsReducers/SmartEditRedux.js +0 -6
- package/src/Redux/ActionsReducers/StatusBarRedux.js +0 -6
- package/src/Redux/ActionsReducers/StyledColumnRedux.js +0 -27
- package/src/Redux/ActionsReducers/SystemStatusRedux.js +0 -6
- package/src/Redux/ActionsReducers/TeamSharingRedux.js +0 -1
- package/src/Redux/ActionsReducers/ThemeRedux.js +0 -26
- package/src/Redux/ActionsReducers/ToolPanelRedux.js +0 -22
- package/src/Redux/ActionsReducers/UserInterfaceRedux.js +0 -3
- package/src/Redux/ActionsReducers/utils.js +0 -6
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +0 -1
- package/src/Redux/Store/AdaptableReduxMerger.js +0 -25
- package/src/Redux/Store/AdaptableStore.js +5 -301
- package/src/Strategy/AdaptableModuleBase.js +0 -35
- package/src/Strategy/AlertModule.js +0 -9
- package/src/Strategy/CellSummaryModule.js +0 -12
- package/src/Strategy/ChartingModule.js +0 -1
- package/src/Strategy/ColumnFilterModule.js +1 -11
- package/src/Strategy/CommentModule.js +0 -2
- package/src/Strategy/DashboardModule.js +0 -4
- package/src/Strategy/ExportModule.js +0 -1
- package/src/Strategy/FlashingCellModule.js +0 -8
- package/src/Strategy/FormatColumnModule.js +0 -3
- package/src/Strategy/FreeTextColumnModule.js +0 -3
- package/src/Strategy/LayoutModule.js +0 -26
- package/src/Strategy/NoteModule.js +0 -3
- package/src/Strategy/PlusMinusModule.js +0 -3
- package/src/Strategy/SettingsPanelModule.js +0 -1
- package/src/Strategy/ShortcutModule.js +0 -1
- package/src/Strategy/SmartEditModule.js +0 -5
- package/src/Strategy/StatusBarModule.js +0 -7
- package/src/Strategy/StyledColumnModule.js +1 -16
- package/src/Strategy/TeamSharingModule.js +0 -9
- package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +0 -5
- package/src/Utilities/Constants/DocumentationLinkConstants.js +0 -1
- package/src/Utilities/Constants/GeneralConstants.js +0 -10
- package/src/Utilities/Constants/ObjectDefaultConstants.js +0 -3
- package/src/Utilities/Constants/ReduxConstants.js +4 -8
- package/src/Utilities/Emitter.js +0 -9
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +0 -8
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +0 -15
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +0 -3
- package/src/Utilities/ExpressionFunctions/deepMap.js +0 -16
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +0 -9
- package/src/Utilities/ExpressionFunctions/groupingMap.js +0 -9
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +7 -78
- package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +0 -9
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +2 -16
- package/src/Utilities/Extensions/ArrayExtensions.js +1 -63
- package/src/Utilities/Extensions/NumberExtensions.js +0 -27
- package/src/Utilities/Extensions/ObjectExtensions.js +0 -36
- package/src/Utilities/Extensions/StringExtensions.js +0 -27
- package/src/Utilities/Helpers/ActionColumnHelper.js +0 -4
- package/src/Utilities/Helpers/AdaptableHelper.js +0 -8
- package/src/Utilities/Helpers/DateHelper.js +0 -10
- package/src/Utilities/Helpers/DisplayFormatHelper.js +0 -8
- package/src/Utilities/Helpers/Helper.js +3 -9
- package/src/Utilities/Helpers/PlusMinusHelper.js +0 -20
- package/src/Utilities/Helpers/QuickSearchHelper.js +0 -5
- package/src/Utilities/Helpers/Scheduling/CronExpression.js +0 -43
- package/src/Utilities/Helpers/Scheduling/ScheduledReportHelper.js +0 -4
- package/src/Utilities/Helpers/SettingsPanelHelper.js +40 -4
- package/src/Utilities/Helpers/StyleHelper.js +0 -56
- package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.js +0 -46
- package/src/Utilities/Helpers/StyledColumns/GradientStyleHelper.js +0 -38
- package/src/Utilities/Helpers/StyledColumns/IconStyleHelper.js +0 -39
- package/src/Utilities/Helpers/StyledColumns/PercentBarStyleHelper.js +0 -1
- package/src/Utilities/Helpers/StyledColumns/SparklineStyleHelper.js +0 -5
- package/src/Utilities/Helpers/StyledColumns/StyledColumnHelper.js +0 -37
- package/src/Utilities/Helpers/TimingHelper.js +0 -13
- package/src/Utilities/ObjectFactory.js +2 -4
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +0 -7
- package/src/Utilities/Services/AlertService.js +0 -1
- package/src/Utilities/Services/AnnotationsService.js +0 -22
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +0 -8
- package/src/Utilities/Services/ChartingService.js +0 -9
- package/src/Utilities/Services/DataService.js +0 -11
- package/src/Utilities/Services/Fdc3Service.js +0 -3
- package/src/Utilities/Services/FlashingCellService.js +0 -6
- package/src/Utilities/Services/ModuleService.js +0 -8
- package/src/Utilities/Services/QueryLanguageService.js +2 -25
- package/src/Utilities/Services/RowFormService.js +0 -1
- package/src/Utilities/Services/RowSummaryService.js +1 -20
- package/src/Utilities/Services/TeamSharingService.js +0 -15
- package/src/Utilities/Services/ThemeService.js +0 -7
- package/src/Utilities/Services/ValidationService.js +0 -21
- package/src/Utilities/createAgStatusPanelComponent.js +0 -3
- package/src/Utilities/getExpressionViewItems.js +0 -2
- package/src/Utilities/getObjectTagsViewItems.js +0 -1
- package/src/Utilities/getScrollbarSize.js +0 -1
- package/src/Utilities/logDeprecation.js +0 -3
- package/src/Utilities/resolveContainerElement.js +0 -21
- package/src/Utilities/runIfNotResolvedIn.js +0 -7
- package/src/Utilities/sortColumnStateForVisibleColumns.js +2 -12
- package/src/Utilities/waitForTimeout.js +0 -1
- package/src/Utilities/wizardSelection.js +0 -2
- package/src/View/AdaptablePopover/index.js +1 -1
- package/src/View/AdaptableView.js +1 -5
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +0 -4
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +0 -23
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +0 -2
- package/src/View/AdaptableWizardView/Wizard.js +0 -12
- package/src/View/AdaptableWizardView/helper.js +0 -11
- package/src/View/Alert/ActiveAlertsPanel.js +0 -2
- package/src/View/Alert/AlertStatusSubPanel.js +0 -8
- package/src/View/Alert/Utilities/getAlertType.js +0 -7
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +0 -5
- package/src/View/Alert/Utilities/mapAlertDefinition.js +0 -3
- package/src/View/Alert/Wizard/AlertWizard.js +0 -2
- package/src/View/Alert/Wizard/isValidAlertRules.js +0 -1
- package/src/View/BulkUpdate/BulkUpdatePopup.js +0 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -3
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +0 -1
- package/src/View/CalculatedColumn/utils.d.ts +1 -1
- package/src/View/CellSummary/CellSummaryPopup.js +0 -3
- package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +1 -7
- package/src/View/Charting/EditChartButton.js +1 -4
- package/src/View/Charting/ShowChartButton.js +0 -3
- package/src/View/Charting/useAgChartState.js +0 -5
- package/src/View/Charting/useChartingElements.js +0 -4
- package/src/View/Charting/useExternalChartState.js +0 -6
- package/src/View/ColumnInfo/ColumnInfo.js +7 -17
- package/src/View/Comments/CommentsEditor.js +1 -16
- package/src/View/Components/AdaptableButton/AdaptableButtonComponent.js +0 -1
- package/src/View/Components/AdaptableButton/AdaptableButtonView.js +0 -3
- package/src/View/Components/AdaptableDateInput/index.js +2 -9
- package/src/View/Components/AdaptableIconComponent/index.js +0 -4
- package/src/View/Components/AdaptableIconSelector/index.js +0 -3
- package/src/View/Components/AdaptableInput/index.js +0 -2
- package/src/View/Components/Badge/index.js +0 -8
- package/src/View/Components/Buttons/ButtonNewPage.js +1 -2
- package/src/View/Components/Buttons/EntityListActionButtons.js +0 -1
- package/src/View/Components/CellPopup/index.js +1 -2
- package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +0 -4
- package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +0 -4
- package/src/View/Components/ColumnFilter/ColumnFilter.js +3 -46
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +0 -2
- package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -20
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -16
- package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -4
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +0 -1
- package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +1 -6
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +0 -20
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +0 -5
- package/src/View/Components/ColumnFilter/utils.js +2 -9
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +0 -2
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +0 -1
- package/src/View/Components/EntityRulesEditor/index.js +1 -11
- package/src/View/Components/ExternalRenderer.js +1 -3
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -52
- package/src/View/Components/ModuleValueSelector/index.js +0 -2
- package/src/View/Components/Panels/PanelWithImage.js +1 -5
- package/src/View/Components/Panels/PanelWithRow.js +0 -3
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +0 -6
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +0 -3
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +0 -6
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -2
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +0 -1
- package/src/View/Components/Popups/AdaptablePopupAlert.js +0 -3
- package/src/View/Components/Popups/AdaptableToaster.js +0 -2
- package/src/View/Components/Popups/WindowPopups/WindowPopups.js +0 -8
- package/src/View/Components/RangesComponent.js +0 -57
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +0 -3
- package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -6
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -18
- package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +0 -4
- package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -4
- package/src/View/Components/ValueSelector/index.js +0 -4
- package/src/View/Components/wizardColumnListStyles.js +0 -5
- package/src/View/Dashboard/CustomToolbar.js +1 -25
- package/src/View/Dashboard/PinnedToolbarsSelector.js +0 -1
- package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -22
- package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +0 -1
- package/src/View/DataImport/systemFileHandlers.js +1 -1
- package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +0 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +0 -27
- package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +0 -1
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -7
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -12
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +0 -10
- package/src/View/GridFilter/GridFilterPopup.js +0 -1
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +0 -2
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -31
- package/src/View/Layout/LayoutViewPanel.js +0 -2
- package/src/View/Layout/PivotDetailsPopoup.js +0 -2
- package/src/View/Layout/TransposedPopup.js +0 -7
- package/src/View/Layout/Wizard/LayoutWizard.js +1 -6
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +0 -2
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -32
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +0 -3
- package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +0 -2
- package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +0 -4
- package/src/View/Note/NotePopup.js +0 -1
- package/src/View/QuickSearch/QuickSearchPopup.js +0 -1
- package/src/View/StatusBar/AdaptableStatusBar.js +0 -4
- package/src/View/StatusBar/StatusBarPanel.js +0 -8
- package/src/View/StatusBar/StatusBarPopup.js +0 -2
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +0 -11
- package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +0 -28
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +0 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -25
- package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +0 -26
- package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +0 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +0 -40
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +0 -55
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +0 -15
- package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +0 -21
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.js +0 -10
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +0 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +0 -4
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +0 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +0 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +0 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +0 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +0 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +0 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +0 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +0 -21
- package/src/View/SystemStatus/SystemStatusPopup.js +0 -1
- package/src/View/TeamSharing/SharedEntityObjectView.js +0 -1
- package/src/View/Theme/ThemeSelector.js +0 -1
- package/src/View/UIHelper.js +0 -6
- package/src/View/UIInterfaces.js +0 -1
- package/src/View/Wizard/CollapsibleWizardCard.js +1 -8
- package/src/View/Wizard/OnePageWizards.js +2 -9
- package/src/View/Wizard/SummaryColorTag.js +0 -1
- package/src/View/Wizard/useKeyboardNavigation.js +1 -3
- package/src/agGrid/Adaptable.js +0 -12
- package/src/agGrid/AdaptableAgGrid.d.ts +0 -2
- package/src/agGrid/AdaptableAgGrid.js +3 -482
- package/src/agGrid/AdaptableFilterHandler.js +0 -5
- package/src/agGrid/AdaptableLogger.js +0 -6
- package/src/agGrid/AgGridAdapter.js +3 -90
- package/src/agGrid/AgGridColumnAdapter.js +6 -168
- package/src/agGrid/AgGridExportAdapter.js +4 -106
- package/src/agGrid/AgGridFilterAdapter.js +0 -5
- package/src/agGrid/AgGridFloatingFilterAdapter.js +0 -10
- package/src/agGrid/AgGridMenuAdapter.js +0 -143
- package/src/agGrid/AgGridModulesAdapter.js +0 -2
- package/src/agGrid/AgGridOptionsService.js +0 -2
- package/src/agGrid/AgGridThemeAdapter.js +0 -7
- package/src/agGrid/agGridDataTypeDefinitions.js +0 -8
- package/src/agGrid/cellRenderers/BadgeRenderer.js +0 -10
- package/src/agGrid/cellRenderers/BulletChartRenderer.js +1 -96
- package/src/agGrid/cellRenderers/IconRenderer.js +0 -55
- package/src/agGrid/cellRenderers/PercentBarRenderer.js +0 -51
- package/src/agGrid/cellRenderers/RangeBarRenderer.js +1 -50
- package/src/agGrid/cellRenderers/RatingRenderer.js +0 -40
- package/src/agGrid/editors/AdaptableDateEditor/index.js +0 -18
- package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +0 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +0 -11
- package/src/agGrid/editors/AdaptablePercentageEditor/index.js +0 -9
- package/src/agGrid/index.js +0 -6
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -73
- package/src/components/ColorPicker/ColorPicker.js +0 -6
- package/src/components/Combobox/VirtualizedList.js +0 -5
- package/src/components/Combobox/index.js +5 -63
- package/src/components/Dashboard/Dashboard.js +1 -4
- package/src/components/Datepicker/index.js +2 -97
- package/src/components/DragAndDropContext/TabList.js +2 -6
- package/src/components/Drawer/index.js +0 -7
- package/src/components/Dropdown/index.js +0 -1
- package/src/components/DropdownButton/index.js +0 -1
- package/src/components/ExpressionEditor/BaseEditorInput.js +1 -16
- package/src/components/ExpressionEditor/EditorButton.js +0 -1
- package/src/components/ExpressionEditor/EditorInput.js +1 -7
- package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +0 -1
- package/src/components/ExpressionEditor/ExpressionPreview.js +4 -14
- package/src/components/ExpressionEditor/NamedQueryContext.js +0 -1
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +1 -6
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +0 -12
- package/src/components/ExpressionEditor/QueryBuilder/utils.js +0 -4
- package/src/components/ExpressionEditor/index.js +5 -14
- package/src/components/Icon/index.js +0 -2
- package/src/components/Input/NumberInput.js +0 -10
- package/src/components/Modal/Backdrop.js +0 -1
- package/src/components/OverlayTrigger/Overlay.js +0 -1
- package/src/components/OverlayTrigger/index.js +3 -15
- package/src/components/ProgressIndicator/ProgressIndicator.js +3 -16
- package/src/components/ResizeObserver/index.js +0 -7
- package/src/components/SelectableList/index.js +0 -7
- package/src/components/SimpleButton/index.js +2 -16
- package/src/components/Tabs/index.js +0 -3
- package/src/components/Tag/Tag.js +0 -1
- package/src/components/Tag/columnScopeTagHelpers.js +0 -2
- package/src/components/Textarea/index.js +1 -8
- package/src/components/Toggle/Toggle.js +1 -5
- package/src/components/Toggle/ToggleGroup.js +1 -3
- package/src/components/ToggleButton/index.js +1 -3
- package/src/components/Tree/TreeDropdown/index.js +2 -130
- package/src/components/Tree/treeUtils.js +0 -4
- package/src/components/WindowModal/WindowModal.js +1 -14
- package/src/components/WindowModal/useStacking.js +0 -7
- package/src/components/icons/bullet-chart.js +0 -4
- package/src/components/icons/icon-style.js +0 -4
- package/src/components/icons/index.js +26 -36
- package/src/components/icons/range-bar.js +0 -5
- package/src/components/icons/star.js +0 -1
- package/src/components/twUtils.js +3 -12
- package/src/components/ui/calendar.js +1 -9
- package/src/components/ui/combobox.js +0 -4
- package/src/components/utils/captureTabNavigation/getFocusableChildren.js +0 -1
- package/src/components/utils/useDraggable.js +0 -4
- package/src/components/utils/useProperty.js +0 -18
- package/src/devTools/index.js +0 -1
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.js +0 -5
- package/src/layout-manager/src/destructurePivotColumnId.js +0 -19
- package/src/layout-manager/src/index.js +2 -182
- package/src/layout-manager/src/isLayoutEqual.js +0 -1
- package/src/layout-manager/src/isPivotColumnTotal.js +0 -2
- package/src/layout-manager/src/normalizeLayoutModel.js +0 -27
- package/src/layout-manager/src/simplifyLayoutModel.js +0 -11
- package/src/layout-manager/src/sortColumnIdsByOrder.js +2 -12
- package/src/lib/utils.js +0 -1
- package/src/migration/AdaptableUpgradeHelper.js +0 -2
- package/src/migration/VersionUpgrade17.js +0 -33
- package/src/migration/VersionUpgrade20.js +1 -21
- package/src/migration/VersionUpgrade21.js +0 -3
- package/src/migration/VersionUpgrade22.js +0 -11
- package/src/migration/VersionUpgrade23.js +0 -73
- package/src/parser/src/evaluator.js +0 -1
- package/src/parser/src/index.js +0 -1
- package/src/parser/src/parser.js +4 -103
- package/src/parser/src/predicate/mapExpressionToQlPredicate.js +0 -5
- package/src/parser/src/predicate/mapQlPredicateToExpression.js +0 -2
- package/src/parser/src/tokenizer.js +0 -2
- package/src/parser/src/utils.js +0 -1
- package/src/renderReactRoot.js +0 -12
- package/src/setupDevTools.js +0 -6
- package/src/twMerge.js +0 -1
- package/src/types.d.ts +1 -1
- package/src/types.js +0 -2
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/src/Utilities/Services/Interface/IMetamodelService.d.ts +0 -20
- package/src/Utilities/Services/Interface/IMetamodelService.js +0 -2
- package/src/Utilities/Services/MetamodelService.d.ts +0 -17
- package/src/Utilities/Services/MetamodelService.js +0 -167
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +0 -6
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +0 -104
- package/src/metamodel/adaptable-metamodel-model.d.ts +0 -26
- package/src/metamodel/adaptable-metamodel-model.js +0 -2
- package/src/metamodel/adaptable.metamodel.d.ts +0 -6244
- package/src/metamodel/adaptable.metamodel.js +0 -1
|
@@ -11,20 +11,10 @@ const DEFAULT_BAR_HEIGHT = 8;
|
|
|
11
11
|
const DEFAULT_BAND_HEIGHT = 14;
|
|
12
12
|
const DEFAULT_MARKER_LINE_THICKNESS = 2;
|
|
13
13
|
const DEFAULT_MARKER_SHAPE_SIZE = 8;
|
|
14
|
-
// AdapTable's `--ab-color-primary` is a *background* tone (near-white in the
|
|
15
|
-
// light theme, near-black in the dark theme), so it would make the bar
|
|
16
|
-
// invisible. `--ab-color-accent` is the canonical brand colour (a saturated
|
|
17
|
-
// blue by default) and reads well on both themes.
|
|
18
14
|
const DEFAULT_BAR_COLOR = 'var(--ab-color-accent, #07c)';
|
|
19
|
-
// `--ab-color-foreground` is theme-aware (dark on light theme, light on dark
|
|
20
|
-
// theme) and is the right pick for marker contrast against the cell.
|
|
21
15
|
const DEFAULT_MARKER_COLOR = 'var(--ab-color-foreground, #111)';
|
|
22
16
|
const DEFAULT_BACK_COLOR = 'transparent';
|
|
23
17
|
const isTargetDefinition = (t) => !!t && typeof t === 'object' && 'Value' in t;
|
|
24
|
-
/**
|
|
25
|
-
* Returns the resolved numeric value for a single Target. Returns `undefined`
|
|
26
|
-
* if the target cannot be resolved (e.g. a column id that's not in the grid).
|
|
27
|
-
*/
|
|
28
18
|
const resolveTargetValue = (target, styledColumn, abColumn, rowNode, api) => {
|
|
29
19
|
const internalApi = api.styledColumnApi.internalApi;
|
|
30
20
|
const value = isTargetDefinition(target) ? target.Value : target;
|
|
@@ -77,14 +67,6 @@ const resolveTargets = (bulletStyle, styledColumn, abColumn, rowNode, api) => {
|
|
|
77
67
|
}
|
|
78
68
|
return resolved;
|
|
79
69
|
};
|
|
80
|
-
/**
|
|
81
|
-
* Decide where the actual bar starts.
|
|
82
|
-
*
|
|
83
|
-
* - `'Auto'` - origin is `min` unless any negative value/range endpoint is in
|
|
84
|
-
* play, in which case origin is `0` (centred axis)
|
|
85
|
-
* - `'Zero'` - origin is always `0`
|
|
86
|
-
* - any number - explicit origin
|
|
87
|
-
*/
|
|
88
70
|
const resolveOrigin = (bulletStyle, cellValue, min, max) => {
|
|
89
71
|
const origin = bulletStyle.Origin ?? 'Auto';
|
|
90
72
|
if (typeof origin === 'number') {
|
|
@@ -93,15 +75,11 @@ const resolveOrigin = (bulletStyle, cellValue, min, max) => {
|
|
|
93
75
|
if (origin === 'Zero') {
|
|
94
76
|
return 0;
|
|
95
77
|
}
|
|
96
|
-
// Auto - flip to 0 origin if any negatives are involved
|
|
97
78
|
if (min < 0 || max < 0 || cellValue < 0) {
|
|
98
79
|
return 0;
|
|
99
80
|
}
|
|
100
81
|
return min;
|
|
101
82
|
};
|
|
102
|
-
/**
|
|
103
|
-
* Convert a numeric value into a 0..1 fraction along the chart axis.
|
|
104
|
-
*/
|
|
105
83
|
const toFraction = (value, min, max) => {
|
|
106
84
|
if (max === min) {
|
|
107
85
|
return 0;
|
|
@@ -116,7 +94,6 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
116
94
|
return class BulletChartRenderer {
|
|
117
95
|
eGui;
|
|
118
96
|
init(params) {
|
|
119
|
-
// Defer to the shared row-scope helper.
|
|
120
97
|
if (!(0, StyledColumnHelper_1.shouldRenderStyledColumnOnRow)(styledColumn, params.node, api)) {
|
|
121
98
|
if (params.value != undefined) {
|
|
122
99
|
this.eGui = document.createElement('div');
|
|
@@ -125,14 +102,11 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
125
102
|
return;
|
|
126
103
|
}
|
|
127
104
|
const rawCellValue = params.value;
|
|
128
|
-
// Empty / null cells render as nothing - drawing bands + marker without
|
|
129
|
-
// a bar would falsely suggest the cell value is at the origin (0 / min).
|
|
130
105
|
if (Helper_1.default.objectNotExists(rawCellValue)) {
|
|
131
106
|
this.eGui = document.createElement('div');
|
|
132
107
|
return;
|
|
133
108
|
}
|
|
134
109
|
const numericValue = typeof rawCellValue === 'number' ? rawCellValue : Number(rawCellValue);
|
|
135
|
-
// Non-numeric strings ('—', 'N/A', etc.) get the same empty treatment.
|
|
136
110
|
if (isNaN(numericValue)) {
|
|
137
111
|
this.eGui = document.createElement('div');
|
|
138
112
|
this.eGui.append(params.formatValue?.(rawCellValue) ?? String(rawCellValue));
|
|
@@ -140,9 +114,6 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
140
114
|
}
|
|
141
115
|
const min = api.styledColumnApi.internalApi.getNumericStyleMinValue(styledColumn, abColumn, params.node, rawCellValue);
|
|
142
116
|
const max = api.styledColumnApi.internalApi.getNumericStyleMaxValue(styledColumn, abColumn, params.node, rawCellValue);
|
|
143
|
-
// Without a usable scale we can't draw anything meaningful (e.g. when
|
|
144
|
-
// every cell in the column has the same value, or when there are no
|
|
145
|
-
// bands and no numeric range can be derived).
|
|
146
117
|
if (min == undefined || max == undefined || max <= min) {
|
|
147
118
|
this.eGui = document.createElement('div');
|
|
148
119
|
this.eGui.append(params.formatValue?.(rawCellValue) ?? String(rawCellValue));
|
|
@@ -151,43 +122,23 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
151
122
|
const cellValue = numericValue;
|
|
152
123
|
const targets = resolveTargets(bulletStyle, styledColumn, abColumn, params.node, api);
|
|
153
124
|
const origin = resolveOrigin(bulletStyle, numericValue, min, max);
|
|
154
|
-
// Layout
|
|
155
125
|
const isVertical = bulletStyle.Orientation === 'Vertical';
|
|
156
|
-
// `BarThickness` is the bar's *short* axis (height in horizontal,
|
|
157
|
-
// width in vertical). `BandThickness` is the matching short-axis
|
|
158
|
-
// size of the surrounding bands.
|
|
159
126
|
const barThickness = bulletStyle.Bar?.Height ?? DEFAULT_BAR_HEIGHT;
|
|
160
127
|
const bandThickness = Math.max(barThickness + 6, DEFAULT_BAND_HEIGHT);
|
|
161
128
|
const cellTextProperties = bulletStyle.CellTextProperties;
|
|
162
129
|
const hasCellText = (0, BarStylesHelper_1.hasBarStyleCellTextConfigured)(cellTextProperties);
|
|
163
|
-
// Map a 0..1 value fraction onto the long-axis viewBox (0..100).
|
|
164
|
-
// In horizontal: 0 -> left, 1 -> right.
|
|
165
|
-
// In vertical: 0 -> bottom, 1 -> top (SVG y origin is at the top so
|
|
166
|
-
// we invert; lower values appear at the bottom of the
|
|
167
|
-
// cell which matches user expectation).
|
|
168
130
|
const valueAxisCoord = (fraction) => isVertical ? (1 - fraction) * 100 : fraction * 100;
|
|
169
|
-
// Wrapper
|
|
170
131
|
this.eGui = document.createElement('div');
|
|
171
132
|
this.eGui.className = 'ab-BulletChart__wrapper';
|
|
172
133
|
this.eGui.style.display = 'flex';
|
|
173
134
|
this.eGui.style.flexDirection = 'column';
|
|
174
|
-
// In vertical mode we centre horizontally so the chart sits in the
|
|
175
|
-
// middle of the cell rather than hugging the left edge.
|
|
176
135
|
this.eGui.style.alignItems = isVertical ? 'center' : 'stretch';
|
|
177
136
|
this.eGui.style.justifyContent = 'center';
|
|
178
137
|
this.eGui.style.position = 'relative';
|
|
179
138
|
this.eGui.style.height = '100%';
|
|
180
|
-
// SVG chart - we let `preserveAspectRatio="none"` stretch the long axis
|
|
181
|
-
// (viewBox 0..100) to fill the cell while the short axis stays fixed
|
|
182
|
-
// in pixels.
|
|
183
139
|
const svg = document.createElementNS(SVG_NS, 'svg');
|
|
184
140
|
svg.setAttribute('class', 'ab-BulletChart__svg');
|
|
185
141
|
svg.setAttribute('preserveAspectRatio', 'none');
|
|
186
|
-
// Snap rect edges to whole pixels so adjacent bands meet flush. Without
|
|
187
|
-
// this, sub-pixel anti-aliasing on the rect edges shows through as a
|
|
188
|
-
// hairline seam where bands meet (especially when band colours are
|
|
189
|
-
// semi-transparent, since each edge anti-aliases against the row
|
|
190
|
-
// background rather than the neighbouring band).
|
|
191
142
|
svg.setAttribute('shape-rendering', 'crispEdges');
|
|
192
143
|
if (isVertical) {
|
|
193
144
|
svg.setAttribute('width', String(bandThickness));
|
|
@@ -199,8 +150,6 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
199
150
|
svg.setAttribute('height', String(bandThickness));
|
|
200
151
|
svg.setAttribute('viewBox', `0 0 100 ${bandThickness}`);
|
|
201
152
|
}
|
|
202
|
-
// Helper - apply rect attributes given primary-axis (along value) and
|
|
203
|
-
// cross-axis (across the bar) coords/lengths.
|
|
204
153
|
const setRectAxes = (rect, primaryStart, primaryLen, crossStart, crossLen) => {
|
|
205
154
|
if (isVertical) {
|
|
206
155
|
rect.setAttribute('x', String(crossStart));
|
|
@@ -215,10 +164,8 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
215
164
|
rect.setAttribute('height', String(crossLen));
|
|
216
165
|
}
|
|
217
166
|
};
|
|
218
|
-
// Bands (qualitative scale) - drawn behind everything else
|
|
219
167
|
const ranges = bulletStyle.CellRanges ?? [];
|
|
220
168
|
if (ranges.length === 0) {
|
|
221
|
-
// No bands defined - draw a back-fill so the chart area is visible.
|
|
222
169
|
const back = document.createElementNS(SVG_NS, 'rect');
|
|
223
170
|
setRectAxes(back, 0, 100, 0, bandThickness);
|
|
224
171
|
back.setAttribute('fill', bulletStyle.BackColor ?? DEFAULT_BACK_COLOR);
|
|
@@ -239,7 +186,6 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
239
186
|
svg.appendChild(bandRect);
|
|
240
187
|
}
|
|
241
188
|
}
|
|
242
|
-
// Actual bar
|
|
243
189
|
const valueFraction = toFraction(numericValue, min, max);
|
|
244
190
|
const originFraction = toFraction(origin, min, max);
|
|
245
191
|
const valueCoord = valueAxisCoord(valueFraction);
|
|
@@ -250,7 +196,6 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
250
196
|
bar.setAttribute('fill', bulletStyle.Bar?.Color ?? DEFAULT_BAR_COLOR);
|
|
251
197
|
bar.setAttribute('class', 'ab-BulletChart__bar');
|
|
252
198
|
svg.appendChild(bar);
|
|
253
|
-
// Target markers
|
|
254
199
|
for (const target of targets) {
|
|
255
200
|
const tCoord = valueAxisCoord(toFraction(target.value, min, max));
|
|
256
201
|
const marker = createMarkerElement(target.marker, tCoord, bandThickness, isVertical);
|
|
@@ -259,18 +204,11 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
259
204
|
svg.appendChild(marker);
|
|
260
205
|
}
|
|
261
206
|
}
|
|
262
|
-
// Wrap the SVG in a positioned container so a `Merged` text row can
|
|
263
|
-
// be absolute-positioned to the centre of the *bar* (matching Percent
|
|
264
|
-
// Bar's behaviour) instead of falling through to the wrapper centre,
|
|
265
|
-
// which would otherwise overlap an `Above` / `Below` band.
|
|
266
207
|
const svgContainer = document.createElement('div');
|
|
267
208
|
svgContainer.style.position = 'relative';
|
|
268
209
|
svgContainer.style.display = 'flex';
|
|
269
210
|
svgContainer.style.alignItems = 'center';
|
|
270
211
|
svgContainer.style.justifyContent = 'center';
|
|
271
|
-
// Horizontal: take the SVG's natural (bandThickness) height.
|
|
272
|
-
// Vertical: stretch to fill the wrapper so the SVG's `height: 100%`
|
|
273
|
-
// resolves against a real size.
|
|
274
212
|
if (isVertical) {
|
|
275
213
|
svgContainer.style.flex = '1 1 auto';
|
|
276
214
|
svgContainer.style.minHeight = '0';
|
|
@@ -281,9 +219,6 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
281
219
|
svgContainer.appendChild(svg);
|
|
282
220
|
this.eGui.appendChild(svgContainer);
|
|
283
221
|
if (hasCellText) {
|
|
284
|
-
// See PercentBarRenderer: `params.formatValue` on a column without a
|
|
285
|
-
// `valueFormatter` returns the raw value (a number here), so coerce
|
|
286
|
-
// to string before it flows into the helpers.
|
|
287
222
|
const formattedCellValue = String(params.formatValue?.(cellValue) ?? cellValue);
|
|
288
223
|
const labels = (0, BarStylesHelper_1.buildBarStyleCellTextLabels)(cellTextProperties, formattedCellValue, `${(valueFraction * 100).toFixed(0)}%`);
|
|
289
224
|
(0, BarStylesHelper_1.mountBarStyleCellText)({
|
|
@@ -299,31 +234,15 @@ const getBulletChartRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
299
234
|
return this.eGui;
|
|
300
235
|
}
|
|
301
236
|
refresh(_params) {
|
|
302
|
-
// by returning FALSE we force a re-render every time the cell value changes
|
|
303
237
|
return false;
|
|
304
238
|
}
|
|
305
239
|
};
|
|
306
240
|
};
|
|
307
241
|
exports.getBulletChartRendererForColumn = getBulletChartRendererForColumn;
|
|
308
|
-
const createMarkerElement = (marker,
|
|
309
|
-
/**
|
|
310
|
-
* Coordinate along the value (long) axis in viewBox units (0..100).
|
|
311
|
-
* For horizontal charts this is X; for vertical charts this is Y.
|
|
312
|
-
*/
|
|
313
|
-
valueCoord,
|
|
314
|
-
/**
|
|
315
|
-
* Length of the cross (short) axis in viewBox units = px.
|
|
316
|
-
* For horizontal charts this is the band height; for vertical charts the
|
|
317
|
-
* band width. The marker is centred on this axis at `crossLen / 2`.
|
|
318
|
-
*/
|
|
319
|
-
crossLen, isVertical) => {
|
|
320
|
-
// Helper: given a primary (along-value) coord and a cross coord, return the
|
|
321
|
-
// (x, y) pair appropriate for the orientation. In horizontal mode primary
|
|
322
|
-
// is x; in vertical mode primary is y.
|
|
242
|
+
const createMarkerElement = (marker, valueCoord, crossLen, isVertical) => {
|
|
323
243
|
const xy = (primary, cross) => isVertical ? [cross, primary] : [primary, cross];
|
|
324
244
|
switch (marker.Shape) {
|
|
325
245
|
case 'Line': {
|
|
326
|
-
// A target line spans 80% of the cross axis, centred.
|
|
327
246
|
const crossA = crossLen * 0.1;
|
|
328
247
|
const crossB = crossLen * 0.9;
|
|
329
248
|
const [x1, y1] = xy(valueCoord, crossA);
|
|
@@ -335,10 +254,6 @@ crossLen, isVertical) => {
|
|
|
335
254
|
line.setAttribute('y2', String(y2));
|
|
336
255
|
line.setAttribute('stroke', marker.Color);
|
|
337
256
|
line.setAttribute('stroke-width', String(marker.Size));
|
|
338
|
-
// The long axis of the viewBox stretches to fit the cell, so without
|
|
339
|
-
// non-scaling-stroke the line thickness would distort. (For Line markers
|
|
340
|
-
// the stroke is along the cross axis which doesn't stretch, but we keep
|
|
341
|
-
// this for safety in case a future change introduces a diagonal.)
|
|
342
257
|
line.setAttribute('vector-effect', 'non-scaling-stroke');
|
|
343
258
|
return line;
|
|
344
259
|
}
|
|
@@ -347,21 +262,14 @@ crossLen, isVertical) => {
|
|
|
347
262
|
const circle = document.createElementNS(SVG_NS, 'circle');
|
|
348
263
|
circle.setAttribute('cx', String(cx));
|
|
349
264
|
circle.setAttribute('cy', String(cy));
|
|
350
|
-
// r is in viewBox units; size is in px - approximate by using a small
|
|
351
|
-
// viewBox-relative radius but rely on vector-effect for the stroke.
|
|
352
265
|
circle.setAttribute('r', String(marker.Size / 2));
|
|
353
266
|
circle.setAttribute('fill', marker.Color);
|
|
354
|
-
// Re-enable anti-aliasing for curved/diagonal markers - the SVG itself
|
|
355
|
-
// sets shape-rendering="crispEdges" so band rects meet flush, but that
|
|
356
|
-
// makes circles/polygons look jagged.
|
|
357
267
|
circle.setAttribute('shape-rendering', 'geometricPrecision');
|
|
358
268
|
return circle;
|
|
359
269
|
}
|
|
360
270
|
case 'Diamond': {
|
|
361
271
|
const half = marker.Size / 2;
|
|
362
272
|
const crossMid = crossLen / 2;
|
|
363
|
-
// Diamond is rotationally symmetric so we can use the same point set
|
|
364
|
-
// in both orientations - just thread coords through `xy`.
|
|
365
273
|
const ptList = [
|
|
366
274
|
xy(valueCoord, crossMid - half),
|
|
367
275
|
xy(valueCoord + half, crossMid),
|
|
@@ -377,9 +285,6 @@ crossLen, isVertical) => {
|
|
|
377
285
|
case 'Triangle': {
|
|
378
286
|
const half = marker.Size / 2;
|
|
379
287
|
const crossMid = crossLen / 2;
|
|
380
|
-
// Horizontal: triangle points up (apex at top of band, base at bottom).
|
|
381
|
-
// Vertical: rotate 90deg counter-clockwise so the apex points right
|
|
382
|
-
// (into the cell rather than against the bar's growth direction).
|
|
383
288
|
const ptList = [
|
|
384
289
|
xy(valueCoord - half, crossMid + half),
|
|
385
290
|
xy(valueCoord + half, crossMid + half),
|
|
@@ -30,22 +30,6 @@ const resolveIconStyleMappingParts = (iconStyle) => {
|
|
|
30
30
|
const filteredPreset = presetMappings.filter((p) => !overrideKeys.has(normaliseIconMappingKey(p.Key, matchMode)));
|
|
31
31
|
return { presetMappings: filteredPreset, userMappings };
|
|
32
32
|
};
|
|
33
|
-
/**
|
|
34
|
-
* Resolve the **effective** mapping list for an `IconStyle`:
|
|
35
|
-
*
|
|
36
|
-
* `[ ...presetMappings filtered by overrides, ...userMappings ]`
|
|
37
|
-
*
|
|
38
|
-
* Authoring contract:
|
|
39
|
-
* - `Preset` alone is enough — the renderer pulls the shipped mappings.
|
|
40
|
-
* - `Mappings` are *additions and overrides on top of the preset*. Any
|
|
41
|
-
* user mapping whose `Key` matches a preset entry replaces the preset
|
|
42
|
-
* entry; remaining preset entries pass through as-is.
|
|
43
|
-
* - `Mappings` alone (no Preset) behaves exactly as before.
|
|
44
|
-
*
|
|
45
|
-
* Equality respects `IconStyle.MatchMode` so a user override with
|
|
46
|
-
* `Key: 'gbp'` correctly shadows the preset's `'GBP'` when the column
|
|
47
|
-
* is configured for case-insensitive matching.
|
|
48
|
-
*/
|
|
49
33
|
const resolveEffectiveIconStyleMappings = (iconStyle) => {
|
|
50
34
|
if (!iconStyle)
|
|
51
35
|
return [];
|
|
@@ -58,11 +42,6 @@ const resolveEffectiveIconStyleMappings = (iconStyle) => {
|
|
|
58
42
|
return [...presetMappings, ...userMappings];
|
|
59
43
|
};
|
|
60
44
|
exports.resolveEffectiveIconStyleMappings = resolveEffectiveIconStyleMappings;
|
|
61
|
-
/**
|
|
62
|
-
* Mapping list for wizard / settings summaries: custom mappings first so
|
|
63
|
-
* user-authored entries are always visible, then any remaining preset
|
|
64
|
-
* entries (after override filtering).
|
|
65
|
-
*/
|
|
66
45
|
const resolveIconStyleMappingsForSummaryPreview = (iconStyle) => {
|
|
67
46
|
if (!iconStyle)
|
|
68
47
|
return [];
|
|
@@ -79,13 +58,6 @@ const resolveIconStyleMappingsForSummaryPreview = (iconStyle) => {
|
|
|
79
58
|
return [...userMappings, ...presetMappings];
|
|
80
59
|
};
|
|
81
60
|
exports.resolveIconStyleMappingsForSummaryPreview = resolveIconStyleMappingsForSummaryPreview;
|
|
82
|
-
/**
|
|
83
|
-
* Look up `cellValue` in the mapping list using the configured match mode.
|
|
84
|
-
*
|
|
85
|
-
* Strict equality covers the typed case (numeric / boolean keys) — string
|
|
86
|
-
* comparison falls back to a case-insensitive match when configured so the
|
|
87
|
-
* same preset works for `'GBP'` and `'gbp'` etc.
|
|
88
|
-
*/
|
|
89
61
|
const findMapping = (mappings, cellValue, matchMode) => {
|
|
90
62
|
if (!mappings || mappings.length === 0)
|
|
91
63
|
return undefined;
|
|
@@ -94,17 +66,11 @@ const findMapping = (mappings, cellValue, matchMode) => {
|
|
|
94
66
|
return mappings.find((m) => {
|
|
95
67
|
if (typeof m.Key === 'string')
|
|
96
68
|
return m.Key.toLowerCase() === needle;
|
|
97
|
-
// For non-string keys (number / boolean) compare textually so e.g.
|
|
98
|
-
// `Key: 1` matches the string `'1'`.
|
|
99
69
|
return String(m.Key) === cellValue;
|
|
100
70
|
});
|
|
101
71
|
}
|
|
102
72
|
return mappings.find((m) => m.Key === cellValue);
|
|
103
73
|
};
|
|
104
|
-
/**
|
|
105
|
-
* Returns true when the spec is a plain string (emoji / glyph) — anything
|
|
106
|
-
* else is an `AdaptableIcon` and goes through `IconComponent`.
|
|
107
|
-
*/
|
|
108
74
|
const isInlineGlyph = (spec) => {
|
|
109
75
|
return typeof spec === 'string';
|
|
110
76
|
};
|
|
@@ -114,11 +80,6 @@ const isAdaptableIconSpec = (spec) => {
|
|
|
114
80
|
(0, Icon_1.isAdaptableCustomIcon)(spec) ||
|
|
115
81
|
(0, Icon_1.isAdaptableElementIcon)(spec)));
|
|
116
82
|
};
|
|
117
|
-
/**
|
|
118
|
-
* Renders the icon side of the cell. Strings are rendered as inline
|
|
119
|
-
* glyphs (emoji-friendly); `AdaptableIcon` specs go through the existing
|
|
120
|
-
* `IconComponent` so URL / system / element icons all "just work".
|
|
121
|
-
*/
|
|
122
83
|
const renderIconSpec = (spec, size, className) => {
|
|
123
84
|
if (isInlineGlyph(spec)) {
|
|
124
85
|
return React.createElement('span', {
|
|
@@ -202,8 +163,6 @@ const getIconRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
202
163
|
const textPosition = cellTextProperties?.CellTextPosition ?? 'After';
|
|
203
164
|
const cellTextTokens = cellTextProperties?.CellText ?? [];
|
|
204
165
|
const matchMode = iconStyle.MatchMode ?? 'Exact';
|
|
205
|
-
// Resolve once at column-setup time. Cheap; recomputed when the column
|
|
206
|
-
// is reconfigured (which is when this factory is re-invoked anyway).
|
|
207
166
|
const effectiveMappings = (0, exports.resolveEffectiveIconStyleMappings)(iconStyle);
|
|
208
167
|
return class IconCellRenderer {
|
|
209
168
|
eGui;
|
|
@@ -220,9 +179,6 @@ const getIconRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
220
179
|
this.eGui.style.alignItems = 'center';
|
|
221
180
|
this.eGui.style.height = '100%';
|
|
222
181
|
this.eGui.style.width = '100%';
|
|
223
|
-
// Defer to the shared row-scope helper so behaviour is uniform
|
|
224
|
-
// across every Styled Column type and `StyledColumn.RowScope` can
|
|
225
|
-
// override the default ("leaf rows only" for Icon).
|
|
226
182
|
if (!(0, StyledColumnHelper_1.shouldRenderStyledColumnOnRow)(styledColumn, params.node, adaptableApi)) {
|
|
227
183
|
if (params.value != undefined) {
|
|
228
184
|
this.eGui.append(String(params.value));
|
|
@@ -236,10 +192,6 @@ const getIconRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
236
192
|
: findMapping(effectiveMappings, cellValue, matchMode);
|
|
237
193
|
const formatted = params.formatValue?.(cellValue) ??
|
|
238
194
|
(cellValue != undefined ? String(cellValue) : '');
|
|
239
|
-
// `CellText` describes the *companion text alongside a matched icon*.
|
|
240
|
-
// `FallbackProperties.Mode` describes *what to do when no mapping matches*.
|
|
241
|
-
// They are independent: when there is no match, the fallback decides
|
|
242
|
-
// on its own — `CellText` does not get to override `Mode: 'Hide'`.
|
|
243
195
|
let iconSpec;
|
|
244
196
|
let text;
|
|
245
197
|
let descriptionForTooltip;
|
|
@@ -256,7 +208,6 @@ const getIconRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
256
208
|
text = textParts.length > 0 ? textParts.join(' · ') : undefined;
|
|
257
209
|
}
|
|
258
210
|
else if (!cellValueIsEmpty) {
|
|
259
|
-
// Unmatched, non-empty cell: defer entirely to the fallback config.
|
|
260
211
|
const fallbackMode = iconStyle.FallbackProperties?.Mode ?? 'Hide';
|
|
261
212
|
const fallbackIcon = iconStyle.FallbackProperties?.Icon;
|
|
262
213
|
if (fallbackMode === 'ShowText') {
|
|
@@ -265,11 +216,7 @@ const getIconRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
265
216
|
else if (fallbackMode === 'Icon' && fallbackIcon) {
|
|
266
217
|
iconSpec = fallbackIcon;
|
|
267
218
|
}
|
|
268
|
-
// 'Hide' (and the unsupported permutations) render nothing.
|
|
269
219
|
}
|
|
270
|
-
// else: empty cell → render nothing, regardless of fallback config.
|
|
271
|
-
// If we have nothing to draw, leave the cell empty (and skip mounting
|
|
272
|
-
// a React root for this row).
|
|
273
220
|
if (!iconSpec && !text) {
|
|
274
221
|
return;
|
|
275
222
|
}
|
|
@@ -295,13 +242,11 @@ const getIconRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
295
242
|
this.unmountReactRoot?.();
|
|
296
243
|
}
|
|
297
244
|
refresh(_params) {
|
|
298
|
-
// Force a re-init on every value change so the matched icon is fresh.
|
|
299
245
|
return false;
|
|
300
246
|
}
|
|
301
247
|
};
|
|
302
248
|
};
|
|
303
249
|
exports.getIconRendererForColumn = getIconRendererForColumn;
|
|
304
|
-
/** Helper exposed for the tooltip getter in `AgGridColumnAdapter`. */
|
|
305
250
|
const findIconStyleMappingForValue = (iconStyle, cellValue) => {
|
|
306
251
|
if (!iconStyle)
|
|
307
252
|
return undefined;
|
|
@@ -6,15 +6,6 @@ const Helper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/Helper
|
|
|
6
6
|
const NumberExtensions_1 = require("../../Utilities/Extensions/NumberExtensions");
|
|
7
7
|
const StyledColumnHelper_1 = require("../../Utilities/Helpers/StyledColumns/StyledColumnHelper");
|
|
8
8
|
const BarStylesHelper_1 = require("../../Utilities/Helpers/StyledColumns/BarStylesHelper");
|
|
9
|
-
/**
|
|
10
|
-
* Resolve the origin value (in the same numeric space as `min`/`max`) the bar
|
|
11
|
-
* should grow from.
|
|
12
|
-
*
|
|
13
|
-
* - `'Min'` - left edge (legacy behaviour: bar always anchored at min)
|
|
14
|
-
* - `'Zero'` - always 0 (centred axis)
|
|
15
|
-
* - `'Auto'` - 0 if any negatives are involved, otherwise min
|
|
16
|
-
* - `number` - explicit origin
|
|
17
|
-
*/
|
|
18
9
|
const resolveOrigin = (percentBarStyle, cellValue, min, max) => {
|
|
19
10
|
const origin = percentBarStyle.Origin ?? 'Auto';
|
|
20
11
|
if (typeof origin === 'number') {
|
|
@@ -26,7 +17,6 @@ const resolveOrigin = (percentBarStyle, cellValue, min, max) => {
|
|
|
26
17
|
if (origin === 'Min') {
|
|
27
18
|
return min;
|
|
28
19
|
}
|
|
29
|
-
// Auto - centred axis only when negatives are in play.
|
|
30
20
|
if (min < 0 || max < 0 || cellValue < 0) {
|
|
31
21
|
return 0;
|
|
32
22
|
}
|
|
@@ -38,7 +28,6 @@ const toFraction = (value, min, max) => {
|
|
|
38
28
|
}
|
|
39
29
|
return (0, NumberExtensions_1.clamp)((value - min) / (max - min), 0, 1);
|
|
40
30
|
};
|
|
41
|
-
/** Column-comparison mode: centred 50% axis when Origin is Auto or Zero. */
|
|
42
31
|
const columnComparisonUsesCentredAxis = (origin) => {
|
|
43
32
|
const o = origin ?? 'Auto';
|
|
44
33
|
if (typeof o === 'number') {
|
|
@@ -53,9 +42,6 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
53
42
|
return class PercentBarRenderer {
|
|
54
43
|
eGui;
|
|
55
44
|
init(params) {
|
|
56
|
-
// Defer to the shared row-scope helper. Default behaviour
|
|
57
|
-
// ("group rows fall back to plain text") is preserved when
|
|
58
|
-
// `RowScope` is unset.
|
|
59
45
|
if (!(0, StyledColumnHelper_1.shouldRenderStyledColumnOnRow)(styledColumn, params.node, api)) {
|
|
60
46
|
if (params.value != undefined) {
|
|
61
47
|
this.eGui = document.createElement('div');
|
|
@@ -64,15 +50,11 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
64
50
|
return;
|
|
65
51
|
}
|
|
66
52
|
const rawCellValue = params.value;
|
|
67
|
-
// Empty / null cells render as nothing - drawing a 0%-wide bar would
|
|
68
|
-
// misleadingly suggest the cell value is at the origin.
|
|
69
53
|
if (Helper_1.default.objectNotExists(rawCellValue)) {
|
|
70
54
|
this.eGui = document.createElement('div');
|
|
71
55
|
return;
|
|
72
56
|
}
|
|
73
57
|
const numericValue = typeof rawCellValue === 'number' ? rawCellValue : Number(rawCellValue);
|
|
74
|
-
// Non-numeric strings ('—', 'N/A', etc.) get the same plain-text
|
|
75
|
-
// treatment as group rows.
|
|
76
58
|
if (isNaN(numericValue)) {
|
|
77
59
|
this.eGui = document.createElement('div');
|
|
78
60
|
this.eGui.append(params.formatValue?.(rawCellValue) ?? String(rawCellValue));
|
|
@@ -81,23 +63,16 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
81
63
|
const min = api.styledColumnApi.internalApi.getNumericStyleMinValue(styledColumn, abColumn, params.node, rawCellValue);
|
|
82
64
|
const max = api.styledColumnApi.internalApi.getNumericStyleMaxValue(styledColumn, abColumn, params.node, rawCellValue);
|
|
83
65
|
const percentBarStyle = styledColumn.PercentBarStyle;
|
|
84
|
-
// ----- Compute the bar geometry --------------------------------------
|
|
85
|
-
// We always lay out the bar with `left%` and `width%` (instead of just
|
|
86
|
-
// `width%`) so that the bar can be anchored to any origin between min
|
|
87
|
-
// and max - including a centred 0 axis for columns with negatives.
|
|
88
66
|
let percentageValue;
|
|
89
67
|
let barLeftPercent;
|
|
90
68
|
let barWidthPercent;
|
|
91
69
|
if (percentBarStyle.ColumnComparison) {
|
|
92
|
-
// Finance convention: (difference / |base|) * 100 - signed %.
|
|
93
70
|
const absMax = Math.abs(max);
|
|
94
71
|
percentageValue = absMax === 0 ? 0 : (numericValue / absMax) * 100;
|
|
95
72
|
const magnitude = Math.min(100, Math.abs(percentageValue));
|
|
96
73
|
const origin = percentBarStyle.Origin ?? 'Auto';
|
|
97
74
|
const isCentred = columnComparisonUsesCentredAxis(origin);
|
|
98
75
|
if (isCentred) {
|
|
99
|
-
// Centred at 50%: positive bars grow right from the centre, negative
|
|
100
|
-
// bars grow left. Width is half the magnitude (50 = full half-width).
|
|
101
76
|
const halfWidth = magnitude / 2;
|
|
102
77
|
if (percentageValue >= 0) {
|
|
103
78
|
barLeftPercent = 50;
|
|
@@ -109,20 +84,16 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
109
84
|
}
|
|
110
85
|
}
|
|
111
86
|
else {
|
|
112
|
-
// Legacy behaviour: anchored at left, bar width = |percentage|.
|
|
113
87
|
barLeftPercent = 0;
|
|
114
88
|
barWidthPercent = magnitude;
|
|
115
89
|
}
|
|
116
90
|
}
|
|
117
91
|
else if (max === min) {
|
|
118
|
-
// No usable scale - bar is invisible but we still want to fall through
|
|
119
|
-
// and render the cell text below.
|
|
120
92
|
percentageValue = 0;
|
|
121
93
|
barLeftPercent = 0;
|
|
122
94
|
barWidthPercent = 0;
|
|
123
95
|
}
|
|
124
96
|
else {
|
|
125
|
-
// Linear value-on-scale.
|
|
126
97
|
percentageValue = (((0, NumberExtensions_1.clamp)(numericValue, min, max) - min) / (max - min)) * 100;
|
|
127
98
|
const origin = resolveOrigin(percentBarStyle, numericValue, min, max);
|
|
128
99
|
const valueFrac = toFraction(numericValue, min, max);
|
|
@@ -132,7 +103,6 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
132
103
|
barLeftPercent = start * 100;
|
|
133
104
|
barWidthPercent = (end - start) * 100;
|
|
134
105
|
}
|
|
135
|
-
// ----- Resolve bar colour -------------------------------------------
|
|
136
106
|
let cellBackColor;
|
|
137
107
|
if (percentBarStyle.ColumnComparison) {
|
|
138
108
|
cellBackColor = percentBarStyle.ColumnComparison.Color;
|
|
@@ -143,21 +113,14 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
143
113
|
cellBackColor = matchingRange.Color;
|
|
144
114
|
}
|
|
145
115
|
}
|
|
146
|
-
// ----- Build the DOM -------------------------------------------------
|
|
147
116
|
const cellTextProperties = percentBarStyle.CellTextProperties;
|
|
148
117
|
const hasCellText = (0, BarStylesHelper_1.hasBarStyleCellTextConfigured)(cellTextProperties);
|
|
149
|
-
// Wrapper always fills the cell. The bar is the flex-grow child so it
|
|
150
|
-
// claims whatever space the (compact) text rows leave, with a small
|
|
151
|
-
// floor to stay visible even on short rows.
|
|
152
118
|
this.eGui = document.createElement('div');
|
|
153
119
|
this.eGui.className = 'ab-PercentBar__wrapper';
|
|
154
120
|
this.eGui.style.height = '100%';
|
|
155
121
|
this.eGui.style.display = 'flex';
|
|
156
122
|
this.eGui.style.flexDirection = 'column';
|
|
157
123
|
this.eGui.style.justifyContent = 'center';
|
|
158
|
-
// Even when no range matches we still draw the bar track (with its
|
|
159
|
-
// back colour) so the cell isn't blank - this used to be a silent
|
|
160
|
-
// failure mode where the entire cell rendered nothing.
|
|
161
124
|
const barEl = document.createElement('div');
|
|
162
125
|
barEl.className = 'ab-PercentBar__bar';
|
|
163
126
|
barEl.style.position = 'relative';
|
|
@@ -165,22 +128,13 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
165
128
|
barEl.style.background = percentBarStyle.BackColor;
|
|
166
129
|
}
|
|
167
130
|
barEl.style.flex = '1 1 0';
|
|
168
|
-
// Floor so the bar can't be squeezed out of existence when both
|
|
169
|
-
// `Above` and `Below` bands are populated on a short row.
|
|
170
131
|
barEl.style.minHeight = '6px';
|
|
171
|
-
// Render the inside bar whenever a colour has been resolved, even at
|
|
172
|
-
// 0% width. A zero-width div is visually identical to skipping the
|
|
173
|
-
// element but keeps the DOM consistent so tests / tooling can still
|
|
174
|
-
// read the bar's reported width when a cell sits exactly at the origin
|
|
175
|
-
// (e.g. a value equal to Col-Min, or a 0 against a `MaxValue` column).
|
|
176
132
|
if (cellBackColor) {
|
|
177
133
|
const barInsideEl = document.createElement('div');
|
|
178
134
|
barInsideEl.className = 'ab-PercentBar__barInside';
|
|
179
135
|
barInsideEl.style.background = cellBackColor;
|
|
180
136
|
barInsideEl.style.height = '100%';
|
|
181
137
|
barInsideEl.style.position = 'absolute';
|
|
182
|
-
// Sub-pixel precision avoids rounding 0.4% values down to 0
|
|
183
|
-
// (invisible) or making ticking data jump in 1% steps.
|
|
184
138
|
barInsideEl.style.left = `${barLeftPercent.toFixed(2)}%`;
|
|
185
139
|
barInsideEl.style.width = `${barWidthPercent.toFixed(2)}%`;
|
|
186
140
|
barInsideEl.style.top = '0';
|
|
@@ -188,10 +142,6 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
188
142
|
}
|
|
189
143
|
this.eGui.append(barEl);
|
|
190
144
|
if (hasCellText) {
|
|
191
|
-
// Coerce to string: when no `valueFormatter` is set on the column,
|
|
192
|
-
// `params.formatValue` returns the raw value (a number for numeric
|
|
193
|
-
// columns), which then propagates through the helpers as a non-string
|
|
194
|
-
// and breaks string-only operations (e.g. `.length` checks).
|
|
195
145
|
const formattedCellValue = String(params.formatValue?.(rawCellValue) ?? rawCellValue);
|
|
196
146
|
const labels = (0, BarStylesHelper_1.buildBarStyleCellTextLabels)(cellTextProperties, formattedCellValue, `${percentageValue.toFixed(0)}%`);
|
|
197
147
|
(0, BarStylesHelper_1.mountBarStyleCellText)({
|
|
@@ -208,7 +158,6 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
208
158
|
return this.eGui;
|
|
209
159
|
}
|
|
210
160
|
refresh(_params) {
|
|
211
|
-
// by returning FALSE we force a re-render every time the cell value changes
|
|
212
161
|
return false;
|
|
213
162
|
}
|
|
214
163
|
};
|