skillbox/client/src/helpers/uploadcare.js

24 lines
999 B
JavaScript

import uploadcareWidget from 'uploadcare-widget';
export const uploadcare = (component, callback) => { // callback with signature parameter `url`
const uploadcarePanel = uploadcareWidget.openPanel(component.$refs['uploadcare-panel'], null, {
tabs: ['file'],
});
// HACK to change the text of the Uploadcare dynamically we need to change the text here directly
setTimeout(() => {
const formElem = component.$refs['documentform'];
if (formElem.getElementsByClassName('uploadcare--text_size_extra-large').length > 1) {
formElem.getElementsByClassName('uploadcare--text_size_extra-large')[1].innerText = 'Ziehen Sie ein Dokument hier hinein';
formElem.getElementsByClassName('uploadcare--tab__action-button')[0].innerText = 'Wählen Sie ein lokales Dokument';
}
}, 0);
return uploadcarePanel.done(panelResult => {
panelResult.done(fileInfo => {
let urlWithFilename = fileInfo.cdnUrl + fileInfo.name;
callback(urlWithFilename);
});
});
};