Here it is :
Code:
var storeCompEC = Ext.create('Ext.data.Store', { fields: [
{name: 'idCivilite', type: 'integer'},
{name: 'patronyme', type: 'string'},
{name: 'nomIndividu', type: 'string'},
{name: 'prenom', type: 'string'},
{name: 'dateNaissance', type: 'date'},
{name: 'sexe', type: 'string'},
{name: 'idPCS', type: 'integer'},
{name: 'idSituationFamiliale', type: 'integer'},
{name: 'idPays', type: 'integer'},
{name: 'NIR', type: 'string'},
{name: 'dateDeces', type: 'date'},
{name: 'idJustificatifDeces', type: 'integer'}
]
});
Ext.define('Infologis.controller.Beneficiaire', {
extend: 'Ext.app.Controller',
//Les vues contrôlées
views: [
...
],
init: function() {
ctrler=this; this.control({
'panel[action="closeEC"]':
{
beforeclose: this.saveEC
}
});
},
saveEC: function(pan)
{
var modif = false;
var comp = storeCompEC.data.items[0].data;
var data = pan.child('form[name="centre"]').getValues();
var nomsCps = storeCompEC.model.getFields();
for (var i in nomsCps) {
var nam = nomsCps[i].name;
if(data[nam] != comp[nam]) {
modif = true;
}
}
if(modif) {
Ext.MessageBox.confirm({
title: 'Confirmer',
msg: 'L\'enregistrement a été modifié.\nVoulez-vous enregistrer les modifications ?',
buttons: Ext.MessageBox.YESNOCANCEL,
fn: function(btn) {
if(btn == 'yes') {
Ext.Ajax.request({
url: 'individu/update-etat-civil',
params: data,
success: function() {
Ext.MessageBox.alert('Succes !', 'Les changements ont ete enregistres.');
// let panel's closure go
},
failure: function() {
Ext.MessageBox.alert('Erreur !', 'Une erreur est survenue durant l\'operation de mise à jour.');
// stop panel's closure
}
});
} else if(btn == 'cancel') {
// stop panel's closure
}
}
});
}
}
I hope it'll help you helping me 