/*--- 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 = `
`;
$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("");
}
}
};
};
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 = `
Close news data section
${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();