Sha256: f1b93eb2e89455e90bd996e91fe4ce12d1d5173877de47ed2cbe92e081e4c09d

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

module RedmineCrm
  module FormTagHelper
    def select2_tag(name, option_tags = nil, options = {})
      id = sanitize_to_id(name)
      url = options[:url].to_s
      data = options[:data] || []
      placeholder = options[:placeholder] || 'Select ...'

      data_source =
        if url.empty?
          "data: #{data.to_json}"
        else
          "ajax: {
               url: '#{url}',
               dataType: 'json',
               delay: 250,
               data: function (params) {
                   return { q: params.term };
               },
               processResults: function (data, params) {
                   return { results: data };
               },
               cache: true
           }"
        end

      content_for(:header_tags) { select2_assets }
      result = select_tag(name, option_tags, options)
      result << javascript_tag(<<-JS)
        $(function () {
            $('select#' + '#{id}').select2({
                #{data_source},
                tags: #{options[:tags] || false},
                placeholder: '#{placeholder}'
            });
        });
      JS
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
redmine_crm-0.0.35 lib/redmine_crm/helpers/form_tag_helper.rb