I started with the source being Object but then I realized it might not
make any sense on the JavaScript side so I made it a String. If someone
wanted to load in a SWF, it would make the app unusable on the JavaScript
side, so I would think they would change the beads or there would be a
Flash-specific component for that.

Peter

On 9/11/13 2:21 PM, "Alex Harui" <aha...@adobe.com> wrote:

>
>
>On 9/11/13 11:08 AM, "OmPrakash Muppirala" <bigosma...@gmail.com> wrote:
>
>>On Wed, Sep 11, 2013 at 10:58 AM, Alex Harui <aha...@adobe.com> wrote:
>>
>>> Maybe, or in FlexJS, where we don't try to make a one-size-fits-all
>>> component, there will be a separate component called EmbeddedImage.
>>
>>
>>I had a usecase in the past where I grab an bitmap data from the hard
>>disk
>>and while it is uploading in the background, I show that bitmap in an
>>Image
>>component.  And when the upload was finished, I would swap it out with
>>the
>>downloaded(processed) image from the server.  Swapping an EmbeddedImage
>>component with an Image component would result in more unnecessary object
>>creations and destructions.
>A completely valid scenario, but, keeping with the pay-as-you-go
>philosophy of FlexJS, you would create a custom component like the
>EmbeddedOrRemoteImage you mention below, but it doesn't have to use the
>same model.  I'm not clear the cost of having a different model is such
>that FlexJS should give up type-checking for the 80% case, especially
>because when migrating old Flex code, we should make it clear that this
>simple FlexJS image component only knows about urls and that embeds are
>probably better handled some other way (not sure what that way is just
>yet).
> 
>>
>>
>>> FWIW, most usage of embedded images in Flex via Image/SWFLoader was a
>>> waste of
>>> memory.  A much lighterweight class is possible.  For FlexJS, embedded
>>> images on the AS side should not require much wrapping if at all, but
>>>then
>>> I think that makes your app un-portable to JS.
>>>
>>
>>Totally agree.  Which is why proposed this change on the IImageModel and
>>not Image.  This way, we can create an EmbeddedOrRemoteImage component
>>without having to create a new model.
>I was thinking the embedded image component (if we even have one since
>these object might just get "new"-ed and addChild'd) would have a model
>where the source is of type bitmapData or bytearay.  And this
>EmbeddedOrRemoteImage component would have a different model with both an
>embeddedSource and remoteSource properties.  But that's just a first
>guess.
>
>>
>>Also, on the JS side, this change is moot because you can pass in a
>>string
>>or an object or whatever.  That will need to be taken care of in the
>>setter
>>on the javascript version.
>I'm not sure I understand your point.  Yes, there is no type-checking in
>JS, but in FlexJS folks aren't writing JS code directly so the only thing
>that should be passed in is the URL that got cross-compiled.
>
>>
>>Thanks,
>>Om
>>
>>
>>>
>>> On 9/11/13 10:53 AM, "OmPrakash Muppirala" <bigosma...@gmail.com>
>>>wrote:
>>>
>>> >IImageModel should perhaps define the getter/setter for sources as:
>>> >
>>> >function get source():Object;
>>> >function set source(value:Object):void;
>>> >
>>> >instead of:
>>> >
>>> >function get source():String;
>>> >function set source(value:String):void;
>>> >
>>> >In the Flash based implementation, we need to have the option of
>>>setting a
>>> >bitmap object as source as well.  I dont think that is possible with
>>>HTML,
>>> >though.  But keeping it generic would be beneficial for sure.
>>> >
>>> >Thanks,
>>> >Om
>>> >
>>> >
>>> >On Wed, Sep 11, 2013 at 8:48 AM, <p...@apache.org> wrote:
>>> >
>>> >> Updated Branches:
>>> >>   refs/heads/develop a1f8929b3 -> 426c2e1eb
>>> >>
>>> >>
>>> >> Changed property name from "url" to "source" to be compatible with
>>>Flex
>>> >> and HTML.
>>> >>
>>> >>
>>> >> Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
>>> >> Commit:
>>> http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/426c2e1e
>>> >> Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/426c2e1e
>>> >> Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/426c2e1e
>>> >>
>>> >> Branch: refs/heads/develop
>>> >> Commit: 426c2e1ebc17fc271b34aa856c2cfe6423240c4d
>>> >> Parents: a1f8929
>>> >> Author: Peter Ent <p...@apache.org>
>>> >> Authored: Wed Sep 11 11:48:06 2013 -0400
>>> >> Committer: Peter Ent <p...@apache.org>
>>> >> Committed: Wed Sep 11 11:48:06 2013 -0400
>>> >>
>>> >> 
>>>----------------------------------------------------------------------
>>> >>  frameworks/as/src/org/apache/flex/core/IImageModel.as   |  4 ++--
>>> >>  .../as/src/org/apache/flex/html/staticControls/Image.as |  8
>>>++++----
>>> >>  .../apache/flex/html/staticControls/beads/ImageView.as  |  2 +-
>>> >>  .../flex/html/staticControls/beads/models/ImageModel.as | 12
>>> >>++++++------
>>> >>  4 files changed, 13 insertions(+), 13 deletions(-)
>>> >> 
>>>----------------------------------------------------------------------
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> 
>>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/framework
>>>s
>>> >>/as/src/org/apache/flex/core/IImageModel.as
>>> >> 
>>>----------------------------------------------------------------------
>>> >> diff --git a/frameworks/as/src/org/apache/flex/core/IImageModel.as
>>> >> b/frameworks/as/src/org/apache/flex/core/IImageModel.as
>>> >> index 07dfd56..dc924eb 100644
>>> >> --- a/frameworks/as/src/org/apache/flex/core/IImageModel.as
>>> >> +++ b/frameworks/as/src/org/apache/flex/core/IImageModel.as
>>> >> @@ -22,7 +22,7 @@ package org.apache.flex.core
>>> >>
>>> >>         public interface IImageModel extends IEventDispatcher,
>>> >>IBeadModel
>>> >>         {
>>> >> -               function get url():String;
>>> >> -               function set url(value:String):void;
>>> >> +               function get source():String;
>>> >> +               function set source(value:String):void;
>>> >>         }
>>> >>  }
>>> >> \ No newline at end of file
>>> >>
>>> >>
>>> >>
>>> >>
>>> 
>>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/framework
>>>s
>>> >>/as/src/org/apache/flex/html/staticControls/Image.as
>>> >> 
>>>----------------------------------------------------------------------
>>> >> diff --git
>>> >> a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
>>> >> b/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
>>> >> index 297e847..eebfe40 100644
>>> >> --- a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
>>> >> +++ b/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
>>> >> @@ -28,14 +28,14 @@ package org.apache.flex.html.staticControls
>>> >>                         super();
>>> >>                 }
>>> >>
>>> >> -               public function get url():String
>>> >> +               public function get source():String
>>> >>                 {
>>> >> -                       return IImageModel(model).url;
>>> >> +                       return IImageModel(model).source;
>>> >>                 }
>>> >>
>>> >> -               public function set url(value:String):void
>>> >> +               public function set source(value:String):void
>>> >>                 {
>>> >> -                       IImageModel(model).url = value;
>>> >> +                       IImageModel(model).source = value;
>>> >>                 }
>>> >>         }
>>> >>  }
>>> >> \ No newline at end of file
>>> >>
>>> >>
>>> >>
>>> >>
>>> 
>>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/framework
>>>s
>>> >>/as/src/org/apache/flex/html/staticControls/beads/ImageView.as
>>> >> 
>>>----------------------------------------------------------------------
>>> >> diff --git
>>> >>
>>> 
>>>>>a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageVie
>>>>>w
>>>>>.a
>>> >>s
>>> >>
>>> 
>>>>>b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageVie
>>>>>w
>>>>>.a
>>> >>s
>>> >> index 2fed3e6..bcb6044 100644
>>> >> ---
>>> >>
>>> 
>>>>>a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageVie
>>>>>w
>>>>>.a
>>> >>s
>>> >> +++
>>> >>
>>> 
>>>>>b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageVie
>>>>>w
>>>>>.a
>>> >>s
>>> >> @@ -59,7 +59,7 @@ package org.apache.flex.html.staticControls.beads
>>> >>                 {
>>> >>                         loader = new Loader();
>>> >>
>>> >> loader.contentLoaderInfo.addEventListener("complete",onComplete);
>>> >> -                       loader.load(new URLRequest(_model.url));
>>> >> +                       loader.load(new URLRequest(_model.source));
>>> >>                 }
>>> >>
>>> >>                 private function onComplete(event:Object):void
>>> >>
>>> >>
>>> >>
>>> >>
>>> 
>>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/framework
>>>s
>>> 
>>>>>/as/src/org/apache/flex/html/staticControls/beads/models/ImageModel.as
>>> >> 
>>>----------------------------------------------------------------------
>>> >> diff --git
>>> >>
>>> 
>>>>>a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/I
>>>>>m
>>>>>ag
>>> >>eModel.as
>>> >>
>>> 
>>>>>b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/I
>>>>>m
>>>>>ag
>>> >>eModel.as
>>> >> index e5821f8..c6e3e80 100644
>>> >> ---
>>> >>
>>> 
>>>>>a/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/I
>>>>>m
>>>>>ag
>>> >>eModel.as
>>> >> +++
>>> >>
>>> 
>>>>>b/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/I
>>>>>m
>>>>>ag
>>> >>eModel.as
>>> >> @@ -37,15 +37,15 @@ package
>>> >> org.apache.flex.html.staticControls.beads.models
>>> >>                         _strand = value;
>>> >>                 }
>>> >>
>>> >> -               private var _url:String;
>>> >> -               public function get url():String
>>> >> +               private var _source:String;
>>> >> +               public function get source():String
>>> >>                 {
>>> >> -                       return _url;
>>> >> +                       return _source;
>>> >>                 }
>>> >> -               public function set url(value:String):void
>>> >> +               public function set source(value:String):void
>>> >>                 {
>>> >> -                       if (value != _url) {
>>> >> -                               _url = value;
>>> >> +                       if (value != _source) {
>>> >> +                               _source = value;
>>> >>                                 dispatchEvent( new
>>>Event("urlChanged")
>>> >>);
>>> >>                         }
>>> >>                 }
>>> >>
>>> >>
>>>
>>>
>

Reply via email to