42 lines
1.4 KiB
JavaScript
42 lines
1.4 KiB
JavaScript
angular.module('podcasts.queueList', ['podcasts.database'])
|
|
.run(['queueList', function(queueList) {
|
|
queueList.rebuildList();
|
|
}])
|
|
.service('queueList', ['db', '$rootScope', function(oldDb, $rootScope) {
|
|
var queueList = [];
|
|
|
|
function getQueueList() {
|
|
return queueList;
|
|
}
|
|
|
|
function rebuildList() {
|
|
queueList = [];
|
|
|
|
oldDb.getCursor("feedItem", function(ixDbCursorReq)
|
|
{
|
|
if(typeof ixDbCursorReq !== "undefined") {
|
|
ixDbCursorReq.onsuccess = function (e) {
|
|
var cursor = ixDbCursorReq.result || e.result;
|
|
if (cursor) {
|
|
// This additional check is necessary, since the index doesn't seem to always catch correctly
|
|
if (cursor.value.queued) {
|
|
queueList.push(cursor.value);
|
|
}
|
|
|
|
cursor.continue();
|
|
} else {
|
|
$rootScope.$apply();
|
|
}
|
|
}
|
|
}
|
|
}, undefined, IDBKeyRange.only(1), false, 'ixQueued');
|
|
}
|
|
|
|
return {
|
|
rebuildList: rebuildList,
|
|
getQueueList: function() {
|
|
return queueList;
|
|
}
|
|
};
|
|
}])
|
|
;
|