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

96 lines
2.5 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("Vtiger_CkEditor_Js",{},{
/*
*Function to set the textArea element
*/
setElement : function(element){
this.element = element;
return this;
},
/*
*Function to get the textArea element
*/
getElement : function(){
return this.element;
},
/*
* Function to return Element's id atrribute value
*/
getElementId :function(){
var element = this.getElement();
return element.attr('id');
},
/*
* Function to get the instance of ckeditor
*/
getCkEditorInstanceFromName :function(){
var elementName = this.getElementId();
return CKEDITOR.instances[elementName];
},
/***
* Function to get the plain text
*/
getPlainText : function() {
var ckEditorInstnace = this.getCkEditorInstanceFromName();
return ckEditorInstnace.document.getBody().getText();
},
/*
* Function to load CkEditor
* @params : element: element on which CkEditor has to be loaded, config: custom configurations for ckeditor
*/
loadCkEditor : function(element,customConfig){
this.setElement(element);
var instance = this.getCkEditorInstanceFromName();
var elementName = this.getElementId();
var config = {}
if(typeof customConfig != 'undefined'){
var config = jQuery.extend(config,customConfig);
}
if(instance)
{
CKEDITOR.remove(instance);
}
CKEDITOR.replace( elementName,config);
},
/*
* Function to load contents in ckeditor textarea
* @params : textArea Element,contents ;
*/
loadContentsInCkeditor : function(contents){
var CkEditor = this.getCkEditorInstanceFromName();
CkEditor.setData(contents);
},
/**
* Function to remove ckeditor instance
*/
removeCkEditor : function() {
if(this.getElement()) {
var instance = this.getCkEditorInstanceFromName();
//first check if textarea element already exists in CKEditor, then destroy it
if(instance) {
instance.updateElement();
instance.destroy();
}
}
}
});