UNPKG

@progress/kendo-ui

Version:

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

3 lines (2 loc) 3.21 kB
!function(e){"function"==typeof define&&define.amd?define(["kendo.core.min","kendo.html.chip.min"],e):e()}((function(){var e,t,n,i,r,a,o,l,s,p,c,d,b,u,f;e=window.kendo.jQuery,n=window.kendo,i=n.ui.Widget,r=n.html,a=n.ui,o=n.keys,l="select",s="click",p="remove",c=".kendoChip",d="k-chip-remove-action",b="k-selected",u="k-disabled",f=i.extend({init:function(a,o){var l=this;i.fn.init.call(l,a,o),r.renderChip(a,e.extend({},l.options)),l.wrapper=l.element.closest(".k-chip"),l._enabled=l.options.enabled=o.enabled!==t?o.enabled:!Boolean(l.element.is("[disabled]")),l._selected=l.options.selected,l._selectable=l.options.selectable,l._setTabIndex(),l._applyAriaAttributes(),l._bindEvents(),n.notify(l)},options:{name:"Chip",enabled:!0,selectable:!1,selected:!1,removable:!1,icon:"",iconClass:"",avatarClass:"",label:"",removeIcon:"x-circle",removeIconClass:"",fillMode:"solid",rounded:"medium",size:"medium",themeColor:"base"},events:[l,s,p],destroy:function(){this.wrapper.off(c),i.fn.destroy.call(this)},setOptions:function(e){var t=this;t.wrapper.off(c),t.element.insertBefore(t.wrapper),t.wrapper.remove(),i.fn.setOptions.call(t,e),t.element.empty(),r.renderChip(t.element,t.options),t.wrapper=t.element.closest(".k-chip"),t._setTabIndex(),t._applyAriaAttributes(),t._bindEvents()},enable:function(e){var n=this;if(e===t)return n._enabled;n._enabled=!1!==e,n.wrapper.toggleClass(u,!n._enabled),n.wrapper.attr("aria-disabled",!n._enabled)},select:function(e){var n=this;if(e==t)return n._selected;e=!1!==e,n._selectable&&(n._selected=e,n.wrapper.toggleClass(b,e),n._applyAriaAttributes())},focus:function(){this._enabled&&this.wrapper.focus()},_bindEvents:function(){var e=this,t=e._click.bind(e),n=e._remove.bind(e),i=e._keydown.bind(e);e.wrapper.on("click touchend"+c,t).on("click touchend"+c,"."+d,n).on("keydown"+c,i)},_click:function(e){e.preventDefault(),e.stopPropagation();var t=this;t.enable()?t.trigger(s,{originalEvent:e})||t._triggerSelect(t,e):e.preventDefault()},_remove:function(e){e.preventDefault(),e.stopPropagation(),this.enable()?this.trigger(p,{originalEvent:e}):e.preventDefault()},_triggerSelect:function(e,t){var n=this;n._selectable&&n._enabled&&!n.trigger(l,{originalEvent:t})&&n._toggleSelect()},_toggleSelect:function(){this.select(!this.select())},_keydown:function(t){var n=this,i=e(t.target),r=t.keyCode;if(r===o.ENTER||r===o.SPACEBAR){if(!n.enable())return void t.preventDefault();if(n.trigger(s,{originalEvent:t}))return;n._triggerSelect(i,t),r===o.SPACEBAR&&t.preventDefault()}else r!==o.DELETE&&r!==o.BACKSPACE||n.options.removable&&n.trigger(p,{originalEvent:t})},_setTabIndex:function(){var t=this,n=t.enable()?t.options.tabindex||"0":"-1";t.options.attributes&&t.options.attributes.class&&(t.options.attributes.class=(t.wrapper.attr("class")||"")+" "+t.options.attributes.class),t.wrapper.attr(e.extend({},t.options.attributes,{tabindex:n,ariaSelectedAttributeName:null}))},_applyAriaAttributes:function(){var e=this,t=(e.options.attributes||{}).role||"button";e.wrapper.attr("role",t),e._selectable&&"button"==t&&e.wrapper.attr("aria-pressed",e._selected),e.wrapper.attr("aria-disabled",!1===e.enable())}}),a.plugin(f)})); //# sourceMappingURL=kendo.chip.min.js.map