@adaptabletools/adaptable 18.0.0-canary.2 → 18.0.0-canary.21
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 +59 -108
- package/src/AdaptableOptions/AdaptableOptions.d.ts +7 -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/StateOptions.d.ts +6 -0
- 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 +13 -14
- 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 +24 -13
- package/src/Api/Implementation/GridApiImpl.d.ts +6 -3
- package/src/Api/Implementation/GridApiImpl.js +51 -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 +6 -1
- package/src/Api/Internal/ActionRowInternalApi.js +118 -1
- 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 +30 -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 +148 -62
- 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/FilterForm/QuickFilterValues.js +39 -23
- 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 +354 -0
- package/src/agGrid/AdaptableAgGrid.js +3967 -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 +179 -25
- 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
|
@@ -11,35 +11,15 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
|
|
|
11
11
|
constructor(api) {
|
|
12
12
|
super(ModuleConstants.CalculatedColumnModuleId, ModuleConstants.CalculatedColumnFriendlyName, 'chart-and-grid', 'CalculatedColumnPopup', 'Create bespoke columns whose cell value is derived dynamically from an Expression', api);
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
onAdaptableReady() {
|
|
15
|
+
this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
|
|
16
|
+
}
|
|
17
|
+
onAdaptableStateReloaded() {
|
|
18
|
+
this.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
|
|
17
19
|
}
|
|
18
20
|
getModuleAdaptableObjects() {
|
|
19
21
|
return this.api.calculatedColumnApi.getCalculatedColumns();
|
|
20
22
|
}
|
|
21
|
-
updateOldConfig() {
|
|
22
|
-
const calcColumns = this.api.calculatedColumnApi.getCalculatedColumns();
|
|
23
|
-
let oldCalculatedColumns = [];
|
|
24
|
-
calcColumns.forEach((cc) => {
|
|
25
|
-
if (cc.ColumnExpression && !cc.Query) {
|
|
26
|
-
cc.Query = {
|
|
27
|
-
ScalarExpression: cc.ColumnExpression,
|
|
28
|
-
};
|
|
29
|
-
cc.ColumnExpression = undefined;
|
|
30
|
-
oldCalculatedColumns.push(cc);
|
|
31
|
-
this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
|
|
32
|
-
}
|
|
33
|
-
if (!cc.CalculatedColumnSettings) {
|
|
34
|
-
cc.CalculatedColumnSettings = {
|
|
35
|
-
DataType: 'Number',
|
|
36
|
-
};
|
|
37
|
-
oldCalculatedColumns.push(cc);
|
|
38
|
-
this.api.logWarn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
oldCalculatedColumns.forEach((oldCalcCol) => this.api.calculatedColumnApi.editCalculatedColumn(oldCalcCol));
|
|
42
|
-
}
|
|
43
23
|
getExplicitlyReferencedColumnIds(calculatedColumn) {
|
|
44
24
|
var _a;
|
|
45
25
|
return ((_a = this.api.expressionApi.getColumnsFromExpression(this.api.expressionApi.getAdaptableQueryExpression(calculatedColumn.Query))) !== null && _a !== void 0 ? _a : []);
|
|
@@ -77,7 +57,7 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
|
|
|
77
57
|
source: 'ColumnMenu',
|
|
78
58
|
};
|
|
79
59
|
return [
|
|
80
|
-
this.
|
|
60
|
+
this.createMenuItemShowPopup('calculated-column-edit', 'Edit Calculated Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
|
|
81
61
|
];
|
|
82
62
|
}
|
|
83
63
|
getTeamSharingAction() {
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
3
|
-
import { ICellSummaryModule } from './Interface/ICellSummaryModule';
|
|
4
|
-
import { SelectedCellInfo } from '../PredefinedConfig/Selection/SelectedCellInfo';
|
|
5
|
-
import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
|
|
6
2
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
7
|
-
import { AccessLevel } from '../PredefinedConfig/Common/Entitlement';
|
|
8
|
-
import { CellSummmary } from '../PredefinedConfig/Common/CellSummary';
|
|
9
3
|
import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
4
|
+
import { CellSummmary } from '../PredefinedConfig/Common/CellSummary';
|
|
5
|
+
import { AccessLevel } from '../PredefinedConfig/Common/Entitlement';
|
|
6
|
+
import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
|
|
7
|
+
import { SelectedCellInfo } from '../PredefinedConfig/Selection/SelectedCellInfo';
|
|
8
|
+
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
9
|
+
import { ICellSummaryModule } from './Interface/ICellSummaryModule';
|
|
10
10
|
export declare class CellSummaryModule extends AdaptableModuleBase implements ICellSummaryModule {
|
|
11
|
+
cachedCellSummary: WeakMap<SelectedCellInfo<any>, CellSummmary>;
|
|
11
12
|
constructor(api: AdaptableApi);
|
|
12
13
|
getViewAccessLevel(): AccessLevel;
|
|
13
14
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
14
15
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
15
16
|
private createCellSummaryMenuItem;
|
|
16
17
|
createCellSummary(selectedCellInfo: SelectedCellInfo): CellSummmary;
|
|
18
|
+
private getWeightedAverageCellSummary;
|
|
17
19
|
getViewProperties(): {
|
|
18
20
|
getStatusBarPanelProps(): {
|
|
19
21
|
view: () => JSX.Element;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
2
1
|
import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
|
|
3
2
|
import { ArrayExtensions } from '../Utilities/Extensions/ArrayExtensions';
|
|
4
3
|
import { Helper } from '../Utilities/Helpers/Helper';
|
|
4
|
+
import { AggregatedScalarLiveValue } from '../Utilities/Services/AggregatedScalarLiveValue';
|
|
5
5
|
import { CellSummaryStatusPanel } from '../View/CellSummary/CellSummaryStatusPanel';
|
|
6
|
+
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
6
7
|
export class CellSummaryModule extends AdaptableModuleBase {
|
|
7
8
|
constructor(api) {
|
|
8
9
|
super(ModuleConstants.CellSummaryModuleId, ModuleConstants.CellSummaryFriendlyName, 'cells', 'CellSummaryPopup', 'See summary information on a group of cells using multiple summary operations', api);
|
|
10
|
+
this.cachedCellSummary = new WeakMap();
|
|
9
11
|
}
|
|
10
12
|
getViewAccessLevel() {
|
|
11
13
|
return 'Full';
|
|
@@ -35,6 +37,7 @@ export class CellSummaryModule extends AdaptableModuleBase {
|
|
|
35
37
|
}
|
|
36
38
|
createCellSummaryMenuItem(popUpParams) {
|
|
37
39
|
return this.createMainMenuItemShowPopup({
|
|
40
|
+
Name: 'cell-summary-show',
|
|
38
41
|
Label: 'See Cell Summary',
|
|
39
42
|
ComponentName: this.moduleInfo.Popup,
|
|
40
43
|
Icon: this.moduleInfo.Glyph,
|
|
@@ -42,6 +45,9 @@ export class CellSummaryModule extends AdaptableModuleBase {
|
|
|
42
45
|
});
|
|
43
46
|
}
|
|
44
47
|
createCellSummary(selectedCellInfo) {
|
|
48
|
+
if (this.cachedCellSummary.has(selectedCellInfo)) {
|
|
49
|
+
return this.cachedCellSummary.get(selectedCellInfo);
|
|
50
|
+
}
|
|
45
51
|
let selectedCellSummary;
|
|
46
52
|
if (selectedCellInfo && ArrayExtensions.IsNotNullOrEmpty(selectedCellInfo.columns)) {
|
|
47
53
|
let numericValues = [];
|
|
@@ -70,37 +76,65 @@ export class CellSummaryModule extends AdaptableModuleBase {
|
|
|
70
76
|
// copying so that we keep the order - needed for others
|
|
71
77
|
const newNumericValues = [...numericValues];
|
|
72
78
|
let hasNumericColumns = numericValues.length > 0;
|
|
73
|
-
|
|
79
|
+
if (selectedCellInfo.columns.length > 1) {
|
|
80
|
+
return {
|
|
81
|
+
Sum: null,
|
|
82
|
+
Average: null,
|
|
83
|
+
Median: null,
|
|
84
|
+
Mode: null,
|
|
85
|
+
Distinct: null,
|
|
86
|
+
Max: null,
|
|
87
|
+
Min: null,
|
|
88
|
+
Count: null,
|
|
89
|
+
Std_Deviation: null,
|
|
90
|
+
Only: '',
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const columnId = selectedCellInfo.columns[0].columnId;
|
|
94
|
+
const rowNodes = selectedCellInfo.gridCells.map((gc) => gc.rowNode);
|
|
95
|
+
const handleExpression = (functionName) => {
|
|
96
|
+
const aggScalarValue = new AggregatedScalarLiveValue({
|
|
97
|
+
aggregatedScalarExpression: `${functionName}([${columnId}])`,
|
|
98
|
+
}, ModuleConstants.CellSummaryModuleId, this.api, () => rowNodes);
|
|
99
|
+
let value = aggScalarValue.getGlobalAggregatedValue();
|
|
100
|
+
if (typeof value === 'number' && !isNaN(value)) {
|
|
101
|
+
value = Helper.roundNumber(value, 2);
|
|
102
|
+
}
|
|
103
|
+
return value;
|
|
104
|
+
};
|
|
105
|
+
const sumValue = hasNumericColumns ? handleExpression('SUM') : null;
|
|
106
|
+
const avgValue = hasNumericColumns ? Helper.roundNumber(handleExpression('AVG'), 2) : null;
|
|
107
|
+
const modeValue = hasNumericColumns ? handleExpression('MODE') : null;
|
|
108
|
+
const medianValue = hasNumericColumns ? handleExpression('MEDIAN') : null;
|
|
109
|
+
const distinctValue = handleExpression('DISTINCT');
|
|
110
|
+
const maxValue = hasNumericColumns ? handleExpression('MAX') : null;
|
|
111
|
+
const minValue = hasNumericColumns ? handleExpression('MIN') : null;
|
|
112
|
+
const stdDeviation = hasNumericColumns
|
|
113
|
+
? Helper.roundNumberTo4dp(handleExpression('STD_DEVIATION'))
|
|
114
|
+
: null;
|
|
74
115
|
selectedCellSummary = {
|
|
75
|
-
Sum:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
? Helper.roundNumberTo4dp(Helper.medianNumberArray(numericValues))
|
|
83
|
-
: undefined,
|
|
84
|
-
Mode: hasNumericColumns
|
|
85
|
-
? Helper.roundNumberTo4dp(Helper.modeNumberArray(numericValues))
|
|
86
|
-
: undefined,
|
|
87
|
-
Distinct: distinctCount,
|
|
88
|
-
Max: hasNumericColumns ? Helper.roundNumberTo4dp(Math.max(...numericValues)) : undefined,
|
|
89
|
-
Min: hasNumericColumns ? Helper.roundNumberTo4dp(Math.min(...numericValues)) : undefined,
|
|
116
|
+
Sum: sumValue,
|
|
117
|
+
Average: avgValue,
|
|
118
|
+
Median: medianValue,
|
|
119
|
+
Mode: modeValue,
|
|
120
|
+
Distinct: distinctValue,
|
|
121
|
+
Max: maxValue,
|
|
122
|
+
Min: minValue,
|
|
90
123
|
Count: allValues.length,
|
|
91
|
-
Std_Deviation:
|
|
92
|
-
|
|
93
|
-
: undefined,
|
|
94
|
-
Only: distinctCount == 1 ? JSON.stringify(allValues[0]) : '',
|
|
124
|
+
Std_Deviation: stdDeviation,
|
|
125
|
+
Only: distinctValue == 1 ? JSON.stringify(allValues[0]) : '',
|
|
95
126
|
};
|
|
96
127
|
numericValues = [...newNumericValues];
|
|
128
|
+
const weightedAverage = this.getWeightedAverageCellSummary(columnId, rowNodes);
|
|
129
|
+
if (weightedAverage !== null) {
|
|
130
|
+
selectedCellSummary.Weighted_Average = weightedAverage;
|
|
131
|
+
}
|
|
97
132
|
const operationDefinitions = this.api.cellSummaryApi.getCellSummaryOperationDefinitions();
|
|
98
|
-
const api = this.api;
|
|
99
133
|
operationDefinitions === null || operationDefinitions === void 0 ? void 0 : operationDefinitions.forEach((operation) => {
|
|
100
134
|
if (operation.operationFunction) {
|
|
101
135
|
const cellSummaryOperationContext = {
|
|
102
136
|
selectedCellInfo,
|
|
103
|
-
distinctCount,
|
|
137
|
+
distinctCount: distinctValue,
|
|
104
138
|
allValues,
|
|
105
139
|
numericValues,
|
|
106
140
|
numericColumns,
|
|
@@ -111,9 +145,30 @@ export class CellSummaryModule extends AdaptableModuleBase {
|
|
|
111
145
|
selectedCellSummary[operation.operationName] = operation.operationFunction(cellSummaryOperationContext);
|
|
112
146
|
}
|
|
113
147
|
});
|
|
148
|
+
this.cachedCellSummary.set(selectedCellInfo, selectedCellSummary);
|
|
114
149
|
}
|
|
115
150
|
return selectedCellSummary;
|
|
116
151
|
}
|
|
152
|
+
getWeightedAverageCellSummary(columnId, rowNodes) {
|
|
153
|
+
const currentLayout = this.api.layoutApi.getCurrentLayout();
|
|
154
|
+
if (currentLayout.AggregationColumns == undefined) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
const weightedAverageConfig = Object.entries(currentLayout.AggregationColumns).find(([colId, aggCol]) => typeof aggCol === 'object' && aggCol.type === 'weightedAverage' && colId === columnId);
|
|
158
|
+
if (!weightedAverageConfig) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
const { weightedColumnId } = weightedAverageConfig[1];
|
|
162
|
+
const expression = `AVG([${columnId}], WEIGHT([${weightedColumnId}]))`;
|
|
163
|
+
const aggScalarValue = new AggregatedScalarLiveValue({
|
|
164
|
+
aggregatedScalarExpression: expression,
|
|
165
|
+
}, ModuleConstants.CellSummaryModuleId, this.api, () => rowNodes);
|
|
166
|
+
let value = aggScalarValue.getGlobalAggregatedValue();
|
|
167
|
+
if (typeof value === 'number' && !isNaN(value)) {
|
|
168
|
+
value = Helper.roundNumber(value, 2);
|
|
169
|
+
}
|
|
170
|
+
return value;
|
|
171
|
+
}
|
|
117
172
|
getViewProperties() {
|
|
118
173
|
return {
|
|
119
174
|
getStatusBarPanelProps() {
|
|
@@ -5,7 +5,6 @@ import { ChartDefinition } from '../types';
|
|
|
5
5
|
import { ExternalChartDefinition } from '../PredefinedConfig/ChartingState';
|
|
6
6
|
export declare class ChartingModule extends AdaptableModuleBase implements IModule {
|
|
7
7
|
constructor(api: AdaptableApi);
|
|
8
|
-
updateOldConfig(): void;
|
|
9
8
|
isModuleAvailable(): boolean;
|
|
10
9
|
getModuleAdaptableObjects(): (ChartDefinition | ExternalChartDefinition)[];
|
|
11
10
|
toViewAll(): AdaptableObjectView[];
|
|
@@ -6,34 +6,14 @@ import * as ChartingRedux from '../Redux/ActionsReducers/ChartingRedux';
|
|
|
6
6
|
import { ChartingStatusBarPopover } from '../View/Charting/ChartingStatusBarPopover';
|
|
7
7
|
import { getObjectTagsViewItems } from './Utilities/getObjectTagsViewItems';
|
|
8
8
|
import { isAgChartDefinition, isExternalChartDefinition, } from '../PredefinedConfig/ChartingState';
|
|
9
|
+
import Helper from '../Utilities/Helpers/Helper';
|
|
9
10
|
export class ChartingModule extends AdaptableModuleBase {
|
|
10
11
|
constructor(api) {
|
|
11
12
|
super(ModuleConstants.ChartingModuleId, ModuleConstants.ChartingFriendlyName, 'chart', 'ChartPopup', 'Create AG Grid Charts in order to see Adaptable Data visually', api);
|
|
12
13
|
}
|
|
13
|
-
updateOldConfig() {
|
|
14
|
-
const allChartDefinitions = this.api.chartingApi.getChartDefinitions();
|
|
15
|
-
const chartDefinitionsToUpdate = allChartDefinitions
|
|
16
|
-
.filter((chartDefinition) => 'model' in chartDefinition || !('Name' in chartDefinition))
|
|
17
|
-
.map((charDefinition) => {
|
|
18
|
-
const newChartDefinition = Object.assign({}, charDefinition);
|
|
19
|
-
if ('model' in newChartDefinition) {
|
|
20
|
-
newChartDefinition.Model = charDefinition.model;
|
|
21
|
-
delete newChartDefinition.model;
|
|
22
|
-
}
|
|
23
|
-
if (!('Name' in newChartDefinition)) {
|
|
24
|
-
// default to chartId
|
|
25
|
-
// @ts-ignore possible because First iteration had no 'Name' and model was under 'model' key (lowercase)
|
|
26
|
-
newChartDefinition.Name = newChartDefinition.Model.chartId;
|
|
27
|
-
}
|
|
28
|
-
return newChartDefinition;
|
|
29
|
-
});
|
|
30
|
-
if (chartDefinitionsToUpdate.length > 0) {
|
|
31
|
-
chartDefinitionsToUpdate.forEach((chartDefinition) => this.api.chartingApi.editChartDefinition(chartDefinition));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
14
|
isModuleAvailable() {
|
|
35
15
|
const agChartsAvailable = this.api.chartingApi.isChartingEnabled() && super.isModuleAvailable();
|
|
36
|
-
const externalChartsAvailable = this.api.optionsApi.getChartingOptions().externalChartingOptions;
|
|
16
|
+
const externalChartsAvailable = Helper.objectHasKeys(this.api.optionsApi.getChartingOptions().externalChartingOptions);
|
|
37
17
|
return Boolean(agChartsAvailable || externalChartsAvailable);
|
|
38
18
|
}
|
|
39
19
|
getModuleAdaptableObjects() {
|
|
@@ -12,10 +12,9 @@ export declare class ColumnFilterModule extends AdaptableModuleBase implements I
|
|
|
12
12
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
13
13
|
getExplicitlyReferencedColumnIds(columnFilter: ColumnFilter): string[];
|
|
14
14
|
hasNamedQueryReferences(): boolean;
|
|
15
|
-
|
|
16
|
-
handleAdaptableReady(): void;
|
|
17
|
-
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
15
|
+
onAdaptableReady(): void;
|
|
18
16
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
17
|
+
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
19
18
|
private getExistingColumnFilter;
|
|
20
19
|
getTeamSharingAction(): TeamSharingImportInfo<ColumnFilter>;
|
|
21
20
|
toViewCompact(filter: ColumnFilter): AdaptableObjectCompactView;
|
|
@@ -28,70 +28,7 @@ export class ColumnFilterModule extends AdaptableModuleBase {
|
|
|
28
28
|
hasNamedQueryReferences() {
|
|
29
29
|
return false;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
// Note: have updated Dashboard and Status bar but NOT Tool Panels
|
|
33
|
-
// Update Module Buttons
|
|
34
|
-
let updateModuleButtons = false;
|
|
35
|
-
let moduleButtons = this.api.dashboardApi.getModuleButtons();
|
|
36
|
-
if (!moduleButtons.includes('ColumnFilter')) {
|
|
37
|
-
moduleButtons = moduleButtons.map((moduleButton) => {
|
|
38
|
-
if (moduleButton == 'Filter') {
|
|
39
|
-
updateModuleButtons = true;
|
|
40
|
-
return 'ColumnFilter';
|
|
41
|
-
}
|
|
42
|
-
return moduleButton;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
if (updateModuleButtons) {
|
|
46
|
-
this.api.dashboardApi.setModuleButtons(moduleButtons);
|
|
47
|
-
}
|
|
48
|
-
// Update Toolbars
|
|
49
|
-
let updateTabs = false;
|
|
50
|
-
const tabs = this.api.dashboardApi.getTabs().map((tab) => {
|
|
51
|
-
if (tab.Toolbars.includes('Filter') && !tab.Toolbars.includes('ColumnFilter')) {
|
|
52
|
-
updateTabs = true;
|
|
53
|
-
return Object.assign(Object.assign({}, tab), {
|
|
54
|
-
// replace with 'GridFilter'
|
|
55
|
-
Toolbars: tab.Toolbars.map((t) => (t == 'Filter' ? 'ColumnFilter' : t)) });
|
|
56
|
-
}
|
|
57
|
-
return tab;
|
|
58
|
-
});
|
|
59
|
-
if (updateTabs) {
|
|
60
|
-
this.api.dashboardApi.setTabs(tabs);
|
|
61
|
-
}
|
|
62
|
-
// - move pinned toolbars
|
|
63
|
-
let updatePinnedToolbars = false;
|
|
64
|
-
let pinnedToolbars = this.api.dashboardApi.getPinnedToolbars();
|
|
65
|
-
if (pinnedToolbars && !(pinnedToolbars === null || pinnedToolbars === void 0 ? void 0 : pinnedToolbars.includes('ColumnFilter'))) {
|
|
66
|
-
pinnedToolbars = pinnedToolbars.map((pinnedToolbar) => {
|
|
67
|
-
if (pinnedToolbar == 'Filter') {
|
|
68
|
-
updatePinnedToolbars = true;
|
|
69
|
-
return 'ColumnFilter';
|
|
70
|
-
}
|
|
71
|
-
return pinnedToolbar;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
if (updatePinnedToolbars) {
|
|
75
|
-
this.api.dashboardApi.setPinnedToolbars(pinnedToolbars);
|
|
76
|
-
}
|
|
77
|
-
// Update Status Bar
|
|
78
|
-
let updateStatusBars = false;
|
|
79
|
-
const statusBars = this.api.statusBarApi
|
|
80
|
-
.getAdaptableStatusBars()
|
|
81
|
-
.map((panel) => {
|
|
82
|
-
return Object.assign(Object.assign({}, panel), { StatusBarPanels: panel.StatusBarPanels.map((panel) => {
|
|
83
|
-
if (panel === 'Filter') {
|
|
84
|
-
updateStatusBars = true;
|
|
85
|
-
return 'ColumnFilter';
|
|
86
|
-
}
|
|
87
|
-
return panel;
|
|
88
|
-
}) });
|
|
89
|
-
});
|
|
90
|
-
if (updateStatusBars) {
|
|
91
|
-
this.api.statusBarApi.setStatusBarPanels(statusBars);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
handleAdaptableReady() {
|
|
31
|
+
onAdaptableReady() {
|
|
95
32
|
if (this.api.optionsApi.getColumnFilterOptions().quickFilterOptions.showQuickFilter == false) {
|
|
96
33
|
this.api.columnFilterApi.hideQuickFilterBar();
|
|
97
34
|
}
|
|
@@ -102,6 +39,43 @@ export class ColumnFilterModule extends AdaptableModuleBase {
|
|
|
102
39
|
}
|
|
103
40
|
});
|
|
104
41
|
}
|
|
42
|
+
addColumnMenuItems(column) {
|
|
43
|
+
let filterSubMenuItems = [];
|
|
44
|
+
if (column &&
|
|
45
|
+
column.filterable &&
|
|
46
|
+
this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
|
|
47
|
+
if (this.api.gridApi.isQuickFilterAvailable()) {
|
|
48
|
+
const isFilterVisible = this.api.columnFilterApi.isQuickFilterVisible();
|
|
49
|
+
if (this.isModuleEditable() &&
|
|
50
|
+
this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
|
|
51
|
+
filterSubMenuItems.push(this.createMenuItemReduxAction(isFilterVisible ? 'column-filter-bar-hide' : 'column-filter-bar-show', isFilterVisible ? 'Hide Filter Bar' : 'Show Filter Bar', isFilterVisible ? 'unchecked' : 'check', isFilterVisible
|
|
52
|
+
? SystemRedux.SystemQuickFilterBarHide()
|
|
53
|
+
: SystemRedux.SystemQuickFilterBarShow()));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const existingColumnFilter = this.getExistingColumnFilter(column);
|
|
57
|
+
if (existingColumnFilter) {
|
|
58
|
+
filterSubMenuItems.push(this.createMenuItemReduxAction('column-filter-clear', 'Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
|
|
59
|
+
filterSubMenuItems.push(this.createMenuItemReduxAction(existingColumnFilter.IsSuspended ? 'column-filter-unsuspend' : 'column-filter-suspend', existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
|
|
60
|
+
? LayoutRedux.LayoutColumnFilterUnSuspend(existingColumnFilter)
|
|
61
|
+
: LayoutRedux.LayoutColumnFilterSuspend(existingColumnFilter)));
|
|
62
|
+
}
|
|
63
|
+
if (ArrayExtensions.IsNotNullOrEmpty(filterSubMenuItems)) {
|
|
64
|
+
return [
|
|
65
|
+
{
|
|
66
|
+
name: 'parent',
|
|
67
|
+
label: this.moduleInfo.FriendlyName,
|
|
68
|
+
isVisible: true,
|
|
69
|
+
module: this.moduleInfo.ModuleName,
|
|
70
|
+
icon: {
|
|
71
|
+
name: this.moduleInfo.Glyph,
|
|
72
|
+
},
|
|
73
|
+
subItems: filterSubMenuItems,
|
|
74
|
+
},
|
|
75
|
+
];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
105
79
|
addContextMenuItems(menuContext) {
|
|
106
80
|
if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
|
|
107
81
|
if (menuContext.adaptableColumn &&
|
|
@@ -120,13 +94,15 @@ export class ColumnFilterModule extends AdaptableModuleBase {
|
|
|
120
94
|
this.api.columnFilterApi.internalApi.createEqualityColumnFilterForCell(menuContext.selectedCellInfo.gridCells[0]);
|
|
121
95
|
};
|
|
122
96
|
return [
|
|
123
|
-
this.
|
|
97
|
+
this.createMenuItemClickFunction('column-filter-on-cell-value', isMultiple ? 'Filter on Cell Values' : 'Filter on Cell Value', this.moduleInfo.Glyph, clickFunction),
|
|
124
98
|
];
|
|
125
99
|
}
|
|
126
100
|
else {
|
|
127
101
|
let filterSubMenuItems = [];
|
|
128
|
-
filterSubMenuItems.push(this.
|
|
129
|
-
filterSubMenuItems.push(this.
|
|
102
|
+
filterSubMenuItems.push(this.createMenuItemReduxAction('column-filter-clear', 'Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
|
|
103
|
+
filterSubMenuItems.push(this.createMenuItemClickFunction(existingColumnFilter.IsSuspended
|
|
104
|
+
? 'column-filter-unsuspend'
|
|
105
|
+
: 'column-filter-suspend', existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
|
|
130
106
|
? () => {
|
|
131
107
|
this.api.columnFilterApi.unSuspendColumnFilter(existingColumnFilter);
|
|
132
108
|
}
|
|
@@ -135,6 +111,7 @@ export class ColumnFilterModule extends AdaptableModuleBase {
|
|
|
135
111
|
}));
|
|
136
112
|
return [
|
|
137
113
|
{
|
|
114
|
+
name: 'parent',
|
|
138
115
|
label: this.moduleInfo.FriendlyName,
|
|
139
116
|
isVisible: true,
|
|
140
117
|
module: this.moduleInfo.ModuleName,
|
|
@@ -148,42 +125,6 @@ export class ColumnFilterModule extends AdaptableModuleBase {
|
|
|
148
125
|
}
|
|
149
126
|
}
|
|
150
127
|
}
|
|
151
|
-
addColumnMenuItems(column) {
|
|
152
|
-
let filterSubMenuItems = [];
|
|
153
|
-
if (column &&
|
|
154
|
-
column.filterable &&
|
|
155
|
-
this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
|
|
156
|
-
if (this.api.gridApi.isQuickFilterAvailable()) {
|
|
157
|
-
const isFilterVisible = this.api.columnFilterApi.isQuickFilterVisible();
|
|
158
|
-
if (this.isModuleEditable() &&
|
|
159
|
-
this.api.optionsApi.getColumnFilterOptions().useAdaptableColumnFiltering) {
|
|
160
|
-
filterSubMenuItems.push(this.createColumnMenuItemReduxAction(isFilterVisible ? 'Hide Filter Bar' : 'Show Filter Bar', isFilterVisible ? 'unchecked' : 'check', isFilterVisible
|
|
161
|
-
? SystemRedux.SystemQuickFilterBarHide()
|
|
162
|
-
: SystemRedux.SystemQuickFilterBarShow()));
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
const existingColumnFilter = this.getExistingColumnFilter(column);
|
|
166
|
-
if (existingColumnFilter) {
|
|
167
|
-
filterSubMenuItems.push(this.createColumnMenuItemReduxAction('Clear Filter', 'close', LayoutRedux.LayoutColumnFilterClear(existingColumnFilter)));
|
|
168
|
-
filterSubMenuItems.push(this.createColumnMenuItemReduxAction(existingColumnFilter.IsSuspended ? 'Unsuspend Filter' : 'Suspend Filter', existingColumnFilter.IsSuspended ? 'resume' : 'pause', existingColumnFilter.IsSuspended
|
|
169
|
-
? LayoutRedux.LayoutColumnFilterUnSuspend(existingColumnFilter)
|
|
170
|
-
: LayoutRedux.LayoutColumnFilterSuspend(existingColumnFilter)));
|
|
171
|
-
}
|
|
172
|
-
if (ArrayExtensions.IsNotNullOrEmpty(filterSubMenuItems)) {
|
|
173
|
-
return [
|
|
174
|
-
{
|
|
175
|
-
label: this.moduleInfo.FriendlyName,
|
|
176
|
-
isVisible: true,
|
|
177
|
-
module: this.moduleInfo.ModuleName,
|
|
178
|
-
icon: {
|
|
179
|
-
name: this.moduleInfo.Glyph,
|
|
180
|
-
},
|
|
181
|
-
subItems: filterSubMenuItems,
|
|
182
|
-
},
|
|
183
|
-
];
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
128
|
getExistingColumnFilter(column) {
|
|
188
129
|
return this.api.columnFilterApi.getColumnFilters().find((x) => x.ColumnId == column.columnId);
|
|
189
130
|
}
|
|
@@ -15,6 +15,7 @@ export class ColumnInfoModule extends AdaptableModuleBase {
|
|
|
15
15
|
};
|
|
16
16
|
return [
|
|
17
17
|
this.createMainMenuItemShowPopup({
|
|
18
|
+
Name: 'column-info-show',
|
|
18
19
|
Label: 'Column Info',
|
|
19
20
|
ComponentName: this.moduleInfo.Popup,
|
|
20
21
|
Icon: this.moduleInfo.Glyph,
|
|
@@ -31,6 +32,7 @@ export class ColumnInfoModule extends AdaptableModuleBase {
|
|
|
31
32
|
};
|
|
32
33
|
return [
|
|
33
34
|
this.createMainMenuItemShowPopup({
|
|
35
|
+
Name: 'column-info-show',
|
|
34
36
|
Label: 'Column Info',
|
|
35
37
|
ComponentName: this.moduleInfo.Popup,
|
|
36
38
|
Icon: this.moduleInfo.Glyph,
|
|
@@ -2,13 +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
|
-
|
|
6
|
-
* In the first iteration a cell can have only one note, the
|
|
7
|
-
* notes is a list to allow further development.
|
|
8
|
-
*/
|
|
9
|
-
export declare class CommentsModule extends AdaptableModuleBase implements IModule {
|
|
5
|
+
export declare class CommentModule extends AdaptableModuleBase implements IModule {
|
|
10
6
|
private adaptable;
|
|
11
7
|
constructor(api: AdaptableApi);
|
|
8
|
+
onAdaptableReady(): void;
|
|
12
9
|
isModuleAvailable(): boolean;
|
|
13
10
|
private loadComments;
|
|
14
11
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
@@ -1,28 +1,27 @@
|
|
|
1
1
|
import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
|
|
2
2
|
import { createBaseContext } from '../Utilities/ObjectFactory';
|
|
3
3
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
4
|
-
|
|
5
|
-
* In the first iteration a cell can have only one note, the
|
|
6
|
-
* notes is a list to allow further development.
|
|
7
|
-
*/
|
|
8
|
-
export class CommentsModule extends AdaptableModuleBase {
|
|
4
|
+
export class CommentModule extends AdaptableModuleBase {
|
|
9
5
|
constructor(api) {
|
|
10
|
-
super(ModuleConstants.
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
super(ModuleConstants.CommentModuleId, ModuleConstants.CommentFriendlyName, 'comments', 'CommentsPopup', 'comments', api);
|
|
7
|
+
}
|
|
8
|
+
onAdaptableReady() {
|
|
13
9
|
this.loadComments();
|
|
14
10
|
}
|
|
15
11
|
isModuleAvailable() {
|
|
16
|
-
const options = this.
|
|
12
|
+
const options = this.api.optionsApi.getCommentOptions();
|
|
17
13
|
if (!options || !options.persistCommentThreads || !options.loadCommentThreads) {
|
|
18
14
|
return false;
|
|
19
15
|
}
|
|
16
|
+
if (this.api.optionsApi.getAutogeneratePrimaryKey()) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
20
19
|
return super.isModuleAvailable();
|
|
21
20
|
}
|
|
22
21
|
async loadComments() {
|
|
23
22
|
var _a, _b;
|
|
24
23
|
const commentThreads = await ((_b = (_a = this.api.optionsApi
|
|
25
|
-
.
|
|
24
|
+
.getCommentOptions()) === null || _a === void 0 ? void 0 : _a.loadCommentThreads) === null || _b === void 0 ? void 0 : _b.call(_a, createBaseContext(this.api)));
|
|
26
25
|
this.api.commentApi.loadCommentThreads(commentThreads);
|
|
27
26
|
}
|
|
28
27
|
addContextMenuItems(menuContext) {
|
|
@@ -31,17 +30,9 @@ export class CommentsModule extends AdaptableModuleBase {
|
|
|
31
30
|
return undefined;
|
|
32
31
|
}
|
|
33
32
|
const items = [];
|
|
34
|
-
const isCellCommentable = (_b = (_a = this.
|
|
33
|
+
const isCellCommentable = (_b = (_a = this.api.optionsApi) === null || _a === void 0 ? void 0 : _a.getCommentOptions()) === null || _b === void 0 ? void 0 : _b.isCellCommentable;
|
|
35
34
|
if (!isCellCommentable ||
|
|
36
|
-
isCellCommentable({
|
|
37
|
-
adaptableApi: this.adaptable.api,
|
|
38
|
-
address: {
|
|
39
|
-
PrimaryKeyValue: menuContext.primaryKeyValue,
|
|
40
|
-
ColumnId: menuContext.adaptableColumn.columnId,
|
|
41
|
-
},
|
|
42
|
-
userName: this.adaptable.api.optionsApi.getUserName(),
|
|
43
|
-
adaptableId: this.adaptable.adaptableOptions.adaptableId,
|
|
44
|
-
})) {
|
|
35
|
+
isCellCommentable(Object.assign({ gridCell: menuContext.gridCell }, createBaseContext(this.api)))) {
|
|
45
36
|
items.push(...this.getAddRemoveCommentsMenuItems(menuContext));
|
|
46
37
|
}
|
|
47
38
|
return items;
|
|
@@ -53,14 +44,17 @@ export class CommentsModule extends AdaptableModuleBase {
|
|
|
53
44
|
PrimaryKeyValue: menuContext.primaryKeyValue,
|
|
54
45
|
ColumnId: menuContext.adaptableColumn.columnId,
|
|
55
46
|
};
|
|
56
|
-
const comments = this.
|
|
47
|
+
const comments = this.api.commentApi.getComments(cellAddress);
|
|
48
|
+
if (!this.api.commentApi.internalApi.areCommentsAvailable()) {
|
|
49
|
+
return items;
|
|
50
|
+
}
|
|
57
51
|
if (comments) {
|
|
58
|
-
items.push(this.
|
|
52
|
+
items.push(this.createMenuItemClickFunction('comment-remove', 'Remove Comment', this.moduleInfo.Glyph, () => {
|
|
59
53
|
this.api.commentApi.deleteCommentThread(cellAddress);
|
|
60
54
|
}));
|
|
61
55
|
}
|
|
62
56
|
else {
|
|
63
|
-
items.push(this.
|
|
57
|
+
items.push(this.createMenuItemClickFunction('comment-add', 'Add Comment', this.moduleInfo.Glyph, () => {
|
|
64
58
|
// add an empty one
|
|
65
59
|
this.api.commentApi.addCommentThread(Object.assign(Object.assign({}, cellAddress), { Comments: [] }));
|
|
66
60
|
requestAnimationFrame(() => {
|
|
@@ -25,7 +25,7 @@ export class CustomSortModule extends AdaptableModuleBase {
|
|
|
25
25
|
.find((x) => x.ColumnId == column.columnId);
|
|
26
26
|
let label = customSort ? 'Edit ' : 'Create ';
|
|
27
27
|
// dont show a menu item if there is a custom sort that uses a comparer function
|
|
28
|
-
const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(column);
|
|
28
|
+
const columnSortComparer = this.api.customSortApi.internalApi.getCustomSortComparer(column.columnId);
|
|
29
29
|
if (columnSortComparer) {
|
|
30
30
|
return undefined;
|
|
31
31
|
}
|
|
@@ -34,8 +34,9 @@ export class CustomSortModule extends AdaptableModuleBase {
|
|
|
34
34
|
action: customSort ? 'Edit' : 'New',
|
|
35
35
|
source: 'ColumnMenu',
|
|
36
36
|
};
|
|
37
|
+
let name = customSort ? 'custom-sort-edit' : 'custom-sort-add';
|
|
37
38
|
return [
|
|
38
|
-
this.
|
|
39
|
+
this.createMenuItemShowPopup(name, label + 'Custom Sort', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
|
|
39
40
|
];
|
|
40
41
|
}
|
|
41
42
|
}
|
|
@@ -4,8 +4,7 @@ import { IModule } from './Interface/IModule';
|
|
|
4
4
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
5
5
|
export declare class DashboardModule extends AdaptableModuleBase implements IModule {
|
|
6
6
|
constructor(api: AdaptableApi);
|
|
7
|
-
|
|
8
|
-
handleAdaptableReady(): void;
|
|
7
|
+
onAdaptableReady(): void;
|
|
9
8
|
addColumnMenuItems(): AdaptableMenuItem[] | undefined;
|
|
10
9
|
addContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
11
10
|
private buildMenuItems;
|