mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
Merge branch 'feature-2812'
This commit is contained in:
commit
3628424389
@ -197,6 +197,7 @@ tabs:
|
||||
input_output: true
|
||||
context: true
|
||||
scheduling: true
|
||||
hybrid: true
|
||||
other: true
|
||||
images-tab:
|
||||
panel_tabs:
|
||||
|
@ -196,6 +196,8 @@ tabs:
|
||||
input_output: true
|
||||
context: true
|
||||
scheduling: false
|
||||
hybrid: true
|
||||
other: true
|
||||
images-tab:
|
||||
panel_tabs:
|
||||
image_info_tab: true
|
||||
|
File diff suppressed because one or more lines are too long
@ -126,6 +126,7 @@ var create_file_tmpl ='<div class="row">\
|
||||
|
||||
var dataTable_files;
|
||||
var $create_file_dialog;
|
||||
var size_files = 0;
|
||||
|
||||
var file_actions = {
|
||||
|
||||
|
@ -20,84 +20,107 @@ var HOST_HISTORY_LENGTH = 40;
|
||||
|
||||
var create_host_tmpl =
|
||||
'<div class="row">\
|
||||
<div class="large-12 columns">\
|
||||
<h3 id="create_cluster_header" class="subheader">'+tr("Create Host")+'</h3>\
|
||||
</div>\
|
||||
<div class="large-12 columns">\
|
||||
<h3 id="create_cluster_header" class="subheader">'+tr("Create Host")+'</h3>\
|
||||
</div>\
|
||||
<div class="reveal-body">\
|
||||
</div>\
|
||||
<div class="reveal-body">\
|
||||
<form id="create_host_form" action="" class="">\
|
||||
<div class="row">\
|
||||
<div class="large-6 columns">\
|
||||
<label for="name">' + tr("Hostname") + '</label>\
|
||||
<input type="text" name="name" id="name" />\
|
||||
</div>\
|
||||
<div class="large-6 columns" id="cluster_select">\
|
||||
<label for="host_cluster_id">' + tr("Cluster") + '</label>\
|
||||
<div id="host_cluster_id" name="host_cluster_id">\
|
||||
</div>\
|
||||
<div class="large-6 columns">\
|
||||
<label for="name">' + tr("Hostname") + '</label>\
|
||||
<input type="text" name="name" id="name" />\
|
||||
</div>\
|
||||
<div class="large-6 columns" id="cluster_select">\
|
||||
<label for="host_cluster_id">' + tr("Cluster") + '</label>\
|
||||
<div id="host_cluster_id" name="host_cluster_id">\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
<fieldset>\
|
||||
<legend>'+tr("Drivers")+'</legend>\
|
||||
<div class="row">\
|
||||
<div class="large-6 columns">\
|
||||
<div class="manager clear row" id="vmm_mads">\
|
||||
<div class="large-12 columns">\
|
||||
<label for="vmm">' + tr("Virtualization") + '</label>\
|
||||
<select id="vmm_mad" name="vmm">\
|
||||
<option value="kvm">' + tr("KVM") + '</option>\
|
||||
<option value="xen">' + tr("XEN") + '</option>\
|
||||
<option value="vmware">' + tr("VMware") + '</option>\
|
||||
<option value="ec2">' + tr("EC2") + '</option>\
|
||||
<option value="dummy">' + tr("Dummy") + '</option>\
|
||||
<option value="custom">' + tr("Custom") + '</option>\
|
||||
</select>\
|
||||
</div>\
|
||||
<div class="large-12 columns">\
|
||||
<label>' + tr("Custom VMM_MAD") + '</label>\
|
||||
<input type="text" name="custom_vmm_mad" />\
|
||||
</div>\
|
||||
<div class="large-6 columns">\
|
||||
<label for="host_type">' + tr("Type") + '</label>\
|
||||
<select id="host_type_mad" name="host_type">\
|
||||
<option value="kvm">' + tr("KVM") + '</option>\
|
||||
<option value="xen">' + tr("XEN") + '</option>\
|
||||
<option value="vmware">' + tr("VMware") + '</option>\
|
||||
<option value="az">' + tr("Microsoft Azure") + '</option>\
|
||||
<option value="ec2">' + tr("Amazon EC2") + '</option>\
|
||||
<option value="sl">' + tr("IBM Softlayer") + '</option>\
|
||||
<option value="dummy">' + tr("Dummy") + '</option>\
|
||||
<option value="custom">' + tr("Custom") + '</option>\
|
||||
</select>\
|
||||
</div>\
|
||||
<div class="manager clear row" id="im_mads">\
|
||||
<div class="large-12 columns">\
|
||||
<label for="im">' + tr("Information") + '</label>\
|
||||
<select id="im_mad" name="im">\
|
||||
<option value="kvm">' + tr("KVM") + '</option>\
|
||||
<option value="xen">' + tr("XEN") + '</option>\
|
||||
<option value="vmware">' + tr("VMware") + '</option>\
|
||||
<option value="ec2">' + tr("EC2") + '</option>\
|
||||
<option value="dummy">' + tr("Dummy") + '</option>\
|
||||
<div class="large-6 columns">\
|
||||
<div class="manager clear row" id="vnm_mads">\
|
||||
<div class="large-12 columns">\
|
||||
<label for="vn">' + tr("Networking") + '</label>\
|
||||
<select id="vnm_mad" name="vn">\
|
||||
<option value="dummy">' + tr("Default (dummy)") +'</option>\
|
||||
<option value="fw">'+tr("Firewall")+'</option>\
|
||||
<option value="802.1Q">'+tr("802.1Q")+'</option>\
|
||||
<option value="ebtables">'+tr("ebtables")+'</option>\
|
||||
<option value="ovswitch">'+tr("Open vSwitch")+'</option>\
|
||||
<option value="vmware">'+tr("VMware")+'</option>\
|
||||
<option value="custom">' + tr("Custom") + '</option>\
|
||||
</select>\
|
||||
</div>\
|
||||
<div class="large-12 columns">\
|
||||
<label>' + tr("Custom IM_MAD") + ':</label>\
|
||||
<input type="text" name="custom_im_mad" />\
|
||||
</select>\
|
||||
</div>\
|
||||
<div class="large-12 columns">\
|
||||
<label>' + tr("Custom VNM_MAD") + '</label>\
|
||||
<input type="text" name="custom_vnm_mad" />\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="drivers">\
|
||||
<fieldset>\
|
||||
<legend>'+tr("Drivers")+'</legend>\
|
||||
<div class="row">\
|
||||
<div class="large-6 columns">\
|
||||
<div class="manager clear row" id="vmm_mads">\
|
||||
<div class="large-12 columns">\
|
||||
<label for="vmm">' + tr("Virtualization") + '</label>\
|
||||
<select id="vmm_mad" name="vmm">\
|
||||
<option value="kvm">' + tr("KVM") + '</option>\
|
||||
<option value="xen">' + tr("XEN") + '</option>\
|
||||
<option value="vmware">' + tr("VMware") + '</option>\
|
||||
<option value="az">' + tr("Microsoft Azure") + '</option>\
|
||||
<option value="ec2">' + tr("Amazon EC2") + '</option>\
|
||||
<option value="sl">' + tr("IBM Softlayer") + '</option>\
|
||||
<option value="dummy">' + tr("Dummy") + '</option>\
|
||||
<option value="custom">' + tr("Custom") + '</option>\
|
||||
</select>\
|
||||
</div>\
|
||||
<div class="large-12 columns">\
|
||||
<label>' + tr("Custom VMM_MAD") + '</label>\
|
||||
<input type="text" name="custom_vmm_mad" />\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="large-6 columns">\
|
||||
<div class="manager clear row" id="im_mads">\
|
||||
<div class="large-12 columns">\
|
||||
<label for="im">' + tr("Information") + '</label>\
|
||||
<select id="im_mad" name="im">\
|
||||
<option value="kvm">' + tr("KVM") + '</option>\
|
||||
<option value="xen">' + tr("XEN") + '</option>\
|
||||
<option value="vmware">' + tr("VMware") + '</option>\
|
||||
<option value="az">' + tr("Microsoft Azure") + '</option>\
|
||||
<option value="ec2">' + tr("Amazon EC2") + '</option>\
|
||||
<option value="sl">' + tr("IBM Softlayer") + '</option>\
|
||||
<option value="dummy">' + tr("Dummy") + '</option>\
|
||||
<option value="custom">' + tr("Custom") + '</option>\
|
||||
</select>\
|
||||
</div>\
|
||||
<div class="large-12 columns">\
|
||||
<label>' + tr("Custom IM_MAD") + ':</label>\
|
||||
<input type="text" name="custom_im_mad" />\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="large-6 columns">\
|
||||
<div class="manager clear row" id="vnm_mads">\
|
||||
<div class="large-12 columns">\
|
||||
<label for="vn">' + tr("Networking") + '</label>\
|
||||
<select id="vnm_mad" name="vn">\
|
||||
<option value="dummy">' + tr("Default (dummy)") +'</option>\
|
||||
<option value="fw">'+tr("Firewall")+'</option>\
|
||||
<option value="802.1Q">'+tr("802.1Q")+'</option>\
|
||||
<option value="ebtables">'+tr("ebtables")+'</option>\
|
||||
<option value="ovswitch">'+tr("Open vSwitch")+'</option>\
|
||||
<option value="vmware">'+tr("VMware")+'</option>\
|
||||
<option value="custom">' + tr("Custom") + '</option>\
|
||||
</select>\
|
||||
</div>\
|
||||
<div class="large-12 columns">\
|
||||
<label>' + tr("Custom VNM_MAD") + '</label>\
|
||||
<input type="text" name="custom_vnm_mad" />\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>\
|
||||
</fieldset>\
|
||||
</fieldset>\
|
||||
</div>\
|
||||
<br>\
|
||||
<div class="form_buttons row">\
|
||||
<button id="wizard_host_reset_button" class="button secondary radius" type="reset" value="reset">' + tr("Reset") + '</button>\
|
||||
@ -109,6 +132,10 @@ var create_host_tmpl =
|
||||
|
||||
var dataTable_hosts;
|
||||
var $create_host_dialog;
|
||||
var on_hosts = 0;
|
||||
var off_hosts = 0;
|
||||
var error_hosts = 0;
|
||||
|
||||
|
||||
//Setup actions
|
||||
var host_actions = {
|
||||
@ -904,6 +931,19 @@ function setupCreateHostDialog(){
|
||||
$create_host_dialog.addClass("reveal-modal medium").attr("data-reveal", "");
|
||||
$create_host_dialog.foundation()
|
||||
|
||||
$(".drivers", $create_host_dialog).hide();
|
||||
|
||||
$("#host_type_mad", $create_host_dialog).on("change", function(){
|
||||
$("#vmm_mad", $create_host_dialog).val(this.value).change();
|
||||
$("#im_mad", $create_host_dialog).val(this.value).change();
|
||||
|
||||
if (this.value == "custom") {
|
||||
$(".drivers", $create_host_dialog).show();
|
||||
} else {
|
||||
$(".drivers", $create_host_dialog).hide();
|
||||
}
|
||||
})
|
||||
|
||||
// Show custom driver input only when custom is selected in selects
|
||||
$('input[name="custom_vmm_mad"],'+
|
||||
'input[name="custom_im_mad"],'+
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -53,7 +53,8 @@ var QUOTA_LIMIT_UNLIMITED = "-2";
|
||||
var SunstoneCfg = {
|
||||
"actions" : {},
|
||||
"tabs" : {},
|
||||
"info_panels" : {}
|
||||
"info_panels" : {},
|
||||
"form_panels" : {}
|
||||
};
|
||||
|
||||
var language_options = '<option value="en_US">English (en_US)</option>\
|
||||
@ -139,6 +140,20 @@ var Sunstone = {
|
||||
}
|
||||
},
|
||||
|
||||
"addFormPanel" : function(tab_id, form_name, form_obj){
|
||||
SunstoneCfg["form_panels"][form_name]=form_obj;
|
||||
|
||||
var context = $(".right-form", $('#'+tab_id));
|
||||
|
||||
// TODO check if it is already included
|
||||
|
||||
$("#advancedForms", context).append(form_obj.advanced_html);
|
||||
$("#wizardForms", context).append(form_obj.wizard_html);
|
||||
|
||||
//var form_context = $("#"+form_name+"_wizard, #"+form_name+"_advanced", context)
|
||||
form_obj.setup(context)
|
||||
},
|
||||
|
||||
//Adds a new info panel
|
||||
"addInfoPanel" : function(panel_name, panel_obj){
|
||||
SunstoneCfg["info_panels"][panel_name]=panel_obj;
|
||||
@ -154,11 +169,71 @@ var Sunstone = {
|
||||
delete SunstoneCfg["info_panels"][panel_name];
|
||||
},
|
||||
|
||||
"popUpFormPanel" : function(form_name, selected_tab, action, reset, initialize_func){
|
||||
var context = $("#"+selected_tab);
|
||||
popFormDialogLoading(context);
|
||||
|
||||
var form_obj = SunstoneCfg["form_panels"][form_name];
|
||||
|
||||
if (action) {
|
||||
$(".right-form-title", context).text(form_obj["actions"][action]["title"]);
|
||||
$(".submit_button", context).text(form_obj["actions"][action]["submit_text"]);
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
if (reset) {
|
||||
$("#"+form_name+"_wizard", context).remove();
|
||||
$("#"+form_name+"_advanced", context).remove();
|
||||
|
||||
$("#advancedForms", context).append(form_obj.advanced_html);
|
||||
$("#wizardForms", context).append(form_obj.wizard_html);
|
||||
|
||||
//var form_context = $("#"+form_name+"_wizard, #"+form_name+"_advanced", context)
|
||||
form_obj.setup(context)
|
||||
}
|
||||
|
||||
if (initialize_func){
|
||||
initialize_func(context);
|
||||
}
|
||||
|
||||
if (action) {
|
||||
$("#"+form_name+"_wizard", context).attr("action", action);
|
||||
$("#"+form_name+"_advanced", context).attr("action", action);
|
||||
}
|
||||
|
||||
popFormDialog(form_name, context);
|
||||
|
||||
},13)
|
||||
|
||||
},
|
||||
|
||||
"submitFormPanel" : function(form_name, selected_tab){
|
||||
var context = $("#"+selected_tab);
|
||||
popFormDialogLoading(context);
|
||||
|
||||
if ($("#wizardForms.active", context).length > 0) {
|
||||
$("#"+form_name+"_wizard", context).submit();
|
||||
} else if ($("#advancedForms.active", context).length > 0) {
|
||||
$("#"+form_name+"_advanced", context).submit();
|
||||
}
|
||||
|
||||
// Success callbalck must include:
|
||||
// $("a[href=back]", $("#"+selected_tab)).trigger("click");
|
||||
// popFormDialog(form_name, $("#"+selected_tab));
|
||||
// Error callback must include:
|
||||
// popFormDialog(form_name, $("#"+selected_tab));
|
||||
},
|
||||
|
||||
//Makes an info panel content pop up in the screen.
|
||||
"popUpInfoPanel" : function(panel_name, selected_tab){
|
||||
popDialog(Sunstone.getInfoPanelHTML(panel_name, selected_tab), $("#"+selected_tab));
|
||||
},
|
||||
|
||||
"getFormPanelHTML" : function(form_name, selected_tab){
|
||||
//$("#"+form_name, $("#dialogs")).detach();
|
||||
return formElement;
|
||||
},
|
||||
|
||||
//Generates and returns the HTML div element for an info panel, with
|
||||
//Jquery tabs.
|
||||
"getInfoPanelHTML" : function(panel_name,selected_tab){
|
||||
@ -168,12 +243,8 @@ var Sunstone = {
|
||||
}
|
||||
|
||||
var dl_tabs = $('<div id="'+panel_name+'">\
|
||||
<div class="row">\
|
||||
<div class="large-12 columns">\
|
||||
<dl class="tabs right-info-tabs text-center" data-tab>\
|
||||
</dl>\
|
||||
</div>\
|
||||
</div>\
|
||||
<dl class="tabs right-info-tabs text-center" data-tab>\
|
||||
</dl>\
|
||||
<div class="tabs-content"></div>\
|
||||
</div>\
|
||||
</div>');
|
||||
@ -504,34 +575,27 @@ function insertTab(tab_name){
|
||||
'</span> \
|
||||
<span class="resource-id"></span>\
|
||||
</h3>\
|
||||
<h3 class="subheader header-title only-right-form" hidden>\
|
||||
<span class="right-form-title">' +
|
||||
'</span>\
|
||||
</h3>\
|
||||
</div>\
|
||||
</div>'
|
||||
}
|
||||
/*
|
||||
if (tab_info.search_input) {
|
||||
tab_content_str += '<div class="row header-info">\
|
||||
<div class="large-3 columns right">' +
|
||||
tab_info.search_input +
|
||||
'</div>\
|
||||
<div class="large-9 columns">' +
|
||||
(tab_info.subheader ? tab_info.subheader : "") +
|
||||
'</div>\
|
||||
</div>'
|
||||
}
|
||||
*/
|
||||
|
||||
if (tab_info.buttons) {
|
||||
tab_content_str += '<div class="row">\
|
||||
<div class="small-9 large-9 columns">\
|
||||
<div class="small-12 large-12 columns">\
|
||||
<div class="action_blocks">\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="small-3 large-3 columns only-right-list">'
|
||||
<div class="small-3 large-3 columns only-right-list" style="margin-top: 2px">'
|
||||
|
||||
if (tab_info.search_input) {
|
||||
tab_content_str += tab_info.search_input;
|
||||
}
|
||||
|
||||
tab_content_str += '</div>\
|
||||
</div>\
|
||||
</div>'
|
||||
}
|
||||
|
||||
@ -565,7 +629,25 @@ function insertTab(tab_name){
|
||||
tab_content_str += '<div class="right-info" hidden>'
|
||||
tab_content_str += '</div>'
|
||||
|
||||
tab_content_str += '</div>';
|
||||
tab_content_str += '<div class="right-form" hidden>'+
|
||||
'<div class="text-center loadingForm">'+
|
||||
'<br>'+
|
||||
'<br>'+
|
||||
'<span class="fa-stack fa-5x" style="color: #dfdfdf">'+
|
||||
'<i class="fa fa-cloud fa-stack-2x"></i>'+
|
||||
'<i class="fa fa-spinner fa-spin fa-stack-1x fa-inverse"></i>'+
|
||||
'</span>'+
|
||||
'<br>'+
|
||||
'<br>'+
|
||||
'</div>'+
|
||||
'<div class="tabs-content tabs-contentForm">' +
|
||||
'<div class="content active" id="wizardForms">' +
|
||||
'</div>' +
|
||||
'<div class="content" id="advancedForms">' +
|
||||
'</div>'+
|
||||
'</div>'+
|
||||
'</div>';
|
||||
|
||||
main_tabs_context.append(tab_content_str);
|
||||
}
|
||||
|
||||
@ -587,6 +669,12 @@ function insertTab(tab_name){
|
||||
if (showOnTop){
|
||||
$('div#header ul#menutop_ul').append('<li id="top_'+tab_name+'">'+tab_info.title+'</li>');
|
||||
};
|
||||
|
||||
if (tab_info.forms) {
|
||||
$.each(tab_info.forms, function(key, value){
|
||||
Sunstone.addFormPanel(tab_name, key, value)
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
function hideSubTabs(){
|
||||
@ -632,10 +720,10 @@ function insertButtonsInTab(tab_name, panel_name, panel_buttons, custom_context)
|
||||
var buttons_row = $('<div class="text-center">'+
|
||||
'<span class="left">'+
|
||||
|
||||
'<span id="'+custom_id+'refresh_buttons">'+
|
||||
'<span id="'+custom_id+'refresh_buttons" class="only-right-info only-right-list">'+
|
||||
'</span>'+
|
||||
|
||||
(custom_context ? '' : '<span id="'+custom_id+'back_button" class="only-right-info">'+
|
||||
(custom_context ? '' : '<span id="'+custom_id+'back_button" class="only-right-info only-right-form">'+
|
||||
'<a class="button small radius" href="back"><i class="fa fa-arrow-left"></i>  <i class="fa fa-list"></i></a>'+
|
||||
'</span>')+
|
||||
|
||||
@ -643,60 +731,74 @@ function insertButtonsInTab(tab_name, panel_name, panel_buttons, custom_context)
|
||||
'</span>'+
|
||||
'</span>'+
|
||||
|
||||
'<span>'+
|
||||
|
||||
'<span class="right" style="margin-left: 20px">'+
|
||||
"<a href='#' data-dropdown='"+custom_id+"user_buttons' class='only-right-info only-right-list top_button small secondary button dropdown radius'>"+
|
||||
"<i class='fa fa-user'/>"+
|
||||
"</a>"+
|
||||
"<ul id='"+custom_id+"user_buttons' class='only-right-info only-right-list f-dropdown' data-dropdown-content>"+
|
||||
"</ul>"+
|
||||
|
||||
"<a href='#' data-dropdown='"+custom_id+"vmsdelete_buttons' class='only-right-info only-right-list top_button small button alert dropdown radius'>"+
|
||||
"<i class='fa fa-trash-o'/>"+
|
||||
"</a>"+
|
||||
"<ul id='"+custom_id+"vmsdelete_buttons' class='only-right-info only-right-list f-dropdown' data-dropdown-content>"+
|
||||
"</ul>"+
|
||||
|
||||
"<span id='"+custom_id+"delete_buttons' class='only-right-info only-right-list'>"+
|
||||
"</span>"+
|
||||
"</span>"+
|
||||
|
||||
'<span class="right">'+
|
||||
'<span id="'+custom_id+'vmsplay_buttons">'+
|
||||
'</span>'+
|
||||
|
||||
"<a href='#' data-dropdown='"+custom_id+"vmspause_buttons' class='top_button small button secondary dropdown radius'>"+
|
||||
"<a href='#' data-dropdown='"+custom_id+"vmspause_buttons' class='only-right-info only-right-list top_button small button secondary dropdown radius'>"+
|
||||
"<i class='fa fa-pause'/>"+
|
||||
"</a>"+
|
||||
"<ul id='"+custom_id+"vmspause_buttons' class='f-dropdown' data-dropdown-content>"+
|
||||
"<ul id='"+custom_id+"vmspause_buttons' class='only-right-info only-right-list f-dropdown' data-dropdown-content>"+
|
||||
"</ul>"+
|
||||
|
||||
"<a href='#' data-dropdown='"+custom_id+"vmsstop_buttons' class='top_button small button secondary dropdown radius'>"+
|
||||
"<a href='#' data-dropdown='"+custom_id+"vmsstop_buttons' class='only-right-info only-right-list top_button small button secondary dropdown radius'>"+
|
||||
"<i class='fa fa-stop'/>"+
|
||||
"</a>"+
|
||||
"<ul id='"+custom_id+"vmsstop_buttons' class='f-dropdown' data-dropdown-content>"+
|
||||
"<ul id='"+custom_id+"vmsstop_buttons' class='only-right-info only-right-list f-dropdown' data-dropdown-content>"+
|
||||
"</ul>"+
|
||||
|
||||
"<a href='#' data-dropdown='"+custom_id+"vmsrepeat_buttons' class='top_button small button secondary dropdown radius'>"+
|
||||
"<a href='#' data-dropdown='"+custom_id+"vmsrepeat_buttons' class='only-right-info only-right-list top_button small button secondary dropdown radius'>"+
|
||||
"<i class='fa fa-repeat'/>"+
|
||||
"</a>"+
|
||||
"<ul id='"+custom_id+"vmsrepeat_buttons' class='f-dropdown' data-dropdown-content>"+
|
||||
"<ul id='"+custom_id+"vmsrepeat_buttons' class='only-right-info only-right-list f-dropdown' data-dropdown-content>"+
|
||||
"</ul>"+
|
||||
|
||||
"<a href='#' data-dropdown='"+custom_id+"vmsplanification_buttons' class='top_button small button secondary dropdown radius'>"+
|
||||
"<a href='#' data-dropdown='"+custom_id+"vmsplanification_buttons' class='only-right-info only-right-list top_button small button secondary dropdown radius'>"+
|
||||
"<i class='fa fa-th-list'/>"+
|
||||
"</a>"+
|
||||
"<ul id='"+custom_id+"vmsplanification_buttons' class='f-dropdown' data-dropdown-content>"+
|
||||
"<ul id='"+custom_id+"vmsplanification_buttons' class='only-right-info only-right-list f-dropdown' data-dropdown-content>"+
|
||||
"</ul>"+
|
||||
|
||||
'<span id="'+custom_id+'main_buttons" class="only-right-info only-right-list">'+
|
||||
"</span>"+
|
||||
|
||||
"<a href='#' data-dropdown='"+custom_id+"more_buttons' class='only-right-info only-right-list top_button small button secondary dropdown radius'> " +
|
||||
"<i class='fa fa-ellipsis-v'/>"+
|
||||
"</a>"+
|
||||
"<ul id='"+custom_id+"more_buttons' class='only-right-info only-right-list f-dropdown' data-dropdown-content>"+
|
||||
"</ul>"+
|
||||
'</span>'+
|
||||
|
||||
'<span class="right">'+
|
||||
'<span id="'+custom_id+'main_buttons">'+
|
||||
"</span>"+
|
||||
|
||||
"<a href='#' data-dropdown='"+custom_id+"more_buttons' class='top_button small button secondary dropdown radius'> " +
|
||||
"<i class='fa fa-ellipsis-v'/>"+
|
||||
"</a>"+
|
||||
"<ul id='"+custom_id+"more_buttons' class='f-dropdown' data-dropdown-content>"+
|
||||
"</ul>"+
|
||||
|
||||
"<a href='#' data-dropdown='"+custom_id+"user_buttons' class='top_button small secondary button dropdown radius'>"+
|
||||
"<i class='fa fa-user'/>"+
|
||||
"</a>"+
|
||||
"<ul id='"+custom_id+"user_buttons' class='f-dropdown' data-dropdown-content>"+
|
||||
"</ul>"+
|
||||
|
||||
"<a href='#' data-dropdown='"+custom_id+"vmsdelete_buttons' class='top_button small button alert dropdown radius'>"+
|
||||
"<i class='fa fa-trash-o'/>"+
|
||||
"</a>"+
|
||||
"<ul id='"+custom_id+"vmsdelete_buttons' class='f-dropdown' data-dropdown-content>"+
|
||||
"</ul>"+
|
||||
|
||||
"<span id='"+custom_id+"delete_buttons'>"+
|
||||
"</span>"+
|
||||
"</span>"+
|
||||
"<span id='"+custom_id+"form_buttons' class='only-right-form'>"+
|
||||
'<span id="'+custom_id+'reset_button" class="left" style="margin-left: 10px;">'+
|
||||
'<a class="button small secondary radius" href="submit">'+tr("Reset")+'</a>'+
|
||||
'</span>'+
|
||||
'<span id="'+custom_id+'submit_button" class="left" style="margin-left: 10px;">'+
|
||||
'<a class="button small success radius submit_button" href="submit">'+tr("Create")+'</a>'+
|
||||
'</span>'+
|
||||
'<dl class="tabs right wizard_tabs" data-tab style="margin-left: 10px;">' +
|
||||
'<dd id="wizard_mode" class="active"><a style="padding: 0.3rem 1rem;" href="#wizardForms">'+tr("Wizard")+'</a></dd>' +
|
||||
'<dd id="advanced_mode"><a style="padding: 0.3rem 1rem;" id="advanced_mode_a" href="#advancedForms">'+tr("Advanced")+'</a></dd>' +
|
||||
'</dl>' +
|
||||
"</span>"+
|
||||
"</div>");
|
||||
|
||||
//for every button defined for this tab...
|
||||
@ -733,17 +835,17 @@ function insertButtonsInTab(tab_name, panel_name, panel_buttons, custom_context)
|
||||
str_class.push(button.custom_classes);
|
||||
}
|
||||
|
||||
var context;
|
||||
var button_context;
|
||||
var text;
|
||||
switch (button.layout) {
|
||||
case "create":
|
||||
context = $("#"+custom_id+"create_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"create_buttons", buttons_row);
|
||||
text = button.text ? '<i class="fa fa-plus"/> ' + button.text : '<i class="fa fa-plus"/>';
|
||||
str_class.push("success", "button", "small", "radius");
|
||||
button_code = '<button class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</button>';
|
||||
break;
|
||||
case "refresh":
|
||||
context = $("#"+custom_id+"refresh_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"refresh_buttons", buttons_row);
|
||||
text = '<span class="fa-stack">'+
|
||||
'<i class="fa fa-refresh fa-stack-lg" style="font-size: 1.5em"></i>'+
|
||||
//'<i class="fa fa-play fa-stack-1x"></i>'+
|
||||
@ -752,7 +854,7 @@ function insertButtonsInTab(tab_name, panel_name, panel_buttons, custom_context)
|
||||
button_code = '<a class="'+str_class.join(' ')+'" href="'+button_name+'" style="padding-left: 5px">'+text+'</a>';
|
||||
break;
|
||||
case "top":
|
||||
context = $("#"+custom_id+"refresh_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"refresh_buttons", buttons_row);
|
||||
text = '<span class="fa-stack">'+
|
||||
'<i class="fa fa-refresh fa-stack-2x" style="color: #dfdfdf"></i>'+
|
||||
'<i class="fa fa-play fa-stack-1x"></i>'+
|
||||
@ -761,66 +863,66 @@ function insertButtonsInTab(tab_name, panel_name, panel_buttons, custom_context)
|
||||
button_code = '<a class="'+str_class.join(' ')+'" style="padding-left:0px; margin-right: 20px">'+text+'</a>';
|
||||
break;
|
||||
case "main":
|
||||
context = $("#"+custom_id+"main_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"main_buttons", buttons_row);
|
||||
text = button.text;
|
||||
str_class.push("secondary", "button", "small", "radius");
|
||||
button_code = '<button class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</button>';
|
||||
break;
|
||||
case "vmsplay_buttons":
|
||||
context = $("#"+custom_id+"vmsplay_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"vmsplay_buttons", buttons_row);
|
||||
text = button.text;
|
||||
str_class.push("secondary", "button", "small", "radius");
|
||||
button_code = '<button class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</button>';
|
||||
break;
|
||||
case "vmspause_buttons":
|
||||
context = $("#"+custom_id+"vmspause_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"vmspause_buttons", buttons_row);
|
||||
text = button.text;
|
||||
button_code = '<li><a class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</a></li>';
|
||||
break;
|
||||
case "vmsstop_buttons":
|
||||
context = $("#"+custom_id+"vmsstop_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"vmsstop_buttons", buttons_row);
|
||||
text = button.text;
|
||||
button_code = '<li><a class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</a></li>';
|
||||
break;
|
||||
case "vmsrepeat_buttons":
|
||||
context = $("#"+custom_id+"vmsrepeat_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"vmsrepeat_buttons", buttons_row);
|
||||
text = button.text;
|
||||
button_code = '<li><a class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</a></li>';
|
||||
break;
|
||||
case "vmsdelete_buttons":
|
||||
context = $("#"+custom_id+"vmsdelete_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"vmsdelete_buttons", buttons_row);
|
||||
text = button.text;
|
||||
button_code = '<li><a class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</a></li>';
|
||||
break;
|
||||
case "vmsplanification_buttons":
|
||||
context = $("#"+custom_id+"vmsplanification_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"vmsplanification_buttons", buttons_row);
|
||||
text = button.text;
|
||||
button_code = '<li><a class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</a></li>';
|
||||
break;
|
||||
case "more_select":
|
||||
context = $("#"+custom_id+"more_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"more_buttons", buttons_row);
|
||||
text = button.text;
|
||||
button_code = '<li><a class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</a></li>';
|
||||
break;
|
||||
case "user_select":
|
||||
context = $("#"+custom_id+"user_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"user_buttons", buttons_row);
|
||||
text = button.text;
|
||||
button_code = '<li><a class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</a></li>';
|
||||
break;
|
||||
case "del":
|
||||
context = $("#"+custom_id+"delete_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"delete_buttons", buttons_row);
|
||||
text = '<i class=" fa fa-trash-o"/> ';
|
||||
str_class.push("alert", "button", "small", "radius");
|
||||
button_code = '<button class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</button>';
|
||||
break;
|
||||
default:
|
||||
context = $("#"+custom_id+"main_buttons", buttons_row);
|
||||
button_context = $("#"+custom_id+"main_buttons", buttons_row);
|
||||
text = button.text;
|
||||
str_class.push("secondary", "button", "small", "radius");
|
||||
button_code = '<button class="'+str_class.join(' ')+'" href="'+button_name+'">'+text+'</button>';
|
||||
}
|
||||
|
||||
context.append(button_code);
|
||||
button_context.append(button_code);
|
||||
}//for each button in tab
|
||||
//$('.top_button',action_block).button();
|
||||
//$('.top_button',action_block).addClass("secondary small button")
|
||||
@ -864,6 +966,20 @@ function insertButtonsInTab(tab_name, panel_name, panel_buttons, custom_context)
|
||||
$('.create_dialog_button',action_block).attr('disabled', false);
|
||||
$('.alwaysActive',action_block).attr('disabled', false);
|
||||
|
||||
$('#'+custom_id+'reset_button', action_block).on("click", function(){
|
||||
var form_name = $(".right-form", context).attr("form_name");
|
||||
Sunstone.popUpFormPanel(form_name, tab_name, null, true)
|
||||
|
||||
return false;
|
||||
})
|
||||
|
||||
$('#'+custom_id+'submit_button', action_block).on("click", function(){
|
||||
var form_name = $(".right-form", context).attr("form_name");
|
||||
Sunstone.submitFormPanel(form_name, tab_name);
|
||||
|
||||
return false;
|
||||
})
|
||||
|
||||
$(document).foundation();
|
||||
}//if tab exists
|
||||
}
|
||||
@ -4275,18 +4391,39 @@ function hideDialog(){
|
||||
function popDialog(content, context){
|
||||
$(".right-info", context).html(content);
|
||||
context.foundation();
|
||||
//innerLayout.open("south");
|
||||
}
|
||||
|
||||
function popDialogLoading(context){
|
||||
$(".right-list", context).hide();
|
||||
$(".right-form", context).hide();
|
||||
$(".right-info", context).show();
|
||||
$(".only-right-list", context).hide();
|
||||
$(".only-right-form", context).hide();
|
||||
$(".only-right-info", context).show();
|
||||
var loading = '<div style="margin-top:'+Math.round($("#dialog").height()/6)+'px; text-align: center; width: 100%"><img src="images/pbar.gif" alt="loading..." /></div>';
|
||||
popDialog(loading, context);
|
||||
}
|
||||
|
||||
function popFormDialog(form_name, context){
|
||||
//$(".right-form", context).html(content);
|
||||
$(".loadingForm", context).hide();
|
||||
$(".tabs-contentForm", context).show();
|
||||
$(".right-form", context).attr("form_name", form_name)
|
||||
context.foundation();
|
||||
}
|
||||
|
||||
function popFormDialogLoading(context){
|
||||
$(".right-list", context).hide();
|
||||
$(".right-info", context).hide();
|
||||
$(".right-form", context).show();
|
||||
$(".only-right-list", context).hide();
|
||||
$(".only-right-info", context).hide();
|
||||
$(".only-right-form", context).show();
|
||||
|
||||
$(".tabs-contentForm", context).hide();
|
||||
$(".loadingForm", context).show();
|
||||
}
|
||||
|
||||
function showTab(tabname,highlight_tab){
|
||||
//Since menu items no longer have an <a> element
|
||||
//we no longer expect #tab_id here, but simply tab_id
|
||||
@ -4333,10 +4470,12 @@ function showTab(tabname,highlight_tab){
|
||||
//show tab
|
||||
$(".tab").hide();
|
||||
tab.show();
|
||||
$(".right-list", tab).show();
|
||||
$(".right-info", tab).hide();
|
||||
$(".only-right-list", tab).show();
|
||||
$(".right-form", tab).hide();
|
||||
$(".right-list", tab).show();
|
||||
$(".only-right-info", tab).hide();
|
||||
$(".only-right-form", tab).hide();
|
||||
$(".only-right-list", tab).show();
|
||||
|
||||
recountCheckboxes($(".dataTable", tab).first());
|
||||
|
||||
|
@ -228,7 +228,7 @@ input.search {
|
||||
}
|
||||
|
||||
.header-title {
|
||||
margin-bottom: 40px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
// action block
|
||||
@ -255,6 +255,9 @@ select {
|
||||
|
||||
.button.secondary {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
@ -940,3 +943,4 @@ hr {
|
||||
.tooltip {
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
|
@ -109,7 +109,7 @@
|
||||
<div id="footer" class="text-center large-10 columns right">
|
||||
<a href="http://opennebula.org" target="_blank">OpenNebula 4.8.0</a> by <a href="http://c12g.com" target="_blank">C12G Labs</a>.
|
||||
</div>
|
||||
<div class="large-12 columns" id="dialogs"></div>
|
||||
<div class="large-12 columns hidden" id="dialogs"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
x
Reference in New Issue
Block a user