diff options
author | Jacob Schatz <jschatz@gitlab.com> | 2016-09-15 22:23:07 +0000 |
---|---|---|
committer | Jacob Schatz <jschatz@gitlab.com> | 2016-09-15 22:23:07 +0000 |
commit | 911b3d88cf62009133f762daf69ee1954841dd81 (patch) | |
tree | 67c252eefc0b150563960818ac25041dbbf17865 | |
parent | d2370422c5d5f2b011b8c2349dab964e4088284b (diff) | |
parent | c67d2f46dd24d6f2bfc0d64ed62a4a6b47f1fcc0 (diff) | |
download | gitlab-ce-911b3d88cf62009133f762daf69ee1954841dd81.tar.gz |
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
-rw-r--r-- | app/assets/javascripts/gl_dropdown.js | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/app/assets/javascripts/gl_dropdown.js b/app/assets/javascripts/gl_dropdown.js index bea141bae51..087f27d9f4c 100644 --- a/app/assets/javascripts/gl_dropdown.js +++ b/app/assets/javascripts/gl_dropdown.js @@ -352,7 +352,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'); }); } } @@ -529,7 +535,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) { @@ -589,6 +595,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'); @@ -600,7 +607,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); @@ -644,11 +650,6 @@ } } - // Update label right after input has been added - if (this.options.toggleLabel) { - this.updateLabel(selectedObject, el, this); - } - return selectedObject; }; @@ -659,9 +660,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); }; |