Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
gitlab-ce
Commits
1c2711f7
Commit
1c2711f7
authored
9 years ago
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor UsersSelect to use internal gitlab autocomplete controller
parent
26053c87
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
65 additions
and
6 deletions
+65
-6
app/assets/javascripts/users_select.js.coffee
app/assets/javascripts/users_select.js.coffee
+65
-6
No files found.
app/assets/javascripts/users_select.js.coffee
View file @
1c2711f7
class
@
UsersSelect
class
@
UsersSelect
constructor
:
->
constructor
:
->
@
usersPath
=
"/autocomplete/users.json"
@
userPath
=
"/autocomplete/users/:id.json"
$
(
'.ajax-users-select'
).
each
(
i
,
select
)
=>
$
(
'.ajax-users-select'
).
each
(
i
,
select
)
=>
@
projectId
=
$
(
select
).
data
(
'project-id'
)
@
groupId
=
$
(
select
).
data
(
'group-id'
)
showNullUser
=
$
(
select
).
data
(
'null-user'
)
showAnyUser
=
$
(
select
).
data
(
'any-user'
)
$
(
select
).
select2
$
(
select
).
select2
placeholder
:
"Search for a user"
placeholder
:
"Search for a user"
multiple
:
$
(
select
).
hasClass
(
'multiselect'
)
multiple
:
$
(
select
).
hasClass
(
'multiselect'
)
minimumInputLength
:
0
minimumInputLength
:
0
query
:
(
query
)
-
>
query
:
(
query
)
=
>
Api
.
users
query
.
term
,
(
users
)
-
>
@
users
query
.
term
,
(
users
)
=
>
data
=
{
results
:
users
}
data
=
{
results
:
users
}
if
query
.
term
.
length
==
0
anyUser
=
{
name
:
'Any'
,
avatar
:
null
,
username
:
'none'
,
id
:
null
}
nullUser
=
{
name
:
'Unassigned'
,
avatar
:
null
,
username
:
'none'
,
id
:
0
}
if
showNullUser
data
.
results
.
unshift
(
nullUser
)
if
showAnyUser
data
.
results
.
unshift
(
anyUser
)
query
.
callback
(
data
)
query
.
callback
(
data
)
initSelection
:
(
element
,
callback
)
-
>
initSelection
:
(
element
,
callback
)
=
>
id
=
$
(
element
).
val
()
id
=
$
(
element
).
val
()
if
id
isnt
""
if
id
!=
""
&&
id
!=
"0"
Api
.
user
(
id
,
callback
)
@
user
(
id
,
callback
)
formatResult
:
(
args
...)
=>
formatResult
:
(
args
...)
=>
@
formatResult
(
args
...)
@
formatResult
(
args
...)
...
@@ -38,3 +66,34 @@ class @UsersSelect
...
@@ -38,3 +66,34 @@ class @UsersSelect
formatSelection
:
(
user
)
->
formatSelection
:
(
user
)
->
user
.
name
user
.
name
user
:
(
user_id
,
callback
)
=>
url
=
@
buildUrl
(
@
userPath
)
url
=
url
.
replace
(
':id'
,
user_id
)
$
.
ajax
(
url
:
url
dataType
:
"json"
).
done
(
user
)
->
callback
(
user
)
# Return users list. Filtered by query
# Only active users retrieved
users
:
(
query
,
callback
)
=>
url
=
@
buildUrl
(
@
usersPath
)
$
.
ajax
(
url
:
url
data
:
search
:
query
per_page
:
20
active
:
true
project_id
:
@
projectId
group_id
:
@
groupId
dataType
:
"json"
).
done
(
users
)
->
callback
(
users
)
buildUrl
:
(
url
)
->
url
=
gon
.
relative_url_root
+
url
if
gon
.
relative_url_root
?
return
url
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment