Я пытаюсь отключить программно стандартной кнопки «сохранить» сохранение плагин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», это необязательно должно быть добавлено программно.
Я на самом деле хочу функциональность, мне просто нужно отключить кнопку сохранения в зависимости от количества символов в текстовом поле, т.е. : по умолчанию активировано, если предел достиг деактивирован. – laloune
Класс 'tinymce.ui.MenuButton' (или один из его родительских классов) может быть тем, что вы ищете. Этот класс имеет отключенный метод, который устанавливает/получает отключенное состояние в элементе управления: 'disabled (state: Boolean)' – DFriend
. В плагине сохранения есть опция save_enablewhendirty, которая при установке true отключает кнопку до тех пор, пока не будут сделаны изменения. С помощью этого набора вы можете привязываться к событию изменения редактора, а затем использовать 'editor.isNotDirty', чтобы заставить состояние редактора очищаться до достижения максимального количества символов. Но принуждение NotDirty может испортиться и в состоянии отмены/повтора. Таким образом, вам, вероятно, придется написать собственный плагин, который будет использоваться вместо Save. Глядя на исходный код «Сохранить плагин», может быть хорошим стартовым местом, если вы спуститесь по пути «roll-you-own-plugin». – DFriend