Sha256: 0297d3f1d0c88051017aa127a3cb19fa78bb45601d59b79b4217bd5759396f29

Contents?: true

Size: 1.36 KB

Versions: 32

Compression:

Stored size: 1.36 KB

Contents

window.Select2Helpers = (->

  default_build_options = (input) ->
    minimumInputLength:   1
    quietMillis:          100
    formatNoMatches:      input.data('no-matches')
    formatSearching:      input.data('searching')
    formatInputTooShort:  input.data('too-short')
    ajax:
      url:      input.data('list-url')
      dataType: 'json'
      data: (params) ->
        q:    params.term
        page: params.page
      processResults: (data, params) ->
        results: build_results data, input.data('label-method'), input.data('group-by')
        pagination:
          more: data.length == input.data('per-page')

  build_results = (raw_data, label_method, group_by) ->
    _.tap [], (list) =>
      _.each raw_data, (data) =>
        if !@collection? || !@collection.get(data._id)?
          data.text = data[label_method]

          if group_by?
            group_name = _.result(data, group_by)

            # does the group exist?
            group = _.find list, (_group) -> _group.text == group_name

            unless group?
              # build a new group
              group = { text: group_name, children: [] }
              list.push(group)

            group.children.push(data)
          else
            list.push(data)

  build: (input, options) ->
    options   ||= {}
    _options  = _.extend(default_build_options(input), options)

    input.select2 _options

)()

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
locomotivecms-4.2.0.alpha2 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.2.0.alpha1 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.1.1 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.1.0 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.1.0.rc1 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.0.3 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.0.2 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.0.1 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.0.0 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.0.0.rc0 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.0.0.alpha3 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-3.4.1 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.0.0.alpha2 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-4.0.0.alpha1 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-3.4.0 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-3.3.0 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-3.3.0.rc3 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-3.3.0.rc2 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-3.1.2 app/assets/javascripts/locomotive/utils/select2.js.coffee
locomotivecms-3.2.1 app/assets/javascripts/locomotive/utils/select2.js.coffee