Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2013
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * @fileoverview A quick rewrite of the todo app
  3.  */
  4. goog.provide("todo.main");
  5. goog.require("ydn.db.Storage");
  6.  
  7. var schema = {
  8.     version: 2,
  9.     size: 1 * 1024 * 1024, // 1MB
  10.     stores: [{
  11.         name: "todo",
  12.         keyPath: "timeStamp"
  13.     }]
  14. };
  15. var dbName="todo4";
  16.  
  17. /**
  18.  * @param {string} dbName
  19.  * @param {Object} schema
  20.  */
  21. var db = new ydn.db.Storage(dbName, schema);
  22.  
  23. /**
  24.  * @param {Object} id
  25.  */
  26. todo.main.deleteTodo = function (id) {
  27.     var request = db.clear('todo', id);
  28.     todo.main.getAllTodoItems();
  29. };
  30.  
  31. todo.main.getAllTodoItems = function () {
  32.     var todos = document.getElementById("todoItems");
  33.     todos.innerHTML = "";
  34.     var df = db.get('todo');
  35.     df.success(function (items) {
  36.         var n = items.length;
  37.         for (var i = 0; i < n; i++) {
  38.             todo.main.renderTodo(items[i]);
  39.         }
  40.     });
  41.     df.error(function (x) {
  42.         console.log('Failed: ' + x);
  43.     })
  44. };
  45.  
  46. /**
  47.  * @param {Object} row
  48.  */
  49. todo.main.renderTodo = function (row) {
  50.     var todos = document.getElementById("todoItems");
  51.     var li = document.createElement("li");
  52.     var a = document.createElement("a");
  53.     var t = document.createTextNode(row.text);
  54.     a.addEventListener("click", function () {
  55.         deleteTodo(row.timeStamp);
  56.     }, false);
  57.     a.textContent = " [Delete]";
  58.     li.appendChild(t);
  59.     li.appendChild(a);
  60.     todos.appendChild(li)
  61. };
  62.  
  63. todo.main.addTodo = function () {
  64.     var todo = document.getElementById("todo");
  65.     var data = {
  66.         "text":todo.value,
  67.         "timeStamp":new Date().getTime()
  68.     };
  69.     db.put('todo', data);
  70.     todo.value = "";
  71.     todo.main.getAllTodoItems();
  72. };
  73.  
  74. todo.main.init = function () {
  75.     todo.main.getAllTodoItems();
  76. }
  77.  
  78. todo.main.init();
  79.  
  80. //window["ydn.db.Storage"]= ydn.db.Storage;
  81.  
  82. goog.exportSymbol("ydn.db.Storage");
  83. goog.exportSymbol("todo.main.init");
  84. goog.exportSymbol("todo.main.renderTodo");
  85. goog.exportSymbol("todo.main.getAllTodo");
  86. goog.exportSymbol("todo.main.deleteTodo");
  87. goog.exportSymbol("todo.main.addTodo");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement