devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
89 lines (85 loc) • 3.21 kB
JavaScript
/**
* DevExtreme (exporter/exceljs/export_data_grid.js)
* Version: 20.1.7
* Build date: Tue Aug 25 2020
*
* Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.exportDataGrid = void 0;
var _type = require("../../core/utils/type");
var _export = require("./export");
var _errors = require("../../core/errors");
var _errors2 = _interopRequireDefault(_errors);
var _data_grid = require("../../ui/data_grid");
var _data_grid2 = _interopRequireDefault(_data_grid);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
}
}
var privateOptions = {
_setAutoFilter: function(dataProvider, worksheet, cellRange, autoFilterEnabled) {
if (autoFilterEnabled) {
if (!(0, _type.isDefined)(worksheet.autoFilter) && dataProvider.getRowsCount() > 0) {
worksheet.autoFilter = cellRange
}
}
},
_setFont: function(excelCell, bold) {
if ((0, _type.isDefined)(bold)) {
excelCell.font = excelCell.font || {};
excelCell.font.bold = bold
}
},
_getWorksheetFrozenState: function(dataProvider, cellRange) {
return {
state: "frozen",
ySplit: cellRange.from.row + dataProvider.getFrozenArea().y - 1
}
},
_trySetOutlineLevel: function(dataProvider, row, rowIndex, headerRowCount) {
if (rowIndex >= headerRowCount) {
row.outlineLevel = dataProvider.getGroupLevel(rowIndex)
}
},
_getCustomizeCellOptions: function(excelCell, gridCell) {
var options = {
excelCell: excelCell,
gridCell: gridCell
};
Object.defineProperty(options, "cell", {
get: function() {
_errors2.default.log("W0003", "CustomizeCell handler argument", "cell", "20.1", "Use the 'excelCell' field instead");
return excelCell
}
});
return options
},
_needMergeRange: function(rowIndex, headerRowCount) {
return rowIndex < headerRowCount
}
};
function exportDataGrid(options) {
return _export.Export.export(_getFullOptions(options), privateOptions)
}
function _getFullOptions(options) {
if (!((0, _type.isDefined)(options) && (0, _type.isObject)(options))) {
throw Error('The "exportDataGrid" method requires a configuration object.')
}
if (!((0, _type.isDefined)(options.component) && (0, _type.isObject)(options.component) && options.component instanceof _data_grid2.default)) {
throw Error('The "component" field must contain a DataGrid instance.')
}
if (!(0, _type.isDefined)(options.selectedRowsOnly)) {
options.selectedRowsOnly = false
}
if (!(0, _type.isDefined)(options.autoFilterEnabled)) {
options.autoFilterEnabled = false
}
return _export.Export.getFullOptions(options)
}
exports.exportDataGrid = exportDataGrid;