127 lines
2.7 KiB
JavaScript
127 lines
2.7 KiB
JavaScript
var App = {
|
|
|
|
_isWithTooltips: false,
|
|
|
|
init: function () {
|
|
App._tableSorters()
|
|
App._tooltips()
|
|
App._navDoc()
|
|
|
|
$(window).on('resize', App._tooltips)
|
|
|
|
$(document).on('shown.bs.tab', function () {
|
|
$(document).trigger('redraw.bs.charts')
|
|
})
|
|
|
|
// docs top button
|
|
if ($('.docs-top').length) {
|
|
App._backToTopButton()
|
|
$(window).on('scroll', App._backToTopButton)
|
|
}
|
|
},
|
|
|
|
_navDoc: function () {
|
|
// doc nav js
|
|
var $toc = $('#markdown-toc')
|
|
var $window = $(window)
|
|
|
|
if ($toc[0]) {
|
|
|
|
maybeActivateDocNavigation()
|
|
$window.on('resize', maybeActivateDocNavigation)
|
|
|
|
function maybeActivateDocNavigation () {
|
|
if ($window.width() > 768) {
|
|
activateDocNavigation()
|
|
} else {
|
|
deactivateDocNavigation()
|
|
}
|
|
}
|
|
|
|
function deactivateDocNavigation() {
|
|
$window.off('resize.theme.nav')
|
|
$window.off('scroll.theme.nav')
|
|
$toc.css({
|
|
position: '',
|
|
left: '',
|
|
top: ''
|
|
})
|
|
}
|
|
|
|
function activateDocNavigation() {
|
|
|
|
var cache = {}
|
|
|
|
function updateCache() {
|
|
cache.containerTop = $('.docs-content').offset().top - 40
|
|
cache.containerRight = $('.docs-content').offset().left + $('.docs-content').width() + 45
|
|
measure()
|
|
}
|
|
|
|
function measure() {
|
|
var scrollTop = $window.scrollTop()
|
|
var distance = Math.max(scrollTop - cache.containerTop, 0)
|
|
|
|
if (!distance) {
|
|
$($toc.find('li')[1]).addClass('active')
|
|
return $toc.css({
|
|
position: '',
|
|
left: '',
|
|
top: ''
|
|
})
|
|
}
|
|
|
|
$toc.css({
|
|
position: 'fixed',
|
|
left: cache.containerRight,
|
|
top: 40
|
|
})
|
|
}
|
|
|
|
updateCache()
|
|
|
|
$(window)
|
|
.on('resize.theme.nav', updateCache)
|
|
.on('scroll.theme.nav', measure)
|
|
|
|
$('body').scrollspy({
|
|
target: '#markdown-toc',
|
|
selector: 'li > a'
|
|
})
|
|
|
|
setTimeout(function () {
|
|
$('body').scrollspy('refresh')
|
|
}, 1000)
|
|
}
|
|
}
|
|
},
|
|
|
|
_backToTopButton: function () {
|
|
if ($(window).scrollTop() > $(window).height()) {
|
|
$('.docs-top').fadeIn()
|
|
} else {
|
|
$('.docs-top').fadeOut()
|
|
}
|
|
},
|
|
|
|
_tooltips: function () {
|
|
if ($(window).width() > 768) {
|
|
if (App._isWithTooltips) return
|
|
App._isWithTooltips = true
|
|
$('[data-toggle="tooltip"]').tooltip()
|
|
|
|
} else {
|
|
if (!App._isWithTooltips) return
|
|
App._isWithTooltips = false
|
|
$('[data-toggle="tooltip"]').tooltip('destroy')
|
|
}
|
|
|
|
},
|
|
|
|
_tableSorters: function () {
|
|
$('[data-sort="table"]').tablesorter( {sortList: [[1,0]]} )
|
|
}
|
|
}
|
|
|
|
App.init()
|