Repository: flex-asjs
Updated Branches:
  refs/heads/develop c6a24011b -> 54d00a044


Add FileUploaderWithResponseData


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/54d00a04
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/54d00a04
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/54d00a04

Branch: refs/heads/develop
Commit: 54d00a044196ec62e81840b3134f9f17f26f4cb1
Parents: c6a2401
Author: DESKTOP-RH4S838\Yishay <yishayj...@hotmail.com>
Authored: Mon Jul 10 19:30:12 2017 +0300
Committer: DESKTOP-RH4S838\Yishay <yishayj...@hotmail.com>
Committed: Mon Jul 10 19:30:12 2017 +0300

----------------------------------------------------------------------
 .../main/flex/org/apache/flex/file/FileProxy.as |  9 ++++
 .../flex/file/beads/FileLoaderAndUploader.as    |  2 +-
 .../org/apache/flex/file/beads/FileUploader.as  | 18 ++++++++
 .../file/beads/FileUploaderWithResponseData.as  | 43 ++++++++++++++++++++
 .../src/main/resources/basic-manifest.xml       |  1 +
 5 files changed, 72 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/54d00a04/frameworks/projects/Network/src/main/flex/org/apache/flex/file/FileProxy.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/FileProxy.as 
b/frameworks/projects/Network/src/main/flex/org/apache/flex/file/FileProxy.as
index 738cf55..38c2fe8 100644
--- 
a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/FileProxy.as
+++ 
b/frameworks/projects/Network/src/main/flex/org/apache/flex/file/FileProxy.as
@@ -23,6 +23,15 @@ package org.apache.flex.file
        import org.apache.flex.file.beads.FileModel;
        
        /**
+        *  Indicates that the model has changed
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.9
+        */
+       [Event(name="modelChanged", type="org.apache.flex.events.Event")]
+       /**
         *  The FileProxy class is where beads regarding file operations are 
added.
         *  Information about operations can be queried in the file model, or by
         *  listenening to events dispatched by beads.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/54d00a04/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoaderAndUploader.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoaderAndUploader.as
 
b/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoaderAndUploader.as
index 77ba96c..2b66552 100644
--- 
a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoaderAndUploader.as
+++ 
b/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileLoaderAndUploader.as
@@ -21,7 +21,7 @@ package org.apache.flex.file.beads
        import org.apache.flex.events.Event;
 
        /**
-        *  The FileLoaderUploader is a compound bead that allows you
+        *  The FileLoaderAndUploader is a compound bead that allows you
         *  to load a file and upload it in one operation.
         *  
         *

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/54d00a04/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileUploader.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileUploader.as
 
b/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileUploader.as
index 0cf4d5f..470eb28 100644
--- 
a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileUploader.as
+++ 
b/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileUploader.as
@@ -19,6 +19,8 @@ package org.apache.flex.file.beads
 {
        import org.apache.flex.core.IBead;
        import org.apache.flex.core.IStrand;
+       import org.apache.flex.events.Event;
+       import org.apache.flex.events.IEventDispatcher;
        import org.apache.flex.file.FileProxy;
        import org.apache.flex.net.URLBinaryLoader;
        import org.apache.flex.net.URLRequest;
@@ -37,6 +39,15 @@ package org.apache.flex.file.beads
        }
        
        /**
+        *  Indicates that the upload operation is complete
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.9
+        */
+       [Event(name="complete", type="org.apache.flex.events.Event")]
+       /**
         *  The FileUploader class is a bead which adds to FileProxy
         *  the ability to upload files.
         *  
@@ -70,9 +81,16 @@ package org.apache.flex.file.beads
                        var binaryUploader:URLBinaryLoader = new 
URLBinaryLoader();
                        var req:URLRequest = new URLRequest();
                        req.data = (host.model as FileModel).blob;
+                       binaryUploader.addEventListener(Event.COMPLETE, 
completeHandler);
                        binaryUploader.load(req);
                }
                
+               protected function completeHandler(event:Event):void
+               {
+                       (event.target as 
IEventDispatcher).removeEventListener(Event.COMPLETE, completeHandler);
+                       (host as IEventDispatcher).dispatchEvent(event);
+               }
+               
                /**
                 *  @copy org.apache.flex.core.IBead#strand
                 *  

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/54d00a04/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileUploaderWithResponseData.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileUploaderWithResponseData.as
 
b/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileUploaderWithResponseData.as
new file mode 100644
index 0000000..99d0b03
--- /dev/null
+++ 
b/frameworks/projects/Network/src/main/flex/org/apache/flex/file/beads/FileUploaderWithResponseData.as
@@ -0,0 +1,43 @@
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.file.beads
+{
+       import org.apache.flex.events.Event;
+       import org.apache.flex.net.URLBinaryLoader;
+
+       /**
+        *  FileUploaderWithResponseData records responseData before 
dispatching the complete event 
+        *  
+        *
+        *  @toplevel
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion FlexJS 0.9
+        */
+       public class FileUploaderWithResponseData extends FileUploader
+       {
+               public var responseData:Object;
+
+               override protected function completeHandler(event:Event):void
+               {
+                       responseData = (event.target as URLBinaryLoader).data;
+                       super.completeHandler(event);
+               }
+       }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/54d00a04/frameworks/projects/Network/src/main/resources/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Network/src/main/resources/basic-manifest.xml 
b/frameworks/projects/Network/src/main/resources/basic-manifest.xml
index eabda27..4a55df4 100644
--- a/frameworks/projects/Network/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Network/src/main/resources/basic-manifest.xml
@@ -27,5 +27,6 @@
     <component id="FileBrowser" 
class="org.apache.flex.file.beads.FileBrowser"/>
     <component id="FileLoader" class="org.apache.flex.file.beads.FileLoader"/>
     <component id="FileUploader" 
class="org.apache.flex.file.beads.FileUploader"/>
+    <component id="FileUploaderWithResponseData" 
class="org.apache.flex.file.beads.FileUploaderWithResponseData"/>
     <component id="FileLoaderAndUploader" 
class="org.apache.flex.file.beads.FileLoaderAndUploader"/>
 </componentPackage>

Reply via email to