royale-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Idylog - Nicolas Granon" <ngra...@idylog.com>
Subject RE: Event Metadata
Date Wed, 01 Nov 2017 19:15:15 GMT
Excuse my naive comment :

In my opinion, we have two different situations :

Case 1 : I use a component, and I add one or more beads to it (in the source
code where the component is used) (inlined).
Case 2 : I use a component that is *already* composed of one strand and a
number of beads (or none) (a reusable component)

Case 1 :
In my mind (as an app developer), I obviously know what I am doing.

It is quite logical, from my point of view, to have listeners attached to
the "component" (that is, indirectly, to the "strand part") and other
listeners (or same !) attached to the beads I am interested in.
After all, if I understood clearly, a bead is a way to "add functionality",
right ?
Then, it is very logical to me to listen to events from that specific
functionality bead) since I expressly added that piece of functionality.
I should not be confused by events with same name but from other beads : I
only have to make sure that I listen to the "target" phase.

In MXML, component events could be captured from the "component" tag, and
bead events from the bead sub-tags.

If a bead wants to listen to events from another bead, nothing prevents it
from doing so (Im not sure of that ??).
The metatags exposed by the strand as well as the metatags exposed by the
beads would then be accessible.

Case 2 :
Maybe I use a component designed by someone else, or maybe I designed it
myself.
It is the component developer's responsibility to manage "internal" events
and then to redispatch "beads" events as "component" events if needed (maybe
under another event name).
A developer using a "wrapped" composite component should only listen to
"component" events (public events), not "bead event" (abstraction of
internal representation)
The metatags exposed by the "wrapped" component should be public events
only.

Final case :
The wrapped component is composited from another wrapped component plus some
additional beads. In other words, it expends an reusable component which
already contains some beads.
In that case, the "inner" component (the base class) is considered as a
strand and the global logic is the same as in case (2).

All in all, this is not very different from what happens in classic Flex
when building "complex " components...(which are really composited, not
simple subclasses).

Too naïve to be useful, maybe ???

Nicolas Granon




> -----Message d'origine-----
> De : Peter Ent [mailto:pent@adobe.com.INVALID]
> Envoyé : mardi 31 octobre 2017 20:39
> À : dev@royale.apache.org
> Objet : Re: Event Metadata (was Re: [GitHub] ...: Image not removed
> when src set to null
> 
> I typically use the strand as the central dispatcher for intra-bead
> communication. Sometimes an event from a bead conflicts with an event
> dispatched by the strand to the "outside". For example, if a bead were
> to need to send a "change" event and another bead was listening for
> that event, "change" is pretty generic and an app writer who is also
> listening for change on that strand might get the wrong event.
> 
> I have not developed any protocol to deal with this, but perhaps events
> used internally for components should prefix the event type with
> something (e.g., "_change") unique to indicate the event is internal.
> Events are really the only way we have of beads talking to each other.
> 
> We need to document what events a bead is doing to send and what it is
> willing to accept and how it will be used. I confess I have not done
> that very often and for Royale to be useful, documentation like this
> has to be done. But we need a pattern of use established so there is
> consistency.
> 
> Let's say you have a bead that you do want to put into MXML and that
> bead produces events. The Drag and Drop work comes to mind. When you
> add a DragSource bead to a list, you the app writer, might want to know
> when certain things happen, such as DRAG_START. The List does not have
> DRAG_START listed in its event metadata so dispatching this event from
> the List won't work for the app writer. The app writer wants to do:
> <js:DragSource dragStart="myThing(event)" /> right in MXML.
> 
> As it turns out, this DRAG_START is also used internally by the drag
> controller so I think there is another class of events that do get
> dispatched by beads but not on the strand, but on themselves. In this
> case, these events are not "internal" but public.
> 
> Both internal (dispatched by beads targeting the strand) and public
> (dispatched by beads targeting themselves) can coexist nicely as long
> as we have some rules.
> 
> HTH
> ‹peter
> 
> On 10/31/17, 1:46 PM, "Alex Harui" <aharui@adobe.com.INVALID> wrote:
> 
> >For 1) the rule already is that if you want to access an implicit bead
> >you have to explicitly declare it.  So if a bead is normally brought
> in
> >via CSS, you instead declare that bead on the strand and make
> adjustments.
> >UIBase doesn't care how the beads get placed on the strand, and all
> >bead loading code is supposed to check the strand first before
> grabbing
> >a default bead from CSS.  IOW, if it wasn't declared in MXML, then
> >declare it in MXML in order to access it.
> >
> >For 2) we are learning towards having beads dispatch their important
> >events off the strand instead of off of the bead. Otherwise we have to
> >add event forwarding code if people want to listen to the containing
> >component for events which is pretty normal if you think of the
> >component as a black box.  And then duplicate event names does become
> an issue.
> >
> >It will be interesting to see you try your EventListener bead and see
> >how it feels and if it is a lot of code or not.
> >
> >Thanks,
> >-Alex
> >
> >On 10/31/17, 10:08 AM, "Harbs" <harbs.lists@gmail.com> wrote:
> >
> >>The problems that come to mind with attaching the events to the beads
> >>are:
> >>1. The beads are not necessarily declared in MXML, so that leaves the
> >>question of how to address the beads via MXML.
> >>2. More than one bead might dispatch the same event. To get them all,
> >>it seems like it¹s necessary to attach the event listener to the
> strand.
> >>
> >>> On Oct 31, 2017, at 5:24 PM, Alex Harui <aharui@adobe.com.INVALID>
> >>>wrote:
> >>>
> >>> Renaming thread.
> >>>
> >>> Another option is for the beads themselves to have event metadata
> >>> for events they dispatch and either:
> >>> 1) the bead dispatches both off of itself and its strand, or
> >>> 2) certain addEventListener calls are passed to the strand.
> >>>
> >>> That's sort of the general pattern for de-composing or "exploding"
> a
> >>> component.  And then the wrapping component doesn't need metadata
> >>> that won't apply to the beads declared.
> >>>
> >>> Having a bead that can attach a particular kind of listener and
> call
> >>>a  handler also fits in our patterns.  And similarly, a bead that
> >>>dispatches  platform-specific might be useful as well.
> >>>
> >>> My 2 cents,
> >>> -Alex
> >>>
> >>> On 10/31/17, 3:15 AM, "Harbs" <harbs.lists@gmail.com> wrote:
> >>>
> >>>> Good points.
> >>>>
> >>>>> One issue to consider are whether a container of beads should be
> >>>>>have  metadata about the events dispatched by its beads since the
> >>>>>changing of  beads could make that metadata incorrect.  IMO, this
> >>>>>has been a problem  in  Flex forever.  Maybe a smarter IDE could
> >>>>>figure out what beads are  currently in play and aggregate
> >>>>>allowable events from those beads'
> >>>>> metadata someday.
> >>>>
> >>>> Hmm. Not a simple problem. One approach we can take is to add
> >>>>metadata to  the component and include documentation on which beads
> >>>>are required for  the event to fire.
> >>>>
> >>>> Of course this only takes care of more-or-less standard beads.
> >>>>Optional
> >>>> beads that are generally not used would need another mechanism to
> >>>>specify  event handlers in MXML (if that would be supported).
> >>>>
> >>>> Considering the ³smarter IDE approach², it seems like there¹s two
> >>>> problems:
> >>>> 1. The compiler needs to know that the attributes are OK.
> >>>>Currently, the  compiler will complain if you use an unrecognized
> >>>>tag.
> >>>> 2. There¹s lots of ways to add beads, and it¹s hard to know if a
> >>>>specific  bead is actually added. They can be added using CSS, AS
> >>>>code and MXML.
> >>>> Dynamically following that flow in tooling seems like a *really*
> >>>>hard  problem.
> >>>>
> >>>> Another idea would be to allow specifying event handlers in a
> >>>>format  something like this:
> >>>> <js:FooComponent id=³foo²>
> >>>> <js:events>
> >>>> <js:EventDescriptor type²layoutNeeded²
> >>>>handler=³handleLayoutNeeded()²/>
> >>>> </js:events>
> >>>> </js:FooComponent>
> >>>>
> >>>> I¹m kind of liking this idea as it follows the pattern we
> currently
> >>>>have  for beads and styles. EventDescriptor could be subclassed to
> >>>>have classes  of events which could offer code completion for the
> >>>>available event  types. There would not be enforcement that the
> >>>>events would actually be  dispatched, but I think it would be
> >>>>helpful and would allow users to  specify random event handlers
> >>>>declaratively.
> >>>>
> >>>>> Another issue to consider is cross-platform.  A component may not
> >>>>> be able to dispatch the events listed in metadata on all
> >>>>> platforms.
> >>>>
> >>>> It seems to me that metadata on cross-platform components should
> >>>>always  be cross-platform. If there are platform-specific events,
> >>>>they should not  be included or there should be a platform-specific
> >>>>component. We¹ve  already solved the problem with mouse events by
> >>>>renaming the event  strings in the compiler depending on the
> target.
> >>>>(i.e. ³doubleClick² in  MXML becomes ³dblclick² automatically for
> JS
> >>>>output). I think Mouse  events are an exception, but if there are
> >>>>any other events that fit this  exception, they should be handled
> >>>>the same way.
> >>>>
> >>>>> On Oct 30, 2017, at 8:41 PM, Alex Harui
> <aharui@adobe.com.INVALID>
> >>>>> wrote:
> >>>>>
> >>>>> Some Metadata is kept in the output, but events probably aren't.
> >>>>>
> >>>>> One issue to consider are whether a container of beads should be
> >>>>>have  metadata about the events dispatched by its beads since the
> >>>>>changing of  beads could make that metadata incorrect.  IMO, this
> >>>>>has been a problem  in  Flex forever.  Maybe a smarter IDE could
> >>>>>figure out what beads are  currently in play and aggregate
> >>>>>allowable events from those beads'
> >>>>> metadata someday.
> >>>>>
> >>>>> Another issue to consider is cross-platform.  A component may not
> >>>>> be able to dispatch the events listed in metadata on all
> >>>>> platforms.
> >>>>>
> >>>>> Also consider that on JS, events probably have to be propagated
> >>>>>from the  wrapped element to the strand so there is cost there.
> >>>>>
> >>>>> It is hopefully easy enough for anyone who wants to get an event
> >>>>>that  isn't already in metadata, to subclass, add the metadata and
> >>>>>any wiring.
> >>>>>
> >>>>> My 2 cents,
> >>>>> -Alex
> >>>>>
> >>>>> On 10/30/17, 11:24 AM, "Harbs" <harbs.lists@gmail.com
> >>>>> <mailto:harbs.lists@gmail.com>> wrote:
> >>>>>
> >>>>>> I¹m not talking about adding events. I¹m talking about adding
> >>>>>>metadata  for *existing events* so they could be addressed in
> >>>>>>MXML.
> >>>>>>
> >>>>>>
> >>>>>>> On Oct 30, 2017, at 8:18 PM, Piotr Zarzycki
> >>>>>>> <piotrzarzycki21@gmail.com>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>> If you decide to add event that's fine with me. :) It is just
> >>>>>>>the  matter of  thinking about those Basic components from my
> >>>>>>>sight. I have started to  look  at them as something which
> should
> >>>>>>>be closer to HTML than to the old  Flex  world. Rest of the
> >>>>>>>features should be provided by beads - if it is  possible  or by
> >>>>>>>Express.
> >>>>>>>
> >>>>>>> The exception could be and MDL from that which I would like to
> >>>>>>>extend,  but  here I can think about those components as they
> are
> >>>>>>>Express right now.
> >>>>>>>
> >>>>>>> Piotr
> >>>>>>>
> >>>>>>>
> >>>>>>> 2017-10-30 19:07 GMT+01:00 Harbs <harbs.lists@gmail.com>:
> >>>>>>>
> >>>>>>>> Why? Unless it adds overhead, it seems to me like any event
> >>>>>>>>that can  be  added using addEventListener() should be
> >>>>>>>>addressable using MXML.
> >>>>>>>>
> >>>>>>>> I¹m just not sure from a technical perspective whether the
> MXML
> >>>>>>>>meta  tags  add overhead if not used.
> >>>>>>>>
> >>>>>>>>> On Oct 30, 2017, at 8:02 PM, Piotr Zarzycki
> >>>>>>>>> <piotrzarzycki21@gmail.com>
> >>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> Hi Harbs,
> >>>>>>>>>
> >>>>>>>>> Some time ago there were discussion on Flex Dev which makes
> me
> >>>>>>>>> realize
> >>>>>>>> that
> >>>>>>>>> we should add event tags as long as they are reflecting some
> >>>>>>>>>native  HTML  api, unless we are in express. For example we
> are
> >>>>>>>>>using in many  places  "change" event which is I believe quite
> >>>>>>>>>common in JS world, but I  would  avoid any additional custom
> >>>>>>>>>one. In the other world Let's answer to  the  question in
> >>>>>>>>>following case - Does "img" in HTML world have "load"
> >>>>>>>>> event ?
> >>>>>>>>>
> >>>>>>>>> Piotr
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> 2017-10-30 18:47 GMT+01:00 Harbs <harbs.lists@gmail.com>:
> >>>>>>>>>
> >>>>>>>>>> This does raise a good question:
> >>>>>>>>>>
> >>>>>>>>>> Should we be adding MXML meta tags for all supported events?
> >>>>>>>>>> It seems
> >>>>>>>> like
> >>>>>>>>>> a desirable thing to have, and there are currently very few
> >>>>>>>>>>event  tags.
> >>>>>>>> I¹m
> >>>>>>>>>> not clear on whether the meta-tags effect the end result of
> >>>>>>>>>> code size.
> >>>>>>>>>>
> >>>>>>>>>> Harbs
> >>>>>>>>>>
> >>>>>>>>>>> On Oct 30, 2017, at 7:38 PM, GitBox <git@apache.org> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> justinmclean commented on issue #60: Image not removed when
> >>>>>>>>>>> src set to
> >>>>>>>>>> null
> >>>>>>>>>>> URL:
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=https%3A%
> 2
> >>>>>>>>>>>F%2
> >>>>>>>>>>>F
> >>>>>>>>>>>gi
> >>>>>>>>>>> th
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A
> %
> >>>>>>>>>>>2F%
> >>>>>>>>>>>2
> >>>>>>>>>>>Fg
> >>>>>>>>>>> ith>
> >>>>>>>>>>> ub.com
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%
> 2
> >>>>>>>>>>>F%2
> >>>>>>>>>>>F
> >>>>>>>>>>>ub
> >>>>>>>>>>>
> >>>>>>>>>>>.com%2F&data=02%7C01%7C%7C54b744f304af408f80c908d5204860d3%7
> C
> >>>>>>>>>>>fa7
> >>>>>>>>>>>b
> >>>>>>>>>>>1b
> >>>>>>>>>>>
> >>>>>>>>>>>5a7b34438794aed2c178decee1%7C0%7C0%7C636450417665614182&sdat
> a
> >>>>>>>>>>>=r6
> >>>>>>>>>>>H
> >>>>>>>>>>>O%
> >>>>>>>>>>>
> >>>>>>>>>>>2BnrNPHbRD50yN6YnOUnW%2FSeeVdvfqXCAVdMdg9I%3D&reserved=0>%2F
> a
> >>>>>>>>>>>pac
> >>>>>>>>>>>h
> >>>>>>>>>>>e%
> >>>>>>>>>>> 2Froyale-asjs%2Fissues%2F60%23&data=02%7C01%7C%7Cd040
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>5ef4adc6485ba55208d51fc38b07%7Cfa7b1b5a7b34438794aed2c178dec
> e
> >>>>>>>>>>>e1%
> >>>>>>>>>>>7
> >>>>>>>>>>>C0
> >>>>>>>>>>> %7
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>C0%7C636449847130199355&sdata=GJ5cQmWUXSJyuYIcs2dn5UU%2BGtWV
> q
> >>>>>>>>>>>y17
> >>>>>>>>>>>x
> >>>>>>>>>>>Fb
> >>>>>>>>>>> if
> >>>>>>>>>>> 9Gknpc%3D&reserved=0
> >>>>>>>>>> issuecomment-340524197
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> This code fails to compile:
> >>>>>>>>>>> ```
> >>>>>>>>>>> <?xml version="1.0" encoding="utf-8"?> <js:Application
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>xmlns:fx="https://na01.safelinks.protection.outlook.com/?url
> =
> >>>>>>>>>>>htt
> >>>>>>>>>>>p
> >>>>>>>>>>>%3
> >>>>>>>>>>> A%
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%
> >
> >>>>>>>>>>> 2F%2Fns.adobe.com
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%
> 2
> >>>>>>>>>>>F%2
> >>>>>>>>>>>F
> >>>>>>>>>>>2f
> >>>>>>>>>>>
> >>>>>>>>>>>ns.adobe.com%2F&data=02%7C01%7C%7C54b744f304af408f80c908d520
> 4
> >>>>>>>>>>>860
> >>>>>>>>>>>d
> >>>>>>>>>>>3%
> >>>>>>>>>>>
> >>>>>>>>>>>7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636450417665614
> 1
> >>>>>>>>>>>82&
> >>>>>>>>>>>s
> >>>>>>>>>>>da
> >>>>>>>>>>>
> >>>>>>>>>>>ta=F2suvsGXXdUZIQ1ewrhxtJbX6bro5WZgQnka2EHTpLY%3D&reserved=0
> >
> >>>>>>>>>>>%2F
> >>>>>>>>>>>m
> >>>>>>>>>>>xm
> >>>>>>>>>>> l%2F2009&data=02%7C01%7C%7Cd0405ef4adc6485ba55
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>208d51fc38b07%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6
> 3
> >>>>>>>>>>>644
> >>>>>>>>>>>9
> >>>>>>>>>>>84
> >>>>>>>>>>> 71
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>30355609&sdata=h2%2BZE%2FtC5p0ZVuay%2B01WvZSF%2BSc7%2BUbqLFK
> d
> >>>>>>>>>>>zAe
> >>>>>>>>>>>4
> >>>>>>>>>>>%2
> >>>>>>>>>>> Bn
> >>>>>>>>>>> o%3D&reserved=0"
> >>>>>>>>>>>
> xmlns:js="library://ns.apache.org/royale/basic
> >>>>>>>>>>> <library://ns.apache.org/royale/basic>">
> >>>>>>>>>>>
> >>>>>>>>>>>   <fx:Script><![CDATA[
> >>>>>>>>>>>       import org.apache.flex.events.IEventDispatcher;
> >>>>>>>>>>>
> >>>>>>>>>>>       public function blankimage():void {
> >>>>>>>>>>>           image.visible = false;
> >>>>>>>>>>>           image.src =
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>"https://na01.safelinks.protection.outlook.com/?url=https%3A
> %
> >>>>>>>>>>>2F%
> >>>>>>>>>>>2
> >>>>>>>>>>>Fw
> >>>>>>>>>>> ww
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A
> %
> >>>>>>>>>>>2F%
> >>>>>>>>>>>2
> >>>>>>>>>>>Fw
> >>>>>>>>>>> ww>
> >>>>>>>>>>> .apache.org
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%
> 2
> >>>>>>>>>>>F%2
> >>>>>>>>>>>F
> >>>>>>>>>>>ap
> >>>>>>>>>>>
> >>>>>>>>>>>ache.org%2F&data=02%7C01%7C%7C54b744f304af408f80c908d5204860
> d
> >>>>>>>>>>>3%7
> >>>>>>>>>>>C
> >>>>>>>>>>>fa
> >>>>>>>>>>>
> >>>>>>>>>>>7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636450417665614182&
> s
> >>>>>>>>>>>dat
> >>>>>>>>>>>a
> >>>>>>>>>>>=w
> >>>>>>>>>>>
> >>>>>>>>>>>CeLuvseIB90HK6j56Ba5Kb7GYd9Dh6Edb7xsBW2e3g%3D&reserved=0>%2F
> &
> >>>>>>>>>>>dat
> >>>>>>>>>>>a
> >>>>>>>>>>>=0
> >>>>>>>>>>> 2%7C01%7C%7Cd0405ef4adc6485ba55208d51fc38b07%7Cf
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>a7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636449847130355609
> &
> >>>>>>>>>>>sda
> >>>>>>>>>>>t
> >>>>>>>>>>>a=
> >>>>>>>>>>> pn
> >>>>>>>>>>> iuBoujFMWxq1MjO1rmnLPHgMC6CzFPHl2HhXjOwhk%3D&reserved=0
> >>>>>>>> foundation/press/kit/
> >>>>>>>>>> poweredBy/Apache_PoweredBy.png";
> >>>>>>>>>>>       }
> >>>>>>>>>>>       public function showImage():void {
> >>>>>>>>>>>           image.visible = true;
> >>>>>>>>>>>       }
> >>>>>>>>>>>       ]]></fx:Script>
> >>>>>>>>>>>
> >>>>>>>>>>>   <js:valuesImpl>
> >>>>>>>>>>>       <js:SimpleCSSValuesImpl/>
> >>>>>>>>>>>   </js:valuesImpl>
> >>>>>>>>>>>
> >>>>>>>>>>>   <js:initialView>
> >>>>>>>>>>>
> >>>>>>>>>>>       <js:View>
> >>>>>>>>>>>           <js:Container id="startPage" visible="true"
> >>>>>>>>>>> width="100%">
> >>>>>>>>>>>               <js:beads>
> >>>>>>>>>>>                   <js:VerticalLayout />
> >>>>>>>>>>>               </js:beads>
> >>>>>>>>>>>               <js:Image id="image"
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>src="https://na01.safelinks.protection.outlook.com/?url=http
> s
> >>>>>>>>>>>%3A
> >>>>>>>>>>>%
> >>>>>>>>>>>2F
> >>>>>>>>>>> %2
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A
> %
> >>>>>>>>>>>2F%
> >>>>>>>>>>>2
> >>>>>>>>>>>>
> >>>>>>>>>>> Fwww.apache.org
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%
> 2
> >>>>>>>>>>>F%2
> >>>>>>>>>>>F
> >>>>>>>>>>>fw
> >>>>>>>>>>>
> >>>>>>>>>>>ww.apache.org%2F&data=02%7C01%7C%7C54b744f304af408f80c908d52
> 0
> >>>>>>>>>>>486
> >>>>>>>>>>>0
> >>>>>>>>>>>d3
> >>>>>>>>>>>
> >>>>>>>>>>>%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63645041766561
> 4
> >>>>>>>>>>>182
> >>>>>>>>>>>&
> >>>>>>>>>>>sd
> >>>>>>>>>>>
> >>>>>>>>>>>ata=HyPKXle%2FuDEe7rDKrDs7Wizd92wpdcj5bh0tw14gZDk%3D&reserve
> d
> >>>>>>>>>>>=0>
> >>>>>>>>>>>%
> >>>>>>>>>>>2F
> >>>>>>>>>>> &data=02%7C01%7C%7Cd0405ef4adc6485ba55208d51fc38b07
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63644984713035
> 5
> >>>>>>>>>>>609
> >>>>>>>>>>>&
> >>>>>>>>>>>sd
> >>>>>>>>>>> at
> >>>>>>>>>>> a=pniuBoujFMWxq1MjO1rmnLPHgMC6CzFPHl2HhXjOwhk%3D&reserved=0
> >>>>>>>>>> foundation/press/kit/asf_logo_url.png" width="50%"
> height="50%"
> >>>>>>>>>> layoutNeeded="showImage()" />
> >>>>>>>>>>>               <js:TextButton text="Blank"
> click="blankimage()"
> >>>>>>>>>>>/>
> >>>>>>>>>>>           </js:Container>
> >>>>>>>>>>>       </js:View>
> >>>>>>>>>>>   </js:initialView>
> >>>>>>>>>>>
> >>>>>>>>>>> </js:Application>
> >>>>>>>>>>> ```
> >>>>>>>>>>>
> >>>>>>>>>>> With this error:
> >>>>>>>>>>> ```
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>/Users/justinmclean/IdeaProjects/FlexJSTest/src/ImageBlank.m
> x
> >>>>>>>>>>>ml(
> >>>>>>>>>>>2
> >>>>>>>>>>>6)
> >>>>>>>>>>> :
> >>>>>>>>>> col: 130 This attribute is unexpected. It will be ignored.
> >>>>>>>>>>>
> >>>>>>>>>>>               <js:Image id="image"
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>src="https://na01.safelinks.protection.outlook.com/?url=http
> s
> >>>>>>>>>>>%3A
> >>>>>>>>>>>%
> >>>>>>>>>>>2F
> >>>>>>>>>>> %2
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A
> %
> >>>>>>>>>>>2F%
> >>>>>>>>>>>2
> >>>>>>>>>>>>
> >>>>>>>>>>> Fwww.apache.org
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%
> 2
> >>>>>>>>>>>F%2
> >>>>>>>>>>>F
> >>>>>>>>>>>fw
> >>>>>>>>>>>
> >>>>>>>>>>>ww.apache.org%2F&data=02%7C01%7C%7C54b744f304af408f80c908d52
> 0
> >>>>>>>>>>>486
> >>>>>>>>>>>0
> >>>>>>>>>>>d3
> >>>>>>>>>>>
> >>>>>>>>>>>%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63645041766561
> 4
> >>>>>>>>>>>182
> >>>>>>>>>>>&
> >>>>>>>>>>>sd
> >>>>>>>>>>>
> >>>>>>>>>>>ata=HyPKXle%2FuDEe7rDKrDs7Wizd92wpdcj5bh0tw14gZDk%3D&reserve
> d
> >>>>>>>>>>>=0>
> >>>>>>>>>>>%
> >>>>>>>>>>>2F
> >>>>>>>>>>> &data=02%7C01%7C%7Cd0405ef4adc6485ba55208d51fc38b07
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63644984713035
> 5
> >>>>>>>>>>>609
> >>>>>>>>>>>&
> >>>>>>>>>>>sd
> >>>>>>>>>>> at
> >>>>>>>>>>> a=pniuBoujFMWxq1MjO1rmnLPHgMC6CzFPHl2HhXjOwhk%3D&reserved=0
> >>>>>>>>>> foundation/press/kit/asf_logo_url.png" width="50%"
> height="50%"
> >>>>>>>>>> layoutNeeded="showImage()" />
> >>>>>>>>>>> ```
> >>>>>>>>>>>
> >>>>>>>>>>> I assume the only way to do this would be to add a hard
> >>>>>>>>>>> coded event
> >>>>>>>>>> listener manually like so?
> >>>>>>>>>>>
> >>>>>>>>>>> ```
> >>>>>>>>>>>   <fx:Script><![CDATA[
> >>>>>>>>>>>       public function blankimage():void {
> >>>>>>>>>>>           image.visible = false;
> >>>>>>>>>>>           image.src =
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>"https://na01.safelinks.protection.outlook.com/?url=https%3A
> %
> >>>>>>>>>>>2F%
> >>>>>>>>>>>2
> >>>>>>>>>>>Fw
> >>>>>>>>>>> ww
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A
> %
> >>>>>>>>>>>2F%
> >>>>>>>>>>>2
> >>>>>>>>>>>Fw
> >>>>>>>>>>> ww>
> >>>>>>>>>>> .apache.org
> >>>>>>>>>>>
> >>>>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%
> 2
> >>>>>>>>>>>F%2
> >>>>>>>>>>>F
> >>>>>>>>>>>ap
> >>>>>>>>>>>
> >>>>>>>>>>>ache.org%2F&data=02%7C01%7C%7C54b744f304af408f80c908d5204860
> d
> >>>>>>>>>>>3%7
> >>>>>>>>>>>C
> >>>>>>>>>>>fa
> >>>>>>>>>>>
> >>>>>>>>>>>7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636450417665614182&
> s
> >>>>>>>>>>>dat
> >>>>>>>>>>>a
> >>>>>>>>>>>=w
> >>>>>>>>>>>
> >>>>>>>>>>>CeLuvseIB90HK6j56Ba5Kb7GYd9Dh6Edb7xsBW2e3g%3D&reserved=0>%2F
> &
> >>>>>>>>>>>dat
> >>>>>>>>>>>a
> >>>>>>>>>>>=0
> >>>>>>>>>>> 2%7C01%7C%7Cd0405ef4adc6485ba55208d51fc38b07%7Cf
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>a7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636449847130355609
> &
> >>>>>>>>>>>sda
> >>>>>>>>>>>t
> >>>>>>>>>>>a=
> >>>>>>>>>>> pn
> >>>>>>>>>>> iuBoujFMWxq1MjO1rmnLPHgMC6CzFPHl2HhXjOwhk%3D&reserved=0
> >>>>>>>> foundation/press/kit/
> >>>>>>>>>> poweredBy/Apache_PoweredBy.png";
> >>>>>>>>>>>           image.addEventListener("layoutNeeded",
> showImage);
> >>>>>>>>>>>       }
> >>>>>>>>>>>
> >>>>>>>>>>>       public function showImage(event:Event):void {
> >>>>>>>>>>>           image.visible = true;
> >>>>>>>>>>>       }
> >>>>>>>>>>>       ]]></fx:Script>
> >>>>>>>>>>> ```
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>------------------------------------------------------------
> -
> >>>>>>>>>>>---  This is an automated message from the Apache Git
> >>>>>>>>>>>Service.
> >>>>>>>>>>> To respond to the message, please log on GitHub and use the
> >>>>>>>>>>>URL above to go to the specific comment.
> >>>>>>>>>>>
> >>>>>>>>>>> For queries about this service, please contact
> >>>>>>>>>>>Infrastructure
> >>>>>>>>>>>at:
> >>>>>>>>>>> users@infra.apache.org <mailto:users@infra.apache.org>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> With regards,
> >>>>>>>>>>> Apache Git Services
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>>
> >>>>>>>>> Piotr Zarzycki
> >>>>>>>>>
> >>>>>>>>> mobile: +48 880 859 557
> >>>>>>>>> skype: zarzycki10
> >>>>>>>>>
> >>>>>>>>> LinkedIn:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%
> 2
> >>>>>>>>>Fww
> >>>>>>>>>w
> >>>>>>>>>.l
> >>>>>>>>> in
> >>>>>>>>>
> >>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F
> %
> >>>>>>>>>2Fw
> >>>>>>>>>w
> >>>>>>>>>w.
> >>>>>>>>> lin>
> >>>>>>>>> kedin.com
> >>>>>>>>>
> >>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F
> %
> >>>>>>>>>2Fk
> >>>>>>>>>e
> >>>>>>>>>di
> >>>>>>>>>
> >>>>>>>>>n.com%2F&data=02%7C01%7C%7C54b744f304af408f80c908d5204860d3%7C
> f
> >>>>>>>>>a7b
> >>>>>>>>>1
> >>>>>>>>>b5
> >>>>>>>>>
> >>>>>>>>>a7b34438794aed2c178decee1%7C0%7C0%7C636450417665614182&sdata=M
> m
> >>>>>>>>>3Kn
> >>>>>>>>>X
> >>>>>>>>>%2
> >>>>>>>>>
> >>>>>>>>>Fqw2VS9FWPISeb6Knk5ujLq3a1GkeW5w%2Fa6%2Bc%3D&reserved=0>%2Fpio
> t
> >>>>>>>>>rza
> >>>>>>>>>r
> >>>>>>>>>zy
> >>>>>>>>> cki&data=02%7C01%7C%7Cd0405ef4adc6485ba55208d51fc
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>38b07%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63644984713
> 0
> >>>>>>>>>355
> >>>>>>>>>6
> >>>>>>>>>09
> >>>>>>>>> &s
> >>>>>>>>>
> >>>>>>>>>data=Mhs%2F8uCEal%2F%2ByaWFrAPHoahv3fp7MaaCQ7ezLraU5WQ%3D&rese
> r
> >>>>>>>>>ved
> >>>>>>>>>=
> >>>>>>>>>0
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2
> F
> >>>>>>>>>%2F
> >>>>>>>>>p
> >>>>>>>>>l.
> >>>>>>>>> li
> >>>>>>>>>
> >>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2
> F
> >>>>>>>>>%2F
> >>>>>>>>>p
> >>>>>>>>>l.
> >>>>>>>>> li>
> >>>>>>>>> nkedin.com
> >>>>>>>>>
> >>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F
> %
> >>>>>>>>>2Fn
> >>>>>>>>>k
> >>>>>>>>>ed
> >>>>>>>>>
> >>>>>>>>>in.com%2F&data=02%7C01%7C%7C54b744f304af408f80c908d5204860d3%7
> C
> >>>>>>>>>fa7
> >>>>>>>>>b
> >>>>>>>>>1b
> >>>>>>>>>
> >>>>>>>>>5a7b34438794aed2c178decee1%7C0%7C0%7C636450417665614182&sdata=
> 4
> >>>>>>>>>v8C
> >>>>>>>>>S
> >>>>>>>>>fu
> >>>>>>>>>
> >>>>>>>>>TEXFUvstLxKrulQPrEp4XuahgnAFuQnGz00Y%3D&reserved=0>%2Fin%2Fpio
> t
> >>>>>>>>>r-z
> >>>>>>>>>a
> >>>>>>>>>rz
> >>>>>>>>> ycki-92a53552&data=02%7C01%7C%7Cd0405ef4adc
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>6485ba55208d51fc38b07%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7
> C
> >>>>>>>>>0%7
> >>>>>>>>>C
> >>>>>>>>>63
> >>>>>>>>> 64
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>49847130355609&sdata=K%2FVEqa3kVpSXeOppqc9JLQKnxRmGNI3bZNQ%2FH
> q
> >>>>>>>>>EAK
> >>>>>>>>>N
> >>>>>>>>>o%
> >>>>>>>>> 3D
> >>>>>>>>> &reserved=0>
> >>>>>>>>>
> >>>>>>>>> GitHub:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F
> %
> >>>>>>>>>2Fg
> >>>>>>>>>i
> >>>>>>>>>th
> >>>>>>>>> ub
> >>>>>>>>>
> >>>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2
> F
> >>>>>>>>>%2F
> >>>>>>>>>g
> >>>>>>>>>it
> >>>>>>>>> hub>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>.com%2Fpiotrzarzycki21&data=02%7C01%7C%7Cd0405ef4adc6485ba5520
> 8
> >>>>>>>>>d51
> >>>>>>>>>f
> >>>>>>>>>c3
> >>>>>>>>> 8b
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>07%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63644984713035
> 5
> >>>>>>>>>609
> >>>>>>>>>&
> >>>>>>>>>sd
> >>>>>>>>> at
> >>>>>>>>> a=mi12zf18eKrbGi30qfgZgGD9RRoPGGL%2BwAo1unRqnYc%3D&reserved=0
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>>
> >>>>>>> Piotr Zarzycki
> >>>>>>>
> >>>>>>> mobile: +48 880 859 557
> >>>>>>> skype: zarzycki10
> >>>>>>>
> >>>>>>> LinkedIn:
> >>>>>>>
> >>>>>>>
> >>>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2F
> www.
> >>>>>>>l
> >>>>>>>in
> >>>>>>> ke
> >>>>>>>
> >>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2
> F
> >>>>>>>www
> >>>>>>>.
> >>>>>>>li
> >>>>>>> nke>
> >>>>>>> din.com
> >>>>>>>
> >>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2
> F
> >>>>>>>din
> >>>>>>>.
> >>>>>>>co
> >>>>>>>
> >>>>>>>m%2F&data=02%7C01%7C%7C54b744f304af408f80c908d5204860d3%7Cfa7b1b
> 5
> >>>>>>>a7b
> >>>>>>>3
> >>>>>>>44
> >>>>>>>
> >>>>>>>38794aed2c178decee1%7C0%7C0%7C636450417665614182&sdata=Vd1DLR0HJ
> t
> >>>>>>>Y44
> >>>>>>>X
> >>>>>>>dR
> >>>>>>>
> >>>>>>>L3rfOKv0%2FISQd7AIugp2SEo0sPM%3D&reserved=0>%2Fpiotrzarzycki&dat
> a
> >>>>>>>=02
> >>>>>>>%
> >>>>>>>7C
> >>>>>>> 01%7C%7Cd0405ef4adc6485ba55208d51fc38b0
> >>>>>>>
> >>>>>>>
> >>>>>>>7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63644984713035560
> 9
> >>>>>>>&sd
> >>>>>>>a
> >>>>>>>ta
> >>>>>>> =M
> >>>>>>> hs%2F8uCEal%2F%2ByaWFrAPHoahv3fp7MaaCQ7ezLraU5WQ%3D&reserved=0
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%
> 2
> >>>>>>>Fpl
> >>>>>>>.
> >>>>>>>li
> >>>>>>> nk
> >>>>>>>
> >>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%
> 2
> >>>>>>>Fpl
> >>>>>>>.
> >>>>>>>li
> >>>>>>> nk>
> >>>>>>> edin.com
> >>>>>>>
> >>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2
> F
> >>>>>>>edi
> >>>>>>>n
> >>>>>>>.c
> >>>>>>>
> >>>>>>>om%2F&data=02%7C01%7C%7C54b744f304af408f80c908d5204860d3%7Cfa7b1
> b
> >>>>>>>5a7
> >>>>>>>b
> >>>>>>>34
> >>>>>>>
> >>>>>>>438794aed2c178decee1%7C0%7C0%7C636450417665614182&sdata=YiselN3i
> L
> >>>>>>>sgF
> >>>>>>>8
> >>>>>>>wv
> >>>>>>>
> >>>>>>>dfKQTmQyfQzwEExpIcvdlptHponI%3D&reserved=0>%2Fin%2Fpiotr-
> zarzycki
> >>>>>>>-92
> >>>>>>>a
> >>>>>>>53
> >>>>>>> 552&data=02%7C01%7C%7Cd0405ef4adc6485
> >>>>>>>
> >>>>>>>
> >>>>>>>ba55208d51fc38b07%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6
> 3
> >>>>>>>644
> >>>>>>>9
> >>>>>>>84
> >>>>>>> 71
> >>>>>>>
> >>>>>>>
> >>>>>>>30355609&sdata=K%2FVEqa3kVpSXeOppqc9JLQKnxRmGNI3bZNQ%2FHqEAKNo%3
> D
> >>>>>>>&re
> >>>>>>>s
> >>>>>>>er
> >>>>>>> ve
> >>>>>>> d=0>
> >>>>>>>
> >>>>>>> GitHub:
> >>>>>>>
> >>>>>>>
> >>>>>>>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2
> F
> >>>>>>>git
> >>>>>>>h
> >>>>>>>ub
> >>>>>>> .c
> >>>>>>>
> >>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%
> 2
> >>>>>>>Fgi
> >>>>>>>t
> >>>>>>>hu
> >>>>>>> b.c>
> >>>>>>>
> >>>>>>>
> >>>>>>>om%2Fpiotrzarzycki21&data=02%7C01%7C%7Cd0405ef4adc6485ba55208d51
> f
> >>>>>>>c38
> >>>>>>>b
> >>>>>>>07
> >>>>>>> %7
> >>>>>>>
> >>>>>>>
> >>>>>>>Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636449847130355609&s
> d
> >>>>>>>ata
> >>>>>>>=
> >>>>>>>mi
> >>>>>>> 12
> >>>>>>> zf18eKrbGi30qfgZgGD9RRoPGGL%2BwAo1unRqnYc%3D&reserved=0
> >>>>
> >>>
> >>
> >



Mime
View raw message