Advertisement
Guest User

Untitled

a guest
May 26th, 2015
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.32 KB | None | 0 0
  1. var streetNewName = '',
  2. newStreet = '';
  3.  
  4. $(function(){
  5.  
  6. jQuery.fn.getText = function(){
  7.  
  8. return $(this)
  9. .clone()
  10. .children()
  11. .remove()
  12. .end()
  13. .text();
  14.  
  15. };
  16.  
  17. $('body').on('hover', 'table.street_table', function(){
  18. return $tableRow = $('table.street_table').find('tr');
  19. });
  20.  
  21. var $tableRow = $('table.street_table').find('tr'), //строка таблицы
  22. $renameInput = $('input.street_rename_input'), //инпут переименовать
  23. $renameConfirm = $('i.confirm.rename'), //кнопка ок в инпуте
  24. $renameCancel = $('i.cancel.rename'), //кнопка отменить в инпуте
  25. $addStreet = $('a.add_street'), //кнопка добавить улицу
  26. $addStreetInput = $('div.edit_rename.adding'), //инпут добавления улицы
  27. $addStreetConfirm = $('i.confirm.add'), //кнопка ок в инпуте добавления
  28. $addStreetCancel = $('i.cancel.add'), //кнопка отменить в добавления
  29. $tableEditButton = $tableRow.find('i.street_edit'); //карандашик редактипрования
  30.  
  31. //действия с кнопкой "Добавить улицу" и с ее инпутом
  32. $addStreet.click(function(){
  33.  
  34. if(!($(this).hasClass('hidden'))){
  35.  
  36. $(this).animate({'height':'2px'}, 200).addClass('hidden');
  37.  
  38. setTimeout(function(){
  39. $addStreetInput.removeClass('hide bounceOut').addClass('animated bounceIn');
  40. }, 150);
  41.  
  42. }
  43.  
  44. });
  45.  
  46. $addStreetConfirm.click(function(){
  47.  
  48. newStreet = $addStreetInput.find('input').val();
  49.  
  50. $addStreetInput
  51. .addClass('bounceOut')
  52. .removeClass('bounceIn');
  53.  
  54. setTimeout(function(){
  55. $addStreet
  56. .removeClass('hidden')
  57. .animate({'height':'33px'});
  58.  
  59. $addStreetInput.addClass('hide');
  60. }, 550);
  61.  
  62. return newStreet;
  63.  
  64. });
  65.  
  66. $addStreetCancel.click(function(){
  67. $addStreetInput
  68. .addClass('bounceOut')
  69. .removeClass('bounceIn');
  70.  
  71. setTimeout(function(){
  72. $addStreet
  73. .removeClass('hidden')
  74. .animate({'height':'33px'});
  75.  
  76. $addStreetInput.addClass('hide');
  77. }, 550);
  78.  
  79. });
  80.  
  81. $addStreetInput.focus().keyup(function(e){
  82.  
  83. if(e.keyCode == 13){
  84. $addStreetConfirm.click();
  85. }
  86.  
  87. if(e.keyCode == 27){
  88. $addStreetCancel.click();
  89. }
  90.  
  91. });
  92.  
  93. //таблица, ее ячейки и панель редактирования
  94. $tableRow.hover(function(){
  95.  
  96. $container = $(this).find('td:eq(1)');
  97.  
  98. if(!(($container).hasClass('editing'))){
  99. $container.append('<i class="street_edit fa fa-pencil"></i>');
  100. }
  101.  
  102. $container.find('i.street_edit').click(function(){
  103. $(this).remove();
  104. $tableRow
  105. .find('td.editing')
  106. .find('div.edit_panel')
  107. .remove();
  108.  
  109. $tableRow
  110. .find('td.editing')
  111. .removeClass('editing');
  112.  
  113. $container
  114. .addClass('editing')
  115. .append("<div class=\"edit_panel zoomIn animated\">"
  116. +"<a href=\"#\" class=\"street_delete\">УДАЛИТЬ<\/a>"
  117. +"<a href=\"#\" class=\"street_rename\">РЕДАКТИРОВАТЬ<\/a>"
  118. +"<i class=\"street_close fa fa-times\"><\/i>"
  119. +"<\/div>");
  120.  
  121. $deleteButton = $container.find('a.street_delete');
  122. $editButton = $container.find('a.street_rename');
  123. $editPanel = $container.find('div.edit_panel');
  124. $close = $container.find('i.street_close');
  125. $closeHtml = '<i class=\"street_close fa fa-times\"><\/i>';
  126.  
  127. $editButton.click(function(){
  128.  
  129. $currentValue = $container.getText();
  130.  
  131. $editPanel.append('<div class=\"edit_rename zoomIn animated\">'
  132. +'<input type=\"text\" name=\"rename\" value=\"' + $currentValue + '\" class=\"street_rename_input\" />'
  133. +'<i class=\"confirm rename fa fa-check\"></i>'
  134. +'<i class=\"cancel rename fa fa-times\"></i>'
  135. +'</div>');
  136.  
  137. $close.remove();
  138.  
  139. $inputWrapper = $container.find('div.edit_rename');
  140. $input = $container.find('input.street_rename_input');
  141. $confirm = $container.find('i.confirm');
  142. $cancel = $container.find('i.cancel');
  143.  
  144. $confirm.click(function(){
  145.  
  146. streetNewName = $input.val();
  147. $container
  148. .removeClass('editing')
  149. .find('div.edit_panel')
  150. .removeClass('zoomIn')
  151. .addClass('zoomOut');
  152.  
  153. setTimeout(function(){
  154. $container
  155. .find('div.edit_panel')
  156. .remove();
  157. },650);
  158.  
  159. // console.log(streetNewName);
  160.  
  161. return streetNewName;
  162.  
  163. });
  164.  
  165. $cancel.click(function(){
  166.  
  167. $container
  168. .removeClass('editing')
  169. .find('div.edit_panel')
  170. .removeClass('zoomIn')
  171. .addClass('zoomOut');
  172.  
  173. setTimeout(function(){
  174. $container
  175. .find('div.edit_panel')
  176. .remove();
  177. },650);
  178.  
  179. });
  180.  
  181. $inputWrapper.focus().keyup(function(e){
  182.  
  183. if(e.keyCode == 13){
  184. $confirm.click();
  185. }
  186.  
  187. if(e.keyCode == 27){
  188. $cancel.click();
  189. }
  190.  
  191. });
  192.  
  193. });
  194.  
  195. $deleteButton.click(function(){
  196.  
  197. $container
  198. .removeClass('editing')
  199. .find('div.edit_panel')
  200. .removeClass('zoomIn')
  201. .addClass('zoomOut');
  202.  
  203. setTimeout(function(){
  204. $container
  205. .find('div.edit_panel')
  206. .remove();
  207. },650);
  208.  
  209. });
  210.  
  211.  
  212. $container.find('i.street_close').click(function(){
  213.  
  214. $container
  215. .removeClass('editing')
  216. .find('div.edit_panel')
  217. .removeClass('zoomIn')
  218. .addClass('zoomOut');
  219.  
  220. setTimeout(function(){
  221. $container
  222. .find('div.edit_panel')
  223. .remove();
  224. },650);
  225.  
  226. });
  227.  
  228. });
  229.  
  230. },function(){
  231.  
  232. $container.find('i.street_edit').remove();
  233.  
  234. });
  235.  
  236.  
  237. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement