Как настроить tinymceOptions из angular-ui/ui-tinymce

Я решил использовать ui-tinymce(угловую версию tinymce) для своего блога. Но я не могу найти документацию для того же самого. Оцените любой ресурс или любое предложение по настройке tinymceOptions.

Это ссылка git -https://github.com/angular-ui/ui-tinymce

2 ответов


предполагая, что у вас есть угловое приложение, и это просто вопрос настройки редактора, вы можете настроить редактор с теми же параметрами, которые задокументированы для неуглового, базового TinyMce здесь:http://www.tinymce.com/wiki.php/configuration

если вы нажмете на определенную опцию, вы увидите, как вы можете настроить неугловую tinymce так:

tinymce.init({
    resize: false
});

поэтому, чтобы сделать эквивалентную настройку в angular с помощью ui-tinymce, вместо этого из в TinyMCE.init (), вы бы установили параметры внутри переменной области $scope.tinymceOptions. Таким образом, пример настройки ui-tinymce, чтобы не позволять пользователю изменять размер, иметь ширину / высоту 400/300, разрешать печать и выбор цвета/фона текста:

myAppModule.controller('MyController', function($scope) {
    $scope.tinymceOptions = {
        resize: false,
        width: 400,  // I *think* its a number and not '400' string
        height: 300,
        plugins: 'print textcolor',
        toolbar: "undo redo styleselect bold italic print forecolor backcolor"

    };
});

и ваш взгляд может выглядеть примерно так (Обратите внимание на tinymceOptions):

  <textarea ui-tinymce="tinymceOptions" ng-model="tinymceModel"></textarea>

ui-tinymce должен поставляться с рядом встроенных плагинов, которые вы можете найти здесь: http://www.tinymce.com/wiki.php/Plugins

полный список параметров панелей инструментов см.: http://www.tinymce.com/wiki.php/Controls

насколько я помню, вы не можете постфактум изменить tinymceOptions. Под этим я подразумеваю, что после загрузки редактора, Если вы хотите позже изменить некоторые из $scope.tinymceOptions, эти изменения не будут автоматически обновляться в Редакторе, потому что я считаю, что код ui-tinymce передает параметры в TinyMCE.init () только один раз при загрузке.

вы также можете делать такие вещи, как вручную установить содержимое редактора, используя простые крючки javascript TinyMCE, такие как:

tinyMCE.activeEditor.setContent('<h1>hello world</h1><p>this is my story.  the end.</p>');

аналогично, вы можете использовать getContent () см.:http://www.tinymce.com/wiki.php/API3:method.tinymce.Editor.getContent Но я считаю, что вы также можете получить доступ к содержимому редактора через $scope.переменная tinymceModel в этом примере. (случай использования, если у вас есть ng-нажмите на кнопку, чтобы сохраните содержимое редактора, а затем как вы получите содержимое редактора...)

но более угловым способом было бы сделать все через переменные ng-model и scope вместо того, чтобы полагаться на raw TinyMCE javascript api.

надеюсь, что это поможет. В общем, ui-tinymce-очень тонкая оболочка вокруг простого TinyMce. Так что все, что вы можете сделать с обычным tinymce, вы можете по большей части сделать с угловой версией. Я думаю, именно поэтому не так много документов для настройки ui-tinymce, но этот факт не является очевидным для новых новичков.


несмотря на то, что jCuga предоставила очень полезное объяснение, я все еще не мог получить настроенную настройку для работы. Редактор TinyMCE загрузится, но с настройками по умолчанию. Похоже, что у других есть аналогичная проблема, которая регистрируется как выпуск #158 для проекта директивы ui-tinymce. Основная проблема для меня заключается в том, что, поскольку я определил параметры настройки в угловом контроллере, как предлагают документы, переменная tinymceoptions по умолчанию никогда не перезаписывается, потому что контроллер не загружается. Я решил это, просто сославшись на контроллер как таковой:

<textarea ui-tinymce="tinymceOptions" ng-controller="RichTextCtrl"></textarea>

Как только я добавил ссылку ng-controller, мои пользовательские настройки были использованы вместо настроек по умолчанию.