/** * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ import { FocusMonitor } from '@angular/cdk/a11y'; import { ChangeDetectorRef, OnDestroy, OnInit, TemplateRef } from '@angular/core'; import { ControlValueAccessor, FormBuilder, FormControl, FormGroup } from '@angular/forms'; import { MagFormField2 } from 'ng-stalk/core/model'; import { CodeAndName } from "ng-stalk/core/types"; import { NzConfigService } from 'ng-zorro-antd/core/config'; import { NzSafeAny } from 'ng-zorro-antd/core/types'; import { Observable } from 'rxjs'; import { NsKeyValue } from './ns-key-value'; import { NsMultipleInputFormModel } from './ns-multiple-input-form-model'; import * as i0 from "@angular/core"; export declare class NsMultipleInputComponent extends MagFormField2 implements ControlValueAccessor, OnInit, OnDestroy { nzConfigService: NzConfigService; protected cdr: ChangeDetectorRef; protected focusMonitor: FocusMonitor; protected fb: FormBuilder; name?: string; keys?: string[] | CodeAndName[]; keysChanges?: Observable; placeholder: string; allowSingleFilled: boolean; requiredAll: boolean; fieldType: 'text' | 'input' | 'textarea' | 'hidden'; icon: null; showRemove: boolean; preventDuplicateKey: boolean; nsValueContent?: string | TemplateRef; modelForm: FormGroup; immutableKeys: boolean; keyType: 'string' | 'select'; constructor(nzConfigService: NzConfigService, cdr: ChangeDetectorRef, focusMonitor: FocusMonitor, fb: FormBuilder); hostClick(e: MouseEvent): void; /** * 외부로부터 값을 주입받는다. * 이벤트를 발행하지 않고, 내부 값을 업데이트해야한다. * @param value */ writeValue(value: NsKeyValue[]): void; /** * 외부로 값을 출력하고, 내부 값을 갱신한다. * * 메소드 구현 주의사항: 내부 값 변경시에만 output 이벤트를 발행하고 ChangeDetector 를 트리거해야한다. * @param value */ protected updateValue(value: NsKeyValue[]): void; ngOnDestroy(): void; ngOnInit(): void; private getAvailableKeys; initForm(value: NsKeyValue[], langs: string[]): void; createForm(formModel: NsMultipleInputFormModel): FormGroup; fitControls(keys: string[] | CodeAndName[]): void; detectValueChange(i: number): void; /** * 언어별 폼 필드에 언어 정보가 없을 경우 빈 value 로 채워넣는다. */ fillFromInitLangs(control: NsKeyValue[], languageCodes: string[]): void; isEmpty(): boolean; validate({ value }: FormControl): NzSafeAny; makeI18nFormControl(item: NsKeyValue): FormGroup; get i18nControls(): FormControl[]; removeI18nControlAt(index: number): void; valueOfEntries(index: number): FormControl; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }