@adaptabletools/adaptable 13.1.1 → 14.0.0-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/README.md +1 -1
- package/base.css +7 -2
- package/base.css.map +1 -1
- package/bundle.cjs.js +180 -177
- package/index.css +11 -2
- package/index.css.map +1 -1
- package/package.json +2 -2
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +4 -1
- package/src/AdaptableOptions/ActionOptions.d.ts +4 -1
- package/src/AdaptableOptions/AdaptableQLOptions.d.ts +1 -9
- package/src/AdaptableOptions/AlertOptions.d.ts +6 -1
- package/src/AdaptableOptions/ChartingOptions.d.ts +1 -1
- package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +1 -1
- package/src/AdaptableOptions/ExportOptions.d.ts +1 -1
- package/src/AdaptableOptions/GeneralOptions.d.ts +8 -3
- package/src/AdaptableOptions/MasterDetailPluginOptions.d.ts +6 -4
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -1
- package/src/Api/ActionApi.d.ts +14 -3
- package/src/Api/AdaptableApi.d.ts +0 -6
- package/src/Api/AlertApi.d.ts +127 -92
- package/src/Api/BulkUpdateApi.d.ts +9 -2
- package/src/Api/CalculatedColumnApi.d.ts +26 -21
- package/src/Api/CellSummaryApi.d.ts +15 -8
- package/src/Api/ChartingApi.d.ts +9 -2
- package/src/Api/ColumnApi.d.ts +153 -115
- package/src/Api/ConfigApi.d.ts +18 -18
- package/src/Api/CustomSortApi.d.ts +36 -7
- package/src/Api/DashboardApi.d.ts +12 -5
- package/src/Api/DataChangeHistoryApi.d.ts +8 -1
- package/src/Api/DataSetApi.d.ts +13 -3
- package/src/Api/EventApi.d.ts +2 -2
- package/src/Api/ExportApi.d.ts +30 -13
- package/src/Api/FilterApi.d.ts +74 -62
- package/src/Api/FlashingCellApi.d.ts +25 -9
- package/src/Api/FormatColumnApi.d.ts +76 -95
- package/src/Api/FreeTextColumnApi.d.ts +53 -21
- package/src/Api/GridApi.d.ts +57 -22
- package/src/Api/Implementation/ActionApiImpl.d.ts +9 -3
- package/src/Api/Implementation/ActionApiImpl.js +23 -11
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
- package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
- package/src/Api/Implementation/AlertApiImpl.d.ts +57 -28
- package/src/Api/Implementation/AlertApiImpl.js +179 -197
- package/src/Api/Implementation/ApiBase.d.ts +43 -2
- package/src/Api/Implementation/ApiBase.js +129 -5
- package/src/Api/Implementation/ApplicationApiImpl.d.ts +1 -1
- package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +1 -0
- package/src/Api/Implementation/BulkUpdateApiImpl.js +4 -1
- package/src/Api/Implementation/CalculatedColumnApiImpl.d.ts +7 -2
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +28 -37
- package/src/Api/Implementation/CellSummaryApiImpl.d.ts +1 -0
- package/src/Api/Implementation/CellSummaryApiImpl.js +6 -1
- package/src/Api/Implementation/ChartingApiImpl.d.ts +2 -2
- package/src/Api/Implementation/ChartingApiImpl.js +10 -4
- package/src/Api/Implementation/ColumnApiImpl.d.ts +22 -6
- package/src/Api/Implementation/ColumnApiImpl.js +184 -195
- package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
- package/src/Api/Implementation/ConfigApiImpl.js +1 -1
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +16 -1
- package/src/Api/Implementation/CustomSortApiImpl.js +33 -7
- package/src/Api/Implementation/DashboardApiImpl.d.ts +6 -1
- package/src/Api/Implementation/DashboardApiImpl.js +11 -12
- package/src/Api/Implementation/DataChangeHistoryApiImpl.d.ts +1 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +5 -0
- package/src/Api/Implementation/DataSetApiImpl.d.ts +6 -0
- package/src/Api/Implementation/DataSetApiImpl.js +17 -8
- package/src/Api/Implementation/EntitlementApiImpl.d.ts +1 -1
- package/src/Api/Implementation/ExportApiImpl.d.ts +9 -1
- package/src/Api/Implementation/ExportApiImpl.js +34 -68
- package/src/Api/Implementation/FilterApiImpl.d.ts +10 -1
- package/src/Api/Implementation/FilterApiImpl.js +61 -157
- package/src/Api/Implementation/FlashingCellApiImpl.d.ts +8 -0
- package/src/Api/Implementation/FlashingCellApiImpl.js +23 -26
- package/src/Api/Implementation/FormatColumnApiImpl.d.ts +20 -15
- package/src/Api/Implementation/FormatColumnApiImpl.js +62 -153
- package/src/Api/Implementation/FreeTextColumnApiImpl.d.ts +13 -5
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +42 -27
- package/src/Api/Implementation/GridApiImpl.d.ts +15 -1
- package/src/Api/Implementation/GridApiImpl.js +117 -61
- package/src/Api/Implementation/LayoutApiImpl.d.ts +8 -7
- package/src/Api/Implementation/LayoutApiImpl.js +29 -112
- package/src/Api/Implementation/PluginsApiImpl.d.ts +1 -1
- package/src/Api/Implementation/PlusMinusApiImpl.d.ts +2 -1
- package/src/Api/Implementation/PlusMinusApiImpl.js +5 -0
- package/src/Api/Implementation/PredicateApiImpl.d.ts +8 -5
- package/src/Api/Implementation/PredicateApiImpl.js +33 -98
- package/src/Api/Implementation/QueryApiImpl.d.ts +7 -2
- package/src/Api/Implementation/QueryApiImpl.js +22 -44
- package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +4 -0
- package/src/Api/Implementation/QueryLanguageApiImpl.js +5 -0
- package/src/Api/Implementation/QuickSearchApiImpl.d.ts +1 -0
- package/src/Api/Implementation/QuickSearchApiImpl.js +5 -0
- package/src/Api/Implementation/ScheduleApiImpl.d.ts +27 -0
- package/src/Api/Implementation/ScheduleApiImpl.js +86 -17
- package/src/Api/Implementation/ScopeApiImpl.js +9 -7
- package/src/Api/Implementation/SettingsPanelApiImpl.d.ts +2 -0
- package/src/Api/Implementation/SettingsPanelApiImpl.js +9 -0
- package/src/Api/Implementation/ShortcutApiImpl.d.ts +8 -1
- package/src/Api/Implementation/ShortcutApiImpl.js +25 -4
- package/src/Api/Implementation/SmartEditApiImpl.d.ts +1 -0
- package/src/Api/Implementation/SmartEditApiImpl.js +5 -0
- package/src/Api/Implementation/StyledColumnApiImpl.d.ts +14 -11
- package/src/Api/Implementation/StyledColumnApiImpl.js +40 -185
- package/src/Api/Implementation/SystemStatusApiImpl.d.ts +6 -1
- package/src/Api/Implementation/SystemStatusApiImpl.js +19 -12
- package/src/Api/Implementation/TeamSharingApiImpl.d.ts +6 -5
- package/src/Api/Implementation/TeamSharingApiImpl.js +15 -25
- package/src/Api/Implementation/ThemeApiImpl.d.ts +5 -1
- package/src/Api/Implementation/ThemeApiImpl.js +23 -4
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.js +13 -4
- package/src/Api/Internal/ActionInternalApi.d.ts +23 -0
- package/src/Api/Internal/ActionInternalApi.js +198 -0
- package/src/Api/{Implementation/InternalApiImpl.d.ts → Internal/AdaptableInternalApi.d.ts} +7 -57
- package/src/Api/{Implementation/InternalApiImpl.js → Internal/AdaptableInternalApi.js} +28 -306
- package/src/Api/Internal/AlertInternalApi.d.ts +148 -0
- package/src/Api/Internal/AlertInternalApi.js +484 -0
- package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +24 -0
- package/src/Api/Internal/CalculatedColumnInternalApi.js +57 -0
- package/src/Api/Internal/ColumnInternalApi.d.ts +33 -0
- package/src/Api/Internal/ColumnInternalApi.js +67 -0
- package/src/Api/Internal/CustomSortInternalApi.d.ts +6 -0
- package/src/Api/Internal/CustomSortInternalApi.js +11 -0
- package/src/Api/Internal/DashboardInternalApi.d.ts +8 -0
- package/src/Api/Internal/DashboardInternalApi.js +26 -0
- package/src/Api/Internal/DataSetInternalApi.d.ts +9 -0
- package/src/Api/Internal/DataSetInternalApi.js +20 -0
- package/src/Api/Internal/ExportInternalApi.d.ts +11 -0
- package/src/Api/Internal/ExportInternalApi.js +73 -0
- package/src/Api/Internal/FilterInternalApi.d.ts +58 -0
- package/src/Api/Internal/FilterInternalApi.js +194 -0
- package/src/Api/Internal/FlashingCellInternalApi.d.ts +12 -0
- package/src/Api/Internal/FlashingCellInternalApi.js +56 -0
- package/src/Api/Internal/FormatColumnInternalApi.d.ts +109 -0
- package/src/Api/Internal/FormatColumnInternalApi.js +225 -0
- package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +15 -0
- package/src/Api/Internal/FreeTextColumnInternalApi.js +44 -0
- package/src/Api/Internal/GridInternalApi.d.ts +82 -0
- package/src/Api/Internal/GridInternalApi.js +252 -0
- package/src/Api/Internal/LayoutInternalApi.d.ts +48 -0
- package/src/Api/Internal/LayoutInternalApi.js +163 -0
- package/src/Api/Internal/PredicateInternalApi.d.ts +37 -0
- package/src/Api/Internal/PredicateInternalApi.js +140 -0
- package/src/Api/Internal/QueryInternalApi.d.ts +17 -0
- package/src/Api/Internal/QueryInternalApi.js +57 -0
- package/src/Api/Internal/QueryLanguageInternalApi.d.ts +11 -0
- package/src/Api/Internal/QueryLanguageInternalApi.js +34 -0
- package/src/Api/Internal/StyledColumnInternalApi.d.ts +59 -0
- package/src/Api/Internal/StyledColumnInternalApi.js +249 -0
- package/src/Api/Internal/SystemStatusInternalApi.d.ts +11 -0
- package/src/Api/Internal/SystemStatusInternalApi.js +27 -0
- package/src/Api/Internal/TeamSharingInternalApi.d.ts +20 -0
- package/src/Api/Internal/TeamSharingInternalApi.js +66 -0
- package/src/Api/LayoutApi.d.ts +28 -44
- package/src/Api/PlusMinusApi.d.ts +9 -2
- package/src/Api/PredicateApi.d.ts +26 -10
- package/src/Api/QueryApi.d.ts +23 -18
- package/src/Api/QuickSearchApi.d.ts +5 -1
- package/src/Api/ScheduleApi.d.ts +97 -16
- package/src/Api/SettingsPanelApi.d.ts +12 -1
- package/src/Api/ShortcutApi.d.ts +28 -7
- package/src/Api/SmartEditApi.d.ts +8 -1
- package/src/Api/StyledColumnApi.d.ts +34 -54
- package/src/Api/SystemStatusApi.d.ts +12 -6
- package/src/Api/TeamSharingApi.d.ts +4 -17
- package/src/Api/ThemeApi.d.ts +25 -6
- package/src/Api/UserInterfaceApi.d.ts +13 -2
- package/src/PredefinedConfig/AlertState.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableColumn.js +4 -0
- package/src/PredefinedConfig/Common/AdaptableForm.d.ts +0 -5
- package/src/PredefinedConfig/Common/AdaptableFormat.d.ts +10 -0
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableObject.d.ts +22 -1
- package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +3 -0
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +5 -3
- package/src/PredefinedConfig/Common/FDC3Context.d.ts +0 -5
- package/src/PredefinedConfig/FlashingCellState.d.ts +1 -1
- package/src/PredefinedConfig/FormatColumnState.d.ts +1 -1
- package/src/PredefinedConfig/StyledColumnState.d.ts +9 -0
- package/src/PredefinedConfig/SystemState.d.ts +5 -0
- package/src/Redux/ActionsReducers/GridRedux.d.ts +18 -0
- package/src/Redux/ActionsReducers/GridRedux.js +65 -2
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +5 -0
- package/src/Redux/ActionsReducers/SystemRedux.js +17 -3
- package/src/Redux/Store/AdaptableStore.js +34 -26
- package/src/Strategy/AdaptableModuleBase.js +6 -6
- package/src/Strategy/AlertModule.d.ts +1 -6
- package/src/Strategy/AlertModule.js +37 -92
- package/src/Strategy/BulkUpdateModule.js +3 -3
- package/src/Strategy/CalculatedColumnModule.js +6 -6
- package/src/Strategy/ChartingModule.js +1 -1
- package/src/Strategy/CustomSortModule.js +4 -4
- package/src/Strategy/DashboardModule.js +2 -2
- package/src/Strategy/DataSetModule.js +1 -1
- package/src/Strategy/ExportModule.js +4 -4
- package/src/Strategy/FilterModule.js +7 -6
- package/src/Strategy/FlashingCellModule.d.ts +2 -0
- package/src/Strategy/FlashingCellModule.js +21 -5
- package/src/Strategy/FormatColumnModule.d.ts +1 -0
- package/src/Strategy/FormatColumnModule.js +29 -3
- package/src/Strategy/FreeTextColumnModule.js +3 -3
- package/src/Strategy/LayoutModule.js +18 -18
- package/src/Strategy/PlusMinusModule.js +2 -2
- package/src/Strategy/QueryModule.js +3 -3
- package/src/Strategy/ScheduleModule.js +10 -12
- package/src/Strategy/ShortcutModule.js +5 -5
- package/src/Strategy/SmartEditModule.js +3 -3
- package/src/Strategy/StyledColumnModule.js +9 -7
- package/src/Strategy/TeamSharingModule.js +3 -3
- package/src/Strategy/ThemeModule.js +1 -1
- package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.js +1 -1
- package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
- package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.js +1 -1
- package/src/Strategy/Utilities/getRuleViewItems.d.ts +1 -1
- package/src/Strategy/Utilities/getRuleViewItems.js +4 -3
- package/src/Strategy/Utilities/getScopeViewItems.js +1 -1
- package/src/Strategy/Utilities/updateSingleToMultiplePredicates.d.ts +5 -0
- package/src/Strategy/Utilities/updateSingleToMultiplePredicates.js +12 -0
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +4 -3
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +8 -0
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +11 -0
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +73 -78
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +3 -1
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +9 -5
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +12 -3
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +133 -28
- package/src/Utilities/Extensions/TypeExtensions.d.ts +1 -0
- package/src/Utilities/Helpers/AdaptableHelper.js +1 -1
- package/src/Utilities/Helpers/FormatHelper.js +13 -10
- package/src/Utilities/ObjectFactory.js +8 -6
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +1 -1
- package/src/Utilities/Services/ChartingService.js +2 -2
- package/src/Utilities/Services/DataService.js +1 -1
- package/src/Utilities/Services/Interface/IEntitlementService.d.ts +2 -1
- package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -5
- package/src/Utilities/Services/ModuleService.js +1 -1
- package/src/Utilities/Services/QueryLanguageService.js +2 -2
- package/src/Utilities/Services/ReportService.js +3 -3
- package/src/Utilities/Services/RowEditService.d.ts +0 -19
- package/src/Utilities/Services/RowEditService.js +4 -161
- package/src/Utilities/Services/TeamSharingService.js +3 -3
- package/src/Utilities/Services/ValidationService.js +9 -7
- package/src/Utilities/logDeprecation.d.ts +3 -0
- package/src/Utilities/logDeprecation.js +30 -0
- package/src/View/AdaptablePopover/index.d.ts +2 -0
- package/src/View/AdaptablePopover/index.js +6 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsActionColumnsForm.js +4 -2
- package/src/View/Alert/AlertEntityRow.js +1 -1
- package/src/View/Alert/AlertStatusSubPanel.js +1 -1
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +2 -2
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +2 -2
- package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +3 -3
- package/src/View/Alert/Wizard/AlertWizard.js +3 -3
- package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +4 -2
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +2 -2
- package/src/View/Alert/Wizard/isValidAlertRules.js +4 -3
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +3 -3
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +1 -0
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +25 -4
- package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
- package/src/View/Components/Charting/ChartingViewPanel.d.ts +2 -2
- package/src/View/Components/Charting/ChartingViewPanel.js +17 -3
- package/src/View/Components/Charting/ChartingWizard/ChartingWizard.js +2 -2
- package/src/View/Components/Charting/ChartingWizard/SettingsSection.js +1 -1
- package/src/View/Components/Charting/DeleteChartButton.d.ts +7 -0
- package/src/View/Components/Charting/DeleteChartButton.js +12 -0
- package/src/View/Components/Charting/EditChartButton.d.ts +8 -0
- package/src/View/Components/Charting/EditChartButton.js +21 -0
- package/src/View/Components/EntityRulesEditor/PredicatesEditor.d.ts +16 -0
- package/src/View/Components/EntityRulesEditor/PredicatesEditor.js +86 -0
- package/src/View/Components/EntityRulesEditor/Utilities.d.ts +6 -0
- package/src/View/Components/EntityRulesEditor/Utilities.js +21 -0
- package/src/View/Components/EntityRulesEditor/index.d.ts +4 -9
- package/src/View/Components/EntityRulesEditor/index.js +16 -90
- package/src/View/Components/ExpressionWizard.js +1 -1
- package/src/View/Components/ExternalRenderer.js +3 -1
- package/src/View/Components/FilterForm/FilterForm.js +3 -3
- package/src/View/Components/FilterForm/QuickFilterForm.js +5 -5
- package/src/View/Components/PermittedValuesSelector/PermitedValuesSelector.js +5 -6
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -2
- package/src/View/Components/Popups/AdaptablePopupAlert.js +1 -1
- package/src/View/Components/Popups/AdaptablePopupConfirmation.d.ts +2 -12
- package/src/View/Components/Popups/AdaptablePopupConfirmation.js +46 -39
- package/src/View/Components/PredicateEditor/PredicateEditor.js +5 -5
- package/src/View/Components/ScopeComponent.js +3 -3
- package/src/View/Components/Selectors/ColumnValueSelector.js +1 -1
- package/src/View/Components/StyleComponent.js +42 -14
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -1
- package/src/View/CustomSort/CustomSortSummary.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
- package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +1 -1
- package/src/View/Dashboard/Dashboard.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
- package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +10 -1
- package/src/View/DataSet/DataSetSelector.js +1 -1
- package/src/View/DataSet/DataSetStatusPanelPopover.js +1 -1
- package/src/View/DataSet/DataSetViewPanel.js +1 -1
- package/src/View/Export/ExportSelector.js +2 -2
- package/src/View/Export/ExportViewPanel.js +2 -2
- package/src/View/Export/ReportExportDropdown.js +1 -1
- package/src/View/Export/Wizard/ReportNameWizardSection.js +1 -1
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +1 -1
- package/src/View/Filter/FilterSummary.js +1 -1
- package/src/View/Filter/FilterViewPanel.js +1 -1
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -2
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -2
- package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +4 -3
- package/src/View/FormatColumn/MoveFormatColumn.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +11 -5
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +8 -6
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +3 -4
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +5 -19
- package/src/View/GridInfo/ColumnInfoComponent.js +1 -1
- package/src/View/GridInfo/GridInfoPopup.js +6 -6
- package/src/View/Layout/LayoutRadioSelector.js +1 -1
- package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +1 -1
- package/src/View/Layout/LayoutViewPanel.js +1 -1
- package/src/View/Layout/PivotDetailsPopoup.js +1 -1
- package/src/View/Layout/SaveLayoutButton.js +1 -1
- package/src/View/Layout/Wizard/LayoutWizard.js +2 -2
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +4 -4
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +5 -5
- package/src/View/Layout/Wizard/sections/FilterSection.js +2 -2
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +2 -2
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +2 -2
- package/src/View/Layout/Wizard/sections/SortSection.js +1 -1
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.d.ts +1 -1
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +2 -2
- package/src/View/Query/ExpandedQueryPopup.js +1 -1
- package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +2 -2
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +1 -1
- package/src/View/SmartEdit/SmartEditViewPanel.js +1 -1
- package/src/View/StatusBar/StatusBarPanel.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +9 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +26 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +23 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.d.ts +8 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +25 -0
- package/src/View/StyledColumn/Wizard/{StyledColumnWizardStyleSection.d.ts → StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.d.ts} +2 -2
- package/src/View/StyledColumn/Wizard/{StyledColumnWizardStyleSection.js → StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js} +21 -19
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/index.d.ts +1 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/index.js +4 -0
- package/src/View/TeamSharing/SharedEntityDependencies.js +1 -1
- package/src/View/Theme/ThemeStatusPanelPopover.js +1 -1
- package/src/agGrid/ActionColumnRenderer.js +1 -1
- package/src/agGrid/Adaptable.d.ts +5 -3
- package/src/agGrid/Adaptable.js +106 -121
- package/src/agGrid/FilterWrapper.js +3 -3
- package/src/agGrid/FloatingFilterWrapper.js +3 -3
- package/src/agGrid/PercentBarRenderer.js +6 -6
- package/src/agGrid/agGridHelper.js +3 -3
- package/src/agGrid/agGridMenuHelper.js +3 -3
- package/src/agGrid/weightedAverage.js +2 -2
- package/src/components/ExpressionEditor/BaseEditorInput.js +92 -7
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +5 -1
- package/src/components/OverlayTrigger/index.js +6 -2
- package/src/components/OverlayTrigger/utils.d.ts +1 -1
- package/src/components/OverlayTrigger/utils.js +4 -4
- package/src/components/icons/index.js +2 -0
- package/src/components/icons/open-in-new.d.ts +3 -0
- package/src/components/icons/open-in-new.js +7 -0
- package/src/env.js +1 -3
- package/src/metamodel/adaptable.metamodel.d.ts +30 -10
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/parser/src/parser.js +644 -382
- package/src/parser/src/types.d.ts +9 -0
- package/src/types.d.ts +3 -3
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/Api/InternalApi.d.ts +0 -155
- package/src/Api/InternalApi.js +0 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomSortInternalApi = void 0;
|
|
4
|
+
const ApiBase_1 = require("../Implementation/ApiBase");
|
|
5
|
+
class CustomSortInternalApi extends ApiBase_1.ApiBase {
|
|
6
|
+
getCustomSortComparer(column) {
|
|
7
|
+
var _a;
|
|
8
|
+
return (_a = this.getGeneralOptions().customSortComparers) === null || _a === void 0 ? void 0 : _a.find((csc) => this.adaptable.api.scopeApi.isColumnInScope(column, csc.scope));
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.CustomSortInternalApi = CustomSortInternalApi;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
|
+
import { DashboardState } from '../../PredefinedConfig/DashboardState';
|
|
3
|
+
export declare class DashboardInternalApi extends ApiBase {
|
|
4
|
+
/**
|
|
5
|
+
* Fires Dashboard Changed Event
|
|
6
|
+
*/
|
|
7
|
+
fireDashboardChangedEvent(trigger: string, oldDashboardState: DashboardState, newDashboardState: DashboardState): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DashboardInternalApi = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const ApiBase_1 = require("../Implementation/ApiBase");
|
|
6
|
+
const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
|
|
7
|
+
class DashboardInternalApi extends ApiBase_1.ApiBase {
|
|
8
|
+
/**
|
|
9
|
+
* Fires Dashboard Changed Event
|
|
10
|
+
*/
|
|
11
|
+
fireDashboardChangedEvent(trigger, oldDashboardState, newDashboardState) {
|
|
12
|
+
// it's called synchronously by DASHBOARD_SET_ACTIVE_TAB & DASHBOARD_SET_IS_COLLAPSED,
|
|
13
|
+
// both firing the same events, thus this function being called twice;
|
|
14
|
+
// so we debounced to only get the latest call
|
|
15
|
+
const dashboardChangedInfo = {
|
|
16
|
+
adaptableApi: this.adaptable.api,
|
|
17
|
+
actionName: trigger,
|
|
18
|
+
oldDashboardState,
|
|
19
|
+
newDashboardState,
|
|
20
|
+
};
|
|
21
|
+
if (!(0, isEqual_1.default)(oldDashboardState, newDashboardState)) {
|
|
22
|
+
this.adaptable.api.eventApi.emitSync('DashboardChanged', dashboardChangedInfo);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.DashboardInternalApi = DashboardInternalApi;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
|
+
import { DataSet } from '../../AdaptableOptions/GeneralOptions';
|
|
3
|
+
export declare class DataSetInternalApi extends ApiBase {
|
|
4
|
+
/**
|
|
5
|
+
* Fires the DataSet Selected Event
|
|
6
|
+
* @param dataSet Data Set which has been selected
|
|
7
|
+
*/
|
|
8
|
+
fireDataSetSelectedEvent(dataSet: DataSet): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataSetInternalApi = void 0;
|
|
4
|
+
const ApiBase_1 = require("../Implementation/ApiBase");
|
|
5
|
+
class DataSetInternalApi extends ApiBase_1.ApiBase {
|
|
6
|
+
/**
|
|
7
|
+
* Fires the DataSet Selected Event
|
|
8
|
+
* @param dataSet Data Set which has been selected
|
|
9
|
+
*/
|
|
10
|
+
fireDataSetSelectedEvent(dataSet) {
|
|
11
|
+
if (this.adaptable.isLive) {
|
|
12
|
+
const dataSetSelectedInfo = {
|
|
13
|
+
adaptableApi: this.adaptable.api,
|
|
14
|
+
dataSet,
|
|
15
|
+
};
|
|
16
|
+
this.adaptable.api.eventApi.emit('DataSetSelected', dataSetSelectedInfo);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.DataSetInternalApi = DataSetInternalApi;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
|
+
import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
|
|
3
|
+
import { Report } from '../../PredefinedConfig/ExportState';
|
|
4
|
+
export declare class ExportInternalApi extends ApiBase {
|
|
5
|
+
/**
|
|
6
|
+
* Whether given data change affects given report
|
|
7
|
+
* @param cellDataChangedInfo data change to check
|
|
8
|
+
* @param report report to check
|
|
9
|
+
*/
|
|
10
|
+
isDataChangeInReport(cellDataChangedInfo: CellDataChangedInfo, report: Report): boolean;
|
|
11
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExportInternalApi = void 0;
|
|
4
|
+
const ApiBase_1 = require("../Implementation/ApiBase");
|
|
5
|
+
class ExportInternalApi extends ApiBase_1.ApiBase {
|
|
6
|
+
/**
|
|
7
|
+
* Whether given data change affects given report
|
|
8
|
+
* @param cellDataChangedInfo data change to check
|
|
9
|
+
* @param report report to check
|
|
10
|
+
*/
|
|
11
|
+
isDataChangeInReport(cellDataChangedInfo, report) {
|
|
12
|
+
// for All Data Report any data change is true so get out asap
|
|
13
|
+
if (report.Name == 'All Data') {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
// if its a Custom Report then the User has to run it so we just ignore completely
|
|
17
|
+
if (this.getExportApi().isServerReport(report)) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
// Start with the DataChanged Column and go through all possibilities
|
|
21
|
+
switch (report.ReportColumnScope) {
|
|
22
|
+
case 'AllColumns':
|
|
23
|
+
// has to be relevant so continue to rows
|
|
24
|
+
break;
|
|
25
|
+
case 'ScopeColumns':
|
|
26
|
+
// use the Scope object which will tell us if the Column is relevant
|
|
27
|
+
if (!this.adaptable.api.scopeApi.isColumnInScopeColumns(cellDataChangedInfo.column, report.Scope)) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
break;
|
|
31
|
+
case 'SelectedColumns':
|
|
32
|
+
let selectedCellInfo = this.adaptable.api.gridApi.getSelectedCellInfo();
|
|
33
|
+
if (selectedCellInfo) {
|
|
34
|
+
if (selectedCellInfo.columns.find((c) => c.columnId == cellDataChangedInfo.column.columnId) == null) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
break;
|
|
39
|
+
case 'VisibleColumns':
|
|
40
|
+
// hope that visibile column property is updated whenever the layout changes... (need to check!)
|
|
41
|
+
if (!cellDataChangedInfo.column.visible) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
// now do rows
|
|
47
|
+
switch (report.ReportRowScope) {
|
|
48
|
+
case 'AllRows':
|
|
49
|
+
return true;
|
|
50
|
+
case 'ExpressionRows':
|
|
51
|
+
return true; // TODO this is the only difficult one - do we check AdapTableQL? if we can then that is good as we can then do a delta after all...
|
|
52
|
+
case 'SelectedCellRows':
|
|
53
|
+
let selectedCellInfo = this.adaptable.api.gridApi.getSelectedCellInfo();
|
|
54
|
+
if (selectedCellInfo && selectedCellInfo.gridCells) {
|
|
55
|
+
if (selectedCellInfo.gridCells.find((gc) => gc.primaryKeyValue == cellDataChangedInfo.primaryKeyValue)) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
case 'SelectedRows':
|
|
61
|
+
let selectedRowInfo = this.adaptable.api.gridApi.getSelectedRowInfo();
|
|
62
|
+
if (selectedRowInfo && selectedRowInfo.gridRows) {
|
|
63
|
+
if (selectedRowInfo.gridRows.find((gr) => gr.primaryKeyValue == cellDataChangedInfo.primaryKeyValue)) {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
case 'VisibleRows':
|
|
69
|
+
return this.adaptable.isRowNodeVisible(cellDataChangedInfo.rowNode);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.ExportInternalApi = ExportInternalApi;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
|
+
import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
|
|
3
|
+
import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
|
|
4
|
+
import { GridCell } from '../../PredefinedConfig/Selection/GridCell';
|
|
5
|
+
import { ColumnFilter } from '../../PredefinedConfig/Common/ColumnFilter';
|
|
6
|
+
import { RowNode } from '@ag-grid-community/core';
|
|
7
|
+
import { LayoutColumnFilterAction } from '../../Redux/ActionsReducers/LayoutRedux';
|
|
8
|
+
import * as Redux from 'redux';
|
|
9
|
+
export declare class FilterInternalApi extends ApiBase {
|
|
10
|
+
/**
|
|
11
|
+
* Returns Predicate Definition for given Column and Quick Filter shortcut
|
|
12
|
+
* @param shortcut Quick Filter shortcut to lookup
|
|
13
|
+
* @param column Adaptable Column being Filtered
|
|
14
|
+
*/
|
|
15
|
+
findPredicateDefByShortcut(shortcut: string, column: AdaptableColumn): AdaptablePredicateDef;
|
|
16
|
+
/**
|
|
17
|
+
* Creates an Equality Filter based on given Grid Cells
|
|
18
|
+
* @param gridCells cells to create Filter for
|
|
19
|
+
*/
|
|
20
|
+
createValuesColumnFilterForCells(gridCells: GridCell[]): ColumnFilter | null;
|
|
21
|
+
/**
|
|
22
|
+
* Creates an Equality Filter based on given Grid Cell
|
|
23
|
+
* @param gridCell cell to create Filter for
|
|
24
|
+
*/
|
|
25
|
+
createEqualityColumnFilterForCell(gridCell: GridCell): ColumnFilter | null;
|
|
26
|
+
/**
|
|
27
|
+
* Retrieves description of given Column Filter
|
|
28
|
+
* @param columnFilter Column Filter to use
|
|
29
|
+
*/
|
|
30
|
+
columnFilterToString(columnFilter: ColumnFilter): string;
|
|
31
|
+
/**
|
|
32
|
+
* Retrieves descriptions of given Column Filters
|
|
33
|
+
* @param columnFilters Column Filters to use
|
|
34
|
+
*/
|
|
35
|
+
columnFiltersToString(columnFilters: ColumnFilter[]): string;
|
|
36
|
+
/**
|
|
37
|
+
* Calls AdapTableQL to evaluate Filter for given Row
|
|
38
|
+
* @param columnFilter Column Filter to use
|
|
39
|
+
* @param node Row Node to evaluate
|
|
40
|
+
*/
|
|
41
|
+
evaluateColumnFilter(columnFilter: ColumnFilter, node: RowNode): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Checks if the filter action should trigger grid filtering.
|
|
44
|
+
*
|
|
45
|
+
* @param action Filtering Action
|
|
46
|
+
*/
|
|
47
|
+
shouldNewColumnFilterTriggerGridFiltering(action: LayoutColumnFilterAction | Redux.Action): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Fires Filter Applied Event - typically used to enable filtering on the server
|
|
50
|
+
*/
|
|
51
|
+
fireFilterAppliedEvent(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Compares to sets of Column Filters to see if they are identical
|
|
54
|
+
* @param filters1
|
|
55
|
+
* @param filters2
|
|
56
|
+
*/
|
|
57
|
+
areColumnFiltersDifferent(oldFilters: ColumnFilter[], newFilters: ColumnFilter[]): boolean;
|
|
58
|
+
}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FilterInternalApi = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const ApiBase_1 = require("../Implementation/ApiBase");
|
|
6
|
+
const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
|
|
7
|
+
const LayoutRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/LayoutRedux"));
|
|
8
|
+
const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
|
|
9
|
+
class FilterInternalApi extends ApiBase_1.ApiBase {
|
|
10
|
+
/**
|
|
11
|
+
* Returns Predicate Definition for given Column and Quick Filter shortcut
|
|
12
|
+
* @param shortcut Quick Filter shortcut to lookup
|
|
13
|
+
* @param column Adaptable Column being Filtered
|
|
14
|
+
*/
|
|
15
|
+
findPredicateDefByShortcut(shortcut, column) {
|
|
16
|
+
return this.getFilterApi()
|
|
17
|
+
.getFilterPredicateDefsForColumn(column)
|
|
18
|
+
.find((i) => { var _a; return (_a = i.shortcuts) === null || _a === void 0 ? void 0 : _a.includes(shortcut); });
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Creates an Equality Filter based on given Grid Cells
|
|
22
|
+
* @param gridCells cells to create Filter for
|
|
23
|
+
*/
|
|
24
|
+
createValuesColumnFilterForCells(gridCells) {
|
|
25
|
+
if (!gridCells) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
const filter = {
|
|
29
|
+
ColumnId: gridCells[0].column.columnId,
|
|
30
|
+
Predicate: {
|
|
31
|
+
PredicateId: 'Values',
|
|
32
|
+
Inputs: [...new Set(gridCells.map((gc) => gc.displayValue))],
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
const [savedFilter] = this.getFilterApi().setColumnFilters([filter]) || [null];
|
|
36
|
+
return savedFilter;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Creates an Equality Filter based on given Grid Cell
|
|
40
|
+
* @param gridCell cell to create Filter for
|
|
41
|
+
*/
|
|
42
|
+
createEqualityColumnFilterForCell(gridCell) {
|
|
43
|
+
if (!gridCell) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const column = gridCell.column;
|
|
47
|
+
const filter = {
|
|
48
|
+
ColumnId: column.columnId,
|
|
49
|
+
Predicate: {
|
|
50
|
+
PredicateId: this.adaptable.api.predicateApi.internalApi.getEqualityPredicateForDataType(column.dataType),
|
|
51
|
+
Inputs: [...new Set([gridCell.rawValue])],
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
const [savedFilter] = this.getFilterApi().setColumnFilters([filter]) || [null];
|
|
55
|
+
return savedFilter;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Retrieves description of given Column Filter
|
|
59
|
+
* @param columnFilter Column Filter to use
|
|
60
|
+
*/
|
|
61
|
+
columnFilterToString(columnFilter) {
|
|
62
|
+
const friendlyName = this.adaptable.api.columnApi.getFriendlyNameForColumnId(columnFilter.ColumnId);
|
|
63
|
+
return ('[' +
|
|
64
|
+
friendlyName +
|
|
65
|
+
'] ' +
|
|
66
|
+
this.adaptable.api.predicateApi.predicateToString(columnFilter.Predicate));
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Retrieves descriptions of given Column Filters
|
|
70
|
+
* @param columnFilters Column Filters to use
|
|
71
|
+
*/
|
|
72
|
+
columnFiltersToString(columnFilters) {
|
|
73
|
+
return columnFilters.map((cf) => this.columnFilterToString(cf)).join(', ');
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Calls AdapTableQL to evaluate Filter for given Row
|
|
77
|
+
* @param columnFilter Column Filter to use
|
|
78
|
+
* @param node Row Node to evaluate
|
|
79
|
+
*/
|
|
80
|
+
evaluateColumnFilter(columnFilter, node) {
|
|
81
|
+
var _a;
|
|
82
|
+
if (!columnFilter.Predicate) {
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
const someInputsAreEmpty = (_a = columnFilter.Predicate.Inputs) === null || _a === void 0 ? void 0 : _a.some((input) => {
|
|
86
|
+
if (typeof input === 'string') {
|
|
87
|
+
return StringExtensions_1.default.IsNullOrEmpty(input);
|
|
88
|
+
}
|
|
89
|
+
if (typeof input === 'number') {
|
|
90
|
+
return isNaN(input);
|
|
91
|
+
}
|
|
92
|
+
return !input;
|
|
93
|
+
});
|
|
94
|
+
if (someInputsAreEmpty) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
const column = this.adaptable.api.columnApi.getColumnWithColumnId(columnFilter.ColumnId);
|
|
98
|
+
if (!column) {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
const gridCell = this.adaptable.api.gridApi.getGridCellFromRowNode(node, columnFilter.ColumnId);
|
|
102
|
+
if (!gridCell) {
|
|
103
|
+
return true;
|
|
104
|
+
}
|
|
105
|
+
let value = gridCell.normalisedValue;
|
|
106
|
+
return this.adaptable.api.predicateApi.handlePredicate(columnFilter.Predicate, {
|
|
107
|
+
value: value,
|
|
108
|
+
oldValue: null,
|
|
109
|
+
displayValue: gridCell.displayValue,
|
|
110
|
+
node,
|
|
111
|
+
column,
|
|
112
|
+
}, true);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Checks if the filter action should trigger grid filtering.
|
|
116
|
+
*
|
|
117
|
+
* @param action Filtering Action
|
|
118
|
+
*/
|
|
119
|
+
shouldNewColumnFilterTriggerGridFiltering(action) {
|
|
120
|
+
// trigger filter change only:
|
|
121
|
+
// - new -> new filter is active
|
|
122
|
+
// - clear -> previous filters was active
|
|
123
|
+
// - clearAll -> a filter was active
|
|
124
|
+
// - edit -> same => input change
|
|
125
|
+
// - edit -> different & new is active
|
|
126
|
+
// - edit -> different & old was active
|
|
127
|
+
// - set -> new filter is active
|
|
128
|
+
// filter -> suspend changes
|
|
129
|
+
var _a, _b;
|
|
130
|
+
const isNewAndActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_ADD &&
|
|
131
|
+
this.adaptable.api.filterApi.isFilterActive(action.columnFilter);
|
|
132
|
+
const isClearAndPreviousWasActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR &&
|
|
133
|
+
this.adaptable.api.filterApi.isFilterActive(action.columnFilter);
|
|
134
|
+
const isClearAllAtLeastOneActiveFilter = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR_ALL &&
|
|
135
|
+
this.adaptable.api.filterApi
|
|
136
|
+
.getColumnFilters()
|
|
137
|
+
.some((columnFilter) => this.adaptable.api.filterApi.isFilterActive(columnFilter));
|
|
138
|
+
let isEditTrigger = false;
|
|
139
|
+
if (action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_EDIT) {
|
|
140
|
+
const newFilter = action.columnFilter;
|
|
141
|
+
const previous = this.adaptable.api.filterApi.getColumnFilterForColumn(newFilter.ColumnId);
|
|
142
|
+
// same filter edit, so always trigger
|
|
143
|
+
if (((_a = previous === null || previous === void 0 ? void 0 : previous.Predicate) === null || _a === void 0 ? void 0 : _a.PredicateId) === ((_b = newFilter === null || newFilter === void 0 ? void 0 : newFilter.Predicate) === null || _b === void 0 ? void 0 : _b.PredicateId)) {
|
|
144
|
+
isEditTrigger = true;
|
|
145
|
+
// new filter is active
|
|
146
|
+
}
|
|
147
|
+
else if (this.adaptable.api.filterApi.isFilterActive(newFilter)) {
|
|
148
|
+
isEditTrigger = true;
|
|
149
|
+
}
|
|
150
|
+
else if (this.adaptable.api.filterApi.isFilterActive(previous)) {
|
|
151
|
+
// previous filter was active
|
|
152
|
+
isEditTrigger = true;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
const isSetAndActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_SET &&
|
|
156
|
+
this.adaptable.api.filterApi.isFilterActive(action.columnFilter);
|
|
157
|
+
const isSuspendChanged = [
|
|
158
|
+
LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND,
|
|
159
|
+
LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND_ALL,
|
|
160
|
+
LayoutRedux.LAYOUT_COLUMN_FILTER_UNSUSPEND,
|
|
161
|
+
LayoutRedux.LAYOUT_COLUMN_FILTER_UNSUSPEND_ALL,
|
|
162
|
+
].includes(action.type);
|
|
163
|
+
return (isNewAndActive ||
|
|
164
|
+
isClearAndPreviousWasActive ||
|
|
165
|
+
isClearAllAtLeastOneActiveFilter ||
|
|
166
|
+
isEditTrigger ||
|
|
167
|
+
isSetAndActive ||
|
|
168
|
+
isSuspendChanged);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Fires Filter Applied Event - typically used to enable filtering on the server
|
|
172
|
+
*/
|
|
173
|
+
fireFilterAppliedEvent() {
|
|
174
|
+
if (this.adaptable.isLive) {
|
|
175
|
+
const filterAppliedInfo = {
|
|
176
|
+
columnFilters: this.getFilterApi().getColumnFilters(),
|
|
177
|
+
adaptableApi: this.getAdaptableApi(),
|
|
178
|
+
};
|
|
179
|
+
this.adaptable.api.eventApi.emit('FilterApplied', filterAppliedInfo);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Compares to sets of Column Filters to see if they are identical
|
|
184
|
+
* @param filters1
|
|
185
|
+
* @param filters2
|
|
186
|
+
*/
|
|
187
|
+
areColumnFiltersDifferent(oldFilters, newFilters) {
|
|
188
|
+
if (ArrayExtensions_1.default.IsNullOrEmpty(oldFilters) && ArrayExtensions_1.default.IsNullOrEmpty(newFilters)) {
|
|
189
|
+
return false;
|
|
190
|
+
}
|
|
191
|
+
return ArrayExtensions_1.default.areArraysNotEqual(oldFilters, newFilters);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
exports.FilterInternalApi = FilterInternalApi;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
|
+
import { FlashingCellDefinition } from '../../PredefinedConfig/FlashingCellState';
|
|
3
|
+
import { AdaptableFlashingCell } from '../../PredefinedConfig/Common/AdaptableFlashingCell';
|
|
4
|
+
export declare class FlashingCellInternalApi extends ApiBase {
|
|
5
|
+
/**
|
|
6
|
+
* Merges a Flashing Cell Definition with default values
|
|
7
|
+
* @param flashingCellDefinition Flashing Cell Definition to Merge
|
|
8
|
+
*/
|
|
9
|
+
mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
|
|
10
|
+
getAdaptableFlashingCellFor(primaryKey: string, columnId?: string): AdaptableFlashingCell | null;
|
|
11
|
+
clearFlashingCellState(): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlashingCellInternalApi = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const ApiBase_1 = require("../Implementation/ApiBase");
|
|
6
|
+
const Helper_1 = require("../../Utilities/Helpers/Helper");
|
|
7
|
+
const SystemRedux_1 = require("../../Redux/ActionsReducers/SystemRedux");
|
|
8
|
+
const AlertRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/AlertRedux"));
|
|
9
|
+
class FlashingCellInternalApi extends ApiBase_1.ApiBase {
|
|
10
|
+
/**
|
|
11
|
+
* Merges a Flashing Cell Definition with default values
|
|
12
|
+
* @param flashingCellDefinition Flashing Cell Definition to Merge
|
|
13
|
+
*/
|
|
14
|
+
mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition) {
|
|
15
|
+
let flashingDefaults = this.adaptable.adaptableOptions.flashingCellOptions;
|
|
16
|
+
if (!flashingDefaults) {
|
|
17
|
+
return flashingCellDefinition;
|
|
18
|
+
}
|
|
19
|
+
// deep clone it, otherwise we will mutate&share(!!) the global flashingCellOptions object
|
|
20
|
+
flashingDefaults = (0, Helper_1.cloneObject)(flashingDefaults);
|
|
21
|
+
if (!flashingCellDefinition.DownChangeStyle && flashingDefaults.defaultDownChangeStyle) {
|
|
22
|
+
flashingCellDefinition.DownChangeStyle = flashingDefaults.defaultDownChangeStyle;
|
|
23
|
+
}
|
|
24
|
+
if (!flashingCellDefinition.UpChangeStyle && flashingDefaults.defaultUpChangeStyle) {
|
|
25
|
+
flashingCellDefinition.UpChangeStyle = flashingDefaults.defaultUpChangeStyle;
|
|
26
|
+
}
|
|
27
|
+
if (!flashingCellDefinition.NeutralChangeStyle && flashingDefaults.defaultNeutralChangeStyle) {
|
|
28
|
+
flashingCellDefinition.NeutralChangeStyle = flashingDefaults.defaultNeutralChangeStyle;
|
|
29
|
+
}
|
|
30
|
+
if (!flashingCellDefinition.FlashDuration && flashingDefaults.defaultFlashDuration) {
|
|
31
|
+
flashingCellDefinition.FlashDuration = flashingDefaults.defaultFlashDuration;
|
|
32
|
+
}
|
|
33
|
+
if (!flashingCellDefinition.FlashTarget && flashingDefaults.defaultFlashTarget) {
|
|
34
|
+
flashingCellDefinition.FlashTarget = flashingDefaults.defaultFlashTarget;
|
|
35
|
+
}
|
|
36
|
+
return flashingCellDefinition;
|
|
37
|
+
}
|
|
38
|
+
getAdaptableFlashingCellFor(primaryKey, columnId) {
|
|
39
|
+
var _a;
|
|
40
|
+
const { AdaptableFlashingCells: AdaptableFlashingAlerts, AdaptableFlashingCellsMap: AdaptableFlashingAlertsMap, } = this.getAdaptableState().System;
|
|
41
|
+
const forPrimaryKey = (_a = AdaptableFlashingAlerts[primaryKey]) !== null && _a !== void 0 ? _a : {};
|
|
42
|
+
const toFlashingAlert = (uuid) => { var _a; return uuid ? (_a = AdaptableFlashingAlertsMap[uuid]) !== null && _a !== void 0 ? _a : null : null; };
|
|
43
|
+
const adaptableFlashingCell = columnId
|
|
44
|
+
? toFlashingAlert(forPrimaryKey[columnId])
|
|
45
|
+
: toFlashingAlert(forPrimaryKey[SystemRedux_1.FLASHING_CELL_ROW_KEY]);
|
|
46
|
+
if ((adaptableFlashingCell === null || adaptableFlashingCell === void 0 ? void 0 : adaptableFlashingCell.flashingCellDefinition) &&
|
|
47
|
+
!this.getAdaptableApi().layoutApi.internalApi.isObjectAvailableInLayout(adaptableFlashingCell.flashingCellDefinition, 'FlashingCell', this.getAdaptableApi().layoutApi.getCurrentLayout())) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
return adaptableFlashingCell;
|
|
51
|
+
}
|
|
52
|
+
clearFlashingCellState() {
|
|
53
|
+
this.dispatchAction(AlertRedux.AlertClearFlashingCells());
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.FlashingCellInternalApi = FlashingCellInternalApi;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { AdaptableColumn, AdaptableFormat, AdaptablePredicateDef, AdaptableScope, FormatColumn, StringFormatterOptions } from '../../types';
|
|
2
|
+
import { ApiBase } from '../Implementation/ApiBase';
|
|
3
|
+
import { RowNode } from '@ag-grid-community/core';
|
|
4
|
+
export declare class FormatColumnInternalApi extends ApiBase {
|
|
5
|
+
/**
|
|
6
|
+
* Retrieves all Format Columns in Adaptable State with the `Style` property set
|
|
7
|
+
* @returns format columns
|
|
8
|
+
*/
|
|
9
|
+
getAllFormatColumnWithStyle(): FormatColumn[];
|
|
10
|
+
/**
|
|
11
|
+
* Retrieves all Format Columns in Adaptable State with the `Style` or the `CellAlignment` property set
|
|
12
|
+
* @returns format columns
|
|
13
|
+
*/
|
|
14
|
+
getAllFormatColumnWithStyleAndCellAlignment(): FormatColumn[];
|
|
15
|
+
/**
|
|
16
|
+
* Retrieves all Format Columns in Adaptable State with `DisplayFormat` property set
|
|
17
|
+
* @returns format columns
|
|
18
|
+
*/
|
|
19
|
+
getAllFormatColumnWithDisplayFormat(): FormatColumn[];
|
|
20
|
+
/**
|
|
21
|
+
* Retrieves all Format Columns in Adaptable State with `CellAlignment` property set
|
|
22
|
+
* @returns format columns
|
|
23
|
+
*/
|
|
24
|
+
getAllFormatColumnWithCellAlignment(): FormatColumn[];
|
|
25
|
+
/**
|
|
26
|
+
* Get all FormatColumns which are defined for this column and have a custom AdaptableStyle
|
|
27
|
+
* @param column
|
|
28
|
+
* @param config
|
|
29
|
+
* @returns list of FormatColumn
|
|
30
|
+
*/
|
|
31
|
+
getFormatColumnsWithStyleForColumn(column: AdaptableColumn, config?: {
|
|
32
|
+
includeSuspended?: boolean;
|
|
33
|
+
}): FormatColumn[];
|
|
34
|
+
/**
|
|
35
|
+
* Gets Format Column if any for given Column which includes Style element with ClassName
|
|
36
|
+
* @param column The Column for which to retrieve the Format Column
|
|
37
|
+
* @returns format columns
|
|
38
|
+
*/
|
|
39
|
+
getFormatColumnWithStyleClassNameForColumn(column: AdaptableColumn, config?: {
|
|
40
|
+
includeSuspended?: boolean;
|
|
41
|
+
}): FormatColumn[];
|
|
42
|
+
getFormatColumnWithColumnInScope(formatColumns: FormatColumn[], column: AdaptableColumn): FormatColumn[];
|
|
43
|
+
private getFormatColumnInColumnScope;
|
|
44
|
+
/**
|
|
45
|
+
* Get all FormatColumns which are defined for this column and have a custom DisplayFormat
|
|
46
|
+
* @param column
|
|
47
|
+
* @param config
|
|
48
|
+
* @returns list of FormatColumn
|
|
49
|
+
*/
|
|
50
|
+
getFormatColumnsWithDisplayFormatForColumn(column: AdaptableColumn, config?: {
|
|
51
|
+
includeSuspended?: boolean;
|
|
52
|
+
}): FormatColumn[];
|
|
53
|
+
/**
|
|
54
|
+
* Format value according to format options.
|
|
55
|
+
*
|
|
56
|
+
* @param customDisplayFormatterContext context that includes value to format
|
|
57
|
+
* @param options formatter options
|
|
58
|
+
*/
|
|
59
|
+
getNumberFormattedValue(value: any, node: RowNode, abColumn: AdaptableColumn, options: AdaptableFormat['Options']): any;
|
|
60
|
+
/**
|
|
61
|
+
* Format value according to format options.
|
|
62
|
+
*
|
|
63
|
+
* @param value context that includes value to format
|
|
64
|
+
* @param options formatter options
|
|
65
|
+
*/
|
|
66
|
+
getStringFormattedValue(value: any, node: RowNode, abColumn: AdaptableColumn, options: StringFormatterOptions): string;
|
|
67
|
+
/**
|
|
68
|
+
* Format value according to format options.
|
|
69
|
+
*
|
|
70
|
+
* @param customDisplayFormatterContext context that includes value to format
|
|
71
|
+
* @param options formatter options
|
|
72
|
+
*/
|
|
73
|
+
getDateFormattedValue(value: any, node: RowNode, abColumn: AdaptableColumn, options: AdaptableFormat['Options']): string;
|
|
74
|
+
private applyCustomFormatters;
|
|
75
|
+
/**
|
|
76
|
+
* Returns all Predicates appropriate for the given Scope
|
|
77
|
+
* @param scope Scope to check
|
|
78
|
+
*/
|
|
79
|
+
getFormatColumnDefsForScope(scope: AdaptableScope): AdaptablePredicateDef[];
|
|
80
|
+
/**
|
|
81
|
+
* Checks if format column is relevant for a given cell (intersection of given AdaptableColumn and RowNode)
|
|
82
|
+
*
|
|
83
|
+
* @param formatColumn
|
|
84
|
+
* @param column
|
|
85
|
+
* @param params
|
|
86
|
+
*/
|
|
87
|
+
isFormatColumnRelevantForColumn(formatColumn: FormatColumn, column: AdaptableColumn, params: {
|
|
88
|
+
node: RowNode;
|
|
89
|
+
value: any;
|
|
90
|
+
}): boolean;
|
|
91
|
+
private evaluatePredicate;
|
|
92
|
+
private evaluateExpression;
|
|
93
|
+
/**
|
|
94
|
+
* Extract from the given FormatColumns only the ones which are relevant for a given cell (intersection of given AdaptableColumn and RowNode)
|
|
95
|
+
*
|
|
96
|
+
* @param formatColumns
|
|
97
|
+
* @param column
|
|
98
|
+
* @param params
|
|
99
|
+
*/
|
|
100
|
+
getFormatColumnsRelevantForColumn(formatColumns: FormatColumn[], column: AdaptableColumn, params: {
|
|
101
|
+
node: RowNode;
|
|
102
|
+
value: any;
|
|
103
|
+
}): FormatColumn[];
|
|
104
|
+
/**
|
|
105
|
+
* Retrieves all Format Columns which have an Expression
|
|
106
|
+
* @returns Format Columns with Expression
|
|
107
|
+
*/
|
|
108
|
+
getFormatColumnsWithExpression(): FormatColumn[];
|
|
109
|
+
}
|