2015-10-16 3 views
0

Я пытаюсь отключить программно стандартной кнопки «сохранить» сохранение плагинTinyMCE - отключить стандартные сохранить кнопку

tinymce.init 
    ({ 
    selector: '#editorMain', 
    plugins: "save,code,textcolor,charmap,searchreplace,paste,wordcount", 
    height: 400, 
    setup: function(editor) { 
     editor.on('keyup',function(e){ 
      console.log(getStats('editorMain').chars); 
      var body = tinymce.get('editorMain').getBody(); 
      var currentValue=tinymce.trim(body.innerText || body.textContent); 
      var currentCharsCount=getStats('editorMain').chars; 
      var limit=10; 
      var diff=limit - currentCharsCount; 
      if (diff>-1) 
      { 
       $("#chars_left").html(diff + " characters left"); 
      } 
      else 
      { 
       $("#chars_left").html("Your comment is too long"); 
       // here should we disable the save button 
      } 

     }); 
    }, 

Я гугл для решения и обнаружил, что в версии 3ого был объект, называемый " ControlManager». Это было удалено в версии 4 (тот, который я в настоящее время используется)

Согласно документации, должны быть реализованы, чтобы сделать следующее:

// In TinyMCE 4 you can use the simpler stateSelector setting 
editor.addButton('SomeButton', { 
    text: 'My button', 
    stateSelector: 'a' 
}); 

, но как это может работать на кнопку «Сохранить»? кнопка сохранения появляется, когда я использую плагин «save», это необязательно должно быть добавлено программно.

ответ

0

Если вы не хотите, чтобы функциональные возможности плагина сохранения просто удаляли его из списка в параметрах init. plugins:. Используйте список, показанный здесь.

tinymce.init 
    ({ 
    selector: '#editorMain', 
    plugins: "code,textcolor,charmap,searchreplace,paste,wordcount", 
    .... 
+0

Я на самом деле хочу функциональность, мне просто нужно отключить кнопку сохранения в зависимости от количества символов в текстовом поле, т.е. : по умолчанию активировано, если предел достиг деактивирован. – laloune

+0

Класс 'tinymce.ui.MenuButton' (или один из его родительских классов) может быть тем, что вы ищете. Этот класс имеет отключенный метод, который устанавливает/получает отключенное состояние в элементе управления: 'disabled (state: Boolean)' – DFriend

+0

. В плагине сохранения есть опция save_enablewhendirty, которая при установке true отключает кнопку до тех пор, пока не будут сделаны изменения. С помощью этого набора вы можете привязываться к событию изменения редактора, а затем использовать 'editor.isNotDirty', чтобы заставить состояние редактора очищаться до достижения максимального количества символов. Но принуждение NotDirty может испортиться и в состоянии отмены/повтора. Таким образом, вам, вероятно, придется написать собственный плагин, который будет использоваться вместо Save. Глядя на исходный код «Сохранить плагин», может быть хорошим стартовым местом, если вы спуститесь по пути «roll-you-own-plugin». – DFriend

1

Хорошо, что было сложно. Это:

tinymce.activeEditor.theme.panel.find('toolbar *')[1]; 

позволяет получить доступ к кнопке. затем метод «.disabled (1)».

Жаль, что мы не можем получить доступ к элементам, используя их имена или идентификаторы ...

+0

Спасибо за ваш совет laloune.Here мой прецедент для включения/выключения кнопки панели инструментов http://fiddle.tinymce.com/p3faab – stoycho

Смежные вопросы