PQEdit
view release on metacpan or search on metacpan
my(@keys);
my($lookup_button);
my($textarea_rows);
my($search_click);
my($display_text);
my($break);
if (defined($query->param("pq_$field")) &&
!defined($query->param("retrieve"))) {
$query->param("pq_$field",$default);
}
if ($schema->Field_Type($table,$field) =~ /bit/) {
$lookup_hash = { 0 => 'False', 1 => 'True' };
}
if ($search) {
$search_click = $query->checkbox(-name => "pqsearch_$field",
-checked => 'checked',
-value => 'ON',
-label => '');
}
if ($nondisplay->{$field}) {
# The field shouldn't be processed--
# it doesn't matter for an insert, update or delete
# $output .= $query->hidden("pq_$field", $default);
} elsif ($readonly->{$field}) {
$display_length = $schema->Field_Width($table,$field);
$output .= "<TR>$td_label";
if ($display_length > $cgi_param->{'web_textarea_columns'}) {
$display_text = $default;
$break = $cgi_param->{'web_textarea_columns'};
$display_text =~ s/(.{$break})/$1<BR>/g;
$output .= "<TD>".
$search_click .
"<B>$display_text</B>" .
$query->hidden("pq_$field", $default) .
"</TD></TR>\n";
} else {
$output .= "<TD>".
$search_click .
"<B>$default</B>" .
$query->hidden("pq_$field", $default) .
"</TD></TR>\n";
}
} elsif (defined(%{$lookup_hash})) {
@keys = (sort (keys %{$lookup_hash}));
$output .= "<TR>$td_label";
if (defined($lookup_table) && $lookup_table ne '') {
if ($query->param('single_window') eq 'ON') {
$lookup_button = "</TD><TD ALIGN=\"RIGHT\">" .
$query->submit(-name => 'edit_lookup',
-value => "Edit Table: $lookup_table");
} else {
$lookup_button = "</TD><TD ALIGN=\"RIGHT\">" .
$query->submit(-name => 'edit_lookup',
-onClick => "this.form.target='pqedit$lookup_table'",
-value => "Edit Table: $lookup_table");
}
}
$output .= "<TD>".
$search_click .
$query->popup_menu(-name => "pq_$field",
-values => \@keys,
-default => $default,
-labels => $lookup_hash) .
"$lookup_button</TD></TR>\n";
undef $lookup_button;
} else {
$display_length = $schema->Field_Width($table,$field);
$output .= "<TR>$td_label";
if ($display_length > $cgi_param->{'web_textarea_columns'}) {
$textarea_rows = (int $display_length /
$cgi_param->{'web_textarea_columns'}
< $cgi_param->{'web_textarea_rows'}) ?
int $display_length / $cgi_param->{'web_textarea_columns'}
: $cgi_param->{'web_textarea_rows'};
$output .= "<TD>".
$search_click .
$query->textarea(-name => "pq_$field",
-default => $default,
-rows => $textarea_rows,
-columns => $cgi_param->{'web_textarea_columns'},
-size => $display_length,
-maxlength => $display_length,
-LANGUAGE => "JavaScript",
-OnFocus => 'PQEdit.pq_'.$field.'.select()') .
"</TD></TR>\n";
} else {
$output .= "<TD>".
$search_click .
$query->textfield(-name => "pq_$field",
-default => $default,
-size => $display_length+1,
-maxlength => $display_length,
-LANGUAGE => "JavaScript",
-OnFocus => 'PQEdit.pq_'.$field.'.select()') .
"</TD></TR>\n";
}
}
return $output;
}
#
# qbe_fields($schema,$table)
#
sub qbe_fields {
my($schema) = shift;
my($table) = shift;
my($lqbef);
my($n);
my(%qbef);
my(%nqbef);
map {
$lqbef = ' ';
$n = 0;
map {
s/^\s//g;
s/\s$//g;
if (!defined($qbef{$_}) || $nqbef{$_} > $n) {
$qbef{$_} = "$lqbef\t$n";
( run in 0.990 second using v1.01-cache-2.11-cpan-364913b4093 )