summaryrefslogtreecommitdiffstats
path: root/frontends/php/js
diff options
context:
space:
mode:
authorartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-08-23 13:28:42 +0000
committerartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2007-08-23 13:28:42 +0000
commiteb821e44cd74bcf26ec65976f495a6c6d2fdd486 (patch)
tree57343feccd81333fd8751b5ae198da8a5623f2f7 /frontends/php/js
parent674e399c0e58a78d3308df9e345419cf53008144 (diff)
- merged rev. 4596:4597 of branches/1.4.j/ (Artem) [improved some javascripts, minor changes]
git-svn-id: svn://svn.zabbix.com/trunk@4643 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/js')
-rw-r--r--frontends/php/js/common.js46
-rw-r--r--frontends/php/js/services.js341
2 files changed, 211 insertions, 176 deletions
diff --git a/frontends/php/js/common.js b/frontends/php/js/common.js
index 6a3aa2b1..3cffa7ac 100644
--- a/frontends/php/js/common.js
+++ b/frontends/php/js/common.js
@@ -19,10 +19,26 @@
var OP = window.opera?true:false;
var IE = ((!OP) && (document.all))?true:false;
+if (!Array.prototype.forEach)
+{
+ Array.prototype.forEach = function(fun /*, thisp*/)
+ {
+ var len = this.length;
+ if (typeof fun != "function")
+ throw new TypeError();
+
+ var thisp = arguments[1];
+ for (var i = 0; i < len; i++)
+ {
+ if (i in this)
+ fun.call(thisp, this[i], i, this);
+ }
+ };
+}
function SDI(msg)
{
- alert("DEBUG INFO: \n\r" + msg);
+ alert("DEBUG INFO: " + msg);
}
function close_window()
@@ -225,3 +241,31 @@ function resizeiframe(id){
}
iframe.style.height = (height)+'px';
}
+
+function openWinCentered(loc, winname, iwidth, iheight, params){
+ tp=Math.ceil((screen.height-iheight)/2);
+ lf=Math.ceil((screen.width-iwidth)/2);
+ if (params.length > 0){
+ params = ', ' + params;
+ }
+
+ var WinObjReferer = window.open(loc,winname,"width="+iwidth+",height="+iheight+",top="+tp+",left="+lf+params);
+ WinObjReferer.focus();
+}
+
+function isset(obj){
+ return (typeof(obj) != 'undefined');
+}
+
+function empty(obj){
+ if(isset(obj) && obj) return true;
+ return false;
+}
+
+function is_number(obj){
+ return (typeof(obj) == 'number');
+}
+
+function is_string(obj){
+ return (typeof(obj) == 'string');
+}
diff --git a/frontends/php/js/services.js b/frontends/php/js/services.js
index 6b42a8a2..2d5cbb64 100644
--- a/frontends/php/js/services.js
+++ b/frontends/php/js/services.js
@@ -1,176 +1,167 @@
-// JavaScript Document
-function call_menu(evnt,id,name){
- if(id != 0){
- show_popup_menu(evnt,
- [
- [name,null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}],
- ['Add Service',"javascript: openWinCentered('services_form.php?sform=1&parentid="+id+"&parentname="+name+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=yes');", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],
- ['Edit Service',"javascript: openWinCentered('services_form.php?sform=1&serviceid="+id+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=yes');",null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],
- ['Delete Service',"javascript: if(Confirm('Delete selected services?')){ openWinCentered('services_form.php?saction=1&delete=1&serviceid="+id+"','ServiceForm',400,300,'titlebar=no, resizable=yes, scrollbars=yes, dialog=yes');}",null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}]
- ],120);
- } else {
- show_popup_menu(evnt,
- [
- [name,null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}],
- ['Add Service',"javascript: openWinCentered('services_form.php?sform=1&parentid="+id+"&parentname="+name+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=yes');", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}]
- ],120);
- }
-return false;
-}
-
-function openWinCentered(loc, winname, iwidth, iheight, params){
- tp=Math.ceil((screen.height-iheight)/2);
- lf=Math.ceil((screen.width-iwidth)/2);
- if (params.length > 0){
- params = ', ' + params;
- }
-
- var WinObjReferer = window.open(loc,winname,"width="+iwidth+",height="+iheight+",top="+tp+",left="+lf+params);
- WinObjReferer.focus();
-}
-
-function services_showsla(sla){
-try{
- if(sla.checked){
- document.getElementById('SLA').style.display = 'none';
- } else {
- document.getElementById('SLA').style.display = (!IE || OP)?('table-row'):('block');
- }
-} catch(e){
- alert(e);
-}
-}
-
-function add_child_service(name,serviceid,trigger,triggerid){
-// alert(name+','+serviceid+','+trigger+','+triggerid);
- var tr = document.createElement('tr');
- tr.setAttribute('class','even_row');
-
- var td = document.createElement('td');
-
- var chkbx = document.createElement('input');
- chkbx.type = 'checkbox';
- chkbx.value = serviceid;
- chkbx.name = 'childs['+serviceid+'][serviceid]';
-
- var input = document.createElement('input');
- input.setAttribute('type','hidden');
- input.setAttribute('value',serviceid);
- input.setAttribute('name','childs['+serviceid+'][serviceid]');
-
- td.appendChild(chkbx);
- td.appendChild(input);
- tr.appendChild(td);
-
- var td = document.createElement('td');
-
- var url = document.createElement('a');
- url.setAttribute('href','services_form.php?sform=1&serviceid='+serviceid);
- url.setAttribute('class','action');
- url.appendChild(document.createTextNode(name));
-
- var input = document.createElement('input');
- input.setAttribute('type','hidden');
- input.setAttribute('value',name);
- input.setAttribute('name','childs['+serviceid+'][name]');
-
- td.appendChild(url);
- td.appendChild(input);
- tr.appendChild(td);
-
- var td = document.createElement('td');
-
- var chkbx = document.createElement('input');
- chkbx.type = 'checkbox';
- chkbx.value = '1';
- chkbx.name = 'childs['+serviceid+'][soft]';
-
- td.appendChild(chkbx);
- tr.appendChild(td);
-
- var td = document.createElement('td');
-
- var input = document.createElement('input');
- input.setAttribute('type','hidden');
- input.setAttribute('value',triggerid);
- input.setAttribute('name','childs['+serviceid+'][triggerid]');
-
- td.appendChild(document.createTextNode(trigger));
- td.appendChild(input);
- tr.appendChild(td);
-
- document.getElementById('service_childs').firstChild.appendChild(tr);
-}
-
-function check_childs(form_name, chkMain, chkName){
- var frmForm = document.forms[form_name];
- var value = frmForm.elements[chkName].checked;
-
- for (var i=0; i < frmForm.length; i++){
- if(frmForm.elements[i].type != 'checkbox') continue;
- if(frmForm.elements[i].disabled == true) continue;
-
- var splt = frmForm.elements[i].name.split('[');
- var name = splt[0];
- var serviceid = splt[1];
-
- if(chkName && chkName == name) continue;
- if(chkMain && chkMain != name) continue;
-
- if(frmForm.elements[i].name != chkMain+'['+serviceid+'[serviceid]') continue;
- frmForm.elements[i].checked = value;
- }
-}
-
-function remove_childs(form_name,rmvbyname,tag){
- tag = tag.toUpperCase();
- var frmForm = document.forms[form_name];
- for (var i=0; i < frmForm.length; i++){
- if(frmForm.elements[i].type != 'checkbox') continue;
- if(frmForm.elements[i].disabled == true) continue;
- if(frmForm.elements[i].checked != true) continue;
-
- var splt = frmForm.elements[i].name.split('[');
- var name = splt[0];
- var serviceid = splt[1];
-
- if(rmvbyname && rmvbyname != name) continue;
- if(frmForm.elements[i].name != rmvbyname+'['+serviceid+'[serviceid]') continue;
-
- remove_element(frmForm.elements[i],tag);
- i--;
- }
-}
-
-function remove_element(elmnt,tag){
- if(elmnt.nodeName == tag){
- elmnt.parentNode.removeChild(elmnt);
- } else if(elmnt.nodeType == 9){
- return;
- } else {
- remove_element(elmnt.parentNode,tag);
- }
-}
-
-
-function display_element(name){
- var elmnt = document.getElementById(name);
- if(typeof(elmnt) == 'undefined'){
- return;
- }else if(elmnt.offsetWidth == 0){
- elmnt.style.display = (!IE || OP)?("table-row"):('block');
- }else {
- elmnt.style.display = 'none';
- }
-}
-
-function closeform(){
- var msg="";
- try{
- msg = (IE)?(document.getElementsByTagName('p')[0].innerText):(document.getElementsByTagName('p')[0].textContent);
- } catch(e){
- alert(e);
- }
- opener.location.replace('services.php?msg='+encodeURI(msg));
- self.close();
+// JavaScript Document
+function call_menu(evnt,id,name){
+ if(id != 0){
+ show_popup_menu(evnt,
+ [
+ [name,null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}],
+ ['Add Service',"javascript: openWinCentered('services_form.php?sform=1&parentid="+id+"&parentname="+name+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=no');", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],
+ ['Edit Service',"javascript: openWinCentered('services_form.php?sform=1&serviceid="+id+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=no');",null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}],
+ ['Delete Service',"javascript: if(Confirm('Delete selected services?')){ openWinCentered('services_form.php?saction=1&delete=1&serviceid="+id+"','ServiceForm',400,300,'titlebar=no, resizable=yes, scrollbars=yes, dialog=no');}",null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}]
+ ],120);
+ } else {
+ show_popup_menu(evnt,
+ [
+ [name,null,null,{'outer' : ['pum_oheader'],'inner' : ['pum_iheader']}],
+ ['Add Service',"javascript: openWinCentered('services_form.php?sform=1&parentid="+id+"&parentname="+name+"','ServiceForm',760,540,'titlebar=no, resizable=yes, scrollbars=yes, dialog=no');", null,{'outer' : ['pum_o_item'],'inner' : ['pum_i_item']}]
+ ],120);
+ }
+return false;
+}
+
+function services_showsla(sla){
+try{
+ if(sla.checked){
+ document.getElementById('SLA').style.display = 'none';
+ } else {
+ document.getElementById('SLA').style.display = (!IE || OP)?('table-row'):('block');
+ }
+} catch(e){
+ alert(e);
+}
+}
+
+function add_child_service(name,serviceid,trigger,triggerid){
+// alert(name+','+serviceid+','+trigger+','+triggerid);
+ var tr = document.createElement('tr');
+ document.getElementById('service_childs').firstChild.appendChild(tr);
+
+ var classattr = (IE)?'className':'class';
+
+ tr.setAttribute(classattr,'even_row');
+
+ var td = document.createElement('td');
+
+ var chkbx = document.createElement('input');
+ chkbx.type = 'checkbox';
+ chkbx.value = serviceid;
+ chkbx.name = 'childs['+serviceid+'][serviceid]';
+
+ var input = document.createElement('input');
+ input.setAttribute('type','hidden');
+ input.setAttribute('value',serviceid);
+ input.setAttribute('name','childs['+serviceid+'][serviceid]');
+
+ td.appendChild(chkbx);
+ td.appendChild(input);
+ tr.appendChild(td);
+
+ var td = document.createElement('td');
+
+ var url = document.createElement('a');
+ url.setAttribute('href','services_form.php?sform=1&serviceid='+serviceid);
+ url.setAttribute(classattr,'action');
+ url.appendChild(document.createTextNode(name));
+
+ var input = document.createElement('input');
+ input.setAttribute('type','hidden');
+ input.setAttribute('value',name);
+ input.setAttribute('name','childs['+serviceid+'][name]');
+
+ td.appendChild(url);
+ td.appendChild(input);
+ tr.appendChild(td);
+
+ var td = document.createElement('td');
+
+ var chkbx = document.createElement('input');
+ chkbx.type = 'checkbox';
+ chkbx.value = '1';
+ chkbx.name = 'childs['+serviceid+'][soft]';
+
+ td.appendChild(chkbx);
+ tr.appendChild(td);
+
+ var td = document.createElement('td');
+
+ var input = document.createElement('input');
+ input.setAttribute('type','hidden');
+ input.setAttribute('value',triggerid);
+ input.setAttribute('name','childs['+serviceid+'][triggerid]');
+
+ td.appendChild(document.createTextNode(trigger));
+ td.appendChild(input);
+ tr.appendChild(td);
+}
+
+function check_childs(form_name, chkMain, chkName){
+ var frmForm = document.forms[form_name];
+ var value = frmForm.elements[chkName].checked;
+
+ for (var i=0; i < frmForm.length; i++){
+ if(frmForm.elements[i].type != 'checkbox') continue;
+ if(frmForm.elements[i].disabled == true) continue;
+
+ var splt = frmForm.elements[i].name.split('[');
+ var name = splt[0];
+ var serviceid = splt[1];
+
+ if(chkName && chkName == name) continue;
+ if(chkMain && chkMain != name) continue;
+
+ if(frmForm.elements[i].name != chkMain+'['+serviceid+'[serviceid]') continue;
+ frmForm.elements[i].checked = value;
+ }
+}
+
+function remove_childs(form_name,rmvbyname,tag){
+ tag = tag.toUpperCase();
+ var frmForm = document.forms[form_name];
+ for (var i=0; i < frmForm.length; i++){
+ if(frmForm.elements[i].type != 'checkbox') continue;
+ if(frmForm.elements[i].disabled == true) continue;
+ if(frmForm.elements[i].checked != true) continue;
+
+ var splt = frmForm.elements[i].name.split('[');
+ var name = splt[0];
+ var serviceid = splt[1];
+
+ if(rmvbyname && rmvbyname != name) continue;
+ if(frmForm.elements[i].name != rmvbyname+'['+serviceid+'[serviceid]') continue;
+
+ remove_element(frmForm.elements[i],tag);
+ i--;
+ }
+}
+
+function remove_element(elmnt,tag){
+ if(elmnt.nodeName == tag){
+ elmnt.parentNode.removeChild(elmnt);
+ } else if(elmnt.nodeType == 9){
+ return;
+ } else {
+ remove_element(elmnt.parentNode,tag);
+ }
+}
+
+
+function display_element(name){
+ var elmnt = document.getElementById(name);
+ if(typeof(elmnt) == 'undefined'){
+ return;
+ }else if(elmnt.offsetWidth == 0){
+ elmnt.style.display = (!IE || OP)?("table-row"):('block');
+ }else {
+ elmnt.style.display = 'none';
+ }
+}
+
+function closeform(page){
+ var msg="";
+ try{
+ msg = (IE)?(document.getElementsByTagName('p')[0].innerText):(document.getElementsByTagName('p')[0].textContent);
+ } catch(e){
+ alert(e);
+ }
+ opener.location.replace('services.php?msg='+encodeURI(msg));
+ self.close();
} \ No newline at end of file