summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/namespace_select.js.coffee
blob: a02c4515ccc1ea1b386f2fee5ad8ebf86f9fce24 (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
class @NamespaceSelect
  constructor: ->
    namespaceFormatResult = (namespace) ->
      markup = "<div class='namespace-result'>"
      markup += "<span class='namespace-kind'>" + namespace.kind + "</span>"
      markup += "<span class='namespace-path'>" + namespace.path + "</span>"
      markup += "</div>"
      markup

    formatSelection = (namespace) ->
      namespace.kind + ": " + namespace.path

    $('.ajax-namespace-select').each (i, select) ->
      $(select).select2
        placeholder: "Search for namespace"
        multiple: $(select).hasClass('multiselect')
        minimumInputLength: 0
        query: (query) ->
          Api.namespaces query.term, (namespaces) ->
            data = { results: namespaces }
            query.callback(data)

        dropdownCssClass: "ajax-namespace-dropdown"
        formatResult: namespaceFormatResult
        formatSelection: formatSelection