Mercurial > public > sg101
comparison static/js/tiny_mce/utils/mctabs.js @ 312:88b2b9cb8c1f
Fixing #142; cut over to the django.contrib.staticfiles app.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Thu, 27 Jan 2011 02:56:10 +0000 |
parents | |
children | 6c182ceb7147 |
comparison
equal
deleted
inserted
replaced
311:b1c39788e511 | 312:88b2b9cb8c1f |
---|---|
1 /** | |
2 * mctabs.js | |
3 * | |
4 * Copyright 2009, Moxiecode Systems AB | |
5 * Released under LGPL License. | |
6 * | |
7 * License: http://tinymce.moxiecode.com/license | |
8 * Contributing: http://tinymce.moxiecode.com/contributing | |
9 */ | |
10 | |
11 function MCTabs() { | |
12 this.settings = []; | |
13 }; | |
14 | |
15 MCTabs.prototype.init = function(settings) { | |
16 this.settings = settings; | |
17 }; | |
18 | |
19 MCTabs.prototype.getParam = function(name, default_value) { | |
20 var value = null; | |
21 | |
22 value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name]; | |
23 | |
24 // Fix bool values | |
25 if (value == "true" || value == "false") | |
26 return (value == "true"); | |
27 | |
28 return value; | |
29 }; | |
30 | |
31 MCTabs.prototype.displayTab = function(tab_id, panel_id) { | |
32 var panelElm, panelContainerElm, tabElm, tabContainerElm, selectionClass, nodes, i; | |
33 | |
34 panelElm= document.getElementById(panel_id); | |
35 panelContainerElm = panelElm ? panelElm.parentNode : null; | |
36 tabElm = document.getElementById(tab_id); | |
37 tabContainerElm = tabElm ? tabElm.parentNode : null; | |
38 selectionClass = this.getParam('selection_class', 'current'); | |
39 | |
40 if (tabElm && tabContainerElm) { | |
41 nodes = tabContainerElm.childNodes; | |
42 | |
43 // Hide all other tabs | |
44 for (i = 0; i < nodes.length; i++) { | |
45 if (nodes[i].nodeName == "LI") | |
46 nodes[i].className = ''; | |
47 } | |
48 | |
49 // Show selected tab | |
50 tabElm.className = 'current'; | |
51 } | |
52 | |
53 if (panelElm && panelContainerElm) { | |
54 nodes = panelContainerElm.childNodes; | |
55 | |
56 // Hide all other panels | |
57 for (i = 0; i < nodes.length; i++) { | |
58 if (nodes[i].nodeName == "DIV") | |
59 nodes[i].className = 'panel'; | |
60 } | |
61 | |
62 // Show selected panel | |
63 panelElm.className = 'current'; | |
64 } | |
65 }; | |
66 | |
67 MCTabs.prototype.getAnchor = function() { | |
68 var pos, url = document.location.href; | |
69 | |
70 if ((pos = url.lastIndexOf('#')) != -1) | |
71 return url.substring(pos + 1); | |
72 | |
73 return ""; | |
74 }; | |
75 | |
76 // Global instance | |
77 var mcTabs = new MCTabs(); |