1 /** |
1 /** |
2 * mctabs.js |
2 * mctabs.js |
3 * |
3 * |
4 * Copyright 2009, Moxiecode Systems AB |
4 * Copyright, Moxiecode Systems AB |
5 * Released under LGPL License. |
5 * Released under LGPL License. |
6 * |
6 * |
7 * License: http://tinymce.moxiecode.com/license |
7 * License: http://www.tinymce.com/license |
8 * Contributing: http://tinymce.moxiecode.com/contributing |
8 * Contributing: http://www.tinymce.com/contributing |
9 */ |
9 */ |
|
10 |
|
11 /*jshint globals: tinyMCEPopup */ |
10 |
12 |
11 function MCTabs() { |
13 function MCTabs() { |
12 this.settings = []; |
14 this.settings = []; |
13 this.onChange = tinyMCEPopup.editor.windowManager.createInstance('tinymce.util.Dispatcher'); |
15 this.onChange = tinyMCEPopup.editor.windowManager.createInstance('tinymce.util.Dispatcher'); |
14 }; |
16 }; |
120 |
122 |
121 tinyMCEPopup.onInit.add(function() { |
123 tinyMCEPopup.onInit.add(function() { |
122 var tinymce = tinyMCEPopup.getWin().tinymce, dom = tinyMCEPopup.dom, each = tinymce.each; |
124 var tinymce = tinyMCEPopup.getWin().tinymce, dom = tinyMCEPopup.dom, each = tinymce.each; |
123 |
125 |
124 each(dom.select('div.tabs'), function(tabContainerElm) { |
126 each(dom.select('div.tabs'), function(tabContainerElm) { |
125 var keyNav; |
127 //var keyNav; |
126 |
128 |
127 dom.setAttrib(tabContainerElm, "role", "tablist"); |
129 dom.setAttrib(tabContainerElm, "role", "tablist"); |
128 |
130 |
129 var items = tinyMCEPopup.dom.select('li', tabContainerElm); |
131 var items = tinyMCEPopup.dom.select('li', tabContainerElm); |
130 var action = function(id) { |
132 var action = function(id) { |
131 mcTabs.displayTab(id, mcTabs.getPanelForTab(id)); |
133 mcTabs.displayTab(id, mcTabs.getPanelForTab(id)); |
132 mcTabs.onChange.dispatch(id); |
134 mcTabs.onChange.dispatch(id); |
139 }); |
141 }); |
140 }); |
142 }); |
141 |
143 |
142 dom.bind(dom.getRoot(), 'keydown', function(evt) { |
144 dom.bind(dom.getRoot(), 'keydown', function(evt) { |
143 if (evt.keyCode === 9 && evt.ctrlKey && !evt.altKey) { // Tab |
145 if (evt.keyCode === 9 && evt.ctrlKey && !evt.altKey) { // Tab |
144 keyNav.moveFocus(evt.shiftKey ? -1 : 1); |
146 //keyNav.moveFocus(evt.shiftKey ? -1 : 1); |
145 tinymce.dom.Event.cancel(evt); |
147 tinymce.dom.Event.cancel(evt); |
146 } |
148 } |
147 }); |
149 }); |
148 |
150 |
149 each(dom.select('a', tabContainerElm), function(a) { |
151 each(dom.select('a', tabContainerElm), function(a) { |
150 dom.setAttrib(a, 'tabindex', '-1'); |
152 dom.setAttrib(a, 'tabindex', '-1'); |
151 }); |
153 }); |
152 |
154 |
153 keyNav = tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', { |
155 /*keyNav = tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', { |
154 root: tabContainerElm, |
156 root: tabContainerElm, |
155 items: items, |
157 items: items, |
156 onAction: action, |
158 onAction: action, |
157 actOnFocus: true, |
159 actOnFocus: true, |
158 enableLeftRight: true, |
160 enableLeftRight: true, |
159 enableUpDown: true |
161 enableUpDown: true |
160 }, tinyMCEPopup.dom); |
162 }, tinyMCEPopup.dom);*/ |
161 }); |
163 }); |
162 }); |
164 }); |