Skip to content

Commit

Permalink
Move field error binding to input element wrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
guerler committed Jan 7, 2019
1 parent 0939bfc commit 5d5f7db
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 15 deletions.
9 changes: 9 additions & 0 deletions client/galaxy/scripts/mvc/form/form-input.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,15 @@ export default Backbone.View.extend({
self.reset();
});
}

// add error listener
this.field.model && this.field.model.on("error", message => {
if (message) {
this.error(message);
} else {
this.reset();
}
});
},

/** Set backdrop for input element */
Expand Down
14 changes: 0 additions & 14 deletions client/galaxy/scripts/mvc/form/form-section.js
Original file line number Diff line number Diff line change
Expand Up @@ -187,24 +187,10 @@ var View = Backbone.View.extend({
field: field
});
this.app.element_list[id] = input_element;
this._attachErrorHandler(field, input_element);
this._append(input_element.$el, input_def.id);
return field;
},

/** Attach error listeners to input elements */
_attachErrorHandler: function(field, input_element) {
if (field.model) {
field.model.on("error", message => {
if (message) {
input_element.error(message);
} else {
input_element.reset();
}
});
}
},

/** Append a new element to the form i.e. input element, repeat block, conditionals etc. */
_append: function($el, id) {
this.$el.append($el.addClass("section-row").attr("id", id));
Expand Down
2 changes: 1 addition & 1 deletion client/galaxy/scripts/mvc/ui/ui-slider.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ var View = Backbone.View.extend({
this.model.trigger("change");
options.onchange(new_val);
let has_changed = parseInt(original_val) !== parseInt(new_val);
let message = has_changed ? "Corrected value by range." : null;
let message = has_changed ? "This value was invalid or out-of-range. It has been auto-corrected." : null;
this.model.trigger("error", message);
}
return this.model.get("value");
Expand Down

0 comments on commit 5d5f7db

Please sign in to comment.