Есть контроллер
Ext.define('Admin.controller.Companies', {
extend: 'Ext.app.Controller',
stores: ['Companies','EmploerTypes'],
models: ['Company'],
views: [
'company.List',
'company.Edit'
],
init: function () {
this.control({
'companyedit button[action=save]': {
click: this.updateCompany
}
});
},
.....
editCompany: function (grid, record) {
var view = Ext.widget('companyedit');
view.down('form').loadRecord(record);
},
updateCompany: function (button) {
var win = button.up('window'),
form = win.down('form'),
record = form.getRecord(),
values = form.getValues(),
store = this.getCompaniesStore();
if (form.getForm().isValid()) {
record.set(values);
win.close();
}
}
});
и форма
Ext.define('Admin.view.company.Edit', {
extend: 'Ext.window.Window',
alias: 'widget.companyedit',
title: 'Edit Company',
width: 600,
height: 370,
layout: 'fit',
modal: true,
autoShow: true,
initComponent: function () {
this.items = [
{
xtype: 'form',
bodyStyle: {
background: 'none',
padding: '10px',
border: '0'
},
items: [...]
}]
}];
this.buttons = [
{
text: 'Save',
action: 'save'
},
{
text: 'Cancel',
scope: this,
handler: this.close
}
];
this.callParent(arguments);
}
});
При клике на Save формы надо проверить данные на сервере, как это сделать ?
UPD: Вроде решено