Это мой магазин MyStore.js
Ext.define('myProject.store.MyStore', {
config:{
storeId: 'MyStore',
autoLoad: false,
autoSync: false,
allowSingle: true,
clearOnPageLoad: true,
model: 'abc.model.MyStoreModel',
proxy: {
type: 'rest',
actionMethods: {create: 'POST', read: 'GET', update: 'POST', destroy: 'POST'},
url:'/services/rest/MyService/myService',
reader: {
type: 'json',
rootProperty:MyServiceView.elements.collection',
successProperty : 'success'
},
writer:
{
type: 'json',
root: 'MyServiceDataView',
nameProperty: 'mapping',
expandData : true
},
listeners: {
exception: function(proxy,response,operation){
}
}
}
}
});
Это моя модель
Ext.define( 'myProject.model.MyStoreModel', {
extend: 'Ext.data.Model',
config:{
idProperty: 'keyStr',
fields:[
{
name: 'keyStr',
type: 'string',
},
{
name: 'sId',
type: 'int'
},
{
name: 'dCode',
type: 'string'
},
{
name: 'sNumber',
type: 'int'
}
]
},
});
Внутри моего Controller.js у меня есть этот метод
syncMyStore: function()
{
var deferred = Q.defer();
var successfulSync= 'false';
var me = this;
var myStore = Ext.getStore('MyStore');
if(this.isSyncRequires(myStore)) //assume this is always true
{
myStore.sync({
success: function () {
successfulSync = 'true';
deferred.fulfill();
}
});
}
else
{
deferred.fulfill();
}
return successfulSync;
},
- Предположим, у меня есть 5 записей в моем хранилище, т.е. record0, record2 ... record4.
- Для каждой записи он вызывает службу отдыха.Итого всего 5 вызовов Rest
Требование 1: Вместо использования свойства success я хочу выполнить некоторые действия на основе кода состояния.т. е. если код состояния 200, считайте его успешным.
Требование 2: после каждого вызова покоя я хочу удалить запись / пометить «грязный» как ложный на основе статуса ответа (200) для этой конкретной записи.
Значит, предположим, для записи1 иrecord2, если код состояния 200, тогда я хочу удалить / пометить dirty = false только для записи 1 и записи 2.
Я буду очень благодарен вам, если вы поможете мне с этим.