[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 /*+*********************************************************************************** 2 * The contents of this file are subject to the vtiger CRM Public License Version 1.0 3 * ("License"); You may not use this file except in compliance with the License 4 * The Original Code is: vtiger CRM Open Source 5 * The Initial Developer of the Original Code is vtiger. 6 * Portions created by vtiger are Copyright (C) vtiger. 7 * All Rights Reserved. 8 *************************************************************************************/ 9 10 Vtiger_Detail_Js("Campaigns_Detail_Js",{},{ 11 12 loadRelatedList : function(pageNumber){ 13 var relatedListInstance = new Campaigns_RelatedList_Js(this.getRecordId(), app.getModuleName(), this.getSelectedTab(), this.getRelatedModuleName()); 14 var params = {'page':pageNumber}; 15 this.clearSelectedRecords(); 16 relatedListInstance.loadRelatedList(params); 17 }, 18 19 /** 20 * Function to clear selected records 21 */ 22 clearSelectedRecords : function() { 23 jQuery('[name="selectedIds"]').data('selectedIds',""); 24 jQuery('[name="excludedIds"]').data('excludedIds',""); 25 }, 26 27 registerEventForRelatedListPagination : function(){ 28 var thisInstance = this; 29 var detailContentsHolder = this.getContentHolder(); 30 detailContentsHolder.on('click','#relatedListNextPageButton',function(e){ 31 var element = jQuery(e.currentTarget); 32 if(element.attr('disabled') == "disabled"){ 33 return; 34 } 35 var selectedTabElement = thisInstance.getSelectedTab(); 36 var relatedModuleName = thisInstance.getRelatedModuleName(); 37 var relatedController = new Campaigns_RelatedList_Js(thisInstance.getRecordId(), app.getModuleName(), selectedTabElement, relatedModuleName); 38 relatedController.nextPageHandler().then(function(data){ 39 var emailEnabledModule = jQuery(data).find('[name="emailEnabledModules"]').val(); 40 if(emailEnabledModule){ 41 thisInstance.registerEmailEnabledActions(); 42 } 43 }); 44 }); 45 detailContentsHolder.on('click','#relatedListPreviousPageButton',function(){ 46 var selectedTabElement = thisInstance.getSelectedTab(); 47 var relatedModuleName = thisInstance.getRelatedModuleName(); 48 var relatedController = new Campaigns_RelatedList_Js(thisInstance.getRecordId(), app.getModuleName(), selectedTabElement, relatedModuleName); 49 relatedController.previousPageHandler().then(function(data){ 50 var emailEnabledModule = jQuery(data).find('[name="emailEnabledModules"]').val(); 51 if(emailEnabledModule){ 52 thisInstance.registerEmailEnabledActions(); 53 } 54 }); 55 }); 56 detailContentsHolder.on('click','#relatedListPageJump',function(e){ 57 var selectedTabElement = thisInstance.getSelectedTab(); 58 var relatedModuleName = thisInstance.getRelatedModuleName(); 59 var relatedController = new Campaigns_RelatedList_Js(thisInstance.getRecordId(), app.getModuleName(), selectedTabElement, relatedModuleName); 60 relatedController.getRelatedPageCount(); 61 }); 62 detailContentsHolder.on('click','#relatedListPageJumpDropDown > li',function(e){ 63 e.stopImmediatePropagation(); 64 }).on('keypress','#pageToJump',function(e){ 65 var selectedTabElement = thisInstance.getSelectedTab(); 66 var relatedModuleName = thisInstance.getRelatedModuleName(); 67 var relatedController = new Campaigns_RelatedList_Js(thisInstance.getRecordId(), app.getModuleName(), selectedTabElement, relatedModuleName); 68 relatedController.pageJumpHandler(e).then(function(data){ 69 var emailEnabledModule = jQuery(data).find('[name="emailEnabledModules"]').val(); 70 if(emailEnabledModule){ 71 thisInstance.registerEmailEnabledActions(); 72 } 73 }); 74 }); 75 }, 76 77 /** 78 * Function to register Event for Sorting 79 */ 80 registerEventForRelatedList : function(){ 81 var thisInstance = this; 82 var detailContentsHolder = this.getContentHolder(); 83 detailContentsHolder.on('click','.relatedListHeaderValues',function(e){ 84 var element = jQuery(e.currentTarget); 85 var selectedTabElement = thisInstance.getSelectedTab(); 86 var relatedModuleName = thisInstance.getRelatedModuleName(); 87 var relatedController = new Campaigns_RelatedList_Js(thisInstance.getRecordId(), app.getModuleName(), selectedTabElement, relatedModuleName); 88 relatedController.sortHandler(element).then(function(data){ 89 var emailEnabledModule = jQuery(data).find('[name="emailEnabledModules"]').val(); 90 if(emailEnabledModule){ 91 thisInstance.registerEmailEnabledActions(); 92 } 93 }); 94 }); 95 96 detailContentsHolder.on('click', 'button.selectRelation', function(e){ 97 var selectedTabElement = thisInstance.getSelectedTab(); 98 var relatedModuleName = thisInstance.getRelatedModuleName(); 99 var relatedController = new Campaigns_RelatedList_Js(thisInstance.getRecordId(), app.getModuleName(), selectedTabElement, relatedModuleName); 100 relatedController.showSelectRelationPopup().then(function(data){ 101 var emailEnabledModule = jQuery(data).find('[name="emailEnabledModules"]').val(); 102 if(emailEnabledModule){ 103 thisInstance.registerEmailEnabledActions(); 104 } 105 }); 106 }); 107 108 detailContentsHolder.on('click', 'a.relationDelete', function(e){ 109 e.stopImmediatePropagation(); 110 var element = jQuery(e.currentTarget); 111 var instance = Vtiger_Detail_Js.getInstance(); 112 var key = instance.getDeleteMessageKey(); 113 var message = app.vtranslate(key); 114 Vtiger_Helper_Js.showConfirmationBox({'message' : message}).then( 115 function(e) { 116 var row = element.closest('tr'); 117 var relatedRecordid = row.data('id'); 118 var selectedTabElement = thisInstance.getSelectedTab(); 119 var relatedModuleName = thisInstance.getRelatedModuleName(); 120 var relatedController = new Campaigns_RelatedList_Js(thisInstance.getRecordId(), app.getModuleName(), selectedTabElement, relatedModuleName); 121 relatedController.deleteRelation([relatedRecordid]).then(function(response){ 122 relatedController.loadRelatedList().then(function(data){ 123 var emailEnabledModule = jQuery(data).find('[name="emailEnabledModules"]').val(); 124 var listInstance = Vtiger_List_Js.getInstance(); 125 var selectedIds = listInstance.readSelectedIds(); 126 if(selectedIds != 'all'){ 127 relatedRecordid = relatedRecordid.toString(); 128 var idIndex = jQuery.inArray(relatedRecordid,selectedIds); 129 if(idIndex != -1){ 130 selectedIds.splice(idIndex,1); 131 listInstance.writeSelectedIds(selectedIds); 132 } 133 } 134 if(emailEnabledModule){ 135 thisInstance.registerEmailEnabledActions(); 136 } 137 }); 138 }); 139 }, 140 function(error, err){ 141 } 142 ); 143 }); 144 }, 145 146 /** 147 * Function to register event for adding related record for module 148 */ 149 registerEventForAddingRelatedRecord : function(){ 150 var thisInstance = this; 151 var detailContentsHolder = this.getContentHolder(); 152 detailContentsHolder.on('click','[name="addButton"]',function(e){ 153 var element = jQuery(e.currentTarget); 154 var selectedTabElement = thisInstance.getSelectedTab(); 155 var relatedModuleName = thisInstance.getRelatedModuleName(); 156 var quickCreateNode = jQuery('#quickCreateModules').find('[data-name="'+ relatedModuleName +'"]'); 157 if(quickCreateNode.length <= 0) { 158 window.location.href = element.data('url'); 159 return; 160 } 161 162 var relatedController = new Vtiger_RelatedList_Js(thisInstance.getRecordId(), app.getModuleName(), selectedTabElement, relatedModuleName); 163 relatedController.addRelatedRecord(element).then(function(data){ 164 var emailEnabledModule = jQuery(data).find('[name="emailEnabledModules"]').val(); 165 if(emailEnabledModule){ 166 thisInstance.registerEmailEnabledActions(); 167 } 168 }); 169 }) 170 }, 171 172 /** 173 * Function to register email enabled actions 174 */ 175 registerEmailEnabledActions : function() { 176 var moduleName = app.getModuleName(); 177 var className = moduleName+"_List_Js"; 178 var listInstance = new window[className](); 179 listInstance.registerEvents(); 180 listInstance.markSelectedRecords(); 181 this.registerRelatedListEvents(); 182 }, 183 184 registerEventForRelatedTabClick : function(){ 185 var thisInstance = this; 186 var detailContentsHolder = thisInstance.getContentHolder(); 187 var detailContainer = detailContentsHolder.closest('div.detailViewInfo'); 188 jQuery('.related', detailContainer).on('click', 'li', function(e, urlAttributes){ 189 var tabElement = jQuery(e.currentTarget); 190 var element = jQuery('<div></div>'); 191 element.progressIndicator({ 192 'position':'html', 193 'blockInfo' : { 194 'enabled' : true, 195 'elementToBlock' : detailContainer 196 } 197 }); 198 var url = tabElement.data('url'); 199 if(typeof urlAttributes != 'undefined'){ 200 var callBack = urlAttributes.callback; 201 delete urlAttributes.callback; 202 } 203 thisInstance.loadContents(url,urlAttributes).then( 204 function(data){ 205 thisInstance.deSelectAllrelatedTabs(); 206 thisInstance.markTabAsSelected(tabElement); 207 element.progressIndicator({'mode': 'hide'}); 208 var emailEnabledModule = jQuery(data).find('[name="emailEnabledModules"]').val(); 209 if(emailEnabledModule){ 210 var listInstance = new Campaigns_List_Js(); 211 listInstance.registerEvents(); 212 thisInstance.registerRelatedListEvents(); 213 } 214 if(typeof callBack == 'function'){ 215 callBack(data); 216 } 217 //Summary tab is clicked 218 if(tabElement.data('linkKey') == thisInstance.detailViewSummaryTabLabel) { 219 thisInstance.loadWidgets(); 220 thisInstance.registerSummaryViewContainerEvents(detailContentsHolder); 221 } 222 }, 223 function (){ 224 //TODO : handle error 225 element.progressIndicator({'mode': 'hide'}); 226 } 227 ); 228 }); 229 }, 230 231 /** 232 * Function to register related list events 233 */ 234 registerRelatedListEvents : function(){ 235 var selectedTabElement = this.getSelectedTab(); 236 var relatedModuleName = this.getRelatedModuleName(); 237 var relatedController = new Campaigns_RelatedList_Js(this.getRecordId(), app.getModuleName(), selectedTabElement, relatedModuleName); 238 relatedController.registerEvents(); 239 }, 240 241 registerEvents : function(){ 242 this.registerRelatedListEvents(); 243 this._super(); 244 //Calling registerevents of campaigns list to handle checkboxs click of related records 245 var listInstance = Vtiger_List_Js.getInstance(); 246 listInstance.registerEvents(); 247 } 248 })
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |