@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines • 5.71 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.core.min.js`),require(`kendo.chip.min.js`),require(`kendo.html.chiplist.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`,`kendo.chip.min`,`kendo.html.chiplist.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Chiplist={}),e.kendo._globals.Core,e.kendo._globals.Chip,e.kendo._globals.HtmlChiplist))})(this,function(e,t,n,r){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let i={id:`chiplist`,name:`ChipList`,category:`web`,docsCategory:`navigation`,description:`The ChipList component.`,depends:[`core`,`chip`,`html.chiplist`]};(function(e,t){var n=window.kendo,r=n.ui,i=r.Widget,a=n.keys,o=e.isPlainObject,s=e.isEmptyObject,c=`.kendoChipList`,l=`k-chip-list-`,u=`.`,d=`select`,f=`remove`,p=n.html,m={widget:`k-chip-list`,item:`k-chip`,selected:`k-selected`,disabled:`k-disabled`,enabledItemSelector:`k-chip:not(.k-disabled)`},h=i.extend({init:function(t,n){var r=this;n||={},i.fn.init.call(r,t,n),p.renderChipList(t,e.extend({},n)),r._selectable=r.options.selectable,r._bindEvents(),r._items()},options:{name:`ChipList`,selectable:`none`,items:[],fillMode:t,rounded:t,size:t,itemSize:t},events:[d,f],destroy:function(){var e=this;e._keydownProxy&&=(e.unbind(e._keydownProxy),null),e._selectProxy&&=(e.unbind(e._selectProxy),null),e._removeProxy&&=(e.unbind(e._removeProxy),null),e.element.off(c),e.element.find(`[data-role='chip']`).each(function(){e._getChipFromElement(this).destroy()}),i.fn.destroy.call(this)},_updateCssClasses:function(){var e=this,t=e.options,r=m;e.element.removeClass(function(t,n){n.indexOf(`k-`)===0&&e.element.removeClass(n)}),e.element.addClass(r.widget),e.element.addClass(n.getValidCssClass(l,`size`,t.size))},_getInitializeChipOptions:function(t){var n=this,r=n.options,i=e.extend(t.attributes||{},{tabindex:`-1`});return r.selectable!==`none`&&(i.role=`option`,i[`aria-selected`]=t.selected),(r.removable||t.removable)&&(i[`aria-keyshortcuts`]=`Enter Delete`),e.extend({fillMode:r.fillMode,size:r.itemSize,rounded:r.rounded,selectable:r.selectable!==`none`,removable:r.removable,remove:n._removeProxy,select:n._selectProxy},t,{attributes:i})},_getChipFromElement:function(t){return e(t).getKendoChip()||e(t).find(`[data-role='chip']`).getKendoChip()},_items:function(){for(var t=this,n=t.options.items,r,i,a,o,s=0;s<n.length;s++)r=t._getInitializeChipOptions(n[s]),a=e(`<span></span>`),t.element.append(a),t._createChip(a,r);o=t._getFirstNavigatableItem(),o&&t._applyTabIndex(t.items().index(o)),t._selectable===`single`&&(i=t.items().filter(u+m.selected),i.each(function(e,n){if(e!==i.length-1){var r=t._getChipFromElement(n);r&&r.select(!1)}}))},_isItem:function(t){var n=this;return t=e(t),t.is(u+m.item)&&!!n.element.find(t).length},_applyTabIndex:function(t){var n=this,r=n.item(+t?+t:0);n.items().each(function(t,n){e(n).attr(`tabindex`,`-1`)}),r.attr(`tabindex`,`0`)},_createChip:function(e,t){return e.kendoChip(t)},_bindEvents:function(){var e=this;e._keydownProxy=e._keydown.bind(e),e._selectProxy=e._select.bind(e),e._removeProxy=e._remove.bind(e),e.element.on(`keydown`+c,u+m.item,e._keydownProxy)},_select:function(e){var t=this,n=e.sender;if(t._selectable==`none`){e.preventDefault();return}t._triggerSelect(n,e)},_triggerSelect:function(e,t){var n=this,r;n.element.is(u+m.disabled)||n.trigger(d,{originalEvent:t,item:e})||n._selectable===`single`&&(r=n.select(),r.length>0&&r.each(function(t,r){var i=n._getChipFromElement(r);i&&i!==e&&i.select(!1)}))},_remove:function(e){var t=this,n=e.sender;t.trigger(f,{originalEvent:e,item:e.sender})||t._removeItem(n)},_removeItem:function(e){var t=this;if(e){var n=e.wrapper;e.destroy(),n.remove(),t._focusNavigatableItem()}},_keydown:function(t){var n=this,r=e(t.target).closest(u+m.item),i=t.keyCode;(i===a.LEFT||i===a.RIGHT)&&n._focusNavigatableItem(i,r)},_focusNavigatableItem:function(e,t){var n=this,r=n._getNavigatableItem(e,t);r&&(n._applyTabIndex(n.items().index(r)),r.trigger(`focus`))},_getFirstNavigatableItem:function(){return this.items().filter(u+m.enabledItemSelector).first()},_getLastNavigatableItem:function(){return this.items().filter(u+m.enabledItemSelector).last()},_getNavigatableItem:function(e,t){var n=t||this._getFirstNavigatableItem();return e===a.LEFT&&t&&(n=t.prevAll(u+m.enabledItemSelector).first()),e===a.RIGHT&&t&&(n=t.nextAll(u+m.enabledItemSelector).first()),n.length?n:null},items:function(){return this.element.children()},select:function(e,t){var n=this,r,i=n.items().filter(u+m.selected);if(!e)return i;t=t!==!1,r=n._getChipFromElement(e),r&&(n._selectable===`single`&&(i=n.select(),i.length>0&&i.each(function(t,r){var i=n._getChipFromElement(r);i&&i!==e&&i.select(!1)})),r.select(t))},enable:function(e,t){var n=this._getChipFromElement(e);t=t!==!1,n&&n.enable(t)},item:function(e){var t=this;return isNaN(e)?null:t.items().eq(e)},itemById:function(e){return this.element.find(`#`+e)},add:function(t,n){var r=this,i=`append`,a,c,l=r.element;n&&r._isItem(n)&&(i=`before`,l=e(n)),a=r._getChipFromElement(t),a?(r._selectable!==`none`&&a.wrapper.attr(`role`,`option`),l[i](a.wrapper)):t&&o(t)&&!s(t)&&(c=e(`<span></span>`),l[i](c),r._createChip(c,r._getInitializeChipOptions(t)))},remove:function(e){var t=this;e&&t._isItem(e)&&(n.destroy(e),e.remove(),t._focusNavigatableItem())},setOptions:function(e){var t=this;i.fn.setOptions.call(this,e),t._updateCssClasses(),e.items&&(t.element.empty(),t._items())}});r.plugin(h)})(window.kendo.jQuery);var a=kendo;e.__meta__=i,e.default=a});
//# sourceMappingURL=kendo.chiplist.min.js.map