EOS/Scripts/kendo/2015.3.1111/kendo.listview.min.js
Nidhi Bhargava f0c1ab20e1 code push
2025-09-04 16:25:07 +05:30

9 lines
8.7 KiB
JavaScript

/*
* Kendo UI v2015.3.1111 (http://www.telerik.com/kendo-ui)
* Copyright 2015 Telerik AD. All rights reserved.
*
* Kendo UI commercial licenses may be obtained at
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
* If you do not own a commercial license, this file shall be governed by the trial license terms.
*/
!function(e,define){define(["./kendo.data.min","./kendo.editable.min","./kendo.selectable.min"],e)}(function(){return function(e,t){var n=window.kendo,i="change",o="cancel",r="dataBound",a="dataBinding",s=n.ui.Widget,l=n.keys,c=">*",u="progress",d="error",h="k-state-focused",f="k-state-selected",p="k-edit-item",g="edit",m="remove",v="save",_="click",w=".kendoListView",b=e.proxy,y=n._activeElement,x=n.ui.progress,k=n.data.DataSource,C=n.ui.DataBoundWidget.extend({init:function(t,i){var o=this;i=e.isArray(i)?{dataSource:i}:i,s.fn.init.call(o,t,i),i=o.options,o.wrapper=t=o.element,t[0].id&&(o._itemId=t[0].id+"_lv_active"),o._element(),o._dataSource(),o._templates(),o._navigatable(),o._selectable(),o._pageable(),o._crudHandlers(),o.options.autoBind&&o.dataSource.fetch(),n.notify(o)},events:[i,o,a,r,g,m,v],options:{name:"ListView",autoBind:!0,selectable:!1,navigatable:!1,template:"",altTemplate:"",editTemplate:""},setOptions:function(e){s.fn.setOptions.call(this,e),this._templates(),this.selectable&&(this.selectable.destroy(),this.selectable=null),this._selectable()},_templates:function(){var e=this.options;this.template=n.template(e.template||""),this.altTemplate=n.template(e.altTemplate||e.template),this.editTemplate=n.template(e.editTemplate||"")},_item:function(e){return this.element.children()[e]()},items:function(){return this.element.children()},dataItem:function(t){var i=n.attr("uid"),o=e(t).closest("["+i+"]").attr(i);return this.dataSource.getByUid(o)},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.options.autoBind&&e.fetch()},_unbindDataSource:function(){var e=this;e.dataSource.unbind(i,e._refreshHandler).unbind(u,e._progressHandler).unbind(d,e._errorHandler)},_dataSource:function(){var e=this;e.dataSource&&e._refreshHandler?e._unbindDataSource():(e._refreshHandler=b(e.refresh,e),e._progressHandler=b(e._progress,e),e._errorHandler=b(e._error,e)),e.dataSource=k.create(e.options.dataSource).bind(i,e._refreshHandler).bind(u,e._progressHandler).bind(d,e._errorHandler)},_progress:function(){x(this.element,!0)},_error:function(){x(this.element,!1)},_element:function(){this.element.addClass("k-widget k-listview").attr("role","listbox")},refresh:function(e){var i,o,s,l,c,u=this,d=u.dataSource.view(),h="",f=u.template,p=u.altTemplate,g=y();if(e=e||{},"itemchange"===e.action)return u._hasBindingTarget()||u.editable||(i=e.items[0],s=u.items().filter("["+n.attr("uid")+"="+i.uid+"]"),s.length>0&&(l=s.index(),u.angular("cleanup",function(){return{elements:[s]}}),s.replaceWith(f(i)),s=u.items().eq(l),s.attr(n.attr("uid"),i.uid),u.angular("compile",function(){return{elements:[s],data:[{dataItem:i}]}}),u.trigger("itemChange",{item:s,data:i}))),t;if(!u.trigger(a,{action:e.action||"rebind",items:e.items,index:e.index})){for(u._angularItems("cleanup"),u._destroyEditable(),l=0,c=d.length;c>l;l++)h+=l%2?p(d[l]):f(d[l]);for(u.element.html(h),o=u.items(),l=0,c=d.length;c>l;l++)o.eq(l).attr(n.attr("uid"),d[l].uid).attr("role","option").attr("aria-selected","false");u.element[0]===g&&u.options.navigatable&&u.current(o.eq(0)),u._angularItems("compile"),u.trigger(r)}},_pageable:function(){var t,i,o=this,r=o.options.pageable;e.isPlainObject(r)&&(i=r.pagerId,t=e.extend({},r,{dataSource:o.dataSource,pagerId:null}),o.pager=new n.ui.Pager(e("#"+i),t))},_selectable:function(){var e,o,r=this,a=r.options.selectable,s=r.options.navigatable;a&&(e=n.ui.Selectable.parseOptions(a).multiple,r.selectable=new n.ui.Selectable(r.element,{aria:!0,multiple:e,filter:c,change:function(){r.trigger(i)}}),s&&r.element.on("keydown"+w,function(n){if(n.keyCode===l.SPACEBAR){if(o=r.current(),n.target==n.currentTarget&&n.preventDefault(),e)if(n.ctrlKey){if(o&&o.hasClass(f))return o.removeClass(f),t}else r.selectable.clear();else r.selectable.clear();r.selectable.value(o)}}))},current:function(e){var n=this,i=n.element,o=n._current,r=n._itemId;return e===t?o:(o&&o[0]&&(o[0].id===r&&o.removeAttr("id"),o.removeClass(h),i.removeAttr("aria-activedescendant")),e&&e[0]&&(r=e[0].id||r,n._scrollTo(e[0]),i.attr("aria-activedescendant",r),e.addClass(h).attr("id",r)),n._current=e,t)},_scrollTo:function(t){var n,i,o=this,r=!1,a="scroll";"auto"==o.wrapper.css("overflow")||o.wrapper.css("overflow")==a?n=o.wrapper[0]:(n=window,r=!0),i=function(i,o){var s=r?e(t).offset()[i.toLowerCase()]:t["offset"+i],l=t["client"+o],c=e(n)[a+i](),u=e(n)[o.toLowerCase()]();s+l>c+u?e(n)[a+i](s+l-u):c>s&&e(n)[a+i](s)},i("Top","Height"),i("Left","Width")},_navigatable:function(){var t=this,i=t.options.navigatable,o=t.element,r=function(n){t.current(e(n.currentTarget)),e(n.target).is(":button,a,:input,a>.k-icon,textarea")||o.focus()};i&&(t._tabindex(),o.on("focus"+w,function(){var e=t._current;e&&e.is(":visible")||(e=t._item("first")),t.current(e)}).on("focusout"+w,function(){t._current&&t._current.removeClass(h)}).on("keydown"+w,function(i){var r,a,s=i.keyCode,c=t.current(),u=e(i.target),d=!u.is(":button,textarea,a,a>.t-icon,input"),h=u.is(":text"),f=n.preventDefault,g=o.find("."+p),m=y();if(!(!d&&!h&&l.ESC!=s||h&&l.ESC!=s&&l.ENTER!=s))if(l.UP===s||l.LEFT===s)c&&(c=c.prev()),t.current(c&&c[0]?c:t._item("last")),f(i);else if(l.DOWN===s||l.RIGHT===s)c&&(c=c.next()),t.current(c&&c[0]?c:t._item("first")),f(i);else if(l.PAGEUP===s)t.current(null),t.dataSource.page(t.dataSource.page()-1),f(i);else if(l.PAGEDOWN===s)t.current(null),t.dataSource.page(t.dataSource.page()+1),f(i);else if(l.HOME===s)t.current(t._item("first")),f(i);else if(l.END===s)t.current(t._item("last")),f(i);else if(l.ENTER===s)0!==g.length&&(d||h)?(r=t.items().index(g),m&&m.blur(),t.save(),a=function(){t.element.trigger("focus"),t.current(t.items().eq(r))},t.one("dataBound",a)):""!==t.options.editTemplate&&t.edit(c);else if(l.ESC===s){if(g=o.find("."+p),0===g.length)return;r=t.items().index(g),t.cancel(),t.element.trigger("focus"),t.current(t.items().eq(r))}}),o.on("mousedown"+w+" touchstart"+w,c,b(r,t)))},clearSelection:function(){var e=this;e.selectable.clear(),e.trigger(i)},select:function(n){var i=this,o=i.selectable;return n=e(n),n.length?(o.options.multiple||(o.clear(),n=n.first()),o.value(n),t):o.value()},_destroyEditable:function(){var e=this;e.editable&&(e.editable.destroy(),delete e.editable)},_modelFromElement:function(e){var t=e.attr(n.attr("uid"));return this.dataSource.getByUid(t)},_closeEditable:function(){var e,t,i,o=this,r=o.editable,a=o.template;return r&&(r.element.index()%2&&(a=o.altTemplate),o.angular("cleanup",function(){return{elements:[r.element]}}),e=o._modelFromElement(r.element),o._destroyEditable(),i=r.element.index(),r.element.replaceWith(a(e)),t=o.items().eq(i),t.attr(n.attr("uid"),e.uid),o._hasBindingTarget()&&n.bind(t,e),o.angular("compile",function(){return{elements:[t],data:[{dataItem:e}]}})),!0},edit:function(e){var t,i,o=this,r=o._modelFromElement(e),a=r.uid;o.cancel(),e=o.items().filter("["+n.attr("uid")+"="+a+"]"),i=e.index(),e.replaceWith(o.editTemplate(r)),t=o.items().eq(i).addClass(p).attr(n.attr("uid"),r.uid),o.editable=t.kendoEditable({model:r,clearContainer:!1,errorTemplate:!1,target:o}).data("kendoEditable"),o.trigger(g,{model:r,item:t})},save:function(){var e,t,n=this,i=n.editable;i&&(t=i.element,e=n._modelFromElement(t),i.end()&&!n.trigger(v,{model:e,item:t})&&(n._closeEditable(),n.dataSource.sync()))},remove:function(e){var t=this,n=t.dataSource,i=t._modelFromElement(e);t.editable&&(n.cancelChanges(t._modelFromElement(t.editable.element)),t._closeEditable()),t.trigger(m,{model:i,item:e})||(e.hide(),n.remove(i),n.sync())},add:function(){var e,t=this,n=t.dataSource,i=n.indexOf((n.view()||[])[0]);0>i&&(i=0),t.cancel(),e=n.insert(i,{}),t.edit(t.element.find("[data-uid='"+e.uid+"']"))},cancel:function(){var e,t,n=this,i=n.dataSource;n.editable&&(e=n.editable.element,t=n._modelFromElement(e),n.trigger(o,{model:t,container:e})||(i.cancelChanges(t),n._closeEditable()))},_crudHandlers:function(){var t=this,i=_+w;t.element.on(i,".k-edit-button",function(i){var o=e(this).closest("["+n.attr("uid")+"]");t.edit(o),i.preventDefault()}),t.element.on(i,".k-delete-button",function(i){var o=e(this).closest("["+n.attr("uid")+"]");t.remove(o),i.preventDefault()}),t.element.on(i,".k-update-button",function(e){t.save(),e.preventDefault()}),t.element.on(i,".k-cancel-button",function(e){t.cancel(),e.preventDefault()})},destroy:function(){var e=this;s.fn.destroy.call(e),e._unbindDataSource(),e._destroyEditable(),e.element.off(w),e.pager&&e.pager.destroy(),n.destroy(e.element)}});n.ui.plugin(C)}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()});