New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ngx-typeahead

Package Overview
Dependencies
Maintainers
0
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ngx-typeahead

[![npm version](https://badge.fury.io/js/ngx-typeahead.svg)](https://badge.fury.io/js/ngx-typeahead) ![npm](https://img.shields.io/npm/dt/ngx-typeahead.svg) ![npm](https://img.shields.io/npm/dm/ngx-typeahead.svg)

  • 18.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.4K
decreased by-0.51%
Maintainers
0
Weekly downloads
 
Created
Source

npm version npm npm

Angular Typeahead Directive/Component (Standalone)

This is an extract of the typeahead component from the open source Echoes Player.

Data Sources Support

Its built with JSONP support by default.
Supports HTTP remote source with any http method (get, post etc..). Supports static list (in array form).

Angular Support

Now, ngx-typeahead now follows Angular versions, starting with ngx-typeahead@6.0.0 for Angular 6.X.X.
For Angular 4.3/5.X (With the new HttpClient)- please use version > 0.2.1
For Angular 2, 4 (Without HttpClient)- please use version 0.0.3

AOT compatible

Angular Consulting Services

I'm a Senior Javascript Engineer & A Front End Consultant at Orizens. My services include:

  • consulting on how to approach code in projects and keep it maintainable.
  • I provide project bootstrapping and development - while afterwards, I integrate it on site and guide the team on it.

Contact Me Here

Installation

npm install ngx-typeahead --save-dev

Supported API

Inputs

InputTypeRequiredDescription
taUrlstringYESthe url of a remote server that supports jsonp calls.
taParams{ key: string, value: any}optional, default: {}a {key,value} (json) object to include as params for the json call. Each api supports different structure.
taQueryParamqueryoptional, default: 'q'a string member which is set with the query value for search.
taCallbackParamValuequeryoptional, NO Defaulta string value for the callback query parameter.
taItemTplTemplateRef- optionala template reference to be used for each result item.
taApistringoptional, default: 'jsonp'the utility to make a request with - 'jsonp', 'http'.
taApiMethodstringoptional, default: 'get'the method to be used in either 'jsonp' or 'http'.
taListany[]optionalprovide a static list of items to display. This prevents any remote request and has first precedence.
taListItemFieldstring[]optionalif item in static list is an object, this list of keys in the object that are checked when the list is filtered with the query. if list is empty, all keys are checked
taListItemLabelstringoptionalif static list of type object - this label is used as the key for displaying the item in the suggestions list - item[label]
taDebouncenumberoptionalset the debounce time before a request is called
taAllowEmptybooleanoptional, default: falseif true, it allows empty strings to pass and invoke search
taCaseSensitivebooleanoptional, default: falseif true, comparing query is performed with case sensitive
taDisplayOnFocusbooleanoptional, default: falseif true, will display results (if exist) when input is clicked

Outputs

OutputTypeRequiredDescription
taSelectedstringYESemits an event once the item is selected.

DEMO

Demo with all parameters StackBlitz

Usage

App/Component should be loaded as a standalone component:

import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { provideHttpClient, withJsonpSupport } from '@angular/common/http';

bootstrapApplication(AppComponent, {
  providers: [provideHttpClient(withJsonpSupport())],
});

Then, in your component, add to imports array:

import { Component } from "@angular/core";
import { NgxTypeAheadComponent } from 'ngx-typeahead';

@Component({
  selector: "app",
  template: `
    <div class="search-results">
      <input
        [value]="search"
        ngxTypeahead
        [taUrl]="url"
        [taParams]="params"
        (taSelected)="handleResultSelected($event)"
      />
    </div>
  `,
  imports: [NgxTypeAheadComponent]
})
export class AppComponent {
  url = "http://suggestqueries.google.com/complete/search";
  params = {
    hl: "en",
    ds: "yt",
    xhr: "t",
    client: "youtube",
    q: query,
  };
  search = "";

  handleResultSelected(result) {
    this.search = result;
  }
}

Custom Template For Item

import { Component } from "@angular/core";
import { NgxTypeAheadComponent } from 'ngx-typeahead';

@Component({
  selector: "app",
  template: `
    <div class="search-results">
      <input
        [value]="search"
        ngxTypeahead
        [taUrl]="url"
        [taParams]="params"
        [taItemTpl]="itemTpl"
        (taSelected)="handleResultSelected($event)"
      />
      <ng-template #itemTpl let-result>
        <strong>MY {{ result.result }}</strong>
      </ng-template>
    </div>
  `,
  imports: [NgxTypeAheadComponent]
})
export class AppComponent {
  url = "http://suggestqueries.google.com/complete/search";
  params = {
    hl: "en",
    ds: "yt",
    xhr: "t",
    client: "youtube",
    q: query,
  };
  search = "";

  handleResultSelected(result) {
    this.search = result;
  }
}

Showcase Examples

NgxTypeahead

This library was generated with Angular CLI version 9.1.11.

FAQs

Package last updated on 20 Jun 2024

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc