if (typeof __coverage__ === 'undefined') { __coverage__ = {}; } if (!__coverage__['build/node-flick/node-flick.js']) { __coverage__['build/node-flick/node-flick.js'] = {"path":"build/node-flick/node-flick.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,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0,0],"15":[0,0],"16":[0,0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[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,"13":0,"14":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":22},"end":{"line":1,"column":41}}},"2":{"name":"Flick","line":40,"loc":{"start":{"line":40,"column":4},"end":{"line":40,"column":27}}},"3":{"name":"(anonymous_3)","line":111,"loc":{"start":{"line":111,"column":22},"end":{"line":111,"column":33}}},"4":{"name":"(anonymous_4)","line":183,"loc":{"start":{"line":183,"column":22},"end":{"line":183,"column":39}}},"5":{"name":"(anonymous_5)","line":201,"loc":{"start":{"line":201,"column":20},"end":{"line":201,"column":32}}},"6":{"name":"(anonymous_6)","line":236,"loc":{"start":{"line":236,"column":25},"end":{"line":236,"column":36}}},"7":{"name":"(anonymous_7)","line":248,"loc":{"start":{"line":248,"column":18},"end":{"line":248,"column":30}}},"8":{"name":"(anonymous_8)","line":260,"loc":{"start":{"line":260,"column":20},"end":{"line":260,"column":31}}},"9":{"name":"(anonymous_9)","line":344,"loc":{"start":{"line":344,"column":16},"end":{"line":344,"column":30}}},"10":{"name":"(anonymous_10)","line":355,"loc":{"start":{"line":355,"column":16},"end":{"line":355,"column":30}}},"11":{"name":"(anonymous_11)","line":371,"loc":{"start":{"line":371,"column":15},"end":{"line":371,"column":48}}},"12":{"name":"(anonymous_12)","line":405,"loc":{"start":{"line":405,"column":16},"end":{"line":405,"column":49}}},"13":{"name":"(anonymous_13)","line":435,"loc":{"start":{"line":435,"column":18},"end":{"line":435,"column":37}}},"14":{"name":"(anonymous_14)","line":458,"loc":{"start":{"line":458,"column":20},"end":{"line":458,"column":31}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":523,"column":110}},"2":{"start":{"line":14,"column":4},"end":{"line":31,"column":55}},"3":{"start":{"line":40,"column":4},"end":{"line":42,"column":5}},"4":{"start":{"line":41,"column":8},"end":{"line":41,"column":60}},"5":{"start":{"line":44,"column":4},"end":{"line":151,"column":6}},"6":{"start":{"line":112,"column":16},"end":{"line":112,"column":55}},"7":{"start":{"line":162,"column":4},"end":{"line":162,"column":31}},"8":{"start":{"line":173,"column":4},"end":{"line":173,"column":23}},"9":{"start":{"line":175,"column":4},"end":{"line":518,"column":7}},"10":{"start":{"line":184,"column":12},"end":{"line":184,"column":40}},"11":{"start":{"line":186,"column":12},"end":{"line":186,"column":34}},"12":{"start":{"line":187,"column":12},"end":{"line":187,"column":29}},"13":{"start":{"line":189,"column":12},"end":{"line":192,"column":15}},"14":{"start":{"line":202,"column":12},"end":{"line":209,"column":54}},"15":{"start":{"line":211,"column":12},"end":{"line":215,"column":13}},"16":{"start":{"line":212,"column":16},"end":{"line":212,"column":55}},"17":{"start":{"line":213,"column":16},"end":{"line":213,"column":31}},"18":{"start":{"line":214,"column":16},"end":{"line":214,"column":37}},"19":{"start":{"line":217,"column":12},"end":{"line":221,"column":13}},"20":{"start":{"line":218,"column":16},"end":{"line":218,"column":53}},"21":{"start":{"line":219,"column":16},"end":{"line":219,"column":31}},"22":{"start":{"line":220,"column":16},"end":{"line":220,"column":37}},"23":{"start":{"line":223,"column":12},"end":{"line":223,"column":34}},"24":{"start":{"line":225,"column":12},"end":{"line":225,"column":44}},"25":{"start":{"line":226,"column":12},"end":{"line":226,"column":45}},"26":{"start":{"line":237,"column":12},"end":{"line":237,"column":67}},"27":{"start":{"line":238,"column":12},"end":{"line":238,"column":59}},"28":{"start":{"line":249,"column":12},"end":{"line":249,"column":39}},"29":{"start":{"line":250,"column":12},"end":{"line":250,"column":31}},"30":{"start":{"line":251,"column":12},"end":{"line":251,"column":30}},"31":{"start":{"line":262,"column":12},"end":{"line":273,"column":42}},"32":{"start":{"line":275,"column":12},"end":{"line":275,"column":48}},"33":{"start":{"line":277,"column":12},"end":{"line":277,"column":37}},"34":{"start":{"line":279,"column":12},"end":{"line":281,"column":13}},"35":{"start":{"line":280,"column":16},"end":{"line":280,"column":42}},"36":{"start":{"line":283,"column":12},"end":{"line":285,"column":13}},"37":{"start":{"line":284,"column":16},"end":{"line":284,"column":42}},"38":{"start":{"line":287,"column":12},"end":{"line":334,"column":13}},"39":{"start":{"line":289,"column":16},"end":{"line":289,"column":36}},"40":{"start":{"line":291,"column":16},"end":{"line":291,"column":87}},"41":{"start":{"line":293,"column":16},"end":{"line":301,"column":17}},"42":{"start":{"line":294,"column":20},"end":{"line":300,"column":21}},"43":{"start":{"line":295,"column":24},"end":{"line":295,"column":48}},"44":{"start":{"line":296,"column":24},"end":{"line":296,"column":41}},"45":{"start":{"line":297,"column":27},"end":{"line":300,"column":21}},"46":{"start":{"line":298,"column":24},"end":{"line":298,"column":48}},"47":{"start":{"line":299,"column":24},"end":{"line":299,"column":41}},"48":{"start":{"line":303,"column":16},"end":{"line":311,"column":17}},"49":{"start":{"line":304,"column":20},"end":{"line":310,"column":21}},"50":{"start":{"line":305,"column":24},"end":{"line":305,"column":48}},"51":{"start":{"line":306,"column":24},"end":{"line":306,"column":41}},"52":{"start":{"line":307,"column":27},"end":{"line":310,"column":21}},"53":{"start":{"line":308,"column":24},"end":{"line":308,"column":48}},"54":{"start":{"line":309,"column":24},"end":{"line":309,"column":41}},"55":{"start":{"line":315,"column":16},"end":{"line":318,"column":17}},"56":{"start":{"line":316,"column":20},"end":{"line":316,"column":51}},"57":{"start":{"line":317,"column":20},"end":{"line":317,"column":38}},"58":{"start":{"line":320,"column":16},"end":{"line":323,"column":17}},"59":{"start":{"line":321,"column":20},"end":{"line":321,"column":51}},"60":{"start":{"line":322,"column":20},"end":{"line":322,"column":38}},"61":{"start":{"line":325,"column":16},"end":{"line":327,"column":17}},"62":{"start":{"line":326,"column":20},"end":{"line":326,"column":34}},"63":{"start":{"line":329,"column":16},"end":{"line":331,"column":17}},"64":{"start":{"line":330,"column":20},"end":{"line":330,"column":34}},"65":{"start":{"line":333,"column":16},"end":{"line":333,"column":72}},"66":{"start":{"line":345,"column":12},"end":{"line":345,"column":72}},"67":{"start":{"line":356,"column":12},"end":{"line":356,"column":72}},"68":{"start":{"line":373,"column":12},"end":{"line":377,"column":13}},"69":{"start":{"line":374,"column":16},"end":{"line":374,"column":36}},"70":{"start":{"line":376,"column":16},"end":{"line":376,"column":28}},"71":{"start":{"line":379,"column":12},"end":{"line":383,"column":13}},"72":{"start":{"line":380,"column":16},"end":{"line":380,"column":36}},"73":{"start":{"line":382,"column":16},"end":{"line":382,"column":28}},"74":{"start":{"line":385,"column":12},"end":{"line":385,"column":78}},"75":{"start":{"line":386,"column":12},"end":{"line":386,"column":83}},"76":{"start":{"line":388,"column":12},"end":{"line":388,"column":24}},"77":{"start":{"line":389,"column":12},"end":{"line":389,"column":24}},"78":{"start":{"line":391,"column":12},"end":{"line":391,"column":47}},"79":{"start":{"line":406,"column":12},"end":{"line":412,"column":18}},"80":{"start":{"line":415,"column":12},"end":{"line":420,"column":13}},"81":{"start":{"line":416,"column":16},"end":{"line":416,"column":80}},"82":{"start":{"line":418,"column":16},"end":{"line":418,"column":44}},"83":{"start":{"line":419,"column":16},"end":{"line":419,"column":43}},"84":{"start":{"line":422,"column":12},"end":{"line":422,"column":46}},"85":{"start":{"line":436,"column":12},"end":{"line":438,"column":41}},"86":{"start":{"line":440,"column":12},"end":{"line":440,"column":44}},"87":{"start":{"line":442,"column":12},"end":{"line":448,"column":13}},"88":{"start":{"line":443,"column":16},"end":{"line":447,"column":17}},"89":{"start":{"line":444,"column":20},"end":{"line":444,"column":30}},"90":{"start":{"line":445,"column":23},"end":{"line":447,"column":17}},"91":{"start":{"line":446,"column":20},"end":{"line":446,"column":30}},"92":{"start":{"line":449,"column":12},"end":{"line":449,"column":23}},"93":{"start":{"line":459,"column":12},"end":{"line":461,"column":13}},"94":{"start":{"line":460,"column":16},"end":{"line":460,"column":42}},"95":{"start":{"line":520,"column":4},"end":{"line":520,"column":27}}},"branchMap":{"1":{"line":211,"type":"if","locations":[{"start":{"line":211,"column":12},"end":{"line":211,"column":12}},{"start":{"line":211,"column":12},"end":{"line":211,"column":12}}]},"2":{"line":217,"type":"if","locations":[{"start":{"line":217,"column":12},"end":{"line":217,"column":12}},{"start":{"line":217,"column":12},"end":{"line":217,"column":12}}]},"3":{"line":279,"type":"if","locations":[{"start":{"line":279,"column":12},"end":{"line":279,"column":12}},{"start":{"line":279,"column":12},"end":{"line":279,"column":12}}]},"4":{"line":283,"type":"if","locations":[{"start":{"line":283,"column":12},"end":{"line":283,"column":12}},{"start":{"line":283,"column":12},"end":{"line":283,"column":12}}]},"5":{"line":287,"type":"if","locations":[{"start":{"line":287,"column":12},"end":{"line":287,"column":12}},{"start":{"line":287,"column":12},"end":{"line":287,"column":12}}]},"6":{"line":291,"type":"binary-expr","locations":[{"start":{"line":291,"column":34},"end":{"line":291,"column":57}},{"start":{"line":291,"column":61},"end":{"line":291,"column":84}}]},"7":{"line":293,"type":"if","locations":[{"start":{"line":293,"column":16},"end":{"line":293,"column":16}},{"start":{"line":293,"column":16},"end":{"line":293,"column":16}}]},"8":{"line":294,"type":"if","locations":[{"start":{"line":294,"column":20},"end":{"line":294,"column":20}},{"start":{"line":294,"column":20},"end":{"line":294,"column":20}}]},"9":{"line":297,"type":"if","locations":[{"start":{"line":297,"column":27},"end":{"line":297,"column":27}},{"start":{"line":297,"column":27},"end":{"line":297,"column":27}}]},"10":{"line":303,"type":"if","locations":[{"start":{"line":303,"column":16},"end":{"line":303,"column":16}},{"start":{"line":303,"column":16},"end":{"line":303,"column":16}}]},"11":{"line":304,"type":"if","locations":[{"start":{"line":304,"column":20},"end":{"line":304,"column":20}},{"start":{"line":304,"column":20},"end":{"line":304,"column":20}}]},"12":{"line":307,"type":"if","locations":[{"start":{"line":307,"column":27},"end":{"line":307,"column":27}},{"start":{"line":307,"column":27},"end":{"line":307,"column":27}}]},"13":{"line":315,"type":"if","locations":[{"start":{"line":315,"column":16},"end":{"line":315,"column":16}},{"start":{"line":315,"column":16},"end":{"line":315,"column":16}}]},"14":{"line":315,"type":"binary-expr","locations":[{"start":{"line":315,"column":20},"end":{"line":315,"column":33}},{"start":{"line":315,"column":38},"end":{"line":315,"column":46}},{"start":{"line":315,"column":50},"end":{"line":315,"column":58}}]},"15":{"line":320,"type":"if","locations":[{"start":{"line":320,"column":16},"end":{"line":320,"column":16}},{"start":{"line":320,"column":16},"end":{"line":320,"column":16}}]},"16":{"line":320,"type":"binary-expr","locations":[{"start":{"line":320,"column":20},"end":{"line":320,"column":33}},{"start":{"line":320,"column":38},"end":{"line":320,"column":46}},{"start":{"line":320,"column":50},"end":{"line":320,"column":58}}]},"17":{"line":325,"type":"if","locations":[{"start":{"line":325,"column":16},"end":{"line":325,"column":16}},{"start":{"line":325,"column":16},"end":{"line":325,"column":16}}]},"18":{"line":329,"type":"if","locations":[{"start":{"line":329,"column":16},"end":{"line":329,"column":16}},{"start":{"line":329,"column":16},"end":{"line":329,"column":16}}]},"19":{"line":373,"type":"if","locations":[{"start":{"line":373,"column":12},"end":{"line":373,"column":12}},{"start":{"line":373,"column":12},"end":{"line":373,"column":12}}]},"20":{"line":379,"type":"if","locations":[{"start":{"line":379,"column":12},"end":{"line":379,"column":12}},{"start":{"line":379,"column":12},"end":{"line":379,"column":12}}]},"21":{"line":385,"type":"cond-expr","locations":[{"start":{"line":385,"column":54},"end":{"line":385,"column":73}},{"start":{"line":385,"column":76},"end":{"line":385,"column":77}}]},"22":{"line":385,"type":"binary-expr","locations":[{"start":{"line":385,"column":23},"end":{"line":385,"column":31}},{"start":{"line":385,"column":35},"end":{"line":385,"column":51}}]},"23":{"line":386,"type":"cond-expr","locations":[{"start":{"line":386,"column":50},"end":{"line":386,"column":67}},{"start":{"line":386,"column":70},"end":{"line":386,"column":82}}]},"24":{"line":386,"type":"binary-expr","locations":[{"start":{"line":386,"column":21},"end":{"line":386,"column":27}},{"start":{"line":386,"column":31},"end":{"line":386,"column":47}}]},"25":{"line":415,"type":"if","locations":[{"start":{"line":415,"column":12},"end":{"line":415,"column":12}},{"start":{"line":415,"column":12},"end":{"line":415,"column":12}}]},"26":{"line":438,"type":"cond-expr","locations":[{"start":{"line":438,"column":31},"end":{"line":438,"column":36}},{"start":{"line":438,"column":39},"end":{"line":438,"column":40}}]},"27":{"line":440,"type":"cond-expr","locations":[{"start":{"line":440,"column":27},"end":{"line":440,"column":37}},{"start":{"line":440,"column":40},"end":{"line":440,"column":43}}]},"28":{"line":442,"type":"if","locations":[{"start":{"line":442,"column":12},"end":{"line":442,"column":12}},{"start":{"line":442,"column":12},"end":{"line":442,"column":12}}]},"29":{"line":443,"type":"if","locations":[{"start":{"line":443,"column":16},"end":{"line":443,"column":16}},{"start":{"line":443,"column":16},"end":{"line":443,"column":16}}]},"30":{"line":445,"type":"if","locations":[{"start":{"line":445,"column":23},"end":{"line":445,"column":23}},{"start":{"line":445,"column":23},"end":{"line":445,"column":23}}]},"31":{"line":459,"type":"if","locations":[{"start":{"line":459,"column":12},"end":{"line":459,"column":12}},{"start":{"line":459,"column":12},"end":{"line":459,"column":12}}]}},"code":["(function () { YUI.add('node-flick', function (Y, NAME) {","","/**"," * Provide a simple Flick plugin, which can be used along with the \"flick\" gesture event, to"," * animate the motion of the host node in response to a (mouse or touch) flick gesture."," *"," *
The current implementation is designed to move the node, relative to the bounds of a parent node and is suitable"," * for scroll/carousel type implementations. Future versions will remove that constraint, to allow open ended movement within"," * the document.
"," *"," * @module node-flick"," */",""," var HOST = \"host\","," PARENT_NODE = \"parentNode\","," BOUNDING_BOX = \"boundingBox\","," OFFSET_HEIGHT = \"offsetHeight\","," OFFSET_WIDTH = \"offsetWidth\","," SCROLL_HEIGHT = \"scrollHeight\","," SCROLL_WIDTH = \"scrollWidth\","," BOUNCE = \"bounce\","," MIN_DISTANCE = \"minDistance\","," MIN_VELOCITY = \"minVelocity\","," BOUNCE_DISTANCE = \"bounceDistance\","," DECELERATION = \"deceleration\","," STEP = \"step\","," DURATION = \"duration\","," EASING = \"easing\","," FLICK = \"flick\",",""," getClassName = Y.ClassNameManager.getClassName;",""," /**"," * A plugin class which can be used to animate the motion of a node, in response to a flick gesture."," *"," * @class Flick"," * @namespace Plugin"," * @param {Object} config The initial attribute values for the plugin"," */"," function Flick(config) {"," Flick.superclass.constructor.apply(this, arguments);"," }",""," Flick.ATTRS = {",""," /**"," * Drag coefficent for inertial scrolling. The closer to 1 this"," * value is, the less friction during scrolling."," *"," * @attribute deceleration"," * @default 0.98"," */"," deceleration : {"," value: 0.98"," },",""," /**"," * Drag coefficient for intertial scrolling at the upper"," * and lower boundaries of the scrollview. Set to 0 to"," * disable \"rubber-banding\"."," *"," * @attribute bounce"," * @type Number"," * @default 0.7"," */"," bounce : {"," value: 0.7"," },",""," /**"," * The bounce distance in pixels"," *"," * @attribute bounceDistance"," * @type Number"," * @default 150"," */"," bounceDistance : {"," value: 150"," },",""," /**"," * The minimum flick gesture velocity (px/ms) at which to trigger the flick response"," *"," * @attribute minVelocity"," * @type Number"," * @default 0"," */"," minVelocity : {"," value: 0"," },",""," /**"," * The minimum flick gesture distance (px) for which to trigger the flick response"," *"," * @attribute minVelocity"," * @type Number"," * @default 10"," */"," minDistance : {"," value: 10"," },",""," /**"," * The constraining box relative to which the flick animation and bounds should be calculated."," *"," * @attribute boundingBox"," * @type Node"," * @default parentNode"," */"," boundingBox : {"," valueFn : function() {"," return this.get(HOST).get(PARENT_NODE);"," }"," },",""," /**"," * Time between flick animation frames."," *"," * @attribute step"," * @type Number"," * @default 10"," */"," step : {"," value:10"," },",""," /**"," * The custom duration to apply to the flick animation. By default,"," * the animation duration is controlled by the deceleration factor."," *"," * @attribute duration"," * @type Number"," * @default null"," */"," duration : {"," value:null"," },",""," /**"," * The custom transition easing to use for the flick animation. If not"," * provided defaults to internally to Flick.EASING, or Flick.SNAP_EASING based"," * on whether or not we're animating the flick or bounce step."," *"," * @attribute easing"," * @type String"," * @default null"," */"," easing : {"," value:null"," }"," };",""," /**"," * The NAME of the Flick class. Used to prefix events generated"," * by the plugin."," *"," * @property NAME"," * @static"," * @type String"," * @default \"pluginFlick\""," */"," Flick.NAME = \"pluginFlick\";",""," /**"," * The namespace for the plugin. This will be the property on the node, which will"," * reference the plugin instance, when it's plugged in."," *"," * @property NS"," * @static"," * @type String"," * @default \"flick\""," */"," Flick.NS = \"flick\";",""," Y.extend(Flick, Y.Plugin.Base, {",""," /**"," * The initializer lifecycle implementation."," *"," * @method initializer"," * @param {Object} config The user configuration for the plugin"," */"," initializer : function(config) {"," this._node = this.get(HOST);",""," this._renderClasses();"," this.setBounds();",""," this._node.on(FLICK, Y.bind(this._onFlick, this), {"," minDistance : this.get(MIN_DISTANCE),"," minVelocity : this.get(MIN_VELOCITY)"," });"," },",""," /**"," * Sets the min/max boundaries for the flick animation,"," * based on the boundingBox dimensions."," *"," * @method setBounds"," */"," setBounds : function () {"," var box = this.get(BOUNDING_BOX),"," node = this._node,",""," boxHeight = box.get(OFFSET_HEIGHT),"," boxWidth = box.get(OFFSET_WIDTH),",""," contentHeight = node.get(SCROLL_HEIGHT),"," contentWidth = node.get(SCROLL_WIDTH);",""," if (contentHeight > boxHeight) {"," this._maxY = contentHeight - boxHeight;"," this._minY = 0;"," this._scrollY = true;"," }",""," if (contentWidth > boxWidth) {"," this._maxX = contentWidth - boxWidth;"," this._minX = 0;"," this._scrollX = true;"," }",""," this._x = this._y = 0;",""," node.set(\"top\", this._y + \"px\");"," node.set(\"left\", this._x + \"px\");"," },",""," /**"," * Adds the CSS classes, necessary to set up overflow/position properties on the"," * node and boundingBox."," *"," * @method _renderClasses"," * @protected"," */"," _renderClasses : function() {"," this.get(BOUNDING_BOX).addClass(Flick.CLASS_NAMES.box);"," this._node.addClass(Flick.CLASS_NAMES.content);"," },",""," /**"," * The flick event listener. Kicks off the flick animation."," *"," * @method _onFlick"," * @param e {EventFacade} The flick event facade, containing e.flick.distance, e.flick.velocity etc."," * @protected"," */"," _onFlick: function(e) {"," this._v = e.flick.velocity;"," this._flick = true;"," this._flickAnim();"," },",""," /**"," * Executes a single frame in the flick animation"," *"," * @method _flickFrame"," * @protected"," */"," _flickAnim: function() {",""," var y = this._y,"," x = this._x,",""," maxY = this._maxY,"," minY = this._minY,"," maxX = this._maxX,"," minX = this._minX,"," velocity = this._v,",""," step = this.get(STEP),"," deceleration = this.get(DECELERATION),"," bounce = this.get(BOUNCE);",""," this._v = (velocity * deceleration);",""," this._snapToEdge = false;",""," if (this._scrollX) {"," x = x - (velocity * step);"," }",""," if (this._scrollY) {"," y = y - (velocity * step);"," }",""," if (Math.abs(velocity).toFixed(4) <= Flick.VELOCITY_THRESHOLD) {",""," this._flick = false;",""," this._killTimer(!(this._exceededYBoundary || this._exceededXBoundary));",""," if (this._scrollX) {"," if (x < minX) {"," this._snapToEdge = true;"," this._setX(minX);"," } else if (x > maxX) {"," this._snapToEdge = true;"," this._setX(maxX);"," }"," }",""," if (this._scrollY) {"," if (y < minY) {"," this._snapToEdge = true;"," this._setY(minY);"," } else if (y > maxY) {"," this._snapToEdge = true;"," this._setY(maxY);"," }"," }",""," } else {",""," if (this._scrollX && (x < minX || x > maxX)) {"," this._exceededXBoundary = true;"," this._v *= bounce;"," }",""," if (this._scrollY && (y < minY || y > maxY)) {"," this._exceededYBoundary = true;"," this._v *= bounce;"," }",""," if (this._scrollX) {"," this._setX(x);"," }",""," if (this._scrollY) {"," this._setY(y);"," }",""," this._flickTimer = Y.later(step, this, this._flickAnim);"," }"," },",""," /**"," * Internal utility method to set the X offset position"," *"," * @method _setX"," * @param {Number} val"," * @private"," */"," _setX : function(val) {"," this._move(val, null, this.get(DURATION), this.get(EASING));"," },",""," /**"," * Internal utility method to set the Y offset position"," *"," * @method _setY"," * @param {Number} val"," * @private"," */"," _setY : function(val) {"," this._move(null, val, this.get(DURATION), this.get(EASING));"," },",""," /**"," * Internal utility method to move the node to a given XY position,"," * using transitions, if specified."," *"," * @method _move"," * @param {Number} x The X offset position"," * @param {Number} y The Y offset position"," * @param {Number} duration The duration to use for the transition animation"," * @param {String} easing The easing to use for the transition animation."," *"," * @private"," */"," _move: function(x, y, duration, easing) {",""," if (x !== null) {"," x = this._bounce(x);"," } else {"," x = this._x;"," }",""," if (y !== null) {"," y = this._bounce(y);"," } else {"," y = this._y;"," }",""," duration = duration || this._snapToEdge ? Flick.SNAP_DURATION : 0;"," easing = easing || this._snapToEdge ? Flick.SNAP_EASING : Flick.EASING;",""," this._x = x;"," this._y = y;",""," this._anim(x, y, duration, easing);"," },",""," /**"," * Internal utility method to perform the transition step"," *"," * @method _anim"," * @param {Number} x The X offset position"," * @param {Number} y The Y offset position"," * @param {Number} duration The duration to use for the transition animation"," * @param {String} easing The easing to use for the transition animation."," *"," * @private"," */"," _anim : function(x, y, duration, easing) {"," var xn = x * -1,"," yn = y * -1,",""," transition = {"," duration : duration / 1000,"," easing : easing"," };","",""," if (Y.Transition.useNative) {"," transition.transform = 'translate('+ (xn) + 'px,' + (yn) +'px)';"," } else {"," transition.left = xn + 'px';"," transition.top = yn + 'px';"," }",""," this._node.transition(transition);"," },",""," /**"," * Internal utility method to constrain the offset value"," * based on the bounce criteria."," *"," * @method _bounce"," * @param {Number} x The offset value to constrain."," * @param {Number} max The max offset value."," *"," * @private"," */"," _bounce : function(val, max) {"," var bounce = this.get(BOUNCE),"," dist = this.get(BOUNCE_DISTANCE),"," min = bounce ? -dist : 0;",""," max = bounce ? max + dist : max;",""," if(!bounce) {"," if(val < min) {"," val = min;"," } else if(val > max) {"," val = max;"," }"," }"," return val;"," },",""," /**"," * Stop the animation timer"," *"," * @method _killTimer"," * @private"," */"," _killTimer: function() {"," if(this._flickTimer) {"," this._flickTimer.cancel();"," }"," }",""," }, {",""," /**"," * The threshold used to determine when the decelerated velocity of the node"," * is practically 0."," *"," * @property VELOCITY_THRESHOLD"," * @static"," * @type Number"," * @default 0.015"," */"," VELOCITY_THRESHOLD : 0.015,",""," /**"," * The duration to use for the bounce snap-back transition"," *"," * @property SNAP_DURATION"," * @static"," * @type Number"," * @default 400"," */"," SNAP_DURATION : 400,",""," /**"," * The default easing to use for the main flick movement transition"," *"," * @property EASING"," * @static"," * @type String"," * @default 'cubic-bezier(0, 0.1, 0, 1.0)'"," */"," EASING : 'cubic-bezier(0, 0.1, 0, 1.0)',",""," /**"," * The default easing to use for the bounce snap-back transition"," *"," * @property SNAP_EASING"," * @static"," * @type String"," * @default 'ease-out'"," */"," SNAP_EASING : 'ease-out',",""," /**"," * The default CSS class names used by the plugin"," *"," * @property CLASS_NAMES"," * @static"," * @type Object"," */"," CLASS_NAMES : {"," box: getClassName(Flick.NS),"," content: getClassName(Flick.NS, \"content\")"," }"," });",""," Y.Plugin.Flick = Flick;","","","}, '@VERSION@', {\"requires\": [\"classnamemanager\", \"transition\", \"event-flick\", \"plugin\"], \"skinnable\": true});","","}());"]}; } var __cov_IFPWcNfpolu4Y0gj6rbIYA = __coverage__['build/node-flick/node-flick.js']; __cov_IFPWcNfpolu4Y0gj6rbIYA.s['1']++;YUI.add('node-flick',function(Y,NAME){__cov_IFPWcNfpolu4Y0gj6rbIYA.f['1']++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['2']++;var HOST='host',PARENT_NODE='parentNode',BOUNDING_BOX='boundingBox',OFFSET_HEIGHT='offsetHeight',OFFSET_WIDTH='offsetWidth',SCROLL_HEIGHT='scrollHeight',SCROLL_WIDTH='scrollWidth',BOUNCE='bounce',MIN_DISTANCE='minDistance',MIN_VELOCITY='minVelocity',BOUNCE_DISTANCE='bounceDistance',DECELERATION='deceleration',STEP='step',DURATION='duration',EASING='easing',FLICK='flick',getClassName=Y.ClassNameManager.getClassName;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['3']++;function Flick(config){__cov_IFPWcNfpolu4Y0gj6rbIYA.f['2']++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['4']++;Flick.superclass.constructor.apply(this,arguments);}__cov_IFPWcNfpolu4Y0gj6rbIYA.s['5']++;Flick.ATTRS={deceleration:{value:0.98},bounce:{value:0.7},bounceDistance:{value:150},minVelocity:{value:0},minDistance:{value:10},boundingBox:{valueFn:function(){__cov_IFPWcNfpolu4Y0gj6rbIYA.f['3']++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['6']++;return this.get(HOST).get(PARENT_NODE);}},step:{value:10},duration:{value:null},easing:{value:null}};__cov_IFPWcNfpolu4Y0gj6rbIYA.s['7']++;Flick.NAME='pluginFlick';__cov_IFPWcNfpolu4Y0gj6rbIYA.s['8']++;Flick.NS='flick';__cov_IFPWcNfpolu4Y0gj6rbIYA.s['9']++;Y.extend(Flick,Y.Plugin.Base,{initializer:function(config){__cov_IFPWcNfpolu4Y0gj6rbIYA.f['4']++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['10']++;this._node=this.get(HOST);__cov_IFPWcNfpolu4Y0gj6rbIYA.s['11']++;this._renderClasses();__cov_IFPWcNfpolu4Y0gj6rbIYA.s['12']++;this.setBounds();__cov_IFPWcNfpolu4Y0gj6rbIYA.s['13']++;this._node.on(FLICK,Y.bind(this._onFlick,this),{minDistance:this.get(MIN_DISTANCE),minVelocity:this.get(MIN_VELOCITY)});},setBounds:function(){__cov_IFPWcNfpolu4Y0gj6rbIYA.f['5']++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['14']++;var box=this.get(BOUNDING_BOX),node=this._node,boxHeight=box.get(OFFSET_HEIGHT),boxWidth=box.get(OFFSET_WIDTH),contentHeight=node.get(SCROLL_HEIGHT),contentWidth=node.get(SCROLL_WIDTH);__cov_IFPWcNfpolu4Y0gj6rbIYA.s['15']++;if(contentHeight>boxHeight){__cov_IFPWcNfpolu4Y0gj6rbIYA.b['1'][0]++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['16']++;this._maxY=contentHeight-boxHeight;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['17']++;this._minY=0;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['18']++;this._scrollY=true;}else{__cov_IFPWcNfpolu4Y0gj6rbIYA.b['1'][1]++;}__cov_IFPWcNfpolu4Y0gj6rbIYA.s['19']++;if(contentWidth>boxWidth){__cov_IFPWcNfpolu4Y0gj6rbIYA.b['2'][0]++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['20']++;this._maxX=contentWidth-boxWidth;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['21']++;this._minX=0;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['22']++;this._scrollX=true;}else{__cov_IFPWcNfpolu4Y0gj6rbIYA.b['2'][1]++;}__cov_IFPWcNfpolu4Y0gj6rbIYA.s['23']++;this._x=this._y=0;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['24']++;node.set('top',this._y+'px');__cov_IFPWcNfpolu4Y0gj6rbIYA.s['25']++;node.set('left',this._x+'px');},_renderClasses:function(){__cov_IFPWcNfpolu4Y0gj6rbIYA.f['6']++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['26']++;this.get(BOUNDING_BOX).addClass(Flick.CLASS_NAMES.box);__cov_IFPWcNfpolu4Y0gj6rbIYA.s['27']++;this._node.addClass(Flick.CLASS_NAMES.content);},_onFlick:function(e){__cov_IFPWcNfpolu4Y0gj6rbIYA.f['7']++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['28']++;this._v=e.flick.velocity;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['29']++;this._flick=true;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['30']++;this._flickAnim();},_flickAnim:function(){__cov_IFPWcNfpolu4Y0gj6rbIYA.f['8']++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['31']++;var y=this._y,x=this._x,maxY=this._maxY,minY=this._minY,maxX=this._maxX,minX=this._minX,velocity=this._v,step=this.get(STEP),deceleration=this.get(DECELERATION),bounce=this.get(BOUNCE);__cov_IFPWcNfpolu4Y0gj6rbIYA.s['32']++;this._v=velocity*deceleration;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['33']++;this._snapToEdge=false;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['34']++;if(this._scrollX){__cov_IFPWcNfpolu4Y0gj6rbIYA.b['3'][0]++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['35']++;x=x-velocity*step;}else{__cov_IFPWcNfpolu4Y0gj6rbIYA.b['3'][1]++;}__cov_IFPWcNfpolu4Y0gj6rbIYA.s['36']++;if(this._scrollY){__cov_IFPWcNfpolu4Y0gj6rbIYA.b['4'][0]++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['37']++;y=y-velocity*step;}else{__cov_IFPWcNfpolu4Y0gj6rbIYA.b['4'][1]++;}__cov_IFPWcNfpolu4Y0gj6rbIYA.s['38']++;if(Math.abs(velocity).toFixed(4)<=Flick.VELOCITY_THRESHOLD){__cov_IFPWcNfpolu4Y0gj6rbIYA.b['5'][0]++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['39']++;this._flick=false;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['40']++;this._killTimer(!((__cov_IFPWcNfpolu4Y0gj6rbIYA.b['6'][0]++,this._exceededYBoundary)||(__cov_IFPWcNfpolu4Y0gj6rbIYA.b['6'][1]++,this._exceededXBoundary)));__cov_IFPWcNfpolu4Y0gj6rbIYA.s['41']++;if(this._scrollX){__cov_IFPWcNfpolu4Y0gj6rbIYA.b['7'][0]++;__cov_IFPWcNfpolu4Y0gj6rbIYA.s['42']++;if(x