[FIX] web_editor: minor tweaks IE11

In IE11 the values can be not string (for example a number and so not
have .indexOf method), but then there will no be !important bits and we
can just ignore this feature (which check if an overriding rule has an
!important flag).

There was another edge case when getting a "" set style, we get undefined.

opw-667917
This commit is contained in:
Nicolas Lempereur
2016-02-04 16:50:22 +01:00
parent 9c594cb3cd
commit 7c11d4e70f
@@ -84,7 +84,7 @@ var getMatchedCSSRules = function (a) {
var style = {};
_.each(css, function (v,k) {
_.each(v[1], function (v,k) {
if (v && k.indexOf('-webkit') === -1 && (!style[k] || style[k].indexOf('important') === -1 || v.indexOf('important') !== -1)) {
if (v && _.isString(v) && k.indexOf('-webkit') === -1 && (!style[k] || style[k].indexOf('important') === -1 || v.indexOf('important') !== -1)) {
style[k] = v;
}
});
@@ -195,7 +195,7 @@ var style_to_class = function ($editable) {
style = k+":"+v+";"+style;
}
});
css = $c.attr("style", style).attr("style").split(/\s*;\s*/);
css = ($c.attr("style", style).attr("style") || "").split(/\s*;\s*/);
style = $target.attr("style") || "";
_.each(css, function (v) {
style = style.replace(v, '');