File tree Expand file tree Collapse file tree 2 files changed +57
-26
lines changed
Expand file tree Collapse file tree 2 files changed +57
-26
lines changed Original file line number Diff line number Diff line change 11var menu = ( function ( ) {
22
3- var bind = { } ;
4-
5- bind . focus = {
6- loop : function ( event ) {
7- var firstElement = helper . e ( ".control-menu-layout" ) ;
8- var lastElement = helper . e ( ".menu-close-tab" ) ;
9- if ( event . keyCode == 9 && event . shiftKey ) {
10- if ( document . activeElement === firstElement ) {
11- lastElement . focus ( ) ;
12- event . preventDefault ( ) ;
13- }
14- } else if ( event . keyCode == 9 ) {
15- if ( document . activeElement === lastElement ) {
16- firstElement . focus ( ) ;
17- event . preventDefault ( ) ;
18- }
19- } ;
20- } ,
21- add : function ( ) {
22- window . addEventListener ( "keydown" , bind . focus . loop , false ) ;
23- } ,
24- remove : function ( ) {
25- window . removeEventListener ( "keydown" , bind . focus . loop , false ) ;
26- }
27- } ;
28-
293var mod = { } ;
304
315mod . open = function ( ) {
@@ -64,6 +38,32 @@ var menu = (function(){
6438}
6539} ;
6640
41+ var bind = { } ;
42+
43+ bind . focus = {
44+ loop : function ( event ) {
45+ var firstElement = helper . e ( ".control-menu-layout" ) ;
46+ var lastElement = helper . e ( ".menu-close-tab" ) ;
47+ if ( event . keyCode == 9 && event . shiftKey ) {
48+ if ( document . activeElement === firstElement ) {
49+ lastElement . focus ( ) ;
50+ event . preventDefault ( ) ;
51+ }
52+ } else if ( event . keyCode == 9 ) {
53+ if ( document . activeElement === lastElement ) {
54+ firstElement . focus ( ) ;
55+ event . preventDefault ( ) ;
56+ }
57+ } ;
58+ } ,
59+ add : function ( ) {
60+ window . addEventListener ( "keydown" , bind . focus . loop , false ) ;
61+ } ,
62+ remove : function ( ) {
63+ window . removeEventListener ( "keydown" , bind . focus . loop , false ) ;
64+ }
65+ } ;
66+
6767render = { } ;
6868
6969render . panel = function ( ) {
@@ -257,6 +257,7 @@ var menu = (function(){
257257return {
258258init : init ,
259259mod : mod ,
260+ bind : bind ,
260261render : render ,
261262open : open ,
262263close : close ,
Original file line number Diff line number Diff line change @@ -20,6 +20,33 @@ var modal = (function(){
2020} ) ;
2121} ;
2222
23+ var bind = { } ;
24+
25+ bind . focus = {
26+ loop : function ( event ) {
27+ var allElements = helper . e ( ".modal" ) . querySelectorAll ( "[tabindex]" ) ;
28+ var firstElement = allElements [ 0 ] ;
29+ var lastElement = allElements [ allElements . length - 1 ] ;
30+ if ( event . keyCode == 9 && event . shiftKey ) {
31+ if ( document . activeElement === firstElement ) {
32+ lastElement . focus ( ) ;
33+ event . preventDefault ( ) ;
34+ }
35+ } else if ( event . keyCode == 9 ) {
36+ if ( document . activeElement === lastElement ) {
37+ firstElement . focus ( ) ;
38+ event . preventDefault ( ) ;
39+ }
40+ } ;
41+ } ,
42+ add : function ( ) {
43+ window . addEventListener ( "keydown" , bind . focus . loop , false ) ;
44+ } ,
45+ remove : function ( ) {
46+ window . removeEventListener ( "keydown" , bind . focus . loop , false ) ;
47+ }
48+ } ;
49+
2350var render = { } ;
2451
2552render . toggle = function ( override ) {
@@ -144,11 +171,13 @@ var modal = (function(){
144171var open = function ( override ) {
145172mod . open ( ) ;
146173render . open ( override ) ;
174+ bind . focus . add ( ) ;
147175} ;
148176
149177var close = function ( ) {
150178mod . close ( ) ;
151179render . close ( ) ;
180+ bind . focus . remove ( ) ;
152181} ;
153182
154183var init = function ( ) {
@@ -160,6 +189,7 @@ var modal = (function(){
160189return {
161190init : init ,
162191mod : mod ,
192+ bind : bind ,
163193render : render ,
164194open : open ,
165195close : close
You can’t perform that action at this time.
0 commit comments