Convert Text, Url, JsonTable and AssetReportQuery to use headTags.
This commit is contained in:
parent
397d0db245
commit
fd7fe89f35
4 changed files with 58 additions and 12 deletions
|
|
@ -169,6 +169,20 @@ sub getValue {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 headTags
|
||||
|
||||
Sets the JS for this form plugin
|
||||
|
||||
=cut
|
||||
|
||||
sub headTags {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
$session->style->setScript($session->url->extras("yui-webgui/build/form/assetReportQuery.js"),{ type=>"text/javascript" });
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 i18n
|
||||
|
||||
Returns the i18n object for the form
|
||||
|
|
@ -186,6 +200,7 @@ sub i18n {
|
|||
|
||||
return $self->{_i18n};
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
=head2 toHtml
|
||||
|
|
@ -246,7 +261,6 @@ sub toHtml {
|
|||
$style->setRawHeadTags(qq|<script type="text/javascript">var classValues = $jsonStr; </script>|);
|
||||
my $jsonData = $self->get("value") || q|{ "isNew" : "true" }|;
|
||||
$style->setRawHeadTags(qq|<script type="text/javascript">var dataValues = $jsonData; var first_row_error_msg = '$first_row_error_msg';</script>|);
|
||||
$session->style->setScript($session->url->extras("yui-webgui/build/form/assetReportQuery.js"),{ type=>"text/javascript" });
|
||||
|
||||
#Decode JSON data for filling in some of the fields
|
||||
my $jsonDataHash = JSON->new->decode($jsonData);
|
||||
|
|
|
|||
|
|
@ -129,6 +129,31 @@ sub getValue {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 headTags ( )
|
||||
|
||||
Send JS required for this plugin.
|
||||
|
||||
=cut
|
||||
|
||||
sub headTags {
|
||||
my $self = shift;
|
||||
my ( $url, $style ) = $self->session->quick(qw( url style ));
|
||||
$style->setScript(
|
||||
$url->extras('yui/build/yahoo-dom-event/yahoo-dom-event.js'),
|
||||
{ type => 'text/javascript' },
|
||||
);
|
||||
$style->setScript(
|
||||
$url->extras('yui/build/json/json-min.js'),
|
||||
{ type => 'text/javascript' },
|
||||
);
|
||||
$style->setScript(
|
||||
$url->extras('yui-webgui/build/form/jsontable.js'),
|
||||
{ type => 'text/javascript' },
|
||||
);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 toHtml ( )
|
||||
|
||||
Renders an input tag of type text.
|
||||
|
|
@ -193,21 +218,12 @@ sub toHtml {
|
|||
$output .= '<input type="hidden" name="' . $self->get('name') . '" value="' . $value . '" />';
|
||||
|
||||
# Existing rows are entirely built in javascript from the JSON in the hidden field
|
||||
$style->setScript(
|
||||
$url->extras('yui/build/yahoo-dom-event/yahoo-dom-event.js'),
|
||||
{ type => 'text/javascript' },
|
||||
);
|
||||
$style->setScript(
|
||||
$url->extras('yui/build/json/json-min.js'),
|
||||
{ type => 'text/javascript' },
|
||||
);
|
||||
$output .= sprintf '<script src="%s" type="text/javascript"></script>',
|
||||
$url->extras('yui-webgui/build/form/jsontable.js');
|
||||
$output .= '<script type="text/javascript">'
|
||||
. q{new WebGUI.Form.JsonTable("} . $self->get('name') . q{","} . $self->get( 'id' ) . q{", }
|
||||
. JSON->new->encode( $self->get('fields') ) . q{ );}
|
||||
. '</script>';
|
||||
|
||||
$self->headTags;
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -125,6 +125,7 @@ Renders an input tag of type text.
|
|||
|
||||
sub toHtml {
|
||||
my $self = shift;
|
||||
$self->headTags();
|
||||
my $value = $self->fixMacros($self->fixQuotes($self->fixSpecialCharacters(scalar $self->getOriginalValue)));
|
||||
return '<input id="'.$self->get('id').'" type="text" name="'.$self->get("name").'" value="'.$value.'" size="'.$self->get("size").'" maxlength="'.$self->get("maxlength").'" '.$self->get("extras").' />';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -125,6 +125,22 @@ sub getValueAsHtml {
|
|||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 headTags ( )
|
||||
|
||||
Add JS.
|
||||
|
||||
=cut
|
||||
|
||||
sub headTags {
|
||||
my $self = shift;
|
||||
return if $self->headTagsSent;
|
||||
$self->session->style->setScript($self->session->url->extras('addHTTP.js'),{ type=>'text/javascript' });
|
||||
$self->SUPER::headTags();
|
||||
return;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 isDynamicCompatible ( )
|
||||
|
|
@ -147,7 +163,6 @@ Renders a URL field.
|
|||
|
||||
sub toHtml {
|
||||
my $self = shift;
|
||||
$self->session->style->setScript($self->session->url->extras('addHTTP.js'),{ type=>'text/javascript' });
|
||||
$self->set("extras", $self->get('extras') . ' onblur="addHTTP(this.form.'.$self->get("name").')"');
|
||||
return $self->SUPER::toHtml;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue