Skip to content
Snippets Groups Projects
Commit 44dfa176 authored by srosse's avatar srosse
Browse files

OO-2437: add delete button for sliders

parent c6abc3b8
No related branches found
No related tags found
No related merge requests found
......@@ -201,7 +201,17 @@ public class RubricEditorController extends FormBasicController implements PageE
String endLabel = slider.getEndLabel();
TextElement endLabelEl = uifactory.addTextElement("end.label." + count.incrementAndGet(), "end.label", 256, endLabel, flc);
endLabelEl.setDomReplacementWrapperRequired(false);
return new SliderRow(slider, startLabelEl, endLabelEl);
SliderRow row = new SliderRow(slider, startLabelEl, endLabelEl);
if(!restrictedEdit) {
FormLink deleteButton = uifactory.addFormLink("del." + count.incrementAndGet(), "delete_slider", "", null, flc, Link.BUTTON | Link.NONTRANSLATED);
deleteButton.setDomReplacementWrapperRequired(false);
deleteButton.setIconLeftCSS("o_icon o_icon-lg o_icon_delete_item");
deleteButton.setUserObject(row);
row.setDeleteButton(deleteButton);
flc.contextPut("deleteButtons", Boolean.TRUE);
}
return row;
}
@Override
......@@ -233,10 +243,22 @@ public class RubricEditorController extends FormBasicController implements PageE
if(validateFormLogic(ureq)) {
formOK(ureq);
}
} else if(source instanceof FormLink) {
FormLink button = (FormLink)source;
if("delete_slider".equals(button.getCmd())) {
doRemoveSlider((SliderRow)button.getUserObject());
}
}
super.formInnerEvent(ureq, source, event);
}
private void doRemoveSlider(SliderRow row) {
updateSteps();
sliders.remove(row);
rubric.getSliders().remove(row.getSlider());
flc.setDirty(true);
}
private void doAddSlider() {
Slider slider = new Slider();
slider.setId(UUID.randomUUID().toString());
......@@ -363,6 +385,7 @@ public class RubricEditorController extends FormBasicController implements PageE
private final TextElement startLabelEl;
private final TextElement endLabelEl;
private FormLink deleteButton;
private final Slider slider;
......@@ -383,5 +406,13 @@ public class RubricEditorController extends FormBasicController implements PageE
public TextElement getEndLabelEl() {
return endLabelEl;
}
public FormLink getDeleteButton() {
return deleteButton;
}
public void setDeleteButton(FormLink deleteButton) {
this.deleteButton = deleteButton;
}
}
}
......@@ -15,10 +15,11 @@
#end
#foreach($slider in $sliders)
<div class="row o_slider_editor">
<div class="row o_slider_editor #if($r.isNotNull($slider.deleteButton) && $r.visible($slider.deleteButton)) o_slider_editor_delete #end">
<div class="col-sm-3">$r.render($slider.startLabelEl)</div>
<div class="col-sm-6">.....</div>
<div class="col-sm-3">$r.render($slider.endLabelEl)</div>
#if($r.isNotNull($slider.deleteButton) && $r.visible($slider.deleteButton))<div class="o_slider_editor_delete_button">$r.render($slider.deleteButton)</div>#end
</div>
#end
<div class="o_button_group">
......
......@@ -122,6 +122,7 @@
.o_slider_editor {
margin-top: 10px;
position:relative;
}
.o_evaluation_step_labels {
......@@ -131,4 +132,13 @@
width: 100%;
}
}
.o_slider_editor_delete {
padding-right: 48px;
.o_slider_editor_delete_button {
position: absolute;
right: 15px;
}
}
}
\ No newline at end of file
This diff is collapsed.
source diff could not be displayed: it is too large. Options to address this: view the blob.
source diff could not be displayed: it is too large. Options to address this: view the blob.
This diff is collapsed.
source diff could not be displayed: it is too large. Options to address this: view the blob.
source diff could not be displayed: it is too large. Options to address this: view the blob.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment