diff --git a/src/snek/static/chat-input.js b/src/snek/static/chat-input.js index ecebb0c..15ca224 100644 --- a/src/snek/static/chat-input.js +++ b/src/snek/static/chat-input.js @@ -179,27 +179,25 @@ class ChatInputComponent extends NjetComponent { e.preventDefault(); this.fileUploadGrid.openFileDialog(); }); - eventBus.subscribe("file-uploading", (e) => { + this.subscribe("file-uploading", (e) => { this.fileUploadGrid.style.display = "block"; this.uploadButton.style.display = "none"; this.textarea.style.display = "none"; }) - document.eventBus = eventBus; this.appendChild(this.uploadButton); this.textarea.addEventListener("blur", () => { this.updateFromInput(""); }); - eventBus.subscribe("file-uploads-done", (data)=>{ - console.info("JEEJ", data) - this.textarea.style.display = "block"; + this.subscribe("file-uploads-done", (data)=>{ + this.textarea.style.display = "block"; this.uploadButton.style.display = "block"; this.fileUploadGrid.style.display = "none"; - let message =data.reduce((file) => { - return `${message}[${file.filename}](/channel/attachment/${file.file})`; + let msg =data.reduce((message, file) => { + return `${message}[${file.filename || file.name || file.remoteFile}](/channel/attachment/${file.remoteFile})`; }, ''); - app.rpc.sendMessage(this.channelUid, message, true); + app.rpc.sendMessage(this.channelUid, msg, true); }); diff --git a/src/snek/static/file-upload-grid.js b/src/snek/static/file-upload-grid.js index 730f718..d214cb8 100644 --- a/src/snek/static/file-upload-grid.js +++ b/src/snek/static/file-upload-grid.js @@ -151,25 +151,18 @@ class FileUploadGrid extends NjetComponent { }; ws.onmessage = (event) => { - console.info(event.data) - const data = JSON.parse(event.data); if (data.type === 'progress') { const pct = Math.min(100, Math.round(100 * data.bytes / file.size)); progress.style.width = pct + '%'; this.publish('file-uploading', {file: file, tile: tile, progress: progress}); } else if (data.type === 'done') { - console.info("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH") - console.info("Done") - console.info(this.uploadResponses) this.uploadsDone += 1; this.publish('file-uploaded', {file: file, tile: tile, progress: progress}); progress.style.width = '100%'; tile.classList.add('fug-done'); - console.info("Closed") ws.close(); this.uploadResponses.push({file:file, remoteFile:data.file}) - console.info(this.uploadsDone, this.uploadsStarted) if(this.uploadsDone == this.uploadsStarted){ this.publish('file-uploads-done', this.uploadResponses); } diff --git a/src/snek/view/channel.py b/src/snek/view/channel.py index e2efe12..3f16d92 100644 --- a/src/snek/view/channel.py +++ b/src/snek/view/channel.py @@ -206,7 +206,7 @@ class ChannelAttachmentUploadView(BaseView): print(msg.json()) data = msg.json() if data.get('type') == 'end': - relative_url = urllib.parse.quote(attachment_record["relative_url"]) + relative_url = urllib.parse.quote(attachment["relative_url"]) await ws.send_json({"type": "done", "file": relative_url, "filename": filename}) elif msg.type == web.WSMsgType.ERROR: break