src/cm/media/js/lib/yui/yui3-3.15.0/build/file-flash/file-flash-debug.js
changeset 602 e16a97fb364a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/lib/yui/yui3-3.15.0/build/file-flash/file-flash-debug.js	Mon Mar 10 15:19:48 2014 +0100
@@ -0,0 +1,341 @@
+YUI.add('file-flash', function (Y, NAME) {
+
+    /**
+     * The FileFlash class provides a wrapper for a file pointer stored in Flash. The File wrapper
+     * also implements the mechanics for uploading a file and tracking its progress.
+     * @module file-flash
+     */
+    /**
+     * The class provides a wrapper for a file pointer in Flash.
+     * @class FileFlash
+     * @extends Base
+     * @constructor
+     * @param {Object} config Configuration object.
+     */
+
+    var FileFlash = function(o) {
+        FileFlash.superclass.constructor.apply(this, arguments);
+    };
+
+    Y.extend(FileFlash, Y.Base, {
+
+       /**
+        * Construction logic executed during FileFlash instantiation.
+        *
+        * @method initializer
+        * @protected
+        */
+        initializer : function (cfg) {
+            if (!this.get("id")) {
+                this._set("id", Y.guid("file"));
+            }
+        },
+
+       /**
+        * Handler of events dispatched by the Flash player.
+        *
+        * @method _swfEventHandler
+        * @param {Event} event The event object received from the Flash player.
+        * @protected
+        */
+        _swfEventHandler: function (event) {
+          if (event.id === this.get("id")) {
+          switch (event.type) {
+            /**
+             * Signals that this file's upload has started.
+             *
+             * @event uploadstart
+             * @param event {Event} The event object for the `uploadstart` with the
+             *                      following payload:
+             *  <dl>
+             *      <dt>uploader</dt>
+             *          <dd>The Y.SWF instance of Flash uploader that's handling the upload.</dd>
+             *  </dl>
+             */
+            case "uploadstart":
+                 this.fire("uploadstart", {uploader: this.get("uploader")});
+                 break;
+            case "uploadprogress":
+
+                  /**
+                   * Signals that progress has been made on the upload of this file.
+                   *
+                   * @event uploadprogress
+                   * @param event {Event} The event object for the `uploadprogress` with the
+                   *                      following payload:
+                   *  <dl>
+                   *      <dt>originEvent</dt>
+                   *          <dd>The original event fired by the Flash uploader instance.</dd>
+                   *      <dt>bytesLoaded</dt>
+                   *          <dd>The number of bytes of the file that has been uploaded.</dd>
+                   *      <dt>bytesTotal</dt>
+                   *          <dd>The total number of bytes in the file (the file size)</dd>
+                   *      <dt>percentLoaded</dt>
+                   *          <dd>The fraction of the file that has been uploaded, out of 100.</dd>
+                   *  </dl>
+                   */
+                 this.fire("uploadprogress", {originEvent: event,
+                                              bytesLoaded: event.bytesLoaded,
+                                              bytesTotal: event.bytesTotal,
+                                              percentLoaded: Math.min(100, Math.round(10000*event.bytesLoaded/event.bytesTotal)/100)
+                                             });
+                 this._set("bytesUploaded", event.bytesLoaded);
+                 break;
+            case "uploadcomplete":
+
+                  /**
+                   * Signals that this file's upload has completed, but data has not yet been received from the server.
+                   *
+                   * @event uploadfinished
+                   * @param event {Event} The event object for the `uploadfinished` with the
+                   *                      following payload:
+                   *  <dl>
+                   *      <dt>originEvent</dt>
+                   *          <dd>The original event fired by the Flash player instance.</dd>
+                   *  </dl>
+                   */
+                 this.fire("uploadfinished", {originEvent: event});
+                 break;
+            case "uploadcompletedata":
+                /**
+                 * Signals that this file's upload has completed and data has been received from the server.
+                 *
+                 * @event uploadcomplete
+                 * @param event {Event} The event object for the `uploadcomplete` with the
+                 *                      following payload:
+                 *  <dl>
+                 *      <dt>originEvent</dt>
+                 *          <dd>The original event fired by the Flash player instance.</dd>
+                 *      <dt>data</dt>
+                 *          <dd>The data returned by the server.</dd>
+                 *  </dl>
+                 */
+                 this.fire("uploadcomplete", {originEvent: event,
+                                              data: event.data});
+                 break;
+            case "uploadcancel":
+
+                /**
+                 * Signals that this file's upload has been cancelled.
+                 *
+                 * @event uploadcancel
+                 * @param event {Event} The event object for the `uploadcancel` with the
+                 *                      following payload:
+                 *  <dl>
+                 *      <dt>originEvent</dt>
+                 *          <dd>The original event fired by the Flash player instance.</dd>
+                 *  </dl>
+                 */
+                 this.fire("uploadcancel", {originEvent: event});
+                 break;
+            case "uploaderror":
+
+                /**
+                 * Signals that this file's upload has encountered an error.
+                 *
+                 * @event uploaderror
+                 * @param event {Event} The event object for the `uploaderror` with the
+                 *                      following payload:
+                 *  <dl>
+                 *      <dt>originEvent</dt>
+                 *          <dd>The original event fired by the Flash player instance.</dd>
+                 *      <dt>status</dt>
+                 *          <dd>The status code reported by the Flash Player. If it's an HTTP error,
+                 *                then this corresponds to the HTTP status code received by the uploader.</dd>
+                 *      <dt>statusText</dt>
+                 *          <dd>The text of the error event reported by the Flash Player.</dd>
+                 *      <dt>source</dt>
+                 *          <dd>Either "http" (if it's an HTTP error), or "io" (if it's a network transmission
+                 *              error.)</dd>
+                 *  </dl>
+                 */
+                 this.fire("uploaderror", {originEvent: event, status: event.status, statusText: event.message, source: event.source});
+
+          }
+        }
+        },
+
+       /**
+        * Starts the upload of a specific file.
+        *
+        * @method startUpload
+        * @param url {String} The URL to upload the file to.
+        * @param parameters {Object} (optional) A set of key-value pairs to send as variables along with the file upload HTTP request.
+        * @param fileFieldName {String} (optional) The name of the POST variable that should contain the uploaded file ('Filedata' by default)
+        */
+        startUpload: function(url, parameters, fileFieldName) {
+
+        if (this.get("uploader")) {
+
+            var myUploader = this.get("uploader"),
+                fileField = fileFieldName || "Filedata",
+                id = this.get("id"),
+                params = parameters || null;
+
+            this._set("bytesUploaded", 0);
+
+            myUploader.on("uploadstart", this._swfEventHandler, this);
+            myUploader.on("uploadprogress", this._swfEventHandler, this);
+            myUploader.on("uploadcomplete", this._swfEventHandler, this);
+            myUploader.on("uploadcompletedata", this._swfEventHandler, this);
+            myUploader.on("uploaderror", this._swfEventHandler, this);
+
+            myUploader.callSWF("upload", [id, url, params, fileField]);
+         }
+
+        },
+
+       /**
+        * Cancels the upload of a specific file, if currently in progress.
+        *
+        * @method cancelUpload
+        */
+        cancelUpload: function () {
+         if (this.get("uploader")) {
+           this.get("uploader").callSWF("cancel", [this.get("id")]);
+           this.fire("uploadcancel");
+         }
+        }
+
+    }, {
+
+       /**
+        * The identity of the class.
+        *
+        * @property NAME
+        * @type String
+        * @default 'file'
+        * @readOnly
+        * @protected
+        * @static
+        */
+        NAME: 'file',
+
+       /**
+        * The type of transport.
+        *
+        * @property TYPE
+        * @type String
+        * @default 'flash'
+        * @readOnly
+        * @protected
+        * @static
+        */
+        TYPE: "flash",
+
+       /**
+        * Static property used to define the default attribute configuration of
+        * the File.
+        *
+        * @property ATTRS
+        * @type {Object}
+        * @protected
+        * @static
+        */
+        ATTRS: {
+
+       /**
+        * A String containing the unique id of the file wrapped by the FileFlash instance.
+        * The id is supplied by the Flash player uploader.
+        *
+        * @attribute id
+        * @type {String}
+        * @initOnly
+        */
+        id: {
+            writeOnce: "initOnly",
+            value: null
+        },
+
+       /**
+        * The size of the file wrapped by FileFlash. This value is supplied by the Flash player uploader.
+        *
+        * @attribute size
+        * @type {Number}
+        * @initOnly
+        */
+        size: {
+            writeOnce: "initOnly",
+            value: 0
+        },
+
+       /**
+        * The name of the file wrapped by FileFlash. This value is supplied by the Flash player uploader.
+        *
+        * @attribute name
+        * @type {String}
+        * @initOnly
+        */
+        name: {
+            writeOnce: "initOnly",
+            value: null
+        },
+
+       /**
+        * The date that the file wrapped by FileFlash was created on. This value is supplied by the Flash player uploader.
+        *
+        * @attribute dateCreated
+        * @type {Date}
+        * @initOnly
+        */
+        dateCreated: {
+            writeOnce: "initOnly",
+            value: null
+        },
+
+       /**
+        * The date that the file wrapped by FileFlash was last modified on. This value is supplied by the Flash player uploader.
+        *
+        * @attribute dateModified
+        * @type {Date}
+        * @initOnly
+        */
+        dateModified: {
+            writeOnce: "initOnly",
+            value: null
+        },
+
+       /**
+        * The number of bytes of the file that has been uploaded to the server. This value is
+        * non-zero only while a file is being uploaded.
+        *
+        * @attribute bytesUploaded
+        * @type {Date}
+        * @readOnly
+        */
+        bytesUploaded: {
+            readOnly: true,
+            value: 0
+        },
+
+       /**
+        * The type of the file wrapped by FileFlash. This value is provided by the Flash player
+        * uploader.
+        *
+        * @attribute type
+        * @type {String}
+        * @initOnly
+        */
+        type: {
+            writeOnce: "initOnly",
+            value: null
+        },
+
+       /**
+        * The instance of Y.SWF wrapping the Flash player uploader associated with this file.
+        *
+        * @attribute uploder
+        * @type {SWF}
+        * @initOnly
+        */
+        uploader: {
+            writeOnce: "initOnly",
+            value: null
+        }
+        }
+    });
+
+    Y.FileFlash = FileFlash;
+
+
+}, '@VERSION@', {"requires": ["base"]});