Search in sources :

Example 16 with Slider

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);
}
Also used : Slider(org.olat.modules.forms.model.xml.Slider)

Example 17 with Slider

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));
    }
}
Also used : Slider(org.olat.modules.forms.model.xml.Slider) FormLayoutContainer(org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer)

Example 18 with Slider

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;
}
Also used : Rubric(org.olat.modules.forms.model.xml.Rubric) Slider(org.olat.modules.forms.model.xml.Slider)

Example 19 with Slider

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;
}
Also used : Rubric(org.olat.modules.forms.model.xml.Rubric) Slider(org.olat.modules.forms.model.xml.Slider)

Example 20 with Slider

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;
}
Also used : Slider(org.olat.modules.forms.model.xml.Slider) EvaluationFormElementWrapper(org.olat.modules.forms.ui.model.EvaluationFormElementWrapper) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) RadarSeries(org.olat.core.gui.components.chart.RadarSeries) EvaluationFormSession(org.olat.modules.forms.EvaluationFormSession) RadarChartElement(org.olat.core.gui.components.chart.RadarChartElement) EvaluationFormResponse(org.olat.modules.forms.EvaluationFormResponse) Identity(org.olat.core.id.Identity)

Aggregations

Slider (org.olat.modules.forms.model.xml.Slider)20 ArrayList (java.util.ArrayList)8 EvaluationFormElementWrapper (org.olat.modules.forms.ui.model.EvaluationFormElementWrapper)8 EvaluationFormResponse (org.olat.modules.forms.EvaluationFormResponse)6 Rubric (org.olat.modules.forms.model.xml.Rubric)6 SliderType (org.olat.modules.forms.model.xml.Rubric.SliderType)6 SliderWrapper (org.olat.modules.forms.ui.model.SliderWrapper)6 HashMap (java.util.HashMap)2 RadarChartElement (org.olat.core.gui.components.chart.RadarChartElement)2 RadarSeries (org.olat.core.gui.components.chart.RadarSeries)2 FormLayoutContainer (org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer)2 Identity (org.olat.core.id.Identity)2 EvaluationFormSession (org.olat.modules.forms.EvaluationFormSession)2 ChangePartEvent (org.olat.modules.portfolio.ui.editor.event.ChangePartEvent)2 ClosePartEvent (org.olat.modules.portfolio.ui.editor.event.ClosePartEvent)2