summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSebastian Schmelzer2012-09-12 12:16:41 +0200
committerSebastian Schmelzer2012-09-12 12:16:41 +0200
commit7b8fb0f7a7aafd4b0bb866b66fc83a98aab2fd20 (patch)
tree7db9e1ef050d7554e2d4aab92d029f61f3dfdca7 /src
parenttransfer (diff)
downloadinfoscreen-7b8fb0f7a7aafd4b0bb866b66fc83a98aab2fd20.tar.gz
infoscreen-7b8fb0f7a7aafd4b0bb866b66fc83a98aab2fd20.tar.xz
infoscreen-7b8fb0f7a7aafd4b0bb866b66fc83a98aab2fd20.zip
rotate views successfull
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/unifr/rz/infoscreen/Index.java4
-rw-r--r--src/main/java/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.java73
-rw-r--r--src/main/resources/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.html4
3 files changed, 49 insertions, 32 deletions
diff --git a/src/main/java/de/unifr/rz/infoscreen/Index.java b/src/main/java/de/unifr/rz/infoscreen/Index.java
index 670badc..efef491 100644
--- a/src/main/java/de/unifr/rz/infoscreen/Index.java
+++ b/src/main/java/de/unifr/rz/infoscreen/Index.java
@@ -5,12 +5,10 @@ import nu.xss.web.wicket.component.bootstrap.BrandLabel;
import nu.xss.web.wicket.component.bootstrap.Navbar;
import nu.xss.web.wicket.page.SimpleBootstrapPage;
-import org.apache.wicket.ajax.AjaxSelfUpdatingTimerBehavior;
import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem;
import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.util.time.Duration;
import de.unifr.rz.infoscreen.component.CalendarContainer;
import de.unifr.rz.infoscreen.component.CalendarViewCarrousel;
@@ -40,7 +38,7 @@ public class Index extends SimpleBootstrapPage {
"calendarContainer",
new IcsEventProvider(
"http://www.verwaltung.uni-freiburg.de/lsfserver/rds?state=verpublish&status=transform&vmfile=no&termine=165887,165887,192598,192599,200957&moduleCall=iCalendarPlan&publishConfFile=reports&publishSubDir=veranstaltung"
- )).add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(10)))
+ ))
);
setMainContent(container);
diff --git a/src/main/java/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.java b/src/main/java/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.java
index 8c8cd08..23fdc77 100644
--- a/src/main/java/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.java
+++ b/src/main/java/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.java
@@ -4,47 +4,69 @@ import java.util.Calendar;
import net.ftlines.wicket.fullcalendar.EventProvider;
-import org.apache.wicket.AttributeModifier;
+import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.util.time.Duration;
public class CalendarViewCarrousel extends Panel {
private static final long serialVersionUID = 1L;
-
+
private EventProvider eventProvider;
-
+
private Panel weekView;
private Panel dayView;
private Panel eventView;
+ private Panel currentView;
public CalendarViewCarrousel(String id, EventProvider ep) {
super(id);
setEventProvider(ep);
setOutputMarkupId(true);
+
+ weekView = new WeekCalendar("cal", getEventProvider());
+ dayView = new DayCalendar("cal", getEventProvider());
+ eventView = new EventCalendar("cal", getEventProvider());
+
+ weekView.setOutputMarkupId(true);
+ dayView.setOutputMarkupId(true);
+ eventView.setOutputMarkupId(true);
- weekView = new WeekCalendar("cal_week", getEventProvider());
- dayView = new DayCalendar("cal_day", getEventProvider());
- eventView = new EventCalendar("cal_event", getEventProvider());
-
- add(weekView);
- add(dayView);
- add(eventView);
-
- Calendar cal = Calendar.getInstance();
+ currentView = weekView;
- if ((int)(cal.get(Calendar.SECOND) / 20) == 0) {
- weekView.add(new AttributeModifier("style", "hidden:false;"));
- dayView.add(new AttributeModifier("style", "hidden:true;"));
- eventView.add(new AttributeModifier("style", "hidden:true;"));
- } else if ((int)(cal.get(Calendar.SECOND) / 20) == 1) {
- weekView.add(new AttributeModifier("style", "hidden:true;"));
- dayView.add(new AttributeModifier("style", "hidden:false;"));
- eventView.add(new AttributeModifier("style", "hidden:true;"));
- } else {
- weekView.add(new AttributeModifier("style", "hidden:true;"));
- dayView.add(new AttributeModifier("style", "hidden:true;"));
- eventView.add(new AttributeModifier("style", "hidden:false;"));
- }
+ add(currentView);
+
+ // rotate view every 10 sec
+ add(new AbstractAjaxTimerBehavior(Duration.seconds(10)) {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onTimer(AjaxRequestTarget target) {
+ System.out.println("ajaxcall");
+ if (target != null) {
+ Calendar cal = Calendar.getInstance();
+
+ if ((int) ((cal.get(Calendar.SECOND) % 30) / 10) == 0) {
+ currentView.replaceWith(weekView);
+ currentView = weekView;
+ System.out.println("weekView");
+ } else if ((int) ((cal.get(Calendar.SECOND) % 30) / 10) == 1) {
+ currentView.replaceWith(dayView);
+ currentView = dayView;
+ System.out.println("dayView");
+ } else {
+ currentView.replaceWith(eventView);
+ currentView = eventView;
+ System.out.println("eventView");
+ }
+ target.add(currentView);
+ target.add(getComponent());
+ }
+ }
+
+ });
}
public EventProvider getEventProvider() {
@@ -54,5 +76,4 @@ public class CalendarViewCarrousel extends Panel {
public void setEventProvider(EventProvider eventProvider) {
this.eventProvider = eventProvider;
}
-
}
diff --git a/src/main/resources/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.html b/src/main/resources/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.html
index 64d715f..3a32492 100644
--- a/src/main/resources/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.html
+++ b/src/main/resources/de/unifr/rz/infoscreen/component/CalendarViewCarrousel.html
@@ -5,9 +5,7 @@
</head>
<body>
<wicket:panel>
- <div wicket:id="cal_week"></div>
- <div wicket:id="cal_day"></div>
- <div wicket:id="cal_event"></div>
+ <div wicket:id="cal"></div>
</wicket:panel>
</body>
</html> \ No newline at end of file