Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function(){
- var $ = window.optimizely.get('jquery');
- var utils = window.optimizely.get('utils');
- function reduxStore () {
- return window.store && window.store.getState().ads.placements.tab && window.store.getState().searchData;
- }
- function allTabsRendered () {
- var tabsCount = window.store.getState().ads.placements.tab.length;
- return $('.tab').length === tabsCount;
- }
- function markTabsClicked () {
- utils.waitForElement('.verticalTabs__children__wrapper').then(function(element){
- $(element).on('click', '.tab', function(){
- $(element).addClass('visited');
- });
- });
- }
- function generateTabsContent() {
- utils.observeSelector('.verticalTabs__children__wrapper span', function(){
- utils.waitUntil(allTabsRendered).then(function(){
- var tabs = window.store.getState().ads.placements.tab;
- $('.tab').each(function(index){
- $(this).empty();
- $(this).append('<div class="tab__name">'+tabs[index].displayName+'</div>');
- });
- });
- });
- }
- function generateHeaderSearchWidget() {
- utils.waitForElement('.verticalHeader__search').then(function(element){
- $(element).empty();
- var cities;
- var searchData = window.store.getState().searchData;
- var date1MonthShort = searchData.date1.toLocaleString('en', { month: "short" });
- var date2MonthShort = searchData.date2.toLocaleString('en', { month: "short" });
- var date1 = searchData.date1.getDate();
- var date2 = searchData.date2.getDate();
- var dates = '<span class="dates-wrapper">'+date1MonthShort+' '+date1+' - '+date2MonthShort+' '+date2+'</span>';
- if (searchData.origin && searchData.destination){
- cities = '<span class="cities-wrapper">'+searchData.origin.airport.code+' - '+searchData.destination.airport.code+'</span>';
- }
- if (searchData.destination){
- cities = '<span class="cities-wrapper">'+searchData.destination.airport.code+'</span>';
- }
- $('.verticalHeader__editDetails span').text('Edit trip details');
- $(element).append(cities+dates);
- $(element).css('visibility', 'visible');
- });
- }
- function generateWelcomeMessage() {
- utils.observeSelector('.tabContent__welcome-message', function(){
- var dealsCount = window.store.getState().ads.placements.tab.length;
- $('.tabContent__headline span').text('We Found '+ dealsCount +' Deals for Your Trip');
- $('.tabContent__subheadline span').text('Click to compare multiple sites and find great deals');
- $('.tabContent__tip span').text('See Deal');
- $('.tabContent__tip').on('click', function(){
- $('.tab:first-child').click();
- });
- $('.tabContent__welcome-message').css('visibility', 'visible');
- });
- }
- function init() {
- generateHeaderSearchWidget();
- generateTabsContent();
- generateWelcomeMessage();
- markTabsClicked();
- }
- utils.waitUntil(reduxStore).then(function(){
- /*init();*/
- window.store.subscribe(function(){
- });
- });
- })();
Add Comment
Please, Sign In to add comment