mirror of
https://github.com/less/less.js.git
synced 2026-05-01 03:00:22 -04:00
use new parser options in the browser
This commit is contained in:
@@ -53,7 +53,6 @@ if (dumpLineNumbers) {
|
||||
var typePattern = /^text\/(x-)?less$/;
|
||||
var cache = null;
|
||||
var fileCache = {};
|
||||
var varsPre = "";
|
||||
|
||||
function log(str, level) {
|
||||
if (less.env == 'development' && typeof(console) !== 'undefined' && less.logLevel >= level) {
|
||||
@@ -287,7 +286,7 @@ function removeError(path) {
|
||||
}
|
||||
}
|
||||
|
||||
function loadStyles(newVars) {
|
||||
function loadStyles(modifyVars) {
|
||||
var styles = document.getElementsByTagName('style'),
|
||||
style;
|
||||
for (var i = 0; i < styles.length; i++) {
|
||||
@@ -297,14 +296,8 @@ function loadStyles(newVars) {
|
||||
lessText = style.innerHTML || '';
|
||||
env.filename = document.location.href.replace(/#.*$/, '');
|
||||
|
||||
if (newVars || varsPre) {
|
||||
if (modifyVars || less.globalVars) {
|
||||
env.useFileCache = true;
|
||||
|
||||
lessText = varsPre + lessText;
|
||||
|
||||
if (newVars) {
|
||||
lessText += "\n" + newVars;
|
||||
}
|
||||
}
|
||||
|
||||
/*jshint loopfunc:true */
|
||||
@@ -323,7 +316,7 @@ function loadStyles(newVars) {
|
||||
}
|
||||
};
|
||||
})(style);
|
||||
new(less.Parser)(env).parse(lessText, callback);
|
||||
new(less.Parser)(env).parse(lessText, callback, {globalVars: less.globalVars, modifyVars: modifyVars});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -458,7 +451,7 @@ function doXHR(url, type, callback, errback) {
|
||||
}
|
||||
}
|
||||
|
||||
function loadFile(originalHref, currentFileInfo, callback, env, newVars) {
|
||||
function loadFile(originalHref, currentFileInfo, callback, env, modifyVars) {
|
||||
|
||||
if (currentFileInfo && currentFileInfo.currentDirectory && !/^([a-z-]+:)?\//.test(originalHref)) {
|
||||
originalHref = currentFileInfo.currentDirectory + originalHref;
|
||||
@@ -496,9 +489,6 @@ function loadFile(originalHref, currentFileInfo, callback, env, newVars) {
|
||||
if (env.useFileCache && fileCache[href]) {
|
||||
try {
|
||||
var lessText = fileCache[href];
|
||||
if (newVars) {
|
||||
lessText += "\n" + newVars;
|
||||
}
|
||||
callback(null, lessText, href, newFileInfo, { lastModified: new Date() });
|
||||
} catch (e) {
|
||||
callback(e, null, href);
|
||||
@@ -507,8 +497,6 @@ function loadFile(originalHref, currentFileInfo, callback, env, newVars) {
|
||||
}
|
||||
|
||||
doXHR(href, env.mime, function (data, lastModified) {
|
||||
data = varsPre + data;
|
||||
|
||||
// per file cache
|
||||
fileCache[href] = data;
|
||||
|
||||
@@ -523,12 +511,12 @@ function loadFile(originalHref, currentFileInfo, callback, env, newVars) {
|
||||
});
|
||||
}
|
||||
|
||||
function loadStyleSheet(sheet, callback, reload, remaining, newVars) {
|
||||
function loadStyleSheet(sheet, callback, reload, remaining, modifyVars) {
|
||||
|
||||
var env = new less.tree.parseEnv(less);
|
||||
env.mime = sheet.type;
|
||||
|
||||
if (newVars || varsPre) {
|
||||
if (modifyVars || less.globalVars) {
|
||||
env.useFileCache = true;
|
||||
}
|
||||
|
||||
@@ -563,16 +551,16 @@ function loadStyleSheet(sheet, callback, reload, remaining, newVars) {
|
||||
} catch (e) {
|
||||
callback(e, null, null, sheet);
|
||||
}
|
||||
});
|
||||
}, {modifyVars: modifyVars, globalVars: less.globalVars});
|
||||
} else {
|
||||
callback(e, null, null, sheet, webInfo, path);
|
||||
}
|
||||
}, env, newVars);
|
||||
}, env, modifyVars);
|
||||
}
|
||||
|
||||
function loadStyleSheets(callback, reload, newVars) {
|
||||
function loadStyleSheets(callback, reload, modifyVars) {
|
||||
for (var i = 0; i < less.sheets.length; i++) {
|
||||
loadStyleSheet(less.sheets[i], callback, reload, less.sheets.length - (i + 1), newVars);
|
||||
loadStyleSheet(less.sheets[i], callback, reload, less.sheets.length - (i + 1), modifyVars);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -640,10 +628,10 @@ for (var i = 0; i < links.length; i++) {
|
||||
// CSS without reloading less-files
|
||||
//
|
||||
less.modifyVars = function(record) {
|
||||
less.refresh(false, less.Parser.serializeVars(record));
|
||||
less.refresh(false, record);
|
||||
};
|
||||
|
||||
less.refresh = function (reload, newVars) {
|
||||
less.refresh = function (reload, modifyVars) {
|
||||
var startTime, endTime;
|
||||
startTime = endTime = new Date();
|
||||
|
||||
@@ -662,15 +650,11 @@ less.refresh = function (reload, newVars) {
|
||||
log("css generated in " + (new Date() - startTime) + 'ms', logLevel.info);
|
||||
}
|
||||
endTime = new Date();
|
||||
}, reload, newVars);
|
||||
}, reload, modifyVars);
|
||||
|
||||
loadStyles(newVars);
|
||||
loadStyles(modifyVars);
|
||||
};
|
||||
|
||||
if (less.globalVars) {
|
||||
varsPre = less.Parser.serializeVars(less.globalVars) + "\n";
|
||||
}
|
||||
|
||||
less.refreshStyles = loadStyles;
|
||||
|
||||
less.Parser.fileLoader = loadFile;
|
||||
|
||||
Reference in New Issue
Block a user