From mboxrd@z Thu Jan 1 00:00:00 1970 From: rmccabe@sourceware.org Date: 5 Jan 2007 23:26:12 -0000 Subject: [Cluster-devel] conga/luci/cluster fence_device.js form-macros Message-ID: <20070105232612.9282.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: conga Changes by: rmccabe at sourceware.org 2007-01-05 23:26:11 Modified files: luci/cluster : fence_device.js form-macros Log message: per-node fencing updates (related to bz212021) Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/fence_device.js.diff?cvsroot=cluster&r1=1.2&r2=1.3 http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.140&r2=1.141 --- conga/luci/cluster/fence_device.js 2006/12/01 14:56:53 1.2 +++ conga/luci/cluster/fence_device.js 2007/01/05 23:26:11 1.3 @@ -1,3 +1,14 @@ +function del_fence_instance(fi_div_id) { + delete_element_id(fi_div_id); +} + +function del_fence(fence_id) { + delete_element_id(fence_id); +} + +function add_fence_instance(fi_cont_id) { +} + function swap_fence_div(container_id, element_id) { var container_element = document.getElementById(container_id); if (!container_element) { @@ -25,14 +36,12 @@ var fence_id = fence_opt.value; var child_element = document.getElementById(fence_id); - if (container_element.firstChild) - container_element.removeChild(container_element.firstChild); - if (!child_element) return (-1); + if (container_element.firstChild) + container_element.removeChild(container_element.firstChild); var target = child_element.cloneNode(1); - target.id = null; var fence_type = fence_id; if (fence_opt.className.match(/shared_fencedev/)) { @@ -46,10 +55,40 @@ } } + var target_form = document.createElement('form'); + target_form.name = container_element.id; + target_form.appendChild(target); + container_element.appendChild(target_form); + var fi_form = document.getElementById(fence_type + '_instance'); - if (fi_form) - target.appendChild(fi_form.cloneNode(1)); - container_element.appendChild(target); + if (fi_form) { + var idiv = document.createElement('div'); + idiv.id = container_id + '_instances'; + idiv.name = idiv.id; + + var cloned_iform = fi_form.cloneNode(1); + cloned_iform.id = container_id + '_0'; + cloned_iform.name = cloned_iform.id; + cloned_iform.className = ''; + + var form_elem = document.createElement('form'); + form_elem.name = cloned_iform.id; + form_elem.appendChild(cloned_iform); + + idiv.appendChild(form_elem); + container_element.appendChild(idiv); + } + + var remove_div = document.createElement('div'); + remove_div.className = 'hbSubmit'; + var remove_button = document.createElement('input'); + remove_button.setAttribute('type', 'button'); + remove_button.setAttribute('value', 'Remove this fence device'); + remove_button.setAttribute('onclick', "del_fence('" + container_element.id + "');"); + var remove_form = document.createElement('form'); + remove_form.appendChild(remove_button); + remove_div.appendChild(remove_form); + container_element.appendChild(remove_div); } var num_fences_level = Array(0, 0) @@ -67,7 +106,7 @@ var div_elem = document.createElement('div'); if (!div_elem) return (-1); - var level_num_fences = num_fences_level[fence_level]; + var level_num_fences = num_fences_level[fence_level - 1]; div_elem.id = 'fence' + fence_level + '_' + level_num_fences; chooser_elem = chooser_elem.cloneNode(1); @@ -91,5 +130,45 @@ div_elem.appendChild(chooser_elem); container.appendChild(div_elem); - num_fences_level[fence_level]++; + num_fences_level[fence_level - 1]++; +} + +function validate_fence(master_form, container_id) { + var errors = new Array(); + var div_elem = document.getElementById(container_id); + if (!div_elem) + return (-1); + var form_xml = ''; + + var form = div_elem.getElementsByTagName('form'); + for (var i = 0 ; i < form.length ; i++) { + var input_elem = form[i].getElementsByTagName('input'); + var temp = ''; + for (var j = 0 ; j < input_elem.length ; j++) { + var res_type = input_elem[j].type; + if (res_type == 'hidden' || res_type == 'text' || + res_type == 'password') + { + temp += ''; + } else if (res_type == 'checkbox' || res_type == 'radio') { + if (input_elem[j].checked) + temp += ''; + } + + form_xml += '
' + temp + '
'; + } + + master_form.fence_xml.value = '' + form_xml + ''; + + if (confirm('Submit: ' + master_form.fence_xml.value)) + return; + //form.submit(); } --- conga/luci/cluster/form-macros 2007/01/04 00:19:48 1.140 +++ conga/luci/cluster/form-macros 2007/01/05 23:26:11 1.141 @@ -1166,6 +1166,7 @@
+ @@ -1182,6 +1183,7 @@
+ @@ -1249,15 +1251,6 @@ -
- - - - - -
- -
- - - - - -
- -
- - - - - -
- -
- - - - - -
- -
- - - - - -
- -
- - - - - -
- -
- - - - - -
- -
- - - - - -
- +
@@ -1930,15 +1861,6 @@ -
- - - - - -
- -
- - - - - -
- - - + +
+ + + + + + +
+ + + + @@ -2260,10 +2188,25 @@ tal:attributes="value cur_instance/pserver | nothing" /> - - + +
+ + + + + + +
+ + + + @@ -2277,10 +2220,25 @@ tal:attributes="value cur_instance/port | nothing" /> - - + +
+ + + + + + +
+ + + + @@ -2294,10 +2252,25 @@ tal:attributes="value cur_instance/port | nothing" /> - - + +
+ + + + + + +
+ + + + @@ -2311,10 +2284,25 @@ tal:attributes="value cur_instance/port | nothing" /> - - + +
+ + + + + + +
+ + + + @@ -2328,10 +2316,25 @@ tal:attributes="value cur_instance/port | nothing" /> - - + +
+ + + + + + +
+ + + + @@ -2345,10 +2348,25 @@ tal:attributes="value cur_instance/port | nothing" /> - - + +
+ + + + + + +
+ + + + @@ -2362,10 +2380,25 @@ tal:attributes="value cur_instance/ipaddress | nothing" /> - - + +
+ + + + + + +
+ + + + @@ -2379,10 +2412,25 @@ tal:attributes="value cur_instance/ipaddress | nothing" /> - - + +
+ + + + + + +
+ + + + @@ -2396,10 +2444,25 @@ tal:attributes="value cur_instance/domain | nothing" /> - - + +
+ + + + + + +
+ + + + @@ -2413,10 +2476,25 @@ tal:attributes="value cur_instance/domain | nothing" /> - - + +
+ + + + + + +
+ + + + @@ -2445,8 +2523,70 @@ metal:use-macro="here/form-macros/macros/fence-instance-form-bladecenter" /> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ '" />
+ onclick="add_node_fence_device(1)" />
+
+
+ + + +
@@ -2725,6 +2901,7 @@
+
@@ -3707,19 +3884,24 @@
- + +
+ +
+
+
+
+ + + -
-
-
- - - -
@@ -3740,7 +3922,7 @@ - + @@ -3843,34 +4025,47 @@

Fence Device Form

-
+
+ global cur_fence_type nothing" /> - - + - + global cur_fence_type cur_fencedev/agent | nothing" /> + -
- - - - - - - -
- - - - - - +
+ + + + + + + +
+ +
+ + +
+ + + + +
+ +
+