import './upload-button.css'; import React from 'dom-chef'; import select from 'select-dom'; import delegate, {DelegateEvent} from 'delegate-it'; import features from '../libs/features'; import * as icons from '../libs/icons'; function addButtons(): void { for (const toolbar of select.all('form:not(.rgh-has-upload-field) markdown-toolbar')) { const form = toolbar.closest('form')!; if (!select.exists('.js-manual-file-chooser[type=file]', form)) { continue; } const toolbarGroup = select('.toolbar-group:last-child', toolbar); if (toolbarGroup) { toolbarGroup.append( ); form.classList.add('rgh-has-upload-field'); } } } function triggerUploadUI({delegateTarget}: DelegateEvent): void { delegateTarget .form! .querySelector('.js-manual-file-chooser')! // Find .click(); // Open UI } function init(): void { addButtons(); delegate('.rgh-upload-btn', 'click', triggerUploadUI); } features.add({ id: 'upload-button', include: [ features.hasRichTextEditor ], load: features.onAjaxedPages, init });