UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

36 lines (32 loc) 1.22 kB
/** * 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/ */ "use strict"; 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))) };