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