Sto cercando un evento che verrà generato se l'ODataModel (lato client) verrà modificato. Il problema è che nella mia applicazione ci sono molti campi diversi che sono in grado di modificare il modello. In caso di modifica del modello avrei una funzione registrata che abilita un pulsante "Salva". Il pulsante "Salva" chiamerà il submitChanges() del modello (io uso la modalità TwoWayBinding).SAPUI5: come ottenere una notifica di un evento in caso di modifiche di ODataModel?
Attualmente ho rilevato solo il metodo "hasPendingChanges()", ma nessun evento che potevo registrare.
Qual è la soluzione suggerita per gestire questo problema?
Per gestire il cambiamento in ogni controllo "Input" sembra non essere un bel modo, perché è facile dimenticare alcuni campi (almeno se qualcun altro manterrà il codice).
mie soluzioni attuali è simile a questo ora:
sap.ui.model.odata.ODataModel.extend("MyModel", {
setProperty : function(sPath, oValue, oContext) {
sap.ui.model.odata.ODataModel.prototype.setProperty.apply(this, [sPath, oValue, oContext]);
// do something here
}
});
Come sull'override sap.ui.model.odata.ODataModel.prototype.setProperty? – cschuff
Ho controllato la documentazione, ed è davvero stupido ma non sembra esserci un evento di cambiamento. Penso che la risposta di @cschuff sia la strada da percorrere. –