Sha256: 92eb284f9113a2d76390841f4cd7d67c40e549cdde4affe868ffe9e0e5da24c2
Contents?: true
Size: 951 Bytes
Versions: 207
Compression:
Stored size: 951 Bytes
Contents
module Katello module Concerns module FilteredAutoCompleteSearch extend ActiveSupport::Concern PAGE_SIZE = 20 def auto_complete_search begin options = resource_class.respond_to?(:completer_scope_options) ? resource_class.completer_scope_options : {} items = resource_class.where(:id => self.index_relation).complete_for(params[:search], options) items = items.map do |item| category = ['and', 'or', 'not', 'has'].include?(item.to_s.sub(/^.*\s+/, '')) ? _('Operators') : '' part = item.to_s.sub(/^.*\b(and|or)\b/i) { |match| match.sub(/^.*\s+/, '') } completed = item.to_s.chomp(part) {:completed => completed, :part => part, :label => item, :category => category} end rescue ScopedSearch::QueryNotSupported => e items = [{:error => e.to_s}] end render :json => items end end end end
Version data entries
207 entries across 207 versions & 1 rubygems