diff --git a/js/ui/cordova/www/js/jamutils.js b/js/ui/cordova/www/js/jamutils.js new file mode 100644 index 0000000..36eb07a --- /dev/null +++ b/js/ui/cordova/www/js/jamutils.js @@ -0,0 +1,53 @@ +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(); +}