I have added separate theme for MDL - didn't touch basic.css at all. I did add it as an <additionalCompilatorArgument>-theme=path</additionalCompilatorArgument> - this doesn't change anything in Basic module.
On Fri, Feb 23, 2018, 17:05 Piotr Zarzycki <[email protected]> wrote: > I think I see where the issue may be, but not sure if it is an issue. I > have created separate project where I have only MDL Card component. I'm > setting property shardow = "2" [1]. This property is being called, but I > don't have line with typeNames - it's deleted. > > What is happen: > > 1) Constructor is setup class typeNames="mdl-card" - OK > 2) Property shadow is being called - it's adding to > classList.add(mdl-shadow--2-dp") > css class. > 3) addedToParent being called. It's removed everything what is inside > classList and replace it with "mdl-card" > - Should it work like that ? > > That is why I'm observing such a mess up after moving all typeNames to > constructor. > > [1] https://paste.apache.org/at0H > > Thanks, Piotr > > 2018-02-23 16:37 GMT+01:00 Piotr Zarzycki <[email protected]>: > >> A bit more on point 1. and let's take for the example simple Button. We >> have some styles for Button in Basic.css. MDL Button extends TextButton - >> some styles naturally has been added from default.css. >> >> If I create theme I should achieve that my theme classes will override >> default.css Button styles and I should be good yes ? >> >> Am I understand it correctly ? >> Thanks, Piotr >> >> >> 2018-02-23 16:32 GMT+01:00 Piotr Zarzycki <[email protected]>: >> >>> 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 <[email protected]>: >>> >>>> 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 <[email protected]> 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" <[email protected]> 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 <[email protected]> >>>>> wrote: >>>>> >> >>>>> >> I¹ll help. >>>>> >> >>>>> >>> On Feb 23, 2018, at 10:50 AM, Alex Harui <[email protected] >>>>> > >>>>> >>>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>* >>> >> >> >> >> -- >> >> Piotr Zarzycki >> >> Patreon: *https://www.patreon.com/piotrzarzycki >> <https://www.patreon.com/piotrzarzycki>* >> > > > > -- > > Piotr Zarzycki > > Patreon: *https://www.patreon.com/piotrzarzycki > <https://www.patreon.com/piotrzarzycki>* >
