@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
JavaScript
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