Example #1
0
 /**
  *
  * return the path of the actually view
  *
  * @return string
  * @throws ViewException
  */
 public function getPath()
 {
     if (is_null($this->view)) {
         throw new ViewException('View is not defined');
     }
     return $this->view->getPath();
 }
Example #2
0
 /**
  * Bind data to the view.
  *
  * @param  View $view
  *
  * @throws \Exception
  */
 public function compose(View $view)
 {
     if (empty($view->name) and !str_contains($view->getName(), ['csrf', 'group'])) {
         //TODO: check if these exceptions can actually be caught. Perhaps it needs to log to file instead?
         throw new \Exception('Input needs a "name" parameter set in ' . $view->getPath());
     }
     $data['control_id'] = $view->bsb_pkg_ref . $view->form_id . $view->name;
     //TODO: handle unique id if name is repeated within the form with [] array syntax and radios/checkboxes
     if (!empty($view->name) and $view->errors->has($view->name)) {
         $data['has_error'] = true;
         if (!$view->group_form_errors) {
             $view->nest('control_error_content', $view->bsb_pkg_ref . '::form.control.errors', ['errors' => $view->errors->get($view->name)]);
         }
     }
     if ($view->control_error_content or $view->help_text or $view->html_help_text) {
         $data['control_description_id'] = $data['control_id'] . 'desc';
     }
     $view->with($data);
 }