--- Added: v2.0.0 Status: Active --- # Search component Searches items for supplied search terms. ## Basic usage ```html ``` ### Properties | Name | Type | Default value | Description | | ---- | ---- | ------------- | ----------- | | displayWith | `(value: any) => string` | `null` | Function that maps an option's value to its display value in the trigger. | | maxResults | `number` | `20` | Maximum number of results to show in the search. | | skipResults | `number` | `0` | Number of results to skip from the results pagination. | | queryBody | `QueryBody` | | | | searchTerm | `string` | `''` | Search term to use when executing the search. Updating this value will run a new search and update the results. | | classList | `string` | | CSS class for display. | ### Events | Name | Type | Description | | ---- | ---- | ----------- | | resultLoaded | `EventEmitter` | Emitted when search results have fully loaded. | | error | `EventEmitter` | Emitted when an error occurs. | ## Details ### Customise Search Results You have to add a template that will be shown when the results are loaded. ```html
  • {{ item?.entry.name }}
``` The results are provided via the [$implicit variable of angular2](https://angular.io/api/common/NgTemplateOutlet) and can be accessed via the sugar sintax 'let-yourChosenName'. As per example above the result will be something like : ![adf-search-control](docassets/images/search-component-simple-template.png) But you can define even a more complex template : ```html

{{ item?.entry.name }}

{{item?.entry.createdByUser.displayName}}

{{ 'SEARCH.RESULTS.NONE' | translate:{searchTerm: searchTerm} }}

``` Which will look like : ![adf-search-control](docassets/images/search-component-complex-template.png) ### Attach an input field to the search You can also attach your input field to the adf-search component via the trigger [searchAutocomplete] Yuo can do this by exporting the adf-search panel instance into a local template variable (here we called it "search"), and binding that variable to the input's searchAutocomplete property. ```html {{ item?.entry.name }} ``` In this way it is possible to fetch the results from the word typed into the input text straight into the adf-search component via the custom template variable. ### Custom search configuration You can get finer control over the parameters of a search by defining them in a custom [QueryBody](https://github.com/Alfresco/alfresco-js-api/blob/1.6.0/src/alfresco-search-rest-api/docs/QueryBody.md) object. The recommended way to do this is with a custom implementation of the [Search Configuration interface](search-configuration.interface.md) (the `queryBody` parameter of the `Search component` is now deprecated). The ADF source provides a standard implementation of this interface, `SearchConfigurationService` that you can use as a base to adapt to your needs. See the [Search Configuration interface](search-configuration.interface.md) page for full details of how to customize your search. ## See Also - [Search configuration interface](search-configuration.interface.md) - [Search configuration service](search-configuration.service.md)