Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Nested Set for RightJS
- *
- * Copyright (C) 2010 Andrew Kalek, Anlek Consulting
- */
- if (!RightJS) throw "This is design to be used with RightJS";
- /**
- * Used to add/remove nested form items
- *
- */
- var Nested = new Class({
- initialize: function(element){
- this.element = element;
- this.template_name = this.element.attributes['data-template'].value;
- this.template = eval(this.template_name);
- var click_behavior = Event.delegate({
- '.add_nested': function(e){
- e.stop();
- $(e.originalTarget.attributes['rel'].value).insert(this._replace_ids(this.template), 'bottom');
- $(e.originalTarget.attributes['rel'].value).lastChild.fade('in');
- }.bind(this),
- '.remove_nested': function(e){
- e.stop();
- var item = e.originalTarget.parent('.item');
- if(!item.select('.delete').empty()){
- item.select('.delete').first().value = 1;
- item.fade('out');
- }else{
- item.fade('out', {onFinish: function(){
- item.remove();
- }});
- }
- }
- });
- this.element.on('click', click_behavior);
- },
- _replace_ids: function (s){
- var new_id = new Date().getTime();
- return s.replace(/NEW_RECORD/g, new_id);
- }
- });
- document.on('ready',function(){
- var nested_objects = [];
- $$('.nested').each(function(element, idx){
- nested_objects.push(new Nested(element));
- });
- });
Add Comment
Please, Sign In to add comment