import { ComponentFactoryResolver, OnChanges, OnDestroy, ReflectiveInjector, AfterContentInit } from '@angular/core'; import { EventEmitter, ViewContainerRef, ElementRef, ChangeDetectorRef } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { IEntityDataService, ChangesCommit, IFieldFilter } from './../interfaces/index'; import { PlaceholderComponent } from './../components/index'; export declare const LOOKUPJ_VALUE_ACCESSOR: any; export declare class LookupJqueryControl implements ControlValueAccessor, AfterContentInit, OnChanges, OnDestroy { private elRef; private dynamicComponentLoader; private container; private dataSource; private cdRef; /** id of current item on lookup*/ id: string; /** placeholder display on lookup*/ placeholder: string; /** type of data has inputed into lookup (it can be a table or view in database)*/ private entityType; /** it is a component will be display inside popup when click Add or Edit buttons*/ private popupComponent; /** Value column will be display on lookup, default it is "Name" */ displayProperty: string; /** The filter for data display on lookup */ additionalFilters: IFieldFilter[]; /** Sort array for data display on lookup, default sort is "Name" */ sortArray: string[]; private sort; /** when search with empty value, 30 items will be display */ top: number; dynamicBinding: ReflectiveInjector; onTouched: Function; /** */ showPopup: EventEmitter; /** output Change event when data on lookup has been changed*/ changeEvent: EventEmitter; /** output Save event when data on lookup has been modified*/ saveEvent: EventEmitter; /** output entitySubmitted event when user click submit button on popup*/ entitySubmitted: EventEmitter; /** output selected event when user choose a new item*/ private selected; /** The control id number*/ private controlID; /** */ private popupComponentInstance; /** The global control id number (will be increased 1 when it has the constructor)*/ private static staticID; /** value display on lookup */ private idString; private isViewInitialized; private componentRef; /** * Represents a TagAutocomplete component. * @constructor * @param cd NgControl * @param elRef ElementRef * @param dynamicComponentLoader DynamicComponentLoader * @param container ViewContainerRef * @param dataSource IEntityDataService */ constructor(elRef: ElementRef, dynamicComponentLoader: ComponentFactoryResolver, container: ViewContainerRef, dataSource: IEntityDataService, cdRef: ChangeDetectorRef); updateComponent(): void; ngOnInit(): void; /** Show popup for adding */ onAdd(): void; /** Show popup for editing */ onEdit(): void; /** * Implements method(registerOnChange) of interface ControlValueAccessor * @param fn */ registerOnChange(fn: (_: string) => void): void; /** * Implements method(registerOnTouched) of interface ControlValueAccessor * @param fn */ registerOnTouched(fn: () => void): void; /** * Implements method(writeValue) of interface ControlValueAccessor * @param value The write value */ writeValue(valueID: string): void; placeHolders: PlaceholderComponent; modalPopup: ElementRef; /** * Implements method(ngAfterViewInit) of interface AfterViewInit * @param fn */ ngAfterContentInit(): void; ngOnChanges(): void; ngOnDestroy(): void; changeZIndex(): void; }