@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 12.5 kB
JavaScript
module.exports=function(e){function t(n){if(a[n])return a[n].exports;var i=a[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var a={};return t.m=e,t.c=a,t.p="",t(0)}({0:function(e,t,a){e.exports=a(1363)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1067:function(e,t){e.exports=require("./kendo.data")},1363:function(e,t,a){var n,i,s;!function(l,define){i=[a(1067)],n=l,s="function"==typeof n?n.apply(t,i):n,!(void 0!==s&&(e.exports=s))}(function(){return function(e,t){function a(e){return e.template({idx:e.idx,text:e.text,ns:d.ns,numeric:e.numeric,title:e.title||"",tabindex:e.navigatable?0:-1,navigatable:e.navigatable})}function n(e,t,a,n){return e({idx:t,text:a||t,selected:n||!1})}function i(e,t,a,n){return N({className:e.substring(1),text:t,wrapClassName:a||"",id:n||""})}function s(e,t,a,n){e.find(t).parent().attr(d.attr("page"),a).attr("tabindex",n?-1:0).toggleClass("k-state-disabled",n)}function l(e,t){s(e,h,1,t<=1)}function r(e,t){s(e,_,Math.max(1,t-1),t<=1)}function o(e,t,a){s(e,b,Math.min(a,t+1),t>=a)}function p(e,t,a){s(e,k,a,t>=a)}var d=window.kendo,u=d.ui,c=u.Widget,g=d.keys,m=d.template,f=e.proxy,h=".k-i-arrow-end-left",k=".k-i-arrow-end-right",_=".k-i-arrow-60-left",b=".k-i-arrow-60-right",v="k-pager-md k-pager-sm",x=":kendoFocusable:not([tabindex='-1'])",S="change",w=".kendoPager",T="click",C="keydown",y="disabled",P="down",z=Number.MAX_VALUE,D=!1,N=d.template('<a href="\\#" title="#=text#" #if (id !== "") {# aria-describedby="#=id#" #}# class="k-link k-pager-nav #= wrapClassName #"><span class="k-icon #= className #"></span></a>'),E=c.extend({init:function(t,a){var n,s,u,g,m=this,v=null;c.fn.init.call(m,t,a),a=m.options,m._createDataSource(a),m.linkTemplate=d.template(m.options.linkTemplate),m.selectTemplate=d.template(m.options.selectTemplate),m.currentPageTemplate=d.template(m.options.currentPageTemplate),m.numericSelectItemTemplate=d.template(m.options.numericSelectItemTemplate),n=m.page(),s=m.totalPages(),m._refreshHandler=f(m.refresh,m),m.dataSource.bind(S,m._refreshHandler),m.downEvent=d.applyEventMap(P,d.guid()),D=d.support.isRtl(t),m._id=m.element.attr("id")||d.guid(),m._template(),a.previousNext&&(m.element.find(h).length||(m.element.append(i(h,a.messages.first,"k-pager-first",m._id)),l(m.element,n,s)),m.element.find(_).length||(m.element.append(i(_,a.messages.previous,null,m._id)),r(m.element,n,s))),a.numeric&&(m._numericWrap||(m._numericWrap=m.element.find(".k-pager-numbers-wrap"),0===m._numericWrap.length&&(m._numericWrap=e("<div class='k-pager-numbers-wrap' />").appendTo(m.element))),m._numericSelect||(m._numericSelect=m._numericWrap.find(".k-dropdown"),0===m._numericSelect.length&&(m._numericSelect=e("<select class='k-dropdown' />").appendTo(m._numericWrap))),m.list||(m.list=m._numericWrap.find(".k-pager-numbers"),0===m.list.length&&(m.list=e('<ul class="k-pager-numbers" />').appendTo(m._numericWrap))),a.dataSource&&!a.dataSource.total()&&(m._numericSelect.empty().append("<option value='0' />"),m.list.empty().append(m.selectTemplate({text:0,tabindex:a.navigatalbe?0:-1,navigatable:a.navigatable,title:d.format(a.messages.pageButtonLabel,0)})))),a.input&&(m.element.find(".k-pager-input").length||m.element.append('<span class="k-pager-input k-label">'+a.messages.page+'<input class="k-textbox">'+d.format(a.messages.of,s)+"</span>"),m.element.on(C+w,".k-pager-input input",f(m._keydown,m))),a.previousNext&&(m.element.find(b).length||(m.element.append(i(b,a.messages.next,null,m._id)),o(m.element,n,s)),m.element.find(k).length||(m.element.append(i(k,a.messages.last,"k-pager-last",m._id)),p(m.element,n,s))),a.pageSizes&&(m.element.find(".k-pager-sizes").length||(u=a.pageSizes.length?a.pageSizes:["all",5,10,20],g=e.map(u,function(e){return e.toLowerCase&&"all"===e.toLowerCase()?"<option value='all'>"+a.messages.allPages+"</option>":"<option>"+e+"</option>"}),e('<span class="k-pager-sizes k-label"><select></select>'+a.messages.itemsPerPage+"</span>").appendTo(m.element).find("select").html(g.join("")).end().appendTo(m.element)),m.element.find(".k-pager-sizes select").val(m.pageSize()),d.ui.DropDownList&&m.element.find(".k-pager-sizes select").show().attr("aria-label",a.messages.pageSizeDropDownLabel).kendoDropDownList(),m.element.on(S+w,".k-pager-sizes select",f(m._change,m))),a.refresh&&(m.element.find(".k-pager-refresh").length||m.element.append('<a href="#" class="k-pager-refresh k-link" title="'+a.messages.refresh+'" aria-label="'+a.messages.refresh+'"><span class="k-icon k-i-reload"></span></a>'),m.element.on(T+w,".k-pager-refresh",f(m._refreshClick,m))),a.info&&(m.element.find(".k-pager-info").length||m.element.append('<span class="k-pager-info k-label" />')),m.element.on(T+w,"a",f(m._click,m)).on(S+w,"select.k-dropdown",f(m._numericSelectChange,m)).addClass("k-pager-wrap k-widget k-floatwrap"),a.autoBind&&m.refresh(),m._resizeHandler=f(m.resize,m,!0),e(window).on("resize"+w,m._resizeHandler),v=m._getWidthSizeClass(m.element.outerWidth()),v&&m.element.addClass(v),m._navigatable(),d.notify(m)},destroy:function(){var t=this;c.fn.destroy.call(t),t.element.off(w),t.dataSource.unbind(S,t._refreshHandler),t._refreshHandler=null,e(window).off("resize"+w,this._resizeHandler),d.destroy(t.element),t.element=t.list=null},events:[S],options:{name:"Pager",ARIATemplate:"Page navigation, page #=page# of #=totalPages#",selectTemplate:'<li><span tabindex="#=tabindex#" #if (navigatable) {# aria-label="#=title#" #}# class="k-link k-state-selected">#=text#</span></li>',currentPageTemplate:'<li class="k-current-page"><span class="k-link k-pager-nav">#=text#</span></li>',linkTemplate:'<li><a tabindex="#=tabindex#" href="\\#" class="k-link" data-#=ns#page="#=idx#" #if (title !== "") {# title="#=title#" #}#>#=text#</a></li>',numericItemTemplate:'<li><a tabindex="-1" href="\\#" class="k-link" data-#=ns#page="#=idx#" #if (title !== "") {# title="#=title#" #}#>#=text#</a></li>',numericSelectItemTemplate:'<option value="#= idx #" #if (selected) {# selected="selected" #}#>#= text #</option>',buttonCount:10,autoBind:!0,numeric:!0,info:!0,input:!1,previousNext:!0,pageSizes:!1,refresh:!1,responsive:!0,navigatable:!1,messages:{allPages:"All",display:"{0} - {1} of {2} items",empty:"No items to display",page:"Page",of:"of {0}",itemsPerPage:"items per page",pageButtonLabel:"Page {0}",pageSizeDropDownLabel:"Page sizes drop down",first:"Go to the first page",previous:"Go to the previous page",next:"Go to the next page",last:"Go to the last page",refresh:"Refresh",morePages:"More pages"}},setDataSource:function(e){var t=this;t.dataSource.unbind(S,t._refreshHandler),t.dataSource=t.options.dataSource=e,e.bind(S,t._refreshHandler),t.options.autoBind&&e.fetch()},_resize:function(e){var t,a;e.width&&(t=this._getWidthSizeClass(e.width),a=this.element,t?a.hasClass(t)||(a.removeClass(v),a.addClass(t)):a.removeClass(v))},_createDataSource:function(e){this.dataSource=d.data.DataSource.create(e.dataSource)},refresh:function(t){var i,s,u,c,g,m,f=this,h=1,k=f.page(),_="",b="",v=f.options,x=f.pageSize(),S=f._collapsedTotal(),w=f.dataSource._isGroupPaged()?f.dataSource.groupsTotal(!0):f.dataSource.total(),T=f.totalPages(),C=f.linkTemplate,P=v.navigatable,D=f.numericSelectItemTemplate,N=v.buttonCount;if(!t||"itemchange"!=t.action){if(v.numeric){for(k>N&&(u=k%N,h=0===u?k-N+1:k-u+1),s=Math.min(h+N-1,T),h>1&&(_+=a({template:C,navigatable:P,idx:h-1,text:"...",numeric:!1,title:v.messages.morePages}),b+=n(D,h-1,v.messages.morePages)),i=h;i<=s;i++)_+=a({template:i==k?f.selectTemplate:C,navigatable:P,idx:i,text:i,numeric:!0,title:d.format(v.messages.pageButtonLabel,i)}),b+=n(D,i,i,i==k);s<T&&(_+=a({template:C,navigatable:P,idx:i,text:"...",numeric:D,title:v.messages.morePages}),b+=n(D,i,v.messages.morePages)),""===_&&(_=f.selectTemplate({text:0,tabindex:P?0:-1,navigatable:P,title:d.format(v.messages.pageButtonLabel,0)}),b=e("<option value='0' />")),f.list.html(_),f._numericSelect.html(b)}v.info&&(_=w>0?d.format(v.messages.display,f.dataSource.options.endless?1:Math.min((k-1)*(f.dataSource.pageSize()||0)+1,S),Math.min(k*x,S),w):v.messages.empty,f.element.find(".k-pager-info").html(_)),v.input&&f.element.find(".k-pager-input").html(f.options.messages.page+'<input class="k-textbox" aria-label="'+k+'">'+d.format(v.messages.of,T)).find("input").val(k).attr(y,w<1).toggleClass("k-state-disabled",w<1),v.previousNext&&(l(f.element,k,T),r(f.element,k,T),o(f.element,k,T),p(f.element,k,T)),v.pageSizes&&(c=f.element.find(".k-pager-sizes option[value='all']").length>0,g=c&&(x===this.dataSource.total()||x==z),m=x,g&&(x="all",m=v.messages.allPages),f.element.find(".k-pager-sizes select").val(x).attr("aria-label",x).filter("["+d.attr("role")+"=dropdownlist]").kendoDropDownList("value",x).kendoDropDownList("text",m)),f._restoreFocus(h,s,T),f._excludeChildrenFromTab(),f._updateAria()}},_excludeChildrenFromTab:function(){this.options.navigatable&&d._activeElement()===this.element[0]&&this.element.find(x).attr("tabindex",-1)},_restoreFocus:function(e,t,a){var n=this;n.options.navigatable&&(n._focusSelected&&(n.element.find(".k-state-selected").trigger("focus"),n._focusSelected=null),null!==n._focusMore&&(t<a&&n._focusMore&&n.list.find("li").last().find("a").trigger("focus"),!n._focusMore&&e>1&&n.list.find("li").first().find("a").trigger("focus"),n._focusMore=null))},_restoreTabIndexes:function(){this.element.find("[tabindex='-1']:not(.k-state-disabled)").attr("tabindex",0)},_collapsedTotal:function(){return this.dataSource.total()},_keydown:function(e){if(e.keyCode===d.keys.ENTER){var t=this.element.find(".k-pager-input").find("input"),a=parseInt(t.val(),10);(isNaN(a)||a<1||a>this.totalPages())&&(a=this.page()),t.val(a),this.page(a)}},_refreshClick:function(e){e.preventDefault(),this.dataSource.read()},_change:function(e){var a=e.currentTarget.value,n=parseInt(a,10),i=this.dataSource;isNaN(n)?"all"==(a+"").toLowerCase()&&(i._pageSize=t,i._take=t,i._skip=0,i.fetch()):i.pageSize(n)},_template:function(){this._ariaTemplate=f(m(this.options.ARIATemplate),this)},_updateAria:function(){this.options.navigatable&&this.element.attr("aria-label",this._ariaTemplate({page:this.page(),totalPages:this.totalPages()}))},_navigatable:function(){var e=this,t=e.options;t.navigatable&&(e.element.attr("role","application"),e.element.attr("id",e._id),e._template(),e._updateAria(),e._tabindex(e.element),e.element.on("keydown"+w,e,f(e._keyDown,e)),e.element.on("focusout"+w,function(){e.element.removeClass("k-state-focused")}),e.element.on("focusin"+w,function(t){e.element.addClass("k-state-focused"),t.target===e.element[0]?e.element.find(x).attr("tabindex",-1):e.element.removeClass("k-state-focused")}))},_keyDown:function(t){var a,n,i=this,s=e(t.target),l=!1;s[0]===i.element[0]&&t.keyCode==g.ENTER&&(i._restoreTabIndexes(),i.element.find(x).first().trigger("focus"),l=!0),s[0]!==i.element[0]&&t.keyCode==g.ESC&&(i.element.trigger("focus"),l=!0),s[0]===i.element[0]&&t.keyCode==g.HOME&&(i.page(1),l=!0),s[0]===i.element[0]&&t.keyCode==g.END&&(i.page(i.totalPages()),l=!0),s[0]!==i.element[0]||t.keyCode!=(D?g.LEFT:g.RIGHT)&&t.keyCode!=g.PAGEDOWN||(i.page(i.page()+1),l=!0),s[0]!==i.element[0]||t.keyCode!=(D?g.RIGHT:g.LEFT)&&t.keyCode!=g.PAGEUP||(i.page(i.page()-1||1),l=!0),s[0]!==i.element[0]&&t.keyCode==g.TAB&&(a=i.element.find(x),n=a.index(s),t.shiftKey?n-1<0?a.last().trigger("focus"):a.eq(n-1).trigger("focus"):n+1<a.length?a.eq(n+1).trigger("focus"):a.first().trigger("focus"),l=!0),l&&t.preventDefault()},_numericSelectChange:function(e){var t=e.currentTarget,a=t.value,n=parseInt(a,10);t.blur(),this.page(n)},_click:function(t){var a=e(t.currentTarget);t.preventDefault(),this.options.navigatable&&(a.attr("title")==this.options.messages.morePages?this._focusMore=a.parent().index():a.hasClass("k-pager-refresh")||a.hasClass("k-pager-nav")||(this._focusSelected=!0)),a.is(".k-state-disabled")||this.page(parseInt(a.attr(d.attr("page")),10))},totalPages:function(){return Math.ceil((this.dataSource.total()||0)/(this.pageSize()||1))},pageSize:function(){return this.dataSource.pageSize()||this.dataSource.total()},page:function(e){return e?(this.trigger("pageChange",{index:e})||(this.dataSource.page(e),this.trigger(S,{index:e})),t):this.dataSource.total()>0?this.dataSource.page():0},_getWidthSizeClass:function(e){var t=this,a=v.split(" ");return t.options.responsive?e<=480?a[1]:e<=600?a[0]:null:null}});u.plugin(E)}(window.kendo.jQuery),window.kendo},a(3))}});