/// /// /// $(document).ready(function () { // set dropdown if ($('#case-studies-region-dropdown').length > 0) { var caseStudiesRegionDropdown = new Menubutton(document.getElementById('case-studies-region-dropdown')); caseStudiesRegionDropdown.init(); } if ($('#case-studies-industry-dropdown').length > 0) { var caseStudiesIndustryDropdown = new Menubutton(document.getElementById('case-studies-industry-dropdown')); caseStudiesIndustryDropdown.init(); } var region = getUrlParameter('region'); var industry = getUrlParameter('industry'); var isSearching = false; // get json data for cards var caseStudiesCardJSON; var caseStudiesCardTopJSON; var hastagJSON; var isLoading = false; var hastagTopJSON; var nextPage = ''; var caseStudiesCardApi = apiDomain + "/api/case-studies?language=" + htmlLang; var cardTopPage = apiDomain + "/api/highlight-card?type=case-studies&language=" + htmlLang; var totalItemCount; // get templates var caseCardHashTag = $('script[data-template="tags"]').text().split(/\$\{(.+?)\}/g); var caseCard = $('script[data-template="caseStudiesCard"]').text().split(/\$\{(.+?)\}/g); var caseCardTopHashTag = $('script[data-template="tags"]').text().split(/\$\{(.+?)\}/g); var caseCardTop = $('script[data-template="caseStudiesCardTop"]').text().split(/\$\{(.+?)\}/g); // Search case studies $('.case-studies__top__button').click(function (e) { caseStudiesTopButtonClick(e); }); $('.case-studies__top__button').keydown(function (e) { if (e.keyCode == 13) { caseStudiesTopButtonClick(e); isKeyboardUser = true; } }); function caseStudiesTopButtonClick(e) { e.preventDefault(); // init load more button // $('.case-studies__moreContainer').hide(0) $('.loadMoreButton').addClass('hidden'); // add loading and clear all cards $('.case-studies__content__cards').html(''); $('
').appendTo($('.case-studies__content__cards')); var formData = $('#searchCaseStudies').serialize(); getJsonCards(caseStudiesCardApi + '&' + formData); isSearching = true; } //first load if (typeof region == 'undefined') { region = ''; } if (typeof industry == 'undefined') { industry = ''; } setDropdownAndSearch(); getJsonCards(caseStudiesCardApi + '®ion=' + region + '&industry=' + industry); getJsonCardTop(cardTopPage); //load more news $('.loadMoreButton').click(function () { getJsonCards(nextPage); }); // get cards via JSON function getJsonCards(currentPage) { if (!isLoading) { isLoading = true; currentPage = currentPage; $.ajax({ url: currentPage }).done(function (data) { // get data caseStudiesCardJSON = data._items; hastagJSON = data.items; nextPage = data._metadata.next; totalItemCount = data._metadata.total_count; // bind data to templates if (totalItemCount <= 0 || typeof nextPage == 'undefined' || typeof caseStudiesCardJSON == 'undefined') { $('.result_not_found').addClass('active'); $('.loadMoreButton').addClass('hidden'); $('.case-studies__content__cards .loader').remove(); } else { $('.result_not_found').removeClass('active'); $('.case-studies__content__cards').append(caseStudiesCardJSON.map(function (item, index) { var finalHashTag = item.hashtag.map(function (item, index) { return caseCardHashTag.map(render(item)).join(''); }).join(''); item["hashtagFinal"] = finalHashTag; return caseCard.map(render(item)).join(''); })); } templateReplaceAttribute(); cssObjectFit($('.caseStudiesCard__image')); // display cards loadJSONCards({ cardsToDisplay: 9, cardClass: 'caseStudiesCard', loadMoreButtonClass: 'case-studies__more', cardParent: 'case-studies__content__cards', totalCards: totalItemCount }); isLoading = false; if (isSearching) { isSearching = false; setTimeout(function () { scrollToResults(); }, 100); } setCaseStudiesCardTitle(); }); } } // get cards via JSON function getJsonCardTop(page) { $.ajax({ url: page }).done(function (data) { // get data caseStudiesCardTopJSON = data; hastagTopJSON = data; // bind data to templates $('.case-studies__content .case-studies__inner').prepend(caseStudiesCardTopJSON.map(function (item, index) { var finalHashTag = item.hashtag.map(function (item, index) { return caseCardTopHashTag.map(render(item)).join(''); }).join(''); item["hashtagFinal"] = finalHashTag; return caseCardTop.map(render(item)).join(''); })); templateReplaceAttribute(); // display cards cssObjectFit($('.case-studies__cover__image')); loadAsset('case-studies__cover'); setCaseStudiesCoverLink(); setCaseStudiesCardTopTitle(); }); } function setDropdownAndSearch() { if (region != '') { region = decodeURIComponent(region); var obj_1 = $('.case-studies__top__item input[name="region"]').parents('.case-studies__top__item').find('ul li'); obj_1.each(function (index) { if (region == $(this).find('a').attr('data-value')) { obj_1.eq(index).click(); } }); } if (industry != '') { industry = decodeURIComponent(industry); var obj_2 = $('.case-studies__top__item input[name="industry"]').parents('.case-studies__top__item').find('ul li'); obj_2.each(function (index) { if (industry == $(this).find('a').attr('data-value')) { obj_2.eq(index).click(); } }); } if (region != '' || industry != '') { // search setTimeout(function () { $('.case-studies__top__button').click(); }, 600); } else { setDefaultRegionAndSearch(); } } $(document).on('keydown', ".case-studies__cover > a", function (e) { if (e.keyCode == 13) { window.location.href = $(this).attr('href'); } }); }); function scrollToResults() { var headerHeight = $('#header').outerHeight(true); var breadcrumbsHeight = $('.breadcrumbs').outerHeight(true); var caseStudiesHeader = $('.case-studies__header').outerHeight(true); var caseStudiesCover = $('.case-studies__cover').outerHeight(true); var caseStudiesCoverRight = $('.case-studies__cover__right').innerHeight(); var caseStudiesCoverLeft = $('.case-studies__cover__left').innerHeight(); var elementAboveTop = headerHeight + breadcrumbsHeight + caseStudiesHeader + caseStudiesCover; var bufferHeight; var cardsTop = $('.case-studies__content__cards').offset().top; var toPosTop; if ($(window).width() > 1200) { bufferHeight = 60; } else if ($(window).width() > 580 && $(window).width() <= 1200) { bufferHeight = 90; } else if ($(window).width() <= 580) { bufferHeight = 70; } toPosTop = elementAboveTop - bufferHeight; $('html,body').animate({ scrollTop: toPosTop + 'px' }, 800, function () { // set focus to first item if (isKeyboardUser) { isKeyboardUser = false; setTimeout(function () { $('.caseStudiesCard:first a:first').focus(); }, 30); } }); } function setDefaultRegionAndSearch() { // for japan and france if (lang == 'ja' || lang == 'fr') { var currentLang = $('html').attr('lang'); var showname_1; if (lang == 'ja') { showname_1 = 'Japan'; } else if (lang == 'fr') { showname_1 = 'France'; } var obj_3 = $('.case-studies__top__item input[name="region"]').parents('.case-studies__top__item').find('ul ul li'); obj_3.each(function (index) { if (showname_1 == $(this).attr('data-value')) { obj_3.eq(index).click(); } }); // search setTimeout(function () { $('.case-studies__top__button').click(); }, 600); } } function setCaseStudiesCoverLink() { // let link = $('.case-studies__cover > a').attr('href'); // $('.case-studies__cover').wrapInner('') // $('.case-studies__cover > a').remove() } function setCaseStudiesCardTopTitle() { $('.case-studies__cover > a').attr('aria-label', $('.case-studies__cover h2').text()); } function setCaseStudiesCardTitle() { $('.caseStudiesCard').each(function () { $(this).find(' > a').attr('aria-label', $(this).find('.caseStudiesCard__text').text()); }); } var getUrlParameter = function getUrlParameter(sParam) { var sPageURL = window.location.search.substring(1), sURLVariables = sPageURL.split('&'), sParameterName, i; for (i = 0; i < sURLVariables.length; i++) { sParameterName = sURLVariables[i].split('='); if (sParameterName[0] === sParam) { return sParameterName[1] === undefined ? true : sParameterName[1]; } } };