Ich habe eine Ansicht mit 2 Gittern. Die Gitter werden von 2 Modellen unterstützt. Die Beziehung zwischen den beiden Modellen ist eins zu viele (keyless association).Extjs6 Update löscht nicht schmutziges Flag
Modelle:
Ext.define('TestApp.model.association.Project', {
extend: Ext.data.Model,
fields: [
{
type: 'int',
name: 'id'
}, {
type: 'string',
name: 'project'
}, {
type: 'number',
name: 'allocation'
}, {
type: 'string',
name: 'comments'
}, {
type:'string',
name:'state'
}
]
});
Ext.define('TestApp.model.association.User', {
extend: Ext.data.Model,
fields: [{
type: 'int',
name: 'id'
}, {
type: 'string',
name: 'employee'
}, {
type: 'string',
name: 'location'
}, {
type: 'string',
name: 'department'
}, {
type: 'string',
name: 'manager'
}, {
type: 'number',
name: 'allocation'
}],
hasMany: [{
model: 'TestApp.model.association.Project',
// Note: use of 'role' is preferred over 'name'
role: 'projects',
// Define role for inverse association
inverse: {
role: 'user'
}
}]
});
Nachdem ich eine Zeile von dem Kind Teil bearbeiten, habe ich den übergeordneten Datensatz als schmutzig (dirty = true) und dann synchronisieren ich den Laden. Nachdem ich die notwendigen Arbeiten am Server durchgeführt habe, sende ich die Antwort zurück. Nachdem ich die Antwort erhalten habe, bleibt die schmutzige Flagge auf dem Kindteil wahr.
Wenn keine Zuordnung vorhanden ist, wird nach dem Empfang der Antwort vom Server die Markierung "dreckig" automatisch gelöscht.
Ich habe eine fiddle für weitere Details erstellt.
Wie lösche ich die schmutzige Flagge von einer Verbindung nach einem Update?
bearbeiten
Ich habe die Geige aktualisiert besser mein Problem zu zeigen. Schritte zum Reproduzieren:
- Wählen John Doe Datensatz aus der oberen Platte
- Wählen Sie Apple von der Bodenplatte
- bearbeiten Zuordnung und Kommentare Spalte (Zeile bearbeiten Plugin verfügbar). Drücken Sie Ok
- Drücken Sie die Schaltfläche Speichern in der Symbolleiste des zweiten Gitters
Die Anfrage wird an den Server gesendet. Der Server antwortet mit einem json (die Serverantwort ist fest codiert und wird immer dieselbe sein).
Der Client kann den in der Antwort empfangenen untergeordneten Datensatz nicht festlegen und das schmutzige Flag deaktivieren.
Warum macht das? Ist das ein Fehler?
Sie für die Einstellung Dirty-Flag auf Server abhängig sind, oder können Sie Code für es für schmutzige Flagge für Eltern-> Kind einstellen. – Tejas
@ Tejas1991 Ich habe deine Aussage nicht ganz verstanden. Ich sende einen JSON an den Server mit den Änderungen. Der Server antwortet mit einem JSON, der den Datensatz enthält, nachdem er in der Datenbank gespeichert wurde. Es ist eine Ruheanwendung. Der schmutzige Zustand wird auf dem Client festgelegt, nachdem ich einige Änderungen vorgenommen habe – florin
Warum programmierst du nicht programmatisch das Feld 'dirty' des Feldes, anstatt die Daten des Servers darauf zu setzen? Eine Sache können Sie mir über Ihren Code sagen, wo Sie Server-Daten einstellen – Tejas