233
by mattgiuca
Added a shaky implementation of EditArea as the text editor. |
1 |
|
2 |
EditAreaLoader.prototype.start_resize_area= function(){ |
|
3 |
document.onmouseup= editAreaLoader.end_resize_area; |
|
4 |
document.onmousemove= editAreaLoader.resize_area; |
|
5 |
editAreaLoader.toggle(editAreaLoader.resize["id"]); |
|
6 |
||
7 |
var textarea= editAreas[editAreaLoader.resize["id"]]["textarea"]; |
|
8 |
var div= document.getElementById("edit_area_resize"); |
|
9 |
if(!div){ |
|
10 |
div= document.createElement("div"); |
|
11 |
div.id="edit_area_resize"; |
|
12 |
div.style.border="dashed #888888 1px"; |
|
13 |
}
|
|
14 |
var width= textarea.offsetWidth -2; |
|
15 |
var height= textarea.offsetHeight -2; |
|
16 |
/*if(this.nav['isGecko']){
|
|
17 |
width-=2;
|
|
18 |
height-=2;
|
|
19 |
}*/
|
|
20 |
||
21 |
div.style.display="block"; |
|
22 |
div.style.width= width+"px"; |
|
23 |
div.style.height= height+"px"; |
|
24 |
var father= textarea.parentNode; |
|
25 |
father.insertBefore(div, textarea); |
|
26 |
||
27 |
textarea.style.display="none"; |
|
28 |
||
29 |
editAreaLoader.resize["start_top"]= calculeOffsetTop(div); |
|
30 |
editAreaLoader.resize["start_left"]= calculeOffsetLeft(div); |
|
31 |
||
32 |
||
33 |
/*var next= textarea.nextSibling;
|
|
34 |
if(next==null)
|
|
35 |
father.appendChild(div);
|
|
36 |
else
|
|
37 |
father.insertBefore(div, next);*/
|
|
38 |
||
39 |
};
|
|
40 |
||
41 |
EditAreaLoader.prototype.end_resize_area= function(e){ |
|
42 |
document.onmouseup=""; |
|
43 |
document.onmousemove=""; |
|
44 |
||
45 |
var div= document.getElementById("edit_area_resize"); |
|
46 |
var textarea= editAreas[editAreaLoader.resize["id"]]["textarea"]; |
|
47 |
var width= Math.max(editAreas[editAreaLoader.resize["id"]]["settings"]["min_width"], div.offsetWidth-4); |
|
48 |
var height= Math.max(editAreas[editAreaLoader.resize["id"]]["settings"]["min_height"], div.offsetHeight-4); |
|
49 |
if(editAreaLoader.nav['isIE']==6){ |
|
50 |
width-=2; |
|
51 |
height-=2; |
|
52 |
}
|
|
53 |
textarea.style.width= width+"px"; |
|
54 |
textarea.style.height= height+"px"; |
|
55 |
div.style.display="none"; |
|
56 |
textarea.style.display="inline"; |
|
57 |
textarea.selectionStart= editAreaLoader.resize["selectionStart"]; |
|
58 |
textarea.selectionEnd= editAreaLoader.resize["selectionEnd"]; |
|
59 |
editAreaLoader.toggle(editAreaLoader.resize["id"]); |
|
60 |
||
61 |
return false; |
|
62 |
};
|
|
63 |
||
64 |
EditAreaLoader.prototype.resize_area= function(e){ |
|
65 |
var allow= editAreas[editAreaLoader.resize["id"]]["settings"]["allow_resize"]; |
|
66 |
if(allow=="both" || allow=="y") |
|
67 |
{
|
|
68 |
new_y= getMouseY(e); |
|
69 |
var new_height= Math.max(20, new_y- editAreaLoader.resize["start_top"]); |
|
70 |
document.getElementById("edit_area_resize").style.height= new_height+"px"; |
|
71 |
}
|
|
72 |
if(allow=="both" || allow=="x") |
|
73 |
{
|
|
74 |
new_x= getMouseX(e); |
|
75 |
var new_width= Math.max(20, new_x- editAreaLoader.resize["start_left"]); |
|
76 |
document.getElementById("edit_area_resize").style.width= new_width+"px"; |
|
77 |
}
|
|
78 |
//window.status="resize n_w: "+new_width+" new_h: "+new_height+ " new_y: "+new_y+" s_top: "+editAreaLoader.resize["start_top"];
|
|
79 |
return false; |
|
80 |
};
|
|
81 |
||
82 |
/* EditAreaLoader.prototype.full_screen= function(id, mode){
|
|
83 |
if(mode=="on") {
|
|
84 |
//document.getElementById("frame_"+id).parentNode= document;
|
|
85 |
document.body.appendChild(document.getElementById("frame_"+id));
|
|
86 |
document.getElementById("frame_"+id).style.position= "absolute";
|
|
87 |
document.getElementById("frame_"+id).style.top="0px";
|
|
88 |
document.getElementById("frame_"+id).style.left="0px";
|
|
89 |
document.getElementById("frame_"+id).style.width= "100%";
|
|
90 |
document.getElementById("frame_"+id).style.height= "100%";
|
|
91 |
}else{
|
|
92 |
|
|
93 |
}
|
|
94 |
}; */
|
|
95 |
||
96 |
editAreaLoader.waiting_loading["resize_area.js"]= "loaded"; |