Beim Anpassen eines Plugins (Quiz) ergibt sich folgendes Problem, für das ich keine Lösung finde.
In einer Liste von Quiz gibt es diverse Buttons Statistik und Bestenliste.
Diese öffnen jeweils eine grouped UserList:
_statQuiz: function(event) {
event.preventDefault();
this._quizID = $(event.currentTarget).data('objectID');
var $userList = new WCF.User.List('wcf\\data\\quiz\\QuizAction', WCF.Language.get('wcf.user.quiz.stats'), {
data: {
quizID: this._quizID,
type: 'stat'
}
});
$userList.open();
},
_bestQuiz: function(event) {
event.preventDefault();
this._quizID = $(event.currentTarget).data('objectID');
var $userList = new WCF.User.List('wcf\\data\\quiz\\QuizAction', WCF.Language.get('wcf.user.quiz.best'), {
data: {
quizID: this._quizID,
type: 'best'
}
});
$userList.open();
},
Display More
type variiert abhängig vom Button (Statistik oder Bestenliste). Entsprechend quizID und type werden in der Action-Klasse (über getGroupedUserList) die korrekten Daten ermittelt und übergeben. Im JS werden gemäß gewähltem Button die richtigen Funktionen angesprochen und auch dort liegen die korrekten Daten vor.
Fehler:
Nach dem Laden der Seite und Klick auf einen Button Statistik oder Bestenliste werden die Daten korrekt in einem Dialog angezeigt (z.B. Quiz dfg, Bestenliste). Bei weiteren Klicks auf irgendeinen Statistik- oder Bestenlisten-Button eines Quiz werden aber nicht die Daten des gewählten Quiz und der gewählten Liste (Statistik oder Bestenliste) angezeigt, sondern es wird immer nur der Inhalt des ersten Dialogs (Quiz dfg, Bestenliste) angezeigt. Erst nach Reload der Seite wird wieder einmalig die korrekte Liste angezeigt und in der Folge immer nur diese.
In WCF 2.1. tritt dieser Fehler bei identischem Code nicht auf. Und WCF.User.List hat sich in WSC (abgesehen von einer hier irrelevanten Code-Zeile) auch nicht geändert. Trotzdem tritt der Fehler in WSC auf. Es muss sich also irgendetwas 'im Hintergrund' geändert haben.
Nur was? Und was könnte den Fehler verursachen?