Stateofmind
git-svn-id: svn://svn.dsv.su.se/scipro/scipro/trunk@257 73ecded7-942e-4092-bab0-0e58ef0ee984
This commit is contained in:
parent
34894d251e
commit
8a4c2d9a21
src/main/java/se/su/dsv/scipro/project/panels
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<head>
|
||||
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
|
||||
</head>
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<div wicket:id="sliderLabel"></div>
|
||||
<div wicket:id="slider"></div>
|
||||
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
@ -3,10 +3,99 @@
|
||||
*/
|
||||
package se.su.dsv.scipro.project.panels;
|
||||
|
||||
import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.PropertyModel;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
import org.odlabs.wiquery.ui.core.DefaultJsScopeUiEvent;
|
||||
import org.odlabs.wiquery.ui.slider.AjaxSlider;
|
||||
import org.odlabs.wiquery.ui.slider.AjaxSlider.ISliderAjaxEvent;
|
||||
import org.odlabs.wiquery.ui.slider.Slider;
|
||||
import org.odlabs.wiquery.ui.slider.Slider.Orientation;
|
||||
|
||||
import se.su.dsv.scipro.basepages.PublicPage;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
import se.su.dsv.scipro.data.enums.StateOfMind;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class StateOfMindPanel {
|
||||
public class StateOfMindPanel extends Panel {
|
||||
|
||||
/**
|
||||
* @param id
|
||||
*/
|
||||
|
||||
@SpringBean
|
||||
private ProjectDao projectDao;
|
||||
private Label sliderLabel;
|
||||
private String sliderValue;
|
||||
private final static int NEEDHELPINT = 0, NEUTRALINT = 1, FANTASTICINT = 2;
|
||||
|
||||
public StateOfMindPanel(String id) {
|
||||
super(id);
|
||||
final Project project = projectDao.load(1L);
|
||||
StateOfMind stateOfMind = project.getStateOfMind();
|
||||
final Slider slider = new Slider("slider", 0, 2) {
|
||||
|
||||
};
|
||||
AbstractDefaultAjaxBehavior sliderBehavior = new AbstractDefaultAjaxBehavior() {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void respond(AjaxRequestTarget target) {
|
||||
// We get the slider value
|
||||
int value = Integer.parseInt(this.getComponent().getRequest()
|
||||
.getParameter("sliderIntValue"));
|
||||
if (value == NEEDHELPINT) {
|
||||
sliderValue = "Need Help";
|
||||
project.setStateOfMind(StateOfMind.NEEDHELP);
|
||||
} else if (value == NEUTRALINT) {
|
||||
sliderValue = "Neutral";
|
||||
project.setStateOfMind(StateOfMind.NEUTRAL);
|
||||
} else if (value == FANTASTICINT) {
|
||||
sliderValue = "Fantastic";
|
||||
project.setStateOfMind(StateOfMind.FANTASTIC);
|
||||
}
|
||||
projectDao.save(project);
|
||||
target.addComponent(sliderLabel);
|
||||
}
|
||||
};
|
||||
add(sliderBehavior);
|
||||
|
||||
|
||||
switch (stateOfMind) {
|
||||
case NEEDHELP:
|
||||
slider.setValue(NEEDHELPINT);
|
||||
sliderValue = "Need Help";
|
||||
break;
|
||||
case NEUTRAL:
|
||||
slider.setValue(NEUTRALINT);
|
||||
sliderValue = "Neutral";
|
||||
break;
|
||||
case FANTASTIC:
|
||||
slider.setValue(FANTASTICINT);
|
||||
sliderValue = "Fantastic";
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
slider.setChangeEvent(new DefaultJsScopeUiEvent("wicketAjaxGet('"
|
||||
+ sliderBehavior.getCallbackUrl(true) + "&sliderInt"
|
||||
+ "Value='+" + Slider.UI_VALUE
|
||||
+ ", null,null, function() {return true;})"));
|
||||
add(slider);
|
||||
|
||||
|
||||
|
||||
sliderLabel = new Label("sliderLabel",
|
||||
new PropertyModel<StateOfMindPanel>(this, "sliderValue"));
|
||||
sliderLabel.setOutputMarkupPlaceholderTag(true);
|
||||
add(sliderLabel);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user