import { Component, Input, Output, EventEmitter, ElementRef, forwardRef, ExistingProvider, OnInit, OnChanges } from '@angular/core';
import { InputBase } from './inputBase';
import { RdLib } from '../../base/rdLib';
const provider: ExistingProvider = { provide: InputBase, useExisting: forwardRef(() => InputSelect) }
export type ViewModes = "text" | "number";
@Component({
selector: "rd-input-select",
template: `
`,
providers: [provider]
})
export class InputSelect extends InputBase implements OnInit, OnChanges {
constructor(private element: ElementRef) { super(); }
@Input("rd-model") model: any;
@Output("rd-modelChange") modelChange: EventEmitter = new EventEmitter();
@Output("rd-change") changeEvent: EventEmitter = new EventEmitter();
@Output("rd-itemSelect") itemSelectEvent: EventEmitter = new EventEmitter();
@Output("rd-keyUp") onKeyUp: EventEmitter = new EventEmitter();
@Input("rd-mode") mode: ViewModes = 'text';
@Input("rd-warning-text") warningText: string;
@Input("rd-placeholder") placeholder: string = '';
@Input("rd-default") default: any;
@Input("rd-disabled") disabled: boolean;
@Input("rd-readOnly") readOnly: boolean;
@Input("rd-required") required: boolean;
@Input("rd-height") height: number | string = "26";
@Input("rd-grouped") grouped: boolean = false;
@Input("rd-group-templateFn") groupTemplateFn: Function;
@Input("rd-min-search-length") minLength: number = 0;
@Input("rd-img-template") imgTemplate: boolean = false;
@Input("rd-onInitialized-focus") onInitializedFocus: boolean = false;
@Input("rd-onInitialized-reset") onInitializedReset: boolean = false;
@Input("rd-items") items: Array