{"version":3,"sources":["webpack:///./compare_autocomplete.js","webpack:///./pages/projects/compare/index.js"],"names":["_lib_utils_text_utility__WEBPACK_IMPORTED_MODULE_4__","__webpack_require__","initCompareAutocomplete","limitTo","arguments","length","undefined","clickHandler","jquery__WEBPACK_IMPORTED_MODULE_0___default","each","$dropdown","selected","this","data","$dropdownContainer","closest","$fieldInput","$","$filterInput","glDropdown","term","callback","params","ref","search","find","_lib_utils_axios_utils__WEBPACK_IMPORTED_MODULE_2__","get","then","_ref","Object","catch","_flash__WEBPACK_IMPORTED_MODULE_3__","_locale__WEBPACK_IMPORTED_MODULE_1__","selectable","filterable","filterRemote","fieldName","filterInput","renderRow","link","header","addClass","text","attr","append","id","obj","$el","toggleLabel","trim","clicked","on","e","keyCode","which","val","removeClass","prop","target","replace","hasClass","tooltip","document","addEventListener","_compare_autocomplete__WEBPACK_IMPORTED_MODULE_0__"],"mappings":"iKAAAA,EAAAC,EAAA,IAQe,SAASC,IAAiE,IAAzCC,EAAyCC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAA/B,KAAMG,EAAyBH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAV,aAC7EI,IAAE,wBAAwBC,KAAK,WAC7B,IAAIC,EAAWC,EACfD,EAAYF,IAAEI,MACdD,EAAWD,EAAUG,KAAK,YAC1B,IAAMC,EAAqBJ,EAAUK,QAAQ,aACvCC,EAAcR,IAAAS,eAAiBP,EAAUG,KAAK,aAAhC,KAAkDC,GAChEI,EAAeV,IAAE,uBAAwBM,GAC/CJ,EAAUS,YACRN,KAAM,SAASO,EAAMC,GACnB,IAAMC,GACJC,IAAKb,EAAUG,KAAK,OACpBW,OAAQJ,GAGNjB,IACFmB,EAAOG,KAAOtB,GAGhBuB,EAAA,EACGC,IAAIjB,EAAUG,KAAK,YAClBS,WAEDM,KAAK,SAAAC,GAAc,IAAXhB,EAAWgB,EAAXhB,KAELQ,EADElB,EACOU,EAAKiB,OAAA9B,EAAA,EAAA8B,CAAyB3B,QAE9BU,KAGZkB,MAAM,kBAAMD,OAAAE,EAAA,EAAAF,CAAMA,OAAAG,EAAA,EAAAH,CAAG,2BAE1BI,YAAY,EACZC,YAAY,EACZC,cAAc,EACdC,UAAW3B,EAAUG,KAAK,aAC1ByB,YAAa,uBACbC,UAAW,SAAShB,GAClB,IAAIiB,EACJ,OAAkB,MAAdjB,EAAIkB,OACCjC,IAAE,UACNkC,SAAS,mBACTC,KAAKpB,EAAIkB,SAEZD,EAAOhC,IAAE,SACNoC,KAAK,OAAQ,KACbF,SAASnB,IAAQZ,EAAW,YAAc,IAC1CgC,KAAKpB,GACLqB,KAAK,WAAYrB,GACbf,IAAE,UAAUqC,OAAOL,KAG9BM,GAAI,SAASC,EAAKC,GAChB,OAAOA,EAAIJ,KAAK,aAElBK,YAAa,SAASF,EAAKC,GACzB,OAAOA,EAAIL,OAAOO,QAEpBC,QAAS,kBAAM5C,EAAaG,MAE9BQ,EAAakC,GAAG,QAAS,SAAAC,GAEvB,GAAgB,MADAA,EAAEC,SAAWD,EAAEE,OAC/B,CACA,IAAMZ,EAAOzB,EAAasC,MAC1BxC,EAAYwC,IAAIb,GAChBnC,IAAE,wBAAyBE,GAAWiC,KAAKA,GAC3C7B,EAAmB2C,YAAY,WAGjC3C,EAAmBsC,GAAG,QAAS,sBAAuB,SAAAC,GACpD3C,EAAUgD,KAAK,QAASL,EAAEM,OAAOhB,KAAKiB,QAAQ,OAAQ,MAClDlD,EAAUmD,SAAS,gBACrBnD,EAAUoD,QAAQ,wEC9E1BC,SAASC,iBAAiB,mBAAoB,kBAAMlC,OAAAmC,EAAA,EAAAnC","file":"pages.projects.compare.2d19a7a5.chunk.js","sourcesContent":["/* eslint-disable func-names, one-var, no-var, one-var-declaration-per-line, object-shorthand, no-else-return, max-len */\n\nimport $ from 'jquery';\nimport { __ } from './locale';\nimport axios from './lib/utils/axios_utils';\nimport flash from './flash';\nimport { capitalizeFirstCharacter } from './lib/utils/text_utility';\n\nexport default function initCompareAutocomplete(limitTo = null, clickHandler = () => {}) {\n $('.js-compare-dropdown').each(function() {\n var $dropdown, selected;\n $dropdown = $(this);\n selected = $dropdown.data('selected');\n const $dropdownContainer = $dropdown.closest('.dropdown');\n const $fieldInput = $(`input[name=\"${$dropdown.data('fieldName')}\"]`, $dropdownContainer);\n const $filterInput = $('input[type=\"search\"]', $dropdownContainer);\n $dropdown.glDropdown({\n data: function(term, callback) {\n const params = {\n ref: $dropdown.data('ref'),\n search: term,\n };\n\n if (limitTo) {\n params.find = limitTo;\n }\n\n axios\n .get($dropdown.data('refsUrl'), {\n params,\n })\n .then(({ data }) => {\n if (limitTo) {\n callback(data[capitalizeFirstCharacter(limitTo)] || []);\n } else {\n callback(data);\n }\n })\n .catch(() => flash(__('Error fetching refs')));\n },\n selectable: true,\n filterable: true,\n filterRemote: true,\n fieldName: $dropdown.data('fieldName'),\n filterInput: 'input[type=\"search\"]',\n renderRow: function(ref) {\n var link;\n if (ref.header != null) {\n return $('
')\n .addClass('dropdown-header')\n .text(ref.header);\n } else {\n link = $('')\n .attr('href', '#')\n .addClass(ref === selected ? 'is-active' : '')\n .text(ref)\n .attr('data-ref', ref);\n return $('').append(link);\n }\n },\n id: function(obj, $el) {\n return $el.attr('data-ref');\n },\n toggleLabel: function(obj, $el) {\n return $el.text().trim();\n },\n clicked: () => clickHandler($dropdown),\n });\n $filterInput.on('keyup', e => {\n const keyCode = e.keyCode || e.which;\n if (keyCode !== 13) return;\n const text = $filterInput.val();\n $fieldInput.val(text);\n $('.dropdown-toggle-text', $dropdown).text(text);\n $dropdownContainer.removeClass('open');\n });\n\n $dropdownContainer.on('click', '.dropdown-content a', e => {\n $dropdown.prop('title', e.target.text.replace(/_+?/g, '-'));\n if ($dropdown.hasClass('has-tooltip')) {\n $dropdown.tooltip('_fixTitle');\n }\n });\n });\n}\n","import initCompareAutocomplete from '~/compare_autocomplete';\n\ndocument.addEventListener('DOMContentLoaded', () => initCompareAutocomplete());\n"],"sourceRoot":""}