From 8824724280d1d4567a19987a0b0ef584674f194d Mon Sep 17 00:00:00 2001 From: xuliangzhan Date: Wed, 19 Feb 2020 11:36:48 +0800 Subject: [PATCH] update --- dist/index.common.js | 18 ++++++------------ dist/index.js | 18 ++++++------------ dist/index.min.js | 2 +- index.ts | 32 +++++++++++++++----------------- package.json | 2 +- 5 files changed, 29 insertions(+), 43 deletions(-) diff --git a/dist/index.common.js b/dist/index.common.js index 4eee3a9..070a025 100644 --- a/dist/index.common.js +++ b/dist/index.common.js @@ -11,16 +11,10 @@ var _xlsx = _interopRequireDefault(require("xlsx")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function getSeq($table, row, rowIndex, column, columnIndex) { - // 在 v3.0 中废弃 startIndex、indexMethod - var seqOpts = $table.seqOpts; - var seqMethod = seqOpts.seqMethod || column.indexMethod; - return seqMethod ? seqMethod({ - row: row, - rowIndex: rowIndex, - column: column, - columnIndex: columnIndex - }) : (seqOpts.startIndex || $table.startIndex) + rowIndex + 1; +function getFooterCellValue($table, opts, rows, column) { + var cellValue = _xeUtils["default"].toString(rows[$table.$getColumnIndex(column)]); + + return cellValue; } function toBuffer(wbout) { @@ -62,7 +56,7 @@ function exportXLSX(params) { footers.forEach(function (rows) { var item = {}; columns.forEach(function (column) { - item[column.id] = rows[$table.$getColumnIndex(column)] || ''; + item[column.id] = getFooterCellValue($table, options, rows, column); }); footList.push(item); }); @@ -265,4 +259,4 @@ if (typeof window !== 'undefined' && window.VXETable) { var _default = VXETablePluginExportXLSX; exports["default"] = _default; -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbImdldFNlcSIsIiR0YWJsZSIsInJvdyIsInJvd0luZGV4IiwiY29sdW1uIiwiY29sdW1uSW5kZXgiLCJzZXFPcHRzIiwic2VxTWV0aG9kIiwiaW5kZXhNZXRob2QiLCJzdGFydEluZGV4IiwidG9CdWZmZXIiLCJ3Ym91dCIsImJ1ZiIsIkFycmF5QnVmZmVyIiwibGVuZ3RoIiwidmlldyIsIlVpbnQ4QXJyYXkiLCJpbmRleCIsImNoYXJDb2RlQXQiLCJleHBvcnRYTFNYIiwicGFyYW1zIiwib3B0aW9ucyIsImNvbHVtbnMiLCJkYXRhcyIsInNoZWV0TmFtZSIsInR5cGUiLCJpc0hlYWRlciIsImlzRm9vdGVyIiwib3JpZ2luYWwiLCJtZXNzYWdlIiwiZm9vdGVyRmlsdGVyTWV0aG9kIiwiY29sSGVhZCIsImZvb3RMaXN0Iiwicm93TGlzdCIsImZvckVhY2giLCJpZCIsIlhFVXRpbHMiLCJ0b1N0cmluZyIsInByb3BlcnR5IiwiZ2V0VGl0bGUiLCJmb290ZXJEYXRhIiwiZm9vdGVycyIsImZpbHRlciIsInJvd3MiLCJpdGVtIiwiJGdldENvbHVtbkluZGV4IiwicHVzaCIsImJvb2siLCJYTFNYIiwidXRpbHMiLCJib29rX25ldyIsInNoZWV0IiwianNvbl90b19zaGVldCIsImNvbmNhdCIsInNraXBIZWFkZXIiLCJib29rX2FwcGVuZF9zaGVldCIsIndyaXRlIiwiYm9va1R5cGUiLCJib29rU1NUIiwiYmxvYiIsIkJsb2IiLCJkb3dubG9hZEZpbGUiLCIkWE1vZGFsIiwiaTE4biIsInN0YXR1cyIsIndpbmRvdyIsImZpbGVuYW1lIiwibmF2aWdhdG9yIiwibXNTYXZlQmxvYiIsImxpbmtFbGVtIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwidGFyZ2V0IiwiZG93bmxvYWQiLCJocmVmIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiYm9keSIsImFwcGVuZENoaWxkIiwiY2xpY2siLCJyZW1vdmVDaGlsZCIsImNvbnNvbGUiLCJlcnJvciIsInJlcGxhY2VEb3VibGVRdW90YXRpb24iLCJ2YWwiLCJyZXBsYWNlIiwicGFyc2VDc3YiLCJjb250ZW50IiwibGlzdCIsInNwbGl0IiwiZmllbGRzIiwickxpc3QiLCJzbGljZSIsIm1hcCIsInIiLCJjb2xJbmRleCIsImNoZWNrSW1wb3J0RGF0YSIsInRhYmxlRmllbGRzIiwiZmllbGQiLCJldmVyeSIsImluY2x1ZGVzIiwiaW1wb3J0WExTWCIsImZpbGUiLCJfaW1wb3J0Q2FsbGJhY2siLCJfaW1wb3J0UmVzb2x2ZSIsImZpbGVSZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiZSIsIndvcmtib29rIiwicmVhZCIsInJlc3VsdCIsImNzdkRhdGEiLCJzaGVldF90b19jc3YiLCJTaGVldHMiLCJTaGVldDEiLCJyZXN0IiwiY3JlYXRlRGF0YSIsInRoZW4iLCJkYXRhIiwibW9kZSIsImluc2VydEF0IiwicmVsb2FkRGF0YSIsInJlYWRBc0JpbmFyeVN0cmluZyIsImhhbmRsZUltcG9ydEV2ZW50IiwiaGFuZGxlRXhwb3J0RXZlbnQiLCJWWEVUYWJsZVBsdWdpbkV4cG9ydFhMU1giLCJpbnN0YWxsIiwieHRhYmxlIiwiT2JqZWN0IiwiYXNzaWduIiwidHlwZXMiLCJ4bHN4IiwiaW50ZXJjZXB0b3IiLCJtaXhpbiIsInQiLCJrZXkiLCJWWEVUYWJsZSIsInVzZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOzs7O0FBRUEsU0FBU0EsTUFBVCxDQUFnQkMsTUFBaEIsRUFBNkJDLEdBQTdCLEVBQXVDQyxRQUF2QyxFQUF5REMsTUFBekQsRUFBc0VDLFdBQXRFLEVBQXlGO0FBQ3ZGO0FBQ0EsTUFBSUMsT0FBTyxHQUFHTCxNQUFNLENBQUNLLE9BQXJCO0FBQ0EsTUFBSUMsU0FBUyxHQUFHRCxPQUFPLENBQUNDLFNBQVIsSUFBcUJILE1BQU0sQ0FBQ0ksV0FBNUM7QUFDQSxTQUFPRCxTQUFTLEdBQUdBLFNBQVMsQ0FBQztBQUFFTCxJQUFBQSxHQUFHLEVBQUhBLEdBQUY7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dkUsTUFBUCxLQUFrQixXQUFsQixJQUFpQ0EsTUFBTSxDQUFDd0UsUUFBNUMsRUFBc0Q7QUFDcER4RSxFQUFBQSxNQUFNLENBQUN3RSxRQUFQLENBQWdCQyxHQUFoQixDQUFvQlosd0JBQXBCO0FBQ0Q7O2VBRWNBLHdCIiwiZmlsZSI6ImluZGV4LmNvbW1vbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBYRVV0aWxzIGZyb20gJ3hlLXV0aWxzL21ldGhvZHMveGUtdXRpbHMnXHJcbmltcG9ydCBWWEVUYWJsZSBmcm9tICd2eGUtdGFibGUvbGliL3Z4ZS10YWJsZSdcclxuaW1wb3J0IFhMU1ggZnJvbSAneGxzeCdcclxuXHJcbmZ1bmN0aW9uIGdldFNlcSgkdGFibGU6IGFueSwgcm93OiBhbnksIHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbjogYW55LCBjb2x1bW5JbmRleDogbnVtYmVyKSB7XHJcbiAgLy8g5ZyoIHYzLjAg5Lit5bqf5byDIHN0YXJ0SW5kZXjjgIFpbmRleE1ldGhvZFxyXG4gIGxldCBzZXFPcHRzID0gJHRhYmxlLnNlcU9wdHNcclxuICBsZXQgc2VxTWV0aG9kID0gc2VxT3B0cy5zZXFNZXRob2QgfHwgY29sdW1uLmluZGV4TWV0aG9kXHJcbiAgcmV0dXJuIHNlcU1ldGhvZCA/IHNlcU1ldGhvZCh7IHJvdywgcm93SW5kZXgsIGNvbHVtbiwgY29sdW1uSW5kZXggfSkgOiAoKHNlcU9wdHMuc3RhcnRJbmRleCB8fCAkdGFibGUuc3RhcnRJbmRleCkgKyByb3dJbmRleCArIDEpXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvQnVmZmVyKHdib3V0OiBhbnkpIHtcclxuICBsZXQgYnVmID0gbmV3IEFycmF5QnVmZmVyKHdib3V0Lmxlbmd0aClcclxuICBsZXQgdmlldyA9IG5ldyBVaW50OEFycmF5KGJ1ZilcclxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4ICE9PSB3Ym91dC5sZW5ndGg7ICsraW5kZXgpIHZpZXdbaW5kZXhdID0gd2JvdXQuY2hhckNvZGVBdChpbmRleCkgJiAweEZGXHJcbiAgcmV0dXJuIGJ1ZlxyXG59XHJcblxyXG5mdW5jdGlvbiBleHBvcnRYTFNYKHBhcmFtczogYW55KSB7XHJcbiAgY29uc3QgeyAkdGFibGUsIG9wdGlvbnMsIGNvbHVtbnMsIGRhdGFzIH0gPSBwYXJhbXNcclxuICBjb25zdCB7IHNoZWV0TmFtZSwgdHlwZSwgaXNIZWFkZXIsIGlzRm9vdGVyLCBvcmlnaW5hbCwgbWVzc2FnZSwgZm9vdGVyRmlsdGVyTWV0aG9kIH0gPSBvcHRpb25zXHJcbiAgY29uc3QgY29sSGVhZDogYW55ID0ge31cclxuICBjb25zdCBmb290TGlzdDogYW55W10gPSBbXVxyXG4gIGNvbnN0IHJvd0xpc3QgPSBkYXRhc1xyXG4gIGlmIChpc0hlYWRlcikge1xyXG4gICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW46IGFueSkgPT4ge1xyXG4gICAgICBjb2xIZWFkW2NvbHVtbi5pZF0gPSBYRVV0aWxzLnRvU3RyaW5nKG9yaWdpbmFsID8gY29sdW1uLnByb3BlcnR5IDogY29sdW1uLmdldFRpdGxlKCkpXHJcbiAgICB9KVxyXG4gIH1cclxuICBpZiAoaXNGb290ZXIpIHtcclxuICAgIGNvbnN0IGZvb3RlckRhdGE6IGFueVtdID0gJHRhYmxlLmZvb3RlckRhdGFcclxuICAgIGNvbnN0IGZvb3RlcnM6IGFueVtdID0gZm9vdGVyRmlsdGVyTWV0aG9kID8gZm9vdGVyRGF0YS5maWx0ZXIoZm9vdGVyRmlsdGVyTWV0aG9kKSA6IGZvb3RlckRhdGFcclxuICAgIGZvb3RlcnMuZm9yRWFjaCgocm93czogYW55W10pID0+IHtcclxuICAgICAgY29uc3QgaXRlbTogYW55ID0ge31cclxuICAgICAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW46IGFueSkgPT4ge1xyXG4gICAgICAgIGl0ZW1bY29sdW1uLmlkXSA9IHJvd3NbJHRhYmxlLiRnZXRDb2x1bW5JbmRleChjb2x1bW4pXSB8fCAnJ1xyXG4gICAgICB9KVxyXG4gICAgICBmb290TGlzdC5wdXNoKGl0ZW0pXHJcbiAgICB9KVxyXG4gIH1cclxuICBjb25zdCBib29rID0gWExTWC51dGlscy5ib29rX25ldygpXHJcbiAgY29uc3Qgc2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoKGlzSGVhZGVyID8gW2NvbEhlYWRdIDogW10pLmNvbmNhdChyb3dMaXN0KS5jb25jYXQoZm9vdExpc3QpLCB7IHNraXBIZWFkZXI6IHRydWUgfSlcclxuICAvLyDovazmjaLmlbDmja5cclxuICBYTFNYLnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KGJvb2ssIHNoZWV0LCBzaGVldE5hbWUpXHJcbiAgY29uc3Qgd2JvdXQgPSBYTFNYLndyaXRlKGJvb2ssIHsgYm9va1R5cGU6IHR5cGUsIGJvb2tTU1Q6IGZhbHNlLCB0eXBlOiAnYmluYXJ5JyB9KVxyXG4gIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbdG9CdWZmZXIod2JvdXQpXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyB9KVxyXG4gIC8vIOS/neWtmOWvvOWHulxyXG4gIGRvd25sb2FkRmlsZShibG9iLCBvcHRpb25zKVxyXG4gIGlmIChtZXNzYWdlICE9PSBmYWxzZSkge1xyXG4gICAgJHRhYmxlLiRYTW9kYWwubWVzc2FnZSh7IG1lc3NhZ2U6IGkxOG4oJ3Z4ZS50YWJsZS5leHBTdWNjZXNzJyksIHN0YXR1czogJ3N1Y2Nlc3MnIH0pXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBkb3dubG9hZEZpbGUoYmxvYjogQmxvYiwgb3B0aW9uczogYW55KSB7XHJcbiAgaWYgKHdpbmRvdy5CbG9iKSB7XHJcbiAgICBjb25zdCB7IGZpbGVuYW1lLCB0eXBlIH0gPSBvcHRpb25zXHJcbiAgICBpZiAobmF2aWdhdG9yLm1zU2F2ZUJsb2IpIHtcclxuICAgICAgbmF2aWdhdG9yLm1zU2F2ZUJsb2IoYmxvYiwgYCR7ZmlsZW5hbWV9LiR7dHlwZX1gKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFyIGxpbmtFbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXHJcbiAgICAgIGxpbmtFbGVtLnRhcmdldCA9ICdfYmxhbmsnXHJcbiAgICAgIGxpbmtFbGVtLmRvd25sb2FkID0gYCR7ZmlsZW5hbWV9LiR7dHlwZX1gXHJcbiAgICAgIGxpbmtFbGVtLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpXHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGlua0VsZW0pXHJcbiAgICAgIGxpbmtFbGVtLmNsaWNrKClcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rRWxlbSlcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgY29uc29sZS5lcnJvcihpMThuKCd2eGUuZXJyb3Iubm90RXhwJykpXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiByZXBsYWNlRG91YmxlUXVvdGF0aW9uKHZhbDogc3RyaW5nKSB7XHJcbiAgcmV0dXJuIHZhbC5yZXBsYWNlKC9eXCIvLCAnJykucmVwbGFjZSgvXCIkLywgJycpXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBhcnNlQ3N2KGNvbHVtbnM6IGFueVtdLCBjb250ZW50OiBzdHJpbmcpIHtcclxuICBjb25zdCBsaXN0OiBzdHJpbmdbXSA9IGNvbnRlbnQuc3BsaXQoJ1xcbicpXHJcbiAgY29uc3QgZmllbGRzOiBhbnlbXSA9IFtdXHJcbiAgY29uc3Qgcm93czogYW55W10gPSBbXVxyXG4gIGlmIChsaXN0Lmxlbmd0aCkge1xyXG4gICAgY29uc3Qgckxpc3Q6IHN0cmluZ1tdID0gbGlzdC5zbGljZSgxKVxyXG4gICAgbGlzdFswXS5zcGxpdCgnLCcpLm1hcChyZXBsYWNlRG91YmxlUXVvdGF0aW9uKVxyXG4gICAgckxpc3QuZm9yRWFjaCgocjogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmIChyKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbTogYW55ID0ge31cclxuICAgICAgICByLnNwbGl0KCcsJykuZm9yRWFjaCgodmFsOiBzdHJpbmcsIGNvbEluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgIGlmIChmaWVsZHNbY29sSW5kZXhdKSB7XHJcbiAgICAgICAgICAgIGl0ZW1bZmllbGRzW2NvbEluZGV4XV0gPSByZXBsYWNlRG91YmxlUXVvdGF0aW9uKHZhbClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHJvd3MucHVzaChpdGVtKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICByZXR1cm4geyBmaWVsZHMsIHJvd3MgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBjaGVja0ltcG9ydERhdGEoY29sdW1uczogYW55W10sIGZpZWxkczogc3RyaW5nW10sIHJvd3M6IGFueVtdKSB7XHJcbiAgbGV0IHRhYmxlRmllbGRzOiBzdHJpbmdbXSA9IFtdXHJcbiAgY29sdW1ucy5mb3JFYWNoKChjb2x1bW46IGFueSkgPT4ge1xyXG4gICAgbGV0IGZpZWxkOiBzdHJpbmcgPSBjb2x1bW4ucHJvcGVydHlcclxuICAgIGlmIChmaWVsZCkge1xyXG4gICAgICB0YWJsZUZpZWxkcy5wdXNoKGZpZWxkKVxyXG4gICAgfVxyXG4gIH0pXHJcbiAgcmV0dXJuIHRhYmxlRmllbGRzLmV2ZXJ5KChmaWVsZDogc3RyaW5nKSA9PiBmaWVsZHMuaW5jbHVkZXMoZmllbGQpKVxyXG59XHJcblxyXG5mdW5jdGlvbiBpbXBvcnRYTFNYKHBhcmFtczogYW55KSB7XHJcbiAgY29uc3QgeyAkdGFibGUsIGNvbHVtbnMsIG9wdGlvbnMsIGZpbGUgfSA9IHBhcmFtc1xyXG4gIGNvbnN0IHsgX2ltcG9ydENhbGxiYWNrLCBfaW1wb3J0UmVzb2x2ZSB9ID0gJHRhYmxlXHJcbiAgY29uc3QgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKClcclxuICBmaWxlUmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHdvcmtib29rID0gWExTWC5yZWFkKGUudGFyZ2V0LnJlc3VsdCwgeyB0eXBlOiAnYmluYXJ5JyB9KVxyXG4gICAgY29uc3QgY3N2RGF0YTogc3RyaW5nID0gWExTWC51dGlscy5zaGVldF90b19jc3Yod29ya2Jvb2suU2hlZXRzLlNoZWV0MSlcclxuICAgIGNvbnN0IHJlc3Q6IGFueSA9IHBhcnNlQ3N2KGNvbHVtbnMsIGNzdkRhdGEpXHJcbiAgICBjb25zdCB7IGZpZWxkcywgcm93cyB9ID0gcmVzdFxyXG4gICAgY29uc3Qgc3RhdHVzID0gY2hlY2tJbXBvcnREYXRhKGNvbHVtbnMsIGZpZWxkcywgcm93cylcclxuICAgIGlmIChzdGF0dXMpIHtcclxuICAgICAgJHRhYmxlLmNyZWF0ZURhdGEocm93cylcclxuICAgICAgICAudGhlbigoZGF0YTogYW55W10pID0+IHtcclxuICAgICAgICAgIGlmIChvcHRpb25zLm1vZGUgPT09ICdhcHBlbmQnKSB7XHJcbiAgICAgICAgICAgICR0YWJsZS5pbnNlcnRBdChkYXRhLCAtMSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICR0YWJsZS5yZWxvYWREYXRhKGRhdGEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgaWYgKG9wdGlvbnMubWVzc2FnZSAhPT0gZmFsc2UpIHtcclxuICAgICAgICAkdGFibGUuJFhNb2RhbC5tZXNzYWdlKHsgbWVzc2FnZTogaTE4bigndnhlLnRhYmxlLmltcFN1Y2Nlc3MnKSwgc3RhdHVzOiAnc3VjY2VzcycgfSlcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChvcHRpb25zLm1lc3NhZ2UgIT09IGZhbHNlKSB7XHJcbiAgICAgICR0YWJsZS4kWE1vZGFsLm1lc3NhZ2UoeyBtZXNzYWdlOiBpMThuKCd2eGUuZXJyb3IuaW1wRmllbGRzJyksIHN0YXR1czogJ2Vycm9yJyB9KVxyXG4gICAgfVxyXG4gICAgaWYgKF9pbXBvcnRSZXNvbHZlKSB7XHJcbiAgICAgIF9pbXBvcnRSZXNvbHZlKHN0YXR1cylcclxuICAgICAgJHRhYmxlLl9pbXBvcnRSZXNvbHZlID0gbnVsbFxyXG4gICAgfSBlbHNlIGlmIChfaW1wb3J0Q2FsbGJhY2spIHtcclxuICAgICAgLy8g5bey5bqf5byDXHJcbiAgICAgIF9pbXBvcnRDYWxsYmFjayhzdGF0dXMpXHJcbiAgICAgICR0YWJsZS5faW1wb3J0Q2FsbGJhY2sgPSBudWxsXHJcbiAgICB9XHJcbiAgfVxyXG4gIGZpbGVSZWFkZXIucmVhZEFzQmluYXJ5U3RyaW5nKGZpbGUpXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhbmRsZUltcG9ydEV2ZW50KHBhcmFtczogYW55KSB7XHJcbiAgaWYgKHBhcmFtcy5vcHRpb25zLnR5cGUgPT09ICd4bHN4Jykge1xyXG4gICAgaW1wb3J0WExTWChwYXJhbXMpXHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhbmRsZUV4cG9ydEV2ZW50KHBhcmFtczogYW55KSB7XHJcbiAgaWYgKHBhcmFtcy5vcHRpb25zLnR5cGUgPT09ICd4bHN4Jykge1xyXG4gICAgZXhwb3J0WExTWChwYXJhbXMpXHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDln7rkuo4gdnhlLXRhYmxlIOihqOagvOeahOWinuW8uuaPkuS7tu+8jOaUr+aMgeWvvOWHuiB4bHN4IOagvOW8j1xyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFZYRVRhYmxlUGx1Z2luRXhwb3J0WExTWDogYW55ID0ge1xyXG4gIGluc3RhbGwoeHRhYmxlOiB0eXBlb2YgVlhFVGFibGUpIHtcclxuICAgIE9iamVjdC5hc3NpZ24oeHRhYmxlLnR5cGVzLCB7IHhsc3g6IDEgfSlcclxuICAgIHh0YWJsZS5pbnRlcmNlcHRvci5taXhpbih7XHJcbiAgICAgICdldmVudC5pbXBvcnQnOiBoYW5kbGVJbXBvcnRFdmVudCxcclxuICAgICAgJ2V2ZW50LmV4cG9ydCc6IGhhbmRsZUV4cG9ydEV2ZW50XHJcbiAgICB9KVxyXG4gICAgVlhFVGFibGVQbHVnaW5FeHBvcnRYTFNYLnQgPSB4dGFibGUudFxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gaTE4bihrZXk6IHN0cmluZykge1xyXG4gIGlmIChWWEVUYWJsZVBsdWdpbkV4cG9ydFhMU1gudCkge1xyXG4gICAgcmV0dXJuIFZYRVRhYmxlUGx1Z2luRXhwb3J0WExTWC50KGtleSlcclxuICB9XHJcbn1cclxuXHJcbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuVlhFVGFibGUpIHtcclxuICB3aW5kb3cuVlhFVGFibGUudXNlKFZYRVRhYmxlUGx1Z2luRXhwb3J0WExTWClcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgVlhFVGFibGVQbHVnaW5FeHBvcnRYTFNYXHJcbiJdfQ== +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbImdldEZvb3RlckNlbGxWYWx1ZSIsIiR0YWJsZSIsIm9wdHMiLCJyb3dzIiwiY29sdW1uIiwiY2VsbFZhbHVlIiwiWEVVdGlscyIsInRvU3RyaW5nIiwiJGdldENvbHVtbkluZGV4IiwidG9CdWZmZXIiLCJ3Ym91dCIsImJ1ZiIsIkFycmF5QnVmZmVyIiwibGVuZ3RoIiwidmlldyIsIlVpbnQ4QXJyYXkiLCJpbmRleCIsImNoYXJDb2RlQXQiLCJleHBvcnRYTFNYIiwicGFyYW1zIiwib3B0aW9ucyIsImNvbHVtbnMiLCJkYXRhcyIsInNoZWV0TmFtZSIsInR5cGUiLCJpc0hlYWRlciIsImlzRm9vdGVyIiwib3JpZ2luYWwiLCJtZXNzYWdlIiwiZm9vdGVyRmlsdGVyTWV0aG9kIiwiY29sSGVhZCIsImZvb3RMaXN0Iiwicm93TGlzdCIsImZvckVhY2giLCJpZCIsInByb3BlcnR5IiwiZ2V0VGl0bGUiLCJmb290ZXJEYXRhIiwiZm9vdGVycyIsImZpbHRlciIsIml0ZW0iLCJwdXNoIiwiYm9vayIsIlhMU1giLCJ1dGlscyIsImJvb2tfbmV3Iiwic2hlZXQiLCJqc29uX3RvX3NoZWV0IiwiY29uY2F0Iiwic2tpcEhlYWRlciIsImJvb2tfYXBwZW5kX3NoZWV0Iiwid3JpdGUiLCJib29rVHlwZSIsImJvb2tTU1QiLCJibG9iIiwiQmxvYiIsImRvd25sb2FkRmlsZSIsIiRYTW9kYWwiLCJpMThuIiwic3RhdHVzIiwid2luZG93IiwiZmlsZW5hbWUiLCJuYXZpZ2F0b3IiLCJtc1NhdmVCbG9iIiwibGlua0VsZW0iLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ0YXJnZXQiLCJkb3dubG9hZCIsImhyZWYiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJjbGljayIsInJlbW92ZUNoaWxkIiwiY29uc29sZSIsImVycm9yIiwicmVwbGFjZURvdWJsZVF1b3RhdGlvbiIsInZhbCIsInJlcGxhY2UiLCJwYXJzZUNzdiIsImNvbnRlbnQiLCJsaXN0Iiwic3BsaXQiLCJmaWVsZHMiLCJyTGlzdCIsInNsaWNlIiwibWFwIiwiciIsImNvbEluZGV4IiwiY2hlY2tJbXBvcnREYXRhIiwidGFibGVGaWVsZHMiLCJmaWVsZCIsImV2ZXJ5IiwiaW5jbHVkZXMiLCJpbXBvcnRYTFNYIiwiZmlsZSIsIl9pbXBvcnRDYWxsYmFjayIsIl9pbXBvcnRSZXNvbHZlIiwiZmlsZVJlYWRlciIsIkZpbGVSZWFkZXIiLCJvbmxvYWQiLCJlIiwid29ya2Jvb2siLCJyZWFkIiwicmVzdWx0IiwiY3N2RGF0YSIsInNoZWV0X3RvX2NzdiIsIlNoZWV0cyIsIlNoZWV0MSIsInJlc3QiLCJjcmVhdGVEYXRhIiwidGhlbiIsImRhdGEiLCJtb2RlIiwiaW5zZXJ0QXQiLCJyZWxvYWREYXRhIiwicmVhZEFzQmluYXJ5U3RyaW5nIiwiaGFuZGxlSW1wb3J0RXZlbnQiLCJoYW5kbGVFeHBvcnRFdmVudCIsIlZYRVRhYmxlUGx1Z2luRXhwb3J0WExTWCIsImluc3RhbGwiLCJ4dGFibGUiLCJPYmplY3QiLCJhc3NpZ24iLCJ0eXBlcyIsInhsc3giLCJpbnRlcmNlcHRvciIsIm1peGluIiwidCIsImtleSIsIlZYRVRhYmxlIiwidXNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7Ozs7QUFFQSxTQUFTQSxrQkFBVCxDQUE2QkMsTUFBN0IsRUFBMENDLElBQTFDLEVBQXFEQyxJQUFyRCxFQUFrRUMsTUFBbEUsRUFBNkU7QUFDM0UsTUFBSUMsU0FBUyxHQUFHQyxvQkFBUUMsUUFBUixDQUFpQkosSUFBSSxDQUFDRixNQUFNLENBQUNPLGVBQVAsQ0FBdUJKLE1BQXZCLENBQUQsQ0FBckIsQ0FBaEI7O0FBQ0EsU0FBT0MsU0FBUDtBQUNEOztBQUVELFNBQVNJLFFBQVQsQ0FBbUJDLEtBQW5CLEVBQTZCO0FBQzNCLE1BQUlDLEdBQUcsR0FBRyxJQUFJQyxXQUFKLENBQWdCRixLQUFLLENBQUNHLE1BQXRCLENBQVY7QUFDQSxNQUFJ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QVQsQ0FBNEJyRyxNQUE1QixFQUF1QztBQUNyQyxNQUFJQSxNQUFNLENBQUNDLE9BQVAsQ0FBZUksSUFBZixLQUF3QixNQUE1QixFQUFvQztBQUNsQ04sSUFBQUEsVUFBVSxDQUFDQyxNQUFELENBQVY7QUFDQSxXQUFPLEtBQVA7QUFDRDtBQUNGO0FBRUQ7Ozs7O0FBR08sSUFBTXNHLHdCQUF3QixHQUFRO0FBQzNDQyxFQUFBQSxPQUQyQyxtQkFDbENDLE1BRGtDLEVBQ1g7QUFDOUJDLElBQUFBLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjRixNQUFNLENBQUNHLEtBQXJCLEVBQTRCO0FBQUVDLE1BQUFBLElBQUksRUFBRTtBQUFSLEtBQTVCO0FBQ0FKLElBQUFBLE1BQU0sQ0FBQ0ssV0FBUCxDQUFtQkMsS0FBbkIsQ0FBeUI7QUFDdkIsc0JBQWdCVixpQkFETztBQUV2QixzQkFBZ0JDO0FBRk8sS0FBekI7QUFJQUMsSUFBQUEsd0JBQXdCLENBQUNTLENBQXpCLEdBQTZCUCxNQUFNLENBQUNPLENBQXBDO0FBQ0Q7QUFSMEMsQ0FBdEM7OztBQVdQLFNBQVN4RSxJQUFULENBQWV5RSxHQUFmLEVBQTBCO0FBQ3hCLE1BQUlWLHdCQUF3QixDQUFDUyxDQUE3QixFQUFnQztBQUM5QixXQUFPVCx3QkFBd0IsQ0FBQ1MsQ0FBekIsQ0FBMkJDLEdBQTNCLENBQVA7QUFDRDtBQUNGOztBQUVELElBQUksT0FBT3ZFLE1BQVAsS0FBa0IsV0FBbEIsSUFBaUNBLE1BQU0sQ0FBQ3dFLFFBQTVDLEVBQXNEO0FBQ3BEeEUsRUFBQUEsTUFBTSxDQUFDd0UsUUFBUCxDQUFnQkMsR0FBaEIsQ0FBb0JaLHdCQUFwQjtBQUNEOztlQUVjQSx3QiIsImZpbGUiOiJpbmRleC5jb21tb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgWEVVdGlscyBmcm9tICd4ZS11dGlscy9tZXRob2RzL3hlLXV0aWxzJ1xyXG5pbXBvcnQgVlhFVGFibGUgZnJvbSAndnhlLXRhYmxlL2xpYi92eGUtdGFibGUnXHJcbmltcG9ydCBYTFNYIGZyb20gJ3hsc3gnXHJcblxyXG5mdW5jdGlvbiBnZXRGb290ZXJDZWxsVmFsdWUgKCR0YWJsZTogYW55LCBvcHRzOiBhbnksIHJvd3M6IGFueVtdLCBjb2x1bW46IGFueSkge1xyXG4gIHZhciBjZWxsVmFsdWUgPSBYRVV0aWxzLnRvU3RyaW5nKHJvd3NbJHRhYmxlLiRnZXRDb2x1bW5JbmRleChjb2x1bW4pXSlcclxuICByZXR1cm4gY2VsbFZhbHVlXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvQnVmZmVyICh3Ym91dDogYW55KSB7XHJcbiAgbGV0IGJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcih3Ym91dC5sZW5ndGgpXHJcbiAgbGV0IHZpZXcgPSBuZXcgVWludDhBcnJheShidWYpXHJcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCAhPT0gd2JvdXQubGVuZ3RoOyArK2luZGV4KSB2aWV3W2luZGV4XSA9IHdib3V0LmNoYXJDb2RlQXQoaW5kZXgpICYgMHhGRlxyXG4gIHJldHVybiBidWZcclxufVxyXG5cclxuZnVuY3Rpb24gZXhwb3J0WExTWCAocGFyYW1zOiBhbnkpIHtcclxuICBjb25zdCB7ICR0YWJsZSwgb3B0aW9ucywgY29sdW1ucywgZGF0YXMgfSA9IHBhcmFtc1xyXG4gIGNvbnN0IHsgc2hlZXROYW1lLCB0eXBlLCBpc0hlYWRlciwgaXNGb290ZXIsIG9yaWdpbmFsLCBtZXNzYWdlLCBmb290ZXJGaWx0ZXJNZXRob2QgfSA9IG9wdGlvbnNcclxuICBjb25zdCBjb2xIZWFkOiBhbnkgPSB7fVxyXG4gIGNvbnN0IGZvb3RMaXN0OiBhbnlbXSA9IFtdXHJcbiAgY29uc3Qgcm93TGlzdCA9IGRhdGFzXHJcbiAgaWYgKGlzSGVhZGVyKSB7XHJcbiAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbjogYW55KSA9PiB7XHJcbiAgICAgIGNvbEhlYWRbY29sdW1uLmlkXSA9IFhFVXRpbHMudG9TdHJpbmcob3JpZ2luYWwgPyBjb2x1bW4ucHJvcGVydHkgOiBjb2x1bW4uZ2V0VGl0bGUoKSlcclxuICAgIH0pXHJcbiAgfVxyXG4gIGlmIChpc0Zvb3Rlcikge1xyXG4gICAgY29uc3QgZm9vdGVyRGF0YTogYW55W10gPSAkdGFibGUuZm9vdGVyRGF0YVxyXG4gICAgY29uc3QgZm9vdGVyczogYW55W10gPSBmb290ZXJGaWx0ZXJNZXRob2QgPyBmb290ZXJEYXRhLmZpbHRlcihmb290ZXJGaWx0ZXJNZXRob2QpIDogZm9vdGVyRGF0YVxyXG4gICAgZm9vdGVycy5mb3JFYWNoKChyb3dzOiBhbnlbXSkgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtOiBhbnkgPSB7fVxyXG4gICAgICBjb2x1bW5zLmZvckVhY2goKGNvbHVtbjogYW55KSA9PiB7XHJcbiAgICAgICAgaXRlbVtjb2x1bW4uaWRdID0gZ2V0Rm9vdGVyQ2VsbFZhbHVlKCR0YWJsZSwgb3B0aW9ucywgcm93cywgY29sdW1uKVxyXG4gICAgICB9KVxyXG4gICAgICBmb290TGlzdC5wdXNoKGl0ZW0pXHJcbiAgICB9KVxyXG4gIH1cclxuICBjb25zdCBib29rID0gWExTWC51dGlscy5ib29rX25ldygpXHJcbiAgY29uc3Qgc2hlZXQgPSBYTFNYLnV0aWxzLmpzb25fdG9fc2hlZXQoKGlzSGVhZGVyID8gW2NvbEhlYWRdIDogW10pLmNvbmNhdChyb3dMaXN0KS5jb25jYXQoZm9vdExpc3QpLCB7IHNraXBIZWFkZXI6IHRydWUgfSlcclxuICAvLyDovazmjaLmlbDmja5cclxuICBYTFNYLnV0aWxzLmJvb2tfYXBwZW5kX3NoZWV0KGJvb2ssIHNoZWV0LCBzaGVldE5hbWUpXHJcbiAgY29uc3Qgd2JvdXQgPSBYTFNYLndyaXRlKGJvb2ssIHsgYm9va1R5cGU6IHR5cGUsIGJvb2tTU1Q6IGZhbHNlLCB0eXBlOiAnYmluYXJ5JyB9KVxyXG4gIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbdG9CdWZmZXIod2JvdXQpXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyB9KVxyXG4gIC8vIOS/neWtmOWvvOWHulxyXG4gIGRvd25sb2FkRmlsZShibG9iLCBvcHRpb25zKVxyXG4gIGlmIChtZXNzYWdlICE9PSBmYWxzZSkge1xyXG4gICAgJHRhYmxlLiRYTW9kYWwubWVzc2FnZSh7IG1lc3NhZ2U6IGkxOG4oJ3Z4ZS50YWJsZS5leHBTdWNjZXNzJyksIHN0YXR1czogJ3N1Y2Nlc3MnIH0pXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBkb3dubG9hZEZpbGUgKGJsb2I6IEJsb2IsIG9wdGlvbnM6IGFueSkge1xyXG4gIGlmICh3aW5kb3cuQmxvYikge1xyXG4gICAgY29uc3QgeyBmaWxlbmFtZSwgdHlwZSB9ID0gb3B0aW9uc1xyXG4gICAgaWYgKG5hdmlnYXRvci5tc1NhdmVCbG9iKSB7XHJcbiAgICAgIG5hdmlnYXRvci5tc1NhdmVCbG9iKGJsb2IsIGAke2ZpbGVuYW1lfS4ke3R5cGV9YClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHZhciBsaW5rRWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxyXG4gICAgICBsaW5rRWxlbS50YXJnZXQgPSAnX2JsYW5rJ1xyXG4gICAgICBsaW5rRWxlbS5kb3dubG9hZCA9IGAke2ZpbGVuYW1lfS4ke3R5cGV9YFxyXG4gICAgICBsaW5rRWxlbS5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKVxyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmtFbGVtKVxyXG4gICAgICBsaW5rRWxlbS5jbGljaygpXHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGlua0VsZW0pXHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoaTE4bigndnhlLmVycm9yLm5vdEV4cCcpKVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gcmVwbGFjZURvdWJsZVF1b3RhdGlvbiAodmFsOiBzdHJpbmcpIHtcclxuICByZXR1cm4gdmFsLnJlcGxhY2UoL15cIi8sICcnKS5yZXBsYWNlKC9cIiQvLCAnJylcclxufVxyXG5cclxuZnVuY3Rpb24gcGFyc2VDc3YgKGNvbHVtbnM6IGFueVtdLCBjb250ZW50OiBzdHJpbmcpIHtcclxuICBjb25zdCBsaXN0OiBzdHJpbmdbXSA9IGNvbnRlbnQuc3BsaXQoJ1xcbicpXHJcbiAgY29uc3QgZmllbGRzOiBhbnlbXSA9IFtdXHJcbiAgY29uc3Qgcm93czogYW55W10gPSBbXVxyXG4gIGlmIChsaXN0Lmxlbmd0aCkge1xyXG4gICAgY29uc3Qgckxpc3Q6IHN0cmluZ1tdID0gbGlzdC5zbGljZSgxKVxyXG4gICAgbGlzdFswXS5zcGxpdCgnLCcpLm1hcChyZXBsYWNlRG91YmxlUXVvdGF0aW9uKVxyXG4gICAgckxpc3QuZm9yRWFjaCgocjogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmIChyKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbTogYW55ID0ge31cclxuICAgICAgICByLnNwbGl0KCcsJykuZm9yRWFjaCgodmFsOiBzdHJpbmcsIGNvbEluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgIGlmIChmaWVsZHNbY29sSW5kZXhdKSB7XHJcbiAgICAgICAgICAgIGl0ZW1bZmllbGRzW2NvbEluZGV4XV0gPSByZXBsYWNlRG91YmxlUXVvdGF0aW9uKHZhbClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHJvd3MucHVzaChpdGVtKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICByZXR1cm4geyBmaWVsZHMsIHJvd3MgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBjaGVja0ltcG9ydERhdGEgKGNvbHVtbnM6IGFueVtdLCBmaWVsZHM6IHN0cmluZ1tdLCByb3dzOiBhbnlbXSkge1xyXG4gIGxldCB0YWJsZUZpZWxkczogc3RyaW5nW10gPSBbXVxyXG4gIGNvbHVtbnMuZm9yRWFjaCgoY29sdW1uOiBhbnkpID0+IHtcclxuICAgIGxldCBmaWVsZDogc3RyaW5nID0gY29sdW1uLnByb3BlcnR5XHJcbiAgICBpZiAoZmllbGQpIHtcclxuICAgICAgdGFibGVGaWVsZHMucHVzaChmaWVsZClcclxuICAgIH1cclxuICB9KVxyXG4gIHJldHVybiB0YWJsZUZpZWxkcy5ldmVyeSgoZmllbGQ6IHN0cmluZykgPT4gZmllbGRzLmluY2x1ZGVzKGZpZWxkKSlcclxufVxyXG5cclxuZnVuY3Rpb24gaW1wb3J0WExTWCAocGFyYW1zOiBhbnkpIHtcclxuICBjb25zdCB7ICR0YWJsZSwgY29sdW1ucywgb3B0aW9ucywgZmlsZSB9ID0gcGFyYW1zXHJcbiAgY29uc3QgeyBfaW1wb3J0Q2FsbGJhY2ssIF9pbXBvcnRSZXNvbHZlIH0gPSAkdGFibGVcclxuICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKVxyXG4gIGZpbGVSZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xyXG4gICAgY29uc3Qgd29ya2Jvb2sgPSBYTFNYLnJlYWQoZS50YXJnZXQucmVzdWx0LCB7IHR5cGU6ICdiaW5hcnknIH0pXHJcbiAgICBjb25zdCBjc3ZEYXRhOiBzdHJpbmcgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2Nzdih3b3JrYm9vay5TaGVldHMuU2hlZXQxKVxyXG4gICAgY29uc3QgcmVzdDogYW55ID0gcGFyc2VDc3YoY29sdW1ucywgY3N2RGF0YSlcclxuICAgIGNvbnN0IHsgZmllbGRzLCByb3dzIH0gPSByZXN0XHJcbiAgICBjb25zdCBzdGF0dXMgPSBjaGVja0ltcG9ydERhdGEoY29sdW1ucywgZmllbGRzLCByb3dzKVxyXG4gICAgaWYgKHN0YXR1cykge1xyXG4gICAgICAkdGFibGUuY3JlYXRlRGF0YShyb3dzKVxyXG4gICAgICAgIC50aGVuKChkYXRhOiBhbnlbXSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG9wdGlvbnMubW9kZSA9PT0gJ2FwcGVuZCcpIHtcclxuICAgICAgICAgICAgJHRhYmxlLmluc2VydEF0KGRhdGEsIC0xKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgJHRhYmxlLnJlbG9hZERhdGEoZGF0YSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICBpZiAob3B0aW9ucy5tZXNzYWdlICE9PSBmYWxzZSkge1xyXG4gICAgICAgICR0YWJsZS4kWE1vZGFsLm1lc3NhZ2UoeyBtZXNzYWdlOiBpMThuKCd2eGUudGFibGUuaW1wU3VjY2VzcycpLCBzdGF0dXM6ICdzdWNjZXNzJyB9KVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMubWVzc2FnZSAhPT0gZmFsc2UpIHtcclxuICAgICAgJHRhYmxlLiRYTW9kYWwubWVzc2FnZSh7IG1lc3NhZ2U6IGkxOG4oJ3Z4ZS5lcnJvci5pbXBGaWVsZHMnKSwgc3RhdHVzOiAnZXJyb3InIH0pXHJcbiAgICB9XHJcbiAgICBpZiAoX2ltcG9ydFJlc29sdmUpIHtcclxuICAgICAgX2ltcG9ydFJlc29sdmUoc3RhdHVzKVxyXG4gICAgICAkdGFibGUuX2ltcG9ydFJlc29sdmUgPSBudWxsXHJcbiAgICB9IGVsc2UgaWYgKF9pbXBvcnRDYWxsYmFjaykge1xyXG4gICAgICAvLyDlt7Llup/lvINcclxuICAgICAgX2ltcG9ydENhbGxiYWNrKHN0YXR1cylcclxuICAgICAgJHRhYmxlLl9pbXBvcnRDYWxsYmFjayA9IG51bGxcclxuICAgIH1cclxuICB9XHJcbiAgZmlsZVJlYWRlci5yZWFkQXNCaW5hcnlTdHJpbmcoZmlsZSlcclxufVxyXG5cclxuZnVuY3Rpb24gaGFuZGxlSW1wb3J0RXZlbnQgKHBhcmFtczogYW55KSB7XHJcbiAgaWYgKHBhcmFtcy5vcHRpb25zLnR5cGUgPT09ICd4bHN4Jykge1xyXG4gICAgaW1wb3J0WExTWChwYXJhbXMpXHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGhhbmRsZUV4cG9ydEV2ZW50IChwYXJhbXM6IGFueSkge1xyXG4gIGlmIChwYXJhbXMub3B0aW9ucy50eXBlID09PSAneGxzeCcpIHtcclxuICAgIGV4cG9ydFhMU1gocGFyYW1zKVxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICog5Z+65LqOIHZ4ZS10YWJsZSDooajmoLznmoTlop7lvLrmj5Lku7bvvIzmlK/mjIHlr7zlh7ogeGxzeCDmoLzlvI9cclxuICovXHJcbmV4cG9ydCBjb25zdCBWWEVUYWJsZVBsdWdpbkV4cG9ydFhMU1g6IGFueSA9IHtcclxuICBpbnN0YWxsICh4dGFibGU6IHR5cGVvZiBWWEVUYWJsZSkge1xyXG4gICAgT2JqZWN0LmFzc2lnbih4dGFibGUudHlwZXMsIHsgeGxzeDogMSB9KVxyXG4gICAgeHRhYmxlLmludGVyY2VwdG9yLm1peGluKHtcclxuICAgICAgJ2V2ZW50LmltcG9ydCc6IGhhbmRsZUltcG9ydEV2ZW50LFxyXG4gICAgICAnZXZlbnQuZXhwb3J0JzogaGFuZGxlRXhwb3J0RXZlbnRcclxuICAgIH0pXHJcbiAgICBWWEVUYWJsZVBsdWdpbkV4cG9ydFhMU1gudCA9IHh0YWJsZS50XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBpMThuIChrZXk6IHN0cmluZykge1xyXG4gIGlmIChWWEVUYWJsZVBsdWdpbkV4cG9ydFhMU1gudCkge1xyXG4gICAgcmV0dXJuIFZYRVRhYmxlUGx1Z2luRXhwb3J0WExTWC50KGtleSlcclxuICB9XHJcbn1cclxuXHJcbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuVlhFVGFibGUpIHtcclxuICB3aW5kb3cuVlhFVGFibGUudXNlKFZYRVRhYmxlUGx1Z2luRXhwb3J0WExTWClcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgVlhFVGFibGVQbHVnaW5FeHBvcnRYTFNYXHJcbiJdfQ== diff --git a/dist/index.js b/dist/index.js index a83921b..0e3ffd4 100644 --- a/dist/index.js +++ b/dist/index.js @@ -10,7 +10,7 @@ factory(mod.exports, global.XEUtils, global.XLSX); global.VXETablePluginExportXLSX = mod.exports.default; } -})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _xeUtils, _xlsx) { +})(this, function (_exports, _xeUtils, _xlsx) { "use strict"; Object.defineProperty(_exports, "__esModule", { @@ -22,16 +22,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - function getSeq($table, row, rowIndex, column, columnIndex) { - // 在 v3.0 中废弃 startIndex、indexMethod - var seqOpts = $table.seqOpts; - var seqMethod = seqOpts.seqMethod || column.indexMethod; - return seqMethod ? seqMethod({ - row: row, - rowIndex: rowIndex, - column: column, - columnIndex: columnIndex - }) : (seqOpts.startIndex || $table.startIndex) + rowIndex + 1; + function getFooterCellValue($table, opts, rows, column) { + var cellValue = _xeUtils["default"].toString(rows[$table.$getColumnIndex(column)]); + + return cellValue; } function toBuffer(wbout) { @@ -73,7 +67,7 @@ footers.forEach(function (rows) { var item = {}; columns.forEach(function (column) { - item[column.id] = rows[$table.$getColumnIndex(column)] || ''; + item[column.id] = getFooterCellValue($table, options, rows, column); }); footList.push(item); }); diff --git a/dist/index.min.js b/dist/index.min.js index e6eb129..5b72ba7 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1 +1 @@ -!function(e,t){if("function"==typeof define&&define.amd)define("vxe-table-plugin-export-xlsx",["exports","xe-utils","xlsx"],t);else if("undefined"!=typeof exports)t(exports,require("xe-utils"),require("xlsx"));else{var o={exports:{}};t(o.exports,e.XEUtils,e.XLSX),e.VXETablePluginExportXLSX=o.exports.default}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,function(e,h,y){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}function o(e){var n=e.$table,t=e.options,a=e.columns,o=e.datas,r=t.sheetName,i=t.type,s=t.isHeader,l=t.isFooter,u=t.original,f=t.message,c=t.footerFilterMethod,d={},p=[],v=o;if(s&&a.forEach(function(e){d[e.id]=h.default.toString(u?e.property:e.getTitle())}),l){var x=n.footerData;(c?x.filter(c):x).forEach(function(t){var o={};a.forEach(function(e){o[e.id]=t[n.$getColumnIndex(e)]||""}),p.push(o)})}var m=y.default.utils.book_new(),b=y.default.utils.json_to_sheet((s?[d]:[]).concat(v).concat(p),{skipHeader:!0});y.default.utils.book_append_sheet(m,b,r);var g=y.default.write(m,{bookType:i,bookSST:!1,type:"binary"});!function(e,t){if(window.Blob){var o=t.filename,n=t.type;if(navigator.msSaveBlob)navigator.msSaveBlob(e,"".concat(o,".").concat(n));else{var a=document.createElement("a");a.target="_blank",a.download="".concat(o,".").concat(n),a.href=URL.createObjectURL(e),document.body.appendChild(a),a.click(),document.body.removeChild(a)}}else console.error(w("vxe.error.notExp"))}(new Blob([function(e){for(var t=new ArrayBuffer(e.length),o=new Uint8Array(t),n=0;n!==e.length;++n)o[n]=255&e.charCodeAt(n);return t}(g)],{type:"application/octet-stream"}),t),!1!==f&&n.$XModal.message({message:w("vxe.table.expSuccess"),status:"success"})}function p(e){return e.replace(/^"/,"").replace(/"$/,"")}function n(e){var l=e.$table,u=e.columns,f=e.options,t=e.file,c=l._importCallback,d=l._importResolve,o=new FileReader;o.onload=function(e){var t,o,n=y.default.read(e.target.result,{type:"binary"}),a=function(e){var t=e.split("\n"),n=[],a=[];if(t.length){var o=t.slice(1);t[0].split(",").map(p),o.forEach(function(e){if(e){var o={};e.split(",").forEach(function(e,t){n[t]&&(o[n[t]]=p(e))}),a.push(o)}})}return{fields:n,rows:a}}(y.default.utils.sheet_to_csv(n.Sheets.Sheet1)),r=a.fields,i=a.rows,s=(t=r,o=[],u.forEach(function(e){var t=e.property;t&&o.push(t)}),o.every(function(e){return t.includes(e)}));s?(l.createData(i).then(function(e){"append"===f.mode?l.insertAt(e,-1):l.reloadData(e)}),!1!==f.message&&l.$XModal.message({message:w("vxe.table.impSuccess"),status:"success"})):!1!==f.message&&l.$XModal.message({message:w("vxe.error.impFields"),status:"error"}),d?(d(s),l._importResolve=null):c&&(c(s),l._importCallback=null)},o.readAsBinaryString(t)}function a(e){if("xlsx"===e.options.type)return n(e),!1}function r(e){if("xlsx"===e.options.type)return o(e),!1}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VXETablePluginExportXLSX=void 0,h=t(h),y=t(y);var i={install:function(e){Object.assign(e.types,{xlsx:1}),e.interceptor.mixin({"event.import":a,"event.export":r}),i.t=e.t}};function w(e){if(i.t)return i.t(e)}e.VXETablePluginExportXLSX=i,"undefined"!=typeof window&&window.VXETable&&window.VXETable.use(i);var s=i;e.default=s}); \ No newline at end of file +!function(e,t){if("function"==typeof define&&define.amd)define("vxe-table-plugin-export-xlsx",["exports","xe-utils","xlsx"],t);else if("undefined"!=typeof exports)t(exports,require("xe-utils"),require("xlsx"));else{var n={exports:{}};t(n.exports,e.XEUtils,e.XLSX),e.VXETablePluginExportXLSX=n.exports.default}}(this,function(e,h,y){"use strict";function t(e){return e&&e.__esModule?e:{default:e}}function n(e){var o=e.$table,t=e.options,r=e.columns,n=e.datas,a=t.sheetName,i=t.type,s=t.isHeader,l=t.isFooter,u=t.original,c=t.message,f=t.footerFilterMethod,d={},p=[],v=n;if(s&&r.forEach(function(e){d[e.id]=h.default.toString(u?e.property:e.getTitle())}),l){var x=o.footerData;(f?x.filter(f):x).forEach(function(t){var n={};r.forEach(function(e){n[e.id]=function(e,t,n,o){return h.default.toString(n[e.$getColumnIndex(o)])}(o,0,t,e)}),p.push(n)})}var m=y.default.utils.book_new(),b=y.default.utils.json_to_sheet((s?[d]:[]).concat(v).concat(p),{skipHeader:!0});y.default.utils.book_append_sheet(m,b,a);var g=y.default.write(m,{bookType:i,bookSST:!1,type:"binary"});!function(e,t){if(window.Blob){var n=t.filename,o=t.type;if(navigator.msSaveBlob)navigator.msSaveBlob(e,"".concat(n,".").concat(o));else{var r=document.createElement("a");r.target="_blank",r.download="".concat(n,".").concat(o),r.href=URL.createObjectURL(e),document.body.appendChild(r),r.click(),document.body.removeChild(r)}}else console.error(w("vxe.error.notExp"))}(new Blob([function(e){for(var t=new ArrayBuffer(e.length),n=new Uint8Array(t),o=0;o!==e.length;++o)n[o]=255&e.charCodeAt(o);return t}(g)],{type:"application/octet-stream"}),t),!1!==c&&o.$XModal.message({message:w("vxe.table.expSuccess"),status:"success"})}function f(e){return e.replace(/^"/,"").replace(/"$/,"")}function o(e){var i=e.$table,s=e.columns,l=e.options,t=e.file,u=i._importCallback,c=i._importResolve,n=new FileReader;n.onload=function(e){var t=y.default.read(e.target.result,{type:"binary"}),n=function(e,t){var n=t.split("\n"),o=[],r=[];if(n.length){var a=n.slice(1);n[0].split(",").map(f),a.forEach(function(e){if(e){var n={};e.split(",").forEach(function(e,t){o[t]&&(n[o[t]]=f(e))}),r.push(n)}})}return{fields:o,rows:r}}(0,y.default.utils.sheet_to_csv(t.Sheets.Sheet1)),o=n.fields,r=n.rows,a=function(e,t){var n=[];return e.forEach(function(e){var t=e.property;t&&n.push(t)}),n.every(function(e){return t.includes(e)})}(s,o);a?(i.createData(r).then(function(e){"append"===l.mode?i.insertAt(e,-1):i.reloadData(e)}),!1!==l.message&&i.$XModal.message({message:w("vxe.table.impSuccess"),status:"success"})):!1!==l.message&&i.$XModal.message({message:w("vxe.error.impFields"),status:"error"}),c?(c(a),i._importResolve=null):u&&(u(a),i._importCallback=null)},n.readAsBinaryString(t)}function r(e){if("xlsx"===e.options.type)return o(e),!1}function a(e){if("xlsx"===e.options.type)return n(e),!1}Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VXETablePluginExportXLSX=void 0,h=t(h),y=t(y);var i={install:function(e){Object.assign(e.types,{xlsx:1}),e.interceptor.mixin({"event.import":r,"event.export":a}),i.t=e.t}};function w(e){if(i.t)return i.t(e)}e.VXETablePluginExportXLSX=i,"undefined"!=typeof window&&window.VXETable&&window.VXETable.use(i);var s=i;e.default=s}); \ No newline at end of file diff --git a/index.ts b/index.ts index 38876d7..b9eeff9 100644 --- a/index.ts +++ b/index.ts @@ -2,21 +2,19 @@ import XEUtils from 'xe-utils/methods/xe-utils' import VXETable from 'vxe-table/lib/vxe-table' import XLSX from 'xlsx' -function getSeq($table: any, row: any, rowIndex: number, column: any, columnIndex: number) { - // 在 v3.0 中废弃 startIndex、indexMethod - let seqOpts = $table.seqOpts - let seqMethod = seqOpts.seqMethod || column.indexMethod - return seqMethod ? seqMethod({ row, rowIndex, column, columnIndex }) : ((seqOpts.startIndex || $table.startIndex) + rowIndex + 1) +function getFooterCellValue ($table: any, opts: any, rows: any[], column: any) { + var cellValue = XEUtils.toString(rows[$table.$getColumnIndex(column)]) + return cellValue } -function toBuffer(wbout: any) { +function toBuffer (wbout: any) { let buf = new ArrayBuffer(wbout.length) let view = new Uint8Array(buf) for (let index = 0; index !== wbout.length; ++index) view[index] = wbout.charCodeAt(index) & 0xFF return buf } -function exportXLSX(params: any) { +function exportXLSX (params: any) { const { $table, options, columns, datas } = params const { sheetName, type, isHeader, isFooter, original, message, footerFilterMethod } = options const colHead: any = {} @@ -33,7 +31,7 @@ function exportXLSX(params: any) { footers.forEach((rows: any[]) => { const item: any = {} columns.forEach((column: any) => { - item[column.id] = rows[$table.$getColumnIndex(column)] || '' + item[column.id] = getFooterCellValue($table, options, rows, column) }) footList.push(item) }) @@ -51,7 +49,7 @@ function exportXLSX(params: any) { } } -function downloadFile(blob: Blob, options: any) { +function downloadFile (blob: Blob, options: any) { if (window.Blob) { const { filename, type } = options if (navigator.msSaveBlob) { @@ -70,11 +68,11 @@ function downloadFile(blob: Blob, options: any) { } } -function replaceDoubleQuotation(val: string) { +function replaceDoubleQuotation (val: string) { return val.replace(/^"/, '').replace(/"$/, '') } -function parseCsv(columns: any[], content: string) { +function parseCsv (columns: any[], content: string) { const list: string[] = content.split('\n') const fields: any[] = [] const rows: any[] = [] @@ -96,7 +94,7 @@ function parseCsv(columns: any[], content: string) { return { fields, rows } } -function checkImportData(columns: any[], fields: string[], rows: any[]) { +function checkImportData (columns: any[], fields: string[], rows: any[]) { let tableFields: string[] = [] columns.forEach((column: any) => { let field: string = column.property @@ -107,7 +105,7 @@ function checkImportData(columns: any[], fields: string[], rows: any[]) { return tableFields.every((field: string) => fields.includes(field)) } -function importXLSX(params: any) { +function importXLSX (params: any) { const { $table, columns, options, file } = params const { _importCallback, _importResolve } = $table const fileReader = new FileReader() @@ -144,14 +142,14 @@ function importXLSX(params: any) { fileReader.readAsBinaryString(file) } -function handleImportEvent(params: any) { +function handleImportEvent (params: any) { if (params.options.type === 'xlsx') { importXLSX(params) return false } } -function handleExportEvent(params: any) { +function handleExportEvent (params: any) { if (params.options.type === 'xlsx') { exportXLSX(params) return false @@ -162,7 +160,7 @@ function handleExportEvent(params: any) { * 基于 vxe-table 表格的增强插件,支持导出 xlsx 格式 */ export const VXETablePluginExportXLSX: any = { - install(xtable: typeof VXETable) { + install (xtable: typeof VXETable) { Object.assign(xtable.types, { xlsx: 1 }) xtable.interceptor.mixin({ 'event.import': handleImportEvent, @@ -172,7 +170,7 @@ export const VXETablePluginExportXLSX: any = { } } -function i18n(key: string) { +function i18n (key: string) { if (VXETablePluginExportXLSX.t) { return VXETablePluginExportXLSX.t(key) } diff --git a/package.json b/package.json index 5f91854..7ebbee4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vxe-table-plugin-export-xlsx", - "version": "1.2.0", + "version": "1.2.1", "description": "基于 vxe-table 表格的增强插件,支持导出 xlsx 格式", "scripts": { "lib": "gulp build"