royale-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carlos Rovira <carlosrov...@apache.org>
Subject Re: [royale-asjs] branch feature/jewel-ui-set updated: Moved util functions to package-level ones
Date Fri, 16 Mar 2018 12:15:02 GMT
Ok Harbs,

I like the change
thanks!

2018-03-16 12:15 GMT+01:00 Harbs <harbs.lists@gmail.com>:

> Carlos,
>
> Irrespective of the general discussions on using classList directly, I
> think using package level functions is better than multifaceted static Util
> classes.
>
> > On Mar 16, 2018, at 1:05 PM, harbs@apache.org wrote:
> >
> > This is an automated email from the ASF dual-hosted git repository.
> >
> > harbs pushed a commit to branch feature/jewel-ui-set
> > in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
> >
> >
> > The following commit(s) were added to refs/heads/feature/jewel-ui-set
> by this push:
> >     new 46d392f  Moved util functions to package-level ones
> > 46d392f is described below
> >
> > commit 46d392f30454b9509cc88f883fc7ba0060219acc
> > Author: Harbs <harbs@in-tools.com>
> > AuthorDate: Fri Mar 16 13:05:15 2018 +0200
> >
> >    Moved util functions to package-level ones
> >
> >    (not sure about removeAllStyles — it seemed to have had a bug so it
> was probably not functional either way)
> > ---
> > .../projects/Core/src/main/royale/CoreClasses.as   |  5 +++
> > .../apache/royale/utils/cssclasslist/addStyles.as  | 47
> ++++++++++++++++++++++
> > .../royale/utils/cssclasslist/removeAllStyles.as   | 41
> +++++++++++++++++++
> > .../royale/utils/cssclasslist/removeStyles.as      | 46
> +++++++++++++++++++++
> > .../royale/utils/cssclasslist/toggleStyle.as       | 39
> ++++++++++++++++++
> > .../main/royale/org/apache/royale/core/UIBase.as   |  4 +-
> > .../main/royale/org/apache/royale/jewel/Button.as  |  8 ++--
> > 7 files changed, 184 insertions(+), 6 deletions(-)
> >
> > diff --git a/frameworks/projects/Core/src/main/royale/CoreClasses.as
> b/frameworks/projects/Core/src/main/royale/CoreClasses.as
> > index 8685789..8b0357d 100644
> > --- a/frameworks/projects/Core/src/main/royale/CoreClasses.as
> > +++ b/frameworks/projects/Core/src/main/royale/CoreClasses.as
> > @@ -224,6 +224,11 @@ internal class CoreClasses
> >           import org.apache.royale.core.IRoyaleElement; IRoyaleElement;
> >               import org.apache.royale.utils.object.defineGetter;
> defineGetter;
> >               import org.apache.royale.utils.object.defineSimpleGetter;
> defineSimpleGetter;
> > +
> > +             import org.apache.royale.utils.cssclasslist.removeAllStyles;
> removeAllStyles;
> > +             import org.apache.royale.utils.cssclasslist.removeStyles;
> removeStyles;
> > +             import org.apache.royale.utils.cssclasslist.toggleStyle;
> toggleStyle;
> > +             import org.apache.royale.utils.cssclasslist.addStyles;
> addStyles;
> >       }
> >       //Package Level Functions
> >       import org.apache.royale.debugging.assert; assert;
> > diff --git a/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/cssclasslist/addStyles.as b/frameworks/projects/Core/
> src/main/royale/org/apache/royale/utils/cssclasslist/addStyles.as
> > new file mode 100644
> > index 0000000..aa995a0
> > --- /dev/null
> > +++ b/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/cssclasslist/addStyles.as
> > @@ -0,0 +1,47 @@
> > +///////////////////////////////////////////////////////////
> /////////////////////
> > +//
> > +//  Licensed to the Apache Software Foundation (ASF) under one or more
> > +//  contributor license agreements.  See the NOTICE file distributed
> with
> > +//  this work for additional information regarding copyright ownership.
> > +//  The ASF licenses this file to You under the Apache License, Version
> 2.0
> > +//  (the "Licens"); you may not use this file except in compliance with
> > +//  the License.  You may obtain a copy of the License at
> > +//
> > +//      http://www.apache.org/licenses/LICENSE-2.0
> > +//
> > +//  Unless required by applicable law or agreed to in writing, software
> > +//  distributed under the License is distributed on an "AS IS" BASIS,
> > +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> > +//  See the License for the specific language governing permissions and
> > +//  limitations under the License.
> > +//
> > +///////////////////////////////////////////////////////////
> /////////////////////
> > +package org.apache.royale.utils.cssclasslist
> > +{
> > +    import org.apache.royale.core.IUIBase;
> > +
> > +    /**
> > +     *  Add one or more styles to the component. If the specified class
> already
> > +     *  exist, the class will not be added.
> > +     *
> > +     *  @param value, a String with the style (or styles separated by
> an space) to
> > +     *  add from the component. If the string is empty doesn't perform
> any action
> > +     *
> > +     *  @langversion 3.0
> > +     *  @productversion Royale 0.9.3
> > +     */
> > +    public function addStyles(wrapper:IUIBase, value:String):void
> > +    {
> > +        if (value == "") return;
> > +
> > +        if (value.indexOf(" ") >= 0)
> > +        {
> > +            var classes:Array = value.split(" ");
> > +            wrapper.element.classList.add.apply(wrapper.element.classList,
> classes);
> > +        } else
> > +        {
> > +            wrapper.element.classList.add(value);
> > +        }
> > +    }
> > +
> > +}
> > diff --git a/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/cssclasslist/removeAllStyles.as b/frameworks/projects/Core/
> src/main/royale/org/apache/royale/utils/cssclasslist/removeAllStyles.as
> > new file mode 100644
> > index 0000000..4d19c79
> > --- /dev/null
> > +++ b/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/cssclasslist/removeAllStyles.as
> > @@ -0,0 +1,41 @@
> > +///////////////////////////////////////////////////////////
> /////////////////////
> > +//
> > +//  Licensed to the Apache Software Foundation (ASF) under one or more
> > +//  contributor license agreements.  See the NOTICE file distributed
> with
> > +//  this work for additional information regarding copyright ownership.
> > +//  The ASF licenses this file to You under the Apache License, Version
> 2.0
> > +//  (the "Licens"); you may not use this file except in compliance with
> > +//  the License.  You may obtain a copy of the License at
> > +//
> > +//      http://www.apache.org/licenses/LICENSE-2.0
> > +//
> > +//  Unless required by applicable law or agreed to in writing, software
> > +//  distributed under the License is distributed on an "AS IS" BASIS,
> > +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> > +//  See the License for the specific language governing permissions and
> > +//  limitations under the License.
> > +//
> > +///////////////////////////////////////////////////////////
> /////////////////////
> > +package org.apache.royale.utils.cssclasslist
> > +{
> > +    import org.apache.royale.core.IUIBase;
> > +
> > +    /**
> > +     *  Removes all styles
> > +     *
> > +     *  @langversion 3.0
> > +     *  @playerversion Flash 10.2
> > +     *  @playerversion AIR 2.6
> > +     *  @productversion Royale 0.9.3
> > +     */
> > +    public function removeAllStyles(wrapper:IUIBase):void
> > +    {
> > +        var classList:DOMTokenList = wrapper.element.classList;
> > +        var i:int;
> > +        for( i = classList.length -1; i > 0; i-- )
> > +        {
> > +            classList.remove(classList[i]);
> > +        }
> > +    }
> > +
> > +}
> > diff --git a/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/cssclasslist/removeStyles.as b/frameworks/projects/Core/
> src/main/royale/org/apache/royale/utils/cssclasslist/removeStyles.as
> > new file mode 100644
> > index 0000000..21f59e0
> > --- /dev/null
> > +++ b/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/cssclasslist/removeStyles.as
> > @@ -0,0 +1,46 @@
> > +///////////////////////////////////////////////////////////
> /////////////////////
> > +//
> > +//  Licensed to the Apache Software Foundation (ASF) under one or more
> > +//  contributor license agreements.  See the NOTICE file distributed
> with
> > +//  this work for additional information regarding copyright ownership.
> > +//  The ASF licenses this file to You under the Apache License, Version
> 2.0
> > +//  (the "Licens"); you may not use this file except in compliance with
> > +//  the License.  You may obtain a copy of the License at
> > +//
> > +//      http://www.apache.org/licenses/LICENSE-2.0
> > +//
> > +//  Unless required by applicable law or agreed to in writing, software
> > +//  distributed under the License is distributed on an "AS IS" BASIS,
> > +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> > +//  See the License for the specific language governing permissions and
> > +//  limitations under the License.
> > +//
> > +///////////////////////////////////////////////////////////
> /////////////////////
> > +package org.apache.royale.utils.cssclasslist
> > +{
> > +    import org.apache.royale.core.IUIBase;
> > +
> > +    /**
> > +     *  Removes one or more styles from the component. Removing a class
> that does not
> > +     *  exist, does not throw any error
> > +     *
> > +     *  @param value, a String with the style (or styles separated by
> an space) to
> > +     *  remove from the component. If the string is empty doesn't
> perform any action
> > +     *
> > +     *  @langversion 3.0
> > +     *  @productversion Royale 0.9.3
> > +     */
> > +    public function removeStyles(wrapper:IUIBase, value:String):void
> > +    {
> > +        if (value == "") return;
> > +
> > +        if (value.indexOf(" ") >= 0)
> > +        {
> > +            var classes:Array = value.split(" ");
> > +            wrapper.element.classList.remove.apply(wrapper.element.classList,
> classes);
> > +        } else
> > +        {
> > +            wrapper.element.classList.remove(value);
> > +        }
> > +    }
> > +}
> > diff --git a/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/cssclasslist/toggleStyle.as b/frameworks/projects/Core/
> src/main/royale/org/apache/royale/utils/cssclasslist/toggleStyle.as
> > new file mode 100644
> > index 0000000..8ef9224
> > --- /dev/null
> > +++ b/frameworks/projects/Core/src/main/royale/org/apache/
> royale/utils/cssclasslist/toggleStyle.as
> > @@ -0,0 +1,39 @@
> > +///////////////////////////////////////////////////////////
> /////////////////////
> > +//
> > +//  Licensed to the Apache Software Foundation (ASF) under one or more
> > +//  contributor license agreements.  See the NOTICE file distributed
> with
> > +//  this work for additional information regarding copyright ownership.
> > +//  The ASF licenses this file to You under the Apache License, Version
> 2.0
> > +//  (the "Licens"); you may not use this file except in compliance with
> > +//  the License.  You may obtain a copy of the License at
> > +//
> > +//      http://www.apache.org/licenses/LICENSE-2.0
> > +//
> > +//  Unless required by applicable law or agreed to in writing, software
> > +//  distributed under the License is distributed on an "AS IS" BASIS,
> > +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> > +//  See the License for the specific language governing permissions and
> > +//  limitations under the License.
> > +//
> > +///////////////////////////////////////////////////////////
> /////////////////////
> > +package org.apache.royale.utils.cssclasslist
> > +{
> > +    import org.apache.royale.core.IUIBase;
> > +
> > +    /**
> > +     *  Adds or removes a single style.
> > +     *
> > +     *  The first parameter removes the style from an element, and
> returns false.
> > +     *  If the style does not exist, it is added to the element, and
> the return value is true.
> > +     *
> > +     *  The optional second parameter is a Boolean value that forces
> the class to be added
> > +     *  or removed, regardless of whether or not it already existed.
> > +     *
> > +     *  @langversion 3.0
> > +     *  @productversion Royale 0.9.3
> > +     */
> > +    public function toggleStyle(wrapper:IUIBase, value:String,
> force:Boolean = false):Boolean
> > +    {
> > +        return wrapper.element.classList.toggle(value, force);
> > +    }
> > +}
> > diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/core/UIBase.as
> b/frameworks/projects/Jewel/src/main/royale/org/apache/
> royale/core/UIBase.as
> > index de5e089..c14e113 100644
> > --- a/frameworks/projects/Jewel/src/main/royale/org/apache/
> royale/core/UIBase.as
> > +++ b/frameworks/projects/Jewel/src/main/royale/org/apache/
> royale/core/UIBase.as
> > @@ -37,7 +37,7 @@ package org.apache.royale.core
> >     {
> >         import org.apache.royale.html.util.addElementToWrapper;
> >         import org.apache.royale.utils.CSSUtils;
> > -        import org.apache.royale.util.ClassListUtil;
> > +        import org.apache.royale.utils.cssclasslist.addStyles;
> >     }
> >
> >       /**
> > @@ -1085,7 +1085,7 @@ package org.apache.royale.core
> >         COMPILE::JS
> >         protected function setClassName(value:String):void
> >         {
> > -            ClassListUtil.addStyles(this, value);
> > +            addStyles(this, value);
> >         }
> >
> >
> > diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Button.as
> b/frameworks/projects/Jewel/src/main/royale/org/apache/
> royale/jewel/Button.as
> > index 5e4dba9..4059764 100644
> > --- a/frameworks/projects/Jewel/src/main/royale/org/apache/
> royale/jewel/Button.as
> > +++ b/frameworks/projects/Jewel/src/main/royale/org/apache/
> royale/jewel/Button.as
> > @@ -23,7 +23,7 @@ package org.apache.royale.jewel
> >     COMPILE::JS
> >     {
> >         import org.apache.royale.core.WrappedHTMLElement;
> > -        import org.apache.royale.util.ClassListUtil;
> > +        import org.apache.royale.utils.cssclasslist.toggleStyle;
> >     }
> >
> >     /**
> > @@ -88,7 +88,7 @@ package org.apache.royale.jewel
> >
> >                 COMPILE::JS
> >                 {
> > -                    ClassListUtil.toggleStyle(this, "primary", value);
> > +                    toggleStyle(this, "primary", value);
> >                 }
> >             }
> >         }
> > @@ -118,7 +118,7 @@ package org.apache.royale.jewel
> >
> >                 COMPILE::JS
> >                 {
> > -                    ClassListUtil.toggleStyle(this, "secondary",
> value);
> > +                    toggleStyle(this, "secondary", value);
> >                 }
> >             }
> >         }
> > @@ -148,7 +148,7 @@ package org.apache.royale.jewel
> >
> >                 COMPILE::JS
> >                 {
> > -                    ClassListUtil.toggleStyle(this, "emphasized",
> value);
> > +                    toggleStyle(this, "emphasized", value);
> >                 }
> >             }
> >         }
> >
> > --
> > To stop receiving notification emails like this one, please contact
> > harbs@apache.org.
>
>


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

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