{"version":3,"file":"kendo.imagebrowser.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendoimagebrowser","js","this","$","undefined$1","kendo","window","FileBrowser","ui","isPlainObject","extend","isFunction","trimSlashesRegExp","ERROR","NS","NAMEFIELD","SIZEFIELD","TYPEFIELD","DEFAULTSORTORDER","field","dir","EMPTYTILE","template","ref","text","icon","iconClass","htmlEncode","data","schemas","imagebrowser","items","model","id","fields","name","size","type","transports","RemoteTransport","init","options","fn","call","_call","path","read","create","destroy","update","ImageBrowser","element","addClass","fileTypes","value","that","selected","_selectedItem","imageUrl","transport","get","match","concatPaths","replace","format","encodeURIComponent","_fileUpload","e","file","filterRegExp","RegExp","split","join","fileName","files","fileSize","fileNameField","sizeField","test","_createFile","_uploading","upload","one","_insertFileToList","set","response","_getFieldName","_tiles","listView","filter","attr","_scroll","preventDefault","_showMessage","messages","invalidFileType","_content","list","appendTo","on","_dblClick","bind","ListView","layout","flex","direction","wrap","dataSource","_itemTmpl","editTemplate","_editTmpl","selectable","autoBind","dataBinding","toolbar","find","parent","action","progress","content","wrapper","dataBound","view","length","append","emptyFolder","change","_listViewChange","_dataSource","typeSortOrder","nameSortOrder","sort","schema","_errorHandler","unbind","_error","DataSource","_loadImage","li","dataItem","getByUid","thumbnailUrl","img","alt","urlJoin","hide","prev","remove","end","fadeIn","after","indexOf","_override","Date","getTime","loaded","clearTimeout","_timeout","setTimeout","height","_outerHeight","viewTop","scrollTop","viewBottom","each","top","offsetTop","bottom","offsetHeight","showLoading","suffix","Math","round","plugin","jQuery"],"sources":["kendo.imagebrowser.js"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.filebrowser.js'), require('kendo.icons.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.filebrowser', 'kendo.icons'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendoimagebrowser = global.kendoimagebrowser || {}, global.kendoimagebrowser.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"imagebrowser\",\n name: \"ImageBrowser\",\n category: \"web\",\n description: \"\",\n hidden: true,\n depends: [ \"filebrowser\", \"icons\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n FileBrowser = kendo.ui.FileBrowser,\n isPlainObject = $.isPlainObject,\n extend = $.extend,\n isFunction = kendo.isFunction,\n trimSlashesRegExp = /(^\\/|\\/$)/g,\n ERROR = \"error\",\n NS = \".kendoImageBrowser\",\n NAMEFIELD = \"name\",\n SIZEFIELD = \"size\",\n TYPEFIELD = \"type\",\n DEFAULTSORTORDER = { field: TYPEFIELD, dir: \"asc\" },\n EMPTYTILE = kendo.template(function (ref) {\n var text = ref.text;\n\n return (\"
\" + (kendo.ui.icon({ icon: \"none\", iconClass: \"k-file-icon\" })) + \"\" + (kendo.htmlEncode(text)) + \"
\");\n });\n\n extend(true, kendo.data, {\n schemas: {\n \"imagebrowser\": {\n data: function(data) {\n return data.items || data || [];\n },\n model: {\n id: \"name\",\n fields: {\n name: \"name\",\n size: \"size\",\n type: \"type\"\n }\n }\n }\n }\n });\n\n extend(true, kendo.data, {\n transports: {\n \"imagebrowser\": kendo.data.RemoteTransport.extend({\n init: function(options) {\n kendo.data.RemoteTransport.fn.init.call(this, $.extend(true, {}, this.options, options));\n },\n _call: function(type, options) {\n options.data = $.extend({}, options.data, { path: this.options.path() });\n\n if (isFunction(this.options[type])) {\n this.options[type].call(this, options);\n } else {\n kendo.data.RemoteTransport.fn[type].call(this, options);\n }\n },\n read: function(options) {\n this._call(\"read\", options);\n },\n create: function(options) {\n this._call(\"create\", options);\n },\n destroy: function(options) {\n this._call(\"destroy\", options);\n },\n update: function() {\n //updates are handled by the upload\n },\n options: {\n read: {\n type: \"POST\"\n },\n update: {\n type: \"POST\"\n },\n create: {\n type: \"POST\"\n },\n destroy: {\n type: \"POST\"\n }\n }\n })\n }\n });\n\n function offsetTop(element) {\n return element.offsetTop - $(element).height();\n }\n\n function concatPaths(path, name) {\n if (path === undefined$1 || !path.match(/\\/$/)) {\n path = (path || \"\") + \"/\";\n }\n return path + name;\n }\n\n function sizeFormatter(value) {\n if (!value) {\n return \"\";\n }\n\n var suffix = \" bytes\";\n\n if (value >= 1073741824) {\n suffix = \" GB\";\n value /= 1073741824;\n } else if (value >= 1048576) {\n suffix = \" MB\";\n value /= 1048576;\n } else if (value >= 1024) {\n suffix = \" KB\";\n value /= 1024;\n }\n\n return Math.round(value * 100) / 100 + suffix;\n }\n\n var ImageBrowser = FileBrowser.extend({\n init: function(element, options) {\n var that = this;\n\n options = options || {};\n\n FileBrowser.fn.init.call(that, element, options);\n\n that.element.addClass(\"k-imagebrowser\");\n },\n\n options: {\n name: \"ImageBrowser\",\n fileTypes: \"*.png,*.gif,*.jpg,*.jpeg\"\n },\n\n value: function() {\n var that = this,\n selected = that._selectedItem(),\n path,\n imageUrl = that.options.transport.imageUrl;\n\n if (selected && selected.get(TYPEFIELD) === \"f\") {\n path = concatPaths(that.path(), selected.get(NAMEFIELD)).replace(trimSlashesRegExp, \"\");\n if (imageUrl) {\n path = isFunction(imageUrl) ? imageUrl(path) : kendo.format(imageUrl, encodeURIComponent(path));\n }\n return path;\n }\n },\n\n _fileUpload: function(e) {\n var that = this,\n options = that.options,\n fileTypes = options.fileTypes,\n filterRegExp = new RegExp((\"(\" + fileTypes.split(\",\").join(\")|(\") + \")\").replace(/\\*\\./g , \".*.\"), \"i\"),\n fileName = e.files[0].name,\n fileSize = e.files[0].size,\n fileNameField = NAMEFIELD,\n sizeField = SIZEFIELD,\n file;\n\n if (filterRegExp.test(fileName)) {\n e.data = { path: that.path() };\n\n file = that._createFile(fileName, fileSize);\n\n if (!file) {\n e.preventDefault();\n } else {\n file._uploading = true;\n\n that.upload.one(\"error\", function() {\n file = undefined$1;\n });\n\n that.upload.one(\"success\", function(e) {\n if (file) {\n delete file._uploading;\n\n var model = that._insertFileToList(file);\n\n model.set(fileNameField, e.response[that._getFieldName(fileNameField)]);\n model.set(sizeField, e.response[that._getFieldName(sizeField)]);\n\n that._tiles = that.listView.items().filter(\"[\" + kendo.attr(\"type\") + \"=f]\");\n that._scroll();\n }\n });\n }\n } else {\n e.preventDefault();\n that._showMessage(kendo.htmlEncode(kendo.format(options.messages.invalidFileType, fileName, fileTypes)));\n }\n },\n\n _content: function() {\n var that = this;\n\n that.list = $('
')\n .appendTo(that.element)\n .on(\"dblclick\" + NS, \".k-listview-item\", that._dblClick.bind(that));\n\n that.listView = new kendo.ui.ListView(that.list, {\n layout: \"flex\",\n flex: {\n direction: \"row\",\n wrap: \"wrap\"\n },\n dataSource: that.dataSource,\n template: that._itemTmpl(),\n editTemplate: that._editTmpl(),\n selectable: true,\n autoBind: false,\n dataBinding: function(e) {\n\n that.toolbar.find(\".k-i-x,.k-svg-i-x\").parent().addClass(\"k-disabled\");\n\n if (e.action === \"remove\" || e.action === \"sync\") {\n e.preventDefault();\n kendo.ui.progress(that.listView.content, false);\n /* If there are no files left the loader is displayed over the wrapper instead of the content. */\n kendo.ui.progress(that.listView.wrapper, false);\n }\n },\n dataBound: function() {\n if (that.dataSource.view().length) {\n that._tiles = this.items().filter(\"[\" + kendo.attr(\"type\") + \"=f]\");\n that._scroll();\n } else {\n this.content.append(EMPTYTILE({ text: that.options.messages.emptyFolder }));\n }\n },\n change: that._listViewChange.bind(that)\n });\n\n that.listView.content.on(\"scroll\" + NS, that._scroll.bind(that));\n },\n\n _dataSource: function() {\n var that = this,\n options = that.options,\n transport = options.transport,\n typeSortOrder = extend({}, DEFAULTSORTORDER),\n nameSortOrder = { field: NAMEFIELD, dir: \"asc\" },\n schema,\n dataSource = {\n type: transport.type || \"imagebrowser\",\n sort: [typeSortOrder, nameSortOrder]\n };\n\n if (isPlainObject(transport)) {\n transport.path = that.path.bind(that);\n dataSource.transport = transport;\n }\n\n if (isPlainObject(options.schema)) {\n dataSource.schema = options.schema;\n } else if (transport.type && isPlainObject(kendo.data.schemas[transport.type])) {\n schema = kendo.data.schemas[transport.type];\n }\n\n if (that.dataSource && that._errorHandler) {\n that.dataSource.unbind(ERROR, that._errorHandler);\n } else {\n that._errorHandler = that._error.bind(that);\n }\n\n that.dataSource = kendo.data.DataSource.create(dataSource)\n .bind(ERROR, that._errorHandler);\n },\n\n _loadImage: function(li) {\n var that = this,\n element = $(li),\n dataItem = that.dataSource.getByUid(element.attr(kendo.attr(\"uid\"))),\n name = dataItem.get(NAMEFIELD),\n thumbnailUrl = that.options.transport.thumbnailUrl,\n img = $(\"\", { alt: name }),\n urlJoin = \"?\";\n\n if (dataItem._uploading) {\n return;\n }\n\n img.hide()\n .on(\"load\" + NS, function() {\n $(this).prev().remove().end().addClass(\"k-image k-file-image\").fadeIn();\n });\n\n element.find(\".k-i-loading\").after(img);\n\n if (isFunction(thumbnailUrl)) {\n thumbnailUrl = thumbnailUrl(that.path(), encodeURIComponent(name));\n } else {\n if (thumbnailUrl.indexOf(\"?\") >= 0) {\n urlJoin = \"&\";\n }\n\n thumbnailUrl = thumbnailUrl + urlJoin + \"path=\" + encodeURIComponent(that.path() + name);\n if (dataItem._override) {\n thumbnailUrl += \"&_=\" + new Date().getTime();\n delete dataItem._override;\n }\n }\n\n // IE8 will trigger the load event immediately when the src is assigned\n // if the image is loaded from the cache\n img.attr(\"src\", thumbnailUrl);\n\n li.loaded = true;\n },\n\n _scroll: function() {\n var that = this;\n if (that.options.transport && that.options.transport.thumbnailUrl) {\n clearTimeout(that._timeout);\n\n that._timeout = setTimeout(function() {\n\n var height = kendo._outerHeight(that.listView.content),\n viewTop = that.listView.content.scrollTop(),\n viewBottom = viewTop + height;\n\n that._tiles.each(function() {\n var top = offsetTop(this),\n bottom = top + this.offsetHeight;\n\n if ((top >= viewTop && top < viewBottom) || (bottom >= viewTop && bottom < viewBottom)) {\n that._loadImage(this);\n }\n\n if (top > viewBottom) {\n return false;\n }\n });\n\n that._tiles = that._tiles.filter(function() {\n return !this.loaded;\n });\n\n }, 250);\n }\n },\n\n _itemTmpl: function() {\n var that = this;\n\n var result = function (data) {\n var showLoading = that.options.transport && that.options.transport.thumbnailUrl;\n\n return \"
\" +\n \"\" + (data[TYPEFIELD] === 'd' ?\n (\"
\" + (kendo.ui.icon({ icon: \"folder\", iconClass: \"k-file-icon\" })) + \"
\") :\n (\"
\" + (showLoading ? '' : kendo.ui.icon({ icon: \"file\", iconClass: \"k-file-icon\" })) + \"
\")) +\n \"\" + (data[NAMEFIELD]) + \"\" +\n \"\" + (data[TYPEFIELD] === 'f' ? (\"\" + (sizeFormatter(data[SIZEFIELD])) + \"\") : '') +\n \"
\";\n };\n\n return kendo.template(result);\n }\n });\n\n kendo.ui.plugin(ImageBrowser);\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}