@adaptabletools/adaptable 10.0.0 → 10.0.4-canary.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/base.css +77 -29
- package/index.css +89 -31
- package/package.json +1 -5
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +12 -2
- package/src/AdaptableOptions/FilterOptions.d.ts +14 -7
- package/src/AdaptableOptions/LayoutOptions.d.ts +1 -1
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +88 -4
- package/src/Api/AlertApi.d.ts +1 -1
- package/src/Api/CalculatedColumnApi.d.ts +15 -0
- package/src/Api/ColumnApi.d.ts +39 -0
- package/src/Api/ConfigApi.d.ts +8 -0
- package/src/Api/GridApi.d.ts +34 -8
- package/src/Api/Implementation/AlertApiImpl.d.ts +1 -1
- package/src/Api/Implementation/AlertApiImpl.js +16 -9
- package/src/Api/Implementation/CalculatedColumnApiImpl.d.ts +3 -0
- package/src/Api/Implementation/CalculatedColumnApiImpl.js +23 -0
- package/src/Api/Implementation/ColumnApiImpl.d.ts +8 -0
- package/src/Api/Implementation/ColumnApiImpl.js +69 -36
- package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
- package/src/Api/Implementation/ConfigApiImpl.js +28 -17
- package/src/Api/Implementation/ExportApiImpl.js +4 -4
- package/src/Api/Implementation/FormatColumnApiImpl.js +1 -1
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +9 -3
- package/src/Api/Implementation/GridApiImpl.d.ts +9 -0
- package/src/Api/Implementation/GridApiImpl.js +25 -10
- package/src/Api/Implementation/InternalApiImpl.d.ts +3 -1
- package/src/Api/Implementation/InternalApiImpl.js +20 -4
- package/src/Api/Implementation/LayoutApiImpl.js +3 -3
- package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +2 -0
- package/src/Api/Implementation/QueryLanguageApiImpl.js +3 -0
- package/src/Api/Implementation/ScopeApiImpl.js +11 -11
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +12 -8
- package/src/Api/Implementation/UserInterfaceApiImpl.js +59 -86
- package/src/Api/InternalApi.d.ts +3 -1
- package/src/Api/QueryLanguageApi.d.ts +5 -0
- package/src/Api/UserInterfaceApi.d.ts +16 -6
- package/src/PredefinedConfig/AlertState.d.ts +10 -0
- package/src/PredefinedConfig/CalculatedColumnState.d.ts +4 -37
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +33 -33
- package/src/PredefinedConfig/Common/AdaptableColumn.js +5 -5
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +19 -18
- package/src/PredefinedConfig/Common/DataChangedInfo.d.ts +3 -2
- package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +5 -1
- package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +49 -0
- package/src/{Utilities/Interface/ProgressIndicator.js → PredefinedConfig/Common/SpecialColumnSettings.js} +0 -0
- package/src/PredefinedConfig/FilterState.d.ts +1 -1
- package/src/PredefinedConfig/FreeTextColumnState.d.ts +10 -0
- package/src/PredefinedConfig/Selection/GridCell.d.ts +2 -1
- package/src/PredefinedConfig/Selection/GridRow.d.ts +12 -4
- package/src/PredefinedConfig/SystemState.d.ts +4 -1
- package/src/Redux/ActionsReducers/SystemRedux.js +1 -1
- package/src/Redux/Store/AdaptableReduxMerger.js +7 -1
- package/src/Redux/Store/AdaptableStore.js +7 -3
- package/src/Strategy/AdaptableModuleBase.js +8 -8
- package/src/Strategy/AlertModule.js +12 -11
- package/src/Strategy/BulkUpdateModule.js +5 -5
- package/src/Strategy/CalculatedColumnModule.js +1 -1
- package/src/Strategy/CellSummaryModule.js +3 -3
- package/src/Strategy/ConditionalStyleModule.js +3 -3
- package/src/Strategy/CustomSortModule.js +2 -2
- package/src/Strategy/ExportModule.d.ts +0 -2
- package/src/Strategy/ExportModule.js +59 -62
- package/src/Strategy/FilterModule.js +4 -4
- package/src/Strategy/FormatColumnModule.js +5 -5
- package/src/Strategy/FreeTextColumnModule.js +1 -1
- package/src/Strategy/LayoutModule.js +3 -3
- package/src/Strategy/PlusMinusModule.js +8 -9
- package/src/Strategy/SmartEditModule.js +6 -6
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -0
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +1 -1
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +2 -2
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -2
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +1 -1
- package/src/Utilities/Helpers/DateHelper.d.ts +8 -2
- package/src/Utilities/Helpers/DateHelper.js +42 -20
- package/src/Utilities/Helpers/PreviewHelper.js +2 -2
- package/src/Utilities/ObjectFactory.d.ts +1 -1
- package/src/Utilities/ObjectFactory.js +14 -2
- package/src/Utilities/Services/DataService.js +5 -5
- package/src/Utilities/Services/MetamodelService.js +1 -0
- package/src/Utilities/Services/ModuleService.js +31 -24
- package/src/Utilities/Services/ReportService.js +12 -12
- package/src/Utilities/Services/ValidationService.js +4 -5
- package/src/Utilities/runIfNotResolvedIn.d.ts +8 -0
- package/src/Utilities/runIfNotResolvedIn.js +23 -0
- package/src/View/AdaptableView.js +1 -1
- package/src/View/Alert/AlertPopup.js +1 -1
- package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +19 -5
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
- package/src/View/BulkUpdate/BulkUpdatePopup.d.ts +2 -0
- package/src/View/BulkUpdate/BulkUpdatePopup.js +6 -4
- package/src/View/BulkUpdate/BulkUpdateViewPanel.d.ts +2 -0
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +3 -1
- package/src/View/CalculatedColumn/CalculatedColumnPopup.js +1 -1
- package/src/View/CalculatedColumn/CalculatedColumnSummary.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
- package/src/View/Components/ColumnSelector/index.js +2 -2
- package/src/View/Components/FilterForm/FilterForm.d.ts +3 -51
- package/src/View/Components/FilterForm/FilterForm.js +53 -32
- package/src/View/Components/FilterForm/ListBoxFilterForm.d.ts +3 -0
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +14 -5
- package/src/View/Components/FilterForm/QuickFilterForm.d.ts +3 -43
- package/src/View/Components/FilterForm/QuickFilterForm.js +72 -31
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +3 -0
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +8 -0
- package/src/View/Components/NewScopeComponent.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup.d.ts +1 -1
- package/src/View/Components/PreviewResultsPanel.js +1 -1
- package/src/View/Components/RangesComponent.js +2 -2
- package/src/View/Components/Selectors/ColumnSelector.js +5 -5
- package/src/View/Components/Selectors/ColumnValueSelector.d.ts +10 -2
- package/src/View/Components/Selectors/ColumnValueSelector.js +47 -15
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +6 -6
- package/src/View/ConditionalStyle/ConditionalStylePopup.js +1 -1
- package/src/View/ConditionalStyle/ConditionalStyleSummary.js +1 -1
- package/src/View/CustomSort/CustomSortEntityRow.js +2 -2
- package/src/View/CustomSort/CustomSortPopup.js +1 -1
- package/src/View/CustomSort/CustomSortSummary.js +3 -3
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +3 -3
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +24 -6
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +3 -3
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +4 -1
- package/src/View/Filter/FilterSummary.js +2 -2
- package/src/View/FormatColumn/FormatColumnPopup.js +1 -1
- package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
- package/src/View/FreeTextColumn/FreeTextColumnPopup.js +4 -2
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +5 -3
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -1
- package/src/View/GridInfo/ColumnInfoComponent.js +16 -16
- package/src/View/GridInfo/GridInfoPopup.js +4 -1
- package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +6 -6
- package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +1 -1
- package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +1 -1
- package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +1 -1
- package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +2 -2
- package/src/View/Layout/Wizard/LayoutEditor/index.js +41 -41
- package/src/View/PlusMinus/PlusMinusPopup.js +1 -1
- package/src/View/PlusMinus/PlusMinusSummary.js +1 -1
- package/src/View/Query/QueryViewPanel.js +3 -3
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.d.ts +1 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +6 -8
- package/src/View/UIHelper.d.ts +2 -0
- package/src/View/UIHelper.js +10 -1
- package/src/agGrid/ActionColumnRenderer.d.ts +2 -1
- package/src/agGrid/ActionColumnRenderer.js +20 -3
- package/src/agGrid/Adaptable.d.ts +20 -4
- package/src/agGrid/Adaptable.js +234 -102
- package/src/agGrid/agGridHelper.js +32 -32
- package/src/agGrid/agGridMenuHelper.js +2 -2
- package/src/components/Dashboard/Dashboard.js +1 -1
- package/src/components/DropdownButton/index.js +1 -1
- package/src/components/ExpressionEditor/index.js +8 -7
- package/src/components/Loader/Loader.d.ts +7 -0
- package/src/components/Loader/Loader.js +13 -0
- package/src/components/Loader/index.d.ts +2 -0
- package/src/components/Loader/index.js +7 -0
- package/src/components/ProgressIndicator/ProgressIndicator.d.ts +2 -0
- package/src/components/ProgressIndicator/ProgressIndicator.js +54 -0
- package/src/metamodel/adaptable.metamodel.d.ts +125 -7
- package/src/metamodel/adaptable.metamodel.js +416 -101
- package/src/types.d.ts +4 -3
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/Utilities/Interface/ProgressIndicator.d.ts +0 -4
- package/src/View/Export/ProgressIndicator.d.ts +0 -6
- package/src/View/Export/ProgressIndicator.js +0 -25
|
@@ -103,7 +103,6 @@ class ExportApiImpl extends ApiBase_1.ApiBase {
|
|
|
103
103
|
if (report.ReportRowScope == 'CustomRows' || report.ReportColumnScope == 'CustomColumns') {
|
|
104
104
|
return false;
|
|
105
105
|
}
|
|
106
|
-
let abColumn = this.adaptable.api.columnApi.getColumnFromId(dataChangedInfo.columnId);
|
|
107
106
|
// Start with the DataChanged Column and go through all possibilities
|
|
108
107
|
switch (report.ReportColumnScope) {
|
|
109
108
|
case 'AllColumns':
|
|
@@ -111,21 +110,22 @@ class ExportApiImpl extends ApiBase_1.ApiBase {
|
|
|
111
110
|
break;
|
|
112
111
|
case 'ScopeColumns':
|
|
113
112
|
// use the Scope object which will tell us if the Column is relevant
|
|
114
|
-
if (!this.adaptable.api.scopeApi.isColumnInScopeColumns(
|
|
113
|
+
if (!this.adaptable.api.scopeApi.isColumnInScopeColumns(dataChangedInfo.column, report.Scope)) {
|
|
115
114
|
return false;
|
|
116
115
|
}
|
|
117
116
|
break;
|
|
118
117
|
case 'SelectedColumns':
|
|
119
118
|
let selectedCellInfo = this.adaptable.api.gridApi.getSelectedCellInfo();
|
|
120
119
|
if (selectedCellInfo) {
|
|
121
|
-
if (selectedCellInfo.columns.find((c) => c.
|
|
120
|
+
if (selectedCellInfo.columns.find((c) => c.columnId == dataChangedInfo.column.columnId) ==
|
|
121
|
+
null) {
|
|
122
122
|
return false;
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
break;
|
|
126
126
|
case 'VisibleColumns':
|
|
127
127
|
// hope that visibile column property is updated whenever the layout changes... (need to check!)
|
|
128
|
-
if (!
|
|
128
|
+
if (!dataChangedInfo.column.visible) {
|
|
129
129
|
return false;
|
|
130
130
|
}
|
|
131
131
|
break;
|
|
@@ -243,7 +243,7 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
|
|
|
243
243
|
}
|
|
244
244
|
getCheckBoxStyleFormatColumn(column) {
|
|
245
245
|
var _a;
|
|
246
|
-
if (column.
|
|
246
|
+
if (column.dataType != 'Boolean') {
|
|
247
247
|
return undefined;
|
|
248
248
|
}
|
|
249
249
|
const checkBoxFormatColumns = (_a = this.getFormatColumnState().FormatColumns) === null || _a === void 0 ? void 0 : _a.filter((fc) => { var _a; return (_a = fc.ColumnStyle) === null || _a === void 0 ? void 0 : _a.CheckBoxStyle; });
|
|
@@ -68,7 +68,8 @@ class FreeTextColumnApiImpl extends ApiBase_1.ApiBase {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
createFreeTextColumn({ columnName, columnId, defaultValue = null, }) {
|
|
71
|
-
let freeTextColumn = ObjectFactory_1.ObjectFactory.CreateEmptyFreeTextColumn()
|
|
71
|
+
let freeTextColumn = ObjectFactory_1.ObjectFactory.CreateEmptyFreeTextColumn(this.adaptable.api.internalApi.getAdaptableOptions().filterOptions
|
|
72
|
+
.enableFilterOnSpecialColumns);
|
|
72
73
|
freeTextColumn.ColumnId = columnId;
|
|
73
74
|
freeTextColumn.FriendlyName = columnName || columnId;
|
|
74
75
|
freeTextColumn.DefaultValue = defaultValue;
|
|
@@ -103,14 +104,19 @@ class FreeTextColumnApiImpl extends ApiBase_1.ApiBase {
|
|
|
103
104
|
}
|
|
104
105
|
}
|
|
105
106
|
checkFreeTextColumnForDataChange(dataChangedInfo) {
|
|
106
|
-
let freeTextColumn = this.getAllFreeTextColumn().find((fc) => fc.ColumnId == dataChangedInfo.columnId);
|
|
107
|
+
let freeTextColumn = this.getAllFreeTextColumn().find((fc) => fc.ColumnId == dataChangedInfo.column.columnId);
|
|
107
108
|
if (freeTextColumn) {
|
|
108
109
|
let freeTextStoredValue = {
|
|
109
110
|
PrimaryKey: dataChangedInfo.primaryKeyValue,
|
|
110
111
|
FreeText: dataChangedInfo.newValue,
|
|
111
112
|
};
|
|
112
113
|
this.addEditFreeTextColumnStoredValue(freeTextColumn, freeTextStoredValue);
|
|
113
|
-
|
|
114
|
+
var colsToRefresh = [dataChangedInfo.column.columnId];
|
|
115
|
+
const refencedCalcColumns = this.adaptable.api.calculatedColumnApi.getCalculatedColumnsReferencingColumnId(dataChangedInfo.column.columnId);
|
|
116
|
+
refencedCalcColumns.forEach((calculatedColumn) => {
|
|
117
|
+
colsToRefresh.push(calculatedColumn.ColumnId);
|
|
118
|
+
});
|
|
119
|
+
this.adaptable.refreshCells([dataChangedInfo.rowNode], colsToRefresh, false);
|
|
114
120
|
}
|
|
115
121
|
}
|
|
116
122
|
getFreeTextColumnModuleReferences(freeTextColumn) {
|
|
@@ -13,12 +13,19 @@ import { GridCellRange } from '../../PredefinedConfig/Selection/GridCellRange';
|
|
|
13
13
|
export declare class GridApiImpl extends ApiBase implements GridApi {
|
|
14
14
|
getGridState(): GridState;
|
|
15
15
|
setGridData(dataSource: any): void;
|
|
16
|
+
getGridData(): any[];
|
|
17
|
+
getFilteredData(): any[];
|
|
16
18
|
loadGridData(dataSource: any): void;
|
|
17
19
|
updateGridData(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): void;
|
|
18
20
|
addGridData(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): void;
|
|
19
21
|
undoCellEdit(dataChangedInfo: DataChangedInfo): boolean;
|
|
20
22
|
deleteGridData(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): void;
|
|
21
23
|
setCellValue(columnId: string, newValue: any, primaryKeyValue: any): void;
|
|
24
|
+
setCellsValue(gridCells: {
|
|
25
|
+
columnId: any;
|
|
26
|
+
newValue: any;
|
|
27
|
+
primaryKeyValue: any;
|
|
28
|
+
}[]): void;
|
|
22
29
|
getSelectedCellInfo(): SelectedCellInfo;
|
|
23
30
|
getSelectedRowInfo(): SelectedRowInfo;
|
|
24
31
|
getCellDisplayValue(primaryKeyValue: any, columnId: string): any | undefined;
|
|
@@ -76,6 +83,7 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
|
|
|
76
83
|
unhighlightCell(cellHighlightInfo: CellHighlightInfo): void;
|
|
77
84
|
unhighlightAllCells(): void;
|
|
78
85
|
refreshCells(rowNodes: RowNode[], columnIds: string[]): void;
|
|
86
|
+
refreshRow(primaryKey: string): void;
|
|
79
87
|
areCellsEditable(gridCells: GridCell[]): boolean;
|
|
80
88
|
getRowCount(): number;
|
|
81
89
|
getVisibleRowCount(): number;
|
|
@@ -85,4 +93,5 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
|
|
|
85
93
|
selectAll(): void;
|
|
86
94
|
deselectAll(): void;
|
|
87
95
|
destroy(): void;
|
|
96
|
+
getGridContainerElement(): HTMLElement | null;
|
|
88
97
|
}
|
|
@@ -12,6 +12,12 @@ class GridApiImpl extends ApiBase_1.ApiBase {
|
|
|
12
12
|
setGridData(dataSource) {
|
|
13
13
|
this.adaptable.setDataSource(dataSource);
|
|
14
14
|
}
|
|
15
|
+
getGridData() {
|
|
16
|
+
return this.adaptable.getGridData();
|
|
17
|
+
}
|
|
18
|
+
getFilteredData() {
|
|
19
|
+
return this.adaptable.getFilteredData();
|
|
20
|
+
}
|
|
15
21
|
loadGridData(dataSource) {
|
|
16
22
|
this.adaptable.loadDataSource(dataSource);
|
|
17
23
|
}
|
|
@@ -26,7 +32,7 @@ class GridApiImpl extends ApiBase_1.ApiBase {
|
|
|
26
32
|
undoCellEdit(dataChangedInfo) {
|
|
27
33
|
// for the reason of this hacky solution see the comments in DataService
|
|
28
34
|
this.adaptable.api.internalApi.getDataService().logUndoChange(dataChangedInfo);
|
|
29
|
-
this.setCellValue(dataChangedInfo.columnId, dataChangedInfo.oldValue, dataChangedInfo.primaryKeyValue);
|
|
35
|
+
this.setCellValue(dataChangedInfo.column.columnId, dataChangedInfo.oldValue, dataChangedInfo.primaryKeyValue);
|
|
30
36
|
return true;
|
|
31
37
|
}
|
|
32
38
|
deleteGridData(dataRows, dataUpdateConfig) {
|
|
@@ -36,20 +42,23 @@ class GridApiImpl extends ApiBase_1.ApiBase {
|
|
|
36
42
|
}
|
|
37
43
|
}
|
|
38
44
|
setCellValue(columnId, newValue, primaryKeyValue) {
|
|
39
|
-
|
|
45
|
+
const abColumn = this.adaptable.api.columnApi.getColumnFromId(columnId);
|
|
46
|
+
if (!abColumn || abColumn.readOnly) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const gridCell = {
|
|
40
50
|
primaryKeyValue: primaryKeyValue,
|
|
41
|
-
columnId: columnId,
|
|
42
51
|
rawValue: newValue,
|
|
43
52
|
displayValue: newValue,
|
|
44
53
|
normalisedValue: newValue,
|
|
45
54
|
rowNode: this.getRowNodeForPrimaryKey(primaryKeyValue),
|
|
55
|
+
column: abColumn,
|
|
46
56
|
};
|
|
47
|
-
const abColumn = this.adaptable.api.columnApi.getColumnFromId(columnId);
|
|
48
|
-
if (!abColumn || abColumn.ReadOnly) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
57
|
this.adaptable.api.internalApi.setGridCell(gridCell);
|
|
52
58
|
}
|
|
59
|
+
setCellsValue(gridCells) {
|
|
60
|
+
gridCells === null || gridCells === void 0 ? void 0 : gridCells.forEach((gridCell) => this.setCellValue(gridCell.columnId, gridCell.newValue, gridCell.primaryKeyValue));
|
|
61
|
+
}
|
|
53
62
|
getSelectedCellInfo() {
|
|
54
63
|
return this.getGridState().SelectedCellInfo;
|
|
55
64
|
}
|
|
@@ -161,7 +170,7 @@ class GridApiImpl extends ApiBase_1.ApiBase {
|
|
|
161
170
|
return gridCell ? gridCell.displayValue : undefined;
|
|
162
171
|
}
|
|
163
172
|
getFormattedValueFromRawValue(columnId, rawValue) {
|
|
164
|
-
return this.adaptable.getDisplayValueFromRawValue(columnId, rawValue
|
|
173
|
+
return this.adaptable.getDisplayValueFromRawValue(columnId, rawValue);
|
|
165
174
|
}
|
|
166
175
|
getNormalisedValueFromRowNode(rowNode, columnId) {
|
|
167
176
|
const gridCell = this.getGridCellFromRowNode(rowNode, columnId);
|
|
@@ -273,12 +282,15 @@ class GridApiImpl extends ApiBase_1.ApiBase {
|
|
|
273
282
|
refreshCells(rowNodes, columnIds) {
|
|
274
283
|
this.adaptable.refreshCells(rowNodes, columnIds, true);
|
|
275
284
|
}
|
|
285
|
+
refreshRow(primaryKey) {
|
|
286
|
+
const rowNode = this.getRowNodeForPrimaryKey(primaryKey);
|
|
287
|
+
this.adaptable.redrawRow(rowNode);
|
|
288
|
+
}
|
|
276
289
|
areCellsEditable(gridCells) {
|
|
277
290
|
let returnValue = true;
|
|
278
291
|
gridCells.forEach((gridCell) => {
|
|
279
292
|
if (returnValue) {
|
|
280
|
-
|
|
281
|
-
if (abColumn.ReadOnly) {
|
|
293
|
+
if (gridCell.column.readOnly) {
|
|
282
294
|
returnValue = false;
|
|
283
295
|
return;
|
|
284
296
|
}
|
|
@@ -318,5 +330,8 @@ class GridApiImpl extends ApiBase_1.ApiBase {
|
|
|
318
330
|
destroy() {
|
|
319
331
|
this.adaptable.destroy();
|
|
320
332
|
}
|
|
333
|
+
getGridContainerElement() {
|
|
334
|
+
return this.adaptable.getGridContainerElement();
|
|
335
|
+
}
|
|
321
336
|
}
|
|
322
337
|
exports.GridApiImpl = GridApiImpl;
|
|
@@ -73,7 +73,7 @@ export declare class InternalApiImpl extends ApiBase implements InternalApi {
|
|
|
73
73
|
setGridCells(gridCells: GridCell[]): void;
|
|
74
74
|
setToolbarTitle(): string;
|
|
75
75
|
setGridCell(gridCell: GridCell): void;
|
|
76
|
-
buildDataChangedInfo(config: Pick<DataChangedInfo, 'newValue' | 'oldValue' | '
|
|
76
|
+
buildDataChangedInfo(config: Pick<DataChangedInfo, 'newValue' | 'oldValue' | 'column' | 'primaryKeyValue' | 'rowNode' | 'trigger'>): DataChangedInfo;
|
|
77
77
|
private createDataChangedInfoFromGridCell;
|
|
78
78
|
setLastAppliedShortCut(gridCell: GridCell | undefined): void;
|
|
79
79
|
updateCurrentDraftLayout(layout: Layout): void;
|
|
@@ -113,5 +113,7 @@ export declare class InternalApiImpl extends ApiBase implements InternalApi {
|
|
|
113
113
|
destroyFrameworkComponent(containerDomNode: HTMLElement, frameworkComponent: AdaptableFrameworkComponent, componentType: 'toolPanel' | 'toolbar'): void;
|
|
114
114
|
initializeDataChangeHistory(): void;
|
|
115
115
|
isTextComparisonCaseSensitive(): boolean;
|
|
116
|
+
executeWithProgressIndicator(label: string, executeFn: () => void): void;
|
|
117
|
+
hideProgressIndicator(): void;
|
|
116
118
|
dispatchReduxAction(action: Action): void;
|
|
117
119
|
}
|
|
@@ -144,7 +144,7 @@ class InternalApiImpl extends ApiBase_1.ApiBase {
|
|
|
144
144
|
this.dispatchAction(GridRedux.GridAddColumns(AdaptableColumns));
|
|
145
145
|
}
|
|
146
146
|
removeAdaptableColumn(colId) {
|
|
147
|
-
const col = this.getAdaptableState().Grid.Columns.find((c) => c.
|
|
147
|
+
const col = this.getAdaptableState().Grid.Columns.find((c) => c.columnId === colId);
|
|
148
148
|
if (col) {
|
|
149
149
|
this.dispatchAction(GridRedux.GridRemoveColumn(col));
|
|
150
150
|
}
|
|
@@ -175,12 +175,12 @@ class InternalApiImpl extends ApiBase_1.ApiBase {
|
|
|
175
175
|
return Object.assign(Object.assign({}, config), { rowData: (_a = config.rowNode) === null || _a === void 0 ? void 0 : _a.data, changedAt: Date.now() });
|
|
176
176
|
}
|
|
177
177
|
createDataChangedInfoFromGridCell(gridCell) {
|
|
178
|
-
let currentValue = this.adaptable.getDisplayValue(gridCell.primaryKeyValue, gridCell.columnId);
|
|
178
|
+
let currentValue = this.adaptable.getDisplayValue(gridCell.primaryKeyValue, gridCell.column.columnId);
|
|
179
179
|
const currentRowNode = this.adaptable.getRowNodeForPrimaryKey(gridCell.primaryKeyValue);
|
|
180
180
|
const dataChangedInfo = this.buildDataChangedInfo({
|
|
181
181
|
oldValue: currentValue,
|
|
182
182
|
newValue: gridCell.rawValue,
|
|
183
|
-
|
|
183
|
+
column: gridCell.column,
|
|
184
184
|
primaryKeyValue: gridCell.primaryKeyValue,
|
|
185
185
|
rowNode: currentRowNode,
|
|
186
186
|
});
|
|
@@ -272,7 +272,7 @@ class InternalApiImpl extends ApiBase_1.ApiBase {
|
|
|
272
272
|
}
|
|
273
273
|
getCustomSortComparer(column) {
|
|
274
274
|
var _a;
|
|
275
|
-
return (_a = this.getGeneralOptions().customSortComparers) === null || _a === void 0 ? void 0 : _a.find((csc) => csc.columnId == column.
|
|
275
|
+
return (_a = this.getGeneralOptions().customSortComparers) === null || _a === void 0 ? void 0 : _a.find((csc) => csc.columnId == column.columnId);
|
|
276
276
|
}
|
|
277
277
|
getLabelForButton(button, context) {
|
|
278
278
|
if (!button.label) {
|
|
@@ -394,6 +394,22 @@ class InternalApiImpl extends ApiBase_1.ApiBase {
|
|
|
394
394
|
isTextComparisonCaseSensitive() {
|
|
395
395
|
return this.adaptable.adaptableOptions.generalOptions.caseSensitiveTextComparisons;
|
|
396
396
|
}
|
|
397
|
+
executeWithProgressIndicator(label, executeFn) {
|
|
398
|
+
this.dispatchReduxAction(SystemRedux_1.SystemProgressIndicatorShow(label));
|
|
399
|
+
// setTimeout required to give the ProgressIndicator rendering a head-start (see RAF in ProgressIndicator implementation)
|
|
400
|
+
setTimeout(() => {
|
|
401
|
+
try {
|
|
402
|
+
executeFn();
|
|
403
|
+
}
|
|
404
|
+
catch (error) {
|
|
405
|
+
this.hideProgressIndicator();
|
|
406
|
+
LoggingHelper_1.LogAdaptableError('Unexpected error while executing a function with a progress indicator', error);
|
|
407
|
+
}
|
|
408
|
+
}, 16);
|
|
409
|
+
}
|
|
410
|
+
hideProgressIndicator() {
|
|
411
|
+
this.dispatchReduxAction(SystemRedux_1.SystemProgressIndicatorHide());
|
|
412
|
+
}
|
|
397
413
|
// General way to get to store from inside Adaptable...
|
|
398
414
|
dispatchReduxAction(action) {
|
|
399
415
|
this.dispatchAction(action);
|
|
@@ -188,9 +188,9 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
|
|
|
188
188
|
let gridState = this.getAdaptableApi().gridApi.getGridState();
|
|
189
189
|
let layoutState = this.getLayoutState();
|
|
190
190
|
const isLayoutDefined = (layoutName) => !!layoutState.Layouts.filter((layout) => layout.Name === layoutName)[0];
|
|
191
|
-
let defaultLayoutColumns = gridState.Columns.filter((column) => column.
|
|
191
|
+
let defaultLayoutColumns = gridState.Columns.filter((column) => column.visible);
|
|
192
192
|
const columnsMap = gridState.Columns.reduce((acc, col) => {
|
|
193
|
-
acc[col.
|
|
193
|
+
acc[col.columnId] = col;
|
|
194
194
|
return acc;
|
|
195
195
|
}, {});
|
|
196
196
|
let shouldCreateDefaultLayout = this.getLayoutOptions().createDefaultLayout;
|
|
@@ -201,7 +201,7 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
|
|
|
201
201
|
if (!layoutState.Layouts || !isLayoutDefined(GeneralConstants_1.DEFAULT_LAYOUT)) {
|
|
202
202
|
let defaultLayout = ObjectFactory_1.default.CreateEmptyLayout({
|
|
203
203
|
Name: GeneralConstants_1.DEFAULT_LAYOUT,
|
|
204
|
-
Columns: defaultLayoutColumns.map((c) => c.
|
|
204
|
+
Columns: defaultLayoutColumns.map((c) => c.columnId),
|
|
205
205
|
}, gridState.Columns);
|
|
206
206
|
this.saveLayout(defaultLayout);
|
|
207
207
|
return defaultLayout;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ApiBase } from './ApiBase';
|
|
2
2
|
import { AdaptableModule } from '../../PredefinedConfig/Common/Types';
|
|
3
3
|
import { QueryLanguageApi } from '../QueryLanguageApi';
|
|
4
|
+
import { ExpressionFunctionMap } from '../../types';
|
|
4
5
|
export declare class QueryLanguageApiImpl extends ApiBase implements QueryLanguageApi {
|
|
5
6
|
isValidBooleanExpression(query: string, module: AdaptableModule, validationErrorMessage?: string): boolean;
|
|
6
7
|
isValidObservableExpression(expression: string, module: AdaptableModule, validationErrorMessage?: string): boolean;
|
|
@@ -8,4 +9,5 @@ export declare class QueryLanguageApiImpl extends ApiBase implements QueryLangua
|
|
|
8
9
|
getASTForExpression(query: string): any;
|
|
9
10
|
getColumnsFromExpression(expression: string): string[];
|
|
10
11
|
getQueryableColumnIds(): string[] | undefined;
|
|
12
|
+
getModuleExpressionFunctionMap(): ExpressionFunctionMap;
|
|
11
13
|
}
|
|
@@ -14,10 +14,10 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
|
|
|
14
14
|
// do we need a true check here?
|
|
15
15
|
return true;
|
|
16
16
|
}
|
|
17
|
-
if ('DataTypes' in scope && scope.DataTypes.includes(column.
|
|
17
|
+
if ('DataTypes' in scope && scope.DataTypes.includes(column.dataType)) {
|
|
18
18
|
return true;
|
|
19
19
|
}
|
|
20
|
-
if ('ColumnIds' in scope && scope.ColumnIds.includes(column.
|
|
20
|
+
if ('ColumnIds' in scope && scope.ColumnIds.includes(column.columnId)) {
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
23
|
return false;
|
|
@@ -31,10 +31,10 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
|
|
|
31
31
|
return columns;
|
|
32
32
|
}
|
|
33
33
|
return columns.filter((c) => {
|
|
34
|
-
if ('DataTypes' in scope && scope.DataTypes.includes(c.
|
|
34
|
+
if ('DataTypes' in scope && scope.DataTypes.includes(c.dataType)) {
|
|
35
35
|
return true;
|
|
36
36
|
}
|
|
37
|
-
if ('ColumnIds' in scope && scope.ColumnIds.includes(c.
|
|
37
|
+
if ('ColumnIds' in scope && scope.ColumnIds.includes(c.columnId)) {
|
|
38
38
|
return true;
|
|
39
39
|
}
|
|
40
40
|
return false;
|
|
@@ -140,7 +140,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
|
|
|
140
140
|
}
|
|
141
141
|
isColumnInNumericScope(column, scope) {
|
|
142
142
|
// if column is not even numeric then return false
|
|
143
|
-
if (column == null || column == undefined || column.
|
|
143
|
+
if (column == null || column == undefined || column.dataType !== 'Number') {
|
|
144
144
|
return false;
|
|
145
145
|
}
|
|
146
146
|
// if no scope then return false
|
|
@@ -148,7 +148,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
|
|
|
148
148
|
return false;
|
|
149
149
|
}
|
|
150
150
|
// check if the scope has ColumnIds and whether this column is contained
|
|
151
|
-
if ('ColumnIds' in scope && scope.ColumnIds.includes(column.
|
|
151
|
+
if ('ColumnIds' in scope && scope.ColumnIds.includes(column.columnId)) {
|
|
152
152
|
return true;
|
|
153
153
|
}
|
|
154
154
|
// check if the scope has ColumnIds and whether this column is contained
|
|
@@ -159,7 +159,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
|
|
|
159
159
|
}
|
|
160
160
|
isColumnInStringsScope(column, scope) {
|
|
161
161
|
// if column is not even string then return false
|
|
162
|
-
if (column == null || column == undefined || column.
|
|
162
|
+
if (column == null || column == undefined || column.dataType !== 'String') {
|
|
163
163
|
return false;
|
|
164
164
|
}
|
|
165
165
|
// if no scope then return false
|
|
@@ -167,7 +167,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
|
|
|
167
167
|
return false;
|
|
168
168
|
}
|
|
169
169
|
// check if the scope has ColumnIds and whether this column is contained
|
|
170
|
-
if ('ColumnIds' in scope && scope.ColumnIds.includes(column.
|
|
170
|
+
if ('ColumnIds' in scope && scope.ColumnIds.includes(column.columnId)) {
|
|
171
171
|
return true;
|
|
172
172
|
}
|
|
173
173
|
// check if the scope has ColumnIds and whether this column is contained
|
|
@@ -178,7 +178,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
|
|
|
178
178
|
}
|
|
179
179
|
isColumnInDateScope(column, scope) {
|
|
180
180
|
// if column is not even numeric then return false
|
|
181
|
-
if (column == null || column == undefined || column.
|
|
181
|
+
if (column == null || column == undefined || column.dataType !== 'Date') {
|
|
182
182
|
return false;
|
|
183
183
|
}
|
|
184
184
|
// if no scope then return false
|
|
@@ -186,7 +186,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
|
|
|
186
186
|
return false;
|
|
187
187
|
}
|
|
188
188
|
// check if the scope has ColumnIds and whether this column is contained
|
|
189
|
-
if ('ColumnIds' in scope && scope.ColumnIds.includes(column.
|
|
189
|
+
if ('ColumnIds' in scope && scope.ColumnIds.includes(column.columnId)) {
|
|
190
190
|
return true;
|
|
191
191
|
}
|
|
192
192
|
// check if the scope has ColumnIds and whether this column is contained
|
|
@@ -213,7 +213,7 @@ class ScopeApiImpl extends ApiBase_1.ApiBase {
|
|
|
213
213
|
'DataTypes' in b &&
|
|
214
214
|
a.ColumnIds.every((columnId) => {
|
|
215
215
|
var _a;
|
|
216
|
-
return b.DataTypes.includes((_a = this.adaptable.api.columnApi.getColumnFromId(columnId)) === null || _a === void 0 ? void 0 : _a.
|
|
216
|
+
return b.DataTypes.includes((_a = this.adaptable.api.columnApi.getColumnFromId(columnId)) === null || _a === void 0 ? void 0 : _a.dataType);
|
|
217
217
|
})) {
|
|
218
218
|
return true;
|
|
219
219
|
}
|
|
@@ -3,19 +3,23 @@ import { UserInterfaceApi } from '../UserInterfaceApi';
|
|
|
3
3
|
import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
|
|
4
4
|
import { AdaptableStyle } from '../../PredefinedConfig/Common/AdaptableStyle';
|
|
5
5
|
import { UserMenuItem } from '../../PredefinedConfig/Common/Menu';
|
|
6
|
-
import { ActionColumn,
|
|
6
|
+
import { ActionColumn, BulkUpdatePermittedValues, CustomSortPermittedValues, EditLookUpPermittedValues, FilterPermittedValues, PermittedValues } from '../../AdaptableOptions/UserInterfaceOptions';
|
|
7
|
+
import { GridCell } from '../../types';
|
|
7
8
|
export declare class UserInterfaceApiImpl extends ApiBase implements UserInterfaceApi {
|
|
8
9
|
getColorPalette(): string[];
|
|
9
10
|
getStyleClassNames(): string[] | undefined;
|
|
10
|
-
getAllPermittedValuesItems():
|
|
11
|
-
private getPermittedValuesItemsWithColumnScope;
|
|
12
|
-
private getPermittedValuesItemsWithDataTypeScope;
|
|
13
|
-
private getPermittedValuesItemsWithAllScope;
|
|
11
|
+
getAllPermittedValuesItems(): PermittedValues[];
|
|
14
12
|
private getPermittedValuesForScope;
|
|
15
13
|
getPermittedValuesForColumn(column: AdaptableColumn): any[] | undefined;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
getAllFilterPermittedValuesItems(): FilterPermittedValues[];
|
|
15
|
+
getFilterPermittedValuesForColumn(column: AdaptableColumn): FilterPermittedValues | undefined;
|
|
16
|
+
getAllCustomSortPermittedValuesItems(): CustomSortPermittedValues[];
|
|
17
|
+
getCustomSortPermittedValuesForColumn(column: AdaptableColumn): CustomSortPermittedValues | undefined;
|
|
18
|
+
getAllBulkUpdatePermittedValuesItems(): BulkUpdatePermittedValues[];
|
|
19
|
+
getBulkUpdatePermittedValuesForColumn(column: AdaptableColumn): BulkUpdatePermittedValues | undefined;
|
|
20
|
+
getAllEditLookUpItems(): EditLookUpPermittedValues[];
|
|
21
|
+
getEditLookUpItemForColumn(column: AdaptableColumn): EditLookUpPermittedValues | undefined;
|
|
22
|
+
getEditLookUpValuesForEditLookUpItem(editLookUpItem: EditLookUpPermittedValues, gridCell: GridCell): any[] | undefined;
|
|
19
23
|
addColumnMenuItem(columnMenuItem: UserMenuItem): void;
|
|
20
24
|
addContextMenuItem(contextMenuItem: UserMenuItem): void;
|
|
21
25
|
getEditableCellStyle(): AdaptableStyle | undefined;
|
|
@@ -22,51 +22,32 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
|
|
|
22
22
|
return this.getUserInterfaceOptions().styleClassNames;
|
|
23
23
|
}
|
|
24
24
|
getAllPermittedValuesItems() {
|
|
25
|
-
|
|
25
|
+
var _a, _b;
|
|
26
|
+
return (_b = (_a = this.getUserInterfaceOptions()) === null || _a === void 0 ? void 0 : _a.permittedValues) !== null && _b !== void 0 ? _b : [];
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
-
return this.getAllPermittedValuesItems().filter((pv) => {
|
|
29
|
-
return 'ColumnIds' in pv.scope == true;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
getPermittedValuesItemsWithDataTypeScope() {
|
|
33
|
-
return this.getAllPermittedValuesItems().filter((pv) => {
|
|
34
|
-
return 'DataTypes' in pv.scope == true;
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
getPermittedValuesItemsWithAllScope() {
|
|
38
|
-
return this.getAllPermittedValuesItems().filter((pv) => {
|
|
39
|
-
return 'All' in pv.scope == true;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
getPermittedValuesForScope(column) {
|
|
28
|
+
getPermittedValuesForScope(column, permittedValues) {
|
|
43
29
|
let permittedValuesItem;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
30
|
+
/**
|
|
31
|
+
* The previous implementation prioritized column-id, data-types and all
|
|
32
|
+
*/
|
|
33
|
+
// columns id
|
|
34
|
+
permittedValuesItem = permittedValues.find((permittedValue) => {
|
|
35
|
+
return ('ColumnIds' in permittedValue.scope &&
|
|
36
|
+
this.adaptable.api.scopeApi.isColumnInScope(column, permittedValue.scope));
|
|
50
37
|
});
|
|
51
38
|
if (permittedValuesItem) {
|
|
52
39
|
return permittedValuesItem;
|
|
53
40
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
permittedValuesItem = pv;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
41
|
+
permittedValuesItem = permittedValues.find((permittedValue) => {
|
|
42
|
+
return ('DataTypes' in permittedValue.scope &&
|
|
43
|
+
this.adaptable.api.scopeApi.isColumnInScope(column, permittedValue.scope));
|
|
60
44
|
});
|
|
61
45
|
if (permittedValuesItem) {
|
|
62
46
|
return permittedValuesItem;
|
|
63
47
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
permittedValuesItem = pv;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
48
|
+
permittedValuesItem = permittedValues.find((permittedValue) => {
|
|
49
|
+
return ('All' in permittedValue.scope &&
|
|
50
|
+
this.adaptable.api.scopeApi.isColumnInScope(column, permittedValue.scope));
|
|
70
51
|
});
|
|
71
52
|
if (permittedValuesItem) {
|
|
72
53
|
return permittedValuesItem;
|
|
@@ -77,7 +58,8 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
|
|
|
77
58
|
if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(this.getAllPermittedValuesItems())) {
|
|
78
59
|
return undefined;
|
|
79
60
|
}
|
|
80
|
-
|
|
61
|
+
const allPermittedValues = this.getAllPermittedValuesItems();
|
|
62
|
+
let permittedValuesColumn = this.getPermittedValuesForScope(column, allPermittedValues);
|
|
81
63
|
if (!permittedValuesColumn) {
|
|
82
64
|
return undefined;
|
|
83
65
|
}
|
|
@@ -96,69 +78,60 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
|
|
|
96
78
|
}
|
|
97
79
|
return undefined;
|
|
98
80
|
}
|
|
99
|
-
|
|
100
|
-
|
|
81
|
+
getAllFilterPermittedValuesItems() {
|
|
82
|
+
var _a, _b;
|
|
83
|
+
return (_b = (_a = this.getUserInterfaceOptions()) === null || _a === void 0 ? void 0 : _a.filterPermittedValues) !== null && _b !== void 0 ? _b : [];
|
|
101
84
|
}
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
if (
|
|
85
|
+
getFilterPermittedValuesForColumn(column) {
|
|
86
|
+
const allFilterPermittedValuesItems = this.getAllFilterPermittedValuesItems();
|
|
87
|
+
if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(allFilterPermittedValuesItems)) {
|
|
105
88
|
return undefined;
|
|
106
89
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
90
|
+
return this.getPermittedValuesForScope(column, allFilterPermittedValuesItems);
|
|
91
|
+
}
|
|
92
|
+
getAllCustomSortPermittedValuesItems() {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
return (_b = (_a = this.getUserInterfaceOptions()) === null || _a === void 0 ? void 0 : _a.customSortPermittedValues) !== null && _b !== void 0 ? _b : [];
|
|
95
|
+
}
|
|
96
|
+
getCustomSortPermittedValuesForColumn(column) {
|
|
97
|
+
const allFilterPermittedValuesItems = this.getAllCustomSortPermittedValuesItems();
|
|
98
|
+
if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(allFilterPermittedValuesItems)) {
|
|
110
99
|
return undefined;
|
|
111
100
|
}
|
|
112
|
-
|
|
113
|
-
const columnEditLookItems = editLookUpItems.filter((pv) => {
|
|
114
|
-
return 'ColumnIds' in pv.scope == true;
|
|
115
|
-
});
|
|
116
|
-
columnEditLookItems.forEach((eli) => {
|
|
117
|
-
if (this.adaptable.api.scopeApi.isColumnInScopeColumns(abColumn, eli.scope)) {
|
|
118
|
-
editLookUpItem = eli;
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
if (editLookUpItem) {
|
|
122
|
-
return editLookUpItem;
|
|
123
|
-
}
|
|
124
|
-
// then we get any for the DataType
|
|
125
|
-
const dateEditLookItems = editLookUpItems.filter((pv) => {
|
|
126
|
-
return 'DataTypes' in pv.scope == true;
|
|
127
|
-
});
|
|
128
|
-
dateEditLookItems.forEach((eli) => {
|
|
129
|
-
if (this.adaptable.api.scopeApi.isColumnInDateScope(abColumn, eli.scope)) {
|
|
130
|
-
editLookUpItem = eli;
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
if (editLookUpItem) {
|
|
134
|
-
return editLookUpItem;
|
|
135
|
-
}
|
|
136
|
-
// then we get any for All
|
|
137
|
-
const allTypeEditLookItems = editLookUpItems.filter((pv) => {
|
|
138
|
-
return 'All' in pv.scope == true;
|
|
139
|
-
});
|
|
140
|
-
allTypeEditLookItems.forEach((eli) => {
|
|
141
|
-
if (this.adaptable.api.scopeApi.isColumnInScope(abColumn, eli.scope)) {
|
|
142
|
-
editLookUpItem = eli;
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
if (editLookUpItem) {
|
|
146
|
-
return editLookUpItem;
|
|
147
|
-
}
|
|
148
|
-
return undefined;
|
|
101
|
+
return this.getPermittedValuesForScope(column, allFilterPermittedValuesItems);
|
|
149
102
|
}
|
|
150
|
-
|
|
151
|
-
|
|
103
|
+
getAllBulkUpdatePermittedValuesItems() {
|
|
104
|
+
var _a, _b;
|
|
105
|
+
return (_b = (_a = this.getUserInterfaceOptions()) === null || _a === void 0 ? void 0 : _a.bulkUpdatePermittedValues) !== null && _b !== void 0 ? _b : [];
|
|
106
|
+
}
|
|
107
|
+
getBulkUpdatePermittedValuesForColumn(column) {
|
|
108
|
+
const allFilterPermittedValuesItems = this.getAllBulkUpdatePermittedValuesItems();
|
|
109
|
+
if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(allFilterPermittedValuesItems)) {
|
|
152
110
|
return undefined;
|
|
153
111
|
}
|
|
154
|
-
|
|
112
|
+
return this.getPermittedValuesForScope(column, allFilterPermittedValuesItems);
|
|
113
|
+
}
|
|
114
|
+
getAllEditLookUpItems() {
|
|
115
|
+
return this.getUserInterfaceOptions().editLookUpItems || [];
|
|
116
|
+
}
|
|
117
|
+
getEditLookUpItemForColumn(column) {
|
|
155
118
|
if (!column) {
|
|
156
119
|
return undefined;
|
|
157
120
|
}
|
|
121
|
+
let editLookUpItems = this.getAllEditLookUpItems();
|
|
122
|
+
if (!editLookUpItems) {
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
return this.getPermittedValuesForScope(column, editLookUpItems);
|
|
126
|
+
}
|
|
127
|
+
getEditLookUpValuesForEditLookUpItem(editLookUpItem, gridCell) {
|
|
128
|
+
if (!editLookUpItem || !gridCell || !gridCell.column) {
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
158
131
|
let editLookUpValues = editLookUpItem.values;
|
|
159
132
|
// first do the function then get hardcoded items
|
|
160
133
|
if (editLookUpValues != null && typeof editLookUpValues === 'function') {
|
|
161
|
-
return editLookUpValues(column);
|
|
134
|
+
return editLookUpValues(gridCell.column, gridCell);
|
|
162
135
|
}
|
|
163
136
|
else {
|
|
164
137
|
let arr = editLookUpValues;
|
|
@@ -168,7 +141,7 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
|
|
|
168
141
|
}
|
|
169
142
|
// if no hard-coded values or function provided then just get the distinct values for the column
|
|
170
143
|
// this will use the columnapi method that first looks for permitted values and then distinct values
|
|
171
|
-
return this.adaptable.api.columnApi.getDistinctDisplayValuesForColumn(columnId);
|
|
144
|
+
return this.adaptable.api.columnApi.getDistinctDisplayValuesForColumn(gridCell.column.columnId);
|
|
172
145
|
}
|
|
173
146
|
addColumnMenuItem(columnMenuItem) {
|
|
174
147
|
var _a;
|
package/src/Api/InternalApi.d.ts
CHANGED
|
@@ -78,7 +78,7 @@ export interface InternalApi {
|
|
|
78
78
|
setGridCell(gridCell: GridCell): void;
|
|
79
79
|
setToolbarTitle(): string;
|
|
80
80
|
getQueryPreviewData(): any;
|
|
81
|
-
buildDataChangedInfo(config: Pick<DataChangedInfo, 'newValue' | 'oldValue' | '
|
|
81
|
+
buildDataChangedInfo(config: Pick<DataChangedInfo, 'newValue' | 'oldValue' | 'column' | 'primaryKeyValue' | 'rowNode' | 'trigger'>): DataChangedInfo;
|
|
82
82
|
setLastAppliedShortCut(gridCell: GridCell | undefined): void;
|
|
83
83
|
setDefaultDashboardTab(): void;
|
|
84
84
|
updateCurrentDraftLayout(layout: Layout): void;
|
|
@@ -116,4 +116,6 @@ export interface InternalApi {
|
|
|
116
116
|
destroyFrameworkComponent(containerDomNode: HTMLElement, frameworkComponent: AdaptableFrameworkComponent, componentType: 'toolPanel' | 'toolbar'): void;
|
|
117
117
|
initializeDataChangeHistory(): void;
|
|
118
118
|
isTextComparisonCaseSensitive(): boolean;
|
|
119
|
+
executeWithProgressIndicator(label: string, executeFn: () => unknown): void;
|
|
120
|
+
hideProgressIndicator(): void;
|
|
119
121
|
}
|