// warn the user when leaving window.onbeforeunload = function(){ return "Make sure to save your graph locally before leaving"; }; var socket = io(); socket.on('connect', () => { $("#session_id").text(socket.id); window.id = socket.id console.log('Session Id: ', socket.id); // an alphanumeric id... }); socket.on('users_count', (clients) => { $("#user_counts").text(clients); }); socket.on('start', () => { console.log('Building start'); }); $(document).ready( () => { $("#btnSubmit").click((event) => { //stop submit the form, we will post it manually. event.preventDefault(); doAjax(); }); $('#uploadfile').change(function(e){ if(e.target.files[0]) { var fileName = e.target.files[0].name; if(fileName !== "my_model.py") { alert('Please upload my_model.py'); $('#btnSubmit').prop('disabled', true); } else { $('#btnSubmit').prop('disabled', false); } } }); }); function doAjax() { // Get form var form = $('#fileUploadForm')[0]; var data = new FormData(form); var file = data.get('uploadfile'); var renameFile =new File([file], window.id + '.py' ,{type:file.type}); var formdata = new FormData(); formdata.append('uploadfile', renameFile); // console.log(formdata.get('uploadfile')) if(window.id) { $.ajax({ type: "POST", enctype: 'multipart/form-data', url: "/api/files/upload", data: formdata, processData: false, //prevent jQuery from automatically transforming the data into a query string contentType: false, cache: false, success: (data) => { // $("#listFiles").text(data); console.log('Emit build request') socket.emit('build', {}); }, error: (e) => { $("#listFiles").text(e.responseText); } }); } else { alert('Failed to connect to server'); } }