Ich habe diese XHTML, in der ich AP: Zeitachse habe ... ich möchte, wenn ich ein Objekt (Training pLan) auswählen, einen modalen Dialog mit der Einzelheiten. Aber ich kann das Select-Event nicht auslösen ... die Methode wird nie aufgerufen!Wähle Ereignis von p: Zeitleiste von Primefaces 6 löst keine Bean - Methode aus
Hier ist mein xhtml Code
<fieldset class="scheduler-border">
<legend class="scheduler-border">#{msg['tp_list']}</legend>
<p:timeline id="timeline" value="#{nav.model}" height="450px" selectable="#{nav.selectable}" zoomable="# {nav.zoomable}" moveable="#{nav.moveable}" stackEvents="#{nav.stackEvents}" axisOnTop="#{nav.axisOnTop}" eventStyle="#{nav.eventStyle}" showCurrentTime="#{nav.showCurrentTime}" showNavigation="#{nav.showNavigation}">
<p:ajax event="select" listener="#{nav.onSelect}" />
</p:timeline>
</fieldset>
hier ist meine Bohne:
@Named("nav")
@ViewScoped
private TimelineModel model;
private boolean selectable = true;
private boolean zoomable = true;
private boolean moveable = true;
private boolean stackEvents = true;
private String eventStyle = "box";
private boolean axisOnTop;
private boolean showCurrentTime = true;
private boolean showNavigation = false;
.
.
.
@PostConstruct
protected void initialize() {
LOGGER.info("In post-Construct INITIALIZE!");
model = new TimelineModel();
allPlans = tPlanService.getAllTPlan();
for (TrainingPlan tp : allPlans) {
LOGGER.info("IN FOR: " + tp.getEndDate());
model.add(new TimelineEvent(tp.getName(), tp.getStartDate(), tp.getEndDate()));
}
}
public void onSelect(TimelineSelectEvent e) {
LOGGER.info("In onSelect of NAV");
TimelineEvent timelineEvent = e.getTimelineEvent();
facesMessageBox.infoMessage("Selected event:", "aaaaaaaaaaaaaaaaaaaaa");
}
diese Methode (onSelect) wird nie von der Ajax genannt! :(
Ok! Danke! Das hat den Trick! Aber ich musste mein Formular in zwei "brach", weil ich einige Daten von DB in einem Modal zu zeigen bekam ! Aber hat perfekt funktioniert! :) – PcS
Hatte das gleiche Problem. Problem ausgelöst und wird behoben in 6.2 https://github.com/primefaces/primefaces/issues/2425: Timeline clientId generation gebrochen – Ravi
Wenn ich dies versuche, bekomme ich "Kann Komponente für Ausdruck nicht finden": form "" als Javascript-Fehler – Momus