Fixed single / multi array fields

This commit is contained in:
Djamil Legato
2015-08-03 12:33:03 -07:00
parent c3540f4853
commit fafda56396
3 changed files with 13 additions and 6 deletions

View File

@@ -29,9 +29,11 @@
};
ArrayField.prototype.name = function(name) {
if (name) {
if (name && !this.isValueOnly()) {
this.el.data('grav-array-name', name);
return name;
} else {
return '';
}
return this.el.data('grav-array-name')
@@ -76,7 +78,7 @@
formValues = {};
for (var key in values) { if (values.hasOwnProperty(key)) {
formValues[name + '[' + key + ']'] = values[key];
formValues[this.isValueOnly() ? key : name + '[' + key + ']'] = values[key];
}
}
@@ -101,15 +103,20 @@
var keyField = $(event.target),
valueField = keyField.closest('[data-grav-array-type="row"]').find('[data-grav-array-type="value"]');
valueField.attr('name', keyField.val());
valueField.attr('name', this.getFieldName() + '[' + keyField.val() + ']');
};
ArrayField.prototype.refreshAll = function() {
var that = this;
this.el.find('[data-grav-array-type="value"]').each(function(index, element){
$(element).attr('name', index);
$(element).attr('name', that.getFieldName() + '[' + index + ']');
});
};
ArrayField.prototype.getFieldName = function(element) {
return this.el.data('grav-array-name');
};
ArrayField.prototype._getNewField = function(key, value) {
var name = this.name(),
value_only = this.isValueOnly(),