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