kendo.imagebrowser.min.js 9.15 KB
/** 
 * Kendo UI v2016.1.112 (http://www.telerik.com/kendo-ui)                                                                                                                                               
 * Copyright 2016 Telerik AD. All rights reserved.                                                                                                                                                      
 *                                                                                                                                                                                                      
 * Kendo UI commercial licenses may be obtained at                                                                                                                                                      
 * http://www.telerik.com/purchase/license-agreement/kendo-ui-complete                                                                                                                                  
 * If you do not own a commercial license, this file shall be governed by the trial license terms.                                                                                                      
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       
                                                                                                                                                                                                       

*/
!function(e,define){define("kendo.imagebrowser.min",["kendo.filebrowser.min"],e)}(function(){return function(e,t){function a(e,a){return e!==t&&e.match(/\/$/)||(e=(e||"")+"/"),e+a}function i(e){if(!e)return"";var t=" bytes";return e>=1073741824?(t=" GB",e/=1073741824):e>=1048576?(t=" MB",e/=1048576):e>=1024&&(t=" KB",e/=1024),Math.round(100*e)/100+t}var n,o,s=window.kendo,r=s.ui.FileBrowser,l=e.isPlainObject,d=e.proxy,p=e.extend,c=s.support.browser,u=s.isFunction,f=/(^\/|\/$)/g,m="error",h=".kendoImageBrowser",g="name",_="size",y="type",k={field:y,dir:"asc"},v=s.template('<li class="k-tile-empty"><strong>${text}</strong></li>');p(!0,s.data,{schemas:{imagebrowser:{data:function(e){return e.items||e||[]},model:{id:"name",fields:{name:"name",size:"size",type:"type"}}}}}),p(!0,s.data,{transports:{imagebrowser:s.data.RemoteTransport.extend({init:function(t){s.data.RemoteTransport.fn.init.call(this,e.extend(!0,{},this.options,t))},_call:function(t,a){a.data=e.extend({},a.data,{path:this.options.path()}),u(this.options[t])?this.options[t].call(this,a):s.data.RemoteTransport.fn[t].call(this,a)},read:function(e){this._call("read",e)},create:function(e){this._call("create",e)},destroy:function(e){this._call("destroy",e)},update:function(){},options:{read:{type:"POST"},update:{type:"POST"},create:{type:"POST"},destroy:{type:"POST"}}})}}),n=c.msie&&8>c.version?function(e){return e.offsetTop}:function(t){return t.offsetTop-e(t).height()},o=r.extend({init:function(e,t){var a=this;t=t||{},r.fn.init.call(a,e,t),a.element.addClass("k-imagebrowser")},options:{name:"ImageBrowser",fileTypes:"*.png,*.gif,*.jpg,*.jpeg"},value:function(){var e,i=this,n=i._selectedItem(),o=i.options.transport.imageUrl;return n&&"f"===n.get(y)?(e=a(i.path(),n.get(g)).replace(f,""),o&&(e=u(o)?o(e):s.format(o,encodeURIComponent(e))),e):t},_fileUpload:function(e){var t,a=this,i=a.options,n=i.fileTypes,o=RegExp(("("+n.split(",").join(")|(")+")").replace(/\*\./g,".*."),"i"),r=e.files[0].name,l=g,d=_;o.test(r)?(e.data={path:a.path()},t=a._createFile(r),t?(t._uploading=!0,a.upload.one("success",function(e){delete t._uploading,t.set(l,e.response[a._getFieldName(l)]),t.set(d,e.response[a._getFieldName(d)]),a._tiles=a.listView.items().filter("["+s.attr("type")+"=f]"),a._scroll()})):e.preventDefault()):(e.preventDefault(),a._showMessage(s.format(i.messages.invalidFileType,r,n)))},_content:function(){var t=this;t.list=e('<ul class="k-reset k-floats k-tiles" />').appendTo(t.element).on("scroll"+h,d(t._scroll,t)).on("dblclick"+h,"li",d(t._dblClick,t)),t.listView=new s.ui.ListView(t.list,{dataSource:t.dataSource,template:t._itemTmpl(),editTemplate:t._editTmpl(),selectable:!0,autoBind:!1,dataBinding:function(e){t.toolbar.find(".k-delete").parent().addClass("k-state-disabled"),("remove"===e.action||"sync"===e.action)&&e.preventDefault()},dataBound:function(){t.dataSource.view().length?(t._tiles=this.items().filter("["+s.attr("type")+"=f]"),t._scroll()):this.wrapper.append(v({text:t.options.messages.emptyFolder}))},change:d(t._listViewChange,t)})},_dataSource:function(){var e,t=this,a=t.options,i=a.transport,n=p({},k),o={field:g,dir:"asc"},r={type:i.type||"imagebrowser",sort:[n,o]};l(i)&&(i.path=d(t.path,t),r.transport=i),l(a.schema)?r.schema=a.schema:i.type&&l(s.data.schemas[i.type])&&(e=s.data.schemas[i.type]),t.dataSource&&t._errorHandler?t.dataSource.unbind(m,t._errorHandler):t._errorHandler=d(t._error,t),t.dataSource=s.data.DataSource.create(r).bind(m,t._errorHandler)},_loadImage:function(t){var a=this,i=e(t),n=a.dataSource.getByUid(i.attr(s.attr("uid"))),o=n.get(g),r=a.options.transport.thumbnailUrl,l=e("<img />",{alt:o}),d="?";n._uploading||(l.hide().on("load"+h,function(){e(this).prev().remove().end().addClass("k-image").fadeIn()}),i.find(".k-loading").after(l),u(r)?r=r(a.path(),encodeURIComponent(o)):(r.indexOf("?")>=0&&(d="&"),r=r+d+"path="+a.path()+encodeURIComponent(o),n._forceReload&&(r+="&_="+(new Date).getTime(),delete n._forceReload)),l.attr("src",r),t.loaded=!0)},_scroll:function(){var e=this;e.options.transport&&e.options.transport.thumbnailUrl&&(clearTimeout(e._timeout),e._timeout=setTimeout(function(){var a=e.list.outerHeight(),i=e.list.scrollTop(),o=i+a;e._tiles.each(function(){var a=n(this),s=a+this.offsetHeight;return(a>=i&&o>a||s>=i&&o>s)&&e._loadImage(this),a>o?!1:t}),e._tiles=e._tiles.filter(function(){return!this.loaded})},250))},_itemTmpl:function(){var e=this,t='<li class="k-tile" '+s.attr("uid")+'="#=uid#" ';return t+=s.attr("type")+'="${'+y+'}">',t+="#if("+y+' == "d") { #',t+='<div class="k-thumb"><span class="k-icon k-folder"></span></div>',t+="#}else{#",t+=e.options.transport&&e.options.transport.thumbnailUrl?'<div class="k-thumb"><span class="k-icon k-loading"></span></div>':'<div class="k-thumb"><span class="k-icon k-file"></span></div>',t+="#}#",t+="<strong>${"+g+"}</strong>",t+="#if("+y+' == "f") { # <span class="k-filesize">${this.sizeFormatter('+_+")}</span> #}#",t+="</li>",d(s.template(t),{sizeFormatter:i})}}),s.ui.plugin(o)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t,a){(a||t)()});
//# sourceMappingURL=kendo.imagebrowser.min.js.map