9 lines
5.2 KiB
JavaScript
9 lines
5.2 KiB
JavaScript
/*
|
|
* Kendo UI v2015.3.1111 (http://www.telerik.com/kendo-ui)
|
|
* Copyright 2015 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.filebrowser.min"],e)}(function(){return function(e,t){function n(e,n){return e!==t&&e.match(/\/$/)||(e=(e||"")+"/"),e+n}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 o,r,s=window.kendo,a=s.ui.FileBrowser,l=e.isPlainObject,c=e.proxy,u=e.extend,h=s.support.browser,d=s.isFunction,f=/(^\/|\/$)/g,p="error",g=".kendoImageBrowser",m="name",v="size",_="type",w={field:_,dir:"asc"},b=s.template('<li class="k-tile-empty"><strong>${text}</strong></li>');u(!0,s.data,{schemas:{imagebrowser:{data:function(e){return e.items||e||[]},model:{id:"name",fields:{name:"name",size:"size",type:"type"}}}}}),u(!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,n){n.data=e.extend({},n.data,{path:this.options.path()}),d(this.options[t])?this.options[t].call(this,n):s.data.RemoteTransport.fn[t].call(this,n)},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"}}})}}),o=h.msie&&8>h.version?function(e){return e.offsetTop}:function(t){return t.offsetTop-e(t).height()},r=a.extend({init:function(e,t){var n=this;t=t||{},a.fn.init.call(n,e,t),n.element.addClass("k-imagebrowser")},options:{name:"ImageBrowser",fileTypes:"*.png,*.gif,*.jpg,*.jpeg"},value:function(){var e,i=this,o=i._selectedItem(),r=i.options.transport.imageUrl;return o&&"f"===o.get(_)?(e=n(i.path(),o.get(m)).replace(f,""),r&&(e=d(r)?r(e):s.format(r,encodeURIComponent(e))),e):t},_fileUpload:function(e){var t,n=this,i=n.options,o=i.fileTypes,r=RegExp(("("+o.split(",").join(")|(")+")").replace(/\*\./g,".*."),"i"),a=e.files[0].name,l=m,c=v;r.test(a)?(e.data={path:n.path()},t=n._createFile(a),t?(t._uploading=!0,n.upload.one("success",function(e){delete t._uploading,t.set(l,e.response[n._getFieldName(l)]),t.set(c,e.response[n._getFieldName(c)]),n._tiles=n.listView.items().filter("["+s.attr("type")+"=f]"),n._scroll()})):e.preventDefault()):(e.preventDefault(),n._showMessage(s.format(i.messages.invalidFileType,a,o)))},_content:function(){var t=this;t.list=e('<ul class="k-reset k-floats k-tiles" />').appendTo(t.element).on("scroll"+g,c(t._scroll,t)).on("dblclick"+g,"li",c(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(b({text:t.options.messages.emptyFolder}))},change:c(t._listViewChange,t)})},_dataSource:function(){var e,t=this,n=t.options,i=n.transport,o=u({},w),r={field:m,dir:"asc"},a={type:i.type||"imagebrowser",sort:[o,r]};l(i)&&(i.path=c(t.path,t),a.transport=i),l(n.schema)?a.schema=n.schema:i.type&&l(s.data.schemas[i.type])&&(e=s.data.schemas[i.type]),t.dataSource&&t._errorHandler?t.dataSource.unbind(p,t._errorHandler):t._errorHandler=c(t._error,t),t.dataSource=s.data.DataSource.create(a).bind(p,t._errorHandler)},_loadImage:function(t){var n=this,i=e(t),o=n.dataSource.getByUid(i.attr(s.attr("uid"))),r=o.get(m),a=n.options.transport.thumbnailUrl,l=e("<img />",{alt:r}),c="?";o._uploading||(l.hide().on("load"+g,function(){e(this).prev().remove().end().addClass("k-image").fadeIn()}),i.find(".k-loading").after(l),d(a)?a=a(n.path(),encodeURIComponent(r)):(a.indexOf("?")>=0&&(c="&"),a=a+c+"path="+n.path()+encodeURIComponent(r)),l.attr("src",a),t.loaded=!0)},_scroll:function(){var e=this;e.options.transport&&e.options.transport.thumbnailUrl&&(clearTimeout(e._timeout),e._timeout=setTimeout(function(){var n=e.list.outerHeight(),i=e.list.scrollTop(),r=i+n;e._tiles.each(function(){var n=o(this),s=n+this.offsetHeight;return(n>=i&&r>n||s>=i&&r>s)&&e._loadImage(this),n>r?!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")+'="${'+_+'}">',t+="#if("+_+' == "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>${"+m+"}</strong>",t+="#if("+_+' == "f") { # <span class="k-filesize">${this.sizeFormatter('+v+")}</span> #}#",t+="</li>",c(s.template(t),{sizeFormatter:i})}}),s.ui.plugin(r)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()}); |