/* | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
*/ | |
/* Executed on page load. */ | |
$(document).ready(function() { | |
// | |
// This is a hack to enable google-code-prettify to work with maven. | |
// | |
// The problem is that maven, when building the site, replaces: | |
// <pre class="prettyprint">...</pre> | |
// with: | |
// <div class="prettyprint"><pre>...</pre></div> | |
// | |
// Effectively, it removes the class parameter from the <pre> element, which | |
// is required for google-code-prettify to work. | |
// | |
// This hack restores the class of all <pre> elements which are the child of | |
// a <div class="prettyprint">. | |
// | |
$('pre').each(function() { | |
var parent = $(this).parent(); | |
if (parent.hasClass('prettyprint')) { | |
parent.removeClass('prettyprint'); | |
$(this).addClass('prettyprint'); | |
} | |
if (parent.hasClass('linenums')) { | |
parent.removeClass('linenums'); | |
$(this).addClass('linenums'); | |
} | |
}) | |
// Hack to add default visuals to tables | |
$('table').each(function() { | |
if ($(this).hasClass('bodyTable')) { | |
// Remove border="1" which is added by maven | |
this.border = 0; | |
// Add bootstrap table styling | |
$(this).addClass('table table-striped table-bordered'); | |
} | |
}); | |
// Render tabs | |
$('.auto-tabs').each(function(groupid) { | |
// Find tab bar | |
$(this).find('ul').each(function() { | |
// Add styling | |
$(this).addClass('nav nav-tabs'); | |
// Go tab bar items | |
$(this).find('li').each(function(itemid) { | |
// Set first tab as active | |
if (itemid == 0) { | |
$(this).addClass('active'); | |
} | |
// Replace text with a link to tab contents | |
var name = $(this).html(); | |
var link = $('<a>') | |
.attr('href', '#' + 'tab-' + groupid + '-' + itemid) | |
.attr('data-toggle', 'tab') | |
.html(name); | |
$(this).html(link); | |
}); | |
}); | |
// Find tab contents | |
$(this).find('.tab-content .tab-pane').each(function(itemid) { | |
// Set first tab as active | |
if (itemid == 0) { | |
$(this).addClass('active'); | |
} | |
// Set the tab id | |
$(this).attr('id', 'tab-' + groupid + '-' + itemid); | |
}); | |
}); | |
// Make external links open in new tab | |
$('a.external').attr('target', '_blank'); | |
// Trigger prettyprint | |
prettyPrint(); | |
}); |