It's just swapping. If I have following code [1] - it is easier to
manipulate classList than className which is simple string. What utility
could look like ? It would be manipulating strings, which is less
convenient.

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

2018-02-23 21:11 GMT+01:00 Alex Harui <aha...@adobe.com.invalid>:

> Just compiler.  No need for asjs changes at this time I think.
>
> I'm still unclear on why you need to manipulate classList directly.  Is
> there some code that is in the JS from Material that manipulates
> classList?  Or are you just trying to swap out a name on the classList?
> If the latter, why not just create some utility function that operates on
> className and not the underlying element?
>
> -Aleex
>
> On 2/23/18, 11:58 AM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com> wrote:
>
> >You did merge vivid compiler changes or also changes from asjs repository.
> >
> >As for my work on MDL. I ended up with something like that [1]. The
> >question now how to propagate that code ? This is code for the component
> >which manipulates classList. Should I create some parent class ? General/
> >for MDL only, or Bead which will be included into such classes ?
> >Theoretically bead could listen for initComplete.
> >
> >[1]
> >https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fpaste.apa
> >che.org%2F1dy2&data=02%7C01%7Caharui%40adobe.com%
> 7C8e313e7d7f9d4608759f08d
> >57af7d477%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> 7C636550127203173382&
> >sdata=NkxHZQlHtOeJzWC%2BIyxxst89DlX0CCUa9VeGpztTL2s%3D&reserved=0
> >
> >Thanks,
> >Piotr
> >
> >2018-02-23 20:53 GMT+01:00 Alex Harui <aha...@adobe.com.invalid>:
> >
> >> I think I have Maven using the basic.css appropriately.  There is no way
> >> to default to including a SWC in Maven and then not use it in a child
> >> project, so all example poms that aren't MDL need to bring in the
> >> BasicTheme.
> >>
> >> Also, I had to merge the compiler change from vivid-ui-set branch to get
> >> the theme SWC to work in Maven.
> >>
> >> -Alex
> >>
> >> On 2/23/18, 8:04 AM, "Alex Harui" <aha...@adobe.com.INVALID> wrote:
> >>
> >> >MDL does not want the basic.css theme.  That is why we are moving
> >>styles
> >> >from Basic:swc's defaults.css to themes/basic.css.  I see that the
> >>Maven
> >> >plugin doesn't allow specification of a theme, so that's another task.
> >> I
> >> >can do it if nobody wants to take that on.  So, yes, move the Button
> >> >selectors from defaults.css to basic.css if that helps, but I will say
> >> >that I didn't notice those styles taking effect in my local version of
> >> >MDLTabsExample and assumed that mdl had overridden those styles.  As
> >> >Carlos said, in the end we want basic.css to be compliant CSS so don't
> >> >move anything with ClassReference as the value without discussing
> >>first.
> >> >
> >> >TypeNames should be set after the call to super().  Look at Label and
> >> >MultilineLabel.  They are working fine for me.  They are being used in
> >> >RoyaleStore.  There might have been issues before yesterday because
> >>lots
> >> >of Basic components were setting ClassName, but I went and cleaned
> >>that up
> >> >although I could have missed a few.
> >> >
> >> >In complex Views, you have two choices:  Make a subclass or assign the
> >> >className.  We should try to set set typeNames.  In fact, maybe we
> >>should
> >> >make typeNames protected.
> >> >
> >> >So, for ComboBoxView, the current code is setting a custom className
> >>which
> >> >is valid.  Users can then style it further by adding a
> >>.ComboBoxTextInput
> >> >selector to their CSS. However, class selectors are not pruned by the
> >> >compiler.  So in other cases, we have created a real subclass (in this
> >> >case "ComboBoxTextInput extends TextInput) and then the CSS would not
> >>have
> >> >the "." in front so it would look like a type selector and the compiler
> >> >would prune it from apps that don't use a ComboBox.  Not sure which is
> >> >better/faster,
> >> >
> >> >Regarding Peter's point about Labels in Menus.  The issue isn't that
> >>Flash
> >> >can't handle it.  It is that our SimpleCSSValuesImpl lookup doesn't
> >>handle
> >> >descendant and other advanced selectors.  The techniques for
> >>ComboBoxView
> >> >is how we avoid requiring a more complex lookup on the SWF side.  The
> >>menu
> >> >code should not be setting typeNames on other things, only itself.  I'm
> >> >not sure if on the JS side, avoiding descendant selectors speeds
> >>things up
> >> >in the browser or not.  We could create an IValuesImpl with descendant
> >> >selector support on the SWF side and probably will someday.  Volunteers
> >> >are welcome to take that on.
> >> >
> >> >Of course, I could be wrong...
> >> >-Alex
> >> >
> >> >
> >> >On 2/23/18, 7:37 AM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com>
> >>wrote:
> >> >
> >> >>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 <piotrzarzyck...@gmail.com
> >:
> >> >>
> >> >>> 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://na01.safelinks.protection.outlook.com/?url=
> >> https%3A%2F%2Fpaste.a
> >> >>>p
> >> >>>ache.org%2Fat0H&data=02%7C01%7Caharui%40adobe.com%
> >> 7Ca44c142f0ddc455c70bf
> >> >>>0
> >> >>>8d57ad361e6%7Cfa7b1b5a7b34438794aed2c178de
> >> cee1%7C0%7C0%7C636549970664822
> >> >>>4
> >> >>>53&sdata=1sSgdfBy%2BAv%2FsFIYwVFFHvVlhtJ3w3TW%
> >> 2FiDEyPVYGmo%3D&reserved=0
> >> >>>
> >> >>> 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://na01.safelinks.protection.outlook.com/?url=
> >> https%3A%2F%2Fwww.pa
> >> >>>t
> >> >>>reon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com
> >> %7Ca44c142f0dd
> >> >>>c
> >> >>>455c70bf08d57ad361e6%7Cfa7b1b5a7b34438794aed2c178de
> >> cee1%7C0%7C0%7C636549
> >> >>>9
> >> >>>70664822453&sdata=RxqP6b0L0BmWiiX3t6QdtbiA3YwoJR
> >> FFjSWC8LaxmWI%3D&reserve
> >> >>>d
> >> >>>=0
> >> >>>
> >> >>><https://na01.safelinks.protection.outlook.com/?url=
> >> https%3A%2F%2Fwww.pa
> >> >>>t
> >> >>>reon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com
> >> %7Ca44c142f0dd
> >> >>>c
> >> >>>455c70bf08d57ad361e6%7Cfa7b1b5a7b34438794aed2c178de
> >> cee1%7C0%7C0%7C636549
> >> >>>9
> >> >>>70664822453&sdata=RxqP6b0L0BmWiiX3t6QdtbiA3YwoJR
> >> FFjSWC8LaxmWI%3D&reserve
> >> >>>d
> >> >>>=0>*
> >> >>>
> >> >>
> >> >>
> >> >>
> >> >>--
> >> >>
> >> >>Piotr Zarzycki
> >> >>
> >> >>Patreon:
> >> >>*https://na01.safelinks.protection.outlook.com/?url=
> >> https%3A%2F%2Fwww.pat
> >> >>r
> >> >>eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com
> >> %7Ca44c142f0ddc4
> >> >>5
> >> >>5c70bf08d57ad361e6%7Cfa7b1b5a7b34438794aed2c178de
> >> cee1%7C0%7C0%7C636549970
> >> >>6
> >>
> >>>>64822453&sdata=RxqP6b0L0BmWiiX3t6QdtbiA3YwoJR
> FFjSWC8LaxmWI%3D&reserved=
> >>>>0
> >> >><https://na01.safelinks.protection.outlook.com/?url=
> >> https%3A%2F%2Fwww.pat
> >> >>r
> >> >>eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com
> >> %7Ca44c142f0ddc4
> >> >>5
> >> >>5c70bf08d57ad361e6%7Cfa7b1b5a7b34438794aed2c178de
> >> cee1%7C0%7C0%7C636549970
> >> >>6
> >> >>64822453&sdata=RxqP6b0L0BmWiiX3t6QdtbiA3YwoJR
> >> FFjSWC8LaxmWI%3D&reserved=0>
> >> >>*
> >> >
> >>
> >>
> >
> >
> >--
> >
> >Piotr Zarzycki
> >
> >Patreon:
> >*https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fwww.patr
> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%
> 7C8e313e7d7f9d46
> >08759f08d57af7d477%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7C0%7C0%7C6365501272
> >03173382&sdata=CTWhfUy0ILGvvx3HwRbmnkSZ3Nf5aylHwldhGDulDOE%3D&reserved=0
> ><https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fwww.patr
> >eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%
> 7C8e313e7d7f9d46
> >08759f08d57af7d477%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7C0%7C0%7C6365501272
> >03173382&sdata=CTWhfUy0ILGvvx3HwRbmnkSZ3Nf5ay
> lHwldhGDulDOE%3D&reserved=0>*
>
>


-- 

Piotr Zarzycki

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

Reply via email to