import { Component, EventEmitter, Input, Output, QueryList, ViewChild } from "@angular/core"; import { FormGroup } from "@angular/forms"; import { MultiSelectComponent } from "@progress/kendo-angular-dropdowns"; import { DynamicFormControlCustomEvent, DynamicFormLayout, DynamicFormLayoutService, DynamicFormValidationService, DynamicSelectModel, DynamicTemplateDirective } from "@ng-dynamic-forms/core"; import { KENDO_TEMPLATE_DIRECTIVES } from "../dynamic-kendo-form.const"; import { DynamicKendoTemplateableFormControlComponent } from "../dynamic-kendo-templateable-form-control.component"; @Component({ selector: "dynamic-kendo-multiselect", templateUrl: "./dynamic-kendo-multiselect.component.html" }) export class DynamicKendoMultiSelectComponent extends DynamicKendoTemplateableFormControlComponent { readonly templateDirectives = KENDO_TEMPLATE_DIRECTIVES; @Input() group: FormGroup; @Input() layout: DynamicFormLayout; @Input() model: DynamicSelectModel; @Input() templates: QueryList | DynamicTemplateDirective[] | undefined; @Output() blur: EventEmitter = new EventEmitter(); @Output() change: EventEmitter = new EventEmitter(); @Output() customEvent: EventEmitter = new EventEmitter(); @Output() focus: EventEmitter = new EventEmitter(); @ViewChild("kendoMultiSelect", { static: true }) kendoMultiSelect: MultiSelectComponent; constructor(protected layoutService: DynamicFormLayoutService, protected validationService: DynamicFormValidationService) { super(layoutService, validationService); } get viewChild(): MultiSelectComponent { return this.kendoMultiSelect; } }