Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. //EDIT ROW
  2. //Added "select" field changed num test to [^0-9]
  3. //
  4.  
  5. function editRow(row, action) {
  6. var errors = false,
  7. data = {};
  8.  
  9. data._csrf = row.data('csrf');
  10.  
  11. row.find('td').each(function () {
  12. var num = new RegExp('[^0-9]');
  13. if ( ($(this).attr('contenteditable') && $(this).text().length > 0 ) || $(this).data('content-type') == 'date' || $(this).data('content-type') == 'select' ){
  14. var cell = $(this),
  15. n = cell.data('field'),
  16. v = cell.text().trim(),
  17. t = cell.data('content-type');
  18. if(t == "date"){
  19. v = convertDate(v,'picker');
  20. } else if(t == 'currency' || t == 'number' || t == 'smalldec' ) {
  21. v = convertToNum(v);
  22. if( num.test(v) ){
  23. cell.text("Please enter a number");
  24. errors = true;
  25. return errors;
  26. }
  27. }
  28. data[n] = v;
  29. }
  30. });
  31.  
  32.  
  33.  
  34. ///////////////////
  35. //Change to show error on blur
  36. ///////////////////////
  37.  
  38. $(document).find('td[contenteditable]').on('blur', function () {
  39. var num = new RegExp('[^0-9]'),
  40. field = $(this);
  41. if($(this).data('content-type') == 'currency' && $(this).text().length > 0 ){
  42. if( num.test(field.text() ) ){
  43. field.text('Must be a number').css('color', 'red');
  44. } else {
  45. $(this).text(convertToGbp($(this).text() ) ).css('color', 'initial');
  46. }
  47.  
  48. } else if( ($(this).data('content-type') == 'smalldec' || $(this).data('content-type') == 'number') && $(this).text().length > 0 ){
  49. if( num.test(field.text() ) ){
  50. field.text('Must be a number').css('color', 'red');
  51. } else {
  52. $(this).text( $(this).text() + '%').css('color', 'initial');
  53. }
  54. }
  55. });
  56.  
  57.  
  58. ///////////////////
  59. /// Change property edit
  60. //////////////////
  61.  
  62.  
  63. $(document).on('dblclick', '.propertyAddress', function(event) {
  64. if (!$('body').hasClass('disableedit') && $(this).attr(
  65. 'contenteditable') == "false") {
  66. event.preventDefault();
  67. $(this).prop('contenteditable', 'true');
  68. var addr = $(this);
  69. var action = addr.data('action'),
  70. data = {};
  71. data._csrf = $(this).data('csrf');
  72.  
  73. $(document).on('keyup', function(event) {
  74. if (event.keyCode == 13) {
  75. data["property[address]"] = addr.text();
  76. console.log(data);
  77. $.ajax({
  78. url: action,
  79. data: data,
  80. type: 'PUT',
  81. success: function success(
  82. response) {
  83. console.log(response.statusText);
  84. },
  85. error: function error(response) {
  86. console.log(response.statusText);
  87. },
  88. done: function done() {}
  89. });
  90.  
  91. addr.prop('contenteditable', 'false');
  92. data = {};
  93. $(this).off(event);
  94. } else if (event.keyCode == 27) {
  95. addr.prop('contenteditable', 'false');
  96. data = {};
  97. }
  98. });
  99.  
  100. }
  101.  
  102. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement