use of org.olat.modules.forms.model.xml.Slider in project openolat by klemens.
the class RubricEditorController method doAddSlider.
private void doAddSlider() {
Slider slider = new Slider();
slider.setId(UUID.randomUUID().toString());
rubric.getSliders().add(slider);
SliderRow row = forgeSliderRow(slider);
sliders.add(row);
flc.setDirty(true);
}
use of org.olat.modules.forms.model.xml.Slider in project openolat by klemens.
the class RubricEditorController method initForm.
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
rubricCtrl = new RubricController(ureq, getWindowControl(), rubric, mainForm);
listenTo(rubricCtrl);
formLayout.add("rubric", rubricCtrl.getInitialFormItem());
settingsLayout = FormLayoutContainer.createDefaultFormLayout("settings", getTranslator());
settingsLayout.setRootForm(mainForm);
formLayout.add("settings", settingsLayout);
String[] sliderTypeValues = new String[] { translate("slider.discrete"), translate("slider.discrete.slider"), translate("slider.continuous") };
typeEl = uifactory.addDropdownSingleselect("slider.type." + count.incrementAndGet(), "slider.type", settingsLayout, sliderTypeKeys, sliderTypeValues, null);
typeEl.addActionListener(FormEvent.ONCHANGE);
typeEl.setEnabled(!restrictedEdit);
boolean typeSelected = false;
if (rubric != null && rubric.getSliderType() != null) {
for (String sliderTypeKey : sliderTypeKeys) {
if (sliderTypeKey.equals(rubric.getSliderType().name())) {
typeEl.select(sliderTypeKey, true);
typeSelected = true;
}
}
}
if (!typeSelected) {
typeEl.select(sliderTypeKeys[0], true);
}
stepsEl = uifactory.addDropdownSingleselect("slider.steps." + count.incrementAndGet(), "slider.steps", settingsLayout, sliderStepKeys, sliderStepKeys, null);
stepsEl.addActionListener(FormEvent.ONCHANGE);
stepsEl.setEnabled(!restrictedEdit);
boolean stepSelected = false;
if (rubric != null && rubric.getSteps() > 0) {
String steps = Integer.toString(rubric.getSteps());
for (String sliderStepKey : sliderStepKeys) {
if (sliderStepKey.equals(steps)) {
stepsEl.select(sliderStepKey, true);
stepSelected = true;
}
}
}
if (!stepSelected) {
stepsEl.select(sliderStepKeys[4], true);
}
updateTypeSettings();
updateSteps();
for (Slider slider : rubric.getSliders()) {
SliderRow row = forgeSliderRow(slider);
sliders.add(row);
}
if (formLayout instanceof FormLayoutContainer) {
FormLayoutContainer layoutCont = (FormLayoutContainer) formLayout;
layoutCont.contextPut("sliders", sliders);
}
long postfix = CodeHelper.getRAMUniqueID();
saveButton = uifactory.addFormLink("save_" + postfix, "save", null, formLayout, Link.BUTTON);
if (!restrictedEdit) {
addSliderButton = uifactory.addFormLink("add.slider." + postfix, "add.slider", null, formLayout, Link.BUTTON);
addSliderButton.setIconLeftCSS("o_icon o_icon-lg o_icon_add");
}
if (formLayout instanceof FormLayoutContainer) {
FormLayoutContainer layoutCont = (FormLayoutContainer) formLayout;
layoutCont.contextPut("postfix", Long.toString(postfix));
}
}
use of org.olat.modules.forms.model.xml.Slider in project openolat by klemens.
the class EvaluationFormElementWrapper method isRightLabels.
public boolean isRightLabels() {
if (element instanceof Rubric) {
Rubric rubric = (Rubric) element;
List<Slider> rubricSliders = rubric.getSliders();
if (rubricSliders != null && rubricSliders.size() > 0) {
for (Slider slider : rubricSliders) {
if (slider != null && StringHelper.containsNonWhitespace(slider.getEndLabel())) {
return true;
}
}
}
}
return false;
}
use of org.olat.modules.forms.model.xml.Slider in project openolat by klemens.
the class EvaluationFormElementWrapper method isLeftLabels.
public boolean isLeftLabels() {
if (element instanceof Rubric) {
Rubric rubric = (Rubric) element;
List<Slider> rubricSliders = rubric.getSliders();
if (rubricSliders != null && rubricSliders.size() > 0) {
for (Slider slider : rubricSliders) {
if (slider != null && StringHelper.containsNonWhitespace(slider.getStartLabel())) {
return true;
}
}
}
}
return false;
}
use of org.olat.modules.forms.model.xml.Slider in project openolat by klemens.
the class CompareEvaluationsFormController method forgeRadarRubric.
private EvaluationFormElementWrapper forgeRadarRubric(Rubric element) {
EvaluationFormElementWrapper wrapper = new EvaluationFormElementWrapper(element);
wrapper.setRadarOverview(true);
List<String> axisList = new ArrayList<>();
List<Slider> sliders = element.getSliders();
Map<EvaluationFormSession, RadarSeries> series = new HashMap<>();
for (Slider slider : sliders) {
String axis;
if (StringHelper.containsNonWhitespace(slider.getEndLabel())) {
axis = slider.getEndLabel();
} else if (StringHelper.containsNonWhitespace(slider.getStartLabel())) {
axis = slider.getStartLabel();
} else {
axis = "";
}
axisList.add(axis);
String responseIdentifier = slider.getId();
List<EvaluationFormResponse> responses = identifierToResponses.get(responseIdentifier);
if (responses != null && responses.size() > 0) {
for (EvaluationFormResponse response : responses) {
EvaluationFormSession responseSession = response.getSession();
if (!series.containsKey(responseSession)) {
Identity identity = responseSession.getIdentity();
String legend = getLegend(identity);
String color = evaluatorToColors.get(identity);
series.put(responseSession, new RadarSeries(legend, color));
}
if (response.getNumericalResponse() != null) {
double value = response.getNumericalResponse().doubleValue();
series.get(responseSession).addPoint(axis, value);
}
}
}
}
String id = "radar_" + (count++);
RadarChartElement radarEl = new RadarChartElement(id);
radarEl.setSeries(new ArrayList<>(series.values()));
radarEl.setShowLegend(true);
radarEl.setAxis(axisList);
if (element.getSliderType() == SliderType.discrete || element.getSliderType() == SliderType.discrete_slider) {
radarEl.setLevels(element.getSteps());
radarEl.setMaxValue(element.getSteps());
radarEl.setFormat(Format.integer);
} else if (element.getSliderType() == SliderType.continuous) {
radarEl.setLevels(10);
radarEl.setMaxValue(100);
radarEl.setFormat(Format.integer);
}
wrapper.setRadarEl(radarEl);
flc.add(id, radarEl);
return wrapper;
}
Aggregations