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

91 lines
3.1 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.Class('Vtiger_MergeRecords_Js',{},{
showMergeUI : function(params) {
var self = this;
var records = params.records;
if(typeof records == "object") {
records = records.join(',');
}
var defaultPrams = {
'module' : app.module(),
'view' : 'MergeRecord',
'records' : records
}
app.helper.showProgress();
app.request.get({'data':defaultPrams}).then(function(error,data){
app.helper.hideProgress();
if(data) {
app.helper.loadPageContentOverlay(data).then(function(container){
self.registerUIEvents(container);
});
}
});
},
save : function(form){
var aDeferred = jQuery.Deferred();
var formData = form.serializeFormData();
app.helper.showProgress();
app.request.post({'data':formData}).then(function(error,data){
app.helper.hideProgress();
if (error === null) {
jQuery('.vt-notification').remove();
app.helper.hidePageContentOverlay();
app.event.trigger('post.MergeRecords',formData);
aDeferred.resolve();
} else {
app.event.trigger('post.save.failed', error);
aDeferred.resolve();
}
})
return aDeferred.promise();
},
registerUIEvents : function(container) {
var self = this;
// Adding Scroll
var offset = container.find('.modal-body .datacontent').offset();
var viewPortHeight = $(window).height()-60;
if (offset) {
viewPortHeight = (viewPortHeight-offset['top']);
}
var params = {
setHeight:viewPortHeight+'px'
};
app.helper.showVerticalScroll(container.find('.modal-body .datacontent'), params);
container.find('[name="primaryRecord"]').on('change', function(event) {
var id = jQuery(event.currentTarget).val();
container.find('[data-id='+id+']').prop('checked',true);
});
container.find('form').on('submit',function(e){
e.preventDefault();
var form = jQuery(e.currentTarget);
self.save(form);
})
},
registerListener : function() {
var self = this;
app.event.on('Request.MergeRecords.show',function(event,params){
var vtigerInstance = Vtiger_Index_Js.getInstance();
vtigerInstance.registerEventForPostSaveFail();
self.showMergeUI(params);
})
},
registerEvents : function(){
this.registerListener();
}
})