summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/namespace_select.js.coffee
blob: 8a7d9822c53bfdbe2b1318dcd718b28d332df05d (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: "搜索命名空间"
        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