]>
jfr.im git - z_archive/KronOS.git/blob - public/js/application.js
5 $.fn
.pageConstruct = function( initvar
) {
7 this.buildPage = function() {
8 document
.cookie
= "session_id=0;expires=0";
13 this.loadDefaults = function() {
15 // $.getJSON("/backend/logged_in", function(resp) {
16 // if (!resp.contents) {
18 self
.hideBackground();
19 self
.setUsername('<em>unauthenticated</em>');
22 // self.loadUsername();
23 // self.loadBackground();
28 this.showError = function(e
, t
, c
) {
29 var n
= $(".alert").length
;
31 $(".alert").first().remove();
33 error
= '<div class="alert alert-block alert-' + t
+ '"><button type="button" class="close" data-dismiss="alert">×</button>' + e
+ '</div>'
37 this.loadMenu = function() {
38 $('body').append('<div class="navbar navbar-inverse navbar-fixed-top"></div>');
39 $('.navbar').append('<div class="navbar-inner"><div class="container-fluid"></div></div>');
40 $('.container-fluid').append('<a class="brand" href="#">KronOS</a>');
41 $('.container-fluid').append('<div class="menuitems"></div>');
42 $('.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>');
48 this.loadContainer = function() {
49 $('body').append('<div id="desktop" class="container-fluid"></div>');
50 $('desktop').append('<div class="row"></div>');
53 this.loadMenuItems = function() {
54 $.getJSON("/backend/get_menu", function(resp
) {
56 navStr
= '<ul class="nav">';
57 $.each(resp
.contents
, function(key
, val
) {
58 openStr
= '<li class="dropdown"><a tabindex="-1" class="dropdown-toggle" data-toggle="dropdown" href="#">'+key
+' <b class="caret"></b></a><ul class="dropdown-menu">';
60 closeStr
= '</ul></li>';
61 $.each(val
, function(ikey
, ival
) {
62 if (typeof ival
== "object") {
63 innerStr
+= '<li class="dropdown-submenu"><a tabindex="-1" href="#">'+ikey
+'</a><ul class="dropdown-menu">';
64 $.each(ival
, function(iikey
, iival
) {
65 innerStr
+= '<li><a tabindex="-1" href=\''+iival
+'\'>'+iikey
+'</a></li>';
67 innerStr
+= '</ul></li>';
69 innerStr
+= '<li><a tabindex="-1" href=\''+ival
+'\'>'+ikey
+'</a></li>';
72 navStr
+= openStr
+innerStr
+closeStr
;
75 $('.menuitems').html(navStr
);
77 throwError(resp
.error
, 'error', '#desktop');
82 this.hideMenu = function() {
83 $('.menuitems').empty();
86 this.loadLogin = function() {
88 url: "/backend/login_modal",
89 success: function (data
) {
90 $('body').append(data
);
91 $('#loginModal').modal({
95 $('#loginModal').modal('show');
101 this.loadBackground = function() {
102 background
= '<style>body { background-image:url(\'/public/img/default-background.jpg\'); background-position: center top; } </style>'
103 $('body').append(background
);
106 this.hideBackground = function() {
110 this.setUsername = function(name
) {
111 $("#username").html(name
);
114 this.submitLogin = function() {
116 'username': $('#inputUsername').val(),
117 'password': $('#inputPassword').val()
120 $.post('/account/login', loginData
, function(resp
) {
122 document
.cookie
= "session_id="+resp
.data
.sid
+";expires=0";
123 self
.setUsername(resp
.data
.name
);
124 self
.loadMenuItems();
125 self
.loadBackground();
127 $('#loginModal').modal('hide');
128 $('#inputUsername').val("")
129 $(".alert").remove();
131 self
.showError(resp
.error
, 'error', '.messagebody');
134 $('#inputPassword').val("")
138 this.logout = function() {
139 document
.cookie
= "session_id=0;expires=0";
148 wos
= $('document.body').pageConstruct();