cloudStack - merge UI change from 2.2.10 branch to master branch.

This commit is contained in:
Jessica Wang 2011-08-22 14:09:33 -07:00
parent 0b061529b1
commit 24edb0071d
27 changed files with 1934 additions and 1203 deletions

View File

@ -4,6 +4,11 @@
#Labels
network.rate=Network Rate
ICMP.type=ICMP Type
ICMP.code=ICMP Code
image.directory=Image Directory
label.action.create.template.from.vm=Create Template from VM

View File

@ -4,6 +4,9 @@
#Labels
ICMP.type=Tipo ICMP
ICMP.code=ICMP Código
image.directory=Directorio de la imagen
label.action.create.template.from.vm=Crear plantilla de VM

View File

@ -4,6 +4,9 @@
#Labels
ICMP.type=ICMPタイプ
ICMP.code=ICMPコード
image.directory=画像ディレクトリ
label.action.create.template.from.vm=VMからのテンプレートを作成する

View File

@ -4,6 +4,9 @@
#Labels
ICMP.type=ICMP类型
ICMP.code=ICMP代码
image.directory=图片目录
label.action.create.template.from.vm=创建虚拟机模板

View File

@ -111,8 +111,18 @@ dictionary = {
<div class="row_celltitles" id="state">
</div>
</div>
</div>
</div>
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.host.tags"/>:</div>
</div>
<div class="grid_row_cell" style="width: 79%;">
<div class="row_celltitles" id="hosttags">
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.type"/>:</div>
@ -122,7 +132,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.zone"/>:</div>
@ -132,7 +142,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.pod"/>:</div>
@ -142,7 +152,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.cluster"/>:</div>
@ -152,7 +162,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.ip.address"/>:</div>
@ -162,7 +172,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.version"/>:</div>
@ -172,7 +182,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.os.preference"/>:</div>
@ -182,7 +192,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.last.disconnected"/>:</div>

View File

@ -32,8 +32,10 @@ dictionary = {
</p>
</div>
<div class="tabbox" style="margin-top: 15px;">
<div class="content_tabs on" id="tab_details">
<fmt:message key="label.details"/></div>
<div class="content_tabs on" id="tab_details" style="display: none">
<fmt:message key="label.details"/></div>
<div class="content_tabs off" id="tab_firewall" style="display: none">
<fmt:message key="label.firewall"/></div>
<div class="content_tabs off" id="tab_port_range" style="display: none">
<fmt:message key="label.port.range"/></div>
<div class="content_tabs off" id="tab_port_forwarding" style="display: none">
@ -43,7 +45,9 @@ dictionary = {
<div class="content_tabs off" id="tab_vpn" style="display: none">
<fmt:message key="label.vpn"/></div>
</div>
<div id="tab_content_details">
<!-- Details starts here-->
<div id="tab_content_details" style="display: none">
<div id="tab_spinning_wheel" class="rightpanel_mainloader_panel" style="display: none;">
<div class="rightpanel_mainloaderbox">
<div class="rightpanel_mainloader_animatedicon">
@ -215,6 +219,86 @@ dictionary = {
</div>
</div>
<!-- Details ends here-->
<!-- Firewall start here-->
<div id="tab_content_firewall" style="display:none">
<div id="tab_spinning_wheel" class="rightpanel_mainloader_panel" style="display: none;">
<div class="rightpanel_mainloaderbox">
<div class="rightpanel_mainloader_animatedicon">
</div>
<p>
<fmt:message key="label.loading"/> &hellip;</p>
</div>
</div>
<div id="tab_container">
<div class="grid_container" id="grid_container">
<div class="grid_header">
<div class="grid_header_cell" style="padding:1px; width: 30%; ">
<div class="grid_header_title">
<fmt:message key="label.cidr.list"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 15%; ">
<div class="grid_header_title">
<fmt:message key="label.protocol"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 10%; ">
<div class="grid_header_title">
<fmt:message key="label.start.port"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 10%; ">
<div class="grid_header_title">
<fmt:message key="label.end.port"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 10%; ">
<div class="grid_header_title">
<fmt:message key="ICMP.type"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 10%; ">
<div class="grid_header_title">
<fmt:message key="ICMP.code"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 10%; ">
<div class="grid_header_title">
<fmt:message key="label.actions"/></div>
</div>
</div>
<div class="grid_rows even" id="create_firewall_row">
<div class="grid_row_cell" style="padding:1px; width: 30%; ">
<input id="cidr" class="text" type="text" />
<div id="cidr_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 15%; ">
<select class="select" id="protocol" style="width:70%;">
</select>
</div>
<div class="grid_row_cell" style="padding:1px; width: 10%; ">
<input id="start_port" class="text" style="width: 70%;" type="text" />
<div id="start_port_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 10%; ">
<input id="end_port" class="text" style="width: 70%;" type="text" />
<div id="end_port_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 10%; ">
<input id="ICMP_type" class="text" style="width: 70%;" type="text" />
<div id="ICMP_type_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 10%; ">
<input id="ICMP_code" class="text" style="width: 70%;" type="text" />
<div id="ICMP_code_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 10%; ">
<div class="row_celltitles">
<a id="add_link" href="#"><fmt:message key="label.add"/></a></div>
</div>
</div>
<div id="grid_content">
</div>
</div>
</div>
</div>
<!-- Firewall ends here-->
<!-- Port Range start here-->
<div id="tab_content_port_range" style="display:none">
<div id="tab_spinning_wheel" class="rightpanel_mainloader_panel" style="display: none;">
@ -252,18 +336,18 @@ dictionary = {
<div class="grid_rows even" id="create_port_range_row">
<div class="grid_row_cell" style="width: 15%; ">
<input id="start_port" class="text" style="width: 70%;" type="text" />
<div id="start_port_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
<div id="start_port_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="width: 15%; ">
<input id="end_port" class="text" style="width: 70%;" type="text" />
<div id="end_port_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
<div id="end_port_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="width: 15%; ">
<select class="select" id="protocol" style="width:70%;">
</select>
</div>
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles" id="state"></div>
<div class="row_celltitles" id="state" style="padding:1px;"></div>
</div>
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles">
@ -288,11 +372,7 @@ dictionary = {
</div>
<div id="tab_container">
<div class="grid_container" id="grid_container">
<div class="grid_header">
<div class="grid_header_cell" style="width: 25%; ">
<div class="grid_header_title">
<fmt:message key="label.cidr.list"/></div>
</div>
<div class="grid_header">
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<fmt:message key="label.public.port"/></div>
@ -305,55 +385,51 @@ dictionary = {
<div class="grid_header_title">
<fmt:message key="label.protocol"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; border: none;">
<div class="grid_header_cell" style="width: 30%; border: none;">
<div class="grid_header_title">
<fmt:message key="label.instance"/></div>
</div>
<div class="grid_header_cell" style="width: 5%; ">
<div class="grid_header_cell" style="width: 10%; ">
<div class="grid_header_title">
<fmt:message key="label.state"/></div>
</div>
<div class="grid_header_cell" style="width: 10%; ">
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<fmt:message key="label.actions"/></div>
</div>
</div>
<div class="grid_rows even" id="create_port_forwarding_row">
<div class="grid_row_cell" style="width: 25%; ">
<input id="cidr" class="text" type="text" />
<div id="cidr_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
</div>
<div class="grid_rows even" id="create_port_forwarding_row">
<div class="grid_row_cell" style="width: 15%; ">
<input id="public_port" class="text" style="width: 30%; " type="text" />
<div id="public_port_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
<div id="public_port_errormsg" class="errormsg" style="display: none;"></div>
<span style="float:left;padding-left:10px"> - </span>
<input id="public_end_port" class="text" style="width: 30%; " type="text" />
<div id="public_end_port_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
<div id="public_end_port_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="width: 15%;">
<input id="private_port" class="text" style="width: 30%; " type="text" />
<div id="private_port_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
<div id="private_port_errormsg" class="errormsg" style="display: none;"></div>
<span style="float:left;padding-left:10px"> - </span>
<input id="private_end_port" class="text" style="width: 30%; " type="text" />
<div id="private_end_port_errormsg" class="errormsg" style="display: none;">Error msg will appear here</div>
<div id="private_end_port_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="width: 10%; ">
<select class="select" id="protocol" style="width:70%;">
</select>
</div>
<div class="grid_row_cell" style="width: 15%; ">
<div class="grid_row_cell" style="width: 30%; ">
<select class="select" id="vm">
</select>
<div id="vm_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="width: 5%; ">
<div class="grid_row_cell" style="width: 10%; ">
<div class="row_celltitles" id="state" style="padding:1px;"></div>
</div>
<div class="grid_row_cell" style="width: 10%; ">
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles">
<a id="add_link" href="#"><fmt:message key="label.add"/></a></div>
</div>
@ -377,60 +453,56 @@ dictionary = {
<div id="tab_container">
<div class="grid_container">
<div class="grid_header">
<div class="grid_header_cell" style="width: 25%; ">
<div class="grid_header_title">
<fmt:message key="label.cidr.list"/></div>
</div>
<div class="grid_header_cell" style="width: 14%; ">
<div class="grid_header_title">
<fmt:message key="label.name"/></div>
</div>
<div class="grid_header_cell" style="width: 12%; ">
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<fmt:message key="label.public.port"/></div>
</div>
<div class="grid_header_cell" style="width: 12%; ">
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<fmt:message key="label.private.port"/></div>
</div>
<div class="grid_header_cell" style="width: 12%; ">
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<fmt:message key="label.algorithm"/></div>
</div>
<div class="grid_header_cell" style="width: 6%; ">
<div class="grid_header_cell" style="width: 10%; ">
<div class="grid_header_title">
<fmt:message key="label.state"/></div>
</div>
<div class="grid_header_cell" style="width: 17%; ">
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<fmt:message key="label.actions"/></div>
</div>
</div>
<div class="grid_rows even" id="create_load_balancer_row">
<div class="grid_row_cell" style="width: 25%; ">
<input id="cidr" class="text" type="text" />
<div id="cidr_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="width: 14%; ">
<div class="grid_rows even" id="create_load_balancer_row">
<div class="grid_row_cell" style="width: 25%; ">
<input id="name" class="text" style="width: 70%; " type="text" />
<div id="name_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="width: 12%;">
<div class="grid_row_cell" style="width: 15%;">
<input id="public_port" class="text" style="width: 70%; " type="text" />
<div id="public_port_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="width: 12%;">
<div class="grid_row_cell" style="width: 15%;">
<input id="private_port" class="text" style="width: 70%; " type="text" />
<div id="private_port_errormsg" class="errormsg" style="display: none;"></div>
</div>
<div class="grid_row_cell" style="width: 12%;">
<select id="algorithm_select" class="select" style="width: 70%;">
<div class="grid_row_cell" style="width: 15%;">
<select id="algorithm_select" class="select" style="width: 70%;">
<option value='roundrobin'>roundrobin</option>
<option value='leastconn'>leastconn</option>
<option value='source'>source</option>
</select>
</div>
<div class="grid_row_cell" style="width: 6%;">
<div class="grid_row_cell" style="width: 10%;">
<div class="row_celltitles" style="padding:1px;"></div>
</div>
<div class="grid_row_cell" style="width: 17%; ">
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles">
<a id="add_link" href="#"><fmt:message key="label.add"/></a></div>
</div>
@ -494,32 +566,76 @@ dictionary = {
<fmt:message key="label.acquire.new.ip"/>
</div>
</div>
</div>
<div class="actionpanel_button_wrapper" id="add_load_balancer_and_ip_button" style="display:none;">
<div class="actionpanel_button">
<div class="actionpanel_button_icons">
<img src="images/addvm_actionicon.png" /></div>
<div class="actionpanel_button_links">
<fmt:message key="label.add.load.balancer"/>
</div>
</div>
</div>
</div>
<!-- top buttons (end) -->
<!-- Firewall template (begin) -->
<div class="grid_rows odd" id="firewall_template" style="display: none">
<div id="row_container">
<div class="grid_row_cell" style="padding:1px; width: 30%; ">
<div class="row_celltitles" id="cidr"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 15%; ">
<div class="row_celltitles" id="protocol"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 10%; ">
<div class="row_celltitles" id="start_port"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 10%; ">
<div class="row_celltitles" id="end_port"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 10%; ">
<div class="row_celltitles" id="ICMP_type"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 10%; ">
<div class="row_celltitles" id="ICMP_code"></div>
</div>
<div class="grid_row_cell" style="padding:1px; width: 10%; ">
<div class="row_celltitles">
<a id="delete_link" href="#" style="float:left;"><fmt:message key="label.delete"/> </a>
</div>
</div>
<div class="gridrow_loaderbox" style="display: none;" id="spinning_wheel">
<div class="gridrow_loader">
</div>
<p id="description">
<fmt:message key="label.waiting"/> &hellip;
</p>
</div>
</div>
</div>
<!-- Firewall template (end) -->
<!-- Load Balancer Template (begin) -->
<div class="grid_rows odd" id="load_balancer_template" style="display:none">
<div id="row_container">
<div class="grid_row_cell" style="width: 25%; ">
<div class="row_celltitles" id="cidr" style="padding:1px;"></div>
</div>
<div class="grid_row_cell" style="width: 14%; ">
<div class="row_celltitles" id="name"></div>
</div>
<div class="grid_row_cell" style="width: 12%; ">
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles" id="public_port"></div>
</div>
<div class="grid_row_cell" style="width: 12%; ">
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles" id="private_port"></div>
</div>
<div class="grid_row_cell" style="width: 12%; ">
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles" id="algorithm"></div>
</div>
<div class="grid_row_cell" style="width: 6%; ">
<div class="grid_row_cell" style="width: 10%; ">
<div class="row_celltitles" id="state" style="padding:1px;"></div>
</div>
<div class="grid_row_cell" style="width: 17%; ">
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles">
<a id="manage_link" href="#" style="float:left;"><fmt:message key="label.manage"/></a>
<a id="edit_link" href="#" style="float:left; margin-left:15px;"><fmt:message key="label.edit"/></a>
@ -548,8 +664,11 @@ dictionary = {
<div class="grid_row_cell" style="width: 12%; ">
<div class="row_celltitles" id="private_port"></div>
</div>
<div class="grid_row_cell" style="width: 12%; ">
<select id="algorithm_select" class="select" style="width: 70%;">
<div class="grid_row_cell" style="width: 15%; ">
<select id="algorithm_select" class="select" style="width: 70%;">
<option value='roundrobin'>roundrobin</option>
<option value='leastconn'>leastconn</option>
<option value='source'>source</option>
</select>
</div>
<div class="grid_row_cell" style="width: 6%; ">
@ -658,10 +777,7 @@ dictionary = {
<!-- Port Forwarding template (begin) -->
<div class="grid_rows odd" id="port_forwarding_template" style="display: none">
<div id="row_container">
<div class="grid_row_cell" style="width: 25%; ">
<div class="row_celltitles" id="cidr" style="padding:1px;"></div>
</div>
<div id="row_container">
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles" id="public_port"></div>
</div>
@ -671,13 +787,13 @@ dictionary = {
<div class="grid_row_cell" style="width: 10%; ">
<div class="row_celltitles" id="protocol"></div>
</div>
<div class="grid_row_cell" style="width: 15%; ">
<div class="grid_row_cell" style="width: 30%; ">
<div class="row_celltitles" id="vm_name"></div>
</div>
<div class="grid_row_cell" style="width: 5%; ">
<div class="grid_row_cell" style="width: 10%; ">
<div class="row_celltitles" id="state" style="padding:1px;"></div>
</div>
<div class="grid_row_cell" style="width: 10%; ">
<div class="grid_row_cell" style="width: 15%; ">
<div class="row_celltitles">
<a id="delete_link" href="#" style="float:left;"><fmt:message key="label.delete"/> </a>
</div>
@ -782,6 +898,45 @@ dictionary = {
</div>
</div>
<div id="dialog_add_load_balancer_and_ip" title='<fmt:message key="label.add.load.balancer"/>' style="display: none">
<div class="dialog_formcontent">
<form action="#" method="post" id="form1">
<ol>
<li>
<label>
<fmt:message key="label.zone"/>:</label>
<select class="select" name="acquire_zone" id="acquire_zone">
<option value="default"><fmt:message key="label.waiting"/>....</option>
</select>
</li>
<li>
<label><fmt:message key="label.name"/>:</label>
<input class="text" type="text" id="name"/>
<div id="name_errormsg" class="dialog_formcontent_errormsg" style="display:none;"></div>
</li>
<li>
<label><fmt:message key="label.public.port"/>:</label>
<input class="text" type="text" id="public_port"/>
<div id="public_port_errormsg" class="dialog_formcontent_errormsg" style="display:none;"></div>
</li>
<li>
<label><fmt:message key="label.private.port"/>:</label>
<input class="text" type="text" id="private_port"/>
<div id="private_port_errormsg" class="dialog_formcontent_errormsg" style="display:none;"></div>
</li>
<li>
<label><fmt:message key="label.algorithm"/>:</label>
<select class="select" id="algorithm_select">
<option value='roundrobin'>roundrobin</option>
<option value='leastconn'>leastconn</option>
<option value='source'>source</option>
</select>
</li>
</ol>
</form>
</div>
</div>
<!-- Create User for VPN (begin) -->
<div id="dialog_add_vpnuser" title="Add VPN User" style="display:none">
<p>

View File

@ -125,6 +125,16 @@ dictionary = {
</div>
</div>
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="network.rate"/>:</div>
</div>
<div class="grid_row_cell" style="width: 79%;">
<div class="row_celltitles" id="network_rate">
</div>
</div>
</div>
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.offer.ha"/>:</div>
@ -135,7 +145,7 @@ dictionary = {
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.CPU.cap"/>:</div>
@ -146,7 +156,7 @@ dictionary = {
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.storage.tags"/>:</div>
@ -157,7 +167,7 @@ dictionary = {
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.host.tags"/>:</div>
@ -168,7 +178,7 @@ dictionary = {
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.domain"/>:</div>
@ -181,7 +191,7 @@ dictionary = {
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.created"/>:</div>
@ -221,12 +231,12 @@ dictionary = {
<form action="#" method="post" id="form_acquire">
<ol>
<li>
<label for="user_name"><fmt:message key="label.name"/>:</label>
<label><fmt:message key="label.name"/>:</label>
<input class="text" type="text" name="add_service_name" id="add_service_name"/>
<div id="add_service_name_errormsg" class="dialog_formcontent_errormsg" style="display:none;" ></div>
</li>
<li>
<label for="user_name"><fmt:message key="label.display.text"/>:</label>
<label><fmt:message key="label.display.text"/>:</label>
<input class="text" type="text" name="add_service_display" id="add_service_display"/>
<div id="add_service_display_errormsg" class="dialog_formcontent_errormsg" style="display:none;" ></div>
</li>
@ -238,20 +248,25 @@ dictionary = {
</select>
</li>
<li>
<label for="user_name"><fmt:message key="label.num.cpu.cores"/>:</label>
<label><fmt:message key="label.num.cpu.cores"/>:</label>
<input class="text" type="text" name="add_service_cpucore" id="add_service_cpucore"/>
<div id="add_service_cpucore_errormsg" class="dialog_formcontent_errormsg" style="display:none;" ></div>
</li>
<li>
<label for="user_name"><fmt:message key="label.cpu.mhz"/>:</label>
<label><fmt:message key="label.cpu.mhz"/>:</label>
<input class="text" type="text" name="add_service_cpu" id="add_service_cpu"/>
<div id="add_service_cpu_errormsg" class="dialog_formcontent_errormsg" style="display:none;" ></div>
</li>
<li>
<label for="user_name"><fmt:message key="label.memory.mb"/>:</label>
<label><fmt:message key="label.memory.mb"/>:</label>
<input class="text" type="text" name="add_service_memory" id="add_service_memory"/>
<div id="add_service_memory_errormsg" class="dialog_formcontent_errormsg" style="display:none;" ></div>
</li>
</li>
<li>
<label><fmt:message key="network.rate"/>:</label>
<input class="text" type="text" id="network_rate"/>
<div id="network_rate_errormsg" class="dialog_formcontent_errormsg" style="display:none;" ></div>
</li>
<li id="add_service_offerha_container">
<label><fmt:message key="label.offer.ha"/>:</label>
<select class="select" id="add_service_offerha">

View File

@ -384,7 +384,7 @@ function accountJsonToDetailsTab() {
accountClearDetailsTab();
return;
}
$.ajax({
data: createURL("command=listAccounts&id="+jsonObj.id),
dataType: "json",
@ -614,14 +614,12 @@ var accountActionMap = {
asyncJobResponse: "deleteaccountresponse",
dialogBeforeActionFn : doDeleteAccount,
inProcessText: "label.action.delete.account.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
accountClearRightPanel();
}
});
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
accountClearRightPanel();
}
}
}
};

View File

@ -94,10 +94,12 @@ function clusterBuildActionMenu(jsonObj) {
else if(jsonObj.allocationstate == "Enabled")
buildActionLinkForTab("label.action.disable.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab);
/*
if(jsonObj.managedstate == "Managed")
buildActionLinkForTab("label.action.unmanage.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab);
else //PrepareUnmanaged , PrepareUnmanagedError, Unmanaged
buildActionLinkForTab("label.action.manage.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab);
*/
buildActionLinkForTab("label.action.delete.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab);
}
@ -171,13 +173,11 @@ var clusterActionMap = {
dialogBeforeActionFn : doDeleteCluster,
inProcessText: "label.action.delete.cluster.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
clusterClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
clusterClearRightPanel();
}
}
}
}

View File

@ -376,13 +376,11 @@ var diskOfferingActionMap = {
dialogBeforeActionFn : doDeleteDiskOffering,
inProcessText: "label.action.delete.disk.offering.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
diskOfferingClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
diskOfferingClearRightPanel();
}
}
}
}

View File

@ -717,13 +717,11 @@ var domainActionMap = {
asyncJobResponse: "deletedomainresponse",
inProcessText: "label.action.delete.domain.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp(function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
domainJsonClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
domainJsonClearRightPanel();
}
}
}
}

View File

@ -127,8 +127,9 @@ function hostJsonToDetailsTab() {
$thisTab.find("#id").text(fromdb(jsonObj.id));
$thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
$thisTab.find("#name").text(fromdb(jsonObj.name));
$thisTab.find("#name").text(fromdb(jsonObj.name));
$thisTab.find("#hosttags").text(fromdb(jsonObj.hosttags));
setHostStateInRightPanel(fromdb(jsonObj.state), $thisTab.find("#state"));
@ -585,13 +586,11 @@ var hostActionMap = {
dialogBeforeActionFn: doRemoveHost,
inProcessText: "label.action.remove.host.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
hostClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
hostClearRightPanel();
}
}
},
"label.action.update.OS.preference": {

View File

@ -208,9 +208,13 @@ $(document).ready(function() {
bindAndListMidMenuItems($("#leftmenu_event"), "listEvents", eventGetSearchParams, "listeventsresponse", "event", "jsp/event.jsp", afterLoadEventJSP, eventToMidmenu, eventToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_volume"), "listVolumes", volumeGetSearchParams, "listvolumesresponse", "volume", "jsp/volume.jsp", afterLoadVolumeJSP, volumeToMidmenu, volumeToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_snapshot"), "listSnapshots", snapshotGetSearchParams, "listsnapshotsresponse", "snapshot", "jsp/snapshot.jsp", afterLoadSnapshotJSP, snapshotToMidmenu, snapshotToRightPanel, getMidmenuId, false);
//bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false); //remove "&forvirtualnetwork=true" for advanced zone whose security group is enabled
if(g_supportELB == "guest") //ips are allocated on guest network
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=false&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
else if(g_supportELB == "public") //ips are allocated on public network
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=true&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
else
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false); //remove "&forvirtualnetwork=true" for advanced zone whose security group is enabled
bindAndListMidMenuItems($("#leftmenu_security_group"), "listSecurityGroups", securityGroupGetSearchParams, "listsecuritygroupsresponse", "securitygroup", "jsp/securitygroup.jsp", afterLoadSecurityGroupJSP, securityGroupToMidmenu, securityGroupToRightPanel, getMidmenuId, false);
@ -591,6 +595,8 @@ $(document).ready(function() {
g_domainid = null;
g_timezoneoffset = null;
g_timezone = null;
g_supportELB = null;
g_firewallRuleUiEnabled = null;
$.cookie('JSESSIONID', null);
$.cookie('sessionKey', null);
@ -601,6 +607,8 @@ $(document).ready(function() {
$.cookie('networktype', null);
$.cookie('timezoneoffset', null);
$.cookie('timezone', null);
$.cookie('supportELB', null);
$.cookie('firewallRuleUiEnabled', null);
$("body").stopTime();
@ -687,20 +695,30 @@ $(document).ready(function() {
$.cookie('domainid', g_domainid, { expires: 1});
$.cookie('role', g_role, { expires: 1});
$.cookie('timezoneoffset', g_timezoneoffset, { expires: 1});
$.cookie('timezone', g_timezone, { expires: 1});
$.cookie('timezone', g_timezone, { expires: 1});
$.ajax({
data: createURL("command=listCapabilities"),
dataType: "json",
async: false,
success: function(json) {
success: function(json) {
/* g_supportELB: "guest" ips are allocated on guest network (so use 'forvirtualnetwork' = false)
* g_supportELB: "public" - ips are allocated on public network (so use 'forvirtualnetwork' = true)
* g_supportELB: "false" no ELB support
*/
g_supportELB = json.listcapabilitiesresponse.capability.supportELB.toString(); //convert boolean to string if it's boolean
$.cookie('supportELB', g_supportELB, { expires: 1});
g_firewallRuleUiEnabled = json.listcapabilitiesresponse.capability.firewallRuleUiEnabled.toString(); //convert boolean to string if it's boolean
$.cookie('firewallRuleUiEnabled', g_firewallRuleUiEnabled, { expires: 1});
if (json.listcapabilitiesresponse.capability.userpublictemplateenabled != null) {
g_userPublicTemplateEnabled = ""+json.listcapabilitiesresponse.capability.userpublictemplateenabled;
g_userPublicTemplateEnabled = json.listcapabilitiesresponse.capability.userpublictemplateenabled.toString(); //convert boolean to string if it's boolean
$.cookie('userpublictemplateenabled', g_userPublicTemplateEnabled, { expires: 1});
}
if (json.listcapabilitiesresponse.capability.securitygroupsenabled != null) {
g_directAttachSecurityGroupsEnabled = ""+json.listcapabilitiesresponse.capability.securitygroupsenabled;
g_directAttachSecurityGroupsEnabled = json.listcapabilitiesresponse.capability.securitygroupsenabled.toString(); //convert boolean to string if it's boolean
$.cookie('directattachsecuritygroupsenabled', g_directAttachSecurityGroupsEnabled, { expires: 1});
}
@ -765,17 +783,17 @@ $(document).ready(function() {
g_domainid = $.cookie("domainid");
g_timezone = $.cookie("timezone");
g_directAttachSecurityGroupsEnabled = $.cookie("directattachsecuritygroupsenabled");
g_userPublicTemplateEnabled = $.cookie("userpublictemplateenabled");
g_userPublicTemplateEnabled = $.cookie("userpublictemplateenabled");
if($.cookie("timezoneoffset") != null)
g_timezoneoffset = isNaN($.cookie("timezoneoffset"))?null: parseFloat($.cookie("timezoneoffset"));
else
g_timezoneoffset = null;
if (!g_directAttachSecurityGroupsEnabled || g_directAttachSecurityGroupsEnabled.length == 0)
if (g_directAttachSecurityGroupsEnabled == null || g_directAttachSecurityGroupsEnabled.length == 0)
g_directAttachSecurityGroupsEnabled = "false";
if (!g_userPublicTemplateEnabled || g_userPublicTemplateEnabled.length == 0)
if (g_userPublicTemplateEnabled == null || g_userPublicTemplateEnabled.length == 0)
g_userPublicTemplateEnabled = "true";
} else {
g_mySession = $.cookie('JSESSIONID');
@ -787,21 +805,37 @@ $(document).ready(function() {
g_timezone = g_loginResponse.timezone;
g_timezoneoffset = g_loginResponse.timezoneoffset;
}
if(g_supportELB == null)
g_supportELB = $.cookie("supportELB");
if(g_firewallRuleUiEnabled == null)
g_firewallRuleUiEnabled = $.cookie("firewallRuleUiEnabled");
$.ajax({
data: createURL("command=listCapabilities"),
dataType: "json",
async: false,
success: function(json) {
if (json.listcapabilitiesresponse.capability.userpublictemplateenabled != null) {
g_userPublicTemplateEnabled = ""+json.listcapabilitiesresponse.capability.userpublictemplateenabled;
$.cookie('userpublictemplateenabled', g_userPublicTemplateEnabled, { expires: 1});
}
if (json.listcapabilitiesresponse.capability.securitygroupsenabled != null) {
g_directAttachSecurityGroupsEnabled = ""+json.listcapabilitiesresponse.capability.securitygroupsenabled;
$.cookie('directattachsecuritygroupsenabled', g_directAttachSecurityGroupsEnabled, { expires: 1});
}
success: function(json) {
/* g_supportELB: "guest" ips are allocated on guest network (so use 'forvirtualnetwork' = false)
* g_supportELB: "public" - ips are allocated on public network (so use 'forvirtualnetwork' = true)
* g_supportELB: "false" no ELB support
*/
g_supportELB = json.listcapabilitiesresponse.capability.supportELB.toString(); //convert boolean to string if it's boolean
$.cookie('supportELB', g_supportELB, { expires: 1});
g_firewallRuleUiEnabled = json.listcapabilitiesresponse.capability.firewallRuleUiEnabled.toString(); //convert boolean to string if it's boolean
$.cookie('firewallRuleUiEnabled', g_firewallRuleUiEnabled, { expires: 1});
if (json.listcapabilitiesresponse.capability.userpublictemplateenabled != null) {
g_userPublicTemplateEnabled = json.listcapabilitiesresponse.capability.userpublictemplateenabled.toString(); //convert boolean to string if it's boolean
$.cookie('userpublictemplateenabled', g_userPublicTemplateEnabled, { expires: 1});
}
if (json.listcapabilitiesresponse.capability.securitygroupsenabled != null) {
g_directAttachSecurityGroupsEnabled = json.listcapabilitiesresponse.capability.securitygroupsenabled.toString(); //convert boolean to string if it's boolean
$.cookie('directattachsecuritygroupsenabled', g_directAttachSecurityGroupsEnabled, { expires: 1});
}
buildSecondLevelNavigation();
$("#main_username").text(g_username);

View File

@ -1960,7 +1960,10 @@ function vmBuildActionMenu(jsonObj, $thisTab, $midmenuItem1) {
buildActionLinkForTab("label.action.stop.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
buildActionLinkForTab("label.action.reboot.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
buildActionLinkForTab("label.action.destroy.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
if (isAdmin() && (jsonObj.rootdevicetype == 'NetworkFilesystem' || jsonObj.rootdevicetype == 'IscsiLUN' || jsonObj.rootdevicetype == 'PreSetup') && jsonObj.hypervisor == 'XenServer') {
if (isAdmin()
&& (jsonObj.rootdevicetype == 'NetworkFilesystem' || jsonObj.rootdevicetype == 'IscsiLUN' || jsonObj.rootdevicetype == 'PreSetup')
&& (jsonObj.hypervisor == 'XenServer' || jsonObj.hypervisor == 'VMware'))
{
buildActionLinkForTab("label.action.migrate.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
}
@ -2202,33 +2205,21 @@ function vmJsonToStatisticsTab() {
}
var $thisTab = $("#right_panel_content #tab_content_statistics");
/*
var $barChartContainer = $thisTab.find("#cpu_barchart");
var cpuNumber = ((jsonObj.cpunumber==null)? "":jsonObj.cpunumber.toString());
$barChartContainer.find("#cpunumber").text(cpuNumber);
var cpuSpeed = ((jsonObj.cpuspeed==null)? "":convertHz(jsonObj.cpuspeed)) ;
$barChartContainer.find("#cpuspeed").text(cpuSpeed);
$barChartContainer.find("#bar_chart").removeClass().addClass("db_barbox").css("width", "0%");
$barChartContainer.find("#percentused").text("");
if(jsonObj.cpuused!=null)
drawBarChart($barChartContainer, jsonObj.cpuused);
*/
$thisTab.find("#cpunumber").text(fromdb(jsonObj.cpunumber));
$thisTab.find("#cpuspeed").text(convertHz(jsonObj.cpuspeed));
$thisTab.find("#percentused").text(jsonObj.cpuused);
var networkKbsRead = ((jsonObj.networkkbsread==null)? "":convertBytes(jsonObj.networkkbsread * 1024));
$thisTab.find("#networkkbsread").text(networkKbsRead);
var networkKbsWrite = ((jsonObj.networkkbswrite==null)? "":convertBytes(jsonObj.networkkbswrite * 1024));
$thisTab.find("#networkkbswrite").text(networkKbsWrite);
if(jsonObj.networkkbsread == null || jsonObj.networkkbsread == 0)
$thisTab.find("#networkkbsread").text("N/A");
else
$thisTab.find("#networkkbsread").text(convertBytes(jsonObj.networkkbsread * 1024));
if(jsonObj.networkkbswrite == null || jsonObj.networkkbswrite == 0)
$thisTab.find("#networkkbswrite").text("N/A");
else
$thisTab.find("#networkkbswrite").text(convertBytes(jsonObj.networkkbswrite * 1024));
}
function vmJsonClearStatisticsTab() {

File diff suppressed because it is too large Load Diff

View File

@ -1318,7 +1318,7 @@ function listMidMenuItems(commandString, getSearchParamsFn, jsonResponse1, jsonR
}
function bindAndListMidMenuItems($leftmenu, commandString, getSearchParamsFn, jsonResponse1, jsonResponse2, rightPanelJSP, afterLoadRightPanelJSPFn, toMidmenuFn, toRightPanelFn, getMidmenuIdFn, isMultipleSelectionInMidMenu) {
$leftmenu.bind("click", function(event) {
$leftmenu.unbind().bind("click", function(event) {
selectLeftSubMenu($(this));
listMidMenuItems(commandString, getSearchParamsFn, jsonResponse1, jsonResponse2, rightPanelJSP, afterLoadRightPanelJSPFn, toMidmenuFn, toRightPanelFn, getMidmenuIdFn, isMultipleSelectionInMidMenu, $(this).attr("id"), null);
return false;
@ -1526,12 +1526,14 @@ var g_domainid = null;
var g_enableLogging = false;
var g_timezoneoffset = null;
var g_timezone = null;
var g_supportELB = null;
var g_firewallRuleUiEnabled = null; //true or false
// capabilities
var g_directAttachSecurityGroupsEnabled = "false";
function getDirectAttachSecurityGroupsEnabled() { return g_directAttachSecurityGroupsEnabled; }
var g_userPublicTemplateEnabled = "true"
var g_userPublicTemplateEnabled = "true";
function getUserPublicTemplateEnabled() { return g_userPublicTemplateEnabled; }
//keyboard keycode

View File

@ -1519,13 +1519,11 @@ var directNetworkActionMap = {
dialogBeforeActionFn : doDeleteDirectNetwork,
inProcessText: "label.action.delete.network.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#direct_network_page").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
directNetworkClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#direct_network_page").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
directNetworkClearRightPanel();
}
}
}
}

View File

@ -350,6 +350,8 @@ function podClearDetailsTab() {
$thisTab.find("#gateway").text("");
$thisTab.find("#gateway_edit").val("");
$thisTab.find("#allocationstate").text("");
}
function getIpRange(startip, endip) {
@ -1159,13 +1161,11 @@ var podActionMap = {
dialogBeforeActionFn : doDeletePod,
inProcessText: "label.action.delete.pod.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
podClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
podClearRightPanel();
}
}
}
}

View File

@ -278,13 +278,11 @@ var primarystorageActionMap = {
dialogBeforeActionFn: doDeletePrimaryStorage,
inProcessText: "label.action.delete.primary.storage.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
primarystorageClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
primarystorageClearRightPanel();
}
}
}
}

View File

@ -1472,6 +1472,27 @@ function addZoneWizardSubmit($thisWizard) {
listZonesUpdate();
g_directAttachSecurityGroupsEnabled = true;
$("#leftmenu_security_group_container").show();
$.ajax({
data: createURL("command=listCapabilities"),
dataType: "json",
async: false,
success: function(json) {
/* g_supportELB: guest ips are allocated on guest network (so use 'forvirtualnetwork' = false)
* g_supportELB: public - ips are allocated on public network (so use 'forvirtualnetwork' = true)
* g_supportELB: false no ELB support
*/
g_supportELB = json.listcapabilitiesresponse.capability.supportELB;
$.cookie('supportELB', g_supportELB, { expires: 1});
if(g_supportELB == "guest") //ips are allocated on guest network
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=false&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
else if(g_supportELB == "public") //ips are allocated on public network
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=true&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
else
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false); //remove "&forvirtualnetwork=true" for advanced zone whose security group is enabled
}
});
},
error: function(XMLHttpResponse) {
handleError(XMLHttpResponse, function() {

View File

@ -168,13 +168,11 @@ var secondaryStorageActionMap = {
dialogBeforeActionFn: doDeleteSecondaryStorage,
inProcessText: "label.action.delete.secondary.storage.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
secondaryStorageClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
secondaryStorageClearRightPanel();
}
}
}
}

View File

@ -588,13 +588,11 @@ var securityGroupActionMap = {
dialogBeforeActionFn : doDeleteSecurityGroup,
inProcessText: "Deleting Security Group....",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
securityGroupClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
securityGroupClearRightPanel();
}
}
}
}

View File

@ -82,6 +82,7 @@ function initAddServiceOfferingDialog() {
$dialogAddService.find("#add_service_cpucore").val("");
$dialogAddService.find("#add_service_cpu").val("");
$dialogAddService.find("#add_service_memory").val("");
$dialogAddService.find("#network_rate").val("");
$dialogAddService.find("#add_service_offerha").val("false");
$dialogAddService
@ -96,10 +97,11 @@ function initAddServiceOfferingDialog() {
isValid &= validateInteger("# of CPU Core", $thisDialog.find("#add_service_cpucore"), $thisDialog.find("#add_service_cpucore_errormsg"), 1, 1000);
isValid &= validateInteger("CPU", $thisDialog.find("#add_service_cpu"), $thisDialog.find("#add_service_cpu_errormsg"), 100, 100000);
isValid &= validateInteger("Memory", $thisDialog.find("#add_service_memory"), $thisDialog.find("#add_service_memory_errormsg"), 64, 1000000);
isValid &= validateInteger("Network Rate", $thisDialog.find("#network_rate"), $thisDialog.find("#network_rate_errormsg"), null, null, true); //optional
isValid &= validateString("Tags", $thisDialog.find("#add_service_tags"), $thisDialog.find("#add_service_tags_errormsg"), true); //optional
if($thisDialog.find("#domain_container").css("display") != "none") {
isValid &= validateString("Domain", $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), false); //required
isValid &= validateString("Domain", $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), false); //required
var domainName = $thisDialog.find("#domain").val();
var domainId;
if(domainName != null && domainName.length > 0) {
@ -143,6 +145,10 @@ function initAddServiceOfferingDialog() {
var memory = $thisDialog.find("#add_service_memory").val();
array1.push("&memory="+memory);
var networkRate = $thisDialog.find("#network_rate").val();
if(networkRate != null && networkRate.length > 0)
array1.push("&networkrate="+networkRate);
var offerha = $thisDialog.find("#add_service_offerha").val();
array1.push("&offerha="+offerha);
@ -325,7 +331,8 @@ function serviceOfferingJsonToDetailsTab() {
$thisTab.find("#storagetype").text(fromdb(jsonObj.storagetype));
$thisTab.find("#cpu").text(jsonObj.cpunumber + " x " + convertHz(jsonObj.cpuspeed));
$thisTab.find("#memory").text(convertBytes(parseInt(jsonObj.memory)*1024*1024));
$thisTab.find("#memory").text(convertBytes(parseInt(jsonObj.memory)*1024*1024));
$thisTab.find("#network_rate").text(fromdb(jsonObj.networkrate));
setBooleanReadField(jsonObj.offerha, $thisTab.find("#offerha"));
setBooleanEditField(jsonObj.offerha, $thisTab.find("#offerha_edit"));
@ -391,13 +398,11 @@ var serviceOfferingActionMap = {
dialogBeforeActionFn : doDeleteServiceOffering,
inProcessText: "label.action.delete.service.offering.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
serviceOfferingClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
serviceOfferingClearRightPanel();
}
}
}
}

View File

@ -198,7 +198,8 @@ function snapshotClearDetailsTab() {
var $thisTab = $("#right_panel_content #tab_content_details");
$thisTab.find("#id").text("");
$thisTab.find("#name").text("");
$thisTab.find("#volume_name").text("");
$thisTab.find("#volume_name").text("");
$thisTab.find("#state").text("");
$thisTab.find("#interval_type").text("");
$thisTab.find("#account").text("");
$thisTab.find("#domain").text("");
@ -220,13 +221,11 @@ var snapshotActionMap = {
dialogBeforeActionFn : doSnapshotDelete,
inProcessText: "label.action.delete.snapshot.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id){
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
snapshotClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
snapshotClearRightPanel();
}
}
}
,

View File

@ -401,13 +401,11 @@ var systemServiceOfferingActionMap = {
dialogBeforeActionFn : doDeleteSystemServiceOffering,
inProcessText: "label.action.delete.service.offering.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
systemServiceOfferingClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
systemServiceOfferingClearRightPanel();
}
}
}
}

View File

@ -433,7 +433,7 @@ function volumeJsonToDetailsTab(){
$thisTab.find("#vm_name").text(getVmName(jsonObj.vmname, jsonObj.vmdisplayname) + " (" + fromdb(jsonObj.vmstate) + ")");
setDateField(jsonObj.created, $thisTab.find("#created"));
if(isAdmin() || isDomainAdmin()) {
if(isAdmin()) {
$thisTab.find("#storage").text(fromdb(jsonObj.storage));
$thisTab.find("#storage_container").show();
}
@ -449,7 +449,9 @@ function volumeJsonToDetailsTab(){
buildActionLinkForTab("label.action.take.snapshot", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab); //show take snapshot
buildActionLinkForTab("label.action.recurring.snapshot", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab); //show Recurring Snapshot
buildActionLinkForTab("label.action.download.volume", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab);
if(jsonObj.state != "Allocated")
buildActionLinkForTab("label.action.download.volume", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab);
if(jsonObj.state != "Creating" && jsonObj.state != "Corrupted" && jsonObj.name != "attaching") {
if(jsonObj.type=="ROOT") {
@ -601,13 +603,11 @@ var volumeActionMap = {
dialogBeforeActionFn : doDeleteVolume,
inProcessText: "label.action.delete.volume.processing",
afterActionSeccessFn: function(json, $midmenuItem1, id) {
$midmenuItem1.slideUp("slow", function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
volumeClearRightPanel();
}
});
$midmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
volumeClearRightPanel();
}
}
},
"label.action.take.snapshot": {

View File

@ -396,13 +396,11 @@ var zoneActionMap = {
dialogBeforeActionFn : doDeleteZone,
inProcessText: "label.action.delete.zone.processing",
afterActionSeccessFn: function(json, $leftmenuItem1, id) {
$leftmenuItem1.slideUp(function() {
$(this).remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
zoneJsonClearRightPanel();
}
});
$leftmenuItem1.remove();
if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
clearRightPanel();
zoneJsonClearRightPanel();
}
}
}
}