diff options
| author | artem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-08-23 13:28:42 +0000 |
|---|---|---|
| committer | artem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2007-08-23 13:28:42 +0000 |
| commit | eb821e44cd74bcf26ec65976f495a6c6d2fdd486 (patch) | |
| tree | 57343feccd81333fd8751b5ae198da8a5623f2f7 /frontends/php/js | |
| parent | 674e399c0e58a78d3308df9e345419cf53008144 (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.js | 46 | ||||
| -rw-r--r-- | frontends/php/js/services.js | 341 |
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 |
