Update of /cvsroot/dynapi/dynapi/src/lib/dynapi/api
In directory usw-pr-cvs1:/tmp/cvs-serv18378

Modified Files:
        events.js dynlayer.js 
Log Message:
Many event fixes. See 'this is my war' post in dynapi-dev lists for details

Index: events.js
===================================================================
RCS file: /cvsroot/dynapi/dynapi/src/lib/dynapi/api/events.js,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** events.js   2001/01/11 10:20:55     1.10
--- events.js   2001/01/11 19:23:59     1.11
***************
*** 77,81 ****
  
  DynLayer.prototype.captureMouseEvents=function() {
!       if (!this.eventListeners) this.eventListeners=[];;
        this.hasEventListeners=true;
        if (!this.created) return false;
--- 77,81 ----
  
  DynLayer.prototype.captureMouseEvents=function() {
!       if (!this.eventListeners) this.eventListeners=[];
        this.hasEventListeners=true;
        if (!this.created) return false;
***************
*** 83,93 ****
        if (is.ns4) elm.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK | 
Event.DBLCLICK);
        
elm.mousemove=elm.onmousedown=elm.onmouseup=elm.onmouseover=elm.onmouseout=elm.onclick=elm.ondblclick=DynLayer.prototype.EventMethod;
!       if (is.ie5) this.elm.oncontextmenu=function() {
                return false;
        };
  };
  DynLayer.prototype.EventMethod = function(e) {
-       var dyndoc=this.lyrobj.dyndoc;
  
        if (is.ie) {
                var e=dyndoc.elm.event;
--- 83,93 ----
        if (is.ns4) elm.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK | 
Event.DBLCLICK);
        
elm.mousemove=elm.onmousedown=elm.onmouseup=elm.onmouseover=elm.onmouseout=elm.onclick=elm.ondblclick=DynLayer.prototype.EventMethod;
!       if (is.ie5) elm.oncontextmenu=function() {
                return false;
        };
  };
  DynLayer.prototype.EventMethod = function(e) {
  
+       var dyndoc=this.lyrobj.dyndoc;
        if (is.ie) {
                var e=dyndoc.elm.event;
***************
*** 106,119 ****
        var which=(is.ie||is.ns5)?e.button:e.which
  
!       // In IE, search for parent div, if any, because it will have a reference to 
the DynLayer
        for(;is.ie && !realsrc.lyrobj && realsrc.parentElement && 
realsrc.parentElement!=realsrc;realsrc=realsrc.parentElement);
  
        var src = realsrc.lyrobj||dyndoc
!       if (!src) return true
        var evt=dyndoc._e
        evt.setEvent(src,e)
        var type=evt.type
        src.invokeEvent(type,evt)
!       if (e.type=="mouseover" || e.type=="mouseout") return false;
        evt.bubbleEvent();
        return evt.browserReturn;
--- 106,121 ----
        var which=(is.ie||is.ns5)?e.button:e.which
  
!       /* Fix by ilMaestro:
!          In IE, search for parent div, if any, because it will have a reference to 
the DynLayer */
        for(;is.ie && !realsrc.lyrobj && realsrc.parentElement && 
realsrc.parentElement!=realsrc;realsrc=realsrc.parentElement);
  
        var src = realsrc.lyrobj||dyndoc
!       //if (!src || src==dyndoc) {window.status=" -->  "+realsrc.href; return true }
        var evt=dyndoc._e
        evt.setEvent(src,e)
        var type=evt.type
+       //window.status = " ... "+src
        src.invokeEvent(type,evt)
!       if (is.ns && (e.type=="mouseover" || e.type=="mouseout")) return false;
        evt.bubbleEvent();
        return evt.browserReturn;

Index: dynlayer.js
===================================================================
RCS file: /cvsroot/dynapi/dynapi/src/lib/dynapi/api/dynlayer.js,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** dynlayer.js 2001/01/11 10:22:05     1.12
--- dynlayer.js 2001/01/11 19:23:59     1.13
***************
*** 96,101 ****
                if (dlyr.h==null && dlyr.getContentHeight()>0) 
dlyr.setHeight(dlyr.getContentHeight(), false);
        }
-       if (dlyr.hasEventListeners) dlyr.captureMouseEvents();
        dlyr.created=true;
        dlyr.invokeEvent("resize");
        dlyr.invokeEvent('create');
--- 96,101 ----
                if (dlyr.h==null && dlyr.getContentHeight()>0) 
dlyr.setHeight(dlyr.getContentHeight(), false);
        }
        dlyr.created=true;
+       if (dlyr.hasEventListeners) dlyr.captureMouseEvents();
        dlyr.invokeEvent("resize");
        dlyr.invokeEvent('create');
***************
*** 132,136 ****
        dlyr.elm.lyrobj=dlyr;
  
!       if (is.ns4) for (i in dlyr.doc.images) dlyr.doc.images[i].lyrobj=dlyr;
        if (is.ns5) for (i in dlyr.doc.images) dlyr.doc.images[i].lyrobj=dlyr.elm;
  
--- 132,139 ----
        dlyr.elm.lyrobj=dlyr;
  
!       if (is.ns4) { 
!               for (var i in dlyr.doc.images) dlyr.doc.images[i].lyrobj=dlyr; 
!               for (i=0;i<dlyr.doc.links.length;i++) dlyr.doc.links[i].lyrobj=dlyr;
!       }
        if (is.ns5) for (i in dlyr.doc.images) dlyr.doc.images[i].lyrobj=dlyr.elm;
  
***************
*** 197,201 ****
          if (child.created) child.removeFromParent();
          child.parent=this;
!               child.isChild=true;
          if (this.dyndoc) this.addChildID(child);
          this.children[this.children.length]=child;
--- 200,204 ----
          if (child.created) child.removeFromParent();
          child.parent=this;
!       child.isChild=true;
          if (this.dyndoc) this.addChildID(child);
          this.children[this.children.length]=child;
***************
*** 208,212 ****
          var child=arguments[a];       
          if (child.parent==this) {
!                       DynAPI.removeFromArray(this.children,child);
              DynAPI.removeFromArray(this.dyndoc.all,child,true);
              DynLayer.unassigned[child.id]=child;
--- 211,215 ----
          var child=arguments[a];       
          if (child.parent==this) {
!               DynAPI.removeFromArray(this.children,child);
              DynAPI.removeFromArray(this.dyndoc.all,child,true);
              DynLayer.unassigned[child.id]=child;
***************
*** 422,425 ****
--- 425,429 ----
                this.doc.close();
                for (var i in this.doc.images) this.doc.images[i].lyrobj=this;
+               for (i=0;i<this.doc.links.length;i++) this.doc.links[i].lyrobj=this;
        }
        else if (is.ns5) {


_______________________________________________
Dynapi-CVS mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dynapi-cvs

Reply via email to