-
Notifications
You must be signed in to change notification settings - Fork 207
Reuters tutorial: step 7
jpmckinney edited this page Sep 13, 2010
·
34 revisions
- Reuters tutorial
- Step 1: Talk to Solr
- Step 2: Add a results widget
- Step 3: Add a pager widget
- Step 4: Add a tagcloud widget
- Step 5: Display the current filters
- Step 6: Add a free-text widget
- Step 7: Add an autocomplete widget
- Step 8: Add a map widget
- Step 9: Add a calendar widget
- Step 10: Support the back button
We’ll now replace the free-text widget we created in the last step with a widget that can perform auto-completion on the facet fields topics, organizations, and exchanges.
Create a new widget, AutocompleteWidget.js, inheriting from AbstractFacetWidget:
(function ($) {
AjaxSolr.AutocompleteWidget = AjaxSolr.AbstractFacetWidget.extend({
});
})(jQuery);
In index.html, replace:
<script type="text/javascript" src="widgets/TextWidget.js"></script>
With:
<script type="text/javascript" src="widgets/AutocompleteWidget.js"></script>
And, in reuters.js, replace:
Manager.addWidget(new AjaxSolr.TextWidget({
id: 'text',
target: '#search',
field: 'allText'
}));
With:
Manager.addWidget(new AjaxSolr.AutocompleteWidget({
id: 'text',
target: '#search',
field: 'allText',
fields: [ 'topics', 'organisations', 'exchanges' ]
}));
The autocompletion widget will take a custom fields parameter, listing the facet fields on which to perform auto-completion. By not hard-coding these facet fields, we make the widget easier to reuse in future projects.
Implement the abstract method afterRequest, like so:
OK, now let’s get fancy and add a map widget.