Commit 0d4603d8 authored by Emmanuel Gil Peyrot's avatar Emmanuel Gil Peyrot Committed by JC Brand

Upload files on drag-and-drop.

Fixes #1188.
parent 37bd3328
......@@ -59022,7 +59022,9 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_5__["default"].plugins
'click .toggle-smiley': 'toggleEmojiMenu',
'click .upload-file': 'toggleFileUpload',
'input .chat-textarea': 'inputChanged',
'keydown .chat-textarea': 'keyPressed'
'keydown .chat-textarea': 'keyPressed',
'dragover .chat-textarea': 'onDragOver',
'drop .chat-textarea': 'onDrop'
},
initialize() {
......@@ -59128,6 +59130,19 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_5__["default"].plugins
this.model.sendFiles(evt.target.files);
},
onDragOver(evt) {
evt.preventDefault();
},
onDrop(evt) {
/* There are no files to be dropped, this isn’t a file transfer
* operation.
*/
if (evt.dataTransfer.files.length == 0) return;
evt.preventDefault();
this.model.sendFiles(evt.dataTransfer.files);
},
async addFileUploadButton(options) {
const result = await _converse.api.disco.supports(Strophe.NS.HTTPUPLOAD, _converse.domain);
......@@ -296,7 +296,9 @@ converse.plugins.add('converse-chatview', {
'click .toggle-smiley': 'toggleEmojiMenu',
'click .upload-file': 'toggleFileUpload',
'input .chat-textarea': 'inputChanged',
'keydown .chat-textarea': 'keyPressed'
'keydown .chat-textarea': 'keyPressed',
'dragover .chat-textarea': 'onDragOver',
'drop .chat-textarea': 'onDrop',
},
initialize () {
......@@ -398,6 +400,20 @@ converse.plugins.add('converse-chatview', {
this.model.sendFiles(evt.target.files);
},
onDragOver (evt) {
evt.preventDefault();
},
onDrop (evt) {
/* There are no files to be dropped, this isn’t a file transfer
* operation.
*/
if (evt.dataTransfer.files.length == 0)
return;
evt.preventDefault();
this.model.sendFiles(evt.dataTransfer.files);
},
async addFileUploadButton (options) {
const result = await _converse.api.disco.supports(Strophe.NS.HTTPUPLOAD, _converse.domain);
if (result.length) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment