UNPKG

angular-xml-editor

Version:
144 lines (143 loc) 12.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var Xml2htmlAttributeWorker = /** @class */ (function () { function Xml2htmlAttributeWorker(rules) { this.rules = rules; } /** writes the given attributes to the html node in data-attribute-syntax **/ /** * writes the given attributes to the html node in data-attribute-syntax * * @param {?} xmlElement * @param {?} htmlElement * @return {?} */ Xml2htmlAttributeWorker.prototype.writeAllXmlAttributesToHtml = /** * writes the given attributes to the html node in data-attribute-syntax * * @param {?} xmlElement * @param {?} htmlElement * @return {?} */ function (xmlElement, htmlElement) { /** @type {?} */ var attributes = xmlElement.attributes; for (var i = 0; i < attributes.length; ++i) { /** @type {?} */ var attr = attributes[i]; this.writeAttributeToHtml(htmlElement, attr.name, attr.value); } }; /** writes the given attribute value to the html node in data-attribute-syntax **/ /** * writes the given attribute value to the html node in data-attribute-syntax * * @param {?} htmlElement * @param {?} key * @param {?} value * @return {?} */ Xml2htmlAttributeWorker.prototype.writeAttributeToHtml = /** * writes the given attribute value to the html node in data-attribute-syntax * * @param {?} htmlElement * @param {?} key * @param {?} value * @return {?} */ function (htmlElement, key, value) { /** @type {?} */ var name = "" + Xml2htmlAttributeWorker.DataAttribPraefix + key; if (value && value.length > 0) { htmlElement.setAttribute(name, value); } else { htmlElement.removeAttribute(name); } this.updateAttributesDescriptionInHtmlElement(htmlElement); }; /** writes the given attribute value from the html node data-attribute-syntax **/ /** * writes the given attribute value from the html node data-attribute-syntax * * @param {?} htmlElement * @param {?} key * @return {?} */ Xml2htmlAttributeWorker.prototype.getAttributeValueFromHtml = /** * writes the given attribute value from the html node data-attribute-syntax * * @param {?} htmlElement * @param {?} key * @return {?} */ function (htmlElement, key) { /** @type {?} */ var attributes = htmlElement.attributes; for (var i = 0; i < attributes.length; ++i) { if (attributes[i].name === "" + Xml2htmlAttributeWorker.DataAttribPraefix + key) { return attributes[i].value; } } return undefined; }; /** writes the given attribute value to the xml node (and gets it from the html node from data-attribute-syntax) **/ /** * writes the given attribute value to the xml node (and gets it from the html node from data-attribute-syntax) * * @param {?} htmlElement * @param {?} xmlElement * @return {?} */ Xml2htmlAttributeWorker.prototype.writeAllHtmlAttributesToXml = /** * writes the given attribute value to the xml node (and gets it from the html node from data-attribute-syntax) * * @param {?} htmlElement * @param {?} xmlElement * @return {?} */ function (htmlElement, xmlElement) { /** @type {?} */ var attributes = htmlElement.attributes; for (var i = 0; i < attributes.length; ++i) { /** @type {?} */ var attr = attributes[i]; if (attr.name.startsWith(Xml2htmlAttributeWorker.DataAttribPraefix)) { xmlElement.setAttribute(attr.name.substr(Xml2htmlAttributeWorker.DataAttribPraefix.length), attr.value); } } }; /** * updates the 'for human eyes' only description of the attributes inside a html node * * @param {?} htmlElement * @return {?} */ Xml2htmlAttributeWorker.prototype.updateAttributesDescriptionInHtmlElement = /** * updates the 'for human eyes' only description of the attributes inside a html node * * @param {?} htmlElement * @return {?} */ function (htmlElement) { /** @type {?} */ var attributes = htmlElement.attributes; /** @type {?} */ var allAttributes = ''; for (var i = 0; i < attributes.length; ++i) { /** @type {?} */ var attr = attributes[i]; if (attr.name.startsWith(Xml2htmlAttributeWorker.DataAttribPraefix)) { allAttributes = allAttributes + " " + attr.name.substr(Xml2htmlAttributeWorker.DataAttribPraefix.length) + "=\"" + attr.value + "\""; } } if (allAttributes.length > 0) { htmlElement.setAttribute('data-attributes', allAttributes); } else { htmlElement.removeAttribute('data-attributes'); } }; Xml2htmlAttributeWorker.DataAttribPraefix = 'data-attribute-'; return Xml2htmlAttributeWorker; }()); export { Xml2htmlAttributeWorker }; if (false) { /** @type {?} */ Xml2htmlAttributeWorker.DataAttribPraefix; /** @type {?} */ Xml2htmlAttributeWorker.prototype.rules; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sMmh0bWxBdHRyaWJ1dGVXb3JrZXIuY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXhtbC1lZGl0b3IvIiwic291cmNlcyI6WyJsaWIvY29kZS94bWwtaHRtbC1jb252ZXJ0ZXIveG1sMmh0bWxBdHRyaWJ1dGVXb3JrZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7SUFLRSxpQ0FBbUIsS0FBZTtRQUFmLFVBQUssR0FBTCxLQUFLLENBQVU7S0FBSTtJQUV0Qyw2RUFBNkU7Ozs7Ozs7SUFDN0UsNkRBQTJCOzs7Ozs7SUFBM0IsVUFBNEIsVUFBbUIsRUFBRSxXQUFvQjs7UUFDbkUsSUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUN6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTs7WUFDMUMsSUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0Q7S0FDRjtJQUVELGtGQUFrRjs7Ozs7Ozs7SUFDbEYsc0RBQW9COzs7Ozs7O0lBQXBCLFVBQXFCLFdBQW9CLEVBQUUsR0FBVyxFQUFFLEtBQWE7O1FBQ25FLElBQU0sSUFBSSxHQUFHLEtBQUcsdUJBQXVCLENBQUMsaUJBQWlCLEdBQUcsR0FBSyxDQUFDO1FBQ2xFLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzdCLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzVEO0lBRUQsaUZBQWlGOzs7Ozs7O0lBQ2pGLDJEQUF5Qjs7Ozs7O0lBQXpCLFVBQTBCLFdBQW9CLEVBQUUsR0FBVzs7UUFDekQsSUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTtZQUMxQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBRyx1QkFBdUIsQ0FBQyxpQkFBaUIsR0FBRyxHQUFLLEVBQUU7Z0JBQy9FLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzthQUM1QjtTQUNGO1FBQ0QsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxvSEFBb0g7Ozs7Ozs7SUFDcEgsNkRBQTJCOzs7Ozs7SUFBM0IsVUFBNEIsV0FBb0IsRUFBRSxVQUFtQjs7UUFDbkUsSUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUMxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTs7WUFDMUMsSUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDbkUsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDekc7U0FDRjtLQUNGOzs7Ozs7SUFHTywwRUFBd0M7Ozs7O2NBQUMsV0FBb0I7O1FBQ25FLElBQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7O1FBQzFDLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN2QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTs7WUFDMUMsSUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDbkUsYUFBYSxHQUFNLGFBQWEsU0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsV0FBSyxJQUFJLENBQUMsS0FBSyxPQUFHLENBQUM7YUFDMUg7U0FDRjtRQUNELElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDNUIsV0FBVyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUM1RDthQUFNO1lBQ0wsV0FBVyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ2hEOztnREE1RCtCLGlCQUFpQjtrQ0FIckQ7O1NBRWEsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWG1sUnVsZXMgfSBmcm9tICcuLi94bWwtcnVsZXMtY2hlY2sveG1sUnVsZXMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFhtbDJodG1sQXR0cmlidXRlV29ya2VyIHtcclxuICBwdWJsaWMgc3RhdGljIERhdGFBdHRyaWJQcmFlZml4ID0gJ2RhdGEtYXR0cmlidXRlLSc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBydWxlczogWG1sUnVsZXMpIHt9XHJcblxyXG4gIC8qKiB3cml0ZXMgdGhlIGdpdmVuIGF0dHJpYnV0ZXMgdG8gdGhlIGh0bWwgbm9kZSBpbiBkYXRhLWF0dHJpYnV0ZS1zeW50YXggKiovXHJcbiAgd3JpdGVBbGxYbWxBdHRyaWJ1dGVzVG9IdG1sKHhtbEVsZW1lbnQ6IEVsZW1lbnQsIGh0bWxFbGVtZW50OiBFbGVtZW50KSB7XHJcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0geG1sRWxlbWVudC5hdHRyaWJ1dGVzO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgIGNvbnN0IGF0dHIgPSBhdHRyaWJ1dGVzW2ldO1xyXG4gICAgICB0aGlzLndyaXRlQXR0cmlidXRlVG9IdG1sKGh0bWxFbGVtZW50LCBhdHRyLm5hbWUsIGF0dHIudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIHdyaXRlcyB0aGUgZ2l2ZW4gYXR0cmlidXRlIHZhbHVlIHRvIHRoZSBodG1sIG5vZGUgaW4gZGF0YS1hdHRyaWJ1dGUtc3ludGF4ICoqL1xyXG4gIHdyaXRlQXR0cmlidXRlVG9IdG1sKGh0bWxFbGVtZW50OiBFbGVtZW50LCBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgbmFtZSA9IGAke1htbDJodG1sQXR0cmlidXRlV29ya2VyLkRhdGFBdHRyaWJQcmFlZml4fSR7a2V5fWA7XHJcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICBodG1sRWxlbWVudC5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaHRtbEVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVBdHRyaWJ1dGVzRGVzY3JpcHRpb25Jbkh0bWxFbGVtZW50KGh0bWxFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIC8qKiB3cml0ZXMgdGhlIGdpdmVuIGF0dHJpYnV0ZSB2YWx1ZSBmcm9tIHRoZSBodG1sIG5vZGUgZGF0YS1hdHRyaWJ1dGUtc3ludGF4ICoqL1xyXG4gIGdldEF0dHJpYnV0ZVZhbHVlRnJvbUh0bWwoaHRtbEVsZW1lbnQ6IEVsZW1lbnQsIGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBodG1sRWxlbWVudC5hdHRyaWJ1dGVzO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzW2ldLm5hbWUgPT09IGAke1htbDJodG1sQXR0cmlidXRlV29ya2VyLkRhdGFBdHRyaWJQcmFlZml4fSR7a2V5fWApIHtcclxuICAgICAgICByZXR1cm4gYXR0cmlidXRlc1tpXS52YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKiB3cml0ZXMgdGhlIGdpdmVuIGF0dHJpYnV0ZSB2YWx1ZSB0byB0aGUgeG1sIG5vZGUgKGFuZCBnZXRzIGl0IGZyb20gdGhlIGh0bWwgbm9kZSBmcm9tIGRhdGEtYXR0cmlidXRlLXN5bnRheCkgKiovXHJcbiAgd3JpdGVBbGxIdG1sQXR0cmlidXRlc1RvWG1sKGh0bWxFbGVtZW50OiBFbGVtZW50LCB4bWxFbGVtZW50OiBFbGVtZW50KSB7XHJcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gaHRtbEVsZW1lbnQuYXR0cmlidXRlcztcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXR0cmlidXRlcy5sZW5ndGg7ICsraSkge1xyXG4gICAgICBjb25zdCBhdHRyID0gYXR0cmlidXRlc1tpXTtcclxuICAgICAgaWYgKGF0dHIubmFtZS5zdGFydHNXaXRoKFhtbDJodG1sQXR0cmlidXRlV29ya2VyLkRhdGFBdHRyaWJQcmFlZml4KSkge1xyXG4gICAgICAgIHhtbEVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHIubmFtZS5zdWJzdHIoWG1sMmh0bWxBdHRyaWJ1dGVXb3JrZXIuRGF0YUF0dHJpYlByYWVmaXgubGVuZ3RoKSwgYXR0ci52YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiB1cGRhdGVzIHRoZSAnZm9yIGh1bWFuIGV5ZXMnIG9ubHkgZGVzY3JpcHRpb24gb2YgdGhlIGF0dHJpYnV0ZXMgaW5zaWRlIGEgaHRtbCBub2RlICoqL1xyXG4gIHByaXZhdGUgdXBkYXRlQXR0cmlidXRlc0Rlc2NyaXB0aW9uSW5IdG1sRWxlbWVudChodG1sRWxlbWVudDogRWxlbWVudCkge1xyXG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGh0bWxFbGVtZW50LmF0dHJpYnV0ZXM7XHJcbiAgICBsZXQgYWxsQXR0cmlidXRlcyA9ICcnO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgKytpKSB7XHJcbiAgICAgIGNvbnN0IGF0dHIgPSBhdHRyaWJ1dGVzW2ldO1xyXG4gICAgICBpZiAoYXR0ci5uYW1lLnN0YXJ0c1dpdGgoWG1sMmh0bWxBdHRyaWJ1dGVXb3JrZXIuRGF0YUF0dHJpYlByYWVmaXgpKSB7XHJcbiAgICAgICAgYWxsQXR0cmlidXRlcyA9IGAke2FsbEF0dHJpYnV0ZXN9ICR7YXR0ci5uYW1lLnN1YnN0cihYbWwyaHRtbEF0dHJpYnV0ZVdvcmtlci5EYXRhQXR0cmliUHJhZWZpeC5sZW5ndGgpfT1cIiR7YXR0ci52YWx1ZX1cImA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChhbGxBdHRyaWJ1dGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgaHRtbEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLWF0dHJpYnV0ZXMnLCBhbGxBdHRyaWJ1dGVzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGh0bWxFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1hdHRyaWJ1dGVzJyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==