UNPKG

ngx-magicsearch

Version:

Magic Search/Faceted Search Library for Angular 2.

250 lines (249 loc) 5.48 kB
import { DoCheck, KeyValueDiffers, OnChanges, OnInit, EventEmitter } from '@angular/core'; export declare class NgxMagicSearchComponent implements OnInit, OnChanges, DoCheck { private differs; strings: { remove: string; cancel: string; prompt: string; text: string; }; facets_param: any; textSearchEvent: EventEmitter<string>; searchUpdatedEvent: EventEmitter<{ key: string; values: string[]; }[]>; setFocusedEventEmitter: boolean; searchInput: string; private promptString; currentSearch: any[]; private facetsObj; private facetsSave; facetSelected: any; filteredObj: any; filteredOptions: any; private facetOptions; private textSearch; isMenuOpen: boolean; private differ; private hostEvent; constructor(differs: KeyValueDiffers); ngOnInit(): void; ngOnChanges(): void; ngDoCheck(): void; /** * * * * @memberOf NgxMagicSearchComponent */ initSearch(): void; /** * * * * @memberOf NgxMagicSearchComponent */ initFacets(): void; /** * add a facets javascript object to the existing list * * @param facets * * @memberOf NgxMagicSearchComponent */ addFacets(facets: any): void; /** * * * @param facets * @returns * * @memberOf NgxMagicSearchComponent */ copyFacets(facets: any): any; /** * * * @param facetParts * * @memberOf NgxMagicSearchComponent */ deleteFacetSelection(facetParts: any): void; /** * remove entire facet * * @param facetParts * * @memberOf NgxMagicSearchComponent */ deleteFacetEntirely(facetParts: any): void; /** * try filtering facets/options.. if no facets match, do text search * * @param searchVal * @returns * * @memberOf NgxMagicSearchComponent */ filterFacets(searchVal: string): void; /** * * * @param label * @returns * * @memberOf NgxMagicSearchComponent */ isMatchLabel(label: string): boolean; /** * * * * @memberOf NgxMagicSearchComponent */ resetState(): void; /** * showMenu and hideMenu depend on foundation's dropdown. They need * to be modified to work with another dropdown implemenation (i.e. bootstrap) * * * @memberOf NgxMagicSearchComponent */ showMenu(): void; /** * hide dropdown * * * @memberOf NgxMagicSearchComponent */ hideMenu(): void; /** * * * @param query * * @memberOf NgxMagicSearchComponent */ updateUrl(query: string): void; /** * * * @returns * * @memberOf NgxMagicSearchComponent */ buildTermsArray(): Array<{ key: string; values: Array<string>; }>; /** * * * @param array * @param key_name * @param value * @returns * * @memberOf NgxMagicSearchComponent */ getIndexBy(array: Array<any>, key_name: string, value: number | string): number; /*****************************************************************/ /********************** EVENTS **********************/ /*****************************************************************/ /** * * * @param event * * @memberOf NgxMagicSearchComponent */ handleKeyDown(event: any): void; /** * * * @param event * @returns * * @memberOf NgxMagicSearchComponent */ handleKeyUp(event: any): void; /** * * * @param event * @returns * * @memberOf NgxMagicSearchComponent */ handleKeyPress(event: any): void; /** * enable text entry when mouse clicked anywhere in search box * * * @memberOf NgxMagicSearchComponent */ enableTextEntry(): void; /** * when facet clicked, add 1st part of facet and set up options * * @param index * @param name * * @memberOf NgxMagicSearchComponent */ facetClicked(index: number, name: string): void; /** * when option clicked, complete facet and send event * * @param index * @param name * * @memberOf NgxMagicSearchComponent */ optionClicked(index: number, name: string): void; /** * * * @param category * @param option * * @memberOf NgxMagicSearchComponent */ addFilterManually(category: string, option: string): void; /** * * * @param category * @param option * * @memberOf NgxMagicSearchComponent */ removeFilterManually(category: string, option: string): void; /** * send event with new query string * * @param removed * * @memberOf NgxMagicSearchComponent */ emitQuery(removed?: any | undefined): void; /** * remove facet and either update filter or search * * @param index * * @memberOf NgxMagicSearchComponent */ removeFacet(index: number): void; /** * clear entire searchbar * * * @memberOf NgxMagicSearchComponent */ clearSearch(): void; /** Catch click outside of the component */ compareEvent(globalEvent: any): void; trackEvent(newHostEvent: any): void; }