jam/js/ui/cordova/www/js/jamutils.js

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();
}