From 60d103f370f0f6beac427299d64c87864097709a Mon Sep 17 00:00:00 2001 From: Kyle <41976328+ImKyle4815@users.noreply.github.com> Date: Sun, 31 Jan 2021 11:31:32 -0800 Subject: [PATCH] print --- css/style-7.css | 9 ++++++++- js/main-1.js | 50 +++++++++++++++++++++++++++++++++++++++++++++ print/index.php | 33 ++++++++++++++++++++++++++++++ print/print.js | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 print/index.php create mode 100644 print/print.js diff --git a/css/style-7.css b/css/style-7.css index 8b5039d5..8e3b7089 100644 --- a/css/style-7.css +++ b/css/style-7.css @@ -438,7 +438,14 @@ textarea.input { width: 100%; height: 100%; } - +/*drop to upload*/ +.drop-area { + border: 2px dashed gray; + transition: 0.25s; +} +.drop-area.hover { + border-color: var(--color-selected); +} /*Animated cards*/ diff --git a/js/main-1.js b/js/main-1.js index 908c9cb3..84536f3d 100644 --- a/js/main-1.js +++ b/js/main-1.js @@ -33,3 +33,53 @@ window.onload = function() { element.autocomplete = 'off'; }); } + +// Drop to upload +const droppables = document.querySelectorAll('.drop-area'); +Array.from(droppables).forEach(element => { + element.addEventListener('dragenter', dropEnter, false); + element.addEventListener('dragleave', dropLeave, false); + element.addEventListener('dragover', dropOver, false); + element.addEventListener('drop', dropDrop, false); +}) +function dropEnter(e) { + e.preventDefault(); + e.stopPropagation(); + e.target.closest('.drop-area').classList.add('hover'); +} +function dropLeave(e) { + e.preventDefault(); + e.stopPropagation(); + e.target.closest('.drop-area').classList.remove('hover'); +} +function dropOver(e) { + e.preventDefault(); + e.stopPropagation(); + e.target.closest('.drop-area').classList.add('hover'); +} +function dropDrop(e) { + e.preventDefault(); + e.stopPropagation(); + e.target.closest('.drop-area').classList.remove('hover'); + destination = window[e.target.closest('.drop-area').children[1].getAttribute('data-dropFunction')]; + otherParams = window[e.target.closest('.drop-area').children[1].getAttribute('data-otherParams')]; + uploadFiles(e.dataTransfer.files, destination, otherParams); +} +async function uploadFiles(filesRaw, destination, otherParams) { + var files = ([...filesRaw]); + if (files.length > 9) { + if (!confirm('You are uploading ' + files.length + ' images. Would you like to continue?')) { + return; + } + } + files.forEach(file => { + var reader = new FileReader(); + reader.onloadend = function () { + destination(reader.result, otherParams); + } + reader.onerror = function () { + destination('/img/blank.png', otherParams); + } + reader.readAsDataURL(file); + }) +} \ No newline at end of file diff --git a/print/index.php b/print/index.php new file mode 100644 index 00000000..1b9fb8cd --- /dev/null +++ b/print/index.php @@ -0,0 +1,33 @@ + +