summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Schatz <jschatz@gitlab.com>2016-09-15 22:23:07 +0000
committerJacob Schatz <jschatz@gitlab.com>2016-09-15 22:23:07 +0000
commit911b3d88cf62009133f762daf69ee1954841dd81 (patch)
tree67c252eefc0b150563960818ac25041dbbf17865
parentd2370422c5d5f2b011b8c2349dab964e4088284b (diff)
parentc67d2f46dd24d6f2bfc0d64ed62a4a6b47f1fcc0 (diff)
downloadgitlab-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.js20
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);
};