@adaptabletools/adaptable 23.0.4 → 23.0.5-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.js +0 -31
- 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.js +0 -26
- 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/groupingMap.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/Buttons/EntityListActionButtons.js +0 -1
- 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/ColumnFilterMenu.js +0 -1
- 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/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/SelectableList/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/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/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
|
@@ -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);
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import Helper from '../../Utilities/Helpers/Helper';
|
|
2
2
|
import { createUuid } from '../../AdaptableState/Uuid';
|
|
3
|
-
// Base class for the Api - provides checking dispatching methods
|
|
4
3
|
export class ApiBase {
|
|
5
4
|
_adaptable;
|
|
6
|
-
/**
|
|
7
|
-
* Constructor for all the api classes which simply takes and assigns an instance of Adaptable
|
|
8
|
-
* @param _adaptable core IAdaptable object - for INTERNAL USE ONLY and not part of public API
|
|
9
|
-
*/
|
|
10
5
|
constructor(_adaptable) {
|
|
11
6
|
this._adaptable = _adaptable;
|
|
12
7
|
}
|
|
@@ -31,14 +26,6 @@ export class ApiBase {
|
|
|
31
26
|
isAdapTableReady() {
|
|
32
27
|
return this._adaptable.isReady;
|
|
33
28
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Base api helper method which ensure that Adaptable Object being used in the function is not null or undefined
|
|
36
|
-
*
|
|
37
|
-
* If it does not exist then we log an error and the api method should stop
|
|
38
|
-
* @param item AdaptableObject being checked
|
|
39
|
-
* @param name the name of the object if it has one (e.g. if its a search)
|
|
40
|
-
* @param type the actual type of the object being checked
|
|
41
|
-
*/
|
|
42
29
|
checkItemExists(item, name, type) {
|
|
43
30
|
if (Helper.objectNotExists(item)) {
|
|
44
31
|
this.logError(`No ${type} found with the name: ${name}`);
|
|
@@ -62,29 +49,18 @@ export class ApiBase {
|
|
|
62
49
|
: this.getLayoutApi().getCurrentLayout();
|
|
63
50
|
return objectList.filter((objectItem) => this.getLayoutApi().internalApi.isObjectExtendedInLayout(objectItem, module, extendedLayout));
|
|
64
51
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Base api Helper method that dispatches a *Redux Action* to the Store
|
|
67
|
-
* @param action the Redux Action to be dispatched
|
|
68
|
-
*/
|
|
69
52
|
dispatchAction(action) {
|
|
70
53
|
if (this._adaptable.isDestroyed) {
|
|
71
54
|
return;
|
|
72
55
|
}
|
|
73
56
|
this._adaptable.adaptableStore.TheStore.dispatch(action);
|
|
74
57
|
}
|
|
75
|
-
/**
|
|
76
|
-
* Returns the entire State from the Store
|
|
77
|
-
*
|
|
78
|
-
* This is a simple *getState()* call
|
|
79
|
-
*/
|
|
80
58
|
getAdaptableState() {
|
|
81
59
|
return this.getAdaptableStore().TheStore.getState();
|
|
82
60
|
}
|
|
83
61
|
getAdaptableStore() {
|
|
84
62
|
return this._adaptable.adaptableStore;
|
|
85
63
|
}
|
|
86
|
-
// Add the Uuid to the object if not present;
|
|
87
|
-
// It's generally done in Redux also but no harm checking in Api also in case we missed it.
|
|
88
64
|
addUidToAdaptableObject(adaptableObject) {
|
|
89
65
|
if (!adaptableObject.Uuid) {
|
|
90
66
|
adaptableObject.Uuid = createUuid();
|
|
@@ -48,7 +48,6 @@ export class CalculatedColumnApiImpl extends ApiBase {
|
|
|
48
48
|
.getCalculatedColumnExpressionService()
|
|
49
49
|
.createAggregatedScalarLiveValue(calculatedColumn);
|
|
50
50
|
});
|
|
51
|
-
// refresh calculated columns
|
|
52
51
|
const aggCalculatedColumnIds = aggregatedCalculatedColumns.map((calculatedColumn) => calculatedColumn.ColumnId);
|
|
53
52
|
if (this.getLayoutApi().internalApi.isLayoutGrouped()) {
|
|
54
53
|
this.getGridApi().refreshGroupRowNodes();
|
|
@@ -6,9 +6,6 @@ import { ChartingInternalApi } from '../Internal/ChartingInternalApi';
|
|
|
6
6
|
import ObjectFactory from '../../Utilities/ObjectFactory';
|
|
7
7
|
import { validateChartName } from '../../Utilities/Helpers/ChartHelper';
|
|
8
8
|
export class ChartingApiImpl extends ApiBase {
|
|
9
|
-
/**
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
9
|
internalApi;
|
|
13
10
|
constructor(_adaptable) {
|
|
14
11
|
super(_adaptable);
|
|
@@ -97,15 +97,6 @@ export function getFriendlyNameForPivotResultColumn(columnId, agGridApi) {
|
|
|
97
97
|
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
98
98
|
.join(' ')}`;
|
|
99
99
|
}
|
|
100
|
-
// is quite consuming on performance
|
|
101
|
-
// we don't need it anyway because currently (20.0.7) we don't display Pivot Totals at all
|
|
102
|
-
// if (isPivotAggregationTotalColumn(columnId, agGridApi)) {
|
|
103
|
-
// return `[Aggregation Total] ${columnId
|
|
104
|
-
// .split('_')
|
|
105
|
-
// .slice(2)
|
|
106
|
-
// .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
107
|
-
// .join(' ')}`;
|
|
108
|
-
// }
|
|
109
100
|
return `[Pivot] ${columnId
|
|
110
101
|
.split('_')
|
|
111
102
|
.slice(1)
|
|
@@ -113,7 +104,6 @@ export function getFriendlyNameForPivotResultColumn(columnId, agGridApi) {
|
|
|
113
104
|
.join(' ')}`;
|
|
114
105
|
}
|
|
115
106
|
export function isPivotResultColumn(columnId) {
|
|
116
|
-
// put this here as there might be other indicators we are not aware of?
|
|
117
107
|
return columnId?.startsWith(GeneralConstants.AG_GRID_PIVOT_COLUMN);
|
|
118
108
|
}
|
|
119
109
|
export function isPivotGrandTotal(columnId) {
|
|
@@ -131,7 +121,6 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
131
121
|
getUIAvailableColumns() {
|
|
132
122
|
return this.getColumns().filter((c) => !c.isUIHiddenColumn &&
|
|
133
123
|
!c.isGeneratedSelectionColumn &&
|
|
134
|
-
// currently (20.0.7) we don't display Pivot Totals in UI
|
|
135
124
|
!c.isPivotTotalColumn);
|
|
136
125
|
}
|
|
137
126
|
getSpecialColumns() {
|
|
@@ -194,7 +183,6 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
194
183
|
if (!isPivotLayout(currentLayout)) {
|
|
195
184
|
return false;
|
|
196
185
|
}
|
|
197
|
-
// When PivotColumns is empty, agg columns keep their original IDs
|
|
198
186
|
if (currentLayout.PivotColumns?.length === 0) {
|
|
199
187
|
return (currentLayout.PivotAggregationColumns?.some((agg) => agg.ColumnId === columnId) ?? false);
|
|
200
188
|
}
|
|
@@ -240,7 +228,6 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
240
228
|
if (columnId == undefined) {
|
|
241
229
|
return;
|
|
242
230
|
}
|
|
243
|
-
// just return null if no columns rather than logging a warning - otherwise get lots at startup
|
|
244
231
|
if (ArrayExtensions.IsNullOrEmpty(this.getColumns())) {
|
|
245
232
|
return;
|
|
246
233
|
}
|
|
@@ -352,7 +339,7 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
352
339
|
}
|
|
353
340
|
getColumnIdForFriendlyName(friendlyName) {
|
|
354
341
|
if (friendlyName.includes(GeneralConstants.MISSING_COLUMN)) {
|
|
355
|
-
return friendlyName.replace(GeneralConstants.MISSING_COLUMN, '');
|
|
342
|
+
return friendlyName.replace(GeneralConstants.MISSING_COLUMN, '');
|
|
356
343
|
}
|
|
357
344
|
const foundColumn = this.getColumns().find((c) => c.friendlyName === friendlyName);
|
|
358
345
|
if (foundColumn) {
|
|
@@ -390,7 +377,6 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
390
377
|
return !!this.getColumnWithColumnId(columnId, false);
|
|
391
378
|
}
|
|
392
379
|
getColumnWithFriendlyName(columnFriendlyName, logWarning = true) {
|
|
393
|
-
// just return null if no columns rather than logging a warning - otherwise get lots at startup
|
|
394
380
|
if (ArrayExtensions.IsNullOrEmpty(this.getColumns())) {
|
|
395
381
|
return null;
|
|
396
382
|
}
|