@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
|
@@ -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) => {
|
|
@@ -37,8 +37,8 @@ function useDistinctFilterColumnValues(options) {
|
|
|
37
37
|
let ignore = false;
|
|
38
38
|
setIsDistinctColumnValuesLoading(true);
|
|
39
39
|
let searchValueUsedInFilterValue = false;
|
|
40
|
-
api.
|
|
41
|
-
.
|
|
40
|
+
api.filterApi.columnFilterApi.internalApi
|
|
41
|
+
.getColumnFilterValues({
|
|
42
42
|
columnId,
|
|
43
43
|
get currentSearchValue() {
|
|
44
44
|
searchValueUsedInFilterValue = true;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { QlLogicalOperator, QlPredicate } from '../../../parser/src/predicate';
|
|
2
2
|
import * as LayoutRedux from '../../../Redux/ActionsReducers/LayoutRedux';
|
|
3
3
|
import { AdaptablePredicate, ColumnFilter } from '../../../types';
|
|
4
|
-
export declare const useAdaptableFilterWrapper: (columnId: string, handleOnChangeOverride?: (columnFilter: ColumnFilter) => void) => {
|
|
4
|
+
export declare const useAdaptableFilterWrapper: (columnId: string, filterComponent: 'FilterBar' | 'FilterForm', handleOnChangeOverride?: (columnFilter: ColumnFilter) => void) => {
|
|
5
5
|
qlPredicate: QlPredicate;
|
|
6
6
|
qlPredicateDefs: import("@adaptabletools/adaptable/src/parser/src/predicate/types").QlPredicateDef[];
|
|
7
7
|
columnFilter: ColumnFilter;
|
|
@@ -10,7 +10,7 @@ const LayoutRedux_1 = require("../../../Redux/ActionsReducers/LayoutRedux");
|
|
|
10
10
|
const adaptableQlUtils_1 = require("../../../Utilities/adaptableQlUtils");
|
|
11
11
|
const AdaptableContext_1 = require("../../AdaptableContext");
|
|
12
12
|
const utils_1 = require("./utils");
|
|
13
|
-
const useAdaptableFilterWrapper = (columnId, handleOnChangeOverride) => {
|
|
13
|
+
const useAdaptableFilterWrapper = (columnId, filterComponent, handleOnChangeOverride) => {
|
|
14
14
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
15
15
|
const dispatch = (0, react_redux_1.useDispatch)();
|
|
16
16
|
const api = adaptable.api;
|
|
@@ -27,7 +27,7 @@ const useAdaptableFilterWrapper = (columnId, handleOnChangeOverride) => {
|
|
|
27
27
|
return currentLayout?.ColumnFilters?.find((cf) => cf.ColumnId === columnId);
|
|
28
28
|
}, [currentLayout?.ColumnFilters, columnId]);
|
|
29
29
|
const qlPredicate = column
|
|
30
|
-
? (0, utils_1.mapColumnFilterToQlPredicate)(columnFilter, column, qlPredicateDefs, columnFilterOptions, api)
|
|
30
|
+
? (0, utils_1.mapColumnFilterToQlPredicate)(columnFilter, column, qlPredicateDefs, columnFilterOptions, filterComponent, api)
|
|
31
31
|
: null;
|
|
32
32
|
const handleOnChange = (adaptablePredicate, logic = 'AND') => {
|
|
33
33
|
// make sure we always have the latest columnFiler
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { QlPredicate, QlPredicateDef } from '../../../parser/src/predicate';
|
|
2
|
-
import { AdaptableApi, AdaptableColumn, AdaptablePredicate, AdaptablePredicateDef, ColumnFilter, ColumnFilterOptions, ExpressionFunctionInputType } from '../../../types';
|
|
2
|
+
import { AdaptableApi, AdaptableColumn, AdaptableFilterComponentLocation, AdaptablePredicate, AdaptablePredicateDef, ColumnFilter, ColumnFilterOptions, ExpressionFunctionInputType } from '../../../types';
|
|
3
3
|
export declare const mapAdaptablePredicateDefToQlPredicateDef: (adaptablePredicateDef: AdaptablePredicateDef, dataType: ExpressionFunctionInputType) => QlPredicateDef;
|
|
4
4
|
export declare const mapAdaptablePredicateToQlPredicate: (adaptablePredicate: AdaptablePredicate) => QlPredicate;
|
|
5
5
|
export declare const mapQlPredicateToAdaptablePredicate: (qlPredicate: QlPredicate) => AdaptablePredicate;
|
|
6
6
|
export declare const qlPredicateToString: (qlPredicate: QlPredicate, predicateDefs: QlPredicateDef[]) => string;
|
|
7
7
|
export declare const isPredicateEmpty: (predicate: QlPredicate, predicateDef: QlPredicateDef) => boolean;
|
|
8
|
-
export declare const mapColumnFilterToQlPredicate: (columnFilter: ColumnFilter, abColumn: AdaptableColumn, qlPredicateDefs: QlPredicateDef[], columnFilterOptions: ColumnFilterOptions, api: AdaptableApi) => QlPredicate;
|
|
8
|
+
export declare const mapColumnFilterToQlPredicate: (columnFilter: ColumnFilter, abColumn: AdaptableColumn, qlPredicateDefs: QlPredicateDef[], columnFilterOptions: ColumnFilterOptions, filterComponent: AdaptableFilterComponentLocation, api: AdaptableApi) => QlPredicate;
|
|
@@ -91,7 +91,7 @@ const isPredicateEmpty = (predicate, predicateDef) => {
|
|
|
91
91
|
predicate.args.every((arg) => arg == undefined));
|
|
92
92
|
};
|
|
93
93
|
exports.isPredicateEmpty = isPredicateEmpty;
|
|
94
|
-
const mapColumnFilterToQlPredicate = (columnFilter, abColumn, qlPredicateDefs, columnFilterOptions, api) => {
|
|
94
|
+
const mapColumnFilterToQlPredicate = (columnFilter, abColumn, qlPredicateDefs, columnFilterOptions, filterComponent, api) => {
|
|
95
95
|
const combinator = columnFilter?.PredicatesOperator ?? 'AND';
|
|
96
96
|
const qlPredicate = {
|
|
97
97
|
operator: combinator,
|
|
@@ -108,6 +108,7 @@ const mapColumnFilterToQlPredicate = (columnFilter, abColumn, qlPredicateDefs, c
|
|
|
108
108
|
if (typeof defaultNumericColumnFilter === 'function') {
|
|
109
109
|
const context = {
|
|
110
110
|
column: abColumn,
|
|
111
|
+
filterComponent,
|
|
111
112
|
...api.internalApi.buildBaseContext(),
|
|
112
113
|
};
|
|
113
114
|
defaultQlNumberPredicate = defaultNumericColumnFilter(context);
|
|
@@ -127,6 +128,7 @@ const mapColumnFilterToQlPredicate = (columnFilter, abColumn, qlPredicateDefs, c
|
|
|
127
128
|
if (typeof defaultTextColumnFilter === 'function') {
|
|
128
129
|
const context = {
|
|
129
130
|
column: abColumn,
|
|
131
|
+
filterComponent,
|
|
130
132
|
...api.internalApi.buildBaseContext(),
|
|
131
133
|
};
|
|
132
134
|
defaultQlTextPredicate = defaultTextColumnFilter(context);
|
|
@@ -140,12 +142,14 @@ const mapColumnFilterToQlPredicate = (columnFilter, abColumn, qlPredicateDefs, c
|
|
|
140
142
|
: { operator: 'Contains', args: [] };
|
|
141
143
|
break;
|
|
142
144
|
case 'date':
|
|
145
|
+
case 'dateString':
|
|
143
146
|
let defaultQlDatePredicate;
|
|
144
147
|
const defaultDateColumnFilter = columnFilterOptions.defaultDateColumnFilter;
|
|
145
148
|
if (defaultDateColumnFilter) {
|
|
146
149
|
if (typeof defaultDateColumnFilter === 'function') {
|
|
147
150
|
const context = {
|
|
148
151
|
column: abColumn,
|
|
152
|
+
filterComponent,
|
|
149
153
|
...api.internalApi.buildBaseContext(),
|
|
150
154
|
};
|
|
151
155
|
defaultQlDatePredicate = defaultDateColumnFilter(context);
|
|
@@ -169,6 +173,7 @@ const mapColumnFilterToQlPredicate = (columnFilter, abColumn, qlPredicateDefs, c
|
|
|
169
173
|
if (typeof defaultArrayColumnFilter === 'function') {
|
|
170
174
|
const context = {
|
|
171
175
|
column: abColumn,
|
|
176
|
+
filterComponent,
|
|
172
177
|
...api.internalApi.buildBaseContext(),
|
|
173
178
|
};
|
|
174
179
|
defaultQlArrayPredicate = defaultArrayColumnFilter(context);
|
|
@@ -112,9 +112,8 @@ const EntityRulesEditor = (props) => {
|
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
114
|
};
|
|
115
|
-
const isValuesPredicateDef = (colDef) => colDef && ['In', 'NotIn'].includes(colDef.id);
|
|
116
115
|
const filteredPredicateDefs = predicateDefs.filter((def) => {
|
|
117
|
-
if (
|
|
116
|
+
if (api.predicateApi.internalApi.IsInorNotInPredicateDef(def)) {
|
|
118
117
|
return 'ColumnIds' in data.Scope && data.Scope.ColumnIds.length === 1;
|
|
119
118
|
}
|
|
120
119
|
return true;
|
|
@@ -33,7 +33,7 @@ const ColumnValuesSelect = (props) => {
|
|
|
33
33
|
minWidth: `var(--ab-cmp-select-column-menu-${column.columnId}__min-width, var(--ab-cmp-select-column-menu__min-width, 160px))`,
|
|
34
34
|
};
|
|
35
35
|
}, [column.columnId]);
|
|
36
|
-
const component = (React.createElement(Select_1.Select, { key: "select", isMulti: true, resizable: true, showHeaderSelectionCheckbox: true, searchable:
|
|
36
|
+
const component = (React.createElement(Select_1.Select, { key: "select", isMulti: true, resizable: true, showHeaderSelectionCheckbox: true, searchable: 'menulist', closeMenuOnSelect: false, menuStyle: menuStyle, ...props.selectProps, options: options, value: value, isLoading: props.isLoading, onChange: props.onChange }));
|
|
37
37
|
return (React.createElement("div", { className: (0, join_1.default)(baseClassName, props.isLoading && `${baseClassName}--loading`, !value.length && `${baseClassName}--empty`), onKeyDownCapture: (e) => {
|
|
38
38
|
const event = e.nativeEvent || e;
|
|
39
39
|
event.stopPropagation = () => {
|
|
@@ -14,6 +14,7 @@ const AdaptableFormControlTextClear_1 = require("./Forms/AdaptableFormControlTex
|
|
|
14
14
|
const AdaptableContext_1 = require("../AdaptableContext");
|
|
15
15
|
const ValueSelector_1 = require("./ValueSelector");
|
|
16
16
|
const AdaptableColumn_1 = require("../../AdaptableState/Common/AdaptableColumn");
|
|
17
|
+
const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
|
|
17
18
|
const isScopeValid = ({ Scope }) => {
|
|
18
19
|
const result = [];
|
|
19
20
|
if (!Scope) {
|
|
@@ -46,6 +47,9 @@ const DATA_TYPES_MAP = {
|
|
|
46
47
|
value: 'boolean',
|
|
47
48
|
},
|
|
48
49
|
};
|
|
50
|
+
const renderDataTypeLabel = (c) => {
|
|
51
|
+
return 'DataType: ' + StringExtensions_1.default.CapitaliseFirstLetter(c);
|
|
52
|
+
};
|
|
49
53
|
const renderScopeSummary = (scope, labels) => {
|
|
50
54
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
51
55
|
const scopeApi = adaptable.api.columnScopeApi;
|
|
@@ -58,7 +62,7 @@ const renderScopeSummary = (scope, labels) => {
|
|
|
58
62
|
columnsInScope.length ? (React.createElement(ValueSelector_1.ValueOptionsTags, { options: columnsInScope, value: columnsInScope.map((c) => c.columnId), toLabel: (c) => c.friendlyName, allowWrap: true, readOnly: true, renderLabel: (c) => React.createElement(OnePageAdaptableWizard_1.SummaryText, { mb: 0 }, c), toIdentifier: (c) => c.columnId })) : null)) : null),
|
|
59
63
|
React.createElement(rebass_1.Box, null, 'DataTypes' in scope ? (React.createElement(React.Fragment, null,
|
|
60
64
|
React.createElement(rebass_1.Text, { fontSize: 2, mb: 2 }, labels.scopeDataTypes),
|
|
61
|
-
React.createElement(ValueSelector_1.ValueOptionsTags, { readOnly: true, options: scope.DataTypes, value: scope.DataTypes, toLabel: (c) => c, allowWrap: true, renderLabel: (c) => React.createElement(rebass_1.Text, { fontSize: 2 },
|
|
65
|
+
React.createElement(ValueSelector_1.ValueOptionsTags, { readOnly: true, options: scope.DataTypes, value: scope.DataTypes, toLabel: (c) => c, allowWrap: true, renderLabel: (c) => React.createElement(rebass_1.Text, { fontSize: 2 }, renderDataTypeLabel(c)), toIdentifier: (c) => c }))) : null)));
|
|
62
66
|
};
|
|
63
67
|
exports.renderScopeSummary = renderScopeSummary;
|
|
64
68
|
const DATA_TYPES_OPTIONS = Object.values(DATA_TYPES_MAP);
|
|
@@ -117,16 +117,16 @@ const AdaptablePopupModuleView = (props) => {
|
|
|
117
117
|
.getModuleService()
|
|
118
118
|
.getModuleById(props.module.moduleInfo.ModuleName);
|
|
119
119
|
const dispatch = (0, react_redux_1.useDispatch)();
|
|
120
|
-
const
|
|
121
|
-
const
|
|
122
|
-
if (!adaptableModule?.
|
|
120
|
+
const showLayoutNonExtendedObjects = (0, react_redux_1.useSelector)((state) => state.Internal.Layout.showLayoutNonExtendedObjects);
|
|
121
|
+
const toggleButtonShowLayoutExtensionObjects = () => {
|
|
122
|
+
if (!adaptableModule?.containsLayoutExtensions()) {
|
|
123
123
|
return;
|
|
124
124
|
}
|
|
125
125
|
if (!props.api.layoutApi.internalApi.hasLayoutSpecificObjects()) {
|
|
126
126
|
return;
|
|
127
127
|
}
|
|
128
128
|
return (React.createElement(rebass_1.Flex, { justifyContent: "flex-start" },
|
|
129
|
-
React.createElement(CheckBox_1.CheckBox, { padding: 0, margin: 0, checked:
|
|
129
|
+
React.createElement(CheckBox_1.CheckBox, { padding: 0, margin: 0, checked: showLayoutNonExtendedObjects, onChange: (checked) => dispatch((0, InternalRedux_1.LayoutShowNonExtendedObjects)(checked)) },
|
|
130
130
|
"Show ",
|
|
131
131
|
moduleInfo.FriendlyName,
|
|
132
132
|
"s not available in current Layout")));
|
|
@@ -136,7 +136,7 @@ const AdaptablePopupModuleView = (props) => {
|
|
|
136
136
|
" ",
|
|
137
137
|
newButton), infoLinkDisabled: !props.api.internalApi.isDocumentationLinksDisplayed() },
|
|
138
138
|
moduleViewProperties.HeaderComponent && React.createElement(moduleViewProperties.HeaderComponent, null),
|
|
139
|
-
|
|
139
|
+
toggleButtonShowLayoutExtensionObjects(),
|
|
140
140
|
items?.length ? (React.createElement(AdaptableObjectList_1.AdaptableObjectList, { module: props.module, items: items })) : (React.createElement(EmptyContent_1.default, null, emptyContent ?? `Click 'New' to create a new ${moduleInfo.FriendlyName}`)),
|
|
141
141
|
isWizardOpen && EditWizard && (React.createElement(EditWizard, { abObjectType: abObjectType, moduleInfo: moduleInfo, data: null, popupParams: props.popupParams, configEntities: null, onCloseWizard: handleWizardClose, onFinishWizard: handleWizardClose }))));
|
|
142
142
|
};
|
|
@@ -14,7 +14,6 @@ const ListBoxFilterForm_1 = require("../FilterForm/ListBoxFilterForm");
|
|
|
14
14
|
const AdaptableContext_1 = require("../../AdaptableContext");
|
|
15
15
|
const FloatingFilterValues_1 = require("../ColumnFilter/components/FloatingFilterValues");
|
|
16
16
|
const react_1 = require("react");
|
|
17
|
-
const isValuesPredicateDef = (colDef) => colDef && ['In', 'NotIn'].includes(colDef.id);
|
|
18
17
|
const PredicateEditor = (props) => {
|
|
19
18
|
const baseClassName = 'ab-PredicateEditor';
|
|
20
19
|
const predicateDefsOptions = React.useMemo(() => props?.predicateDefs?.map((item) => ({
|
|
@@ -72,7 +71,7 @@ const PredicateEditor = (props) => {
|
|
|
72
71
|
index > 0 && React.createElement(HelpBlock_1.default, { margin: 2 }, "AND"),
|
|
73
72
|
React.createElement(rebass_1.Flex, { key: index, flex: 1, flexDirection: "column" },
|
|
74
73
|
React.createElement(AdaptableInput_1.default, { "data-name": `predicate-input-${index}`, marginTop: 2, type: predicateDefInput.type, autoFocus: index === 0, value: props.predicate.Inputs?.[index] ?? '', onChange: (e) => handlePredicateInputChange(e, index) })))))),
|
|
75
|
-
|
|
74
|
+
adaptable.api.predicateApi.internalApi.IsInorNotInPredicateDef(currentPredicateDef) && (React.createElement(rebass_1.Box, { mt: 2 },
|
|
76
75
|
React.createElement(ListBoxFilterForm_1.ColumnValuesSelect, { isLoading: isDistinctColumnValuesLoading, column: column, options: quickFilterValues.values, selectProps: {
|
|
77
76
|
onMenuOpen,
|
|
78
77
|
}, dataType: column.dataType, value: props.predicate.Inputs, onChange: handlePredicateValuesChange })))));
|
|
@@ -21,7 +21,7 @@ const BulkUpdateValueSelector = (props) => {
|
|
|
21
21
|
// which is then triggering a get all values
|
|
22
22
|
// not sure that we need to
|
|
23
23
|
const permittedValueSelector = (React.createElement(rebass_1.Box, null,
|
|
24
|
-
React.createElement(PermittedValuesSelector_1.PermittedValuesSelector, { allowNewValues: true, disabled: props.disabled || !props.selectedColumn, value: props.selectedColumnValue === '' ? null : props.selectedColumnValue, columnId: columnId, placeholder: isDateType ? 'Select' : 'Select or type new value', loadValues: (0, react_1.useCallback)(({ currentSearchValue }) => {
|
|
24
|
+
React.createElement(PermittedValuesSelector_1.PermittedValuesSelector, { allowNewValues: true, searchable: 'inline', disabled: props.disabled || !props.selectedColumn, value: props.selectedColumnValue === '' ? null : props.selectedColumnValue, columnId: columnId, placeholder: isDateType ? 'Select' : 'Select or type new value', loadValues: (0, react_1.useCallback)(({ currentSearchValue }) => {
|
|
25
25
|
if (!columnId || !props.selectedGridCells.length) {
|
|
26
26
|
return Promise.resolve([]);
|
|
27
27
|
}
|
|
@@ -28,7 +28,7 @@ const ColumnSelector = function (props) {
|
|
|
28
28
|
}
|
|
29
29
|
return true;
|
|
30
30
|
});
|
|
31
|
-
return (React.createElement(Select_1.Select, { "data-name": "column-selector", disabled: props.disabled, isMulti: props.isMulti, menuPosition: props.menuPosition, value: props.value, placeholder: props.placeholder ?? 'Select Column', onChange: (colId) => {
|
|
31
|
+
return (React.createElement(Select_1.Select, { "data-name": "column-selector", searchable: 'inline', disabled: props.disabled, isMulti: props.isMulti, menuPosition: props.menuPosition, value: props.value, placeholder: props.placeholder ?? 'Select Column', onChange: (colId) => {
|
|
32
32
|
props.onChange(colId);
|
|
33
33
|
}, options: options }));
|
|
34
34
|
};
|
|
@@ -15,7 +15,7 @@ const FieldSelector = (props) => {
|
|
|
15
15
|
value: field.name,
|
|
16
16
|
}));
|
|
17
17
|
return (React.createElement(React.Fragment, null,
|
|
18
|
-
React.createElement(Select_1.Select, { "data-name": "column-selector", disabled: props.disabled, isMulti: false, menuPosition: props.menuPosition, value: props.value || undefined, placeholder: props.placeholder ?? 'Select Field', onChange: (fieldValue) => {
|
|
18
|
+
React.createElement(Select_1.Select, { "data-name": "column-selector", searchable: 'inline', disabled: props.disabled, isMulti: false, menuPosition: props.menuPosition, value: props.value || undefined, placeholder: props.placeholder ?? 'Select Field', onChange: (fieldValue) => {
|
|
19
19
|
props.onChange(fieldValue);
|
|
20
20
|
}, options: options })));
|
|
21
21
|
};
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { SelectProps } from '../../../components/Select';
|
|
3
3
|
export type ValueType = number | string | Date;
|
|
4
4
|
interface PermittedValuesSelectorProps<Value extends ValueType, IsMulti extends boolean> {
|
|
5
|
+
searchable?: false | 'inline' | 'menulist';
|
|
5
6
|
isMulti?: IsMulti;
|
|
6
7
|
columnId: string;
|
|
7
8
|
value: IsMulti extends true ? Value[] : Value;
|
|
@@ -35,7 +35,7 @@ const PermittedValuesSelector = function (props) {
|
|
|
35
35
|
return currentSearchValue;
|
|
36
36
|
},
|
|
37
37
|
})
|
|
38
|
-
: adaptable.api.
|
|
38
|
+
: adaptable.api.filterApi.columnFilterApi.internalApi.getColumnFilterValues({
|
|
39
39
|
columnId: props.columnId,
|
|
40
40
|
get currentSearchValue() {
|
|
41
41
|
searchValueUsedInFilterValue = true;
|
|
@@ -101,6 +101,6 @@ const PermittedValuesSelector = function (props) {
|
|
|
101
101
|
reload();
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
|
-
return (React.createElement(Select_1.Select, { "aria-label": "Permitted Values Selector", menuPortalTarget: props.menuPortalTarget, size: props.size, isMulti: props.isMulti, className: props.className, disabled: props.disabled, closeMenuOnSelect: !props.isMulti, "data-name": "permitted-values-selector", placeholder: props.placeholder || (props.allowNewValues ? 'Select or type new value' : 'Select value'), isCreatable: isCreatable, isClearable: true, onMenuOpen: reload, options: options, isLoading: isLoading, onInputChange: onInputChange, onChange: handleOnChange, onFocus: props.onFocus, onBlur: props.onBlur, value: props.value }));
|
|
104
|
+
return (React.createElement(Select_1.Select, { "aria-label": "Permitted Values Selector", menuPortalTarget: props.menuPortalTarget, searchable: props.searchable, size: props.size, isMulti: props.isMulti, className: props.className, disabled: props.disabled, closeMenuOnSelect: !props.isMulti, "data-name": "permitted-values-selector", placeholder: props.placeholder || (props.allowNewValues ? 'Select or type new value' : 'Select value'), isCreatable: isCreatable, isClearable: true, onMenuOpen: reload, options: options, isLoading: isLoading, onInputChange: onInputChange, onChange: handleOnChange, onFocus: props.onFocus, onBlur: props.onBlur, value: props.value }));
|
|
105
105
|
};
|
|
106
106
|
exports.PermittedValuesSelector = PermittedValuesSelector;
|
|
@@ -37,7 +37,7 @@ const DashboardComponent = (props) => {
|
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
39
|
const moduleToolbarName = visibleToolbarName;
|
|
40
|
-
if (props.api.internalApi.getModuleService().
|
|
40
|
+
if (props.api.internalApi.getModuleService().isAdapTableModulePresent(moduleToolbarName)) {
|
|
41
41
|
let moduleToolbarView = AdaptableViewFactory_1.AdaptableViewPanelFactory.get(moduleToolbarName);
|
|
42
42
|
if (moduleToolbarView) {
|
|
43
43
|
let moduleInfo = props.api.internalApi
|
|
@@ -96,7 +96,7 @@ const DashboardComponent = (props) => {
|
|
|
96
96
|
let instanceName = props.api.internalApi.getToolbarTitle();
|
|
97
97
|
let dashboardOptions = props.api.optionsApi.getDashboardOptions();
|
|
98
98
|
const shouldRenderQuickSearchHeader = dashboardOptions.showQuickSearchInHeader &&
|
|
99
|
-
props.api.internalApi.getModuleService().
|
|
99
|
+
props.api.internalApi.getModuleService().isAdapTableModulePresent(ModuleConstants_1.QuickSearchModuleId);
|
|
100
100
|
const applicationIcon = props.api.optionsApi.getUserInterfaceOptions().applicationIcon;
|
|
101
101
|
if (props.DashboardState.IsHidden) {
|
|
102
102
|
return React.createElement("div", null);
|
|
@@ -44,7 +44,9 @@ class DashboardPopupComponent extends React.Component {
|
|
|
44
44
|
.find((ct) => ct.name === vt);
|
|
45
45
|
return customToolbar
|
|
46
46
|
? true
|
|
47
|
-
: this.props.api.internalApi
|
|
47
|
+
: this.props.api.internalApi
|
|
48
|
+
.getModuleService()
|
|
49
|
+
.isAdapTableModulePresent(vt);
|
|
48
50
|
});
|
|
49
51
|
return { ...tab, Toolbars };
|
|
50
52
|
});
|
|
@@ -11,7 +11,7 @@ const PinnedDashboard = (props) => {
|
|
|
11
11
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
12
12
|
const dashboardState = (0, react_redux_1.useSelector)((state) => state.Dashboard);
|
|
13
13
|
const pinnedToolbars = (dashboardState.PinnedToolbars ?? []).filter((tb) => adaptable.api.dashboardApi.internalApi.isToolbarCustom(tb) ||
|
|
14
|
-
adaptable.api.internalApi.getModuleService().
|
|
14
|
+
adaptable.api.internalApi.getModuleService().isAdapTableModulePresent(tb));
|
|
15
15
|
if (!pinnedToolbars || pinnedToolbars.length == 0) {
|
|
16
16
|
return React.createElement(React.Fragment, null);
|
|
17
17
|
}
|
|
@@ -22,7 +22,7 @@ const DataChangeHistoryGrid = (props) => {
|
|
|
22
22
|
const initializeAdaptableGrid = async () => {
|
|
23
23
|
const gridOptions = buildGridOptions(mainAdaptableInstance, changeHistoryLog);
|
|
24
24
|
const adaptableOptions = buildAdaptableOptions(mainAdaptableInstance, adaptableContainerId, agGridContainerId, undoChangeEnabled, onUndoChange, onClearRow);
|
|
25
|
-
const modules = mainAdaptableInstance.getAgGridRegisteredModules();
|
|
25
|
+
const modules = mainAdaptableInstance.agGridModulesAdapter.getAgGridRegisteredModules();
|
|
26
26
|
const dataChangeHistoryAdaptableApi = await AdaptableAgGrid_1.AdaptableAgGrid._initInternal({
|
|
27
27
|
variant: 'vanilla',
|
|
28
28
|
adaptableOptions,
|
|
@@ -145,8 +145,14 @@ const buildAdaptableOptions = (mainAdaptableInstance, adaptableContainerId, agGr
|
|
|
145
145
|
SortOrder: 'Desc',
|
|
146
146
|
},
|
|
147
147
|
],
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
ColumnSizing: {
|
|
149
|
+
'changeInfo.primaryKeyValue': { Flex: 3 },
|
|
150
|
+
changedColumnLabel: { Flex: 3 },
|
|
151
|
+
'changeInfo.oldValue': { Flex: 3 },
|
|
152
|
+
'changeInfo.newValue': { Flex: 3 },
|
|
153
|
+
'changeInfo.changedAt': { Flex: 3 },
|
|
154
|
+
changeTriggerLabel: { Flex: 2 },
|
|
155
|
+
undoActionColumn: { Width: 110 },
|
|
150
156
|
},
|
|
151
157
|
ColumnPinning: {
|
|
152
158
|
undoActionColumn: 'right',
|
|
@@ -218,49 +224,31 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
|
|
|
218
224
|
headerName: `Row (${mainPrimaryKeyColumnHeader})`,
|
|
219
225
|
field: 'changeInfo.primaryKeyValue',
|
|
220
226
|
cellDataType: 'text',
|
|
221
|
-
suppressAutoSize: false,
|
|
222
|
-
flex: 3,
|
|
223
|
-
initialFlex: 3,
|
|
224
227
|
},
|
|
225
228
|
{
|
|
226
229
|
headerName: 'Column',
|
|
227
230
|
field: 'changedColumnLabel',
|
|
228
231
|
cellDataType: 'text',
|
|
229
|
-
suppressAutoSize: false,
|
|
230
|
-
flex: 3,
|
|
231
|
-
initialFlex: 3,
|
|
232
232
|
},
|
|
233
233
|
{
|
|
234
234
|
headerName: 'Previous',
|
|
235
235
|
field: 'changeInfo.oldValue',
|
|
236
236
|
cellDataType: 'text',
|
|
237
|
-
suppressAutoSize: false,
|
|
238
|
-
flex: 3,
|
|
239
|
-
initialFlex: 3,
|
|
240
237
|
},
|
|
241
238
|
{
|
|
242
239
|
headerName: 'New',
|
|
243
240
|
field: 'changeInfo.newValue',
|
|
244
241
|
cellDataType: 'text',
|
|
245
|
-
suppressAutoSize: false,
|
|
246
|
-
flex: 3,
|
|
247
|
-
initialFlex: 3,
|
|
248
242
|
},
|
|
249
243
|
{
|
|
250
244
|
headerName: 'Changed',
|
|
251
245
|
field: 'changeInfo.changedAt',
|
|
252
246
|
cellDataType: 'date',
|
|
253
|
-
suppressAutoSize: false,
|
|
254
|
-
flex: 3,
|
|
255
|
-
initialFlex: 3,
|
|
256
247
|
},
|
|
257
248
|
{
|
|
258
249
|
headerName: 'Source',
|
|
259
250
|
field: 'changeTriggerLabel',
|
|
260
251
|
cellDataType: 'text',
|
|
261
|
-
suppressAutoSize: false,
|
|
262
|
-
flex: 2,
|
|
263
|
-
initialFlex: 2,
|
|
264
252
|
},
|
|
265
253
|
],
|
|
266
254
|
rowData: mapChangeHistoryRowData(changeHistoryLog, mainAdaptableInstance),
|