Olddevs UI3.38.0
Рецепты

Свои правила вставки и drop

Инструмент без Блока — свой handlePaste и handleDrop и Сообщение поля через showNotice.

Своих пропсов onPaste и onDrop у Редактора нет: во вставку вмешивается Часть для движка своего Инструмента — плагин ProseMirror. Инструменту не обязательно нести Блок: здесь только поведение.

Скопируйте #42 и вставьте в поле — получится ссылка на задачу. Перетащите PDF — под полем появится Сообщение поля.

Как устроено

  • Свои обработчики раньше встроенных. handlePaste и handleDrop своего Инструмента видят событие до вставки Markdown и загрузки картинок, где бы Инструмент ни стоял в tools. Вернули true — событие забрано целиком.
  • Схема действует всегда. Что вставка внесла сверх Схемы, отбрасывается, а transformPastedHTML очистку не ослабит. Ссылка в примере проходит, потому что Инструмент link есть в basic.
  • showNotice — одно Сообщение поля: error видна строкой role="alert" до следующей правки, status только озвучивается. Новое заменяет прежнее; тем же каналом кит сообщает о картинках.
  • Файлы, кроме картинок, ловит свой Инструмент. Незабранный файл доходит до кита: картинка идёт в onUploadImage, остальное получает сообщение «не картинка».

На этой странице