From 23c00eee86f1a1af9fa74bc9daf30c8d33ba33f0 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Mon, 16 Jun 2014 08:46:31 -0400
Subject: [PATCH] Fix tab navigation with TinyMCE editor (#1489946)

---
 program/js/editor.js |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/program/js/editor.js b/program/js/editor.js
index c5ceddd..3b0621f 100644
--- a/program/js/editor.js
+++ b/program/js/editor.js
@@ -165,6 +165,24 @@
         node.tabIndex = textarea.tabIndex;
       if (focus)
         this.editor.getBody().focus();
+
+      // find :prev and :next elements to get focus when tabbing away
+      if (textarea.tabIndex > 0) {
+        var x = null,
+          editor = this.editor,
+          tabfocus_elements = [':prev',':next'],
+          el = tinymce.DOM.select('*[tabindex='+textarea.tabIndex+']:not(iframe)');
+        tinymce.each(el, function(e, i) { if (e.id == editor.id) { x = i; return false; } });
+        if (x !== null) {
+          if (el[x-1] && el[x-1].id) {
+            tabfocus_elements[0] = el[x-1].id;
+          }
+          if (el[x+1] && el[x+1].id) {
+            tabfocus_elements[1] = el[x+1].id;
+          }
+          editor.settings.tabfocus_elements = tabfocus_elements.join(',');
+        }
+      }
     }
   };
 

--
Gitblit v1.9.1