@adaptabletools/adaptable 20.3.0 → 21.0.0-canary.1
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 +2 -1
- package/agGrid.js +2 -1
- package/base.css +36 -15
- package/base.css.map +1 -1
- package/icons/add-circle.svg +1 -0
- package/icons/add.svg +1 -0
- package/icons/alert.svg +1 -0
- package/icons/align-center.svg +1 -0
- package/icons/align-justify.svg +1 -0
- package/icons/align-left.svg +1 -0
- package/icons/align-right.svg +1 -0
- package/icons/arrow-down-long.svg +1 -0
- package/icons/arrow-down.svg +1 -0
- package/icons/arrow-expand.svg +1 -0
- package/icons/arrow-left.svg +1 -0
- package/icons/arrow-right.svg +1 -0
- package/icons/arrow-up-long.svg +1 -0
- package/icons/arrow-up.svg +1 -0
- package/icons/assignment.svg +1 -0
- package/icons/badge.svg +1 -0
- package/icons/bold.svg +1 -0
- package/icons/boolean-list.svg +1 -0
- package/icons/brain.svg +1 -0
- package/icons/broadcast.svg +1 -0
- package/icons/brush.svg +1 -0
- package/icons/building.svg +1 -0
- package/icons/calculated-column.svg +1 -0
- package/icons/calendar.svg +1 -0
- package/icons/call.svg +1 -0
- package/icons/case-lower.svg +1 -0
- package/icons/case-sentence.svg +1 -0
- package/icons/case-upper.svg +1 -0
- package/icons/cells.svg +1 -0
- package/icons/chart.svg +1 -0
- package/icons/chat.svg +1 -0
- package/icons/check-circle.svg +1 -0
- package/icons/check.svg +1 -0
- package/icons/checked.svg +1 -0
- package/icons/clipboard.svg +1 -0
- package/icons/clone.svg +1 -0
- package/icons/close.svg +1 -0
- package/icons/cloud-upload.svg +1 -0
- package/icons/collapse-all.svg +1 -0
- package/icons/collapse.svg +1 -0
- package/icons/color-palette.svg +1 -0
- package/icons/column-add.svg +1 -0
- package/icons/column-outline.svg +1 -0
- package/icons/columns.svg +1 -0
- package/icons/comment.svg +1 -0
- package/icons/comments.svg +1 -0
- package/icons/contact.svg +1 -0
- package/icons/contains.svg +1 -0
- package/icons/copy.svg +1 -0
- package/icons/csv.svg +1 -0
- package/icons/dashboard.svg +1 -0
- package/icons/data-set.svg +1 -0
- package/icons/date-range.svg +1 -0
- package/icons/delete.svg +1 -0
- package/icons/division.svg +1 -0
- package/icons/dock.svg +1 -0
- package/icons/dollar.svg +1 -0
- package/icons/download.svg +1 -0
- package/icons/downloaded.svg +1 -0
- package/icons/drag.svg +1 -0
- package/icons/edit-table.svg +1 -0
- package/icons/edit.svg +1 -0
- package/icons/ends-with.svg +1 -0
- package/icons/equals.svg +1 -0
- package/icons/equation.svg +1 -0
- package/icons/error.svg +1 -0
- package/icons/excel.svg +1 -0
- package/icons/expand-all.svg +1 -0
- package/icons/expand.svg +1 -0
- package/icons/exponent.svg +1 -0
- package/icons/export-data.svg +1 -0
- package/icons/export.svg +1 -0
- package/icons/fast-backward.svg +1 -0
- package/icons/fast-forward.svg +1 -0
- package/icons/fdc3.svg +1 -0
- package/icons/filled-circle.svg +1 -0
- package/icons/filter-list.svg +1 -0
- package/icons/filter-off.svg +1 -0
- package/icons/filter.svg +1 -0
- package/icons/flag.svg +1 -0
- package/icons/folder-open.svg +1 -0
- package/icons/folder-shared.svg +1 -0
- package/icons/folder.svg +1 -0
- package/icons/function.svg +1 -0
- package/icons/gradient.svg +1 -0
- package/icons/greater-than-or-equal.svg +1 -0
- package/icons/greater-than.svg +1 -0
- package/icons/grid-filter.svg +1 -0
- package/icons/grid-info.svg +1 -0
- package/icons/grid.svg +1 -0
- package/icons/history.svg +1 -0
- package/icons/home.svg +1 -0
- package/icons/horizontal-lines.svg +1 -0
- package/icons/import-export.svg +1 -0
- package/icons/import.svg +1 -0
- package/icons/info.svg +1 -0
- package/icons/interactions.svg +1 -0
- package/icons/italic.svg +1 -0
- package/icons/json.svg +1 -0
- package/icons/laptop.svg +1 -0
- package/icons/less-than-or-equal.svg +1 -0
- package/icons/less-than.svg +1 -0
- package/icons/lightning.svg +1 -0
- package/icons/link.svg +1 -0
- package/icons/list.svg +1 -0
- package/icons/logout.svg +1 -0
- package/icons/mail.svg +1 -0
- package/icons/menu.svg +1 -0
- package/icons/minus.svg +1 -0
- package/icons/money.svg +1 -0
- package/icons/multiplication.svg +1 -0
- package/icons/newpage.svg +1 -0
- package/icons/news.svg +1 -0
- package/icons/not-contains.svg +1 -0
- package/icons/not-equal.svg +1 -0
- package/icons/note.svg +1 -0
- package/icons/open-in-new.svg +1 -0
- package/icons/order.svg +1 -0
- package/icons/organisation.svg +1 -0
- package/icons/overline.svg +1 -0
- package/icons/paperclip.svg +1 -0
- package/icons/pause.svg +1 -0
- package/icons/percent-tag.svg +1 -0
- package/icons/percent.svg +1 -0
- package/icons/person.svg +1 -0
- package/icons/pie-chart.svg +1 -0
- package/icons/play.svg +1 -0
- package/icons/plus.svg +1 -0
- package/icons/quote.svg +1 -0
- package/icons/refresh.svg +1 -0
- package/icons/regex.svg +1 -0
- package/icons/reminder.svg +1 -0
- package/icons/resume.svg +1 -0
- package/icons/rows.svg +1 -0
- package/icons/save.svg +1 -0
- package/icons/schedule.svg +1 -0
- package/icons/science.svg +1 -0
- package/icons/search-table.svg +1 -0
- package/icons/search.svg +1 -0
- package/icons/select-all.svg +1 -0
- package/icons/select-fwd.svg +1 -0
- package/icons/select-off.svg +1 -0
- package/icons/settings.svg +1 -0
- package/icons/sort-asc.svg +1 -0
- package/icons/sort-desc.svg +1 -0
- package/icons/spanner.svg +1 -0
- package/icons/spark-line.svg +1 -0
- package/icons/starts-with.svg +1 -0
- package/icons/statusbar.svg +1 -0
- package/icons/stop.svg +1 -0
- package/icons/strikethrough.svg +1 -0
- package/icons/styled-grid.svg +1 -0
- package/icons/sync.svg +1 -0
- package/icons/tab-unselected.svg +1 -0
- package/icons/target.svg +1 -0
- package/icons/theme.svg +1 -0
- package/icons/traffic-lights.svg +1 -0
- package/icons/triangle-down.svg +1 -0
- package/icons/triangle-up.svg +1 -0
- package/icons/unchecked.svg +1 -0
- package/icons/underline.svg +1 -0
- package/icons/undo.svg +1 -0
- package/icons/unfilled-circle.svg +1 -0
- package/icons/upload.svg +1 -0
- package/icons/visibility-off-bold.svg +1 -0
- package/icons/visibility-off.svg +1 -0
- package/icons/visibility-on-bold.svg +1 -0
- package/icons/visibility-on.svg +1 -0
- package/icons/warning.svg +1 -0
- package/index.css +32 -15
- package/index.css.map +1 -1
- package/package.json +2 -2
- package/src/AdaptableInterfaces/IAdaptable.d.ts +10 -5
- package/src/AdaptableOptions/ColumnOptions.d.ts +38 -38
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -2
- package/src/AdaptableOptions/EditOptions.d.ts +4 -7
- package/src/AdaptableOptions/FilterOptions.d.ts +50 -15
- package/src/AdaptableOptions/LayoutOptions.d.ts +40 -22
- package/src/AdaptableOptions/PredicateOptions.d.ts +1 -1
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -1
- package/src/AdaptableState/Common/AdaptableColumn.d.ts +7 -0
- package/src/AdaptableState/Common/AdaptablePredicate.js +2 -2
- package/src/AdaptableState/Common/CustomWindowConfig.d.ts +2 -2
- package/src/AdaptableState/Common/ExtendedLayout.d.ts +50 -0
- package/src/AdaptableState/FormatColumnState.d.ts +8 -1
- package/src/AdaptableState/InternalState.d.ts +1 -1
- package/src/AdaptableState/LayoutState.d.ts +26 -6
- package/src/AdaptableState/Selection/GridCell.d.ts +32 -0
- package/src/AdaptableState/StyledColumnState.d.ts +2 -2
- package/src/Api/AlertApi.d.ts +5 -11
- package/src/Api/ColumnApi.d.ts +17 -1
- package/src/Api/ColumnFilterApi.d.ts +32 -2
- package/src/Api/CustomSortApi.d.ts +5 -10
- package/src/Api/FlashingCellApi.d.ts +10 -6
- package/src/Api/FormatColumnApi.d.ts +8 -18
- package/src/Api/Implementation/AlertApiImpl.d.ts +6 -9
- package/src/Api/Implementation/AlertApiImpl.js +7 -6
- package/src/Api/Implementation/ApiBase.d.ts +2 -12
- package/src/Api/Implementation/ApiBase.js +5 -5
- package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -2
- package/src/Api/Implementation/ColumnApiImpl.js +59 -23
- package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +7 -1
- package/src/Api/Implementation/ColumnFilterApiImpl.js +76 -3
- package/src/Api/Implementation/ColumnScopeApiImpl.js +10 -2
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +5 -10
- package/src/Api/Implementation/CustomSortApiImpl.js +6 -4
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +7 -6
- package/src/Api/Implementation/FlashingCellApiImpl.js +11 -8
- package/src/Api/Implementation/FormatColumnApiImpl.d.ts +8 -18
- package/src/Api/Implementation/FormatColumnApiImpl.js +10 -9
- package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -2
- package/src/Api/Implementation/LayoutApiImpl.js +107 -13
- package/src/Api/Implementation/LayoutHelpers.d.ts +1 -0
- package/src/Api/Implementation/LayoutHelpers.js +23 -4
- package/src/Api/Implementation/PlusMinusApiImpl.d.ts +7 -5
- package/src/Api/Implementation/PlusMinusApiImpl.js +10 -7
- package/src/Api/Implementation/ScheduleApiImpl.d.ts +9 -16
- package/src/Api/Implementation/ScheduleApiImpl.js +15 -17
- package/src/Api/Implementation/ShortcutApiImpl.d.ts +5 -6
- package/src/Api/Implementation/ShortcutApiImpl.js +7 -8
- package/src/Api/Implementation/StyledColumnApiImpl.d.ts +7 -8
- package/src/Api/Implementation/StyledColumnApiImpl.js +12 -9
- package/src/Api/Implementation/TeamSharingApiImpl.js +1 -4
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -1
- package/src/Api/Implementation/UserInterfaceApiImpl.js +10 -9
- package/src/Api/Internal/AdaptableInternalApi.d.ts +2 -0
- package/src/Api/Internal/AdaptableInternalApi.js +3 -0
- package/src/Api/Internal/AlertInternalApi.d.ts +6 -6
- package/src/Api/Internal/AlertInternalApi.js +10 -10
- package/src/Api/Internal/ColumnFilterInternalApi.d.ts +13 -0
- package/src/Api/Internal/ColumnFilterInternalApi.js +93 -1
- package/src/Api/Internal/ColumnInternalApi.d.ts +2 -1
- package/src/Api/Internal/ColumnInternalApi.js +4 -0
- package/src/Api/Internal/DashboardInternalApi.js +1 -1
- package/src/Api/Internal/EntitlementInternalApi.d.ts +1 -0
- package/src/Api/Internal/EntitlementInternalApi.js +8 -0
- package/src/Api/Internal/ExportInternalApi.js +1 -1
- package/src/Api/Internal/FlashingCellInternalApi.js +1 -1
- package/src/Api/Internal/FormatColumnInternalApi.d.ts +8 -11
- package/src/Api/Internal/FormatColumnInternalApi.js +13 -13
- package/src/Api/Internal/GridInternalApi.d.ts +7 -10
- package/src/Api/Internal/GridInternalApi.js +76 -27
- package/src/Api/Internal/LayoutInternalApi.d.ts +10 -5
- package/src/Api/Internal/LayoutInternalApi.js +86 -6
- package/src/Api/Internal/PredicateInternalApi.d.ts +2 -6
- package/src/Api/Internal/PredicateInternalApi.js +4 -6
- package/src/Api/Internal/UserInterfaceInternalApi.d.ts +1 -0
- package/src/Api/Internal/UserInterfaceInternalApi.js +10 -3
- package/src/Api/LayoutApi.d.ts +7 -2
- package/src/Api/PlusMinusApi.d.ts +11 -7
- package/src/Api/ScheduleApi.d.ts +9 -16
- package/src/Api/ShortcutApi.d.ts +5 -6
- package/src/Api/StyledColumnApi.d.ts +10 -7
- package/src/Api/UserInterfaceApi.d.ts +5 -6
- package/src/Redux/ActionsReducers/InternalRedux.d.ts +4 -4
- package/src/Redux/ActionsReducers/InternalRedux.js +7 -7
- package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +7 -0
- package/src/Redux/ActionsReducers/StyledColumnRedux.js +13 -0
- package/src/Redux/Store/AdaptableStore.js +10 -10
- package/src/Strategy/AdaptableModuleBase.d.ts +14 -4
- package/src/Strategy/AdaptableModuleBase.js +46 -9
- package/src/Strategy/AlertModule.d.ts +3 -4
- package/src/Strategy/AlertModule.js +7 -4
- package/src/Strategy/CalculatedColumnModule.js +2 -2
- package/src/Strategy/CellSummaryModule.js +2 -2
- package/src/Strategy/ChartingModule.d.ts +3 -1
- package/src/Strategy/ChartingModule.js +9 -3
- package/src/Strategy/ColumnFilterModule.d.ts +1 -1
- package/src/Strategy/ColumnFilterModule.js +31 -15
- package/src/Strategy/ColumnInfoModule.js +2 -2
- package/src/Strategy/CommentModule.d.ts +1 -1
- package/src/Strategy/CommentModule.js +3 -3
- package/src/Strategy/CustomSortModule.d.ts +3 -4
- package/src/Strategy/CustomSortModule.js +2 -2
- package/src/Strategy/DashboardModule.js +1 -1
- package/src/Strategy/DataChangeHistoryModule.d.ts +2 -1
- package/src/Strategy/DataChangeHistoryModule.js +3 -10
- package/src/Strategy/DataImportModule.js +3 -3
- package/src/Strategy/ExportModule.js +1 -1
- package/src/Strategy/Fdc3Module.js +1 -1
- package/src/Strategy/FlashingCellModule.d.ts +3 -5
- package/src/Strategy/FlashingCellModule.js +3 -3
- package/src/Strategy/FormatColumnModule.d.ts +3 -4
- package/src/Strategy/FormatColumnModule.js +2 -2
- package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
- package/src/Strategy/FreeTextColumnModule.js +2 -2
- package/src/Strategy/GridInfoModule.js +2 -2
- package/src/Strategy/Interface/IModule.d.ts +7 -3
- package/src/Strategy/LayoutModule.js +11 -11
- package/src/Strategy/NoteModule.d.ts +1 -1
- package/src/Strategy/NoteModule.js +3 -3
- package/src/Strategy/PlusMinusModule.d.ts +3 -4
- package/src/Strategy/PlusMinusModule.js +2 -2
- package/src/Strategy/QuickSearchModule.d.ts +2 -0
- package/src/Strategy/QuickSearchModule.js +9 -0
- package/src/Strategy/ScheduleModule.d.ts +3 -4
- package/src/Strategy/ScheduleModule.js +2 -2
- package/src/Strategy/SettingsPanelModule.js +1 -1
- package/src/Strategy/ShortcutModule.d.ts +3 -4
- package/src/Strategy/ShortcutModule.js +2 -2
- package/src/Strategy/StatusBarModule.d.ts +3 -2
- package/src/Strategy/StatusBarModule.js +6 -3
- package/src/Strategy/StyledColumnModule.d.ts +3 -4
- package/src/Strategy/StyledColumnModule.js +2 -2
- package/src/Strategy/SystemStatusModule.js +2 -2
- package/src/Strategy/TeamSharingModule.d.ts +1 -1
- package/src/Strategy/TeamSharingModule.js +5 -2
- package/src/Strategy/ToolPanelModule.d.ts +1 -1
- package/src/Strategy/ToolPanelModule.js +1 -4
- package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
- package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -0
- package/src/Utilities/Extensions/ArrayExtensions.d.ts +15 -2
- package/src/Utilities/Extensions/ArrayExtensions.js +62 -13
- package/src/Utilities/Helpers/AdaptableHelper.d.ts +1 -0
- package/src/Utilities/Helpers/AdaptableHelper.js +1 -0
- package/src/Utilities/ObjectFactory.d.ts +7 -3
- package/src/Utilities/ObjectFactory.js +26 -18
- package/src/Utilities/Services/AnnotationsService.js +1 -1
- package/src/Utilities/Services/Interface/IModuleService.d.ts +2 -1
- package/src/Utilities/Services/ModuleService.d.ts +3 -3
- package/src/Utilities/Services/ModuleService.js +19 -7
- package/src/View/AdaptableView.js +3 -1
- package/src/View/ColumnInfo/ColumnInfo.js +9 -3
- package/src/View/Components/AdaptableIconSelector/index.js +2 -3
- package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +0 -1
- package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +2 -3
- package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.d.ts +0 -2
- package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +4 -7
- package/src/View/Components/ColumnFilter/ColumnFilter.js +11 -4
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
- package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -2
- package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +2 -2
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +2 -2
- package/src/View/Components/ColumnFilter/utils.d.ts +2 -2
- package/src/View/Components/ColumnFilter/utils.js +6 -1
- package/src/View/Components/EntityRulesEditor/index.js +1 -2
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +6 -6
- package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -2
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +1 -1
- package/src/View/Components/Selectors/ColumnSelector.js +1 -1
- package/src/View/Components/Selectors/FieldSelector.js +1 -1
- package/src/View/Components/Selectors/PermittedValuesSelector.d.ts +1 -0
- package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
- package/src/View/Dashboard/Dashboard.js +2 -2
- package/src/View/Dashboard/DashboardPopup.js +3 -1
- package/src/View/Dashboard/PinnedDashboard.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +9 -21
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +58 -21
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +11 -11
- package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +1 -1
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -1
- package/src/View/Layout/TransposedPopup.js +2 -2
- package/src/View/Layout/Wizard/LayoutWizard.js +5 -7
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +64 -9
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +5 -5
- package/src/View/StatusBar/AdaptableStatusBar.js +1 -4
- package/src/View/StatusBar/StatusBarPopup.js +1 -1
- package/src/View/Theme/ThemeSelector.js +1 -1
- package/src/agGrid/AdaptableAgGrid.d.ts +11 -7
- package/src/agGrid/AdaptableAgGrid.js +251 -216
- package/src/agGrid/AdaptableFilterHandler.d.ts +18 -0
- package/src/agGrid/AdaptableFilterHandler.js +61 -0
- package/src/agGrid/AgGridAdapter.d.ts +3 -7
- package/src/agGrid/AgGridAdapter.js +13 -46
- package/src/agGrid/AgGridColumnAdapter.d.ts +2 -2
- package/src/agGrid/AgGridColumnAdapter.js +81 -36
- package/src/agGrid/AgGridFilterAdapter.d.ts +2 -0
- package/src/agGrid/AgGridFilterAdapter.js +48 -0
- package/src/agGrid/AgGridFloatingFilterAdapter.d.ts +2 -0
- package/src/agGrid/{FloatingFilterWrapper.js → AgGridFloatingFilterAdapter.js} +24 -35
- package/src/agGrid/AgGridModulesAdapter.d.ts +15 -0
- package/src/agGrid/AgGridModulesAdapter.js +66 -0
- package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
- package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -1
- package/src/components/Dialog/index.js +1 -1
- package/src/components/Dropdown/Arrows.js +2 -2
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +2 -2
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -2
- package/src/components/FileDroppable/index.js +1 -1
- package/src/components/IconSelector/IconSelector.d.ts +2 -2
- package/src/components/OverlayTrigger/index.js +1 -1
- package/src/components/Select/Select.d.ts +1 -1
- package/src/components/Select/Select.js +116 -24
- package/src/components/icons/DefaultIcon.d.ts +0 -1
- package/src/components/icons/DefaultIcon.js +0 -6
- package/src/env.js +2 -2
- package/src/layout-manager/src/LayoutManagerModel.d.ts +6 -10
- package/src/layout-manager/src/index.d.ts +11 -3
- package/src/layout-manager/src/index.js +302 -87
- package/src/layout-manager/src/normalizeLayoutModel.js +7 -4
- package/src/layout-manager/src/simplifyLayoutModel.js +4 -4
- package/src/metamodel/adaptable.metamodel.d.ts +103 -40
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/migration/AdaptableUpgradeHelper.js +2 -0
- package/src/migration/VersionUpgrade17.js +1 -1
- package/src/migration/VersionUpgrade20.js +1 -0
- package/src/migration/VersionUpgrade21.d.ts +6 -0
- package/src/migration/VersionUpgrade21.js +24 -0
- package/src/types.d.ts +7 -8
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/AdaptableState/Common/ExtendedLayoutInfo.d.ts +0 -27
- package/src/agGrid/FilterWrapper.d.ts +0 -2
- package/src/agGrid/FilterWrapper.js +0 -131
- package/src/agGrid/FloatingFilterWrapper.d.ts +0 -2
- package/src/agGrid/agGridModules.d.ts +0 -3
- package/src/agGrid/agGridModules.js +0 -15
- package/src/agGrid/getAgGridFilterNotifyModelFn.d.ts +0 -2
- package/src/agGrid/getAgGridFilterNotifyModelFn.js +0 -16
- /package/src/AdaptableState/Common/{ExtendedLayoutInfo.js → ExtendedLayout.js} +0 -0
|
@@ -892,18 +892,18 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
|
|
|
892
892
|
const newLayout = (newLayoutState.Layouts || []).find((l) => l.Name == newLayoutState.CurrentLayout) ||
|
|
893
893
|
newLayoutState.Layouts[0] ||
|
|
894
894
|
ERROR_LAYOUT;
|
|
895
|
-
|
|
896
|
-
|
|
895
|
+
const changedColumnSorts = adaptable.api.layoutApi.internalApi.getChangedColumnSorts(oldLayout.ColumnSorts, newLayout.ColumnSorts);
|
|
896
|
+
changedColumnSorts.forEach((columnId) => adaptable.api.filterApi.columnFilterApi.resetFilterValues(columnId));
|
|
897
|
+
let refreshColumnFilters = false;
|
|
897
898
|
if (adaptable.api.filterApi.columnFilterApi.internalApi.areColumnFiltersDifferent(oldLayout.ColumnFilters, newLayout.ColumnFilters)) {
|
|
898
|
-
|
|
899
|
+
refreshColumnFilters = true;
|
|
899
900
|
}
|
|
900
|
-
|
|
901
|
-
if (
|
|
902
|
-
|
|
903
|
-
refreshFilters = true;
|
|
901
|
+
let refreshGridFilter = false;
|
|
902
|
+
if (adaptable.api.filterApi.gridFilterApi.internalApi.isGridFilterDifferent(oldLayout.GridFilter, newLayout.GridFilter)) {
|
|
903
|
+
refreshGridFilter = true;
|
|
904
904
|
}
|
|
905
|
-
if (
|
|
906
|
-
adaptable.applyFiltering();
|
|
905
|
+
if (refreshColumnFilters || refreshGridFilter) {
|
|
906
|
+
adaptable.applyFiltering({ updateColumnFilterModel: refreshColumnFilters });
|
|
907
907
|
}
|
|
908
908
|
if (returnAction.type == LayoutRedux.LAYOUT_SELECT ||
|
|
909
909
|
returnAction.type == LayoutRedux.LAYOUT_DELETE) {
|
|
@@ -969,7 +969,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
|
|
|
969
969
|
adaptable.api.eventApi.internalApi.fireGridFilterAppliedEvent();
|
|
970
970
|
adaptable.api.eventApi.internalApi.fireLayoutChangedEvent(action.type, null, middlewareAPI.getState().Layout);
|
|
971
971
|
setTimeout(() => {
|
|
972
|
-
adaptable.applyFiltering();
|
|
972
|
+
adaptable.applyFiltering({ updateColumnFilterModel: false });
|
|
973
973
|
}, 5);
|
|
974
974
|
return next(returnAction);
|
|
975
975
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AgModuleName } from 'ag-grid-enterprise';
|
|
1
2
|
import { IModule, ModuleInfo, TeamSharingReferences } from './Interface/IModule';
|
|
2
3
|
import { Action } from 'redux';
|
|
3
4
|
import { AdaptableColumn } from '../AdaptableState/Common/AdaptableColumn';
|
|
@@ -20,15 +21,24 @@ export declare abstract class AdaptableModuleBase implements IModule {
|
|
|
20
21
|
protected api: AdaptableApi;
|
|
21
22
|
moduleInfo: ModuleInfo;
|
|
22
23
|
AccessLevel: AccessLevel;
|
|
24
|
+
agGridModuleDepsInfo: {
|
|
25
|
+
hasRequiredAgGridModuleDependencies: boolean;
|
|
26
|
+
missingAgGridModuleDependencies?: AgModuleName[];
|
|
27
|
+
};
|
|
23
28
|
constructor(module: AdaptableModule, friendlyName: string, glyph: AdaptableSystemIconName, popup: string, description: string, api: AdaptableApi);
|
|
24
29
|
protected getViewAccessLevel(): AccessLevel;
|
|
25
30
|
protected getEditAccessLevel(): AccessLevel;
|
|
31
|
+
protected getAgGridModuleDependencies(): AgModuleName[];
|
|
32
|
+
isModuleEnabled(): boolean;
|
|
26
33
|
isModuleAvailable(): boolean;
|
|
34
|
+
isModuleVisible(): boolean;
|
|
35
|
+
isModuleEditable(): boolean;
|
|
36
|
+
setAgGridDepsInfo(): void;
|
|
37
|
+
logMissingAgGridDepsInfos(): void;
|
|
27
38
|
/**
|
|
28
39
|
* Used inside the unified UI to show the share button
|
|
29
40
|
*/
|
|
30
41
|
isModuleObjectsShareable(): boolean;
|
|
31
|
-
isModuleEditable(): boolean;
|
|
32
42
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
33
43
|
getExplicitlyReferencedColumnIds(adaptableObject: AdaptableObject): string[];
|
|
34
44
|
getReferencedNamedQueryNames(adaptableObject: AdaptableObject): string[];
|
|
@@ -56,10 +66,10 @@ export declare abstract class AdaptableModuleBase implements IModule {
|
|
|
56
66
|
getTeamSharingReferences(adaptableObject: AdaptableObject): TeamSharingReferences;
|
|
57
67
|
getPopupMaxWidth(): number | undefined;
|
|
58
68
|
/**
|
|
59
|
-
* TRUE for objects of type {@link
|
|
69
|
+
* TRUE for objects of type {@link LayoutExtensionObject}
|
|
60
70
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
71
|
+
containsLayoutExtensions(): boolean;
|
|
72
|
+
showLayoutNonExtendedObjects(): boolean;
|
|
63
73
|
private getFriendlyName;
|
|
64
74
|
private hasRequiredAccessLevel;
|
|
65
75
|
}
|
|
@@ -31,8 +31,48 @@ export class AdaptableModuleBase {
|
|
|
31
31
|
// override where necessary
|
|
32
32
|
return 'Full';
|
|
33
33
|
}
|
|
34
|
+
getAgGridModuleDependencies() {
|
|
35
|
+
// override where necessary
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
isModuleEnabled() {
|
|
39
|
+
// by default all modules are enabled; some modules may override this to check specific flags, configs, etc.
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
34
42
|
isModuleAvailable() {
|
|
35
|
-
return this.
|
|
43
|
+
return this.agGridModuleDepsInfo?.hasRequiredAgGridModuleDependencies;
|
|
44
|
+
}
|
|
45
|
+
isModuleVisible() {
|
|
46
|
+
return (this.isModuleEnabled() &&
|
|
47
|
+
this.isModuleAvailable() &&
|
|
48
|
+
this.hasRequiredAccessLevel(this.getViewAccessLevel()));
|
|
49
|
+
}
|
|
50
|
+
isModuleEditable() {
|
|
51
|
+
return (this.isModuleEnabled() &&
|
|
52
|
+
this.isModuleAvailable() &&
|
|
53
|
+
this.hasRequiredAccessLevel(this.getEditAccessLevel()));
|
|
54
|
+
}
|
|
55
|
+
setAgGridDepsInfo() {
|
|
56
|
+
const agGridModulesAdapter = this.api.internalApi.getAgGridModulesAdapter();
|
|
57
|
+
const missingAgGridModuleDependencies = this.getAgGridModuleDependencies().filter((agGridModule) => !agGridModulesAdapter.isAgGridModuleRegistered(agGridModule));
|
|
58
|
+
if (missingAgGridModuleDependencies.length) {
|
|
59
|
+
this.agGridModuleDepsInfo = {
|
|
60
|
+
hasRequiredAgGridModuleDependencies: false,
|
|
61
|
+
missingAgGridModuleDependencies,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.agGridModuleDepsInfo = {
|
|
66
|
+
hasRequiredAgGridModuleDependencies: true,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
logMissingAgGridDepsInfos() {
|
|
71
|
+
if (this.isModuleEnabled() &&
|
|
72
|
+
this.hasRequiredAccessLevel(this.getViewAccessLevel()) &&
|
|
73
|
+
!this.isModuleAvailable()) {
|
|
74
|
+
this.api.logWarn(`Module '${this.moduleInfo.ModuleName}' is not available - missing required AG Grid modules: ${this.agGridModuleDepsInfo.missingAgGridModuleDependencies.join(', ')}`);
|
|
75
|
+
}
|
|
36
76
|
}
|
|
37
77
|
/**
|
|
38
78
|
* Used inside the unified UI to show the share button
|
|
@@ -40,9 +80,6 @@ export class AdaptableModuleBase {
|
|
|
40
80
|
isModuleObjectsShareable() {
|
|
41
81
|
return true;
|
|
42
82
|
}
|
|
43
|
-
isModuleEditable() {
|
|
44
|
-
return this.hasRequiredAccessLevel(this.getEditAccessLevel());
|
|
45
|
-
}
|
|
46
83
|
getModuleAdaptableObjects() {
|
|
47
84
|
// override where necessary in base classes
|
|
48
85
|
return [];
|
|
@@ -70,7 +107,7 @@ export class AdaptableModuleBase {
|
|
|
70
107
|
this.AccessLevel = this.api.entitlementApi.getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName);
|
|
71
108
|
}
|
|
72
109
|
createModuleMenuItem(source) {
|
|
73
|
-
if (this.
|
|
110
|
+
if (this.isModuleVisible() && this.moduleInfo.Popup) {
|
|
74
111
|
const moduleParams = {
|
|
75
112
|
source: source,
|
|
76
113
|
maxWidth: this.getPopupMaxWidth(),
|
|
@@ -192,13 +229,13 @@ export class AdaptableModuleBase {
|
|
|
192
229
|
return undefined;
|
|
193
230
|
}
|
|
194
231
|
/**
|
|
195
|
-
* TRUE for objects of type {@link
|
|
232
|
+
* TRUE for objects of type {@link LayoutExtensionObject}
|
|
196
233
|
*/
|
|
197
|
-
|
|
234
|
+
containsLayoutExtensions() {
|
|
198
235
|
return false;
|
|
199
236
|
}
|
|
200
|
-
|
|
201
|
-
return this.api.layoutApi.internalApi.
|
|
237
|
+
showLayoutNonExtendedObjects() {
|
|
238
|
+
return this.api.layoutApi.internalApi.showLayoutNonExtendedObjects();
|
|
202
239
|
}
|
|
203
240
|
getFriendlyName(module, friendlyName) {
|
|
204
241
|
let returnValue = friendlyName;
|
|
@@ -5,6 +5,7 @@ import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
|
|
|
5
5
|
import { ContextMenuContext } from '../AdaptableState/Common/Menu';
|
|
6
6
|
import { TeamSharingImportInfo } from '../AdaptableState/TeamSharingState';
|
|
7
7
|
import { MenuItemShowPopup } from '../Utilities/MenuItem';
|
|
8
|
+
import { LayoutExtendedConfig } from '../types';
|
|
8
9
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
9
10
|
import { ICellDataChangeListenerModule } from './Interface/ICellDataChangeListenerModule';
|
|
10
11
|
import { AdaptableModuleView, AdaptableObjectCompactView, AdaptableObjectView } from './Interface/IModule';
|
|
@@ -15,9 +16,7 @@ export declare class AlertModule extends AdaptableModuleBase implements ICellDat
|
|
|
15
16
|
shouldListenToDataChanges(): boolean;
|
|
16
17
|
checkListenToCellDataChanged(): void;
|
|
17
18
|
setupCellDataChangeListener(): void;
|
|
18
|
-
getModuleAdaptableObjects(config?:
|
|
19
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
20
|
-
}): AdaptableObject[];
|
|
19
|
+
getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
|
|
21
20
|
getExplicitlyReferencedColumnIds(alertDefinition: AlertDefinition): string[];
|
|
22
21
|
getReferencedNamedQueryNames(alertDefinition: AlertDefinition): string[];
|
|
23
22
|
createContextMenuItems(menuContext: ContextMenuContext): MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-all-data" | "export-all-data-excel-download" | "export-all-data-visualexcel-download" | "export-all-data-csv" | "export-all-data-csv-download" | "export-all-data-csv-clipboard" | "export-all-data-json" | "export-all-data-json-download" | "export-all-data-json-clipboard" | "export-current-layout" | "export-current-layout-excel-download" | "export-current-layout-visualexcel-download" | "export-current-layout-csv" | "export-current-layout-csv-download" | "export-current-layout-csv-clipboard" | "export-current-layout-json" | "export-current-layout-json-download" | "export-current-layout-json-clipboard" | "export-selected-data" | "export-selected-data-excel-download" | "export-selected-data-visualexcel-download" | "export-selected-data-csv" | "export-selected-data-csv-download" | "export-selected-data-csv-clipboard" | "export-selected-data-json" | "export-selected-data-json-download" | "export-selected-data-json-clipboard" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
|
|
@@ -30,5 +29,5 @@ export declare class AlertModule extends AdaptableModuleBase implements ICellDat
|
|
|
30
29
|
toView(alert: AlertDefinition): AdaptableObjectView;
|
|
31
30
|
toViewAll(): AdaptableObjectView[];
|
|
32
31
|
getViewProperties(): AdaptableModuleView;
|
|
33
|
-
|
|
32
|
+
containsLayoutExtensions(): boolean;
|
|
34
33
|
}
|
|
@@ -99,7 +99,7 @@ export class AlertModule extends AdaptableModuleBase {
|
|
|
99
99
|
}
|
|
100
100
|
createContextMenuItems(menuContext) {
|
|
101
101
|
const items = [];
|
|
102
|
-
if (!menuContext.isRowGroupColumn && this.
|
|
102
|
+
if (!menuContext.isRowGroupColumn && this.isModuleVisible()) {
|
|
103
103
|
if (menuContext.adaptableColumn && menuContext.rowNode) {
|
|
104
104
|
let relevantAlert;
|
|
105
105
|
// find alerts which highlight the current cell
|
|
@@ -159,8 +159,11 @@ export class AlertModule extends AdaptableModuleBase {
|
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
161
|
getTeamSharingAction() {
|
|
162
|
+
const config = {
|
|
163
|
+
includeLayoutNotExtendedObjects: false,
|
|
164
|
+
};
|
|
162
165
|
return {
|
|
163
|
-
ModuleEntities: this.api.alertApi.getAlertDefinitions(),
|
|
166
|
+
ModuleEntities: this.api.alertApi.getAlertDefinitions(config),
|
|
164
167
|
AddAction: AlertRedux.AlertDefinitionAdd,
|
|
165
168
|
EditAction: AlertRedux.AlertDefinitionEdit,
|
|
166
169
|
};
|
|
@@ -195,7 +198,7 @@ export class AlertModule extends AdaptableModuleBase {
|
|
|
195
198
|
}
|
|
196
199
|
toViewAll() {
|
|
197
200
|
return this.getModuleAdaptableObjects({
|
|
198
|
-
|
|
201
|
+
includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
|
|
199
202
|
}).map((alert) => this.toView(alert));
|
|
200
203
|
}
|
|
201
204
|
getViewProperties() {
|
|
@@ -221,7 +224,7 @@ export class AlertModule extends AdaptableModuleBase {
|
|
|
221
224
|
},
|
|
222
225
|
};
|
|
223
226
|
}
|
|
224
|
-
|
|
227
|
+
containsLayoutExtensions() {
|
|
225
228
|
return true;
|
|
226
229
|
}
|
|
227
230
|
}
|
|
@@ -63,7 +63,7 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
|
|
|
63
63
|
if (!column) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
-
if (!this.
|
|
66
|
+
if (!this.isModuleVisible()) {
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
if (this.isModuleEditable() && column.isCalculatedColumn) {
|
|
@@ -81,7 +81,7 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
|
|
|
81
81
|
if (!menuContext.adaptableColumn) {
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
|
-
if (!this.
|
|
84
|
+
if (!this.isModuleVisible()) {
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
87
|
if (this.isModuleEditable() &&
|
|
@@ -16,7 +16,7 @@ export class CellSummaryModule extends AdaptableModuleBase {
|
|
|
16
16
|
return 'Full';
|
|
17
17
|
}
|
|
18
18
|
createColumnMenuItems(column) {
|
|
19
|
-
if (!this.
|
|
19
|
+
if (!this.isModuleVisible()) {
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
if (column.dataType !== 'number') {
|
|
@@ -36,7 +36,7 @@ export class CellSummaryModule extends AdaptableModuleBase {
|
|
|
36
36
|
];
|
|
37
37
|
}
|
|
38
38
|
createContextMenuItems(menuContext) {
|
|
39
|
-
if (!this.
|
|
39
|
+
if (!this.isModuleVisible()) {
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
if (menuContext.adaptableColumn &&
|
|
@@ -3,9 +3,11 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
|
3
3
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
4
4
|
import { AdaptableColumn, ChartDefinition } from '../types';
|
|
5
5
|
import { ExternalChartDefinition } from '../AdaptableState/ChartingState';
|
|
6
|
+
import { AgModuleName } from 'ag-grid-enterprise';
|
|
6
7
|
export declare class ChartingModule extends AdaptableModuleBase implements IModule {
|
|
7
8
|
constructor(api: AdaptableApi);
|
|
8
|
-
|
|
9
|
+
protected getAgGridModuleDependencies(): AgModuleName[];
|
|
10
|
+
isModuleEnabled(): boolean;
|
|
9
11
|
createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"separator" | "calculated-column-edit" | "cell-summary-show" | "chart-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
|
|
10
12
|
getModuleAdaptableObjects(): (ChartDefinition | ExternalChartDefinition)[];
|
|
11
13
|
toViewAll(): AdaptableObjectView[];
|
|
@@ -12,10 +12,16 @@ export class ChartingModule extends AdaptableModuleBase {
|
|
|
12
12
|
constructor(api) {
|
|
13
13
|
super(ModuleConstants.ChartingModuleId, ModuleConstants.ChartingFriendlyName, 'chart', 'ChartPopup', 'Create AG Grid Charts in order to see Adaptable Data visually', api);
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
getAgGridModuleDependencies() {
|
|
16
|
+
return ['IntegratedChartsModule'];
|
|
17
|
+
}
|
|
18
|
+
isModuleEnabled() {
|
|
19
|
+
const agGridChartsEnabled = this.api.agGridApi.getGridOption('enableCharts');
|
|
20
|
+
if (agGridChartsEnabled) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
17
23
|
const externalChartsAvailable = Helper.objectHasKeys(this.api.optionsApi.getChartingOptions().externalChartingOptions);
|
|
18
|
-
return
|
|
24
|
+
return externalChartsAvailable;
|
|
19
25
|
}
|
|
20
26
|
createColumnMenuItems(column) {
|
|
21
27
|
if (column &&
|
|
@@ -8,11 +8,11 @@ import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
|
|
|
8
8
|
import { ColumnFilter } from '../types';
|
|
9
9
|
export declare class ColumnFilterModule extends AdaptableModuleBase implements IModule {
|
|
10
10
|
constructor(api: AdaptableApi);
|
|
11
|
+
onAdaptableReady(): void;
|
|
11
12
|
setModuleEntitlement(): void;
|
|
12
13
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
13
14
|
getExplicitlyReferencedColumnIds(columnFilter: ColumnFilter): string[];
|
|
14
15
|
hasNamedQueryReferences(): boolean;
|
|
15
|
-
onAdaptableReady(): void;
|
|
16
16
|
createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<"separator" | "calculated-column-edit" | "cell-summary-show" | "chart-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
|
|
17
17
|
createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem<AdaptableContextMenuItemName>[] | undefined;
|
|
18
18
|
getTeamSharingAction(): TeamSharingImportInfo<ColumnFilter>;
|
|
@@ -8,6 +8,36 @@ export class ColumnFilterModule extends AdaptableModuleBase {
|
|
|
8
8
|
constructor(api) {
|
|
9
9
|
super(ModuleConstants.ColumnFilterModuleId, ModuleConstants.ColumnFilterFriendlyName, 'filter', 'FilterPopup', 'Advanced filtering capability allows users to see precisely the data they want', api);
|
|
10
10
|
}
|
|
11
|
+
onAdaptableReady() {
|
|
12
|
+
if (this.api.optionsApi.getFilterOptions().columnFilterOptions.showQuickFilter == false) {
|
|
13
|
+
this.api.filterApi.columnFilterApi.hideQuickFilterBar();
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.api.filterApi.columnFilterApi.showQuickFilterBar();
|
|
17
|
+
}
|
|
18
|
+
const columnFilters = this.api.filterApi.columnFilterApi.getColumnFilters();
|
|
19
|
+
columnFilters.forEach((cf) => {
|
|
20
|
+
if (!this.api.columnApi.isColumnInGrid(cf.ColumnId)) {
|
|
21
|
+
this.api.logError('Column Filter contains missing column: ' + cf.ColumnId);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
this.api.internalApi
|
|
25
|
+
.getDataService()
|
|
26
|
+
.on('CellDataChanged', (cellDataChangedInfo) => {
|
|
27
|
+
const changedColumnId = cellDataChangedInfo.column.columnId;
|
|
28
|
+
this.api.filterApi.columnFilterApi.resetFilterValues(changedColumnId);
|
|
29
|
+
});
|
|
30
|
+
// we reset the filter cache on sort change, because we might have columns
|
|
31
|
+
// with "In" filters, with custom values, which use `context.orderedValues`
|
|
32
|
+
// customInFilterValues: (context: CustomInFilterValuesContext<Car>) => {
|
|
33
|
+
// return context.orderedValues;
|
|
34
|
+
// }
|
|
35
|
+
// and that order will most likely change when sorting happens
|
|
36
|
+
// so we need to reset the cached filter values when sorting changes
|
|
37
|
+
this.api.eventApi.on('GridSorted', () => {
|
|
38
|
+
this.api.filterApi.columnFilterApi.resetAllFilterValues();
|
|
39
|
+
});
|
|
40
|
+
}
|
|
11
41
|
setModuleEntitlement() {
|
|
12
42
|
if (!this.api.optionsApi.getFilterOptions().useAdaptableFiltering) {
|
|
13
43
|
this.AccessLevel = 'Hidden';
|
|
@@ -25,20 +55,6 @@ export class ColumnFilterModule extends AdaptableModuleBase {
|
|
|
25
55
|
hasNamedQueryReferences() {
|
|
26
56
|
return false;
|
|
27
57
|
}
|
|
28
|
-
onAdaptableReady() {
|
|
29
|
-
if (this.api.optionsApi.getFilterOptions().columnFilterOptions.showQuickFilter == false) {
|
|
30
|
-
this.api.filterApi.columnFilterApi.hideQuickFilterBar();
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
this.api.filterApi.columnFilterApi.showQuickFilterBar();
|
|
34
|
-
}
|
|
35
|
-
const columnFilters = this.api.filterApi.columnFilterApi.getColumnFilters();
|
|
36
|
-
columnFilters.forEach((cf) => {
|
|
37
|
-
if (!this.api.columnApi.isColumnInGrid(cf.ColumnId)) {
|
|
38
|
-
this.api.logError('Column Filter contains missing column: ' + cf.ColumnId);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
58
|
createColumnMenuItems(column) {
|
|
43
59
|
let columnFilterMenuItems = [];
|
|
44
60
|
if (column &&
|
|
@@ -64,7 +80,7 @@ export class ColumnFilterModule extends AdaptableModuleBase {
|
|
|
64
80
|
}
|
|
65
81
|
}
|
|
66
82
|
createContextMenuItems(menuContext) {
|
|
67
|
-
if (!menuContext.isRowGroupColumn && this.
|
|
83
|
+
if (!menuContext.isRowGroupColumn && this.isModuleVisible()) {
|
|
68
84
|
if (menuContext.adaptableColumn &&
|
|
69
85
|
menuContext.adaptableColumn.filterable &&
|
|
70
86
|
menuContext.isSingleSelectedColumn &&
|
|
@@ -8,7 +8,7 @@ export class ColumnInfoModule extends AdaptableModuleBase {
|
|
|
8
8
|
return 'Full';
|
|
9
9
|
}
|
|
10
10
|
createColumnMenuItems(column) {
|
|
11
|
-
if (this.
|
|
11
|
+
if (this.isModuleVisible() && !column.isTreeColumn) {
|
|
12
12
|
const columnPopUpParams = {
|
|
13
13
|
source: 'ColumnMenu',
|
|
14
14
|
column: column,
|
|
@@ -25,7 +25,7 @@ export class ColumnInfoModule extends AdaptableModuleBase {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
createContextMenuItems(menuContext) {
|
|
28
|
-
if (this.
|
|
28
|
+
if (this.isModuleVisible()) {
|
|
29
29
|
const columnPopUpParams = {
|
|
30
30
|
source: 'ColumnMenu',
|
|
31
31
|
column: menuContext.adaptableColumn,
|
|
@@ -5,7 +5,7 @@ import { IModule } from './Interface/IModule';
|
|
|
5
5
|
export declare class CommentModule extends AdaptableModuleBase implements IModule {
|
|
6
6
|
constructor(api: AdaptableApi);
|
|
7
7
|
onAdaptableReady(): void;
|
|
8
|
-
|
|
8
|
+
isModuleEnabled(): boolean;
|
|
9
9
|
private loadComments;
|
|
10
10
|
createContextMenuItems(menuContext: ContextMenuContext): import("../Utilities/MenuItem").MenuItemDoClickFunction<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-all-data" | "export-all-data-excel-download" | "export-all-data-visualexcel-download" | "export-all-data-csv" | "export-all-data-csv-download" | "export-all-data-csv-clipboard" | "export-all-data-json" | "export-all-data-json-download" | "export-all-data-json-clipboard" | "export-current-layout" | "export-current-layout-excel-download" | "export-current-layout-visualexcel-download" | "export-current-layout-csv" | "export-current-layout-csv-download" | "export-current-layout-csv-clipboard" | "export-current-layout-json" | "export-current-layout-json-download" | "export-current-layout-json-clipboard" | "export-selected-data" | "export-selected-data-excel-download" | "export-selected-data-visualexcel-download" | "export-selected-data-csv" | "export-selected-data-csv-download" | "export-selected-data-csv-clipboard" | "export-selected-data-json" | "export-selected-data-json-download" | "export-selected-data-json-clipboard" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
|
|
11
11
|
}
|
|
@@ -7,7 +7,7 @@ export class CommentModule extends AdaptableModuleBase {
|
|
|
7
7
|
onAdaptableReady() {
|
|
8
8
|
this.loadComments();
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
isModuleEnabled() {
|
|
11
11
|
const options = this.api.optionsApi.getCommentOptions();
|
|
12
12
|
if (!options || !options.persistCommentThreads || !options.loadCommentThreads) {
|
|
13
13
|
return false;
|
|
@@ -15,7 +15,7 @@ export class CommentModule extends AdaptableModuleBase {
|
|
|
15
15
|
if (this.api.optionsApi.isAutogeneratePrimaryKey()) {
|
|
16
16
|
return false;
|
|
17
17
|
}
|
|
18
|
-
return super.
|
|
18
|
+
return super.isModuleEnabled();
|
|
19
19
|
}
|
|
20
20
|
async loadComments() {
|
|
21
21
|
const commentThreads = await this.api.optionsApi
|
|
@@ -24,7 +24,7 @@ export class CommentModule extends AdaptableModuleBase {
|
|
|
24
24
|
this.api.commentApi.setComments(commentThreads);
|
|
25
25
|
}
|
|
26
26
|
createContextMenuItems(menuContext) {
|
|
27
|
-
if (!this.
|
|
27
|
+
if (!this.isModuleVisible()) {
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
if (!this.api.commentApi.internalApi.areCommentsSupportedInLayout()) {
|
|
@@ -5,11 +5,10 @@ import { TeamSharingImportInfo } from '../AdaptableState/TeamSharingState';
|
|
|
5
5
|
import { AdaptableModuleView, AdaptableObjectView, IModule } from './Interface/IModule';
|
|
6
6
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
7
7
|
import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
|
|
8
|
+
import { LayoutExtendedConfig } from '../types';
|
|
8
9
|
export declare class CustomSortModule extends AdaptableModuleBase implements IModule {
|
|
9
10
|
constructor(api: AdaptableApi);
|
|
10
|
-
getModuleAdaptableObjects(config?:
|
|
11
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
12
|
-
}): AdaptableObject[];
|
|
11
|
+
getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
|
|
13
12
|
getExplicitlyReferencedColumnIds(customSort: CustomSort): string[];
|
|
14
13
|
hasNamedQueryReferences(): boolean;
|
|
15
14
|
createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"custom-sort-add" | "custom-sort-edit">[];
|
|
@@ -17,5 +16,5 @@ export declare class CustomSortModule extends AdaptableModuleBase implements IMo
|
|
|
17
16
|
toView(customSort: CustomSort): AdaptableObjectView;
|
|
18
17
|
toViewAll(): AdaptableObjectView[];
|
|
19
18
|
getViewProperties(): AdaptableModuleView;
|
|
20
|
-
|
|
19
|
+
containsLayoutExtensions(): boolean;
|
|
21
20
|
}
|
|
@@ -56,7 +56,7 @@ export class CustomSortModule extends AdaptableModuleBase {
|
|
|
56
56
|
}
|
|
57
57
|
toViewAll() {
|
|
58
58
|
return this.getModuleAdaptableObjects({
|
|
59
|
-
|
|
59
|
+
includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
|
|
60
60
|
}).map((customSort) => this.toView(customSort));
|
|
61
61
|
}
|
|
62
62
|
getViewProperties() {
|
|
@@ -73,7 +73,7 @@ export class CustomSortModule extends AdaptableModuleBase {
|
|
|
73
73
|
},
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
-
|
|
76
|
+
containsLayoutExtensions() {
|
|
77
77
|
return true;
|
|
78
78
|
}
|
|
79
79
|
}
|
|
@@ -25,7 +25,7 @@ export class DashboardModule extends AdaptableModuleBase {
|
|
|
25
25
|
return this.buildMenuItems();
|
|
26
26
|
}
|
|
27
27
|
buildMenuItems() {
|
|
28
|
-
if (this.
|
|
28
|
+
if (this.isModuleVisible()) {
|
|
29
29
|
let menuItems = [];
|
|
30
30
|
const dashboardState = this.api.dashboardApi.getDashboardState();
|
|
31
31
|
if (this.isModuleEditable()) {
|
|
@@ -2,14 +2,15 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
|
2
2
|
import { AdaptableModuleView } from './Interface/IModule';
|
|
3
3
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
4
4
|
import { ICellDataChangeListenerModule } from './Interface/ICellDataChangeListenerModule';
|
|
5
|
+
import { AgModuleName } from 'ag-grid-enterprise';
|
|
5
6
|
export declare class DataChangeHistoryModule extends AdaptableModuleBase implements ICellDataChangeListenerModule {
|
|
6
7
|
isListeningToCellDataChanges: boolean;
|
|
7
8
|
constructor(api: AdaptableApi);
|
|
8
9
|
onAdaptableReady(): void;
|
|
10
|
+
protected getAgGridModuleDependencies(): AgModuleName[];
|
|
9
11
|
shouldListenToDataChanges(): boolean;
|
|
10
12
|
checkListenToCellDataChanged(): void;
|
|
11
13
|
setupCellDataChangeListener(): void;
|
|
12
|
-
isModuleAvailable(): boolean;
|
|
13
14
|
getPopupMaxWidth(): number;
|
|
14
15
|
hasNamedQueryReferences(): boolean;
|
|
15
16
|
private isDataChangeLoggable;
|
|
@@ -10,6 +10,9 @@ export class DataChangeHistoryModule extends AdaptableModuleBase {
|
|
|
10
10
|
this.api.internalApi.initializeDataChangeHistory();
|
|
11
11
|
this.checkListenToCellDataChanged();
|
|
12
12
|
}
|
|
13
|
+
getAgGridModuleDependencies() {
|
|
14
|
+
return ['ClientSideRowModelModule'];
|
|
15
|
+
}
|
|
13
16
|
shouldListenToDataChanges() {
|
|
14
17
|
return this.api.dataChangeHistoryApi.getDataChangeHistoryMode() === 'ACTIVE';
|
|
15
18
|
}
|
|
@@ -30,16 +33,6 @@ export class DataChangeHistoryModule extends AdaptableModuleBase {
|
|
|
30
33
|
}
|
|
31
34
|
});
|
|
32
35
|
}
|
|
33
|
-
isModuleAvailable() {
|
|
34
|
-
const isAdaptableModuleAvailable = super.isModuleAvailable();
|
|
35
|
-
const isAgGridModuleAvailable = this.api.internalApi
|
|
36
|
-
.getAdaptableInstance()
|
|
37
|
-
.agGridAdapter.isAgGridModuleRegistered('ClientSideRowModel');
|
|
38
|
-
if (isAdaptableModuleAvailable && !isAgGridModuleAvailable) {
|
|
39
|
-
this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ClientSideRowModel`);
|
|
40
|
-
}
|
|
41
|
-
return isAdaptableModuleAvailable && isAgGridModuleAvailable;
|
|
42
|
-
}
|
|
43
36
|
getPopupMaxWidth() {
|
|
44
37
|
return 1000;
|
|
45
38
|
}
|
|
@@ -5,18 +5,18 @@ export class DataImportModule extends AdaptableModuleBase {
|
|
|
5
5
|
super(ModuleConstants.DataImportModuleId, ModuleConstants.DataImportFriendyName, 'import', 'DataImportPopup', 'Import Data', api);
|
|
6
6
|
}
|
|
7
7
|
createModuleMenuItem(source) {
|
|
8
|
-
if (this.
|
|
8
|
+
if (this.isModuleVisible()) {
|
|
9
9
|
return this.createDataImportMenuItem(source);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
createContextMenuItems() {
|
|
13
|
-
if (this.
|
|
13
|
+
if (this.isModuleVisible()) {
|
|
14
14
|
return [this.createDataImportMenuItem('ContextMenu')];
|
|
15
15
|
}
|
|
16
16
|
return undefined;
|
|
17
17
|
}
|
|
18
18
|
createColumnMenuItems() {
|
|
19
|
-
if (this.
|
|
19
|
+
if (this.isModuleVisible()) {
|
|
20
20
|
return [this.createDataImportMenuItem('ColumnMenu')];
|
|
21
21
|
}
|
|
22
22
|
}
|
|
@@ -30,7 +30,7 @@ export class ExportModule extends AdaptableModuleBase {
|
|
|
30
30
|
return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(report.Query.BooleanExpression);
|
|
31
31
|
}
|
|
32
32
|
createContextMenuItems(menuContext) {
|
|
33
|
-
const canExport = !menuContext.isRowGroupColumn && this.
|
|
33
|
+
const canExport = !menuContext.isRowGroupColumn && this.isModuleVisible();
|
|
34
34
|
if (!canExport) {
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
@@ -5,7 +5,7 @@ export class Fdc3Module extends AdaptableModuleBase {
|
|
|
5
5
|
super(ModuleConstants.Fdc3ModuleId, ModuleConstants.Fdc3FriendlyName, 'fdc3', null, 'The FDC3 Module - handles the FDC3 integration', api);
|
|
6
6
|
}
|
|
7
7
|
createContextMenuItems(menuContext) {
|
|
8
|
-
if (!this.
|
|
8
|
+
if (!this.isModuleVisible()) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
11
|
if (menuContext.adaptableColumn && menuContext.rowNode) {
|
|
@@ -5,7 +5,7 @@ import { TeamSharingImportInfo } from '../AdaptableState/TeamSharingState';
|
|
|
5
5
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
6
6
|
import { AdaptableModuleView, AdaptableObjectView } from './Interface/IModule';
|
|
7
7
|
import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
|
|
8
|
-
import { FlashingCellDefinition } from '../types';
|
|
8
|
+
import { FlashingCellDefinition, LayoutExtendedConfig } from '../types';
|
|
9
9
|
import { ICellDataChangeListenerModule } from './Interface/ICellDataChangeListenerModule';
|
|
10
10
|
export declare class FlashingCellModule extends AdaptableModuleBase implements ICellDataChangeListenerModule {
|
|
11
11
|
private isListeningToCellDataChanges;
|
|
@@ -16,9 +16,7 @@ export declare class FlashingCellModule extends AdaptableModuleBase implements I
|
|
|
16
16
|
setupCellDataChangeListener(): void;
|
|
17
17
|
private getFlashingCellDefinitionsForDataChange;
|
|
18
18
|
private showFlashingCellsForDefinitions;
|
|
19
|
-
getModuleAdaptableObjects(config?:
|
|
20
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
21
|
-
}): AdaptableObject[];
|
|
19
|
+
getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
|
|
22
20
|
getExplicitlyReferencedColumnIds(alertDefinition: FlashingCellDefinition): string[];
|
|
23
21
|
getReferencedNamedQueryNames(alertDefinition: FlashingCellDefinition): string[];
|
|
24
22
|
createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemDoReduxAction<"separator" | "calculated-column-edit" | "cell-summary-show" | "chart-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
|
|
@@ -29,5 +27,5 @@ export declare class FlashingCellModule extends AdaptableModuleBase implements I
|
|
|
29
27
|
toView(flashingCell: FlashingCellDefinition): AdaptableObjectView;
|
|
30
28
|
toViewAll(): AdaptableObjectView[];
|
|
31
29
|
getViewProperties(): AdaptableModuleView;
|
|
32
|
-
|
|
30
|
+
containsLayoutExtensions(): boolean;
|
|
33
31
|
}
|