Renaming to separate feedback on the wiki page.

One comment inline below.

On 5/15/18, 3:17 AM, "[email protected] on behalf of Carlos Rovira" 
<[email protected] on behalf of [email protected]> wrote:

    * Exploded Component:This should be really great, but I think in components
    and I think is difficult for most of them. Think in a TextButton, if you
    exploded in UIBase and its beads, you'll not have text or html properties.
    

I'm interested in how I can explain this better in the wiki because actually it 
does work.  Using Basic.SWC, if I do:

<js:TextButton text="foo"/>

It really can be re-created by doing:

<js:UIBase>
  <js:beads>
    <!-- these are the model and view beads for TextButton in specified in 
defaults.css -->
    <js:TextModel text="foo" />
    <js:CSSTextButtonView />
  </js:beads>
</js:UIBase>

It used to work.  I haven't tried it in a while.  If it doesn't, we should fix 
it so it does.

We should want Jewel to work as exploded components.  Because if the Jewel 
views do not make assumptions on the Jewel TLCs then we can reuse Jewel views 
and themes in the emulation components.  The reason that we don't mandate that 
TLCs in one component set must subclass TLCs in another component set is 
because the emulation component set has a higher priority goal, which is to 
emulate the class hierarchy of Flex.  So the emulation for mx:Button cannot 
subclass js:Button.  Instead, there is an emulation for UIComponent that 
subclasses UIBase, and ALL emulation components MUST eventually subclass 
UIComponent.  The backward compatibility goal outweighs the goal of reusing 
what should be little bits of proxy code in the Basic TLCs.  If you look at 
changes I've been making in the MXRoyale branch, it is to further reduce 
assumptions of beads on the TLCs.

But as the emulation components become operational, they will still look like 
Basic components and I think we want them to look like Jewel components.  So 
the ability to use Jewel views and other beads on other strands is important 
and the exploded component test is a good way to keep from making too many 
assumptions when making view and other beads.  All we should need to do is copy 
the classreferences the Jewel defaults.css  and the proxy code from the Jewel 
TLCs.  That is essentially what we are doing to make the emulation components 
operational now.  We are copying classreferences from Basic's defaults.css and 
proxy code from the Basic TLCs.

Thoughts?
-Alex
 

Reply via email to