Loading ...
Sorry, an error occurred while loading the content.

Differences in Implementation

Expand Messages
  • Ron Lancaster
    First, I love the library and am using it to the exclusion of any other Javascript libraries. Thank you for taking the time to open source this, develop it,
    Message 1 of 9 , May 31, 2006
    • 0 Attachment
      First, I love the library and am using it to the exclusion of any other Javascript libraries. Thank you for taking the time to open source this, develop it, and provide thoughtful feedback.

      My question is that it appears there are difference in some of the libraries and I was curious as to why this is. Specifically, prototype inheritance is slightly different between containers and drag and drop. Overlay provides the following inheritance chain:

      YAHOO.widget.Overlay = function(el, userConfig) {}
      YAHOO.widget.Overlay.prototype = new YAHOO.widget.Module();
      YAHOO.widget.Overlay.prototype.constructor = YAHOO.widget.Overlay;

      This allows me to extend this and invoke the constructor directly like so:

      firelord.Panel = function() {
      firelord.Panel.superclass.constructor.call();
      }
      firelord.Panel.prototype = new YAHOO.widget.Overlay();
      firelord.Panel.prototype.constructor = firelord.Panel;
      firelord.Panel.superclass = YAHOO.widget.Overlay.prototype;

      DD extends DragDrop in this way:

      YAHOO.util.DD = function(id, sGroup) {};
      YAHOO.util.DD.prototype = new YAHOO.util.DragDrop();

      This forces me to duplicate the constructor like so:

      firelord.DragDrop = function(id, group) {
          if (id) {
              this.forceCssPosition = false;

              this.init(id, group);
              this.initFrame();
          }
      }

      firelord.DragDrop.prototype = new YAHOO.util.DDProxy();
      firelord.DragDrop.prototype.constructor = firelord.DragDrop;

      I'm new to JavaScript, so it's possible I'm misunderstanding or have made a mistake.

      The second difference I've noted is that you subscribe to events for Animation versus subclassing in DragDrop.

      Specifically, Animation I subscribe like so:

      myAnim.onComplete.subscribe(removeElement); 

      Whereas DragDrop I extend:

      firelord.DragDrop.prototype.startDrag = function(x, y) {};

      Sincerely,
      Ron Lancaster
    • Adam Moore
      ... Hi Ron, the drag and drop utility was developed before most of the other components in the library, and it hasn t yet been updated to use all of the
      Message 2 of 9 , May 31, 2006
      • 0 Attachment
        On Wed, May 31, 2006 at 05:55:29PM -0500, Ron Lancaster wrote:
        > First, I love the library and am using it to the exclusion of any
        > other Javascript libraries. Thank you for taking the time to open
        > source this, develop it, and provide thoughtful feedback.
        >
        > My question is that it appears there are difference in some of the
        > libraries and I was curious as to why this is. Specifically,
        > prototype inheritance is slightly different between containers and
        > drag and drop.

        Hi Ron, the drag and drop utility was developed before most of the other
        components in the library, and it hasn't yet been updated to use all of
        the patterns the more recent utils and widgets are using.

        -Adam
      • Matt Warden
        ... Hash: SHA1 ... There is no standard way to do this in JavaScript. People use various methods to mimic things like super() that we expect in OOP
        Message 3 of 9 , May 31, 2006
        • 0 Attachment
          -----BEGIN PGP SIGNED MESSAGE-----
          Hash: SHA1

          Ron Lancaster wrote:
          > My question is that it appears there are difference in some of the
          > libraries and I was curious as to why this is. Specifically, prototype
          > inheritance is slightly different between containers and drag and drop.
          > Overlay provides the following inheritance chain:

          There is no 'standard' way to do this in JavaScript. People use various
          methods to mimic things like super() that we expect in OOP languages.
          I'm sure this is just due to different developers using different methods.

          > This forces me to duplicate the constructor like so:

          I feel your pain.

          > The second difference I've noted is that you subscribe to events for
          > Animation versus subclassing in DragDrop.
          >
          > Specifically, Animation I subscribe like so:
          >
          > myAnim.onComplete.subscribe(removeElement);
          >
          > Whereas DragDrop I extend:
          >
          > firelord.DragDrop.prototype.startDrag = function(x, y) {};

          In both cases they are using the same event structure under the hood,
          but for some reason DD 'overrides' the extra functionality afforded by
          YAHOO.util.CustomEvent, and instead uses it only as a method of internal
          messaging. See my feature request:

          http://sourceforge.net/tracker/index.php?func=detail&aid=1497686&group_id=165715&atid=836479

          - --
          Matt Warden
          Oxford, OH, USA
          http://mattwarden.com


          This email proudly and graciously contributes to entropy.
          -----BEGIN PGP SIGNATURE-----
          Version: GnuPG v1.4.1 (GNU/Linux)
          Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

          iD8DBQFEfibJrI3LObhzHRMRAtELAKCCFD5nU5bJG5qg+8/4+6Gc/NdwkACgmgFf
          kjGoSOX9XKRrC/Fopoa8m0I=
          =mIo8
          -----END PGP SIGNATURE-----
        • Dave
          Steve, thanks for the input but it seems as though modal:true is still causing a Number expected js error for me even after making the change to the panel
          Message 4 of 9 , Jun 1, 2006
          • 0 Attachment
            Steve, thanks for the input but it seems as though modal:true is still
            causing a "Number expected" js error for me even after making the
            change to the panel divs as you suggested. The panel displays as
            expected in both browsers however the page is not graying out in IE
            and I'm recieving the javascript error.

            --- In ydn-javascript@yahoogroups.com, "Steven Peterson"
            <peterson@...> wrote:
            >
            > Dave,
            >
            >
            >
            > Your markup is not formatted correctly. In order to render your Panel
            > properly, you need to make sure that your existing markup is in Standard
            > Module Format, which looks like this:
            >
            >
            >
            > <div id="myModule">
            >
            > <div class="hd"></div>
            >
            > <div class="bd"></div>
            >
            > <div class="ft"></div>
            >
            > </div>
            >
            >
            >
            > Your markup, which appears to only have a body (with no header/footer),
            > would look like this:
            >
            >
            >
            > <div id="processingPopup" style="border-top:1px solid #e7dfe7;
            > border-right:1px solid #736d63; border-bottom:1px solid #736d63;
            > border-left:1px solid #e7dfe7; visibility: hidden;">
            > <div style="border-top:1px solid #ffffff; border-right:1px solid
            > #9c9ea5; border-bottom:1px solid #9c9ea5; border-left:1px solid
            #ffffff;"
            > class="bd">
            > <div style="padding:35px 15px 35px 15px; line-height:1.4;
            > background:#ffffff; text-align:center;">
            > PROCESSING...<br/>
            > please wait
            > </div>
            > </div>
            > </div>
            >
            >
            >
            > Notice that I added a CSS class to the inner body of your container
            so that
            > the Panel widget would know how your markup is structured. I would also
            > recommend that you move those inline styles to CSS. You can use the CSS
            > classes that are predefined for you in container.css and modify them to
            > match your own custom styles.
            >
            >
            >
            > Steven Peterson
            >
            > Web Developer, Platform Engineering
            >
            > Yahoo!
            >
            > From: ydn-javascript@yahoogroups.com
            [mailto:ydn-javascript@yahoogroups.com]
            > On Behalf Of Dave
            > Sent: Wednesday, May 31, 2006 1:48 PM
            > To: ydn-javascript@yahoogroups.com
            > Subject: [ydn-javascript] Panel modal:true in IE giving me a "number
            > expected" error!
            >
            >
            >
            > Hello,
            >
            > I've got a popup panel working fine in FireFox but in IE I get a
            > javascript error when setting modal:true which tells me that a number
            > is expected... does this make any sense? It sure doesn't to me.
            >
            > var myPanel;
            >
            > function initProcessingPopup() {
            > myPanel = new YAHOO.widget.Panel("processingPopup", {
            > width:"400px",
            > fixedcenter:true,
            > close:false,
            > visible:false,
            > draggable:false,
            > modal:true} );
            > myPanel.render(document.body);
            > }
            >
            > initProcessingPopup();
            >
            >
            >
            > <div id="processingPopup" style="border-top:1px solid #e7dfe7;
            > border-right:1px solid #736d63; border-bottom:1px solid #736d63;
            > border-left:1px solid #e7dfe7; visibility: hidden;">
            > <div style="border-top:1px solid #ffffff; border-right:1px solid
            > #9c9ea5; border-bottom:1px solid #9c9ea5; border-left:1px solid
            #ffffff;">
            > <div style="padding:35px 15px 35px 15px; line-height:1.4;
            > background:#ffffff; text-align:center;">
            > PROCESSING...<br/>
            > please wait
            > </div>
            > </div>
            > </div>
            >
            >
            > Obviously in use is the default css and js files included in the Yahoo
            > package. Any help would be MUCH appreciated.
            >
            >
            >
            >
            >
            >
            > SPONSORED LINKS
            >
            >
            > C
            >
            <http://groups.yahoo.com/gads?t=ms&k=C+programming+language&w1=C+programming
            >
            +language&w2=Computer+programming+languages&w3=Java+programming+language&w4=
            >
            The+c+programming+language&w5=C+++programming+language&w6=Concept+of+program
            > ming+language&c=6&s=194&.sig=lC1PxfzvANy_Br-nPkXYTA> programming
            language
            >
            > Computer
            >
            <http://groups.yahoo.com/gads?t=ms&k=Computer+programming+languages&w1=C+pro
            >
            gramming+language&w2=Computer+programming+languages&w3=Java+programming+lang
            >
            uage&w4=The+c+programming+language&w5=C+++programming+language&w6=Concept+of
            > +programming+language&c=6&s=194&.sig=7XFXh-0Mon1IfLuOVlwvdg>
            programming
            > languages
            >
            > Java
            >
            <http://groups.yahoo.com/gads?t=ms&k=Java+programming+language&w1=C+programm
            >
            ing+language&w2=Computer+programming+languages&w3=Java+programming+language&
            >
            w4=The+c+programming+language&w5=C+++programming+language&w6=Concept+of+prog
            > ramming+language&c=6&s=194&.sig=UITodqn0qTCUcae_mpRQog> programming
            > language
            >
            >
            > The
            >
            <http://groups.yahoo.com/gads?t=ms&k=The+c+programming+language&w1=C+program
            >
            ming+language&w2=Computer+programming+languages&w3=Java+programming+language
            >
            &w4=The+c+programming+language&w5=C+++programming+language&w6=Concept+of+pro
            > gramming+language&c=6&s=194&.sig=xnZC2-BzDSLhhir3MLtssg> c programming
            > language
            >
            > C
            >
            <http://groups.yahoo.com/gads?t=ms&k=C+++programming+language&w1=C+programmi
            >
            ng+language&w2=Computer+programming+languages&w3=Java+programming+language&w
            >
            4=The+c+programming+language&w5=C+++programming+language&w6=Concept+of+progr
            > amming+language&c=6&s=194&.sig=RTzTl3BOJWbWK14CdUrO0w> programming
            language
            >
            >
            > Concept
            >
            <http://groups.yahoo.com/gads?t=ms&k=Concept+of+programming+language&w1=C+pr
            >
            ogramming+language&w2=Computer+programming+languages&w3=Java+programming+lan
            >
            guage&w4=The+c+programming+language&w5=C+++programming+language&w6=Concept+o
            > f+programming+language&c=6&s=194&.sig=x4ueM0tA417JDq3ckdJ9CQ> of
            > programming language
            >
            >
            >
            > _____
            >
            > YAHOO! GROUPS LINKS
            >
            >
            >
            > * Visit your group "ydn-javascript
            > <http://groups.yahoo.com/group/ydn-javascript> " on the web.
            >
            > * To unsubscribe from this group, send an email to:
            > ydn-javascript-unsubscribe@yahoogroups.com
            > <mailto:ydn-javascript-unsubscribe@yahoogroups.com?subject=Unsubscribe>
            >
            > * Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service
            > <http://docs.yahoo.com/info/terms/> .
            >
            >
            >
            > _____
            >
          • Dave
            Strangely enough modal:true was not working in IE because of a style set on the body... margin: 0 auto 0 auto; I changed it to margin-top: 0; and
            Message 5 of 9 , Jun 1, 2006
            • 0 Attachment
              Strangely enough modal:true was not working in IE because of a style
              set on the body... margin: 0 auto 0 auto;

              I changed it to margin-top: 0; and margin-bottom: 0; and everything is
              working fine now! Phew that took quite some time to figure that one out.

              --- In ydn-javascript@yahoogroups.com, "Dave" <me@...> wrote:
              >
              > Hello,
              >
              > I've got a popup panel working fine in FireFox but in IE I get a
              > javascript error when setting modal:true which tells me that a number
              > is expected... does this make any sense? It sure doesn't to me.
              >
              > var myPanel;
              >
              > function initProcessingPopup() {
              > myPanel = new YAHOO.widget.Panel("processingPopup", {
              > width:"400px",
              > fixedcenter:true,
              > close:false,
              > visible:false,
              > draggable:false,
              > modal:true} );
              > myPanel.render(document.body);
              > }
              >
              > initProcessingPopup();
              >
              >
              >
              > <div id="processingPopup" style="border-top:1px solid #e7dfe7;
              > border-right:1px solid #736d63; border-bottom:1px solid #736d63;
              > border-left:1px solid #e7dfe7; visibility: hidden;">
              > <div style="border-top:1px solid #ffffff; border-right:1px solid
              > #9c9ea5; border-bottom:1px solid #9c9ea5; border-left:1px solid
              #ffffff;">
              > <div style="padding:35px 15px 35px 15px; line-height:1.4;
              > background:#ffffff; text-align:center;">
              > PROCESSING...<br/>
              > please wait
              > </div>
              > </div>
              > </div>
              >
              >
              > Obviously in use is the default css and js files included in the Yahoo
              > package. Any help would be MUCH appreciated.
              >
            • Steven Peterson
              Dave, Can you please point me to a full code sample? Thanks! Steven Peterson Web Developer, Platform Engineering Yahoo! From: ydn-javascript@yahoogroups.com
              Message 6 of 9 , Jun 1, 2006
              • 0 Attachment

                Dave,

                 

                Can you please point me to a full code sample?

                 

                Thanks!

                 

                Steven Peterson

                Web Developer, Platform Engineering

                Yahoo!

                From: ydn-javascript@yahoogroups.com [mailto:ydn-javascript@yahoogroups.com] On Behalf Of Dave
                Sent: Thursday, June 01, 2006 7:08 AM
                To: ydn-javascript@yahoogroups.com
                Subject: [ydn-javascript] Re: Panel modal:true in IE giving me a "number expected" error!

                 

                Steve, thanks for the input but it seems as though modal:true is still
                causing a "Number expected" js error for me even after making the
                change to the panel divs as you suggested.  The panel displays as
                expected in both browsers however the page is not graying out in IE
                and I'm recieving the javascript error.

                --- In ydn-javascript@yahoogroups.com, "Steven Peterson"
                <peterson@...> wrote:

                >
                > Dave,
                >

                >
                > Your markup is not formatted correctly. In order to render your Panel
                > properly, you need to make sure that your existing markup is in Standard
                > Module Format, which looks like this:
                >

                >
                > <div id="myModule">
                >
                >   <div class="hd"></div>
                >
                >   <div class="bd"></div>
                >
                >   <div class="ft"></div>
                >
                > </div>
                >

                >
                > Your markup, which appears to only have a body (with no header/footer),
                > would look like this:
                >

                >
                > <div id="processingPopup" style="border-top:1px solid
                #e7dfe7;
                > border-right:1px solid #736d63; border-bottom:1px solid #736d63;
                > border-left:1px solid #e7dfe7; visibility: hidden;">
                >     <div style="border-top:1px solid #ffffff;
                border-right:1px solid
                > #9c9ea5; border-bottom:1px solid #9c9ea5; border-left:1px solid
                #ffffff;"
                > class="bd">
                >         <div
                style="padding:35px 15px 35px 15px; line-height:1.4;
                > background:#ffffff; text-align:center;">
                >           
                PROCESSING...<br/>
                >            please
                wait
                >         </div>
                >     </div>
                > </div>
                >
                >
                >
                > Notice that I added a CSS class to the inner body of your container
                so that
                > the Panel widget would know how your markup is structured. I would also
                > recommend that you move those inline styles to CSS. You can use the CSS
                > classes that are predefined for you in container.css and modify them to
                > match your own custom styles.
                >

                >
                > Steven Peterson
                >
                > Web Developer, Platform Engineering
                >
                > Yahoo!
                >
                > From: ydn-javascript@yahoogroups.com
                [mailto:ydn-javascript@yahoogroups.com]
                > On Behalf Of Dave
                > Sent: Wednesday, May 31, 2006 1:48 PM
                > To: ydn-javascript@yahoogroups.com
                > Subject: [ydn-javascript] Panel modal:true in IE giving me a "number
                > expected" error!
                >

                >
                > Hello,
                >
                > I've got a popup panel working fine in FireFox but in IE I get a
                > javascript error when setting modal:true which tells me that a number
                > is expected... does this make any sense?  It sure doesn't to me.
                >
                > var myPanel;
                >
                >     function initProcessingPopup() {
                >         myPanel = new
                YAHOO.widget.Panel("processingPopup", {
                >            
                width:"400px",
                >            
                fixedcenter:true,
                >            
                close:false,
                >            
                visible:false,
                >            
                draggable:false,
                >            
                modal:true} );
                >        
                myPanel.render(document.body);
                >     }
                >
                >     initProcessingPopup();
                >
                >
                >
                > <div id="processingPopup" style="border-top:1px solid
                #e7dfe7;
                > border-right:1px solid #736d63; border-bottom:1px solid #736d63;
                > border-left:1px solid #e7dfe7; visibility: hidden;">
                >     <div style="border-top:1px solid #ffffff;
                border-right:1px solid
                > #9c9ea5; border-bottom:1px solid #9c9ea5; border-left:1px solid
                #ffffff;">
                >         <div
                style="padding:35px 15px 35px 15px; line-height:1.4;
                > background:#ffffff; text-align:center;">
                >           
                PROCESSING...<br/>
                >            please
                wait
                >         </div>
                >     </div>
                > </div>
                >
                >
                > Obviously in use is the default css and js files included in the Yahoo
                > package.  Any help would be MUCH appreciated.
                >
                >
                >
                >
                >
                >
                > SPONSORED LINKS
                >
                >
                > C
                >
                <http://groups.yahoo.com/gads?t=ms&k=C+programming+language&w1=C+programming
                >
                +language&w2=Computer+programming+languages&w3=Java+programming+language&w4=
                >
                The+c+programming+language&w5=C+++programming+language&w6=Concept+of+program
                > ming+language&c=6&s=194&.sig=lC1PxfzvANy_Br-nPkXYTA> 
                programming
                language
                >
                > Computer
                >
                <http://groups.yahoo.com/gads?t=ms&k=Computer+programming+languages&w1=C+pro
                >
                gramming+language&w2=Computer+programming+languages&w3=Java+programming+lang
                >
                uage&w4=The+c+programming+language&w5=C+++programming+language&w6=Concept+of
                > +programming+language&c=6&s=194&.sig=7XFXh-0Mon1IfLuOVlwvdg>
                programming
                > languages
                >
                > Java
                >
                <http://groups.yahoo.com/gads?t=ms&k=Java+programming+language&w1=C+programm
                >
                ing+language&w2=Computer+programming+languages&w3=Java+programming+language&
                >
                w4=The+c+programming+language&w5=C+++programming+language&w6=Concept+of+prog
                >
                ramming+language&c=6&s=194&.sig=UITodqn0qTCUcae_mpRQog>  programming
                > language
                >
                >
                > The
                >
                <http://groups.yahoo.com/gads?t=ms&k=The+c+programming+language&w1=C+program
                >
                ming+language&w2=Computer+programming+languages&w3=Java+programming+language
                >
                &w4=The+c+programming+language&w5=C+++programming+language&w6=Concept+of+pro
                >
                gramming+language&c=6&s=194&.sig=xnZC2-BzDSLhhir3MLtssg>  c programming
                > language
                >
                > C
                >
                <http://groups.yahoo.com/gads?t=ms&k=C+++programming+language&w1=C+programmi
                >
                ng+language&w2=Computer+programming+languages&w3=Java+programming+language&w
                >
                4=The+c+programming+language&w5=C+++programming+language&w6=Concept+of+progr
                > amming+language&c=6&s=194&.sig=RTzTl3BOJWbWK14CdUrO0w> 
                programming
                language
                >
                >
                > Concept
                >
                <http://groups.yahoo.com/gads?t=ms&k=Concept+of+programming+language&w1=C+pr
                >
                ogramming+language&w2=Computer+programming+languages&w3=Java+programming+lan
                >
                guage&w4=The+c+programming+language&w5=C+++programming+language&w6=Concept+o
                >
                f+programming+language&c=6&s=194&.sig=x4ueM0tA417JDq3ckdJ9CQ>  of
                > programming language
                >

                >
                >   _____ 
                >
                > YAHOO! GROUPS LINKS
                >

                >
                > *      Visit your group "ydn-javascript
                > <http://groups.yahoo.com/group/ydn-javascript>
                " on the web.
                >  
                > *      To unsubscribe from this group, send an
                email to:
                ydn-javascript-unsubscribe@yahoogroups.com
                > <
                href="mailto:ydn-javascript-unsubscribe@yahoogroups.com?subject=Unsubscribe">mailto:ydn-javascript-unsubscribe@yahoogroups.com?subject=Unsubscribe>
                >  
                > *      Your use of Yahoo! Groups is subject to
                the Yahoo! Terms of Service
                > <http://docs.yahoo.com/info/terms/>
                .
                >

                >
                >   _____
                >






                SPONSORED LINKS

                C programming language

                Computer programming languages

                Java programming language

                The c programming language

                C programming language

                Concept of programming language

                 


                YAHOO! GROUPS LINKS

                 

                 


              • Steven Peterson
                Glad to hear that you got it working. J Thanks for the feedback! Steven Peterson Web Developer, Platform Engineering Yahoo! From:
                Message 7 of 9 , Jun 1, 2006
                • 0 Attachment

                  Glad to hear that you got it working. J Thanks for the feedback!

                   

                  Steven Peterson

                  Web Developer, Platform Engineering

                  Yahoo!

                  From: ydn-javascript@yahoogroups.com [mailto:ydn-javascript@yahoogroups.com] On Behalf Of Dave
                  Sent: Thursday, June 01, 2006 8:02 AM
                  To: ydn-javascript@yahoogroups.com
                  Subject: [ydn-javascript] SOLVED!

                   

                  Strangely enough modal:true was not working in IE because of a style
                  set on the body... margin: 0 auto 0 auto;

                  I changed it to margin-top: 0; and margin-bottom: 0; and everything is
                  working fine now!  Phew that took quite some time to figure that one out.

                  --- In ydn-javascript@yahoogroups.com, "Dave" <me@...> wrote:

                  >
                  > Hello,
                  >
                  > I've got a popup panel working fine in FireFox but in IE I get a
                  > javascript error when setting modal:true which tells me that a number
                  > is expected... does this make any sense?  It sure doesn't to me.
                  >
                  > var myPanel;
                  >
                  >     function initProcessingPopup() {
                  >         myPanel = new
                  YAHOO.widget.Panel("processingPopup", {
                  >            
                  width:"400px",
                  >            
                  fixedcenter:true,
                  >            
                  close:false,
                  >            
                  visible:false,
                  >            
                  draggable:false,
                  >            
                  modal:true} );
                  >        
                  myPanel.render(document.body);
                  >     }
                  >
                  >     initProcessingPopup();
                  >
                  >
                  >
                  > <div id="processingPopup" style="border-top:1px solid
                  #e7dfe7;
                  > border-right:1px solid #736d63; border-bottom:1px solid #736d63;
                  > border-left:1px solid #e7dfe7; visibility: hidden;">
                  >     <div style="border-top:1px solid #ffffff;
                  border-right:1px solid
                  > #9c9ea5; border-bottom:1px solid #9c9ea5; border-left:1px solid
                  #ffffff;">
                  >         <div
                  style="padding:35px 15px 35px 15px; line-height:1.4;
                  > background:#ffffff; text-align:center;">
                  >           
                  PROCESSING...<br/>
                  >            please
                  wait
                  >         </div>
                  >     </div>
                  > </div>
                  >
                  >
                  > Obviously in use is the default css and js files included in the Yahoo
                  > package.  Any help would be MUCH appreciated.
                  >






                  SPONSORED LINKS

                  C programming language

                  Computer programming languages

                  Java programming language

                  The c programming language

                  C programming language

                  Concept of programming language

                   


                  YAHOO! GROUPS LINKS

                   

                   


                Your message has been successfully submitted and would be delivered to recipients shortly.