Updated formData(), formActions(), show()

Added formLegend()
This commit is contained in:
sarven 2009-01-15 03:32:07 +00:00
parent 901b2acc9f
commit 47f694582c
2 changed files with 58 additions and 12 deletions

View File

@ -67,9 +67,12 @@ class Form extends Widget
array('id' => $this->id(), array('id' => $this->id(),
'method' => 'POST', 'method' => 'POST',
'action' => $this->action())); 'action' => $this->action()));
$this->out->elementStart('fieldset');
$this->formLegend();
$this->sessionToken(); $this->sessionToken();
$this->formData(); $this->formData();
$this->formActions(); $this->formActions();
$this->out->elementEnd('fieldset');
$this->out->elementEnd('form'); $this->out->elementEnd('form');
} }
@ -84,6 +87,20 @@ class Form extends Widget
$this->out->hidden('token', common_session_token()); $this->out->hidden('token', common_session_token());
} }
/**
* Name of the form
*
* Sub-classes should overload this with the name of their form.
*
* @return void
*/
function formLegend()
{
}
/** /**
* Visible or invisible data elements * Visible or invisible data elements
* *

View File

@ -87,7 +87,7 @@ class NoticeForm extends Form
function id() function id()
{ {
return 'status_form'; return 'form_notice';
} }
/** /**
@ -101,6 +101,18 @@ class NoticeForm extends Form
return common_local_url('newnotice'); return common_local_url('newnotice');
} }
/**
* Legend of the Form
*
* @return void
*/
function formLegend()
{
$this->out->element('legend', null, _('Send a notice'));
}
/** /**
* Data elements * Data elements
* *
@ -111,21 +123,33 @@ class NoticeForm extends Form
{ {
$user = common_current_user(); $user = common_current_user();
$this->out->element('label', array('for' => 'status_textarea', $this->out->elementStart('ul', 'form_datas');
'id' => 'status_label'), $this->out->elementStart('li', array('id' => 'notice_text'));
$this->out->element('label', array('for' => 'notice_data-text'),
sprintf(_('What\'s up, %s?'), $user->nickname)); sprintf(_('What\'s up, %s?'), $user->nickname));
// XXX: vary by defined max size // XXX: vary by defined max size
$this->out->element('span', array('id' => 'counter', $this->out->element('textarea', array('id' => 'notice_data-text',
'class' => 'counter'), 'cols' => 35,
'140'); 'rows' => 4,
$this->out->element('textarea', array('id' => 'status_textarea',
'cols' => 60,
'rows' => 3,
'name' => 'status_textarea'), 'name' => 'status_textarea'),
($this->content) ? $this->content : ''); ($this->content) ? $this->content : '');
$this->out->elementEnd('li');
$this->out->elementEnd('ul');
$this->out->elementStart('dl', 'form_note');
$this->out->element('dt', null, _('Available characters'));
$this->out->element('dd', array('id' => 'notice_text-count'),
'140');
$this->out->elementEnd('dl');
if ($this->action) { if ($this->action) {
$this->out->hidden('returnto', $this->action); // FIXME: or VERIFY that notice_return-to doesn't break anything. Changed from 'returnto'
$this->out->hidden('notice_return-to', $this->action);
} }
// FIXME: Does this need to be checked like returnto?
$this->out->hidden('notice_in-reply-to', $this->action);
} }
/** /**
@ -136,9 +160,14 @@ class NoticeForm extends Form
function formActions() function formActions()
{ {
$this->out->element('input', array('id' => 'status_submit', $this->out->elementStart('ul', 'form_actions');
$this->out->elementStart('li', array('id' => 'notice_submit'));
$this->out->element('input', array('id' => 'notice_action-submit',
'class' => 'submit',
'name' => 'status_submit', 'name' => 'status_submit',
'type' => 'submit', 'type' => 'submit',
'value' => _('Send'))); 'value' => _('Send')));
$this->out->elementEnd('li');
$this->out->elementEnd('ul');
} }
} }