summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/users_select.js
diff options
context:
space:
mode:
authorClement Ho <ClemMakesApps@gmail.com>2017-05-04 15:55:36 -0500
committerClement Ho <ClemMakesApps@gmail.com>2017-05-04 22:34:15 -0500
commitc4094b7ec4699811f928699ad67c90e1686da6e2 (patch)
treeae5535a19e15452baa0d08d4fd702a6a1465919b /app/assets/javascripts/users_select.js
parent3f6477fd1f6fc83e5ef8d03e7c2fe960294c8a98 (diff)
downloadgitlab-ce-c4094b7ec4699811f928699ad67c90e1686da6e2.tar.gz
Fix specs
Diffstat (limited to 'app/assets/javascripts/users_select.js')
-rw-r--r--app/assets/javascripts/users_select.js41
1 files changed, 25 insertions, 16 deletions
diff --git a/app/assets/javascripts/users_select.js b/app/assets/javascripts/users_select.js
index 2dcaa24e93a..be29b08c343 100644
--- a/app/assets/javascripts/users_select.js
+++ b/app/assets/javascripts/users_select.js
@@ -77,7 +77,11 @@ import eventHub from './sidebar/event_hub';
input.value = _this.currentUser.id;
}
- $dropdown.before(input);
+ if ($selectbox) {
+ $dropdown.parent().before(input);
+ } else {
+ $dropdown.after(input);
+ }
};
if ($block[0]) {
@@ -95,6 +99,24 @@ import eventHub from './sidebar/event_hub';
.get();
};
+ const checkMaxSelect = function() {
+ const maxSelect = $dropdown.data('max-select');
+ if (maxSelect) {
+ const selected = getSelected();
+
+ if (selected.length > maxSelect) {
+ const firstSelectedId = selected[0];
+ const firstSelected = $dropdown.closest('.selectbox')
+ .find(`input[name='${$dropdown.data('field-name')}'][value=${firstSelectedId}]`);
+
+ firstSelected.remove();
+ eventHub.$emit('sidebar.removeAssignee', {
+ id: firstSelectedId,
+ });
+ }
+ }
+ };
+
const getMultiSelectDropdownTitle = function(selectedUser, isSelected) {
const selectedUsers = getSelected()
.filter(u => u !== 0);
@@ -125,6 +147,7 @@ import eventHub from './sidebar/event_hub';
if ($dropdown.data('multiSelect')) {
assignYourself();
+ checkMaxSelect();
const currentUserInfo = $dropdown.data('currentUserInfo');
$dropdown.find('.dropdown-toggle-text').text(getMultiSelectDropdownTitle(currentUserInfo)).removeClass('is-default');
@@ -333,21 +356,7 @@ import eventHub from './sidebar/event_hub';
// Enables support for limiting the number of users selected
// Automatically removes the first on the list if more users are selected
- const maxSelect = $dropdown.data('max-select');
- if (maxSelect) {
- const selected = getSelected();
-
- if (selected.length > maxSelect) {
- const firstSelectedId = selected[0];
- const firstSelected = $dropdown.closest('.selectbox')
- .find(`input[name='${$dropdown.data('field-name')}'][value=${firstSelectedId}]`);
-
- firstSelected.remove();
- eventHub.$emit('sidebar.removeAssignee', {
- id: firstSelectedId,
- });
- }
- }
+ checkMaxSelect();
if (user.beforeDivider && user.name.toLowerCase() === 'unassigned') {
// Unassigned selected