added resizable textareas
This commit is contained in:
parent
04911c04e9
commit
722a214f80
13 changed files with 278 additions and 72 deletions
|
|
@ -45,6 +45,18 @@ See the super class for additional details.
|
|||
|
||||
=head3 additionalTerms
|
||||
|
||||
=head4 width
|
||||
|
||||
The width of this control in pixels. Defaults to 550 pixels.
|
||||
|
||||
=head4 height
|
||||
|
||||
The height of this control in pixels. Defaults to 450 pixels.
|
||||
|
||||
=head4 style
|
||||
|
||||
Style attributes besides width and height which should be specified using the above parameters. Be sure to escape quotes if you use any.
|
||||
|
||||
The following additional parameters have been added via this sub class.
|
||||
|
||||
=head4 profileEnabled
|
||||
|
|
@ -62,6 +74,15 @@ sub definition {
|
|||
formName=>{
|
||||
defaultValue=>$i18n->get("codearea")
|
||||
},
|
||||
height=>{
|
||||
defaultValue=> 450
|
||||
},
|
||||
width=>{
|
||||
defaultValue=> 550
|
||||
},
|
||||
style=>{
|
||||
defaultValue => undef,
|
||||
},
|
||||
profileEnabled=>{
|
||||
defaultValue=>1
|
||||
}
|
||||
|
|
@ -80,7 +101,7 @@ Renders a code area field.
|
|||
sub toHtml {
|
||||
my $self = shift;
|
||||
$self->session->style->setScript($self->session->config->get("extrasURL").'/TabFix.js',{type=>"text/javascript"});
|
||||
$self->set("extras", $self->get('extras') . ' style="width: 600px; height: 400px" onkeypress="return TabFix_keyPress(event)" onkeydown="return TabFix_keyDown(event)"');
|
||||
$self->set("extras", $self->get('extras').' onkeypress="return TabFix_keyPress(event)" onkeydown="return TabFix_keyDown(event)"');
|
||||
return $self->SUPER::toHtml;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ sub toHtml {
|
|||
foreach my $file (@{$storage->getFiles}) {
|
||||
if ($self->get("deleteFileUrl")) {
|
||||
$uploadControl .= '<p style="display:inline;vertical-align:middle;"><a href="'.$self->get("deleteFileUrl").$file.'">'
|
||||
.'<img src="'.$self->session->icon->_getBaseURL().'delete.gif" style="vertical-align:middle;border: 0px;" alt="x" /></a></p> ';
|
||||
.'<img src="'.$self->session->icon->getBaseURL().'delete.gif" style="vertical-align:middle;border: 0px;" alt="x" /></a></p> ';
|
||||
}
|
||||
$uploadControl .= '<p style="display:inline;vertical-align:middle;"><a href="'.$storage->getUrl($file).'">'
|
||||
.'<img src="'.$storage->getFileIconUrl($file).'" style="vertical-align:middle;border: 0px;" alt="'
|
||||
|
|
|
|||
|
|
@ -49,13 +49,17 @@ See the super class for additional details.
|
|||
|
||||
The following additional parameters have been added via this sub class.
|
||||
|
||||
=head4 rows
|
||||
=head4 width
|
||||
|
||||
The number of rows (in characters) tall the box should be. Defaults to the setting textAreaRows + 20.
|
||||
The width of this control in pixels. Defaults to 500 pixels.
|
||||
|
||||
=head4 columns
|
||||
=head4 height
|
||||
|
||||
The number of columns (in characters) wide the box should be. Defaults to the setting textAreaCols + 10.
|
||||
The height of this control in pixels. Defaults to 400 pixels.
|
||||
|
||||
=head4 style
|
||||
|
||||
Style attributes besides width and height which should be specified using the above parameters. Be sure to escape quotes if you use any.
|
||||
|
||||
=head4 richEditId
|
||||
|
||||
|
|
@ -76,12 +80,15 @@ sub definition {
|
|||
formName=>{
|
||||
defaultValue=>$i18n->get("477")
|
||||
},
|
||||
rows=>{
|
||||
defaultValue=> $session->setting->get("textAreaRows")+20
|
||||
},
|
||||
columns=>{
|
||||
defaultValue=> $session->setting->get("textAreaCols")+10
|
||||
},
|
||||
height=>{
|
||||
defaultValue=> 400
|
||||
},
|
||||
width=>{
|
||||
defaultValue=> 500
|
||||
},
|
||||
style=>{
|
||||
defaultValue => undef,
|
||||
},
|
||||
richEditId=>{
|
||||
defaultValue=>$session->setting->get("richEditor") || "PBrichedit000000000001"
|
||||
},
|
||||
|
|
@ -118,6 +125,7 @@ sub toHtml {
|
|||
my $self = shift;
|
||||
$self->session->style->setScript($self->session->config->get("extrasURL").'/textFix.js',{ type=>'text/javascript' });
|
||||
$self->set("extras", $self->get('extras') . ' onblur="fixChars(this.form.'.$self->get("name").')" mce_editable="true" ');
|
||||
$self->set("resizeable", 0);
|
||||
return $self->SUPER::toHtml.WebGUI::Asset::RichEdit->new($self->session,$self->get("richEditId"))->getRichEditor($self->get('id'));
|
||||
my $i18n = WebGUI::International->new($self->session);
|
||||
my $richEdit = WebGUI::Asset::RichEdit->new($self->session,$self->get("richEditId"));
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@ sub toHtml {
|
|||
foreach my $file (@{$storage->getFiles}) {
|
||||
if ($self->get("deleteFileUrl")) {
|
||||
$uploadControl .= '<p style="display:inline;vertical-align:middle;"><a href="'.$self->get("deleteFileUrl").$file.'">'
|
||||
.'<img src="'.$self->session->icon->_getBaseURL().'delete.gif" style="vertical-align:middle;border: 0px;" alt="x" /></a></p> ';
|
||||
.'<img src="'.$self->session->icon->getBaseURL().'delete.gif" style="vertical-align:middle;border: 0px;" alt="x" /></a></p> ';
|
||||
}
|
||||
my $image = $storage->isImage($file) ? $storage->getThumbnailUrl($file) : $storage->getFileIconUrl($file);
|
||||
$uploadControl .= '<p style="display:inline;vertical-align:middle;"><a href="'.$storage->getUrl($file).'">'
|
||||
|
|
|
|||
|
|
@ -46,18 +46,26 @@ See the super class for additional details.
|
|||
|
||||
The following additional parameters have been added via this sub class.
|
||||
|
||||
=head4 rows
|
||||
=head4 width
|
||||
|
||||
The number of rows (in characters) tall the box should be. Defaults to the setting textAreaRows or 5 if that's not specified.
|
||||
The width of this control in pixels. Defaults to 400 pixels.
|
||||
|
||||
=head4 columns
|
||||
=head4 height
|
||||
|
||||
The number of columns (in characters) wide the box should be. Defaults to the setting textAreaCols or 50 if that's not specified.
|
||||
The height of this control in pixels. Defaults to 150 pixels.
|
||||
|
||||
=head4 style
|
||||
|
||||
Style attributes besides width and height which should be specified using the above parameters. Be sure to escape quotes if you use any.
|
||||
|
||||
=head4 profileEnabled
|
||||
|
||||
Flag that tells the User Profile system that this is a valid form element in a User Profile
|
||||
|
||||
=head4 resizeable
|
||||
|
||||
A boolean indicating whether the text area can be reized by users. Defaults to 1.
|
||||
|
||||
=cut
|
||||
|
||||
sub definition {
|
||||
|
|
@ -69,11 +77,17 @@ sub definition {
|
|||
formName=>{
|
||||
defaultValue=>$i18n->get("476")
|
||||
},
|
||||
rows=>{
|
||||
defaultValue=> $session->setting->get("textAreaRows") || 5
|
||||
height=>{
|
||||
defaultValue=> 150
|
||||
},
|
||||
columns=>{
|
||||
defaultValue=> $session->setting->get("textAreaCols") || 50
|
||||
width=>{
|
||||
defaultValue=> 400
|
||||
},
|
||||
style=>{
|
||||
defaultValue => undef,
|
||||
},
|
||||
resizeable => {
|
||||
defaultValue => 1,
|
||||
},
|
||||
profileEnabled=>{
|
||||
defaultValue=>1
|
||||
|
|
@ -92,8 +106,15 @@ Renders an input tag of type text.
|
|||
|
||||
sub toHtml {
|
||||
my $self = shift;
|
||||
my $resize = undef;
|
||||
if ($self->get("resizeable")) {
|
||||
my $i18n = WebGUI::International->new($self->session, "Form_Textarea");
|
||||
$self->session->style->setScript($self->session->config->get("extrasURL")."/resizeable_textarea.js", {type=>"text/javascript"});
|
||||
$resize = '<img src="'.$self->session->icon->getBaseURL().'/drag.gif" title="'.$i18n->get("drag to resize").'" alt="'.$i18n->get("drag to resize").'" class="draggable" onmousedown="tar_drag_start(event, \''.$self->get('id').'\');" />';
|
||||
}
|
||||
my $value = $self->fixMacros($self->fixTags($self->fixSpecialCharacters($self->get("value"))));
|
||||
return '<textarea id="'.$self->get('id').'" name="'.$self->get("name").'" cols="'.$self->get("columns").'" rows="'.$self->get("rows").'" '.$self->get("extras").'>'.$value.'</textarea>';
|
||||
my $style = "width: ".$self->get('width')."px; height: ".$self->get('height')."px; ".$self->get("style");
|
||||
return '<textarea id="'.$self->get('id').'" name="'.$self->get("name").'" style="'.$style.'" '.$self->get("extras").'>'.$value.'</textarea>'.$resize;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue