public function render($content) { $result = "<textarea {$this->getAttributes()}>{$content}</textarea>"; $alerts = AlertManager::byField($this->name); foreach ($alerts as $alert) { $result .= $alert->render(); } return $result; }
public function render($content) { $result = "<input {$this->getAttributes()}>"; $alerts = AlertManager::byField($this->name); foreach ($alerts as $i => $alert) { //$result .= $alert->render(); $result .= "<span class='help-inline'>{$alert->message()}</span>"; } return $result; }
public function render($content) { $clear = $messages = ''; $alerts = AlertManager::byField($this->name); foreach ($alerts as $i => $alert) { $messages .= "<span class='help-inline'>{$alert->message()}</span>"; } if ($this->clear) { $clear = '<i class="icon-remove" style="vertical-align:middle;cursor:pointer" onclick="this.parentElement.firstElementChild.value=\'\'"></i>'; } $result = <<<EOT <{$this->wrapper} class="date" data-date="{$this->default}" data-date-format="{$this->js_format}"> \t<input type="text" id="{$this->id}" value="{$this->value}" name="{$this->name}" \t\tclass="uneditable-input input-small {$this->class}" type="text" \t\tstyle="vertical-align:middle;text-align:center;{$this->style}" disabled> \t<i class="icon-calendar add-on" style="vertical-align:middle;cursor:pointer"></i> \t{$clear} \t{$messages} </{$this->wrapper}> EOT; return $result; }
public function render($content) { if ($content instanceof Closure) { ob_start(); $content($this); $options = ob_get_clean(); } elseif (is_array($content)) { $options = ''; foreach ($content as $option) { if (is_array($option)) { if (isset($option['text'])) { $text = $option['text']; $value = isset($option['value']) ? $option['value'] : $text; } else { throw new ApplicationError('Select option must specify in the array at' . ' least a "text" key and optionally a "value" key'); } } elseif ($option instanceof Model) { if (isset($this->text)) { $text = $option->{$this->text}(); $value = isset($this->value) ? $option->{$this->value}() : $option->id(); } else { throw new ApplicationError('Select option must specify which field' . ' in Model that contains the text'); } } else { throw new ApplicationError('Select options must be a Model or an array'); } $params = $this->params(); $selected = isset($params['selected']) && $params['selected'] == $value; $options .= $this->option($text, $value, $selected); } } unset($this->text, $this->value); $result = "<select {$this->getAttributes()}>{$options}</select>"; $alerts = AlertManager::byField($this->name); foreach ($alerts as $alert) { $result .= $alert->render(); } return $result; }
/** * Gets the alerts that are set to a given form field * @final * @param string $field name of the field * @return array */ public final function alertField($field) { $alerts = AlertManager::byField($field); return array_filter($alerts, function ($alert) use($field) { return $alert->field() === $field; }); }