Done with upcomingEventPanel
This commit is contained in:
parent
bfa5f8ad7c
commit
e842e1e543
src/main/java/se/su/dsv/scipro/project/panels
@ -4,14 +4,20 @@
|
||||
<wicket:panel>
|
||||
<div class="span-10 last">
|
||||
<h5 class="peer-title">Upcoming events</h5>
|
||||
<div wicket:id="eventListContainer">
|
||||
<div wicket:id="events">
|
||||
<span wicket:id="title"></span>
|
||||
<span wicket:id="date"></span>
|
||||
</div>
|
||||
<div wicket:id="eventListContainer" class="span-10 last">
|
||||
<div class="span-10 last"></div>
|
||||
<div class="span-10 last" wicket:id="events">
|
||||
<div wicket:id="eventPanel"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div wicket:id="dialog">
|
||||
<div wicket:id="dialogContainer">
|
||||
<div wicket:id="containerContent">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
@ -1,18 +1,22 @@
|
||||
package se.su.dsv.scipro.project.panels;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.wicket.Page;
|
||||
import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.markup.html.WebMarkupContainer;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.list.ListItem;
|
||||
import org.apache.wicket.markup.html.list.ListView;
|
||||
import org.apache.wicket.markup.html.panel.EmptyPanel;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
import org.odlabs.wiquery.core.effects.EffectSpeed;
|
||||
import org.odlabs.wiquery.ui.dialog.Dialog;
|
||||
|
||||
import se.su.dsv.scipro.SciProSession;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.EventDao;
|
||||
@ -20,6 +24,11 @@ import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
|
||||
import se.su.dsv.scipro.data.dataobjects.Event;
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.project.pages.ProjectEventPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectScheduleGeneratorPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectSchedulePlannerPage;
|
||||
import se.su.dsv.scipro.schedule.baseevent.panels.EventSchedulePanel;
|
||||
import se.su.dsv.scipro.util.WiQueryCoreEffectsHelper;
|
||||
|
||||
public class UpcomingEventPanel extends Panel{
|
||||
|
||||
@ -39,8 +48,11 @@ public class UpcomingEventPanel extends Panel{
|
||||
private User user;
|
||||
private ListView<Event> eventList;
|
||||
private IModel<List<Event>> listModel;
|
||||
private WebMarkupContainer wmc;
|
||||
private WebMarkupContainer eventListContainer;
|
||||
private int amountToShow;
|
||||
private WebMarkupContainer dialogContainer;
|
||||
private Dialog dialog;
|
||||
private Model<String> dialogTitle = new Model<String>("");
|
||||
|
||||
public UpcomingEventPanel(String id, final Project p, final int amountToShow){
|
||||
super(id);
|
||||
@ -48,6 +60,19 @@ public class UpcomingEventPanel extends Panel{
|
||||
this.user = SciProSession.get().getUser();
|
||||
this.amountToShow = amountToShow;
|
||||
|
||||
dialogContainer = new WebMarkupContainer("dialogContainer");
|
||||
dialogContainer.setOutputMarkupId(true);
|
||||
dialogContainer.setVersioned(false);
|
||||
dialogContainer.add(new EmptyPanel("containerContent"));
|
||||
dialog = new Dialog("dialog");
|
||||
dialog.setModal(true);
|
||||
dialog.setAutoOpen(false);
|
||||
dialog.add(dialogContainer);
|
||||
dialog.setWidth(600);
|
||||
dialog.setHeight(450);
|
||||
dialog.setTitle(dialogTitle);
|
||||
add(dialog);
|
||||
|
||||
listModel = new LoadableDetachableModel<List<Event>>(){
|
||||
/**
|
||||
*
|
||||
@ -58,10 +83,9 @@ public class UpcomingEventPanel extends Panel{
|
||||
protected List<Event> load() {
|
||||
List<Event> list = eventDao.getEventsByUserAndProject(user, project,
|
||||
new Date(), null, null);
|
||||
//Collections.reverse(list);
|
||||
/*if(amountToShow < list.size()){ //use this to limit the events shown
|
||||
if(amountToShow < list.size()){ //use this to limit the events shown
|
||||
list = list.subList(0, amountToShow);
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
return list;
|
||||
@ -72,20 +96,79 @@ public class UpcomingEventPanel extends Panel{
|
||||
|
||||
eventList = new ListView<Event>("events", listModel){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
protected void populateItem(ListItem<Event> item) {
|
||||
final Event e = item.getModelObject();
|
||||
item.add(new EventSchedulePanel("eventPanel", e, project, false){
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
@Override
|
||||
public void replaceAndOpenDialog(AjaxRequestTarget target,
|
||||
Panel replacePanel) {
|
||||
dialogContainer.replace(replacePanel);
|
||||
target.addComponent(dialogContainer);
|
||||
dialog.open(target);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void refreshListView(AjaxRequestTarget target) {
|
||||
target.addComponent(WiQueryCoreEffectsHelper.fadeIn(eventListContainer, EffectSpeed.FAST));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeDialogAndRefreshListView(AjaxRequestTarget target) {
|
||||
target.addComponent(WiQueryCoreEffectsHelper.fadeIn(eventListContainer, EffectSpeed.FAST));
|
||||
dialog.close(target);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEventDetailsClick() {
|
||||
PageParameters pp = getEventPageParameters();
|
||||
pp.add(Event.PP_EVENT_ID, String.valueOf(e.getId()));
|
||||
setResponsePage(getEventPageClass(), pp);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
add(item);
|
||||
}
|
||||
};
|
||||
|
||||
/*@Override
|
||||
protected void populateItem(ListItem<Event> item) {
|
||||
final Event e = item.getModelObject();
|
||||
item.add(new Label("title", e.getTitle()));
|
||||
item.add(new Label("date", e.getDueDate().toString()));
|
||||
}
|
||||
|
||||
};
|
||||
};*/
|
||||
|
||||
wmc = new WebMarkupContainer("eventListContainer");
|
||||
wmc.setOutputMarkupId(true);
|
||||
wmc.add(eventList);
|
||||
add(wmc);
|
||||
eventListContainer = new WebMarkupContainer("eventListContainer");
|
||||
eventListContainer.setOutputMarkupId(true);
|
||||
eventListContainer.add(eventList);
|
||||
add(eventListContainer);
|
||||
}
|
||||
|
||||
|
||||
public Class<? extends Page> getGeneratorPageClass() {
|
||||
return ProjectScheduleGeneratorPage.class;
|
||||
}
|
||||
|
||||
public Class<? extends Page> getEventPageClass() {
|
||||
return ProjectEventPage.class;
|
||||
}
|
||||
|
||||
public PageParameters getSchedulePageParameters(){
|
||||
return new PageParameters();
|
||||
}
|
||||
public PageParameters getGeneratorPageParameters(){
|
||||
return new PageParameters();
|
||||
}
|
||||
public PageParameters getEventPageParameters(){
|
||||
return new PageParameters();
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user