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