/*! * bootstrap-fileinput v5.1.3 * http://plugins.krajee.com/file-input * * Author: Kartik Visweswaran * Copyright: 2014 - 2020, Kartik Visweswaran, Krajee.com * * Licensed under the BSD-3-Clause * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md */!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=e(require("jquery")):e(window.jQuery)}(function(G){"use strict";var Y,u;G.fn.fileinputLocales={},G.fn.fileinputThemes={},String.prototype.setTokens=function(e){var t,i,a=this.toString();for(t in e)e.hasOwnProperty(t)&&(i=new RegExp("{"+t+"}","g"),a=a.replace(i,e[t]));return a},Array.prototype.flatMap||(Array.prototype.flatMap=function(e){return[].concat(this.map(e))}),Y={FRAMES:".kv-preview-thumb",SORT_CSS:"file-sortable",INIT_FLAG:"init-",OBJECT_PARAMS:'\n\n\n\n\n\n',DEFAULT_PREVIEW:'
\n{previewFileIcon}\n
',MODAL_ID:"kvFileinputModal",MODAL_EVENTS:["show","shown","hide","hidden","loaded"],logMessages:{ajaxError:"{status}: {error}. Error Details: {text}.",badDroppedFiles:"Error scanning dropped files!",badExifParser:"Error loading the piexif.js library. {details}",badInputType:'The input "type" must be set to "file" for initializing the "bootstrap-fileinput" plugin.',exifWarning:'To avoid this warning, either set "autoOrientImage" to "false" OR ensure you have loaded the "piexif.js" library correctly on your page before the "fileinput.js" script.',invalidChunkSize:'Invalid upload chunk size: "{chunkSize}". Resumable uploads are disabled.',invalidThumb:'Invalid thumb frame with id: "{id}".',noResumableSupport:"The browser does not support resumable or chunk uploads.",noUploadUrl:'The "uploadUrl" is not set. Ajax uploads and resumable uploads have been disabled.',retryStatus:"Retrying upload for chunk # {chunk} for {filename}... retry # {retry}.",chunkQueueError:"Could not push task to ajax pool for chunk index # {index}.",resumableMaxRetriesReached:"Maximum resumable ajax retries ({n}) reached.",resumableRetryError:"Could not retry the resumable request (try # {n})... aborting.",resumableAborting:"Aborting / cancelling the resumable request."},objUrl:window.URL||window.webkitURL,now:function(){return(new Date).getTime()},round:function(e){return e=parseFloat(e),isNaN(e)?0:Math.floor(Math.round(e))},getArray:function(e){for(var t=[],i=e&&e.length||0,a=0;a >4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:n+=String.fromCharCode(t);break;case 12:case 13:i=r[o++],n+=String.fromCharCode((31&t)<<6|63&i);break;case 14:i=r[o++],a=r[o++],n+=String.fromCharCode((15&t)<<12|(63&i)<<6|(63&a)<<0)}return n},isHtml:function(e){var t=document.createElement("div");t.innerHTML=e;for(var i=t.childNodes,a=i.length;a--;)if(1===i[a].nodeType)return!0;return!1},isSvg:function(e){return e.match(/^\s*<\?xml/i)&&(e.match(/"+e+""))},uniqId:function(){return((new Date).getTime()+Math.floor(Math.random()*Math.pow(10,15))).toString(36)},cspBuffer:{CSP_ATTRIB:"data-csp-01928735",domElementsStyles:{},stash:function(e){var o=this,t=G.parseHTML("
"+e+"
"),i=G(t);return i.find("[style]").each(function(e,t){var i=G(t),a=i.attr("style"),r=Y.uniqId(),n={};a&&a.length&&(-1===a.indexOf(";")&&(a+=";"),a.slice(0,a.length-1).split(";").map(function(e){(e=e.split(":"))[0]&&(n[e[0]]=e[1]?e[1]:"")}),o.domElementsStyles[r]=n,i.removeAttr("style").attr(o.CSP_ATTRIB,r))}),i.filter("*").removeAttr("style"),(Object.values?Object.values(t):Object.keys(t).map(function(e){return t[e]})).flatMap(function(e){return e.innerHTML}).join("")},apply:function(e){var n=this;G(e).find("["+n.CSP_ATTRIB+"]").each(function(e,t){var i=G(t),a=i.attr(n.CSP_ATTRIB),r=n.domElementsStyles[a];r&&i.css(r),i.removeAttr(n.CSP_ATTRIB)}),n.domElementsStyles={}}},setHtml:function(e,t){var i=Y.cspBuffer;return e.html(i.stash(t)),i.apply(e),e},htmlEncode:function(e,t){return void 0===e?t||null:e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},replaceTags:function(e,t){var i=e;return t&&G.each(t,function(e,t){"function"==typeof t&&(t=t()),i=i.split(e).join(t)}),i},cleanMemory:function(e){var t=e.is("img")?e.attr("src"):e.find("source").attr("src");Y.revokeObjectURL(t)},findFileName:function(e){var t=e.lastIndexOf("/");return-1===t&&(t=e.lastIndexOf("\\")),e.split(e.substring(t,t+1)).pop()},checkFullScreen:function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},toggleFullScreen:function(e){var t=document,i=t.documentElement,a=Y.checkFullScreen();i&&e&&!a?i.requestFullscreen?i.requestFullscreen():i.msRequestFullscreen?i.msRequestFullscreen():i.mozRequestFullScreen?i.mozRequestFullScreen():i.webkitRequestFullscreen&&i.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):a&&(t.exitFullscreen?t.exitFullscreen():t.msExitFullscreen?t.msExitFullscreen():t.mozCancelFullScreen?t.mozCancelFullScreen():t.webkitExitFullscreen&&t.webkitExitFullscreen())},moveArray:function(e,t,i,a){var r=G.extend(!0,[],e);if(a&&r.reverse(),i>=r.length)for(var n=i-r.length;1+n--;)r.push(void 0);return r.splice(i,0,r.splice(t,1)[0]),a&&r.reverse(),r},closeButton:function(e){return''},getRotation:function(e){switch(e){case 2:return"rotateY(180deg)";case 3:return"rotate(180deg)";case 4:return"rotate(180deg) rotateY(180deg)";case 5:return"rotate(270deg) rotateY(180deg)";case 6:return"rotate(90deg)";case 7:return"rotate(90deg) rotateY(180deg)";case 8:return"rotate(270deg)";default:return""}},setTransform:function(e,t){e&&(e.style.transform=t,e.style.webkitTransform=t,e.style["-moz-transform"]=t,e.style["-ms-transform"]=t,e.style["-o-transform"]=t)},getObjectKeys:function(e){var t=[];return e&&G.each(e,function(e){t.push(e)}),t},getObjectSize:function(e){return Y.getObjectKeys(e).length},whenAll:function(e){for(var t,i,a,r=[].slice,n=1===arguments.length&&Y.isArray(e)?e:r.call(arguments),o=G.Deferred(),s=0,l=n.length,d=l,c=i=a=Array(l),u=function(e,t,i){return function(){i!==n&&s++,o.notifyWith(t[e]=this,i[e]=r.call(arguments)),--d||o[(s?"reject":"resolve")+"With"](t,i)}},p=0;pw.file.size?w.file.size:e},getTotalChunks:function(){var e=parseFloat(w.chunkSize);return!isNaN(e)&&0_.maxRetries)return l(c.resumableMaxRetriesReached,{n:_.maxRetries}),void w.setProcessed("error");var u,r,p,f,g,m=t[t.slice?"slice":t.mozSlice?"mozSlice":t.webkitSlice?"webkitSlice":"slice"](e*n,e*(n+1)),h=new FormData,v=y.stack[d];b._setUploadData(h,{chunkCount:w.chunkCount,chunkIndex:n,chunkSize:e,chunkSizeStart:e*n,fileBlob:[m,w.fileName],fileId:d,fileName:w.fileName,fileRelativePath:v.relativePath,fileSize:t.size,retryCount:o}),w.$progress&&w.$progress.length&&w.$progress.show(),r=function(e){u=b._getOutData(h,e),b.showPreview&&(i.hasClass("file-preview-success")||(b._setThumbStatus(i,"Loading"),Y.addCss(i,"file-uploading")),a.attr("disabled",!0)),b._raise("filechunkbeforesend",[d,n,o,y,w,u])},p=function(e,t,i){var a,r;b._isAborted()?l(c.resumableAborting):(u=b._getOutData(h,i,e),a=b.uploadParamNames.chunkIndex||"chunkIndex",r=[d,n,o,y,w,u],e.error?(_.showErrorLog&&b._log(C.retryStatus,{retry:o+1,filename:w.fileName,chunk:n}),w.pushAjax(n,o+1),w.error=e.error,b._raise("filechunkerror",r)):(w.logs[e[a]]=!0,w.chunksProcessed[d]||(w.chunksProcessed[d]={}),w.chunksProcessed[d][e[a]]=!0,w.chunksProcessed[d].data=e,s.resolve.call(null,e),b._raise("filechunksuccess",r),w.check()))},f=function(e,t,i){b._isAborted()?l(c.resumableAborting):(u=b._getOutData(h,e),w.setAjaxError(e,t,i),b._raise("filechunkajaxerror",[d,n,o,y,w,u]),w.pushAjax(n,o+1),l(c.resumableRetryError,{n:o-1}))},g=function(){b._isAborted()||b._raise("filechunkcomplete",[d,n,o,y,w,b._getOutData(h)])},b._ajaxSubmit(r,p,g,f,h,d,w.fileIndex)}}}).reset()}else _.fallback(b)},_initTemplateDefaults:function(){var i=this,e=Y.closeButton("fileinput-remove"),t='',a=" {style}",r='\n",n='\x3c!--suppress ALL --\x3e\n",o='\n",s='\n\n'+Y.OBJECT_PARAMS+" "+Y.DEFAULT_PREVIEW+"\n\n",l='
\n"+Y.DEFAULT_PREVIEW+"\n
\n",d={width:"100%",height:"100%","min-height":"480px"};i._isPdfRendered()&&(o=i.pdfRendererTemplate.replace("{renderer}",i._encodeURI(i.pdfRendererUrl))),i.defaults={layoutTemplates:{main1:'{preview}\n
\n
\n {caption}\n
\n {remove}\n {cancel}\n {pause}\n {upload}\n {browse}\n
\n
',main2:'{preview}\n
\n
\n{remove}\n{cancel}\n{upload}\n{browse}\n',preview:'
\n {close}
\n
\n
\n
\n
\n
\n
',close:e,fileIcon:'',caption:'
\n \n \n
',modalMain:t,modal:'\n',progress:'
\n
\n {status}\n
\n
{stats}',stats:'
{pendingTime} {uploadSpeed}
',size:" ({sizeText})",footer:'',indicator:'
{indicator}
',actions:'
\n \n
\n{drag}\n
',actionDelete:'\n',actionUpload:'',actionDownload:'{downloadIcon}',actionZoom:'',actionDrag:'{dragIcon}',btnDefault:'',btnLink:'{icon} {label}',btnBrowse:'
{icon} {label}
',zoomCache:''},previewMarkupTags:{tagBefore1:'
\n',tagBefore2:'
\n',tagAfter:"
{footer}\n{zoomCache}
\n"},previewContentTemplates:{generic:"{content}\n",html:'
{data}
\n',image:'{alt}\n',text:'\n',office:'',gdocs:'',video:r,audio:n,flash:'\n',object:s,pdf:o,other:l},allowedPreviewTypes:["image","html","text","video","audio","flash","pdf","object"],previewTemplates:{},previewSettings:{image:{width:"auto",height:"auto","max-width":"100%","max-height":"100%"},html:{width:"213px",height:"160px"},text:{width:"213px",height:"160px"},office:{width:"213px",height:"160px"},gdocs:{width:"213px",height:"160px"},video:{width:"213px",height:"160px"},audio:{width:"100%",height:"30px"},flash:{width:"213px",height:"160px"},object:{width:"213px",height:"160px"},pdf:{width:"100%",height:"160px",position:"relative"},other:{width:"213px",height:"160px"}},previewSettingsSmall:{image:{width:"auto",height:"auto","max-width":"100%","max-height":"100%"},html:{width:"100%",height:"160px"},text:{width:"100%",height:"160px"},office:{width:"100%",height:"160px"},gdocs:{width:"100%",height:"160px"},video:{width:"100%",height:"auto"},audio:{width:"100%",height:"30px"},flash:{width:"100%",height:"auto"},object:{width:"100%",height:"auto"},pdf:{width:"100%",height:"160px"},other:{width:"100%",height:"160px"}},previewZoomSettings:{image:{width:"auto",height:"auto","max-width":"100%","max-height":"100%"},html:d,text:d,office:{width:"100%",height:"100%","max-width":"100%","min-height":"480px"},gdocs:{width:"100%",height:"100%","max-width":"100%","min-height":"480px"},video:{width:"auto",height:"100%","max-width":"100%"},audio:{width:"100%",height:"30px"},flash:{width:"auto",height:"480px"},object:{width:"auto",height:"100%","max-width":"100%","min-height":"480px"},pdf:d,other:{width:"auto",height:"100%","min-height":"480px"}},mimeTypeAliases:{"video/quicktime":"video/mp4"},fileTypeSettings:{image:function(e,t){return Y.compare(e,"image.*")&&!Y.compare(e,/(tiff?|wmf)$/i)||Y.compare(t,/\.(gif|png|jpe?g)$/i)},html:function(e,t){return Y.compare(e,"text/html")||Y.compare(t,/\.(htm|html)$/i)},office:function(e,t){return Y.compare(e,/(word|excel|powerpoint|office)$/i)||Y.compare(t,/\.(docx?|xlsx?|pptx?|pps|potx?)$/i)},gdocs:function(e,t){return Y.compare(e,/(word|excel|powerpoint|office|iwork-pages|tiff?)$/i)||Y.compare(t,/\.(docx?|xlsx?|pptx?|pps|potx?|rtf|ods|odt|pages|ai|dxf|ttf|tiff?|wmf|e?ps)$/i)},text:function(e,t){return Y.compare(e,"text.*")||Y.compare(t,/\.(xml|javascript)$/i)||Y.compare(t,/\.(txt|md|csv|nfo|ini|json|php|js|css)$/i)},video:function(e,t){return Y.compare(e,"video.*")&&(Y.compare(e,/(ogg|mp4|mp?g|mov|webm|3gp)$/i)||Y.compare(t,/\.(og?|mp4|webm|mp?g|mov|3gp)$/i))},audio:function(e,t){return Y.compare(e,"audio.*")&&(Y.compare(t,/(ogg|mp3|mp?g|wav)$/i)||Y.compare(t,/\.(og?|mp3|mp?g|wav)$/i))},flash:function(e,t){return Y.compare(e,"application/x-shockwave-flash",!0)||Y.compare(t,/\.(swf)$/i)},pdf:function(e,t){return Y.compare(e,"application/pdf",!0)||Y.compare(t,/\.(pdf)$/i)},object:function(){return!0},other:function(){return!0}},fileActionSettings:{showRemove:!0,showUpload:!0,showDownload:!0,showZoom:!0,showDrag:!0,removeIcon:'',removeClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",removeErrorClass:"btn btn-sm btn-kv btn-danger",removeTitle:"Remove file",uploadIcon:'',uploadClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",uploadTitle:"Upload file",uploadRetryIcon:'',uploadRetryTitle:"Retry upload",downloadIcon:'',downloadClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",downloadTitle:"Download file",zoomIcon:'',zoomClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",zoomTitle:"View Details",dragIcon:'',dragClass:"text-info",dragTitle:"Move / Rearrange",dragSettings:{},indicatorNew:'',indicatorSuccess:'',indicatorError:'',indicatorLoading:'',indicatorPaused:'',indicatorNewTitle:"Not uploaded yet",indicatorSuccessTitle:"Uploaded",indicatorErrorTitle:"Upload Error",indicatorLoadingTitle:"Uploading …",indicatorPausedTitle:"Upload Paused"}},G.each(i.defaults,function(e,t){"allowedPreviewTypes"!==e?i[e]=G.extend(!0,{},t,i[e]):void 0===i.allowedPreviewTypes&&(i.allowedPreviewTypes=t)}),i._initPreviewTemplates()},_initPreviewTemplates:function(){var i,a=this,r=a.previewMarkupTags,n=r.tagAfter;G.each(a.previewContentTemplates,function(e,t){Y.isEmpty(a.previewTemplates[e])&&(i=r.tagBefore2,"generic"!==e&&"image"!==e&&"html"!==e&&"text"!==e||(i=r.tagBefore1),a._isPdfRendered()&&"pdf"===e&&(i=i.replace("kv-file-content","kv-file-content kv-pdf-rendered")),a.previewTemplates[e]=i+t+n)})},_initPreviewCache:function(){var y=this;y.previewCache={data:{},init:function(){var e=y.initialPreview;0'+e+"":"
  • "+e+"
  • ";return 0===r.find("ul").length?a._addError("
      "+s+"
    "):r.find("ul").append(s),r.fadeIn(a.fadeDelay),a._raise(n,[t,e]),a._setValidationError("file-input-new"),!0},_showError:function(e,t,i){var a=this,r=a.$errorContainer,n=i||"fileerror";return(t=t||{}).reader=a.reader,a._addError(e),r.fadeIn(a.fadeDelay),a._raise(n,[t,e]),a.isAjaxUpload||a._clearFileInput(),a._setValidationError("file-input-new"),a.$btnUpload.attr("disabled",!0),!0},_noFilesError:function(e){var t=this,i=1"+a+"";0===r.find("ul").length?t._addError("
      "+a+"
    "):r.find("ul").append(a),t.isError=!0,t._updateFileDetails(0),r.fadeIn(t.fadeDelay),t._raise("fileerror",[e,a]),t._clearFileInput(),t._setValidationError()},_parseError:function(e,t,i,a){var r,n=this,o=G.trim(i+""),s=t.responseJSON&&t.responseJSON.error?t.responseJSON.error.toString():"",l=s||t.responseText;return n.cancelling&&n.msgUploadAborted&&(o=n.msgUploadAborted),n.showAjaxErrorDetails&&l&&(s?o=G.trim(s+""):(r=(l=G.trim(l.replace(/\n\s*\n/g,"\n"))).length?"
    "+l+"
    ":"",o+=o?r:l)),o=o||n.msgAjaxError.replace("{operation}",e),n.cancelling=!1,a?""+a+": "+o:o},_parseFileType:function(e,t){var i,a,r,n=this.allowedPreviewTypes||[];if("application/text-plain"===e)return"text";for(r=0;r.kv-file-content img"),t=n._getZoom(i," >.kv-file-content img"),s?e.css("image-orientation",n.autoOrientImageInitial?"from-image":"none"):n.setImageOrientation(e,t,r.exif.Orientation,a)),o++})},_initPreview:function(e){var t,i=this,a=i.initialCaption||"";if(!i.previewCache.count(!0))return i._clearPreview(),void(e?i._setCaption(a):i._initCaption());t=i.previewCache.out(),a=e&&i.initialCaption?i.initialCaption:t.caption,i._setPreviewContent(t.content),i._setInitThumbAttr(),i._setCaption(a),i._initSortable(),Y.isEmpty(t.content)||i.$container.removeClass("file-input-new"),i._initPreviewImageOrientations()},_getZoomButton:function(e){var t=this.previewZoomButtonIcons[e],i=this.previewZoomButtonClasses[e],a=' title="'+(this.previewZoomButtonTitles[e]||"")+'" '+("close"===e?' data-dismiss="modal" aria-hidden="true"':"");return"fullscreen"!==e&&"borderless"!==e&&"toggleheader"!==e||(a+=' data-toggle="button" aria-pressed="false" autocomplete="off"'),'"},_getModalContent:function(){var e=this;return e._getLayoutTemplate("modal").setTokens({rtl:e.rtl?" kv-rtl":"",zoomFrameClass:e.frameClass,heading:e.msgZoomModalHeading,prev:e._getZoomButton("prev"),next:e._getZoomButton("next"),toggleheader:e._getZoomButton("toggleheader"),fullscreen:e._getZoomButton("fullscreen"),borderless:e._getZoomButton("borderless"),close:e._getZoomButton("close")})},_listenModalEvent:function(a){var r=this,n=r.$modal;n.on(a+".bs.modal",function(e){var t=n.find(".btn-fullscreen"),i=n.find(".btn-borderless");n.data("fileinputPluginId")===r.$element.attr("id")&&r._raise("filezoom"+a,{sourceEvent:e,previewId:n.data("previewId"),modal:n}),"shown"===a&&(i.removeClass("active").attr("aria-pressed","false"),t.removeClass("active").attr("aria-pressed","false"),n.hasClass("file-zoom-fullscreen")&&(r._maximizeZoomDialog(),Y.checkFullScreen()?t.addClass("active").attr("aria-pressed","true"):i.addClass("active").attr("aria-pressed","true")))})},_initZoom:function(){var e,i=this,t=i._getLayoutTemplate("modalMain"),a="#"+Y.MODAL_ID;i.showPreview&&(i.$modal=G(a),i.$modal&&i.$modal.length||(e=Y.createElement(Y.cspBuffer.stash(t)).insertAfter(i.$container),i.$modal=G(a).insertBefore(e),Y.cspBuffer.apply(i.$modal),e.remove()),Y.initModal(i.$modal),i.$modal.html(Y.cspBuffer.stash(i._getModalContent())),Y.cspBuffer.apply(i.$modal),G.each(Y.MODAL_EVENTS,function(e,t){i._listenModalEvent(t)}))},_initZoomButtons:function(){var e,t,i=this.$modal.data("previewId")||"",a=this.getFrames().toArray(),r=a.length,n=this.$modal.find(".btn-prev"),o=this.$modal.find(".btn-next");if(a.length<2)return n.hide(),void o.hide();n.show(),o.show(),r&&(e=G(a[0]),t=G(a[r-1]),n.removeAttr("disabled"),o.removeAttr("disabled"),e.length&&e.attr("id")===i&&n.attr("disabled",!0),t.length&&t.attr("id")===i&&o.attr("disabled",!0))},_maximizeZoomDialog:function(){var e=this.$modal,t=e.find(".modal-header:visible"),i=e.find(".modal-footer:visible"),a=e.find(".modal-body"),r=G(window).height();e.addClass("file-zoom-fullscreen"),t&&t.length&&(r-=t.outerHeight(!0)),i&&i.length&&(r-=i.outerHeight(!0)),a&&a.length&&(r-=a.outerHeight(!0)-a.height()),e.find(".kv-zoom-body").height(r)},_resizeZoomDialog:function(e){var t=this,i=t.$modal,a=i.find(".btn-fullscreen"),r=i.find(".btn-borderless");if(i.hasClass("file-zoom-fullscreen"))Y.toggleFullScreen(!1),e?a.hasClass("active")||(i.removeClass("file-zoom-fullscreen"),t._resizeZoomDialog(!0),r.hasClass("active")&&r.removeClass("active").attr("aria-pressed","false")):a.hasClass("active")?a.removeClass("active").attr("aria-pressed","false"):(i.removeClass("file-zoom-fullscreen"),t.$modal.find(".kv-zoom-body").css("height",t.zoomModalHeight));else{if(!e)return void t._maximizeZoomDialog();Y.toggleFullScreen(!0)}i.focus()},_setZoomContent:function(e,t){var i,a,r,n,s=this,o=e.attr("id"),l=s._getZoom(o),d=s.$modal,c=d.find(".btn-fullscreen"),u=d.find(".btn-borderless"),p=d.find(".btn-toggleheader"),f=l.attr("data-template")||"generic",g=l.find(".kv-file-content"),m=g.length?g.html():"",h=(e.data("caption")||"")+" "+(e.data("size")||"");d.find(".kv-zoom-title").attr("title",G("
    ").html(h).text()).html(h),i=d.find(".kv-zoom-body"),d.removeClass("kv-single-content"),t?(n=i.addClass("file-thumb-loading").clone().insertAfter(i),Y.setHtml(i,m).hide(),n.fadeOut("fast",function(){i.fadeIn("fast",function(){i.removeClass("file-thumb-loading")}),n.remove()})):Y.setHtml(i,m),(r=s.previewZoomSettings[f])&&(a=i.find(".kv-preview-data"),Y.addCss(a,"file-zoom-detail"),G.each(r,function(e,t){a.css(e,t),(a.attr("width")&&"width"===e||a.attr("height")&&"height"===e)&&a.removeAttr(e)})),d.data("previewId",o),s._handler(d.find(".btn-prev"),"click",function(){s._zoomSlideShow("prev",o)}),s._handler(d.find(".btn-next"),"click",function(){s._zoomSlideShow("next",o)}),s._handler(c,"click",function(){s._resizeZoomDialog(!0)}),s._handler(u,"click",function(){s._resizeZoomDialog(!1)}),s._handler(p,"click",function(){function e(e){var t=s.$modal.find(".kv-zoom-body"),i=s.zoomModalHeight;d.hasClass("file-zoom-fullscreen")&&(i=t.outerHeight(!0),e||(i-=a.outerHeight(!0))),t.css("height",e?i+e:i)}var t,a=d.find(".modal-header"),i=d.find(".modal-body .floating-buttons"),r=a.find(".kv-zoom-actions");a.is(":visible")?(t=a.outerHeight(!0),a.slideUp("slow",function(){r.find(".btn").appendTo(i),e(t)})):(i.find(".btn").appendTo(r),a.slideDown("slow",function(){e()})),d.focus()}),s._handler(d,"keydown",function(e){var t=e.which||e.keyCode,i=G(this).find(".btn-prev"),a=G(this).find(".btn-next"),r=G(this).data("previewId"),n=s.rtl?39:37,o=s.rtl?37:39;t===n&&i.length&&!i.attr("disabled")&&s._zoomSlideShow("prev",r),t===o&&a.length&&!a.attr("disabled")&&s._zoomSlideShow("next",r)})},_showModal:function(e){var t=this,i=t.$modal;e&&e.length&&(Y.initModal(i),Y.setHtml(i,t._getModalContent()),t._setZoomContent(e),i.data("fileinputPluginId",t.$element.attr("id")),i.modal("show"),t._initZoomButtons())},_zoomPreview:function(e){var t;if(!e.length)throw"Cannot zoom to detailed preview!";t=e.closest(Y.FRAMES),this._showModal(t)},_zoomSlideShow:function(e,t){var i,a,r,n,o=this,s=o.$modal.find(".kv-zoom-actions .btn-"+e),l=o.getFrames().toArray(),d=[],c=l.length;if(!s.attr("disabled")){for(a=0;a'+e.defaultPreviewContent+"
    "),e.$container.removeClass("file-input-new"),e._initClickable())},_resetPreviewThumbs:function(e){var t,i=this;if(e)return i._clearPreview(),void i.clearFileStack();i._hasInitialPreview()?(t=i.previewCache.out(),i._setPreviewContent(t.content),i._setInitThumbAttr(),i._setCaption(t.caption),i._initPreviewActions()):i._clearPreview()},_getLayoutTemplate:function(e){var t=this.layoutTemplates[e];return Y.isEmpty(this.customLayoutTags)?t:Y.replaceTags(t,this.customLayoutTags)},_getPreviewTemplate:function(e){var t=this.previewTemplates,i=t[e]||t.other;return Y.isEmpty(this.customPreviewTags)?i:Y.replaceTags(i,this.customPreviewTags)},_getOutData:function(e,t,i,a){var r=this;return t=t||{},i=i||{},{formdata:e,files:a=a||r.fileManager.list(),filenames:r.filenames,filescount:r.getFilesCount(),extra:r._getExtraData(),response:i,reader:r.reader,jqXHR:t}},_getMsgSelected:function(e){var t=1===e?this.fileSingle:this.filePlural;return 0&"']/g,"_")},_updateFileDetails:function(e,t){var i=this,a=i.$element,r=Y.isIE(9)&&Y.findFileName(a.val())||a[0].files[0]&&a[0].files[0].name,n=!r&&0'+a+"
    "),t.$container.removeClass("file-input-new"),Y.addCss(t.$container,"file-input-ajax-new"))},_getStats:function(e){var t,i;return this.showUploadStats&&e&&e.bitrate?(i=this._getLayoutTemplate("stats"),t=e.elapsed&&e.bps?this.msgPendingTime.setTokens({time:Y.getElapsed(Math.ceil(e.pendingBytes/e.bps))}):this.msgCalculatingTime,i.setTokens({uploadSpeed:e.bitrate,pendingTime:t})):""},_setResumableProgress:function(e,t,i){var a=this.resumableManager,r=i?a:this,n=i?i.find(".file-thumb-progress"):null;0===r.lastProgress&&(r.lastProgress=e),e"+l.msgValidationError+"
    ").text(),o=(n=l.fileManager.count())?(s=l.fileManager.getFirstFile(),1===n&&s?s.nameFmt:l._getMsgSelected(n)):l._getMsgSelected(l.msgNo),a=Y.isEmpty(e)?o:e,r=''+l.msgValidationErrorIcon+"";else{if(Y.isEmpty(e))return;a=i=G("
    "+e+"
    ").text(),r=l._getLayoutTemplate("fileIcon")}l.$captionContainer.addClass("icon-visible"),l.$caption.attr("title",i).val(a),Y.setHtml(l.$captionIcon,r)}},_createContainer:function(){var e=this,t={class:"file-input file-input-new"+(e.rtl?" kv-rtl":"")},i=Y.createElement(Y.cspBuffer.stash(e._renderMain()));return Y.cspBuffer.apply(i),i.insertBefore(e.$element).attr(t),e._initBrowse(i),e.theme&&i.addClass("theme-"+e.theme),i},_refreshContainer:function(){var e=this,t=e.$container;e.$element.insertAfter(t),Y.setHtml(t,e._renderMain()),e._initBrowse(t),e._validateDisabled()},_validateDisabled:function(){this.$caption.attr({readonly:this.isDisabled})},_renderMain:function(){var e=this,t=e.dropZoneEnabled?" file-drop-zone":"file-drop-disabled",i=e.showClose?e._getLayoutTemplate("close"):"",a=e.showPreview?e._getLayoutTemplate("preview").setTokens({class:e.previewClass,dropClass:t}):"",r=e.isDisabled?e.captionClass+" file-caption-disabled":e.captionClass,n=e.captionTemplate.setTokens({class:r+" kv-fileinput-caption"});return e.mainTemplate.setTokens({class:e.mainClass+(!e.showBrowse&&e.showCaption?" no-browse":""),preview:a,close:i,caption:n,upload:e._renderButton("upload"),remove:e._renderButton("remove"),cancel:e._renderButton("cancel"),pause:e._renderButton("pause"),browse:e._renderButton("browse")})},_renderButton:function(e){var t=this,i=t._getLayoutTemplate("btnDefault"),a=t[e+"Class"],r=t[e+"Title"],n=t[e+"Icon"],o=t[e+"Label"],s=t.isDisabled?" disabled":"",l="button";switch(e){case"remove":if(!t.showRemove)return"";break;case"cancel":if(!t.showCancel)return"";a+=" kv-hidden";break;case"pause":if(!t.showPause)return"";a+=" kv-hidden";break;case"upload":if(!t.showUpload)return"";t.isAjaxUpload&&!t.isDisabled?i=t._getLayoutTemplate("btnLink").replace("{href}",t.uploadUrl):l="submit";break;case"browse":if(!t.showBrowse)return"";i=t._getLayoutTemplate("btnBrowse");break;default:return""}return a+="browse"===e?" btn-file":" fileinput-"+e+" fileinput-"+e+"-button",Y.isEmpty(o)||(o=' '+o+""),i.setTokens({type:l,css:a,title:r,status:s,icon:n,label:o})},_renderThumbProgress:function(){return'
    '+this.progressInfoTemplate.setTokens({percent:101,status:this.msgUploadBegin,stats:""})+"
    "},_renderFileFooter:function(e,t,i,a,r){var n,o=this,s=o.fileActionSettings,l=s.showRemove,d=s.showDrag,c=s.showUpload,u=s.showZoom,p=o._getLayoutTemplate("footer"),f=o._getLayoutTemplate("indicator"),g=r?s.indicatorError:s.indicatorNew,m=r?s.indicatorErrorTitle:s.indicatorNewTitle,h=f.setTokens({indicator:g,indicatorTitle:m}),v={type:e,caption:t,size:i=o._getSize(i),width:a,progress:"",indicator:h};return o.isAjaxUpload?(v.progress=o._renderThumbProgress(),v.actions=o._renderFileActions(v,c,!1,l,u,d,!1,!1,!1)):v.actions=o._renderFileActions(v,!1,!1,!1,u,d,!1,!1,!1),n=p.setTokens(v),n=Y.replaceTags(n,o.previewThumbTags)},_renderFileActions:function(e,t,i,a,r,n,o,s,l,d,c,u){var p=this;if(!e.type&&d&&(e.type="image"),p.enableResumableUpload?t=!1:"function"==typeof t&&(t=t(e)),"function"==typeof i&&(i=i(e)),"function"==typeof a&&(a=a(e)),"function"==typeof r&&(r=r(e)),"function"==typeof n&&(n=n(e)),!(t||i||a||r||n))return"";var f,g=!1===s?"":' data-url="'+s+'"',m="",h="",v=!1===l?"":' data-key="'+l+'"',w="",b="",_="",C=p._getLayoutTemplate("actions"),y=p.fileActionSettings,x=p.otherActionButtons.setTokens({dataKey:v,key:l}),T=o?y.removeClass+" disabled":y.removeClass;return a&&(w=p._getLayoutTemplate("actionDelete").setTokens({removeClass:T,removeIcon:y.removeIcon,removeTitle:y.removeTitle,dataUrl:g,dataKey:v,key:l})),t&&(b=p._getLayoutTemplate("actionUpload").setTokens({uploadClass:y.uploadClass,uploadIcon:y.uploadIcon,uploadTitle:y.uploadTitle})),i&&(_=(_=p._getLayoutTemplate("actionDownload").setTokens({downloadClass:y.downloadClass,downloadIcon:y.downloadIcon,downloadTitle:y.downloadTitle,downloadUrl:c||p.initialPreviewDownloadUrl})).setTokens({filename:u,key:l})),r&&(m=p._getLayoutTemplate("actionZoom").setTokens({zoomClass:y.zoomClass,zoomIcon:y.zoomIcon,zoomTitle:y.zoomTitle})),n&&d&&(f="drag-handle-init "+y.dragClass,h=p._getLayoutTemplate("actionDrag").setTokens({dragClass:f,dragTitle:y.dragTitle,dragIcon:y.dragIcon})),C.setTokens({delete:w,upload:b,download:_,zoom:m,drag:h,other:x})},_browse:function(e){var t=this;e&&e.isDefaultPrevented()||!t._raise("filebrowse")||(t.isError&&!t.isAjaxUpload&&t.clear(),t.focusCaptionOnBrowse&&t.$captionContainer.focus())},_change:function(e){var c=this;if(!c.changeTriggered){var t,i,a,r,n=c.$element,o=1
  • ")+"
  • ",0===t.find("ul").length?Y.setHtml(t,$.errorCloseButton+"
      "+e+"
    "):t.find("ul").append(e),t.fadeIn($.fadeDelay),$._handler(t.find(".kv-error-close"),"click",function(){t.fadeOut($.fadeDelay)}),$.duplicateErrors=[]),$.isAjaxUpload?($._raise("filebatchselected",[i.stack]),0!==i.count()||$.isError||$.reset()):$._raise("filebatchselected",[z]),R.removeClass("file-thumb-loading"),void O.html("");$.lock(!0);function u(){var e=L.setTokens({index:c+1,files:Z,percent:50,name:x});setTimeout(function(){O.html(e),$._updateFileDetails(Z),j(c+1)},$.processDelay),$._raise("fileloaded",[w,b,c,U])&&$.isAjaxUpload&&i.add(w)}var a,p,r,n,o,s,l,d,f,g,m,h,v,w=z[c],b=N+"-"+$._getFileId(w),_=H.text,C=H.image,y=H.html,x=$._getFileName(w,""),T=(w&&w.size||0)/1e3,P="",k=Y.createObjectURL(w),F=0,E="",S=!1,I=0;if(w){if(l=i.getId(w),0$.maxFileSize)return D=$.msgSizeTooLarge.setTokens({name:x,size:a,maxSize:$.maxFileSize}),void M(D,w,b,c,l);if(null!==$.minFileSize&&T<=Y.getNum($.minFileSize))return D=$.msgSizeTooSmall.setTokens({name:x,size:a,minSize:$.minFileSize}),void M(D,w,b,c,l);if(!Y.isEmpty(W)&&Y.isArray(W)){for(p=0;p',next:'',toggleheader:'',fullscreen:'',borderless:'',close:''},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-sm btn-kv btn-default btn-outline-secondary",fullscreen:"btn btn-sm btn-kv btn-default btn-outline-secondary",borderless:"btn btn-sm btn-kv btn-default btn-outline-secondary",close:"btn btn-sm btn-kv btn-default btn-outline-secondary"},previewTemplates:{},previewContentTemplates:{},preferIconicPreview:!1,preferIconicZoomPreview:!1,allowedFileTypes:null,allowedFileExtensions:null,allowedPreviewTypes:void 0,allowedPreviewMimeTypes:null,allowedPreviewExtensions:null,disabledPreviewTypes:void 0,disabledPreviewExtensions:["msi","exe","com","zip","rar","app","vb","scr"],disabledPreviewMimeTypes:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewFileIcon:'',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:' ',browseClass:"btn btn-primary",removeIcon:'',removeClass:"btn btn-default btn-secondary",cancelIcon:'',cancelClass:"btn btn-default btn-secondary",pauseIcon:'',pauseClass:"btn btn-default btn-secondary",uploadIcon:'',uploadClass:"btn btn-default btn-secondary",uploadUrl:null,uploadUrlThumb:null,uploadAsync:!0,uploadParamNames:{chunkCount:"chunkCount",chunkIndex:"chunkIndex",chunkSize:"chunkSize",chunkSizeStart:"chunkSizeStart",chunksUploaded:"chunksUploaded",fileBlob:"fileBlob",fileId:"fileId",fileName:"fileName",fileRelativePath:"fileRelativePath",fileSize:"fileSize",retryCount:"retryCount"},maxAjaxThreads:5,fadeDelay:800,processDelay:100,queueDelay:10,progressDelay:0,enableResumableUpload:!1,resumableUploadOptions:{fallback:null,testUrl:null,chunkSize:2048,maxThreads:4,maxRetries:3,showErrorLog:!0},uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",resizeIfSizeMoreThan:0,minFileSize:0,maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,maxTotalFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:' ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar progress-bar-striped active",progressClass:"progress-bar bg-success progress-bar-success progress-bar-striped active",progressInfoClass:"progress-bar bg-info progress-bar-info progress-bar-striped active",progressCompleteClass:"progress-bar bg-success progress-bar-success",progressPauseClass:"progress-bar bg-primary progress-bar-primary progress-bar-striped active",progressErrorClass:"progress-bar bg-danger progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:Y.closeButton("kv-error-close"),slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0,mergeAjaxCallbacks:!1,mergeAjaxDeleteCallbacks:!1,retryErrorUploads:!0,reversePreviewOrder:!1,usePdfRenderer:function(){var e=!!window.MSInputMethodContext&&!!document.documentMode;return!!navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/i)||e},pdfRendererUrl:"",pdfRendererTemplate:''},G.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse …",removeLabel:"Remove",removeTitle:"Clear all unprocessed files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",pauseLabel:"Pause",pauseTitle:"Pause ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgPaused:"Paused",msgPlaceholder:"Select {files} ...",msgZoomModalHeading:"Detailed Preview",msgFileRequired:"You must select a file to upload.",msgSizeTooSmall:'File "{name}" ({size} KB) is too small and must be larger than {minSize} KB.',msgSizeTooLarge:'File "{name}" ({size} KB) exceeds maximum allowed upload size of {maxSize} KB.',msgFilesTooLess:"You must select at least {n} {files} to upload.",msgFilesTooMany:"Number of files selected for upload ({n}) exceeds maximum allowed limit of {m}.",msgTotalFilesTooMany:"You can upload a maximum of {m} files ({n} files detected).",msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileName:'Invalid or unsupported characters in file name "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgFileTypes:{image:"image",html:"HTML",text:"text",video:"video",audio:"audio",flash:"flash",pdf:"PDF",object:"object"},msgUploadAborted:"The file upload was aborted",msgUploadThreshold:"Processing …",msgUploadBegin:"Initializing …",msgUploadEnd:"Done",msgUploadResume:"Resuming upload …",msgUploadEmpty:"No valid data available for upload.",msgUploadError:"Upload Error",msgDeleteError:"Delete Error",msgProgressError:"Error",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} …",msgProgress:"Loading file {index} of {files} - {name} - {percent}% completed.",msgSelected:"{n} {files} selected",msgFoldersNotAllowed:"Drag & drop files only! {n} folder(s) dropped were skipped.",msgImageWidthSmall:'Width of image file "{name}" must be at least {size} px.',msgImageHeightSmall:'Height of image file "{name}" must be at least {size} px.',msgImageWidthLarge:'Width of image file "{name}" cannot exceed {size} px.',msgImageHeightLarge:'Height of image file "{name}" cannot exceed {size} px.',msgImageResizeError:"Could not get the image dimensions to resize.",msgImageResizeException:"Error while resizing the image.
    {errors}
    ",msgAjaxError:"Something went wrong with the {operation} operation. Please try again later!",msgAjaxProgressError:"{operation} failed",msgDuplicateFile:'File "{name}" of same size "{size} KB" has already been selected earlier. Skipping duplicate selection.',msgResumableUploadRetriesExceeded:"Upload aborted beyond {max} retries for file {file}! Error Details:
    {error}
    ",msgPendingTime:"{time} remaining",msgCalculatingTime:"calculating time remaining",ajaxOperations:{deleteThumb:"file delete",uploadThumb:"file upload",uploadBatch:"batch file upload",uploadExtra:"form data upload"},dropZoneTitle:"Drag & drop files here …",dropZoneClickTitle:"
    (or click to select {files})",previewZoomButtonTitles:{prev:"View previous file",next:"View next file",toggleheader:"Toggle header",fullscreen:"Toggle full screen",borderless:"Toggle borderless mode",close:"Close detailed preview"}},G.fn.fileinput.Constructor=u,G(document).ready(function(){var e=G("input.file[type=file]");e.length&&e.fileinput()})});