[ Index ] |
|
Code source de eGroupWare 1.2.106-2 |
1 /* 2 DynAPI Distribution 3 DynLayer Inline Extension 4 5 The DynAPI Distribution is distributed under the terms of the GNU LGPL license. 6 7 requires: dynapi.api.DynLayer 8 */ 9 10 var DynLayerInline = {}; 11 12 DynLayer.getInline = function (id, p) { 13 var elm; 14 var pobj; 15 if (!p) pobj = dynapi.document; 16 else if (p.isClass && p.isClass('DynElement')) pobj = p; 17 18 if (pobj) { 19 if (dynapi.ua.ns4) elm = pobj.doc.layers[id]; 20 else if (dynapi.ua.ie) elm = pobj.doc.all[id]; 21 else if (dynapi.ua.dom) elm = pobj.doc.getElementById(id); 22 } 23 if (!elm) return alert("DynLayerInline Error: did not find element "+id); 24 25 var dlyr = new DynLayer(); 26 dlyr.setID(id); 27 dlyr.parent = pobj; 28 dlyr.elm = elm; 29 if (dynapi.ua.ns4) dlyr.doc = elm.document; 30 DynLayer._importInlineValues(dlyr); 31 DynLayer._assignElement(dlyr,elm); 32 DynElement._flagCreate(dlyr); 33 return dlyr; 34 }; 35 36 DynLayer.prototype._createInline = function (divs) { 37 if (this.parent && !this.elm) { 38 var ch=this.children; 39 DynLayer._assignElement(this,null,divs); 40 DynLayer._importInlineValues(this); 41 for (var i=0;i<ch.length;i++) DynLayer._importInlineValues(ch[i]); 42 DynElement._flagCreate(this); 43 } 44 }; 45 46 DynLayer._importInlineValues = function(dlyr) { 47 if(dlyr && dlyr._noInlineValues) return; 48 if (dynapi.ua.def) { 49 if (dynapi.ua.ie) { 50 var css = dlyr.elm.currentStyle; 51 dlyr.x = parseInt(css.left); 52 dlyr.y = parseInt(css.top); 53 dlyr.w = dynapi.ua.ie4? css.pixelWidth : dlyr.elm.offsetWidth; 54 dlyr.h = dynapi.ua.ie4? css.pixelHeight : dlyr.elm.offsetHeight; 55 dlyr.bgImage = css.backgroundImage; 56 dlyr.bgColor = css.backgroundColor; 57 dlyr.html = dlyr.elm.innerHTML; 58 } 59 else if (dynapi.ua.dom) { 60 var css = dlyr.elm.style; 61 dlyr.x = parseInt(dlyr.elm.offsetLeft); 62 dlyr.y = parseInt(dlyr.elm.offsetTop); 63 dlyr.w= dlyr.elm.offsetWidth; 64 dlyr.h= dlyr.elm.offsetHeight; 65 dlyr.bgImage = css.backgroundImage; 66 dlyr.bgColor = css.backgroundColor; 67 dlyr.html = dlyr.elm.innerHTML; 68 } 69 70 } 71 else if (dynapi.ua.ns4) { 72 var css = dlyr.elm; 73 dlyr.x = parseInt(css.left); 74 dlyr.y = parseInt(css.top); 75 dlyr.w = css.clip.width; 76 dlyr.h = css.clip.height; 77 dlyr.clip = [css.clip.top,css.clip.right,css.clip.bottom,css.clip.left]; 78 dlyr.bgColor = dlyr.doc.bgColor!=''? dlyr.doc.bgColor : null; 79 dlyr.bgImage = css.background.src!=''? css.background.src : null; 80 dlyr.html = ''; 81 } 82 dlyr.z = css.zIndex; 83 var b = css.visibility; 84 dlyr.visible = (b=="inherit" || b=="show" || b=="visible" || b==""); 85 }; 86 87 // Generate Blueprint 88 DynElement.prototype.getBlueprint = function(type) { 89 var i,c,ht,str =[]; 90 var f,ch=this.children; 91 for(i=0;i<ch.length;i++) { 92 c = ch[i]; 93 DynElement._flagPreCreate(c); 94 ht=c.getOuterHTML(); 95 if(!type || type=='css') str[i]=ht; 96 else { 97 ht=ht.replace(/\'/g,'\\\''); 98 ht=ht.replace(/\r/g,'\\r'); 99 ht=ht.replace(/\n/g,'\\n'); 100 str[str.length]='_bw(\''+ht+'\');'; 101 } 102 } 103 if(!type || type=='css') str=str.join(''); 104 else str=str.join('\n'); 105 if(type=='css') { // generate style sheet from blueprints 106 var ar=str.split('<div'); 107 for(i=0;i<ar.length;i++){ 108 ar[i]=ar[i].replace(/(.+)id="(.+)" style="(.+)"(.+)/g,'#$2 {$3}'); 109 } 110 str=ar.join(''); 111 } 112 return str; 113 }; 114 DynElement.prototype.generateBlueprint = function(type) { 115 var url=dynapi.library.path+'ext/blueprint.html'; 116 var win=window.open(url,'blueprint','width=500,height=350,scrollbars=no,status=no,toolbar=no'); 117 var f=win.document.forms['frm']; 118 f.txtout.value=this.getBlueprint(type); 119 }; 120 121 // Blueprint Document write 122 _bw = function(str){ 123 document.write(str); 124 };
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 17:20:01 2007 | par Balluche grâce à PHPXref 0.7 |