2
* Copyright 2011 Yahoo! Inc.
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
* * Redistributions of source code must retain the above copyright
8
* notice, this list of conditions and the following disclaimer.
9
* * Redistributions in binary form must reproduce the above copyright
10
* notice, this list of conditions and the following disclaimer in the
11
* documentation and/or other materials provided with the distribution.
12
* * Neither the name of the Yahoo! Inc. nor the
13
* names of its contributors may be used to endorse or promote products
14
* derived from this software without specific prior written permission.
16
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
* DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY
20
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
insertBefore: 'site_styles'
32
}).use('tabview', function(Y) {
33
var classdocs = Y.one('#classdocs'),
34
tabviewIndexTable = {};
36
if (classdocs.all('li').size()) {
37
var tabview = new Y.TabView({ srcNode: classdocs });
39
classdocs.all('li a').each(function (item, index) {
40
var hash = item.get(['hash']);
41
type = hash.substring(1);
42
if (!tabviewIndexTable[type]) {
43
tabviewIndexTable[type] = index;
46
Y.all('.sidebox.on-page').each(function (item, index) {
47
var children = item.all('li a');
48
children.each(function (cItem, cIndex) {
50
var handleClick = function (e) {
51
var node = Y.one(this),
52
hash = node.get(['hash']),
53
hashValue = hash.substring(1).split('_'),
54
type = hashValue.shift(),
55
ogKey = hashValue.join('_'); // in case the hash had other underscores
56
if (tabviewIndexTable[type] > -1 && tabviewIndexTable[type] !== currentTab) {
57
currentTab = tabviewIndexTable[type];
58
tabview.selectChild(tabviewIndexTable[type]);
61
Y.on('click', handleClick, cItem)