24 lines
999 B
JavaScript
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);
|
|
});
|
|
});
|
|
};
|