1import {CookieUtils} from "sites/cookie_utils" 2 3class CandidatePopulator { 4 fetchMetaDataAndPopulateFavourites() { 5 if (js_vars.ct.active && js_vars.links) { 6 fetch(js_vars.links.meta_data.url, {method: js_vars.links.meta_data.method}) 7 .then(response => response.json()) 8 .then(metaData => { 9 if (metaData.candidate) { 10 this.deprecatedPopulateFavourites(metaData) 11 if (metaData.candidate.auth_by_saml) { //this might be wrong when we split view tracking from identity 12 CookieUtils.removeTrackingCookie() 13 } 14 } 15 }) 16 } 17 } 18 19 deprecatedPopulateFavourites(metaData) { 20 if (document.body.querySelector('.hide-when-tracking-inactive')) { 21 for (const viewFavourite of document.body.querySelectorAll('.view-favourites')) { 22 viewFavourite.classList.remove('d-none') 23 } 24 for (const candidateFavourite of document.body.querySelectorAll('.candidate-favourite')) { 25 candidateFavourite.classList.remove('d-none') 26 const buttonText = candidateFavourite.querySelector('.favourites-button-text') 27 buttonText.classList.remove('favourited') 28 } 29 for (const favourite of metaData.candidate.favourites) { 30 const buttonText = document.body.querySelector(`*[data-candidate-favourite-source-uid="${favourite.uid}"] .favourites-button-text`) 31 if (buttonText) { 32 buttonText.classList.add('favourited') 33 } 34 } 35 } 36 } 37} 38 39//Note: we shouldn't fire this the first time we accept cookies - that info could go in the clinch:trackable event payload 40document.addEventListener('clinch:trackable', () => new CandidatePopulator().fetchMetaDataAndPopulateFavourites())
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.