add style support for force mode

This commit is contained in:
alexadam 2017-07-22 20:20:38 +03:00
parent f76512d55b
commit 6b493b25a7

View file

@ -133,20 +133,24 @@ function force($content, withError) {
} }
$content.find('img').each(function (index, elem) { $content.find('img').each(function (index, elem) {
var imgSrc = getImageSrc($(elem).attr('src')); var $elem = $(elem);
var imgSrc = getImageSrc($elem.attr('src'));
if (imgSrc === '') { if (imgSrc === '') {
$(elem).replaceWith(''); $elem.replaceWith('');
} else { } else {
$(elem).replaceWith(startEl + tagOpen + 'img src="' + imgSrc + '"' + tagClose + tagOpen + '/img' + tagClose + endEl); var className = $elem.attr('data-class');
$elem.replaceWith(startEl + tagOpen + 'img src="' + imgSrc + '" class="' + className + '"' + tagClose + tagOpen + '/img' + tagClose + endEl);
} }
}); });
$content.find('a').each(function (index, elem) { $content.find('a').each(function (index, elem) {
var aHref = getHref($(elem).attr('href')); var $elem = $(elem);
var aHref = getHref($elem.attr('href'));
if (aHref === '') { if (aHref === '') {
$(elem).replaceWith(''); $elem.replaceWith('');
} else { } else {
$(elem).replaceWith(startEl + tagOpen + 'a href="' + aHref + '"' + tagClose + $(elem).html() + tagOpen + '/a' + tagClose + endEl); var className = $elem.attr('data-class');
$elem.replaceWith(startEl + tagOpen + 'a href="' + aHref + '" class="' + className + '"' + tagClose + $(elem).html() + tagOpen + '/a' + tagClose + endEl);
} }
}); });
@ -160,7 +164,8 @@ function force($content, withError) {
while (childrenLen--) { while (childrenLen--) {
all($(children[childrenLen])); all($(children[childrenLen]));
} }
$startElement.replaceWith(startEl + tagOpen + tagName + tagClose + $startElement.html() + tagOpen + '/' + tagName + tagClose + endEl); var className = $startElement.attr('data-class');
$startElement.replaceWith(startEl + tagOpen + tagName + ' class="' + className + '"' + tagClose + $startElement.html() + tagOpen + '/' + tagName + tagClose + endEl);
} }
} }
@ -172,6 +177,10 @@ function force($content, withError) {
contentString = contentString.replace(tagCloseRegex, '>'); contentString = contentString.replace(tagCloseRegex, '>');
contentString = contentString.replace(/ /gi, ' '); contentString = contentString.replace(/ /gi, ' ');
// getHref() replace does not work (& is overwritten)
contentString = contentString.replace(/&/ig, '&');
contentString = contentString.replace(/&/ig, '&');
return contentString; return contentString;
} catch (e) { } catch (e) {
console.log('Error:', e); console.log('Error:', e);
@ -346,10 +355,13 @@ function extractCss(appliedStyles, callback) {
cssClassesToTmpIds[classNames] = tmpName; cssClassesToTmpIds[classNames] = tmpName;
} }
if (!tmpNewCss) { if (!tmpNewCss) {
var style = window.getComputedStyle(pre); // var style = window.getComputedStyle(pre);
tmpNewCss = {}; tmpNewCss = {};
for (var cssTagName of supportedCss) { for (var cssTagName of supportedCss) {
tmpNewCss[cssTagName] = $pre.css(cssTagName); var cssValue = $pre.css(cssTagName);
if (cssValue && cssValue.length > 0) {
tmpNewCss[cssTagName] = cssValue;
}
} }
tmpIdsToNewCss[tmpName] = tmpNewCss; tmpIdsToNewCss[tmpName] = tmpNewCss;
} }