Changeset 6688


Ignore:
Timestamp:
10/20/15 12:28:17 (9 years ago)
Author:
Twan Goosen
Message:

Update highlighting in search results after collapse/expand

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.3/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/panels/search/SearchResultItemPanel.java

    r6232 r6688  
    2121import eu.clarin.cmdi.vlo.pojo.ExpansionState;
    2222import eu.clarin.cmdi.vlo.pojo.SearchContext;
     23import eu.clarin.cmdi.vlo.wicket.HighlightSearchTermScriptFactory;
    2324import eu.clarin.cmdi.vlo.wicket.components.RecordPageLink;
    2425import eu.clarin.cmdi.vlo.wicket.components.SolrFieldLabel;
     
    3536import org.apache.wicket.model.IModel;
    3637import org.apache.wicket.spring.injection.annot.SpringBean;
     38import org.apache.wicket.util.string.Strings;
    3739
    3840/**
     
    4446    @SpringBean
    4547    private VloConfig config;
    46    
     48
    4749    private final Panel collapsedDetails;
    4850    private final Panel expandedDetails;
    4951    private final IModel<ExpansionState> expansionStateModel;
     52    private final IModel<SearchContext> selectionModel;
    5053
    5154    /**
     
    6164        super(id, documentModel);
    6265        this.expansionStateModel = expansionStateModel;
     66        this.selectionModel = selectionModel;
    6367
    6468        final Link recordLink = new RecordPageLink("recordLink", documentModel, selectionModel);
     
    100104                    // parial update (just this search result item)
    101105                    target.add(SearchResultItemPanel.this);
     106
     107                    // in case of a query, update highlight matching search terms after collapse/expand
     108                    final String query = selectionModel.getObject().getSelection().getQuery();
     109                    if (!Strings.isEmpty(query)) {
     110                        final HighlightSearchTermScriptFactory scriptFactory = new HighlightSearchTermScriptFactory();
     111                        final String selector = "#" + SearchResultItemPanel.this.getMarkupId();
     112                        target.appendJavaScript(scriptFactory.createScript(selector, query));
     113                    }
    102114                }
    103115            }
Note: See TracChangeset for help on using the changeset viewer.