Hi Piotr,

I could not understand this explanation. Might be better to show actual
code.  For example in #3, there is a cssClass variable that I don't know
about.  Also you mention at the bottom setting something as empty, but I'm
not sure what that is.

However, IMO, this code should be in utility functions, not in UIBase.  I
think plenty of useful applications can be built without changing
classNames at runtime.

I'm off-line for the next several hours so we can pick this up again in
your morning.

Thanks for working on it,
-Alex

On 2/27/18, 2:21 PM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com> wrote:

>Here is how I'm thinking to resolve that issue. I would take Harb's
>proposition and add to UIBase  addClassName() and removeClassName(). Next
>I
>would add internal field _internalClassName:String.
>
>addClassName(value):
>1) Will check if provided class name exits in _className and in
>_internalClassName.
>2) Will add to _internalClassName += value
>3) Assign to the element.className in the following way: element.className
>= cssClass + " " + _className + " " + typeNames;
>
>removeClassName(value)
>1) Will check if provided classs name exists in  _className or in
>_internalClassName
>2) Make a replace to empty string if css class name exists.
>_className.replace(value, "");
>3) Assign to the element.className: element.className = _className + " " +
>typeNames;
>
>In added to parent we are computing _internalClassName with _className and
>typeNames. Then it's being set as empty.
>
>element.className =  _internalClassName  + " " + _className + " " +
>typeNames;
>
>I have implemented it and it seems to be working. Waiting for your
>thoughts
>on that solution. The last step where we are adding all three fields is
>the
>most important. Points 3 in addClassName and removeClassName are
>necessary,
>because user may want to more dynamically manipulate classes once
>component
>is created. Ex. "is-active" class is removed and added on demand.
>
>Thanks, Piotr
>
>
>2018-02-27 13:38 GMT+01:00 Piotr Zarzycki <piotrzarzyck...@gmail.com>:
>
>> I think I have analyzed everything and have some implementation
>> proposition. I will try to provide it later today.
>>
>> Thanks, Piotr
>>
>> 2018-02-27 13:35 GMT+01:00 Harbs <harbs.li...@gmail.com>:
>>
>>> ExpandableSearch broke too.
>>>
>>> > On Feb 25, 2018, at 6:15 PM, Piotr Zarzycki
>>><piotrzarzyck...@gmail.com>
>>> wrote:
>>> >
>>> > Harbs,
>>> >
>>> > If you are using something more than MDL Dialog in your application
>>>it
>>> > would be great to get feedback whether I didn't break for you
>>>anything.
>>> :)
>>>
>>>
>>
>>
>> --
>>
>> Piotr Zarzycki
>>
>> Patreon: 
>>*https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pat
>>reon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C45a065853ba1
>>4a295d9d08d57e3082b9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365536
>>69427477536&sdata=tOlZF%2FWAGhqn1toqJCCqjc14NZU56MnZZK9liXcy%2BPg%3D&rese
>>rved=0
>> 
>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pat
>>reon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C45a065853ba1
>>4a295d9d08d57e3082b9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365536
>>69427477536&sdata=tOlZF%2FWAGhqn1toqJCCqjc14NZU56MnZZK9liXcy%2BPg%3D&rese
>>rved=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%7C45a065853ba14a
>295d9d08d57e3082b9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365536694
>27477536&sdata=tOlZF%2FWAGhqn1toqJCCqjc14NZU56MnZZK9liXcy%2BPg%3D&reserved
>=0
><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patr
>eon.com%2Fpiotrzarzycki&data=02%7C01%7Caharui%40adobe.com%7C45a065853ba14a
>295d9d08d57e3082b9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6365536694
>27477536&sdata=tOlZF%2FWAGhqn1toqJCCqjc14NZU56MnZZK9liXcy%2BPg%3D&reserved
>=0>*

Reply via email to