@adaptabletools/adaptable 18.0.0-canary.2 → 18.0.0-canary.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agGrid.d.ts +4 -21
- package/agGrid.js +9 -26
- package/base.css +22 -8
- package/base.css.map +1 -1
- package/index.css +101 -75
- package/index.css.map +1 -1
- package/package.json +4 -5
- package/src/AdaptableInterfaces/IAdaptable.d.ts +58 -108
- package/src/AdaptableOptions/AdaptableOptions.d.ts +13 -7
- package/src/AdaptableOptions/ColumnFilterOptions.d.ts +11 -4
- package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
- package/src/AdaptableOptions/CommentOptions.d.ts +33 -0
- package/src/AdaptableOptions/GroupingOptions.d.ts +0 -7
- package/src/AdaptableOptions/MenuOptions.d.ts +6 -54
- package/src/AdaptableOptions/MenuOptions.js +71 -74
- package/src/AdaptableOptions/{NotesOptions.d.ts → NoteOptions.d.ts} +7 -4
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
- package/src/Api/AdaptableApi.d.ts +9 -4
- package/src/Api/BulkUpdateApi.d.ts +0 -5
- package/src/Api/ColumnApi.d.ts +4 -0
- package/src/Api/CommentApi.d.ts +11 -12
- package/src/Api/ConfigApi.d.ts +4 -5
- package/src/Api/EventApi.d.ts +7 -9
- package/src/Api/Events/AdaptableReady.d.ts +3 -3
- package/src/Api/Events/CommentChanged.d.ts +11 -0
- package/src/Api/Events/GridDataChanged.d.ts +4 -4
- package/src/Api/GridApi.d.ts +23 -13
- package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
- package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
- package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
- package/src/Api/Implementation/ApiBase.d.ts +5 -3
- package/src/Api/Implementation/ApiBase.js +8 -2
- package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
- package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
- package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
- package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
- package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
- package/src/Api/Implementation/ColumnApiImpl.js +10 -0
- package/src/Api/Implementation/CommentsApiImpl.d.ts +5 -2
- package/src/Api/Implementation/CommentsApiImpl.js +7 -1
- package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
- package/src/Api/Implementation/ConfigApiImpl.js +21 -13
- package/src/Api/Implementation/GridApiImpl.d.ts +6 -3
- package/src/Api/Implementation/GridApiImpl.js +49 -14
- package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -0
- package/src/Api/Implementation/LayoutApiImpl.js +18 -0
- package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
- package/src/Api/Implementation/NoteApiImpl.js +40 -0
- package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
- package/src/Api/Implementation/OptionsApiImpl.js +4 -4
- package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
- package/src/Api/Implementation/ScopeApiImpl.js +20 -7
- package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
- package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
- package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +0 -3
- package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -8
- package/src/Api/Internal/ActionRowInternalApi.d.ts +5 -1
- package/src/Api/Internal/ActionRowInternalApi.js +106 -0
- package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -7
- package/src/Api/Internal/AdaptableInternalApi.js +21 -19
- package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
- package/src/Api/Internal/CalculatedColumnInternalApi.js +71 -0
- package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
- package/src/Api/Internal/ColumnFilterInternalApi.js +23 -1
- package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
- package/src/Api/Internal/ColumnInternalApi.js +12 -0
- package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
- package/src/Api/Internal/CommentsInternalApi.js +14 -0
- package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
- package/src/Api/Internal/CustomSortInternalApi.js +32 -1
- package/src/Api/Internal/DataSetInternalApi.js +1 -1
- package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
- package/src/Api/Internal/ExportInternalApi.js +4 -1
- package/src/Api/Internal/Fdc3InternalApi.js +2 -2
- package/src/Api/Internal/FormatColumnInternalApi.js +3 -2
- package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
- package/src/Api/Internal/FreeTextColumnInternalApi.js +60 -0
- package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
- package/src/Api/Internal/GridFilterInternalApi.js +7 -1
- package/src/Api/Internal/GridInternalApi.d.ts +23 -3
- package/src/Api/Internal/GridInternalApi.js +141 -7
- package/src/Api/Internal/LayoutInternalApi.d.ts +1 -0
- package/src/Api/Internal/LayoutInternalApi.js +16 -0
- package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
- package/src/Api/Internal/NoteInternalApi.js +14 -0
- package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
- package/src/Api/InteropioPluginApi.d.ts +2 -2
- package/src/Api/LayoutApi.d.ts +15 -0
- package/src/Api/NoteApi.d.ts +48 -0
- package/src/Api/OptionsApi.d.ts +8 -8
- package/src/Api/ScopeApi.d.ts +10 -0
- package/src/Api/UserInterfaceApi.d.ts +0 -11
- package/src/EnvVars.d.ts +3 -0
- package/src/EnvVars.js +4 -0
- package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
- package/src/PredefinedConfig/CommentState.d.ts +27 -23
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
- package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
- package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
- package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
- package/src/PredefinedConfig/Common/Enums.d.ts +2 -1
- package/src/PredefinedConfig/Common/Enums.js +1 -0
- package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
- package/src/PredefinedConfig/Common/Menu.js +97 -1
- package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
- package/src/PredefinedConfig/Common/RowSummary.js +17 -0
- package/src/PredefinedConfig/Common/TransposeConfig.d.ts +25 -0
- package/src/PredefinedConfig/Common/Types.d.ts +4 -4
- package/src/PredefinedConfig/Common/Types.js +4 -1
- package/src/PredefinedConfig/LayoutState.d.ts +5 -0
- package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
- package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
- package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
- package/src/PredefinedConfig/SystemState.d.ts +9 -3
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
- package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
- package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
- package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -1
- package/src/Redux/ActionsReducers/SystemRedux.js +16 -4
- package/src/Redux/Store/AdaptableStore.d.ts +4 -6
- package/src/Redux/Store/AdaptableStore.js +67 -77
- package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
- package/src/Strategy/AdaptableModuleBase.d.ts +8 -8
- package/src/Strategy/AdaptableModuleBase.js +13 -15
- package/src/Strategy/AlertModule.d.ts +1 -2
- package/src/Strategy/AlertModule.js +3 -56
- package/src/Strategy/BulkUpdateModule.js +1 -1
- package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
- package/src/Strategy/CalculatedColumnModule.js +6 -26
- package/src/Strategy/CellSummaryModule.d.ts +8 -6
- package/src/Strategy/CellSummaryModule.js +78 -23
- package/src/Strategy/ChartingModule.d.ts +0 -1
- package/src/Strategy/ChartingModule.js +2 -22
- package/src/Strategy/ColumnFilterModule.d.ts +2 -3
- package/src/Strategy/ColumnFilterModule.js +44 -103
- package/src/Strategy/ColumnInfoModule.js +2 -0
- package/src/Strategy/{CommentsModule.d.ts → CommentModule.d.ts} +2 -5
- package/src/Strategy/{CommentsModule.js → CommentModule.js} +17 -23
- package/src/Strategy/CustomSortModule.js +3 -2
- package/src/Strategy/DashboardModule.d.ts +1 -2
- package/src/Strategy/DashboardModule.js +9 -15
- package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
- package/src/Strategy/DataChangeHistoryModule.js +3 -1
- package/src/Strategy/DataImportModule.d.ts +1 -1
- package/src/Strategy/DataImportModule.js +5 -5
- package/src/Strategy/DataSetModule.d.ts +1 -1
- package/src/Strategy/DataSetModule.js +1 -1
- package/src/Strategy/ExportModule.d.ts +1 -0
- package/src/Strategy/ExportModule.js +17 -2
- package/src/Strategy/Fdc3Module.js +3 -0
- package/src/Strategy/FlashingCellModule.d.ts +1 -2
- package/src/Strategy/FlashingCellModule.js +6 -19
- package/src/Strategy/FormatColumnModule.d.ts +0 -2
- package/src/Strategy/FormatColumnModule.js +6 -51
- package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
- package/src/Strategy/FreeTextColumnModule.js +1 -31
- package/src/Strategy/GridFilterModule.d.ts +0 -1
- package/src/Strategy/GridFilterModule.js +0 -37
- package/src/Strategy/GridInfoModule.js +2 -0
- package/src/Strategy/Interface/IModule.d.ts +0 -1
- package/src/Strategy/LayoutModule.d.ts +9 -3
- package/src/Strategy/LayoutModule.js +143 -63
- package/src/Strategy/NamedQueryModule.d.ts +0 -1
- package/src/Strategy/NamedQueryModule.js +0 -19
- package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +2 -1
- package/src/Strategy/NoteModule.js +57 -0
- package/src/Strategy/PlusMinusModule.d.ts +1 -1
- package/src/Strategy/PlusMinusModule.js +2 -2
- package/src/Strategy/ScheduleModule.d.ts +1 -1
- package/src/Strategy/ScheduleModule.js +1 -1
- package/src/Strategy/SettingsPanelModule.js +3 -3
- package/src/Strategy/ShortcutModule.d.ts +1 -1
- package/src/Strategy/ShortcutModule.js +1 -1
- package/src/Strategy/SmartEditModule.js +1 -1
- package/src/Strategy/StyledColumnModule.d.ts +1 -1
- package/src/Strategy/StyledColumnModule.js +26 -26
- package/src/Strategy/SystemStatusModule.js +2 -2
- package/src/Strategy/TeamSharingModule.d.ts +1 -0
- package/src/Strategy/TeamSharingModule.js +5 -5
- package/src/Strategy/ToolPanelModule.d.ts +0 -1
- package/src/Strategy/ToolPanelModule.js +0 -23
- package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
- package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
- package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
- package/src/Utilities/Constants/GeneralConstants.js +1 -0
- package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
- package/src/Utilities/Constants/ModuleConstants.js +6 -6
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +429 -1
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
- package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
- package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
- package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
- package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
- package/src/Utilities/Helpers/AdaptableHelper.js +18 -58
- package/src/Utilities/Helpers/Helper.d.ts +2 -0
- package/src/Utilities/Helpers/Helper.js +4 -0
- package/src/Utilities/MenuItem.d.ts +7 -4
- package/src/Utilities/MenuItem.js +6 -3
- package/src/Utilities/ObjectFactory.d.ts +3 -3
- package/src/Utilities/ObjectFactory.js +4 -24
- package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
- package/src/Utilities/Services/CellPopupService.js +2 -3
- package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
- package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
- package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
- package/src/Utilities/Services/LicenseService/index.js +1 -181
- package/src/Utilities/Services/MetamodelService.d.ts +1 -1
- package/src/Utilities/Services/MetamodelService.js +6 -3
- package/src/Utilities/Services/ModuleService.js +4 -0
- package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
- package/src/Utilities/Services/QueryLanguageService.js +4 -3
- package/src/Utilities/Services/ReportService.d.ts +7 -5
- package/src/Utilities/Services/ReportService.js +238 -22
- package/src/Utilities/Services/RowEditService.d.ts +3 -2
- package/src/Utilities/Services/RowEditService.js +3 -1
- package/src/Utilities/adaptableQlUtils.d.ts +2 -0
- package/src/Utilities/adaptableQlUtils.js +14 -0
- package/src/Utilities/license/decode.js +1 -65
- package/src/Utilities/license/hashing.js +1 -43
- package/src/View/AdaptableView.js +1 -3
- package/src/View/AdaptableViewFactory.js +2 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
- package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
- package/src/View/CalculatedColumn/utils.d.ts +1 -1
- package/src/View/CellSummary/CellSummaryPopup.js +1 -1
- package/src/View/Comments/CommentsEditor.js +24 -11
- package/src/View/Comments/CommentsPopup.js +20 -11
- package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
- package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
- package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
- package/src/View/Components/CellPopup/index.d.ts +1 -0
- package/src/View/Components/CellPopup/index.js +5 -2
- package/src/View/Components/FilterForm/FilterForm.js +20 -12
- package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
- package/src/View/Components/NewScopeComponent.js +34 -1
- package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
- package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
- package/src/View/Components/Popups/AdaptableToaster.js +1 -1
- package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
- package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
- package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
- package/src/View/Components/ValueSelector/index.d.ts +1 -0
- package/src/View/Components/ValueSelector/index.js +2 -2
- package/src/View/CustomSort/CustomSortSummary.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -9
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
- package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
- package/src/View/Layout/LayoutViewPanel.js +2 -1
- package/src/View/Layout/TransposedPopup.d.ts +3 -0
- package/src/View/Layout/TransposedPopup.js +195 -0
- package/src/View/Layout/Wizard/LayoutWizard.js +36 -3
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
- package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
- package/src/View/License/LicenseWatermark.js +1 -61
- package/src/View/Note/NotePopup.d.ts +2 -0
- package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +17 -17
- package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
- package/src/View/Theme/ThemeSelector.js +3 -3
- package/src/agGrid/ActionColumnRenderer.js +7 -6
- package/src/agGrid/Adaptable.d.ts +3 -455
- package/src/agGrid/Adaptable.js +8 -5292
- package/src/agGrid/AdaptableAgGrid.d.ts +352 -0
- package/src/agGrid/AdaptableAgGrid.js +3963 -0
- package/src/agGrid/AdaptableLogger.js +77 -11
- package/src/agGrid/AgGridAdapter.d.ts +64 -0
- package/src/agGrid/AgGridAdapter.js +585 -0
- package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
- package/src/agGrid/AgGridColumnAdapter.js +831 -0
- package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
- package/src/agGrid/AgGridMenuAdapter.js +277 -0
- package/src/agGrid/AgGridOptionsService.d.ts +15 -0
- package/src/agGrid/AgGridOptionsService.js +76 -0
- package/src/agGrid/BadgeRenderer.js +1 -1
- package/src/agGrid/CheckboxRenderer.js +1 -1
- package/src/agGrid/FilterWrapper.d.ts +2 -2
- package/src/agGrid/FilterWrapper.js +1 -1
- package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
- package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
- package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +71 -17
- package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
- package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
- package/src/agGrid/weightedAverage.d.ts +0 -2
- package/src/agGrid/weightedAverage.js +0 -54
- package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/src/components/Datepicker/index.d.ts +1 -1
- package/src/components/Datepicker/index.js +10 -2
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
- package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
- package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
- package/src/components/InfiniteTable/index.js +2 -2
- package/src/components/Input/index.d.ts +1 -2
- package/src/components/List/ListGroupItem/index.d.ts +1 -1
- package/src/components/Modal/index.d.ts +1 -0
- package/src/components/Modal/index.js +4 -3
- package/src/components/Select/Select.d.ts +3 -1
- package/src/components/Select/Select.js +4 -2
- package/src/components/Textarea/index.d.ts +2 -2
- package/src/components/icons/index.js +2 -0
- package/src/components/icons/note.js +2 -2
- package/src/components/icons/rows.d.ts +3 -0
- package/src/components/icons/rows.js +4 -0
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +186 -32
- package/src/metamodel/adaptable.metamodel.js +1 -9313
- package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
- package/src/migration/AdaptableUpgradeHelper.js +48 -0
- package/src/migration/VersionUpgrade.d.ts +8 -0
- package/src/migration/VersionUpgrade.js +11 -0
- package/src/migration/VersionUpgrade17.d.ts +18 -0
- package/src/migration/VersionUpgrade17.js +342 -0
- package/src/migration/VersionUpgrade18.d.ts +5 -0
- package/src/migration/VersionUpgrade18.js +6 -0
- package/src/parser/src/parser.js +117 -1257
- package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
- package/src/parser/src/predicate/mapQlPredicateToExpression.js +2 -1
- package/src/parser/src/types.d.ts +7 -2
- package/src/types.d.ts +26 -19
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
- package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
- package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
- package/src/Api/Implementation/NotesApiImpl.js +0 -39
- package/src/Api/NotesApi.d.ts +0 -48
- package/src/PredefinedConfig/CellAddress.d.ts +0 -13
- package/src/PredefinedConfig/CellAddress.js +0 -4
- package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
- package/src/Strategy/NotesModule.js +0 -57
- package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
- package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
- package/src/View/Components/ScopeComponent.d.ts +0 -24
- package/src/View/Components/ScopeComponent.js +0 -133
- package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
- package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
- package/src/View/Notes/NotesPopup.d.ts +0 -2
- package/src/agGrid/agGridHelper.d.ts +0 -57
- package/src/agGrid/agGridHelper.js +0 -686
- package/src/agGrid/agGridMenuHelper.d.ts +0 -46
- package/src/agGrid/agGridMenuHelper.js +0 -668
- /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
- /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
- /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
- /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
- /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
- /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
- /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
- /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
|
@@ -10,8 +10,6 @@ import { getFormatColumnStyleViewItems } from './Utilities/FormatColumn/getForma
|
|
|
10
10
|
import { getObjectTagsViewItems } from './Utilities/getObjectTagsViewItems';
|
|
11
11
|
import { getRuleViewItems } from './Utilities/getRuleViewItems';
|
|
12
12
|
import { MoveFormatColumn } from '../View/FormatColumn/MoveFormatColumn';
|
|
13
|
-
import { cloneObject } from '../Utilities/Helpers/Helper';
|
|
14
|
-
import { updateSingleToMultiplePredicates } from './Utilities/updateSingleToMultiplePredicates';
|
|
15
13
|
import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
|
|
16
14
|
export class FormatColumnModule extends AdaptableModuleBase {
|
|
17
15
|
constructor(api) {
|
|
@@ -39,51 +37,6 @@ export class FormatColumnModule extends AdaptableModuleBase {
|
|
|
39
37
|
}
|
|
40
38
|
return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
|
|
41
39
|
}
|
|
42
|
-
updateOldConfig() {
|
|
43
|
-
this.updateFormatColumnSingleToMultiplePredicates();
|
|
44
|
-
// update ConditionalStyle StatusBarPanel
|
|
45
|
-
const oldStatusBars = this.api.internalApi.getState().StatusBar.StatusBars;
|
|
46
|
-
let replaceConditionalStyleStatusBar = false;
|
|
47
|
-
const newStatusBars = oldStatusBars.map((statusBar) => (Object.assign(Object.assign({}, statusBar), { StatusBarPanels: [
|
|
48
|
-
...new Set(statusBar.StatusBarPanels.map((statusBarPanel) => {
|
|
49
|
-
if (statusBarPanel === 'ConditionalStyle') {
|
|
50
|
-
replaceConditionalStyleStatusBar = true;
|
|
51
|
-
return 'FormatColumn';
|
|
52
|
-
}
|
|
53
|
-
return statusBarPanel;
|
|
54
|
-
})),
|
|
55
|
-
] })));
|
|
56
|
-
if (replaceConditionalStyleStatusBar) {
|
|
57
|
-
this.api.statusBarApi.setStatusBarPanels(newStatusBars);
|
|
58
|
-
}
|
|
59
|
-
// update ConditionalStyle dashboard buttons
|
|
60
|
-
const dashboardModuleButtons = this.api.internalApi.getState().Dashboard.ModuleButtons;
|
|
61
|
-
if (dashboardModuleButtons.includes('ConditionalStyle')) {
|
|
62
|
-
dashboardModuleButtons[dashboardModuleButtons.indexOf('ConditionalStyle')] = 'FormatColumn';
|
|
63
|
-
const test2 = dashboardModuleButtons;
|
|
64
|
-
this.api.dashboardApi.setModuleButtons([
|
|
65
|
-
...new Set(dashboardModuleButtons),
|
|
66
|
-
]);
|
|
67
|
-
}
|
|
68
|
-
// update ConditionalStyle toolPanel buttons
|
|
69
|
-
const toolPanelModuleButtons = this.api.internalApi.getState().ToolPanel.ModuleButtons;
|
|
70
|
-
if (toolPanelModuleButtons.includes('ConditionalStyle')) {
|
|
71
|
-
toolPanelModuleButtons[toolPanelModuleButtons.indexOf('ConditionalStyle')] = 'FormatColumn';
|
|
72
|
-
this.api.toolPanelApi.setModuleButtons([
|
|
73
|
-
...new Set(dashboardModuleButtons),
|
|
74
|
-
]);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
updateFormatColumnSingleToMultiplePredicates() {
|
|
78
|
-
const formatColumns = this.api.formatColumnApi.getFormatColumns();
|
|
79
|
-
formatColumns.forEach((formatColumn) => {
|
|
80
|
-
if (formatColumn.Rule && 'Predicate' in formatColumn.Rule) {
|
|
81
|
-
const preparedFormatColumn = cloneObject(formatColumn);
|
|
82
|
-
updateSingleToMultiplePredicates(preparedFormatColumn.Rule);
|
|
83
|
-
this.api.formatColumnApi.editFormatColumn(preparedFormatColumn);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
40
|
addColumnMenuItems(column) {
|
|
88
41
|
let returnColumnMenuItems = [];
|
|
89
42
|
if (column && this.isModuleEditable() && !column.isSparkline) {
|
|
@@ -92,12 +45,12 @@ export class FormatColumnModule extends AdaptableModuleBase {
|
|
|
92
45
|
action: 'New',
|
|
93
46
|
source: 'ColumnMenu',
|
|
94
47
|
};
|
|
95
|
-
const createFormatColumnMenuItem = this.
|
|
48
|
+
const createFormatColumnMenuItem = this.createMenuItemShowPopup('format-column-add', 'Create', this.moduleInfo.Popup, 'plus', createPopupParam);
|
|
96
49
|
const formatColumnsForColumn = this.api.formatColumnApi.getFormatColumnsForColumnId(column.columnId);
|
|
97
50
|
// .filter((fc) => this.api.scopeApi.isSingleColumnScope(fc.Scope));
|
|
98
51
|
// if no formats then just show Create
|
|
99
52
|
if (ArrayExtensions.IsNullOrEmpty(formatColumnsForColumn)) {
|
|
100
|
-
returnColumnMenuItems.push(this.
|
|
53
|
+
returnColumnMenuItems.push(this.createMenuItemShowPopup('format-column-add', 'Create Format Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, createPopupParam));
|
|
101
54
|
// if 1 format then show a Create and an Edit
|
|
102
55
|
}
|
|
103
56
|
else if (formatColumnsForColumn.length == 1) {
|
|
@@ -107,8 +60,9 @@ export class FormatColumnModule extends AdaptableModuleBase {
|
|
|
107
60
|
value: formatColumnsForColumn[0],
|
|
108
61
|
source: 'ColumnMenu',
|
|
109
62
|
};
|
|
110
|
-
const editFormatColumnMenuItem = this.
|
|
63
|
+
const editFormatColumnMenuItem = this.createMenuItemShowPopup('format-column-edit', 'Edit', this.moduleInfo.Popup, 'edit', editPopupParam);
|
|
111
64
|
returnColumnMenuItems.push({
|
|
65
|
+
name: 'parent',
|
|
112
66
|
label: 'Format Column',
|
|
113
67
|
module: this.moduleInfo.ModuleName,
|
|
114
68
|
isVisible: true,
|
|
@@ -123,8 +77,9 @@ export class FormatColumnModule extends AdaptableModuleBase {
|
|
|
123
77
|
const moduleInfo = this.api.internalApi
|
|
124
78
|
.getModuleService()
|
|
125
79
|
.getModuleInfoByModule('FormatColumn');
|
|
126
|
-
const editFormatColumnMenuItem = this.
|
|
80
|
+
const editFormatColumnMenuItem = this.createMenuItemReduxAction('format-column-edit', 'Show Current', this.moduleInfo.Glyph, PopupRedux.PopupShowScreen('FormatColumn', moduleInfo.Popup));
|
|
127
81
|
returnColumnMenuItems.push({
|
|
82
|
+
name: 'parent',
|
|
128
83
|
label: 'Format Column',
|
|
129
84
|
module: this.moduleInfo.ModuleName,
|
|
130
85
|
isVisible: true,
|
|
@@ -12,7 +12,6 @@ export declare class FreeTextColumnModule extends AdaptableModuleBase implements
|
|
|
12
12
|
isModuleAvailable(): boolean;
|
|
13
13
|
getModuleAdaptableObjects(): FreeTextColumn[];
|
|
14
14
|
hasNamedQueryReferences(): boolean;
|
|
15
|
-
updateOldConfig(): void;
|
|
16
15
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
17
16
|
getTeamSharingAction(): TeamSharingImportInfo<FreeTextColumn>;
|
|
18
17
|
toView(freeTextColumn: FreeTextColumn): AdaptableObjectView;
|
|
@@ -17,36 +17,6 @@ export class FreeTextColumnModule extends AdaptableModuleBase {
|
|
|
17
17
|
hasNamedQueryReferences() {
|
|
18
18
|
return false;
|
|
19
19
|
}
|
|
20
|
-
updateOldConfig() {
|
|
21
|
-
// make sure all default to type string
|
|
22
|
-
const allFreeTextColumns = this.getModuleAdaptableObjects();
|
|
23
|
-
for (const freeTextColumn of allFreeTextColumns) {
|
|
24
|
-
const unTypedCol = freeTextColumn;
|
|
25
|
-
if (unTypedCol.DataType) {
|
|
26
|
-
const dataType = unTypedCol.DataType;
|
|
27
|
-
delete unTypedCol['DataType'];
|
|
28
|
-
if (!freeTextColumn.FreeTextColumnSettings) {
|
|
29
|
-
freeTextColumn.FreeTextColumnSettings = {
|
|
30
|
-
DataType: dataType,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
freeTextColumn.FreeTextColumnSettings.DataType = dataType;
|
|
35
|
-
}
|
|
36
|
-
this.api.freeTextColumnApi.editFreeTextColumn(freeTextColumn);
|
|
37
|
-
}
|
|
38
|
-
if (!freeTextColumn.FreeTextColumnSettings) {
|
|
39
|
-
freeTextColumn.FreeTextColumnSettings = {
|
|
40
|
-
DataType: 'String',
|
|
41
|
-
};
|
|
42
|
-
this.api.freeTextColumnApi.editFreeTextColumn(freeTextColumn);
|
|
43
|
-
}
|
|
44
|
-
if (!freeTextColumn.FreeTextColumnSettings.DataType) {
|
|
45
|
-
freeTextColumn.FreeTextColumnSettings.DataType = 'String';
|
|
46
|
-
this.api.freeTextColumnApi.editFreeTextColumn(freeTextColumn);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
20
|
addColumnMenuItems(column) {
|
|
51
21
|
if (column && this.isModuleEditable()) {
|
|
52
22
|
if (this.api.freeTextColumnApi
|
|
@@ -58,7 +28,7 @@ export class FreeTextColumnModule extends AdaptableModuleBase {
|
|
|
58
28
|
source: 'ColumnMenu',
|
|
59
29
|
};
|
|
60
30
|
return [
|
|
61
|
-
this.
|
|
31
|
+
this.createMenuItemShowPopup('free-text-column-edit', 'Edit Free Text Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
|
|
62
32
|
];
|
|
63
33
|
}
|
|
64
34
|
}
|
|
@@ -3,6 +3,5 @@ import { AdaptableModuleView, IModule } from './Interface/IModule';
|
|
|
3
3
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
4
4
|
export declare class GridFilterModule extends AdaptableModuleBase implements IModule {
|
|
5
5
|
constructor(api: AdaptableApi);
|
|
6
|
-
updateOldConfig(): void;
|
|
7
6
|
getViewProperties(): AdaptableModuleView;
|
|
8
7
|
}
|
|
@@ -2,47 +2,10 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
|
2
2
|
import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
|
|
3
3
|
import { EditGridFilterButton } from '../View/NamedQuery/EditCurrentQueryButton';
|
|
4
4
|
import { GridFilterStatusbar } from '../View/GridFilter/GridFilterStatusbar';
|
|
5
|
-
import StringExtensions from '../Utilities/Extensions/StringExtensions';
|
|
6
5
|
export class GridFilterModule extends AdaptableModuleBase {
|
|
7
6
|
constructor(api) {
|
|
8
7
|
super(ModuleConstants.GridFilterModuleId, ModuleConstants.GridFilterFriendlyName, 'filter-list', 'GridFilterPopup', 'Controls the Grid Filter funtionality', api);
|
|
9
8
|
}
|
|
10
|
-
updateOldConfig() {
|
|
11
|
-
var _a, _b;
|
|
12
|
-
const oldQueryState = this.api.internalApi.getAdaptableState().Query;
|
|
13
|
-
// - move query to current layout
|
|
14
|
-
const expression = oldQueryState.CurrentQuery;
|
|
15
|
-
if (expression &&
|
|
16
|
-
StringExtensions.IsNullOrEmpty(this.api.gridFilterApi.getCurrentGridFilterExpression())) {
|
|
17
|
-
this.api.gridFilterApi.setGridFilterExpression(expression);
|
|
18
|
-
}
|
|
19
|
-
// - move dashboard/toolbar
|
|
20
|
-
let updateTabs = false;
|
|
21
|
-
const tabs = this.api.dashboardApi.getTabs().map((tab) => {
|
|
22
|
-
if (tab.Toolbars.includes('Query')) {
|
|
23
|
-
updateTabs = true;
|
|
24
|
-
return Object.assign(Object.assign({}, tab), {
|
|
25
|
-
// replace with 'GridFilter'
|
|
26
|
-
Toolbars: tab.Toolbars.map((t) => (t == 'Query' ? 'GridFilter' : t)) });
|
|
27
|
-
}
|
|
28
|
-
return tab;
|
|
29
|
-
});
|
|
30
|
-
if (updateTabs) {
|
|
31
|
-
this.api.dashboardApi.setTabs(tabs);
|
|
32
|
-
}
|
|
33
|
-
// - move pinned toolbars
|
|
34
|
-
let updatePinnedToolbars = false;
|
|
35
|
-
const pinnedToolbars = (_b = (_a = this.api.dashboardApi.getPinnedToolbars()) === null || _a === void 0 ? void 0 : _a.map) === null || _b === void 0 ? void 0 : _b.call(_a, (pinnedToolbar) => {
|
|
36
|
-
if (pinnedToolbar == 'Query') {
|
|
37
|
-
updatePinnedToolbars = true;
|
|
38
|
-
return 'GridFilter';
|
|
39
|
-
}
|
|
40
|
-
return pinnedToolbar;
|
|
41
|
-
});
|
|
42
|
-
if (updatePinnedToolbars) {
|
|
43
|
-
this.api.dashboardApi.setPinnedToolbars(pinnedToolbars);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
9
|
getViewProperties() {
|
|
47
10
|
return {
|
|
48
11
|
getStatusBarPanelProps: () => {
|
|
@@ -11,6 +11,7 @@ export class GridInfoModule extends AdaptableModuleBase {
|
|
|
11
11
|
if (this.isModuleAvailable()) {
|
|
12
12
|
return [
|
|
13
13
|
this.createMainMenuItemShowPopup({
|
|
14
|
+
Name: 'grid-info-show',
|
|
14
15
|
Label: 'Grid Info',
|
|
15
16
|
ComponentName: this.moduleInfo.Popup,
|
|
16
17
|
Icon: this.moduleInfo.Glyph,
|
|
@@ -22,6 +23,7 @@ export class GridInfoModule extends AdaptableModuleBase {
|
|
|
22
23
|
if (this.isModuleAvailable()) {
|
|
23
24
|
return [
|
|
24
25
|
this.createMainMenuItemShowPopup({
|
|
26
|
+
Name: 'grid-info-show',
|
|
25
27
|
Label: 'Grid Info',
|
|
26
28
|
ComponentName: this.moduleInfo.Popup,
|
|
27
29
|
Icon: this.moduleInfo.Glyph,
|
|
@@ -156,7 +156,6 @@ export interface IModule {
|
|
|
156
156
|
getModuleFreeTextColumnReferences(): FreeTextColumn[];
|
|
157
157
|
getPopupMaxWidth(): number | undefined;
|
|
158
158
|
canBeAssociatedWithLayouts(): boolean;
|
|
159
|
-
updateOldConfig(): void;
|
|
160
159
|
/**
|
|
161
160
|
* The following view options are used to render adaptable objects and
|
|
162
161
|
* module general views.
|
|
@@ -7,16 +7,17 @@ import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
|
7
7
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
8
8
|
import { AdaptableModuleView, IModule, TeamSharingReferences } from './Interface/IModule';
|
|
9
9
|
import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
|
|
10
|
+
import { AggregatedScalarLiveValue } from '../Utilities/Services/AggregatedScalarLiveValue';
|
|
10
11
|
export declare class LayoutModule extends AdaptableModuleBase implements IModule {
|
|
12
|
+
cachedCellSummary: Map<string, AggregatedScalarLiveValue>;
|
|
11
13
|
protected LayoutState: LayoutState;
|
|
12
14
|
constructor(api: AdaptableApi);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
onAdaptableReady(): void;
|
|
16
|
+
rowSummariesSubscribtions(): void;
|
|
15
17
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
16
18
|
getExplicitlyReferencedColumnIds(layout: Layout): string[];
|
|
17
19
|
getTeamSharingReferences(adaptableObject: AdaptableObject): TeamSharingReferences;
|
|
18
20
|
hasNamedQueryReferences(): boolean;
|
|
19
|
-
handleAdaptableReady(): void;
|
|
20
21
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
21
22
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
22
23
|
private createViewPivotItemsMenuItem;
|
|
@@ -44,4 +45,9 @@ export declare class LayoutModule extends AdaptableModuleBase implements IModule
|
|
|
44
45
|
getViewProperties(): AdaptableModuleView;
|
|
45
46
|
handleLayoutChange(): void;
|
|
46
47
|
getReferencedNamedQueryNames(layout: Layout): string[];
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @param colId optional to evaluate only one column
|
|
51
|
+
*/
|
|
52
|
+
private evaluateRowSummary;
|
|
47
53
|
}
|
|
@@ -15,42 +15,16 @@ import { SHOW_PIVOT_COLUMN_DETAILS } from '../View/Components/Popups/WindowPopup
|
|
|
15
15
|
import flattenDeep from 'lodash/flattenDeep';
|
|
16
16
|
import StringExtensions from '../Utilities/Extensions/StringExtensions';
|
|
17
17
|
import { getGridFilterViewItems } from '../View/Layout/Wizard/getGridFilterPreview';
|
|
18
|
+
import { AggregatedScalarLiveValue } from '../Utilities/Services/AggregatedScalarLiveValue';
|
|
19
|
+
import { SystemRowSummarySet } from '../Redux/ActionsReducers/SystemRedux';
|
|
20
|
+
import { ROW_SUMMARY_ROW_ID, WEIGHTED_AVERAGE_AGGREATED_FUNCTION, } from '../PredefinedConfig/Common/RowSummary';
|
|
21
|
+
import Helper from '../Utilities/Helpers/Helper';
|
|
18
22
|
export class LayoutModule extends AdaptableModuleBase {
|
|
19
23
|
constructor(api) {
|
|
20
24
|
super(ModuleConstants.LayoutModuleId, ModuleConstants.LayoutFriendlyName, 'grid', 'LayoutPopup', 'Named sets of column visibility, order, groupings, aggregation, pivots etc.', api);
|
|
21
|
-
this.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const layoutToSave = Object.assign({}, layout);
|
|
25
|
-
if (!layoutSupportedFeatures.RowGroupedColumns && layout.RowGroupedColumns) {
|
|
26
|
-
delete layoutToSave.RowGroupedColumns;
|
|
27
|
-
needsUpdate = true;
|
|
28
|
-
}
|
|
29
|
-
if (!layoutSupportedFeatures.AggregationColumns && layout.AggregationColumns) {
|
|
30
|
-
delete layoutToSave.AggregationColumns;
|
|
31
|
-
needsUpdate = true;
|
|
32
|
-
}
|
|
33
|
-
if (!layoutSupportedFeatures.PivotColumns && layout.PivotColumns) {
|
|
34
|
-
delete layoutToSave.PivotColumns;
|
|
35
|
-
delete layoutToSave.EnablePivot;
|
|
36
|
-
needsUpdate = true;
|
|
37
|
-
}
|
|
38
|
-
if (!layoutSupportedFeatures.ColumnFilters && layout.ColumnFilters) {
|
|
39
|
-
delete layoutToSave.ColumnFilters;
|
|
40
|
-
needsUpdate = true;
|
|
41
|
-
}
|
|
42
|
-
if (!layoutSupportedFeatures.GridFilter && layout.GridFilter) {
|
|
43
|
-
delete layoutToSave.GridFilter;
|
|
44
|
-
needsUpdate = true;
|
|
45
|
-
}
|
|
46
|
-
if (!layoutSupportedFeatures.ColumnSorts && layout.ColumnSorts) {
|
|
47
|
-
delete layoutToSave.ColumnSorts;
|
|
48
|
-
needsUpdate = true;
|
|
49
|
-
}
|
|
50
|
-
if (needsUpdate) {
|
|
51
|
-
this.api.layoutApi.createOrUpdateLayout(layoutToSave);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
25
|
+
this.cachedCellSummary = new Map();
|
|
26
|
+
}
|
|
27
|
+
onAdaptableReady() {
|
|
54
28
|
this.api.eventApi.on('LayoutChanged', (layoutChangedInfo) => {
|
|
55
29
|
var _a;
|
|
56
30
|
if (layoutChangedInfo.newLayoutState.CurrentLayout !==
|
|
@@ -59,17 +33,45 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
59
33
|
this.handleLayoutChange();
|
|
60
34
|
}
|
|
61
35
|
});
|
|
36
|
+
requestAnimationFrame(() => {
|
|
37
|
+
this.api.layoutApi.internalApi.fireLayoutChangedEvent('ADAPTABLE_READY', null, this.api.layoutApi.getLayoutState());
|
|
38
|
+
});
|
|
39
|
+
this.rowSummariesSubscribtions();
|
|
62
40
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
41
|
+
rowSummariesSubscribtions() {
|
|
42
|
+
// ROW SUMMARY
|
|
43
|
+
this.evaluateRowSummary();
|
|
44
|
+
this.api.eventApi.on('AdaptableStateReloaded', () => {
|
|
45
|
+
this.evaluateRowSummary();
|
|
46
|
+
});
|
|
47
|
+
this.api.eventApi.on('GridDataChanged', (event) => {
|
|
48
|
+
this.evaluateRowSummary();
|
|
49
|
+
});
|
|
50
|
+
this.api.eventApi.on('CellChanged', (event) => {
|
|
51
|
+
const columnId = event.cellChange.column.columnId;
|
|
52
|
+
this.evaluateRowSummary({
|
|
53
|
+
columnId,
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
this.api.eventApi.on('LayoutChanged', (event) => {
|
|
57
|
+
// exclude filter events, those are handled in another event
|
|
58
|
+
if (event.actionName.includes('FILTER')) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
setTimeout(() => {
|
|
62
|
+
// the timeout is added so the grid has time to repond to the layout changed
|
|
63
|
+
this.evaluateRowSummary();
|
|
64
|
+
}, 16);
|
|
65
|
+
});
|
|
66
|
+
const adaptable = this.api.internalApi.getAdaptableInstance();
|
|
67
|
+
adaptable._on('AdapTableFiltersApplied', () => {
|
|
68
|
+
// we need to use this instead of layout changed
|
|
69
|
+
// so the rows have time to update
|
|
70
|
+
this.evaluateRowSummary();
|
|
71
|
+
});
|
|
72
|
+
adaptable._on('FirstDataRendered', () => {
|
|
73
|
+
this.evaluateRowSummary();
|
|
74
|
+
});
|
|
73
75
|
}
|
|
74
76
|
getModuleAdaptableObjects() {
|
|
75
77
|
return this.api.layoutApi.getLayouts();
|
|
@@ -137,18 +139,13 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
137
139
|
hasNamedQueryReferences() {
|
|
138
140
|
return true;
|
|
139
141
|
}
|
|
140
|
-
handleAdaptableReady() {
|
|
141
|
-
requestAnimationFrame(() => {
|
|
142
|
-
this.api.layoutApi.internalApi.fireLayoutChangedEvent('ADAPTABLE_READY', null, this.api.layoutApi.getLayoutState());
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
142
|
addColumnMenuItems(column) {
|
|
146
143
|
var _a, _b;
|
|
147
144
|
let returnColumnMenuItems = [];
|
|
148
145
|
if (this.isModuleEditable()) {
|
|
149
146
|
const isReadOnlyLayout = this.api.layoutApi.isCurrentLayoutReadOnly();
|
|
150
147
|
if (!isReadOnlyLayout) {
|
|
151
|
-
returnColumnMenuItems.push(this.
|
|
148
|
+
returnColumnMenuItems.push(this.createMenuItemShowPopup('layout-edit', 'Edit Layout', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
|
|
152
149
|
action: 'Edit',
|
|
153
150
|
source: 'ColumnMenu',
|
|
154
151
|
value: this.api.layoutApi.getCurrentLayout(),
|
|
@@ -156,10 +153,10 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
156
153
|
}
|
|
157
154
|
if (column) {
|
|
158
155
|
if (!isReadOnlyLayout) {
|
|
159
|
-
returnColumnMenuItems.push(this.
|
|
156
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-caption-change', 'Change Caption', 'edit', () => this.api.layoutApi.showChangeColumnCaption(column)));
|
|
160
157
|
}
|
|
161
158
|
if (column.hideable) {
|
|
162
|
-
returnColumnMenuItems.push(this.
|
|
159
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-hide', 'Hide Column', 'visibility-off-bold', () => {
|
|
163
160
|
this.api.columnApi.hideColumn(column.columnId);
|
|
164
161
|
}));
|
|
165
162
|
}
|
|
@@ -168,23 +165,24 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
168
165
|
if (column) {
|
|
169
166
|
const hasExistingSelection = (_b = (_a = this.api.gridApi.getSelectedCellInfo()) === null || _a === void 0 ? void 0 : _a.gridCells) === null || _b === void 0 ? void 0 : _b.length;
|
|
170
167
|
if (hasExistingSelection) {
|
|
171
|
-
selectMenuItems.push(this.
|
|
168
|
+
selectMenuItems.push(this.createMenuItemClickFunction('layout-column-select-preserve', 'Column (Preserve Selection)', 'column-add', () => {
|
|
172
169
|
this.api.columnApi.addColumnToSelection(column.columnId);
|
|
173
170
|
}));
|
|
174
|
-
selectMenuItems.push(this.
|
|
171
|
+
selectMenuItems.push(this.createMenuItemClickFunction('layout-column-select-reset', 'Column (Reset Selection)', 'columns', () => {
|
|
175
172
|
this.api.columnApi.selectColumn(column.columnId);
|
|
176
173
|
}));
|
|
177
174
|
}
|
|
178
175
|
else {
|
|
179
|
-
selectMenuItems.push(this.
|
|
176
|
+
selectMenuItems.push(this.createMenuItemClickFunction('layout-column-select', 'Column', 'columns', () => {
|
|
180
177
|
this.api.columnApi.selectColumn(column.columnId);
|
|
181
178
|
}));
|
|
182
179
|
}
|
|
183
180
|
}
|
|
184
|
-
selectMenuItems.push(this.
|
|
181
|
+
selectMenuItems.push(this.createMenuItemClickFunction('layout-select-all', 'Whole Grid', this.moduleInfo.Glyph, () => {
|
|
185
182
|
this.api.gridApi.selectAll();
|
|
186
183
|
}));
|
|
187
184
|
returnColumnMenuItems.push({
|
|
185
|
+
name: 'layout-select-parent',
|
|
188
186
|
label: 'Select',
|
|
189
187
|
isVisible: true,
|
|
190
188
|
module: this.moduleInfo.ModuleName,
|
|
@@ -199,7 +197,7 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
199
197
|
addContextMenuItems(menuContext) {
|
|
200
198
|
let returnColumnMenuItems = [];
|
|
201
199
|
if (this.isModuleEditable() && !this.api.layoutApi.isCurrentLayoutReadOnly()) {
|
|
202
|
-
returnColumnMenuItems.push(this.
|
|
200
|
+
returnColumnMenuItems.push(this.createMenuItemShowPopup('layout-edit', 'Edit Layout', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
|
|
203
201
|
action: 'Edit',
|
|
204
202
|
source: 'ColumnMenu',
|
|
205
203
|
}));
|
|
@@ -211,18 +209,19 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
211
209
|
let clickFunction = () => {
|
|
212
210
|
this.api.gridApi.deselectAll();
|
|
213
211
|
};
|
|
214
|
-
returnColumnMenuItems.push(this.
|
|
212
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-clear-selection', 'Clear Selected Cells', 'undo', clickFunction));
|
|
215
213
|
if (this.isModuleAvailable()) {
|
|
216
214
|
let gridMenuItems = [];
|
|
217
215
|
let autoSizeFunction = () => {
|
|
218
216
|
this.api.columnApi.autosizeAllColumns();
|
|
219
217
|
};
|
|
220
|
-
gridMenuItems.push(this.
|
|
218
|
+
gridMenuItems.push(this.createMenuItemClickFunction('layout-auto-size', 'Auto Size', 'arrow-expand', autoSizeFunction));
|
|
221
219
|
let clickFunction = () => {
|
|
222
220
|
this.api.gridApi.selectAll();
|
|
223
221
|
};
|
|
224
|
-
gridMenuItems.push(this.
|
|
222
|
+
gridMenuItems.push(this.createMenuItemClickFunction('layout-select-all', 'Select', 'tab-unselected', clickFunction));
|
|
225
223
|
returnColumnMenuItems.push({
|
|
224
|
+
name: 'layout-grid-parent',
|
|
226
225
|
label: 'Grid',
|
|
227
226
|
module: this.moduleInfo.ModuleName,
|
|
228
227
|
isVisible: true,
|
|
@@ -239,7 +238,7 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
239
238
|
}
|
|
240
239
|
createViewPivotItemsMenuItem(menuContext) {
|
|
241
240
|
// current group => menuContext.rowNode.field;
|
|
242
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
241
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
243
242
|
const selectedCellInfo = (_a = menuContext.selectedCellInfo) !== null && _a !== void 0 ? _a : this.api.gridApi.getSelectedCellInfo();
|
|
244
243
|
if (((_b = selectedCellInfo === null || selectedCellInfo === void 0 ? void 0 : selectedCellInfo.gridCells) === null || _b === void 0 ? void 0 : _b.length) !== 1) {
|
|
245
244
|
return;
|
|
@@ -280,7 +279,9 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
280
279
|
}
|
|
281
280
|
const data = flattenDeep(getData(menuContext.rowNode.childrenAfterFilter));
|
|
282
281
|
const rowGroups = currentLayout.RowGroupedColumns;
|
|
283
|
-
const cellValue = isPivotColumn
|
|
282
|
+
const cellValue = isPivotColumn
|
|
283
|
+
? (_o = (_m = menuContext.rowNode) === null || _m === void 0 ? void 0 : _m.aggData) === null || _o === void 0 ? void 0 : _o[columnId]
|
|
284
|
+
: gridCell.displayValue;
|
|
284
285
|
const popupProps = {
|
|
285
286
|
hasPivotValue: isPivotColumn,
|
|
286
287
|
columnId,
|
|
@@ -292,6 +293,7 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
292
293
|
pivotColumnId,
|
|
293
294
|
};
|
|
294
295
|
return {
|
|
296
|
+
name: 'layout-aggregated-view',
|
|
295
297
|
module: this.moduleInfo.ModuleName,
|
|
296
298
|
isVisible: true,
|
|
297
299
|
label: 'Expand Aggregated Value',
|
|
@@ -321,7 +323,7 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
321
323
|
return this.getModuleAdaptableObjects().map((layout) => this.toView(layout));
|
|
322
324
|
}
|
|
323
325
|
toView(layout) {
|
|
324
|
-
var _a, _b, _c, _d, _e, _f;
|
|
326
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
325
327
|
const maxColumnsToDisplay = (_b = (_a = this.api.optionsApi.getLayoutOptions().layoutViewOptions) === null || _a === void 0 ? void 0 : _a.maxColumnsToDisplay) !== null && _b !== void 0 ? _b : 10;
|
|
326
328
|
const columnIdToFriendlyName = (columnId) => {
|
|
327
329
|
return this.api.columnApi.getFriendlyNameForColumnId(columnId);
|
|
@@ -390,6 +392,22 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
390
392
|
(layout === null || layout === void 0 ? void 0 : layout.GridFilter) &&
|
|
391
393
|
StringExtensions.IsNotNullOrEmpty(layout.GridFilter.Expression) &&
|
|
392
394
|
getGridFilterViewItems(layout),
|
|
395
|
+
((_g = layout === null || layout === void 0 ? void 0 : layout.RowSummaries) === null || _g === void 0 ? void 0 : _g.length) && {
|
|
396
|
+
name: 'Row Summaries',
|
|
397
|
+
values: layout === null || layout === void 0 ? void 0 : layout.RowSummaries.map((rowSummary) => {
|
|
398
|
+
var _a;
|
|
399
|
+
const columns = Object.entries((_a = rowSummary.ColumnsMap) !== null && _a !== void 0 ? _a : {})
|
|
400
|
+
.map(([columnId, expression]) => {
|
|
401
|
+
if (columnId === 'Source' || columnId === 'Uuid') {
|
|
402
|
+
return '';
|
|
403
|
+
}
|
|
404
|
+
return `${expression}(${columnIdToFriendlyName(columnId)})`;
|
|
405
|
+
})
|
|
406
|
+
.filter(Boolean)
|
|
407
|
+
.join(', ');
|
|
408
|
+
return `${rowSummary.Position}: ${columns}`;
|
|
409
|
+
}),
|
|
410
|
+
},
|
|
393
411
|
].filter(Boolean),
|
|
394
412
|
abObject: layout,
|
|
395
413
|
};
|
|
@@ -435,7 +453,7 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
435
453
|
.setUpScheduleJobs();
|
|
436
454
|
// CustomSort, FlashingCell, FormatColumn
|
|
437
455
|
// we need to refresh the column defs, as some configs may have changed
|
|
438
|
-
this.api.internalApi.getAdaptableInstance().
|
|
456
|
+
this.api.internalApi.getAdaptableInstance().updateColumnModelAndRefreshGrid();
|
|
439
457
|
}
|
|
440
458
|
getReferencedNamedQueryNames(layout) {
|
|
441
459
|
var _a;
|
|
@@ -444,4 +462,66 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
444
462
|
}
|
|
445
463
|
return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(layout.GridFilter.Expression);
|
|
446
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
*
|
|
467
|
+
* @param colId optional to evaluate only one column
|
|
468
|
+
*/
|
|
469
|
+
evaluateRowSummary(reason) {
|
|
470
|
+
var _a;
|
|
471
|
+
const currentLayout = this.api.layoutApi.getCurrentLayout();
|
|
472
|
+
const rowSummaries = (_a = this.api.layoutApi.getCurrentLayout().RowSummaries) !== null && _a !== void 0 ? _a : [];
|
|
473
|
+
const rowSummariesResults = rowSummaries.map(({ ColumnsMap, Position }) => {
|
|
474
|
+
return {
|
|
475
|
+
Position,
|
|
476
|
+
RowData: Object.entries(ColumnsMap !== null && ColumnsMap !== void 0 ? ColumnsMap : {}).reduce((acc, [columnId, expression]) => {
|
|
477
|
+
const key = `${columnId}-${expression}`;
|
|
478
|
+
let expressionLiveValue = this.cachedCellSummary.get(key);
|
|
479
|
+
if (expressionLiveValue) {
|
|
480
|
+
if (!reason) {
|
|
481
|
+
// refresh all of them
|
|
482
|
+
expressionLiveValue.refresh();
|
|
483
|
+
}
|
|
484
|
+
else if ('columnId' in reason && reason.columnId === columnId) {
|
|
485
|
+
expressionLiveValue.refresh();
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
if (!expressionLiveValue) {
|
|
489
|
+
try {
|
|
490
|
+
let aggregatedScalarExpression = `${expression}([${columnId}])`;
|
|
491
|
+
if (aggregatedScalarExpression.includes(WEIGHTED_AVERAGE_AGGREATED_FUNCTION) &&
|
|
492
|
+
currentLayout.AggregationColumns[columnId] &&
|
|
493
|
+
typeof currentLayout.AggregationColumns[columnId] === 'object') {
|
|
494
|
+
const weight = currentLayout.AggregationColumns[columnId]
|
|
495
|
+
.weightedColumnId;
|
|
496
|
+
if (weight) {
|
|
497
|
+
aggregatedScalarExpression = `AVG([${columnId}], WEIGHT([${weight}]))`;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
expressionLiveValue = new AggregatedScalarLiveValue({
|
|
501
|
+
aggregatedScalarExpression,
|
|
502
|
+
}, ModuleConstants.LayoutModuleId, this.api, () => {
|
|
503
|
+
return this.api.gridApi.getVisibleRowNodes();
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
catch (e) {
|
|
507
|
+
this.api.logError('Error evaluating row summary', e);
|
|
508
|
+
}
|
|
509
|
+
this.cachedCellSummary.set(key, expressionLiveValue);
|
|
510
|
+
}
|
|
511
|
+
let value = null;
|
|
512
|
+
if (expressionLiveValue) {
|
|
513
|
+
value = expressionLiveValue.getGlobalAggregatedValue();
|
|
514
|
+
if (typeof value === 'number' && !isNaN(value)) {
|
|
515
|
+
value = Helper.roundNumber(value, 2);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
acc[columnId] = value;
|
|
519
|
+
return acc;
|
|
520
|
+
}, {
|
|
521
|
+
[ROW_SUMMARY_ROW_ID]: true,
|
|
522
|
+
}),
|
|
523
|
+
};
|
|
524
|
+
});
|
|
525
|
+
this.api.internalApi.dispatchReduxAction(SystemRowSummarySet(rowSummariesResults));
|
|
526
|
+
}
|
|
447
527
|
}
|
|
@@ -8,7 +8,6 @@ import { IModule } from './Interface/IModule';
|
|
|
8
8
|
export declare class NamedQueryModule extends AdaptableModuleBase implements IModule {
|
|
9
9
|
constructor(api: AdaptableApi);
|
|
10
10
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
11
|
-
updateOldConfig(): void;
|
|
12
11
|
getTeamSharingAction(): TeamSharingImportInfo<NamedQuery>;
|
|
13
12
|
getExplicitlyReferencedColumnIds(namedQuery: NamedQuery): string[];
|
|
14
13
|
getReferencedNamedQueryNames(namedQuery: NamedQuery): string[];
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as NamedQueryRedux from '../Redux/ActionsReducers/NamedQueryRedux';
|
|
2
2
|
import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
|
|
3
|
-
import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
|
|
4
3
|
import { EditGridFilterButton } from '../View/NamedQuery/EditCurrentQueryButton';
|
|
5
4
|
import { NamedQueryWizard } from '../View/NamedQuery/Wizard/NamedQueryWizard';
|
|
6
5
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
@@ -12,24 +11,6 @@ export class NamedQueryModule extends AdaptableModuleBase {
|
|
|
12
11
|
getModuleAdaptableObjects() {
|
|
13
12
|
return this.api.namedQueryApi.getNamedQueries();
|
|
14
13
|
}
|
|
15
|
-
updateOldConfig() {
|
|
16
|
-
// - move named queries from old Query State to this Module
|
|
17
|
-
// Note: GridFilter Module moves the "old" CurrentQuery into Layout
|
|
18
|
-
const oldQueryState = this.api.internalApi.getAdaptableState().Query;
|
|
19
|
-
const oldNamedQueries = oldQueryState.NamedQueries;
|
|
20
|
-
if (ArrayExtensions.IsNotNullOrEmpty(oldNamedQueries)) {
|
|
21
|
-
const currentNamedQueries = this.api.namedQueryApi.getNamedQueries();
|
|
22
|
-
oldNamedQueries.forEach((oldNamedQuery) => {
|
|
23
|
-
const currentQuery = currentNamedQueries.find((q) => q.Name === oldNamedQuery.Name);
|
|
24
|
-
if (!currentQuery) {
|
|
25
|
-
this.api.namedQueryApi.addNamedQuery(oldNamedQuery);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
if (oldQueryState) {
|
|
30
|
-
this.api.namedQueryApi.internalApi.cleanupQueryRedux();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
14
|
getTeamSharingAction() {
|
|
34
15
|
return {
|
|
35
16
|
ModuleEntities: this.api.namedQueryApi.getNamedQueries(),
|
|
@@ -2,9 +2,10 @@ import { AdaptableApi } from '../Api/AdaptableApi';
|
|
|
2
2
|
import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
|
|
3
3
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
4
4
|
import { IModule } from './Interface/IModule';
|
|
5
|
-
export declare class
|
|
5
|
+
export declare class NoteModule extends AdaptableModuleBase implements IModule {
|
|
6
6
|
private adaptable;
|
|
7
7
|
constructor(api: AdaptableApi);
|
|
8
|
+
isModuleAvailable(): boolean;
|
|
8
9
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
9
10
|
private getAddRemoveNoteMenuItems;
|
|
10
11
|
}
|