labelCols = $labelCols; $this->fieldCols = $fieldCols; } public function help($text) { return view('form._help-inner', ['help' => $text]); } public function header($hx, $text) { return "
". "fieldCols offset-md-$this->labelCols\">".e($text)."". "
"; } public function par($text, $extraClasses='', $escape=true) { if (false === strpos($extraClasses, 'mb-')) $extraClasses .= ' mb-2'; return "
". "

fieldCols offset-md-$this->labelCols ".e($extraClasses)."\">". ($escape ? e($text) : $text) . "

". "
"; } public function labeledPar($label, $text, $extraClasses='', $escape=true) { if (false === strpos($extraClasses, 'mb-')) $extraClasses .= ' mb-2'; return "
". "". "

fieldCols".e($extraClasses)."\">". ($escape ? e($text) : $text) . "

". "
"; } /** * Convert the given string to a-href if it is a link. * * @param $href * @return string */ public function tryLink($href) { $href = trim($href); if (starts_with($href, ['http://', 'https://', 'mailto:', 'ftp://'])) { $href_e = e($href); return "".$href_e.""; } else { return $href; } } public function collapsible($text, $thrSize, $maxHeight) { return new CollapsibleTextBoxWidget($text, $thrSize, $maxHeight); } private function baseWidget($view, $name, $label) { return (new Widget($view, $name, $label))->layout($this->labelCols, $this->fieldCols); } public function text($name, $label) { return $this->baseWidget('input', $name, $label); } public function password($name, $label) { return $this->baseWidget('input', $name, $label)->type('password'); } public function number($name, $label) { return $this->baseWidget('input', $name, $label)->type('number'); } public function email($name, $label) { return $this->baseWidget('input', $name, $label)->type('email'); } public function file($name, $label) { return $this->baseWidget('input', $name, $label)->type('file'); } public function checkbox($name, $label) { return (new CheckboxWidget('checkbox', $name, $label)) ->layout($this->labelCols, $this->fieldCols); } public function textarea($name, $label) { return $this->baseWidget('textarea', $name, $label)->minHeight('4em'); } }