ICEfaces
  1. ICEfaces
  2. ICE-5846

Sparkle: Support predefined effects for component-specific events and state-changes

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha3
    • Fix Version/s: 2.0-Beta2, 2.0.0
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 2.0 w/ Sparkle Component Platform.
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial, Compatibility/Configuration

      Description

      For the new ICEfaces 2.0 "Sparkle" components we want to support standard effects for state-changes within a given component that are readily usable and customizable by application developers, and also support theming.

      For example, the Tab component could use effects for the following state-change:

      - tab selection change (hide current tab pane contents, display newly selected tab pane contents)

      For each of these component state-changes there are a finite number of effect-types that could be used that would result in an aesthetically pleasing result, such as fade-out + fade-in, cross-fade, slide up / slide-down, etc. To simplify customization by the app. developer, each component should have an attribute for each state-change that can be used to set the effect-type to be used for that state-change, such as "tabTransitionEffect='fade'".

      In addition, each effect-type may have a time-interval or period associated with it to adjust the duration that the effect takes to complete. In order to simplify the customization of the time intervals by the application developer, and ensure a consistent reaction-time for all components on the page, we should identify pre-defined values for adjusting the effect time, such as "fast, normal, slow" that can be defined via an attribute on the component, such as "tabTransitionEffectSpeed='fast'.

      Each theme could provide a definition for the standard effect labels ("fade", "xfade", "slideX", "slideY", etc.) and speed/durations ("slow", "normal", "fast") that would provide the desired effect behaviors for that theme. A master/default set could be used if the theme did not provide an implementation of its' own to ease supporting effects with custom themes without forcing each theme to implement the effects configuration code. While it would be nice to be able to use CSS or perhaps XML to define the theme effects, initially an pure JavaScript implementation would suffice.
       


        Issue Links

          Activity

          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22464 Wed Sep 29 13:43:16 MDT 2010 adnan.durrani Fix towards ICE-5846 (Sparkle: Support predefined effects for component-specific events and state-changes)
          Duration attribute and its support added
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/AnimationBehaviorHandler.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/AnimationBehavior.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22461 Wed Sep 29 12:00:17 MDT 2010 adnan.durrani Fix for ICE-5846 (Sparkle: Support predefined effects for component-specific events and state-changes)
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/Effect.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/AnimationBehaviorHandler.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/AnimationBehavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.js
          Commit graph ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/Anim.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22282 Mon Sep 06 12:48:49 MDT 2010 adnan.durrani Effect Changes towards following JIRA ICE-5846 (Sparkle: Support predefined effects for component-specific events and state-changes)
          Effect support added to the Calendar component, as well as some refactoring.
          Files Changed
          Commit graph ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/ClientBehaviorContextImpl.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.tab/tabset.js
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.js
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.datetimeselector/calendar.js
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/datetimeselector/DateTimeSelectorMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.css
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSetRenderer.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/datetimeselector/DateTimeSelectorRenderer.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/utils/Utils.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22268 Mon Aug 30 23:46:15 MDT 2010 adnan.durrani Changes towards following JIRA ICE-5846 (Sparkle: Support predefined effects for component-specific events and state-changes)
          peer concept added so reverse of the component can be invoked on demand.
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22245 Sun Aug 29 22:19:53 MDT 2010 adnan.durrani Changes towards following JIRA ICE-5846 (Sparkle: Support predefined effects for component-specific events and state-changes)
          Name problem fixed, rule added so initial property can be get from style class and user defined property will take precedence. Component level layer added to enforce the style class. panelTabset has been modified to use plugin type of functionality. Changes made to the behavior so getScript can return function with run() call, or can return function instance only for custom components.
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Effect.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Fade.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.tab/tabset.js
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehaviorHandler.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.js
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.css
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSetRenderer.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22244 Sat Aug 28 15:39:53 MDT 2010 adnan.durrani Property map added to allow to add properties for effects under following JIRA ICE-5846 (Sparkle: Support predefined effects for component-specific events and state-changes)
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Effect.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/utils/JSONBuilder.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22241 Thu Aug 26 23:16:15 MDT 2010 adnan.durrani commit towards ICE-5846 (Sparkle: Support predefined effects for component-specific events and state-changes)
          ValueExpression issue resolved by introducing BehaviorHandler
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Effect.java
          Commit graph ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehaviorHandler.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/xmlbuilder/FaceletTagLibBuilder.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22234 Wed Aug 25 20:42:17 MDT 2010 adnan.durrani Effects are Refactored towards ICE-5846 (Sparkle: Support predefined effects for component-specific events and state-changes)
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Effect.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/xmlbuilder/FacesConfigBuilder.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Fade.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSetMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Highlight.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.js
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.css
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/xmlbuilder/FaceletTagLibBuilder.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSetRenderer.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Appear.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/utils/Utils.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22227 Tue Aug 24 20:29:27 MDT 2010 adnan.durrani commit towards ICE-5846 (Sparkle: Support predefined effects for component-specific events and state-changes)
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Effect.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/xmlbuilder/FacesConfigBuilder.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Fade.java
          Commit graph ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Highlight.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.tab/tabset.js
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.js
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.css
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/xmlbuilder/FaceletTagLibBuilder.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Appear.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22210 Thu Aug 19 22:18:34 MDT 2010 adnan.durrani initial commit towards ICE-5846 (Sparkle: Support predefined effects for component-specific events and state-changes)
          Files Changed
          Commit graph ADD /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/behavior/ClientBehaviorHolder.java
          Commit graph ADD /icefaces/scratchpads/sparkle/generator/src/org/icefaces/component/annotation/ClientBehaviorHolder.java
          Commit graph ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Fade.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.tab/tabset.js
          Commit graph ADD /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation
          Commit graph ADD /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.css
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSetRenderer.java
          Commit graph ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Effect.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/xmlbuilder/FacesConfigBuilder.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabMeta.java
          Commit graph ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSetMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/showcase/test/web/tabset.xhtml
          Commit graph ADD /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.js
          Commit graph ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehavior.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/context/GeneratorContext.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/xmlbuilder/FaceletTagLibBuilder.java
          Commit graph ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Appear.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/utils/Utils.java

            People

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

              Dates

              • Created:
                Updated:
                Resolved: