79 lines
2.4 KiB
JavaScript
79 lines
2.4 KiB
JavaScript
$(function () {
|
|
// Search Items
|
|
$('#search').on('keyup', function (e) {
|
|
var value = $(this).val();
|
|
var $el = $('.navigation');
|
|
|
|
if (value) {
|
|
var regexp = new RegExp(value, 'i');
|
|
$el.find('li, .itemMembers').hide();
|
|
|
|
$el.find('li').each(function (i, v) {
|
|
var $item = $(v);
|
|
|
|
if ($item.data('name') && regexp.test($item.data('name'))) {
|
|
$item.show();
|
|
$item.closest('.itemMembers').show();
|
|
$item.closest('.item').show();
|
|
}
|
|
});
|
|
} else {
|
|
$el.find('.item, .itemMembers').show();
|
|
}
|
|
|
|
$el.find('.list').scrollTop(0);
|
|
});
|
|
|
|
// Toggle when click an item element
|
|
$('.navigation').on('click', '.title', function (e) {
|
|
$(this).parent().find('.itemMembers').toggle();
|
|
});
|
|
|
|
// Show an item related a current documentation automatically
|
|
var filename = $('.page-title').data('filename').replace(/\.[a-z]+$/, '');
|
|
var $currentItem = $('.navigation .item[data-name*="' + filename + '"]:eq(0)');
|
|
|
|
if ($currentItem.length) {
|
|
$currentItem
|
|
.remove()
|
|
.prependTo('.navigation .list')
|
|
.show()
|
|
.find('.itemMembers')
|
|
.show();
|
|
}
|
|
|
|
// Auto resizing on navigation
|
|
var _onResize = function () {
|
|
var height = $(window).height();
|
|
var $el = $('.navigation');
|
|
|
|
$el.height(height).find('.list').height(height - 133);
|
|
};
|
|
|
|
$(window).on('resize', _onResize);
|
|
_onResize();
|
|
|
|
// show/hide unstable items
|
|
var links = $('a[href^="ol."]');
|
|
var unstable = $('.unstable');
|
|
var stabilityToggle = $('#stability-toggle');
|
|
stabilityToggle.change(function() {
|
|
unstable.toggleClass('hidden', this.checked);
|
|
var search = this.checked ? '' : '?unstable=true';
|
|
links.each(function(i, el) {
|
|
this.href = this.pathname + search + this.hash;
|
|
});
|
|
if (history.replaceState) {
|
|
var url = window.location.pathname + search + window.location.hash;
|
|
history.replaceState({}, '', url);
|
|
}
|
|
return false;
|
|
});
|
|
var search = window.location.search;
|
|
links.each(function(i, el) {
|
|
this.href = this.pathname + search + this.hash;
|
|
});
|
|
stabilityToggle.prop('checked', search !== '?unstable=true');
|
|
unstable.toggleClass('hidden', stabilityToggle[0].checked);
|
|
});
|