@adaptabletools/adaptable 20.3.0-canary.2 → 21.0.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +71 -187
- 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 +8 -21
- 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 +11 -11
- package/src/AdaptableState/Common/ExtendedLayout.d.ts +50 -0
- package/src/AdaptableState/Common/ProgressIndicatorConfig.d.ts +1 -4
- package/src/AdaptableState/Common/RowScope.d.ts +1 -1
- package/src/AdaptableState/FormatColumnState.d.ts +16 -9
- 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 +101 -7
- 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 +6 -2
- 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 +12 -13
- package/src/Api/Internal/FormatColumnInternalApi.js +45 -16
- package/src/Api/Internal/GridInternalApi.d.ts +7 -10
- package/src/Api/Internal/GridInternalApi.js +76 -27
- package/src/Api/Internal/LayoutInternalApi.d.ts +5 -5
- package/src/Api/Internal/LayoutInternalApi.js +42 -5
- 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 +4 -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/FormatColumn/getFormatColumnSettingsTargetItems.d.ts +5 -0
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsTargetItems.js +12 -0
- 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/ObjectFactory.js +3 -2
- 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/Utilities/getScopeViewItems.js +5 -2
- 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/NewScopeComponent.js +5 -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 +59 -22
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +4 -0
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -40
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +13 -12
- package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.d.ts +8 -0
- package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +31 -0
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +18 -4
- 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/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 +256 -218
- 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 +3 -3
- package/src/agGrid/AgGridColumnAdapter.js +86 -40
- package/src/agGrid/AgGridExportAdapter.js +1 -1
- 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 +172 -20
- 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 +8 -9
- 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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FormatColumn, FormatColumnState } from '../AdaptableState/FormatColumnState';
|
|
2
|
-
import { AdaptableColumn, AdaptableFormat, AdaptableObjectLookupCriteria } from '../types';
|
|
2
|
+
import { AdaptableColumn, AdaptableFormat, AdaptableObjectLookupCriteria, FormatColumnConfig } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Provides run-time access to the Format Column Module and associated state
|
|
5
5
|
*/
|
|
@@ -12,34 +12,28 @@ export interface FormatColumnApi {
|
|
|
12
12
|
* Retrieves all Format Columns in Adaptable State
|
|
13
13
|
* @returns format columns
|
|
14
14
|
*/
|
|
15
|
-
getFormatColumns(config?:
|
|
16
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
17
|
-
}): FormatColumn[];
|
|
15
|
+
getFormatColumns(config?: FormatColumnConfig): FormatColumn[];
|
|
18
16
|
/**
|
|
19
17
|
* Retrieves Format Column by the technical ID (from `FormatColumnState`)
|
|
20
18
|
* @param id Format Column id
|
|
21
19
|
* @returns format column
|
|
22
20
|
*/
|
|
23
|
-
getFormatColumnByUuId(id: FormatColumn['Uuid']): FormatColumn;
|
|
21
|
+
getFormatColumnByUuId(id: FormatColumn['Uuid'], config?: FormatColumnConfig): FormatColumn;
|
|
24
22
|
/**
|
|
25
23
|
* Retrieves all active (not-suspended) Format Columns in Adaptable State
|
|
26
24
|
* @returns format columns
|
|
27
25
|
*/
|
|
28
|
-
getActiveFormatColumns(config?:
|
|
29
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
30
|
-
}): FormatColumn[];
|
|
26
|
+
getActiveFormatColumns(config?: FormatColumnConfig): FormatColumn[];
|
|
31
27
|
/**
|
|
32
28
|
* Retrieves the first Format Column's Adaptable Format for a given Column
|
|
33
29
|
* @param column Column to check
|
|
34
30
|
*/
|
|
35
|
-
getDisplayFormatForColumn(column: AdaptableColumn): AdaptableFormat | undefined;
|
|
31
|
+
getDisplayFormatForColumn(column: AdaptableColumn, config?: FormatColumnConfig): AdaptableFormat | undefined;
|
|
36
32
|
/**
|
|
37
33
|
* Retrieves all suspended Format Columns in Adaptable State
|
|
38
34
|
* @returns format columns
|
|
39
35
|
*/
|
|
40
|
-
getSuspendedFormatColumns(config?:
|
|
41
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
42
|
-
}): FormatColumn[];
|
|
36
|
+
getSuspendedFormatColumns(config?: FormatColumnConfig): FormatColumn[];
|
|
43
37
|
/**
|
|
44
38
|
* Adds a Format Column to Format Column State
|
|
45
39
|
* @param formatColumn Format Column to Add
|
|
@@ -96,17 +90,13 @@ export interface FormatColumnApi {
|
|
|
96
90
|
* @param column The Column for which to retrieve the Format Column
|
|
97
91
|
* @returns format column
|
|
98
92
|
*/
|
|
99
|
-
getFormatColumnsForColumn(column: AdaptableColumn, config?:
|
|
100
|
-
includeSuspended?: boolean;
|
|
101
|
-
}): FormatColumn[];
|
|
93
|
+
getFormatColumnsForColumn(column: AdaptableColumn, config?: FormatColumnConfig): FormatColumn[];
|
|
102
94
|
/**
|
|
103
95
|
* Gets all FormatColumns which are defined for the column with the given columnId
|
|
104
96
|
* @param columnId ColumnId for which to retrieve the Format Column
|
|
105
97
|
* @returns format column
|
|
106
98
|
*/
|
|
107
|
-
getFormatColumnsForColumnId(columnId: string, config?:
|
|
108
|
-
includeSuspended?: boolean;
|
|
109
|
-
}): FormatColumn[];
|
|
99
|
+
getFormatColumnsForColumnId(columnId: string, config?: FormatColumnConfig): FormatColumn[];
|
|
110
100
|
/**
|
|
111
101
|
* Checks if a Format Column contains a Custom Display Formatter
|
|
112
102
|
* @param formatColumn Format Column
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiBase
|
|
1
|
+
import { ApiBase } from './ApiBase';
|
|
2
2
|
import { AlertApi } from '../AlertApi';
|
|
3
3
|
import { AlertDefinition, AlertProperties, AlertState } from '../../AdaptableState/AlertState';
|
|
4
4
|
import { AdaptableAlert } from '../../AdaptableState/Common/AdaptableAlert';
|
|
@@ -6,19 +6,16 @@ import { AdaptableMessageType } from '../../AdaptableState/Common/AdaptableMessa
|
|
|
6
6
|
import { AdaptableObjectLookupCriteria } from '../../AdaptableState/Common/AdaptableObject';
|
|
7
7
|
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
|
|
8
8
|
import { AlertInternalApi } from '../Internal/AlertInternalApi';
|
|
9
|
+
import { LayoutExtendedConfig } from '../../AdaptableState/Common/ExtendedLayout';
|
|
9
10
|
export declare class AlertApiImpl extends ApiBase implements AlertApi {
|
|
10
11
|
internalApi: AlertInternalApi;
|
|
11
12
|
constructor(_adaptable: IAdaptable);
|
|
12
13
|
getAlertState(): AlertState;
|
|
13
|
-
getAlertDefinitions(config?:
|
|
14
|
-
getSuspendedAlertDefinitions(config?:
|
|
15
|
-
|
|
16
|
-
}): AlertDefinition[];
|
|
17
|
-
getActiveAlertDefinitions(config?: {
|
|
18
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
19
|
-
}): AlertDefinition[];
|
|
14
|
+
getAlertDefinitions(config?: LayoutExtendedConfig): AlertDefinition[];
|
|
15
|
+
getSuspendedAlertDefinitions(config?: LayoutExtendedConfig): AlertDefinition[];
|
|
16
|
+
getActiveAlertDefinitions(config?: LayoutExtendedConfig): AlertDefinition[];
|
|
20
17
|
deleteAlertDefinition(alertDefinition: AlertDefinition): void;
|
|
21
|
-
getAlertDefinitionById(id: AlertDefinition['Uuid']): AlertDefinition;
|
|
18
|
+
getAlertDefinitionById(id: AlertDefinition['Uuid'], config?: LayoutExtendedConfig): AlertDefinition;
|
|
22
19
|
addAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
|
|
23
20
|
displayAdaptableAlert(alertToShow: AdaptableAlert): Promise<void>;
|
|
24
21
|
displayAdaptableAlertNotification(alert: AdaptableAlert): void;
|
|
@@ -16,7 +16,7 @@ export class AlertApiImpl extends ApiBase {
|
|
|
16
16
|
return this.getAdaptableState().Alert;
|
|
17
17
|
}
|
|
18
18
|
getAlertDefinitions(config) {
|
|
19
|
-
return (this.
|
|
19
|
+
return (this.handleLayoutExtensionObjects(this.getAlertState().AlertDefinitions, 'Alert', config) ??
|
|
20
20
|
[]);
|
|
21
21
|
}
|
|
22
22
|
getSuspendedAlertDefinitions(config) {
|
|
@@ -28,8 +28,8 @@ export class AlertApiImpl extends ApiBase {
|
|
|
28
28
|
deleteAlertDefinition(alertDefinition) {
|
|
29
29
|
this.dispatchAction(AlertRedux.AlertDefinitionDelete(alertDefinition));
|
|
30
30
|
}
|
|
31
|
-
getAlertDefinitionById(id) {
|
|
32
|
-
return this.getAlertDefinitions().find((alert) => alert?.Uuid === id);
|
|
31
|
+
getAlertDefinitionById(id, config) {
|
|
32
|
+
return this.getAlertDefinitions(config).find((alert) => alert?.Uuid === id);
|
|
33
33
|
}
|
|
34
34
|
addAlertDefinition(alertDefinition) {
|
|
35
35
|
this.addUidToAdaptableObject(alertDefinition);
|
|
@@ -189,9 +189,10 @@ export class AlertApiImpl extends ApiBase {
|
|
|
189
189
|
});
|
|
190
190
|
}
|
|
191
191
|
findAlertDefinitions(criteria) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
192
|
+
const config = {
|
|
193
|
+
includeLayoutNotExtendedObjects: true,
|
|
194
|
+
};
|
|
195
|
+
return this.getAdaptableInternalApi().findAdaptableObjectsByLookupCriteria(criteria, this.getAlertDefinitions(config));
|
|
195
196
|
}
|
|
196
197
|
getRelevantColumnIdsForAlertDefinition(alertDefinition) {
|
|
197
198
|
// if there is an Expression defined, extract only the columns from there (in that case the Scope would be 'All' anyway)
|
|
@@ -8,7 +8,7 @@ import { AdaptableOptions } from '../../AdaptableOptions/AdaptableOptions';
|
|
|
8
8
|
import { AdaptableApi } from '../AdaptableApi';
|
|
9
9
|
import { GridApi as AgGridApi } from 'ag-grid-enterprise';
|
|
10
10
|
import { ExportOptions } from '../../AdaptableOptions/ExportOptions';
|
|
11
|
-
import { ActionColumnApi, ActionColumnOptions, AlertApi, AlertOptions, ApplicationApi, BulkUpdateApi, CalculatedColumnApi, CalendarApi, CalendarOptions, CellSummaryApi, CellSummaryOptions, ChartingApi, ChartingOptions, ColumnApi, FilterApi, ColumnOptions, CommentOptions, StateApi, ContainerOptions, CustomSortApi, CustomSortOptions, DashboardApi, DashboardOptions, DataChangeHistoryApi, DataChangeHistoryOptions, DataSetApi, DataSetOptions, EditOptions, EntitlementApi, EntitlementOptions, EventApi, ExportApi, ExpressionApi, ExpressionOptions, Fdc3Api, Fdc3Options, FlashingCellApi, FlashingCellOptions, FormatColumnApi, FormatColumnOptions, FreeTextColumnApi, GridApi, GridFilterApi, LayoutApi,
|
|
11
|
+
import { ActionColumnApi, ActionColumnOptions, AlertApi, AlertOptions, ApplicationApi, BulkUpdateApi, CalculatedColumnApi, CalendarApi, CalendarOptions, CellSummaryApi, CellSummaryOptions, ChartingApi, ChartingOptions, ColumnApi, FilterApi, ColumnOptions, CommentOptions, StateApi, ContainerOptions, CustomSortApi, CustomSortOptions, DashboardApi, DashboardOptions, DataChangeHistoryApi, DataChangeHistoryOptions, DataSetApi, DataSetOptions, EditOptions, EntitlementApi, EntitlementOptions, EventApi, ExportApi, ExpressionApi, ExpressionOptions, Fdc3Api, Fdc3Options, FlashingCellApi, FlashingCellOptions, FormatColumnApi, FormatColumnOptions, FreeTextColumnApi, GridApi, GridFilterApi, LayoutApi, LayoutExtensionObject, LayoutOptions, NamedQueryApi, NoteOptions, NotificationsOptions, PluginsApi, PlusMinusApi, PredicateApi, PredicateOptions, QuickSearchApi, QuickSearchOptions, ScheduleApi, ColumnScopeApi, SettingsPanelApi, SettingsPanelOptions, ShortcutApi, SmartEditApi, StateOptions, StatusBarApi, StyledColumnApi, SystemStatusApi, TeamSharingApi, TeamSharingOptions, ThemeApi, ToolPanelApi, ToolPanelOptions, UserInterfaceApi, UserInterfaceOptions, ColumnMenuOptions, ContextMenuOptions, FilterOptions, ColumnFilterApi, OptionsApi, LayoutExtensionModule, LayoutExtendedConfig } from '../../types';
|
|
12
12
|
import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
|
|
13
13
|
import { AdaptableInternalApi } from '../Internal/AdaptableInternalApi';
|
|
14
14
|
import { AdaptableLogger } from '../../agGrid/AdaptableLogger';
|
|
@@ -39,10 +39,7 @@ export declare abstract class ApiBase {
|
|
|
39
39
|
*/
|
|
40
40
|
protected checkItemExists(item: any, name: string, type: string): boolean;
|
|
41
41
|
protected checkArrayExists(array: any): boolean;
|
|
42
|
-
protected
|
|
43
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
44
|
-
associatedWithLayout?: string;
|
|
45
|
-
}): T[];
|
|
42
|
+
protected handleLayoutExtensionObjects<T extends LayoutExtensionObject>(objectList: T[], module: LayoutExtensionModule, config?: LayoutExtendedConfig): T[];
|
|
46
43
|
/**
|
|
47
44
|
* Base api Helper method that dispatches a *Redux Action* to the Store
|
|
48
45
|
* @param action the Redux Action to be dispatched
|
|
@@ -143,10 +140,3 @@ export declare abstract class ApiBase {
|
|
|
143
140
|
protected getOptionsApi(): OptionsApi;
|
|
144
141
|
destroy(): void;
|
|
145
142
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Configuration for API methods which load `LayoutAssociatedObject`
|
|
148
|
-
*/
|
|
149
|
-
export interface LayoutAssociatedObjectLoadConfig {
|
|
150
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
151
|
-
associatedWithLayout?: string;
|
|
152
|
-
}
|
|
@@ -52,14 +52,14 @@ export class ApiBase {
|
|
|
52
52
|
}
|
|
53
53
|
return true;
|
|
54
54
|
}
|
|
55
|
-
|
|
56
|
-
if (config?.
|
|
55
|
+
handleLayoutExtensionObjects(objectList = [], module, config) {
|
|
56
|
+
if (config?.includeLayoutNotExtendedObjects) {
|
|
57
57
|
return objectList;
|
|
58
58
|
}
|
|
59
|
-
const
|
|
60
|
-
? this.getLayoutApi().getLayoutByName(config.
|
|
59
|
+
const extendedLayout = config?.extendedLayoutName
|
|
60
|
+
? this.getLayoutApi().getLayoutByName(config.extendedLayoutName)
|
|
61
61
|
: this.getLayoutApi().getCurrentLayout();
|
|
62
|
-
return objectList.filter((objectItem) => this.
|
|
62
|
+
return objectList.filter((objectItem) => this.getLayoutApi().internalApi.isObjectExtendedInLayout(objectItem, module, extendedLayout));
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* Base api Helper method that dispatches a *Redux Action* to the Store
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiBase } from './ApiBase';
|
|
2
|
-
import { AdaptableColumn, AdaptableColumnDataType } from '../../AdaptableState/Common/AdaptableColumn';
|
|
2
|
+
import { AdaptableColumn, AdaptableColumnDataType, AdaptableColumnSummary } from '../../AdaptableState/Common/AdaptableColumn';
|
|
3
3
|
import { Layout } from '../../types';
|
|
4
4
|
import { ColumnApi } from '../ColumnApi';
|
|
5
5
|
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
|
|
@@ -15,9 +15,9 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
|
|
|
15
15
|
internalApi: ColumnInternalApi;
|
|
16
16
|
constructor(_adaptable: IAdaptable);
|
|
17
17
|
getColumns(): AdaptableColumn[];
|
|
18
|
+
getUIAvailableColumns(): AdaptableColumn[];
|
|
18
19
|
getSpecialColumns(): AdaptableColumn[];
|
|
19
20
|
getNonSpecialColumns(): AdaptableColumn[];
|
|
20
|
-
getUIAvailableColumns(): AdaptableColumn[];
|
|
21
21
|
getVisibleColumns(): AdaptableColumn[];
|
|
22
22
|
selectColumn(columnId: string): void;
|
|
23
23
|
selectColumns(columnIds: string[]): void;
|
|
@@ -34,6 +34,7 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
|
|
|
34
34
|
isAutoRowGroupColumn(columnId: string): boolean;
|
|
35
35
|
isAutoRowGroupColumnForSingle(columnId: string): boolean;
|
|
36
36
|
isAutoRowGroupColumnForMulti(columnId: string): boolean;
|
|
37
|
+
isSpecialColumn(columnId: string): boolean;
|
|
37
38
|
isCalculatedColumn(columnId: string): boolean;
|
|
38
39
|
isFreeTextColumn(columnId: string): boolean;
|
|
39
40
|
isActionColumn(columnId: string): boolean;
|
|
@@ -85,4 +86,6 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
|
|
|
85
86
|
getAGGridColDefForColumnId(columnId: string): ColDef | ColGroupDef;
|
|
86
87
|
getAGGridColumnForColumnId(columnId: string): Column;
|
|
87
88
|
hasColumnType(columnIdentifier: string | ColDef, columnType: string): boolean;
|
|
89
|
+
getColumnSummaryForColumnId(columnId: string): AdaptableColumnSummary;
|
|
90
|
+
isAgGridGeneratedColumn(columnId: string): boolean;
|
|
88
91
|
}
|
|
@@ -107,22 +107,23 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
107
107
|
getColumns() {
|
|
108
108
|
return this.getGridApi().getInternalState().Columns ?? [];
|
|
109
109
|
}
|
|
110
|
+
getUIAvailableColumns() {
|
|
111
|
+
return this.getColumns().filter((c) => !c.alwaysHidden &&
|
|
112
|
+
!c.isGeneratedSelectionColumn &&
|
|
113
|
+
// currently (20.0.7) we don't display Pivot Totals in UI
|
|
114
|
+
!c.isPivotTotalColumn);
|
|
115
|
+
}
|
|
110
116
|
getSpecialColumns() {
|
|
111
|
-
const cols = this.
|
|
117
|
+
const cols = this.getUIAvailableColumns()?.filter((c) => this.internalApi.isSpecialColumn(c.columnId, c));
|
|
112
118
|
return cols ?? [];
|
|
113
119
|
}
|
|
114
120
|
getNonSpecialColumns() {
|
|
115
|
-
const cols = this.
|
|
121
|
+
const cols = this.getUIAvailableColumns()?.filter((c) => !this.internalApi.isSpecialColumn(c.columnId, c));
|
|
116
122
|
return cols ?? [];
|
|
117
123
|
}
|
|
118
|
-
getUIAvailableColumns() {
|
|
119
|
-
return this.getColumns().filter((c) => !c.alwaysHidden &&
|
|
120
|
-
// currently (20.0.7) we don't display Pivot Totals in UI
|
|
121
|
-
!c.isPivotTotalColumn);
|
|
122
|
-
}
|
|
123
124
|
getVisibleColumns() {
|
|
124
125
|
const layout = this.getLayoutApi().getCurrentLayout();
|
|
125
|
-
const allcols = this.
|
|
126
|
+
const allcols = this.getUIAvailableColumns();
|
|
126
127
|
if (isPivotLayout(layout)) {
|
|
127
128
|
return allcols;
|
|
128
129
|
}
|
|
@@ -179,6 +180,12 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
179
180
|
isAutoRowGroupColumnForMulti(columnId) {
|
|
180
181
|
return columnId.startsWith(AUTO_GROUP_COLUMN_ID__MULTI_PREFIX);
|
|
181
182
|
}
|
|
183
|
+
isSpecialColumn(columnId) {
|
|
184
|
+
return (this.isCalculatedColumn(columnId) ||
|
|
185
|
+
this.isFreeTextColumn(columnId) ||
|
|
186
|
+
this.isActionColumn(columnId) ||
|
|
187
|
+
this.isFdc3Column(columnId));
|
|
188
|
+
}
|
|
182
189
|
isCalculatedColumn(columnId) {
|
|
183
190
|
return (this.getCalculatedColumnApi()
|
|
184
191
|
.getCalculatedColumns()
|
|
@@ -252,7 +259,7 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
252
259
|
if (!column) {
|
|
253
260
|
return false;
|
|
254
261
|
}
|
|
255
|
-
return column?.dataType
|
|
262
|
+
return this.internalApi.getColumnDateTypes().includes(column?.dataType);
|
|
256
263
|
}
|
|
257
264
|
getColumnDataTypeForColumnId(columnId) {
|
|
258
265
|
const column = this.getColumnWithColumnId(columnId);
|
|
@@ -380,11 +387,11 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
380
387
|
case 'tupleArray':
|
|
381
388
|
return this.getTupleNumberArrayColumns();
|
|
382
389
|
default:
|
|
383
|
-
return this.
|
|
390
|
+
return this.getUIAvailableColumns();
|
|
384
391
|
}
|
|
385
392
|
}
|
|
386
393
|
getNumericColumns() {
|
|
387
|
-
return this.
|
|
394
|
+
return this.getUIAvailableColumns().filter((c) => c.dataType === 'number');
|
|
388
395
|
}
|
|
389
396
|
getNumericArrayColumns() {
|
|
390
397
|
return this.getNumberArrayColumns()
|
|
@@ -392,28 +399,28 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
392
399
|
.concat(this.getObjectNumberArrayColumns());
|
|
393
400
|
}
|
|
394
401
|
getNumberArrayColumns() {
|
|
395
|
-
return this.
|
|
402
|
+
return this.getUIAvailableColumns().filter((c) => c.dataType === 'numberArray');
|
|
396
403
|
}
|
|
397
404
|
getTupleNumberArrayColumns() {
|
|
398
|
-
return this.
|
|
405
|
+
return this.getUIAvailableColumns().filter((c) => c.dataType === 'tupleArray');
|
|
399
406
|
}
|
|
400
407
|
getObjectNumberArrayColumns() {
|
|
401
|
-
return this.
|
|
408
|
+
return this.getUIAvailableColumns().filter((c) => c.dataType === 'objectArray');
|
|
402
409
|
}
|
|
403
410
|
getTextColumns() {
|
|
404
|
-
return this.
|
|
411
|
+
return this.getUIAvailableColumns().filter((c) => c.dataType === 'text');
|
|
405
412
|
}
|
|
406
413
|
getTextArrayColumns() {
|
|
407
|
-
return this.
|
|
414
|
+
return this.getUIAvailableColumns().filter((c) => c.dataType === 'textArray');
|
|
408
415
|
}
|
|
409
416
|
getDateColumns() {
|
|
410
|
-
return this.
|
|
417
|
+
return this.getUIAvailableColumns().filter((c) => c.dataType === 'date' || c.dataType === 'dateString');
|
|
411
418
|
}
|
|
412
419
|
getBooleanColumns() {
|
|
413
|
-
return this.
|
|
420
|
+
return this.getUIAvailableColumns().filter((c) => c.dataType === 'boolean');
|
|
414
421
|
}
|
|
415
422
|
getArrayColumns() {
|
|
416
|
-
return this.
|
|
423
|
+
return this.getUIAvailableColumns().filter((c) => c.dataType === 'numberArray' ||
|
|
417
424
|
c.dataType === 'tupleArray' ||
|
|
418
425
|
c.dataType === 'objectArray' ||
|
|
419
426
|
c.dataType === 'textArray');
|
|
@@ -444,10 +451,7 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
444
451
|
}
|
|
445
452
|
logMissingColumnWarning(columnId) {
|
|
446
453
|
if (this.getColumnOptions().showMissingColumnsWarning === true) {
|
|
447
|
-
if (!this.isAutoRowGroupColumn(columnId) &&
|
|
448
|
-
!this.isCalculatedColumn(columnId) &&
|
|
449
|
-
!this.isFreeTextColumn(columnId) &&
|
|
450
|
-
!this.isActionColumn(columnId)) {
|
|
454
|
+
if (!this.isAutoRowGroupColumn(columnId) && !this.isSpecialColumn(columnId)) {
|
|
451
455
|
this.logWarn(`No column found named '${columnId}'`);
|
|
452
456
|
}
|
|
453
457
|
}
|
|
@@ -517,4 +521,36 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
517
521
|
return colDef.type === columnType;
|
|
518
522
|
}
|
|
519
523
|
}
|
|
524
|
+
getColumnSummaryForColumnId(columnId) {
|
|
525
|
+
const column = this.getColumnWithColumnId(columnId);
|
|
526
|
+
if (!column) {
|
|
527
|
+
return undefined;
|
|
528
|
+
}
|
|
529
|
+
const gridCellsWithCount = this._adaptable.getDistinctGridCellsForColumn(column);
|
|
530
|
+
const columnFilter = this.getColumnFilterApi().getColumnFilterForColumn(column.columnId);
|
|
531
|
+
const uniqueGridCells = gridCellsWithCount.map((gcWithCount) => {
|
|
532
|
+
return {
|
|
533
|
+
rawValue: gcWithCount.rawValue,
|
|
534
|
+
normalisedValue: gcWithCount.normalisedValue,
|
|
535
|
+
displayValue: gcWithCount.displayValue,
|
|
536
|
+
visible: gcWithCount.visible,
|
|
537
|
+
count: gcWithCount.count,
|
|
538
|
+
visibleCount: gcWithCount.visibleCount,
|
|
539
|
+
};
|
|
540
|
+
});
|
|
541
|
+
return {
|
|
542
|
+
column,
|
|
543
|
+
columnFilter,
|
|
544
|
+
uniqueGridCells,
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
isAgGridGeneratedColumn(columnId) {
|
|
548
|
+
const column = this.getColumnWithColumnId(columnId);
|
|
549
|
+
if (!column) {
|
|
550
|
+
return true;
|
|
551
|
+
}
|
|
552
|
+
return (column.isGeneratedRowGroupColumn ||
|
|
553
|
+
column.isGeneratedSelectionColumn ||
|
|
554
|
+
column.isGeneratedPivotResultColumn);
|
|
555
|
+
}
|
|
520
556
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ApiBase } from './ApiBase';
|
|
2
2
|
import { AdaptablePredicateDef, ColumnFilterDef } from '../../AdaptableState/Common/AdaptablePredicate';
|
|
3
3
|
import { AdaptableColumn } from '../../AdaptableState/Common/AdaptableColumn';
|
|
4
|
-
import { ColumnFilter, ColumnFilterPredicate } from '../../types';
|
|
4
|
+
import { ColumnFilter, ColumnFilterPredicate, InFilterValueInfo, InFilterValue } from '../../types';
|
|
5
5
|
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
|
|
6
6
|
import { ColumnFilterInternalApi } from '../Internal/ColumnFilterInternalApi';
|
|
7
7
|
import { ColumnFilterApi } from '../ColumnFilterApi';
|
|
@@ -38,8 +38,14 @@ export declare class ColumnFilterApiImpl extends ApiBase implements ColumnFilter
|
|
|
38
38
|
*/
|
|
39
39
|
isColumnFilterActive(filter: ColumnFilter): boolean;
|
|
40
40
|
setColumnFilterForColumn(columnId: string, columnFilterPredicate: ColumnFilterPredicate): void;
|
|
41
|
+
clearAndSetColumnFilterForColumn(columnId: string, columnFilterPredicate: ColumnFilterPredicate): void;
|
|
41
42
|
suspendColumnFilter(columnFilter: ColumnFilter): void;
|
|
42
43
|
unSuspendColumnFilter(columnFilter: ColumnFilter): void;
|
|
43
44
|
suspendAllColumnFilters(): void;
|
|
44
45
|
unSuspendAllColumnFilters(): void;
|
|
46
|
+
addBlanksToInFilterValues(columnDistinctValues: InFilterValueInfo[]): InFilterValueInfo[];
|
|
47
|
+
refreshFilterValues(columnId: string): Promise<InFilterValue[]>;
|
|
48
|
+
refreshAllFilterValues(): Promise<Record<string, InFilterValue[]>>;
|
|
49
|
+
resetFilterValues(columnId: string): void;
|
|
50
|
+
resetAllFilterValues(): void;
|
|
45
51
|
}
|
|
@@ -3,12 +3,16 @@ import * as LayoutRedux from '../../Redux/ActionsReducers/LayoutRedux';
|
|
|
3
3
|
import { ApiBase } from './ApiBase';
|
|
4
4
|
import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
|
|
5
5
|
import { ColumnFilterInternalApi } from '../Internal/ColumnFilterInternalApi';
|
|
6
|
+
import StringExtensions from '../../Utilities/Extensions/StringExtensions';
|
|
6
7
|
export class ColumnFilterApiImpl extends ApiBase {
|
|
7
8
|
constructor(_adaptable) {
|
|
8
9
|
super(_adaptable);
|
|
9
10
|
this.internalApi = new ColumnFilterInternalApi(_adaptable);
|
|
10
11
|
}
|
|
11
12
|
getFilterPredicateDefsForColumn(column) {
|
|
13
|
+
if (!column) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
12
16
|
const scope = {
|
|
13
17
|
ColumnIds: [column.columnId],
|
|
14
18
|
};
|
|
@@ -90,7 +94,7 @@ export class ColumnFilterApiImpl extends ApiBase {
|
|
|
90
94
|
});
|
|
91
95
|
}
|
|
92
96
|
getColumnFilterForColumn(columnId) {
|
|
93
|
-
return this.getColumnFilters().find((columnFilter) => columnFilter.ColumnId
|
|
97
|
+
return this.getColumnFilters().find((columnFilter) => columnFilter.ColumnId === columnId);
|
|
94
98
|
}
|
|
95
99
|
clearColumnFilterForColumn(columnId) {
|
|
96
100
|
let columnFilterForColumn = this.getColumnFilterForColumn(columnId);
|
|
@@ -144,8 +148,8 @@ export class ColumnFilterApiImpl extends ApiBase {
|
|
|
144
148
|
return filter.Predicates.some((predicate) => {
|
|
145
149
|
const predicateDef = this.getPredicateApi().getPredicateDefById(predicate.PredicateId);
|
|
146
150
|
if (ArrayExtensions.IsNull(predicateDef.inputs) &&
|
|
147
|
-
//
|
|
148
|
-
!this.getPredicateApi().internalApi.
|
|
151
|
+
// In and NotIn predicates ave no inputs in the definition
|
|
152
|
+
!this.getPredicateApi().internalApi.IsInOrNotInPredicate(predicate)) {
|
|
149
153
|
return true;
|
|
150
154
|
}
|
|
151
155
|
const inputs = predicate.Inputs || [];
|
|
@@ -166,6 +170,13 @@ export class ColumnFilterApiImpl extends ApiBase {
|
|
|
166
170
|
};
|
|
167
171
|
this.setColumnFilters([columnFilter]);
|
|
168
172
|
}
|
|
173
|
+
clearAndSetColumnFilterForColumn(columnId, columnFilterPredicate) {
|
|
174
|
+
const columnFilter = {
|
|
175
|
+
ColumnId: columnId,
|
|
176
|
+
Predicates: [columnFilterPredicate],
|
|
177
|
+
};
|
|
178
|
+
this.setColumnFilters([columnFilter]);
|
|
179
|
+
}
|
|
169
180
|
suspendColumnFilter(columnFilter) {
|
|
170
181
|
this.dispatchAction(LayoutRedux.LayoutColumnFilterSuspend(columnFilter));
|
|
171
182
|
}
|
|
@@ -178,4 +189,66 @@ export class ColumnFilterApiImpl extends ApiBase {
|
|
|
178
189
|
unSuspendAllColumnFilters() {
|
|
179
190
|
this.dispatchAction(LayoutRedux.LayoutColumnFilterUnSuspendAll());
|
|
180
191
|
}
|
|
192
|
+
addBlanksToInFilterValues(columnDistinctValues) {
|
|
193
|
+
if (columnDistinctValues.some((item) => StringExtensions.IsNullOrEmpty(item.value))) {
|
|
194
|
+
return [
|
|
195
|
+
{
|
|
196
|
+
label: 'Blanks',
|
|
197
|
+
value: 'Blanks',
|
|
198
|
+
},
|
|
199
|
+
...columnDistinctValues,
|
|
200
|
+
];
|
|
201
|
+
}
|
|
202
|
+
return columnDistinctValues;
|
|
203
|
+
}
|
|
204
|
+
async refreshFilterValues(columnId) {
|
|
205
|
+
const columnFilterHandler = this.getAgGridApi().getColumnFilterHandler(columnId);
|
|
206
|
+
if (!columnFilterHandler ||
|
|
207
|
+
typeof columnFilterHandler.resetFilterDisplayValues !== 'function') {
|
|
208
|
+
this.logWarn(`No filter handler found for column: ${columnId}`);
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
this.logInfo(`Refreshing filter values for column: ${columnId}`);
|
|
212
|
+
return columnFilterHandler.refreshFilterDisplayValues();
|
|
213
|
+
}
|
|
214
|
+
async refreshAllFilterValues() {
|
|
215
|
+
const allFilterHandlers = this.internalApi.getAllAdaptableFilterHandlers();
|
|
216
|
+
const handlerPromises = allFilterHandlers.map(async (handler) => {
|
|
217
|
+
let values = [];
|
|
218
|
+
if (typeof handler.refreshFilterDisplayValues === 'function') {
|
|
219
|
+
values = await handler.refreshFilterDisplayValues();
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
this.logWarn(`No refresh function for filter handler: ${handler.colId}`);
|
|
223
|
+
values = [];
|
|
224
|
+
}
|
|
225
|
+
return { columnId: handler.colId, values };
|
|
226
|
+
});
|
|
227
|
+
return Promise.all(handlerPromises).then((results) => {
|
|
228
|
+
return results.reduce((acc, { columnId, values }) => {
|
|
229
|
+
acc[columnId] = values;
|
|
230
|
+
return acc;
|
|
231
|
+
}, {});
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
resetFilterValues(columnId) {
|
|
235
|
+
const columnFilterHandler = this.getAgGridApi().getColumnFilterHandler(columnId);
|
|
236
|
+
if (!columnFilterHandler ||
|
|
237
|
+
typeof columnFilterHandler.resetFilterDisplayValues !== 'function') {
|
|
238
|
+
this.logWarn(`No filter handler found for column: ${columnId}`);
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
columnFilterHandler.resetFilterDisplayValues();
|
|
242
|
+
}
|
|
243
|
+
resetAllFilterValues() {
|
|
244
|
+
const allFilterHandlers = this.internalApi.getAllAdaptableFilterHandlers();
|
|
245
|
+
allFilterHandlers.forEach((handler) => {
|
|
246
|
+
if (typeof handler.resetFilterDisplayValues === 'function') {
|
|
247
|
+
handler.resetFilterDisplayValues();
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
this.logWarn(`No reset function for filter handler: ${handler.colId}`);
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
}
|
|
181
254
|
}
|
|
@@ -10,8 +10,16 @@ export class ColumnScopeApiImpl extends ApiBase {
|
|
|
10
10
|
// do we need a true check here?
|
|
11
11
|
return true;
|
|
12
12
|
}
|
|
13
|
-
if ('DataTypes' in scope
|
|
14
|
-
|
|
13
|
+
if ('DataTypes' in scope) {
|
|
14
|
+
if (scope.DataTypes.includes(column.dataType)) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
if (scope.DataTypes.includes('date')) {
|
|
18
|
+
const agDateTypes = this.getColumnApi().internalApi.getColumnDateTypes();
|
|
19
|
+
if (agDateTypes.includes(column.dataType)) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
15
23
|
}
|
|
16
24
|
if ('ColumnTypes' in scope &&
|
|
17
25
|
scope.ColumnTypes.some((columnType) => column.columnTypes?.includes(columnType))) {
|
|
@@ -4,22 +4,17 @@ import { CustomSort, CustomSortState } from '../../AdaptableState/CustomSortStat
|
|
|
4
4
|
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
|
|
5
5
|
import { CustomSortInternalApi } from '../Internal/CustomSortInternalApi';
|
|
6
6
|
import { ColumnValuesComparer } from '../../AdaptableOptions/CustomSortOptions';
|
|
7
|
+
import { LayoutExtendedConfig } from '../../types';
|
|
7
8
|
export declare class CustomSortApiImpl extends ApiBase implements CustomSortApi {
|
|
8
9
|
internalApi: CustomSortInternalApi;
|
|
9
10
|
constructor(_adaptable: IAdaptable);
|
|
10
11
|
getCustomSortState(): CustomSortState;
|
|
11
|
-
getCustomSorts(config?:
|
|
12
|
-
|
|
13
|
-
}): CustomSort[];
|
|
14
|
-
getCustomSortById(id: CustomSort['Uuid']): CustomSort;
|
|
12
|
+
getCustomSorts(config?: LayoutExtendedConfig): CustomSort[];
|
|
13
|
+
getCustomSortById(id: CustomSort['Uuid'], config?: LayoutExtendedConfig): CustomSort;
|
|
15
14
|
getLiveCustomSorts(): CustomSort[];
|
|
16
15
|
getLiveCustomSortComparers(): ColumnValuesComparer[];
|
|
17
|
-
getActiveCustomSorts(config?:
|
|
18
|
-
|
|
19
|
-
}): CustomSort[];
|
|
20
|
-
getSuspendedCustomSorts(config?: {
|
|
21
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
22
|
-
}): CustomSort[];
|
|
16
|
+
getActiveCustomSorts(config?: LayoutExtendedConfig): CustomSort[];
|
|
17
|
+
getSuspendedCustomSorts(config?: LayoutExtendedConfig): CustomSort[];
|
|
23
18
|
getCustomSortByColumn(column: string): CustomSort;
|
|
24
19
|
getCustomSortForColumn(columnId: string): CustomSort | undefined;
|
|
25
20
|
addCustomSort(customSort: CustomSort): CustomSort;
|
|
@@ -11,10 +11,10 @@ export class CustomSortApiImpl extends ApiBase {
|
|
|
11
11
|
return this.getAdaptableState().CustomSort;
|
|
12
12
|
}
|
|
13
13
|
getCustomSorts(config) {
|
|
14
|
-
return (this.
|
|
14
|
+
return (this.handleLayoutExtensionObjects(this.getCustomSortState().CustomSorts, 'CustomSort', config) ?? []);
|
|
15
15
|
}
|
|
16
|
-
getCustomSortById(id) {
|
|
17
|
-
return this.getCustomSorts().find((customSort) => customSort.Uuid === id);
|
|
16
|
+
getCustomSortById(id, config) {
|
|
17
|
+
return this.getCustomSorts(config).find((customSort) => customSort.Uuid === id);
|
|
18
18
|
}
|
|
19
19
|
getLiveCustomSorts() {
|
|
20
20
|
let returnVals = [];
|
|
@@ -88,7 +88,9 @@ export class CustomSortApiImpl extends ApiBase {
|
|
|
88
88
|
}
|
|
89
89
|
deleteCustomSort(column) {
|
|
90
90
|
let customSort = this.getCustomSortForColumn(column);
|
|
91
|
-
|
|
91
|
+
if (customSort) {
|
|
92
|
+
this.dispatchAction(CustomSortRedux.CustomSortDelete(customSort));
|
|
93
|
+
}
|
|
92
94
|
}
|
|
93
95
|
suspendCustomSort(customSort) {
|
|
94
96
|
this.dispatchAction(CustomSortRedux.CustomSortSuspend(customSort));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiBase
|
|
1
|
+
import { ApiBase } from './ApiBase';
|
|
2
2
|
import { AdaptableFlashingCell } from '../../AdaptableState/Common/AdaptableFlashingCell';
|
|
3
3
|
import { FlashingCellApi } from '../FlashingCellApi';
|
|
4
4
|
import { FlashingCellDefinition, FlashingCellState } from '../../AdaptableState/FlashingCellState';
|
|
@@ -6,15 +6,15 @@ import { AdaptablePredicateDef } from '../../AdaptableState/Common/AdaptablePred
|
|
|
6
6
|
import { ColumnScope } from '../../AdaptableState/Common/ColumnScope';
|
|
7
7
|
import { FlashingCellInternalApi } from '../Internal/FlashingCellInternalApi';
|
|
8
8
|
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
|
|
9
|
-
import { AdaptableObjectLookupCriteria } from '../../types';
|
|
9
|
+
import { AdaptableObjectLookupCriteria, LayoutExtendedConfig } from '../../types';
|
|
10
10
|
export declare class FlashingCellApiImpl extends ApiBase implements FlashingCellApi {
|
|
11
11
|
internalApi: FlashingCellInternalApi;
|
|
12
12
|
constructor(_adaptable: IAdaptable);
|
|
13
13
|
getFlashingCellState(): FlashingCellState;
|
|
14
|
-
getFlashingCellDefinitions(config?:
|
|
15
|
-
getFlashingCellDefinitionById(id: FlashingCellDefinition['Uuid']): FlashingCellDefinition;
|
|
16
|
-
getActiveFlashingCellDefinitions(): FlashingCellDefinition[];
|
|
17
|
-
getSuspendedFlashingCellDefinitions(): FlashingCellDefinition[];
|
|
14
|
+
getFlashingCellDefinitions(config?: LayoutExtendedConfig): FlashingCellDefinition[];
|
|
15
|
+
getFlashingCellDefinitionById(id: FlashingCellDefinition['Uuid'], config?: LayoutExtendedConfig): FlashingCellDefinition;
|
|
16
|
+
getActiveFlashingCellDefinitions(config?: LayoutExtendedConfig): FlashingCellDefinition[];
|
|
17
|
+
getSuspendedFlashingCellDefinitions(config?: LayoutExtendedConfig): FlashingCellDefinition[];
|
|
18
18
|
getFlashingCellFlashTarget(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition['FlashTarget'];
|
|
19
19
|
showFlashingCell(flashingCellToShow: AdaptableFlashingCell): void;
|
|
20
20
|
addFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
|
|
@@ -26,6 +26,7 @@ export declare class FlashingCellApiImpl extends ApiBase implements FlashingCell
|
|
|
26
26
|
unSuspendAllFlashingCellDefinition(): void;
|
|
27
27
|
addFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
|
|
28
28
|
editFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
|
|
29
|
+
deleteFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): void;
|
|
29
30
|
getFlashingCellPredicateDefsForScope(scope: ColumnScope): AdaptablePredicateDef[];
|
|
30
31
|
clearAllFlashingCells(): void;
|
|
31
32
|
isAnyFlashingCellActive(): boolean;
|