kendo-ui-core
Version:
3 lines (2 loc) • 4.76 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("kendo.core.js"),require("kendo.icons.js")):"function"==typeof define&&define.amd?define(["kendo.core.min","kendo.icons.min"],t):((e="undefined"!=typeof globalThis?globalThis:e||self).kendobottomnavigation=e.kendobottomnavigation||{},e.kendobottomnavigation.js=t())}(this,(function(){return function(e,t){var n=window.kendo,i=n.ui,o=i.Widget,s=e.extend,a=n.template,l=n.keys,r=e.isPlainObject,d=e.isEmptyObject,m=".kendoBottomNavigation",c=".",f="select",u=function(e){return"string"==typeof e},p={widget:"k-bottom-nav",item:"k-bottom-nav-item",navIcon:"k-bottom-nav-item-icon",icon:"k-icon",text:"k-bottom-nav-item-text",itemFlow:{vertical:"k-bottom-nav-item-flow-vertical",horizontal:"k-bottom-nav-item-flow-horizontal"},selected:"k-selected",disabled:"k-disabled",border:"k-bottom-nav-border",shadow:"k-bottom-nav-shadow",focus:"k-focus"},h={item:a((function(){return'<span class="'+p.item+'"></span>'})),anchor:a((function(e){var t=e.url;return'<a class="'+p.item+'" href="'+n.htmlEncode(t)+'"></a>'})),text:a((function(e){var t=e.text;return'<span class="'+p.text+'" >'+t+"</span>"})),icon:a((function(t){var i=t.icon;return n.ui.icon(e('<span class="'+p.navIcon+'"></span>'),{icon:i,size:"xlarge"})}))},v=o.extend({init:function(t,n){var i=this;n=n||{},o.fn.init.call(i,t,n),i.element=e(t),null===this.options.fillMode&&(this.options.fillMode=this.options.fill),i._updateCssClasses(),i._items(),i._bindEvents()},options:{name:"BottomNavigation",positionMode:"fixed",items:[],themeColor:"primary",itemFlow:"vertical",fillMode:null,fill:"flat",shadow:!1,border:!0,template:null},events:[f],destroy:function(){this.element.off(m),o.fn.destroy.call(this)},_tabindex:function(e){var t=this.element,i="tabindex",o=t.attr("data-"+n.ns+i),s=e.attr(i)||t.attr(i)||o;o||(t.removeAttr(i),t.attr("data-"+n.ns+i,s)),e.attr(i,isNaN(s)?0:s)},_updateCssClasses:function(){var e=this,t=e.options,i=p;e.element.removeClass((function(t,n){0===n.indexOf("k-")&&e.element.removeClass(n)})),e.element.addClass(i.widget),e.element.addClass(n.getValidCssClass("k-pos-","positionMode",t.positionMode)),e.element.toggleClass(i.border,t.border),e.element.toggleClass(i.shadow,t.shadow),e._itemFlow(t.itemFlow),e._applyCssClasses()},_itemFlow:function(e){var t=p.itemFlow;this._toggleClassGroup(this.element,e,t)},_toggleClassGroup:function(e,t,n){if(u(n[t])){for(var i in n)e.removeClass(n[i]);e.addClass(n[t])}},_items:function(){for(var e,t=this,n=t.options.items,i=0;i<n.length;i++)e=t._renderItem(n[i]),t.element.append(e)},_renderItem:function(t){var i,o,l=t.template||this.options.template,r=t.url&&u(t.url);return(i=e(r?a(h.anchor)(t):a(h.item)(t))).toggleClass(p.selected,!0===t.selected).toggleClass(p.disabled,!1===t.enabled).addClass(t.cssClass).attr(s({},t.attributes,{"aria-disabled":!1===t.enabled})).data(t.data),this._tabindex(i),i.attr("role")||r||i.attr("role","link"),l?(i.append(a(l)(t)),i):(t=s({},{icon:""},t),o=e(h.icon(t)).addClass(t.iconClass),i.append(o),t.text&&(t.text=!1===t.encoded?t.text:n.htmlEncode(t.text),i.append(e(h.text(t)))),i)},_bindEvents:function(){var e=this,t=e._click.bind(e),n=e._keydown.bind(e);e.element.on("click"+m,c+p.item,t).on("keydown"+m,c+p.item,n)},_click:function(t){var n=e(t.target).closest(c+p.item);n.is(c+p.disabled)?t.preventDefault():this._triggerSelect(n,t)},_triggerSelect:function(e,t){e.is(c+p.disabled)||this.trigger(f,{originalEvent:t,item:e,data:e.data()})||this.select(e)},_keydown:function(t){var n=e(t.target),i=t.keyCode;i!==l.ENTER&&i!==l.SPACEBAR||this._isItem(n)&&(this._triggerSelect(n,t),i===l.SPACEBAR&&t.preventDefault())},_isItem:function(t){return(t=e(t)).is(c+p.item)&&!!this.element.find(t).length},items:function(){return this.element.children()},select:function(t,n){var i=this.items().filter(c+p.selected);if(!t)return i;n=!1!==n,this._isItem(t)&&(i.removeClass(p.selected),e(t).toggleClass(p.selected,n))},enable:function(t,n){n=!1===n,t&&this._isItem(t)&&(e(t).toggleClass(p.disabled,n),e(t).attr("aria-disabled",n))},item:function(e){return isNaN(e)?null:this.items().eq(e)},itemById:function(e){return this.element.find("#"+e)},add:function(t,n){var i=this,o="append",s=i.element;n&&i._isItem(n)&&(o="before",s=e(n)),t&&r(t)&&!d(t)&&s[o](i._renderItem(t))},remove:function(e){e&&this._isItem(e)&&e.remove()},showText:function(e){e=!1!==e,this.items().find(c+p.text).toggle(e)},setOptions:function(e){var t=this;o.fn.setOptions.call(this,e),t._updateCssClasses(),("items"in e||"template"in e)&&(t.element.empty(),t._items())}});i.plugin(v),n.cssProperties.registerPrefix("BottomNavigation","k-bottom-nav-")}(window.kendo.jQuery),kendo}));
//# sourceMappingURL=kendo.bottomnavigation.min.js.map