@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
|
@@ -15,7 +15,7 @@ let FilterWrapperFactory = (adaptable) => {
|
|
|
15
15
|
return adaptable.api.filterApi.getColumnFilters().findIndex((x) => x.ColumnId == colId) > -1;
|
|
16
16
|
}
|
|
17
17
|
function getFilterContext(colId, hidePopup) {
|
|
18
|
-
let column = adaptable.api.columnApi.
|
|
18
|
+
let column = adaptable.api.columnApi.getColumnWithColumnId(colId);
|
|
19
19
|
let filterContext = {
|
|
20
20
|
Column: column,
|
|
21
21
|
Adaptable: adaptable,
|
|
@@ -30,7 +30,7 @@ let FilterWrapperFactory = (adaptable) => {
|
|
|
30
30
|
return (0, react_1.forwardRef)(function ReactFilterWrapper(props, ref) {
|
|
31
31
|
const [filterContext, setFilterContext] = (0, react_1.useState)(null);
|
|
32
32
|
const colId = props.column.getId();
|
|
33
|
-
const column = adaptable.api.columnApi.
|
|
33
|
+
const column = adaptable.api.columnApi.getColumnWithColumnId(colId);
|
|
34
34
|
(0, react_1.useImperativeHandle)(ref, () => {
|
|
35
35
|
return {
|
|
36
36
|
isFilterActive: () => isFilterActive(colId),
|
|
@@ -80,7 +80,7 @@ let FilterWrapperFactory = (adaptable) => {
|
|
|
80
80
|
var _a, _b;
|
|
81
81
|
//we always unmount first so the autofocus from the form works... in other grids we unmount when hidden
|
|
82
82
|
(_a = this.unmountReactRoot) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
83
|
-
let column = adaptable.api.columnApi.
|
|
83
|
+
let column = adaptable.api.columnApi.getColumnWithColumnId(this.column.getColId());
|
|
84
84
|
if (column) {
|
|
85
85
|
const hidePopup = (_b = params === null || params === void 0 ? void 0 : params.hidePopup) !== null && _b !== void 0 ? _b : null;
|
|
86
86
|
const filterContext = getFilterContext(this.column.getColId(), !!hidePopup);
|
|
@@ -18,7 +18,7 @@ const FloatingFilterWrapperFactory = (adaptable) => {
|
|
|
18
18
|
return `floatingFilter_${colId}_${adaptable.adaptableOptions.adaptableId}`;
|
|
19
19
|
}
|
|
20
20
|
function getFilterContext(colId) {
|
|
21
|
-
const column = adaptable.api.columnApi.
|
|
21
|
+
const column = adaptable.api.columnApi.getColumnWithColumnId(colId);
|
|
22
22
|
const filterContext = {
|
|
23
23
|
Column: column,
|
|
24
24
|
Adaptable: adaptable,
|
|
@@ -36,7 +36,7 @@ const FloatingFilterWrapperFactory = (adaptable) => {
|
|
|
36
36
|
if (adaptable.variant === 'react') {
|
|
37
37
|
return (0, react_1.forwardRef)(function ReactFloatingFilterWrapper(props, ref) {
|
|
38
38
|
const colId = props.column.getId();
|
|
39
|
-
const column = adaptable.api.columnApi.
|
|
39
|
+
const column = adaptable.api.columnApi.getColumnWithColumnId(colId);
|
|
40
40
|
(0, react_1.useImperativeHandle)(ref, () => {
|
|
41
41
|
return {
|
|
42
42
|
onParentModelChanged() { },
|
|
@@ -63,7 +63,7 @@ const FloatingFilterWrapperFactory = (adaptable) => {
|
|
|
63
63
|
//@ts-ignore
|
|
64
64
|
this.filterContainer.style[key] = filterContainerStyle[key];
|
|
65
65
|
});
|
|
66
|
-
const column = adaptable.api.columnApi.
|
|
66
|
+
const column = adaptable.api.columnApi.getColumnWithColumnId(colId);
|
|
67
67
|
if (column) {
|
|
68
68
|
const filterContext = getFilterContext(colId);
|
|
69
69
|
this.unmountReactRoot = adaptable.renderReactRoot((0, QuickFilterForm_1.QuickFilterFormReact)(filterContext), this.filterContainer);
|
|
@@ -14,8 +14,8 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
14
14
|
if (!styledColumn.IncludeGroupedRows && api.gridApi.isGroupRowNode(params.node)) {
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
|
-
const min = api.styledColumnApi.getNumericStyleMinValue(styledColumn, abColumn, params.node, params.value);
|
|
18
|
-
const max = api.styledColumnApi.getNumericStyleMaxValue(styledColumn, abColumn, params.node, params.value);
|
|
17
|
+
const min = api.styledColumnApi.internalApi.getNumericStyleMinValue(styledColumn, abColumn, params.node, params.value);
|
|
18
|
+
const max = api.styledColumnApi.internalApi.getNumericStyleMaxValue(styledColumn, abColumn, params.node, params.value);
|
|
19
19
|
let value = params.value;
|
|
20
20
|
if (Helper_1.default.objectNotExists(value)) {
|
|
21
21
|
value = 0;
|
|
@@ -28,7 +28,7 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
28
28
|
cellBackColor = percentBarStyle.ColumnComparison.Color;
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
31
|
-
const matchingRange = api.styledColumnApi.findRangeForColumn(percentBarStyle.CellRanges, abColumn, percentBarStyle.RangeValueType, params.value);
|
|
31
|
+
const matchingRange = api.styledColumnApi.internalApi.findRangeForColumn(percentBarStyle.CellRanges, abColumn, percentBarStyle.RangeValueType, params.value);
|
|
32
32
|
if (matchingRange) {
|
|
33
33
|
cellBackColor = matchingRange.Color;
|
|
34
34
|
}
|
|
@@ -56,11 +56,11 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
|
|
|
56
56
|
textEl.className = 'ab-PercentBar__text';
|
|
57
57
|
textEl.style.lineHeight = '1.2';
|
|
58
58
|
if (percentBarStyle.CellText.includes('CellValue')) {
|
|
59
|
-
const activeFormatColumnsWithDisplayFormat = api.formatColumnApi.getFormatColumnsWithDisplayFormatForColumn(abColumn);
|
|
60
|
-
const [formatColumn] = api.formatColumnApi.getFormatColumnsRelevantForColumn(activeFormatColumnsWithDisplayFormat, abColumn, { node: params.node, value });
|
|
59
|
+
const activeFormatColumnsWithDisplayFormat = api.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(abColumn);
|
|
60
|
+
const [formatColumn] = api.formatColumnApi.internalApi.getFormatColumnsRelevantForColumn(activeFormatColumnsWithDisplayFormat, abColumn, { node: params.node, value });
|
|
61
61
|
if (formatColumn && api.scopeApi.isColumnInNumericScope(abColumn, formatColumn.Scope)) {
|
|
62
62
|
const options = formatColumn.DisplayFormat.Options;
|
|
63
|
-
value = api.formatColumnApi.getNumberFormattedValue(params.value, params.node, abColumn, options);
|
|
63
|
+
value = api.formatColumnApi.internalApi.getNumberFormattedValue(params.value, params.node, abColumn, options);
|
|
64
64
|
}
|
|
65
65
|
else {
|
|
66
66
|
value = (0, FormatHelper_1.NumberFormatter)(value, { FractionDigits: 2 });
|
|
@@ -388,7 +388,7 @@ class agGridHelper {
|
|
|
388
388
|
}
|
|
389
389
|
let dataType = 'Unknown';
|
|
390
390
|
// get the column type if already in store (and not unknown)
|
|
391
|
-
const existingColumn = this.adaptable.api.columnApi.
|
|
391
|
+
const existingColumn = this.adaptable.api.columnApi.getColumnWithColumnId(column.getId(), logWarning);
|
|
392
392
|
if (existingColumn && existingColumn.dataType != 'Unknown') {
|
|
393
393
|
return existingColumn.dataType;
|
|
394
394
|
}
|
|
@@ -523,7 +523,7 @@ class agGridHelper {
|
|
|
523
523
|
if (this.adaptable.adaptableOptions.searchOptions.clearSearchesOnStartUp) {
|
|
524
524
|
if (StringExtensions_1.StringExtensions.IsNotNullOrEmpty(this.adaptable.api.quickSearchApi.getQuickSearchState().QuickSearchText) ||
|
|
525
525
|
StringExtensions_1.StringExtensions.IsNotNullOrEmpty(this.adaptable.api.queryApi.getCurrentQuery()) ||
|
|
526
|
-
ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(this.adaptable.api.dataSetApi.
|
|
526
|
+
ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(this.adaptable.api.dataSetApi.getDataSets())) {
|
|
527
527
|
(0, LoggingHelper_1.LogAdaptableWarning)('Clearing existing Searches as "clearSearchesOnStartUp" is true');
|
|
528
528
|
this.adaptable.api.quickSearchApi.clearQuickSearch();
|
|
529
529
|
this.adaptable.api.queryApi.clearCurrentQuery();
|
|
@@ -537,7 +537,7 @@ class agGridHelper {
|
|
|
537
537
|
const { nodeA, nodeB } = params;
|
|
538
538
|
let firstGroupedColumn = adaptable.getFirstGroupedColumn();
|
|
539
539
|
if (firstGroupedColumn) {
|
|
540
|
-
const definedColumnComparator = adaptable.getActiveColumnComparator(firstGroupedColumn.columnId, adaptable.api.customSortApi.
|
|
540
|
+
const definedColumnComparator = adaptable.getActiveColumnComparator(firstGroupedColumn.columnId, adaptable.api.customSortApi.getCustomSortForColumn(firstGroupedColumn.columnId), adaptable.api.customSortApi.internalApi.getCustomSortComparer(firstGroupedColumn));
|
|
541
541
|
if (definedColumnComparator) {
|
|
542
542
|
return definedColumnComparator(nodeA.key, nodeB.key);
|
|
543
543
|
}
|
|
@@ -29,7 +29,7 @@ class agGridMenuHelper {
|
|
|
29
29
|
if (hasAdaptableColumnMenuItems) {
|
|
30
30
|
agGridColumnMenuItems.push('separator');
|
|
31
31
|
}
|
|
32
|
-
const adaptableColumn = this.adaptable.api.columnApi.
|
|
32
|
+
const adaptableColumn = this.adaptable.api.columnApi.getColumnWithColumnId(colId);
|
|
33
33
|
const menuContext = this.createColumnMenuContextObject(adaptableColumn, params.column);
|
|
34
34
|
// then Get Adaptable Menu Items
|
|
35
35
|
if (menuContext.isRowGroupColumn) {
|
|
@@ -75,7 +75,7 @@ class agGridMenuHelper {
|
|
|
75
75
|
const adaptableMenuItems = [];
|
|
76
76
|
const agGridColumn = params.column;
|
|
77
77
|
if (agGridColumn) {
|
|
78
|
-
const adaptableColumn = this.adaptable.api.columnApi.
|
|
78
|
+
const adaptableColumn = this.adaptable.api.columnApi.getColumnWithColumnId(agGridColumn.getColId());
|
|
79
79
|
// if (adaptableColumn != undefined) {
|
|
80
80
|
let menuContext = this.createContextMenuContextObject(params, adaptableColumn);
|
|
81
81
|
// keep it simple for now - if its a grouped cell then don't add the shipped menu items
|
|
@@ -382,7 +382,7 @@ class agGridMenuHelper {
|
|
|
382
382
|
});
|
|
383
383
|
}
|
|
384
384
|
buildStandaloneColumnHeader(adaptableColumn) {
|
|
385
|
-
const agGridColumn = this.adaptable.api.columnApi.getAgGridColumnForAdaptableColumn(adaptableColumn.columnId);
|
|
385
|
+
const agGridColumn = this.adaptable.api.columnApi.internalApi.getAgGridColumnForAdaptableColumn(adaptableColumn.columnId);
|
|
386
386
|
let menuContext = this.createColumnMenuContextObject(adaptableColumn, agGridColumn);
|
|
387
387
|
let returnMenuItems = [];
|
|
388
388
|
returnMenuItems.push(...this.getAdaptableMenuItemsColumnHeader(adaptableColumn, menuContext));
|
|
@@ -82,11 +82,11 @@ const cellSummaryWeightedAverage = ({ numericColumns, selectedCellInfo, adaptabl
|
|
|
82
82
|
if (!isValid) {
|
|
83
83
|
return '';
|
|
84
84
|
}
|
|
85
|
-
const abColumn = adaptableApi.columnApi.
|
|
85
|
+
const abColumn = adaptableApi.columnApi.getColumnWithColumnId(columnId);
|
|
86
86
|
if (!abColumn) {
|
|
87
87
|
return '';
|
|
88
88
|
}
|
|
89
|
-
const activeFormatColumnsWithDisplayFormat = adaptableApi.formatColumnApi.getFormatColumnsWithDisplayFormatForColumn(abColumn);
|
|
89
|
+
const activeFormatColumnsWithDisplayFormat = adaptableApi.formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(abColumn);
|
|
90
90
|
if (activeFormatColumnsWithDisplayFormat.length === 1 &&
|
|
91
91
|
activeFormatColumnsWithDisplayFormat[0].DisplayFormat.Formatter === 'NumberFormatter') {
|
|
92
92
|
// there only one FormatColumn on this column, so we will use it to format the aggregated value
|
|
@@ -20,6 +20,10 @@ const LoggingHelper_1 = require("../../Utilities/Helpers/LoggingHelper");
|
|
|
20
20
|
const icons_1 = require("../icons");
|
|
21
21
|
const AdaptableContext_1 = require("../../View/AdaptableContext");
|
|
22
22
|
const join_1 = tslib_1.__importDefault(require("../utils/join"));
|
|
23
|
+
const ExpressionFunctionDocumentation_1 = require("./ExpressionFunctionDocumentation");
|
|
24
|
+
const Tag_1 = require("../Tag");
|
|
25
|
+
const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
|
|
26
|
+
const Radio_1 = tslib_1.__importDefault(require("../Radio"));
|
|
23
27
|
const VarEditorButton = () => {
|
|
24
28
|
var _a, _b;
|
|
25
29
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
@@ -32,6 +36,93 @@ const VarEditorButton = () => {
|
|
|
32
36
|
return (React.createElement(EditorButton_1.default, { data: varString, key: varOption }, varString));
|
|
33
37
|
})));
|
|
34
38
|
};
|
|
39
|
+
const FunctionsDropdown = ({ expressionFunctions, baseClassName }) => {
|
|
40
|
+
const [currentFunctionCategory, setCurrentFunctionCategory] = React.useState('all');
|
|
41
|
+
const dropdownRef = React.useRef(null);
|
|
42
|
+
const [overFunction, setOverFunction] = React.useState();
|
|
43
|
+
React.useEffect(() => {
|
|
44
|
+
setOverFunction(null);
|
|
45
|
+
}, [currentFunctionCategory]);
|
|
46
|
+
const groupedFunctions = React.useMemo(() => {
|
|
47
|
+
return Object.keys(expressionFunctions).reduce((acc, key) => {
|
|
48
|
+
const functionDef = expressionFunctions[key];
|
|
49
|
+
// filter
|
|
50
|
+
if (currentFunctionCategory !== 'all' && functionDef.category !== currentFunctionCategory) {
|
|
51
|
+
return acc;
|
|
52
|
+
}
|
|
53
|
+
if (functionDef.category) {
|
|
54
|
+
acc[functionDef.category] = Object.assign(Object.assign({}, acc[functionDef.category]), { [key]: functionDef });
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
acc.noCategory[key] = functionDef;
|
|
58
|
+
}
|
|
59
|
+
return acc;
|
|
60
|
+
}, { noCategory: {} });
|
|
61
|
+
}, [currentFunctionCategory]);
|
|
62
|
+
const handleFunctionCategoryChange = React.useCallback((type) => (event) => {
|
|
63
|
+
setCurrentFunctionCategory(type);
|
|
64
|
+
}, [currentFunctionCategory]);
|
|
65
|
+
const categoryOptions = React.useMemo(() => {
|
|
66
|
+
const categoryOptions = Object.keys(expressionFunctions)
|
|
67
|
+
.reduce((acc, functionName) => {
|
|
68
|
+
const funcitonExpression = expressionFunctions[functionName];
|
|
69
|
+
if (!acc.includes(funcitonExpression.category)) {
|
|
70
|
+
acc.push(funcitonExpression.category);
|
|
71
|
+
}
|
|
72
|
+
return acc;
|
|
73
|
+
}, [])
|
|
74
|
+
.map((category) => ({
|
|
75
|
+
label: StringExtensions_1.default.Humanize(category),
|
|
76
|
+
value: category,
|
|
77
|
+
}));
|
|
78
|
+
return [{ label: 'All', value: 'all' }, ...categoryOptions];
|
|
79
|
+
}, [expressionFunctions]);
|
|
80
|
+
const hidePopup = () => {
|
|
81
|
+
dropdownRef.current.hide();
|
|
82
|
+
setOverFunction(null);
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Hide when:
|
|
86
|
+
* - mouse leaves
|
|
87
|
+
* - a function is inserted
|
|
88
|
+
*/
|
|
89
|
+
return (React.createElement(OverlayTrigger_1.default, { ref: dropdownRef, showEvent: "mouseenter", hideEvent: "mouseleave", targetOffset: 5, render: () => (React.createElement(rebass_1.Flex, { className: `${baseClassName}__dropdown-functions-list-wrapper`, flexDirection: "column", onMouseLeave: () => hidePopup() },
|
|
90
|
+
React.createElement(rebass_1.Flex, { pl: 2, style: { gap: 10 } }, categoryOptions.map((option) => {
|
|
91
|
+
return (React.createElement(Radio_1.default, { onFocus: (event) => {
|
|
92
|
+
event.preventDefault();
|
|
93
|
+
event.stopPropagation();
|
|
94
|
+
}, onClick: handleFunctionCategoryChange(option.value), checked: currentFunctionCategory === option.value }, option.label));
|
|
95
|
+
})),
|
|
96
|
+
React.createElement(rebass_1.Flex, null,
|
|
97
|
+
React.createElement(rebass_1.Flex, { className: `${baseClassName}__dropdown-functions-list`, "data-name": "expression-dropdown-fuctions-list", flexDirection: "column", p: 2, maxHeight: '50vh' }, Object.keys(groupedFunctions).map((groupName) => {
|
|
98
|
+
const functionsInGroup = Object.keys(groupedFunctions[groupName]);
|
|
99
|
+
if (functionsInGroup.length === 0) {
|
|
100
|
+
return React.createElement(React.Fragment, null);
|
|
101
|
+
}
|
|
102
|
+
const getEditorButtonData = (functionName) => {
|
|
103
|
+
// handle special cases
|
|
104
|
+
if (functionName === 'CASE') {
|
|
105
|
+
return `CASE <caseValue> WHEN <whenValue> THEN <thenValue> ELSE <defaultValue> END`;
|
|
106
|
+
}
|
|
107
|
+
return `${functionName}()`;
|
|
108
|
+
};
|
|
109
|
+
return (React.createElement(rebass_1.Box, { mb: 2, key: groupName },
|
|
110
|
+
React.createElement(Tag_1.Tag, { mb: 1 }, StringExtensions_1.default.Humanize(groupName)),
|
|
111
|
+
functionsInGroup.map((functionName) => (React.createElement(rebass_1.Box, { key: functionName, onMouseEnter: () => setOverFunction(functionName), onClick: () => hidePopup() }, functionName === 'VAR' ? (React.createElement(VarEditorButton, { key: functionName })) : (React.createElement(EditorButton_1.default, { data: getEditorButtonData(functionName), key: functionName, mr: 1 }, functionName)))))));
|
|
112
|
+
})),
|
|
113
|
+
React.createElement(rebass_1.Box, { className: `${baseClassName}__dropdown-functions-description`, p: 2, width: 600, maxWidth: "30vw" }, overFunction ? (React.createElement(React.Fragment, null,
|
|
114
|
+
React.createElement(Tag_1.Tag, null, overFunction),
|
|
115
|
+
React.createElement(ExpressionFunctionDocumentation_1.ExpressionFunctionDocumentation, { expressionFunction: expressionFunctions[overFunction] }))) : (React.createElement(Tag_1.Tag, { padding: 20 },
|
|
116
|
+
React.createElement("ul", null,
|
|
117
|
+
React.createElement("li", null,
|
|
118
|
+
"Hover over a Function to learn more",
|
|
119
|
+
React.createElement("br", null),
|
|
120
|
+
React.createElement("br", null)),
|
|
121
|
+
React.createElement("li", null, "Select a Function to add to the Expression in the Editor")))))))) },
|
|
122
|
+
React.createElement(SimpleButton_1.default, { "data-name": "expression-dropdown", icon: "arrow-down", iconPosition: 'end', mr: 1 },
|
|
123
|
+
React.createElement(rebass_1.Flex, { marginRight: 1, fontSize: 2 },
|
|
124
|
+
React.createElement(icons_1.Icon, { name: "equation" })))));
|
|
125
|
+
};
|
|
35
126
|
function BaseEditorInput(props) {
|
|
36
127
|
const { expressionFunctions, testData, style, type } = props;
|
|
37
128
|
const { ref: textAreaRefCallback, selectionStart, selectionEnd } = (0, useSelectionRange_1.useSelectionRange)();
|
|
@@ -103,12 +194,6 @@ function BaseEditorInput(props) {
|
|
|
103
194
|
props.onSelectedFunctionChange(selectedFunctionName ? expressionFunctions[selectedFunctionName] : null);
|
|
104
195
|
}
|
|
105
196
|
}, [selectedFunctionName]);
|
|
106
|
-
const functionsDropdown = (React.createElement(OverlayTrigger_1.default, { render: () => (React.createElement(rebass_1.Flex, { className: `${baseClassName}__dropdown-functions-list`, "data-name": "expression-dropdown-fuctions-list", flexDirection: "column", p: 2, maxHeight: '50vh' }, Object.keys(expressionFunctions)
|
|
107
|
-
.filter((functionName) => !expressionFunctions[functionName].isHiddenFromMenu)
|
|
108
|
-
.map((functionName) => functionName === 'VAR' ? (React.createElement(VarEditorButton, { key: functionName })) : (React.createElement(EditorButton_1.default, { data: `${functionName}()`, key: functionName, mr: 1 }, functionName))))), showEvent: "focus", hideEvent: "blur" },
|
|
109
|
-
React.createElement(SimpleButton_1.default, { "data-name": "expression-dropdown", icon: "arrow-down", iconPosition: 'end', mr: 1 },
|
|
110
|
-
React.createElement(rebass_1.Flex, { marginRight: 1, fontSize: 2 },
|
|
111
|
-
React.createElement(icons_1.Icon, { name: "equation" })))));
|
|
112
197
|
const operatorButtons = props.editorButtons
|
|
113
198
|
.filter((editorButtonDef) => !!expressionFunctions[editorButtonDef.functionName])
|
|
114
199
|
.map((editorButtonDef) => (React.createElement(EditorButton_1.default, { key: `${editorButtonDef.functionName}-operator`, data: editorButtonDef.data, icon: editorButtonDef.icon }, !editorButtonDef.icon && (editorButtonDef.text || editorButtonDef.functionName))));
|
|
@@ -116,7 +201,7 @@ function BaseEditorInput(props) {
|
|
|
116
201
|
return (React.createElement(React.Fragment, null,
|
|
117
202
|
React.createElement(rebass_1.Flex, { className: baseClassName, "data-name": "expression-toolbar", py: 2, mb: 2, mt: 2, flexWrap: "wrap" },
|
|
118
203
|
React.createElement(rebass_1.Flex, { style: { flex: 1, marginLeft: 5 }, flexWrap: "wrap" },
|
|
119
|
-
|
|
204
|
+
React.createElement(FunctionsDropdown, { expressionFunctions: expressionFunctions, baseClassName: baseClassName }),
|
|
120
205
|
operatorButtons),
|
|
121
206
|
showDocumentationLink && (React.createElement(rebass_1.Flex, { alignItems: "flex-start" },
|
|
122
207
|
React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2, tooltip: 'Learn how to use the Expression Editor', onClick: () => window.open(DocumentationLinkConstants_1.ExpressionEditorDocsLink, '_blank') })))),
|
|
@@ -4,6 +4,7 @@ exports.ExpressionFunctionDocumentation = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const rebass_1 = require("rebass");
|
|
6
6
|
const React = tslib_1.__importStar(require("react"));
|
|
7
|
+
const Tag_1 = require("../Tag");
|
|
7
8
|
const ExpressionFunctionDocumentation = (props) => {
|
|
8
9
|
return props.expressionFunction ? (React.createElement(rebass_1.Box, { "data-name": "expression-editor-documentation", my: 2, p: 2, style: {
|
|
9
10
|
background: 'var(--ab-color-primary)',
|
|
@@ -17,6 +18,9 @@ const ExpressionFunctionDocumentation = (props) => {
|
|
|
17
18
|
props.expressionFunction.examples && (React.createElement(rebass_1.Box, { "data-name": "expression-editor-documentation-examples" },
|
|
18
19
|
React.createElement("b", null, "Examples"),
|
|
19
20
|
React.createElement("ul", null, props.expressionFunction.examples.map((example, index) => (React.createElement("li", { key: index },
|
|
20
|
-
React.createElement("pre", { style: { whiteSpace: 'pre-wrap', margin: 0 } }, example)))))))
|
|
21
|
+
React.createElement("pre", { style: { whiteSpace: 'pre-wrap', margin: 0 } }, example))))))),
|
|
22
|
+
props.expressionFunction.returnType && (React.createElement(rebass_1.Box, { "data-name": "expression-editor-documentation-examples" },
|
|
23
|
+
React.createElement("b", null, "Return Type"),
|
|
24
|
+
React.createElement(Tag_1.Tag, null, props.expressionFunction.returnType))))) : null;
|
|
21
25
|
};
|
|
22
26
|
exports.ExpressionFunctionDocumentation = ExpressionFunctionDocumentation;
|
|
@@ -60,6 +60,10 @@ const OverlayTrigger = React.forwardRef((props, ref) => {
|
|
|
60
60
|
['TopRight', 'BottomCenter'],
|
|
61
61
|
['TopRight', 'BottomLeft'],
|
|
62
62
|
['TopRight', 'BottomLeft'],
|
|
63
|
+
['BottomLeft', 'TopLeft'],
|
|
64
|
+
['BottomRight', 'TopRight'],
|
|
65
|
+
['BottomRight', 'TopCenter'],
|
|
66
|
+
['BottomRight', 'TopLeft'],
|
|
63
67
|
], constrainTo, target: targetProp } = props, domProps = tslib_1.__rest(props, ["visible", "showTriangle", "showEvent", "hideEvent", "render", "targetOffset", "preventPortalEventPropagation", "defaultZIndex", "anchor", "hideDelay", "opacityTransitionDuration", "onVisibleChange", "alignPosition", "constrainTo", "target"]);
|
|
64
68
|
const { showOverlay, clearAll: clearAllOverlays, hideOverlay, portal, } = (0, InfiniteTable_1.useOverlay)({
|
|
65
69
|
portalContainer: portalElement,
|
|
@@ -114,7 +118,6 @@ const OverlayTrigger = React.forwardRef((props, ref) => {
|
|
|
114
118
|
}
|
|
115
119
|
}
|
|
116
120
|
}, [ref]);
|
|
117
|
-
const previousVisible = (0, usePrevious_1.default)(visible, visible);
|
|
118
121
|
(0, react_1.useEffect)(() => {
|
|
119
122
|
let target = domRef.current.previousSibling;
|
|
120
123
|
if (targetProp) {
|
|
@@ -174,11 +177,12 @@ const OverlayTrigger = React.forwardRef((props, ref) => {
|
|
|
174
177
|
preparedConstrinTo = adaptable === null || adaptable === void 0 ? void 0 : adaptable.getAgGridContainerElement();
|
|
175
178
|
}
|
|
176
179
|
// show only if visible or if it was visible and now it is invisible
|
|
180
|
+
const alignToRect = (0, utils_1.getRect)(target, targetOffset !== null && targetOffset !== void 0 ? targetOffset : 0);
|
|
177
181
|
const showOverlayOptions = {
|
|
178
182
|
id: 'overlay-trigger',
|
|
179
183
|
alignPosition,
|
|
180
184
|
constrainTo: (_b = (_a = preparedConstrinTo === null || preparedConstrinTo === void 0 ? void 0 : preparedConstrinTo.getBoundingClientRect) === null || _a === void 0 ? void 0 : _a.call(preparedConstrinTo)) !== null && _b !== void 0 ? _b : true,
|
|
181
|
-
alignTo:
|
|
185
|
+
alignTo: alignToRect,
|
|
182
186
|
};
|
|
183
187
|
showOverlay(() => overlayContent, showOverlayOptions);
|
|
184
188
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { BoundingClientRect } from '../utils/getAvailableSizeInfo';
|
|
2
|
-
export declare const getRect: (node: HTMLElement) => BoundingClientRect;
|
|
2
|
+
export declare const getRect: (node: HTMLElement, offset?: number) => BoundingClientRect;
|
|
3
3
|
export declare const getDocRect: () => BoundingClientRect;
|
|
4
4
|
export declare const getIntersection: (rect1: BoundingClientRect, rect2: BoundingClientRect) => BoundingClientRect;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getIntersection = exports.getDocRect = exports.getRect = void 0;
|
|
4
|
-
const getRect = (node) => {
|
|
4
|
+
const getRect = (node, offset = 0) => {
|
|
5
5
|
const rect = node.getBoundingClientRect();
|
|
6
6
|
return {
|
|
7
|
-
top: rect.top,
|
|
7
|
+
top: rect.top - offset,
|
|
8
8
|
left: rect.left,
|
|
9
|
-
bottom: rect.bottom,
|
|
9
|
+
bottom: rect.bottom + offset,
|
|
10
10
|
right: rect.right,
|
|
11
11
|
width: rect.width,
|
|
12
|
-
height: rect.height,
|
|
12
|
+
height: rect.height + offset,
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
exports.getRect = getRect;
|
|
@@ -89,6 +89,7 @@ const cloud_upload_1 = tslib_1.__importDefault(require("./cloud-upload"));
|
|
|
89
89
|
const upload_1 = tslib_1.__importDefault(require("./upload"));
|
|
90
90
|
const ipushpull_1 = tslib_1.__importDefault(require("./ipushpull"));
|
|
91
91
|
const folder_open_1 = tslib_1.__importDefault(require("./folder-open"));
|
|
92
|
+
const open_in_new_1 = tslib_1.__importDefault(require("./open-in-new"));
|
|
92
93
|
const folder_1 = tslib_1.__importDefault(require("./folder"));
|
|
93
94
|
const folder_shared_1 = tslib_1.__importDefault(require("./folder-shared"));
|
|
94
95
|
const play_1 = tslib_1.__importDefault(require("./play"));
|
|
@@ -219,6 +220,7 @@ const allIcons = {
|
|
|
219
220
|
justify: justify_1.default,
|
|
220
221
|
check: check_1.default,
|
|
221
222
|
ok: check_1.default,
|
|
223
|
+
'open-in-new': open_in_new_1.default,
|
|
222
224
|
plus: plus_1.default,
|
|
223
225
|
home: home_1.default,
|
|
224
226
|
'sort-asc': sort_asc_1.default,
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const React = tslib_1.__importStar(require("react"));
|
|
5
|
+
const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
|
|
6
|
+
exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props),
|
|
7
|
+
React.createElement("path", { xmlns: "http://www.w3.org/2000/svg", d: "M5 21q-.825 0-1.413-.587Q3 19.825 3 19V5q0-.825.587-1.413Q4.175 3 5 3h7v2H5v14h14v-7h2v7q0 .825-.587 1.413Q19.825 21 19 21Zm4.7-5.3-1.4-1.4L17.6 5H14V3h7v7h-2V6.4Z" })));
|
package/src/env.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = {
|
|
4
|
-
|
|
5
|
-
IPUSHPULL_API_SECRET: 'xYzE51kuHyyt9kQCvMe0tz0H2sDSjyEQcF5SOBlPQmcL9em0NqcCzyqLYj5fhpuZxQ8BiVcYl6zoOHeI6GYZj1TkUiiLVFoW3HUxiCdEUjlPS8Vl2YHUMEPD5qkLYnGj',
|
|
6
|
-
INFINITE_TABLE_LICENSE_KEY: 'StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862',
|
|
4
|
+
INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862",
|
|
7
5
|
};
|
|
@@ -557,6 +557,26 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
557
557
|
reference: string;
|
|
558
558
|
})[];
|
|
559
559
|
};
|
|
560
|
+
AdaptableObjectLookupCriteria: {
|
|
561
|
+
name: string;
|
|
562
|
+
kind: string;
|
|
563
|
+
description: string;
|
|
564
|
+
properties: ({
|
|
565
|
+
name: string;
|
|
566
|
+
kind: string;
|
|
567
|
+
description: string;
|
|
568
|
+
uiLabel: string;
|
|
569
|
+
isOptional: boolean;
|
|
570
|
+
reference?: undefined;
|
|
571
|
+
} | {
|
|
572
|
+
name: string;
|
|
573
|
+
kind: string;
|
|
574
|
+
description: string;
|
|
575
|
+
uiLabel: string;
|
|
576
|
+
isOptional: boolean;
|
|
577
|
+
reference: string;
|
|
578
|
+
})[];
|
|
579
|
+
};
|
|
560
580
|
AdaptableObjectTag: {
|
|
561
581
|
name: string;
|
|
562
582
|
kind: string;
|
|
@@ -737,16 +757,6 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
737
757
|
gridInfo?: undefined;
|
|
738
758
|
noCode?: undefined;
|
|
739
759
|
defaultValue?: undefined;
|
|
740
|
-
} | {
|
|
741
|
-
name: string;
|
|
742
|
-
kind: string;
|
|
743
|
-
description: string;
|
|
744
|
-
uiLabel: string;
|
|
745
|
-
isOptional: boolean;
|
|
746
|
-
gridInfo: string;
|
|
747
|
-
defaultValue: string;
|
|
748
|
-
reference: string;
|
|
749
|
-
noCode?: undefined;
|
|
750
760
|
})[];
|
|
751
761
|
};
|
|
752
762
|
AdaptableQuery: {
|
|
@@ -1635,6 +1645,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
1635
1645
|
reference: string;
|
|
1636
1646
|
})[];
|
|
1637
1647
|
};
|
|
1648
|
+
ColumnFilterDef: {
|
|
1649
|
+
name: string;
|
|
1650
|
+
kind: string;
|
|
1651
|
+
description: string;
|
|
1652
|
+
};
|
|
1638
1653
|
ColumnFilterPredicate: {
|
|
1639
1654
|
name: string;
|
|
1640
1655
|
kind: string;
|
|
@@ -4872,6 +4887,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
4872
4887
|
reference?: undefined;
|
|
4873
4888
|
})[];
|
|
4874
4889
|
};
|
|
4890
|
+
SparkLineStyle: {
|
|
4891
|
+
name: string;
|
|
4892
|
+
kind: string;
|
|
4893
|
+
description: string;
|
|
4894
|
+
};
|
|
4875
4895
|
SpecialColumnSettings: {
|
|
4876
4896
|
name: string;
|
|
4877
4897
|
kind: string;
|