Advertisement
Guest User

Untitled

a guest
Jun 29th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.41 KB | None | 0 0
  1. (function() {
  2. 'use strict';
  3. $.fn.dataTable.ext.errMode = 'none';
  4.  
  5. var getCollateralByCollateralNumber = './';
  6. var $paymentDate = $('#paymentDate');
  7. var $transactionDate = $('#transactionDate');
  8. var $datePickerTBtn = $('#datePickerTransactionButton');
  9. var $datePickerPBtn = $('#datePickerPaymentButton');
  10. var $selectpicker = $('.selectpicker');
  11. var dateNow = new Date();
  12. var $paymentOrderPnTable = $('#paymentOrderPnTable');
  13. var $collateralNumberInput = $('#collateralNumberInput');
  14. var $applicatioNumberInput = $('#appNumber');
  15. var $appNumberError = $('#appNumberError');
  16. var $pnTableBody = $('#pnLevelTableBody');
  17. var selectedPns = [];
  18. var applicationNumbers = [];
  19. var listOfPns = [];
  20.  
  21. var appNumListsUrl = $contextPath + '/getAppNumLists';
  22. var pnListUrl = $contextPath + '/getPnList';
  23.  
  24. applicationNumberAutoComplete();
  25. getPnListsByAppNumber();
  26. /*
  27. * var collateralData = [{ 'pnId': '1', 'bankName': 'Tiger Nixon',
  28. * 'loanType': 'System Architect', 'applicationNumber': '45364353',
  29. * 'borrower': 'svertvsert', 'pnNumber': '3444', 'collateralNumber': '5421',
  30. * 'amountGranted': '5421', 'pnOsBalance': '5421', 'totalOsBalance': '5421',
  31. * 'otherExpenses': '1234' }, { 'pnId': '2', 'bankName': 'Tiger Nixon',
  32. * 'loanType': 'System Architect', 'applicationNumber': '45364353',
  33. * 'borrower': 'svertvsert', 'pnNumber': '3444', 'collateralNumber': '5421',
  34. * 'amountGranted': '5421', 'pnOsBalance': '5421', 'totalOsBalance': '5421',
  35. * 'otherExpenses': '1234' }, { 'pnId': '1234567890', 'bankName': 'Tiger
  36. * Nixon', 'loanType': 'System Architect', 'applicationNumber': '$320,800',
  37. * 'borrower': '2011/04/25', 'pnNumber': 'Edinburgh', 'collateralNumber':
  38. * '5421', 'amountGranted': '5421', 'pnOsBalance': '5421', 'totalOsBalance':
  39. * '5421', 'otherExpenses': '1234' }];
  40. *
  41. * var paymentOrderDataTable = $paymentOrderPnTable.DataTable({ data:
  42. * collateralData, columnDefs: [{ orderable: false, className:
  43. * 'select-checkbox', 'targets': 0, 'render': function (data, type, full,
  44. * meta) { return '<input type="checkbox" value="' + $('<div>').text(data).html() +
  45. * '">'; } }], 'columns': [{ 'data': 'pnId' }, { 'data': 'bankName' }, {
  46. * 'data': 'loanType' }, { 'data': 'applicationNumber' }, { 'data':
  47. * 'borrower' }, { 'data': 'pnNumber' }, { 'data': 'collateralNumber' }, {
  48. * 'data': 'amountGranted' }, { 'data': 'pnOsBalance' }, { 'data':
  49. * 'totalOsBalance' }, { 'data': 'otherExpenses' }, ], 'searching': false,
  50. * 'paging': false, 'ordering': false, select: { style: 'multi' } });
  51. */
  52.  
  53. $paymentOrderPnTable.find('tbody').on('click', 'tr', function() {
  54. var selectedPn = $(this).toggleClass('selected');
  55. var pnId = $(this).find('input').val();
  56. console.log($(this).find('input').val());
  57.  
  58. if (selectedPn.hasClass('selected')) {
  59. if (jQuery.inArray(pnId, selectedPns) === -1) {
  60. console.log('pnId pushed');
  61. selectedPns.push(pnId);
  62. }
  63. } else if (!selectedPn.hasClass('selected')) {
  64. console.log('unselected')
  65. if (selectedPns.indexOf(pnId) > -1) {
  66. selectedPns.splice(selectedPns.indexOf(pnId), 1);
  67. }
  68. }
  69.  
  70. console.log('selectedPns', selectedPns);
  71. });
  72.  
  73. $collateralNumberInput.autocomplete({
  74. source : getCollateralByCollateralNumber,
  75. minLength : 0,
  76. select : function(event, ui) {
  77. },
  78. response : function(event, ui) {
  79. // if (ui.content.length === 0) {
  80. // $pnErrorPrompt.text('No results found');
  81. // } else {
  82. // $pnErrorPrompt.empty();
  83. // }
  84. }
  85. }).focus(function() {
  86. $(this).data('uiAutocomplete').search($(this).val());
  87. });
  88.  
  89. function retrieveCollateralList(collateralNumber) {
  90. console.log('retrieveCollateralList MCI');
  91. console.log('collateralNumber', collateralNumber);
  92. $.ajax({
  93. url : getCollateralByCollateralNumber,
  94. type : 'GET',
  95. data : {
  96. collateralNumber : collateralNumber
  97. },
  98. dataType : 'JSON',
  99. success : function(collaterals) {
  100. console.log('collaterals', collaterals);
  101. // collateralData.length = 0;
  102. // $.each(collaterals, function (i) {
  103. // collateralData.push({
  104. // label: collaterals[i].collateralNumber,
  105. // value: collaterals[i].collateralNumber,
  106. // collateralId: collaterals[i].collateralId,
  107. // collateralNumber: collaterals[i].collateralNumber
  108. // });
  109. // console.log('collateralData', collateralData);
  110. // });
  111. // populateDataTable();
  112. }
  113. });
  114. console.log('retrieveCollateralList MCO');
  115. }
  116.  
  117. // Application Number FUNCTIONS
  118. function getApplicationNumbers(loanApplicationNumber) {
  119. $
  120. .ajax({
  121. type : 'GET',
  122. url : appNumListsUrl,
  123. data : {
  124. loanApplicationNumber : loanApplicationNumber
  125. },
  126. dataType : 'JSON',
  127. success : function(application) {
  128. applicationNumbers.length = 0;
  129. $
  130. .each(
  131. application,
  132. function(i) {
  133. applicationNumbers
  134. .push({
  135. label : application[i].loanApplicationNumber,
  136. value : application[i].loanApplicationNumber,
  137. loanApplicationNumber : application[i].loanApplicationNumber,
  138. loanAppId : application[i].loanAppId
  139. });
  140. })
  141. }
  142. });
  143. }
  144.  
  145. // APPLICATION NUMBER AUTOCOMPLETE
  146. function applicationNumberAutoComplete() {
  147. $applicatioNumberInput.autocomplete({
  148. max : 5,
  149. minLength : 3,
  150. source : applicationNumbers,
  151. change : function(e, ui) {
  152. getApplicationNumbers(ui.item);
  153. // If the No match found" u.item will return null, clear the
  154. // TextBox.
  155. if (ui.item == null) {
  156. // Clear the AutoComplete TextBox.
  157. $(this).val("");
  158. return false;
  159. }
  160. },
  161. select : function(event, ui) {
  162. getPnListsByAppNumber(ui.item.loanAppId);
  163. },
  164. response : function(event, ui) {
  165. if (!$applicatioNumberInput.val().length == 0) {
  166.  
  167. if (ui.content.length === 0) {
  168. $($appNumberError).text("No results found.");
  169. } else {
  170. $($appNumberError).empty();
  171. }
  172. } else if ($applicatioNumberInput.val().length == 0) {
  173. $($appNumberError).text('');
  174. }
  175. }
  176. });
  177. }
  178.  
  179.  
  180. /*
  181. * $paymentOrderPnTable.on( 'error.dt', function ( e, settings, techNote,
  182. * message ) { console.log( 'An error has been reported by DataTables: ',
  183. * message ); } ) .DataTable();
  184. */
  185.  
  186. function getPnListsByAppNumber(loanAppId) {
  187. $
  188. .ajax({
  189. type : 'GET',
  190. url : pnListUrl,
  191. dataType : 'JSON',
  192. data : {
  193. loanAppId : loanAppId
  194. },
  195. success : function(pn) {
  196.  
  197. $('.pn-table-data').remove();
  198. $
  199. .each(
  200. pn,
  201. function(i) {
  202. var tr = '<tr>';
  203. var checkBox = '<td class="pn-table-data">'
  204. + '<input type="checkbox">' + '</td>';
  205. var bankName = '<td class="pn-table-data">'
  206. + pn[i].bankName + '</td>';
  207. var loanType = '<td class="pn-table-data">'
  208. + pn[i].loanType + '</td>';
  209. var loanAppNumber = '<td class="pn-table-data">'
  210. + pn[i].loanApplicationNumber
  211. + '</td>';
  212. var borrower = '<td class="pn-table-data">'
  213. + pn[i].borrower + '</td>';
  214. var pnNumber = '<td class="pn-table-data">'
  215. + pn[i].pnNumber + '</td>';
  216. var collateralNumber = '<td class="pn-table-data">'
  217. + pn[i].collateralNumber
  218. + '</td>';
  219. var amountGranted = '<td class="pn-table-data">'
  220. + pn[i].amountGranted
  221. + '</td>';
  222. var outstandingBalance = '<td class="pn-table-data">'
  223. + pn[i].outstandingBalance
  224. + '</td>';
  225. var totalOutstandingBalance = '<td class="pn-table-data">'
  226. + pn[i].totalOutstandingBalance
  227. + '</td>';
  228. var otherExpenses = '<td class="pn-table-data">'
  229. + pn[i].otherExpenses
  230. + '</td>';
  231. var trEnd = '</tr>';
  232.  
  233. $('<tr></tr>')
  234. .append(checkBox)
  235. .append(bankName)
  236. .append(loanType)
  237. .append(loanAppNumber)
  238. .append(borrower)
  239. .append(pnNumber)
  240. .append(collateralNumber)
  241. .append(amountGranted)
  242. .append(outstandingBalance)
  243. .append(totalOutstandingBalance)
  244. .append(otherExpenses)
  245. .appendTo($pnTableBody);
  246.  
  247.  
  248. })
  249.  
  250. }
  251. });
  252. }
  253.  
  254. }());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement