Coder Social home page Coder Social logo

ngx-magicsearch's Introduction

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

ngx-magicsearch's People

Contributors

paulhindenberg avatar umens avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ngx-magicsearch's Issues

Multiple parameters support

Hi, is it possible to have multi values for a facet?
Say, [ platform: Linux, Windows, Mac ]

It is a cool UI.
Thanks.

Remove facet

When I remove one facet, every facet is removed.

Seems to be something wrong with removeFacet function.

remove blue box on focus

If you want to remove the blue browser focus on the text box like the ng1 version use:

input:focus {
    outline-width: 0;
}

Error to load

I have this error in my console and html not load
Uncaught SyntaxError: Unexpected token import

Can't import module in Angular 2 V4 (CLI)

I tried to import the module like this:

import { NgxMagicSearchBarModule } from 'ngx-magicsearch';

But the module has no exporting member with that name.
I tried added the index file to scripts in angular-cli.json, but that did not help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.