summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/project_select.js.coffee
blob: 43b18a3da59451de7c202d100bcc894272f03e0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class @ProjectSelect
  constructor: ->
    $('.ajax-project-select').each (i, select) ->
      @groupId = $(select).data('group-id')

      $(select).select2
        placeholder: "Search for project"
        multiple: $(select).hasClass('multiselect')
        minimumInputLength: 0
        query: (query) =>
          callback = (projects) ->
            data = { results: projects }
            query.callback(data)

          if @groupId
            Api.groupProjects @groupId, query.term, callback
          else
            Api.projects query.term, callback

        id: (project) ->
          project.web_url

        text: (project) ->
          project.name_with_namespace

        dropdownCssClass: "ajax-project-dropdown"