Skip to content

Commit 69e2cac

Browse files
fix(search): highlight decorator search on smart field (#707)
1 parent 9646772 commit 69e2cac

File tree

4 files changed

+101
-286
lines changed

4 files changed

+101
-286
lines changed

Gemfile.lock

Lines changed: 0 additions & 285 deletions
This file was deleted.

app/services/forest_liana/search_query_builder.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def perform(resource)
3030
if field.try(:[], :search)
3131
begin
3232
@records = field[:search].call(@records, @search)
33+
(@fields_searched << field[:field].to_s) if field[:type] == 'String'
3334
rescue => exception
3435
FOREST_REPORTER.report exception
3536
FOREST_LOGGER.error "Cannot search properly on Smart Field:\n" \

spec/dummy/lib/forest_liana/collections/user.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@ class Forest::User
88
"name IS '#{capitalize_name}'"
99
end
1010

11-
field :cap_name, type: 'String', filter: filter_cap_name do
11+
search_cap_name = lambda do |query, search|
12+
# Injects your new filter into the query.
13+
query.or(User.where("name = '#{search}'"))
14+
end
15+
16+
field :cap_name, type: 'String', filter: filter_cap_name, search: search_cap_name do
1217
object.name.upcase
1318
end
1419

0 commit comments

Comments
 (0)