Timeline
style-name can probably be renamed to jeesl-timeline ?
<p:panel header="p:timeline with styleClass: jeeslTimeline inside p:panel" styleClass="jeesl-panel">
<p:timeline value="#{stylePanelTimelineBean.model}" height="250px"
stackEvents="#{stylePanelTimelineBean.stackEvents}"
editable="edit"
eventStyle="#{stylePanelTimelineBean.eventStyle}"
showCurrentTime="#{stylePanelTimelineBean.showCurrentTime}"
styleClass="jeesl-timeline">
<p:ajax event="select" listener="#{stylePanelTimelineBean.onSelect}"/>
</p:timeline>
</p:panel>
@Named @ViewScoped
public class StylePanelTimelineBean extends AbstractJeeBean implements Serializable
{
final static Logger logger = LoggerFactory.getLogger(StylePanelTimelineBean.class);
private static final long serialVersionUID = 1L;
private boolean stackEvents = true;
private String eventStyle = "box";
private boolean showCurrentTime = true;
public boolean isShowCurrentTime() {return showCurrentTime;}
public void setShowCurrentTime(boolean showCurrentTime) {this.showCurrentTime = showCurrentTime;}
private TimelineModel model; public TimelineModel getModel() {return model;} // PF7
// private TimelineModel<String,?> model; public TimelineModel<String,?> getModel() {return model;} // PF8
@PostConstruct
public void init()
{
super.initSecurity();
model = new TimelineModel();
LocalDate ld1 = LocalDate.of(2014,6,12);
LocalDate ld2 = LocalDate.of(2014,10,11);
LocalDate ld3 = LocalDate.of(2015,12,8);
//PF7
// model.add(new TimelineEvent("PrimeUI 1.1", Date.from(ld1.atStartOfDay(ZoneId.systemDefault()).toInstant())));
// model.add(new TimelineEvent("PrimeFaces 5.1.3", Date.from(ld2.atStartOfDay(ZoneId.systemDefault()).toInstant())));
// model.add(new TimelineEvent("PrimeUI 2.2", Date.from(ld3.atStartOfDay(ZoneId.systemDefault()).toInstant())));
//PF-8
model.add(TimelineEvent.<String>builder().data("PrimeUI 1.1").startDate(ld1).build());
model.add(TimelineEvent.<String>builder().data("PrimeFaces 5.1.3").startDate(ld2).build());
model.add(TimelineEvent.<String>builder().data("PrimeUI 2.2").startDate(ld3).build());
}
public void onSelect(TimelineSelectEvent e)
{
TimelineEvent timelineEvent = e.getTimelineEvent();
logger.info("Selected "+ timelineEvent.getData().toString());
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Selected event:", timelineEvent.getData().toString());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public boolean isStackEvents() {
return stackEvents;
}
public void setStackEvents(boolean stackEvents) {
this.stackEvents = stackEvents;
}
public String getEventStyle() {
return eventStyle;
}
public void setEventStyle(String eventStyle) {
this.eventStyle = eventStyle;
}
public void update() {}
}