@adaptabletools/adaptable 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 +1 -9
- 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.esm.tsbuildinfo +1 -1
- package/src/Utilities/Services/Interface/IMetamodelService.d.ts +0 -20
- package/src/Utilities/Services/Interface/IMetamodelService.js +0 -1
- package/src/Utilities/Services/MetamodelService.d.ts +0 -17
- package/src/Utilities/Services/MetamodelService.js +0 -162
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +0 -6
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +0 -99
- package/src/metamodel/adaptable-metamodel-model.d.ts +0 -26
- package/src/metamodel/adaptable-metamodel-model.js +0 -1
- package/src/metamodel/adaptable.metamodel.d.ts +0 -6244
- package/src/metamodel/adaptable.metamodel.js +0 -1
|
@@ -10,10 +10,6 @@ import { convertCSSAbsoluteFontSizeToPt, getVariableColor, sanitizeStyle, } from
|
|
|
10
10
|
import { waitForTimeout } from '../Utilities/waitForTimeout';
|
|
11
11
|
export class AgGridExportAdapter {
|
|
12
12
|
_adaptableInstance;
|
|
13
|
-
/**
|
|
14
|
-
* !!!
|
|
15
|
-
* do NOT mutate this array reference, this is passed only initially to AG Grid and we can only change it's internal state
|
|
16
|
-
*/
|
|
17
13
|
DANGER_excelStyles = [];
|
|
18
14
|
originalExcelStyles = [];
|
|
19
15
|
excelStylesCache = {};
|
|
@@ -69,8 +65,6 @@ export class AgGridExportAdapter {
|
|
|
69
65
|
this.adaptableApi.userInterfaceApi.showProgressIndicator({
|
|
70
66
|
text: `Exporting ${report.Name}...`,
|
|
71
67
|
});
|
|
72
|
-
// waitForTimeout required to give the ProgressIndicator rendering a head-start (see rAF in ProgressIndicator implementation)
|
|
73
|
-
// see #raf_progress_indicator
|
|
74
68
|
await waitForTimeout(16);
|
|
75
69
|
}
|
|
76
70
|
this.adaptableApi.exportApi.internalApi.setExportInProgress(config.report.Name, config.format, config.destination);
|
|
@@ -78,19 +72,12 @@ export class AgGridExportAdapter {
|
|
|
78
72
|
const { exportContext, exportParams } = exportProcessData;
|
|
79
73
|
if (this.adaptableApi.layoutApi.isCurrentLayoutPivot() &&
|
|
80
74
|
config.report.ReportRowScope === 'AllRows') {
|
|
81
|
-
// if in pivot mode but the user wants to export all rows (aka the table row data), we cannot use AG Grids row model
|
|
82
|
-
// we have to use an intermediary transient AG Grid instance
|
|
83
75
|
return this.adaptableApi.exportApi.internalApi.exportAllDataInPivotMode(exportProcessData);
|
|
84
76
|
}
|
|
85
77
|
if (exportContext.isVisualExcelReport) {
|
|
86
|
-
// FIXME AFL patch styles only for exported columns!
|
|
87
|
-
// or even better, only cells
|
|
88
78
|
this.patchExcelStyles(exportContext);
|
|
89
79
|
excelStylesWerePatched = true;
|
|
90
80
|
}
|
|
91
|
-
// see #export_data_synchronously
|
|
92
|
-
// 1. easiest case, we download the file using AG Grid
|
|
93
|
-
// these methods will automatically handle the file download
|
|
94
81
|
if (exportContext.destination === 'Download' && exportContext.isExcelReport) {
|
|
95
82
|
this.agGridApi.exportDataAsExcel(exportParams);
|
|
96
83
|
return;
|
|
@@ -99,8 +86,6 @@ export class AgGridExportAdapter {
|
|
|
99
86
|
this.agGridApi.exportDataAsCsv(exportParams);
|
|
100
87
|
return;
|
|
101
88
|
}
|
|
102
|
-
// 2. we have to handle the export ourselves
|
|
103
|
-
// we get the report data and return it, so that the caller can handle it
|
|
104
89
|
if (exportContext.isExcelReport) {
|
|
105
90
|
return {
|
|
106
91
|
type: 'excel',
|
|
@@ -114,7 +99,6 @@ export class AgGridExportAdapter {
|
|
|
114
99
|
data: csvReportData,
|
|
115
100
|
};
|
|
116
101
|
}
|
|
117
|
-
// convert the CSV data to JSON
|
|
118
102
|
const jsonReportData = this.mapCsvToJson(csvReportData, exportContext);
|
|
119
103
|
return {
|
|
120
104
|
type: 'json',
|
|
@@ -125,9 +109,6 @@ export class AgGridExportAdapter {
|
|
|
125
109
|
this.logger.consoleError(`Export failed: report="${report.Name}", format="${format}", destination="${config.destination}".`, error.stack);
|
|
126
110
|
}
|
|
127
111
|
finally {
|
|
128
|
-
/**
|
|
129
|
-
* Cleanup export process
|
|
130
|
-
*/
|
|
131
112
|
this.adaptableApi.exportApi.internalApi.setExportComplete();
|
|
132
113
|
if (excelStylesWerePatched) {
|
|
133
114
|
this.resetExcelStyles();
|
|
@@ -137,9 +118,6 @@ export class AgGridExportAdapter {
|
|
|
137
118
|
}
|
|
138
119
|
}
|
|
139
120
|
}
|
|
140
|
-
/**
|
|
141
|
-
* Creates export context and parameters for a given export configuration
|
|
142
|
-
*/
|
|
143
121
|
buildExportProcessData(config) {
|
|
144
122
|
const exportContext = this.buildExportProcessContext(config);
|
|
145
123
|
let exportParams = this.buildExportParams(exportContext);
|
|
@@ -163,25 +141,21 @@ export class AgGridExportAdapter {
|
|
|
163
141
|
excelExportParams.sheetName = sheetName;
|
|
164
142
|
return excelExportParams;
|
|
165
143
|
}
|
|
166
|
-
// for everything else we use the CSV export
|
|
167
144
|
const csvExportParams = baseExportParams;
|
|
168
145
|
csvExportParams.columnSeparator = this.getCsvSeparator(exportContext);
|
|
169
146
|
return csvExportParams;
|
|
170
147
|
}
|
|
171
148
|
buildBaseExportParams(exportContext) {
|
|
172
|
-
// TODO AFL: get custom info from user/ExportOptions for ExcelExportParams?
|
|
173
149
|
const params = {};
|
|
174
150
|
const { columnKeys, exportedRows, shouldRowBeSkipped, skipRowGroups, rowGroupExpandState } = this.getReportColsAndRows(exportContext);
|
|
175
151
|
params.columnKeys = columnKeys;
|
|
176
152
|
params.exportedRows = exportedRows;
|
|
177
153
|
params.shouldRowBeSkipped = shouldRowBeSkipped;
|
|
178
154
|
params.skipRowGroups = skipRowGroups;
|
|
179
|
-
// only Excel supports expanded state configuration, but setting it for all formats won't hurt, it will just be ignored
|
|
180
155
|
params.rowGroupExpandState = rowGroupExpandState;
|
|
181
156
|
params.fileName = this.adaptableApi.exportApi.internalApi.getReportFileName(exportContext.report.Name, exportContext.format, exportContext.destination);
|
|
182
157
|
params.skipColumnHeaders = this.computeSkipColumnHeaders(exportContext);
|
|
183
158
|
if (!exportContext.isExcelReport && exportContext.format !== 'CSV') {
|
|
184
|
-
// if we map CSV to JSON, we don't want to skip the column headers
|
|
185
159
|
params.skipColumnHeaders = false;
|
|
186
160
|
}
|
|
187
161
|
params.getCustomContentBelowRow = this.computeGetCustomContentBelowRow(exportContext);
|
|
@@ -191,8 +165,6 @@ export class AgGridExportAdapter {
|
|
|
191
165
|
}
|
|
192
166
|
computeProcessRowGroupCallback(exportContext) {
|
|
193
167
|
return (params) => {
|
|
194
|
-
// recreating the standard AG Grid styling for row groups: 'Parent -> Child'
|
|
195
|
-
// additionally the values are formatted
|
|
196
168
|
let rowGroupNode = params.node;
|
|
197
169
|
const agColumn = params.column;
|
|
198
170
|
const rowGroupSummary = [
|
|
@@ -217,18 +189,13 @@ export class AgGridExportAdapter {
|
|
|
217
189
|
const { node, column, value } = params;
|
|
218
190
|
const colId = column.getColId();
|
|
219
191
|
if (exportContext.report.ReportRowScope === 'SelectedRows') {
|
|
220
|
-
|
|
221
|
-
if (
|
|
222
|
-
// see #isCellPartOfSelection
|
|
223
|
-
!exportContext.isCellPartOfSelection(params.node.id, colId))
|
|
192
|
+
if (!exportContext.isCellPartOfSelection(params.node.id, colId))
|
|
224
193
|
return '';
|
|
225
194
|
}
|
|
226
195
|
const columnId = column.getColId();
|
|
227
196
|
if (node?.group &&
|
|
228
197
|
(this.adaptableApi.columnApi.isAutoRowGroupColumn(columnId) ||
|
|
229
|
-
// we would still need to process the cell if this is a group row with an aggregated value
|
|
230
198
|
node?.aggData?.[columnId] == undefined)) {
|
|
231
|
-
// skip processing of row groups, this was already handled in processRowGroupCallback()
|
|
232
199
|
return value;
|
|
233
200
|
}
|
|
234
201
|
return this.processCellForExcelExport(node, columnId, exportContext);
|
|
@@ -236,33 +203,19 @@ export class AgGridExportAdapter {
|
|
|
236
203
|
}
|
|
237
204
|
getReportColsAndRows(exportContext) {
|
|
238
205
|
const { report, exportedColumnIds, isExportingVisibleColumnToJSON } = exportContext;
|
|
239
|
-
/**
|
|
240
|
-
* 1. columnKeys
|
|
241
|
-
*/
|
|
242
206
|
const columnKeys = exportedColumnIds;
|
|
243
|
-
|
|
244
|
-
* 2. exportedRows
|
|
245
|
-
*/
|
|
246
|
-
let exportedRows = 'all'; // 'AllRows' or 'ExpressionRows'
|
|
207
|
+
let exportedRows = 'all';
|
|
247
208
|
if (report.ReportRowScope === 'VisibleRows' || report.ReportRowScope === 'SelectedRows') {
|
|
248
209
|
exportedRows = 'filteredAndSorted';
|
|
249
210
|
}
|
|
250
|
-
/**
|
|
251
|
-
* 3. shouldRowBeSkipped
|
|
252
|
-
*/
|
|
253
211
|
let shouldRowBeSkipped;
|
|
254
|
-
// 'AllRows' or 'VisibleRows': no need to skip rows as we are exporting all rows
|
|
255
212
|
if (report.ReportRowScope === 'SelectedRows') {
|
|
256
|
-
// mapping of row ids to column ids which contain selected cells
|
|
257
|
-
// or true if the whole row is selected
|
|
258
213
|
const selectedRowColumnMapping = new Map();
|
|
259
|
-
// ids of selected rows
|
|
260
214
|
this.adaptableApi.gridApi.getSelectedRowInfo().gridRows?.forEach((row) => {
|
|
261
215
|
if (row?.rowNode?.id) {
|
|
262
216
|
selectedRowColumnMapping.set(row.rowNode.id, true);
|
|
263
217
|
}
|
|
264
218
|
});
|
|
265
|
-
// ids of rows which contain selected cells
|
|
266
219
|
this.adaptableApi.gridApi.getSelectedCellInfo().gridCells?.map((gridCell) => {
|
|
267
220
|
if (gridCell.rowNode?.id) {
|
|
268
221
|
const selectedColumns = selectedRowColumnMapping.get(gridCell.rowNode.id);
|
|
@@ -272,13 +225,11 @@ export class AgGridExportAdapter {
|
|
|
272
225
|
else if (selectedColumns instanceof Set) {
|
|
273
226
|
selectedColumns.add(gridCell.column.columnId);
|
|
274
227
|
}
|
|
275
|
-
// else no nothing, the entire row is selected
|
|
276
228
|
}
|
|
277
229
|
});
|
|
278
230
|
shouldRowBeSkipped = (params) => {
|
|
279
231
|
return !selectedRowColumnMapping.has(params.node.id);
|
|
280
232
|
};
|
|
281
|
-
// #isCellPartOfSelection
|
|
282
233
|
exportContext.isCellPartOfSelection = (rowId, columnId) => {
|
|
283
234
|
const selectedRow = selectedRowColumnMapping.get(rowId);
|
|
284
235
|
if (selectedRow === true) {
|
|
@@ -298,21 +249,13 @@ export class AgGridExportAdapter {
|
|
|
298
249
|
return !rowNodeMatchesExpression;
|
|
299
250
|
};
|
|
300
251
|
}
|
|
301
|
-
/**
|
|
302
|
-
* 4. skipRowGroups
|
|
303
|
-
*/
|
|
304
252
|
let skipRowGroups;
|
|
305
253
|
if (report.ReportRowScope === 'AllRows' || isExportingVisibleColumnToJSON) {
|
|
306
|
-
// we want to return the entire data, without the groups
|
|
307
254
|
skipRowGroups = true;
|
|
308
255
|
}
|
|
309
256
|
if (this.isTreeDataGrid()) {
|
|
310
|
-
// we need the group rows for TreeData
|
|
311
257
|
skipRowGroups = false;
|
|
312
258
|
}
|
|
313
|
-
/**
|
|
314
|
-
* 5. rowGroupExpandState
|
|
315
|
-
*/
|
|
316
259
|
let rowGroupExpandState = 'expanded';
|
|
317
260
|
if (report.ReportRowScope === 'VisibleRows') {
|
|
318
261
|
rowGroupExpandState = 'match';
|
|
@@ -334,7 +277,6 @@ export class AgGridExportAdapter {
|
|
|
334
277
|
.getExportableColumns()
|
|
335
278
|
.map((col) => col.columnId);
|
|
336
279
|
const exportableColumnIdsSet = new Set(exportableColumnIds);
|
|
337
|
-
// we compute the exported column keys early, as we need them for other parts of the export process
|
|
338
280
|
const onlyExportableColumnIds = (columnId) => exportableColumnIdsSet.has(columnId);
|
|
339
281
|
const getVisibleColumnIds = () => {
|
|
340
282
|
return this.adaptableApi.layoutApi.isCurrentLayoutPivot()
|
|
@@ -355,8 +297,6 @@ export class AgGridExportAdapter {
|
|
|
355
297
|
case 'VisibleColumns':
|
|
356
298
|
exportedColumnIds = getVisibleColumnIds();
|
|
357
299
|
if (isExportingVisibleColumnToJSON) {
|
|
358
|
-
// for JSON we will export CSV and then convert to JSON
|
|
359
|
-
// in this case we have to map the auto-group columns to the real keys
|
|
360
300
|
exportedColumnIds = [
|
|
361
301
|
...groupColumnIds,
|
|
362
302
|
...exportedColumnIds.filter((columnId) => this.isTreeDataGrid() ||
|
|
@@ -368,16 +308,13 @@ export class AgGridExportAdapter {
|
|
|
368
308
|
case 'SelectedColumns':
|
|
369
309
|
const selectedRowInfo = this.adaptableApi.gridApi.getSelectedRowInfo();
|
|
370
310
|
if (selectedRowInfo?.gridRows?.length) {
|
|
371
|
-
// if there is at least one selected row, we have to export all visible columns
|
|
372
311
|
exportedColumnIds = getVisibleColumnIds();
|
|
373
312
|
}
|
|
374
313
|
else {
|
|
375
|
-
// otherwise, we can export only columns which contain selected cells
|
|
376
314
|
const selectedColumnIds = this.adaptableApi.gridApi
|
|
377
315
|
.getSelectedCellInfo()
|
|
378
316
|
.columns?.map((column) => column.columnId);
|
|
379
317
|
const selectedColumnIdsSet = new Set(selectedColumnIds.filter(onlyExportableColumnIds));
|
|
380
|
-
// ensure that column order is preserved
|
|
381
318
|
exportedColumnIds = getVisibleColumnIds().filter((colId) => selectedColumnIdsSet.has(colId));
|
|
382
319
|
}
|
|
383
320
|
break;
|
|
@@ -394,7 +331,6 @@ export class AgGridExportAdapter {
|
|
|
394
331
|
break;
|
|
395
332
|
default:
|
|
396
333
|
this.adaptableApi.logError('Invalid ReportColumnScope: ', report.ReportColumnScope);
|
|
397
|
-
// fallback to all columns
|
|
398
334
|
exportedColumnIds = exportableColumnIds;
|
|
399
335
|
}
|
|
400
336
|
return {
|
|
@@ -403,7 +339,6 @@ export class AgGridExportAdapter {
|
|
|
403
339
|
isExcelReport: config.format === 'Excel' || config.format === 'VisualExcel',
|
|
404
340
|
isVisualExcelReport: config.format === 'VisualExcel',
|
|
405
341
|
isExportingVisibleColumnToJSON,
|
|
406
|
-
// will be overriden later, see #isCellPartOfSelection
|
|
407
342
|
isCellPartOfSelection: () => false,
|
|
408
343
|
getCurrent: () => {
|
|
409
344
|
return {
|
|
@@ -419,7 +354,6 @@ export class AgGridExportAdapter {
|
|
|
419
354
|
const cellKey = AgGridExportAdapter.getExcelClassNameForCell(columnId, this.adaptableApi.gridApi.getPrimaryKeyValueForRowNode(rowNode));
|
|
420
355
|
const isoFormattedDate = this.getExcelStyleWithFormattedDate(cellKey);
|
|
421
356
|
if (isoFormattedDate) {
|
|
422
|
-
// this is a Date cell which will be formatted by Excel
|
|
423
357
|
return isoFormattedDate;
|
|
424
358
|
}
|
|
425
359
|
}
|
|
@@ -449,12 +383,9 @@ export class AgGridExportAdapter {
|
|
|
449
383
|
const columnDataType = this.adaptableApi.columnApi.getColumnDataTypeForColumnId(columnId);
|
|
450
384
|
if (columnDataType === 'date' &&
|
|
451
385
|
typeof rawValue === 'string' &&
|
|
452
|
-
// rawValue is composed only of digits
|
|
453
386
|
/^\d+$/.test(rawValue)) {
|
|
454
|
-
// AG-Grid converts the value to string, we have to reconvert it back
|
|
455
387
|
const dateRawValue = parseInt(rawValue);
|
|
456
388
|
if (dateRawValue != undefined) {
|
|
457
|
-
// @ts-ignore
|
|
458
389
|
rawValue = dateRawValue;
|
|
459
390
|
}
|
|
460
391
|
}
|
|
@@ -462,21 +393,16 @@ export class AgGridExportAdapter {
|
|
|
462
393
|
}
|
|
463
394
|
patchExcelStyles(exportContext) {
|
|
464
395
|
const exportExcelStyles = this.buildExcelStyles(exportContext);
|
|
465
|
-
// Concatenate exportExcelStyles to DANGER_excelStyles without changing the array reference
|
|
466
396
|
this.DANGER_excelStyles.push(...exportExcelStyles);
|
|
467
397
|
}
|
|
468
398
|
resetExcelStyles() {
|
|
469
|
-
// Revert to original state without changing the array reference
|
|
470
399
|
this.DANGER_excelStyles.splice(0, this.DANGER_excelStyles.length, ...this.originalExcelStyles);
|
|
471
400
|
this.excelStylesCache = {};
|
|
472
401
|
this.cellOrHeaderClassKey2ExcelStyleIdMap = {};
|
|
473
402
|
this.excelStylesWithFormattedDate = {};
|
|
474
403
|
}
|
|
475
404
|
buildExcelStyles(exportContext) {
|
|
476
|
-
// we make sure that we start with a clean slate
|
|
477
|
-
// theoretically this should have happened at the end of the export process, but just in case
|
|
478
405
|
this.resetExcelStyles();
|
|
479
|
-
// we memoize as much as possible, as this is called quite A LOT
|
|
480
406
|
const adaptableColumnMemo = {};
|
|
481
407
|
const getAdaptableColumnWithColumnId = (columnId) => {
|
|
482
408
|
const memoizedColumn = adaptableColumnMemo[columnId];
|
|
@@ -506,7 +432,6 @@ export class AgGridExportAdapter {
|
|
|
506
432
|
});
|
|
507
433
|
const forAllVisibleRowNodesDoConfig = { includeGroupRows: true };
|
|
508
434
|
const userExcelStyles = this.DANGER_excelStyles;
|
|
509
|
-
// 1. Header Styles
|
|
510
435
|
agGridDisplayedColumns.forEach((column, columnIndex) => {
|
|
511
436
|
const colDef = colDefs[columnIndex];
|
|
512
437
|
const columnId = column.getId();
|
|
@@ -524,7 +449,6 @@ export class AgGridExportAdapter {
|
|
|
524
449
|
};
|
|
525
450
|
const headerStyle = typeof colDef.headerStyle === 'function' ? colDef.headerStyle(headerClassParams) : {};
|
|
526
451
|
const excelHeaderStyles = [];
|
|
527
|
-
// add user defined excel styles
|
|
528
452
|
let userColDefHeaderClass = this._adaptableInstance.agGridColumnAdapter.getUserColDefProperty(column.getColId(), 'headerClass');
|
|
529
453
|
const userDefinedHeaderClass = typeof userColDefHeaderClass === 'function'
|
|
530
454
|
? userColDefHeaderClass(headerClassParams)
|
|
@@ -538,7 +462,6 @@ export class AgGridExportAdapter {
|
|
|
538
462
|
if (userDefinedExcelHeaderStyle) {
|
|
539
463
|
excelHeaderStyles.push(userDefinedExcelHeaderStyle);
|
|
540
464
|
}
|
|
541
|
-
// add adaptable derived styles (format column etc.)
|
|
542
465
|
const adaptableHeaderStyle = {
|
|
543
466
|
...Object.keys(headerStyle).reduce((result, key) => {
|
|
544
467
|
if (headerStyle[key] !== null) {
|
|
@@ -551,7 +474,6 @@ export class AgGridExportAdapter {
|
|
|
551
474
|
if (Object.values(sanitizedAdaptableHeaderStyle).some((style) => style != null)) {
|
|
552
475
|
excelHeaderStyles.push(this.convertCSSToExcelStyle(sanitizedAdaptableHeaderStyle));
|
|
553
476
|
}
|
|
554
|
-
// don't add the header style if it has no adaptable custom styles
|
|
555
477
|
if (!excelHeaderStyles.length) {
|
|
556
478
|
return;
|
|
557
479
|
}
|
|
@@ -559,7 +481,6 @@ export class AgGridExportAdapter {
|
|
|
559
481
|
const finalHeaderExcelStyle = Object.assign({}, ...excelHeaderStyles);
|
|
560
482
|
this.registerExcelStyle(finalHeaderExcelStyle, headerClassId);
|
|
561
483
|
});
|
|
562
|
-
// 2. Cell Styles
|
|
563
484
|
this.adaptableApi.internalApi.forAllVisibleRowNodesDo((node, rowIndex) => {
|
|
564
485
|
const rowParams = {
|
|
565
486
|
node,
|
|
@@ -597,7 +518,6 @@ export class AgGridExportAdapter {
|
|
|
597
518
|
};
|
|
598
519
|
const cellStyle = typeof colDef.cellStyle === 'function' ? colDef.cellStyle(getLazyCellClassParams()) : {};
|
|
599
520
|
const excelCellStyles = [];
|
|
600
|
-
// add user defined excel styles
|
|
601
521
|
let userColDefCellClass = this._adaptableInstance.agGridColumnAdapter.getUserColDefProperty(column.getColId(), 'cellClass');
|
|
602
522
|
const userDefinedCellClass = typeof userColDefCellClass === 'function'
|
|
603
523
|
? userColDefCellClass(getLazyCellClassParams())
|
|
@@ -611,7 +531,6 @@ export class AgGridExportAdapter {
|
|
|
611
531
|
if (userDefinedExcelStyle) {
|
|
612
532
|
excelCellStyles.push(userDefinedExcelStyle);
|
|
613
533
|
}
|
|
614
|
-
// add adaptable derived styles (format column etc.)
|
|
615
534
|
const adaptableCellStyle = {
|
|
616
535
|
...rowStyle,
|
|
617
536
|
...Object.keys(cellStyle).reduce((result, key) => {
|
|
@@ -627,9 +546,7 @@ export class AgGridExportAdapter {
|
|
|
627
546
|
}
|
|
628
547
|
const excelDataType = this.getExcelDataType(adaptableColumn.dataType);
|
|
629
548
|
const rawValue = this.adaptableApi.gridApi.getRawValueFromRowNode(node, column.getId());
|
|
630
|
-
// don't add the cell style if it has no adaptable custom styles
|
|
631
549
|
if (!excelCellStyles.length &&
|
|
632
|
-
// if this is a formatted Date value, we still need to add the AG GRID specific type & numberFormat below
|
|
633
550
|
!(excelDataType === 'DateTime' && isDateCellExportedAsFormattedValue)) {
|
|
634
551
|
return;
|
|
635
552
|
}
|
|
@@ -654,18 +571,13 @@ export class AgGridExportAdapter {
|
|
|
654
571
|
: dateFormatPattern;
|
|
655
572
|
const normalisedValue = this._adaptableInstance.getNormalisedValueFromRawValue(rawValue, abColumn);
|
|
656
573
|
if (normalisedValue) {
|
|
657
|
-
// we have to pass the date in the ISO format to Excel
|
|
658
|
-
// see https://www.ag-grid.com/javascript-data-grid/excel-export-data-types/#dates
|
|
659
|
-
// we can NOT use Date.toISOString() because we don't want the timezone corrections to kick in
|
|
660
574
|
const isoFormattedValue = DateFormatter(normalisedValue, {
|
|
661
575
|
Pattern: `yyyy-MM-dd'T'HH:mm:ss.SSS`,
|
|
662
576
|
});
|
|
663
577
|
if (isoFormattedValue) {
|
|
664
578
|
finalCellExcelStyle.dataType = 'DateTime';
|
|
665
579
|
finalCellExcelStyle.numberFormat = { format: customDateFormatPattern };
|
|
666
|
-
// create a new cell key to ensure any user provided className does not interfere
|
|
667
580
|
const cellKey = AgGridExportAdapter.getExcelClassNameForCell(column.getColId(), this.adaptableApi.gridApi.getPrimaryKeyValueForRowNode(node));
|
|
668
|
-
// we need to register so that later the cellProcessor will put the isoFormattedValue through (thus giving the formatting responsability to Excel)
|
|
669
581
|
this.registerExcelStyleWithFormattedDate(cellKey, isoFormattedValue);
|
|
670
582
|
}
|
|
671
583
|
}
|
|
@@ -691,7 +603,6 @@ export class AgGridExportAdapter {
|
|
|
691
603
|
}
|
|
692
604
|
isDateCellExportedAsFormattedValue(abColumn, exportContext) {
|
|
693
605
|
return (!!this.exportOptions.exportDateFormat ||
|
|
694
|
-
// FIXME AFL move this method here
|
|
695
606
|
this.getCellExportFormatType(abColumn, 'date', exportContext) === 'formattedValue');
|
|
696
607
|
}
|
|
697
608
|
convertCSSToExcelStyle(style) {
|
|
@@ -795,12 +706,10 @@ export class AgGridExportAdapter {
|
|
|
795
706
|
reportData.pivotColumnIds = exportContext.getCurrent().pivotColumnIds;
|
|
796
707
|
}
|
|
797
708
|
}
|
|
798
|
-
// map Row Data
|
|
799
709
|
const schema = inferSchema(csvReportData, {
|
|
800
710
|
col: this.getCsvSeparator(exportContext),
|
|
801
711
|
header: (rows) => {
|
|
802
712
|
const headerRow = rows[0];
|
|
803
|
-
// replace headerNames with columnIds
|
|
804
713
|
headerRow.forEach((headerName, index) => {
|
|
805
714
|
const column = columns.find((col) => col.friendlyName === headerName);
|
|
806
715
|
if (column) {
|
|
@@ -858,7 +767,6 @@ export class AgGridExportAdapter {
|
|
|
858
767
|
createCellHeader: (cellContent) => {
|
|
859
768
|
return {
|
|
860
769
|
...this.adaptableApi.exportApi.internalApi.createCellHeader(cellContent),
|
|
861
|
-
// see #masterDetailHeader
|
|
862
770
|
styleId: '_masterDetailHeader',
|
|
863
771
|
};
|
|
864
772
|
},
|
|
@@ -887,12 +795,10 @@ export class AgGridExportAdapter {
|
|
|
887
795
|
}
|
|
888
796
|
const column = this.adaptableApi.columnApi.getColumnWithColumnId(columnId);
|
|
889
797
|
const columnDataType = column.dataType;
|
|
890
|
-
// 1. if it is a VisualExcel report format, we always ONLY send the formatted value and ignore all other properties
|
|
891
798
|
if (exportContext.isVisualExcelReport) {
|
|
892
799
|
return this.getCellExportValueFromRawValueByType(rowNode, cellRawValue, columnId, 'formattedValue');
|
|
893
800
|
}
|
|
894
801
|
const isDateColumn = columnDataType === 'date';
|
|
895
|
-
// 2. if this is a date column and there is a custom export date format provided, that will next take precedence
|
|
896
802
|
if (isDateColumn) {
|
|
897
803
|
const customExportDateFormat = this.getCustomExportDateFormat(column, exportContext);
|
|
898
804
|
if (!!customExportDateFormat) {
|
|
@@ -901,7 +807,6 @@ export class AgGridExportAdapter {
|
|
|
901
807
|
});
|
|
902
808
|
}
|
|
903
809
|
}
|
|
904
|
-
// 3. in all other cases check the general export format types
|
|
905
810
|
const cellExportFormat = this.getCellExportFormatType(column, columnDataType, exportContext);
|
|
906
811
|
return this.getCellExportValueFromRawValueByType(rowNode, cellRawValue, columnId, cellExportFormat);
|
|
907
812
|
}
|
|
@@ -914,17 +819,14 @@ export class AgGridExportAdapter {
|
|
|
914
819
|
})
|
|
915
820
|
: exportDateFormatOption;
|
|
916
821
|
}
|
|
917
|
-
getCellExportValueFromRawValueByType(rowNode, cellRawValue, columnId,
|
|
918
|
-
// default to rawValue if, for some reason, the configs provide invalid values
|
|
919
|
-
type = 'rawValue') {
|
|
822
|
+
getCellExportValueFromRawValueByType(rowNode, cellRawValue, columnId, type = 'rawValue') {
|
|
920
823
|
return type === 'rawValue'
|
|
921
824
|
? cellRawValue
|
|
922
|
-
:
|
|
825
|
+
:
|
|
923
826
|
this.adaptableApi.gridApi.getDisplayValueFromRawValue(rowNode, columnId, cellRawValue);
|
|
924
827
|
}
|
|
925
828
|
getCellExportFormatType(column, columnDataType, exportContext) {
|
|
926
829
|
const exportDataFormat = this.exportOptions.exportDataFormat;
|
|
927
|
-
// First check if a function was provided and return the result
|
|
928
830
|
if (exportDataFormat != null && typeof exportDataFormat === 'function') {
|
|
929
831
|
const context = {
|
|
930
832
|
...this.adaptableApi.exportApi.internalApi.buildBaseExportContext(exportContext.report.Name, exportContext.format, exportContext.destination),
|
|
@@ -932,17 +834,14 @@ export class AgGridExportAdapter {
|
|
|
932
834
|
};
|
|
933
835
|
return exportDataFormat(context);
|
|
934
836
|
}
|
|
935
|
-
// Next Check if a "hard-coded" value has been provided and return that
|
|
936
837
|
if (exportDataFormat === 'rawValue') {
|
|
937
838
|
return 'rawValue';
|
|
938
839
|
}
|
|
939
840
|
if (exportDataFormat === 'formattedValue') {
|
|
940
841
|
return 'formattedValue';
|
|
941
842
|
}
|
|
942
|
-
// Finally test if a DataType object has been provided and return the relevant property
|
|
943
843
|
const dataFormatDataType = exportDataFormat;
|
|
944
844
|
if (dataFormatDataType) {
|
|
945
|
-
// format is customized based on column data type
|
|
946
845
|
switch (columnDataType) {
|
|
947
846
|
case 'text':
|
|
948
847
|
return dataFormatDataType.text;
|
|
@@ -951,7 +850,6 @@ export class AgGridExportAdapter {
|
|
|
951
850
|
case 'date':
|
|
952
851
|
return dataFormatDataType.date;
|
|
953
852
|
default:
|
|
954
|
-
// default to rawValue for all other column types
|
|
955
853
|
return 'rawValue';
|
|
956
854
|
}
|
|
957
855
|
}
|
|
@@ -3,11 +3,9 @@ import { AdaptableColumnFilter } from '../View/Components/ColumnFilter/Adaptable
|
|
|
3
3
|
import { renderWithAdaptableContext } from '../View/renderWithAdaptableContext';
|
|
4
4
|
export const AgGridFilterAdapterFactory = (adaptable) => {
|
|
5
5
|
function isFilterActive(colId) {
|
|
6
|
-
// we need this here
|
|
7
6
|
if (adaptable.isDestroyed) {
|
|
8
7
|
return false;
|
|
9
8
|
}
|
|
10
|
-
//make the small filter icon to appear when there is a filter
|
|
11
9
|
return adaptable.api.filterApi.columnFilterApi.isColumnFilterActiveForColumn(colId);
|
|
12
10
|
}
|
|
13
11
|
function getContainerId(colId) {
|
|
@@ -28,12 +26,9 @@ export const AgGridFilterAdapterFactory = (adaptable) => {
|
|
|
28
26
|
return this.filterContainer;
|
|
29
27
|
}
|
|
30
28
|
refresh(newParams) {
|
|
31
|
-
// always reuse the current instance
|
|
32
|
-
// the filter is refreshed in the underlying React component
|
|
33
29
|
return true;
|
|
34
30
|
}
|
|
35
31
|
afterGuiAttached(params) {
|
|
36
|
-
//we always unmount first so the autofocus from the form works... in other grids we unmount when hidden
|
|
37
32
|
this.unmountReactRoot?.();
|
|
38
33
|
const columnId = this.column.getColId();
|
|
39
34
|
let column = adaptable.api.columnApi.getColumnWithColumnId(columnId);
|
|
@@ -27,7 +27,6 @@ export const AgGridFloatingFilterAdapterFactory = (adaptable) => {
|
|
|
27
27
|
function findParentWithClass(element, className, stopClasses, applyToAll) {
|
|
28
28
|
let current = element.parentElement;
|
|
29
29
|
while (current) {
|
|
30
|
-
// Stop traversing if we hit any of the stop classes
|
|
31
30
|
if (stopClasses.some((stopClass) => current.classList.contains(stopClass))) {
|
|
32
31
|
return null;
|
|
33
32
|
}
|
|
@@ -44,14 +43,12 @@ export const AgGridFloatingFilterAdapterFactory = (adaptable) => {
|
|
|
44
43
|
return;
|
|
45
44
|
}
|
|
46
45
|
const stopClasses = ['ag-header-row', 'ag-header-row-column-filter'];
|
|
47
|
-
// Find and update floating filter body
|
|
48
46
|
const filterBody = findParentWithClass(filterContainer, 'ag-floating-filter-full-body', stopClasses, (currentElem) => {
|
|
49
47
|
currentElem.style.height = '100%';
|
|
50
48
|
});
|
|
51
49
|
if (filterBody) {
|
|
52
50
|
filterBody.style.overflow = 'visible';
|
|
53
51
|
}
|
|
54
|
-
// Find and update header cell
|
|
55
52
|
const headerCell = findParentWithClass(filterContainer, 'ag-header-cell', stopClasses);
|
|
56
53
|
if (headerCell?.classList.contains('ag-floating-filter')) {
|
|
57
54
|
headerCell.style.padding = 'var(--ab-base-space)';
|
|
@@ -67,7 +64,6 @@ export const AgGridFloatingFilterAdapterFactory = (adaptable) => {
|
|
|
67
64
|
this.filterContainer = document.createElement('div');
|
|
68
65
|
this.filterContainer.id = getContainerId(colId);
|
|
69
66
|
Object.keys(filterContainerStyle).forEach((key) => {
|
|
70
|
-
//@ts-ignore
|
|
71
67
|
this.filterContainer.style[key] = filterContainerStyle[key];
|
|
72
68
|
});
|
|
73
69
|
const column = adaptableApi.columnApi.getColumnWithColumnId(colId);
|
|
@@ -79,8 +75,6 @@ export const AgGridFloatingFilterAdapterFactory = (adaptable) => {
|
|
|
79
75
|
}
|
|
80
76
|
}
|
|
81
77
|
onParentModelChanged(parentModel, filterChangedEvent) {
|
|
82
|
-
// AFL: this should NOT be required, but AG Grid calls this method
|
|
83
|
-
// most likely is a bug and will be removed in future versions
|
|
84
78
|
}
|
|
85
79
|
afterGuiAttached() {
|
|
86
80
|
patchParentElement(this.filterContainer);
|
|
@@ -89,13 +83,9 @@ export const AgGridFloatingFilterAdapterFactory = (adaptable) => {
|
|
|
89
83
|
return this.filterContainer;
|
|
90
84
|
}
|
|
91
85
|
refresh(params) {
|
|
92
|
-
// always reuse the current instance
|
|
93
|
-
// the filter is refreshed in the underlying React component
|
|
94
86
|
return true;
|
|
95
87
|
}
|
|
96
88
|
destroy() {
|
|
97
|
-
// Use setTimeout to defer unmounting to next event loop tick
|
|
98
|
-
// This ensures we're not unmounting during React's rendering phase
|
|
99
89
|
if (this.unmountReactRoot) {
|
|
100
90
|
const unmount = this.unmountReactRoot;
|
|
101
91
|
setTimeout(() => {
|