{"version":3,"sources":["highlightAndOpenForTerm.js"],"names":["TermHighlight","term","matches","me","this","InitTermHighlight","_term","jQuery","expr","contains","a","i","m","text","toUpperCase","indexOf","$","each","index","element","children","length","push","bind","HighlightTerms","OpenAccordions","AnchorToFirstInstance","forEach","item","console","log","regEx","RegExp","thisTerm","matchResult","match","replaceMask","result","replace","html","parentAccordion","parents","parent","addClass","prepend","scrollToAnchorID"],"mappings":"AAAA,IAAIA,cAAgB,CAEhBC,KAAM,GACNC,QAAS,GAETC,GAAIC,KAGJC,kBAAmB,SAAUC,GAGzBC,OAAOC,KAAK,KAAKC,SAAW,SAAUC,EAAGC,EAAGC,GACxC,OAAOL,OAAOG,GAAGG,OAAOC,cAAcC,QAAQH,EAAE,GAAGE,gBAAkB,GAGzEV,KAAKH,KAAOK,EACZF,KAAKF,QAAU,GAEfc,EAAE,oBAAuBZ,KAAKH,KAAO,MAAOgB,KAAK,SAAUC,EAAOC,GAE1DH,EAAEG,GAASC,WAAWC,OAAS,GAC/BjB,KAAKF,QAAQoB,KAAKN,EAAEG,KAG1BI,KAAKnB,OAGHA,KAAKF,QAAQmB,OAAS,IACtBjB,KAAKoB,iBACLpB,KAAKqB,iBACLrB,KAAKsB,0BAIbF,eAAgB,WACZpB,KAAKF,QAAQyB,QAAQ,SAAUC,EAAMV,GACjCW,QAAQC,IAAI,mBAAoBF,GAKhC,IAAIG,EAAQ,IAAIC,OAAO5B,KAAKH,KAAM,MAClC,IAAIgC,EAAW7B,KAAKH,KAChBiC,EAAcN,EAAKf,OAAOsB,MAAMJ,GAChCG,EAAYb,OAAS,IACrBY,EAAWC,EAAY,IAE3B,IAAIE,EAAc,oCAAsCH,EAAW,UAE/DI,EAAST,EAAKf,OAAOyB,QAAQP,EAAOK,GACxCR,EAAKW,KAAKF,IACZd,KAAKnB,QAGXqB,eAAgB,WACZrB,KAAKF,QAAQyB,QAAQ,SAAUC,EAAMV,GACjCW,QAAQC,IAAI,eAAgBF,GAC5B,IAAIY,EAAkBZ,EAAKa,QAAQ,uBAC/BD,EAAgBnB,OAAS,GAEzBL,EAAEwB,GAAiBE,SAASC,SAAS,0BAE3CpB,KAAKnB,QAGXsB,sBAAuB,WACnBtB,KAAKF,QAAQ,GAAG0C,QAAQ,uEACxBC,iBAAiB","file":"../highlightAndOpenForTerm.js","sourcesContent":["var TermHighlight = {\r\n\r\n term: '',\r\n matches: [],\r\n\r\n me: this,\r\n\r\n\r\n InitTermHighlight: function (_term) {\r\n\r\n // Change contains to be case nsensitive\r\n jQuery.expr[':'].contains = function (a, i, m) {\r\n return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;\r\n };\r\n\r\n this.term = _term;\r\n this.matches = [];\r\n //console.log(_term + \" - \" + this.term);\r\n $('main *:contains(\\'' + this.term + '\\')').each(function (index, element) {\r\n\r\n if ($(element).children().length < 1) {\r\n this.matches.push($(element));\r\n //console.log('Match : %o', $(element));\r\n }\r\n }.bind(this));\r\n\r\n\r\n if (this.matches.length > 0) {\r\n this.HighlightTerms();\r\n this.OpenAccordions();\r\n this.AnchorToFirstInstance();\r\n }\r\n },\r\n\r\n HighlightTerms: function () {\r\n this.matches.forEach(function (item, index) {\r\n console.log('Applying to : %o', item);\r\n // Changes everything to uppercase\r\n //item.text().toUpperCase().replace(this.term.toUpperCase(), '' + this.term + '')\r\n\r\n // Regex\r\n var regEx = new RegExp(this.term, \"ig\");\r\n let thisTerm = this.term;\r\n let matchResult = item.text().match(regEx);\r\n if (matchResult.length > 0) {\r\n thisTerm = matchResult[0];\r\n }\r\n var replaceMask = '' + thisTerm + '';\r\n\r\n var result = item.text().replace(regEx, replaceMask);\r\n item.html(result);\r\n }.bind(this));\r\n },\r\n\r\n OpenAccordions: function () {\r\n this.matches.forEach(function (item, index) {\r\n console.log('parents : %o', item);\r\n var parentAccordion = item.parents('.accordion__content');\r\n if (parentAccordion.length > 0) {\r\n // open it\r\n $(parentAccordion).parent().addClass('accordion__item--open');\r\n }\r\n }.bind(this));\r\n },\r\n\r\n AnchorToFirstInstance: function () {\r\n this.matches[0].prepend(\"\");\r\n scrollToAnchorID('searchResultsFirstMatch');\r\n },\r\n}"]}