1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-24 07:39:43 +02:00

WYSIWYG editor now calls Ember parent lifecycle event

Missing ember component event calls added.
This commit is contained in:
sauls8t 2018-02-04 15:50:17 +00:00
parent 1370b2f2b5
commit f967949513
2 changed files with 91 additions and 82 deletions

View file

@ -11,6 +11,7 @@
import $ from 'jquery';
import { computed, set } from '@ember/object';
import { schedule } from '@ember/runloop';
import Component from '@ember/component';
import { inject as service } from '@ember/service';
@ -24,98 +25,105 @@ export default Component.extend({
}),
didReceiveAttrs() {
this._super(...arguments);
this.set('pageBody', this.get('meta.rawBody'));
},
didInsertElement() {
let options = {
selector: "#" + this.get('editorId'),
relative_urls: false,
cache_suffix: "?v=475",
browser_spellcheck: true,
gecko_spellcheck: false,
theme: "modern",
skin: 'documize',
statusbar: false,
inline: true,
entity_encoding: "raw",
paste_data_images: true,
image_advtab: true,
image_caption: true,
media_live_embeds: true,
fontsize_formats: "8px 10px 12px 14px 17px 18px 24px 36px 40px 50px 60px",
formats: {
bold: {
inline: 'b'
this._super(...arguments);
schedule('afterRender', () => {
let options = {
cache_suffix: "?v=454",
selector: "#" + this.get('editorId'),
relative_urls: false,
browser_spellcheck: true,
gecko_spellcheck: false,
statusbar: false,
inline: true,
// fixed_toolbar_container: '#mytoolbar',
paste_data_images: true,
image_advtab: true,
image_caption: true,
media_live_embeds: true,
theme: "modern",
skin: 'lightgray-gradient',
entity_encoding: "raw",
extended_valid_elements: "b,i,b/strong,i/em",
fontsize_formats: "8px 10px 12px 14px 17px 18px 24px 36px 40px 50px 60px",
formats: {
bold: {
inline: 'b'
},
italic: {
inline: 'i'
}
},
italic: {
inline: 'i'
codesample_languages: [
{text: 'C', value: 'c'},
{text: 'C#', value: 'csharp'},
{text: 'C++', value: 'cpp'},
{text: 'CSS', value: 'css'},
{text: 'Docker', value: 'docker'},
{text: 'Elixir', value: 'elixir'},
{text: 'Erlang', value: 'erlang'},
{text: 'Fsharp', value: 'fsharp'},
{text: 'Git', value: 'git'},
{text: 'Go', value: 'go'},
{text: 'Haskell', value: 'haskell'},
{text: 'HTML', value: 'markup'},
{text: 'HTTP', value: 'http'},
{text: 'Java', value: 'java'},
{text: 'JavaScript', value: 'javascript'},
{text: 'JSON', value: 'json'},
{text: 'Less', value: 'less'},
{text: 'Makefile', value: 'makefile'},
{text: 'Markdown', value: 'markdown'},
{text: 'nginx', value: 'nginx'},
{text: 'Objective C', value: 'objectivec'},
{text: 'Perl', value: 'perl'},
{text: 'PHP', value: 'php'},
{text: 'Powershell', value: 'powershell'},
{text: 'Python', value: 'python'},
{text: 'Ruby', value: 'ruby'},
{text: 'Rust', value: 'rust'},
{text: 'Sass SCSS', value: 'scss'},
{text: 'SQL', value: 'sql'},
{text: 'Swift', value: 'swift'},
{text: 'TypeScript', value: 'typescript'},
{text: 'XML', value: 'markup'},
{text: 'YAML', value: 'yaml'},
],
plugins: [
'advlist autolink lists link image charmap print hr anchor pagebreak',
'searchreplace wordcount visualblocks visualchars code codesample fullscreen',
'insertdatetime media nonbreaking save table directionality',
'template paste textcolor colorpicker textpattern imagetools'
],
menu: {},
menubar: false,
toolbar1: "formatselect fontsizeselect | bold italic underline strikethrough superscript subscript | forecolor backcolor link unlink",
toolbar2: "outdent indent bullist numlist | alignleft aligncenter alignright alignjustify | table image media codesample",
save_onsavecallback: function () {
Mousetrap.trigger('ctrl+s');
}
},
codesample_languages: [
{text: 'C', value: 'c'},
{text: 'C#', value: 'csharp'},
{text: 'C++', value: 'cpp'},
{text: 'CSS', value: 'css'},
{text: 'Docker', value: 'docker'},
{text: 'Elixir', value: 'elixir'},
{text: 'Erlang', value: 'erlang'},
{text: 'Fsharp', value: 'fsharp'},
{text: 'Git', value: 'git'},
{text: 'Go', value: 'go'},
{text: 'Haskell', value: 'haskell'},
{text: 'HTML', value: 'markup'},
{text: 'HTTP', value: 'http'},
{text: 'Java', value: 'java'},
{text: 'JavaScript', value: 'javascript'},
{text: 'JSON', value: 'json'},
{text: 'Less', value: 'less'},
{text: 'Makefile', value: 'makefile'},
{text: 'Markdown', value: 'markdown'},
{text: 'nginx', value: 'nginx'},
{text: 'Objective C', value: 'objectivec'},
{text: 'Perl', value: 'perl'},
{text: 'PHP', value: 'php'},
{text: 'Powershell', value: 'powershell'},
{text: 'Python', value: 'python'},
{text: 'Ruby', value: 'ruby'},
{text: 'Rust', value: 'rust'},
{text: 'Sass SCSS', value: 'scss'},
{text: 'SQL', value: 'sql'},
{text: 'Swift', value: 'swift'},
{text: 'TypeScript', value: 'typescript'},
{text: 'XML', value: 'markup'},
{text: 'YAML', value: 'yaml'},
],
extended_valid_elements: "b,i,b/strong,i/em",
plugins: [
'advlist autolink lists link image charmap print preview hr anchor pagebreak',
'searchreplace wordcount visualblocks visualchars code codesample fullscreen',
'insertdatetime media nonbreaking save table directionality',
'template paste textcolor colorpicker textpattern imagetools'
],
menu: {},
menubar: false,
toolbar1: "formatselect fontsizeselect | bold italic underline strikethrough superscript subscript | forecolor backcolor link unlink",
toolbar2: "outdent indent bullist numlist | alignleft aligncenter alignright alignjustify | table image media codesample",
save_onsavecallback: function () {
Mousetrap.trigger('ctrl+s');
}
};
if (typeof tinymce === 'undefined') {
$.getScript("/tinymce/tinymce.min.js?v=443", function () {
window.tinymce.dom.Event.domLoaded = true;
tinymce.baseURL = "//" + window.location.host + "/tinymce";
tinymce.suffix = ".min";
};
if (typeof tinymce === 'undefined') {
$.getScript("/tinymce/tinymce.min.js?v=454", function () {
window.tinymce.dom.Event.domLoaded = true;
tinymce.baseURL = "//" + window.location.host + "/tinymce";
tinymce.suffix = ".min";
tinymce.init(options);
});
} else {
tinymce.init(options);
});
} else {
tinymce.init(options);
}
}
});
},
willDestroyElement() {
this._super(...arguments);
tinymce.EditorManager.execCommand('mceRemoveEditor', true, this.get('editorId'));
},

View file

@ -1,6 +1,7 @@
{{#section/base-editor-inline document=document folder=folder page=page
blockMode=blockMode contentLinkerButton=true onInsertLink=(action 'onInsertLink')
isDirty=(action 'isDirty') onCancel=(action 'onCancel') onAction=(action 'onAction')}}
<div id='#mytoolbar'></div>
<div id={{editorId}} class="mousetrap wysiwyg wysiwyg-editor">
{{{pageBody}}}
</div>