UNPKG

@aurigma/design-atoms

Version:

Design Atoms is a part of Customer's Canvas SDK which allows for manipulating individual design elements through your code.

148 lines 5.87 kB
import * as U from "@aurigma/design-atoms-model/Utils/Utils"; import { TextAlignment } from "@aurigma/design-atoms-model/Product/Items"; var TreeConverter = /** @class */ (function () { function TreeConverter() { } TreeConverter.prototype.convert = function (markup) { var body = this._parse(markup); var result = this._convert(body, null); return this._serialize(result); }; TreeConverter.prototype._convert = function (originaNode, convertedParent, customData) { if (customData === void 0) { customData = null; } var convertedNode = this._convertNode(originaNode, convertedParent); if (convertedNode != null && convertedParent != null) convertedParent.appendChild(convertedNode); for (var i = 0; i < originaNode.childNodes.length; ++i) { var node = originaNode.childNodes[i]; if (this._isAccepted(node) == NodeFilter.FILTER_ACCEPT) this._convert(node, convertedNode ? convertedNode : convertedParent); } return convertedNode; }; TreeConverter.prototype.getNodeName = function (node) { return node.nodeName.toLowerCase(); }; TreeConverter.stringToBoolean = function (value) { return value === "true" ? true : false; }; TreeConverter.stringToNumber = function (value, units, defaultValue) { if (units === void 0) { units = ""; } if (defaultValue === void 0) { defaultValue = 0; } if (value == null) return null; var result = !U.isNullOrEmptyOrWhiteSpace(units) ? +value.replace(units, "") : +value; return !isNaN(result) ? result : defaultValue; }; TreeConverter.letterSpacingToTracking = function (letterSpacing) { var value = +letterSpacing.replace("em;", "").replace("em", "") * 1000; return !isNaN(value) ? value : 0; }; TreeConverter.trackingToLetterSpacing = function (tracking) { var value = !isNaN(tracking) ? tracking / 1000 : 0; return value + "em"; }; TreeConverter.stringToTextAlignmentForHtml = function (value) { switch (value.toLocaleLowerCase()) { case "left": return TextAlignment.Left; case "center": return TextAlignment.Center; case "right": return TextAlignment.Right; case "justify": case "justify-all": case "justification": case "justification-last-left": case "justification-last-center": case "justification-last-right": return TextAlignment.Justify; default: return TextAlignment.Left; } }; TreeConverter.stringToTextAlignment = function (value) { switch (value.toLocaleLowerCase()) { case "left": return TextAlignment.Left; case "center": return TextAlignment.Center; case "right": return TextAlignment.Right; case "justify": case "justify-all": case "justification": return TextAlignment.Justify; case "justification-last-left": return TextAlignment.LastLeft; case "justification-last-center": return TextAlignment.LastCenter; case "justification-last-right": return TextAlignment.LastRight; default: return TextAlignment.Left; } }; TreeConverter.textAlignmentToXmlString = function (value) { switch (value) { case TextAlignment.Left: return "left"; case TextAlignment.Center: return "center"; case TextAlignment.Right: return "right"; case TextAlignment.Justify: return "justification-last-left"; /*case TextAlignment.LastLeft: return "justification-last-left"; case TextAlignment.LastCenter: return "justification-last-center"; case TextAlignment.LastRight: return "justification-last-right";*/ } }; TreeConverter.textAlignmentToHtmlString = function (value) { switch (value) { case TextAlignment.Left: return "left"; case TextAlignment.Center: return "center"; case TextAlignment.Right: return "right"; case TextAlignment.Justify: return "justify"; } }; TreeConverter._styleToDict = function (xmlStyle) { //"key: value;..." -> styles[key] = value var result = {}; if (xmlStyle != null) { var styles = xmlStyle.split(";"); styles.forEach(function (style) { if (style) { var content = style.split(":"); if (content.length === 2) { var name = content[0].trim(); var value = content[1].trim(); result[name] = value; } } }); return result; } return null; }; TreeConverter._dictToStyle = function (styles) { //styles[key] = value -> "key: value;..." var styleStr = ""; for (var key in styles) { var value = styles[key]; styleStr += key + ": " + value + "; "; } return styleStr; }; TreeConverter._defaultSupSubSize = 0.583; return TreeConverter; }()); export { TreeConverter }; //# sourceMappingURL=TreeConverter.js.map