6 $.fn
.pageConstruct = function( initvar
) {
8 this.buildPage = function() {
9 document
.cookie
= "session_id=0;expires=0";
14 this.loadDefaults = function() {
16 // $.getJSON("/backend/logged_in", function(resp) {
17 // if (!resp.contents) {
19 self
.hideBackground();
20 self
.setUsername('<em>unauthenticated</em>');
23 // self.loadUsername();
24 // self.loadBackground();
29 this.showError = function(e
, t
, c
) {
30 var n
= $(".alert").length
;
32 $(".alert").first().remove();
34 error
= '<div class="alert alert-block alert-' + t
+ '"><button type="button" class="close" data-dismiss="alert">×</button>' + e
+ '</div>'
38 this.loadMenu = function() {
39 $('body').append('<div class="navbar navbar-inverse navbar-fixed-top"></div>');
40 $('.navbar').append('<div class="navbar-inner"><div class="container-fluid"></div></div>');
41 $('.container-fluid').append('<a class="brand" href="#">KronOS</a>');
42 $('.container-fluid').append('<div class="menuitems"></div>');
43 $('.container-fluid').append('<p class="navbar-text pull-right">Logged in as <a href="#" class="navbar-link" id="username"><em>unauthenticated</em></a> • <span style="font-family:monospace;"><span id="clock"></span></span></p>');
49 this.loadContainer = function() {
50 $('body').append('<div id="desktop" class="container-fluid"></div>');
51 $('desktop').append('<div class="row"></div>');
54 this.loadMenuItems = function() {
55 $.getJSON("/backend/get_menu", function(resp
) {
57 navStr
= '<ul class="nav">';
58 $.each(resp
.contents
, function(key
, val
) {
59 openStr
= '<li class="dropdown"><a tabindex="-1" class="dropdown-toggle" data-toggle="dropdown" href="#">'+key
+' <b class="caret"></b></a><ul class="dropdown-menu">';
61 closeStr
= '</ul></li>';
62 $.each(val
, function(ikey
, ival
) {
63 if (typeof ival
== "object") {
64 innerStr
+= '<li class="dropdown-submenu"><a tabindex="-1" href="#">'+ikey
+'</a><ul class="dropdown-menu">';
65 $.each(ival
, function(iikey
, iival
) {
66 innerStr
+= '<li><a tabindex="-1" href=\''+iival
+'\'>'+iikey
+'</a></li>';
68 innerStr
+= '</ul></li>';
70 innerStr
+= '<li><a tabindex="-1" href=\''+ival
+'\'>'+ikey
+'</a></li>';
73 navStr
+= openStr
+innerStr
+closeStr
;
76 $('.menuitems').html(navStr
);
78 throwError(resp
.error
, 'error', '#desktop');
83 this.hideMenu = function() {
84 $('.menuitems').empty();
87 this.loadLogin = function() {
89 url: "/backend/login_modal",
90 success: function (data
) {
91 $('body').append(data
);
92 $('#loginModal').modal({
96 $('#loginModal').modal('show');
102 this.loadBackground = function() {
103 background
= '<style>body { background-image:url(\'/public/img/default-background.jpg\'); background-position: center top; } </style>'
104 $('body').append(background
);
107 this.hideBackground = function() {
111 this.setUsername = function(name
) {
112 $("#username").html(name
);
115 this.submitLogin = function() {
117 'username': $('#inputUsername').val(),
118 'password': $('#inputPassword').val()
121 $.post('/account/login', loginData
, function(resp
) {
123 document
.cookie
= "session_id="+resp
.data
.sid
+";expires=0";
124 self
.setUsername(resp
.data
.name
);
125 self
.loadMenuItems();
126 self
.loadBackground();
128 $('#loginModal').modal('hide');
129 $('#inputUsername').val("")
130 $(".alert").remove();
132 self
.showError(resp
.error
, 'error', '.messagebody');
135 $('#inputPassword').val("")
139 this.credits = function() {
140 $('body').append('<div id="credits" class="modal hide fade"></div>');
142 $('#credits').append('<div class="modal-header">');
143 $('#credits').append('<div class="modal-body">');
144 $('#credits').append('<div class="modal-footer">');
147 $('#credits>.modal-header').append('<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>');
148 $('#credits>.modal-header').append('<h3 id="creditsLabel">About KronOS</h3>');
150 $('#credits>.modal-body').append('<h4>Committers</h4>');
151 $('#credits>.modal-body').append('<ul><li>BiohZn</li><li>DimeCadmium</li><li>Oscar</li><li>hyster</li><li>DarkDeviL</li></ul>');
153 $('#credits>.modal-footer').append('<button class="btn" aria-hidden="true" onClick="wos.hideCredits();">Close</button>');
155 $('#credits').modal({
158 $('#credits').modal('show');
161 this.hideCredits = function() {
162 $('#credits').modal('hide');
163 $('#credits').remove();
166 this.logout = function() {
167 document
.cookie
= "session_id=0;expires=0";
176 wos
= $('document.body').pageConstruct();
186 $.fn
.pageConstruct = function( initvar
) {
188 this.buildPage = function() {
189 document
.cookie
= "session_id=0;expires=0";
191 this.loadContainer();
194 this.loadDefaults = function() {
196 // $.getJSON("/backend/logged_in", function(resp) {
197 // if (!resp.contents) {
199 self
.hideBackground();
200 self
.setUsername('<em>unauthenticated</em>');
203 // self.loadUsername();
204 // self.loadBackground();
209 this.showError = function(e
, t
, c
) {
210 var n
= $(".alert").length
;
212 $(".alert").first().remove();
214 error
= '<div class="alert alert-block alert-' + t
+ '"><button type="button" class="close" data-dismiss="alert">×</button>' + e
+ '</div>'
218 this.loadMenu = function() {
219 $('body').append('<div class="navbar navbar-inverse navbar-fixed-top"></div>');
220 $('.navbar').append('<div class="navbar-inner"><div class="container-fluid"></div></div>');
221 $('.container-fluid').append('<a class="brand" href="#">KronOS</a>');
222 $('.container-fluid').append('<div class="menuitems"></div>');
223 $('.container-fluid').append('<p class="navbar-text pull-right">Logged in as <a href="#" class="navbar-link" id="username"><em>unauthenticated</em></a></p>');
226 this.loadContainer = function() {
227 $('body').append('<div id="desktop" class="container-fluid"></div>');
228 $('desktop').append('<div class="row"></div>');
231 this.loadMenuItems = function() {
232 $.getJSON("/backend/get_menu", function(resp
) {
234 navStr
= '<ul class="nav">';
235 $.each(resp
.contents
, function(key
, val
) {
236 openStr
= '<li class="dropdown"><a tabindex="-1" class="dropdown-toggle" data-toggle="dropdown" href="#">'+key
+' <b class="caret"></b></a><ul class="dropdown-menu">';
238 closeStr
= '</ul></li>';
239 $.each(val
, function(ikey
, ival
) {
240 if (typeof ival
== "object") {
241 innerStr
+= '<li class="dropdown-submenu"><a tabindex="-1" href="#">'+ikey
+'</a><ul class="dropdown-menu">';
242 $.each(ival
, function(iikey
, iival
) {
243 innerStr
+= '<li><a tabindex="-1" href=\''+iival
+'\'>'+iikey
+'</a></li>';
245 innerStr
+= '</ul></li>';
247 innerStr
+= '<li><a tabindex="-1" href=\''+ival
+'\'>'+ikey
+'</a></li>';
250 navStr
+= openStr
+innerStr
+closeStr
;
253 $('.menuitems').html(navStr
);
255 throwError(resp
.error
, 'error', '#desktop');
260 this.hideMenu = function() {
261 $('.menuitems').empty();
264 this.loadLogin = function() {
266 url: "/backend/login_modal",
267 success: function (data
) {
268 $('body').append(data
);
269 $('#loginModal').modal({
273 $('#loginModal').modal('show');
279 this.loadBackground = function() {
280 background
= '<style>body { background-image:url(\'/public/img/default-background.jpg\'); background-position: center top; } </style>'
281 $('body').append(background
);
284 this.hideBackground = function() {
288 this.setUsername = function(name
) {
289 $("#username").html(name
);
292 this.submitLogin = function() {
294 'username': $('#inputUsername').val(),
295 'password': $('#inputPassword').val()
298 $.post('/account/login', loginData
, function(resp
) {
300 document
.cookie
= "session_id="+resp
.data
.sid
+";expires=0";
301 self
.setUsername(resp
.data
.name
);
302 self
.loadMenuItems();
303 self
.loadBackground();
305 $('#loginModal').modal('hide');
306 $('#loginModal').remove();
308 self
.showError(resp
.error
, 'error', '.messagebody');
311 $('#inputPassword').val("")
315 this.credits = function() {
316 $('body').append('<div id="credits" class="modal hide fade"></div>');
318 $('#credits').append('<div class="modal-header">');
319 $('#credits').append('<div class="modal-body">');
320 $('#credits').append('<div class="modal-footer">');
323 $('#credits>.modal-header').append('<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>');
324 $('#credits>.modal-header').append('<h3 id="creditsLabel">About KronOS</h3>');
326 $('#credits>.modal-body').append('<h4>Committers</h4>');
327 $('#credits>.modal-body').append('<ul><li>BiohZn</li><li>DimeCadmium</li><li>Oscar</li><li>hyster</li><li>DarkDeviL</li></ul>');
329 $('#credits>.modal-footer').append('<button class="btn" aria-hidden="true" onClick="wos.hideCredits();">Close</button>');
331 $('#credits').modal({
334 $('#credits').modal('show');
337 this.hideCredits = function() {
338 $('#credits').modal('hide');
339 $('#credits').remove();
342 this.logout = function() {
343 document
.cookie
= "session_id=0;expires=0";
352 wos
= $('document.body').pageConstruct();
357 >>>>>>> 3ff0a8ddc9627b0815f031e0cf65314bb95a9e31