wp/wp-includes/js/tinymce/utils/mctabs.js
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 7 cf61fcea0001
equal deleted inserted replaced
4:346c88efed21 5:5e2f62d02dcd
     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 });