use of org.olat.modules.forms.ui.model.SliderWrapper in project openolat by klemens.
the class CompareEvaluationsFormController method forgeSliderStats.
private SliderWrapper forgeSliderStats(Slider slider, Rubric element, List<EvaluationFormResponse> responses) {
String id = "overview_" + (count++);
SliderOverviewElement overviewEl = new SliderOverviewElement(id);
overviewEl.setMinValue(element.getStart());
overviewEl.setMaxValue(element.getEnd());
flc.add(id, overviewEl);
List<SliderPoint> values = new ArrayList<>();
if (responses != null && responses.size() > 0) {
for (EvaluationFormResponse response : responses) {
if (response.getNumericalResponse() != null) {
Identity evaluator = response.getSession().getIdentity();
String color = evaluatorToColors.get(evaluator);
double value = response.getNumericalResponse().doubleValue();
values.add(new SliderPoint(color, value));
}
}
}
overviewEl.setValues(values);
return new SliderWrapper(slider, overviewEl);
}
use of org.olat.modules.forms.ui.model.SliderWrapper in project openolat by klemens.
the class EvaluationFormController method forgeContinuousSlider.
private SliderWrapper forgeContinuousSlider(Slider slider, Rubric element, EvaluationFormResponse response) {
SliderElement sliderEl = uifactory.addSliderElement("slider_" + (count++), null, flc);
sliderEl.setDomReplacementWrapperRequired(false);
sliderEl.addActionListener(FormEvent.ONCHANGE);
sliderEl.setEnabled(!readOnly);
if (response != null && response.getNumericalResponse() != null) {
double val = response.getNumericalResponse().doubleValue();
sliderEl.setInitialValue(val);
}
sliderEl.setMinValue(element.getStart());
sliderEl.setMaxValue(element.getEnd());
SliderWrapper sliderWrapper = new SliderWrapper(slider, sliderEl);
sliderEl.setUserObject(sliderWrapper);
return sliderWrapper;
}
use of org.olat.modules.forms.ui.model.SliderWrapper in project openolat by klemens.
the class EvaluationFormController method validate.
@Override
public boolean validate(UserRequest ureq, List<ValidationMessage> messages) {
boolean allFiled = true;
for (EvaluationFormElementWrapper elementWrapper : elementWrapperList) {
if (elementWrapper.isTextInput()) {
TextInputWrapper wrapper = elementWrapper.getTextInputWrapper();
if (wrapper != null && !hasResponse(wrapper.getId())) {
allFiled &= false;
}
} else if (elementWrapper.isFileUpload()) {
FileUploadWrapper wrapper = elementWrapper.getFileUploadWrapper();
if (wrapper != null && !hasResponse(wrapper.getId())) {
allFiled &= false;
}
} else if (elementWrapper.getSliders() != null && elementWrapper.getSliders().size() > 0) {
for (SliderWrapper slider : elementWrapper.getSliders()) {
if (slider != null && !hasResponse(slider.getId())) {
allFiled &= false;
}
}
}
}
if (!allFiled) {
String msg = translate("warning.form.not.completed");
messages.add(new ValidationMessage(Level.warning, msg));
}
return validateFormLogic(ureq);
}
use of org.olat.modules.forms.ui.model.SliderWrapper in project openolat by klemens.
the class EvaluationFormController method forgeDiscreteRadioButtons.
private SliderWrapper forgeDiscreteRadioButtons(Slider slider, Rubric element, EvaluationFormResponse response) {
int start = element.getStart();
int end = element.getEnd();
int steps = element.getSteps();
double[] theSteps = new double[steps];
String[] theKeys = new String[steps];
String[] theValues = new String[steps];
double step = (end - start + 1) / (double) steps;
for (int i = 0; i < steps; i++) {
theSteps[i] = start + (i * step);
theKeys[i] = Double.toString(theSteps[i]);
theValues[i] = "";
}
SingleSelection radioEl = uifactory.addRadiosVertical("slider_" + (count++), null, flc, theKeys, theValues);
radioEl.setDomReplacementWrapperRequired(false);
radioEl.addActionListener(FormEvent.ONCHANGE);
radioEl.setEnabled(!readOnly);
radioEl.setAllowNoSelection(true);
int widthInPercent = EvaluationFormElementWrapper.getWidthInPercent(element);
radioEl.setWidthInPercent(widthInPercent, true);
if (response != null && response.getNumericalResponse() != null) {
double val = response.getNumericalResponse().doubleValue();
double error = step / 10.0d;
for (int i = 0; i < theSteps.length; i++) {
double theStep = theSteps[i];
double margin = Math.abs(theStep - val);
if (margin < error) {
radioEl.select(theKeys[i], true);
}
}
}
SliderWrapper sliderWrapper = new SliderWrapper(slider, radioEl);
radioEl.setUserObject(sliderWrapper);
return sliderWrapper;
}
Aggregations