Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2015
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. var data = [
  2. {
  3. "id": 1,
  4. "name": "Stas Gavrylov",
  5. "email": "stasgavrylov@gmail.com",
  6. "phone": "18294525813",
  7. "street": "Palma Cana",
  8. "city": "Bavaro",
  9. "state": "DR",
  10. "zip": "23000"
  11. },
  12. {
  13. "id": 2,
  14. "name": "John Doe",
  15. "email": "johndoe@gmail.com",
  16. "phone": "380957654321",
  17. "street": "Central str.",
  18. "city": "Kiev",
  19. "state": "UA",
  20. "zip": "99000"
  21. },
  22. {
  23. "id": 3,
  24. "name": "Jane Doe",
  25. "email": "janedoe@gmail.com",
  26. "phone": "380951234567",
  27. "street": "Another str.",
  28. "city": "Kiev",
  29. "state": "UA",
  30. "zip": "99000"
  31. },
  32. {
  33. "id": 4,
  34. "name": "Bill Murray",
  35. "email": "billmurray@yahoo.com",
  36. "phone": "18003332211",
  37. "street": "Hollywood",
  38. "city": "Los Angeles",
  39. "state": "US",
  40. "zip": "90028"
  41. }
  42. ];
  43. (function(myApp, $, undefined) {
  44.  
  45. if (!(myApp.ctrl))
  46. myApp.ctrl = {};
  47. var Ctrl = myApp.ctrl;
  48.  
  49. // Get all user records.
  50. Ctrl.getRecords = function() {
  51. var records = myApp.model.UserRecord.loadRecords();
  52. myApp.view.listUsers(records);
  53. };
  54.  
  55. })(window.myApp = window.myApp || {}, jQuery);
  56. (function(myApp, $, undefined) {
  57.  
  58. if (!(myApp.model))
  59. myApp.model = {};
  60. var Model = myApp.model;
  61.  
  62. // Create new user record.
  63. Model.UserRecord = function(userdata) {
  64. var keys = Object.keys(userdata);
  65. var key;
  66. for (var i = 0; i < keys.length; i++) {
  67. key = keys[i];
  68. this[key] = userdata[key];
  69. }
  70. };
  71.  
  72. Model.UserRecord.convertRecordToObj = function(userRecord) {
  73. var record = new Model.UserRecord(userRecord);
  74. return record;
  75. };
  76.  
  77. // Property to store user record objects.
  78. Model.UserRecord.instances = [];
  79.  
  80. // Load all records.
  81. Model.UserRecord.loadRecords = function() {
  82.  
  83. console.log(data.length + ' records loaded.');
  84. for (var i = 0; i < data.length; i++) {
  85. var user = Model.UserRecord.convertRecordToObj(data[i]);
  86. Model.UserRecord.instances.push(user);
  87. }
  88.  
  89. return Model.UserRecord.instances;
  90. };
  91.  
  92. })(window.myApp = window.myApp || {}, jQuery);
  93. (function(myApp, $, undefined) {
  94.  
  95. if (!(myApp.view))
  96. myApp.view = {};
  97. var View = myApp.view;
  98.  
  99. // Render list of provided user records.
  100. View.listUsers = function(records) {
  101. var tableBody = document.querySelector('#userlist tbody');
  102. var bodyHTML = '';
  103.  
  104. // InnerHTML here for brevity.
  105. for (var rec of records) {
  106. bodyHTML += '<tr data-recordId="' + rec.id + '">';
  107. bodyHTML += '<td>' + rec.name + '</td>';
  108. bodyHTML += '<td>' + rec.email + '</td>';
  109. bodyHTML += '<td>' + rec.phone + '</td>';
  110. bodyHTML += '<td>' + rec.street + '</td>';
  111. bodyHTML += '<td>' + rec.city + '</td>';
  112. bodyHTML += '<td>' + rec.state + '</td>';
  113. bodyHTML += '<td>' + rec.zip + '</td>';
  114. bodyHTML += '</tr>';
  115. }
  116. tableBody.innerHTML = bodyHTML;
  117. };
  118.  
  119.  
  120. })(window.myApp = window.myApp || {}, jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement