PQEdit

 view release on metacpan or  search on metacpan

pqedit.PL  view on Meta::CPAN

    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 )