Hi Alex, 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 remove others like "secondary" or "emphasized" since only one of them should exists at a time. This is the same in MDL. Nowadays all set like MDL uses this a lot, since all visuals 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 > components. > 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 following problems: 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, but then many of you will oppose to changes, so... 2) ..this makes each change a discussion that makes us to spend several hours 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 (think in "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 express. 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 Thanks Carlos > > Thanks, > -Alex > > 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 > >MDL > >but using royale components and our own structure since we define the > >theme > >css rule selectors. > > > >Hope it make more sense now. > > > >thanks > > > >Carlos > > > -- Carlos Rovira http://about.me/carlosrovira