Refreshing the container to allow multiple instances on the same page

This commit is contained in:
Djamil Legato
2014-09-15 12:45:03 -07:00
parent f1b92502a2
commit 7479aa9b9f
2 changed files with 2 additions and 1 deletions

View File

@@ -10,6 +10,7 @@
}, },
addField: function (event, element) { addField: function (event, element) {
element = $(event.target); element = $(event.target);
this.container = element.closest('[data-grav-dynfields]');
var div = $('<div class="form-row" />').html(this.layout()); var div = $('<div class="form-row" />').html(this.layout());
div.insertAfter(element.parent('div')); div.insertAfter(element.parent('div'));
}, },

View File

@@ -1 +1 @@
!function(a){var b={init:function(){var c=a("[data-grav-dynfields]");b.container=c,c.on("click","[data-grav-addfield]",b.addField.bind(b)),c.on("click","[data-grav-remfield]",b.remField.bind(b)),c.on("keyup","input:not([name])",b.updateFields.bind(b))},addField:function(b,c){c=a(b.target);var d=a('<div class="form-row" />').html(this.layout());d.insertAfter(c.parent("div"))},remField:function(b,c){c=a(b.target),c.parent("div").remove()},updateFields:function(b,c){c=a(b.target);var d=c.next();d.attr("name",this.getName()+"["+c.val()+"]")},getName:function(){return this.container.data("grav-dynfields")||"generic"},layout:function(){var a=this.getName(),b={key:this.container.data("grav-dynfields-key")||"Key",val:this.container.data("grav-dynfields-value")||"Value"};return' <input type="text" value="" placeholder="'+b.key+'" />'+' <input type="text" name="'+a+'[]" value="" placeholder="'+b.val+'" />'+' <span data-grav-remfield class="fa fa-minus"></span> <span data-grav-addfield class="fa fa-plus"></span>'}};a(b.init)}(jQuery); !function(a){var b={init:function(){var c=a("[data-grav-dynfields]");b.container=c,c.on("click","[data-grav-addfield]",b.addField.bind(b)),c.on("click","[data-grav-remfield]",b.remField.bind(b)),c.on("keyup","input:not([name])",b.updateFields.bind(b))},addField:function(b,c){c=a(b.target),this.container=c.closest("[data-grav-dynfields]");var d=a('<div class="form-row" />').html(this.layout());d.insertAfter(c.parent("div"))},remField:function(b,c){c=a(b.target),c.parent("div").remove()},updateFields:function(b,c){c=a(b.target);var d=c.next();d.attr("name",this.getName()+"["+c.val()+"]")},getName:function(){return this.container.data("grav-dynfields")||"generic"},layout:function(){var a=this.getName(),b={key:this.container.data("grav-dynfields-key")||"Key",val:this.container.data("grav-dynfields-value")||"Value"};return' <input type="text" value="" placeholder="'+b.key+'" />'+' <input type="text" name="'+a+'[]" value="" placeholder="'+b.val+'" />'+' <span data-grav-remfield class="fa fa-minus"></span> <span data-grav-addfield class="fa fa-plus"></span>'}};a(b.init)}(jQuery);