@adaptabletools/adaptable-cjs 18.0.0-canary.25 → 18.0.0-canary.27
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 +11 -23
- package/src/AdaptableOptions/MenuOptions.js +0 -98
- 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 +0 -7
- package/src/Api/Implementation/LayoutApiImpl.js +0 -15
- 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/CommentsInternalApi.d.ts +1 -1
- package/src/Api/Internal/CommentsInternalApi.js +1 -1
- 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/NoteInternalApi.d.ts +1 -1
- package/src/Api/Internal/NoteInternalApi.js +1 -1
- 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 +0 -11
- 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/Menu.d.ts +4 -4
- package/src/PredefinedConfig/Common/Menu.js +17 -18
- package/src/PredefinedConfig/Common/RowSummary.d.ts +1 -1
- package/src/PredefinedConfig/Common/RowSummary.js +4 -4
- package/src/Strategy/AdaptableModuleBase.d.ts +3 -4
- package/src/Strategy/AdaptableModuleBase.js +5 -9
- package/src/Strategy/AlertModule.d.ts +1 -1
- package/src/Strategy/AlertModule.js +1 -1
- package/src/Strategy/BulkUpdateModule.d.ts +1 -1
- package/src/Strategy/BulkUpdateModule.js +3 -2
- package/src/Strategy/CalculatedColumnModule.d.ts +2 -2
- package/src/Strategy/CalculatedColumnModule.js +2 -2
- package/src/Strategy/CellSummaryModule.d.ts +2 -2
- package/src/Strategy/CellSummaryModule.js +56 -96
- package/src/Strategy/ColumnFilterModule.d.ts +2 -2
- package/src/Strategy/ColumnFilterModule.js +17 -42
- package/src/Strategy/ColumnInfoModule.d.ts +2 -2
- package/src/Strategy/ColumnInfoModule.js +2 -2
- package/src/Strategy/CommentModule.d.ts +1 -2
- package/src/Strategy/CommentModule.js +29 -30
- package/src/Strategy/CustomSortModule.d.ts +1 -1
- package/src/Strategy/CustomSortModule.js +1 -1
- package/src/Strategy/DashboardModule.d.ts +2 -2
- package/src/Strategy/DashboardModule.js +3 -14
- package/src/Strategy/DataImportModule.d.ts +3 -3
- package/src/Strategy/DataImportModule.js +3 -3
- package/src/Strategy/ExportModule.d.ts +1 -2
- package/src/Strategy/ExportModule.js +12 -41
- package/src/Strategy/Fdc3Module.d.ts +1 -1
- package/src/Strategy/Fdc3Module.js +1 -14
- package/src/Strategy/FlashingCellModule.d.ts +2 -2
- package/src/Strategy/FlashingCellModule.js +2 -2
- package/src/Strategy/FormatColumnModule.d.ts +1 -1
- package/src/Strategy/FormatColumnModule.js +28 -47
- package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
- package/src/Strategy/FreeTextColumnModule.js +1 -1
- package/src/Strategy/GridInfoModule.d.ts +2 -2
- package/src/Strategy/GridInfoModule.js +2 -2
- package/src/Strategy/Interface/IModule.d.ts +3 -3
- package/src/Strategy/LayoutModule.d.ts +4 -4
- package/src/Strategy/LayoutModule.js +51 -72
- package/src/Strategy/NoteModule.d.ts +1 -2
- package/src/Strategy/NoteModule.js +28 -30
- package/src/Strategy/PlusMinusModule.d.ts +1 -1
- package/src/Strategy/PlusMinusModule.js +1 -1
- package/src/Strategy/SettingsPanelModule.d.ts +3 -3
- package/src/Strategy/SettingsPanelModule.js +3 -3
- package/src/Strategy/SmartEditModule.d.ts +1 -1
- package/src/Strategy/SmartEditModule.js +3 -2
- package/src/Strategy/StyledColumnModule.d.ts +1 -1
- package/src/Strategy/StyledColumnModule.js +10 -9
- package/src/Strategy/SystemStatusModule.d.ts +2 -2
- package/src/Strategy/SystemStatusModule.js +4 -3
- 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/Utilities/Services/ModuleService.js +2 -2
- package/src/View/Layout/Wizard/LayoutWizard.js +1 -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 +1 -1
- package/src/agGrid/AgGridAdapter.d.ts +1 -2
- package/src/agGrid/AgGridColumnAdapter.js +2 -2
- package/src/agGrid/AgGridMenuAdapter.d.ts +18 -8
- package/src/agGrid/AgGridMenuAdapter.js +240 -51
- 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.cjs.tsbuildinfo +1 -1
|
@@ -21,10 +21,10 @@ class DashboardModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
21
21
|
this.api.dashboardApi.internalApi.fireDashboardChangedEvent('ADAPTABLE_READY', null, this.api.dashboardApi.getDashboardState());
|
|
22
22
|
}, 20);
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
createColumnMenuItems() {
|
|
25
25
|
return this.buildMenuItems();
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
createContextMenuItems(menuContext) {
|
|
28
28
|
return this.buildMenuItems();
|
|
29
29
|
}
|
|
30
30
|
buildMenuItems() {
|
|
@@ -51,18 +51,7 @@ class DashboardModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
51
51
|
else {
|
|
52
52
|
menuItems.push(this.createMenuItemReduxAction('dashboard-hide', 'Hide', 'visibility-off-bold', DashboardRedux.DashboardSetIsHidden(true)));
|
|
53
53
|
}
|
|
54
|
-
return
|
|
55
|
-
{
|
|
56
|
-
name: 'dashboard-parent',
|
|
57
|
-
label: this.moduleInfo.FriendlyName,
|
|
58
|
-
isVisible: true,
|
|
59
|
-
module: this.moduleInfo.ModuleName,
|
|
60
|
-
icon: {
|
|
61
|
-
name: 'dashboard',
|
|
62
|
-
},
|
|
63
|
-
subItems: menuItems,
|
|
64
|
-
},
|
|
65
|
-
];
|
|
54
|
+
return menuItems;
|
|
66
55
|
}
|
|
67
56
|
}
|
|
68
57
|
}
|
|
@@ -4,8 +4,8 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
|
4
4
|
import { IModule } from './Interface/IModule';
|
|
5
5
|
export declare class DataImportModule extends AdaptableModuleBase implements IModule {
|
|
6
6
|
constructor(api: AdaptableApi);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
createModuleMenuItem(source: 'ModuleMenu' | 'ModuleButton'): AdaptableMenuItem | undefined;
|
|
8
|
+
createContextMenuItems(): AdaptableMenuItem[] | undefined;
|
|
9
|
+
createColumnMenuItems(): AdaptableMenuItem[] | undefined;
|
|
10
10
|
private createDataImportMenuItem;
|
|
11
11
|
}
|
|
@@ -8,18 +8,18 @@ class DataImportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
8
8
|
constructor(api) {
|
|
9
9
|
super(ModuleConstants.DataImportModuleId, ModuleConstants.DataImportFriendyName, 'import', 'DataImportPopup', 'Import Data', api);
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
createModuleMenuItem(source) {
|
|
12
12
|
if (this.isModuleAvailable()) {
|
|
13
13
|
return this.createDataImportMenuItem(source);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
createContextMenuItems() {
|
|
17
17
|
if (this.isModuleAvailable()) {
|
|
18
18
|
return [this.createDataImportMenuItem('ContextMenu')];
|
|
19
19
|
}
|
|
20
20
|
return undefined;
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
createColumnMenuItems() {
|
|
23
23
|
if (this.isModuleAvailable()) {
|
|
24
24
|
return [this.createDataImportMenuItem('ColumnMenu')];
|
|
25
25
|
}
|
|
@@ -12,9 +12,8 @@ export declare class ExportModule extends AdaptableModuleBase implements IExport
|
|
|
12
12
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
13
13
|
getExplicitlyReferencedColumnIds(report: Report): string[];
|
|
14
14
|
getReferencedNamedQueryNames(report: Report): string[];
|
|
15
|
-
|
|
15
|
+
createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
16
16
|
private buildReportMenuItems;
|
|
17
|
-
private buildExportMenuItem;
|
|
18
17
|
private getMenuName;
|
|
19
18
|
export(report: Report, exportDestination: ExportDestination | string): Promise<void>;
|
|
20
19
|
private preProcessExport;
|
|
@@ -44,14 +44,12 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
44
44
|
}
|
|
45
45
|
return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(report.Query.BooleanExpression);
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
createContextMenuItems(menuContext) {
|
|
48
48
|
const canExport = !menuContext.isRowGroupColumn && this.isModuleAvailable();
|
|
49
49
|
if (!canExport) {
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
52
52
|
let returnMenuItems = [];
|
|
53
|
-
let selectedCellmenuItems = [];
|
|
54
|
-
let selectedRowmenuItems = [];
|
|
55
53
|
const canExportCells = menuContext.selectedCellInfo &&
|
|
56
54
|
ArrayExtensions_1.default.IsNotNullOrEmpty(menuContext.selectedCellInfo.columns) &&
|
|
57
55
|
ArrayExtensions_1.default.IsNotNullOrEmpty(menuContext.selectedCellInfo.gridCells);
|
|
@@ -62,63 +60,36 @@ class ExportModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
62
60
|
menuContext.isSelectedRow;
|
|
63
61
|
if (canExportCells) {
|
|
64
62
|
const selectedCellReport = this.api.exportApi.getReportByName(GeneralConstants_1.SELECTED_CELLS_REPORT);
|
|
65
|
-
|
|
63
|
+
returnMenuItems.push(...this.buildReportMenuItems(selectedCellReport, 'cells'));
|
|
66
64
|
}
|
|
67
65
|
if (canExportRows) {
|
|
68
66
|
const selectedRowReport = this.api.exportApi.getReportByName(GeneralConstants_1.SELECTED_ROWS_REPORT);
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
// if only selected cells then just do one level
|
|
72
|
-
if (canExportCells && !canExportRows) {
|
|
73
|
-
returnMenuItems.push(this.buildExportMenuItem('Export Selected Cells', selectedCellmenuItems));
|
|
74
|
-
// if only selected Rows then just do one level
|
|
75
|
-
}
|
|
76
|
-
else if (canExportRows && !canExportCells) {
|
|
77
|
-
returnMenuItems.push(this.buildExportMenuItem('Export Selected Rows', selectedRowmenuItems));
|
|
78
|
-
}
|
|
79
|
-
// if both selected Cells and Rows then add a new level
|
|
80
|
-
else if (canExportRows && canExportCells) {
|
|
81
|
-
const exportSelectedCellsMenuItem = this.buildExportMenuItem('Cells', selectedCellmenuItems);
|
|
82
|
-
const exportSelectedRowsMenuItem = this.buildExportMenuItem('Rows', selectedRowmenuItems);
|
|
83
|
-
returnMenuItems.push(this.buildExportMenuItem('Export Selected', [
|
|
84
|
-
exportSelectedCellsMenuItem,
|
|
85
|
-
exportSelectedRowsMenuItem,
|
|
86
|
-
]));
|
|
67
|
+
returnMenuItems.push(...this.buildReportMenuItems(selectedRowReport, 'rows'));
|
|
87
68
|
}
|
|
88
69
|
return returnMenuItems;
|
|
89
70
|
}
|
|
90
|
-
buildReportMenuItems(report) {
|
|
71
|
+
buildReportMenuItems(report, selectionType) {
|
|
91
72
|
const menuItems = [];
|
|
92
73
|
for (const destination of this.api.exportApi.getAvailableExportDestinations()) {
|
|
93
|
-
menuItems.push(this.createMenuItemClickFunction(this.getMenuName(destination), destination, this.moduleInfo.Glyph, () => this.export(report, destination)));
|
|
74
|
+
menuItems.push(this.createMenuItemClickFunction(this.getMenuName(destination, selectionType), destination, this.moduleInfo.Glyph, () => this.export(report, destination)));
|
|
94
75
|
}
|
|
95
76
|
for (const customDestination of this.api.exportApi.getCustomDestinations()) {
|
|
96
|
-
menuItems.push(this.createMenuItemClickFunction(
|
|
77
|
+
menuItems.push(this.createMenuItemClickFunction(`export-${selectionType}-custom-destination`, customDestination.name, this.moduleInfo.Glyph, () => this.export(report, customDestination.name)));
|
|
97
78
|
}
|
|
98
79
|
return menuItems;
|
|
99
80
|
}
|
|
100
|
-
|
|
101
|
-
return {
|
|
102
|
-
name: 'export-parent',
|
|
103
|
-
label: label,
|
|
104
|
-
module: this.moduleInfo.ModuleName,
|
|
105
|
-
isVisible: true,
|
|
106
|
-
icon: { name: this.moduleInfo.Glyph },
|
|
107
|
-
subItems: subItems,
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
getMenuName(exportDestination) {
|
|
81
|
+
getMenuName(exportDestination, selectionType) {
|
|
111
82
|
switch (exportDestination) {
|
|
112
83
|
case Enums_1.ExportDestination.CSV:
|
|
113
|
-
return
|
|
84
|
+
return `export-${selectionType}-csv`;
|
|
114
85
|
case Enums_1.ExportDestination.Clipboard:
|
|
115
|
-
return
|
|
86
|
+
return `export-${selectionType}-clipboard`;
|
|
116
87
|
case Enums_1.ExportDestination.Excel:
|
|
117
|
-
return
|
|
88
|
+
return `export-${selectionType}-excel`;
|
|
118
89
|
case Enums_1.ExportDestination.JSON:
|
|
119
|
-
return
|
|
90
|
+
return `export-${selectionType}-json`;
|
|
120
91
|
case Enums_1.ExportDestination.Table:
|
|
121
|
-
return
|
|
92
|
+
return `export-${selectionType}-table`;
|
|
122
93
|
}
|
|
123
94
|
}
|
|
124
95
|
async export(report, exportDestination) {
|
|
@@ -4,7 +4,7 @@ import { AdaptableApi } from '../Api/AdaptableApi';
|
|
|
4
4
|
import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
|
|
5
5
|
export declare class Fdc3Module extends AdaptableModuleBase implements IModule {
|
|
6
6
|
constructor(api: AdaptableApi);
|
|
7
|
-
|
|
7
|
+
createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
8
8
|
private buildRaiseIntentMenuItem;
|
|
9
9
|
private buildBroadcastMenuItem;
|
|
10
10
|
private getFdc3Api;
|
|
@@ -8,7 +8,7 @@ class Fdc3Module extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
8
8
|
constructor(api) {
|
|
9
9
|
super(ModuleConstants.Fdc3ModuleId, ModuleConstants.Fdc3FriendlyName, 'fdc3', null, 'The FDC3 Module - handles the FDC3 integration', api);
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
createContextMenuItems(menuContext) {
|
|
12
12
|
if (!this.isModuleAvailable()) {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
@@ -29,19 +29,6 @@ class Fdc3Module extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
29
29
|
contextMenuItems.push(this.buildBroadcastMenuItem(broadcastConfig, currentRowNode));
|
|
30
30
|
});
|
|
31
31
|
contextMenuItems.sort((a, b) => a.label.localeCompare(b.label));
|
|
32
|
-
if (contextMenuItems.length > 1) {
|
|
33
|
-
const groupMenuItem = {
|
|
34
|
-
name: 'fdc3-parent',
|
|
35
|
-
module: this.moduleInfo.ModuleName,
|
|
36
|
-
label: 'FDC3',
|
|
37
|
-
icon: {
|
|
38
|
-
name: 'fdc3',
|
|
39
|
-
},
|
|
40
|
-
isVisible: true,
|
|
41
|
-
subItems: contextMenuItems,
|
|
42
|
-
};
|
|
43
|
-
return [groupMenuItem];
|
|
44
|
-
}
|
|
45
32
|
return contextMenuItems;
|
|
46
33
|
}
|
|
47
34
|
}
|
|
@@ -15,8 +15,8 @@ export declare class FlashingCellModule extends AdaptableModuleBase implements I
|
|
|
15
15
|
}): AdaptableObject[];
|
|
16
16
|
getExplicitlyReferencedColumnIds(alertDefinition: FlashingCellDefinition): string[];
|
|
17
17
|
getReferencedNamedQueryNames(alertDefinition: FlashingCellDefinition): string[];
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
19
|
+
createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
20
20
|
protected handleCellDataChanged(cellDataChangedInfo: CellDataChangedInfo): void;
|
|
21
21
|
private showFlashingCellsForDefinitions;
|
|
22
22
|
private isFlashingTargetOnlyAggChange;
|
|
@@ -64,7 +64,7 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
64
64
|
}
|
|
65
65
|
return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
|
|
66
66
|
}
|
|
67
|
-
|
|
67
|
+
createColumnMenuItems(column) {
|
|
68
68
|
if (column && this.isModuleEditable()) {
|
|
69
69
|
if (!this.api.columnApi.isCalculatedColumn(column.columnId)) {
|
|
70
70
|
const flashingCellDefinitions = this.api.flashingCellApi.getFlashingCellDefinitions();
|
|
@@ -89,7 +89,7 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
createContextMenuItems(menuContext) {
|
|
93
93
|
const items = [];
|
|
94
94
|
if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
|
|
95
95
|
if (menuContext.adaptableColumn && menuContext.rowNode) {
|
|
@@ -13,7 +13,7 @@ export declare class FormatColumnModule extends AdaptableModuleBase implements I
|
|
|
13
13
|
}): AdaptableObject[];
|
|
14
14
|
getExplicitlyReferencedColumnIds(formatColumn: FormatColumn): string[];
|
|
15
15
|
getReferencedNamedQueryNames(formatColumn: FormatColumn): string[];
|
|
16
|
-
|
|
16
|
+
createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
17
17
|
getTeamSharingAction(): TeamSharingImportInfo<FormatColumn>;
|
|
18
18
|
toView(formatColumn: FormatColumn): AdaptableObjectView;
|
|
19
19
|
toViewAll(): AdaptableObjectView[];
|
|
@@ -14,7 +14,6 @@ const getFormatColumnStyleViewItems_1 = require("./Utilities/FormatColumn/getFor
|
|
|
14
14
|
const getObjectTagsViewItems_1 = require("./Utilities/getObjectTagsViewItems");
|
|
15
15
|
const getRuleViewItems_1 = require("./Utilities/getRuleViewItems");
|
|
16
16
|
const MoveFormatColumn_1 = require("../View/FormatColumn/MoveFormatColumn");
|
|
17
|
-
const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
|
|
18
17
|
class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
19
18
|
constructor(api) {
|
|
20
19
|
super(ModuleConstants.FormatColumnModuleId, ModuleConstants.FormatColumnFriendlyName, 'color-palette', 'FormatColumnPopup', 'Create a column style, display format or cell alignment', api);
|
|
@@ -41,56 +40,38 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
41
40
|
}
|
|
42
41
|
return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(queryExpression);
|
|
43
42
|
}
|
|
44
|
-
|
|
43
|
+
createColumnMenuItems(column) {
|
|
44
|
+
if (!column || !this.isModuleEditable() || column.isSparkline) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
45
47
|
let returnColumnMenuItems = [];
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
let createPopupParam = {
|
|
49
|
+
column: column,
|
|
50
|
+
action: 'New',
|
|
51
|
+
source: 'ColumnMenu',
|
|
52
|
+
};
|
|
53
|
+
const createFormatColumnMenuItem = this.createMenuItemShowPopup('format-column-add', 'Create', this.moduleInfo.Popup, 'plus', createPopupParam);
|
|
54
|
+
returnColumnMenuItems.push(this.createMenuItemShowPopup('format-column-add', 'Create Format Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, createPopupParam));
|
|
55
|
+
const formatColumnsForColumn = this.api.formatColumnApi.getFormatColumnsForColumnId(column.columnId);
|
|
56
|
+
if (formatColumnsForColumn.length === 1) {
|
|
57
|
+
let editPopupParam = {
|
|
48
58
|
column: column,
|
|
49
|
-
action: '
|
|
59
|
+
action: 'Edit',
|
|
60
|
+
value: formatColumnsForColumn[0],
|
|
50
61
|
source: 'ColumnMenu',
|
|
51
62
|
};
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
value: formatColumnsForColumn[0],
|
|
65
|
-
source: 'ColumnMenu',
|
|
66
|
-
};
|
|
67
|
-
const editFormatColumnMenuItem = this.createMenuItemShowPopup('format-column-edit', 'Edit', this.moduleInfo.Popup, 'edit', editPopupParam);
|
|
68
|
-
returnColumnMenuItems.push({
|
|
69
|
-
name: 'format-column-parent',
|
|
70
|
-
label: 'Format Column',
|
|
71
|
-
module: this.moduleInfo.ModuleName,
|
|
72
|
-
isVisible: true,
|
|
73
|
-
icon: { name: this.moduleInfo.Glyph },
|
|
74
|
-
subItems: [createFormatColumnMenuItem, editFormatColumnMenuItem],
|
|
75
|
-
});
|
|
76
|
-
// if more than one then display a Create and a Show
|
|
77
|
-
// we should probably do the Show better - perhaps use Column Info in some way?
|
|
78
|
-
// or to filter the format columns ?
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
const moduleInfo = this.api.internalApi
|
|
82
|
-
.getModuleService()
|
|
83
|
-
.getModuleInfoByModule('FormatColumn');
|
|
84
|
-
const editFormatColumnMenuItem = this.createMenuItemReduxAction('format-column-edit', 'Show Current', this.moduleInfo.Glyph, PopupRedux.PopupShowScreen('FormatColumn', moduleInfo.Popup));
|
|
85
|
-
returnColumnMenuItems.push({
|
|
86
|
-
name: 'format-column-parent',
|
|
87
|
-
label: 'Format Column',
|
|
88
|
-
module: this.moduleInfo.ModuleName,
|
|
89
|
-
isVisible: true,
|
|
90
|
-
icon: { name: this.moduleInfo.Glyph },
|
|
91
|
-
subItems: [createFormatColumnMenuItem, editFormatColumnMenuItem],
|
|
92
|
-
});
|
|
93
|
-
}
|
|
63
|
+
const editFormatColumnMenuItem = this.createMenuItemShowPopup('format-column-edit', 'Edit', this.moduleInfo.Popup, 'edit', editPopupParam);
|
|
64
|
+
returnColumnMenuItems.push(editFormatColumnMenuItem);
|
|
65
|
+
}
|
|
66
|
+
else if (formatColumnsForColumn.length > 1) {
|
|
67
|
+
// if more than one then display a Create and a Show
|
|
68
|
+
// we should probably do the Show better - perhaps use Column Info in some way?
|
|
69
|
+
// or to filter the format columns ?
|
|
70
|
+
const moduleInfo = this.api.internalApi
|
|
71
|
+
.getModuleService()
|
|
72
|
+
.getModuleInfoByModule('FormatColumn');
|
|
73
|
+
const editFormatColumnMenuItem = this.createMenuItemReduxAction('format-column-edit', 'Show Current', this.moduleInfo.Glyph, PopupRedux.PopupShowScreen('FormatColumn', moduleInfo.Popup));
|
|
74
|
+
returnColumnMenuItems.push(editFormatColumnMenuItem);
|
|
94
75
|
}
|
|
95
76
|
return returnColumnMenuItems;
|
|
96
77
|
}
|
|
@@ -12,7 +12,7 @@ export declare class FreeTextColumnModule extends AdaptableModuleBase implements
|
|
|
12
12
|
isModuleAvailable(): boolean;
|
|
13
13
|
getModuleAdaptableObjects(): FreeTextColumn[];
|
|
14
14
|
hasNamedQueryReferences(): boolean;
|
|
15
|
-
|
|
15
|
+
createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
16
16
|
getTeamSharingAction(): TeamSharingImportInfo<FreeTextColumn>;
|
|
17
17
|
toView(freeTextColumn: FreeTextColumn): AdaptableObjectView;
|
|
18
18
|
toViewAll(): AdaptableObjectView[];
|
|
@@ -21,7 +21,7 @@ class FreeTextColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
21
21
|
hasNamedQueryReferences() {
|
|
22
22
|
return false;
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
createColumnMenuItems(column) {
|
|
25
25
|
if (column && this.isModuleEditable()) {
|
|
26
26
|
if (this.api.freeTextColumnApi
|
|
27
27
|
.getFreeTextColumns()
|
|
@@ -7,6 +7,6 @@ import { AccessLevel } from '../PredefinedConfig/Common/Entitlement';
|
|
|
7
7
|
export declare class GridInfoModule extends AdaptableModuleBase implements IModule {
|
|
8
8
|
constructor(api: AdaptableApi);
|
|
9
9
|
getViewAccessLevel(): AccessLevel;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
11
|
+
createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
12
12
|
}
|
|
@@ -11,7 +11,7 @@ class GridInfoModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
11
11
|
getViewAccessLevel() {
|
|
12
12
|
return 'Full';
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
createColumnMenuItems(column) {
|
|
15
15
|
if (this.isModuleAvailable()) {
|
|
16
16
|
return [
|
|
17
17
|
this.createMainMenuItemShowPopup({
|
|
@@ -23,7 +23,7 @@ class GridInfoModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
23
23
|
];
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
createContextMenuItems(menuContext) {
|
|
27
27
|
if (this.isModuleAvailable()) {
|
|
28
28
|
return [
|
|
29
29
|
this.createMainMenuItemShowPopup({
|
|
@@ -141,9 +141,9 @@ export interface AdaptableModuleView {
|
|
|
141
141
|
export interface IModule {
|
|
142
142
|
moduleInfo: ModuleInfo;
|
|
143
143
|
AccessLevel: AccessLevel;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
144
|
+
createModuleMenuItem(source: 'ModuleMenu' | 'ModuleButton'): AdaptableMenuItem | undefined;
|
|
145
|
+
createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
146
|
+
createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
147
147
|
setModuleEntitlement(): void;
|
|
148
148
|
isModuleAvailable(): boolean;
|
|
149
149
|
isModuleEditable(): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
3
|
-
import {
|
|
3
|
+
import { Layout, LayoutState } from '../PredefinedConfig/LayoutState';
|
|
4
4
|
import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
|
|
5
5
|
import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
|
|
6
6
|
import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
@@ -13,13 +13,13 @@ export declare class LayoutModule extends AdaptableModuleBase implements IModule
|
|
|
13
13
|
protected LayoutState: LayoutState;
|
|
14
14
|
constructor(api: AdaptableApi);
|
|
15
15
|
onAdaptableReady(): void;
|
|
16
|
-
|
|
16
|
+
rowSummariesSubscriptions(): void;
|
|
17
17
|
getModuleAdaptableObjects(): AdaptableObject[];
|
|
18
18
|
getExplicitlyReferencedColumnIds(layout: Layout): string[];
|
|
19
19
|
getTeamSharingReferences(adaptableObject: AdaptableObject): TeamSharingReferences;
|
|
20
20
|
hasNamedQueryReferences(): boolean;
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
22
|
+
createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
23
23
|
private createViewPivotItemsMenuItem;
|
|
24
24
|
getTeamSharingAction(): TeamSharingImportInfo<Layout>;
|
|
25
25
|
toViewAll(): {
|
|
@@ -40,12 +40,16 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
40
40
|
requestAnimationFrame(() => {
|
|
41
41
|
this.api.layoutApi.internalApi.fireLayoutChangedEvent('ADAPTABLE_READY', null, this.api.layoutApi.getLayoutState());
|
|
42
42
|
});
|
|
43
|
-
this.
|
|
43
|
+
this.rowSummariesSubscriptions();
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
rowSummariesSubscriptions() {
|
|
46
46
|
if (this.api.isDestroyed()) {
|
|
47
47
|
return;
|
|
48
48
|
}
|
|
49
|
+
// Currently not available for serverside model
|
|
50
|
+
if (!this.api.layoutApi.internalApi.getLayoutSupportedFeatures().RowSummaries) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
49
53
|
// ROW SUMMARY
|
|
50
54
|
this.evaluateRowSummary();
|
|
51
55
|
this.api.eventApi.on('AdaptableStateReloaded', () => {
|
|
@@ -146,62 +150,50 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
146
150
|
hasNamedQueryReferences() {
|
|
147
151
|
return true;
|
|
148
152
|
}
|
|
149
|
-
|
|
153
|
+
createColumnMenuItems(column) {
|
|
150
154
|
var _a, _b;
|
|
155
|
+
if (!this.isModuleEditable()) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
151
158
|
let returnColumnMenuItems = [];
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
+
const isReadOnlyLayout = this.api.layoutApi.isCurrentLayoutReadOnly();
|
|
160
|
+
if (!isReadOnlyLayout) {
|
|
161
|
+
returnColumnMenuItems.push(this.createMenuItemShowPopup('layout-edit', 'Edit Layout', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
|
|
162
|
+
action: 'Edit',
|
|
163
|
+
source: 'ColumnMenu',
|
|
164
|
+
value: this.api.layoutApi.getCurrentLayout(),
|
|
165
|
+
}));
|
|
166
|
+
if (column) {
|
|
167
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-caption-change', 'Change Caption', 'edit', () => this.api.layoutApi.showChangeColumnCaption(column)));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
if (column) {
|
|
171
|
+
if (column.hideable) {
|
|
172
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-hide', 'Hide Column', 'visibility-off-bold', () => {
|
|
173
|
+
this.api.columnApi.hideColumn(column.columnId);
|
|
159
174
|
}));
|
|
160
175
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
176
|
+
const hasExistingSelection = (_b = (_a = this.api.gridApi.getSelectedCellInfo()) === null || _a === void 0 ? void 0 : _a.gridCells) === null || _b === void 0 ? void 0 : _b.length;
|
|
177
|
+
if (hasExistingSelection) {
|
|
178
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-select-preserve', 'Column (Preserve Selection)', 'column-add', () => {
|
|
179
|
+
this.api.columnApi.addColumnToSelection(column.columnId);
|
|
180
|
+
}));
|
|
181
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-select-reset', 'Column (Reset Selection)', 'columns', () => {
|
|
182
|
+
this.api.columnApi.selectColumn(column.columnId);
|
|
183
|
+
}));
|
|
170
184
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
selectMenuItems.push(this.createMenuItemClickFunction('layout-column-select-preserve', 'Column (Preserve Selection)', 'column-add', () => {
|
|
176
|
-
this.api.columnApi.addColumnToSelection(column.columnId);
|
|
177
|
-
}));
|
|
178
|
-
selectMenuItems.push(this.createMenuItemClickFunction('layout-column-select-reset', 'Column (Reset Selection)', 'columns', () => {
|
|
179
|
-
this.api.columnApi.selectColumn(column.columnId);
|
|
180
|
-
}));
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
selectMenuItems.push(this.createMenuItemClickFunction('layout-column-select', 'Column', 'columns', () => {
|
|
184
|
-
this.api.columnApi.selectColumn(column.columnId);
|
|
185
|
-
}));
|
|
186
|
-
}
|
|
185
|
+
else {
|
|
186
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-select', 'Column', 'columns', () => {
|
|
187
|
+
this.api.columnApi.selectColumn(column.columnId);
|
|
188
|
+
}));
|
|
187
189
|
}
|
|
188
|
-
selectMenuItems.push(this.createMenuItemClickFunction('layout-select-all', 'Whole Grid', this.moduleInfo.Glyph, () => {
|
|
189
|
-
this.api.gridApi.selectAll();
|
|
190
|
-
}));
|
|
191
|
-
returnColumnMenuItems.push({
|
|
192
|
-
name: 'layout-select-parent',
|
|
193
|
-
label: 'Select',
|
|
194
|
-
isVisible: true,
|
|
195
|
-
module: this.moduleInfo.ModuleName,
|
|
196
|
-
icon: {
|
|
197
|
-
name: 'tab-unselected',
|
|
198
|
-
},
|
|
199
|
-
subItems: selectMenuItems,
|
|
200
|
-
});
|
|
201
190
|
}
|
|
191
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-select-all', 'Whole Grid', this.moduleInfo.Glyph, () => {
|
|
192
|
+
this.api.gridApi.selectAll();
|
|
193
|
+
}));
|
|
202
194
|
return returnColumnMenuItems;
|
|
203
195
|
}
|
|
204
|
-
|
|
196
|
+
createContextMenuItems(menuContext) {
|
|
205
197
|
let returnColumnMenuItems = [];
|
|
206
198
|
if (this.isModuleEditable() && !this.api.layoutApi.isCurrentLayoutReadOnly()) {
|
|
207
199
|
returnColumnMenuItems.push(this.createMenuItemShowPopup('layout-edit', 'Edit Layout', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
|
|
@@ -213,36 +205,23 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
213
205
|
ArrayExtensions_1.default.IsNotNullOrEmpty(menuContext.selectedCellInfo.columns)) ||
|
|
214
206
|
(menuContext.selectedRowInfo &&
|
|
215
207
|
ArrayExtensions_1.default.IsNotNullOrEmpty(menuContext.selectedRowInfo.gridRows))) {
|
|
216
|
-
|
|
208
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-clear-selection', 'Clear Selected Cells', 'undo', () => {
|
|
217
209
|
this.api.gridApi.deselectAll();
|
|
218
|
-
};
|
|
219
|
-
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-clear-selection', 'Clear Selected Cells', 'undo', clickFunction));
|
|
220
|
-
if (this.isModuleAvailable()) {
|
|
221
|
-
let gridMenuItems = [];
|
|
222
|
-
let autoSizeFunction = () => {
|
|
223
|
-
this.api.columnApi.autosizeAllColumns();
|
|
224
|
-
};
|
|
225
|
-
gridMenuItems.push(this.createMenuItemClickFunction('layout-auto-size', 'Auto Size', 'arrow-expand', autoSizeFunction));
|
|
226
|
-
let clickFunction = () => {
|
|
227
|
-
this.api.gridApi.selectAll();
|
|
228
|
-
};
|
|
229
|
-
gridMenuItems.push(this.createMenuItemClickFunction('layout-select-all', 'Select', 'tab-unselected', clickFunction));
|
|
230
|
-
returnColumnMenuItems.push({
|
|
231
|
-
name: 'layout-grid-parent',
|
|
232
|
-
label: 'Grid',
|
|
233
|
-
module: this.moduleInfo.ModuleName,
|
|
234
|
-
isVisible: true,
|
|
235
|
-
icon: { name: 'align-justify' },
|
|
236
|
-
subItems: gridMenuItems,
|
|
237
|
-
});
|
|
238
|
-
}
|
|
210
|
+
}));
|
|
239
211
|
}
|
|
212
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-select-all', 'Select', 'tab-unselected', () => {
|
|
213
|
+
this.api.gridApi.selectAll();
|
|
214
|
+
}));
|
|
215
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-auto-size', 'Auto Size', 'arrow-expand', () => {
|
|
216
|
+
this.api.columnApi.autosizeAllColumns();
|
|
217
|
+
}));
|
|
240
218
|
const viewPivotItemsMenuItem = this.createViewPivotItemsMenuItem(menuContext);
|
|
241
219
|
if (viewPivotItemsMenuItem) {
|
|
242
220
|
returnColumnMenuItems.push(viewPivotItemsMenuItem);
|
|
243
221
|
}
|
|
244
222
|
return returnColumnMenuItems;
|
|
245
223
|
}
|
|
224
|
+
// TODO next time this method is touched, it should be extracted in an internal Api
|
|
246
225
|
createViewPivotItemsMenuItem(menuContext) {
|
|
247
226
|
// current group => menuContext.rowNode.field;
|
|
248
227
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
@@ -342,7 +321,7 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
342
321
|
const firstNColumns = columns
|
|
343
322
|
.slice(0, maxColumnsToDisplay)
|
|
344
323
|
.map((column) => columnIdToFriendlyName(column));
|
|
345
|
-
columns = [...firstNColumns, `and
|
|
324
|
+
columns = [...firstNColumns, `and ${extraColumns} more`];
|
|
346
325
|
}
|
|
347
326
|
else {
|
|
348
327
|
columns = columns.map((column) => columnIdToFriendlyName(column));
|
|
@@ -6,6 +6,5 @@ export declare class NoteModule extends AdaptableModuleBase implements IModule {
|
|
|
6
6
|
private adaptable;
|
|
7
7
|
constructor(api: AdaptableApi);
|
|
8
8
|
isModuleAvailable(): boolean;
|
|
9
|
-
|
|
10
|
-
private getAddRemoveNoteMenuItems;
|
|
9
|
+
createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
|
|
11
10
|
}
|