@adaptabletools/adaptable 23.0.4 → 23.0.5-canary.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agGrid.js +0 -31
- package/index.css +0 -64
- package/index.js +0 -31
- package/package.json +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +0 -2
- package/src/AdaptableOptions/AdaptablePlugin.js +1 -9
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -39
- package/src/AdaptableOptions/SettingsPanelOptions.d.ts +44 -16
- package/src/AdaptableState/Aggregations/only.js +0 -11
- package/src/AdaptableState/Aggregations/weightedAverage.d.ts +0 -1
- package/src/AdaptableState/Aggregations/weightedAverage.js +1 -27
- package/src/AdaptableState/Common/AdaptableColumn.js +0 -1
- package/src/AdaptableState/Common/AdaptableForm.js +0 -49
- package/src/AdaptableState/Common/AdaptableFormatPresets.js +0 -13
- package/src/AdaptableState/Common/AdaptablePredicate.js +3 -125
- package/src/AdaptableState/Common/AggregationColumns.js +0 -10
- package/src/AdaptableState/Common/Enums.js +0 -3
- package/src/AdaptableState/Common/Menu.js +1 -7
- package/src/AdaptableState/Common/MenuItem.js +0 -2
- package/src/AdaptableState/Common/Types.js +2 -5
- package/src/AdaptableState/StatusBarState.js +0 -3
- package/src/AdaptableState/StyledColumns/BadgeStyle.js +0 -1
- package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.js +0 -4
- package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +0 -5
- package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +0 -8
- package/src/AdaptableState/Uuid.js +0 -1
- package/src/Api/Implementation/AdaptableApiImpl.js +0 -4
- package/src/Api/Implementation/AlertApiImpl.js +0 -21
- package/src/Api/Implementation/ApiBase.js +0 -24
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +0 -1
- package/src/Api/Implementation/ChartingApiImpl.js +0 -3
- package/src/Api/Implementation/ColumnApiImpl.js +1 -15
- package/src/Api/Implementation/ColumnFilterApiImpl.js +0 -9
- package/src/Api/Implementation/ColumnScopeApiImpl.js +0 -21
- package/src/Api/Implementation/DashboardApiImpl.js +0 -1
- package/src/Api/Implementation/EntitlementApiImpl.js +0 -1
- package/src/Api/Implementation/ExportApiImpl.js +0 -10
- package/src/Api/Implementation/ExpressionApiImpl.js +0 -1
- package/src/Api/Implementation/FormatColumnApiImpl.js +0 -3
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -2
- package/src/Api/Implementation/GridApiImpl.js +1 -22
- package/src/Api/Implementation/GridFilterApiImpl.js +0 -2
- package/src/Api/Implementation/LayoutApiImpl.js +0 -18
- package/src/Api/Implementation/LayoutHelpers.js +0 -16
- package/src/Api/Implementation/NamedQueryApiImpl.js +0 -1
- package/src/Api/Implementation/PredicateApiImpl.js +0 -5
- package/src/Api/Implementation/RowFormApiImpl.js +0 -2
- package/src/Api/Implementation/StateApiImpl.js +0 -7
- package/src/Api/Implementation/SystemStatusApiImpl.js +0 -2
- package/src/Api/Implementation/TeamSharingApiImpl.js +0 -3
- package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -1
- package/src/Api/Internal/ActionColumnInternalApi.js +0 -1
- package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -2
- package/src/Api/Internal/AdaptableInternalApi.js +1 -39
- package/src/Api/Internal/AlertInternalApi.js +1 -102
- package/src/Api/Internal/CalculatedColumnInternalApi.js +0 -17
- package/src/Api/Internal/ChartingInternalApi.js +0 -1
- package/src/Api/Internal/ColumnFilterInternalApi.js +0 -52
- package/src/Api/Internal/ColumnInternalApi.js +0 -32
- package/src/Api/Internal/CustomSortInternalApi.js +0 -5
- package/src/Api/Internal/DashboardInternalApi.js +0 -23
- package/src/Api/Internal/DataImportInternalApi.js +0 -1
- package/src/Api/Internal/EventInternalApi.js +0 -2
- package/src/Api/Internal/ExportInternalApi.js +1 -16
- package/src/Api/Internal/ExpressionInternalApi.js +0 -23
- package/src/Api/Internal/Fdc3InternalApi.js +0 -9
- package/src/Api/Internal/FlashingCellInternalApi.js +0 -5
- package/src/Api/Internal/FormatColumnInternalApi.js +5 -107
- package/src/Api/Internal/FreeTextColumnInternalApi.js +0 -8
- package/src/Api/Internal/GridFilterInternalApi.js +0 -3
- package/src/Api/Internal/GridInternalApi.js +0 -37
- package/src/Api/Internal/LayoutInternalApi.js +0 -18
- package/src/Api/Internal/NamedQueryInternalApi.js +0 -9
- package/src/Api/Internal/PredicateInternalApi.js +0 -23
- package/src/Api/Internal/RowFormInternalApi.js +0 -18
- package/src/Api/Internal/StateInternalApi.js +0 -25
- package/src/Api/Internal/StyledColumnInternalApi.js +0 -62
- package/src/Api/Internal/TeamSharingInternalApi.js +0 -9
- package/src/Redux/ActionsReducers/AlertRedux.js +0 -24
- package/src/Redux/ActionsReducers/ApplicationRedux.js +0 -9
- package/src/Redux/ActionsReducers/BulkUpdateRedux.js +0 -6
- package/src/Redux/ActionsReducers/CalculatedColumnRedux.js +1 -16
- package/src/Redux/ActionsReducers/ChartingRedux.js +0 -24
- package/src/Redux/ActionsReducers/CommentsRedux.js +0 -24
- package/src/Redux/ActionsReducers/CustomSortRedux.js +0 -24
- package/src/Redux/ActionsReducers/DashboardRedux.js +0 -33
- package/src/Redux/ActionsReducers/ExportRedux.js +0 -36
- package/src/Redux/ActionsReducers/FlashingCellRedux.js +0 -24
- package/src/Redux/ActionsReducers/FormatColumnRedux.js +0 -36
- package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +1 -20
- package/src/Redux/ActionsReducers/InternalRedux.js +0 -42
- package/src/Redux/ActionsReducers/LayoutRedux.js +1 -67
- package/src/Redux/ActionsReducers/NamedQueryRedux.js +0 -15
- package/src/Redux/ActionsReducers/NoteRedux.js +0 -14
- package/src/Redux/ActionsReducers/PluginsRedux.js +0 -3
- package/src/Redux/ActionsReducers/PlusMinusRedux.js +0 -34
- package/src/Redux/ActionsReducers/PopupRedux.js +2 -6
- package/src/Redux/ActionsReducers/QuickSearchRedux.js +0 -15
- package/src/Redux/ActionsReducers/ShortcutRedux.js +0 -24
- package/src/Redux/ActionsReducers/SmartEditRedux.js +0 -6
- package/src/Redux/ActionsReducers/StatusBarRedux.js +0 -6
- package/src/Redux/ActionsReducers/StyledColumnRedux.js +0 -27
- package/src/Redux/ActionsReducers/SystemStatusRedux.js +0 -6
- package/src/Redux/ActionsReducers/TeamSharingRedux.js +0 -1
- package/src/Redux/ActionsReducers/ThemeRedux.js +0 -26
- package/src/Redux/ActionsReducers/ToolPanelRedux.js +0 -22
- package/src/Redux/ActionsReducers/UserInterfaceRedux.js +0 -3
- package/src/Redux/ActionsReducers/utils.js +0 -6
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +0 -1
- package/src/Redux/Store/AdaptableReduxMerger.js +0 -25
- package/src/Redux/Store/AdaptableStore.js +5 -301
- package/src/Strategy/AdaptableModuleBase.js +0 -35
- package/src/Strategy/AlertModule.js +0 -9
- package/src/Strategy/CellSummaryModule.js +0 -12
- package/src/Strategy/ChartingModule.js +0 -1
- package/src/Strategy/ColumnFilterModule.js +1 -11
- package/src/Strategy/CommentModule.js +0 -2
- package/src/Strategy/DashboardModule.js +0 -4
- package/src/Strategy/ExportModule.js +0 -1
- package/src/Strategy/FlashingCellModule.js +0 -8
- package/src/Strategy/FormatColumnModule.js +0 -3
- package/src/Strategy/FreeTextColumnModule.js +0 -3
- package/src/Strategy/LayoutModule.js +0 -26
- package/src/Strategy/NoteModule.js +0 -3
- package/src/Strategy/PlusMinusModule.js +0 -3
- package/src/Strategy/SettingsPanelModule.js +0 -1
- package/src/Strategy/ShortcutModule.js +0 -1
- package/src/Strategy/SmartEditModule.js +0 -5
- package/src/Strategy/StatusBarModule.js +0 -7
- package/src/Strategy/StyledColumnModule.js +1 -16
- package/src/Strategy/TeamSharingModule.js +0 -9
- package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +0 -5
- package/src/Utilities/Constants/DocumentationLinkConstants.js +0 -1
- package/src/Utilities/Constants/GeneralConstants.js +0 -10
- package/src/Utilities/Constants/ObjectDefaultConstants.js +0 -3
- package/src/Utilities/Constants/ReduxConstants.js +4 -8
- package/src/Utilities/Emitter.js +0 -9
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +0 -8
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +0 -15
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +0 -3
- package/src/Utilities/ExpressionFunctions/deepMap.js +0 -16
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +0 -9
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +7 -78
- package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +0 -9
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +2 -16
- package/src/Utilities/Extensions/ArrayExtensions.js +1 -63
- package/src/Utilities/Extensions/NumberExtensions.js +0 -27
- package/src/Utilities/Extensions/ObjectExtensions.js +0 -36
- package/src/Utilities/Extensions/StringExtensions.js +0 -27
- package/src/Utilities/Helpers/ActionColumnHelper.js +0 -4
- package/src/Utilities/Helpers/AdaptableHelper.js +0 -8
- package/src/Utilities/Helpers/DateHelper.js +0 -10
- package/src/Utilities/Helpers/DisplayFormatHelper.js +0 -8
- package/src/Utilities/Helpers/Helper.js +3 -9
- package/src/Utilities/Helpers/PlusMinusHelper.js +0 -20
- package/src/Utilities/Helpers/QuickSearchHelper.js +0 -5
- package/src/Utilities/Helpers/Scheduling/CronExpression.js +0 -43
- package/src/Utilities/Helpers/Scheduling/ScheduledReportHelper.js +0 -4
- package/src/Utilities/Helpers/SettingsPanelHelper.js +40 -4
- package/src/Utilities/Helpers/StyleHelper.js +0 -56
- package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.js +0 -46
- package/src/Utilities/Helpers/StyledColumns/GradientStyleHelper.js +0 -38
- package/src/Utilities/Helpers/StyledColumns/IconStyleHelper.js +0 -39
- package/src/Utilities/Helpers/StyledColumns/PercentBarStyleHelper.js +0 -1
- package/src/Utilities/Helpers/StyledColumns/SparklineStyleHelper.js +0 -5
- package/src/Utilities/Helpers/StyledColumns/StyledColumnHelper.js +0 -37
- package/src/Utilities/Helpers/TimingHelper.js +0 -13
- package/src/Utilities/ObjectFactory.js +2 -4
- package/src/Utilities/Services/AggregatedScalarLiveValue.js +0 -7
- package/src/Utilities/Services/AlertService.js +0 -1
- package/src/Utilities/Services/AnnotationsService.js +0 -22
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +0 -8
- package/src/Utilities/Services/ChartingService.js +0 -9
- package/src/Utilities/Services/DataService.js +0 -11
- package/src/Utilities/Services/Fdc3Service.js +0 -3
- package/src/Utilities/Services/FlashingCellService.js +0 -6
- package/src/Utilities/Services/ModuleService.js +0 -8
- package/src/Utilities/Services/QueryLanguageService.js +2 -25
- package/src/Utilities/Services/RowFormService.js +0 -1
- package/src/Utilities/Services/RowSummaryService.js +1 -20
- package/src/Utilities/Services/TeamSharingService.js +0 -15
- package/src/Utilities/Services/ThemeService.js +0 -7
- package/src/Utilities/Services/ValidationService.js +0 -21
- package/src/Utilities/createAgStatusPanelComponent.js +0 -3
- package/src/Utilities/getExpressionViewItems.js +0 -2
- package/src/Utilities/getObjectTagsViewItems.js +0 -1
- package/src/Utilities/getScrollbarSize.js +0 -1
- package/src/Utilities/logDeprecation.js +0 -3
- package/src/Utilities/resolveContainerElement.js +0 -21
- package/src/Utilities/runIfNotResolvedIn.js +0 -7
- package/src/Utilities/sortColumnStateForVisibleColumns.js +2 -12
- package/src/Utilities/waitForTimeout.js +0 -1
- package/src/Utilities/wizardSelection.js +0 -2
- package/src/View/AdaptablePopover/index.js +1 -1
- package/src/View/AdaptableView.js +1 -5
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +0 -4
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +0 -23
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +0 -2
- package/src/View/AdaptableWizardView/Wizard.js +0 -12
- package/src/View/AdaptableWizardView/helper.js +0 -11
- package/src/View/Alert/ActiveAlertsPanel.js +0 -2
- package/src/View/Alert/AlertStatusSubPanel.js +0 -8
- package/src/View/Alert/Utilities/getAlertType.js +0 -7
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +0 -5
- package/src/View/Alert/Utilities/mapAlertDefinition.js +0 -3
- package/src/View/Alert/Wizard/AlertWizard.js +0 -2
- package/src/View/Alert/Wizard/isValidAlertRules.js +0 -1
- package/src/View/BulkUpdate/BulkUpdatePopup.js +0 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -3
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +0 -1
- package/src/View/CalculatedColumn/utils.d.ts +1 -1
- package/src/View/CellSummary/CellSummaryPopup.js +0 -3
- package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +1 -7
- package/src/View/Charting/EditChartButton.js +1 -4
- package/src/View/Charting/ShowChartButton.js +0 -3
- package/src/View/Charting/useAgChartState.js +0 -5
- package/src/View/Charting/useChartingElements.js +0 -4
- package/src/View/Charting/useExternalChartState.js +0 -6
- package/src/View/ColumnInfo/ColumnInfo.js +7 -17
- package/src/View/Comments/CommentsEditor.js +1 -16
- package/src/View/Components/AdaptableButton/AdaptableButtonComponent.js +0 -1
- package/src/View/Components/AdaptableButton/AdaptableButtonView.js +0 -3
- package/src/View/Components/AdaptableDateInput/index.js +2 -9
- package/src/View/Components/AdaptableIconComponent/index.js +0 -4
- package/src/View/Components/AdaptableIconSelector/index.js +0 -3
- package/src/View/Components/AdaptableInput/index.js +0 -2
- package/src/View/Components/Badge/index.js +0 -8
- package/src/View/Components/Buttons/ButtonNewPage.js +1 -2
- package/src/View/Components/CellPopup/index.js +1 -2
- package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +0 -4
- package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +0 -4
- package/src/View/Components/ColumnFilter/ColumnFilter.js +3 -46
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +0 -2
- package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -20
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -16
- package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -4
- package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +1 -6
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +0 -20
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +0 -5
- package/src/View/Components/ColumnFilter/utils.js +2 -9
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +0 -2
- package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +0 -1
- package/src/View/Components/EntityRulesEditor/index.js +1 -11
- package/src/View/Components/ExternalRenderer.js +1 -3
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -52
- package/src/View/Components/ModuleValueSelector/index.js +0 -2
- package/src/View/Components/Panels/PanelWithImage.js +1 -5
- package/src/View/Components/Panels/PanelWithRow.js +0 -3
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +0 -6
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +0 -3
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +0 -6
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -2
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +0 -1
- package/src/View/Components/Popups/AdaptablePopupAlert.js +0 -3
- package/src/View/Components/Popups/AdaptableToaster.js +0 -2
- package/src/View/Components/Popups/WindowPopups/WindowPopups.js +0 -8
- package/src/View/Components/RangesComponent.js +0 -57
- package/src/View/Components/Selectors/BulkUpdateValueSelector.js +0 -3
- package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -6
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -18
- package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +0 -4
- package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -4
- package/src/View/Components/ValueSelector/index.js +0 -4
- package/src/View/Components/wizardColumnListStyles.js +0 -5
- package/src/View/Dashboard/CustomToolbar.js +1 -25
- package/src/View/Dashboard/PinnedToolbarsSelector.js +0 -1
- package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -22
- package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +0 -1
- package/src/View/DataImport/systemFileHandlers.js +1 -1
- package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +0 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +0 -27
- package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +0 -1
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -7
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +0 -12
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +0 -10
- package/src/View/GridFilter/GridFilterPopup.js +0 -1
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +0 -2
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -31
- package/src/View/Layout/LayoutViewPanel.js +0 -2
- package/src/View/Layout/PivotDetailsPopoup.js +0 -2
- package/src/View/Layout/TransposedPopup.js +0 -7
- package/src/View/Layout/Wizard/LayoutWizard.js +1 -6
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +0 -2
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -32
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +0 -3
- package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +0 -2
- package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +0 -4
- package/src/View/Note/NotePopup.js +0 -1
- package/src/View/QuickSearch/QuickSearchPopup.js +0 -1
- package/src/View/StatusBar/AdaptableStatusBar.js +0 -4
- package/src/View/StatusBar/StatusBarPanel.js +0 -8
- package/src/View/StatusBar/StatusBarPopup.js +0 -2
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +0 -11
- package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +0 -28
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +0 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -25
- package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +0 -26
- package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +0 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +0 -40
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +0 -55
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +0 -15
- package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +0 -21
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.js +0 -10
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +0 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +0 -4
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +0 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +0 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +0 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +0 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +0 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +0 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +0 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +0 -21
- package/src/View/SystemStatus/SystemStatusPopup.js +0 -1
- package/src/View/TeamSharing/SharedEntityObjectView.js +0 -1
- package/src/View/Theme/ThemeSelector.js +0 -1
- package/src/View/UIHelper.js +0 -6
- package/src/View/UIInterfaces.js +0 -1
- package/src/View/Wizard/CollapsibleWizardCard.js +1 -8
- package/src/View/Wizard/OnePageWizards.js +2 -9
- package/src/View/Wizard/SummaryColorTag.js +0 -1
- package/src/View/Wizard/useKeyboardNavigation.js +1 -3
- package/src/agGrid/Adaptable.js +0 -12
- package/src/agGrid/AdaptableAgGrid.d.ts +0 -2
- package/src/agGrid/AdaptableAgGrid.js +3 -482
- package/src/agGrid/AdaptableFilterHandler.js +0 -5
- package/src/agGrid/AdaptableLogger.js +0 -6
- package/src/agGrid/AgGridAdapter.js +3 -90
- package/src/agGrid/AgGridColumnAdapter.js +6 -168
- package/src/agGrid/AgGridExportAdapter.js +4 -106
- package/src/agGrid/AgGridFilterAdapter.js +0 -5
- package/src/agGrid/AgGridFloatingFilterAdapter.js +0 -10
- package/src/agGrid/AgGridMenuAdapter.js +0 -143
- package/src/agGrid/AgGridModulesAdapter.js +0 -2
- package/src/agGrid/AgGridOptionsService.js +0 -2
- package/src/agGrid/AgGridThemeAdapter.js +0 -7
- package/src/agGrid/agGridDataTypeDefinitions.js +0 -8
- package/src/agGrid/cellRenderers/BadgeRenderer.js +0 -10
- package/src/agGrid/cellRenderers/BulletChartRenderer.js +1 -96
- package/src/agGrid/cellRenderers/IconRenderer.js +0 -55
- package/src/agGrid/cellRenderers/PercentBarRenderer.js +0 -51
- package/src/agGrid/cellRenderers/RangeBarRenderer.js +1 -50
- package/src/agGrid/cellRenderers/RatingRenderer.js +0 -40
- package/src/agGrid/editors/AdaptableDateEditor/index.js +0 -18
- package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +0 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +0 -11
- package/src/agGrid/editors/AdaptablePercentageEditor/index.js +0 -9
- package/src/agGrid/index.js +1 -9
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -73
- package/src/components/CodeBlock/index.d.ts +0 -1
- package/src/components/CodeBlock/index.js +1 -2
- package/src/components/ColorPicker/ColorPicker.js +0 -6
- package/src/components/Combobox/VirtualizedList.js +0 -5
- package/src/components/Combobox/index.js +5 -63
- package/src/components/Dashboard/Dashboard.js +1 -4
- package/src/components/Datepicker/index.js +2 -97
- package/src/components/DragAndDropContext/TabList.js +2 -6
- package/src/components/Drawer/index.js +0 -7
- package/src/components/Dropdown/index.js +0 -1
- package/src/components/DropdownButton/index.js +0 -1
- package/src/components/ExpressionEditor/BaseEditorInput.js +1 -16
- package/src/components/ExpressionEditor/EditorButton.js +0 -1
- package/src/components/ExpressionEditor/EditorInput.js +1 -7
- package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +0 -1
- package/src/components/ExpressionEditor/ExpressionPreview.js +4 -14
- package/src/components/ExpressionEditor/NamedQueryContext.js +0 -1
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +1 -6
- package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +0 -12
- package/src/components/ExpressionEditor/QueryBuilder/utils.js +0 -4
- package/src/components/ExpressionEditor/index.js +5 -14
- package/src/components/Icon/index.js +0 -2
- package/src/components/Input/NumberInput.js +0 -10
- package/src/components/Modal/Backdrop.js +0 -1
- package/src/components/OverlayTrigger/Overlay.js +0 -1
- package/src/components/OverlayTrigger/index.js +3 -15
- package/src/components/ProgressIndicator/ProgressIndicator.js +3 -16
- package/src/components/ResizeObserver/index.js +0 -7
- package/src/components/SimpleButton/index.js +2 -16
- package/src/components/Tabs/index.js +0 -3
- package/src/components/Tag/Tag.js +0 -1
- package/src/components/Tag/columnScopeTagHelpers.js +0 -2
- package/src/components/Textarea/index.js +1 -8
- package/src/components/Toggle/Toggle.js +1 -5
- package/src/components/Toggle/ToggleGroup.js +1 -3
- package/src/components/ToggleButton/index.js +1 -3
- package/src/components/Tree/TreeDropdown/index.js +2 -130
- package/src/components/Tree/treeUtils.js +0 -4
- package/src/components/WindowModal/WindowModal.js +1 -14
- package/src/components/WindowModal/useStacking.js +0 -7
- package/src/components/icons/bullet-chart.js +0 -4
- package/src/components/icons/icon-style.js +0 -4
- package/src/components/icons/index.js +26 -36
- package/src/components/icons/range-bar.js +0 -5
- package/src/components/icons/star.js +0 -1
- package/src/components/twUtils.js +3 -12
- package/src/components/ui/calendar.js +1 -9
- package/src/components/ui/combobox.js +0 -4
- package/src/components/utils/captureTabNavigation/getFocusableChildren.js +0 -1
- package/src/components/utils/useDraggable.js +0 -4
- package/src/components/utils/useProperty.js +0 -18
- package/src/devTools/index.js +0 -1
- package/src/env.js +2 -2
- package/src/layout-manager/src/LMEmitter.js +0 -5
- package/src/layout-manager/src/destructurePivotColumnId.js +0 -19
- package/src/layout-manager/src/index.js +2 -182
- package/src/layout-manager/src/isLayoutEqual.js +0 -1
- package/src/layout-manager/src/isPivotColumnTotal.js +0 -2
- package/src/layout-manager/src/normalizeLayoutModel.js +0 -27
- package/src/layout-manager/src/simplifyLayoutModel.js +0 -11
- package/src/layout-manager/src/sortColumnIdsByOrder.js +2 -12
- package/src/lib/utils.js +0 -1
- package/src/migration/AdaptableUpgradeHelper.js +0 -2
- package/src/migration/VersionUpgrade17.js +0 -33
- package/src/migration/VersionUpgrade20.js +1 -21
- package/src/migration/VersionUpgrade21.js +0 -3
- package/src/migration/VersionUpgrade22.js +0 -11
- package/src/migration/VersionUpgrade23.js +0 -73
- package/src/parser/src/evaluator.js +0 -1
- package/src/parser/src/index.js +0 -1
- package/src/parser/src/parser.js +4 -103
- package/src/parser/src/predicate/mapExpressionToQlPredicate.js +0 -5
- package/src/parser/src/predicate/mapQlPredicateToExpression.js +0 -2
- package/src/parser/src/tokenizer.js +0 -2
- package/src/parser/src/utils.js +0 -1
- package/src/renderReactRoot.js +0 -12
- package/src/setupDevTools.js +0 -6
- package/src/twMerge.js +0 -1
- package/src/types.d.ts +1 -1
- package/src/types.js +0 -2
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/AdaptableState/Common/NamedObject.d.ts +0 -10
- package/src/AdaptableState/Common/NamedObject.js +0 -1
- package/src/Utilities/ExpressionFunctions/groupingMap.d.ts +0 -35
- package/src/Utilities/ExpressionFunctions/groupingMap.js +0 -100
- package/src/Utilities/Interface/AdaptableToolPanelContext.d.ts +0 -4
- package/src/Utilities/Interface/AdaptableToolPanelContext.js +0 -1
- package/src/Utilities/Services/Interface/IMetamodelService.d.ts +0 -20
- package/src/Utilities/Services/Interface/IMetamodelService.js +0 -1
- package/src/Utilities/Services/MetamodelService.d.ts +0 -17
- package/src/Utilities/Services/MetamodelService.js +0 -162
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.d.ts +0 -6
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +0 -99
- package/src/View/Components/Buttons/EntityListActionButtons.d.ts +0 -38
- package/src/View/Components/Buttons/EntityListActionButtons.js +0 -42
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.d.ts +0 -12
- package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +0 -67
- package/src/View/Components/EntityRowItem.d.ts +0 -7
- package/src/View/Components/EntityRowItem.js +0 -7
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +0 -3
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +0 -5
- package/src/View/Components/ModuleProfile.d.ts +0 -8
- package/src/View/Components/ModuleProfile.js +0 -10
- package/src/View/Components/ModuleSummary/ModuleDetail.d.ts +0 -23
- package/src/View/Components/ModuleSummary/ModuleDetail.js +0 -15
- package/src/View/Components/ModuleSummary/ModuleHeader.d.ts +0 -15
- package/src/View/Components/ModuleSummary/ModuleHeader.js +0 -15
- package/src/View/Components/ModuleSummary/SummaryRowItem.d.ts +0 -7
- package/src/View/Components/ModuleSummary/SummaryRowItem.js +0 -12
- package/src/View/Components/SharedProps/ModuleSummaryProps.d.ts +0 -9
- package/src/View/Components/SharedProps/ModuleSummaryProps.js +0 -1
- package/src/View/Components/SharedProps/ToolPanelModuleViewPopupProps.d.ts +0 -13
- package/src/View/Components/SharedProps/ToolPanelModuleViewPopupProps.js +0 -1
- package/src/View/Components/SharedProps/ToolbarModuleViewPopupProps.d.ts +0 -14
- package/src/View/Components/SharedProps/ToolbarModuleViewPopupProps.js +0 -1
- package/src/View/Components/StyleVisualItem.d.ts +0 -9
- package/src/View/Components/StyleVisualItem.js +0 -40
- package/src/View/Components/WizardSummaryPage.d.ts +0 -7
- package/src/View/Components/WizardSummaryPage.js +0 -17
- package/src/components/Accordion.d.ts +0 -7
- package/src/components/Accordion.js +0 -33
- package/src/components/FlexWithFooter.d.ts +0 -9
- package/src/components/FlexWithFooter.js +0 -13
- package/src/components/NotifyResize/index.d.ts +0 -9
- package/src/components/NotifyResize/index.js +0 -35
- package/src/components/PopupWithFooter.d.ts +0 -14
- package/src/components/PopupWithFooter.js +0 -11
- package/src/components/SelectableList/index.d.ts +0 -15
- package/src/components/SelectableList/index.js +0 -95
- package/src/components/SizedContainer/index.d.ts +0 -17
- package/src/components/SizedContainer/index.js +0 -20
- package/src/components/Table/index.d.ts +0 -4
- package/src/components/Table/index.js +0 -6
- package/src/components/WizardPanel/index.d.ts +0 -9
- package/src/components/WizardPanel/index.js +0 -7
- package/src/components/icons/align-justify.d.ts +0 -3
- package/src/components/icons/align-justify.js +0 -3
- package/src/components/icons/column-info.d.ts +0 -3
- package/src/components/icons/column-info.js +0 -3
- package/src/components/icons/gradient-column.d.ts +0 -3
- package/src/components/icons/gradient-column.js +0 -3
- package/src/components/icons/invalid.d.ts +0 -3
- package/src/components/icons/invalid.js +0 -3
- package/src/components/icons/logout copy.d.ts +0 -3
- package/src/components/icons/logout copy.js +0 -3
- package/src/components/icons/smart-edit.d.ts +0 -3
- package/src/components/icons/smart-edit.js +0 -3
- package/src/components/icons/team-share.d.ts +0 -3
- package/src/components/icons/team-share.js +0 -3
- package/src/components/icons/unchecked.d.ts +0 -3
- package/src/components/icons/unchecked.js +0 -3
- package/src/components/icons/user-filter.d.ts +0 -3
- package/src/components/icons/user-filter.js +0 -3
- package/src/components/utils/useContainerScrollObserver/index.d.ts +0 -6
- package/src/components/utils/useContainerScrollObserver/index.js +0 -79
- package/src/components/utils/useGlobalEvent.d.ts +0 -1
- package/src/components/utils/useGlobalEvent.js +0 -7
- package/src/components/utils/useLatest.d.ts +0 -1
- package/src/components/utils/useLatest.js +0 -6
- package/src/components/utils/usePropState.d.ts +0 -2
- package/src/components/utils/usePropState.js +0 -8
- package/src/metamodel/adaptable-metamodel-model.d.ts +0 -26
- package/src/metamodel/adaptable-metamodel-model.js +0 -1
- package/src/metamodel/adaptable.metamodel.d.ts +0 -6244
- package/src/metamodel/adaptable.metamodel.js +0 -1
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns true if the supplied entry from a form's `fields` array is a
|
|
3
|
-
* group rather than a single field or an inline-row array of fields.
|
|
4
|
-
*/
|
|
5
1
|
export function isAdaptableFormFieldGroup(entry) {
|
|
6
2
|
return !!entry && !Array.isArray(entry) && entry.kind === 'group';
|
|
7
3
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Flattens a form's `fields` array (which may contain field groups and
|
|
10
|
-
* inline-row arrays) into a single flat list of fields. Useful when
|
|
11
|
-
* computing defaults, validation or per-field lookups.
|
|
12
|
-
*/
|
|
13
4
|
export function flattenAdaptableFormFields(formDef) {
|
|
14
5
|
const out = [];
|
|
15
6
|
for (const entry of formDef?.fields ?? []) {
|
|
@@ -66,10 +57,6 @@ export function resolveSelectPlaceholder(field, options) {
|
|
|
66
57
|
export function getDefaultAdaptableFormData(formDef) {
|
|
67
58
|
return flattenAdaptableFormFields(formDef).reduce((data, field) => {
|
|
68
59
|
if (field.fieldType === 'select' && field.multi) {
|
|
69
|
-
// Multi-selects always work in terms of arrays. Allow the consumer to
|
|
70
|
-
// supply an explicit defaultValue (which may already be an array) but
|
|
71
|
-
// fall back to an empty array rather than '' so downstream code never
|
|
72
|
-
// has to guard against a string value.
|
|
73
60
|
data[field.name] = Array.isArray(field.defaultValue)
|
|
74
61
|
? field.defaultValue
|
|
75
62
|
: field.defaultValue == null || field.defaultValue === ''
|
|
@@ -82,15 +69,6 @@ export function getDefaultAdaptableFormData(formDef) {
|
|
|
82
69
|
return data;
|
|
83
70
|
}, {});
|
|
84
71
|
}
|
|
85
|
-
/**
|
|
86
|
-
* Resolves a field's `options` to the current array of options.
|
|
87
|
-
*
|
|
88
|
-
* - When `options` is already an array, it's returned as-is.
|
|
89
|
-
* - When it's a synchronous function, the function is invoked.
|
|
90
|
-
* - When the function returns a Promise this helper returns `undefined` -
|
|
91
|
-
* asynchronous resolution is the caller's responsibility (the
|
|
92
|
-
* `AdaptableFormComponent` resolves promises via internal state).
|
|
93
|
-
*/
|
|
94
72
|
export function resolveAdaptableFormFieldOptionsSync(field, formData, context) {
|
|
95
73
|
const opts = field.options;
|
|
96
74
|
if (!opts)
|
|
@@ -102,45 +80,24 @@ export function resolveAdaptableFormFieldOptionsSync(field, formData, context) {
|
|
|
102
80
|
return undefined;
|
|
103
81
|
return result;
|
|
104
82
|
}
|
|
105
|
-
/**
|
|
106
|
-
* Returns true if the given field should be hidden given the current form
|
|
107
|
-
* data and context. Resolves both boolean and function forms of `hidden`.
|
|
108
|
-
*/
|
|
109
83
|
export function isAdaptableFormFieldHidden(field, formData, context) {
|
|
110
84
|
if (typeof field.hidden === 'function') {
|
|
111
85
|
return !!field.hidden(formData, context);
|
|
112
86
|
}
|
|
113
87
|
return !!field.hidden;
|
|
114
88
|
}
|
|
115
|
-
/**
|
|
116
|
-
* Returns true if the given group should be hidden given the current
|
|
117
|
-
* form data and context.
|
|
118
|
-
*/
|
|
119
89
|
export function isAdaptableFormFieldGroupHidden(group, formData, context) {
|
|
120
90
|
if (typeof group.hidden === 'function') {
|
|
121
91
|
return !!group.hidden(formData, context);
|
|
122
92
|
}
|
|
123
93
|
return !!group.hidden;
|
|
124
94
|
}
|
|
125
|
-
/**
|
|
126
|
-
* Returns true if the given field should be disabled given the current
|
|
127
|
-
* form data and context. Resolves both boolean and function forms of
|
|
128
|
-
* `disabled`.
|
|
129
|
-
*/
|
|
130
95
|
export function isAdaptableFormFieldDisabled(field, formData, context) {
|
|
131
96
|
if (typeof field.disabled === 'function') {
|
|
132
97
|
return !!field.disabled(formData, context);
|
|
133
98
|
}
|
|
134
99
|
return !!field.disabled;
|
|
135
100
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Validates an entire AdaptableForm. Hidden fields and fields inside
|
|
138
|
-
* hidden groups are skipped. Returns a map of field-name to error
|
|
139
|
-
* message; fields without entries are valid.
|
|
140
|
-
*
|
|
141
|
-
* Validation order per field: `required` -> built-in (min/max/length/
|
|
142
|
-
* pattern) -> custom `validate`. The first failing check wins.
|
|
143
|
-
*/
|
|
144
101
|
export function validateAdaptableForm(formDef, formData, context) {
|
|
145
102
|
const errors = {};
|
|
146
103
|
for (const entry of formDef?.fields ?? []) {
|
|
@@ -175,11 +132,9 @@ function validateOne(field, formData, context, errors) {
|
|
|
175
132
|
}
|
|
176
133
|
function validateAdaptableFormField(field, formData, context) {
|
|
177
134
|
const value = formData[field.name];
|
|
178
|
-
// textOutput is read-only; never produces validation errors
|
|
179
135
|
if (field.fieldType === 'textOutput') {
|
|
180
136
|
return null;
|
|
181
137
|
}
|
|
182
|
-
// 1) required
|
|
183
138
|
if (field.required) {
|
|
184
139
|
const isEmpty = value == null ||
|
|
185
140
|
value === '' ||
|
|
@@ -189,9 +144,7 @@ function validateAdaptableFormField(field, formData, context) {
|
|
|
189
144
|
return `${field.label} is required`;
|
|
190
145
|
}
|
|
191
146
|
}
|
|
192
|
-
// empty optional values skip subsequent built-ins
|
|
193
147
|
const isProvided = value != null && value !== '';
|
|
194
|
-
// 2) built-in numeric / length / pattern checks
|
|
195
148
|
if (isProvided) {
|
|
196
149
|
if (field.fieldType === 'number' || field.fieldType === 'slider') {
|
|
197
150
|
const numValue = Number(value);
|
|
@@ -230,12 +183,10 @@ function validateAdaptableFormField(field, formData, context) {
|
|
|
230
183
|
}
|
|
231
184
|
}
|
|
232
185
|
catch {
|
|
233
|
-
// invalid pattern - silently ignore so we don't crash the form
|
|
234
186
|
}
|
|
235
187
|
}
|
|
236
188
|
}
|
|
237
189
|
}
|
|
238
|
-
// 3) custom validation
|
|
239
190
|
if (field.validate) {
|
|
240
191
|
const customError = field.validate(value, formData, context);
|
|
241
192
|
if (customError) {
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Concrete options associated with each numeric preset. The wizard and
|
|
3
|
-
* runtime resolver both pull from this single source of truth.
|
|
4
|
-
*/
|
|
5
1
|
export const NUMERIC_FORMAT_PRESETS = {
|
|
6
2
|
Percentage: {
|
|
7
3
|
FractionDigits: 2,
|
|
@@ -155,18 +151,9 @@ export const NUMERIC_FORMAT_PRESETS = {
|
|
|
155
151
|
Notation: 'scientific',
|
|
156
152
|
},
|
|
157
153
|
};
|
|
158
|
-
/**
|
|
159
|
-
* Type guard: `true` if the value is a known numeric preset name.
|
|
160
|
-
*/
|
|
161
154
|
export const isAdaptableNumericFormatPreset = (value) => {
|
|
162
155
|
return typeof value === 'string' && value in NUMERIC_FORMAT_PRESETS;
|
|
163
156
|
};
|
|
164
|
-
/**
|
|
165
|
-
* Resolve a `DisplayFormat` (preset name or concrete object) into a
|
|
166
|
-
* concrete `AdaptableFormat`. Returns `undefined` if the input is
|
|
167
|
-
* `undefined`. A bare preset name is expanded into a `NumberFormatter`
|
|
168
|
-
* with the corresponding options.
|
|
169
|
-
*/
|
|
170
157
|
export const resolveDisplayFormat = (displayFormat) => {
|
|
171
158
|
if (displayFormat == null) {
|
|
172
159
|
return undefined;
|
|
@@ -19,13 +19,12 @@ function getGroupValuesForNode(config) {
|
|
|
19
19
|
const { node, value } = config;
|
|
20
20
|
const groupValues = node.group
|
|
21
21
|
? []
|
|
22
|
-
:
|
|
22
|
+
: value != null
|
|
23
23
|
? [value]
|
|
24
24
|
: [];
|
|
25
25
|
let currentNode = node.group ? node : node.parent;
|
|
26
26
|
while (currentNode && currentNode.groupData && Object.keys(currentNode.groupData).length > 0) {
|
|
27
27
|
if (currentNode.treeParent && !currentNode.data) {
|
|
28
|
-
// skip filler groups in tree mode
|
|
29
28
|
}
|
|
30
29
|
else {
|
|
31
30
|
groupValues.unshift(currentNode.groupData[AG_GRID_GROUPED_COLUMN]);
|
|
@@ -34,9 +33,6 @@ function getGroupValuesForNode(config) {
|
|
|
34
33
|
}
|
|
35
34
|
return groupValues;
|
|
36
35
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Array of Predicate Defs which are shipped by AdapTable
|
|
39
|
-
*/
|
|
40
36
|
export const SystemPredicateDefs = [
|
|
41
37
|
{
|
|
42
38
|
id: 'In',
|
|
@@ -55,11 +51,8 @@ export const SystemPredicateDefs = [
|
|
|
55
51
|
if (!predicateInput) {
|
|
56
52
|
return;
|
|
57
53
|
}
|
|
58
|
-
// make sure that the input Predicate is included in the 'In' Predicate
|
|
59
54
|
if (adaptableApi.columnScopeApi.scopeIsAll(predicateInput.columnScope) ||
|
|
60
|
-
adaptableApi.columnScopeApi.isScopeInScope(predicateInput.columnScope,
|
|
61
|
-
// 'In' ColumnScope
|
|
62
|
-
{
|
|
55
|
+
adaptableApi.columnScopeApi.isScopeInScope(predicateInput.columnScope, {
|
|
63
56
|
DataTypes: ['text', 'number', 'date', 'textArray', 'numberArray'],
|
|
64
57
|
})) {
|
|
65
58
|
return predicateInput;
|
|
@@ -75,7 +68,6 @@ export const SystemPredicateDefs = [
|
|
|
75
68
|
}, nestedContext, false);
|
|
76
69
|
});
|
|
77
70
|
if (predicateResult) {
|
|
78
|
-
// We want to use the only true values, to allow for multiple predicates to be used
|
|
79
71
|
return predicateResult;
|
|
80
72
|
}
|
|
81
73
|
}
|
|
@@ -85,17 +77,7 @@ export const SystemPredicateDefs = [
|
|
|
85
77
|
if (column.columnId === AG_GRID_GROUPED_COLUMN) {
|
|
86
78
|
const { node, treeSelectionState } = context;
|
|
87
79
|
const groupValues = getGroupValuesForNode({ node, value });
|
|
88
|
-
// for non-trees, this line is reached for every leaf-row
|
|
89
|
-
// so for 2 levels-deep, groupValues is an array of ['level1-value','level2-value','leaf-value']
|
|
90
|
-
// but for trees, the groupValues is first an array with only
|
|
91
|
-
// one value, the current branch root - and if we go via the treeSelectionState
|
|
92
|
-
// that root might have a leaf selected, but if we return true here
|
|
93
|
-
// ag grid would include all rows of that branch - which is not what we want
|
|
94
|
-
// so we want to enter the `if` block and use the startsWith check
|
|
95
80
|
if (column.isTreeColumn || !treeSelectionState) {
|
|
96
|
-
// in case we don't have treeSelectionState
|
|
97
|
-
// this is another possible implementation
|
|
98
|
-
// though it won't be as performant as using the treeSelectionState
|
|
99
81
|
const currentValues = (groupValues ?? []).join('#');
|
|
100
82
|
return inputs.some((values) => {
|
|
101
83
|
const valuesString = values.join('#');
|
|
@@ -103,32 +85,14 @@ export const SystemPredicateDefs = [
|
|
|
103
85
|
});
|
|
104
86
|
}
|
|
105
87
|
const result = groupValues ? treeSelectionState.isNodeSelected(groupValues) : false;
|
|
106
|
-
// console.log('filter', groupValues, 'pass', result, treeSelectionState.getState());
|
|
107
88
|
return result;
|
|
108
89
|
}
|
|
109
90
|
if (column.dataType === 'date') {
|
|
110
|
-
// Inputs come from one of two flows:
|
|
111
|
-
// 1. The default-values tree's calendar leaves — short strings
|
|
112
|
-
// like "2024", "2024-01" or "2024-01-15" (no time component).
|
|
113
|
-
// 2. A full timestamp — either the tree's optional time leaf or
|
|
114
|
-
// the `customInFilterValues` + `orderedValues` path, where
|
|
115
|
-
// `Date` values are normalised to ISO strings (always carrying
|
|
116
|
-
// a `T` separator).
|
|
117
|
-
//
|
|
118
|
-
// `evaluateInPredicateUsingTime` is only meaningful for case (1):
|
|
119
|
-
// it switches the calendar leaf between day-level matching and
|
|
120
|
-
// exact-instant matching against the cell's `Date`. For case (2)
|
|
121
|
-
// the user has explicitly picked a specific instant, so we always
|
|
122
|
-
// compare with time regardless of the option.
|
|
123
91
|
return inputs.some((input) => {
|
|
124
92
|
const hasTimeComponent = typeof input === 'string' && input.includes('T');
|
|
125
93
|
const useTime = hasTimeComponent ||
|
|
126
94
|
adaptableApi.predicateApi.internalApi.shouldEvaluateInPredicateUsingTime(column.columnId);
|
|
127
95
|
if (useTime) {
|
|
128
|
-
// `input` may be a string (e.g. an ISO timestamp serialised through
|
|
129
|
-
// JSON when the listbox tree dropdown round-trips path keys), so
|
|
130
|
-
// normalise both sides to `Date` before comparing — date-fns
|
|
131
|
-
// `isEqual` only accepts `Date | number`.
|
|
132
96
|
return isEqual(parseDateValue(input), parseDateValue(value));
|
|
133
97
|
}
|
|
134
98
|
else {
|
|
@@ -168,80 +132,6 @@ export const SystemPredicateDefs = [
|
|
|
168
132
|
toString: ({ inputs }) => `IN (${inputs.join(', ')})`,
|
|
169
133
|
shortcuts: ['#', '['],
|
|
170
134
|
},
|
|
171
|
-
// {
|
|
172
|
-
// id: 'Tree',
|
|
173
|
-
// label: 'Tree',
|
|
174
|
-
// icon: { text: 'Tree' },
|
|
175
|
-
// columnScope: { DataTypes: ['date'] },
|
|
176
|
-
// moduleScope: ['columnFilter', 'flashingcell', 'formatColumn', 'alert'],
|
|
177
|
-
// handler: (context) => {
|
|
178
|
-
// const { inputs = [], column, value, adaptableApi } = context;
|
|
179
|
-
// const predicateInputs = (context.inputs || []).reduce<AdaptablePredicateDef[]>(
|
|
180
|
-
// (acc, input) => {
|
|
181
|
-
// const predicate = adaptableApi.predicateApi.getPredicateDefById(input);
|
|
182
|
-
// if (predicate) {
|
|
183
|
-
// acc.push(predicate);
|
|
184
|
-
// }
|
|
185
|
-
// return acc;
|
|
186
|
-
// },
|
|
187
|
-
// []
|
|
188
|
-
// );
|
|
189
|
-
// if (predicateInputs.length) {
|
|
190
|
-
// const nestedContext = { ...context };
|
|
191
|
-
// delete nestedContext.inputs;
|
|
192
|
-
// const predicateResult = predicateInputs.some((predicate) => {
|
|
193
|
-
// return adaptableApi.predicateApi.handlePredicate(
|
|
194
|
-
// {
|
|
195
|
-
// PredicateId: predicate.id,
|
|
196
|
-
// },
|
|
197
|
-
// nestedContext,
|
|
198
|
-
// false
|
|
199
|
-
// );
|
|
200
|
-
// });
|
|
201
|
-
// if (predicateResult) {
|
|
202
|
-
// // We want to use the only true values, to allow for multiple predicates to be used
|
|
203
|
-
// return predicateResult;
|
|
204
|
-
// }
|
|
205
|
-
// }
|
|
206
|
-
// if (inputs.length === 0) {
|
|
207
|
-
// return true;
|
|
208
|
-
// }
|
|
209
|
-
// if (column.dataType === 'date') {
|
|
210
|
-
// const treeSelectionState = new TreeSelectionState(
|
|
211
|
-
// {
|
|
212
|
-
// defaultSelection: false,
|
|
213
|
-
// // make sure something like
|
|
214
|
-
// // Predicates: [{ PredicateId: 'Tree', Inputs: [['2021', '2'], ['2022']] }],
|
|
215
|
-
// // is always converted to numbers
|
|
216
|
-
// selectedPaths: inputs
|
|
217
|
-
// .map((array) => {
|
|
218
|
-
// if (!Array.isArray(array)) {
|
|
219
|
-
// return null;
|
|
220
|
-
// }
|
|
221
|
-
// return array.map(Number);
|
|
222
|
-
// })
|
|
223
|
-
// .filter(Boolean),
|
|
224
|
-
// },
|
|
225
|
-
// () => {
|
|
226
|
-
// return {
|
|
227
|
-
// treeDeepMap: new DeepMap<string, any>(),
|
|
228
|
-
// treePaths: new DeepMap<string, any>(),
|
|
229
|
-
// };
|
|
230
|
-
// }
|
|
231
|
-
// );
|
|
232
|
-
// const currrentDate = parseDateValue(value);
|
|
233
|
-
// const currentYear = currrentDate.getFullYear();
|
|
234
|
-
// const currentMonth = currrentDate.getMonth() + 1;
|
|
235
|
-
// const currentDay = currrentDate.getDate();
|
|
236
|
-
// const result = treeSelectionState.isNodeSelected([currentYear, currentMonth, currentDay]);
|
|
237
|
-
// // console.log({ currentYear, currentMonth, currentDay, result, inputs: inputs.join('-') });
|
|
238
|
-
// return result;
|
|
239
|
-
// }
|
|
240
|
-
// return true;
|
|
241
|
-
// },
|
|
242
|
-
// toString: ({ inputs }) => `IN Tree (${inputs.join(', ')})`,
|
|
243
|
-
// shortcuts: ['#', '['],
|
|
244
|
-
// },
|
|
245
135
|
{
|
|
246
136
|
id: 'NotIn',
|
|
247
137
|
label: 'Not In',
|
|
@@ -256,11 +146,8 @@ export const SystemPredicateDefs = [
|
|
|
256
146
|
if (!predicateInput) {
|
|
257
147
|
return;
|
|
258
148
|
}
|
|
259
|
-
// make sure that the input Predicate is included in the 'NotIn' Predicate
|
|
260
149
|
if (adaptableApi.columnScopeApi.scopeIsAll(predicateInput.columnScope) ||
|
|
261
|
-
adaptableApi.columnScopeApi.isScopeInScope(predicateInput.columnScope,
|
|
262
|
-
// 'NotIn' ColumnScope
|
|
263
|
-
{
|
|
150
|
+
adaptableApi.columnScopeApi.isScopeInScope(predicateInput.columnScope, {
|
|
264
151
|
DataTypes: ['text', 'number', 'date', 'textArray', 'numberArray'],
|
|
265
152
|
})) {
|
|
266
153
|
return predicateInput;
|
|
@@ -277,11 +164,9 @@ export const SystemPredicateDefs = [
|
|
|
277
164
|
return res === false;
|
|
278
165
|
});
|
|
279
166
|
if (!predicateResult) {
|
|
280
|
-
// We want to use the only true values, to allow for multiple predicates to be used
|
|
281
167
|
return false;
|
|
282
168
|
}
|
|
283
169
|
}
|
|
284
|
-
// basically negation of IN
|
|
285
170
|
if (inputs.length === 0) {
|
|
286
171
|
return true;
|
|
287
172
|
}
|
|
@@ -357,7 +242,6 @@ export const SystemPredicateDefs = [
|
|
|
357
242
|
return Helper.isInputNotNullOrEmpty(value);
|
|
358
243
|
},
|
|
359
244
|
},
|
|
360
|
-
// Numeric System Filters
|
|
361
245
|
{
|
|
362
246
|
id: 'GreaterThan',
|
|
363
247
|
label: 'Greater Than',
|
|
@@ -470,7 +354,6 @@ export const SystemPredicateDefs = [
|
|
|
470
354
|
toString: ({ inputs }) => `Not Between ${inputs[0] ?? ''}:${inputs[1]}`,
|
|
471
355
|
shortcuts: ['!:'],
|
|
472
356
|
},
|
|
473
|
-
// String System Filters
|
|
474
357
|
{
|
|
475
358
|
id: 'Is',
|
|
476
359
|
label: 'Equals',
|
|
@@ -591,7 +474,6 @@ export const SystemPredicateDefs = [
|
|
|
591
474
|
handler: ({ value, inputs }) => new RegExp(inputs[0]).test(value),
|
|
592
475
|
toString: ({ inputs }) => `Regex ${inputs[0] ?? ''}`,
|
|
593
476
|
},
|
|
594
|
-
// Date System Filters
|
|
595
477
|
{
|
|
596
478
|
id: 'Today',
|
|
597
479
|
label: 'Today',
|
|
@@ -745,7 +627,6 @@ export const SystemPredicateDefs = [
|
|
|
745
627
|
inputs: [{ type: 'date' }, { type: 'date' }],
|
|
746
628
|
handler: ({ value, inputs }) => new Date(value) >= new Date(inputs[0]) && new Date(value) <= new Date(inputs[1]),
|
|
747
629
|
},
|
|
748
|
-
// Boolean System Filters
|
|
749
630
|
{
|
|
750
631
|
id: 'True',
|
|
751
632
|
label: 'True',
|
|
@@ -769,17 +650,14 @@ export const SystemPredicateDefs = [
|
|
|
769
650
|
columnScope: { DataTypes: ['boolean'] },
|
|
770
651
|
moduleScope: ['columnFilter'],
|
|
771
652
|
inputs: [{ type: 'boolean' }],
|
|
772
|
-
// working with string aliases instead of booleans because the ColumnFilterAPI cannot handle falsy filter values (it ignores them)
|
|
773
653
|
handler: ({ value, inputs }) => {
|
|
774
654
|
if (inputs[0] == 'all') {
|
|
775
|
-
// if it's indeterminate, all values (true&false) are matched
|
|
776
655
|
return true;
|
|
777
656
|
}
|
|
778
657
|
const booleanInputValue = inputs[0] === 'checked' ? true : false;
|
|
779
658
|
return Boolean(value) === Boolean(booleanInputValue);
|
|
780
659
|
},
|
|
781
660
|
},
|
|
782
|
-
// Other System Filters
|
|
783
661
|
{
|
|
784
662
|
id: 'AnyChange',
|
|
785
663
|
label: 'Any Change',
|
|
@@ -17,21 +17,11 @@ export const getAggFuncName = (aggFunc) => {
|
|
|
17
17
|
return aggFunc;
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
/**
|
|
21
|
-
* Whether the Weighted Average aggregation should be offered for this Column:
|
|
22
|
-
* it must be a numeric, aggregatable Column that either has no agg-func
|
|
23
|
-
* restriction or explicitly allows `weightedAvg`.
|
|
24
|
-
*/
|
|
25
20
|
export const isWeightedAverageAggFuncEligible = (column) => {
|
|
26
21
|
const weightedAverageAllowed = !column.userAllowedAggFuncs?.length ||
|
|
27
22
|
column.userAllowedAggFuncs.includes(WEIGHTED_AVERAGE_AGG_FN_NAME);
|
|
28
23
|
return column.dataType === 'number' && column.aggregatable && weightedAverageAllowed;
|
|
29
24
|
};
|
|
30
|
-
/**
|
|
31
|
-
* Returns the Column's available aggregation function names ordered for display,
|
|
32
|
-
* ensuring `weightedAvg` is positioned right after `avg` (and only present when
|
|
33
|
-
* the Column is eligible for Weighted Average).
|
|
34
|
-
*/
|
|
35
25
|
export const getDisplayAggFuncNames = (column) => {
|
|
36
26
|
const names = [...new Set(column.availableAggregationFunctions || [])].filter((name) => name !== WEIGHTED_AVERAGE_AGG_FN_NAME);
|
|
37
27
|
if (isWeightedAverageAggFuncEligible(column)) {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// General Enums
|
|
2
1
|
export var MathOperation;
|
|
3
2
|
(function (MathOperation) {
|
|
4
3
|
MathOperation["Add"] = "Add";
|
|
@@ -6,7 +5,6 @@ export var MathOperation;
|
|
|
6
5
|
MathOperation["Multiply"] = "Multiply";
|
|
7
6
|
MathOperation["Divide"] = "Divide";
|
|
8
7
|
})(MathOperation || (MathOperation = {}));
|
|
9
|
-
// Enums used in Strategies
|
|
10
8
|
export var SortOrder;
|
|
11
9
|
(function (SortOrder) {
|
|
12
10
|
SortOrder["Asc"] = "Asc";
|
|
@@ -24,7 +22,6 @@ export var FontStyle;
|
|
|
24
22
|
})(FontStyle || (FontStyle = {}));
|
|
25
23
|
export var FontSize;
|
|
26
24
|
(function (FontSize) {
|
|
27
|
-
// Default = 'Default',
|
|
28
25
|
FontSize["XSmall"] = "XSmall";
|
|
29
26
|
FontSize["Small"] = "Small";
|
|
30
27
|
FontSize["Medium"] = "Medium";
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* List of Shipped Adaptable Column Menu Items
|
|
3
|
-
*/
|
|
4
1
|
export const ADAPTABLE_COLUMN_MENU_ITEMS = [
|
|
5
2
|
'calculated-column-edit',
|
|
6
3
|
'cell-summary-show',
|
|
@@ -61,12 +58,9 @@ export const ADAPTABLE_COLUMN_MENU_ITEMS = [
|
|
|
61
58
|
'styled-column-icon-add',
|
|
62
59
|
'styled-column-icon-edit',
|
|
63
60
|
'system-status-show',
|
|
64
|
-
'_navbar',
|
|
61
|
+
'_navbar',
|
|
65
62
|
'separator',
|
|
66
63
|
];
|
|
67
|
-
/**
|
|
68
|
-
* List of Shipped Adaptable Context Menu Items
|
|
69
|
-
*/
|
|
70
64
|
export const ADAPTABLE_CONTEXT_MENU_ITEMS = [
|
|
71
65
|
'menu-group',
|
|
72
66
|
'alert-clear',
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as PopupRedux from '../../Redux/ActionsReducers/PopupRedux';
|
|
2
|
-
// A menu item which performs a Redux Action when it is clicke
|
|
3
2
|
export class MenuItemDoReduxAction {
|
|
4
3
|
constructor(name, label, module, reduxAction, icon, isVisible) {
|
|
5
4
|
this.name = name;
|
|
@@ -36,7 +35,6 @@ export class MenuItemDoClickFunction {
|
|
|
36
35
|
isVisible;
|
|
37
36
|
icon;
|
|
38
37
|
}
|
|
39
|
-
// A menu item which shows a popup screen when it is clieked
|
|
40
38
|
export class MenuItemShowPopup {
|
|
41
39
|
constructor(name, label, module, componentName, icon, isVisible, popupParams) {
|
|
42
40
|
this.name = name;
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This page includes frequently used typed - particularly helpful for State and Api where we can strongly type stuff
|
|
3
|
-
*/
|
|
4
1
|
import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
|
|
5
2
|
export const ALL_TOOLBARS = [
|
|
6
3
|
'Alert',
|
|
@@ -12,8 +9,8 @@ export const ALL_TOOLBARS = [
|
|
|
12
9
|
'Export',
|
|
13
10
|
'IPushPull',
|
|
14
11
|
'Layout',
|
|
15
|
-
'ColumnFilter',
|
|
16
|
-
'GridFilter',
|
|
12
|
+
'ColumnFilter',
|
|
13
|
+
'GridFilter',
|
|
17
14
|
'OpenFin',
|
|
18
15
|
'QuickSearch',
|
|
19
16
|
'SmartEdit',
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Numeric scale primitives shared by every numeric Styled Column type
|
|
3
|
-
* (Gradient, Percent Bar, Bullet Chart, Range Bar).
|
|
4
|
-
*
|
|
5
|
-
* These types describe how a column's numeric scale is resolved (via
|
|
6
|
-
* literal numbers, dynamic column-wide aggregates, or comparison against
|
|
7
|
-
* another column) and how that scale is segmented into coloured ranges.
|
|
8
|
-
*/
|
|
9
1
|
export {};
|
|
@@ -151,15 +151,11 @@ export class AdaptableApiImpl {
|
|
|
151
151
|
this.dataImportApi = new DataImportApiImpl(adaptable);
|
|
152
152
|
this.filterApi = new FilterApiImpl(adaptable);
|
|
153
153
|
this.commentApi = new CommentsApiImpl(adaptable);
|
|
154
|
-
// adaptable internal api
|
|
155
154
|
this.internalApi = new AdaptableInternalApi(adaptable);
|
|
156
155
|
}
|
|
157
156
|
get agGridApi() {
|
|
158
157
|
return this.adaptable?.agGridAdapter?.getAgGridApi();
|
|
159
158
|
}
|
|
160
|
-
/**
|
|
161
|
-
* This is only meant to be called by the Adaptable instance.
|
|
162
|
-
*/
|
|
163
159
|
_internalDestroySelf() {
|
|
164
160
|
if (this.destroyed) {
|
|
165
161
|
return;
|
|
@@ -43,29 +43,21 @@ export class AlertApiImpl extends ApiBase {
|
|
|
43
43
|
return this.getAlertDefinitionById(alertDefinition.Uuid);
|
|
44
44
|
}
|
|
45
45
|
async displayAdaptableAlert(alertToShow) {
|
|
46
|
-
// There are 3 things we always do with an alert:
|
|
47
|
-
// 1. Dispatch the Alert (so it appears in the toolbar)
|
|
48
46
|
this.addUidToAdaptableObject(alertToShow);
|
|
49
47
|
this.dispatchAction(InternalRedux.AdaptableAlertAdd(alertToShow, this.getAlertOptions().maxAlertsInStore));
|
|
50
|
-
// 2. Publish the Alert Fired Event
|
|
51
48
|
this.getEventApi().internalApi.fireAlertFiredEvent(alertToShow);
|
|
52
|
-
// 3. Manage the many different possible Alert behaviours
|
|
53
|
-
// Note: alertProperties.PreventEdit is handled separately, in the Adaptable.setupColumnValueSetter() function
|
|
54
49
|
if (alertToShow.alertDefinition?.AlertProperties != undefined) {
|
|
55
50
|
const alertDefinition = alertToShow.alertDefinition;
|
|
56
51
|
const presentationProperties = alertDefinition.AlertProperties;
|
|
57
|
-
// Show a Toast Popup
|
|
58
52
|
if (presentationProperties.DisplayNotification) {
|
|
59
53
|
this.displayAdaptableAlertNotification(alertToShow);
|
|
60
54
|
}
|
|
61
|
-
// Log to console
|
|
62
55
|
if (presentationProperties.LogToConsole) {
|
|
63
56
|
this.getAdatableLogger().consoleLogByMessageType(alertToShow.header + ': ' + alertToShow.message, alertDefinition.MessageType);
|
|
64
57
|
}
|
|
65
58
|
if (presentationProperties.DisplaySystemStatusMessage) {
|
|
66
59
|
this.getSystemStatusApi().setSystemStatus(alertToShow.header, alertDefinition.MessageType, alertToShow.message);
|
|
67
60
|
}
|
|
68
|
-
// Show Alert in a Div (if one has been set)
|
|
69
61
|
if (presentationProperties.ShowInDiv) {
|
|
70
62
|
const alertDiv = resolveContainerElement(this.getContainerOptions().alertContainer, this.getAdaptableInternalApi().buildBaseContext());
|
|
71
63
|
if (alertDiv) {
|
|
@@ -77,13 +69,11 @@ export class AlertApiImpl extends ApiBase {
|
|
|
77
69
|
return;
|
|
78
70
|
}
|
|
79
71
|
const alertProperties = alertDefinition.AlertProperties ?? {};
|
|
80
|
-
// Jump to the Cell
|
|
81
72
|
if (alertProperties.JumpToCell &&
|
|
82
73
|
isAdaptableCellChangedAlert(alertToShow) &&
|
|
83
74
|
alertToShow.cellDataChangedInfo) {
|
|
84
75
|
this.getGridApi().jumpToCell(alertToShow.cellDataChangedInfo.primaryKeyValue, alertToShow.cellDataChangedInfo.column.columnId, alertToShow.cellDataChangedInfo.rowNode);
|
|
85
76
|
}
|
|
86
|
-
// Jump to the Row
|
|
87
77
|
else if (alertProperties.JumpToRow &&
|
|
88
78
|
isAdaptableRowChangedAlert(alertToShow) &&
|
|
89
79
|
alertToShow.rowDataChangedInfo?.rowTrigger === 'Add') {
|
|
@@ -92,8 +82,6 @@ export class AlertApiImpl extends ApiBase {
|
|
|
92
82
|
this.getGridApi().jumpToRow(firstRowNode);
|
|
93
83
|
}
|
|
94
84
|
}
|
|
95
|
-
// For CellChanged Alerts either Highlight the cell or row
|
|
96
|
-
// for former - we just refresh the cells to trigger a re-evaluation of the Adaptable.setupColumn[Style/Class]
|
|
97
85
|
if (isAdaptableCellChangedAlert(alertToShow) &&
|
|
98
86
|
alertToShow.cellDataChangedInfo &&
|
|
99
87
|
(alertProperties.HighlightCell || alertProperties.HighlightRow)) {
|
|
@@ -116,7 +104,6 @@ export class AlertApiImpl extends ApiBase {
|
|
|
116
104
|
}
|
|
117
105
|
}
|
|
118
106
|
}
|
|
119
|
-
// For RowChange Alerts only Highlight the row - we just refresh the rows to trigger a re-evaluation of the Adaptable.setupColumn[Style/Class]
|
|
120
107
|
else if (alertProperties.HighlightRow &&
|
|
121
108
|
isAdaptableRowChangedAlert(alertToShow) &&
|
|
122
109
|
alertToShow.rowDataChangedInfo?.rowTrigger === 'Add') {
|
|
@@ -181,8 +168,6 @@ export class AlertApiImpl extends ApiBase {
|
|
|
181
168
|
}
|
|
182
169
|
if (this.getColumnScopeApi().scopeIsAll(alertDefinition.Scope) &&
|
|
183
170
|
!this.getExpressionApi().getAdaptableQueryExpression(alertDefinition.Rule)) {
|
|
184
|
-
// we don't support scope ALL without an expression
|
|
185
|
-
// the predicates for scope ALL do NOT make any sense for a programmatic evaluation
|
|
186
171
|
return false;
|
|
187
172
|
}
|
|
188
173
|
return true;
|
|
@@ -200,7 +185,6 @@ export class AlertApiImpl extends ApiBase {
|
|
|
200
185
|
const alertDefinitions = this.internalApi
|
|
201
186
|
.getAlertDefinitionsForCellDataChange(cellDataChangedInfo)
|
|
202
187
|
.filter((alertDefinition) => filterScopeAllDefinitions(alertDefinition))
|
|
203
|
-
// some alert definitions might NOT be relevant for the given locator
|
|
204
188
|
.filter((alertDefinition) => relevantAlertDefinitions.some((relevantAlertDefinition) => relevantAlertDefinition.Uuid === alertDefinition.Uuid));
|
|
205
189
|
this.getAlertApi().internalApi.showAlertForDefinitions(cellDataChangedInfo, alertDefinitions);
|
|
206
190
|
});
|
|
@@ -215,19 +199,15 @@ export class AlertApiImpl extends ApiBase {
|
|
|
215
199
|
if (!isRuleBasedAlertDefinition(alertDefinition)) {
|
|
216
200
|
return [];
|
|
217
201
|
}
|
|
218
|
-
// if there is an Expression defined, extract only the columns from there (in that case the Scope would be 'All' anyway)
|
|
219
|
-
// columns referenced in rule expression
|
|
220
202
|
const ruleExpression = this.getExpressionApi().getAdaptableQueryExpression(alertDefinition.Rule);
|
|
221
203
|
if (this.getColumnScopeApi().scopeIsAll(alertDefinition.Scope) &&
|
|
222
204
|
StringExtensions.IsNotNullOrEmpty(ruleExpression)) {
|
|
223
|
-
// return only first referenced column (otherwise we would generate multiple alerts for the same row)
|
|
224
205
|
const queryColumns = this.getAdaptableInternalApi()
|
|
225
206
|
.getQueryLanguageService()
|
|
226
207
|
.getColumnsFromExpression(ruleExpression);
|
|
227
208
|
return queryColumns.length > 0 ? [queryColumns[0]] : [];
|
|
228
209
|
}
|
|
229
210
|
else {
|
|
230
|
-
// otherwise return all columns for given scope
|
|
231
211
|
return this.getColumnScopeApi()
|
|
232
212
|
.getColumnsInScope(alertDefinition.Scope)
|
|
233
213
|
.map((adaptableColumn) => adaptableColumn.columnId);
|
|
@@ -235,7 +215,6 @@ export class AlertApiImpl extends ApiBase {
|
|
|
235
215
|
}
|
|
236
216
|
createCellDataChangeInfoStubs(relevantColumnIds) {
|
|
237
217
|
const cellDataChangeInfos = [];
|
|
238
|
-
//const adaptable: IAdaptable = this.getAdaptableInternalApi().getAdaptableInstance();
|
|
239
218
|
const relevantColumns = this.getColumnApi()
|
|
240
219
|
.getColumnsWithColumnIds(relevantColumnIds)
|
|
241
220
|
.filter(Boolean);
|