${item.name}
\r\n${item.text.substring(0, 100)}...
\r\n \r\n{"version":3,"sources":["template-blogs-page.js"],"names":["TemplateBlogsPage","constructor","container","apiEndpoint","tags","blogId","blogLandingUrl","options","this","Object","assign","sideContainer","itemsContainer","banner","document","querySelector","init","fetch","then","response","json","items","filteredItems","filter","blogItem","filterBlogs","sort","a","b","Date","date","slice","length","renderItems","style","display","classList","remove","id","some","blogTag","tag","key","let","html","forEach","item","imageUrl","images","listImageUrl","url","imageAltText","dateFormatted","renderTags","name","text","substring","innerHTML","lastTagKey","comma"],"mappings":"qBAAqBA,kBACjBC,YAAYC,EAAWC,EAAaC,EAAMC,EAAQC,EAAgBC,GAQ9DC,KAAKD,QAAUE,OAAOC,OAAO,GANN,CACnBC,cAAe,uBACfC,eAAgB,8BAChBC,OAAQ,SACZ,EAEiDN,CAAO,EAExDC,KAAKL,YAAcA,EACnBK,KAAKJ,KAAOA,EACZI,KAAKH,OAASA,EACdG,KAAKF,eAAiBA,EAEtBE,KAAKN,UAAYY,SAASC,cAAcb,CAAS,EACjDM,KAAKI,eAAiBJ,KAAKN,UAAUa,cAAcP,KAAKD,QAAQK,cAAc,EAC9EJ,KAAKG,cAAgBH,KAAKN,UAAUa,cAAcP,KAAKD,QAAQI,aAAa,EAC5EH,KAAKK,OAASL,KAAKN,UAAUa,cAAcP,KAAKD,QAAQM,MAAM,EAE9DL,KAAKQ,KAAK,CACd,CAEAA,OAEIC,MAAMT,KAAKL,WAAW,EACjBe,KAAKC,GAAYA,EAASC,KAAK,CAAC,EAChCF,KAAKG,IAEIC,EAAgBD,EAAME,OAAOC,GAAYhB,KAAKiB,YAAYD,CAAQ,CAAC,EAC5CE,KAAK,CAACC,EAAGC,IAAM,IAAIC,KAAKD,EAAEE,IAAI,EAAI,IAAID,KAAKF,EAAEG,IAAI,CAAC,EAClDC,MAAM,EAAG,CAAC,EAEZ,EAAvBT,EAAcU,OACdxB,KAAKyB,YAAYX,CAAa,EAE9Bd,KAAKK,OAAOqB,MAAMC,QAAU,OAEhC3B,KAAKG,cAAcyB,UAAUC,OAAO,SAAS,CACjD,CAAC,CACT,CAIAZ,YAAYD,GAER,OAAmB,IAAhBhB,KAAKH,QAAgBG,KAAKH,SAAWmB,EAASc,KAG1Cd,EAASpB,KACHmC,KAAKC,GACEhC,KAAKJ,KAAKmC,KAAKE,GACVA,GAAOD,EAAQE,GAAG,CAAC,CAEhD,CAGAT,YAAYZ,GAERsB,IAAIC,EAAO,GAEXvB,EAAMwB,QAAQC,IAEV,IAAIC,EAAWD,EAAKE,OAAOC,aAE3BL;mCACuBE,EAAKI;;+DAEuBH,WAAkBD,EAAKK;;;;;qDAKjCL,EAAKM,6CAA6C5C,KAAK6C,WAAWP,CAAI;;uCAEpFA,EAAKI;yDACaJ,EAAKQ;kDACZR,EAAKS,KAAKC,UAAU,EAAG,GAAG;;;2BAIpE,CAAC,EAEDhD,KAAKI,eAAe6C,UAAYb,CAEpC,CAEAS,WAAW7B,GAEPmB,IAAIC,EAAO,GACX,MAAMc,EAAalC,EAASpB,KAAKoB,EAASpB,KAAK4B,OAAS,GAAGU,IAc3D,OAZAlB,EAASpB,KAAKyC,QAAQJ,IAElB,IAAMkB,EAAQD,IAAejB,EAAIC,IAAM,IAAM,GAC7CE;gCACoBpC,KAAKF,sBAAsBmC,EAAIC;iCAC9BD,EAAIa;0BACXb,EAAIa;0BACJK;yBAGlB,CAAC,EAEMf,CACX,CACJ","file":"template-blogs-page.min.js","sourcesContent":["export default class TemplateBlogsPage {\r\n constructor(container, apiEndpoint, tags, blogId, blogLandingUrl, options) {\r\n \r\n const defaultOptions = {\r\n sideContainer: '.template-blogs-page',\r\n itemsContainer: '.template-blogs-page .items', \r\n banner: '.banner' \r\n };\r\n\r\n this.options = Object.assign({}, defaultOptions, options);\r\n \r\n this.apiEndpoint = apiEndpoint;\r\n this.tags = tags;\r\n this.blogId = blogId;\r\n this.blogLandingUrl = blogLandingUrl;\r\n \r\n this.container = document.querySelector(container);\r\n this.itemsContainer = this.container.querySelector(this.options.itemsContainer);\r\n this.sideContainer = this.container.querySelector(this.options.sideContainer);\r\n this.banner = this.container.querySelector(this.options.banner);\r\n\r\n this.init();\r\n }\r\n\r\n init() {\r\n \r\n fetch(this.apiEndpoint)\r\n .then(response => response.json())\r\n .then(items => {\r\n \r\n const filteredItems = items.filter(blogItem => this.filterBlogs(blogItem))\r\n .sort((a, b) => new Date(b.date) - new Date(a.date))\r\n .slice(0, 3); \r\n\r\n if (filteredItems.length > 0)\r\n this.renderItems(filteredItems);\r\n else\r\n this.banner.style.display = 'none';\r\n\r\n this.sideContainer.classList.remove('loading');\r\n });\r\n }\r\n \r\n\r\n\r\n filterBlogs(blogItem){\r\n\r\n if(this.blogId !== 0 && this.blogId === blogItem.id)\r\n return false;\r\n \r\n return blogItem.tags\r\n .some(blogTag => \r\n this.tags.some(tag =>\r\n tag == blogTag.key));\r\n\r\n }\r\n\r\n\r\n renderItems(items){\r\n\r\n let html = \"\";\r\n\r\n items.forEach(item=> {\r\n\r\n var imageUrl = item.images.listImageUrl;\r\n\r\n html+= `
${item.text.substring(0, 100)}...
\r\n \r\n