Advertisement
daniel7

controler.jss

May 9th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.66 KB | None | 0 0
  1. //controller.js
  2. //varijable cd ili cds - u funkciji camelcase Cd ili Cds
  3.  
  4.  
  5. (function(){
  6. var list = $('#cdsList');
  7. var baseUrl = 'api/cds/';
  8. $("#saveButton").click(submit);
  9.  
  10. function submit() {
  11. var inputData = $('#inputForm').serialize();
  12. var id = $( "input[name$='id']" ).val();
  13. if (id) {
  14. updateCd(inputData);
  15. } else {
  16. createCd(inputData);
  17. }
  18. }
  19.  
  20. function createCd(data) {
  21. var url = baseUrl + 'create.php';
  22. httpRequest(url, 'POST', insertCdToList, data);
  23. }
  24.  
  25. function deleteCd(event) {
  26. var data = {id: event.data.id};
  27. var url = baseUrl + 'delete.php';
  28. httpRequest(url, 'POST', removeCdFromList, data);
  29. }
  30.  
  31. //--------------------------------------------------------------------------
  32.  
  33. function readCD(event) {
  34. var url = baseUrl + 'read.php';
  35. var data = {id: event.data.id};
  36. httpRequest(url, 'GET', syncCdToInputForm, data);
  37. }
  38.  
  39. //--------------------------------------------------------------------------
  40.  
  41. function readCds() {
  42. var url = baseUrl + 'read.php';
  43. httpRequest(url, 'GET', insertCdsToList);
  44. }
  45.  
  46.  
  47. //--------------------------------------------------------------------------
  48.  
  49. function updateCd(data) {
  50. var url = baseUrl + 'update.php';
  51. httpRequest(url, 'POST', updateCdInList, data);
  52. }
  53.  
  54. //--------------------------------------------------------------------------
  55.  
  56. function syncCdToInputForm(cds) {
  57. for (var key in cds) {
  58. var value = cds[key];
  59. $( "input[name$='" + key + "']" ).val(value);
  60. }
  61. }
  62.  
  63. //--------------------------------------------------------------------------
  64.  
  65. function httpRequest(url, type, callback, data) {
  66. //console.log(">>>>SEND: ", data);
  67. $.ajax({
  68. url: url,
  69. type: type,
  70. success: function(data) {
  71. //console.log('>>>>RECEIVE: ', data);
  72. callback(JSON.parse(data));
  73. },
  74. data:data
  75. });
  76. }
  77.  
  78. //==========================================================================
  79.  
  80. function appendDeleteButtonToLi(cd, li) {
  81. var btn = createButton('Delete ', cd);
  82. btn.addClass("btn btn-danger");
  83. btn.on('click',{id:cd.id}, deleteCd);
  84. (li).append(btn);
  85. }
  86.  
  87. //--------------------------------------------------------------------------
  88.  
  89. function appendUpdateButtonToLi(cd, li) {
  90. var btn = createButton('Update ', cd);
  91. btn.on('click',{id:cd.id}, readCD);
  92. (li).append(btn);
  93. }
  94.  
  95. //--------------------------------------------------------------------------
  96.  
  97. function createButton(label, cd) {
  98. var str = label + cd.id;
  99. var btn = $('<button/>', {text:str});
  100. return btn;
  101. }
  102.  
  103. //--------------------------------------------------------------------------
  104.  
  105. function createCdLi(cd) {
  106. var li = $('<table/>', {id:'cd'+cd.id});
  107. var str = cdToStr(cd);
  108. var p = $('<td/>', str).appendTo(li);
  109.  
  110. var imeidatum = cdToStrImeiDatum(cd);
  111. var p1 = $('<h3/>', {text:imeidatum}).appendTo(li);
  112.  
  113. var pitanje = cdToStrPitanje(cd);
  114. var p2 = $('<p/>', {text:pitanje}).appendTo(li);
  115.  
  116. appendDeleteButtonToLi(cd, li);
  117. return li;
  118. }
  119.  
  120. //--------------------------------------------------------------------------
  121.  
  122. function insertCdToList(cd) {
  123. var li = createCdLi(cd);
  124. list.append(li);
  125. }
  126.  
  127. //--------------------------------------------------------------------------
  128.  
  129. function insertCdsToList(cds) {
  130. list.empty();
  131. for (i in cds) {
  132. var li = createCdLi(cds[i]);
  133. list.append(li);
  134. }
  135. }
  136.  
  137. //--------------------------------------------------------------------------
  138.  
  139. function removeCdFromList(cd) {
  140. var cdId = '#cd' + cd.id;
  141. $(cdId).remove();
  142. }
  143.  
  144. //--------------------------------------------------------------------------
  145.  
  146. function cdToStr(cd) {
  147. return cd.id;
  148. }
  149. //--------------------------------------------------------------------------
  150.  
  151. function cdToStrPitanje(cd) {
  152. return 'Pitanje: ' + cd.pitanje;
  153. }
  154.  
  155. //--------------------------------------------------------------------------
  156.  
  157. function cdToStrImeiDatum(cd) {
  158. return cd.ime_prezime + " " + cd.datum;
  159. }
  160.  
  161. //--------------------------------------------------------------------------
  162.  
  163. function updateCdInList(cd) {
  164. clearFromFields(cd);
  165. var cdId1 = "#cd" + cd.id + ' h1'
  166. var cdId2 = "#cd" + cd.id + ' h3'
  167. var cdId3 = '#cd' + cd.id + ' p';
  168. var str = cdToStr(cd);
  169. $(cdId1).text(str);
  170. var str = cdToStrImeiDatum(cd);
  171. $(cdId2).text(str);
  172. var str = cdToStrPitanje(cd);
  173. $(cdId3).text(str);
  174. }
  175.  
  176. //--------------------------------------------------------------------------
  177.  
  178. function clearFromFields(cds) {
  179. for (var key in cds) {
  180. $( "input[name$='" + key + "']" ).val("");
  181. }
  182. }
  183.  
  184. //--------------------------------------------------------------------------
  185.  
  186. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement