Fix hover help for matrix
This commit is contained in:
parent
183242a6ce
commit
3f5ca61c12
11 changed files with 318 additions and 61 deletions
|
|
@ -326,10 +326,6 @@ sub www_compare {
|
|||
if ($first) {
|
||||
$desc = $row[1];
|
||||
shift(@row);
|
||||
$desc =~ s/\n//g;
|
||||
$desc =~ s/\r//g;
|
||||
$desc =~ s/'/\\\'/g;
|
||||
$desc =~ s/"/\"/g;
|
||||
$first = 0;
|
||||
}
|
||||
my $class = lc($value);
|
||||
|
|
@ -972,10 +968,6 @@ sub www_search {
|
|||
my $sth = $self->session->db->read("select name, fieldType, label, description from Matrix_field where category = ".$self->session->db->quote($category)." order by label");
|
||||
my @loop;
|
||||
while (my $data = $sth->hashRef) {
|
||||
$data->{description} =~ s/\n//g;
|
||||
$data->{description} =~ s/\r//g;
|
||||
$data->{description} =~ s/'/\\\'/g;
|
||||
$data->{description} =~ s/"/\"/g;
|
||||
if ($data->{fieldType} ne "goodBad") {
|
||||
$data->{form} = WebGUI::Form::text($self->session,{
|
||||
name=>$data->{name},
|
||||
|
|
@ -1217,11 +1209,7 @@ sub www_viewDetail {
|
|||
my $sth = $self->session->db->read("select a.value, b.name, b.label, b.description, category from Matrix_listingData a left join
|
||||
Matrix_field b on a.fieldId=b.fieldId and b.assetId=? where listingId=? order by b.label",[$self->getId, $listingId]);
|
||||
while (my $data = $sth->hashRef) {
|
||||
$data->{description} =~ s/\n//g;
|
||||
$data->{description} =~ s/\r//g;
|
||||
$data->{description} =~ s/'/\\\'/g;
|
||||
$data->{description} =~ s/"/\"/g;
|
||||
$data->{class} = lc($data->{value});
|
||||
$data->{class} = lc($data->{value});
|
||||
$data->{class} =~ s/\s/_/g;
|
||||
$data->{class} =~ s/\W//g;
|
||||
my $cat = $self->session->url->urlize($data->{category})."_loop";
|
||||
|
|
|
|||
|
|
@ -1055,14 +1055,14 @@ sub www_editProject {
|
|||
|
||||
my $hpdLabel = $i18n->get('hours per day label');
|
||||
my $hpdHoverHelp = $i18n->get('hours per day hoverhelp');
|
||||
$hpdHoverHelp =~ s/'/\\'/g;
|
||||
my $hpdValue = $form->get("hoursPerDay") || $project->{hoursPerDay} || "8.0";
|
||||
my $hpdStyle = ($dunitValue eq "days"?"display:none":"");
|
||||
|
||||
my $html = qq|
|
||||
<tr id="hoursper" style="$hpdStyle">
|
||||
<td class="formDescription" onmouseover="return escape('$hpdHoverHelp')" valign="top" style="width: 180px;">
|
||||
<label for="hoursPerDay_formId">$hpdLabel</label>
|
||||
<td class="formDescription" valign="top" style="width: 180px;">
|
||||
<div class="wg-hoverhelp">$hpdHoverHelp</div>
|
||||
<label for="hoursPerDay_formId">$hpdLabel</label>
|
||||
</td>
|
||||
<td valign="top" class="tableData" style="width: *;">
|
||||
<input id="hoursPerDay_formId" type="text" name="hoursPerDay" value="$hpdValue" size="11" maxlength="14" />
|
||||
|
|
|
|||
|
|
@ -257,9 +257,9 @@ sub displayFormWithWrapper {
|
|||
my $self = shift;
|
||||
if ($self->passUiLevelCheck) {
|
||||
my ($fieldClass, $rowClass, $labelClass, $hoverHelp, $subtext) = $self->prepareWrapper;
|
||||
my $hoverCode = $self->getHoverCode($hoverHelp, $self->get('id') . '_wrapper');
|
||||
$hoverHelp &&= '<div class="wg-hoverhelp">' . $hoverHelp . '</div>';
|
||||
return '<tr'.$rowClass.'>
|
||||
<td'.$labelClass.' valign="top" style="width: 25%;">'.$self->get("label") . $hoverCode . '</td>
|
||||
<td'.$labelClass.' valign="top" style="width: 25%;">'.$self->get("label") . $hoverHelp . '</td>
|
||||
<td valign="top"'.$fieldClass.' style="width: 75%;">'.$self->displayForm().$subtext."</td>
|
||||
</tr>\n";
|
||||
} else {
|
||||
|
|
@ -542,8 +542,9 @@ sub prepareWrapper {
|
|||
$labelClass = qq| class="$labelClass" | if($self->get("labelClass"));
|
||||
my $fieldClass = $self->get("fieldClass");
|
||||
$fieldClass = qq| class="$fieldClass" | if($self->get("fieldClass"));
|
||||
my $hoverHelp = $self->get("hoverHelp");
|
||||
my $subtext = $self->get("subtext");
|
||||
my $hoverHelp = $self->get("hoverHelp") || '';
|
||||
$hoverHelp =~ s/^\s+//;
|
||||
my $subtext = $self->get("subtext");
|
||||
$subtext = qq| <span class="formSubtext">$subtext</span>| if ($subtext);
|
||||
return ($fieldClass, $rowClass, $labelClass, $hoverHelp, $subtext);
|
||||
}
|
||||
|
|
@ -625,9 +626,9 @@ sub toHtmlWithWrapper {
|
|||
if ($self->passUiLevelCheck) {
|
||||
my $rawField = $self->toHtml(); # has to be called before prepareWrapper for some controls, namely captcha.
|
||||
my ($fieldClass, $rowClass, $labelClass, $hoverHelp, $subtext) = $self->prepareWrapper;
|
||||
my $hoverCode = $self->getHoverCode($hoverHelp, $self->get('id') . '_description');
|
||||
$hoverHelp &&= '<div class="wg-hoverhelp">' . $hoverHelp . '</div>';
|
||||
return '<tr'.$rowClass.' id="'.$self->get("id").'_row">
|
||||
<td'.$labelClass.' id="' . $self->get('id') . '_description" valign="top" style="width: 180px;"><label for="'.$self->get("id").'">'.$self->get("label").'</label>' . $hoverCode . '</td>
|
||||
<td'.$labelClass.' valign="top" style="width: 180px;"><label for="'.$self->get("id").'">'.$self->get("label").'</label>' . $hoverHelp . '</td>
|
||||
<td valign="top"'.$fieldClass.'>'.$rawField . $subtext . "</td>
|
||||
</tr>\n";
|
||||
} else {
|
||||
|
|
@ -637,42 +638,6 @@ sub toHtmlWithWrapper {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getHoverCode ( hoverHelp, attachId )
|
||||
|
||||
Generated the code to add hover help to html elements.
|
||||
|
||||
=head3 hoverHelp
|
||||
|
||||
The text in include in the hover help.
|
||||
|
||||
=head3 attachId
|
||||
|
||||
The id of the HTML element to attach the hover help to.
|
||||
|
||||
=cut
|
||||
|
||||
sub getHoverCode {
|
||||
my $self = shift;
|
||||
my $style = $self->session->style;
|
||||
my $url = $self->session->url;
|
||||
my $hoverHelp = shift;
|
||||
my $attachId = shift;
|
||||
$hoverHelp =~ s/^\s+//;
|
||||
return ''
|
||||
unless $hoverHelp;
|
||||
my $hover = '<div class="wg-hoverhelp">' . $hoverHelp . '</div>';
|
||||
$style->setLink($url->extras('/yui/build/container/assets/container.css'),{ type=>'text/css', rel=>"stylesheet" });
|
||||
$style->setLink($url->extras('/hoverhelp.css'),{ type=>'text/css', rel=>"stylesheet" });
|
||||
$style->setScript($url->extras('/yui/build/yahoo/yahoo-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/dom/dom-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/event/event-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/container/container-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/hoverhelp.js'),{ type=>'text/javascript' });
|
||||
return $hover;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 passUiLevelCheck ( )
|
||||
|
||||
Renders the form field to HTML as a table row complete with labels, subtext, hoverhelp, etc.
|
||||
|
|
|
|||
|
|
@ -215,6 +215,15 @@ Returns the HTML for this form object.
|
|||
|
||||
sub print {
|
||||
my $self = shift;
|
||||
my $style = $self->session->style;
|
||||
my $url = $self->session->url;
|
||||
$style->setLink($url->extras('/yui/build/container/assets/container.css'),{ type=>'text/css', rel=>"stylesheet" });
|
||||
$style->setLink($url->extras('/hoverhelp.css'),{ type=>'text/css', rel=>"stylesheet" });
|
||||
$style->setScript($url->extras('/yui/build/yahoo/yahoo-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/dom/dom-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/event/event-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/container/container-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/hoverhelp.js'),{ type=>'text/javascript' });
|
||||
return $self->{_header}.$self->{_data}.$self->{_footer};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -226,8 +226,17 @@ Returns an HTML string with all the necessary components to draw the tab form.
|
|||
|
||||
sub print {
|
||||
my $self = shift;
|
||||
$self->session->style->setScript($self->session->url->extras('tabs/tabs.js'),{type=>"text/javascript"});
|
||||
$self->session->style->setLink($self->{_css},{rel=>"stylesheet", rev=>"stylesheet",type=>"text/css"});
|
||||
my $style = $self->session->style;
|
||||
my $url = $self->session->url;
|
||||
$style->setScript($url->extras('tabs/tabs.js'),{type=>"text/javascript"});
|
||||
$style->setLink($self->{_css},{rel=>"stylesheet", rev=>"stylesheet",type=>"text/css"});
|
||||
$style->setLink($url->extras('/yui/build/container/assets/container.css'),{ type=>'text/css', rel=>"stylesheet" });
|
||||
$style->setLink($url->extras('/hoverhelp.css'),{ type=>'text/css', rel=>"stylesheet" });
|
||||
$style->setScript($url->extras('/yui/build/yahoo/yahoo-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/dom/dom-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/event/event-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/yui/build/container/container-min.js'),{ type=>'text/javascript' });
|
||||
$style->setScript($url->extras('/hoverhelp.js'),{ type=>'text/javascript' });
|
||||
my $output = $self->{_form};
|
||||
$output .= $self->{_hidden};
|
||||
my $i = 1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue