@Override
 public void writeJS(DisplayContext dc) {
   writeJS("fillin", dc);
   for (int i = 0; i < stringList.size() - 1; ++i) {
     dc.append('\'').append(stringList.get(i)).append('\'');
     dc.append("fillin()");
   }
   dc.append('\'').append(stringList.size() - 1).append('\'');
 }
Exemple #2
0
 public void writeJS(DisplayContext dc) {
   dc.append("\n\t\t\t['match', ").append(getId()).append(", [");
   for (int i = 0; i < leftSide.size(); i++) {
     if (i != 0) {
       dc.append(", ");
     }
     dc.appendQuotedJS(leftSide.get(i).getName());
   }
   dc.append("], [");
   for (int i = 0; i < rightSide.size(); i++) {
     if (i != 0) {
       dc.append(", ");
     }
     dc.appendQuotedJS(rightSide.get(i).getName());
   }
   dc.append("]],");
 }
  @Override
  public void writeHTML(DisplayContext dc) {
    for (int i = 0; i < stringList.size() - 1; ++i) {
      dc.append(stringList.get(i));

      if (dc.isDisplayResponses()) {
        String[] answer = {"Your answer here"};
        if (dc.getStudentResponses() != null) {
          answer = dc.getStudentResponses().getLatestResponse(getId());
        }

        dc.append("<input type='text' disabled value='");
        dc.append(answer[0]);
        dc.append("'> ");

        if (dc.isDisplayAnswers()) {
          Response res = getResponseFor(answer[0]);
          if (res != null) {
            if (Score.correctQues(getId(), answer) == getPoints()) {
              dc.append("<span class='response correct'>");
            } else {
              dc.append("<span class='response'>");
            }
            writeHTML(dc);
            dc.append("</span>");
          }

          boolean hasAnswer = false;
          for (Answer ans : getAns()) {
            if (ans.getCorrect()) {
              hasAnswer = true;
              break;
            }
          }
          if (hasAnswer) {
            dc.append("\n<br>Possible answers:<br>");
            for (Answer ans : getAns()) {
              ans.writeHTML(dc);
              dc.append("<br>");
            }
          }
        }
      } else { // just show the empty box
        dc.append("<input name='").append(getId()).append("' class='fillin' type='text' />");
      }
    }

    dc.append(stringList.get(stringList.size() - 1));
  }