{"version":3,"file":"../discuss.js","sources":["src/js/_generator.js","src/js/discuss.js"],"sourcesContent":["function relateGenerate(articlelist){\r\n let str = '';\r\n articlelist.forEach((el,index) => {\r\n let IMG;\r\n if(el.ImageM) {\r\n IMG = el.ImageM\r\n }else {\r\n index%2 === 0 ? IMG = 'https://imgcdn.cna.com.tw/www/WebPhotos/1024/20210705/800x600_467364346809.jpg' : IMG = 'https://imgcdn.cna.com.tw/www/WebPhotos/1024/20211028/800x600_184237258172.jpg'\r\n }\r\n\r\n str +='
'\r\n +''\r\n +'

'+el.HeadLine+'

'\r\n +'
'\r\n +'\"\"'\r\n +'
'\r\n +'
'\r\n +'
'\r\n });\r\n\r\n return str;\r\n}\r\n\r\nexport { relateGenerate };","import { isMobile, isSafari } from './_other'\r\nimport { relateGenerate } from './_generator.js';\r\n\r\nwindow.onload = function(e){\r\n //iOS fixed scroll smooth\r\n window.__forceSmoothScrollPolyfill__ = true;\r\n let naviItems;\r\n let pcScrollNavi = document.getElementById('pcScrollNavi')\r\n let mbScrollNavi = document.getElementById('mbScrollNavi')\r\n let pcScroller = document.getElementById('scroller')\r\n let mbScroller = document.getElementById('mbScroller')\r\n // let naviItems = Array.from(document.querySelectorAll('.navi-item'))\r\n let discussBoxs = Array.from(document.querySelectorAll('.discussBox'))\r\n let discussBoxOffset = discussBoxs.map((el,index,arr)=>{ \r\n if(window.innerWidth>1024) {\r\n return el.offsetTop + 40\r\n }else{\r\n return el.offsetTop\r\n }\r\n \r\n })\r\n console.log(discussBoxOffset)\r\n\r\n if(window.innerWidth>1024){\r\n let tempChdNodes = Array.from(document.getElementById('pcScrollNavi').childNodes).find(el=> el.className === 'scroller')\r\n naviItems = Array.from(tempChdNodes.children)\r\n }else{\r\n let tempChdNodes = Array.from(document.getElementById('mbScrollNavi').childNodes).find(el=> el.className === 'scroller')\r\n naviItems = Array.from(tempChdNodes.children)\r\n }\r\n \r\n let scrollIndex = -1;\r\n let last_known_scroll_position = 0;\r\n let ticking = false;\r\n\r\n //fadeaway \r\n let fadeawaylist = Array.from(document.querySelectorAll('[data-fadeaway]'))\r\n let fadeawaylistOffset = fadeawaylist.map (el=> el.offsetTop + (el.offsetHeight*0.8))\r\n let fadeawayIndex = -1;\r\n\r\n\r\n //animateBox\r\n let animateBox = Array.from(document.querySelectorAll('.animateBox'))\r\n let animateBoxOffset = animateBox.map(el=> el.offsetTop )\r\n // console.log(animateBox)\r\n AOS.init();\r\n animateBox.forEach((el,index)=>{\r\n el.dataset.aosOffset = animateBoxOffset[index]*0.4\r\n })\r\n if(window.innerWidth<=1024) {\r\n animateBox.forEach((el,index)=>{\r\n el.dataset.aos = 'fade-down'\r\n }) \r\n }\r\n\r\n \r\n\r\n /*=================\r\n navi dragable(先註解)\r\n =================*/\r\n // if(!isMobile()){\r\n \r\n // let isDown = false;\r\n // let startX;\r\n // let scrollLeft;\r\n \r\n // pcScrollNavi.addEventListener('mousedown', (e) => {\r\n // isDown = true;\r\n // pcScrollNavi.classList.add('active');\r\n // startX = e.pageX - pcScrollNavi.offsetLeft;\r\n // scrollLeft = pcScrollNavi.scrollLeft;\r\n // });\r\n // pcScrollNavi.addEventListener('mouseleave', () => {\r\n // isDown = false;\r\n // pcScrollNavi.classList.remove('active');\r\n // });\r\n // pcScrollNavi.addEventListener('mouseup', () => {\r\n // isDown = false;\r\n // pcScrollNavi.classList.remove('active');\r\n // });\r\n // pcScrollNavi.addEventListener('mousemove', (e) => {\r\n // if(!isDown) return;\r\n // e.preventDefault();\r\n // const x = e.pageX - pcScrollNavi.offsetLeft;\r\n // const walk = (x - startX) * 2; //scroll-fast\r\n // pcScrollNavi.scrollLeft = scrollLeft - walk;\r\n // // console.log(walk);\r\n // });\r\n // }\r\n\r\n if(window.innerWidth>1024){\r\n let container = document.getElementById('pcScrollNavi')\r\n document.querySelector('.gft').onclick = function(e){\r\n sideScroll(container,'left',25,150,50)\r\n }\r\n document.querySelector('.grt').onclick = function(e){\r\n sideScroll(container,'right',25,150,50)\r\n }\r\n }\r\n\r\n function sideScroll(element,direction,speed,distance,step){\r\n var scrollAmount = 0;\r\n var slideTimer = setInterval(function(){\r\n if(direction == 'left'){\r\n element.scrollLeft -= step;\r\n } else {\r\n element.scrollLeft += step;\r\n }\r\n scrollAmount += step;\r\n if(scrollAmount >= distance){\r\n window.clearInterval(slideTimer);\r\n }\r\n }, speed);\r\n }\r\n \r\n\r\n pcScrollNavi.addEventListener('click',naviHandler,false)\r\n mbScrollNavi.addEventListener('click',naviHandler,false)\r\n\r\n\r\n function naviHandler(e){\r\n e.stopImmediatePropagation();\r\n if(e.target.closest('.navi-item')){\r\n let clickContent = e.target.closest('.navi-item').textContent\r\n let navIdex = naviItems.findIndex(el=>{\r\n return el.innerText === clickContent\r\n })\r\n naviItems.forEach((el,index)=> {\r\n if(index === navIdex) {\r\n el.classList.add('active')\r\n }else{\r\n el.classList.remove('active')\r\n }\r\n })\r\n \r\n window.scrollTo({\r\n top: discussBoxOffset[navIdex]+10,\r\n behavior: \"smooth\"\r\n })\r\n }\r\n }\r\n\r\n\r\n /*=================\r\n mainScrollFunc\r\n =================*/\r\n let stickyTargrt,startFixed,naviSpace;\r\n let naviCnt = naviItems.length;\r\n let naviMove = false;\r\n if(window.innerWidth>1024) {\r\n stickyTargrt = document.querySelector('.fixSticky')\r\n startFixed = document.querySelector('.logo_box').getBoundingClientRect().height;\r\n naviSpace = (pcScroller.getBoundingClientRect().width - pcScrollNavi.getBoundingClientRect().width)/naviCnt;\r\n }else{\r\n stickyTargrt = document.querySelector('.mbScrollNavigation')\r\n startFixed = document.querySelector('.discussBody').getBoundingClientRect().top;\r\n naviSpace = (mbScroller.getBoundingClientRect().width - mbScrollNavi.getBoundingClientRect().width)/naviCnt;\r\n }\r\n // console.log('naviSpace:'+naviSpace)\r\n\r\n\r\n\r\n function mainScrollFunc(scrollpos){\r\n if(scrollpos=0) {\r\n if(i>discussBoxOffset.length-2){\r\n if(scrollpos>discussBoxOffset[i]){\r\n scrollIndex = i;\r\n }\r\n }else{\r\n if(scrollpos>discussBoxOffset[i] && scrollpos <= discussBoxOffset[i+1]){\r\n scrollIndex = i;\r\n }\r\n }\r\n }\r\n })\r\n naviItems.forEach((el,index)=> {\r\n if(index === scrollIndex) {\r\n el.classList.add('active')\r\n naviMove = true;\r\n setTimeout(function(){\r\n naviMove = false\r\n },500)\r\n }else{\r\n el.classList.remove('active')\r\n }\r\n })\r\n\r\n // console.log('scrollIndex:'+scrollIndex)\r\n\r\n /* anchor fixed */\r\n if(scrollpos>startFixed){\r\n stickyTargrt.classList.add('fixed')\r\n document.body.classList.add('naviFixed')\r\n }else{\r\n stickyTargrt.classList.remove('fixed')\r\n document.body.classList.remove('naviFixed')\r\n }\r\n\r\n /*fadeaway*/\r\n if(scrollpos=0) {\r\n if(i>fadeawaylistOffset.length-2){\r\n if(scrollpos>fadeawaylistOffset[i]){\r\n fadeawayIndex = i;\r\n }\r\n }else{\r\n if(scrollpos>fadeawaylistOffset[i] && scrollpos <= fadeawaylistOffset[i+1]){\r\n fadeawayIndex = i;\r\n }\r\n }\r\n }\r\n })\r\n fadeawaylist.forEach((el,index)=>{\r\n if(index === fadeawayIndex) {\r\n el.classList.add('fadeaway')\r\n }else{\r\n el.classList.remove('fadeaway')\r\n }\r\n })\r\n\r\n //scrollnavi move\r\n if(naviMove){\r\n if(window.innerWidth>1024) {\r\n pcScrollNavi.scrollTo({\r\n left: scrollIndex*naviSpace,\r\n behavior: \"smooth\"\r\n })\r\n }else{\r\n mbScrollNavi.scrollTo({\r\n left: scrollIndex*naviSpace,\r\n behavior: \"smooth\"\r\n })\r\n }\r\n naviMove = false;\r\n }\r\n\r\n\r\n\r\n\r\n // console.log(scrollpos)\r\n \r\n }\r\n\r\n function updatePosition(){\r\n last_known_scroll_position = window.scrollY || window.pageYOffset;\r\n if (!ticking) {\r\n window.requestAnimationFrame(function() {\r\n mainScrollFunc(last_known_scroll_position);\r\n ticking = true;\r\n });\r\n }\r\n ticking = false;\r\n }\r\n var throttled = _.throttle(updatePosition, 0);\r\n window.addEventListener('scroll', throttled);\r\n\r\n\r\n}//window onload\r\n\r\n\r\n/*=================\r\nquestionBox\r\n=================*/\r\nlet fUrl;\r\nswitch(document.body.dataset.page){\r\n case \"no17\": fUrl = 'api/question_17.json';\r\n break;\r\n case \"no18\": fUrl = 'api/question_18.json';\r\n break;\r\n case \"no19\": fUrl = 'api/question_19.json';\r\n break;\r\n case \"no20\": fUrl = 'api/question_20.json';\r\n break;\r\n}\r\n\r\ngetQuestionData(fUrl)\r\n.then(questionlist =>{\r\n\r\n //question\r\n let questionNodes = Array.from(document.querySelectorAll('[data-question]')) \r\n questionNodes.forEach((el,index)=>{\r\n let currentQuestion = questionlist[index]\r\n let quesHTML = questionTPL(currentQuestion,index)\r\n el.innerHTML = quesHTML\r\n })\r\n answerHandler(questionlist)\r\n\r\n \r\n\r\n})\r\n.catch(error => console.error(error))\r\n\r\nfunction getQuestionData(url) {\r\n // Default options are marked with *\r\n return fetch(url, {\r\n cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n method: 'GET', // *GET, POST, PUT, DELETE, etc.\r\n mode: 'cors', // no-cors, cors, *same-origin\r\n redirect: 'follow', // manual, *follow, error\r\n referrer: 'no-referrer', // *client, no-referrer\r\n })\r\n .then(response => response.json()) // 輸出成 json\r\n}\r\n\r\nfunction questionTPL(question,i){\r\n let color;\r\n switch(document.body.dataset.page){\r\n case \"no17\": color = 'green';\r\n break;\r\n case \"no18\": color = 'red';\r\n break;\r\n case \"no19\": color = 'orange';\r\n break;\r\n case \"no20\": color = 'tan';\r\n break;\r\n }\r\n let str = '
Q'+ (i+1) +'
'\r\n +'

'+ question.ques +'

'\r\n +'
'\r\n +answerTPL(question.answers)\r\n +'
'\r\n return str\r\n}\r\n\r\nfunction answerTPL(ary){\r\n let str = ''\r\n ary.forEach(el=>{\r\n str+='
'\r\n +el\r\n +'
'\r\n })\r\n return str;\r\n}\r\n\r\nfunction answerHandler(qlist){\r\n document.querySelector('.discussBody').addEventListener('click',function(e){\r\n // console.log(e.target)\r\n if(e.target.closest('.answer')){\r\n let clickDOM = e.target.closest('.answer')\r\n let clickBox = e.target.closest('.quesBox')\r\n let clickContent = e.target.closest('.answer').textContent\r\n \r\n let clickQIndex = parseInt(e.target.closest('.quesAction').dataset.question)\r\n let targetQues = qlist.find((el,index)=> index === (clickQIndex-1) )\r\n let correctIndex = targetQues.answerIndex;\r\n\r\n let clickAgroup = Array.from(e.target.closest('.quesBox').childNodes).map(el=>{\r\n if(el.classList.contains('answer')){ return el}\r\n })\r\n \r\n // console.log(targetQues)\r\n // console.log(isCorrect)\r\n // console.log(clickAgroup)\r\n\r\n //style\r\n clickDOM.classList.add('active')\r\n clickBox.classList.add('complete')\r\n clickAgroup[correctIndex].classList.add('thisCorrect')\r\n\r\n if(clickContent !== targetQues.answers[correctIndex]) {\r\n clickDOM.classList.add('thisWrong')\r\n }\r\n }\r\n })\r\n \r\n}\r\n\r\n\r\n//tooltip\r\n\r\n/*=================\r\ntooltipBox\r\n=================*/\r\nlet tooltiplist = Array.from(document.querySelectorAll('.tooltip'))\r\nlet tooltipMarks = Array.from(document.querySelectorAll('.tooltip-mark'))\r\nlet tooltipCloses = Array.from(document.querySelectorAll('.tooltip-close'))\r\n\r\ntooltipMarks.forEach(el=>{\r\n el.addEventListener('click',function(e){\r\n let tbox = this.dataset.tbox\r\n // let markTop = this.offsetTop\r\n // let markHeight = this.offsetHeight\r\n let markTop = this.closest('.animateBox').offsetTop + this.offsetTop + this.offsetHeight\r\n // console.log(this.getBoundingClientRect())\r\n tooltiplist.forEach(el=>{\r\n let target = el.dataset.target\r\n if(tbox === target) {\r\n el.classList.add('open')\r\n document.querySelector('.overlay').classList.add('open')\r\n if(window.innerWidth>1024) {\r\n el.style.top = markTop + 'px'\r\n console.log(this.closest('.animateBox').offsetTop)\r\n }\r\n }else{\r\n el.classList.remove('open')\r\n }\r\n })\r\n })\r\n})\r\ntooltipCloses.forEach(el=>{\r\n el.addEventListener('click',function(e){\r\n let parent = this.parentNode\r\n parent.classList.remove('open')\r\n document.querySelector('.overlay').classList.remove('open')\r\n })\r\n})\r\n\r\ndocument.querySelector('.overlay').addEventListener('click',function(e){\r\n let self = this\r\n tooltiplist.forEach(el=>{\r\n if(el.classList.contains('open')) {\r\n el.classList.remove('open')\r\n self.classList.remove('open')\r\n }\r\n })\r\n})\r\n\r\n/*=================\r\notherDiscuss\r\n=================*/\r\nlet dataPage = document.body.dataset.page\r\nlet otherDiscuss = document.getElementById('otherDiscuss')\r\nlet othese = [\r\n {\r\n \"title\":\"核四要不要重啟?\",\r\n \"path\":\"20211122-referendum_no17.html\"\r\n },{\r\n \"title\":\"萊豬可以進口嗎?\",\r\n \"path\":\"20211122-referendum_no18.html\"\r\n },{\r\n \"title\":\"公投應該綁大選嗎?\",\r\n \"path\":\"20211122-referendum_no19.html\"\r\n },{\r\n \"title\":\"三接要遷離大潭藻礁海域嗎?\",\r\n \"path\":\"20211122-referendum_no20.html\"\r\n }\r\n]\r\nlet str = '';\r\nlet filterDiscuss = othese.filter(el=>{\r\n if(el.path.indexOf(dataPage) === -1) {\r\n return el\r\n }\r\n})\r\nconsole.log(filterDiscuss)\r\nfilterDiscuss.forEach(el=>{\r\n str += ''+el.title+''\r\n})\r\notherDiscuss.innerHTML = str\r\n\r\n\r\n\r\n\r\n\r\n/*================================\r\n相關新聞\r\n================================*/\r\n//localhost運行proxy\r\n//上線前記得換正式站api https://www.cna.com.tw/cna2018api/api/ProjTopic\r\n//傳demo站用test.json\r\nlet bodydata ={\r\n \"tno\": \"3568\",\t\t\r\n\t\"pageidx\":\"1\",\t\r\n\t\"pagesize\":\"10\"\t\r\n}\r\nlet p1 = fetch('https://www.cna.com.tw/cna2018api/api/ProjTopic',{\r\n method: 'POST',\r\n body: JSON.stringify(bodydata),\r\n headers: new Headers({\r\n 'Content-Type': 'application/json'\r\n })\r\n})\r\n// let p1 = fetch('api/test.json')\r\nPromise.all([p1])\r\n .then(responses => Promise.all(responses.map(r => r.json())))\r\n .then(res => {\r\n\r\n let data = res[0].ResultData.Items.filter((el,index)=>index<4)\r\n // console.log(data)\r\n\r\n let relateHTML = relateGenerate(data)\r\n document.getElementById('related_1').innerHTML = relateHTML;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });"],"names":["relateGenerate","articlelist","str","forEach","el","index","IMG","ImageM","PageUrl","HeadLine","window","onload","e","__forceSmoothScrollPolyfill__","naviItems","pcScrollNavi","document","getElementById","mbScrollNavi","pcScroller","mbScroller","discussBoxs","Array","from","querySelectorAll","discussBoxOffset","map","arr","innerWidth","offsetTop","console","log","tempChdNodes","childNodes","find","className","children","scrollIndex","last_known_scroll_position","ticking","fadeawaylist","fadeawaylistOffset","offsetHeight","fadeawayIndex","animateBox","animateBoxOffset","AOS","init","dataset","aosOffset","aos","container","querySelector","onclick","sideScroll","element","direction","speed","distance","step","scrollAmount","slideTimer","setInterval","scrollLeft","clearInterval","addEventListener","naviHandler","stopImmediatePropagation","target","closest","clickContent","textContent","navIdex","findIndex","innerText","classList","add","remove","scrollTo","top","behavior","stickyTargrt","startFixed","naviSpace","naviCnt","length","naviMove","getBoundingClientRect","height","width","mainScrollFunc","scrollpos","value","i","setTimeout","body","left","updatePosition","scrollY","pageYOffset","requestAnimationFrame","throttled","_","throttle","fUrl","page","getQuestionData","then","questionlist","questionNodes","currentQuestion","quesHTML","questionTPL","innerHTML","answerHandler","error","url","fetch","cache","method","mode","redirect","referrer","response","json","question","color","ques","answerTPL","answers","ary","qlist","clickDOM","clickBox","clickQIndex","parseInt","targetQues","correctIndex","answerIndex","clickAgroup","contains","tooltiplist","tooltipMarks","tooltipCloses","tbox","markTop","style","parent","parentNode","self","dataPage","otherDiscuss","othese","filterDiscuss","filter","path","indexOf","title","bodydata","p1","JSON","stringify","headers","Headers","Promise","all","responses","r","res","data","ResultData","Items","relateHTML","err"],"mappings":"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"}