Hi all,

just let you now that I finished the changes for jewel item renderer
layouts.

NOTE: That change probably will require changes in your application code.

The problem: Jewel renderers was laying out the user defined mxml ui
elements in horizontal layout.

Solution: Normally we want containers start laying elements in absolute
positioning (BaseLayout).

So ListItemRenderer, that's the base for List based components (List,
Navigation, TabBar, ComboBox,...), put this practice in place.

* By defaults use BasicLayout
* custom list renders like TourDeJewel's IconListItemRender change this to
layout horizontally:

<j:beads>
...
<j:HorizontalLayout gap="8" itemsVerticalAlign="itemsCenter"/>
</j:beads>

This as well means that I could simplify the layout of those renders
removing CSS custom configurations (In that case adding the gap=8 means I
could remove the margin-right in the icon set to 24px in CSS). As well we
align vertically the items to the center of the render without extra CSS
rules, but the ones in the layout.

css code like the following can be removed.  * .iconListItemRenderer
.fonticon {   margin-right: 24px;   }*

ListItemRender Internal style (.mxmlContent) was removed too. Is not needed
anymore.

Side Note: In refactoring all the renders I could as well remove all the
extra checks we needed in bindings expressions that many months ago was
causing errors. Since Bindings now works almost perfect, this extra code
was not needed anymore. TDJ, is now clean of that code.

As I said at the start of this thread, you probably will need to change
your actual renders. Check how I refactored the TDJ renders to see what is
needed to look as before.

With this change I think renders get a more robust layout from now on.

Thanks








El mié., 6 may. 2020 a las 20:40, Carlos Rovira (<[email protected]>)
escribió:

> Hi,
>
> I notice that jewel itemrenders defaults to horizontal layout, but nothing
> is really configured that way.
>
> I think the default should be basic layout and then add other layout ,
> HGroup or VGroup to layout inner elements
>
> I'm going to see it and try to solve it, but want to expose first here, if
> anyone here see something wrong about this.
>
> This change will require users add some layout in his item renders, but
> maybe better to solve now that we're before a 1.0 release
>
> Thoughts?
>
> --
> Carlos Rovira
> http://about.me/carlosrovira
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to