NOBUG: Fixed file access permissions
[moodle.git] / lib / yuilib / 3.13.0 / widget-autohide / widget-autohide-coverage.js
blob441300073ca2f53e20bfb0d44c46441019c091a3
1 /*
2 YUI 3.13.0 (build 508226d)
3 Copyright 2013 Yahoo! Inc. All rights reserved.
4 Licensed under the BSD License.
5 http://yuilibrary.com/license/
6 */
8 if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
9 if (!__coverage__['build/widget-autohide/widget-autohide.js']) {
10    __coverage__['build/widget-autohide/widget-autohide.js'] = {"path":"build/widget-autohide/widget-autohide.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0,0],"10":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":27},"end":{"line":1,"column":46}}},"2":{"name":"WidgetAutohide","line":36,"loc":{"start":{"line":36,"column":0},"end":{"line":36,"column":32}}},"3":{"name":"(anonymous_3)","line":73,"loc":{"start":{"line":73,"column":19},"end":{"line":73,"column":30}}},"4":{"name":"(anonymous_4)","line":92,"loc":{"start":{"line":92,"column":21},"end":{"line":92,"column":33}}},"5":{"name":"(anonymous_5)","line":106,"loc":{"start":{"line":106,"column":26},"end":{"line":106,"column":38}}},"6":{"name":"(anonymous_6)","line":122,"loc":{"start":{"line":122,"column":26},"end":{"line":122,"column":38}}},"7":{"name":"(anonymous_7)","line":135,"loc":{"start":{"line":135,"column":36},"end":{"line":135,"column":55}}},"8":{"name":"(anonymous_8)","line":151,"loc":{"start":{"line":151,"column":35},"end":{"line":151,"column":47}}},"9":{"name":"(anonymous_9)","line":199,"loc":{"start":{"line":199,"column":35},"end":{"line":199,"column":47}}},"10":{"name":"(anonymous_10)","line":201,"loc":{"start":{"line":201,"column":44},"end":{"line":201,"column":55}}},"11":{"name":"(anonymous_11)","line":214,"loc":{"start":{"line":214,"column":42},"end":{"line":214,"column":55}}},"12":{"name":"(anonymous_12)","line":224,"loc":{"start":{"line":224,"column":29},"end":{"line":224,"column":41}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":236,"column":83}},"2":{"start":{"line":13,"column":0},"end":{"line":27,"column":58}},"3":{"start":{"line":36,"column":0},"end":{"line":46,"column":1}},"4":{"start":{"line":37,"column":4},"end":{"line":37,"column":49}},"5":{"start":{"line":38,"column":4},"end":{"line":38,"column":49}},"6":{"start":{"line":41,"column":4},"end":{"line":44,"column":5}},"7":{"start":{"line":42,"column":8},"end":{"line":42,"column":31}},"8":{"start":{"line":43,"column":8},"end":{"line":43,"column":31}},"9":{"start":{"line":56,"column":0},"end":{"line":83,"column":2}},"10":{"start":{"line":74,"column":12},"end":{"line":80,"column":14}},"11":{"start":{"line":85,"column":0},"end":{"line":231,"column":2}},"12":{"start":{"line":94,"column":12},"end":{"line":94,"column":44}},"13":{"start":{"line":108,"column":12},"end":{"line":108,"column":77}},"14":{"start":{"line":109,"column":12},"end":{"line":109,"column":64}},"15":{"start":{"line":124,"column":12},"end":{"line":124,"column":62}},"16":{"start":{"line":137,"column":12},"end":{"line":142,"column":13}},"17":{"start":{"line":139,"column":16},"end":{"line":139,"column":61}},"18":{"start":{"line":141,"column":16},"end":{"line":141,"column":48}},"19":{"start":{"line":153,"column":12},"end":{"line":153,"column":52}},"20":{"start":{"line":153,"column":43},"end":{"line":153,"column":50}},"21":{"start":{"line":155,"column":12},"end":{"line":161,"column":73}},"22":{"start":{"line":164,"column":16},"end":{"line":188,"column":17}},"23":{"start":{"line":166,"column":20},"end":{"line":166,"column":44}},"24":{"start":{"line":167,"column":20},"end":{"line":167,"column":47}},"25":{"start":{"line":168,"column":20},"end":{"line":168,"column":50}},"26":{"start":{"line":171,"column":20},"end":{"line":186,"column":21}},"27":{"start":{"line":172,"column":24},"end":{"line":172,"column":58}},"28":{"start":{"line":176,"column":25},"end":{"line":186,"column":21}},"29":{"start":{"line":177,"column":24},"end":{"line":177,"column":62}},"30":{"start":{"line":181,"column":25},"end":{"line":186,"column":21}},"31":{"start":{"line":182,"column":24},"end":{"line":182,"column":73}},"32":{"start":{"line":190,"column":12},"end":{"line":190,"column":48}},"33":{"start":{"line":201,"column":12},"end":{"line":203,"column":15}},"34":{"start":{"line":202,"column":16},"end":{"line":202,"column":27}},"35":{"start":{"line":204,"column":12},"end":{"line":204,"column":43}},"36":{"start":{"line":216,"column":12},"end":{"line":216,"column":53}},"37":{"start":{"line":225,"column":12},"end":{"line":225,"column":44}},"38":{"start":{"line":227,"column":12},"end":{"line":229,"column":13}},"39":{"start":{"line":228,"column":16},"end":{"line":228,"column":48}},"40":{"start":{"line":233,"column":0},"end":{"line":233,"column":34}}},"branchMap":{"1":{"line":41,"type":"if","locations":[{"start":{"line":41,"column":4},"end":{"line":41,"column":4}},{"start":{"line":41,"column":4},"end":{"line":41,"column":4}}]},"2":{"line":137,"type":"if","locations":[{"start":{"line":137,"column":12},"end":{"line":137,"column":12}},{"start":{"line":137,"column":12},"end":{"line":137,"column":12}}]},"3":{"line":153,"type":"if","locations":[{"start":{"line":153,"column":12},"end":{"line":153,"column":12}},{"start":{"line":153,"column":12},"end":{"line":153,"column":12}}]},"4":{"line":171,"type":"if","locations":[{"start":{"line":171,"column":20},"end":{"line":171,"column":20}},{"start":{"line":171,"column":20},"end":{"line":171,"column":20}}]},"5":{"line":171,"type":"binary-expr","locations":[{"start":{"line":171,"column":24},"end":{"line":171,"column":31}},{"start":{"line":171,"column":35},"end":{"line":171,"column":45}},{"start":{"line":171,"column":49},"end":{"line":171,"column":53}}]},"6":{"line":176,"type":"if","locations":[{"start":{"line":176,"column":25},"end":{"line":176,"column":25}},{"start":{"line":176,"column":25},"end":{"line":176,"column":25}}]},"7":{"line":176,"type":"binary-expr","locations":[{"start":{"line":176,"column":29},"end":{"line":176,"column":35}},{"start":{"line":176,"column":39},"end":{"line":176,"column":49}},{"start":{"line":176,"column":53},"end":{"line":176,"column":57}}]},"8":{"line":181,"type":"if","locations":[{"start":{"line":181,"column":25},"end":{"line":181,"column":25}},{"start":{"line":181,"column":25},"end":{"line":181,"column":25}}]},"9":{"line":181,"type":"binary-expr","locations":[{"start":{"line":181,"column":29},"end":{"line":181,"column":35}},{"start":{"line":181,"column":39},"end":{"line":181,"column":48}},{"start":{"line":181,"column":52},"end":{"line":181,"column":56}}]},"10":{"line":227,"type":"if","locations":[{"start":{"line":227,"column":12},"end":{"line":227,"column":12}},{"start":{"line":227,"column":12},"end":{"line":227,"column":12}}]}},"code":["(function () { YUI.add('widget-autohide', function (Y, NAME) {","","/**"," * A widget-level extension that provides ability to hide widget when"," * certain events occur."," *"," * @module widget-autohide"," * @author eferraiuolo, tilomitra"," * @since 3.4.0"," */","","","var WIDGET_AUTOHIDE    = 'widgetAutohide',","    AUTOHIDE            = 'autohide',","    CLICK_OUTSIDE     = 'clickoutside',","    FOCUS_OUTSIDE     = 'focusoutside',","    DOCUMENT            = 'document',","    KEY                 = 'key',","    PRESS_ESCAPE         = 'esc',","    BIND_UI             = 'bindUI',","    SYNC_UI             = \"syncUI\",","    RENDERED            = \"rendered\",","    BOUNDING_BOX        = \"boundingBox\",","    VISIBLE             = \"visible\",","    CHANGE              = 'Change',","","    getCN               = Y.ClassNameManager.getClassName;","","/**"," * The WidgetAutohide class provides the hideOn attribute which can"," * be used to hide the widget when certain events occur."," *"," * @class WidgetAutohide"," * @param {Object} config User configuration object"," */","function WidgetAutohide(config) {","    Y.after(this._bindUIAutohide, this, BIND_UI);","    Y.after(this._syncUIAutohide, this, SYNC_UI);","","","    if (this.get(RENDERED)) {","        this._bindUIAutohide();","        this._syncUIAutohide();","    }","","}","","/**","* Static property used to define the default attribute","* configuration introduced by WidgetAutohide.","*","* @property ATTRS","* @static","* @type Object","*/","WidgetAutohide.ATTRS = {","","","    /**","     * @attribute hideOn","     * @type array","     *","     * @description An array of objects corresponding to the nodes, events, and keycodes to hide the widget on.","     * The implementer can supply an array of objects, with each object having the following properties:","     * <p>eventName: (string, required): The eventName to listen to.</p>","     * <p>node: (Y.Node, optional): The Y.Node that will fire the event (defaults to the boundingBox of the widget)</p>","     * <p>keyCode: (string, optional): If listening for key events, specify the keyCode</p>","     * <p>By default, this attribute consists of one object which will cause the widget to hide if the","     * escape key is pressed.</p>","     */","    hideOn: {","        validator: Y.Lang.isArray,","        valueFn  : function() {","            return [","                {","                    node: Y.one(DOCUMENT),","                    eventName: KEY,","                    keyCode: PRESS_ESCAPE","                }","            ];","        }","    }","};","","WidgetAutohide.prototype = {","    // *** Instance Members *** //","","        _uiHandlesAutohide : null,","","        // *** Lifecycle Methods *** //","","        destructor : function () {","","            this._detachUIHandlesAutohide();","        },","","        /**","         * Binds event listeners to the widget.","         * <p>","         * This method in invoked after bindUI is invoked for the Widget class","         * using YUI's aop infrastructure.","         * </p>","         * @method _bindUIAutohide","         * @protected","         */","        _bindUIAutohide : function () {","","            this.after(VISIBLE+CHANGE, this._afterHostVisibleChangeAutohide);","            this.after(\"hideOnChange\", this._afterHideOnChange);","        },","","        /**","         * Syncs up the widget based on its current state. In particular, removes event listeners if","         * widget is not visible, and attaches them otherwise.","         * <p>","         * This method in invoked after syncUI is invoked for the Widget class","         * using YUI's aop infrastructure.","         * </p>","         * @method _syncUIAutohide","         * @protected","         */","        _syncUIAutohide : function () {","","            this._uiSetHostVisibleAutohide(this.get(VISIBLE));","        },","","        // *** Private Methods *** //","","        /**","         * Removes event listeners if widget is not visible, and attaches them otherwise.","         *","         * @method _uiSetHostVisibleAutohide","         * @protected","         */","        _uiSetHostVisibleAutohide : function (visible) {","","            if (visible) {","                //this._attachUIHandlesAutohide();","                Y.later(1, this, '_attachUIHandlesAutohide');","            } else {","                this._detachUIHandlesAutohide();","            }","        },","","        /**","         * Iterates through all objects in the hideOn attribute and creates event listeners.","         *","         * @method _attachUIHandlesAutohide","         * @protected","         */","        _attachUIHandlesAutohide : function () {","","            if (this._uiHandlesAutohide) { return; }","","            var bb = this.get(BOUNDING_BOX),","                hide = Y.bind(this.hide,this),","                uiHandles = [],","                self = this,","                hideOn = this.get('hideOn'),","                i = 0,","                o = {node: undefined, ev: undefined, keyCode: undefined};","","                //push all events on which the widget should be hidden","                for (; i < hideOn.length; i++) {","","                    o.node = hideOn[i].node;","                    o.ev = hideOn[i].eventName;","                    o.keyCode = hideOn[i].keyCode;","","                    //no keycode or node defined","                    if (!o.node && !o.keyCode && o.ev) {","                        uiHandles.push(bb.on(o.ev, hide));","                    }","","                    //node defined, no keycode (not a keypress)","                    else if (o.node && !o.keyCode && o.ev) {","                        uiHandles.push(o.node.on(o.ev, hide));","                    }","","                    //node defined, keycode defined, event defined (its a key press)","                    else if (o.node && o.keyCode && o.ev) {","                        uiHandles.push(o.node.on(o.ev, hide, o.keyCode));","                    }","","                    else {","                    }","","                }","","            this._uiHandlesAutohide = uiHandles;","        },","","        /**","         * Detaches all event listeners created by this extension","         *","         * @method _detachUIHandlesAutohide","         * @protected","         */","        _detachUIHandlesAutohide : function () {","","            Y.each(this._uiHandlesAutohide, function(h){","                h.detach();","            });","            this._uiHandlesAutohide = null;","        },","","        /**","         * Default function called when the visibility of the widget changes. Determines","         * whether to attach or detach event listeners based on the visibility of the widget.","         *","         * @method _afterHostVisibleChangeAutohide","         * @protected","         */","        _afterHostVisibleChangeAutohide : function (e) {","","            this._uiSetHostVisibleAutohide(e.newVal);","        },","","        /**","         * Default function called when hideOn Attribute is changed. Remove existing listeners and create new listeners.","         *","         * @method _afterHideOnChange","         */","        _afterHideOnChange : function(e) {","            this._detachUIHandlesAutohide();","","            if (this.get(VISIBLE)) {","                this._attachUIHandlesAutohide();","            }","        }","};","","Y.WidgetAutohide = WidgetAutohide;","","","}, '3.13.0', {\"requires\": [\"base-build\", \"event-key\", \"event-outside\", \"widget\"]});","","}());"]};
12 var __cov_ZeCyeKn61Cd3hxqwjc_JsA = __coverage__['build/widget-autohide/widget-autohide.js'];
13 __cov_ZeCyeKn61Cd3hxqwjc_JsA.s['1']++;YUI.add('widget-autohide',function(Y,NAME){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['1']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['2']++;var WIDGET_AUTOHIDE='widgetAutohide',AUTOHIDE='autohide',CLICK_OUTSIDE='clickoutside',FOCUS_OUTSIDE='focusoutside',DOCUMENT='document',KEY='key',PRESS_ESCAPE='esc',BIND_UI='bindUI',SYNC_UI='syncUI',RENDERED='rendered',BOUNDING_BOX='boundingBox',VISIBLE='visible',CHANGE='Change',getCN=Y.ClassNameManager.getClassName;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['3']++;function WidgetAutohide(config){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['2']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['4']++;Y.after(this._bindUIAutohide,this,BIND_UI);__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['5']++;Y.after(this._syncUIAutohide,this,SYNC_UI);__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['6']++;if(this.get(RENDERED)){__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['1'][0]++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['7']++;this._bindUIAutohide();__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['8']++;this._syncUIAutohide();}else{__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['1'][1]++;}}__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['9']++;WidgetAutohide.ATTRS={hideOn:{validator:Y.Lang.isArray,valueFn:function(){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['3']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['10']++;return[{node:Y.one(DOCUMENT),eventName:KEY,keyCode:PRESS_ESCAPE}];}}};__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['11']++;WidgetAutohide.prototype={_uiHandlesAutohide:null,destructor:function(){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['4']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['12']++;this._detachUIHandlesAutohide();},_bindUIAutohide:function(){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['5']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['13']++;this.after(VISIBLE+CHANGE,this._afterHostVisibleChangeAutohide);__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['14']++;this.after('hideOnChange',this._afterHideOnChange);},_syncUIAutohide:function(){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['6']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['15']++;this._uiSetHostVisibleAutohide(this.get(VISIBLE));},_uiSetHostVisibleAutohide:function(visible){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['7']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['16']++;if(visible){__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['2'][0]++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['17']++;Y.later(1,this,'_attachUIHandlesAutohide');}else{__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['2'][1]++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['18']++;this._detachUIHandlesAutohide();}},_attachUIHandlesAutohide:function(){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['8']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['19']++;if(this._uiHandlesAutohide){__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['3'][0]++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['20']++;return;}else{__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['3'][1]++;}__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['21']++;var bb=this.get(BOUNDING_BOX),hide=Y.bind(this.hide,this),uiHandles=[],self=this,hideOn=this.get('hideOn'),i=0,o={node:undefined,ev:undefined,keyCode:undefined};__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['22']++;for(;i<hideOn.length;i++){__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['23']++;o.node=hideOn[i].node;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['24']++;o.ev=hideOn[i].eventName;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['25']++;o.keyCode=hideOn[i].keyCode;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['26']++;if((__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['5'][0]++,!o.node)&&(__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['5'][1]++,!o.keyCode)&&(__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['5'][2]++,o.ev)){__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['4'][0]++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['27']++;uiHandles.push(bb.on(o.ev,hide));}else{__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['4'][1]++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['28']++;if((__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['7'][0]++,o.node)&&(__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['7'][1]++,!o.keyCode)&&(__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['7'][2]++,o.ev)){__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['6'][0]++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['29']++;uiHandles.push(o.node.on(o.ev,hide));}else{__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['6'][1]++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['30']++;if((__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['9'][0]++,o.node)&&(__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['9'][1]++,o.keyCode)&&(__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['9'][2]++,o.ev)){__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['8'][0]++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['31']++;uiHandles.push(o.node.on(o.ev,hide,o.keyCode));}else{__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['8'][1]++;}}}}__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['32']++;this._uiHandlesAutohide=uiHandles;},_detachUIHandlesAutohide:function(){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['9']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['33']++;Y.each(this._uiHandlesAutohide,function(h){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['10']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['34']++;h.detach();});__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['35']++;this._uiHandlesAutohide=null;},_afterHostVisibleChangeAutohide:function(e){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['11']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['36']++;this._uiSetHostVisibleAutohide(e.newVal);},_afterHideOnChange:function(e){__cov_ZeCyeKn61Cd3hxqwjc_JsA.f['12']++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['37']++;this._detachUIHandlesAutohide();__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['38']++;if(this.get(VISIBLE)){__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['10'][0]++;__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['39']++;this._attachUIHandlesAutohide();}else{__cov_ZeCyeKn61Cd3hxqwjc_JsA.b['10'][1]++;}}};__cov_ZeCyeKn61Cd3hxqwjc_JsA.s['40']++;Y.WidgetAutohide=WidgetAutohide;},'3.13.0',{'requires':['base-build','event-key','event-outside','widget']});