{"version":3,"sources":["node_modules/browser-pack/_prelude.js","src/scripts/layout/banner.ts","src/scripts/layout/footer.ts","src/scripts/layout/form.ts","src/scripts/layout/header.ts","src/scripts/libraries/_base.ts","src/scripts/libraries/_explore-scroll.ts","src/scripts/libraries/_imgClass.ts","src/scripts/libraries/fetchData.ts","src/scripts/libraries/gsapScroll.ts","src/scripts/libraries/pagination.ts","src/scripts/libraries/popupHandle.ts","src/scripts/main.ts","src/scripts/pages/about.ts","src/scripts/pages/index.ts","src/scripts/pages/works.ts"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","banner","footer","window","backToTop","addSpanRequired","item","let","labelText","querySelector","spanRequired","document","createElement","innerText","appendChild","formHandle","handleInput","groupInp","querySelectorAll","forEach","gr","input","getAttribute","rstext","classList","add","parentNode","insertBefore","nextSibling","addEventListener","preventDefault","value","textarea","required","header","eHeader","handleToggleMb","toggle","navHeader","contains","remove","body","lsLi","link","icon","target","scrollHeader","timeout","lastScrollTop","y","callbackTimeout","st","pageYOffset","documentElement","scrollTop","clientHeight","scrollY","style","transform","clearTimeout","setTimeout","handleSearch","searchWrapper","searchElement","closeSearch","gsap","registerPlugin","ScrollTrigger","_window","_base","closeHandle","callBack","delHandle","list","str","getQueryString","params","Object","keys","map","key","join","getPathnames","location","pathname","split","getParams","urlSearchParams","URLSearchParams","search","console","log","fromEntries","entries","setPushState","obj","queryStr","history","pushState","delParamsAll","err","mouseBoxHandle","idSection","strHandle","box","getElementById","children","mouseHandle","checkClick","ele","setAttribute","toString","position","evt","targetE","iItem","x","parseInt","display","offsetX","innerWidth","offsetY","offsetHeight","innerHeight","left","top","setInterval","clearInterval","interval","copyMaker","copyElement","callback","textCopy","href","textElementSuccess","textElementError","removeAttribute","height","opacity","select","execCommand","_a","addToastMsg","status","message","toastMsg","eToast","innerHTML","transitionDuration","timeDurationMsg","promise","Promise","res","rej","then","resole","reject","catch","error","targetHandle","arguments","undefined","checkCondition","parentElement","popupHandle","callBackClose","popup","close","cancel","initPopupHandle","strQuery","backtotop","addEvt","prevScrollpos","handleScroll","getBoundingClientRect","fHandleScroll","currentScrollPos","removeEventListener","onclick","scrollTo","behavior","getOffsetTopElement","element","offTop","tempElement","offsetTop","offsetParent","effectBehavior","elem","set","autoAlpha","create","trigger","onEnter","fromTo","duration","ease","overwrite","viewHeight","exploreScroll","timeoutScroll","scrollToExplore","hBody","timeoutDislay","animation","_imgClass","img","xhr","src","endsWith","XMLHttpRequest","open","onreadystatechange","tempSvg","this","readyState","responseText","replaceWith","send","default","fetchData","handleLoadmoreNews","wrapper","loadmore","checkingApi","apiLoadmore","data","id","page","$","ajax","url","type","dataType","success","response","ul","htmlE","child","boxesNews","boxItem","thumb","time","title","desc","more","wrapperMedia","loadmoreMedia","apiMediaLoadmore","boxesMedia","idx","moreMedia","handleLoadmoreSearch","handleLoadmoreProfile","gsapScroll","itemBox","sliderDetail","titleDetail","trInfors","trItem","titleRelated","moreRelated","relatedBoxes","initPage","pagination","opts","options","assign","defaults","init","prototype","plugin","paramItem","param","pages","selector","totalBox","items","totalPage","Math","ceil","scroll","paginationCreate","activeBox","activeItem","objClass","liActive","itemPages","strIcon","createPagination","changeIcon","clickButton","totalPages","strStart","strList","strI","visiblePage","visiblePage2","concat","_this","index","lens","itemActive","liBtns","getElementsByTagName","hiddenNextPrev","dataItem","scrollToTop","iNumber","num","strId","topFeatured","featuredItem","parentFeatured","count","nodeName","strClass","getElementsByClassName","itemNext","itemPrev","popupLib","ls","arrayFancy","includes","push","Fancybox","bind","Thumbs","Carousel","fill","center","Image","zoom","youtube","controls","showinfo","loop","protect","popup360deg","timeoutClick","idPopup","container","closeContainer","dtPopup","handleClose","containerHandle","escHandle","panorama","PANOLENS","ImagePanorama","viewer","Viewer","event","loading","constructor","arrayIndexString","lenArr","isLoading","checkPage","val","intervalId","_base_1","_imgClass_1","pagination_1","popupHandle_1","_explore_scroll_1","fetchData_1","header_1","footer_1","banner_1","form_1","index_1","about_1","works_1","callbackIdx","gsapScroll_1","works","about","copyElements","text","redirectClose","sw","swiper","autoplay","start","ghandleClose","aboutPageSection","titlePage","handlePopuped","detail","backToAll","closeHref","temp","userSelect","pointerEvents","handleUrl","origin","scrollIntoView","query","dataset","textContent","state","itempop","itemDel","eBanner","onbeforeunload","eSwBanner","timeoutSlide","Swiper","effect","speed","delay","pauseOnMouseEnter","disableOnInteraction","scrollbar","el","draggable","navigation","nextEl","prevEl","mousewheel","thresholdTime","a11y","slideLabelMessage","on","slideChange","len","slides","idxActive","activeIndex","hrefRedirect","stop","arrange","attr","html","localStorage","handleView","optsGalary","viewGalary","optGalary","arrType","setOptGalary","itemType","change","tempOpt","toId","handleCateMb","projecttype","opt","handleSwThumb","slider","swSlider","clickable","initSwiperSlider","swThumb","slidesPerView","spaceBetween","initSwiperThumb","lsThumb","activeIdx","slideTo","itemThumb"],"mappings":"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","file":"main.min.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i{\r\n window.backToTop('.backtotop');\r\n}","\r\nexport const formHandle = function(){\r\n handleInput();\r\n}\r\n\r\nfunction addSpanRequired(item:any){\r\n let labelText = item.querySelector('label');\r\n\r\n if (labelText){\r\n let spanRequired = document.createElement('span');\r\n spanRequired.innerText = \"*\";\r\n\r\n labelText.appendChild(spanRequired)\r\n }\r\n}\r\n\r\nfunction handleInput(){\r\n let groupInp = document.querySelectorAll('.group-input');\r\n \r\n groupInp.forEach(function(gr:any){\r\n const input = gr.querySelector('input');\r\n\r\n if (input && input.getAttribute('type') !== 'checkbox' && input.getAttribute('type') !== 'radio'){\r\n let rstext = gr.querySelector('.rstext');\r\n\r\n if (!rstext){\r\n rstext = document.createElement('span');\r\n rstext.classList.add('rstext');\r\n input.parentNode.insertBefore(rstext, input.nextSibling);\r\n }\r\n \r\n function handleClickRstext(e:any){\r\n e.preventDefault;\r\n input.value = \"\";\r\n }\r\n rstext.addEventListener('click', handleClickRstext);\r\n }\r\n \r\n \r\n if (input && input.required){\r\n addSpanRequired(gr);\r\n }\r\n else{\r\n let textarea = gr.querySelector('textarea');\r\n if (textarea && textarea.required){\r\n addSpanRequired(gr);\r\n }\r\n }\r\n })\r\n}","declare const window :any;\r\n\r\nexport const header = function(){\r\n let eHeader = document.querySelector('.header');\r\n if(document.querySelector('.header')){\r\n handleToggleMb();\r\n scrollHeader(eHeader);\r\n handleSearch();\r\n }\r\n}\r\n\r\n\r\nfunction handleToggleMb(){\r\n const toggle = document.querySelector('.header-toggle-mb');\r\n const navHeader = document.querySelector('.header-menu>nav');\r\n\r\n if (toggle){\r\n if (toggle.classList.contains('active')){\r\n navHeader?.classList.add('showed-mb');\r\n }else{\r\n navHeader?.classList.remove('showed-mb');\r\n }\r\n\r\n toggle.addEventListener('click', function(){\r\n toggle.classList.toggle('active');\r\n navHeader?.classList.toggle('showed-mb');\r\n\r\n if (toggle.classList.contains('active')){\r\n document.body.classList.add('hideScroll');\r\n }\r\n else{\r\n document.body.classList.remove('hideScroll');\r\n }\r\n })\r\n }\r\n\r\n if (navHeader){\r\n const lsLi = navHeader.querySelectorAll('ul>li');\r\n lsLi.forEach(function(item){\r\n let link = item.querySelector('a');\r\n let icon = item.querySelector('.icon');\r\n\r\n link?.addEventListener('click', function(e){\r\n let target = e.target;\r\n if(target.getAttribute('href') === \"javascript:void(0)\"){\r\n item.classList.toggle('is-actived');\r\n }\r\n })\r\n icon?.addEventListener('click', function(e){\r\n let target = e.target;\r\n item.classList.toggle('is-actived')\r\n })\r\n })\r\n }\r\n}\r\n\r\nfunction scrollHeader(eHeader:HTMLElement){\r\n var lastScrollTop = 0;\r\n var timeout: any;\r\n let y = 0;\r\n\r\n function callbackTimeout(){\r\n var st = window.pageYOffset || document.documentElement.scrollTop;\r\n if (st > lastScrollTop) {\r\n // downscroll code\r\n y = st;\r\n if (y > eHeader.clientHeight + 10){\r\n y = eHeader.clientHeight + 10;\r\n }\r\n eHeader.classList.remove('scrolling');\r\n } else {\r\n // upscroll code\r\n if (window.scrollY === 0){\r\n eHeader.classList.remove('scrolling');\r\n }else{\r\n eHeader.classList.add('scrolling');\r\n }\r\n y = 0;\r\n }\r\n lastScrollTop = st <= 0 ? 0 : st;\r\n\r\n eHeader.style.transform = `translateY(-${y}px)`;\r\n }\r\n \r\n document.addEventListener(\"scroll\", function () {\r\n clearTimeout(timeout);\r\n timeout = setTimeout(callbackTimeout, 200);\r\n }, false);\r\n\r\n}\r\n\r\nfunction handleSearch(){\r\n const searchWrapper = document.querySelector('.header-search');\r\n\r\n const searchElement = document.querySelector('.header-search-icon');\r\n \r\n searchElement?.addEventListener('click', function(e){\r\n e.preventDefault();\r\n searchWrapper.classList.toggle('is-showed');\r\n })\r\n\r\n const closeSearch = searchWrapper.querySelector('.close');\r\n closeSearch?.addEventListener('click', function(e){\r\n e.preventDefault();\r\n searchWrapper.classList.remove('is-showed');\r\n })\r\n}\r\n\r\n","declare const window: any;\r\ndeclare const $: any;\r\ndeclare const gsap: any;\r\ndeclare const ScrollTrigger: any;\r\ngsap.registerPlugin(ScrollTrigger);\r\n\r\nconst _window = window;\r\n\r\nexport const _base = function () {\r\n\twindow.delHandle = function (list: any, str: any) {\r\n\t\tif (typeof str == \"string\") {\r\n\t\t\tlist.forEach(function (item: HTMLElement) {\r\n\t\t\t\titem.classList.remove(str);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\twindow.getQueryString = function (params: any) {\r\n\t\tvar str = Object.keys(params)\r\n\t\t\t.map(function (key) {\r\n\t\t\t\treturn key + \"=\" + params[key];\r\n\t\t\t})\r\n\t\t\t.join(\"&\");\r\n\t\treturn str;\r\n\t};\r\n\r\n\twindow.getPathnames = function(){\r\n\t\tconst pathArray = window.location.pathname.split('/');\r\n\t\treturn pathArray;\r\n\t}\r\n\r\n\twindow.getParams = function(){\r\n\t\tconst urlSearchParams = new URLSearchParams(window.location.search);\r\n\t\tconsole.log('search', urlSearchParams);\r\n\t\tconst params = Object.fromEntries(urlSearchParams.entries());\r\n\t\treturn params;\r\n\t}\r\n\r\n\twindow.setPushState = function(obj:any){\r\n\t\tlet params = window.getParams();\r\n\t\tfor (let key in obj) {\r\n\t\t\tparams[key] = obj[key];\r\n\t\t}\r\n\r\n\t\tlet queryStr = window.getQueryString(params);\r\n\t\twindow.history.pushState(\"\", \"\", \"?\" + queryStr);\r\n\t\treturn true;\r\n }\r\n\r\n\twindow.delParamsAll = function(){\r\n\t\ttry{\r\n\t\t\thistory.pushState(null, null, window.location.pathname);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tcatch(err){\r\n\t\t\tthrow err;\r\n\t\t}\r\n\t}\r\n\r\n\t// mouse in seemore box\r\n\twindow.mouseBoxHandle = function (idSection: string, strHandle: string) {\r\n\t\tlet box = document.getElementById(idSection);\r\n\t\tif (!box) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet children = box.children;\r\n\t\tlet mouseHandle = box?.querySelector(strHandle);\r\n\t\tlet checkClick = false;\r\n\t\tlet interval: any;\r\n\r\n\t\t// if (window.innerWidth < 1024){\r\n\t\t// checkClick = true;\r\n\t\t// }\r\n\r\n\t\tfor (var i = 0; i < children.length; ++i) {\r\n\t\t\tlet ele = children[i];\r\n\t\t\tif (ele.classList.contains(\"item\")) {\r\n\t\t\t\tele.setAttribute(\"dt-item\", i.toString());\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbox.style.position = \"relative\";\r\n\t\tbox.addEventListener(\"mousemove\", function (evt) {\r\n\t\t\tlet targetE = evt.target;\r\n\t\t\tif (targetE.classList.contains(\"item\")) {\r\n\t\t\t\tlet iItem = parseInt(targetE.getAttribute(\"dt-item\"));\r\n\t\t\t\tmouseHandle.style.display = \"inline-flex\";\r\n\t\t\t\tlet x = evt.offsetX / (window.innerWidth / 100);\r\n\t\t\t\tlet y =\r\n\t\t\t\t\t(evt.offsetY + targetE.offsetHeight * (iItem - 1)) /\r\n\t\t\t\t\t(window.innerHeight / 100);\r\n\t\t\t\tmouseHandle.style.left = x + \"vw\";\r\n\t\t\t\tmouseHandle.style.top = y + \"vh\";\r\n\t\t\t} else {\r\n\t\t\t\tmouseHandle.style.display = \"\";\r\n\t\t\t}\r\n\t\t\tif (!checkClick) {\r\n\t\t\t\tsetInterval(function () {\r\n\t\t\t\t\tcheckClick = true;\r\n\t\t\t\t}, 500);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tbox.addEventListener(\"mouseleave\", function (evt) {\r\n\t\t\tmouseHandle.style.display = \"\";\r\n\t\t\tclearInterval(interval);\r\n\t\t\tcheckClick = false;\r\n\t\t});\r\n\r\n\t\tfor (var i = 0; i < children.length; ++i) {\r\n\t\t\tlet ele = children[i];\r\n\t\t\tif (ele.classList.contains(\"item\")) {\r\n\t\t\t\tele.addEventListener(\"click\", function (e) {\r\n\t\t\t\t\tif (!checkClick) {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\twindow.copyMaker = function(copyElement:HTMLElement, callback:Function){\r\n\t\tlet textCopy = copyElement.getAttribute('href');\r\n\t\tif (!textCopy || textCopy === \"#\"){\r\n\t\t\ttextCopy = window.location.href;\r\n\t\t}\r\n\r\n\t\tconst textElementSuccess = copyElement.getAttribute(\"dt-ss\") + \"\";\r\n\t\tconst textElementError = copyElement.getAttribute(\"dt-er\") + \"\";\r\n\r\n\t\ttry{\t\r\n\t\t\tcopyElement.removeAttribute('dt-ss');\r\n\t\t\tcopyElement.removeAttribute('dt-er');\r\n\r\n\t\t\tcopyElement.addEventListener(\"click\", function(e){\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tconst input = document.createElement(\"input\");\r\n\t\t\t\tinput.value = textCopy;\r\n\t\t\t\tinput.setAttribute('type', 'text');\r\n\t\t\t\tinput.style.height = \"0\";\r\n\t\t\t\tinput.style.opacity = \"0\";\r\n\t\t\t\tlet body = document.querySelector('body');\r\n\t\t\t\tbody.appendChild(input);\r\n\r\n\t\t\t\tinput.select();\r\n\r\n\t\t\t\tdocument.execCommand(\"copy\");\r\n\r\n\t\t\t\tinput.remove();\r\n\r\n\t\t\t\t// window.getSelection().selectAllChildren(input);\r\n\t\t\t\t// input.execCommand(\"copy\");\r\n\r\n\t\t\t\tcopyElement.setAttribute(\"tooltip\", textElementSuccess);\r\n\r\n\t\t\t\tcallback('success', textElementSuccess);\r\n\t\t\t});\r\n\r\n\t\t\t// copyElement.addEventListener(\"mouseover\", function(e){\r\n\t\t\t// \tcopyElement.setAttribute(\"tooltip\", textElement);\r\n\t\t\t// });\r\n\t\t}\r\n\t\tcatch{\r\n\t\t\tcallback('error', textElementError);\r\n\t\t}\r\n\t}\r\n\r\n\twindow.addToastMsg = function(status:string, message:string){\r\n\t\tlet toastMsg = document.querySelector('.toast-msg');\r\n\t\tif (!toastMsg){\r\n\t\t\tlet eToast = document.createElement('ul');\r\n\t\t\teToast.classList.add('toast-msg');\r\n\r\n\t\t\ttoastMsg = eToast;\r\n\r\n\t\t\tdocument.body.appendChild(toastMsg);\r\n\t\t}\r\n\r\n\t\tlet item = document.createElement('li');\r\n\t\t\r\n\t\titem.classList.add(status);\r\n\r\n\t\titem.innerHTML = `\r\n\t\t\t

${message}

\r\n\t\t`;\r\n\t\tlet timeMsg = 3000;\r\n\t\tlet timeDurationMsg = 600;\r\n\r\n\t\tconst iChild = 5;\r\n\r\n\t\titem.style.transitionDuration = (timeDurationMsg / 1000) + \"s\";\r\n\r\n\t\titem.addEventListener('click', function(){\r\n\t\t\tlet promise = new Promise(function(res, rej){\r\n\t\t\t\titem.classList.remove('active');\r\n\t\t\t\tres(item);\r\n\t\t\t})\r\n\t\t\tpromise.then(function(value){\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\titem.remove();\r\n\t\t\t\t}, timeDurationMsg)\r\n\t\t\t})\r\n\t\t})\r\n\r\n\t\t// time message\r\n\t\tlet timeout = new Promise(function(resole, reject){\r\n\t\t\ttry{\r\n\t\t\t\tif (!item){\r\n\t\t\t\t\tthrow 'Not item message!';\r\n\t\t\t\t}\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\titem.classList.add('active');\r\n\t\t\t\t\tresole(item);\r\n\t\t\t\t}, 0)\r\n\t\t\t}\r\n\t\t\tcatch(err){\r\n\t\t\t\treject(err)\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\ttimeout.then(function(item:HTMLElement){\r\n\t\t\treturn new Promise(function(resole, reject){\r\n\t\t\t\tsetTimeout(function(){\r\n\t\t\t\t\titem.classList.remove('active');\r\n\t\t\t\t\tresole(item);\r\n\t\t\t\t}, timeMsg)\r\n\t\t\t})\r\n\t\t}).then(function(value:HTMLElement){\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\tvalue.remove();\r\n\r\n\t\t\t\t// remove Toast list\r\n\t\t\t\tif (toastMsg.children.length === 0){\r\n\t\t\t\t\ttoastMsg.remove();\r\n\t\t\t\t}\r\n\t\t\t}, timeDurationMsg)\r\n\t\t})\r\n\t\t.catch(function(error){\r\n\t\t\tconsole.error(`${error}`)\r\n\t\t})\r\n\r\n\t\tif (toastMsg.children.length + 1 > iChild ){\r\n\t\t\ttoastMsg.children[0].remove();\r\n\t\t}\r\n\r\n\t\ttoastMsg.appendChild(item);\r\n\t}\r\n\r\n\twindow.targetHandle = function(target:any = document,checkCondition:Function, callBack:Function){\r\n\t\ttarget.addEventListener('click', function(e:any){\r\n\t\t\tlet target = e.target;\r\n\r\n\t\t\tif (checkCondition(target) === true){\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\ttarget = target.parentElement;\r\n\t\t\tdo{\r\n\t\t\t\tif (checkCondition(target) === true){\r\n\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\ttarget = target.parentElement;\r\n\t\t\t}while(target.parentElement);\r\n\r\n\t\t\tcallBack();\r\n\t\t})\r\n\t}\r\n\r\n\tfunction closeHandle(target:any, callBack:Function){\r\n\t\ttarget.classList.remove('opened');\r\n\r\n\t\tcallBack(target);\r\n\t}\r\n\r\n\twindow.popupHandle = function(target:any, callBackClose:Function = function(){return\"\"}){\r\n\t\ttry{\r\n\t\t\tif (typeof target === 'string'){\r\n\t\t\t\ttarget = document.querySelector(`${target}`);\r\n\t\t\t}\r\n\r\n\t\t\tlet popup = document.querySelector(`${target.getAttribute('data-popup')}`);\r\n\t\t\tif (!popup){\r\n\t\t\t\tthrow `Not found popup: ${target.getAttribute('data-popup')}`;\r\n\t\t\t}\r\n\r\n\t\t\tif (popup.classList.contains('initialized')){\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlet close = popup.querySelector('.close');\r\n\t\t\tif (close){\r\n\t\t\t\tclose.addEventListener('click', function(e:any){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tlet cancel = popup.querySelector('.cancel');\r\n\t\t\tif (cancel){\r\n\t\t\t\tcancel.querySelector('a').addEventListener('click', function(e:any){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\t_window.targetHandle(popup, function(e:HTMLElement){\r\n\t\t\t\tif (e.classList.contains('wrapper')){\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}, function(){\r\n\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\ttarget.addEventListener('click', function(e:any){\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tpopup.classList.add('opened');\r\n\t\t\t})\r\n\r\n\t\t\tpopup.classList.add(\"initialized\");\r\n\t\t}\r\n\t\tcatch(err){\r\n\t\t\tconsole.error(err);\r\n\t\t}\r\n\t}\r\n\r\n\twindow.initPopupHandle = function(target:any, callBackClose:Function = function(){return\"\"}){\r\n\t\ttry{\r\n\t\t\tlet popup = target;\r\n\t\t\tif (typeof target === \"string\"){\r\n\t\t\t\tpopup = document.querySelector(target);\r\n\t\t\t}\r\n\t\t\tif (!popup){\r\n\t\t\t\tthrow `Not found popup: ${target.getAttribute('data-popup')}`;\r\n\t\t\t}\r\n\r\n\t\t\tif (popup.classList.contains('initialized')){\r\n\t\t\t\tpopup.classList.add('opened');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tlet close = popup.querySelector('.close');\r\n\t\t\tif (close){\r\n\t\t\t\tclose.addEventListener('click', function(e:any){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tlet cancel = popup.querySelector('.cancel');\r\n\t\t\tif (cancel){\r\n\t\t\t\tcancel.querySelector('a').addEventListener('click', function(e:any){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\t_window.targetHandle(popup, function(e:HTMLElement){\r\n\t\t\t\tif (e.classList.contains('wrapper')){\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}, function(){\r\n\t\t\t\tcloseHandle(popup, callBackClose);\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\t// target.addEventListener('click', function(e:any){\r\n\t\t\t// \te.preventDefault();\r\n\t\t\t// })\r\n\t\t\t\r\n\t\t\tpopup.classList.add('opened');\r\n\t\t\tpopup.classList.add(\"initialized\");\r\n\t\t}\r\n\t\tcatch(err){\r\n\t\t\tconsole.error(err);\r\n\t\t}\r\n\t}\r\n\r\n\twindow.backToTop = (strQuery: string, target:HTMLElement = null) => {\r\n\t\tconst backtotop = document.querySelector(strQuery);\r\n\t\tif (backtotop){\r\n\t\t\tlet addEvt = false;\r\n\t\t\tlet prevScrollpos = window.pageYOffset;\r\n\r\n\t\t\tconst handleScroll = () => {\r\n\t\t\t\tif (target){\r\n\t\t\t\t\tlet top = target.getBoundingClientRect().top;\r\n\t\t\t\t\tif (top <= window.innerHeight + 200){\r\n\t\t\t\t\t\tbacktotop.classList.add(\"showed\");\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbacktotop.classList.remove('showed');\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tif (window.scrollY > 500){\r\n\t\t\t\t\t\tbacktotop.classList.add('showed');\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbacktotop.classList.remove('showed');\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\thandleScroll();\r\n\t\t\tlet timeout:any;\r\n\t\t\t\r\n\t\t\tfunction fHandleScroll(){\r\n\t\t\t\tlet currentScrollPos = window.pageYOffset;\r\n\t\t\t\tif (prevScrollpos > currentScrollPos) {\r\n\t\t\t\t\tbacktotop.classList.remove('showed');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tclearTimeout(timeout);\r\n\t\t\t\t\ttimeout = setTimeout(handleScroll, 200);\r\n\t\t\t\t}\r\n\t\t\t\tprevScrollpos = currentScrollPos;\r\n\t\t\t}\r\n\r\n\t\t\taddEvt = true;\r\n\t\t\twindow.addEventListener('scroll', fHandleScroll);\r\n\r\n\t\t\tif(window.innerWidth <= 768){\r\n\t\t\t\tbacktotop.classList.remove('showed');\r\n\t\t\t\taddEvt = false;\r\n\t\t\t\twindow.removeEventListener('scroll', fHandleScroll);\r\n\t\t\t}\r\n\r\n\t\t\twindow.addEventListener('resize', function(){\r\n\t\t\t\tif(window.innerWidth <= 768){\r\n\t\t\t\t\tbacktotop.classList.remove('showed');\r\n\t\t\t\t\tif(addEvt){\r\n\t\t\t\t\t\taddEvt = false;\r\n\t\t\t\t\t\twindow.removeEventListener('scroll', fHandleScroll);\r\n\t\t\t\t\t}\r\n\t\t\t\t}else{\r\n\t\t\t\t\tif(!addEvt){\r\n\t\t\t\t\t\taddEvt = true;\r\n\t\t\t\t\t\twindow.addEventListener('scroll', fHandleScroll);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tconst handleClick = (e:any) =>{\r\n\t\t\t\te.preventDefault();\t\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: 0,\r\n\t\t\t\t\tleft: 0,\r\n\t\t\t\t\tbehavior: \"smooth\"\t\t\t\t\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tbacktotop.onclick = handleClick;\r\n\t\t}\r\n\t}\r\n\twindow.getOffsetTopElement = function(element:HTMLElement){\r\n\t\tlet offTop = 0;\r\n\t\tlet i = 0;\r\n\t\tlet tempElement = element;\r\n\t\tdo{\r\n\t\t\t\r\n\t\t\tif (tempElement && i < 100){\r\n\t\t\t\toffTop += tempElement.offsetTop;\r\n\t\t\t\ttempElement = tempElement.offsetParent;\r\n\t\t\t\t++i;\r\n\t\t\t}else{\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}while(tempElement);\r\n\r\n\t\treturn offTop;\r\n\t}\r\n\r\n\twindow.effectBehavior = function(elem:any, behavior:any = \"top\"){\r\n\t\tgsap.set(elem, {autoAlpha: 0});\r\n \r\n\t\tScrollTrigger.create({\r\n\t\t\ttrigger: elem,\r\n\t\t\tonEnter: function() { \r\n\t\t\t\tvar x = 0,\r\n\t\t\t\ty = 100;\r\n\r\n\t\t\t\tif (behavior == 'left'){\r\n\t\t\t\t\tx = -100;\r\n\t\t\t\t\ty = 0;\r\n\t\t\t\t}\r\n\t\t\t\telse if (behavior == 'right'){\r\n\t\t\t\t\tx = 100;\r\n\t\t\t\t\ty = 0;\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\telem.style.transform = \"translate(\" + x + \"px, \" + y + \"px)\";\r\n\r\n\t\t\t\telem.style.opacity = \"0\";\r\n\t\t\t\tgsap.fromTo(elem, {x: x, y: y, autoAlpha: 0}, {\r\n\t\t\t\t\tduration: 1.25, \r\n\t\t\t\t\tx: 0,\r\n\t\t\t\t\ty: 0, \r\n\t\t\t\t\tautoAlpha: 1, \r\n\t\t\t\t\tease: \"expo\", \r\n\t\t\t\t\toverwrite: \"auto\"\r\n\t\t\t\t});\r\n\t\t\t }, \r\n\t\t\t// onEnterBack: function() { animationGsap(elem, behavior) },\r\n\t\t\t// onLeave: function() { hide(elem) } // assure that the element is hidden when scrolled into view\r\n\t\t});\r\n\t}\r\n};\r\n","declare const window: any;\r\nconst viewHeight = window.innerHeight;\r\n\r\nexport const exploreScroll = function(){\r\n let timeoutScroll:any;\r\n let scrollToExplore = document.querySelector('.scrollToExplore');\r\n if (scrollToExplore){\r\n function handleScroll (){\r\n clearTimeout(timeoutScroll);\r\n const hBody = document.body.clientHeight;\r\n if (hBody === viewHeight){\r\n let timeoutDislay:any;\r\n timeoutScroll = setTimeout(function(){\r\n scrollToExplore.style.display = \"none\";\r\n clearTimeout(timeoutDislay);\r\n timeoutDislay = setTimeout(function(){\r\n scrollToExplore.style.display = \"inline-flex\";\r\n scrollToExplore.style.animation = \"viewExplore 1s forwards cubic-bezier(0.175, 0.885, 0.32, 1.275)\";\r\n }, 3000)\r\n }, 300)\r\n }\r\n else {\r\n\r\n if ( window.scrollY + viewHeight < hBody - 120){\r\n\r\n let timeoutDislay:any;\r\n timeoutScroll = setTimeout(function(){\r\n scrollToExplore.style.display = \"none\";\r\n \r\n clearTimeout(timeoutDislay);\r\n timeoutDislay = setTimeout(function(){\r\n scrollToExplore.style.display = \"inline-flex\";\r\n scrollToExplore.style.animation = \"viewExplore 1s forwards cubic-bezier(0.175, 0.885, 0.32, 1.275)\";\r\n }, 3000)\r\n }, 300)\r\n }\r\n else{\r\n scrollToExplore.style.display = \"none\";\r\n }\r\n }\r\n\r\n }\r\n handleScroll();\r\n document.addEventListener('scroll', handleScroll)\r\n }\r\n}","declare const $: any;\r\n\r\nexport const _imgClass = function(){\r\n // Lấy thẻ img\r\n var imgs = document.querySelectorAll('img.svg');\r\n imgs.forEach(function(img:any){\r\n if (img.src.endsWith('.svg')){\r\n // Lấy nội dung SVG từ đường dẫn của thẻ img\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('GET', img.getAttribute('src'), true);\r\n xhr.onreadystatechange = function () {\r\n if (this.readyState === 4 && this.status === 200) {\r\n // Gán nội dung SVG vào thẻ svg mới\r\n var tempSvg = document.createElement('div');\r\n tempSvg.innerHTML = this.responseText;\r\n \r\n \r\n // Thay thế thẻ img bằng thẻ svg mới\r\n img.replaceWith(tempSvg.querySelector('svg'));\r\n }\r\n };\r\n xhr.send();\r\n }\r\n })\r\n}\r\n","declare const $: any;\r\nconst viewHeight = window.innerHeight;\r\ndeclare const window: any;\r\ndeclare const gsap: any;\r\ndeclare const ScrollTrigger: any;\r\ngsap.registerPlugin(ScrollTrigger);\r\n// Common function\r\nconst fetchData = () => {\r\n\t// const formData = new FormData();\r\n\t// formData.append(\"FirstName\", \"Sơn\");\r\n\t// formData.append(\"LastName\", \"Vũ\");\r\n\t// axios.post(\"/user\", formData).then(function (response) {\r\n\t// \tconsole.log(response);\r\n\t// });\r\n\r\n\t// axios.get(\"./api/test.json\")\r\n\t// \t.then((response) => {\r\n\t// \t\treturn response;\r\n\t// \t})\r\n\t// \t.finally(() => {});\r\n\r\n\t// if (document.getElementById('worksPage')){\r\n\t// \tfunction handleLoadmoreWorks(){\r\n\t// \t\tconst wrapper = document.querySelector('.works-section--projects');\r\n\t// \t\tconst loadmore = wrapper?.querySelector('.loadmore');\r\n\t// \t\tif (loadmore){\r\n\t// \t\t\tlet checkingApi = false;\r\n\t// \t\t\tfunction apiLoadmore(){\r\n\t// \t\t\t\tconst top = loadmore ? loadmore.getBoundingClientRect().top : 0; \r\n\t// \t\t\t\tconst rectTop = top + 60;\r\n\t// \t\t\t\tif (rectTop <= viewHeight){\r\n\t// \t\t\t\t\tif(checkingApi === false){\r\n\t// \t\t\t\t\t\t// call API\r\n\t// \t\t\t\t\t\tconst data = {\r\n\t// \t\t\t\t\t\t\tid: loadmore.getAttribute('data-id') ? loadmore.getAttribute('data-id') : \"\",\r\n\t// \t\t\t\t\t\t\tpage: loadmore.getAttribute('data-page') ? loadmore.getAttribute('data-page') : \"\"\r\n\t// \t\t\t\t\t\t}\r\n\r\n\t// \t\t\t\t\t\t// $.ajax({\r\n\t// \t\t\t\t\t\t// \turl: '/api/works',\r\n\t// \t\t\t\t\t\t// \ttype: 'GET',\r\n\t// \t\t\t\t\t\t// \tdataType: 'json',\r\n\t// \t\t\t\t\t\t// \tdata: data,\r\n\t// \t\t\t\t\t\t// \tsuccess: function(response:any) {\r\n\t// \t\t\t\t\t\t// \t\thandleLoadmoreWorks();\r\n\t// \t\t\t\t\t\t// \t},\r\n\t// \t\t\t\t\t\t// \terror: function(xhr:any, status:any, error:any) {\r\n\t// \t\t\t\t\t\t// \t\tconsole.log(error);\r\n\t// \t\t\t\t\t\t// \t}\r\n\t// \t\t\t\t\t\t// });\r\n\r\n\t// \t\t\t\t\t\t$.ajax({\r\n\t// \t\t\t\t\t\t\ttype: 'GET',\r\n\t// \t\t\t\t\t\t\turl: `/get-load-more-product?type=${$('#changeType').attr('data-type')}`,\r\n\t// \t\t\t\t\t\t\tdataType: 'html',\r\n\t// \t\t\t\t\t\t\tsuccess: function (res:any) {\r\n\t// \t\t\t\t\t\t\t\t// $('#listProducts').html(res);\r\n\t// \t\t\t\t\t\t\t\tlet divE = document.createElement('div');\r\n\t// \t\t\t\t\t\t\t\tdivE.innerHTML = res;\r\n\t\r\n\t// \t\t\t\t\t\t\t\tfor (const child of divE.children) {\r\n\t// \t\t\t\t\t\t\t\t\tlet cateItem = child.querySelector('.project-box__cate');\r\n\t// \t\t\t\t\t\t\t\t\tcateItem && window.effectBehavior(cateItem, \"top\");\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t// \t\t\t\t\t\t\t\t\tlet name = child.querySelector('.project-box__name');\r\n\t// \t\t\t\t\t\t\t\t\tname && window.effectBehavior(name, \"top\");\r\n\t\t\t\t\t\t\t\t\r\n\t// \t\t\t\t\t\t\t\t\tlet desc = child.querySelector('.project-box__desc');\r\n\t// \t\t\t\t\t\t\t\t\tdesc && window.effectBehavior(desc, \"top\");\r\n\t\t\t\t\t\t\t\t\r\n\t// \t\t\t\t\t\t\t\t\tlet thumb = child.querySelector('.project-box-thumb');\r\n\t// \t\t\t\t\t\t\t\t\tthumb && window.effectBehavior(thumb, \"top\");\r\n\r\n\t// \t\t\t\t\t\t\t\t\tlet more = child.querySelector('.loadmore');\r\n\t// \t\t\t\t\t\t\t\t\tmore && window.effectBehavior(more, \"top\");\r\n\t\r\n\t// \t\t\t\t\t\t\t\t\tdocument.getElementById('listProducts').appendChild(child);\r\n\t// \t\t\t\t\t\t\t\t}\r\n\r\n\t// \t\t\t\t\t\t\t\tcheckingApi = false;\r\n\t// \t\t\t\t\t\t\t\twindow.addEventListener('scroll', apiLoadmore);\r\n\t// \t\t\t\t\t\t\t},\r\n\t// \t\t\t\t\t\t\terror: function(xhr:any, status:any, error:any) {\r\n\t// \t\t\t\t\t\t\t\tconsole.log(error);\r\n\t// \t\t\t\t\t\t\t\tcheckingApi = false;\r\n\t// \t\t\t\t\t\t\t}\r\n\t// \t\t\t\t\t\t})\r\n\t// \t\t\t\t\t\t// loadmore.remove();\r\n\t\r\n\t// \t\t\t\t\t\tcheckingApi = true;\r\n\t// \t\t\t\t\t\twindow.removeEventListener('scroll', apiLoadmore);\r\n\t// \t\t\t\t\t}\r\n\t// \t\t\t\t}\r\n\t// \t\t\t}\r\n\r\n\t// \t\t\tapiLoadmore();\r\n\t// \t\t\twindow.addEventListener('scroll', apiLoadmore);\r\n\r\n\t// \t\t\tloadmore.addEventListener('click', function(e){\r\n\t// \t\t\t\te.preventDefault();\r\n\r\n\t// \t\t\t\tif(checkingApi === false){\r\n\t// \t\t\t\t\t// call API\r\n\t// \t\t\t\t\tconst data = {\r\n\t// \t\t\t\t\t\tid: loadmore.getAttribute('data-id') ? loadmore.getAttribute('data-id') : \"\",\r\n\t// \t\t\t\t\t\tpage: loadmore.getAttribute('data-page') ? loadmore.getAttribute('data-page') : \"\"\r\n\t// \t\t\t\t\t}\r\n\r\n\t// \t\t\t\t\t$.ajax({\r\n\t// \t\t\t\t\t\ttype: 'GET',\r\n\t// \t\t\t\t\t\turl: `/get-load-more-product?type=${$('#changeType').attr('data-type')}`,\r\n\t// \t\t\t\t\t\tdataType: 'html',\r\n\t// \t\t\t\t\t\tsuccess: function (res:any) {\r\n\t// \t\t\t\t\t\t\t// $('#listProducts').html(res);\r\n\t// \t\t\t\t\t\t\tlet divE = document.createElement('div');\r\n\t// \t\t\t\t\t\t\tdivE.innerHTML = res;\r\n\r\n\t// \t\t\t\t\t\t\tfor (const child of divE.children) {\r\n\t// \t\t\t\t\t\t\t\tlet cateItem = child.querySelector('.project-box__cate');\r\n\t// \t\t\t\t\t\t\t\tcateItem && window.effectBehavior(cateItem, \"top\");\r\n\t\t\t\t\t\t\t\t\t\r\n\t// \t\t\t\t\t\t\t\tlet name = child.querySelector('.project-box__name');\r\n\t// \t\t\t\t\t\t\t\tname && window.effectBehavior(name, \"top\");\r\n\t\t\t\t\t\t\t\r\n\t// \t\t\t\t\t\t\t\tlet desc = child.querySelector('.project-box__desc');\r\n\t// \t\t\t\t\t\t\t\tdesc && window.effectBehavior(desc, \"top\");\r\n\t\t\t\t\t\t\t\r\n\t// \t\t\t\t\t\t\t\tlet thumb = child.querySelector('.project-box-thumb');\r\n\t// \t\t\t\t\t\t\t\tthumb && window.effectBehavior(thumb, \"top\");\r\n\r\n\t// \t\t\t\t\t\t\t\tlet more = child.querySelector('.loadmore');\r\n\t// \t\t\t\t\t\t\t\tmore && window.effectBehavior(more, \"top\");\r\n\r\n\t// \t\t\t\t\t\t\t\tdocument.getElementById('listProducts').appendChild(child);\r\n\t// \t\t\t\t\t\t\t}\r\n\r\n\t// \t\t\t\t\t\t\tcheckingApi = false;\r\n\t// \t\t\t\t\t\t\twindow.addEventListener('scroll', apiLoadmore);\r\n\t// \t\t\t\t\t\t},\r\n\t// \t\t\t\t\t\terror: function(xhr:any, status:any, error:any) {\r\n\t// \t\t\t\t\t\t\tconsole.log(error);\r\n\t// \t\t\t\t\t\t\tcheckingApi = false;\r\n\r\n\t// \t\t\t\t\t\t\tlet divE = document.createElement('div');\r\n\t// \t\t\t\t\t\t\tdivE.innerHTML = `\r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    BINH TIEN GOLF DRIVING RANGE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Through many restorations, Con market has become a place to trade and exchange goods associated with local people and an attractive shopping and dining place for tourists.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Eagle House.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"Eagle
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Hai Chau Administraive Center.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"Hai
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Hi-Tech Center Ditp.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"Hi-Tech
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Apartment Ditp.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"Apartment
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    CA TIEN VILLA.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Halfway.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Eagle House.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    DAK LAK CUTURE HOUSE.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Con Market.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Quoc Anh Villa

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Ohana’s Assembly Hall.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Hi-Tech Center Ditp.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Golden Hill.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    DAK LAK CUTURE HOUSE.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    DAK LAK CUTURE HOUSE.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t

    ARCHITECTURE

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    DAK LAK CUTURE HOUSE.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t\t\t

    Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet Amet minim mollit non deserunt ullamco est sit aliqua dolor do amet sint. Velit officia consequat duis enim velit mollit. Exercitation veniam consequat sunt nostrud amet.

    \r\n\t// \t\t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t\t\t
    \"BINH
    \r\n\t// \t\t\t\t\t\t\t\t
    \r\n\t// \t\t\t\t\t\t\t
  • \r\n\t// \t\t\t\t\t\t\t`;\r\n\r\n\r\n\t// \t\t\t\t\t\t}\r\n\t// \t\t\t\t\t})\r\n\t// \t\t\t\t\t// loadmore.remove();\r\n\r\n\t// \t\t\t\t\tcheckingApi = true;\r\n\t// \t\t\t\t\twindow.removeEventListener('scroll', apiLoadmore);\r\n\t// \t\t\t\t}\r\n\t// \t\t\t})\r\n\t// \t\t}\r\n\t// \t}\r\n\r\n\t// \thandleLoadmoreWorks();\r\n\t// }\r\n\t// function LoadMoreDataProduct() {\r\n\t// \t$.ajax({\r\n\t// \t\ttype: 'GET',\r\n\t// \t\turl: `/get-load-more-product?type=${$('#changeType').attr('data-type')}`,\r\n\t// \t\tdataType: 'html',\r\n\t// \t\tsuccess: function (res:any) {\r\n\t// \t\t\t$('#listProducts').html(res);\r\n\t// \t\t}\r\n\t// \t})\r\n\t// }\r\n\t\r\n\tif (document.getElementById('newsPage')){\r\n\t\tconst handleLoadmoreNews = function(){\r\n\t\t\tconst wrapper = document.querySelector('.news-section-wrapper');\r\n\t\t\tconst loadmore = wrapper?.querySelector('.loadmore');\r\n\t\r\n\t\t\tif (loadmore){\r\n\t\t\t\tlet checkingApi = false;\r\n\t\t\t\tfunction apiLoadmore(){\r\n\t\t\t\t\tconst top = loadmore ? loadmore.getBoundingClientRect().top : 0; \r\n\t\t\t\t\tconst rectTop = top + 60;\r\n\t\r\n\t\t\t\t\tif (rectTop <= viewHeight){\r\n\t\t\t\t\t\tif(checkingApi === false){\r\n\t\t\t\t\t\t\t// call API\r\n\t\t\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\t\t\tid: loadmore.getAttribute('data-id') ? loadmore.getAttribute('data-id') : \"\",\r\n\t\t\t\t\t\t\t\tpage: loadmore.getAttribute('data-page') ? loadmore.getAttribute('data-page') : \"\"\r\n\t\t\t\t\t\t\t}\r\n\t\t\r\n\t\t\t\t\t\t\t$.ajax({\r\n\t\t\t\t\t\t\t\turl: '/api/newsloadmore',\r\n\t\t\t\t\t\t\t\ttype: 'GET',\r\n\t\t\t\t\t\t\t\tdataType: 'html',\r\n\t\t\t\t\t\t\t\tdata: data,\r\n\t\t\t\t\t\t\t\tsuccess: function(response:any) {\r\n\t\t\t\t\t\t\t\t\tloadmore.remove();\r\n\t\t\t\t\t\t\t\t\tconst ul = wrapper.querySelector('ul');\r\n\r\n\t\t\t\t\t\t\t\t\tlet htmlE = document.createElement('div');\r\n\t\t\t\t\t\t\t\t\thtmlE.innerHTML = response;\r\n\r\n\t\t\t\t\t\t\t\t\tfor (const child of htmlE.children) {\r\n\t\t\t\t\t\t\t\t\t\tlet boxesNews = child.querySelectorAll('.box-news');\r\n\t\t\t\t\t\t\t\t\t\tboxesNews.forEach(function(boxItem){\r\n\t\t\t\t\t\t\t\t\t\t\tlet thumb = boxItem.querySelector('.thumbnail');\r\n\t\t\t\t\t\t\t\t\t\t\tthumb && window.effectBehavior(thumb, 'left');\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tlet time = boxItem.querySelector('.content time');\r\n\t\t\t\t\t\t\t\t\t\t\ttime && window.effectBehavior(time);\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tlet title = boxItem.querySelector('.content h2');\r\n\t\t\t\t\t\t\t\t\t\t\ttitle && window.effectBehavior(title);\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tlet desc = boxItem.querySelector('.content .content-desc');\r\n\t\t\t\t\t\t\t\t\t\t\tdesc && window.effectBehavior(desc);\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tlet more = child.querySelector('.loadmore');\r\n\t\t\t\t\t\t\t\t\t\tmore && window.effectBehavior(more);\r\n\r\n\t\t\t\t\t\t\t\t\t\tul.appendChild(child);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\thandleLoadmoreNews();\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\terror: function(xhr:any, status:any, error:any) {\r\n\t\t\t\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\t\t\t\tcheckingApi = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tcheckingApi = true;\r\n\t\t\t\t\t\twindow.removeEventListener('scroll', apiLoadmore);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tapiLoadmore();\r\n\t\t\t\twindow.addEventListener('scroll', apiLoadmore);\r\n\t\r\n\t\t\t\tloadmore.addEventListener('click', function(e){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tif(checkingApi === false){\r\n\t\t\t\t\t\t// call API\r\n\t\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\t\tid: loadmore.getAttribute('data-id') ? loadmore.getAttribute('data-id') : \"\",\r\n\t\t\t\t\t\t\tpage: loadmore.getAttribute('data-page') ? loadmore.getAttribute('data-page') : \"\"\r\n\t\t\t\t\t\t}\r\n\t\r\n\t\t\t\t\t\t$.ajax({\r\n\t\t\t\t\t\t\turl: '/api/newsloadmore',\r\n\t\t\t\t\t\t\ttype: 'GET',\r\n\t\t\t\t\t\t\tdataType: 'html',\r\n\t\t\t\t\t\t\tdata: data,\r\n\t\t\t\t\t\t\tsuccess: function(response:any) {\r\n\t\t\t\t\t\t\t\t// loadmore.remove();\r\n\r\n\t\t\t\t\t\t\t\t// const ul = wrapper.querySelector('ul');\r\n\t\t\t\t\t\t\t\t// ul.innerHTML += response;\r\n\r\n\t\t\t\t\t\t\t\t// handleLoadmoreNews();\r\n\r\n\t\t\t\t\t\t\t\tloadmore.remove();\r\n\t\t\t\t\t\t\t\tconst ul = wrapper.querySelector('ul');\r\n\r\n\t\t\t\t\t\t\t\tlet htmlE = document.createElement('div');\r\n\t\t\t\t\t\t\t\thtmlE.innerHTML = response;\r\n\r\n\t\t\t\t\t\t\t\tfor (const child of htmlE.children) {\r\n\t\t\t\t\t\t\t\t\tlet boxesNews = child.querySelectorAll('.box-news');\r\n\t\t\t\t\t\t\t\t\tboxesNews.forEach(function(boxItem){\r\n\t\t\t\t\t\t\t\t\t\tlet thumb = boxItem.querySelector('.thumbnail');\r\n\t\t\t\t\t\t\t\t\t\tthumb && window.effectBehavior(thumb, 'left');\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tlet time = boxItem.querySelector('.content time');\r\n\t\t\t\t\t\t\t\t\t\ttime && window.effectBehavior(time);\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tlet title = boxItem.querySelector('.content h2');\r\n\t\t\t\t\t\t\t\t\t\ttitle && window.effectBehavior(title);\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tlet desc = boxItem.querySelector('.content .content-desc');\r\n\t\t\t\t\t\t\t\t\t\tdesc && window.effectBehavior(desc);\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tlet more = child.querySelector('.news-section-wrapper .loadmore');\r\n\t\t\t\t\t\t\t\t\tmore && window.effectBehavior(more);\r\n\r\n\t\t\t\t\t\t\t\t\tul.appendChild(child);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\thandleLoadmoreNews();\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\terror: function(xhr:any, status:any, error:any) {\r\n\t\t\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\t\t\tcheckingApi = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t// loadmore.remove();\r\n\t\r\n\t\t\t\t\t\tcheckingApi = true;\r\n\t\t\t\t\t\twindow.removeEventListener('scroll', apiLoadmore);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tconst wrapperMedia = document.querySelector('.news-section-media');\r\n\t\t\tconst loadmoreMedia = wrapperMedia?.querySelector('.loadmore');\r\n\t\r\n\t\t\tif (loadmoreMedia){\r\n\t\t\t\tlet checkingApi = false;\r\n\t\t\t\tfunction apiMediaLoadmore(){\r\n\t\t\t\t\tconst top = loadmoreMedia ? loadmoreMedia.getBoundingClientRect().top : 0; \r\n\t\t\t\t\tconst rectTop = top + 60;\r\n\t\r\n\t\t\t\t\tif (rectTop <= viewHeight){\r\n\t\t\t\t\t\tif(checkingApi === false){\r\n\t\t\t\t\t\t\t// call API\r\n\t\t\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\t\t\tid: loadmoreMedia.getAttribute('data-id') ? loadmoreMedia.getAttribute('data-id') : \"\",\r\n\t\t\t\t\t\t\t\tpage: loadmoreMedia.getAttribute('data-page') ? loadmoreMedia.getAttribute('data-page') : \"\"\r\n\t\t\t\t\t\t\t}\r\n\t\t\r\n\t\t\t\t\t\t\t$.ajax({\r\n\t\t\t\t\t\t\t\turl: '/api/medialoadmore',\r\n\t\t\t\t\t\t\t\ttype: 'GET',\r\n\t\t\t\t\t\t\t\tdataType: 'html',\r\n\t\t\t\t\t\t\t\tdata: data,\r\n\t\t\t\t\t\t\t\tsuccess: function(response:any) {\r\n\t\t\t\t\t\t\t\t\tloadmoreMedia.remove();\r\n\t\t\t\t\t\t\t\t\tconst ul = wrapperMedia.querySelector('ul');\r\n\r\n\t\t\t\t\t\t\t\t\tlet htmlE = document.createElement('div');\r\n\t\t\t\t\t\t\t\t\thtmlE.innerHTML = response;\r\n\r\n\t\t\t\t\t\t\t\t\tfor (const child of htmlE.children) {\r\n\t\t\t\t\t\t\t\t\t\tlet boxesMedia = child.querySelectorAll('.media-item');\r\n\t\t\t\t\t\t\t\t\t\tboxesMedia.forEach(function(boxItem, idx){\r\n\t\t\t\t\t\t\t\t\t\t\tif (idx % 2 === 0){\r\n\t\t\t\t\t\t\t\t\t\t\t\twindow.effectBehavior(boxItem, 'left'); \r\n\t\t\t\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\t\t\t\twindow.effectBehavior(boxItem, 'right'); \r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tlet moreMedia = child.querySelector('.loadmore');\r\n\t\t\t\t\t\t\t\t\t\tmoreMedia && window.effectBehavior(moreMedia);\r\n\r\n\t\t\t\t\t\t\t\t\t\tul.appendChild(child);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\thandleLoadmoreNews();\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\terror: function(xhr:any, status:any, error:any) {\r\n\t\t\t\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\t\t\t\tcheckingApi = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tcheckingApi = true;\r\n\t\t\t\t\t\twindow.removeEventListener('scroll', apiMediaLoadmore);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tapiMediaLoadmore();\r\n\t\t\t\twindow.addEventListener('scroll', apiMediaLoadmore);\r\n\t\r\n\t\t\t\tloadmoreMedia.addEventListener('click', function(e){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tif(checkingApi === false){\r\n\t\t\t\t\t\t// call API\r\n\t\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\t\tid: loadmoreMedia.getAttribute('data-id') ? loadmoreMedia.getAttribute('data-id') : \"\",\r\n\t\t\t\t\t\t\tpage: loadmoreMedia.getAttribute('data-page') ? loadmoreMedia.getAttribute('data-page') : \"\"\r\n\t\t\t\t\t\t}\r\n\t\r\n\t\t\t\t\t\t$.ajax({\r\n\t\t\t\t\t\t\turl: '/api/medialoadmore',\r\n\t\t\t\t\t\t\ttype: 'GET',\r\n\t\t\t\t\t\t\tdataType: 'html',\r\n\t\t\t\t\t\t\tdata: data,\r\n\t\t\t\t\t\t\tsuccess: function(response:any) {\r\n\t\t\t\t\t\t\t\tloadmoreMedia.remove();\r\n\t\t\t\t\t\t\t\t\tconst ul = wrapperMedia.querySelector('ul');\r\n\r\n\t\t\t\t\t\t\t\t\tlet htmlE = document.createElement('div');\r\n\t\t\t\t\t\t\t\t\thtmlE.innerHTML = response;\r\n\r\n\t\t\t\t\t\t\t\t\tfor (const child of htmlE.children) {\r\n\t\t\t\t\t\t\t\t\t\tlet boxesMedia = child.querySelectorAll('.media-item');\r\n\t\t\t\t\t\t\t\t\t\tboxesMedia.forEach(function(boxItem, idx){\r\n\t\t\t\t\t\t\t\t\t\t\tif (idx % 2 === 0){\r\n\t\t\t\t\t\t\t\t\t\t\t\twindow.effectBehavior(boxItem, 'left'); \r\n\t\t\t\t\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\t\t\t\t\twindow.effectBehavior(boxItem, 'right'); \r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tlet moreMedia = child.querySelector('.loadmore');\r\n\t\t\t\t\t\t\t\t\t\tmoreMedia && window.effectBehavior(moreMedia);\r\n\r\n\t\t\t\t\t\t\t\t\t\tul.appendChild(child);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\thandleLoadmoreNews();\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\terror: function(xhr:any, status:any, error:any) {\r\n\t\t\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\t\t\tcheckingApi = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t// loadmore.remove();\r\n\t\r\n\t\t\t\t\t\tcheckingApi = true;\r\n\t\t\t\t\t\twindow.removeEventListener('scroll', apiMediaLoadmore);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thandleLoadmoreNews();\r\n\t}\r\n\r\n\tif (document.getElementById('searchesPage')){\r\n\t\tconst handleLoadmoreSearch = function(){\r\n\t\t\tconst wrapper = document.querySelector('.news-section-wrapper');\r\n\t\t\tconst loadmore = wrapper?.querySelector('.loadmore');\r\n\t\r\n\t\t\tif (loadmore){\r\n\t\t\t\tlet checkingApi = false;\r\n\t\t\t\tfunction apiLoadmore(){\r\n\t\t\t\t\tconst top = loadmore ? loadmore.getBoundingClientRect().top : 0; \r\n\t\t\t\t\tconst rectTop = top + 60;\r\n\t\r\n\t\t\t\t\tif (rectTop <= viewHeight){\r\n\t\t\t\t\t\tif(checkingApi === false){\r\n\t\t\t\t\t\t\t// call API\r\n\t\t\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\t\t\tid: loadmore.getAttribute('data-id') ? loadmore.getAttribute('data-id') : \"\",\r\n\t\t\t\t\t\t\t\tpage: loadmore.getAttribute('data-page') ? loadmore.getAttribute('data-page') : \"\"\r\n\t\t\t\t\t\t\t}\r\n\t\t\r\n\t\t\t\t\t\t\t$.ajax({\r\n\t\t\t\t\t\t\t\turl: '/api/searchloadmore',\r\n\t\t\t\t\t\t\t\ttype: 'GET',\r\n\t\t\t\t\t\t\t\tdataType: 'html',\r\n\t\t\t\t\t\t\t\tdata: data,\r\n\t\t\t\t\t\t\t\tsuccess: function(response:any) {\r\n\t\t\t\t\t\t\t\t\t// loadmore.remove();\r\n\r\n\t\t\t\t\t\t\t\t\t// const ul = wrapper.querySelector('ul');\r\n\t\t\t\t\t\t\t\t\t// ul.innerHTML += response;\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t// handleLoadmoreSearch();\r\n\r\n\t\t\t\t\t\t\t\t\tloadmore.remove();\r\n\t\t\t\t\t\t\t\t\tconst ul = wrapper.querySelector('ul');\r\n\r\n\t\t\t\t\t\t\t\t\tlet htmlE = document.createElement('div');\r\n\t\t\t\t\t\t\t\t\thtmlE.innerHTML = response;\r\n\r\n\t\t\t\t\t\t\t\t\tfor (const child of htmlE.children) {\r\n\t\t\t\t\t\t\t\t\t\tlet boxesNews = child.querySelectorAll('.box-news');\r\n\t\t\t\t\t\t\t\t\t\tboxesNews.forEach(function(boxItem){\r\n\t\t\t\t\t\t\t\t\t\t\tlet thumb = boxItem.querySelector('.thumbnail');\r\n\t\t\t\t\t\t\t\t\t\t\tthumb && window.effectBehavior(thumb, 'left');\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tlet time = boxItem.querySelector('.content time');\r\n\t\t\t\t\t\t\t\t\t\t\ttime && window.effectBehavior(time);\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tlet title = boxItem.querySelector('.content h2');\r\n\t\t\t\t\t\t\t\t\t\t\ttitle && window.effectBehavior(title);\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tlet desc = boxItem.querySelector('.content .content-desc');\r\n\t\t\t\t\t\t\t\t\t\t\tdesc && window.effectBehavior(desc);\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tlet more = child.querySelector('.news-section-wrapper .loadmore');\r\n\t\t\t\t\t\t\t\t\t\tmore && window.effectBehavior(more);\r\n\r\n\t\t\t\t\t\t\t\t\t\tul.appendChild(child);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\thandleLoadmoreSearch();\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\terror: function(xhr:any, status:any, error:any) {\r\n\t\t\t\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\t\t\t\tcheckingApi = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tcheckingApi = true;\r\n\t\t\t\t\t\twindow.removeEventListener('scroll', apiLoadmore);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tapiLoadmore();\r\n\t\t\t\twindow.addEventListener('scroll', apiLoadmore);\r\n\t\r\n\t\t\t\tloadmore.addEventListener('click', function(e){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tif(checkingApi === false){\r\n\t\t\t\t\t\t// call API\r\n\t\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\t\tid: loadmore.getAttribute('data-id') ? loadmore.getAttribute('data-id') : \"\",\r\n\t\t\t\t\t\t\tpage: loadmore.getAttribute('data-page') ? loadmore.getAttribute('data-page') : \"\"\r\n\t\t\t\t\t\t}\r\n\t\r\n\t\t\t\t\t\t$.ajax({\r\n\t\t\t\t\t\t\turl: '/api/searchloadmore',\r\n\t\t\t\t\t\t\ttype: 'GET',\r\n\t\t\t\t\t\t\tdataType: 'html',\r\n\t\t\t\t\t\t\tdata: data,\r\n\t\t\t\t\t\t\tsuccess: function(response:any) {\r\n\t\t\t\t\t\t\t\t// loadmore.remove();\r\n\r\n\t\t\t\t\t\t\t\t// const ul = wrapper.querySelector('ul');\r\n\t\t\t\t\t\t\t\t// ul.innerHTML += response;\r\n\r\n\t\t\t\t\t\t\t\t// handleLoadmoreSearch();\r\n\r\n\t\t\t\t\t\t\t\tloadmore.remove();\r\n\t\t\t\t\t\t\t\tconst ul = wrapper.querySelector('ul');\r\n\r\n\t\t\t\t\t\t\t\tlet htmlE = document.createElement('div');\r\n\t\t\t\t\t\t\t\thtmlE.innerHTML = response;\r\n\r\n\t\t\t\t\t\t\t\tfor (const child of htmlE.children) {\r\n\t\t\t\t\t\t\t\t\tlet boxesNews = child.querySelectorAll('.box-news');\r\n\t\t\t\t\t\t\t\t\tboxesNews.forEach(function(boxItem){\r\n\t\t\t\t\t\t\t\t\t\tlet thumb = boxItem.querySelector('.thumbnail');\r\n\t\t\t\t\t\t\t\t\t\tthumb && window.effectBehavior(thumb, 'left');\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tlet time = boxItem.querySelector('.content time');\r\n\t\t\t\t\t\t\t\t\t\ttime && window.effectBehavior(time);\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tlet title = boxItem.querySelector('.content h2');\r\n\t\t\t\t\t\t\t\t\t\ttitle && window.effectBehavior(title);\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tlet desc = boxItem.querySelector('.content .content-desc');\r\n\t\t\t\t\t\t\t\t\t\tdesc && window.effectBehavior(desc);\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tlet more = child.querySelector('.news-section-wrapper .loadmore');\r\n\t\t\t\t\t\t\t\t\tmore && window.effectBehavior(more);\r\n\r\n\t\t\t\t\t\t\t\t\tul.appendChild(child);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\thandleLoadmoreSearch();\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\terror: function(xhr:any, status:any, error:any) {\r\n\t\t\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\t\t\tcheckingApi = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t// loadmore.remove();\r\n\t\r\n\t\t\t\t\t\tcheckingApi = true;\r\n\t\t\t\t\t\twindow.removeEventListener('scroll', apiLoadmore);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thandleLoadmoreSearch();\r\n\t}\r\n\r\n\tif (document.getElementById('aboutPage')){\r\n\t\t\r\n\t\tconst handleLoadmoreProfile = function(){\r\n\t\t\tconst wrapper = document.querySelector('.ab-section-wrapper .article-ls');\r\n\t\t\tconst loadmore = wrapper?.querySelector('.loadmore');\r\n\t\r\n\t\t\tif (loadmore){\r\n\t\t\t\tlet checkingApi = false;\r\n\t\t\t\t// function apiLoadmore(){\r\n\t\t\t\t// \tconst top = loadmore ? loadmore.getBoundingClientRect().top : 0; \r\n\t\t\t\t// \tconst rectTop = top + 60;\r\n\t\r\n\t\t\t\t// \tif (rectTop <= viewHeight){\r\n\t\t\t\t// \t\tif(checkingApi === false){\r\n\t\t\t\t// \t\t\t// call API\r\n\t\t\t\t// \t\t\tconst data = {\r\n\t\t\t\t// \t\t\t\tid: loadmore.getAttribute('data-id') ? loadmore.getAttribute('data-id') : \"\",\r\n\t\t\t\t// \t\t\t\tpage: loadmore.getAttribute('data-page') ? loadmore.getAttribute('data-page') : \"\"\r\n\t\t\t\t// \t\t\t}\r\n\t\t\r\n\t\t\t\t// \t\t\t$.ajax({\r\n\t\t\t\t// \t\t\t\turl: '/api/profileloadmore',\r\n\t\t\t\t// \t\t\t\ttype: 'GET',\r\n\t\t\t\t// \t\t\t\tdataType: 'html',\r\n\t\t\t\t// \t\t\t\tdata: data,\r\n\t\t\t\t// \t\t\t\tsuccess: function(response:any) {\r\n\t\t\t\t// \t\t\t\t\tloadmore.remove();\r\n\r\n\t\t\t\t// \t\t\t\t\tconst ul = wrapper.querySelector('ul');\r\n\t\t\t\t// \t\t\t\t\tul.innerHTML += response;\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t// \t\t\t\t\thandleLoadmoreProfile();\r\n\t\t\t\t// \t\t\t\t},\r\n\t\t\t\t// \t\t\t\terror: function(xhr:any, status:any, error:any) {\r\n\t\t\t\t// \t\t\t\t\tconsole.log(error);\r\n\t\t\t\t// \t\t\t\t\tcheckingApi = false;\r\n\t\t\t\t// \t\t\t\t}\r\n\t\t\t\t// \t\t\t});\r\n\t\t\t\t// \t\t}\r\n\r\n\t\t\t\t// \t\tcheckingApi = true;\r\n\t\t\t\t// \t\twindow.removeEventListener('scroll', apiLoadmore);\r\n\t\t\t\t// \t}\r\n\t\t\t\t// }\r\n\t\t\t\t// apiLoadmore();\r\n\t\t\t\t// window.addEventListener('scroll', apiLoadmore);\r\n\t\r\n\t\t\t\tloadmore.addEventListener('click', function(e){\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tif(checkingApi === false){\r\n\t\t\t\t\t\t// call API\r\n\t\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\t\tid: loadmore.getAttribute('data-id') ? loadmore.getAttribute('data-id') : \"\",\r\n\t\t\t\t\t\t\tpage: loadmore.getAttribute('data-page') ? loadmore.getAttribute('data-page') : \"\"\r\n\t\t\t\t\t\t}\r\n\t\r\n\t\t\t\t\t\t$.ajax({\r\n\t\t\t\t\t\t\turl: '/api/profileloadmore',\r\n\t\t\t\t\t\t\ttype: 'GET',\r\n\t\t\t\t\t\t\tdataType: 'html',\r\n\t\t\t\t\t\t\tdata: data,\r\n\t\t\t\t\t\t\tsuccess: function(response:any) {\r\n\t\t\t\t\t\t\t\tloadmore.remove();\r\n\r\n\t\t\t\t\t\t\t\t// const ul = wrapper.querySelector('ul');\r\n\t\t\t\t\t\t\t\twrapper.innerHTML += response;\r\n\r\n\t\t\t\t\t\t\t\thandleLoadmoreProfile();\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\terror: function(xhr:any, status:any, error:any) {\r\n\t\t\t\t\t\t\t\tconsole.log(error);\r\n\t\t\t\t\t\t\t\tcheckingApi = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t// loadmore.remove();\r\n\t\r\n\t\t\t\t\t\tcheckingApi = true;\r\n\t\t\t\t\t\t// window.removeEventListener('scroll', apiLoadmore);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thandleLoadmoreProfile();\r\n\t}\r\n};\r\n\r\nexport default {\r\n\tfetchData: fetchData,\r\n}","declare const gsap: any;\r\ndeclare const ScrollTrigger: any;\r\ndeclare const $:any;\r\ndeclare const window: any;\r\n\r\nexport const gsapScroll = function () {\r\n gsap.registerPlugin(ScrollTrigger);\r\n if (document.getElementById('worksPage')){\r\n // var boxesProject = document.querySelectorAll('.works-section .project-box');\r\n // boxesProject.forEach(function(item){\r\n // let cateItem = item.querySelector('.project-box__cate');\r\n // cateItem && window.effectBehavior(cateItem);\r\n \r\n // let name = item.querySelector('.project-box__name');\r\n // name && window.effectBehavior(name);\r\n \r\n // let desc = item.querySelector('.project-box__desc');\r\n // desc && window.effectBehavior(desc);\r\n \r\n // let thumb = item.querySelector('.project-box-thumb');\r\n // thumb && window.effectBehavior(thumb);\r\n // })\r\n // let more = document.querySelector('.works-section .loadmore');\r\n // more && window.effectBehavior(more);\r\n var boxesProject = document.querySelectorAll('.works-section .project-box');\r\n boxesProject.forEach(function(itemBox:HTMLElement){\r\n if(itemBox.getBoundingClientRect().y <= window.innerHeight - 10){\r\n itemBox.style.opacity = \"1\";\r\n itemBox.style.transform = \"translateY(0)\";\r\n }\r\n })\r\n setInterval(function(){\r\n var boxesProject = document.querySelectorAll('.works-section .project-box');\r\n boxesProject.forEach(function(itemBox:HTMLElement){\r\n if(itemBox.getBoundingClientRect().y <= window.innerHeight - 10){\r\n itemBox.style.opacity = \"1\";\r\n itemBox.style.transform = \"translateY(0)\";\r\n }\r\n })\r\n }, 300)\r\n\r\n\r\n // detail\r\n let sliderDetail= document.querySelector('.works-section .works-section--slider');\r\n sliderDetail && window.effectBehavior(sliderDetail);\r\n \r\n let titleDetail = document.querySelector('.works-section--detail h1');\r\n titleDetail && window.effectBehavior(titleDetail);\r\n\r\n let trInfors = document.querySelectorAll('.works-section--detail .infor-ls tr');\r\n trInfors.forEach(function(trItem){\r\n trItem && window.effectBehavior(trItem);\r\n })\r\n }\r\n\r\n if (document.querySelector('.related')){\r\n // related\r\n let titleRelated = document.querySelector('.related h2');\r\n titleRelated && window.effectBehavior(titleRelated);\r\n\r\n let moreRelated = document.querySelector('.related .related-more');\r\n moreRelated && window.effectBehavior(moreRelated);\r\n\r\n let relatedBoxes = document.querySelectorAll('.related .related-box');\r\n relatedBoxes.forEach(function(boxItem){\r\n boxItem && window.effectBehavior(boxItem);\r\n })\r\n }\r\n\r\n if (document.getElementById('newsPage')){\r\n let boxesNews = document.querySelectorAll('.news-section-wrapper .box-news');\r\n boxesNews.forEach(function(boxItem){\r\n let thumb = boxItem.querySelector('.thumbnail');\r\n thumb && window.effectBehavior(thumb, 'left');\r\n\r\n let time = boxItem.querySelector('.content time');\r\n time && window.effectBehavior(time);\r\n\r\n let title = boxItem.querySelector('.content h2');\r\n title && window.effectBehavior(title);\r\n\r\n let desc = boxItem.querySelector('.content .content-desc');\r\n desc && window.effectBehavior(desc);\r\n })\r\n\r\n let more = document.querySelector('.news-section-wrapper .loadmore');\r\n more && window.effectBehavior(more);\r\n\r\n let boxesMedia = document.querySelectorAll('.news-section-media .media-item');\r\n boxesMedia.forEach(function(boxItem, idx){\r\n if (idx % 2 === 0){\r\n window.effectBehavior(boxItem, 'left'); \r\n }else{\r\n window.effectBehavior(boxItem, 'right'); \r\n }\r\n })\r\n\r\n let moreMedia = document.querySelector('.news-section-media .loadmore');\r\n moreMedia && window.effectBehavior(moreMedia);\r\n }\r\n}\r\n\r\n// $(document).ready(function (e) {\r\n// $('#changeType').trigger('click');\r\n// })\r\n// function GetProducts() {\r\n// $.ajax({\r\n// type: 'GET',\r\n// url: `/get-product?type=${$('#changeType').attr('data-type')}`,\r\n// dataType: 'html',\r\n// success: function (res) {\r\n// $('#listProducts').html(res);\r\n// }\r\n// })\r\n// }\r\n\r\n// function LoadMoreDataProduct() {\r\n// $.ajax({\r\n// type: 'GET',\r\n// url: `/get-load-more-product?type=${$('#changeType').attr('data-type')}`,\r\n// dataType: 'html',\r\n// success: function (res) {\r\n// $('#listProducts').html(res);\r\n// }\r\n// })\r\n// }","declare const window: any;\r\n\r\nexport const initPage = function () {\r\n\tlet pagination: any;\r\n\r\n\tpagination = function (opts: any) {\r\n\t\tthis.options = Object.assign(pagination.defaults, opts);\r\n\t\tthis.init(this.options);\r\n\t};\r\n\r\n\tpagination.prototype.init = function (opts: any) {\r\n\t\tthis.options = opts ? Object.assign(this.options, opts) : this.options;\r\n\t\tvar plugin = this;\r\n\t\tlet options = plugin.options;\r\n\t\tlet paramItem = options.param;\r\n\r\n\t\t// queryPagination: string, queryBox: string\r\n\t\tvar pages = document.querySelector(`${options.selector}`);\r\n\t\tvar totalBox = document.querySelectorAll(options.items);\r\n\r\n\t\tvar totalPage = Math.ceil(totalBox.length / options.page);\r\n\t\tif (!pages || !totalBox || totalPage == 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar scrollTop = options.scroll;\r\n\r\n\t\tif (scrollTop) {\r\n\t\t\tplugin.paginationCreate(\r\n\t\t\t\tpages,\r\n\t\t\t\ttotalBox,\r\n\t\t\t\t1,\r\n\t\t\t\ttotalPage,\r\n\t\t\t\toptions.page,\r\n\t\t\t\tscrollTop,\r\n\t\t\t\tparamItem,\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tplugin.paginationCreate(\r\n\t\t\t\tpages,\r\n\t\t\t\ttotalBox,\r\n\t\t\t\t1,\r\n\t\t\t\ttotalPage,\r\n\t\t\t\toptions.page,\r\n\t\t\t\tparamItem,\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tplugin.activeBox(totalBox, options.page, 1);\r\n\r\n\t\t// let params = window.getParameters();\r\n\t\t// let page = parseInt(params[paramItem]);\r\n\t\tlet page = 1;\r\n\t\tif (!page || page < 1) {\r\n\t\t\tpage = 1;\r\n\t\t}\r\n\t\tplugin.activeItem(\r\n\t\t\tpage,\r\n\t\t\tpages,\r\n\t\t\ttotalBox,\r\n\t\t\ttotalPage,\r\n\t\t\toptions.page,\r\n\t\t\tscrollTop,\r\n\t\t\tparamItem,\r\n\t\t);\r\n\r\n\t\t// window.addEventListener(\"popstate\", function (event: any) {\r\n\t\t// \tlet params = window.getParameters();\r\n\t\t// \tlet page = parseInt(params[paramItem]);\r\n\r\n\t\t// \tif (!page || page < 1) {\r\n\t\t// \t\tpage = 1;\r\n\t\t// \t}\r\n\r\n\t\t// \tplugin.activeItem(\r\n\t\t// \t\tpage,\r\n\t\t// \t\tpages,\r\n\t\t// \t\ttotalBox,\r\n\t\t// \t\ttotalPage,\r\n\t\t// \t\toptions.page,\r\n\t\t// \t\tscrollTop,\r\n\t\t// \t\tparamItem,\r\n\t\t// \t);\r\n\t\t// });\r\n\t};\r\n\r\n\tpagination.prototype.paginationCreate = function (\r\n\t\tobjClass: any,\r\n\t\ttotalBox: any,\r\n\t\tliActive: number,\r\n\t\ttotalPage: number,\r\n\t\titemPages: number,\r\n\t\tscrollTop: any = null,\r\n\t\tparamItem: any = null,\r\n\t) {\r\n\t\t// Math.ceil(totalBox.length / 5)\r\n\t\tvar plugin = this;\r\n\t\tobjClass.innerHTML = this.createPagination(totalPage, liActive);\r\n\r\n\t\tvar strIcon = `\r\n\t\t\r\n\t\t`;\r\n\r\n\t\tif (totalPage == 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// thay đổi kí tự next và prev\r\n\t\tplugin.changeIcon(objClass, \"next\", strIcon);\r\n\t\tplugin.changeIcon(objClass, \"prev\", strIcon);\r\n\r\n\t\t// click button\r\n\t\tif (scrollTop) {\r\n\t\t\tplugin.clickButton(\r\n\t\t\t\tobjClass,\r\n\t\t\t\ttotalBox,\r\n\t\t\t\ttotalPage,\r\n\t\t\t\titemPages,\r\n\t\t\t\tscrollTop,\r\n\t\t\t\tparamItem,\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tplugin.clickButton(\r\n\t\t\t\tobjClass,\r\n\t\t\t\ttotalBox,\r\n\t\t\t\ttotalPage,\r\n\t\t\t\titemPages,\r\n\t\t\t\tparamItem,\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n\r\n\tpagination.prototype.createPagination = function (\r\n\t\ttotalPages: any,\r\n\t\tpage: any,\r\n\t) {\r\n\t\tlet strStart = `
  • prev
  • `;\r\n\t\tlet strList = \"\";\r\n\r\n\t\t// khi tổng số page nhỏ hơn 5\r\n\t\tif (totalPages == 1) {\r\n\t\t\treturn \"\";\r\n\t\t} else if (totalPages < 5) {\r\n\t\t\tfor (var i = 1; i <= totalPages; i++) {\r\n\t\t\t\tlet strI = i < 10 ? `0${i}` : `${i}`;\r\n\t\t\t\tif (i == page) {\r\n\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (\r\n\t\t\t(page <= 3 || page >= totalPages - 2) &&\r\n\t\t\tpage > 0 &&\r\n\t\t\tpage <= totalPages\r\n\t\t) {\r\n\t\t\t// trường hợp active tạo thành 1 2 3 4 ... 20\r\n\t\t\tif (page <= 3) {\r\n\t\t\t\tif (page == 3 && totalPages == 5) {\r\n\t\t\t\t\tfor (var i = 1; i <= totalPages; i++) {\r\n\t\t\t\t\t\tlet strI = i < 10 ? `0${i}` : `${i}`;\r\n\t\t\t\t\t\tif (i == page) {\r\n\t\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar visiblePage = page + 1;\r\n\t\t\t\t\tif (page == 1) {\r\n\t\t\t\t\t\tvisiblePage = 3;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfor (var i = 1; i <= visiblePage; i++) {\r\n\t\t\t\t\t\tlet strI = i < 10 ? `0${i}` : `${i}`;\r\n\r\n\t\t\t\t\t\tif (i == page) {\r\n\t\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlet strTotal = totalPages < 10 ? `0${totalPages}` : `${totalPages}`;\r\n\t\t\t\t\tstrList += `
  • ...
  • `;\r\n\t\t\t\t\tstrList += `
  • ${strTotal}
  • `;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// trường hợp active tạo thành 1 ... 18 19 20\r\n\t\t\telse {\r\n\t\t\t\tstrList += `
  • 01
  • `;\r\n\t\t\t\tstrList += `
  • ...
  • `;\r\n\r\n\t\t\t\tvar visiblePage2 = page - 1;\r\n\t\t\t\tif (page == totalPages) {\r\n\t\t\t\t\tvisiblePage2 = totalPages - 2;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (var i = visiblePage2; i <= totalPages; i++) {\r\n\t\t\t\t\tlet strI = i < 10 ? `0${i}` : `${i}`;\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (i == page) {\r\n\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// trường hợp active tạo thành 1 ... 7 8 9 ... 20\r\n\t\telse if (page > 3 && page < totalPages - 2) {\r\n\t\t\tstrList += `
  • 01
  • `;\r\n\t\t\tstrList += `
  • ...
  • `;\r\n\t\t\tfor (var i = page - 1; i <= page + 1; i++) {\r\n\t\t\t\tlet strI = i < 10 ? `0${i}` : `${i}`;\r\n\r\n\t\t\t\tif (i == page) {\r\n\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tstrList += `
  • ${strI}
  • `;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlet strTotal = totalPages < 10 ? `0${totalPages}` : `${totalPages}`;\r\n\t\t\tstrList += `
  • ...
  • `;\r\n\t\t\tstrList += `
  • ${strTotal}
  • `;\r\n\t\t} else {\r\n\t\t\tconsole.log(\"error pagination!!!\");\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\r\n\t\tlet strEnd = `
  • next
  • `;\r\n\r\n\t\treturn `
      ${strStart.concat(strList, strEnd)}
    `;\r\n\t};\r\n\r\n\tpagination.prototype.activeBox = function (\r\n\t\ttotalBox: any,\r\n\t\titemPages: number,\r\n\t\tliActive: any,\r\n\t) {\r\n\t\tlet _this = this;\r\n\t\ttotalBox.forEach(function (item: HTMLElement) {\r\n\t\t\titem.style.display = \"\";\r\n\t\t});\r\n\r\n\t\ttotalBox.forEach(function (item: HTMLElement, index: number, pageActive:number = liActive,lens: number = totalBox.length) {\r\n\t\t\tvar itemPage = Math.ceil((index + 1) / itemPages);\r\n\r\n\t\t\tif (itemPage !== liActive) {\r\n\t\t\t\titem.style.display = \"none\";\r\n\t\t\t}else{\r\n\t\t\t\t// item.style.setProperty('dt-i', `${numberActive + 1}`);\r\n\t\t\t\t_this.options.callback(item, index, liActive, lens);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tpagination.prototype.clickButton = function (\r\n\t\tobjClass: any,\r\n\t\ttotalBox: any,\r\n\t\ttotalPage: number,\r\n\t\titemPages: number,\r\n\t\tscrollTop: any = null,\r\n\t\tparamItem: any,\r\n\t) {\r\n\t\tthis.itemActive = 0;\r\n\t\tvar plugin = this;\r\n\t\tlet liBtns = objClass.getElementsByTagName(\"li\");\r\n\r\n\t\t// let itemActive = 0;\r\n\r\n\t\t// lấy giá trị được active\r\n\t\tfor (let i = 0; i < liBtns.length; i++) {\r\n\t\t\tlet item = liBtns[i];\r\n\t\t\tif (item.classList.contains(\"active\")) {\r\n\t\t\t\tplugin.itemActive = parseInt(\r\n\t\t\t\t\titem.getAttribute(\"data-number\") || \"0\",\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Không cho click vào button Next or Prev nếu active gần nó\r\n\t\tplugin.hiddenNextPrev(\r\n\t\t\tobjClass,\r\n\t\t\tplugin.itemActive,\r\n\t\t\ttotalPage,\r\n\t\t);\r\n\r\n\t\tfor (let i = 0; i < liBtns.length; i++) {\r\n\t\t\tlet item = liBtns[i];\r\n\r\n\t\t\titem.onclick = function () {\r\n\t\t\t\t// let classItem = this.getAttribute('class');\r\n\t\t\t\tlet dataItem = parseInt(this.getAttribute(\"data-number\"));\r\n\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.classList.contains(\"btn-hidden\") ||\r\n\t\t\t\t\tdataItem == plugin.itemActive\r\n\t\t\t\t) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (\r\n\t\t\t\t\tthis.classList.contains(\"next\") &&\r\n\t\t\t\t\tplugin.itemActive < totalPage\r\n\t\t\t\t) {\r\n\t\t\t\t\tplugin.itemActive = plugin.itemActive + 1;\r\n\t\t\t\t} else if (\r\n\t\t\t\t\tthis.classList.contains(\"prev\") &&\r\n\t\t\t\t\tplugin.itemActive > 1\r\n\t\t\t\t) {\r\n\t\t\t\t\tplugin.itemActive = plugin.itemActive - 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (!dataItem) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tplugin.itemActive = dataItem;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tplugin.hiddenNextPrev(objClass, plugin.itemActive, totalPage);\r\n\t\t\t\tplugin.paginationCreate(\r\n\t\t\t\t\tobjClass,\r\n\t\t\t\t\ttotalBox,\r\n\t\t\t\t\tplugin.itemActive,\r\n\t\t\t\t\ttotalPage,\r\n\t\t\t\t\titemPages,\r\n\t\t\t\t\tscrollTop,\r\n\t\t\t\t\tparamItem,\r\n\t\t\t\t);\r\n\t\t\t\tplugin.activeBox(\r\n\t\t\t\t\ttotalBox,\r\n\t\t\t\t\titemPages,\r\n\t\t\t\t\tplugin.itemActive\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (scrollTop) {\r\n\t\t\t\t\tplugin.scrollToTop(\r\n\t\t\t\t\t\tscrollTop.id,\r\n\t\t\t\t\t\tscrollTop.header,\r\n\t\t\t\t\t\tparamItem,\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// window.setPushState(paramItem, plugin.itemActive);\r\n\r\n\t\t\t\t// let params = window.getParameters();\r\n\t\t\t\t// params[paramItem] = plugin.itemActive;\r\n\t\t\t\t// let queryStr = window.getQueryString(params);\r\n\t\t\t\t// window.history.pushState(\"\", \"\", \"?\" + queryStr);\r\n\t\t\t};\r\n\t\t}\r\n\t};\r\n\r\n\tpagination.prototype.activeItem = function (\r\n\t\tiNumber: any,\r\n\t\tobjClass: any,\r\n\t\ttotalBox: any,\r\n\t\ttotalPage: number,\r\n\t\titemPages: number,\r\n\t\tscrollTop: any = null,\r\n\t\tparamItem: any,\r\n\t) {\r\n\t\tvar plugin = this;\r\n\t\tvar itemActive = plugin.itemActive;\r\n\r\n\t\tlet liBtns = objClass.getElementsByTagName(\"li\");\r\n\t\tif (liBtns.length <= 0) {\r\n\t\t\tconsole.log(\"error click!!!!\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tlet item = liBtns[0];\r\n\r\n\t\tfor (let i = 0; i < liBtns.length; i++) {\r\n\t\t\tlet num = parseInt(liBtns[i].getAttribute(\"data-number\"));\r\n\t\t\tif (num && num == iNumber) {\r\n\t\t\t\titem = liBtns[i];\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// let classItem = this.getAttribute('class');\r\n\t\tlet dataItem = parseInt(item.getAttribute(\"data-number\"));\r\n\r\n\t\tif (item.classList.contains(\"btn-hidden\") || dataItem == itemActive) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (item.classList.contains(\"next\") && itemActive < totalPage) {\r\n\t\t\titemActive = itemActive + 1;\r\n\t\t} else if (item.classList.contains(\"prev\") && itemActive > 1) {\r\n\t\t\titemActive = itemActive - 1;\r\n\t\t} else {\r\n\t\t\tif (!dataItem) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\titemActive = dataItem;\r\n\t\t}\r\n\r\n\t\t// this.hiddenNextPrev(objClass, itemActive, totalPage);\r\n\t\tplugin.paginationCreate(\r\n\t\t\tobjClass,\r\n\t\t\ttotalBox,\r\n\t\t\titemActive,\r\n\t\t\ttotalPage,\r\n\t\t\titemPages,\r\n\t\t\tscrollTop,\r\n\t\t\tparamItem,\r\n\t\t);\r\n\t\tplugin.activeBox(totalBox, itemPages, itemActive);\r\n\r\n\t\tif (scrollTop) {\r\n\t\t\tplugin.scrollToTop(scrollTop.id, scrollTop.header, paramItem);\r\n\t\t}\r\n\t};\r\n\r\n\tpagination.prototype.scrollToTop = function (\r\n\t\tstrId: string,\r\n\t\tqueryHeader: string = \"\",\r\n\t\tparamItem: any,\r\n\t) {\r\n\t\tvar plugin = this;\r\n\r\n\t\tif (document.getElementById(strId)) {\r\n\t\t\tvar topFeatured = 0;\r\n\t\t\tvar featuredItem = document.getElementById(strId);\r\n\t\t\tif (featuredItem) {\r\n\t\t\t\tvar parentFeatured = featuredItem.offsetParent;\r\n\t\t\t\tvar count = 0;\r\n\t\t\t\twhile (parentFeatured.nodeName !== \"BODY\" && count < 100) {\r\n\t\t\t\t\ttopFeatured += parentFeatured.offsetTop;\r\n\t\t\t\t\tparentFeatured = parentFeatured.offsetParent;\r\n\t\t\t\t\tcount++;\r\n\t\t\t\t}\r\n\t\t\t\ttopFeatured += featuredItem.offsetTop;\r\n\t\t\t}\r\n\r\n\t\t\t// // Trừ đi thanh Header\r\n\t\t\t// var hHeader = document.querySelector(queryHeader);\r\n\t\t\t// if (hHeader){\r\n\t\t\t// var scroll = hHeader.getElementsByClassName('scroll');\r\n\t\t\t// if (scroll[0].classList.contains('active')){\r\n\t\t\t// topFeatured -= scroll[0].clientHeight;\r\n\t\t\t// }\r\n\t\t\t// else if (hHeader){\r\n\t\t\t// topFeatured -= hHeader.clientHeight;\r\n\t\t\t// }\r\n\t\t\t// }\r\n\r\n\t\t\twindow.scrollTo({\r\n\t\t\t\ttop: topFeatured,\r\n\t\t\t\tleft: 0,\r\n\t\t\t\tbehavior: \"smooth\",\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tpagination.prototype.changeIcon = function (\r\n\t\tobjClass: any,\r\n\t\tstrClass: string,\r\n\t\tstrIcon: string\r\n\t) {\r\n\t\tvar classStrChange = objClass.getElementsByClassName(strClass);\r\n\t\tvar innerStrClass = classStrChange[0];\r\n\r\n\t\tinnerStrClass.innerHTML = strIcon;\r\n\t};\r\n\r\n\tpagination.prototype.hiddenNextPrev = function (\r\n\t\tobjClass: any,\r\n\t\titemActive: number,\r\n\t\ttotalPage: number\r\n\t) {\r\n\t\tlet liBtns = objClass.getElementsByTagName(\"li\");\r\n\r\n\t\tlet itemNext;\r\n\t\tlet itemPrev;\r\n\r\n\t\t// lấy giá trị được active\r\n\t\tfor (let i = 0; i < liBtns.length; i++) {\r\n\t\t\tlet item = liBtns[i];\r\n\t\t\tif (item.classList.contains(\"next\")) {\r\n\t\t\t\titemNext = item;\r\n\t\t\t} else if (item.classList.contains(\"prev\")) {\r\n\t\t\t\titemPrev = item;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Không cho click vào button Next or Prev nếu active gần nó\r\n\t\tif (totalPage === 1) {\r\n\t\t\titemPrev.classList.add(\"btn-hidden\");\r\n\t\t\titemNext.classList.add(\"btn-hidden\");\r\n\t\t} else if (itemActive === 1) {\r\n\t\t\titemPrev.classList.add(\"btn-hidden\");\r\n\t\t\titemNext.classList.remove(\"btn-hidden\");\r\n\t\t} else if (itemActive === totalPage) {\r\n\t\t\titemPrev.classList.remove(\"btn-hidden\");\r\n\t\t\titemNext.classList.add(\"btn-hidden\");\r\n\t\t} else {\r\n\t\t\titemPrev.classList.remove(\"btn-hidden\");\r\n\t\t\titemNext.classList.remove(\"btn-hidden\");\r\n\t\t}\r\n\t};\r\n\r\n\tpagination.defaults = {\r\n\t\tid: \"\", //\r\n\t\tparam: \"\",\r\n\t\tselector: \"\", // Class pagination\r\n\t\titems: \"\",\r\n\t\tpage: 0,\r\n\t\tscroll: {\r\n\t\t\tid: \"\",\r\n\t\t},\r\n\t\tcallback: function(){\r\n\t\t\treturn \"\";\r\n\t\t}\r\n\t};\r\n\r\n\twindow.pagination = pagination;\r\n};\r\n","declare const Fancybox:any;\r\ndeclare const PANOLENS:any;\r\n\r\nconst body = document.body;\r\n\r\nfunction init(){ \r\n let ls = document.querySelectorAll('a[data-fancybox]');\r\n let arrayFancy:any[] = [];\r\n ls.forEach(function(item){\r\n if (!arrayFancy.includes(item.getAttribute('data-fancybox'))){\r\n arrayFancy.push(item.getAttribute('data-fancybox'));\r\n }\r\n })\r\n\r\n arrayFancy.forEach(function(item){\r\n Fancybox.bind(`[data-fancybox=\"${item}\"]`, {\r\n Thumbs: {\r\n Carousel: {\r\n fill: false,\r\n center: true,\r\n },\r\n },\r\n \r\n Image: {\r\n zoom: true,\r\n },\r\n\r\n youtube: {\r\n controls: 1,\r\n showinfo: 0\r\n },\r\n\r\n loop: true, // Lặp lại ảnh 360 độ\r\n protect: true // Chống sao chép\r\n });\r\n })\r\n}\r\n\r\nexport const popupLib = function(){\r\n init();\r\n popup360deg();\r\n}\r\n\r\n\r\n\r\nfunction popup360deg(){\r\n let ls = document.querySelectorAll('a[data-popup360]');\r\n ls.forEach(function(item){\r\n if (item){\r\n let timeoutClick:any;\r\n item.addEventListener('click', function(e){\r\n e.preventDefault();\r\n clearTimeout(timeoutClick);\r\n\r\n // remove popup\r\n let idPopup = body.querySelector('#popup360');\r\n if (idPopup){\r\n idPopup.remove();\r\n body.classList.remove('hideScroll');\r\n }\r\n\r\n // init popup360\r\n timeoutClick = setTimeout(function(){\r\n //init element\r\n const container = document.createElement('div');\r\n container.id = \"popup360\";\r\n const wrapper = document.createElement('div');\r\n wrapper.classList.add('wrapper');\r\n const closeContainer = document.createElement('button');\r\n closeContainer.classList.add('wrapper--close');\r\n const dtPopup = document.createElement('div');\r\n dtPopup.id= 'popup-data';\r\n\r\n function handleClose(){\r\n closeContainer.removeEventListener('click', handleClose);\r\n container.removeEventListener('click', containerHandle);\r\n document.removeEventListener('keyup', escHandle);\r\n\r\n body.classList.remove('hideScroll');\r\n container.remove();\r\n }\r\n closeContainer.addEventListener('click', handleClose);\r\n\r\n wrapper.appendChild(closeContainer);\r\n wrapper.appendChild(dtPopup);\r\n container.appendChild(wrapper);\r\n\r\n body.appendChild(container);\r\n\r\n\r\n let href = item.getAttribute('href');\r\n const panorama = new PANOLENS.ImagePanorama(href);\r\n\r\n const viewer = new PANOLENS.Viewer({\r\n container: dtPopup\r\n });\r\n\r\n viewer.add(panorama);\r\n\r\n const containerHandle = function(e:any){\r\n let target = e.target;\r\n if (target.getAttribute('id') === \"popup360\"){\r\n\r\n // close\r\n handleClose();\r\n }\r\n }\r\n\r\n container.addEventListener('click', containerHandle);\r\n\r\n function escHandle(event:any){\r\n if (event.key === \"Escape\") {\r\n \r\n // close\r\n handleClose();\r\n }\r\n }\r\n\r\n document.addEventListener('keyup', escHandle);\r\n\r\n body.classList.add('hideScroll');\r\n }, 100)\r\n })\r\n }\r\n })\r\n\r\n // const panorama = new PANOLENS.ImagePanorama('https://i.imgur.com/wTCPouq.jpg');\r\n \r\n // // var infospot, infospot2;\r\n // // infospot = new PANOLENS.Infospot();\r\n // // infospot.position.set( 1000, 100, -2000 );\r\n // // infospot.addHoverText( '千葉県' );\r\n\r\n // // infospot2 = new PANOLENS.Infospot();\r\n // // infospot2.position.set( 1000, 100, 2000 );\r\n // // infospot2.addHoverText( '神奈川県' );\r\n\r\n // // panorama.add(infospot , infospot2);\r\n\r\n // const viewer = new PANOLENS.Viewer({\r\n // container: document.getElementById('popup-custom')\r\n // });\r\n // viewer.add(panorama);\r\n}","// https://fancyapps.com/docs/ui/fancybox\r\n// https://www.npmjs.com/package/axios\r\n// https://greensock.com/\r\n// https://swiperjs.com/get-started\r\ndeclare const window:any;\r\ndeclare const ScrollTrigger: any;\r\ndeclare const Swiper : any;\r\ndeclare const $ : any;\r\ndeclare const AOS : any;\r\ndeclare const gsap : any;\r\ngsap.registerPlugin(ScrollTrigger);\r\n// const load = document.createElement('div');\r\n// load.classList.add('loading');\r\n// load.id = \"loading\"\r\n// load.innerHTML = `\r\n\r\n// `;\r\n// document.body.style.overflow = \"hidden\";\r\n// document.body.append(load);\r\n\r\n// import {loading} from \"./libraries/loading\";\r\n\r\n// if(CSS.supports('gap: 1rem')){\r\n// console.log('supports gap css');\r\n// }else{\r\n// alert('Not supports gap');\r\n// }\r\n\r\n// if ('aspectRatio' in document.body.style) {\r\n// // hỗ trợ\r\n// console.log('supports aspectRatio css');\r\n// } else {\r\n// // không hỗ trợ\r\n// alert('Not supports aspectRatio');\r\n// }\r\n\r\nconst body = document.body;\r\nclass Loading{\r\n isLoading:boolean;\r\n target: HTMLElement;\r\n checkPage:boolean;\r\n\r\n constructor(arrayIndexString:any = []){\r\n this.isLoading = false;\r\n\r\n let lenArr = arrayIndexString.length ? arrayIndexString.length : 0;\r\n if (lenArr > 0){\r\n for(let i = 0; i < lenArr; ++i){\r\n if(document.getElementById(arrayIndexString[i])){\r\n this.checkPage = true;\r\n }\r\n }\r\n if(!this.checkPage){\r\n this.checkPage = false;\r\n }\r\n }\r\n else{\r\n this.checkPage = true;\r\n }\r\n\r\n if (this.checkPage){\r\n this.target = document.getElementById('loading');\r\n\r\n if (!this.target){\r\n this.target = document.createElement('div');\r\n this.target.id = \"loading\";\r\n }\r\n else{\r\n this.target.innerHTML = ``;\r\n }\r\n \r\n let target = this.target;\r\n this.target.classList.add('loading');\r\n\r\n target.innerHTML = `\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n `;\r\n \r\n body.appendChild(target);\r\n }\r\n }\r\n\r\n init(){\r\n if(!this.checkPage){\r\n return false;\r\n }\r\n\r\n const _this = this;\r\n const promise = new Promise(function(res, rej){ \r\n try{\r\n setTimeout(function(){\r\n document.body.classList.add('hideScroll');\r\n res('is-loaded');\r\n }, 200)\r\n }\r\n catch{\r\n rej(\"Error Loading Step 1\");\r\n }\r\n })\r\n promise.then(function(val){\r\n _this.target.classList.add(val + \"\");\r\n \r\n return new Promise(function(res, rej){\r\n try{\r\n setTimeout(function(){\r\n return res(\"is-loaded-step2\");\r\n }, 1500)\r\n }\r\n catch{\r\n rej(\"Error Loading Step 2\");\r\n } \r\n })\r\n })\r\n .then(function(val){\r\n _this.target.classList.remove('is-loaded');\r\n _this.target.classList.add(val + \"\");\r\n\r\n setTimeout(function(){\r\n _this.isLoading = true;\r\n return true;\r\n }, 1500)\r\n })\r\n .catch(function(err){\r\n console.error(err);\r\n return false;\r\n })\r\n }\r\n\r\n remove(){\r\n if(!this.checkPage){\r\n return false;\r\n }\r\n\r\n var _this = this;\r\n const intervalId = setInterval(function(){\r\n if (_this.isLoading){{\r\n document.body.classList.remove('hideScroll');\r\n _this.target.classList.add('is-removed');\r\n\r\n clearInterval(intervalId);\r\n setTimeout(function(){\r\n _this.target.remove();\r\n return true;\r\n }, 1200)\r\n }}\r\n }, 200)\r\n }\r\n}\r\nconst loading = new Loading(['indexPage']);\r\nloading.init();\r\n\r\n\r\n\r\n// declare const ScrollTrigger: any;\r\n// gsap.registerPlugin(ScrollTrigger);\r\n\r\n// Fancybox.defaults.ScrollLock = false;\r\n\r\n// AOS.init({\r\n// once: true\r\n// });\r\n\r\n// import axios from \"axios\";\r\n\r\n//////////////////////////////////////////////////////////\r\nimport {_base} from \"./libraries/_base\";\r\nimport {_imgClass} from \"./libraries/_imgClass\";\r\nimport {initPage} from \"./libraries/pagination\";\r\n\r\nimport {popupLib} from \"./libraries/popupHandle\";\r\nimport { exploreScroll } from \"./libraries/_explore-scroll\";\r\nimport api from \"./libraries/fetchData\";\r\n\r\n// import {GoogleMapApiController} from \"./libraries/GoogleMapApiController\";\r\nimport {gsapInitScroll} from './libraries/gsapInitScroll';\r\n// import {_dateTime} from './libraries/_dateTimePicker';\r\n// import {initForm} from \"./libraries/_initForm\";\r\n\r\n_base();\r\ninitPage();\r\n// gsapInitScroll();\r\n\r\nfunction copyMaker(){\r\n let copyElements = document.querySelectorAll('.copyMaker');\r\n copyElements.forEach(function(copyElement){\r\n if (!copyElement.classList.contains('i-cm-completed')){\r\n window.copyMaker(copyElement, function(status:string,text:string){\r\n window.addToastMsg(status, text);\r\n })\r\n copyElement.classList.add('i-cm-completed');\r\n }\r\n })\r\n}\r\n\r\n\r\n\r\n// function lazyload() {\r\n// const images = document.querySelectorAll('.lzload');\r\n// const viewHeight = window.innerHeight;\r\n\r\n// images.forEach((image) => {\r\n// const rect = image.getBoundingClientRect();\r\n// if (rect.top <= viewHeight) {\r\n// image.setAttribute('src', image.getAttribute('data-src'));\r\n// image.classList.remove('lzload');\r\n// }\r\n// });\r\n// }\r\n\r\n// lazyload();\r\n// window.addEventListener('scroll', lazyload);\r\n\r\n// Layout\r\nimport {header} from \"./layout/header\";\r\nimport {footer} from \"./layout/footer\";\r\n\r\nimport {banner} from \"./layout/banner\";\r\n// import {breadcrumbs} from \"./layout/breadcrumbs\";\r\n// import {popup} from \"./layout/popup\";\r\nimport {formHandle} from \"./layout/form\";\r\n\r\n// Page\r\nimport {index} from \"./pages/index\";\r\nimport {about} from \"./pages/about\";\r\nimport {works} from \"./pages/works\";\r\n\r\nvar callbackIdx:any;\r\n\r\n//////////////////////////////////////////////////////////////\r\nwindow.addEventListener('DOMContentLoaded', function() { \r\n gsapScroll();\r\n\r\n // components\r\n\r\n\r\n // layout\r\n header();\r\n footer();\r\n banner();\r\n \r\n // breadcrumbs();\r\n // popup();\r\n\r\n formHandle();\r\n \r\n // ----- Page in here ----- //\r\n callbackIdx = index();\r\n\r\n works();\r\n about();\r\n \r\n _imgClass();\r\n copyMaker();\r\n popupLib();\r\n exploreScroll();\r\n\r\n // GoogleMapApiController();\r\n\r\n api.fetchData();\r\n})\r\n\r\nimport {gsapScroll} from \"./libraries/gsapScroll\";\r\n\r\nwindow.addEventListener('load', function(){\r\n // lib\r\n let promise = new Promise(function(res, rej){\r\n // scroll\r\n \r\n res(true);\r\n })\r\n\r\n promise.then(function(value){\r\n loading.remove();\r\n \r\n setTimeout(function(){\r\n if (document.getElementById('indexPage')){\r\n if(callbackIdx.redirectClose){\r\n callbackIdx.redirectClose();\r\n }\r\n const sw = callbackIdx.swiper;\r\n sw.autoplay.start();\r\n }\r\n }, 4000)\r\n })\r\n .catch(function(err){\r\n console.error(err)\r\n })\r\n\r\n})\r\n\r\n// function animateNumber(finalNumber:any, duration = 5000, startNumber = 0, callback:Function) {\r\n// let currentNumber = startNumber\r\n// function updateNumber() {\r\n// if (currentNumber < finalNumber) {\r\n// let inc = Math.ceil(finalNumber / (duration / 17))\r\n// if (currentNumber inc > finalNumber) {\r\n// currentNumber = finalNumber\r\n// callback(currentNumber)\r\n// } else {\r\n// currentNumber += inc\r\n// callback(currentNumber)\r\n// requestAnimationFrame(updateNumber)\r\n// }\r\n// }\r\n// }\r\n// requestAnimationFrame(updateNumber)\r\n// }\r\n \r\n// document.addEventListener('DOMContentLoaded', function () {\r\n// animateNumber(0, 3000, 100, function () {\r\n// var boxesProject = document.querySelectorAll('.works-section .project-box');\r\n// boxesProject.forEach(function(itemBox:HTMLElement){\r\n// if(itemBox.getBoundingClientRect().y <= window.innerHeight - 10){\r\n// itemBox.style.opacity = \"1\";\r\n// itemBox.style.transform = \"translateY(0)\";\r\n// }\r\n// })\r\n// })\r\n\r\n// })\r\n\r\n\r\n\r\n\r\n/////////////////////WEB FULLPAGE///////////////////////////\r\n// import loadingAni from \"./initAnimation/loading\";\r\n\r\n// const fullpageLoad = function(){\r\n// let loading = document.querySelector('#loading-container');\r\n// loadingAni.aniIn();\r\n// // import animateFullpage from \"./components/animateFullpage\";\r\n// // animateFullpage.default();\r\n \r\n// window.addEventListener('load', function() {\r\n// // swiper_nav();\r\n// allJs();\r\n// setTimeout(function(){\r\n// loading.classList.add('hiddenLoading');\r\n// setTimeout(function(){\r\n// loading.parentElement.removeChild(loading);\r\n\r\n// // let utiSubMap = document.getElementById('UtilitiesSubPage');\r\n// // if (utiSubMap){\r\n// // let map = utiSubMap.querySelector('.map');\r\n// // map.classList.add('animateActive');\r\n// // }\r\n// }, 700)\r\n// common();\r\n// }, loadingAni.delay)\r\n// })\r\n// }\r\n\r\n// fullpageLoad();\r\n\r\n/////////////////////WEB NORMAL///////////////////////////\r\n\r\n","declare const window: any;\r\ndeclare const Swiper: any;\r\ndeclare const $: any;\r\ndeclare const gsap: any;\r\ndeclare const ScrollTrigger: any;\r\ndeclare const THREE: any;\r\n\r\nconst viewHeight = window.innerHeight;\r\nconst viewWidth = window.innerWidth;\r\n\r\nlet ghandleClose:any;\r\nlet aboutPageSection = document.querySelector('.ab-section');\r\nconst titlePage = aboutPageSection?.getAttribute('data-titlePage');\r\n\r\nexport const about = function () {\r\n let elem = document.getElementById('aboutPage');\r\n if (elem){\r\n // handleGroupBox();\r\n handleUrl();\r\n }\r\n};\r\n\r\nfunction handlePopuped(element:HTMLElement, list:any, cancel:boolean = false){\r\n let detail = element.querySelector('.item-detail');\r\n if (detail){\r\n // element.classList.add('showed');\r\n element.classList.add('is-animated');\r\n document.body.classList.add('hideScroll');\r\n \r\n const backToAll = detail.querySelector('.backtoall');\r\n const close = detail.querySelector('.close');\r\n\r\n function handleClose(e:any = null){\r\n if (e){\r\n e.preventDefault();\r\n }\r\n\r\n const closeHref = backToAll.getAttribute('href') || \"javascript:void(0)\";\r\n\r\n backToAll.removeEventListener('click', handleClose);\r\n close.removeEventListener('click', handleClose);\r\n document.removeEventListener('keyup', escHandle);\r\n\r\n element.classList.remove('showed');\r\n element.classList.remove('is-animated');\r\n\r\n document.body.classList.remove('hideScroll');\r\n\r\n if (closeHref && closeHref !== \"javascript:void(0)\"){\r\n // window.location.href = close.getAttribute('href');\r\n window.history.pushState(null, '', closeHref);\r\n \r\n document.title = titlePage || document.title;\r\n }\r\n\r\n list.forEach(function(temp:HTMLElement){\r\n temp.style.userSelect = \"\";\r\n temp.style.pointerEvents = \"\";\r\n })\r\n }\r\n\r\n ghandleClose = handleClose;\r\n function escHandle(event:any){\r\n if (event.key === \"Escape\") {\r\n handleClose();\r\n }\r\n }\r\n\r\n if (cancel=== false){ \r\n document.addEventListener('keyup', escHandle);\r\n \r\n backToAll.addEventListener('click',handleClose);\r\n close.addEventListener('click', handleClose);\r\n }\r\n else{\r\n handleClose();\r\n }\r\n }\r\n}\r\n\r\nfunction handleUrl(){\r\n // const params = window.getParams();\r\n // const val = params.name;\r\n // const team = params.team;\r\n // console.log(params);\r\n const originName = window.location.origin;\r\n const items = document.querySelectorAll('.ab-section-ls .item');\r\n\r\n var checkoriginName = false;\r\n items.forEach(function(item:HTMLElement, id){\r\n if (item.classList.contains('showed')){\r\n items.forEach(function(temp:HTMLElement){\r\n temp.style.userSelect = \"none\";\r\n temp.style.pointerEvents = \"none\";\r\n })\r\n \r\n item.scrollIntoView();\r\n handlePopuped(item, items);\r\n }\r\n\r\n const link = item.querySelector('.item--link');\r\n link.addEventListener('click', function(e){\r\n e.preventDefault();\r\n item.classList.add('showed');\r\n\r\n const query = item.dataset.query;\r\n window.history.pushState({id}, `Selected: ${id}`, query);\r\n document.title = item.dataset.title || item.querySelector('.item-content .item__name').textContent || document.title;\r\n\r\n setTimeout(function(){\r\n handlePopuped(item, items);\r\n }, 0)\r\n })\r\n })\r\n\r\n window.addEventListener('popstate', function(e:any){\r\n if (e.state){\r\n const itempop = items[e.state.id];\r\n itempop.classList.add('showed');\r\n\r\n setTimeout(function(){\r\n handlePopuped(itempop, items);\r\n }, 0)\r\n }\r\n else{\r\n items.forEach(function(itemDel:HTMLElement){\r\n if (itemDel.classList.contains('showed')){\r\n handlePopuped(itemDel, items, true);\r\n }\r\n })\r\n }\r\n })\r\n\r\n\r\n\r\n // if (!checkPathname){\r\n // items.forEach(function(item:HTMLElement){\r\n // if (item.classList.contains('showed')){\r\n // handlePopuped(item);\r\n // }\r\n // else{\r\n // let detail = item.querySelector('.item-detail');\r\n \r\n // const backToAll = detail.querySelector('.backtoall');\r\n // const close = detail.querySelector('.close');\r\n \r\n // backToAll.removeEventListener('click', ghandleClose);\r\n // close.removeEventListener('click', ghandleClose);\r\n \r\n // item.classList.remove('showed');\r\n // document.body.classList.remove('hideScroll');\r\n // }\r\n // })\r\n // }\r\n}\r\n\r\n// function handleGroupBox(){\r\n// const items = document.querySelectorAll('.ab-section-ls .item');\r\n// items.forEach(function(item:HTMLElement){\r\n// const link = item.querySelector('.item--link');\r\n// let timeOutFirst:any;\r\n\r\n// link?.addEventListener('click', function(e){\r\n// clearTimeout(timeOutFirst);\r\n \r\n// document.body.style.pointerEvents = \"none\";\r\n\r\n// // e.preventDefault();\r\n// const rect = item.getBoundingClientRect();\r\n\r\n// let detail = item.querySelector('.item-detail');\r\n// if (detail){\r\n// detail.style.position = \"fixed\";\r\n// detail.style.top = rect.top + \"px\";\r\n// detail.style.left = rect.left + \"px\";\r\n// detail.style.width = rect.width + \"px\";\r\n// detail.style.height = rect.height + \"px\";\r\n// detail.classList.add('visible');\r\n \r\n// const style = window.getComputedStyle(detail);\r\n// const wContainer = style.getPropertyValue(\"--wContainer\");\r\n\r\n// let timeOutSecond:any;\r\n// timeOutFirst = setTimeout(function(){\r\n// clearTimeout(timeOutSecond);\r\n\r\n// let timeSecond = 200;\r\n\r\n// if(window.innerWidth > 1023){\r\n// detail.style.transition = \".3s all linear\";\r\n// detail.style.left = `calc(((100vw - ${wContainer}) / 2) + (${wContainer} / 100 * 64) )`;\r\n// detail.style.top = `20vh`;\r\n// detail.style.width = `calc(${wContainer} / 100 * 36)`;\r\n// }\r\n// else{\r\n// timeSecond = 0;\r\n// }\r\n\r\n\r\n// timeOutSecond = setTimeout(function(){\r\n// detail.style.top = \"\";\r\n// detail.style.left = \"\";\r\n// detail.style.width = \"\";\r\n// detail.style.height = \"\";\r\n// detail.style.transition = \"\";\r\n \r\n// detail.style.position = \".16s all linear\";\r\n// detail.classList.remove('visible');\r\n\r\n// handlePopuped(item);\r\n\r\n// // item.classList.add('showed');\r\n// // document.body.classList.add('hideScroll');\r\n\r\n// // const backToAll = detail.querySelector('.backtoall');\r\n// // const close = detail.querySelector('.close');\r\n \r\n// // function handleClose(){\r\n// // backToAll.removeEventListener('click', handleClose);\r\n// // close.removeEventListener('click', handleClose);\r\n \r\n// // item.classList.remove('showed');\r\n// // document.body.classList.remove('hideScroll');\r\n// // }\r\n// // backToAll.addEventListener('click',handleClose);\r\n// // close.addEventListener('click',handleClose);\r\n\r\n// document.body.style.pointerEvents = \"\";\r\n// }, timeSecond)\r\n// }, 0)\r\n// }\r\n// })\r\n// })\r\n// }","declare const window: any;\r\ndeclare const Swiper: any;\r\ndeclare const $: any;\r\n\r\nconst viewHeight = window.innerHeight;\r\n\r\nexport const index = function () {\r\n const eBanner = document.querySelector('.banner-main');\r\n if (eBanner){\r\n window.onbeforeunload = function () {\r\n window.scrollTo(0, 0);\r\n }\r\n document.body.classList.add('hideScroll');\r\n }\r\n else{\r\n return false;\r\n }\r\n \r\n const eSwBanner = document.querySelector('.banner .swiper');\r\n var sw = new Swiper(eSwBanner, {\r\n effect: 'fade',\r\n speed: 800,\r\n\r\n autoplay: {\r\n delay: 2400,\r\n pauseOnMouseEnter: false,\r\n disableOnInteraction: false,\r\n },\r\n \r\n scrollbar: {\r\n el: '.swiper-scrollbar',\r\n draggable: true,\r\n },\r\n\r\n navigation: {\r\n nextEl: \".swiper-button-next\",\r\n prevEl: \".swiper-button-prev\",\r\n },\r\n \r\n mousewheel: {\r\n thresholdTime: 600,\r\n },\r\n \r\n a11y: {\r\n slideLabelMessage: '{{index}} / {{slidesLength}}'\r\n },\r\n \r\n on: {\r\n slideChange: function () {\r\n let len = this.slides.length - 1;\r\n let idxActive = this.activeIndex;\r\n\r\n clearTimeout(timeoutSlide);\r\n if (idxActive === len){\r\n console.log('1');\r\n timeoutSlide = setTimeout(function(){\r\n eBanner.style.transform = \"translateY(-100%)\";\r\n document.body.classList.remove('hideScroll');\r\n\r\n setTimeout(function(){\r\n eBanner.remove();\r\n const hrefRedirect = eSwBanner.getAttribute('data-redirect');\r\n if (hrefRedirect){\r\n window.location.href = hrefRedirect;\r\n }\r\n }, 500)\r\n \r\n }, 3000)\r\n }\r\n },\r\n\r\n },\r\n });\r\n \r\n sw.autoplay.stop();\r\n\r\n var timeoutSlide:any;\r\n const redirectClose = function(){\r\n let len = sw.slides.length;\r\n clearTimeout(timeoutSlide);\r\n if (len <= 1){\r\n timeoutSlide = setTimeout(function(){\r\n eBanner.style.transform = \"translateY(-100%)\";\r\n document.body.classList.remove('hideScroll');\r\n\r\n setTimeout(function(){\r\n eBanner.remove();\r\n const hrefRedirect = eSwBanner.getAttribute('data-redirect');\r\n if (hrefRedirect){\r\n window.location.href = hrefRedirect;\r\n }\r\n }, 500)\r\n }, 10000)\r\n }\r\n }\r\n\r\n return {\r\n swiper: sw,\r\n redirectClose: redirectClose\r\n }\r\n // return redirectClose;\r\n};\r\n","declare const window: any;\r\ndeclare const Swiper: any;\r\ndeclare const $: any;\r\n\r\nconst viewHeight = window.innerHeight;\r\n\r\nconst defaultArrange = \"galary\";\r\n\r\nvar arrange = defaultArrange;\r\n\r\nexport const works = function () {\r\n let elem = document.getElementById('worksPage');\r\n if (elem){\r\n $.ajax({\r\n type: 'GET',\r\n url: `/get-product?type=${$('#changeType').attr('data-type')}`,\r\n dataType: 'html',\r\n success: function (res:any) {\r\n $('#listProducts').html(res);\r\n }\r\n })\r\n\r\n if (localStorage[\"arrange\"]){\r\n arrange = localStorage[\"arrange\"];\r\n }else{\r\n localStorage[\"arrange\"] = defaultArrange;\r\n }\r\n\r\n handleView();\r\n handleCateMb();\r\n handleSwThumb();\r\n }\r\n};\r\n\r\nfunction handleCateMb(){\r\n const projecttype = document.querySelector('.projecttype');\r\n const opt = projecttype?.querySelector('.works-section .projecttype-opt');\r\n if (opt){\r\n opt.addEventListener('click', function(e){\r\n e.preventDefault();\r\n projecttype.classList.toggle('is-showed');\r\n })\r\n }\r\n}\r\n\r\nfunction handleView(){\r\n const optsGalary = document.querySelectorAll('.works-section__galary');\r\n const viewGalary = document.querySelector('.works-section--projects');\r\n\r\n optsGalary.forEach(function(optGalary:HTMLElement){\r\n if (optGalary && viewGalary){\r\n // let typeOpt = optGalary.dataset.type;\r\n let arrType = optGalary.querySelectorAll('[data-select]'); \r\n if (arrType.length < 1){\r\n // array undifined\r\n return;\r\n }\r\n \r\n // if (!arrange && arrType.length > 0){\r\n // const temp = arrType[0];\r\n // typeOpt = temp.dataset.select;\r\n // }\r\n \r\n viewGalary.dataset.type = arrange;\r\n optsGalary.forEach(function(setOptGalary:HTMLElement){\r\n setOptGalary.dataset.type = arrange;\r\n })\r\n \r\n arrType.forEach(function(itemType: HTMLElement){\r\n itemType.addEventListener('click', function(e){\r\n e.preventDefault();\r\n let change = itemType.dataset.change;\r\n \r\n viewGalary.dataset.type = change;\r\n localStorage[\"arrange\"] = change;\r\n arrange = change;\r\n\r\n optsGalary.forEach(function(tempOpt:HTMLElement){\r\n tempOpt.dataset.type = change;\r\n })\r\n\r\n let toId = document.getElementById('scrollProjects');\r\n if (toId){\r\n const cateOffsetTop = window.getOffsetTopElement(toId);\r\n window.scrollTo({\r\n top: 0,\r\n left: 0,\r\n behavior: \"smooth\"\t\t\r\n });\r\n }\r\n\r\n // if (optGalary.classList.contains('works-section__galary--fixed')){\r\n // const cate = document.querySelector('.works-section--categories');\r\n // const cateOffsetTop = window.getOffsetTopElement(cate);\r\n\r\n // window.scrollTo({\r\n // top: cateOffsetTop,\r\n // left: 0,\r\n // behavior: \"smooth\"\t\t\t\t\r\n // });\r\n // }\r\n })\r\n })\r\n\r\n // window.addEventListener('scroll', function(e:any){\r\n // console.log('window');\r\n // })\r\n // document.addEventListener('scroll', function(e:any){\r\n // console.log('document');\r\n // })\r\n }\r\n })\r\n\r\n\r\n}\r\n\r\nfunction initSwiperSlider(target:HTMLElement){\r\n const sw = new Swiper(target, {\r\n zoom: true,\r\n\r\n // autoplay: {\r\n // delay: 2400,\r\n // pauseOnMouseEnter: true,\r\n // disableOnInteraction: false,\r\n // },\r\n navigation: {\r\n nextEl: \".swiper-button-next\",\r\n prevEl: \".swiper-button-prev\",\r\n },\r\n pagination: {\r\n el: \".swiper-pagination\",\r\n clickable: true,\r\n },\r\n\r\n effect: \"fade\",\r\n })\r\n return sw;\r\n}\r\n\r\nfunction initSwiperThumb(target:HTMLElement){\r\n const sw = new Swiper(target, {\r\n slidesPerView: \"auto\",\r\n spaceBetween: 10,\r\n })\r\n return sw;\r\n}\r\n\r\nfunction handleSwThumb(){\r\n const thumb = document.querySelector('.works-section .swiper-thumbSlider');\r\n const slider = document.querySelector('.works-section .swiper-selectSlider');\r\n if (thumb && slider){\r\n const swSlider = initSwiperSlider(slider);\r\n const swThumb = initSwiperThumb(thumb);\r\n \r\n const lsThumb = thumb.querySelectorAll('.swiper-slide');\r\n window.delHandle(lsThumb, 'is-actived');\r\n lsThumb[0].classList.add('is-actived');\r\n\r\n swSlider.on('slideChange', function () {\r\n let activeIdx = swSlider.activeIndex;\r\n swThumb.slideTo(activeIdx);\r\n \r\n window.delHandle(lsThumb, 'is-actived');\r\n lsThumb[activeIdx].classList.add('is-actived');\r\n });\r\n \r\n swThumb.on('slideChange', function(){\r\n let activeIdx = swThumb.activeIndex;\r\n swSlider.slideTo(activeIdx);\r\n \r\n window.delHandle(lsThumb, 'is-actived');\r\n lsThumb[activeIdx].classList.add('is-actived');\r\n })\r\n \r\n lsThumb.forEach(function(itemThumb, idx){\r\n itemThumb.addEventListener('click', function(){\r\n swSlider.slideTo(idx);\r\n })\r\n })\r\n }\r\n}"]}