Im работает над проектом с Sencha Touch и прокси-сервером sqlite вы можете найти here. Этот сайт находится в среде телефонных разговоров, но он не используется, когда я запускаю его из браузера.ExtJs Магазин не найден, но сохранен недавно
У меня есть модель WorkShift
, которая используется WorkShifts
магазинами.
Модель:
Ext.define('KCS.model.WorkShift', {
extend: 'Ext.data.Model',
config: {
fields: [
{ name: 'id', type: 'int' },
{ name: 'WorkShiftID', type: 'int' },
{ name: 'StartDate', type: 'date' },
{ name: 'ClosureDate', type: 'date' },
],
proxy: {
type: 'sqlitestorage',
dbConfig: {
tablename: 'tbl_WorkShift',
dbConn: KCS.util.InitSQLite.getConnection()
}
}
}
});
И магазин:
Ext.define('KCS.store.WorkShifts', {
extend: 'Ext.data.Store',
requires: ['KCS.model.WorkShift'],
config: {
model: 'KCS.model.WorkShift',
autoLoad: true,
storeId: 'WorkShifts',
pageSize: 1000
}
});
Теперь в моем контроллер, я хочу увидеть, если есть открытая WorkShift
(если приложение разбился или был закрыт без закрытия последнего Workshift
.) Поэтому я использую обратный вызов запуска следующим образом:
launch : function(){
var workShifts = Ext.getStore('WorkShifts');
workShifts.clearFilter(true);
var openedWS = workShifts.findBy(function(record){
return (record.get("StartDate") != null) &&
(record.get("ClosureDate") == null);
});
if(openedWS != -1){
// do stuff when an opened WS is found
}
else{
// do normal stuff
}
},
Я проверил множество тестов. Во-первых, в sqlite есть куча допустимых записей, и я могу создать WS из магазина и модели. Также есть запись, которая соответствует тесту bool test findBy
. Я пробовал workShifts.getCount()
и даже workShifts.getAllCount()
, но обе функции возвращают 0. Что я сделал не так?
EDIT:
Я также искал вещи, как запуск Func хода до магазина может загружать данные из прокси или даже Cordova не обжиг обратного вызова deviceReady. Я попытался применить фильтр в хранилище и проверить с getFirst()
, если кто-то выжил в тесте, но я думаю, что нет даже одной записи для тестирования, в первую очередь, даже если они отображаются в обзоре SqLite на вкладке «Ресурсы» (в chrome webTools).