@adaptabletools/adaptable 13.0.0-canary.16 → 13.0.0-canary.18
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/base.css +99 -0
- package/base.css.map +1 -1
- package/bundle.cjs.js +144 -144
- package/index.css +115 -0
- package/index.css.map +1 -1
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/Api/FormatColumnApi.d.ts +37 -29
- package/src/Api/Implementation/FormatColumnApiImpl.d.ts +21 -11
- package/src/Api/Implementation/FormatColumnApiImpl.js +42 -63
- package/src/Api/StyledColumnApi.d.ts +27 -13
- package/src/PredefinedConfig/StyledColumnState.d.ts +10 -4
- package/src/Strategy/ConditionalStyleModule.d.ts +0 -2
- package/src/Strategy/ConditionalStyleModule.js +1 -27
- package/src/Strategy/FormatColumnModule.js +2 -12
- package/src/View/AdaptablePopover/index.js +1 -1
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +9 -9
- package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +6 -5
- package/src/View/BulkUpdate/BulkUpdatePopup.js +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/QuickFilterForm.js +7 -13
- package/src/View/Components/NewScopeComponent.js +1 -1
- 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/ScopeComponent.js +4 -4
- package/src/View/Components/Selectors/ColumnValueSelector.js +2 -2
- package/src/View/Components/StyleComponent.js +12 -17
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +1 -1
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +1 -11
- package/src/View/DataSet/DataSetSelector.js +1 -1
- package/src/View/Export/ReportExportDropdown.js +1 -1
- package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -11
- package/src/View/FlashingCell/FlashingCellStyle.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 +26 -26
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +2 -6
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -7
- package/src/View/Layout/LayoutRadioSelector.js +1 -1
- package/src/View/Layout/Wizard/Components/ColumnLabels.js +1 -1
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +5 -5
- package/src/View/Layout/Wizard/sections/SettingsSection.js +2 -2
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +3 -3
- package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +1 -1
- package/src/View/QuickSearch/QuickSearchPopup.js +2 -2
- 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/SystemStatus/SystemStatusEntityRow.js +4 -6
- 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.js +1 -2
- package/src/agGrid/ActionColumnRenderer.d.ts +2 -0
- package/src/agGrid/ActionColumnRenderer.js +94 -62
- package/src/agGrid/Adaptable.d.ts +0 -1
- package/src/agGrid/Adaptable.js +43 -67
- package/src/agGrid/PercentBarRenderer.js +10 -0
- package/src/agGrid/weightedAverage.js +19 -11
- package/src/components/CheckBox/index.js +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/metamodel/adaptable.metamodel.d.ts +7 -0
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -27,13 +27,16 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
|
|
|
27
27
|
return this.getAllFormatColumn().filter((formatColumn) => formatColumn.IsSuspended);
|
|
28
28
|
}
|
|
29
29
|
getAllFormatColumnWithStyle() {
|
|
30
|
-
return this.getAllFormatColumn().filter((fc) => fc.Style
|
|
30
|
+
return this.getAllFormatColumn().filter((fc) => fc.Style);
|
|
31
|
+
}
|
|
32
|
+
getAllFormatColumnWithStyleAndCellAlignment() {
|
|
33
|
+
return this.getAllFormatColumn().filter((fc) => fc.Style || fc.CellAlignment);
|
|
31
34
|
}
|
|
32
35
|
getAllFormatColumnWithDisplayFormat() {
|
|
33
|
-
return this.getAllFormatColumn().filter((fc) => fc.DisplayFormat
|
|
36
|
+
return this.getAllFormatColumn().filter((fc) => fc.DisplayFormat);
|
|
34
37
|
}
|
|
35
38
|
getAllFormatColumnWithCellAlignment() {
|
|
36
|
-
return this.getAllFormatColumn().filter((fc) => fc.CellAlignment
|
|
39
|
+
return this.getAllFormatColumn().filter((fc) => fc.CellAlignment);
|
|
37
40
|
}
|
|
38
41
|
addFormatColumn(formatColumn) {
|
|
39
42
|
this.addUidToAdaptableObject(formatColumn);
|
|
@@ -77,37 +80,27 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
|
|
|
77
80
|
applyFormatColumnDisplayFormats() {
|
|
78
81
|
throw 'This API method is deprecated - it is not needed anymore.';
|
|
79
82
|
}
|
|
80
|
-
|
|
81
|
-
const formatColumns = this.
|
|
82
|
-
return this.
|
|
83
|
-
}
|
|
84
|
-
getColumnFormatColumnsWithStyle(column) {
|
|
85
|
-
const formatColumns = this.getAllFormatColumnWithStyle();
|
|
86
|
-
return this.getFormatColumnInColumnScope(formatColumns, column).filter((scopedFormatColumn) => {
|
|
87
|
-
return this.adaptable.api.scopeApi.isColumnInScope(column, scopedFormatColumn.Scope);
|
|
88
|
-
});
|
|
83
|
+
getFormatColumnsForColumn(column, config) {
|
|
84
|
+
const formatColumns = this.getAllFormatColumn().filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeSuspended) || !formatColumn.IsSuspended);
|
|
85
|
+
return this.getFormatColumnWithColumnInScope(formatColumns, column);
|
|
89
86
|
}
|
|
90
|
-
|
|
91
|
-
const formatColumns = this.
|
|
92
|
-
return this.
|
|
87
|
+
getFormatColumnsWithStyleForColumn(column, config) {
|
|
88
|
+
const formatColumns = this.getAllFormatColumnWithStyleAndCellAlignment().filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeSuspended) || !formatColumn.IsSuspended);
|
|
89
|
+
return this.getFormatColumnWithColumnInScope(formatColumns, column);
|
|
93
90
|
}
|
|
94
|
-
|
|
91
|
+
getFormatColumnsForColumnId(columnId, config) {
|
|
95
92
|
const abColumn = this.adaptable.api.columnApi.getColumnFromId(columnId);
|
|
96
93
|
if (!abColumn) {
|
|
97
94
|
return undefined;
|
|
98
95
|
}
|
|
99
|
-
return this.
|
|
96
|
+
return this.getFormatColumnsForColumn(abColumn, config);
|
|
100
97
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
return this.getAppropriateFormatColumn(formatColumns, column);
|
|
98
|
+
getFormatColumnWithStyleClassNameForColumn(column, config) {
|
|
99
|
+
return this.getFormatColumnsWithStyleForColumn(column, config).filter((formatColumn) => { var _a; return StringExtensions_1.default.IsNotNullOrEmpty((_a = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.Style) === null || _a === void 0 ? void 0 : _a.ClassName); });
|
|
104
100
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
getFormatColumnWithDisplayFormatForColumn(column) {
|
|
109
|
-
const formatColumns = this.getAllFormatColumnWithDisplayFormat();
|
|
110
|
-
return this.getAppropriateFormatColumn(formatColumns, column);
|
|
101
|
+
getFormatColumnsWithDisplayFormatForColumn(column, config) {
|
|
102
|
+
const formatColumns = this.getAllFormatColumnWithDisplayFormat().filter((formatColumn) => (config === null || config === void 0 ? void 0 : config.includeSuspended) || !formatColumn.IsSuspended);
|
|
103
|
+
return this.getFormatColumnWithColumnInScope(formatColumns, column);
|
|
111
104
|
}
|
|
112
105
|
getFormatColumnWithSingleColumnScope(columnId) {
|
|
113
106
|
const abColumn = this.adaptable.api.columnApi.getColumnFromId(columnId);
|
|
@@ -126,7 +119,8 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
|
|
|
126
119
|
});
|
|
127
120
|
return returnFormatColumn;
|
|
128
121
|
}
|
|
129
|
-
|
|
122
|
+
// TODO is this really needed, I don't think it achieves anything
|
|
123
|
+
getFormatColumnInColumnScope(formatColumns) {
|
|
130
124
|
// we need to maintain the format columns order, therefore we will extract all 3 scope types in a single iteration
|
|
131
125
|
return formatColumns.filter((fc) => {
|
|
132
126
|
return (
|
|
@@ -138,8 +132,8 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
|
|
|
138
132
|
this.adaptable.api.scopeApi.scopeIsAll(fc.Scope));
|
|
139
133
|
});
|
|
140
134
|
}
|
|
141
|
-
|
|
142
|
-
return this.getFormatColumnInColumnScope(formatColumns
|
|
135
|
+
getFormatColumnWithColumnInScope(formatColumns, column) {
|
|
136
|
+
return this.getFormatColumnInColumnScope(formatColumns).filter((scopedFormatColumn) => this.adaptable.api.scopeApi.isColumnInScope(column, scopedFormatColumn.Scope));
|
|
143
137
|
}
|
|
144
138
|
hasStyleFormatColumns() {
|
|
145
139
|
return ArrayExtensions_1.default.IsNotNullOrEmpty(this.getAllFormatColumnWithStyle());
|
|
@@ -214,50 +208,35 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
|
|
|
214
208
|
getFormatColumnDefsForScope(scope) {
|
|
215
209
|
return this.getFormatColumnPredicateDefs().filter((predicateDef) => this.adaptable.api.scopeApi.isScopeInScope(scope, predicateDef.columnScope));
|
|
216
210
|
}
|
|
217
|
-
|
|
218
|
-
|
|
211
|
+
getFormatColumnsRelevantForColumn(formatColumns, column, params) {
|
|
212
|
+
return formatColumns.filter((formatColumn) => this.isFormatColumnRelevantForColumn(formatColumn, column, params));
|
|
213
|
+
}
|
|
214
|
+
isFormatColumnRelevantForColumn(formatColumn, column, params) {
|
|
215
|
+
// suspended is important to be first
|
|
219
216
|
if (formatColumn.IsSuspended) {
|
|
220
217
|
return false;
|
|
221
218
|
}
|
|
222
219
|
if (!formatColumn.Rule) {
|
|
223
220
|
return true;
|
|
224
221
|
}
|
|
225
|
-
if (
|
|
226
|
-
|
|
227
|
-
this.evaluateExpression(formatColumn, params.node)) {
|
|
228
|
-
return true;
|
|
229
|
-
}
|
|
230
|
-
// nothing has passed then return false
|
|
231
|
-
return false;
|
|
232
|
-
}
|
|
233
|
-
isFormatColumnActiveForColumn(formatColumn, column, params) {
|
|
234
|
-
// suspedned is important to be first
|
|
235
|
-
if (formatColumn.IsSuspended) {
|
|
222
|
+
if (!formatColumn.IncludeGroupedRows &&
|
|
223
|
+
this.adaptable.api.gridApi.isGroupRowNode(params.node)) {
|
|
236
224
|
return false;
|
|
237
225
|
}
|
|
238
|
-
|
|
239
|
-
|
|
226
|
+
// first run the predicate
|
|
227
|
+
if (formatColumn.Rule.Predicate && formatColumn.Rule.Predicate.PredicateId) {
|
|
228
|
+
return this.evaluatePredicate({
|
|
229
|
+
formatColumn,
|
|
230
|
+
column,
|
|
231
|
+
value: params.value,
|
|
232
|
+
node: params.node,
|
|
233
|
+
});
|
|
240
234
|
}
|
|
241
|
-
if (
|
|
242
|
-
|
|
243
|
-
if (formatColumn.Rule.Predicate && formatColumn.Rule.Predicate.PredicateId) {
|
|
244
|
-
if (this.evaluatePredicate({
|
|
245
|
-
formatColumn,
|
|
246
|
-
column,
|
|
247
|
-
value: params.value,
|
|
248
|
-
node: params.node,
|
|
249
|
-
})) {
|
|
250
|
-
return true;
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
else if (formatColumn.Rule.BooleanExpression) {
|
|
254
|
-
if (this.evaluateExpression(formatColumn, params.node)) {
|
|
255
|
-
return true;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
// nothing has passed then return false
|
|
259
|
-
return false;
|
|
235
|
+
else if (formatColumn.Rule.BooleanExpression) {
|
|
236
|
+
return this.evaluateExpression(formatColumn, params.node);
|
|
260
237
|
}
|
|
238
|
+
// nothing has passed then return false
|
|
239
|
+
return false;
|
|
261
240
|
}
|
|
262
241
|
evaluatePredicate({ formatColumn, column, value, node, }) {
|
|
263
242
|
const params = {
|
|
@@ -2,19 +2,9 @@ import { RowNode } from '@ag-grid-community/core/dist/cjs/es5/entities/rowNode';
|
|
|
2
2
|
import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
3
3
|
import { StyledColumnState, StyledColumn, CellColorRange, ColumnComparison } from '../PredefinedConfig/StyledColumnState';
|
|
4
4
|
/**
|
|
5
|
-
* Provides run-time access to
|
|
5
|
+
* Provides run-time access to Styled Column Module and associated state
|
|
6
6
|
*/
|
|
7
7
|
export interface StyledColumnApi {
|
|
8
|
-
/**
|
|
9
|
-
* Delete styled column
|
|
10
|
-
* @param styledColumn
|
|
11
|
-
*/
|
|
12
|
-
deleteStyledColumn(styledColumn: StyledColumn): void;
|
|
13
|
-
/**
|
|
14
|
-
* Create a styled column
|
|
15
|
-
* @param styledColumn
|
|
16
|
-
*/
|
|
17
|
-
addStyledColumn(styledColumn: StyledColumn): void;
|
|
18
8
|
/**
|
|
19
9
|
* Retrieves Styled Column section from Adaptable State
|
|
20
10
|
*/
|
|
@@ -48,6 +38,16 @@ export interface StyledColumnApi {
|
|
|
48
38
|
* @returns Styled Columns
|
|
49
39
|
*/
|
|
50
40
|
getAllSuspendedStyledColumn(): StyledColumn[];
|
|
41
|
+
/**
|
|
42
|
+
* Delete a Styled column
|
|
43
|
+
* @param styledColumn
|
|
44
|
+
*/
|
|
45
|
+
deleteStyledColumn(styledColumn: StyledColumn): void;
|
|
46
|
+
/**
|
|
47
|
+
* Create a Styled column
|
|
48
|
+
* @param styledColumn
|
|
49
|
+
*/
|
|
50
|
+
addStyledColumn(styledColumn: StyledColumn): void;
|
|
51
51
|
/**
|
|
52
52
|
* Gets the Minimum Value to display for a Styled Column
|
|
53
53
|
* @param styledColumn Styled Column to check
|
|
@@ -62,13 +62,23 @@ export interface StyledColumnApi {
|
|
|
62
62
|
* @param cellValue current Cell Value
|
|
63
63
|
*/
|
|
64
64
|
getNumericStyleMaxValue(styledColumn: Omit<StyledColumn, 'ColumnId'>, column: AdaptableColumn, rowNode: RowNode, cellValue: any): number;
|
|
65
|
+
/**
|
|
66
|
+
* Returns the smallest number in a Range
|
|
67
|
+
* @param range Range to check
|
|
68
|
+
* @param column current Column
|
|
69
|
+
*/
|
|
65
70
|
getCellColorRangeMinValue(range: CellColorRange, column: AdaptableColumn): number | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Returns the largest number in a Range
|
|
73
|
+
* @param range Range to check
|
|
74
|
+
* @param column current Column
|
|
75
|
+
*/
|
|
66
76
|
getCellColorRangeMaxValue(range: CellColorRange, column: AdaptableColumn): number | undefined;
|
|
67
77
|
/**
|
|
68
78
|
* Retrieves the ColumnComparison property, if there, from a Styled Column
|
|
69
|
-
* @param
|
|
79
|
+
* @param styledColumn Styled Column to Add
|
|
70
80
|
*/
|
|
71
|
-
getColumnComparisonForStyledColumn(
|
|
81
|
+
getColumnComparisonForStyledColumn(styledColumn: StyledColumn): ColumnComparison | undefined;
|
|
72
82
|
/**
|
|
73
83
|
* Returns any ColumnIds referenced in a Column Comparison
|
|
74
84
|
* @param columnComparision Column Comparison to check
|
|
@@ -88,5 +98,9 @@ export interface StyledColumnApi {
|
|
|
88
98
|
* Publishes the CheckboxColumnClickedEvent - when the checkbox in an Checkbox Column is clicked
|
|
89
99
|
*/
|
|
90
100
|
fireCheckboxColumnClickedEvent(columnId: string, rowData: any, primaryKeyValue: any, isChecked: boolean): void;
|
|
101
|
+
/**
|
|
102
|
+
* Returns a Styled Column for a given column
|
|
103
|
+
* @param column Column to check
|
|
104
|
+
*/
|
|
91
105
|
getActiveStyledColumnForColumn(column: AdaptableColumn): StyledColumn | undefined;
|
|
92
106
|
}
|
|
@@ -13,14 +13,20 @@ export interface StyledColumnState extends ConfigState {
|
|
|
13
13
|
* Object used in Special Column Style function
|
|
14
14
|
*/
|
|
15
15
|
export interface StyledColumn extends SuspendableObject {
|
|
16
|
+
/**
|
|
17
|
+
* Column being styled
|
|
18
|
+
*/
|
|
16
19
|
ColumnId: string;
|
|
20
|
+
/**
|
|
21
|
+
* Styles a numeric column with a Gradient
|
|
22
|
+
*/
|
|
17
23
|
GradientStyle?: GradientStyle;
|
|
18
24
|
/**
|
|
19
|
-
*
|
|
25
|
+
* Styles a numeric column so each cell displays a 'bar'
|
|
20
26
|
*/
|
|
21
27
|
PercentBarStyle?: PercentBarStyle;
|
|
22
28
|
/**
|
|
23
|
-
*
|
|
29
|
+
* Renders a Checkbox in a boolean column
|
|
24
30
|
*/
|
|
25
31
|
CheckBoxStyle?: boolean;
|
|
26
32
|
}
|
|
@@ -33,7 +39,7 @@ export interface PercentBarStyle extends NumericStyledColumn {
|
|
|
33
39
|
*/
|
|
34
40
|
CellRanges?: CellColorRange[];
|
|
35
41
|
/**
|
|
36
|
-
* Compares
|
|
42
|
+
* Compares Cell values to another Column
|
|
37
43
|
*/
|
|
38
44
|
ColumnComparison?: ColumnComparison;
|
|
39
45
|
/**
|
|
@@ -45,7 +51,7 @@ export interface PercentBarStyle extends NumericStyledColumn {
|
|
|
45
51
|
*/
|
|
46
52
|
ToolTipText?: CellTextOptions;
|
|
47
53
|
/**
|
|
48
|
-
*
|
|
54
|
+
* Background colour for 'Percent Bar'; leave unset if none required
|
|
49
55
|
* @defaultValue Gray
|
|
50
56
|
*/
|
|
51
57
|
BackColor?: string;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
2
2
|
import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
3
|
-
import { AdaptableMenuItem } from '../PredefinedConfig/Common/Menu';
|
|
4
3
|
import { ConditionalStyle } from '../PredefinedConfig/ConditionalStyleState';
|
|
5
4
|
import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
|
|
6
5
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
@@ -15,7 +14,6 @@ export declare class ConditionalStyleModule extends AdaptableModuleBase implemen
|
|
|
15
14
|
getExplicitlyReferencedColumnIds(conditionalStyle: ConditionalStyle): string[];
|
|
16
15
|
getReferencedNamedQueryNames(conditionalStyle: ConditionalStyle): string[];
|
|
17
16
|
updateOldConfig(): void;
|
|
18
|
-
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
19
17
|
getTeamSharingAction(): TeamSharingImportInfo<ConditionalStyle>;
|
|
20
18
|
isConditionalStyleActiveForColumn(conditionalStyleForColumn: ConditionalStyle, column: AdaptableColumn, params: any): boolean;
|
|
21
19
|
isConditionalStyleActiveForRow(conditionalStyleForRow: ConditionalStyle, params: any): boolean;
|
|
@@ -9,7 +9,6 @@ const LoggingHelper_1 = require("../Utilities/Helpers/LoggingHelper");
|
|
|
9
9
|
const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
|
|
10
10
|
const ModuleConstants_1 = require("../Utilities/Constants/ModuleConstants");
|
|
11
11
|
const getScopeViewItems_1 = require("./Utilities/getScopeViewItems");
|
|
12
|
-
const ConditionalStyleWizard_1 = require("../View/ConditionalStyle/Wizard/ConditionalStyleWizard");
|
|
13
12
|
const getRuleViewItems_1 = require("./Utilities/getRuleViewItems");
|
|
14
13
|
const getStyleViewItems_1 = require("./Utilities/getStyleViewItems");
|
|
15
14
|
const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
|
|
@@ -79,25 +78,6 @@ class ConditionalStyleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
79
78
|
});
|
|
80
79
|
this.api.conditionalStyleApi.editConditionalStyles(oldConditionalStyles);
|
|
81
80
|
}
|
|
82
|
-
addColumnMenuItems(column) {
|
|
83
|
-
if (column && this.isModuleEditable() && !column.isSparkline) {
|
|
84
|
-
let conditionalStyles = this.api.conditionalStyleApi.getConditionalStylesForColumn(column);
|
|
85
|
-
let firstConditionalStyle = ArrayExtensions_1.default.IsNotNullOrEmpty(conditionalStyles)
|
|
86
|
-
? conditionalStyles.find((cs) => this.api.scopeApi.isColumnInScopeColumns(column, cs.Scope))
|
|
87
|
-
: undefined;
|
|
88
|
-
let conditionalStyleExists = firstConditionalStyle != undefined;
|
|
89
|
-
let label = conditionalStyleExists ? 'Edit ' : 'Create ';
|
|
90
|
-
let popupParam = {
|
|
91
|
-
column: column,
|
|
92
|
-
action: conditionalStyleExists ? 'Edit' : 'New',
|
|
93
|
-
source: 'ColumnMenu',
|
|
94
|
-
value: firstConditionalStyle,
|
|
95
|
-
};
|
|
96
|
-
return [
|
|
97
|
-
this.createColumnMenuItemShowPopup(label + this.moduleInfo.FriendlyName, this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam),
|
|
98
|
-
];
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
81
|
getTeamSharingAction() {
|
|
102
82
|
return {
|
|
103
83
|
ModuleEntities: this.api.conditionalStyleApi.getAllConditionalStyle(),
|
|
@@ -211,13 +191,7 @@ class ConditionalStyleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
211
191
|
getViewProperties() {
|
|
212
192
|
return {
|
|
213
193
|
HeaderComponent: ConditionalStylePopupHeader_1.ConditionalStylePopupHeader,
|
|
214
|
-
|
|
215
|
-
getSuspendAction: (conditionalStyle) => ConditionalStyleRedux.ConditionalStyleSuspend(conditionalStyle),
|
|
216
|
-
getUnSuspendAction: (conditionalStyle) => ConditionalStyleRedux.ConditionalStyleUnSuspend(conditionalStyle),
|
|
217
|
-
emptyView: "Click 'New' to create a new Conditional Style Rule. When this is met, row or cells in the Conditional Style's scope will be styled appropriately.",
|
|
218
|
-
getEditWizard() {
|
|
219
|
-
return ConditionalStyleWizard_1.ConditionalStyleWizard;
|
|
220
|
-
},
|
|
194
|
+
emptyView: '',
|
|
221
195
|
};
|
|
222
196
|
}
|
|
223
197
|
canBeAssociatedWithLayouts() {
|
|
@@ -77,22 +77,12 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
77
77
|
addColumnMenuItems(column) {
|
|
78
78
|
let returnColumnMenuItems = [];
|
|
79
79
|
if (column && this.isModuleEditable() && !column.isSparkline) {
|
|
80
|
-
// not fullproof as might be an All but its generally pretty good
|
|
81
|
-
let formatColumn = this.api.formatColumnApi.getFormatColumnForColumn(column);
|
|
82
|
-
let formatExists = formatColumn
|
|
83
|
-
? this.api.scopeApi.isColumnInScopeColumns(column, formatColumn.Scope)
|
|
84
|
-
: false;
|
|
85
|
-
if (formatColumn && formatColumn.IsReadOnly && formatColumn.IsReadOnly == true) {
|
|
86
|
-
formatExists = false;
|
|
87
|
-
}
|
|
88
|
-
let label = formatExists ? 'Edit ' : 'Create ';
|
|
89
80
|
let popupParam = {
|
|
90
81
|
column: column,
|
|
91
|
-
action:
|
|
82
|
+
action: 'New',
|
|
92
83
|
source: 'ColumnMenu',
|
|
93
|
-
value: formatColumn,
|
|
94
84
|
};
|
|
95
|
-
returnColumnMenuItems.push(this.createColumnMenuItemShowPopup(
|
|
85
|
+
returnColumnMenuItems.push(this.createColumnMenuItemShowPopup('Create Format Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, popupParam));
|
|
96
86
|
}
|
|
97
87
|
return returnColumnMenuItems;
|
|
98
88
|
}
|
|
@@ -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,7 +32,7 @@ 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);
|
|
@@ -99,35 +99,35 @@ const AlertBehaviourWizardSection = (props) => {
|
|
|
99
99
|
return (React.createElement(Tabs_1.Tabs, null,
|
|
100
100
|
React.createElement(Tabs_1.Tabs.Tab, null, api.internalApi.getCorrectEnglishVariant('Behaviour')),
|
|
101
101
|
React.createElement(Tabs_1.Tabs.Content, null,
|
|
102
|
-
cellChangedAlert && (React.createElement(CheckBox_1.CheckBox, { style: { alignItems: 'flex-start' }, checked: AlertProperties.PreventEdit, onChange: (PreventEdit) => {
|
|
102
|
+
cellChangedAlert && (React.createElement(CheckBox_1.CheckBox, { "data-name": "prevet-cell-edit", style: { alignItems: 'flex-start' }, checked: AlertProperties.PreventEdit, onChange: (PreventEdit) => {
|
|
103
103
|
onChange({
|
|
104
104
|
PreventEdit,
|
|
105
105
|
});
|
|
106
106
|
} },
|
|
107
107
|
"Prevent Cell Edit",
|
|
108
108
|
React.createElement(rebass_1.Text, { fontSize: 2, mt: 1 }, "(automatically undo data change which triggered Alert)"))),
|
|
109
|
-
cellChangedAlert && (React.createElement(HighlightStyle, { highlight: AlertProperties.HighlightCell, label: "Highlight Cell", onChange: (HighlightCell) => {
|
|
109
|
+
cellChangedAlert && (React.createElement(HighlightStyle, { dataName: "highlight-cell", highlight: AlertProperties.HighlightCell, label: "Highlight Cell", onChange: (HighlightCell) => {
|
|
110
110
|
onChange({ HighlightCell });
|
|
111
111
|
} })),
|
|
112
|
-
cellChangedAlert && (React.createElement(HighlightStyle, { highlight: AlertProperties.HighlightRow, label: "Highlight Row", onChange: (HighlightRow) => {
|
|
112
|
+
cellChangedAlert && (React.createElement(HighlightStyle, { dataName: "highlight-row", highlight: AlertProperties.HighlightRow, label: "Highlight Row", onChange: (HighlightRow) => {
|
|
113
113
|
onChange({ HighlightRow });
|
|
114
114
|
} })),
|
|
115
|
-
rowAddedAlert && (React.createElement(HighlightStyle, { highlight: AlertProperties.HighlightRow, label: "Highlight Row", onChange: (HighlightRow) => {
|
|
115
|
+
rowAddedAlert && (React.createElement(HighlightStyle, { dataName: "highlight-row", highlight: AlertProperties.HighlightRow, label: "Highlight Row", onChange: (HighlightRow) => {
|
|
116
116
|
onChange({ HighlightRow });
|
|
117
117
|
} })),
|
|
118
|
-
cellChangedAlert && (React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.JumpToCell, onChange: (JumpToCell) => {
|
|
118
|
+
cellChangedAlert && (React.createElement(CheckBox_1.CheckBox, { "data-name": "jump-to-cell", checked: AlertProperties.JumpToCell, onChange: (JumpToCell) => {
|
|
119
119
|
onChange({ JumpToCell });
|
|
120
120
|
} }, "Jump To Cell")),
|
|
121
|
-
rowAddedAlert && (React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.JumpToRow, onChange: (JumpToRow) => {
|
|
121
|
+
rowAddedAlert && (React.createElement(CheckBox_1.CheckBox, { "data-name": "jump-to-row", checked: AlertProperties.JumpToRow, onChange: (JumpToRow) => {
|
|
122
122
|
onChange({ JumpToRow });
|
|
123
123
|
} }, "Jump To Row")),
|
|
124
|
-
React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.ShowInDiv, onChange: (ShowInDiv) => {
|
|
124
|
+
React.createElement(CheckBox_1.CheckBox, { "data-name": "show-in-div", checked: AlertProperties.ShowInDiv, onChange: (ShowInDiv) => {
|
|
125
125
|
onChange({ ShowInDiv });
|
|
126
126
|
} },
|
|
127
127
|
"Show in separate ",
|
|
128
128
|
React.createElement(CodeBlock_1.CodeBlock, null, `<div />`),
|
|
129
129
|
" element"),
|
|
130
|
-
React.createElement(CheckBox_1.CheckBox, { checked: AlertProperties.LogToConsole, onChange: (LogToConsole) => {
|
|
130
|
+
React.createElement(CheckBox_1.CheckBox, { "data-name": "log-to-console", checked: AlertProperties.LogToConsole, onChange: (LogToConsole) => {
|
|
131
131
|
onChange({ LogToConsole });
|
|
132
132
|
} }, "Log To Console"))));
|
|
133
133
|
};
|
|
@@ -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
|
};
|
|
@@ -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();
|
|
@@ -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;
|