[interchange-cvs] interchange - heins modified dist/lib/UI/pages/admin/dbconfig.html
interchange-core@interchange.redhat.com
interchange-core@interchange.redhat.com
Sat Jan 26 12:54:00 2002
User: heins
Date: 2002-01-26 17:53:51 GMT
Modified: dist/lib/UI/pages/admin dbconfig.html
Log:
* Another intermediate commit stage for this too-long-running project.
Features Dynamic HTML to unclutter screen by only making field
widgets visible when field name is clicked.
Revision Changes Path
2.2 +82 -12 interchange/dist/lib/UI/pages/admin/dbconfig.html
rev 2.2, prev_rev 2.1
Index: dbconfig.html
===================================================================
RCS file: /anon_cvs/repository/interchange/dist/lib/UI/pages/admin/dbconfig.html,v
retrieving revision 2.1
retrieving revision 2.2
diff -u -r2.1 -r2.2
--- dbconfig.html 27 Nov 2001 17:01:24 -0000 2.1
+++ dbconfig.html 26 Jan 2002 17:53:51 -0000 2.2
@@ -109,6 +109,7 @@
%Adv_set_sql = (
CHOPBLANKS => "1=Strip trailing white space from fixed-length text, 0=Don't strip (warning: dangerous)",
+ HAS_DESCRIBE => "0=No DESCRIBE TABLE available, 1=has DESCRIBE TABLE",
HAS_LIMIT => "0=No LIMIT available, 1=has LIMIT to limit rows",
AUTOCOMMIT => "=Honor default AutoCommit setting, 0=No AutoCommit, 1=Set AutoCommit",
PRINTERROR => "=Honor default PrintError setting, 0=No PrintError, 1=Set PrintError",
@@ -260,6 +261,7 @@
my $new;
my $ref;
my $tname = $CGI->{mv_data_table};
+ my $db = $Db{$tname};
$ref = $Config->{Database}{$tname};
@@ -309,7 +311,7 @@
if(/,/) {
my @ones = split /\s*,\s*/, $_;
for ( @ones ) {
- $multi_index->{$_};
+ $multi_index->{$_} = 1;
}
}
elsif ($uniq) {
@@ -512,8 +514,6 @@
EOF
}
-ROWINFO: {
-
my $fdbh;
if($current_sql) {
$fdbh = $Sql{$tname};
@@ -522,6 +522,8 @@
$fdbh = $Sql{$base_sql};
}
+ROWINFO: {
+
last ROWINFO unless $fdbh and $fdbh->can('type_info_all');
my $type_info = $fdbh->type_info_all();
@@ -560,11 +562,62 @@
}
undef $fdbh;
-
+ my @rows;
push @out, <<EOF;
<tr>
- <th valign=top align=left>Field configuration</th>
- <td><table>
+ <td valign=top align=left><b>Field configuration</b><br><br>
+<script language=JavaScript>
+function visible (index) {
+ var vis = new Array;
+ var xi;
+ var dosel;
+ var selnam = 'dynform' + index;
+
+ for( xi = 0; ; xi++) {
+ nam = 'dynform' + xi;
+ var el = document.getElementById(nam);
+ if(el == undefined) break;
+
+ el.style.visibility = 'Hidden';
+
+ }
+ var element = document.getElementById(selnam);
+ element.style.visibility = 'Visible';
+ return;
+}
+</script>
+EOF
+ for(my $i = 0; $i < @names; $i++) {
+ my $name = $names[$i];
+ push @out, qq{<A HREF="javascript:void(0)" onClick="visible($i)">$name</a><br>};
+ }
+
+ push @out, <<EOF;
+ </td>
+ <td>
+<div
+ style="
+ Position:Relative;
+ Left:0; Top:0; Height:100%; Width:100%;
+ Visibility:Visible;
+ z-index:0;
+ ">
+<div
+ style="
+ Position:Absolute;
+ Left:0; Top:0; Height:100%; Width:100%;
+ Visibility:Visible;
+ z-index:0;
+ background-color: #999999
+ "> </div>
+<div
+ style="
+ Position:Absolute;
+ Left:2; Top:2; Height:98%; Width:98%;
+ Visibility:Visible;
+ z-index:0;
+ background-color: #EEEEEE
+ "> </div>
EOF
for(my $i = 0; $i <= scalar @names; $i++) {
@@ -599,9 +652,10 @@
$def =~ /\bNOT\s+NULL\b/i and $notnull = 'SELECTED';
($def =~ /\bdefault\s+'(.*?)'/i and $fdefault = $1)
or
- ($def =~ /\bdefault\s+(\S+)($|\s)/i and $fdefault = $1);
+ ($def =~ /\bdefault\s+(\S+)($|\s)/i and $fdefault = $1);
}
+ my $vis = $i ? 'Hidden' : 'Visible';
$wid = $Tag->widget( {
type => 'select',
passed => $wid_opts,
@@ -609,10 +663,19 @@
name => 'mv_dbconf_COLUMN_DEF_type',
} );
push @out, <<EOF;
+<div
+ id=dynform$i
+ style="
+ Position:Absolute;
+ Left:2; Top:2; Width:98%; Height: 98%;
+ Visibility: $vis
+ z-index:2;
+ ">
+ <table>
<tr>
- <th valign=top align=left>$rname</th>
<td>
- <table border=1>
+ <span style="font-size: larger; font-weight: bold">$rname</span><br>
+ <table border=1 style="border-type: thin" width="98%">
<tr>
<td><small><b>type</td>
<td><small><b>length</td>
@@ -647,13 +710,18 @@
</table>
</td>
</tr>
+ </table>
+</div>
EOF
-
}
push @out, <<EOF;
- </table></td>
+ </div>
+ <script>
+ visible(0);
+ </script>
+ </td>
</tr>
EOF
@@ -690,6 +758,8 @@
</tr>
EOF
+ my $create_sql = $ref->{CREATE_SQL} || $db->create_sql();
+Debug("create_sql=$create_sql");
if($current_sql or ($new and $base_sql) ) {
my @post;
if ($ref->{POSTCREATE}) {
@@ -721,7 +791,7 @@
push @out, <<EOF;
<tr>
<th valign=top align=left>Custom table creation SQL</th>
- <td><TEXTAREA NAME="mv_dbconf_CREATE_SQL" ROWS=12 COLS=50>$ref->{CREATE_SQL}</TEXTAREA></td>
+ <td><TEXTAREA NAME="mv_dbconf_CREATE_SQL" ROWS=12 COLS=50>$create_sql</TEXTAREA></td>
</tr>
EOF
}