Skip to content

Magic Search/Faceted Search Library for Angular 2

License

Notifications You must be signed in to change notification settings

grimurd/ngx-magicsearch

 
 

Repository files navigation

ngx-magicsearch MIT license

Branch Build Status Dependency Status devDependency Status Version
Master Build Status Dependency Status devDependency Status 2.2.0
Develop Build Status Dependency Status devDependency Status -

Magic Search/Faceted Search Library for Angular 2 project

  • use v1* for angular 2
  • use v2.* for angular 4

Example

Getting Started

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.

Prerequisites

Installing

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 {
}

Docs

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>

Plugin options

[facets_param] - object
Array<{name: string, label: string, options: Array<{key: string, label: string}>}>

Array of your filters - see example below

[strings] - object - optionnal
{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.

(searchUpdatedEvent) - Event

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
(textSearchEvent) - Event

Event fire when user make a search with a text. Return a string

Usage/Example

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.

Running the tests

tests

tests are comming !

Contributing

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.

Authors

  • Ulysse Mensa - Initial work - github

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

About

Magic Search/Faceted Search Library for Angular 2

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 76.0%
  • HTML 12.1%
  • CSS 7.9%
  • JavaScript 4.0%