src/ztfy/myams/resources/js/ext/jquery-dndupload.min.js
changeset 210 a4497eed4ff7
equal deleted inserted replaced
209:1bde2a1c1902 210:a4497eed4ff7
       
     1 !function(a,e){"use strict";function n(e,n){return a(e).each(function(){var e=a(this);if(!e.data("ams-dndupload-initialiazed")){n=a.extend(!0,{},a.dndupload.defaults,n);var t=e.get(0);"FORM"!==t.tagName&&(e.removeClass("dndupload").html('<form action="{action}" method="POST" enctype="multipart/form-data" class="dndupload"></form>'.replace(/{action}/,n.action)),e=a("form",e));var s='<div class="box__input">\n\t<svg class="box__icon" xmlns="http://www.w3.org/2000/svg" width="50" height="43" viewBox="0 0 50 43">\n\t\t<path d="M48.4 26.5c-.9 0-1.7.7-1.7 1.7v11.6h-43.3v-11.6c0-.9-.7-1.7-1.7-1.7s-1.7.7-1.7 1.7v13.2c0 .9.7 1.7 1.7 1.7h46.7c.9 0 1.7-.7 1.7-1.7v-13.2c0-1-.7-1.7-1.7-1.7zm-24.5 6.1c.3.3.8.5 1.2.5.4 0 .9-.2 1.2-.5l10-11.6c.7-.7.7-1.7 0-2.4s-1.7-.7-2.4 0l-7.1 8.3v-25.3c0-.9-.7-1.7-1.7-1.7s-1.7.7-1.7 1.7v25.3l-7.1-8.3c-.7-.7-1.7-.7-2.4 0s-.7 1.7 0 2.4l10 11.6z" />\n\t</svg>\n'+'\t<input type="file" name="{label}" id="file" class="box__file" multiple="multiple"\n'.replace(/{label}/,n.fieldname)+'\t\t   data-multiple-caption="{label}" />\n'.replace(/{label}/,l.plugins.i18n.dndupload.FILES_SELECTED)+'\t<label for="file">\n'+"\t\t<strong>{label}</strong> {add}<br />\n".replace(/{label}/,l.plugins.i18n.dndupload.CHOOSE_FILE).replace(/{add}/,l.plugins.i18n.dndupload.ADD_INFO)+'\t\t<span class="box__dragndrop">{label}</span></label>\n'.replace(/{label}/,l.plugins.i18n.dndupload.DRAG_FILE)+'\t<button type="submit" class="box__button">{label}</button>\n'.replace(/{label}/,l.plugins.i18n.dndupload.UPLOAD)+"</div>\n"+'<div class="box__uploading">{label}</div>\n'.replace(/{label}/,l.plugins.i18n.dndupload.UPLOADING)+'<div class="box__success">{label}\n'.replace(/{label}/,l.plugins.i18n.dndupload.DONE)+'\t<a href=".?" class="box__restart" role="button">{label}</a>\n'.replace(/{label}/,l.plugins.i18n.dndupload.UPLOAD_MORE)+"</div>\n"+'<div class="box__error">{label}<span></span>. \n'.replace(/{label}/,l.plugins.i18n.dndupload.ERROR)+'\t<a href=".?" class="box__restart" role="button">{label}</a>\n'.replace(/{label}/,l.plugins.i18n.dndupload.TRY_AGAIN)+"</div>";e.html(s);var i=e,o=i.find('input[type="file"]'),r=i.find("label"),u=i.find(".box__error span"),c=i.find(".box__restart"),p=!1,f=function(a){r.text(a.length>1?(o.attr("data-multiple-caption")||"").replace(/{count}/,a.length):a[0].name)};o.on("change",function(a){f(a.target.files),n.autosubmit&&i.trigger("submit")}),d&&i.addClass("has-advanced-upload").on("drag dragstart dragend dragover dragenter dragleave drop",function(a){a.preventDefault(),a.stopPropagation()}).on("dragover dragenter",function(){i.addClass("is-dragover")}).on("dragleave dragend drop",function(){i.removeClass("is-dragover")}).on("drop",function(a){p=a.originalEvent.dataTransfer.files,f(p),n.autosubmit&&i.trigger("submit")}),i.on("submit",function(e){if(i.hasClass("is-uploading"))return!1;if(i.addClass("is-uploading").removeClass("is-error"),d){e.preventDefault();var n=new FormData(i.get(0));p&&a.each(p,function(a,e){n.append(o.attr("name"),e)}),a.ajax({url:i.attr("action"),type:i.attr("method"),data:n,dataType:"json",cache:!1,contentType:!1,processData:!1,success:function(a){"string"==typeof a&&(a=JSON.parse(a)),l.ajax.handleJSON(a)},complete:function(){i.removeClass("is-uploading")}})}else{var t="uploadiframe_"+(new Date).getTime(),s=a("<iframe>").attr("name",t).attr("style","display: none").appendTo(a("body"));i.attr("target",t),s.one("load",function(){var a=JSON.parse(s.contents().find("body").text());i.removeClass("is-uploading").addClass(!0===a.success?"is-success":"is-error").removeAttr("target"),a.success||u.text(a.error),s.remove()})}}),c.on("click",function(a){a.preventDefault(),i.removeClass("is-error is-success"),o.trigger("click")}),o.on("focus",function(){o.addClass("has-focus")}).on("blur",function(){o.removeClass("has-focus")}),a(t).removeClass("hidden"),e.data("ams-dndupload-initialized",!0)}}),e}function t(a){}a.dndupload={defaults:{action:"upload-files",fieldname:"files",autosubmit:!0}};var l=MyAMS,d=function(){var a=document.createElement("div");return("draggable"in a||"ondragstart"in a&&"ondrop"in a)&&"FormData"in window&&"FileReader"in window}();a.extend(a.fn,{dndupload:function(e,l){var d=a(this);switch(e){case"settings":return void 0===l?d.data("dndupload-settings"):(d.each(function(){var e=d.data("dndupload-settings")||{};t(a(this)),d.dndupload(a.extend(!0,e,l))}),d);case"destroy":return d.each(function(){t(a(this))}),d;default:return"create"!==e&&(l=e),d.each(function(){n(a(this),l)}),d}}})}(jQuery);