]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - include/MySugar/javascript/MySugar.js
Release 6.5.0
[Github/sugarcrm.git] / include / MySugar / javascript / MySugar.js
1 /*********************************************************************************
2  * SugarCRM Community Edition is a customer relationship management program developed by
3  * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc.
4  *
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU Affero General Public License version 3 as published by the
7  * Free Software Foundation with the addition of the following permission added
8  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
9  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
10  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
11  *
12  * This program is distributed in the hope that it will be useful, but WITHOUT
13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
15  * details.
16  *
17  * You should have received a copy of the GNU Affero General Public License along with
18  * this program; if not, see http://www.gnu.org/licenses or write to the Free
19  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20  * 02110-1301 USA.
21  *
22  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
23  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
24  *
25  * The interactive user interfaces in modified source and object code versions
26  * of this program must display Appropriate Legal Notices, as required under
27  * Section 5 of the GNU Affero General Public License version 3.
28  *
29  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
30  * these Appropriate Legal Notices must retain the display of the "Powered by
31  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
32  * technical reasons, the Appropriate Legal Notices must display the words
33  * "Powered by SugarCRM".
34  ********************************************************************************/
35 initMySugar=function(){SUGAR.mySugar=function(){var originalLayout=null;var configureDashletId=null;var currentDashlet=null;var leftColumnInnerHTML=null;var leftColObj=null;var maxCount;var warningLang;var closeDashletsDialogTimer=null;var activeTab=activePage;var current_user=current_user_id;var module=moduleName;var charts=new Object();if(module=='Dashboard'){cookiePageIndex=current_user+"_activeDashboardPage";}
36 else{cookiePageIndex=current_user+"_activePage";}
37 var homepage_dd;return{getLayout:function(asString){columns=new Array();for(je=0;je<3;je++){dashlets=document.getElementById('col_'+activeTab+'_'+je);if(dashlets!=null){dashletIds=new Array();for(wp=0;wp<dashlets.childNodes.length;wp++){if(typeof dashlets.childNodes[wp].id!='undefined'&&dashlets.childNodes[wp].id.match(/dashlet_[\w-]*/)){dashletIds.push(dashlets.childNodes[wp].id.replace(/dashlet_/,''));}}
38 if(asString)
39 columns[je]=dashletIds.join(',');else
40 columns[je]=dashletIds;}}
41 if(asString)return columns.join('|');else return columns;},onDrag:function(e,id){originalLayout=SUGAR.mySugar.getLayout(true);},onDrop:function(e,id){newLayout=SUGAR.mySugar.getLayout(true);if(originalLayout!=newLayout){SUGAR.mySugar.saveLayout(newLayout);SUGAR.mySugar.sugarCharts.loadSugarCharts();}},saveLayout:function(order){ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_SAVING_LAYOUT'));var success=function(data){ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_SAVED_LAYOUT'));window.setTimeout('ajaxStatus.hideStatus()',2000);}
42 url='index.php?to_pdf=1&module='+module+'&action=DynamicAction&DynamicAction=saveLayout&layout='+order+'&selectedPage='+activeTab;var cObj=YAHOO.util.Connect.asyncRequest('GET',url,{success:success,failure:success});},uncoverPage:function(id){if(!SUGAR.isIE){document.getElementById('dlg_c').style.display='none';}
43 configureDlg.hide();if(document.getElementById('dashletType')==null){dashletType='';}else{dashletType=document.getElementById('dashletType').value;}
44 SUGAR.mySugar.retrieveDashlet(SUGAR.mySugar.configureDashletId,dashletType);},configureDashlet:function(id){ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_LOADING'));configureDlg=new YAHOO.widget.SimpleDialog("dlg",{visible:false,width:"510",effect:[{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.5}],fixedcenter:true,modal:true,draggable:false});fillInConfigureDiv=function(data){ajaxStatus.hideStatus();try{eval(data.responseText);}
45 catch(e){result=new Array();result['header']='error';result['body']='There was an error handling this request.';}
46 configureDlg.setHeader(result['header']);configureDlg.setBody(result['body']);var listeners=new YAHOO.util.KeyListener(document,{keys:27},{fn:function(){this.hide();},scope:configureDlg,correctScope:true});configureDlg.cfg.queueProperty("keylisteners",listeners);configureDlg.render(document.body);configureDlg.show();configureDlg.configFixedCenter(null,false);SUGAR.util.evalScript(result['body']);}
47 SUGAR.mySugar.configureDashletId=id;var cObj=YAHOO.util.Connect.asyncRequest('GET','index.php?to_pdf=1&module='+module+'&action=DynamicAction&DynamicAction=configureDashlet&id='+id,{success:fillInConfigureDiv,failure:fillInConfigureDiv},null);},retrieveDashlet:function(id,url,callback,dynamic){ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_LOADING'));if(!url){url='index.php?action=DynamicAction&DynamicAction=displayDashlet&session_commit=1&module='+module+'&to_pdf=1&id='+id;is_chart_dashlet=false;}
48 else if(url=='predefined_chart'){url='index.php?action=DynamicAction&DynamicAction=displayDashlet&session_commit=1&module='+module+'&to_pdf=1&id='+id;scriptUrl='index.php?action=DynamicAction&DynamicAction=getPredefinedChartScript&session_commit=1&module='+module+'&to_pdf=1&id='+id;is_chart_dashlet=true;}
49 if(dynamic){url+='&dynamic=true';}
50 var fillInDashlet=function(data){ajaxStatus.hideStatus();if(data){current_dashlet_id=SUGAR.mySugar.currentDashlet.getAttribute('id');dashlet_guid=current_dashlet_id.substr('dashlet_entire'.length);if(data.responseText.indexOf(dashlet_guid)<0&&data.responseText!=SUGAR.language.get('app_strings','LBL_RELOAD_PAGE')){return false;}
51 SUGAR.mySugar.currentDashlet.innerHTML=data.responseText;}
52 SUGAR.util.evalScript(data.responseText);if(callback)callback();var processChartScript=function(scriptData){SUGAR.util.evalScript(scriptData.responseText);SUGAR.mySugar.sugarCharts.loadSugarCharts(activePage);}
53 if(typeof(is_chart_dashlet)=='undefined'){is_chart_dashlet=false;}
54 if(is_chart_dashlet){var chartScriptObj=YAHOO.util.Connect.asyncRequest('GET',scriptUrl,{success:processChartScript,failure:processChartScript},null);}}
55 SUGAR.mySugar.currentDashlet=document.getElementById('dashlet_entire_'+id);var cObj=YAHOO.util.Connect.asyncRequest('GET',url,{success:fillInDashlet,failure:fillInDashlet},null);return false;},setChooser:function(){var displayColumnsDef=new Array();var hideTabsDef=new Array();var left_td=document.getElementById('display_tabs_td');var right_td=document.getElementById('hide_tabs_td');var displayTabs=left_td.getElementsByTagName('select')[0];var hideTabs=right_td.getElementsByTagName('select')[0];for(i=0;i<displayTabs.options.length;i++){displayColumnsDef.push(displayTabs.options[i].value);}
56 if(typeof hideTabs!='undefined'){for(i=0;i<hideTabs.options.length;i++){hideTabsDef.push(hideTabs.options[i].value);}}
57 document.getElementById('displayColumnsDef').value=displayColumnsDef.join('|');document.getElementById('hideTabsDef').value=hideTabsDef.join('|');},deleteDashlet:function(id){if(confirm(SUGAR.language.get('app_strings','LBL_REMOVE_DASHLET_CONFIRM'))){ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_REMOVING_DASHLET'));del=function(){var success=function(data){dashlet=document.getElementById('dashlet_'+id);dashlet.parentNode.removeChild(dashlet);ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_REMOVED_DASHLET'));window.setTimeout('ajaxStatus.hideStatus()',2000);}
58 var cObj=YAHOO.util.Connect.asyncRequest('GET','index.php?to_pdf=1&module='+module+'&action=DynamicAction&DynamicAction=deleteDashlet&activePage='+activeTab+'&id='+id,{success:success,failure:success},null);}
59 var anim=new YAHOO.util.Anim('dashlet_entire_'+id,{height:{to:1}},.5);anim.onComplete.subscribe(del);document.getElementById('dashlet_entire_'+id).style.overflow='hidden';anim.animate();return false;}
60 return false;},addDashlet:function(id,type,type_module){ajaxStatus.hideStatus();columns=SUGAR.mySugar.getLayout();var num_dashlets=columns[0].length;if(typeof columns[1]==undefined){num_dashlets=num_dashlets+columns[1].length;}
61 if((num_dashlets)>=SUGAR.mySugar.maxCount){alert(SUGAR.language.get('app_strings','LBL_MAX_DASHLETS_REACHED'));return;}
62 ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_ADDING_DASHLET'));var success=function(data){colZero=document.getElementById('col_'+activeTab+'_0');newDashlet=document.createElement('li');newDashlet.id='dashlet_'+data.responseText;newDashlet.className='noBullet active';newDashlet.innerHTML='<div style="position: absolute; top: -1000px; overflow: hidden;" id="dashlet_entire_'+data.responseText+'"></div>';colZero.insertBefore(newDashlet,colZero.firstChild);var finishRetrieve=function(){dashletEntire=document.getElementById('dashlet_entire_'+data.responseText);dd=new ygDDList('dashlet_'+data.responseText);dd.setHandleElId('dashlet_header_'+data.responseText);dd.dashletID=data.responseText;dd.onMouseDown=SUGAR.mySugar.onDrag;dd.onDragDrop=SUGAR.mySugar.onDrop;ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_ADDED_DASHLET'));dashletRegion=YAHOO.util.Dom.getRegion(dashletEntire);dashletEntire.style.position='relative';dashletEntire.style.height='1px';dashletEntire.style.top='0px';dashletEntire.className='dashletPanel';var anim=new YAHOO.util.Anim('dashlet_entire_'+data.responseText,{height:{to:dashletRegion.bottom-dashletRegion.top}},.5);anim.onComplete.subscribe(function(){document.getElementById('dashlet_entire_'+data.responseText).style.height='100%';});anim.animate();newLayout=SUGAR.mySugar.getLayout(true);SUGAR.mySugar.saveLayout(newLayout);}
63 if(type=='module'||type=='web'){url=null;type='module';}
64 else if(type=='predefined_chart'){url='predefined_chart';type='predefined_chart';}
65 else if(type=='chart'){url='chart';type='chart';}
66 SUGAR.mySugar.retrieveDashlet(data.responseText,url,finishRetrieve,true);}
67 var cObj=YAHOO.util.Connect.asyncRequest('GET','index.php?to_pdf=1&module='+module+'&action=DynamicAction&DynamicAction=addDashlet&activeTab='+activeTab+'&id='+id+'&type='+type+'&type_module='+encodeURIComponent(type_module),{success:success,failure:success},null);return false;},showDashletsDialog:function(){columns=SUGAR.mySugar.getLayout();if(this.closeDashletsDialogTimer!=null){window.clearTimeout(this.closeDashletsDialogTimer);}
68 var num_dashlets=0;var i=0;for(i=0;i<3;i++){if(typeof columns[i]!="undefined"){num_dashlets=num_dashlets+columns[i].length;}}
69 if((num_dashlets)>=SUGAR.mySugar.maxCount){alert(SUGAR.language.get('app_strings','LBL_MAX_DASHLETS_REACHED'));return;}
70 ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_LOADING'));var success=function(data){eval(data.responseText);dashletsListDiv=document.getElementById('dashletsList');dashletsListDiv.innerHTML=response['html'];document.getElementById('dashletsDialog_c').style.display='';SUGAR.mySugar.dashletsDialog.show();eval(response['script']);ajaxStatus.hideStatus();}
71 var cObj=YAHOO.util.Connect.asyncRequest('GET','index.php?to_pdf=true&module='+module+'&action=DynamicAction&DynamicAction=dashletsDialog',{success:success,failure:success});return false;},closeDashletsDialog:function(){SUGAR.mySugar.dashletsDialog.hide();if(this.closeDashletsDialogTimer!=null){window.clearTimeout(this.closeDashletsDialogTimer);}
72 this.closeDashletsDialogTimer=window.setTimeout("document.getElementById('dashletsDialog_c').style.display = 'none';",2000);},toggleDashletCategories:function(category){document.getElementById('search_string').value='';document.getElementById('searchResults').innerHTML='';var moduleTab=document.getElementById('moduleCategory');var moduleTabAnchor=document.getElementById('moduleCategoryAnchor');var moduleListDiv=document.getElementById('moduleDashlets');var chartTab=document.getElementById('chartCategory');var chartTabAnchor=document.getElementById('chartCategoryAnchor');var chartListDiv=document.getElementById('chartDashlets');var toolsTab=document.getElementById('toolsCategory');var toolsTabAnchor=document.getElementById('toolsCategoryAnchor');var toolsListDiv=document.getElementById('toolsDashlets');var webTab=document.getElementById('webCategory');var webTabAnchor=document.getElementById('webCategoryAnchor');var webListDiv=document.getElementById('webDashlets');switch(category){case'module':moduleTab.className='active';moduleTabAnchor.className='current';moduleListDiv.style.display='';chartTab.className='';chartTabAnchor.className='';chartListDiv.style.display='none';toolsTab.className='';toolsTabAnchor.className='';toolsListDiv.style.display='none';webTab.className='';webTabAnchor.className='';webListDiv.style.display='none';break;case'chart':moduleTab.className='';moduleTabAnchor.className='';moduleListDiv.style.display='none';chartTab.className='active';chartTabAnchor.className='current';chartListDiv.style.display='';toolsTab.className='';toolsTabAnchor.className='';toolsListDiv.style.display='none';webTab.className='';webTabAnchor.className='';webListDiv.style.display='none';break;case'tools':moduleTab.className='';moduleTabAnchor.className='';moduleListDiv.style.display='none';chartTab.className='';chartTabAnchor.className='';chartListDiv.style.display='none';toolsTab.className='active';toolsTabAnchor.className='current';toolsListDiv.style.display='';webTab.className='';webTabAnchor.className='';webListDiv.style.display='none';break;case'web':moduleTab.className='';moduleTabAnchor.className='';moduleListDiv.style.display='none';chartTab.className='';chartTabAnchor.className='';chartListDiv.style.display='none';toolsTab.className='';toolsTabAnchor.className='';toolsListDiv.style.display='none';webTab.className='active';webTabAnchor.className='current';webListDiv.style.display='';break;default:break;}
73 document.getElementById('search_category').value=category;},searchDashlets:function(searchStr,searchCategory){var moduleTab=document.getElementById('moduleCategory');var moduleTabAnchor=document.getElementById('moduleCategoryAnchor');var moduleListDiv=document.getElementById('moduleDashlets');var chartTab=document.getElementById('chartCategory');var chartTabAnchor=document.getElementById('chartCategoryAnchor');var chartListDiv=document.getElementById('chartDashlets');var toolsTab=document.getElementById('toolsCategory');var toolsTabAnchor=document.getElementById('toolsCategoryAnchor');var toolsListDiv=document.getElementById('toolsDashlets');if(moduleTab!=null&&chartTab!=null&&toolsTab!=null){moduleListDiv.style.display='none';chartListDiv.style.display='none';toolsListDiv.style.display='none';}
74 else{chartListDiv.style.display='none';}
75 var searchResultsDiv=document.getElementById('searchResults');searchResultsDiv.style.display='';var success=function(data){eval(data.responseText);searchResultsDiv.innerHTML=response['html'];}
76 var cObj=YAHOO.util.Connect.asyncRequest('GET','index.php?to_pdf=true&module='+module+'&action=DynamicAction&DynamicAction=searchDashlets&search='+searchStr+'&category='+searchCategory,{success:success,failure:success});return false;},collapseList:function(chartList){document.getElementById(chartList+'List').style.display='none';document.getElementById(chartList+'ExpCol').innerHTML='<a href="javascript:void(0)" onClick="javascript:SUGAR.mySugar.expandList(\''+chartList+'\');"><img border="0" src="'+SUGAR.themes.image_server+'index.php?entryPoint=getImage&themeName='+SUGAR.themes.theme_name+'&imageName=advanced_search.gif" align="absmiddle" />';},expandList:function(chartList){document.getElementById(chartList+'List').style.display='';document.getElementById(chartList+'ExpCol').innerHTML='<a href="javascript:void(0)" onClick="javascript:SUGAR.mySugar.collapseList(\''+chartList+'\');"><img border="0" src="'+SUGAR.themes.image_server+'index.php?entryPoint=getImage&themeName='+SUGAR.themes.theme_name+'&imageName=basic_search.gif" align="absmiddle" />';},collapseReportList:function(reportChartList){document.getElementById(reportChartList+'ReportsChartDashletsList').style.display='none';document.getElementById(reportChartList+'ExpCol').innerHTML='<a href="javascript:void(0)" onClick="javascript:SUGAR.mySugar.expandReportList(\''+reportChartList+'\');"><img border="0" src="'+SUGAR.themes.image_server+'index.php?entryPoint=getImage&themeName='+SUGAR.themes.theme_name+'&imageName=ProjectPlus.gif" align="absmiddle" />';},expandReportList:function(reportChartList){document.getElementById(reportChartList+'ReportsChartDashletsList').style.display='';document.getElementById(reportChartList+'ExpCol').innerHTML='<a href="javascript:void(0)" onClick="javascript:SUGAR.mySugar.collapseReportList(\''+reportChartList+'\');"><img border="0" src="'+SUGAR.themes.image_server+'index.php?entryPoint=getImage&themeName='+SUGAR.themes.theme_name+'&imageName=ProjectMinus.gif" align="absmiddle" />';},clearSearch:function(){document.getElementById('search_string').value='';var moduleTab=document.getElementById('moduleCategory');var moduleTabAnchor=document.getElementById('moduleCategoryAnchor');var moduleListDiv=document.getElementById('moduleDashlets');document.getElementById('searchResults').innerHTML='';if(moduleTab!=null){SUGAR.mySugar.toggleDashletCategories('module');}
77 else{document.getElementById('searchResults').style.display='none';document.getElementById('chartDashlets').style.display='';}},doneAddDashlets:function(){SUGAR.mySugar.dashletsDialog.hide();return false;},renderDashletsDialog:function(){var minHeight=120;var maxHeight=520;var minMargin=16;var pageHeight=document.documentElement.clientHeight;var height=Math.min(maxHeight,pageHeight-minMargin*2);height=Math.max(height,minHeight);SUGAR.mySugar.dashletsDialog=new YAHOO.widget.Dialog("dashletsDialog",{width:"480px",height:height+"px",fixedcenter:true,draggable:false,visible:false,modal:true,close:false});var listeners=new YAHOO.util.KeyListener(document,{keys:27},{fn:function(){SUGAR.mySugar.closeDashletsDialog();}});SUGAR.mySugar.dashletsDialog.cfg.queueProperty("keylisteners",listeners);document.getElementById('dashletsDialog').style.display='';SUGAR.mySugar.dashletsDialog.render();document.getElementById('dashletsDialog_c').style.display='none';}};}();};