BUGFIX Disabling add_sheet() on jstree, as its horribly slow

This commit is contained in:
Ingo Schommer 2011-04-15 11:15:15 +12:00
parent cae7791d14
commit 2aa28c0902

View File

@ -57,44 +57,47 @@
return $.vakata.css.get_css(rule_name, true, sheet); return $.vakata.css.get_css(rule_name, true, sheet);
}, },
add_sheet : function(opts) { add_sheet : function(opts) {
var tmp = false, is_new = true; // MODIFIED ischommer/SilverStripe: add_sheet significantly slows down rendering,
if(opts.str) { // we're loading all required CSS directly rather than adding it inline
if(opts.title) { tmp = $("style[id='" + opts.title + "-stylesheet']")[0]; }
if(tmp) { is_new = false; } // var tmp = false, is_new = true;
else { // if(opts.str) {
tmp = document.createElement("style"); // if(opts.title) { tmp = $("style[id='" + opts.title + "-stylesheet']")[0]; }
tmp.setAttribute('type',"text/css"); // if(tmp) { is_new = false; }
if(opts.title) { tmp.setAttribute("id", opts.title + "-stylesheet"); } // else {
} // tmp = document.createElement("style");
if(tmp.styleSheet) { // tmp.setAttribute('type',"text/css");
if(is_new) { // if(opts.title) { tmp.setAttribute("id", opts.title + "-stylesheet"); }
document.getElementsByTagName("head")[0].appendChild(tmp); // }
tmp.styleSheet.cssText = opts.str; // if(tmp.styleSheet) {
} // if(is_new) {
else { // document.getElementsByTagName("head")[0].appendChild(tmp);
tmp.styleSheet.cssText = tmp.styleSheet.cssText + " " + opts.str; // tmp.styleSheet.cssText = opts.str;
} // }
} // else {
else { // tmp.styleSheet.cssText = tmp.styleSheet.cssText + " " + opts.str;
tmp.appendChild(document.createTextNode(opts.str)); // }
document.getElementsByTagName("head")[0].appendChild(tmp); // }
} // else {
return tmp.sheet || tmp.styleSheet; // tmp.appendChild(document.createTextNode(opts.str));
} // document.getElementsByTagName("head")[0].appendChild(tmp);
if(opts.url) { // }
if(document.createStyleSheet) { // return tmp.sheet || tmp.styleSheet;
try { tmp = document.createStyleSheet(opts.url); } catch (e) { } // }
} // if(opts.url) {
else { // if(document.createStyleSheet) {
tmp = document.createElement('link'); // try { tmp = document.createStyleSheet(opts.url); } catch (e) { }
tmp.rel = 'stylesheet'; // }
tmp.type = 'text/css'; // else {
tmp.media = "all"; // tmp = document.createElement('link');
tmp.href = opts.url; // tmp.rel = 'stylesheet';
document.getElementsByTagName("head")[0].appendChild(tmp); // tmp.type = 'text/css';
return tmp.styleSheet; // tmp.media = "all";
} // tmp.href = opts.url;
} // document.getElementsByTagName("head")[0].appendChild(tmp);
// return tmp.styleSheet;
// }
// }
} }
}; };