1. #1
    Ext User jclawson's Avatar
    Join Date
    Mar 2007
    Location
    Denver, Colorado
    Posts
    145
    Vote Rating
    1
    jclawson is on a distinguished road

      0  

    Default Prototype / JQuery highlight animation broken

    Prototype / JQuery highlight animation broken


    The highlight animation which is used in the tree doesn't work when using the Prototype or JQuery adapters. Verified in the Ext Examples for both adapters.

  2. #2
    Sencha User
    Join Date
    Mar 2007
    Posts
    7,854
    Vote Rating
    4
    tryanDLS is on a distinguished road

      0  

    Default


    Is this occurring with 1.0.1a or 1.1beta?

  3. #3
    Ext User jclawson's Avatar
    Join Date
    Mar 2007
    Location
    Denver, Colorado
    Posts
    145
    Vote Rating
    1
    jclawson is on a distinguished road

      0  

    Default


    1.0.1a

    I tried testing but it seems the beta has broken some tree code:

    Line 18957 of ext-all-debug.js
    var targetNode = this.node.ownerTree.innerCt.dom;

    this.node.ownerTree.innerCt has no properties.

    It looks like from 1.0.1a the offending tree code was changed from:
    var targetNode = this.node.ownerTree.container.dom;
    to
    var targetNode = this.node.ownerTree.innerCt.dom;

    If I change the line back to what it was in 1.0.1a everything seems to work fine. However, highlight does not work in 1.1 beta.

  4. #4
    Ext User
    Join Date
    May 2007
    Location
    France
    Posts
    32
    Vote Rating
    0
    perrich is on a distinguished road

      0  

    Default


    It doesn't work with all version => for jQuery it's a bug in jQuery and/or jQuery-adapter. There are already posts for this same issue. jQuery doesn't contains a animated effect like highlight (but a plugin named "interface" can do that).

    For Prototype, it doesn't work with 1.1beta.

  5. #5
    Ext User jclawson's Avatar
    Join Date
    Mar 2007
    Location
    Denver, Colorado
    Posts
    145
    Vote Rating
    1
    jclawson is on a distinguished road

      0  

    Default


    I think the Fx class needs much TLC. It is far inferior to scriptaculous. Scriptaculous has a highlight function already. Fx should just use that. Also lets say you are fading out an element. In scriptaculous if you show that element while its in the middle of fading out, scriptaculous will stop the animation first and fade back in. Fx appears to create a new animation every time its run without regard to currently running animations.

    Since Fx is very much dependent on whether you are using YUI, Prototype, or JQuery I think it needs to be brought into the adapter instead of relying on the very basic Ext.lib.Anim.

    btw... I am using prototype / scriptaculous if anyone is keeping count

  6. #6
    Sencha User jack.slocum's Avatar
    Join Date
    Mar 2007
    Location
    Tampa, FL
    Posts
    6,955
    Vote Rating
    17
    jack.slocum will become famous soon enough jack.slocum will become famous soon enough

      0  

    Default


    Quote Originally Posted by jclawson View Post
    I think the Fx class needs much TLC. It is far inferior to scriptaculous. Scriptaculous has a highlight function already. Fx should just use that. Also lets say you are fading out an element.
    I understand you may be used to scriptaculous, but that is a pretty bold statement. The Ext Fx has many *real world* features that scriptaculous doesn't/can't handle. e.g, auto blocking (a MUST have that no other effects package has), auto sequencing (not with a million nested functions), supports multiple element animations in a single call, etc.

    Ext's Fx (like slide) also support many more types of element and positions than the scriptaculous equivalent which only goes 2 ways and only supports static positioned elements.

    In scriptaculous if you show that element while its in the middle of fading out, scriptaculous will stop the animation first and fade back in. Fx appears to create a new animation every time its run without regard to currently running animations.
    Fx will too, just pass stop:true and it will stop the current running Fx. Unlike scriptaculous, this is supported by all Fx. e.g. if you are running a slideIn and then call a fadeOut it will work too, it is not dependent on the type of Fx being the same.

    ---

    To get back to the original problem, what the prototype adapter needs is a little love. It's needs someone with intimate knowledge of prototype to work on the issues when bridging between to the two libs.
    Jack Slocum
    Ext JS Founder
    Original author of Ext JS 1, 2 & 3.
    Twitter: @jackslocum
    jack@extjs.com

  7. #7
    Ext User JasonMichael's Avatar
    Join Date
    Mar 2007
    Location
    Lincoln Park, MI
    Posts
    132
    Vote Rating
    0
    JasonMichael is on a distinguished road

      0  

    Default


    Wow,that Fx sounds great. I think we just need to spend more time with it or at least I do, before thinking of using scriptaculous.... I plan to do some work with Fx soon (possibly this weekend).

    Jason

  8. #8
    Ext User
    Join Date
    May 2007
    Location
    Minnesota
    Posts
    66
    Vote Rating
    0
    IGx89 is on a distinguished road

      0  

    Default


    I posted a patch a little ways back to fix jQuery animation support in Ext 1.1b1; it worked great with Fx.frame, though I haven't actually tested it with Fx.highlight.

  9. #9
    Ext JS Premium Member stever's Avatar
    Join Date
    Mar 2007
    Posts
    1,406
    Vote Rating
    6
    stever will become famous soon enough stever will become famous soon enough

      0  

    Default


    scriptaculous became popular because anyone could do something like pulsate or shake by just saying pulsate or shake. There is a value in named configuration sets as such...

  10. #10
    Ext User jclawson's Avatar
    Join Date
    Mar 2007
    Location
    Denver, Colorado
    Posts
    145
    Vote Rating
    1
    jclawson is on a distinguished road

      0  

    Default


    Quote Originally Posted by jack.slocum View Post
    I understand you may be used to scriptaculous, but that is a pretty bold statement. The Ext Fx has many *real world* features that scriptaculous doesn't/can't handle...
    I am not by any means a scriptaculous fan, nor am I saying it is better than anything you can create. However, as is... for all prototype / JQuery users... the code doesn't really work 100%. Granted, what doesn't work isn't a show stopper but it is worth fixing. Additionally, your effects handling is not very configurable throughout Ext... ie the Tree expand/contract animations. It would be nice if you had scriptaculous style effects objects that could be passed into Ext objects as configuration parameters. So you could customize the tree animation for example. I would like to see the tree animation revert back to the YUI days where the top is fixed and the hieght is animated.

    I do appreciate your auto blocking / auto sequencing. This usually requires you to hand off effects to an Effects queue in other libraries.

    I personally hate scriptaculous and we don't use it anywhere else. My point here really is that for using Prototype you require the use of scriptaculous and not that much of scriptaculous is actually used. It seems a little like unnecessary code bloat. As soon as 1.1 is working, I will rip out the animation library from the standalone adapter and put it into my own custom adapter. Or hack in MooFx...

    I appreciate all the work you are doing.