From b452564b8320789a580e86ab272327f048654bfc Mon Sep 17 00:00:00 2001 From: GreenRover Date: Mon, 29 Mar 2010 17:39:39 -0400 Subject: [PATCH] Patch #2967320 Colored relations based on primary key --- ChangeLog | 2 ++ pmd/scripts/move.js | 53 +++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6fe706b06..7a1717fad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -55,6 +55,8 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA Browse the table if possible, thanks to bhdouglass - dougboybhd + patch #2975533 [search] New search operators, thanks to Martynas Mickevičius ++ patch #2967320 [designer] Colored relations based on the primary key, + thanks to GreenRover - greenrover 3.3.2.0 (not yet released) - patch #2969449 [core] Name for MERGE engine varies depending on the diff --git a/pmd/scripts/move.js b/pmd/scripts/move.js index df1b97244..35d6239e8 100644 --- a/pmd/scripts/move.js +++ b/pmd/scripts/move.js @@ -291,7 +291,7 @@ function Re_load() + height_field; //alert(y1 + ' - ' + key2 + "." + key3); - Line0(x1 - sm_x, y1 - sm_y, x2 - sm_x, y2 - sm_y, "rgba(0,100,150,1)"); + Line0(x1 - sm_x, y1 - sm_y, x2 - sm_x, y2 - sm_y, getColorByTarget( contr[K][key][key2][key3][0]+'.'+contr[K][key][key2][key3][1] ) ); } } @@ -315,8 +315,8 @@ function Line(x1, y1, x2, y2, color_line) */ function Line0(x1, y1, x2, y2, color_line) { - Circle(x1, y1, 3, 3, "rgba(0,0,255,1)"); - Rect(x2 - 1, y2 - 2, 4, 4, "rgba(0,0,255,1)"); + Circle(x1, y1, 3, 3, color_line); + Rect(x2 - 1, y2 - 2, 4, 4, color_line); if (ON_angular_direct) { Line2(x1, y1, x2, y2, color_line); @@ -717,7 +717,7 @@ function Canvas_click(id) Key2 = key2; Key3 = key3; Key = K; } else { - Line0(x1 - sm_x, y1 - sm_y, x2 - sm_x, y2 - sm_y, "rgba(0,100,150,1)"); + Line0(x1 - sm_x, y1 - sm_y, x2 - sm_x, y2 - sm_y, getColorByTarget( contr[K][key][key2][key3][0]+'.'+contr[K][key][key2][key3][1] )); } } if (selected) { @@ -920,3 +920,48 @@ function Start_display_field() ON_display_field = 0; } } +//------------------------------------------------------------------------------ +var TargetColors = new Array(); +function getColorByTarget( target ) +{ + var color = ''; //"rgba(0,100,150,1)"; + + for (i in TargetColors) + if (TargetColors[i][0]==target) { + color = TargetColors[i][1]; + break; + } + + + if (color.length==0) + { + var i = TargetColors.length+1; + var d = i % 6; + var j = (i - d) / 6; + j = j % 4; + j++; + var color_case = new Array( + new Array(1, 0, 0), + new Array(0, 1, 0), + new Array(0, 0, 1), + new Array(1, 1, 0), + new Array(1, 0, 1), + new Array(0, 1, 1) + ); + var a = color_case[d][0]; + var b = color_case[d][1]; + var c = color_case[d][2]; + e = (1 - (j - 1) / 6); + + var r = Math.round(a * 200 * e); + var g = Math.round(b * 200 * e); + var b = Math.round(c * 200 * e); + var color = "rgba("+r+","+g+","+b+",1)"; + + TargetColors.push( new Array(target, color) ); + + + } + + return color; +}