devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
36 lines (32 loc) • 1.22 kB
JavaScript
/**
* DevExtreme (core/utils/svg.js)
* Version: 18.1.3
* Build date: Tue May 15 2018
*
* Copyright (c) 2012 - 2018 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
var domAdapter = require("../dom_adapter");
function getMarkup(element) {
var temp = domAdapter.createElement("div");
temp.appendChild(element.cloneNode(true));
return temp.innerHTML
}
function fixIENamespaces(markup) {
var first = true;
markup = markup.replace(/xmlns="[\s\S]*?"/gi, function(match) {
if (!first) {
return ""
}
first = false;
return match
});
return markup.replace(/xmlns:NS1="[\s\S]*?"/gi, "").replace(/NS1:xmlns:xlink="([\s\S]*?)"/gi, 'xmlns:xlink="$1"')
}
function decodeHtmlEntities(markup) {
return markup.replace(/"/gi, """).replace(/&/gi, "&").replace(/'/gi, "'").replace(/</gi, "<").replace(/>/gi, ">").replace(/ /gi, " ").replace(/­/gi, "­")
}
exports.getSvgMarkup = function(element) {
return fixIENamespaces(decodeHtmlEntities(getMarkup(element)))
};