/*--- Comon code for feeds and new item Stats ----*/ /*--- Feeds new Filter Stats ----*/ let _year = _category = "*"; let lastRequest; /*--- Comon code for feeds and new item Ends ----*/ /*--- Feeds new Filter Stats ----*/ const fetchAndPlaceXMLData = (category, year) => { const xml = document.querySelector(".news-category-landing-main-wrapper").getAttribute("data-feed"); const xhr = new XMLHttpRequest(); xhr.open("GET", xml, true); xhr.send(); xhr.onreadystatechange = function (data) { if (this.readyState == 4 && this.status == 200) { let json = $j.xml2json(this.response); let jsonAsString = JSON.stringify(json, null, 2); let _countLength = 1; json.channel.item.forEach((obj, count) => { let catArr = obj.category.split(","); catArr.push("*"); let yearArr = []; yearArr.push(new Date(obj.pubDate).getFullYear().toString(), "*"); const formattedDate = moment(obj.pubDate).format('DD MMM yyyy'); let detailDataWrapper = $j(".news-feed-content-wrapper"); if (yearArr.includes(year) && catArr.includes(category)) { const newsCard = { image: obj.image.toString(), title: obj.title.toString(), link: obj.link.toString(), date: formattedDate, tag: catArr[0], guid: obj.guid.toString() }; const htmlMarkup = `

${newsCard.date}

${newsCard.title}

`; $j(".news-and-insight-feed-card-wrapper").append(htmlMarkup); _countLength++ } }); let feedCol = $j(".news-card-col"); if (feedCol.length) { for (var i = 0; i < feedCol.length; i += 3) { feedCol.slice(i, i + 3).wrapAll("
"); } } else { $j(".news-and-insight-feed-card-wrapper").append("

No results are available

"); } } }; }; const fetchDataFromXML = (guid) => { const xml = document.querySelector(".news-category-landing-main-wrapper").getAttribute("data-feed"); const xhr = new XMLHttpRequest(); xhr.open("GET", xml, true); xhr.send(); xhr.onreadystatechange = function (data) { if (this.readyState == 4 && this.status == 200) { let json = $j.xml2json(this.response); console.log(json); let jsonAsString = JSON.stringify(json, null, 2); json.channel.item.forEach((obj, count) => { const formattedDate = moment(obj.pubDate).format('DD MMM yyyy'); if (obj.guid.includes(guid)) { let detailDataWrapper = $j(".news-feed-content-wrapper"); const newsDetail = { title: obj.title.toString(), date: formattedDate, image: obj.imageOriginal.toString(), content: obj.boilerplate, description: obj.description, encoded: obj.encoded }; const htmlDataMarkup = `

${newsDetail.date}

${newsDetail.title}

${newsDetail.title}
${newsDetail.description}
${newsDetail.encoded}
${newsDetail.content}
`; detailDataWrapper.append(htmlDataMarkup); $j(".news-feed-content-wrapper a.close-feed-data").on("click",function(e){ detailDataWrapper.empty(); $j("body").removeClass("activeNews"); }); } }); } }; }; if(document.querySelector(".news-category-landing-main-wrapper")){ Array.from(document.getElementsByClassName("drop-filter")).forEach((elm) => { Array.from(elm.getElementsByClassName("drop-link")).forEach( (anchorElement) => { anchorElement.addEventListener("click", (e) => { $j(".news-feed-wrapper").addClass("loader"); if (e.target.closest(".drop-tag-filter")) { _category = e.target.getAttribute("data-id"); } if (e.target.closest(".drop-year-filter")) { _year = e.target.getAttribute("data-id"); } $j(".news-and-insight-feed-card-wrapper").empty(); fetchAndPlaceXMLData(_category, _year); $j(".news-feed-wrapper").removeClass("loader"); setTimeout(() => { $j(".news-and-insight-feed-link").on("click",function(e){ e.preventDefault(); let _guid = $j(this).data("guid"); $j(".news-feed-content-wrapper").empty(); $j("body").addClass("activeNews"); $j("html, body").stop().animate({scrollTop:0}, 500, 'swing', function() { }); fetchDataFromXML(_guid); }); }, 1500); }); } ); }); $j(".news-and-insight-feed-link").on("click",function(e){ e.preventDefault(); let _guid = $j(this).data("guid"); $j(".news-feed-content-wrapper").empty(); $j("body").addClass("activeNews"); $j("html, body").stop().animate({scrollTop:0}, 500, 'swing', function() { }); fetchDataFromXML(_guid); }); } /*--- Feeds new Filter Ends ----*/ /*------------------------------*/ /*--- New Filter Async Starts 29 June 2023 Rushi----*/ let url = window.location.pathname, parts = url.split("/"), last_part = parts[parts.length - 1]; const getYear = () => { let previousValue = ''; document.querySelectorAll(".news-and-insight-item-card-wrapper .row .year").forEach((e) => { let value = e.querySelector("h2").innerHTML; if (value !== previousValue) { previousValue = value; }else{ e.querySelector("h2").closest(".year").remove(); } }); } document.addEventListener("DOMContentLoaded", function() { getYear(); }); getYear(); const getAsyncData = (category,year,isPagination, pageNumber, pageUrl) => { let newsUrl = document.querySelector(".news-and-insight-listing").getAttribute("data-url"); newsUrl += `&year=${year}&category=${category}&selectednews=${last_part}`; if(isPagination){ newsUrl += `&page=${pageNumber}`; } if(pageUrl){ newsUrl = pageUrl; } if(lastRequest == newsUrl){ return; } const xhr = new XMLHttpRequest(); xhr.open("GET", newsUrl, true); xhr.responseType = "document"; xhr.send(); xhr.onreadystatechange = function(){ if(this.readyState == 4 && this.status == 200){ if(this.response.querySelector(".news-and-insight-item-card-wrapper")){ if(!isPagination){ document.querySelector(".news-and-insight-item-card-wrapper").innerHTML = this.response.querySelector(".news-and-insight-item-card-wrapper").outerHTML; if(this.response.querySelector(".news-pagination-wrapper")){ document.querySelector(".news-pagination-wrapper").innerHTML = this.response.querySelector(".news-pagination-wrapper").innerHTML; } else{ document.querySelector(".news-pagination").remove(); } return; } document.querySelector(".news-and-insight-item-card-wrapper").innerHTML += this.response.querySelector(".news-and-insight-item-card-wrapper").innerHTML; if(this.response.querySelector(".news-pagination")){ document.querySelector(".news-pagination").innerHTML = ""; document.querySelector(".news-pagination").innerHTML = this.response.querySelector(".news-pagination").innerHTML; } else{ document.querySelector(".news-pagination").remove(); } getYear(); } else{ document.querySelector(".news-and-insight-item-card-wrapper").innerHTML = this.response.querySelector(".no-rows").outerHTML; } } lastRequest = newsUrl; } } if(document.querySelector(".news-and-insight-filter-wrapper")){ document.querySelectorAll(".drop-filter .drop-link").forEach((anchorElement) => { anchorElement.addEventListener("click", (e => { if (e.target.closest(".drop-tag-filter")) { _category = e.target.getAttribute("data-id"); } if (e.target.closest(".drop-year-filter")) { _year = e.target.getAttribute("data-id"); } getAsyncData(_category, _year); })) }); document.addEventListener("click",(e) => { if (!e.target.closest('.news-pagination')) return; e.preventDefault(); let pageNumber = e.target.closest("a").getAttribute("data-href").split("page=")[1]; if(e.target.closest("a").getAttribute("data-href").indexOf("async=1") < 0){ getAsyncData(_category,_year,true,pageNumber); return; } getAsyncData("","",true,"",e.target.closest("a").getAttribute("data-href")); }); } /*--- New Filter Async Ends ----*/ let getYearrr = "*"; let getTypeee = "*"; //console.log(last_part); let asyncUrl = window.location.href + "?async=1&year=" + getYearrr + "&category=" + getTypeee + "&selectednews=" + last_part; console.log(asyncUrl); //let asyncUrl = "https://prosus-corp.cm.invdcloud-is.co.uk/test-news-insights/group-updates?async=1&year=2023&category=*&selectednews=group" async function getData() { try { let getAsyncData = await fetch(asyncUrl); let response = await getAsyncData.text(); let rowNews = document.getElementsByClassName("news-items-wrapper")[0]; rowNews.innerHTML = response; var getDataLength = response.trim().length; //console.log("dsvvxc", fffhfffhh); if (getDataLength == 0) { rowNews.innerHTML = "No data found"; } } catch (error) { console.log(error); } } getData();