summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Bennett <lukeeeebennettplus@gmail.com>2016-09-20 22:39:03 +0100
committerLuke Bennett <lukeeeebennettplus@gmail.com>2016-09-20 23:00:37 +0100
commit2c4fe74b0876932c990a2f6891310794848f31ab (patch)
tree644ea47e28e957f52869b2e73b7baf97b816a185
parent0c7f38bd5b59458a94a9637e06287c8bbbaec82d (diff)
downloadgitlab-ce-hotfix-gl-dropdown-field-undefined.tar.gz
Added checks for field before field.length and removed unneeded fieldNamehotfix-gl-dropdown-field-undefined
-rw-r--r--app/assets/javascripts/gl_dropdown.js25
1 files changed, 13 insertions, 12 deletions
diff --git a/app/assets/javascripts/gl_dropdown.js b/app/assets/javascripts/gl_dropdown.js
index c05cda25bbd..1b6db641200 100644
--- a/app/assets/javascripts/gl_dropdown.js
+++ b/app/assets/javascripts/gl_dropdown.js
@@ -608,27 +608,28 @@
}
}
field = [];
- fieldName = typeof this.options.fieldName === 'function' ? this.options.fieldName(selectedObject) : this.options.fieldName;
value = this.options.id ? this.options.id(selectedObject, el) : selectedObject.id;
if (isInput) {
field = $(this.el);
} else if(value) {
field = this.dropdown.parent().find("input[name='" + fieldName + "'][value='" + value.toString().replace(/'/g, '\\\'') + "']");
}
- if (field.length && el.hasClass(ACTIVE_CLASS)) {
+ if (el.hasClass(ACTIVE_CLASS)) {
el.removeClass(ACTIVE_CLASS);
- if (isInput) {
- field.val('');
- } else {
- field.remove();
+ if (field && field.length) {
+ if (isInput) {
+ field.val('');
+ } else {
+ field.remove();
+ }
}
} else if (el.hasClass(INDETERMINATE_CLASS)) {
el.addClass(ACTIVE_CLASS);
el.removeClass(INDETERMINATE_CLASS);
- if (field.length && value == null) {
+ if (field && field.length && value == null) {
field.remove();
}
- if (!field.length && fieldName) {
+ if ((!field || !field.length) && fieldName) {
this.addInput(fieldName, value, selectedObject);
}
} else {
@@ -638,15 +639,15 @@
this.dropdown.parent().find("input[name='" + fieldName + "']").remove();
}
}
- if (field.length && value == null) {
+ if (field && field.length && value == null) {
field.remove();
}
// Toggle active class for the tick mark
el.addClass(ACTIVE_CLASS);
if (value != null) {
- if (!field.length && fieldName) {
+ if ((!field || !field.length) && fieldName) {
this.addInput(fieldName, value, selectedObject);
- } else if (field.length) {
+ } else if (field && field.length) {
field.val(value).trigger('change');
}
}
@@ -796,4 +797,4 @@
});
};
-}).call(this); \ No newline at end of file
+}).call(this);