@adaptabletools/adaptable-cjs 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 +3 -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 +25 -5
- 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 +10 -10
- package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +7 -0
- package/src/Redux/ActionsReducers/StyledColumnRedux.js +15 -1
- 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 +16 -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 +2 -1
- package/src/Utilities/Extensions/ArrayExtensions.d.ts +15 -2
- package/src/Utilities/Extensions/ArrayExtensions.js +68 -15
- 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 +18 -6
- package/src/Utilities/getScopeViewItems.js +6 -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 +5 -5
- 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 +0 -39
- 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 +37 -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 +2 -2
- 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 +65 -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 +53 -0
- package/src/agGrid/AgGridFloatingFilterAdapter.d.ts +2 -0
- package/src/agGrid/{FloatingFilterWrapper.js → AgGridFloatingFilterAdapter.js} +26 -37
- package/src/agGrid/AgGridModulesAdapter.d.ts +15 -0
- package/src/agGrid/AgGridModulesAdapter.js +70 -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 +4 -4
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +1 -1
- 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 +114 -22
- package/src/components/icons/DefaultIcon.d.ts +0 -1
- package/src/components/icons/DefaultIcon.js +0 -8
- 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 +28 -0
- package/src/types.d.ts +8 -9
- package/tsconfig.cjs.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 -136
- package/src/agGrid/FloatingFilterWrapper.d.ts +0 -2
- package/src/agGrid/agGridModules.d.ts +0 -3
- package/src/agGrid/agGridModules.js +0 -18
- package/src/agGrid/getAgGridFilterNotifyModelFn.d.ts +0 -2
- package/src/agGrid/getAgGridFilterNotifyModelFn.js +0 -21
- /package/src/AdaptableState/Common/{ExtendedLayoutInfo.js → ExtendedLayout.js} +0 -0
|
@@ -40,36 +40,36 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
|
|
|
40
40
|
* Retrieves all Format Columns in Adaptable State with the `Style` property set
|
|
41
41
|
* @returns format columns
|
|
42
42
|
*/
|
|
43
|
-
getAllFormatColumnWithStyle() {
|
|
43
|
+
getAllFormatColumnWithStyle(config) {
|
|
44
44
|
return this.getFormatColumnApi()
|
|
45
|
-
.getFormatColumns()
|
|
45
|
+
.getFormatColumns(config)
|
|
46
46
|
.filter((fc) => fc.Style);
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Retrieves all Format Columns in Adaptable State with the `Style` or the `CellAlignment` property set
|
|
50
50
|
* @returns format columns
|
|
51
51
|
*/
|
|
52
|
-
getAllFormatColumnWithStyleAndCellAlignment() {
|
|
52
|
+
getAllFormatColumnWithStyleAndCellAlignment(config) {
|
|
53
53
|
return this.getFormatColumnApi()
|
|
54
|
-
.getFormatColumns()
|
|
54
|
+
.getFormatColumns(config)
|
|
55
55
|
.filter((fc) => fc.Style || fc.CellAlignment);
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
58
|
* Retrieves all Format Columns in Adaptable State with `DisplayFormat` property set
|
|
59
59
|
* @returns format columns
|
|
60
60
|
*/
|
|
61
|
-
getAllFormatColumnWithDisplayFormat() {
|
|
61
|
+
getAllFormatColumnWithDisplayFormat(config) {
|
|
62
62
|
return this.getFormatColumnApi()
|
|
63
|
-
.getFormatColumns()
|
|
63
|
+
.getFormatColumns(config)
|
|
64
64
|
.filter((fc) => fc.DisplayFormat);
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Retrieves all Format Columns in Adaptable State with `CellAlignment` property set
|
|
68
68
|
* @returns format columns
|
|
69
69
|
*/
|
|
70
|
-
getAllFormatColumnWithCellAlignment() {
|
|
70
|
+
getAllFormatColumnWithCellAlignment(config) {
|
|
71
71
|
return this.getFormatColumnApi()
|
|
72
|
-
.getFormatColumns()
|
|
72
|
+
.getFormatColumns(config)
|
|
73
73
|
.filter((fc) => fc.CellAlignment);
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
@@ -82,8 +82,8 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
|
|
|
82
82
|
const formatColumns = this.getAllFormatColumnWithStyleAndCellAlignment()
|
|
83
83
|
.filter((formatColumn) => {
|
|
84
84
|
// FormatColumn default target is 'cell', so if no target is specified, we assume 'cell'
|
|
85
|
-
const fcTarget = formatColumn.Target ??
|
|
86
|
-
return fcTarget
|
|
85
|
+
const fcTarget = formatColumn.Target ?? 'cell';
|
|
86
|
+
return fcTarget === config.target;
|
|
87
87
|
})
|
|
88
88
|
.filter((formatColumn) => config?.includeSuspended || !formatColumn.IsSuspended);
|
|
89
89
|
return this.getFormatColumnWithColumnInScope(formatColumns, column);
|
|
@@ -120,7 +120,13 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
|
|
|
120
120
|
* @returns list of FormatColumn
|
|
121
121
|
*/
|
|
122
122
|
getFormatColumnsWithDisplayFormatForColumn(column, config) {
|
|
123
|
-
const formatColumns = this.getAllFormatColumnWithDisplayFormat()
|
|
123
|
+
const formatColumns = this.getAllFormatColumnWithDisplayFormat()
|
|
124
|
+
.filter((formatColumn) => {
|
|
125
|
+
// FormatColumn default target is 'cell', so if no target is specified, we assume 'cell'
|
|
126
|
+
const fcTarget = formatColumn.Target ?? 'cell';
|
|
127
|
+
return fcTarget === config.target;
|
|
128
|
+
})
|
|
129
|
+
.filter((formatColumn) => config?.includeSuspended || !formatColumn.IsSuspended);
|
|
124
130
|
return this.getFormatColumnWithColumnInScope(formatColumns, column);
|
|
125
131
|
}
|
|
126
132
|
/**
|
|
@@ -187,7 +193,7 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
|
|
|
187
193
|
return true;
|
|
188
194
|
}
|
|
189
195
|
const agGridApi = this.getAdaptableApi().agGridApi;
|
|
190
|
-
const agGridColumn =
|
|
196
|
+
const agGridColumn = this._adaptable.isInPivotMode()
|
|
191
197
|
? agGridApi.getPivotResultColumns().find((col) => col.getColId() === column.columnId)
|
|
192
198
|
: agGridApi.getColumn(column.columnId);
|
|
193
199
|
if (!agGridColumn) {
|
|
@@ -329,14 +335,14 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
|
|
|
329
335
|
* Retrieves all Format Columns which have an Expression
|
|
330
336
|
* @returns Format Columns with Expression
|
|
331
337
|
*/
|
|
332
|
-
getFormatColumnsWithExpression() {
|
|
338
|
+
getFormatColumnsWithExpression(config) {
|
|
333
339
|
return this.getFormatColumnApi()
|
|
334
|
-
.getFormatColumns()
|
|
340
|
+
.getFormatColumns(config)
|
|
335
341
|
.filter((fc) => !!fc.Rule?.BooleanExpression);
|
|
336
342
|
}
|
|
337
|
-
getFormatColumnsDependentOnColumns(columnSet) {
|
|
343
|
+
getFormatColumnsDependentOnColumns(columnSet, config) {
|
|
338
344
|
return this.getFormatColumnApi()
|
|
339
|
-
.getFormatColumns()
|
|
345
|
+
.getFormatColumns(config)
|
|
340
346
|
.filter((fc) => fc.Rule?.Predicates?.some((p) => columnSet.has(p.ColumnId)));
|
|
341
347
|
}
|
|
342
348
|
/**
|
|
@@ -360,5 +366,28 @@ class FormatColumnInternalApi extends ApiBase_1.ApiBase {
|
|
|
360
366
|
});
|
|
361
367
|
return [...columnsThatNeedRefresh];
|
|
362
368
|
}
|
|
369
|
+
formatColumnHeaderName(headerName, params) {
|
|
370
|
+
// currently we only format the header name for normal columns (NOT column groups)
|
|
371
|
+
if (!params.column) {
|
|
372
|
+
return headerName;
|
|
373
|
+
}
|
|
374
|
+
const abColumn = this.getColumnApi().getColumnWithColumnId(params.column.getColId());
|
|
375
|
+
const activeFormatColumnsWithDisplayFormat = this.getFormatColumnApi().internalApi.getFormatColumnsWithDisplayFormatForColumn(abColumn, {
|
|
376
|
+
target: 'columnHeader',
|
|
377
|
+
});
|
|
378
|
+
if (!activeFormatColumnsWithDisplayFormat.length) {
|
|
379
|
+
return headerName;
|
|
380
|
+
}
|
|
381
|
+
const mostRelevantFormatColumn = activeFormatColumnsWithDisplayFormat.find((formatColumn) => this.formatColumnShouldRenderInHeader(formatColumn, abColumn));
|
|
382
|
+
if (!mostRelevantFormatColumn) {
|
|
383
|
+
return headerName;
|
|
384
|
+
}
|
|
385
|
+
if (mostRelevantFormatColumn.DisplayFormat?.Formatter !== 'StringFormatter') {
|
|
386
|
+
// headers are always strings, so we can only use StringFormatter
|
|
387
|
+
return headerName;
|
|
388
|
+
}
|
|
389
|
+
const formattedHeaderName = this.getFormatColumnApi().internalApi.getStringFormattedValue(headerName, null, abColumn, mostRelevantFormatColumn.DisplayFormat.Options);
|
|
390
|
+
return formattedHeaderName;
|
|
391
|
+
}
|
|
363
392
|
}
|
|
364
393
|
exports.FormatColumnInternalApi = FormatColumnInternalApi;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { RowClassParams } from 'ag-grid-enterprise';
|
|
1
|
+
import { IRowNode, RowClassParams } from 'ag-grid-enterprise';
|
|
2
2
|
import { AdaptableColumn } from '../../AdaptableState/Common/AdaptableColumn';
|
|
3
3
|
import { AdaptableMenuItem } from '../../AdaptableState/Common/Menu';
|
|
4
4
|
import { SpecialColumnSettings } from '../../AdaptableState/Common/SpecialColumnSettings';
|
|
5
5
|
import { GridCell } from '../../AdaptableState/Selection/GridCell';
|
|
6
6
|
import { SelectedCellInfo } from '../../AdaptableState/Selection/SelectedCellInfo';
|
|
7
7
|
import { SelectedRowInfo } from '../../AdaptableState/Selection/SelectedRowInfo';
|
|
8
|
+
import { InFilterValue } from '../../types';
|
|
8
9
|
import { ApiBase } from '../Implementation/ApiBase';
|
|
10
|
+
import { EditColumnValueInfo } from '../../AdaptableOptions/EditOptions';
|
|
9
11
|
export declare class GridInternalApi extends ApiBase {
|
|
10
12
|
/**
|
|
11
13
|
* Gets all distinct display values in the Column for given ColumnId
|
|
@@ -27,20 +29,13 @@ export declare class GridInternalApi extends ApiBase {
|
|
|
27
29
|
getDistinctFilterDisplayValuesForColumn(options: {
|
|
28
30
|
columnId: string;
|
|
29
31
|
currentSearchValue: string;
|
|
30
|
-
}): Promise<
|
|
31
|
-
value: any;
|
|
32
|
-
label: string;
|
|
33
|
-
}[]>;
|
|
32
|
+
}): Promise<InFilterValue[]>;
|
|
34
33
|
getDistinctValuesForColumn(columnId: string): Promise<GridCell[]> | undefined;
|
|
35
|
-
getDistinctDisplayValuesForColumn(columnId: string): Promise<any[]> | undefined;
|
|
36
34
|
getDistinctEditDisplayValuesForColumn(options: {
|
|
37
35
|
columnId: string;
|
|
38
36
|
gridCell: GridCell;
|
|
39
37
|
currentSearchValue: string;
|
|
40
|
-
}): Promise<
|
|
41
|
-
value: any;
|
|
42
|
-
label: string;
|
|
43
|
-
}[]> | undefined;
|
|
38
|
+
}): Promise<EditColumnValueInfo[]> | undefined;
|
|
44
39
|
/**
|
|
45
40
|
* Gets all distinct raw values in Column. Values are sorted.
|
|
46
41
|
* @param columnId Column to check
|
|
@@ -51,6 +46,7 @@ export declare class GridInternalApi extends ApiBase {
|
|
|
51
46
|
* @param columnId Column to check
|
|
52
47
|
*/
|
|
53
48
|
getUnsortedDistinctRawValuesForColumn(columnId: string): any[];
|
|
49
|
+
getSortedRowNodesWithCurrentLayoutSortOrder(rowNodes?: IRowNode[]): IRowNode[];
|
|
54
50
|
sortDistinctValues<T extends GridCell>(returnValues: T[], column: AdaptableColumn): T[];
|
|
55
51
|
setColumns(columns: AdaptableColumn[]): void;
|
|
56
52
|
setSelectedCells(selectedCellInfo: SelectedCellInfo): void;
|
|
@@ -72,4 +68,5 @@ export declare class GridInternalApi extends ApiBase {
|
|
|
72
68
|
* DO NOT USE THIS METHOD DIRECTLY - use `GridApi.isCellEditable` instead
|
|
73
69
|
*/
|
|
74
70
|
isCellEditableAccordingToEditOptions(gridCell: GridCell, defaultColDefinitionEditableValue: boolean): boolean | undefined;
|
|
71
|
+
isRowFilterable(rowNode: IRowNode): boolean;
|
|
75
72
|
}
|
|
@@ -4,7 +4,8 @@ exports.GridInternalApi = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const Enums_1 = require("../../AdaptableState/Common/Enums");
|
|
6
6
|
const InternalRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/InternalRedux"));
|
|
7
|
-
const ArrayExtensions_1 =
|
|
7
|
+
const ArrayExtensions_1 = require("../../Utilities/Extensions/ArrayExtensions");
|
|
8
|
+
const infinite_react_1 = require("@infinite-table/infinite-react");
|
|
8
9
|
const StyleHelper_1 = require("../../Utilities/Helpers/StyleHelper");
|
|
9
10
|
const UIHelper_1 = tslib_1.__importDefault(require("../../View/UIHelper"));
|
|
10
11
|
const ApiBase_1 = require("../Implementation/ApiBase");
|
|
@@ -40,20 +41,13 @@ class GridInternalApi extends ApiBase_1.ApiBase {
|
|
|
40
41
|
if (abColumn == undefined) {
|
|
41
42
|
return [];
|
|
42
43
|
}
|
|
43
|
-
|
|
44
|
+
const inFilterValues = await this._adaptable.getDistinctFilterValuesForColumn({
|
|
44
45
|
column: abColumn,
|
|
45
46
|
get currentSearchValue() {
|
|
46
47
|
return options.currentSearchValue;
|
|
47
48
|
},
|
|
48
49
|
});
|
|
49
|
-
|
|
50
|
-
const valueOptions = gridCells.map((cv) => {
|
|
51
|
-
return {
|
|
52
|
-
label: cv.displayValue,
|
|
53
|
-
value: cv.normalisedValue,
|
|
54
|
-
};
|
|
55
|
-
});
|
|
56
|
-
return valueOptions;
|
|
50
|
+
return inFilterValues || [];
|
|
57
51
|
}
|
|
58
52
|
async getDistinctValuesForColumn(columnId) {
|
|
59
53
|
const abColumn = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
@@ -63,31 +57,19 @@ class GridInternalApi extends ApiBase_1.ApiBase {
|
|
|
63
57
|
const gridCells = await this._adaptable.getDistinctValuesForColumn(abColumn);
|
|
64
58
|
return gridCells;
|
|
65
59
|
}
|
|
66
|
-
async getDistinctDisplayValuesForColumn(columnId) {
|
|
67
|
-
const distinctValues = await this.getDistinctValuesForColumn(columnId);
|
|
68
|
-
return distinctValues.map((gc) => {
|
|
69
|
-
return gc.displayValue;
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
60
|
async getDistinctEditDisplayValuesForColumn(options) {
|
|
73
61
|
const abColumn = this.getColumnApi().getColumnWithColumnId(options.columnId);
|
|
74
62
|
if (!abColumn) {
|
|
75
63
|
return undefined;
|
|
76
64
|
}
|
|
77
|
-
|
|
65
|
+
const valueOptions = await this._adaptable.getDistinctEditValuesForColumn({
|
|
78
66
|
column: abColumn,
|
|
79
67
|
gridCell: options.gridCell,
|
|
80
68
|
get currentSearchValue() {
|
|
81
69
|
return options.currentSearchValue;
|
|
82
70
|
},
|
|
83
71
|
});
|
|
84
|
-
|
|
85
|
-
return gridCells.map((gc) => {
|
|
86
|
-
return {
|
|
87
|
-
label: gc.displayValue,
|
|
88
|
-
value: gc.normalisedValue,
|
|
89
|
-
};
|
|
90
|
-
});
|
|
72
|
+
return valueOptions || [];
|
|
91
73
|
}
|
|
92
74
|
/**
|
|
93
75
|
* Gets all distinct raw values in Column. Values are sorted.
|
|
@@ -113,6 +95,58 @@ class GridInternalApi extends ApiBase_1.ApiBase {
|
|
|
113
95
|
}
|
|
114
96
|
return this._adaptable.getDistinctGridCellsForColumn(abColumn);
|
|
115
97
|
}
|
|
98
|
+
getSortedRowNodesWithCurrentLayoutSortOrder(rowNodes) {
|
|
99
|
+
const currentLayout = this.getLayoutApi().getCurrentLayout();
|
|
100
|
+
const columnSorts = currentLayout.ColumnSorts || [];
|
|
101
|
+
const columnApi = this.getColumnApi();
|
|
102
|
+
const rowNodesMapToCells = new Map();
|
|
103
|
+
const allRowNodes = [];
|
|
104
|
+
// for each row node,let's create an object
|
|
105
|
+
// with only those gridcells that are needed - meaning
|
|
106
|
+
// for those column that are in the current sort
|
|
107
|
+
const rowNodeCallback = (node) => {
|
|
108
|
+
allRowNodes.push(node);
|
|
109
|
+
const rowNodeCells = {};
|
|
110
|
+
rowNodesMapToCells.set(node, rowNodeCells);
|
|
111
|
+
columnSorts.forEach((columnSort, i) => {
|
|
112
|
+
const { ColumnId } = columnSort;
|
|
113
|
+
const gridCell = this._adaptable.getGridCellFromRowNode(node, ColumnId);
|
|
114
|
+
rowNodeCells[ColumnId] = gridCell;
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
if (rowNodes) {
|
|
118
|
+
rowNodes.forEach(rowNodeCallback);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.getAgGridApi().forEachNode(rowNodeCallback);
|
|
122
|
+
}
|
|
123
|
+
if (!columnSorts.length) {
|
|
124
|
+
return allRowNodes;
|
|
125
|
+
}
|
|
126
|
+
const sortInfo = columnSorts.map((columnSort) => {
|
|
127
|
+
const { ColumnId } = columnSort;
|
|
128
|
+
// NOTE: the comparator we pass to multisort should always sort in ascending order
|
|
129
|
+
// that's why we pass SortOrder.Asc to the comparators
|
|
130
|
+
const comparator = columnApi.hasNumberDataType(ColumnId)
|
|
131
|
+
? (0, ArrayExtensions_1.getNumericComparatorForGridCell)(Enums_1.SortOrder.Asc)
|
|
132
|
+
: columnApi.hasDateDataType(ColumnId)
|
|
133
|
+
? (0, ArrayExtensions_1.getDateComparatorForGridCell)(Enums_1.SortOrder.Asc)
|
|
134
|
+
: (0, ArrayExtensions_1.getGenericComparatorForGridCell)(Enums_1.SortOrder.Asc);
|
|
135
|
+
return {
|
|
136
|
+
// but here we pass the actual direction of the column sort
|
|
137
|
+
dir: columnSort.SortOrder === 'Asc' ? 1 : -1,
|
|
138
|
+
fn: (rowNodeA, rowNodeB) => {
|
|
139
|
+
const gridCellA = rowNodesMapToCells.get(rowNodeA)?.[ColumnId];
|
|
140
|
+
const gridCellB = rowNodesMapToCells.get(rowNodeB)?.[ColumnId];
|
|
141
|
+
if (!gridCellA || !gridCellB) {
|
|
142
|
+
return 0;
|
|
143
|
+
}
|
|
144
|
+
return comparator(gridCellA, gridCellB);
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
});
|
|
148
|
+
return (0, infinite_react_1.multisort)(sortInfo, allRowNodes);
|
|
149
|
+
}
|
|
116
150
|
sortDistinctValues(returnValues, column) {
|
|
117
151
|
// this does NOT into account Custom Sort - far too hard for now...
|
|
118
152
|
let sortOrder = undefined;
|
|
@@ -127,13 +161,13 @@ class GridInternalApi extends ApiBase_1.ApiBase {
|
|
|
127
161
|
}
|
|
128
162
|
if (sortOrder) {
|
|
129
163
|
if (this.getColumnApi().hasNumberDataType(column?.columnId)) {
|
|
130
|
-
returnValues = ArrayExtensions_1.
|
|
164
|
+
returnValues = (0, ArrayExtensions_1.sortCellValueArrayNumeric)(returnValues, sortOrder);
|
|
131
165
|
}
|
|
132
166
|
else if (this.getColumnApi().hasDateDataType(column?.columnId)) {
|
|
133
|
-
returnValues = ArrayExtensions_1.
|
|
167
|
+
returnValues = (0, ArrayExtensions_1.sortCellValueArrayDates)(returnValues, sortOrder);
|
|
134
168
|
}
|
|
135
169
|
else {
|
|
136
|
-
returnValues = ArrayExtensions_1.
|
|
170
|
+
returnValues = (0, ArrayExtensions_1.sortCellValueArray)(returnValues, sortOrder);
|
|
137
171
|
}
|
|
138
172
|
}
|
|
139
173
|
return returnValues;
|
|
@@ -226,5 +260,20 @@ class GridInternalApi extends ApiBase_1.ApiBase {
|
|
|
226
260
|
}
|
|
227
261
|
return undefined;
|
|
228
262
|
}
|
|
263
|
+
isRowFilterable(rowNode) {
|
|
264
|
+
// first assess if the Row is filterable - if not, then return true so it appears in Grid
|
|
265
|
+
const isRowFilterable = this.getOptionsApi().getFilterOptions().isRowFilterable;
|
|
266
|
+
if (typeof isRowFilterable === 'function') {
|
|
267
|
+
const rowFilterableContext = {
|
|
268
|
+
...this.getAdaptableApi().internalApi.buildBaseContext(),
|
|
269
|
+
rowNode,
|
|
270
|
+
data: rowNode.data,
|
|
271
|
+
};
|
|
272
|
+
if (!isRowFilterable(rowFilterableContext)) {
|
|
273
|
+
return false;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return true;
|
|
277
|
+
}
|
|
229
278
|
}
|
|
230
279
|
exports.GridInternalApi = GridInternalApi;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AdaptableModule } from '../../AdaptableState/Common/Types';
|
|
3
|
-
import { Layout, PivotLayout, TableLayout } from '../../AdaptableState/LayoutState';
|
|
1
|
+
import { Layout, LayoutBase, PivotLayout, TableLayout } from '../../AdaptableState/LayoutState';
|
|
4
2
|
import { ApiBase } from '../Implementation/ApiBase';
|
|
5
3
|
import { ColDef, ColGroupDef } from 'ag-grid-enterprise';
|
|
4
|
+
import { LayoutExtensionObject, LayoutExtensionModule } from '../../types';
|
|
6
5
|
export declare class LayoutInternalApi extends ApiBase {
|
|
7
6
|
getNormalizedLayout(layout: TableLayout | PivotLayout): TableLayout | PivotLayout;
|
|
8
7
|
sortColumnDefsByPivotAggregationOrder(columnDefs: (ColDef | ColGroupDef)[], pivotAggregationColumns: PivotLayout['PivotAggregationColumns']): (ColDef | ColGroupDef)[];
|
|
@@ -27,9 +26,10 @@ export declare class LayoutInternalApi extends ApiBase {
|
|
|
27
26
|
RowSummaries: boolean;
|
|
28
27
|
};
|
|
29
28
|
hasLayoutSpecificObjects(): boolean;
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
isObjectExtendedInLayout(object: LayoutExtensionObject, module: LayoutExtensionModule, layout: Layout): boolean;
|
|
30
|
+
showLayoutNonExtendedObjects(): boolean;
|
|
32
31
|
isLayoutGrouped(layout?: Layout): boolean;
|
|
33
32
|
setupRowSummaries(): void;
|
|
34
33
|
refreshLayout(): void;
|
|
34
|
+
getChangedColumnSorts(oldSorts: LayoutBase['ColumnSorts'], newSorts: LayoutBase['ColumnSorts']): string[];
|
|
35
35
|
}
|
|
@@ -124,12 +124,12 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
|
|
|
124
124
|
return false;
|
|
125
125
|
}
|
|
126
126
|
if (layoutTagOptions.autoCheckTagsForLayouts == true ||
|
|
127
|
-
typeof layoutTagOptions?.
|
|
127
|
+
typeof layoutTagOptions?.isObjectExtendedInLayout === 'function') {
|
|
128
128
|
return true;
|
|
129
129
|
}
|
|
130
130
|
return false;
|
|
131
131
|
}
|
|
132
|
-
|
|
132
|
+
isObjectExtendedInLayout(object, module, layout) {
|
|
133
133
|
if (!this.hasLayoutSpecificObjects()) {
|
|
134
134
|
return true;
|
|
135
135
|
}
|
|
@@ -143,10 +143,10 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
|
|
|
143
143
|
layout,
|
|
144
144
|
...this.getAdaptableInternalApi().buildBaseContext(),
|
|
145
145
|
};
|
|
146
|
-
return layoutTagOptions?.
|
|
146
|
+
return layoutTagOptions?.isObjectExtendedInLayout(context);
|
|
147
147
|
}
|
|
148
|
-
|
|
149
|
-
return this.getAdaptableState().Internal.Layout.
|
|
148
|
+
showLayoutNonExtendedObjects() {
|
|
149
|
+
return this.getAdaptableState().Internal.Layout.showLayoutNonExtendedObjects;
|
|
150
150
|
}
|
|
151
151
|
isLayoutGrouped(layout) {
|
|
152
152
|
if (!layout) {
|
|
@@ -155,6 +155,10 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
|
|
|
155
155
|
return (layout?.RowGroupedColumns?.length || layout?.PivotGroupedColumns?.length) > 0;
|
|
156
156
|
}
|
|
157
157
|
setupRowSummaries() {
|
|
158
|
+
if (!this._adaptable.agGridModulesAdapter.isAgGridModuleRegistered('PinnedRowModule')) {
|
|
159
|
+
this.getAdaptableApi().consoleError(`Can NOT set Layout Row Summaries - missing required AG Grid module 'PinnedRowModule'`);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
158
162
|
const rowSummaries = this.getAdaptableState().Internal?.RowSummary?.rowSummaries ?? [];
|
|
159
163
|
const { top, bottom } = rowSummaries.reduce((acc, summaryRow) => {
|
|
160
164
|
const row = summaryRow.RowData;
|
|
@@ -173,5 +177,38 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
|
|
|
173
177
|
refreshLayout() {
|
|
174
178
|
this._adaptable.refreshLayout();
|
|
175
179
|
}
|
|
180
|
+
getChangedColumnSorts(oldSorts, newSorts) {
|
|
181
|
+
if (ArrayExtensions_1.default.IsNullOrEmpty(oldSorts) && ArrayExtensions_1.default.IsNullOrEmpty(newSorts)) {
|
|
182
|
+
return [];
|
|
183
|
+
}
|
|
184
|
+
// If either one is empty but not both, all columns in the non-empty array have changed
|
|
185
|
+
if (ArrayExtensions_1.default.IsNullOrEmpty(oldSorts)) {
|
|
186
|
+
return newSorts.map((sort) => sort.ColumnId);
|
|
187
|
+
}
|
|
188
|
+
if (ArrayExtensions_1.default.IsNullOrEmpty(newSorts)) {
|
|
189
|
+
return oldSorts.map((sort) => sort.ColumnId);
|
|
190
|
+
}
|
|
191
|
+
const changedColumnIds = [];
|
|
192
|
+
// Create maps for quick lookup
|
|
193
|
+
const oldSortsMap = new Map();
|
|
194
|
+
oldSorts.forEach((sort) => {
|
|
195
|
+
oldSortsMap.set(sort.ColumnId, sort.SortOrder);
|
|
196
|
+
});
|
|
197
|
+
// Check columns in new sorts that changed from old sorts
|
|
198
|
+
newSorts.forEach((newSort) => {
|
|
199
|
+
const oldSortOrder = oldSortsMap.get(newSort.ColumnId);
|
|
200
|
+
// If column wasn't sorted before or sort order changed
|
|
201
|
+
if (oldSortOrder === undefined || oldSortOrder !== newSort.SortOrder) {
|
|
202
|
+
changedColumnIds.push(newSort.ColumnId);
|
|
203
|
+
}
|
|
204
|
+
// Remove processed columns from the map
|
|
205
|
+
oldSortsMap.delete(newSort.ColumnId);
|
|
206
|
+
});
|
|
207
|
+
// Add remaining columns from old sorts (these were removed in new sorts)
|
|
208
|
+
oldSortsMap.forEach((_, columnId) => {
|
|
209
|
+
changedColumnIds.push(columnId);
|
|
210
|
+
});
|
|
211
|
+
return changedColumnIds;
|
|
212
|
+
}
|
|
176
213
|
}
|
|
177
214
|
exports.LayoutInternalApi = LayoutInternalApi;
|
|
@@ -4,12 +4,8 @@ import { SystemFilterPredicateId } from '../../AdaptableState/Common/ColumnFilte
|
|
|
4
4
|
import { AdaptableColumnDataType } from '../../AdaptableState/Common/AdaptableColumn';
|
|
5
5
|
import { ColumnScope } from '../../types';
|
|
6
6
|
export declare class PredicateInternalApi extends ApiBase {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*
|
|
10
|
-
* @param predicate
|
|
11
|
-
*/
|
|
12
|
-
hasPredicateValues(predicate: AdaptablePredicate): boolean;
|
|
7
|
+
IsInOrNotInPredicate(predicate: AdaptablePredicate): boolean;
|
|
8
|
+
IsInorNotInPredicateDef(predicateDef: AdaptablePredicateDef): boolean;
|
|
13
9
|
/**
|
|
14
10
|
* Get all Filter Predicate Definitions - System and Custom
|
|
15
11
|
*/
|
|
@@ -3,14 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.PredicateInternalApi = void 0;
|
|
4
4
|
const ApiBase_1 = require("../Implementation/ApiBase");
|
|
5
5
|
class PredicateInternalApi extends ApiBase_1.ApiBase {
|
|
6
|
-
|
|
7
|
-
* Returns true if the predicate has a dropdown.
|
|
8
|
-
*
|
|
9
|
-
* @param predicate
|
|
10
|
-
*/
|
|
11
|
-
hasPredicateValues(predicate) {
|
|
6
|
+
IsInOrNotInPredicate(predicate) {
|
|
12
7
|
return predicate?.PredicateId === 'In' || predicate?.PredicateId === 'NotIn';
|
|
13
8
|
}
|
|
9
|
+
IsInorNotInPredicateDef(predicateDef) {
|
|
10
|
+
return predicateDef && ['In', 'NotIn'].includes(predicateDef.id);
|
|
11
|
+
}
|
|
14
12
|
/**
|
|
15
13
|
* Get all Filter Predicate Definitions - System and Custom
|
|
16
14
|
*/
|
|
@@ -2,5 +2,6 @@ import { AdaptableColumn, AdaptableIcon } from '../../types';
|
|
|
2
2
|
import { ApiBase } from '../Implementation/ApiBase';
|
|
3
3
|
export declare class UserInterfaceInternalApi extends ApiBase {
|
|
4
4
|
prepareAdaptableIconDef(icon: AdaptableIcon): AdaptableIcon;
|
|
5
|
+
getCustomIconDefinition(iconName: string): AdaptableIcon | import("../../types").CustomIcon;
|
|
5
6
|
shouldShowSelectCellEditor(column: AdaptableColumn): boolean;
|
|
6
7
|
}
|
|
@@ -5,15 +5,22 @@ const ApiBase_1 = require("../Implementation/ApiBase");
|
|
|
5
5
|
class UserInterfaceInternalApi extends ApiBase_1.ApiBase {
|
|
6
6
|
prepareAdaptableIconDef(icon) {
|
|
7
7
|
if (icon && 'name' in icon) {
|
|
8
|
-
let customIcon = icon && 'name' in icon
|
|
9
|
-
? this.getUserInterfaceApi().getCustomIconDefinition(icon.name)
|
|
10
|
-
: null;
|
|
8
|
+
let customIcon = icon && 'name' in icon ? this.getCustomIconDefinition(icon.name) : null;
|
|
11
9
|
if (customIcon) {
|
|
12
10
|
icon = customIcon;
|
|
13
11
|
}
|
|
14
12
|
}
|
|
15
13
|
return icon;
|
|
16
14
|
}
|
|
15
|
+
getCustomIconDefinition(iconName) {
|
|
16
|
+
let customIcon = undefined;
|
|
17
|
+
const customIcons = this.getUserInterfaceApi().getCustomIcons();
|
|
18
|
+
customIcon = customIcons.find((icon) => icon.name === iconName);
|
|
19
|
+
if (customIcon) {
|
|
20
|
+
return customIcon.icon;
|
|
21
|
+
}
|
|
22
|
+
return customIcon;
|
|
23
|
+
}
|
|
17
24
|
shouldShowSelectCellEditor(column) {
|
|
18
25
|
const showSelectCellEditor = this.getEditOptions().showSelectCellEditor;
|
|
19
26
|
if (showSelectCellEditor) {
|
package/src/Api/LayoutApi.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AdaptableColumn, ColumnSort, PivotLayout, TableLayout } from '../../types';
|
|
2
|
-
import {
|
|
2
|
+
import { ExtendedLayout } from '../AdaptableState/Common/ExtendedLayout';
|
|
3
3
|
import { LayoutState, Layout } from '../AdaptableState/LayoutState';
|
|
4
4
|
/**
|
|
5
5
|
* Provides run-time access to the Layout Module and associated state
|
|
@@ -61,7 +61,12 @@ export interface LayoutApi {
|
|
|
61
61
|
* @param layoutName Layout to retrieve
|
|
62
62
|
* @returns layout
|
|
63
63
|
*/
|
|
64
|
-
getExtendedLayoutByName(layoutName: string):
|
|
64
|
+
getExtendedLayoutByName(layoutName: string): ExtendedLayout | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Creates (or Updates) an Extended Layout
|
|
67
|
+
* @param extendedLayoutInfo extendedLayout to Create
|
|
68
|
+
*/
|
|
69
|
+
createOrUpdateExtendedLayout(extendedLayoutInfo: ExtendedLayout): void;
|
|
65
70
|
/**
|
|
66
71
|
* Retrieves all Layouts in Adaptable State
|
|
67
72
|
* @returns layouts
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PlusMinusState, PlusMinusNudge } from '../AdaptableState/PlusMinusState';
|
|
2
2
|
import { CellUpdateRequest, GridCell } from '../AdaptableState/Selection/GridCell';
|
|
3
|
+
import { LayoutExtendedConfig } from '../types';
|
|
3
4
|
/**
|
|
4
5
|
* Provides run-time access to the Plus / Minus Module and associated state
|
|
5
6
|
*/
|
|
@@ -10,27 +11,25 @@ export interface PlusMinusApi {
|
|
|
10
11
|
getPlusMinusState(): PlusMinusState;
|
|
11
12
|
/**
|
|
12
13
|
* Retrieves all Plus Minus Rules in Adaptable State with those with expressions first
|
|
13
|
-
* @returns plus minus
|
|
14
|
+
* @returns all plus minus rules
|
|
14
15
|
*/
|
|
15
|
-
getAllPlusMinus(config?:
|
|
16
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
17
|
-
}): PlusMinusNudge[];
|
|
16
|
+
getAllPlusMinus(config?: LayoutExtendedConfig): PlusMinusNudge[];
|
|
18
17
|
/**
|
|
19
18
|
* Retrieves Plus Minus Rule by the technical ID (from `PlusMinusState`)
|
|
20
19
|
* @param id Plus Minus id
|
|
21
20
|
* @returns plus minus rule
|
|
22
21
|
*/
|
|
23
|
-
getPlusMinusById(id: PlusMinusNudge['Uuid']): PlusMinusNudge;
|
|
22
|
+
getPlusMinusById(id: PlusMinusNudge['Uuid'], config?: LayoutExtendedConfig): PlusMinusNudge;
|
|
24
23
|
/**
|
|
25
24
|
* Retrieves all active (not-suspended) Plus Minus Rules in Adaptable State with those with expressions first
|
|
26
25
|
* @returns plus minus rules
|
|
27
26
|
*/
|
|
28
|
-
getAllActivePlusMinus(): PlusMinusNudge[];
|
|
27
|
+
getAllActivePlusMinus(config?: LayoutExtendedConfig): PlusMinusNudge[];
|
|
29
28
|
/**
|
|
30
29
|
* Retrieves all suspended Plus Minus Rules in Adaptable State with those with expressions first
|
|
31
30
|
* @returns plus minus rules
|
|
32
31
|
*/
|
|
33
|
-
getAllSuspendedPlusMinus(): PlusMinusNudge[];
|
|
32
|
+
getAllSuspendedPlusMinus(config?: LayoutExtendedConfig): PlusMinusNudge[];
|
|
34
33
|
/**
|
|
35
34
|
* Applies a Plus Minus Rule to given cells
|
|
36
35
|
* @param plusMinusNudge Plus Minus Rule to apply
|
|
@@ -53,6 +52,11 @@ export interface PlusMinusApi {
|
|
|
53
52
|
* @returns plus minus rule
|
|
54
53
|
*/
|
|
55
54
|
editPlusMinusNudge(plusMinusNudge: PlusMinusNudge): PlusMinusNudge;
|
|
55
|
+
/**
|
|
56
|
+
* Deletes a plus minus rule
|
|
57
|
+
* @param plusMinusNudge Plus Minus Rule to delete
|
|
58
|
+
*/
|
|
59
|
+
deletePlusMinusNudge(plusMinusNudge: PlusMinusNudge): void;
|
|
56
60
|
/**
|
|
57
61
|
* Adds new Plus Minus Rule to State
|
|
58
62
|
* @param plusMinusNudge Plus Minus Rule to add
|
package/src/Api/ScheduleApi.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { ReportSchedule } from '../AdaptableState/ExportState';
|
|
|
3
3
|
import { IPushPullSchedule } from '../AdaptableState/IPushPullState';
|
|
4
4
|
import { OpenFinSchedule } from '../AdaptableState/OpenFinState';
|
|
5
5
|
import { ReminderSchedule, ScheduleState } from '../AdaptableState/ScheduleState';
|
|
6
|
+
import { LayoutExtendedConfig } from '../types';
|
|
6
7
|
/**
|
|
7
8
|
* Provides run-time access to the Schedule Module and associated state
|
|
8
9
|
*/
|
|
@@ -15,30 +16,28 @@ export interface ScheduleApi {
|
|
|
15
16
|
* Retrieves the Schedule section from Adaptable State
|
|
16
17
|
* @returns schedules
|
|
17
18
|
*/
|
|
18
|
-
getSchedules(): BaseSchedule[];
|
|
19
|
+
getSchedules(config?: LayoutExtendedConfig): BaseSchedule[];
|
|
19
20
|
/**
|
|
20
21
|
* Retrieves Schedule by id
|
|
21
22
|
* @param id Schedule id
|
|
22
23
|
* @returns schedule
|
|
23
24
|
*/
|
|
24
|
-
getScheduleById(id: BaseSchedule['Uuid']): BaseSchedule;
|
|
25
|
+
getScheduleById(id: BaseSchedule['Uuid'], config?: LayoutExtendedConfig): BaseSchedule;
|
|
25
26
|
/**
|
|
26
27
|
* Retrieves all Reminder-based Schedules from Schedule State
|
|
27
28
|
* @returns reminder schedules
|
|
28
29
|
*/
|
|
29
|
-
getReminderSchedules(config?:
|
|
30
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
31
|
-
}): ReminderSchedule[];
|
|
30
|
+
getReminderSchedules(config?: LayoutExtendedConfig): ReminderSchedule[];
|
|
32
31
|
/**
|
|
33
32
|
* Retrieves all active (not-suspended) Reminder-based Schedules from Schedule State
|
|
34
33
|
* @returns reminder schedules
|
|
35
34
|
*/
|
|
36
|
-
getActiveReminderSchedules(): ReminderSchedule[];
|
|
35
|
+
getActiveReminderSchedules(config?: LayoutExtendedConfig): ReminderSchedule[];
|
|
37
36
|
/**
|
|
38
37
|
* Retrieves all suspended Reminder-based Schedules from Schedule State
|
|
39
38
|
* @returns reminder schedules
|
|
40
39
|
*/
|
|
41
|
-
getSuspendedReminderSchedules(): ReminderSchedule[];
|
|
40
|
+
getSuspendedReminderSchedules(config?: LayoutExtendedConfig): ReminderSchedule[];
|
|
42
41
|
/**
|
|
43
42
|
* Adds Reminder-based Schedule
|
|
44
43
|
* @param ReminderSchedule Reminder Schedule to add
|
|
@@ -72,9 +71,7 @@ export interface ScheduleApi {
|
|
|
72
71
|
* Retrieves all Report / Export Schedules from Schedule State
|
|
73
72
|
* @returns report schedules
|
|
74
73
|
*/
|
|
75
|
-
getReportSchedules(config?:
|
|
76
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
77
|
-
}): ReportSchedule[];
|
|
74
|
+
getReportSchedules(config?: LayoutExtendedConfig): ReportSchedule[];
|
|
78
75
|
/**
|
|
79
76
|
* Retrieves all active (not-suspended) Report / Export Schedules from Schedule State
|
|
80
77
|
* @returns report schedules
|
|
@@ -118,9 +115,7 @@ export interface ScheduleApi {
|
|
|
118
115
|
* Retrieves all ipushpull-based Schedules from Schedule State
|
|
119
116
|
* @returns IPushPull schedules
|
|
120
117
|
*/
|
|
121
|
-
getIPushPullSchedules(config?:
|
|
122
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
123
|
-
}): IPushPullSchedule[];
|
|
118
|
+
getIPushPullSchedules(config?: LayoutExtendedConfig): IPushPullSchedule[];
|
|
124
119
|
/**
|
|
125
120
|
* Retrieves all active (not-suspended) ipushpull-based Schedules from Schedule State
|
|
126
121
|
* @returns IPushPull schedules
|
|
@@ -164,9 +159,7 @@ export interface ScheduleApi {
|
|
|
164
159
|
* Retrieves all OpenFin-based Schedules from Schedule State
|
|
165
160
|
* @returns OpenFin schedules
|
|
166
161
|
*/
|
|
167
|
-
getOpenFinSchedules(config?:
|
|
168
|
-
includeLayoutNotAssociatedObjects?: boolean;
|
|
169
|
-
}): OpenFinSchedule[];
|
|
162
|
+
getOpenFinSchedules(config?: LayoutExtendedConfig): OpenFinSchedule[];
|
|
170
163
|
/**
|
|
171
164
|
* Retrieves all active (not-suspended) OpenFin-based Schedules from Schedule State
|
|
172
165
|
* @returns OpenFin schedules
|