2018-04-10 21:17 GMT+02:00 Alex Harui <aha...@adobe.com.invalid>:
> Hi Carlos,
> I think I'm still confused. Earlier you said that half of Jewel
> components do not extend Basic components. What do they extend and why?
When I said does not extend Basic components, I mean that doesn't extend it
counterpart (i.e. Jewel Slider does not extend Basic Slider, since are very
different), if not extend its counterpart at least extends UIBase
> I think I have proposed a solution to how we handle classNames that should
> work for Jewel, MDL and all other components.
I think you refer to the mail with the 4 scenarios. I'm ok with 1,2,3 but
not with 4.
For example Button.primary will need to set "primary" class" but as well
like "secondary" or "emphasized" since only one of them should exists at a
This is the same in MDL. Nowadays all set like MDL uses this a lot, since
depends on this things.
> I think it would be better
> for Royale to be able to use Jewel theme without a JewelUIBase unless
> there is a really good technical reason.
We should get to a consensus to reach this. I really prefer to stick with
UIBase if possible.
> I was hoping Jewel really would
> be the replacement of views and HTMLElements in the existing Basic
the problem with that is that it's making a change in basic is very time
consuming since we all disagree on how to make things. and we have the
1) Basic is now used by people and changes on it can break code. For me
that's ok, since I think we are in 0.9 and change things should be normal,
many of you will oppose to changes, so...
2) ..this makes each change a discussion that makes us to spend several
3) in the other hand we want basic to remain basic. that could be ok if we
use views, but in the other hand we need some property methods in the class
"primary", "secondary" and "emphasized" in Jewel Button....we can't create
them in basic button, since no body will allow that, so, this makes jewel
themes partially unusable.
4) the other huge point for me is that I don't understand style code in a
component. For me this is not optional and that is in many Basic code un
components and layouts.
So I see basic mostly difficult to skin and will be use as you said for
people that doesnt't want any overhead, but that's not my target in this
project, for this reason I doing Jewel.
Alex, I think classList is a must nowadays in browser space, I already said
in lots of emails. All great projects use it.
I post a link from MDL that states that one of the things they require in a
browser (between others) is that support classList.
But, if you really thing classList is not ok, and you have a better
proposal of an API that allows me to add/remove easily classes at runtime,
I think is better that you implement it in the branch we have, removing my
changes so I can really understand and test it. I think that would be
better for all of us. I posted my proposal. I think you should post yours.
If I try it and works, I'm sure yours will be very efficient, so I think we
can go with that. But we should not continue discussing without that code
to test, since I see we are doesn't understanding ok one to each other
since maybe you and I are interpreting in our way what the other want to
For that reason and to avoid another long discussion, my position was to
extend UIBase with classList methods, that we already discussed for long
time in other thread
in this way Basic components will not need classList, but Jewel will need,
since is needed.
I think we should take a path or another, and to do this and avoid lost
more time in emails, is that you put the few lines of code you thing are
right in a commit in the uibase changes branch, so I can test it
Let me know what do you think about it
> On 4/10/18, 9:55 AM, "carlos.rov...@gmail.com on behalf of Carlos Rovira"
> <carlos.rov...@gmail.com on behalf of carlosrov...@apache.org> wrote:
> >Hi Alex,
> >Jewel components extends UIBase or the basic version
> >For example
> >Jewel Button extends Basic Button,
> >Jewel TextField extends Basic TextField
> >Jewel Slider extends UIBase (since in Jewel like in MDL Slider is an input
> >range and not 2 buttons)
> >the main reason is that majority of basic controls can be what Jewel needs
> >except for html needed (we needed structures most like MDL does) and need
> >to add some property methods to add / remove CSS rules.
> >That's the main reason behind, in the end is to replicate what I did in
> >but using royale components and our own structure since we define the
> >css rule selectors.
> >Hope it make more sense now.