The Global Innovation Center Blog (2024)

The Global Innovation Center Blog (3)

Posted: {{formatDate contentPostDate}}

Category: {{#each categories}} {{{getCategoryLink .. this}}} {{/each}}

{{#if articleAuthor}}

Author: {{{returnAuthor articleAuthor}}}

{{/if}}

{{#ifcheckNewIcon newIconStartDate newIconEndDate}}{{/ifcheckNewIcon}} {{{articleTitle}}}

{{{subTitle}}}

Read More

{{/.}}

Sort By:Oldest | Newest

Filtered by:

Loading results...

View More Articles

'; 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(); });

The Global Innovation Center Blog (2024)

FAQs

What is innovation answers? ›

Innovation is a process by which a domain, a product, or a service is renewed and brought up to date by applying new processes, introducing new techniques, or establishing successful ideas to create new value. The creation of value is a defining characteristic of innovation.

Find Out More
Why is innovation important? ›

People who innovate can help foster success in business as they enable companies to create new products, improve existing ones and move the industry forward. Innovation can be anything from a new idea to a completely disruptive product or service. It can also take many forms.

View Details
Why do entrepreneurs need innovation? ›

Innovation is a key driver of entrepreneurship and plays a critical role in the success of companies. Innovation allows entrepreneurs to identify new opportunities, solve problems, and bring new products and services to market.

Know More
What is the role of innovation in small business? ›

Innovation keeps your business fresh

With all of the tech advances rapidly taking place, concepts and products can become stale fast. Innovating the way you keep abreast of these trends will help ensure that you're tailoring your products and services accordingly, keeping you and your company relevant and prosperous.

Get More Info
What does innovation teach us? ›

Innovation education helps prepare students for a dynamic workplace by providing them opportunities to develop skills such as creativity, adaptability, and resilience.

Read More
What are the key points of innovation? ›

The Four Key Elements of Innovation: Collaboration, Ideation, Implementation and Value Creation. Innovation requires collaboration, ideation, implementation and value creation. Community developers actively engaged in innovation illustrated each of these elements during breakout sessions.

See More
What is the true meaning of innovation? ›

in·​no·​va·​tion ˌin-ə-ˈvā-shən. 1. : the introduction of something new. 2. : a new idea, method, or device.

Continue Reading
What is innovation in daily life? ›

At its core, innovation in personal and everyday contexts is about embracing change, challenging the status quo, and finding new ways to enhance our daily routines and overall quality of life.

Read More
Is innovation really needed? ›

Innovation can help you develop unique products and services that set you apart from competitors. Over 80% of digitally mature companies cite innovation as one of their core strengths. Meet customer demands. Sixty-five percent of fast-growing companies say they collaborate with their customers on potential innovations.

Get More Info Here
What is the difference between innovation and invention? ›

Invention involves creating something entirely new, for example the first light bulbs or the telephone. Innovation, on the other hand, is the process of improving the existing creations or finding new applications for them.

Discover More Details

How does innovation add value to an organization? ›

Innovation plays a key role in introducing novelty to existing product lines or processes, leading to increased market share, revenue, and customer satisfaction. Sometimes innovation is used to upgrade the operating systems of the business or to introduce modern technologies for automation.

Know More
What are the pros and cons of innovation? ›

While it has several benefits, such as a competitive advantage, higher productivity, and an improved customer experience, it also has drawbacks such as high expenses, reluctance to change, and ethical considerations.

Tell Me More
What is innovation in business in simple words? ›

In a business context, innovation is the ability to conceive, develop, deliver, and scale new products, services, processes, and business models for customers. Successful innovation delivers net new growth that is substantial.

Read On
Why does innovation matter? ›

By focusing energy on innovation, you are able to lead the industry with new ideas and are always thinking toward the future. Innovative concepts and developments reduce the likelihood that a company will be working to follow others and potentially fall behind.

Keep Reading
What is innovation in your own words? ›

Innovation is defined as the process of bringing about new ideas, methods, products, services, or solutions that have a significant positive impact and value. It involves transforming creative concepts into tangible outcomes that improve efficiency, and effectiveness, or address unmet needs.

View Details
What is the innovation of meaning? ›

According to the Innovation of Meaning approach, organizations envision scenarios to support the search for new meaning and to make people fall in love. This concerns a novel vision that redefines the problems worth addressing, proposing a new reason why people use something, a new value proposition, a new vision.

Read The Full Story
What is the meaning of innovative answer? ›

(ɪnəvətɪv ) Something that is innovative is new and original.

Get More Info Here
How do you answer a question about innovation? ›

Example: "When it comes to creating new ideas, I like to focus on what people might need or how can I make some aspect of their life easier that doesn't exist yet. This ensures the innovations I develop are applicable, valuable, and truly innovative."

View More

References

Top Articles
Roblox Gui Scripting Tutorial – Complete Guide
Graduate Admissions | The Graduate School
Walmart.com Careers Job Application Online
Battanian Fian
CHIPS Articles: Fleet Cyber Readiness: Cyber Operational Response Procedures
CPCON Levels of Cyber Protection | Scan On Computer
Sapphire Ycsd
Academic calendar - English
Syfy Wiki
Glory-hole method | excavation process
Shop Smart: Robo Vacuums, Home Favorites & Early Prime Day Discounts! - mashable.com
The Only Three Self-Cleaning Litter Boxes We Recommend
Latest Posts
PGA Championship live golf scores, results, highlights from Friday's Round 2 leaderboard | Sporting News
FSU Admissions | Majors
Article information

Author: Jeremiah Abshire

Last Updated:

Views: 6802

Rating: 4.3 / 5 (74 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Jeremiah Abshire

Birthday: 1993-09-14

Address: Apt. 425 92748 Jannie Centers, Port Nikitaville, VT 82110

Phone: +8096210939894

Job: Lead Healthcare Manager

Hobby: Watching movies, Watching movies, Knapping, LARPing, Coffee roasting, Lacemaking, Gaming

Introduction: My name is Jeremiah Abshire, I am a outstanding, kind, clever, hilarious, curious, hilarious, outstanding person who loves writing and wants to share my knowledge and understanding with you.