diff options
| author | Jan-Hendrik Willms <tleilax+github@gmail.com> | 2021-07-22 16:07:19 +0200 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+github@gmail.com> | 2021-07-22 16:19:12 +0200 |
| commit | a3da1483a9e689846179159355badfec8073dbec (patch) | |
| tree | 770dcca6bdf5f6f2a11b0e7fcbbeda6919a3fc52 /resources/assets/javascripts/bootstrap/avatar.js | |
current code from svn, revision 62608
Diffstat (limited to 'resources/assets/javascripts/bootstrap/avatar.js')
| -rw-r--r-- | resources/assets/javascripts/bootstrap/avatar.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/resources/assets/javascripts/bootstrap/avatar.js b/resources/assets/javascripts/bootstrap/avatar.js new file mode 100644 index 0000000..a164ca2 --- /dev/null +++ b/resources/assets/javascripts/bootstrap/avatar.js @@ -0,0 +1,46 @@ +/*global jQuery, STUDIP */ +STUDIP.domReady(() => { + STUDIP.Avatar.init('#avatar-upload'); + + // Get file data on drop + var dropZone = document.getElementById('avatar-overlay'); + + if (dropZone) { + dropZone.addEventListener('dragover', function(e) { + e.stopPropagation(); + e.preventDefault(); + e.target.parentNode.classList.add("dragging"); + }); + + dropZone.addEventListener('dragleave', function(e) { + e.stopPropagation(); + e.preventDefault(); + e.target.parentNode.classList.remove("dragging"); + }); + + dropZone.addEventListener('drop', function(e) { + e.stopPropagation(); + e.preventDefault(); + e.target.parentNode.classList.remove("dragging"); + var files = e.dataTransfer.files; + var div = e.target.parentNode; + var avatar_dialog = div.getElementsByTagName('a')[0]; + + if (!div.getAttribute('accept') || !div.getAttribute('accept').includes(files[0].type)) { + alert(div.getAttribute('data-message-unaccepted')); + return false; + } + + if (!div.getAttribute('data-max-size') || files[0].size > div.getAttribute('data-max-size')) { + alert(div.getAttribute('data-message-too-large')); + return false; + } + + avatar_dialog.click(); + div.files = files; + STUDIP.dialogReady(() => { + STUDIP.Avatar.readFile(div); + }); + }); + } +}); |
