'; const noArticlesFound='
Sorry, no articles found. Please try again.
'; var filterOptions = ""; console.log("timeZone session storage = " + sessionStorage.getItem("timeZone") ); if (sessionStorage.getItem("timeZone") != null ) { var timeZone = sessionStorage.getItem("timeZone"); } else { var timeZone = ""; } var numParsedArticlesToShow = 0; var totalArticlesReturned=0; var displayStart = 0; var displayLimit = 0; var offset = 0; var totalDisplayed = 0; var rowsReturnedFlag = 0; var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; var monthIndex = {"January":"0", "February":"1", "March":"2", "April":"3", "May":"4", "June":"5", "July":"6", "August":"7", "September":"8", "October":"9", "November":"10", "December":"11"}; var baseURL = ""; var currentDateFilter= new Date(); var hideFilterMenu = true; var catDomain = ''; /* check if articleapp exists get linkcatpair node */ var articleAppJS = "gicblog"; var publicInstance = true; if ( articleAppJS != '') { var siteLinkPairObject = getSiteLinkPairs(); var linkPairArrayFTL = { "47d7d1d4-eda9-42c4-8d2e-4a6725aba374":"/newsroom/eye-health-and-wellness.html","1158c679-afe4-476a-97e9-2a4d17edbe5b":"/newsroom/eye-health-and-wellness/vision-care.html","d10f90f1-5e44-4ea3-8b44-01ac1f05b272":"/newsroom/eye-health-and-wellness/partnerships.html","3f2c888d-4fac-46db-9b3c-012c6578e560":"/newsroom/people-and-purpose.html","642daf3d-41b9-4f26-b053-ae2ce516a812":"/newsroom/people-and-purpose/dei.html","381feb76-3ee7-45e2-8502-be0ae47c4399":"/newsroom/people-and-purpose/sustainability.html","38655081-58d7-45a3-9d38-b578d60ac784":"/newsroom/people-and-purpose/eyes-of-hope.html","933144ba-9594-4255-97d1-6362e303068f":"/newsroom/people-and-purpose/charitable-giving.html","92198c24-79ba-491f-a11f-140225e2eaab":"/newsroom/company-news.html","652566b4-dab6-40db-934f-55f9d6bd99a3":"/newsroom/company-news/hires-promotions.html","dd8a0f9e-afdc-4b03-aee3-427ba8a3cd1e":"/newsroom/practice-solutions.html","99b3631f-a07e-49a0-a0cf-27b631571aa8":"/newsroom/practice-solutions/premier-edge.html","4de8d651-f9d3-4f2b-94a5-2236180ba36a":"/newsroom/practice-solutions/eyefinity.html","f72d23a4-9e33-4c2f-a6eb-eb26f1e603d3":"/newsroom/practice-solutions/ventures.html","a0fc96bb-4997-4ce8-8e21-b486bc0f06a7":"/newsroom/eyewear.html","f4271612-6ca1-47b9-8409-11662ea4e5c8":"/newsroom/eyewear/marchon.html","3b3526a6-fb42-4729-8151-5ef231122959":"/newsroom/eyewear/altair.html","f3f9cb6f-931d-4b9e-b749-3b2e4ef3d1c8":"/newsroom/eyewear/lenses.html","cc06970f-f7e2-4c7d-9afd-a9ef2468ecd6":"/newsroom/company-news/company-announcements.html","a8407c34-6239-4ba8-9696-49b0d0f50e3c":"/newsroom/people-and-purpose/scholarships.html","a8296230-6fb8-47f0-b9c1-b32a989dfd63":"/newsroom/company-news/innovation.html","3cfe521a-8654-4c3c-831b-3c78ce628594":"/blog/news.html","33d3ed45-6ea4-43db-93a0-203df460c2ba":"/blog/thought-leadership.html","add5266d-e56f-41cc-a6d3-795d5e0f3dc9":"/blog/events.html","b85364e6-b6e5-4007-bd83-42d3547e588b":"/blog/projects.html","9182596d-4746-4ee1-acb6-a1f5cc130a79":"/blog/programs.html" }; } String.prototype.replaceAt=function(index, replacement) { return this.substr(0, index) + replacement+ this.substr(index + replacement.length); } Handlebars.registerHelper('formatDate', function(value) { var options = { year: 'numeric', month: 'long', day: 'numeric' }; var yearOption = { year: 'numeric'}; var monthOption = { month: 'long' }; var dayOption = { day: 'numeric'}; var today = new Date(value); ret = today.toLocaleDateString("en-US", monthOption) + " "+ today.toLocaleDateString("en-US", dayOption) + ", " + today.toLocaleDateString("en-US", yearOption); return ret; }); Handlebars.registerHelper('formatEventDate', function(value) { if ( value != 'Invalid Date') { var options = { year: 'numeric', month: 'long', day: 'numeric' }; var yearOption = { year: 'numeric'}; var monthOption = { month: 'long' }; var dayOption = { day: 'numeric'}; var today = new Date(value); ret = today.toLocaleDateString("en-US", monthOption) + " "+ today.toLocaleDateString("en-US", dayOption) + ", " + today.toLocaleDateString("en-US", yearOption); return ret; } }); Handlebars.registerHelper('handleDash', function(dashStartDate, dashEndDate) { var dashStartDate = dashStartDate; var dashEndDate = dashEndDate; var theDash = " - "; if ( dashStartDate != 'Invalid Date' && dashEndDate != 'Invalid Date') { return theDash; } }); Handlebars.registerHelper('formatCourseDates', function(value) { var ret = ""; var startDate = value; if ( timeZone != '') { var selectedTimeZone = timeZone; //console.log("time zone sent into template = " + timeZone); /*** values assume times are entered as PST time zone ***/ var timeZoneArray = { 'PST':"America/Los_Angeles", 'MST':"America/Denver", 'CST':"America/Chicago", 'EST':"America/New_York" }; //console.log("Timezone array = " + timeZoneArray[selectedTimeZone]); } for (var key of Object.keys(startDate)) { if ( startDate[key].courseStart != null && startDate[key].courseStart != undefined) { var startDateTimeStamp = new Date(startDate[key].courseStart); var endDateTimeStamp = new Date(startDate[key].courseEnd); // console.log("startDateTimeStamp:"); // console.log(startDateTimeStamp); // // console.log("endDateTimeStamp:"); // console.log(endDateTimeStamp); // // console.log("startDateTimeStamp + " + timeZoneArray[selectedTimeZone] + " hours:"); // console.log(startDateTimeStamp); const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: '2-digit', timeZoneName: 'short' }; const dateOptions = { month: 'long', day: 'numeric', year: 'numeric' }; if ( timeZone == '') { var timeOptions = { hour: 'numeric', minute: '2-digit', timeZoneName: 'short' }; var startTimeOptions = { hour: 'numeric', minute: '2-digit' }; } else { var timeOptions = { hour: 'numeric', minute: '2-digit', timeZone: timeZoneArray[selectedTimeZone], timeZoneName: 'short' }; var startTimeOptions = { hour: 'numeric', minute: '2-digit', timeZone: timeZoneArray[selectedTimeZone] }; } const timeZoneOptions = { timeZoneName: 'short' }; var start = new Date(startDateTimeStamp).toLocaleDateString('en-US', dateOptions); var end = new Date(endDateTimeStamp).toLocaleDateString('en-US', dateOptions); var startTime = new Date(startDateTimeStamp).toLocaleTimeString('en-US', startTimeOptions); var endTime = new Date(endDateTimeStamp).toLocaleTimeString('en-US', timeOptions); if( start == end ) { ret += "" + start + "" + "
" + startTime + " - " + endTime + "
"; } } } return ret; }); Handlebars.registerHelper('ifCond', function (v1, operator, v2, options) { switch (operator) { case '==': return (v1 == v2) ? options.fn(this) : options.inverse(this); case '===': return (v1 === v2) ? options.fn(this) : options.inverse(this); case '!=': return (v1 != v2) ? options.fn(this) : options.inverse(this); case '!==': return (v1 !== v2) ? options.fn(this) : options.inverse(this); case '<': return (v1 < v2) ? options.fn(this) : options.inverse(this); case '<=': return (v1 <= v2) ? options.fn(this) : options.inverse(this); case '>': return (v1 > v2) ? options.fn(this) : options.inverse(this); case '>=': return (v1 >= v2) ? options.fn(this) : options.inverse(this); case '&&': return (v1 && v2) ? options.fn(this) : options.inverse(this); case '||': return (v1 || v2) ? options.fn(this) : options.inverse(this); default: return options.inverse(this); } }); Handlebars.registerHelper('returnCategories', function(myCat) { var stress = ""; var catName = ""; // console.log("CATEGORY IN returnCategories:"); // console.log(myCat); stress = getCategoryById(myCat); stress.forEach (function(item) { catName = item['displayName']; }); return catName; }); Handlebars.registerHelper('returnCategoryBlock', function(myCat) { var catName = ""; var catObj = Object.values(appCategories); for (var i = 0; i < catObj.length; i++) { if (catObj[i]['@id'] == myCat) { return catObj[i]['displayName']; break; } } }); Handlebars.registerHelper('returnSpeakers', function(mySpeaker) { var speakerName = ""; var speakerObj = Object.values(appSpeakers); for (var i = 0; i < speakerObj.length; i++) { if (speakerObj[i]['@id'] == mySpeaker) { speakerName = speakerObj[i]['name']; speakerNameFormatted = speakerObj[i]['name'].replace(/ /g, "-").toLowerCase(); if (publicInstance == true) { var speakerURL = ''+speakerName+'' } else { var speakerURL = ''+speakerName+'' } return speakerURL; } } }); Handlebars.registerHelper('returnAuthor', function(myAuthor) { var authorName = ""; var authorLinks = ""; if (myAuthor.length > 0 && blogAuthorPath != '') { for (var i = 0; i < myAuthor.length; i++) { authorInfo = getAuthorById(myAuthor[i]); authorName = authorInfo[0].name; authorNameFormatted = authorName.replace(/ /g, "-").toLowerCase(); console.log("previewMode:" + previewMode); if (previewMode == true) { authorLinks = authorLinks + ''+authorName+''; if ( i < myAuthor.length - 1 ) { authorLinks = authorLinks + ", "; } } else { authorLinks = authorLinks + ''+authorName+''; if ( i < myAuthor.length - 1 ) { authorLinks = authorLinks + ", "; } } }; console.log("authorLinks = " + authorLinks); return authorLinks; } else { return; } }); // Handlebars.registerHelper('returnSpeakers', function(mySpeaker) { // var speakerObj = ""; // var speakerName = ""; // // speakerObj = getSpeakerById(mySpeaker); // // if (speakerObj.length > 0) // { // speakerObj.forEach (function(item) { // speakerName = item['name']; // speakerNameFormatted = item['name'].replace(/ /g, "-").toLowerCase(); // }); // if (previewMode == true) // { // var speakerURL = ''+speakerName+'' // } // else // { // var speakerURL = ''+speakerName+'' // } // // return speakerURL; // } // else // { // return; // } // }); Handlebars.registerHelper('getCategoryName', function(catPath, myCat) { catInfo = getCategoryById(myCat); catInfo.forEach (function(item) { catID = item['@id']; displayName = item['displayName']; }); return displayName; }); Handlebars.registerHelper('returnCategoriesSlug', function(myCat) { var stress = ""; var categoryName = ""; stress = getCategoryById(myCat); data.results.forEach (function(stress) { categoryName = item['displayName']; }); return categoryName.toLowerCase().replace(" ", "-"); }); Handlebars.registerHelper('getCategoryLink', function(catPath, myCat) { console.dir("catPath = " + catPath); console.log("myCat = " + myCat); var catInfo = ""; var categoryFullPath, categoryCleanPath, level = "", displayName = "", catLinkHtml = ""; rID = ""; var urlPath = window.location.href; var urlCat = window.location.search.replace("?", ""); catInfo = getCategoryById(myCat); console.dir("catInfo = " + catInfo); catInfo.forEach (function(item) { catID = item['@id']; console.log("categoryFullName = " + item['name'] ); categoryFullName = item['name']; level = item['level']; displayName = item['displayName']; console.log("relatedUUID NEW:"); console.log("relatedUUID dir:"); ( typeof item['relatedUUID'] === 'undefined' || typeof item['relatedUUID']['relatedUUID0'] === 'undefined') ? '' : rID = item['relatedUUID']['relatedUUID0'].relatedUUID; }); if ( catRestrict == '') { //alert("1") categoryCleanName = categoryFullName.toLowerCase(); var catPathStr = catPath['@path']; categoryPath = catPathStr.substring(0, catPathStr.lastIndexOf("/")); for (var key in linkPairArrayFTL) { if (linkPairArrayFTL.hasOwnProperty(key)) { if ( key == catID) { var thisPath = linkPairArrayFTL[key]; break; } } } if ( level == "level-1" ) { catLinkHtml = ''+displayName+''; } else { catLinkHtml = ''+displayName+'';; } return catLinkHtml; } else if ( catRestrict !== '' && rID !== '' && catRestrict == rID) { //alert("2") categoryCleanName = categoryFullName.toLowerCase(); var catPathStr = catPath['@path']; categoryPath = catPathStr.substring(0, catPathStr.lastIndexOf("/")); for (var key in linkPairArrayFTL) { if (linkPairArrayFTL.hasOwnProperty(key)) { if ( key == catID) { var thisPath = linkPairArrayFTL[key]; break; } } } if ( level == "level-1" ) { catLinkHtml = ''+displayName+''; } else { catLinkHtml = ''+displayName+'';; } return catLinkHtml; } else { //alert("3") return null } }); Handlebars.registerHelper('extractArticlePath', function(value) { var _path = value['@path']; // If the ping-fed access code has been passed on the page URL, add it to the link here if (codeParam.length > 0) { if(_path.includes('?')) { return _path + addonPingfedParam; } else { return _path + singlePingfedParam; } } else { return _path; } }); Handlebars.registerHelper('extractDAMImagePath', function(value) { if (typeof value === 'object' && value !== null) { /* removed object.values() use due to not working in IE 11 */ var array = Object.keys(value).map(function(e) { return value[e] }) return array[3]; } else { return '/dam/' + value; } }); Handlebars.registerHelper('extractCategoryPath', function(value) { var categoryPath = "#"; var myStr = value['@path']; categoryPath = myStr.substring(0, myStr.lastIndexOf("/") + 1); return categoryPath; }); Handlebars.registerHelper('ifcheckbool', function(value) { if ( value == "true") { return '
NEW
'; } else { return null; } }); function addDays(date, days) { const copy = new Date(Number(date)) copy.setDate(date.getDate() + days) return copy } Handlebars.registerHelper('ifcheckNewIcon', function(startDate, endDate) { var newStartDate = ''; var newEndDate = ''; const currentDate=new Date(); /*** check start date ***/ startDate != undefined ? newStartDate = new Date(startDate) : newStartDate = ''; if ( startDate != undefined ) { endDate != undefined ? newEndDate = new Date(endDate) : newEndDate = addDays(newStartDate, 14); } if ( newStartDate != '' && newEndDate != '' && currentDate >= newStartDate && currentDate <= newEndDate) { return '
NEW
'; } else { return null; } }); Handlebars.registerHelper('enableBorder', function(value) { if ( value == "true") { return 'article-image-bordered'; } else { return null; } }); /*** utility functions ***/ function sameHeighter(element) { //elementHeight = element.eq(0).css('height', 'auto'); log("num of columns = " + element.length); var elementHeight = element.eq(0).height(); log("at load = " + elementHeight); $.each(element, function(index, value) { log(index + ": " + $(this).height()); log("element html = " + element.html() ); $(this).height() > elementHeight ? elementHeight = $(this).height() : ''; }); log("elementHeight = " +elementHeight); element.height(elementHeight); /*** set elementHeight back to 0 for calls within the same page ***/ elementHeight = 0; }; function getSiteLinkPairs() { var catPairResults = ""; var settings = { "async": false, "crossDomain": true, "data": {orderBy: "@name"}, "url": hostName + "/.rest/delivery/vspvision/linkpairs", "method": "GET", "dataType": "json" } var categoryPairJSON = $.ajax(settings); categoryPairJSON.done(function(data) { catPairResults = data.results; }); return catPairResults; } function getCategoryByName(categoryName) { var results = ""; var settings = { "async": false, "crossDomain": true, "data": { 'name': categoryName }, "url": hostName + "/.rest/delivery/categories/gicblog/", "method": "GET", "dataType": "json" } var categoryJSON = $.ajax(settings); categoryJSON.done(function(data) { results = data.results; }); /* returns category data json object from ajax lookup */ return results; }; function getCategories() { var results = ""; var settings = { "async": true, "crossDomain": true, "url": hostName + "/.rest/delivery/categories/gicblog/", "method": "GET", "dataType": "json" } var categoryJSON = $.ajax(settings); categoryJSON.done(function(data) { results = data.results; appCategories = data.results; console.log("appCategories:" + appCategories) console.dir(appCategories); }); /* returns category data json object from ajax lookup */ //return results; }; function getCategoryById(category) { var results = ""; var settings = { "async": false, "crossDomain": true, "data": { 'jcr:uuid': category }, "url": hostName + "/.rest/delivery/categories/gicblog/", "method": "GET", "dataType": "json" } var categoryJSON = $.ajax(settings); categoryJSON.done(function(data) { results = data.results; }); /* returns category data json object from ajax lookup */ return results; }; function getSpeakerById(speakerUUID) { var results = ""; var settings = { "async": false, "crossDomain": true, "data": { 'jcr:uuid': speakerUUID }, "url": hostName + "/.rest/delivery/speakers/v2/", "method": "GET", "dataType": "json" } var speakerJSON = $.ajax(settings); speakerJSON.done(function(data) { results = data.results; }); /* returns category data json object from ajax lookup */ return results; }; function getAuthorById(authorUUID) { var results = ""; var settings = { "async": false, "crossDomain": true, "data": { 'jcr:uuid': authorUUID }, "url": hostName + "/.rest/delivery/speakers/v2/", "method": "GET", "dataType": "json" } var speakerJSON = $.ajax(settings); speakerJSON.done(function(data) { results = data.results; }); /* returns category data json object from ajax lookup */ return results; }; function getSpeakers() { var results = ""; var settings = { "async": true, "crossDomain": true, "url": hostName + "/.rest/delivery/speakers/v2/", "method": "GET", "dataType": "json" } var speakerJSON = $.ajax(settings); speakerJSON.done(function(data) { results = data.results; appSpeakers = data.results; console.log("appSpeakers:") console.dir(appSpeakers); }); /* returns category data json object from ajax lookup */ //return results; }; // function buildCategoryFilterMenu() // { // var categorySettings = { // "async": true, // "crossDomain": true, // "url": hostName + "/.rest/delivery/categories/gicblog/", // "method": "GET", // "dataType": "json" // } // var categoryListJSON = $.ajax(categorySettings); // // categoryListJSON.done(function(data) // { // var categoryMenuSource = $("#category-menu-template").html(); // var categoryMenuTemplate = Handlebars.compile(categoryMenuSource); // var categoryMenuResult = categoryMenuTemplate(data.results); // // $('.filterMenu').html(categoryMenuResult); // }); // } /*** sends article object for Handlebars rendering ***/ /*** determines how many article summary blocks to show ***/ /*** also handles article sort by oldest and newest ***/ function renderArticleCollection( articleObject, numArticlesToShow, orderByParam ) { // console.log("articleObject at start of renderArticleCollection:"); // console.dir(articleObject); // // console.log("numArticlesToShow = " + numArticlesToShow); /*** store total number articles from content app look up ***/ totalArticlesReturned = articleObject.length; console.log("totalArticlesReturned:" + totalArticlesReturned); /* sorts entire article object from initial query and parsing process */ if (orderByParam == "asc") { articleObject.sort(SortByDateAsc); } else { articleObject.sort(SortByDateDesc); } console.log("ARTICLE OBJECT AFTER SORT:"); console.dir( articleObject ); /* only show the number of articles from parsed article object passed in as numArticlesToShow */ var parsedArticleObject = articleObject.slice(0, numArticlesToShow); // console.log("numArticlesToShow = " + numArticlesToShow); // // console.log("parsedArticleObject:"); // console.dir(parsedArticleObject); numParsedArticlesToShow = parsedArticleObject.length; if( numParsedArticlesToShow > 0 ) { console.log("in parsed article send"); // $('.primaryArticleSummaryContainer').html('
Loading results...
'); // $('.waitMessage').hide(); var articleSummarySource = $("#article-summary-template").html(); var articleSummaryTemplate = Handlebars.compile(articleSummarySource); var articleSummaryResult = articleSummaryTemplate(parsedArticleObject); $('.primaryArticleSummaryContainer').html(articleSummaryResult); $('.primaryArticleSummaryContainer').fadeIn('6000'); $('.categoryHeader').css("display", "block"); $('.viewMore').html(viewMoreText); } else { //$('.waitMessage').hide(); $('.primaryArticleSummaryContainer').html(noArticlesFound); $('.primaryArticleSummaryContainer').fadeIn('1000'); } console.log ("***** Total Articles Returned: " + totalArticlesReturned + ", Total Parsed Articles: " + numParsedArticlesToShow + ", Display Limit: " + displayLimit ); if (totalArticlesReturned <= displayLimit) { $('.viewMoreContainer').fadeOut('1000'); } else { $('.viewMoreContainer').fadeIn('1000'); $('.viewMore').html(viewMoreText); } console.log("in component render function = " + $('.catContainer.featuredNewsComponent .colu mn-block .columnWrapper').length ); if ( $('.catContainer.featuredNewsComponent').length > 0 && Foundation.MediaQuery.is('medium up') ) { sameHeighter( $('.catContainer.featuredNewsComponent .column-block .columnWrapper .article-summary-title') ); sameHeighter( $('.catContainer.featuredNewsComponent .column-block .columnWrapper .article-summary-subtitle') ); } } /*** checks if an individual article passes the dateFilter value if one is set -or- matches the year and month ***/ function checkDateFilter( articlePostDate, dateFilterValue, filterYear, filterMonth ) { /* console.log("---------------------------"); console.log("articlePostDate in checkDateFilter:" + articlePostDate); console.log("dateFilterValue in checkDateFilter:" + dateFilterValue); console.log("filterYear in checkDateFilter:" + filterYear); console.log("filterMonth in checkDateFilter:" + filterMonth); */ var dateFilter = "", postFilterDate = "", postDateStart = "", postDateEnd = "", postDateDiff = 0; if ( dateFilterValue == "7days" ) { postDateDiff = 7 }; if ( dateFilterValue == "14days" ) { postDateDiff = 14 }; if ( dateFilterValue == "30days" ) { postDateDiff = 30 }; if ( dateFilterValue == "60days" ) { postDateDiff = 60 }; //if ( dateFilterValue == "61+days" ) postDateDiff = 1000000000; // { // postDateStart = 31; // postDateEnd = 60; // console.log("postDateStart:"); // console.log( postDateStart ); // // console.log("postDateEnd:"); // console.log( postDateEnd ); // } if ( dateFilterValue == "more61days") { postDateStart = 61; postDateEnd = 10000000; /* console.log("postDateStart 61:" + postDateStart); console.log("postDateEnd 61:" + postDateEnd); */ } var articlePostDate = new Date(articlePostDate); /* console.log("articlePostDate (converted):" + articlePostDate); console.log("currentDateFilter:" + currentDateFilter); */ // console.log("articlePostDate:"); // console.log( articlePostDate ); // To calculate the time difference of two dates var Difference_In_Time = currentDateFilter.getTime() - articlePostDate.getTime(); // To calculate the no. of days between two dates var Difference_In_Days = ( Difference_In_Time / (1000 * 3600 * 24) ).toFixed(0); /* console.log("Difference_In_Days:" + Difference_In_Days); console.log("postDateDiff:" + postDateDiff); console.log("postDateStart:" + postDateStart); */ // First process archive article if ( (typeof filterYear !== 'undefined') && (typeof filterMonth !== 'undefined') ) { console.log("Proessing archive filter"); var articleMonth = articlePostDate.getMonth(); var articleYear = articlePostDate.getFullYear(); // console.log ("Made it here!"); // console.log("articleMonth:" + articleMonth); // console.log("articleYear:" + articleYear); // console.log("filterMonth:" + filterMonth); // console.log("filterYear:" + filterYear); if (articleYear == filterYear && articleMonth == filterMonth) { // console.log ("Article passes datecheck"); return true; } else { displayArticle = false; return false; } } else if ( postDateStart == "" && ( Difference_In_Days > postDateDiff) ) { console.log("Processing date filter"); displayArticle = false; // console.log("displayArticle - postDateDiff 60 or less:"); // console.log(displayArticle); return false; } else if ( postDateStart != "" && ( Difference_In_Days < postDateStart ) ) { console.log("Processing date filter"); // console.log("postDateStart:"); // console.log( postDateStart ); // // console.log("postDateEnd:"); // console.log( postDateEnd ); displayArticle = false; // console.log("displayArticle - postDateStart 60 or more:"); // console.log(displayArticle); return false; } return true; } // JAY here goes nothing.... /*** checks if an individual article passes the dateFilter value if one is set -or- matches the year and month ***/ function checkEventDateFilter( eventStartDate, eventEndDate, eventType, dateFilterValue, hideEvent, eventHideDate) { eventHideDate != undefined ? eventHideDate = new Date(eventHideDate) : eventHideDate = ''; var dateFilter = "", postFilterDate = "", postDateStart = "", postDateEnd = ""; //, postDateDiff = 0 var currentDate=new Date(); //console.log("JAY currentDate ", currentDate); //console.log("JAY eventStartDate ", eventStartDate); if ( dateFilterValue == "futureEvents" && articleEndDate=='' && hideEvent != true) { //console.log("It's in the Future Filter"); //console.log('Event Type: ', eventType); if (currentDate < eventEndDate || eventType == "74291b91-53d9-4acd-a148-c35bb05aa029") { displayArticle = true; return true; //console.log("Future Event ", displayArticle); } else { displayArticle = false; return false; } } else if ( dateFilterValue == "pastEvents" && articleEndDate=='' && hideEvent != true) { console.log("It's in the Past Filter. eventType: ", eventType); if ( (currentDate > eventEndDate && eventType != "74291b91-53d9-4acd-a148-c35bb05aa029") && (eventEndDate != 'Invalid Date') ) { if (eventHideDate == '' || eventHideDate >= currentDate ) { displayArticle = true; return true; } else { displayArticle = false; return false; } } else { displayArticle = false; return false; } } if ( dateFilterValue == "allEvents" && articleEndDate=='' && hideEvent != true) { //console.log("It's in the all events Filter"); if (eventHideDate == '' || eventHideDate >= currentDate ) { displayArticle = true; return true; } else { displayArticle = false; return false; } } } /*** determines how many article summary blocks to show based on article start and stop date settings ***/ /*** sends article object for Handlebars rendering ***/ function parseArticleByDateRestrictions( articleBlob, dateFilterChecked ) { // console.log("ALL ARTICLES before date restrictions:"); // console.dir( articleBlob ); // // console.log("dateFilterChecked in date restrictions:"); // console.log( dateFilterChecked ); var currentDate=new Date(); var includeArticle = true; /* assume article will be shown */ for (var i = 0; i < articleBlob.length; i++) { /* if startdate and enddate both are present */ articleBlob[i].articleStartDate != undefined ? articleStartDate = new Date(articleBlob[i].articleStartDate) : articleStartDate = ''; articleBlob[i].articleEndDate != undefined ? articleEndDate = new Date(articleBlob[i].articleEndDate) : articleEndDate = ''; // JAY ADDED articleBlob[i].eventStartDate = new Date(articleBlob[i].eventStartDate); articleBlob[i].eventEndDate = new Date(articleBlob[i].eventEndDate); articleBlob[i].eventHideDate != undefined ? eventHideDate = new Date(articleBlob[i].eventHideDate) : eventHideDate = ''; var eventType = articleBlob[i].type; var hideEvent = articleBlob[i].hideEvent; //console.log("EHD", eventHideDate) //console.log("JAYJ", articleBlob[i].hideEvent) if (hideEvent == true) { includeArticle = false; } /* check if start and end dates have value - if not just push to array */ if (articleStartDate!='' && articleEndDate=='') { console.log("article Start date:" + articleStartDate); currentDate <= articleStartDate ? includeArticle = false : ''; } else if (articleStartDate=='' && articleEndDate!='') { console.log("article End date"); currentDate >= articleEndDate ? includeArticle = false : ''; } else if (articleStartDate!='' && articleEndDate!='') { console.log("Both dates"); currentDate >= articleStartDate && currentDate <= articleEndDate ? '' : includeArticle = false; } // console.log("here before date filter check"); /* check if date filter radio button is checked */ /* if checkDateFilter returns true include article, false ignore it for the article blob */ if ( dateFilterChecked != '' ) { includeArticle = checkDateFilter( articleBlob[i].contentPostDate, dateFilterChecked ); } /* check if either month or year is passed, if so run it through the date checker */ /* if checkDateFilter returns true include article, false ignore it for the article blob */ else if( archiveMonth != '' && archiveYear != '') { //console.log("month & year being checked: month:" + archiveMonth, "year:" + archiveYear); // Convert the month to a zero-based value var intArchiveMonth = monthIndex[archiveMonth]; //console.log("monthIndex returned: " + intArchiveMonth); includeArticle = checkDateFilter( articleBlob[i].contentPostDate, dateFilterChecked, archiveYear, intArchiveMonth ); } // console.log("includeArticle:"); // console.log(includeArticle); includeArticle ? articleBlogDateRestricted.push(articleBlob[i]) : ''; /*** reset includeArticle ***/ includeArticle = true; } // console.log("articleBlogDateRestricted:"); // console.dir(articleBlogDateRestricted); renderArticleCollection( articleBlogDateRestricted, displayLimit, orderByParam ); } /* REST API call gets articles based on category object or cat filter assignments */ /* Sends article collection to be parsed for date filters */ function getArticlesInCategoryList( categoryList, orderByParam, filterString ) { var dateFilterChecked = ''; if ( showPinnedArticlesOnly == false) { var settings = { "async": true, "crossDomain": true, "data": {categories: categoryList, orderBy: orderByDefaultProperty+" "+orderByParam+filterString}, "url": hostName + "/.rest/delivery/gicblog/v2/", "method": "GET", "dataType": "json" } } else { var settings = { "async": true, "crossDomain": true, "data": {categories: categoryList, pinToTopicsList: showPinnedArticlesOnly, orderBy: orderByDefaultProperty+" "+orderByParam+filterString}, "url": hostName + "/.rest/delivery/gicblog/v2/", "method": "GET", "dataType": "json" } } var articleSummaryJSON = $.ajax(settings); articleSummaryJSON.done(function(data) { articleBlob = data.results; // console.log("ALL ARTICLES:"); // console.dir( articleBlob ); /*** check for date filter checked ***/ /*** store date filter value and pass to parse function ***/ $('input[name="dateFilter"]').is(":checked") ? dateFilterChecked = $('input[name="dateFilter"]:checked').val() : dateFilterChecked=''; // console.log("dateFilterChecked first length:"); // console.log( dateFilterChecked.length ); console.log("in getArticlesInCategoryList"); currentView(); parseArticleByDateRestrictions( $(articleBlob), dateFilterChecked ); }); } /* REST API call gets articles based on filter object from filter selections */ /* category filtering happens here */ /* Sends article collection to be parsed for date filters */ function getFilteredArticlesInCategoryList( checkedCategoryList, orderByParam ) { var dateFilterChecked = ''; var dataJSON = {}; $('.appliedFilterContainer').find('span').remove(); console.log("checkedCategoryList:"); console.log(checkedCategoryList); if ( checkedCategoryList != null && checkedCategoryList.length > 0) { checkedCategoryList.each(function() { var filterCatGroup = $(this).data('catgroup'); var filterCatID = $(this).val(); if ( dataJSON[filterCatGroup] != null && dataJSON[filterCatGroup] != 'undefined') { dataJSON[filterCatGroup] = dataJSON[filterCatGroup] + "|" + filterCatID; } else { console.log( 'NO JSON OBJECT' ); dataJSON[filterCatGroup] = filterCatID; } buildFilterTags( filterCatID ) }); } else { dataJSON['categories'] = category; } dataJSON.orderBy = orderByDefaultProperty+" "+orderByParam; console.log("dataJSON:"); console.dir(dataJSON); var settings = { "async": true, "crossDomain": true, "data": dataJSON, "url": hostName + "/.rest/delivery/gicblog/v2/", "method": "GET", "dataType": "json" } console.log("SETTINGS:"); console.log( settings ); var articleSummaryJSON = $.ajax(settings); articleSummaryJSON.done(function(data) { articleBlob = data.results; // console.log("ALL ARTICLES:"); // console.dir( articleBlob ); /*** check for date filter checked ***/ /*** store date filter value and pass to parse function ***/ $('input[name="dateFilter"]').is(":checked") ? dateFilterChecked = $('input[name="dateFilter"]:checked').val() : dateFilterChecked=''; /*** check for date filters ***/ if(dateFilterChecked != '') { buildDateFilterTag(dateFilterChecked); } currentView(); if (checkedCategoryList.length > 0 || dateFilterChecked.length > 0) { //console.log( 'IN CHECKED FILTERS LENGTH'); bindFilterTagActions(); $('.appliedFilterContainer').show(); $('.appliedFilterBlock').css("display","flex"); } else { $('.appliedFilterContainer').find('span').remove(); $('.appliedFilterContainer, .appliedFilterBlock').hide(); } /*** check app for routing after rest call ***/ parseArticleByDateRestrictions( $(articleBlob), dateFilterChecked ); /*** null out dataJSON object passed to filtered call ***/ dataJSON = {}; }); } /* updates URL with category and date filters where appropriate */ function updateFilteredURL() { console.log("in filtered URL"); var getUpdatedSelectedCats = $('input[name="categoryFilter"]:checked'); /* get updated number of checked filters */ var getUpdatedDateFilters = $('input[name="dateFilter"]:checked'); /* get updated number of checked filters */ var articleFilterParam = ""; var dateFilterParam = ""; /* get checked category filters */ getUpdatedSelectedCats.each(function( index ) { if ( index < getUpdatedSelectedCats.length - 1 ) { articleFilterParam += $( this ).data("catname") + "+"; } else { articleFilterParam += $( this ).data("catname"); } console.log( "catName in loop = " + articleFilterParam ); }); console.log("date Filter in url update = " + getUpdatedDateFilters.val() ); /* get checked date filter */ if ( getUpdatedDateFilters.val() != null ) { dateFilterParam += getUpdatedDateFilters.data("datefilter"); console.log( "dateFilter in loop = " + dateFilterParam ); }; /* update query parameters for category and date if appropriate */ if ( articleFilterParam != '' && dateFilterParam == '' ) { window.history.pushState({}, null, baseURL + "?category=" + articleFilterParam + addonPingfedParam ); } else if ( articleFilterParam == '' && dateFilterParam != '' ) { window.history.pushState({}, null, baseURL + "?date=" + dateFilterParam + addonPingfedParam ); } else if ( articleFilterParam != '' && dateFilterParam != '' ) { console.log("dateFilter Here in both params"); window.history.pushState({}, null, baseURL + "?category=" + articleFilterParam + "&date=" + dateFilterParam + addonPingfedParam ); } else { window.history.pushState({}, null, baseURL + singlePingfedParam); } } /* handles removing category filter tag */ /* passes in single cat ID */ function cleanCatFilterTags(catID) { var getCatID = catID.data("id"); /* get category ID */ console.log("getCatID = " + getCatID); console.log("categoryID = " + categoryID); $('#'+getCatID).parent().trigger('click'); /* uncheck filter checkbox */ catID.remove(); /* remove tag */ /* get new set of checked cat filters and update categoryID value */ var getUpdatedSelectedCats = $("#filterForm input:checkbox:checked"); /* get updated number of checked filters */ console.log("getUpdatedSelectedCats = " + getUpdatedSelectedCats + " - " + getUpdatedSelectedCats.length); if ( getUpdatedSelectedCats.length > 0 ) { console.log("in category tags length > 0"); var categoriesApplied = categoryID.split("|"); var index = categoriesApplied.indexOf(getCatID); if (index !== -1) categoriesApplied.splice(index, 1); if ( categoriesApplied.length > 1 ) { categoryID = categoriesApplied.join("|"); } else if ( categoriesApplied.length == 1 ) { console.log("in category tags length = 1"); categoryID = categoriesApplied[0]; } } else { console.log("in category tags length = 0"); categoryID = "3cfe521a-8654-4c3c-831b-3c78ce628594|33d3ed45-6ea4-43db-93a0-203df460c2ba|add5266d-e56f-41cc-a6d3-795d5e0f3dc9|b85364e6-b6e5-4007-bd83-42d3547e588b|9182596d-4746-4ee1-acb6-a1f5cc130a79"; console.log("categoryID in length 0 = " + categoryID); } } /* handles removing date filter tag */ function cleanDateFilterTags(dateID) { var getDateValue = dateID.data("date"); /* get date filter element */ console.log("getDateValue = " + getDateValue); $('#'+getDateValue).prop('checked', false); /* uncheck filter checkbox */ $('#'+getDateValue).parent().removeClass("ui-state-active"); dateID.remove(); /* remove tag */ /* get new set of checked cat filters and update categoryID value */ //var getUpdatedSelectedCats = $('input[name="categoryFilter"]:checked'); /* get updated number of checked filters */ //console.log("getUpdatedSelectedCats = " + getUpdatedSelectedCats + " - " + getUpdatedSelectedCats.length); } /* handles removing date filter tag */ function cleanFilterTagRow() { var getUpdatedSelectedCats = $("#filterForm input:checkbox:checked"); var getDateFilter = $('input[name="dateFilter"]:checked'); if ( getUpdatedSelectedCats.length == 0 && getDateFilter.length == 0) { $('.appliedFilterContainer').find('span').remove(); $('.appliedFilterContainer, .appliedFilterBlock').hide(); window.history.pushState({}, null, baseURL ); } } function bindFilterTagActions() { /* actions if category filter tag delete clicked */ $('.catTag').on('click', function(e) { e.preventDefault(); /* apply wait message first thing */ $('.primaryArticleSummaryContainer').html(waitMessage); cleanCatFilterTags($(this)); updateFilteredURL(); cleanFilterTagRow(); var checkedFilters = $("#filterForm input:checkbox:checked"); articleBlogDateRestricted = [] if (checkedFilters.length > 0) { getFilteredArticlesInCategoryList( checkedFilters, orderByParam, filterOptions ); } else { getArticlesInCategoryList( categoryID, orderByParam, filterOptions ); } }); /* actions if category filter tag delete clicked */ $('.dateTag').on('click', function(e) { e.preventDefault(); /* apply wait message first thing */ $('.primaryArticleSummaryContainer').html(waitMessage); cleanDateFilterTags($(this)); updateFilteredURL(); cleanFilterTagRow(); console.log("dateTag categoryID bind = " + categoryID); console.log("Get Articles Call: in bind date filter tag click"); articleBlogDateRestricted = [] var checkedFilters = $("#filterForm input:checkbox:checked"); //var getUpdatedSelectedCats = $('input[name="categoryFilter"]:checked'); if ( checkedFilters.length > 0 ) { getFilteredArticlesInCategoryList( checkedFilters, orderByParam, filterOptions ); } else { console.log("HERE IN DATE FILTER NO CATS CALL"); getArticlesInCategoryList( categoryID, orderByParam, filterOptions ); } // articleBlogDateRestricted = []; // getArticlesInCategoryList( categoryID, orderByParam, filterOptions ); }); } /* Scroll to bottom of passed element (Note: Leaving this in here but not currently used) */ function scrollToBottom(id){ div_height = $("#"+id).height(); div_offset = $("#"+id).offset().top; window_height = $(window).height(); $('html,body').animate({ scrollTop: div_offset-window_height+div_height },'slow'); } /*** sort function ***/ function SortByDateAsc(x,y) { return (SortByDate(x,y)); } function SortByDateDesc(x,y) { return (SortByDate(y,x)); } function SortByDate(x,y) { return ((x.contentPostDate == y.contentPostDate) ? 0 : ((x.contentPostDate > y.contentPostDate) ? 1 : -1 )); } function SortByEventDate(x,y) { //alert("SortByEventDate") return ((x.eventEndDate == y.eventEndDate) ? 0 : ((x.eventEndDate > y.eventEndDate) ? 1 : -1 )); } function SortByEventDate2(x,y) { var eventEndDate = ''; if (x.eventEndDate != y.eventEndDate) { return -1; } else if (x.eventEndDate < y.eventEndDate) { return 0; } else { return 1; } } /*** debug view ***/ function currentView() { var currentView = {}; currentView['categoryID'] = categoryID; currentView['orderByDefaultProperty'] = orderByDefaultProperty; currentView['orderByParam'] = orderByParam; currentView['filterOptions'] = filterOptions; console.log("CURRENT VIEW:"); console.dir(currentView); } /*** build and append filter tags ***/ function buildFilterTags( filteredCatID ) { var catObj = Object.values(appCategories); console.log("filteredCatID:"); console.dir(filteredCatID); console.log("appCategories obj:"); console.dir(catObj); for (var i = 0; i < catObj.length; i++) { if (catObj[i]['@id'] == filteredCatID) { var catName = catObj[i]['displayName']; break; } } var catFilterHTML = '' + catName + ''; $('.appliedFilterContainer').append(catFilterHTML); } function buildDateFilterTag( dateFilterValue) { console.log("IN SELECTED DATE LENGTH CHECK"); //var parsedDateFilterValue = getDateFilterData.replace(/dateFilter=/g, ""); var parsedDateElement = $('#' + dateFilterValue); var parsedDateElementDisplayValue = parsedDateElement.data('datefilter'); var dateFilterHTML = ''+parsedDateElementDisplayValue+'' $('.appliedFilterContainer').append(dateFilterHTML); } function init() { getCategories(); /*** get article list for category ***/ articleBlogDateRestricted = [] getArticlesInCategoryList( category, orderByParam, filterOptions ); firstRun = false; } $(function() { // if ( $(window).width() >= 1024 ) // { // $('.mobileFilterForm').remove(); // $('.desktopFilterForm').show(); // // } // else { // $('.desktopFilterForm').remove(); // $('.mobileFilterForm').show(); // } /* If mobile landscape device, set the max load to 4 articles */ var currentMediaType = Foundation.MediaQuery.current; if (currentMediaType && currentMediaType == "small") { displayLimit = 4; offset = 4; totalDisplayed = 4; } else { displayLimit = 6; offset = 6; totalDisplayed = 6; } // if ( categoryNameString == false) // { // if ( archiveYear == "" && archiveMonth == "") // { // console.log("IN DOC.READY - no archive data"); // console.log("categoryNameString = " + categoryNameString); // // displayCategorySummaryBlocks( category ); // } // else { // getArticleSummariesByDate( archiveMonth, archiveYear, orderByDefaultProperty, orderByParam, filterOptions, 0, totalDisplayed); // // } // } $('.orderByAsc').on('click', function(e) { e.preventDefault(); orderByParam = $(this).data('filter'); renderArticleCollection( articleBlogDateRestricted, displayLimit, orderByParam ) //getArticleSummaries( categoryID, orderByDefaultProperty, orderByParam, filterOptions, 0, displayLimit); $(".orderByDesc").removeClass("selected"); $(".orderByAsc").addClass("selected"); }); $('.orderByDesc').on('click', function(e) { e.preventDefault(); orderByParam = $(this).data('filter'); renderArticleCollection( articleBlogDateRestricted, displayLimit, orderByParam ) //getArticleSummaries( categoryID, orderByDefaultProperty, orderByParam, filterOptions, 0, displayLimit); $(".orderByAsc").removeClass("selected"); $(".orderByDesc").addClass("selected"); }); /*** prevent filter menu from reloading page ***/ $('a.single-menu').on('click', function(e) { e.preventDefault(); }); /*** clear all filters ***/ $('.clearAllFilters').on('click', function(e) { e.preventDefault(); $('.catTag').remove(); $('.appliedFilterBlock, .appliedFilterContainer').hide(); $('input:checkbox').prop('checked', false); $( "input[type='checkbox']" ).checkboxradio("refresh"); $('.applyFilter').trigger('click'); // JJH THIS works (below) $('.ui-checkboxradio').prop('checked',false).checkboxradio('refresh'); updateFilteredURL(); cleanFilterTagRow(); }); /*** apply filter button click binding ***/ $('.applyFilter').on('click', function(e) { e.preventDefault(); /* apply wait message first thing */ $('.primaryArticleSummaryContainer').html(waitMessage); console.log("appCategories in applyFilter click:") console.dir(appCategories); if (appCategories == '') { getCategories(); } console.log("in APPLY click"); baseURL = window.location.href.split('?')[0]; //console.log("baseURL = " + baseURL); if ($('#filter-dropdown-bottom-center').length > 0) { $('#filter-dropdown-bottom-center').foundation('close'); } if ( $(document).width() <= 780 ) { $('html,body').animate({ scrollTop: ( $(".categoryHeader").offset().top - 20 ) }, 2000); } var checkedFilters = $("#filterForm input:checkbox:checked"); console.log("CHECKED FILTERS:"); console.log("LENGTH: " + checkedFilters.length); categoryID = category; /* clear filter tags */ $('.appliedFilterContainer').find('span').remove(); //console.log( "cats = ", getCategoryFilterData ); //console.log("categoryID apply button = " + categoryID); $('.filterMenu').css('visibility','hidden'); updateFilteredURL(); console.log("categoryID bind = " + categoryID); console.log("Get Articles Call: apply filter click"); articleBlogDateRestricted = [] /*** checks to see when getCategories call finishes and appCategories is populated ***/ if (appCategories != '') { getFilteredArticlesInCategoryList( checkedFilters, orderByParam, filterOptions ); } else { filterTimer = setInterval( function(){ if (appCategories != '') { clearInterval(filterTimer); getFilteredArticlesInCategoryList( checkedFilters, orderByParam, filterOptions ); } }, 1000); } }); /*** END getArticleSummaries ***/ /*** this block checks for URL category parameter list ***/ /*** then checks if filter menu is visible - if yes - update filters and trigger click on apply ***/ /*** if no - URL param will only have one cat - get cat ID and send to getArticleSummaries ***/ if ( categoryNameURLParam != '' || dateURLParam != '') { /* apply wait message first thing */ $('.primaryArticleSummaryContainer').html(waitMessage); // console.log("categoryNameURLParam:" + categoryNameURLParam); var categoryList = categoryNameURLParam.split(" "); var categoryListLength = categoryList.length; categoryFilterApplied = true; if (hideFilterMenu == false) { /* set category filter checkboxes */ for (var i = 0; i < categoryListLength; i++) { $('[data-catname="'+categoryList[i]+'"]').attr("checked","checked"); } /* set date filter radio button */ if (dateURLParam != '') { $('#'+dateURLParam).attr("checked","checked"); } // console.log("categoryFilterApplied in URL cat check with filter menu:"); // console.log(categoryFilterApplied); // console.log("dateFilter in URL radio check with filter menu:"); // console.log(dateURLParam); $('.applyFilter').get(0).click(); } else { /*** array list will be length of 1 here ***/ var catObj = getCategoryByName(categoryList[0]); /*** check if cat ID for url param is included in the categories assigned to the parent landing container ***/ for (var i = 0; i < catObj.length; i++) { if ( category.indexOf(catObj[i]['@id']) != -1 ) { var catFromURL = catObj[i]['@id']; } } /* update categoryID so that viewMore click works when cat query param exists */ //categoryID != '' ? categoryID = catFromURL : categoryID = category; console.log("categoryFilterApplied in URL cat check:" + categoryFilterApplied); articleBlogDateRestricted = [] getArticlesInCategoryList( catFromURL, orderByParam, filterOptions ); //getArticleSummaries( catFromURL, orderByDefaultProperty, orderByParam, filterOptions, 0, displayLimit); } } /* Show More event serviced here */ $('.viewMore').on('click', function(e) { e.preventDefault(); $(this).html(waitMessage); console.log("orderByParam in view more click:" + orderByParam); displayLimit = displayLimit + offset; console.log("here in viewMore click"); setTimeout(function(){ renderArticleCollection( articleBlogDateRestricted, displayLimit, orderByParam ); }, 1000); totalDisplayed = totalDisplayed + displayLimit; }); console.log("categoryFilterApplied for init:" + categoryFilterApplied); console.log("firstRun for init:" + firstRun); if (categoryFilterApplied == false ) { init(); } if (hideFilterMenu == false) { $( "input[type='radio']" ).checkboxradio(); $( "input[type='checkbox']" ).checkboxradio(); $( "#accordion" ).accordion({ collapsible: true, heightStyle: "content", icons: { "header": "ui-icon-plus", "activeHeader": "ui-icon-minus" }, beforeActivate: function(event, ui) { // The accordion believes a panel is being opened if (ui.newHeader[0]) { var currHeader = ui.newHeader; var currContent = currHeader.next('.ui-accordion-content'); // The accordion believes a panel is being closed } else { var currHeader = ui.oldHeader; var currContent = currHeader.next('.ui-accordion-content'); } // Since we've changed the default behavior, this detects the actual status var isPanelSelected = currHeader.attr('aria-selected') == 'true'; // Toggle the panel's header currHeader.toggleClass('ui-corner-all',isPanelSelected).toggleClass('accordion-header-active ui-state-active ui-corner-top',!isPanelSelected).attr('aria-selected',((!isPanelSelected).toString())); // Toggle the panel's icon currHeader.children('.ui-icon').toggleClass('ui-icon-plus',isPanelSelected).toggleClass('ui-icon-minus',!isPanelSelected); // Toggle the panel's content currContent.toggleClass('accordion-content-active',!isPanelSelected) if (isPanelSelected) { currContent.slideUp(); } else { currContent.slideDown(); } return false; // Cancel the default action } }); } currentView(); });