{"version":3,"file":"app/form.elements.file-uni.js","sources":["form.elements.file-uni.js"],"sourcesContent":["/*----------------------------------------------------------------------------*\\\r\n FORM.ELEMENTS.FILE-UNI\r\n Simple file custom upload API\r\n\\*----------------------------------------------------------------------------*/\r\n\r\n/**\r\n * Use strict as per:\r\n * http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/\r\n */\r\n'use strict';\r\n\r\n\r\n/**\r\n * Check if oy object exists, otherwise create it\r\n */\r\nvar oy = oy || {};\r\n\r\nvar uploadUrl ='';\r\n\r\n/**\r\n * Jshint global references\r\n * Please define all third party plugins that you use to not break jshinting\r\n */\r\n\r\n/*global plupload */\r\n\r\n\r\n\r\n/* Component\r\n\\*----------------------------------------------------------------------------*/\r\n\r\noy.form.elements.fileUni = {\r\n\r\n init: function (onUploadedCallback) {\r\n if (oy.cutsMustard) {\r\n this.initElements(document, onUploadedCallback);\r\n }\r\n },\r\n\r\n changeUploadUrl(newUrl){\r\n uploadUrl = newUrl;\r\n },\r\n\r\n initElements: function ($context, onUploadedCallback) {\r\n var self = this;\r\n var $elements = $context.querySelectorAll('.js--file-uni');\r\n\r\n for (var i = 0; i < $elements.length; ++i) {\r\n var $element = $elements[i];\r\n self.setupElement($element, onUploadedCallback);\r\n }\r\n },\r\n\r\n setupElement: function ($context, onUploadedCallback) {\r\n var $button = $context.querySelector('.js--file-uni__button');\r\n var $wrap = $context.querySelector('.js--file-uni__wrap');\r\n var uploader = new plupload.Uploader({\r\n browse_button : $button, // eslint-disable-line camelcase\r\n container: $context,\r\n max_file_size : '50mb', // eslint-disable-line camelcase\r\n multi_selection: false, // eslint-disable-line camelcase\r\n url : $context.dataset.pluploadUrl,\r\n filters : [\r\n {title : 'Image files', extensions : 'jpg,jpeg,png'}\r\n ],\r\n init : {\r\n FilesAdded: function(up, files) {\r\n plupload.each(files, function(file) {\r\n if (up.files.length > 1) {\r\n up.removeFile(file);\r\n }\r\n });\r\n if (up.files.length >= 1) {\r\n $context.classList.add('is-uploading');\r\n }\r\n },\r\n FilesRemoved: function(up) {\r\n if (up.files.length < 1) {\r\n $context.classList.remove('is-uploading');\r\n }\r\n }\r\n },\r\n multipart: true\r\n });\r\n\r\n uploader.bind('Init', function() {\r\n $context.classList.add('is-initialised');\r\n $button.removeAttribute('disabled');\r\n $wrap.innerHTML = '';\r\n });\r\n\r\n uploader.bind('FilesAdded', function(up, files) {\r\n $context.classList.add('is-uploading');\r\n for (var i in files) {\r\n $wrap.innerHTML = '
Bezig met uploaden:
' + files[i].name + ' (' + plupload.formatSize(files[i].size) + ')
';\r\n }\r\n setTimeout(function(){\r\n uploader.start();\r\n }, 250);\r\n });\r\n\r\n uploader.init();\r\n\r\n uploader.bind('BeforeUpload', function(uploader){\r\n\r\n if(uploadUrl !== '' && uploadUrl !== uploader.settings.url){\r\n uploader.settings.url = uploadUrl;\r\n }\r\n });\r\n\r\n uploader.bind('UploadProgress', function(up, file) {\r\n $wrap.querySelector('.js--file-uni__progress').innerHTML = file.percent + '%';\r\n });\r\n\r\n uploader.bind('FileUploaded', function(up, file, ret) {\r\n if(JSON.parse(ret.response) === 'ok' || ret.response === 'true'){\r\n if (typeof onUploadedCallback !== 'undefined') {\r\n onUploadedCallback();\r\n }\r\n } else {\r\n alert('Er is iets misgegaan bij het uploaden.\\nSelecteer alleen JPG of PNG bestanden.');\r\n }\r\n });\r\n\r\n uploader.bind('UploadComplete', function(up) {\r\n $wrap.innerHTML = '';\r\n $context.classList.remove('is-uploading');\r\n up.splice();\r\n up.refresh();\r\n if($context.dataset.pluploadRefresh === 'true') {\r\n window.location.reload();\r\n }\r\n });\r\n\r\n uploader.bind('Error', function(up, args) {\r\n $context.classList.remove('is-uploading');\r\n alert('Fout! Het bestand is geen foto of te groot.\\nSelecteer alleen JPG of PNG bestanden.\\n\\n'+args.code + ': ' + args.message);\r\n up.splice();\r\n });\r\n\r\n }\r\n};\r\n\r\n\r\n/**\r\n * Fire ALL the things\r\n */\r\nwindow.addEventListener('load', function (event) {\r\n // this makes sure the thing isn't triggered from iFrames\r\n if(event.currentTarget !== null && event.currentTarget.frameElement === null){\r\n oy.form.elements.fileUni.init();\r\n }\r\n}, false);\r\n"],"names":[],"mappings":"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","sourceRoot":"/source/"}