@adaptabletools/adaptable 18.0.0-canary.24 → 18.0.0-canary.26
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/package.json +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +1 -1
- package/src/AdaptableOptions/CommentOptions.d.ts +2 -2
- package/src/AdaptableOptions/MenuOptions.d.ts +4 -4
- package/src/Api/GridApi.d.ts +2 -1
- package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
- package/src/Api/Implementation/AlertApiImpl.js +5 -10
- package/src/Api/Implementation/CalendarApiImpl.js +1 -6
- package/src/Api/Implementation/ChartingApiImpl.js +3 -3
- package/src/Api/Implementation/ColumnApiImpl.js +6 -6
- package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
- package/src/Api/Implementation/CommentsApiImpl.js +1 -1
- package/src/Api/Implementation/ConfigApiImpl.js +11 -17
- package/src/Api/Implementation/DashboardApiImpl.js +1 -6
- package/src/Api/Implementation/ExportApiImpl.js +5 -10
- package/src/Api/Implementation/ExpressionApiImpl.js +8 -13
- package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
- package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
- package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
- package/src/Api/Implementation/GridApiImpl.d.ts +2 -1
- package/src/Api/Implementation/GridApiImpl.js +11 -8
- package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
- package/src/Api/Implementation/LayoutApiImpl.js +2 -13
- package/src/Api/Implementation/PredicateApiImpl.js +2 -2
- package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
- package/src/Api/Implementation/ScopeApiImpl.js +10 -10
- package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
- package/src/Api/Implementation/ThemeApiImpl.js +2 -7
- package/src/Api/Implementation/UserInterfaceApiImpl.js +4 -13
- package/src/Api/Internal/ActionRowInternalApi.js +7 -45
- package/src/Api/Internal/AdaptableInternalApi.js +2 -12
- package/src/Api/Internal/AlertInternalApi.js +4 -17
- package/src/Api/Internal/CalculatedColumnInternalApi.js +7 -14
- package/src/Api/Internal/ChartingInternalApi.js +13 -13
- package/src/Api/Internal/ColumnFilterInternalApi.js +18 -36
- package/src/Api/Internal/CustomSortInternalApi.js +1 -1
- package/src/Api/Internal/DashboardInternalApi.js +4 -10
- package/src/Api/Internal/DataImportInternalApi.js +3 -9
- package/src/Api/Internal/DataSetInternalApi.js +2 -7
- package/src/Api/Internal/ExportInternalApi.js +4 -4
- package/src/Api/Internal/ExpressionInternalApi.js +2 -12
- package/src/Api/Internal/Fdc3InternalApi.js +1 -10
- package/src/Api/Internal/FormatColumnInternalApi.js +11 -20
- package/src/Api/Internal/FreeTextColumnInternalApi.js +1 -1
- package/src/Api/Internal/GridFilterInternalApi.js +2 -8
- package/src/Api/Internal/GridInternalApi.js +13 -40
- package/src/Api/Internal/LayoutInternalApi.d.ts +1 -0
- package/src/Api/Internal/LayoutInternalApi.js +10 -19
- package/src/Api/Internal/PredicateInternalApi.js +5 -40
- package/src/Api/Internal/ScheduleInternalApi.js +1 -6
- package/src/Api/Internal/StyledColumnInternalApi.js +5 -5
- package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
- package/src/Api/Internal/TeamSharingInternalApi.js +2 -7
- package/src/Api/Internal/ThemeInternalApi.js +1 -1
- package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
- package/src/Api/LayoutApi.d.ts +1 -0
- package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
- package/src/PredefinedConfig/Common/Enums.d.ts +2 -0
- package/src/PredefinedConfig/Common/Enums.js +2 -0
- package/src/PredefinedConfig/Common/RowSummary.d.ts +1 -1
- package/src/PredefinedConfig/Common/RowSummary.js +4 -4
- package/src/Strategy/CellSummaryModule.js +54 -94
- package/src/Strategy/LayoutModule.js +5 -1
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +1 -1
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +19 -19
- package/src/Utilities/Helpers/AdaptableHelper.js +3 -2
- package/src/Utilities/ObjectFactory.js +2 -0
- package/src/View/Layout/Wizard/LayoutWizard.js +2 -0
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +17 -1
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +5 -5
- package/src/agGrid/AdaptableAgGrid.d.ts +1 -1
- package/src/agGrid/AdaptableAgGrid.js +19 -7
- package/src/agGrid/AgGridAdapter.d.ts +1 -2
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +8 -2
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
|
@@ -43,7 +43,7 @@ export class ColumnFilterInternalApi extends ApiBase {
|
|
|
43
43
|
const filter = {
|
|
44
44
|
ColumnId: column.columnId,
|
|
45
45
|
Predicate: {
|
|
46
|
-
PredicateId: this.
|
|
46
|
+
PredicateId: this.getAdaptableApi().predicateApi.internalApi.getEqualityPredicateForDataType(column.dataType),
|
|
47
47
|
Inputs: [...new Set([gridCell.rawValue])],
|
|
48
48
|
},
|
|
49
49
|
};
|
|
@@ -55,11 +55,11 @@ export class ColumnFilterInternalApi extends ApiBase {
|
|
|
55
55
|
* @param columnFilter Column Filter to use
|
|
56
56
|
*/
|
|
57
57
|
columnFilterToString(columnFilter) {
|
|
58
|
-
const friendlyName = this.
|
|
58
|
+
const friendlyName = this.getAdaptableApi().columnApi.getFriendlyNameForColumnId(columnFilter.ColumnId);
|
|
59
59
|
return ('[' +
|
|
60
60
|
friendlyName +
|
|
61
61
|
'] ' +
|
|
62
|
-
this.
|
|
62
|
+
this.getAdaptableApi().predicateApi.predicateToString(columnFilter.Predicate));
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* Retrieves descriptions of given Column Filters
|
|
@@ -99,17 +99,9 @@ export class ColumnFilterInternalApi extends ApiBase {
|
|
|
99
99
|
return true;
|
|
100
100
|
}
|
|
101
101
|
let value = gridCell.normalisedValue;
|
|
102
|
-
const predicateDefHandlerContext = {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
displayValue: gridCell.displayValue,
|
|
106
|
-
node,
|
|
107
|
-
column,
|
|
108
|
-
adaptableApi: this.getAdaptableApi(),
|
|
109
|
-
userName: this.getAdaptableApi().optionsApi.getUserName(),
|
|
110
|
-
adaptableId: this.getAdaptableApi().optionsApi.getAdaptableId(),
|
|
111
|
-
};
|
|
112
|
-
return this.adaptable.api.predicateApi.handlePredicate(columnFilter.Predicate, predicateDefHandlerContext, true);
|
|
102
|
+
const predicateDefHandlerContext = Object.assign({ value: value, oldValue: null, displayValue: gridCell.displayValue, node,
|
|
103
|
+
column }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
104
|
+
return this.getAdaptableApi().predicateApi.handlePredicate(columnFilter.Predicate, predicateDefHandlerContext, true);
|
|
113
105
|
}
|
|
114
106
|
/**
|
|
115
107
|
* Checks if the filter action should trigger Column Filtering
|
|
@@ -128,32 +120,32 @@ export class ColumnFilterInternalApi extends ApiBase {
|
|
|
128
120
|
// filter -> suspend changes
|
|
129
121
|
var _a, _b;
|
|
130
122
|
const isNewAndActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_ADD &&
|
|
131
|
-
this.
|
|
123
|
+
this.getAdaptableApi().columnFilterApi.isColumnFilterActive(action.columnFilter);
|
|
132
124
|
const isClearAndPreviousWasActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR &&
|
|
133
|
-
this.
|
|
125
|
+
this.getAdaptableApi().columnFilterApi.isColumnFilterActive(action.columnFilter);
|
|
134
126
|
const isClearAllAtLeastOneActiveFilter = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_CLEAR_ALL &&
|
|
135
|
-
this.
|
|
127
|
+
this.getAdaptableApi().columnFilterApi
|
|
136
128
|
.getColumnFilters()
|
|
137
|
-
.some((columnFilter) => this.
|
|
129
|
+
.some((columnFilter) => this.getAdaptableApi().columnFilterApi.isColumnFilterActive(columnFilter));
|
|
138
130
|
let isEditTrigger = false;
|
|
139
131
|
if (action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_EDIT) {
|
|
140
132
|
const newFilter = action.columnFilter;
|
|
141
|
-
const previous = this.
|
|
133
|
+
const previous = this.getAdaptableApi().columnFilterApi.getColumnFilterForColumn(newFilter.ColumnId);
|
|
142
134
|
// same filter edit, so always trigger
|
|
143
135
|
if (((_a = previous === null || previous === void 0 ? void 0 : previous.Predicate) === null || _a === void 0 ? void 0 : _a.PredicateId) === ((_b = newFilter === null || newFilter === void 0 ? void 0 : newFilter.Predicate) === null || _b === void 0 ? void 0 : _b.PredicateId)) {
|
|
144
136
|
isEditTrigger = true;
|
|
145
137
|
// new filter is active
|
|
146
138
|
}
|
|
147
|
-
else if (this.
|
|
139
|
+
else if (this.getAdaptableApi().columnFilterApi.isColumnFilterActive(newFilter)) {
|
|
148
140
|
isEditTrigger = true;
|
|
149
141
|
}
|
|
150
|
-
else if (this.
|
|
142
|
+
else if (this.getAdaptableApi().columnFilterApi.isColumnFilterActive(previous)) {
|
|
151
143
|
// previous filter was active
|
|
152
144
|
isEditTrigger = true;
|
|
153
145
|
}
|
|
154
146
|
}
|
|
155
147
|
const isSetAndActive = action.type === LayoutRedux.LAYOUT_COLUMN_FILTER_SET &&
|
|
156
|
-
this.
|
|
148
|
+
this.getAdaptableApi().columnFilterApi.isColumnFilterActive(action.columnFilter);
|
|
157
149
|
const isSuspendChanged = [
|
|
158
150
|
LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND,
|
|
159
151
|
LayoutRedux.LAYOUT_COLUMN_FILTER_SUSPEND_ALL,
|
|
@@ -173,25 +165,15 @@ export class ColumnFilterInternalApi extends ApiBase {
|
|
|
173
165
|
fireColumnFilterAppliedEvent() {
|
|
174
166
|
if (this.adaptable.isReady) {
|
|
175
167
|
const adaptableApi = this.getAdaptableApi();
|
|
176
|
-
const columnFilterAppliedInfo = {
|
|
177
|
-
|
|
178
|
-
adaptableApi: adaptableApi,
|
|
179
|
-
userName: adaptableApi.optionsApi.getUserName(),
|
|
180
|
-
adaptableId: adaptableApi.optionsApi.getAdaptableId(),
|
|
181
|
-
};
|
|
182
|
-
this.adaptable.api.eventApi.emit('ColumnFilterApplied', columnFilterAppliedInfo);
|
|
168
|
+
const columnFilterAppliedInfo = Object.assign({ columnFilters: this.getColumnFilterApi().getColumnFilters() }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
169
|
+
this.getAdaptableApi().eventApi.emit('ColumnFilterApplied', columnFilterAppliedInfo);
|
|
183
170
|
}
|
|
184
171
|
}
|
|
185
172
|
fireGridFilterAppliedEvent() {
|
|
186
173
|
if (this.adaptable.isReady) {
|
|
187
174
|
const adaptableApi = this.getAdaptableApi();
|
|
188
|
-
const gridFilterAppliedInfo = {
|
|
189
|
-
|
|
190
|
-
adaptableApi: adaptableApi,
|
|
191
|
-
userName: adaptableApi.optionsApi.getUserName(),
|
|
192
|
-
adaptableId: adaptableApi.optionsApi.getAdaptableId(),
|
|
193
|
-
};
|
|
194
|
-
this.adaptable.api.eventApi.emit('GridFilterApplied', gridFilterAppliedInfo);
|
|
175
|
+
const gridFilterAppliedInfo = Object.assign({ columnFilters: this.getColumnFilterApi().getColumnFilters() }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
176
|
+
this.getAdaptableApi().eventApi.emit('GridFilterApplied', gridFilterAppliedInfo);
|
|
195
177
|
}
|
|
196
178
|
}
|
|
197
179
|
/**
|
|
@@ -3,7 +3,7 @@ export class CustomSortInternalApi extends ApiBase {
|
|
|
3
3
|
getCustomSortComparer(columnId) {
|
|
4
4
|
var _a;
|
|
5
5
|
const column = this.getColumnApi().getColumnWithColumnId(columnId);
|
|
6
|
-
return (_a = this.getCustomSortOptions().customSortComparers) === null || _a === void 0 ? void 0 : _a.find((csc) => this.
|
|
6
|
+
return (_a = this.getCustomSortOptions().customSortComparers) === null || _a === void 0 ? void 0 : _a.find((csc) => this.getAdaptableApi().scopeApi.isColumnInScope(column, csc.scope));
|
|
7
7
|
}
|
|
8
8
|
getDefaultCustomSortComparer(columnId, columnValues) {
|
|
9
9
|
// have to return a function that may not have access to this
|
|
@@ -26,18 +26,12 @@ export class DashboardInternalApi extends ApiBase {
|
|
|
26
26
|
}
|
|
27
27
|
return visibleInOldState && !visibleInNewState;
|
|
28
28
|
};
|
|
29
|
-
const dashboardChangedInfo = {
|
|
30
|
-
adaptableApi: this.adaptable.api,
|
|
31
|
-
actionName: trigger,
|
|
32
|
-
oldDashboardState,
|
|
29
|
+
const dashboardChangedInfo = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { actionName: trigger, oldDashboardState,
|
|
33
30
|
newDashboardState,
|
|
34
31
|
isToolbarStateChangedToVisible,
|
|
35
|
-
isToolbarStateChangedToHidden
|
|
36
|
-
userName: this.adaptable.api.optionsApi.getUserName(),
|
|
37
|
-
adaptableId: this.adaptable.api.optionsApi.getAdaptableId(),
|
|
38
|
-
};
|
|
32
|
+
isToolbarStateChangedToHidden });
|
|
39
33
|
if (!isEqual(oldDashboardState, newDashboardState)) {
|
|
40
|
-
setTimeout(() => this.
|
|
34
|
+
setTimeout(() => this.getAdaptableApi().eventApi.emit('DashboardChanged', dashboardChangedInfo));
|
|
41
35
|
}
|
|
42
36
|
}
|
|
43
37
|
isToolbarInActiveTab(toolbarName, dashboardState) {
|
|
@@ -57,7 +51,7 @@ export class DashboardInternalApi extends ApiBase {
|
|
|
57
51
|
return false;
|
|
58
52
|
}
|
|
59
53
|
isToolbarCustom(toolbarName) {
|
|
60
|
-
return this.
|
|
54
|
+
return this.getAdaptableApi().dashboardApi
|
|
61
55
|
.getCustomToolbars()
|
|
62
56
|
.some((tb) => tb.name === toolbarName);
|
|
63
57
|
}
|
|
@@ -52,16 +52,10 @@ export class DataImportInternalApi extends ApiBase {
|
|
|
52
52
|
* @param gridDataRows Rows that were imported
|
|
53
53
|
*/
|
|
54
54
|
publishDataImportedEvent(importData, addedRows, updatedRows) {
|
|
55
|
-
const
|
|
56
|
-
const dataImportedInfo = {
|
|
57
|
-
adaptableApi: adaptableApi,
|
|
58
|
-
importData,
|
|
55
|
+
const dataImportedInfo = Object.assign({ importData,
|
|
59
56
|
addedRows,
|
|
60
|
-
updatedRows,
|
|
61
|
-
|
|
62
|
-
adaptableId: adaptableApi.optionsApi.getAdaptableId(),
|
|
63
|
-
};
|
|
64
|
-
this.adaptable.api.internalApi.dispatchReduxAction(SystemRedux.DataImportCompleted(dataImportedInfo));
|
|
57
|
+
updatedRows }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
58
|
+
this.getAdaptableApi().internalApi.dispatchReduxAction(SystemRedux.DataImportCompleted(dataImportedInfo));
|
|
65
59
|
this.getEventApi().emit('DataImported', dataImportedInfo);
|
|
66
60
|
}
|
|
67
61
|
}
|
|
@@ -6,13 +6,8 @@ export class DataSetInternalApi extends ApiBase {
|
|
|
6
6
|
*/
|
|
7
7
|
fireDataSetSelectedEvent(dataSet) {
|
|
8
8
|
if (this.adaptable.isReady) {
|
|
9
|
-
const dataSetSelectedInfo = {
|
|
10
|
-
|
|
11
|
-
dataSet,
|
|
12
|
-
userName: this.adaptable.api.optionsApi.getUserName(),
|
|
13
|
-
adaptableId: this.adaptable.api.optionsApi.getAdaptableId(),
|
|
14
|
-
};
|
|
15
|
-
this.adaptable.api.eventApi.emit('DataSetSelected', dataSetSelectedInfo);
|
|
9
|
+
const dataSetSelectedInfo = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { dataSet });
|
|
10
|
+
this.getAdaptableApi().eventApi.emit('DataSetSelected', dataSetSelectedInfo);
|
|
16
11
|
}
|
|
17
12
|
}
|
|
18
13
|
}
|
|
@@ -21,12 +21,12 @@ export class ExportInternalApi extends ApiBase {
|
|
|
21
21
|
break;
|
|
22
22
|
case 'ScopeColumns':
|
|
23
23
|
// use the Scope object which will tell us if the Column is relevant
|
|
24
|
-
if (!this.
|
|
24
|
+
if (!this.getAdaptableApi().scopeApi.isColumnInScopeColumns(cellDataChangedInfo.column, report.Scope)) {
|
|
25
25
|
return false;
|
|
26
26
|
}
|
|
27
27
|
break;
|
|
28
28
|
case 'SelectedColumns':
|
|
29
|
-
let selectedCellInfo = this.
|
|
29
|
+
let selectedCellInfo = this.getAdaptableApi().gridApi.getSelectedCellInfo();
|
|
30
30
|
if (selectedCellInfo) {
|
|
31
31
|
if (selectedCellInfo.columns.find((c) => c.columnId == cellDataChangedInfo.column.columnId) == null) {
|
|
32
32
|
return false;
|
|
@@ -47,7 +47,7 @@ export class ExportInternalApi extends ApiBase {
|
|
|
47
47
|
case 'ExpressionRows':
|
|
48
48
|
return true; // TODO this is the only difficult one - do we check AdapTableQL? if we can then that is good as we can then do a delta after all...
|
|
49
49
|
case 'SelectedCellRows':
|
|
50
|
-
let selectedCellInfo = this.
|
|
50
|
+
let selectedCellInfo = this.getAdaptableApi().gridApi.getSelectedCellInfo();
|
|
51
51
|
if (selectedCellInfo && selectedCellInfo.gridCells) {
|
|
52
52
|
if (selectedCellInfo.gridCells.find((gc) => gc.primaryKeyValue == cellDataChangedInfo.primaryKeyValue)) {
|
|
53
53
|
return true;
|
|
@@ -55,7 +55,7 @@ export class ExportInternalApi extends ApiBase {
|
|
|
55
55
|
}
|
|
56
56
|
return false;
|
|
57
57
|
case 'SelectedRows':
|
|
58
|
-
let selectedRowInfo = this.
|
|
58
|
+
let selectedRowInfo = this.getAdaptableApi().gridApi.getSelectedRowInfo();
|
|
59
59
|
if (selectedRowInfo && selectedRowInfo.gridRows) {
|
|
60
60
|
if (selectedRowInfo.gridRows.find((gr) => gr.primaryKeyValue == cellDataChangedInfo.primaryKeyValue)) {
|
|
61
61
|
return true;
|
|
@@ -15,12 +15,7 @@ export class ExpressionInternalApi extends ApiBase {
|
|
|
15
15
|
if (typeof evaluateExpressionExternallyFn !== 'function') {
|
|
16
16
|
return true;
|
|
17
17
|
}
|
|
18
|
-
const context = {
|
|
19
|
-
adaptableApi: this.getAdaptableApi(),
|
|
20
|
-
userName: this.getOptions().userName,
|
|
21
|
-
adaptableId: this.getOptions().adaptableId,
|
|
22
|
-
module,
|
|
23
|
-
};
|
|
18
|
+
const context = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { module });
|
|
24
19
|
if (object) {
|
|
25
20
|
context.object = object;
|
|
26
21
|
}
|
|
@@ -38,12 +33,7 @@ export class ExpressionInternalApi extends ApiBase {
|
|
|
38
33
|
if (typeof evaluateExpressionExternallyFn !== 'function') {
|
|
39
34
|
return true;
|
|
40
35
|
}
|
|
41
|
-
const context = {
|
|
42
|
-
adaptableApi: this.getAdaptableApi(),
|
|
43
|
-
userName: this.getAdaptableApi().optionsApi.getUserName(),
|
|
44
|
-
adaptableId: this.getAdaptableApi().optionsApi.getAdaptableId(),
|
|
45
|
-
module,
|
|
46
|
-
};
|
|
36
|
+
const context = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { module });
|
|
47
37
|
if (object) {
|
|
48
38
|
context.object = object;
|
|
49
39
|
}
|
|
@@ -265,16 +265,7 @@ export class Fdc3InternalApi extends ApiBase {
|
|
|
265
265
|
}
|
|
266
266
|
mapFdc3ButtonConfigToAdaptableButton(fdc3AdaptableButton, fdcInfo) {
|
|
267
267
|
const buildFdc3Context = (context) => {
|
|
268
|
-
return {
|
|
269
|
-
context: this.mapRowToContextData(fdcInfo.contextType, context.rowNode),
|
|
270
|
-
intent: fdcInfo.action === 'raiseIntent' ? fdcInfo.intent : null,
|
|
271
|
-
rowNode: context.rowNode,
|
|
272
|
-
rowData: context.data,
|
|
273
|
-
adaptableId: context.adaptableId,
|
|
274
|
-
primaryKeyValue: context.primaryKeyValue,
|
|
275
|
-
userName: context.userName,
|
|
276
|
-
adaptableApi: context.adaptableApi,
|
|
277
|
-
};
|
|
268
|
+
return Object.assign({ context: this.mapRowToContextData(fdcInfo.contextType, context.rowNode), intent: fdcInfo.action === 'raiseIntent' ? fdcInfo.intent : null, rowNode: context.rowNode, rowData: context.data, primaryKeyValue: context.primaryKeyValue }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
278
269
|
};
|
|
279
270
|
return {
|
|
280
271
|
onClick: (_button, context) => {
|
|
@@ -59,7 +59,7 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
59
59
|
return this.getFormatColumnsWithStyleForColumn(column, config).filter((formatColumn) => { var _a; return StringExtensions.IsNotNullOrEmpty((_a = formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.Style) === null || _a === void 0 ? void 0 : _a.ClassName); });
|
|
60
60
|
}
|
|
61
61
|
getFormatColumnWithColumnInScope(formatColumns, column) {
|
|
62
|
-
return this.getFormatColumnInColumnScope(formatColumns).filter((scopedFormatColumn) => this.
|
|
62
|
+
return this.getFormatColumnInColumnScope(formatColumns).filter((scopedFormatColumn) => this.getAdaptableApi().scopeApi.isColumnInScope(column, scopedFormatColumn.Scope));
|
|
63
63
|
}
|
|
64
64
|
// TODO is this really needed, I don't think it achieves anything
|
|
65
65
|
getFormatColumnInColumnScope(formatColumns) {
|
|
@@ -67,11 +67,11 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
67
67
|
return formatColumns.filter((fc) => {
|
|
68
68
|
return (
|
|
69
69
|
// this.getFormatColumnsWithColumnScope(formatColumns)
|
|
70
|
-
(this.
|
|
70
|
+
(this.getAdaptableApi().scopeApi.scopeHasColumns(fc.Scope) ||
|
|
71
71
|
// this.getFormatColumnsWithDataTypeScope(formatColumns)
|
|
72
|
-
this.
|
|
72
|
+
this.getAdaptableApi().scopeApi.scopeHasDataType(fc.Scope) ||
|
|
73
73
|
// this.getFormatColumnsWithAllScope(formatColumns)
|
|
74
|
-
this.
|
|
74
|
+
this.getAdaptableApi().scopeApi.scopeIsAll(fc.Scope) || this.getAdaptableApi().scopeApi.scopeHasColumnType(fc.Scope))
|
|
75
75
|
);
|
|
76
76
|
});
|
|
77
77
|
}
|
|
@@ -144,7 +144,7 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
144
144
|
getFormatColumnDefsForScope(scope) {
|
|
145
145
|
return this.getAdaptableApi()
|
|
146
146
|
.predicateApi.internalApi.getFormatColumnPredicateDefs(scope)
|
|
147
|
-
.filter((predicateDef) => this.
|
|
147
|
+
.filter((predicateDef) => this.getAdaptableApi().scopeApi.isScopeInScope(scope, predicateDef.columnScope));
|
|
148
148
|
}
|
|
149
149
|
/**
|
|
150
150
|
* Checks if format column is relevant for a given cell (intersection of given AdaptableColumn and RowNode)
|
|
@@ -160,7 +160,7 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
160
160
|
return false;
|
|
161
161
|
}
|
|
162
162
|
if (!formatColumn.IncludeGroupedRows &&
|
|
163
|
-
this.
|
|
163
|
+
this.getAdaptableApi().gridApi.isGroupRowNode(params.node)) {
|
|
164
164
|
return false;
|
|
165
165
|
}
|
|
166
166
|
if (!formatColumn.Rule) {
|
|
@@ -168,16 +168,7 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
168
168
|
}
|
|
169
169
|
// first run the predicate
|
|
170
170
|
if (formatColumn.Rule.Predicates && ((_b = (_a = formatColumn.Rule) === null || _a === void 0 ? void 0 : _a.Predicates) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
171
|
-
const predicateDefHandlerContext = {
|
|
172
|
-
value: params.value,
|
|
173
|
-
oldValue: null,
|
|
174
|
-
displayValue: params.value,
|
|
175
|
-
node: params.node,
|
|
176
|
-
column: column,
|
|
177
|
-
adaptableApi: this.getAdaptableApi(),
|
|
178
|
-
userName: this.getAdaptableApi().optionsApi.getUserName(),
|
|
179
|
-
adaptableId: this.getAdaptableApi().optionsApi.getAdaptableId(),
|
|
180
|
-
};
|
|
171
|
+
const predicateDefHandlerContext = Object.assign({ value: params.value, oldValue: null, displayValue: params.value, node: params.node, column: column }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
181
172
|
return this.evaluatePredicate(formatColumn, predicateDefHandlerContext);
|
|
182
173
|
}
|
|
183
174
|
else if (formatColumn.Rule.BooleanExpression) {
|
|
@@ -188,12 +179,12 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
188
179
|
}
|
|
189
180
|
evaluatePredicate(formatColumn, predicateDefHandlerContext) {
|
|
190
181
|
var _a;
|
|
191
|
-
return this.
|
|
182
|
+
return this.getAdaptableApi().predicateApi.handleColumnPredicates((_a = formatColumn.Rule) === null || _a === void 0 ? void 0 : _a.Predicates, predicateDefHandlerContext, false);
|
|
192
183
|
}
|
|
193
184
|
evaluateExpression(formatColumn, node) {
|
|
194
|
-
const isValidExpression = this.
|
|
185
|
+
const isValidExpression = this.getAdaptableApi().expressionApi.isValidBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, `Invalid format column rule '${formatColumn.Rule.BooleanExpression}'`);
|
|
195
186
|
return (isValidExpression &&
|
|
196
|
-
this.
|
|
187
|
+
this.getAdaptableApi().internalApi
|
|
197
188
|
.getQueryLanguageService()
|
|
198
189
|
.evaluateBooleanExpression(formatColumn.Rule.BooleanExpression, ModuleConstants.FormatColumnModuleId, node));
|
|
199
190
|
}
|
|
@@ -244,7 +235,7 @@ export class FormatColumnInternalApi extends ApiBase {
|
|
|
244
235
|
});
|
|
245
236
|
const columnsThatNeedRefresh = new Set();
|
|
246
237
|
this.getFormatColumnsDependentOnColumns(impactedColumnIds).forEach((formatColumn) => {
|
|
247
|
-
this.
|
|
238
|
+
this.getAdaptableApi().scopeApi.getColumnsForScope(formatColumn.Scope).forEach((col) => {
|
|
248
239
|
columnsThatNeedRefresh.add(col.columnId);
|
|
249
240
|
});
|
|
250
241
|
});
|
|
@@ -20,7 +20,7 @@ export class FreeTextColumnInternalApi extends ApiBase {
|
|
|
20
20
|
};
|
|
21
21
|
this.getFreeTextColumnApi().setStoredValue(freeTextColumn.ColumnId, freeTextStoredValue);
|
|
22
22
|
var colsToRefresh = [cellDataChangedInfo.column.columnId];
|
|
23
|
-
const refencedCalcColumns = this.
|
|
23
|
+
const refencedCalcColumns = this.getAdaptableApi().calculatedColumnApi.internalApi.getCalculatedColumnsReferencingColumnId(cellDataChangedInfo.column.columnId);
|
|
24
24
|
refencedCalcColumns.forEach((calculatedColumn) => {
|
|
25
25
|
colsToRefresh.push(calculatedColumn.ColumnId);
|
|
26
26
|
});
|
|
@@ -4,15 +4,9 @@ export class GridFilterInternalApi extends ApiBase {
|
|
|
4
4
|
if (this.adaptable.isReady) {
|
|
5
5
|
const currentGridFilter = this.getGridFilterApi().getCurrentGridFilter();
|
|
6
6
|
const adaptableApi = this.getAdaptableApi();
|
|
7
|
-
const gridFilterAppliedInfo = {
|
|
8
|
-
gridFilter: currentGridFilter,
|
|
9
|
-
gridFilterExpressionAST: currentGridFilter
|
|
7
|
+
const gridFilterAppliedInfo = Object.assign({ gridFilter: currentGridFilter, gridFilterExpressionAST: currentGridFilter
|
|
10
8
|
? adaptableApi.expressionApi.getASTForExpression(currentGridFilter === null || currentGridFilter === void 0 ? void 0 : currentGridFilter.Expression)
|
|
11
|
-
: null,
|
|
12
|
-
adaptableApi: adaptableApi,
|
|
13
|
-
userName: adaptableApi.optionsApi.getUserName(),
|
|
14
|
-
adaptableId: adaptableApi.optionsApi.getAdaptableId(),
|
|
15
|
-
};
|
|
9
|
+
: null }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
16
10
|
adaptableApi.eventApi.emit('GridFilterApplied', gridFilterAppliedInfo);
|
|
17
11
|
}
|
|
18
12
|
}
|
|
@@ -12,14 +12,9 @@ export class GridInternalApi extends ApiBase {
|
|
|
12
12
|
*/
|
|
13
13
|
fireGridSortedEvent() {
|
|
14
14
|
if (this.adaptable.isReady) {
|
|
15
|
-
const adaptableSortState = this.
|
|
15
|
+
const adaptableSortState = this.getAdaptableApi().configApi.getAdaptableSortState();
|
|
16
16
|
const adaptableApi = this.getAdaptableApi();
|
|
17
|
-
const gridSortedInfo = {
|
|
18
|
-
adaptableSortState: adaptableSortState,
|
|
19
|
-
adaptableApi: adaptableApi,
|
|
20
|
-
userName: adaptableApi.optionsApi.getUserName(),
|
|
21
|
-
adaptableId: adaptableApi.optionsApi.getAdaptableId(),
|
|
22
|
-
};
|
|
17
|
+
const gridSortedInfo = Object.assign({ adaptableSortState: adaptableSortState }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
23
18
|
adaptableApi.eventApi.emit('GridSorted', gridSortedInfo);
|
|
24
19
|
}
|
|
25
20
|
}
|
|
@@ -28,13 +23,8 @@ export class GridInternalApi extends ApiBase {
|
|
|
28
23
|
*/
|
|
29
24
|
fireCellChangedEvent(cellDataChangedInfo) {
|
|
30
25
|
if (this.adaptable.isReady) {
|
|
31
|
-
const cellChangedInfo = {
|
|
32
|
-
|
|
33
|
-
cellChange: cellDataChangedInfo,
|
|
34
|
-
userName: this.adaptable.api.optionsApi.getUserName(),
|
|
35
|
-
adaptableId: this.adaptable.api.optionsApi.getAdaptableId(),
|
|
36
|
-
};
|
|
37
|
-
this.adaptable.api.eventApi.emit('CellChanged', cellChangedInfo);
|
|
26
|
+
const cellChangedInfo = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { cellChange: cellDataChangedInfo });
|
|
27
|
+
this.getAdaptableApi().eventApi.emit('CellChanged', cellChangedInfo);
|
|
38
28
|
}
|
|
39
29
|
}
|
|
40
30
|
/**
|
|
@@ -42,16 +32,10 @@ export class GridInternalApi extends ApiBase {
|
|
|
42
32
|
*/
|
|
43
33
|
fireGridDataChangedEvent(dataRows, rowNodes, rowTrigger) {
|
|
44
34
|
if (this.adaptable.isReady) {
|
|
45
|
-
const gridDataChangedInfo = {
|
|
46
|
-
changedAt: Date.now(),
|
|
47
|
-
adaptableApi: this.adaptable.api,
|
|
48
|
-
rowTrigger,
|
|
35
|
+
const gridDataChangedInfo = Object.assign({ changedAt: Date.now(), rowTrigger,
|
|
49
36
|
dataRows,
|
|
50
|
-
rowNodes,
|
|
51
|
-
|
|
52
|
-
adaptableId: this.adaptable.api.optionsApi.getAdaptableId(),
|
|
53
|
-
};
|
|
54
|
-
this.adaptable.api.eventApi.emit('GridDataChanged', gridDataChangedInfo);
|
|
37
|
+
rowNodes }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
38
|
+
this.getAdaptableApi().eventApi.emit('GridDataChanged', gridDataChangedInfo);
|
|
55
39
|
this.adaptable.DataService.CreateGridChangedEvent(gridDataChangedInfo);
|
|
56
40
|
}
|
|
57
41
|
}
|
|
@@ -96,12 +80,7 @@ export class GridInternalApi extends ApiBase {
|
|
|
96
80
|
let shouldShowValuesCount = false;
|
|
97
81
|
const showValuesCountFunction = this.getColumnFilterOptions().valuesFilterOptions.showValuesCount;
|
|
98
82
|
if (showValuesCountFunction) {
|
|
99
|
-
const columnFilterContext = {
|
|
100
|
-
column: abColumn,
|
|
101
|
-
adaptableApi: this.adaptable.api,
|
|
102
|
-
userName: this.adaptable.api.optionsApi.getUserName(),
|
|
103
|
-
adaptableId: this.adaptable.api.optionsApi.getAdaptableId(),
|
|
104
|
-
};
|
|
83
|
+
const columnFilterContext = Object.assign({ column: abColumn }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
105
84
|
shouldShowValuesCount = showValuesCountFunction(columnFilterContext);
|
|
106
85
|
}
|
|
107
86
|
if (shouldShowValuesCount) {
|
|
@@ -139,7 +118,7 @@ export class GridInternalApi extends ApiBase {
|
|
|
139
118
|
};
|
|
140
119
|
let preparedPermittedValues = undefined;
|
|
141
120
|
try {
|
|
142
|
-
const filterPermittedValuesParams = Object.assign(Object.assign({}, createBaseContext(this.
|
|
121
|
+
const filterPermittedValuesParams = Object.assign(Object.assign({}, createBaseContext(this.getAdaptableApi())), { column: column, searchFilter: filter });
|
|
143
122
|
preparedPermittedValues = await (filterPermittedValues === null || filterPermittedValues === void 0 ? void 0 : filterPermittedValues.values(filterPermittedValuesParams));
|
|
144
123
|
}
|
|
145
124
|
catch (error) {
|
|
@@ -172,7 +151,7 @@ export class GridInternalApi extends ApiBase {
|
|
|
172
151
|
const customSortPermittedValues = await this.getUserInterfaceApi().getCustomSortPermittedValuesForColumn(column);
|
|
173
152
|
let preparedPermittedValues = undefined;
|
|
174
153
|
try {
|
|
175
|
-
const permittedValuesParams = Object.assign(Object.assign({}, createBaseContext(this.
|
|
154
|
+
const permittedValuesParams = Object.assign(Object.assign({}, createBaseContext(this.getAdaptableApi())), { column: column });
|
|
176
155
|
preparedPermittedValues = await (customSortPermittedValues === null || customSortPermittedValues === void 0 ? void 0 : customSortPermittedValues.values(permittedValuesParams));
|
|
177
156
|
}
|
|
178
157
|
catch (error) {
|
|
@@ -203,7 +182,7 @@ export class GridInternalApi extends ApiBase {
|
|
|
203
182
|
const bulkUpdatePermittedValues = await this.getUserInterfaceApi().getBulkUpdatePermittedValuesForColumn(column);
|
|
204
183
|
let preparedPermittedValues = undefined;
|
|
205
184
|
try {
|
|
206
|
-
const bulkUpdatePermittedValuesParams = Object.assign(Object.assign({}, createBaseContext(this.
|
|
185
|
+
const bulkUpdatePermittedValuesParams = Object.assign(Object.assign({}, createBaseContext(this.getAdaptableApi())), { column: column, gridCells: selectedGridCells });
|
|
207
186
|
preparedPermittedValues = await (bulkUpdatePermittedValues === null || bulkUpdatePermittedValues === void 0 ? void 0 : bulkUpdatePermittedValues.values(bulkUpdatePermittedValuesParams));
|
|
208
187
|
}
|
|
209
188
|
catch (error) {
|
|
@@ -280,7 +259,7 @@ export class GridInternalApi extends ApiBase {
|
|
|
280
259
|
// this does NOT into account Custom Sort - far too hard for now...
|
|
281
260
|
let sortOrder = SortOrder.Asc;
|
|
282
261
|
if (this.getColumnFilterOptions().valuesFilterOptions.sortValuesFilter) {
|
|
283
|
-
let columnSort = this.
|
|
262
|
+
let columnSort = this.getAdaptableApi().gridApi.getColumnSortForColumn(column.columnId);
|
|
284
263
|
if (columnSort && columnSort.SortOrder == 'Desc') {
|
|
285
264
|
sortOrder = SortOrder.Desc;
|
|
286
265
|
}
|
|
@@ -315,13 +294,7 @@ export class GridInternalApi extends ApiBase {
|
|
|
315
294
|
let editLookUpValues = editLookUpItem.values;
|
|
316
295
|
// first do the function then get hardcoded items
|
|
317
296
|
if (editLookUpValues != null && typeof editLookUpValues === 'function') {
|
|
318
|
-
const editLookUpContext = {
|
|
319
|
-
adaptableApi: this.adaptable.api,
|
|
320
|
-
userName: this.getOptions().userName,
|
|
321
|
-
adaptableId: this.getOptions().adaptableId,
|
|
322
|
-
column: column,
|
|
323
|
-
gridCell,
|
|
324
|
-
};
|
|
297
|
+
const editLookUpContext = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { column: column, gridCell });
|
|
325
298
|
return editLookUpValues(editLookUpContext);
|
|
326
299
|
}
|
|
327
300
|
else {
|
|
@@ -13,19 +13,11 @@ export class LayoutInternalApi extends ApiBase {
|
|
|
13
13
|
* @param newState Layout State after change
|
|
14
14
|
*/
|
|
15
15
|
fireLayoutChangedEvent(trigger, oldSate, newState, skipEqualityCheck) {
|
|
16
|
-
const
|
|
17
|
-
const layoutChangedInfo = {
|
|
18
|
-
adaptableApi: adaptableApi,
|
|
19
|
-
actionName: trigger,
|
|
20
|
-
oldLayoutState: oldSate,
|
|
21
|
-
newLayoutState: newState,
|
|
22
|
-
userName: adaptableApi.optionsApi.getUserName(),
|
|
23
|
-
adaptableId: adaptableApi.optionsApi.getAdaptableId(),
|
|
24
|
-
};
|
|
16
|
+
const layoutChangedInfo = Object.assign({ actionName: trigger, oldLayoutState: oldSate, newLayoutState: newState }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
25
17
|
if (!skipEqualityCheck && isEqual(oldSate, newState)) {
|
|
26
18
|
return;
|
|
27
19
|
}
|
|
28
|
-
this.
|
|
20
|
+
this.getAdaptableApi().eventApi.emit('LayoutChanged', layoutChangedInfo);
|
|
29
21
|
}
|
|
30
22
|
/**
|
|
31
23
|
* Compares 2 Layouts for equality
|
|
@@ -66,7 +58,7 @@ export class LayoutInternalApi extends ApiBase {
|
|
|
66
58
|
if (!layoutState.Layouts || !isLayoutDefined(DEFAULT_LAYOUT)) {
|
|
67
59
|
// augogroup columns are not in columns list
|
|
68
60
|
// the code that adds column ok grid state explicitly ignores autoColumns
|
|
69
|
-
const allGridColumns = this.
|
|
61
|
+
const allGridColumns = this.getAdaptableApi().gridApi.getAllGridColumns();
|
|
70
62
|
let defaultLayout = ObjectFactory.CreateEmptyLayout({
|
|
71
63
|
Name: DEFAULT_LAYOUT,
|
|
72
64
|
Columns: defaultLayoutColumns.map((c) => c.columnId),
|
|
@@ -110,6 +102,7 @@ export class LayoutInternalApi extends ApiBase {
|
|
|
110
102
|
* This takes into account the data-source.
|
|
111
103
|
*/
|
|
112
104
|
getLayoutSupportedFeatures() {
|
|
105
|
+
var _a, _b;
|
|
113
106
|
const layoutSupportedFeatures = {
|
|
114
107
|
RowGroupedColumns: true,
|
|
115
108
|
AggregationColumns: true,
|
|
@@ -117,6 +110,7 @@ export class LayoutInternalApi extends ApiBase {
|
|
|
117
110
|
ColumnFilters: true,
|
|
118
111
|
ColumnSorts: true,
|
|
119
112
|
GridFilter: true,
|
|
113
|
+
RowSummaries: true,
|
|
120
114
|
};
|
|
121
115
|
if (this.getGridApi().getAgGridRowModelType() === 'viewport') {
|
|
122
116
|
layoutSupportedFeatures.RowGroupedColumns = false;
|
|
@@ -130,6 +124,9 @@ export class LayoutInternalApi extends ApiBase {
|
|
|
130
124
|
if (this.getEntitlementApi().getEntitlementAccessLevelForModule(GridFilterModuleId) == 'Hidden') {
|
|
131
125
|
layoutSupportedFeatures.GridFilter = false;
|
|
132
126
|
}
|
|
127
|
+
if (((_b = (_a = this.adaptable) === null || _a === void 0 ? void 0 : _a.getAgGridRowModelType) === null || _b === void 0 ? void 0 : _b.call(_a)) !== 'clientSide') {
|
|
128
|
+
layoutSupportedFeatures.RowSummaries = false;
|
|
129
|
+
}
|
|
133
130
|
return layoutSupportedFeatures;
|
|
134
131
|
}
|
|
135
132
|
updateCurrentDraftLayout(layout) {
|
|
@@ -155,14 +152,8 @@ export class LayoutInternalApi extends ApiBase {
|
|
|
155
152
|
if ((layoutTagOptions === null || layoutTagOptions === void 0 ? void 0 : layoutTagOptions.autoCheckTagsForLayouts) == true) {
|
|
156
153
|
return ArrayExtensions.IsNullOrEmpty(object.Tags) ? true : (_a = object.Tags) === null || _a === void 0 ? void 0 : _a.includes(layout.Name);
|
|
157
154
|
}
|
|
158
|
-
const context = {
|
|
159
|
-
|
|
160
|
-
module,
|
|
161
|
-
layout,
|
|
162
|
-
adaptableApi: this.getAdaptableApi(),
|
|
163
|
-
userName: this.getOptions().userName,
|
|
164
|
-
adaptableId: this.getOptions().adaptableId,
|
|
165
|
-
};
|
|
155
|
+
const context = Object.assign({ adaptableObject: object, module,
|
|
156
|
+
layout }, this.getAdaptableApi().internalApi.buildBaseContext());
|
|
166
157
|
return layoutTagOptions === null || layoutTagOptions === void 0 ? void 0 : layoutTagOptions.isObjectAvailableInLayout(context);
|
|
167
158
|
}
|
|
168
159
|
showLayoutNotAssociatedObjects() {
|