Jonathan Ouellette 580e90f6a2 initial add
2022-09-27 14:10:30 -07:00

11 lines
55 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.window.min","./kendo.filtermenu.min","./kendo.columnmenu.min","./kendo.groupable.min","./kendo.pager.min","./kendo.selectable.min","./kendo.sortable.min","./kendo.reorderable.min","./kendo.resizable.min","./kendo.mobile.actionsheet.min","./kendo.mobile.pane.min"],function(){!function(e,t){function r(e){return Array(e+1).join('<td class="k-group-cell">&nbsp;</td>')}function a(e){var t,r=" ";if(e){if(typeof e===ht)return e;for(t in e)r+=t+'="'+e[t]+'"'}return r}function i(t){var r=0;return e("> .k-grouping-header, > .k-grid-toolbar",t).each(function(){r+=this.offsetHeight}),r}function n(t,r){e("th, th .k-grid-filter, th .k-link",t).add(document.body).css("cursor",r)}function l(e){var t,r,a={},i={};if(!W(e))for(A(e)||(e=[e]),t=0,r=e.length;r>t;t++)a[e[t].aggregate]=0,i[e[t].field]=a;return i}function o(e,t,r){var a=e.eq(t),i=e.eq(r);a[t>r?"insertBefore":"insertAfter"](i)}function s(e,t,r){var a,i,n,l;for(r=A(r)?r:[r],a=0,i=r.length;i>a;a++)n=r[a],H(n)&&n.click&&(l=n.name||n.text,t.on(dt+U,"a.k-grid-"+(l||"").replace(/\s/g,""),{commandName:l},I(n.click,e)))}function d(e){return z(e,function(e){return!e.hidden})}function c(e){e=e||{};var t=e.style;return t?(t=t.replace(/((.*)?display)(.*)?:([^;]*)/i,"$1:none"),t===e.style&&(t=t.replace(/(.*)?/i,"display:none;$1"))):t="display:none",R({},e,{style:t})}function u(e){e=e||{};var t=e.style;return t&&(e.style=t.replace(/(display\s*:\s*none\s*;?)*/gi,"")),e}function p(t,r,a,i){var n,l=t.find(">colgroup"),o=D(r,function(e){return n=e.width,n&&0!==parseInt(n,10)?_.format('<col style="width:{0}"/>',typeof n===ht?n:n+"px"):"<col />"});(a||l.find(".k-hierarchy-col").length)&&o.splice(0,0,'<col class="k-hierarchy-col" />'),l.length&&l.remove(),l=e(Array(i+1).join('<col class="k-group-col">')+o.join("")),l.is("colgroup")||(l=e("<colgroup/>").append(l)),t.prepend(l),yt.msie&&8==yt.version&&(t.css("display","inline-table"),window.setTimeout(function(){t.css("display","")},1))}function h(e){var t,r,a,i={};for(r=0,a=e.length;a>r;r++)t=e[r],i[t.value]=t.text;return i}function f(e,t,r){var a=r&&r.length&&H(r[0])&&"value"in r[0],i=a?h(r)[e]:e;return i=null!=i?i:"",t?_.format(t,i):i}function g(e,t,r){for(var a,i=0,n=e[i];n;){if(a=r?!0:"none"!==n.style.display,a&&!vt.test(n.className)&&--t<0){n.style.display=r?"":"none";break}n=e[++i]}}function m(e,t){var r,a,i;if(typeof e===ht&&e===t)return e;if(H(e)&&e.name===t)return e;if(A(e))for(r=0,a=e.length;a>r;r++)if(i=e[r],typeof i===ht&&i===t||i.name===t)return i;return null}function b(t,r){var a,i,n,l=yt.msie;if(r===!0){if(t=e(t),n=l&&t.parent().is(".k-grid-content,.k-grid-header-wrap"),n&&(a=t.parent().scrollTop(),i=t.parent().scrollLeft()),l)try{t[0].setActive()}catch(o){t[0].focus()}else t[0].focus();n&&(t.parent().scrollTop(a),t.parent().scrollLeft(i))}else e(t).one("focusin",function(e){e.preventDefault()}).focus()}function k(t){var r=e(t.currentTarget),a=r.is("th"),i=r.closest("table")[0];_.support.touch||(i===this.table[0]||i===this.thead.parent()[0])&&(this.current(r),(a||!e(t.target).is(":button,a,:input,a>.k-icon,textarea,span.k-icon,span.k-link,.k-input,.k-multiselect-wrap"))&&setTimeout(function(){xt&&e(_._activeElement()).hasClass("k-widget")||b(i,!0)}),a&&t.preventDefault())}var _=window.kendo,v=_.ui,w=_.data.DataSource,C=v.Groupable,y=_.support.tbodyInnerHtml,T=_._activeElement,x=v.Widget,S=_.keys,H=e.isPlainObject,R=e.extend,D=e.map,z=e.grep,A=e.isArray,E=e.inArray,I=e.proxy,M=_.isFunction,W=e.isEmptyObject,N=Math,F="progress",L="error",B=":not(.k-group-cell):not(.k-hierarchy-cell):visible",P="tbody>tr:not(.k-grouping-row):not(.k-detail-row):not(.k-group-footer) > td:not(.k-group-cell):not(.k-hierarchy-cell)",q="tr:not(.k-footer-template):visible",O=":not(.k-group-cell):not(.k-hierarchy-cell):visible",G=q+":first>"+O+":first",j="th.k-header:not(.k-group-cell,.k-hierarchy-cell)",U=".kendoGrid",V="edit",$="save",K="remove",J="detailInit",X="filterMenuInit",Q="columnMenuInit",Y="change",Z="columnHide",et="columnShow",tt="saveChanges",rt="dataBound",at="detailExpand",it="detailCollapse",nt="k-state-focused",lt="k-state-selected",ot="columnResize",st="columnReorder",dt="click",ct="height",ut="tabIndex",pt="function",ht="string",ft="Are you sure you want to delete this record?",gt="Delete",mt="Cancel",bt=/(\}|\#)/gi,kt=/#/gi,_t="[\\x20\\t\\r\\n\\f]",vt=RegExp("(^|"+_t+")"+"(k-group-cell|k-hierarchy-cell)"+"("+_t+"|$)"),wt='<a class="k-button k-button-icontext #=className#" #=attr# href="\\#"><span class="#=iconClass# #=imageClass#"></span>#=text#</a>',Ct=!1,yt=_.support.browser,Tt=yt.msie&&7==yt.version,xt=yt.msie&&8==yt.version,St=x.extend({init:function(e,t){var r=this;x.fn.init.call(r,e,t),r._refreshHandler=I(r.refresh,r),r.setDataSource(t.dataSource),r.wrap()},setDataSource:function(e){var t=this;t.dataSource&&t.dataSource.unbind(Y,t._refreshHandler),t.dataSource=e,t.dataSource.bind(Y,t._refreshHandler)},options:{name:"VirtualScrollable",itemHeight:e.noop},destroy:function(){var e=this;x.fn.destroy.call(e),e.dataSource.unbind(Y,e._refreshHandler),e.wrapper.add(e.verticalScrollbar).off(U),e.drag&&e.drag.destroy()},wrap:function(){var t,r=this,a=_.support.scrollbar()+1,i=r.element;i.css({width:"auto",overflow:"hidden"}).css(Ct?"padding-left":"padding-right",a),r.content=i.children().first(),t=r.wrapper=r.content.wrap('<div class="k-virtual-scrollable-wrap"/>').parent().bind("DOMMouseScroll"+U+" mousewheel"+U,I(r._wheelScroll,r)),_.support.kineticScrollNeeded&&(r.drag=new _.UserEvents(r.wrapper,{global:!0,move:function(e){r.verticalScrollbar.scrollTop(r.verticalScrollbar.scrollTop()-e.y.delta),t.scrollLeft(t.scrollLeft()-e.x.delta),e.preventDefault()}})),r.verticalScrollbar=e('<div class="k-scrollbar k-scrollbar-vertical" />').css({width:a}).appendTo(i).bind("scroll"+U,I(r._scroll,r))},_wheelScroll:function(e){var r,a=this,i=a.verticalScrollbar.scrollTop(),n=e.originalEvent,l=n.wheelDeltaY;n.wheelDelta?(l===t||l)&&(r=n.wheelDelta):n.detail&&n.axis===n.VERTICAL_AXIS&&(r=10*-n.detail),r&&(e.preventDefault(),a.verticalScrollbar.scrollTop(i+-r))},_scroll:function(e){var t=this,r=e.currentTarget.scrollTop,a=t.dataSource,i=t.itemHeight,n=a.skip()||0,l=t._rangeStart||n,o=t.element.innerHeight(),s=!!(t._scrollbarTop&&t._scrollbarTop>r),d=N.max(N.floor(r/i),0),c=N.max(d+N.floor(o/i),0);t._scrollTop=r-l*i,t._scrollbarTop=r,t._fetch(d,c,s)||(t.wrapper[0].scrollTop=t._scrollTop)},_fetch:function(e,t,r){var a=this,i=a.dataSource,n=a.itemHeight,l=i.take(),o=a._rangeStart||i.skip()||0,s=N.floor(e/l)*l,d=!1,c=.33;return o>e?(d=!0,o=N.max(0,t-l),a._scrollTop=(e-o)*n,a._page(o,l)):t>=o+l&&!r?(d=!0,o=e,a._scrollTop=n,a._page(o,l)):a._fetching||(s+l-l*c>e&&e>l&&i.prefetch(s-l,l),t>s+l*c&&i.prefetch(s+l,l)),d},_page:function(e,t){var r=this,a=r.dataSource;clearTimeout(r._timeout),r._fetching=!0,r._rangeStart=e,a.inRange(e,t)?a.range(e,t):(_.ui.progress(r.wrapper.parent(),!0),r._timeout=setTimeout(function(){a.range(e,t)},100))},refresh:function(){var e,t,r,a,i=this,n="",l=25e4,o=i.dataSource,s=i._rangeStart,d=_.support.kineticScrollNeeded?0:_.support.scrollbar(),c=i.wrapper[0];for(_.ui.progress(i.wrapper.parent(),!1),clearTimeout(i._timeout),r=i.itemHeight=i.options.itemHeight()||0,a=c.scrollWidth>c.offsetWidth?d:0,e=o.total()*r+a,t=0;t<N.floor(e/l);t++)n+='<div style="width:1px;height:'+l+'px"></div>';e%l&&(n+='<div style="width:1px;height:'+e%l+'px"></div>'),i.verticalScrollbar.html(n),c.scrollTop=i._scrollTop,i.drag&&i.drag.cancel(),s&&!i._fetching&&(i._rangeStart=o.skip()),i._fetching=!1}}),Ht={create:{text:"Add new record",imageClass:"k-add",className:"k-grid-add",iconClass:"k-icon"},cancel:{text:"Cancel changes",imageClass:"k-cancel",className:"k-grid-cancel-changes",iconClass:"k-icon"},save:{text:"Save changes",imageClass:"k-update",className:"k-grid-save-changes",iconClass:"k-icon"},destroy:{text:"Delete",imageClass:"k-delete",className:"k-grid-delete",iconClass:"k-icon"},edit:{text:"Edit",imageClass:"k-edit",className:"k-grid-edit",iconClass:"k-icon"},update:{text:"Update",imageClass:"k-update",className:"k-grid-update",iconClass:"k-icon"},canceledit:{text:"Cancel",imageClass:"k-cancel",className:"k-grid-cancel",iconClass:"k-icon"}},Rt=x.extend({init:function(e,t){var r=this;t=A(t)?{dataSource:t}:t,x.fn.init.call(r,e,t),Ct=_.support.isRtl(e),r._element(),r._aria(),r._columns(r.options.columns),r._dataSource(),r._tbody(),r._pageable(),r._thead(),r._groupable(),r._toolbar(),r._setContentHeight(),r._templates(),r._navigatable(),r._selectable(),r._details(),r._editable(),r._attachCustomCommandsEvent(),r.options.autoBind?r.dataSource.fetch():r._footer(),_.notify(r)},events:[Y,"dataBinding","cancel",rt,at,it,J,X,Q,V,$,K,tt,ot,st,et,Z],setDataSource:function(e){var t=this;t.options.dataSource=e,t._dataSource(),t._pageable(),t.options.groupable&&t._groupable(),t._thead(),t.virtualScrollable&&t.virtualScrollable.setDataSource(t.options.dataSource),t.options.autoBind&&e.fetch()},options:{name:"Grid",columns:[],toolbar:null,autoBind:!0,filterable:!1,scrollable:!0,sortable:!1,selectable:!1,navigatable:!1,pageable:!1,editable:!1,groupable:!1,rowTemplate:"",altRowTemplate:"",dataSource:{},height:null,resizable:!1,reorderable:!1,columnMenu:!1,detailTemplate:null,columnResizeHandleWidth:3},destroy:function(){var t,r=this;x.fn.destroy.call(r),r.pager&&r.pager.destroy(),r.groupable&&r.groupable.destroy(),r.options.reorderable&&r.wrapper.data("kendoReorderable").destroy(),r.resizable&&(r.resizable.destroy(),r._resizeUserEvents&&(r._resizeHandleDocumentClickHandler&&e(document).off("click",r._resizeHandleDocumentClickHandler),r._resizeUserEvents.destroy())),r.virtualScrollable&&r.virtualScrollable.destroy(),r._destroyColumnAttachments(),r._destroyEditable(),r.dataSource.unbind(Y,r._refreshHandler).unbind(F,r._progressHandler).unbind(L,r._errorHandler),t=r.element.add(r.wrapper).add(r.table).add(r.thead).add(r.wrapper.find(">.k-grid-toolbar")),r.content&&(t=t.add(r.content).add(r.content.find(">.k-virtual-scrollable-wrap"))),r.pane&&r.pane.destroy(),t.off(U),_.destroy(r.wrapper)},setOptions:function(e){var t=this;x.fn.setOptions.call(this,e),t._templates()},items:function(){return this.tbody.children(":not(.k-grouping-row,.k-detail-row,.k-group-footer)")},_destroyColumnAttachments:function(){var t=this;t.resizeHandle=null,t.thead.find("th").each(function(){var t=e(this),r=t.data("kendoFilterMenu"),a=t.data("kendoSortable"),i=t.data("kendoColumnMenu");r&&r.destroy(),a&&a.destroy(),i&&i.destroy()})},_attachCustomCommandsEvent:function(){var e,t,r,a=this,i=a.columns||[];for(t=0,r=i.length;r>t;t++)e=i[t].command,e&&s(a,a.wrapper,e)},_aria:function(){var e=this.element.attr("id")||"aria";e&&(this._cellId=e+"_active_cell")},_element:function(){var t=this,r=t.element;r.is("table")||(r=t.options.scrollable?t.element.find("> .k-grid-content > table"):t.element.children("table"),r.length||(r=e("<table />").appendTo(t.element))),Tt&&r.attr("cellspacing",0),t.table=r.attr("role",t._hasDetails()?"treegrid":"grid"),t._wrapper()},_createResizeHandle:function(t,r){var a,n,l,o,s,d=this,c=d.options.columnResizeHandleWidth,u=d.options.scrollable,p=d.resizeHandle;p||(p=d.resizeHandle=e('<div class="k-resize-handle"><div class="k-resize-handle-inner"></div></div>'),t.append(p)),Ct?(n=r.closest(".k-grid-header-wrap"),l=yt.msie?n.scrollLeft():0,o=yt.webkit?n[0].scrollWidth-n[0].offsetWidth-n.scrollLeft():0,s=yt.mozilla?n[0].scrollWidth-n[0].offsetWidth-(n[0].scrollWidth-n[0].offsetWidth-n.scrollLeft()):0,a=r.position().left-o+s-l):(a=r[0].offsetWidth,r.prevAll(":visible").each(function(){a+=this.offsetWidth})),p.css({top:u?0:i(d.wrapper),left:a-c,height:r.outerHeight(),width:3*c}).data("th",r).show()},_positionColumnResizeHandle:function(t){var r=this,a=r.resizeHandle,i=r.options.columnResizeHandleWidth;r.thead.on("mousemove"+U,"th:not(.k-group-cell,.k-hierarchy-cell)",function(l){var o=e(this),s=l.clientX,d=e(window).scrollLeft(),c=o.offset().left+(Ct?0:this.offsetWidth);s+d>c-i&&c+i>s+d?r._createResizeHandle(t,o):a?a.hide():n(r.wrapper,"")})},_resizeHandleDocumentClick:function(t){e(t.target).closest(".k-column-active").length||(e(document).off(t),this._hideResizeHandle())},_hideResizeHandle:function(){this.resizeHandle&&(this.resizeHandle.data("th").removeClass("k-column-active"),this.resizeHandle.hide())},_positionColumnResizeHandleTouch:function(t){var r=this;r._resizeUserEvents=new _.UserEvents(r.thead,{filter:"th:not(.k-group-cell,.k-hierarchy-cell)",threshold:10,hold:function(a){var i=e(a.target);a.preventDefault(),i.addClass("k-column-active"),r._createResizeHandle(t,i),r._resizeHandleDocumentClickHandler||(r._resizeHandleDocumentClickHandler=I(r._resizeHandleDocumentClick,r)),e(document).on("click",r._resizeHandleDocumentClickHandler)}})},_resizable:function(){var t,r,a,i,l,o,s=this,d=s.options,c=this._isMobile;d.resizable&&(t=d.scrollable?s.wrapper.find(".k-grid-header-wrap:first"):s.wrapper,c?s._positionColumnResizeHandleTouch(t):s._positionColumnResizeHandle(t),s.resizable=new v.Resizable(t,{handle:".k-resize-handle",hint:function(t){return e('<div class="k-grid-resize-indicator" />').css({height:t.data("th").outerHeight()+s.tbody.attr("clientHeight")})},start:function(t){o=e(t.currentTarget).data("th"),c&&s._hideResizeHandle();var u=e.inArray(o[0],o.parent().children(":visible")),p=s.tbody.parent(),h=s.footer||e();n(s.wrapper,"col-resize"),l=d.scrollable?s.thead.parent().find("col:eq("+u+")").add(p.children("colgroup").find("col:eq("+u+")")).add(h.find("colgroup").find("col:eq("+u+")")):p.children("colgroup").find("col:eq("+u+")"),r=t.x.location,a=o.outerWidth(),i=s.tbody.outerWidth()},resize:function(t){var n=Ct?-1:1,o=a+t.x.location*n-r*n,c=s.footer||e();o>10&&(l.css("width",o),d.scrollable&&i&&(s._footerWidth=i+t.x.location*n-r*n,s.tbody.parent().add(s.thead.parent()).add(c.find("table")).css("width",s._footerWidth)))},resizeend:function(){var e,t=o.outerWidth();n(s.wrapper,""),a!=t&&(e=s.columns[o.parent().find("th:not(.k-group-cell,.k-hierarchy-cell)").index(o)],e.width=t,s.trigger(ot,{column:e,oldWidth:a,newWidth:t})),s._hideResizeHandle(),o=null}}))},_draggable:function(){var t=this;t.options.reorderable&&(t._draggableInstance&&t._draggableInstance.destroy(),t._draggableInstance=t.wrapper.kendoDraggable({group:_.guid(),filter:t.content?".k-grid-header:first "+j:"table:first>.k-grid-header "+j,drag:function(){t._hideResizeHandle()},hint:function(t){return e('<div class="k-header k-drag-clue" />').css({width:t.width(),paddingLeft:t.css("paddingLeft"),paddingRight:t.css("paddingRight"),lineHeight:t.height()+"px",paddingTop:t.css("paddingTop"),paddingBottom:t.css("paddingBottom")}).html(t.attr(_.attr("title"))||t.attr(_.attr("field"))||t.text()).prepend('<span class="k-icon k-drag-status k-denied" />')}}).data("kendoDraggable"))},_reorderable:function(){var e=this;e.options.reorderable&&e.wrapper.kendoReorderable({draggable:e._draggableInstance,change:function(t){var r=E(e.columns[t.newIndex],e.columns),a=e.columns[t.oldIndex];e.trigger(st,{newIndex:r,oldIndex:E(a,e.columns),column:a}),e.reorderColumn(r,a)}})},reorderColumn:function(e,t){var r,a,i,n=this,l=E(t,n.columns),s=E(t,d(n.columns)),c=E(n.columns[e],d(n.columns)),u=n.footer||n.wrapper.find(".k-grid-footer");if(l!==e)for(n._hideResizeHandle(),n.columns.splice(l,1),n.columns.splice(e,0,t),n._templates(),o(n.thead.prev().find("col:not(.k-group-col,.k-hierarchy-col)"),s,c),n.options.scrollable&&o(n.tbody.prev().find("col:not(.k-group-col,.k-hierarchy-col)"),s,c),o(n.thead.find(".k-header:not(.k-group-cell,.k-hierarchy-cell)"),l,e),u&&u.length&&(o(u.find(".k-grid-footer-wrap>table>colgroup>col:not(.k-group-col,.k-hierarchy-col)"),s,c),o(u.find(".k-footer-template>td:not(.k-group-cell,.k-hierarchy-cell)"),l,e)),r=n.tbody.children(":not(.k-grouping-row,.k-detail-row)"),a=0,i=r.length;i>a;a+=1)o(r.eq(a).find(">td:not(.k-group-cell,.k-hierarchy-cell)"),l,e)},cellIndex:function(t){return e(t).parent().children("td:not(.k-group-cell,.k-hierarchy-cell)").index(t)},_modelForContainer:function(t){t=e(t),t.is("tr")||"popup"===this._editMode()||(t=t.closest("tr"));var r=t.attr(_.attr("uid"));return this.dataSource.getByUid(r)},_editable:function(){var t,r=this,a=r.selectable&&r.selectable.options.multiple,i=r.options.editable,n=function(){var t=T(),a=r._editContainer;!a||e.contains(a[0],t)||a[0]===t||e(t).closest(".k-animation-container").length||r.editable.end()&&r.closeCell()};i&&(t=r._editMode(),"incell"===t?i.update!==!1&&r.wrapper.on(dt+U,"tr:not(.k-grouping-row) > td",function(t){var i=e(this);i.hasClass("k-hierarchy-cell")||i.hasClass("k-detail-cell")||i.hasClass("k-group-cell")||i.hasClass("k-edit-cell")||i.has("a.k-grid-delete").length||i.has("button.k-grid-delete").length||i.closest("tbody")[0]!==r.tbody[0]||e(t.target).is(":input")||(r.editable?r.editable.end()&&(a&&e(T()).blur(),r.closeCell(),r.editCell(i)):r.editCell(i))}).on("focusin"+U,function(){clearTimeout(r.timer),r.timer=null}).on("focusout"+U,function(){r.timer=setTimeout(n,1)}):i.update!==!1&&r.wrapper.on(dt+U,"tbody>tr:not(.k-detail-row,.k-grouping-row):visible a.k-grid-edit",function(t){t.preventDefault(),r.editRow(e(this).closest("tr"))}),i.destroy!==!1?r.wrapper.on(dt+U,"tbody>tr:not(.k-detail-row,.k-grouping-row):visible .k-grid-delete",function(t){t.preventDefault(),t.stopPropagation(),r.removeRow(e(this).closest("tr"))}):r.wrapper.on(dt+U,"tbody>tr:not(.k-detail-row,.k-grouping-row):visible button.k-grid-delete",function(e){e.stopPropagation(),r._confirmation()||e.preventDefault()}))},editCell:function(t){t=e(t);var r=this,a=r.columns[r.cellIndex(t)],i=r._modelForContainer(t);!i||i.editable&&!i.editable(a.field)||a.command||!a.field||(r._attachModelChange(i),r._editContainer=t,r.editable=t.addClass("k-edit-cell").kendoEditable({fields:{field:a.field,format:a.format,editor:a.editor,values:a.values},model:i,change:function(e){r.trigger($,{values:e.values,container:t,model:i})&&e.preventDefault()}}).data("kendoEditable"),t.parent().addClass("k-grid-edit-row"),r.trigger(V,{container:t,model:i}))},_destroyEditable:function(){var e=this,t=function(){e.editable&&(e._detachModelChange(),e.editable.destroy(),e.editable=null,e._editContainer=null,e._destroyEditView())};e.editable&&("popup"!==e._editMode()||e._isMobile?t():e._editContainer.data("kendoWindow").bind("deactivate",t).close())},_destroyEditView:function(){this.editView&&(this.editView.purge(),this.editView=null,this.pane.navigate(""))},_attachModelChange:function(e){var t=this;t._modelChangeHandler=function(e){t._modelChange({field:e.field,model:this})},e.bind("change",t._modelChangeHandler)},_detachModelChange:function(){var e=this,t=e._editContainer,r=e._modelForContainer(t);r&&r.unbind(Y,e._modelChangeHandler)},closeCell:function(t){var r,a,i,n=this,l=n._editContainer;l&&(r=l.closest("tr").attr(_.attr("uid")),i=n.dataSource.getByUid(r),t&&n.trigger("cancel",{container:l,model:i})||(l.removeClass("k-edit-cell"),a=n.columns[n.cellIndex(l)],l.parent().removeClass("k-grid-edit-row"),n._destroyEditable(),n._displayCell(l,a,i),l.hasClass("k-dirty-cell")&&e('<span class="k-dirty"/>').prependTo(l)))},_displayCell:function(e,t,r){var a=this,i={storage:{},count:0},n=R({},_.Template,a.options.templateSettings),l=_.template(a._cellTmpl(t,i),n);i.count>0&&(l=I(l,i.storage)),e.empty().html(l(r))},removeRow:function(e){this._confirmation(e)&&this._removeRow(e)},_removeRow:function(t){var r,a,i=this;t=e(t).hide(),r=i._modelForContainer(t),r&&!i.trigger(K,{row:t,model:r})&&(a=i._editMode(),"incell"!==a&&i.cancelRow(),i.dataSource.remove(r),("inline"===a||"popup"===a)&&i.dataSource.sync())},_editMode:function(){var e="incell",t=this.options.editable;return t!==!0&&(e="string"==typeof t?t:t.mode||e),e},editRow:function(r){var a,i,n,l,o=this;r instanceof _.data.ObservableObject?a=r:(r=e(r),a=o._modelForContainer(r)),i=o._editMode(),n=o.options.navigatable,o.cancelRow(),a&&(o._attachModelChange(a),"popup"===i?o._createPopupEditor(a):"inline"===i?o._createInlineEditor(r,a):"incell"===i&&e(r).children(B).each(function(){var r=e(this),i=o.columns[r.index()];return a=o._modelForContainer(r),a&&(!a.editable||a.editable(i.field))&&i.field?(o.editCell(r),!1):t}),l=o.editView?o.editView.element:o._editContainer,l.on(dt+U,"a.k-grid-cancel",function(t){if(t.preventDefault(),t.stopPropagation(),!o.trigger("cancel",{container:l,model:a})){var r=o.items().index(e(o.current()).parent());o.cancelRow(),n&&(o.current(o.items().eq(r).children().filter(O).first()),b(o.table,!0))}}),l.on(dt+U,"a.k-grid-update",function(e){e.preventDefault(),e.stopPropagation(),o.saveRow()}))},_createPopupEditor:function(r){var a,i,n,l,o,s,d,c,u,p,h,f=this,g="<div "+_.attr("uid")+'="'+r.uid+'" class="k-popup-edit-form'+(f._isMobile?" k-mobile-list":"")+'"><div class="k-edit-form-container">',k=[],v=f.options.editable,w=v.template,C=H(v)?v.window:{},y=R({},_.Template,f.options.templateSettings);if(C=C||{},w)for(typeof w===ht&&(w=window.unescape(w)),g+=_.template(w,y)(r),n=0,l=f.columns.length;l>n;n++)a=f.columns[n],a.command&&(c=m(a.command,"edit"),c&&(i=c));else for(n=0,l=f.columns.length;l>n;n++)a=f.columns[n],a.command?a.command&&(c=m(a.command,"edit"),c&&(i=c)):(g+='<div class="k-edit-label"><label for="'+a.field+'">'+(a.title||a.field||"")+"</label></div>",r.editable&&!r.editable(a.field)||!a.field?(p={storage:{},count:0},o=_.template(f._cellTmpl(a,p),y),p.count>0&&(o=I(o,p.storage)),g+='<div class="k-edit-field">'+o(r)+"</div>"):(k.push({field:a.field,format:a.format,editor:a.editor,values:a.values}),g+="<div "+_.attr("container-for")+'="'+a.field+'" class="k-edit-field"></div>'));i&&H(i)&&(i.text&&H(i.text)&&(s=i.text.update,d=i.text.cancel),i.attr&&(u=i.attr)),f._isMobile?(g+="</div></div>",f.editView=f.pane.append("<div data-"+_.ns+'role="view" data-'+_.ns+'init-widgets="false" class="k-grid-edit-form">'+"<div data-"+_.ns+'role="header" class="k-header">'+f._createButton({name:"update",text:s,attr:u})+(C.title||"Edit")+f._createButton({name:"canceledit",text:d,attr:u})+"</div>"+g+"</div>"),h=f._editContainer=f.editView.element.find(".k-popup-edit-form")):(g+='<div class="k-edit-buttons k-state-default">',g+=f._createButton({name:"update",text:s,attr:u})+f._createButton({name:"canceledit",text:d,attr:u}),g+="</div></div></div>",h=f._editContainer=e(g).appendTo(f.wrapper).eq(0).kendoWindow(R({modal:!0,resizable:!1,draggable:!0,title:"Edit",visible:!1,close:function(a){if(a.userTriggered){if(f.trigger("cancel",{container:h,model:r}))return a.preventDefault(),t;var i=f.items().index(e(f.current()).parent());f.cancelRow(),f.options.navigatable&&(f.current(f.items().eq(i).children().filter(O).first()),b(f.table,!0))}}},C))),f.editable=f._editContainer.kendoEditable({fields:k,model:r,clearContainer:!1}).data("kendoEditable"),f._isMobile&&h.find("input[type=checkbox],input[type=radio]").parent(".k-edit-field").addClass("k-check").prev(".k-edit-label").addClass("k-check").click(function(){e(this).next().children("input").click()}),f._openPopUpEditor(),f.trigger(V,{container:h,model:r})},_openPopUpEditor:function(){this._isMobile?this.pane.navigate(this.editView,this._editAnimation):this._editContainer.data("kendoWindow").center().open()},_createInlineEditor:function(t,r){var a,i,n,l=this,o=[];t.children(":not(.k-group-cell,.k-hierarchy-cell)").each(function(){if(i=e(this),a=l.columns[l.cellIndex(i)],a.command||!a.field||r.editable&&!r.editable(a.field)){if(a.command&&(n=m(a.command,"edit"))){i.empty();var t,s,d;H(n)&&(n.text&&H(n.text)&&(t=n.text.update,s=n.text.cancel),n.attr&&(d=n.attr)),e(l._createButton({name:"update",text:t,attr:d})+l._createButton({name:"canceledit",text:s,attr:d})).appendTo(i)}}else o.push({field:a.field,format:a.format,editor:a.editor,values:a.values}),i.attr(_.attr("container-for"),a.field),i.empty()}),l._editContainer=t,l.editable=t.addClass("k-grid-edit-row").kendoEditable({fields:o,model:r,clearContainer:!1}).data("kendoEditable"),l.trigger(V,{container:t,model:r})},cancelRow:function(){var e,t=this,r=t._editContainer;r&&(e=t._modelForContainer(r),t._destroyEditable(),t.dataSource.cancelChanges(e),"popup"!==t._editMode()?t._displayRow(r):t._displayRow(t.items().filter("["+_.attr("uid")+"="+e.uid+"]")))},saveRow:function(){var e=this,t=e._editContainer,r=e._modelForContainer(t),a=e.editable;t&&a&&a.end()&&!e.trigger($,{container:t,model:r})&&e.dataSource.sync()},_displayRow:function(t){var r=this,a=r._modelForContainer(t);a&&t.replaceWith(e((t.hasClass("k-alt")?r.altRowTemplate:r.rowTemplate)(a)))},_showMessage:function(t,r){var a,i,n,l=this;return l._isMobile?(a=_.template('<ul><li class="km-actionsheet-title">#:title#</li><li><a href="\\#" class="k-button k-grid-delete">#:confirmDelete#</a></li></ul>'),i=e(a(t)).appendTo(l.view.element),n=new _.mobile.ui.ActionSheet(i,{cancel:t.cancelDelete,cancelTemplate:'<li class="km-actionsheet-cancel"><a class="k-button" href="\\#">#:cancel#</a></li>',close:function(){this.destroy()},command:function(t){var a=e(t.currentTarget).parent();a.hasClass("km-actionsheet-cancel")||l._removeRow(r)},popup:l._actionSheetPopupOptions}),n.open(r),!1):window.confirm(t.title)},_confirmation:function(e){var t=this,r=t.options.editable,a=r===!0||typeof r===ht?ft:r.confirmation;return a!==!1&&null!=a?t._showMessage({confirmDelete:r.confirmDelete||gt,cancelDelete:r.cancelDelete||mt,title:a===!0?ft:a},e):!0},cancelChanges:function(){this.dataSource.cancelChanges()},saveChanges:function(){var e=this;(e.editable&&e.editable.end()||!e.editable)&&!e.trigger(tt)&&e.dataSource.sync()},addRow:function(){var e,t,r,a,i,n=this,l=n.dataSource,o=n._editMode(),s=n.options.editable.createAt||"",d=l.pageSize(),c=l.view()||[];(n.editable&&n.editable.end()||!n.editable)&&("incell"!=o&&n.cancelRow(),e=l.indexOf(c[0]),"bottom"==s.toLowerCase()&&(e+=c.length,d&&!l.options.serverPaging&&d<=c.length&&(e-=1)),0>e&&(e=l.page()>l.totalPages()?(l.page()-1)*d:0),t=l.insert(e,{}),r=t.uid,a=n.table.find("tr["+_.attr("uid")+"="+r+"]"),i=a.children("td:not(.k-group-cell,.k-hierarchy-cell)").eq(n._firstEditableColumnIndex(a)),"inline"===o&&a.length?n.editRow(a):"popup"===o?n.editRow(t):i.length&&n.editCell(i))},_firstEditableColumnIndex:function(e){var t,r,a,i=this,n=i.columns,l=i._modelForContainer(e);for(r=0,a=n.length;a>r;r++)if(t=n[r],l&&(!l.editable||l.editable(t.field))&&!t.command&&t.field)return r;return-1},_toolbar:function(){var t,r=this,a=r.wrapper,i=r.options.toolbar,n=r.options.editable;i&&(t=r.wrapper.find(".k-grid-toolbar"),t.length||(M(i)||(i=typeof i===ht?i:r._toolbarTmpl(i).replace(kt,"\\#"),i=I(_.template(i),r)),t=e('<div class="k-toolbar k-grid-toolbar" />').html(i({})).prependTo(a)),n&&n.create!==!1&&t.on(dt+U,".k-grid-add",function(e){e.preventDefault(),r.addRow()}).on(dt+U,".k-grid-cancel-changes",function(e){e.preventDefault(),r.cancelChanges()}).on(dt+U,".k-grid-save-changes",function(e){e.preventDefault(),r.saveChanges()}))},_toolbarTmpl:function(e){var t,r,a=this,i="";if(A(e))for(t=0,r=e.length;r>t;t++)i+=a._createButton(e[t]);return i},_createButton:function(e){var t=e.template||wt,r=typeof e===ht?e:e.name||e.text,i=Ht[r]?Ht[r].className:"k-grid-"+(r||"").replace(/\s/g,""),n={className:i,text:r,imageClass:"",attr:"",iconClass:""};if(!(r||H(e)&&e.template))throw Error("Custom commands should have name specified");return H(e)?(e.className&&(e.className+=" "+n.className),"edit"===r&&H(e.text)&&(e=R(!0,{},e),e.text=e.text.edit),e.attr&&H(e.attr)&&(e.attr=a(e.attr)),n=R(!0,n,Ht[r],e)):n=R(!0,n,Ht[r]),_.template(t)(n)},_hasFooters:function(){var e,t=this.columns,r=t.length;for(e=0;r>e;e++)if(""!==t[e].footerTemplate||""!==t[e].groupFooterTemplate)return!0;return!1},_groupable:function(){var t=this;t._groupableClickHandler?t.table.off(dt+U,t._groupableClickHandler):t._groupableClickHandler=function(r){var a=e(this),i=a.closest("tr");a.hasClass("k-i-collapse")?t.collapseGroup(i):t.expandGroup(i),r.preventDefault(),r.stopPropagation()},t.table.on(dt+U,".k-grouping-row .k-i-collapse, .k-grouping-row .k-i-expand",t._groupableClickHandler),t._attachGroupable()},_attachGroupable:function(){var t=this,r=t.wrapper,a=t.options.groupable,i=j+":visible["+_.attr("field")+"]",n=j+"["+_.attr("field")+"]";a&&(r.has("div.k-grouping-header")[0]||e("<div>&nbsp;</div>").addClass("k-grouping-header").prependTo(r),t.groupable&&t.groupable.destroy(),t.groupable=new C(r,R({},a,{draggable:t._draggableInstance,groupContainer:">div.k-grouping-header",dataSource:t.dataSource,draggableElements:t.content?".k-grid-header:first "+i:"table:first>.k-grid-header "+i,filter:t.content?".k-grid-header:first "+n:"table:first>.k-grid-header "+n,allowDrag:t.options.reorderable})))},_selectable:function(){var e,r,a=this,i=[],n=a.options.selectable;n&&(e=typeof n===ht&&n.toLowerCase().indexOf("multiple")>-1,r=typeof n===ht&&n.toLowerCase().indexOf("cell")>-1,a._hasDetails()&&(i[i.length]=".k-detail-row"),(a.options.groupable||a._hasFooters())&&(i[i.length]=".k-grouping-row,.k-group-footer"),i=i.join(","),""!==i&&(i=":not("+i+")"),a.selectable=new _.ui.Selectable(a.table,{filter:">"+(r?P:"tbody>tr"+i),aria:!0,multiple:e,change:function(){a.trigger(Y)}}),a.options.navigatable&&a.table.on("keydown"+U,function(i){var n=a.current();if(i.keyCode===S.SPACEBAR&&i.target==a.table[0]&&!n.is(".k-edit-cell,.k-header")&&n.parent().is(":not(.k-grouping-row,.k-detail-row,.k-group-footer)")){if(i.preventDefault(),i.stopPropagation(),n=r?n:n.parent(),e)if(i.ctrlKey){if(n.hasClass(lt))return n.removeClass(lt),a.trigger(Y),t}else a.selectable.clear();else a.selectable.clear();a.selectable.value(n)}}))},clearSelection:function(){var e=this;e.selectable.clear(),e.trigger(Y)},select:function(r){var a=this,i=a.selectable;return r=e(r),r.length?(i.options.multiple||(i.clear(),r=r.first()),i.value(r),t):i.value()},current:function(r){var a=this,i=a.options.scrollable,n=a._current,l=a.table.add(a.thead.parent());return r!==t&&r.length&&(n&&n[0]===r[0]||(n&&(n.removeClass(nt).removeAttr("id"),l.removeAttr("aria-activedescendant")),r.attr("id",a._cellId),a._current=r.addClass(nt),l.attr("aria-activedescendant",a._cellId),r.length&&i&&(e.contains(a.content[0],r[0])&&a._scrollTo(r.parent()[0],a.content[0]),i.virtual?a._scrollTo(r[0],a.content.find(">.k-virtual-scrollable-wrap")[0]):a._scrollTo(r[0],a.content[0])))),a._current},_removeCurrent:function(){this._current&&(this._current.removeClass(nt),this._current=null)},_scrollTo:function(e,t){var r=e.tagName.toLowerCase(),a="td"===r||"th"===r,i=e[a?"offsetLeft":"offsetTop"],n=e[a?"offsetWidth":"offsetHeight"],l=t[a?"scrollLeft":"scrollTop"],o=t[a?"clientWidth":"clientHeight"],s=i+n,d=0;d=l>i?i:s>l+o?o>=n?s-o:i:l,t[a?"scrollLeft":"scrollTop"]=d},_navigatable:function(){var t=this,r=I(t.current,t),a=t.table,i=t.thead.parent(),n=a,l=_.support.isRtl(t.element);t.options.navigatable&&(t.options.scrollable&&(n=a.add(i),i.attr(ut,-1)),i.on("keydown"+U,function(e){e.altKey&&e.keyCode==S.DOWN&&(r().find(".k-grid-filter, .k-header-column-menu").click(),e.stopImmediatePropagation())}).find("a.k-link").attr("tabIndex",-1),a.attr(ut,N.max(a.attr(ut)||0,0)).on("mousedown"+U+" keydown"+U,".k-detail-cell",function(e){e.target!==e.currentTarget&&e.stopImmediatePropagation()}),n.on(_.support.touch?"touchstart"+U:"mousedown"+U,q+">"+O,I(k,t)).on("focus"+U,function(){if(!_.support.touch){var t=r();t&&t.is(":visible")?t.addClass(nt):r(e(this).find(G)),this==a[0]?(i.attr(ut,-1),a.attr(ut,0)):(a.attr(ut,-1),i.attr(ut,0))}}).on("focusout"+U,function(){var e=r();e&&e.removeClass(nt)}).on("keydown"+U,function(i){var n,o,s,d,c,u,p,h,f=i.keyCode,g=!1,m=!i.isDefaultPrevented()&&!e(i.target).is(":button,a,:input,a>.k-icon"),k=t.options.pageable,_=t.dataSource,v="incell"==t._editMode(),w=i.shiftKey,C=r();C&&C.is("th")&&(m=!0),m&&f==S.UP?(C?(s=C.parent().prevAll(q).first(),s[0]||(c=t.thead.parent(),b(c,!0),s=c.find(q).first()),d=C.index(),C=s.children().eq(d),C[0]&&C.is(O)||(C=s.children(O).first())):C=a.find(G),g=!0,r(C)):m&&f==S.DOWN?(C?(s=C.parent().nextAll(q).first(),!s[0]&&C.is("th")&&(b(t.tbody.parent()),s=t.tbody.find(q).first()),d=C.index(),C=s.children().eq(d),C[0]&&C.is(O)||(C=s.children(O).first())):C=a.find(G),g=!0,r(C)):m&&f==(l?S.RIGHT:S.LEFT)?(r(C?C.prevAll(B+":first"):a.find(G)),g=!0):m&&f==(l?S.LEFT:S.RIGHT)?(C?C.next()[0]&&(C=C.nextAll(B+":first")):C=a.find(G),g=!0,r(C)):m&&k&&S.PAGEDOWN==f?(_.page(_.page()+1),g=!0):m&&k&&S.PAGEUP==f?(_.page(_.page()-1),g=!0):f==S.ENTER||S.F2==f?(C=C?C:a.find(G),C.is("th")?(C.find(".k-link").click(),g=!0):C.parent().is(".k-master-row,.k-grouping-row")?(C.parent().find(".k-icon:first").click(),g=!0):(u=C.find(":kendoFocusable:first"),!C.hasClass("k-edit-cell")&&u[0]&&C.hasClass("k-state-focused")?(u.focus(),g=!0):t.options.editable&&!e(i.target).is(":button,.k-button,textarea")&&(p=e(i.target).closest("[role=gridcell]"),p[0]||(p=C),t._handleEditing(p),g=!0))):S.ESC==f?(n=T(),C&&e.contains(C[0],n)&&!C.hasClass("k-edit-cell")&&!C.parent().hasClass("k-grid-edit-row")?(b(t.table[0],!0),g=!0):!t._editContainer||C&&!t._editContainer.has(C[0])&&C[0]!==t._editContainer[0]||(v?t.closeCell(!0):(o=t.items().index(e(C).parent()),n&&n.blur(),t.cancelRow(),o>=0&&t.current(t.items().eq(o).children().filter(O).first())),yt.msie&&yt.version<9&&document.body.focus(),b(a,!0),g=!0)):S.TAB==f&&(C=e(C),t.options.editable&&v&&(h=e(T()).closest(".k-edit-cell"),h[0]&&h[0]!==C[0]&&(C=h)),h=w?C.prevAll(B+":first"):C.nextAll(":visible:first"),h.length||(h=C.parent()[w?"prevAll":"nextAll"]("tr:not(.k-grouping-row):not(.k-detail-row):visible:first").children(B+(w?":last":":first"))),!C.is("th")&&h.length&&t.options.editable&&v&&(t._handleEditing(C,h),g=!0)),g&&(i.preventDefault(),i.stopPropagation())
}))},_handleEditing:function(r,a){var i,n,l=this,o=e(T()),s=l._editMode(),d=yt.msie,c=d&&yt.version<9,u=l._editContainer;if(n="incell"==s?r.hasClass("k-edit-cell"):r.parent().hasClass("k-grid-edit-row"),l.editable){if(e.contains(u[0],o[0])&&(yt.opera||c?o.change().triggerHandler("blur"):(o.blur(),d&&o.blur())),!l.editable)return b(l.table),t;if(!l.editable.end())return"incell"==s?l.current(u):l.current(u.children().filter(B).first()),i=u.find(":kendoFocusable:first")[0],i&&i.focus(),t;"incell"==s?l.closeCell():(l.saveRow(),n=!0)}a&&l.current(a),c&&document.body.focus(),b(l.table,!0),(!n&&!a||a)&&("incell"==s?l.editCell(l.current()):l.editRow(l.current().parent()))},_wrapper:function(){var e=this,t=e.table,r=e.options.height,a=e.element;a.is("div")||(a=a.wrap("<div/>").parent()),e.wrapper=a.addClass("k-grid k-widget k-secondary"),r&&(e.wrapper.css(ct,r),t.css(ct,"auto")),e._initMobile()},_initMobile:function(){var t,r=this.options;this._isMobile=r.mobile===!0&&_.support.mobileOS||"phone"===r.mobile||"tablet"===r.mobile,this._isMobile&&(t=this.wrapper.addClass("k-grid-mobile").wrap("<div data-"+_.ns+'role="view" '+"data-"+_.ns+'init-widgets="false"></div>').parent(),this.pane=_.mobile.ui.Pane.wrap(t),this.view=this.pane.view(),this._actionSheetPopupOptions=e(document.documentElement).hasClass("km-root")?{modal:!1}:{align:"bottom center",position:"bottom center",effect:"slideIn:up"},r.height&&this.pane.element.parent().css(ct,r.height),this._editAnimation="slide")},_tbody:function(){var t,r=this,a=r.table;t=a.find(">tbody"),t.length||(t=e("<tbody/>").appendTo(a)),r.tbody=t},_scrollable:function(){var t,r,a,i,n,l=this,o=l.options,s=o.scrollable,d=s!==!0&&s.virtual&&!l.virtualScrollable,c=!_.support.kineticScrollNeeded||d?_.support.scrollbar():0;s&&(t=l.wrapper.children(".k-grid-header"),t[0]||(t=e('<div class="k-grid-header" />').insertBefore(l.table)),t.css(Ct?"padding-left":"padding-right",s.virtual?c+1:c),r=e('<table role="grid" />'),Tt&&r.attr("cellspacing",0),r.append(l.thead),t.empty().append(e('<div class="k-grid-header-wrap" />').append(r)),l.content=l.table.parent(),l.content.is(".k-virtual-scrollable-wrap")&&(l.content=l.content.parent()),l.content.is(".k-grid-content, .k-virtual-scrollable-wrap")||(l.content=l.table.wrap('<div class="k-grid-content" />').parent()),d&&(l.virtualScrollable=new St(l.content,{dataSource:l.dataSource,itemHeight:I(l._averageRowHeight,l)})),l.scrollables=t.children(".k-grid-header-wrap"),a=l.wrapper.find(".k-grid-footer"),i=Ct&&yt.webkit?c:0,a.length&&(l.scrollables=l.scrollables.add(a.children(".k-grid-footer-wrap"))),s.virtual?l.content.find(">.k-virtual-scrollable-wrap").bind("scroll"+U,function(){l.scrollables.scrollLeft(this.scrollLeft+i)}):(l.content.bind("scroll"+U,function(){l.scrollables.scrollLeft(this.scrollLeft+i)}),n=_.touchScroller(l.content),n&&n.movable&&n.movable.bind("change",function(e){l.scrollables.scrollLeft(-e.sender.x)})))},_setContentWidth:function(){var t,r=this,a="k-grid-content-expander",i='<div class="'+a+'"></div>',n=r.resizable;r.options.scrollable&&(t=r.table.parent().children("."+a),r._setContentWidthHandler=I(r._setContentWidth,r),r.dataSource.view().length?t[0]&&(t.remove(),n&&n.unbind("resize",r._setContentWidthHandler)):(t[0]||(t=e(i).appendTo(r.table.parent()),n&&n.bind("resize",r._setContentWidthHandler)),t.width(r.thead.width())))},_setContentHeight:function(){var e,t=this,r=t.options,a=t.wrapper.innerHeight(),i=t.wrapper.children(".k-grid-header"),n=_.support.scrollbar();r.scrollable&&(a-=i.outerHeight(),t.pager&&(a-=t.pager.element.outerHeight()),r.groupable&&(a-=t.wrapper.children(".k-grouping-header").outerHeight()),r.toolbar&&(a-=t.wrapper.children(".k-grid-toolbar").outerHeight()),t.footerTemplate&&(a-=t.wrapper.children(".k-grid-footer").outerHeight()),e=function(e){var t,r;return e[0].style.height?!0:(t=e.height(),e.height("auto"),r=e.height(),t!=r?(e.height(""),!0):(e.height(""),!1))},e(t.wrapper)&&(a>2*n?t.content.height(a):t.content.height(2*n+1)))},_averageRowHeight:function(){var e,t=this,r=t._rowHeight;return t._rowHeight||(t._rowHeight=r=t.table.outerHeight()/t.items().length,t._sum=r,t._measures=1),e=t.table.outerHeight()/t.items().length,r!==e&&(t._measures++,t._sum+=e,t._rowHeight=t._sum/t._measures),r},_dataSource:function(){var e,r=this,a=r.options,i=a.dataSource;i=A(i)?{data:i}:i,H(i)&&(R(i,{table:r.table,fields:r.columns}),e=a.pageable,H(e)&&e.pageSize!==t&&(i.pageSize=e.pageSize)),r.dataSource&&r._refreshHandler?r.dataSource.unbind(Y,r._refreshHandler).unbind(F,r._progressHandler).unbind(L,r._errorHandler):(r._refreshHandler=I(r.refresh,r),r._progressHandler=I(r._requestStart,r),r._errorHandler=I(r._error,r)),r.dataSource=w.create(i).bind(Y,r._refreshHandler).bind(F,r._progressHandler).bind(L,r._errorHandler)},_error:function(){this._progress(!1)},_requestStart:function(){this._progress(!0)},_modelChange:function(t){var r,a,i,n,l=this,o=t.model,s=l.tbody.find("tr["+_.attr("uid")+"="+o.uid+"]"),d=s.hasClass("k-alt"),c=l.items().index(s);if(s.children(".k-edit-cell").length&&!l.options.rowTemplate)s.children(":not(.k-group-cell,.k-hierarchy-cell)").each(function(){r=e(this),a=l.columns[l.cellIndex(r)],a.field===t.field&&(r.hasClass("k-edit-cell")?r.addClass("k-dirty-cell"):(l._displayCell(r,a,o),e('<span class="k-dirty"/>').prependTo(r)))});else if(!s.hasClass("k-grid-edit-row")){for(i=(d?l.altRowTemplate:l.rowTemplate)(o),s.replaceWith(i),i=l.items().eq(c),c=0,n=l.columns.length;n>c;c++)a=l.columns[c],a.field===t.field&&(r=i.children(":not(.k-group-cell,.k-hierarchy-cell)").eq(c),e('<span class="k-dirty"/>').prependTo(r));l.trigger("itemChange",{item:i,data:o,ns:v})}},_pageable:function(){var t,r=this,a=r.options.pageable;a&&(t=r.wrapper.children("div.k-grid-pager"),t.length||(t=e('<div class="k-pager-wrap k-grid-pager"/>').appendTo(r.wrapper)),r.pager&&r.pager.destroy(),r.pager="object"==typeof a&&a instanceof _.ui.Pager?a:new _.ui.Pager(t,R({},a,{dataSource:r.dataSource})))},_footer:function(){var t,r,a=this,i=a.dataSource.aggregates(),n="",o=a.footerTemplate,s=a.options,d=a.footer||a.wrapper.find(".k-grid-footer");o?(i=W(i)?l(a.dataSource.aggregate()):i,n=e(a._wrapFooter(o(i))),d.length?(r=n,d.replaceWith(r),d=a.footer=r):d=a.footer=s.scrollable?s.pageable?n.insertBefore(a.wrapper.children("div.k-grid-pager")):n.appendTo(a.wrapper):n.insertBefore(a.tbody)):d&&!a.footer&&(a.footer=d),d.length&&(s.scrollable&&(t=d.attr("tabindex",-1).children(".k-grid-footer-wrap"),a.scrollables=a.scrollables.not(".k-grid-footer-wrap").add(t)),a._footerWidth&&d.find("table").css("width",a._footerWidth),t&&t.scrollLeft(a.content.scrollLeft()))},_wrapFooter:function(t){var r=this,a="",i=_.support.mobileOS?0:_.support.scrollbar();return r.options.scrollable?(a=e('<div class="k-grid-footer"><div class="k-grid-footer-wrap"><table'+(Tt?' cellspacing="0"':"")+"><tbody>"+t+"</tbody></table></div></div>"),r._appendCols(a.find("table")),a.css(Ct?"padding-left":"padding-right",i),a):'<tfoot class="k-grid-footer">'+t+"</tfoot>"},_columnMenu:function(){var t,r,a,i,n,l,o=this,s=o.columns,d=o.options,c=d.columnMenu,u=this._isMobile,p=function(){b(o.thead.parent(),!0)},h=function(e){o.trigger(Q,{field:e.field,container:e.container})};c&&("boolean"==typeof c&&(c={}),o.thead.find("th:not(.k-hierarchy-cell,.k-group-cell)").each(function(f){r=s[f],l=e(this),r.command||!r.field&&!l.attr("data-"+_.ns+"field")||(t=l.data("kendoColumnMenu"),t&&t.destroy(),i=r.sortable!==!1&&c.sortable!==!1?d.sortable:!1,n=d.filterable&&r.filterable!==!1&&c.filterable!==!1?R({},r.filterable,d.filterable):!1,a={dataSource:o.dataSource,values:r.values,columns:c.columns,sortable:i,filterable:n,messages:c.messages,owner:o,closeCallback:p,init:h,filter:u?":not(.k-column-active)":""},l.kendoColumnMenu(a))}))},_filterable:function(){var t,r,a=this,i=a.columns,n=function(){b(a.thead.parent(),!0)},l=a.options.filterable;l&&!a.options.columnMenu&&a.thead.find("th:not(.k-hierarchy-cell,.k-group-cell)").each(function(o){var s,d;t=e(this),i[o].filterable===!1||i[o].command||!i[o].field&&!t.attr("data-"+_.ns+"field")||(r=t.data("kendoFilterMenu"),r&&r.destroy(),s=i[o].filterable,d=R({},l,s,{dataSource:a.dataSource,values:i[o].values,closeCallback:n,init:function(e){a.trigger(X,{field:e.field,container:e.container})}}),s&&s.messages&&(d.messages=R(!0,{},l.messages,s.messages)),t.kendoFilterMenu(d))})},_sortable:function(){var t,r,a,i=this,n=i.columns,l=i.options.sortable;l&&i.thead.find("th:not(.k-hierarchy-cell,.k-group-cell)").each(function(o){t=n[o],t.sortable!==!1&&!t.command&&t.field&&(r=e(this),a=r.data("kendoSortable"),a&&a.destroy(),r.attr("data-"+_.ns+"field",t.field).kendoSortable(R({},l,t.sortable,{dataSource:i.dataSource,aria:!0,filter:":not(.k-column-active)"})))})},_columns:function(t){var r,a=this,i=a.table,n=i.find("col"),l=a.options.dataSource;t=t.length?t:D(i.find("th"),function(t,r){t=e(t);var a=t.attr(_.attr("sortable")),i=t.attr(_.attr("filterable")),l=t.attr(_.attr("type")),o=t.attr(_.attr("groupable")),s=t.attr(_.attr("field")),d=t.attr(_.attr("menu"));return s||(s=t.text().replace(/\s|[^A-z0-9]/g,"")),{field:s,type:l,sortable:"false"!==a,filterable:"false"!==i,groupable:"false"!==o,menu:d,template:t.attr(_.attr("template")),width:n.eq(r).css("width")}}),r=!(a.table.find("tbody tr").length>0&&(!l||!l.transport)),a.columns=D(t,function(e){return e=typeof e===ht?{field:e}:e,e.hidden&&(e.attributes=c(e.attributes),e.footerAttributes=c(e.footerAttributes),e.headerAttributes=c(e.headerAttributes)),R({encoded:r},e)})},_groups:function(){var e=this.dataSource.group();return e?e.length:0},_tmpl:function(e,t){var i,n,l,o,s=this,d=R({},_.Template,s.options.templateSettings),c=s.columns.length,u={storage:{},count:0},p=s._hasDetails(),h=[],f=s._groups();if(!e){for(e="<tr",t&&h.push("k-alt"),p&&h.push("k-master-row"),h.length&&(e+=' class="'+h.join(" ")+'"'),c&&(e+=" "+_.attr("uid")+'="#='+_.expr("uid",d.paramName)+'#"'),e+=" role='row'>",f>0&&(e+=r(f)),p&&(e+='<td class="k-hierarchy-cell"><a class="k-icon k-plus" href="\\#" tabindex="-1"></a></td>'),i=0;c>i;i++)l=s.columns[i],n=l.template,o=typeof n,e+="<td"+a(l.attributes)+" role='gridcell'>",e+=s._cellTmpl(l,u),e+="</td>";e+="</tr>"}return e=_.template(e,d),u.count>0?I(e,u.storage):e},_headerCellText:function(e){var t=this,r=R({},_.Template,t.options.templateSettings),a=e.headerTemplate,i=typeof a,n=e.title||e.field||"";return i===pt?n=_.template(a,r)({}):i===ht&&(n=a),n},_cellTmpl:function(e,t){var r,a,i=this,n=R({},_.Template,i.options.templateSettings),l=e.template,o=n.paramName,s=e.field,d="",c=e.format,u=typeof l,p=e.values;if(e.command){if(A(e.command)){for(r=0,a=e.command.length;a>r;r++)d+=i._createButton(e.command[r]);return d.replace(kt,"\\#")}return i._createButton(e.command).replace(kt,"\\#")}return u===pt?(t.storage["tmpl"+t.count]=l,d+="#=this.tmpl"+t.count+"("+o+")#",t.count++):u===ht?d+=l:p&&p.length&&H(p[0])&&"value"in p[0]&&s?(d+="#var v ="+_.stringify(h(p))+"#",d+="#var f = v[",n.useWithBlock||(d+=o+"."),d+=s+"]#",d+="${f != null ? f : ''}"):(d+=e.encoded?"#:":"#=",c&&(d+='kendo.format("'+c.replace(bt,"\\$1")+'",'),s?(s=_.expr(s,o),d+=s+"==null?'':"+s):d+="''",c&&(d+=")"),d+="#"),d},_templates:function(){var t=this,r=t.options,a=t.dataSource,i=a.group(),n=t.footer||t.wrapper.find(".k-grid-footer"),l=a.aggregate();t.rowTemplate=t._tmpl(r.rowTemplate),t.altRowTemplate=t._tmpl(r.altRowTemplate||r.rowTemplate,!0),t._hasDetails()&&(t.detailTemplate=t._detailTmpl(r.detailTemplate||"")),(t._group&&!W(l)||!W(l)&&!n.length||z(t.columns,function(e){return e.footerTemplate}).length)&&(t.footerTemplate=t._footerTmpl(l,"footerTemplate","k-footer-template")),i&&z(t.columns,function(e){return e.groupFooterTemplate}).length&&(l=e.map(i,function(e){return e.aggregates}),t.groupFooterTemplate=t._footerTmpl(l,"groupFooterTemplate","k-group-footer"))},_footerTmpl:function(e,t,i){var n,o,s,d,c,u=this,p=R({},_.Template,u.options.templateSettings),h=p.paramName,f="",g=u.columns,m={},b=0,k={},v=u._groups(),w=l(e);for(f+='<tr class="'+i+'">',v>0&&(f+=r(v)),u._hasDetails()&&(f+='<td class="k-hierarchy-cell">&nbsp;</td>'),n=0,o=u.columns.length;o>n;n++)c=g[n],s=c[t],d=typeof s,f+="<td"+a(c.footerAttributes)+">",s?(d!==pt&&(k=w[c.field]?R({},p,{paramName:h+"."+c.field}):{},s=_.template(s,k)),m["tmpl"+b]=s,f+="#=this.tmpl"+b+"("+h+")#",b++):f+="&nbsp;",f+="</td>";return f+="</tr>",f=_.template(f,p),b>0?I(f,m):f},_detailTmpl:function(e){var t=this,a="",i=R({},_.Template,t.options.templateSettings),n=i.paramName,l={},o=0,s=t._groups(),c=d(t.columns).length,u=typeof e;return a+='<tr class="k-detail-row">',s>0&&(a+=r(s)),a+='<td class="k-hierarchy-cell"></td><td class="k-detail-cell"'+(c?' colspan="'+c+'"':"")+">",u===pt?(l["tmpl"+o]=e,a+="#=this.tmpl"+o+"("+n+")#",o++):a+=e,a+="</td></tr>",a=_.template(a,i),o>0?I(a,l):a},_hasDetails:function(){var e=this;return null!==e.options.detailTemplate||(e._events[J]||[]).length},_details:function(){var t=this;t.table.on(dt+U,".k-hierarchy-cell .k-plus, .k-hierarchy-cell .k-minus",function(r){var a,i,n=e(this),l=n.hasClass("k-plus"),o=n.closest("tr.k-master-row"),s=t.detailTemplate,d=t._hasDetails();return n.toggleClass("k-plus",!l).toggleClass("k-minus",l),d&&!o.next().hasClass("k-detail-row")&&(i=t.dataItem(o),e(s(i)).addClass(o.hasClass("k-alt")?"k-alt":"").insertAfter(o),t.trigger(J,{masterRow:o,detailRow:o.next(),data:i,detailCell:o.next().find(".k-detail-cell")})),a=o.next(),t.trigger(l?at:it,{masterRow:o,detailRow:a}),a.toggle(l),t._current&&t._current.attr("aria-expanded",l),r.preventDefault(),!1})},dataItem:function(t){if(t=e(t)[0],!t)return null;var r,a,i=this.tbody.children(),n=/k-grouping-row|k-detail-row|k-group-footer/,l=t.sectionRowIndex;for(a=l,r=0;l>r;r++)n.test(i[r].className)&&a--;return this._data[a]},expandRow:function(t){e(t).find("> td .k-plus, > td .k-i-expand").click()},collapseRow:function(t){e(t).find("> td .k-minus, > td .k-i-collapse").click()},_thead:function(){var r,i,n,l,o,s=this,d=s.columns,c=s._hasDetails()&&d.length,u="",p=s.table.find(">thead");if(p.length||(p=e("<thead/>").insertBefore(s.tbody)),n=s.element.find("tr:has(th):first"),n.length||(n=p.children().first(),n.length||(n=e("<tr/>"))),n.children().length)c&&!n.find(".k-hierarchy-cell")[0]&&n.prepend('<th class="k-hierarchy-cell">&nbsp;</th>');else{for(c&&(u+='<th class="k-hierarchy-cell">&nbsp;</th>'),r=0,i=d.length;i>r;r++)o=d[r],l=s._headerCellText(o),o.command?u+="<th"+a(o.headerAttributes)+">"+l+"</th>":(u+="<th role='columnheader' "+_.attr("field")+"='"+(o.field||"")+"' ",o.title&&(u+=_.attr("title")+'="'+o.title.replace(/'/g,"'")+'" '),o.groupable!==t&&(u+=_.attr("groupable")+"='"+o.groupable+"' "),o.aggregates&&(u+=_.attr("aggregates")+"='"+o.aggregates+"'"),u+=a(o.headerAttributes),u+=">"+l+"</th>");n.html(u)}n.find("th").addClass("k-header"),s.options.scrollable||p.addClass("k-grid-header"),n.find("script").remove().end().appendTo(p),s.thead&&s._destroyColumnAttachments(),s.thead=p,s._sortable(),s._filterable(),s._scrollable(),s._updateCols(),s._resizable(),s._draggable(),s._reorderable(),s.groupable&&s._attachGroupable(),s._columnMenu()},_updateCols:function(){var e=this;e._appendCols(e.thead.parent().add(e.table))},_appendCols:function(e){var t=this;p(e,d(t.columns),t._hasDetails(),t._groups())},_autoColumns:function(e){if(e&&e.toJSON){var t,r=this;e=e.toJSON();for(t in e)r.columns.push({field:t});r._thead(),r._templates()}},_rowsHtml:function(e){var t,r,a=this,i="",n=a.rowTemplate,l=a.altRowTemplate;for(t=0,r=e.length;r>t;t++)i+=t%2?l(e[t]):n(e[t]),a._data.push(e[t]);return i},_groupRowHtml:function(e,t,a){var i,n,l=this,o="",s=e.field,d=z(l.columns,function(e){return e.field==s})[0]||{},c=d.groupHeaderTemplate,u=(d.title||s)+": "+f(e.value,d.format,d.values),p=R({},{field:e.field,value:e.value},e.aggregates[e.field]),h=l._groupAggregatesDefaultObject||{},g=e.items;if(c&&(u=typeof c===pt?c(p):_.template(c)(p)),o+='<tr class="k-grouping-row">'+r(a)+'<td colspan="'+t+'" aria-expanded="true">'+'<p class="k-reset">'+'<a class="k-icon k-i-collapse" href="#" tabindex="-1"></a>'+u+"</p></td></tr>",e.hasSubgroups)for(i=0,n=g.length;n>i;i++)o+=l._groupRowHtml(g[i],t-1,a+1);else o+=l._rowsHtml(g);return l.groupFooterTemplate&&(o+=l.groupFooterTemplate(R(h,e.aggregates))),o},collapseGroup:function(r){r=e(r).find(".k-icon").addClass("k-i-expand").removeClass("k-i-collapse").end();var a,i,n=r.find(".k-group-cell").length,l=1;r.find("td:first").attr("aria-expanded",!1),r.nextAll("tr").each(function(){return i=e(this),a=i.find(".k-group-cell").length,i.hasClass("k-grouping-row")?l++:i.hasClass("k-group-footer")&&l--,n>=a||i.hasClass("k-group-footer")&&0>l?!1:(i.hide(),t)})},expandGroup:function(r){r=e(r).find(".k-icon").addClass("k-i-collapse").removeClass("k-i-expand").end();var a,i,n=this,l=r.find(".k-group-cell").length,o=1;r.find("td:first").attr("aria-expanded",!0),r.nextAll("tr").each(function(){return a=e(this),i=a.find(".k-group-cell").length,l>=i?!1:(i!=l+1||a.hasClass("k-detail-row")||(a.show(),a.hasClass("k-grouping-row")&&a.find(".k-icon").hasClass("k-i-collapse")&&n.expandGroup(a),a.hasClass("k-master-row")&&a.find(".k-icon").hasClass("k-minus")&&a.next().show()),a.hasClass("k-grouping-row")&&o++,a.hasClass("k-group-footer")&&(1==o?a.show():o--),t)})},_updateHeader:function(t){var r=this,a=r.thead.find("th.k-group-cell"),i=a.length;t>i?e(Array(t-i+1).join('<th class="k-group-cell k-header">&nbsp;</th>')).prependTo(r.thead.find("tr")):i>t&&(i-=t,e(z(a,function(e,t){return i>t})).remove())},_firstDataItem:function(e,t){return e&&t&&(e=e.hasSubgroups?this._firstDataItem(e.items[0],t):e.items[0]),e},hideColumn:function(t){var r,a,i,n,l,o,s,u,p,h=this,f=0,m=h.footer||h.wrapper.find(".k-grid-footer"),b=h.columns;if(t="number"==typeof t?b[t]:z(b,function(e){return e.field===t})[0],t&&!t.hidden){for(p=E(t,d(b)),t.hidden=!0,t.attributes=c(t.attributes),t.footerAttributes=c(t.footerAttributes),t.headerAttributes=c(t.headerAttributes),h._templates(),h._updateCols(),g(h.thead.find(">tr")[0].cells,p,!1),m[0]&&(h._appendCols(m.find("table:first")),g(m.find(".k-footer-template")[0].cells,p,!1)),r=h.tbody.children(),l=0,u=r.length;u>l;l+=1)a=r.eq(l),a.is(".k-grouping-row,.k-detail-row")?(i=a.children(":not(.k-group-cell):first,.k-detail-cell").last(),i.attr("colspan",parseInt(i.attr("colspan"),10)-1)):(a.hasClass("k-grid-edit-row")&&(i=a.children(".k-edit-container")[0])&&(i=e(i),i.attr("colspan",parseInt(i.attr("colspan"),10)-1),i.find("col").eq(p).remove(),a=i.find("tr:first")),g(a[0].cells,p,!1));for(o=h.thead.prev().find("col"),l=0,u=o.length;u>l;l+=1){if(s=o[l].style.width,!s||-1!=s.indexOf("%")){f=0;break}f+=parseInt(s,10)}n=e(">.k-grid-header table:first,>.k-grid-footer table:first",h.wrapper).add(h.table),h._footerWidth=null,f&&(n.width(f),h._footerWidth=f),yt.msie&&8==yt.version&&(n.css("display","inline-table"),setTimeout(function(){n.css("display","table")},1)),h.trigger(Z,{column:t})}},showColumn:function(t){var r,a,i,n,l,o,s,c,h,f,m=this,b=m.columns,k=m.footer||m.wrapper.find(".k-grid-footer");if(t="number"==typeof t?b[t]:z(b,function(e){return e.field===t})[0],t&&t.hidden){for(f=E(t,b),t.hidden=!1,t.attributes=u(t.attributes),t.footerAttributes=u(t.footerAttributes),t.headerAttributes=u(t.headerAttributes),m._templates(),m._updateCols(),g(m.thead.find(">tr")[0].cells,f,!0),k[0]&&(m._appendCols(k.find("table:first")),g(k.find(".k-footer-template")[0].cells,f,!0)),r=m.tbody.children(),a=0,i=r.length;i>a;a+=1)n=r.eq(a),n.is(".k-grouping-row,.k-detail-row")?(l=n.children(":not(.k-group-cell):first,.k-detail-cell").last(),l.attr("colspan",parseInt(l.attr("colspan"),10)+1)):(n.hasClass("k-grid-edit-row")&&(l=n.children(".k-edit-container")[0])&&(l=e(l),l.attr("colspan",parseInt(l.attr("colspan"),10)+1),p(l.find(">form>table"),d(b),!1,0),n=l.find("tr:first")),g(n[0].cells,f,!0));if(o=e(">.k-grid-header table:first,>.k-grid-footer table:first",m.wrapper).add(m.table),t.width){for(s=0,h=m.thead.prev().find("col"),a=0,i=h.length;i>a;a+=1){if(c=h[a].style.width,c.indexOf("%")>-1){s=0;break}s+=parseInt(c,10)}m._footerWidth=null,s&&(o.width(s),m._footerWidth=s)}else o.width("");m.trigger(et,{column:t})}},_progress:function(e){var t=this,r=t.element.is("table")?t.element.parent():t.content&&t.content.length?t.content:t.element;_.ui.progress(r,e)},refresh:function(t){var r,a,i,n,o,s,c=this,u="",p=c.dataSource.view(),h=c.options.navigatable,f=e(c.current()),g=!1,m=(c.dataSource.group()||[]).length,k=m+d(c.columns).length;if(!(t&&"itemchange"===t.action&&c.editable||(t=t||{},c.trigger("dataBinding",{action:t.action||"rebind",index:t.index,items:t.items})))){if(s=T(),h&&(c.table[0]===s||e.contains(c.table[0],s)||c._editContainer&&c._editContainer.data("kendoWindow"))&&(g=f.is("th"),o=0,g&&(o=c.thead.find("th:not(.k-group-cell)").index(f))),c._destroyEditable(),c._progress(!1),c._hideResizeHandle(),c._data=[],c.columns.length||(c._autoColumns(c._firstDataItem(p[0],m)),k=m+c.columns.length),c._group=m>0||c._group,c._group&&(c._templates(),c._updateCols(),c._updateHeader(m),c._group=m>0),m>0)for(c.detailTemplate&&k++,c.groupFooterTemplate&&(c._groupAggregatesDefaultObject=l(c.dataSource.aggregate())),a=0,r=p.length;r>a;a++)u+=c._groupRowHtml(p[a],k,0);else u+=c._rowsHtml(p);y?c.tbody[0].innerHTML=u:(n=document.createElement("div"),n.innerHTML="<table><tbody>"+u+"</tbody></table>",i=n.firstChild.firstChild,c.table[0].replaceChild(i,c.tbody[0]),c.tbody=e(i)),c._footer(),c._setContentHeight(),c._setContentWidth(),o>=0&&(c._removeCurrent(),g?c.current(c.thead.find("th:not(.k-group-cell)").eq(o)):c.current(c.items().eq(o).children().filter(B).first()),c._current&&b(c._current.closest("table")[0],!0)),c.trigger(rt)}}});v.plugin(Rt),v.plugin(St)}(window.kendo.jQuery)})}("function"==typeof define&&define.amd?define:function(e,t){return t()});
//@ sourceMappingURL=kendo.grid.min.js.map