mirror of
https://github.com/documize/community.git
synced 2025-07-22 06:39:43 +02:00
1 line
No EOL
1.6 KiB
JavaScript
1 line
No EOL
1.6 KiB
JavaScript
!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),n=tinymce.util.Tools.resolve("tinymce.EditorManager"),i=tinymce.util.Tools.resolve("tinymce.Env"),o=tinymce.util.Tools.resolve("tinymce.util.Delay"),l=tinymce.util.Tools.resolve("tinymce.util.Tools"),u=tinymce.util.Tools.resolve("tinymce.util.VK"),r={getTabFocus:function(e){return e.getParam("tab_focus",function(e){return e.getParam("tabfocus_elements",":prev,:next")}(e))}},c=t.DOM,s=function(e){e.keyCode!==u.TAB||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()},a=function(e){function t(t){function s(i){function o(e){return"BODY"===e.nodeName||"hidden"!==e.type&&"none"!==e.style.display&&"hidden"!==e.style.visibility&&o(e.parentNode)}function u(e){return/INPUT|TEXTAREA|BUTTON/.test(e.tagName)&&n.get(t.id)&&-1!==e.tabIndex&&o(e)}if(y=c.select(":input:enabled,*[tabindex]:not(iframe)"),l.each(y,function(t,n){if(t.id===e.id)return a=n,!1}),i>0){for(d=a+1;d<y.length;d++)if(u(y[d]))return y[d]}else for(d=a-1;d>=0;d--)if(u(y[d]))return y[d];return null}var a,y,f,d;if(!(t.keyCode!==u.TAB||t.ctrlKey||t.altKey||t.metaKey||t.isDefaultPrevented())&&(1===(f=l.explode(r.getTabFocus(e))).length&&(f[1]=f[0],f[0]=":prev"),y=t.shiftKey?":prev"===f[0]?s(-1):c.get(f[0]):":next"===f[1]?s(1):c.get(f[1]))){var m=n.get(y.id||y.name);y.id&&m?m.focus():o.setTimeout(function(){i.webkit||window.focus(),y.focus()},10),t.preventDefault()}}e.on("init",function(){e.inline&&c.setAttrib(e.getBody(),"tabIndex",null),e.on("keyup",s),i.gecko?e.on("keypress keydown",t):e.on("keydown",t)})};e.add("tabfocus",function(e){a(e)})}(); |