ICEfaces
  1. ICEfaces
  2. ICE-6257

ACE: Various animation transition issues

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: 2.0.0
    • Fix Version/s: 3.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 2 Adv. Components - animation tag

      Description

      Various issues have been observed when using the ACE animation transitions.

        Activity

        Hide
        Greg Dick added a comment -

        I see that the animation calls are deferred to YUI itself, so it's unlikely that these behaviours will change, but I just wanted to note some of the things I've seen:

        • It's difficult to discover an animation that animates effectively. For example, the following (on our wiki, and the yui site as well)

        <h:inputText>
        <ice:animation event="change" from="

        color: Color value is invalid

        " to="

        color: Color value is invalid

        " />
        <ice:animation event="blur" from="

        color: Color value is invalid

        " to="

        color: Color value is invalid

        " easing="elasticBoth" duration="4000"/>
        </h:inputText>

        gives the impression that it should change from black to red if the text is changed, and then change back on blur. Except the change isn't fired until blur, so the final state is red, and it never reverts back to black.

        • The other example of animation (changing sizes) doesn't actually animate. The following example will change the size of the text area, but in large steps, ie, the animation doesn't repaint the window on each resizing step, only at the ends.

        <h:inputTextarea>
        <ice:animation event="focus" to="

        { height:100 }

        " from="

        { height:20 }

        " easeing="backIn" duration="2000"/>
        <ice:animation event="blur" to="

        { height:20 }

        " from="

        { height:100 }

        " easeing="backIn" duration="2000"/>
        </h:inputTextarea>

        I think the same situation is present with changing the colors of text. The color change doesn't animate no matter what the duration is, it only changes once.

        • That and the fact that we can't trigger animations from the server side make this difficult to employ with any meaningful effect.
        Show
        Greg Dick added a comment - I see that the animation calls are deferred to YUI itself, so it's unlikely that these behaviours will change, but I just wanted to note some of the things I've seen: It's difficult to discover an animation that animates effectively. For example, the following (on our wiki, and the yui site as well) <h:inputText> <ice:animation event="change" from=" color: Color value is invalid " to=" color: Color value is invalid " /> <ice:animation event="blur" from=" color: Color value is invalid " to=" color: Color value is invalid " easing="elasticBoth" duration="4000"/> </h:inputText> gives the impression that it should change from black to red if the text is changed, and then change back on blur. Except the change isn't fired until blur, so the final state is red, and it never reverts back to black. The other example of animation (changing sizes) doesn't actually animate. The following example will change the size of the text area, but in large steps, ie, the animation doesn't repaint the window on each resizing step, only at the ends. <h:inputTextarea> <ice:animation event="focus" to=" { height:100 } " from=" { height:20 } " easeing="backIn" duration="2000"/> <ice:animation event="blur" to=" { height:20 } " from=" { height:100 } " easeing="backIn" duration="2000"/> </h:inputTextarea> I think the same situation is present with changing the colors of text. The color change doesn't animate no matter what the duration is, it only changes once. That and the fact that we can't trigger animations from the server side make this difficult to employ with any meaningful effect.
        Hide
        Ken Fyten added a comment -

        Adnan, Greg has a test page in /ace-test/animationDemo.jsf that shows some issues with various use-cases for the animation tag. Please review it and see what's up.

        Once thing I noticed is that the duration seems to be in seconds (real? 1.2, etc.). Perhaps millis would make more sense since most durations will be <1 sec in nature. Greg's test page assumes duration is millis, by the look of it.

        Show
        Ken Fyten added a comment - Adnan, Greg has a test page in /ace-test/animationDemo.jsf that shows some issues with various use-cases for the animation tag. Please review it and see what's up. Once thing I noticed is that the duration seems to be in seconds (real? 1.2, etc.). Perhaps millis would make more sense since most durations will be <1 sec in nature. Greg's test page assumes duration is millis, by the look of it.
        Hide
        Adnan Durrani added a comment -

        Changes made so duration can be defined in milliseconds

        Command: Commit
        Modified: D:\work\development\head\svn\ossrepo\icefaces2\trunk\icefaces\ace\component\resources\org.icefaces.component.animation\animation.js
        Sending content: D:\work\development\head\svn\ossrepo\icefaces2\trunk\icefaces\ace\component\resources\org.icefaces.component.animation\animation.js
        Completed: At revision: 23486

        Show
        Adnan Durrani added a comment - Changes made so duration can be defined in milliseconds Command: Commit Modified: D:\work\development\head\svn\ossrepo\icefaces2\trunk\icefaces\ace\component\resources\org.icefaces.component.animation\animation.js Sending content: D:\work\development\head\svn\ossrepo\icefaces2\trunk\icefaces\ace\component\resources\org.icefaces.component.animation\animation.js Completed: At revision: 23486
        Hide
        Adnan Durrani added a comment -

        As Ken noticed that demo was expecting that duration was in milliseconds. Where as the YUI takes seconds as value. These snippet should work now as expected.

        Show
        Adnan Durrani added a comment - As Ken noticed that demo was expecting that duration was in milliseconds. Where as the YUI takes seconds as value. These snippet should work now as expected.
        Hide
        Ken Fyten added a comment -

        I've updated the ace-showcase animation page to also use millis: Committed revision 23489.

        The Wiki documentation and component TLD needs to be updated to reflect this change: http://wiki.icefaces.org/display/ICE/Animation

        Show
        Ken Fyten added a comment - I've updated the ace-showcase animation page to also use millis: Committed revision 23489. The Wiki documentation and component TLD needs to be updated to reflect this change: http://wiki.icefaces.org/display/ICE/Animation
        Hide
        Greg Dick added a comment - - edited

        A few more things that I have concerns with:

        1) Changing color doesn't seem to work very well. The snippet from the wiki,

        <h:inputText>
        <ace:animation event="change" from="

        color: Color value is invalid

        " to="

        color: Color value is invalid

        " />
        </h:inputText>

        works in a way that I don't understand (in Firefox). Clicking on the text field and typing does nothing, but tabbing away causes the text to flash to black, then slowly animate to red.

        2) Event's seem to work with predefined effects, but not with homebrew ones. For example,

        This works:
        <h:inputText>
        <ice:animation event="click" name="highlight"/>
        </h:inputText>

        This does not:
        <h:inputText>
        <ice:animation event="click" to="

        { height:100 }

        " from="

        { height:20 }

        " duration="2000"/>
        </h:inputText>

        3) When I have a page full of examples like this:
        <li> backBoth example
        <h:inputTextarea>
        <ice:animation event="focus" to="

        { height:100 }

        " from="

        { height:20 }

        " easeing="backBoth" duration="2000"/>
        <ice:animation event="blur" to="

        { height:20 }

        " from="

        { height:100 }

        " easeing="backBoth" duration="2000"/>
        </h:inputTextarea>
        </li>

        When I first visit the page, the text areas are neither at 100px nor 20px, but somewhere in between like 40px. The animations occur properly to the correct values when triggered, but the default state isn't likely what anyone would expect.

        4) While I could get the text areas to change size with home brew animations, I couldn't get either the foreground or background colors to work.

        5) None of the The easing parameters appear to make any difference whatsoever, at least with size animations.

        Show
        Greg Dick added a comment - - edited A few more things that I have concerns with: 1) Changing color doesn't seem to work very well. The snippet from the wiki, <h:inputText> <ace:animation event="change" from=" color: Color value is invalid " to=" color: Color value is invalid " /> </h:inputText> works in a way that I don't understand (in Firefox). Clicking on the text field and typing does nothing, but tabbing away causes the text to flash to black, then slowly animate to red. 2) Event's seem to work with predefined effects, but not with homebrew ones. For example, This works: <h:inputText> <ice:animation event="click" name="highlight"/> </h:inputText> This does not: <h:inputText> <ice:animation event="click" to=" { height:100 } " from=" { height:20 } " duration="2000"/> </h:inputText> 3) When I have a page full of examples like this: <li> backBoth example <h:inputTextarea> <ice:animation event="focus" to=" { height:100 } " from=" { height:20 } " easeing="backBoth" duration="2000"/> <ice:animation event="blur" to=" { height:20 } " from=" { height:100 } " easeing="backBoth" duration="2000"/> </h:inputTextarea> </li> When I first visit the page, the text areas are neither at 100px nor 20px, but somewhere in between like 40px. The animations occur properly to the correct values when triggered, but the default state isn't likely what anyone would expect. 4) While I could get the text areas to change size with home brew animations, I couldn't get either the foreground or background colors to work. 5) None of the The easing parameters appear to make any difference whatsoever, at least with size animations.
        Hide
        Ken Fyten added a comment -

        Since we have adopted the JQuery effect library for the IF 2.1 animation component version this JIRA is deemed invalid.

        Show
        Ken Fyten added a comment - Since we have adopted the JQuery effect library for the IF 2.1 animation component version this JIRA is deemed invalid.

          People

          • Assignee:
            Adnan Durrani
            Reporter:
            Ken Fyten
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: