Files
myapp-full/myapp/templates/inc/editor.js

81 lines
2.4 KiB
JavaScript
Raw Normal View History

2020-05-06 15:49:18 +03:00
{#
Подгрузить скрипт
{% import 'inc/editor.js' as editor %}
{{ editor.plugin('tinymce') }}
Получить данные
{{ editor.getValue('"text"', 'vm.note.text', type='tinymce') }}
{{ editor.getValue('"field" + field.id', 'field.cell.value', type='tinymce') }}
Получить данные
{{ editor.setValue('"text"', 'vm.note.text', type='tinymce') }}
{{ editor.setValue('"field" + field.id', 'field.cell.value', type='tinymce') }}
Инициализировать редактор
{{ editor.tinymce('"text"') }}
{{ editor.tinymce('"field" + field.id') }}
#}
2020-02-08 05:05:43 +03:00
{% macro plugin(type="tinymce") -%}
{% if type=="tinymce" %}
<script type="text/javascript" src="/static/tinymce/tinymce.min.js"></script>
{% elif type=="ckeditor" %}
<script type="text/javascript" src="/static/ckeditor/ckeditor.js"></script>
{% endif %}
{%- endmacro %}
{% macro ckeditor(name) -%}
2020-05-06 15:49:18 +03:00
CKEDITOR.replace( {{ name }}, {
2020-02-08 05:05:43 +03:00
customConfig: '/static/js/ckeditor-conf.js'
} );
{%- endmacro %}
{% macro tinymce(name) -%}
tinymce.init({
2020-05-06 15:49:18 +03:00
selector: '#' + {{ name }},
2020-02-08 05:05:43 +03:00
height: 400,
language: 'ru',
2020-05-06 15:49:18 +03:00
plugins: 'code importcss searchreplace autolink save directionality visualblocks visualchars fullscreen image link media table charmap hr pagebreak nonbreaking anchor toc advlist lists wordcount imagetools textpattern noneditable help charmap quickbars',
toolbar: 'code | undo redo | bold italic underline strikethrough removeformat | formatselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | pagebreak | fullscreen | link image anchor charmap',
formats: {
img: { selector: 'img', classes: 'img-thumbnail', styles: {} },
table: { selector: 'table', classes: 'table', styles: {} },
},
style_formats: [
{ title: 'Картинка', format: 'img' },
{ title: 'Таблица', format: 'table' },
]
2020-02-08 05:05:43 +03:00
});
{%- endmacro %}
{% macro getValue(name, param, type="tinymce") -%}
{% if type=="tinymce" %}
2020-05-06 15:49:18 +03:00
let value = tinymce.get({{ name }}).getContent();
2020-02-08 05:05:43 +03:00
if (value != {{ param }}) {
{{ param }} = value;
}
{% elif type=="ckeditor" %}
2020-05-06 15:49:18 +03:00
var value = CKEDITOR.instances[{{ name }}].getData();
2020-02-08 05:05:43 +03:00
if (value != {{ param }}) {
{{ param }} = value;
}
{% endif %}
{%- endmacro %}
2020-02-16 22:59:11 +03:00
{% macro setValue(name, param, type="tinymce") -%}
{% if type=="tinymce" %}
2020-05-06 15:49:18 +03:00
tinymce.get({{ name }}).setContent({{ param }});
2020-02-16 22:59:11 +03:00
{% elif type=="ckeditor" %}
2020-05-06 15:49:18 +03:00
CKEDITOR.instances[{{ name }}].setData({{ param }});
2020-02-16 22:59:11 +03:00
{% endif %}
{%- endmacro %}