@adaptabletools/adaptable 13.0.0-canary.8 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agGrid.d.ts +10 -10
- package/agGrid.js +10 -10
- package/base.css +1231 -733
- package/base.css.map +1 -0
- package/bundle.cjs.js +237 -220
- package/index.css +1249 -734
- package/index.css.map +1 -0
- package/package.json +5 -5
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +7 -3
- package/src/AdaptableOptions/AdaptableOptions.d.ts +0 -2
- package/src/AdaptableOptions/AdaptableQLOptions.d.ts +116 -35
- package/src/AdaptableOptions/ExportOptions.d.ts +2 -2
- package/src/AdaptableOptions/FinsemblePluginOptions.d.ts +32 -0
- package/src/{Api/ConditionalStyleApi.js → AdaptableOptions/FinsemblePluginOptions.js} +0 -0
- package/src/AdaptableOptions/GeneralOptions.d.ts +0 -6
- package/src/AdaptableOptions/LayoutOptions.d.ts +2 -1
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
- package/src/Api/AdaptableApi.d.ts +2 -5
- package/src/Api/ColumnApi.d.ts +8 -2
- package/src/Api/ConfigApi.d.ts +0 -6
- package/src/Api/ExportApi.d.ts +6 -6
- package/src/Api/FinsembleApi.d.ts +10 -0
- package/src/{Strategy/Interface/IConditionalStyleModule.js → Api/FinsembleApi.js} +0 -0
- package/src/Api/FormatColumnApi.d.ts +46 -73
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
- package/src/Api/Implementation/AdaptableApiImpl.js +2 -3
- package/src/Api/Implementation/AlertApiImpl.js +9 -4
- package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -1
- package/src/Api/Implementation/ColumnApiImpl.js +15 -11
- package/src/Api/Implementation/ConfigApiImpl.d.ts +0 -2
- package/src/Api/Implementation/ConfigApiImpl.js +0 -11
- package/src/Api/Implementation/ExportApiImpl.d.ts +4 -4
- package/src/Api/Implementation/ExportApiImpl.js +14 -14
- package/src/Api/Implementation/FlashingCellApiImpl.js +4 -1
- package/src/Api/Implementation/FormatColumnApiImpl.d.ts +24 -22
- package/src/Api/Implementation/FormatColumnApiImpl.js +57 -224
- package/src/Api/Implementation/InternalApiImpl.d.ts +1 -1
- package/src/Api/Implementation/InternalApiImpl.js +4 -3
- package/src/Api/Implementation/PluginsApiImpl.d.ts +2 -0
- package/src/Api/Implementation/PluginsApiImpl.js +6 -0
- package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +2 -1
- package/src/Api/Implementation/QueryLanguageApiImpl.js +9 -15
- package/src/Api/Implementation/ScopeApiImpl.d.ts +1 -1
- package/src/Api/Implementation/StyledColumnApiImpl.d.ts +25 -0
- package/src/Api/Implementation/StyledColumnApiImpl.js +193 -0
- package/src/Api/InternalApi.d.ts +1 -1
- package/src/Api/PluginsApi.d.ts +5 -0
- package/src/Api/QueryLanguageApi.d.ts +3 -2
- package/src/Api/ScopeApi.d.ts +1 -1
- package/src/Api/StyledColumnApi.d.ts +106 -0
- package/src/Api/StyledColumnApi.js +2 -0
- package/src/PredefinedConfig/AdaptableState.d.ts +2 -0
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/Types.d.ts +3 -3
- package/src/PredefinedConfig/Common/Types.js +1 -0
- package/src/PredefinedConfig/ConditionalStyleState.d.ts +10 -19
- package/src/PredefinedConfig/FormatColumnState.d.ts +6 -96
- package/src/PredefinedConfig/PredefinedConfig.d.ts +5 -0
- package/src/PredefinedConfig/StyledColumnState.d.ts +119 -0
- package/src/PredefinedConfig/StyledColumnState.js +2 -0
- package/src/Redux/ActionsReducers/PluginsRedux.d.ts +4 -4
- package/src/Redux/ActionsReducers/PluginsRedux.js +5 -5
- package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +49 -0
- package/src/Redux/ActionsReducers/StyledColumnRedux.js +92 -0
- package/src/Redux/DeadRedux.d.ts +6 -0
- package/src/Redux/DeadRedux.js +19 -1
- package/src/Redux/Store/AdaptableStore.js +9 -8
- package/src/Strategy/ConditionalStyleModule.d.ts +2 -27
- package/src/Strategy/ConditionalStyleModule.js +0 -219
- package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
- package/src/Strategy/DataChangeHistoryModule.js +12 -0
- package/src/Strategy/FormatColumnModule.d.ts +0 -2
- package/src/Strategy/FormatColumnModule.js +30 -221
- package/src/Strategy/LayoutModule.js +0 -4
- package/src/Strategy/StyledColumnModule.d.ts +24 -0
- package/src/Strategy/StyledColumnModule.js +165 -0
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.d.ts +1 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +3 -4
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +1 -16
- package/src/Strategy/Utilities/getScopeViewItems.js +1 -1
- package/src/Utilities/Constants/ModuleConstants.d.ts +3 -0
- package/src/Utilities/Constants/ModuleConstants.js +4 -1
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +6 -13
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -1
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +3 -4
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +3 -4
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +3 -4
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.d.ts +2 -5
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -4
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +3 -4
- package/src/Utilities/ObjectFactory.d.ts +5 -2
- package/src/Utilities/ObjectFactory.js +14 -7
- package/src/Utilities/Services/ModuleService.js +2 -2
- package/src/Utilities/Services/QueryLanguageService.d.ts +1 -3
- package/src/Utilities/Services/QueryLanguageService.js +49 -53
- package/src/Utilities/Services/ReportService.js +6 -6
- package/src/View/AdaptablePopover/index.js +1 -1
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +15 -14
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +24 -1
- package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +6 -5
- package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +3 -3
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -3
- package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
- package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
- package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +1 -1
- package/src/View/Components/AdaptableObjectRow/index.js +1 -6
- package/src/View/Components/Buttons/ButtonInfo.d.ts +1 -3
- package/src/View/Components/Buttons/ButtonInfo.js +3 -5
- package/src/View/Components/EntityRulesEditor/index.js +8 -17
- package/src/View/Components/FilterForm/FilterForm.js +11 -16
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
- package/src/View/Components/FilterForm/QuickFilterForm.js +7 -13
- package/src/View/Components/NewScopeComponent.js +3 -3
- package/src/View/Components/Panels/PanelWithButton.js +1 -5
- package/src/View/Components/Panels/PanelWithImage.js +1 -5
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -2
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -0
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -16
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +1 -1
- package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +5 -5
- package/src/View/Components/RangesComponent.d.ts +8 -1
- package/src/View/Components/RangesComponent.js +60 -24
- package/src/View/Components/ScopeComponent.js +6 -6
- package/src/View/Components/Selectors/ColumnSelector.d.ts +1 -0
- package/src/View/Components/Selectors/ColumnSelector.js +2 -1
- package/src/View/Components/Selectors/ColumnValueSelector.js +2 -2
- package/src/View/Components/StyleComponent.js +14 -19
- package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -11
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +21 -9
- package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
- package/src/View/DataSet/DataSetSelector.js +1 -1
- package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
- package/src/View/Export/ExportViewPanel.d.ts +1 -1
- package/src/View/Export/ExportViewPanel.js +4 -4
- package/src/View/Export/ReportExportDropdown.js +1 -1
- package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -11
- package/src/View/Filter/FilterSummary.d.ts +1 -1
- package/src/View/Filter/FilterViewPanel.d.ts +1 -1
- package/src/View/FlashingCell/FlashingCellStyle.js +3 -3
- package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +3 -3
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +6 -6
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
- package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +27 -27
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +4 -5
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +2 -28
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -3
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +6 -301
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +3 -10
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -7
- package/src/View/GridInfo/ColumnInfoComponent.js +0 -7
- package/src/View/Layout/LayoutRadioSelector.js +1 -1
- package/src/View/Layout/LayoutViewPanel.d.ts +1 -1
- package/src/View/Layout/Wizard/Components/ColumnLabels.js +1 -1
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +1 -1
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +7 -6
- package/src/View/Layout/Wizard/sections/SettingsSection.js +2 -2
- package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +1 -1
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +3 -3
- package/src/View/Query/QueryViewPanel.d.ts +1 -1
- package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +1 -1
- package/src/View/QuickSearch/QuickSearchPopup.js +2 -2
- package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +1 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +5 -5
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -2
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +3 -3
- package/src/View/SmartEdit/SmartEditPopup.js +3 -3
- package/src/View/SpecialColumnSettingsWizardStep.js +10 -10
- package/src/View/StateManagement/StateManagementPopup.js +4 -4
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +7 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +77 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.d.ts +9 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +65 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.d.ts +9 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.js +234 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.d.ts +7 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +59 -0
- package/src/View/SystemStatus/SystemStatusEntityRow.js +4 -6
- package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
- package/src/View/TeamSharing/SharedEntityObjectView.js +1 -1
- package/src/View/TeamSharing/TeamSharingApplyButton.js +1 -1
- package/src/View/Theme/ThemePopup.js +1 -1
- package/src/View/Wizard/OnePageAdaptableWizard.d.ts +1 -1
- package/src/View/Wizard/OnePageAdaptableWizard.js +1 -2
- package/src/agGrid/ActionColumnRenderer.d.ts +2 -0
- package/src/agGrid/ActionColumnRenderer.js +94 -62
- package/src/agGrid/Adaptable.d.ts +12 -13
- package/src/agGrid/Adaptable.js +162 -236
- package/src/agGrid/CheckboxRenderer.js +1 -1
- package/src/agGrid/FilterWrapper.js +60 -16
- package/src/agGrid/FloatingFilterWrapper.d.ts +2 -2
- package/src/agGrid/FloatingFilterWrapper.js +71 -32
- package/src/agGrid/PercentBarRenderer.d.ts +6 -2
- package/src/agGrid/PercentBarRenderer.js +19 -17
- package/src/agGrid/agGridHelper.d.ts +6 -2
- package/src/agGrid/agGridHelper.js +17 -17
- package/src/agGrid/createAgStatusPanelComponent.d.ts +1 -1
- package/src/agGrid/createAgStatusPanelComponent.js +17 -0
- package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +4 -1
- package/src/agGrid/editors/AdaptableDateEditor/index.js +84 -17
- package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
- package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -3
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +78 -27
- package/src/agGrid/weightedAverage.js +19 -11
- package/src/components/CheckBox/index.js +7 -2
- package/src/components/Datepicker/index.d.ts +1 -1
- package/src/components/ExpressionEditor/BaseEditorInput.js +13 -32
- package/src/components/ExpressionEditor/index.js +9 -17
- package/src/components/FormLayout/index.js +1 -1
- package/src/components/StylePreview.js +2 -1
- package/src/components/icons/brush.d.ts +3 -0
- package/src/components/icons/brush.js +7 -0
- package/src/components/icons/index.js +2 -0
- package/src/metamodel/adaptable.metamodel.d.ts +178 -104
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/renderReactRoot.d.ts +2 -0
- package/src/renderReactRoot.js +11 -9
- package/src/types.d.ts +7 -5
- package/themes/dark.css +8 -4
- package/themes/dark.css.map +1 -0
- package/themes/light.css +4 -1
- package/themes/light.css.map +1 -0
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/AdaptableComponents.d.ts +0 -1
- package/src/AdaptableComponents.js +0 -5
- package/src/Api/ConditionalStyleApi.d.ts +0 -128
- package/src/Api/Implementation/ConditionalStyleApiImpl.d.ts +0 -29
- package/src/Api/Implementation/ConditionalStyleApiImpl.js +0 -98
- package/src/Redux/ActionsReducers/ConditionalStyleRedux.d.ts +0 -49
- package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +0 -95
- package/src/Strategy/Interface/IConditionalStyleModule.d.ts +0 -6
- package/src/Strategy/Utilities/getStyleViewItems.d.ts +0 -2
- package/src/Strategy/Utilities/getStyleViewItems.js +0 -16
- package/src/View/ConditionalStyle/ConditionalStylePopupHeader.d.ts +0 -2
- package/src/View/ConditionalStyle/ConditionalStylePopupHeader.js +0 -18
- package/src/View/ConditionalStyle/ConditionalStyleSummary.d.ts +0 -25
- package/src/View/ConditionalStyle/ConditionalStyleSummary.js +0 -108
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.d.ts +0 -9
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +0 -42
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.d.ts +0 -8
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +0 -43
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.d.ts +0 -8
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +0 -29
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.d.ts +0 -8
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +0 -23
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.d.ts +0 -6
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +0 -114
- package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.d.ts +0 -1
- package/src/View/ConditionalStyle/Wizard/DEFAULT_PREDICATE_ID_FOR_CONDITIONAL_STYLE.js +0 -4
|
@@ -87,8 +87,6 @@ class ModuleService {
|
|
|
87
87
|
return learnUrl + 'handbook-calculated-column';
|
|
88
88
|
case 'CellSummary':
|
|
89
89
|
return learnUrl + 'handbook-summarising#cell-summary-information';
|
|
90
|
-
case 'ConditionalStyle':
|
|
91
|
-
return learnUrl + 'handbook-conditional-styling';
|
|
92
90
|
case 'CustomSort':
|
|
93
91
|
return learnUrl + 'handbook-sorting';
|
|
94
92
|
case 'Dashboard':
|
|
@@ -141,6 +139,8 @@ class ModuleService {
|
|
|
141
139
|
return learnUrl + 'integrations-ipushpull';
|
|
142
140
|
case 'OpenFin':
|
|
143
141
|
return learnUrl + 'integrations-openfin';
|
|
142
|
+
case 'StyledColumn':
|
|
143
|
+
return learnUrl + 'handbook-styled-column-overview';
|
|
144
144
|
default:
|
|
145
145
|
return 'good';
|
|
146
146
|
}
|
|
@@ -43,9 +43,7 @@ export declare class QueryLanguageService implements IQueryLanguageService {
|
|
|
43
43
|
isCumulativeAggregate(input: string): boolean;
|
|
44
44
|
getExpressionWithColumnFriendlyNames(expression?: string): string;
|
|
45
45
|
getModuleExpressionFunctionsMap(module: AdaptableModule): ModuleExpressionFunctionsMap;
|
|
46
|
-
private
|
|
47
|
-
private extractDefaultExpressionFunctions;
|
|
48
|
-
private mapFunctionsDefinitionToMap;
|
|
46
|
+
private extractMappedExpressionFunctions;
|
|
49
47
|
evaluateCustomQueryVariable(functionName: string, args?: any[]): any;
|
|
50
48
|
private getBooleanAndScalarFunctions;
|
|
51
49
|
private getExpressionCacheKey;
|
|
@@ -185,7 +185,7 @@ class QueryLanguageService {
|
|
|
185
185
|
if (evaluationResult.type !== 'aggregationBoolean') {
|
|
186
186
|
const result = {
|
|
187
187
|
isValid: false,
|
|
188
|
-
errorMessage: 'provided
|
|
188
|
+
errorMessage: 'provided AggregatedBoolean expression does not evaluate to a supported aggregation',
|
|
189
189
|
};
|
|
190
190
|
this.cacheAggregatedBooleanValidation.set(cacheKey, result);
|
|
191
191
|
return result;
|
|
@@ -275,7 +275,7 @@ class QueryLanguageService {
|
|
|
275
275
|
// Returns the ExpressionFunctions available for the given Module as specified in the `QueryLanguageOptions.moduleExpressionFunctions`
|
|
276
276
|
// if there are no specific functions defined, it falls back to the default values
|
|
277
277
|
getModuleExpressionFunctionsMap(module) {
|
|
278
|
-
var _a, _b, _c
|
|
278
|
+
var _a, _b, _c;
|
|
279
279
|
const expressionOptions = this.adaptableApi.internalApi.getAdaptableOptions().adaptableQLOptions.expressionOptions;
|
|
280
280
|
if (module) {
|
|
281
281
|
let cachedResult = this.cacheModuleSpecificExpressionFunctions.get(module);
|
|
@@ -283,19 +283,19 @@ class QueryLanguageService {
|
|
|
283
283
|
return cachedResult;
|
|
284
284
|
}
|
|
285
285
|
}
|
|
286
|
-
const
|
|
287
|
-
const
|
|
288
|
-
const
|
|
289
|
-
const
|
|
290
|
-
const
|
|
286
|
+
const generalBooleanExpressionFunctions = this.extractMappedExpressionFunctions(booleanExpressionFunctions_1.booleanExpressionFunctions, expressionOptions.systemBooleanFunctions, expressionOptions.customBooleanFunctions);
|
|
287
|
+
const generalScalarExpressionFunctions = this.extractMappedExpressionFunctions(scalarExpressionFunctions_1.scalarExpressionFunctions, expressionOptions.systemScalarFunctions, expressionOptions.customScalarFunctions);
|
|
288
|
+
const generalObservableExpressionFunctions = this.extractMappedExpressionFunctions(observableExpressionFunctions_1.observableExpressionFunctions, expressionOptions.systemObservableFunctions);
|
|
289
|
+
const generalAggregatedBooleanExpressionFunctions = this.extractMappedExpressionFunctions(aggregatedBooleanExpressionFunctions_1.aggregatedBooleanExpressionFunctions, expressionOptions.systemAggregatedBooleanFunctions);
|
|
290
|
+
const generalAggregatedScalarExpressionFunctions = this.extractMappedExpressionFunctions(aggregatedScalarExpressionFunctions_1.aggregatedScalarExpressionFunctions, expressionOptions.systemAggregatedScalarFunctions);
|
|
291
291
|
if (!module) {
|
|
292
292
|
(0, LoggingHelper_1.LogAdaptableInfo)(`QueryLanguageService.getModuleExpressionFunctions() was called with an undefined 'module' param, this should never happen`);
|
|
293
293
|
return {
|
|
294
|
-
booleanFunctions:
|
|
295
|
-
scalarFunctions:
|
|
296
|
-
observableFunctions:
|
|
297
|
-
aggregatedBooleanFunctions:
|
|
298
|
-
aggregatedScalarFunctions:
|
|
294
|
+
booleanFunctions: generalBooleanExpressionFunctions,
|
|
295
|
+
scalarFunctions: generalScalarExpressionFunctions,
|
|
296
|
+
observableFunctions: generalObservableExpressionFunctions,
|
|
297
|
+
aggregatedBooleanFunctions: generalAggregatedBooleanExpressionFunctions,
|
|
298
|
+
aggregatedScalarFunctions: generalAggregatedScalarExpressionFunctions,
|
|
299
299
|
};
|
|
300
300
|
}
|
|
301
301
|
let moduleExpressionFunctions;
|
|
@@ -303,11 +303,11 @@ class QueryLanguageService {
|
|
|
303
303
|
const context = {
|
|
304
304
|
adaptableApi: this.adaptableApi,
|
|
305
305
|
module,
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
306
|
+
availableBooleanFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalBooleanExpressionFunctions),
|
|
307
|
+
availableScalarFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalScalarExpressionFunctions),
|
|
308
|
+
availableObservableFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalObservableExpressionFunctions),
|
|
309
|
+
availableAggregatedBooleanFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalAggregatedBooleanExpressionFunctions),
|
|
310
|
+
availableAggregatedScalarFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalAggregatedScalarExpressionFunctions),
|
|
311
311
|
};
|
|
312
312
|
moduleExpressionFunctions = (_a = expressionOptions.moduleExpressionFunctions(context)) !== null && _a !== void 0 ? _a : {};
|
|
313
313
|
}
|
|
@@ -315,49 +315,45 @@ class QueryLanguageService {
|
|
|
315
315
|
moduleExpressionFunctions = (_c = (_b = expressionOptions.moduleExpressionFunctions) === null || _b === void 0 ? void 0 : _b[module]) !== null && _c !== void 0 ? _c : {};
|
|
316
316
|
}
|
|
317
317
|
const moduleExpressionFunctionsMap = {
|
|
318
|
-
booleanFunctions: this.
|
|
319
|
-
scalarFunctions: this.
|
|
320
|
-
observableFunctions: this.
|
|
321
|
-
aggregatedBooleanFunctions: this.
|
|
322
|
-
aggregatedScalarFunctions: this.
|
|
318
|
+
booleanFunctions: this.extractMappedExpressionFunctions(generalBooleanExpressionFunctions, moduleExpressionFunctions.systemBooleanFunctions, moduleExpressionFunctions.customBooleanFunctions),
|
|
319
|
+
scalarFunctions: this.extractMappedExpressionFunctions(generalScalarExpressionFunctions, moduleExpressionFunctions.systemScalarFunctions, moduleExpressionFunctions.customScalarFunctions),
|
|
320
|
+
observableFunctions: this.extractMappedExpressionFunctions(generalObservableExpressionFunctions, moduleExpressionFunctions.systemObservableFunctions),
|
|
321
|
+
aggregatedBooleanFunctions: this.extractMappedExpressionFunctions(generalAggregatedBooleanExpressionFunctions, moduleExpressionFunctions.systemAggregatedBooleanFunctions),
|
|
322
|
+
aggregatedScalarFunctions: this.extractMappedExpressionFunctions(generalAggregatedScalarExpressionFunctions, moduleExpressionFunctions.systemAggregatedScalarFunctions),
|
|
323
323
|
};
|
|
324
324
|
this.cacheModuleSpecificExpressionFunctions.set(module, moduleExpressionFunctionsMap);
|
|
325
325
|
return moduleExpressionFunctionsMap;
|
|
326
326
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
return definition;
|
|
331
|
-
}
|
|
332
|
-
else {
|
|
333
|
-
return (0, TypeExtensions_1.getTypedKeys)(definition);
|
|
334
|
-
}
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
extractDefaultExpressionFunctions(defaultOptions, availableExpressionFunctions) {
|
|
338
|
-
if (typeof defaultOptions === 'function') {
|
|
339
|
-
const context = {
|
|
327
|
+
extractMappedExpressionFunctions(availableExpressionFunctions, systemFunctions, customFunctions) {
|
|
328
|
+
const systemFunctionNames = typeof systemFunctions === 'function'
|
|
329
|
+
? systemFunctions({
|
|
340
330
|
adaptableApi: this.adaptableApi,
|
|
341
331
|
availableExpressionFunctionNames: (0, TypeExtensions_1.getTypedKeys)(availableExpressionFunctions),
|
|
342
|
-
}
|
|
343
|
-
|
|
332
|
+
})
|
|
333
|
+
: systemFunctions;
|
|
334
|
+
let generalExpressionFunctions = {};
|
|
335
|
+
// add system functions
|
|
336
|
+
if (Array.isArray(systemFunctionNames)) {
|
|
337
|
+
// add only system functions specified by user
|
|
338
|
+
systemFunctionNames.forEach((systemFunctionName) => {
|
|
339
|
+
generalExpressionFunctions[systemFunctionName] =
|
|
340
|
+
availableExpressionFunctions[systemFunctionName];
|
|
341
|
+
});
|
|
344
342
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
});
|
|
360
|
-
return resultMap;
|
|
343
|
+
else {
|
|
344
|
+
// add ALL system functions
|
|
345
|
+
generalExpressionFunctions = Object.assign({}, availableExpressionFunctions);
|
|
346
|
+
}
|
|
347
|
+
const customFunctionDefinitions = typeof customFunctions === 'function'
|
|
348
|
+
? customFunctions({
|
|
349
|
+
adaptableApi: this.adaptableApi,
|
|
350
|
+
availableExpressionFunctionNames: (0, TypeExtensions_1.getTypedKeys)(generalExpressionFunctions),
|
|
351
|
+
})
|
|
352
|
+
: customFunctions;
|
|
353
|
+
if (customFunctionDefinitions) {
|
|
354
|
+
generalExpressionFunctions = Object.assign(Object.assign({}, generalExpressionFunctions), customFunctionDefinitions);
|
|
355
|
+
}
|
|
356
|
+
return generalExpressionFunctions;
|
|
361
357
|
}
|
|
362
358
|
evaluateCustomQueryVariable(functionName, args) {
|
|
363
359
|
var _a, _b, _c;
|
|
@@ -91,7 +91,7 @@ class ReportService {
|
|
|
91
91
|
}
|
|
92
92
|
GetReportColumnScopeShortDescription(report) {
|
|
93
93
|
var _a, _b;
|
|
94
|
-
if (this.adaptableApi.exportApi.
|
|
94
|
+
if (this.adaptableApi.exportApi.isServerReport(report)) {
|
|
95
95
|
return ['[Custom Columns]'];
|
|
96
96
|
}
|
|
97
97
|
switch (report.ReportColumnScope) {
|
|
@@ -109,7 +109,7 @@ class ReportService {
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
GetReportColumnScopeLongDescription(report) {
|
|
112
|
-
if (this.adaptableApi.exportApi.
|
|
112
|
+
if (this.adaptableApi.exportApi.isServerReport(report)) {
|
|
113
113
|
return '[Custom Columns]';
|
|
114
114
|
}
|
|
115
115
|
switch (report.ReportColumnScope) {
|
|
@@ -124,7 +124,7 @@ class ReportService {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
GetReportExpressionDescription(report, cols) {
|
|
127
|
-
if (this.adaptableApi.exportApi.
|
|
127
|
+
if (this.adaptableApi.exportApi.isServerReport(report)) {
|
|
128
128
|
return '[Custom Data]';
|
|
129
129
|
}
|
|
130
130
|
if (this.IsSystemReport(report.Name)) {
|
|
@@ -160,7 +160,7 @@ class ReportService {
|
|
|
160
160
|
GetReportColumnsForReport(report, includePrimaryKey = false) {
|
|
161
161
|
let reportColumns = [];
|
|
162
162
|
let gridColumns = this.adaptableApi.columnApi.getColumns();
|
|
163
|
-
if (this.adaptableApi.exportApi.
|
|
163
|
+
if (this.adaptableApi.exportApi.isServerReport(report)) {
|
|
164
164
|
return reportColumns;
|
|
165
165
|
}
|
|
166
166
|
// first get the cols depending on the Column Scope
|
|
@@ -204,8 +204,8 @@ class ReportService {
|
|
|
204
204
|
friendlyName: column.friendlyName,
|
|
205
205
|
dataType: column.dataType,
|
|
206
206
|
}));
|
|
207
|
-
if (this.adaptableApi.exportApi.
|
|
208
|
-
return this.adaptableApi.exportApi.
|
|
207
|
+
if (this.adaptableApi.exportApi.isServerReport(report)) {
|
|
208
|
+
return this.adaptableApi.exportApi.runServerReport(report.Name);
|
|
209
209
|
}
|
|
210
210
|
if (ArrayExtensions_1.default.IsNullOrEmpty(columns)) {
|
|
211
211
|
return { columns: [], rows: [] };
|
|
@@ -36,7 +36,7 @@ class AdaptablePopover extends React.Component {
|
|
|
36
36
|
return (React.createElement(rebass_1.Flex, { alignItems: "center", className: this.props.className },
|
|
37
37
|
React.createElement(OverlayTrigger_1.default, { showTriangle: true, render: () => popoverClickRootClose, showEvent: (this.props.showEvent || 'mouseenter'), hideEvent: (this.props.hideEvent || 'mouseleave'), style: {
|
|
38
38
|
overflow: 'visible',
|
|
39
|
-
}, defaultZIndex: 100000 }, useButton ? (React.createElement(ButtonInfo_1.ButtonInfo, { style: iconStyle, onClick: () => null, icon: showIcon && icon, tooltip: this.props.tooltipText }, this.props.children)) : (React.createElement("div", { title: this.props.tooltipText, tabIndex: 0, style: { cursor: 'pointer', display: 'inline-block' } },
|
|
39
|
+
}, defaultZIndex: 100000 }, useButton ? (React.createElement(ButtonInfo_1.ButtonInfo, { style: iconStyle, variant: "text", onClick: () => null, icon: showIcon && icon, tooltip: this.props.tooltipText }, this.props.children)) : (React.createElement("div", { title: this.props.tooltipText, tabIndex: 0, style: { cursor: 'pointer', display: 'inline-block' } },
|
|
40
40
|
this.props.children,
|
|
41
41
|
showIcon && React.createElement(icons_1.Icon, { name: icon }))))));
|
|
42
42
|
}
|
|
@@ -32,15 +32,14 @@ const HighlightStyle = (props) => {
|
|
|
32
32
|
},
|
|
33
33
|
},
|
|
34
34
|
];
|
|
35
|
-
return (React.createElement(
|
|
35
|
+
return (React.createElement(rebass_1.Box, { "data-name": props.dataName },
|
|
36
36
|
React.createElement(rebass_1.Flex, null,
|
|
37
37
|
React.createElement(CheckBox_1.CheckBox, { mr: 2, style: { alignItems: 'flex-start' }, checked: Boolean(props.highlight), onChange: (checked) => {
|
|
38
38
|
props.onChange(checked);
|
|
39
39
|
} }, props.label),
|
|
40
40
|
Boolean(props.highlight) && (React.createElement(DropdownButton_1.default, { items: options, columns: ['label'] }, typeof props.highlight === 'boolean' ? (React.createElement(rebass_1.Text, { fontSize: 2, mt: 1 },
|
|
41
|
-
"Use Message Type's",
|
|
42
|
-
'
|
|
43
|
-
(0, AdaptableContext_1.useAdaptable)().api.internalApi.getCorrectEnglishVariant('Colour'))) : (React.createElement(rebass_1.Text, { fontSize: 2, mt: 1 }, "Create a Custom Style"))))),
|
|
41
|
+
"Use Message Type's ",
|
|
42
|
+
adaptable.api.internalApi.getCorrectEnglishVariant('Colour'))) : (React.createElement(rebass_1.Text, { fontSize: 2, mt: 1 }, "Create a Custom Style"))))),
|
|
44
43
|
typeof props.highlight === 'object' && (React.createElement(Panel_1.default, { margin: 2 },
|
|
45
44
|
React.createElement(rebass_1.Box, { paddingLeft: 3 },
|
|
46
45
|
React.createElement(StyleComponent_1.StyleComponent, { headless: true, api: adaptable.api, Style: props.highlight, UpdateStyle: (style) => {
|
|
@@ -93,41 +92,43 @@ const AlertBehaviourWizardSection = (props) => {
|
|
|
93
92
|
const rowAddedAlert = api.internalApi.isAlertDefinitionForAddedRowChangeEvent(data);
|
|
94
93
|
const rowRemovedAlert = api.internalApi.isAlertDefinitionForRemovedRowChangeEvent(data);
|
|
95
94
|
const cellChangedAlert = !rowAddedAlert && !rowRemovedAlert;
|
|
95
|
+
const hasPreventCellEdit = cellChangedAlert;
|
|
96
|
+
const hasHighlightCell = cellChangedAlert;
|
|
97
|
+
const hasHighlightRow = cellChangedAlert || rowAddedAlert;
|
|
98
|
+
const hasJumpToCell = cellChangedAlert;
|
|
99
|
+
const hasJumpToRow = cellChangedAlert || rowAddedAlert;
|
|
96
100
|
const onChange = (AlertProperties) => {
|
|
97
101
|
props.onChange(Object.assign(Object.assign({}, data), { AlertProperties: Object.assign(Object.assign({}, data.AlertProperties), AlertProperties) }));
|
|
98
102
|
};
|
|
99
103
|
return (React.createElement(Tabs_1.Tabs, null,
|
|
100
104
|
React.createElement(Tabs_1.Tabs.Tab, null, api.internalApi.getCorrectEnglishVariant('Behaviour')),
|
|
101
105
|
React.createElement(Tabs_1.Tabs.Content, null,
|
|
102
|
-
|
|
106
|
+
hasPreventCellEdit && (React.createElement(CheckBox_1.CheckBox, { "data-name": "prevent-cell-edit", style: { alignItems: 'flex-start' }, checked: AlertProperties.PreventEdit, onChange: (PreventEdit) => {
|
|
103
107
|
onChange({
|
|
104
108
|
PreventEdit,
|
|
105
109
|
});
|
|
106
110
|
} },
|
|
107
111
|
"Prevent Cell Edit",
|
|
108
112
|
React.createElement(rebass_1.Text, { fontSize: 2, mt: 1 }, "(automatically undo data change which triggered Alert)"))),
|
|
109
|
-
|
|
113
|
+
hasHighlightCell && (React.createElement(HighlightStyle, { dataName: "highlight-cell", highlight: AlertProperties.HighlightCell, label: "Highlight Cell", onChange: (HighlightCell) => {
|
|
110
114
|
onChange({ HighlightCell });
|
|
111
115
|
} })),
|
|
112
|
-
|
|
116
|
+
hasHighlightRow && (React.createElement(HighlightStyle, { dataName: "highlight-row", highlight: AlertProperties.HighlightRow, label: "Highlight Row", onChange: (HighlightRow) => {
|
|
113
117
|
onChange({ HighlightRow });
|
|
114
118
|
} })),
|
|
115
|
-
|
|
116
|
-
onChange({ HighlightRow });
|
|
117
|
-
} })),
|
|
118
|
-
cellChangedAlert && (React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.JumpToCell, onChange: (JumpToCell) => {
|
|
119
|
+
hasJumpToCell && (React.createElement(CheckBox_1.CheckBox, { "data-name": "jump-to-cell", checked: AlertProperties.JumpToCell, onChange: (JumpToCell) => {
|
|
119
120
|
onChange({ JumpToCell });
|
|
120
121
|
} }, "Jump To Cell")),
|
|
121
|
-
|
|
122
|
+
hasJumpToRow && (React.createElement(CheckBox_1.CheckBox, { "data-name": "jump-to-row", checked: AlertProperties.JumpToRow, onChange: (JumpToRow) => {
|
|
122
123
|
onChange({ JumpToRow });
|
|
123
124
|
} }, "Jump To Row")),
|
|
124
|
-
React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.ShowInDiv, onChange: (ShowInDiv) => {
|
|
125
|
+
React.createElement(CheckBox_1.CheckBox, { "data-name": "show-in-div", checked: AlertProperties.ShowInDiv, onChange: (ShowInDiv) => {
|
|
125
126
|
onChange({ ShowInDiv });
|
|
126
127
|
} },
|
|
127
128
|
"Show in separate ",
|
|
128
129
|
React.createElement(CodeBlock_1.CodeBlock, null, `<div />`),
|
|
129
130
|
" element"),
|
|
130
|
-
React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.LogToConsole, onChange: (LogToConsole) => {
|
|
131
|
+
React.createElement(CheckBox_1.CheckBox, { "data-name": "log-to-console", checked: AlertProperties.LogToConsole, onChange: (LogToConsole) => {
|
|
131
132
|
onChange({ LogToConsole });
|
|
132
133
|
} }, "Log To Console"))));
|
|
133
134
|
};
|
|
@@ -17,9 +17,32 @@ const AlertButtonsEditor = (props) => {
|
|
|
17
17
|
const onChange = (newButtons) => {
|
|
18
18
|
props.onChange(newButtons);
|
|
19
19
|
};
|
|
20
|
+
const alertDefinition = adaptableAlert.alertDefinition;
|
|
21
|
+
const rowAddedAlert = api.internalApi.isAlertDefinitionForAddedRowChangeEvent(alertDefinition);
|
|
22
|
+
const rowRemovedAlert = api.internalApi.isAlertDefinitionForRemovedRowChangeEvent(alertDefinition);
|
|
23
|
+
const cellChangedAlert = !rowAddedAlert && !rowRemovedAlert;
|
|
24
|
+
const hasHighlightCell = cellChangedAlert;
|
|
25
|
+
const hasHighlightRow = cellChangedAlert || rowAddedAlert;
|
|
26
|
+
const hasJumpToCell = cellChangedAlert;
|
|
27
|
+
const hasJumpToRow = cellChangedAlert || rowAddedAlert;
|
|
28
|
+
const hasUndo = cellChangedAlert;
|
|
20
29
|
const AlertButtons = (0, Helper_1.cloneObject)(props.AlertButtons || []) || [];
|
|
21
30
|
const buttonActions = [];
|
|
22
|
-
|
|
31
|
+
if (hasHighlightRow) {
|
|
32
|
+
buttonActions.push('highlight-row');
|
|
33
|
+
}
|
|
34
|
+
if (hasJumpToRow) {
|
|
35
|
+
buttonActions.push('jump-to-row');
|
|
36
|
+
}
|
|
37
|
+
if (hasHighlightCell) {
|
|
38
|
+
buttonActions.push('highlight-cell');
|
|
39
|
+
}
|
|
40
|
+
if (hasJumpToCell) {
|
|
41
|
+
buttonActions.push('jump-to-cell');
|
|
42
|
+
}
|
|
43
|
+
if (hasUndo) {
|
|
44
|
+
buttonActions.push('undo');
|
|
45
|
+
}
|
|
23
46
|
buttonActions.push('suspend');
|
|
24
47
|
return (React.createElement(React.Fragment, null,
|
|
25
48
|
React.createElement(rebass_1.Flex, { flexDirection: "row", alignItems: "center", justifyContent: "space-between" },
|
|
@@ -12,6 +12,7 @@ const AdaptablePopupAlert_1 = require("../../Components/Popups/AdaptablePopupAle
|
|
|
12
12
|
const AlertButtonsEditor_1 = require("./AlertButtonsEditor");
|
|
13
13
|
const CodeBlock_1 = require("../../../components/CodeBlock");
|
|
14
14
|
const AdaptableInput_1 = tslib_1.__importDefault(require("../../Components/AdaptableInput"));
|
|
15
|
+
const join_1 = tslib_1.__importDefault(require("../../../components/utils/join"));
|
|
15
16
|
const DEFAULT_BUTTONS = [
|
|
16
17
|
{
|
|
17
18
|
Label: 'OK',
|
|
@@ -53,7 +54,7 @@ const AlertPreview = (_a) => {
|
|
|
53
54
|
};
|
|
54
55
|
return result;
|
|
55
56
|
}, [alertDefinition]);
|
|
56
|
-
return (React.createElement(rebass_1.Box, Object.assign({}, boxProps, { style: Object.assign({ border: '1px solid var(--ab-color-inputborder)' }, boxProps.style) }),
|
|
57
|
+
return (React.createElement(rebass_1.Box, Object.assign({}, boxProps, { className: (0, join_1.default)(boxProps.className, 'ab-AlertPreview'), style: Object.assign({ border: '1px solid var(--ab-color-inputborder)' }, boxProps.style) }),
|
|
57
58
|
React.createElement(AdaptablePopupAlert_1.AdaptablePopupAlert, { headless: true, focusFirstButton: focusFirstButton, adaptableAlert: alertToPreview, onClose: () => { } })));
|
|
58
59
|
};
|
|
59
60
|
exports.AlertPreview = AlertPreview;
|
|
@@ -73,7 +74,7 @@ const AlertDisplayWizardSection = (props) => {
|
|
|
73
74
|
props.onChange(Object.assign(Object.assign({}, data), { MessageText: value }));
|
|
74
75
|
};
|
|
75
76
|
return (React.createElement(React.Fragment, null,
|
|
76
|
-
React.createElement(Tabs_1.Tabs,
|
|
77
|
+
React.createElement(Tabs_1.Tabs, { "data-name": "message-type" },
|
|
77
78
|
React.createElement(Tabs_1.Tabs.Tab, null, "Message Type"),
|
|
78
79
|
React.createElement(Tabs_1.Tabs.Content, null,
|
|
79
80
|
React.createElement(Radio_1.RadioGroup, { value: messageType, name: "messageType", orientation: "horizontal", onRadioChange: (MessageType) => {
|
|
@@ -83,7 +84,7 @@ const AlertDisplayWizardSection = (props) => {
|
|
|
83
84
|
React.createElement(Radio_1.default, { marginLeft: 4, value: "Success" }, "Success"),
|
|
84
85
|
React.createElement(Radio_1.default, { marginLeft: 4, value: "Warning" }, "Warning"),
|
|
85
86
|
React.createElement(Radio_1.default, { marginLeft: 4, value: "Error" }, "Error")))),
|
|
86
|
-
React.createElement(Tabs_1.Tabs, { mt: 2, mb: 3, autoFocus: false },
|
|
87
|
+
React.createElement(Tabs_1.Tabs, { "data-name": "message-text", mt: 2, mb: 3, autoFocus: false },
|
|
87
88
|
React.createElement(Tabs_1.Tabs.Tab, null, "Message Text"),
|
|
88
89
|
React.createElement(Tabs_1.Tabs.Content, null,
|
|
89
90
|
React.createElement(rebass_1.Text, { fontSize: 2, mt: 3, mb: 2 }, "The text to display as the Alert Message (leave blank to show automated Message based on Trigger and Condition)"),
|
|
@@ -91,7 +92,7 @@ const AlertDisplayWizardSection = (props) => {
|
|
|
91
92
|
React.createElement(AdaptableInput_1.default, { marginTop: 2, type: 'text', autoFocus: false, value: messageText,
|
|
92
93
|
// onChange={(e: any) => onPredicateInputChange(e, index)}
|
|
93
94
|
onChange: (e) => onMessageTextChange(e) }))),
|
|
94
|
-
React.createElement(Tabs_1.Tabs, { mt: 2, mb: 3, autoFocus: false },
|
|
95
|
+
React.createElement(Tabs_1.Tabs, { "data-name": "display-options", mt: 2, mb: 3, autoFocus: false },
|
|
95
96
|
React.createElement(Tabs_1.Tabs.Tab, null, "Display options"),
|
|
96
97
|
React.createElement(Tabs_1.Tabs.Content, null,
|
|
97
98
|
React.createElement(CheckBox_1.CheckBox, { checked: (_a = data.AlertProperties) === null || _a === void 0 ? void 0 : _a.DisplayNotification, onChange: (DisplayNotification) => {
|
|
@@ -104,7 +105,7 @@ const AlertDisplayWizardSection = (props) => {
|
|
|
104
105
|
((_b = data.AlertProperties) === null || _b === void 0 ? void 0 : _b.DisplayNotification) ? (typeof data.AlertForm === 'string' ? (React.createElement(rebass_1.Text, { fontSize: 2 }, "Alert buttons cannot be customized because form is dynamically driven")) : (React.createElement(AlertButtonsEditor_1.AlertButtonsEditor, { AlertButtons: ((_c = data.AlertForm) === null || _c === void 0 ? void 0 : _c.Buttons) || DEFAULT_BUTTONS, api: api, adaptableAlert: adaptableAlert, onChange: (buttons) => {
|
|
105
106
|
props.onChange(Object.assign(Object.assign({}, data), { AlertForm: Object.assign(Object.assign({}, data.AlertForm), { Buttons: buttons }) }));
|
|
106
107
|
} }))) : null)),
|
|
107
|
-
((_d = data.AlertProperties) === null || _d === void 0 ? void 0 : _d.DisplayNotification) ? (React.createElement(Tabs_1.Tabs, { autoFocus: false },
|
|
108
|
+
((_d = data.AlertProperties) === null || _d === void 0 ? void 0 : _d.DisplayNotification) ? (React.createElement(Tabs_1.Tabs, { "data-name": "alert-preview", autoFocus: false },
|
|
108
109
|
React.createElement(Tabs_1.Tabs.Tab, null, "Alert preview"),
|
|
109
110
|
React.createElement(Tabs_1.Tabs.Content, null, typeof data.AlertForm === 'string' ? (React.createElement(rebass_1.Text, { fontSize: 2 }, "Preview not available because form is dynamically driven")) : (React.createElement(exports.AlertPreview, { alertDefinition: data, api: api }))))) : null));
|
|
110
111
|
};
|
|
@@ -14,15 +14,15 @@ const BaseAlertRulesWizardSection = (props) => {
|
|
|
14
14
|
useBooleanQuery: (React.createElement(React.Fragment, null,
|
|
15
15
|
"Use an BooleanQuery if ",
|
|
16
16
|
React.createElement("i", null, "Scope"),
|
|
17
|
-
" is '
|
|
17
|
+
" is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression")),
|
|
18
18
|
useObservableQuery: (React.createElement(React.Fragment, null,
|
|
19
19
|
"Use an ObservableQuery if ",
|
|
20
20
|
React.createElement("i", null, "Scope"),
|
|
21
|
-
" is '
|
|
21
|
+
" is 'All Columns' - so any data change may be evaluated in a complex ObservableExpression")),
|
|
22
22
|
useAggregationQuery: (React.createElement(React.Fragment, null,
|
|
23
23
|
"Use an AggregatedBooleanQuery if ",
|
|
24
24
|
React.createElement("i", null, "Scope"),
|
|
25
|
-
" is '
|
|
25
|
+
" is 'All Columns' - so any data change may be evaluated in a complex AggregatedBooleanExpression")),
|
|
26
26
|
} }));
|
|
27
27
|
};
|
|
28
28
|
exports.BaseAlertRulesWizardSection = BaseAlertRulesWizardSection;
|
|
@@ -11,8 +11,8 @@ const BaseAlertScopeWizardSection = (props) => {
|
|
|
11
11
|
const { data, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
12
12
|
return (React.createElement(rebass_1.Flex, { flexDirection: "column", style: { height: '100%' }, padding: 2 },
|
|
13
13
|
React.createElement(NewScopeComponent_1.NewScopeComponent, { descriptions: {
|
|
14
|
-
rowScope: 'Changes
|
|
15
|
-
columnScope: 'Changes in selected
|
|
14
|
+
rowScope: 'Changes in any Column in the row will trigger an Alert',
|
|
15
|
+
columnScope: 'Changes in selected Columns will trigger an Alert',
|
|
16
16
|
}, scope: data.Scope, updateScope: (Scope) => {
|
|
17
17
|
const newData = Object.assign(Object.assign({}, data), { Scope });
|
|
18
18
|
if (newData.Rule.Predicate) {
|
|
@@ -47,7 +47,7 @@ const renderBaseAlertScopeSummary = (data) => {
|
|
|
47
47
|
return (React.createElement(React.Fragment, null,
|
|
48
48
|
React.createElement(rebass_1.Box, null,
|
|
49
49
|
React.createElement(rebass_1.Text, { fontSize: 2 }, scopeApi.scopeIsAll(data.Scope)
|
|
50
|
-
? 'Changes
|
|
50
|
+
? 'Changes to any Column in the row will trigger an Alert'
|
|
51
51
|
: null)),
|
|
52
52
|
React.createElement(rebass_1.Box, { style: { overflow: 'hidden' } }, 'ColumnIds' in data.Scope ? (React.createElement(React.Fragment, null,
|
|
53
53
|
React.createElement(rebass_1.Text, { fontSize: 2, mb: columnsInScope.length ? 2 : 0 }, "Changes in selected columns will trigger an alert"),
|
|
@@ -38,7 +38,7 @@ const isValidAlertRules = (alert, api, context) => {
|
|
|
38
38
|
if (valid && alert.Rule.AggregatedBooleanExpression) {
|
|
39
39
|
valid = api.queryLanguageApi.isValidAggregatedBooleanExpression(alert.Rule.AggregatedBooleanExpression, ModuleConstants_1.AlertModuleId);
|
|
40
40
|
if (!valid) {
|
|
41
|
-
return 'The Expression is not a valid
|
|
41
|
+
return 'The Expression is not a valid AggregatedBoolean Expression';
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
return true;
|
|
@@ -56,7 +56,7 @@ class BulkUpdatePopupComponent extends React.Component {
|
|
|
56
56
|
' ',
|
|
57
57
|
"Select from existing column values")),
|
|
58
58
|
React.createElement(rebass_1.Flex, { padding: 2, flexDirection: "row", alignItems: "center" },
|
|
59
|
-
React.createElement(rebass_1.Flex, { alignItems: "center", flexDirection: "row", flex: 1, marginRight: 2 }, this.state.useSelector ? (React.createElement(ColumnValueSelector_1.ColumnValueSelector, { selectedGridCells: this.props.SelectedGridCells, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: col, api: this.props.api, onColumnValueChange: (values) => this.onColumnValueSelectedChanged(values), allowNew: false, style: { width: '100%', maxWidth: 'inherit' } })) : (React.createElement(AdaptableInput_1.default, { style: { width: '100%' }, value: String(this.props.BulkUpdateValue), type: UIHelper_1.UIHelper.getDescriptionForDataType(col.dataType), placeholder: UIHelper_1.UIHelper.getPlaceHolderforDataType(col.dataType), onChange: (e) => this.onBulkUpdateValueChange(e) }))),
|
|
59
|
+
React.createElement(rebass_1.Flex, { alignItems: "center", flexDirection: "row", flex: 1, marginRight: 2 }, this.state.useSelector ? (React.createElement(ColumnValueSelector_1.ColumnValueSelector, { selectedGridCells: this.props.SelectedGridCells, selectedColumnValue: this.props.BulkUpdateValue, selectedColumn: col, api: this.props.api, onColumnValueChange: (values) => this.onColumnValueSelectedChanged(values), allowNew: false, style: { width: '100%', maxWidth: 'inherit' } })) : (React.createElement(AdaptableInput_1.default, { "data-name": "bulk-update", style: { width: '100%' }, value: String(this.props.BulkUpdateValue), type: UIHelper_1.UIHelper.getDescriptionForDataType(col.dataType), placeholder: UIHelper_1.UIHelper.getPlaceHolderforDataType(col.dataType), onChange: (e) => this.onBulkUpdateValueChange(e) }))),
|
|
60
60
|
React.createElement(SimpleButton_1.default, { disabled: StringExtensions_1.StringExtensions.IsNullOrEmpty(this.props.BulkUpdateValue) ||
|
|
61
61
|
this.props.PreviewInfo.previewValidationSummary.validationResult == 'All', onClick: () => {
|
|
62
62
|
this.onApplyClick();
|
|
@@ -15,4 +15,4 @@ export declare class CalculatedColumnSummaryComponent extends React.Component<Ca
|
|
|
15
15
|
onCloseWizard(): void;
|
|
16
16
|
onFinishWizard: (calculatedColumn: CalculatedColumn) => void;
|
|
17
17
|
}
|
|
18
|
-
export declare let CalculatedColumnSummary: import("react-redux").ConnectedComponent<typeof CalculatedColumnSummaryComponent, import("react-redux").Omit<React.ClassAttributes<CalculatedColumnSummaryComponent> & CalculatedColumnSummaryProps, "key" | "ref" | "onSuspend" | "api" | "
|
|
18
|
+
export declare let CalculatedColumnSummary: import("react-redux").ConnectedComponent<typeof CalculatedColumnSummaryComponent, import("react-redux").Omit<React.ClassAttributes<CalculatedColumnSummaryComponent> & CalculatedColumnSummaryProps, "key" | "ref" | "onSuspend" | "api" | "accessLevel" | "modalContainer" | "CalculatedColumns" | "moduleInfo" | "onShare" | "onUnSuspend" | "teamSharingActivated" | "popupParams" | "onClearPopupParams" | "onClosePopup" | "onEdit" | "summarisedColumn" | "onDeleteConfirm">>;
|
|
@@ -31,7 +31,7 @@ const AdaptableObjectListItemView = (props) => {
|
|
|
31
31
|
return (React.createElement(rebass_1.Flex, { "data-name": tag.name, key: `${index}-${tag.name}`, mb: 2, className: `${baseClassName}__row` },
|
|
32
32
|
React.createElement(rebass_1.Box, { className: `${baseClassName}__label`, mr: 3 },
|
|
33
33
|
labelEl,
|
|
34
|
-
props.showEditButton && (React.createElement(SimpleButton_1.default, { accessLevel: props.accessLevel, className: `${baseClassName}__edit-property`, ml: 1, icon: "edit", tooltip: "edit", iconSize: 18, variant: "text", onClick: () => {
|
|
34
|
+
props.showEditButton && (React.createElement(SimpleButton_1.default, { "data-name": `${tag.name}-edit-button`, accessLevel: props.accessLevel, className: `${baseClassName}__edit-property`, ml: 1, icon: "edit", tooltip: "edit", iconSize: 18, variant: "text", onClick: () => {
|
|
35
35
|
props.handleOnEdit(tag.name);
|
|
36
36
|
} }))),
|
|
37
37
|
React.createElement(rebass_1.Box, { flex: 1, className: `${baseClassName}__values` },
|
|
@@ -8,12 +8,7 @@ const rebass_1 = require("rebass");
|
|
|
8
8
|
const join_1 = tslib_1.__importDefault(require("../../../components/utils/join"));
|
|
9
9
|
class AdaptableObjectRow extends React.Component {
|
|
10
10
|
render() {
|
|
11
|
-
const colItems = this.props.colItems.map((colItem, index) => (React.createElement(rebass_1.Text, {
|
|
12
|
-
flex: colItem.Size,
|
|
13
|
-
whiteSpace: 'nowrap',
|
|
14
|
-
textOverflow: 'ellipsis',
|
|
15
|
-
overflow: 'hidden',
|
|
16
|
-
}, "data-name": "list-group-cell", paddingLeft: 1, paddingRight: 1 }, colItem.Content)));
|
|
11
|
+
const colItems = this.props.colItems.map((colItem, index) => (React.createElement(rebass_1.Text, { className: "ab-AdaptableObjectRow__cell", "data-name": "list-group-cell", key: index, title: typeof colItem.Content === 'string' ? colItem.Content : undefined, flex: colItem.Size, paddingLeft: 1, paddingRight: 1 }, colItem.Content)));
|
|
17
12
|
const className = (0, join_1.default)('ab-AdaptableObjectRow', this.props.isSuspended && 'ab-AdaptableObjectRow--is-suspended');
|
|
18
13
|
return (React.createElement(rebass_1.Flex, { className: className, onClick: this.props.onClick, style: this.props.style }, colItems));
|
|
19
14
|
}
|
|
@@ -4,6 +4,4 @@ export interface InfoButtonProps extends SimpleButtonProps {
|
|
|
4
4
|
glyph?: string;
|
|
5
5
|
tooltip?: string;
|
|
6
6
|
}
|
|
7
|
-
export declare
|
|
8
|
-
render(): JSX.Element;
|
|
9
|
-
}
|
|
7
|
+
export declare const ButtonInfo: React.FunctionComponent<InfoButtonProps>;
|
|
@@ -4,9 +4,7 @@ exports.ButtonInfo = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
6
|
const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
}
|
|
7
|
+
const ButtonInfo = (props) => {
|
|
8
|
+
return (React.createElement(SimpleButton_1.default, Object.assign({ "data-name": "info", iconSize: 20, icon: "info", variant: "raised", tone: "accent" }, props)));
|
|
9
|
+
};
|
|
12
10
|
exports.ButtonInfo = ButtonInfo;
|
|
@@ -161,7 +161,8 @@ const EntityRulesEditor = (props) => {
|
|
|
161
161
|
};
|
|
162
162
|
const initialData = (0, react_1.useMemo)(() => api.internalApi.getQueryPreviewData(), []);
|
|
163
163
|
const showDocumentationLinks = api.internalApi.isDocumentationLinksDisplayed();
|
|
164
|
-
|
|
164
|
+
const baseClassName = 'ab-EntityRulesEditor';
|
|
165
|
+
return (React.createElement(rebass_1.Flex, Object.assign({ className: baseClassName, flexDirection: "column", padding: 2, pt: 0, pl: 0 }, flexProps, { style: Object.assign({ height: '100%' }, flexProps === null || flexProps === void 0 ? void 0 : flexProps.style) }),
|
|
165
166
|
children,
|
|
166
167
|
React.createElement(Tabs_1.Tabs, { onValueChange: setType, value: selectedTab, pt: 2, pl: 2, style: { flex: 1, overflow: 'auto' } },
|
|
167
168
|
showNoRule ? (React.createElement(Tabs_1.Tabs.Tab, { value: 'NoRule', style: { flex: 1 } },
|
|
@@ -170,15 +171,9 @@ const EntityRulesEditor = (props) => {
|
|
|
170
171
|
React.createElement(rebass_1.Text, { fontSize: 2, mb: 2 }, 'Format Column is always applied'))) : null,
|
|
171
172
|
showPredicate ? (React.createElement(Tabs_1.Tabs.Tab, { value: 'Predicate', style: { flex: 1 } },
|
|
172
173
|
React.createElement(Radio_1.default, { tabIndex: -1, margin: 0, checked: type === 'Predicate' }, "Predicate"))) : null,
|
|
173
|
-
showPredicate ? (React.createElement(Tabs_1.Tabs.Content, { value: "Predicate" },
|
|
174
|
+
showPredicate ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "Predicate", value: "Predicate" },
|
|
174
175
|
React.createElement(rebass_1.Text, { fontSize: 2, mb: 2 }, descriptions.selectPredicate),
|
|
175
|
-
React.createElement(DropdownButton_1.default, {
|
|
176
|
-
minWidth: '15rem',
|
|
177
|
-
whiteSpace: 'nowrap',
|
|
178
|
-
overflow: 'hidden',
|
|
179
|
-
textOverflow: 'ellipsis',
|
|
180
|
-
maxWidth: 'inherit',
|
|
181
|
-
}, placeholder: "Select Rule", showClearButton: !!((_e = data.Rule) === null || _e === void 0 ? void 0 : _e.Predicate), onClear: clearPredicate, items: predicateDefsOptions, columns: ['label'] }, currentPredicateDef ? currentPredicateDef.label : 'Select Rule'), (_f = currentPredicateDef === null || currentPredicateDef === void 0 ? void 0 : currentPredicateDef.inputs) === null || _f === void 0 ? void 0 :
|
|
176
|
+
React.createElement(DropdownButton_1.default, { "data-name": "entity-rules-editor-predicate-dropdown", className: `${baseClassName}__predicate-dropdown`, placeholder: "Select Rule", showClearButton: !!((_e = data.Rule) === null || _e === void 0 ? void 0 : _e.Predicate), onClear: clearPredicate, items: predicateDefsOptions, columns: ['label'] }, currentPredicateDef ? currentPredicateDef.label : 'Select Rule'), (_f = currentPredicateDef === null || currentPredicateDef === void 0 ? void 0 : currentPredicateDef.inputs) === null || _f === void 0 ? void 0 :
|
|
182
177
|
_f.map((predicateDefInput, index) => (React.createElement(rebass_1.Flex, { key: predicateId + index, flexDirection: "column" },
|
|
183
178
|
index > 0 && React.createElement(HelpBlock_1.default, { marginTop: 2 }, "AND"),
|
|
184
179
|
React.createElement(AdaptableInput_1.default, { marginTop: 2, type: predicateDefInput.type, autoFocus: index === 0, value: predicateInputs[index], onChange: (e) => onPredicateInputChange(e, index) })))),
|
|
@@ -189,20 +184,16 @@ const EntityRulesEditor = (props) => {
|
|
|
189
184
|
fontSize: 'var(--ab-font-size-3)',
|
|
190
185
|
padding: 0,
|
|
191
186
|
} },
|
|
192
|
-
React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2,
|
|
193
|
-
color: 'var(--ab-color-text-on-add)',
|
|
194
|
-
fill: 'var(--ab-color-text-on-add)',
|
|
195
|
-
background: 'var(--ab-color-action-add)',
|
|
196
|
-
}, onClick: () => window.open(DocumentationLinkConstants_1.PredicateDocsLink, '_blank') }),
|
|
187
|
+
React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2, onClick: () => window.open(DocumentationLinkConstants_1.PredicateDocsLink, '_blank') }),
|
|
197
188
|
"See Predicate documentation for more details and examples")))) : null,
|
|
198
189
|
showBoolean ? React.createElement(QueryTab, { value: "BooleanExpression", type: type, label: "Boolean" }) : null,
|
|
199
|
-
showBoolean ? (React.createElement(Tabs_1.Tabs.Content, { value: 'BooleanExpression', paddingLeft: 0 },
|
|
190
|
+
showBoolean ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "BooleanExpression", value: 'BooleanExpression', paddingLeft: 0 },
|
|
200
191
|
React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'boolean', module: module, value: (_h = data.Rule) === null || _h === void 0 ? void 0 : _h.BooleanExpression, onChange: setBooleanExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null,
|
|
201
192
|
showObservable ? (React.createElement(QueryTab, { value: "ObservableExpression", type: type, label: "Observable" })) : null,
|
|
202
|
-
showObservable ? (React.createElement(Tabs_1.Tabs.Content, { value: 'ObservableExpression', paddingLeft: 0 },
|
|
193
|
+
showObservable ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "ObservableExpression", value: 'ObservableExpression', paddingLeft: 0 },
|
|
203
194
|
React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'observable', module: module, value: (_j = data.Rule) === null || _j === void 0 ? void 0 : _j.ObservableExpression, onChange: setReactiveExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null,
|
|
204
195
|
showAggregation ? (React.createElement(QueryTab, { value: "AggregatedBooleanExpression", type: type, label: "Aggregated Boolean" })) : null,
|
|
205
|
-
showAggregation ? (React.createElement(Tabs_1.Tabs.Content, { value: 'AggregatedBooleanExpression', paddingLeft: 0 },
|
|
196
|
+
showAggregation ? (React.createElement(Tabs_1.Tabs.Content, { "data-name": "AggregatedBooleanExpression", value: 'AggregatedBooleanExpression', paddingLeft: 0 },
|
|
206
197
|
React.createElement(ExpressionEditor_1.ExpressionEditor, { type: 'aggregatedBoolean', module: module, value: (_k = data.Rule) === null || _k === void 0 ? void 0 : _k.AggregatedBooleanExpression, onChange: setAggregationExpression, initialData: initialData, columns: api.columnApi.getQueryableColumns(), namedQueries: api.queryApi.getAllNamedQuery(), api: api }))) : null)));
|
|
207
198
|
};
|
|
208
199
|
exports.EntityRulesEditor = EntityRulesEditor;
|