Guest User

Untitled

a guest
May 27th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. var Nested = new Class({
  2. initialize: function(element){
  3. this.element = element;
  4. this.template = eval(this.element.get('data-template'));
  5.  
  6. var click_behavior = Event.delegate({
  7. '.add_nested': function(e){
  8. e.stop();
  9.  
  10. $(e.originalTarget.get('rel'))
  11. .insert(this.getTemplate(), 'bottom')
  12. .lastChild.show('fade');
  13. }.bind(this),
  14.  
  15. '.remove_nested': function(e){
  16. e.stop();
  17. var item = e.originalTarget.parent('.item');
  18. var link = item.select('.delete');
  19. var options = {};
  20.  
  21. if (!link.empty()) {
  22. link.first('input').value = 1;
  23. } else {
  24. options.onFinish = item.remove.bind(item);
  25. }
  26.  
  27. item.hide('fade', options);
  28. }
  29. });
  30.  
  31. this.element.on('click', click_behavior);
  32. },
  33.  
  34. getTemplate: function() {
  35. return this._replace_ids(this.template);
  36. },
  37.  
  38. _replace_ids: function (s){
  39. var new_id = new Date().getTime();
  40. return s.replace(/NEW_RECORD/g, new_id);
  41. }
  42.  
  43. });
  44.  
  45.  
  46. document.on('ready',function(){
  47. var nested_objects = $$('.nested').map(function(element){
  48. return new Nested(element);
  49. });
  50. });
Add Comment
Please, Sign In to add comment