Socket
Socket
Sign inDemoInstall

ng2-completer

Package Overview
Dependencies
9
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ng2-completer

ng2 autocomplete/typeahead component


Version published
Weekly downloads
18K
increased by1.49%
Maintainers
1
Install size
266 kB
Created
Weekly downloads
 

Changelog

Source

0.4.0

Implemented enhancements

  • reorder of the folder structure
  • Apply class to child input for styling purposes #40
  • Annoying flickering when clearing data #82
  • Open dropdown programmatically. #84

Fixed bugs

  • Problem with OnPush change detection strategy #69
  • AutoMatch doesn't remove binded value if nothing match (angucomplete-alt does) #101

Readme

Source

ng2-completer

Auto complete component for Angular 2.

This component is based on angucomplete-alt

Click for the demo

This version is a work in progress

Installation

npm install ng2-completer --save

Usage

The module you want to use ng2-completer in must import Ng2CompleterModule and FormsModule (to use the ngModel directive on ng2-completer). Ng2CompleterModule provides the CompleterService, and declares the ng2-completer directive.

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from "@angular/forms";
import { AppComponent } from './app.component';
import { Ng2CompleterModule } from "ng2-completer";
 
@NgModule({
  imports: [
      BrowserModule,
      Ng2CompleterModule,
      FormsModule,
  ],
  declarations: [ AppComponent ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

Add ng2-completer to your component and create a data source:

import { Component } from '@angular/core';
import { CompleterService, CompleterData } from 'ng2-completer';

@Component({
  selector: 'my-component',
  template: `<h1>Search color</h1>
            <ng2-completer [(ngModel)]="searchStr" [dataService]="dataService" [minSearchLength]="0"></ng2-completer>`
})
export class MyComponent {

  private searchStr: string;
  private dataService: CompleterData;
  private searchData = [
    { color: 'red', value: '#f00' },
    { color: 'green', value: '#0f0' },
    { color: 'blue', value: '#00f' },
    { color: 'cyan', value: '#0ff' },
    { color: 'magenta', value: '#f0f' },
    { color: 'yellow', value: '#ff0' },
    { color: 'black', value: '#000' }
  ];

  constructor(private completerService: CompleterService) {
    this.dataService = completerService.local(this.searchData, 'color', 'color');
  }
}

ng2-completer uses rxjs stream as data sources. There are 2 ready made data sources that can be used to fetch local and remote data but it's also possible to provide a custom source that generates a stream of items.

System.js configuration

Add the following to System.js map configuration:

   var map = {
       ...
       'ng2-completer': 'node_modules/ng2-completer/ng2-completer.umd.js'
   }

API

ng2-completer directive

AttributeDescriptionTypeRequiredDefault
dataServiceAutocomplete list data source.CompleterDataYes
ngModelsee the angular forms API.stringYes
autoMatchAuto select an item if it is the only result and it is an exact match of the search text.booleanNofalse
clearSelectedClear the input when a result is selected.booleanNofalse
disableInputIf true disable the input field.booleanNofalse
fieldTabindexSet the tabIndex of the input.numberNo
inputNamename attribute of the input element.stringNo
inputClassclass attribute of the input element.stringNo
matchClassCSS class to apply for matching part of the title and description.stringNo
maxCharsMaximal number of characters that the user can type in the component.numberNo524288
minSearchLengthMinimal number of characters required for searching.numberNo3
overrideSuggestedIf true will override suggested and set the model with the value in the input field.booleanNofalse
pauseNumber of msec. to wait before searching.numberNo250
placeholderPlaceholder text for the search field.stringNo
selectedEvent handler that is called when an item is selected.(selected: CompleterItem): voidNo
highlightedEvent handler that is called when an item is highlited.(highlighted: CompleterItem): voidNo
textNoResultsText displayed when the search returned no results.stringNo
textSearchingText displayed while search is active.stringNoSearching...

ng2-completer methods

MethodDescriptionParameters
Open(searchValue: string)Open the dropdown and do search on a valuesearchValue - string to search for default is ""
Close()Close the dropdown

Local data

Create local data provider by calling CompleterService.local.

Parameters
NameTypeDescriptionRequired
dataany[] | Observable<any[]>A JSON array with the data to use or an Observable that emits oneYes
searchFieldsstringComma separated list of fields to search on. Fields may contain dots for nested attributes; if empty or null all data will be returned.Yes
titleFieldstringName of the field to use as title for the list item.Yes
Attributes
NameTypeDescription
descriptionFieldstringName of the field to use as description for the list item.
imageFieldstringName of the field to use as image url for the list item.

Remote data

Create remote data provider by calling CompleterService.remote.

Parameters
NameTypeDescriptionRequired
urlstringBase url for the searchYes
searchFieldsstringComma separated list of fields to search on. Fields may contain dots for nested attributes; if empty or null all data will be returned.Yes
titleFieldstringName of the field to use as title for the list item.Yes
Attributes
NameTypeDescription
descriptionFieldstringName of the field to use as description for the list item.
imageFieldstringName of the field to use as image url for the list item.
urlFormater(term: string) => stringFunction that get's the searchterm and returns the search url before each search.
dataFieldstringThe field in the response that includes the data.
headersHeaders (@angular/http)HTTP request headers that should be sent with the search request.

CSS classes

  • .completer-holder
  • .completer-input
  • .completer-dropdown-holder
  • .completer-dropdown
  • .completer-searching
  • .completer-no-results
  • .completer-row
  • .completer-image-holder
  • .completer-image
  • .completer-image-default
  • .completer-title
  • .completer-description
  • .completer-list-item-holder
  • .completer-list-item
  • .completer-selected-row

Keywords

FAQs

Last updated on 24 Dec 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc