{"version":3,"sources":["kendo.listview.js"],"names":["f","define","$","undefined","kendo","window","CHANGE","KENDO_KEYDOWN","CANCEL","DATABOUND","DATABINDING","Widget","ui","keys","EMPTY_STRING","FOCUSSELECTOR","PROGRESS","ERROR","FOCUSED","SELECTED","KEDITITEM","EDIT","REMOVE","SAVE","MOUSEDOWN","CLICK","TOUCHSTART","NS","proxy","activeElement","_activeElement","progress","DataSource","data","ListView","DataBoundWidget","extend","init","element","options","that","this","isArray","dataSource","fn","call","wrapper","id","_itemId","_element","_layout","_dataSource","_templates","_navigatable","_selectable","_pageable","_crudHandlers","_scrollable","autoBind","fetch","notify","events","name","selectable","navigatable","height","template","altTemplate","editTemplate","contentTemplate","contentElement","bordered","borders","layout","flex","direction","wrap","grid","setOptions","destroy","_item","action","content","children","items","dataItem","attr","uid","closest","getByUid","setDataSource","_unbindDataSource","unbind","_refreshHandler","_progressHandler","_errorHandler","refresh","_progress","_error","create","bind","toggle","opacity","addClass","document","createElement","appendTo","css","elementClassNames","contentClassNames","add","removeClass","index","className","indexOf","push","contentPadding","cols","rows","rowHeight","gutter","join","e","item","idx","length","view","html","role","active","endlessAppend","_endlessFetchInProgress","_skipRerenderItemsCount","scrollable","_hasBindingTarget","editable","filter","angular","elements","replaceWith","eq","trigger","_angularItems","_destroyEditable","append","not","_focusNext","current","next","settings","pagerId","pageable","isPlainObject","pager","Pager","multi","Selectable","parseOptions","multiple","aria","change","on","keyCode","SPACEBAR","target","currentTarget","preventDefault","ctrlKey","hasClass","clear","value","originalPageSize","overflow-y","position","-webkit-overflow-scrolling","_endlessPageSize","pageSize","off","scrollTop","clientHeight","scrollHeight","total","endless","candidate","_current","removeAttr","_scrollTo","container","scrollDirectionFunc","UseJQueryoffset","SCROLL","dimension","elementOffset","offset","toLowerCase","elementDimension","containerScrollAmount","containerDimension","clickCallback","is","focusElement","_tabindex","focusAgain","key","canHandle","isTextBox","editItem","find","ESC","ENTER","UP","LEFT","prev","DOWN","RIGHT","PAGEUP","page","PAGEDOWN","HOME","END","blur","save","one","edit","cancel","clearSelection","select","first","_modelFromElement","_closeEditable","kendoEditable","model","clearContainer","errorTemplate","end","sync","remove","cancelChanges","hide","insert","mousedownNs","touchstartNs","clickNs","setTimeout","plugin","jQuery","amd","a1","a2","a3"],"mappings":"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","file":"kendo.listview.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.listview', [\n 'kendo.data',\n 'kendo.editable',\n 'kendo.selectable'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'listview',\n name: 'ListView',\n category: 'web',\n description: 'The ListView widget offers rich support for interacting with data.',\n depends: ['data'],\n features: [\n {\n id: 'listview-editing',\n name: 'Editing',\n description: 'Support for record editing',\n depends: ['editable']\n },\n {\n id: 'listview-selection',\n name: 'Selection',\n description: 'Support for selection',\n depends: ['selectable']\n }\n ]\n };\n (function ($, undefined) {\n var kendo = window.kendo, CHANGE = 'change', KENDO_KEYDOWN = 'kendoKeydown', CANCEL = 'cancel', DATABOUND = 'dataBound', DATABINDING = 'dataBinding', Widget = kendo.ui.Widget, keys = kendo.keys, EMPTY_STRING = '', FOCUSSELECTOR = '> *:not(.k-loading-mask)', PROGRESS = 'progress', ERROR = 'error', FOCUSED = 'k-state-focused', SELECTED = 'k-state-selected', KEDITITEM = 'k-edit-item', EDIT = 'edit', REMOVE = 'remove', SAVE = 'save', MOUSEDOWN = 'mousedown', CLICK = 'click', TOUCHSTART = 'touchstart', NS = '.kendoListView', proxy = $.proxy, activeElement = kendo._activeElement, progress = kendo.ui.progress, DataSource = kendo.data.DataSource;\n var ListView = kendo.ui.DataBoundWidget.extend({\n init: function (element, options) {\n var that = this;\n options = $.isArray(options) ? { dataSource: options } : options;\n Widget.fn.init.call(that, element, options);\n options = that.options;\n that.wrapper = element = that.element;\n if (element[0].id) {\n that._itemId = element[0].id + '_lv_active';\n }\n that._element();\n that._layout();\n that._dataSource();\n that._templates();\n that._navigatable();\n that._selectable();\n that._pageable();\n that._crudHandlers();\n that._scrollable();\n if (that.options.autoBind) {\n that.dataSource.fetch();\n }\n kendo.notify(that);\n },\n events: [\n CHANGE,\n CANCEL,\n DATABINDING,\n DATABOUND,\n EDIT,\n REMOVE,\n SAVE,\n KENDO_KEYDOWN\n ],\n options: {\n name: 'ListView',\n autoBind: true,\n selectable: false,\n navigatable: false,\n height: null,\n template: EMPTY_STRING,\n altTemplate: EMPTY_STRING,\n editTemplate: EMPTY_STRING,\n contentTemplate: '
',\n contentElement: 'div',\n bordered: true,\n borders: '',\n layout: '',\n flex: {\n direction: 'row',\n wrap: 'nowrap'\n },\n grid: {}\n },\n setOptions: function (options) {\n Widget.fn.setOptions.call(this, options);\n this._layout();\n this._templates();\n if (this.selectable) {\n this.selectable.destroy();\n this.selectable = null;\n }\n this._selectable();\n },\n _templates: function () {\n var options = this.options;\n this.template = kendo.template(options.template || EMPTY_STRING);\n this.altTemplate = kendo.template(options.altTemplate || options.template);\n this.editTemplate = kendo.template(options.editTemplate || EMPTY_STRING);\n },\n _item: function (action) {\n return this.content.children()[action]();\n },\n items: function () {\n return this.content.children();\n },\n dataItem: function (element) {\n var attr = kendo.attr('uid');\n var uid = $(element).closest('[' + attr + ']').attr(attr);\n return this.dataSource.getByUid(uid);\n },\n setDataSource: function (dataSource) {\n this.options.dataSource = dataSource;\n this._dataSource();\n if (this.options.autoBind) {\n dataSource.fetch();\n }\n },\n _unbindDataSource: function () {\n var that = this;\n that.dataSource.unbind(CHANGE, that._refreshHandler).unbind(PROGRESS, that._progressHandler).unbind(ERROR, that._errorHandler);\n },\n _dataSource: function () {\n var that = this;\n if (that.dataSource && that._refreshHandler) {\n that._unbindDataSource();\n } else {\n that._refreshHandler = proxy(that.refresh, that);\n that._progressHandler = proxy(that._progress, that);\n that._errorHandler = proxy(that._error, that);\n }\n that.dataSource = DataSource.create(that.options.dataSource).bind(CHANGE, that._refreshHandler).bind(PROGRESS, that._progressHandler).bind(ERROR, that._errorHandler);\n },\n _progress: function (toggle) {\n var element = this.content;\n progress(element, toggle, { opacity: true });\n },\n _error: function () {\n progress(this.content, false);\n },\n _element: function () {\n var options = this.options;\n var height = options.height;\n this.element.addClass('k-widget k-listview');\n if (options.navigatable || options.selectable) {\n this.element.attr('role', 'listbox');\n } else {\n this.element.attr('role', 'list');\n }\n if (options.contentElement) {\n this.content = $(document.createElement(options.contentElement)).appendTo(this.element);\n } else {\n this.content = this.element;\n }\n if (height) {\n this.element.css('height', height);\n }\n },\n _layout: function () {\n var that = this;\n var options = that.options;\n var flex = options.flex;\n var grid = options.grid;\n var element = that.element;\n var elementClassNames = [\n 'k-widget',\n 'k-listview'\n ];\n var content = that.content;\n var contentClassNames = ['k-listview-content'];\n element.add(content).removeClass(function (index, className) {\n if (className.indexOf('k-') >= 0) {\n return true;\n }\n });\n if (options.bordered === true) {\n elementClassNames.push('k-listview-bordered');\n }\n if (typeof options.borders === 'string' && options.borders !== EMPTY_STRING) {\n elementClassNames.push('k-listview-borders-' + options.borders);\n }\n if (typeof options.contentPadding === 'string' && options.contentPadding !== EMPTY_STRING) {\n contentClassNames.push('k-listview-content-padding-' + options.contentPadding);\n }\n if (typeof options.layout === 'string' && options.layout !== EMPTY_STRING) {\n contentClassNames.push('k-d-' + options.layout);\n }\n if (options.layout === 'flex' && typeof flex === 'object') {\n if (typeof flex.direction === 'string' && flex.direction !== '') {\n contentClassNames.push('k-flex-' + flex.direction);\n }\n if (typeof flex.wrap === 'string' && flex.wrap !== '') {\n contentClassNames.push('k-flex-' + flex.wrap);\n }\n }\n if (options.layout === 'grid' && typeof grid === 'object') {\n if (typeof grid.cols === 'number') {\n content.css('grid-template-columns', 'repeat(' + grid.cols + ', 1fr)');\n } else if (typeof grid.cols === 'string') {\n content.css('grid-template-columns', grid.cols);\n }\n if (typeof grid.rows === 'number') {\n content.css('grid-template-rows', 'repeat(' + grid.rows + ', ' + (grid.rowHeight !== undefined ? grid.rowHeight : '1fr') + ')');\n } else if (typeof grid.rows === 'string') {\n content.css('grid-template-rows', grid.rows);\n }\n if (typeof grid.gutter === 'number') {\n content.css('grid-gap', grid.gutter);\n } else if (typeof grid.gutter === 'string') {\n content.css('grid-gap', grid.gutter);\n }\n }\n that.element.addClass(elementClassNames.join(' '));\n that.content.addClass(contentClassNames.join(' '));\n },\n refresh: function (e) {\n var that = this, view = that.dataSource.view(), data, items, item, html = '', idx, length, template = that.template, altTemplate = that.altTemplate, options = that.options, role = options.selectable || options.navigatable ? 'option' : 'listitem', active = activeElement(), endlessAppend = that._endlessFetchInProgress, index = endlessAppend ? that._skipRerenderItemsCount : 0, scrollable = that.options.scrollable;\n e = e || {};\n if (e.action === 'itemchange') {\n if (!that._hasBindingTarget() && !that.editable) {\n data = e.items[0];\n item = that.items().filter('[' + kendo.attr('uid') + '=' + data.uid + ']');\n if (item.length > 0) {\n idx = item.index();\n that.angular('cleanup', function () {\n return { elements: [item] };\n });\n item.replaceWith(template(data));\n item = that.items().eq(idx);\n item.attr(kendo.attr('uid'), data.uid);\n that.angular('compile', function () {\n return {\n elements: [item],\n data: [{ dataItem: data }]\n };\n });\n that.trigger('itemChange', {\n item: item,\n data: data\n });\n }\n }\n return;\n }\n if (that.trigger(DATABINDING, {\n action: e.action || 'rebind',\n items: e.items,\n index: e.index\n })) {\n return;\n }\n that._angularItems('cleanup');\n if (!endlessAppend) {\n that._destroyEditable();\n }\n for (idx = index, length = view.length; idx < length; idx++) {\n if (idx % 2) {\n html += altTemplate(view[idx]);\n } else {\n html += template(view[idx]);\n }\n }\n if (endlessAppend) {\n that.content.append(html);\n } else {\n that.content.html(html);\n }\n items = that.items().not('.k-loading-mask');\n for (idx = index, length = view.length; idx < length; idx++) {\n item = items.eq(idx);\n item.attr(kendo.attr('uid'), view[idx].uid).attr('role', role);\n if (that.options.selectable) {\n item.attr('aria-selected', 'false');\n }\n }\n if (that.content[0] === active && that.options.navigatable) {\n if (that._focusNext) {\n that.current(that.current().next());\n } else {\n if (!scrollable) {\n that.current(items.eq(0));\n }\n }\n }\n that._angularItems('compile');\n that._progress(false);\n that._endlessFetchInProgress = null;\n that.trigger(DATABOUND, {\n action: e.action || 'rebind',\n items: e.items,\n index: e.index\n });\n },\n _pageable: function () {\n var that = this, pageable = that.options.pageable, settings, pagerId;\n if ($.isPlainObject(pageable)) {\n pagerId = pageable.pagerId;\n settings = $.extend({}, pageable, {\n dataSource: that.dataSource,\n pagerId: null\n });\n that.pager = new kendo.ui.Pager($('#' + pagerId), settings);\n }\n },\n _selectable: function () {\n var that = this, multi, current, selectable = that.options.selectable, navigatable = that.options.navigatable;\n if (selectable) {\n multi = kendo.ui.Selectable.parseOptions(selectable).multiple;\n that.selectable = new kendo.ui.Selectable(that.element, {\n aria: true,\n multiple: multi,\n filter: that.options.contentElement ? '.k-listview-content ' + FOCUSSELECTOR : FOCUSSELECTOR,\n change: function () {\n that.trigger(CHANGE);\n }\n });\n if (navigatable) {\n that.element.on('keydown' + NS, function (e) {\n if (e.keyCode === keys.SPACEBAR) {\n current = that.current();\n if (e.target == e.currentTarget) {\n e.preventDefault();\n }\n if (multi) {\n if (!e.ctrlKey) {\n that.selectable.clear();\n } else {\n if (current && current.hasClass(SELECTED)) {\n current.removeClass(SELECTED);\n return;\n }\n }\n } else {\n that.selectable.clear();\n }\n that.selectable.value(current);\n }\n });\n }\n }\n },\n _scrollable: function () {\n var that = this;\n var scrollable = that.options.scrollable;\n if (scrollable) {\n that.content.css({\n 'overflow-y': 'scroll',\n 'position': 'relative',\n '-webkit-overflow-scrolling': 'touch'\n });\n if (scrollable === 'endless') {\n var originalPageSize = that._endlessPageSize = that.dataSource.options.pageSize;\n that.content.off('scroll' + NS).on('scroll' + NS, function () {\n if (this.scrollTop + this.clientHeight - this.scrollHeight >= -15 && !that._endlessFetchInProgress && that._endlessPageSize < that.dataSource.total()) {\n that._skipRerenderItemsCount = that._endlessPageSize;\n that._endlessPageSize = that._skipRerenderItemsCount + originalPageSize;\n that.dataSource.options.endless = true;\n that._endlessFetchInProgress = true;\n that.dataSource.pageSize(that._endlessPageSize);\n }\n });\n }\n }\n },\n current: function (candidate) {\n var that = this, element = that.element, current = that._current, id = that._itemId;\n if (candidate === undefined) {\n return current;\n }\n if (current && current[0]) {\n if (current[0].id === id) {\n current.removeAttr('id');\n }\n current.removeClass(FOCUSED);\n element.removeAttr('aria-activedescendant');\n }\n if (candidate && candidate[0]) {\n id = candidate[0].id || id;\n that._scrollTo(candidate[0]);\n element.attr('aria-activedescendant', id);\n candidate.addClass(FOCUSED).attr('id', id);\n }\n that._current = candidate;\n },\n _scrollTo: function (element) {\n var that = this, content = that.content, container, UseJQueryoffset = false, SCROLL = 'scroll';\n if (content.css('overflow') === 'auto' || content.css('overflow') === SCROLL || content.css('overflow-y') === SCROLL) {\n container = content[0];\n } else {\n container = window;\n UseJQueryoffset = true;\n }\n var scrollDirectionFunc = function (direction, dimension) {\n var elementOffset = UseJQueryoffset ? $(element).offset()[direction.toLowerCase()] : element['offset' + direction], elementDimension = element['client' + dimension], containerScrollAmount = $(container)[SCROLL + direction](), containerDimension = $(container)[dimension.toLowerCase()]();\n if (elementOffset + elementDimension > containerScrollAmount + containerDimension) {\n $(container)[SCROLL + direction](elementOffset + elementDimension - containerDimension);\n } else if (elementOffset < containerScrollAmount) {\n $(container)[SCROLL + direction](elementOffset);\n }\n };\n scrollDirectionFunc('Top', 'Height');\n scrollDirectionFunc('Left', 'Width');\n },\n _navigatable: function () {\n var that = this, navigatable = that.options.navigatable, element = that.element, content = that.content, clickCallback = function (e) {\n that.current($(e.currentTarget));\n if (!$(e.target).is(':button, a, :input, a > .k-icon, textarea')) {\n kendo.focusElement(element);\n }\n };\n if (navigatable) {\n that._tabindex();\n element.on('focus' + NS, function () {\n var current = that._current;\n if (!current || !current.is(':visible')) {\n current = that._item('first');\n }\n that.current(current);\n }).on('focusout' + NS, function () {\n if (that._current) {\n that._current.removeClass(FOCUSED);\n }\n }).on('keydown' + NS, that, function (e) {\n var key = e.keyCode, current = that.current(), target = $(e.target), canHandle = !target.is(':button, textarea, a, a > .t-icon, input'), isTextBox = target.is(':text, :password'), preventDefault = kendo.preventDefault, editItem = content.find('.' + KEDITITEM), active = activeElement(), idx, scrollable = that.options.scrollable;\n if (!canHandle && !isTextBox && key !== keys.ESC || isTextBox && key !== keys.ESC && key !== keys.ENTER) {\n return;\n }\n if (key === keys.UP || key === keys.LEFT) {\n if (current && current[0]) {\n current = current.prev();\n }\n if (current && current[0]) {\n that.current(current);\n } else if (!scrollable) {\n that.current(that._item('last'));\n }\n preventDefault(e);\n }\n if (key === keys.DOWN || key === keys.RIGHT) {\n if (scrollable) {\n if (that.options.scrollable === 'endless' && !current.next().length) {\n that.content[0].scrollTop = that.content[0].scrollHeight;\n that._focusNext = true;\n } else {\n current = current.next();\n if (current && current[0]) {\n that.current(current);\n }\n }\n } else {\n current = current.next();\n that.current(!current || !current[0] ? that._item('first') : current);\n }\n preventDefault(e);\n }\n if (key === keys.PAGEUP) {\n that.current(null);\n that.dataSource.page(that.dataSource.page() - 1);\n preventDefault(e);\n }\n if (key === keys.PAGEDOWN) {\n that.current(null);\n that.dataSource.page(that.dataSource.page() + 1);\n preventDefault(e);\n }\n if (key === keys.HOME) {\n that.current(that._item('first'));\n preventDefault(e);\n }\n if (key === keys.END) {\n that.current(that._item('last'));\n preventDefault(e);\n }\n if (key === keys.ENTER) {\n if (editItem.length !== 0 && (canHandle || isTextBox)) {\n idx = that.items().index(editItem);\n if (active) {\n active.blur();\n }\n that.save();\n var focusAgain = function () {\n that.element.trigger('focus');\n that.current(that.items().eq(idx));\n };\n that.one('dataBound', focusAgain);\n } else if (that.options.editTemplate !== '') {\n that.edit(current);\n }\n }\n if (key === keys.ESC) {\n editItem = content.find('.' + KEDITITEM);\n if (editItem.length === 0) {\n return;\n }\n idx = that.items().index(editItem);\n that.cancel();\n that.element.trigger('focus');\n that.current(that.items().eq(idx));\n }\n });\n element.on(MOUSEDOWN + NS + ' ' + TOUCHSTART + NS, that.options.contentElement ? '.k-listview-content ' + FOCUSSELECTOR : FOCUSSELECTOR, proxy(clickCallback, that));\n }\n },\n clearSelection: function () {\n var that = this;\n that.selectable.clear();\n that.trigger(CHANGE);\n },\n select: function (items) {\n var that = this, selectable = that.selectable;\n items = $(items);\n if (items.length) {\n if (!selectable.options.multiple) {\n selectable.clear();\n items = items.first();\n }\n selectable.value(items);\n return;\n }\n return selectable.value();\n },\n _destroyEditable: function () {\n var that = this;\n if (that.editable) {\n that.editable.destroy();\n delete that.editable;\n }\n },\n _modelFromElement: function (element) {\n var uid = element.attr(kendo.attr('uid'));\n return this.dataSource.getByUid(uid);\n },\n _closeEditable: function () {\n var that = this, editable = that.editable, options = that.options, role = options.selectable || options.navigatable ? 'option' : 'listitem', data, item, index, template = that.template;\n if (editable) {\n if (editable.element.index() % 2) {\n template = that.altTemplate;\n }\n that.angular('cleanup', function () {\n return { elements: [editable.element] };\n });\n data = that._modelFromElement(editable.element);\n that._destroyEditable();\n index = editable.element.index();\n editable.element.replaceWith(template(data));\n item = that.items().eq(index);\n item.attr(kendo.attr('uid'), data.uid);\n item.attr('role', role);\n if (that._hasBindingTarget()) {\n kendo.bind(item, data);\n }\n that.angular('compile', function () {\n return {\n elements: [item],\n data: [{ dataItem: data }]\n };\n });\n }\n return true;\n },\n edit: function (item) {\n var that = this, data = that._modelFromElement(item), container, uid = data.uid, index;\n that.cancel();\n item = that.items().filter('[' + kendo.attr('uid') + '=' + uid + ']');\n index = item.index();\n item.replaceWith(that.editTemplate(data));\n container = that.items().eq(index).addClass(KEDITITEM).attr(kendo.attr('uid'), data.uid);\n that.editable = container.kendoEditable({\n model: data,\n clearContainer: false,\n errorTemplate: false,\n target: that\n }).data('kendoEditable');\n that.trigger(EDIT, {\n model: data,\n item: container\n });\n },\n save: function () {\n var that = this, editable = that.editable, model;\n if (!editable) {\n return;\n }\n var container = editable.element;\n model = that._modelFromElement(container);\n if (editable.end() && !that.trigger(SAVE, {\n model: model,\n item: container\n })) {\n that._closeEditable();\n that.dataSource.sync();\n }\n },\n remove: function (item) {\n var that = this, dataSource = that.dataSource, data = that._modelFromElement(item);\n if (that.editable) {\n dataSource.cancelChanges(that._modelFromElement(that.editable.element));\n that._closeEditable();\n }\n if (!that.trigger(REMOVE, {\n model: data,\n item: item\n })) {\n item.hide();\n dataSource.remove(data);\n dataSource.sync();\n }\n },\n add: function () {\n var that = this, dataItem, dataSource = that.dataSource, index = dataSource.indexOf((dataSource.view() || [])[0]);\n if (index < 0) {\n index = 0;\n }\n that.cancel();\n dataItem = dataSource.insert(index, {});\n that.edit(that.element.find('[data-uid=\\'' + dataItem.uid + '\\']'));\n },\n cancel: function () {\n var that = this, dataSource = that.dataSource;\n if (that.editable) {\n var container = that.editable.element;\n var model = that._modelFromElement(container);\n if (!that.trigger(CANCEL, {\n model: model,\n container: container\n })) {\n dataSource.cancelChanges(model);\n that._closeEditable();\n }\n }\n },\n _crudHandlers: function () {\n var that = this, mousedownNs = MOUSEDOWN + NS, touchstartNs = TOUCHSTART + NS, clickNs = CLICK + NS;\n that.content.on(mousedownNs + ' ' + touchstartNs, '.k-edit-button', function (e) {\n e.preventDefault();\n var item = $(this).closest('[' + kendo.attr('uid') + ']');\n setTimeout(function () {\n that.edit(item);\n });\n });\n that.content.on(mousedownNs + ' ' + touchstartNs, '.k-delete-button', function (e) {\n e.preventDefault();\n var item = $(this).closest('[' + kendo.attr('uid') + ']');\n setTimeout(function () {\n that.remove(item);\n });\n });\n that.content.on(clickNs, '.k-update-button', function (e) {\n that.save();\n e.preventDefault();\n });\n that.content.on(clickNs, '.k-cancel-button', function (e) {\n that.cancel();\n e.preventDefault();\n });\n },\n destroy: function () {\n var that = this;\n Widget.fn.destroy.call(that);\n that._unbindDataSource();\n that._destroyEditable();\n that.element.off(NS);\n that.content.off(NS);\n that._endlessFetchInProgress = that._endlessPageSize = that._skipRerenderItemsCount = that._focusNext = null;\n if (that.pager) {\n that.pager.destroy();\n }\n kendo.destroy(that.element);\n }\n });\n kendo.ui.plugin(ListView);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}