use of org.olat.ims.qti21.ui.components.FlowFormItem in project OpenOLAT by OpenOLAT.
the class MultipleChoiceEditorController method wrapAnswer.
private void wrapAnswer(UserRequest ureq, SimpleChoice choice) {
List<FlowStatic> choiceFlow = choice.getFlowStatics();
String choiceContent = itemBuilder.getHtmlHelper().flowStaticString(choice.getFlowStatics());
String choiceId = "answer" + count++;
RichTextElement choiceEl = uifactory.addRichTextElementForQTI21(choiceId, "form.imd.answer", choiceContent, 8, -1, itemContainer, answersCont, ureq.getUserSession(), getWindowControl());
choiceEl.setEnabled(!readOnly);
choiceEl.setVisible(!readOnly);
choiceEl.getEditorConfiguration().setSimplestTextModeAllowed(TextMode.oneLine);
choiceEl.setUserObject(choice);
answersCont.add("choiceId", choiceEl);
String choiceRoId = "answerro" + count++;
FlowFormItem choiceReadOnlyEl = new FlowFormItem(choiceRoId, itemFile);
choiceReadOnlyEl.setFlowStatics(choiceFlow);
choiceReadOnlyEl.setMapperUri(mapperUri);
answersCont.add(choiceRoId, choiceReadOnlyEl);
FormLink removeLink = uifactory.addFormLink("rm-".concat(choiceId), "rm", "", null, answersCont, Link.NONTRANSLATED);
removeLink.setIconLeftCSS("o_icon o_icon-lg o_icon_delete");
removeLink.setEnabled(!restrictedEdit && !readOnly);
answersCont.add(removeLink);
answersCont.add("rm-".concat(choiceId), removeLink);
FormLink addLink = uifactory.addFormLink("add-".concat(choiceId), "add", "", null, answersCont, Link.NONTRANSLATED);
addLink.setIconLeftCSS("o_icon o_icon-lg o_icon_add");
addLink.setEnabled(!restrictedEdit && !readOnly);
answersCont.add(addLink);
answersCont.add("add-".concat(choiceId), addLink);
FormLink upLink = uifactory.addFormLink("up-".concat(choiceId), "up", "", null, answersCont, Link.NONTRANSLATED);
upLink.setIconLeftCSS("o_icon o_icon-lg o_icon_move_up");
upLink.setEnabled(!restrictedEdit && !readOnly);
answersCont.add(upLink);
answersCont.add("up-".concat(choiceId), upLink);
FormLink downLink = uifactory.addFormLink("down-".concat(choiceId), "down", "", null, answersCont, Link.NONTRANSLATED);
downLink.setIconLeftCSS("o_icon o_icon-lg o_icon_move_down");
downLink.setEnabled(!restrictedEdit && !readOnly);
answersCont.add(downLink);
answersCont.add("down-".concat(choiceId), downLink);
choiceWrappers.add(new SimpleChoiceWrapper(choice, choiceEl, choiceReadOnlyEl, removeLink, addLink, upLink, downLink));
}
use of org.olat.ims.qti21.ui.components.FlowFormItem in project OpenOLAT by OpenOLAT.
the class TrueFalseEditorController method wrapSource.
private void wrapSource(UserRequest ureq, SimpleAssociableChoice choice, List<SourceWrapper> wrappers) {
List<FlowStatic> choiceFlow = choice.getFlowStatics();
String choiceContent = itemBuilder.getHtmlHelper().flowStaticString(choiceFlow);
String choiceId = "answer" + count++;
RichTextElement choiceEl = uifactory.addRichTextElementForQTI21Match(choiceId, "form.imd.answer", choiceContent, 4, -1, itemContainer, answersCont, ureq.getUserSession(), getWindowControl());
choiceEl.setUserObject(choice);
choiceEl.setEnabled(!readOnly);
choiceEl.setVisible(!readOnly);
answersCont.add("choiceId", choiceEl);
String choiceRoId = "answerro" + count++;
FlowFormItem choiceReadOnlyEl = new FlowFormItem(choiceRoId, itemFile);
choiceReadOnlyEl.setFlowStatics(choiceFlow);
choiceReadOnlyEl.setMapperUri(mapperUri);
answersCont.add(choiceRoId, choiceReadOnlyEl);
FormLink deleteButton = uifactory.addFormLink("del_" + (count++), "delete", "delete", null, answersCont, Link.NONTRANSLATED);
deleteButton.setIconLeftCSS("o_icon o_icon_delete_item");
deleteButton.setVisible(!restrictedEdit && !readOnly);
deleteButton.setI18nKey("");
SourceWrapper wrapper = new SourceWrapper(choice, choiceEl, choiceReadOnlyEl, deleteButton);
deleteButton.setUserObject(wrapper);
wrappers.add(wrapper);
}
use of org.olat.ims.qti21.ui.components.FlowFormItem in project OpenOLAT by OpenOLAT.
the class DrawingEditorController method initForm.
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
setFormContextHelp("Test editor QTI 2.1 in detail#details_testeditor_fragetypen_drawing");
titleEl = uifactory.addTextElement("title", "form.imd.title", -1, itemBuilder.getTitle(), formLayout);
titleEl.setElementCssClass("o_sel_assessment_item_title");
titleEl.setMandatory(true);
titleEl.setEnabled(!readOnly);
String relativePath = rootDirectory.toPath().relativize(itemFile.toPath().getParent()).toString();
VFSContainer itemContainer = (VFSContainer) rootContainer.resolve(relativePath);
String description = itemBuilder.getQuestion();
textEl = uifactory.addRichTextElementForQTI21("desc", "form.imd.descr", description, 12, -1, itemContainer, formLayout, ureq.getUserSession(), getWindowControl());
textEl.setElementCssClass("o_sel_assessment_item_question");
textEl.setEnabled(!readOnly);
textEl.setVisible(!readOnly);
if (readOnly) {
FlowFormItem textReadOnlyEl = new FlowFormItem("descro", itemFile);
textReadOnlyEl.setLabel("form.imd.descr", null);
textReadOnlyEl.setBlocks(itemBuilder.getQuestionBlocks());
textReadOnlyEl.setMapperUri(mapperUri);
formLayout.add(textReadOnlyEl);
}
initialBackgroundImage = getCurrentBackground();
backgroundEl = uifactory.addFileElement(getWindowControl(), "form.imd.background", "form.imd.background", formLayout);
backgroundEl.setPreview(ureq.getUserSession(), true);
backgroundEl.setEnabled(!restrictedEdit && !readOnly);
if (initialBackgroundImage != null) {
backgroundEl.setInitialFile(initialBackgroundImage);
}
backgroundEl.addActionListener(FormEvent.ONCHANGE);
backgroundEl.setDeleteEnabled(true);
backgroundEl.limitToMimeType(mimeTypes, "error.mimetype", new String[] { mimeTypes.toString() });
// Submit Button
FormLayoutContainer buttonsContainer = FormLayoutContainer.createButtonLayout("buttons", getTranslator());
buttonsContainer.setRootForm(mainForm);
buttonsContainer.setElementCssClass("o_sel_lob_save");
buttonsContainer.setVisible(!readOnly);
formLayout.add(buttonsContainer);
uifactory.addFormSubmitButton("submit", buttonsContainer);
}
use of org.olat.ims.qti21.ui.components.FlowFormItem in project openolat by klemens.
the class MatchEditorController method wrapAnswer.
private void wrapAnswer(UserRequest ureq, SimpleAssociableChoice choice, List<MatchWrapper> wrappers) {
List<FlowStatic> choiceFlow = choice.getFlowStatics();
String choiceContent = itemBuilder.getHtmlHelper().flowStaticString(choiceFlow);
String choiceId = "answer" + count++;
RichTextElement choiceEl = uifactory.addRichTextElementForQTI21Match(choiceId, "form.imd.answer", choiceContent, 4, -1, itemContainer, answersCont, ureq.getUserSession(), getWindowControl());
choiceEl.setUserObject(choice);
choiceEl.setEnabled(!readOnly);
choiceEl.setVisible(!readOnly);
answersCont.add("choiceId", choiceEl);
String choiceRoId = "answerro" + count++;
FlowFormItem choiceReadOnlyEl = new FlowFormItem(choiceRoId, itemFile);
choiceReadOnlyEl.setFlowStatics(choiceFlow);
choiceReadOnlyEl.setMapperUri(mapperUri);
answersCont.add(choiceRoId, choiceReadOnlyEl);
FormLink deleteButton = uifactory.addFormLink("del_" + (count++), "delete", "delete", null, answersCont, Link.NONTRANSLATED);
deleteButton.setIconLeftCSS("o_icon o_icon_delete_item");
deleteButton.setVisible(!restrictedEdit && !readOnly);
deleteButton.setI18nKey("");
MatchWrapper wrapper = new MatchWrapper(choice, choiceEl, choiceReadOnlyEl, deleteButton);
deleteButton.setUserObject(wrapper);
wrappers.add(wrapper);
}
use of org.olat.ims.qti21.ui.components.FlowFormItem in project openolat by klemens.
the class MatchScoreController method createMatchWrapper.
private MatchWrapper createMatchWrapper(SimpleAssociableChoice choice) {
FlowFormItem summaryEl = new FlowFormItem("summary_" + count++, itemFileRef);
summaryEl.setFlowStatics(choice.getFlowStatics());
summaryEl.setMapperUri(mapperUri);
scoreCont.add(summaryEl);
return new MatchWrapper(choice.getIdentifier(), choice, summaryEl);
}
Aggregations