royale-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carlos Rovira <carlosrov...@apache.org>
Subject Re: TypeNames vs ClassName
Date Mon, 12 Mar 2018 15:45:35 GMT
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 <carlosrovira@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://www.w3schools.com/Jsref/prop_element_classlist.asp
>
>
>
>
>
>
> --
> Carlos Rovira
> http://about.me/carlosrovira
>
>


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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message