Commit 98ac1eee authored by Jacob Schatz's avatar Jacob Schatz Committed by Rémy Coutable

Merge branch 'ee-919-backport-changes' into 'master'

Restore gl_dropdown.js changes

Restores `fieldName` to allow only string values. `fieldName` was changed to accept  function as a value in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/581 Since the approach changed in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/687 there's no need to accept function as value.

Backport changes from https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/687

EE Issue: https://gitlab.com/gitlab-org/gitlab-ee/issues/919

See merge request !6234
Signed-off-by: default avatarRémy Coutable <remy@rymai.me>
parent 3a713ef1
Please view this file on the master branch, on stable branches it's out of date.
v 8.11.7
- Restores `fieldName` to allow only string values in `gl_dropdown.js`. !6234
- Allow the Rails cookie to be used for API authentication.
v 8.11.6
......
......@@ -322,7 +322,13 @@
if (self.options.clicked) {
self.options.clicked(selected, $el, e);
}
return $el.trigger('blur');
// Update label right after all modifications in dropdown has been done
if (self.options.toggleLabel) {
self.updateLabel(selected, $el, self);
}
$el.trigger('blur');
});
}
}
......@@ -482,7 +488,7 @@
} else {
if (!selected) {
value = this.options.id ? this.options.id(data) : data.id;
fieldName = typeof this.options.fieldName === 'function' ? this.options.fieldName() : this.options.fieldName;
fieldName = this.options.fieldName;
field = this.dropdown.parent().find("input[name='" + fieldName + "'][value='" + value + "']");
if (field.length) {
......@@ -540,6 +546,7 @@
GitLabDropdown.prototype.rowClicked = function(el) {
var field, fieldName, groupName, isInput, selectedIndex, selectedObject, value;
fieldName = this.options.fieldName;
isInput = $(this.el).is('input');
if (this.renderedData) {
groupName = el.data('group');
......@@ -551,7 +558,6 @@
selectedObject = this.renderedData[selectedIndex];
}
}
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);
......@@ -594,11 +600,6 @@
}
}
// Update label right after input has been added
if (this.options.toggleLabel) {
this.updateLabel(selectedObject, el, this);
}
return selectedObject;
};
......@@ -608,9 +609,6 @@
if (this.options.inputId != null) {
$input.attr('id', this.options.inputId);
}
if (selectedObject && selectedObject.type) {
$input.attr('data-type', selectedObject.type);
}
return this.dropdown.before($input);
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment