;(function(){
// init search
$('.theme-switch a').click(function (e) {
if ($(this).hasClass('active')) {
return;
}
e.preventDefault();
var url = $(this).attr('href');
$('header .phone iframe').attr('src', url);
$('.theme-switch a').toggleClass('active');
$('header .phone').toggleClass('phone-android');
$('header .phone .fullscreen').attr('href', url);
});
// Docs scroll spy
var demoDevicePreviewLink;
function handleDeviceScroll() {
var st = $(window).scrollTop();
var firstPreviewPosition = $('[data-device-preview]:first').offset().top;
var device = $('.docs-demo-device:not(.docs-inline-device)');
device.addClass('visible');
var deviceStartOffset = device.parent().offset().top;
var devicePosition = st - deviceStartOffset;
if(devicePosition < firstPreviewPosition - deviceStartOffset) {
devicePosition = firstPreviewPosition - deviceStartOffset;
}
if (devicePosition + device.outerHeight() > device.parent().outerHeight()) {
devicePosition = device.parent().outerHeight() - device.outerHeight();
}
var stopPosition;
if ($('.stop-scroll-device').length > 0) {
stopPosition = $('.stop-scroll-device').offset().top;
} else {
stopPosition = $('.docs-content .with-device').offset().top + $('.docs-content .with-device').outerHeight();
}
if (stopPosition) {
if (devicePosition + device.outerHeight() > stopPosition - deviceStartOffset) {
devicePosition = stopPosition - device.outerHeight() - deviceStartOffset;
}
}
device.css({top: devicePosition});
var newPreviewLink;
$('[data-device-preview]').each(function(){
var link = $(this);
if (link.offset().top < st + $(window).height()/2 - 200) {
newPreviewLink = link.attr('data-device-preview');
}
});
if (!newPreviewLink) newPreviewLink = $('[data-device-preview]:first').attr('data-device-preview');
if (newPreviewLink !== demoDevicePreviewLink) {
demoDevicePreviewLink = newPreviewLink;
device.find('.fade-overlay').addClass('visible');
var onLoadTriggerd;
device.find('iframe')[0].onload = function() {
onLoadTriggerd = true;
setTimeout(function () {
device.find('.fade-overlay').removeClass('visible');
}, 0);
};
setTimeout(function () {
if (!onLoadTriggerd) {
device.find('.fade-overlay').removeClass('visible');
}
}, 1000);
device.find('iframe').attr('src', newPreviewLink);
}
}
if ($('.docs-content .with-device').length > 0) {
$(window).resize(function(){
handleDeviceScroll();
});
$(window).scroll(function(){
handleDeviceScroll();
});
handleDeviceScroll();
}
if ($('.docs-demo-device').length > 0) {
$('.docs-demo-device-buttons a').on('click', function (e) {
e.preventDefault();
var a = $(this);
if (a.hasClass('active')) return;
a.parent().find('.active').removeClass('active');
a.addClass('active');
var device = a.parents('.docs-demo-device');
var theme = a.attr('data-theme');
var src = device.find('iframe').attr('src');
device.find('.fade-overlay').addClass('visible');
device
.removeClass('docs-demo-device-ios docs-demo-device-android')
.addClass('docs-demo-device-' + (theme === 'md' ? 'android' : 'ios'));
device.find('iframe').attr('src', src.split('?')[0] + '?theme=' + theme);
setTimeout(function () {
device.find('.fade-overlay').removeClass('visible');
}, 1000);
});
}
})();