UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 5.93 kB
module.exports=function(e){function t(i){if(n[i])return n[i].exports;var s=n[i]={exports:{},id:i,loaded:!1};return e[i].call(s.exports,s,s.exports,t),s.loaded=!0,s.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}({0:function(e,t,n){e.exports=n(1077)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1049:function(e,t){e.exports=require("./kendo.core")},1076:function(e,t){e.exports=require("./kendo.badge")},1077:function(e,t,n){var i,s,o;!function(a,define){s=[n(1049),n(1076)],i=a,o="function"==typeof i?i.apply(t,s):i,!(void 0!==o&&(e.exports=o))}(function(){return function(e,t){function n(n,i){var o;null!==n&&n!==t&&(n.constructor!==Object&&(n={text:n}),n.position!==t&&""!==n.position||(n.position="edge",n.align!==t&&""!==n.align||(n.align="top end")),n._classNames=["k-button-badge"],i.addClass("k-badge-container"),o=e("<span />").appendTo(i),i.badge=new s.Badge(o,n))}var i=window.kendo,s=i.ui,o=s.Widget,a=i.keys,r=e.proxy,d=i.template,c=".kendoButtonGroup",l="k-widget",u="k-button-group",p="k-button",f="k-button-icontext",m="k-button-icon",h="k-state-active",b="k-state-disabled",g="select",v="click",k="keydown",x="focus",C="focusout",y="mousedown",_=i.support.browser.msie,w={item:d('<span #= item.enabled === false ? "disabled" : "" # >#= icon(iconClass) ##= image(item) ##= text #</span>'),image:d('<img alt="icon" src="#=data.imageUrl#" />'),icon:d('<span class="#=data#"></span>'),empty:d("")},E=o.extend({init:function(t,n){var i=this;o.fn.init.call(i,t,n),i.wrapper=i.element,i.options.items&&i._renderItems(i.options.items),i.selectedIndices=[],i.element.addClass(l+" "+u).attr("role","group").attr("tabindex",i.element.attr("tabindex")||"0").children().each(function(){var t=e(this);i._updateClasses.bind(i)(t)}),i._enable=!0,i.options.enable&&i.options.enabled||(i._enable=!1,i.element.attr("aria-disabled",!0).addClass(b)),i.select(i.options.index),i._attachEvents()},events:[g],options:{name:"ButtonGroup",selection:"single",index:-1,enable:!0,enabled:!0},current:function(){return this.element.find("."+h)},_attachEvents:function(){var e=this;e.element.on(v+c,"."+p,r(e._click,e)).on(x+c,r(e._focus,e)).on(C+c,r(e._focusout,e)).on(k+c,r(e._keyDown,e)).on(y+c,r(e._mouseDown,e))},_renderItems:function(t){var s=this;t.forEach(function(t){var o=e(w.item({image:t.imageUrl?w.image:w.empty,icon:t.imageUrl||!t.iconClass&&!t.icon?w.empty:w.icon,iconClass:t.iconClass||"k-icon k-i-"+t.icon,item:t,text:t.text?t.encoded===!1?t.text:i.htmlEncode(t.text):""}));t.attributes&&o.attr(t.attributes),t.selected&&o.addClass(h),(t.iconClass||t.icon||t.imageUrl)&&o.addClass(t.text?"k-button-icontext":"k-button-icon"),t.badge&&n(t.badge,o),o.appendTo(s.element)})},_mouseDown:function(e){var t=e.clientX,n=e.clientY,i=document.elementFromPoint(t,n);i!==this.element[0]&&(this.preventFocus=!0,this.preventFocusOut=!0),_&&this._focus()},_focus:function(){var n=e(this.element);return n.removeAttr("tabindex"),n.find("[role='button']").attr("tabindex","0"),this.preventFocus?(this.preventFocus=!1,t):(n.find("."+h).length?n.find("."+h).first().focus():n.children().first().focus(),t)},_focusout:function(){var e=this,n=e.wrapper;return this.preventFocusOut?(this.preventFocusOut=!1,t):(setTimeout(function(){n[0].contains(document.activeElement)||(n.attr("tabindex","0"),n.find("[role='button']").removeAttr("tabindex"))}),t)},_keyDown:function(t){var n,s=this,o=e(s.element),r=o.find("."+p),d=o.find(":focus"),c=r.index(d),l=i.support.isRtl(s.element);t.keyCode===a.LEFT&&!l||t.keyCode===a.RIGHT&&l?(n=0===c?r.eq(r.length-1):e(r[c-1]),n.focus(),t.preventDefault()):t.keyCode===a.LEFT&&l||t.keyCode===a.RIGHT&&!l?(n=c+1===r.length?r.eq(0):e(r[c+1]),n.focus(),t.preventDefault()):t.keyCode!==a.ENTER&&t.keyCode!==a.SPACEBAR||(s._select(d),t.preventDefault())},select:function(n){var i,s=this,o=-1;n!==t&&n!==-1&&("number"==typeof n?(o=n,n=s.element.children().eq(n)):n.nodeType&&(n=e(n),o=n.index()),"multiple"===s.options.selection?(i="true"===n.attr("aria-pressed"),n.attr("aria-pressed",!i).toggleClass(h),s.selectedIndices.indexOf(o)===-1?s.selectedIndices.push(o):s.selectedIndices.splice(s.selectedIndices.indexOf(o),1)):(s.selectedIndices=[],s.current().attr("aria-pressed",!1).removeClass(h),n.attr("aria-pressed",!0).addClass(h),s.selectedIndices.push(o)))},badge:function(e,s){var o,a=this.element,r=isNaN(e)?a.find(e):a.children().eq(e),d=s||0===s;if(r.length){if(o=r.children(".k-badge").eq(0).data("kendoBadge"),!o&&d)return n({text:i.htmlEncode(s)},r),i.htmlEncode(s);if(d)o.text(i.htmlEncode(s));else if(s===!1)return o.element.empty().remove(),o.destroy(),t;return o?o.text():null}},enable:function(e){t===e&&(e=!0),this.element.attr("aria-disabled",!e).toggleClass(b,!e),this._enable=this.options.enable=e},destroy:function(){var t=this;t.element.off(c),t.element.find(".k-badge").each(function(){e(this).data("kendoBadge").destroy()}),o.fn.destroy.call(t)},_updateClasses:function(t){var s=i.attrValue(t,"icon"),o=i.attrValue(t,"badge"),a=t.find("img").addClass("k-image"),r=!0;t.attr("aria-pressed",!1).attr("role","button").addClass(p),(t.is("[disabled]")||t.hasClass(b))&&t.addClass(b).attr("aria-disabled",!0).removeAttr("disabled"),t.is("."+h)&&(t.removeClass(h),(!t.hasClass(b)&&"single"===this.options.selection||"multiple"===this.options.selection)&&this.select(t[0])),!a[0]&&s&&t.prepend(e(w.icon("k-icon k-i-"+s))),t.contents().filter(function(){return!e(this).hasClass("k-icon")&&!e(this).hasClass("k-image")}).each(function(){(1==this.nodeType||3==this.nodeType&&i.trim(this.nodeValue).length>0)&&(r=!1)}),(a[0]||s)&&t.addClass(r?m:f),(o||0===o)&&n(o,t)},_click:function(t){var n=e(t.target).closest("."+p);t.isDefaultPrevented()||(t.target.focus(),this._select(n))},_select:function(e){var t=e;this._enable&&!t.is("."+b)&&(this.select(e[0]),this.trigger(g,{indices:this.selectedIndices}))}});s.plugin(E)}(window.kendo.jQuery),window.kendo},n(3))}});