welsonjs/webloader.js

128 lines
4.2 KiB
JavaScript
Raw Normal View History

2020-07-27 02:31:52 +00:00
////////////////////////////////////////////////////////////////////////
// Webloader
////////////////////////////////////////////////////////////////////////
2020-07-23 08:10:52 +00:00
var FILE = require("lib/file");
2020-07-27 02:31:52 +00:00
var OldBrowser = require("lib/oldbrowser");
2020-07-23 09:03:58 +00:00
var URILoader = require("uriloader");
2020-06-28 14:38:30 +00:00
2020-07-27 02:31:52 +00:00
////////////////////////////////////////////////////////////////////////
// Override global.console.__echo()
////////////////////////////////////////////////////////////////////////
2020-07-23 02:41:33 +00:00
global.console.__echo = function(msg) {
if (typeof(window.jQuery) !== "undefined") {
window.jQuery.toast({
heading: "Information",
text: msg,
icon: "info"
});
} else {
alert(msg);
}
global.console.__messages.push(msg);
};
2020-08-04 09:29:42 +00:00
////////////////////////////////////////////////////////////////////////
// Override global.console.log()
////////////////////////////////////////////////////////////////////////
global.console.log = function(msg) {
if (__config.development === true) {
global.console.__echo(msg);
}
};
2020-07-27 02:31:52 +00:00
////////////////////////////////////////////////////////////////////////
// Override global.exit()
////////////////////////////////////////////////////////////////////////
2020-07-23 08:18:47 +00:00
global.exit = function() {
if (typeof(window) !== "undefined") {
window.close();
}
};
2020-07-27 02:31:52 +00:00
////////////////////////////////////////////////////////////////////////
2020-08-02 22:02:55 +00:00
// this window makes movable
2020-07-27 02:31:52 +00:00
////////////////////////////////////////////////////////////////////////
2020-08-02 22:02:55 +00:00
(function(grip) {
var oX, oY,
2020-07-27 02:31:52 +00:00
mouseDown = function(e) {
if (e.offsetY + e.offsetX < 0) return;
oX = e.screenX;
oY = e.screenY;
window.addEventListener("mousemove", mouseMove);
window.addEventListener("mouseup", mouseUp);
},
mouseMove = function(e) {
window.moveTo(screenX + e.screenX - oX, screenY + e.screenY - oY);
oX = e.screenX;
oY = e.screenY;
},
gripMouseMove = function(e) {
this.style.cursor = (e.offsetY + e.offsetX > -1) ? "move" : "default";
},
mouseUp = function(e) {
window.removeEventListener("mousemove", mouseMove);
window.removeEventListener("mouseup", mouseUp);
2020-07-03 09:15:23 +00:00
};
2020-07-04 09:04:02 +00:00
2020-07-27 02:31:52 +00:00
grip.addEventListener("mousedown", mouseDown);
grip.addEventListener("mousemove", gripMouseMove);
2020-08-02 22:02:55 +00:00
})(document.getElementsByTagName("body")[0]);
////////////////////////////////////////////////////////////////////////
// exports.IEVersion
////////////////////////////////////////////////////////////////////////
exports.IEVersion = OldBrowser.getIEVersion();
2020-07-04 12:40:42 +00:00
2020-07-27 02:31:52 +00:00
////////////////////////////////////////////////////////////////////////
// exports.main()
////////////////////////////////////////////////////////////////////////
exports.main = function(args) {
2020-07-27 02:38:26 +00:00
// make will display contents
2020-08-02 22:02:55 +00:00
OldBrowser.setContent(FILE.readFile("app\\index.html", "utf-8"));
2020-07-27 02:31:52 +00:00
OldBrowser.addStylesheet("app/assets/css/jquery-ui-1.21.1.min.css");
OldBrowser.addStylesheet("app/assets/css/jquery.toast-1.3.2.min.css");
OldBrowser.addStylesheet("app/assets/css/style.css");
OldBrowser.start(function(el) {
jQuery.support.cors = true;
OldBrowser.addScript("app/assets/js/jquery.toast-1.3.2.min.js", function(el) {
var messages = global.console.__messages;
if (messages.length > 0) {
for (var i in messages) {
console.log(messages[i]);
}
2020-07-04 12:40:42 +00:00
2020-07-27 02:31:52 +00:00
// start this app
OldBrowser.addScript("app/index.js");
2020-07-04 12:40:42 +00:00
}
2020-07-27 02:31:52 +00:00
}, function(el) {
return window.jQuery.toast;
});
});
// hook drag and drop
document.body.ondragstart = function() {
return false;
};
document.body.ondrop = function() {
return false;
};
// assign click event
var elems = document.getElementsByTagName("a");
for(var i in elems) {
var uri = elems[i].href || "";
var pos = uri.indexOf("://");
if(uri.substring(0, pos) == __config.appName) {
elems[i].onclick = function(e) {
var uri = this.href || "";
URILoader.main([uri]);
e.preventDefault();
2020-07-03 09:15:23 +00:00
};
2020-07-07 09:02:51 +00:00
}
2020-06-28 19:04:10 +00:00
}
2020-07-27 02:31:52 +00:00
return 0;
};