{"version":3,"sources":["faq.js"],"names":["window","document","hash","faqList","$","$tab","stopMouseWheel","e","event","preventDefault","returnValue","Promise","resolve","reject","location","$hashTarget","find","length","hasClass","addEventListener","then","result","stop","animate","scrollTop","$el","$targetTab","parents","$targetAccordion","foundation","history","replaceState","$parent","parent","addClass","offset","top","header","innerHeight","removeEventListener","setTimeout","removeClass","faqHighlight","on","this"],"mappings":"CAAA,SAAUA,EAAQC,GAGjB,IAEIC,EAFEC,EAAUC,EAAE,aACZC,EAAOD,EAAE,aAsEf,SAASE,EAAeC,GACnBA,IAAIA,EAAIP,EAAOQ,OAChBD,EAAEE,gBAAkBF,EAAEE,iBACzBF,EAAEG,aAAc,EAnET,IAAIC,QAAS,SAACC,EAASC,GAI7B,GAAa,MAFbX,EAAOY,SAASZ,MAGf,OAAOW,EAGR,IAAME,EAAcZ,EAAQa,KAAKd,GAEjC,GAA2B,IAAvBa,EAAYE,OAYf,OAAOJ,EAVFE,EAAYG,SAAS,qBAExBlB,EAAOmB,iBAAiB,OAAQ,WAC/BP,EAAQ,eAITA,EAAQ,SASDQ,KAAK,SAACC,GACF,QAAXA,EAGHjB,EAAE,cAAckB,OAAOC,QAAQ,CAACC,UAAa,GAAI,KAE5B,cAAXH,GAMZ,SAAsBnB,GACrB,IAAMuB,EAAMrB,EAAEF,GACRwB,EAAaD,EAAIE,QAAQ,eACzBC,EAAmBH,EAAIE,QAAQ,cAErCtB,EAAKwB,WAAW,YAAaH,GAC7BE,EAAiBC,WAAW,OAAQJ,GACpCK,QAAQC,aAAa,GAAI,GAAI7B,GAE7B,IAAI8B,EAAUP,EAAIQ,SAClBD,EAAQE,SAAS,gBAEjBjC,EAASkB,iBAAiB,aAAcb,GAExCF,EAAE,cAAckB,OAAOC,QAAQ,CAACC,UAAaQ,EAAQG,SAASC,IAAMhC,EAAEiC,QAAQC,eAAgB,IAAK,WAClGrC,EAASsC,oBAAoB,aAAcjC,GAE3CkC,WAAW,WACVR,EAAQS,YAAY,iBAClB,OAvBHC,CAAaxC,KAuCfE,EAAE,uBAAuBuC,GAAG,QAAS,WAChC7B,SAASZ,OAAS0C,KAAK1C,MAC1B4B,QAAQC,aAAa,GAAI,GAAIa,KAAK1C,QAvFrC,CA4FGF,OAAQC","file":"../faq.min.js","sourcesContent":["(function(window, document) {\r\n\r\n\t/* ---------------------------------------- [START] Hash 更換 */\r\n\tconst faqList = $('#faq-list');\r\n\tconst $tab = $('#faq-tabs');\r\n\tlet hash;\r\n\r\n\t// Check Faq hash and Stop Scroll\r\n\t// Ref: https://gist.github.com/srikat/10812884#file-gistfile4-js\r\n\tfunction checkHash(){\r\n\t\treturn new Promise ((resolve, reject) => {\r\n\t\t\t// location\r\n\t\t\thash = location.hash;\r\n\r\n\t\t\tif (hash === '') {\r\n\t\t\t\treturn reject;\r\n\t\t\t}\r\n\r\n\t\t\tconst $hashTarget = faqList.find(hash);\r\n\t\t\r\n\t\t\tif ($hashTarget.length !== 0) {\r\n\t\t\t\t\t// 有目標的情況\r\n\t\t\t\t\tif ($hashTarget.hasClass('accordion-content')) {\r\n\t\t\t\t\t\t// 是題目\r\n\t\t\t\t\t\twindow.addEventListener('load', function() {\r\n\t\t\t\t\t\t\tresolve('accordion');\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// 是Tab\r\n\t\t\t\t\t\tresolve('tab');\r\n\t\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\treturn reject;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tcheckHash().then((result) => {\r\n\t\tif (result === 'tab') {\r\n\t\t\t// 是Tab\r\n\t\t\t// 讓頁面跳到最上面\r\n\t\t\t$('html, body').stop().animate({'scrollTop': 0}, 500);\r\n\t\t\t// window.scrollTo(0, 0);\r\n\t\t} else if (result === 'accordion') {\r\n\t\t\t// 是題目\r\n\t\t\tfaqHighlight(hash)\r\n\t\t}\r\n\t}) ;\r\n\r\n\tfunction faqHighlight(hash) {\r\n\t\tconst $el = $(hash);\r\n\t\tconst $targetTab = $el.parents('.tabs-panel');\r\n\t\tconst $targetAccordion = $el.parents('.accordion');\r\n\r\n\t\t$tab.foundation('selectTab', $targetTab); // 開Tab: 會更新hash\r\n\t\t$targetAccordion.foundation('down', $el); // 開Accordion: 不會更新hash\r\n\t\thistory.replaceState({}, '', hash); // 更新hash\r\n\t\r\n\t\tvar $parent = $el.parent();\r\n\t\t$parent.addClass('is-highlight');\r\n\r\n\t\tdocument.addEventListener('mousewheel', stopMouseWheel);\r\n\r\n\t\t$('html, body').stop().animate({'scrollTop': $parent.offset().top - $(header).innerHeight()}, 500, function(){\r\n\t\t\tdocument.removeEventListener('mousewheel', stopMouseWheel);\r\n\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\t$parent.removeClass('is-highlight');\r\n\t\t\t}, 2000);\r\n\t\t});\r\n\t}\r\n\r\n\t// Reference: http://solidlystated.com/scripting/javascript-disable-mouse-wheel/\r\n\tfunction stopMouseWheel(e){\r\n\t\tif(!e){ e = window.event; } /* IE7, IE8, Chrome, Safari */\r\n\t\tif(e.preventDefault) { e.preventDefault(); } /* Chrome, Safari, Firefox */\r\n\t\te.returnValue = false; /* IE7, IE8 */\r\n\t}\r\n\r\n\t/* ---------------------------------------- [END] Hash 更換 */\r\n\r\n\t/* ---------------------------------------- [START] Active Hash */\r\n\t// 為了點Active,可以更換回Active Hash\r\n\t// 原因:因為Foundation Tab Active 時,再點 Active 不會更換,如果被 FAQ Accordion 更換後\r\n\t$('.page-sub-nav__link').on('click', function() {\r\n\t\tif (location.hash !== this.hash) {\r\n\t\t\thistory.replaceState({}, '', this.hash); // 更新hash\r\n\t\t}\r\n\t})\r\n\t/* ---------------------------------------- [END] Active Hash */\r\n\t\r\n})(window, document);\r\n"],"sourceRoot":"../../src/"}