Files
CRM/layouts/vlayout/modules/Campaigns/resources/List.js
BACHIR SOULDI 2794e62571 first commit
2025-09-28 08:49:37 +01:00

164 lines
4.9 KiB
JavaScript

/*+***********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
*************************************************************************************/
Vtiger_List_Js("Campaigns_List_Js",{},{
readSelectedIds : function(decode){
var view = jQuery('#view').val();
if(view != "Detail"){
return this._super(decode);
}
var selectedIdsElement = jQuery('#selectedIds');
var selectedIdsDataAttr = 'selectedIds';
var selectedIdsElementDataAttributes = selectedIdsElement.data();
var selectedIds = selectedIdsElementDataAttributes[selectedIdsDataAttr];
if (selectedIds == "") {
selectedIds = new Array();
this.writeSelectedIds(selectedIds);
} else {
selectedIds = selectedIdsElementDataAttributes[selectedIdsDataAttr];
}
if(decode == true){
if(typeof selectedIds == 'object'){
return JSON.stringify(selectedIds);
}
}
return selectedIds;
},
readExcludedIds : function(decode){
var view = jQuery('#view').val();
if(view != "Detail"){
return this._super(decode);
}
var exlcudedIdsElement = jQuery('#excludedIds');
var excludedIdsDataAttr = 'excludedIds';
var excludedIdsElementDataAttributes = exlcudedIdsElement.data();
var excludedIds = excludedIdsElementDataAttributes[excludedIdsDataAttr];
if (excludedIds == "") {
excludedIds = new Array();
this.writeExcludedIds(excludedIds);
}else{
excludedIds = excludedIdsElementDataAttributes[excludedIdsDataAttr];
}
if(decode == true){
if(typeof excludedIds == 'object') {
return JSON.stringify(excludedIds);
}
}
return excludedIds;
},
writeSelectedIds : function(selectedIds){
var view = jQuery('#view').val();
if(view != "Detail"){
this._super(selectedIds);
return;
}
jQuery('#selectedIds').data('selectedIds',selectedIds);
},
writeExcludedIds : function(excludedIds){
var view = jQuery('#view').val();
if(view != "Detail"){
this._super(excludedIds);
return;
}
jQuery('#excludedIds').data('excludedIds',excludedIds);
},
/**
* Function to mark selected records
*/
markSelectedRecords : function(){
var thisInstance = this;
var selectedIds = this.readSelectedIds();
if(selectedIds != ''){
if(selectedIds == 'all'){
jQuery('.listViewEntriesCheckBox').each( function(index,element) {
jQuery(this).attr('checked', true).closest('tr').addClass('highlightBackgroundColor');
});
jQuery('#deSelectAllMsgDiv').show();
var excludedIds = jQuery('[name="excludedIds"]').data('excludedIds');
if(excludedIds != ''){
jQuery('#listViewEntriesMainCheckBox').attr('checked',false);
jQuery('.listViewEntriesCheckBox').each( function(index,element) {
if(jQuery.inArray(jQuery(element).val(),excludedIds) != -1){
jQuery(element).attr('checked', false).closest('tr').removeClass('highlightBackgroundColor');
}
});
}
} else {
jQuery('.listViewEntriesCheckBox').each( function(index,element) {
if(jQuery.inArray(jQuery(element).val(),selectedIds) != -1){
jQuery(this).attr('checked', true).closest('tr').addClass('highlightBackgroundColor');
}
});
}
thisInstance.checkSelectAll();
}
},
getRecordsCount : function(){
var aDeferred = jQuery.Deferred();
var view = jQuery('#view').val();
if(view != "Detail"){
return this._super();
}
var recordCountVal = jQuery("#recordsCount").val();
if(recordCountVal != ''){
aDeferred.resolve(recordCountVal);
} else {
var count = '';
var cvId = this.getCurrentCvId();
var module = app.getModuleName();
var parent = app.getParentModuleName();
var relatedModuleName = jQuery('[name="relatedModuleName"]').val();
var recordId = jQuery('#recordId').val();
var tab_label = jQuery('div.related').find('li.active').data('labelKey');
var postData = {
"module": module,
"parent": parent,
"action": "DetailAjax",
"viewname": cvId,
"mode": "getRecordsCount",
"relatedModule" : relatedModuleName,
'record' : recordId,
'tab_label' : tab_label
}
AppConnector.request(postData).then(
function(data) {
jQuery("#recordsCount").val(data['result']['count']);
count = data['result']['count'];
aDeferred.resolve(count);
},
function(error,err){
}
);
}
return aDeferred.promise();
},
/**
* Function to register events
*/
registerEvents : function(){
var view = jQuery('#view').val();
if(view != "Detail"){
this._super();
return;
}
this.registerMainCheckBoxClickEvent();
this.registerCheckBoxClickEvent();
this.registerSelectAllClickEvent();
this.registerDeselectAllClickEvent();
}
})