@adaptabletools/adaptable 18.0.0-canary.3 → 18.0.0-canary.31
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 +4 -21
- package/agGrid.js +9 -26
- package/base.css +27 -21
- package/base.css.map +1 -1
- package/index.css +108 -88
- package/index.css.map +1 -1
- package/package.json +4 -5
- package/src/AdaptableInterfaces/IAdaptable.d.ts +61 -109
- package/src/AdaptableOptions/ActionColumnOptions.d.ts +3 -2
- package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
- package/src/AdaptableOptions/AdaptableOptions.d.ts +7 -7
- package/src/AdaptableOptions/AdaptablePlugin.d.ts +2 -0
- package/src/AdaptableOptions/AdaptablePlugin.js +2 -0
- package/src/AdaptableOptions/ColumnFilterOptions.d.ts +11 -4
- package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
- package/src/AdaptableOptions/CommentOptions.d.ts +39 -0
- package/src/AdaptableOptions/CustomSortOptions.d.ts +2 -2
- package/src/AdaptableOptions/DataImportOptions.d.ts +2 -2
- package/src/AdaptableOptions/FormatColumnOptions.d.ts +2 -2
- package/src/AdaptableOptions/GroupingOptions.d.ts +0 -26
- package/src/AdaptableOptions/MenuOptions.d.ts +11 -71
- package/src/AdaptableOptions/MenuOptions.js +1 -99
- package/src/AdaptableOptions/NoteOptions.d.ts +25 -0
- package/src/AdaptableOptions/PredicateOptions.d.ts +2 -2
- package/src/AdaptableOptions/StateOptions.d.ts +6 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +19 -2
- package/src/Api/AdaptableApi.d.ts +9 -4
- package/src/Api/BulkUpdateApi.d.ts +0 -5
- package/src/Api/ColumnApi.d.ts +13 -0
- package/src/Api/CommentApi.d.ts +20 -22
- package/src/Api/ConfigApi.d.ts +4 -5
- package/src/Api/EventApi.d.ts +7 -9
- package/src/Api/Events/AdaptableReady.d.ts +3 -3
- package/src/Api/Events/CommentChanged.d.ts +11 -0
- package/src/Api/Events/GridDataChanged.d.ts +4 -4
- package/src/Api/FlashingCellApi.d.ts +2 -2
- package/src/Api/GridApi.d.ts +42 -14
- package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
- package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
- package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
- package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
- package/src/Api/Implementation/AlertApiImpl.js +5 -10
- package/src/Api/Implementation/ApiBase.d.ts +5 -3
- package/src/Api/Implementation/ApiBase.js +8 -2
- package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
- package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
- package/src/Api/Implementation/CalendarApiImpl.js +1 -6
- package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
- package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
- package/src/Api/Implementation/ChartingApiImpl.js +3 -3
- package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -0
- package/src/Api/Implementation/ColumnApiImpl.js +45 -15
- package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
- package/src/Api/Implementation/CommentsApiImpl.d.ts +8 -5
- package/src/Api/Implementation/CommentsApiImpl.js +12 -6
- package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
- package/src/Api/Implementation/ConfigApiImpl.js +34 -30
- package/src/Api/Implementation/DashboardApiImpl.js +1 -6
- package/src/Api/Implementation/ExportApiImpl.js +5 -10
- package/src/Api/Implementation/ExpressionApiImpl.js +14 -19
- package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -2
- package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
- package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
- package/src/Api/Implementation/GridApiImpl.d.ts +10 -3
- package/src/Api/Implementation/GridApiImpl.js +78 -23
- package/src/Api/Implementation/LayoutApiImpl.d.ts +4 -7
- package/src/Api/Implementation/LayoutApiImpl.js +19 -13
- package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
- package/src/Api/Implementation/NoteApiImpl.js +40 -0
- package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
- package/src/Api/Implementation/OptionsApiImpl.js +4 -4
- package/src/Api/Implementation/PredicateApiImpl.js +2 -2
- package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
- package/src/Api/Implementation/ScopeApiImpl.d.ts +26 -24
- package/src/Api/Implementation/ScopeApiImpl.js +64 -18
- package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
- package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
- package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
- package/src/Api/Implementation/ThemeApiImpl.js +2 -7
- package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -8
- package/src/Api/Implementation/UserInterfaceApiImpl.js +30 -25
- package/src/Api/Internal/ActionRowInternalApi.d.ts +6 -1
- package/src/Api/Internal/ActionRowInternalApi.js +117 -38
- package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -8
- package/src/Api/Internal/AdaptableInternalApi.js +25 -37
- package/src/Api/Internal/AlertInternalApi.d.ts +2 -2
- package/src/Api/Internal/AlertInternalApi.js +4 -17
- package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
- package/src/Api/Internal/CalculatedColumnInternalApi.js +78 -14
- package/src/Api/Internal/ChartingInternalApi.js +13 -13
- package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
- package/src/Api/Internal/ColumnFilterInternalApi.js +35 -31
- package/src/Api/Internal/ColumnInternalApi.d.ts +6 -1
- package/src/Api/Internal/ColumnInternalApi.js +19 -1
- package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
- package/src/Api/Internal/CommentsInternalApi.js +14 -0
- package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
- package/src/Api/Internal/CustomSortInternalApi.js +33 -2
- package/src/Api/Internal/DashboardInternalApi.js +5 -11
- package/src/Api/Internal/DataImportInternalApi.js +3 -9
- package/src/Api/Internal/DataSetInternalApi.js +3 -8
- package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
- package/src/Api/Internal/ExportInternalApi.js +8 -5
- package/src/Api/Internal/ExpressionInternalApi.js +2 -12
- package/src/Api/Internal/Fdc3InternalApi.js +3 -12
- package/src/Api/Internal/FormatColumnInternalApi.d.ts +3 -6
- package/src/Api/Internal/FormatColumnInternalApi.js +39 -30
- package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
- package/src/Api/Internal/FreeTextColumnInternalApi.js +61 -1
- package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
- package/src/Api/Internal/GridFilterInternalApi.js +9 -9
- package/src/Api/Internal/GridInternalApi.d.ts +23 -3
- package/src/Api/Internal/GridInternalApi.js +151 -44
- package/src/Api/Internal/LayoutInternalApi.d.ts +2 -0
- package/src/Api/Internal/LayoutInternalApi.js +26 -19
- package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
- package/src/Api/Internal/NoteInternalApi.js +14 -0
- package/src/Api/Internal/PredicateInternalApi.d.ts +6 -6
- package/src/Api/Internal/PredicateInternalApi.js +5 -40
- package/src/Api/Internal/ScheduleInternalApi.js +1 -6
- package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -2
- package/src/Api/Internal/StyledColumnInternalApi.js +8 -9
- package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
- package/src/Api/Internal/TeamSharingInternalApi.js +3 -8
- package/src/Api/Internal/ThemeInternalApi.js +1 -1
- package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
- package/src/Api/InteropioPluginApi.d.ts +2 -2
- package/src/Api/LayoutApi.d.ts +17 -9
- package/src/Api/NoteApi.d.ts +48 -0
- package/src/Api/OptionsApi.d.ts +8 -8
- package/src/Api/ScopeApi.d.ts +34 -24
- package/src/Api/UserInterfaceApi.d.ts +15 -13
- package/src/EnvVars.d.ts +3 -0
- package/src/EnvVars.js +4 -0
- package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
- package/src/PredefinedConfig/AlertState.d.ts +2 -2
- package/src/PredefinedConfig/CommentState.d.ts +27 -23
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
- package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
- package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
- package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
- package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
- package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +4 -1
- package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
- package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
- package/src/PredefinedConfig/Common/Enums.js +3 -0
- package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
- package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
- package/src/PredefinedConfig/Common/Menu.js +116 -1
- package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
- package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
- package/src/PredefinedConfig/Common/RowSummary.js +17 -0
- package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
- package/src/PredefinedConfig/Common/Types.d.ts +4 -4
- package/src/PredefinedConfig/Common/Types.js +4 -1
- package/src/PredefinedConfig/ExportState.d.ts +2 -2
- package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
- package/src/PredefinedConfig/FormatColumnState.d.ts +9 -5
- package/src/PredefinedConfig/LayoutState.d.ts +5 -0
- package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
- package/src/PredefinedConfig/NoteState.js +1 -0
- package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
- package/src/PredefinedConfig/PopupState.d.ts +1 -2
- package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
- package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
- package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
- package/src/PredefinedConfig/StyledColumnState.d.ts +5 -5
- package/src/PredefinedConfig/SystemState.d.ts +12 -4
- package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
- package/src/Redux/ActionsReducers/CommentsRedux.js +0 -34
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
- package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
- package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
- package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
- package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
- package/src/Redux/ActionsReducers/PopupRedux.js +0 -19
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +15 -4
- package/src/Redux/ActionsReducers/SystemRedux.js +24 -9
- package/src/Redux/Store/AdaptableStore.d.ts +4 -6
- package/src/Redux/Store/AdaptableStore.js +70 -80
- package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
- package/src/Strategy/AdaptableModuleBase.d.ts +11 -12
- package/src/Strategy/AdaptableModuleBase.js +17 -23
- package/src/Strategy/AlertModule.d.ts +2 -3
- package/src/Strategy/AlertModule.js +4 -57
- package/src/Strategy/BulkUpdateModule.d.ts +1 -1
- package/src/Strategy/BulkUpdateModule.js +2 -1
- package/src/Strategy/CalculatedColumnModule.d.ts +4 -5
- package/src/Strategy/CalculatedColumnModule.js +8 -28
- package/src/Strategy/CellSummaryModule.d.ts +10 -8
- package/src/Strategy/CellSummaryModule.js +85 -70
- package/src/Strategy/ChartingModule.d.ts +0 -1
- package/src/Strategy/ChartingModule.js +2 -22
- package/src/Strategy/ColumnFilterModule.d.ts +3 -4
- package/src/Strategy/ColumnFilterModule.js +37 -121
- package/src/Strategy/ColumnInfoModule.d.ts +2 -2
- package/src/Strategy/ColumnInfoModule.js +6 -4
- package/src/Strategy/CommentModule.d.ts +11 -0
- package/src/Strategy/CommentModule.js +70 -0
- package/src/Strategy/CustomSortModule.d.ts +1 -1
- package/src/Strategy/CustomSortModule.js +4 -3
- package/src/Strategy/DashboardModule.d.ts +3 -4
- package/src/Strategy/DashboardModule.js +11 -28
- package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
- package/src/Strategy/DataChangeHistoryModule.js +3 -1
- package/src/Strategy/DataImportModule.d.ts +4 -4
- package/src/Strategy/DataImportModule.js +8 -8
- package/src/Strategy/DataSetModule.d.ts +1 -1
- package/src/Strategy/DataSetModule.js +1 -1
- package/src/Strategy/ExportModule.d.ts +1 -2
- package/src/Strategy/ExportModule.js +39 -42
- package/src/Strategy/Fdc3Module.d.ts +1 -1
- package/src/Strategy/Fdc3Module.js +3 -13
- package/src/Strategy/FlashingCellModule.d.ts +3 -4
- package/src/Strategy/FlashingCellModule.js +8 -21
- package/src/Strategy/FormatColumnModule.d.ts +1 -3
- package/src/Strategy/FormatColumnModule.js +27 -91
- package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
- package/src/Strategy/FreeTextColumnModule.js +2 -32
- package/src/Strategy/GridFilterModule.d.ts +0 -1
- package/src/Strategy/GridFilterModule.js +0 -37
- package/src/Strategy/GridInfoModule.d.ts +2 -2
- package/src/Strategy/GridInfoModule.js +5 -3
- package/src/Strategy/Interface/IModule.d.ts +3 -4
- package/src/Strategy/LayoutModule.d.ts +5 -6
- package/src/Strategy/LayoutModule.js +77 -122
- package/src/Strategy/NamedQueryModule.d.ts +0 -1
- package/src/Strategy/NamedQueryModule.js +0 -19
- package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +3 -3
- package/src/Strategy/NoteModule.js +55 -0
- package/src/Strategy/PlusMinusModule.d.ts +2 -2
- package/src/Strategy/PlusMinusModule.js +3 -3
- package/src/Strategy/ScheduleModule.d.ts +1 -1
- package/src/Strategy/ScheduleModule.js +1 -1
- package/src/Strategy/SettingsPanelModule.d.ts +3 -3
- package/src/Strategy/SettingsPanelModule.js +6 -6
- package/src/Strategy/ShortcutModule.d.ts +1 -1
- package/src/Strategy/ShortcutModule.js +1 -1
- package/src/Strategy/SmartEditModule.d.ts +1 -1
- package/src/Strategy/SmartEditModule.js +2 -1
- package/src/Strategy/StyledColumnModule.d.ts +2 -2
- package/src/Strategy/StyledColumnModule.js +47 -40
- package/src/Strategy/SystemStatusModule.d.ts +2 -2
- package/src/Strategy/SystemStatusModule.js +4 -3
- package/src/Strategy/TeamSharingModule.d.ts +1 -0
- package/src/Strategy/TeamSharingModule.js +5 -5
- package/src/Strategy/ToolPanelModule.d.ts +0 -1
- package/src/Strategy/ToolPanelModule.js +0 -23
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -2
- package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
- package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
- package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
- package/src/Utilities/Constants/GeneralConstants.d.ts +2 -0
- package/src/Utilities/Constants/GeneralConstants.js +2 -0
- package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
- package/src/Utilities/Constants/ModuleConstants.js +6 -6
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +433 -3
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
- package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
- package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
- package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
- package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
- package/src/Utilities/Helpers/AdaptableHelper.js +19 -58
- package/src/Utilities/Helpers/Helper.d.ts +2 -0
- package/src/Utilities/Helpers/Helper.js +4 -0
- package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
- package/src/Utilities/MenuItem.d.ts +7 -4
- package/src/Utilities/MenuItem.js +6 -3
- package/src/Utilities/ObjectFactory.d.ts +3 -3
- package/src/Utilities/ObjectFactory.js +7 -25
- package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
- package/src/Utilities/Services/CellPopupService.js +2 -3
- package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
- package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
- package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
- package/src/Utilities/Services/LicenseService/index.js +1 -181
- package/src/Utilities/Services/MetamodelService.d.ts +1 -1
- package/src/Utilities/Services/MetamodelService.js +6 -3
- package/src/Utilities/Services/ModuleService.js +6 -2
- package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
- package/src/Utilities/Services/QueryLanguageService.js +4 -3
- package/src/Utilities/Services/ReportService.d.ts +7 -5
- package/src/Utilities/Services/ReportService.js +243 -24
- package/src/Utilities/Services/RowEditService.d.ts +3 -2
- package/src/Utilities/Services/RowEditService.js +3 -1
- package/src/Utilities/Services/RowSummaryService.d.ts +22 -0
- package/src/Utilities/Services/RowSummaryService.js +141 -0
- package/src/Utilities/adaptableQlUtils.d.ts +2 -0
- package/src/Utilities/adaptableQlUtils.js +14 -0
- package/src/Utilities/license/decode.js +1 -65
- package/src/Utilities/license/hashing.js +1 -43
- package/src/View/AdaptableView.js +1 -3
- package/src/View/AdaptableViewFactory.js +2 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
- package/src/View/Alert/Utilities/getAvailablePredicates.d.ts +2 -2
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -1
- package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
- package/src/View/CalculatedColumn/utils.d.ts +1 -1
- package/src/View/CellSummary/CellSummaryPopup.js +1 -1
- package/src/View/Comments/CommentsEditor.js +28 -17
- package/src/View/Comments/CommentsPopup.js +25 -13
- package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
- package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
- package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
- package/src/View/Components/CellPopup/index.d.ts +1 -0
- package/src/View/Components/CellPopup/index.js +6 -3
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
- package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
- package/src/View/Components/FilterForm/FilterForm.js +20 -12
- package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
- package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
- package/src/View/Components/NewScopeComponent.d.ts +5 -5
- package/src/View/Components/NewScopeComponent.js +34 -1
- package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
- package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +9 -1
- package/src/View/Components/Popups/AdaptableToaster.js +1 -1
- package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
- package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
- package/src/View/Components/RangesComponent.d.ts +2 -2
- package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
- package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
- package/src/View/Components/ValueSelector/index.d.ts +1 -0
- package/src/View/Components/ValueSelector/index.js +2 -2
- package/src/View/CustomSort/CustomSortSummary.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +12 -10
- package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +19 -6
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +27 -12
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
- package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
- package/src/View/Layout/LayoutViewPanel.js +2 -1
- package/src/View/Layout/TransposedPopup.d.ts +3 -0
- package/src/View/Layout/TransposedPopup.js +195 -0
- package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
- package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +17 -1
- package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
- package/src/View/License/LicenseWatermark.js +1 -61
- package/src/View/Note/NotePopup.d.ts +2 -0
- package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +20 -17
- package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +38 -14
- package/src/View/Theme/ThemeSelector.js +3 -3
- package/src/agGrid/ActionColumnRenderer.js +48 -10
- package/src/agGrid/Adaptable.d.ts +3 -455
- package/src/agGrid/Adaptable.js +8 -5292
- package/src/agGrid/AdaptableAgGrid.d.ts +346 -0
- package/src/agGrid/AdaptableAgGrid.js +3910 -0
- package/src/agGrid/AdaptableLogger.js +77 -11
- package/src/agGrid/AgGridAdapter.d.ts +64 -0
- package/src/agGrid/AgGridAdapter.js +589 -0
- package/src/agGrid/AgGridColumnAdapter.d.ts +54 -0
- package/src/agGrid/AgGridColumnAdapter.js +795 -0
- package/src/agGrid/AgGridMenuAdapter.d.ts +44 -0
- package/src/agGrid/AgGridMenuAdapter.js +600 -0
- package/src/agGrid/AgGridOptionsService.d.ts +15 -0
- package/src/agGrid/AgGridOptionsService.js +76 -0
- package/src/agGrid/BadgeRenderer.d.ts +2 -2
- package/src/agGrid/BadgeRenderer.js +26 -12
- package/src/agGrid/CheckboxRenderer.js +1 -1
- package/src/agGrid/FilterWrapper.d.ts +2 -2
- package/src/agGrid/FilterWrapper.js +1 -1
- package/src/agGrid/PercentBarRenderer.js +2 -1
- package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
- package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
- package/src/agGrid/buildSortedColumnStateForLayout.js +120 -0
- package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
- package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +71 -18
- package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
- package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
- package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
- package/src/agGrid/sortColumnStateForVisibleColumns.js +46 -0
- package/src/agGrid/weightedAverage.d.ts +0 -2
- package/src/agGrid/weightedAverage.js +0 -54
- package/src/components/CheckBox/index.js +1 -1
- package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/src/components/Datepicker/index.d.ts +1 -1
- package/src/components/Datepicker/index.js +10 -2
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
- package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
- package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
- package/src/components/InfiniteTable/index.js +2 -2
- package/src/components/Input/index.d.ts +1 -2
- package/src/components/List/ListGroupItem/index.d.ts +1 -1
- package/src/components/Modal/index.d.ts +1 -0
- package/src/components/Modal/index.js +4 -3
- package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
- package/src/components/Select/Select.d.ts +3 -1
- package/src/components/Select/Select.js +4 -2
- package/src/components/Textarea/index.d.ts +2 -2
- package/src/components/icons/copy.d.ts +3 -0
- package/src/components/icons/copy.js +4 -0
- package/src/components/icons/filter-off.d.ts +3 -0
- package/src/components/icons/filter-off.js +4 -0
- package/src/components/icons/grid-info.d.ts +3 -0
- package/src/components/icons/grid-info.js +4 -0
- package/src/components/icons/index.js +14 -0
- package/src/components/icons/note.js +2 -2
- package/src/components/icons/rows.d.ts +3 -0
- package/src/components/icons/rows.js +4 -0
- package/src/components/icons/select-all.d.ts +3 -0
- package/src/components/icons/select-all.js +4 -0
- package/src/components/icons/select-fwd.d.ts +3 -0
- package/src/components/icons/select-fwd.js +4 -0
- package/src/components/icons/select-off.d.ts +3 -0
- package/src/components/icons/select-off.js +4 -0
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +222 -73
- package/src/metamodel/adaptable.metamodel.js +1 -9313
- package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
- package/src/migration/AdaptableUpgradeHelper.js +48 -0
- package/src/migration/VersionUpgrade.d.ts +8 -0
- package/src/migration/VersionUpgrade.js +11 -0
- package/src/migration/VersionUpgrade17.d.ts +18 -0
- package/src/migration/VersionUpgrade17.js +342 -0
- package/src/migration/VersionUpgrade18.d.ts +5 -0
- package/src/migration/VersionUpgrade18.js +6 -0
- package/src/parser/src/parser.js +576 -553
- package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
- package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
- package/src/parser/src/types.d.ts +7 -2
- package/src/parser/src/types.js +1 -2
- package/src/types.d.ts +29 -21
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
- package/src/AdaptableOptions/NotesOptions.d.ts +0 -16
- package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
- package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
- package/src/Api/Implementation/NotesApiImpl.js +0 -39
- package/src/Api/NotesApi.d.ts +0 -48
- package/src/PredefinedConfig/CellAddress.d.ts +0 -13
- package/src/PredefinedConfig/CellAddress.js +0 -4
- package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
- package/src/Strategy/CommentsModule.d.ts +0 -16
- package/src/Strategy/CommentsModule.js +0 -77
- package/src/Strategy/NotesModule.js +0 -57
- package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
- package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
- package/src/View/Components/ScopeComponent.d.ts +0 -24
- package/src/View/Components/ScopeComponent.js +0 -133
- package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
- package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
- package/src/View/Notes/NotesPopup.d.ts +0 -2
- package/src/agGrid/agGridHelper.d.ts +0 -57
- package/src/agGrid/agGridHelper.js +0 -686
- package/src/agGrid/agGridMenuHelper.d.ts +0 -46
- package/src/agGrid/agGridMenuHelper.js +0 -668
- /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
- /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
- /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
- /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
- /package/src/PredefinedConfig/Common/{AdaptableScope.js → ColumnScope.js} +0 -0
- /package/src/PredefinedConfig/{NotesState.js → Common/RowScope.js} +0 -0
- /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/Common/TransposeConfig.js} +0 -0
- /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
- /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
|
+
import { AB_SPECIAL_COLUMN, ADAPTABLE_ROW_ACTION_BUTTONS, } from '../../Utilities/Constants/GeneralConstants';
|
|
3
|
+
import UIHelper from '../../View/UIHelper';
|
|
4
|
+
import { ActionColumnRenderer, ReactActionColumnRenderer } from '../../agGrid/ActionColumnRenderer';
|
|
2
5
|
export class ActionRowInternalApi extends ApiBase {
|
|
3
6
|
buildRowEditForm(rowNode) {
|
|
4
7
|
return this.buildActionRow('rowEdited', rowNode);
|
|
@@ -39,13 +42,7 @@ export class ActionRowInternalApi extends ApiBase {
|
|
|
39
42
|
: this.actionRowFormOptions.formDescription;
|
|
40
43
|
}
|
|
41
44
|
buildFormParamContext(type, rowNode) {
|
|
42
|
-
return {
|
|
43
|
-
rowNode,
|
|
44
|
-
adaptableApi: this.getAdaptableApi(),
|
|
45
|
-
userName: this.getOptions().userName,
|
|
46
|
-
adaptableId: this.getOptions().adaptableId,
|
|
47
|
-
type: type,
|
|
48
|
-
};
|
|
45
|
+
return Object.assign(Object.assign({ rowNode }, this.getAdaptableApi().internalApi.buildBaseContext()), { type: type });
|
|
49
46
|
}
|
|
50
47
|
buildActionRowFields(actionRowType, rowNode) {
|
|
51
48
|
const relevantColumns = this.getAdaptableApi()
|
|
@@ -61,13 +58,8 @@ export class ActionRowInternalApi extends ApiBase {
|
|
|
61
58
|
showColumnInActionRowForm(adaptableColumn, actionRowType) {
|
|
62
59
|
const showColumnFn = this.getActionRowOptions().actionRowFormOptions.showColumninActionRowForm;
|
|
63
60
|
if (typeof showColumnFn === 'function') {
|
|
64
|
-
return showColumnFn({
|
|
65
|
-
|
|
66
|
-
userName: this.getOptions().userName,
|
|
67
|
-
adaptableId: this.getOptions().adaptableId,
|
|
68
|
-
adaptableColumn,
|
|
69
|
-
actionRowType,
|
|
70
|
-
});
|
|
61
|
+
return showColumnFn(Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { adaptableColumn,
|
|
62
|
+
actionRowType }));
|
|
71
63
|
}
|
|
72
64
|
return true;
|
|
73
65
|
}
|
|
@@ -95,28 +87,24 @@ export class ActionRowInternalApi extends ApiBase {
|
|
|
95
87
|
// textOutput should not be saved, their values are set to display values
|
|
96
88
|
// we need to filter out the textOutput fields and add the primaryKey
|
|
97
89
|
const eventInfo = type === 'rowCreated'
|
|
98
|
-
? {
|
|
99
|
-
type: 'rowCreated',
|
|
100
|
-
formData: context.formData,
|
|
101
|
-
adaptableApi: context.adaptableApi,
|
|
102
|
-
userName: this.getOptions().userName,
|
|
103
|
-
adaptableId: this.getOptions().adaptableId,
|
|
104
|
-
clonedRowNode: rowNode,
|
|
105
|
-
}
|
|
106
|
-
: {
|
|
107
|
-
type: 'rowEdited',
|
|
108
|
-
formData: this.prepareEditData(formFields, context),
|
|
109
|
-
rowNode: rowNode,
|
|
110
|
-
adaptableApi: context.adaptableApi,
|
|
111
|
-
userName: this.getOptions().userName,
|
|
112
|
-
adaptableId: this.getOptions().adaptableId,
|
|
113
|
-
};
|
|
90
|
+
? Object.assign(Object.assign({ type: 'rowCreated', formData: this.prepareCreateData(formFields, context) }, this.getAdaptableApi().internalApi.buildBaseContext()), { clonedRowNode: rowNode }) : Object.assign({ type: 'rowEdited', formData: this.prepareEditData(formFields, context), rowNode: rowNode }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
114
91
|
this.getAdaptableApi().eventApi.emit('ActionRowSubmitted', eventInfo);
|
|
115
92
|
(_b = (_a = this.actionRowFormOptions) === null || _a === void 0 ? void 0 : _a.onFormSubmit) === null || _b === void 0 ? void 0 : _b.call(_a, eventInfo);
|
|
116
93
|
},
|
|
117
94
|
};
|
|
118
95
|
return [cancelButton, saveButton];
|
|
119
96
|
}
|
|
97
|
+
// private getNullValueForColumn(column: AdaptableColumn) {}
|
|
98
|
+
prepareCreateData(formFields, context) {
|
|
99
|
+
// when creating we just omit values that are not set
|
|
100
|
+
const dataToSave = Object.assign({}, context.formData);
|
|
101
|
+
for (const formField of formFields) {
|
|
102
|
+
if (dataToSave[formField.name] === '') {
|
|
103
|
+
delete dataToSave[formField.name];
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return dataToSave;
|
|
107
|
+
}
|
|
120
108
|
prepareEditData(formFields, context) {
|
|
121
109
|
const dataToSave = Object.assign({}, context.formData);
|
|
122
110
|
for (const formField of formFields) {
|
|
@@ -161,14 +149,8 @@ export class ActionRowInternalApi extends ApiBase {
|
|
|
161
149
|
return customFieldLabel !== null && customFieldLabel !== void 0 ? customFieldLabel : column.friendlyName;
|
|
162
150
|
}
|
|
163
151
|
buildFormFieldLabelContext(type, column, rowNode) {
|
|
164
|
-
return {
|
|
165
|
-
|
|
166
|
-
column,
|
|
167
|
-
adaptableApi: this.getAdaptableApi(),
|
|
168
|
-
userName: this.getOptions().userName,
|
|
169
|
-
adaptableId: this.getOptions().adaptableId,
|
|
170
|
-
type: type,
|
|
171
|
-
};
|
|
152
|
+
return Object.assign(Object.assign({ rowNode,
|
|
153
|
+
column }, this.getAdaptableApi().internalApi.buildBaseContext()), { type: type });
|
|
172
154
|
}
|
|
173
155
|
getFieldTypeFromColumnType(column) {
|
|
174
156
|
switch (column.dataType) {
|
|
@@ -197,4 +179,101 @@ export class ActionRowInternalApi extends ApiBase {
|
|
|
197
179
|
label: value,
|
|
198
180
|
}));
|
|
199
181
|
}
|
|
182
|
+
getColDefsForActionRowColumns() {
|
|
183
|
+
const actionButtons = this.getActionRowButtonDefs();
|
|
184
|
+
if (!actionButtons.length) {
|
|
185
|
+
return [];
|
|
186
|
+
}
|
|
187
|
+
return [
|
|
188
|
+
{
|
|
189
|
+
headerName: '',
|
|
190
|
+
colId: ADAPTABLE_ROW_ACTION_BUTTONS,
|
|
191
|
+
hide: false,
|
|
192
|
+
editable: false,
|
|
193
|
+
// 15px is the icon width + left&right padding + left&right border
|
|
194
|
+
width: Math.max(actionButtons.length * (UIHelper.getSimpleButtonPaddingWidth() * 2 + 15) + 2,
|
|
195
|
+
// If the width of the column is to small, the width will not be applied
|
|
196
|
+
// this triggers the setLayout an infinite loop because the width read from the grid is always different
|
|
197
|
+
40),
|
|
198
|
+
resizable: false,
|
|
199
|
+
lockVisible: true,
|
|
200
|
+
suppressColumnsToolPanel: true,
|
|
201
|
+
suppressFiltersToolPanel: true,
|
|
202
|
+
suppressHeaderMenuButton: true,
|
|
203
|
+
suppressMovable: true,
|
|
204
|
+
filter: false,
|
|
205
|
+
sortable: false,
|
|
206
|
+
enableRowGroup: false,
|
|
207
|
+
pinned: this.getActionRowOptions().actionRowButtonOptions.position === 'pinnedRight'
|
|
208
|
+
? 'right'
|
|
209
|
+
: 'left',
|
|
210
|
+
cellRenderer: this.getAdaptableVariant() === 'react' ? ReactActionColumnRenderer : ActionColumnRenderer,
|
|
211
|
+
cellClass: ADAPTABLE_ROW_ACTION_BUTTONS,
|
|
212
|
+
type: [AB_SPECIAL_COLUMN, 'abColDefObject'],
|
|
213
|
+
},
|
|
214
|
+
];
|
|
215
|
+
}
|
|
216
|
+
getActionRowButtonDefs() {
|
|
217
|
+
const actionRowButtons = this.getActionRowApi().getActionRowButtons();
|
|
218
|
+
if (!(actionRowButtons === null || actionRowButtons === void 0 ? void 0 : actionRowButtons.length)) {
|
|
219
|
+
return [];
|
|
220
|
+
}
|
|
221
|
+
const defaultActionRowButtonConfiguration = {
|
|
222
|
+
create: {
|
|
223
|
+
icon: {
|
|
224
|
+
name: 'add',
|
|
225
|
+
},
|
|
226
|
+
tooltip: 'Create',
|
|
227
|
+
onClick: () => {
|
|
228
|
+
this.getActionRowApi().displayCreateActionRow();
|
|
229
|
+
},
|
|
230
|
+
},
|
|
231
|
+
edit: {
|
|
232
|
+
icon: {
|
|
233
|
+
name: 'edit',
|
|
234
|
+
},
|
|
235
|
+
tooltip: 'Edit',
|
|
236
|
+
onClick: (button, context) => {
|
|
237
|
+
this.getActionRowApi().displayEditActionRow(context.primaryKeyValue);
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
clone: {
|
|
241
|
+
icon: {
|
|
242
|
+
name: 'clone',
|
|
243
|
+
},
|
|
244
|
+
tooltip: 'Clone',
|
|
245
|
+
onClick: (button, context) => {
|
|
246
|
+
this.getActionRowApi().displayCloneActionRow(context.primaryKeyValue);
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
delete: {
|
|
250
|
+
icon: {
|
|
251
|
+
name: 'delete',
|
|
252
|
+
},
|
|
253
|
+
tooltip: 'Delete',
|
|
254
|
+
onClick: (button, context) => {
|
|
255
|
+
var _a, _b;
|
|
256
|
+
const eventInfo = Object.assign({ type: 'rowDeleted', rowNode: context.rowNode }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
257
|
+
this.getEventApi().emit('ActionRowSubmitted', eventInfo);
|
|
258
|
+
(_b = (_a = this.getActionRowOptions().actionRowFormOptions).onFormSubmit) === null || _b === void 0 ? void 0 : _b.call(_a, eventInfo);
|
|
259
|
+
},
|
|
260
|
+
},
|
|
261
|
+
};
|
|
262
|
+
const actionButtons = actionRowButtons
|
|
263
|
+
.map((actionRowButtonType) => {
|
|
264
|
+
var _a, _b;
|
|
265
|
+
const defaultButtonConfig = defaultActionRowButtonConfiguration[actionRowButtonType];
|
|
266
|
+
if (!defaultButtonConfig) {
|
|
267
|
+
// should NOT happen unless the user sent some invalid button type in the predefined config
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
const customButtonConfig = (_b = (_a = this.getActionRowOptions().actionRowButtonOptions).customConfiguration) === null || _b === void 0 ? void 0 : _b.call(_a, Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { actionRowButtonType }));
|
|
271
|
+
if (!customButtonConfig) {
|
|
272
|
+
return defaultButtonConfig;
|
|
273
|
+
}
|
|
274
|
+
return Object.assign(Object.assign({}, defaultButtonConfig), customButtonConfig);
|
|
275
|
+
})
|
|
276
|
+
.filter(Boolean);
|
|
277
|
+
return actionButtons;
|
|
278
|
+
}
|
|
200
279
|
}
|
|
@@ -24,9 +24,9 @@ import { AdaptableFrameworkComponent } from '../../AdaptableOptions/AdaptableFra
|
|
|
24
24
|
import { IMetamodelService } from '../../Utilities/Services/Interface/IMetamodelService';
|
|
25
25
|
import { IModuleCollection } from '../../Strategy/Interface/IModule';
|
|
26
26
|
import { AdaptableObjectTag, AdaptableObjectWithScope } from '../../PredefinedConfig/Common/AdaptableObject';
|
|
27
|
-
import { IRowEditService } from '../../Utilities/Services/Interface/IRowEditService';
|
|
28
27
|
import { Fdc3Service } from '../../Utilities/Services/Fdc3Service';
|
|
29
28
|
import { CellPopupService } from '../../Utilities/Services/CellPopupService';
|
|
29
|
+
import { RowEditService } from '../../Utilities/Services/RowEditService';
|
|
30
30
|
export declare class AdaptableInternalApi extends ApiBase {
|
|
31
31
|
getSystemState(): SystemState;
|
|
32
32
|
showPopupConfirmation(confirmation: UIConfirmation): void;
|
|
@@ -46,8 +46,7 @@ export declare class AdaptableInternalApi extends ApiBase {
|
|
|
46
46
|
setPivotModeOn(): void;
|
|
47
47
|
setPivotModeOff(): void;
|
|
48
48
|
isGridInPivotMode(): boolean;
|
|
49
|
-
|
|
50
|
-
setTreeModeOff(): void;
|
|
49
|
+
setTreeMode(mode: boolean): void;
|
|
51
50
|
isGridInTreeMode(): boolean;
|
|
52
51
|
getToolbarTitle(): string;
|
|
53
52
|
buildDataChangedInfo(config: Pick<CellDataChangedInfo, 'newValue' | 'oldValue' | 'column' | 'primaryKeyValue' | 'rowNode' | 'trigger'>): CellDataChangedInfo;
|
|
@@ -65,7 +64,7 @@ export declare class AdaptableInternalApi extends ApiBase {
|
|
|
65
64
|
getAlertService(): IAlertService;
|
|
66
65
|
getTeamSharingService(): ITeamSharingService;
|
|
67
66
|
getMetamodelService(): IMetamodelService;
|
|
68
|
-
getRowEditService():
|
|
67
|
+
getRowEditService(): RowEditService;
|
|
69
68
|
getFdc3Service(): Fdc3Service;
|
|
70
69
|
getModules(): IModuleCollection;
|
|
71
70
|
getModuleFriendlyName(adaptableModule: AdaptableModule): string;
|
|
@@ -73,7 +72,7 @@ export declare class AdaptableInternalApi extends ApiBase {
|
|
|
73
72
|
includeGroupRows?: boolean;
|
|
74
73
|
filterFn?: (rowNode: IRowNode) => boolean;
|
|
75
74
|
}): void;
|
|
76
|
-
forAllVisibleRowNodesDo(func: (rowNode: IRowNode) => void, config?: {
|
|
75
|
+
forAllVisibleRowNodesDo(func: (rowNode: IRowNode, index: number) => void, config?: {
|
|
77
76
|
includeGroupRows?: boolean;
|
|
78
77
|
filterFn?: (rowNode: IRowNode) => boolean;
|
|
79
78
|
}): void;
|
|
@@ -90,7 +89,6 @@ export declare class AdaptableInternalApi extends ApiBase {
|
|
|
90
89
|
destroyFrameworkComponent(containerDomNode: HTMLElement, frameworkComponent: AdaptableFrameworkComponent, componentType: 'toolPanel' | 'toolbar'): void;
|
|
91
90
|
initializeDataChangeHistory(): void;
|
|
92
91
|
executeWithProgressIndicator(label: string, executeFn: () => void, errorHandlingFn?: () => void): void;
|
|
93
|
-
hideProgressIndicator(): void;
|
|
94
92
|
getCorrectEnglishVariant(wordToSpell: string): string;
|
|
95
93
|
shouldDisplayTagSections(): boolean;
|
|
96
94
|
getAvailableTags(): AdaptableObjectTag[] | undefined;
|
|
@@ -106,8 +104,8 @@ export declare class AdaptableInternalApi extends ApiBase {
|
|
|
106
104
|
getPreviousGroupedColumnsIndex(layoutId: string): {
|
|
107
105
|
[key: string]: number;
|
|
108
106
|
};
|
|
109
|
-
getValueUsingField(rowData: Record<string, any>,
|
|
110
|
-
setValueUsingField(rowData: Record<string, any>,
|
|
107
|
+
getValueUsingField(rowData: Record<string, any>, fieldName: string): any;
|
|
108
|
+
setValueUsingField(rowData: Record<string, any>, fieldName: string, newValue: any): Record<string, any>;
|
|
111
109
|
findAdaptableObjectsByLookupCriteria<T extends AdaptableObjectWithScope>({ scope, tag, ids }: AdaptableObjectLookupCriteria, specificAdaptableObjects: T[]): T[];
|
|
112
110
|
buildBaseContext(): BaseContext;
|
|
113
111
|
getActionButtonsAndActionColumn(colDef: ColDef): {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as PopupRedux from '../../Redux/ActionsReducers/PopupRedux';
|
|
2
2
|
import * as SystemRedux from '../../Redux/ActionsReducers/SystemRedux';
|
|
3
|
-
import { SystemProgressIndicatorHide, SystemProgressIndicatorShow, } from '../../Redux/ActionsReducers/SystemRedux';
|
|
4
3
|
import * as GridRedux from '../../Redux/ActionsReducers/GridRedux';
|
|
5
4
|
import * as DeadRedux from '../../Redux/DeadRedux';
|
|
6
5
|
import { ApiBase } from '../Implementation/ApiBase';
|
|
@@ -47,11 +46,13 @@ export class AdaptableInternalApi extends ApiBase {
|
|
|
47
46
|
isGridInPivotMode() {
|
|
48
47
|
return this.getAdaptableState().Grid.IsGridInPivotMode;
|
|
49
48
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
setTreeMode(mode) {
|
|
50
|
+
if (!!mode) {
|
|
51
|
+
this.dispatchAction(GridRedux.SetTreeModeOn());
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.dispatchAction(GridRedux.SetTreeModeOff());
|
|
55
|
+
}
|
|
55
56
|
}
|
|
56
57
|
isGridInTreeMode() {
|
|
57
58
|
return this.getAdaptableState().Grid.IsGridInTreeMode;
|
|
@@ -219,13 +220,13 @@ export class AdaptableInternalApi extends ApiBase {
|
|
|
219
220
|
frameworkComponent,
|
|
220
221
|
componentType,
|
|
221
222
|
});
|
|
222
|
-
if (this.adaptable.
|
|
223
|
+
if (this.adaptable.isReady) {
|
|
223
224
|
createComponentFn();
|
|
224
225
|
}
|
|
225
226
|
else {
|
|
226
227
|
// adaptable may not be initialized yet if the framework component is part of the initial render
|
|
227
228
|
// AFL 2021.10.14 - not really sure if this is necessary anymore?! (see the other changes in this commit)
|
|
228
|
-
waitForCondition(() => this.adaptable.
|
|
229
|
+
waitForCondition(() => this.adaptable.isReady).then(() => {
|
|
229
230
|
createComponentFn();
|
|
230
231
|
});
|
|
231
232
|
}
|
|
@@ -247,7 +248,7 @@ export class AdaptableInternalApi extends ApiBase {
|
|
|
247
248
|
}
|
|
248
249
|
}
|
|
249
250
|
executeWithProgressIndicator(label, executeFn, errorHandlingFn) {
|
|
250
|
-
this.
|
|
251
|
+
this.getAdaptableApi().userInterfaceApi.showProgressIndicator({ text: label, delay: 300 });
|
|
251
252
|
// setTimeout required to give the ProgressIndicator rendering a head-start (see RAF in ProgressIndicator implementation)
|
|
252
253
|
setTimeout(() => {
|
|
253
254
|
try {
|
|
@@ -255,14 +256,11 @@ export class AdaptableInternalApi extends ApiBase {
|
|
|
255
256
|
}
|
|
256
257
|
catch (error) {
|
|
257
258
|
errorHandlingFn === null || errorHandlingFn === void 0 ? void 0 : errorHandlingFn();
|
|
258
|
-
this.hideProgressIndicator();
|
|
259
|
+
this.getUserInterfaceApi().hideProgressIndicator();
|
|
259
260
|
this.adaptable.logger.error('Unexpected error while executing a function with a progress indicator', error);
|
|
260
261
|
}
|
|
261
262
|
}, 16);
|
|
262
263
|
}
|
|
263
|
-
hideProgressIndicator() {
|
|
264
|
-
this.dispatchReduxAction(SystemProgressIndicatorHide());
|
|
265
|
-
}
|
|
266
264
|
getCorrectEnglishVariant(wordToSpell) {
|
|
267
265
|
if (wordToSpell.includes('our')) {
|
|
268
266
|
return this.getUserInterfaceOptions().englishVariant == 'GB'
|
|
@@ -292,11 +290,7 @@ export class AdaptableInternalApi extends ApiBase {
|
|
|
292
290
|
if (typeof this.adaptable.adaptableOptions.userInterfaceOptions.objectTags === 'function') {
|
|
293
291
|
// sanitize the provided tags, just to be sure that the user does NOT break the UI
|
|
294
292
|
return this.adaptable.adaptableOptions.userInterfaceOptions
|
|
295
|
-
.objectTags(
|
|
296
|
-
adaptableApi: this.adaptable.api,
|
|
297
|
-
userName: this.getOptions().userName,
|
|
298
|
-
adaptableId: this.getOptions().adaptableId,
|
|
299
|
-
})
|
|
293
|
+
.objectTags(this.buildBaseContext())
|
|
300
294
|
.filter((tag) => typeof tag === 'string');
|
|
301
295
|
}
|
|
302
296
|
}
|
|
@@ -313,13 +307,7 @@ export class AdaptableInternalApi extends ApiBase {
|
|
|
313
307
|
}
|
|
314
308
|
if (typeof this.adaptable.adaptableOptions.layoutOptions.layoutTagOptions
|
|
315
309
|
.autoGenerateTagsForLayouts === 'function') {
|
|
316
|
-
const autoGenerateTagsForLayoutsContext = {
|
|
317
|
-
layouts: this.adaptable.api.layoutApi.getLayouts(),
|
|
318
|
-
objectTags: this.getAdaptableApi().userInterfaceApi.getAdaptableObjectTags(),
|
|
319
|
-
adaptableApi: this.adaptable.api,
|
|
320
|
-
userName: this.getOptions().userName,
|
|
321
|
-
adaptableId: this.getOptions().adaptableId,
|
|
322
|
-
};
|
|
310
|
+
const autoGenerateTagsForLayoutsContext = Object.assign({ layouts: this.adaptable.api.layoutApi.getLayouts(), objectTags: this.getAdaptableApi().userInterfaceApi.getAdaptableObjectTags() }, this.buildBaseContext());
|
|
323
311
|
const customGeneratedTags = this.adaptable.adaptableOptions.layoutOptions.layoutTagOptions.autoGenerateTagsForLayouts(autoGenerateTagsForLayoutsContext);
|
|
324
312
|
// sanitize the provided tags, just to be sure that the user does NOT break the UI
|
|
325
313
|
return customGeneratedTags.filter((tag) => typeof tag === 'string');
|
|
@@ -364,17 +352,17 @@ export class AdaptableInternalApi extends ApiBase {
|
|
|
364
352
|
return (_a = SystemRedux.SystemPreviousGroupedColumnsSelector(this.getAdaptableState().System)) === null || _a === void 0 ? void 0 : _a[layoutId];
|
|
365
353
|
}
|
|
366
354
|
// "borrowed" from https://github.com/ag-grid/ag-grid/blob/v28.2.1/community-modules/core/src/ts/utils/object.ts#L205
|
|
367
|
-
getValueUsingField(rowData,
|
|
368
|
-
if (!rowData || !(
|
|
355
|
+
getValueUsingField(rowData, fieldName) {
|
|
356
|
+
if (!rowData || !(fieldName === null || fieldName === void 0 ? void 0 : fieldName.length)) {
|
|
369
357
|
return;
|
|
370
358
|
}
|
|
371
|
-
const isColumnValueKeyNested =
|
|
359
|
+
const isColumnValueKeyNested = fieldName === null || fieldName === void 0 ? void 0 : fieldName.includes('.');
|
|
372
360
|
// if no '.', then it's not a deep value
|
|
373
361
|
if (!isColumnValueKeyNested) {
|
|
374
|
-
return rowData[
|
|
362
|
+
return rowData[fieldName];
|
|
375
363
|
}
|
|
376
364
|
// otherwise it is a deep value, so need to dig for it
|
|
377
|
-
const fields =
|
|
365
|
+
const fields = fieldName.split('.');
|
|
378
366
|
let currentObject = rowData;
|
|
379
367
|
for (let i = 0; i < fields.length; i++) {
|
|
380
368
|
if (currentObject == null) {
|
|
@@ -385,22 +373,22 @@ export class AdaptableInternalApi extends ApiBase {
|
|
|
385
373
|
return currentObject;
|
|
386
374
|
}
|
|
387
375
|
// "borrowed" from https://github.com/ag-grid/ag-grid/blob/v28.2.1/community-modules/core/src/ts/valueService/valueService.ts#L236
|
|
388
|
-
setValueUsingField(rowData,
|
|
389
|
-
if (!rowData || !(
|
|
376
|
+
setValueUsingField(rowData, fieldName, newValue) {
|
|
377
|
+
if (!rowData || !(fieldName === null || fieldName === void 0 ? void 0 : fieldName.length)) {
|
|
390
378
|
return;
|
|
391
379
|
}
|
|
392
|
-
const isColumnValueKeyContainsDots =
|
|
380
|
+
const isColumnValueKeyContainsDots = fieldName === null || fieldName === void 0 ? void 0 : fieldName.includes('.');
|
|
393
381
|
let valuesAreSame = false;
|
|
394
382
|
if (!isColumnValueKeyContainsDots) {
|
|
395
383
|
// soft comparison to match strings and numbers
|
|
396
|
-
valuesAreSame = rowData[
|
|
384
|
+
valuesAreSame = rowData[fieldName] == newValue;
|
|
397
385
|
if (!valuesAreSame) {
|
|
398
|
-
rowData[
|
|
386
|
+
rowData[fieldName] = newValue;
|
|
399
387
|
}
|
|
400
388
|
}
|
|
401
389
|
else {
|
|
402
390
|
// otherwise it is a deep value, so need to dig for it
|
|
403
|
-
const fieldPieces =
|
|
391
|
+
const fieldPieces = fieldName.split('.');
|
|
404
392
|
let currentObject = rowData;
|
|
405
393
|
while (fieldPieces.length > 0 && currentObject) {
|
|
406
394
|
const fieldPiece = fieldPieces.shift();
|
|
@@ -448,7 +436,7 @@ export class AdaptableInternalApi extends ApiBase {
|
|
|
448
436
|
var _a;
|
|
449
437
|
let actionColumn;
|
|
450
438
|
if (colDef.colId == ADAPTABLE_ROW_ACTION_BUTTONS) {
|
|
451
|
-
const actionButtons = this.
|
|
439
|
+
const actionButtons = this.getActionRowApi().internalApi.getActionRowButtonDefs();
|
|
452
440
|
actionColumn = {
|
|
453
441
|
columnId: ADAPTABLE_ROW_ACTION_BUTTONS,
|
|
454
442
|
actionColumnButton: actionButtons,
|
|
@@ -5,7 +5,7 @@ import { AlertFormContext } from '../../AdaptableOptions/AlertOptions';
|
|
|
5
5
|
import { AdaptableAlert, AdaptableCellChangedAlert, AdaptableRowChangedAlert } from '../../PredefinedConfig/Common/AdaptableAlert';
|
|
6
6
|
import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
|
|
7
7
|
import { GridDataChangedInfo } from '../Events/GridDataChanged';
|
|
8
|
-
import {
|
|
8
|
+
import { ColumnScope } from '../../PredefinedConfig/Common/ColumnScope';
|
|
9
9
|
import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
|
|
10
10
|
import { AdaptableMessageType } from '../../PredefinedConfig/Common/AdaptableMessageType';
|
|
11
11
|
import { IRowNode } from '@ag-grid-community/core';
|
|
@@ -72,7 +72,7 @@ export declare class AlertInternalApi extends ApiBase {
|
|
|
72
72
|
* Retrieves all Predicate Defs that match given Scope
|
|
73
73
|
* @param scope the Scope to check
|
|
74
74
|
*/
|
|
75
|
-
getAlertPredicateDefsForScope(scope:
|
|
75
|
+
getAlertPredicateDefsForScope(scope: ColumnScope): AdaptablePredicateDef[];
|
|
76
76
|
/**
|
|
77
77
|
* Returns a description of an Alert Definition
|
|
78
78
|
* @param alertDefinition Alert Definition to use
|
|
@@ -80,12 +80,7 @@ export class AlertInternalApi extends ApiBase {
|
|
|
80
80
|
*/
|
|
81
81
|
publishAlertFiredEvent(alertToFire) {
|
|
82
82
|
const adaptableApi = this.getAdaptableApi();
|
|
83
|
-
const alertFiredInfo = {
|
|
84
|
-
adaptableApi: adaptableApi,
|
|
85
|
-
alert: alertToFire,
|
|
86
|
-
userName: adaptableApi.optionsApi.getUserName(),
|
|
87
|
-
adaptableId: adaptableApi.optionsApi.getAdaptableId(),
|
|
88
|
-
};
|
|
83
|
+
const alertFiredInfo = Object.assign({ alert: alertToFire }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
89
84
|
this.getEventApi().emit('AlertFired', alertFiredInfo);
|
|
90
85
|
}
|
|
91
86
|
/**
|
|
@@ -295,7 +290,7 @@ export class AlertInternalApi extends ApiBase {
|
|
|
295
290
|
var _a, _b, _c, _d;
|
|
296
291
|
let ruleDescription = ((_b = (_a = alertDefinition.Rule) === null || _a === void 0 ? void 0 : _a.Predicates) === null || _b === void 0 ? void 0 : _b.length)
|
|
297
292
|
? (_d = (_c = alertDefinition.Rule) === null || _c === void 0 ? void 0 : _c.Predicates) === null || _d === void 0 ? void 0 : _d.map((predicate) => this.getPredicateApi().predicateToString(predicate)).join(' AND ')
|
|
298
|
-
: this.
|
|
293
|
+
: this.getAdaptableApi().internalApi.getAdaptableQueryExpressionText(alertDefinition.Rule);
|
|
299
294
|
return ruleDescription;
|
|
300
295
|
}
|
|
301
296
|
/**
|
|
@@ -472,17 +467,9 @@ export class AlertInternalApi extends ApiBase {
|
|
|
472
467
|
isAlertPredicateTriggered(alert, dataChangedEvent, defaultNoPredicateReturn = false) {
|
|
473
468
|
var _a;
|
|
474
469
|
const adapatableApi = this.getAdaptableApi();
|
|
475
|
-
const predicateDefHandlerContext = {
|
|
476
|
-
value: dataChangedEvent.newValue,
|
|
477
|
-
oldValue: dataChangedEvent.oldValue,
|
|
470
|
+
const predicateDefHandlerContext = Object.assign({ value: dataChangedEvent.newValue, oldValue: dataChangedEvent.oldValue,
|
|
478
471
|
// TODO send real display value
|
|
479
|
-
displayValue: null,
|
|
480
|
-
node: dataChangedEvent.rowNode,
|
|
481
|
-
column: dataChangedEvent.column,
|
|
482
|
-
adaptableApi: adapatableApi,
|
|
483
|
-
userName: adapatableApi.optionsApi.getUserName(),
|
|
484
|
-
adaptableId: adapatableApi.optionsApi.getAdaptableId(),
|
|
485
|
-
};
|
|
472
|
+
displayValue: null, node: dataChangedEvent.rowNode, column: dataChangedEvent.column }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
486
473
|
return this.getAdaptableApi().predicateApi.handleColumnPredicates((_a = alert.Rule) === null || _a === void 0 ? void 0 : _a.Predicates, predicateDefHandlerContext, defaultNoPredicateReturn);
|
|
487
474
|
}
|
|
488
475
|
isAlertDefinitionForRowChangeEvent(alertDefinition) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
2
|
import { CalculatedColumn } from '../../PredefinedConfig/CalculatedColumnState';
|
|
3
3
|
import { AdaptableColumn } from '../../types';
|
|
4
|
+
import { ColDef } from '@ag-grid-community/core';
|
|
4
5
|
export declare class CalculatedColumnInternalApi extends ApiBase {
|
|
5
6
|
/**
|
|
6
7
|
* Returns all the references in the AdaptableState of the given CalculatedColumn
|
|
@@ -27,4 +28,5 @@ export declare class CalculatedColumnInternalApi extends ApiBase {
|
|
|
27
28
|
isQuantileAggregatedExpression(input: string): boolean;
|
|
28
29
|
getExpressionFromCalculatedColumn(calculatedColumn: CalculatedColumn): string;
|
|
29
30
|
fireCalculatedColumnChangedEvent(trigger: string, calculatedColumn: CalculatedColumn): void;
|
|
31
|
+
getColDefsForCalculatedColumns(): ColDef[];
|
|
30
32
|
}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
|
+
import { CreateEmptyCalculatedColumn } from '../../Utilities/ObjectFactory';
|
|
3
|
+
import { AB_SPECIAL_COLUMN } from '../../Utilities/Constants/GeneralConstants';
|
|
4
|
+
import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
|
|
5
|
+
import StringExtensions from '../../Utilities/Extensions/StringExtensions';
|
|
2
6
|
export class CalculatedColumnInternalApi extends ApiBase {
|
|
3
7
|
/**
|
|
4
8
|
* Returns all the references in the AdaptableState of the given CalculatedColumn
|
|
@@ -24,7 +28,7 @@ export class CalculatedColumnInternalApi extends ApiBase {
|
|
|
24
28
|
this.getCalculatedColumnApi()
|
|
25
29
|
.getCalculatedColumns()
|
|
26
30
|
.forEach((calculatedColumn) => {
|
|
27
|
-
if (this.getExpressionApi().internalApi.isColumnReferencedInExpression(columnId, this.
|
|
31
|
+
if (this.getExpressionApi().internalApi.isColumnReferencedInExpression(columnId, this.getAdaptableApi().expressionApi.getAdaptableQueryExpression(calculatedColumn.Query))) {
|
|
28
32
|
calcColumns.push(calculatedColumn);
|
|
29
33
|
}
|
|
30
34
|
});
|
|
@@ -35,7 +39,7 @@ export class CalculatedColumnInternalApi extends ApiBase {
|
|
|
35
39
|
* @param calculatedColumn Calculated Column to check
|
|
36
40
|
*/
|
|
37
41
|
getReferencedColumnIdsForCalculatedColumn(calculatedColumn) {
|
|
38
|
-
const columnIds = this.
|
|
42
|
+
const columnIds = this.getAdaptableApi().expressionApi.getColumnsFromExpression(this.getAdaptableApi().expressionApi.getAdaptableQueryExpression(calculatedColumn.Query));
|
|
39
43
|
return columnIds;
|
|
40
44
|
}
|
|
41
45
|
/**
|
|
@@ -43,15 +47,15 @@ export class CalculatedColumnInternalApi extends ApiBase {
|
|
|
43
47
|
* @param calculatedColumnId CalculatedColumnId to check
|
|
44
48
|
*/
|
|
45
49
|
getReferencedColumnIdsForCalculatedColumnId(calculatedColumnId) {
|
|
46
|
-
const calculatedColumn = this.
|
|
47
|
-
.getCalculatedColumns()
|
|
50
|
+
const calculatedColumn = this.getAdaptableApi()
|
|
51
|
+
.calculatedColumnApi.getCalculatedColumns()
|
|
48
52
|
.find((cc) => cc.ColumnId == calculatedColumnId);
|
|
49
53
|
if (calculatedColumn) {
|
|
50
54
|
return this.getReferencedColumnIdsForCalculatedColumn(calculatedColumn);
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
getCalculatedColumnsDependentOnColumn(column) {
|
|
54
|
-
const calculatedColumns = this.
|
|
58
|
+
const calculatedColumns = this.getAdaptableApi().calculatedColumnApi.getCalculatedColumns();
|
|
55
59
|
return calculatedColumns
|
|
56
60
|
.filter((calculatedColumn) => {
|
|
57
61
|
const dependentColumns = this.getReferencedColumnIdsForCalculatedColumnId(calculatedColumn.ColumnId);
|
|
@@ -77,14 +81,74 @@ export class CalculatedColumnInternalApi extends ApiBase {
|
|
|
77
81
|
}
|
|
78
82
|
fireCalculatedColumnChangedEvent(trigger, calculatedColumn) {
|
|
79
83
|
const adaptableApi = this.getAdaptableApi();
|
|
80
|
-
const calculatedColumnChangedInfo = {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
84
|
+
const calculatedColumnChangedInfo = Object.assign({ actionName: trigger, calculatedColumn: calculatedColumn, calculatedColumnExpressionAST: adaptableApi.expressionApi.getASTForExpression(this.getExpressionFromCalculatedColumn(calculatedColumn)) }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
85
|
+
this.getAdaptableApi().eventApi.emit('CalculatedColumnChanged', calculatedColumnChangedInfo);
|
|
86
|
+
}
|
|
87
|
+
getColDefsForCalculatedColumns() {
|
|
88
|
+
const defaultSpecialColumnSettings = this.getGridApi().internalApi.deriveSpecialColumnSettingsFromAgGridDefaultColDef();
|
|
89
|
+
const defaultCalculatedColumnSettings = CreateEmptyCalculatedColumn(defaultSpecialColumnSettings).CalculatedColumnSettings;
|
|
90
|
+
return this.getCalculatedColumnApi()
|
|
91
|
+
.getCalculatedColumns()
|
|
92
|
+
.map((calculatedColumn) => {
|
|
93
|
+
const calculatedColumnSettings = Object.assign(Object.assign({}, defaultCalculatedColumnSettings), calculatedColumn.CalculatedColumnSettings);
|
|
94
|
+
if (!calculatedColumnSettings.DataType) {
|
|
95
|
+
calculatedColumnSettings.DataType = this.getAdaptableApi()
|
|
96
|
+
.internalApi.getAdaptableInstance()
|
|
97
|
+
.CalculatedColumnExpressionService.getCalculatedColumnDataType(calculatedColumn.Query);
|
|
98
|
+
}
|
|
99
|
+
const columnTypes = [
|
|
100
|
+
AB_SPECIAL_COLUMN,
|
|
101
|
+
this.getGridApi().internalApi.getAgGridDataType(calculatedColumnSettings.DataType),
|
|
102
|
+
];
|
|
103
|
+
if (ArrayExtensions.IsNotNullOrEmpty(calculatedColumnSettings.ColumnTypes)) {
|
|
104
|
+
columnTypes.push(...calculatedColumnSettings.ColumnTypes);
|
|
105
|
+
}
|
|
106
|
+
const isExternalEvaluation = !this.getExpressionApi().internalApi.evaluateExpressionInAdaptableQL('CalculatedColumn', calculatedColumn, this.getExpressionApi().getAdaptableQueryExpression(calculatedColumn.Query));
|
|
107
|
+
const valueGetter = (params) => {
|
|
108
|
+
var _a, _b;
|
|
109
|
+
if (isExternalEvaluation) {
|
|
110
|
+
return (_a = params.data) === null || _a === void 0 ? void 0 : _a[calculatedColumn.ColumnId];
|
|
111
|
+
}
|
|
112
|
+
// if the grid data is NOT client side, we can aggregate only simple scalar expression (which depend on row data, not on other rows)
|
|
113
|
+
if (this.getGridApi().getAgGridRowModelType() !== 'clientSide' &&
|
|
114
|
+
StringExtensions.IsNotNullOrEmpty(calculatedColumn.Query.AggregatedScalarExpression)) {
|
|
115
|
+
return (_b = params.data) === null || _b === void 0 ? void 0 : _b[calculatedColumn.ColumnId];
|
|
116
|
+
}
|
|
117
|
+
return this.getAdaptableApi()
|
|
118
|
+
.internalApi.getAdaptableInstance()
|
|
119
|
+
.CalculatedColumnExpressionService.evaluateCalculatedColumnQuery(calculatedColumn, params.node);
|
|
120
|
+
};
|
|
121
|
+
const newColDef = {
|
|
122
|
+
headerName: calculatedColumn.FriendlyName
|
|
123
|
+
? calculatedColumn.FriendlyName
|
|
124
|
+
: calculatedColumn.ColumnId,
|
|
125
|
+
colId: calculatedColumn.ColumnId,
|
|
126
|
+
hide: false,
|
|
127
|
+
editable: false,
|
|
128
|
+
width: calculatedColumnSettings.Width,
|
|
129
|
+
enableValue: calculatedColumnSettings.Aggregatable,
|
|
130
|
+
filter: calculatedColumnSettings.Filterable,
|
|
131
|
+
floatingFilter: calculatedColumnSettings.Filterable,
|
|
132
|
+
resizable: calculatedColumnSettings.Resizable,
|
|
133
|
+
enableRowGroup: calculatedColumnSettings.Groupable,
|
|
134
|
+
sortable: calculatedColumnSettings.Sortable,
|
|
135
|
+
enablePivot: calculatedColumnSettings.Pivotable,
|
|
136
|
+
suppressHeaderMenuButton: calculatedColumnSettings.SuppressMenu,
|
|
137
|
+
suppressMovable: calculatedColumnSettings.SuppressMovable,
|
|
138
|
+
type: columnTypes,
|
|
139
|
+
valueGetter,
|
|
140
|
+
};
|
|
141
|
+
if (calculatedColumnSettings.ShowToolTip != null &&
|
|
142
|
+
calculatedColumnSettings.ShowToolTip == true) {
|
|
143
|
+
newColDef.tooltipValueGetter = () => {
|
|
144
|
+
return this.getAdaptableApi().internalApi.getAdaptableQueryExpressionText(calculatedColumn.Query);
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
if (calculatedColumnSettings.HeaderToolTip) {
|
|
148
|
+
newColDef.headerTooltip = calculatedColumnSettings.HeaderToolTip;
|
|
149
|
+
}
|
|
150
|
+
this.getAdaptableApi().logInfo('Setting up Calculated Column: ' + calculatedColumn.ColumnId);
|
|
151
|
+
return newColDef;
|
|
152
|
+
});
|
|
89
153
|
}
|
|
90
154
|
}
|