mirror of
https://github.com/pierre42100/ComunicWeb
synced 2025-06-19 04:15:17 +00:00
Improved Sceditor integration
This commit is contained in:
@ -638,4 +638,44 @@ function removeJavascriptEventsFromHTML(html){
|
||||
}
|
||||
|
||||
return html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get and return the DOM of a specified iframe
|
||||
*
|
||||
* @param {HTMLIFrameElement} iframe The iframe to process
|
||||
* @return {HTMLDocument} DOM of the iframe
|
||||
*/
|
||||
function GetIframeDOM(iframe){
|
||||
return iframe.contentWindow
|
||||
? iframe.contentWindow.document
|
||||
: iframe.contentDocument;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize styles for a sceditor textarea
|
||||
*
|
||||
* @param {HTMLTextAreaElement} textarea Target textarea element that
|
||||
* have sceditor initialized
|
||||
*/
|
||||
function ApplySceditorStyle(textarea){
|
||||
|
||||
//Get iframe DOM
|
||||
var iframeDOM = GetIframeDOM(textarea.parentNode.getElementsByTagName("iframe")[0]);
|
||||
|
||||
//Apply stylesheets
|
||||
document.querySelectorAll("link[rel='stylesheet']").forEach(function(entry){
|
||||
|
||||
//Skip the entry if it is disabled
|
||||
if(entry.disabled)
|
||||
return;
|
||||
|
||||
var elem = iframeDOM.createElement("link");
|
||||
elem.rel = "stylesheet";
|
||||
elem.href = entry.href;
|
||||
iframeDOM.head.appendChild(elem);
|
||||
});
|
||||
|
||||
//Apply new styles to body
|
||||
iframeDOM.body.className += " sceditor-iframe-body";
|
||||
}
|
@ -118,10 +118,11 @@ ComunicWeb.components.posts.edit = {
|
||||
height: "200px",
|
||||
width: "100%",
|
||||
icons: "material",
|
||||
style: ComunicWeb.components.posts.form.sceditor_stylsheet,
|
||||
toolbarExclude: "youtube,image,size,link,print,mail,emoticon,maximize"
|
||||
});
|
||||
|
||||
ApplySceditorStyle(editorTextarea);
|
||||
|
||||
//Create function to close modal
|
||||
var closeModal = function(){
|
||||
$(modal).modal('hide');
|
||||
|
@ -6,11 +6,6 @@
|
||||
|
||||
ComunicWeb.components.posts.form = {
|
||||
|
||||
/**
|
||||
* SCEDITOR common options
|
||||
*/
|
||||
sceditor_stylsheet: "data:text/css;raw, body {font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif;font-size: 14px;line-height: 1.42857143;}",
|
||||
|
||||
/**
|
||||
* Display post creation form
|
||||
*
|
||||
@ -69,11 +64,12 @@ ComunicWeb.components.posts.form = {
|
||||
'bulletlist,orderedlist,table,code,quote,source',
|
||||
emoticonsEnabled: false,
|
||||
icons: "material",
|
||||
//Hack : style a little iframe
|
||||
style: this.sceditor_stylsheet,
|
||||
toolbarContainer: inputMessageToolbarTarget
|
||||
});
|
||||
|
||||
//Apply all stylesheets to the editor iframe
|
||||
ApplySceditorStyle(inputMessageTextarea);
|
||||
|
||||
//Enable emojies picker
|
||||
ComunicWeb.components.emoji.picker.addDetachedPicker(newPostMessageContener, function(emojie){
|
||||
|
||||
|
Reference in New Issue
Block a user