/** * @param ISurveyStep $current_step * @param ISurveyQuestionTemplate $question * @param ISurveyAnswer $answer * @return FormField */ public function build(ISurveyStep $current_step, ISurveyQuestionTemplate $question, ISurveyAnswer $answer) { $field = new TextField($question->name(), $question->label()); $field->setValue($question->initialValue()); if ($question->isReadOnly()) { $field->setDisabled(true); } if ($question->isMandatory()) { $field->setAttribute('data-rule-required', 'true'); } if (!is_null($answer)) { $field->setValue($answer->value()); } $this->buildDependantRules($current_step, $question, $field); return $field; }