{"version":3,"sources":["kendo.listview.js"],"names":["f","define","$","undefined","kendo","window","CHANGE","KENDO_KEYDOWN","CANCEL","DATABOUND","DATABINDING","Widget","ui","keys","EMPTY_STRING","DOT","FOCUSSELECTOR","PROGRESS","ERROR","FOCUSED","SELECTED","KEDITITEM","PAGER_CLASS","ITEM_CLASS","TABINDEX","ARIA_SETSIZE","ARIA_POSINSET","ARIA_ROLE","ARIA_LABEL","EDIT","REMOVE","SAVE","MOUSEDOWN","CLICK","TOUCHSTART","NS","proxy","activeElement","_activeElement","progress","DataSource","data","ListView","DataBoundWidget","extend","init","element","options","that","this","Array","isArray","dataSource","fn","call","wrapper","id","_itemId","_element","_layout","_dataSource","_setContentHeight","_templates","_navigatable","_selectable","_pageable","_crudHandlers","_scrollable","autoBind","fetch","notify","events","name","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","_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","is","innerHeight","e","item","idx","length","view","html","role","active","endlessAppend","_endlessFetchInProgress","_skipRerenderItemsCount","_hasBindingTarget","editable","filter","angular","elements","replaceWith","eq","trigger","_angularItems","_destroyEditable","append","not","removeAttr","total","_focusNext","current","next","pagerWrap","settings","find","position","format","prependTo","pager","Pager","pagerId","multi","Selectable","parseOptions","multiple","aria","change","on","target","keyCode","SPACEBAR","currentTarget","preventDefault","ctrlKey","hasClass","clear","value","overflow-y","-webkit-overflow-scrolling","originalPageSize","_endlessPageSize","off","scrollTop","clientHeight","scrollHeight","endless","candidate","_current","_scrollTo","container","scrollDirectionFunc","UseJQueryoffset","SCROLL","dimension","elementOffset","offset","toLowerCase","elementDimension","containerScrollAmount","containerDimension","clickCallback","focusElement","_tabindex","focusAgain","key","canHandle","isTextBox","editItem","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 'kendo.pager'\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 id: 'listview-paging',\n name: 'Paging',\n description: 'Support for paging',\n depends: ['pager']\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 = '', DOT = '.', FOCUSSELECTOR = '> *:not(.k-loading-mask)', PROGRESS = 'progress', ERROR = 'error', FOCUSED = 'k-state-focused', SELECTED = 'k-state-selected', KEDITITEM = 'k-edit-item', PAGER_CLASS = 'k-listview-pager', ITEM_CLASS = 'k-listview-item', TABINDEX = 'tabindex', ARIA_SETSIZE = 'aria-setsize', ARIA_POSINSET = 'aria-posinset', ARIA_ROLE = 'role', ARIA_LABEL = 'aria-label', 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 = Array.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._setContentHeight();\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 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 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(':not(.k-loading-mask)');\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 if (this.options.scrollable === 'endless') {\n this._bindScrollable();\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, pageable = that.options.pageable, dataSource = that.options.dataSource;\n if ($.isPlainObject(pageable) && pageable.pageSize !== undefined) {\n dataSource.pageSize = pageable.pageSize;\n }\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(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(ARIA_ROLE, 'listbox');\n } else {\n this.element.attr(ARIA_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 this.content.attr(TABINDEX, -1);\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 _setContentHeight: function () {\n var that = this, options = that.options, height;\n if (options.scrollable && that.wrapper.is(':visible')) {\n height = that.wrapper.innerHeight();\n that.content.height(height);\n }\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 if (!view.length) {\n that.element.removeAttr(ARIA_ROLE);\n that.element.removeAttr(ARIA_LABEL);\n }\n for (idx = index, length = view.length; idx < length; idx++) {\n item = items.eq(idx);\n item.addClass(ITEM_CLASS);\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 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 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._setContentHeight();\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, navigatable = that.options.navigatable, pagerWrap, settings;\n if (!pageable) {\n return;\n }\n pagerWrap = that.wrapper.find(DOT + PAGER_CLASS);\n if (!pagerWrap.length) {\n pagerWrap = $('').addClass(PAGER_CLASS);\n }\n if (pageable.position === 'top') {\n pagerWrap.addClass(kendo.format('{0}-{1}', PAGER_CLASS, pageable.position)).prependTo(that.wrapper);\n } else {\n pagerWrap.appendTo(that.wrapper);\n }\n if (that.pager) {\n that.pager.destroy();\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 settings = $.extend({}, pageable, {\n dataSource: that.dataSource,\n navigatable: navigatable,\n pagerId: null\n });\n that.pager = new kendo.ui.Pager(pagerWrap, 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 (multi) {\n that.element.attr('aria-multiselectable', true);\n }\n if (navigatable) {\n that.element.on('keydown' + NS, function (e) {\n if (!$(e.target).is(that.element)) {\n return;\n }\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 that.trigger(CHANGE);\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 that._bindScrollable();\n }\n }\n },\n _bindScrollable: function () {\n var that = this;\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 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 (!target.is(that.element) || !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}));"]}