Converted users_select to use axios
This commit is contained in:
parent
7c4dfb5a5d
commit
fc53a11503
|
@ -2,6 +2,7 @@
|
||||||
/* global Issuable */
|
/* global Issuable */
|
||||||
/* global emitSidebarEvent */
|
/* global emitSidebarEvent */
|
||||||
import _ from 'underscore';
|
import _ from 'underscore';
|
||||||
|
import axios from './lib/utils/axios_utils';
|
||||||
|
|
||||||
// TODO: remove eventHub hack after code splitting refactor
|
// TODO: remove eventHub hack after code splitting refactor
|
||||||
window.emitSidebarEvent = window.emitSidebarEvent || $.noop;
|
window.emitSidebarEvent = window.emitSidebarEvent || $.noop;
|
||||||
|
@ -177,32 +178,28 @@ function UsersSelect(currentUser, els, options = {}) {
|
||||||
$loading.removeClass('hidden').fadeIn();
|
$loading.removeClass('hidden').fadeIn();
|
||||||
$dropdown.trigger('loading.gl.dropdown');
|
$dropdown.trigger('loading.gl.dropdown');
|
||||||
|
|
||||||
return $.ajax({
|
return axios.put(issueURL, data)
|
||||||
type: 'PUT',
|
.then(({ data }) => {
|
||||||
dataType: 'json',
|
var user;
|
||||||
url: issueURL,
|
$dropdown.trigger('loaded.gl.dropdown');
|
||||||
data: data
|
$loading.fadeOut();
|
||||||
}).done(function(data) {
|
if (data.assignee) {
|
||||||
var user;
|
user = {
|
||||||
$dropdown.trigger('loaded.gl.dropdown');
|
name: data.assignee.name,
|
||||||
$loading.fadeOut();
|
username: data.assignee.username,
|
||||||
if (data.assignee) {
|
avatar: data.assignee.avatar_url
|
||||||
user = {
|
};
|
||||||
name: data.assignee.name,
|
} else {
|
||||||
username: data.assignee.username,
|
user = {
|
||||||
avatar: data.assignee.avatar_url
|
name: 'Unassigned',
|
||||||
};
|
username: '',
|
||||||
} else {
|
avatar: ''
|
||||||
user = {
|
};
|
||||||
name: 'Unassigned',
|
}
|
||||||
username: '',
|
$value.html(assigneeTemplate(user));
|
||||||
avatar: ''
|
$collapsedSidebar.attr('title', _.escape(user.name)).tooltip('fixTitle');
|
||||||
};
|
return $collapsedSidebar.html(collapsedAssigneeTemplate(user));
|
||||||
}
|
});
|
||||||
$value.html(assigneeTemplate(user));
|
|
||||||
$collapsedSidebar.attr('title', _.escape(user.name)).tooltip('fixTitle');
|
|
||||||
return $collapsedSidebar.html(collapsedAssigneeTemplate(user));
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
collapsedAssigneeTemplate = _.template('<% if( avatar ) { %> <a class="author_link" href="/<%- username %>"> <img width="24" class="avatar avatar-inline s24" alt="" src="<%- avatar %>"> </a> <% } else { %> <i class="fa fa-user"></i> <% } %>');
|
collapsedAssigneeTemplate = _.template('<% if( avatar ) { %> <a class="author_link" href="/<%- username %>"> <img width="24" class="avatar avatar-inline s24" alt="" src="<%- avatar %>"> </a> <% } else { %> <i class="fa fa-user"></i> <% } %>');
|
||||||
assigneeTemplate = _.template('<% if (username) { %> <a class="author_link bold" href="/<%- username %>"> <% if( avatar ) { %> <img width="32" class="avatar avatar-inline s32" alt="" src="<%- avatar %>"> <% } %> <span class="author"><%- name %></span> <span class="username"> @<%- username %> </span> </a> <% } else { %> <span class="no-value assign-yourself"> No assignee - <a href="#" class="js-assign-yourself"> assign yourself </a> </span> <% } %>');
|
assigneeTemplate = _.template('<% if (username) { %> <a class="author_link bold" href="/<%- username %>"> <% if( avatar ) { %> <img width="32" class="avatar avatar-inline s32" alt="" src="<%- avatar %>"> <% } %> <span class="author"><%- name %></span> <span class="username"> @<%- username %> </span> </a> <% } else { %> <span class="no-value assign-yourself"> No assignee - <a href="#" class="js-assign-yourself"> assign yourself </a> </span> <% } %>');
|
||||||
|
@ -660,38 +657,33 @@ UsersSelect.prototype.user = function(user_id, callback) {
|
||||||
var url;
|
var url;
|
||||||
url = this.buildUrl(this.userPath);
|
url = this.buildUrl(this.userPath);
|
||||||
url = url.replace(':id', user_id);
|
url = url.replace(':id', user_id);
|
||||||
return $.ajax({
|
return axios.get(url)
|
||||||
url: url,
|
.then(({ data }) => {
|
||||||
dataType: "json"
|
callback(data);
|
||||||
}).done(function(user) {
|
});
|
||||||
return callback(user);
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Return users list. Filtered by query
|
// Return users list. Filtered by query
|
||||||
// Only active users retrieved
|
// Only active users retrieved
|
||||||
UsersSelect.prototype.users = function(query, options, callback) {
|
UsersSelect.prototype.users = function(query, options, callback) {
|
||||||
var url;
|
const url = this.buildUrl(this.usersPath);
|
||||||
url = this.buildUrl(this.usersPath);
|
const params = {
|
||||||
return $.ajax({
|
search: query,
|
||||||
url: url,
|
per_page: options.perPage || 20,
|
||||||
data: {
|
active: true,
|
||||||
search: query,
|
project_id: options.projectId || null,
|
||||||
per_page: options.perPage || 20,
|
group_id: options.groupId || null,
|
||||||
active: true,
|
skip_ldap: options.skipLdap || null,
|
||||||
project_id: options.projectId || null,
|
todo_filter: options.todoFilter || null,
|
||||||
group_id: options.groupId || null,
|
todo_state_filter: options.todoStateFilter || null,
|
||||||
skip_ldap: options.skipLdap || null,
|
current_user: options.showCurrentUser || null,
|
||||||
todo_filter: options.todoFilter || null,
|
author_id: options.authorId || null,
|
||||||
todo_state_filter: options.todoStateFilter || null,
|
skip_users: options.skipUsers || null
|
||||||
current_user: options.showCurrentUser || null,
|
};
|
||||||
author_id: options.authorId || null,
|
return axios.get(url, { params })
|
||||||
skip_users: options.skipUsers || null
|
.then(({ data }) => {
|
||||||
},
|
callback(data);
|
||||||
dataType: "json"
|
});
|
||||||
}).done(function(users) {
|
|
||||||
return callback(users);
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
UsersSelect.prototype.buildUrl = function(url) {
|
UsersSelect.prototype.buildUrl = function(url) {
|
||||||
|
|
Loading…
Reference in New Issue