@adaptabletools/adaptable 14.0.0-canary.0 → 14.0.0-canary.2
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/README.md +3 -3
- package/agGrid.d.ts +23 -1
- package/agGrid.js +23 -1
- package/base.css +1408 -2113
- package/base.css.map +1 -0
- package/bundle.cjs.js +215 -186
- package/index.css +1586 -1473
- package/index.css.map +1 -0
- package/package.json +10 -10
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +20 -5
- package/src/AdaptableOptions/ActionOptions.d.ts +66 -32
- package/src/AdaptableOptions/AdaptableOptions.d.ts +6 -2
- package/src/AdaptableOptions/AdaptableQLOptions.d.ts +10 -104
- package/src/AdaptableOptions/AlertOptions.d.ts +10 -1
- package/src/AdaptableOptions/ChartingOptions.d.ts +27 -0
- package/src/{Api/ConditionalStyleApi.js → AdaptableOptions/ChartingOptions.js} +0 -0
- package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +1 -1
- package/src/AdaptableOptions/EntitlementOptions.d.ts +14 -1
- package/src/AdaptableOptions/ExportOptions.d.ts +3 -3
- package/src/AdaptableOptions/ExpressionOptions.d.ts +204 -0
- package/src/{Api/InternalApi.js → AdaptableOptions/ExpressionOptions.js} +0 -0
- package/src/AdaptableOptions/FilterOptions.d.ts +8 -1
- package/src/AdaptableOptions/FinancePluginOptions.d.ts +21 -6
- package/src/AdaptableOptions/FinsemblePluginOptions.d.ts +32 -0
- package/src/{Strategy/Interface/IConditionalStyleModule.js → AdaptableOptions/FinsemblePluginOptions.js} +0 -0
- package/src/AdaptableOptions/GeneralOptions.d.ts +46 -5
- package/src/AdaptableOptions/LayoutOptions.d.ts +20 -2
- package/src/AdaptableOptions/MasterDetailPluginOptions.d.ts +6 -4
- package/src/AdaptableOptions/NotificationsOptions.d.ts +2 -1
- package/src/AdaptableOptions/PredicateOptions.d.ts +32 -0
- package/src/AdaptableOptions/PredicateOptions.js +2 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +4 -4
- package/src/Api/ActionApi.d.ts +14 -3
- package/src/Api/AdaptableApi.d.ts +21 -12
- package/src/Api/AlertApi.d.ts +139 -83
- package/src/Api/BulkUpdateApi.d.ts +9 -2
- package/src/Api/CalculatedColumnApi.d.ts +26 -21
- package/src/Api/CalendarApi.d.ts +29 -0
- package/src/Api/CalendarApi.js +2 -0
- package/src/Api/CellSummaryApi.d.ts +15 -8
- package/src/Api/ChartingApi.d.ts +45 -1
- package/src/Api/ColumnApi.d.ts +166 -110
- package/src/Api/ConfigApi.d.ts +19 -29
- package/src/Api/CustomSortApi.d.ts +36 -7
- package/src/Api/DashboardApi.d.ts +13 -6
- package/src/Api/DataChangeHistoryApi.d.ts +8 -1
- package/src/Api/DataSetApi.d.ts +13 -3
- package/src/Api/EntitlementApi.d.ts +31 -0
- package/src/Api/EntitlementApi.js +2 -0
- package/src/Api/EventApi.d.ts +15 -24
- package/src/Api/ExportApi.d.ts +35 -18
- package/src/Api/FilterApi.d.ts +75 -67
- package/src/Api/FinanceApi.d.ts +22 -9
- package/src/Api/FinsembleApi.d.ts +10 -0
- package/src/Api/FinsembleApi.js +2 -0
- package/src/Api/FlashingCellApi.d.ts +28 -12
- package/src/Api/FormatColumnApi.d.ts +96 -102
- package/src/Api/FreeTextColumnApi.d.ts +53 -21
- package/src/Api/GridApi.d.ts +59 -23
- package/src/Api/IPushPullApi.d.ts +1 -1
- package/src/Api/Implementation/ActionApiImpl.d.ts +9 -3
- package/src/Api/Implementation/ActionApiImpl.js +23 -11
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +10 -5
- package/src/Api/Implementation/AdaptableApiImpl.js +12 -5
- package/src/Api/Implementation/AlertApiImpl.d.ts +59 -26
- package/src/Api/Implementation/AlertApiImpl.js +187 -171
- package/src/Api/Implementation/ApiBase.d.ts +50 -3
- package/src/Api/Implementation/ApiBase.js +144 -5
- package/src/Api/Implementation/ApplicationApiImpl.d.ts +1 -1
- package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +1 -0
- package/src/Api/Implementation/BulkUpdateApiImpl.js +4 -1
- package/src/Api/Implementation/CalculatedColumnApiImpl.d.ts +7 -2
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +28 -37
- package/src/Api/Implementation/CalendarApiImpl.d.ts +9 -0
- package/src/Api/Implementation/CalendarApiImpl.js +59 -0
- package/src/Api/Implementation/CellSummaryApiImpl.d.ts +1 -0
- package/src/Api/Implementation/CellSummaryApiImpl.js +6 -1
- package/src/Api/Implementation/ChartingApiImpl.d.ts +11 -3
- package/src/Api/Implementation/ChartingApiImpl.js +41 -6
- package/src/Api/Implementation/ColumnApiImpl.d.ts +28 -8
- package/src/Api/Implementation/ColumnApiImpl.js +204 -194
- package/src/Api/Implementation/ConfigApiImpl.d.ts +3 -4
- package/src/Api/Implementation/ConfigApiImpl.js +4 -12
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +16 -1
- package/src/Api/Implementation/CustomSortApiImpl.js +33 -7
- package/src/Api/Implementation/DashboardApiImpl.d.ts +6 -1
- package/src/Api/Implementation/DashboardApiImpl.js +13 -15
- package/src/Api/Implementation/DataChangeHistoryApiImpl.d.ts +1 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +5 -0
- package/src/Api/Implementation/DataSetApiImpl.d.ts +6 -0
- package/src/Api/Implementation/DataSetApiImpl.js +17 -8
- package/src/Api/Implementation/EntitlementApiImpl.d.ts +11 -0
- package/src/Api/Implementation/EntitlementApiImpl.js +25 -0
- package/src/Api/Implementation/ExportApiImpl.d.ts +12 -4
- package/src/Api/Implementation/ExportApiImpl.js +43 -77
- package/src/Api/Implementation/FilterApiImpl.d.ts +11 -4
- package/src/Api/Implementation/FilterApiImpl.js +62 -166
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +9 -1
- package/src/Api/Implementation/FlashingCellApiImpl.js +29 -26
- package/src/Api/Implementation/FormatColumnApiImpl.d.ts +49 -26
- package/src/Api/Implementation/FormatColumnApiImpl.js +84 -259
- package/src/Api/Implementation/FreeTextColumnApiImpl.d.ts +13 -5
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +42 -27
- package/src/Api/Implementation/GridApiImpl.d.ts +17 -2
- package/src/Api/Implementation/GridApiImpl.js +122 -62
- package/src/Api/Implementation/LayoutApiImpl.d.ts +15 -7
- package/src/Api/Implementation/LayoutApiImpl.js +44 -112
- package/src/Api/Implementation/OptionsApiImpl.d.ts +36 -0
- package/src/Api/Implementation/OptionsApiImpl.js +100 -0
- package/src/Api/Implementation/PluginsApiImpl.d.ts +3 -1
- package/src/Api/Implementation/PluginsApiImpl.js +6 -0
- package/src/Api/Implementation/PlusMinusApiImpl.d.ts +2 -1
- package/src/Api/Implementation/PlusMinusApiImpl.js +5 -0
- package/src/Api/Implementation/PredicateApiImpl.d.ts +13 -2
- package/src/Api/Implementation/PredicateApiImpl.js +41 -23
- package/src/Api/Implementation/QueryApiImpl.d.ts +7 -2
- package/src/Api/Implementation/QueryApiImpl.js +25 -52
- package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +6 -3
- package/src/Api/Implementation/QueryLanguageApiImpl.js +14 -18
- package/src/Api/Implementation/QuickSearchApiImpl.d.ts +1 -0
- package/src/Api/Implementation/QuickSearchApiImpl.js +5 -0
- package/src/Api/Implementation/ScheduleApiImpl.d.ts +27 -0
- package/src/Api/Implementation/ScheduleApiImpl.js +86 -17
- package/src/Api/Implementation/ScopeApiImpl.d.ts +1 -1
- package/src/Api/Implementation/ScopeApiImpl.js +9 -7
- package/src/Api/Implementation/SettingsPanelApiImpl.d.ts +2 -0
- package/src/Api/Implementation/SettingsPanelApiImpl.js +9 -0
- package/src/Api/Implementation/ShortcutApiImpl.d.ts +8 -1
- package/src/Api/Implementation/ShortcutApiImpl.js +25 -4
- package/src/Api/Implementation/SmartEditApiImpl.d.ts +1 -0
- package/src/Api/Implementation/SmartEditApiImpl.js +5 -0
- package/src/Api/Implementation/StyledColumnApiImpl.d.ts +30 -0
- package/src/Api/Implementation/StyledColumnApiImpl.js +96 -0
- package/src/Api/Implementation/SystemStatusApiImpl.d.ts +6 -1
- package/src/Api/Implementation/SystemStatusApiImpl.js +20 -14
- package/src/Api/Implementation/TeamSharingApiImpl.d.ts +6 -5
- package/src/Api/Implementation/TeamSharingApiImpl.js +15 -25
- package/src/Api/Implementation/ThemeApiImpl.d.ts +5 -1
- package/src/Api/Implementation/ThemeApiImpl.js +23 -4
- package/src/Api/Implementation/ToolPanelApiImpl.d.ts +3 -1
- package/src/Api/Implementation/ToolPanelApiImpl.js +8 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.js +13 -4
- package/src/Api/Internal/ActionInternalApi.d.ts +23 -0
- package/src/Api/Internal/ActionInternalApi.js +198 -0
- package/src/Api/{Implementation/InternalApiImpl.d.ts → Internal/AdaptableInternalApi.d.ts} +21 -57
- package/src/Api/Internal/AdaptableInternalApi.js +461 -0
- package/src/Api/Internal/AlertInternalApi.d.ts +148 -0
- package/src/Api/Internal/AlertInternalApi.js +484 -0
- package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +24 -0
- package/src/Api/Internal/CalculatedColumnInternalApi.js +57 -0
- package/src/Api/Internal/ColumnInternalApi.d.ts +33 -0
- package/src/Api/Internal/ColumnInternalApi.js +67 -0
- package/src/Api/Internal/CustomSortInternalApi.d.ts +6 -0
- package/src/Api/Internal/CustomSortInternalApi.js +11 -0
- package/src/Api/Internal/DashboardInternalApi.d.ts +8 -0
- package/src/Api/Internal/DashboardInternalApi.js +26 -0
- package/src/Api/Internal/DataSetInternalApi.d.ts +9 -0
- package/src/Api/Internal/DataSetInternalApi.js +20 -0
- package/src/Api/Internal/ExportInternalApi.d.ts +11 -0
- package/src/Api/Internal/ExportInternalApi.js +73 -0
- package/src/Api/Internal/FilterInternalApi.d.ts +58 -0
- package/src/Api/Internal/FilterInternalApi.js +194 -0
- package/src/Api/Internal/FlashingCellInternalApi.d.ts +12 -0
- package/src/Api/Internal/FlashingCellInternalApi.js +56 -0
- package/src/Api/Internal/FormatColumnInternalApi.d.ts +109 -0
- package/src/Api/Internal/FormatColumnInternalApi.js +225 -0
- package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +15 -0
- package/src/Api/Internal/FreeTextColumnInternalApi.js +44 -0
- package/src/Api/Internal/GridInternalApi.d.ts +82 -0
- package/src/Api/Internal/GridInternalApi.js +252 -0
- package/src/Api/Internal/LayoutInternalApi.d.ts +48 -0
- package/src/Api/Internal/LayoutInternalApi.js +163 -0
- package/src/Api/Internal/PredicateInternalApi.d.ts +37 -0
- package/src/Api/Internal/PredicateInternalApi.js +140 -0
- package/src/Api/Internal/QueryInternalApi.d.ts +17 -0
- package/src/Api/Internal/QueryInternalApi.js +57 -0
- package/src/Api/Internal/QueryLanguageInternalApi.d.ts +11 -0
- package/src/Api/Internal/QueryLanguageInternalApi.js +34 -0
- package/src/Api/Internal/StyledColumnInternalApi.d.ts +59 -0
- package/src/Api/Internal/StyledColumnInternalApi.js +249 -0
- package/src/Api/Internal/SystemStatusInternalApi.d.ts +11 -0
- package/src/Api/Internal/SystemStatusInternalApi.js +27 -0
- package/src/Api/Internal/TeamSharingInternalApi.d.ts +20 -0
- package/src/Api/Internal/TeamSharingInternalApi.js +66 -0
- package/src/Api/LayoutApi.d.ts +36 -41
- package/src/Api/OptionsApi.d.ts +131 -0
- package/src/Api/OptionsApi.js +2 -0
- package/src/Api/PluginsApi.d.ts +5 -0
- package/src/Api/PlusMinusApi.d.ts +9 -2
- package/src/Api/PredicateApi.d.ts +41 -10
- package/src/Api/QueryApi.d.ts +23 -18
- package/src/Api/QueryLanguageApi.d.ts +3 -7
- package/src/Api/QuickSearchApi.d.ts +5 -1
- package/src/Api/ScheduleApi.d.ts +97 -16
- package/src/Api/ScopeApi.d.ts +1 -1
- package/src/Api/SettingsPanelApi.d.ts +12 -1
- package/src/Api/ShortcutApi.d.ts +28 -7
- package/src/Api/SmartEditApi.d.ts +8 -1
- package/src/Api/StyledColumnApi.d.ts +100 -0
- package/src/Api/StyledColumnApi.js +2 -0
- package/src/Api/SystemStatusApi.d.ts +12 -6
- package/src/Api/TeamSharingApi.d.ts +4 -17
- package/src/Api/ThemeApi.d.ts +25 -6
- package/src/Api/ToolPanelApi.d.ts +10 -1
- package/src/Api/UserInterfaceApi.d.ts +13 -2
- package/src/PredefinedConfig/AdaptableState.d.ts +2 -0
- package/src/PredefinedConfig/AlertState.d.ts +20 -5
- package/src/PredefinedConfig/ChartingState.d.ts +13 -4
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableColumn.js +4 -0
- package/src/PredefinedConfig/Common/AdaptableForm.d.ts +0 -5
- package/src/PredefinedConfig/Common/AdaptableFormat.d.ts +10 -0
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableObject.d.ts +22 -1
- package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +8 -2
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +64 -45
- package/src/PredefinedConfig/Common/AdaptableStyle.d.ts +6 -6
- package/src/PredefinedConfig/Common/ColumnFilter.d.ts +2 -2
- package/src/PredefinedConfig/Common/FDC3Context.d.ts +3 -7
- package/src/PredefinedConfig/Common/Types.d.ts +7 -7
- package/src/PredefinedConfig/Common/Types.js +4 -0
- package/src/PredefinedConfig/ConditionalStyleState.d.ts +10 -19
- package/src/PredefinedConfig/FlashingCellState.d.ts +9 -2
- package/src/PredefinedConfig/FormatColumnState.d.ts +28 -92
- package/src/PredefinedConfig/GridState.d.ts +1 -1
- package/src/PredefinedConfig/LayoutState.d.ts +1 -1
- package/src/PredefinedConfig/PredefinedConfig.d.ts +7 -2
- package/src/PredefinedConfig/StyledColumnState.d.ts +139 -0
- package/src/PredefinedConfig/StyledColumnState.js +2 -0
- package/src/PredefinedConfig/SystemState.d.ts +21 -0
- package/src/Redux/ActionsReducers/ChartingRedux.d.ts +28 -5
- package/src/Redux/ActionsReducers/ChartingRedux.js +45 -5
- package/src/Redux/ActionsReducers/FormatColumnRedux.d.ts +14 -0
- package/src/Redux/ActionsReducers/FormatColumnRedux.js +43 -1
- package/src/Redux/ActionsReducers/FreeTextColumnRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +3 -3
- package/src/Redux/ActionsReducers/GridRedux.d.ts +18 -0
- package/src/Redux/ActionsReducers/GridRedux.js +65 -2
- package/src/Redux/ActionsReducers/PluginsRedux.d.ts +4 -4
- package/src/Redux/ActionsReducers/PluginsRedux.js +5 -5
- package/src/Redux/ActionsReducers/PopupRedux.js +10 -2
- package/src/Redux/ActionsReducers/QuickSearchRedux.d.ts +1 -1
- package/src/Redux/ActionsReducers/QuickSearchRedux.js +1 -1
- package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +49 -0
- package/src/Redux/ActionsReducers/StyledColumnRedux.js +92 -0
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +20 -0
- package/src/Redux/ActionsReducers/SystemRedux.js +67 -5
- package/src/Redux/DeadRedux.d.ts +6 -0
- package/src/Redux/DeadRedux.js +19 -1
- package/src/Redux/Store/AdaptableStore.js +45 -34
- package/src/Strategy/AdaptableModuleBase.js +6 -6
- package/src/Strategy/AlertModule.d.ts +1 -6
- package/src/Strategy/AlertModule.js +38 -93
- package/src/Strategy/BulkUpdateModule.js +3 -3
- package/src/Strategy/CalculatedColumnModule.js +6 -6
- package/src/Strategy/ChartingModule.d.ts +7 -1
- package/src/Strategy/ChartingModule.js +97 -0
- package/src/Strategy/CustomSortModule.js +4 -4
- package/src/Strategy/DashboardModule.js +2 -2
- package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
- package/src/Strategy/DataChangeHistoryModule.js +12 -0
- package/src/Strategy/DataSetModule.js +1 -1
- package/src/Strategy/ExportModule.js +4 -4
- package/src/Strategy/FilterModule.js +10 -13
- package/src/Strategy/FlashingCellModule.d.ts +2 -0
- package/src/Strategy/FlashingCellModule.js +27 -7
- package/src/Strategy/FormatColumnModule.d.ts +4 -10
- package/src/Strategy/FormatColumnModule.js +70 -185
- package/src/Strategy/FreeTextColumnModule.js +3 -3
- package/src/Strategy/Interface/IModule.d.ts +12 -10
- package/src/Strategy/LayoutModule.d.ts +3 -0
- package/src/Strategy/LayoutModule.js +138 -25
- package/src/Strategy/PlusMinusModule.js +2 -2
- package/src/Strategy/QueryModule.js +3 -3
- package/src/Strategy/ScheduleModule.js +10 -12
- package/src/Strategy/ShortcutModule.js +5 -5
- package/src/Strategy/SmartEditModule.js +3 -3
- package/src/Strategy/StyledColumnModule.d.ts +24 -0
- package/src/Strategy/StyledColumnModule.js +179 -0
- package/src/Strategy/TeamSharingModule.js +3 -3
- package/src/Strategy/ThemeModule.js +1 -1
- package/src/Strategy/Utilities/Alert/getAlertBehaviourViewItems.d.ts +2 -2
- package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.js +1 -1
- package/src/Strategy/Utilities/Export/getExportColumnsViewItems.d.ts +1 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.d.ts +1 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +3 -4
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +1 -16
- package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
- package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.js +1 -1
- package/src/Strategy/Utilities/getRuleViewItems.d.ts +1 -1
- package/src/Strategy/Utilities/getRuleViewItems.js +4 -3
- package/src/Strategy/Utilities/getScopeViewItems.js +2 -2
- package/src/Strategy/Utilities/updateSingleToMultiplePredicates.d.ts +5 -0
- package/src/Strategy/Utilities/updateSingleToMultiplePredicates.js +12 -0
- package/src/Utilities/Constants/ModuleConstants.d.ts +3 -0
- package/src/Utilities/Constants/ModuleConstants.js +4 -1
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +32 -25
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +19 -15
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +3 -2
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +11 -1
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +1 -4
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +22 -11
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.d.ts +1 -0
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +76 -79
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +3 -1
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +9 -5
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.d.ts +2 -4
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +15 -4
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +2 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +136 -29
- package/src/Utilities/Extensions/ObjectExtensions.d.ts +10 -0
- package/src/Utilities/Extensions/ObjectExtensions.js +20 -0
- package/src/Utilities/Extensions/StringExtensions.d.ts +2 -0
- package/src/Utilities/Extensions/StringExtensions.js +21 -1
- package/src/Utilities/Extensions/TypeExtensions.d.ts +2 -0
- package/src/Utilities/Extensions/TypeExtensions.js +5 -0
- package/src/Utilities/Helpers/AdaptableHelper.js +6 -2
- package/src/Utilities/Helpers/FormatHelper.d.ts +1 -1
- package/src/Utilities/Helpers/FormatHelper.js +20 -11
- package/src/Utilities/ObjectFactory.d.ts +10 -6
- package/src/Utilities/ObjectFactory.js +30 -26
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -2
- package/src/Utilities/Services/ChartingService.d.ts +10 -0
- package/src/Utilities/Services/ChartingService.js +100 -0
- package/src/Utilities/Services/DataService.js +1 -1
- package/src/Utilities/Services/EntitlementService.js +4 -1
- package/src/Utilities/Services/Interface/IChartingService.d.ts +5 -0
- package/src/Utilities/Services/Interface/IChartingService.js +2 -0
- package/src/Utilities/Services/Interface/IEntitlementService.d.ts +2 -1
- package/src/Utilities/Services/Interface/IMetamodelService.d.ts +1 -0
- package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +14 -4
- package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -5
- package/src/Utilities/Services/{LicenseService.d.ts → LicenseService/index.d.ts} +3 -3
- package/src/Utilities/Services/LicenseService/index.js +1 -0
- package/src/Utilities/Services/LicenseService/shouldLogThankYouMessage.d.ts +1 -0
- package/src/Utilities/Services/LicenseService/shouldLogThankYouMessage.js +15 -0
- package/src/Utilities/Services/MetamodelService.js +6 -4
- package/src/Utilities/Services/ModuleService.js +4 -2
- package/src/Utilities/Services/QueryLanguageService.d.ts +3 -3
- package/src/Utilities/Services/QueryLanguageService.js +91 -42
- package/src/Utilities/Services/ReportService.js +9 -9
- package/src/Utilities/Services/RowEditService.d.ts +0 -19
- package/src/Utilities/Services/RowEditService.js +5 -162
- package/src/Utilities/Services/TeamSharingService.js +3 -3
- package/src/Utilities/Services/ValidationService.js +9 -7
- package/src/Utilities/license/LicenseDetails.d.ts +1 -1
- package/src/Utilities/license/decode.d.ts +1 -0
- package/src/Utilities/license/decode.js +1 -1
- package/src/Utilities/logDeprecation.d.ts +3 -0
- package/src/Utilities/logDeprecation.js +30 -0
- package/src/View/AdaptablePopover/index.d.ts +4 -2
- package/src/View/AdaptablePopover/index.js +6 -2
- package/src/View/AdaptableView.d.ts +3 -3
- package/src/View/AdaptableViewFactory.js +2 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +3 -5
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +103 -92
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.d.ts +2 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +2 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +1 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +4 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +8 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +7 -34
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.d.ts +1 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/FinanceForm/FinanceForm.js +7 -7
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +2 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsActionColumnsForm.js +4 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +2 -1
- package/src/View/AdaptableWizardView/index.d.ts +1 -1
- package/src/View/Alert/AlertEntityRow.js +1 -1
- package/src/View/Alert/AlertStatusSubPanel.js +1 -1
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +17 -16
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +25 -2
- package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +23 -14
- package/src/View/Alert/Wizard/AlertWizard.js +3 -3
- package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +7 -5
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +5 -5
- package/src/View/Alert/Wizard/isValidAlertRules.js +5 -4
- package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
- package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +3 -3
- package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
- package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +4 -3
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +1 -0
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +34 -12
- package/src/View/Components/AdaptableObjectRow/index.js +1 -6
- package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
- package/src/View/Components/Buttons/ButtonEdit.d.ts +1 -1
- package/src/View/Components/Buttons/ButtonInfo.d.ts +1 -3
- package/src/View/Components/Buttons/ButtonInfo.js +3 -5
- package/src/View/Components/Charting/ChartingStatusBarPopover.d.ts +2 -0
- package/src/View/Components/Charting/ChartingStatusBarPopover.js +23 -0
- package/src/View/Components/Charting/ChartingViewPanel.d.ts +3 -0
- package/src/View/Components/Charting/ChartingViewPanel.js +95 -0
- package/src/View/Components/Charting/ChartingWizard/ChartingWizard.d.ts +6 -0
- package/src/View/Components/Charting/ChartingWizard/ChartingWizard.js +37 -0
- package/src/View/Components/Charting/ChartingWizard/PreviewChartSection.d.ts +6 -0
- package/src/View/Components/Charting/ChartingWizard/PreviewChartSection.js +34 -0
- package/src/View/Components/Charting/ChartingWizard/SettingsSection.d.ts +8 -0
- package/src/View/Components/Charting/ChartingWizard/SettingsSection.js +53 -0
- package/src/View/Components/Charting/DeleteChartButton.d.ts +7 -0
- package/src/View/Components/Charting/DeleteChartButton.js +12 -0
- package/src/View/Components/Charting/EditChartButton.d.ts +8 -0
- package/src/View/Components/Charting/EditChartButton.js +21 -0
- package/src/View/Components/Charting/ShowChartButton.d.ts +5 -0
- package/src/View/Components/Charting/ShowChartButton.js +38 -0
- package/src/View/Components/Charting/useChartState.d.ts +9 -0
- package/src/View/Components/Charting/useChartState.js +71 -0
- package/src/View/Components/EntityRulesEditor/PredicatesEditor.d.ts +16 -0
- package/src/View/Components/EntityRulesEditor/PredicatesEditor.js +86 -0
- package/src/View/Components/EntityRulesEditor/Utilities.d.ts +6 -0
- package/src/View/Components/EntityRulesEditor/Utilities.js +21 -0
- package/src/View/Components/EntityRulesEditor/index.d.ts +5 -9
- package/src/View/Components/EntityRulesEditor/index.js +44 -124
- package/src/View/Components/ExpressionWizard.js +2 -2
- package/src/View/Components/ExternalRenderer.js +3 -1
- package/src/View/Components/FilterForm/FilterForm.js +13 -18
- package/src/View/Components/FilterForm/ListBoxFilterForm.d.ts +2 -2
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
- package/src/View/Components/FilterForm/QuickFilterForm.js +15 -21
- package/src/View/Components/NewScopeComponent.js +3 -3
- package/src/View/Components/Panels/PanelWithButton.js +1 -5
- package/src/View/Components/Panels/PanelWithImage.js +1 -5
- package/src/View/Components/PermittedValuesSelector/PermitedValuesSelector.d.ts +1 -2
- package/src/View/Components/PermittedValuesSelector/PermitedValuesSelector.js +6 -7
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -2
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +3 -2
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -16
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +12 -14
- package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup/TopBar.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopupAlert.js +1 -1
- package/src/View/Components/Popups/AdaptablePopupConfirmation.d.ts +2 -12
- package/src/View/Components/Popups/AdaptablePopupConfirmation.js +46 -39
- package/src/View/Components/Popups/AdaptablePopupPrompt.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +5 -5
- package/src/View/Components/Popups/AdaptableToaster.js +2 -0
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
- package/src/View/Components/Popups/WindowPopups/windowFactory.js +4 -1
- package/src/View/Components/PredicateEditor/PredicateEditor.d.ts +10 -0
- package/src/View/Components/PredicateEditor/PredicateEditor.js +44 -0
- package/src/View/Components/RangesComponent.d.ts +11 -3
- package/src/View/Components/RangesComponent.js +121 -64
- package/src/View/Components/ScopeComponent.js +9 -9
- package/src/View/Components/Selectors/ColumnSelector.d.ts +1 -0
- package/src/View/Components/Selectors/ColumnSelector.js +2 -1
- package/src/View/Components/Selectors/ColumnValueSelector.js +3 -3
- package/src/View/Components/StyleComponent.d.ts +1 -0
- package/src/View/Components/StyleComponent.js +60 -37
- package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +3 -9
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +26 -11
- package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +0 -1
- package/src/View/CustomSort/CustomSortSummary.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
- package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +1 -1
- package/src/View/Dashboard/Dashboard.js +4 -3
- package/src/View/Dashboard/DashboardPopup.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +10 -1
- package/src/View/DataSet/DataSetSelector.js +2 -2
- package/src/View/DataSet/DataSetStatusPanelPopover.js +1 -1
- package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
- package/src/View/DataSet/DataSetViewPanel.js +1 -1
- package/src/View/Export/ExportSelector.js +2 -2
- package/src/View/Export/ExportViewPanel.d.ts +1 -1
- package/src/View/Export/ExportViewPanel.js +5 -5
- package/src/View/Export/ReportExportDropdown.js +2 -2
- package/src/View/Export/Wizard/ReportNameWizardSection.js +11 -12
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +1 -1
- package/src/View/Filter/FilterSummary.d.ts +1 -1
- package/src/View/Filter/FilterSummary.js +1 -1
- package/src/View/Filter/FilterViewPanel.d.ts +1 -1
- package/src/View/Filter/FilterViewPanel.js +1 -1
- package/src/View/FlashingCell/FlashingCellStyle.js +3 -3
- package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +3 -3
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -2
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +6 -6
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +8 -6
- package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +4 -3
- package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
- package/src/View/FormatColumn/MoveFormatColumn.d.ts +7 -0
- package/src/View/FormatColumn/MoveFormatColumn.js +27 -0
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +35 -29
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +8 -0
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +28 -0
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +23 -3
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +2 -28
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -3
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +7 -302
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +18 -26
- package/src/View/FormatColumn/Wizard/constants.d.ts +1 -0
- package/src/View/FormatColumn/Wizard/constants.js +4 -0
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -7
- package/src/View/GridInfo/ColumnInfoComponent.js +27 -19
- package/src/View/GridInfo/GridInfoPopup.js +16 -15
- package/src/View/Layout/LayoutRadioSelector.js +2 -2
- package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +1 -1
- package/src/View/Layout/LayoutViewPanel.d.ts +1 -1
- package/src/View/Layout/LayoutViewPanel.js +1 -1
- package/src/View/Layout/PivotDetailsPopoup.d.ts +3 -0
- package/src/View/Layout/PivotDetailsPopoup.js +65 -0
- package/src/View/Layout/SaveLayoutButton.js +1 -1
- package/src/View/Layout/Wizard/Components/ColumnLabels.js +1 -1
- package/src/View/Layout/Wizard/LayoutWizard.js +9 -4
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +5 -5
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +12 -11
- package/src/View/Layout/Wizard/sections/FilterSection.d.ts +1 -0
- package/src/View/Layout/Wizard/sections/FilterSection.js +52 -3
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +2 -2
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +2 -2
- package/src/View/Layout/Wizard/sections/SettingsSection.d.ts +2 -2
- package/src/View/Layout/Wizard/sections/SettingsSection.js +2 -2
- package/src/View/Layout/Wizard/sections/SortSection.js +2 -5
- package/src/View/License/LicenseWatermark.d.ts +1 -1
- package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +1 -1
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.d.ts +1 -1
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +5 -5
- package/src/View/Query/ExpandedQueryPopup.js +1 -1
- package/src/View/Query/QueryViewPanel.d.ts +1 -1
- package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +1 -1
- package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +1 -1
- package/src/View/QuickSearch/QuickSearchPopup.js +2 -2
- package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +1 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -2
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +2 -2
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +3 -3
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +1 -1
- package/src/View/SmartEdit/SmartEditPopup.js +3 -3
- package/src/View/SmartEdit/SmartEditViewPanel.js +1 -1
- package/src/View/SpecialColumnSettingsWizardStep.js +10 -10
- package/src/View/StateManagement/StateManagementPopup.js +4 -4
- package/src/View/StateManagement/components/ClearButton.d.ts +1 -1
- package/src/View/StateManagement/components/LoadButton.d.ts +1 -1
- package/src/View/StatusBar/StatusBarPanel.d.ts +4 -4
- package/src/View/StatusBar/StatusBarPanel.js +1 -1
- package/src/View/StatusBar/StatusBarPopup.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +6 -0
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +285 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +7 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +106 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.d.ts +9 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +75 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.d.ts +8 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +38 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +26 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +23 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.d.ts +8 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +25 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.d.ts +9 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +263 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/index.d.ts +1 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/index.js +4 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.d.ts +7 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +68 -0
- package/src/View/SystemStatus/SystemStatusEntityRow.js +4 -6
- package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
- package/src/View/TeamSharing/SharedEntityDependencies.js +1 -1
- package/src/View/TeamSharing/SharedEntityObjectView.js +1 -1
- package/src/View/TeamSharing/TeamSharingApplyButton.js +1 -1
- package/src/View/Theme/ThemePopup.js +1 -1
- package/src/View/Theme/ThemeStatusPanelPopover.js +1 -1
- package/src/View/Wizard/OnePageAdaptableWizard.d.ts +4 -4
- package/src/View/Wizard/OnePageAdaptableWizard.js +3 -4
- package/src/View/Wizard/OnePageWizards.d.ts +3 -3
- package/src/View/Wizard/OnePageWizards.js +2 -2
- package/src/agGrid/ActionColumnRenderer.d.ts +3 -0
- package/src/agGrid/ActionColumnRenderer.js +98 -64
- package/src/agGrid/Adaptable.d.ts +43 -14
- package/src/agGrid/Adaptable.js +555 -409
- package/src/agGrid/CheckboxRenderer.js +1 -1
- package/src/agGrid/FilterWrapper.js +62 -19
- package/src/agGrid/FloatingFilterWrapper.d.ts +2 -2
- package/src/agGrid/FloatingFilterWrapper.js +70 -32
- package/src/agGrid/PercentBarRenderer.d.ts +2 -2
- package/src/agGrid/PercentBarRenderer.js +16 -15
- package/src/agGrid/agGridHelper.d.ts +2 -2
- package/src/agGrid/agGridHelper.js +31 -20
- package/src/agGrid/agGridMenuHelper.js +3 -3
- package/src/agGrid/createAgStatusPanelComponent.d.ts +2 -1
- package/src/agGrid/createAgStatusPanelComponent.js +20 -3
- package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +5 -1
- package/src/agGrid/editors/AdaptableDateEditor/index.js +87 -20
- package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
- package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +3 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +81 -30
- package/src/agGrid/weightedAverage.js +19 -11
- package/src/bundle-dependencies/bundles/react-toastify/index.js +1 -1
- package/src/components/CheckBox/index.d.ts +1 -1
- package/src/components/CheckBox/index.js +7 -2
- package/src/components/ColorPicker/ColorPicker.d.ts +11 -0
- package/src/{View → components/ColorPicker}/ColorPicker.js +19 -6
- package/src/components/ColorPicker/index.d.ts +1 -0
- package/src/components/ColorPicker/index.js +4 -0
- package/src/components/Datepicker/index.d.ts +1 -1
- package/src/components/Datepicker/index.js +1 -1
- package/src/components/Dialog/index.d.ts +4 -2
- package/src/components/Dialog/index.js +2 -2
- package/src/components/DragAndDropContext/TabList.js +1 -1
- package/src/components/DragAndDropContext/UnusedPanel.js +3 -2
- package/src/components/DropdownButton/index.d.ts +21 -4
- package/src/components/DropdownButton/index.js +7 -8
- package/src/components/EllipsisContainer/index.js +1 -1
- package/src/components/ExpressionEditor/BaseEditorInput.d.ts +1 -1
- package/src/components/ExpressionEditor/BaseEditorInput.js +102 -36
- package/src/components/ExpressionEditor/EditorInput.js +1 -1
- package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +1 -1
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +5 -1
- package/src/components/ExpressionEditor/index.js +12 -58
- package/src/components/FormLayout/index.js +1 -1
- package/src/components/Input/index.d.ts +1 -1
- package/src/components/List/ListGroupItem/index.d.ts +4 -2
- package/src/components/Loader/Loader.d.ts +2 -2
- package/src/components/Logo/index.d.ts +1 -1
- package/src/components/Modal/index.d.ts +1 -1
- package/src/components/Modal/index.js +0 -2
- package/src/components/OverlayTrigger/Overlay.d.ts +1 -4
- package/src/components/OverlayTrigger/Overlay.js +3 -40
- package/src/components/OverlayTrigger/index.d.ts +4 -4
- package/src/components/OverlayTrigger/index.js +75 -50
- package/src/components/OverlayTrigger/utils.d.ts +1 -1
- package/src/components/OverlayTrigger/utils.js +4 -4
- package/src/components/PopupWithFooter.d.ts +2 -2
- package/src/components/ProgressIndicator/ProgressIndicator.d.ts +1 -1
- package/src/components/SelectList.d.ts +1 -1
- package/src/components/SimpleButton/index.d.ts +4 -7
- package/src/components/SimpleButton/index.js +5 -4
- package/src/components/SizedContainer/index.d.ts +1 -1
- package/src/components/StylePreview.d.ts +1 -1
- package/src/components/StylePreview.js +2 -1
- package/src/components/Tag/Tag.d.ts +1 -1
- package/src/components/Textarea/index.d.ts +6 -4
- package/src/components/ToggleButton/index.d.ts +1 -1
- package/src/components/Tooltip/index.d.ts +1 -3
- package/src/components/Tooltip/index.js +2 -2
- package/src/components/WindowModal/WindowModal.d.ts +1 -1
- package/src/components/icons/{conditional-style.d.ts → brush.d.ts} +0 -0
- package/src/components/icons/brush.js +7 -0
- package/src/components/icons/index.d.ts +3 -2
- package/src/components/icons/index.js +4 -2
- package/src/components/icons/layout.d.ts +2 -1
- package/src/components/icons/open-in-new.d.ts +3 -0
- package/src/components/icons/{conditional-style.js → open-in-new.js} +1 -1
- package/src/components/utils/useContainerScrollObserver/index.d.ts +1 -1
- package/src/env.js +1 -3
- package/src/metamodel/adaptable.metamodel.d.ts +572 -160
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/parser/src/parser.js +644 -382
- package/src/parser/src/types.d.ts +15 -3
- package/src/renderReactRoot.d.ts +5 -0
- package/src/renderReactRoot.js +56 -0
- package/src/types.d.ts +26 -17
- package/themes/dark.css +8 -4
- package/themes/dark.css.map +1 -0
- package/themes/light.css +4 -1
- package/themes/light.css.map +1 -0
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/AdaptableComponents.d.ts +0 -1
- package/src/AdaptableComponents.js +0 -5
- package/src/Api/ConditionalStyleApi.d.ts +0 -108
- package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +0 -29
- package/src/Api/Implementation/ConditionalStyleApiImpl.js +0 -98
- package/src/Api/Implementation/InternalApiImpl.js +0 -654
- package/src/Api/InternalApi.d.ts +0 -147
- package/src/Redux/ActionsReducers/ConditionalStyleRedux.d.ts +0 -49
- package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +0 -95
- package/src/Strategy/ConditionalStyleModule.d.ts +0 -29
- package/src/Strategy/ConditionalStyleModule.js +0 -225
- package/src/Strategy/Interface/IConditionalStyleModule.d.ts +0 -6
- package/src/Strategy/Utilities/getStyleViewItems.d.ts +0 -2
- package/src/Strategy/Utilities/getStyleViewItems.js +0 -16
- package/src/Utilities/Helpers/CalendarHelper.d.ts +0 -25
- package/src/Utilities/Helpers/CalendarHelper.js +0 -342
- package/src/Utilities/Services/LicenseService.js +0 -1
- package/src/View/ColorPicker.d.ts +0 -14
- package/src/View/ConditionalStyle/ConditionalStyleSummary.d.ts +0 -25
- package/src/View/ConditionalStyle/ConditionalStyleSummary.js +0 -108
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.d.ts +0 -9
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +0 -42
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.d.ts +0 -8
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +0 -43
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.d.ts +0 -8
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +0 -29
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.d.ts +0 -8
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +0 -23
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.d.ts +0 -6
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +0 -114
- package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.d.ts +0 -1
- package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.js +0 -4
- package/src/components/OverlayTrigger/getOverlayStyle.d.ts +0 -13
- package/src/components/OverlayTrigger/getOverlayStyle.js +0 -56
package/src/agGrid/Adaptable.js
CHANGED
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AdaptableNoCodeWizard = exports.Adaptable = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const core_1 = require("@ag-grid-community/core");
|
|
6
|
+
const merge_1 = tslib_1.__importDefault(require("lodash/merge"));
|
|
6
7
|
const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
|
|
7
8
|
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
|
|
8
9
|
const throttle_1 = tslib_1.__importDefault(require("lodash/throttle"));
|
|
9
10
|
const uniqBy_1 = tslib_1.__importDefault(require("lodash/uniqBy"));
|
|
10
11
|
const React = tslib_1.__importStar(require("react"));
|
|
11
|
-
const ReactDOM = tslib_1.__importStar(require("react-dom"));
|
|
12
12
|
const clamp_1 = tslib_1.__importDefault(require("lodash/clamp"));
|
|
13
13
|
const AdaptableApiImpl_1 = require("../Api/Implementation/AdaptableApiImpl");
|
|
14
14
|
const Enums_1 = require("../PredefinedConfig/Common/Enums");
|
|
@@ -24,7 +24,6 @@ const ArrayExtensions_1 = require("../Utilities/Extensions/ArrayExtensions");
|
|
|
24
24
|
const StringExtensions_1 = require("../Utilities/Extensions/StringExtensions");
|
|
25
25
|
const getScrollbarSize_1 = tslib_1.__importDefault(require("../Utilities/getScrollbarSize"));
|
|
26
26
|
const AdaptableHelper_1 = tslib_1.__importDefault(require("../Utilities/Helpers/AdaptableHelper"));
|
|
27
|
-
const FormatHelper_1 = tslib_1.__importDefault(require("../Utilities/Helpers/FormatHelper"));
|
|
28
27
|
const Helper_1 = require("../Utilities/Helpers/Helper");
|
|
29
28
|
const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
30
29
|
const ObjectFactory_1 = require("../Utilities/ObjectFactory");
|
|
@@ -64,6 +63,8 @@ const AdaptableStatusBar_1 = require("../View/StatusBar/AdaptableStatusBar");
|
|
|
64
63
|
const RowEditService_1 = require("../Utilities/Services/RowEditService");
|
|
65
64
|
const weightedAverage_1 = require("./weightedAverage");
|
|
66
65
|
const AggregationColumns_1 = require("../PredefinedConfig/Common/AggregationColumns");
|
|
66
|
+
const renderReactRoot_1 = require("../renderReactRoot");
|
|
67
|
+
const ChartingService_1 = require("../Utilities/Services/ChartingService");
|
|
67
68
|
const tinycolor = require('tinycolor2');
|
|
68
69
|
const GROUP_PATH_SEPARATOR = '/';
|
|
69
70
|
// IMPORTANT - we need colId to be set in order for safeSetColDefs to work correctly
|
|
@@ -86,6 +87,14 @@ const assignColId = (colDef) => {
|
|
|
86
87
|
const RowNodeProto = core_1.RowNode.prototype;
|
|
87
88
|
const RowNode_dispatchLocalEvent = RowNodeProto.dispatchLocalEvent;
|
|
88
89
|
const GridApi_setColumnDefs = core_1.GridApi.prototype.setColumnDefs;
|
|
90
|
+
['addCssClass', 'removeCssClass', 'containsCssClass', 'addOrRemoveCssClass'].forEach((methodName) => {
|
|
91
|
+
// @ts-ignore
|
|
92
|
+
const CssClassManager_originalMethod = core_1.CssClassManager.prototype[methodName];
|
|
93
|
+
// @ts-ignore
|
|
94
|
+
core_1.CssClassManager.prototype[methodName] = function () {
|
|
95
|
+
return this.getGui() ? CssClassManager_originalMethod.apply(this, arguments) : undefined;
|
|
96
|
+
};
|
|
97
|
+
});
|
|
89
98
|
/**
|
|
90
99
|
* AgGrid does not expose Events.EVENT_ROW_DATA_CHANGED
|
|
91
100
|
* so we have to override `dispatchLocalEvent`
|
|
@@ -140,8 +149,10 @@ const forEachColumn = (cols, fn, parentColGroup) => {
|
|
|
140
149
|
const adaptableInstances = {};
|
|
141
150
|
class Adaptable {
|
|
142
151
|
constructor() {
|
|
152
|
+
this.variant = 'vanilla';
|
|
143
153
|
this.colDefPropertyCache = new Map();
|
|
144
154
|
this.gridOptionsPropertyCache = new Map();
|
|
155
|
+
this.columnMinMaxValuesCache = {};
|
|
145
156
|
this.isCheckedColumnDataType = false;
|
|
146
157
|
// only for our private / internal events used within Adaptable
|
|
147
158
|
// public events are emitted through the EventApi
|
|
@@ -169,6 +180,8 @@ class Adaptable {
|
|
|
169
180
|
};
|
|
170
181
|
this._adaptableReady = false;
|
|
171
182
|
this.isDestroyed = false;
|
|
183
|
+
this.supressReact18RenderWarning = false;
|
|
184
|
+
this.renderReactRoot = (node, container) => (0, renderReactRoot_1.renderReactRoot)(node, container, this.supressReact18RenderWarning);
|
|
172
185
|
this.isPluginLoaded = (pluginId) => {
|
|
173
186
|
const plugins = this.adaptableOptions.plugins || [];
|
|
174
187
|
for (let i = 0, len = plugins.length; i < len; i++) {
|
|
@@ -274,7 +287,9 @@ class Adaptable {
|
|
|
274
287
|
else {
|
|
275
288
|
core_1.ModuleRegistry.registerModules(runtimeConfig.agGridModules);
|
|
276
289
|
}
|
|
277
|
-
return Adaptable.initInternal(adaptableOptions
|
|
290
|
+
return Adaptable.initInternal(adaptableOptions, {
|
|
291
|
+
supressReact18RenderWarning: true,
|
|
292
|
+
});
|
|
278
293
|
}
|
|
279
294
|
/**
|
|
280
295
|
* Lazy static constructor for Adaptable
|
|
@@ -336,7 +351,28 @@ class Adaptable {
|
|
|
336
351
|
// the 'old' constructor which takes an Adaptable adaptable object
|
|
337
352
|
// this is still used internally but should not be used externally as a preference
|
|
338
353
|
async init(adaptableOptions, runtimeConfig, _staticInit) {
|
|
339
|
-
var _a, _b, _c, _d, _e, _f;
|
|
354
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
355
|
+
if (runtimeConfig) {
|
|
356
|
+
this.supressReact18RenderWarning = !!runtimeConfig.supressReact18RenderWarning;
|
|
357
|
+
if (runtimeConfig.renderReactRoot) {
|
|
358
|
+
this.renderReactRoot = (el, container) => {
|
|
359
|
+
const unmount = runtimeConfig.renderReactRoot(el, container);
|
|
360
|
+
return () => {
|
|
361
|
+
// we used to capture here because of FloatingFilters/Filters - see FloatingFilterWrapper and FilterWrapper
|
|
362
|
+
// as we didn't have a native React implementation for our React wrapper
|
|
363
|
+
// but we might need to do this again in the future for some other components that are not native React
|
|
364
|
+
// captureReactWarnings();
|
|
365
|
+
if (typeof unmount === 'function') {
|
|
366
|
+
unmount();
|
|
367
|
+
}
|
|
368
|
+
// releaseReactWarnings();
|
|
369
|
+
};
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
if (runtimeConfig.variant) {
|
|
373
|
+
this.variant = runtimeConfig.variant;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
340
376
|
if (!_staticInit) {
|
|
341
377
|
(0, LoggingHelper_1.ConsoleLogWarning)(`
|
|
342
378
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
@@ -389,6 +425,7 @@ class Adaptable {
|
|
|
389
425
|
this.initStore();
|
|
390
426
|
// create the services
|
|
391
427
|
this.LicenseService = this.initLicenseService();
|
|
428
|
+
this.ChartingService = new ChartingService_1.ChartingService(this.api);
|
|
392
429
|
this.ValidationService = new ValidationService_1.ValidationService(this.api);
|
|
393
430
|
this.ReportService = new ReportService_1.ReportService(this.api);
|
|
394
431
|
this.ModuleService = new ModuleService_1.ModuleService(this.api);
|
|
@@ -397,6 +434,7 @@ class Adaptable {
|
|
|
397
434
|
this.QueryLanguageService = new QueryLanguageService_1.QueryLanguageService(this.api);
|
|
398
435
|
this.AlertService = new AlertService_1.AlertService(this.api);
|
|
399
436
|
this.TeamSharingService = new TeamSharingService_1.TeamSharingService(this.api);
|
|
437
|
+
// @ts-ignore
|
|
400
438
|
this.RowEditService = new RowEditService_1.RowEditService(this.api);
|
|
401
439
|
this.MetamodelService = new MetamodelService_1.MetamodelService(() => this.api.internalApi.getAdaptableOptions());
|
|
402
440
|
this.forPlugins((plugin) => plugin.afterInitServices(this));
|
|
@@ -417,12 +455,15 @@ class Adaptable {
|
|
|
417
455
|
abColDefDate: (_d = this.gridOptions.columnTypes.abColDefDate) !== null && _d !== void 0 ? _d : {},
|
|
418
456
|
abColDefObject: (_e = this.gridOptions.columnTypes.abColDefObject) !== null && _e !== void 0 ? _e : {},
|
|
419
457
|
abColDefCustom: (_f = this.gridOptions.columnTypes.abColDefCustom) !== null && _f !== void 0 ? _f : {},
|
|
458
|
+
abColDefNumberArray: (_g = this.gridOptions.columnTypes.abColDefNumberArray) !== null && _g !== void 0 ? _g : {},
|
|
420
459
|
});
|
|
421
460
|
if (this.gridOptions.columnTypes.abColDefNumber.cellEditor === undefined) {
|
|
422
|
-
this.gridOptions.columnTypes.abColDefNumber.cellEditor =
|
|
461
|
+
this.gridOptions.columnTypes.abColDefNumber.cellEditor =
|
|
462
|
+
this.variant === 'react' ? AdaptableNumberEditor_1.ReactAdaptableNumberEditor : AdaptableNumberEditor_1.AdaptableNumberEditor;
|
|
423
463
|
}
|
|
424
464
|
if (this.gridOptions.columnTypes.abColDefDate.cellEditor === undefined) {
|
|
425
|
-
this.gridOptions.columnTypes.abColDefDate.cellEditor =
|
|
465
|
+
this.gridOptions.columnTypes.abColDefDate.cellEditor =
|
|
466
|
+
this.variant === 'react' ? AdaptableDateEditor_1.ReactAdaptableDateEditor : AdaptableDateEditor_1.AdaptableDateEditor;
|
|
426
467
|
}
|
|
427
468
|
// validate the provided AdaptableOptions
|
|
428
469
|
this.MetamodelService.validateAdaptableOptionsValues();
|
|
@@ -456,26 +497,20 @@ class Adaptable {
|
|
|
456
497
|
AdaptableHelper_1.default.checkValidPrimaryKey(this);
|
|
457
498
|
}, (e) => {
|
|
458
499
|
(0, LoggingHelper_1.ConsoleLogError)('Failed to Init Modules : ', e);
|
|
459
|
-
// for now we
|
|
500
|
+
// for now we initialize the grid even if initialising Modules has failed (perhaps revisit this?)
|
|
460
501
|
this.initInternalGridLogic();
|
|
461
502
|
this.api.internalApi.hideLoadingScreen(); // doesnt really help but at least clears the screen
|
|
462
503
|
}).then(async () => {
|
|
463
504
|
this.api.internalApi.hideLoadingScreen();
|
|
464
505
|
this.isInitialised = true;
|
|
465
506
|
this._adaptableReady = true;
|
|
466
|
-
// setTimeout(() => {
|
|
467
|
-
// this.api.eventApi.emit('AdaptableReady', {
|
|
468
|
-
// adaptableApi: this.api,
|
|
469
|
-
// gridOptions: this.adaptableOptions.gridOptions,
|
|
470
|
-
// });
|
|
471
|
-
// }, 0);
|
|
472
507
|
});
|
|
473
508
|
if (this.abContainerElement == null) {
|
|
474
509
|
this.abContainerElement = this.getAdaptableContainerElement();
|
|
475
510
|
}
|
|
476
511
|
if (this.abContainerElement != null) {
|
|
477
512
|
this.abContainerElement.innerHTML = '';
|
|
478
|
-
|
|
513
|
+
this.unmountReactRoot = this.renderReactRoot((0, AdaptableView_1.AdaptableApp)({ Adaptable: this }), this.abContainerElement);
|
|
479
514
|
}
|
|
480
515
|
// create debounce methods that take a time based on user settings
|
|
481
516
|
this.throttleFilterOnEditDataChange = (0, throttle_1.default)(
|
|
@@ -866,7 +901,7 @@ class Adaptable {
|
|
|
866
901
|
allColumns.push(this.createAdaptableColumn(agGridColumn, colsToGroups));
|
|
867
902
|
}
|
|
868
903
|
});
|
|
869
|
-
this.api.internalApi.setColumns(allColumns);
|
|
904
|
+
this.api.gridApi.internalApi.setColumns(allColumns);
|
|
870
905
|
}
|
|
871
906
|
createAdaptableColumn(agGridColumn, colsToGroups) {
|
|
872
907
|
const abColumn = this.agGridHelper.createAdaptableColumnFromAgGridColumn(agGridColumn, colsToGroups);
|
|
@@ -888,72 +923,108 @@ class Adaptable {
|
|
|
888
923
|
this.gridOptions.api.setColumnDefs(colDefs);
|
|
889
924
|
this.updateColumnsIntoStore(); // todo remove this from here!!!
|
|
890
925
|
}
|
|
891
|
-
|
|
892
|
-
|
|
926
|
+
getStyledColumnStyle(styledColumn, abColumn, params) {
|
|
927
|
+
let style = {};
|
|
928
|
+
const gradientStyle = styledColumn === null || styledColumn === void 0 ? void 0 : styledColumn.GradientStyle;
|
|
929
|
+
if (params.value === undefined) {
|
|
893
930
|
return;
|
|
894
931
|
}
|
|
895
|
-
|
|
896
|
-
|
|
932
|
+
let colValue = params.value;
|
|
933
|
+
if (this.api.gridApi.isGroupRowNode(params.node)) {
|
|
934
|
+
if (styledColumn.IncludeGroupedRows) {
|
|
935
|
+
const minColumnValue = this.api.styledColumnApi.internalApi.getMinValueForNumericColumn(abColumn);
|
|
936
|
+
const maxColumnValue = this.api.styledColumnApi.internalApi.getMaxValueForNumericColumn(abColumn);
|
|
937
|
+
/**
|
|
938
|
+
* Color should always be in bounds, it should not overflow.
|
|
939
|
+
* If the value is out of range, it shoul set the maximum/minimum color.
|
|
940
|
+
*/
|
|
941
|
+
colValue = (0, clamp_1.default)(params.value, minColumnValue, maxColumnValue);
|
|
942
|
+
}
|
|
943
|
+
else {
|
|
944
|
+
return style;
|
|
945
|
+
}
|
|
897
946
|
}
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
if (gradientStyle) {
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
}
|
|
912
|
-
else {
|
|
913
|
-
const matchingRange = gradientStyle.CellRanges.find((r) => (r.Min == 'Col-Min' || r.Min <= clampedValue) &&
|
|
914
|
-
(r.Max == 'Col-Max' || r.Max >= clampedValue));
|
|
915
|
-
if (matchingRange) {
|
|
916
|
-
cellBackColor = matchingRange.Color;
|
|
917
|
-
reverseGradient = matchingRange.ReverseGradient;
|
|
918
|
-
}
|
|
919
|
-
}
|
|
920
|
-
const increase = Math.abs(max - min);
|
|
921
|
-
const percentage = ((params.value - min) / increase) * 100;
|
|
922
|
-
let alpha = Number((percentage / 100).toPrecision(2));
|
|
923
|
-
if (reverseGradient) {
|
|
924
|
-
alpha = 1 - alpha;
|
|
947
|
+
if (gradientStyle) {
|
|
948
|
+
const min = this.api.styledColumnApi.internalApi.getNumericStyleMinValue(styledColumn, abColumn, params.node, colValue);
|
|
949
|
+
const max = this.api.styledColumnApi.internalApi.getNumericStyleMaxValue(styledColumn, abColumn, params.node, colValue);
|
|
950
|
+
let cellBackColor;
|
|
951
|
+
let reverseGradient = false;
|
|
952
|
+
if (gradientStyle.ColumnComparison) {
|
|
953
|
+
cellBackColor = gradientStyle.ColumnComparison.Color;
|
|
954
|
+
}
|
|
955
|
+
else {
|
|
956
|
+
const matchingRange = this.api.styledColumnApi.internalApi.findRangeForColumn(gradientStyle.CellRanges, abColumn, gradientStyle.RangeValueType, colValue);
|
|
957
|
+
if (matchingRange) {
|
|
958
|
+
cellBackColor = matchingRange.Color;
|
|
959
|
+
reverseGradient = matchingRange.ReverseGradient;
|
|
925
960
|
}
|
|
926
|
-
const preparedColor = (0, StyleHelper_1.getVariableColor)(cellBackColor);
|
|
927
|
-
style.backgroundColor = tinycolor(preparedColor).setAlpha(alpha).toRgbString();
|
|
928
961
|
}
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
962
|
+
const increase = Math.abs(max - min);
|
|
963
|
+
const percentage = ((colValue - min) / increase) * 100;
|
|
964
|
+
let alpha = Number((percentage / 100).toPrecision(2));
|
|
965
|
+
if (reverseGradient) {
|
|
966
|
+
alpha = 1 - alpha;
|
|
967
|
+
}
|
|
968
|
+
const preparedColor = (0, StyleHelper_1.getVariableColor)(cellBackColor);
|
|
969
|
+
// if no range match, do not apply color (black in this case)
|
|
970
|
+
if (cellBackColor) {
|
|
971
|
+
style.backgroundColor = tinycolor(preparedColor).setAlpha(alpha).toRgbString();
|
|
932
972
|
}
|
|
933
973
|
}
|
|
934
|
-
|
|
935
|
-
style =
|
|
974
|
+
if (styledColumn.PercentBarStyle && styledColumn.PercentBarStyle.CellText) {
|
|
975
|
+
style.paddingTop = 0;
|
|
976
|
+
style.paddingBottom = 0;
|
|
936
977
|
}
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
978
|
+
return style;
|
|
979
|
+
}
|
|
980
|
+
getFormatColumnAdaptableStyle(formatColumns) {
|
|
981
|
+
// first has more precedence, then they need to be applied in reverse order
|
|
982
|
+
return formatColumns.reduceRight((style, formatColumn) => {
|
|
983
|
+
const formatColumnStyle = formatColumn.Style
|
|
984
|
+
? this.convertAdaptableStyleToCSS(formatColumn.Style)
|
|
985
|
+
: {};
|
|
986
|
+
if (formatColumn.CellAlignment) {
|
|
987
|
+
switch (formatColumn.CellAlignment) {
|
|
988
|
+
case 'Left':
|
|
989
|
+
style.textAlign = 'left';
|
|
990
|
+
break;
|
|
991
|
+
case 'Right':
|
|
992
|
+
style.textAlign = 'right';
|
|
993
|
+
break;
|
|
994
|
+
case 'Center':
|
|
995
|
+
style.textAlign = 'center';
|
|
996
|
+
break;
|
|
997
|
+
}
|
|
948
998
|
}
|
|
999
|
+
return Object.assign(Object.assign({}, style), formatColumnStyle);
|
|
1000
|
+
}, {});
|
|
1001
|
+
}
|
|
1002
|
+
getFormatColumnCellStyle(abColumn, activeFormatColumnsWithStyle, params) {
|
|
1003
|
+
if (!activeFormatColumnsWithStyle.length) {
|
|
1004
|
+
return {};
|
|
949
1005
|
}
|
|
950
|
-
|
|
1006
|
+
const relevantFormatColumnsWithStyle = activeFormatColumnsWithStyle.filter((formatColumn) => {
|
|
1007
|
+
return this.api.formatColumnApi.internalApi.isFormatColumnRelevantForColumn(formatColumn, abColumn, params);
|
|
1008
|
+
});
|
|
1009
|
+
return this.getFormatColumnAdaptableStyle(relevantFormatColumnsWithStyle);
|
|
1010
|
+
}
|
|
1011
|
+
getFormatColumnCellClass(formatColumns, abColumn, params) {
|
|
1012
|
+
const classNames = formatColumns
|
|
1013
|
+
.map((formatColumn) => {
|
|
1014
|
+
var _a, _b;
|
|
1015
|
+
if (((_a = formatColumn.Style) === null || _a === void 0 ? void 0 : _a.ClassName) &&
|
|
1016
|
+
this.api.formatColumnApi.internalApi.isFormatColumnRelevantForColumn(formatColumn, abColumn, params)) {
|
|
1017
|
+
return (_b = formatColumn.Style) === null || _b === void 0 ? void 0 : _b.ClassName;
|
|
1018
|
+
}
|
|
1019
|
+
})
|
|
1020
|
+
.filter((x) => !!x);
|
|
1021
|
+
return classNames;
|
|
951
1022
|
}
|
|
952
1023
|
getActiveAlertWithHighlightCell(col, params) {
|
|
953
|
-
return this.api.internalApi.getAdaptableAlertWithHighlightCell(col.columnId, params.node);
|
|
1024
|
+
return this.api.alertApi.internalApi.getAdaptableAlertWithHighlightCell(col.columnId, params.node);
|
|
954
1025
|
}
|
|
955
1026
|
getActiveAlertWithHighlightRow(params) {
|
|
956
|
-
return this.api.internalApi.getAdaptableAlertWithHighlightRow(params.node);
|
|
1027
|
+
return this.api.alertApi.internalApi.getAdaptableAlertWithHighlightRow(params.node);
|
|
957
1028
|
}
|
|
958
1029
|
getAlertCellStyle(col, params) {
|
|
959
1030
|
const alert = this.getActiveAlertWithHighlightCell(col, params);
|
|
@@ -1001,7 +1072,7 @@ class Adaptable {
|
|
|
1001
1072
|
const primaryKey = params.node.aggData
|
|
1002
1073
|
? params.node.id
|
|
1003
1074
|
: this.getPrimaryKeyValueFromRowNode(params.node);
|
|
1004
|
-
const flashingCell = this.api.internalApi.getAdaptableFlashingCellFor(primaryKey, col.columnId);
|
|
1075
|
+
const flashingCell = this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(primaryKey, col.columnId);
|
|
1005
1076
|
if (!flashingCell) {
|
|
1006
1077
|
return {};
|
|
1007
1078
|
}
|
|
@@ -1016,7 +1087,7 @@ class Adaptable {
|
|
|
1016
1087
|
const primaryKey = params.node.aggData
|
|
1017
1088
|
? params.node.id
|
|
1018
1089
|
: this.getPrimaryKeyValueFromRowNode(params.node);
|
|
1019
|
-
const flashingCell = this.api.internalApi.getAdaptableFlashingCellFor(primaryKey, col.columnId);
|
|
1090
|
+
const flashingCell = this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(primaryKey, col.columnId);
|
|
1020
1091
|
if (!flashingCell) {
|
|
1021
1092
|
return;
|
|
1022
1093
|
}
|
|
@@ -1078,7 +1149,7 @@ class Adaptable {
|
|
|
1078
1149
|
}
|
|
1079
1150
|
const gridCell = this.getGridCellFromRowNode(params.node, abColumn.columnId);
|
|
1080
1151
|
if (gridCell) {
|
|
1081
|
-
if (this.api.gridApi.
|
|
1152
|
+
if (this.api.gridApi.isCellEditable(gridCell)) {
|
|
1082
1153
|
return this.convertAdaptableStyleToCSS(editableCellStyle);
|
|
1083
1154
|
}
|
|
1084
1155
|
}
|
|
@@ -1091,45 +1162,18 @@ class Adaptable {
|
|
|
1091
1162
|
}
|
|
1092
1163
|
const gridCell = this.getGridCellFromRowNode(params.node, abColumn.columnId);
|
|
1093
1164
|
if (gridCell) {
|
|
1094
|
-
if (!this.api.gridApi.
|
|
1165
|
+
if (!this.api.gridApi.isCellEditable(gridCell)) {
|
|
1095
1166
|
return this.convertAdaptableStyleToCSS(editableCellStyle);
|
|
1096
1167
|
}
|
|
1097
1168
|
}
|
|
1098
1169
|
return undefined;
|
|
1099
1170
|
}
|
|
1100
|
-
getConditionalStyleCellStyle(conditionalStyles = [], abColumn, params) {
|
|
1101
|
-
const module = this.ModuleService.getModuleById(ModuleConstants.ConditionalStyleModuleId);
|
|
1102
|
-
const result = conditionalStyles.reduce((result, conditionalStyle) => {
|
|
1103
|
-
if (module.isConditionalStyleActiveForColumn(conditionalStyle, abColumn, params)) {
|
|
1104
|
-
return Object.assign(Object.assign({}, result), conditionalStyle.Style);
|
|
1105
|
-
}
|
|
1106
|
-
else {
|
|
1107
|
-
return result;
|
|
1108
|
-
}
|
|
1109
|
-
}, {});
|
|
1110
|
-
return this.convertAdaptableStyleToCSS(result);
|
|
1111
|
-
}
|
|
1112
|
-
getConditionalStyleCellClass(conditionalStyles = [], abColumn, params) {
|
|
1113
|
-
const module = this.ModuleService.getModuleById(ModuleConstants.ConditionalStyleModuleId);
|
|
1114
|
-
let classNames = conditionalStyles
|
|
1115
|
-
.map((conditionalStyle) => {
|
|
1116
|
-
var _a, _b;
|
|
1117
|
-
if (((_a = conditionalStyle.Style) === null || _a === void 0 ? void 0 : _a.ClassName) &&
|
|
1118
|
-
module.isConditionalStyleActiveForColumn(conditionalStyle, abColumn, params)) {
|
|
1119
|
-
return (_b = conditionalStyle.Style) === null || _b === void 0 ? void 0 : _b.ClassName;
|
|
1120
|
-
}
|
|
1121
|
-
})
|
|
1122
|
-
.filter((x) => !!x);
|
|
1123
|
-
return classNames;
|
|
1124
|
-
}
|
|
1125
1171
|
getEditableCellClass(abColumn, params) {
|
|
1126
1172
|
const editableCellStyle = this.api.userInterfaceApi.getEditableCellStyle();
|
|
1127
1173
|
if (!(editableCellStyle === null || editableCellStyle === void 0 ? void 0 : editableCellStyle.ClassName)) {
|
|
1128
1174
|
return null;
|
|
1129
1175
|
}
|
|
1130
|
-
const isCellEditable = this.api.gridApi.
|
|
1131
|
-
this.getGridCellFromRowNode(params.node, abColumn.columnId),
|
|
1132
|
-
]);
|
|
1176
|
+
const isCellEditable = this.api.gridApi.isCellEditable(this.getGridCellFromRowNode(params.node, abColumn.columnId));
|
|
1133
1177
|
return isCellEditable ? editableCellStyle.ClassName : null;
|
|
1134
1178
|
}
|
|
1135
1179
|
getReadonlyCellClass(abColumn, params) {
|
|
@@ -1137,9 +1181,7 @@ class Adaptable {
|
|
|
1137
1181
|
if (!(readonlyCellStyle === null || readonlyCellStyle === void 0 ? void 0 : readonlyCellStyle.ClassName)) {
|
|
1138
1182
|
return null;
|
|
1139
1183
|
}
|
|
1140
|
-
const isCellReadonly = !this.api.gridApi.
|
|
1141
|
-
this.getGridCellFromRowNode(params.node, abColumn.columnId),
|
|
1142
|
-
]);
|
|
1184
|
+
const isCellReadonly = !this.api.gridApi.isCellEditable(this.getGridCellFromRowNode(params.node, abColumn.columnId));
|
|
1143
1185
|
return isCellReadonly ? readonlyCellStyle.ClassName : null;
|
|
1144
1186
|
}
|
|
1145
1187
|
isQuickSearchActive(abColumn, params) {
|
|
@@ -1233,7 +1275,7 @@ class Adaptable {
|
|
|
1233
1275
|
this.api.layoutApi.createOrUpdateLayout(layout);
|
|
1234
1276
|
}
|
|
1235
1277
|
else {
|
|
1236
|
-
this.api.internalApi.updateCurrentDraftLayout(layout);
|
|
1278
|
+
this.api.layoutApi.internalApi.updateCurrentDraftLayout(layout);
|
|
1237
1279
|
}
|
|
1238
1280
|
}
|
|
1239
1281
|
setLayout(layout) {
|
|
@@ -1262,12 +1304,6 @@ class Adaptable {
|
|
|
1262
1304
|
let sortIndex = 0;
|
|
1263
1305
|
const sortModelMap = ((_a = layout.ColumnSorts) !== null && _a !== void 0 ? _a : []).reduce((acc, customSort) => {
|
|
1264
1306
|
const colId = customSort.ColumnId;
|
|
1265
|
-
if (!layoutColumnsMap[colId]) {
|
|
1266
|
-
// pivot layouts may have no pivot columns, only aggregation columns
|
|
1267
|
-
if (layout.AggregationColumns[colId] == undefined) {
|
|
1268
|
-
return acc;
|
|
1269
|
-
}
|
|
1270
|
-
}
|
|
1271
1307
|
acc[colId] = {
|
|
1272
1308
|
colId,
|
|
1273
1309
|
sort: customSort.SortOrder === 'Asc' ? 'asc' : 'desc',
|
|
@@ -1288,8 +1324,8 @@ class Adaptable {
|
|
|
1288
1324
|
[];
|
|
1289
1325
|
let isChanged = false;
|
|
1290
1326
|
const colsToAutoSize = {};
|
|
1291
|
-
let
|
|
1292
|
-
|
|
1327
|
+
let newColumnsState = this.getSortedColumnStateForVisibleColumns(columnsToShow, columnsState);
|
|
1328
|
+
newColumnsState = newColumnsState
|
|
1293
1329
|
.map((colState) => {
|
|
1294
1330
|
var _a, _b, _c, _d, _e;
|
|
1295
1331
|
const { colId } = colState;
|
|
@@ -1301,7 +1337,8 @@ class Adaptable {
|
|
|
1301
1337
|
if (layout.ColumnWidthMap && layout.ColumnWidthMap[colId] != null) {
|
|
1302
1338
|
newColState.width = layout.ColumnWidthMap[colId];
|
|
1303
1339
|
}
|
|
1304
|
-
else {
|
|
1340
|
+
else if (!hide) {
|
|
1341
|
+
// autosize only the columns which are part of the selected layout
|
|
1305
1342
|
colsToAutoSize[colId] = true;
|
|
1306
1343
|
}
|
|
1307
1344
|
newColState.rowGroupIndex =
|
|
@@ -1365,7 +1402,7 @@ class Adaptable {
|
|
|
1365
1402
|
// order changed
|
|
1366
1403
|
const toString = (c) => `${c.colId}-${c.rowGroupIndex}-${c.pivotIndex}-${c.aggFunc}-${c.pinned}-${c.width}-${c.hide}`;
|
|
1367
1404
|
const oldColStateString = columnsState.map(toString).join(',');
|
|
1368
|
-
const newColStateString =
|
|
1405
|
+
const newColStateString = newColumnsState.map(toString).join(',');
|
|
1369
1406
|
isChanged = newColStateString != oldColStateString;
|
|
1370
1407
|
}
|
|
1371
1408
|
const pivoted = !!layout.EnablePivot;
|
|
@@ -1396,7 +1433,7 @@ class Adaptable {
|
|
|
1396
1433
|
this.gridOptions.columnApi.getColumns().forEach((col) => {
|
|
1397
1434
|
const colDef = col.getColDef();
|
|
1398
1435
|
const colId = col.getColId();
|
|
1399
|
-
const abColumn = this.api.columnApi.
|
|
1436
|
+
const abColumn = this.api.columnApi.getColumnWithColumnId(colId);
|
|
1400
1437
|
const colSetupInfo = {
|
|
1401
1438
|
col,
|
|
1402
1439
|
colDef,
|
|
@@ -1418,7 +1455,7 @@ class Adaptable {
|
|
|
1418
1455
|
this.gridOptions.columnApi.setPivotMode(pivoted);
|
|
1419
1456
|
}
|
|
1420
1457
|
this.gridOptions.columnApi.applyColumnState({
|
|
1421
|
-
state:
|
|
1458
|
+
state: newColumnsState,
|
|
1422
1459
|
applyOrder: true,
|
|
1423
1460
|
});
|
|
1424
1461
|
this.api.gridApi.setColumnSorts(layout.ColumnSorts);
|
|
@@ -1431,14 +1468,7 @@ class Adaptable {
|
|
|
1431
1468
|
GridApi_setColumnDefs.call(this.gridOptions.api, this.gridOptions.api.getColumnDefs());
|
|
1432
1469
|
// these updates need to be at the end, the methods are based on the grid state/col defs
|
|
1433
1470
|
// the layout needs to be applied for them to work
|
|
1434
|
-
|
|
1435
|
-
ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(layout.ExpandedRowGroupValues)) {
|
|
1436
|
-
this.expandRowGroupsForValues(layout.ExpandedRowGroupValues);
|
|
1437
|
-
}
|
|
1438
|
-
if (this.adaptableOptions.layoutOptions.displayRowGroups === 'expanded') {
|
|
1439
|
-
this.expandAllRowGroups();
|
|
1440
|
-
}
|
|
1441
|
-
// this.updateColumnsIntoStore();// no longer needed
|
|
1471
|
+
this.updateRowGroupsExpandedState(layout);
|
|
1442
1472
|
}
|
|
1443
1473
|
const colsToAutoSizeArray = Object.keys(colsToAutoSize);
|
|
1444
1474
|
if (pivoted && ((_d = (_c = this.adaptableOptions) === null || _c === void 0 ? void 0 : _c.layoutOptions) === null || _d === void 0 ? void 0 : _d.autoSizeColumnsInPivotLayout)) {
|
|
@@ -1456,9 +1486,8 @@ class Adaptable {
|
|
|
1456
1486
|
(_a = this.gridOptions.columnApi) === null || _a === void 0 ? void 0 : _a.autoSizeAllColumns();
|
|
1457
1487
|
}, 200);
|
|
1458
1488
|
}, 100);
|
|
1459
|
-
return;
|
|
1460
1489
|
}
|
|
1461
|
-
if (((_f = (_e = this.adaptableOptions) === null || _e === void 0 ? void 0 : _e.layoutOptions) === null || _f === void 0 ? void 0 : _f.autoSizeColumnsInLayout) &&
|
|
1490
|
+
else if (((_f = (_e = this.adaptableOptions) === null || _e === void 0 ? void 0 : _e.layoutOptions) === null || _f === void 0 ? void 0 : _f.autoSizeColumnsInLayout) &&
|
|
1462
1491
|
colsToAutoSizeArray.length) {
|
|
1463
1492
|
(_g = this.gridOptions.columnApi) === null || _g === void 0 ? void 0 : _g.autoSizeColumns(colsToAutoSizeArray);
|
|
1464
1493
|
}
|
|
@@ -1468,13 +1497,26 @@ class Adaptable {
|
|
|
1468
1497
|
}
|
|
1469
1498
|
});
|
|
1470
1499
|
}
|
|
1500
|
+
updateRowGroupsExpandedState(layout) {
|
|
1501
|
+
if (!layout) {
|
|
1502
|
+
layout = this.api.layoutApi.getCurrentLayout();
|
|
1503
|
+
}
|
|
1504
|
+
if (this.api.layoutApi.internalApi.areExpandedRowGroupsSavedInLayouts() &&
|
|
1505
|
+
ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(layout.ExpandedRowGroupValues)) {
|
|
1506
|
+
this.expandRowGroupsForValues(layout.ExpandedRowGroupValues);
|
|
1507
|
+
}
|
|
1508
|
+
if (this.adaptableOptions.layoutOptions.displayRowGroups === 'expanded') {
|
|
1509
|
+
this.expandAllRowGroups();
|
|
1510
|
+
}
|
|
1511
|
+
}
|
|
1471
1512
|
/*
|
|
1472
1513
|
* This is the opposite of setLayout
|
|
1473
1514
|
*/
|
|
1474
1515
|
updateLayoutFromGrid() {
|
|
1516
|
+
var _a, _b;
|
|
1475
1517
|
const currentLayout = this.api.layoutApi.getCurrentLayout();
|
|
1476
1518
|
const layout = Object.assign({}, currentLayout);
|
|
1477
|
-
|
|
1519
|
+
let columnOrder = [];
|
|
1478
1520
|
const columnFlexes = {};
|
|
1479
1521
|
const pinnedColumns = {};
|
|
1480
1522
|
const columnSorts = [];
|
|
@@ -1524,6 +1566,12 @@ class Adaptable {
|
|
|
1524
1566
|
});
|
|
1525
1567
|
groupedColumns = groupedColumns.filter((x) => !!x);
|
|
1526
1568
|
pivotedColumns = pivotedColumns.filter((x) => !!x);
|
|
1569
|
+
if ((_b = (_a = this.adaptableOptions) === null || _a === void 0 ? void 0 : _a.generalOptions) === null || _b === void 0 ? void 0 : _b.restoreUngroupedColumns) {
|
|
1570
|
+
columnOrder = this.restoreUnGroupColumnOrder({
|
|
1571
|
+
columnOrder,
|
|
1572
|
+
newGroupColumns: groupedColumns,
|
|
1573
|
+
});
|
|
1574
|
+
}
|
|
1527
1575
|
layout.ColumnWidthMap = columnWidths;
|
|
1528
1576
|
// layout.ColumnFlexMap = columnFlexes;
|
|
1529
1577
|
layout.PinnedColumnsMap = pinnedColumns;
|
|
@@ -1532,11 +1580,14 @@ class Adaptable {
|
|
|
1532
1580
|
layout.RowGroupedColumns = groupedColumns;
|
|
1533
1581
|
if (Object.keys(aggregatedColumns).length) {
|
|
1534
1582
|
// ag-grid aggregations are not 1-1 with adaptable column-aggregations
|
|
1535
|
-
layout.AggregationColumns = this.
|
|
1583
|
+
layout.AggregationColumns = this.mapAggregationColumnsFromGrid(aggregatedColumns, currentLayout);
|
|
1584
|
+
}
|
|
1585
|
+
else {
|
|
1586
|
+
layout.AggregationColumns = {};
|
|
1536
1587
|
}
|
|
1537
1588
|
layout.EnablePivot = this.gridOptions.columnApi.isPivotMode();
|
|
1538
1589
|
layout.PivotColumns = pivotColumns;
|
|
1539
|
-
if (this.api.layoutApi.areExpandedRowGroupsSavedInLayouts()) {
|
|
1590
|
+
if (this.api.layoutApi.internalApi.areExpandedRowGroupsSavedInLayouts()) {
|
|
1540
1591
|
layout.ExpandedRowGroupValues = this.getExpandRowGroupsKeys();
|
|
1541
1592
|
}
|
|
1542
1593
|
this.persistLayout(layout);
|
|
@@ -1574,7 +1625,7 @@ class Adaptable {
|
|
|
1574
1625
|
for (const column of rangeSelection.columns) {
|
|
1575
1626
|
if (column != null) {
|
|
1576
1627
|
const colId = column.getColId();
|
|
1577
|
-
const selectedColumn = this.api.columnApi.
|
|
1628
|
+
const selectedColumn = this.api.columnApi.getColumnWithColumnId(colId);
|
|
1578
1629
|
if (selectedColumn &&
|
|
1579
1630
|
columns.find((c) => c.columnId == selectedColumn.columnId) == null) {
|
|
1580
1631
|
columns.push(selectedColumn);
|
|
@@ -1598,7 +1649,7 @@ class Adaptable {
|
|
|
1598
1649
|
columns: columns,
|
|
1599
1650
|
gridCells: selectedCells,
|
|
1600
1651
|
};
|
|
1601
|
-
this.api.internalApi.setSelectedCells(selectedCellInfo);
|
|
1652
|
+
this.api.gridApi.internalApi.setSelectedCells(selectedCellInfo);
|
|
1602
1653
|
this._emit('CellsSelected');
|
|
1603
1654
|
this.agGridHelper.fireSelectionChangedEvent();
|
|
1604
1655
|
return selectedCellInfo;
|
|
@@ -1633,7 +1684,7 @@ class Adaptable {
|
|
|
1633
1684
|
});
|
|
1634
1685
|
}
|
|
1635
1686
|
const selectedRowInfo = { gridRows: selectedRows };
|
|
1636
|
-
this.api.internalApi.setSelectedRows(selectedRowInfo);
|
|
1687
|
+
this.api.gridApi.internalApi.setSelectedRows(selectedRowInfo);
|
|
1637
1688
|
this.agGridHelper.fireSelectionChangedEvent();
|
|
1638
1689
|
return selectedRowInfo;
|
|
1639
1690
|
}
|
|
@@ -1778,7 +1829,7 @@ class Adaptable {
|
|
|
1778
1829
|
let permittedMap = new Map();
|
|
1779
1830
|
// check if there are permitted column values for that column
|
|
1780
1831
|
// NB. this currently contains a small bug as we dont check for visibility so if using permitted values then ALL are returned :(
|
|
1781
|
-
const abColumn = this.api.columnApi.
|
|
1832
|
+
const abColumn = this.api.columnApi.getColumnWithColumnId(columnId);
|
|
1782
1833
|
const permittedValuesForColumn = this.api.userInterfaceApi.getPermittedValuesForColumn(abColumn);
|
|
1783
1834
|
if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(permittedValuesForColumn)) {
|
|
1784
1835
|
permittedValuesForColumn.forEach((pv) => {
|
|
@@ -1832,23 +1883,6 @@ class Adaptable {
|
|
|
1832
1883
|
return undefined;
|
|
1833
1884
|
}
|
|
1834
1885
|
}
|
|
1835
|
-
isCustomRenderedColumn(column) {
|
|
1836
|
-
if (!column || column.isGrouped) {
|
|
1837
|
-
return false;
|
|
1838
|
-
}
|
|
1839
|
-
// we need to return false if the column has a cell renderer i think...
|
|
1840
|
-
const colDef = this.gridOptions.api.getColumnDef(column.columnId);
|
|
1841
|
-
if (colDef && colDef.cellRenderer != null) {
|
|
1842
|
-
return true;
|
|
1843
|
-
}
|
|
1844
|
-
if (this.api.columnApi.isFormatNumericStyleColumn(column)) {
|
|
1845
|
-
return true;
|
|
1846
|
-
}
|
|
1847
|
-
if (this.api.columnApi.isBooleanColumn(column)) {
|
|
1848
|
-
return true;
|
|
1849
|
-
}
|
|
1850
|
-
return false;
|
|
1851
|
-
}
|
|
1852
1886
|
getDisplayValue(primaryKey, columnId) {
|
|
1853
1887
|
let returnValue;
|
|
1854
1888
|
if (this.useRowNodeLookUp) {
|
|
@@ -1873,15 +1907,15 @@ class Adaptable {
|
|
|
1873
1907
|
if (rowNode == null) {
|
|
1874
1908
|
return undefined;
|
|
1875
1909
|
}
|
|
1876
|
-
const abColumn = this.api.columnApi.
|
|
1910
|
+
const abColumn = this.api.columnApi.getColumnWithColumnId(columnId);
|
|
1877
1911
|
const pkValue = this.getPrimaryKeyValueFromRowNode(rowNode);
|
|
1878
1912
|
const rawValue = this.getRawValueFromRowNode(rowNode, columnId);
|
|
1879
1913
|
const displayValue = this.getDisplayValueFromRawValue(rowNode, columnId, rawValue);
|
|
1880
|
-
const
|
|
1914
|
+
const normalisedValue = this.getNormalisedValueFromRawValue(rawValue, abColumn);
|
|
1881
1915
|
return {
|
|
1882
1916
|
rawValue: rawValue,
|
|
1883
1917
|
displayValue: displayValue,
|
|
1884
|
-
normalisedValue:
|
|
1918
|
+
normalisedValue: normalisedValue,
|
|
1885
1919
|
column: abColumn,
|
|
1886
1920
|
primaryKeyValue: pkValue,
|
|
1887
1921
|
rowNode: rowNode,
|
|
@@ -1895,15 +1929,16 @@ class Adaptable {
|
|
|
1895
1929
|
return this.getDisplayValueFromRawValue(rowNode, columnId, rawValue);
|
|
1896
1930
|
}
|
|
1897
1931
|
getDisplayValueFromRawValue(rowNode, columnId, rawValue) {
|
|
1898
|
-
|
|
1899
|
-
const
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1932
|
+
// no need for this case, it's handled below after the ActionColumn logic
|
|
1933
|
+
// const abColumn: AdaptableColumn = this.api.columnApi.getColumnWithColumnId(columnId);
|
|
1934
|
+
// const isCustomRenderedColumn = this.api.styledColumnApi.hasPercentBarStyle(columnId);
|
|
1935
|
+
// if (isCustomRenderedColumn) {
|
|
1936
|
+
// const colDef = this.gridOptions.api!.getColumnDef(columnId);
|
|
1937
|
+
// if (typeof colDef.valueFormatter == 'function') {
|
|
1938
|
+
// return this.getFormattedValue(rowNode, rawValue, columnId, colDef, colDef.valueFormatter);
|
|
1939
|
+
// }
|
|
1940
|
+
// return this.agGridHelper.getCleanValue(rawValue);
|
|
1941
|
+
// }
|
|
1907
1942
|
const isActionColumn = this.api.columnApi.isActionColumn(columnId);
|
|
1908
1943
|
if (isActionColumn) {
|
|
1909
1944
|
return this.agGridHelper.getCleanValue(rawValue);
|
|
@@ -1942,7 +1977,7 @@ class Adaptable {
|
|
|
1942
1977
|
};
|
|
1943
1978
|
return formatterFn(params);
|
|
1944
1979
|
}
|
|
1945
|
-
|
|
1980
|
+
getNormalisedValueFromRawValue(rawValue, column) {
|
|
1946
1981
|
if (!column) {
|
|
1947
1982
|
return rawValue;
|
|
1948
1983
|
}
|
|
@@ -2015,9 +2050,13 @@ class Adaptable {
|
|
|
2015
2050
|
}
|
|
2016
2051
|
return rowNodes;
|
|
2017
2052
|
}
|
|
2018
|
-
forAllRowNodesDo(func) {
|
|
2053
|
+
forAllRowNodesDo(func, config) {
|
|
2019
2054
|
this.gridOptions.api.forEachNode((rowNode) => {
|
|
2020
|
-
|
|
2055
|
+
const includeGroupRows = (config === null || config === void 0 ? void 0 : config.includeGroupRows) || !this.isGroupRowNode(rowNode);
|
|
2056
|
+
const filterFnFulfilled = !(config === null || config === void 0 ? void 0 : config.filterFn) || (config === null || config === void 0 ? void 0 : config.filterFn(rowNode));
|
|
2057
|
+
if (includeGroupRows && filterFnFulfilled) {
|
|
2058
|
+
func(rowNode);
|
|
2059
|
+
}
|
|
2021
2060
|
});
|
|
2022
2061
|
}
|
|
2023
2062
|
forAllVisibleRowNodesDo(func) {
|
|
@@ -2034,13 +2073,7 @@ class Adaptable {
|
|
|
2034
2073
|
}
|
|
2035
2074
|
getAllRowNodes(config) {
|
|
2036
2075
|
let rowNodes = [];
|
|
2037
|
-
this.
|
|
2038
|
-
const includeGroupRows = (config === null || config === void 0 ? void 0 : config.includeGroupRows) || !this.isGroupRowNode(rowNode);
|
|
2039
|
-
const filterFnFulfilled = !(config === null || config === void 0 ? void 0 : config.filterFn) || (config === null || config === void 0 ? void 0 : config.filterFn(rowNode));
|
|
2040
|
-
if (includeGroupRows && filterFnFulfilled) {
|
|
2041
|
-
rowNodes.push(rowNode);
|
|
2042
|
-
}
|
|
2043
|
-
});
|
|
2076
|
+
this.forAllRowNodesDo((rowNode) => rowNodes.push(rowNode), config);
|
|
2044
2077
|
return rowNodes;
|
|
2045
2078
|
}
|
|
2046
2079
|
getRowsInViewport() {
|
|
@@ -2129,6 +2162,9 @@ class Adaptable {
|
|
|
2129
2162
|
};
|
|
2130
2163
|
api.refreshCells(refreshCellParams);
|
|
2131
2164
|
}
|
|
2165
|
+
refreshColumns(columns, forceUpdate, suppressFlash) {
|
|
2166
|
+
this.refreshCells(null, columns, forceUpdate, suppressFlash);
|
|
2167
|
+
}
|
|
2132
2168
|
jumpToRow(rowNode) {
|
|
2133
2169
|
this.gridOptions.api.ensureNodeVisible(rowNode, 'middle');
|
|
2134
2170
|
}
|
|
@@ -2149,7 +2185,7 @@ class Adaptable {
|
|
|
2149
2185
|
}
|
|
2150
2186
|
getColDefsForFreeTextColumns() {
|
|
2151
2187
|
const defaultFreeTextColumnSettings = (0, ObjectFactory_1.CreateEmptyFreeTextColumn)().FreeTextColumnSettings;
|
|
2152
|
-
return this.api.freeTextColumnApi.
|
|
2188
|
+
return this.api.freeTextColumnApi.getFreeTextColumns().map((freeTextColumn) => {
|
|
2153
2189
|
var _a;
|
|
2154
2190
|
const freeTextColumnSettings = Object.assign(Object.assign({}, defaultFreeTextColumnSettings), freeTextColumn.FreeTextColumnSettings);
|
|
2155
2191
|
const dataTypeEditor = freeTextColumn.DataType === 'Number'
|
|
@@ -2189,7 +2225,7 @@ class Adaptable {
|
|
|
2189
2225
|
cellRenderer: freeTextColumn.DataType && freeTextColumn.DataType == 'Boolean'
|
|
2190
2226
|
? this.agGridHelper.createCheckboxRendererComp(freeTextColumn.ColumnId, false)
|
|
2191
2227
|
: undefined,
|
|
2192
|
-
valueGetter: (params) => this.api.freeTextColumnApi.
|
|
2228
|
+
valueGetter: (params) => this.api.freeTextColumnApi.getFreeTextColumnValueForRowNode(freeTextColumn, params.node),
|
|
2193
2229
|
};
|
|
2194
2230
|
if (freeTextColumnSettings.HeaderToolTip) {
|
|
2195
2231
|
newColDef.headerTooltip = freeTextColumnSettings.HeaderToolTip;
|
|
@@ -2215,61 +2251,68 @@ class Adaptable {
|
|
|
2215
2251
|
}
|
|
2216
2252
|
}
|
|
2217
2253
|
getColDefsForRowEditColumns() {
|
|
2218
|
-
const actionRowButtons = this.
|
|
2254
|
+
const actionRowButtons = this.api.actionApi.getActionRowButtons();
|
|
2219
2255
|
if (!(actionRowButtons === null || actionRowButtons === void 0 ? void 0 : actionRowButtons.length)) {
|
|
2220
2256
|
return [];
|
|
2221
2257
|
}
|
|
2258
|
+
const defaultEditButtonConfiguration = {
|
|
2259
|
+
create: {
|
|
2260
|
+
icon: {
|
|
2261
|
+
name: 'add-row',
|
|
2262
|
+
},
|
|
2263
|
+
tooltip: 'Create',
|
|
2264
|
+
onClick: () => {
|
|
2265
|
+
this.api.actionApi.displayCreateActionRow();
|
|
2266
|
+
},
|
|
2267
|
+
},
|
|
2268
|
+
edit: {
|
|
2269
|
+
icon: {
|
|
2270
|
+
name: 'edit',
|
|
2271
|
+
},
|
|
2272
|
+
tooltip: 'Edit',
|
|
2273
|
+
onClick: (button, context) => {
|
|
2274
|
+
this.api.actionApi.displayEditActionRow(context.primaryKeyValue);
|
|
2275
|
+
},
|
|
2276
|
+
},
|
|
2277
|
+
clone: {
|
|
2278
|
+
icon: {
|
|
2279
|
+
name: 'clone',
|
|
2280
|
+
},
|
|
2281
|
+
tooltip: 'Clone',
|
|
2282
|
+
onClick: (button, context) => {
|
|
2283
|
+
this.api.actionApi.displayCloneActionRow(context.primaryKeyValue);
|
|
2284
|
+
},
|
|
2285
|
+
},
|
|
2286
|
+
delete: {
|
|
2287
|
+
icon: {
|
|
2288
|
+
name: 'delete',
|
|
2289
|
+
},
|
|
2290
|
+
tooltip: 'Delete',
|
|
2291
|
+
onClick: (button, context) => {
|
|
2292
|
+
var _a, _b;
|
|
2293
|
+
const eventInfo = {
|
|
2294
|
+
type: 'rowDeleted',
|
|
2295
|
+
rowNode: context.rowNode,
|
|
2296
|
+
adaptableApi: context.adaptableApi,
|
|
2297
|
+
};
|
|
2298
|
+
this.api.eventApi.emit('ActionRowSubmitted', eventInfo);
|
|
2299
|
+
(_b = (_a = this.adaptableOptions.actionOptions.actionRowButtonOptions.actionRowFormOptions).onFormSubmit) === null || _b === void 0 ? void 0 : _b.call(_a, eventInfo);
|
|
2300
|
+
},
|
|
2301
|
+
},
|
|
2302
|
+
};
|
|
2222
2303
|
const editButtons = actionRowButtons
|
|
2223
|
-
.map((
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
? {
|
|
2236
|
-
icon: {
|
|
2237
|
-
name: 'edit',
|
|
2238
|
-
},
|
|
2239
|
-
tooltip: 'Edit',
|
|
2240
|
-
onClick: (button, context) => {
|
|
2241
|
-
this.api.actionApi.displayEditActionRow(context.primaryKeyValue);
|
|
2242
|
-
},
|
|
2243
|
-
}
|
|
2244
|
-
: buttonName === 'clone'
|
|
2245
|
-
? {
|
|
2246
|
-
icon: {
|
|
2247
|
-
name: 'clone',
|
|
2248
|
-
},
|
|
2249
|
-
tooltip: 'Clone',
|
|
2250
|
-
onClick: (button, context) => {
|
|
2251
|
-
this.api.actionApi.displayCloneActionRow(context.primaryKeyValue);
|
|
2252
|
-
},
|
|
2253
|
-
}
|
|
2254
|
-
: buttonName === 'delete'
|
|
2255
|
-
? {
|
|
2256
|
-
icon: {
|
|
2257
|
-
name: 'delete',
|
|
2258
|
-
},
|
|
2259
|
-
tooltip: 'Delete',
|
|
2260
|
-
onClick: (button, context) => {
|
|
2261
|
-
var _a, _b;
|
|
2262
|
-
const eventInfo = {
|
|
2263
|
-
type: 'rowDeleted',
|
|
2264
|
-
rowNode: context.rowNode,
|
|
2265
|
-
adaptableApi: context.adaptableApi,
|
|
2266
|
-
};
|
|
2267
|
-
this.api.eventApi.emit('ActionRowSubmitted', eventInfo);
|
|
2268
|
-
(_b = (_a = this.adaptableOptions.actionOptions.actionRowFormOptions).onFormSubmit) === null || _b === void 0 ? void 0 : _b.call(_a, eventInfo);
|
|
2269
|
-
},
|
|
2270
|
-
}
|
|
2271
|
-
: undefined;
|
|
2272
|
-
return button;
|
|
2304
|
+
.map((actionRowButtonType) => {
|
|
2305
|
+
var _a, _b;
|
|
2306
|
+
const defaultButtonConfig = defaultEditButtonConfiguration[actionRowButtonType];
|
|
2307
|
+
if (!defaultButtonConfig) {
|
|
2308
|
+
// should NOT happen unless the user sent some invalid button type in the predefined config
|
|
2309
|
+
return;
|
|
2310
|
+
}
|
|
2311
|
+
const customButtonConfig = (_b = (_a = this.adaptableOptions.actionOptions.actionRowButtonOptions).customConfiguration) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
|
2312
|
+
adaptableApi: this.api,
|
|
2313
|
+
actionRowButtonType,
|
|
2314
|
+
});
|
|
2315
|
+
return Object.assign(Object.assign({}, defaultButtonConfig), customButtonConfig);
|
|
2273
2316
|
})
|
|
2274
2317
|
.filter(Boolean);
|
|
2275
2318
|
if (!editButtons.length) {
|
|
@@ -2285,8 +2328,8 @@ class Adaptable {
|
|
|
2285
2328
|
colId: GeneralConstants_1.ADAPTABLE_ROW_ACTION_BUTTONS,
|
|
2286
2329
|
hide: false,
|
|
2287
2330
|
editable: false,
|
|
2288
|
-
//
|
|
2289
|
-
width: editButtons.length * (UIHelper_1.default.getSimpleButtonPaddingWidth() * 2 +
|
|
2331
|
+
// 15px is the icon width + left&right padding + left&right border
|
|
2332
|
+
width: editButtons.length * (UIHelper_1.default.getSimpleButtonPaddingWidth() * 2 + 15) + 2,
|
|
2290
2333
|
resizable: false,
|
|
2291
2334
|
lockVisible: true,
|
|
2292
2335
|
suppressColumnsToolPanel: true,
|
|
@@ -2296,10 +2339,10 @@ class Adaptable {
|
|
|
2296
2339
|
filter: false,
|
|
2297
2340
|
sortable: false,
|
|
2298
2341
|
enableRowGroup: false,
|
|
2299
|
-
pinned: this.adaptableOptions.actionOptions.
|
|
2342
|
+
pinned: this.adaptableOptions.actionOptions.actionRowButtonOptions.position === 'pinnedRight'
|
|
2300
2343
|
? 'right'
|
|
2301
2344
|
: 'left',
|
|
2302
|
-
cellRenderer: ActionColumnRenderer_1.ActionColumnRenderer,
|
|
2345
|
+
cellRenderer: this.variant === 'react' ? ActionColumnRenderer_1.ReactActionColumnRenderer : ActionColumnRenderer_1.ActionColumnRenderer,
|
|
2303
2346
|
cellRendererParams: {
|
|
2304
2347
|
actionColumn: rowEditActionColumn,
|
|
2305
2348
|
},
|
|
@@ -2314,7 +2357,7 @@ class Adaptable {
|
|
|
2314
2357
|
suppressMenu: false,
|
|
2315
2358
|
suppressMovable: false,
|
|
2316
2359
|
};
|
|
2317
|
-
return this.api.actionApi.
|
|
2360
|
+
return this.api.actionApi.getActionColumns().map((actionColumn) => {
|
|
2318
2361
|
const actionColumnSettings = Object.assign(Object.assign({}, defaultActionColumnSettings), actionColumn.actionColumnSettings);
|
|
2319
2362
|
const newColDef = {
|
|
2320
2363
|
headerName: actionColumn.friendlyName ? actionColumn.friendlyName : actionColumn.columnId,
|
|
@@ -2328,7 +2371,7 @@ class Adaptable {
|
|
|
2328
2371
|
filter: false,
|
|
2329
2372
|
sortable: false,
|
|
2330
2373
|
enableRowGroup: false,
|
|
2331
|
-
cellRenderer: ActionColumnRenderer_1.ActionColumnRenderer,
|
|
2374
|
+
cellRenderer: this.variant === 'react' ? ActionColumnRenderer_1.ReactActionColumnRenderer : ActionColumnRenderer_1.ActionColumnRenderer,
|
|
2332
2375
|
type: [GeneralConstants_1.AB_SPECIAL_COLUMN, 'abColDefObject'],
|
|
2333
2376
|
};
|
|
2334
2377
|
(0, LoggingHelper_1.LogAdaptableInfo)('Setting up Action Column: ' + actionColumn.columnId);
|
|
@@ -2391,7 +2434,7 @@ class Adaptable {
|
|
|
2391
2434
|
}
|
|
2392
2435
|
getColDefsForCalculatedColumns() {
|
|
2393
2436
|
const defaultCalculatedColumnSettings = (0, ObjectFactory_1.CreateEmptyCalculatedColumn)().CalculatedColumnSettings;
|
|
2394
|
-
return this.api.calculatedColumnApi.
|
|
2437
|
+
return this.api.calculatedColumnApi.getCalculatedColumns().map((calculatedColumn) => {
|
|
2395
2438
|
const calculatedColumnSettings = Object.assign(Object.assign({}, defaultCalculatedColumnSettings), calculatedColumn.CalculatedColumnSettings);
|
|
2396
2439
|
if (!calculatedColumnSettings.DataType) {
|
|
2397
2440
|
calculatedColumnSettings.DataType =
|
|
@@ -2404,7 +2447,7 @@ class Adaptable {
|
|
|
2404
2447
|
if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(calculatedColumnSettings.ColumnTypes)) {
|
|
2405
2448
|
columnTypes.push(...calculatedColumnSettings.ColumnTypes);
|
|
2406
2449
|
}
|
|
2407
|
-
const isExternalEvaluation = !this.api.internalApi.evaluateExpressionInAdaptableQL('CalculatedColumn', this.api.queryLanguageApi.getAdaptableQueryExpression(calculatedColumn.Query));
|
|
2450
|
+
const isExternalEvaluation = !this.api.queryLanguageApi.internalApi.evaluateExpressionInAdaptableQL('CalculatedColumn', this.api.queryLanguageApi.getAdaptableQueryExpression(calculatedColumn.Query));
|
|
2408
2451
|
const newColDef = {
|
|
2409
2452
|
headerName: calculatedColumn.FriendlyName
|
|
2410
2453
|
? calculatedColumn.FriendlyName
|
|
@@ -2489,7 +2532,7 @@ class Adaptable {
|
|
|
2489
2532
|
return this.gridOptions.api.getDisplayedRowAtIndex(firstDisplayedRowIndex);
|
|
2490
2533
|
}
|
|
2491
2534
|
destroy(config) {
|
|
2492
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
|
|
2535
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
|
|
2493
2536
|
if (this.gridOptions && this.gridOptions.api) {
|
|
2494
2537
|
this.gridOptions.api.removeEventListener(core_1.Events.EVENT_FIRST_DATA_RENDERED, this.listenerFirstDataRendered);
|
|
2495
2538
|
this.gridOptions.api.removeEventListener(core_1.Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, this.listenerPivotModeChanged);
|
|
@@ -2563,37 +2606,37 @@ class Adaptable {
|
|
|
2563
2606
|
return;
|
|
2564
2607
|
}
|
|
2565
2608
|
if (abContainerElement != null) {
|
|
2566
|
-
|
|
2609
|
+
(_a = this.unmountReactRoot) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
2567
2610
|
}
|
|
2568
2611
|
this.gridContainerElement = null;
|
|
2569
2612
|
this.abContainerElement = null;
|
|
2570
|
-
(
|
|
2613
|
+
(_b = this.adaptableStore) === null || _b === void 0 ? void 0 : _b.destroy();
|
|
2571
2614
|
this.adaptableStore = null;
|
|
2572
2615
|
this.gridOptions = null;
|
|
2573
2616
|
this.adaptableOptions = null;
|
|
2574
|
-
(
|
|
2617
|
+
(_d = (_c = this.CalculatedColumnExpressionService) === null || _c === void 0 ? void 0 : _c.destroy) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
2575
2618
|
this.CalculatedColumnExpressionService = null;
|
|
2576
|
-
(
|
|
2619
|
+
(_f = (_e = this.DataService) === null || _e === void 0 ? void 0 : _e.destroy) === null || _f === void 0 ? void 0 : _f.call(_e);
|
|
2577
2620
|
this.DataService = null;
|
|
2578
|
-
(
|
|
2621
|
+
(_h = (_g = this.EntitlementService) === null || _g === void 0 ? void 0 : _g.destroy) === null || _h === void 0 ? void 0 : _h.call(_g);
|
|
2579
2622
|
this.EntitlementService = null;
|
|
2580
|
-
(
|
|
2623
|
+
(_k = (_j = this.ReportService) === null || _j === void 0 ? void 0 : _j.destroy) === null || _k === void 0 ? void 0 : _k.call(_j);
|
|
2581
2624
|
this.ReportService = null;
|
|
2582
|
-
(
|
|
2625
|
+
(_m = (_l = this.ModuleService) === null || _l === void 0 ? void 0 : _l.destroy) === null || _m === void 0 ? void 0 : _m.call(_l);
|
|
2583
2626
|
this.ModuleService = null;
|
|
2584
|
-
(
|
|
2627
|
+
(_p = (_o = this.ValidationService) === null || _o === void 0 ? void 0 : _o.destroy) === null || _p === void 0 ? void 0 : _p.call(_o);
|
|
2585
2628
|
this.ValidationService = null;
|
|
2586
|
-
(
|
|
2629
|
+
(_r = (_q = this.QueryLanguageService) === null || _q === void 0 ? void 0 : _q.destroy) === null || _r === void 0 ? void 0 : _r.call(_q);
|
|
2587
2630
|
this.QueryLanguageService = null;
|
|
2588
|
-
(
|
|
2631
|
+
(_t = (_s = this.AlertService) === null || _s === void 0 ? void 0 : _s.destroy) === null || _t === void 0 ? void 0 : _t.call(_s);
|
|
2589
2632
|
this.AlertService = null;
|
|
2590
|
-
(
|
|
2633
|
+
(_v = (_u = this.TeamSharingService) === null || _u === void 0 ? void 0 : _u.destroy) === null || _v === void 0 ? void 0 : _v.call(_u);
|
|
2591
2634
|
this.TeamSharingService = null;
|
|
2592
|
-
(
|
|
2635
|
+
(_x = (_w = this.RowEditService) === null || _w === void 0 ? void 0 : _w.destroy) === null || _x === void 0 ? void 0 : _x.call(_w);
|
|
2593
2636
|
this.RowEditService = null;
|
|
2594
|
-
(
|
|
2637
|
+
(_z = (_y = this.MetamodelService) === null || _y === void 0 ? void 0 : _y.destroy) === null || _z === void 0 ? void 0 : _z.call(_y);
|
|
2595
2638
|
this.MetamodelService = null;
|
|
2596
|
-
(
|
|
2639
|
+
(_1 = (_0 = this.LicenseService) === null || _0 === void 0 ? void 0 : _0.destroy) === null || _1 === void 0 ? void 0 : _1.call(_0);
|
|
2597
2640
|
this.LicenseService = null;
|
|
2598
2641
|
this.isDestroyed = true;
|
|
2599
2642
|
}
|
|
@@ -2793,9 +2836,13 @@ class Adaptable {
|
|
|
2793
2836
|
* Action: Make the column invisible
|
|
2794
2837
|
*/
|
|
2795
2838
|
this.gridOptions.api.addEventListener(core_1.Events.EVENT_COLUMN_ROW_GROUP_CHANGED, (this.listenerColumnRowGroupChanged = (params) => {
|
|
2839
|
+
var _a, _b;
|
|
2796
2840
|
if (this.api.internalApi.isGridInPivotMode()) {
|
|
2797
2841
|
return;
|
|
2798
2842
|
}
|
|
2843
|
+
if ((_b = (_a = this.adaptableOptions) === null || _a === void 0 ? void 0 : _a.generalOptions) === null || _b === void 0 ? void 0 : _b.restoreUngroupedColumns) {
|
|
2844
|
+
this.persistColumnIndexBeforeGrouping(params);
|
|
2845
|
+
}
|
|
2799
2846
|
if (this.adaptableOptions.columnOptions.hideColumnWhenGrouped === true &&
|
|
2800
2847
|
params.source !== 'api') {
|
|
2801
2848
|
params.columns.forEach((col) => {
|
|
@@ -2867,6 +2914,23 @@ class Adaptable {
|
|
|
2867
2914
|
}
|
|
2868
2915
|
}
|
|
2869
2916
|
}));
|
|
2917
|
+
const eventsThatTriggerChartingChanges = [
|
|
2918
|
+
core_1.Events.EVENT_CHART_CREATED,
|
|
2919
|
+
/** Chart Range selection has changed */
|
|
2920
|
+
core_1.Events.EVENT_CHART_RANGE_SELECTION_CHANGED,
|
|
2921
|
+
/** Chart Options have changed */
|
|
2922
|
+
core_1.Events.EVENT_CHART_OPTIONS_CHANGED,
|
|
2923
|
+
/** Chart was destroyed */
|
|
2924
|
+
core_1.Events.EVENT_CHART_DESTROYED,
|
|
2925
|
+
];
|
|
2926
|
+
const chartingModule = this.ModuleService.getModuleById('Charting');
|
|
2927
|
+
if (chartingModule.isModuleAvailable()) {
|
|
2928
|
+
this.gridOptions.api.addGlobalListener((type, params) => {
|
|
2929
|
+
if (ArrayExtensions_1.ArrayExtensions.ContainsItem(eventsThatTriggerChartingChanges, type)) {
|
|
2930
|
+
this.ChartingService.onChartModelChange(this.getChartModels(), type, params);
|
|
2931
|
+
}
|
|
2932
|
+
});
|
|
2933
|
+
}
|
|
2870
2934
|
/**
|
|
2871
2935
|
* Row and Cell listeners created in 2020
|
|
2872
2936
|
* These have supplanted many of the events we previously had and simplified things
|
|
@@ -2914,7 +2978,7 @@ class Adaptable {
|
|
|
2914
2978
|
if (!this.isGroupRowNode(node)) {
|
|
2915
2979
|
const currentQuery = this.api.queryApi.getCurrentQuery();
|
|
2916
2980
|
if (currentQuery) {
|
|
2917
|
-
const evaluateQueryOnClient = this.api.internalApi.evaluateExpressionInAdaptableQL('Query', currentQuery);
|
|
2981
|
+
const evaluateQueryOnClient = this.api.queryLanguageApi.internalApi.evaluateExpressionInAdaptableQL('Query', currentQuery);
|
|
2918
2982
|
if (evaluateQueryOnClient) {
|
|
2919
2983
|
const isCurrentQueryValid = this.api.queryLanguageApi.isValidBooleanExpression(currentQuery, ModuleConstants_1.QueryModuleId, `Invalid CurrentQuery '${currentQuery}'`);
|
|
2920
2984
|
if (!isCurrentQueryValid ||
|
|
@@ -2926,14 +2990,14 @@ class Adaptable {
|
|
|
2926
2990
|
}
|
|
2927
2991
|
}
|
|
2928
2992
|
}
|
|
2929
|
-
const evaluateFilterOnClient = this.api.internalApi.evaluateExpressionInAdaptableQL('Filter');
|
|
2993
|
+
const evaluateFilterOnClient = this.api.queryLanguageApi.internalApi.evaluateExpressionInAdaptableQL('Filter');
|
|
2930
2994
|
try {
|
|
2931
2995
|
// we then assess filters (if running locally)
|
|
2932
2996
|
if (evaluateFilterOnClient) {
|
|
2933
2997
|
const columnFilters = this.api.filterApi.getActiveColumnFilters();
|
|
2934
2998
|
if (columnFilters.length > 0) {
|
|
2935
2999
|
for (const columnFilter of columnFilters) {
|
|
2936
|
-
if (!this.api.filterApi.evaluateColumnFilter(columnFilter, node)) {
|
|
3000
|
+
if (!this.api.filterApi.internalApi.evaluateColumnFilter(columnFilter, node)) {
|
|
2937
3001
|
return false;
|
|
2938
3002
|
}
|
|
2939
3003
|
}
|
|
@@ -3019,7 +3083,7 @@ class Adaptable {
|
|
|
3019
3083
|
cols.forEach((col) => {
|
|
3020
3084
|
const colDef = col.getColDef();
|
|
3021
3085
|
const colId = col.getColId();
|
|
3022
|
-
const abColumn = this.api.columnApi.
|
|
3086
|
+
const abColumn = this.api.columnApi.getColumnWithColumnId(colId);
|
|
3023
3087
|
const colSetupInfo = {
|
|
3024
3088
|
col,
|
|
3025
3089
|
colDef,
|
|
@@ -3139,16 +3203,18 @@ class Adaptable {
|
|
|
3139
3203
|
fontSize: null,
|
|
3140
3204
|
borderColor: null,
|
|
3141
3205
|
};
|
|
3142
|
-
const
|
|
3143
|
-
|
|
3206
|
+
const activeFormatColumnsWithStyle = this.api.formatColumnApi.internalApi.getFormatColumnsWithStyleForColumn(abColumn);
|
|
3207
|
+
let styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(colId);
|
|
3208
|
+
if (styledColumn === null || styledColumn === void 0 ? void 0 : styledColumn.IsSuspended) {
|
|
3209
|
+
styledColumn = null;
|
|
3210
|
+
}
|
|
3144
3211
|
const quickSearchStyle = this.getQuickSearchCellStyle();
|
|
3145
3212
|
const hasQuickSearchStyle = quickSearchStyle != undefined;
|
|
3146
3213
|
const cellStyle = (params) => {
|
|
3147
|
-
const formatColumnCellStyle = formatColumn
|
|
3148
|
-
? this.getFormatColumnCellStyle(abColumn, formatColumn, params)
|
|
3149
|
-
: undefined;
|
|
3150
3214
|
const isQuickSearchActive = hasQuickSearchStyle && this.isQuickSearchActive(abColumn, params);
|
|
3151
|
-
const result = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, defaultCellStyle), this.getReadOnlyCellStyle(abColumn, params)), this.getEditableCellStyle(abColumn, params)), (typeof userCellStyle === 'function' ? userCellStyle(params) : userCellStyle)),
|
|
3215
|
+
const result = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, defaultCellStyle), this.getReadOnlyCellStyle(abColumn, params)), this.getEditableCellStyle(abColumn, params)), (typeof userCellStyle === 'function' ? userCellStyle(params) : userCellStyle)), (!styledColumn
|
|
3216
|
+
? this.getFormatColumnCellStyle(abColumn, activeFormatColumnsWithStyle, params)
|
|
3217
|
+
: {})), (styledColumn ? this.getStyledColumnStyle(styledColumn, abColumn, params) : {})), (isQuickSearchActive ? quickSearchStyle : {})), this.getAlertCellStyle(abColumn, params)), this.getFlashingCellStyle(abColumn, params)), this.getCellHighlightStyle(abColumn, params));
|
|
3152
3218
|
return result;
|
|
3153
3219
|
};
|
|
3154
3220
|
return cellStyle;
|
|
@@ -3156,13 +3222,7 @@ class Adaptable {
|
|
|
3156
3222
|
}
|
|
3157
3223
|
setupColumnCellClass({ col, colId, abColumn }) {
|
|
3158
3224
|
this.setColDefProperty(col, 'cellClass', (userCellClass) => {
|
|
3159
|
-
|
|
3160
|
-
const formatColumn = this.api.formatColumnApi.getFormatColumnWithStyleClassNameForColumn(abColumn);
|
|
3161
|
-
const formatColumnStyleClassName = formatColumn && !formatColumn.IsSuspended ? (_a = formatColumn.Style) === null || _a === void 0 ? void 0 : _a.ClassName : null;
|
|
3162
|
-
const conditionalStyles = this.api.conditionalStyleApi
|
|
3163
|
-
.getConditionalStylesForColumn(abColumn)
|
|
3164
|
-
.filter((cs) => StringExtensions_1.StringExtensions.IsNotNullOrEmpty(cs.Style.ClassName));
|
|
3165
|
-
const hasConditionalStylesWithClassNames = ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(conditionalStyles);
|
|
3225
|
+
const formatColumns = this.api.formatColumnApi.internalApi.getFormatColumnWithStyleClassNameForColumn(abColumn);
|
|
3166
3226
|
const quickSearchStyleClassName = this.api.quickSearchApi.getQuickSearchStyle().ClassName;
|
|
3167
3227
|
const hasQuickSearchStyleClassName = StringExtensions_1.StringExtensions.IsNotNullOrEmpty(quickSearchStyleClassName);
|
|
3168
3228
|
const cellClass = (params) => {
|
|
@@ -3172,12 +3232,13 @@ class Adaptable {
|
|
|
3172
3232
|
const readonlyClassName = this.getReadonlyCellClass(abColumn, params);
|
|
3173
3233
|
const highlightAlertClassName = this.getAlertCellClass(abColumn, params);
|
|
3174
3234
|
const flashingClassName = this.getFlashingCellClass(abColumn, params);
|
|
3235
|
+
const styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(colId);
|
|
3236
|
+
const hasStyledColumn = !!styledColumn && !styledColumn.IsSuspended;
|
|
3175
3237
|
const returnValue = [
|
|
3176
3238
|
this.getExcelClassNameForCell(colId, primaryKeyValue),
|
|
3177
3239
|
typeof userCellClass === 'function' ? userCellClass(params) : userCellClass,
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
? this.getConditionalStyleCellClass(conditionalStyles, abColumn, params)
|
|
3240
|
+
!hasStyledColumn && formatColumns.length
|
|
3241
|
+
? this.getFormatColumnCellClass(formatColumns, abColumn, params)
|
|
3181
3242
|
: null,
|
|
3182
3243
|
isQuickSearchActive ? quickSearchStyleClassName : null,
|
|
3183
3244
|
editableClassName,
|
|
@@ -3185,10 +3246,12 @@ class Adaptable {
|
|
|
3185
3246
|
highlightAlertClassName,
|
|
3186
3247
|
flashingClassName,
|
|
3187
3248
|
]
|
|
3188
|
-
// we flatten the array because some rules ('userCellClass'
|
|
3249
|
+
// we flatten the array because some rules ('userCellClass' etc) might return a string[]
|
|
3189
3250
|
.flat()
|
|
3190
3251
|
.filter((x) => !!x);
|
|
3191
|
-
|
|
3252
|
+
const result = returnValue.length ? returnValue : undefined;
|
|
3253
|
+
// console.log(result);
|
|
3254
|
+
return result;
|
|
3192
3255
|
};
|
|
3193
3256
|
return cellClass;
|
|
3194
3257
|
});
|
|
@@ -3201,13 +3264,12 @@ class Adaptable {
|
|
|
3201
3264
|
return excelClassName;
|
|
3202
3265
|
}
|
|
3203
3266
|
setupColumnCellEditor({ colId, col }) {
|
|
3204
|
-
const adaptableColumn = this.api.columnApi.
|
|
3267
|
+
const adaptableColumn = this.api.columnApi.getColumnWithColumnId(colId);
|
|
3205
3268
|
const editLookUpItem = this.api.userInterfaceApi.getEditLookUpItemForColumn(adaptableColumn);
|
|
3206
3269
|
const hasRichSelectCellEditor = this.isAgGridModulePresent(core_1.ModuleNames.RichSelectModule);
|
|
3207
3270
|
this.setColDefProperty(col, 'cellEditor', () => {
|
|
3208
|
-
|
|
3209
|
-
|
|
3210
|
-
if (formatColumn && !(formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.IsSuspended) && ((_a = formatColumn.ColumnStyle) === null || _a === void 0 ? void 0 : _a.CheckBoxStyle)) {
|
|
3271
|
+
const styledColumn = this.api.styledColumnApi.getActiveStyledColumnForColumn(adaptableColumn);
|
|
3272
|
+
if (styledColumn && !(styledColumn === null || styledColumn === void 0 ? void 0 : styledColumn.IsSuspended) && styledColumn.CheckBoxStyle) {
|
|
3211
3273
|
return CheckboxRenderer_1.CheckboxEditor;
|
|
3212
3274
|
}
|
|
3213
3275
|
if (editLookUpItem) {
|
|
@@ -3234,43 +3296,44 @@ class Adaptable {
|
|
|
3234
3296
|
}
|
|
3235
3297
|
setupColumnCellRenderer({ col, colId, abColumn }) {
|
|
3236
3298
|
this.setColDefProperty(col, 'cellRenderer', () => {
|
|
3237
|
-
const
|
|
3238
|
-
if (
|
|
3239
|
-
if (
|
|
3240
|
-
return this.agGridHelper.createPercentBarRendererComp(
|
|
3299
|
+
const styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(abColumn.columnId);
|
|
3300
|
+
if (styledColumn && !styledColumn.IsSuspended) {
|
|
3301
|
+
if (styledColumn.PercentBarStyle) {
|
|
3302
|
+
return this.agGridHelper.createPercentBarRendererComp(styledColumn, abColumn);
|
|
3241
3303
|
}
|
|
3242
|
-
if (
|
|
3304
|
+
if (styledColumn.CheckBoxStyle) {
|
|
3243
3305
|
return this.agGridHelper.createCheckboxRendererComp(abColumn.columnId, abColumn.readOnly);
|
|
3244
3306
|
}
|
|
3307
|
+
if (styledColumn.SparkLineStyle) {
|
|
3308
|
+
return 'agSparklineCellRenderer';
|
|
3309
|
+
}
|
|
3310
|
+
}
|
|
3311
|
+
});
|
|
3312
|
+
this.setColDefProperty(col, 'cellRendererParams', (userDefined) => {
|
|
3313
|
+
const styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(abColumn.columnId);
|
|
3314
|
+
if (styledColumn && !styledColumn.IsSuspended) {
|
|
3315
|
+
if (styledColumn.SparkLineStyle) {
|
|
3316
|
+
const sparklineOptions = (0, merge_1.default)({}, userDefined === null || userDefined === void 0 ? void 0 : userDefined.sparklineOptions, styledColumn.SparkLineStyle.options);
|
|
3317
|
+
return Object.assign(Object.assign({}, userDefined), { sparklineOptions });
|
|
3318
|
+
}
|
|
3245
3319
|
}
|
|
3246
3320
|
});
|
|
3247
3321
|
}
|
|
3248
3322
|
setupColumnTooltipValueGetter({ col, colId, abColumn }) {
|
|
3249
3323
|
this.setColDefProperty(col, 'tooltipValueGetter', () => {
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
formatColumn.ColumnStyle.PercentBarStyle.ToolTipText) {
|
|
3257
|
-
if ((_a = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.ColumnStyle) === null || _a === void 0 ? void 0 : _a.PercentBarStyle) {
|
|
3324
|
+
const styledColumn = this.api.styledColumnApi.getStyledColumnForColumnId(colId);
|
|
3325
|
+
if (styledColumn &&
|
|
3326
|
+
!styledColumn.IsSuspended &&
|
|
3327
|
+
styledColumn.PercentBarStyle &&
|
|
3328
|
+
styledColumn.PercentBarStyle.ToolTipText) {
|
|
3329
|
+
if (styledColumn === null || styledColumn === void 0 ? void 0 : styledColumn.PercentBarStyle) {
|
|
3258
3330
|
return (params) => {
|
|
3259
|
-
const min = this.api.
|
|
3260
|
-
const max = this.api.
|
|
3261
|
-
const textOptions =
|
|
3331
|
+
const min = this.api.styledColumnApi.internalApi.getNumericStyleMinValue(styledColumn, abColumn, params.node, params.value);
|
|
3332
|
+
const max = this.api.styledColumnApi.internalApi.getNumericStyleMaxValue(styledColumn, abColumn, params.node, params.value);
|
|
3333
|
+
const textOptions = styledColumn.PercentBarStyle.ToolTipText;
|
|
3262
3334
|
let returnValue = '';
|
|
3263
3335
|
if (textOptions.includes('CellValue')) {
|
|
3264
|
-
|
|
3265
|
-
const options = formatColumn.DisplayFormat
|
|
3266
|
-
.Options;
|
|
3267
|
-
returnValue = options
|
|
3268
|
-
? FormatHelper_1.default.NumberFormatter(params.value, options)
|
|
3269
|
-
: params.value;
|
|
3270
|
-
}
|
|
3271
|
-
else {
|
|
3272
|
-
returnValue = params.value;
|
|
3273
|
-
}
|
|
3336
|
+
returnValue = params.value;
|
|
3274
3337
|
}
|
|
3275
3338
|
if (textOptions.includes('PercentageValue')) {
|
|
3276
3339
|
const clampedValue = Helper_1.Helper.clamp(params.value, min, max);
|
|
@@ -3306,7 +3369,7 @@ class Adaptable {
|
|
|
3306
3369
|
triggerSetupColumnKeyCreator(colId) {
|
|
3307
3370
|
const col = this.gridOptions.columnApi.getColumn(colId);
|
|
3308
3371
|
const colDef = col.getColDef();
|
|
3309
|
-
const abColumn = this.api.columnApi.
|
|
3372
|
+
const abColumn = this.api.columnApi.getColumnWithColumnId(colId);
|
|
3310
3373
|
const colSetupInfo = {
|
|
3311
3374
|
col,
|
|
3312
3375
|
colDef,
|
|
@@ -3353,13 +3416,6 @@ class Adaptable {
|
|
|
3353
3416
|
if (layoutCustomHeader) {
|
|
3354
3417
|
resultHeaderName = layoutCustomHeader;
|
|
3355
3418
|
}
|
|
3356
|
-
// check if the deprecated formatColumn header is used
|
|
3357
|
-
const formatColumn = this.api.formatColumnApi.getFormatColumnForColumnId(abColumn.columnId);
|
|
3358
|
-
if (!layoutCustomHeader && (formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.HeaderName) && !formatColumn.IsSuspended) {
|
|
3359
|
-
// fallback to the formatColumn property if no Layout custom header is provided
|
|
3360
|
-
resultHeaderName = formatColumn.HeaderName;
|
|
3361
|
-
(0, LoggingHelper_1.ConsoleLogWarning)(`DEPRECATED: 'FormatColumn.HeaderName' is deprecated: use 'Layout.ColumnHeadersMap' instead`);
|
|
3362
|
-
}
|
|
3363
3419
|
// required here for the initial layout rendering
|
|
3364
3420
|
abColumn.friendlyName = resultHeaderName;
|
|
3365
3421
|
return resultHeaderName;
|
|
@@ -3372,7 +3428,7 @@ class Adaptable {
|
|
|
3372
3428
|
if (!colDef.filter) {
|
|
3373
3429
|
return;
|
|
3374
3430
|
}
|
|
3375
|
-
if (!this.api.columnApi.usesAdaptableFilterForm(col.getColId())) {
|
|
3431
|
+
if (!this.api.columnApi.internalApi.usesAdaptableFilterForm(col.getColId())) {
|
|
3376
3432
|
return;
|
|
3377
3433
|
}
|
|
3378
3434
|
this.gridOptions.api.destroyFilter(col);
|
|
@@ -3380,7 +3436,8 @@ class Adaptable {
|
|
|
3380
3436
|
});
|
|
3381
3437
|
}
|
|
3382
3438
|
setupColumnFloatingFilter({ col, colDef }) {
|
|
3383
|
-
const isFloatingFilterDisabled = !colDef.floatingFilter ||
|
|
3439
|
+
const isFloatingFilterDisabled = !colDef.floatingFilter ||
|
|
3440
|
+
!this.api.columnApi.internalApi.usesAdaptableQuickFilter(col.getColId());
|
|
3384
3441
|
this.setColDefProperty(col, 'floatingFilterComponent', () => {
|
|
3385
3442
|
if (isFloatingFilterDisabled) {
|
|
3386
3443
|
return;
|
|
@@ -3397,43 +3454,40 @@ class Adaptable {
|
|
|
3397
3454
|
});
|
|
3398
3455
|
}
|
|
3399
3456
|
setupColumnValueFormatter({ col, abColumn }) {
|
|
3400
|
-
this.setColDefProperty(col, 'valueFormatter', () => {
|
|
3401
|
-
const
|
|
3402
|
-
if (!
|
|
3403
|
-
return;
|
|
3404
|
-
}
|
|
3405
|
-
if (formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.IsSuspended) {
|
|
3457
|
+
this.setColDefProperty(col, 'valueFormatter', (params) => {
|
|
3458
|
+
const activeFormatColumnsWithDisplayFormat = this.api.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(abColumn);
|
|
3459
|
+
if (!activeFormatColumnsWithDisplayFormat.length) {
|
|
3406
3460
|
return;
|
|
3407
3461
|
}
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
const
|
|
3411
|
-
if (
|
|
3462
|
+
return (params) => {
|
|
3463
|
+
const { node, value } = params;
|
|
3464
|
+
const [mostRelevantFormatColumn] = this.api.formatColumnApi.internalApi.getFormatColumnsRelevantForColumn(activeFormatColumnsWithDisplayFormat, abColumn, { node, value });
|
|
3465
|
+
if (!mostRelevantFormatColumn) {
|
|
3466
|
+
// ALL FormatColumns are conditional and NONE of them are relevant for this row
|
|
3467
|
+
return value;
|
|
3468
|
+
}
|
|
3469
|
+
const options = mostRelevantFormatColumn.DisplayFormat.Options;
|
|
3470
|
+
if (mostRelevantFormatColumn.DisplayFormat.Formatter === 'NumberFormatter') {
|
|
3412
3471
|
// change the Number format - if the scope allows it
|
|
3413
|
-
if (this.api.scopeApi.isColumnInNumericScope(abColumn,
|
|
3414
|
-
|
|
3415
|
-
return this.api.formatColumnApi.getNumberFormattedValue(params.value, params.node, abColumn, options);
|
|
3416
|
-
};
|
|
3472
|
+
if (this.api.scopeApi.isColumnInNumericScope(abColumn, mostRelevantFormatColumn.Scope)) {
|
|
3473
|
+
return this.api.formatColumnApi.internalApi.getNumberFormattedValue(params.value, params.node, abColumn, options);
|
|
3417
3474
|
}
|
|
3418
3475
|
}
|
|
3419
|
-
if (
|
|
3476
|
+
if (mostRelevantFormatColumn.DisplayFormat.Formatter === 'DateFormatter') {
|
|
3420
3477
|
// change the Date format - if the scope allows it
|
|
3421
|
-
if (this.api.scopeApi.isColumnInDateScope(abColumn,
|
|
3422
|
-
|
|
3423
|
-
return this.api.formatColumnApi.getDateFormattedValue(params.value, params.node, abColumn, options);
|
|
3424
|
-
};
|
|
3478
|
+
if (this.api.scopeApi.isColumnInDateScope(abColumn, mostRelevantFormatColumn.Scope)) {
|
|
3479
|
+
return this.api.formatColumnApi.internalApi.getDateFormattedValue(params.value, params.node, abColumn, options);
|
|
3425
3480
|
}
|
|
3426
3481
|
}
|
|
3427
|
-
if (
|
|
3482
|
+
if (mostRelevantFormatColumn.DisplayFormat.Formatter === 'StringFormatter') {
|
|
3428
3483
|
// change the String format - if the scope allows it
|
|
3429
|
-
if (this.api.scopeApi.isColumnInStringsScope(abColumn,
|
|
3430
|
-
|
|
3431
|
-
return this.api.formatColumnApi.getStringFormattedValue(params.value, params.node, abColumn, options);
|
|
3432
|
-
};
|
|
3484
|
+
if (this.api.scopeApi.isColumnInStringsScope(abColumn, mostRelevantFormatColumn.Scope)) {
|
|
3485
|
+
return this.api.formatColumnApi.internalApi.getStringFormattedValue(params.value, params.node, abColumn, options);
|
|
3433
3486
|
}
|
|
3434
3487
|
}
|
|
3435
|
-
|
|
3436
|
-
|
|
3488
|
+
// should NEVER arrive at this line, but just to be sure
|
|
3489
|
+
return value;
|
|
3490
|
+
};
|
|
3437
3491
|
});
|
|
3438
3492
|
}
|
|
3439
3493
|
setupColumnEditable({ col }) {
|
|
@@ -3456,7 +3510,7 @@ class Adaptable {
|
|
|
3456
3510
|
setupColumnValueSetter({ col, colId, abColumn }) {
|
|
3457
3511
|
this.setColDefProperty(col, 'valueSetter', (userValueSetter) => {
|
|
3458
3512
|
var _a;
|
|
3459
|
-
const preventEditAlertsForColumn = this.api.alertApi
|
|
3513
|
+
const preventEditAlertsForColumn = this.api.alertApi.internalApi
|
|
3460
3514
|
.getAlertDefinitionsWithPreventEdit()
|
|
3461
3515
|
.filter((alertDefinition) => {
|
|
3462
3516
|
return this.api.scopeApi.isColumnInScope(abColumn, alertDefinition.Scope);
|
|
@@ -3485,7 +3539,7 @@ class Adaptable {
|
|
|
3485
3539
|
const cellDataChangedInfo = this.api.internalApi.buildDataChangedInfo({
|
|
3486
3540
|
oldValue: params.oldValue,
|
|
3487
3541
|
newValue: params.newValue,
|
|
3488
|
-
column: this.api.columnApi.
|
|
3542
|
+
column: this.api.columnApi.getColumnWithColumnId(params.column.getColId()),
|
|
3489
3543
|
primaryKeyValue: this.getPrimaryKeyValueFromRowNode(params.node),
|
|
3490
3544
|
rowNode: params.node,
|
|
3491
3545
|
trigger: 'edit',
|
|
@@ -3525,8 +3579,8 @@ class Adaptable {
|
|
|
3525
3579
|
});
|
|
3526
3580
|
}
|
|
3527
3581
|
setupColumnComparator({ col, colId, abColumn }) {
|
|
3528
|
-
const customSort = this.api.customSortApi.
|
|
3529
|
-
const columnSortComparer = this.api.internalApi.getCustomSortComparer(abColumn);
|
|
3582
|
+
const customSort = this.api.customSortApi.getCustomSortForColumn(colId);
|
|
3583
|
+
const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(abColumn);
|
|
3530
3584
|
const comparatorGetter = (propName) => {
|
|
3531
3585
|
return () => {
|
|
3532
3586
|
return this.getActiveColumnComparator(colId, customSort, columnSortComparer);
|
|
@@ -3568,14 +3622,14 @@ class Adaptable {
|
|
|
3568
3622
|
// rowNode = this.getRowNodeForPrimaryKey(primaryKeyValue);
|
|
3569
3623
|
let cellDataChangedInfos = [];
|
|
3570
3624
|
Object.keys(oldData).forEach((key) => {
|
|
3571
|
-
if (this.api.columnApi.
|
|
3625
|
+
if (this.api.columnApi.isColumnInGrid(key)) {
|
|
3572
3626
|
const oldValue = oldData[key];
|
|
3573
3627
|
const newValue = newData[key];
|
|
3574
3628
|
if (oldValue != newValue) {
|
|
3575
3629
|
const cellDataChangedInfo = this.api.internalApi.buildDataChangedInfo({
|
|
3576
3630
|
oldValue: oldValue,
|
|
3577
3631
|
newValue: newValue,
|
|
3578
|
-
column: this.api.columnApi.
|
|
3632
|
+
column: this.api.columnApi.getColumnWithColumnId(key),
|
|
3579
3633
|
primaryKeyValue: primaryKeyValue,
|
|
3580
3634
|
rowNode: rowNode,
|
|
3581
3635
|
trigger: 'tick',
|
|
@@ -3593,7 +3647,7 @@ class Adaptable {
|
|
|
3593
3647
|
if (oldValue == newValue) {
|
|
3594
3648
|
return;
|
|
3595
3649
|
}
|
|
3596
|
-
const abColumn = this.api.columnApi.
|
|
3650
|
+
const abColumn = this.api.columnApi.getColumnWithColumnId(colId);
|
|
3597
3651
|
if (!abColumn) {
|
|
3598
3652
|
return;
|
|
3599
3653
|
}
|
|
@@ -3649,12 +3703,13 @@ class Adaptable {
|
|
|
3649
3703
|
}
|
|
3650
3704
|
if (cellDataChangedInfo.trigger === 'edit' || cellDataChangedInfo.trigger === 'undo') {
|
|
3651
3705
|
this.checkChangedCellCurrentlySelected(cellDataChangedInfo);
|
|
3652
|
-
this.api.freeTextColumnApi.
|
|
3706
|
+
this.api.freeTextColumnApi.internalApi.handleFreeTextColumnDataChange(cellDataChangedInfo);
|
|
3653
3707
|
}
|
|
3654
3708
|
this.DataService.CreateDataChangedEvent(cellDataChangedInfo);
|
|
3709
|
+
this.resetMinMaxCachedValueForColumn(cellDataChangedInfo.column);
|
|
3655
3710
|
});
|
|
3656
3711
|
// if node is visible then check if need to refresh other columns / whole row if the updating column is:
|
|
3657
|
-
// 1. referenced in
|
|
3712
|
+
// 1. referenced in Format Column Styles that have Expressions (refreshing whole row if Scope is All)
|
|
3658
3713
|
// 2. referenced in Format Column styles that use Column Comparisons (which might also be calculated columns)
|
|
3659
3714
|
if (this.isVisibleNode(firstInfo.rowNode)) {
|
|
3660
3715
|
let dataChangedScope = {
|
|
@@ -3666,32 +3721,34 @@ class Adaptable {
|
|
|
3666
3721
|
this.redrawRow(firstInfo.rowNode);
|
|
3667
3722
|
}
|
|
3668
3723
|
else {
|
|
3669
|
-
this.
|
|
3724
|
+
this.getStyledColumnComparisonChanges(dataChangedScope, cellDataChangedInfos);
|
|
3670
3725
|
if (dataChangedScope.columnIds.size > 0) {
|
|
3671
3726
|
this.refreshCells([firstInfo.rowNode], Array.from(dataChangedScope.columnIds.values()), true);
|
|
3672
3727
|
}
|
|
3673
3728
|
}
|
|
3674
3729
|
}
|
|
3730
|
+
this.refreshColumnForRelativeRangeStyledColumns(cellDataChangedInfos);
|
|
3675
3731
|
firstInfo.trigger == 'tick' ? this.filterOnTickingDataChange() : this.filterOnEditDataChange();
|
|
3676
3732
|
}
|
|
3677
3733
|
getExpressionStylesChanges(dataChangedScope, cellDataChangedInfos) {
|
|
3678
|
-
const
|
|
3679
|
-
|
|
3734
|
+
const formatColumnsWithExpression = [];
|
|
3735
|
+
formatColumnsWithExpression.push(...this.api.formatColumnApi.internalApi.getFormatColumnsWithExpression());
|
|
3736
|
+
if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(formatColumnsWithExpression)) {
|
|
3680
3737
|
return;
|
|
3681
3738
|
}
|
|
3682
3739
|
cellDataChangedInfos.forEach((cellDataChangedInfo) => {
|
|
3683
3740
|
if (!dataChangedScope.wholeRow) {
|
|
3684
|
-
|
|
3741
|
+
formatColumnsWithExpression.forEach((styleModule) => {
|
|
3685
3742
|
if (!dataChangedScope.wholeRow) {
|
|
3686
|
-
const columnIds = this.api.queryLanguageApi.getColumnsFromExpression(
|
|
3743
|
+
const columnIds = this.api.queryLanguageApi.getColumnsFromExpression(styleModule.Rule.BooleanExpression);
|
|
3687
3744
|
if (columnIds.includes(cellDataChangedInfo.column.columnId)) {
|
|
3688
|
-
if (this.api.scopeApi.scopeIsAll(
|
|
3745
|
+
if (this.api.scopeApi.scopeIsAll(styleModule.Scope)) {
|
|
3689
3746
|
dataChangedScope.wholeRow = true;
|
|
3690
3747
|
return;
|
|
3691
3748
|
}
|
|
3692
3749
|
else {
|
|
3693
3750
|
this.api.scopeApi
|
|
3694
|
-
.getColumnsForScope(
|
|
3751
|
+
.getColumnsForScope(styleModule.Scope)
|
|
3695
3752
|
.map((c) => c.columnId)
|
|
3696
3753
|
.forEach((colId) => {
|
|
3697
3754
|
dataChangedScope.columnIds.add(colId);
|
|
@@ -3703,20 +3760,15 @@ class Adaptable {
|
|
|
3703
3760
|
}
|
|
3704
3761
|
});
|
|
3705
3762
|
}
|
|
3706
|
-
|
|
3707
|
-
this.api.
|
|
3708
|
-
let columnComparison = this.api.
|
|
3763
|
+
getStyledColumnComparisonChanges(dataChangedScope, cellDataChangedInfos) {
|
|
3764
|
+
this.api.styledColumnApi.getStyledColumns().forEach((sc) => {
|
|
3765
|
+
let columnComparison = this.api.styledColumnApi.internalApi.getColumnComparisonForStyledColumn(sc);
|
|
3709
3766
|
if (columnComparison) {
|
|
3710
|
-
let affectedColumnIds = this.api.
|
|
3767
|
+
let affectedColumnIds = this.api.styledColumnApi.internalApi.getColumnIdsFromColumnComparison(columnComparison);
|
|
3711
3768
|
if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(affectedColumnIds)) {
|
|
3712
3769
|
cellDataChangedInfos.forEach((cellDataChangedInfo) => {
|
|
3713
3770
|
if (affectedColumnIds.includes(cellDataChangedInfo.column.columnId)) {
|
|
3714
|
-
|
|
3715
|
-
.getColumnsForScope(fc.Scope)
|
|
3716
|
-
.map((c) => c.columnId)
|
|
3717
|
-
.forEach((colId) => {
|
|
3718
|
-
dataChangedScope.columnIds.add(colId);
|
|
3719
|
-
});
|
|
3771
|
+
dataChangedScope.columnIds.add(sc.ColumnId);
|
|
3720
3772
|
}
|
|
3721
3773
|
});
|
|
3722
3774
|
}
|
|
@@ -3740,6 +3792,20 @@ class Adaptable {
|
|
|
3740
3792
|
}
|
|
3741
3793
|
}
|
|
3742
3794
|
}
|
|
3795
|
+
refreshColumnForRelativeRangeStyledColumns(cellDataChangedInfos) {
|
|
3796
|
+
const columnIdMap = new Set();
|
|
3797
|
+
cellDataChangedInfos.forEach((cellDataChangeInfo) => {
|
|
3798
|
+
const styledColumn = this.api.styledColumnApi.getActiveStyledColumnForColumn(cellDataChangeInfo.column);
|
|
3799
|
+
if (styledColumn &&
|
|
3800
|
+
this.api.styledColumnApi.internalApi.hasStyledColumnRelativeCellRange(styledColumn)) {
|
|
3801
|
+
columnIdMap.add(styledColumn.ColumnId);
|
|
3802
|
+
}
|
|
3803
|
+
});
|
|
3804
|
+
const columnIdsToUpdate = [...columnIdMap];
|
|
3805
|
+
if (columnIdsToUpdate.length) {
|
|
3806
|
+
this.refreshColumns(columnIdsToUpdate, true);
|
|
3807
|
+
}
|
|
3808
|
+
}
|
|
3743
3809
|
getColumnSorts() {
|
|
3744
3810
|
const columnSorts = [];
|
|
3745
3811
|
const columnState = this.gridOptions.columnApi.getColumnState();
|
|
@@ -3819,7 +3885,7 @@ class Adaptable {
|
|
|
3819
3885
|
}
|
|
3820
3886
|
getExpandRowGroupsKeys() {
|
|
3821
3887
|
let returnValues = [];
|
|
3822
|
-
if (this.api.layoutApi.areExpandedRowGroupsSavedInLayouts()) {
|
|
3888
|
+
if (this.api.layoutApi.internalApi.areExpandedRowGroupsSavedInLayouts()) {
|
|
3823
3889
|
this.gridOptions.api.forEachNode((node) => {
|
|
3824
3890
|
if (node.group && node.expanded) {
|
|
3825
3891
|
let current = node;
|
|
@@ -3952,6 +4018,7 @@ class Adaptable {
|
|
|
3952
4018
|
}
|
|
3953
4019
|
this.gridOptions.api.setRowData(dataSource);
|
|
3954
4020
|
this.updateColumnDataTypeIfRowDataIsEmpty();
|
|
4021
|
+
this.updateRowGroupsExpandedState();
|
|
3955
4022
|
}
|
|
3956
4023
|
getGridData() {
|
|
3957
4024
|
var _a;
|
|
@@ -4018,12 +4085,14 @@ class Adaptable {
|
|
|
4018
4085
|
}
|
|
4019
4086
|
resolve(transaction === null || transaction === void 0 ? void 0 : transaction.add);
|
|
4020
4087
|
this.updateColumnDataTypeIfRowDataIsEmpty();
|
|
4088
|
+
this.updateRowGroupsExpandedState();
|
|
4021
4089
|
});
|
|
4022
4090
|
});
|
|
4023
4091
|
}
|
|
4024
4092
|
else {
|
|
4025
4093
|
const transaction = this.gridOptions.api.applyTransaction(newData);
|
|
4026
4094
|
this.updateColumnDataTypeIfRowDataIsEmpty();
|
|
4095
|
+
this.updateRowGroupsExpandedState();
|
|
4027
4096
|
return Promise.resolve(transaction === null || transaction === void 0 ? void 0 : transaction.add);
|
|
4028
4097
|
}
|
|
4029
4098
|
}
|
|
@@ -4050,7 +4119,7 @@ class Adaptable {
|
|
|
4050
4119
|
let groupedColumns = this.gridOptions.columnApi.getRowGroupColumns();
|
|
4051
4120
|
if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(groupedColumns)) {
|
|
4052
4121
|
let groupedColumn = groupedColumns[0];
|
|
4053
|
-
return this.api.columnApi.
|
|
4122
|
+
return this.api.columnApi.getColumnWithColumnId(groupedColumn.getColId());
|
|
4054
4123
|
}
|
|
4055
4124
|
}
|
|
4056
4125
|
checkColumnsDataTypeSet() {
|
|
@@ -4213,7 +4282,7 @@ class Adaptable {
|
|
|
4213
4282
|
const themeName = typeof theme === 'string' ? theme : theme.Name;
|
|
4214
4283
|
const themeClassNamesToRemove = [];
|
|
4215
4284
|
const themesToRemove = [];
|
|
4216
|
-
const allThemes = this.api.themeApi.
|
|
4285
|
+
const allThemes = this.api.themeApi.getThemes().map((t) => {
|
|
4217
4286
|
// we mutate the theme later,
|
|
4218
4287
|
// and since we don't want the mutation to end up in state
|
|
4219
4288
|
// we better clone it here
|
|
@@ -4261,7 +4330,7 @@ class Adaptable {
|
|
|
4261
4330
|
}
|
|
4262
4331
|
return val;
|
|
4263
4332
|
});
|
|
4264
|
-
const systemThemes = this.api.themeApi.
|
|
4333
|
+
const systemThemes = this.api.themeApi.getSystemThemes();
|
|
4265
4334
|
const isSystemTheme = !!systemThemes.filter((t) => t.Name === themeName)[0];
|
|
4266
4335
|
const container = this.getAgGridContainerElement();
|
|
4267
4336
|
const getAgGridLightThemeName = () => this.getAgGridLightThemeName();
|
|
@@ -4315,12 +4384,10 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
|
|
|
4315
4384
|
}
|
|
4316
4385
|
}
|
|
4317
4386
|
setupRowStyling() {
|
|
4318
|
-
// first get the conditional style state
|
|
4319
|
-
const conditionalStyles = this.api.conditionalStyleApi.getRowConditionalStyles();
|
|
4320
4387
|
// Set any Row Styles (i.e. items without a classname)
|
|
4321
4388
|
this.setGridOptionsProperty('getRowStyle', (userGetRowStyle) => {
|
|
4322
4389
|
return (params) => {
|
|
4323
|
-
const result = Object.assign(Object.assign(Object.assign(
|
|
4390
|
+
const result = Object.assign(Object.assign(Object.assign({}, userGetRowStyle === null || userGetRowStyle === void 0 ? void 0 : userGetRowStyle(params)), this.getRowHighlightStyle(params)), this.getAlertRowStyle(params));
|
|
4324
4391
|
return result;
|
|
4325
4392
|
};
|
|
4326
4393
|
});
|
|
@@ -4333,7 +4400,6 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
|
|
|
4333
4400
|
typeof userGetRowClass === 'function' ? userGetRowClass(params) : userGetRowClass,
|
|
4334
4401
|
highlightClassName,
|
|
4335
4402
|
alertHighlightClassName,
|
|
4336
|
-
this.getConditionalStyleRowClass(conditionalStyles.filter((cs) => StringExtensions_1.StringExtensions.IsNotNullOrEmpty(cs.Style.ClassName)), params),
|
|
4337
4403
|
]
|
|
4338
4404
|
// we flatten it because 'userGetRowClass' might return a string[]
|
|
4339
4405
|
.flat()
|
|
@@ -4352,30 +4418,6 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
|
|
|
4352
4418
|
const newValue = this.gridOptions.suppressAggFuncInHeader;
|
|
4353
4419
|
return previousValue !== newValue;
|
|
4354
4420
|
}
|
|
4355
|
-
getConditionalStyleRowClass(conditionalStyles, params) {
|
|
4356
|
-
if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(conditionalStyles)) {
|
|
4357
|
-
const module = this.ModuleService.getModuleById(ModuleConstants.ConditionalStyleModuleId);
|
|
4358
|
-
let classNames = conditionalStyles
|
|
4359
|
-
.map((conditionalStyle) => {
|
|
4360
|
-
var _a;
|
|
4361
|
-
if (module.isConditionalStyleActiveForRow(conditionalStyle, params)) {
|
|
4362
|
-
return (_a = conditionalStyle.Style) === null || _a === void 0 ? void 0 : _a.ClassName;
|
|
4363
|
-
}
|
|
4364
|
-
})
|
|
4365
|
-
.filter((x) => !!x)
|
|
4366
|
-
.join(' ');
|
|
4367
|
-
return classNames;
|
|
4368
|
-
}
|
|
4369
|
-
}
|
|
4370
|
-
getConditionalStyleRowStyle(conditionalStyles, params) {
|
|
4371
|
-
if (ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(conditionalStyles)) {
|
|
4372
|
-
const module = this.ModuleService.getModuleById(ModuleConstants.ConditionalStyleModuleId);
|
|
4373
|
-
const cs = conditionalStyles.find((cs) => module.isConditionalStyleActiveForRow(cs, params));
|
|
4374
|
-
if (cs) {
|
|
4375
|
-
return this.convertAdaptableStyleToCSS(cs.Style);
|
|
4376
|
-
}
|
|
4377
|
-
}
|
|
4378
|
-
}
|
|
4379
4421
|
getGridOptionsApi() {
|
|
4380
4422
|
if (!this.gridOptions.api) {
|
|
4381
4423
|
(0, LoggingHelper_1.ConsoleLogError)('There is a problem with your instance of AG Grid - it has no gridApi object. Please contact Support.');
|
|
@@ -4459,6 +4501,7 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
|
|
|
4459
4501
|
const cellParams = {
|
|
4460
4502
|
colDef,
|
|
4461
4503
|
node,
|
|
4504
|
+
column,
|
|
4462
4505
|
data: node.data,
|
|
4463
4506
|
value: this.getRawValueFromRowNode(node, column.getId()),
|
|
4464
4507
|
rowIndex,
|
|
@@ -4483,7 +4526,7 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
|
|
|
4483
4526
|
if (userDefinedExcelStyle) {
|
|
4484
4527
|
excelStyles.push(userDefinedExcelStyle);
|
|
4485
4528
|
}
|
|
4486
|
-
// add adaptable derived styles (format column
|
|
4529
|
+
// add adaptable derived styles (format column etc.)
|
|
4487
4530
|
const adaptableStyle = Object.assign(Object.assign({}, rowStyle), Object.keys(cellStyle).reduce((result, key) => {
|
|
4488
4531
|
if (cellStyle[key] !== null) {
|
|
4489
4532
|
result[key] = cellStyle[key];
|
|
@@ -4614,17 +4657,19 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
|
|
|
4614
4657
|
return this.ReportService.getCellExportValueFromRowNode(rowNode, columnId);
|
|
4615
4658
|
}
|
|
4616
4659
|
processRowGroupForExcelExport(rowNode) {
|
|
4617
|
-
|
|
4660
|
+
var _a, _b, _c, _d, _e;
|
|
4661
|
+
const columnId = (_c = (_a = rowNode.field) !== null && _a !== void 0 ? _a : (_b = rowNode.rowGroupColumn) === null || _b === void 0 ? void 0 : _b.getColId()) !== null && _c !== void 0 ? _c : (_e = (_d = rowNode.rowGroupColumn) === null || _d === void 0 ? void 0 : _d.getColDef()) === null || _e === void 0 ? void 0 : _e.field;
|
|
4662
|
+
if (!columnId || !rowNode.key) {
|
|
4618
4663
|
return;
|
|
4619
4664
|
}
|
|
4620
|
-
const columnId = rowNode.field;
|
|
4621
4665
|
let rawValue = rowNode.key;
|
|
4622
|
-
if (this.api.columnApi.
|
|
4666
|
+
if (this.api.columnApi.getColumnDataTypeForColumnId(columnId) === 'Date' &&
|
|
4623
4667
|
typeof rawValue === 'string') {
|
|
4624
4668
|
// AG-Grid converts the value to string, we have to reconvert it back
|
|
4625
|
-
const
|
|
4626
|
-
if (
|
|
4627
|
-
|
|
4669
|
+
const dateRawValue = (0, DateHelper_1.parseDateValue)(rawValue);
|
|
4670
|
+
if (dateRawValue != undefined) {
|
|
4671
|
+
// @ts-ignore
|
|
4672
|
+
rawValue = dateRawValue;
|
|
4628
4673
|
}
|
|
4629
4674
|
}
|
|
4630
4675
|
return this.ReportService.getCellExportValueFromRawValue(rowNode, rawValue, columnId);
|
|
@@ -4654,12 +4699,27 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
|
|
|
4654
4699
|
publishedAt: publishTimestamp_1.default,
|
|
4655
4700
|
});
|
|
4656
4701
|
}
|
|
4657
|
-
showCharts(
|
|
4702
|
+
showCharts(chartsDefinitions, chartContainer) {
|
|
4703
|
+
return chartsDefinitions.map((chartDefinition) => this.showChart(chartDefinition, chartContainer));
|
|
4704
|
+
}
|
|
4705
|
+
showChart(chartDefinition, container) {
|
|
4658
4706
|
if (!this.gridOptions.api) {
|
|
4659
|
-
(0, LoggingHelper_1.ConsoleLogError)('Adaptable must be instantiated before calling
|
|
4660
|
-
return
|
|
4707
|
+
(0, LoggingHelper_1.ConsoleLogError)('Adaptable must be instantiated before calling showChart');
|
|
4708
|
+
return null;
|
|
4661
4709
|
}
|
|
4662
|
-
|
|
4710
|
+
/**
|
|
4711
|
+
* Ag-grid always creates new charts behind the sences.
|
|
4712
|
+
* So we need to update the model inside adaptable state.
|
|
4713
|
+
* This is important to be done as soon as possible so it is not considered new.
|
|
4714
|
+
*/
|
|
4715
|
+
const chartRef = this.gridOptions.api.restoreChart(chartDefinition.Model, container);
|
|
4716
|
+
const chartModel = this.getChartModels().find((chartModel) => chartModel.chartId === chartRef.chartId);
|
|
4717
|
+
// Update the definition in state so it is not considered new
|
|
4718
|
+
this.api.chartingApi.editChartDefinition(Object.assign(Object.assign({}, chartDefinition), { Model: chartModel }));
|
|
4719
|
+
return chartRef;
|
|
4720
|
+
}
|
|
4721
|
+
getChartRef(chartId) {
|
|
4722
|
+
return this.gridOptions.api.getChartRef(chartId);
|
|
4663
4723
|
}
|
|
4664
4724
|
getChartModels() {
|
|
4665
4725
|
if (!this.gridOptions.api) {
|
|
@@ -4668,6 +4728,9 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
|
|
|
4668
4728
|
}
|
|
4669
4729
|
return this.gridOptions.api.getChartModels();
|
|
4670
4730
|
}
|
|
4731
|
+
getRowModel() {
|
|
4732
|
+
return this.gridOptions.rowModelType;
|
|
4733
|
+
}
|
|
4671
4734
|
getActiveAdaptableAggFuncForCol(columnId) {
|
|
4672
4735
|
if (!columnId) {
|
|
4673
4736
|
return null;
|
|
@@ -4702,8 +4765,7 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
|
|
|
4702
4765
|
/**
|
|
4703
4766
|
* When reading the state from the grid, we have to make sure 'avg' is not overriden with the 'avg' string.
|
|
4704
4767
|
*/
|
|
4705
|
-
|
|
4706
|
-
const currentLayout = this.api.layoutApi.getCurrentLayout();
|
|
4768
|
+
mapAggregationColumnsFromGrid(aggFuncFromGrid, currentLayout) {
|
|
4707
4769
|
return Object.entries(aggFuncFromGrid).reduce((acc, [colId, agg]) => {
|
|
4708
4770
|
const adaptableAggFunc = this.getActiveAdaptableAggFuncForCol(colId);
|
|
4709
4771
|
if ((adaptableAggFunc === null || adaptableAggFunc === void 0 ? void 0 : adaptableAggFunc.type) === 'weightedAverage' && agg === AggregationColumns_1.WEIGHTED_AVERAGE_AGG_FN_NAME) {
|
|
@@ -4716,6 +4778,90 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
|
|
|
4716
4778
|
return acc;
|
|
4717
4779
|
}, {});
|
|
4718
4780
|
}
|
|
4781
|
+
resetMinMaxCachedValueForColumn(column) {
|
|
4782
|
+
if (!column) {
|
|
4783
|
+
this.columnMinMaxValuesCache[column.columnId] = {};
|
|
4784
|
+
}
|
|
4785
|
+
if (this.columnMinMaxValuesCache[column.columnId]) {
|
|
4786
|
+
this.columnMinMaxValuesCache[column.columnId] = undefined;
|
|
4787
|
+
}
|
|
4788
|
+
}
|
|
4789
|
+
getMinMaxCachedValueForColumn(column, minMax) {
|
|
4790
|
+
var _a;
|
|
4791
|
+
const { columnId, dataType } = column;
|
|
4792
|
+
if (dataType !== 'Number') {
|
|
4793
|
+
return undefined;
|
|
4794
|
+
}
|
|
4795
|
+
let value = (_a = this.columnMinMaxValuesCache[columnId]) === null || _a === void 0 ? void 0 : _a[minMax];
|
|
4796
|
+
if (value !== undefined) {
|
|
4797
|
+
return value;
|
|
4798
|
+
}
|
|
4799
|
+
const distinctRawValues = this.api.gridApi.internalApi
|
|
4800
|
+
.getUnsortedDistinctRawValuesForColumn(columnId)
|
|
4801
|
+
.map((item) => item.rawValue);
|
|
4802
|
+
value = minMax === 'min' ? Math.min(...distinctRawValues) : Math.max(...distinctRawValues);
|
|
4803
|
+
this.columnMinMaxValuesCache[columnId] = Object.assign(Object.assign({}, this.columnMinMaxValuesCache[columnId]), { [minMax]: value });
|
|
4804
|
+
return value;
|
|
4805
|
+
}
|
|
4806
|
+
persistColumnIndexBeforeGrouping(params) {
|
|
4807
|
+
const layout = this.api.layoutApi.getCurrentLayout();
|
|
4808
|
+
const columnGroupsInLayout = layout.RowGroupedColumns;
|
|
4809
|
+
const columnGroupsInGrid = params.columns.map((col) => col.getColId());
|
|
4810
|
+
// what is new
|
|
4811
|
+
const newGroups = columnGroupsInGrid.filter((colId) => !columnGroupsInLayout.includes(colId));
|
|
4812
|
+
newGroups.forEach((colId) => {
|
|
4813
|
+
const columnIndex = layout.Columns.filter((colId) => !(this.api.columnApi.isAutoRowGroupColumn(colId) ||
|
|
4814
|
+
this.api.columnApi.isAutoPivotColumn(colId))).findIndex((columnIdInLayout) => columnIdInLayout === colId);
|
|
4815
|
+
// user may group after a column not in layout
|
|
4816
|
+
if (columnIndex !== -1) {
|
|
4817
|
+
this.api.internalApi.persistPreviousGroupedColumnsIndex(layout.Uuid, colId, columnIndex);
|
|
4818
|
+
}
|
|
4819
|
+
});
|
|
4820
|
+
}
|
|
4821
|
+
/**
|
|
4822
|
+
* Restores the order previous grouping order.
|
|
4823
|
+
|
|
4824
|
+
*/
|
|
4825
|
+
restoreUnGroupColumnOrder({ newGroupColumns, columnOrder, }) {
|
|
4826
|
+
var _a;
|
|
4827
|
+
const newColumnOrder = [...columnOrder];
|
|
4828
|
+
const currentLayout = this.api.layoutApi.getCurrentLayout();
|
|
4829
|
+
const previousGroupedColumnsIndex = this.api.internalApi.getPreviousGroupedColumnsIndex(currentLayout.Uuid);
|
|
4830
|
+
const isUnGroup = newGroupColumns.length < ((_a = currentLayout === null || currentLayout === void 0 ? void 0 : currentLayout.RowGroupedColumns) === null || _a === void 0 ? void 0 : _a.length);
|
|
4831
|
+
if (!isUnGroup) {
|
|
4832
|
+
return columnOrder;
|
|
4833
|
+
}
|
|
4834
|
+
if (!previousGroupedColumnsIndex) {
|
|
4835
|
+
return columnOrder;
|
|
4836
|
+
}
|
|
4837
|
+
for (let [colId, previousIndex] of Object.entries(previousGroupedColumnsIndex)) {
|
|
4838
|
+
const isStillGrouped = newGroupColumns.includes(colId);
|
|
4839
|
+
const isAlreadyInGrid = currentLayout.Columns.includes(colId); // was not just added by ungrouping
|
|
4840
|
+
if (isStillGrouped) {
|
|
4841
|
+
continue;
|
|
4842
|
+
}
|
|
4843
|
+
if (isAlreadyInGrid) {
|
|
4844
|
+
// no longer grouped, but already in grid, this means it was already in grid before ungrouping
|
|
4845
|
+
// in this case the state can be cleared
|
|
4846
|
+
this.api.internalApi.persistPreviousGroupedColumnsIndex(currentLayout.Uuid, colId, null);
|
|
4847
|
+
continue;
|
|
4848
|
+
}
|
|
4849
|
+
// need to ajust index based if grouped
|
|
4850
|
+
const numberOfGroupedColumns = newColumnOrder.filter((colId) => this.api.columnApi.isAutoRowGroupColumn(colId)).length;
|
|
4851
|
+
const adjustedPreviousIndex = previousIndex + numberOfGroupedColumns;
|
|
4852
|
+
const indexInGrid = newColumnOrder.indexOf(colId);
|
|
4853
|
+
const hasDifferentPositionAsPreviousLayout = adjustedPreviousIndex !== null && // if null, the reorder was already applied
|
|
4854
|
+
indexInGrid > 0 && // needs to be in grid
|
|
4855
|
+
adjustedPreviousIndex !== indexInGrid;
|
|
4856
|
+
const isPreviousPositionInRange = adjustedPreviousIndex < newColumnOrder.length;
|
|
4857
|
+
if (hasDifferentPositionAsPreviousLayout && isPreviousPositionInRange) {
|
|
4858
|
+
newColumnOrder.splice(indexInGrid, 1);
|
|
4859
|
+
newColumnOrder.splice(adjustedPreviousIndex, 0, colId);
|
|
4860
|
+
}
|
|
4861
|
+
this.api.internalApi.persistPreviousGroupedColumnsIndex(currentLayout.Uuid, colId, null);
|
|
4862
|
+
}
|
|
4863
|
+
return newColumnOrder;
|
|
4864
|
+
}
|
|
4719
4865
|
}
|
|
4720
4866
|
exports.Adaptable = Adaptable;
|
|
4721
4867
|
class AdaptableNoCodeWizard {
|
|
@@ -4754,15 +4900,15 @@ class AdaptableNoCodeWizard {
|
|
|
4754
4900
|
// this allows people to customize the wizard dimensions & styling
|
|
4755
4901
|
// when it's visible
|
|
4756
4902
|
container.classList.add('adaptable--in-wizard');
|
|
4757
|
-
|
|
4903
|
+
const unmount = (0, renderReactRoot_1.renderReactRoot)(React.createElement(AdaptableWizardView_1.default, Object.assign(Object.assign({ adaptableOptions: this.adaptableOptions }, this.extraOptions), { onInit: (adaptableOptions) => {
|
|
4758
4904
|
container.classList.remove('adaptable--in-wizard');
|
|
4759
|
-
|
|
4905
|
+
unmount();
|
|
4760
4906
|
this.init({
|
|
4761
4907
|
adaptableOptions,
|
|
4762
4908
|
gridOptions: adaptableOptions.gridOptions,
|
|
4763
4909
|
agGridModules: [...this.agGridModules],
|
|
4764
4910
|
});
|
|
4765
|
-
} })), container);
|
|
4911
|
+
} })), container, true);
|
|
4766
4912
|
}
|
|
4767
4913
|
}
|
|
4768
4914
|
exports.AdaptableNoCodeWizard = AdaptableNoCodeWizard;
|