UNPKG

swagger-theme

Version:

Convert any API Specification into an awesome HTML documentation website

629 lines (541 loc) 17 kB
;(function ($) { "use strict"; //*=============menu sticky js =============*// var $window = $(window); var didScroll, lastScrollTop = 0, delta = 5, $mainNav = $("#sticky"), $mainNavHeight = $mainNav.outerHeight(), scrollTop; $window.on("scroll", function () { didScroll = true; scrollTop = $(this).scrollTop(); }); setInterval(function () { if (didScroll) { hasScrolled(); didScroll = false; } }, 200); function hasScrolled() { if (Math.abs(lastScrollTop - scrollTop) <= delta) { return; } if (scrollTop > lastScrollTop && scrollTop > $mainNavHeight) { $mainNav.removeClass("fadeInDown").addClass("fadeInUp").css('top', -$mainNavHeight); } else { if (scrollTop + $(window).height() < $(document).height()) { $mainNav.removeClass("fadeInUp").addClass("fadeInDown").css('top', 0); } } lastScrollTop = scrollTop; } function navbarFixed() { if ($('#sticky').length) { $(window).scroll(function () { var scroll = $(window).scrollTop(); if (scroll) { $("#sticky").addClass("navbar_fixed"); $(".sticky-nav-doc .body_fixed").addClass("body_navbar_fixed"); } else { $("#sticky").removeClass("navbar_fixed"); $(".sticky-nav-doc .body_fixed").removeClass("body_navbar_fixed"); } }); }; }; navbarFixed(); function navbarFixedTwo() { if ($('#stickyTwo').length) { $(window).scroll(function () { var scroll = $(window).scrollTop(); if (scroll) { $("#stickyTwo").addClass("navbar_fixed"); } else { $("#stickyTwo").removeClass("navbar_fixed"); } }); }; }; navbarFixedTwo(); //*=============menu sticky js =============*// // page scroll function bodyFixed() { var windowWidth = $(window).width(); if ($('#sticky_doc').length) { if (windowWidth > 576) { var tops = $('#sticky_doc'); var leftOffset = tops.offset().top; $(window).on('scroll', function () { var scroll = $(window).scrollTop(); if (scroll >= leftOffset) { tops.addClass("body_fixed"); } else { tops.removeClass("body_fixed"); } }); } } } bodyFixed(); /* Menu Click js */ function Menu_js() { if ($('.submenu').length) { $('.submenu > .dropdown-toggle').click(function () { var location = $(this).attr('href'); window.location.href = location; return false; }); } } Menu_js(); $('.doc_menu a[href^="#"]:not([href="#"]').on('click', function (event) { var $anchor = $(this); $('html, body').stop().animate({ scrollTop: $($anchor.attr('href')).offset().top }, 900); event.preventDefault(); }); $(window).on("load", function () { if ($('.scroll').length) { $(".scroll").mCustomScrollbar({ mouseWheelPixels: 50, scrollInertia: 0, }); } }); /*--------------- doc_documentation_area Switcher js--------*/ if ($(".doc_documentation_area").length > 0) { //switcher var switchs = true; $("#right").on("click", function (e) { e.preventDefault(); if (switchs) { $(".doc_documentation_area,#right").addClass("overlay"); $(".doc_right_mobile_menu").animate({ "right": "0px" }, 100); switchs = false; } else { $(".doc_documentation_area,#right").removeClass("overlay"); $(".doc_right_mobile_menu").animate({ "right": "-250px" }, 100); switchs = true; } }); $("#left").on("click", function (e) { e.preventDefault(); if (switchs) { $(".doc_documentation_area,#left").addClass("overlay"); $(".doc_mobile_menu").animate({ "left": "0px" }, 300); switchs = false; } else { $(".doc_documentation_area,#left").removeClass("overlay"); $(".doc_mobile_menu").animate({ "left": "-245px" }, 300); switchs = true; } }); } if ($(".mobile_menu").length > 0) { var switchs = true; $(".mobile_btn").on("click", function (e) { if (switchs) { $(".mobile_menu").addClass("open"); } }) } /*--------------- slick js--------*/ if ($('.doc_feedback_slider').length) { $('.doc_feedback_slider').slick({ autoplay: true, slidesToShow: 1, slidesToScroll: 1, autoplaySpeed: 2000, speed: 1000, dots: false, arrows: true, prevArrow: '.prev', nextArrow: '.next', }); } /*--------------- parallaxie js--------*/ function parallax() { if ($(".parallaxie").length) { $('.parallaxie').parallaxie({ speed: 0.5, }); } } parallax(); /*--------------- tooltip js--------*/ function tooltip() { if ($('.tooltips').length) { $('.tooltips').tooltipster({ interactive: true, arrow: true, animation: 'grow', delay: 200, }); } } tooltip(); $('.tooltips_one').data('tooltip-custom-class', 'tooltip_blue').tooltip(); $('.tooltips_two').data('tooltip-custom-class', 'tooltip_danger').tooltip(); $(document).on('inserted.bs.tooltip', function (e) { var tooltip = $(e.target).data('bs.tooltip'); $(tooltip.tip).addClass($(e.target).data('tooltip-custom-class')); }); /*--------------- wavify js--------*/ if ($('.animated-waves').length) { $('#animated-wave-three').wavify({ height: 40, bones: 4, amplitude: 70, color: "rgba(188, 214, 234, 0.14)", speed: .3 }); $('#animated-wave-four').wavify({ height: 60, bones: 5, amplitude: 90, color: "rgba(188, 214, 234, 0.14)", speed: .2 }); } /*--------------- nav-sidebar js--------*/ if ($('.nav-sidebar > li').hasClass('active')) { $(".nav-sidebar > li.active").find('ul').slideDown(700); } function active_dropdown() { $('.nav-sidebar > li .icon').on('click', function (e) { $(this).parent().find('ul').first().toggle(300); $(this).parent().siblings().find('ul').hide(300); }); } active_dropdown(); $('.nav-sidebar > li .icon').each(function () { var $this = $(this); $this.on('click', function (e) { var has = $this.parent().hasClass('active'); $('.nav-sidebar li').removeClass('active'); if (has) { $this.parent().removeClass('active'); } else { $this.parent().addClass('active'); } }); }); /*--------------- mobile dropdown js--------*/ function active_dropdown2() { $('.menu > li .mobile_dropdown_icon').on('click', function (e) { $(this).parent().find('ul').first().slideToggle(300); $(this).parent().siblings().find('ul').hide(300); }); } active_dropdown2(); /*--------------- search js--------*/ $('.search a').on('click', function () { if ($(this).parent().hasClass('open')) { $(this).parent().removeClass('open') } else { $(this).parent().addClass('open') } return false }); /*--------------- niceSelect js--------*/ function select() { if ($('.custom-select').length) { $('.custom-select').niceSelect(); } if ($('#mySelect').length) { $('#mySelect').selectpicker(); } } select(); /*--------------- counterUp js--------*/ function counterUp() { if ($('.counter').length) { $('.counter').counterUp({ delay: 1, time: 250 }); }; }; counterUp(); /*--------------- popup-js--------*/ function popupGallery() { if ($(".img_popup").length) { $(".img_popup").each(function () { $(".img_popup").magnificPopup({ type: 'image', closeOnContentClick: true, closeBtnInside: false, fixedContentPos: true, removalDelay: 300, mainClass: 'mfp-no-margins mfp-with-zoom', image: { enabled: true, navigateByImgClick: true, preload: [0, 1] // Will preload 0 - before current, and 1 after the current image, } }); }) } } popupGallery(); /*--------------- video js--------*/ function video() { if ($("#inline-popups").length) { $('#inline-popups').magnificPopup({ delegate: 'a', removalDelay: 500, //delay removal by X to allow out-animation mainClass: 'mfp-no-margins mfp-with-zoom', preloader: false, midClick: true }); } } video(); /*=========== Font size switcher/controller ===========*/ if ($('#post').length > 0) { $.rvFontsize({ targetSection: '#post', store: true, // store.min.js required! controllers: { appendTo: '#rvfs-controllers', showResetButton: true } }); } /*=========== anchors js ===========*/ if ($(".load-order-2").length) { var Anchor1 = new AnchorJS(); document.addEventListener("DOMContentLoaded", function (event) { Anchor1 = new AnchorJS(); Anchor1.add('.load-order-2'); }); } /*--------- WOW js-----------*/ function bodyScrollAnimation() { var scrollAnimate = $('body').data('scroll-animation'); if (scrollAnimate === true) { new WOW({}).init() } } bodyScrollAnimation(); $('.mobile_menu_btn').on('click', function () { $('body').removeClass('menu-is-closed').addClass('menu-is-opened'); }); $('.close_nav').on("click", function (e) { if ($('.side_menu').hasClass('menu-opened')) { $('.side_menu').removeClass('menu-opened'); $('body').removeClass('menu-is-opened') } else { $('.side_menu').addClass('menu-opened'); } }); $('.click_capture').on('click', function () { $('body').removeClass('menu-is-opened').addClass('menu-is-closed'); $('.side_menu').removeClass('menu-opened'); }); /*--------------- Tab button js--------*/ $('.next').on('click', function () { $('.v_menu .nav-item > .active').parent().next('li').find('a').trigger('click'); }); $('.previous').on('click', function () { $('.v_menu .nav-item > .active').parent().prev('li').find('a').trigger('click'); }); function Click_menu_hover() { if ($('.tab-demo').length) { $.fn.tab = function (options) { var opts = $.extend({}, $.fn.tab.defaults, options); return this.each(function () { var obj = $(this); $(obj).find('.tabHeader li').on(opts.trigger_event_type, function () { $(obj).find('.tabHeader li').removeClass('active'); $(this).addClass('active'); $(obj).find('.tabContent .tab-pane').removeClass('active show'); $(obj).find('.tabContent .tab-pane').eq($(this).index()).addClass('active show'); }) }); } $.fn.tab.defaults = { trigger_event_type: 'click', //mouseover | click 默认是click }; } } Click_menu_hover(); function Tab_menu_activator() { if ($('.tab-demo').length) { $('.tab-demo').tab({ trigger_event_type: 'mouseover' }); } } Tab_menu_activator(); function fAqactive() { $(".doc_faq_info .card").on('click', function () { $(".doc_faq_info .card").removeClass("active"); $(this).addClass('active'); }); } fAqactive(); function general() { $('.collapse-btn').on('click', function (e) { e.preventDefault(); $(this).toggleClass('active') $(".collapse-wrap").slideToggle(500); }); $('.short-by a').click( function() { $(this).toggleClass('active-short').siblings().removeClass('active-short'); }); } general() /*------------------------------------- Intersection Observer -------------------------------------*/ if (!!window.IntersectionObserver) { let observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add("active-animation"); //entry.target.src = entry.target.dataset.src; observer.unobserve(entry.target); } }); }, { rootMargin: "0px 0px -100px 0px" }); document.querySelectorAll('.has-animation').forEach(block => { observer.observe(block) }); } else { document.querySelectorAll('.has-animation').forEach(block => { block.classList.remove('has-animation') }); } // === Image Magnify if ($('.zoom').length) { $('.zoom').magnify({ afterLoad: function () { console.log('Magnification powers activated!'); } }); } // === Back to Top Button var back_top_btn = $('#back-to-top'); $(window).scroll(function() { if ($(window).scrollTop() > 300) { back_top_btn.addClass('show'); } else { back_top_btn.removeClass('show'); } }); back_top_btn.on('click', function(e) { e.preventDefault(); $('html, body').animate({scrollTop:0}, '300'); }); $('.custom-select').change(function() { if($('.custom-select').val() !== 'default' ) { window.open($('.custom-select').val(), '_blank'); } }); $('.btn-model-example').click(function() { $(this).css('font-weight', 'bold').parents('.request-box-value').find('.model-example').show(); $(this).parents('.request-box-value').find('.model-definition').hide(); $(this).parents('.request-box-value').find('.btn-model-definition').css('font-weight', 'normal'); }); $('.btn-model-definition').click(function() { $(this).parents('.request-box-value').find('.model-example').hide() $(this).css('font-weight', 'bold').parents('.request-box-value').find('.model-definition').show() $(this).parents('.request-box-value').find('.btn-model-example').css('font-weight', 'normal'); }); $('.zama-code-button').click(function() { const name = $(this).attr('data-name'); const zamaCode = $(this).parents('.zama-code'); zamaCode.find('.zama-code-button').removeClass('active'); zamaCode.find(`.zama-code-button[data-name=${name}]`).addClass('active'); zamaCode.find('.highlight').hide(); zamaCode.find(`.highlight.${name}`).show(); }); $('.navbar-toggler').click(function() { const navTitle = $('.doc_mobile_menu').css('position', 'fixed').css("z-index", 1000).show().find('.nav_title'); if(!$('.zama-close-btn').length) { navTitle.append(`<span onclick="window.zamaCloseBtnHandler()" class="zama-close-btn">X</span>`); } $('html, body').scrollTop(0) TweenMax.to(document.body, 0.5, {x: 300}); TweenMax.fromTo($('.doc_mobile_menu'), 1, {scale: 1, x: -35}, { scale: 1, x: -35}); $('a.nav-link').click(() => { $('.doc_mobile_menu').attr('style', ''); TweenMax.to(document.body, 0.5, {x: 0, onComplete: () => $(document.body).attr('style', '')}); }); }); window.zamaCloseBtnHandler = () => { $('.doc_mobile_menu').attr('style', ''); $('a.nav-link').off('click'); TweenMax.to(document.body, 0.5, {x: 0, onComplete: () => $(document.body).attr('style', '')}); } $('.api-path-try-btn').click(function() { const pathId = $(this).attr('data-id'); window.zamaPopup.createRequest(pathId); }); const zamaSearchOpen = () => { $('html, body').scrollTop(0); $('.zama-search-open-btn').hide(); $('.zama-search-close-btn').show(); $('.search_form input').show() TweenMax.to($('.zama-search-txt'), 0.5, {opacity: 1}); TweenMax.to(document.body, 0.5, {y: 300, scale: 0.8, boxShadow: 'rgba(0, 0, 0, 0.2) 4px -20px 20px 0px'}); if ($(window).width() > 600) { TweenMax.to($('.search_form'), 0.5, {y: -400, x: '-65%', scale: 2, width: '40%'}); } else { TweenMax.to($('.search_form'), 0.5, {y: -400, x: '-68%', scale: 2, width: '60%'}); } $('.zama-search-result').show(); $('.zama-search-txt').focus(); } const zamaSearchClose = () => { $('.zama-search-open-btn').show(); $('.zama-search-close-btn').hide(); TweenMax.to($('.zama-search-txt'), 0.5, {opacity: 0}); TweenMax.to(document.body, 0.5, {y: 0, scale: 1, onComplete: () => $(document.body).attr('style', '')}); TweenMax.to($('.search_form'), 0.5, {y: 0, x: '0%', scale: 1, width: 50, onComplete: () => $('.search_form input').hide()}); $('.zama-search-result').hide(); } $('.zama-search-open-btn').click(function() { zamaSearchOpen(); }); $('.zama-search-close-btn').click(function() { zamaSearchClose(); }); $('.zama-search-txt').on('input', function() { const lc = (str) => (str || '').toLowerCase(); const value = lc($(this).val()); if (value.length > 1) { const {paths = []} = pathsObject; const filteredPaths = paths.filter(({summary = '', pathName = '', tags = []}) => lc(summary).includes(value) || lc(pathName).includes(value) || lc(tags.join(' ')).includes(value)); $('.zama-search-result').html(''); filteredPaths.forEach(({ id, summary }) => { $('.zama-search-result').append(`<h5 data-id="${id}">${summary}</h5>`); }) $('.zama-search-result h5').off('mousedown'); $('.zama-search-result h5').mousedown(function() { zamaSearchClose(); const id = $(this).attr('data-id'); setTimeout(() => { $('html, body').animate({scrollTop: $(`#${id}`).offset().top}, '2000'); }, 500); }); } }); $('.zama-search-txt').blur(function() {}); window.zamaPopup = new ZamaPopup(); window.zamaPopup.injectPopup(); })(jQuery);