@protobi/exceljs
Version:
Excel Workbook Manager - Temporary fork with pivot table enhancements and bug fixes pending upstream merge
63 lines (58 loc) • 3.18 kB
JavaScript
;
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
var CacheField = /*#__PURE__*/function () {
function CacheField(_ref) {
var name = _ref.name,
sharedItems = _ref.sharedItems;
_classCallCheck(this, CacheField);
// string type
//
// {
// 'name': 'A',
// 'sharedItems': ['a1', 'a2', 'a3']
// }
//
// or
//
// integer type
//
// {
// 'name': 'D',
// 'sharedItems': null
// }
this.name = name;
this.sharedItems = sharedItems;
}
// Helper function to escape XML special characters
_createClass(CacheField, [{
key: "escapeXml",
value: function escapeXml(unsafe) {
if (unsafe == null) return '';
return String(unsafe).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''');
}
}, {
key: "render",
value: function render() {
var _this = this;
// PivotCache Field: http://www.datypic.com/sc/ooxml/e-ssml_cacheField-1.html
// Shared Items: http://www.datypic.com/sc/ooxml/e-ssml_sharedItems-1.html
// integer types
if (this.sharedItems === null) {
// TK(2023-07-18): left out attributes... minValue="5" maxValue="45"
return "<cacheField name=\"".concat(this.escapeXml(this.name), "\" numFmtId=\"0\">\n <sharedItems containsSemiMixedTypes=\"0\" containsString=\"0\" containsNumber=\"1\" containsInteger=\"1\" />\n </cacheField>");
}
// string types
return "<cacheField name=\"".concat(this.escapeXml(this.name), "\" numFmtId=\"0\">\n <sharedItems count=\"").concat(this.sharedItems.length, "\">\n ").concat(this.sharedItems.map(function (item) {
return "<s v=\"".concat(_this.escapeXml(item), "\" />");
}).join(''), "\n </sharedItems>\n </cacheField>");
}
}]);
return CacheField;
}();
module.exports = CacheField;
//# sourceMappingURL=cache-field.js.map