src/cm/media/js/lib/yui/yui_3.10.3/build/node-event-simulate/node-event-simulate-debug.js
changeset 525 89ef5ed3c48b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/lib/yui/yui_3.10.3/build/node-event-simulate/node-event-simulate-debug.js	Tue Jul 16 14:29:46 2013 +0200
@@ -0,0 +1,196 @@
+/*
+YUI 3.10.3 (build 2fb5187)
+Copyright 2013 Yahoo! Inc. All rights reserved.
+Licensed under the BSD License.
+http://yuilibrary.com/license/
+*/
+
+YUI.add('node-event-simulate', function (Y, NAME) {
+
+/**
+ * Adds functionality to simulate events.
+ * @module node
+ * @submodule node-event-simulate
+ */
+
+/**
+ * Simulates an event on the node.
+ * @param {String} type The type of event (i.e., "click").
+ * @param {Object} options (Optional) Extra options to copy onto the event object.
+ * @return {void}
+ * @for Node
+ * @method simulate
+ */
+Y.Node.prototype.simulate = function (type, options) {
+    
+    Y.Event.simulate(Y.Node.getDOMNode(this), type, options);
+};
+
+/**
+ * Simulates the higher user level gesture of the given name on this node. 
+ * This method generates a set of low level touch events(Apple specific gesture 
+ * events as well for the iOS platforms) asynchronously. Note that gesture  
+ * simulation is relying on `Y.Event.simulate()` method to generate 
+ * the touch events under the hood. The `Y.Event.simulate()` method
+ * itself is a synchronous method.
+ * 
+ * Supported gestures are `tap`, `doubletap`, `press`, `move`, `flick`, `pinch`
+ * and `rotate`.
+ * 
+ * The `pinch` gesture is used to simulate the pinching and spreading of two
+ * fingers. During a pinch simulation, rotation is also possible. Essentially
+ * `pinch` and `rotate` simulations share the same base implementation to allow
+ * both pinching and rotation at the same time. The only difference is `pinch`
+ * requires `start` and `end` option properties while `rotate` requires `rotation` 
+ * option property.
+ * 
+ * The `pinch` and `rotate` gestures can be described as placing 2 fingers along a
+ * circle. Pinching and spreading can be described by start and end circles while 
+ * rotation occurs on a single circle. If the radius of the start circle is greater 
+ * than the end circle, the gesture becomes a pinch, otherwise it is a spread spread.
+ * 
+ * @example
+ *
+ *     var node = Y.one("#target");
+ *       
+ *     // double tap example
+ *     node.simulateGesture("doubletap", function() {
+ *         // my callback function
+ *     });
+ *     
+ *     // flick example from the center of the node, move 50 pixels down for 50ms)
+ *     node.simulateGesture("flick", {
+ *         axis: y,
+ *         distance: -100
+ *         duration: 50
+ *     }, function() {
+ *         // my callback function
+ *     });
+ *     
+ *     // simulate rotating a node 75 degrees counter-clockwise 
+ *     node.simulateGesture("rotate", {
+ *         rotation: -75
+ *     });
+ *
+ *     // simulate a pinch and a rotation at the same time. 
+ *     // fingers start on a circle of radius 100 px, placed at top/bottom
+ *     // fingers end on a circle of radius 50px, placed at right/left 
+ *     node.simulateGesture("pinch", {
+ *         r1: 100,
+ *         r2: 50,
+ *         start: 0
+ *         rotation: 90
+ *     });
+ *     
+ * @method simulateGesture
+ * @param {String} name The name of the supported gesture to simulate. The 
+ *      supported gesture name is one of "tap", "doubletap", "press", "move", 
+ *      "flick", "pinch" and "rotate". 
+ * @param {Object} [options] Extra options used to define the gesture behavior:
+ * 
+ *      Valid options properties for the `tap` gesture:
+ *      
+ *      @param {Array} [options.point] (Optional) Indicates the [x,y] coordinates 
+ *        where the tap should be simulated. Default is the center of the node 
+ *        element.
+ *      @param {Number} [options.hold=10] (Optional) The hold time in milliseconds. 
+ *        This is the time between `touchstart` and `touchend` event generation.
+ *      @param {Number} [options.times=1] (Optional) Indicates the number of taps.
+ *      @param {Number} [options.delay=10] (Optional) The number of milliseconds 
+ *        before the next tap simulation happens. This is valid only when `times` 
+ *        is more than 1. 
+ *        
+ *      Valid options properties for the `doubletap` gesture:
+ *      
+ *      @param {Array} [options.point] (Optional) Indicates the [x,y] coordinates 
+ *        where the doubletap should be simulated. Default is the center of the 
+ *        node element.
+ * 
+ *      Valid options properties for the `press` gesture:
+ *      
+ *      @param {Array} [options.point] (Optional) Indicates the [x,y] coordinates 
+ *        where the press should be simulated. Default is the center of the node 
+ *        element.
+ *      @param {Number} [options.hold=3000] (Optional) The hold time in milliseconds. 
+ *        This is the time between `touchstart` and `touchend` event generation. 
+ *        Default is 3000ms (3 seconds).
+ * 
+ *      Valid options properties for the `move` gesture:
+ *      
+ *      @param {Object} [options.path] (Optional) Indicates the path of the finger 
+ *        movement. It's an object with three optional properties: `point`, 
+ *        `xdist` and  `ydist`.
+ *        @param {Array} [options.path.point] A starting point of the gesture.
+ *          Default is the center of the node element.
+ *        @param {Number} [options.path.xdist=200] A distance to move in pixels  
+ *          along the X axis. A negative distance value indicates moving left.
+ *        @param {Number} [options.path.ydist=0] A distance to move in pixels  
+ *          along the Y axis. A negative distance value indicates moving up.
+ *      @param {Number} [options.duration=1000] (Optional) The duration of the 
+ *        gesture in milliseconds.
+ * 
+ *      Valid options properties for the `flick` gesture:
+ *      
+ *      @param {Array} [options.point] (Optional) Indicates the [x, y] coordinates 
+ *        where the flick should be simulated. Default is the center of the 
+ *        node element.
+ *      @param {String} [options.axis='x'] (Optional) Valid values are either 
+ *        "x" or "y". Indicates axis to move along. The flick can move to one of 
+ *        4 directions(left, right, up and down).
+ *      @param {Number} [options.distance=200] (Optional) Distance to move in pixels
+ *      @param {Number} [options.duration=1000] (Optional) The duration of the 
+ *        gesture in milliseconds. User given value could be automatically 
+ *        adjusted by the framework if it is below the minimum velocity to be 
+ *        a flick gesture.
+ * 
+ *      Valid options properties for the `pinch` gesture:
+ *      
+ *      @param {Array} [options.center] (Optional) The center of the circle where 
+ *        two fingers are placed. Default is the center of the node element.
+ *      @param {Number} [options.r1] (Required) Pixel radius of the start circle 
+ *        where 2 fingers will be on when the gesture starts. The circles are 
+ *        centered at the center of the element.
+ *      @param {Number} [options.r2] (Required) Pixel radius of the end circle 
+ *        when this gesture ends.
+ *      @param {Number} [options.duration=1000] (Optional) The duration of the 
+ *        gesture in milliseconds.
+ *      @param {Number} [options.start=0] (Optional) Starting degree of the first 
+ *        finger. The value is relative to the path of the north. Default is 0 
+ *        (i.e., 12:00 on a clock).
+ *      @param {Number} [options.rotation=0] (Optional) Degrees to rotate from 
+ *        the starting degree. A negative value means rotation to the 
+ *        counter-clockwise direction.
+ * 
+ *      Valid options properties for the `rotate` gesture:
+ *      
+ *      @param {Array} [options.center] (Optional) The center of the circle where 
+ *        two fingers are placed. Default is the center of the node element.
+ *      @param {Number} [options.r1] (Optional) Pixel radius of the start circle 
+ *        where 2 fingers will be on when the gesture starts. The circles are 
+ *        centered at the center of the element. Default is a fourth of the node 
+ *        element width or height, whichever is smaller.
+ *      @param {Number} [options.r2] (Optional) Pixel radius of the end circle 
+ *        when this gesture ends. Default is a fourth of the node element width or 
+ *        height, whichever is smaller.
+ *      @param {Number} [options.duration=1000] (Optional) The duration of the 
+ *        gesture in milliseconds.
+ *      @param {Number} [options.start=0] (Optional) Starting degree of the first 
+ *        finger. The value is relative to the path of the north. Default is 0 
+ *        (i.e., 12:00 on a clock).
+ *      @param {Number} [options.rotation] (Required) Degrees to rotate from 
+ *        the starting degree. A negative value means rotation to the 
+ *        counter-clockwise direction.
+ * 
+ * @param {Function} [cb] The callback to execute when the asynchronouse gesture  
+ *      simulation is completed. 
+ *      @param {Error} cb.err An error object if the simulation is failed.  
+ * @return {void}
+ * @for Node
+ */
+Y.Node.prototype.simulateGesture = function (name, options, cb) {
+
+    Y.Event.simulateGesture(this, name, options, cb);
+};
+
+
+}, '3.10.3', {"requires": ["node-base", "event-simulate", "gesture-simulate"]});