Branch | Build Status | Dependency Status | devDependency Status | Version |
---|---|---|---|---|
Master | 2.2.0 | |||
Develop | - |
Magic Search/Faceted Search Library for Angular 2 project
- use v1* for angular 2
- use v2.* for angular 4
Use v1 for angular 2 v2 and v2 for angular 2 v4
These instructions are here to set up the library in your project.
See Contributing for instructions that will get you a copy of the project up and running on your local machine for development and testing purposes.
- An Angular 2 project obviously :)
- Font-Awesome
You can install ngx-magicsearch by using npm.
npm install ngx-magicsearch --save
or
yarn add ngx-magicsearch
Add NgxMagicSearchModule
to your module, eg.
import { NgxMagicSearchModule } from 'ngx-magicsearch';
@NgModule({
imports: [ NgxMagicSearchModule ]
// ...
})
export class AppModule {
}
And you can use selector ngx-magic-search
in your template.
HTML
<ngx-magic-search [strings]="lang" [facets_param]="choices" (textSearchEvent)="textSearch($event)" (searchUpdatedEvent)="searchUpdated($event)"></ngx-magic-search>
Array<{name: string, label: string, options: Array<{key: string, label: string}>}>
Array of your filters - see example below
{remove: string, cancel: string, prompt: string, text: string}
Default value :
- remove : 'Remove facet'
- cancel : 'Clear search'
- prompt: 'Select facets or enter text'
- 'text': 'Text'
For Internationalization(i18n) purpose.
Event fire when user select a new search term. Return an array of type
Array<{key: string, values: Array<string>}>
Where
- key = facets_param.name
- value = facets_param.options.key
Event fire when user make a search with a text. Return a string
JavaScript
choices = [
{
'name': 'owner_alias',
'label': 'Images owned by',
'options': [
{'key': '', 'label': 'Anyone'},
{'key': 'self', 'label': 'Me (or shared with me)'}
]
},
{
'name': 'platform',
'label': 'Platform',
'options': [
{'key': 'linux', 'label': 'Linux'},
{'key': 'windows', 'label': 'Windows'}
]
},
{
'name': 'architecture',
'label': 'Architecture',
'options': [
{'key': 'x86_64', 'label': '64-bit'},
{'key': 'i386', 'label': '32-bit'}
],
}
];
searchUpdated(terms) {
console.log(terms);
};
textSearch(customTerm) {
console.log(customTerm);
};
And
<ngx-magic-search [facets_param]="choices" (textSearchEvent)="textSearch($event)" (searchUpdatedEvent)="searchUpdated($event)"></ngx-magic-search>
See image above to see the result.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
We use Gitflow for the flow.
- Ulysse Mensa - Initial work - github
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
- original project for angular v1 by eucalyptus