-
Notifications
You must be signed in to change notification settings - Fork 210
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. For this, we’ll use the jQuery Autocomplete plugin.
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.