CMS  Version 3.9
EmailRecipientScrollBoxFieldRenderer Class Reference

Displays email recipients in mail client type of bubble inside a scrollbox. More...

Inherits FieldRenderer.

Public Member Functions

 EmailRecipientScrollBoxFieldRenderer (&$form, $field, $label="", $recipients, $nameField, $delete_fn="", $delete_all_fn)
 
 renderField ($field)
 
 addValidatorsToForm ($field, $required=false)
 
 renderReadOnly ($field)
 
 formatRecipients ($recipients)
 
 formatOneRecipient ($recipient)
 Construct a list member using the id and value, such as id: "user_id_7" value "Sam Jones". More...
 

Public Attributes

 $cssClass = 'email_recipient_scrollbox'
 
 $field
 
 $nameField
 
 $recipients
 
 $delete_fn
 js function to delete selected recipient using "x" More...
 
 $delete_all_fn
 js function to delete all recipients More...
 
 $deleteLabel = "Clear All"
 

Detailed Description

Displays email recipients in mail client type of bubble inside a scrollbox.

Author
janice

Definition at line 128 of file email_recipients_field_renderer.inc.

Member Function Documentation

◆ addValidatorsToForm()

EmailRecipientScrollBoxFieldRenderer::addValidatorsToForm (   $field,
  $required = false 
)

Definition at line 187 of file email_recipients_field_renderer.inc.

188  {
189  $label = isset($this->label) ? $this->label : $this->parent->prettifyFieldName($field);
190 
191  $this->parent->validator->add(new EmailListValidator($field, $label));
192 
193  if($required)
194  {
195  $this->parent->validator->add(new RequiredValidator($field, $label));
196  }
197  }
Email recipient list validator.

◆ EmailRecipientScrollBoxFieldRenderer()

EmailRecipientScrollBoxFieldRenderer::EmailRecipientScrollBoxFieldRenderer ( $form,
  $field,
  $label = "",
  $recipients,
  $nameField,
  $delete_fn = "",
  $delete_all_fn 
)

Definition at line 138 of file email_recipients_field_renderer.inc.

139  {
140  $this->recipients = $recipients;
141  $this->field = $field;
142  $this->nameField = $nameField;
143 
144  parent::FieldRenderer($form);
145 
146  $label = ($label) ? $label : prettify($field);
147 
148  if ($form->data->hasField($field))
149  {
150  $form->override($field, $label, $this);
151  }
152  else
153  {
154  $form->add($this, $field);
155  $form->overrides[$field]['label'] = $label;
156  }
157 
158  $this->delete_fn = $delete_fn;
159  $this->delete_all_fn = $delete_all_fn;
160  $this->colspan = 2;
161  }
$form
$delete_all_fn
js function to delete all recipients
$delete_fn
js function to delete selected recipient using "x"
$topicList colspan
Definition: group_form.inc:54
$email recipients
Definition: mail_to.inc:53
$openData field

◆ formatOneRecipient()

EmailRecipientScrollBoxFieldRenderer::formatOneRecipient (   $recipient)

Construct a list member using the id and value, such as id: "user_id_7" value "Sam Jones".

Parameters
String$id
String$value

Definition at line 228 of file email_recipients_field_renderer.inc.

229  {
230  $pk = $recipient->getPrimaryKey();
232  if($this->delete_fn)
233  {
234  $removeLink = "<a class='remove_recipient' href='#' onclick='{$this->delete_fn}({{$pk}}); return false;'>x</a>";
235  }
236 
237  return $recipient->format("<div id='{$pk}_{{$pk}}' class='email_recipient'>{$nameField}{$removeLink}</div>");
238  }

◆ formatRecipients()

EmailRecipientScrollBoxFieldRenderer::formatRecipients (   $recipients)

Definition at line 207 of file email_recipients_field_renderer.inc.

208  {
209  if(!count($recipients)) return "";
210 
211  foreach($recipients as $recipient)
212  {
213  $html .= $this->formatOneRecipient($recipient);
214  }
215 
216  return $html;
217  }
formatOneRecipient($recipient)
Construct a list member using the id and value, such as id: "user_id_7" value "Sam Jones".

◆ renderField()

EmailRecipientScrollBoxFieldRenderer::renderField (   $field)

Definition at line 163 of file email_recipients_field_renderer.inc.

164  {
165  $this->_startField($field);
166 
168 
169  echo "<div id='email_recipients'>\n";
170 
171  if($this->delete_all_fn)
172  {
173  $pk = $this->parent->data->getPrimaryKey();
174  $id = $this->parent->data->$pk;
175  echo "<a class='button' href='' onclick=\"{$this->delete_all_fn}($id); return false;\">{$this->deleteLabel}</a>\n";
176  }
177  echo "<div id='{$this->parent->id}_{$field}' class='{$this->cssClass}' name='$field'>\n";
178 
179  echo $this->formatRecipients($recipients);
180 
181  echo "</div>\n";
182  echo "</div>\n";
183 
184  $this->_endField($field);
185  }

◆ renderReadOnly()

EmailRecipientScrollBoxFieldRenderer::renderReadOnly (   $field)

Definition at line 200 of file email_recipients_field_renderer.inc.

201  {
202  $this->delete_fn = "";
203  $this->delete_all_fn = "";
204  $this->renderField($field);
205  }

Member Data Documentation

◆ $cssClass

EmailRecipientScrollBoxFieldRenderer::$cssClass = 'email_recipient_scrollbox'

Definition at line 130 of file email_recipients_field_renderer.inc.

◆ $delete_all_fn

EmailRecipientScrollBoxFieldRenderer::$delete_all_fn

js function to delete all recipients

Definition at line 135 of file email_recipients_field_renderer.inc.

◆ $delete_fn

EmailRecipientScrollBoxFieldRenderer::$delete_fn

js function to delete selected recipient using "x"

Definition at line 134 of file email_recipients_field_renderer.inc.

◆ $deleteLabel

EmailRecipientScrollBoxFieldRenderer::$deleteLabel = "Clear All"

Definition at line 136 of file email_recipients_field_renderer.inc.

◆ $field

EmailRecipientScrollBoxFieldRenderer::$field

Definition at line 131 of file email_recipients_field_renderer.inc.

◆ $nameField

EmailRecipientScrollBoxFieldRenderer::$nameField

Definition at line 132 of file email_recipients_field_renderer.inc.

◆ $recipients

EmailRecipientScrollBoxFieldRenderer::$recipients

Definition at line 133 of file email_recipients_field_renderer.inc.


The documentation for this class was generated from the following file: