Details
-
Type: New Feature
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0-Alpha3
-
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.
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
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #22464 | Wed Sep 29 13:43:16 MDT 2010 | adnan.durrani | Fix towards Duration attribute and its support added |
Files Changed | ||||
MODIFY
/icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/AnimationBehaviorHandler.java
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 |
Files Changed | ||||
MODIFY
/icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/Effect.java
MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/AnimationBehaviorHandler.java MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/AnimationBehavior.java MODIFY /icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.js ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/animation/Anim.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 peer concept added so reverse of the component can be invoked on demand. |
Files Changed | ||||
MODIFY
/icefaces/scratchpads/sparkle/component/resources/org.icefaces.component.animation/animation.js
|
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 |
Files Changed | ||||
MODIFY
/icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Effect.java
MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehavior.java 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 ValueExpression issue resolved by introducing BehaviorHandler |
Files Changed | ||||
MODIFY
/icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/Effect.java
ADD /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehaviorHandler.java MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/effects/EffectBehavior.java MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/xmlbuilder/FaceletTagLibBuilder.java |