|  | /* | 
|  | 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'); | 
|  | } | 
|  |  | 
|  | // markdown adds the "source" class instead | 
|  | if (parent.hasClass('source')) { | 
|  | parent.removeClass('source'); | 
|  | $(this).addClass('prettyprint'); | 
|  | $(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(); | 
|  | }); |