{"version":3,"file":"kendo.listview.min.js","names":["factory","define","amd","$","undefined$1","kendo","CHANGE","CANCEL","DATABOUND","DATABINDING","Widget","keys","EMPTY_STRING","FOCUSSELECTOR","PROGRESS","ERROR","FOCUSED","SELECTED","KEDITITEM","PAGER_CLASS","ITEM_CLASS","ARIA_ROLE","ARIA_LABEL","ARIA_MULTISELECTABLE","ARIA_ACTIVEDESCENDANT","EDIT","REMOVE","SAVE","TOUCHSTART","NS","activeElement","progress","DataSource","ListView","window","jQuery","ui","_activeElement","data","DataBoundWidget","extend","init","element","options","that","this","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","_angularItems","_destroyEditable","append","not","_ariaAttributes","eq","total","_focusNext","current","next","find","removeAttr","_hasBindingTarget","editable","filter","angular","elements","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"],"sources":["kendo.listview.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.data', 'kendo.editable', 'kendo.selectable', 'kendo.pager'], factory) :\n factory();\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 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 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,\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 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);\n this.altTemplate = kendo.template(options.altTemplate || options.template);\n this.editTemplate = kendo.template(options.editTemplate || EMPTY_STRING);\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 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-widget 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-widget\", \"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 that.angular(\"cleanup\", function() {\n return { elements: [ item ] };\n });\n\n item.replaceWith(template(data));\n item = that.items().eq(idx);\n item.attr(kendo.attr(\"uid\"), data.uid);\n\n that.angular(\"compile\", function() {\n return { elements: [ item ], data: [ { dataItem: data } ] };\n });\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 that._angularItems(\"cleanup\");\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 that._angularItems(\"compile\");\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, 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 that.angular(\"cleanup\", function() {\n return { elements: [ editable.element ] };\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 that.angular(\"compile\", function() {\n return { elements: [ item ], data: [ { dataItem: 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\n}));\n"]}