-
-
Notifications
You must be signed in to change notification settings - Fork 15
/
webloader.js
126 lines (107 loc) · 3.4 KB
/
webloader.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
// Webloader
var FILE = require("lib/file");
var Browser = require("lib/browser");
// Override global.console._echo()
global.console._echo = function(args, type) {
var heading, icon, message = this._join(args);
var params = {
type: type,
channel: 'default',
message: '',
datetime: new Date().toISOString()
};
switch(type) {
case "error":
heading = "Error";
icon = "error";
break;
case "warn":
heading = "Warning";
icon = "warning";
break;
case "info":
heading = "Information";
icon = "info";
break;
default:
heading = "Success";
icon = "success";
}
try {
if (typeof window.jQuery.toast !== "undefined") {
window.jQuery.toast({
heading: heading,
text: message,
icon: icon
});
} else {
window.alert(message);
}
} catch (e) {
window.alert(e.message);
}
this._messages.push(message);
if (params.channel != "default" && this._echoCallback != null) {
try {
this._echoCallback(params, type);
} catch (e) {
window.jQuery.toast({
heading: "Error",
text: e.message,
icon: "error"
});
}
}
};
// Override global.exit()
global.exit = function() {
if (typeof(window) !== "undefined") {
window.close();
}
};
// exports.IEVersion
exports.IEVersion = Browser.getIEVersion();
// exports.main()
exports.main = function(args) {
// make will display contents
Browser.setContent(FILE.readFile("app\\index.html", FILE.CdoCharset.CdoUTF_8));
// add stylesheets
Browser.addStylesheet("app/assets/css/jquery-ui-1.21.1.min.css");
Browser.addStylesheet("app/assets/css/jquery.toast-1.3.2.min.css");
Browser.addStylesheet("app/assets/css/goldenlayout-1.5.9-base.css");
Browser.addStylesheet("app/assets/css/goldenlayout-1.5.9-light-theme.css");
Browser.addStylesheet("app/assets/css/cascade/production/build-full.min.css");
Browser.addStylesheet("app/assets/css/style.css");
// start
Browser.start(function(el) {
jQuery.support.cors = true;
Browser.waitUntil(function(test, ttl) {
Browser.addScript("app/assets/js/jquery.toast-1.3.2.min.js", function(el) {
var messages = global.console._messages;
if (messages.length > 0) {
// print messages
for (var i in messages) {
console.log(messages[i]);
}
// start the app
Browser.addScript("app/assets/js/jquery.form-4.3.0.min.js");
Browser.addScript("app/assets/js/goldenlayout-1.5.9.min.js");
Browser.addScript("app/index.js");
// hide loading image
document.getElementById("loading").style.display = "none";
}
}, test, ttl);
}, function(el) {
return window.jQuery.toast;
}, 30000);
});
// hook drag event
document.body.ondragstart = function() {
return false;
};
// hook drop event
document.body.ondrop = function() {
return false;
};
return 0;
};