54 lines
1.3 KiB
JavaScript
54 lines
1.3 KiB
JavaScript
function loadjs(url,cb) {
|
|
var script = document.createElement('script');
|
|
if (typeof script != "undefined") {
|
|
script.setAttribute("type", "text/javascript");
|
|
script.setAttribute("src", url);
|
|
if (cb) script.onload=cb;
|
|
document.getElementsByTagName("head")[0].appendChild(script);
|
|
}
|
|
}
|
|
|
|
function readfile(dir,ext,cb) {
|
|
var input = document.createElement("input");
|
|
input.setAttribute("type", "file");
|
|
input.addEventListener('change',function () {
|
|
var fileReader = new FileReader();
|
|
fileReader.onload = function (e) {
|
|
var text = fileReader.result;
|
|
if (cb) cb(fileReader.result);
|
|
}
|
|
input.files[0]=dir;
|
|
fileReader.readAsText(input.files[0]);
|
|
});
|
|
$(input).trigger("click"); // opening dialog
|
|
}
|
|
|
|
function basename(path) {
|
|
return path.replace(/.*\//, '');
|
|
}
|
|
|
|
function classname(name) {
|
|
return name.substring(0, name.lastIndexOf('.'))
|
|
}
|
|
|
|
function dirname(path) {
|
|
return path.substring(0, path.lastIndexOf('/'))
|
|
}
|
|
|
|
/** Sequential Block Scheduling
|
|
*
|
|
*/
|
|
var scheduleList = [];
|
|
// Add functions to top of schedule list
|
|
function Schedule(funcs) {
|
|
funcs=funcs.reverse();
|
|
for(var i in funcs) scheduleList.unshift(funcs[i])
|
|
}
|
|
// Run functions
|
|
function Run(next) {
|
|
if (scheduleList.length) {
|
|
var f = scheduleList.shift();
|
|
f(Run);
|
|
} else if (next) next();
|
|
}
|