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\"]});","","}());"]};