У меня есть магазин следующим образом.
var eventsStore = new Ext.data.Store({
model: 'Event',
sorters: [{
property: 'OccurringOn',
direction: 'DESC'
}],
proxy: {
type: 'ajax',
url: BaseURL + 'Events.php',
api: {
read: BaseURL + 'Events.php',
create: BaseURL + 'Events.php'
},
reader: {
type: 'xml',
root: 'Events',
record: 'Event'
},
writer: {
type: 'xml',
writeAllFields: false,
root: 'Events',
record: 'Event'
}
},
getGroupString: function(record) {
if (record && record.data.OccurringOn) {
console.log(record.get('OccurringOn'));
return record.get('OccurringOn').toDateString();
}
else {
return '';
}
}
});
У меня также есть представление списка, в котором все события в порядке. У меня есть форма, которая позволяет пользователю добавлять новое событие, и у меня есть FormPanel для него. Панель FormPanel имеет панель инструментов с кнопкой Сохранить, которая при нажатии будет выполнять следующие действия.
var eventCard = It's a card
var newEventCard = eventCard.items.items[1];
var currentEvent = newEventCard.getRecord();
newEventCard.updateRecord(currentEvent);
var errors = currentEvent.validate();
// here I check errors and prompt user about them
var eventList = eventCard.items.items[0].items.items[0];
var eventStore = eventList.getStore();
eventStore.add(currentEvent);
eventStore.sync();
eventStore.sort( [ { property: 'OccurringOn', direction: 'DESC' } ] );
eventList.refresh();
Приведенный выше код добавляет две пустые строки в базу данных MySQL и копирует элементы представления списка событий с 3 пустыми новыми элементами. Почему это поведение и чего мне не хватает?
Если вы можете сказать мне, какие параметры отправляются в виде POST в Events.php, когда я синхронизируюсь, это очень ценится.