X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-demo.git;a=blobdiff_plain;f=afb-client%2Fbower_components%2Ftether%2Fdocs%2Fwelcome%2Fjs%2Fwelcome.js;fp=afb-client%2Fbower_components%2Ftether%2Fdocs%2Fwelcome%2Fjs%2Fwelcome.js;h=6f587e61b8d7d8be37670f9ffb66aba031ec70fd;hp=0000000000000000000000000000000000000000;hb=5b1e6cc132f44262a873fa8296a2a3e1017b0278;hpb=f7d2f9ac4168ee5064580c666d508667a73cefc0 diff --git a/afb-client/bower_components/tether/docs/welcome/js/welcome.js b/afb-client/bower_components/tether/docs/welcome/js/welcome.js new file mode 100644 index 0000000..6f587e6 --- /dev/null +++ b/afb-client/bower_components/tether/docs/welcome/js/welcome.js @@ -0,0 +1,193 @@ +(function() { + var init, isMobile, setupBrowserDemo, setupHero, _Drop; + + _Drop = Drop.createContext({ + classPrefix: 'tether' + }); + + isMobile = $(window).width() < 567; + + init = function() { + setupHero(); + return setupBrowserDemo(); + }; + + setupHero = function() { + var $target, finalDropState, frameLengthMS, frames, openAllDrops, openIndex, openNextDrop, position, positions, _i, _len; + $target = $('.tether-target-demo'); + positions = ['top left', 'left top', 'left middle', 'left bottom', 'bottom left', 'bottom center', 'bottom right', 'right bottom', 'right middle', 'right top', 'top right', 'top center']; + if (isMobile) { + positions = ['top left', 'bottom left', 'bottom right', 'top right']; + } + window.drops = {}; + for (_i = 0, _len = positions.length; _i < _len; _i++) { + position = positions[_i]; + drops[position] = new _Drop({ + target: $target[0], + classes: 'tether-theme-arrows-dark', + position: position, + constrainToWindow: false, + openOn: '', + content: '
' + }); + } + openIndex = 0; + frames = 0; + frameLengthMS = 10; + openAllDrops = function() { + var drop, _results; + _results = []; + for (position in drops) { + drop = drops[position]; + _results.push(drop.open()); + } + return _results; + }; + openNextDrop = function() { + var drop; + for (position in drops) { + drop = drops[position]; + drop.close(); + } + drops[positions[openIndex]].open(); + drops[positions[(openIndex + 6) % positions.length]].open(); + openIndex = (openIndex + 1) % positions.length; + if (frames > 5) { + finalDropState(); + return; + } + frames += 1; + return setTimeout(openNextDrop, frameLengthMS * frames); + }; + finalDropState = function() { + $(drops['top left'].dropContent).html('Marrying DOM elements for life.'); + $(drops['bottom right'].dropContent).html('★ On Github'); + drops['top left'].open(); + return drops['bottom right'].open(); + }; + if (true || isMobile) { + drops['top left'].open(); + drops['top left'].tether.position(); + drops['bottom right'].open(); + drops['bottom right'].tether.position(); + return finalDropState(); + } else { + return openNextDrop(); + } + }; + + setupBrowserDemo = function() { + var $browserContents, $browserDemo, $iframe, $sections, $startPoint, $stopPoint, scrollInterval, scrollTop, scrollTopDirection, setSection; + $browserDemo = $('.browser-demo.showcase'); + $startPoint = $('.browser-demo-start-point'); + $stopPoint = $('.browser-demo-stop-point'); + $iframe = $('.browser-window iframe'); + $browserContents = $('.browser-content .browser-demo-inner'); + $sections = $('.browser-demo-section'); + $('body').append(""); + $(window).scroll(function() { + var scrollTop; + scrollTop = $(window).scrollTop(); + if ($startPoint.position().top < scrollTop && scrollTop + window.innerHeight < $stopPoint.position().top) { + $browserDemo.removeClass('fixed-bottom'); + $browserDemo.addClass('fixed'); + return $sections.each(function() { + var $section; + $section = $(this); + if (($section.position().top < scrollTop && scrollTop < $section.position().top + $section.outerHeight())) { + setSection($section.data('section')); + } + return true; + }); + } else { + $browserDemo.removeAttr('data-section'); + $browserDemo.removeClass('fixed'); + if (scrollTop + window.innerHeight > $stopPoint.position().top) { + return $browserDemo.addClass('fixed-bottom'); + } else { + return $browserDemo.removeClass('fixed-bottom'); + } + } + }); + $iframe.load(function() { + var $items, iframeWindow; + iframeWindow = $iframe[0].contentWindow; + $items = $iframe.contents().find('.item'); + return $items.each(function(i) { + var $item, drop, _iframeWindowDrop; + $item = $(this); + _iframeWindowDrop = iframeWindow.Drop.createContext({ + classPrefix: 'tether' + }); + drop = new _iframeWindowDrop({ + target: $item[0], + classes: 'tether-theme-arrows-dark', + position: 'right top', + constrainToWindow: true, + openOn: 'click', + content: '' + }); + return $item.data('drop', drop); + }); + }); + scrollInterval = void 0; + scrollTop = 0; + scrollTopDirection = 1; + return setSection = function(section) { + var closeAllItems, openExampleItem, scrollLeftSection, stopScrollingLeftSection; + $browserDemo.attr('data-section', section); + $('.section-copy').removeClass('active'); + $(".section-copy[data-section=\"" + section + "\"]").addClass('active'); + openExampleItem = function() { + if (isMobile) { + return $iframe.contents().find('.item:first').data().drop.open(); + } else { + return $iframe.contents().find('.item:eq(2)').data().drop.open(); + } + }; + closeAllItems = function() { + return $iframe.contents().find('.item').each(function() { + return $(this).data().drop.close() || true; + }); + }; + scrollLeftSection = function() { + return scrollInterval = setInterval(function() { + $iframe.contents().find('.left').scrollTop(scrollTop); + scrollTop += scrollTopDirection; + if (scrollTop > 50) { + scrollTopDirection = -1; + } + if (scrollTop < 0) { + return scrollTopDirection = 1; + } + }, 30); + }; + stopScrollingLeftSection = function() { + return clearInterval(scrollInterval); + }; + switch (section) { + case 'what': + closeAllItems(); + openExampleItem(); + return stopScrollingLeftSection(); + case 'how': + closeAllItems(); + openExampleItem(); + stopScrollingLeftSection(); + return scrollLeftSection(); + case 'why': + closeAllItems(); + openExampleItem(); + stopScrollingLeftSection(); + return scrollLeftSection(); + case 'outro': + closeAllItems(); + openExampleItem(); + return stopScrollingLeftSection(); + } + }; + }; + + init(); + +}).call(this);