@adaptabletools/adaptable-cjs 20.3.0 → 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 +38 -38
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -2
- package/src/AdaptableOptions/EditOptions.d.ts +4 -7
- package/src/AdaptableOptions/FilterOptions.d.ts +50 -15
- package/src/AdaptableOptions/LayoutOptions.d.ts +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 +2 -2
- package/src/AdaptableState/Common/ExtendedLayout.d.ts +50 -0
- package/src/AdaptableState/FormatColumnState.d.ts +8 -1
- package/src/AdaptableState/InternalState.d.ts +1 -1
- package/src/AdaptableState/LayoutState.d.ts +26 -6
- package/src/AdaptableState/Selection/GridCell.d.ts +32 -0
- package/src/AdaptableState/StyledColumnState.d.ts +2 -2
- package/src/Api/AlertApi.d.ts +5 -11
- package/src/Api/ColumnApi.d.ts +17 -1
- package/src/Api/ColumnFilterApi.d.ts +32 -2
- package/src/Api/CustomSortApi.d.ts +5 -10
- package/src/Api/FlashingCellApi.d.ts +10 -6
- package/src/Api/FormatColumnApi.d.ts +8 -18
- package/src/Api/Implementation/AlertApiImpl.d.ts +6 -9
- package/src/Api/Implementation/AlertApiImpl.js +7 -6
- package/src/Api/Implementation/ApiBase.d.ts +2 -12
- package/src/Api/Implementation/ApiBase.js +5 -5
- package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -2
- package/src/Api/Implementation/ColumnApiImpl.js +59 -23
- package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +7 -1
- package/src/Api/Implementation/ColumnFilterApiImpl.js +76 -3
- package/src/Api/Implementation/ColumnScopeApiImpl.js +10 -2
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +5 -10
- package/src/Api/Implementation/CustomSortApiImpl.js +6 -4
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +7 -6
- package/src/Api/Implementation/FlashingCellApiImpl.js +11 -8
- package/src/Api/Implementation/FormatColumnApiImpl.d.ts +8 -18
- package/src/Api/Implementation/FormatColumnApiImpl.js +10 -9
- package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -2
- package/src/Api/Implementation/LayoutApiImpl.js +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 +4 -0
- package/src/Api/Internal/DashboardInternalApi.js +1 -1
- package/src/Api/Internal/EntitlementInternalApi.d.ts +1 -0
- package/src/Api/Internal/EntitlementInternalApi.js +8 -0
- package/src/Api/Internal/ExportInternalApi.js +1 -1
- package/src/Api/Internal/FlashingCellInternalApi.js +1 -1
- package/src/Api/Internal/FormatColumnInternalApi.d.ts +8 -11
- package/src/Api/Internal/FormatColumnInternalApi.js +13 -13
- package/src/Api/Internal/GridInternalApi.d.ts +7 -10
- package/src/Api/Internal/GridInternalApi.js +76 -27
- package/src/Api/Internal/LayoutInternalApi.d.ts +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 +2 -2
- package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
- package/src/Strategy/FreeTextColumnModule.js +2 -2
- package/src/Strategy/GridInfoModule.js +2 -2
- package/src/Strategy/Interface/IModule.d.ts +7 -3
- package/src/Strategy/LayoutModule.js +11 -11
- package/src/Strategy/NoteModule.d.ts +1 -1
- package/src/Strategy/NoteModule.js +3 -3
- package/src/Strategy/PlusMinusModule.d.ts +3 -4
- package/src/Strategy/PlusMinusModule.js +2 -2
- package/src/Strategy/QuickSearchModule.d.ts +2 -0
- package/src/Strategy/QuickSearchModule.js +9 -0
- package/src/Strategy/ScheduleModule.d.ts +3 -4
- package/src/Strategy/ScheduleModule.js +2 -2
- package/src/Strategy/SettingsPanelModule.js +1 -1
- package/src/Strategy/ShortcutModule.d.ts +3 -4
- package/src/Strategy/ShortcutModule.js +2 -2
- package/src/Strategy/StatusBarModule.d.ts +3 -2
- package/src/Strategy/StatusBarModule.js +6 -3
- package/src/Strategy/StyledColumnModule.d.ts +3 -4
- package/src/Strategy/StyledColumnModule.js +2 -2
- package/src/Strategy/SystemStatusModule.js +2 -2
- package/src/Strategy/TeamSharingModule.d.ts +1 -1
- package/src/Strategy/TeamSharingModule.js +5 -2
- package/src/Strategy/ToolPanelModule.d.ts +1 -1
- package/src/Strategy/ToolPanelModule.js +1 -4
- package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
- package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
- package/src/Utilities/Constants/DocumentationLinkConstants.js +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 -3
- 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/View/AdaptableView.js +3 -1
- package/src/View/ColumnInfo/ColumnInfo.js +9 -3
- package/src/View/Components/AdaptableIconSelector/index.js +2 -3
- package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +0 -1
- package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +2 -3
- package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.d.ts +0 -2
- package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +4 -7
- package/src/View/Components/ColumnFilter/ColumnFilter.js +11 -4
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
- package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -2
- package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +2 -2
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +2 -2
- package/src/View/Components/ColumnFilter/utils.d.ts +2 -2
- package/src/View/Components/ColumnFilter/utils.js +6 -1
- package/src/View/Components/EntityRulesEditor/index.js +1 -2
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +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 +58 -21
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +11 -11
- package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +1 -1
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +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 +251 -216
- 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 +2 -2
- package/src/agGrid/AgGridColumnAdapter.js +81 -36
- 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 +70 -19
- 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 +7 -8
- 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
|
@@ -10,7 +10,7 @@ class SystemStatusModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
10
10
|
super(ModuleConstants.SystemStatusModuleId, ModuleConstants.SystemStatusFriendlyName, 'traffic-lights', 'SystemStatusPopup', 'Provide messages about the Status of your application', api);
|
|
11
11
|
}
|
|
12
12
|
createColumnMenuItems(column) {
|
|
13
|
-
if (this.
|
|
13
|
+
if (this.isModuleVisible()) {
|
|
14
14
|
return [
|
|
15
15
|
this.createMenuItemShowPopup('system-status-show', 'Show System Status', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
|
|
16
16
|
source: 'ColumnMenu',
|
|
@@ -19,7 +19,7 @@ class SystemStatusModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
createContextMenuItems(menuContext) {
|
|
22
|
-
if (this.
|
|
22
|
+
if (this.isModuleVisible()) {
|
|
23
23
|
let popUpParams = {
|
|
24
24
|
source: 'ContextMenu',
|
|
25
25
|
};
|
|
@@ -6,7 +6,7 @@ export declare class TeamSharingModule extends AdaptableModuleBase implements IM
|
|
|
6
6
|
private SKIP_TEAMSHARING_UPDATE_ACTIONS;
|
|
7
7
|
constructor(api: AdaptableApi);
|
|
8
8
|
onAdaptableReady(): void;
|
|
9
|
-
|
|
9
|
+
isModuleEnabled(): boolean;
|
|
10
10
|
isModuleObjectsShareable(): boolean;
|
|
11
11
|
getPopupMaxWidth(): number | undefined;
|
|
12
12
|
private handleStateChanged;
|
|
@@ -36,8 +36,11 @@ class TeamSharingModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
36
36
|
}
|
|
37
37
|
this.api.eventApi.on('AdaptableStateChanged', (adaptableStateChangedInfo) => this.handleStateChanged(adaptableStateChangedInfo));
|
|
38
38
|
}
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
isModuleEnabled() {
|
|
40
|
+
const teamSharingOptions = this.api.optionsApi.getTeamSharingOptions();
|
|
41
|
+
return (teamSharingOptions?.enableTeamSharing &&
|
|
42
|
+
typeof teamSharingOptions?.loadSharedEntities === 'function' &&
|
|
43
|
+
typeof teamSharingOptions?.persistSharedEntities === 'function');
|
|
41
44
|
}
|
|
42
45
|
isModuleObjectsShareable() {
|
|
43
46
|
return false;
|
|
@@ -3,5 +3,5 @@ import { IModule } from './Interface/IModule';
|
|
|
3
3
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
4
4
|
export declare class ToolPanelModule extends AdaptableModuleBase implements IModule {
|
|
5
5
|
constructor(api: AdaptableApi);
|
|
6
|
-
|
|
6
|
+
isModuleEnabled(): boolean;
|
|
7
7
|
}
|
|
@@ -8,10 +8,7 @@ class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
8
8
|
constructor(api) {
|
|
9
9
|
super(ModuleConstants.ToolPanelModuleId, ModuleConstants.ToolPanelFriendlyName, 'clipboard', 'ToolPanelPopup', 'An alternative to using the Dashboard is the AdapTable Tool Panel, the Tool Panel is the collapsible area to the right of the Grid.', api);
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
if (!super.isModuleAvailable()) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
11
|
+
isModuleEnabled() {
|
|
15
12
|
return this.api.internalApi.getAdaptableInstance().hasAdaptableToolPanel;
|
|
16
13
|
}
|
|
17
14
|
}
|
|
@@ -10,7 +10,7 @@ const getFilterPreview = (columnFilter, api) => {
|
|
|
10
10
|
const columnType = api.columnApi.getColumnDataTypeForColumnId(columnFilter.ColumnId);
|
|
11
11
|
const qlDataType = (0, adaptableQlUtils_1.mapColumnDataTypeToExpressionFunctionType)(columnType);
|
|
12
12
|
const qlPredicateDefs = predicateDefs.map((pd) => (0, utils_1.mapAdaptablePredicateDefToQlPredicateDef)(pd, qlDataType));
|
|
13
|
-
const qlPredicate = (0, utils_1.mapColumnFilterToQlPredicate)(columnFilter, column, qlPredicateDefs, columnFilterOptions, api);
|
|
13
|
+
const qlPredicate = (0, utils_1.mapColumnFilterToQlPredicate)(columnFilter, column, qlPredicateDefs, columnFilterOptions, 'FilterForm', api);
|
|
14
14
|
return `[${(0, utils_1.qlPredicateToString)(qlPredicate, qlPredicateDefs)}]`;
|
|
15
15
|
};
|
|
16
16
|
exports.getFilterPreview = getFilterPreview;
|
|
@@ -14,3 +14,4 @@ export declare const AdaptableOptionsDocsLink = "https://docs.adaptabletools.com
|
|
|
14
14
|
export declare const AgGridModulesDocsLink = "https://docs.adaptabletools.com/guide/dev-guide-aggrid-modules-overview";
|
|
15
15
|
export declare const AlertMessageDocsLink = "https://docs.adaptabletools.com/guide/handbook-alerting-message";
|
|
16
16
|
export declare const FormatColumnPlaceholderDocsLink = "https://docs.adaptabletools.com/guide/handbook-column-formatting-display-format-placeholder";
|
|
17
|
+
export declare const AgGridRequiredModulesDocsLink = "https://docs.adaptabletools.com/guide/dev-guide-aggrid-modules-overview#mandatory-modules";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FormatColumnPlaceholderDocsLink = exports.AlertMessageDocsLink = exports.AgGridModulesDocsLink = exports.AdaptableOptionsDocsLink = exports.LicenseDocsLink = exports.PrimaryKeyDocsLink = exports.PredicateDocsLink = exports.QuantileAggregatedScalarQueryDocsLink = exports.CumulativeAggregatedScalarQueryDocsLink = exports.AggregatedScalarQueryDocsLink = exports.AggregatedBooleanQueryDocsLink = exports.ObservableQueryDocsLink = exports.ScalarQueryDocsLink = exports.BooleanQueryDocsLink = exports.ExpressionEditorDocsLink = exports.HOST_URL_DOCS = void 0;
|
|
3
|
+
exports.AgGridRequiredModulesDocsLink = exports.FormatColumnPlaceholderDocsLink = exports.AlertMessageDocsLink = exports.AgGridModulesDocsLink = exports.AdaptableOptionsDocsLink = exports.LicenseDocsLink = exports.PrimaryKeyDocsLink = exports.PredicateDocsLink = exports.QuantileAggregatedScalarQueryDocsLink = exports.CumulativeAggregatedScalarQueryDocsLink = exports.AggregatedScalarQueryDocsLink = exports.AggregatedBooleanQueryDocsLink = exports.ObservableQueryDocsLink = exports.ScalarQueryDocsLink = exports.BooleanQueryDocsLink = exports.ExpressionEditorDocsLink = exports.HOST_URL_DOCS = void 0;
|
|
4
4
|
exports.HOST_URL_DOCS = 'https://docs.adaptabletools.com';
|
|
5
5
|
//export const HOST_URL_DOCS = 'http://localhost:3000';
|
|
6
6
|
exports.ExpressionEditorDocsLink = `${exports.HOST_URL_DOCS}/guide/ui-expression-editor`;
|
|
@@ -18,3 +18,4 @@ exports.AdaptableOptionsDocsLink = `${exports.HOST_URL_DOCS}/guide/reference-opt
|
|
|
18
18
|
exports.AgGridModulesDocsLink = `${exports.HOST_URL_DOCS}/guide/dev-guide-aggrid-modules-overview`;
|
|
19
19
|
exports.AlertMessageDocsLink = `${exports.HOST_URL_DOCS}/guide/handbook-alerting-message`;
|
|
20
20
|
exports.FormatColumnPlaceholderDocsLink = `${exports.HOST_URL_DOCS}/guide/handbook-column-formatting-display-format-placeholder`;
|
|
21
|
+
exports.AgGridRequiredModulesDocsLink = `${exports.HOST_URL_DOCS}/guide/dev-guide-aggrid-modules-overview#mandatory-modules`;
|
|
@@ -25,11 +25,23 @@ export declare function moveArray(array: any[], from: number, to: number): void;
|
|
|
25
25
|
export declare function areArraysEqual(arr1: any[], arr2: any[]): boolean;
|
|
26
26
|
export declare function areArraysNotEqual(arr1: any[], arr2: any[]): boolean;
|
|
27
27
|
export declare function areArraysEqualWithOrder(arr1: any[], arr2: any[]): boolean;
|
|
28
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Checks if two arrays contain the same elements (order-independent).
|
|
30
|
+
*
|
|
31
|
+
* @param arr1 First array to compare
|
|
32
|
+
* @param arr2 Second array to compare
|
|
33
|
+
* @param equalityFn Optional function to determine if two elements are equal
|
|
34
|
+
* @returns True if arrays contain the same elements, false otherwise
|
|
35
|
+
*/
|
|
36
|
+
export declare function areArraysEqualWithCustomComparator<T>(arr1: T[] | null | undefined, arr2: T[] | null | undefined, equalityFn?: (a: T, b: T) => boolean): boolean;
|
|
37
|
+
export declare function areArraysEqualWithOrderAndProperties(value: any[], other: any[]): boolean;
|
|
29
38
|
export declare function sortArrayWithProperty(sortOrder: SortOrder, values: any[], sortProperty?: string): any[];
|
|
30
39
|
export declare function sortArray(values: any[], sortOrder?: SortOrder): any[];
|
|
40
|
+
export declare const getGenericComparatorForGridCell: (sortOrder: SortOrder) => (a: GridCell, b: GridCell) => number;
|
|
31
41
|
export declare function sortCellValueArray<T extends GridCell>(cellValues: T[], sortOrder?: SortOrder): T[];
|
|
42
|
+
export declare const getNumericComparatorForGridCell: (sortOrder: SortOrder) => (a: GridCell, b: GridCell) => number;
|
|
32
43
|
export declare function sortCellValueArrayNumeric<T extends GridCell>(cellValues: T[], sortOrder?: SortOrder): T[];
|
|
44
|
+
export declare const getDateComparatorForGridCell: (sortOrder: SortOrder) => (a: GridCell, b: GridCell) => number;
|
|
33
45
|
export declare function sortCellValueArrayDates<T extends GridCell>(cellValues: T[], sortOrder?: SortOrder): T[];
|
|
34
46
|
export declare function groupArrayBy(array: Array<any>, prop: string): Array<any>;
|
|
35
47
|
export declare function createCommaSeparatedString(values: any[]): string;
|
|
@@ -72,7 +84,8 @@ export declare const ArrayExtensions: {
|
|
|
72
84
|
areArraysEqual: typeof areArraysEqual;
|
|
73
85
|
areArraysNotEqual: typeof areArraysNotEqual;
|
|
74
86
|
areArraysEqualWithOrder: typeof areArraysEqualWithOrder;
|
|
75
|
-
|
|
87
|
+
areArraysEqualWithOrderAndProperties: typeof areArraysEqualWithOrderAndProperties;
|
|
88
|
+
areArraysEqualWithCustomComparator: typeof areArraysEqualWithCustomComparator;
|
|
76
89
|
sortArray: typeof sortArray;
|
|
77
90
|
sortCellValueArray: typeof sortCellValueArray;
|
|
78
91
|
sortCellValueArrayNumeric: typeof sortCellValueArrayNumeric;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArrayExtensions = exports.sortArrayWithOrder = exports.reorderArray = exports.SumArray = exports.createCommaSeparatedString = exports.groupArrayBy = exports.sortCellValueArrayDates = exports.sortCellValueArrayNumeric = exports.sortCellValueArray = exports.sortArray = exports.sortArrayWithProperty = exports.
|
|
3
|
+
exports.ArrayExtensions = exports.sortArrayWithOrder = exports.reorderArray = exports.SumArray = exports.createCommaSeparatedString = exports.groupArrayBy = exports.sortCellValueArrayDates = exports.getDateComparatorForGridCell = exports.sortCellValueArrayNumeric = exports.getNumericComparatorForGridCell = exports.sortCellValueArray = exports.getGenericComparatorForGridCell = exports.sortArray = exports.sortArrayWithProperty = exports.areArraysEqualWithOrderAndProperties = exports.areArraysEqualWithCustomComparator = exports.areArraysEqualWithOrder = exports.areArraysNotEqual = exports.areArraysEqual = exports.moveArray = exports.hasItemsOfCount = exports.hasOneItem = exports.getOccurrence = exports.HasSingleEmptyValue = exports.IsNotNullOrEmptyNorContainsSingleEmptyValue = exports.IsNullOrEmptyOrContainsSingleEmptyValue = exports.IsNotNullOrEmpty = exports.IsNullOrEmpty = exports.IsNotEmpty = exports.IsEmpty = exports.IsNotNull = exports.IsNull = exports.RetrieveDistinct = exports.NotContainsItem = exports.ContainsAnyItem = exports.ContainsItem = exports.AddItem = exports.NotCorrectLength = exports.CorrectLength = exports.GetLength = void 0;
|
|
4
4
|
const Enums_1 = require("../../AdaptableState/Common/Enums");
|
|
5
5
|
function GetLength(arrayToCheck) {
|
|
6
6
|
return IsNotNull(arrayToCheck) ? arrayToCheck.length : 0;
|
|
@@ -141,7 +141,43 @@ function areArraysEqualWithOrder(arr1, arr2) {
|
|
|
141
141
|
return arr1.every((x, index) => arr2.indexOf(x) == index);
|
|
142
142
|
}
|
|
143
143
|
exports.areArraysEqualWithOrder = areArraysEqualWithOrder;
|
|
144
|
-
|
|
144
|
+
/**
|
|
145
|
+
* Checks if two arrays contain the same elements (order-independent).
|
|
146
|
+
*
|
|
147
|
+
* @param arr1 First array to compare
|
|
148
|
+
* @param arr2 Second array to compare
|
|
149
|
+
* @param equalityFn Optional function to determine if two elements are equal
|
|
150
|
+
* @returns True if arrays contain the same elements, false otherwise
|
|
151
|
+
*/
|
|
152
|
+
function areArraysEqualWithCustomComparator(arr1, arr2, equalityFn) {
|
|
153
|
+
// Handle null/undefined cases
|
|
154
|
+
if (!arr1 && !arr2) {
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
if (!arr1 || !arr2) {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
// Check length
|
|
161
|
+
if (arr1.length !== arr2.length) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
// Use default equality comparison if no custom function provided
|
|
165
|
+
const compareElements = equalityFn || ((a, b) => a === b);
|
|
166
|
+
// For each element in arr1, find a matching element in arr2
|
|
167
|
+
const arr2Copy = [...arr2];
|
|
168
|
+
for (let i = 0; i < arr1.length; i++) {
|
|
169
|
+
const element = arr1[i];
|
|
170
|
+
const matchIndex = arr2Copy.findIndex((el) => compareElements(element, el));
|
|
171
|
+
if (matchIndex === -1) {
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
// Remove the matched element to prevent duplicate matches
|
|
175
|
+
arr2Copy.splice(matchIndex, 1);
|
|
176
|
+
}
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
exports.areArraysEqualWithCustomComparator = areArraysEqualWithCustomComparator;
|
|
180
|
+
function areArraysEqualWithOrderAndProperties(value, other) {
|
|
145
181
|
const type = Object.prototype.toString.call(value);
|
|
146
182
|
// If the two objects are not the same type, return false
|
|
147
183
|
if (type !== Object.prototype.toString.call(other)) {
|
|
@@ -163,7 +199,7 @@ function areArraysEqualWithOrderandProperties(value, other) {
|
|
|
163
199
|
const itemType = Object.prototype.toString.call(item1);
|
|
164
200
|
// If an object or array, compare recursively
|
|
165
201
|
if (['[object Array]', '[object Object]'].indexOf(itemType) >= 0) {
|
|
166
|
-
if (!
|
|
202
|
+
if (!areArraysEqualWithOrderAndProperties(item1, item2)) {
|
|
167
203
|
return false;
|
|
168
204
|
}
|
|
169
205
|
}
|
|
@@ -207,7 +243,7 @@ function areArraysEqualWithOrderandProperties(value, other) {
|
|
|
207
243
|
// If nothing failed, return true
|
|
208
244
|
return true;
|
|
209
245
|
}
|
|
210
|
-
exports.
|
|
246
|
+
exports.areArraysEqualWithOrderAndProperties = areArraysEqualWithOrderAndProperties;
|
|
211
247
|
function sortArrayWithProperty(sortOrder, values, sortProperty) {
|
|
212
248
|
if (sortProperty) {
|
|
213
249
|
let newValues = [].concat(values);
|
|
@@ -241,16 +277,22 @@ function sortArray(values, sortOrder = Enums_1.SortOrder.Asc) {
|
|
|
241
277
|
return newValues.sort((a, b) => (a < b ? -1 * direction : a > b ? 1 * direction : 0));
|
|
242
278
|
}
|
|
243
279
|
exports.sortArray = sortArray;
|
|
280
|
+
const getGenericComparatorForGridCell = (sortOrder) => {
|
|
281
|
+
const direction = sortOrder == Enums_1.SortOrder.Asc ? 1 : -1;
|
|
282
|
+
return (a, b) => {
|
|
283
|
+
return a.rawValue < b.rawValue ? -1 * direction : a.rawValue > b.rawValue ? 1 * direction : 0;
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
exports.getGenericComparatorForGridCell = getGenericComparatorForGridCell;
|
|
244
287
|
function sortCellValueArray(cellValues, sortOrder = Enums_1.SortOrder.Asc) {
|
|
245
288
|
const newValues = [].concat(cellValues);
|
|
246
|
-
const
|
|
247
|
-
return newValues.sort(
|
|
289
|
+
const comparator = (0, exports.getGenericComparatorForGridCell)(sortOrder);
|
|
290
|
+
return newValues.sort(comparator);
|
|
248
291
|
}
|
|
249
292
|
exports.sortCellValueArray = sortCellValueArray;
|
|
250
|
-
|
|
293
|
+
const getNumericComparatorForGridCell = (sortOrder) => {
|
|
251
294
|
const direction = sortOrder == Enums_1.SortOrder.Asc ? 1 : -1;
|
|
252
|
-
|
|
253
|
-
return newValues.sort((a, b) => {
|
|
295
|
+
return (a, b) => {
|
|
254
296
|
const valueAAsNumber = Number(a.rawValue);
|
|
255
297
|
const valueBAsNumber = Number(b.rawValue);
|
|
256
298
|
if (isNaN(valueAAsNumber)) {
|
|
@@ -264,16 +306,26 @@ function sortCellValueArrayNumeric(cellValues, sortOrder = Enums_1.SortOrder.Asc
|
|
|
264
306
|
: valueAAsNumber > valueBAsNumber
|
|
265
307
|
? 1 * direction
|
|
266
308
|
: 0;
|
|
267
|
-
}
|
|
309
|
+
};
|
|
310
|
+
};
|
|
311
|
+
exports.getNumericComparatorForGridCell = getNumericComparatorForGridCell;
|
|
312
|
+
function sortCellValueArrayNumeric(cellValues, sortOrder = Enums_1.SortOrder.Asc) {
|
|
313
|
+
const newValues = [].concat(cellValues);
|
|
314
|
+
const comparator = (0, exports.getNumericComparatorForGridCell)(sortOrder);
|
|
315
|
+
return newValues.sort(comparator);
|
|
268
316
|
}
|
|
269
317
|
exports.sortCellValueArrayNumeric = sortCellValueArrayNumeric;
|
|
270
|
-
|
|
271
|
-
|
|
318
|
+
const getDateComparatorForGridCell = (sortOrder) => {
|
|
319
|
+
return (a, b) => {
|
|
272
320
|
return sortOrder == Enums_1.SortOrder.Asc
|
|
273
321
|
? +new Date(a.rawValue) - +new Date(b.rawValue)
|
|
274
322
|
: +new Date(b.rawValue) - +new Date(a.rawValue);
|
|
275
|
-
}
|
|
276
|
-
|
|
323
|
+
};
|
|
324
|
+
};
|
|
325
|
+
exports.getDateComparatorForGridCell = getDateComparatorForGridCell;
|
|
326
|
+
function sortCellValueArrayDates(cellValues, sortOrder = Enums_1.SortOrder.Asc) {
|
|
327
|
+
const comparator = (0, exports.getDateComparatorForGridCell)(sortOrder);
|
|
328
|
+
return [].concat(cellValues).sort(comparator);
|
|
277
329
|
}
|
|
278
330
|
exports.sortCellValueArrayDates = sortCellValueArrayDates;
|
|
279
331
|
function groupArrayBy(array, prop) {
|
|
@@ -384,7 +436,8 @@ exports.ArrayExtensions = {
|
|
|
384
436
|
areArraysEqual,
|
|
385
437
|
areArraysNotEqual,
|
|
386
438
|
areArraysEqualWithOrder,
|
|
387
|
-
|
|
439
|
+
areArraysEqualWithOrderAndProperties,
|
|
440
|
+
areArraysEqualWithCustomComparator,
|
|
388
441
|
sortArray,
|
|
389
442
|
sortCellValueArray,
|
|
390
443
|
sortCellValueArrayNumeric,
|
|
@@ -256,7 +256,7 @@ function CreateEmptyFormatColumn() {
|
|
|
256
256
|
DisplayFormat: undefined,
|
|
257
257
|
CellAlignment: undefined,
|
|
258
258
|
RowScope: undefined,
|
|
259
|
-
Target: 'cell'
|
|
259
|
+
Target: 'cell',
|
|
260
260
|
};
|
|
261
261
|
}
|
|
262
262
|
exports.CreateEmptyFormatColumn = CreateEmptyFormatColumn;
|
|
@@ -283,7 +283,7 @@ function CreateEmptyPivotLayout(layout) {
|
|
|
283
283
|
PivotColumns: layout.PivotColumns || [],
|
|
284
284
|
PivotAggregationColumns: layout.PivotAggregationColumns || [],
|
|
285
285
|
PivotGroupedColumns: layout.PivotGroupedColumns || [],
|
|
286
|
-
|
|
286
|
+
ColumnSizing: layout.ColumnSizing || {},
|
|
287
287
|
};
|
|
288
288
|
return result;
|
|
289
289
|
}
|
|
@@ -299,7 +299,7 @@ function CreateEmptyLayout(layout, adaptableColumns) {
|
|
|
299
299
|
TableColumns: tableLayout.TableColumns || [],
|
|
300
300
|
ColumnSorts: tableLayout.ColumnSorts || [],
|
|
301
301
|
ColumnFilters: tableLayout.ColumnFilters || [],
|
|
302
|
-
|
|
302
|
+
ColumnSizing: tableLayout.ColumnSizing || {},
|
|
303
303
|
RowGroupedColumns: tableLayout.RowGroupedColumns ||
|
|
304
304
|
(adaptableColumns ? adaptableColumns.filter((c) => c.isGrouped).map((c) => c.columnId) : []),
|
|
305
305
|
};
|
|
@@ -45,7 +45,7 @@ class AnnotationsService {
|
|
|
45
45
|
shouldListenToEvents() {
|
|
46
46
|
// Listen to events if we either have Notes in state or if Comments have been set up
|
|
47
47
|
return (ArrayExtensions_1.default.IsNotNullOrEmpty(this.api.noteApi.getAllNotes()) ||
|
|
48
|
-
this.api.internalApi.getModuleService().
|
|
48
|
+
this.api.internalApi.getModuleService().isAdapTableModulePresent('Comment'));
|
|
49
49
|
}
|
|
50
50
|
setUpEventListeners() {
|
|
51
51
|
this.adaptable._on('MouseEnter', (event) => this.handleMouseEnter(event));
|
|
@@ -4,7 +4,8 @@ import { AdaptableObject } from '../../../AdaptableState/Common/AdaptableObject'
|
|
|
4
4
|
import { IAdaptableService } from './IAdaptableService';
|
|
5
5
|
import { AdaptableModule } from '../../../AdaptableState/Common/Types';
|
|
6
6
|
export interface IModuleService extends IAdaptableService {
|
|
7
|
-
|
|
7
|
+
logMissingAgGridDepsInfos(): void;
|
|
8
|
+
isAdapTableModulePresent(adaptableModule: AdaptableModule): boolean;
|
|
8
9
|
isModuleEditable(adaptableModule: AdaptableModule): boolean;
|
|
9
10
|
createModuleUIItems(): void;
|
|
10
11
|
getTeamSharingAction(adaptableModule: AdaptableModule): TeamSharingImportInfo<AdaptableObject> | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AdaptableModule } from '../../types';
|
|
2
|
-
import { IModule,
|
|
2
|
+
import { IModule, IModuleCollection, ModuleInfo } from '../../Strategy/Interface/IModule';
|
|
3
3
|
import { TeamSharingImportInfo } from '../../AdaptableState/TeamSharingState';
|
|
4
4
|
import { AdaptableObject } from '../../AdaptableState/Common/AdaptableObject';
|
|
5
5
|
import { IModuleService } from './Interface/IModuleService';
|
|
@@ -7,9 +7,9 @@ import { AdaptableApi } from '../../../types';
|
|
|
7
7
|
export declare class ModuleService implements IModuleService {
|
|
8
8
|
private adaptableApi;
|
|
9
9
|
constructor(adaptableApi: AdaptableApi);
|
|
10
|
-
|
|
11
|
-
isModuleName(adaptableModule: string): adaptableModule is AdaptableModule;
|
|
10
|
+
isAdapTableModulePresent(adaptableModule: AdaptableModule): boolean;
|
|
12
11
|
isModuleEditable(adaptableModule: AdaptableModule): boolean;
|
|
12
|
+
logMissingAgGridDepsInfos(): void;
|
|
13
13
|
getModuleFriendlyName(adaptableModule: AdaptableModule): string;
|
|
14
14
|
createModuleUIItems(): void;
|
|
15
15
|
private createSettingsPanelItems;
|
|
@@ -4,21 +4,17 @@ exports.ModuleService = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const Helper_1 = tslib_1.__importDefault(require("../Helpers/Helper"));
|
|
6
6
|
const DocumentationLinkConstants_1 = require("../Constants/DocumentationLinkConstants");
|
|
7
|
-
const Types_1 = require("../../AdaptableState/Common/Types");
|
|
8
7
|
class ModuleService {
|
|
9
8
|
constructor(adaptableApi) {
|
|
10
9
|
this.adaptableApi = adaptableApi;
|
|
11
10
|
this.adaptableApi = adaptableApi;
|
|
12
11
|
}
|
|
13
|
-
|
|
12
|
+
isAdapTableModulePresent(adaptableModule) {
|
|
14
13
|
let module = this.getModuleCollection().get(adaptableModule);
|
|
15
14
|
if (!module) {
|
|
16
15
|
return false;
|
|
17
16
|
}
|
|
18
|
-
return module.
|
|
19
|
-
}
|
|
20
|
-
isModuleName(adaptableModule) {
|
|
21
|
-
return Types_1.ALL_MODULES.includes(adaptableModule);
|
|
17
|
+
return module.isModuleVisible();
|
|
22
18
|
}
|
|
23
19
|
isModuleEditable(adaptableModule) {
|
|
24
20
|
let module = this.getModuleCollection().get(adaptableModule);
|
|
@@ -27,6 +23,22 @@ class ModuleService {
|
|
|
27
23
|
}
|
|
28
24
|
return module.isModuleEditable();
|
|
29
25
|
}
|
|
26
|
+
logMissingAgGridDepsInfos() {
|
|
27
|
+
// log missing core (required) AG Grid dependencies
|
|
28
|
+
const agGridModulesAdapter = this.adaptableApi.internalApi.getAgGridModulesAdapter();
|
|
29
|
+
const mandatoryAgGridModuleNames = agGridModulesAdapter.getMandatoryAgGridModuleNames();
|
|
30
|
+
const registeredAgGridModuleNames = agGridModulesAdapter.getAgGridRegisteredModuleNames();
|
|
31
|
+
const missingAgGridModuleNames = mandatoryAgGridModuleNames.filter((moduleName) => !registeredAgGridModuleNames.includes(moduleName));
|
|
32
|
+
if (missingAgGridModuleNames.length) {
|
|
33
|
+
this.adaptableApi.consoleError(`AdapTable requires the following AG Grid modules to be registered: ${missingAgGridModuleNames.join(', ')}.
|
|
34
|
+
|
|
35
|
+
See for more information: ${DocumentationLinkConstants_1.AgGridRequiredModulesDocsLink}`);
|
|
36
|
+
}
|
|
37
|
+
// log optional missing AG Grid dependencies for all modules
|
|
38
|
+
this.getModuleCollection().forEach((adaptableModule) => {
|
|
39
|
+
adaptableModule.logMissingAgGridDepsInfos();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
30
42
|
getModuleFriendlyName(adaptableModule) {
|
|
31
43
|
return this.getModuleInfoByModule(adaptableModule)?.FriendlyName ?? adaptableModule;
|
|
32
44
|
}
|
|
@@ -24,7 +24,9 @@ class AdaptableView extends React.Component {
|
|
|
24
24
|
return (React.createElement("div", null,
|
|
25
25
|
React.createElement(GridCellPopup_1.GridCellPopup, null),
|
|
26
26
|
React.createElement(FloatingQuickSearch_1.QuickSearchDrawer, null),
|
|
27
|
-
this.props.AdaptableApi.internalApi
|
|
27
|
+
this.props.AdaptableApi.internalApi
|
|
28
|
+
.getModuleService()
|
|
29
|
+
.isAdapTableModulePresent('Dashboard') && React.createElement(Dashboard_1.Dashboard, { api: this.props.AdaptableApi }),
|
|
28
30
|
this.props.PopupState.PromptPopup.ShowPromptPopup && (React.createElement(AdaptablePopupPrompt_1.AdaptablePopupPrompt, { message: this.props.PopupState.PromptPopup.Message, header: this.props.PopupState.PromptPopup.Header, onClose: this.props.onClosePromptPopup, onConfirm: this.props.onConfirmPromptPopup, onConfirmActionCreator: this.props.PopupState.PromptPopup.ConfirmActionCreator, defaultValue: this.props.PopupState.PromptPopup.DefaultValue })),
|
|
29
31
|
Boolean(this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup) && (React.createElement(AdaptablePopupConfirmation_1.AdaptablePopupConfirmation, { header: this.props.PopupState.ConfirmationPopup.Header, messsage: this.props.PopupState.ConfirmationPopup.Msg, showPopup: this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup, cancelButtonText: this.props.PopupState.ConfirmationPopup.CancelButtonText, confirmButtonText: this.props.PopupState.ConfirmationPopup.ConfirmButtonText, onCancel: this.props.onCancelConfirmationPopup, onConfirm: this.props.onConfirmConfirmationPopup, showInputBox: this.props.PopupState.ConfirmationPopup.ShowInputBox, messageType: this.props.PopupState.ConfirmationPopup.MessageType, api: this.props.AdaptableApi })),
|
|
30
32
|
Boolean(this.props.PopupState.ScreenPopup.ShowScreenPopup) && (React.createElement(AdaptablePopup_1.AdaptablePopup, { componentName: this.props.PopupState.ScreenPopup.ComponentName, componentModule: this.props.PopupState.ScreenPopup.ComponentModule, onHide: this.props.onCloseScreenPopup, api: this.props.AdaptableApi, onClearParams: () => this.props.onClearPopupParams(), moduleParams: this.props.PopupState.ScreenPopup.Params, moduleProps: this.props.PopupState.ScreenPopup.PopupProps })),
|
|
@@ -44,6 +44,8 @@ const MODULES_WITH_SCOPE = [
|
|
|
44
44
|
const ColumnDefPreview = (props) => {
|
|
45
45
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
46
46
|
if (props.column) {
|
|
47
|
+
const api = adaptable.api;
|
|
48
|
+
const summary = api.columnApi.getColumnSummaryForColumnId(props.column.columnId);
|
|
47
49
|
const keyValuePairs = [
|
|
48
50
|
{
|
|
49
51
|
Key: 'Column Id',
|
|
@@ -116,7 +118,7 @@ const ColumnDefPreview = (props) => {
|
|
|
116
118
|
{
|
|
117
119
|
Key: 'Column Filter',
|
|
118
120
|
Value: props.column.filterable
|
|
119
|
-
?
|
|
121
|
+
? api.filterApi.columnFilterApi.columnFilterToString(summary.columnFilter)
|
|
120
122
|
: 'Ignore',
|
|
121
123
|
},
|
|
122
124
|
{
|
|
@@ -147,6 +149,10 @@ const ColumnDefPreview = (props) => {
|
|
|
147
149
|
Key: 'Sortable',
|
|
148
150
|
Value: props.column.sortable ? 'Yes' : 'No',
|
|
149
151
|
},
|
|
152
|
+
{
|
|
153
|
+
Key: 'No. Distinct Values',
|
|
154
|
+
Value: summary.uniqueGridCells.length,
|
|
155
|
+
},
|
|
150
156
|
]
|
|
151
157
|
.map((keyValuePair) => {
|
|
152
158
|
return {
|
|
@@ -166,7 +172,7 @@ const ColumnDefPreview = (props) => {
|
|
|
166
172
|
const ModuleView = (props) => {
|
|
167
173
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
168
174
|
const module = adaptable.ModuleService.getModuleById(props.moduleName);
|
|
169
|
-
if (!module
|
|
175
|
+
if (!module?.isModuleVisible()) {
|
|
170
176
|
return null;
|
|
171
177
|
}
|
|
172
178
|
const moduleInfo = module.moduleInfo;
|
|
@@ -217,7 +223,7 @@ const ColumnInfo = (props) => {
|
|
|
217
223
|
React.createElement(rebass_1.Box, { mb: 3 },
|
|
218
224
|
React.createElement(FormLayout_1.default, null,
|
|
219
225
|
React.createElement(FormLayout_1.FormRow, { label: "Select Column" },
|
|
220
|
-
React.createElement(ColumnSelector_1.ColumnSelector, {
|
|
226
|
+
React.createElement(ColumnSelector_1.ColumnSelector, { value: selectedColumnId, onChange: (columnId) => setSelectedColumnId(columnId) })))),
|
|
221
227
|
selectedColumnId && (React.createElement(Tabs_1.Tabs, { mb: 3 },
|
|
222
228
|
React.createElement(Tabs_1.Tabs.Tab, null, "Column Summary"),
|
|
223
229
|
React.createElement(Tabs_1.Tabs.Tab, null, "Column State"),
|
|
@@ -10,8 +10,7 @@ const AdaptableContext_1 = require("../../AdaptableContext");
|
|
|
10
10
|
*/
|
|
11
11
|
const AdaptableIconSelector = (props) => {
|
|
12
12
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
return React.createElement(IconSelector_1.IconSelector, { customIcons: customDefinedIcons, ...props });
|
|
13
|
+
const customIcons = adaptable.api.userInterfaceApi.getCustomIcons();
|
|
14
|
+
return React.createElement(IconSelector_1.IconSelector, { customIcons: customIcons, ...props });
|
|
16
15
|
};
|
|
17
16
|
exports.AdaptableIconSelector = AdaptableIconSelector;
|
|
@@ -10,10 +10,9 @@ const useAdaptableFilterWrapper_1 = require("./useAdaptableFilterWrapper");
|
|
|
10
10
|
* It transforms predicates in QlPredicates.
|
|
11
11
|
*/
|
|
12
12
|
const AdaptableColumnFilter = (props) => {
|
|
13
|
-
const { qlPredicate, qlPredicateDefs, columnFilter, handlePredicateChange } = (0, useAdaptableFilterWrapper_1.useAdaptableFilterWrapper)(props.columnId);
|
|
13
|
+
const { qlPredicate, qlPredicateDefs, columnFilter, handlePredicateChange } = (0, useAdaptableFilterWrapper_1.useAdaptableFilterWrapper)(props.columnId, 'FilterForm');
|
|
14
14
|
return (React.createElement(ColumnFilter_1.ColumnFilterComponent, { wrapperProps: props.wrapperProps, columnId: props.columnId, predicate: qlPredicate, predicateDefs: qlPredicateDefs, disabled: columnFilter?.IsSuspended, onPredicateChange: React.useCallback((predicate) => {
|
|
15
15
|
handlePredicateChange(predicate);
|
|
16
|
-
|
|
17
|
-
}, [handlePredicateChange, props.onChange]) }));
|
|
16
|
+
}, [handlePredicateChange]) }));
|
|
18
17
|
};
|
|
19
18
|
exports.AdaptableColumnFilter = AdaptableColumnFilter;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ColumnFilterProps } from '../../../Utilities/Interface/ColumnFilterProps';
|
|
3
3
|
export interface AdaptableColumnFilterProps extends ColumnFilterProps {
|
|
4
|
-
onClear?: () => void;
|
|
5
|
-
onChange?: () => void;
|
|
6
4
|
}
|
|
7
5
|
/**
|
|
8
6
|
* This wrapper knows about predicates.
|
|
@@ -12,15 +12,13 @@ const useAdaptableFilterWrapper_1 = require("./useAdaptableFilterWrapper");
|
|
|
12
12
|
*/
|
|
13
13
|
const AdaptableFloatingFilter = (props) => {
|
|
14
14
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
15
|
-
const { qlPredicate, qlPredicateDefs, columnFilter, column, handlePredicateChange, handleOnChange, handleClear, } = (0, useAdaptableFilterWrapper_1.useAdaptableFilterWrapper)(props.Column.columnId);
|
|
15
|
+
const { qlPredicate, qlPredicateDefs, columnFilter, column, handlePredicateChange, handleOnChange, handleClear, } = (0, useAdaptableFilterWrapper_1.useAdaptableFilterWrapper)(props.Column.columnId, 'FilterBar');
|
|
16
16
|
const onClear = React.useCallback(() => {
|
|
17
17
|
handleClear();
|
|
18
|
-
|
|
19
|
-
}, [handleClear, props.onClear]);
|
|
18
|
+
}, [handleClear]);
|
|
20
19
|
const onPredicateChange = React.useCallback((newPredicate) => {
|
|
21
20
|
handlePredicateChange(newPredicate);
|
|
22
|
-
|
|
23
|
-
}, [handlePredicateChange, props.onChange]);
|
|
21
|
+
}, [handlePredicateChange]);
|
|
24
22
|
if (!column) {
|
|
25
23
|
return null;
|
|
26
24
|
}
|
|
@@ -36,8 +34,7 @@ const AdaptableFloatingFilter = (props) => {
|
|
|
36
34
|
Inputs: [],
|
|
37
35
|
},
|
|
38
36
|
]);
|
|
39
|
-
props.onChange?.();
|
|
40
37
|
}
|
|
41
|
-
}, onClear: onClear, columnId: props.Column.columnId, predicate: qlPredicate, predicateDefs: qlPredicateDefs, disabled: columnFilter?.IsSuspended, onPredicateChange: onPredicateChange
|
|
38
|
+
}, onClear: onClear, columnId: props.Column.columnId, predicate: qlPredicate, predicateDefs: qlPredicateDefs, disabled: columnFilter?.IsSuspended, onPredicateChange: onPredicateChange }));
|
|
42
39
|
};
|
|
43
40
|
exports.AdaptableFloatingFilter = AdaptableFloatingFilter;
|
|
@@ -66,7 +66,7 @@ const AndOrInput = (props) => {
|
|
|
66
66
|
};
|
|
67
67
|
const ColumnFilterComponent = (props) => {
|
|
68
68
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
69
|
-
const autoApplyColumnFilter = adaptable.
|
|
69
|
+
const autoApplyColumnFilter = adaptable.api.filterApi.columnFilterApi.internalApi.shouldAutoApplyColumnFilter(props.columnId);
|
|
70
70
|
const [predicateNotYetApplied, setPredicateNotYetApplied] = React.useState(props.predicate);
|
|
71
71
|
const applyFilter = () => {
|
|
72
72
|
props.onPredicateChange(currentPredicateRef.current);
|
|
@@ -120,7 +120,7 @@ const ColumnFilterComponent = (props) => {
|
|
|
120
120
|
React.createElement(AndOrInput, { onChange: onCombineChange, operator: currentPredicate.operator }),
|
|
121
121
|
React.createElement(SimpleButton_1.default, { ml: 2, onClick: () => onPredicateChange(null) }, "Clear All")),
|
|
122
122
|
React.createElement(rebass_1.Flex, { flexDirection: "column", className: "ab-ColumnFilter", flex: 1, minHeight: 0, ...props.wrapperProps },
|
|
123
|
-
React.createElement(rebass_1.Box, {
|
|
123
|
+
React.createElement(rebass_1.Box, { style: { overflow: 'auto' } },
|
|
124
124
|
currentPredicate.args.map((predicate, index) => {
|
|
125
125
|
return (React.createElement(ColumnFilterEditor, { deleteDisabled: currentPredicate.args.length < 2, onDelete: () => {
|
|
126
126
|
const currentPredicate = currentPredicateRef.current;
|
|
@@ -145,7 +145,14 @@ const ColumnFilterComponent = (props) => {
|
|
|
145
145
|
} }));
|
|
146
146
|
}),
|
|
147
147
|
isLastPredicateValid && filterPredicateDropdown),
|
|
148
|
-
!autoApplyColumnFilter ? (React.createElement(
|
|
149
|
-
React.createElement(
|
|
148
|
+
!autoApplyColumnFilter ? (React.createElement(React.Fragment, null,
|
|
149
|
+
React.createElement(rebass_1.Box, { flex: 1, "data-name": "spacer" }),
|
|
150
|
+
React.createElement(rebass_1.Flex, { pt: 2, className: "ab-ColumnFilter-actions", justifyContent: "space-between" },
|
|
151
|
+
React.createElement(rebass_1.Box, { className: "ab-ColumnFilter-action-apply" },
|
|
152
|
+
React.createElement(SimpleButton_1.default, { tone: "accent", variant: "raised", onClick: applyFilter }, "Apply Filter")),
|
|
153
|
+
React.createElement(rebass_1.Box, { className: "ab-ColumnFilter-action-reset" },
|
|
154
|
+
React.createElement(SimpleButton_1.default, { tone: "neutral", variant: "raised", onClick: () => {
|
|
155
|
+
setPredicateNotYetApplied(props.predicate);
|
|
156
|
+
} }, "Reset Filter"))))) : null)));
|
|
150
157
|
};
|
|
151
158
|
exports.ColumnFilterComponent = ColumnFilterComponent;
|
|
@@ -33,6 +33,6 @@ const ColumnFilterWindow = (props) => {
|
|
|
33
33
|
}
|
|
34
34
|
return label;
|
|
35
35
|
}, onChange: (column) => setColumnId(column), filterColumn: (column) => column.queryable, isMulti: false, value: columnId })))),
|
|
36
|
-
React.createElement(AdaptableColumnFilter_1.AdaptableColumnFilter, { columnId: columnId
|
|
36
|
+
React.createElement(AdaptableColumnFilter_1.AdaptableColumnFilter, { columnId: columnId })));
|
|
37
37
|
};
|
|
38
38
|
exports.ColumnFilterWindow = ColumnFilterWindow;
|
|
@@ -13,13 +13,12 @@ const FloatingFilterInputList_1 = require("./components/FloatingFilterInputList"
|
|
|
13
13
|
const utils_1 = require("./utils");
|
|
14
14
|
const FloatingFilter = (props) => {
|
|
15
15
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
16
|
-
const columnFilterOptions = adaptable.adaptableOptions.filterOptions.columnFilterOptions;
|
|
17
16
|
/**
|
|
18
17
|
* We always have a syntetic predicate with AND or OR, so the logic is easyer.
|
|
19
18
|
* The wrapper is in charge of constructing the correct column filter.
|
|
20
19
|
*/
|
|
21
20
|
const isMultiple = props.predicate?.args?.length > 1;
|
|
22
|
-
const isManualApply = !
|
|
21
|
+
const isManualApply = !adaptable.api.filterApi.columnFilterApi.internalApi.shouldAutoApplyColumnFilter(props.columnId);
|
|
23
22
|
const isInlineEditable = !isMultiple && !isManualApply;
|
|
24
23
|
// only used when there is only one filter selected
|
|
25
24
|
let singleFilterPredicateDef = null;
|
|
@@ -14,7 +14,7 @@ const LayoutColumnFilter = (props) => {
|
|
|
14
14
|
const predicateDefs = api.filterApi.columnFilterApi.getFilterPredicateDefsForColumn(column);
|
|
15
15
|
const qlDataType = (0, adaptableQlUtils_1.mapColumnDataTypeToExpressionFunctionType)(column.dataType);
|
|
16
16
|
const qlPredicateDefs = predicateDefs.map((predDef) => (0, utils_1.mapAdaptablePredicateDefToQlPredicateDef)(predDef, qlDataType));
|
|
17
|
-
const qlPredicate = (0, utils_1.mapColumnFilterToQlPredicate)(props.columnFilter, column, qlPredicateDefs, columnFilterOptions, api);
|
|
17
|
+
const qlPredicate = (0, utils_1.mapColumnFilterToQlPredicate)(props.columnFilter, column, qlPredicateDefs, columnFilterOptions, 'FilterForm', api);
|
|
18
18
|
const handlePredicateChange = (newPredicate) => {
|
|
19
19
|
const newAdaptablePredicates = newPredicate.args.map(utils_1.mapQlPredicateToAdaptablePredicate);
|
|
20
20
|
const newFilter = {
|
|
@@ -74,7 +74,7 @@ const ColumnFilterInput = ({ type, value, onChange: onChangeProp, onClear: onCle
|
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
76
|
if (type === 'date' && !showDatePicker) {
|
|
77
|
-
return (React.createElement(AdaptableDateInlineInput_1.AdaptableDateInlineInput, { value: liveValue, disabled: disabled, onFocus: onFocus, onBlur: onBlur, pr: 0, style: { border: 'none' }, onKeyDownCapture: onKeyDownCapture, onChange: (value) => {
|
|
77
|
+
return (React.createElement(AdaptableDateInlineInput_1.AdaptableDateInlineInput, { "data-name": "floating-filter-input", value: liveValue, disabled: disabled, onFocus: onFocus, onBlur: onBlur, pr: 0, style: { border: 'none' }, onKeyDownCapture: onKeyDownCapture, onChange: (value) => {
|
|
78
78
|
onChange(value);
|
|
79
79
|
setLiveValue(value);
|
|
80
80
|
} }));
|
|
@@ -100,7 +100,7 @@ const ColumnFilterInput = ({ type, value, onChange: onChangeProp, onClear: onCle
|
|
|
100
100
|
borderRadius: 0,
|
|
101
101
|
border: 'none',
|
|
102
102
|
}
|
|
103
|
-
: {}, onFocus: onFocus, onBlur: onBlur, disabled: disabled, type: type === 'number' ? 'text' : type,
|
|
103
|
+
: {}, "data-name": "floating-filter-input", onFocus: onFocus, onBlur: onBlur, disabled: disabled, type: type === 'number' ? 'text' : type,
|
|
104
104
|
// autoFocus has to be FALSE because if the input receives focus in the init phase,
|
|
105
105
|
// it may scroll the AG Grid header viewport into view and de-synchronize it (relative to the content viewport)
|
|
106
106
|
autoFocus: false, value: liveValue ?? '', onKeyDown: onKeyDown, showClearButton: false, onChange: (e) => {
|