/// $(document).ready(function () { // set dropdown if ($('#news-period-dropdown').length > 0) { var newsPeriodDropdown = new Menubutton(document.getElementById('news-period-dropdown')); newsPeriodDropdown.init(); } if ($('#news-region-dropdown').length > 0) { var newsRegionDropdown = new Menubutton(document.getElementById('news-region-dropdown')); newsRegionDropdown.init(); } if ($('#news-sector-dropdown').length > 0) { var newsSectorDropdown = new Menubutton(document.getElementById('news-sector-dropdown')); newsSectorDropdown.init(); } // add tabindex to search button $('.news__top__submit').attr('tabindex', 0); var region = getUrlParameter('region'); var industry = getUrlParameter('industry'); // get json data for cards var newsCardJSON; var mediaCardJSON; var otherNewsJSON; var isLoading = false; var nextPage = ''; var newsCardApi = apiDomain + "/api/news?language=" + htmlLang; var otherNewsPage = apiDomain + '/api/related-cards?type=news&language=' + htmlLang; var currentPageCount = 0; var totalItemCount; // get templates var newsHeader = $('script[data-template="newsHeader"]').text().split(/\$\{(.+?)\}/g); var newsItem = $('script[data-template="newsItem"]').text().split(/\$\{(.+?)\}/g); var newsMedia = $('script[data-template="newsMedia"]').text().split(/\$\{(.+?)\}/g); var otherNewsItem = $('script[data-template="otherNewsItem"]').text().split(/\$\{(.+?)\}/g); $('.news__more').addClass('hidden'); //first load if (typeof region == 'undefined') { region = ''; } if (typeof industry == 'undefined') { industry = ''; } if (region != '' || industry != '') { // auto search setDropdownAndSearch(); } else { if (lang == 'ja' || lang == 'fr') { setDefaultRegionAndSearch(); } else { // show news getJsonCards(newsCardApi); } } // other hong kong news getJsonOtherNews(otherNewsPage); // get cards via JSON function getJsonOtherNews(otherNewsPage) { $.ajax({ url: otherNewsPage }).done(function (data) { // get data otherNewsJSON = data; // bind data to templates $('.other-hk-news__list').append(otherNewsJSON.map(function (item, index) { return otherNewsItem.map(render(item)).join(''); })); setAutoHeight($('.other-hk-news__list__item')); templateReplaceAttribute(); }); } // bind keyword input press enter $('.news .news__top__input').keypress(function (e) { if (e.which == 13) { e.preventDefault(); $('.news__top__submit').click(); } }); $('.news__top__submit').click(function (e) { newsTopSubmitClick(e); }); $('.news__top__submit').keydown(function (e) { if (e.keyCode == 13) { newsTopSubmitClick(e); } }); function newsTopSubmitClick(e) { e.preventDefault(); currentPageCount = 0; // init load more button // $('.case-studies__moreContainer').hide(0) $('.news__more').addClass('hidden'); // add loading and clear all cards $('.news__cards').html(''); $('
').appendTo($('.news__cards')); var formData = $('#searchNews').serialize(); getJsonCards(newsCardApi + "&" + formData); } //first load //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 newsCardJSON = data._items; if (data._media) { mediaCardJSON = data._media; } nextPage = data._metadata.next; totalItemCount = data._metadata.total_count; // bind data to templates if (totalItemCount <= 0 || typeof nextPage == 'undefined' || typeof newsCardJSON == 'undefined') { $('.result_not_found').addClass('active'); $('.loadMoreButton').addClass('hidden'); $('.news__cards .loader').remove(); } else { $('.result_not_found').removeClass('active'); $('.news__cards').append(newsCardJSON.map(function (item, index) { if (index == 0) { return newsHeader.map(render(item)).join(''); } else { return newsItem.map(render(item)).join(''); } })); } // display cards loadJSONCards({ cardsToDisplay: 11, cardClass: 'newsCard', loadMoreButtonClass: 'news__more', cardParent: 'news__cards', totalCards: totalItemCount }); // if($('.newsCard').length < 4 && totalItemCount > 0){ // console.log(1) // $('.news__cards').append(mediaCardJSON.map(function (item, index):string { // return newsMedia.map(render(item)).join(''); // })); // }else{ // if($('.newsCard.media-contact').length <= 0){ // console.log(2) $('.newsCard').each(function (index) { var checkSection = currentPageCount * 4; // get divisible section var numberDivisibleCheck = isOdd(currentPageCount + 1); var mediaCardAddPoint; // if(numberDivisibleCheck) { // mediaCardAddPoint = 5 + (currentPageCount *5); // }else{ // mediaCardAddPoint = 0 + (currentPageCount *5); // } if (numberDivisibleCheck) { mediaCardAddPoint = 9 + (currentPageCount * 11); } else { mediaCardAddPoint = 6 + (currentPageCount * 11); } // add card every multiple of 10 then 6, then 10 etc. if (index + 1 >= checkSection) { if (index === mediaCardAddPoint) { $(this).after(mediaCardJSON.map(function (item, index) { return newsMedia.map(render(item)).join(''); })); } } }); //} //} // if no media, add in the last position /// && $('.newsCard.media-contact').length <= 0 // if($('.newsCard').length > 0){ // $('.news__cards').append(mediaCardJSON.map(function (item, index):string { // return newsMedia.map(render(item)).join(''); // })); // } if (nextPage == '') { $('.news__more').addClass('hidden'); } currentPageCount++; $('.newsCard.media-contact').removeClass('hidden'); templateReplaceAttribute(); cssObjectFit($('.newsCard__image')); isLoading = false; setNewsCardTitle(); }); } } function setDropdownAndSearch() { if (region != '') { decodeURIComponent; region = decodeURIComponent(region); var obj_1 = $('.news__top input[name="news_region"]').parents('.news__searchItems').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 = $('.news__top input[name="industry"]').parents('.news__searchItems').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 () { $('.news__top__submit').click(); }, 600); } else { setDefaultRegionAndSearch(); } } }); function isOdd(num) { return (num % 2) == 1; } 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 = $('.news__top input[name="news_region"]').parents('.news__searchItems').find('ul ul li'); obj_3.each(function (index) { if (showname_1 == $(this).attr('data-value')) { obj_3.eq(index).click(); } }); // search setTimeout(function () { $('.news__top__submit').click(); }, 600); } } function setNewsCardTitle() { $('.newsCard').each(function () { $(this).find(' > a').attr('aria-label', $(this).find('.newsCard__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]; } } }; function setAutoHeight(obj) { if ($(window).width() > 580) { function setHeight(obj) { var maxHeight = 0; obj.each(function (index, item) { var h = $(this).height(); maxHeight = h > maxHeight ? h : maxHeight; maxHeight = Math.ceil(maxHeight); }); obj.attr('style', 'height:' + maxHeight + 'px'); } function resetHeight(obj) { obj.removeAttr('style'); } resetHeight(obj); setHeight(obj); $(window).resize(function () { resetHeight(obj); if ($(window).width() >= 580) { setHeight(obj); } }); } else { obj.removeAttr('style'); } }