Вставляя пользовательский элемент, атрибут удаляется - PullRequest
0 голосов
/ 23 сентября 2018

Я сделал небольшую скрипку об этой проблеме: http://fiddle.tinymce.com/O0gaab

Я добавляю пользовательский элемент "custom-block" и пользовательский плагин для вставки этого элемента.

tinymce.PluginManager.add('custom', function(editor, url) {
    editor.addButton('custom', {
      text: 'CUSTOM',
      onclick: function() {
        // Open window
        editor.windowManager.open({
          title: 'Custom plugin',
          body: [
            {type: 'textbox', name: 'src', label: 'SRC'},
            {type: 'label', name: 'title', text: 'Insert content bellow:'},
            {type: 'textbox', name: 'content', multiline: true, style: 'width:500px;height:100px;'}
          ],
          onsubmit: function(e) {
            console.log(e.data);
            editor.insertContent('<custom-block src="' + e.data.src + '">' + e.data.content + '</custom-block>');
          }
        });
      }
    });
});
tinymce.init({
    selector: "textarea",
    plugins: [
        "advlist autolink lists link image charmap print preview anchor",
        "searchreplace visualblocks code fullscreen",
        "insertdatetime media table contextmenu paste custom"
    ],
    toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | custom",
    //valid_elements: "+*[*]", //when using this option trying to allow everything get an error "Cannot read property 'src' of undefined"
    extend_valid_elements: "custom-block[src]",
    custom_elements: "custom-block"
});

элемент вставляется правильно, но без атрибута src.

Из документации я полагал, что extend_valid_elements: "custom-block[src]" разрешит атрибут src для custom-block, но он удаляется каждый раз.

Я также пытался установить valid_elements на все (+*[*]) на всякий случай, но затем становится хуже, потому что при вставке я получаю ошибку: "Невозможно прочитать свойство 'src' из undefined" .

Я делаю какую-либо ошибку или в чем проблема?

1 Ответ

0 голосов
/ 24 сентября 2018

Имя параметра конфигурации - extended_valid_elements, поэтому вы просто назвали его неправильно в своей конфигурации.Это должно быть:

extended_valid_elements: "custom-block[src]"

Я обновил вашу скрипку (http://fiddle.tinymce.com/O0gaab/1), и, похоже, все работает.

...