@adaptabletools/adaptable-cjs 18.0.0-canary.9 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base.css +18 -20
- package/base.css.map +1 -1
- package/index.css +22 -20
- package/index.css.map +1 -1
- package/package.json +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +5 -6
- package/src/AdaptableOptions/ActionColumnOptions.d.ts +3 -2
- package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
- package/src/AdaptableOptions/AdaptableOptions.d.ts +14 -13
- package/src/AdaptableOptions/AdaptablePlugin.d.ts +2 -0
- package/src/AdaptableOptions/AdaptablePlugin.js +2 -0
- package/src/AdaptableOptions/ColumnFilterOptions.d.ts +7 -0
- package/src/AdaptableOptions/ColumnMenuOptions.d.ts +94 -0
- package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
- package/src/AdaptableOptions/CommentOptions.d.ts +20 -9
- package/src/AdaptableOptions/ContextMenuOptions.d.ts +94 -0
- package/src/AdaptableOptions/CustomSortOptions.d.ts +2 -2
- package/src/AdaptableOptions/DataImportOptions.d.ts +2 -2
- package/src/AdaptableOptions/FormatColumnOptions.d.ts +2 -2
- package/src/AdaptableOptions/GroupingOptions.d.ts +0 -26
- package/src/AdaptableOptions/NoteOptions.d.ts +12 -3
- package/src/AdaptableOptions/PredicateOptions.d.ts +2 -2
- package/src/AdaptableOptions/QuickSearchOptions.d.ts +1 -1
- package/src/AdaptableOptions/StateOptions.d.ts +6 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
- package/src/Api/AdaptableApi.d.ts +16 -6
- package/src/Api/ColumnApi.d.ts +13 -0
- package/src/Api/ColumnMenuApi.d.ts +13 -0
- package/src/Api/{ScopeApi.d.ts → ColumnScopeApi.d.ts} +28 -28
- package/src/Api/CommentApi.d.ts +20 -22
- package/src/Api/ConfigApi.d.ts +3 -4
- package/src/Api/ContextMenuApi.d.ts +9 -0
- package/src/Api/EventApi.d.ts +7 -9
- package/src/Api/Events/CommentChanged.d.ts +11 -0
- package/src/Api/Events/CommentChanged.js +2 -0
- package/src/Api/Events/GridDataChanged.d.ts +1 -1
- package/src/Api/FlashingCellApi.d.ts +2 -2
- package/src/Api/GridApi.d.ts +32 -4
- package/src/Api/Implementation/ActionColumnApiImpl.js +3 -6
- package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +7 -5
- package/src/Api/Implementation/AdaptableApiImpl.js +9 -5
- package/src/Api/Implementation/AlertApiImpl.js +8 -13
- package/src/Api/Implementation/ApiBase.d.ts +6 -4
- package/src/Api/Implementation/ApiBase.js +11 -5
- package/src/Api/Implementation/CalendarApiImpl.js +1 -6
- package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
- package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
- package/src/Api/Implementation/ChartingApiImpl.js +3 -3
- package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -0
- package/src/Api/Implementation/ColumnApiImpl.js +48 -16
- package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
- package/src/Api/Implementation/ColumnMenuApiImpl.d.ts +8 -0
- package/src/Api/Implementation/ColumnMenuApiImpl.js +16 -0
- package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +33 -0
- package/src/Api/Implementation/{ScopeApiImpl.js → ColumnScopeApiImpl.js} +48 -15
- package/src/Api/Implementation/CommentsApiImpl.d.ts +4 -5
- package/src/Api/Implementation/CommentsApiImpl.js +6 -6
- package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
- package/src/Api/Implementation/ConfigApiImpl.js +21 -25
- package/src/Api/Implementation/ContextMenuApiImpl.d.ts +7 -0
- package/src/Api/Implementation/ContextMenuApiImpl.js +13 -0
- package/src/Api/Implementation/DashboardApiImpl.js +1 -6
- package/src/Api/Implementation/ExportApiImpl.js +5 -10
- package/src/Api/Implementation/ExpressionApiImpl.js +14 -19
- package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -2
- package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
- package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
- package/src/Api/Implementation/GridApiImpl.d.ts +9 -2
- package/src/Api/Implementation/GridApiImpl.js +52 -11
- package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -7
- package/src/Api/Implementation/LayoutApiImpl.js +6 -15
- package/src/Api/Implementation/{NotesApiImpl.d.ts → NoteApiImpl.d.ts} +8 -8
- package/src/Api/Implementation/{NotesApiImpl.js → NoteApiImpl.js} +14 -14
- package/src/Api/Implementation/OptionsApiImpl.d.ts +6 -5
- package/src/Api/Implementation/OptionsApiImpl.js +7 -4
- package/src/Api/Implementation/PredicateApiImpl.js +2 -2
- package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
- package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
- package/src/Api/Implementation/ThemeApiImpl.js +2 -7
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -8
- package/src/Api/Implementation/UserInterfaceApiImpl.js +32 -27
- package/src/Api/Internal/ActionRowInternalApi.d.ts +1 -0
- package/src/Api/Internal/ActionRowInternalApi.js +19 -46
- package/src/Api/Internal/AdaptableInternalApi.d.ts +3 -4
- package/src/Api/Internal/AdaptableInternalApi.js +16 -30
- package/src/Api/Internal/AlertInternalApi.d.ts +2 -2
- package/src/Api/Internal/AlertInternalApi.js +7 -20
- package/src/Api/Internal/CalculatedColumnInternalApi.js +10 -16
- package/src/Api/Internal/ChartingInternalApi.js +13 -13
- package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
- package/src/Api/Internal/ColumnFilterInternalApi.js +24 -30
- package/src/Api/Internal/ColumnInternalApi.d.ts +2 -0
- package/src/Api/Internal/ColumnInternalApi.js +8 -1
- package/src/Api/Internal/CommentsInternalApi.d.ts +1 -1
- package/src/Api/Internal/CommentsInternalApi.js +3 -2
- package/src/Api/Internal/CustomSortInternalApi.js +1 -1
- package/src/Api/Internal/DashboardInternalApi.js +5 -11
- package/src/Api/Internal/DataImportInternalApi.js +3 -9
- package/src/Api/Internal/DataSetInternalApi.js +2 -7
- package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
- package/src/Api/Internal/ExportInternalApi.js +8 -5
- package/src/Api/Internal/ExpressionInternalApi.js +3 -13
- package/src/Api/Internal/Fdc3InternalApi.js +3 -12
- package/src/Api/Internal/FormatColumnInternalApi.d.ts +3 -6
- package/src/Api/Internal/FormatColumnInternalApi.js +37 -30
- package/src/Api/Internal/FreeTextColumnInternalApi.js +4 -3
- package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
- package/src/Api/Internal/GridFilterInternalApi.js +8 -8
- package/src/Api/Internal/GridInternalApi.d.ts +2 -0
- package/src/Api/Internal/GridInternalApi.js +28 -40
- package/src/Api/Internal/LayoutInternalApi.d.ts +2 -0
- package/src/Api/Internal/LayoutInternalApi.js +26 -19
- package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
- package/src/Api/Internal/{NotesInternalApi.js → NoteInternalApi.js} +6 -5
- package/src/Api/Internal/PredicateInternalApi.d.ts +6 -6
- package/src/Api/Internal/PredicateInternalApi.js +5 -40
- package/src/Api/Internal/ScheduleInternalApi.js +1 -6
- package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -2
- package/src/Api/Internal/StyledColumnInternalApi.js +8 -9
- package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
- package/src/Api/Internal/TeamSharingInternalApi.js +2 -7
- package/src/Api/Internal/ThemeInternalApi.js +1 -1
- package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
- package/src/Api/LayoutApi.d.ts +9 -12
- package/src/Api/NoteApi.d.ts +48 -0
- package/src/Api/NoteApi.js +2 -0
- package/src/Api/OptionsApi.d.ts +14 -10
- package/src/Api/UserInterfaceApi.d.ts +15 -13
- package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
- package/src/PredefinedConfig/AlertState.d.ts +2 -2
- package/src/PredefinedConfig/CommentState.d.ts +27 -23
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
- package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
- package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
- package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +1 -1
- package/src/PredefinedConfig/Common/ColumnScope.js +2 -0
- package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +1 -5
- package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
- package/src/PredefinedConfig/Common/Enums.js +3 -0
- package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
- package/src/PredefinedConfig/Common/Menu.d.ts +39 -4
- package/src/PredefinedConfig/Common/Menu.js +126 -0
- package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
- package/src/PredefinedConfig/Common/RowScope.js +2 -0
- package/src/PredefinedConfig/Common/RowSummary.d.ts +15 -1
- package/src/PredefinedConfig/Common/RowSummary.js +17 -1
- package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
- package/src/PredefinedConfig/Common/TransposeConfig.js +2 -0
- package/src/PredefinedConfig/Common/Types.d.ts +4 -4
- package/src/PredefinedConfig/Common/Types.js +4 -1
- package/src/PredefinedConfig/ExportState.d.ts +2 -2
- package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
- package/src/PredefinedConfig/FormatColumnState.d.ts +9 -5
- package/src/PredefinedConfig/LayoutState.d.ts +2 -2
- package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +4 -4
- package/src/PredefinedConfig/NoteState.js +2 -0
- package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
- package/src/PredefinedConfig/PopupState.d.ts +1 -2
- package/src/PredefinedConfig/PredefinedConfig.d.ts +2 -2
- package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
- package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
- package/src/PredefinedConfig/StyledColumnState.d.ts +5 -5
- package/src/PredefinedConfig/SystemState.d.ts +5 -4
- package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
- package/src/Redux/ActionsReducers/CommentsRedux.js +1 -39
- package/src/Redux/ActionsReducers/LayoutRedux.js +12 -10
- package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
- package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +31 -31
- package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
- package/src/Redux/ActionsReducers/PopupRedux.js +1 -22
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +11 -5
- package/src/Redux/ActionsReducers/SystemRedux.js +14 -11
- package/src/Redux/Store/AdaptableStore.js +39 -32
- package/src/Strategy/AdaptableModuleBase.d.ts +10 -10
- package/src/Strategy/AdaptableModuleBase.js +13 -16
- package/src/Strategy/AlertModule.d.ts +3 -2
- package/src/Strategy/AlertModule.js +4 -4
- package/src/Strategy/BulkUpdateModule.d.ts +3 -2
- package/src/Strategy/BulkUpdateModule.js +2 -1
- package/src/Strategy/CalculatedColumnModule.d.ts +3 -4
- package/src/Strategy/CalculatedColumnModule.js +18 -14
- package/src/Strategy/CellSummaryModule.d.ts +9 -9
- package/src/Strategy/CellSummaryModule.js +96 -107
- package/src/Strategy/ColumnFilterModule.d.ts +3 -3
- package/src/Strategy/ColumnFilterModule.js +36 -57
- package/src/Strategy/ColumnInfoModule.d.ts +3 -3
- package/src/Strategy/ColumnInfoModule.js +6 -4
- package/src/Strategy/CommentModule.d.ts +12 -0
- package/src/Strategy/CommentModule.js +75 -0
- package/src/Strategy/CustomSortModule.d.ts +1 -2
- package/src/Strategy/CustomSortModule.js +3 -2
- package/src/Strategy/DashboardModule.d.ts +3 -3
- package/src/Strategy/DashboardModule.js +10 -20
- package/src/Strategy/DataImportModule.d.ts +4 -4
- package/src/Strategy/DataImportModule.js +8 -8
- package/src/Strategy/ExportModule.d.ts +1 -2
- package/src/Strategy/ExportModule.js +56 -42
- package/src/Strategy/Fdc3Module.d.ts +1 -1
- package/src/Strategy/Fdc3Module.js +3 -13
- package/src/Strategy/FlashingCellModule.d.ts +4 -3
- package/src/Strategy/FlashingCellModule.js +10 -10
- package/src/Strategy/FormatColumnModule.d.ts +1 -1
- package/src/Strategy/FormatColumnModule.js +29 -47
- package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
- package/src/Strategy/FreeTextColumnModule.js +2 -2
- package/src/Strategy/GridInfoModule.d.ts +3 -3
- package/src/Strategy/GridInfoModule.js +5 -3
- package/src/Strategy/Interface/IModule.d.ts +4 -4
- package/src/Strategy/LayoutModule.d.ts +4 -10
- package/src/Strategy/LayoutModule.js +50 -150
- package/src/Strategy/NoteModule.d.ts +10 -0
- package/src/Strategy/NoteModule.js +60 -0
- package/src/Strategy/PlusMinusModule.d.ts +1 -2
- package/src/Strategy/PlusMinusModule.js +5 -5
- package/src/Strategy/SettingsPanelModule.d.ts +3 -3
- package/src/Strategy/SettingsPanelModule.js +6 -6
- package/src/Strategy/ShortcutModule.js +1 -1
- package/src/Strategy/SmartEditModule.d.ts +3 -2
- package/src/Strategy/SmartEditModule.js +2 -1
- package/src/Strategy/StyledColumnModule.d.ts +2 -1
- package/src/Strategy/StyledColumnModule.js +42 -22
- package/src/Strategy/SystemStatusModule.d.ts +3 -3
- package/src/Strategy/SystemStatusModule.js +6 -3
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -2
- package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
- package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
- package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
- package/src/Utilities/Constants/GeneralConstants.js +3 -2
- package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
- package/src/Utilities/Constants/ModuleConstants.js +7 -7
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +2 -2
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +2 -2
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +144 -7
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
- package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -1
- package/src/Utilities/Helpers/AdaptableHelper.js +21 -1
- package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
- package/src/Utilities/MenuItem.d.ts +10 -7
- package/src/Utilities/MenuItem.js +6 -3
- package/src/Utilities/ObjectFactory.d.ts +3 -3
- package/src/Utilities/ObjectFactory.js +7 -25
- package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +1 -0
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +12 -10
- package/src/Utilities/Services/CellPopupService.js +4 -4
- package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
- package/src/Utilities/Services/LicenseService/index.js +1 -198
- package/src/Utilities/Services/ModuleService.js +6 -2
- package/src/Utilities/Services/QueryLanguageService.js +2 -2
- package/src/Utilities/Services/ReportService.d.ts +7 -5
- package/src/Utilities/Services/ReportService.js +245 -26
- package/src/Utilities/Services/RowSummaryService.d.ts +26 -0
- package/src/Utilities/Services/RowSummaryService.js +160 -0
- package/src/Utilities/Services/ValidationService.js +2 -2
- package/src/Utilities/adaptableQlUtils.d.ts +2 -0
- package/src/Utilities/adaptableQlUtils.js +18 -0
- package/src/Utilities/license/decode.js +1 -70
- package/src/Utilities/license/hashing.js +1 -47
- package/src/View/AdaptableViewFactory.js +2 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
- package/src/View/Alert/AlertEntityRow.js +1 -1
- package/src/View/Alert/Utilities/getAvailablePredicates.d.ts +2 -2
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -1
- package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
- package/src/View/BulkUpdate/BulkUpdatePopup.js +2 -2
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
- package/src/View/ColumnInfo/ColumnInfo.js +1 -1
- package/src/View/Comments/CommentsEditor.js +28 -17
- package/src/View/Comments/CommentsPopup.js +15 -7
- package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
- package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
- package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +46 -0
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
- package/src/View/Components/CellPopup/index.d.ts +1 -0
- package/src/View/Components/CellPopup/index.js +6 -3
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
- package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
- package/src/View/Components/FilterForm/FilterForm.js +20 -12
- package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
- package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
- package/src/View/Components/NewScopeComponent.d.ts +5 -5
- package/src/View/Components/NewScopeComponent.js +6 -4
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -1
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +10 -1
- package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -10
- package/src/View/Components/RangesComponent.d.ts +2 -2
- package/src/View/Components/RangesComponent.js +1 -1
- package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
- package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
- package/src/View/Components/ValueSelector/index.d.ts +1 -0
- package/src/View/Components/ValueSelector/index.js +2 -2
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +4 -2
- package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +20 -7
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +27 -12
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
- package/src/View/GridFilter/GridFilterViewPanel.js +3 -3
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
- package/src/View/Layout/LayoutViewPanel.js +2 -1
- package/src/View/Layout/TransposedPopup.js +20 -19
- package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
- package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +18 -2
- package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +181 -0
- package/src/View/License/LicenseWatermark.js +1 -66
- package/src/View/Note/NotePopup.d.ts +2 -0
- package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +16 -11
- package/src/View/PlusMinus/PlusMinusSummary.js +2 -2
- package/src/View/SmartEdit/SmartEditPopup.js +1 -1
- package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +5 -7
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +38 -14
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -1
- package/src/agGrid/ActionColumnRenderer.js +40 -4
- package/src/agGrid/AdaptableAgGrid.d.ts +11 -16
- package/src/agGrid/AdaptableAgGrid.js +230 -250
- package/src/agGrid/AgGridAdapter.d.ts +4 -2
- package/src/agGrid/AgGridAdapter.js +12 -0
- package/src/agGrid/AgGridColumnAdapter.d.ts +1 -3
- package/src/agGrid/AgGridColumnAdapter.js +42 -71
- package/src/agGrid/AgGridMenuAdapter.d.ts +25 -8
- package/src/agGrid/AgGridMenuAdapter.js +405 -74
- package/src/agGrid/AgGridOptionsService.d.ts +4 -1
- package/src/agGrid/AgGridOptionsService.js +22 -0
- package/src/agGrid/BadgeRenderer.d.ts +2 -2
- package/src/agGrid/BadgeRenderer.js +24 -11
- package/src/agGrid/PercentBarRenderer.js +2 -1
- package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
- package/src/agGrid/buildSortedColumnStateForLayout.js +124 -0
- package/src/agGrid/defaultAdaptableOptions.js +7 -12
- package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
- package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
- package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
- package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
- package/src/agGrid/sortColumnStateForVisibleColumns.js +50 -0
- package/src/agGrid/weightedAverage.d.ts +0 -2
- package/src/agGrid/weightedAverage.js +1 -56
- package/src/components/Accordion.d.ts +7 -0
- package/src/components/Accordion.js +41 -0
- package/src/components/Datepicker/index.js +10 -2
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
- package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
- package/src/components/ExpressionEditor/QueryBuilder/utils.js +3 -17
- package/src/components/Input/index.d.ts +1 -2
- package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
- package/src/components/Select/Select.d.ts +1 -1
- package/src/components/Select/Select.js +3 -1
- package/src/components/Textarea/index.d.ts +2 -2
- package/src/components/icons/collapse-all.d.ts +3 -0
- package/src/components/icons/collapse-all.js +7 -0
- package/src/components/icons/copy.d.ts +3 -0
- package/src/components/icons/copy.js +7 -0
- package/src/components/icons/csv.d.ts +3 -0
- package/src/components/icons/csv.js +7 -0
- package/src/components/icons/data-object.d.ts +3 -0
- package/src/components/icons/data-object.js +7 -0
- package/src/components/icons/excel.d.ts +3 -0
- package/src/components/icons/excel.js +8 -0
- package/src/components/icons/expand-all.d.ts +3 -0
- package/src/components/icons/expand-all.js +7 -0
- package/src/components/icons/filter-off.d.ts +3 -0
- package/src/components/icons/filter-off.js +7 -0
- package/src/components/icons/grid-info.d.ts +3 -0
- package/src/components/icons/grid-info.js +7 -0
- package/src/components/icons/index.js +22 -0
- package/src/components/icons/note.js +2 -2
- package/src/components/icons/select-all.d.ts +3 -0
- package/src/components/icons/select-all.js +7 -0
- package/src/components/icons/select-fwd.d.ts +3 -0
- package/src/components/icons/select-fwd.js +7 -0
- package/src/components/icons/select-off.d.ts +3 -0
- package/src/components/icons/select-off.js +7 -0
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +222 -116
- package/src/metamodel/adaptable.metamodel.js +1 -9429
- package/src/parser/src/parser.js +576 -553
- package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
- package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
- package/src/parser/src/types.d.ts +2 -2
- package/src/parser/src/types.js +1 -2
- package/src/types.d.ts +32 -25
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/src/AdaptableOptions/MenuOptions.d.ts +0 -234
- package/src/AdaptableOptions/MenuOptions.js +0 -99
- package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
- package/src/Api/Implementation/ScopeApiImpl.d.ts +0 -33
- package/src/Api/Internal/NotesInternalApi.d.ts +0 -4
- package/src/Api/NotesApi.d.ts +0 -48
- package/src/PredefinedConfig/CellAddress.d.ts +0 -13
- package/src/PredefinedConfig/CellAddress.js +0 -5
- package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -38
- package/src/Strategy/CommentsModule.d.ts +0 -17
- package/src/Strategy/CommentsModule.js +0 -86
- package/src/Strategy/NotesModule.d.ts +0 -10
- package/src/Strategy/NotesModule.js +0 -61
- package/src/Utilities/Services/SummaryService.d.ts +0 -19
- package/src/Utilities/Services/SummaryService.js +0 -33
- package/src/View/Notes/NotesPopup.d.ts +0 -2
- /package/src/{Api/Events/CommentsChangedInfo.js → AdaptableOptions/ColumnMenuOptions.js} +0 -0
- /package/src/{Api/NotesApi.js → AdaptableOptions/ContextMenuOptions.js} +0 -0
- /package/src/Api/{ScopeApi.js → ColumnMenuApi.js} +0 -0
- /package/src/{PredefinedConfig/Common/AdaptableScope.js → Api/ColumnScopeApi.js} +0 -0
- /package/src/{PredefinedConfig/NotesState.js → Api/ContextMenuApi.js} +0 -0
- /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
- /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.aggregatedScalarExpressionFunctionNames = exports.aggregatedScalarExpressionFunctions = exports.quantileAggregatedExpressionFunctions = exports.cumulativeAggregatedExpressionFunctions = exports.aggregatedExpressionFunctions = void 0;
|
|
4
|
-
const
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
5
|
const ExpressionEvaluationError_1 = require("../../parser/src/ExpressionEvaluationError");
|
|
6
|
-
const TypeExtensions_1 = require("../Extensions/TypeExtensions");
|
|
7
6
|
const ArrayExtensions_1 = require("../Extensions/ArrayExtensions");
|
|
7
|
+
const TypeExtensions_1 = require("../Extensions/TypeExtensions");
|
|
8
|
+
const expressionFunctionUtils_1 = require("./expressionFunctionUtils");
|
|
9
|
+
const isAfter_1 = tslib_1.__importDefault(require("date-fns/isAfter"));
|
|
10
|
+
const DateHelper_1 = require("../Helpers/DateHelper");
|
|
8
11
|
exports.aggregatedExpressionFunctions = [
|
|
9
12
|
'SUM',
|
|
10
13
|
'PERCENTAGE',
|
|
@@ -116,6 +119,7 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
116
119
|
],
|
|
117
120
|
examples: ['SUM([colA])', 'SUM([colA], GROUP_BY([colB]))'],
|
|
118
121
|
category: 'aggregation',
|
|
122
|
+
inputs: ['number'],
|
|
119
123
|
},
|
|
120
124
|
PERCENTAGE: {
|
|
121
125
|
handler(args, context) {
|
|
@@ -259,6 +263,7 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
259
263
|
],
|
|
260
264
|
examples: ['AVG([colA])', 'AVG([colA], GROUP_BY([colB]))', 'AVG([colA], WEIGHT([colB]))'],
|
|
261
265
|
category: 'aggregation',
|
|
266
|
+
inputs: ['number'],
|
|
262
267
|
},
|
|
263
268
|
MEDIAN: {
|
|
264
269
|
handler(args, context) {
|
|
@@ -323,12 +328,13 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
323
328
|
],
|
|
324
329
|
examples: ['MEDIAN([colA])', 'MEDIAN([colA], GROUP_BY([colB]))'],
|
|
325
330
|
category: 'aggregation',
|
|
331
|
+
inputs: ['number'],
|
|
326
332
|
},
|
|
327
333
|
MODE: {
|
|
328
334
|
handler(args, context) {
|
|
329
335
|
const modeColumnParameter = (0, expressionFunctionUtils_1.extractColumnParameter)('mode', args);
|
|
330
336
|
const modeColumnName = modeColumnParameter.value;
|
|
331
|
-
(0, expressionFunctionUtils_1.validateColumnType)(modeColumnName, ['Number'], 'mode', context.adaptableApi);
|
|
337
|
+
(0, expressionFunctionUtils_1.validateColumnType)(modeColumnName, ['Number', 'String', 'Date'], 'mode', context.adaptableApi);
|
|
332
338
|
const groupByParameter = (0, expressionFunctionUtils_1.extractParameter)('MODE', 'operand', ['GROUP_BY'], args, {
|
|
333
339
|
isOptional: true,
|
|
334
340
|
});
|
|
@@ -342,12 +348,16 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
342
348
|
reducer: (aggregatedValue, rowValue, rowNode) => {
|
|
343
349
|
var _a;
|
|
344
350
|
if (typeof rowValue !== 'number' && typeof rowValue !== 'string') {
|
|
345
|
-
return;
|
|
351
|
+
return aggregatedValue;
|
|
352
|
+
}
|
|
353
|
+
if (!aggregatedValue) {
|
|
354
|
+
return new Map();
|
|
346
355
|
}
|
|
347
356
|
aggregatedValue.set(rowValue, ((_a = aggregatedValue.get(rowValue)) !== null && _a !== void 0 ? _a : 0) + 1);
|
|
348
357
|
return aggregatedValue;
|
|
349
358
|
},
|
|
350
359
|
done: (aggregatedValue) => {
|
|
360
|
+
var _a;
|
|
351
361
|
const sorted = [...aggregatedValue.entries()].sort(([aVal, aFreq], [bVal, bFreq]) => {
|
|
352
362
|
if (aFreq < bFreq) {
|
|
353
363
|
return 1;
|
|
@@ -359,7 +369,7 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
359
369
|
return aVal === bVal ? 0 : 1;
|
|
360
370
|
}
|
|
361
371
|
});
|
|
362
|
-
return sorted[0][0];
|
|
372
|
+
return (_a = sorted === null || sorted === void 0 ? void 0 : sorted[0]) === null || _a === void 0 ? void 0 : _a[0];
|
|
363
373
|
},
|
|
364
374
|
},
|
|
365
375
|
},
|
|
@@ -384,6 +394,7 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
384
394
|
],
|
|
385
395
|
examples: ['MODE([colA])', 'MODE([colA], GROUP_BY([colB]))'],
|
|
386
396
|
category: 'aggregation',
|
|
397
|
+
inputs: [['number'], ['text'], ['date']],
|
|
387
398
|
},
|
|
388
399
|
DISTINCT: {
|
|
389
400
|
handler(args, context) {
|
|
@@ -431,6 +442,7 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
431
442
|
],
|
|
432
443
|
examples: ['DISTINCT([colA])', 'DISTINCT([colA], GROUP_BY([colB]))'],
|
|
433
444
|
category: 'aggregation',
|
|
445
|
+
inputs: [['number'], ['text'], ['date']],
|
|
434
446
|
},
|
|
435
447
|
ONLY: {
|
|
436
448
|
handler(args, context) {
|
|
@@ -480,6 +492,7 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
480
492
|
],
|
|
481
493
|
examples: ['ONLY([colA])', 'ONLY([colA], GROUP_BY([colB]))'],
|
|
482
494
|
category: 'aggregation',
|
|
495
|
+
inputs: [['number'], ['text'], ['date']],
|
|
483
496
|
},
|
|
484
497
|
STD_DEVIATION: {
|
|
485
498
|
handler(args, context) {
|
|
@@ -537,6 +550,7 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
537
550
|
],
|
|
538
551
|
examples: ['ONLY([colA])', 'ONLY([colA], GROUP_BY([colB]))'],
|
|
539
552
|
category: 'aggregation',
|
|
553
|
+
inputs: ['number'],
|
|
540
554
|
},
|
|
541
555
|
MIN: {
|
|
542
556
|
handler(args, context) {
|
|
@@ -588,6 +602,7 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
588
602
|
],
|
|
589
603
|
examples: ['MIN([colA])', 'MIN([colA], GROUP_BY([colB]))'],
|
|
590
604
|
category: 'aggregation',
|
|
605
|
+
inputs: ['number'],
|
|
591
606
|
},
|
|
592
607
|
MAX: {
|
|
593
608
|
handler(args, context) {
|
|
@@ -639,6 +654,7 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
639
654
|
],
|
|
640
655
|
examples: ['MIN([colA])', 'MIN([colA], GROUP_BY([colB]))'],
|
|
641
656
|
category: 'aggregation',
|
|
657
|
+
inputs: ['number'],
|
|
642
658
|
},
|
|
643
659
|
QUANT: {
|
|
644
660
|
handler(args, context) {
|
|
@@ -837,6 +853,7 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
837
853
|
],
|
|
838
854
|
examples: ['COUNT([colA])', 'COUNT([colA], GROUP_BY([colB]))'],
|
|
839
855
|
category: 'aggregation',
|
|
856
|
+
inputs: [['number'], ['text'], ['date']],
|
|
840
857
|
},
|
|
841
858
|
OVER: {
|
|
842
859
|
handler(args, context) {
|
|
@@ -898,6 +915,124 @@ exports.aggregatedScalarExpressionFunctions = {
|
|
|
898
915
|
examples: ['[col1]', 'COL("col1")'],
|
|
899
916
|
category: 'special',
|
|
900
917
|
},
|
|
918
|
+
OLDEST: {
|
|
919
|
+
handler(args, context) {
|
|
920
|
+
const minColumnParameter = (0, expressionFunctionUtils_1.extractColumnParameter)('OLDEST', args);
|
|
921
|
+
const minColumnName = minColumnParameter.value;
|
|
922
|
+
(0, expressionFunctionUtils_1.validateColumnType)(minColumnName, ['Date'], 'OLDEST', context.adaptableApi);
|
|
923
|
+
const groupByParameter = (0, expressionFunctionUtils_1.extractParameter)('OLDEST', 'operand', ['GROUP_BY'], args, {
|
|
924
|
+
isOptional: true,
|
|
925
|
+
});
|
|
926
|
+
const aggregationExpressionEvaluation = {
|
|
927
|
+
aggregationParams: {
|
|
928
|
+
reducers: {
|
|
929
|
+
OLDEST: {
|
|
930
|
+
name: 'OLDEST',
|
|
931
|
+
field: minColumnName,
|
|
932
|
+
initialValue: null,
|
|
933
|
+
reducer: (minValue, rowValue) => {
|
|
934
|
+
if (!minValue) {
|
|
935
|
+
return rowValue;
|
|
936
|
+
}
|
|
937
|
+
if (!rowValue) {
|
|
938
|
+
return minValue;
|
|
939
|
+
}
|
|
940
|
+
if ((0, isAfter_1.default)((0, DateHelper_1.parseDateValue)(minValue), (0, DateHelper_1.parseDateValue)(rowValue))) {
|
|
941
|
+
return rowValue;
|
|
942
|
+
}
|
|
943
|
+
else {
|
|
944
|
+
return minValue;
|
|
945
|
+
}
|
|
946
|
+
},
|
|
947
|
+
done: (minValue, arr) => {
|
|
948
|
+
if (minValue !== null) {
|
|
949
|
+
return minValue;
|
|
950
|
+
}
|
|
951
|
+
},
|
|
952
|
+
},
|
|
953
|
+
},
|
|
954
|
+
},
|
|
955
|
+
rowFilterFn: context.filterFn,
|
|
956
|
+
getRowNodes: context.getRowNodes,
|
|
957
|
+
};
|
|
958
|
+
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
959
|
+
const result = {
|
|
960
|
+
name: 'OLDEST',
|
|
961
|
+
type: 'aggregationScalar',
|
|
962
|
+
value: aggregationExpressionEvaluation,
|
|
963
|
+
};
|
|
964
|
+
return result;
|
|
965
|
+
},
|
|
966
|
+
description: 'Aggregates a Date column over multiple rows by computing the oldest of the column values\nOptionally the aggregation may be computed within provided individual groups',
|
|
967
|
+
signatures: [
|
|
968
|
+
'OLDEST( [colName] )',
|
|
969
|
+
'OLDEST( COL(name: string))',
|
|
970
|
+
'OLDEST( [colNameA], GROUP_BY( [colNameB] ))',
|
|
971
|
+
'OLDEST( COL(nameA: string), GROUP_BY( COL(nameB: string)))',
|
|
972
|
+
],
|
|
973
|
+
examples: ['OLDEST([colA])', 'OLDEST([colA], GROUP_BY([colB]))'],
|
|
974
|
+
category: 'aggregation',
|
|
975
|
+
inputs: ['date'],
|
|
976
|
+
},
|
|
977
|
+
NEWEST: {
|
|
978
|
+
handler(args, context) {
|
|
979
|
+
const minColumnParameter = (0, expressionFunctionUtils_1.extractColumnParameter)('NEWEST', args);
|
|
980
|
+
const minColumnName = minColumnParameter.value;
|
|
981
|
+
(0, expressionFunctionUtils_1.validateColumnType)(minColumnName, ['Date'], 'NEWEST', context.adaptableApi);
|
|
982
|
+
const groupByParameter = (0, expressionFunctionUtils_1.extractParameter)('NEWEST', 'operand', ['GROUP_BY'], args, {
|
|
983
|
+
isOptional: true,
|
|
984
|
+
});
|
|
985
|
+
const aggregationExpressionEvaluation = {
|
|
986
|
+
aggregationParams: {
|
|
987
|
+
reducers: {
|
|
988
|
+
NEWEST: {
|
|
989
|
+
name: 'NEWEST',
|
|
990
|
+
field: minColumnName,
|
|
991
|
+
initialValue: null,
|
|
992
|
+
reducer: (minValue, rowValue) => {
|
|
993
|
+
if (!minValue) {
|
|
994
|
+
return rowValue;
|
|
995
|
+
}
|
|
996
|
+
if (!rowValue) {
|
|
997
|
+
return minValue;
|
|
998
|
+
}
|
|
999
|
+
if ((0, isAfter_1.default)((0, DateHelper_1.parseDateValue)(minValue), (0, DateHelper_1.parseDateValue)(rowValue))) {
|
|
1000
|
+
return minValue;
|
|
1001
|
+
}
|
|
1002
|
+
else {
|
|
1003
|
+
return rowValue;
|
|
1004
|
+
}
|
|
1005
|
+
},
|
|
1006
|
+
done: (minValue, arr) => {
|
|
1007
|
+
if (minValue !== null) {
|
|
1008
|
+
return minValue;
|
|
1009
|
+
}
|
|
1010
|
+
},
|
|
1011
|
+
},
|
|
1012
|
+
},
|
|
1013
|
+
},
|
|
1014
|
+
rowFilterFn: context.filterFn,
|
|
1015
|
+
getRowNodes: context.getRowNodes,
|
|
1016
|
+
};
|
|
1017
|
+
addGroupByParams(groupByParameter === null || groupByParameter === void 0 ? void 0 : groupByParameter.value, aggregationExpressionEvaluation);
|
|
1018
|
+
const result = {
|
|
1019
|
+
name: 'NEWEST',
|
|
1020
|
+
type: 'aggregationScalar',
|
|
1021
|
+
value: aggregationExpressionEvaluation,
|
|
1022
|
+
};
|
|
1023
|
+
return result;
|
|
1024
|
+
},
|
|
1025
|
+
description: 'Aggregates a Date column over multiple rows by computing the most recent of the column values\nOptionally the aggregation may be computed within provided individual groups',
|
|
1026
|
+
signatures: [
|
|
1027
|
+
'NEWEST( [colName] )',
|
|
1028
|
+
'NEWEST( COL(name: string))',
|
|
1029
|
+
'NEWEST( [colNameA], GROUP_BY( [colNameB] ))',
|
|
1030
|
+
'NEWEST( COL(nameA: string), GROUP_BY( COL(nameB: string)))',
|
|
1031
|
+
],
|
|
1032
|
+
examples: ['NEWEST([colA])', 'NEWEST([colA], GROUP_BY([colB]))'],
|
|
1033
|
+
category: 'aggregation',
|
|
1034
|
+
inputs: ['date'],
|
|
1035
|
+
},
|
|
901
1036
|
};
|
|
902
1037
|
const mapAggregationToCumulation = (aggregationParameter, overColumnParameter, context) => {
|
|
903
1038
|
const aggregationEvaluation = aggregationParameter.value;
|
|
@@ -969,13 +1104,15 @@ const mapAggregationToCumulation = (aggregationParameter, overColumnParameter, c
|
|
|
969
1104
|
if ((_a = aggregationEvaluation.context) === null || _a === void 0 ? void 0 : _a.weightParam) {
|
|
970
1105
|
// weighted average
|
|
971
1106
|
const weightValue = (_b = context.adaptableApi.gridApi.getRawValueFromRowNode(rowNode, aggregationEvaluation.context.weightParam.value)) !== null && _b !== void 0 ? _b : 0;
|
|
972
|
-
cumulationBag.currentValue =
|
|
1107
|
+
cumulationBag.currentValue =
|
|
1108
|
+
cumulationBag.currentValue + rowValue * weightValue;
|
|
973
1109
|
cumulationBag.numberOfCumulatedValues =
|
|
974
1110
|
cumulationBag.numberOfCumulatedValues + weightValue;
|
|
975
1111
|
}
|
|
976
1112
|
else {
|
|
977
1113
|
cumulationBag.currentValue = cumulationBag.currentValue + rowValue;
|
|
978
|
-
cumulationBag.numberOfCumulatedValues =
|
|
1114
|
+
cumulationBag.numberOfCumulatedValues =
|
|
1115
|
+
cumulationBag.numberOfCumulatedValues + 1;
|
|
979
1116
|
}
|
|
980
1117
|
}
|
|
981
1118
|
if (cumulationBag.numberOfCumulatedValues !== 0) {
|
|
@@ -279,10 +279,10 @@ const isLastElementMinValue = (values) => {
|
|
|
279
279
|
};
|
|
280
280
|
// useful for functions which do NOT have an initial change (ex. GRID_CHANGE NONE)
|
|
281
281
|
const getDataChangedInfoStub = (context) => {
|
|
282
|
-
var _a;
|
|
282
|
+
var _a, _b;
|
|
283
283
|
let rowNodeStub;
|
|
284
284
|
if (!context.filterFn) {
|
|
285
|
-
rowNodeStub = context.adaptableApi.gridApi.getFirstRowNode();
|
|
285
|
+
rowNodeStub = (_a = context.node) !== null && _a !== void 0 ? _a : context.adaptableApi.gridApi.getFirstRowNode();
|
|
286
286
|
}
|
|
287
287
|
else {
|
|
288
288
|
// if there is a WHERE clause defined, find the first rowNode which satisfies the condition
|
|
@@ -297,7 +297,7 @@ const getDataChangedInfoStub = (context) => {
|
|
|
297
297
|
const rowNode = rowNodeStub;
|
|
298
298
|
if (rowNode) {
|
|
299
299
|
const primaryKeyValue = context.adaptableApi.gridApi.getPrimaryKeyValueForRowNode(rowNode);
|
|
300
|
-
const columnId = (
|
|
300
|
+
const columnId = (_b = context.adaptableApi.columnApi.getQueryableColumns()[0]) === null || _b === void 0 ? void 0 : _b.columnId;
|
|
301
301
|
const oldValue = context.adaptableApi.gridApi.getCellRawValue(primaryKeyValue, columnId);
|
|
302
302
|
const column = context.adaptableApi.columnApi.getColumnWithColumnId(columnId);
|
|
303
303
|
const newValue = oldValue;
|
|
@@ -2,6 +2,6 @@ import { ExpressionFunction } from '../../parser/src/types';
|
|
|
2
2
|
/**
|
|
3
3
|
* List of all the Scalar Functions available in AdaptableQL
|
|
4
4
|
*/
|
|
5
|
-
export type ScalarFunctionName = 'ADD' | 'SUB' | 'MUL' | 'DIV' | 'MOD' | 'POW' | 'ABS' | 'CEILING' | 'FLOOR' | 'ROUND' | 'MIN' | 'MAX' | 'AVG' | 'DATE' | 'NOW' | 'CURRENT_DAY' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'ADD_DAYS' | 'ADD_WEEKS' | 'ADD_MONTHS' | 'ADD_YEARS' | 'DIFF_DAYS' | 'DIFF_WEEKS' | 'DIFF_MONTHS' | 'DIFF_YEARS' | 'SUB_STRING' | 'REPLACE' | 'COALESCE' | 'NULL' | 'LEN' | 'UPPER' | 'LOWER' | 'CONCAT' | 'IF' | 'CASE' | 'COL' | 'VAR' | 'TO_ARRAY' | 'QUERY' | 'IS_BLANK' | 'IS_NOT_BLANK';
|
|
5
|
+
export type ScalarFunctionName = 'ADD' | 'SUB' | 'MUL' | 'DIV' | 'MOD' | 'POW' | 'ABS' | 'CEILING' | 'FLOOR' | 'ROUND' | 'MIN' | 'MAX' | 'AVG' | 'DATE' | 'NOW' | 'CURRENT_DAY' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' | 'ADD_DAYS' | 'ADD_WEEKS' | 'ADD_MONTHS' | 'ADD_YEARS' | 'DIFF_DAYS' | 'DIFF_WEEKS' | 'DIFF_MONTHS' | 'DIFF_YEARS' | 'SUB_STRING' | 'REPLACE' | 'COALESCE' | 'NULL' | 'LEN' | 'UPPER' | 'LOWER' | 'CONCAT' | 'IF' | 'CASE' | 'COL' | 'FIELD' | 'VAR' | 'TO_ARRAY' | 'QUERY' | 'IS_BLANK' | 'IS_NOT_BLANK';
|
|
6
6
|
export declare const scalarExpressionFunctions: Record<ScalarFunctionName, ExpressionFunction>;
|
|
7
7
|
export declare const scalarExpressionFunctionNames: ScalarFunctionName[];
|
|
@@ -72,6 +72,21 @@ exports.scalarExpressionFunctions = {
|
|
|
72
72
|
category: 'special',
|
|
73
73
|
returnType: 'any',
|
|
74
74
|
},
|
|
75
|
+
FIELD: {
|
|
76
|
+
handler(args, context) {
|
|
77
|
+
var _a, _b;
|
|
78
|
+
const fieldName = args[0];
|
|
79
|
+
if (StringExtensions_1.default.IsNullOrEmpty(fieldName)) {
|
|
80
|
+
throw new ExpressionEvaluationError_1.ExpressionEvaluationError('FIELD', 'requires a field name');
|
|
81
|
+
}
|
|
82
|
+
return (_a = context.adaptableApi) === null || _a === void 0 ? void 0 : _a.internalApi.getValueUsingField((_b = context.node) === null || _b === void 0 ? void 0 : _b.data, fieldName);
|
|
83
|
+
},
|
|
84
|
+
description: 'Returns the value of a row field (not necessarily mapped to a column). If the field is nested, use dot notation (e.g. "nested.fieldName")',
|
|
85
|
+
signatures: ['FIELD(fieldName:string)'],
|
|
86
|
+
examples: ['FIELD("fieldName")', 'FIELD("nested.fieldName")'],
|
|
87
|
+
category: 'special',
|
|
88
|
+
returnType: 'any',
|
|
89
|
+
},
|
|
75
90
|
QUERY: {
|
|
76
91
|
handler(args, context) {
|
|
77
92
|
var _a, _b;
|
|
@@ -8,7 +8,8 @@ export declare function checkValidPrimaryKey(adaptable: IAdaptable): boolean;
|
|
|
8
8
|
export declare function AdaptableObjectExistsInState(array: AdaptableObject[], itemToCheck: AdaptableObject): boolean;
|
|
9
9
|
export declare function getAppropriateAccessLevel(adaptableObject: AdaptableObject, moduleAccessLevel: AccessLevel): AccessLevel;
|
|
10
10
|
export declare function runAdaptableComparerFunction(columnId: string, columnValues: any[], adaptable: IAdaptable): AdaptableComparerFunction;
|
|
11
|
-
export declare function addUuidAndSource(adaptableObject:
|
|
11
|
+
export declare function addUuidAndSource<T extends AdaptableObject>(adaptableObject: T): T;
|
|
12
|
+
export declare function removeUuidAndSource<T extends AdaptableObject>(adaptableObject: T): T;
|
|
12
13
|
export declare const AdaptableHelper: {
|
|
13
14
|
initPredefinedConfigWithUuids: typeof initPredefinedConfigWithUuids;
|
|
14
15
|
checkValidPrimaryKey: typeof checkValidPrimaryKey;
|
|
@@ -16,5 +17,6 @@ export declare const AdaptableHelper: {
|
|
|
16
17
|
runAdaptableComparerFunction: typeof runAdaptableComparerFunction;
|
|
17
18
|
getAppropriateAccessLevel: typeof getAppropriateAccessLevel;
|
|
18
19
|
addUuidAndSource: typeof addUuidAndSource;
|
|
20
|
+
removeUuidAndSource: typeof removeUuidAndSource;
|
|
19
21
|
};
|
|
20
22
|
export default AdaptableHelper;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AdaptableHelper = exports.addUuidAndSource = exports.runAdaptableComparerFunction = exports.getAppropriateAccessLevel = exports.AdaptableObjectExistsInState = exports.checkValidPrimaryKey = exports.initPredefinedConfigWithUuids = void 0;
|
|
3
|
+
exports.AdaptableHelper = exports.removeUuidAndSource = exports.addUuidAndSource = exports.runAdaptableComparerFunction = exports.getAppropriateAccessLevel = exports.AdaptableObjectExistsInState = exports.checkValidPrimaryKey = exports.initPredefinedConfigWithUuids = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const cloneDeepWith_1 = tslib_1.__importDefault(require("lodash/cloneDeepWith"));
|
|
6
6
|
const isPlainObject_1 = tslib_1.__importDefault(require("lodash/isPlainObject"));
|
|
@@ -96,6 +96,25 @@ function addUuidAndSource(adaptableObject) {
|
|
|
96
96
|
return adaptableObject;
|
|
97
97
|
}
|
|
98
98
|
exports.addUuidAndSource = addUuidAndSource;
|
|
99
|
+
function removeUuidAndSource(adaptableObject) {
|
|
100
|
+
const clonedObject = structuredClone(adaptableObject);
|
|
101
|
+
const sanitiseObject = (object) => {
|
|
102
|
+
for (const key in object) {
|
|
103
|
+
if (key === 'Source' || key === 'Uuid') {
|
|
104
|
+
delete object[key];
|
|
105
|
+
}
|
|
106
|
+
else if (Array.isArray(object[key])) {
|
|
107
|
+
object[key].forEach((item) => sanitiseObject(item));
|
|
108
|
+
}
|
|
109
|
+
else if (typeof object[key] === 'object') {
|
|
110
|
+
sanitiseObject(object[key]);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
sanitiseObject(clonedObject);
|
|
115
|
+
return clonedObject;
|
|
116
|
+
}
|
|
117
|
+
exports.removeUuidAndSource = removeUuidAndSource;
|
|
99
118
|
exports.AdaptableHelper = {
|
|
100
119
|
initPredefinedConfigWithUuids,
|
|
101
120
|
checkValidPrimaryKey,
|
|
@@ -103,5 +122,6 @@ exports.AdaptableHelper = {
|
|
|
103
122
|
runAdaptableComparerFunction,
|
|
104
123
|
getAppropriateAccessLevel,
|
|
105
124
|
addUuidAndSource,
|
|
125
|
+
removeUuidAndSource,
|
|
106
126
|
};
|
|
107
127
|
exports.default = exports.AdaptableHelper;
|
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
import * as Redux from 'redux';
|
|
2
2
|
import { ModuleParams } from '../View/Components/SharedProps/ModuleViewPopupProps';
|
|
3
|
-
import { AdaptableMenuItem } from '../PredefinedConfig/Common/Menu';
|
|
3
|
+
import { AdaptableMenuItem, AdaptableContextMenuItemName, AdaptableColumnMenuItemName } from '../PredefinedConfig/Common/Menu';
|
|
4
4
|
import { AdaptableModule } from '../PredefinedConfig/Common/Types';
|
|
5
5
|
import { AdaptableIcon, AdaptableSystemIconName } from '../PredefinedConfig/Common/AdaptableIcon';
|
|
6
|
-
export declare class MenuItemDoReduxAction implements AdaptableMenuItem {
|
|
7
|
-
constructor(label: string, module: AdaptableModule, reduxAction: Redux.Action, icon: AdaptableSystemIconName, isVisible: boolean);
|
|
6
|
+
export declare class MenuItemDoReduxAction<MENU_TYPE_NAME extends AdaptableColumnMenuItemName | AdaptableContextMenuItemName = AdaptableColumnMenuItemName | AdaptableContextMenuItemName> implements AdaptableMenuItem<MENU_TYPE_NAME> {
|
|
7
|
+
constructor(name: MENU_TYPE_NAME, label: string, module: AdaptableModule, reduxAction: Redux.Action, icon: AdaptableSystemIconName, isVisible: boolean);
|
|
8
|
+
name: MENU_TYPE_NAME;
|
|
8
9
|
reduxAction: Redux.Action;
|
|
9
10
|
label: string;
|
|
10
11
|
module: AdaptableModule;
|
|
11
12
|
isVisible: boolean;
|
|
12
13
|
icon: AdaptableIcon;
|
|
13
14
|
}
|
|
14
|
-
export declare class MenuItemDoClickFunction implements AdaptableMenuItem {
|
|
15
|
-
constructor(label: string, module: AdaptableModule, clickFunction: () => void, icon: AdaptableSystemIconName, isVisible: boolean);
|
|
15
|
+
export declare class MenuItemDoClickFunction<MENU_TYPE_NAME extends AdaptableColumnMenuItemName | AdaptableContextMenuItemName = AdaptableColumnMenuItemName | AdaptableContextMenuItemName> implements AdaptableMenuItem<MENU_TYPE_NAME> {
|
|
16
|
+
constructor(name: MENU_TYPE_NAME, label: string, module: AdaptableModule, clickFunction: () => void, icon: AdaptableSystemIconName, isVisible: boolean);
|
|
17
|
+
name: MENU_TYPE_NAME;
|
|
16
18
|
onClick: () => void;
|
|
17
19
|
label: string;
|
|
18
20
|
module: AdaptableModule;
|
|
19
21
|
isVisible: boolean;
|
|
20
22
|
icon: AdaptableIcon;
|
|
21
23
|
}
|
|
22
|
-
export declare class MenuItemShowPopup implements AdaptableMenuItem {
|
|
23
|
-
constructor(label: string, module: AdaptableModule, componentName: string, icon: AdaptableSystemIconName, isVisible: boolean, popupParams?: ModuleParams);
|
|
24
|
+
export declare class MenuItemShowPopup<MENU_TYPE_NAME extends AdaptableColumnMenuItemName | AdaptableContextMenuItemName = AdaptableColumnMenuItemName | AdaptableContextMenuItemName> implements AdaptableMenuItem<MENU_TYPE_NAME> {
|
|
25
|
+
constructor(name: MENU_TYPE_NAME, label: string, module: AdaptableModule, componentName: string, icon: AdaptableSystemIconName, isVisible: boolean, popupParams?: ModuleParams);
|
|
26
|
+
name: MENU_TYPE_NAME;
|
|
24
27
|
reduxAction: Redux.Action;
|
|
25
28
|
label: string;
|
|
26
29
|
module: AdaptableModule;
|
|
@@ -5,7 +5,8 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const PopupRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/PopupRedux"));
|
|
6
6
|
// A menu item which performs a Redux Action when it is clicke
|
|
7
7
|
class MenuItemDoReduxAction {
|
|
8
|
-
constructor(label, module, reduxAction, icon, isVisible) {
|
|
8
|
+
constructor(name, label, module, reduxAction, icon, isVisible) {
|
|
9
|
+
this.name = name;
|
|
9
10
|
this.label = label;
|
|
10
11
|
this.module = module;
|
|
11
12
|
this.isVisible = isVisible;
|
|
@@ -17,7 +18,8 @@ class MenuItemDoReduxAction {
|
|
|
17
18
|
}
|
|
18
19
|
exports.MenuItemDoReduxAction = MenuItemDoReduxAction;
|
|
19
20
|
class MenuItemDoClickFunction {
|
|
20
|
-
constructor(label, module, clickFunction, icon, isVisible) {
|
|
21
|
+
constructor(name, label, module, clickFunction, icon, isVisible) {
|
|
22
|
+
this.name = name;
|
|
21
23
|
this.label = label;
|
|
22
24
|
this.module = module;
|
|
23
25
|
this.isVisible = isVisible;
|
|
@@ -30,7 +32,8 @@ class MenuItemDoClickFunction {
|
|
|
30
32
|
exports.MenuItemDoClickFunction = MenuItemDoClickFunction;
|
|
31
33
|
// A menu item which shows a popup screen when it is clieked
|
|
32
34
|
class MenuItemShowPopup {
|
|
33
|
-
constructor(label, module, componentName, icon, isVisible, popupParams) {
|
|
35
|
+
constructor(name, label, module, componentName, icon, isVisible, popupParams) {
|
|
36
|
+
this.name = name;
|
|
34
37
|
this.label = label;
|
|
35
38
|
this.module = module;
|
|
36
39
|
this.isVisible = isVisible;
|
|
@@ -21,14 +21,14 @@ import { Shortcut } from '../PredefinedConfig/ShortcutState';
|
|
|
21
21
|
import { IPushPullReport } from '../PredefinedConfig/SystemState';
|
|
22
22
|
import { NotificationsOptions } from '../AdaptableOptions/NotificationsOptions';
|
|
23
23
|
import { CellSummmary } from '../PredefinedConfig/Common/CellSummary';
|
|
24
|
-
import { AdaptableTheme, BaseContext, ChartDefinition, ColumnFilter, CommentThread, CustomDisplayFormatterContext, FlashingCellDefinition, GridDataChangedInfo, SystemFilterPredicateId } from '../types';
|
|
24
|
+
import { AdaptableTheme, BaseContext, ChartDefinition, ColumnFilter, CommentThread, CustomDisplayFormatterContext, FlashingCellDefinition, GridDataChangedInfo, SpecialColumnSettings, SystemFilterPredicateId } from '../types';
|
|
25
25
|
import { IRowNode } from '@ag-grid-community/core';
|
|
26
26
|
import { AdaptableApi, AdaptableComment, BadgeStyleDefinition, CellAddress, NamedQuery } from '../../types';
|
|
27
27
|
import { ToastOptions } from '../components/Toastify';
|
|
28
28
|
import { StyledColumn } from '../PredefinedConfig/StyledColumnState';
|
|
29
29
|
export declare function CreateEmptyCustomSort(): CustomSort;
|
|
30
30
|
export declare function CreateAdaptableComment(text: string, api: AdaptableApi): AdaptableComment;
|
|
31
|
-
export declare function CreateEmptyCalculatedColumn(): CalculatedColumn;
|
|
31
|
+
export declare function CreateEmptyCalculatedColumn(defaultSpecialColumnSettings: Partial<SpecialColumnSettings>): CalculatedColumn;
|
|
32
32
|
export declare function CreateEmptyNamedQuery(expression?: string): NamedQuery;
|
|
33
33
|
export declare function CreateEmptyPlusMinusNudge(): PlusMinusNudge;
|
|
34
34
|
export declare function CreateGenericAlert(alertHeader: string, alertMessage: string, alertDefinition: AlertDefinition): AdaptableGenericAlert;
|
|
@@ -51,7 +51,7 @@ export declare function CreateReportSchedule(reportName: string): ReportSchedule
|
|
|
51
51
|
export declare function CreateEmptySchedule(): Schedule;
|
|
52
52
|
export declare function CreateEmptyShortcut(): Shortcut;
|
|
53
53
|
export declare function CreateEmptyFormatColumn(): FormatColumn;
|
|
54
|
-
export declare function CreateEmptyFreeTextColumn(): FreeTextColumn;
|
|
54
|
+
export declare function CreateEmptyFreeTextColumn(defaultSpecialColumnSettings: Partial<SpecialColumnSettings>): FreeTextColumn;
|
|
55
55
|
export declare function CreateEmptyLayout(layout?: Partial<Layout> & {
|
|
56
56
|
Name: string;
|
|
57
57
|
}, adaptableColumns?: AdaptableColumn[]): Layout;
|
|
@@ -23,7 +23,7 @@ function CreateAdaptableComment(text, api) {
|
|
|
23
23
|
return comment;
|
|
24
24
|
}
|
|
25
25
|
exports.CreateAdaptableComment = CreateAdaptableComment;
|
|
26
|
-
function CreateEmptyCalculatedColumn() {
|
|
26
|
+
function CreateEmptyCalculatedColumn(defaultSpecialColumnSettings) {
|
|
27
27
|
return {
|
|
28
28
|
Uuid: (0, Uuid_1.createUuid)(),
|
|
29
29
|
ColumnId: GeneralConstants_1.EMPTY_STRING,
|
|
@@ -31,17 +31,7 @@ function CreateEmptyCalculatedColumn() {
|
|
|
31
31
|
ScalarExpression: GeneralConstants_1.EMPTY_STRING,
|
|
32
32
|
},
|
|
33
33
|
// need to create some defaults - which we will change later
|
|
34
|
-
CalculatedColumnSettings: {
|
|
35
|
-
DataType: undefined,
|
|
36
|
-
Filterable: true,
|
|
37
|
-
Resizable: true,
|
|
38
|
-
Groupable: false,
|
|
39
|
-
Sortable: true,
|
|
40
|
-
Pivotable: false,
|
|
41
|
-
Aggregatable: false,
|
|
42
|
-
SuppressMenu: false,
|
|
43
|
-
SuppressMovable: false,
|
|
44
|
-
},
|
|
34
|
+
CalculatedColumnSettings: Object.assign(Object.assign({}, defaultSpecialColumnSettings), { DataType: undefined }),
|
|
45
35
|
};
|
|
46
36
|
}
|
|
47
37
|
exports.CreateEmptyCalculatedColumn = CreateEmptyCalculatedColumn;
|
|
@@ -270,27 +260,18 @@ function CreateEmptyFormatColumn() {
|
|
|
270
260
|
Style: CreateEmptyStyle(),
|
|
271
261
|
DisplayFormat: undefined,
|
|
272
262
|
CellAlignment: undefined,
|
|
263
|
+
RowScope: undefined,
|
|
273
264
|
};
|
|
274
265
|
}
|
|
275
266
|
exports.CreateEmptyFormatColumn = CreateEmptyFormatColumn;
|
|
276
|
-
function CreateEmptyFreeTextColumn() {
|
|
267
|
+
function CreateEmptyFreeTextColumn(defaultSpecialColumnSettings) {
|
|
277
268
|
return {
|
|
278
269
|
Uuid: (0, Uuid_1.createUuid)(),
|
|
279
270
|
ColumnId: GeneralConstants_1.EMPTY_STRING,
|
|
280
271
|
DefaultValue: GeneralConstants_1.EMPTY_STRING,
|
|
281
272
|
FreeTextStoredValues: [],
|
|
282
273
|
TextEditor: 'Inline',
|
|
283
|
-
FreeTextColumnSettings: {
|
|
284
|
-
DataType: 'String',
|
|
285
|
-
Filterable: true,
|
|
286
|
-
Resizable: true,
|
|
287
|
-
Groupable: false,
|
|
288
|
-
Sortable: true,
|
|
289
|
-
Pivotable: false,
|
|
290
|
-
Aggregatable: false,
|
|
291
|
-
SuppressMenu: false,
|
|
292
|
-
SuppressMovable: false,
|
|
293
|
-
},
|
|
274
|
+
FreeTextColumnSettings: Object.assign(Object.assign({}, defaultSpecialColumnSettings), { DataType: 'String' }),
|
|
294
275
|
};
|
|
295
276
|
}
|
|
296
277
|
exports.CreateEmptyFreeTextColumn = CreateEmptyFreeTextColumn;
|
|
@@ -333,6 +314,8 @@ function CreateEmptyCellSummmary() {
|
|
|
333
314
|
Max: undefined,
|
|
334
315
|
Min: undefined,
|
|
335
316
|
Count: undefined,
|
|
317
|
+
Newest: undefined,
|
|
318
|
+
Oldest: undefined,
|
|
336
319
|
Std_Deviation: undefined,
|
|
337
320
|
Only: undefined,
|
|
338
321
|
};
|
|
@@ -352,7 +335,6 @@ function CreateEmptyStyledColumn() {
|
|
|
352
335
|
return {
|
|
353
336
|
Uuid: (0, Uuid_1.createUuid)(),
|
|
354
337
|
ColumnId: GeneralConstants_1.EMPTY_STRING,
|
|
355
|
-
IncludeGroupedRows: false,
|
|
356
338
|
};
|
|
357
339
|
}
|
|
358
340
|
exports.CreateEmptyStyledColumn = CreateEmptyStyledColumn;
|
|
@@ -63,7 +63,7 @@ class AggregatedScalarLiveValue {
|
|
|
63
63
|
var _a, _b;
|
|
64
64
|
if ((_a = this.expressionEvaluation.aggregationParams.groupBy) === null || _a === void 0 ? void 0 : _a.length) {
|
|
65
65
|
const groupColumns = this.expressionEvaluation.aggregationParams.groupBy.map((groupByParam) => groupByParam.field);
|
|
66
|
-
const groupKeys = groupColumns.map((groupColumnName) => this.
|
|
66
|
+
const groupKeys = groupColumns.map((groupColumnName) => this.getRowNodeValueForColumnId(rowNode, groupColumnName));
|
|
67
67
|
return (_b = this.aggregationResult.deepMap.get(groupKeys)) === null || _b === void 0 ? void 0 : _b.reducerResults[this.aggregationReducerName];
|
|
68
68
|
}
|
|
69
69
|
return this.getGlobalAggregatedValue();
|
|
@@ -71,6 +71,11 @@ class AggregatedScalarLiveValue {
|
|
|
71
71
|
getGlobalAggregatedValue() {
|
|
72
72
|
return this.aggregationResult.reducerResults[this.aggregationReducerName];
|
|
73
73
|
}
|
|
74
|
+
getRowNodeValueForColumnId(rowNode, columnId) {
|
|
75
|
+
const rawValue = this.adaptableApi.gridApi.getRawValueFromRowNode(rowNode, columnId);
|
|
76
|
+
// we need to convert the Date object to a number, otherwise the grouping will not work (each Date instance is unique)
|
|
77
|
+
return rawValue instanceof Date ? rawValue.getTime() : rawValue;
|
|
78
|
+
}
|
|
74
79
|
computeAggregatedValue(expressionEvaluation) {
|
|
75
80
|
var _a;
|
|
76
81
|
const gridRowNodes = expressionEvaluation.getRowNodes
|
|
@@ -80,18 +85,16 @@ class AggregatedScalarLiveValue {
|
|
|
80
85
|
});
|
|
81
86
|
// we iterate over the RowNode list (we need this to handle complex column values (nested values, valueGetters etc)
|
|
82
87
|
// so we will map the fieldNames to RowNode.data
|
|
83
|
-
const mapReducerValueGetter = (
|
|
84
|
-
return (rowNode) =>
|
|
85
|
-
return this.adaptableApi.gridApi.getRawValueFromRowNode(rowNode, fieldName);
|
|
86
|
-
};
|
|
88
|
+
const mapReducerValueGetter = (columnId) => {
|
|
89
|
+
return (rowNode) => this.getRowNodeValueForColumnId(rowNode, columnId);
|
|
87
90
|
};
|
|
88
91
|
Object.values(expressionEvaluation.aggregationParams.reducers).forEach((aggregationReducer) => {
|
|
89
92
|
aggregationReducer.getter = mapReducerValueGetter(aggregationReducer.field);
|
|
90
93
|
// nullify the field to force the fallback on the getter fn
|
|
91
94
|
aggregationReducer.field = null;
|
|
92
95
|
});
|
|
93
|
-
const mapGroupByToKey = (
|
|
94
|
-
return (_unusableProperty, rowNode) => this.
|
|
96
|
+
const mapGroupByToKey = (columnId) => {
|
|
97
|
+
return (_unusableProperty, rowNode) => this.getRowNodeValueForColumnId(rowNode, columnId);
|
|
95
98
|
};
|
|
96
99
|
(_a = expressionEvaluation.aggregationParams.groupBy) === null || _a === void 0 ? void 0 : _a.forEach((groupByDef) => {
|
|
97
100
|
groupByDef.toKey = mapGroupByToKey(groupByDef.field);
|
|
@@ -99,11 +102,10 @@ class AggregatedScalarLiveValue {
|
|
|
99
102
|
let aggregatedRowNodes = gridRowNodes;
|
|
100
103
|
if (expressionEvaluation.sortByColumn) {
|
|
101
104
|
const sortByColumn = expressionEvaluation.sortByColumn;
|
|
102
|
-
const getRowNodeValue = (rowNode, columnId) => this.adaptableApi.gridApi.getRawValueFromRowNode(rowNode, columnId);
|
|
103
105
|
// currently, we support only ascending sorting
|
|
104
106
|
aggregatedRowNodes.sort((first, second) => {
|
|
105
|
-
const firstValue =
|
|
106
|
-
const secondValue =
|
|
107
|
+
const firstValue = this.getRowNodeValueForColumnId(first, sortByColumn);
|
|
108
|
+
const secondValue = this.getRowNodeValueForColumnId(second, sortByColumn);
|
|
107
109
|
if (firstValue < secondValue) {
|
|
108
110
|
return -1;
|
|
109
111
|
}
|