DcmgrGUI.prototype.imagePanel = function(){ var total = 0; var maxrow = 10; var page = 1; var list_request = { "url":DcmgrGUI.Util.getPagePath('/images/list/',page), "data" : DcmgrGUI.Util.getPagenateData(page,maxrow) } DcmgrGUI.List.prototype.getEmptyData = function(){ return [{ "id":'', "wmi_id":'', "source":'', "owner":'', "visibility":'', "state":'' }] } DcmgrGUI.Detail.prototype.getEmptyData = function(){ return { "name" : "-", "description" : "-", "source" : "-", "owner" : "-", "visibility" : "-", "product_code" : "-", "state" : "-", "karnel_id":"-", "platform" : "-", "root_device_type":"-", "root_device":"-", "image_size":"-", "block_devices":"-", "virtualization":"", "state_reason":"-" } } var c_pagenate = new DcmgrGUI.Pagenate({ row:maxrow, total:total }); var c_list = new DcmgrGUI.List({ element_id:'#display_images', template_id:'#imagesListTemplate', maxrow:maxrow, page:page }); c_list.setDetailTemplate({ template_id:'#imagesDetailTemplate', detail_path:'/images/show/' }); c_list.element.bind('dcmgrGUI.contentChange',function(event,params){ var image = params.data.image; c_pagenate.changeTotal(image.owner_total); c_list.setData(image.results); c_list.singleCheckList(c_list.detail_template); }); var bt_refresh = new DcmgrGUI.Refresh(); bt_refresh.element.bind('dcmgrGUI.refresh',function(){ c_list.page = c_pagenate.current_page; list_request.url = DcmgrGUI.Util.getPagePath('/images/list/',c_pagenate.current_page); list_request.data = DcmgrGUI.Util.getPagenateData(c_pagenate.start,c_pagenate.row); c_list.element.trigger('dcmgrGUI.updateList',{request:list_request}) //update detail $.each(c_list.checked_list,function(check_id,obj){ //remove $($('#detail').find('#'+check_id)).remove(); //update c_list.checked_list[check_id].c_detail.update({ url:DcmgrGUI.Util.getPagePath('/images/show/',check_id) },true); }); }); c_pagenate.element.bind('dcmgrGUI.updatePagenate',function(){ c_list.clearCheckedList(); $('#detail').html(''); bt_refresh.element.trigger('dcmgrGUI.refresh'); }); var bt_launch_instance = new DcmgrGUI.Dialog({ target:'.launch_instance', width:583, height:600, title:'Launch Instance', path:'/launch_instance', callback: function(){ var self = this; var loading_image = DcmgrGUI.Util.getLoadingImage('boxes'); $(this).find('#select_host_pool').empty().html(loading_image); $(this).find('#select_ssh_key_pair').empty().html(loading_image); $(this).find("#left_select_list").mask("Loading..."); parallel({ //get host_pools host_pools: $.ajax({ "type": "GET", "async": true, "url": '/host_pools/show_host_pools.json', "dataType": "json", success: function(json,status){ var select_html = ''; $(self).find('#select_host_pool').empty().html(select_html); var results = json.host_pool.results; var size = results.length; var select_host_pool = $(self).find('#host_pool'); for (var i=0; i < size ; i++) { var uuid = results[i].result.uuid; var html = ''; select_host_pool.append(html); } } }), //get ssh key pairs ssh_keypairs: $.ajax({ "type": "GET", "async": true, "url": '/keypairs/all.json', "dataType": "json", "data": "", success: function(json,status){ var select_html = ''; $(self).find('#select_ssh_key_pair').empty().html(select_html); var results = json.ssh_key_pair.results; var size = results.length; var select_keypair = $(self).find('#ssh_key_pair'); for (var i=0; i < size ; i++) { var name = results[i].result.name; var ssh_keypair_id = results[i].result.id; var html = '' select_keypair.append(html); } } }), //get security groups security_groups: $.ajax({ "type": "GET", "async": true, "url": '/security_groups/all.json', "dataType": "json", "data": "", success: function(json,status){ var data = []; var results = json.netfilter_group.results; var size = results.length for (var i=0; i < size ; i++) { data.push({ "value" : results[i].result.uuid, "name" : results[i].result.name }); } var security_group = new DcmgrGUI.ItemSelector({ 'left_select_id' : '#left_select_list', 'right_select_id' : "#right_select_list", "data" : data }); $(self).find('#right_button').click(function(){ security_group.leftToRight(); }); $(self).find('#left_button').click(function(){ security_group.rightToLeft(); }); } }) }).next(function(results) { bt_launch_instance.disabledButton('Launch',false); $("#left_select_list").unmask(); }); }, button:{ "Launch": function() { var image_id = $(this).find('#image_id').val(); var host_pool_id = $(this).find('#host_pool').find('option:selected').val(); var host_name = $(this).find('#host_name').val(); var instance_spec = $(this).find('#instance_spec').val(); var ssh_key_pair = $(this).find('#ssh_key_pair').find('option:selected').text(); var launch_in = $(this).find('#right_select_list').find('option'); var user_data = $(this).find('#user_data').val(); var nf_group = []; $.each(launch_in,function(i){ nf_group.push("nf_group[]="+ $(this).text()); }); var nf_strings = nf_group.join('&'); var data = "image_id="+image_id +"&host_pool_id="+host_pool_id +"&instance_spec_id="+instance_spec +"&host_name="+host_name +"&user_data="+user_data +"&"+nf_strings +"&ssh_key="+ssh_key_pair; $.ajax({ "type": "POST", "async": true, "url": '/instances', "dataType": "json", "data": data, success: function(json,status){ bt_refresh.element.trigger('dcmgrGUI.refresh'); } }); $(this).dialog("close"); } } }); bt_launch_instance.element.bind('dialogopen',function(){ bt_launch_instance.disabledButton('Launch',true); }); bt_launch_instance.target.bind('click',function(){ var id = c_list.currentChecked(); if( id ){ bt_launch_instance.open({"ids":[id]}); } return false; }); //list c_list.setData(null); c_list.update(list_request,true); }