[ Index ] |
|
Code source de phpMyAdmin 2.10.3 |
1 /* 2 $Id: move.js 10416 2007-05-30 16:55:18Z lem9 $ 3 @author Ivan A Kirillov (Ivan.A.Kirillov@gmail.com) 4 */ 5 var dx, dy, dy2; 6 var cur_click; 7 var sm_x = 2, sm_y = 2; // update in Main() 8 var sm_s = 0; 9 var sm_add = 10; 10 var s_left = 0; 11 var s_right = 0; 12 var ON_relation = 0; 13 var ON_grid = 0; 14 var ON_display_field = 0; 15 var ON_angular_direct = 0;// relation_style: 0 - angular 1 - direct 16 var click_field = 0; 17 var link_relation = ""; 18 var id_hint; 19 var canvas_width = 0; 20 var canvas_height = 0; 21 var osn_tab_width = 0; 22 var osn_tab_height = 0; 23 var height_field = 7; 24 var Glob_X, Glob_Y; 25 var timeoutID; 26 var layer_menu_cur_click = 0; 27 var step = 10; 28 var old_class; 29 30 //--------------------------------------------------------------------------------------------------------------------------- 31 //--------------------------------------------------------------------------------------------------------------------------- 32 //--------------------------------------------------------------------------------------------------------------------------- 33 34 35 //window.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP); 36 //---CROSS 37 document.onmousedown = MouseDown; 38 document.onmouseup = MouseUp; 39 document.onmousemove = MouseMove; 40 41 isIE = document.all && !window.opera; 42 isNN = !document.all && document.getElementById; 43 isN4 = document.layers; 44 45 if (isIE) { 46 window.onscroll = General_scroll; 47 document.onselectstart = function () {return false;}; 48 } 49 50 //document.onmouseup = function(){General_scroll_end();} 51 function MouseDown(e) 52 { 53 if (cur_click != null) 54 { 55 offsetx=isIE ? event.clientX + document.body.scrollLeft : e.pageX; 56 offsety=isIE ? event.clientY + document.body.scrollTop : e.pageY; 57 dx = offsetx - parseInt(cur_click.style.left); 58 dy = offsety - parseInt(cur_click.style.top); 59 //alert(" dx = " + dx + " dy = " +dy); 60 document.getElementById("canvas").style.visibility = 'hidden'; 61 /* 62 var left = parseInt(cur_click.style.left); 63 var top = parseInt(cur_click.style.top); 64 dx = e.pageX - left; 65 dy = e.pageY - top; 66 67 alert(" dx = " + dx + " dy = " +dy);*/ 68 cur_click.style.zIndex = 2; 69 } 70 if(layer_menu_cur_click) 71 { 72 offsetx=isIE ? event.clientX + document.body.scrollLeft: e.pageX; 73 dx = offsetx - parseInt(document.getElementById("layer_menu").style.width); 74 } 75 } 76 77 function MouseMove(e) 78 { 79 80 //Glob_X = e.pageX; 81 //Glob_Y = e.pageY; 82 Glob_X = isIE ? event.clientX + document.body.scrollLeft: e.pageX; 83 Glob_Y = isIE ? event.clientY + document.body.scrollTop: e.pageY; 84 85 // mouseX= (bw.ns4||bw.ns6)? e.pageX: bw.ie&&bw.win&&!bw.ie4? (event.clientX-2)+document.body.scrollLeft : event.clientX+document.body.scrollLeft; 86 //mouseY= (bw.ns4||bw.ns6)? e.pageY: bw.ie&&bw.win&&!bw.ie4? (event.clientY-2)+document.body.scrollTop : event.clientY+document.body.scrollTop; 87 88 //window.status = "X = "+ Glob_X + " Y = "+ Glob_Y; 89 90 var mGx, mGy; 91 if (cur_click != null) 92 { 93 mGx = Glob_X - dx; 94 mGy = Glob_Y - dy; 95 mGx = mGx > 0 ? mGx : 0; 96 mGy = mGy > 0 ? mGy : 0; 97 98 if(ON_grid) 99 { 100 mGx = mGx % step < step / 2 ? mGx - mGx % step : mGx - mGx % step + step; 101 mGy = mGy % step < step / 2 ? mGy - mGy % step : mGy - mGy % step + step; 102 } 103 104 cur_click.style.left = mGx; 105 cur_click.style.top = mGy; 106 } 107 108 if (ON_relation || ON_display_field) 109 { 110 document.getElementById('hint').style.left = Glob_X + 20; 111 document.getElementById('hint').style.top = Glob_Y + 20; 112 } 113 114 if(layer_menu_cur_click) 115 { 116 document.getElementById("layer_menu").style.width = Glob_X - dx>=150?Glob_X - dx:150; 117 //document.getElementById("layer_menu").style.height = Glob_Y - dy>=200?Glob_Y - dy:200; 118 //document.getElementById("id_scroll_tab").style.height = Glob_Y - dy2; 119 } 120 } 121 122 function MouseUp(e) 123 { 124 if (cur_click != null) 125 { 126 document.getElementById("canvas").style.visibility = 'visible'; 127 Re_load(); 128 cur_click.style.zIndex = 1; 129 cur_click = null; 130 } 131 layer_menu_cur_click=0; 132 //window.releaseEvents(Event.MOUSEMOVE); 133 } 134 //--------------------------------------------------------------------------------------------------------------------------- 135 //--------------------------------------------------------------------------------------------------------------------------- 136 //--------------------------------------------------------------------------------------------------------------------------- 137 138 139 //function ToInt(s) 140 //{ 141 // return s.substring(0,s.length-2)*1; //re = /(\d+)\w*/; newstr = str.replace(re, "$1"); 142 //} 143 144 function Canvas_pos() 145 { 146 canvas_width = document.getElementById('canvas').width = osn_tab_width - 3; 147 canvas_height = document.getElementById('canvas').height = osn_tab_height - 3; 148 149 if(isIE) 150 { 151 document.getElementById('canvas').style.width = (osn_tab_width - 3)?(osn_tab_width - 3):0; 152 document.getElementById('canvas').style.height = (osn_tab_height - 3)?(osn_tab_height - 3):0; 153 } 154 } 155 156 function Osn_tab_pos() 157 { 158 osn_tab_width = parseInt(document.getElementById('osn_tab').style.width); 159 osn_tab_height = parseInt(document.getElementById('osn_tab').style.height); 160 } 161 162 163 function Main() 164 { //alert( document.getElementById('osn_tab').offsetTop); 165 //---CROSS 166 if(isIE) 167 { 168 document.getElementById('top_menu').style.position = 'absolute'; 169 document.getElementById('layer_menu').style.position = 'absolute'; 170 } 171 172 document.getElementById("layer_menu").style.top = -1000; //fast scroll 173 sm_x += document.getElementById('osn_tab').offsetLeft; 174 sm_y += document.getElementById('osn_tab').offsetTop; 175 Osn_tab_pos(); 176 Canvas_pos(); 177 Small_tab_refresh(); 178 Re_load(); 179 id_hint = document.getElementById('hint'); 180 if (isIE) { 181 General_scroll(); 182 } 183 } 184 185 186 //---------------------------------------- new ----------------------------------------- 187 function Rezize_osn_tab() 188 { 189 var max_X = max_Y = 0; 190 for (key in j_tabs) 191 { 192 k_x = parseInt(document.getElementById(key).style.left) + document.getElementById(key).offsetWidth; 193 k_y = parseInt(document.getElementById(key).style.top) + document.getElementById(key).offsetHeight; 194 max_X = max_X < k_x ? k_x : max_X; 195 max_Y = max_Y < k_y ? k_y : max_Y; 196 } 197 osn_tab_width = max_X + 50; 198 osn_tab_height = max_Y + 50; 199 Canvas_pos(); 200 document.getElementById('osn_tab').style.width = osn_tab_width; 201 document.getElementById('osn_tab').style.height = osn_tab_height; 202 } 203 //-------------------------------------------------------------------------------------- 204 205 206 function Re_load() 207 { 208 Rezize_osn_tab(); 209 var n; 210 var a = new Array(); 211 Clear(); 212 for (K in contr) 213 for (key in contr[K]) // contr name 214 for (key2 in contr[K][key]) // table name 215 for (key3 in contr[K][key][key2]) // field name 216 { 217 if(!document.getElementById("check_vis_"+key2).checked || 218 !document.getElementById("check_vis_"+contr[K][key][key2][key3][0]).checked) continue; // if hide 219 var x1_left = document.getElementById(key2).offsetLeft+1; 220 var x1_right = x1_left + document.getElementById(key2).offsetWidth; 221 var x2_left = document.getElementById(contr[K][key][key2][key3][0]).offsetLeft; 222 var x2_right = x2_left + document.getElementById(contr[K][key][key2][key3][0]).offsetWidth; 223 a[0] = Math.abs( x1_left - x2_left ); a[1] = Math.abs(x1_left - x2_right); 224 a[2] = Math.abs( x1_right - x2_left ); a[3] = Math.abs(x1_right - x2_right); 225 n = s_left = s_right = 0; 226 for(var i=1;i<4;i++) 227 if(a[n]>a[i])n=i; 228 if(n==1){ x1 = x1_left-sm_s; x2 = x2_right+sm_s; if(x1<x2)n=0;} 229 if(n==2){ x1 = x1_right+sm_s; x2 = x2_left-sm_s; if(x1>x2)n=0;} 230 if(n==3){ x1 = x1_right+sm_s; x2 = x2_right+sm_s; s_right = 1; } 231 if(n==0){ x1 = x1_left-sm_s; x2 = x2_left-sm_s; s_left = 1; } 232 // alert(key2+"."+key3); 233 var y1 = document.getElementById(key2).offsetTop + document.getElementById(key2+"."+key3).offsetTop + height_field; 234 // alert(1); 235 var y2 = document.getElementById(contr[K][key][key2][key3][0]).offsetTop + 236 document.getElementById(contr[K][key][key2][key3][0]+"."+contr[K][key][key2][key3][1]).offsetTop + height_field; 237 Line0(x1-sm_x,y1-sm_y,x2-sm_x,y2-sm_y,"rgba(0,100,150,1)"); 238 239 } 240 } 241 242 function Line(x1,y1,x2,y2,color_line) 243 { 244 var canvas = document.getElementById("canvas"); 245 var ctx = canvas.getContext("2d"); 246 ctx.strokeStyle = color_line; 247 ctx.lineWidth = 1; 248 ctx.beginPath(); 249 ctx.moveTo(x1, y1); 250 ctx.lineTo(x2, y2); 251 ctx.stroke(); 252 } 253 254 function Line0(x1,y1,x2,y2,color_line) 255 { 256 if(ON_angular_direct) 257 Line2(x1,y1,x2,y2,color_line); 258 else 259 Line3(x1,y1,x2,y2,color_line); 260 } 261 262 function Line2(x1,y1,x2,y2,color_line) 263 { 264 var x1_ = x1; 265 var x2_ = x2; 266 267 Circle(x1,y1,3,3,"rgba(0,0,255,1)"); 268 Rect(x2-1,y2-2,4,4,"rgba(0,0,255,1)"); 269 270 if(s_right) 271 { 272 x1_ += sm_add; x2_ += sm_add; 273 } 274 else if(s_left) 275 { 276 x1_ -= sm_add; x2_ -= sm_add; 277 } 278 else 279 if(x1 < x2) { x1_ += sm_add; x2_ -= sm_add; } 280 else { x1_ -= sm_add; x2_ += sm_add; } 281 282 283 Line(x1,y1,x1_,y1,color_line); 284 Line(x2,y2,x2_,y2,color_line); 285 Line(x1_,y1,x2_,y2,color_line); 286 } 287 288 function Line3(x1,y1,x2,y2,color_line) 289 { 290 var x1_ = x1; 291 var x2_ = x2; 292 Circle(x1,y1,3,3,"rgba(0,0,255,1)"); 293 Rect(x2-1,y2-2,4,4,"rgba(0,0,255,1)"); 294 295 var x_s = (x1+x2)/2; 296 if(s_right) 297 { 298 if(x1 < x2) { x1_ += x2 - x1 + sm_add; x2_ += sm_add; } 299 else { x2_ += x1 - x2 + sm_add; x1_ += sm_add; } 300 301 Line(x1,y1,x1_,y1,color_line); 302 Line(x2,y2,x2_,y2,color_line); 303 Line(x1_,y1,x2_,y2,color_line); 304 return 0; 305 } 306 if(s_left) 307 { 308 if(x1 < x2) { x2_ -= x2 - x1 + sm_add; x1_ -= sm_add; } 309 else { x1_ -= x1 - x2 + sm_add; x2_ -= sm_add; } 310 311 Line(x1,y1,x1_,y1,color_line); 312 Line(x2,y2,x2_,y2,color_line); 313 Line(x1_,y1,x2_,y2,color_line); 314 return 0; 315 } 316 317 Line(x1,y1,x_s,y1,color_line); 318 Line(x_s,y2,x2,y2,color_line); 319 Line(x_s,y1,x_s,y2,color_line); 320 } 321 322 function Circle(x,y,r,w,color) 323 { 324 var ctx = document.getElementById('canvas').getContext('2d'); 325 ctx.beginPath(); 326 ctx.moveTo(x, y); 327 ctx.lineWidth = w; 328 ctx.strokeStyle = color; 329 ctx.arc(x, y, r, 0, 2*Math.PI, true); 330 ctx.stroke(); 331 } 332 333 function Clear() 334 { 335 var canvas = document.getElementById("canvas"); 336 var ctx = canvas.getContext("2d"); 337 ctx.clearRect(0, 0, canvas_width, canvas_height); 338 } 339 340 function Rect(x1,y1,w,h,color) 341 { 342 var ctx = document.getElementById('canvas').getContext('2d'); 343 ctx.fillStyle = color; 344 ctx.fillRect(x1,y1,w,h); 345 } 346 347 //---------------------------------------------- SAVE --------------------------------------------------- 348 function Save(url) // (del?) no for pdf 349 { 350 for (key in j_tabs) 351 { 352 document.getElementById('t_x['+key+']').value=parseInt(document.getElementById(key).style.left); 353 document.getElementById('t_y['+key+']').value=parseInt(document.getElementById(key).style.top); 354 document.getElementById('t_v['+key+']').value=document.getElementById('_|_tbody_'+key).style.display=='none'?0:1; 355 document.getElementById('t_h['+key+']').value=document.getElementById('check_vis_'+key).checked?1:0; 356 } 357 document.form1.action = url; 358 document.form1.submit(); 359 } 360 361 function Get_url_pos() 362 { 363 var poststr = ''; 364 for (key in j_tabs) 365 { 366 poststr += '&t_x['+key+']=' + parseInt(document.getElementById(key).style.left); 367 poststr += '&t_y['+key+']=' + parseInt(document.getElementById(key).style.top); 368 poststr += '&t_v['+key+']=' + (document.getElementById('_|_tbody_'+key).style.display == 'none' ? 0 : 1); 369 poststr += '&t_h['+key+']=' + (document.getElementById('check_vis_'+key).checked ? 1 : 0); 370 } 371 return poststr; 372 } 373 374 function Save2() 375 { 376 var poststr = 'IS_AJAX=1&server='+server+'&db='+db+'&token='+token+'&die_save_pos=1'; 377 poststr += Get_url_pos(); 378 makeRequest('pmd_save_pos.php', poststr); 379 } 380 381 function Grid() 382 { 383 if(!ON_grid ) { 384 ON_grid = 1; 385 document.getElementById('grid_button').className = 'M_butt_Selected_down';//'#FFEE99';gray #AAAAAA 386 387 if(isIE) { // correct for IE 388 document.getElementById('grid_button').className = 'M_butt_Selected_down_IE'; 389 } 390 } 391 else { 392 document.getElementById('grid_button').className = 'M_butt'; 393 ON_grid = 0; 394 } 395 } 396 397 function Angular_direct() 398 { 399 if(!ON_angular_direct ) { 400 ON_angular_direct = 1; 401 document.getElementById('angular_direct_button').className = 'M_butt_Selected_down';//'#FFEE99';gray #AAAAAA 402 403 if(isIE) { // correct for IE 404 document.getElementById('angular_direct_button').className = 'M_butt_Selected_down_IE'; 405 } 406 } 407 else { 408 ON_angular_direct = 0; 409 document.getElementById('angular_direct_button').className = 'M_butt'; 410 } 411 Re_load(); 412 } 413 //+++++++++++++++++++++++++++++++++++++++++++++++++++++ RELATION ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 414 function Start_relation() 415 { 416 if(ON_display_field) return; 417 418 if(!ON_relation ) 419 { 420 document.getElementById('InnoDB_relation').style.display = ''; 421 ON_relation = 1; 422 document.getElementById('hint').innerHTML = LangSelectReferencedKey; 423 document.getElementById('hint').style.visibility = "visible"; 424 document.getElementById('rel_button').className = 'M_butt_Selected_down';//'#FFEE99';gray #AAAAAA 425 426 if(isIE) { // correct for IE 427 document.getElementById('rel_button').className = 'M_butt_Selected_down_IE'; 428 } 429 } 430 else 431 { 432 document.getElementById('hint').innerHTML = ""; 433 document.getElementById('hint').style.visibility = "hidden"; 434 document.getElementById('rel_button').className = 'M_butt'; 435 click_field = 0; 436 ON_relation = 0; 437 } 438 } 439 440 function Click_field(T,f,PK) // table field 441 { 442 if (ON_relation) 443 { 444 if(!click_field) 445 {//.style.display=='none' .style.visibility = "hidden" 446 if(!PK) { alert(LangPleaseSelectPrimaryOrUniqueKey); return 0; }//PK 447 if(j_tabs[db+'.'+T]!='INNODB') document.getElementById('InnoDB_relation').style.display='none'; 448 click_field = 1; 449 link_relation = "T1=" + T + "&F1=" + f; 450 document.getElementById('hint').innerHTML = LangSelectForeignKey; 451 } 452 else 453 { 454 Start_relation(); // hidden hint... 455 if(j_tabs[db+'.'+T]!='INNODB' || !PK ) document.getElementById('InnoDB_relation').style.display='none'; 456 document.getElementById('layer_new_relation').style.left = Glob_X - (document.getElementById('layer_new_relation').offsetWidth>>1); 457 document.getElementById('layer_new_relation').style.top = Glob_Y - document.getElementById('layer_new_relation').offsetHeight - 10; 458 document.getElementById('layer_new_relation').style.visibility = "visible"; 459 link_relation += '&T2=' + T + '&F2=' + f; 460 } 461 } 462 463 if(ON_display_field) 464 { 465 if(display_field[T] == f) // if is display field 466 { //alert(T); 467 //s = '';for(k in display_field)s += k + ' = ' + display_field[k] + ',';alert(s); 468 old_class = 'tab_field'; 469 //display_field.splice(T, 1); 470 delete display_field[T]; 471 //s = '';for(k in display_field)s += k + ' = ' + display_field[k] + ', ';alert(s); 472 //n = 0;for(k in display_field)n++;alert(n); 473 } 474 else 475 { 476 old_class = 'tab_field_3'; 477 if(display_field[T]) 478 { 479 document.getElementById('_|_tr_' + T + '.' + display_field[T]).className = 'tab_field'; 480 //display_field.splice(T, 1); 481 delete display_field[T]; 482 } 483 display_field[T] = f; 484 } 485 ON_display_field = 0; 486 document.getElementById('hint').innerHTML = ""; 487 document.getElementById('hint').style.visibility = "hidden"; 488 document.getElementById('display_field_button').className = 'M_butt'; 489 makeRequest('pmd_display_field.php', 'T=' + T + '&F=' + f + '&server=' + server + '&db=' + db + '&token=' + token ); 490 } 491 } 492 493 function New_relation() 494 { 495 document.getElementById('layer_new_relation').style.visibility = 'hidden'; 496 link_relation += '&server=' + server + '&db=' + db + '&token=' + token + '&die_save_pos=0'; 497 link_relation += '&on_delete=' + document.getElementById('on_delete').value + '&on_update=' + document.getElementById('on_update').value; 498 link_relation += Get_url_pos(); 499 500 //alert(link_relation); 501 makeRequest('pmd_relation_new.php', link_relation); 502 } 503 504 //----------------------------------------------------- create tables ----------------------------------------------------- 505 506 function Start_table_new() 507 { 508 window.location.href='db_operations.php?server='+server+'&db='+db+'&token='+token; 509 } 510 511 function Start_tab_upd(table) 512 { 513 window.location.href='tbl_structure.php?server='+server+'&db='+db+'&token='+token+'&table='+table; 514 } 515 //----------------------------------------------------- hide tables ----------------------------------------------------- 516 517 function Small_tab_all(id_this) // max/min all tables 518 { 519 if(isIE) { 520 alert(LangIEnotSupport); 521 return; 522 } 523 if(id_this.alt=="v") 524 { 525 for (key in j_tabs) 526 if(document.getElementById('_|_hide_tbody_'+key).innerHTML=="v") 527 Small_tab(key,0); 528 id_this.alt = ">"; 529 id_this.src="pmd/images/rightarrow1.png"; 530 } 531 else 532 { 533 for (key in j_tabs) 534 if(document.getElementById('_|_hide_tbody_'+key).innerHTML!="v") 535 Small_tab(key,0); 536 id_this.alt = "v"; 537 id_this.src="pmd/images/downarrow1.png"; 538 } 539 Re_load(); 540 } 541 542 function Small_tab_invert() // invert max/min all tables 543 { 544 if(isIE) { 545 alert(LangIEnotSupport); 546 return; 547 } 548 for (key in j_tabs) 549 Small_tab(key,0); 550 Re_load(); 551 } 552 553 function Small_tab_refresh() 554 { 555 for (key in j_tabs) 556 if(document.getElementById('_|_hide_tbody_'+key).innerHTML!="v") 557 { 558 Small_tab(key,0); 559 Small_tab(key,0); 560 } 561 } 562 563 function Small_tab(t,re_load) 564 { 565 var id = document.getElementById('_|_tbody_'+t); 566 var id_this = document.getElementById('_|_hide_tbody_'+t); 567 var id_t = document.getElementById(t); 568 569 id_t.style.width = id_t.offsetWidth; 570 if(id_this.innerHTML=="v") 571 { 572 //---CROSS 573 if(isIE) return; //IE not supported 574 id.style.display = 'none'; 575 id_this.innerHTML = '>'; 576 } 577 else 578 { 579 id.style.display = ''; 580 id_this.innerHTML = 'v'; 581 } 582 if(re_load) Re_load(); 583 } 584 //----------------------------------------------------------------------------------------------------------------- 585 function Select_tab(t) 586 { 587 var id_zag = document.getElementById('_|_zag_'+t); 588 if(id_zag.className != 'tab_zag_3') 589 document.getElementById('_|_zag_'+t).className = 'tab_zag_2'; 590 else 591 document.getElementById('_|_zag_'+t).className = 'tab_zag'; 592 //---------- 593 var id_t = document.getElementById(t); 594 window.scrollTo( parseInt(id_t.style.left)-300, parseInt(id_t.style.top)-300 ); 595 596 setTimeout(function(){document.getElementById('_|_zag_'+t).className = 'tab_zag';},800); 597 } 598 //----------------------------------------------------------------------------------------------------------------- 599 600 function Canvas_click(id) 601 { 602 var n,relation_name,selected = 0; 603 var a = new Array(); 604 var Key0,Key1,Key2,Key3,Key; 605 Clear(); 606 for (K in contr) 607 for (key in contr[K]) 608 for (key2 in contr[K][key]) 609 for (key3 in contr[K][key][key2]) 610 { 611 if(!document.getElementById("check_vis_"+key2).checked || 612 !document.getElementById("check_vis_"+contr[K][key][key2][key3][0]).checked) continue; // if hide 613 var x1_left = document.getElementById(key2).offsetLeft + 1;//document.getElementById(key2+"."+key3).offsetLeft; 614 var x1_right = x1_left + document.getElementById(key2).offsetWidth; 615 var x2_left = document.getElementById(contr[K][key][key2][key3][0]).offsetLeft;//+document.getElementById(contr[K][key2][key3][0]+"."+contr[K][key2][key3][1]).offsetLeft 616 var x2_right = x2_left + document.getElementById(contr[K][key][key2][key3][0]).offsetWidth; 617 a[0] = Math.abs( x1_left - x2_left ); a[1] = Math.abs(x1_left - x2_right); 618 a[2] = Math.abs( x1_right - x2_left ); a[3] = Math.abs(x1_right - x2_right); 619 n = s_left = s_right = 0; 620 for(var i=1;i<4;i++) 621 if(a[n]>a[i])n=i; 622 if(n==1){ x1 = x1_left-sm_s; x2 = x2_right+sm_s; if(x1<x2)n=0;} 623 if(n==2){ x1 = x1_right+sm_s; x2 = x2_left-sm_s; if(x1>x2)n=0;} 624 if(n==3){ x1 = x1_right+sm_s; x2 = x2_right+sm_s; s_right = 1; } 625 if(n==0){ x1 = x1_left-sm_s; x2 = x2_left-sm_s; s_left = 1; } 626 627 var y1 = document.getElementById(key2).offsetTop + document.getElementById(key2+"."+key3).offsetTop + height_field; 628 var y2 = document.getElementById(contr[K][key][key2][key3][0]).offsetTop + 629 document.getElementById(contr[K][key][key2][key3][0]+"."+contr[K][key][key2][key3][1]).offsetTop + height_field; 630 if( !selected && Glob_X > x1-10 && Glob_X < x1+10 && Glob_Y > y1-7 && Glob_Y < y1+7) 631 { 632 Line0(x1-sm_x,y1-sm_y,x2-sm_x,y2-sm_y,"rgba(255,0,0,1)"); 633 selected = 1; // Rect(x1-sm_x,y1-sm_y,10,10,"rgba(0,255,0,1)"); 634 relation_name = key; // 635 Key0=contr[K][key][key2][key3][0]; Key1=contr[K][key][key2][key3][1]; 636 Key2 = key2; Key3 = key3; 637 Key = K; 638 } 639 else 640 Line0(x1-sm_x,y1-sm_y,x2-sm_x,y2-sm_y,"rgba(0,100,150,1)"); 641 } 642 if( selected ) // select relations 643 { //alert(Key0+' - '+Key1+' - '+Key2+' - '+Key3); 644 document.getElementById('layer_upd_relation').style.left = Glob_X - (document.getElementById('layer_upd_relation').offsetWidth>>1); 645 document.getElementById('layer_upd_relation').style.top = Glob_Y - document.getElementById('layer_upd_relation').offsetHeight-10; 646 document.getElementById('layer_upd_relation').style.visibility = 'visible'; 647 link_relation = 'T1='+Key0+'&F1='+Key1+'&T2='+Key2+'&F2='+Key3+'&K='+Key; 648 } 649 } 650 651 function Upd_relation() 652 { 653 document.getElementById('layer_upd_relation').style.visibility = 'hidden'; 654 link_relation += '&server=' + server + '&db=' + db + '&token=' + token + '&die_save_pos=0'; 655 link_relation += Get_url_pos(); 656 makeRequest('pmd_relation_upd.php', link_relation); 657 } 658 659 function VisibleTab(id,t_n) 660 { 661 if(id.checked)document.getElementById(t_n).style.visibility = 'visible'; 662 else document.getElementById(t_n).style.visibility = 'hidden'; 663 Re_load(); 664 } 665 666 function Hide_tab_all(id_this) // max/min all tables 667 { 668 if(id_this.alt == 'v') { id_this.alt='>';id_this.src="pmd/images/rightarrow1.png"; } 669 else { id_this.alt='v';id_this.src="pmd/images/downarrow1.png"; } 670 var E = document.form1; 671 for (i=0;i<E.elements.length;i++) 672 if(E.elements[i].type=="checkbox" && E.elements[i].id.substring( 0 , 10) == 'check_vis_') 673 { 674 if(id_this.alt == 'v') { E.elements[i].checked = true; document.getElementById(E.elements[i].value).style.visibility = 'visible';} 675 else { E.elements[i].checked = false; document.getElementById(E.elements[i].value).style.visibility = 'hidden';} 676 } 677 Re_load(); 678 } 679 680 function in_array_k(x,m) 681 { 682 var b=0; 683 for (u in m) 684 if(x == u){ b=1; break; } 685 return b; 686 } 687 688 function No_have_constr(id_this) 689 { 690 var a = new Array(); 691 for (K in contr) 692 for (key in contr[K]) // contr name 693 for (key2 in contr[K][key]) // table name 694 for (key3 in contr[K][key][key2]) // field name 695 a[key2]=a[contr[K][key][key2][key3][0]]=1; // exist constr 696 697 698 699 if(id_this.alt == 'v') { id_this.alt='>';id_this.src="pmd/images/rightarrow2.png"; } 700 else { id_this.alt='v';id_this.src="pmd/images/downarrow2.png"; } 701 var E = document.form1; 702 for (i=0;i<E.elements.length;i++) 703 if(E.elements[i].type=="checkbox" && E.elements[i].id.substring(0, 10) == 'check_vis_') 704 { 705 if(!in_array_k(E.elements[i].value,a)) 706 if(id_this.alt == 'v') 707 { E.elements[i].checked = true; document.getElementById(E.elements[i].value).style.visibility = 'visible';} 708 else { E.elements[i].checked = false; document.getElementById(E.elements[i].value).style.visibility = 'hidden';} 709 } 710 } 711 712 function Help() 713 { 714 var WinHelp = 715 window.open("pmd_help.php","wind1", "top=200,left=400,width=300,height=200,resizable=yes,scrollbars=yes,menubar=no"); 716 } 717 718 function PDF_save() 719 { 720 // var WinPDF = 721 // window.open("pmd_pdf.php?token="+token+"&db="+db,"wind1", "top=200,left=200,width=200,height=100,resizable=yes,scrollbars=yes,menubar=no"); 722 Save('pmd_pdf.php?server=' + server + '&token=' + token + '&db=' + db); 723 } 724 725 726 function General_scroll() 727 { 728 /* 729 if(!document.getElementById('show_relation_olways').checked) 730 { 731 document.getElementById("canvas").style.visibility = 'hidden'; 732 clearTimeout(timeoutID); 733 timeoutID = setTimeout(General_scroll_end,500); 734 }*/ 735 //if(timeoutID) 736 clearTimeout(timeoutID); 737 timeoutID = setTimeout 738 ( 739 function() 740 { 741 document.getElementById('top_menu').style.left = document.body.scrollLeft; 742 document.getElementById('top_menu').style.top = document.body.scrollTop; 743 document.getElementById('layer_menu').style.left = document.body.scrollLeft; 744 document.getElementById('layer_menu').style.top = document.body.scrollTop + document.getElementById('top_menu').offsetHeight; 745 } 746 ,200 747 ); 748 } 749 750 /* 751 function General_scroll_end() 752 { 753 // document.getElementById('layer_menu').style.left = document.body.scrollLeft; 754 // document.getElementById('layer_menu').style.top = document.body.scrollTop + document.getElementById('top_menu').offsetHeight; 755 //if(isIE) 756 //{ 757 // document.getElementById('layer_menu').style.left = document.body.scrollLeft; 758 // document.getElementById('layer_menu').style.top = document.body.scrollTop + document.getElementById('top_menu').offsetHeight; 759 //} 760 document.getElementById("canvas").style.visibility = 'visible'; 761 } 762 */ 763 764 function Show_left_menu(id_this) // max/min all tables 765 { 766 if(id_this.alt=="v") 767 { 768 document.getElementById("layer_menu").style.top = document.getElementById('top_menu').offsetHeight; 769 document.getElementById("layer_menu").style.visibility = 'visible'; 770 id_this.alt = ">"; 771 id_this.src="pmd/images/uparrow2_m.png"; 772 if(isIE) General_scroll(); 773 } 774 else 775 { 776 document.getElementById("layer_menu").style.top = -1000; //fast scroll 777 document.getElementById("layer_menu").style.visibility = 'hidden'; 778 id_this.alt = "v"; 779 id_this.src="pmd/images/downarrow2_m.png"; 780 } 781 } 782 //---------------------------------------------------------------------------------------- 783 function Top_menu_right(id_this) 784 { 785 if(id_this.alt==">") 786 { 787 document.getElementById('top_menu').style.marginLeft = document.getElementById('top_menu').offsetWidth; // = 350 788 id_this.alt = "<"; 789 id_this.src="pmd/images/2leftarrow_m.png"; 790 } 791 else 792 { 793 document.getElementById('top_menu').style.marginLeft = 0; 794 id_this.alt = ">"; 795 id_this.src="pmd/images/2rightarrow_m.png"; 796 } 797 } 798 //---------------------------------------------------------------------------------------- 799 function Start_display_field() 800 { 801 if( ON_relation ) return; 802 if( !ON_display_field ) 803 { 804 ON_display_field = 1; 805 document.getElementById('hint').innerHTML = LangChangeDisplay; 806 document.getElementById('hint').style.visibility = "visible"; 807 document.getElementById('display_field_button').className = 'M_butt_Selected_down';//'#FFEE99';gray #AAAAAA 808 809 if(isIE) { // correct for IE 810 document.getElementById('display_field_button').className = 'M_butt_Selected_down_IE'; 811 } 812 } 813 else 814 { 815 document.getElementById('hint').innerHTML = ""; 816 document.getElementById('hint').style.visibility = "hidden"; 817 document.getElementById('display_field_button').className = 'M_butt'; 818 ON_display_field = 0; 819 } 820 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 15:18:20 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |