From e5562cddb10acdf4ce47081f511b1c25dea80e54 Mon Sep 17 00:00:00 2001 From: krzysiej Date: Thu, 2 Jun 2022 13:43:08 +0200 Subject: [PATCH] Vue event bus, uploading files handles from file service. --- ...ntroller.js => filedropzone_controller.js} | 13 ++--- assets/js/event-bus.js | 3 ++ assets/js/pages/book.vue | 1 - assets/js/pages/files.vue | 15 +++++- src/Controller/BookController.php | 38 ++++----------- src/Form/BookType.php | 2 +- src/Form/FileType.php | 2 +- src/Service/FileService.php | 47 ++++++++++++++++--- 8 files changed, 69 insertions(+), 52 deletions(-) rename assets/controllers/{mydropzone_controller.js => filedropzone_controller.js} (83%) create mode 100644 assets/js/event-bus.js diff --git a/assets/controllers/mydropzone_controller.js b/assets/controllers/filedropzone_controller.js similarity index 83% rename from assets/controllers/mydropzone_controller.js rename to assets/controllers/filedropzone_controller.js index 11dba72..4e28a5a 100644 --- a/assets/controllers/mydropzone_controller.js +++ b/assets/controllers/filedropzone_controller.js @@ -1,4 +1,4 @@ -// mydropzone_controller.js +// filedropzone_controller.js import { Controller } from '@hotwired/stimulus'; import axios from 'axios'; @@ -19,13 +19,7 @@ export default class extends Controller { _onConnect(event) { // The dropzone was just created - // console.info(event); console.info('onconnect'); - // - // axios.get('/book/search/modyfikowany+węgiel').then(response => { - // console.info(response.data); - // }); - } _onChange(event) { @@ -36,14 +30,13 @@ export default class extends Controller { 'Content-Type': 'multipart/form-data' } }).then(() => { - event.target.querySelector('.dropzone-preview-button').click() + event.target.querySelector('.dropzone-preview-button').click(); + window.EventBus.$emit('fileUploaded'); }) - } _onClear(event) { // The dropzone has just been cleared - // console.info(event); console.info('onclear'); } } \ No newline at end of file diff --git a/assets/js/event-bus.js b/assets/js/event-bus.js new file mode 100644 index 0000000..0b39f8e --- /dev/null +++ b/assets/js/event-bus.js @@ -0,0 +1,3 @@ +import Vue from 'vue'; +window.EventBus = new Vue(); +export const EventBus = window.EventBus; \ No newline at end of file diff --git a/assets/js/pages/book.vue b/assets/js/pages/book.vue index 2083623..dc4e58c 100644 --- a/assets/js/pages/book.vue +++ b/assets/js/pages/book.vue @@ -47,7 +47,6 @@ export default { }, methods: { search: function () { - console.info(this.searchTerm); axios.get('/book/search/' + this.searchTerm).then(response => { this.books = response.data; }); diff --git a/assets/js/pages/files.vue b/assets/js/pages/files.vue index 52bd1fb..279849a 100644 --- a/assets/js/pages/files.vue +++ b/assets/js/pages/files.vue @@ -21,7 +21,8 @@ {{ formatSize(file.fileSize) }} {{ file.extension }} download - remove + remove + @@ -31,9 +32,13 @@