docker-ubuntu-vnc-desktop/web/static/scripts/046bbd30.main.js
2015-05-19 16:13:07 +08:00

1 line
No EOL
5.3 KiB
JavaScript

var api={};api.login=function(a,b,c,d){$.ajax({url:"/login",type:"POST",data:{username:a,password:b}}).done(function(a){json=JSON.parse(a),d({session:c,user:json,error:json.error})}).fail(function(a){console.info(a.status+": "+a.statusText)})},api.session_list=function(a){$.ajax({url:"/session",type:"GET"}).done(function(b){var c=[];json=JSON.parse(b),$.each(json,function(a,b){c.push({name:b,value:b})}),a(c)}).fail(function(a){console.info(a.status+": "+a.statusText)})},api.user_list=function(a){$.ajax({url:"/user/",type:"GET"}).done(function(b){var c=[];json=JSON.parse(b),$.each(json,function(a,b){c.push({id:b.id,name:b.name,volume:b.volume})}),a(c)}).fail(function(a){console.info(a.status+": "+a.statusText)})},api.user_add=function(a,b,c){$.ajax({url:"/user/",type:"POST",data:{username:a,password:b}}).done(function(a){json=JSON.parse(a),c("add")}).fail(function(a){console.info(a.status+": "+a.statusText)})},api.user_delete=function(a,b){$.ajax({url:"/user/"+a,type:"DELETE"}).done(function(a){json=JSON.parse(a),b("del")}).fail(function(a){console.info(a.status+": "+a.statusText)})},api.container_list=function(a){$.ajax({url:"/container/",type:"GET"}).done(function(b){var c=[];json=JSON.parse(b),$.each(json,function(a,b){c.push({id:b.id,session:b.session,owner:b.owner})}),a(c)}).fail(function(a){console.info(a.status+": "+a.statusText)})},api.container_delete=function(a,b){$.ajax({url:"/container/"+a,type:"DELETE"}).done(function(a){json=JSON.parse(a),b()}).fail(function(a){console.info(a.status+": "+a.statusText)})};var ui={};ui.bind_login_session=function(a){var b="";a.push({name:"Admin Panel",value:"admin-panel"}),(""==$("#login-session").val()||""==$("#login-session-name").text().trim())&&($("#login-session-name").text(a[0].name),$("#login-session").val(a[0].value)),$.each(a,function(a,c){b+="<li>",b+='<a href="#" data-value="'+c.value+'">',b+=c.name,b+="</a>",b+="</li>"}),$(".dropdown-menu").html(b)},ui.bind_user_data=function(a){var b="";$.each(a,function(a,c){b+="<tr>",b+="<td>"+c.id+"</td>",b+="<td>"+c.name+"</td>",b+="<td>"+c.volume.join("<br />")+"</td>",b+="admin"==c.name?'<td><button type="button" class="btn btn-default" disabled="disabled">Remove</button></td>':'<td><button type="button" class="btn btn-default btn-remove-user">Remove</button></td>',b+="</tr>"}),""==b&&(b='<tr><td colspan="4" align="center">No data</td></tr>'),$("#tbody-account").html(b),$("button.btn-remove-user").on("click",null,ui.model_delete_user)},ui.bind_container_data=function(a){var b="";$.each(a,function(a,c){b+="<tr>",b+="<td>"+c.id+"</td>",b+="<td>"+c.session+"</td>",b+="<td>"+c.owner+"</td>",b+='<td><button type="button" class="btn btn-default btn-remove-container">Remove</button></td>',b+="</tr>"}),""==b&&(b='<tr><td colspan="4" align="center">No data</td></tr>'),$("#tbody-container").html(b),$("button.btn-remove-container").on("click",null,ui.model_delete_container)},ui.model_delete_user=function(){var a=$(this).closest("td").prev("td").prev("td"),b=a.prev("td").text(),c=a.text();$("#del-user-modal .modal-body > p").text(c),$("#del-user-id").val(b),$("#del-user-modal").modal("show")},ui.model_delete_container=function(){var a=$(this).closest("td").prev("td"),b=a.prev("td").prev("td").text(),c=a.prev("td").text(),d=a.text();a=$("#del-container-modal .modal-body > p"),a.text(b),a.next("p").text(c),a.next("p").next("p").text(d),$("#del-container-id").val(b),$("#del-container-modal").modal("show")},ui.do_switch_navbar=function(){var a,b=!1;$("#navbar > ul > li").each(function(){a=$(this).children("a").prop("hash"),window.location.hash==a?(b=!0,$(this).addClass("active"),$("#layout-"+a.substring(1)).show()):($(this).removeClass("active"),$("#layout-"+a.substring(1)).hide())}),b||(a=$("#navbar > ul > li:first-child a").prop("hash"),$("#navbar > ul > li:first-child").addClass("active"),$("#layout-"+a.substring(1)).show())},ui.do_session_login=function(a){return void 0!=a.error?void $("#login-msg").text(a.error.code+": "+a.error.message):("admin-panel"==a.session&&a.user.isAdmin?api.user_list(ui.bind_user_data):window.location="ubuntu-trusty-lxde"==a.session?"/u/"+a.session+"/vnc_auto.html?width="+(window.innerWidth-16)+"&height="+(window.innerHeight-16):"/u/"+a.session+"/",void $("#login-modal").modal("hide"))},ui.do_user_login=function(){var a=$("#login-username").val(),b=$("#login-password").val(),c=$("#login-session").val();api.login(a,b,c,ui.do_session_login)},ui.do_add_user=function(){var a=$("#add-username").val(),b=$("#add-password").val();api.user_add(a,b,ui.do_refresh_user_list)},ui.do_delete_user=function(){var a=$("#del-user-id").val();api.user_delete(a,ui.do_refresh_user_list)},ui.do_refresh_user_list=function(a){api.user_list(ui.bind_user_data),$("#"+a+"-user-modal").modal("hide")},ui.do_delete_container=function(){var a=$("#del-container-id").val();api.container_delete(a,ui.do_refresh_container_list)},ui.do_refresh_container_list=function(){api.container_list(ui.bind_container_data),$("#del-container-modal").modal("hide")},$(window).hashchange(function(){ui.do_switch_navbar()}),$(".dropdown-menu").on("click","li a",function(){$("#login-session-name").text($(this).text()),$("#login-session").val($(this).attr("data-value"))}),$("#btn-sign-in").on("click",null,ui.do_user_login),$("#btn-add-user").on("click",null,ui.do_add_user),$("#btn-del-user").on("click",null,ui.do_delete_user),$("#btn-del-container").on("click",null,ui.do_delete_container);