@slickgrid-universal/excel-export 3.7.0 → 4.0.0-alpha.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/dist/{commonjs → cjs}/excelExport.service.js +45 -59
- package/dist/cjs/excelExport.service.js.map +1 -0
- package/dist/{commonjs → cjs}/excelUtils.js +15 -17
- package/dist/cjs/excelUtils.js.map +1 -0
- package/dist/esm/excelExport.service.js +45 -59
- package/dist/esm/excelExport.service.js.map +1 -1
- package/dist/esm/excelUtils.js +16 -18
- package/dist/esm/excelUtils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/excelExport.service.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/commonjs/excelExport.service.js.map +0 -1
- package/dist/commonjs/excelUtils.js.map +0 -1
- /package/dist/{commonjs → cjs}/index.js +0 -0
- /package/dist/{commonjs → cjs}/index.js.map +0 -0
- /package/dist/{commonjs → cjs}/interfaces/excelCellFormat.interface.js +0 -0
- /package/dist/{commonjs → cjs}/interfaces/excelCellFormat.interface.js.map +0 -0
- /package/dist/{commonjs → cjs}/interfaces/excelMetadata.interface.js +0 -0
- /package/dist/{commonjs → cjs}/interfaces/excelMetadata.interface.js.map +0 -0
- /package/dist/{commonjs → cjs}/interfaces/excelStylesheet.interface.js +0 -0
- /package/dist/{commonjs → cjs}/interfaces/excelStylesheet.interface.js.map +0 -0
- /package/dist/{commonjs → cjs}/interfaces/index.js +0 -0
- /package/dist/{commonjs → cjs}/interfaces/index.js.map +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ExcelExportService = void 0;
|
|
4
|
-
const
|
|
5
|
-
const ExcelBuilder = ExcelBuilder_['default'] || ExcelBuilder_; // patch to fix rollup "ExcelBuilder has no default export" issue, document here https://github.com/rollup/rollup/issues/670
|
|
4
|
+
const excel_builder_webpacker_1 = require("excel-builder-webpacker");
|
|
6
5
|
const common_1 = require("@slickgrid-universal/common");
|
|
7
6
|
const utils_1 = require("@slickgrid-universal/utils");
|
|
8
7
|
const excelUtils_1 = require("./excelUtils");
|
|
@@ -24,18 +23,15 @@ class ExcelExportService {
|
|
|
24
23
|
this.className = 'ExcelExportService';
|
|
25
24
|
}
|
|
26
25
|
get _datasetIdPropName() {
|
|
27
|
-
|
|
28
|
-
return (_b = (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.datasetIdPropertyName) !== null && _b !== void 0 ? _b : 'id';
|
|
26
|
+
return this._gridOptions?.datasetIdPropertyName ?? 'id';
|
|
29
27
|
}
|
|
30
28
|
/** Getter of SlickGrid DataView object */
|
|
31
29
|
get _dataView() {
|
|
32
|
-
|
|
33
|
-
return ((_a = this._grid) === null || _a === void 0 ? void 0 : _a.getData());
|
|
30
|
+
return this._grid?.getData();
|
|
34
31
|
}
|
|
35
32
|
/** Getter for the Grid Options pulled through the Grid Object */
|
|
36
33
|
get _gridOptions() {
|
|
37
|
-
|
|
38
|
-
return ((_a = this._grid) === null || _a === void 0 ? void 0 : _a.getOptions()) || {};
|
|
34
|
+
return this._grid?.getOptions() || {};
|
|
39
35
|
}
|
|
40
36
|
get stylesheet() {
|
|
41
37
|
return this._stylesheet;
|
|
@@ -50,8 +46,7 @@ class ExcelExportService {
|
|
|
50
46
|
return this._regularCellExcelFormats;
|
|
51
47
|
}
|
|
52
48
|
dispose() {
|
|
53
|
-
|
|
54
|
-
(_a = this._pubSubService) === null || _a === void 0 ? void 0 : _a.unsubscribeAll();
|
|
49
|
+
this._pubSubService?.unsubscribeAll();
|
|
55
50
|
}
|
|
56
51
|
/**
|
|
57
52
|
* Initialize the Export Service
|
|
@@ -59,12 +54,11 @@ class ExcelExportService {
|
|
|
59
54
|
* @param containerService
|
|
60
55
|
*/
|
|
61
56
|
init(grid, containerService) {
|
|
62
|
-
var _a, _b, _c;
|
|
63
57
|
this._grid = grid;
|
|
64
58
|
this._pubSubService = containerService.get('PubSubService');
|
|
65
59
|
// get locales provided by user in main file or else use default English locales via the Constants
|
|
66
|
-
this._locales =
|
|
67
|
-
this._translaterService =
|
|
60
|
+
this._locales = this._gridOptions?.locales ?? common_1.Constants.locales;
|
|
61
|
+
this._translaterService = this._gridOptions?.translater;
|
|
68
62
|
if (this._gridOptions.enableTranslate && (!this._translaterService || !this._translaterService.translate)) {
|
|
69
63
|
throw new Error('[Slickgrid-Universal] requires a Translate Service to be passed in the "translater" Grid Options when "enableTranslate" is enabled. (example: this.gridOptions = { enableTranslate: true, translater: this.translaterService })');
|
|
70
64
|
}
|
|
@@ -79,11 +73,10 @@ class ExcelExportService {
|
|
|
79
73
|
* Example: exportToExcel({ format: FileType.csv, delimiter: DelimiterType.comma })
|
|
80
74
|
*/
|
|
81
75
|
exportToExcel(options) {
|
|
82
|
-
var _a;
|
|
83
76
|
if (!this._grid || !this._dataView || !this._pubSubService) {
|
|
84
77
|
throw new Error('[Slickgrid-Universal] it seems that the SlickGrid & DataView objects and/or PubSubService are not initialized did you forget to enable the grid option flag "enableExcelExport"?');
|
|
85
78
|
}
|
|
86
|
-
|
|
79
|
+
this._pubSubService?.publish(`onBeforeExportToExcel`, true);
|
|
87
80
|
this._excelExportOptions = (0, utils_1.deepCopy)({ ...DEFAULT_EXPORT_OPTIONS, ...this._gridOptions.excelExportOptions, ...options });
|
|
88
81
|
this._fileFormat = this._excelExportOptions.format || common_1.FileType.xlsx;
|
|
89
82
|
// reset references of detected Excel formats
|
|
@@ -94,8 +87,8 @@ class ExcelExportService {
|
|
|
94
87
|
// prepare the Excel Workbook & Sheet
|
|
95
88
|
// we can use ExcelBuilder constructor with WebPack but we need to use function calls with RequireJS/SystemJS
|
|
96
89
|
const worksheetOptions = { name: this._excelExportOptions.sheetName || 'Sheet1' };
|
|
97
|
-
this._workbook =
|
|
98
|
-
this._sheet =
|
|
90
|
+
this._workbook = excel_builder_webpacker_1.default.Workbook ? new excel_builder_webpacker_1.default.Workbook() : excel_builder_webpacker_1.default.createWorkbook();
|
|
91
|
+
this._sheet = excel_builder_webpacker_1.default.Worksheet ? new excel_builder_webpacker_1.default.Worksheet(worksheetOptions) : this._workbook.createWorksheet(worksheetOptions);
|
|
99
92
|
// add any Excel Format/Stylesheet to current Workbook
|
|
100
93
|
this._stylesheet = this._workbook.getStyleSheet();
|
|
101
94
|
// create some common default Excel formatters that will be used
|
|
@@ -113,11 +106,10 @@ class ExcelExportService {
|
|
|
113
106
|
// trigger a download file
|
|
114
107
|
// wrap it into a setTimeout so that the EventAggregator has enough time to start a pre-process like showing a spinner
|
|
115
108
|
setTimeout(async () => {
|
|
116
|
-
|
|
117
|
-
if ((_b = (_a = this._gridOptions) === null || _a === void 0 ? void 0 : _a.excelExportOptions) === null || _b === void 0 ? void 0 : _b.customExcelHeader) {
|
|
109
|
+
if (this._gridOptions?.excelExportOptions?.customExcelHeader) {
|
|
118
110
|
this._gridOptions.excelExportOptions.customExcelHeader(this._workbook, this._sheet);
|
|
119
111
|
}
|
|
120
|
-
const columns =
|
|
112
|
+
const columns = this._grid?.getColumns() || [];
|
|
121
113
|
this._sheet.setColumns(this.getColumnStyles(columns));
|
|
122
114
|
const currentSheetData = this._sheet.data;
|
|
123
115
|
let finalOutput = currentSheetData;
|
|
@@ -127,10 +119,10 @@ class ExcelExportService {
|
|
|
127
119
|
this._sheet.setData(finalOutput);
|
|
128
120
|
this._workbook.addWorksheet(this._sheet);
|
|
129
121
|
// using ExcelBuilder.Builder.createFile with WebPack but ExcelBuilder.createFile with RequireJS/SystemJS
|
|
130
|
-
const createFileFn =
|
|
122
|
+
const createFileFn = excel_builder_webpacker_1.default.Builder?.createFile ?? excel_builder_webpacker_1.default.createFile;
|
|
131
123
|
// MIME type could be undefined, if that's the case we'll detect the type by its file extension
|
|
132
124
|
// user could also provide its own mime type, if however an empty string is provided we will consider to be without any MIME type)
|
|
133
|
-
let mimeType =
|
|
125
|
+
let mimeType = this._excelExportOptions?.mimeType;
|
|
134
126
|
if (mimeType === undefined) {
|
|
135
127
|
mimeType = this._fileFormat === common_1.FileType.xls ? 'application/vnd.ms-excel' : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
|
|
136
128
|
}
|
|
@@ -142,7 +134,7 @@ class ExcelExportService {
|
|
|
142
134
|
};
|
|
143
135
|
// start downloading but add the Blob property only on the start download not on the event itself
|
|
144
136
|
this.startDownloadFile({ ...downloadOptions, blob: excelBlob, data: this._sheet.data });
|
|
145
|
-
|
|
137
|
+
this._pubSubService?.publish(`onAfterExportToExcel`, downloadOptions);
|
|
146
138
|
resolve(true);
|
|
147
139
|
});
|
|
148
140
|
});
|
|
@@ -200,12 +192,11 @@ class ExcelExportService {
|
|
|
200
192
|
// protected functions
|
|
201
193
|
// -----------------------
|
|
202
194
|
getDataOutput() {
|
|
203
|
-
|
|
204
|
-
const columns = ((_a = this._grid) === null || _a === void 0 ? void 0 : _a.getColumns()) || [];
|
|
195
|
+
const columns = this._grid?.getColumns() || [];
|
|
205
196
|
// data variable which will hold all the fields data of a row
|
|
206
197
|
const outputData = [];
|
|
207
|
-
const gridExportOptions =
|
|
208
|
-
const columnHeaderStyle = gridExportOptions
|
|
198
|
+
const gridExportOptions = this._gridOptions?.excelExportOptions;
|
|
199
|
+
const columnHeaderStyle = gridExportOptions?.columnHeaderStyle;
|
|
209
200
|
let columnHeaderStyleId = this._stylesheetFormats.boldFormatter.id;
|
|
210
201
|
if (columnHeaderStyle) {
|
|
211
202
|
columnHeaderStyleId = this._stylesheet.createFormat(columnHeaderStyle).id;
|
|
@@ -214,7 +205,7 @@ class ExcelExportService {
|
|
|
214
205
|
if (this._gridOptions.createPreHeaderPanel && this._gridOptions.showPreHeaderPanel && !this._gridOptions.enableDraggableGrouping) {
|
|
215
206
|
// when having Grouped Header Titles (in the pre-header), then make the cell Bold & Aligned Center
|
|
216
207
|
const boldCenterAlign = this._stylesheet.createFormat({ alignment: { horizontal: 'center' }, font: { bold: true } });
|
|
217
|
-
outputData.push(this.getColumnGroupedHeaderTitlesData(columns, { style: boldCenterAlign
|
|
208
|
+
outputData.push(this.getColumnGroupedHeaderTitlesData(columns, { style: boldCenterAlign?.id }));
|
|
218
209
|
this._hasColumnTitlePreHeader = true;
|
|
219
210
|
}
|
|
220
211
|
// get all Column Header Titles (it might include a "Group by" title at A1 cell)
|
|
@@ -226,23 +217,21 @@ class ExcelExportService {
|
|
|
226
217
|
}
|
|
227
218
|
/** Get each column style including a style for the width of each column */
|
|
228
219
|
getColumnStyles(columns) {
|
|
229
|
-
var _a, _b, _c;
|
|
230
220
|
const grouping = this._dataView.getGrouping();
|
|
231
221
|
const columnStyles = [];
|
|
232
222
|
if (Array.isArray(grouping) && grouping.length > 0) {
|
|
233
223
|
columnStyles.push({
|
|
234
224
|
bestFit: true,
|
|
235
|
-
columnStyles:
|
|
225
|
+
columnStyles: this._gridOptions?.excelExportOptions?.customColumnWidth ?? 10
|
|
236
226
|
});
|
|
237
227
|
}
|
|
238
228
|
columns.forEach((columnDef) => {
|
|
239
|
-
|
|
240
|
-
const skippedField = (_a = columnDef.excludeFromExport) !== null && _a !== void 0 ? _a : false;
|
|
229
|
+
const skippedField = columnDef.excludeFromExport ?? false;
|
|
241
230
|
// if column width is 0, then we consider that field as a hidden field and should not be part of the export
|
|
242
231
|
if ((columnDef.width === undefined || columnDef.width > 0) && !skippedField) {
|
|
243
232
|
columnStyles.push({
|
|
244
233
|
bestFit: true,
|
|
245
|
-
width:
|
|
234
|
+
width: columnDef.excelExportOptions?.width ?? this._gridOptions?.excelExportOptions?.customColumnWidth ?? 10
|
|
246
235
|
});
|
|
247
236
|
}
|
|
248
237
|
});
|
|
@@ -283,7 +272,7 @@ class ExcelExportService {
|
|
|
283
272
|
this._columnHeaders = this.getColumnHeaders(columns) || [];
|
|
284
273
|
if (this._columnHeaders && Array.isArray(this._columnHeaders) && this._columnHeaders.length > 0) {
|
|
285
274
|
// add the header row + add a new line at the end of the row
|
|
286
|
-
outputHeaderTitles = this._columnHeaders.map((header) => ({ value: (0,
|
|
275
|
+
outputHeaderTitles = this._columnHeaders.map((header) => ({ value: (0, utils_1.stripTags)(header.title), metadata }));
|
|
287
276
|
}
|
|
288
277
|
// do we have a Group by title?
|
|
289
278
|
const groupTitle = this.getGroupColumnTitle();
|
|
@@ -293,10 +282,9 @@ class ExcelExportService {
|
|
|
293
282
|
return outputHeaderTitles;
|
|
294
283
|
}
|
|
295
284
|
getGroupColumnTitle() {
|
|
296
|
-
var _a;
|
|
297
285
|
// Group By text, it could be set in the export options or from translation or if nothing is found then use the English constant text
|
|
298
286
|
let groupByColumnHeader = this._excelExportOptions.groupingColumnHeaderTitle;
|
|
299
|
-
if (!groupByColumnHeader && this._gridOptions.enableTranslate &&
|
|
287
|
+
if (!groupByColumnHeader && this._gridOptions.enableTranslate && this._translaterService?.translate) {
|
|
300
288
|
groupByColumnHeader = this._translaterService.translate(`${(0, common_1.getTranslationPrefix)(this._gridOptions)}GROUP_BY`);
|
|
301
289
|
}
|
|
302
290
|
else if (!groupByColumnHeader) {
|
|
@@ -323,9 +311,8 @@ class ExcelExportService {
|
|
|
323
311
|
if (columns && Array.isArray(columns)) {
|
|
324
312
|
// Populate the Grouped Column Header, pull the columnGroup(Key) defined
|
|
325
313
|
columns.forEach((columnDef) => {
|
|
326
|
-
var _a;
|
|
327
314
|
let groupedHeaderTitle = '';
|
|
328
|
-
if (columnDef.columnGroupKey && this._gridOptions.enableTranslate &&
|
|
315
|
+
if (columnDef.columnGroupKey && this._gridOptions.enableTranslate && this._translaterService?.translate) {
|
|
329
316
|
groupedHeaderTitle = this._translaterService.translate(columnDef.columnGroupKey);
|
|
330
317
|
}
|
|
331
318
|
else {
|
|
@@ -352,13 +339,12 @@ class ExcelExportService {
|
|
|
352
339
|
if (columns && Array.isArray(columns)) {
|
|
353
340
|
// Populate the Column Header, pull the name defined
|
|
354
341
|
columns.forEach((columnDef) => {
|
|
355
|
-
var _a;
|
|
356
342
|
let headerTitle = '';
|
|
357
|
-
if ((columnDef.nameKey || columnDef.nameKey) && this._gridOptions.enableTranslate &&
|
|
343
|
+
if ((columnDef.nameKey || columnDef.nameKey) && this._gridOptions.enableTranslate && this._translaterService?.translate) {
|
|
358
344
|
headerTitle = this._translaterService.translate((columnDef.nameKey || columnDef.nameKey));
|
|
359
345
|
}
|
|
360
346
|
else {
|
|
361
|
-
headerTitle = columnDef.name || (0, utils_1.titleCase)(columnDef.field);
|
|
347
|
+
headerTitle = (columnDef.name instanceof HTMLElement ? columnDef.name.innerHTML : columnDef.name) || (0, utils_1.titleCase)(columnDef.field);
|
|
362
348
|
}
|
|
363
349
|
const skippedField = columnDef.excludeFromExport || false;
|
|
364
350
|
// if column width is 0, then we consider that field as a hidden field and should not be part of the export
|
|
@@ -407,7 +393,6 @@ class ExcelExportService {
|
|
|
407
393
|
* @param {Object} itemObj - item datacontext object
|
|
408
394
|
*/
|
|
409
395
|
readRegularRowData(columns, row, itemObj) {
|
|
410
|
-
var _a, _b, _c, _d, _e, _f;
|
|
411
396
|
let idx = 0;
|
|
412
397
|
const rowOutputStrings = [];
|
|
413
398
|
const columnsLn = columns.length;
|
|
@@ -426,11 +411,11 @@ class ExcelExportService {
|
|
|
426
411
|
}
|
|
427
412
|
let colspan = 1;
|
|
428
413
|
let colspanColumnId;
|
|
429
|
-
if (itemMetadata
|
|
414
|
+
if (itemMetadata?.columns) {
|
|
430
415
|
const metadata = itemMetadata.columns;
|
|
431
416
|
const columnData = metadata[columnDef.id] || metadata[col];
|
|
432
417
|
if (!((!isNaN(prevColspan) && +prevColspan > 1) || (prevColspan === '*' && col > 0))) {
|
|
433
|
-
prevColspan =
|
|
418
|
+
prevColspan = columnData?.colspan ?? 1;
|
|
434
419
|
}
|
|
435
420
|
if (prevColspan === '*') {
|
|
436
421
|
colspan = columns.length - col;
|
|
@@ -482,20 +467,20 @@ class ExcelExportService {
|
|
|
482
467
|
// auto-detect best possible Excel format, unless the user provide his own formatting,
|
|
483
468
|
// we only do this check once per column (everything after that will be pull from temp ref)
|
|
484
469
|
if (!this._regularCellExcelFormats.hasOwnProperty(columnDef.id)) {
|
|
485
|
-
const autoDetectCellFormat =
|
|
470
|
+
const autoDetectCellFormat = columnDef.excelExportOptions?.autoDetectCellFormat ?? this._excelExportOptions?.autoDetectCellFormat;
|
|
486
471
|
const cellStyleFormat = (0, excelUtils_1.useCellFormatByFieldType)(this._stylesheet, this._stylesheetFormats, columnDef, this._grid, autoDetectCellFormat);
|
|
487
472
|
// user could also override style and/or valueParserCallback
|
|
488
|
-
if (
|
|
473
|
+
if (columnDef.excelExportOptions?.style) {
|
|
489
474
|
cellStyleFormat.stylesheetFormatterId = this._stylesheet.createFormat(columnDef.excelExportOptions.style).id;
|
|
490
475
|
}
|
|
491
|
-
if (
|
|
476
|
+
if (columnDef.excelExportOptions?.valueParserCallback) {
|
|
492
477
|
cellStyleFormat.getDataValueParser = columnDef.excelExportOptions.valueParserCallback;
|
|
493
478
|
}
|
|
494
479
|
this._regularCellExcelFormats[columnDef.id] = cellStyleFormat;
|
|
495
480
|
}
|
|
496
481
|
// sanitize early, when enabled, any HTML tags (remove HTML tags)
|
|
497
482
|
if (typeof itemData === 'string' && (columnDef.sanitizeDataExport || this._excelExportOptions.sanitizeDataExport)) {
|
|
498
|
-
itemData = (0,
|
|
483
|
+
itemData = (0, utils_1.stripTags)(itemData);
|
|
499
484
|
}
|
|
500
485
|
const { stylesheetFormatterId, getDataValueParser } = this._regularCellExcelFormats[columnDef.id];
|
|
501
486
|
itemData = getDataValueParser(itemData, columnDef, stylesheetFormatterId, this._stylesheet, this._gridOptions);
|
|
@@ -510,7 +495,7 @@ class ExcelExportService {
|
|
|
510
495
|
* @param itemObj
|
|
511
496
|
*/
|
|
512
497
|
readGroupedRowTitle(itemObj) {
|
|
513
|
-
const groupName = (0,
|
|
498
|
+
const groupName = (0, utils_1.stripTags)(itemObj.title);
|
|
514
499
|
if (this._excelExportOptions && this._excelExportOptions.addGroupIndentation) {
|
|
515
500
|
const collapsedSymbol = this._excelExportOptions && this._excelExportOptions.groupCollapsedSymbol || '⮞';
|
|
516
501
|
const expandedSymbol = this._excelExportOptions && this._excelExportOptions.groupExpandedSymbol || '⮟';
|
|
@@ -528,40 +513,41 @@ class ExcelExportService {
|
|
|
528
513
|
const groupingAggregatorRowText = this._excelExportOptions.groupingAggregatorRowText || '';
|
|
529
514
|
const outputStrings = [groupingAggregatorRowText];
|
|
530
515
|
columns.forEach((columnDef) => {
|
|
531
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
532
516
|
let itemData = '';
|
|
533
517
|
const fieldType = (0, common_1.getColumnFieldType)(columnDef);
|
|
534
518
|
const skippedField = columnDef.excludeFromExport || false;
|
|
535
519
|
// if there's a exportCustomGroupTotalsFormatter or groupTotalsFormatter, we will re-run it to get the exact same output as what is shown in UI
|
|
536
520
|
if (columnDef.exportCustomGroupTotalsFormatter) {
|
|
537
|
-
|
|
521
|
+
const totalResult = columnDef.exportCustomGroupTotalsFormatter(itemObj, columnDef, this._grid);
|
|
522
|
+
itemData = totalResult instanceof HTMLElement ? totalResult.textContent || '' : totalResult;
|
|
538
523
|
}
|
|
539
524
|
// auto-detect best possible Excel format for Group Totals, unless the user provide his own formatting,
|
|
540
525
|
// we only do this check once per column (everything after that will be pull from temp ref)
|
|
541
|
-
const autoDetectCellFormat =
|
|
526
|
+
const autoDetectCellFormat = columnDef.excelExportOptions?.autoDetectCellFormat ?? this._excelExportOptions?.autoDetectCellFormat;
|
|
542
527
|
if (fieldType === common_1.FieldType.number && autoDetectCellFormat !== false) {
|
|
543
528
|
let groupCellFormat = this._groupTotalExcelFormats[columnDef.id];
|
|
544
|
-
if (!
|
|
529
|
+
if (!groupCellFormat?.groupType) {
|
|
545
530
|
groupCellFormat = (0, excelUtils_1.getExcelFormatFromGridFormatter)(this._stylesheet, this._stylesheetFormats, columnDef, this._grid, 'group');
|
|
546
|
-
if (
|
|
531
|
+
if (columnDef.groupTotalsExcelExportOptions?.style) {
|
|
547
532
|
groupCellFormat.stylesheetFormatter = this._stylesheet.createFormat(columnDef.groupTotalsExcelExportOptions.style);
|
|
548
533
|
}
|
|
549
534
|
this._groupTotalExcelFormats[columnDef.id] = groupCellFormat;
|
|
550
535
|
}
|
|
551
|
-
const groupTotalParser =
|
|
552
|
-
if (
|
|
536
|
+
const groupTotalParser = columnDef.groupTotalsExcelExportOptions?.valueParserCallback ?? excelUtils_1.getGroupTotalValue;
|
|
537
|
+
if (itemObj[groupCellFormat.groupType]?.[columnDef.field] !== undefined) {
|
|
553
538
|
itemData = {
|
|
554
539
|
value: groupTotalParser(itemObj, columnDef, groupCellFormat.groupType, this._stylesheet),
|
|
555
|
-
metadata: { style:
|
|
540
|
+
metadata: { style: groupCellFormat.stylesheetFormatter?.id }
|
|
556
541
|
};
|
|
557
542
|
}
|
|
558
543
|
}
|
|
559
544
|
else if (columnDef.groupTotalsFormatter) {
|
|
560
|
-
|
|
545
|
+
const totalResult = columnDef.groupTotalsFormatter(itemObj, columnDef, this._grid);
|
|
546
|
+
itemData = totalResult instanceof HTMLElement ? totalResult.textContent || '' : totalResult;
|
|
561
547
|
}
|
|
562
548
|
// does the user want to sanitize the output data (remove HTML tags)?
|
|
563
549
|
if (typeof itemData === 'string' && (columnDef.sanitizeDataExport || this._excelExportOptions.sanitizeDataExport)) {
|
|
564
|
-
itemData = (0,
|
|
550
|
+
itemData = (0, utils_1.stripTags)(itemData);
|
|
565
551
|
}
|
|
566
552
|
// add the column (unless user wants to skip it)
|
|
567
553
|
if ((columnDef.width === undefined || columnDef.width > 0) && !skippedField) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"excelExport.service.js","sourceRoot":"","sources":["../../src/excelExport.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getExcelFormatFromGridFormatter = exports.getFormatterNumericDataType = exports.getNumericFormatterOptions = exports.getGroupTotalValue = exports.useCellFormatByFieldType = exports.parseNumberWithFormatterOptions = exports.getExcelNumberCallback = exports.getExcelSameInputDataCallback = void 0;
|
|
4
4
|
const common_1 = require("@slickgrid-universal/common");
|
|
5
|
+
const utils_1 = require("@slickgrid-universal/utils");
|
|
5
6
|
// define all type of potential excel data function callbacks
|
|
6
7
|
const getExcelSameInputDataCallback = (data) => data;
|
|
7
8
|
exports.getExcelSameInputDataCallback = getExcelSameInputDataCallback;
|
|
@@ -36,13 +37,11 @@ function useCellFormatByFieldType(stylesheet, stylesheetFormatters, columnDef, g
|
|
|
36
37
|
}
|
|
37
38
|
exports.useCellFormatByFieldType = useCellFormatByFieldType;
|
|
38
39
|
function getGroupTotalValue(totals, columnDef, groupType) {
|
|
39
|
-
|
|
40
|
-
return (_b = (_a = totals === null || totals === void 0 ? void 0 : totals[groupType]) === null || _a === void 0 ? void 0 : _a[columnDef.field]) !== null && _b !== void 0 ? _b : 0;
|
|
40
|
+
return totals?.[groupType]?.[columnDef.field] ?? 0;
|
|
41
41
|
}
|
|
42
42
|
exports.getGroupTotalValue = getGroupTotalValue;
|
|
43
43
|
/** Get numeric formatter options when defined or use default values (minDecimal, maxDecimal, thousandSeparator, decimalSeparator, wrapNegativeNumber) */
|
|
44
44
|
function getNumericFormatterOptions(columnDef, grid, formatterType) {
|
|
45
|
-
var _a;
|
|
46
45
|
let dataType;
|
|
47
46
|
if (formatterType === 'group') {
|
|
48
47
|
switch (columnDef.groupTotalsFormatter) {
|
|
@@ -74,7 +73,7 @@ function getNumericFormatterOptions(columnDef, grid, formatterType) {
|
|
|
74
73
|
}
|
|
75
74
|
else {
|
|
76
75
|
// when formatter is a Formatter.multiple, we need to loop through each of its formatter to find the best numeric data type
|
|
77
|
-
if (columnDef.formatter === common_1.Formatters.multiple && Array.isArray(
|
|
76
|
+
if (columnDef.formatter === common_1.Formatters.multiple && Array.isArray(columnDef.params?.formatters)) {
|
|
78
77
|
dataType = 'decimal';
|
|
79
78
|
for (const formatter of columnDef.params.formatters) {
|
|
80
79
|
dataType = getFormatterNumericDataType(formatter);
|
|
@@ -116,7 +115,6 @@ function getFormatterNumericDataType(formatter) {
|
|
|
116
115
|
}
|
|
117
116
|
exports.getFormatterNumericDataType = getFormatterNumericDataType;
|
|
118
117
|
function getExcelFormatFromGridFormatter(stylesheet, stylesheetFormatters, columnDef, grid, formatterType) {
|
|
119
|
-
var _a;
|
|
120
118
|
let format = '';
|
|
121
119
|
let groupType = '';
|
|
122
120
|
let stylesheetFormatter;
|
|
@@ -157,7 +155,7 @@ function getExcelFormatFromGridFormatter(stylesheet, stylesheetFormatters, colum
|
|
|
157
155
|
switch (columnDef.formatter) {
|
|
158
156
|
case common_1.Formatters.multiple:
|
|
159
157
|
// when formatter is a Formatter.multiple, we need to loop through each of its formatter to find the best possible Excel format
|
|
160
|
-
if (Array.isArray(
|
|
158
|
+
if (Array.isArray(columnDef.params?.formatters)) {
|
|
161
159
|
for (const formatter of columnDef.params.formatters) {
|
|
162
160
|
const { stylesheetFormatter: stylesheetFormatterResult } = getExcelFormatFromGridFormatter(stylesheet, stylesheetFormatters, { ...columnDef, formatter }, grid, formatterType);
|
|
163
161
|
if (stylesheetFormatterResult !== stylesheetFormatters.numberFormatter) {
|
|
@@ -207,18 +205,18 @@ function createFormatFromNumber(formattedVal) {
|
|
|
207
205
|
// Total: ($10,420.55 USD) Expensed
|
|
208
206
|
const [
|
|
209
207
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
210
|
-
_, prefix, openBraquet, symbolPrefix, number, symbolSuffix, closingBraquet, suffix] =
|
|
208
|
+
_, prefix, openBraquet, symbolPrefix, number, symbolSuffix, closingBraquet, suffix] = formattedVal?.match(/^([^\d\(\-]*)([\(]?)([^\d]*)([\-]?[\w]]?[\d\s]*[.,\d]*[\d]*[^)\s\%]?)([^\d.,)]*)([\)]?)([^\d]*)$/i) || [];
|
|
211
209
|
// we use 1 so that they won't be removed when rounding numbers, however Excel uses 0 and # symbol
|
|
212
210
|
// replace 1's by 0's (required numbers) and replace 2's by "#" (optional numbers)
|
|
213
211
|
const replacedNumber = (number || '').replace(/1/g, '0').replace(/[2]/g, '#');
|
|
214
212
|
const format = [
|
|
215
|
-
escapeQuotes(prefix
|
|
216
|
-
openBraquet
|
|
217
|
-
escapeQuotes(symbolPrefix
|
|
213
|
+
escapeQuotes(prefix ?? ''),
|
|
214
|
+
openBraquet ?? '',
|
|
215
|
+
escapeQuotes(symbolPrefix ?? ''),
|
|
218
216
|
replacedNumber,
|
|
219
|
-
escapeQuotes(symbolSuffix
|
|
220
|
-
closingBraquet
|
|
221
|
-
escapeQuotes(suffix
|
|
217
|
+
escapeQuotes(symbolSuffix ?? ''),
|
|
218
|
+
closingBraquet ?? '',
|
|
219
|
+
escapeQuotes(suffix ?? '')
|
|
222
220
|
].join('');
|
|
223
221
|
return format.replace(',', '\,');
|
|
224
222
|
}
|
|
@@ -230,12 +228,12 @@ function createExcelFormatFromGridFormatter(columnDef, grid, formatterType, grou
|
|
|
230
228
|
const leftInteger = thousandSeparator ? '2220' : '0';
|
|
231
229
|
const testingNo = parseFloat(`${leftInteger}.${excelTestingDecimalNumberPadding(minDecimal, maxDecimal)}`);
|
|
232
230
|
if (formatterType === 'group' && columnDef.groupTotalsFormatter) {
|
|
233
|
-
positiveFormat = (0,
|
|
234
|
-
negativeFormat = (0,
|
|
231
|
+
positiveFormat = (0, utils_1.stripTags)(columnDef.groupTotalsFormatter({ [groupType]: { [columnDef.field]: testingNo } }, columnDef, grid));
|
|
232
|
+
negativeFormat = (0, utils_1.stripTags)(columnDef.groupTotalsFormatter({ [groupType]: { [columnDef.field]: -testingNo } }, columnDef, grid));
|
|
235
233
|
}
|
|
236
234
|
else if (columnDef.formatter) {
|
|
237
|
-
positiveFormat = (0,
|
|
238
|
-
negativeFormat = (0,
|
|
235
|
+
positiveFormat = (0, utils_1.stripTags)(columnDef.formatter(0, 0, testingNo, columnDef, {}, grid));
|
|
236
|
+
negativeFormat = (0, utils_1.stripTags)(columnDef.formatter(0, 0, -testingNo, columnDef, {}, grid));
|
|
239
237
|
}
|
|
240
238
|
if (positiveFormat && negativeFormat) {
|
|
241
239
|
outputFormat = createFormatFromNumber(positiveFormat) + ';' + createFormatFromNumber(negativeFormat);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"excelUtils.js","sourceRoot":"","sources":["../../src/excelUtils.ts"],"names":[],"mappings":"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"}
|