Comment: 1) From that article you sent, I think we need to answer a similar question: When I set the transition CSS property on a node, should it clear any previous setting of transitioned properties? Or should it merge the transitioned properties? I guess our setter can just smash them and punt the override/merge question up to the CSS applicability manager.
2) I think I might have called "skipSetter", "customSetter". Then we could generalize it to handle setter methods too. (One of the reasons nodes have to be dynamic is because we need to look up setter methods. If we move that lookup out to a "customSetter" table, we are one step closer to having sealed nodes. (Of course, we still have to deal with attributes...) Issue: 1) I think we are asking for trouble by depending on the "inlining" of setAttribute in the LFC to break the circular dependency between transitions and setAttribute. This is a punji stick just waiting for someone to step on. We should be explicit about this and have something like setAttributeInternal for the internal case. (I just wasted about 15 minutes trying to figure out why you _weren't_ getting an infinite loop.) I expect this is already checked in (sorry for not reviewing sooner), in which case, maybe you could re-open or create a new Jira to address these. On 2010-06-24, at 17:38, Max Carlson wrote: > Change 20100624-maxcarlson-E by maxcarl...@friendly on 2010-06-24 13:52:05 PDT > in /Users/maxcarlson/openlaszlo/trunk-clean > for http://svn.openlaszlo.org/openlaszlo/trunk > > Summary: Add support for CSS3 transition attribute > > New Features: Node attributes that have corresponding transition set will be > automatically animated. See LzNode.transition for more details. > > Bugs Fixed: LPP-9020 - Support CSS3 transitions > > Technical Reviewer: ptw > QA Reviewer: hminsky > > Release Notes: Setting the 'transition' attribute will cause subsequent calls > to be animated, e.g.: > > <canvas> > <button transition="x 2s" onclick="this.setAttribute('x', 200)">Hello > Laszlo!</button> > </canvas> > > Details: LzNode - Add transition propery event and setter that parses the > CSS3 transition syntax. Override LzEventable.__skipSetter() to do transition > animations. > > LzEventable - Add __LZskipsetter hash to track attributes that should have > their setter call skipped and __skipSetter() called instead. > > LaszloAnimation - Inline setValue() calls into update(). > > Tests: Animators run as before clicking this button causes it to animate: > <canvas> > <button transition="x 2s" onclick="this.setAttribute('x', 200)">Hello > Laszlo!</button> > </canvas> > > Files: > M WEB-INF/lps/lfc/core/LzNode.lzs > M WEB-INF/lps/lfc/core/LzEventable.lzs > M WEB-INF/lps/lfc/controllers/LaszloAnimation.lzs > > Changeset: > http://svn.openlaszlo.org/openlaszlo/patches/20100624-maxcarlson-E.tar
