rave-navigation.min.js 6.5 KB

12345678910111213141516
  1. // IBM Rapidly Adaptive Visualization Engine - (C) Copyright IBM Corp. 2015
  2. (function(){function Xa(){return function(Sa){return Sa}}function s(){return function(){}}function z(Sa){return function(ba){this[Sa]=ba}}function A(Sa){return function(){return this[Sa]}}function D(Sa){return function(){return Sa}}
  3. var a=window.rave,b={},c=a._.com_ibm_rave_core_nativeImpl_Declare,d=a.internal.Selector,e=a.internal.SelectorDelegate,f=b.FocusController={};f.previousLevelFocusableNode=function(a){for(;(a=a.rave_getParentNode())&&!(0<=f.Vc(a)););return a};f.nextLevelFocusableNode=function(a){var b=f.firstChild(a),b=f.nextFocusableNodeFromStart(b);if(!b){var c=0;a=a.rave_getChildNodes();
  4. for(var d=a.length;c<d&&!(b=f.nextLevelFocusableNode(a[c]));++c);}return b};f.previousFocusableNodeFromEnd=function(a){return f.Ro(a,null)};f.previousFocusableNode=function(a){return f.Ro(a,a)};f.Ro=function(a,b){var c=f.lastChild(a?a.rave_getParentNode():null),d,e;b?(d=f.Vc(b),e=b.rave_getPreviousSibling()):(d=0,e=c);if(0>d)for(;e;e=e.rave_getPreviousSibling()){if(0<=f.Vc(e))return e}else if(e=f.$l(e,d,!1))return e;return f.wy(c,b&&0!=d?d:2147483647)};f.nextFocusableNodeFromStart=function(a){return f.Qo(a,
  5. null)};f.nextFocusableNode=function(a){return f.Qo(a,a)};f.Qo=function(a,b){if(b){var c=f.Vc(b);if(0>c)for(var d=b.rave_getNextSibling();d;d=d.rave_getNextSibling()){if(0<=f.Vc(d))return d}else if(d=f.$l(b.rave_getNextSibling(),c,!0))return d;if(0==c)return null}c=f.firstChild(a?a.rave_getParentNode():null);return(d=f.vy(c,b?f.Vc(b):0))?d:f.$l(c,0,!0)};f.Vc=function(a){a=a.rave_getProperty(g.NAVIGATION_INDEX_KEY);return null!=a?~~a:0};f.$l=function(a,b,c){for(;a;a=c?a.rave_getNextSibling():a.rave_getPreviousSibling())if(f.Vc(a)==
  6. b)return a;return null};f.vy=function(a,b){for(var c,d=2147483647,e=a;e;e=e.rave_getNextSibling()){var g=f.Vc(e);g>b&&g<d&&(d=g,c=e)}return c};f.wy=function(a,b){for(var c,d=0,e=a;e;e=e.rave_getPreviousSibling()){var g=f.Vc(e);g<b&&g>d&&(d=g,c=e)}return c};f.firstChild=function(a){var b;a&&a.rave_hasChildNodes()&&(b=a.rave_getChildNodes()[0]);return b};f.lastChild=function(a){var b;a&&a.rave_hasChildNodes()&&(a=a.rave_getChildNodes(),b=a[a.length-1]);return b};var g=b.NavigationConstants={};g.SELECTOR_ID=
  7. "raveNavigation";g.NAVIGATION_INDEX_KEY="__raveNavigationIndex__";var h=b.KeyBinding=c({_$functionClassMethod:function(){function a(b){if(null!==b||1<arguments.length)b=Array.prototype.slice.call(arguments,0);a.keybinding(b[0]);return null}return a},constructor:function(){this.ve={};this.fh={};var a=this;this.Oz=function(b,c,d,e){(b=h.eq(a.ve))&&b.call(e.target,e)};this.Pz=function(b,c,d,e){(b=h.eq(a.fh))&&b.call(e.target,e)}},keybinding:function(a){a.on("keydown",this.Oz);a.on("keypress",this.Pz)},
  8. wa:function(a,b){h.yi(a,b,0,this.ve);return this},Ny:function(a){return h.oj(a,0,this.ve)},sa:function(a,b,c){h.yi(a,b,c,this.ve);return this},Oy:function(a,b){return h.oj(a,b,this.ve)},If:function(a,b){null!=a&&0<a.length&&h.yi(a.charCodeAt(0),b,0,this.fh);return this},Py:function(a){return null!=a&&0<a.length?h.oj(a.charCodeAt(0),0,this.fh):null},Qd:function(a,b,c){null!=a&&0<a.length&&h.yi(a.charCodeAt(0),b,c,8==c||0==c?this.fh:this.ve);return this},Qy:function(a,b){return null!=a&&0<a.length?
  9. h.oj(a.charCodeAt(0),b,8==b||0==b?this.fh:this.ve):null},on:function(a,b,c){var d=arguments;return 2==d.length&&(null==a||"string"===typeof a)?this.If(a,b):2==d.length?this.wa(a,b):3==d.length&&(null==a||"string"===typeof a)&&(null==c||"number"===typeof c)?this.Qd(a,b,c):this.sa(a,b,c)},get:function(a,b){var c=arguments;return 1==c.length&&(null==a||"string"===typeof a)?this.Py(a):1==c.length?this.Ny(a):2==c.length&&(null==a||"string"===typeof a)&&(null==b||"number"===typeof b)?this.Qy(a,b):this.Oy(a,
  10. b)}});h.yi=function(a,b,c,d){d[h.cm(a,c)]=b};h.oj=function(a,b,c){return c[h.cm(a,b)]};h.cm=function(a,b){return a+":"+b};h.eq=function(b){return b[h.Vy(a.event)]};h.Vy=function(a){var b=0;a.shiftKey&&(b|=8);a.ctrlKey&&(b|=4);a.altKey&&(b|=2);a.metaKey&&(b|=1);return h.cm(0==a.keyCode?a.which:a.keyCode,b)};var k=b.DefaultKeyboard=c({next:null,previous:null,nextLevel:null,previousLevel:null,_$functionClassMethod:function(){function a(b){if(null!==b||1<arguments.length)b=Array.prototype.slice.call(arguments,
  11. 0);a.bind(b[0]);return null}return a},constructor:function(){this.ue=new h;this.T=a.behavior.focusEventHandler();var b=this;this.next=function(c){if(null!==c||1<arguments.length)c=Array.prototype.slice.call(arguments,0);var d=b.T.va;if(d&&!k.Jb(d)){var e=f.nextFocusableNode(d);e||(e=f.nextFocusableNodeFromStart(d));e&&b.T.fireFocus(e);a.event.preventDefault()}return null};this.previous=function(c){if(null!==c||1<arguments.length)c=Array.prototype.slice.call(arguments,0);var d=b.T.va;if(d&&!k.Jb(d)){var e=
  12. f.previousFocusableNode(d);e||(e=f.previousFocusableNodeFromEnd(d));e&&b.T.fireFocus(e);a.event.preventDefault()}return null};this.nextLevel=function(c){if(null!==c||1<arguments.length)c=Array.prototype.slice.call(arguments,0);var d=b.T.va;d&&(d=f.nextLevelFocusableNode(d))&&b.T.fireFocus(d);a.event.preventDefault();return null};this.previousLevel=function(c){if(null!==c||1<arguments.length)c=Array.prototype.slice.call(arguments,0);var d=b.T.va;if(d){var e=f.previousLevelFocusableNode(d);k.Jb(e)?
  13. (b.T.fireBlur(d),b.T.va=e):k.Jb(d)||b.T.fireFocus(e);a.event.preventDefault()}return null};this.ue.on(13,this.nextLevel).on(27,this.previousLevel).on(9,this.next).on(9,this.previous,8)},bind:function(b){var c=this;b.each(function(){var b=a.select(this);a.select(this.rave_getOwner()).call(c.ue);b.property(k.jg,!0);c.T.va=this})},keyBinding:A("ue"),Ey:A("T"),bm:function(a){this.T=a;return this},focusEventHandler:function(a){return 0==arguments.length?this.T:this.bm(a)}});k.Jb=function(a){return null!=
  14. a.rave_getProperty(k.jg)};k.jg="__rave-kbnav-root__";var l=b.NavigationSelector=c(e,{constructor:s(),create:function(a){return(new l).setDelegate(a)},EA:function(){var a=this.node();return!a?null:a.rave_getProperty(g.NAVIGATION_INDEX_KEY)},FA:function(a){this.each(function(){this.rave_setProperty(g.NAVIGATION_INDEX_KEY,a)});return this},GA:function(a){this.each(function(b,c,d){this.rave_setProperty(g.NAVIGATION_INDEX_KEY,a.call(this,b,c,d))});return this},navigationIndex:function(a){var b=arguments;
  15. return 0==b.length?this.EA():1==b.length&&"function"===typeof a?this.GA(a):this.FA(a)}}),c=c({SHIFT:8,CTRL:4,ALT:2,META:1});c.INSTANCE=new c;var n=b.Navigation={};n.keybinding=function(){return new h};n.keyboard=function(){return new k};n.init=function(){d.extension(n.SELECTOR_ID,function(){return new l})};n.keys=c.INSTANCE;n.SELECTOR_ID=g.SELECTOR_ID;n.init();a.navigation=n;a.navigation.internal=b})();