{"version":3,"sources":["webpack:///./Flugger.Web/Scripts/Flugger/components/tipstricks.js"],"names":["obj","list","listItems","$filterForm","$filterFormInput","$searchListItems","_jquery","require","__esModule","default","searchSubnmitHandler","val","length","string","removeClass","queryClean","toLowerCase","totalCount","each","i","el","$el","$","html","indexOf","addClass","filterByString","console","log","scrollToOpened","item","$item","find","show","offset","animate","scrollTop","top","scrollLeft","left","exports","init","this","classList","contains","hide","on","content","toggleClass","slideToggle","addToggle","e","preventDefault"],"mappings":"uKAAA,IAAuBA,EAEnBC,EACAC,EAEAC,EACAC,EACAC,EAPJC,GAAuBN,EAAvBO,EAAA,KAAuBP,EAAAQ,WAAAR,EAAA,CAAAS,QAAAT,GA2CvB,SAASU,IACL,IAAMC,EAAMP,EAAiBO,MACjB,KAARA,GAAcA,EAAIC,OAAS,IAhCnC,SAAwBC,GACpBZ,EAAKa,YAJc,mBAKnB,IAAMC,EAAaF,EAAOG,cACtBC,EAAa,EAEjBZ,EAAiBa,MAAK,SAAUC,EAAGC,GAE/B,IAAMC,GAAM,EAAAC,WAAEF,IAEuB,IADrBC,EAAIE,OAAOP,cACfQ,QAAQT,IAEhBM,EAAIP,YAfU,oBAgBdG,KAIAI,EAAII,SApBU,uBAwBlBR,EAAa,GACbhB,EAAKwB,SAxBU,mBAoCfC,CAAef,GACfgB,QAAQC,IAAI,iBAEZD,QAAQC,IAAI,UAVhB3B,EAAKa,YA7Bc,oBA8BnB,EAAAQ,WAAE,qBAAyBR,YA/BL,qBAqD1B,SAASe,EAAeC,GACpB,IAAMC,EAAQD,GAAO,EAAAR,WAAEQ,IAAQ,EAAAR,WAAE,8BACjCS,EAAMC,KAAK,iCAAiCC,OAC5C,IAAMC,EAASH,EAAMG,UAErB,EAAAZ,WAAE,cAAca,QAAQ,CACpBC,UAAWF,EAAOG,IAAM,GACxBC,WAAYJ,EAAOK,OAuC1BC,EAAA/B,QAEc,CACXgC,KAxBJ,WACIxC,GAAO,EAAAqB,WAAE,oBACTpB,GAAY,EAAAoB,WAAE,yBAEdnB,GAAc,EAAAmB,WAAE,gCAChBlB,EAAmBD,EAAY6B,KAAK,cACpC3B,GAAmB,EAAAiB,WAAE,yBAGjBpB,EAAUU,OAAS,GAAKX,EAAKW,OAAS,IAE1CV,EAAUgB,MAAK,WAzBnB,IAAkBY,EA0BNY,KAAKC,UAAUC,SAAS,QACxBf,EAAea,OA3BTZ,EA6BGY,MA5BH,EAAApB,WAAEQ,GACVE,KAAK,iCAAiCa,QAGhD,SAAmBf,GACf,IAAMC,GAAQ,EAAAT,WAAEQ,GAChBC,EAAMC,KAAK,gCAAgCc,GAAG,SAAS,WACnD,IAAMC,EAAUhB,EAAMC,KAAK,iCAC3BD,EAAMiB,YAAY,QAClBD,EAAQE,iBAqBRC,CAAUR,SAjDdvC,EAAY2C,GAAG,UAAU,SAAUK,GAC/BA,EAAEC,iBACF1C,OAEJN,EAAiB0C,GAAG,QAASpC,KAqD7BmB,eAAgBA","file":"20.f18f0bcc611e1054d83e.chunk.js","sourcesContent":["import $ from 'jquery';\r\n\r\nlet list;\r\nlet listItems;\r\n\r\nlet $filterForm;\r\nlet $filterFormInput;\r\nlet $searchListItems;\r\n\r\nconst filterHiddenClass = 'list-item-hidden';\r\nconst noResultsClass = 'tips-no-results';\r\n\r\n// form search\r\nfunction filterByString(string){\r\n list.removeClass(noResultsClass);\r\n const queryClean = string.toLowerCase();\r\n let totalCount = 0;\r\n\r\n $searchListItems.each(function (i, el) {\r\n\r\n const $el = $(el);\r\n const content = $el.html().toLowerCase();\r\n if (content.indexOf(queryClean) !== -1) {\r\n // Show\r\n $el.removeClass(filterHiddenClass);\r\n totalCount++;\r\n\r\n } else {\r\n // hide\r\n $el.addClass(filterHiddenClass);\r\n }\r\n });\r\n\r\n if (totalCount < 1){\r\n list.addClass(noResultsClass);\r\n }\r\n}\r\n\r\nfunction clearFilter(){\r\n list.removeClass(noResultsClass);\r\n $('.' + filterHiddenClass).removeClass(filterHiddenClass);\r\n}\r\n\r\nfunction searchSubnmitHandler() {\r\n const val = $filterFormInput.val();\r\n if (val !== '' && val.length > 2) {\r\n filterByString(val);\r\n console.log('long enough'); // eslint-disable-line no-console\r\n } else {\r\n console.log('shorts'); // eslint-disable-line no-console\r\n clearFilter();\r\n }\r\n}\r\n\r\nfunction addFormFilterHandlers() {\r\n $filterForm.on('submit', function (e) {\r\n e.preventDefault();\r\n searchSubnmitHandler();\r\n });\r\n $filterFormInput.on('keyup', searchSubnmitHandler);\r\n}\r\n\r\nfunction scrollToOpened(item) {\r\n const $item = item ? $(item) : $('.tipstricks-list-item.open');\r\n $item.find('.tipstricks-list-item-content').show();\r\n const offset = $item.offset();\r\n\r\n $('html, body').animate({\r\n scrollTop: offset.top - 10,\r\n scrollLeft: offset.left\r\n });\r\n}\r\n\r\nfunction hideItem(item){\r\n const $item = $(item);\r\n $item.find('.tipstricks-list-item-content').hide();\r\n}\r\n\r\nfunction addToggle(item){\r\n const $item = $(item);\r\n $item.find('.tipstricks-list-item-header').on('click', function(){\r\n const content = $item.find('.tipstricks-list-item-content');\r\n $item.toggleClass('open');\r\n content.slideToggle();\r\n });\r\n}\r\n\r\nfunction init(){\r\n list = $('.tipstricks-list');\r\n listItems = $('.tipstricks-list-item');\r\n\r\n $filterForm = $('.tipstricks-search-form form');\r\n $filterFormInput = $filterForm.find('[name=\"q\"]');\r\n $searchListItems = $('.tipstricks-list-item');\r\n\r\n\r\n if (listItems.length < 1 || list.length < 1) return;\r\n\r\n listItems.each(function(){\r\n if (this.classList.contains('open')) {\r\n scrollToOpened(this);\r\n } else {\r\n hideItem(this);\r\n }\r\n addToggle(this);\r\n });\r\n\r\n addFormFilterHandlers();\r\n}\r\n\r\nexport default {\r\n init: init,\r\n scrollToOpened: scrollToOpened\r\n};\r\n"],"sourceRoot":""}