@adaptabletools/adaptable-cjs 22.0.0-canary.1 → 22.0.0-canary.11
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.d.ts +9 -9
- package/agGrid.js +1 -0
- package/index.css +1280 -1400
- package/index.css.map +1 -1
- package/index.d.ts +66 -0
- package/index.js +85 -0
- package/package.json +3 -3
- package/src/AdaptableInterfaces/IAdaptable.d.ts +6 -6
- package/src/AdaptableOptions/ActionColumnOptions.d.ts +2 -2
- package/src/AdaptableOptions/AdaptablePlugin.js +6 -1
- package/src/AdaptableOptions/ColumnOptions.d.ts +2 -2
- package/src/AdaptableOptions/ContainerOptions.d.ts +55 -15
- package/src/AdaptableOptions/CustomSortOptions.d.ts +4 -0
- package/src/AdaptableOptions/DashboardOptions.d.ts +1 -2
- package/src/AdaptableOptions/ExportOptions.d.ts +1 -2
- package/src/AdaptableOptions/FilterOptions.d.ts +3 -0
- package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -2
- package/src/AdaptableState/AdaptableState.d.ts +2 -0
- package/src/AdaptableState/AlertState.d.ts +5 -2
- package/src/AdaptableState/ChartingState.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableButton.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableColumn.d.ts +16 -10
- package/src/AdaptableState/Common/AdaptableColumnContext.d.ts +9 -0
- package/src/AdaptableState/Common/AdaptableFlashingCell.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableObject.d.ts +20 -2
- package/src/AdaptableState/Common/AdaptableRowContext.d.ts +11 -0
- package/src/AdaptableState/Common/AdaptableStyle.d.ts +8 -0
- package/src/AdaptableState/Common/BaseContext.d.ts +2 -0
- package/src/AdaptableState/Common/ColumnHighlightInfo.d.ts +18 -0
- package/src/AdaptableState/Common/ColumnHighlightInfo.js +2 -0
- package/src/AdaptableState/Common/DataUpdateConfig.d.ts +17 -0
- package/src/AdaptableState/Common/NamedObject.d.ts +10 -0
- package/src/AdaptableState/Common/NamedObject.js +2 -0
- package/src/AdaptableState/Common/RowDataChangedInfo.d.ts +3 -0
- package/src/AdaptableState/Common/RowSummary.d.ts +1 -1
- package/src/AdaptableState/Common/Schedule.d.ts +8 -5
- package/src/AdaptableState/Common/SystemStatusMessageInfo.d.ts +2 -2
- package/src/AdaptableState/Common/TransposeConfig.d.ts +12 -10
- package/src/AdaptableState/CustomSortState.d.ts +5 -1
- package/src/AdaptableState/DashboardState.d.ts +1 -1
- package/src/AdaptableState/ExportState.d.ts +1 -1
- package/src/AdaptableState/FlashingCellState.d.ts +6 -2
- package/src/AdaptableState/FormatColumnState.d.ts +5 -9
- package/src/AdaptableState/InitialState.d.ts +10 -1
- package/src/AdaptableState/InternalState.d.ts +2 -0
- package/src/AdaptableState/LayoutState.d.ts +7 -3
- package/src/AdaptableState/NamedQueryState.d.ts +1 -1
- package/src/AdaptableState/PlusMinusState.d.ts +5 -1
- package/src/AdaptableState/Selection/GridCell.d.ts +9 -0
- package/src/AdaptableState/ShortcutState.d.ts +5 -1
- package/src/AdaptableState/StyledColumnState.d.ts +1 -1
- package/src/AdaptableState/ThemeState.d.ts +1 -1
- package/src/AdaptableState/UserInterfaceState.d.ts +14 -0
- package/src/AdaptableState/UserInterfaceState.js +2 -0
- package/src/Api/AlertApi.d.ts +6 -0
- package/src/Api/CustomSortApi.d.ts +12 -3
- package/src/Api/DataSetApi.d.ts +1 -1
- package/src/Api/FlashingCellApi.d.ts +6 -0
- package/src/Api/FormatColumnApi.d.ts +10 -4
- package/src/Api/GridApi.d.ts +27 -12
- package/src/Api/Implementation/ActionColumnApiImpl.js +1 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +52 -0
- package/src/Api/Implementation/AlertApiImpl.d.ts +1 -0
- package/src/Api/Implementation/AlertApiImpl.js +6 -6
- package/src/Api/Implementation/ApiBase.d.ts +1 -1
- package/src/Api/Implementation/ApiBase.js +2 -1
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +1 -0
- package/src/Api/Implementation/ChartingApiImpl.js +6 -2
- package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -1
- package/src/Api/Implementation/ColumnApiImpl.js +1 -0
- package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -0
- package/src/Api/Implementation/CommentsApiImpl.js +1 -0
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +6 -1
- package/src/Api/Implementation/CustomSortApiImpl.js +6 -2
- package/src/Api/Implementation/DashboardApiImpl.js +1 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +12 -15
- package/src/Api/Implementation/DataImportApiImpl.js +1 -0
- package/src/Api/Implementation/DataSetApiImpl.js +1 -0
- package/src/Api/Implementation/EntitlementApiImpl.js +1 -0
- package/src/Api/Implementation/EventApiImpl.js +16 -14
- package/src/Api/Implementation/ExportApiImpl.js +1 -0
- package/src/Api/Implementation/ExpressionApiImpl.js +1 -0
- package/src/Api/Implementation/Fdc3ApiImpl.js +1 -0
- package/src/Api/Implementation/FilterApiImpl.js +3 -0
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +1 -0
- package/src/Api/Implementation/FlashingCellApiImpl.js +4 -0
- package/src/Api/Implementation/FormatColumnApiImpl.d.ts +6 -5
- package/src/Api/Implementation/FormatColumnApiImpl.js +7 -5
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -0
- package/src/Api/Implementation/GridApiImpl.d.ts +11 -10
- package/src/Api/Implementation/GridApiImpl.js +38 -20
- package/src/Api/Implementation/GridFilterApiImpl.js +1 -0
- package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -0
- package/src/Api/Implementation/LayoutApiImpl.js +5 -1
- package/src/Api/Implementation/LayoutHelpers.js +7 -0
- package/src/Api/Implementation/NamedQueryApiImpl.js +3 -2
- package/src/Api/Implementation/NoteApiImpl.js +1 -0
- package/src/Api/Implementation/PlusMinusApiImpl.d.ts +1 -0
- package/src/Api/Implementation/PlusMinusApiImpl.js +3 -0
- package/src/Api/Implementation/PredicateApiImpl.js +1 -0
- package/src/Api/Implementation/RowFormApiImpl.js +1 -0
- package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ScheduleApiImpl.js +4 -0
- package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ShortcutApiImpl.js +3 -0
- package/src/Api/Implementation/StyledColumnApiImpl.js +1 -0
- package/src/Api/Implementation/SystemStatusApiImpl.js +8 -9
- package/src/Api/Implementation/TeamSharingApiImpl.js +1 -0
- package/src/Api/Implementation/ThemeApiImpl.js +1 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +5 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.js +15 -1
- package/src/Api/Internal/CalculatedColumnInternalApi.js +2 -2
- package/src/Api/Internal/ColumnInternalApi.js +1 -1
- package/src/Api/Internal/FormatColumnInternalApi.d.ts +0 -10
- package/src/Api/Internal/FormatColumnInternalApi.js +1 -19
- package/src/Api/Internal/FreeTextColumnInternalApi.js +2 -2
- package/src/Api/Internal/LayoutInternalApi.js +1 -1
- package/src/Api/Internal/NamedQueryInternalApi.js +4 -4
- package/src/Api/LayoutApi.d.ts +6 -0
- package/src/Api/PlusMinusApi.d.ts +6 -0
- package/src/Api/ScheduleApi.d.ts +6 -0
- package/src/Api/ShortcutApi.d.ts +6 -0
- package/src/Api/UserInterfaceApi.d.ts +17 -0
- package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +8 -0
- package/src/Redux/ActionsReducers/FormatColumnRedux.js +17 -1
- package/src/Redux/ActionsReducers/InternalRedux.d.ts +15 -0
- package/src/Redux/ActionsReducers/InternalRedux.js +42 -3
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/NoteRedux.js +1 -1
- package/src/Redux/ActionsReducers/UserInterfaceRedux.d.ts +11 -0
- package/src/Redux/ActionsReducers/UserInterfaceRedux.js +26 -0
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +6 -0
- package/src/Redux/Store/AdaptableStore.js +113 -57
- package/src/Strategy/AdaptableModuleBase.js +4 -0
- package/src/Strategy/AlertModule.js +5 -0
- package/src/Strategy/BulkUpdateModule.js +8 -8
- package/src/Strategy/CalculatedColumnModule.js +1 -0
- package/src/Strategy/CellSummaryModule.js +1 -1
- package/src/Strategy/CustomSortModule.js +4 -0
- package/src/Strategy/DataChangeHistoryModule.js +1 -0
- package/src/Strategy/FlashingCellModule.js +6 -0
- package/src/Strategy/FormatColumnModule.js +4 -0
- package/src/Strategy/FreeTextColumnModule.js +1 -0
- package/src/Strategy/LayoutModule.js +6 -5
- package/src/Strategy/PlusMinusModule.js +7 -1
- package/src/Strategy/QuickSearchModule.js +1 -1
- package/src/Strategy/ScheduleModule.js +5 -0
- package/src/Strategy/SettingsPanelModule.js +11 -7
- package/src/Strategy/ShortcutModule.js +6 -0
- package/src/Strategy/SmartEditModule.js +10 -10
- package/src/Strategy/TeamSharingModule.js +10 -10
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +0 -3
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +3 -3
- package/src/Utilities/Constants/DocumentationLinkConstants.js +3 -3
- package/src/Utilities/ExpressionFunctions/deepMap.js +31 -31
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -3
- package/src/Utilities/Extensions/StringExtensions.d.ts +2 -0
- package/src/Utilities/Extensions/StringExtensions.js +17 -0
- package/src/Utilities/Helpers/FormatHelper.js +9 -2
- package/src/Utilities/Helpers/StyleHelper.js +14 -0
- package/src/Utilities/MenuItem.js +18 -0
- package/src/Utilities/ObjectFactory.js +16 -3
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +8 -0
- package/src/Utilities/Services/AlertService.js +6 -4
- package/src/Utilities/Services/AnnotationsService.js +4 -1
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -1
- package/src/Utilities/Services/ChartingService.js +1 -0
- package/src/Utilities/Services/DataService.js +11 -3
- package/src/Utilities/Services/Fdc3Service.js +9 -7
- package/src/Utilities/Services/FlashingCellService.js +5 -0
- package/src/Utilities/Services/LicenseService/index.js +1 -1
- package/src/Utilities/Services/MetamodelService.js +2 -2
- package/src/Utilities/Services/ModuleService.js +5 -6
- package/src/Utilities/Services/QueryLanguageService.js +6 -5
- package/src/Utilities/Services/RowFormService.js +1 -0
- package/src/Utilities/Services/RowSummaryService.js +10 -7
- package/src/Utilities/Services/TeamSharingService.js +3 -1
- package/src/Utilities/Services/ThemeService.js +13 -15
- package/src/Utilities/Services/ValidationService.js +2 -1
- package/src/Utilities/createAgStatusPanelComponent.js +3 -0
- package/src/Utilities/logDeprecation.js +3 -4
- package/src/Utilities/resolveContainerElement.d.ts +23 -0
- package/src/Utilities/resolveContainerElement.js +47 -0
- package/src/View/AdaptablePopover/index.d.ts +1 -0
- package/src/View/AdaptablePopover/index.js +1 -1
- package/src/View/Alert/ActiveAlertsPanel.js +8 -0
- package/src/View/Alert/AlertViewPanel.js +13 -9
- package/src/View/Alert/Utilities/getAlertButtonStyle.d.ts +1 -0
- package/src/View/Alert/Utilities/getAlertButtonStyle.js +8 -0
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -0
- package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +5 -2
- package/src/View/Alert/Wizard/AlertTypeWizardSection.js +48 -12
- package/src/View/Alert/Wizard/AlertWizard.js +12 -8
- package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +24 -11
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +2 -2
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +2 -2
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
- package/src/View/CellSummary/CellSummaryViewPanel.js +16 -17
- package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +2 -2
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +2 -2
- package/src/View/Components/AdaptableDateInput/index.js +1 -1
- package/src/View/Components/Buttons/ButtonApply.js +1 -1
- package/src/View/Components/Buttons/ButtonBase/index.js +9 -9
- package/src/View/Components/Buttons/ButtonClear.d.ts +1 -0
- package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -2
- package/src/View/Components/Buttons/EntityListActionButtons.js +18 -18
- package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -2
- package/src/View/Components/CellPopup/index.js +1 -1
- package/src/View/Components/ColumnFilter/FloatingFilter.js +41 -3
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +54 -2
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +1 -1
- package/src/View/Components/EntityRulesEditor/Utilities.js +5 -5
- package/src/View/Components/NewScopeComponent.js +3 -3
- package/src/View/Components/Panels/PanelDashboard/index.js +8 -8
- package/src/View/Components/Panels/PanelToolPanel/index.js +7 -7
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +1 -8
- package/src/View/Components/Popups/AdaptablePopupConfirmation.js +1 -1
- package/src/View/Components/Popups/WindowPopups/WindowPopups.js +35 -0
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +18 -17
- package/src/View/Components/StyleComponent.d.ts +1 -0
- package/src/View/Components/StyleComponent.js +94 -24
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
- package/src/View/Components/WizardSummaryPage.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +40 -14
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortWizard.js +4 -4
- package/src/View/Dashboard/CustomToolbar.js +1 -1
- package/src/View/Dashboard/DashboardPopup.js +4 -5
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -0
- package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +1 -1
- package/src/View/Export/ExportDestinationPicker.js +1 -1
- package/src/View/Export/ExportStatusBar.js +4 -2
- package/src/View/Export/ExportViewPanel.js +25 -18
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.d.ts +2 -1
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +36 -15
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +13 -9
- package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +46 -51
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +22 -11
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +1 -1
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +3 -3
- package/src/View/GridFilter/GridFilterExpressionEditor.js +6 -1
- package/src/View/GridFilter/GridFilterViewPanel.js +33 -70
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +57 -65
- package/src/View/Layout/LayoutViewPanel.js +1 -1
- package/src/View/Layout/TransposedPopup.js +144 -138
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
- package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
- package/src/View/Layout/Wizard/sections/GridFilterSection.js +1 -1
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +3 -3
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +8 -0
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +1 -1
- package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -2
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +35 -12
- package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +20 -15
- package/src/View/QuickSearch/QuickSearchPopup.js +4 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +12 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +12 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +14 -4
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +12 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.d.ts +2 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +19 -10
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.d.ts +2 -1
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +25 -4
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +18 -14
- package/src/View/SmartEdit/SmartEditViewPanel.js +1 -0
- package/src/View/StateManagement/handleExportState.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
- package/src/View/Theme/ThemePopup.js +13 -16
- package/src/View/UIHelper.d.ts +4 -1
- package/src/View/UIHelper.js +24 -14
- package/src/agGrid/Adaptable.js +15 -11
- package/src/agGrid/AdaptableAgGrid.d.ts +12 -8
- package/src/agGrid/AdaptableAgGrid.js +257 -111
- package/src/agGrid/AdaptableFilterHandler.js +4 -0
- package/src/agGrid/AdaptableLogger.d.ts +3 -0
- package/src/agGrid/AdaptableLogger.js +10 -0
- package/src/agGrid/AgGridAdapter.js +19 -9
- package/src/agGrid/AgGridColumnAdapter.d.ts +1 -0
- package/src/agGrid/AgGridColumnAdapter.js +20 -22
- package/src/agGrid/AgGridExportAdapter.js +15 -14
- package/src/agGrid/AgGridFilterAdapter.js +4 -0
- package/src/agGrid/AgGridFloatingFilterAdapter.js +4 -1
- package/src/agGrid/AgGridMenuAdapter.js +10 -1
- package/src/agGrid/AgGridModulesAdapter.js +2 -1
- package/src/agGrid/AgGridOptionsService.js +3 -0
- package/src/agGrid/AgGridThemeAdapter.js +4 -2
- package/src/agGrid/cellRenderers/ActionColumnRenderer.js +5 -0
- package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -0
- package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -0
- package/src/agGrid/editors/AdaptableDateEditor/index.js +6 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +16 -12
- package/src/agGrid/editors/AdaptablePercentageEditor/index.js +17 -13
- package/src/agGrid/index.d.ts +6 -0
- package/src/agGrid/index.js +6 -0
- package/src/components/CheckBox/index.js +1 -1
- package/src/components/ColorPicker/ColorPicker.js +5 -4
- package/src/components/Dashboard/DashboardToolbar.js +1 -1
- package/src/components/Datepicker/index.js +1 -1
- package/src/components/Dropdown/Arrows.js +1 -1
- package/src/components/ExpressionEditor/DataTableEditor.js +3 -3
- package/src/components/ExpressionEditor/EditorInput.js +19 -3
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +1 -1
- package/src/components/FormLayout/index.js +1 -1
- package/src/components/OverlayTrigger/index.js +1 -1
- package/src/components/Select/Select.js +78 -15
- package/src/components/Tree/TreeDropdown/index.js +2 -2
- package/src/components/overlayBaseZIndex.js +1 -1
- package/src/components/utils/useContainerScrollObserver/index.js +17 -14
- package/src/devTools/index.js +54 -53
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.js +11 -11
- package/src/layout-manager/src/LMLogger.js +7 -0
- package/src/layout-manager/src/LayoutManagerModel.d.ts +1 -0
- package/src/layout-manager/src/index.js +81 -58
- package/src/layout-manager/src/normalizeLayoutModel.js +3 -0
- package/src/metamodel/adaptable.metamodel.d.ts +177 -8
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/migration/AdaptableUpgradeHelper.js +8 -3
- package/src/migration/VersionUpgrade.js +1 -0
- package/src/migration/VersionUpgrade17.js +5 -6
- package/src/migration/VersionUpgrade20.js +4 -4
- package/src/migration/VersionUpgrade22.d.ts +21 -0
- package/src/migration/VersionUpgrade22.js +191 -0
- package/src/parser/src/ExpressionEvaluationError.js +1 -0
- package/src/types.d.ts +9 -7
- package/themes/dark.css +30 -30
- package/themes/light.css +4 -2
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.d.ts +0 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.js +0 -633
- package/src/View/Alert/AlertEntityRow.d.ts +0 -11
- package/src/View/Alert/AlertEntityRow.js +0 -33
- package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +0 -21
- package/src/View/CalculatedColumn/CalculatedColumnSummary.js +0 -63
- package/src/View/Components/Buttons/ButtonFunction.d.ts +0 -7
- package/src/View/Components/Buttons/ButtonFunction.js +0 -13
- package/src/View/Components/Buttons/ButtonGeneral.d.ts +0 -5
- package/src/View/Components/Buttons/ButtonGeneral.js +0 -12
- package/src/View/Components/Buttons/ButtonPreviewDelete.d.ts +0 -4
- package/src/View/Components/Buttons/ButtonPreviewDelete.js +0 -8
- package/src/View/Components/Buttons/ButtonShow.d.ts +0 -5
- package/src/View/Components/Buttons/ButtonShow.js +0 -12
- package/src/View/Components/Buttons/ButtonShowChart.d.ts +0 -5
- package/src/View/Components/Buttons/ButtonShowChart.js +0 -12
- package/src/View/Components/Buttons/ButtonUndo.d.ts +0 -5
- package/src/View/Components/Buttons/ButtonUndo.js +0 -12
- package/src/View/Components/ExpressionWizard.d.ts +0 -24
- package/src/View/Components/ExpressionWizard.js +0 -82
- package/src/View/Components/FilterForm/Waiting.d.ts +0 -10
- package/src/View/Components/FilterForm/Waiting.js +0 -19
- package/src/View/Components/Panels/PanelFooter.d.ts +0 -10
- package/src/View/Components/Panels/PanelFooter.js +0 -14
- package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +0 -12
- package/src/View/Components/Panels/PanelWithTwoButtons.js +0 -20
- package/src/View/Components/Panels/ToolPanelSettingsPanel.d.ts +0 -8
- package/src/View/Components/Panels/ToolPanelSettingsPanel.js +0 -31
- package/src/View/Components/Selectors/ColumnSelectorOld.d.ts +0 -18
- package/src/View/Components/Selectors/ColumnSelectorOld.js +0 -50
- package/src/View/Components/SharedProps/WizardScopeState.d.ts +0 -4
- package/src/View/Components/WizardSummaryRow.d.ts +0 -9
- package/src/View/Components/WizardSummaryRow.js +0 -16
- package/src/View/CustomSort/CustomSortSummary.d.ts +0 -23
- package/src/View/CustomSort/CustomSortSummary.js +0 -110
- package/src/View/DataImport/DataImportWizard/sections/ImportSection.d.ts +0 -9
- package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +0 -24
- package/src/View/Export/Wizard/ReportColumnTypeWizard.d.ts +0 -19
- package/src/View/Export/Wizard/ReportColumnTypeWizard.js +0 -73
- package/src/View/Export/Wizard/ReportRowTypeWizard.d.ts +0 -19
- package/src/View/Export/Wizard/ReportRowTypeWizard.js +0 -73
- package/src/View/Export/Wizard/ReportSettingsWizard.d.ts +0 -21
- package/src/View/Export/Wizard/ReportSettingsWizard.js +0 -61
- package/src/View/Export/Wizard/ReportSummaryWizard.d.ts +0 -15
- package/src/View/Export/Wizard/ReportSummaryWizard.js +0 -40
- package/src/View/Filter/FilterSummary.d.ts +0 -18
- package/src/View/Filter/FilterSummary.js +0 -53
- package/src/View/FormatColumn/FormatColumnSummary.d.ts +0 -22
- package/src/View/FormatColumn/FormatColumnSummary.js +0 -95
- package/src/View/FreeTextColumn/FreeTextColumnSummary.d.ts +0 -22
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +0 -93
- package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.d.ts +0 -7
- package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +0 -99
- package/src/View/PlusMinus/PlusMinusSummary.d.ts +0 -22
- package/src/View/PlusMinus/PlusMinusSummary.js +0 -100
- package/src/View/Wizard/WizardLegend.d.ts +0 -12
- package/src/View/Wizard/WizardLegend.js +0 -28
- /package/src/{View/Components/SharedProps/WizardScopeState.js → AdaptableState/Common/AdaptableRowContext.js} +0 -0
|
@@ -10,6 +10,7 @@ const DocumentationLinkConstants_1 = require("../Utilities/Constants/Documentati
|
|
|
10
10
|
const StringExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/StringExtensions"));
|
|
11
11
|
const Emitter_1 = tslib_1.__importDefault(require("../Utilities/Emitter"));
|
|
12
12
|
const DefaultAdaptableOptions_1 = require("../AdaptableOptions/DefaultAdaptableOptions");
|
|
13
|
+
const resolveContainerElement_1 = require("../Utilities/resolveContainerElement");
|
|
13
14
|
const AgGridAdapter_1 = require("./AgGridAdapter");
|
|
14
15
|
const GeneralConstants = tslib_1.__importStar(require("../Utilities/Constants/GeneralConstants"));
|
|
15
16
|
const GeneralConstants_1 = require("../Utilities/Constants/GeneralConstants");
|
|
@@ -159,38 +160,79 @@ LocalEventService_Prototype.dispatchEvent = function (event) {
|
|
|
159
160
|
const adaptableInstances = {};
|
|
160
161
|
const publishTimestamp = Number(EnvVars_1.ADAPTABLE_PUBLISH_TIMESTAMP);
|
|
161
162
|
class AdaptableAgGrid {
|
|
163
|
+
logger;
|
|
164
|
+
_id;
|
|
165
|
+
lifecycleState;
|
|
166
|
+
variant;
|
|
167
|
+
emitter;
|
|
168
|
+
/**
|
|
169
|
+
* Runtime flags
|
|
170
|
+
*/
|
|
171
|
+
hasAutogeneratedPrimaryKey;
|
|
172
|
+
hasAdaptableToolPanel;
|
|
173
|
+
initWithLazyData;
|
|
174
|
+
_rawAdaptableOptions;
|
|
175
|
+
adaptableOptions;
|
|
176
|
+
_isDetailGrid;
|
|
177
|
+
_isDetailGridForIndex;
|
|
178
|
+
agGridOptionsService;
|
|
179
|
+
agGridAdapter;
|
|
180
|
+
agGridColumnAdapter;
|
|
181
|
+
agGridMenuAdapter;
|
|
182
|
+
agGridExportAdapter;
|
|
183
|
+
agGridThemeAdapter;
|
|
184
|
+
agGridModulesAdapter;
|
|
185
|
+
DANGER_USE_GETTER_adaptableContainerElement;
|
|
186
|
+
DANGER_USE_GETTER_agGridContainerElement;
|
|
187
|
+
api;
|
|
188
|
+
adaptableStore;
|
|
189
|
+
adaptableModules;
|
|
190
|
+
DataService;
|
|
191
|
+
CalculatedColumnExpressionService;
|
|
192
|
+
ModuleService;
|
|
193
|
+
ValidationService;
|
|
194
|
+
QueryLanguageService;
|
|
195
|
+
AlertService;
|
|
196
|
+
TeamSharingService;
|
|
197
|
+
MetamodelService;
|
|
198
|
+
RowFormService;
|
|
199
|
+
Fdc3Service;
|
|
200
|
+
AnnotationsService;
|
|
201
|
+
FlashingCellService;
|
|
202
|
+
LicenseService;
|
|
203
|
+
ChartingService;
|
|
204
|
+
ThemeService;
|
|
205
|
+
rowListeners;
|
|
206
|
+
throttleFilterOnDataChange;
|
|
207
|
+
debouncedSetSelectedRows;
|
|
208
|
+
debouncedSetSelectedCells;
|
|
209
|
+
agGridListenerKeydown;
|
|
210
|
+
agGridListenerMouseEnter;
|
|
211
|
+
agGridListenerMouseLeave;
|
|
212
|
+
listenerGlobalSetRowSelection;
|
|
213
|
+
listenerGlobalChartingChanges;
|
|
214
|
+
listenerCellEditingStarted;
|
|
215
|
+
listenerFirstDataRendered;
|
|
216
|
+
listenerPivotChanged;
|
|
217
|
+
listenerCellSelectionChanged;
|
|
218
|
+
listenerSortChanged;
|
|
219
|
+
listenerColumnGroupOpened;
|
|
220
|
+
layoutManager;
|
|
221
|
+
columnMinMaxValuesCache = {};
|
|
222
|
+
renderReactRoot = (node, container) => (0, renderReactRoot_1.renderReactRoot)(node, container);
|
|
223
|
+
unmountReactRoot;
|
|
224
|
+
unmountLoadingScreen;
|
|
225
|
+
/**
|
|
226
|
+
* Temporary, these are MIGRATION technical debts, and should be removed as soon as possible
|
|
227
|
+
*/
|
|
228
|
+
adaptableStatusPanelKeys = [];
|
|
229
|
+
adaptableStatusPanelDefs = [];
|
|
230
|
+
hasAdaptableStatusBar;
|
|
231
|
+
// see #no_additional_react_root
|
|
232
|
+
_PRIVATE_adaptableJSXElement;
|
|
233
|
+
_prevLayout;
|
|
234
|
+
__prevLayoutForRefresh;
|
|
162
235
|
constructor(config) {
|
|
163
|
-
this.columnMinMaxValuesCache = {};
|
|
164
|
-
this.renderReactRoot = (node, container) => (0, renderReactRoot_1.renderReactRoot)(node, container);
|
|
165
|
-
/**
|
|
166
|
-
* Temporary, these are MIGRATION technical debts, and should be removed as soon as possible
|
|
167
|
-
*/
|
|
168
|
-
this.adaptableStatusPanelKeys = [];
|
|
169
|
-
// only for our private / internal events used within Adaptable
|
|
170
|
-
// public events are emitted through the EventApi
|
|
171
|
-
this._emit = (eventName, data) => {
|
|
172
|
-
if (this.emitter) {
|
|
173
|
-
return this.emitter.emit(eventName, data);
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
this._emitSync = (eventName, data) => {
|
|
177
|
-
if (this.emitter) {
|
|
178
|
-
return this.emitter.emitSync(eventName, data);
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
|
-
this._on = (eventName, callback) => {
|
|
182
|
-
if (!this.emitter) {
|
|
183
|
-
return () => { };
|
|
184
|
-
}
|
|
185
|
-
return this.emitter.on(eventName, callback);
|
|
186
|
-
};
|
|
187
|
-
this._onIncludeFired = (eventName, callback) => {
|
|
188
|
-
if (!this.emitter) {
|
|
189
|
-
return () => { };
|
|
190
|
-
}
|
|
191
|
-
return this.emitter.onIncludeFired(eventName, callback);
|
|
192
|
-
};
|
|
193
|
-
this.__updateColumnModelAndRefreshGrid_already_called = false;
|
|
194
236
|
this.lifecycleState = 'initial';
|
|
195
237
|
this.emitter = new Emitter_1.default();
|
|
196
238
|
this.agGridOptionsService = new AgGridOptionsService_1.AgGridOptionsService(this);
|
|
@@ -226,6 +268,30 @@ class AdaptableAgGrid {
|
|
|
226
268
|
get isDestroyed() {
|
|
227
269
|
return this.lifecycleState === 'preDestroyed';
|
|
228
270
|
}
|
|
271
|
+
// only for our private / internal events used within Adaptable
|
|
272
|
+
// public events are emitted through the EventApi
|
|
273
|
+
_emit = (eventName, data) => {
|
|
274
|
+
if (this.emitter) {
|
|
275
|
+
return this.emitter.emit(eventName, data);
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
_emitSync = (eventName, data) => {
|
|
279
|
+
if (this.emitter) {
|
|
280
|
+
return this.emitter.emitSync(eventName, data);
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
_on = (eventName, callback) => {
|
|
284
|
+
if (!this.emitter) {
|
|
285
|
+
return () => { };
|
|
286
|
+
}
|
|
287
|
+
return this.emitter.on(eventName, callback);
|
|
288
|
+
};
|
|
289
|
+
_onIncludeFired = (eventName, callback) => {
|
|
290
|
+
if (!this.emitter) {
|
|
291
|
+
return () => { };
|
|
292
|
+
}
|
|
293
|
+
return this.emitter.onIncludeFired(eventName, callback);
|
|
294
|
+
};
|
|
229
295
|
/**
|
|
230
296
|
* Internal initializer for Adaptable, directly called by the React and Angular Adaptable wrappers
|
|
231
297
|
* @private
|
|
@@ -300,7 +366,7 @@ class AdaptableAgGrid {
|
|
|
300
366
|
this.adaptableOptions = this.normalizeAdaptableOptions(this.adaptableOptions);
|
|
301
367
|
const { showLoadingScreen, loadingScreenDelay, loadingScreenText, loadingScreenTitle } = this.adaptableOptions.userInterfaceOptions.loadingScreenOptions;
|
|
302
368
|
if (showLoadingScreen) {
|
|
303
|
-
this.logger.info(
|
|
369
|
+
this.logger.info('Showing loading screen');
|
|
304
370
|
// it's important to use ensureLoadingScreenPortalElement
|
|
305
371
|
// and not ensurePortalElement, because multiple adaptable instances share the same portal element
|
|
306
372
|
// so when displaying the second one, the react root associated to the portal element
|
|
@@ -316,7 +382,7 @@ class AdaptableAgGrid {
|
|
|
316
382
|
}), portalElement);
|
|
317
383
|
}
|
|
318
384
|
else {
|
|
319
|
-
this.logger.consoleError(
|
|
385
|
+
this.logger.consoleError('Failed to create loading screen portal element.');
|
|
320
386
|
}
|
|
321
387
|
}
|
|
322
388
|
this.forPlugins((plugin) => plugin.afterInitOptions(this, this.adaptableOptions));
|
|
@@ -375,7 +441,7 @@ class AdaptableAgGrid {
|
|
|
375
441
|
// see #map_dateString_to_date
|
|
376
442
|
this.agGridAdapter.patchColDefs(columnDefs, (colDef) => {
|
|
377
443
|
if (colDef.cellDataType === 'dateString') {
|
|
378
|
-
this.logger.consoleError(`
|
|
444
|
+
this.logger.consoleError(`Column "${colDef.colId}" uses cellDataType="dateString" which is no longer supported. It has been replaced with cellDataType="date". Please update your column definition.`);
|
|
379
445
|
colDef.cellDataType = 'date';
|
|
380
446
|
}
|
|
381
447
|
});
|
|
@@ -406,8 +472,8 @@ class AdaptableAgGrid {
|
|
|
406
472
|
const agGridApi = await this.initializeAgGrid(gridOptions, config.modules, config.renderAgGridFrameworkComponent);
|
|
407
473
|
if (agGridApi === false) {
|
|
408
474
|
this.midwayDestroy();
|
|
409
|
-
this.logger.consoleError(
|
|
410
|
-
return Promise.reject('
|
|
475
|
+
this.logger.consoleError('Failed to initialize AG Grid.');
|
|
476
|
+
return Promise.reject('Failed to initialize AG Grid.');
|
|
411
477
|
}
|
|
412
478
|
this.layoutManager = new src_1.LayoutManager({
|
|
413
479
|
gridApi: agGridApi,
|
|
@@ -432,7 +498,7 @@ class AdaptableAgGrid {
|
|
|
432
498
|
this.layoutManager.onColumnDefsChanged(() => {
|
|
433
499
|
this.updateColumnModelAndRefreshGrid();
|
|
434
500
|
});
|
|
435
|
-
this.logger.info(
|
|
501
|
+
this.logger.info('Hiding loading screen');
|
|
436
502
|
this.unmountLoadingScreen?.();
|
|
437
503
|
perfInitAgGrid.end();
|
|
438
504
|
initAgGridMarker.end();
|
|
@@ -443,7 +509,7 @@ class AdaptableAgGrid {
|
|
|
443
509
|
this.lifecycleState = 'agGridReady';
|
|
444
510
|
this.api.entitlementApi.internalApi.setModulesAgGridDepsInfos();
|
|
445
511
|
this.ModuleService.logMissingAgGridDepsInfos();
|
|
446
|
-
this.logger.info(
|
|
512
|
+
this.logger.info('Registered AG Grid modules (including dependents):', this.agGridModulesAdapter.getAgGridRegisteredModuleNames().sort());
|
|
447
513
|
/**
|
|
448
514
|
* At this point AG Grid is initialized!
|
|
449
515
|
*/
|
|
@@ -533,10 +599,7 @@ class AdaptableAgGrid {
|
|
|
533
599
|
const layoutState = state.Layout;
|
|
534
600
|
// ensure that at least one Layout has been provided
|
|
535
601
|
if (!layoutState || !layoutState.Layouts?.length) {
|
|
536
|
-
this.logger
|
|
537
|
-
.consoleError(`You have not defined any Layout in your InitialState.Layout.Layouts[] state!
|
|
538
|
-
|
|
539
|
-
You need to define at least one Layout!`);
|
|
602
|
+
this.logger.consoleError('No Layouts defined in InitialState.Layout.Layouts[]. At least one Layout is required.');
|
|
540
603
|
}
|
|
541
604
|
// ensure CurrentLayout is valid
|
|
542
605
|
if (!layoutState.CurrentLayout ||
|
|
@@ -699,21 +762,90 @@ You need to define at least one Layout!`);
|
|
|
699
762
|
hideQuickFilter() {
|
|
700
763
|
this.agGridAdapter.getAgGridApi().setGridOption('floatingFiltersHeight', 0);
|
|
701
764
|
}
|
|
765
|
+
showAdaptableToolPanel() {
|
|
766
|
+
if (!this.hasAdaptableToolPanel) {
|
|
767
|
+
// don't re-add the ToolPanel if it's hidden by entitlement
|
|
768
|
+
if (this.api.entitlementApi.isModuleHiddenEntitlement('ToolPanel')) {
|
|
769
|
+
return;
|
|
770
|
+
}
|
|
771
|
+
const currentSideBar = this.agGridAdapter.getGridOption('sideBar');
|
|
772
|
+
if (currentSideBar?.toolPanels) {
|
|
773
|
+
const updatedSideBar = {
|
|
774
|
+
...currentSideBar,
|
|
775
|
+
toolPanels: [...currentSideBar.toolPanels, this.buildAdaptableToolPanelDef()],
|
|
776
|
+
};
|
|
777
|
+
this.agGridAdapter.setGridOption('sideBar', updatedSideBar);
|
|
778
|
+
this.hasAdaptableToolPanel = true;
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
hideAdaptableToolPanel() {
|
|
783
|
+
if (this.hasAdaptableToolPanel) {
|
|
784
|
+
// close the tool panel if it's currently open
|
|
785
|
+
this.api.toolPanelApi.closeAdapTableToolPanel();
|
|
786
|
+
const currentSideBar = this.agGridAdapter.getGridOption('sideBar');
|
|
787
|
+
if (currentSideBar?.toolPanels) {
|
|
788
|
+
const updatedSideBar = {
|
|
789
|
+
...currentSideBar,
|
|
790
|
+
toolPanels: currentSideBar.toolPanels.filter((toolPanelDef) => {
|
|
791
|
+
if (typeof toolPanelDef === 'string') {
|
|
792
|
+
return toolPanelDef !== GeneralConstants.ADAPTABLE_TOOLPANEL_ID;
|
|
793
|
+
}
|
|
794
|
+
return toolPanelDef.id !== GeneralConstants.ADAPTABLE_TOOLPANEL_ID;
|
|
795
|
+
}),
|
|
796
|
+
};
|
|
797
|
+
this.agGridAdapter.setGridOption('sideBar', updatedSideBar);
|
|
798
|
+
}
|
|
799
|
+
this.hasAdaptableToolPanel = false;
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
buildAdaptableToolPanelDef() {
|
|
803
|
+
return {
|
|
804
|
+
id: GeneralConstants.ADAPTABLE_TOOLPANEL_ID,
|
|
805
|
+
toolPanel: GeneralConstants.ADAPTABLE_TOOLPANEL_COMPONENT,
|
|
806
|
+
labelDefault: GeneralConstants.ADAPTABLE,
|
|
807
|
+
labelKey: 'adaptable',
|
|
808
|
+
iconKey: 'menu',
|
|
809
|
+
width: UIHelper_1.default.getAdaptableToolPanelWidth(),
|
|
810
|
+
minWidth: UIHelper_1.default.getAdaptableToolPanelWidth(),
|
|
811
|
+
};
|
|
812
|
+
}
|
|
813
|
+
showAdaptableStatusBar() {
|
|
814
|
+
if (!this.hasAdaptableStatusBar && this.adaptableStatusPanelDefs.length > 0) {
|
|
815
|
+
const currentStatusBar = this.agGridAdapter.getGridOption('statusBar');
|
|
816
|
+
if (currentStatusBar) {
|
|
817
|
+
// filter out any Adaptable panels that may already exist to avoid duplicates
|
|
818
|
+
const existingNonAdaptablePanels = (currentStatusBar.statusPanels ?? []).filter((panel) => !this.adaptableStatusPanelKeys.includes(panel.key));
|
|
819
|
+
const updatedStatusBar = {
|
|
820
|
+
...currentStatusBar,
|
|
821
|
+
statusPanels: [...existingNonAdaptablePanels, ...this.adaptableStatusPanelDefs],
|
|
822
|
+
};
|
|
823
|
+
this.agGridAdapter.setGridOption('statusBar', updatedStatusBar);
|
|
824
|
+
this.hasAdaptableStatusBar = true;
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
hideAdaptableStatusBar() {
|
|
829
|
+
if (this.hasAdaptableStatusBar) {
|
|
830
|
+
const currentStatusBar = this.agGridAdapter.getGridOption('statusBar');
|
|
831
|
+
if (currentStatusBar?.statusPanels) {
|
|
832
|
+
const updatedStatusBar = {
|
|
833
|
+
...currentStatusBar,
|
|
834
|
+
statusPanels: currentStatusBar.statusPanels.filter((panel) => !this.adaptableStatusPanelKeys.includes(panel.key)),
|
|
835
|
+
};
|
|
836
|
+
this.agGridAdapter.setGridOption('statusBar', updatedStatusBar);
|
|
837
|
+
}
|
|
838
|
+
this.hasAdaptableStatusBar = false;
|
|
839
|
+
}
|
|
840
|
+
}
|
|
702
841
|
normalizeAdaptableOptions(adaptableOptions) {
|
|
703
842
|
if (this.hasAutogeneratedPrimaryKey) {
|
|
704
|
-
this.logger
|
|
705
|
-
.warn(`Autogenerated primary key (adaptableOptions.autogeneratedPrimaryKey = TRUE) should be used only as a last resort,
|
|
706
|
-
when no unique column is available, as it limits some Adaptable functionalities!
|
|
707
|
-
|
|
708
|
-
For more details see: ${DocumentationLinkConstants_1.PrimaryKeyDocsLink}`);
|
|
843
|
+
this.logger.warn(`Autogenerated primary key is enabled (adaptableOptions.autogeneratedPrimaryKey = true). This should be a last resort as it limits some Adaptable features. See: ${DocumentationLinkConstants_1.PrimaryKeyDocsLink}`);
|
|
709
844
|
this.adaptableOptions.primaryKey = GeneralConstants_1.AUTOGENERATED_PK_COLUMN;
|
|
710
845
|
return this.adaptableOptions;
|
|
711
846
|
}
|
|
712
847
|
if (StringExtensions_1.default.IsNullOrEmpty(adaptableOptions.primaryKey)) {
|
|
713
|
-
this.logger.consoleError(`
|
|
714
|
-
As a fallback, you can set adaptableOptions.autogeneratedPrimaryKey = TRUE
|
|
715
|
-
|
|
716
|
-
For more details see: ${DocumentationLinkConstants_1.PrimaryKeyDocsLink}`);
|
|
848
|
+
this.logger.consoleError(`adaptableOptions.primaryKey is required and must not be empty. As a fallback, set adaptableOptions.autogeneratedPrimaryKey = true. See: ${DocumentationLinkConstants_1.PrimaryKeyDocsLink}`);
|
|
717
849
|
}
|
|
718
850
|
return adaptableOptions;
|
|
719
851
|
}
|
|
@@ -745,7 +877,7 @@ You need to define at least one Layout!`);
|
|
|
745
877
|
*/
|
|
746
878
|
this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'defaultColDef', (original_defaultColDef) => {
|
|
747
879
|
if (original_defaultColDef?.headerValueGetter) {
|
|
748
|
-
this.logger.warn(
|
|
880
|
+
this.logger.warn('defaultColDef.headerValueGetter overrides the Adaptable header mechanism. Consider using ColumnOptions.columnHeader instead.');
|
|
749
881
|
return original_defaultColDef;
|
|
750
882
|
}
|
|
751
883
|
// #customize_header
|
|
@@ -762,7 +894,7 @@ You need to define at least one Layout!`);
|
|
|
762
894
|
*/
|
|
763
895
|
this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'defaultColGroupDef', (original_defaultColGroupDef) => {
|
|
764
896
|
if (original_defaultColGroupDef?.headerValueGetter) {
|
|
765
|
-
this.logger.warn(
|
|
897
|
+
this.logger.warn('defaultColGroupDef.headerValueGetter overrides the Adaptable header mechanism. Consider using ColumnOptions.tableColumnHeader instead.');
|
|
766
898
|
return original_defaultColGroupDef;
|
|
767
899
|
}
|
|
768
900
|
const defaultColGroupDef = { ...original_defaultColGroupDef };
|
|
@@ -782,11 +914,11 @@ You need to define at least one Layout!`);
|
|
|
782
914
|
}
|
|
783
915
|
if (original_autoGroupColumnDef?.filter === false) {
|
|
784
916
|
// if user disables filter on autoGroupColumnDef, we respect that
|
|
785
|
-
this.logger.info(
|
|
917
|
+
this.logger.info('autoGroupColumnDef.filter is disabled via user configuration.');
|
|
786
918
|
return original_autoGroupColumnDef;
|
|
787
919
|
}
|
|
788
920
|
if (typeof original_autoGroupColumnDef?.filter === 'object') {
|
|
789
|
-
this.logger.
|
|
921
|
+
this.logger.consoleWarn('autoGroupColumnDef.filter overrides the Adaptable filtering mechanism for the Group Column. Adaptable-managed filters will not apply to this column. Contact support for alternatives.');
|
|
790
922
|
return original_autoGroupColumnDef;
|
|
791
923
|
}
|
|
792
924
|
const autoGroupColumnDef = { ...original_autoGroupColumnDef };
|
|
@@ -794,7 +926,7 @@ You need to define at least one Layout!`);
|
|
|
794
926
|
// !! DO NOT REMOVE THIS !!
|
|
795
927
|
// see https://github.com/ag-grid/ag-grid/blob/6f43ff257c2e285068eb425b655e58d6eeb89816/packages/ag-grid-enterprise/src/rowHierarchy/autoColService.ts#L225
|
|
796
928
|
autoGroupColumnDef.filterValueGetter = (params) => {
|
|
797
|
-
this.logger.
|
|
929
|
+
this.logger.consoleWarn('Unexpected invocation of autoGroupColumnDef.filterValueGetter. This is not expected under normal operation. Please contact support.', params);
|
|
798
930
|
return '';
|
|
799
931
|
};
|
|
800
932
|
// !! it is important that we always return the same component / handler instances
|
|
@@ -1108,16 +1240,7 @@ You need to define at least one Layout!`);
|
|
|
1108
1240
|
return original_sideBar;
|
|
1109
1241
|
}
|
|
1110
1242
|
const isAdaptableToolPanelHidden = this.api.entitlementApi.isModuleHiddenEntitlement('ToolPanel');
|
|
1111
|
-
const adaptableToolPanelDef =
|
|
1112
|
-
id: GeneralConstants.ADAPTABLE_TOOLPANEL_ID,
|
|
1113
|
-
toolPanel: GeneralConstants.ADAPTABLE_TOOLPANEL_COMPONENT,
|
|
1114
|
-
labelDefault: GeneralConstants.ADAPTABLE,
|
|
1115
|
-
labelKey: 'adaptable',
|
|
1116
|
-
iconKey: 'menu',
|
|
1117
|
-
width: UIHelper_1.default.getAdaptableToolPanelWidth(),
|
|
1118
|
-
minWidth: UIHelper_1.default.getAdaptableToolPanelWidth(),
|
|
1119
|
-
// maxWidth = undefined,
|
|
1120
|
-
};
|
|
1243
|
+
const adaptableToolPanelDef = this.buildAdaptableToolPanelDef();
|
|
1121
1244
|
const mapToolPanelDefs = (toolPanelDefs = []) => {
|
|
1122
1245
|
// if it's an alias for the adaptable tool panel, map it to a ToolPanelDef, otherwise return it as it is
|
|
1123
1246
|
return toolPanelDefs.map((toolPanelDef) => toolPanelDef === GeneralConstants.ADAPTABLE_TOOLPANEL_ID
|
|
@@ -1192,19 +1315,29 @@ You need to define at least one Layout!`);
|
|
|
1192
1315
|
this.agGridOptionsService.setGridOptionsProperty(gridOptions, 'statusBar', (original_statusBar) => {
|
|
1193
1316
|
const statusPanels = (original_statusBar?.statusPanels ?? [])?.map((statusPanel) => {
|
|
1194
1317
|
if (statusPanel.statusPanel === StatusBarState_1.ADAPTABLE_STATUS_PANEL) {
|
|
1318
|
+
if (!statusPanel.key) {
|
|
1319
|
+
this.logger.consoleWarn('AdaptableStatusPanel is missing a "key" property. This panel will not be managed by HideAdaptableUI. Please provide a unique key.');
|
|
1320
|
+
return statusPanel;
|
|
1321
|
+
}
|
|
1195
1322
|
this.adaptableStatusPanelKeys.push(statusPanel.key);
|
|
1196
1323
|
const context = {
|
|
1197
1324
|
Key: statusPanel.key,
|
|
1198
1325
|
};
|
|
1199
|
-
|
|
1326
|
+
const adaptablePanelDef = {
|
|
1200
1327
|
...statusPanel,
|
|
1201
1328
|
statusPanel: (0, createAgStatusPanelComponent_1.createAgStatusPanelComponent)(AdaptableStatusBar_1.AdaptableStatusBar, this, context),
|
|
1202
1329
|
};
|
|
1330
|
+
this.adaptableStatusPanelDefs.push(adaptablePanelDef);
|
|
1331
|
+
return adaptablePanelDef;
|
|
1203
1332
|
}
|
|
1204
1333
|
return statusPanel;
|
|
1205
1334
|
});
|
|
1206
1335
|
return { ...original_statusBar, statusPanels };
|
|
1207
1336
|
});
|
|
1337
|
+
this.hasAdaptableStatusBar = this.adaptableStatusPanelKeys.length > 0;
|
|
1338
|
+
}
|
|
1339
|
+
else {
|
|
1340
|
+
this.hasAdaptableStatusBar = false;
|
|
1208
1341
|
}
|
|
1209
1342
|
/**
|
|
1210
1343
|
* `getRowStyle`
|
|
@@ -1364,15 +1497,14 @@ You need to define at least one Layout!`);
|
|
|
1364
1497
|
const rowData = agGridApi.getGridOption('rowData');
|
|
1365
1498
|
this.initWithLazyData = rowData == undefined || rowData.length === 0;
|
|
1366
1499
|
if (this.initWithLazyData) {
|
|
1367
|
-
this.logger.info('
|
|
1500
|
+
this.logger.info('Initializing with lazy data (no initial rowData).');
|
|
1368
1501
|
}
|
|
1369
1502
|
if (!this.getAgGridContainerElement()) {
|
|
1370
1503
|
// initialize the agGridContainerElement from the AgGrid instance
|
|
1371
1504
|
const gridRoot = this.agGridAdapter.getAgGridRootElement();
|
|
1372
1505
|
const gridContainer = gridRoot?.closest('[class*="ag-theme"]');
|
|
1373
1506
|
if (!gridContainer) {
|
|
1374
|
-
this.logger.consoleError(
|
|
1375
|
-
Please contact AdapTable Support and in the meantime provide a valid container element in 'ContainerOptions.agGridContainer'!`);
|
|
1507
|
+
this.logger.consoleError('Failed to derive AG Grid container from the framework wrapper. Please provide a valid container element via ContainerOptions.agGridContainer.');
|
|
1376
1508
|
}
|
|
1377
1509
|
this.DANGER_USE_GETTER_agGridContainerElement = gridContainer;
|
|
1378
1510
|
}
|
|
@@ -1380,7 +1512,7 @@ You need to define at least one Layout!`);
|
|
|
1380
1512
|
}
|
|
1381
1513
|
const agGridContainer = this.getAgGridContainerElement();
|
|
1382
1514
|
if (!agGridContainer) {
|
|
1383
|
-
this.logger.consoleError('
|
|
1515
|
+
this.logger.consoleError('AG Grid container element not found in the DOM. Please provide a valid element via ContainerOptions.agGridContainer.');
|
|
1384
1516
|
return Promise.resolve(false);
|
|
1385
1517
|
}
|
|
1386
1518
|
let gridParams;
|
|
@@ -1393,21 +1525,22 @@ You need to define at least one Layout!`);
|
|
|
1393
1525
|
useRowNodeLookUp() {
|
|
1394
1526
|
return this.agGridAdapter.getAgGridApi().getGridOption('getRowId') != undefined;
|
|
1395
1527
|
}
|
|
1528
|
+
buildInitContainerContext() {
|
|
1529
|
+
return {
|
|
1530
|
+
adaptableId: this.adaptableOptions?.adaptableId ?? '',
|
|
1531
|
+
adaptableStateKey: this.adaptableOptions?.adaptableStateKey ?? '',
|
|
1532
|
+
adaptableContext: this.adaptableOptions?.adaptableContext,
|
|
1533
|
+
};
|
|
1534
|
+
}
|
|
1396
1535
|
getAgGridContainerElement() {
|
|
1397
1536
|
if (!this.DANGER_USE_GETTER_agGridContainerElement) {
|
|
1398
|
-
this.DANGER_USE_GETTER_agGridContainerElement =
|
|
1399
|
-
typeof this.adaptableOptions?.containerOptions?.agGridContainer === 'string'
|
|
1400
|
-
? document.getElementById(this.adaptableOptions?.containerOptions?.agGridContainer)
|
|
1401
|
-
: this.adaptableOptions?.containerOptions?.agGridContainer;
|
|
1537
|
+
this.DANGER_USE_GETTER_agGridContainerElement = (0, resolveContainerElement_1.resolveContainerElement)(this.adaptableOptions?.containerOptions?.agGridContainer, this.buildInitContainerContext());
|
|
1402
1538
|
}
|
|
1403
1539
|
return this.DANGER_USE_GETTER_agGridContainerElement;
|
|
1404
1540
|
}
|
|
1405
1541
|
getAdaptableContainerElement() {
|
|
1406
1542
|
if (!this.DANGER_USE_GETTER_adaptableContainerElement) {
|
|
1407
|
-
this.DANGER_USE_GETTER_adaptableContainerElement =
|
|
1408
|
-
typeof this.adaptableOptions?.containerOptions?.adaptableContainer === 'string'
|
|
1409
|
-
? document.getElementById(this.adaptableOptions?.containerOptions?.adaptableContainer)
|
|
1410
|
-
: this.adaptableOptions?.containerOptions?.adaptableContainer;
|
|
1543
|
+
this.DANGER_USE_GETTER_adaptableContainerElement = (0, resolveContainerElement_1.resolveContainerElement)(this.adaptableOptions?.containerOptions?.adaptableContainer, this.buildInitContainerContext());
|
|
1411
1544
|
}
|
|
1412
1545
|
return this.DANGER_USE_GETTER_adaptableContainerElement;
|
|
1413
1546
|
}
|
|
@@ -1795,7 +1928,7 @@ You need to define at least one Layout!`);
|
|
|
1795
1928
|
// if no primary key column then lets check the first row to see if its a data item
|
|
1796
1929
|
const primaryKeyDataItem = this.getFirstRowNode()?.data[primaryKey];
|
|
1797
1930
|
if (!primaryKeyDataItem) {
|
|
1798
|
-
errorMessage = `
|
|
1931
|
+
errorMessage = `Primary key column "${this.adaptableOptions.primaryKey}" not found. This will affect many Adaptable features.`;
|
|
1799
1932
|
if (this.adaptableOptions.alertOptions.showMissingPrimaryKeyAlert) {
|
|
1800
1933
|
// show an alert if that is the option
|
|
1801
1934
|
this.api.alertApi.showAlertError('No Primary Key', errorMessage);
|
|
@@ -1852,12 +1985,12 @@ You need to define at least one Layout!`);
|
|
|
1852
1985
|
checkShouldClearExistingFiltersOrSearches() {
|
|
1853
1986
|
// if they have selected to clear Filters on startup then do it
|
|
1854
1987
|
if (this.adaptableOptions.filterOptions.clearFiltersOnStartUp) {
|
|
1855
|
-
this.logger.warn('Clearing
|
|
1988
|
+
this.logger.warn('Clearing saved filters (clearFiltersOnStartUp is enabled).');
|
|
1856
1989
|
this.api.filterApi.clearAllFilters();
|
|
1857
1990
|
}
|
|
1858
1991
|
// if they have selected to clear searches on startup then do it
|
|
1859
1992
|
if (this.adaptableOptions.quickSearchOptions.clearQuickSearchOnStartUp) {
|
|
1860
|
-
this.logger.warn('Clearing
|
|
1993
|
+
this.logger.warn('Clearing saved Quick Search (clearQuickSearchOnStartUp is enabled).');
|
|
1861
1994
|
this.api.quickSearchApi.clearQuickSearch();
|
|
1862
1995
|
}
|
|
1863
1996
|
}
|
|
@@ -2070,6 +2203,7 @@ You need to define at least one Layout!`);
|
|
|
2070
2203
|
}
|
|
2071
2204
|
return rawValue;
|
|
2072
2205
|
}
|
|
2206
|
+
__updateColumnModelAndRefreshGrid_already_called = false;
|
|
2073
2207
|
updateColumnModelAndRefreshGrid() {
|
|
2074
2208
|
if (this.__updateColumnModelAndRefreshGrid_already_called) {
|
|
2075
2209
|
return;
|
|
@@ -2085,7 +2219,7 @@ You need to define at least one Layout!`);
|
|
|
2085
2219
|
}
|
|
2086
2220
|
}
|
|
2087
2221
|
_updateColumnModelAndRefreshGridNow() {
|
|
2088
|
-
this.logger.info(
|
|
2222
|
+
this.logger.info('Updating column model and refreshing grid.');
|
|
2089
2223
|
this.deriveAdaptableColumnStateFromAgGrid();
|
|
2090
2224
|
this.agGridColumnAdapter.setupColumns();
|
|
2091
2225
|
this.redrawBody();
|
|
@@ -2111,7 +2245,7 @@ You need to define at least one Layout!`);
|
|
|
2111
2245
|
this.agGridAdapter.getAgGridApi().redrawRows(redrawRowsParams);
|
|
2112
2246
|
}
|
|
2113
2247
|
catch (ex) {
|
|
2114
|
-
this.logger.consoleError('AG Grid redrawRows
|
|
2248
|
+
this.logger.consoleError('AG Grid redrawRows failed to locate some row nodes.', rowNodes, ex);
|
|
2115
2249
|
}
|
|
2116
2250
|
}
|
|
2117
2251
|
redrawRow(rowNode) {
|
|
@@ -2405,31 +2539,34 @@ You need to define at least one Layout!`);
|
|
|
2405
2539
|
});
|
|
2406
2540
|
}
|
|
2407
2541
|
}
|
|
2408
|
-
async
|
|
2542
|
+
async manageGridRows(dataRowConfig, dataUpdateConfig = {}) {
|
|
2409
2543
|
const result = {
|
|
2410
2544
|
addedRows: [],
|
|
2411
2545
|
updatedRows: [],
|
|
2412
2546
|
removedRows: [],
|
|
2413
2547
|
};
|
|
2414
|
-
if (!
|
|
2548
|
+
if (!dataRowConfig) {
|
|
2549
|
+
return result;
|
|
2550
|
+
}
|
|
2551
|
+
if (!dataRowConfig.addRows || !dataRowConfig.updateRows || !dataRowConfig.deleteRows) {
|
|
2415
2552
|
return result;
|
|
2416
2553
|
}
|
|
2417
|
-
const addDataRows =
|
|
2418
|
-
const updateDataRows =
|
|
2419
|
-
const removeDataRows =
|
|
2554
|
+
const addDataRows = dataRowConfig.addRows;
|
|
2555
|
+
const updateDataRows = dataRowConfig.updateRows;
|
|
2556
|
+
const removeDataRows = dataRowConfig.deleteRows;
|
|
2420
2557
|
if (this.hasAutogeneratedPrimaryKey) {
|
|
2421
2558
|
this.addSyntheticPrimaryKeyIfMissing(addDataRows);
|
|
2422
2559
|
}
|
|
2423
|
-
if (
|
|
2560
|
+
if (dataUpdateConfig.runAsync) {
|
|
2424
2561
|
return new Promise((resolve) => {
|
|
2425
2562
|
this.applyAgGridTransactionAsync({
|
|
2426
2563
|
update: updateDataRows,
|
|
2427
2564
|
add: addDataRows,
|
|
2428
2565
|
remove: removeDataRows,
|
|
2429
|
-
addIndex:
|
|
2566
|
+
addIndex: dataUpdateConfig.addIndex,
|
|
2430
2567
|
}, (transaction) => {
|
|
2431
|
-
if (typeof
|
|
2432
|
-
|
|
2568
|
+
if (typeof dataUpdateConfig.callback === 'function') {
|
|
2569
|
+
dataUpdateConfig.callback(transaction);
|
|
2433
2570
|
}
|
|
2434
2571
|
if (transaction?.add) {
|
|
2435
2572
|
this.updateRowGroupsAndColumnGroupsExpandedState();
|
|
@@ -2440,7 +2577,7 @@ You need to define at least one Layout!`);
|
|
|
2440
2577
|
removedRows: transaction?.remove,
|
|
2441
2578
|
});
|
|
2442
2579
|
});
|
|
2443
|
-
if (
|
|
2580
|
+
if (dataUpdateConfig.flushAsync) {
|
|
2444
2581
|
this.agGridAdapter.getAgGridApi().flushAsyncTransactions();
|
|
2445
2582
|
}
|
|
2446
2583
|
});
|
|
@@ -2450,12 +2587,12 @@ You need to define at least one Layout!`);
|
|
|
2450
2587
|
update: updateDataRows,
|
|
2451
2588
|
add: addDataRows,
|
|
2452
2589
|
remove: removeDataRows,
|
|
2453
|
-
addIndex:
|
|
2590
|
+
addIndex: dataUpdateConfig.addIndex,
|
|
2454
2591
|
});
|
|
2455
2592
|
if (transaction?.add) {
|
|
2456
2593
|
this.updateRowGroupsAndColumnGroupsExpandedState();
|
|
2457
2594
|
}
|
|
2458
|
-
if (
|
|
2595
|
+
if (dataUpdateConfig.flushAsync) {
|
|
2459
2596
|
this.agGridAdapter.getAgGridApi().flushAsyncTransactions();
|
|
2460
2597
|
}
|
|
2461
2598
|
return Promise.resolve({
|
|
@@ -2521,14 +2658,14 @@ You need to define at least one Layout!`);
|
|
|
2521
2658
|
}
|
|
2522
2659
|
autoSizeColumns(columnIds) {
|
|
2523
2660
|
if (!this.agGridModulesAdapter.isAgGridModuleRegistered('ColumnAutoSizeModule')) {
|
|
2524
|
-
this.logger.consoleError(`
|
|
2661
|
+
this.logger.consoleError(`Auto-sizing columns [${columnIds}] requires the AG Grid "ColumnAutoSizeModule". Please register this module.`);
|
|
2525
2662
|
return;
|
|
2526
2663
|
}
|
|
2527
2664
|
this.layoutManager.autoSizeColumns(columnIds);
|
|
2528
2665
|
}
|
|
2529
2666
|
autoSizeAllColumns() {
|
|
2530
2667
|
if (!this.agGridModulesAdapter.isAgGridModuleRegistered('ColumnAutoSizeModule')) {
|
|
2531
|
-
this.logger.consoleError(
|
|
2668
|
+
this.logger.consoleError('Auto-sizing all columns requires the AG Grid "ColumnAutoSizeModule". Please register this module.');
|
|
2532
2669
|
return;
|
|
2533
2670
|
}
|
|
2534
2671
|
const agGridApi = this.agGridAdapter.getAgGridApi();
|
|
@@ -2686,7 +2823,7 @@ You need to define at least one Layout!`);
|
|
|
2686
2823
|
customInFilterValuesResult = await customInFilterValues(customInFilterValuesContext);
|
|
2687
2824
|
}
|
|
2688
2825
|
catch (error) {
|
|
2689
|
-
this.logger.consoleError(
|
|
2826
|
+
this.logger.consoleError('Failed to retrieve custom filter values.', column, error);
|
|
2690
2827
|
}
|
|
2691
2828
|
return customInFilterValuesResult;
|
|
2692
2829
|
}
|
|
@@ -2726,7 +2863,7 @@ You need to define at least one Layout!`);
|
|
|
2726
2863
|
customDistinctValues = await customEditColumnValues(customEditValuesContext);
|
|
2727
2864
|
}
|
|
2728
2865
|
catch (error) {
|
|
2729
|
-
this.logger.consoleError(
|
|
2866
|
+
this.logger.consoleError('Failed to retrieve custom edit values.', column, error);
|
|
2730
2867
|
}
|
|
2731
2868
|
return customDistinctValues ?? [];
|
|
2732
2869
|
}
|
|
@@ -3181,7 +3318,7 @@ You need to define at least one Layout!`);
|
|
|
3181
3318
|
if (this.getAgGridRowModelType() !== 'clientSide') {
|
|
3182
3319
|
// only in client-side row model can we loop through filtered&sorted rows
|
|
3183
3320
|
// see https://www.ag-grid.com/javascript-data-grid/accessing-data/#iterating-rows
|
|
3184
|
-
this.logger.warn('
|
|
3321
|
+
this.logger.warn('forAllVisibleRowNodesDo() is only supported with client-side row model. Falling back to forAllRowNodesDo().');
|
|
3185
3322
|
return this.forAllRowNodesDo(func, config);
|
|
3186
3323
|
}
|
|
3187
3324
|
this.agGridAdapter.getAgGridApi().forEachNodeAfterFilterAndSort((rowNode, rowIndex) => {
|
|
@@ -3233,14 +3370,14 @@ You need to define at least one Layout!`);
|
|
|
3233
3370
|
}
|
|
3234
3371
|
selectNode(rowNode, clearSelection) {
|
|
3235
3372
|
if (!rowNode) {
|
|
3236
|
-
this.logger.error('
|
|
3373
|
+
this.logger.error('Cannot select: row node is null.');
|
|
3237
3374
|
return;
|
|
3238
3375
|
}
|
|
3239
3376
|
rowNode.setSelected(true, clearSelection);
|
|
3240
3377
|
}
|
|
3241
3378
|
deSelectNode(rowNode, clearSelection) {
|
|
3242
3379
|
if (!rowNode) {
|
|
3243
|
-
this.logger.error('
|
|
3380
|
+
this.logger.error('Cannot deselect: row node is null.');
|
|
3244
3381
|
return;
|
|
3245
3382
|
}
|
|
3246
3383
|
rowNode.setSelected(false, clearSelection);
|
|
@@ -3328,7 +3465,7 @@ You need to define at least one Layout!`);
|
|
|
3328
3465
|
}
|
|
3329
3466
|
showChart(chartDefinition, container) {
|
|
3330
3467
|
if (!this.isReady) {
|
|
3331
|
-
this.logger.consoleError('
|
|
3468
|
+
this.logger.consoleError('Cannot call showChart before Adaptable is fully initialized.');
|
|
3332
3469
|
return null;
|
|
3333
3470
|
}
|
|
3334
3471
|
/**
|
|
@@ -3349,7 +3486,7 @@ You need to define at least one Layout!`);
|
|
|
3349
3486
|
}
|
|
3350
3487
|
updateChart(chart) {
|
|
3351
3488
|
if (!chart.Model) {
|
|
3352
|
-
this.logger.consoleError(`
|
|
3489
|
+
this.logger.consoleError(`Cannot update chart "${chart.Name}": the chart definition is missing the required Model property.`);
|
|
3353
3490
|
return;
|
|
3354
3491
|
}
|
|
3355
3492
|
const upgradableProperties = {
|
|
@@ -3361,12 +3498,21 @@ You need to define at least one Layout!`);
|
|
|
3361
3498
|
suppressChartRanges: Boolean(chart.Model.suppressChartRanges),
|
|
3362
3499
|
aggFunc: chart.Model.aggFunc,
|
|
3363
3500
|
};
|
|
3501
|
+
// Skip the AG Grid API call if the upgradable properties haven't changed
|
|
3502
|
+
// to avoid unnecessary chartOptionsChanged events (see #ag_grid_update_chart_loop)
|
|
3503
|
+
const currentModel = this.getChartModels().find((model) => model.chartId === chart.Model.chartId);
|
|
3504
|
+
if (currentModel &&
|
|
3505
|
+
Boolean(currentModel.unlinkChart) === upgradableProperties.unlinkChart &&
|
|
3506
|
+
Boolean(currentModel.suppressChartRanges) === upgradableProperties.suppressChartRanges &&
|
|
3507
|
+
currentModel.aggFunc === upgradableProperties.aggFunc) {
|
|
3508
|
+
return;
|
|
3509
|
+
}
|
|
3364
3510
|
// see also #ag_grid_update_chart_loop
|
|
3365
3511
|
this.agGridAdapter.getAgGridApi().updateChart(upgradableProperties);
|
|
3366
3512
|
}
|
|
3367
3513
|
getChartModels() {
|
|
3368
3514
|
if (!this.isReady) {
|
|
3369
|
-
this.logger.consoleError('
|
|
3515
|
+
this.logger.consoleError('Cannot call getChartModels before Adaptable is fully initialized.');
|
|
3370
3516
|
return [];
|
|
3371
3517
|
}
|
|
3372
3518
|
return this.agGridAdapter.getAgGridApi().getChartModels();
|
|
@@ -3400,7 +3546,7 @@ You need to define at least one Layout!`);
|
|
|
3400
3546
|
}
|
|
3401
3547
|
setAgGridQuickSearch(searchText) {
|
|
3402
3548
|
if (!this.agGridModulesAdapter.isAgGridModuleRegistered('QuickFilterModule')) {
|
|
3403
|
-
this.logger.consoleError(
|
|
3549
|
+
this.logger.consoleError('Quick Search requires the AG Grid "QuickFilterModule". Please register this module to enable Quick Search.');
|
|
3404
3550
|
return;
|
|
3405
3551
|
}
|
|
3406
3552
|
this.agGridAdapter.setGridOption('quickFilterText', searchText);
|
|
@@ -3410,7 +3556,7 @@ You need to define at least one Layout!`);
|
|
|
3410
3556
|
}
|
|
3411
3557
|
setAgGridFindSearchValue(searchText) {
|
|
3412
3558
|
if (!this.agGridModulesAdapter.isAgGridModuleRegistered('FindModule')) {
|
|
3413
|
-
this.logger.consoleError(
|
|
3559
|
+
this.logger.consoleError('Find Search requires the AG Grid "FindModule". Please register this module to enable Find Search.');
|
|
3414
3560
|
return;
|
|
3415
3561
|
}
|
|
3416
3562
|
this.agGridAdapter.setGridOption('findSearchValue', searchText);
|
|
@@ -3939,7 +4085,7 @@ You need to define at least one Layout!`);
|
|
|
3939
4085
|
cellDataChangedInfos.forEach((cellDataChangedInfo) => {
|
|
3940
4086
|
// if a Cell Data Change is undone, log to the Console
|
|
3941
4087
|
if (cellDataChangedInfo.trigger === 'undo') {
|
|
3942
|
-
this.logger.info(`
|
|
4088
|
+
this.logger.info(`Data change reverted: column="${cellDataChangedInfo.column}", primaryKey="${cellDataChangedInfo.primaryKeyValue}", from=${cellDataChangedInfo.newValue} to=${cellDataChangedInfo.oldValue}`);
|
|
3943
4089
|
}
|
|
3944
4090
|
// For Changes except Aggregations, reset cell selection if required
|
|
3945
4091
|
if (cellDataChangedInfo.trigger === 'edit' ||
|
|
@@ -4144,7 +4290,7 @@ You need to define at least one Layout!`);
|
|
|
4144
4290
|
this.api.layoutApi.createOrUpdateLayout(layout);
|
|
4145
4291
|
}
|
|
4146
4292
|
refreshAdaptableAfterLayoutChange(layout) {
|
|
4147
|
-
this.logger.info('
|
|
4293
|
+
this.logger.info('Refreshing Adaptable after layout change.');
|
|
4148
4294
|
const prevLayoutForRefresh = this.__prevLayoutForRefresh || this.api.layoutApi.getCurrentLayout();
|
|
4149
4295
|
// see #on-regroup-expect-group-column-to-be-recomputed-and-setup-properly
|
|
4150
4296
|
const rowGroupsChanged = this.isRowGroupDifferentInLayout(prevLayoutForRefresh, layout);
|
|
@@ -4190,7 +4336,7 @@ You need to define at least one Layout!`);
|
|
|
4190
4336
|
.forEach((colType) => {
|
|
4191
4337
|
const newValidCellDataType = (0, VersionUpgrade20_1.mapOldTypeToDataType)(colType);
|
|
4192
4338
|
if (newValidCellDataType) {
|
|
4193
|
-
this.logger.consoleWarn(`Column ${columnDefinition.colId ?? columnDefinition.field}
|
|
4339
|
+
this.logger.consoleWarn(`Column "${columnDefinition.colId ?? columnDefinition.field}" uses deprecated type "${colType}"${newValidCellDataType !== 'unknown' ? `. Use colDef.cellDataType="${newValidCellDataType}" instead.` : '. This type is no longer supported.'}`);
|
|
4194
4340
|
}
|
|
4195
4341
|
});
|
|
4196
4342
|
});
|