@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
|
@@ -30,6 +30,39 @@ const sanitizeNumericResult = (value) => {
|
|
|
30
30
|
return value;
|
|
31
31
|
};
|
|
32
32
|
exports.scalarExpressionFunctions = {
|
|
33
|
+
COL: {
|
|
34
|
+
handler(args, context) {
|
|
35
|
+
var _a, _b;
|
|
36
|
+
const columnId = args[0];
|
|
37
|
+
const column = (_a = context.adaptableApi) === null || _a === void 0 ? void 0 : _a.columnApi.getColumnWithColumnId(columnId);
|
|
38
|
+
if (!column) {
|
|
39
|
+
throw new ExpressionEvaluationError_1.ExpressionEvaluationError('COL', `Column name "${columnId}" is not found`);
|
|
40
|
+
}
|
|
41
|
+
if (!column.queryable) {
|
|
42
|
+
throw new ExpressionEvaluationError_1.ExpressionEvaluationError('COL', `Column name "${columnId}" is not queryable`);
|
|
43
|
+
}
|
|
44
|
+
return (_b = context.adaptableApi) === null || _b === void 0 ? void 0 : _b.gridApi.getNormalisedValueFromRowNode(context.node, columnId);
|
|
45
|
+
},
|
|
46
|
+
description: 'Returns the value of a column',
|
|
47
|
+
signatures: ['[colName]', 'COL(name: string)'],
|
|
48
|
+
examples: ['[col1]', 'COL("col1")'],
|
|
49
|
+
category: 'advanced',
|
|
50
|
+
returnType: 'any',
|
|
51
|
+
},
|
|
52
|
+
VAR: {
|
|
53
|
+
handler(args, context) {
|
|
54
|
+
const [functionName, ...optionalArgs] = args;
|
|
55
|
+
if (StringExtensions_1.default.IsNullOrEmpty(functionName)) {
|
|
56
|
+
throw new ExpressionEvaluationError_1.ExpressionEvaluationError('VAR', 'should have a name');
|
|
57
|
+
}
|
|
58
|
+
return context.evaluateCustomQueryVariable(functionName, optionalArgs);
|
|
59
|
+
},
|
|
60
|
+
description: 'Returns the variable evaluation',
|
|
61
|
+
signatures: ['VAR(varName)', 'VAR(varName, arg1, arg2)'],
|
|
62
|
+
examples: ['VAR(CURRENT_USER)', 'VAR(IS_VALID_VALUE, IS_BLANK([col1]), [col2] < [col3])'],
|
|
63
|
+
category: 'advanced',
|
|
64
|
+
returnType: 'any',
|
|
65
|
+
},
|
|
33
66
|
ADD: {
|
|
34
67
|
handler(args) {
|
|
35
68
|
const sanitizedArguments = sanitizeArguments(args, true);
|
|
@@ -43,6 +76,8 @@ exports.scalarExpressionFunctions = {
|
|
|
43
76
|
description: 'Returns the sum of 2 numbers',
|
|
44
77
|
signatures: ['number + number', 'ADD(a: number, b: number)'],
|
|
45
78
|
examples: ['[col1] + 5', 'ADD([col1], 5)'],
|
|
79
|
+
category: 'math',
|
|
80
|
+
returnType: 'number',
|
|
46
81
|
},
|
|
47
82
|
SUB: {
|
|
48
83
|
handler(args) {
|
|
@@ -57,6 +92,8 @@ exports.scalarExpressionFunctions = {
|
|
|
57
92
|
description: 'Returns the difference of 2 numbers',
|
|
58
93
|
signatures: ['number - number', 'SUB(a: number, b: number)'],
|
|
59
94
|
examples: ['[col1] - 5', 'SUB([col1], 5)'],
|
|
95
|
+
category: 'math',
|
|
96
|
+
returnType: 'number',
|
|
60
97
|
},
|
|
61
98
|
MUL: {
|
|
62
99
|
handler(args) {
|
|
@@ -66,6 +103,8 @@ exports.scalarExpressionFunctions = {
|
|
|
66
103
|
description: 'Returns the product of 2 numbers',
|
|
67
104
|
signatures: ['number * number', 'mul(a: number, b: number)'],
|
|
68
105
|
examples: ['[col1] * 5', 'mul([col1], 5)'],
|
|
106
|
+
category: 'math',
|
|
107
|
+
returnType: 'number',
|
|
69
108
|
},
|
|
70
109
|
DIV: {
|
|
71
110
|
handler(args) {
|
|
@@ -75,6 +114,8 @@ exports.scalarExpressionFunctions = {
|
|
|
75
114
|
description: 'Returns the division of 2 numbers',
|
|
76
115
|
signatures: ['number / number', 'DIV(a: number, b: number)'],
|
|
77
116
|
examples: ['[col1] / 5', 'DIV([col1], 5)'],
|
|
117
|
+
category: 'math',
|
|
118
|
+
returnType: 'number',
|
|
78
119
|
},
|
|
79
120
|
MOD: {
|
|
80
121
|
handler(args) {
|
|
@@ -84,6 +125,8 @@ exports.scalarExpressionFunctions = {
|
|
|
84
125
|
description: 'Returns the modulo of 2 numbers',
|
|
85
126
|
signatures: ['number % number', 'MOD(a: number, b: number)'],
|
|
86
127
|
examples: ['[col1] % 5', 'MOD([col1], 5)'],
|
|
128
|
+
category: 'math',
|
|
129
|
+
returnType: 'number',
|
|
87
130
|
},
|
|
88
131
|
POW: {
|
|
89
132
|
handler(args) {
|
|
@@ -93,6 +136,8 @@ exports.scalarExpressionFunctions = {
|
|
|
93
136
|
description: 'Returns the pow of 2 numbers',
|
|
94
137
|
signatures: ['number ^ number', 'POW(a: number, b: number)'],
|
|
95
138
|
examples: ['[col1] ^ 5', 'POW([col1], 5)'],
|
|
139
|
+
category: 'math',
|
|
140
|
+
returnType: 'number',
|
|
96
141
|
},
|
|
97
142
|
IF: {
|
|
98
143
|
handler(args) {
|
|
@@ -102,23 +147,46 @@ exports.scalarExpressionFunctions = {
|
|
|
102
147
|
description: 'Returns one of two statements based on a condition',
|
|
103
148
|
signatures: ['condition ? true_statement : false_statement'],
|
|
104
149
|
examples: ['[col1] > [col2] ? "BIG" : "SMALL"'],
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
150
|
+
category: 'logic',
|
|
151
|
+
returnType: 'any',
|
|
152
|
+
},
|
|
153
|
+
CASE: {
|
|
154
|
+
handler([expressionValueNode, whenThenListNodes, defaultValueNode], context) {
|
|
155
|
+
const caseExpressionValue = expressionValueNode != undefined
|
|
156
|
+
? // CASE matches the first WHEN statement with the provided expression value
|
|
157
|
+
(0, expressionFunctionUtils_1.evaluateExpressionNode)(expressionValueNode, context)
|
|
158
|
+
: // otherwise it returns the first WHEN statement evaluated to TRUE
|
|
159
|
+
true;
|
|
160
|
+
let matchingCase = null;
|
|
161
|
+
whenThenListNodes.forEach((whenThenStatement) => {
|
|
162
|
+
const whenValue = (0, expressionFunctionUtils_1.evaluateExpressionNode)(whenThenStatement.WHEN, context);
|
|
163
|
+
if (whenValue === caseExpressionValue) {
|
|
164
|
+
matchingCase = (0, expressionFunctionUtils_1.evaluateExpressionNode)(whenThenStatement.THEN, context);
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
if (!matchingCase && defaultValueNode) {
|
|
169
|
+
// if provided, return the default CASE
|
|
170
|
+
matchingCase = (0, expressionFunctionUtils_1.evaluateExpressionNode)(defaultValueNode, context);
|
|
113
171
|
}
|
|
114
|
-
|
|
115
|
-
throw new ExpressionEvaluationError_1.ExpressionEvaluationError('COL', `Column name "${columnId}" is not queryable`);
|
|
116
|
-
}
|
|
117
|
-
return (_b = context.adaptableApi) === null || _b === void 0 ? void 0 : _b.gridApi.getNormalisedValueFromRowNode(context.node, columnId);
|
|
172
|
+
return matchingCase;
|
|
118
173
|
},
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
174
|
+
isHiddenFromMenu: true,
|
|
175
|
+
hasEagerEvaluation: true,
|
|
176
|
+
description: `The syntax of CASE supports 2 variants:
|
|
177
|
+
1. CASE takes an expression and compares its value with each WHEN clause until one of them is equal, whereupon the corresponding THEN clause is executed.
|
|
178
|
+
2. Each expression in the WHEN clause is evaluated until one of them is true, whereupon the corresponding THEN clause is executed.
|
|
179
|
+
If no WHEN clause is satisfied, the ELSE clause is executed if one exists, otherwise NULL is returned`,
|
|
180
|
+
signatures: [
|
|
181
|
+
`CASE <expression> [WHEN <expression> THEN <expression>] [ELSE <expression>] END`,
|
|
182
|
+
`CASE [WHEN <expression> THEN <expression>] [ELSE <expression>] END`,
|
|
183
|
+
],
|
|
184
|
+
examples: [
|
|
185
|
+
`CASE [day] WHEN 'Saturday' THEN 'weekend' WHEN 'Sunday' THEN 'weekend' ELSE 'workday' END`,
|
|
186
|
+
`CASE WHEN [price] < 10 THEN 'low price' WHEN [price] < 50 THEN 'medium price' ELSE 'high price' END`,
|
|
187
|
+
],
|
|
188
|
+
category: 'logic',
|
|
189
|
+
returnType: 'any',
|
|
122
190
|
},
|
|
123
191
|
MIN: {
|
|
124
192
|
handler(args) {
|
|
@@ -127,6 +195,8 @@ exports.scalarExpressionFunctions = {
|
|
|
127
195
|
description: 'Returns the smallest of inputted numbers',
|
|
128
196
|
signatures: ['MIN(number, number, ...number)'],
|
|
129
197
|
examples: ['MIN([col1], 5)'],
|
|
198
|
+
category: 'math',
|
|
199
|
+
returnType: 'number',
|
|
130
200
|
},
|
|
131
201
|
MAX: {
|
|
132
202
|
handler(args) {
|
|
@@ -135,6 +205,8 @@ exports.scalarExpressionFunctions = {
|
|
|
135
205
|
description: 'Returns the highest of inputted numbers',
|
|
136
206
|
signatures: ['MAX(number, number, ...number)'],
|
|
137
207
|
examples: ['MAX([col1], 5)'],
|
|
208
|
+
category: 'math',
|
|
209
|
+
returnType: 'number',
|
|
138
210
|
},
|
|
139
211
|
AVG: {
|
|
140
212
|
handler(args) {
|
|
@@ -148,6 +220,8 @@ exports.scalarExpressionFunctions = {
|
|
|
148
220
|
description: 'Returns the average of inputted numbers',
|
|
149
221
|
signatures: ['AVG(number, number, ...number)'],
|
|
150
222
|
examples: ['AVG([col1], 5)'],
|
|
223
|
+
category: 'math',
|
|
224
|
+
returnType: 'number',
|
|
151
225
|
},
|
|
152
226
|
DATE: {
|
|
153
227
|
handler(args) {
|
|
@@ -161,6 +235,8 @@ exports.scalarExpressionFunctions = {
|
|
|
161
235
|
'DATE("YYYY-MM-DD HH:SS")',
|
|
162
236
|
],
|
|
163
237
|
examples: ['DATE("20210101")', 'DATE("2021-01-01")', 'DATE("2021-01-01 10:10")'],
|
|
238
|
+
category: 'dates',
|
|
239
|
+
returnType: 'date',
|
|
164
240
|
},
|
|
165
241
|
NOW: {
|
|
166
242
|
handler() {
|
|
@@ -169,6 +245,8 @@ exports.scalarExpressionFunctions = {
|
|
|
169
245
|
description: 'Returns the current date',
|
|
170
246
|
signatures: ['NOW()'],
|
|
171
247
|
examples: ['[col1] > NOW()'],
|
|
248
|
+
category: 'dates',
|
|
249
|
+
returnType: 'date',
|
|
172
250
|
},
|
|
173
251
|
TODAY: {
|
|
174
252
|
handler() {
|
|
@@ -177,6 +255,8 @@ exports.scalarExpressionFunctions = {
|
|
|
177
255
|
description: 'Returns the current day',
|
|
178
256
|
signatures: ['TODAY()'],
|
|
179
257
|
examples: ['[col1] > TODAY()'],
|
|
258
|
+
category: 'dates',
|
|
259
|
+
returnType: 'date',
|
|
180
260
|
},
|
|
181
261
|
DAY: {
|
|
182
262
|
handler(args) {
|
|
@@ -185,6 +265,8 @@ exports.scalarExpressionFunctions = {
|
|
|
185
265
|
description: 'Returns the day from a date',
|
|
186
266
|
signatures: ['DAY(input: date)'],
|
|
187
267
|
examples: ['DAY([col1]) = DAY(NOW())'],
|
|
268
|
+
category: 'dates',
|
|
269
|
+
returnType: 'date',
|
|
188
270
|
},
|
|
189
271
|
WEEK: {
|
|
190
272
|
handler(args) {
|
|
@@ -193,6 +275,8 @@ exports.scalarExpressionFunctions = {
|
|
|
193
275
|
description: 'Returns the week from a date',
|
|
194
276
|
signatures: ['WEEK(input: date)'],
|
|
195
277
|
examples: ['WEEK([col1]) = WEEK(NOW())'],
|
|
278
|
+
category: 'dates',
|
|
279
|
+
returnType: 'number',
|
|
196
280
|
},
|
|
197
281
|
MONTH: {
|
|
198
282
|
handler(args) {
|
|
@@ -201,6 +285,8 @@ exports.scalarExpressionFunctions = {
|
|
|
201
285
|
description: 'Returns the month from a date',
|
|
202
286
|
signatures: ['MONTH(input: date)'],
|
|
203
287
|
examples: ['MONTH([col1]) = MONTH(NOW())'],
|
|
288
|
+
category: 'dates',
|
|
289
|
+
returnType: 'number',
|
|
204
290
|
},
|
|
205
291
|
YEAR: {
|
|
206
292
|
handler(args) {
|
|
@@ -209,6 +295,8 @@ exports.scalarExpressionFunctions = {
|
|
|
209
295
|
description: 'Returns the year from a date',
|
|
210
296
|
signatures: ['YEAR(input: date)'],
|
|
211
297
|
examples: ['YEAR([col1]) = YEAR(NOW())'],
|
|
298
|
+
category: 'dates',
|
|
299
|
+
returnType: 'date',
|
|
212
300
|
},
|
|
213
301
|
ADD_DAYS: {
|
|
214
302
|
handler(args) {
|
|
@@ -217,6 +305,8 @@ exports.scalarExpressionFunctions = {
|
|
|
217
305
|
description: 'Returns a date based on input data and days to add',
|
|
218
306
|
signatures: ['ADD_DAYS(input: date, days: number)'],
|
|
219
307
|
examples: ['ADD_DAYS(TODAY(), 5)', 'ADD_DAYS([col1], 5)'],
|
|
308
|
+
category: 'dates',
|
|
309
|
+
returnType: 'date',
|
|
220
310
|
},
|
|
221
311
|
ADD_WEEKS: {
|
|
222
312
|
handler(args) {
|
|
@@ -225,6 +315,8 @@ exports.scalarExpressionFunctions = {
|
|
|
225
315
|
description: 'Returns a date based on input data and weeks to add',
|
|
226
316
|
signatures: ['ADD_WEEKS(input: date, weeks: number)'],
|
|
227
317
|
examples: ['ADD_WEEKS(TODAY(), 5)', 'ADD_WEEKS([col1], 5)'],
|
|
318
|
+
category: 'dates',
|
|
319
|
+
returnType: 'date',
|
|
228
320
|
},
|
|
229
321
|
ADD_MONTHS: {
|
|
230
322
|
handler(args) {
|
|
@@ -233,6 +325,8 @@ exports.scalarExpressionFunctions = {
|
|
|
233
325
|
description: 'Returns a date based on input data and months to add',
|
|
234
326
|
signatures: ['ADD_MONTHS(input: date, months: number)'],
|
|
235
327
|
examples: ['ADD_MONTHS(TODAY(), 5)', 'ADD_MONTHS([col1], 5)'],
|
|
328
|
+
category: 'dates',
|
|
329
|
+
returnType: 'date',
|
|
236
330
|
},
|
|
237
331
|
ADD_YEARS: {
|
|
238
332
|
handler(args) {
|
|
@@ -241,6 +335,8 @@ exports.scalarExpressionFunctions = {
|
|
|
241
335
|
description: 'Returns a date based on input data and years to add',
|
|
242
336
|
signatures: ['ADD_YEARS(input: date, years: number)'],
|
|
243
337
|
examples: ['ADD_YEARS(TODAY(), 5)', 'ADD_YEARS([col1], 5)'],
|
|
338
|
+
category: 'dates',
|
|
339
|
+
returnType: 'date',
|
|
244
340
|
},
|
|
245
341
|
DIFF_DAYS: {
|
|
246
342
|
handler(args) {
|
|
@@ -251,6 +347,8 @@ exports.scalarExpressionFunctions = {
|
|
|
251
347
|
description: 'Returns the difference in days between 2 dates',
|
|
252
348
|
signatures: ['DIFF_DAYS(a: date, b: date)'],
|
|
253
349
|
examples: ['DIFF_DAYS([col1], TODAY())'],
|
|
350
|
+
category: 'dates',
|
|
351
|
+
returnType: 'number',
|
|
254
352
|
},
|
|
255
353
|
DIFF_WEEKS: {
|
|
256
354
|
handler(args) {
|
|
@@ -261,6 +359,8 @@ exports.scalarExpressionFunctions = {
|
|
|
261
359
|
description: 'Returns the difference in weeks between 2 dates',
|
|
262
360
|
signatures: ['DIFF_WEEKS(a: date, b: date)'],
|
|
263
361
|
examples: ['DIFF_WEEKS([col1], TODAY())'],
|
|
362
|
+
category: 'dates',
|
|
363
|
+
returnType: 'number',
|
|
264
364
|
},
|
|
265
365
|
DIFF_MONTHS: {
|
|
266
366
|
handler(args) {
|
|
@@ -271,6 +371,8 @@ exports.scalarExpressionFunctions = {
|
|
|
271
371
|
description: 'Returns the difference in months between 2 dates',
|
|
272
372
|
signatures: ['DIFF_MONTHS(a: date, b: date)'],
|
|
273
373
|
examples: ['DIFF_MONTHS([col1], TODAY())'],
|
|
374
|
+
category: 'dates',
|
|
375
|
+
returnType: 'number',
|
|
274
376
|
},
|
|
275
377
|
DIFF_YEARS: {
|
|
276
378
|
handler(args) {
|
|
@@ -281,6 +383,8 @@ exports.scalarExpressionFunctions = {
|
|
|
281
383
|
description: 'Returns the difference in years between 2 dates',
|
|
282
384
|
signatures: ['DIFF_YEARS(a: date, b: date)'],
|
|
283
385
|
examples: ['DIFF_YEARS([col1], TODAY())'],
|
|
386
|
+
category: 'dates',
|
|
387
|
+
returnType: 'number',
|
|
284
388
|
},
|
|
285
389
|
LEN: {
|
|
286
390
|
handler(args) {
|
|
@@ -289,6 +393,8 @@ exports.scalarExpressionFunctions = {
|
|
|
289
393
|
description: 'Returns the length of a string',
|
|
290
394
|
signatures: ['LEN(a: string)'],
|
|
291
395
|
examples: ['LEN([col1])'],
|
|
396
|
+
category: 'strings',
|
|
397
|
+
returnType: 'number',
|
|
292
398
|
},
|
|
293
399
|
SUB_STRING: {
|
|
294
400
|
handler(args) {
|
|
@@ -297,6 +403,8 @@ exports.scalarExpressionFunctions = {
|
|
|
297
403
|
description: 'Extracts characters from string, between 2 indices, returning new sub string',
|
|
298
404
|
signatures: ['SUB_STRING(a: string, b: number, c:number)'],
|
|
299
405
|
examples: ['SUB_STRING([col1], 1, 5)'],
|
|
406
|
+
category: 'strings',
|
|
407
|
+
returnType: 'string',
|
|
300
408
|
},
|
|
301
409
|
UPPER: {
|
|
302
410
|
handler(args) {
|
|
@@ -305,6 +413,8 @@ exports.scalarExpressionFunctions = {
|
|
|
305
413
|
description: 'Converts a string to Upper Case',
|
|
306
414
|
signatures: ['UPPER(a: string)'],
|
|
307
415
|
examples: ['UPPER([col1])'],
|
|
416
|
+
category: 'strings',
|
|
417
|
+
returnType: 'string',
|
|
308
418
|
},
|
|
309
419
|
LOWER: {
|
|
310
420
|
handler(args) {
|
|
@@ -313,6 +423,8 @@ exports.scalarExpressionFunctions = {
|
|
|
313
423
|
description: 'Converts a string to Lower Case',
|
|
314
424
|
signatures: ['LOWER(a: string)'],
|
|
315
425
|
examples: ['LOWER([col1])'],
|
|
426
|
+
category: 'strings',
|
|
427
|
+
returnType: 'string',
|
|
316
428
|
},
|
|
317
429
|
REPLACE: {
|
|
318
430
|
handler(args, context) {
|
|
@@ -326,6 +438,8 @@ exports.scalarExpressionFunctions = {
|
|
|
326
438
|
description: 'Searches string for specified value returning new string with replaced values',
|
|
327
439
|
signatures: ['REPLACE(a: string, b: string, c:string)'],
|
|
328
440
|
examples: ['REPLACE([col1], "GBP", "EUR")'],
|
|
441
|
+
category: 'strings',
|
|
442
|
+
returnType: 'string',
|
|
329
443
|
},
|
|
330
444
|
COALESCE: {
|
|
331
445
|
handler(args) {
|
|
@@ -334,6 +448,8 @@ exports.scalarExpressionFunctions = {
|
|
|
334
448
|
description: 'Returns the first argument which is not null',
|
|
335
449
|
signatures: ['COALESCE(value, value, ...value)'],
|
|
336
450
|
examples: ['COALESCE([col1], [col2], [col3], 0)'],
|
|
451
|
+
category: 'strings',
|
|
452
|
+
returnType: 'string',
|
|
337
453
|
},
|
|
338
454
|
CONCAT: {
|
|
339
455
|
handler(args) {
|
|
@@ -342,19 +458,8 @@ exports.scalarExpressionFunctions = {
|
|
|
342
458
|
description: 'Concatenates multiple strings',
|
|
343
459
|
signatures: ['CONCAT(value1, value2, value3)'],
|
|
344
460
|
examples: ['CONCAT([col1], [col2], [col3]'],
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
handler(args, context) {
|
|
348
|
-
const [functionName, ...optionalArgs] = args;
|
|
349
|
-
if (StringExtensions_1.default.IsNullOrEmpty(functionName)) {
|
|
350
|
-
throw new ExpressionEvaluationError_1.ExpressionEvaluationError('VAR', 'should have a name');
|
|
351
|
-
}
|
|
352
|
-
return context.evaluateCustomQueryVariable(functionName, optionalArgs);
|
|
353
|
-
},
|
|
354
|
-
isPredicate: true,
|
|
355
|
-
description: 'Returns the variable evaluation',
|
|
356
|
-
signatures: ['VAR(varName)', 'VAR(varName, arg1, arg2)'],
|
|
357
|
-
examples: ['VAR(CURRENT_USER)', 'VAR(IS_VALID_VALUE, IS_BLANK([col1]), [col2] < [col3])'],
|
|
461
|
+
category: 'strings',
|
|
462
|
+
returnType: 'string',
|
|
358
463
|
},
|
|
359
464
|
};
|
|
360
465
|
exports.scalarExpressionFunctionNames = (0, TypeExtensions_1.getTypedKeys)(exports.scalarExpressionFunctions);
|
|
@@ -74,4 +74,5 @@ export declare type _DeepRequiredObject<T> = {
|
|
|
74
74
|
};
|
|
75
75
|
export declare type NonUndefined<A> = A extends undefined ? never : A;
|
|
76
76
|
export declare const getTypedKeys: <T extends string>(input: Record<T, any>) => T[];
|
|
77
|
+
export declare type OneOf<T extends any[]> = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR<A, B>, ...Rest]> : never;
|
|
77
78
|
export {};
|
|
@@ -66,7 +66,7 @@ function initPredefinedConfigWithUuids(predefinedConfig) {
|
|
|
66
66
|
}
|
|
67
67
|
exports.initPredefinedConfigWithUuids = initPredefinedConfigWithUuids;
|
|
68
68
|
function checkValidPrimaryKey(adaptable) {
|
|
69
|
-
const pkColumn = adaptable.api.columnApi.
|
|
69
|
+
const pkColumn = adaptable.api.columnApi.getColumnWithColumnId(adaptable.adaptableOptions.primaryKey);
|
|
70
70
|
if (pkColumn == undefined && !adaptable.adaptableOptions.autogeneratePrimaryKey) {
|
|
71
71
|
const errorMessage = `The Primary Key Column '${adaptable.adaptableOptions.primaryKey}' does not exist. This will affect many functions in Adaptable.`;
|
|
72
72
|
if (adaptable.adaptableOptions.generalOptions.showMissingPrimaryKeyAlert == true) {
|
|
@@ -18,15 +18,17 @@ function Format(input, format) {
|
|
|
18
18
|
}
|
|
19
19
|
exports.Format = Format;
|
|
20
20
|
function NumberFormatter(input, options = {}) {
|
|
21
|
-
|
|
21
|
+
var _a, _b;
|
|
22
|
+
let preparedInput = (_a = options.Content) !== null && _a !== void 0 ? _a : input;
|
|
23
|
+
if (preparedInput == null || preparedInput == undefined) {
|
|
22
24
|
return undefined;
|
|
23
25
|
}
|
|
24
|
-
if (typeof
|
|
25
|
-
return
|
|
26
|
+
if (typeof preparedInput === 'string') {
|
|
27
|
+
return preparedInput;
|
|
26
28
|
}
|
|
27
|
-
let n = Number(
|
|
29
|
+
let n = Number(preparedInput);
|
|
28
30
|
if (isNaN(n)) {
|
|
29
|
-
return
|
|
31
|
+
return preparedInput.toString();
|
|
30
32
|
}
|
|
31
33
|
const fractionsSepatator = options.FractionSeparator ? options.FractionSeparator : '.';
|
|
32
34
|
let multiplier = options.Multiplier ? options.Multiplier : 1;
|
|
@@ -34,7 +36,7 @@ function NumberFormatter(input, options = {}) {
|
|
|
34
36
|
n *= multiplier;
|
|
35
37
|
n = parseFloat(n.toFixed(12));
|
|
36
38
|
}
|
|
37
|
-
if (options.Parentheses === true &&
|
|
39
|
+
if (options.Parentheses === true && preparedInput < 0) {
|
|
38
40
|
n *= -1;
|
|
39
41
|
n = parseFloat(n.toFixed(12));
|
|
40
42
|
}
|
|
@@ -50,7 +52,7 @@ function NumberFormatter(input, options = {}) {
|
|
|
50
52
|
digitsToUse = options.FractionDigits;
|
|
51
53
|
}
|
|
52
54
|
else {
|
|
53
|
-
let decimalCount = Math.floor(n) === n ? 0 : n.toString().split(fractionsSepatator)[1].length || 0;
|
|
55
|
+
let decimalCount = Math.floor(n) === n ? 0 : ((_b = n.toString().split(fractionsSepatator)[1]) === null || _b === void 0 ? void 0 : _b.length) || 0;
|
|
54
56
|
digitsToUse = decimalCount;
|
|
55
57
|
}
|
|
56
58
|
s = n.toLocaleString('en-US', {
|
|
@@ -65,7 +67,7 @@ function NumberFormatter(input, options = {}) {
|
|
|
65
67
|
s = s.replace(/\,/g, options.IntegerSeparator);
|
|
66
68
|
}
|
|
67
69
|
s = (options.Prefix || '') + s + (options.Suffix || '');
|
|
68
|
-
if (options.Parentheses === true &&
|
|
70
|
+
if (options.Parentheses === true && preparedInput < 0) {
|
|
69
71
|
s = '(' + s + ')';
|
|
70
72
|
}
|
|
71
73
|
return s;
|
|
@@ -94,10 +96,11 @@ function DateFormatter(input, options, strictFormatting = false) {
|
|
|
94
96
|
}
|
|
95
97
|
exports.DateFormatter = DateFormatter;
|
|
96
98
|
function StringFormatter(input, options = {}) {
|
|
97
|
-
|
|
99
|
+
let preparedInput = options.Content ? options.Content : input;
|
|
100
|
+
if (preparedInput == null || preparedInput == undefined) {
|
|
98
101
|
return undefined;
|
|
99
102
|
}
|
|
100
|
-
let s =
|
|
103
|
+
let s = preparedInput;
|
|
101
104
|
if (options.Prefix !== undefined) {
|
|
102
105
|
s = options.Prefix + s;
|
|
103
106
|
}
|
|
@@ -85,7 +85,7 @@ function CreateEmptyAlertDefinition() {
|
|
|
85
85
|
Uuid: (0, Uuid_1.createUuid)(),
|
|
86
86
|
Scope: { All: true },
|
|
87
87
|
Rule: {
|
|
88
|
-
|
|
88
|
+
Predicates: [],
|
|
89
89
|
},
|
|
90
90
|
MessageType: GeneralConstants_1.ALERT_DEFAULT_MESSAGE_TYPE,
|
|
91
91
|
AlertProperties: {},
|
|
@@ -97,9 +97,11 @@ function CreateEmptyFlashingCellDefinition() {
|
|
|
97
97
|
Uuid: (0, Uuid_1.createUuid)(),
|
|
98
98
|
Scope: { ColumnIds: [] },
|
|
99
99
|
Rule: {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
Predicates: [
|
|
101
|
+
{
|
|
102
|
+
PredicateId: 'Any',
|
|
103
|
+
},
|
|
104
|
+
],
|
|
103
105
|
},
|
|
104
106
|
};
|
|
105
107
|
}
|
|
@@ -112,7 +114,7 @@ function CreateInternalAlertDefinitionForMessages(messageType, alertProperties)
|
|
|
112
114
|
Uuid: (0, Uuid_1.createUuid)(),
|
|
113
115
|
Scope: undefined,
|
|
114
116
|
Rule: {
|
|
115
|
-
|
|
117
|
+
Predicates: [],
|
|
116
118
|
},
|
|
117
119
|
MessageType: messageType,
|
|
118
120
|
AlertProperties: alertProperties,
|
|
@@ -320,7 +322,7 @@ function CreateEmptyStyle() {
|
|
|
320
322
|
FontWeight: undefined,
|
|
321
323
|
FontStyle: undefined,
|
|
322
324
|
FontSize: undefined,
|
|
323
|
-
ClassName:
|
|
325
|
+
ClassName: undefined,
|
|
324
326
|
};
|
|
325
327
|
}
|
|
326
328
|
exports.CreateEmptyStyle = CreateEmptyStyle;
|
|
@@ -19,7 +19,7 @@ class CalculatedColumnExpressionService {
|
|
|
19
19
|
const refreshedCalculatedColumns = [];
|
|
20
20
|
this.aggregatedScalarLiveValuesMap.forEach((aggregatedScalarLiveValue, calculatedColumnId) => {
|
|
21
21
|
const calculatedColumn = this.adaptableApi.calculatedColumnApi.getCalculatedColumnById(calculatedColumnId);
|
|
22
|
-
const columnDependencies = this.adaptableApi.calculatedColumnApi.getReferencedColumnIdsForCalculatedColumn(calculatedColumn);
|
|
22
|
+
const columnDependencies = this.adaptableApi.calculatedColumnApi.internalApi.getReferencedColumnIdsForCalculatedColumn(calculatedColumn);
|
|
23
23
|
if (columnDependencies.includes(cellDataChangedInfo.column.columnId)) {
|
|
24
24
|
aggregatedScalarLiveValue.refresh();
|
|
25
25
|
refreshedCalculatedColumns.push(calculatedColumn.ColumnId);
|
|
@@ -10,7 +10,7 @@ class ChartingService {
|
|
|
10
10
|
this.api = api;
|
|
11
11
|
}
|
|
12
12
|
onChartModelChange(models, eventType, params) {
|
|
13
|
-
const allChartDefinitions = this.api.chartingApi.
|
|
13
|
+
const allChartDefinitions = this.api.chartingApi.getChartDefinitions();
|
|
14
14
|
const currentChartModel = models.find((model) => model.chartId === params.chartId);
|
|
15
15
|
const currentChartDefinition = allChartDefinitions.find((chartDefinition) => chartDefinition.Model.chartId === params.chartId);
|
|
16
16
|
switch (eventType) {
|
|
@@ -84,7 +84,7 @@ class ChartingService {
|
|
|
84
84
|
],
|
|
85
85
|
} }),
|
|
86
86
|
};
|
|
87
|
-
this.api.alertApi.
|
|
87
|
+
this.api.alertApi.showAdaptableAlert(alert);
|
|
88
88
|
}
|
|
89
89
|
else if (saveStragegy === 'auto') {
|
|
90
90
|
this.api.chartingApi.addChartDefinition(ObjectFactory_1.default.CreateEmptyChartDefinition({
|
|
@@ -34,7 +34,7 @@ class DataService {
|
|
|
34
34
|
CreateDataChangedEvent(cellDataChangedInfo) {
|
|
35
35
|
if (cellDataChangedInfo.newValue != cellDataChangedInfo.oldValue) {
|
|
36
36
|
this.emitter.emitSync('CellDataChanged', cellDataChangedInfo);
|
|
37
|
-
this.adaptable.api.gridApi.fireCellChangedEvent(cellDataChangedInfo);
|
|
37
|
+
this.adaptable.api.gridApi.internalApi.fireCellChangedEvent(cellDataChangedInfo);
|
|
38
38
|
this.logDataChange(cellDataChangedInfo);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { IAdaptableService } from './IAdaptableService';
|
|
2
2
|
import { AdaptableModule } from '../../../PredefinedConfig/Common/Types';
|
|
3
3
|
import { AccessLevel } from '../../../PredefinedConfig/Common/Entitlement';
|
|
4
|
+
import { GridInfoSection } from '../../../types';
|
|
4
5
|
export interface IEntitlementService extends IAdaptableService {
|
|
5
6
|
setModulesEntitlements(): void;
|
|
6
7
|
isModuleHiddenEntitlement(adaptableModule: AdaptableModule): boolean;
|
|
7
8
|
isModuleFullEntitlement(adaptableModule: AdaptableModule): boolean;
|
|
8
9
|
isModuleReadOnlyEntitlement(adaptableModule: AdaptableModule): boolean;
|
|
9
10
|
getEntitlementAccessLevelForModule(adaptableModule: AdaptableModule): AccessLevel;
|
|
10
|
-
isGridInfoSectionVisible(section:
|
|
11
|
+
isGridInfoSectionVisible(section: GridInfoSection): boolean;
|
|
11
12
|
}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import { RowNode } from '@ag-grid-community/core';
|
|
2
1
|
import { IAdaptableService } from './IAdaptableService';
|
|
3
|
-
import { AdaptableForm } from '../../../PredefinedConfig/Common/AdaptableForm';
|
|
4
|
-
import { CreateActionRowFormContext, EditActionRowFormContext } from '../../../AdaptableOptions/ActionOptions';
|
|
5
2
|
export interface IRowEditService extends IAdaptableService {
|
|
6
|
-
buildRowEditForm(rowNode: RowNode): AdaptableForm<EditActionRowFormContext>;
|
|
7
|
-
buildRowCreateForm(clonedRowNode?: RowNode): AdaptableForm<CreateActionRowFormContext>;
|
|
8
3
|
}
|
|
@@ -142,7 +142,7 @@ class ModuleService {
|
|
|
142
142
|
case 'StyledColumn':
|
|
143
143
|
return learnUrl + 'handbook-styled-column-overview';
|
|
144
144
|
case 'Charting':
|
|
145
|
-
return learnUrl + '
|
|
145
|
+
return learnUrl + 'handbook-charts';
|
|
146
146
|
default:
|
|
147
147
|
return 'good';
|
|
148
148
|
}
|
|
@@ -105,7 +105,7 @@ class QueryLanguageService {
|
|
|
105
105
|
this.cacheBooleanValidation.set(cacheKey, result);
|
|
106
106
|
return result;
|
|
107
107
|
}
|
|
108
|
-
if (
|
|
108
|
+
if (booleanAndScalarFunctions[rootFn.type].returnType !== 'boolean') {
|
|
109
109
|
const result = {
|
|
110
110
|
isValid: false,
|
|
111
111
|
errorMessage: `provided function ${rootFn === null || rootFn === void 0 ? void 0 : rootFn.type} is not a predicate`,
|
|
@@ -267,7 +267,7 @@ class QueryLanguageService {
|
|
|
267
267
|
let result = expression;
|
|
268
268
|
const columnIds = this.getColumnsFromExpression(expression);
|
|
269
269
|
columnIds.forEach((columnId) => {
|
|
270
|
-
const columnFriendlyName = this.adaptableApi.columnApi.
|
|
270
|
+
const columnFriendlyName = this.adaptableApi.columnApi.getFriendlyNameForColumnId(columnId);
|
|
271
271
|
result = result.split(columnId).join(columnFriendlyName);
|
|
272
272
|
});
|
|
273
273
|
return result;
|
|
@@ -103,7 +103,7 @@ class ReportService {
|
|
|
103
103
|
return ['[Selected Columns]'];
|
|
104
104
|
case 'ScopeColumns':
|
|
105
105
|
if ('ColumnIds' in (report === null || report === void 0 ? void 0 : report.Scope)) {
|
|
106
|
-
return (_b = (_a = report.Scope.ColumnIds).map) === null || _b === void 0 ? void 0 : _b.call(_a, (columnId) => { var _a; return (_a = this.adaptableApi.columnApi.
|
|
106
|
+
return (_b = (_a = report.Scope.ColumnIds).map) === null || _b === void 0 ? void 0 : _b.call(_a, (columnId) => { var _a; return (_a = this.adaptableApi.columnApi.getFriendlyNameForColumnId(columnId)) !== null && _a !== void 0 ? _a : columnId; });
|
|
107
107
|
}
|
|
108
108
|
return ['[Bespoke Columns]'];
|
|
109
109
|
}
|
|
@@ -180,7 +180,7 @@ class ReportService {
|
|
|
180
180
|
break;
|
|
181
181
|
case 'ScopeColumns':
|
|
182
182
|
if ('ColumnIds' in report.Scope) {
|
|
183
|
-
reportColumns = report.Scope.ColumnIds.map((columnId) => this.adaptableApi.columnApi.
|
|
183
|
+
reportColumns = report.Scope.ColumnIds.map((columnId) => this.adaptableApi.columnApi.getColumnWithColumnId(columnId)).filter((c) => c);
|
|
184
184
|
}
|
|
185
185
|
else {
|
|
186
186
|
reportColumns = this.adaptableApi.scopeApi.getColumnsForScope(report.Scope);
|
|
@@ -306,7 +306,7 @@ class ReportService {
|
|
|
306
306
|
if (StringExtensions_1.default.IsNullOrEmpty(cellRawValue)) {
|
|
307
307
|
return cellRawValue;
|
|
308
308
|
}
|
|
309
|
-
const columnType = this.adaptableApi.columnApi.
|
|
309
|
+
const columnType = this.adaptableApi.columnApi.getColumnDataTypeForColumnId(columnId);
|
|
310
310
|
// if this is a date column and there is a custom export date format provided, that will take precedence
|
|
311
311
|
if (columnType === 'Date' && !!this.getCustomExportDateFormat()) {
|
|
312
312
|
const exportDateFormat = this.getCustomExportDateFormat();
|
|
@@ -1,26 +1,7 @@
|
|
|
1
1
|
import { IRowEditService } from './Interface/IRowEditService';
|
|
2
|
-
import { RowNode } from '@ag-grid-community/core';
|
|
3
2
|
import { AdaptableApi } from '../../Api/AdaptableApi';
|
|
4
|
-
import { AdaptableForm } from '../../PredefinedConfig/Common/AdaptableForm';
|
|
5
|
-
import { CreateActionRowFormContext, EditActionRowFormContext } from '../../AdaptableOptions/ActionOptions';
|
|
6
3
|
export declare class RowEditService implements IRowEditService {
|
|
7
4
|
private adaptableApi;
|
|
8
|
-
private adaptableInstance;
|
|
9
|
-
private rowEditFormOptions;
|
|
10
5
|
constructor(adaptableApi: AdaptableApi);
|
|
11
|
-
buildRowEditForm(rowNode: RowNode): AdaptableForm<EditActionRowFormContext>;
|
|
12
|
-
buildRowCreateForm(clonedRowNode?: RowNode): AdaptableForm<CreateActionRowFormContext>;
|
|
13
|
-
private buildActionRow;
|
|
14
|
-
private getFormTitle;
|
|
15
|
-
private getFormDescription;
|
|
16
|
-
private buildFormParamContext;
|
|
17
|
-
private buildActionRowFields;
|
|
18
|
-
private buidActionRowButtons;
|
|
19
|
-
private isColumnEditable;
|
|
20
|
-
private buildFormField;
|
|
21
|
-
private getFormFieldLabel;
|
|
22
|
-
private buildFormFieldLabelContext;
|
|
23
|
-
private getFieldTypeFromColumnType;
|
|
24
|
-
private getFieldValueOptions;
|
|
25
6
|
private autoHandleActionRowButtons;
|
|
26
7
|
}
|