excel.font_helper.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /**
  2. * DevExtreme (exporter/excel/excel.font_helper.js)
  3. * Version: 19.1.16
  4. * Build date: Tue Oct 18 2022
  5. *
  6. * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
  7. * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
  8. */
  9. "use strict";
  10. Object.defineProperty(exports, "__esModule", {
  11. value: true
  12. });
  13. var _type = require("../../core/utils/type");
  14. var _excel = require("./excel.tag_helper");
  15. var _excel2 = _interopRequireDefault(_excel);
  16. var _excel3 = require("./excel.color_helper");
  17. var _excel4 = _interopRequireDefault(_excel3);
  18. function _interopRequireDefault(obj) {
  19. return obj && obj.__esModule ? obj : {
  20. "default": obj
  21. }
  22. }
  23. var fontHelper = {
  24. tryCreateTag: function(sourceObj) {
  25. var result = null;
  26. if ((0, _type.isDefined)(sourceObj)) {
  27. result = {
  28. size: sourceObj.size,
  29. name: sourceObj.name,
  30. family: sourceObj.family,
  31. scheme: sourceObj.scheme,
  32. bold: sourceObj.bold,
  33. italic: sourceObj.italic,
  34. underline: sourceObj.underline,
  35. color: _excel4.default.tryCreateTag(sourceObj.color)
  36. };
  37. if (fontHelper.isEmpty(result)) {
  38. result = null
  39. }
  40. }
  41. return result
  42. },
  43. copy: function(source) {
  44. var result = null;
  45. if ((0, _type.isDefined)(source)) {
  46. result = {};
  47. if (void 0 !== source.size) {
  48. result.size = source.size
  49. }
  50. if (void 0 !== source.name) {
  51. result.name = source.name
  52. }
  53. if (void 0 !== source.family) {
  54. result.family = source.family
  55. }
  56. if (void 0 !== source.scheme) {
  57. result.scheme = source.scheme
  58. }
  59. if (void 0 !== source.bold) {
  60. result.bold = source.bold
  61. }
  62. if (void 0 !== source.italic) {
  63. result.italic = source.italic
  64. }
  65. if (void 0 !== source.underline) {
  66. result.underline = source.underline
  67. }
  68. if (void 0 !== source.color) {
  69. result.color = _excel4.default.copy(source.color)
  70. }
  71. }
  72. return result
  73. },
  74. areEqual: function(leftTag, rightTag) {
  75. return fontHelper.isEmpty(leftTag) && fontHelper.isEmpty(rightTag) || (0, _type.isDefined)(leftTag) && (0, _type.isDefined)(rightTag) && leftTag.size === rightTag.size && leftTag.name === rightTag.name && leftTag.family === rightTag.family && leftTag.scheme === rightTag.scheme && (leftTag.bold === rightTag.bold || !leftTag.bold === !rightTag.bold) && (leftTag.italic === rightTag.italic || !leftTag.italic === !rightTag.italic) && leftTag.underline === rightTag.underline && _excel4.default.areEqual(leftTag.color, rightTag.color)
  76. },
  77. isEmpty: function(tag) {
  78. return !(0, _type.isDefined)(tag) || !(0, _type.isDefined)(tag.size) && !(0, _type.isDefined)(tag.name) && !(0, _type.isDefined)(tag.family) && !(0, _type.isDefined)(tag.scheme) && (!(0, _type.isDefined)(tag.bold) || !tag.bold) && (!(0, _type.isDefined)(tag.italic) || !tag.italic) && !(0, _type.isDefined)(tag.underline) && _excel4.default.isEmpty(tag.color)
  79. },
  80. toXml: function(tag) {
  81. var content = [(0, _type.isDefined)(tag.bold) && tag.bold ? _excel2.default.toXml("b", {}) : "", (0, _type.isDefined)(tag.size) ? _excel2.default.toXml("sz", {
  82. val: tag.size
  83. }) : "", (0, _type.isDefined)(tag.color) ? _excel4.default.toXml("color", tag.color) : "", (0, _type.isDefined)(tag.name) ? _excel2.default.toXml("name", {
  84. val: tag.name
  85. }) : "", (0, _type.isDefined)(tag.family) ? _excel2.default.toXml("family", {
  86. val: tag.family
  87. }) : "", (0, _type.isDefined)(tag.scheme) ? _excel2.default.toXml("scheme", {
  88. val: tag.scheme
  89. }) : "", (0, _type.isDefined)(tag.italic) && tag.italic ? _excel2.default.toXml("i", {}) : "", (0, _type.isDefined)(tag.underline) ? _excel2.default.toXml("u", {
  90. val: tag.underline
  91. }) : ""].join("");
  92. return _excel2.default.toXml("font", {}, content)
  93. }
  94. };
  95. exports.default = fontHelper;