mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-15 06:45:56 +00:00
build custom layer of Dojo to speed up loading of tt-rss (refs #293)
This commit is contained in:
@@ -5,24 +5,70 @@
|
||||
*/
|
||||
|
||||
|
||||
if(!dojo._hasResource["dojo.uacss"]){
|
||||
dojo._hasResource["dojo.uacss"]=true;
|
||||
if(!dojo._hasResource["dojo.uacss"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
|
||||
dojo._hasResource["dojo.uacss"] = true;
|
||||
dojo.provide("dojo.uacss");
|
||||
|
||||
(function(){
|
||||
var d=dojo,_1=d.doc.documentElement,ie=d.isIE,_2=d.isOpera,_3=Math.floor,ff=d.isFF,_4=d.boxModel.replace(/-/,""),_5={dj_ie:ie,dj_ie6:_3(ie)==6,dj_ie7:_3(ie)==7,dj_ie8:_3(ie)==8,dj_quirks:d.isQuirks,dj_iequirks:ie&&d.isQuirks,dj_opera:_2,dj_khtml:d.isKhtml,dj_webkit:d.isWebKit,dj_safari:d.isSafari,dj_chrome:d.isChrome,dj_gecko:d.isMozilla,dj_ff3:_3(ff)==3};
|
||||
_5["dj_"+_4]=true;
|
||||
var _6="";
|
||||
for(var _7 in _5){
|
||||
if(_5[_7]){
|
||||
_6+=_7+" ";
|
||||
}
|
||||
}
|
||||
_1.className=d.trim(_1.className+" "+_6);
|
||||
dojo._loaders.unshift(function(){
|
||||
if(!dojo._isBodyLtr()){
|
||||
var _8="dj_rtl dijitRtl "+_6.replace(/ /g,"-rtl ");
|
||||
_1.className=d.trim(_1.className+" "+_8);
|
||||
}
|
||||
});
|
||||
// summary:
|
||||
// Applies pre-set CSS classes to the top-level HTML node, based on:
|
||||
// - browser (ex: dj_ie)
|
||||
// - browser version (ex: dj_ie6)
|
||||
// - box model (ex: dj_contentBox)
|
||||
// - text direction (ex: dijitRtl)
|
||||
//
|
||||
// In addition, browser, browser version, and box model are
|
||||
// combined with an RTL flag when browser text is RTL. ex: dj_ie-rtl.
|
||||
|
||||
var d = dojo,
|
||||
html = d.doc.documentElement,
|
||||
ie = d.isIE,
|
||||
opera = d.isOpera,
|
||||
maj = Math.floor,
|
||||
ff = d.isFF,
|
||||
boxModel = d.boxModel.replace(/-/,''),
|
||||
|
||||
classes = {
|
||||
dj_ie: ie,
|
||||
dj_ie6: maj(ie) == 6,
|
||||
dj_ie7: maj(ie) == 7,
|
||||
dj_ie8: maj(ie) == 8,
|
||||
dj_quirks: d.isQuirks,
|
||||
dj_iequirks: ie && d.isQuirks,
|
||||
|
||||
// NOTE: Opera not supported by dijit
|
||||
dj_opera: opera,
|
||||
|
||||
dj_khtml: d.isKhtml,
|
||||
|
||||
dj_webkit: d.isWebKit,
|
||||
dj_safari: d.isSafari,
|
||||
dj_chrome: d.isChrome,
|
||||
|
||||
dj_gecko: d.isMozilla,
|
||||
dj_ff3: maj(ff) == 3
|
||||
}; // no dojo unsupported browsers
|
||||
|
||||
classes["dj_" + boxModel] = true;
|
||||
|
||||
// apply browser, browser version, and box model class names
|
||||
var classStr = "";
|
||||
for(var clz in classes){
|
||||
if(classes[clz]){
|
||||
classStr += clz + " ";
|
||||
}
|
||||
}
|
||||
html.className = d.trim(html.className + " " + classStr);
|
||||
|
||||
// If RTL mode, then add dj_rtl flag plus repeat existing classes with -rtl extension.
|
||||
// We can't run the code below until the <body> tag has loaded (so we can check for dir=rtl).
|
||||
// Unshift() is to run sniff code before the parser.
|
||||
dojo._loaders.unshift(function(){
|
||||
if(!dojo._isBodyLtr()){
|
||||
var rtlClassStr = "dj_rtl dijitRtl " + classStr.replace(/ /g, "-rtl ")
|
||||
html.className = d.trim(html.className + " " + rtlClassStr);
|
||||
}
|
||||
});
|
||||
})();
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user