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

100 lines
2.8 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.
*************************************************************************************/
jQuery.Class("Settings_Vtiger_TermsAndConditions_Js",{},{
//Contains Terms and Conditions container
container : false,
//return the container of Terms and Conditions
getContainer : function() {
if(this.container == false){
this.container = jQuery('#TermsAndConditionsContainer');
}
return this.container;
},
/*
* Function to save the Terms & Conditions content
*/
saveTermsAndConditions : function(textAreaElement) {
var aDeferred = jQuery.Deferred();
var tandcContent = textAreaElement.val();
var params = {
'module' : app.getModuleName(),
'parent' : app.getParentModuleName(),
'action' : 'TermsAndConditionsSaveAjax',
'tandc' : tandcContent
}
AppConnector.request(params).then(
function(data) {
aDeferred.resolve();
},
function(error,err){
aDeferred.reject();
}
);
return aDeferred.promise();
},
/*
* Function to register keyUp event for text area to show save button
*/
registerKeyUpEvent : function() {
var container = this.getContainer();
container.find('.contents').one('keyup', '.TCContent', function(e) {
jQuery('.saveTC', container).removeClass('hide');
});
},
registerEvents: function() {
var thisInstance = this;
var container = thisInstance.getContainer();
var textAreaElement = jQuery('.TCContent', container);
var saveButton = jQuery('.saveTC', container);
//register text area fields to autosize
app.registerEventForTextAreaFields(textAreaElement);
thisInstance.registerKeyUpEvent();
//Register click event for save button
saveButton.click(function(e) {
saveButton.addClass('hide');
var progressIndicatorElement = jQuery.progressIndicator({
'position' : 'html',
'blockInfo' : {
'enabled' : true
}
});
//save the new T&C content
thisInstance.saveTermsAndConditions(textAreaElement).then(
function(data) {
progressIndicatorElement.progressIndicator({'mode' : 'hide'});
thisInstance.registerKeyUpEvent();
var params = {
text: app.vtranslate('JS_TERMS_AND_CONDITIONS_SAVED')
};
Settings_Vtiger_Index_Js.showMessage(params);
},
function(error){
//TODO: Handle Error
}
);
})
}
});
jQuery(document).ready(function(e){
var tacInstance = new Settings_Vtiger_TermsAndConditions_Js();
tacInstance.registerEvents();
})