From 3718f6d21c37b6625cff22a4412f7caaab5d1232 Mon Sep 17 00:00:00 2001 From: yaoyi Date: Tue, 18 Feb 2020 00:15:28 +0800 Subject: [PATCH 1/2] Support global search & column search together --- lib/ajax-datatables-rails/orm/active_record.rb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/ajax-datatables-rails/orm/active_record.rb b/lib/ajax-datatables-rails/orm/active_record.rb index c81b504f..545b64a6 100644 --- a/lib/ajax-datatables-rails/orm/active_record.rb +++ b/lib/ajax-datatables-rails/orm/active_record.rb @@ -30,20 +30,21 @@ def paginate_records(records) # ----------------- SEARCH HELPER METHODS -------------------- def build_conditions - if datatable.searchable? - build_conditions_for_datatable - else - build_conditions_for_selected_columns + @criteria ||= begin + criteria = [build_conditions_for_selected_columns] + criteria << build_conditions_for_datatable if datatable.searchable? + criteria.compact.reduce(:and) end end def build_conditions_for_datatable + columns = searchable_columns.reject(&:searched?) criteria = search_for.inject([]) do |crit, atom| search = Datatable::SimpleSearch.new(value: atom, regex: datatable.search.regexp?) - crit << searchable_columns.map do |simple_column| + crit << columns.map do |simple_column| simple_column.search = search simple_column.search_query - end.reduce(:or) + end.compact.reduce(:or) end.compact.reduce(:and) criteria end From 9f1c08784c42e93e8f467d15d02d24d3fc194aa9 Mon Sep 17 00:00:00 2001 From: yaoyi Date: Tue, 18 Feb 2020 01:02:42 +0800 Subject: [PATCH 2/2] v1.1.1 --- lib/ajax-datatables-rails/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ajax-datatables-rails/version.rb b/lib/ajax-datatables-rails/version.rb index 7fb71ae2..7db09243 100644 --- a/lib/ajax-datatables-rails/version.rb +++ b/lib/ajax-datatables-rails/version.rb @@ -9,7 +9,7 @@ def self.gem_version module VERSION MAJOR = 1 MINOR = 1 - TINY = 0 + TINY = 1 PRE = nil STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')