www.gusucode.com > 一个基于extjs的强大聊天插件源码程序 > 一个基于extjs的强大聊天插件/extjame/ext-jame/js/ext2/air/samples/tasks/js/Reminder.js

    /*
 * Ext JS Library 0.20
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

tx.ReminderManager = function(){
	var table;
	
	var run = function(){
		var rs = table.selectBy('where completed = 0 AND reminder <> \'\' AND reminder <= ?', [new Date()]);
		for(var i = 0, len = rs.length; i < len; i++){
			showReminder.defer(10, window, [rs[i]]);
		}	
	};
	
	var showReminder = function(task){
		var o;
		if (o = tx.data.tasks.getById(task.taskId)) { // if currently loaded
			o.set('reminder', '');
		}
		else {   // else update db directly
			table.update({
				taskId: task.taskId,
				reminder: ''
			});
		}
		Ext.air.NativeWindowManager.getReminderWindow(task.taskId);
	}
	
	return {
		init : function(){
			table = tx.data.conn.getTable('task', 'taskId');
			setInterval(run, 10000);
		}
	}	
}();