From 5bac1a99455e17c23a4800e5e3aa1f1bbb0684be Mon Sep 17 00:00:00 2001 From: Onja Date: Wed, 11 Oct 2023 00:06:17 +0300 Subject: [PATCH] Add socket.io functionality to the main.js file, including event listeners for various events and toastr notifications for success or error events --- src/assets/js/main.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/assets/js/main.js b/src/assets/js/main.js index 50d8edf..12bef7c 100644 --- a/src/assets/js/main.js +++ b/src/assets/js/main.js @@ -1,6 +1,7 @@ import $ from 'jquery'; import 'bootstrap'; import toastr from 'toastr'; +import io from 'socket.io-client'; /*********************************************** * MAIN JS FILE @@ -113,7 +114,42 @@ const initSubmitForm = () => { }); } + +const initSocket = () => { + const socket = io(); + + socket.on('connect', function() { + console.log('Connected to server'); + }); + + socket.on('disconnect', function() { + console.log('Disconnected from server'); + }); + + const events = [ + 'download.start', + 'download.started', + 'download.end', + 'download.error', + 'download.progress', + 'parse.start', + 'parse.end', + 'parse.error' + ]; + for(let event of events) { + socket.on(event, function(data) { + if (event.includes('error')) { + toastr.error(data.message); + return; + } + toastr.info(data.message); + }); + } +}; + $(document).ready(function() { initColumnsChoices(); initSubmitForm(); + + initSocket(); });