Use Api.js to handle api calls to gitlab
This commit is contained in:
parent
a163135cb5
commit
3cdac0b934
3 changed files with 70 additions and 42 deletions
|
@ -18,34 +18,19 @@ $ ->
|
|||
placeholder: "Search for a user"
|
||||
multiple: $('.ajax-users-select').hasClass('multiselect')
|
||||
minimumInputLength: 0
|
||||
ajax: # instead of writing the function to execute the request we use Select2's convenient helper
|
||||
url: "/api/" + gon.api_version + "/users.json"
|
||||
dataType: "json"
|
||||
data: (term, page) ->
|
||||
search: term # search term
|
||||
per_page: 10
|
||||
active: true
|
||||
private_token: gon.api_token
|
||||
|
||||
results: (data, page) -> # parse the results into the format expected by Select2.
|
||||
# since we are using custom formatting functions we do not need to alter remote JSON data
|
||||
results: data
|
||||
query: (query) ->
|
||||
Api.users query.term, (users) ->
|
||||
data = { results: users }
|
||||
query.callback(data)
|
||||
|
||||
initSelection: (element, callback) ->
|
||||
id = $(element).val()
|
||||
if id isnt ""
|
||||
$.ajax(
|
||||
"/api/" + gon.api_version + "/users/" + id + ".json",
|
||||
dataType: "json"
|
||||
data:
|
||||
private_token: gon.api_token
|
||||
).done (data) ->
|
||||
callback data
|
||||
Api.user(id, callback)
|
||||
|
||||
|
||||
formatResult: userFormatResult # omitted for brevity, see the source of this page
|
||||
formatSelection: userFormatSelection # omitted for brevity, see the source of this page
|
||||
dropdownCssClass: "ajax-users-dropdown" # apply css that makes the dropdown taller
|
||||
formatResult: userFormatResult
|
||||
formatSelection: userFormatSelection
|
||||
dropdownCssClass: "ajax-users-dropdown"
|
||||
escapeMarkup: (m) -> # we do not want to escape markup since we are displaying html in results
|
||||
m
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue