mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-26 05:49:22 +00:00
Improved Sceditor integration
This commit is contained in:
parent
6d61c0d621
commit
dff9831228
@ -92,10 +92,10 @@ var parserTags = {
|
|||||||
},
|
},
|
||||||
'quote': {
|
'quote': {
|
||||||
openTag: function(params,content) {
|
openTag: function(params,content) {
|
||||||
return '<q>';
|
return '<blockquote>';
|
||||||
},
|
},
|
||||||
closeTag: function(params,content) {
|
closeTag: function(params,content) {
|
||||||
return '</q>';
|
return '</blockquote>';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
's': {
|
's': {
|
||||||
|
@ -23,4 +23,11 @@ a {
|
|||||||
|
|
||||||
.a:focus, .a:hover {
|
.a:focus, .a:hover {
|
||||||
color: #72afd2;
|
color: #72afd2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sceditor iframe
|
||||||
|
*/
|
||||||
|
.sceditor-iframe-body {
|
||||||
|
padding: 5px;
|
||||||
}
|
}
|
@ -33,6 +33,13 @@ p, h1, h2, h3, h4, h5, h6 {
|
|||||||
background-color: var(--black3);
|
background-color: var(--black3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sceditor body
|
||||||
|
*/
|
||||||
|
.sceditor-iframe-body {
|
||||||
|
background-color: var(--black5);
|
||||||
|
color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Buttons
|
* Buttons
|
||||||
|
@ -638,4 +638,44 @@ function removeJavascriptEventsFromHTML(html){
|
|||||||
}
|
}
|
||||||
|
|
||||||
return 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",
|
height: "200px",
|
||||||
width: "100%",
|
width: "100%",
|
||||||
icons: "material",
|
icons: "material",
|
||||||
style: ComunicWeb.components.posts.form.sceditor_stylsheet,
|
|
||||||
toolbarExclude: "youtube,image,size,link,print,mail,emoticon,maximize"
|
toolbarExclude: "youtube,image,size,link,print,mail,emoticon,maximize"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ApplySceditorStyle(editorTextarea);
|
||||||
|
|
||||||
//Create function to close modal
|
//Create function to close modal
|
||||||
var closeModal = function(){
|
var closeModal = function(){
|
||||||
$(modal).modal('hide');
|
$(modal).modal('hide');
|
||||||
|
@ -6,11 +6,6 @@
|
|||||||
|
|
||||||
ComunicWeb.components.posts.form = {
|
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
|
* Display post creation form
|
||||||
*
|
*
|
||||||
@ -69,11 +64,12 @@ ComunicWeb.components.posts.form = {
|
|||||||
'bulletlist,orderedlist,table,code,quote,source',
|
'bulletlist,orderedlist,table,code,quote,source',
|
||||||
emoticonsEnabled: false,
|
emoticonsEnabled: false,
|
||||||
icons: "material",
|
icons: "material",
|
||||||
//Hack : style a little iframe
|
|
||||||
style: this.sceditor_stylsheet,
|
|
||||||
toolbarContainer: inputMessageToolbarTarget
|
toolbarContainer: inputMessageToolbarTarget
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//Apply all stylesheets to the editor iframe
|
||||||
|
ApplySceditorStyle(inputMessageTextarea);
|
||||||
|
|
||||||
//Enable emojies picker
|
//Enable emojies picker
|
||||||
ComunicWeb.components.emoji.picker.addDetachedPicker(newPostMessageContener, function(emojie){
|
ComunicWeb.components.emoji.picker.addDetachedPicker(newPostMessageContener, function(emojie){
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user