2018-03-12 17:14 GMT+01:00 Alex Harui <aha...@adobe.com.invalid>:

> If HTMLElement.classList is exposed to the user (the app developer) then
> they can remove any of the items that were added from the typenames.
> There is no way to enforce immutability of the typenames.  We can choose
> to give up on that and require that app developers be careful, but I'd
> rather not.
>
> Given that, if you've found a way to eliminate the need for CSSClassList,
> that's great.
>
> IMO, the immutable things from typenames should be last in the list.  My
> eye reads left to right and doesn't want to have to skip over stuff that
> will be the same.
>
>

*TOTALLY *agree with that. I tend to omit stuff because it looks the same,
so having typedefs at the beginning makes it so like that.

Piotr



> My 2 cents,
> -Alex
>
> On 3/12/18, 8:45 AM, "carlos.rov...@gmail.com on behalf of Carlos Rovira"
> <carlos.rov...@gmail.com on behalf of carlosrov...@apache.org> wrote:
>
> >Hi
> >
> >I made some simplification that works ok in Jewel:
> >
> >1.- remove CSSClassList and use element.classList since is native and
> >supported in all browsers we target, this simplifies code, and removes
> >classes from core.
> >2.- I still need to use some additional code that can be simplified. I'm
> >doing:
> >
> >element.classList.toggle("primary", value);
> >setClassName(computeFinalClassNames());
> >classList has its own toggle function that makes super easy to manage adds
> >and removes, so no need to have a custom function in royale
> >
> >that uses:
> >
> >COMPILE::JS
> >override protected function computeFinalClassNames():String
> >{
> >return super.computeFinalClassNames() + " " + element.classList;
> >}
> >
> >I'd like to remove that and change the "setClassName" call to nothing, if
> >we change UIBase to simple use classList
> >
> >My guess is that we can have "typenames" and "classNames" but once all
> >set,
> >all can be managed with classList to add/remove since this is native and
> >manages all itself
> >
> >thoughts?
> >
> >
> >
> >
> >
> >2018-03-12 14:01 GMT+01:00 Carlos Rovira <carlosrov...@apache.org>:
> >
> >> Hi,
> >>
> >> long thread and very useful read here. Since Jewel is very similar to
> >>MDL
> >> in adding/removing classes I want to comment here some things:
> >>
> >> 1.- I just changed jewel typenames to the constructor and things works
> >>ok,
> >> I could remove the createElement override
> >> 2.- I have into account the use of typenames as something inmutable (as
> >> part of definition of a component) and classNames as things that are
> >>put by
> >> developer, or change at runtime due to some user operation
> >>
> >> Then:
> >>
> >> 3.- Why not use classList [1] instead of create our own CSSClassList ?
> >>is
> >> well supported in the browsers we are targeting
> >>
> >> Something more "light" :)
> >>
> >> 4.- I know that order in html classes are not relevant, in the
> >>execution.
> >> And most of people here doesn't mind if typenames are before or after
> >> classNames. So hope this doesn't make any problem to anyone here:
> >> Can I change the code to put typeNames before classNames in
> >> computeFinalClassNames? I think this not affects anyone since is a small
> >> change and helps me to get organized classnames and identify things. I
> >> think is better to see in final html typeNames first then classNames so
> >> "inheritance" (to call it some way), could be easy detected by the eye
> >>
> >> Thanks
> >>
> >> Carlos
> >>
> >>
> >> [1]
> >>https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fwww.w3sc
> >>hools.com%2FJsref%2Fprop_element_classlist.asp&data=02%
> 7C01%7Caharui%40ad
> >>obe.com%7C5fee37306b5f47f8664608d588305aef%
> 7Cfa7b1b5a7b34438794aed2c178de
> >>cee1%7C0%7C0%7C636564663624913122&sdata=EjW00lpVegbpFVp2%2FzQz%
> 2FQZnsNcB1
> >>G6R%2BkMSMIjboX0%3D&reserved=0
> >>
> >>
> >>
> >>
> >>
> >>
> >> --
> >> Carlos Rovira
> >>
> >>https://na01.safelinks.protection.outlook.com/?url=
> http%3A%2F%2Fabout.me%
> >>2Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%
> 7C5fee37306b5f47f8664608
> >>d588305aef%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> 7C63656466362491312
> >>2&sdata=XjaCDhDlj5GDGyIiHc7fKzg8zsKxIrcEoVel%2Ffj7qmI%3D&reserved=0
> >>
> >>
> >
> >
> >--
> >Carlos Rovira
> >https://na01.safelinks.protection.outlook.com/?url=
> http%3A%2F%2Fabout.me%2
> >Fcarlosrovira&data=02%7C01%7Caharui%40adobe.com%
> 7C5fee37306b5f47f8664608d5
> >88305aef%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> 7C636564663624913122&s
> >data=XjaCDhDlj5GDGyIiHc7fKzg8zsKxIrcEoVel%2Ffj7qmI%3D&reserved=0
>
>


-- 

Piotr Zarzycki

Patreon: *https://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*

Reply via email to