Кнопка загрузки внешнего изображения для React TinyMCE

Я пытаюсь сделать кнопку загрузки внешнего изображения так:

Кнопка загрузки внешнего изображения для React TinyMCE

Теперь у меня уже есть images_upload_handler, определенный для TinyMCE для его функции загрузки изображений (она уже работает, если я нажимаю кнопку загрузки изображения по умолчанию на панели инструментов). Как я могу обратиться к этой функции обработчика, нажав эту внешнюю кнопку?

Я сделал отдельный компонент для кнопки загрузки внешнего изображения. А мой компонент TinyMCE выглядит так (обратите внимание на images_upload_handler):

<TinyMCE
    className = {this.props.className || ''}
    ref = {this.props.editorRef}
    content = {this.props.value}
    config = {{
        setup: (editor) => {
        images_upload_handler: function (blobInfo, success, failure, progress) {
            // error out if max is reached
            const { maxAttachmentSizeBytes, attachments } = this.props;
            const file = blobInfo.blob();
            if (file.size > maxAttachmentSizeBytes || _.sum(_.map(attachments, f => isNaN(f.fileSize) ? 0 : parseInt(f.fileSize))) + file.size > maxAttachmentSizeBytes) {
                failure(I18n.t('Your email provider limits attachments to: ') + getFormattedSize(maxAttachmentSizeBytes));
                return;
            }

            window.tinymce.activeEditor._skinLoaded = true;
            let xhr, formData;
            const config = getConfig(this.props.env);

            }).catch(() => {
                window.tinymce.activeEditor.setContent(window.tinymce.activeEditor.getContent().replace(/<img.*?src = "(data:|blob:).*?(>|/>)/g, ''));
                failure('You are not logged in.');
            });
        }.bind(this),
........
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
2 257
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сделал это работать. Наконец-то я нашел путь к функции onClick для кнопки загрузки изображения: Window.tinyMCE.activeEditor.buttons.image.onclick.

{window.tinymce.activeEditor && this.props.showImageUpload &&
<div className = "attachments-button" onClick = {window.tinyMCE.activeEditor.buttons.image.onclick}>
<ImageIcon fill='#666666'/> <span id = "attachment-label">{this.props.showLabel ? 'Upload an image' : ''}</span>
</div>}

Другие вопросы по теме