@adaptabletools/adaptable-cjs 18.1.14 → 18.1.15-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.
Files changed (156) hide show
  1. package/package.json +2 -2
  2. package/src/AdaptableInterfaces/IAdaptable.d.ts +3 -5
  3. package/src/AdaptableOptions/AlertOptions.d.ts +2 -1
  4. package/src/AdaptableOptions/ChartingOptions.d.ts +5 -1
  5. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +5 -1
  6. package/src/AdaptableOptions/DashboardOptions.d.ts +5 -1
  7. package/src/AdaptableOptions/FlashingCellOptions.d.ts +5 -1
  8. package/src/AdaptableOptions/LayoutOptions.d.ts +5 -1
  9. package/src/AdaptableOptions/NotificationsOptions.d.ts +6 -2
  10. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +5 -1
  11. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -1
  12. package/src/Api/ChartingApi.d.ts +2 -2
  13. package/src/Api/ColumnApi.d.ts +6 -0
  14. package/src/Api/ConfigApi.d.ts +22 -2
  15. package/src/Api/Events/LiveDataChanged.d.ts +1 -1
  16. package/src/Api/Implementation/AdaptableApiImpl.d.ts +1 -1
  17. package/src/Api/Implementation/ChartingApiImpl.d.ts +1 -1
  18. package/src/Api/Implementation/ChartingApiImpl.js +2 -2
  19. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  20. package/src/Api/Implementation/ColumnApiImpl.js +3 -0
  21. package/src/Api/Implementation/ConfigApiImpl.d.ts +4 -1
  22. package/src/Api/Implementation/ConfigApiImpl.js +16 -1
  23. package/src/Api/Implementation/EntitlementApiImpl.d.ts +4 -1
  24. package/src/Api/Implementation/EntitlementApiImpl.js +31 -6
  25. package/src/Api/Implementation/ExportApiImpl.js +5 -7
  26. package/src/Api/Implementation/GridApiImpl.js +1 -1
  27. package/src/Api/Implementation/TeamSharingApiImpl.js +2 -6
  28. package/src/Api/Internal/AdaptableInternalApi.d.ts +2 -6
  29. package/src/Api/Internal/AdaptableInternalApi.js +5 -11
  30. package/src/Api/Internal/EntitlementInternalApi.d.ts +4 -0
  31. package/src/Api/Internal/EntitlementInternalApi.js +15 -0
  32. package/src/Api/Internal/ExportInternalApi.d.ts +33 -8
  33. package/src/Api/Internal/ExportInternalApi.js +577 -5
  34. package/src/Api/Internal/NamedQueryInternalApi.d.ts +0 -1
  35. package/src/Api/Internal/NamedQueryInternalApi.js +0 -5
  36. package/src/PredefinedConfig/AdaptableState.d.ts +0 -5
  37. package/src/PredefinedConfig/Common/FilterActionOnDataChange.d.ts +2 -1
  38. package/src/PredefinedConfig/StyledColumnState.d.ts +1 -1
  39. package/src/Redux/ActionsReducers/GridRedux.d.ts +6 -6
  40. package/src/Redux/ActionsReducers/GridRedux.js +11 -11
  41. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +3 -3
  42. package/src/Redux/ActionsReducers/LayoutRedux.js +10 -10
  43. package/src/Redux/ActionsReducers/NamedQueryRedux.d.ts +1 -1
  44. package/src/Redux/ActionsReducers/NamedQueryRedux.js +1 -1
  45. package/src/Redux/ActionsReducers/PluginsRedux.d.ts +2 -2
  46. package/src/Redux/ActionsReducers/PluginsRedux.js +3 -3
  47. package/src/Redux/Store/AdaptableReduxMerger.js +3 -3
  48. package/src/Redux/Store/AdaptableStore.js +2 -4
  49. package/src/Strategy/AdaptableModuleBase.js +1 -2
  50. package/src/Strategy/ColumnFilterModule.js +1 -2
  51. package/src/Strategy/ExportModule.js +17 -44
  52. package/src/Strategy/FlashingCellModule.js +2 -10
  53. package/src/Strategy/ScheduleModule.js +4 -6
  54. package/src/Strategy/SmartEditModule.js +1 -7
  55. package/src/Strategy/TeamSharingModule.js +2 -2
  56. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.js +1 -1
  57. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +1 -3
  58. package/src/Utilities/Constants/FilterConstants.d.ts +10 -0
  59. package/src/Utilities/Constants/FilterConstants.js +11 -0
  60. package/src/Utilities/Constants/GeneralConstants.d.ts +41 -4
  61. package/src/Utilities/Constants/GeneralConstants.js +44 -5
  62. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +0 -2
  63. package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -6
  64. package/src/Utilities/Extensions/ArrayExtensions.d.ts +14 -0
  65. package/src/Utilities/Extensions/ArrayExtensions.js +68 -1
  66. package/src/Utilities/Extensions/EnumExtensions.d.ts +0 -4
  67. package/src/Utilities/Extensions/EnumExtensions.js +3 -15
  68. package/src/Utilities/Helpers/AdaptableHelper.d.ts +4 -10
  69. package/src/Utilities/Helpers/AdaptableHelper.js +10 -64
  70. package/src/Utilities/Helpers/FormatHelper.d.ts +9 -0
  71. package/src/Utilities/Helpers/FormatHelper.js +26 -14
  72. package/src/Utilities/Helpers/Helper.d.ts +0 -10
  73. package/src/Utilities/Helpers/Helper.js +1 -76
  74. package/src/Utilities/Services/ChartingService.d.ts +2 -2
  75. package/src/Utilities/Services/ChartingService.js +5 -11
  76. package/src/Utilities/Services/ModuleService.js +35 -31
  77. package/src/Utilities/Services/RowEditService.js +1 -6
  78. package/src/Utilities/Services/RowSummaryService.js +2 -2
  79. package/src/Utilities/Services/ValidationService.js +2 -16
  80. package/src/View/Alert/AlertEmptyView.js +1 -2
  81. package/src/View/Charting/ChartingStatusBarPopover.js +1 -2
  82. package/src/View/Charting/useChartingElements.js +1 -1
  83. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +2 -6
  84. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +2 -4
  85. package/src/View/Components/FilterForm/QuickFilterForm.js +2 -12
  86. package/src/View/Components/ModuleValueSelector/index.js +2 -2
  87. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -5
  88. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +1 -3
  89. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +2 -1
  90. package/src/View/Components/Popups/AdaptablePopupAlert.js +1 -7
  91. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +6 -12
  92. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +3 -23
  93. package/src/View/Components/ToolPanel/ToolPanelPopup.js +4 -5
  94. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -3
  95. package/src/View/Components/ValueSelector/index.js +2 -2
  96. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +2 -2
  97. package/src/View/Dashboard/CustomDashboardButton.js +1 -6
  98. package/src/View/Dashboard/CustomToolbar.js +2 -9
  99. package/src/View/Dashboard/Dashboard.js +2 -4
  100. package/src/View/Dashboard/DashboardPopup.js +1 -3
  101. package/src/View/Dashboard/DashboardToolbarFactory.js +1 -2
  102. package/src/View/Dashboard/PinnedToolbarsSelector.js +1 -2
  103. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -3
  104. package/src/View/Export/ExportViewPanel.js +2 -4
  105. package/src/View/Export/Wizard/ReportSummaryWizard.js +2 -6
  106. package/src/View/GridFilter/GridFilterExpressionEditor.js +2 -2
  107. package/src/View/GridFilter/useGridFilterExpressionEditor.js +2 -6
  108. package/src/View/Layout/LayoutViewPanel.js +1 -1
  109. package/src/View/Layout/PivotDetailsPopoup.js +1 -7
  110. package/src/View/Layout/SaveLayoutButton.js +1 -3
  111. package/src/View/Layout/Wizard/sections/AggregationsSection.js +2 -2
  112. package/src/View/Layout/Wizard/sections/ColumnsSection.js +2 -2
  113. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +2 -2
  114. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +2 -2
  115. package/src/View/Layout/Wizard/sections/RowSummarySection.js +2 -2
  116. package/src/View/Layout/Wizard/sections/SortSection.js +2 -2
  117. package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +3 -3
  118. package/src/View/SpecialColumnSettingsWizardStep.js +1 -1
  119. package/src/View/SystemStatus/SystemStatusPopup.js +1 -1
  120. package/src/View/Wizard/OnePageAdaptableWizard.js +2 -2
  121. package/src/agGrid/ActionColumnRenderer.js +8 -22
  122. package/src/agGrid/AdaptableAgGrid.d.ts +5 -7
  123. package/src/agGrid/AdaptableAgGrid.js +152 -144
  124. package/src/agGrid/AgGridAdapter.d.ts +0 -1
  125. package/src/agGrid/AgGridAdapter.js +7 -10
  126. package/src/agGrid/AgGridColumnAdapter.d.ts +3 -1
  127. package/src/agGrid/AgGridColumnAdapter.js +39 -13
  128. package/src/agGrid/BadgeRenderer.js +4 -22
  129. package/src/agGrid/FloatingFilterWrapper.js +21 -0
  130. package/src/agGrid/buildSortedColumnStateForLayout.d.ts +1 -1
  131. package/src/agGrid/buildSortedColumnStateForLayout.js +2 -2
  132. package/src/agGrid/defaultAdaptableOptions.js +35 -30
  133. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +3 -15
  134. package/src/env.js +2 -2
  135. package/src/metamodel/adaptable.metamodel.d.ts +84 -8
  136. package/src/metamodel/adaptable.metamodel.js +1 -1
  137. package/src/types.d.ts +9 -9
  138. package/tsconfig.cjs.tsbuildinfo +1 -1
  139. package/src/Redux/ActionsReducers/QueryRedux.d.ts +0 -10
  140. package/src/Redux/ActionsReducers/QueryRedux.js +0 -25
  141. package/src/Utilities/Helpers/FormatContentHelper.d.ts +0 -22
  142. package/src/Utilities/Helpers/FormatContentHelper.js +0 -39
  143. package/src/Utilities/Services/EntitlementService.d.ts +0 -14
  144. package/src/Utilities/Services/EntitlementService.js +0 -67
  145. package/src/Utilities/Services/Interface/IEntitlementService.d.ts +0 -10
  146. package/src/Utilities/Services/Interface/IEntitlementService.js +0 -2
  147. package/src/Utilities/Services/Interface/IReportService.d.ts +0 -27
  148. package/src/Utilities/Services/Interface/IReportService.js +0 -2
  149. package/src/Utilities/Services/ReportService.d.ts +0 -41
  150. package/src/Utilities/Services/ReportService.js +0 -608
  151. package/src/Utilities/isAdaptableObject.d.ts +0 -2
  152. package/src/Utilities/isAdaptableObject.js +0 -8
  153. package/src/Utilities/reorder.d.ts +0 -1
  154. package/src/Utilities/reorder.js +0 -17
  155. package/src/Utilities/sortWithOrder.d.ts +0 -11
  156. package/src/Utilities/sortWithOrder.js +0 -54
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntitlementInternalApi = void 0;
4
+ const ApiBase_1 = require("../Implementation/ApiBase");
5
+ class EntitlementInternalApi extends ApiBase_1.ApiBase {
6
+ setModulesEntitlements() {
7
+ this.getAdaptableApi()
8
+ .internalApi.getModuleService()
9
+ .getModuleCollection()
10
+ .forEach((module) => {
11
+ module.setModuleEntitlement();
12
+ });
13
+ }
14
+ }
15
+ exports.EntitlementInternalApi = EntitlementInternalApi;
@@ -1,16 +1,14 @@
1
1
  import { ApiBase } from '../Implementation/ApiBase';
2
2
  import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
3
- import { Report } from '../../PredefinedConfig/ExportState';
3
+ import { Report, ReportData, SystemReportName } from '../../PredefinedConfig/ExportState';
4
4
  import { AdaptableColumnType } from '../../PredefinedConfig/Common/Types';
5
- import { ExcelDataType, ExcelStyle } from '@ag-grid-community/core';
5
+ import { ExcelDataType, ExcelStyle, IRowNode } from '@ag-grid-community/core';
6
6
  import { AdaptableColumn, AdaptableColumnDataType } from '../../PredefinedConfig/Common/AdaptableColumn';
7
- import { DataFormatType } from '../../AdaptableOptions/ExportOptions';
7
+ import { AdaptableReportColumn, CustomDestination, DataFormatType, SystemExportDestination } from '../../AdaptableOptions/ExportOptions';
8
8
  export declare class ExportInternalApi extends ApiBase {
9
- /**
10
- * Whether given data change affects given report
11
- * @param cellDataChangedInfo data change to check
12
- * @param report report to check
13
- */
9
+ private excelStylesCache;
10
+ private cellClassKey2excelStyleIdMap;
11
+ private excelStylesWithFormattedDate;
14
12
  isDataChangeInReport(cellDataChangedInfo: CellDataChangedInfo, report: Report): boolean;
15
13
  getExcelDataType(adaptableColumnType: string | string[] | AdaptableColumnType | AdaptableColumnType[]): ExcelDataType;
16
14
  isVisualDataExportInProgress(): boolean;
@@ -18,4 +16,31 @@ export declare class ExportInternalApi extends ApiBase {
18
16
  getCellExportFormatType(column: AdaptableColumn, columnDataType: AdaptableColumnDataType): DataFormatType;
19
17
  isDestinationEnabled(destination: string): boolean;
20
18
  getExcelStylesForVisualDataExport(original_excelStyles: ExcelStyle[]): ExcelStyle[];
19
+ getExcelStyleIdForCellClassKey(cellClassKey: string): string;
20
+ getExcelStyleWithFormattedDate(cellClassId: string): string;
21
+ createSystemReport(systemReportName: SystemReportName): Report;
22
+ isSystemReport(reportName: string): boolean;
23
+ isSystemReportActive(reportName: SystemReportName): boolean;
24
+ isSystemExportDestinationActive(exportDestination: SystemExportDestination): boolean;
25
+ getReportColumnScopeShortDescription(report: Report): string[];
26
+ getReportColumnScopeLongDescription(report: Report): string;
27
+ getReportExpressionDescription(report: Report, cols: AdaptableColumn[]): string;
28
+ getReportDataColumns(report: Report, includePrimaryKey?: boolean): AdaptableReportColumn[];
29
+ getReportDataRows(report: Report, columns: AdaptableReportColumn[], includePrimaryKey?: boolean): Record<string, any>[];
30
+ getReportData(report: Report, includePrimaryKey?: boolean): ReportData;
31
+ getReportDataAsArray(report: Report, includePrimaryKey?: boolean): any[][];
32
+ convertReportDataToArray(reportData: ReportData): any[][];
33
+ getRowObjectForColumnIds(rowNode: IRowNode, columnIds: string[]): Record<string, any>;
34
+ publishLiveLiveDataChangedEvent(reportDestination: 'ipushpull' | 'OpenFin', liveDataTrigger: 'Connected' | 'Disconnected' | 'SnapshotSent' | 'LiveDataStarted' | 'LiveDataStopped' | 'LiveDataUpdated', liveReport?: any): void;
35
+ getCellExportValueFromRowNode(rowNode: IRowNode, columnId: string): any;
36
+ getCellExportValueFromRawValue(rowNode: IRowNode, cellRawValue: any, columnId: string): any;
37
+ getReportFileName(reportName: string, destination: SystemExportDestination | CustomDestination): string;
38
+ private getCustomExportDateFormat;
39
+ private getCellExportValueFromRawValueByType;
40
+ buildExcelStylesForVisualReports(): ExcelStyle[];
41
+ createExcelStyleMemoization(): void;
42
+ private convertCSSToExcelStyle;
43
+ private resetExcelStyleMemoization;
44
+ private registerExcelStyle;
45
+ private registerExcelStyleWithFormattedDate;
21
46
  }
@@ -1,13 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExportInternalApi = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const ApiBase_1 = require("../Implementation/ApiBase");
6
+ const lodash_1 = require("lodash");
7
+ const tinycolor2_1 = tslib_1.__importDefault(require("tinycolor2"));
8
+ const Enums_1 = require("../../PredefinedConfig/Common/Enums");
9
+ const Uuid_1 = require("../../PredefinedConfig/Uuid");
10
+ const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
11
+ const ModuleConstants_1 = require("../../Utilities/Constants/ModuleConstants");
12
+ const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
13
+ const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
14
+ const FormatHelper_1 = tslib_1.__importStar(require("../../Utilities/Helpers/FormatHelper"));
15
+ const StyleHelper_1 = require("../../Utilities/Helpers/StyleHelper");
16
+ const ObjectFactory_1 = require("../../Utilities/ObjectFactory");
5
17
  class ExportInternalApi extends ApiBase_1.ApiBase {
6
- /**
7
- * Whether given data change affects given report
8
- * @param cellDataChangedInfo data change to check
9
- * @param report report to check
10
- */
18
+ constructor() {
19
+ super(...arguments);
20
+ this.excelStylesCache = {};
21
+ this.cellClassKey2excelStyleIdMap = {};
22
+ this.excelStylesWithFormattedDate = {};
23
+ }
11
24
  isDataChangeInReport(cellDataChangedInfo, report) {
12
25
  // for All Data Report any data change is true so get out asap
13
26
  if (report.Name == 'All Data') {
@@ -143,5 +156,564 @@ class ExportInternalApi extends ApiBase_1.ApiBase {
143
156
  getExcelStylesForVisualDataExport(original_excelStyles) {
144
157
  return [];
145
158
  }
159
+ getExcelStyleIdForCellClassKey(cellClassKey) {
160
+ return this.cellClassKey2excelStyleIdMap[cellClassKey];
161
+ }
162
+ getExcelStyleWithFormattedDate(cellClassId) {
163
+ return this.excelStylesWithFormattedDate[cellClassId];
164
+ }
165
+ createSystemReport(systemReportName) {
166
+ switch (systemReportName) {
167
+ case GeneralConstants_1.VISUAL_DATA_REPORT:
168
+ return {
169
+ Uuid: (0, Uuid_1.createUuid)(),
170
+ Name: GeneralConstants_1.VISUAL_DATA_REPORT,
171
+ ReportColumnScope: 'VisibleColumns',
172
+ ReportRowScope: 'VisibleRows',
173
+ Query: undefined,
174
+ IsReadOnly: true,
175
+ };
176
+ case GeneralConstants_1.ALL_DATA_REPORT:
177
+ return {
178
+ Uuid: (0, Uuid_1.createUuid)(),
179
+ Name: GeneralConstants_1.ALL_DATA_REPORT,
180
+ ReportColumnScope: 'AllColumns',
181
+ ReportRowScope: 'AllRows',
182
+ Query: undefined,
183
+ IsReadOnly: true,
184
+ };
185
+ case GeneralConstants_1.CURRENT_DATA_REPORT:
186
+ return {
187
+ Uuid: (0, Uuid_1.createUuid)(),
188
+ Name: GeneralConstants_1.CURRENT_DATA_REPORT,
189
+ ReportColumnScope: 'VisibleColumns',
190
+ ReportRowScope: 'VisibleRows',
191
+ Query: undefined,
192
+ IsReadOnly: true,
193
+ };
194
+ case GeneralConstants_1.SELECTED_CELLS_REPORT:
195
+ return {
196
+ Uuid: (0, Uuid_1.createUuid)(),
197
+ Name: GeneralConstants_1.SELECTED_CELLS_REPORT,
198
+ ReportColumnScope: 'SelectedColumns',
199
+ ReportRowScope: 'SelectedCellRows',
200
+ Query: undefined,
201
+ IsReadOnly: true,
202
+ };
203
+ case GeneralConstants_1.SELECTED_ROWS_REPORT:
204
+ return {
205
+ Uuid: (0, Uuid_1.createUuid)(),
206
+ Name: GeneralConstants_1.SELECTED_ROWS_REPORT,
207
+ ReportColumnScope: 'VisibleColumns',
208
+ ReportRowScope: 'SelectedRows',
209
+ Query: undefined,
210
+ IsReadOnly: true,
211
+ };
212
+ }
213
+ }
214
+ isSystemReport(reportName) {
215
+ return (reportName == null ||
216
+ reportName == GeneralConstants_1.ALL_DATA_REPORT ||
217
+ reportName == GeneralConstants_1.CURRENT_DATA_REPORT ||
218
+ reportName == GeneralConstants_1.SELECTED_CELLS_REPORT ||
219
+ reportName == GeneralConstants_1.SELECTED_ROWS_REPORT ||
220
+ reportName == GeneralConstants_1.VISUAL_DATA_REPORT);
221
+ }
222
+ isSystemReportActive(reportName) {
223
+ if (reportName == GeneralConstants_1.SELECTED_CELLS_REPORT) {
224
+ return this.getAdaptableApi().gridApi.isGridRangeSelectable();
225
+ }
226
+ if (reportName == GeneralConstants_1.SELECTED_ROWS_REPORT) {
227
+ return this.getAdaptableApi().gridApi.isGridRowSelectable();
228
+ }
229
+ if (reportName === GeneralConstants_1.VISUAL_DATA_REPORT) {
230
+ return this.getAdaptableApi()
231
+ .exportApi.getAvailableExportDestinations()
232
+ .includes(Enums_1.ExportDestination.Excel);
233
+ }
234
+ return true;
235
+ }
236
+ isSystemExportDestinationActive(exportDestination) {
237
+ if (exportDestination === Enums_1.ExportDestination.Excel) {
238
+ return this.getAdaptableApi().exportApi.canExportToExcel();
239
+ }
240
+ return true;
241
+ }
242
+ getReportColumnScopeShortDescription(report) {
243
+ var _a, _b;
244
+ if (this.getAdaptableApi().exportApi.isExternalReport(report)) {
245
+ return ['[Custom Columns]'];
246
+ }
247
+ switch (report.ReportColumnScope) {
248
+ case 'AllColumns':
249
+ return ['[All Columns]'];
250
+ case 'VisibleColumns':
251
+ return ['[Visible Columns]'];
252
+ case 'SelectedColumns':
253
+ return ['[Selected Columns]'];
254
+ case 'ScopeColumns':
255
+ if ('ColumnIds' in (report === null || report === void 0 ? void 0 : report.Scope)) {
256
+ return (_b = (_a = report.Scope.ColumnIds).map) === null || _b === void 0 ? void 0 : _b.call(_a, (columnId) => { var _a; return (_a = this.getAdaptableApi().columnApi.getFriendlyNameForColumnId(columnId)) !== null && _a !== void 0 ? _a : columnId; });
257
+ }
258
+ return ['[Bespoke Columns]'];
259
+ }
260
+ }
261
+ getReportColumnScopeLongDescription(report) {
262
+ if (this.getAdaptableApi().exportApi.isExternalReport(report)) {
263
+ return '[Custom Columns]';
264
+ }
265
+ switch (report.ReportColumnScope) {
266
+ case 'AllColumns':
267
+ return '[All Columns]';
268
+ case 'VisibleColumns':
269
+ return '[Visible Columns]';
270
+ case 'SelectedColumns':
271
+ return '[Selected Columns]';
272
+ case 'ScopeColumns':
273
+ return this.getAdaptableApi().columnScopeApi.getScopeDescription(report.Scope);
274
+ }
275
+ }
276
+ getReportExpressionDescription(report, cols) {
277
+ if (this.getAdaptableApi().exportApi.isExternalReport(report)) {
278
+ return '[Custom Data]';
279
+ }
280
+ if (this.isSystemReport(report.Name)) {
281
+ if (report.Name == GeneralConstants_1.ALL_DATA_REPORT) {
282
+ return '[All Data]';
283
+ }
284
+ else if (report.Name == GeneralConstants_1.CURRENT_DATA_REPORT) {
285
+ return '[All Current Data]';
286
+ }
287
+ else if (report.Name == GeneralConstants_1.SELECTED_CELLS_REPORT) {
288
+ return '[Selected Cells Data]';
289
+ }
290
+ else if (report.Name == GeneralConstants_1.SELECTED_ROWS_REPORT) {
291
+ return '[Selected Rows Data]';
292
+ }
293
+ else if (report.Name == GeneralConstants_1.VISUAL_DATA_REPORT) {
294
+ return '[Current Data as WYSIWYG]';
295
+ }
296
+ }
297
+ else {
298
+ switch (report.ReportRowScope) {
299
+ case 'AllRows':
300
+ return '[All Rows]';
301
+ case 'VisibleRows':
302
+ return '[Visible Rows]';
303
+ case 'SelectedRows':
304
+ return '[Selected Rows]';
305
+ case 'ExpressionRows':
306
+ return this.getAdaptableApi().internalApi.getAdaptableQueryExpressionText(report.Query);
307
+ }
308
+ }
309
+ }
310
+ getReportDataColumns(report, includePrimaryKey = false) {
311
+ let reportColumns = [];
312
+ let gridColumns = this.getAdaptableApi().columnApi.getExportableColumns();
313
+ if (this.getAdaptableApi().exportApi.isExternalReport(report)) {
314
+ return reportColumns;
315
+ }
316
+ // first get the cols depending on the Column Scope
317
+ switch (report.ReportColumnScope) {
318
+ case 'AllColumns':
319
+ reportColumns = gridColumns;
320
+ break;
321
+ case 'VisibleColumns':
322
+ reportColumns = gridColumns.filter((c) => c.visible);
323
+ break;
324
+ case 'SelectedColumns':
325
+ // we extract the selected columns from the grid columns to preserve the grid column order
326
+ const selectedColumnIds = this.getAdaptableApi()
327
+ .gridApi.getSelectedCellInfo()
328
+ .columns.map((column) => column.columnId);
329
+ reportColumns = gridColumns.filter((gridColumn) => selectedColumnIds.includes(gridColumn.columnId));
330
+ break;
331
+ case 'ScopeColumns':
332
+ if ('ColumnIds' in report.Scope) {
333
+ reportColumns = report.Scope.ColumnIds.map((columnId) => this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId)).filter((c) => c);
334
+ }
335
+ else {
336
+ reportColumns = this.getAdaptableApi().columnScopeApi.getColumnsForScope(report.Scope);
337
+ }
338
+ break;
339
+ }
340
+ if (includePrimaryKey) {
341
+ const pkColumn = reportColumns.find((column) => column.columnId === this.getAdaptableApi().optionsApi.getPrimaryKey());
342
+ // TODO simplify after we fix the IsPrimaryKey bug
343
+ // const pkColumn = reportColumns.find(column => column.IsPrimaryKey);
344
+ if (!pkColumn && !!this.getAdaptableApi().columnApi.getPrimaryKeyColumn()) {
345
+ reportColumns.push(this.getAdaptableApi().columnApi.getPrimaryKeyColumn());
346
+ }
347
+ }
348
+ return reportColumns.map((column) => {
349
+ var _a;
350
+ return ({
351
+ columnId: column.columnId,
352
+ friendlyName: column.friendlyName,
353
+ dataType: column.dataType,
354
+ field: (_a = column.field) !== null && _a !== void 0 ? _a : column.columnId,
355
+ });
356
+ });
357
+ }
358
+ getReportDataRows(report, columns, includePrimaryKey) {
359
+ var _a, _b;
360
+ if (ArrayExtensions_1.default.IsNullOrEmpty(columns)) {
361
+ return [];
362
+ }
363
+ const columnIds = columns.map((column) => column.columnId);
364
+ const resultRowData = [];
365
+ switch (report.ReportRowScope) {
366
+ case 'AllRows':
367
+ this.getAdaptableApi().internalApi.forAllRowNodesDo((rowNode) => {
368
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
369
+ });
370
+ break;
371
+ case 'VisibleRows':
372
+ this.getAdaptableApi().internalApi.forAllVisibleRowNodesDo((rowNode) => {
373
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
374
+ });
375
+ break;
376
+ case 'ExpressionRows':
377
+ this.getAdaptableApi().internalApi.forAllRowNodesDo((rowNode) => {
378
+ var _a;
379
+ if (this.getAdaptableApi()
380
+ .internalApi.getQueryLanguageService()
381
+ .evaluateBooleanExpression((_a = report.Query) === null || _a === void 0 ? void 0 : _a.BooleanExpression, ModuleConstants_1.ExportModuleId, rowNode)) {
382
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
383
+ }
384
+ });
385
+ break;
386
+ case 'SelectedCellRows':
387
+ const selectedCellInfo = this.getAdaptableApi().gridApi.getSelectedCellInfo();
388
+ const { gridCells: GridCells } = selectedCellInfo;
389
+ let selectedCellsByPrimaryKey = (0, lodash_1.groupBy)(GridCells, 'primaryKeyValue');
390
+ // we iterate over all visibleRowNodes to preserve the current order
391
+ this.getAdaptableApi().internalApi.forAllVisibleRowNodesDo((rowNode) => {
392
+ const rowPrimaryKeyValue = this.getAdaptableApi().gridApi.getPrimaryKeyValueForRowNode(rowNode);
393
+ const selectedRowCells = selectedCellsByPrimaryKey[rowPrimaryKeyValue];
394
+ if (selectedRowCells) {
395
+ const selectedRowColumnIds = selectedRowCells.map((rowCell) => rowCell.column.columnId);
396
+ const selectedColumnIds = columnIds.filter((columnId) => selectedRowColumnIds.includes(columnId));
397
+ const row = this.getRowObjectForColumnIds(rowNode, selectedColumnIds);
398
+ if (includePrimaryKey) {
399
+ row[this.getAdaptableApi().optionsApi.getPrimaryKey()] = rowPrimaryKeyValue;
400
+ }
401
+ resultRowData.push(row);
402
+ }
403
+ });
404
+ break;
405
+ case 'SelectedRows':
406
+ const selectedRowInfo = this.getAdaptableApi().gridApi.getSelectedRowInfo();
407
+ const selectedGridRowPrimaryKeys = (_b = (_a = selectedRowInfo === null || selectedRowInfo === void 0 ? void 0 : selectedRowInfo.gridRows) === null || _a === void 0 ? void 0 : _a.filter((gr) => gr.rowInfo.isGroup == false).map((gridRow) => gridRow.primaryKeyValue)) !== null && _b !== void 0 ? _b : [];
408
+ if (selectedGridRowPrimaryKeys.length) {
409
+ this.getAdaptableApi().internalApi.forAllRowNodesDo((rowNode) => {
410
+ const rowPrimaryKeyValue = this.getAdaptableApi().gridApi.getPrimaryKeyValueForRowNode(rowNode);
411
+ if (selectedGridRowPrimaryKeys.includes(rowPrimaryKeyValue)) {
412
+ resultRowData.push(this.getRowObjectForColumnIds(rowNode, columnIds));
413
+ }
414
+ });
415
+ }
416
+ break;
417
+ }
418
+ return resultRowData;
419
+ }
420
+ getReportData(report, includePrimaryKey = false) {
421
+ if (this.getAdaptableApi().exportApi.isExternalReport(report)) {
422
+ return this.getAdaptableApi().exportApi.runExternalReport(report.Name);
423
+ }
424
+ const columns = this.getReportDataColumns(report, includePrimaryKey);
425
+ const rows = this.getReportDataRows(report, columns, includePrimaryKey);
426
+ return { columns, rows };
427
+ }
428
+ getReportDataAsArray(report, includePrimaryKey = false) {
429
+ const reportData = this.getReportData(report, includePrimaryKey);
430
+ return this.convertReportDataToArray(reportData);
431
+ }
432
+ convertReportDataToArray(reportData) {
433
+ return [
434
+ reportData.columns.map((column) => column.friendlyName),
435
+ ...reportData.rows.map((row) => reportData.columns.map((column) => row[column.columnId])),
436
+ ];
437
+ }
438
+ getRowObjectForColumnIds(rowNode, columnIds) {
439
+ return columnIds.reduce((result, columnId) => {
440
+ result[columnId] = this.getCellExportValueFromRowNode(rowNode, columnId);
441
+ return result;
442
+ }, {});
443
+ }
444
+ publishLiveLiveDataChangedEvent(reportDestination, liveDataTrigger, liveReport) {
445
+ const liveDataChangedInfo = Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { reportDestination: reportDestination, liveDataTrigger: liveDataTrigger, liveReport: liveReport });
446
+ this.getAdaptableApi().eventApi.emit('LiveDataChanged', liveDataChangedInfo);
447
+ }
448
+ getCellExportValueFromRowNode(rowNode, columnId) {
449
+ return this.getCellExportValueFromRawValue(rowNode, this.getAdaptableApi().gridApi.getRawValueFromRowNode(rowNode, columnId), columnId);
450
+ }
451
+ getCellExportValueFromRawValue(rowNode, cellRawValue, columnId) {
452
+ if (StringExtensions_1.default.IsNullOrEmpty(cellRawValue)) {
453
+ return cellRawValue;
454
+ }
455
+ const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
456
+ const columnDataType = column.dataType;
457
+ // if this is a date column and there is a custom export date format provided, that will take precedence
458
+ if (columnDataType === 'Date' && !!this.getCustomExportDateFormat()) {
459
+ const exportDateFormat = this.getCustomExportDateFormat();
460
+ return FormatHelper_1.default.DateFormatter(cellRawValue, {
461
+ Pattern: exportDateFormat,
462
+ });
463
+ }
464
+ // otherwise check the general export format types
465
+ let cellExportFormat = this.getAdaptableApi().exportApi.internalApi.getCellExportFormatType(column, columnDataType);
466
+ return this.getCellExportValueFromRawValueByType(rowNode, cellRawValue, columnId, cellExportFormat);
467
+ }
468
+ getReportFileName(reportName, destination) {
469
+ let fileName;
470
+ const reportFilename = this.getAdaptableApi().optionsApi.getExportOptions().reportFilename;
471
+ if (reportFilename) {
472
+ const reportFileNameContext = Object.assign(Object.assign({}, (0, ObjectFactory_1.createBaseContext)(this.getAdaptableApi())), { reportName,
473
+ destination });
474
+ fileName = reportFilename(reportFileNameContext);
475
+ }
476
+ else {
477
+ fileName = StringExtensions_1.default.ReplaceEmptySpacesWithUnderscore(reportName);
478
+ if (this.getAdaptableApi().optionsApi.getExportOptions().appendFileTimestamp) {
479
+ fileName = `${fileName}_${(0, FormatHelper_1.DateFormatter)(new Date(), {
480
+ Pattern: 'yyyyMMdd_HHmmss',
481
+ })}`;
482
+ }
483
+ }
484
+ return fileName;
485
+ }
486
+ getCustomExportDateFormat() {
487
+ return this.getAdaptableApi().optionsApi.getExportOptions().exportDateFormat;
488
+ }
489
+ getCellExportValueFromRawValueByType(rowNode, cellRawValue, columnId,
490
+ // default to rawValue if, for some reason, the configs provide invalid values
491
+ type = 'rawValue') {
492
+ return type === 'rawValue'
493
+ ? cellRawValue
494
+ : // type === formattedValue
495
+ this.getAdaptableApi().gridApi.getDisplayValueFromRawValue(rowNode, columnId, cellRawValue);
496
+ }
497
+ // aggregate and merge all acive Adaptable styles with the user proviided ExcelStyles
498
+ buildExcelStylesForVisualReports() {
499
+ // for historical reasons, the styles are merged as class variables
500
+ // we could/should refactor this to be more functional
501
+ this.createExcelStyleMemoization();
502
+ return Object.values(this.excelStylesCache);
503
+ }
504
+ createExcelStyleMemoization() {
505
+ this.resetExcelStyleMemoization();
506
+ // we memoize as much as possible, as this is called quite A LOT
507
+ const adaptableColumnMap = {};
508
+ const getAdaptableColumnWithColumnId = (columnId) => {
509
+ const memoizedColumn = adaptableColumnMap[columnId];
510
+ if (memoizedColumn) {
511
+ return memoizedColumn;
512
+ }
513
+ const abColumn = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
514
+ adaptableColumnMap[columnId] = abColumn;
515
+ return abColumn;
516
+ };
517
+ const formatColumnsWithDisplayFormatForColumn = {};
518
+ const getFormatColumnsWithDisplayFormatForColumn = (columnId) => {
519
+ const memoizedFormatColumns = formatColumnsWithDisplayFormatForColumn[columnId];
520
+ if (memoizedFormatColumns) {
521
+ return memoizedFormatColumns;
522
+ }
523
+ const abColumn = getAdaptableColumnWithColumnId(columnId);
524
+ const formatColumns = this.getAdaptableApi().formatColumnApi.internalApi.getFormatColumnsWithDisplayFormatForColumn(abColumn);
525
+ formatColumnsWithDisplayFormatForColumn[columnId] = formatColumns;
526
+ return formatColumns;
527
+ };
528
+ const displayedColumns = this.getAdaptableApi().agGridApi.getAllDisplayedColumns();
529
+ const colDefs = displayedColumns.map((column) => {
530
+ return column.getColDef();
531
+ });
532
+ const forAllVisibleRowNodesDoConfig = { includeGroupRows: true };
533
+ const agGridApi = this.getAdaptableApi().agGridApi;
534
+ const userExcelStyles = this.adaptable.agGridAdapter.getUserGridOptionsProperty('excelStyles') || [];
535
+ this.getAdaptableApi().internalApi.forAllVisibleRowNodesDo((node, rowIndex) => {
536
+ const rowParams = {
537
+ node,
538
+ data: node.data,
539
+ rowIndex,
540
+ api: agGridApi,
541
+ context: agGridApi.getGridOption('context') || {},
542
+ };
543
+ const getRowStyleFn = agGridApi.getGridOption('getRowStyle');
544
+ const rowStyle = getRowStyleFn ? getRowStyleFn(rowParams) : {};
545
+ displayedColumns.forEach((column, columnIndex) => {
546
+ var _a, _b, _c;
547
+ const colDef = colDefs[columnIndex];
548
+ const columnId = column.getId();
549
+ const adaptableColumn = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
550
+ const isDateCellExportedAsFormattedValue = this.isDateCellExportedAsFormattedValue(adaptableColumn);
551
+ let cellClassParams;
552
+ const getLazyCellClassParams = () => {
553
+ if (!cellClassParams) {
554
+ cellClassParams = {
555
+ colDef,
556
+ node,
557
+ column,
558
+ data: node.data,
559
+ value: this.getAdaptableApi().gridApi.getRawValueFromRowNode(node, columnId),
560
+ rowIndex,
561
+ api: agGridApi,
562
+ context: {},
563
+ };
564
+ }
565
+ return cellClassParams;
566
+ };
567
+ const cellStyle = typeof colDef.cellStyle === 'function'
568
+ ? colDef.cellStyle(getLazyCellClassParams())
569
+ : {};
570
+ const excelStyles = [];
571
+ // add user defined excel styles
572
+ let userColDefCellClass = this.adaptable.agGridColumnAdapter.getUserColDefProperty(column.getColId(), 'cellClass');
573
+ const userDefinedCellClass = typeof userColDefCellClass === 'function'
574
+ ? userColDefCellClass(getLazyCellClassParams())
575
+ : userColDefCellClass;
576
+ const userDefinedExcelStyle = userDefinedCellClass &&
577
+ userExcelStyles.find((excelStyle) => {
578
+ var _a;
579
+ return typeof userDefinedCellClass === 'string'
580
+ ? userDefinedCellClass === excelStyle.id
581
+ : (_a = userDefinedCellClass === null || userDefinedCellClass === void 0 ? void 0 : userDefinedCellClass.includes) === null || _a === void 0 ? void 0 : _a.call(userDefinedCellClass, excelStyle.id);
582
+ });
583
+ if (userDefinedExcelStyle) {
584
+ excelStyles.push(userDefinedExcelStyle);
585
+ }
586
+ // add adaptable derived styles (format column etc.)
587
+ const adaptableStyle = Object.assign(Object.assign({}, rowStyle), Object.keys(cellStyle).reduce((result, key) => {
588
+ if (cellStyle[key] !== null) {
589
+ result[key] = cellStyle[key];
590
+ }
591
+ return result;
592
+ }, {}));
593
+ const sanitizedAdaptableStyle = (0, StyleHelper_1.sanitizeStyle)(adaptableStyle);
594
+ if (Object.values(sanitizedAdaptableStyle).some((style) => style != null)) {
595
+ excelStyles.push(this.convertCSSToExcelStyle(sanitizedAdaptableStyle));
596
+ }
597
+ const excelDataType = this.getExcelDataType(colDef === null || colDef === void 0 ? void 0 : colDef.type);
598
+ const rawValue = this.getAdaptableApi().gridApi.getRawValueFromRowNode(node, column.getId());
599
+ // don't add the cell style if it has no adaptable custom styles
600
+ if (!excelStyles.length &&
601
+ // if this is a formatted Date value, we still need to add the AG GRID specific type & numberFormat below
602
+ !(excelDataType === 'DateTime' && isDateCellExportedAsFormattedValue)) {
603
+ return;
604
+ }
605
+ const cellClassId = this.adaptable.agGridColumnAdapter.getExcelClassNameForCell(column.getId(), this.adaptable.getPrimaryKeyValueFromRowNode(node), userDefinedCellClass);
606
+ const finalCellExcelStyle = Object.assign({}, ...excelStyles);
607
+ if (excelDataType === 'DateTime' && isDateCellExportedAsFormattedValue) {
608
+ let dateFormatPattern = this.getAdaptableApi().optionsApi.getExportOptions().exportDateFormat;
609
+ const abColumn = getAdaptableColumnWithColumnId(column.getColId());
610
+ if (!dateFormatPattern) {
611
+ const mostRelevantFormatColumn = this.getAdaptableApi().formatColumnApi.internalApi.getMostRelevantFormatColumnForColumn(getFormatColumnsWithDisplayFormatForColumn(column.getColId()), abColumn, { node, value: rawValue });
612
+ dateFormatPattern =
613
+ ((_a = mostRelevantFormatColumn === null || mostRelevantFormatColumn === void 0 ? void 0 : mostRelevantFormatColumn.DisplayFormat) === null || _a === void 0 ? void 0 : _a.Formatter) === 'DateFormatter' &&
614
+ ((_c = (_b = mostRelevantFormatColumn === null || mostRelevantFormatColumn === void 0 ? void 0 : mostRelevantFormatColumn.DisplayFormat) === null || _b === void 0 ? void 0 : _b.Options) === null || _c === void 0 ? void 0 : _c.Pattern);
615
+ }
616
+ if (dateFormatPattern) {
617
+ const normalisedValue = this.adaptable.getNormalisedValueFromRawValue(rawValue, abColumn);
618
+ if (normalisedValue) {
619
+ // we have to pass the date in the ISO format to Excel
620
+ // see https://www.ag-grid.com/javascript-data-grid/excel-export-data-types/#dates
621
+ // we can NOT use Date.toISOString() because we don't want the timezone corrections to kick in
622
+ const isoFormattedValue = (0, FormatHelper_1.DateFormatter)(normalisedValue, {
623
+ Pattern: `yyyy-MM-dd'T'HH:mm:ss.SSS`,
624
+ });
625
+ if (isoFormattedValue) {
626
+ finalCellExcelStyle.dataType = 'DateTime';
627
+ finalCellExcelStyle.numberFormat = { format: dateFormatPattern };
628
+ // create a new cell key to ensure any user provided className does not interfere
629
+ const cellKey = this.adaptable.agGridColumnAdapter.getExcelClassNameForCell(column.getColId(), this.adaptable.getPrimaryKeyValueFromRowNode(node));
630
+ // we need to register so that later the cellProcessor will put the isoFormattedValue through (thus giving the formatting responsability to Excel)
631
+ this.registerExcelStyleWithFormattedDate(cellKey, isoFormattedValue);
632
+ }
633
+ }
634
+ }
635
+ }
636
+ this.registerExcelStyle(finalCellExcelStyle, cellClassId);
637
+ });
638
+ }, forAllVisibleRowNodesDoConfig);
639
+ }
640
+ convertCSSToExcelStyle(style) {
641
+ const getHexColor = (color) => {
642
+ const preparedColor = (0, StyleHelper_1.getVariableColor)(color);
643
+ const t = (0, tinycolor2_1.default)(preparedColor);
644
+ const a = t.getAlpha();
645
+ return tinycolor2_1.default.mix((0, tinycolor2_1.default)('white'), t, a * 100).toHexString();
646
+ };
647
+ let result = {};
648
+ if (style.backgroundColor != null) {
649
+ result.interior = {
650
+ color: getHexColor(style.backgroundColor),
651
+ pattern: 'Solid',
652
+ };
653
+ }
654
+ if (style.borderColor != null) {
655
+ const excelBorder = {
656
+ color: style.borderColor,
657
+ lineStyle: 'Continuous',
658
+ weight: 1,
659
+ };
660
+ result.borders = {
661
+ borderBottom: excelBorder,
662
+ borderLeft: excelBorder,
663
+ borderRight: excelBorder,
664
+ borderTop: excelBorder,
665
+ };
666
+ }
667
+ if (style.textAlign) {
668
+ result.alignment = {
669
+ horizontal: StringExtensions_1.default.CapitaliseFirstLetter(style.textAlign),
670
+ };
671
+ }
672
+ if (style.color != null) {
673
+ if (!result.font) {
674
+ result.font = {};
675
+ }
676
+ result.font = {
677
+ color: getHexColor(style.color),
678
+ };
679
+ }
680
+ if (style.fontStyle === 'italic') {
681
+ if (!result.font) {
682
+ result.font = {};
683
+ }
684
+ result.font.italic = true;
685
+ }
686
+ if (style.fontWeight != null &&
687
+ (style.fontWeight === 'bold' || Number(style.fontWeight) >= 600)) {
688
+ if (!result.font) {
689
+ result.font = {};
690
+ }
691
+ result.font.bold = true;
692
+ }
693
+ if (style.fontSize != null) {
694
+ if (!result.font) {
695
+ result.font = {};
696
+ }
697
+ result.font.size = (0, StyleHelper_1.convertCSSAbsoluteFontSizeToPt)(style.fontSize);
698
+ }
699
+ return result;
700
+ }
701
+ resetExcelStyleMemoization() {
702
+ this.excelStylesCache = {};
703
+ this.cellClassKey2excelStyleIdMap = {};
704
+ this.excelStylesWithFormattedDate = {};
705
+ }
706
+ registerExcelStyle(excelStyle, cellClassKey) {
707
+ const excelStyleKey = JSON.stringify(excelStyle);
708
+ if (!this.excelStylesCache[excelStyleKey]) {
709
+ const excelStyleId = (0, Uuid_1.createUuid)();
710
+ const excelStyleWithId = Object.assign(Object.assign({}, excelStyle), { id: excelStyleId });
711
+ this.excelStylesCache[excelStyleKey] = excelStyleWithId;
712
+ }
713
+ this.cellClassKey2excelStyleIdMap[cellClassKey] = this.excelStylesCache[excelStyleKey].id;
714
+ }
715
+ registerExcelStyleWithFormattedDate(cellClassId, isoFormattedValue) {
716
+ this.excelStylesWithFormattedDate[cellClassId] = isoFormattedValue;
717
+ }
146
718
  }
147
719
  exports.ExportInternalApi = ExportInternalApi;
@@ -10,5 +10,4 @@ export declare class NamedQueryInternalApi extends ApiBase {
10
10
  * @param namedQueryName namedQuery name
11
11
  */
12
12
  getNamedQueryModuleReferences(namedQueryName: string): string[];
13
- cleanupQueryRedux(): void;
14
13
  }