@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,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FormatColumnInternalApi = 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 FormatHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/FormatHelper"));
|
|
8
|
+
const ObjectFactory_1 = tslib_1.__importDefault(require("../../Utilities/ObjectFactory"));
|
|
9
|
+
const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
|
|
10
|
+
class FormatColumnInternalApi extends ApiBase_1.ApiBase {
|
|
11
|
+
/**
|
|
12
|
+
* Retrieves all Format Columns in Adaptable State with the `Style` property set
|
|
13
|
+
* @returns format columns
|
|
14
|
+
*/
|
|
15
|
+
getAllFormatColumnWithStyle() {
|
|
16
|
+
return this.getFormatColumnApi()
|
|
17
|
+
.getFormatColumns()
|
|
18
|
+
.filter((fc) => fc.Style);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Retrieves all Format Columns in Adaptable State with the `Style` or the `CellAlignment` property set
|
|
22
|
+
* @returns format columns
|
|
23
|
+
*/
|
|
24
|
+
getAllFormatColumnWithStyleAndCellAlignment() {
|
|
25
|
+
return this.getFormatColumnApi()
|
|
26
|
+
.getFormatColumns()
|
|
27
|
+
.filter((fc) => fc.Style || fc.CellAlignment);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Retrieves all Format Columns in Adaptable State with `DisplayFormat` property set
|
|
31
|
+
* @returns format columns
|
|
32
|
+
*/
|
|
33
|
+
getAllFormatColumnWithDisplayFormat() {
|
|
34
|
+
return this.getFormatColumnApi()
|
|
35
|
+
.getFormatColumns()
|
|
36
|
+
.filter((fc) => fc.DisplayFormat);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Retrieves all Format Columns in Adaptable State with `CellAlignment` property set
|
|
40
|
+
* @returns format columns
|
|
41
|
+
*/
|
|
42
|
+
getAllFormatColumnWithCellAlignment() {
|
|
43
|
+
return this.getFormatColumnApi()
|
|
44
|
+
.getFormatColumns()
|
|
45
|
+
.filter((fc) => fc.CellAlignment);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get all FormatColumns which are defined for this column and have a custom AdaptableStyle
|
|
49
|
+
* @param column
|
|
50
|
+
* @param config
|
|
51
|
+
* @returns list of FormatColumn
|
|
52
|
+
*/
|
|
53
|
+
getFormatColumnsWithStyleForColumn(column, config) {
|
|
54
|
+
const formatColumns = this.getAllFormatColumnWithStyleAndCellAlignment().filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeSuspended) || !formatColumn.IsSuspended);
|
|
55
|
+
return this.getFormatColumnWithColumnInScope(formatColumns, column);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Gets Format Column if any for given Column which includes Style element with ClassName
|
|
59
|
+
* @param column The Column for which to retrieve the Format Column
|
|
60
|
+
* @returns format columns
|
|
61
|
+
*/
|
|
62
|
+
getFormatColumnWithStyleClassNameForColumn(column, config) {
|
|
63
|
+
return this.getFormatColumnsWithStyleForColumn(column, config).filter((formatColumn) => { var _a; return StringExtensions_1.default.IsNotNullOrEmpty((_a = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.Style) === null || _a === void 0 ? void 0 : _a.ClassName); });
|
|
64
|
+
}
|
|
65
|
+
getFormatColumnWithColumnInScope(formatColumns, column) {
|
|
66
|
+
return this.getFormatColumnInColumnScope(formatColumns).filter((scopedFormatColumn) => this.adaptable.api.scopeApi.isColumnInScope(column, scopedFormatColumn.Scope));
|
|
67
|
+
}
|
|
68
|
+
// TODO is this really needed, I don't think it achieves anything
|
|
69
|
+
getFormatColumnInColumnScope(formatColumns) {
|
|
70
|
+
// we need to maintain the format columns order, therefore we will extract all 3 scope types in a single iteration
|
|
71
|
+
return formatColumns.filter((fc) => {
|
|
72
|
+
return (
|
|
73
|
+
// this.getFormatColumnsWithColumnScope(formatColumns)
|
|
74
|
+
this.adaptable.api.scopeApi.scopeHasColumns(fc.Scope) ||
|
|
75
|
+
// this.getFormatColumnsWithDataTypeScope(formatColumns)
|
|
76
|
+
this.adaptable.api.scopeApi.scopeHasDataType(fc.Scope) ||
|
|
77
|
+
// this.getFormatColumnsWithAllScope(formatColumns)
|
|
78
|
+
this.adaptable.api.scopeApi.scopeIsAll(fc.Scope));
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get all FormatColumns which are defined for this column and have a custom DisplayFormat
|
|
83
|
+
* @param column
|
|
84
|
+
* @param config
|
|
85
|
+
* @returns list of FormatColumn
|
|
86
|
+
*/
|
|
87
|
+
getFormatColumnsWithDisplayFormatForColumn(column, config) {
|
|
88
|
+
const formatColumns = this.getAllFormatColumnWithDisplayFormat().filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeSuspended) || !formatColumn.IsSuspended);
|
|
89
|
+
return this.getFormatColumnWithColumnInScope(formatColumns, column);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Format value according to format options.
|
|
93
|
+
*
|
|
94
|
+
* @param customDisplayFormatterContext context that includes value to format
|
|
95
|
+
* @param options formatter options
|
|
96
|
+
*/
|
|
97
|
+
getNumberFormattedValue(value, node, abColumn, options) {
|
|
98
|
+
const preparedValue = this.applyCustomFormatters(value, node, abColumn, options);
|
|
99
|
+
return FormatHelper_1.default.NumberFormatter(preparedValue, options);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Format value according to format options.
|
|
103
|
+
*
|
|
104
|
+
* @param value context that includes value to format
|
|
105
|
+
* @param options formatter options
|
|
106
|
+
*/
|
|
107
|
+
getStringFormattedValue(value, node, abColumn, options) {
|
|
108
|
+
const preparedValue = this.applyCustomFormatters(value, node, abColumn, options);
|
|
109
|
+
return FormatHelper_1.default.StringFormatter(preparedValue, options);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Format value according to format options.
|
|
113
|
+
*
|
|
114
|
+
* @param customDisplayFormatterContext context that includes value to format
|
|
115
|
+
* @param options formatter options
|
|
116
|
+
*/
|
|
117
|
+
getDateFormattedValue(value, node, abColumn, options) {
|
|
118
|
+
const preparedValue = this.applyCustomFormatters(value, node, abColumn, options);
|
|
119
|
+
const dateFormatterOptions = options;
|
|
120
|
+
// only use DateFormatter if we have a pattern
|
|
121
|
+
return dateFormatterOptions.Pattern
|
|
122
|
+
? FormatHelper_1.default.DateFormatter(preparedValue, options)
|
|
123
|
+
: preparedValue;
|
|
124
|
+
}
|
|
125
|
+
applyCustomFormatters(value, node, abColumn, options) {
|
|
126
|
+
var _a, _b, _c;
|
|
127
|
+
const columnCustomFormatters = (_a = options === null || options === void 0 ? void 0 : options.CustomDisplayFormats) !== null && _a !== void 0 ? _a : [];
|
|
128
|
+
if (!(columnCustomFormatters === null || columnCustomFormatters === void 0 ? void 0 : columnCustomFormatters.length)) {
|
|
129
|
+
return value;
|
|
130
|
+
}
|
|
131
|
+
const adaptableOptions = this.adaptable.adaptableOptions;
|
|
132
|
+
const customFormattersFromOptions = (_c = (_b = adaptableOptions === null || adaptableOptions === void 0 ? void 0 : adaptableOptions.userInterfaceOptions) === null || _b === void 0 ? void 0 : _b.customDisplayFormatters) !== null && _c !== void 0 ? _c : [];
|
|
133
|
+
// formatters are applied in the order they are defined in the options
|
|
134
|
+
const customFormatters = customFormattersFromOptions.filter((customFormatterOption) => columnCustomFormatters.includes(customFormatterOption.id));
|
|
135
|
+
const customDisplayFormatterContext = ObjectFactory_1.default.CreateCustomDisplayFormatterContext(value, node, abColumn, this.getAdaptableApi());
|
|
136
|
+
return customFormatters.reduce((context, formatter) => {
|
|
137
|
+
if (formatter && formatter.handler) {
|
|
138
|
+
return formatter.handler(context);
|
|
139
|
+
}
|
|
140
|
+
return context.cellValue;
|
|
141
|
+
}, customDisplayFormatterContext);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Returns all Predicates appropriate for the given Scope
|
|
145
|
+
* @param scope Scope to check
|
|
146
|
+
*/
|
|
147
|
+
getFormatColumnDefsForScope(scope) {
|
|
148
|
+
return this.getAdaptableApi()
|
|
149
|
+
.predicateApi.internalApi.getFormatColumnPredicateDefs()
|
|
150
|
+
.filter((predicateDef) => this.adaptable.api.scopeApi.isScopeInScope(scope, predicateDef.columnScope));
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Checks if format column is relevant for a given cell (intersection of given AdaptableColumn and RowNode)
|
|
154
|
+
*
|
|
155
|
+
* @param formatColumn
|
|
156
|
+
* @param column
|
|
157
|
+
* @param params
|
|
158
|
+
*/
|
|
159
|
+
isFormatColumnRelevantForColumn(formatColumn, column, params) {
|
|
160
|
+
var _a, _b;
|
|
161
|
+
// suspended is important to be first
|
|
162
|
+
if (formatColumn.IsSuspended) {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
if (!formatColumn.IncludeGroupedRows &&
|
|
166
|
+
this.adaptable.api.gridApi.isGroupRowNode(params.node)) {
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
if (!formatColumn.Rule) {
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
// first run the predicate
|
|
173
|
+
if (formatColumn.Rule.Predicates && ((_b = (_a = formatColumn.Rule) === null || _a === void 0 ? void 0 : _a.Predicates) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
174
|
+
return this.evaluatePredicate({
|
|
175
|
+
formatColumn,
|
|
176
|
+
column,
|
|
177
|
+
value: params.value,
|
|
178
|
+
node: params.node,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
else if (formatColumn.Rule.BooleanExpression) {
|
|
182
|
+
return this.evaluateExpression(formatColumn, params.node);
|
|
183
|
+
}
|
|
184
|
+
// nothing has passed then return false
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
evaluatePredicate({ formatColumn, column, value, node, }) {
|
|
188
|
+
var _a;
|
|
189
|
+
const params = {
|
|
190
|
+
value: value,
|
|
191
|
+
oldValue: null,
|
|
192
|
+
displayValue: value,
|
|
193
|
+
node: node,
|
|
194
|
+
column: column,
|
|
195
|
+
};
|
|
196
|
+
return this.adaptable.api.predicateApi.handlePredicates((_a = formatColumn.Rule) === null || _a === void 0 ? void 0 : _a.Predicates, params, false);
|
|
197
|
+
}
|
|
198
|
+
evaluateExpression(formatColumn, node) {
|
|
199
|
+
const isValidExpression = this.adaptable.api.queryLanguageApi.isValidBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, `Invalid format column rule '${formatColumn.Rule.BooleanExpression}'`);
|
|
200
|
+
return (isValidExpression &&
|
|
201
|
+
this.adaptable.api.internalApi
|
|
202
|
+
.getQueryLanguageService()
|
|
203
|
+
.evaluateBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, node));
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Extract from the given FormatColumns only the ones which are relevant for a given cell (intersection of given AdaptableColumn and RowNode)
|
|
207
|
+
*
|
|
208
|
+
* @param formatColumns
|
|
209
|
+
* @param column
|
|
210
|
+
* @param params
|
|
211
|
+
*/
|
|
212
|
+
getFormatColumnsRelevantForColumn(formatColumns, column, params) {
|
|
213
|
+
return formatColumns.filter((formatColumn) => this.isFormatColumnRelevantForColumn(formatColumn, column, params));
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Retrieves all Format Columns which have an Expression
|
|
217
|
+
* @returns Format Columns with Expression
|
|
218
|
+
*/
|
|
219
|
+
getFormatColumnsWithExpression() {
|
|
220
|
+
return this.getFormatColumnApi()
|
|
221
|
+
.getFormatColumns()
|
|
222
|
+
.filter((fc) => { var _a; return !!((_a = fc.Rule) === null || _a === void 0 ? void 0 : _a.BooleanExpression); });
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
exports.FormatColumnInternalApi = FormatColumnInternalApi;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
|
+
import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
|
|
3
|
+
import { FreeTextColumn } from '../../PredefinedConfig/FreeTextColumnState';
|
|
4
|
+
export declare class FreeTextColumnInternalApi extends ApiBase {
|
|
5
|
+
/**
|
|
6
|
+
* Checks if a User Edit was in a Free Text Column
|
|
7
|
+
* @param cellDataChangedInfo change to check
|
|
8
|
+
*/
|
|
9
|
+
handleFreeTextColumnDataChange(cellDataChangedInfo: CellDataChangedInfo): void;
|
|
10
|
+
/**
|
|
11
|
+
* Returns all the references in the AdaptableState of the given FreeTextColumn
|
|
12
|
+
* @param freeTextColumn FreeTextColumn to be checked
|
|
13
|
+
*/
|
|
14
|
+
getFreeTextColumnModuleReferences(freeTextColumn: FreeTextColumn): string[];
|
|
15
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FreeTextColumnInternalApi = void 0;
|
|
4
|
+
const ApiBase_1 = require("../Implementation/ApiBase");
|
|
5
|
+
class FreeTextColumnInternalApi extends ApiBase_1.ApiBase {
|
|
6
|
+
/**
|
|
7
|
+
* Checks if a User Edit was in a Free Text Column
|
|
8
|
+
* @param cellDataChangedInfo change to check
|
|
9
|
+
*/
|
|
10
|
+
handleFreeTextColumnDataChange(cellDataChangedInfo) {
|
|
11
|
+
let freeTextColumn = this.getFreeTextColumnApi()
|
|
12
|
+
.getFreeTextColumns()
|
|
13
|
+
.find((fc) => fc.ColumnId == cellDataChangedInfo.column.columnId);
|
|
14
|
+
if (freeTextColumn) {
|
|
15
|
+
let freeTextStoredValue = {
|
|
16
|
+
PrimaryKey: cellDataChangedInfo.primaryKeyValue,
|
|
17
|
+
FreeText: cellDataChangedInfo.newValue,
|
|
18
|
+
};
|
|
19
|
+
this.getFreeTextColumnApi().setStoredValue(freeTextColumn.ColumnId, freeTextStoredValue);
|
|
20
|
+
var colsToRefresh = [cellDataChangedInfo.column.columnId];
|
|
21
|
+
const refencedCalcColumns = this.adaptable.api.calculatedColumnApi.internalApi.getCalculatedColumnsReferencingColumnId(cellDataChangedInfo.column.columnId);
|
|
22
|
+
refencedCalcColumns.forEach((calculatedColumn) => {
|
|
23
|
+
colsToRefresh.push(calculatedColumn.ColumnId);
|
|
24
|
+
});
|
|
25
|
+
this.adaptable.refreshCells([cellDataChangedInfo.rowNode], colsToRefresh, false);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Returns all the references in the AdaptableState of the given FreeTextColumn
|
|
30
|
+
* @param freeTextColumn FreeTextColumn to be checked
|
|
31
|
+
*/
|
|
32
|
+
getFreeTextColumnModuleReferences(freeTextColumn) {
|
|
33
|
+
const references = [];
|
|
34
|
+
this.adaptable.adaptableModules.forEach((module) => {
|
|
35
|
+
if (module
|
|
36
|
+
.getModuleFreeTextColumnReferences()
|
|
37
|
+
.some((moduleReference) => moduleReference.Uuid === freeTextColumn.Uuid)) {
|
|
38
|
+
references.push(module.moduleInfo.FriendlyName);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return references;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.FreeTextColumnInternalApi = FreeTextColumnInternalApi;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
|
+
import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
|
|
3
|
+
import { RowNode } from '@ag-grid-community/core';
|
|
4
|
+
import { GridCell } from '../../PredefinedConfig/Selection/GridCell';
|
|
5
|
+
import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
|
|
6
|
+
import { SelectedCellInfo } from '../../PredefinedConfig/Selection/SelectedCellInfo';
|
|
7
|
+
import { SelectedRowInfo } from '../../PredefinedConfig/Selection/SelectedRowInfo';
|
|
8
|
+
import { AdaptableMenuItem } from '../../PredefinedConfig/Common/Menu';
|
|
9
|
+
import { EditLookUpPermittedValues } from '../../AdaptableOptions/UserInterfaceOptions';
|
|
10
|
+
export declare class GridInternalApi extends ApiBase {
|
|
11
|
+
/**
|
|
12
|
+
* Fires Grid Sorted Event
|
|
13
|
+
*/
|
|
14
|
+
fireGridSortedEvent(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Fires Cell Changed Changed Event - when any data in AG Grid's dataset has changed
|
|
17
|
+
*/
|
|
18
|
+
fireCellChangedEvent(cellDataChangedInfo: CellDataChangedInfo): void;
|
|
19
|
+
/**
|
|
20
|
+
* Fires Grid Data Changed Event - when a row has changed in AG Grid
|
|
21
|
+
*/
|
|
22
|
+
fireGridDataChangedEvent(dataRows: any[], rowNodes: RowNode[], rowTrigger: 'Add' | 'Edit' | 'Delete'): void;
|
|
23
|
+
/**
|
|
24
|
+
* Gets all distinct display values in the Column with the given ColumnId
|
|
25
|
+
* @param columnId Column to check
|
|
26
|
+
*/
|
|
27
|
+
getDistinctDisplayValuesForColumn(columnId: string): any[];
|
|
28
|
+
/**
|
|
29
|
+
* Gets all distinct Filter values for the Column with the given ColumnId (used for Floating Filter and Column Header filter)
|
|
30
|
+
* @param columnId Column to check
|
|
31
|
+
* @param columnFilter Current applied filter
|
|
32
|
+
*/
|
|
33
|
+
getDistinctFilterDisplayValuesForColumn(columnId: string, filter: string, showFilteredRowsOnly: boolean): Promise<{
|
|
34
|
+
values: {
|
|
35
|
+
value: any;
|
|
36
|
+
label: string;
|
|
37
|
+
}[];
|
|
38
|
+
suppressClientSideFilter: boolean;
|
|
39
|
+
}>;
|
|
40
|
+
/**
|
|
41
|
+
* Gets all distinct Custom Sort values for the Column with the given ColumnId
|
|
42
|
+
* @param columnId Column to check
|
|
43
|
+
*/
|
|
44
|
+
getDistinctCustomSortDisplayValuesForColumn(columnId: string): Promise<any[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Gets all distinct Bulk Update values for the Column with the given ColumnId
|
|
47
|
+
* @param columnId Column to check
|
|
48
|
+
* @param selectedGridCells Selected grid cells
|
|
49
|
+
*/
|
|
50
|
+
getDistinctBulkUpdateDisplayValuesForColumn(columnId: string, selectedGridCells: GridCell[]): Promise<any[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Gets all distinct visible (after current filters are applied) display values in the Column with the given ColumnId
|
|
53
|
+
* @param columnId Column to check
|
|
54
|
+
*/
|
|
55
|
+
getDistinctVisibleDisplayValuesForColumn(columnId: string): any[];
|
|
56
|
+
/**
|
|
57
|
+
* Gets all distinct raw values in Column. Values are sorted.
|
|
58
|
+
* @param columnId Column to check
|
|
59
|
+
* @param skipRowNode optional RowNode which should be skipped when collecting the distinct rawValues
|
|
60
|
+
*/
|
|
61
|
+
getDistinctRawValuesForColumn(columnId: string, skipRowNode?: RowNode): any[];
|
|
62
|
+
/**
|
|
63
|
+
* Gets all distinct raw values in Column. Values are un-sorted.
|
|
64
|
+
* @param columnId Column to check
|
|
65
|
+
* @param skipRowNode optional RowNode which should be skipped when collecting the distinct rawValues
|
|
66
|
+
*/
|
|
67
|
+
getUnsortedDistinctRawValuesForColumn(columnId: string, skipRowNode?: RowNode): any[];
|
|
68
|
+
/**
|
|
69
|
+
* Gets all distinct visible raw values in the Column
|
|
70
|
+
* @param columnId Column to check
|
|
71
|
+
*/
|
|
72
|
+
getDistinctVisibleRawValuesForColumn(columnId: string): any[];
|
|
73
|
+
private sortDistinctValues;
|
|
74
|
+
setColumns(columns: AdaptableColumn[]): void;
|
|
75
|
+
setSelectedCells(selectedCellInfo: SelectedCellInfo): void;
|
|
76
|
+
setSelectedRows(selectedRowInfo: SelectedRowInfo): void;
|
|
77
|
+
setGridCell(gridCell: GridCell): void;
|
|
78
|
+
setGridCells(gridCells: GridCell[]): void;
|
|
79
|
+
private createDataChangedInfoFromGridCell;
|
|
80
|
+
buildStandaloneColumnHeader(column: AdaptableColumn): AdaptableMenuItem[];
|
|
81
|
+
getEditLookUpValuesForColumn(editLookUpItem: EditLookUpPermittedValues, column: AdaptableColumn, gridCell?: GridCell): any[] | undefined;
|
|
82
|
+
}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GridInternalApi = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const ApiBase_1 = require("../Implementation/ApiBase");
|
|
6
|
+
const Enums_1 = require("../../PredefinedConfig/Common/Enums");
|
|
7
|
+
const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
|
|
8
|
+
const GridRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/GridRedux"));
|
|
9
|
+
class GridInternalApi extends ApiBase_1.ApiBase {
|
|
10
|
+
/**
|
|
11
|
+
* Fires Grid Sorted Event
|
|
12
|
+
*/
|
|
13
|
+
fireGridSortedEvent() {
|
|
14
|
+
if (this.adaptable.isLive) {
|
|
15
|
+
const adaptableSortState = this.adaptable.api.configApi.getAdaptableSortState();
|
|
16
|
+
const adaptableApi = this.getAdaptableApi();
|
|
17
|
+
const gridSortedInfo = {
|
|
18
|
+
adaptableSortState: adaptableSortState,
|
|
19
|
+
adaptableApi: adaptableApi,
|
|
20
|
+
};
|
|
21
|
+
adaptableApi.eventApi.emit('GridSorted', gridSortedInfo);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Fires Cell Changed Changed Event - when any data in AG Grid's dataset has changed
|
|
26
|
+
*/
|
|
27
|
+
fireCellChangedEvent(cellDataChangedInfo) {
|
|
28
|
+
if (this.adaptable.isLive) {
|
|
29
|
+
const cellChangedInfo = {
|
|
30
|
+
adaptableApi: this.adaptable.api,
|
|
31
|
+
cellChange: cellDataChangedInfo,
|
|
32
|
+
};
|
|
33
|
+
this.adaptable.api.eventApi.emit('CellChanged', cellChangedInfo);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Fires Grid Data Changed Event - when a row has changed in AG Grid
|
|
38
|
+
*/
|
|
39
|
+
fireGridDataChangedEvent(dataRows, rowNodes, rowTrigger) {
|
|
40
|
+
if (this.adaptable.isLive) {
|
|
41
|
+
const gridDataChangedInfo = {
|
|
42
|
+
changedAt: Date.now(),
|
|
43
|
+
adaptableApi: this.adaptable.api,
|
|
44
|
+
rowTrigger,
|
|
45
|
+
dataRows,
|
|
46
|
+
rowNodes,
|
|
47
|
+
};
|
|
48
|
+
this.adaptable.api.eventApi.emit('GridDataChanged', gridDataChangedInfo);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Gets all distinct display values in the Column with the given ColumnId
|
|
53
|
+
* @param columnId Column to check
|
|
54
|
+
*/
|
|
55
|
+
getDistinctDisplayValuesForColumn(columnId) {
|
|
56
|
+
const abColumn = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
57
|
+
if (abColumn == undefined) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
const returnValues = this.adaptable.getDistinctValuesForColumn(abColumn, false);
|
|
61
|
+
return this.sortDistinctValues(returnValues, abColumn).map((cv) => {
|
|
62
|
+
return cv.normalisedValue;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Gets all distinct Filter values for the Column with the given ColumnId (used for Floating Filter and Column Header filter)
|
|
67
|
+
* @param columnId Column to check
|
|
68
|
+
* @param columnFilter Current applied filter
|
|
69
|
+
*/
|
|
70
|
+
async getDistinctFilterDisplayValuesForColumn(columnId, filter, showFilteredRowsOnly) {
|
|
71
|
+
const abColumn = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
72
|
+
if (abColumn == undefined) {
|
|
73
|
+
return {
|
|
74
|
+
values: [],
|
|
75
|
+
suppressClientSideFilter: false,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const { gridCells, suppressClientSideFilter } = await this.adaptable.getDistinctFilterValuesForColumn(abColumn, showFilteredRowsOnly, filter);
|
|
79
|
+
return {
|
|
80
|
+
values: this.sortDistinctValues(gridCells, abColumn).map((cv) => {
|
|
81
|
+
return {
|
|
82
|
+
label: cv.displayValue,
|
|
83
|
+
value: cv.normalisedValue,
|
|
84
|
+
};
|
|
85
|
+
}),
|
|
86
|
+
suppressClientSideFilter,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Gets all distinct Custom Sort values for the Column with the given ColumnId
|
|
91
|
+
* @param columnId Column to check
|
|
92
|
+
*/
|
|
93
|
+
async getDistinctCustomSortDisplayValuesForColumn(columnId) {
|
|
94
|
+
const abColumn = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
95
|
+
if (abColumn == undefined) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
const gridCells = await this.adaptable.getDistinctCustomSortValuesForColumn(abColumn, false);
|
|
99
|
+
return this.sortDistinctValues(gridCells, abColumn).map((cv) => {
|
|
100
|
+
return cv.normalisedValue;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Gets all distinct Bulk Update values for the Column with the given ColumnId
|
|
105
|
+
* @param columnId Column to check
|
|
106
|
+
* @param selectedGridCells Selected grid cells
|
|
107
|
+
*/
|
|
108
|
+
async getDistinctBulkUpdateDisplayValuesForColumn(columnId, selectedGridCells) {
|
|
109
|
+
const abColumn = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
110
|
+
if (abColumn == undefined) {
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
const gridCells = await this.adaptable.getDistinctBulkUpdateValuesForColumn(abColumn, false, selectedGridCells);
|
|
114
|
+
return this.sortDistinctValues(gridCells, abColumn).map((cv) => {
|
|
115
|
+
return cv.normalisedValue;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Gets all distinct visible (after current filters are applied) display values in the Column with the given ColumnId
|
|
120
|
+
* @param columnId Column to check
|
|
121
|
+
*/
|
|
122
|
+
getDistinctVisibleDisplayValuesForColumn(columnId) {
|
|
123
|
+
const abColumn = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
124
|
+
if (abColumn == undefined) {
|
|
125
|
+
return [];
|
|
126
|
+
}
|
|
127
|
+
const returnValues = this.adaptable.getDistinctValuesForColumn(abColumn, true);
|
|
128
|
+
return this.sortDistinctValues(returnValues, abColumn).map((cv) => {
|
|
129
|
+
return cv.normalisedValue;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Gets all distinct raw values in Column. Values are sorted.
|
|
134
|
+
* @param columnId Column to check
|
|
135
|
+
* @param skipRowNode optional RowNode which should be skipped when collecting the distinct rawValues
|
|
136
|
+
*/
|
|
137
|
+
getDistinctRawValuesForColumn(columnId, skipRowNode) {
|
|
138
|
+
const abColumn = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
139
|
+
if (abColumn == undefined) {
|
|
140
|
+
return [];
|
|
141
|
+
}
|
|
142
|
+
return this.sortDistinctValues(this.getUnsortedDistinctRawValuesForColumn(columnId, skipRowNode), abColumn).map((cv) => {
|
|
143
|
+
return cv.rawValue;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Gets all distinct raw values in Column. Values are un-sorted.
|
|
148
|
+
* @param columnId Column to check
|
|
149
|
+
* @param skipRowNode optional RowNode which should be skipped when collecting the distinct rawValues
|
|
150
|
+
*/
|
|
151
|
+
getUnsortedDistinctRawValuesForColumn(columnId, skipRowNode) {
|
|
152
|
+
const abColumn = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
153
|
+
if (abColumn == undefined) {
|
|
154
|
+
return [];
|
|
155
|
+
}
|
|
156
|
+
return this.adaptable.getDistinctValuesForColumn(abColumn, false, skipRowNode);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Gets all distinct visible raw values in the Column
|
|
160
|
+
* @param columnId Column to check
|
|
161
|
+
*/
|
|
162
|
+
getDistinctVisibleRawValuesForColumn(columnId) {
|
|
163
|
+
const abColumn = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
164
|
+
if (abColumn == undefined) {
|
|
165
|
+
return [];
|
|
166
|
+
}
|
|
167
|
+
const returnValues = this.adaptable.getDistinctValuesForColumn(abColumn, true);
|
|
168
|
+
return this.sortDistinctValues(returnValues, abColumn).map((cv) => {
|
|
169
|
+
return cv.rawValue;
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
sortDistinctValues(returnValues, column) {
|
|
173
|
+
// this does NOT into account Custom Sort - far too hard for now...
|
|
174
|
+
let sortOrder = Enums_1.SortOrder.Asc;
|
|
175
|
+
if (this.getFilterOptions().sortColumnValuesInFilter) {
|
|
176
|
+
let columnSort = this.adaptable.api.gridApi.getColumnSortForColumn(column.columnId);
|
|
177
|
+
if (columnSort && columnSort.SortOrder == 'Desc') {
|
|
178
|
+
sortOrder = Enums_1.SortOrder.Desc;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
if (this.getColumnApi().hasNumberDataType(column === null || column === void 0 ? void 0 : column.columnId)) {
|
|
182
|
+
returnValues = ArrayExtensions_1.default.sortCellValueArrayNumeric(returnValues, sortOrder);
|
|
183
|
+
}
|
|
184
|
+
else if (this.getColumnApi().hasDateDataType(column === null || column === void 0 ? void 0 : column.columnId)) {
|
|
185
|
+
returnValues = ArrayExtensions_1.default.sortCellValueArrayDates(returnValues, sortOrder);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
returnValues = ArrayExtensions_1.default.sortCellValueArray(returnValues, sortOrder);
|
|
189
|
+
}
|
|
190
|
+
return returnValues;
|
|
191
|
+
}
|
|
192
|
+
setColumns(columns) {
|
|
193
|
+
this.dispatchAction(GridRedux.GridSetColumns(columns));
|
|
194
|
+
}
|
|
195
|
+
setSelectedCells(selectedCellInfo) {
|
|
196
|
+
this.dispatchAction(GridRedux.GridSetSelectedCells(selectedCellInfo));
|
|
197
|
+
}
|
|
198
|
+
setSelectedRows(selectedRowInfo) {
|
|
199
|
+
this.dispatchAction(GridRedux.GridSetSelectedRows(selectedRowInfo));
|
|
200
|
+
}
|
|
201
|
+
setGridCell(gridCell) {
|
|
202
|
+
const cellDataChangedInfo = this.createDataChangedInfoFromGridCell(gridCell);
|
|
203
|
+
this.adaptable.setCellValue(cellDataChangedInfo);
|
|
204
|
+
}
|
|
205
|
+
setGridCells(gridCells) {
|
|
206
|
+
if (ArrayExtensions_1.default.IsNotNullOrEmpty(gridCells)) {
|
|
207
|
+
gridCells.forEach((gc) => {
|
|
208
|
+
this.setGridCell(gc);
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
createDataChangedInfoFromGridCell(gridCell) {
|
|
213
|
+
let currentValue = this.adaptable.getDisplayValue(gridCell.primaryKeyValue, gridCell.column.columnId);
|
|
214
|
+
const currentRowNode = this.adaptable.getRowNodeForPrimaryKey(gridCell.primaryKeyValue);
|
|
215
|
+
const cellDataChangedInfo = this.getAdaptableApi().internalApi.buildDataChangedInfo({
|
|
216
|
+
oldValue: currentValue,
|
|
217
|
+
newValue: gridCell.rawValue,
|
|
218
|
+
column: gridCell.column,
|
|
219
|
+
primaryKeyValue: gridCell.primaryKeyValue,
|
|
220
|
+
rowNode: currentRowNode,
|
|
221
|
+
});
|
|
222
|
+
return cellDataChangedInfo;
|
|
223
|
+
}
|
|
224
|
+
buildStandaloneColumnHeader(column) {
|
|
225
|
+
return this.adaptable.buildStandaloneColumnHeader(column);
|
|
226
|
+
}
|
|
227
|
+
getEditLookUpValuesForColumn(editLookUpItem, column, gridCell) {
|
|
228
|
+
if (!editLookUpItem || !column) {
|
|
229
|
+
return undefined;
|
|
230
|
+
}
|
|
231
|
+
let editLookUpValues = editLookUpItem.values;
|
|
232
|
+
// first do the function then get hardcoded items
|
|
233
|
+
if (editLookUpValues != null && typeof editLookUpValues === 'function') {
|
|
234
|
+
const editLookUpContext = {
|
|
235
|
+
adaptableApi: this.adaptable.api,
|
|
236
|
+
column: column,
|
|
237
|
+
gridCell,
|
|
238
|
+
};
|
|
239
|
+
return editLookUpValues(editLookUpContext);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
let arr = editLookUpValues;
|
|
243
|
+
if (arr && ArrayExtensions_1.default.IsNotNullOrEmpty(arr)) {
|
|
244
|
+
return arr;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
// if no hard-coded values or function provided then just get the distinct values for the column
|
|
248
|
+
// this will use the columnApi method that first looks for permitted values and then distinct values
|
|
249
|
+
return this.getDistinctDisplayValuesForColumn(column.columnId);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
exports.GridInternalApi = GridInternalApi;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
|
+
import { Layout, LayoutState } from '../../PredefinedConfig/LayoutState';
|
|
3
|
+
import { LayoutAssociatedObject } from '../../AdaptableOptions/LayoutOptions';
|
|
4
|
+
import { AdaptableModule } from '../../PredefinedConfig/Common/Types';
|
|
5
|
+
export declare class LayoutInternalApi extends ApiBase {
|
|
6
|
+
/**
|
|
7
|
+
* Fires the `LayoutChanged` event
|
|
8
|
+
* @param trigger what caused event to fire
|
|
9
|
+
* @param oldSate Layout State before change
|
|
10
|
+
* @param newState Layout State after change
|
|
11
|
+
*/
|
|
12
|
+
fireLayoutChangedEvent(trigger: string, oldSate: LayoutState, newState: LayoutState, skipEqualityCheck?: boolean): void;
|
|
13
|
+
/**
|
|
14
|
+
* Compares 2 Layouts for equality
|
|
15
|
+
* @param layout1 First Layout
|
|
16
|
+
* @param layout2 Second Layout
|
|
17
|
+
*/
|
|
18
|
+
areLayoutsEqual(layout1: Layout, layout2: Layout): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Creates a Default Layout (when none provided in Config)
|
|
21
|
+
* @returns layout
|
|
22
|
+
*/
|
|
23
|
+
createDefaultLayoutIfNeeded(): Layout | null;
|
|
24
|
+
/**
|
|
25
|
+
* Returns true if Layouts will contain Expanded Row Groups information
|
|
26
|
+
*/
|
|
27
|
+
areExpandedRowGroupsSavedInLayouts(): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Checks if the draft layout and the current layout are the same.
|
|
30
|
+
* Useful when `autoSaveLayouts=true`
|
|
31
|
+
*/
|
|
32
|
+
areDraftAndCurrentLayoutEqual(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Returns what the layout supports.
|
|
35
|
+
* This takes into account the data-source.
|
|
36
|
+
*/
|
|
37
|
+
getLayoutSupportedFeatures(): {
|
|
38
|
+
RowGroupedColumns: boolean;
|
|
39
|
+
AggregationColumns: boolean;
|
|
40
|
+
PivotColumns: boolean;
|
|
41
|
+
ColumnFilters: boolean;
|
|
42
|
+
ColumnSorts: boolean;
|
|
43
|
+
};
|
|
44
|
+
updateCurrentDraftLayout(layout: Layout): void;
|
|
45
|
+
hasLayoutSpecificObjects(): boolean;
|
|
46
|
+
isObjectAvailableInLayout(object: LayoutAssociatedObject, module: AdaptableModule, layout: Layout): boolean;
|
|
47
|
+
showLayoutNotAssociatedObjects(): boolean;
|
|
48
|
+
}
|