Я добавил пользовательский элемент меню в меню, которое вставляет пользовательский тег. Например: сб. 16 марта 2019
Я бы хотел отключить кнопку меню, когда он находится внутри тега времени, чтобы было невозможно добавить тег времени внутри тега time.
Я не смог этого сделать. Это мой код:
tinymce.init({
selector: 'textarea',
menubar: false,
toolbar: 'bold| menuDateButton',
setup: function (editor) {
/* Helper functions */
var toDateHtml = function (date) {
return '<time datetime="' + date.toString() + '">' + date.toDateString() + '</time>';
};
editor.ui.registry.addMenuButton('menuDateButton', {
text: 'Add Date',
fetch: function (callback) {
var items = [
{
type: 'menuitem',
text: 'Insert Date',
onAction: function (buttonApi) {
console.log('Disabled?: '+buttonApi.isDisabled());
console.log('Pre Insert');
editor.insertContent(toDateHtml(new Date()));
console.log('Post Insert');
},
onSetup: function (buttonApi) {
var editorEventCallback = function (eventApi) {
buttonApi.setDisabled(eventApi.element.nodeName.toLowerCase() === 'time');
console.log('Disabled (Nodechange)?: ' + buttonApi.isDisabled());
};
editor.on('NodeChange', editorEventCallback);
return function (buttonApi) {
editor.off('NodeChange', editorEventCallback);
}
}
}
];
callback(items);
}
});
}
});
Ручка: https://codepen.io/aldoherrera/pen/KERpYW