import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core';

@Component({
    selector: 'app-textarea',
    templateUrl: 'app-textarea.html',
    styleUrls: ['app-textarea.scss'],
})
export class AppTextarea {
    /**
     * 输入值
     *
     * @type {string}
     * @memberof AppTextarea
     */
    @Input()
    value: string;
    @Output()
    valueChange: EventEmitter<any> = new EventEmitter();
    /**
     * input值
     *
     * @memberof AppTextarea
     */
    set inputValue(val: any) {
        this.valueChange.emit(val);
    }
    get inputValue() {
        return this.value;
    }
    /**
     * 是否启用
     *
     * @type {boolean}
     * @memberof AppTextarea
     */
    @Input()
    disabled: boolean = false;
    /**
     * 输入提示
     *
     * @type {string}
     * @memberof AppTextarea
     */
    @Input()
    placeholder: string;
    /**
     * 标签展示位置
     *
     * @type {('LEFT' | 'TOP' | 'RIGHT' | 'BOTTOM')}
     * @memberof AppTextarea
     */
    @Input()
    position: 'LEFT' | 'TOP' | 'RIGHT' | 'BOTTOM' = 'LEFT';
    /**
     * 标签文本
     *
     * @type {string}
     * @memberof AppTextarea
     */
    @Input()
    labelText: string;
    /**
     * 是否必填
     *
     * @type {boolean}
     * @memberof AppTextarea
     */
    @Input()
    allowEmpty: boolean;
    /**
     * 设置多行文本高度
     *
     * @type {string}
     * @memberof AppTextarea
     */
    @Input()
    height: string;
    /**
     * 图标名称
     *
     * @type {string}
     * @memberof AppTextarea
     */
    @Input()
    iconName: string;
    /**
     * 图标路径
     *
     * @type {string}
     * @memberof AppTextarea
     */
    @Input()
    iconSrc: string;
    /**
     * Creates an instance of AppTextarea.
     * @memberof AppTextarea
     */
    constructor() { }

    @HostBinding('class')
    public hostPropertyClass = 'ibiz-textarea';


}