Alex,

I have started to work on MDL and move all typeNames from createElement to
constructor. Unfortunately something is not right here.

1) I still need to exclude BasicJS.swc:default.css - I did add theme to
MaterialDesignLite module maven build - it didn't help.
2) If I cannot setup typeNames and classNames inside my component, how can
I achieve switching some UI parts of the component ? In MDL it is quite
common that if I would like to change component I'm adding to it css class.
[1] - This is the example. If I remove line it doesn't work. There are
several places in MDL where we are doing such things. It is common in JS
world doing such things.

typeNames = element.className;

Thoughts ?

[1] https://paste.apache.org/at0H

Thanks,
Piotr


2018-02-23 15:55 GMT+01:00 Piotr Zarzycki <piotrzarzyck...@gmail.com>:

> Peter,
>
> That is interesting what you are saying. What will happen then if you have
> class which extends other one. The parent class is setting typeNames and
> derived one also before super? The parent one will override it?
>
> I cannot check now how typeNames is implemented.
>
> Piotr
>
>
> On Fri, Feb 23, 2018, 15:13 Peter Ent <p...@adobe.com.invalid> wrote:
>
>> I have been guilty of this and have been using typeNames now. I've found
>> that I need to set typeNames before calling super() in the constructor. I
>> thought it was done afterwards, but if I set typeNames after calling
>> super(), the typeName I set does not show up in the HTML produced.
>>
>> Also, suppose I have this: A Menu with a label inside of it. People will
>> want to change the background color of the menu and the color of the
>> label's text. If I were doing this in plain HTML/JS/CSS, I would set a
>> selector:  .Menu .Label { color: blue; } but that's not supported in the
>> Flash Player. So when I set up the typeName for the label inside of the
>> Menu should I set it to: Menu_Label or MenuLabel or Menu-Label? And is
>> using "." in a selector name a good idea? I would think the CSS processor
>> in the browser would be confused between ".x.y" and ".x .y" which can also
>> be written as ".x.y". Basically, we should have a consist naming pattern
>> here.
>>
>> ‹peter
>>
>> On 2/23/18, 4:09 AM, "Gabe Harbs" <harbs.li...@gmail.com> wrote:
>>
>> >There¹s some edge cases which seem problematic. One example:
>> >ComboBoxBiew has the following:
>> >            input = new TextInput();
>> >            input.className = "ComboBoxTextInput";
>> >
>> >            button = new TextButton();
>> >            button.className =
>> >"opt_org-apache.royale-html-ComboBox_Button";
>> >
>> >Input and button are both external to the view class, but are managed by
>> >the view class. On the other hand, there is a chance that the user might
>> >wan to style them. I¹m not sure whether className or typeNames is more
>> >appropriate hereŠ
>> >
>> >Harbs
>> >
>> >> On Feb 23, 2018, at 11:03 AM, Gabe Harbs <harbs.li...@gmail.com>
>> wrote:
>> >>
>> >> I¹ll help.
>> >>
>> >>> On Feb 23, 2018, at 10:50 AM, Alex Harui <aha...@adobe.com.INVALID>
>> >>>wrote:
>> >>>
>> >>> Quick note before I shut down for the night.
>> >>>
>> >>> UIBase has both a typeNames and className property.  TypeNames is used
>> >>>to
>> >>> emulate Flex-like type selectors in the CSS lookup.  It should be set
>> >>>in
>> >>> the constructor and never set from outside the class.  There are a few
>> >>> classes in Basic and lots of classes in MDL that should be upgraded to
>> >>>set
>> >>> typeNames in the constructor.  Subclasses can append to the base
>> >>>class's
>> >>> typeNames
>> >>>
>> >>> className is the opposite.  It should never be set inside the
>> >>>component's
>> >>> class.  It is for users of that component to set styles on the
>> >>>component.
>> >>>
>> >>> Can we get a volunteer to clean this up?
>> >>>
>> >>> Thanks,
>> >>> -Alex
>> >>>
>> >>
>> >
>>
>>


-- 

Piotr Zarzycki

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

Reply via email to