{"version":3,"file":"kendo.multicolumncombobox.min.js","names":["global","factory","exports","module","require","define","amd","globalThis","self","kendomulticolumncombobox","js","this","$","undefined$1","kendo","window","ui","ComboBox","percentageUnitsRegex","MultiColumnComboBox","extend","init","element","options","fn","call","list","parent","addClass","_allColumnsWidthsAreSet","width","_calculateDropDownWidth","dropDownWidth","name","ns","columns","filterFields","setOptions","length","i","currentWidth","isNaN","parseInt","test","totalWidth","support","scrollbar","_wrapper","wrapper","plugin","cssProperties","registerPrefix","registerValues","prop","values","roundedValues","concat","jQuery"],"sources":["kendo.multicolumncombobox.js"],"mappings":"CAAA,SAAWA,EAAQC,GACI,iBAAZC,SAA0C,oBAAXC,OAAyBA,OAAOD,QAAUD,EAAQG,QAAQ,sBAC9E,mBAAXC,QAAyBA,OAAOC,IAAMD,OAAO,CAAC,sBAAuBJ,KAC3ED,EAA+B,oBAAfO,WAA6BA,WAAaP,GAAUQ,MAAcC,yBAA2BT,EAAOS,0BAA4B,CAAC,EAAGT,EAAOS,yBAAyBC,GAAKT,IAC7L,CAJD,CAIGU,MAAM,WAuGL,OAnFA,SAAUC,EAAGC,GACT,IAAIC,EAAQC,OAAOD,MACfE,EAAKF,EAAME,GACXC,EAAWD,EAAGC,SACdC,EAAuB,kBAIvBC,EAAsBF,EAASG,OAAO,CACtCC,KAAM,SAASC,EAASC,GACpBN,EAASO,GAAGH,KAAKI,KAAKd,KAAMW,EAASC,GACrCZ,KAAKe,KAAKC,SAASC,SALV,wBAOLjB,KAAKkB,wBAAwBlB,KAAKY,SAClCZ,KAAKe,KAAKC,SAASG,MAAMnB,KAAKoB,wBAAwBpB,KAAKY,UACpDZ,KAAKY,QAAQS,eACpBrB,KAAKe,KAAKC,SAASG,MAAMnB,KAAKY,QAAQS,cAE9C,EAEAT,QAAS,CACLU,KAAM,sBACNC,GAAI,4BACJC,QAAS,GACTH,cAAe,KACfI,aAAc,IAGlBC,WAAY,SAASd,GACjBN,EAASO,GAAGa,WAAWZ,KAAKd,KAAMY,GAC9BZ,KAAKkB,wBAAwBN,GAC7BZ,KAAKe,KAAKC,SAASG,MAAMnB,KAAKoB,wBAAwBR,IAC/CZ,KAAKY,QAAQS,eACpBrB,KAAKe,KAAKC,SAASG,MAAMnB,KAAKY,QAAQS,cAE9C,EAEAH,wBAAyB,SAASN,GAC9B,IAAIY,EAAUZ,EAAQY,QAEtB,IAAKA,IAAYA,EAAQG,OACrB,OAAO,EAGX,IAAK,IAAIC,EAAI,EAAGA,EAAIJ,EAAQG,OAAQC,IAAK,CACrC,IAAIC,EAAeL,EAAQI,GAAGT,MAC9B,IAAKU,GAAgBC,MAAMC,SAASF,EAAc,MAAQtB,EAAqByB,KAAKH,GAChF,OAAO,CAEf,CAEA,OAAO,CACX,EAEAT,wBAAyB,SAASR,GAI9B,IAHA,IAAIY,EAAUZ,EAAQY,QAClBS,EAAa9B,EAAM+B,QAAQC,YAEtBP,EAAI,EAAGA,EAAIJ,EAAQG,OAAQC,IAAK,CACrC,IAAIC,EAAeL,EAAQI,GAAGT,MAC9Bc,GAA0BF,SAASF,EAAc,GACrD,CAEA,OAAOI,CACX,EAEAG,SAAU,WACN9B,EAASO,GAAGuB,SAAStB,KAAKd,MAC1BA,KAAKqC,QAAQpB,SA/DJ,iBAgEb,IAGJZ,EAAGiC,OAAO9B,GAEVL,EAAMoC,cAAcC,eAAe,sBAAuB,YAE1DrC,EAAMoC,cAAcE,eAAe,sBAAuB,CAAC,CACvDC,KAAM,UACNC,OAAQxC,EAAMoC,cAAcK,cAAcC,OAAO,CAAC,CAAC,OAAQ,YAElE,CAhFD,CAgFGzC,OAAOD,MAAM2C,QACF3C,KAIjB","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('kendo.combobox.js')) :\n typeof define === 'function' && define.amd ? define(['kendo.combobox'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (global.kendomulticolumncombobox = global.kendomulticolumncombobox || {}, global.kendomulticolumncombobox.js = factory()));\n})(this, (function () {\n var __meta__ = {\n id: \"multicolumncombobox\",\n name: \"MultiColumnComboBox\",\n category: \"web\",\n description: \"The MultiColumnComboBox widget allows the selection from pre-defined values or entering a new value where the list popup is rendered in table layout.\",\n depends: [ \"combobox\" ],\n features: [ {\n id: \"mobile-scroller\",\n name: \"Mobile scroller\",\n description: \"Support for kinetic scrolling in mobile device\",\n depends: [ \"mobile.scroller\" ]\n }, {\n id: \"virtualization\",\n name: \"VirtualList\",\n description: \"Support for virtualization\",\n depends: [ \"virtuallist\" ]\n } ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n ComboBox = ui.ComboBox,\n percentageUnitsRegex = /^\\d+(\\.\\d+)?%$/i,\n MCCOMBOBOX = \"k-dropdowngrid\",\n POPUPCLASS = \"k-dropdowngrid-popup\";\n\n var MultiColumnComboBox = ComboBox.extend({\n init: function(element, options) {\n ComboBox.fn.init.call(this, element, options);\n this.list.parent().addClass(POPUPCLASS);\n\n if (this._allColumnsWidthsAreSet(this.options)) {\n this.list.parent().width(this._calculateDropDownWidth(this.options));\n } else if (this.options.dropDownWidth) {\n this.list.parent().width(this.options.dropDownWidth);\n }\n },\n\n options: {\n name: \"MultiColumnComboBox\",\n ns: \".kendoMultiColumnComboBox\",\n columns: [],\n dropDownWidth: null,\n filterFields: []\n },\n\n setOptions: function(options) {\n ComboBox.fn.setOptions.call(this, options);\n if (this._allColumnsWidthsAreSet(options)) {\n this.list.parent().width(this._calculateDropDownWidth(options));\n } else if (this.options.dropDownWidth) {\n this.list.parent().width(this.options.dropDownWidth);\n }\n },\n\n _allColumnsWidthsAreSet: function(options) {\n var columns = options.columns;\n\n if (!columns || !columns.length) {\n return false;\n }\n\n for (var i = 0; i < columns.length; i++) {\n var currentWidth = columns[i].width;\n if (!currentWidth || isNaN(parseInt(currentWidth, 10)) || percentageUnitsRegex.test(currentWidth)) {\n return false;\n }\n }\n\n return true;\n },\n\n _calculateDropDownWidth: function(options) {\n var columns = options.columns;\n var totalWidth = kendo.support.scrollbar();\n\n for (var i = 0; i < columns.length; i++) {\n var currentWidth = columns[i].width;\n totalWidth = totalWidth + parseInt(currentWidth, 10);\n }\n\n return totalWidth;\n },\n\n _wrapper: function() {\n ComboBox.fn._wrapper.call(this);\n this.wrapper.addClass(MCCOMBOBOX);\n }\n });\n\n ui.plugin(MultiColumnComboBox);\n\n kendo.cssProperties.registerPrefix(\"MultiColumnComboBox\", \"k-input-\");\n\n kendo.cssProperties.registerValues(\"MultiColumnComboBox\", [{\n prop: \"rounded\",\n values: kendo.cssProperties.roundedValues.concat([['full', 'full']])\n }]);\n })(window.kendo.jQuery);\n var kendo$1 = kendo;\n\n return kendo$1;\n\n}));\n"]}