data.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. App.Data = (function(lng, App, undefined) {
  2. //CONFIG: Data.Sql
  3. lng.Data.Sql.init({
  4. name: 'todo.js',
  5. version: '1.0',
  6. schema: [
  7. { name: 'todo', drop: false, fields: {
  8. id: 'INTEGER PRIMARY KEY',
  9. name: 'TEXT',
  10. description: 'TEXT',
  11. type: 'STRING',
  12. done: 'INTEGER DEFAULT 0',
  13. created_at: 'DATETIME'
  14. }
  15. },
  16. { name: 'types', drop: false, fields: {
  17. id: 'INTEGER PRIMARY KEY',
  18. name: 'TEXT'
  19. }
  20. }
  21. ]
  22. });
  23. var refresh = function() {
  24. _pendingTodos();
  25. _doneTodos();
  26. };
  27. var insertTodo = function(data) {
  28. lng.Data.Sql.insert('todo', data);
  29. };
  30. var removeTodo = function(id) {
  31. lng.Data.Sql.drop('todo', {id:id});
  32. };
  33. var updateTodo = function(id, data) {
  34. lng.Data.Sql.update('todo', data, {id:id});
  35. refresh();
  36. };
  37. var doneTodo = function(id) {
  38. lng.Data.Sql.update('todo', {done:1}, {id:id});
  39. };
  40. var _pendingTodos = function() {
  41. lng.Data.Sql.select('todo', {done:0}, function(result) {
  42. App.View.list('#pending', 'pending-tmp', result);
  43. });
  44. };
  45. var _doneTodos = function() {
  46. lng.Data.Sql.select('todo', {done:1}, function(result){
  47. App.View.list('#done', 'list-tmp', result);
  48. });
  49. };
  50. return {
  51. refresh: refresh,
  52. insertTodo: insertTodo,
  53. removeTodo: removeTodo,
  54. updateTodo: updateTodo,
  55. doneTodo: doneTodo
  56. }
  57. })(Lungo, App);