From 9cd3846795b15403565e8d92423bb6c6b9dd94d2 Mon Sep 17 00:00:00 2001 From: Pitu Date: Tue, 31 Jan 2017 03:31:10 -0300 Subject: Added FAQ --- public/js/home.js | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++ public/js/upload.js | 154 --------------------------------------------------- 2 files changed, 155 insertions(+), 154 deletions(-) create mode 100644 public/js/home.js delete mode 100644 public/js/upload.js (limited to 'public/js') diff --git a/public/js/home.js b/public/js/home.js new file mode 100644 index 0000000..cd06cc2 --- /dev/null +++ b/public/js/home.js @@ -0,0 +1,155 @@ +var upload = {}; + +upload.isPrivate = true; +upload.token = localStorage.token; +upload.maxFileSize; + +upload.checkIfPublic = function(){ + + axios.get('/api/check') + .then(function (response) { + upload.isPrivate= response.data.private; + upload.maxFileSize = response.data.maxFileSize; + upload.preparePage(); + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); + +} + +upload.preparePage = function(){ + if(!upload.isPrivate) return upload.prepareUpload(); + if(!upload.token) return document.getElementById('loginToUpload').style.display = 'inline-flex'; + upload.verifyToken(upload.token, true); +} + +upload.verifyToken = function(token, reloadOnError){ + if(reloadOnError === undefined) + reloadOnError = false; + + axios.post('/api/tokens/verify', { + token: token + }) + .then(function (response) { + + if(response.data.success === false){ + swal({ + title: "An error ocurred", + text: response.data.description, + type: "error" + }, function(){ + if(reloadOnError){ + localStorage.removeItem("token"); + location.reload(); + } + }) + return; + } + + localStorage.token = token; + upload.token = token; + return upload.prepareUpload(); + + }) + .catch(function (error) { + return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); + console.log(error); + }); + +} + +upload.prepareUpload = function(){ + + div = document.createElement('div'); + div.id = 'dropzone'; + div.innerHTML = 'Click here or drag and drop files'; + div.style.display = 'flex'; + + document.getElementById('maxFileSize').innerHTML = 'Maximum upload size per file is ' + upload.maxFileSize; + document.getElementById('loginToUpload').style.display = 'none'; + document.getElementById('loginLinkText').innerHTML = 'Create an account and keep track of your uploads'; + document.getElementById('uploadContainer').appendChild(div); + + upload.prepareDropzone(); + +} + +upload.prepareDropzone = function(){ + + var previewNode = document.querySelector('#template'); + previewNode.id = ''; + var previewTemplate = previewNode.parentNode.innerHTML; + previewNode.parentNode.removeChild(previewNode); + + var dropzone = new Dropzone('div#dropzone', { + url: '/api/upload', + paramName: 'files[]', + maxFilesize: upload.maxFileSize.slice(0, -2), + parallelUploads: 2, + uploadMultiple: false, + previewsContainer: 'div#uploads', + previewTemplate: previewTemplate, + createImageThumbnails: false, + maxFiles: 1000, + autoProcessQueue: true, + headers: { + 'token': upload.token + }, + init: function() { + this.on('addedfile', function(file) { + myDropzone = this; + document.getElementById('uploads').style.display = 'block'; + }); + } + }); + + // Update the total progress bar + dropzone.on('uploadprogress', function(file, progress) { + file.previewElement.querySelector('.progress').setAttribute('value', progress); + file.previewElement.querySelector('.progress').innerHTML = progress + '%'; + }); + + dropzone.on('success', function(file, response) { + + // Handle the responseText here. For example, add the text to the preview element: + + if(response.success === false){ + var span = document.createElement('span'); + span.innerHTML = response.description; + file.previewTemplate.querySelector('.link').appendChild(span); + return; + } + + a = document.createElement('a'); + a.href = response.files[0].url; + a.target = '_blank'; + a.innerHTML = response.files[0].url; + file.previewTemplate.querySelector('.link').appendChild(a); + + file.previewTemplate.querySelector('.progress').style.display = 'none'; + + }); + +} + +//Handle image paste event +window.addEventListener('paste', function(event) { + var items = (event.clipboardData || event.originalEvent.clipboardData).items; + for (index in items) { + var item = items[index]; + if (item.kind === 'file') { + var blob = item.getAsFile(); + console.log(blob.type); + var file = new File([blob], "pasted-image."+blob.type.match(/(?:[^\/]*\/)([^;]*)/)[1]); + file.type = blob.type; + console.log(file); + myDropzone.addFile(file); + } + } +}); + +window.onload = function () { + upload.checkIfPublic(); +}; \ No newline at end of file diff --git a/public/js/upload.js b/public/js/upload.js deleted file mode 100644 index 5b5ad6b..0000000 --- a/public/js/upload.js +++ /dev/null @@ -1,154 +0,0 @@ -var upload = {}; - -upload.isPrivate = true; -upload.token = localStorage.token; -upload.maxFileSize; - -upload.checkIfPublic = function(){ - - axios.get('/api/check') - .then(function (response) { - upload.isPrivate= response.data.private; - upload.maxFileSize = response.data.maxFileSize; - upload.preparePage(); - }) - .catch(function (error) { - return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); - console.log(error); - }); - -} - -upload.preparePage = function(){ - if(!upload.isPrivate) return upload.prepareUpload(); - if(!upload.token) return document.getElementById('loginToUpload').style.display = 'inline-flex'; - upload.verifyToken(upload.token, true); -} - -upload.verifyToken = function(token, reloadOnError){ - if(reloadOnError === undefined) - reloadOnError = false; - - axios.post('/api/tokens/verify', { - token: token - }) - .then(function (response) { - - if(response.data.success === false){ - swal({ - title: "An error ocurred", - text: response.data.description, - type: "error" - }, function(){ - if(reloadOnError){ - localStorage.removeItem("token"); - location.reload(); - } - }) - return; - } - - localStorage.token = token; - upload.token = token; - return upload.prepareUpload(); - - }) - .catch(function (error) { - return swal("An error ocurred", 'There was an error with the request, please check the console for more information.', "error"); - console.log(error); - }); - -} - -upload.prepareUpload = function(){ - - div = document.createElement('div'); - div.id = 'dropzone'; - div.innerHTML = 'Click here or drag and drop files'; - div.style.display = 'flex'; - - document.getElementById('maxFileSize').innerHTML = 'Maximum upload size per file is ' + upload.maxFileSize; - document.getElementById('loginToUpload').style.display = 'none'; - document.getElementById('uploadContainer').appendChild(div); - - upload.prepareDropzone(); - -} - -upload.prepareDropzone = function(){ - - var previewNode = document.querySelector('#template'); - previewNode.id = ''; - var previewTemplate = previewNode.parentNode.innerHTML; - previewNode.parentNode.removeChild(previewNode); - - var dropzone = new Dropzone('div#dropzone', { - url: '/api/upload', - paramName: 'files[]', - maxFilesize: upload.maxFileSize.slice(0, -2), - parallelUploads: 2, - uploadMultiple: false, - previewsContainer: 'div#uploads', - previewTemplate: previewTemplate, - createImageThumbnails: false, - maxFiles: 1000, - autoProcessQueue: true, - headers: { - 'token': upload.token - }, - init: function() { - this.on('addedfile', function(file) { - myDropzone = this; - document.getElementById('uploads').style.display = 'block'; - }); - } - }); - - // Update the total progress bar - dropzone.on('uploadprogress', function(file, progress) { - file.previewElement.querySelector('.progress').setAttribute('value', progress); - file.previewElement.querySelector('.progress').innerHTML = progress + '%'; - }); - - dropzone.on('success', function(file, response) { - - // Handle the responseText here. For example, add the text to the preview element: - - if(response.success === false){ - var span = document.createElement('span'); - span.innerHTML = response.description; - file.previewTemplate.querySelector('.link').appendChild(span); - return; - } - - a = document.createElement('a'); - a.href = response.files[0].url; - a.target = '_blank'; - a.innerHTML = response.files[0].url; - file.previewTemplate.querySelector('.link').appendChild(a); - - file.previewTemplate.querySelector('.progress').style.display = 'none'; - - }); - -} - -//Handle image paste event -window.addEventListener('paste', function(event) { - var items = (event.clipboardData || event.originalEvent.clipboardData).items; - for (index in items) { - var item = items[index]; - if (item.kind === 'file') { - var blob = item.getAsFile(); - console.log(blob.type); - var file = new File([blob], "pasted-image."+blob.type.match(/(?:[^\/]*\/)([^;]*)/)[1]); - file.type = blob.type; - console.log(file); - myDropzone.addFile(file); - } - } -}); - -window.onload = function () { - upload.checkIfPublic(); -}; \ No newline at end of file -- cgit v1.2.3